0
0
610
548
553
529
1236
1330
0
630
128
371
399
578
931
1031
0
-31
-16
-28
16
0
0
0
0
0
0
0
-22
23
48
-7
5
62
0
-34
0
8
0
0
0
-17
2
-22
-7
-15
-6
0
12
0
-21
0
0
-1
-11
-62
-23
-5
-8
36
0
33
0
124
0
0
23
-42
-25
-22
22
-32
-39
111
-11
126
1
123
100
-119
-57
11
-23
-16
-6
8
87
29
37
-24
102
67
19
61
85
82
80
118
108
71
34
0
46
0
0
0
3
-16
2
-50
-5
-29
7
14
38
30
116
-28
78
-21
-23
-28
19
12
62
-28
12
-11
13
17
-199
33
23
25
14
-47
41
-9
23
25
18
35
53
54
147
0
38
2
-8
-38
-5
-78
16
40
45
67
45
129
-38
-30
-28
-13
-8
-7
13
14
28
-39
171
-75
185
-39
-51
8
-9
2
32
63
-18
103
60
127
22
190
-21
11
13
2
16
25
48
1
109
64
158
89
131
47
-54
-2
-23
0
0
0
0
0
0
0
-11
-11
16
-22
-11
98
0
2
0
0
0
0
0
34
-4
-5
10
16
26
0
16
0
0
0
0
0
-23
39
-30
19
18
-5
5
53
26
-23
71
5
-1
-9
18
-22
-6
34
21
66
-18
54
-8
61
6
0
41
2
-26
25
64
127
40
-19
0
54
0
0
0
-36
-38
19
-22
-53
-24
-7
4
8
39
57
8
42
-13
35
6
49
12
63
-36
10
-48
35
26
-138
54
-26
0
-31
-18
-7
-13
-32
-35
-25
3
85
-40
77
10
0
61
-30
-113
-4
-108
14
53
25
135
-2
120
-79
-20
-6
-21
-3
-23
-30
11
11
-56
147
-32
230
-18
-38
7
-15
-7
-17
21
-2
127
98
206
121
115
52
-8
-8
21
31
26
75
-62
110
18
154
51
-33
42
31
15
22
0
0
0
0
0
0
0
4
5
29
39
57
66
0
-23
0
-7
0
0
0
-30
-88
-61
-28
-17
-48
-13
19
117
-1
37
18
36
-84
-10
-49
-22
-8
-28
144
49
-7
-10
128
-28
135
76
-15
34
44
44
61
54
13
0
42
0
0
0
-12
12
-50
-50
-51
-41
21
10
-6
62
42
9
-17
-32
-6
-3
4
28
67
-46
16
-22
14
14
-260
16
-85
-1
-52
-12
24
20
12
18
51
37
94
93
57
11
0
-4
11
11
50
-108
38
46
7
113
87
81
-24
-78
-7
-15
-72
-13
18
5
30
-84
142
-42
90
-41
-24
21
-68
-8
-12
17
9
89
58
154
143
227
-43
-7
45
-4
10
10
63
17
90
37
108
126
132
37
36
-17
-32
0
0
0
0
0
0
0
-17
6
-9
-33
-35
-14
113
-8
237
-52
126
28
-82
2
23
2
0
-19
6
50
-12
154
-55
97
-11
-26
37
24
60
-11
59
46
27
-60
0
46
0
0
0
-29
-13
15
-19
-68
-20
-10
-7
6
53
66
36
-79
-53
-10
-31
3
8
39
-69
3
-22
8
-1
-233
3
-63
30
38
70
-7
-35
2
19
42
-39
98
40
49
-29
-7
-16
18
47
-3
-143
28
38
54
68
-56
77
-81
-71
-5
-10
-79
-64
11
-5
75
-26
145
-6
150
-21
-12
-41
-34
-3
-5
47
32
154
39
159
61
230
-3
-27
8
48
0
-12
67
6
125
68
189
110
77
-40
25
-32
-35
0
0
0
0
0
0
0
-30
-44
-27
-21
-3
-42
21
13
112
22
37
43
128
5
5
-23
21
-34
-15
-52
17
0
0
0
0
0
-38
-35
-16
-3
-79
-57
-58
23
-108
9
-76
-66
-48
-19
-23
-12
3
-38
-46
-15
-4
-25
-7
-29
-167
7
-2
-23
-7
20
-7
28
-2
-2
-10
43
68
-170
94
-22
20
12
13
-29
-4
-49
19
-6
20
51
41
77
-27
-16
-29
12
-29
-64
-47
12
-92
-69
12
-64
70
-47
-10
2
-5
-45
-61
25
8
-116
-2
107
88
101
-52
-29
-26
-23
-12
-23
55
42
72
136
156
69
278
-58
-36
-17
109
0
0
0
0
0
0
0
9
28
-22
-9
-1
-19
-12
49
0
0
0
0
0
-20
-24
-32
-40
-23
-6
-77
14
-26
-6
-50
-101
8
-38
-30
-42
-25
-16
-10
-33
-3
-26
-4
-1
-144
5
0
-56
30
-34
25
65
-13
20
27
49
-15
-266
39
-6
-49
1
-42
-44
-39
-63
25
27
51
30
24
18
-43
-45
-33
-33
-36
-47
-90
-4
-70
-49
-29
-53
7
-58
-23
19
-20
-17
-10
21
5
16
14
47
3
9
-30
-35
-11
-75
-23
12
13
38
26
32
-57
-172
-164
0
0
0
0
0
0
0
0
0
0
0
-13
13
-3
3
4
8
-41
27
0
-28
0
0
0
2
0
16
1
4
5
-51
39
-59
18
-6
0
62
4
10
8
12
4
13
-43
36
16
43
9
0
89
2
3
13
0
4
7
0
89
7
54
70
12
2
-7
12
-1
4
4
13
-61
-33
0
0
-35
0
-31
-8
3
-5
-4
-19
-18
41
12
0
0
7
27
21
-4
-15
-8
-1
-8
0
36
-27
50
13
0
0
0
-2
-5
9
4
0
0
0
0
0
0
0
-2
1
-15
0
-13
3
1
18
7
13
21
-213
20
1
-1
-15
3
-17
14
7
-8
42
-18
66
-106
131
-3
10
5
9
3
10
-175
26
38
12
63
71
80
-7
0
-13
6
-13
-7
-13
-10
-24
-160
118
-7
164
2
-4
22
4
-2
-9
44
22
39
11
165
104
217
-5
-17
3
-18
2
0
87
-6
125
37
202
44
133
0
0
1
0
0
0
0
0
0
0
0
2
3
10
8
1
-12
0
-8
5
11
2
144
-71
-7
-14
-5
-16
-20
12
-10
-11
-23
10
-7
194
-23
-2
-15
-3
-14
-4
1
-3
-18
-4
-16
-22
168
-19
4
-5
-9
-7
-1
-1
-1
-4
13
-25
5
149
-33
3
-2
4
-20
-3
-30
31
5
5
-28
18
154
-25
-10
-33
-2
42
0
0
0
0
0
0
0
13
22
11
23
-6
20
-105
-31
6
0
7
14
24
-4
-8
14
-6
-6
19
-24
3
-70
-99
-13
75
8
0
9
11
5
10
30
2
-20
-24
12
18
180
-52
-17
4
9
5
9
-5
18
22
-19
-17
3
244
-34
39
17
30
7
0
0
0
0
0
0
0
8
0
-10
1
0
-7
137
-9
-47
-72
-15
-77
-30
-5
4
-8
24
20
-1
169
-8
24
12
-9
20
-23
4
-2
-8
9
-12
0
158
-1
-16
-36
12
-37
-22
2
-1
10
-8
0
0
0
0
0
0
0
21
-2
-1
-5
13
7
45
-12
129
133
40
43
-17
2
-16
16
-22
-17
-12
71
22
139
140
94
83
-2
29
50
11
21
0
0
0
0
0
0
0
-9
4
8
7
16
5
18
-19
109
98
-9
-118
-42
-11
33
25
61
0
0
0
0
0
0
0
0
0
0
0
0
-32
95
4
-28
0
-33
25
9
75
0
12
19
20
15
0
53
-21
46
45
0
58
0
0
0
0
0
27
37
-28
0
0
61
-41
27
0
0
-63
30
-14
0
0
9
-46
11
0
0
0
0
0
0
0
38
-27
44
0
0
6
28
54
0
0
58
13
-6
0
0
15
75
4
0
0
0
0
0
0
0
-99
-78
101
0
0
135
56
45
0
0
44
50
-21
0
0
-25
37
-4
0
0
0
0
0
0
0
70
84
34
0
0
57
51
75
0
0
27
31
44
0
0
46
65
8
0
0
0
0
0
0
0
33
44
84
0
0
10
36
81
0
0
2
56
80
0
0
37
66
55
0
0
0
0
0
0
0
92
57
45
0
0
-4
36
48
0
0
-109
31
51
0
0
-9
-123
-10
0
0
0
0
0
0
0
-63
-36
21
0
0
81
-13
1
0
0
38
-7
-27
0
0
20
23
2
0
0
0
0
0
0
0
41
1
9
0
0
10
-9
-79
0
0
20
-1
-70
0
0
25
25
44
0
0
0
0
0
0
0
-16
-98
-44
0
0
35
-49
-3
0
0
5
-48
-130
0
0
-2
-96
98
0
0
0
0
0
0
0
-75
-153
-172
0
0
22
35
-31
0
0
21
25
38
0
0
17
21
40
0
0
0
0
0
0
0
16
-9
-72
0
0
63
10
7
0
0
36
-33
36
0
0
29
41
3
0
0
0
0
0
0
0
34
14
24
0
0
55
-9
-40
0
0
50
13
43
0
0
46
2
-38
0
0
0
0
0
0
0
70
58
115
0
0
9
27
88
0
0
8
21
62
0
0
36
-2
36
0
0
0
0
0
-24
-53
18
36
31
-94
33
-3
0
-40
-12
49
33
148
72
141
13
10
8
-33
79
32
0
0
0
0
-82
-64
40
-56
0
23
85
-71
71
0
0
5
22
-7
0
0
5
-8
-3
0
0
0
0
0
0
0
-39
55
-82
0
0
118
-71
28
0
0
8
57
-92
0
0
-4
56
-175
0
0
0
0
0
0
0
-30
15
-14
0
0
-24
85
58
0
0
-86
49
-104
0
0
2
6
-105
0
0
0
0
0
0
0
52
53
14
0
0
-37
9
57
0
0
-70
-41
18
0
0
64
118
-3
0
0
0
0
0
0
0
-28
76
40
0
0
44
49
64
0
0
28
58
76
0
0
-43
-20
-35
0
0
0
0
0
0
0
55
-16
87
0
0
20
-5
17
0
0
36
19
-2
0
0
-38
2
0
0
0
0
0
0
0
0
86
136
16
0
0
-31
5
19
0
0
-17
20
-29
0
0
46
-71
55
0
0
0
0
0
0
0
47
-28
-111
0
0
34
-5
-84
0
0
-21
-16
44
0
0
-9
-60
-38
0
0
0
0
0
0
0
45
56
19
0
0
0
0
0
0
0
37
-1
16
0
0
-28
-10
-16
0
0
0
0
0
0
0
133
-52
-1
0
0
-27
63
67
0
0
-55
-82
-40
0
0
-123
-82
-3
0
0
0
0
0
0
0
-40
-65
-36
0
0
19
-61
67
0
0
0
59
-61
0
0
0
28
-20
0
0
0
0
0
0
0
-52
14
-32
0
0
-36
-71
-73
0
0
30
65
-57
0
0
50
-38
68
0
0
0
0
0
0
0
91
44
-162
0
0
-154
37
-13
0
0
149
53
55
0
0
-44
41
90
0
0
0
0
0
-59
-5
13
104
-2
-51
-5
54
4
-37
-15
124
-23
17
58
26
61
-16
9
6
63
33
0
0
0
46
-12
-89
57
135
85
-5
-40
-26
96
-4
-42
8
-41
17
113
-66
-14
-57
99
-41
133
0
0
0
0
0
12
31
147
0
-29
46
8
-90
0
103
20
2
18
0
-24
-153
-10
0
0
-12
0
0
0
0
0
12
-21
-32
0
0
29
84
99
0
0
18
-56
-7
0
0
-99
58
68
0
0
0
0
0
0
0
-112
-32
26
0
0
2
68
46
0
0
28
33
2
0
0
80
67
-14
0
0
0
0
0
0
0
36
-11
-2
0
0
9
38
41
0
0
-33
41
61
0
0
57
30
57
0
0
0
0
0
0
0
32
-2
16
0
0
28
44
55
0
0
26
41
-3
0
0
65
-23
5
0
0
0
0
0
0
0
-12
-71
6
0
0
-11
31
65
0
0
-81
13
31
0
0
7
42
5
0
0
0
0
0
0
0
34
17
-53
0
0
-21
-38
-62
0
0
-4
11
-19
0
0
45
6
27
0
0
0
0
0
0
0
-78
-72
-7
0
0
0
72
-54
0
0
-6
-3
-76
0
0
-68
41
29
0
0
0
0
0
0
0
13
-4
0
0
0
5
102
-56
0
0
-45
-15
54
0
0
-63
-11
-49
0
0
0
0
0
0
0
18
-47
-28
0
0
-14
11
10
0
0
27
43
-49
0
0
-9
10
-3
0
0
0
0
0
0
0
-15
24
60
0
0
-13
-94
30
0
0
-78
52
49
0
0
79
49
-18
0
0
0
0
0
0
0
-38
-44
131
0
0
-32
45
-43
0
0
8
-28
57
0
0
103
45
97
0
0
0
0
0
38
-15
-14
3
-65
-26
13
46
8
31
3
54
76
88
41
-26
20
19
28
17
139
68
0
0
0
-10
14
66
60
56
34
4
20
-34
66
40
98
34
6
46
29
-29
106
-111
34
1
-27
0
0
0
0
-11
-22
93
12
-14
51
31
36
-9
-50
47
31
-60
144
3
8
67
58
-79
-28
64
0
0
0
0
-2
-33
-7
-33
0
-14
61
54
83
0
19
9
-7
83
0
68
-30
30
-106
0
-64
0
0
0
0
0
10
-2
-5
0
0
56
31
-37
0
0
20
7
61
0
0
-23
11
-18
0
0
0
0
0
0
0
-2
74
79
0
0
-2
65
104
0
0
37
13
-35
0
0
0
29
-13
0
0
0
0
0
0
0
45
43
24
0
0
115
11
-52
0
0
32
41
-12
0
0
3
-46
15
0
0
0
0
0
0
0
-10
-94
-12
0
0
-12
-35
35
0
0
58
21
20
0
0
-7
26
6
0
0
0
0
0
0
0
52
21
-66
0
0
4
4
20
0
0
1
-5
-9
0
0
30
5
77
0
0
0
0
0
0
0
29
-1
47
0
0
-66
66
73
0
0
56
-120
-21
0
0
-49
42
-70
0
0
0
0
0
0
0
25
-27
-65
0
0
46
-4
-21
0
0
-87
3
76
0
0
53
51
19
0
0
0
0
0
0
0
100
4
48
0
0
20
-3
24
0
0
-6
37
-2
0
0
-28
8
15
0
0
0
0
0
0
0
46
42
65
0
0
51
9
22
0
0
38
-10
63
0
0
30
-23
-18
0
0
0
0
0
0
0
5
87
66
0
0
43
41
86
0
0
-17
-18
83
0
0
52
-44
9
0
0
0
0
0
50
-14
26
45
5
-53
29
51
19
28
53
42
-8
49
56
29
37
40
46
25
85
56
0
0
0
33
-17
38
24
12
-20
-24
35
-45
-43
-22
23
23
74
20
28
15
24
-8
-44
73
107
0
0
0
31
-63
51
43
73
-46
53
67
-27
-56
16
57
4
39
-37
62
5
50
-7
3
25
47
0
0
0
96
65
-36
80
27
29
106
46
47
6
47
61
126
-30
48
-24
95
-18
-33
-9
-130
-62
0
0
0
0
23
63
13
6
0
37
-9
57
-48
0
16
25
45
32
0
-53
4
7
29
0
31
0
0
0
0
0
33
43
83
0
0
18
31
20
0
0
19
72
45
0
0
34
29
28
0
0
0
0
0
0
0
56
-1
40
0
0
34
39
48
0
0
-47
1
-14
0
0
25
-17
-8
0
0
0
0
0
0
0
-62
-120
53
0
0
34
-14
44
0
0
12
38
61
0
0
23
18
36
0
0
0
0
0
0
0
21
10
33
0
0
15
4
23
0
0
16
8
24
0
0
6
4
23
0
0
0
0
0
0
0
17
-6
-28
0
0
35
-4
21
0
0
-1
-24
-19
0
0
-38
-26
9
0
0
0
0
0
0
0
32
-32
71
0
0
40
5
39
0
0
12
10
52
0
0
3
40
39
0
0
0
0
0
0
0
-19
-59
67
0
0
-1
-19
33
0
0
-7
24
12
0
0
-1
39
30
0
0
0
0
0
0
0
12
-50
-9
0
0
7
-43
0
0
0
8
35
1
0
0
37
-2
-12
0
0
0
0
0
0
0
25
15
85
0
0
24
-7
-4
0
0
38
57
19
0
0
71
14
43
0
0
0
0
0
45
0
33
-22
-78
11
19
-13
24
-31
105
40
48
71
-39
68
81
44
29
28
84
59
0
0
0
64
-42
44
-30
-79
-92
130
-18
70
-22
49
122
-18
14
15
69
-34
76
16
61
60
-57
0
0
0
-54
-113
32
-8
-9
-40
-29
-11
14
55
12
-13
37
70
13
56
116
2
-6
143
63
81
0
0
0
-25
12
90
41
-16
-14
-23
-49
27
-26
44
92
7
-7
51
48
74
64
-26
-15
24
-56
0
0
0
63
4
10
46
20
-7
111
29
56
46
11
28
18
39
-41
55
-72
35
49
12
-36
58
0
0
0
0
61
21
25
-39
0
80
-1
-5
88
0
6
29
12
59
0
-27
23
10
12
0
-1
0
0
0
0
0
12
17
-23
0
0
-40
-32
-11
0
0
-35
28
-13
0
0
25
-58
30
0
0
0
0
0
0
0
46
-66
-134
0
0
16
-46
16
0
0
33
1
13
0
0
4
11
55
0
0
0
0
0
0
0
26
18
21
0
0
10
-5
25
0
0
10
21
36
0
0
16
26
39
0
0
0
0
0
0
0
-6
-38
-6
0
0
-72
-29
37
0
0
28
27
-5
0
0
63
79
-3
0
0
0
0
0
0
0
-74
26
-62
0
0
20
41
109
0
0
42
-9
49
0
0
-11
16
55
0
0
0
0
0
0
0
26
-59
-91
0
0
-18
18
61
0
0
23
-13
27
0
0
40
4
46
0
0
0
0
0
0
0
6
3
8
0
0
68
-41
0
0
0
35
52
13
0
0
41
-13
-3
0
0
0
0
0
0
0
-4
34
-5
0
0
28
1
16
0
0
128
43
-15
0
0
-8
-22
22
0
0
0
0
0
15
41
85
46
34
31
24
56
-3
74
59
16
103
96
19
-20
43
38
56
-47
0
-33
0
0
0
10
-4
38
63
40
10
-12
41
-24
-15
-1
11
3
0
0
0
-1
16
-15
0
0
0
0
0
0
8
-23
-58
4
-10
19
44
-22
72
0
9
23
30
-28
-13
-6
3
9
33
3
0
-15
0
0
0
-5
30
-44
47
-21
-6
47
40
-4
47
60
-26
-7
-12
48
-1
-150
-27
3
3
12
27
0
0
0
43
83
30
64
33
38
55
43
23
-59
-39
0
35
45
-10
-131
-35
-8
-30
-58
29
7
0
0
0
27
90
10
54
91
-38
-39
43
78
-30
-50
-6
48
-13
42
77
6
-10
-23
-1
-35
13
0
0
0
0
0
0
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
35
42
0
0
30
-1
-8
0
0
8
0
6
0
0
19
15
-3
0
0
0
0
0
0
0
9
8
1
0
0
3
3
3
0
0
2
0
-7
0
0
-5
1
6
0
0
0
0
0
0
0
11
8
-6
0
0
4
-2
58
0
0
-16
54
63
0
0
14
-69
53
0
0
0
0
0
0
0
-20
18
31
0
0
-6
2
-1
0
0
4
1
-14
0
0
-29
-28
-39
0
0
0
0
0
0
0
34
-11
44
0
0
15
-15
11
0
0
2
-1
-5
0
0
9
-6
9
0
0
0
0
0
0
0
53
6
24
0
0
8
7
-10
0
0
9
-10
-14
0
0
-17
-5
-5
0
0
0
0
0
0
0
65
5
-46
0
0
-4
-11
0
0
0
-9
-3
-16
0
0
-28
2
34
0
0
0
0
0
-105
-96
37
-39
-26
62
-64
37
-36
-50
-59
-2
42
28
-26
-66
18
12
-28
-6
-65
123
0
0
0
17
-135
-72
7
-53
-61
40
18
-58
-91
39
12
3
-87
-78
-97
124
-33
78
102
102
-13
0
0
0
-13
-14
104
-35
-62
-21
11
30
11
-151
-63
-7
52
-51
78
-46
-4
-32
-3
43
73
70
0
0
0
-3
-14
-45
9
-93
-135
-17
-17
-42
52
44
-28
32
62
13
-41
41
39
20
-31
37
33
0
0
0
19
-5
-2
-4
-115
13
-24
11
19
18
61
25
29
33
52
31
26
30
23
33
60
23
0
0
0
78
29
55
37
40
25
38
-15
10
-11
62
20
9
1
-27
8
22
-13
28
39
34
-48
0
0
0
11
109
31
14
25
21
41
32
18
15
6
5
7
8
15
10
1
-2
5
2
4
-5
0
0
0
0
-15
-84
9
-9
0
25
9
35
15
0
13
-2
-14
-12
0
0
-2
-4
-21
0
-8
0
0
0
0
0
12
-1
9
0
0
18
13
-3
0
0
10
-19
-19
0
0
-7
-26
-13
0
0
0
0
0
0
0
2
-4
-12
0
0
-16
-6
-10
0
0
5
-17
33
0
0
11
13
-5
0
0
0
0
0
0
0
-23
0
-22
0
0
-6
3
-8
0
0
-5
-21
8
0
0
15
-12
-16
0
0
0
0
0
0
0
25
-8
9
0
0
2
14
26
0
0
-6
-10
-14
0
0
1
-15
-16
0
0
0
0
0
0
0
56
-39
-15
0
0
23
-23
-17
0
0
4
-9
4
0
0
8
-15
-22
0
0
0
0
0
0
0
28
13
34
0
0
5
-34
-6
0
0
-14
-17
-26
0
0
7
-1
-3
0
0
0
0
0
-15
-101
19
-32
-40
-82
-51
21
1
-62
-3
-16
17
15
12
-1
-33
48
44
37
-20
-43
0
0
0
21
-39
44
59
32
12
-37
-12
28
12
22
-15
38
-1
20
-7
-77
63
52
115
18
-6
0
0
0
8
-57
-40
-13
-19
9
28
43
-2
-14
23
-1
31
28
34
-58
-9
38
97
99
-8
-77
0
0
0
-10
-42
120
10
-11
39
-4
69
48
-77
57
-36
43
53
92
18
-17
31
48
46
53
-6
0
0
0
1
-29
-4
-2
25
36
0
6
24
16
37
13
19
1
33
30
17
16
21
43
36
17
0
0
0
-37
-53
-2
26
22
37
-3
7
29
37
8
16
31
32
25
77
18
30
30
9
44
23
0
0
0
10
-3
25
27
2
11
30
11
24
4
4
19
8
10
11
1
10
1
2
16
1
1
0
0
0
-4
-26
-5
-30
-24
3
-18
17
-6
-10
-13
-22
-8
-22
-12
-9
-9
-3
-13
-7
-1
12
0
0
0
0
0
7
5
13
0
0
-5
3
7
0
0
-9
-11
-4
0
0
-1
-2
-16
0
0
0
0
0
0
0
-9
1
11
0
0
7
13
18
0
0
-23
-5
11
0
0
-9
13
12
0
0
0
0
0
0
0
-7
-1
-3
0
0
-32
-9
-21
0
0
-18
-13
-20
0
0
6
21
-2
0
0
0
0
0
0
0
1
-10
-15
0
0
-10
-32
-15
0
0
-7
-26
-27
0
0
6
-21
-16
0
0
0
0
0
0
0
6
-40
8
0
0
8
-60
14
0
0
9
-18
-3
0
0
12
8
21
0
0
0
0
0
0
0
6
17
13
0
0
0
10
-22
0
0
-20
6
-1
0
0
7
-2
-9
0
0
0
0
0
-13
-4
36
-44
53
-6
39
-33
86
-36
5
-114
8
15
-75
46
-17
-21
10
-19
4
-59
0
0
0
1
-22
79
11
-11
-3
30
-120
-32
9
14
0
3
-10
-1
0
0
-4
45
-2
0
0
0
0
0
-10
-13
39
2
-17
0
-42
13
3
71
-4
-23
50
-62
34
54
-52
-15
-42
48
-1
38
0
0
0
0
-68
-5
-58
-17
-5
-3
76
135
-38
19
-35
-11
114
136
34
-67
-2
-14
1
-17
51
0
0
0
-2
-75
-12
60
64
100
-53
54
48
84
36
17
12
39
9
26
-115
4
-12
-19
-34
-55
0
0
0
112
-89
-32
16
33
158
-45
-67
6
-59
40
-80
-44
-31
-67
-32
-136
98
25
43
-3
-28
0
0
0
22
10
72
7
-7
39
6
-1
20
63
73
6
5
-1
-17
36
20
-34
35
8
-5
-37
0
0
0
-24
-69
81
-30
51
50
50
-17
49
40
7
25
-19
-11
0
3
0
8
-45
-17
-16
8
0
0
0
-29
-58
0
4
-5
48
-24
3
-5
22
49
8
8
-2
-3
30
-24
-7
6
2
36
-42
0
0
0
0
-12
10
17
-8
0
38
26
-82
89
0
82
39
-16
-31
0
82
39
56
-21
0
53
0
0
0
0
0
35
60
112
0
0
24
-12
-8
0
0
-7
-27
18
0
0
-44
31
-39
0
0
0
0
0
0
0
15
30
96
0
0
5
8
31
0
0
2
1
36
0
0
-15
-32
9
0
0
0
0
0
0
0
79
-24
118
0
0
17
21
-20
0
0
25
-6
-11
0
0
-18
-13
-88
0
0
0
0
0
0
0
36
60
29
0
0
45
40
-6
0
0
71
13
44
0
0
0
21
55
0
0
0
0
0
0
-52
10
-44
-13
1
29
-14
-17
-32
-21
-47
25
30
-76
-5
38
-6
6
43
46
91
0
0
0
0
-88
-9
9
41
-17
55
-76
10
23
0
-40
146
66
-10
0
83
29
102
7
0
-19
0
0
0
0
168
-86
-45
4
0
-42
39
54
9
0
-174
58
-153
43
0
24
96
120
-30
16
41
0
0
0
0
-72
-73
32
87
44
-160
89
32
106
49
75
-114
30
-146
-12
75
-12
-96
-59
-8
54
0
0
0
78
26
40
5
-7
-12
47
-3
8
39
37
26
-18
19
41
15
7
-31
15
76
-3
11
0
0
0
15
-41
-24
-19
48
58
94
41
6
8
9
81
43
20
-22
-16
-16
22
20
-50
-64
26
0
0
0
-4
11
17
19
22
29
10
15
4
14
8
-3
-10
12
-34
-14
-6
3
18
2
58
25
0
0
0
57
21
4
49
-12
24
-33
-5
-11
1
1
-31
-1
-1
-16
16
-12
-12
-13
-25
18
-6
0
0
0
33
32
14
-33
-33
23
11
-1
-2
14
17
18
-7
-15
-20
3
14
-5
0
-9
-13
12
0
0
0
-23
-31
-15
-13
-12
-28
24
14
38
23
-34
-5
-14
64
2
-13
104
-13
-7
21
26
63
0
0
0
0
37
-40
19
-21
0
-29
-8
13
17
0
9
-9
15
4
0
4
-38
-15
-4
0
14
0
0
0
0
0
-1
18
29
0
0
0
-1
10
0
0
-13
0
7
0
0
-18
2
-17
0
0
0
0
0
0
0
3
12
-3
0
0
-5
-11
17
0
0
-30
-34
4
0
0
-16
3
-3
0
0
0
0
0
0
0
-18
4
-14
0
0
2
28
-12
0
0
1
10
25
0
0
9
-11
-1
0
0
0
0
0
-6
-154
32
33
-5
-19
-3
2
31
-38
-8
-9
43
2
26
-19
29
29
48
-2
-2
80
0
0
0
17
-35
-32
21
-38
-2
46
49
5
41
18
-2
-15
83
67
35
-6
-25
-15
-124
-34
-17
0
0
0
8
-17
86
-42
32
20
-102
-29
-7
-59
113
16
12
-32
-7
-13
5
-15
8
78
25
36
0
0
0
-3
7
30
55
-31
131
-9
8
21
16
11
54
-12
33
-13
22
-29
17
-14
-17
-111
24
0
0
0
-20
81
-12
11
27
68
8
5
-20
30
17
32
14
36
29
42
31
7
30
16
-11
19
0
0
0
60
-53
8
45
7
10
45
13
11
18
64
51
61
3
27
66
4
22
19
15
-1
44
0
0
0
-5
-32
29
25
36
13
12
24
14
22
4
2
17
5
16
6
12
-1
2
14
-2
-2
0
0
0
-8
-88
36
17
-79
4
-42
1
-8
-5
0
-33
-6
-11
9
-23
-13
8
-19
-2
-12
-18
0
0
0
-21
-26
-7
-13
-41
-4
-14
6
-19
-3
-8
-33
-4
-41
-27
3
-15
2
-38
-20
-6
-20
0
0
0
-22
-28
4
-15
-20
-40
68
7
-1
18
7
14
21
-4
18
23
44
17
-20
10
-40
15
0
0
0
17
-31
-38
15
5
-17
0
-3
2
-11
25
4
2
13
22
25
1
-24
18
2
9
33
0
0
0
0
15
-30
-21
50
0
-15
10
-1
48
0
16
2
-10
1
0
-1
-2
-8
-12
0
-5
0
0
0
0
0
29
2
8
0
0
-1
-25
8
0
0
-6
-15
12
0
0
11
-12
26
0
0
0
0
0
0
0
-12
-11
42
0
0
3
-26
27
0
0
15
-21
30
0
0
26
-6
23
0
0
0
0
0
24
43
9
-2
6
-65
-49
40
12
-43
-3
46
19
41
34
31
18
4
15
5
42
42
0
0
0
-73
36
12
-6
30
-81
-37
-2
19
-36
96
79
75
41
52
100
-51
-24
-32
9
14
34
0
0
0
1
27
43
-16
-96
96
-6
40
-58
97
32
-38
23
30
50
105
-36
20
46
-48
-5
56
0
0
0
23
-6
75
-68
-25
-23
38
46
33
24
-58
54
-11
16
-70
13
47
-5
-27
28
18
-18
0
0
0
-130
-8
68
-24
-34
136
52
-11
1
9
-37
30
6
16
50
5
70
-10
42
6
-32
27
0
0
0
60
23
38
-48
86
-24
28
3
-25
11
-24
-36
8
11
36
31
11
6
65
-10
46
-19
0
0
0
61
-1
-27
-16
20
-9
-5
-7
0
-4
4
-3
21
-1
-6
-2
-7
-26
-26
1
-3
20
0
0
0
45
-12
-30
-61
-143
8
22
0
7
32
14
-6
10
12
2
-4
16
-4
13
16
-4
0
0
0
0
31
42
10
21
2
-8
2
4
7
0
17
-4
18
1
-2
-5
8
18
11
6
-2
-4
0
0
0
-17
-29
8
4
-16
-18
0
45
-29
-48
-20
95
-35
-26
17
-81
-30
45
-28
23
-65
-58
0
0
0
47
0
-65
-19
9
-1
50
17
-23
-5
46
-12
1
1
7
16
-13
-17
-14
2
60
-8
0
0
0
-77
9
37
-7
16
26
32
17
-1
17
1
41
-2
16
15
-11
31
-5
12
-8
16
17
0
0
0
0
8
30
20
53
0
-50
-3
-29
-49
0
41
5
23
7
0
-25
2
-27
-41
0
-19
0
0
0
0
0
25
-10
2
0
0
0
-1
-18
0
0
17
5
-11
0
0
-13
-6
-9
0
0
0
0
0
-27
-35
16
14
-19
3
48
40
53
36
33
8
53
32
-58
44
26
14
17
-45
-11
29
0
0
0
41
3
-65
-51
-88
61
-32
-61
-43
20
-51
115
176
15
48
34
31
15
-37
147
-15
-3
0
0
0
1
-77
11
25
-110
76
51
32
63
13
-26
7
57
91
34
46
66
33
64
-9
94
148
0
0
0
-12
61
-68
43
-68
-28
9
70
78
77
-42
60
82
28
-76
29
13
7
52
-74
3
-7
0
0
0
44
81
3
6
-5
-3
27
41
-18
25
-65
15
31
52
3
42
35
45
37
68
20
22
0
0
0
126
30
14
58
36
-32
82
29
-17
48
9
77
-25
36
-48
-67
-46
7
-12
56
-41
-60
0
0
0
1
-30
63
21
56
80
50
45
23
-5
-8
-18
-18
-4
-3
-15
-1
-33
-25
2
-5
11
0
0
0
-31
9
-47
19
-102
19
32
3
15
16
-20
-4
19
-5
-14
-13
5
7
10
8
-3
11
0
0
0
-110
-21
3
-1
5
-23
-23
1
2
-11
-26
-16
5
4
-10
6
-17
10
10
-8
8
-15
0
0
0
-23
36
6
5
-4
-78
62
9
-8
27
24
3
14
64
-10
33
82
30
21
28
26
-8
0
0
0
-35
-91
-15
26
7
10
-14
-2
-7
17
35
-33
1
7
-34
-2
-20
17
22
3
-33
9
0
0
0
16
30
-10
-36
-24
-15
24
3
-13
30
-16
2
10
3
-3
-10
6
9
-13
11
41
-5
0
0
0
-28
-9
7
-43
12
8
-9
35
-29
20
-32
29
-34
13
-48
-77
-50
-3
14
-3
-47
32
0
0
0
0
0
-43
-68
-56
0
-43
-15
-23
-7
0
21
29
58
-56
0
98
-26
36
19
0
-54
0
-10
21
-21
-36
39
5
-20
16
-15
36
2
133
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
9
0
-17
-111
-10
0
46
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
12
60
0
94
-24
7
0
65
11
-37
0
-6
0
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
28
2
36
0
48
76
24
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
-4
-24
0
21
62
15
0
50
53
92
0
43
-53
-43
0
61
0
47
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
44
0
34
24
15
0
66
27
12
0
30
53
3
0
-18
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
31
0
6
6
-1
0
2
21
39
0
15
-27
32
0
-41
0
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
9
0
-79
-16
19
0
65
-42
13
0
27
-11
-17
0
4
26
-44
0
-6
14
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-49
-88
0
-121
-19
11
0
-60
-11
16
0
-24
11
-7
0
-74
-47
-37
0
-34
9
9
0
35
0
0
0
0
0
0
0
0
0
0
0
0
29
71
0
46
-42
-16
0
7
25
26
0
-28
47
35
0
-93
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-30
-17
0
44
11
-7
0
3
-22
5
0
30
-11
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-15
0
-35
-4
-54
0
-9
-23
17
0
17
12
31
0
8
173
17
0
70
-15
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
57
-40
0
-38
28
30
0
-14
22
48
0
9
-57
22
0
-28
-68
-9
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-19
0
16
25
-63
0
49
4
-24
0
22
77
23
0
-35
7
18
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
23
-30
-129
-9
52
2
-17
10
-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
13
-75
-22
-18
0
27
3
-21
0
20
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
34
112
0
-5
-7
-49
0
-74
0
-3
0
0
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
-84
0
-78
-63
118
0
104
0
29
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
-18
-73
0
0
18
21
0
77
50
90
0
71
24
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
41
0
33
54
-26
0
-38
74
10
0
58
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-58
0
-2
29
51
0
-9
18
19
0
-19
-1
1
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-24
0
-139
-16
59
0
-38
36
-11
0
-66
9
12
0
15
-32
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-69
0
-74
16
57
0
-13
-21
29
0
-56
-33
-50
0
-14
39
-12
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
0
-38
-20
-5
0
-6
-39
-131
0
-32
18
12
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
3
-43
0
-15
0
-48
0
-4
49
23
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-81
0
-4
40
-19
0
-68
70
38
0
-100
-46
-39
0
-50
-10
34
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-77
0
50
-34
-61
0
29
6
38
0
37
16
52
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
24
0
43
18
31
0
61
92
33
0
-66
24
-12
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
-74
2
-85
-49
-5
-15
-3
-18
19
-81
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
4
58
-14
-9
7
-32
-24
0
-6
-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
87
-9
-11
-17
-60
-35
-14
53
3
96
41
-11
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
65
0
46
-2
12
0
50
14
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
76
-9
0
-26
10
32
0
35
-26
43
0
44
67
-28
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
-5
12
30
0
-14
12
46
0
95
-37
60
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
7
0
20
12
3
0
37
3
-2
0
-77
-30
1
0
-5
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
48
0
-116
-30
-28
0
-16
0
23
0
22
56
22
0
-13
-14
-27
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-56
0
-119
17
-7
0
-54
7
6
0
-37
-9
15
0
23
-43
19
0
-64
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-158
-27
0
-5
5
-104
0
5
146
73
0
-18
14
-13
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-127
0
0
0
-26
4
0
-66
10
-19
0
-16
42
-55
0
-36
48
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-32
0
17
-9
-50
0
-3
25
9
0
3
-37
-12
0
-79
75
34
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-83
0
23
74
-11
0
-30
60
3
0
33
7
81
0
-25
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
-17
29
-37
0
65
-26
-23
0
31
-31
75
0
-26
1
7
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-32
-21
68
58
-3
-4
-27
-38
82
22
41
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
23
-4
0
-3
-26
-42
15
0
-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
13
73
98
-40
-4
-55
-80
-15
0
59
-40
70
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-8
-26
0
-30
-22
0
-5
-3
76
-7
-36
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-20
0
12
-13
7
0
54
24
37
0
46
59
76
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
19
0
50
32
53
0
-25
3
48
0
-41
32
-135
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
2
57
70
0
13
2
-43
0
-75
-34
-79
0
84
25
56
0
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
121
0
-2
40
-21
0
50
20
4
0
26
-9
-68
0
-3
-64
-88
0
50
20
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
-9
34
45
0
26
44
32
0
-17
13
17
0
-15
-22
-5
0
-55
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
-4
36
59
0
-29
16
-65
0
-52
-7
-52
0
-7
-7
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
50
-53
0
42
36
30
0
-6
-55
37
0
-12
-91
33
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
17
0
-15
-14
-95
0
-26
37
-54
0
30
87
22
0
24
-42
25
0
-43
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-93
0
50
16
26
0
31
9
41
0
-7
-8
41
0
42
-10
-2
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-42
0
-115
-28
-32
0
35
46
20
0
77
-39
-6
0
119
46
109
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-10
6
-8
-16
-43
12
33
5
-34
11
86
14
39
23
-21
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
30
-54
38
-83
-24
57
0
12
7
-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
47
57
-11
28
30
-14
6
60
-12
-10
40
3
0
-29
-18
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
25
34
-18
43
64
83
49
83
70
26
38
0
-44
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-91
15
47
29
-33
-5
-48
22
-68
-16
7
65
40
88
21
58
12
-91
60
9
47
30
-43
-9
71
-12
-11
0
20
7
0
0
0
0
0
0
29
0
-6
-38
-47
0
86
20
-97
0
-33
33
17
0
-17
14
82
0
-40
51
134
0
40
48
85
0
-6
0
-8
0
0
0
0
0
0
34
31
0
32
23
25
0
33
28
32
0
26
22
-30
0
12
-39
-75
0
-52
-8
-16
0
2
31
-17
0
12
0
52
0
44
0
0
0
0
7
34
0
83
12
42
0
101
-9
-2
0
-22
-13
-4
0
1
16
5
0
-9
10
-12
0
32
12
-10
0
9
0
-21
0
-14
0
0
0
0
15
109
0
-11
10
111
0
-23
8
43
0
-7
-5
11
0
-20
-26
-15
0
-17
-13
-25
0
-10
40
5
0
-38
0
4
0
9
0
0
0
0
44
127
0
-136
15
-49
0
-138
-32
-32
0
-34
19
32
0
24
-79
-3
0
28
48
-20
0
6
39
2
0
33
0
37
0
41
0
0
0
0
-23
0
0
0
7
100
0
51
56
16
0
-24
8
-34
0
61
24
22
0
49
-37
40
0
33
-1
-7
0
2
0
20
0
-27
0
0
0
0
13
58
0
8
47
42
0
-39
17
37
0
-30
15
17
0
33
23
-8
0
23
27
-1
0
15
54
3
0
17
0
19
0
86
0
0
0
0
-42
-70
0
-6
30
-24
0
45
73
37
0
22
55
37
0
34
8
0
0
55
-30
59
0
56
122
-5
0
-58
0
1
0
25
0
0
0
0
24
43
0
33
53
-26
0
110
60
30
0
160
22
24
0
35
43
-61
0
33
13
22
0
-21
46
21
0
11
0
33
0
-175
0
0
0
0
-9
-17
36
46
-28
9
-7
-52
-60
40
17
30
0
42
64
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-14
50
56
5
-30
-32
6
-5
49
60
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
-46
84
16
-25
6
-52
3
53
26
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
-9
26
64
-42
27
39
89
-30
3
-50
-4
117
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-12
66
43
2
16
24
-6
-27
37
-37
45
-43
-17
-76
-17
-3
83
74
56
166
17
17
-136
3
-1
87
20
0
-3
-27
0
0
0
0
0
20
41
-58
28
-30
47
64
-14
28
31
-74
-36
-99
-97
7
-5
-6
-38
38
0
-25
-1
0
0
0
13
0
5
0
0
0
0
0
0
0
0
60
35
0
46
-54
-51
0
-9
-5
-7
0
-52
19
-4
0
53
9
-66
0
-55
11
52
0
11
-11
24
0
-27
0
17
0
34
0
0
0
0
50
105
0
84
75
-2
0
44
9
43
0
-85
36
76
0
63
2
-52
0
-15
6
14
0
-45
45
-29
0
77
0
-5
0
23
0
0
0
0
84
53
0
-23
31
53
0
-1
18
33
0
16
1
19
0
1
-8
-5
0
22
-7
-16
0
-49
-50
1
0
-2
0
-11
0
-36
0
0
0
0
-17
9
0
-113
-20
-6
0
-51
-22
0
0
1
1
-5
0
1
54
0
0
71
40
-5
0
-78
29
-10
0
32
0
3
0
-36
0
0
0
0
118
0
0
0
-12
92
0
148
18
-35
0
-68
14
30
0
42
-23
81
0
38
-55
32
0
-34
-11
-76
0
-51
0
5
0
-18
0
0
0
0
20
30
0
12
50
35
0
-98
6
-21
0
12
18
-16
0
-38
34
-9
0
-20
27
36
0
57
-6
17
0
129
0
38
0
65
0
0
0
0
-2
23
0
27
29
67
0
1
20
37
0
-46
37
25
0
25
61
36
0
64
40
55
0
-22
134
6
0
42
0
-63
0
-35
0
0
0
0
-33
-20
0
28
12
-30
0
3
-44
22
0
47
31
64
0
-17
60
0
0
38
90
44
0
-9
-56
-5
0
15
0
-43
0
-11
0
0
0
0
28
47
44
26
16
25
33
63
-1
-34
25
1
0
-4
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
8
-8
0
83
39
-5
0
-3
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
-16
14
-10
8
-2
-15
-9
40
0
1
87
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
15
2
16
23
11
23
36
0
22
-4
12
0
-11
27
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-2
22
4
-67
19
-7
-84
39
-3
12
31
12
46
-7
-40
-78
-27
8
50
112
10
-43
34
24
-35
-14
-65
0
-85
12
-62
0
0
-23
0
-14
-9
-39
3
-19
-3
6
20
-6
14
-34
3
-32
-28
17
1
-55
36
20
-8
69
-1
19
-9
23
-40
11
-14
0
24
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
85
0
75
-92
5
0
-7
22
25
0
36
63
8
0
-11
-9
60
0
3
0
23
0
17
-16
-9
0
8
0
-7
0
2
0
0
0
0
19
99
0
-12
82
116
0
40
-45
41
0
60
-30
31
0
5
-1
9
0
16
30
4
0
12
-13
2
0
-7
0
-2
0
-79
0
0
0
0
-9
2
0
3
-25
-67
0
2
7
43
0
36
-2
35
0
-28
46
6
0
-27
68
20
0
-7
1
20
0
-23
0
9
0
9
0
0
0
0
7
0
0
0
48
2
0
15
-93
-43
0
19
49
16
0
30
14
68
0
43
-14
30
0
-1
3
-8
0
46
0
9
0
9
0
0
0
0
63
-2
0
31
43
-13
0
35
0
7
0
-52
0
35
0
18
11
65
0
-3
-1
18
0
-16
-23
0
0
6
0
-3
0
1
0
0
0
0
-4
-1
0
-5
65
7
0
-31
34
0
0
-3
11
-22
0
11
-79
83
0
89
34
-28
0
33
-18
-5
0
-10
0
2
0
-11
0
0
0
0
23
-4
0
-14
5
7
0
-7
-12
-37
0
0
33
-9
0
-12
38
-29
0
6
-5
57
0
-81
-29
-32
0
-18
0
2
0
39
0
0
0
0
-45
29
-33
-154
-26
-6
-43
-14
2
-28
16
-17
0
-9
7
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-182
-122
8
-61
36
95
0
-12
29
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-80
-16
-122
19
31
-89
59
-15
-23
-10
7
0
-3
48
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
21
-61
-39
-105
-59
47
78
12
-15
33
47
0
-15
-54
-4
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
104
9
138
-21
-23
-11
5
-3
97
38
62
35
35
109
48
38
64
40
55
36
26
64
11
-1
-8
28
20
0
-78
11
-24
0
0
28
0
25
76
94
40
40
10
53
0
-58
68
14
36
41
-47
-115
-51
58
-3
39
142
25
76
5
80
54
60
43
69
0
17
69
-108
0
0
-66
0
-34
-41
-29
25
26
-34
100
-8
-15
-89
-33
-60
35
-11
60
29
23
-44
27
2
40
-11
28
7
4
11
13
8
0
5
9
9
0
0
-3
0
38
-39
-33
-81
-35
-12
-25
56
6
0
61
24
0
-98
1
-55
-4
-50
1
-36
7
-13
-12
-22
11
6
-13
-3
0
1
-19
-40
0
0
-42
0
27
89
0
-27
-13
-13
0
-55
4
40
0
-18
-33
24
0
-24
-24
-13
0
18
-22
-23
0
-6
11
-9
0
8
0
13
0
-23
0
0
0
0
78
-26
0
-96
-63
10
0
86
-110
17
0
40
37
41
0
8
27
74
0
67
-24
28
0
-46
-13
3
0
-35
0
-15
0
-57
0
0
0
0
6
0
0
0
-58
-49
0
13
36
-11
0
39
-52
11
0
-23
-10
35
0
-13
-51
31
0
24
-14
33
0
-48
0
-1
0
-6
0
0
0
0
36
51
0
25
-102
-51
0
2
-12
-11
0
-5
-29
-6
0
-29
-18
-13
0
-22
-4
0
0
-19
14
8
0
-5
0
-19
0
-20
0
0
0
0
-2
-19
0
34
20
-50
0
40
4
24
0
38
6
17
0
34
-9
1
0
60
7
2
0
20
5
10
0
12
0
-35
0
-25
0
0
0
0
-129
56
0
-55
13
43
0
14
15
32
0
70
85
46
0
38
71
70
0
78
23
54
0
68
22
23
0
3
0
-1
0
-44
0
0
0
0
0
0
0
0
-2
-54
29
-16
21
-42
37
15
-9
-44
-25
17
0
19
-39
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-78
-12
-28
22
-64
19
17
0
55
70
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
-75
-23
-17
-24
-8
18
24
60
0
0
4
6
0
0
-40
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-33
20
-45
33
-13
38
-6
-2
34
13
33
0
-3
-13
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
5
51
5
-2
27
55
40
23
42
30
54
45
12
11
8
23
23
-10
14
22
-10
-12
7
0
61
3
-17
0
0
62
0
0
0
0
0
28
7
-22
20
-13
34
44
67
46
-1
29
75
40
-12
24
49
22
-7
-6
-18
12
5
-7
-37
0
-39
70
-106
0
0
-33
0
0
0
0
0
-9
33
63
0
-21
44
117
21
42
21
22
16
21
35
19
4
6
-4
25
-3
-4
4
-20
5
0
18
49
-6
0
0
22
0
0
0
0
0
1
-24
46
-19
14
8
60
35
21
20
85
14
7
10
8
3
-7
-8
-28
-7
-13
-5
-39
-9
0
-14
-27
-24
0
0
-31
0
0
0
0
0
8
2
32
0
-4
-3
-27
0
6
1
2
0
-4
5
10
0
3
-5
7
0
25
3
-3
0
0
34
9
0
0
0
34
0
0
0
0
0
61
55
0
-39
-4
44
0
148
8
11
0
29
33
-3
0
-23
26
6
0
-54
-1
6
0
-57
0
-20
0
19
0
0
0
0
0
0
0
0
51
36
0
0
7
84
0
-3
-11
70
0
39
-22
-25
0
21
-15
-24
0
6
-11
-26
0
-27
0
23
0
-25
0
0
0
0
0
0
0
0
6
94
0
-83
11
22
0
39
15
22
0
37
13
12
0
35
-4
3
0
-15
-22
-36
0
-38
0
15
0
-27
0
0
0
0
0
0
0
0
4
44
0
87
-15
-11
0
97
-4
-5
0
26
16
1
0
13
15
-2
0
5
13
-21
0
-10
0
13
0
-7
0
0
0
0
0
0
0
0
-1
9
0
109
-8
-5
0
85
1
17
0
28
-5
2
0
8
9
-5
0
-21
-9
12
0
-58
0
9
0
-45
0
0
0
0
0
0
0
0
-2
17
111
4
0
13
-15
8
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
-41
30
0
-34
80
0
0
0
-2
0
0
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
11
-20
0
43
51
-2
0
0
12
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
88
38
151
-1
-65
97
9
0
2
-35
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
87
-39
106
-76
107
-22
42
12
-40
-3
-87
-22
-8
-19
71
10
7
31
-14
137
-96
53
1
0
49
-9
121
0
0
67
0
0
0
0
0
-62
45
-33
-20
-118
-23
16
95
-23
-110
80
64
117
9
11
22
63
-65
-9
103
36
21
62
126
0
68
-13
-29
0
0
-30
0
0
0
0
0
-1
-17
-9
-1
-23
30
34
161
-20
20
80
81
-60
-15
-24
58
23
13
-54
7
-10
2
-13
9
0
-18
17
30
0
0
3
0
0
0
0
0
-1
22
6
-51
-36
-147
138
-48
-2
-6
28
-147
-9
22
19
57
0
-5
33
30
2
3
-14
22
0
22
2
17
0
0
-25
0
0
0
0
0
-72
74
-63
62
-46
-30
3
82
4
-11
-5
3
-6
6
0
15
-13
-26
-7
-5
36
15
-8
50
0
-35
5
52
0
0
-51
0
0
0
0
0
26
3
0
0
79
-146
-2
100
-51
-6
-51
-55
34
-29
-17
-3
-4
-8
14
39
17
53
36
-23
0
27
16
21
0
0
21
0
0
0
0
0
165
20
0
11
38
143
0
35
-17
57
0
-4
-47
0
0
44
17
-1
0
67
-26
23
0
-112
0
-12
0
11
0
0
0
0
0
0
0
0
-55
115
0
-23
-12
-54
0
-25
0
-15
0
-17
-4
-20
0
10
-9
-29
0
7
40
5
0
10
0
0
0
-43
0
0
0
0
0
0
0
0
-4
-10
0
-2
-44
80
0
-26
-15
-31
0
34
-53
-3
0
-53
4
3
0
-41
32
-29
0
-13
0
-56
0
-14
0
0
0
0
0
0
0
0
-123
0
0
0
72
-24
0
7
-20
24
0
12
35
-2
0
76
-9
43
0
48
49
15
0
31
0
-16
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
-7
-67
0
-3
41
-15
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
-28
29
-25
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
36
82
15
0
2
-36
0
0
0
-2
0
0
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
90
42
0
-10
-76
-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
0
0
0
-20
45
79
18
-17
25
-17
-8
-25
-6
2
4
-4
6
-10
41
13
-6
-3
60
0
-52
83
59
0
0
-22
0
0
0
0
0
0
0
0
0
21
-34
41
100
55
2
-5
29
46
-1
11
-119
-4
-32
58
49
-9
55
-13
-9
0
34
-15
-2
0
0
-58
0
0
0
0
0
0
0
0
0
-14
82
19
-40
25
32
5
31
-10
8
11
-5
37
-4
-27
-10
7
-1
7
5
0
25
59
40
0
0
4
0
0
0
0
0
0
0
0
0
-113
-60
19
25
-2
-1
44
-14
4
4
40
-22
-4
-20
4
-16
4
1
-6
13
0
29
-19
-31
0
0
1
0
0
0
0
0
0
0
0
0
-8
-25
119
42
9
6
13
17
-32
-15
5
19
-19
-22
-17
-16
20
8
-23
15
0
57
5
45
0
0
57
0
0
0
0
0
0
0
0
0
82
165
-36
-29
-7
-17
83
-6
11
-9
67
31
-8
-9
39
-101
0
-6
-14
-12
0
7
33
-39
0
0
-8
0
0
0
0
0
0
0
0
0
101
3
65
-86
-21
-15
-29
21
-12
-2
-30
36
14
6
-49
14
-25
25
-20
-3
0
8
85
35
0
0
-43
0
0
0
0
0
0
0
0
0
-81
-34
0
25
6
-22
0
-13
-14
4
0
-7
6
-15
0
-24
17
-17
0
13
0
-6
0
35
0
0
0
0
0
0
0
0
0
0
0
0
-68
14
0
64
2
11
0
-5
-8
25
0
-27
-20
6
0
-2
13
-41
0
28
0
-58
0
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-43
0
9
-30
30
0
43
0
18
0
-19
30
28
0
-50
11
-7
0
-21
0
6
0
-220
0
0
0
0
-46
3
40
-17
58
-25
-19
5
14
-49
-30
27
0
-49
-118
-1
0
0
88
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
-40
94
12
67
-105
4
0
-4
-9
-2
0
0
34
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-21
44
37
-55
3
-62
-33
-49
48
65
206
0
-12
22
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
63
21
-17
-87
11
8
-22
24
-32
27
10
0
10
9
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-45
-13
36
87
30
-16
46
74
85
18
84
48
45
13
94
56
54
53
40
21
-22
38
57
72
-3
14
49
0
-95
21
-46
0
0
12
0
76
70
42
-41
-66
-53
10
-22
-46
26
-28
20
-1
38
10
116
63
4
67
64
57
40
29
107
9
-1
54
75
0
31
53
13
0
0
-26
0
39
-73
69
12
-4
-18
-22
28
88
10
-39
47
28
-8
67
-53
22
13
37
8
22
10
26
13
-2
5
6
6
0
0
9
7
0
0
-9
0
-73
9
22
39
17
4
-43
-33
-43
0
-46
-46
18
-2
-13
22
-4
-25
-2
-19
7
-19
-9
14
2
-4
2
17
0
17
-8
-35
0
0
-27
0
106
53
0
-59
49
53
100
12
4
37
69
17
-3
28
88
12
-48
-29
14
-7
-4
-28
-15
-17
2
8
-16
-6
0
44
2
-24
0
0
-18
0
-2
-9
0
58
10
-48
-40
45
-20
-33
67
-31
35
70
78
-6
33
22
46
-20
6
3
2
10
-11
0
-26
-6
0
-4
-7
-29
0
0
-37
0
85
0
0
0
48
28
0
-69
51
-31
-43
88
50
12
-52
28
-9
-5
11
16
-4
-9
10
3
-12
-19
12
-24
0
-13
-8
-13
0
0
-18
0
-59
41
37
-11
-22
71
-47
-186
-16
43
-12
-6
18
5
1
-47
0
-21
17
-5
2
-44
4
7
12
-21
-2
32
0
52
30
50
0
0
-101
0
36
-1
0
31
57
30
0
44
15
34
0
52
7
-4
0
43
-9
1
0
30
13
-1
0
33
19
-9
0
32
0
12
0
-36
0
0
0
0
-28
62
0
45
-23
-34
0
56
-21
-37
0
24
16
39
0
54
63
37
0
13
6
26
0
9
-15
9
0
-3
0
-16
0
-64
0
0
0
0
38
3
67
-5
-104
-56
-31
-37
-13
25
-1
-64
0
-10
-2
1
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-19
23
10
-2
-33
-4
-35
0
9
-43
21
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
63
50
-12
22
-22
-66
-45
-6
-58
-17
-70
0
14
-19
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
44
46
23
96
-83
-39
-2
-8
-53
45
8
0
20
-47
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
36
19
-17
10
-59
-75
-38
-19
0
0
-91
-2
26
-10
-54
94
56
-65
-73
-151
-3
7
64
24
-40
47
123
0
-9
62
-3
0
0
40
0
66
52
15
78
-59
34
1
-3
-39
-34
55
37
-72
-107
-8
12
71
17
58
-64
11
37
21
-74
48
-13
48
-37
0
23
50
41
0
0
5
0
-41
-31
75
-27
76
89
1
8
36
32
33
14
-24
-94
-75
-50
-4
-61
-1
-3
23
-2
-26
-18
-10
-6
4
17
0
-1
3
-1
0
0
-11
0
69
24
7
49
65
-67
68
-93
26
-64
8
-8
0
-68
16
-66
-1
-9
27
-7
-14
9
31
9
19
4
-1
4
0
15
-7
23
0
0
-26
0
34
83
0
18
4
-5
22
42
-18
-34
23
62
-12
2
30
6
-17
-17
6
4
3
-5
1
-9
-69
18
-17
-13
0
56
-2
-81
0
0
26
0
42
36
0
-34
-32
46
-3
-31
41
-66
31
-28
10
-14
8
-5
-11
11
-40
28
9
8
32
-44
-51
67
38
-24
0
1
-15
-3
0
0
19
0
59
0
0
0
79
60
0
21
29
-28
52
-15
-29
22
29
12
-6
32
1
-26
-21
9
-20
-13
3
42
7
-45
0
-1
38
7
0
0
6
0
50
74
32
-15
25
-45
-24
-28
21
-107
-10
14
45
-33
22
-15
14
-47
23
25
-8
-23
32
0
12
-9
20
-9
0
22
0
22
0
0
4
0
-13
72
-1
-16
18
-120
-15
-151
-4
110
-86
37
14
8
22
61
2
-15
54
6
-40
-91
50
29
8
-59
64
-16
0
-37
49
97
0
0
156
0
68
42
0
105
108
0
0
82
-55
23
0
75
14
-26
0
45
41
-9
0
-10
-9
24
0
26
-5
13
0
-6
0
-16
0
-43
0
0
0
0
-12
28
-16
45
-15
23
-9
-13
-2
2
7
3
0
1
-85
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-21
-72
90
11
5
78
-91
0
0
-22
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-37
16
-11
7
29
-47
0
16
-15
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
1
-18
-29
18
-12
12
31
-29
0
61
69
41
0
-2
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
22
49
68
17
10
15
27
-92
-53
-2
-18
43
-86
-2
-96
23
131
-41
-57
32
19
4
-36
-64
103
41
68
0
21
38
-9
0
0
29
0
-17
55
20
86
-22
42
-36
148
-15
35
4
-6
-41
-18
-60
-1
40
-12
51
-3
6
-80
-15
0
41
2
47
-19
0
-52
-19
0
0
0
27
0
31
33
5
30
39
-54
-42
44
-6
-26
-2
19
34
-9
-36
5
-10
-31
2
-31
1
-18
-29
-11
-42
48
12
-32
0
-6
3
-2
0
0
-10
0
103
121
0
98
81
120
146
-15
-135
78
88
-45
7
16
14
-59
37
69
22
-66
-6
-10
19
-56
-12
0
20
30
0
-29
5
-16
0
0
-16
0
44
96
0
44
23
65
51
-33
3
68
87
-73
-6
23
18
-5
-8
0
4
-21
-24
-18
-10
-35
-35
14
1
42
0
-4
26
-14
0
0
39
0
22
133
0
-51
-54
25
65
-24
0
-25
10
10
36
2
34
-70
14
38
46
-151
-23
50
-23
-88
25
46
35
18
0
1
-10
16
0
0
11
0
86
0
0
0
3
-41
0
-62
59
-21
24
-141
-8
63
-2
-5
-10
102
50
-61
-7
10
44
2
-22
34
25
49
0
24
-65
20
0
0
-3
0
34
78
33
111
30
41
85
84
48
37
-2
-1
-3
44
71
-165
4
25
52
-183
-20
-3
30
-69
-24
25
18
-1
0
-44
-23
31
0
0
-13
0
21
-37
12
58
26
78
-22
-71
74
71
85
-236
-59
-2
-42
-64
-1
27
-20
-76
10
-6
3
-16
13
6
-10
53
0
-9
9
9
0
0
3
0
13
131
119
59
-57
5
159
10
-5
8
0
2
-60
32
-13
-25
-55
18
5
176
58
-133
30
-69
46
-6
-67
-37
0
-63
-109
-152
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
-4
-6
-11
-5
14
1
37
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
8
7
20
4
20
66
85
-19
21
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
8
15
18
18
24
24
40
34
58
33
-9
32
52
122
74
13
-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
20
16
31
24
27
23
21
19
28
25
12
-9
94
82
72
21
73
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
19
6
23
20
19
35
25
59
49
47
70
57
148
55
133
19
55
-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
23
30
23
16
18
34
12
43
43
52
57
80
89
83
42
104
81
130
-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
-31
13
-2
-37
28
7
33
20
10
81
44
51
57
44
115
149
121
168
102
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
63
-20
-54
-4
35
41
4
22
32
47
0
32
-11
99
22
55
110
91
7
92
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-38
-30
74
-7
1
68
55
95
70
44
8
120
100
100
55
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-12
48
13
0
60
52
75
23
-32
76
167
107
48
122
-39
-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
0
0
0
0
6
-12
30
71
-53
85
11
81
54
-27
17
20
97
101
19
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
5
7
52
11
30
-30
54
-2
29
-12
8
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-9
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-20
-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
-96
-59
-88
29
2
-9
-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
-27
-17
-27
69
61
-4
-67
-57
-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
-49
98
-21
41
13
11
-121
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
31
45
-34
6
-40
60
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
4
0
0
-4
5
-1
6
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-51
-78
-82
26
145
-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
-73
-8
-1
-8
45
-104
-134
66
68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
26
-48
-74
41
-2
-38
-17
27
-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
-4
12
-46
-128
-4
-36
65
67
49
-63
37
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
7
13
-35
-93
-53
34
-75
-22
107
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-8
-2
-27
52
-13
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
-2
-4
-7
29
5
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-22
22
-3
39
-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
-36
47
14
-65
-75
29
-56
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
1
-22
42
14
-102
51
31
-11
-2
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
54
-15
-54
-27
-101
-24
-74
-21
-30
35
-29
-25
-14
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
-5
-87
33
-10
-8
-3
-28
-10
8
62
92
47
-64
-40
-3
-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
-4
-27
-30
53
41
0
-51
-19
102
-79
-42
48
15
16
17
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
-2
-21
25
-19
-69
10
-98
109
108
74
37
-53
34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
33
37
75
10
-22
-19
100
-2
-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
3
10
-4
7
4
6
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
45
-52
-46
-4
15
-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
-11
-20
45
25
-22
-100
-37
-39
4
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
49
-83
-133
24
30
-28
29
4
4
27
-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
-131
-17
-41
-34
43
-16
-87
-52
105
53
11
-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
1
19
21
3
90
19
-49
-39
-34
-18
-37
9
47
25
-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
0
0
0
0
0
0
0
-12
5
-10
-36
-91
61
-30
21
-4
101
50
-50
64
96
-20
15
-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
4
9
-69
48
69
-11
-54
52
59
-81
-59
-24
-66
-9
29
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-68
-15
-20
-88
61
-67
15
-10
-9
112
11
88
-8
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
-2
-4
32
-31
-120
80
25
-34
81
30
64
73
-17
3
6
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
-1
23
-1
58
-82
-68
43
-18
46
108
1
11
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
0
0
2
8
-4
-6
12
-2
2
4
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
-14
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-14
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
-33
88
-59
-21
91
-117
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
-21
-19
17
-35
-14
-79
36
4
9
11
-78
-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
-122
-25
19
39
-30
50
-103
34
25
28
87
-62
7
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
41
-46
-34
-14
-4
-23
-58
-60
27
62
127
13
82
29
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-147
-70
23
0
15
45
-17
35
16
62
-26
32
-61
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
7
-18
44
-54
49
29
-36
133
-38
-16
14
19
17
-29
-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
-6
-52
-28
-22
6
-51
-72
-3
43
-40
-40
-24
-40
-80
-3
57
12
-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
-9
38
-49
-72
-51
-44
-6
31
-8
-66
65
49
-54
-8
15
101
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
1
-9
-53
53
-92
127
24
-51
29
45
17
-6
-53
9
51
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-47
25
-70
-55
36
-77
9
12
55
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
17
1
64
1
-1
-6
8
-4
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
3
-5
4
-5
0
-10
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
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
39
84
126
52
19
-27
-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
-25
7
119
113
76
23
215
-77
-9
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
38
6
36
53
5
63
93
13
87
50
-77
-56
-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
23
28
14
15
11
18
8
2
13
46
-1
32
-84
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
5
-1
9
13
83
36
73
3
-12
31
84
43
32
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
25
10
34
18
46
-3
34
2
8
4
-35
30
29
89
19
69
25
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
-39
62
28
34
-22
-5
26
5
32
-13
-1
39
5
49
-10
48
108
30
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
1
55
66
-4
-60
-51
29
18
-30
8
-48
17
18
97
-80
15
137
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
0
0
1
44
-16
41
6
-8
30
17
-66
8
-22
-58
91
21
35
93
-58
4
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
8
-6
2
8
25
-36
10
52
63
-131
-55
57
77
52
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
20
-58
27
50
62
14
65
-30
4
-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
11
2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
48
78
91
83
47
81
-69
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
37
0
8
20
66
-1
45
25
81
-29
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
2
2
3
-2
-1
0
-4
-11
40
38
-28
36
25
92
25
12
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-9
-4
13
11
22
2
-12
-26
6
-18
37
37
59
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-7
7
-17
-19
-2
-25
10
-18
-42
-3
21
83
23
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
32
3
10
11
-10
2
15
22
-7
-14
-11
67
3
54
-40
-8
-22
52
-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
-16
14
0
49
19
-20
4
26
45
-22
-6
40
-24
96
41
89
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
2
-4
12
43
24
27
51
-8
19
11
-10
38
-66
18
63
14
-15
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
-10
-39
67
-63
61
11
84
65
86
125
33
-104
47
13
7
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
-3
24
-29
24
-50
-15
51
12
21
-3
-20
-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
-1
7
0
0
3
26
-13
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
-5
18
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
8
-4
45
18
-6
-19
116
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
16
17
13
12
5
18
2
13
-8
21
103
50
36
-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
0
0
0
0
0
0
0
19
24
13
17
16
19
30
44
14
52
81
138
162
92
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
37
46
37
53
49
18
42
67
117
71
27
-11
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
37
74
39
74
86
61
97
25
30
74
68
38
192
-66
54
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
45
46
115
87
101
4
44
77
84
-40
16
-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
-12
27
14
166
1
-5
-4
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
9
24
17
-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
24
22
16
1
15
18
0
37
24
-77
93
-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
48
44
38
28
31
49
40
28
26
-41
11
-24
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
86
51
61
78
67
103
64
52
92
6
50
-29
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
111
126
109
100
71
88
127
79
92
46
24
97
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
-2
15
38
167
92
186
83
12
147
-40
26
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
55
-4
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-4
157
10
0
-73
46
16
-4
6
0
-6
6
-149
0
9
11
0
12
-5
-41
-2
-4
-4
0
4
0
47
-5
0
0
0
0
0
0
0
66
0
4
3
0
0
-70
0
0
3
0
4
80
27
0
11
0
0
133
-8
4
45
33
4
0
81
173
45
0
125
0
112
75
-30
0
0
-94
46
4
-8
-97
-10
0
-85
0
48
4
1
1
0
42
-1
4
0
-5
0
0
11
0
-13
0
13
0
0
0
46
-20
0
0
-4
0
0
-1
12
-7
40
11
46
80
-8
0
76
-55
14
0
50
-2
0
39
73
7
-8
108
6
-1
124
-76
-6
-7
3
0
1
-43
6
0
-3
-144
-27
0
-43
-90
0
0
44
8
0
0
-66
0
29
-13
56
0
0
64
0
0
15
21
29
0
87
-65
-10
0
0
0
4
19
-44
-14
26
0
-4
111
-16
-10
17
14
-18
-19
-26
-20
0
-5
79
-5
-23
-44
-36
5
132
-26
-51
1
3
2
0
95
-73
10
-11
7
-47
0
0
-2
-22
19
0
34
0
0
0
-12
-9
0
-12
0
-11
0
5
21
0
6
0
0
0
0
0
22
55
-38
32
-6
0
-5
-12
-125
-20
-44
34
0
0
1
40
-42
-1
61
0
-7
50
-121
3
-26
69
1
2
-7
-26
0
-16
-71
-38
0
0
-38
-4
-26
24
-7
-12
0
-16
0
0
5
48
0
0
64
0
-90
0
0
0
0
-60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
-8
0
0
148
0
0
0
-9
0
0
-119
-1
0
0
0
0
0
-11
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
15
0
0
-1
0
0
0
0
0
-34
-2
-1
-5
0
0
-8
0
0
0
135
0
0
-4
-5
0
88
-3
0
0
4
29
0
0
-15
0
0
-2
-28
0
0
0
0
0
0
-21
0
0
22
0
0
0
53
0
29
0
0
0
0
26
0
0
0
0
0
0
121
0
-3
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
-2
0
0
0
-44
0
0
0
0
0
0
-20
0
0
-5
0
0
0
37
0
0
-3
0
0
0
-37
0
0
0
0
0
0
45
0
0
0
0
0
0
-7
0
0
0
0
0
0
-57
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-4
0
0
0
0
-16
0
0
0
0
0
0
-24
0
-8
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
-30
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
-57
26
0
2
17
0
0
2
7
0
0
-3
0
0
0
0
0
0
0
18
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
-55
0
0
0
0
-18
3
-3
38
37
0
-13
1
0
-2
6
73
0
0
57
-2
0
0
65
0
0
-4
14
-1
18
-21
0
0
-12
-3
0
0
26
0
4
0
6
0
0
0
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
26
0
0
0
32
0
0
113
103
-31
0
0
9
97
0
4
55
0
0
-25
50
0
-35
36
-18
0
24
-85
0
0
-21
0
0
17
-53
0
0
9
22
0
0
-54
0
0
-1
0
0
0
-5
0
-64
-16
-6
1
0
-148
0
0
0
0
-11
0
-15
-2
4
0
0
0
0
58
-14
1
11
0
0
21
40
0
-13
25
11
0
-1
-19
0
4
1
0
0
-17
31
0
0
-19
4
0
0
40
0
-3
0
-1
0
0
39
0
0
3
-14
0
0
105
0
0
0
0
0
0
-87
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
16
0
-1
0
0
0
-26
0
26
6
0
0
0
73
0
-17
0
-3
0
0
-38
0
0
-5
0
0
0
9
0
11
0
8
0
0
8
-1
-1
0
1
0
0
103
0
2
20
-4
0
0
20
0
15
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
61
-36
-55
43
-28
38
3
-25
62
46
28
-28
27
42
-53
27
5
-32
3
-30
-23
48
-76
-86
-38
-24
-14
67
-120
-14
-60
13
37
56
-62
-38
-56
-2
-83
47
-21
-27
-82
-3
-92
-43
-66
66
23
88
54
27
-72
-24
75
69
16
-38
-47
70
2
34
10
-99
-2
-110
47
-6
-71
-3
-15
-57
-58
-22
-42
-31
-17
12
-34
3
-80
1
-6
-23
-24
-19
-58
-17
50
-2
-13
-10
-77
33
-14
86
-9
-64
-69
-25
-50
-120
-36
-29
-93
-59
13
-60
-37
7
39
8
36
25
19
57
-4
-30
22
51
113
8
50
43
21
-2
-18
-45
-73
-1
-2
-132
-32
2
-8
41
-21
-26
-41
-7
-13
-8
-29
-4
-21
-15
-48
-2
-41
-61
-28
40
37
-63
-1
112
-1
3
-20
10
-56
2
10
-14
-70
0
-15
-21
41
-86
73
-43
-80
33
-25
24
-45
50
74
58
39
18
28
-89
15
-29
-13
-18
-44
18
22
-6
82
46
-89
36
-10
-55
-8
-7
-10
-18
-4
-25
8
-36
9
-86
-68
-16
-27
8
37
-45
-40
20
-18
-11
-77
-10
-28
5
27
17
1
69
-37
-90
-49
1
-95
6
-19
-57
-33
-27
10
-46
-10
-61
32
56
-38
-45
-6
-3
-35
-6
2
91
-22
2
22
26
-49
45
-27
-13
-26
9
13
6
13
-65
54
16
-7
-13
-23
0
-45
40
-25
24
-121
4
68
-52
-34
-128
0
-113
-60
-21
-42
17
-54
7
-62
25
-26
80
-81
-46
-47
-16
-36
-22
-22
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
26
3
0
10
0
0
-189
23
0
-5
0
0
0
0
4
-3
17
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
7
0
0
0
0
11
0
0
-8
0
0
-40
0
0
0
0
-9
23
132
26
2
0
0
60
-12
-6
-10
-45
0
7
129
-3
-12
0
140
-1
13
26
40
0
0
0
-1
-8
-9
-34
0
2
0
0
32
0
-4
0
0
-4
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
0
0
59
0
0
0
0
0
22
-99
46
93
0
0
4
-19
0
0
78
0
0
13
42
2
-17
-43
-20
0
-55
54
0
10
-50
0
9
14
-67
0
0
5
0
0
0
-48
0
0
0
0
0
0
-89
0
-36
0
-4
0
0
-68
0
0
0
0
0
0
-35
26
-9
0
0
0
0
0
136
0
10
1
0
-1
109
0
-18
38
64
1
0
47
0
-3
0
0
-1
26
-49
0
67
58
1
0
-1
-72
0
0
1
8
38
0
14
0
0
7
-2
0
0
-113
0
0
0
0
0
0
17
0
0
0
0
4
0
-58
0
-3
0
0
0
16
-102
1
0
0
0
0
3
-49
18
71
0
0
0
0
-11
10
-20
0
0
0
0
-31
0
118
30
0
0
0
-37
0
0
17
49
0
0
56
0
-7
-5
24
0
0
-5
0
0
0
5
0
0
41
0
-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
-15
-2
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
0
0
0
62
0
0
0
0
0
79
0
0
0
0
0
-7
-25
0
0
0
0
43
0
0
0
-37
0
-1
16
-1
0
0
-43
0
9
4
-5
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
-4
0
0
11
0
0
0
0
0
22
-1
0
-7
0
0
0
10
0
0
-12
0
0
5
0
0
8
2
0
0
-7
-4
0
0
0
0
0
-7
13
0
0
-16
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
-1
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
24
0
0
-2
0
0
0
-18
0
0
0
0
0
0
87
0
0
0
0
0
0
27
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
16
-1
0
0
0
0
0
0
0
1
0
0
0
0
7
0
0
-1
0
0
0
-7
0
8
0
0
0
0
40
0
0
0
0
0
0
-13
0
-8
0
0
0
0
6
0
0
-6
0
0
0
60
0
-8
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-82
0
0
0
0
-26
0
0
0
-64
0
0
12
0
0
0
-1
0
0
8
0
0
0
0
0
0
33
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
0
30
0
0
0
0
5
17
1
19
-15
0
0
-2
53
-5
0
84
0
0
38
-1
0
130
25
0
0
65
133
0
0
11
0
0
-21
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
33
0
-32
0
1
0
0
87
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
2
0
0
0
0
-18
40
0
0
-5
0
0
0
28
0
0
-44
0
0
0
-29
0
0
1
0
0
0
15
0
0
-6
0
0
0
-33
0
0
-6
0
0
0
39
0
0
0
0
0
0
-69
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
0
0
0
0
0
-49
0
41
2
0
0
0
59
0
0
0
0
0
0
9
0
-6
-2
0
0
2
-96
0
0
0
-3
0
0
-66
0
0
0
0
0
0
-112
0
0
0
0
0
0
15
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
-48
70
-13
7
32
-84
45
-60
-45
-104
-53
-1
-8
-38
8
-33
62
-39
-22
-31
-47
-101
-30
-66
-39
2
-86
-93
21
-118
-20
-15
-48
-27
-19
3
21
5
-7
-2
-25
48
4
17
62
88
-85
-1
44
-153
-25
-109
-159
-8
41
54
50
-122
1
53
66
-73
56
-5
-11
7
-14
-41
-25
58
-18
-40
0
-141
-61
-26
-28
34
-70
-30
-118
-54
-10
-8
16
-67
-91
-68
-56
-81
-47
-40
-63
-65
-53
44
-39
-43
-8
-14
10
-41
-46
1
-52
-96
83
2
11
47
14
138
67
56
22
47
34
58
-47
41
33
-53
28
21
26
-54
-27
11
31
1
10
-210
-43
5
-11
78
-17
-20
-10
-13
5
-15
-3
23
-18
-84
-4
-74
3
-91
-21
-96
24
31
26
5
-96
-164
-17
60
-72
-18
24
37
-16
-31
44
46
-99
59
-3
92
100
-176
-11
56
10
16
-44
25
4
50
-18
20
-7
-7
6
39
-35
-32
-15
71
-68
14
-10
-56
-19
-4
-28
12
1
1
-7
9
-4
-7
22
-14
-26
-17
-44
14
-33
-49
-53
-82
10
-10
-23
-100
-72
-103
23
-18
-2
9
-15
-85
-53
20
-21
4
30
-2
-137
-34
50
-3
73
9
19
-17
27
57
-43
-41
7
-30
-22
-4
58
-20
-25
-38
-145
16
9
-45
-48
-31
-28
-52
39
24
38
55
9
-7
73
-28
35
33
-25
-44
-5
-24
38
1
36
19
-43
5
98
-77
-115
16
5
-50
-18
90
62
20
-34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-8
0
0
0
0
-21
-49
-26
5
0
50
-8
41
-9
5
0
0
0
0
-28
0
-28
26
0
0
50
0
0
3
0
39
0
0
-17
0
0
29
0
0
2
0
4
0
31
13
-47
0
0
-45
-4
45
-4
-6
88
-1
-58
0
26
31
-64
-6
59
-103
23
-1
5
3
-120
-26
-47
40
18
0
-10
-3
-27
-7
-1
-3
0
-3
-10
3
-6
9
0
0
17
0
-53
0
31
0
0
2
4
-122
0
0
67
0
0
0
4
21
38
78
82
-49
33
0
-23
40
-8
0
33
0
0
-55
0
8
-29
-25
30
-2
-6
-74
1
-23
-70
12
60
-8
-30
0
0
-108
-33
-12
1
-54
0
0
19
1
41
0
23
0
37
17
38
0
0
-31
0
-16
-1
37
1
0
33
-14
-8
0
-16
0
0
-29
32
0
19
38
51
47
30
-15
22
19
33
12
-5
0
-15
32
90
0
24
32
-90
0
28
41
42
28
-37
-39
11
12
-112
17
12
0
0
0
0
14
31
21
0
25
1
0
6
8
-22
0
-18
0
7
0
0
-93
0
18
0
0
0
0
-16
10
15
-2
0
1
0
0
-16
18
-2
-13
17
0
0
29
0
17
52
38
-43
-18
-19
-12
-2
17
55
38
-18
-6
-99
0
99
-11
-60
-17
4
7
0
68
-38
6
24
0
24
0
0
-16
-16
11
0
-15
0
-24
0
0
-14
0
53
22
0
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
12
0
0
0
0
0
-3
-24
0
0
-7
10
-1
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
4
0
0
1
0
0
10
0
0
0
0
0
-2
100
4
2
0
0
-139
0
0
0
-38
-9
0
38
5
0
0
65
0
0
25
70
0
0
-16
-10
-1
-37
-7
0
0
-15
0
41
0
-15
1
3
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-3
0
0
21
0
0
0
20
-1
86
-40
139
-12
3
0
-67
15
0
0
12
0
0
-89
-80
0
-92
10
-18
0
-51
-24
0
22
13
0
0
-12
-34
0
0
19
0
0
0
-8
0
0
51
0
0
0
-9
0
74
0
1
-1
-2
-17
0
0
0
0
0
0
45
0
6
0
0
0
0
116
64
10
0
0
0
0
-35
-12
8
50
0
0
-6
24
0
0
-15
0
0
-53
17
0
67
10
-2
-24
-8
12
0
3
-1
3
-4
0
-65
0
-5
26
-31
31
0
25
0
0
-2
0
-3
0
64
0
0
0
18
17
0
137
0
0
0
0
0
0
127
26
24
0
0
0
0
13
0
-78
37
0
0
0
91
0
-29
8
0
0
0
-33
0
-15
-14
0
0
-1
-16
0
0
2
17
0
0
-107
0
46
-5
-4
0
0
-2
0
0
10
13
0
0
-66
0
-12
0
0
0
0
-10
0
0
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
-7
0
31
-11
4
0
0
0
-7
11
0
0
0
0
0
0
1
0
-4
0
0
0
-2
-10
0
0
0
-105
0
0
10
0
0
33
0
0
0
0
-3
3
102
0
16
0
0
-80
0
0
0
107
9
0
19
0
0
0
62
0
-2
-95
0
0
0
-21
-27
0
-10
-42
0
0
-13
0
12
0
0
0
0
14
47
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
85
0
0
-27
0
0
0
-8
0
-2
103
47
-14
-5
0
20
-62
0
0
-61
0
0
65
15
0
-9
-5
-7
-1
-51
-77
-5
0
22
0
4
-2
104
0
0
12
-4
0
-6
2
0
0
39
0
0
0
19
0
100
0
11
-17
0
101
0
0
0
0
0
0
-54
-14
21
0
0
0
0
-47
32
0
0
0
0
55
-185
-9
0
-6
11
0
-32
33
0
0
28
0
0
3
18
-4
0
-44
-22
0
2
-52
0
0
-5
0
0
0
-10
0
27
0
-8
0
0
-104
0
0
0
0
0
0
17
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
6
0
0
0
0
-31
0
5
1
0
0
0
25
0
1
15
0
0
0
-58
0
0
0
-16
0
0
-30
0
4
0
3
0
0
-79
0
0
-23
0
0
0
6
0
6
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
1
124
3
18
38
4
17
-65
-40
48
-7
102
-2
-52
21
53
-5
-5
-4
3
33
-3
79
7
19
2
7
-40
0
63
0
-1
0
-1
29
0
0
-16
0
0
0
26
-38
54
66
7
12
0
-6
-149
-117
10
-39
-16
-37
-34
57
-5
14
-18
87
50
87
20
14
-77
-38
-10
-11
6
4
-65
28
0
-78
-4
1
47
-62
38
-5
-14
-34
-9
81
-122
-1
13
-52
14
-3
2
25
10
-1
38
22
-32
-2
-6
-37
0
-3
31
-33
27
50
41
60
-52
1
1
-29
36
30
6
41
-4
-2
2
7
-70
-43
22
9
31
32
-16
33
-177
-65
21
2
19
-12
20
40
3
-48
-4
48
-2
0
25
-43
-20
-9
-34
6
6
17
12
-17
77
-55
-19
-3
49
-13
9
-46
3
13
-62
11
0
-29
-2
2
49
57
16
32
-27
-2
6
-4
59
-54
21
1
54
-25
23
33
-125
22
12
4
-29
-27
80
-22
-13
-46
51
17
3
122
-27
13
83
56
51
20
-29
-20
-22
14
63
-29
0
0
-1
-6
-67
54
-15
-2
-1
-3
70
1
-8
0
-1
34
-1
0
7
0
22
12
-50
51
-32
-121
0
-139
-32
-16
42
64
11
32
110
22
16
-13
32
30
107
20
26
-31
-58
40
24
85
-18
-28
-31
3
-30
22
-66
-18
21
4
9
-21
-8
-27
38
-58
9
-68
35
-31
37
16
-9
1
-99
-42
-37
-113
0
-43
-34
11
-9
-39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
35
0
0
-37
0
-3
5
87
10
0
-16
0
-41
-19
12
0
0
0
0
51
0
4
-6
0
0
0
-15
0
0
0
-31
0
0
7
0
0
7
0
0
0
0
6
-4
42
0
8
0
0
-7
16
-7
0
-13
0
0
12
0
0
0
20
0
-9
21
-12
0
0
36
0
21
-117
-12
0
-14
7
0
-89
15
-10
0
0
-23
0
52
-19
-7
0
0
0
31
33
0
-25
0
0
0
0
8
0
0
-88
0
0
0
23
-1
-61
-128
84
-27
0
0
34
27
0
0
-24
0
0
62
-9
0
129
57
0
-1
-84
-17
0
7
-43
0
-5
-47
-50
0
0
-96
0
0
-35
-31
0
0
22
0
25
3
19
0
-7
1
4
12
0
128
21
0
0
0
7
0
-41
54
-19
0
0
-6
-1
5
26
0
0
0
0
15
9
-1
0
142
3
-4
-57
-35
0
27
20
0
0
-60
61
0
-10
14
0
0
-3
22
0
-2
-3
0
-1
-6
-35
0
-2
52
0
-9
0
28
0
0
98
0
44
0
130
0
0
8
0
-8
0
-43
5
0
0
0
10
0
-46
42
13
0
0
0
-1
31
0
-46
-11
0
0
0
20
0
-9
2
0
0
-1
17
0
13
-6
0
0
21
11
0
-26
1
0
-1
0
69
0
-82
-73
0
0
0
-16
0
0
0
24
-1
0
72
0
-47
-18
0
4
0
2
14
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
13
19
0
0
0
0
0
7
-2
0
15
6
0
0
-7
-11
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
-41
0
0
0
0
0
-9
0
0
0
0
0
-7
61
0
-2
0
0
99
0
1
-15
16
-3
0
5
0
-28
0
2
0
0
3
-1
0
0
-36
-11
0
89
-20
0
0
-2
0
0
-65
-2
0
0
0
-28
0
-30
-3
0
0
0
-10
-28
-1
-16
0
0
0
-2
10
0
0
61
0
0
0
13
-2
42
91
-12
-23
0
0
-72
43
0
0
-18
0
0
29
195
0
31
-77
-18
0
-86
0
0
-22
-65
0
0
97
14
0
-15
-10
6
0
-27
27
0
0
-29
-5
0
0
-10
0
-159
-2
-13
0
0
-20
0
0
0
2
0
0
-13
24
4
0
-16
0
0
75
11
0
37
9
0
39
96
-17
33
76
36
0
105
-11
-6
14
-56
0
0
73
59
-6
10
142
-1
0
-9
-1
0
0
46
0
0
22
-89
0
0
-10
23
0
0
-22
0
-5
-10
0
0
0
-154
0
0
0
-1
0
0
-53
0
0
0
0
0
0
24
24
-9
48
0
0
8
84
0
-61
25
0
0
-2
28
0
5
-6
5
0
-8
-3
2
-14
47
0
0
-57
75
0
26
50
2
0
0
-1
0
3
-53
0
0
0
-8
0
0
13
12
0
0
-75
0
-19
-7
0
0
0
-1
14
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
140
-18
1
49
3
25
42
64
-17
-1
-16
-39
-92
0
19
12
-10
35
-67
-140
0
70
0
16
3
-1
-54
0
31
-7
0
0
-11
-78
-44
-74
17
-43
-58
10
22
-94
-7
126
-35
50
23
-22
-83
-40
135
13
-55
-54
90
-15
29
44
25
13
4
88
29
23
-10
-21
-61
35
24
47
-45
15
0
-13
-39
22
87
38
-5
-2
-8
-25
-16
-6
8
-2
-1
2
-45
-14
-1
-9
-21
-1
18
17
-56
-22
24
-18
-90
51
-63
-3
10
27
-32
9
35
-13
18
1
17
39
20
11
-7
28
-12
36
13
59
-17
-25
-39
2
-11
-18
-15
-9
-13
28
52
8
0
-31
-10
56
-48
-8
20
-9
14
-68
22
22
0
0
67
10
24
-42
-56
0
10
-25
-22
0
78
-1
17
-5
53
-2
-101
-27
-4
3
29
80
-51
-10
15
24
-40
10
-46
-46
13
5
-35
-12
16
-55
-9
48
-17
-17
-38
-20
-40
-55
35
-20
16
-69
3
-4
-51
9
-18
26
-18
15
-5
14
-47
-84
40
-5
-15
-20
-4
64
8
24
-1
-30
47
-5
-1
36
-41
-7
-35
-107
121
13
-31
-8
-24
-7
92
-28
-40
-17
26
-88
-19
93
-91
38
-3
48
29
-33
7
-48
36
-42
-43
-85
-38
-69
-25
43
-19
62
-31
-3
-14
17
-12
84
121
23
-8
-9
-1
-40
-8
58
-3
18
-11
4
-24
121
113
-1
-68
128
5
10
-103
-15
0
0
0
0
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
-4
17
-21
-9
42
-68
9
40
0
0
5
0
-4
0
6
0
0
0
0
0
0
3
0
-4
0
0
-22
0
0
8
0
0
0
0
0
14
49
0
-18
0
0
55
14
9
10
45
7
-5
-62
64
-2
25
-20
-8
47
40
0
8
16
-15
59
-3
-110
-2
0
22
18
-8
68
-13
29
-2
2
-9
-10
-57
0
-13
0
0
-3
7
-3
0
-1
0
0
0
-38
-59
0
0
22
0
0
0
-18
0
-100
7
87
-2
50
6
-94
-6
2
0
-6
-5
0
-38
-30
1
104
80
-48
7
-69
0
0
132
-48
3
-34
39
0
-1
17
-21
48
0
13
5
0
-3
-65
0
-16
0
49
0
-85
-7
3
0
0
26
0
0
0
0
-74
0
44
14
-28
0
67
0
0
-85
-74
-13
13
-1
-2
25
6
-16
-30
-35
-66
0
50
14
1
1
74
0
-7
0
0
-1
-16
41
-171
-12
-53
-3
0
-3
-63
33
0
5
-104
0
2
48
-99
-4
0
48
0
0
10
0
28
0
1
0
0
0
-15
15
0
54
0
0
0
0
0
4
-56
-22
0
-1
35
0
-14
68
-28
124
-36
0
0
-3
-29
-1
-82
5
25
2
57
0
0
68
139
0
14
3
-28
9
3
38
75
0
0
-86
0
22
-26
-20
5
0
35
0
0
-18
55
4
0
-93
0
-104
0
12
-13
0
-37
-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
0
0
0
0
0
0
6
0
15
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
27
0
0
0
0
0
-12
105
0
0
0
0
11
0
0
0
33
0
0
-77
0
0
0
27
0
-37
57
-21
0
0
19
-7
1
97
202
0
0
56
0
14
0
-3
0
-2
-1
0
-1
0
-5
0
0
0
0
-18
0
-1
0
0
0
13
15
0
0
90
0
0
0
-11
0
12
-37
59
-40
0
0
75
84
0
0
-47
0
0
-82
-85
0
-80
-117
-99
0
-22
-166
0
-17
7
0
0
-6
51
0
48
25
0
0
0
109
0
0
-2
0
0
0
-2
0
-67
0
76
0
0
-80
0
-1
0
0
15
0
-3
13
-1
0
0
0
0
80
-25
-20
7
0
0
21
51
0
17
146
110
0
0
-95
0
-3
-42
0
0
-9
-62
0
-29
-78
14
2
-1
-3
0
0
52
0
0
0
147
0
0
-1
52
0
-1
2
0
0
0
0
0
0
-102
0
0
0
0
0
0
-4
0
0
0
0
4
1
7
2
0
-3
-6
0
0
-11
0
-48
0
0
0
0
-68
0
-2
0
0
0
0
-27
0
40
-2
0
0
29
-64
0
-5
-1
3
0
0
57
0
11
-2
0
0
0
-16
0
0
0
-5
0
0
-26
0
10
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
10
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-51
0
0
0
0
0
-2
-60
0
2
0
0
54
23
0
0
3
0
14
-149
0
0
0
68
0
-1
42
-15
0
0
-1
11
-3
13
-22
0
0
-3
0
0
2
1
0
0
0
24
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
18
0
0
35
0
0
0
18
0
-133
73
10
-24
0
0
2
-25
0
0
0
0
0
3
73
0
12
-71
2
0
133
1
0
0
21
0
0
21
84
0
0
0
-16
0
1
-119
0
0
16
0
0
0
73
0
-17
0
-8
0
0
68
0
0
0
0
0
0
-97
-13
23
0
0
0
0
-10
-3
0
5
0
0
-13
-17
-4
0
-8
6
0
0
19
0
0
9
0
0
-4
-25
2
8
0
40
0
0
55
0
0
11
1
0
0
42
0
0
-7
-11
0
0
-60
0
0
0
0
0
0
74
0
0
0
0
0
0
37
-2
0
0
0
0
0
6
-1
0
0
0
0
0
-7
2
11
0
0
0
0
-14
0
0
0
0
0
-1
9
-13
0
17
0
0
0
50
0
-12
-13
-13
12
0
-96
0
0
-3
0
2
0
-35
0
0
0
0
0
0
-48
0
-18
-13
0
3
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
18
0
45
-8
-10
-11
-10
0
0
0
1
0
6
0
0
0
0
0
0
0
0
106
0
0
-9
0
0
-83
0
0
0
0
-5
28
77
0
2
0
0
-47
37
-1
3
-96
33
0
-45
1
-6
0
-1
0
8
28
-34
-13
0
-38
92
23
-20
116
0
9
-22
0
8
11
-27
0
0
1
31
-31
1
17
0
0
0
0
8
0
1
0
0
0
0
-42
0
0
-83
0
0
0
6
-1
27
-59
-31
38
-1
0
-9
-17
0
0
-26
0
6
80
10
0
89
24
-45
0
94
-6
-24
5
-45
0
22
-50
80
0
9
-13
18
0
-7
-68
0
0
0
0
0
0
-18
0
125
0
-44
0
0
14
0
0
0
0
16
0
50
-37
-6
0
0
0
0
-6
143
6
0
0
0
-7
-17
98
0
-65
79
-6
0
-27
0
0
-25
0
0
-4
11
-2
0
52
107
-17
-35
-19
-1
5
12
29
0
0
14
0
0
21
-40
0
0
-42
0
1
0
0
50
0
11
0
0
0
-1
60
0
35
0
0
0
0
0
0
-39
-8
0
0
0
0
0
-54
1
81
0
0
0
-6
-161
0
-17
0
0
0
14
-43
0
-3
-23
0
0
38
52
0
-19
0
-71
0
0
-21
0
-24
0
0
0
0
-24
0
2
0
-87
21
0
19
0
-5
0
0
-2
0
52
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-12
0
0
68
0
0
0
0
0
0
-41
0
0
0
0
35
0
0
0
-26
0
0
45
8
0
0
22
0
6
-28
-3
0
0
-6
0
0
3
-3
0
0
0
0
0
5
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
114
0
0
9
0
0
0
0
0
8
-1
8
16
0
0
-22
-27
0
0
-10
0
0
-12
21
0
-12
-29
0
0
-73
-18
0
0
1
0
0
-1
37
0
0
-7
0
0
0
-107
0
0
12
0
0
0
6
0
72
-10
0
0
0
-31
0
0
0
0
0
0
0
3
7
0
0
0
0
-65
-9
0
0
0
0
0
101
0
43
-9
0
0
0
-87
0
0
-3
0
0
27
35
0
0
-58
0
2
28
-88
0
0
-4
0
0
0
89
0
0
22
0
0
0
-82
0
0
0
0
0
0
-42
0
0
0
0
-4
0
-81
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
-5
0
-4
0
0
0
0
0
4
103
0
0
28
0
0
0
74
0
0
0
0
9
0
24
0
0
-20
0
0
0
-37
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
29
-1
0
3
22
0
-11
72
0
0
0
0
0
0
11
0
0
0
11
0
0
0
0
3
0
0
0
0
0
-22
0
0
0
0
0
28
90
0
-23
0
0
-23
0
-20
0
-56
0
0
9
6
-21
0
10
0
-11
-70
24
0
0
0
-59
8
25
40
0
0
30
0
0
9
44
0
0
31
14
11
1
10
0
0
-16
0
-3
0
120
0
0
0
21
-4
0
0
-48
0
0
0
0
7
-8
69
118
6
0
0
-30
26
-2
0
-6
0
0
-82
46
0
80
9
53
0
-117
-123
0
-12
-18
0
0
12
-14
0
0
-2
1
0
-17
-82
0
0
2
0
0
38
61
0
-44
55
19
0
0
8
0
8
0
8
0
0
41
-6
-33
0
-12
0
31
-6
-8
0
0
0
0
24
14
0
-31
69
75
0
-29
22
0
-1
-9
0
0
39
-42
0
-23
2
-121
0
0
27
1
-5
77
0
0
-29
-6
0
0
40
66
0
6
34
0
0
-32
16
0
0
-21
0
0
0
37
0
0
23
12
0
0
0
0
0
-2
-5
0
0
-9
0
-1
-35
0
110
-22
0
0
21
24
0
-31
-62
0
0
-1
-11
12
3
-6
0
0
15
41
0
13
77
79
0
13
3
0
25
-10
0
0
0
-2
0
0
-15
-21
0
0
-45
0
8
0
0
0
0
-28
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
146
0
0
0
22
30
0
-54
11
0
49
3
15
0
8
0
-10
0
0
-44
0
0
-60
0
0
0
0
0
-25
-27
0
-6
0
-14
38
12
1
0
28
-106
32
-43
-4
-18
0
-40
0
22
-147
65
-12
-1
13
-46
117
-53
52
31
4
-28
0
51
3
39
0
0
-26
1
28
21
7
0
0
-18
38
-35
0
-33
0
0
6
-30
-31
0
0
-82
0
0
-3
16
13
9
31
-112
-17
-3
0
31
27
0
0
28
0
-14
-69
82
-1
13
-11
-10
31
-27
85
0
0
7
-17
0
84
8
0
0
9
39
38
6
-45
0
0
-62
0
0
0
15
-5
10
-27
18
16
0
-60
0
0
2
2
1
0
-11
31
11
0
-6
-2
0
-31
18
0
-3
0
8
-4
-36
-30
-40
21
-74
9
1
55
0
-15
-3
-13
-26
-43
32
-3
21
55
-17
-6
-33
-5
-11
4
3
6
25
0
-66
0
1
18
-9
-1
0
20
0
-1
-18
0
51
0
-50
0
0
5
-46
8
0
-51
3
0
0
2
-17
0
-80
13
46
0
-7
0
0
-46
0
19
-1
0
37
0
14
1
-2
78
-31
-32
21
39
7
-29
30
-8
-32
0
13
-5
-67
-107
23
22
0
-63
0
7
24
0
11
0
-42
-16
-4
-55
-21
38
0
-8
0
33
-1
0
40
0
-12
-16
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
-22
8
0
0
0
5
-34
0
-15
0
-1
0
13
-7
0
-4
0
-19
0
0
-28
0
0
-28
0
0
0
0
-13
12
47
0
-13
0
0
-38
-9
8
49
-3
38
-4
-1
19
6
0
-15
11
-26
-32
-5
0
-23
57
-26
18
92
0
-51
42
129
0
-27
114
-15
0
-2
-21
-23
42
1
68
0
-1
0
6
59
0
-81
0
0
0
-52
-109
0
0
-42
0
0
24
-9
28
8
-5
87
-21
-2
0
25
51
17
-2
106
0
0
27
-55
1
23
25
-3
0
-24
-22
33
-11
24
0
-15
-37
0
10
-22
-35
63
33
26
-135
0
-5
-50
-3
1
0
-16
0
-2
2
17
-1
1
-34
0
-1
0
-1
-7
0
14
-81
16
0
-5
0
0
12
190
-32
-72
0
0
-68
-17
-60
87
97
-27
74
-34
16
0
46
12
0
0
-31
-24
29
137
1
30
-38
23
0
-33
9
-21
-28
57
67
8
0
-1
-150
19
8
0
-8
0
0
-10
0
65
0
-69
0
-2
4
18
-85
0
-18
0
0
0
-2
-26
0
-9
38
7
0
-21
0
0
58
15
-67
-43
0
0
-21
42
25
1
-78
-2
0
-19
-43
19
-8
37
-19
-8
39
0
21
19
41
58
12
0
-35
0
-65
-31
-28
0
0
-73
0
0
-9
3
5
0
-5
0
-31
0
0
10
0
-83
-22
-3
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
62
5
0
0
0
0
5
4
-17
0
0
0
0
0
0
0
0
44
0
0
34
0
0
57
0
0
0
7
-1
26
-31
0
0
0
0
-120
0
0
-4
5
0
0
-116
0
0
2
49
-1
-14
132
-24
0
0
84
176
9
60
-71
0
11
97
0
-12
-34
54
0
0
0
24
-31
16
31
0
0
0
0
-10
0
0
0
0
-9
0
-4
0
-1
-10
0
0
0
-1
2
27
-36
-40
61
0
0
60
-12
0
-6
-23
0
0
-55
48
0
31
40
110
0
69
46
0
0
14
0
-5
96
-50
0
0
-10
-12
18
-5
6
0
0
15
0
0
-26
33
0
42
-11
-1
0
0
94
0
0
0
0
7
0
28
10
10
0
0
0
0
-4
-4
21
0
34
0
0
46
0
5
10
-5
0
-29
34
0
-6
3
0
-23
-25
-12
0
-1
3
-9
0
3
-163
0
0
-17
0
-1
-38
-57
0
0
-17
-2
0
0
54
0
-4
11
-5
0
0
17
0
3
16
-32
0
0
-46
0
3
0
0
0
0
106
-20
-3
3
1
0
0
-40
0
-65
0
0
0
-5
-71
0
0
0
16
0
0
60
0
-39
6
0
0
0
22
0
0
-9
-19
45
0
-68
0
-11
0
2
0
0
33
0
0
-12
5
0
0
92
0
35
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
-2
0
0
-26
0
0
0
0
0
0
6
0
-12
0
0
-38
0
0
0
-44
0
-4
-40
0
0
0
-6
0
-28
-65
-11
0
0
151
50
4
-11
77
0
0
0
0
22
22
0
0
0
0
50
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
61
0
0
4
0
0
0
0
-8
-8
-36
-3
8
0
0
-18
49
12
0
27
0
0
99
-35
0
47
-64
-55
2
-65
-45
0
0
44
0
0
16
-79
0
0
-17
-2
0
-1
15
0
0
2
0
0
0
-50
0
-60
0
9
40
0
12
0
0
0
0
0
0
-6
18
3
0
0
0
0
-8
0
0
0
0
0
33
-67
0
0
-7
-16
0
-1
20
0
15
19
0
-26
-9
-9
0
-1
-55
0
0
0
-43
0
0
-2
0
3
0
-39
0
0
11
165
0
0
19
0
0
9
0
0
0
-79
0
0
0
2
-4
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
66
-15
57
0
0
0
0
-2
0
-7
-3
0
9
-6
67
0
-14
-33
0
-1
0
12
0
0
0
14
0
0
-17
0
0
-4
0
0
0
142
0
0
0
20
-5
0
-50
0
14
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
-79
0
0
0
0
0
-2
0
-18
0
0
0
0
0
0
0
0
-23
0
0
-43
0
0
70
0
0
0
0
0
23
-19
0
0
0
0
-1
1
7
0
102
0
-1
-12
0
0
0
56
-2
93
-160
26
-2
0
-22
62
11
102
23
0
0
0
-5
54
-8
-17
0
1
0
125
52
-2
0
0
0
-14
0
6
0
-7
0
0
0
3
-18
0
0
-47
0
0
0
-14
-11
-38
-33
-56
-17
0
0
66
-48
-4
0
74
0
0
-65
41
0
-37
85
9
0
59
-42
0
0
-24
0
0
111
47
0
0
-6
70
0
38
-39
0
0
-1
0
0
0
2
0
71
0
-17
0
0
-105
0
0
0
0
-17
0
-14
11
-5
0
0
0
0
-22
-23
0
6
0
0
16
12
13
0
-11
29
0
24
-7
0
-12
34
0
0
-30
-29
0
-1
-131
0
-4
-13
8
0
3
-7
5
2
18
-45
0
0
0
22
0
-12
-11
0
0
0
0
-3
0
75
0
20
0
-13
-25
0
-50
0
0
0
0
0
0
17
-1
0
0
0
0
0
16
0
-29
0
0
0
-1
76
0
0
6
-1
0
0
-54
0
0
0
0
-1
-7
-78
0
0
2
1
0
-4
-79
0
-25
0
0
0
0
-90
0
0
3
3
0
0
39
0
-37
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
-2
0
-6
0
0
-2
0
-38
0
0
0
10
0
0
30
0
0
-17
0
0
0
10
-5
33
0
0
3
0
16
8
-7
0
20
4
0
-7
-31
-18
0
0
45
0
6
-12
-13
0
0
23
0
-51
-19
38
13
0
66
0
-29
-27
-2
0
4
-130
0
-52
-37
-17
0
0
16
0
11
-19
8
0
0
0
0
-2
0
53
-61
0
0
0
-2
0
-50
12
-94
20
0
0
-74
-29
-15
0
0
0
-11
-22
-11
0
-148
-38
0
-10
5
49
4
4
33
0
4
10
3
0
0
40
0
32
-24
-25
0
0
35
0
39
-13
-130
0
-82
-32
0
0
-27
38
0
-4
0
0
-58
0
4
-29
46
0
0
-2
0
-54
50
12
2
0
0
-113
-40
-15
49
-26
0
0
-25
33
0
15
32
0
19
10
61
5
0
-13
0
55
-3
-19
0
-1
63
0
-42
-25
16
0
0
66
0
-9
-5
70
0
0
42
0
42
0
44
0
0
-1
0
-3
0
20
3
0
0
0
28
14
-47
28
0
-4
0
0
0
76
5
-110
-19
0
0
-5
-21
0
43
0
1
75
1
68
1
-25
64
0
12
-6
-77
0
5
-69
0
-28
-11
47
0
-45
-57
0
-1
0
55
0
0
-3
0
108
0
35
0
-83
-3
0
-35
0
-10
3
0
20
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-23
0
0
0
0
0
-3
6
0
7
-1
40
0
0
0
0
68
0
0
0
0
0
18
0
0
-5
0
8
67
15
0
5
0
0
46
16
0
31
8
3
0
-35
-14
0
0
-63
0
0
-76
-22
0
0
-87
-6
0
-12
-28
-27
0
19
12
0
15
-29
0
0
-10
-44
-2
66
95
0
37
14
0
0
-10
-79
0
0
8
-2
14
0
0
13
0
0
0
55
2
74
74
-24
-33
0
0
26
60
7
0
35
0
0
-47
-11
0
95
-9
-10
0
-56
-45
0
-10
-32
0
0
-35
-105
0
37
-52
-42
0
-15
-67
0
2
61
0
0
-19
-43
0
23
98
-31
0
-1
61
0
0
-1
0
0
0
23
-28
16
0
-13
0
0
99
-36
0
5
0
0
155
33
18
59
46
-50
0
-31
-33
0
53
7
0
0
94
-21
0
0
-17
105
0
33
-55
23
40
-16
0
0
-7
-52
0
-1
39
36
0
21
25
0
0
24
0
0
0
2
0
0
0
48
0
0
45
-11
0
0
-3
0
0
69
27
0
0
1
0
-8
13
-18
1
17
0
0
-2
-60
-7
0
-70
84
0
26
-1
0
16
34
-3
0
39
-43
0
10
40
29
0
0
-23
0
-4
-66
0
0
0
-37
21
0
26
2
0
0
58
0
45
0
0
0
0
-25
-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
0
0
0
0
0
0
0
0
0
73
7
0
18
-13
25
0
0
0
-14
1
0
57
0
0
-27
0
0
0
-42
0
-17
-12
0
1
0
0
-57
-8
-16
0
5
-170
-34
-51
53
-1
0
-110
-1
-21
-233
11
17
0
-102
-9
14
-162
-6
1
0
-39
-2
-8
0
-39
0
0
84
-19
44
0
32
0
0
35
17
30
0
43
0
0
1
-12
-3
0
0
-204
0
29
-6
-93
0
-10
77
-30
-76
-12
0
-8
-2
0
0
55
0
0
-89
-25
-8
-131
-4
29
20
26
2
-3
0
-23
0
23
-25
25
0
2
26
-25
23
0
-36
0
-1
21
0
-35
0
4
0
-6
-40
-16
-8
0
7
0
0
-25
0
-3
0
20
-29
40
0
-13
0
0
-55
-5
0
-1
-1
0
0
-85
-33
-40
-27
4
15
0
-43
0
0
-130
0
-36
7
-6
-6
82
49
41
-83
7
0
0
20
59
-11
19
15
-23
0
0
7
-42
-46
0
-3
1
0
4
0
75
0
-20
0
0
-3
-28
18
0
-18
0
0
0
71
-22
0
-105
11
0
4
-96
11
0
-44
0
15
53
-8
0
0
-46
0
-1
83
-3
-19
15
-19
0
5
5
3
35
0
-14
-6
5
156
-85
-42
0
-31
0
-84
-28
0
-2
0
-12
0
-18
25
-100
14
0
14
-1
137
-32
-18
-38
0
-83
-19
0
0
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
-15
0
0
0
0
1
0
5
0
1
0
0
-8
0
0
-125
0
0
0
0
0
35
-34
0
-4
0
0
-20
2
-12
-4
50
-11
0
-80
47
-1
0
23
0
-5
-32
-26
0
-33
22
-12
13
0
-80
0
0
83
-3
15
91
0
1
-2
-7
0
67
-4
4
0
0
0
0
-11
0
13
0
0
0
5
12
0
0
62
0
0
0
-6
0
-46
-15
24
65
0
0
91
-110
9
4
-53
0
0
-28
9
0
26
99
-40
0
-80
5
0
0
41
50
-1
-59
29
0
0
-50
-9
0
9
0
0
9
-30
-2
1
1
-44
0
-27
0
-3
0
0
95
0
0
0
-3
12
0
45
13
12
0
-4
0
3
-25
20
12
0
0
0
0
-18
-14
-46
-26
52
53
46
4
0
41
15
0
0
114
55
7
-107
-30
28
-3
4
20
0
3
21
0
0
-10
0
0
0
-13
-22
-22
0
-59
3
0
0
-2
-11
0
69
0
0
0
27
-11
0
37
0
0
0
-7
0
0
1
-29
0
0
0
0
-3
-64
5
19
1
0
0
4
-19
-5
0
7
-3
0
-24
60
-9
2
-11
0
0
-15
84
0
18
-56
-35
0
0
0
0
15
13
0
0
0
2
0
0
0
42
0
0
-9
0
38
0
-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
-28
0
0
-1
0
0
-5
0
0
0
0
8
-1
-6
0
4
0
0
-28
1
0
0
37
0
0
-17
3
0
0
-10
0
0
-14
0
0
0
0
-8
-4
22
-4
0
0
0
0
-25
-1
0
0
0
0
0
39
0
0
0
0
0
0
-24
0
0
0
0
0
0
-34
0
0
-9
0
0
0
2
0
-49
0
-4
19
0
0
-5
-46
0
0
68
0
0
13
97
0
-4
-1
0
0
-12
-6
0
0
-3
0
0
0
37
0
0
0
0
0
0
-28
0
0
21
0
0
0
1
0
-38
0
-3
0
0
-59
0
0
0
0
0
0
20
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
2
0
0
0
-103
0
0
-15
0
0
0
36
0
0
-6
0
2
0
16
0
0
0
0
0
0
-15
0
0
5
16
1
0
32
0
0
0
0
0
0
-17
0
0
0
0
0
0
-63
0
0
0
0
0
0
5
5
0
0
0
0
0
2
0
-4
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
0
0
0
0
0
20
0
14
38
0
0
0
-19
0
0
0
0
0
0
101
0
-10
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
-29
0
0
0
0
0
-21
0
0
0
0
0
0
-72
0
0
0
0
71
0
0
0
-91
0
0
-157
0
0
0
-2
0
0
15
-1
0
0
-1
-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
-1
0
0
-2
0
0
0
0
0
-95
-1
12
-2
0
0
-7
8
0
0
2
0
0
-1
39
0
-3
-9
-1
0
33
-75
0
0
-1
0
0
-1
16
0
0
-2
0
0
0
-73
0
0
0
0
0
0
0
0
104
0
-1
0
0
-22
0
0
0
0
0
0
-144
-1
0
0
0
0
0
9
0
0
0
0
0
0
-28
0
0
0
-1
0
0
-70
0
0
0
0
0
0
79
0
0
-1
0
0
0
-28
0
0
-1
0
0
0
-7
0
0
-1
0
0
0
-15
0
0
0
0
0
0
47
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
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
45
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
67
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
63
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
27
0
0
0
37
0
0
-103
0
0
0
-3
0
-3
-30
47
0
0
-4
19
-1
-11
-7
0
0
-2
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
-1
0
0
0
0
0
-10
0
0
0
-9
0
0
0
0
0
-89
-1
1
-1
0
0
-3
-8
0
0
3
0
0
-11
0
0
-15
14
0
0
12
9
0
0
0
0
0
0
22
0
0
5
-3
0
4
-29
0
0
-8
0
34
0
51
0
11
0
-1
0
0
-26
0
0
0
0
0
0
29
-1
-4
0
0
0
0
-59
0
0
0
0
0
0
-51
0
0
0
0
0
0
-36
0
0
0
0
0
0
-24
0
0
-1
0
0
23
-61
0
0
1
6
0
0
0
0
0
0
-13
16
0
-3
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
33
0
0
0
0
0
0
7
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-10
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
25
0
0
0
0
0
0
0
0
-20
0
0
9
0
0
2
0
0
0
0
0
3
12
0
0
0
0
19
0
0
0
-39
0
18
-74
0
0
0
5
0
0
-82
0
0
0
65
0
0
-5
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
-57
0
0
-6
0
0
0
0
0
46
4
0
0
0
0
-1
-19
0
0
53
0
0
-19
50
0
55
-19
0
0
-15
-77
0
0
0
0
0
1
-62
0
0
-38
0
0
0
-103
0
0
-5
0
0
0
-18
0
-17
0
0
0
0
35
0
0
0
0
0
0
-38
0
-1
0
0
0
0
25
2
0
0
0
0
0
40
8
0
0
0
0
0
-39
0
0
-7
0
0
-4
-81
0
0
-5
0
0
0
26
0
0
-5
0
0
0
4
0
0
-14
2
0
0
-29
0
0
0
0
0
0
-52
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
3
0
0
0
0
0
0
10
0
3
0
0
0
0
63
0
0
0
0
0
0
6
0
-8
0
0
0
0
-4
0
0
0
0
0
0
89
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
17
27
0
0
0
-3
0
0
0
0
58
0
0
0
0
0
-43
0
0
0
0
20
-33
-18
0
10
0
0
47
0
41
5
34
1
0
-16
17
0
0
-10
0
5
-62
-42
0
0
-7
-9
0
-33
47
15
0
0
0
0
93
5
0
0
14
91
0
44
-32
0
0
13
17
13
0
-7
0
0
0
-15
9
0
0
-79
0
0
0
0
2
41
-71
-93
48
3
0
3
52
-4
0
-15
0
0
-9
23
0
-34
-7
46
0
-31
-29
0
0
1
0
0
-65
-66
0
-5
29
-53
0
5
-164
0
0
7
23
0
-15
-2
0
4
44
-3
0
0
64
0
-2
0
0
0
0
-53
-132
27
0
31
0
5
44
32
0
-5
1
0
9
63
41
8
78
53
0
-59
36
3
-44
19
25
0
-8
1
0
-20
25
-63
0
108
-21
-3
0
25
-9
0
2
36
0
0
-11
37
0
10
58
0
5
126
0
0
3
29
0
-3
-9
64
0
0
-26
-27
0
0
0
0
0
33
-22
-1
14
-1
0
25
-85
0
-65
22
0
0
0
8
0
0
-2
-32
0
20
19
0
-13
10
0
0
-9
14
-13
2
68
-70
0
-1
1
3
-44
77
0
0
0
19
0
0
-8
26
0
0
11
0
7
35
-15
0
0
-88
-60
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
-62
0
0
0
0
0
50
0
0
0
0
0
0
-19
0
0
0
0
15
0
0
0
44
0
0
-11
0
0
0
0
0
-10
9
124
0
0
159
-7
-8
0
10
0
0
0
0
-4
0
0
0
0
-15
0
-1
0
0
0
0
-3
0
15
0
0
0
0
0
-11
-99
0
0
-3
0
0
0
10
0
-17
-2
-1
11
0
0
-1
-131
0
0
1
0
0
-16
-8
0
-24
-30
-87
0
-2
-25
0
0
0
0
0
0
72
0
0
-8
0
0
0
-87
0
0
55
0
0
0
-10
0
143
13
-38
0
0
-111
0
0
0
0
0
0
11
-1
0
0
0
0
0
-53
0
0
0
0
0
0
-47
0
0
-3
0
0
0
71
0
0
0
0
0
5
-15
0
0
-10
-5
0
-16
-35
0
0
-16
0
0
0
12
0
0
10
0
0
0
-157
0
0
-13
0
10
0
10
0
0
0
0
-6
0
-46
0
0
0
0
-14
0
12
0
0
0
0
0
0
-4
0
0
23
0
0
0
-21
0
0
0
0
0
0
-58
0
0
0
0
0
0
-77
0
0
0
0
0
0
-84
0
-3
0
21
0
0
-23
0
0
0
-4
0
0
-206
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
0
0
0
0
0
0
0
0
0
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
4
0
0
-4
0
0
-8
0
-9
8
13
0
0
0
0
-82
-6
-2
-1
-59
-2
0
-27
0
0
2
-65
0
29
-7
-31
15
0
-41
26
-13
80
-6
0
0
-3
0
-1
7
-11
0
4
36
-1
9
27
0
0
-1
9
-14
68
0
30
0
0
0
159
60
0
29
63
0
0
0
-5
4
24
-2
56
-25
-9
0
32
2
4
0
19
0
0
35
-61
-8
39
18
86
0
-65
72
0
-23
-43
-8
0
18
-43
42
3
91
99
-3
5
-82
0
0
-7
0
-3
0
0
3
55
0
-15
50
0
-47
0
10
0
-5
-9
0
48
-10
-16
0
56
26
0
-16
-98
0
-6
12
0
-2
10
-11
4
-67
36
0
4
-37
23
34
41
0
-9
43
13
-5
2
-18
185
0
90
-13
0
-22
6
-32
0
-40
-37
0
0
-37
12
-10
0
0
-15
0
-4
-5
-21
0
77
0
0
0
-3
-21
0
28
0
0
0
-2
0
0
-72
6
10
15
-10
0
0
43
-10
-14
-20
1
0
-23
5
7
-58
7
-7
0
-4
-21
8
39
-24
0
0
-3
-95
0
31
9
3
0
0
68
0
47
-53
-23
0
-1
0
0
-2
9
-32
-11
0
-22
0
-67
0
0
0
0
-33
-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
6
0
0
0
0
0
74
0
0
0
0
0
0
-55
0
0
0
0
1
0
0
0
-137
0
0
67
0
0
0
-8
0
0
-16
0
0
0
-2
-6
7
-10
0
0
0
-4
0
0
-14
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-6
0
0
0
0
0
-16
-9
4
24
0
0
0
45
0
0
-7
0
0
-4
4
0
62
36
0
0
40
21
0
0
1
0
0
7
-12
0
0
2
0
0
0
18
0
0
0
0
0
0
-4
0
-11
0
0
0
0
-48
0
0
0
0
9
0
44
-14
0
0
0
-5
0
16
26
0
0
0
0
0
13
0
0
0
0
0
0
-85
0
0
8
0
0
0
30
0
-12
99
0
0
5
-45
0
0
-9
0
0
0
86
0
0
-45
-9
13
0
-126
0
0
0
0
20
0
37
0
0
0
0
0
0
-56
0
0
0
0
35
0
36
-1
0
0
0
0
0
-1
0
3
0
0
0
0
-7
0
0
0
0
0
0
41
0
0
8
0
0
0
27
0
-19
12
0
0
0
22
0
3
0
0
4
0
61
0
0
0
0
0
0
-22
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
-39
0
0
1
0
0
-88
0
0
0
0
0
0
5
0
0
0
0
-12
0
0
0
-24
0
0
-63
0
0
0
-5
0
0
28
12
0
0
1
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-2
0
-2
0
0
0
0
0
0
10
0
0
-4
0
0
0
0
0
15
1
-6
5
0
0
-2
-106
0
0
-5
0
0
23
-13
0
-3
-6
-1
0
-5
-47
0
0
-4
0
0
0
-16
0
0
-2
0
0
0
68
0
0
-1
0
0
0
38
0
-13
0
-1
0
0
-11
0
0
0
0
0
0
-39
-4
0
0
0
0
0
36
0
0
0
0
0
0
9
0
0
-1
-1
0
0
-84
0
0
0
0
0
0
66
0
0
39
0
0
0
-30
0
0
-1
-5
0
0
3
0
0
17
-1
0
0
67
0
0
0
0
0
0
-34
0
0
0
0
0
0
-150
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
4
0
0
0
0
0
0
-3
0
0
-10
0
0
0
42
24
0
0
0
0
0
-6
0
0
0
0
0
0
-84
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
-24
0
0
-2
0
0
-52
0
0
0
0
0
0
-89
0
0
0
0
-70
0
0
0
40
0
0
64
0
0
0
-17
0
-6
-28
-2
0
0
-4
26
-16
-20
10
0
0
0
0
-4
0
0
0
0
0
0
58
0
0
0
0
0
0
29
0
0
0
0
0
98
238
0
0
-4
0
0
0
0
0
-44
-5
4
-2
0
0
-2
-89
0
0
10
0
0
-95
58
0
-37
-11
-57
0
-34
53
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
-16
0
51
7
0
-46
0
0
0
0
0
0
-28
-4
0
0
-10
0
0
-81
0
0
0
0
0
0
-25
0
-7
0
-9
0
0
7
0
0
0
0
0
0
-51
0
0
-2
0
0
0
-56
0
0
-2
0
0
9
-77
0
0
0
-8
0
0
-32
0
0
0
0
17
0
5
0
0
0
0
-20
0
-81
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
-4
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
-51
0
-61
0
-24
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
0
-23
0
0
0
0
0
15
-39
0
9
0
0
-25
15
0
0
39
0
2
-57
-3
0
0
-22
0
90
-92
-3
0
0
-31
0
36
-13
2
0
0
-19
0
51
-7
-6
0
0
21
0
-26
3
2
0
0
12
0
-21
0
24
0
0
0
0
51
0
0
-69
0
0
0
-6
0
-51
-31
-18
71
0
0
2
16
0
10
2
0
-2
-70
39
0
96
-25
-8
0
12
-80
0
0
54
0
16
-11
-113
0
0
-68
0
21
87
4
0
0
-37
0
10
5
-6
0
96
63
0
85
0
8
0
0
0
0
15
0
-1
16
-6
0
0
0
0
-34
-34
0
0
0
0
121
48
5
31
64
0
-2
19
-59
0
0
-25
0
9
26
-72
0
0
40
0
-52
-38
46
0
0
-20
0
25
53
77
0
0
63
0
-1
0
-21
0
0
2
0
87
0
32
0
0
4
0
45
0
9
7
0
0
0
0
0
37
0
0
1
0
0
0
82
0
29
71
0
0
-3
-44
0
-5
-32
0
-3
0
-5
0
0
45
0
0
0
-11
0
0
16
0
0
0
89
0
-59
-55
0
0
0
16
0
0
-39
0
-18
0
51
0
14
0
0
-10
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
24
0
0
0
0
0
-19
0
0
0
0
0
-9
53
0
0
0
0
-16
0
0
0
-38
28
0
-68
9
0
0
52
0
0
-91
-1
0
0
-4
7
0
-19
-56
0
0
-56
0
3
-5
18
0
-9
-35
1
0
9
-1
0
0
0
0
0
0
-13
0
0
-2
38
0
0
0
7
0
0
0
0
10
-15
0
-16
-11
0
0
32
-11
0
0
-6
0
0
13
27
0
114
-9
-29
0
6
61
0
-2
39
0
0
-10
18
0
47
15
-28
0
-18
-19
0
0
-21
0
0
0
-54
0
-26
35
-13
0
0
84
0
0
0
4
0
0
-44
-109
102
0
20
0
0
17
2
0
-1
0
0
-12
-11
16
0
27
27
0
-7
63
0
0
64
0
0
64
14
0
10
41
-42
0
-58
-19
0
2
12
47
0
-35
0
0
-33
68
9
0
0
-39
0
0
-95
0
0
0
46
0
-23
-9
-46
0
0
-24
-1
10
0
0
0
0
-65
0
0
0
0
0
0
-59
0
0
43
0
0
5
29
1
39
38
3
0
18
36
0
-12
53
0
0
42
-25
0
-3
6
43
0
0
-17
0
65
24
0
0
0
6
0
0
-32
27
0
0
-4
0
128
0
0
0
0
-90
-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
-23
0
0
0
0
0
0
-67
0
0
0
0
-1
0
0
0
-46
0
0
30
0
0
0
-2
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
-4
0
0
0
0
0
-23
0
0
0
0
0
0
-41
0
0
17
0
0
0
-3
0
2
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
-3
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
0
0
0
-9
0
0
0
30
0
0
0
0
0
0
-2
0
0
7
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
-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
-1
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
-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
-130
0
0
0
0
0
0
-56
0
0
0
0
-21
0
0
0
-82
0
0
76
0
0
0
-31
0
0
-71
-8
0
0
8
-9
0
-15
-6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
-5
0
0
0
0
0
-56
-20
35
-6
0
0
-1
52
0
0
-1
0
0
-5
57
0
20
-17
4
0
-81
-49
0
0
10
0
0
0
75
0
0
10
0
0
0
-9
0
0
-6
0
0
0
7
0
-11
0
0
0
0
0
0
0
0
0
0
0
65
2
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-3
49
0
5
19
0
0
6
0
-1
-2
-47
0
0
8
0
0
0
-17
0
0
85
0
0
0
61
0
0
-3
7
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
15
0
-88
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
19
0
0
0
0
67
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
26
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
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
-30
0
0
0
0
0
0
-66
0
0
0
0
2
0
0
0
-128
0
0
-70
0
0
0
-2
0
0
18
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
30
0
0
0
0
0
9
-69
0
0
-10
0
0
1
-4
0
1
56
0
0
-2
-19
0
0
1
0
0
0
1
0
0
0
0
0
0
112
0
0
0
0
0
0
0
0
-3
0
0
0
0
-4
0
0
0
0
0
0
-19
-1
0
0
0
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
135
0
0
0
0
0
0
10
0
0
-1
0
0
18
36
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
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
-6
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
-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
-1
-4
1
-1
0
-48
-108
59
61
10
-22
-24
-11
39
-28
-37
-83
-44
-16
-16
14
-8
-5
58
47
-37
-49
-21
13
2
-62
-7
19
28
35
-27
3
-28
-42
20
7
36
-82
-40
-43
76
21
28
17
-48
-219
-22
67
-70
79
19
-64
30
-24
22
-70
-23
14
-23
17
-32
-26
-55
-4
-41
-94
-21
29
-15
-13
-96
-23
-9
-55
-149
-42
-33
-62
26
-5
-38
-103
-30
-27
3
-44
-1
-8
40
27
-8
-51
111
11
0
-12
-21
21
-14
29
41
8
18
125
44
61
-33
-6
33
65
-110
68
30
89
12
-9
98
-36
8
-54
-1
1
11
2
-18
8
-38
29
-3
-15
-27
-46
-42
-28
-16
4
-19
24
46
-39
-13
-11
17
-29
-61
36
-40
-4
13
-42
-11
-86
6
9
-12
34
-22
9
27
-42
-10
-50
-18
-60
-28
-6
16
33
-28
-27
-4
-10
-28
30
-28
4
18
25
-10
53
-88
-128
41
18
-12
1
-71
-30
18
-22
-31
23
-28
21
-55
-10
-48
-14
1
33
-91
7
-65
10
-118
71
-3
40
51
-59
-36
0
-34
6
-12
4
-44
110
18
36
-3
-13
-59
-24
-22
35
-3
-13
23
51
15
35
27
-20
17
-16
-80
15
21
28
-71
20
-7
-16
85
63
24
-32
23
-113
-29
-94
-69
-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
-53
0
0
0
0
0
0
-43
0
0
0
0
-1
0
0
0
-42
0
0
-46
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
-3
0
0
0
0
0
-37
0
0
0
0
0
0
-59
0
0
0
0
0
0
-41
0
0
-1
0
0
0
-82
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
46
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
54
0
0
0
0
0
0
88
0
0
0
4
0
0
0
0
0
5
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
0
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
-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
1
0
0
0
0
0
0
68
0
0
0
0
-5
0
0
0
-142
0
0
43
0
0
0
-9
0
0
-7
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
-5
0
0
-5
0
0
0
0
0
-84
8
0
0
0
0
12
65
0
0
25
0
0
-2
-10
0
0
14
0
0
0
-9
0
0
-13
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-15
0
0
0
0
33
0
0
0
0
0
0
-44
1
-1
0
0
0
0
25
0
0
0
0
0
0
-60
0
0
24
0
0
0
-4
0
1
0
0
0
0
48
0
0
0
1
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-78
0
0
0
0
0
0
-8
0
0
0
0
0
0
-64
0
0
0
0
0
0
28
0
0
0
0
0
0
56
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
27
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
0
-11
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
31
0
0
0
0
0
8
-35
0
2
0
0
49
-12
0
0
13
24
0
4
10
-4
0
17
0
0
-94
0
0
0
-30
34
0
-30
-41
0
0
17
8
0
103
10
-4
0
-48
75
0
-114
-61
0
0
16
-10
0
0
-9
0
0
0
-10
0
0
2
78
0
10
3
0
-16
-17
-77
-36
-7
0
0
85
54
-2
18
70
0
0
-39
87
-2
30
-29
43
0
-51
8
0
0
1
-15
0
-60
53
0
-18
-33
41
0
-65
4
0
22
39
-15
0
49
4
0
0
-22
5
0
0
22
0
7
-1
0
0
0
-18
-3
-2
0
18
0
4
6
17
0
50
0
0
-28
44
-11
55
-28
-183
0
66
49
0
-22
120
0
0
-10
16
-11
21
-21
4
0
-63
28
1
11
5
33
0
26
-9
0
0
-11
-36
0
33
40
-8
0
-27
0
0
0
-15
-5
0
-18
-145
0
0
-56
-9
-1
0
35
0
14
-27
-20
0
5
-39
0
-2
-47
-13
-74
99
0
0
-8
-2
0
13
52
8
0
20
16
3
23
-47
5
-1
-1
53
0
2
-26
-19
0
8
17
0
22
66
-7
0
-4
-6
11
-4
90
-55
0
0
-117
-4
-6
-12
-11
0
0
-3
-31
-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
-35
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
-4
0
0
-4
-1
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
-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
-6
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
-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
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-63
0
0
-19
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
-5
0
0
0
0
0
-27
0
0
0
0
0
0
-129
0
0
19
0
0
-2
-5
0
0
-4
0
0
31
21
0
0
0
0
0
0
-3
0
0
0
32
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
37
0
0
0
0
0
0
17
0
0
0
0
0
0
76
0
0
0
0
0
0
-12
0
0
0
0
0
0
36
0
0
0
0
0
0
-7
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
3
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
3
-165
120
-19
-108
24
-5
-40
79
-8
83
56
-1
-95
-40
-97
-30
0
-14
4
40
-69
42
-54
-9
-11
-4
31
-23
10
18
-2
-21
31
-41
-117
-107
4
-2
-1
-30
-5
-88
-7
-2
-61
12
-45
-29
-55
-13
-42
-3
3
-98
3
102
-91
-28
-28
31
-26
-18
-32
8
-17
-67
-24
-10
11
-78
47
-39
45
-21
-30
-40
67
10
-13
26
63
2
1
-30
-44
-33
-17
3
39
-5
-53
-49
-16
41
-25
27
-18
27
98
-46
20
-20
102
-2
-24
15
-80
-24
-10
20
-17
-36
3
7
-18
39
-62
-18
-6
12
-58
-23
-39
52
-13
3
71
31
1
-41
-26
-14
-52
-60
3
-3
58
-14
-27
-68
-39
-23
-15
-7
-20
-13
-18
-46
-26
14
104
-49
10
-9
-5
-35
-62
-6
-24
-8
91
188
9
-7
-7
-44
-5
13
12
15
-31
25
-25
19
-79
-14
-46
-31
14
-72
-9
-41
29
-86
9
31
32
-19
50
-15
103
-6
43
-15
-11
-114
-9
18
49
50
60
-31
-43
-23
-22
-8
-16
45
8
67
-51
-35
-66
82
-22
1
25
-80
7
15
48
52
-16
-16
-45
-18
46
56
25
-32
16
78
-20
-39
31
-23
-1
-72
31
-8
30
37
-15
-15
-89
44
-26
75
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-67
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
-2
0
0
0
0
0
-41
0
0
0
0
0
0
-73
0
0
-1
0
0
-1
-1
0
0
-1
0
0
-1
-2
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
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
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
-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
-1
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-6
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
-4
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
66
0
0
30
0
0
0
0
0
13
-28
3
0
0
1
0
18
12
-9
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
25
0
0
0
0
0
-40
0
0
-27
0
0
6
25
0
0
1
0
0
22
-36
0
17
5
0
0
27
-83
0
0
7
0
0
0
-43
0
0
10
0
0
3
-51
0
0
-8
0
0
0
0
0
-20
0
0
0
0
-77
0
0
0
0
0
0
127
10
24
0
0
0
0
13
27
0
0
0
0
0
28
0
0
2
0
0
0
-52
0
0
0
0
1
0
51
0
0
-12
0
0
5
-62
0
0
8
0
-5
5
-3
0
0
-5
0
0
0
-27
0
0
0
0
0
0
111
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
8
0
0
0
0
23
0
0
10
0
0
0
127
0
0
0
0
0
0
-13
0
0
-1
0
0
0
116
0
0
10
0
0
0
22
0
0
-5
0
0
0
-57
0
33
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
104
0
0
0
-124
0
0
14
0
0
0
12
0
0
-56
0
0
0
-1
-20
0
37
-13
0
0
0
0
0
0
0
0
0
13
16
0
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
15
7
-2
1
0
0
3
-42
0
0
-116
0
0
-2
59
0
3
-93
11
0
75
31
0
0
27
0
0
-5
-2
0
3
-41
-12
0
0
0
0
0
33
0
0
0
25
0
95
-4
0
0
0
27
0
0
0
0
0
0
-18
13
-5
0
0
0
0
12
-6
0
0
0
0
0
13
0
0
-3
-3
0
0
40
0
0
1
0
0
0
-23
0
0
-55
0
0
-11
-46
-1
0
48
0
0
0
83
0
0
25
-3
0
0
2
0
0
0
0
0
0
-60
0
0
0
0
0
0
-75
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
-35
0
0
0
0
0
0
46
0
13
-5
0
0
0
-17
0
0
0
0
0
0
54
0
7
-2
0
0
0
-16
0
0
0
2
0
0
-59
0
25
0
0
0
0
-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
56
0
-4
11
6
0
0
61
7
0
0
-19
0
0
-63
0
0
0
56
-27
0
-21
0
0
0
0
0
-10
0
-2
0
0
0
0
10
0
0
0
0
0
0
0
0
-15
0
0
0
-19
18
0
0
131
0
0
0
13
0
12
27
-86
63
0
0
-12
7
-5
4
-43
0
0
87
42
0
13
-91
-23
0
-6
24
0
1
-82
0
0
0
21
0
0
2
0
0
0
120
0
0
-9
0
0
0
-36
0
-14
0
4
0
0
71
-4
0
0
0
-1
0
6
-5
-24
0
0
0
0
165
-7
0
7
0
0
-9
-30
0
-8
35
-3
0
-2
-60
0
42
-2
0
0
-49
-2
0
-7
-51
0
0
0
-54
0
0
19
0
0
1
15
0
0
2
16
0
0
-99
0
-2
0
0
0
0
119
0
0
0
0
1
0
-42
0
0
0
0
0
0
28
13
-1
2
0
0
0
22
0
4
0
0
0
0
91
-18
0
0
0
0
0
6
0
3
0
0
0
0
57
0
0
0
0
0
0
-36
0
-9
11
0
0
0
113
0
3
0
0
0
0
57
0
3
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
-75
-1
-20
1
41
-6
53
22
-2
-5
0
103
2
23
73
-1
9
-8
-68
-21
51
-91
-6
15
0
0
0
87
13
0
0
0
-24
-36
-29
-18
2
0
0
-8
-2
-95
0
7
0
0
0
-4
11
0
0
-103
0
0
0
50
-24
0
1
44
-24
0
0
9
-8
38
0
-6
0
-3
48
52
-1
-32
113
-31
0
-3
19
5
2
-75
-4
5
-48
7
-1
0
37
3
6
14
-43
0
0
-15
0
-17
0
-50
0
103
25
29
0
0
-97
0
-1
0
0
9
0
3
-46
11
0
0
0
0
0
-89
14
-1
0
0
5
-18
-29
-71
-37
25
0
26
58
0
14
32
-1
0
40
-22
5
4
-102
51
-29
-12
13
5
80
-35
0
0
-10
-53
0
0
-215
102
4
0
-64
0
2
0
0
-23
0
-48
3
0
1
-93
-25
0
-9
28
0
0
0
0
20
0
-7
-3
-20
1
0
0
10
-13
61
11
0
0
-4
90
0
-10
-12
0
0
7
-132
-4
19
24
0
-5
3
-64
-3
0
44
32
-8
0
32
3
-69
0
0
4
0
-76
0
0
-1
35
2
0
-11
0
-41
-1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
82
-164
79
92
-45
22
46
-2
103
-7
61
79
63
9
31
41
13
-15
31
15
99
-7
-27
-9
-33
46
-74
42
-48
67
-33
-23
-11
-115
-6
-75
-89
-43
-30
-34
-69
3
-69
-149
-102
-4
-6
-61
-53
-5
-71
-52
58
-67
93
45
-254
-67
27
49
6
90
16
-32
-77
-6
-15
8
24
8
40
79
46
-2
-19
-5
13
2
-24
59
30
-25
-13
-3
14
-19
24
18
25
-81
12
-52
-12
-27
15
-2
-45
2
-19
-20
-9
5
73
-35
-9
-55
-44
-142
-22
33
-19
48
-69
-32
-47
-31
-53
-30
-9
-172
-112
-97
102
48
-5
-47
-23
9
20
-21
-6
-5
14
98
-75
-15
-84
91
42
11
16
55
22
20
18
-49
-18
-79
45
-25
18
54
3
6
-6
-29
-27
13
0
-42
-10
-64
-3
-41
-2
-31
-2
-6
1
-56
-28
27
-8
-101
13
13
-9
-24
-46
82
-112
-16
-70
-39
-24
39
-52
19
-5
3
-28
-15
89
-21
46
14
49
36
12
40
-17
117
-56
84
46
48
-37
0
-88
5
-10
-16
-18
35
-50
6
-5
-36
-36
5
57
-48
-62
31
12
-101
-98
-11
-33
-52
11
44
-9
10
-6
4
-58
-24
29
-12
-59
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
0
0
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
32
0
0
0
-21
0
0
-8
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
-11
0
0
-1
0
0
0
25
0
0
-15
-48
14
0
0
9
-64
-18
0
0
0
0
37
-14
0
7
4
0
0
-23
-41
0
0
16
0
0
0
-15
0
0
15
0
0
0
-21
0
0
0
0
0
0
15
0
7
5
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
84
0
0
-4
0
0
-1
39
0
-8
6
10
0
12
45
0
0
0
0
0
35
51
0
0
-15
0
0
0
33
0
0
0
0
0
0
69
0
0
0
0
0
0
-23
0
0
0
0
16
0
43
0
0
0
8
8
0
-63
0
0
0
0
0
0
-13
49
0
0
0
0
0
-3
0
23
0
0
0
0
-26
0
0
0
0
0
0
7
0
0
0
0
0
0
38
0
0
0
0
0
0
40
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
-5
0
0
-108
6
-11
0
110
0
-3
2
4
0
0
27
-13
5
0
1
0
-5
0
0
-3
-2
0
0
0
0
0
-8
0
3
0
0
0
0
1
0
-2
0
0
0
-9
-98
0
0
198
0
0
0
-9
0
36
31
-75
119
0
0
-11
-28
3
4
-32
0
0
-42
8
0
0
93
4
0
-59
127
1
-11
140
0
0
-13
-17
0
0
9
-3
0
0
0
0
0
15
0
0
1
7
0
113
0
16
0
0
19
0
0
0
0
-3
0
-3
3
20
0
0
0
-3
105
-63
0
0
0
0
16
-43
-9
0
63
-2
4
0
19
0
0
-21
0
0
6
116
-15
0
-33
0
-14
0
-77
0
0
-12
-4
0
0
48
0
0
-21
3
0
0
36
0
0
-8
0
37
0
9
0
0
0
-6
3
0
-56
0
0
0
0
0
-7
7
1
0
4
0
0
4
21
0
55
0
0
0
0
-31
1
0
0
0
0
0
-84
-2
-12
-1
1
0
0
-59
0
0
-14
9
0
0
-124
0
-67
-3
0
0
0
-26
0
0
3
1
0
0
-69
0
-15
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
-11
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
4
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
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-19
0
0
33
0
0
0
12
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
35
0
0
0
0
0
-34
-37
6
1
0
0
-10
105
0
0
0
0
0
-4
17
0
15
-43
0
0
-13
-21
0
0
0
0
0
8
-37
0
0
0
0
0
0
-12
0
0
-22
0
0
0
-48
0
-7
0
-9
0
0
-94
0
0
0
0
0
0
-28
0
0
0
0
0
0
-15
46
0
18
0
0
12
27
0
-2
0
0
0
2
-25
0
0
8
0
0
-5
95
0
0
0
0
0
0
-39
0
0
0
0
0
0
220
0
0
0
11
0
0
-23
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
-111
-2
0
0
0
0
0
-1
0
-1
0
0
0
0
-28
0
0
0
0
0
0
-6
0
-9
0
0
0
0
59
0
0
0
26
0
0
-29
0
6
0
0
0
0
-15
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
52
175
79
19
96
-2
28
35
-16
39
-85
-45
-50
-24
10
-54
-9
61
-42
-59
-25
-60
5
-18
-16
-51
-24
-29
70
2
-5
-75
-68
43
-31
-1
-15
19
-2
-8
-11
-23
-1
7
5
0
-2
-56
-43
20
41
-21
12
61
70
3
103
51
-145
83
54
-28
-39
9
16
-50
33
-41
30
80
-8
-10
25
137
18
-65
46
-77
-45
4
35
-58
2
-29
-34
-14
-37
4
-7
9
-22
-6
-20
3
-22
-21
29
3
7
-11
-26
2
42
22
-32
1
39
76
-5
-3
77
-25
26
50
67
18
53
15
21
59
6
127
-31
54
9
-33
-25
8
42
143
54
-7
108
-76
-5
-41
-29
-3
-14
-153
-47
-30
2
15
20
53
119
-37
-31
91
-53
-9
17
21
21
-9
-2
19
-40
-2
70
23
-23
55
-56
39
65
31
0
17
51
0
-1
-6
39
100
18
-80
9
-45
-30
-5
-6
31
-86
8
33
121
44
-113
33
39
-31
-12
-71
159
7
2
-52
11
56
55
44
3
-49
49
-24
28
7
-26
-1
-8
-123
47
3
-34
-2
-27
-36
-25
34
27
30
5
8
4
-3
-100
-21
-14
-20
-7
16
-51
10
1
-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
-72
0
0
0
81
0
-17
-45
-29
0
0
47
11
40
110
15
4
0
0
0
20
31
0
-1
0
-8
0
-22
0
-12
0
-5
0
0
-30
0
0
0
0
0
-15
-81
0
0
123
0
0
0
1
15
-6
59
34
-3
0
0
-95
0
0
0
103
0
0
37
-7
0
-12
13
5
0
-39
-23
0
3
-44
5
0
-17
-45
0
0
5
5
0
3
-34
0
0
-5
0
0
-11
-72
0
33
-5
54
0
-11
-34
0
0
1
0
0
0
-38
14
0
0
0
0
0
-53
14
0
12
0
0
19
0
-17
-8
11
-17
0
-3
48
0
0
39
-11
0
-10
-41
0
0
-20
-6
0
18
-78
0
0
-69
10
-8
-6
-44
0
20
55
-1
0
0
104
0
0
14
0
0
0
63
0
0
0
0
-15
0
12
0
0
0
0
0
0
-12
-3
-4
-8
0
0
0
0
7
51
-3
0
0
0
58
0
0
-34
0
0
-1
34
0
-2
-3
0
0
-5
-59
0
0
-14
-28
0
0
4
7
-18
51
0
0
0
26
0
0
-20
-23
0
0
6
0
-36
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
57
-31
0
0
28
0
34
25
1
0
-3
73
11
0
46
17
0
0
8
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-5
0
44
0
0
0
0
-27
0
0
24
0
0
0
0
27
103
12
-73
-45
0
0
-61
-89
0
-2
-61
0
0
140
-105
0
12
-44
1
0
-5
-16
0
0
149
0
0
12
35
0
0
-4
2
0
0
-58
0
0
-3
0
0
0
116
0
-15
-21
0
0
0
119
0
0
0
0
-5
0
39
0
0
0
0
0
0
90
21
0
5
0
0
-17
37
0
10
-40
15
0
-18
-42
0
0
-5
0
0
7
-39
0
-12
-17
0
0
0
51
0
0
7
0
9
0
-13
0
0
10
8
0
0
29
0
0
0
0
-8
0
36
0
0
0
0
-15
0
71
0
0
0
0
0
0
103
-18
0
0
0
0
0
143
0
-37
0
0
0
0
50
0
0
17
0
0
19
-36
0
-6
0
0
0
-3
-11
0
56
24
0
0
-4
-48
0
-21
0
2
0
0
-67
0
0
0
33
0
0
-61
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
-53
0
0
0
-19
0
10
110
-25
0
0
16
-13
50
40
-9
0
0
35
0
39
-6
-27
0
0
0
-14
0
0
10
0
0
0
0
9
0
-1
0
0
0
0
-78
0
0
20
0
0
0
2
0
51
-44
57
100
0
0
-6
103
0
0
15
0
0
-21
3
0
-51
-73
0
0
86
6
0
9
-6
0
0
0
10
0
0
38
-4
0
0
-46
0
0
48
0
0
0
-82
0
36
0
45
0
0
62
0
0
0
0
0
0
31
-5
4
0
0
0
0
-17
-2
0
5
0
0
3
165
0
6
-15
4
0
0
119
0
0
-1
0
0
10
-49
0
0
6
1
0
0
0
0
0
-15
0
0
0
47
0
0
-23
-12
0
0
-95
0
0
1
0
0
0
55
0
0
0
-9
-12
0
43
0
0
0
0
0
0
-59
7
0
0
0
0
0
7
0
2
0
0
0
0
-21
-2
4
0
0
0
12
7
0
1
0
0
0
0
12
0
0
0
-20
0
0
-32
0
-8
1
0
0
0
-73
0
0
5
32
0
0
-19
0
-28
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
98
-26
19
49
57
73
-4
7
97
-69
47
-17
-62
12
-4
83
-78
17
25
-4
-26
-56
-23
21
21
-23
-32
14
20
-59
-38
-12
36
-15
-47
-5
-39
-39
12
42
-25
-41
80
-10
-59
-20
-104
-27
92
59
94
23
-15
-72
-49
48
85
3
23
57
-49
22
55
48
-27
31
3
31
144
32
-31
46
-20
-39
77
116
-13
-22
-14
87
-5
35
4
-2
-18
-5
-99
-31
-40
-40
-42
-30
-36
-14
34
-9
-88
-75
-8
-67
67
11
-42
-21
-36
23
6
-2
12
-47
21
-82
38
61
-69
-3
-96
-43
32
34
17
43
43
-13
24
61
10
33
95
24
-43
128
19
-22
3
-29
10
-36
7
0
0
-15
37
0
-26
69
-9
9
-65
38
-18
32
-29
-22
-2
83
-43
-15
27
53
-34
-5
-106
-39
-48
-2
-4
-85
19
-95
-82
-91
54
-32
130
20
14
8
-104
2
27
30
16
15
-32
36
-57
18
-40
6
-27
-21
4
-1
73
31
38
-29
-55
43
109
-34
114
-3
-33
-13
-9
-13
-41
-76
6
24
49
-37
-74
-89
-58
-26
-56
22
-12
8
-52
-23
-8
36
-4
99
-11
-5
-67
12
81
12
-45
-11
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
97
0
0
0
108
0
1
-88
4
0
0
24
0
56
-76
-30
0
0
14
0
84
13
-8
0
1
23
0
45
0
-9
0
0
-6
0
-13
0
1
0
0
0
0
14
0
0
-20
0
0
0
80
0
58
-27
-72
33
0
0
47
90
-2
-20
26
0
0
-100
80
0
31
-55
0
0
-60
-101
0
-6
50
0
0
20
-107
0
0
-14
0
4
3
-23
0
0
2
0
0
0
-26
0
-33
13
0
0
0
-33
0
0
0
0
-9
0
58
0
-23
0
0
0
0
-94
8
15
-16
0
-3
10
47
0
-13
167
58
-6
48
-73
0
-2
19
0
-2
75
-94
0
0
-38
0
32
73
-15
0
0
35
-1
0
-17
29
0
0
-23
4
-25
19
-10
0
0
-9
0
12
0
-58
0
0
0
0
-37
0
31
0
0
0
0
-2
0
17
-27
0
0
0
0
4
-35
-13
-67
0
1
0
7
-75
0
-13
22
0
4
-7
-33
0
17
-65
0
-18
-17
27
0
-2
77
17
-4
-12
16
0
-42
-16
0
-3
0
-19
0
0
-34
0
0
0
-105
0
-39
0
0
-8
0
76
-16
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
-59
0
0
0
60
12
0
-50
0
0
0
-4
-1
0
50
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
1
-22
-2
0
0
-31
0
0
0
0
0
-8
155
-9
10
0
0
-17
-35
1
0
84
0
0
85
-18
0
-51
13
24
0
-65
-17
0
10
63
0
0
-17
-148
0
0
-80
-5
0
33
-22
0
0
-27
0
0
0
-24
0
5
-14
8
0
0
-77
0
0
0
0
0
0
-38
62
0
0
0
0
0
41
7
0
0
0
0
-4
89
0
4
4
2
0
53
1
0
8
68
0
0
-8
18
0
0
-4
-12
0
-21
-17
0
0
-16
-7
0
37
6
0
0
-32
27
0
3
-61
0
0
2
0
0
0
-53
0
0
0
3
0
0
72
0
0
0
0
0
0
26
6
0
0
0
0
6
1
0
-36
5
0
0
-7
56
0
-16
0
0
0
0
-61
0
21
9
0
0
0
66
0
0
-8
-9
0
0
41
0
14
40
3
0
0
-46
0
0
-1
-6
0
0
1
0
29
0
0
0
0
53
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
-7
32
79
18
27
12
23
-70
-30
-65
-153
-58
-10
-22
-34
-26
-62
-89
-55
-33
4
3
-9
-29
42
-42
-58
-15
-70
-33
49
-53
38
-49
-15
-31
-39
5
-34
-63
-144
-51
8
55
24
8
79
-67
1
90
-9
67
32
59
-54
20
49
36
-9
22
30
10
99
53
31
34
8
-5
-87
7
11
-11
-67
-41
-33
-2
-27
-68
-17
28
-41
-24
-41
18
-40
-24
-77
3
-64
-19
42
-68
-34
56
1
-133
-47
-59
6
-7
29
8
-74
39
-17
-46
42
44
77
-12
-121
-54
60
21
22
55
25
30
54
8
15
57
26
39
-97
37
-6
10
15
-64
8
3
-16
-38
-12
61
-19
9
38
-23
-68
-7
-24
-110
-24
-6
26
-38
-13
-41
-11
-30
-1
21
-60
-27
-77
10
-29
-13
17
-42
-8
-19
94
-62
2
16
44
5
-72
72
76
106
-46
123
-9
52
29
-9
69
-24
20
-17
10
-59
-21
26
-89
23
-24
69
16
10
-43
-9
-38
-29
9
-24
48
-44
41
61
8
-13
-6
3
-2
5
101
-3
54
18
-7
-4
10
36
11
-31
-34
-31
0
35
17
-3
132
-142
45
-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
-38
111
0
0
90
68
-6
22
-18
0
0
81
-18
6
14
-12
0
0
1
-42
-19
5
13
0
0
0
0
-51
4
-29
0
0
0
86
-115
0
0
-1
0
0
0
27
7
58
24
42
-12
1
0
49
78
0
0
-42
0
0
-85
0
18
-131
-40
-1
5
-102
-9
1
-6
-82
0
0
-30
-79
0
-2
-97
12
0
-4
-122
0
0
-37
0
0
-2
-30
0
-87
0
-30
0
47
-40
0
0
0
-2
6
0
-10
-1
34
0
0
0
0
138
56
10
13
0
0
105
14
-8
-34
-20
-25
0
-3
0
4
17
-46
0
1
-18
-39
2
1
47
-1
-7
3
10
5
0
0
-3
-11
-1
-53
0
0
7
-12
-39
0
35
0
0
0
0
0
0
54
0
0
0
-6
8
0
-44
0
0
0
0
0
0
112
10
0
0
0
0
9
85
0
115
-4
0
0
14
0
0
0
50
-9
0
13
-55
11
4
25
2
-1
-32
71
0
9
-5
-60
0
0
85
0
97
0
-7
-1
0
-29
0
0
0
20
1
0
71
0
67
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
6
-2
63
0
-54
-15
0
0
10
0
21
8
31
0
0
25
0
0
0
-27
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
7
0
0
0
0
0
-36
11
99
3
0
0
-3
106
0
0
77
0
0
-28
-25
0
-43
60
-24
0
23
-55
0
0
14
0
0
-7
7
0
0
-29
1
0
0
39
0
0
6
0
0
0
-2
0
-13
10
0
0
0
75
0
0
0
0
6
0
7
32
4
0
0
0
0
-56
-23
0
0
0
0
-40
57
0
1
24
0
0
1
3
0
0
-12
0
2
44
-81
0
10
-67
-3
0
-4
21
0
0
-22
0
-56
21
53
0
0
-6
0
0
0
36
0
0
0
0
0
0
21
0
0
0
0
-1
0
45
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-2
-17
0
0
0
64
0
2
0
0
0
7
-14
0
11
0
0
0
-7
16
0
-1
-1
-3
0
0
-62
0
25
0
0
0
0
68
0
51
0
-1
0
0
4
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
64
0
4
-1
0
0
9
-6
0
0
0
0
0
0
31
0
0
11
0
-50
0
-2
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-1
0
0
0
0
0
37
0
0
-1
0
0
112
-82
0
0
-47
0
0
24
-15
0
12
28
0
0
-27
-109
0
0
-24
0
0
5
21
0
0
-11
0
0
0
9
0
0
0
0
18
0
35
0
8
0
0
0
0
74
0
0
0
0
-2
0
-48
22
0
0
0
0
0
-27
3
0
0
0
0
6
-50
0
0
5
0
0
4
58
0
0
0
0
0
0
107
0
-32
-2
2
0
4
-123
0
0
0
0
0
0
-11
0
0
0
0
0
0
-18
0
0
0
0
0
0
79
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
2
0
0
0
0
0
7
0
20
7
0
0
0
-41
0
0
0
0
0
-13
19
0
3
0
0
0
-1
3
0
0
0
0
0
-4
40
0
3
21
7
0
0
40
0
0
0
13
0
0
-58
0
-4
0
0
0
0
-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
-3
59
-51
-8
64
29
94
-51
-8
-16
20
39
1
-57
-80
-43
-4
16
-160
7
-61
1
-10
-2
11
-64
-7
4
-10
-56
-1
-2
-1
-50
-52
0
0
13
-1
-1
21
-33
-1
84
68
112
-41
28
0
65
-23
15
-12
80
-21
16
58
31
46
40
91
39
65
72
23
13
62
-17
-53
87
9
-2
-35
-7
-116
64
-109
1
-22
-1
-4
-6
-4
64
20
-13
-2
2
-19
-47
-44
1
-37
-2
-6
8
4
12
-2
-55
-90
-14
0
-35
-30
12
78
-81
34
85
-18
-5
180
43
21
-12
10
75
82
65
35
0
81
-40
63
90
9
-31
-83
-42
-106
49
67
25
-14
-41
136
-29
-32
-71
56
-32
-25
-42
9
92
-54
-76
-18
0
1
-50
-6
-26
4
-50
-3
19
37
-94
-87
0
-32
-93
-1
0
12
-61
-3
50
109
-32
21
-2
0
20
67
10
35
-48
10
17
-62
-12
-4
132
83
-41
0
2
-24
-34
-42
-22
-17
35
61
-63
60
-47
-63
-71
-12
20
-12
11
-91
-7
-88
61
-61
41
-1
-4
8
-17
-53
-1
-29
0
-90
9
-7
77
0
45
-14
-4
-1
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
87
0
0
0
60
0
-17
-37
-26
0
0
0
0
0
0
-12
0
0
-1
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
-18
0
0
4
0
0
0
0
0
34
-3
0
-21
0
0
37
-23
0
0
90
0
0
-60
-11
0
4
-52
0
0
43
-142
0
0
3
0
0
-17
-86
0
0
-13
1
0
0
-71
0
0
18
0
0
0
-78
0
-108
0
0
0
0
-88
0
0
0
0
0
0
25
0
20
0
0
0
0
6
0
0
0
0
0
-4
66
6
-3
89
2
0
-1
64
0
0
0
0
0
16
-76
0
0
-6
6
10
12
-7
0
0
21
0
0
0
70
0
0
68
-2
0
0
-3
0
0
0
0
4
0
71
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
-86
0
0
9
0
0
0
-104
0
0
0
0
0
-2
-39
0
0
-2
0
0
0
-73
0
0
1
0
0
0
-20
0
9
-14
0
0
0
-26
0
0
12
0
0
0
2
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
-19
39
0
6
32
-81
0
-26
38
59
0
17
0
0
15
37
0
0
-79
-6
0
48
29
0
1
-15
20
0
0
52
0
0
0
-50
0
0
0
24
0
0
0
0
26
-12
-44
79
129
-19
0
-33
-52
-8
0
-62
0
0
24
36
35
27
-63
-290
0
114
4
0
47
48
0
0
80
4
10
-11
24
20
0
76
-5
0
0
18
0
0
-53
-5
0
-88
-83
31
0
0
18
0
0
-14
0
0
0
20
-111
5
0
-2
0
0
0
100
0
-11
0
0
51
-43
26
28
90
-56
0
62
45
-24
-15
-72
0
0
209
-9
-12
86
43
-117
0
125
3
-1
29
86
-28
0
-89
-3
16
0
23
-3
0
29
0
0
0
11
0
0
0
35
0
-13
17
17
0
0
1
0
0
0
0
0
0
12
27
0
0
48
0
27
-141
34
128
51
-8
0
-28
40
1
-59
1
9
0
-10
22
-2
82
63
-3
0
44
26
0
-71
-8
16
0
56
-3
0
-70
-74
13
0
13
-58
0
0
64
59
0
0
15
0
43
2
0
0
0
38
25
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
-141
-9
71
0
-9
47
-25
-123
-57
24
-11
-52
-51
-13
-45
58
11
50
-6
-56
-31
-8
-1
56
-2
-2
-32
-49
-10
-29
-17
-1
-6
16
-14
-11
37
53
54
32
-30
38
39
32
74
-1
41
-9
-15
30
55
28
13
14
10
14
-72
16
-57
-92
-2
-54
4
4
7
39
-48
-9
30
-49
-140
-25
-5
35
7
-26
16
62
-6
18
25
-32
-17
5
85
-7
-5
-12
46
58
-100
10
-32
1
30
20
16
42
-5
39
81
10
36
45
-86
-22
37
32
-96
63
-5
-53
-50
20
-70
-139
1
-14
94
-163
9
59
11
3
-2
-97
-52
-9
7
-139
19
122
-20
-61
-1
-4
-36
2
1
16
-6
14
-29
-37
22
-59
46
26
-10
-4
-20
-127
-17
-9
0
-32
-23
-7
-1
-99
19
-1
-16
-135
29
4
-77
-2
-13
7
-6
-10
2
13
57
-146
15
5
-63
25
-12
-31
-5
-7
-70
27
-11
-51
19
93
10
-22
8
83
14
87
-173
-4
-74
-12
67
-13
-5
1
3
-67
135
93
0
24
-7
19
-1
-14
79
25
33
-5
-17
-52
-9
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-163
41
36
-6
-30
0
61
51
70
-2
-4
10
-3
-53
21
11
0
-3
-4
-5
-114
0
6
0
0
57
-24
-3
0
0
81
0
0
0
-46
69
28
-59
69
1
28
-32
-25
41
-4
0
-39
3
-8
28
35
5
33
79
30
-28
-16
0
37
-105
-49
-8
-20
-22
-13
1
-9
-48
-103
-9
-46
-50
0
-3
-99
0
24
0
-36
0
-39
-6
-74
-99
0
-9
0
-2
-3
0
-99
0
11
116
125
0
-21
0
0
53
6
-10
46
-2
0
-44
58
55
-26
17
103
18
-52
-15
-7
41
75
1
-24
52
0
-10
67
53
109
84
36
37
-4
-46
-95
3
27
-28
-1
0
8
29
31
-113
0
-18
0
-2
104
12
-8
0
-10
0
2
0
-12
-45
0
3
-3
0
0
0
-5
0
20
-99
-13
-32
9
6
122
-19
-22
-113
171
0
0
-27
-45
24
-129
-91
-42
2
13
0
9
-45
-25
6
3
-18
-21
0
-47
-89
-78
39
1
-55
0
-79
-65
-95
51
0
-73
0
-2
-11
-47
5
0
-30
0
57
0
-1
67
0
1
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
-12
0
0
0
0
0
0
0
0
0
35
0
0
0
-16
0
0
0
0
19
0
0
-55
0
0
0
-1
0
-37
-73
14
-54
0
0
-8
53
0
0
-6
0
0
-26
53
0
14
68
-13
0
160
-33
0
0
-66
0
-2
-32
-69
0
0
6
0
0
0
45
0
0
-24
0
10
0
-24
0
26
3
-7
0
0
55
0
0
-1
0
0
0
-78
0
0
0
0
0
0
3
-5
0
0
0
0
0
94
0
-5
-19
1
0
0
-60
0
0
-1
0
0
11
-12
0
-4
-89
0
0
24
34
0
0
18
0
0
0
-40
0
0
26
0
0
0
37
0
0
0
0
19
0
105
0
0
0
0
12
0
-94
0
0
0
0
0
0
-22
-2
0
0
0
0
0
-8
0
19
0
0
0
0
-25
0
0
0
0
0
0
90
0
17
0
0
0
0
55
0
0
0
0
0
0
-55
0
4
0
0
0
0
-17
0
0
0
31
0
0
-72
0
-3
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
-14
-14
0
10
19
0
0
0
14
3
0
0
0
5
0
19
0
0
0
0
-2
0
6
0
0
0
0
3
0
0
41
0
0
0
0
1
14
15
-3
-5
0
0
-27
72
-2
0
-88
0
0
-125
11
0
69
114
8
1
-75
-8
0
0
-1
0
0
12
-43
0
0
-13
19
19
0
6
0
0
-3
0
1
4
24
0
-32
1
-2
0
0
-12
0
0
0
0
5
0
-81
-2
0
0
0
0
0
44
0
0
0
0
0
7
-73
6
0
-10
6
0
4
-28
0
0
10
0
0
50
29
0
6
44
4
0
0
-103
0
27
75
0
-8
0
145
-1
0
0
0
0
0
88
0
0
0
0
42
0
-1
0
0
0
0
0
0
-38
0
0
0
0
7
0
61
6
0
0
0
0
0
43
3
0
0
0
0
0
53
0
0
0
0
0
-22
-19
0
1
0
0
0
0
22
0
0
0
0
0
0
41
0
0
0
0
0
0
-44
0
0
0
0
0
0
-33
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-28
14
-15
53
55
-55
111
-5
-3
-60
22
25
-49
58
-1
-5
8
-3
21
-6
44
0
0
10
-28
13
-3
-5
-40
0
-1
54
56
17
60
44
-87
88
-34
2
-29
3
-2
-6
12
1
-11
25
39
106
-46
7
-1
79
4
5
-82
-15
-54
-30
137
70
43
-3
18
-94
49
-47
103
-7
-5
32
-56
-8
28
-10
12
-4
14
11
-42
-15
-2
-17
1
-7
-2
-3
-64
0
0
-21
-16
0
6
4
18
71
33
18
-86
9
9
11
27
93
-122
68
-24
-5
56
29
102
-24
53
0
-65
-38
15
-50
-99
76
-1
-155
68
-15
103
44
-120
-72
-47
63
13
23
-14
-80
17
46
70
15
5
-7
-6
-19
71
0
-17
-1
-2
0
-44
2
0
19
-8
-4
0
73
49
-5
36
3
-1
-28
1
2
-77
-27
10
-8
84
-7
74
0
42
4
-17
24
-20
-46
-135
28
55
-29
-53
18
-28
8
15
18
160
67
31
61
-82
11
1
-48
53
17
102
-37
-1
-14
5
13
8
96
-9
-18
0
8
71
26
56
0
15
-64
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-101
-22
-12
61
0
26
34
-87
0
-19
-17
0
68
41
35
0
12
20
-1
54
-8
-145
0
-1
10
0
10
0
-55
-34
0
-2
0
10
48
-4
-93
-79
-97
-1
0
-78
2
11
-15
2
0
9
-15
87
41
-40
-12
0
-8
1
18
0
-27
25
0
5
0
-78
-5
-10
-37
0
44
31
-12
0
21
65
0
-47
51
-2
0
41
55
-1
-4
-25
-2
-45
3
-9
0
29
0
-7
-38
50
0
0
59
0
-1
22
27
1
0
0
-117
8
61
-8
-26
-8
48
13
40
-2
29
71
0
-49
-6
1
-3
62
-2
0
5
35
16
1
40
23
-13
7
46
-23
-22
-11
89
0
13
64
22
0
11
121
0
37
17
16
-3
9
132
0
8
0
2
-64
-4
0
0
-74
0
-19
38
30
5
0
0
1
88
63
-70
52
0
-27
23
37
-3
-75
-2
0
-6
-120
19
52
6
-102
0
21
-36
3
-24
67
29
-14
39
52
44
0
-42
-21
1
80
0
-8
-1
78
130
5
69
0
-11
0
50
20
0
25
0
17
30
-9
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
-22
4
-1
0
-13
0
0
-66
141
0
0
47
-102
0
1
5
0
1
9
6
0
0
-49
0
0
-1
19
0
0
-8
1
0
0
0
0
-2
16
-36
-50
-1
3
0
-2
-1
0
0
-31
0
0
-31
24
-10
47
-61
-109
0
-59
-89
12
-4
-37
0
0
68
-15
0
-6
7
-1
0
113
27
0
0
57
0
0
53
21
0
-19
174
-13
0
0
28
0
2
5
0
0
0
71
-15
-20
0
6
0
-18
5
156
0
47
0
0
29
42
38
25
-3
-73
0
5
2
1
-22
-3
0
0
-11
-7
-1
-7
18
25
0
37
7
0
-51
60
3
0
-11
-1
0
0
48
-17
0
3
17
0
0
-27
0
0
-3
-16
0
0
13
14
0
0
67
51
0
0
0
0
0
-8
13
10
4
0
0
42
31
9
31
13
0
0
121
43
0
-10
58
-29
0
-62
18
11
51
62
0
0
94
-21
0
-23
138
54
0
-23
17
-14
145
91
31
0
-3
-41
0
8
3
-32
0
-2
-8
0
6
7
0
0
0
67
56
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
17
-8
4
68
11
0
0
50
-18
-17
0
39
0
0
1
-8
-2
0
0
-35
0
-2
63
38
27
3
20
-47
23
-5
2
44
31
-1
3
78
-43
-12
-58
33
-54
-19
-9
7
13
-123
-35
-32
35
4
129
-83
2
13
-10
9
9
6
-55
26
-34
8
15
41
52
-39
0
3
0
18
16
-10
-7
0
10
0
-1
-16
-10
-118
0
12
2
12
0
-3
0
7
6
58
18
117
1
-3
29
0
-45
72
27
-21
-14
-48
20
-2
-19
57
12
-37
101
27
-72
64
-15
44
4
28
-13
-12
83
28
-35
-4
-6
11
-7
8
-2
-36
-21
0
15
0
9
39
-10
65
-6
13
4
-1
8
-31
9
0
0
51
5
0
0
39
-18
-42
-45
-4
-31
-64
-9
-3
-138
-23
80
-4
-16
-27
12
21
0
52
5
0
3
0
8
9
20
30
-17
61
-7
8
10
124
-4
-122
18
5
-16
0
-24
-30
-22
-19
0
5
0
4
49
-56
20
0
24
2
-43
47
6
-14
0
35
-41
-5
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
-15
107
8
23
-29
-25
59
52
-19
0
-1
81
0
53
3
-40
1
-1
2
40
31
0
0
26
0
0
0
37
23
-92
-16
-24
75
-7
0
27
-7
-6
0
23
0
16
-94
29
34
25
8
-23
11
82
9
-20
126
65
17
87
29
0
13
8
-28
30
-40
-10
-19
0
-16
35
0
20
-14
-39
0
-13
-12
-60
70
-1
-28
0
-2
0
-9
-34
0
-56
-11
35
0
-26
0
0
-75
69
-8
-76
23
0
-82
2
56
-78
60
-12
-14
-45
23
-15
-138
-37
4
-25
134
-7
68
-22
31
-15
-42
52
0
7
-10
85
-26
24
-25
11
0
51
17
0
5
14
-22
0
-3
43
0
-47
-14
-55
0
-6
-3
-34
11
0
-33
-12
-2
0
0
29
0
-113
-7
-22
1
3
-2
-3
-27
-17
-61
-72
-5
0
-39
1
-18
-93
26
1
3
-51
-20
-17
25
-84
0
13
27
0
3
-44
26
-10
48
38
-15
0
-97
-2
38
2
0
-37
0
-3
-78
-8
-18
9
-28
0
35
-9
0
-5
0
-23
-13
-2
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
-5
0
0
-24
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-11
0
0
0
0
0
101
67
-20
-4
0
0
-14
46
0
0
-5
0
0
58
-91
0
15
-5
0
0
-18
-82
0
0
59
-5
0
-2
14
0
0
97
0
4
0
-76
0
0
-2
0
0
0
-100
0
-12
-19
-3
0
0
-60
0
0
0
0
0
0
16
0
20
0
0
0
0
12
0
0
0
0
0
4
-47
-33
-3
-26
-4
0
-25
51
0
16
29
0
-6
-8
-53
0
14
15
-28
0
0
-113
0
0
-51
0
23
4
-35
0
0
-14
2
-7
0
102
0
0
0
0
0
0
-45
0
0
0
3
0
0
-2
3
0
0
0
3
0
-13
0
0
0
0
0
0
-17
0
2
24
0
0
0
-8
0
0
-2
0
0
-21
-40
0
12
-2
0
0
-8
-34
0
-24
0
40
0
0
-65
0
-3
0
0
0
0
-46
0
0
0
13
0
0
-59
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
7
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
7
0
0
0
0
0
-113
17
-5
18
0
0
-9
83
0
0
1
0
0
2
-20
0
8
64
20
0
-18
-40
0
0
29
0
0
-5
120
0
0
3
19
0
0
-4
0
0
0
0
0
0
-26
0
3
0
-2
0
0
-15
0
0
0
0
0
0
-33
12
0
0
0
0
0
-72
-1
0
0
0
0
-13
-11
-6
0
-22
9
0
0
-56
0
0
0
0
0
0
168
0
0
-23
22
0
0
45
0
0
0
0
0
0
81
0
0
-5
4
0
0
-52
0
0
0
0
-19
0
57
0
0
0
0
0
0
25
0
0
0
0
0
0
14
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
-35
0
0
0
0
0
0
7
0
0
14
5
0
0
-8
0
0
0
-3
0
0
-63
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
-75
55
0
3
0
14
31
113
28
0
0
9
-2
20
19
9
0
0
0
-6
55
0
0
56
0
0
0
60
-6
66
-5
8
-3
-2
0
-121
18
0
0
28
0
22
-15
5
0
-5
-16
2
8
20
-4
-4
4
56
0
-3
92
47
0
-1
44
25
-3
3
-33
0
0
-12
0
-20
13
6
0
54
0
-25
8
0
-13
2
0
0
0
-76
0
18
85
19
0
77
0
0
45
-8
-7
1
0
0
71
2
8
-35
42
24
-18
-16
15
0
87
48
0
35
54
-5
-9
32
-59
115
14
64
-10
-6
0
-4
9
-2
0
22
0
0
1
-54
39
20
-2
0
0
0
0
-22
0
36
0
0
0
68
-19
0
12
18
0
0
0
19
4
0
-5
0
-5
0
0
-3
-76
-3
11
0
0
-2
24
-20
0
43
-27
6
0
-4
-26
0
-66
-10
0
2
-13
33
0
-4
-1
-85
-6
-13
-7
0
-20
22
-1
-36
0
54
-27
0
0
-2
-21
0
-9
0
-8
0
-8
-13
0
-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
-10
32
0
0
0
0
-1
0
6
0
0
0
0
0
0
7
0
0
0
0
61
0
0
-12
0
0
0
0
0
-20
-5
0
0
0
0
-20
40
0
0
-7
0
0
-3
87
0
56
33
0
0
2
-13
0
0
-37
0
0
28
-40
0
0
-2
0
0
2
-92
0
0
-3
0
0
0
-1
0
-7
0
0
0
0
61
0
0
0
0
0
0
-42
-9
-1
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
22
0
0
0
-72
0
0
31
0
0
-1
-12
0
0
34
13
0
0
-30
0
0
-2
0
0
0
-20
0
0
6
-3
0
0
-136
0
0
0
0
0
0
106
0
0
0
0
5
0
58
0
0
0
0
0
0
20
0
0
0
0
0
0
20
0
-6
0
0
0
0
62
0
0
0
0
0
0
97
0
-2
2
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
-1
0
0
-154
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
-58
-65
0
0
32
-44
0
-20
-7
0
-6
-20
-17
0
0
-39
0
0
0
-14
0
0
-24
-32
0
0
0
0
-34
32
58
-35
41
7
0
-84
-17
0
0
32
0
0
49
10
-3
3
-12
-21
0
-37
-48
0
-12
31
24
0
7
-76
0
0
-22
-83
0
32
-36
0
0
50
0
0
18
34
0
-45
71
-16
0
34
-7
0
0
28
0
0
0
26
-18
-21
0
3
0
0
29
-32
13
6
0
0
35
7
0
29
60
-36
0
67
7
0
8
43
0
0
95
-28
0
8
21
-2
0
-46
-8
0
13
29
-52
0
-42
-15
0
-3
20
-37
0
-67
57
0
0
27
0
0
-6
-21
0
0
-6
34
0
0
24
-24
3
0
0
0
0
49
9
0
11
4
0
-10
-5
0
93
64
0
0
-10
15
0
-12
39
-15
0
-14
19
8
32
66
-1
0
-21
5
0
-13
55
37
0
-12
16
0
-60
165
1
0
-6
-1
7
1
-19
6
0
0
11
0
-5
0
0
0
0
-27
-50
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-10
50
0
3
0
0
0
6
2
0
16
-90
0
0
0
-8
-1
51
-13
-87
-18
0
-1
-33
53
0
13
38
0
0
-54
52
0
107
44
-26
0
-36
18
0
0
84
0
-1
0
-48
0
-4
1
95
-16
0
-120
0
0
80
0
0
0
-58
0
-1
-49
34
0
0
10
0
0
26
5
37
0
-27
-20
-18
0
-65
0
-4
76
74
0
0
0
0
27
17
56
-12
-34
-3
0
-3
36
0
0
0
0
0
25
-7
0
-42
42
-16
-7
10
-5
0
7
65
-33
-41
0
-29
0
2
12
58
-35
0
-28
0
0
95
11
-89
0
-14
0
0
5
-61
52
0
-22
0
0
0
18
11
0
55
-4
-8
0
0
0
-1
-38
0
-29
-4
9
9
-13
-86
0
11
-1
8
-1
0
-63
0
12
-55
-1
5
0
-11
0
0
-15
67
17
0
-30
0
13
68
0
0
0
-10
0
0
-63
36
0
0
-39
0
-33
20
-11
43
0
-29
-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
38
-16
0
0
0
0
-34
0
11
0
0
0
-13
11
0
0
-54
0
0
0
-57
0
-5
-9
6
-43
2
0
32
20
-14
0
-9
0
0
19
98
0
91
25
-17
1
37
73
3
-3
62
-31
93
43
-109
0
3
124
57
-7
-16
0
0
-3
5
0
8
0
86
0
-61
63
66
-10
0
-56
0
-3
0
0
56
0
-47
-22
-71
0
16
0
0
-68
-5
6
12
13
0
75
9
76
-1
-50
-6
0
-11
21
0
64
96
0
-4
-3
36
-4
1
4
23
0
-85
-21
0
34
-78
3
13
-2
0
0
0
-43
66
14
0
2
0
0
29
-2
10
0
-2
0
0
0
-21
1
0
-29
0
-13
0
0
0
0
-48
24
39
4
20
0
-1
-100
2
-20
-11
0
0
5
-60
1
16
-63
20
0
-26
53
4
-44
-66
0
0
-4
-38
-3
-5
11
14
0
-4
0
0
74
54
1
8
0
12
0
0
-19
-31
13
0
21
7
-33
0
0
-2
0
11
61
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-9
-1
-10
0
0
2
118
0
0
-7
0
0
0
-7
0
-12
-12
0
0
-1
39
0
0
22
0
0
0
-13
0
0
-2
0
0
13
-12
0
0
0
0
0
0
0
0
23
0
7
0
0
1
0
0
0
0
0
0
-52
0
0
0
0
0
0
55
0
0
0
0
0
9
-17
0
0
0
-4
0
0
-1
0
0
0
0
0
0
26
0
0
-4
12
0
0
-68
0
8
0
5
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
2
0
0
-49
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-21
0
22
0
0
0
0
-4
0
0
0
2
0
0
-8
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
-94
-5
-1
0
0
0
32
1
0
0
-11
0
0
4
38
0
-4
70
-3
0
0
-73
0
0
-2
0
0
2
2
0
0
0
6
0
0
-33
0
0
-1
0
0
0
0
0
10
0
-2
0
0
26
0
0
0
0
0
0
19
-5
0
0
0
0
0
-63
0
0
0
0
0
0
-62
1
0
2
-4
0
4
52
0
0
2
0
0
-24
10
0
0
-2
0
0
0
-31
0
0
-2
0
0
0
5
0
0
-2
-1
0
0
-106
0
0
5
0
11
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
2
1
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
7
0
0
0
-11
0
0
0
0
0
0
4
0
0
-17
0
0
0
-6
0
3
0
0
0
0
7
0
0
0
0
0
0
-40
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
3
-10
40
0
13
0
0
0
-9
78
0
0
-30
0
0
-5
-94
5
-40
59
-76
-116
29
0
-114
-11
0
0
65
0
0
6
99
0
-99
3
-34
6
-1
45
0
0
0
-23
0
-2
14
0
-28
-8
66
-1
-80
21
0
34
7
0
0
-21
36
0
71
-2
31
-2
9
-35
0
0
0
-6
-33
0
-50
95
-86
0
-12
0
0
-34
-16
0
40
0
0
-15
2
14
129
-6
-71
-2
40
55
0
0
19
0
-34
-32
7
0
-81
-69
1
-33
17
21
0
-21
1
-15
26
31
46
0
-15
-7
-24
26
-8
-8
0
0
0
0
-37
0
49
0
0
0
8
-37
0
-43
0
0
0
5
-22
0
38
2
21
0
-8
0
0
3
4
-76
-6
0
0
0
-7
0
-14
0
5
-1
20
-19
0
14
-23
0
12
0
-9
19
-6
0
-24
25
0
-20
0
5
0
0
-10
0
15
1
0
0
-52
-100
0
33
0
-59
0
0
-12
0
-35
-13
0
0
63
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
26
0
40
0
1
0
0
0
0
4
0
0
-37
0
0
0
-24
-1
-29
-112
32
6
0
0
-100
-34
-3
11
5
0
17
28
37
0
12
31
0
-14
14
-23
0
-8
113
0
2
36
-79
0
6
54
-8
20
-47
-35
0
-2
70
0
7
12
-79
0
-3
6
0
-49
0
77
0
0
0
0
39
0
25
-47
-46
0
0
0
0
-45
40
0
14
0
4
56
-44
23
5
119
-2
14
-20
-17
0
21
-8
0
13
25
-48
0
-21
-23
7
-30
26
7
0
0
-3
0
-50
-1
-47
0
0
60
0
3
9
37
0
0
-8
0
-13
0
79
0
-10
-37
0
8
0
26
7
0
0
0
-5
0
-17
34
0
0
0
0
-6
-66
0
22
76
0
0
15
-52
0
0
20
-4
1
6
52
0
-28
8
0
-34
-41
24
0
7
-75
0
-4
-12
-12
0
-44
29
0
-8
0
90
0
0
7
0
66
0
67
0
-67
-43
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
123
-11
0
4
-29
0
0
-17
23
0
0
16
-2
0
-2
6
0
9
19
-106
-56
-19
0
0
10
-11
-14
-9
36
0
0
49
19
0
11
-24
27
0
34
-19
-1
-14
23
-33
0
-16
-14
0
0
14
16
0
43
-112
0
0
30
-4
0
76
15
0
-97
32
10
0
-1
17
0
0
-3
0
0
0
13
4
-34
0
-16
0
0
13
-9
0
69
0
0
-15
13
3
1
1
24
0
40
23
0
22
39
0
0
71
23
-1
-11
80
10
0
56
-13
-3
-20
-4
-13
0
64
7
-18
-1
43
10
0
-2
40
0
0
54
-4
0
-18
24
0
0
-25
136
0
0
4
-9
0
0
0
0
1
37
-31
0
-24
0
0
21
-67
-14
23
-13
0
0
-2
12
42
-50
-58
-3
0
139
15
0
96
69
1
0
-19
20
0
18
40
93
0
0
-26
0
-18
-83
23
0
0
-3
0
0
67
56
0
0
28
0
-91
-20
49
0
0
-35
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
122
0
0
0
-17
14
0
0
-117
0
0
0
-29
0
-2
15
48
9
0
0
-6
-10
0
0
60
0
0
-155
64
-4
5
-3
36
0
-24
45
0
0
54
0
-12
2
-4
0
0
73
39
8
0
-81
0
0
63
0
40
0
14
0
13
-18
1
0
0
-67
0
-1
0
0
-19
0
-54
4
-8
0
4
-11
0
-1
-13
0
-4
1
0
0
26
0
-1
71
9
0
-6
25
0
-4
-16
0
11
5
-28
0
6
57
-7
-8
0
-4
0
0
55
0
38
0
24
0
0
56
85
62
0
-27
0
0
56
0
-65
0
-24
0
0
0
11
24
0
-97
0
0
0
0
9
0
-92
0
0
0
0
0
0
-9
0
-50
11
0
0
0
-64
0
29
5
-1
37
3
69
-20
-7
2
0
0
0
18
0
-10
111
9
-1
0
10
0
-24
37
0
-21
0
24
0
0
5
-22
21
0
-96
0
-36
0
0
6
0
27
2
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
-10
0
0
0
14
62
0
-4
15
0
0
0
-4
0
-52
2
11
48
0
0
57
-45
0
0
-56
0
0
-27
86
0
-49
0
-63
0
-100
21
3
0
11
-4
43
115
-22
0
-4
-29
-44
-12
-7
4
0
0
94
6
-17
4
0
0
64
5
33
-1
0
-36
0
-8
0
0
26
0
-3
19
8
0
-56
-4
0
-55
-3
1
10
0
0
10
65
-6
-37
-22
17
15
-47
68
-5
-19
59
0
16
8
3
0
-41
-19
73
-1
-29
-40
6
11
-2
0
-10
1
-52
3
0
23
65
-46
0
0
0
15
-3
-18
1
0
31
-7
0
-9
-3
87
0
-16
0
0
0
0
0
0
-29
1
0
-14
-8
0
0
-25
-3
-67
37
0
5
0
-4
0
-10
-116
8
-1
0
46
-3
-61
-83
0
-38
5
-24
0
14
-25
-41
8
0
-60
0
20
-6
0
34
-3
0
-1
0
4
10
14
0
-94
0
-59
-3
6
7
0
40
-16
0
-24
-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
-4
0
0
0
0
0
-1
0
-1
0
0
0
4
-51
0
0
-4
0
0
-2
-6
0
-2
-6
0
0
-4
46
0
0
-2
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
-4
0
0
0
0
-3
0
0
0
0
0
0
-49
0
0
0
0
0
0
-16
0
0
0
0
0
0
15
0
0
0
0
0
0
-64
0
0
0
0
0
0
-4
0
0
-3
0
0
0
-14
0
0
-2
0
0
0
63
0
0
0
0
0
0
31
0
0
0
0
0
0
19
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
-4
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
-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
-2
0
0
-10
0
0
0
0
0
-6
11
0
-18
0
0
2
-19
0
0
94
0
0
-22
-26
0
0
-11
-1
0
12
48
0
0
-1
0
0
-1
20
0
0
-3
0
0
0
39
0
0
-1
0
0
0
16
0
-8
0
6
0
0
12
0
0
0
0
0
0
-136
-4
0
0
0
0
0
-35
0
0
0
0
0
0
-36
0
0
-1
-1
0
0
49
0
0
0
0
0
0
-34
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
0
0
-93
0
0
0
0
0
0
2
0
0
0
0
-1
0
36
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
-2
0
0
-11
0
0
0
-48
0
0
0
0
0
0
28
0
0
0
0
0
0
-69
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
47
85
0
0
26
0
0
0
0
0
-1
2
-46
15
0
0
-35
18
0
0
57
0
0
-33
38
-1
-24
-23
-17
-8
-8
18
0
0
-8
0
-4
49
-16
0
5
4
-1
-1
111
-87
0
-2
-8
0
-13
17
-111
0
-44
0
-27
-4
0
-71
0
3
-3
0
-10
0
-43
-29
64
0
-7
0
0
9
-52
0
0
0
0
0
11
-12
-7
0
2
0
2
46
11
0
11
0
0
38
-12
0
19
-4
-40
4
0
-40
-2
4
-1
-2
11
-8
-8
0
0
-1
-2
14
0
5
0
0
49
0
-32
0
-38
0
0
0
-8
-19
0
32
0
0
0
0
44
0
18
0
0
0
0
0
0
3
0
-10
0
0
0
0
-24
23
0
0
0
5
0
2
9
3
-5
0
0
0
3
0
0
0
-36
-9
4
-35
0
-10
50
0
0
0
-15
0
0
0
0
0
0
-54
0
69
0
0
0
0
-5
-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
25
0
0
-11
0
0
0
-1
0
-61
-22
-9
4
0
0
-5
70
0
0
-15
0
0
-15
-1
0
0
-44
0
0
6
-26
0
0
-13
0
0
2
-8
0
0
-8
9
0
-9
-76
0
0
-9
0
0
0
-39
0
-14
-7
-10
0
0
69
0
0
0
0
0
0
-26
0
3
0
0
0
0
-48
3
0
0
0
0
0
8
8
-8
-2
0
0
0
-70
0
0
25
0
0
0
-36
0
-3
11
-1
0
0
-49
0
0
-3
0
0
-7
5
0
0
-17
-1
17
0
-23
0
0
4
0
-8
0
-15
0
0
0
0
-4
0
-46
0
0
0
0
0
0
-10
3
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
5
0
13
-25
0
0
0
-20
0
0
0
11
0
0
-5
0
10
6
0
0
0
58
0
0
0
0
0
0
-25
0
-4
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
-5
35
0
0
6
0
2
23
-152
-57
-32
-15
0
-49
-20
0
0
40
0
0
13
13
0
-67
17
24
0
-5
11
0
0
36
4
0
30
19
0
6
46
50
0
74
-14
0
22
45
17
0
12
-36
0
-22
70
-7
0
0
32
0
-3
-19
0
0
0
28
34
73
0
-22
0
0
28
37
-10
17
0
0
-45
-26
6
20
48
29
0
-64
14
0
35
22
0
0
37
30
11
-9
74
-8
0
40
48
0
25
73
-10
0
-14
38
-5
149
26
9
0
-72
21
0
7
-7
-2
0
27
31
0
33
25
-7
0
0
23
101
0
0
0
0
0
29
7
0
6
38
0
2
-132
-26
-41
-23
0
0
-61
39
0
0
80
11
0
-52
56
0
-35
80
0
0
-28
48
0
-48
41
-109
0
-116
6
0
-42
51
-28
0
20
12
0
3
1
0
0
0
27
0
-17
54
0
0
0
-16
-98
15
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-1
0
0
0
0
0
-7
0
0
3
0
0
-1
41
0
-4
17
1
0
22
-38
0
0
-2
0
0
0
50
0
0
3
0
0
0
-93
0
0
59
0
0
0
12
0
19
0
-5
0
0
-69
0
0
0
0
0
0
30
-1
0
0
0
0
0
-21
0
0
0
0
0
0
-8
0
0
2
0
0
0
-9
0
0
0
0
0
0
-39
0
0
-5
0
0
0
24
0
0
0
0
0
0
52
0
0
0
1
0
0
-86
0
0
0
0
0
0
55
0
0
0
0
0
0
-59
0
0
0
0
0
0
-15
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
-2
0
0
3
0
2
0
0
0
0
2
0
0
0
0
0
0
-13
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
-99
0
0
0
14
-2
30
52
-100
104
1
0
-57
18
0
0
1
0
0
-32
9
0
-48
87
72
-1
32
39
0
0
-20
21
1
24
-37
0
-16
-92
-32
0
126
-35
0
0
-40
0
-6
39
20
0
1
-31
32
-1
31
0
-6
0
0
-4
49
0
-29
-57
-43
0
0
0
0
-34
-6
0
-12
0
0
40
-60
-10
-80
-21
-20
0
34
-23
0
-7
11
0
-10
28
-1
-13
27
-127
50
3
-49
-15
0
5
-68
0
-29
13
6
0
0
-34
124
11
-3
56
0
0
-20
26
-6
7
0
0
0
-2
78
14
0
3
-1
0
0
26
0
0
-20
7
0
0
0
0
0
-92
0
52
6
7
0
-14
-7
0
72
77
-33
35
0
57
15
75
-49
0
1
-24
-41
0
-37
-41
-13
7
39
-39
0
-91
109
-10
-16
0
-35
0
0
-41
-23
4
0
0
0
12
0
0
1
0
-37
-10
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
0
-4
0
0
-9
76
0
-3
-7
0
0
1
34
0
0
0
0
0
0
12
0
0
9
0
0
0
121
0
0
0
0
0
0
-3
0
-4
0
-17
0
0
-2
0
0
0
0
2
0
-137
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
-3
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
-6
0
18
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
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-81
0
0
-1
0
0
-2
-44
0
0
-5
0
0
-7
-8
0
-1
-1
0
0
0
12
0
0
-1
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
-38
0
0
0
0
0
0
2
-1
0
0
0
0
0
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
-30
0
0
0
0
0
0
-27
0
0
6
0
0
0
-33
0
0
0
0
0
0
-3
0
0
0
0
0
0
-40
0
0
0
0
8
0
-2
0
0
0
0
0
0
-75
0
0
0
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
7
17
0
0
15
0
0
52
-30
0
78
3
-19
0
-31
1
0
0
1
0
0
0
-42
0
0
0
-15
11
0
-67
0
0
0
0
0
0
1
0
4
0
-4
4
0
51
0
0
0
0
0
0
49
-2
0
0
0
0
0
-17
0
0
0
0
0
0
-85
0
0
4
0
0
-48
-20
0
0
0
0
-10
2
-79
0
13
11
0
0
5
48
2
0
15
0
-61
0
-41
0
0
0
0
0
0
-6
0
0
0
0
1
0
-5
0
0
0
0
-3
0
-103
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-11
0
0
0
0
18
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
-4
0
26
0
-10
0
-1
0
0
2
0
-22
0
0
0
0
0
0
-30
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
15
-29
0
22
0
6
0
75
51
-26
16
0
0
18
-19
0
0
-37
0
0
-105
75
0
78
39
0
-24
26
-17
0
0
-38
0
-66
84
33
0
0
20
0
4
-36
-5
0
0
56
0
68
1
5
0
-20
17
0
0
-12
14
0
0
-3
0
4
0
55
16
74
0
0
0
0
47
6
0
-6
0
0
13
-1
0
24
-10
0
7
28
32
0
0
61
0
-26
5
24
0
0
-8
0
9
93
1
0
0
18
0
44
-27
-49
0
0
13
0
-10
-11
11
0
0
108
0
28
0
13
0
0
-33
0
59
0
14
-16
0
0
0
-21
0
99
0
0
0
0
0
0
-34
0
52
3
0
0
41
59
0
1
-6
0
8
-56
93
0
-11
54
0
29
20
-34
0
0
-18
7
-3
1
48
0
-74
9
0
-2
0
33
0
0
-64
0
56
0
37
0
-75
15
0
13
0
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
17
-22
0
1
-3
-1
2
-8
-37
-59
-48
31
-7
-25
12
11
23
33
-14
-8
22
16
-10
-58
-15
-20
0
14
13
87
11
18
26
0
69
22
0
-48
19
-6
0
97
34
0
4
39
109
0
29
-23
0
-19
37
-6
0
60
67
-22
-5
-14
68
0
0
-12
-44
7
10
-58
0
-49
-5
-62
-11
-23
-18
0
41
11
96
-144
-6
-31
20
22
14
6
107
17
-14
19
79
28
-28
-53
33
17
0
60
43
-10
-11
71
19
0
130
40
6
17
72
21
-24
128
18
0
-23
88
106
0
-1
49
3
-33
9
-4
-1
0
-27
-66
-4
0
-24
0
-13
-9
-111
-11
-2
-101
0
4
-63
1
-15
-18
-3
15
-105
4
-6
-21
-46
-28
-2
53
28
-46
43
-16
58
-9
1
39
3
6
69
53
0
-35
30
0
36
148
-37
0
11
-23
-1
-2
55
25
0
0
-15
0
-62
47
4
0
0
-22
2
38
-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
0
0
0
0
0
0
0
0
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
-80
0
0
0
0
0
-1
-1
0
0
3
0
0
14
-69
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
-7
0
0
0
0
0
0
-56
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
-69
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
-2
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
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
-111
0
-2
0
0
0
2
-16
0
0
-30
0
0
-40
8
0
-3
-42
-11
0
-43
-21
0
0
8
0
0
0
-7
0
0
-11
-25
19
0
-132
0
0
-12
0
5
0
-27
0
-31
0
5
0
0
-15
0
0
0
0
-21
0
0
0
2
0
0
0
0
-10
0
0
0
0
0
17
3
0
0
-11
0
0
0
-3
0
0
0
0
0
3
-6
0
0
-32
0
0
0
-26
0
0
0
0
0
0
53
0
0
2
0
1
0
38
0
0
0
0
11
0
-15
0
0
0
1
-12
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
-26
4
0
0
0
0
0
-45
0
0
39
0
0
0
2
0
4
0
0
0
0
6
0
0
0
-3
3
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
0
0
0
0
0
0
0
0
0
0
0
-13
-40
-60
-4
-32
18
-2
0
10
-20
-1
-44
-5
19
-24
-33
149
1
26
4
41
-42
-6
132
-141
-69
-45
-50
-49
13
6
17
-6
32
-21
-107
-14
15
17
-40
-13
-42
-8
-49
-2
-22
-48
-49
31
-1
59
-2
-3
44
-3
22
0
-9
-1
13
-1
-33
75
6
-21
16
12
80
-2
-5
50
-4
-79
20
14
-54
-8
-51
-24
4
-19
-10
-4
54
-95
5
-26
-25
0
-71
-2
-43
1
-4
35
-79
50
-37
-85
-2
-7
44
2
7
-3
25
52
-22
-10
49
45
-8
-26
60
-7
-23
-24
-78
-3
8
11
0
-5
-1
-5
-52
28
5
-124
-12
-4
4
0
-54
5
50
-58
41
-9
1
50
-25
-31
-85
12
-34
0
60
-8
20
-91
26
74
-11
27
2
0
13
-12
70
19
3
-9
5
-48
-108
15
-22
-12
-2
-1
-16
37
-11
32
4
38
6
35
18
-17
-19
0
-42
-1
-3
-1
-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
-54
0
0
0
0
0
0
-66
0
0
13
0
0
-1
-1
0
0
-1
0
0
1
-34
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-52
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
-29
0
0
0
0
0
0
-11
0
0
0
0
0
0
-106
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-38
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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
-1
0
0
-1
39
0
-1
-1
0
0
-1
12
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-32
0
0
0
0
0
0
-3
0
-2
0
-1
0
0
-9
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
-1
0
0
0
-58
0
0
0
0
0
0
-33
0
0
-2
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
2
0
0
-46
0
0
0
0
0
0
-4
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
-7
0
0
33
0
0
-31
64
0
-2
30
54
0
25
1
0
-4
-9
0
-1
-4
-52
0
0
6
0
0
0
-25
0
0
-11
0
0
0
8
0
44
7
0
-5
0
-4
0
0
0
0
16
0
-5
-1
0
0
0
0
0
28
0
0
0
0
0
0
76
0
0
3
0
0
7
20
0
0
0
0
0
-1
-30
0
0
8
0
16
-4
-94
0
0
-3
0
49
0
35
0
0
-4
0
0
0
-125
0
0
0
0
-18
0
9
0
0
23
0
-34
0
-55
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-62
0
29
0
0
0
0
-19
0
0
0
0
-3
0
52
0
0
0
0
1
0
-39
0
-2
0
0
0
0
10
0
0
6
0
0
0
80
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
44
-25
-18
167
-6
0
191
15
0
0
56
0
0
-14
-49
19
25
-30
13
0
-3
-13
-15
4
-57
0
0
-45
-17
0
0
-64
13
0
39
-58
0
0
17
0
0
0
-22
0
-119
-28
29
0
0
-58
0
7
0
-3
0
0
13
27
14
0
-3
0
0
23
77
0
15
0
0
128
-9
-45
-61
-58
-16
0
-45
-7
0
-9
39
0
0
16
-12
0
-4
-19
30
0
52
23
1
0
65
-1
0
-19
-62
0
3
-43
21
0
0
41
0
0
82
0
0
0
-5
0
0
81
-39
0
0
18
6
0
0
0
0
0
-27
-56
0
-4
-21
0
17
38
0
-130
19
0
0
-11
11
0
85
8
-1
0
81
17
0
2
-47
-4
0
48
37
0
60
25
5
0
15
-45
4
-77
31
16
0
5
-5
0
-26
32
-21
0
7
26
-1
-23
0
0
0
0
34
35
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
13
0
-1
-64
0
0
-22
1
22
16
-11
16
0
-32
-89
0
0
-28
0
0
-1
6
0
0
-58
41
0
0
35
0
0
5
0
0
0
35
0
10
-2
28
0
0
10
-2
0
0
0
5
0
81
19
6
0
0
0
0
-65
36
0
2
0
0
29
101
-6
-18
16
-6
0
14
20
0
-6
16
0
19
-10
-46
-1
21
4
0
-10
0
-46
0
-11
-11
0
0
-6
-31
0
0
72
-24
1
0
107
0
0
0
0
11
0
11
0
0
0
0
-55
0
47
0
0
0
0
0
0
-6
-12
0
-2
0
0
0
-6
0
-7
3
0
0
0
-39
0
-3
0
0
0
0
-4
0
60
9
0
0
0
-115
0
0
7
-3
0
0
22
0
6
-9
0
0
0
-46
0
0
0
0
0
0
-15
0
51
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
27
35
-3
-14
29
-14
62
60
-6
-48
-72
46
-2
47
36
-3
-18
-10
84
-8
7
27
-7
63
64
41
-19
53
-18
-1
-40
22
7
-25
-3
-48
-39
59
6
17
14
-26
-102
-8
4
0
-7
20
-3
5
11
31
-13
-55
6
24
-147
0
-100
-161
-95
50
-52
-84
-25
8
-90
-84
9
-76
34
-25
79
29
-25
56
-16
-51
-15
72
-42
1
2
-15
5
3
14
13
37
105
60
-7
-25
-35
34
31
22
-42
-6
-10
34
33
3
98
-38
67
-25
51
-55
22
21
-1
-79
-9
-56
21
-52
53
-51
-96
0
-94
-10
-112
-49
-134
-150
-30
5
-78
-94
-99
-65
15
-15
4
14
-10
-42
32
36
-11
4
60
43
-65
15
3
-20
55
22
-10
26
21
8
8
-40
57
-10
43
-10
87
-39
52
-10
-43
91
15
10
10
-80
1
-52
-46
-20
-77
16
-103
-9
-45
-52
-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
154
85
15
13
39
0
9
50
56
-12
32
32
-32
-29
10
-2
-16
45
96
-17
93
8
-24
-5
7
-2
-33
-5
21
-8
4
-4
7
-4
-58
36
-44
0
35
53
-15
-85
7
-65
3
-2
0
96
-57
0
26
-39
15
4
-21
24
7
16
-45
15
59
0
0
48
56
112
192
156
168
72
81
12
3
-72
18
45
-80
-49
9
37
-58
52
24
4
33
-9
28
-2
62
-23
87
35
-5
0
55
-23
60
71
-17
-30
0
0
-25
1
-6
2
-7
0
5
-50
48
-13
0
-19
-10
0
0
0
4
-5
11
32
51
-20
22
0
93
56
-40
33
-39
2
37
53
22
-20
-13
-2
33
-10
-74
-68
28
1
114
-9
22
-41
-11
5
-105
90
-92
-45
-10
-65
0
-4
83
-7
17
13
15
10
9
0
60
-37
-3
15
0
78
-48
-1
34
0
-62
45
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
12
35
-39
-2
-18
41
-3
31
54
15
7
40
-95
32
103
-24
84
18
-42
61
18
0
-4
-92
42
118
-6
-9
0
-10
-98
29
-94
11
-40
0
-16
-29
10
-20
0
-120
-2
-1
0
-11
-25
0
108
24
26
0
-87
-9
17
10
-113
10
25
0
13
66
45
32
-29
115
122
-39
-51
12
-2
-18
-20
-1
-93
-14
-5
92
-67
-30
67
86
-118
-6
40
26
-59
-10
30
-8
-63
2
3
-115
-32
-11
-8
-40
31
43
33
0
-29
0
-24
2
0
-16
-56
-67
4
-17
0
0
0
-1
13
-20
-44
-93
-23
9
-5
17
9
-44
5
84
-20
0
-1
-31
-19
5
32
-77
4
-1
38
-5
11
-51
-46
18
-4
54
28
-2
58
-30
-19
33
4
53
36
-138
-96
-16
16
0
-37
2
2
-3
-106
-3
0
-60
7
10
1
0
2
0
25
-35
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
266
50
62
-22
-133
0
22
60
-10
-73
23
33
-72
8
2
-42
5
-38
-21
19
-18
57
29
0
16
-68
24
8
51
-3
0
17
54
0
98
8
4
0
12
-121
-16
32
-2
-5
-6
-6
18
0
57
0
64
27
113
0
84
-2
-5
-16
23
17
-27
7
3
85
50
11
80
97
37
2
4
-24
-1
79
-21
-28
-81
34
39
21
-28
6
124
61
2
21
0
-65
-37
-38
60
-4
-27
0
-75
-47
49
11
-1
-22
-2
-11
2
-1
32
0
-24
0
-2
-6
14
-43
0
25
44
-2
0
0
-7
-3
-30
-35
-7
0
20
-4
24
-6
17
-130
-15
-3
10
74
28
-13
-9
-38
11
-49
57
37
-5
-5
1
6
65
21
-15
-9
97
68
67
-12
4
8
0
76
11
45
-1
0
-33
-14
8
-120
-135
-69
5
-31
0
42
-4
0
25
0
-27
-41
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
57
-12
0
-16
-3
0
7
68
-65
0
40
-41
0
0
23
-3
0
1
-56
0
-3
-7
-39
0
0
-21
0
0
0
-7
0
101
-8
-1
0
0
43
0
0
0
0
2
0
42
-17
0
0
0
0
0
-83
-1
0
0
0
0
0
35
0
0
-19
0
0
0
25
0
0
-2
0
0
-15
-17
0
3
-107
0
0
20
65
0
-2
5
0
0
-2
-65
0
0
-35
-8
16
0
51
0
0
0
0
0
0
-17
0
0
0
0
41
0
-17
0
0
0
0
-25
0
31
3
11
0
0
0
0
39
0
-24
-2
0
0
0
-102
0
-1
0
0
0
0
20
0
0
54
0
0
-1
-59
0
5
-15
0
0
-7
-88
0
-11
-1
0
-5
0
26
0
0
0
0
-2
0
-43
0
-14
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
-2
34
0
0
-3
0
0
0
0
0
5
5
0
0
0
-35
0
0
0
0
0
0
29
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
5
0
0
0
0
-1
0
0
0
0
0
0
-70
0
2
0
0
0
0
-38
2
0
0
0
0
0
-17
0
0
0
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
15
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
1
0
0
0
0
-2
0
0
0
0
0
0
23
0
-5
0
0
0
0
-8
0
0
0
3
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
107
30
16
18
-6
8
-5
46
-12
-21
-15
26
-13
-88
12
-81
-3
-13
-21
-3
-29
62
-23
0
2
23
-8
-23
-6
-50
0
-3
-80
-8
5
1
-12
0
3
18
-1
-3
0
39
-32
-33
11
-24
-1
0
-17
143
-132
4
2
-11
43
43
5
45
52
1
-8
45
0
5
37
-53
-4
135
-81
26
30
38
41
21
1
-7
-43
1
27
61
6
3
-10
-61
-10
-23
-63
-20
-91
5
-25
0
-1
-7
3
14
7
36
0
-4
20
106
-12
0
28
38
0
0
0
-4
0
-6
138
-24
4
1
14
19
-34
-5
80
-10
0
-6
19
-37
-3
16
30
-33
0
-19
7
24
-32
39
-4
49
9
-67
-14
4
49
-48
-25
-29
-29
-8
50
-4
-5
-85
-4
-8
-4
4
108
-63
-38
0
27
0
17
18
0
33
0
5
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-8
-48
-16
-80
46
-13
41
28
15
-73
-63
30
-8
-43
38
18
-89
-58
40
-6
-56
-95
31
-60
-21
-81
-39
105
-37
-61
19
-38
-13
-4
-44
-15
22
81
-11
7
-13
35
-46
-78
66
-19
12
2
39
-159
-57
-152
-3
-22
0
-15
-2
14
50
27
-26
20
-25
13
-49
1
-69
16
7
-8
75
-26
-58
-18
-16
-11
-73
-9
16
66
-60
47
-28
-39
-142
9
-10
46
20
-23
18
-26
72
-24
-19
-10
-34
39
43
81
0
-31
-39
11
0
-69
-15
6
-50
-119
-1
52
-62
-100
-2
13
-77
0
-85
68
-6
-95
-25
-94
-20
-50
8
-12
-34
-20
4
-25
33
1
-54
51
84
33
-13
175
77
6
6
-28
47
-5
-12
33
-6
-4
106
15
25
-55
-9
29
11
-49
57
-17
-33
18
-51
-36
1
-75
5
24
16
-74
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-93
-120
-2
0
-11
97
0
4
-36
0
0
-16
-6
0
0
0
2
0
0
-102
0
0
-2
0
0
0
-23
0
-18
0
-4
0
0
106
0
0
0
0
0
0
3
-1
0
0
0
0
0
42
10
-1
1
0
0
0
-60
0
4
32
-12
0
-3
11
0
3
-2
0
-16
9
7
0
0
-3
5
80
0
-32
0
9
-1
0
-4
0
63
0
0
14
-18
-4
0
-8
0
0
-5
0
-62
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
124
0
0
-19
-4
0
0
38
-3
-4
-4
0
0
0
26
5
-8
-4
0
0
1
-43
0
10
0
0
0
0
69
0
-14
0
0
0
0
-68
0
-1
0
0
0
0
51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-158
-11
33
0
7
90
0
0
0
0
0
-6
15
0
0
16
-14
0
0
13
0
0
0
0
0
0
31
0
-21
0
4
0
0
4
0
0
0
0
6
0
-31
0
6
0
0
0
0
-37
-20
0
-19
0
0
0
113
0
0
0
0
0
-11
-55
0
0
8
0
0
7
90
0
0
21
0
0
4
130
0
0
0
0
0
0
29
0
0
-2
-34
0
0
4
0
0
0
0
0
0
12
0
0
0
0
0
0
-148
0
0
0
0
0
0
12
-20
0
0
0
0
0
2
-18
-6
7
0
0
0
-102
0
3
0
0
0
0
-48
0
-5
0
0
0
0
-58
0
0
0
3
0
0
6
0
0
0
0
0
0
13
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-101
-31
-31
-21
-39
48
17
107
9
-30
-12
65
34
24
-6
4
55
4
93
-7
8
-6
78
-32
-6
2
-54
-3
-6
-6
36
-9
-107
-6
-14
-4
-21
-69
-1
54
1
22
-71
-50
-2
47
-25
-11
12
8
0
14
27
93
92
74
150
46
62
-16
33
14
42
-82
122
-88
4
-4
34
1
150
-2
21
53
19
-6
28
-4
70
1
51
43
-10
33
71
61
5
-24
35
-15
4
-11
-2
14
48
88
-14
-12
-6
-21
4
-13
34
0
10
9
-5
0
0
58
166
39
68
118
-17
-65
0
96
35
4
23
-101
36
-89
8
33
24
105
51
75
87
6
43
72
22
-29
-7
-88
-35
2
-83
40
-18
-4
24
-80
11
1
-21
9
21
25
38
-26
57
9
-122
-26
56
-1
-8
-2
32
-28
9
60
0
-33
97
-9
0
48
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
0
28
-9
0
0
0
-71
0
0
0
0
0
0
52
0
0
0
0
0
0
124
0
0
0
0
0
0
30
0
-13
-8
0
0
0
89
0
0
0
0
0
0
-9
0
10
0
0
0
0
21
0
0
0
0
0
0
11
0
0
1
0
0
0
-96
0
0
22
0
0
0
-45
0
0
2
0
0
3
-36
0
0
2
0
0
0
-70
0
0
5
0
0
0
-79
0
0
0
0
0
0
-62
0
0
0
0
0
0
62
0
0
0
0
0
0
28
0
0
0
0
0
0
-37
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
3
0
0
0
0
-9
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
53
-3
0
4
12
-28
0
-9
50
0
3
-3
0
0
0
9
0
0
0
0
0
0
-49
0
0
-8
0
0
0
-34
0
111
0
-13
0
0
-80
0
0
0
0
0
0
-18
0
0
0
0
0
0
-33
-15
-10
-27
0
0
4
121
0
0
4
8
0
4
48
0
0
22
0
0
-19
-26
0
0
40
-6
0
0
70
0
0
-9
0
0
-6
85
0
0
1
13
0
0
97
0
0
0
0
0
0
1
0
0
0
11
0
0
-79
0
0
0
0
0
0
-96
0
0
0
0
0
0
134
0
-3
19
0
0
0
100
0
-7
3
0
0
0
-103
0
-1
2
0
0
0
-40
0
0
0
0
0
0
-24
0
1
-7
0
0
0
81
0
0
-5
0
0
0
-8
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-14
56
15
14
36
-109
-47
14
6
-32
37
-58
29
-8
-3
-2
25
20
-30
2
-27
116
8
24
21
4
7
6
-1
8
-2
-50
-68
0
-18
5
26
-1
32
9
6
66
32
78
73
42
-8
-48
-35
-2
70
-1
33
-12
-31
-11
-13
68
-5
46
-13
10
15
172
-11
-42
-46
22
106
-27
-19
-10
10
-111
-9
65
-7
4
38
17
23
11
-8
-20
8
-28
63
-14
13
-1
-8
-4
-2
30
-36
10
0
-33
-12
-5
0
-31
29
-1
42
40
-15
42
-8
-2
-23
-27
-44
41
56
29
-3
-11
10
74
0
1
2
2
-8
-27
27
-60
-8
94
4
14
-38
86
61
23
-42
28
-7
27
13
-58
-2
-28
231
3
15
123
-22
63
27
-19
-14
-7
-4
8
-48
16
14
-1
-7
-163
47
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-68
-36
-43
-20
-47
30
40
48
-27
31
39
31
34
-10
-31
26
87
-40
-11
14
-45
-21
-19
52
-59
-9
-2
-4
63
-20
124
49
1
-28
22
-42
-1
54
30
-28
4
6
-105
53
7
-111
-34
23
28
-29
-17
-16
84
-178
0
41
-15
-16
6
107
-123
-3
86
-59
-26
0
101
-16
5
79
25
-22
-22
24
-98
0
-58
-34
54
40
9
16
-3
-13
-36
57
24
10
-37
17
-7
-39
74
10
38
2
13
99
14
5
98
-27
-15
59
59
2
-12
-34
-32
-31
-40
-72
-30
-75
13
-9
-30
0
174
137
-37
-5
16
-155
-12
80
-45
-76
5
0
-107
-6
-78
-127
-53
-12
40
-33
19
7
18
-30
21
-59
82
26
-1
-8
29
56
-28
54
8
4
-8
40
113
-12
-2
-25
-7
-5
51
84
-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
131
54
0
0
5
0
0
19
-6
0
0
28
0
0
0
76
0
2
8
0
0
0
-108
0
38
0
13
0
0
-21
0
0
0
0
0
0
20
3
0
0
0
0
0
-53
-2
0
0
0
0
-12
99
0
-7
-9
0
0
-1
-140
0
-6
49
0
-14
-1
45
0
6
-177
0
0
0
27
0
1
-2
3
1
0
-50
0
0
-7
-9
3
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
28
0
0
0
0
0
0
55
-5
0
11
0
0
0
-39
0
-6
0
0
0
0
158
0
0
9
0
0
0
-94
0
0
0
0
0
23
-54
0
-7
37
0
0
0
28
0
-2
4
0
0
0
-10
0
0
0
0
0
0
119
0
3
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-34
-55
-136
89
-8
-44
-18
40
-65
3
-18
-76
28
-1
13
-78
-10
-1
-38
-4
-12
-20
15
0
22
-1
2
-2
-2
-52
1
-70
0
73
-90
-21
0
68
11
-4
-58
12
28
-29
-16
-9
20
12
-110
-2
28
-7
94
-65
-35
16
15
48
-14
27
70
-17
50
-2
-51
7
114
41
-25
-7
19
83
-97
24
-100
16
-6
-47
-8
7
-112
4
-18
-12
-11
49
-33
-66
1
26
-6
-9
-9
-108
48
0
9
-33
-13
0
-2
120
51
-56
24
-36
-27
1
0
-29
42
-107
60
63
-23
14
18
-21
43
6
69
52
-7
26
51
29
-154
-48
21
149
70
-66
-7
-27
94
48
-32
-29
5
-7
-29
26
-48
6
78
-10
-12
-3
-104
71
5
-5
-28
0
-126
11
3
23
0
-59
-93
19
-3
46
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
52
-55
-13
-11
-25
-6
-39
38
-29
-12
36
69
-4
-37
-11
-54
49
70
-5
0
-2
-8
8
-30
-32
-10
21
163
6
-17
36
-32
2
33
13
4
0
16
-29
13
55
-33
-95
-41
51
-6
-54
-2
62
74
-21
4
33
-41
-8
-3
53
-37
18
-86
-4
39
-3
-19
23
-36
73
35
-6
13
-5
-5
8
-16
-71
11
28
-60
-10
9
11
31
7
4
-42
102
18
8
-29
25
86
54
-58
-41
4
0
22
1
11
0
-42
-38
-22
80
-6
9
-26
1
67
-2
-26
23
87
79
-3
-42
-75
12
-14
58
-55
31
-59
-16
56
135
15
14
-41
-122
0
-2
-9
27
-55
-54
-69
-11
13
-50
-93
-53
-76
-41
14
-9
22
-36
44
4
-63
40
-4
-2
8
-62
-20
34
-8
44
43
-6
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
15
-4
-11
5
1
144
-9
-21
0
-32
-47
0
108
84
-25
0
-6
32
0
55
107
-24
22
-20
13
-8
-31
0
9
0
2
3
0
13
0
-6
36
-8
0
14
7
0
-6
-50
-11
51
-17
0
13
-20
71
-21
-3
-27
0
35
-11
2
50
-41
0
12
31
7
-17
44
-39
0
-90
99
15
0
-6
32
26
-14
33
-27
-17
-5
52
-69
8
67
-6
-18
0
34
0
25
-17
25
0
-2
5
0
5
0
-5
-16
0
0
0
-101
-32
-18
-17
-42
7
0
0
-41
-1
-51
10
-55
0
12
42
-36
-3
-22
-16
0
0
21
24
2
-49
-27
-5
52
31
-17
6
-42
53
0
-95
-57
63
-19
-13
-22
10
107
181
-2
0
8
64
22
16
0
-8
0
9
-19
0
43
0
-31
-64
-8
-10
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
2
36
0
31
91
0
0
-17
-29
0
0
-72
0
0
16
-91
0
0
-5
0
0
0
-42
0
12
-3
-40
0
0
-5
0
-9
0
0
0
0
59
-4
-24
0
-1
0
0
53
0
0
0
0
0
0
56
0
-1
4
-63
0
64
2
0
0
33
0
0
-12
-16
0
0
-69
4
0
75
-23
0
18
12
0
0
53
-12
0
0
-8
5
0
0
18
0
0
26
0
0
0
92
0
0
0
21
0
0
67
0
0
0
0
0
0
-36
0
0
0
0
0
0
87
0
-7
-4
0
0
13
71
0
-2
18
20
0
0
79
0
-11
115
0
0
26
-17
0
0
-36
44
0
-1
-3
0
7
50
0
0
0
18
0
0
0
0
0
0
-30
0
-38
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-104
-22
31
-17
44
-17
29
-67
-2
30
-39
51
-31
-4
2
-27
26
-35
-11
2
22
37
-6
-11
-68
0
41
6
-9
-2
25
-14
0
30
48
24
75
21
-10
35
31
-86
-11
58
0
19
17
1
-4
20
4
5
14
-195
21
60
-52
-8
6
-54
-68
5
-81
94
-19
15
31
56
22
-38
60
-11
-40
41
22
-14
-20
-68
1
-23
15
-15
2
-3
74
39
-9
24
8
25
-15
11
-1
37
77
-5
-22
-29
71
5
40
0
20
-20
-67
-36
36
-16
-19
182
17
33
-17
-16
-32
27
-3
-12
-71
74
3
29
-109
-22
2
-56
58
25
-17
-6
10
20
14
0
-10
-69
107
-16
-14
-1
85
71
-8
53
13
8
6
15
38
3
87
-1
42
0
-25
48
-44
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
50
-122
-18
-12
-27
-6
28
-64
23
16
24
-25
71
-21
-16
-11
110
8
-140
11
-15
33
-24
71
-17
-57
3
-7
44
-19
13
33
-108
-38
17
19
-38
-22
-1
0
-53
10
31
-61
53
-26
-93
-20
8
42
15
2
-25
52
-18
0
-24
42
66
-3
-71
-9
6
-16
-88
-7
-27
-24
-15
31
-20
-12
11
-33
7
60
-9
-66
44
9
-14
8
-115
-17
-39
-39
-82
53
-12
-5
8
54
-19
-15
43
40
12
27
53
-11
48
0
-4
-21
-22
109
-13
39
-82
-68
-12
27
29
-5
36
-27
146
-29
0
-26
-31
-54
40
15
-42
4
85
44
-66
17
38
-44
14
8
-19
-9
-77
104
-11
22
107
-25
79
-37
37
-29
4
11
-8
-36
76
63
7
63
-75
-76
45
-56
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
-15
0
0
-4
0
0
0
-26
0
31
2
0
0
0
-39
0
0
0
0
1
0
67
0
0
0
0
0
0
3
0
0
-8
0
0
0
-7
0
1
-1
3
0
0
1
0
0
14
0
0
0
60
0
0
16
0
0
15
13
0
-2
0
0
0
0
-58
0
0
-8
-19
0
0
33
0
0
0
0
17
0
33
0
0
0
0
0
0
-32
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
7
1
0
0
0
-36
0
0
-4
0
0
0
32
0
0
-13
0
0
1
-59
0
0
-2
0
0
0
28
0
0
0
0
0
0
22
0
0
7
0
0
0
71
0
18
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
58
0
0
59
10
0
9
4
0
0
-19
0
-15
0
-34
0
17
0
42
0
0
-9
0
0
0
0
20
0
29
-19
-17
0
-2
0
0
2
-21
-3
0
0
0
1
89
0
0
-20
52
0
14
-165
0
0
28
0
-2
-8
7
0
0
47
0
10
-2
24
0
0
-16
0
-6
0
52
0
-11
48
2
11
0
31
0
0
0
0
-8
0
-12
0
0
12
0
-4
0
34
0
0
0
0
0
11
-81
11
0
0
0
0
0
8
35
0
9
0
0
0
-183
0
0
21
16
0
-6
-12
0
-5
10
0
0
0
-23
0
0
0
-3
0
22
27
0
-40
1
0
0
0
-26
0
0
0
-25
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-75
32
-11
40
-21
0
-45
-112
17
30
13
31
0
19
-5
-9
-98
0
-13
-3
-8
-2
-2
21
0
17
-20
-47
0
52
-2
-48
79
43
43
-59
48
-18
-76
25
32
-97
62
31
-28
0
-15
28
-47
-8
-7
41
-19
-16
0
72
-20
78
-90
26
19
-40
106
-46
3
-12
26
37
0
-3
-50
64
15
-28
6
-32
-7
21
11
29
-7
-43
4
-4
0
15
-3
0
24
-20
4
0
0
19
1
42
5
-5
20
76
4
81
-31
1
-7
-11
0
0
25
69
46
-88
39
32
3
19
-21
35
-44
-27
7
47
-39
15
-24
13
36
56
13
66
-1
0
-24
-55
-7
59
-6
28
0
27
-5
12
50
-3
-6
0
30
0
0
-78
0
42
-97
-3
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
-35
101
0
0
62
15
0
-5
-78
0
0
-3
0
0
0
-50
0
-92
0
0
0
0
44
0
0
0
0
0
0
11
-11
0
0
0
0
0
41
-15
0
-9
0
0
-2
-130
-33
0
-17
0
0
0
84
0
0
-6
0
0
8
100
0
0
-25
-5
0
-8
29
0
0
14
0
0
15
47
0
0
1
0
0
0
-58
0
0
0
0
0
0
98
0
0
0
0
14
0
22
0
0
0
0
0
0
-43
0
0
0
0
0
0
2
0
-10
3
0
0
0
5
0
0
0
-5
0
-12
-8
0
-15
5
0
0
0
37
0
0
-3
0
0
0
-36
0
24
14
0
0
0
-45
0
0
13
0
0
0
-22
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
-81
0
0
5
-31
0
18
5
0
0
-5
34
0
58
0
-10
0
0
-65
0
0
0
0
0
0
22
-19
-26
0
0
0
0
28
-46
0
-3
0
0
74
-47
0
5
94
155
0
-9
-66
0
2
-32
0
0
29
75
51
0
57
28
0
-24
13
0
4
-18
0
0
10
-19
0
0
108
-41
0
8
44
0
7
-1
0
0
0
-35
0
0
0
-6
0
0
9
14
0
0
0
0
0
-20
-16
0
8
0
0
0
2
0
13
-5
0
0
-3
14
15
0
-146
-2
0
-22
12
-6
-16
-41
0
0
-17
-39
0
-2
8
-6
0
33
9
-15
24
-9
0
0
14
25
0
0
-14
3
0
0
-73
0
-32
0
8
0
0
63
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
-10
15
0
-68
0
61
-13
13
-44
0
41
0
-1
0
0
23
0
-12
37
66
0
-5
-7
0
29
-5
-9
42
-1
14
1
25
85
78
-17
21
19
15
-29
-14
30
63
-5
-3
-11
1
-20
72
-18
-68
3
-2
-51
25
-40
-5
34
28
0
45
0
8
-36
-44
53
0
8
-1
4
113
-32
21
0
37
0
-2
-7
-61
38
0
-49
-17
1
0
15
-9
0
-112
-14
10
29
16
8
-14
14
0
-51
67
0
45
15
-40
10
9
-103
-18
19
-7
-1
-2
13
-86
0
18
0
-21
-6
-38
-25
-111
-3
0
13
0
-109
-119
-1
7
0
-43
-3
7
15
75
-12
0
34
0
27
-9
-24
-5
0
7
-24
13
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
-36
-5
-34
-41
35
58
-13
-88
-5
4
-43
99
-11
23
119
-7
2
61
32
-16
-40
2
-42
-6
-6
2
16
61
-51
4
-9
15
38
43
3
34
11
3
-5
49
-47
-77
-64
-2
-9
53
-32
-65
-6
7
5
95
-7
22
-61
1
-22
0
-23
90
29
-18
-95
14
23
-37
4
22
-32
-28
-10
1
1
-14
80
-13
-12
-52
-7
0
-28
65
-12
1
0
-19
-28
-33
-11
45
9
10
0
-11
-39
-24
23
21
104
26
-67
-18
11
18
74
32
9
62
-68
49
-92
3
-22
16
-38
-25
4
46
-93
76
0
-58
-88
18
-25
-25
-22
3
12
2
2
6
-17
-41
30
-5
-73
49
-2
73
96
28
-7
-43
86
24
-15
-6
-2
-43
-12
24
12
-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
-69
0
0
0
0
0
0
15
0
-5
0
-2
0
0
-60
0
0
0
0
0
0
-5
0
18
0
0
0
0
-94
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
58
0
0
-9
0
0
3
34
0
0
0
0
0
0
21
0
0
0
0
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
-117
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-33
0
-8
0
0
0
22
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
-13
0
0
82
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
0
0
0
-32
0
-19
2
25
9
0
-13
0
0
0
0
0
0
-94
-9
3
0
-4
0
0
55
0
0
-32
0
0
43
12
0
0
0
-1
0
0
6
0
0
-22
0
0
41
-130
0
0
-15
-4
0
-28
31
0
0
0
0
0
-17
-23
0
0
0
-4
0
0
-38
0
0
14
0
-11
0
-47
0
0
0
0
8
0
3
0
0
0
0
0
0
-16
0
0
0
0
0
0
20
0
-4
0
0
0
0
30
0
0
0
0
0
0
-93
0
0
0
0
0
11
24
0
0
0
0
0
0
44
11
-6
-28
0
-20
0
-43
0
0
0
-5
0
0
3
0
17
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
-28
29
0
-21
-7
-25
53
-11
21
4
17
-4
-12
44
8
-15
-5
-2
0
2
-25
0
22
-15
-5
0
107
10
-8
36
91
44
-28
-9
-9
-56
-12
3
-3
23
-11
-95
-20
14
3
75
91
1
57
-9
-13
-7
-24
-47
-48
-130
67
-20
0
-67
5
74
-38
21
58
-16
-19
20
-11
-17
-28
22
-11
-2
-10
-1
32
-6
16
-2
-6
0
0
3
0
21
-32
-2
0
-23
-69
-2
30
-23
-2
0
13
0
67
32
39
-50
-56
-5
-31
-45
-3
23
27
11
-23
35
0
-34
24
-15
46
-17
9
-27
-23
-8
-73
3
-74
-54
-8
-24
0
40
-19
-25
13
0
31
0
0
0
-92
16
0
20
0
-78
0
-15
-34
0
47
-88
9
-3
-116
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-12
72
0
55
47
18
0
30
-60
0
-36
0
43
1
0
0
0
-28
0
-13
57
-45
0
0
28
17
-26
68
-7
-25
0
0
25
-66
9
-10
36
-3
-12
13
-18
-1
18
69
0
51
59
-12
0
13
-10
-1
39
-13
20
0
27
-55
-11
73
214
-23
0
7
35
0
6
-5
34
0
0
-12
0
107
0
2
0
-3
64
1
26
0
-5
45
0
0
0
18
0
-68
-10
-6
0
0
0
-6
42
-6
-12
-15
0
0
-24
-41
-12
-6
-52
0
4
31
-86
0
-25
-95
0
0
-19
1
-18
-1
40
0
37
-13
18
0
-105
37
0
-40
-11
-40
0
1
127
0
7
0
-30
0
9
0
0
-39
0
-25
27
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-8
0
0
0
60
0
11
-10
-25
0
0
-84
0
5
0
0
0
0
-59
42
-69
0
-2
0
0
28
0
0
-24
0
0
-1
0
0
0
79
-1
0
15
12
0
-4
-68
0
0
77
-41
0
0
-89
11
0
-48
-20
0
0
65
0
0
33
-20
0
0
-76
53
0
28
74
0
0
2
0
0
0
1
0
0
0
110
0
0
-40
0
0
0
3
0
0
35
2
0
0
0
0
0
-61
0
81
7
0
0
16
-5
48
-11
4
-1
0
15
21
0
0
52
0
0
-4
-38
0
5
105
-9
0
-4
40
0
-6
15
0
0
1
71
0
0
9
-35
0
0
19
0
21
0
0
0
0
-64
-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
72
0
90
3
-17
16
0
32
0
0
-39
0
15
0
3
61
29
0
-23
0
0
-14
-55
0
23
0
0
-5
43
47
-17
30
82
0
-1
29
0
16
26
0
31
14
-9
0
-18
-23
-5
16
0
-66
-2
0
68
0
-7
0
76
0
7
13
24
-2
0
-9
0
0
111
0
-33
0
50
0
0
0
-10
119
0
-10
0
0
0
0
0
0
-65
1
5
0
0
0
0
34
0
-69
-9
0
0
0
-57
0
4
-62
19
30
0
-22
0
9
-38
26
-22
0
-68
0
-53
-62
-26
38
0
30
0
145
-20
0
0
0
-41
0
0
-66
-63
-4
0
7
0
-17
-10
-24
2
0
68
13
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
19
21
-19
7
-64
-95
-55
146
38
-49
-64
-24
-1
-23
3
-32
-28
-1
-23
97
4
-6
76
-9
-75
-23
33
-3
41
-19
27
-10
-19
12
22
117
-81
26
5
-22
-6
37
-100
3
-9
-49
-35
35
-11
-64
5
40
25
20
4
0
-5
70
73
40
-28
-116
10
-7
-2
-23
-90
-23
-7
4
38
-43
-9
-56
1
-7
-19
-10
131
22
-119
-139
-93
1
32
-46
0
-104
72
6
3
-27
-83
36
-78
-96
-48
-14
84
23
-34
24
-23
-77
22
13
-13
-10
-37
8
-14
-4
-2
28
1
46
-23
-78
0
-46
29
-7
-9
-51
81
23
5
-3
26
18
-27
29
18
50
-60
-34
-63
34
-5
-5
-7
-8
22
-46
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
33
0
-5
0
0
0
0
-11
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
3
0
0
0
0
0
-10
0
0
0
0
0
0
55
0
0
0
0
0
0
42
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
-1
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
-71
0
0
0
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
-7
0
31
0
0
0
0
0
0
-4
0
0
0
0
-3
0
0
0
0
0
0
67
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
125
0
-7
0
0
1
0
2
0
0
0
0
0
0
-64
-8
-1
0
0
0
0
-152
0
0
0
0
0
0
38
0
0
4
-4
0
3
-3
0
0
-6
0
0
-1
92
-16
0
-16
0
14
0
-67
0
0
-5
-18
7
0
-33
0
0
4
10
2
0
-21
0
0
1
0
0
0
-20
0
0
0
0
7
0
2
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
-10
0
0
0
0
0
0
13
0
-3
0
0
0
0
22
0
0
0
0
0
0
42
0
0
0
-2
0
0
-23
0
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
0
27
0
-30
-25
-24
24
0
1
0
93
-73
0
-21
1
-101
0
51
1
15
-5
-35
0
-13
16
0
-16
15
-14
24
-15
39
-24
39
48
-9
26
52
0
-33
13
16
-3
-13
82
10
-76
38
-31
0
-6
-17
-26
-46
14
34
0
-14
-6
51
11
8
3
0
7
19
-1
44
71
74
0
0
0
-26
43
0
-13
29
0
0
5
59
0
14
2
0
13
18
-9
32
-58
0
-137
17
-5
-1
-94
4
-32
-33
-38
23
-25
-53
-25
-25
-42
-1
0
-73
-12
15
0
-10
-22
89
1
11
-38
0
-71
32
-58
7
20
40
0
0
-18
-4
41
0
44
2
-29
0
0
-10
0
-15
49
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-9
0
0
0
0
0
0
-21
-7
0
0
0
0
0
-137
0
0
0
0
0
5
-12
0
0
0
0
0
0
-4
0
0
1
0
0
2
34
0
0
-28
9
0
0
-11
0
0
18
0
0
35
-22
0
0
13
0
0
0
10
0
0
0
0
0
0
102
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
-5
0
-1
4
0
0
0
-20
0
0
0
0
0
0
5
0
0
-3
0
0
15
-22
0
0
-9
0
0
0
-36
0
0
15
0
0
0
63
0
0
-1
0
0
0
-35
0
-12
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
-3
0
-35
-8
93
0
0
68
0
0
0
0
0
0
-1
-5
-72
0
17
0
0
22
-3
0
24
0
0
-14
-9
0
19
50
-9
0
56
-17
0
3
11
0
0
-3
29
-4
0
41
36
0
-26
-7
0
-6
1
0
0
-9
53
0
0
38
41
0
24
-25
0
0
94
0
0
0
41
0
0
0
-50
0
0
17
0
0
0
0
0
0
57
0
0
0
0
0
0
-93
0
-38
24
0
0
0
-30
0
0
22
-1
0
0
49
0
0
36
0
0
-1
13
0
21
-30
15
0
0
45
0
78
28
0
0
0
-34
0
0
-12
14
0
0
49
0
40
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
86
0
0
3
0
-3
0
-30
-14
3
0
0
13
0
8
-10
0
0
0
0
0
-23
-4
11
-13
2
0
0
22
0
9
-8
0
0
0
71
0
0
164
10
0
0
-83
0
0
107
0
0
0
78
0
0
-7
18
0
0
11
0
0
-29
0
-16
0
-13
0
0
0
0
-13
0
61
0
0
0
0
0
0
-101
0
-6
0
0
0
0
-2
0
-33
0
0
0
0
-100
0
6
21
-13
0
0
-18
0
-4
-25
0
0
0
-48
0
0
-6
14
0
0
-22
0
-29
-1
0
0
0
110
0
0
0
-27
0
0
-93
0
-5
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-19
-14
-54
2
7
-29
47
5
7
4
4
-14
73
-53
-3
2
-15
-40
-11
125
-137
-30
-38
119
-7
-11
-86
125
62
-43
72
-15
19
13
15
19
-39
40
-6
-24
8
-83
30
68
24
30
3
40
-35
37
54
40
-47
0
-49
-28
-51
37
19
12
68
9
-8
-20
105
64
7
22
20
-5
-2
-24
97
43
-16
47
-44
12
-61
13
13
-9
82
-20
83
19
102
-24
6
29
-48
25
16
18
-95
-7
87
-38
13
-87
118
55
15
-68
73
5
-19
-64
-20
-21
16
1
35
-60
3
30
0
-5
-26
167
73
70
-9
50
5
29
-50
70
-26
0
53
-145
34
0
-87
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
19
0
0
0
-47
0
0
-2
0
0
0
-1
0
0
-3
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
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
-4
0
0
12
0
0
0
-2
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-7
-8
-5
12
-4
-1
-6
-3
-3
-1
36
12
73
4
5
53
-19
20
-50
54
-24
30
-150
-3
6
93
16
-22
-95
18
6
-27
4
6
-4
66
-81
25
22
49
46
2
-12
113
32
-72
21
11
-10
-31
4
86
68
-18
-87
38
2
9
108
4
63
-15
27
2
44
-57
41
15
-1
4
-10
12
-4
8
11
32
-26
52
-79
56
-19
-5
104
-41
17
-41
-16
-48
-14
111
-30
-45
-15
-55
-4
90
62
-4
-66
-18
-34
-22
10
31
-33
-10
-61
75
64
16
21
-39
-10
163
82
29
45
-26
7
-5
-5
10
21
150
7
-3
-4
2
34
-117
16
-1
13
-30
10
-46
-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
58
0
24
0
0
27
0
-108
-15
-32
0
45
0
0
-17
-9
0
2
0
0
-51
-48
-15
3
-59
25
-26
72
48
0
3
9
0
0
82
22
0
5
5
-71
54
-28
53
10
-4
35
11
-86
0
-64
0
20
0
20
15
0
-13
0
0
-17
-6
-9
0
55
0
-16
0
6
92
0
-74
12
0
0
0
0
0
-76
2
-5
7
0
0
-11
51
-23
-21
-17
0
0
8
20
-1
3
0
-16
-13
-25
-48
3
-10
63
0
0
0
9
0
-20
9
-9
67
12
14
0
-40
-25
2
12
0
23
0
0
0
9
-3
0
-23
0
37
0
0
107
0
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
0
0
0
0
0
0
0
0
0
0
0
45
36
0
-1
17
-13
18
0
-16
-76
16
0
0
12
1
18
34
-5
-8
0
8
49
13
15
17
37
-12
9
43
21
0
-25
4
0
-45
111
26
16
62
-13
3
58
132
4
0
-43
21
1
-22
78
-10
-12
34
75
5
-33
30
41
0
0
-8
0
69
0
50
0
0
-18
4
-19
0
-3
-33
-24
-1
0
-19
-3
25
-8
0
0
0
-2
49
-40
2
-143
-27
0
12
-78
71
0
-127
22
12
36
100
39
5
14
43
0
27
17
-27
0
51
-20
11
9
-48
31
0
-30
-57
0
14
5
22
0
0
46
74
-32
-5
15
0
-46
-20
0
9
0
9
58
-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
30
0
0
0
0
0
0
-2
-22
-5
0
10
0
0
-2
-4
0
0
0
0
14
74
0
0
-36
-8
0
55
-10
0
0
111
0
0
-44
-14
0
-12
17
43
0
57
60
0
0
-61
0
0
3
2
0
13
-9
17
0
2
-43
0
0
76
0
0
0
-9
0
0
-11
-5
0
0
-6
-12
0
0
0
0
0
10
0
0
0
0
0
0
9
0
-13
13
0
0
0
-108
0
-4
-23
0
0
49
-55
0
-18
34
0
0
0
43
0
0
-59
10
0
1
1
0
43
49
0
0
-14
9
0
0
-46
-3
0
0
-40
0
-48
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
-22
0
0
0
0
0
0
85
0
0
0
0
0
7
8
0
0
0
0
0
12
-36
0
0
-6
0
0
-6
-45
0
0
71
15
0
0
-3
0
10
1
0
0
0
31
0
0
0
-4
0
0
-71
0
0
1
0
0
0
-4
0
0
0
0
0
0
-69
0
0
0
0
0
0
-11
0
0
0
0
0
-2
13
0
0
9
0
0
0
81
0
0
0
0
0
0
-22
0
3
0
0
0
0
16
0
0
0
0
0
0
54
0
-14
0
0
0
0
16
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
-35
-1
33
17
18
19
54
-31
-37
66
-15
41
13
33
-100
-32
-20
-63
21
-13
60
-8
19
75
-24
21
7
23
-1
14
10
-58
83
28
43
67
4
12
43
37
-24
-36
-85
-11
-1
73
-15
-25
28
-5
-12
90
19
29
0
3
-20
-58
-10
30
2
4
123
3
0
12
8
27
48
-4
61
78
-37
66
-84
38
21
-36
20
55
55
-33
15
99
7
-51
13
66
30
23
-133
41
37
-79
30
-6
49
-50
51
1
-13
82
-104
-21
0
-30
-16
-34
28
-47
-29
-8
-13
28
-51
51
-6
0
4
35
61
-41
153
-1
46
15
-5
-18
-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
8
0
0
0
0
0
0
-69
5
0
0
0
0
0
20
0
0
0
0
0
0
-127
0
0
16
0
0
0
130
0
0
-2
0
0
0
29
0
0
0
0
0
0
-28
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
-73
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
4
0
0
0
-5
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
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
-26
-5
0
0
0
0
0
-29
0
0
0
0
0
-2
-17
0
0
-1
-2
0
-11
-67
0
18
-26
0
0
-5
27
0
0
11
0
0
0
44
0
0
7
0
0
0
51
0
0
-3
-1
0
0
-23
0
0
-7
0
0
0
67
0
0
0
0
0
0
-123
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
-1
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
-1
33
11
0
0
0
-5
0
0
0
0
0
0
-64
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
-4
-4
3
0
0
0
0
-113
0
0
0
0
0
0
-24
7
0
1
0
23
0
-17
0
0
0
0
-6
23
-172
0
0
-1
0
-4
1
69
0
0
0
0
-5
0
-162
0
0
0
-21
0
0
-43
0
0
0
0
28
0
197
0
0
0
0
-12
0
-11
0
0
0
0
0
0
-3
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
6
0
0
36
0
-1
0
0
0
0
14
0
0
0
0
0
0
-65
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
82
-8
0
0
0
0
0
89
0
0
0
0
0
-7
-1
3
0
0
0
0
0
23
0
0
5
0
0
0
-28
0
0
-11
0
0
0
-8
0
0
-3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
14
0
0
0
0
-2
0
-82
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
2
0
0
0
24
0
0
-1
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
12
0
-29
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
-83
18
5
0
15
0
-5
-19
-7
0
0
0
0
61
-1
0
-5
-15
30
0
135
38
0
54
-8
0
0
35
-17
0
22
39
-99
0
9
22
0
0
52
1
0
64
-18
0
0
-47
-35
0
-10
-24
0
-8
32
0
0
2
48
0
0
-10
-28
0
0
-36
0
0
0
0
0
0
-36
0
0
3
-2
0
0
-65
0
21
-24
0
0
12
67
0
3
133
33
0
0
-15
0
-10
-1
0
0
-16
12
0
-4
-21
-9
0
-6
19
0
71
40
0
0
-18
-49
0
0
-52
76
0
0
-19
0
-38
0
0
0
0
-18
-26
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
-6
0
0
0
0
0
-1
-10
0
0
0
0
0
6
-31
0
0
0
0
0
0
2
0
0
0
0
0
1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
4
24
33
59
-4
-25
7
66
7
3
57
59
-8
-73
-1
75
-2
-6
38
-24
-47
1
11
56
18
-10
-14
167
16
0
-19
14
39
-12
-53
-132
-26
11
-29
-36
-8
48
53
-87
-13
-16
-30
-26
-50
-39
90
41
-10
-35
0
-56
-73
-47
-42
-14
-11
16
5
-62
-26
42
9
97
-14
41
68
45
-77
126
123
-17
-11
3
4
62
-22
-18
2
-31
55
-7
27
-44
-22
-27
-49
29
-16
16
34
7
-14
-72
15
-31
30
-2
46
-12
-30
-56
-48
38
1
-61
-19
3
-21
-54
-108
66
-44
0
-58
20
-24
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
64
-5
84
0
0
-42
-1
-34
-5
-7
-13
0
-73
16
0
121
26
9
-2
12
24
-5
-27
-37
6
116
-61
-29
14
-18
11
-10
-167
6
-16
0
-3
40
-51
-62
35
-5
0
-3
-2
-2
-27
0
62
0
-3
11
6
-81
0
24
0
0
0
0
-3
0
-47
-6
0
0
-7
0
17
28
-1
175
19
0
-6
-13
18
-4
-3
-14
15
3
28
-3
-3
47
-113
2
23
11
-30
-9
-3
-7
-32
-2
-8
18
0
-16
-18
0
-89
2
-53
0
22
1
87
31
0
-9
0
46
4
0
-46
0
-14
-1
-3
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
-1
-37
40
0
-7
0
-6
-59
-35
135
-13
-68
-78
-21
-35
-17
0
78
19
12
-17
-35
-29
13
7
-38
-5
-117
60
-33
-12
0
-64
-11
21
2
-36
0
-7
38
-13
-88
-30
15
0
0
-40
2
36
7
64
0
10
8
-7
21
0
43
-17
0
0
0
31
0
-17
27
6
7
7
4
0
94
-2
41
-80
0
0
27
-59
5
-9
-116
-34
2
-43
-38
-22
-4
-75
0
-31
44
-43
2
57
32
-62
-84
58
13
0
-6
-50
0
96
17
80
0
0
87
-19
71
-2
-120
0
-3
-33
28
-13
0
45
29
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
39
0
0
0
0
0
-6
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-14
0
0
3
0
0
0
32
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
-53
0
0
0
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-16
2
0
0
109
-48
0
-2
-17
0
0
-56
0
-10
-9
82
0
0
48
0
-47
-11
-40
0
0
69
0
39
0
40
0
0
30
-3
2
0
-70
0
0
-27
0
29
0
-4
0
0
0
0
-1
0
92
0
0
0
0
13
0
-10
-5
0
4
0
0
0
29
0
17
0
0
0
0
-36
0
11
-13
0
0
8
59
0
0
-10
0
0
0
-7
0
7
-20
0
0
0
53
0
31
60
0
-5
0
-41
0
0
21
13
22
0
-56
0
-149
0
0
-6
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
65
42
0
0
0
0
0
71
0
0
0
-6
0
4
-74
0
0
19
0
0
0
-4
0
0
31
0
0
-6
-83
0
0
-20
0
0
9
10
0
-2
30
3
0
0
-16
0
0
40
0
0
0
-22
0
0
0
0
0
0
19
10
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
64
0
0
0
0
0
0
16
0
-9
0
0
0
0
-68
0
-7
5
0
0
0
-9
0
1
0
0
0
0
3
0
0
9
-11
0
0
20
0
-67
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
9
-1
0
0
0
0
-7
110
0
0
10
0
0
0
51
0
8
9
0
0
0
-49
0
0
0
0
0
0
63
0
0
9
10
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
77
0
0
0
0
0
0
54
0
0
0
0
0
0
5
0
5
0
0
0
0
11
0
0
0
0
0
0
66
0
5
0
0
0
0
56
0
0
0
0
0
0
22
0
-2
0
0
0
0
-10
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
48
18
-15
-22
-63
43
4
-4
-17
-16
36
21
-25
-3
64
28
7
-9
14
13
7
42
7
13
47
19
38
-40
8
-123
6
17
-63
-34
-1
50
-56
-29
-1
-42
-44
-11
-31
-9
5
14
-14
-2
12
-45
-81
-6
13
28
-28
0
-30
-54
16
-135
-1
-114
-26
62
-12
-4
33
73
8
2
37
42
11
-94
-19
116
6
25
135
54
-8
-58
17
-19
-12
0
-4
43
1
-13
13
-132
34
-1
31
-11
-71
-30
8
-33
-39
99
-41
-7
12
19
4
-19
70
-23
20
46
-81
42
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
111
-6
0
65
31
-22
-8
-44
0
2
31
-25
-26
71
27
120
6
49
-13
3
0
-44
0
-21
5
-27
0
3
-19
79
-5
-2
12
0
0
-2
0
54
0
-5
3
0
-7
-22
-55
0
-10
3
2
0
0
17
12
24
-57
4
-1
21
0
19
-13
-11
172
-18
0
20
-9
72
3
8
58
-40
0
-33
-110
-7
70
39
18
0
25
48
0
-9
-71
-40
18
8
-4
-4
191
-6
-10
23
0
-24
5
-12
25
5
-8
0
102
0
-10
7
0
9
0
-63
-63
-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
-9
-79
0
0
25
-12
0
-6
-8
0
0
0
0
0
0
54
0
0
-2
-2
0
0
106
0
0
0
0
-7
0
22
0
0
0
-2
0
0
-18
0
0
-3
0
0
0
-14
0
0
0
7
0
0
-86
0
0
0
0
0
0
39
4
0
0
0
0
0
0
0
0
0
0
0
0
48
0
3
-8
0
0
0
-32
0
0
0
0
0
0
-14
0
5
0
-13
0
0
46
0
14
0
0
0
0
2
0
0
0
8
0
0
31
0
21
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
111
3
-10
-9
-53
-3
59
-51
0
0
-19
0
0
-12
-37
0
0
54
0
5
0
61
22
0
17
0
-20
0
-38
0
14
-6
14
0
-17
32
0
0
0
0
4
0
90
0
0
0
-20
74
0
16
-11
0
0
0
0
0
85
-29
0
0
0
0
0
191
3
89
0
0
0
0
-39
0
1
-11
0
-13
0
0
-9
0
-5
0
20
0
-54
0
0
13
-3
0
0
106
0
-1
-7
1
-7
0
-77
0
0
-1
-10
14
0
43
0
66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
42
0
-38
-33
0
0
15
0
0
0
-20
0
19
-8
0
0
0
30
0
0
0
0
-15
0
24
0
0
-27
-12
0
0
-38
0
0
0
0
0
0
75
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
-10
0
0
0
0
-18
0
4
0
0
0
0
56
0
-8
0
0
0
0
-7
0
0
0
0
0
0
-36
0
14
0
0
0
0
87
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
24
0
0
0
-16
0
0
-14
0
0
0
-58
0
0
13
0
0
0
23
0
0
0
6
0
0
30
0
0
0
0
0
0
16
0
0
0
0
0
0
-35
0
0
0
0
0
0
-62
3
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
12
0
0
0
60
0
9
0
0
0
0
-5
0
0
0
1
0
0
-4
0
0
34
0
0
0
-6
0
0
0
-9
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
-5
43
-9
-17
8
0
-3
-3
4
0
-1
-55
-46
-45
-20
10
0
8
38
-8
8
0
52
15
0
-27
45
-9
0
-53
0
20
35
1
25
0
-21
0
9
0
-40
67
0
22
9
0
0
0
-13
0
-50
-46
0
0
0
0
0
-28
5
-43
-8
0
0
-9
-6
1
-13
138
-5
2
3
61
0
-9
1
0
-39
-9
8
3
22
-52
40
10
0
-4
0
-72
-23
0
5
0
-10
0
0
4
-24
31
0
-1
0
166
0
0
-5
0
62
42
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
90
18
72
-11
43
45
10
22
26
7
124
7
-66
-6
4
8
-78
-31
9
115
-35
58
-5
-32
12
-18
-10
102
-63
10
-11
-27
33
-18
4
-43
-21
17
-24
11
-29
-23
0
5
-12
21
-1
-23
-75
39
42
123
-117
4
7
-22
-95
0
-45
47
50
5
-16
-31
7
-27
-43
-6
-24
44
40
-14
45
31
5
44
60
-38
11
1
82
-23
5
13
67
-13
-91
75
-49
-4
66
21
39
-5
-26
31
37
-28
-9
-3
-2
20
43
10
22
-1
-12
-58
3
0
50
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
43
0
0
39
1
0
2
83
-3
-4
0
16
0
-13
61
6
3
-3
120
0
0
-26
-25
0
45
39
0
0
27
0
-14
0
-34
0
0
0
-1
-16
0
-15
0
0
0
0
0
0
-23
15
3
0
-6
0
0
107
-10
-51
2
0
0
0
-55
8
62
5
0
0
20
1
0
-3
290
0
0
0
-28
0
-4
25
7
0
0
-68
0
62
17
-9
0
0
-20
0
4
-44
-25
0
0
18
0
-45
0
0
-2
0
-118
7
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-6
110
0
0
15
52
-7
20
130
53
24
5
27
4
0
-51
1
-7
0
51
0
0
-106
21
21
0
-6
0
0
12
0
-23
0
50
0
0
-1
16
-47
0
47
0
0
0
4
19
0
-14
-10
0
0
0
0
-18
-22
0
3
9
0
0
-11
109
0
-27
3
42
0
-26
50
-1
96
70
0
-1
6
58
0
3
23
-6
-1
-4
10
0
-78
0
12
56
0
19
0
0
49
-34
4
0
52
0
60
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-3
0
69
-54
3
-109
38
19
-5
99
-21
4
-35
19
51
0
-57
71
29
63
11
3
0
58
-84
47
-31
3
4
0
-14
39
0
-8
-4
52
2
84
2
-21
12
0
1
-16
0
0
0
-2
0
-20
65
-22
3
-6
12
1
63
5
33
60
0
0
-140
2
-22
-36
-4
-15
13
-37
59
0
-103
130
4
72
122
-43
-21
-31
-64
64
122
-26
-54
16
-109
83
-11
12
21
39
0
6
102
13
57
0
-31
0
-66
9
0
-17
0
65
29
1
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
33
8
0
56
14
0
28
57
-26
2
-9
-12
-36
156
51
-23
-1
101
44
-14
71
-32
29
-6
25
55
9
-11
0
-20
0
0
40
0
101
55
-6
7
-3
0
9
-21
0
6
0
0
0
0
-10
0
-29
-9
-1
-26
0
0
47
87
-25
35
125
0
0
74
-2
3
98
126
0
-55
47
37
2
21
113
0
-40
65
-1
0
63
62
-42
36
21
13
0
-73
-3
0
42
0
2
0
3
25
28
94
0
-10
0
50
11
0
51
0
-39
-5
-4
-19
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-82
0
0
-1
5
0
0
51
0
0
-13
0
0
0
-35
0
0
0
-7
0
0
4
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
1
0
0
39
0
0
0
0
0
0
0
0
-33
0
0
0
0
64
0
0
1
8
0
0
51
0
0
0
0
0
16
32
0
0
-3
-3
0
0
45
0
56
1
0
0
0
46
0
0
-3
-1
0
0
-18
0
-6
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
15
51
-3
-11
8
77
83
-23
0
43
-4
-40
-9
39
0
31
0
-2
-4
1
-11
5
4
0
0
2
0
3
0
32
4
12
-23
35
114
0
11
17
-2
0
0
-12
0
-32
49
2
0
0
0
0
35
0
32
-17
0
0
-17
22
-6
38
170
-12
0
5
-10
-37
-28
-19
2
15
0
-12
0
-1
-111
-37
7
0
24
-5
1
14
0
13
0
-9
18
0
-16
-42
-64
0
-7
0
90
0
0
-22
0
19
-1
0
52
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
-41
-17
32
-14
22
-28
39
31
8
-1
20
10
-35
-23
-32
20
77
97
64
-7
2
55
9
-51
-17
32
17
-13
-33
-22
39
125
55
-6
-3
-9
20
37
49
-30
73
-27
115
36
112
103
27
17
18
-19
32
4
4
-25
5
-86
-40
0
-162
24
3
-32
-22
-101
-14
84
-12
-26
-95
-60
-95
-6
-15
6
12
-14
-4
42
21
-75
19
4
43
-58
-10
9
-16
70
24
11
-34
-75
-5
-137
-5
-73
-24
-21
-12
10
-32
3
31
37
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
74
0
0
-3
-51
0
0
-8
0
0
0
-103
0
9
0
0
40
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
-6
0
0
0
0
0
9
0
5
0
0
0
0
-20
11
0
0
0
0
0
-76
0
-2
-10
0
0
0
-9
0
0
72
-47
0
0
65
0
0
0
0
0
0
-42
0
0
0
0
0
0
-156
0
29
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-4
-1
88
1
-7
-24
71
0
0
-4
0
-4
-13
47
16
0
19
-20
-3
6
54
0
0
0
0
0
0
-56
0
0
0
51
5
0
-13
0
0
0
0
-11
0
121
-5
0
0
0
0
0
78
28
-12
3
0
0
-35
45
0
-2
-11
0
0
0
21
3
-1
11
-7
-1
0
6
0
0
-4
-20
0
0
-47
0
36
6
0
0
0
-42
0
0
0
-5
0
0
-150
0
13
0
0
0
0
9
-20
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
56
-51
-134
59
106
4
-4
-6
0
17
76
1
-35
-48
75
3
0
93
59
-30
8
10
0
0
7
-13
25
0
38
0
0
-28
-10
-22
0
72
1
0
0
0
9
1
21
-51
38
5
3
0
-6
41
11
54
-13
-2
12
78
-9
24
117
86
-79
0
93
17
-6
120
-10
8
25
-45
-55
0
-19
-17
-62
0
29
-25
0
-17
4
1
-14
0
3
-2
-2
-14
9
45
-7
2
0
-96
-14
-1
5
0
47
40
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
26
0
0
0
-24
0
0
1
0
0
0
6
0
0
4
0
0
0
-39
0
0
0
0
0
0
-59
0
0
0
0
-10
0
81
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
-2
0
0
0
-17
0
4
0
0
0
-14
-23
0
0
0
0
0
0
-22
0
0
0
0
0
0
27
0
1
13
0
0
0
12
0
0
13
0
0
0
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
32
-2
0
21
-81
0
0
-33
9
0
0
-61
0
0
18
-15
0
0
63
0
2
0
0
0
11
52
0
-16
3
0
0
0
-44
0
0
0
0
0
0
41
-20
0
0
0
0
0
-5
0
3
46
0
0
61
-30
0
0
-38
-9
0
0
-51
0
2
28
0
0
-15
-18
0
0
-43
-1
0
1
73
0
123
10
0
0
0
37
0
0
16
7
0
0
-33
0
48
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
6
24
-25
-6
-43
46
0
9
0
72
-32
-12
46
0
-22
0
19
12
14
25
0
-16
0
29
-31
69
-40
0
26
-4
2
0
-5
0
0
-59
12
10
-8
-2
0
0
43
1
-13
-27
0
0
5
-3
2
-59
-39
4
-25
-10
-22
-3
-53
3
0
0
0
41
12
-129
23
-7
34
0
-37
2
30
-135
4
-30
0
7
0
0
19
94
-58
0
-29
0
33
1
0
16
0
72
-91
0
-17
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
-10
-10
22
-68
14
93
5
18
30
69
-56
0
8
1
114
33
44
-35
8
93
32
-17
-9
58
20
23
71
-27
1
-7
-67
-37
-14
-15
-40
68
-1
86
-47
-19
32
1
35
17
69
-26
116
-18
-99
23
-18
45
73
73
-26
132
33
0
79
-74
-39
-20
67
68
8
-86
-6
-60
62
61
100
13
-27
-9
-52
-24
-41
41
29
19
63
15
-38
29
17
-6
-1
-3
-62
56
44
-2
18
-31
22
-103
82
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
65
0
6
-21
0
42
0
-21
0
0
0
0
0
0
26
0
0
0
0
0
0
58
0
2
0
2
0
0
-61
0
0
0
0
0
0
36
-22
0
0
0
0
0
43
0
-16
0
0
0
0
120
0
-19
0
0
0
0
9
0
-7
7
0
0
0
35
0
1
0
0
0
0
17
0
-6
0
0
0
0
10
0
-5
0
0
0
0
10
0
-88
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
8
-2
6
1
-30
0
0
-48
-3
43
0
2
5
0
15
0
-24
-1
-38
0
0
0
-17
7
0
-9
0
0
0
0
-19
0
73
-13
0
0
0
2
4
-12
29
6
33
0
6
-1
1
0
-18
120
5
0
20
40
-9
-3
39
-8
-1
0
33
-2
-31
-65
83
15
2
-1
0
-44
68
24
-3
0
66
0
0
-7
66
0
0
-63
0
27
0
0
-24
0
-21
-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
24
-15
24
54
-22
-70
52
7
22
-54
-72
-82
56
99
17
14
1
-2
-20
-1
39
-14
19
-5
7
-12
-40
35
11
19
-41
-17
0
-6
9
-2
5
4
18
-3
33
0
-78
40
-23
-63
70
-9
-2
49
0
49
40
-16
-71
20
11
3
-15
-72
109
9
-6
-16
-8
-4
-57
1
48
-94
2
-9
-8
-13
-7
23
16
-7
11
-17
-12
-7
40
4
0
8
5
-63
0
17
55
0
37
73
-12
21
101
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
49
-2
-38
-25
5
0
0
9
24
-3
-18
-16
0
0
14
0
54
-5
60
0
0
0
0
-23
0
34
3
0
0
0
36
0
39
3
-2
-3
0
0
73
-42
0
18
-16
0
5
24
-72
0
-23
-60
0
0
40
22
8
-128
118
0
0
-102
-48
0
27
16
4
42
-4
37
6
-76
-116
0
-2
0
0
0
0
2
0
-13
-1
9
0
-18
28
0
-1
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
20
-7
-97
0
0
0
31
0
0
34
22
0
0
26
0
0
37
0
0
0
-10
0
0
0
5
0
0
13
41
0
0
0
0
0
-39
-17
-14
-2
0
0
0
35
-2
23
-32
0
0
0
79
-1
5
2
0
0
-5
24
-8
12
-88
0
0
19
67
0
0
-31
7
0
8
59
0
-127
-9
0
0
5
4
0
0
7
-15
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
13
7
0
-15
0
0
-49
0
-51
0
96
-10
-4
-1
115
36
0
11
22
0
0
0
-2
0
-10
-18
0
0
-7
0
3
-65
3
5
0
0
0
0
80
1
3
-31
-38
-1
0
-47
7
112
-34
-12
31
-8
-13
-16
33
59
-6
0
0
-6
0
42
-41
4
-8
0
8
0
0
7
-115
11
0
11
0
108
0
-3
38
0
-1
46
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
-127
-9
147
-142
-19
-52
-56
-60
6
-4
-2
33
-94
7
26
18
28
53
-4
0
-4
-3
2
-91
-72
-36
-15
3
65
-1
96
43
18
-12
2
-32
18
25
-19
48
-179
-9
-38
0
-28
33
-29
56
21
-35
3
-7
-36
-9
-118
-21
-23
0
3
26
63
19
3
10
-8
11
-41
-28
-21
10
11
13
-11
-38
55
-32
87
62
37
9
13
46
64
14
0
11
25
-31
-23
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
-42
0
0
0
1
0
0
-28
0
0
0
0
-5
0
27
0
0
0
0
0
0
40
0
0
0
0
0
0
-31
0
0
0
0
0
0
20
0
34
0
0
0
0
74
0
0
0
0
0
0
-16
0
-13
9
0
0
0
2
0
0
8
0
0
0
-16
0
0
0
0
0
0
85
0
0
0
-9
0
0
97
0
14
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
68
131
-2
0
-81
0
0
0
0
18
0
-40
0
0
0
20
-6
0
2
0
0
0
0
0
0
-35
0
0
0
0
0
18
41
0
0
26
0
0
-25
34
0
-12
1
0
0
-15
-84
2
-7
1
0
0
2
-42
0
0
-1
-26
0
0
49
0
0
4
0
14
7
-64
0
0
-16
-1
0
-2
28
0
49
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
-17
18
32
30
89
11
0
17
-10
0
42
-2
4
-1
-3
0
-29
23
0
6
-21
-3
0
24
80
0
-4
-15
0
-1
-2
0
25
-6
5
-45
46
29
20
-24
-32
12
97
22
70
53
-10
24
-17
-75
-11
2
-23
26
-13
13
69
-3
-21
17
-54
2
3
-37
-10
-1
77
21
15
-10
6
9
-6
138
0
-38
-1
-47
0
4
-30
0
0
6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-11
-5
-28
0
13
24
0
-26
0
-19
0
34
0
0
0
0
-14
0
-1
0
0
0
0
0
0
-30
-4
0
-13
0
0
0
-38
-7
47
0
0
0
-21
34
0
0
-2
-2
0
0
-103
0
-5
-8
0
0
0
29
0
0
41
8
0
0
-51
0
-2
5
0
0
0
8
0
0
1
0
0
0
79
0
67
0
0
0
0
-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
-36
0
0
-77
5
19
0
-43
0
0
12
0
0
0
57
0
0
0
26
0
0
43
0
0
0
0
0
0
4
21
0
0
-32
0
0
49
0
100
-21
0
0
9
-1
0
12
89
-43
0
-68
-2
0
0
42
1
0
31
47
0
-19
150
7
0
0
28
0
-48
109
0
0
-1
60
0
0
-47
-55
0
0
12
0
-92
0
0
0
0
53
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
7
10
0
0
0
0
18
0
25
0
0
0
15
42
0
-11
-20
0
0
0
0
0
34
0
0
0
0
0
0
-53
0
0
25
0
0
0
-25
0
-37
-13
-21
5
0
68
0
17
22
4
0
0
-5
0
0
107
0
0
4
-38
2
7
23
-13
-20
0
-27
0
6
1
0
0
0
12
0
3
0
0
-29
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-4
43
75
-63
4
18
-7
-9
104
-30
-10
-3
-1
0
8
37
-2
-83
-4
50
11
-7
1
-50
24
-11
57
22
10
-41
-98
-10
-54
23
-17
132
0
62
-9
-38
-49
5
-71
-48
-32
24
12
137
18
-38
27
97
81
2
30
0
67
-14
33
-89
8
61
11
71
-92
89
38
-15
-3
1
-39
-55
69
-52
54
-2
-6
-4
-11
3
-60
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
0
0
0
0
0
13
0
0
0
0
0
0
24
0
0
-1
0
0
0
-30
0
0
11
0
0
-3
-7
0
3
0
0
0
0
36
0
0
0
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
0
25
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
29
0
1
0
0
0
-3
10
0
-49
0
0
0
0
0
0
-21
2
0
0
0
0
0
-17
0
0
-3
0
0
3
-31
0
0
16
0
0
0
18
0
0
-2
0
0
0
28
0
0
0
12
-1
0
-68
0
3
0
0
0
0
57
0
5
4
-18
-12
0
-109
0
-15
0
0
-4
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
-3
32
0
-11
0
-5
-27
0
-2
0
-5
0
-8
106
0
-25
13
0
0
7
14
5
-23
-68
0
34
28
0
16
-55
1
-66
40
9
0
-14
-1
12
45
-4
15
68
-126
-26
12
-67
-23
2
88
37
-20
0
-23
0
3
9
-23
-26
0
40
-25
0
33
3
28
0
-13
0
-113
28
0
7
0
70
0
33
-31
0
-30
-32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
49
0
52
0
1
5
18
-59
-35
11
0
7
-22
0
0
0
-1
0
20
19
-5
-19
0
0
3
6
-15
-35
57
0
-16
97
45
0
12
44
0
35
77
22
0
98
109
0
-118
-104
-73
-15
117
1
-39
-21
10
19
-11
-57
-7
0
20
-15
-27
0
-10
19
45
-17
0
-2
0
16
-32
0
73
0
13
-41
-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
-18
0
1
-24
0
1
0
64
0
26
0
9
0
0
-45
0
0
0
0
0
0
-38
4
0
-2
-9
0
-1
19
1
2
28
0
0
12
15
0
0
3
3
0
-21
6
0
27
12
0
0
14
-48
0
9
-67
0
0
-35
-17
0
-1
-19
0
0
0
29
0
0
45
12
0
0
27
0
11
0
0
0
0
4
-4
0
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
-13
0
0
0
-14
4
0
-4
0
0
0
0
0
0
-50
0
0
0
0
0
0
2
0
-39
12
0
0
24
56
0
28
0
21
-11
0
44
0
-9
0
0
0
0
-42
0
-10
-31
-7
0
0
-74
0
-15
2
0
0
0
56
0
0
0
0
0
0
4
0
17
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
114
-121
38
1
-8
15
69
-5
5
-175
-114
-11
15
-46
23
3
-19
69
11
29
69
-12
41
99
38
-5
17
68
-6
42
-6
14
-42
14
-11
33
3
119
11
-64
24
67
-38
4
-5
-61
-9
-18
60
12
16
27
4
-3
0
16
-51
189
49
15
13
-5
-35
14
-8
-15
-30
-26
17
-53
9
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
50
0
0
0
0
0
0
-32
0
0
0
0
0
0
3
0
0
0
0
0
0
76
0
0
0
0
0
0
-3
0
20
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-2
0
42
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
13
0
0
0
0
28
0
0
0
0
0
0
0
0
0
4
0
0
0
-97
0
0
0
0
0
0
-10
0
19
0
0
0
0
92
0
0
0
0
0
0
-48
0
8
0
0
-3
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
0
-26
0
0
0
0
2
0
-31
0
6
0
0
0
-4
-45
0
-13
4
0
0
0
-24
0
0
0
1
0
0
-37
0
-19
19
4
-7
0
-80
0
-10
-6
17
0
0
-62
0
14
0
0
-11
0
4
0
1
0
-34
-19
0
-55
0
-70
0
0
2
0
8
16
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
46
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
-16
0
0
-3
0
0
0
52
0
0
-6
0
0
0
-93
0
-3
0
0
0
0
-96
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
17
46
0
0
0
-52
0
0
0
0
0
8
-25
0
-19
6
0
9
42
3
-82
-16
0
0
-4
15
-28
-7
-13
26
0
29
-8
0
-45
46
0
0
17
48
0
52
29
-39
0
0
30
0
-103
27
0
0
-19
8
0
-3
97
30
0
0
-42
0
-9
0
0
0
0
15
84
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
32
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
21
0
0
0
5
0
0
-4
0
0
0
-48
0
0
0
0
0
0
12
0
0
0
0
0
0
-63
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-2
-2
-1
32
-21
34
-7
11
11
10
-6
-15
-9
-34
57
49
-7
-89
2
5
-102
69
-8
66
68
22
1
49
-21
76
-6
27
85
22
37
16
-30
-23
54
-17
-32
-9
-57
16
-23
43
-5
-22
-10
15
53
50
123
-8
0
-7
49
87
-20
30
0
26
17
24
-5
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
-35
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
8
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
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
-75
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
16
0
0
0
0
3
0
0
0
0
0
-12
18
0
7
-15
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
0
0
0
27
0
0
0
5
2
0
-11
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
4
-9
0
0
0
0
0
-64
0
0
0
0
0
-20
-4
0
0
0
0
0
0
-31
0
0
0
20
0
0
30
0
0
0
0
0
0
-69
0
0
0
9
0
0
56
0
-6
0
0
0
0
90
0
0
0
0
0
0
-97
0
55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-43
0
0
0
0
0
7
-3
0
0
0
0
0
51
21
6
-34
0
0
1
-34
0
5
-10
0
41
68
-15
-1
60
-70
0
-6
6
-39
-1
10
36
0
-12
5
20
0
-12
32
0
86
0
60
0
0
34
10
16
5
-19
0
64
5
0
0
0
-77
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
0
-30
-6
-7
-4
32
0
-2
-13
-11
-54
-13
0
0
-10
43
0
32
-16
-44
0
-67
-26
0
129
-16
0
0
-18
36
0
-78
109
-37
0
-2
56
0
14
3
-7
0
0
21
-8
2
-37
38
0
0
-21
0
-23
29
0
0
0
9
-56
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-17
-56
31
-71
2
45
-32
58
17
20
59
99
69
13
45
4
44
58
-78
-56
-6
38
-2
-22
34
-6
24
-26
90
56
-25
7
-45
-74
-10
69
-2
7
34
53
-128
6
-19
74
-48
-19
0
-5
21
2
-10
-38
-103
95
-31
0
-53
-103
4
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
0
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
2
0
0
0
-2
-49
0
0
2
0
0
-1
-4
0
0
0
0
0
15
-107
0
20
-20
0
0
0
20
0
-23
-3
0
-23
0
-25
0
0
0
6
0
0
-30
0
-31
-14
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
-1
0
0
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
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-7
0
0
0
0
28
0
-17
0
0
0
0
0
0
-38
0
29
-11
0
0
0
18
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
17
-16
0
0
-31
0
0
0
0
0
0
-51
0
-19
90
45
0
0
-49
0
-89
-6
0
0
0
-3
0
0
0
6
0
0
17
0
51
0
0
0
0
47
-13
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
-10
0
0
0
-23
0
0
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
101
0
50
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
78
51
57
8
3
53
18
-52
-17
40
-3
12
-59
-9
10
48
56
71
7
-4
-20
-6
-115
-83
78
18
7
17
67
-65
-70
84
-143
36
-39
-51
-8
-3
-37
-82
-9
25
0
5
-14
1
16
0
48
-48
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
12
10
27
5
9
0
1
62
-8
6
34
0
8
-8
110
0
0
-12
20
0
-2
28
0
-27
76
-3
0
0
-63
0
0
-11
-4
-3
0
72
0
20
-11
0
0
0
44
11
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
38
0
0
0
0
0
0
-95
0
0
0
0
0
0
81
0
0
-1
0
0
0
29
0
0
0
0
0
0
142
0
0
0
28
0
0
23
0
7
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
-76
0
2
0
0
0
0
68
0
-1
-3
0
4
0
-11
0
0
0
0
0
0
-65
0
0
0
0
0
0
-105
0
-19
0
-1
-2
0
-65
0
0
0
-13
0
0
-117
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
148
0
0
20
0
2
0
121
0
0
29
0
0
0
-32
0
-12
0
0
0
0
14
0
4
12
0
0
0
-58
0
0
0
10
0
0
4
0
39
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-16
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
-73
0
8
9
-37
0
0
-53
0
28
-9
-8
0
0
8
0
0
5
-5
0
0
-35
0
13
2
0
0
0
102
0
0
0
0
0
0
81
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
45
-33
69
8
-48
0
4
-2
-43
88
31
-52
36
-1
-3
31
1
-94
37
-42
26
-5
14
-35
11
-53
0
25
-6
-1
43
93
41
0
37
0
10
-2
0
67
0
-98
-35
-14
-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
-1
-3
0
3
5
0
0
0
63
0
-9
0
0
0
-18
72
0
0
-2
0
0
0
-53
0
1
0
0
0
0
-29
0
0
0
-2
0
0
-81
0
-6
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
22
29
14
-5
38
71
-7
11
-20
24
13
8
-14
-47
-2
19
87
-9
-1
0
2
-26
-68
10
10
6
0
51
0
0
41
-46
0
0
13
0
-3
0
-7
-9
0
-103
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
0
35
0
-8
123
32
-10
3
0
21
0
-10
0
34
0
-12
-1
0
-3
0
140
29
18
-4
0
18
0
0
0
-14
0
0
-18
0
-139
0
0
6
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
-32
0
0
0
0
0
0
-44
0
0
0
0
0
0
51
0
0
0
0
0
0
-48
0
16
3
0
0
0
67
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-2
9
0
0
-4
0
0
0
87
0
0
0
0
0
0
-4
0
-13
0
0
0
0
70
0
0
4
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
0
0
0
0
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
20
-11
-2
3
0
-83
0
6
55
46
8
0
1
0
-32
18
-1
0
0
-80
0
0
0
0
0
0
-2
0
-21
0
0
14
0
-38
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
79
33
-1
-155
-32
33
11
6
21
-85
-33
8
1
65
-74
-56
-68
-18
-9
16
-28
-10
36
1
-2
-16
-3
-12
29
-9
5
0
-11
-57
-4
33
39
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-2
123
0
50
0
0
0
0
-40
0
15
10
0
0
0
16
0
0
0
0
0
0
27
0
18
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
1
0
23
0
0
1
19
-2
42
53
0
20
-25
8
0
0
21
0
0
-8
-2
0
0
15
0
-28
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-15
-111
0
-51
15
-41
0
15
3
-9
-2
0
13
23
89
0
0
0
0
54
-3
27
0
19
35
0
40
0
13
0
0
-13
0
78
-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
45
0
-16
82
0
0
6
-27
0
-10
53
0
3
0
9
0
70
-16
0
0
0
-35
0
0
25
0
0
0
61
0
60
-1
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
59
0
0
18
-30
0
3
-86
0
-15
0
0
0
0
-28
0
0
0
-17
0
0
26
0
0
0
0
0
0
-5
-10
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-82
-4
121
0
0
-40
0
69
-15
0
0
0
62
0
0
33
10
5
0
-67
0
12
0
0
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-50
-15
-33
8
126
19
2
-7
10
-39
-34
-9
69
22
-3
27
-62
-90
-26
14
-11
-5
-2
-59
10
76
-1
28
-52
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-9
0
31
-3
10
0
0
10
0
0
-1
0
0
0
-33
0
-17
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
0
-4
99
-22
-18
8
6
12
89
55
-11
-12
0
36
0
-3
24
33
-32
0
-78
0
-13
0
-5
0
0
-160
32
-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
-8
22
0
28
2
-4
-70
26
21
-4
-4
0
-16
7
0
14
18
-4
-2
-74
-1
0
2
0
66
0
0
1
-4
-24
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
9
0
0
0
-39
0
0
0
0
0
0
105
0
0
0
0
0
0
-33
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
-27
0
0
1
-29
0
0
72
0
7
-4
0
0
0
-40
0
0
-4
0
0
0
-12
0
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-73
0
27
-2
0
9
0
38
0
5
-15
5
0
0
107
0
-47
0
0
1
0
-86
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
6
-31
3
21
3
15
22
30
-28
62
-1
31
-1
3
47
41
-16
-1
-8
-89
-2
-1
-198
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-21
0
0
0
10
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
56
0
52
-6
0
-13
0
-147
0
0
0
-41
-7
0
-10
0
-50
0
0
-11
0
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
22
16
-7
9
-17
0
0
75
69
0
-30
0
-81
0
-6
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-136
-44
19
11
0
-21
0
0
62
16
-2
0
32
1
83
0
0
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
73
14
0
0
0
-14
0
0
28
1
0
0
29
0
-12
0
0
0
0
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
0
0
0
0
-25
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-2
-46
-75
38
67
-2
12
-6
-21
111
-14
-18
0
-27
3
-12
-7
-8
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
-5
0
0
0
0
0
0
64
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
29
0
0
11
-149
-65
2
-11
7
-11
-55
-1
76
0
-34
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-18
-27
0
-42
0
-5
0
-35
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
10
0
-35
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
1
0
0
-20
0
-39
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
31
-5
68
-29
-1
-32
-62
9
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
0
5
3
0
-55
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
-2
0
-13
0
-56
-54
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
71
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
102
0
-5
-56
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
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
9
0
0
-9
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
6
0
0
32
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
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
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
-7
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
26
0
0
0
0
0
-20
0
0
0
0
0
0
9
0
0
0
0
23
0
0
0
-81
0
0
-81
0
0
0
0
0
0
6
0
0
0
15
0
0
-8
0
0
0
0
0
-16
0
0
0
0
0
0
8
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
-4
0
0
23
-79
0
0
0
0
0
36
0
0
-21
38
0
0
48
11
0
0
0
0
0
13
38
0
0
0
0
0
0
-20
0
0
-16
0
0
0
7
0
46
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
-51
0
0
-1
0
0
-3
39
0
0
0
0
0
0
15
0
0
2
0
0
0
-90
0
0
7
0
0
0
-21
0
0
0
21
0
0
47
0
0
0
0
0
0
28
0
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
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
63
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
32
-57
2
34
0
55
20
22
49
-36
68
-62
73
21
-14
129
18
-35
24
-67
-59
12
13
-74
-60
-36
-21
15
12
65
-126
40
-10
-91
-143
-79
-88
-11
-81
43
12
-1
-22
31
-2
1
-30
-6
-100
69
-29
32
2
-61
-95
42
85
158
-27
1
32
15
14
22
39
-20
58
-85
-52
-3
33
-4
-84
-13
39
5
2
19
-95
-36
-1
-67
45
-36
52
28
-20
43
-63
-33
19
-68
1
-26
-16
-24
19
54
89
-68
-17
-125
21
17
-68
-119
-9
13
-8
-13
49
36
-31
125
-4
31
78
6
37
-35
52
-65
18
11
-6
-10
117
134
-10
-29
-28
57
18
20
26
-1
27
102
-57
-61
4
-38
52
24
-49
68
-30
-20
29
-90
-37
-81
-90
-21
5
-5
13
-5
14
-23
-63
-11
-116
-37
3
-14
43
-8
21
-2
5
-37
-29
-6
134
-2
61
-53
66
54
28
-39
-10
-26
1
-35
9
31
2
27
45
26
27
10
-41
-7
-20
14
22
17
-52
-2
-10
-13
-72
-6
-13
-11
25
-92
9
64
96
78
3
39
-41
13
-68
-17
71
-15
23
19
16
85
-73
18
-46
87
-7
29
-33
-23
-35
22
30
25
34
35
16
-47
0
11
-22
24
18
-29
-19
94
8
34
-25
56
-22
44
54
34
-45
-66
135
-24
4
-43
60
35
-1
17
-98
4
-17
-12
-105
24
-6
-78
68
-41
-27
19
-4
-27
-88
15
7
6
21
11
-21
8
-20
-21
-55
10
7
-46
-25
51
-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
-7
0
0
0
0
0
-15
0
0
0
0
0
0
-5
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
0
0
0
0
0
-10
0
0
0
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
0
0
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
-7
0
0
0
0
0
0
-10
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
-2
0
0
0
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
-11
-6
0
0
0
-9
5
-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
19
0
0
-2
0
0
0
37
0
6
0
10
0
0
0
0
-55
0
0
0
0
0
0
-2
0
78
-11
0
0
18
16
0
0
0
0
0
15
4
0
0
-2
5
0
0
60
0
0
0
0
0
0
6
0
5
0
4
0
0
-5
0
0
0
0
32
0
96
0
-2
0
0
0
0
0
-3
0
0
0
0
0
62
0
12
0
0
0
3
40
0
0
0
0
0
1
6
0
0
-5
0
0
0
-13
0
0
-16
0
0
0
36
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
10
0
0
65
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-9
0
0
0
0
13
0
0
0
-2
0
0
0
0
-3
0
0
0
0
37
0
0
10
-12
0
0
-35
0
1
0
0
0
0
-13
0
0
0
0
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-11
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
-6
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
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
39
0
0
0
0
0
0
-6
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
7
0
0
0
0
0
0
0
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
1
0
0
0
0
0
143
0
0
0
0
0
0
6
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
-1
0
0
-22
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
5
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
-3
2
0
0
3
4
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
6
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
4
0
0
0
0
0
5
0
0
10
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
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
-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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
93
71
71
-17
0
80
-69
81
-80
-6
-6
27
-102
20
-4
0
-3
0
-1
-9
0
-32
6
-1
11
24
-4
0
-27
8
-51
0
0
-28
0
0
-30
0
0
-2
0
18
203
88
-2
33
0
1
-125
8
-16
-23
-1
-42
-18
25
55
3
-2
7
3
57
61
1
9
30
32
-13
60
30
-57
-12
1
-62
-1
-12
-5
-19
0
-2
18
133
-37
-3
-7
-2
-1
-3
-4
66
-2
148
1
-2
-6
26
-16
0
0
-1
-2
-1
-1
5
-40
120
49
-8
26
15
5
-7
22
24
-9
22
0
-12
-105
75
-11
53
-15
15
-3
17
-15
-46
-31
72
-3
-29
-199
5
-7
20
13
27
11
121
10
0
5
-121
8
21
-7
-16
-5
-62
16
12
-4
3
-6
0
-12
-2
20
-44
0
42
81
60
0
-50
40
-3
84
17
10
-11
0
0
-27
26
9
25
-27
4
0
71
-15
4
-67
36
-8
16
-29
-69
-16
-20
9
60
4
77
-34
2
-78
30
-15
22
1
-29
-12
-2
10
-7
-43
-6
11
0
-1
95
-16
8
-16
32
0
-1
6
-21
0
0
21
102
-6
0
3
-6
0
72
-34
26
7
-11
0
-4
-97
-12
-9
6
0
0
31
-18
8
-45
-123
28
0
14
-18
-7
40
-6
-9
2
-42
-30
0
52
22
-21
20
1
-36
0
29
-140
5
-1
-9
-95
-3
-3
-96
-41
-31
-5
17
0
6
2
7
-59
0
41
-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
-22
11
0
13
-1
0
0
-4
6
-7
0
7
-27
-9
2
-5
0
0
0
12
0
0
0
0
0
0
1
0
0
1
0
45
0
0
5
0
0
6
0
0
0
0
0
17
94
13
0
3
0
55
17
3
0
32
68
-3
-6
0
20
0
-28
8
1
70
32
11
0
-105
37
1
9
28
22
0
47
-4
55
-9
-3
0
2
-35
-1
-6
14
1
0
0
-21
0
1
0
-15
0
0
0
0
-165
0
0
64
0
0
6
-14
8
58
-39
-54
39
-34
0
19
-13
8
0
60
0
0
130
0
-31
45
-108
-4
-8
-155
67
0
9
3
0
3
11
-11
-2
-1
1
-42
0
-27
1
0
0
157
0
-1
-4
23
-1
44
-7
-21
-19
0
-136
0
0
0
0
14
0
-2
94
172
0
0
0
-11
-20
44
0
13
4
-7
7
23
-9
-17
70
-29
2
122
0
-2
-3
-1
9
19
15
47
0
-25
113
3
2
-6
-27
0
16
-53
-11
0
-6
-70
0
42
-28
103
0
0
68
4
0
-2
-2
0
0
-18
0
0
0
-3
-16
0
18
3
13
0
0
0
0
-29
-8
-1
3
-10
0
-2
13
0
123
8
0
0
-13
0
0
93
-79
-15
0
8
-77
1
-94
-17
0
0
-2
9
0
-9
-8
-8
0
-10
16
0
5
0
-5
-8
0
-47
-12
0
17
-18
0
0
60
0
-33
0
0
3
0
-23
-1
35
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
1
0
0
-2
0
0
0
0
0
0
0
-13
1
-10
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
16
0
0
0
0
0
39
0
0
0
0
0
23
103
0
0
0
0
74
-2
0
-2
74
-2
0
-33
-3
0
0
-36
0
-6
89
-12
-1
4
35
13
4
22
-12
0
0
-8
0
0
-10
5
0
0
-23
0
0
0
-3
0
0
4
0
0
0
0
0
0
0
0
-19
0
0
-27
0
0
0
-4
11
-5
35
2
-5
14
0
18
36
0
0
-30
0
0
52
11
0
160
66
3
0
9
2
0
0
-29
7
0
59
60
0
0
52
-11
0
0
-21
0
0
-14
0
0
0
-4
0
-104
-7
1
0
0
3
0
0
0
0
0
0
15
5
-2
0
0
0
-1
79
-6
0
0
0
0
-1
23
0
0
34
0
0
-34
29
0
6
35
0
0
-14
-20
0
0
1
0
0
39
5
0
14
-12
0
0
0
-8
0
1
36
-4
0
0
-37
0
0
1
0
0
0
35
0
0
0
2
0
0
65
0
0
0
0
0
0
31
0
-5
0
0
0
-1
0
0
6
0
0
0
0
38
0
-26
-9
0
0
0
-55
0
85
0
0
0
16
64
0
0
-1
11
0
0
158
0
-12
0
1
0
0
-41
0
0
0
0
0
0
32
0
56
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
-23
2
0
0
0
0
0
8
0
0
0
-6
6
0
0
0
0
0
0
0
16
5
2
0
0
4
0
0
0
0
-4
-21
0
0
0
0
0
36
0
0
0
0
0
-24
10
0
0
0
0
13
-81
0
10
78
-25
-11
33
9
5
0
-17
0
-5
31
9
0
-2
-60
-16
10
-50
-17
0
0
-5
0
0
0
8
0
0
-16
0
-3
16
-8
0
0
-1
0
-32
0
17
0
0
0
0
-128
0
0
-10
0
0
0
-12
7
26
22
1
25
0
0
29
-9
-16
0
47
0
0
106
-52
0
32
44
85
0
-10
70
0
6
-60
0
0
22
-76
0
0
16
21
0
-4
-9
0
0
-16
0
0
-11
35
0
-51
-5
17
17
0
14
0
0
0
0
0
0
39
-15
11
0
0
0
1
32
-6
0
0
0
0
-16
36
0
0
102
-12
0
-4
15
0
-6
0
0
0
37
71
0
-3
84
-6
0
10
-99
0
-4
34
0
0
0
3
0
0
2
-25
0
4
25
0
4
-2
-2
-5
0
-24
0
-9
0
7
12
0
73
-4
0
0
0
0
0
-14
0
0
0
0
0
0
121
-1
-44
14
0
0
0
24
0
-5
9
-3
0
-34
2
0
7
20
0
0
4
0
0
-6
6
29
0
3
-92
0
35
-7
0
0
0
-12
0
0
-3
0
0
0
-26
0
-23
0
0
0
0
43
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
10
71
7
-1
125
2
-5
-58
100
11
7
118
48
-25
40
1
0
0
0
-3
74
-16
-1
0
-3
-8
19
10
0
-12
0
24
0
0
27
0
0
-46
0
0
5
16
1
170
114
-4
9
-2
9
29
-24
53
4
43
42
-6
76
80
20
-22
-16
126
64
9
-43
29
15
26
-12
81
-37
-27
-8
-8
-20
0
36
-33
-18
-3
-8
53
-47
80
120
-13
0
-1
15
0
-22
-5
-40
0
-1
-3
45
-53
0
-6
-17
-2
0
-3
-30
7
87
108
-36
-63
-55
0
45
43
-10
2
106
-1
0
56
-99
26
105
68
129
30
-32
-82
-3
33
-46
-13
-25
37
-23
-12
9
47
16
-15
-176
6
3
-11
14
1
25
98
-115
0
-11
-30
-41
-21
-6
-33
0
-4
-3
14
-25
-4
24
-61
-79
0
-36
-6
-7
-30
-51
-5
37
0
-19
-58
31
53
-27
57
-27
-3
-20
-7
0
-17
-101
-8
-34
21
-55
52
81
-45
87
-24
-57
-36
11
12
61
140
5
23
-12
0
-2
-107
53
113
2
-29
0
11
-2
-15
33
-1
-50
0
8
5
34
-26
0
33
-12
0
0
-12
0
17
-112
-20
-38
-1
-31
0
-14
15
26
41
8
-3
9
50
-27
-3
-20
-37
123
28
-17
9
-1
17
48
29
44
-54
-28
0
26
-111
-4
-44
76
24
-12
-61
-25
-76
101
102
-64
2
0
-19
-15
-9
61
3
6
2
-2
36
117
0
-12
-23
-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
32
0
-2
0
0
0
-14
-23
-10
-3
0
-1
0
58
7
-1
0
0
0
0
8
0
0
0
0
-2
0
23
0
0
0
4
0
0
-45
0
0
15
0
0
0
-1
0
47
39
0
0
0
-7
-8
-1
0
0
11
0
0
18
-6
0
7
-4
0
-40
5
18
0
0
-26
0
1
-42
99
0
2
2
0
-21
-33
5
0
9
35
0
68
7
0
0
0
35
0
-25
0
-14
0
0
0
0
-30
0
0
43
0
0
0
-25
0
33
29
4
3
0
0
-36
-60
0
1
-70
0
0
49
-48
0
59
-76
10
3
2
-33
0
0
95
0
0
-14
-104
0
0
-48
-7
0
-1
-54
0
0
34
0
-6
-1
80
0
-21
-26
0
0
0
58
0
0
0
0
32
0
17
56
0
0
0
0
0
21
25
0
5
0
0
-19
12
0
-26
11
0
0
52
19
0
7
23
0
-1
-59
24
0
1
-28
0
14
70
-36
0
-6
41
11
13
-23
-33
0
-9
121
0
7
0
-2
0
0
0
0
-16
0
42
0
-10
42
0
9
0
-9
0
6
0
0
0
0
37
-18
0
11
0
0
4
-45
0
-14
0
0
-1
29
-46
0
32
10
0
0
6
29
0
55
10
0
0
-11
-27
0
1
-11
0
13
0
-123
0
-8
11
0
-23
0
46
0
0
18
0
3
0
-29
0
-21
28
0
3
0
53
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
-10
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
-103
0
0
0
0
0
-18
0
0
0
0
0
5
-1
0
0
0
0
1
1
0
2
27
0
0
11
0
0
0
48
0
0
62
3
0
0
-1
0
0
71
2
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
45
0
0
0
0
0
97
-9
0
4
12
0
11
47
0
0
-86
0
0
109
-25
0
-35
-11
0
0
31
-8
0
0
69
0
0
4
-44
0
0
-22
0
0
-7
-95
0
0
-17
0
0
0
-18
0
-19
-1
0
0
0
15
0
0
0
0
0
0
-1
-27
18
0
0
0
0
34
15
0
0
0
0
17
43
1
-3
0
-2
0
3
69
0
-1
22
0
0
8
-135
0
0
7
-4
0
18
-60
0
-15
-15
0
0
0
-34
0
0
43
-22
0
0
30
0
0
0
0
0
0
12
0
0
0
0
0
0
-33
0
0
0
0
0
0
22
0
0
0
0
0
21
10
0
-1
0
0
0
0
-25
0
0
-11
0
0
0
76
0
-51
0
0
0
0
-85
0
0
0
0
0
0
125
0
-6
-1
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
121
151
11
-28
98
37
66
17
-6
-2
-1
-2
-35
13
-4
0
-1
-13
100
12
0
-1
-5
23
0
0
38
0
-5
-41
0
0
0
0
13
-11
27
-2
3
0
34
-176
-36
93
31
18
9
11
-40
34
14
-23
-59
1
-34
-60
-132
0
-43
73
112
-7
25
-9
6
-3
-123
8
72
49
46
0
-1
-57
-164
-65
-32
82
0
0
-108
0
9
-5
0
0
0
59
-23
1
0
2
-11
-1
-1
0
32
37
58
42
49
-64
-10
0
64
-15
-23
-14
9
-4
-6
11
68
3
47
76
-76
40
50
14
39
-7
-39
-38
55
-27
-84
-2
-13
4
-14
-26
61
3
-9
22
-35
0
-67
-39
32
0
-4
-75
36
32
-24
-13
0
0
-6
0
60
0
0
16
66
0
39
0
1
24
-23
-10
73
0
-1
-26
-5
-11
-26
19
30
23
-80
17
2
33
31
17
-19
-23
-8
101
0
-20
-46
-48
-156
1
19
12
-56
18
-58
-75
-4
1
6
33
118
36
-47
13
1
-4
-48
0
-65
0
-60
0
0
12
-4
-16
0
13
0
-1
-3
0
50
-1
-22
7
122
-5
-22
0
9
-1
3
-12
-103
3
-20
-2
46
-3
35
-15
-39
34
-14
-16
26
-113
15
6
-33
39
-11
-8
-50
-243
-63
-19
-7
2
0
92
-65
38
41
51
14
0
5
96
39
4
1
26
0
25
-2
5
24
0
-36
-29
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
4
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
0
0
50
0
0
0
0
0
10
182
0
0
0
0
-79
-1
0
0
28
-6
-16
-67
7
-9
-19
139
-4
-3
34
0
0
0
28
-10
6
-4
15
0
0
10
0
2
0
10
0
0
0
-3
0
-8
-11
0
0
0
0
-12
0
-13
0
0
0
0
-36
0
0
6
0
0
0
0
0
-83
-33
0
0
0
0
26
6
0
0
-2
0
0
-10
-76
0
-25
-119
27
0
26
0
-1
0
66
19
0
-28
76
0
0
45
-5
0
-18
32
0
0
-14
15
0
0
-32
0
-19
0
-5
0
0
65
0
0
0
0
0
0
63
-24
1
0
0
0
0
-14
13
0
0
0
0
1
-40
-1
-2
76
25
0
0
-121
0
17
29
0
0
99
0
0
0
-67
-26
2
27
32
0
0
18
-12
0
0
-30
0
0
0
-4
0
0
-10
0
0
4
0
0
4
-72
0
0
1
0
0
0
113
0
0
0
0
0
0
22
-5
0
0
0
0
0
-21
0
39
0
0
0
0
-63
-3
8
8
-3
0
0
0
0
38
2
0
0
7
-67
0
30
4
64
0
0
-69
0
0
17
-11
0
0
29
0
0
0
0
0
0
-113
0
-7
0
0
1
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
6
0
0
0
0
0
22
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
68
0
0
0
0
0
0
21
-6
0
0
0
1
-2
0
0
-85
8
0
-37
-21
0
0
56
-1
-3
39
0
0
0
0
29
0
0
12
0
0
2
0
-8
11
10
0
-21
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
0
-2
0
0
0
0
0
46
16
0
7
4
0
-10
34
0
0
-29
0
0
16
50
0
97
-49
0
0
-11
87
0
0
38
0
0
8
-37
0
0
22
-2
0
15
-14
0
3
0
0
0
0
-10
0
41
1
0
0
0
26
0
0
0
0
-5
0
44
-1
0
0
0
0
0
26
-4
0
3
0
0
0
16
0
0
-9
-8
0
-9
6
0
0
-8
0
0
0
-32
0
0
17
0
0
5
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
27
0
0
0
55
0
-1
0
0
-3
0
65
0
0
0
0
0
0
53
-11
0
0
0
0
0
-2
0
1
0
0
0
0
48
0
-7
1
0
0
0
28
0
-1
0
0
0
0
26
0
-16
0
-5
0
0
94
0
0
0
-1
0
0
-59
0
0
0
0
0
0
100
0
-5
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
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
-4
0
0
-3
0
-37
0
0
1
0
0
20
0
0
0
0
0
0
136
0
0
0
0
5
1
0
0
-28
-3
15
-40
-16
0
0
112
0
0
-47
-5
14
0
4
0
0
-77
8
0
0
-8
0
5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
15
0
0
22
0
0
2
0
23
-43
1
-9
0
0
0
57
63
5
0
-58
0
0
-22
-36
-6
-104
-23
3
0
-33
18
0
0
-16
0
0
-30
59
0
0
-9
-16
0
-11
-5
0
3
93
0
0
0
3
-4
-6
-1
0
0
0
26
0
0
0
0
-15
0
97
-3
0
0
-7
0
0
12
28
0
0
0
0
1
82
0
6
8
0
0
4
90
0
0
-10
0
0
4
29
0
-2
0
0
0
22
1
0
0
43
0
0
17
-82
0
-1
-7
0
0
0
1
0
0
0
0
0
0
3
0
0
0
5
0
0
-14
0
0
0
0
0
0
-25
0
0
0
0
0
0
-67
-7
-9
0
0
0
0
45
0
0
3
-1
0
0
-67
0
1
0
0
0
0
76
0
0
33
-8
0
-3
-57
0
-9
0
0
0
0
-14
0
0
0
0
0
0
-99
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
4
0
0
-7
20
0
4
0
0
0
0
0
0
0
21
0
0
2
0
0
0
8
0
-152
0
0
2
0
0
-116
0
0
0
0
0
79
19
0
0
0
4
-31
49
9
7
57
-8
0
-112
-16
0
10
10
0
21
93
74
0
0
16
15
0
7
51
0
0
40
0
3
4
-8
0
0
0
0
0
-4
0
0
0
5
0
0
0
-1
0
0
0
-3
50
0
0
24
0
0
0
3
0
-47
42
-11
-11
0
0
-30
10
0
0
-12
3
0
-49
25
0
-8
-40
-3
13
19
-95
0
18
71
0
-21
15
-46
0
0
-11
1
2
30
24
0
0
7
-12
0
0
-30
0
9
0
11
0
0
18
0
0
0
0
0
0
18
43
-5
0
-4
0
0
129
4
0
0
0
0
-2
-12
12
0
-51
2
0
21
-32
0
-3
-3
0
0
-10
8
-3
-5
27
10
4
-4
8
0
5
5
0
0
7
124
0
0
-3
-5
0
0
108
0
0
-10
0
0
-2
-110
0
0
0
0
3
0
78
0
8
0
0
0
0
20
0
0
0
0
0
-7
-30
0
2
29
0
0
0
-23
0
-2
15
-2
0
-1
-75
-8
31
-1
0
-5
0
62
0
0
2
-13
0
0
51
0
-14
5
0
0
0
-74
0
0
-2
-6
0
0
-49
0
15
0
3
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
-40
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
16
0
0
33
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
140
3
0
0
0
0
0
102
0
0
0
0
0
0
2
0
14
0
0
0
5
-5
0
0
13
0
0
0
23
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
8
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
-15
0
0
0
0
0
0
-24
0
0
0
0
0
0
97
0
0
0
0
0
0
-60
0
0
-3
0
0
0
22
0
0
0
0
0
1
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
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
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
24
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
-2
0
0
0
0
15
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
78
0
0
0
0
39
0
0
0
1
4
0
-55
0
0
0
35
0
0
27
0
0
0
2
0
0
25
0
0
-6
-1
0
0
9
7
0
0
0
4
0
2
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
19
0
0
0
0
0
94
32
-1
7
11
0
39
0
0
0
-79
0
0
-1
14
0
40
96
2
0
-131
8
0
0
60
0
0
-5
9
0
0
-6
-18
0
-17
57
0
0
-2
0
0
0
44
0
-29
0
5
0
10
-37
0
0
4
0
0
0
-48
-9
0
0
0
0
0
-55
0
0
0
0
0
-6
24
0
0
0
0
0
7
34
0
-1
-15
0
0
13
-164
0
-1
-22
-12
0
5
85
0
20
57
0
0
0
20
0
3
-5
0
0
0
-68
0
0
14
0
0
19
-4
0
0
0
-18
0
0
10
0
0
0
0
0
0
-10
1
0
0
0
0
0
10
0
-15
0
0
0
0
-71
0
0
8
0
0
0
54
0
14
0
0
0
0
48
0
0
5
0
0
0
-7
0
1
0
0
0
0
1
0
-4
-4
0
0
0
0
0
0
1
0
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
-10
40
0
0
0
0
-2
0
7
5
0
4
0
0
0
0
0
-48
0
0
-32
0
0
51
0
0
0
0
0
-5
-72
0
0
0
0
34
-11
0
-4
-5
-1
0
-51
-11
15
0
-6
0
14
-48
-39
0
0
-13
57
0
-9
46
0
0
11
0
105
0
-65
0
16
-14
-8
-7
1
-46
0
0
-1
0
5
0
-16
0
0
0
0
-85
0
0
-26
0
0
0
22
1
-71
71
8
-78
-2
0
5
13
-7
0
84
0
0
54
73
-6
-31
4
10
0
-70
25
-3
0
75
-4
0
-34
-64
0
0
77
-6
3
2
-37
11
0
-30
0
0
0
5
2
18
-1
-7
0
0
-9
0
0
0
0
93
0
-14
-8
-2
0
0
0
0
-25
6
0
0
0
0
62
-40
41
-1
-44
-11
0
-13
49
3
14
98
1
0
-15
59
0
-3
98
41
0
0
-82
0
0
12
-3
-12
7
-81
0
-12
-41
-9
1
0
-2
0
0
21
0
-4
0
-22
0
0
0
0
12
0
-19
0
0
0
0
-2
0
8
22
11
0
0
0
0
31
17
-70
3
0
0
0
-33
0
-1
111
4
0
1
-3
0
89
9
0
0
0
40
0
-21
-66
3
0
-14
6
0
-11
14
0
0
0
12
0
0
-3
-1
0
0
33
0
-16
0
0
4
0
-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
-10
-1
0
0
0
0
0
-4
-6
0
0
6
0
0
0
0
0
-125
0
0
0
0
0
-56
0
0
0
0
-1
-1
27
0
0
0
0
10
-16
33
0
-131
4
0
30
20
0
-1
2
0
4
103
56
0
0
55
-53
0
29
0
3
0
29
0
15
32
44
0
0
14
-1
3
-6
-5
0
0
0
0
0
0
1
0
0
0
-11
24
0
0
22
0
0
0
0
3
-5
32
-8
-8
0
0
16
99
37
0
37
0
0
58
-66
0
58
109
-24
0
-54
-36
0
7
162
0
0
-5
0
0
0
-19
-5
4
17
-76
0
0
-15
0
0
3
7
0
-94
0
-15
0
0
-19
0
0
0
0
0
0
17
-18
-2
0
0
0
0
-6
-28
-6
5
0
0
0
-34
0
-32
2
41
0
-3
-36
0
-1
21
0
5
-8
4
6
14
59
-17
0
-11
0
-3
0
16
0
0
-6
-13
0
0
-2
2
0
0
-31
0
0
0
0
0
0
80
0
0
5
-2
0
0
41
0
0
0
0
0
0
-19
-1
0
7
-20
0
0
91
-2
30
66
0
0
0
-68
3
-20
4
0
0
10
-41
0
68
-101
0
0
5
0
0
15
27
-2
0
0
2
0
-21
0
10
-7
0
8
0
0
-8
0
0
0
-59
0
49
0
0
-11
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
3
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
-16
0
0
0
0
0
22
21
0
0
0
0
10
0
0
41
-55
22
0
-45
0
0
0
-10
0
32
92
0
0
0
69
-9
0
29
-1
0
3
18
0
0
-15
-10
0
0
0
19
20
-4
0
0
0
0
0
-8
0
-2
0
0
6
0
11
0
0
-6
0
0
0
0
0
-45
22
-1
-15
0
0
-5
4
0
0
-27
0
0
89
-13
0
55
-37
-20
0
47
66
0
0
-33
0
0
16
3
0
0
26
-7
0
0
-18
0
0
-11
0
0
0
-27
0
-10
0
10
0
0
-3
0
0
0
0
8
0
-25
-9
-1
0
0
0
0
-44
22
0
0
0
0
0
55
0
11
10
0
0
-5
41
0
0
0
0
0
1
-20
0
-4
-24
25
0
-2
-34
0
0
1
0
0
0
20
0
0
-1
-32
0
0
51
0
0
0
0
0
0
-17
0
4
-12
-1
14
0
54
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
-12
0
2
0
0
0
0
34
0
0
0
-13
0
0
-22
0
13
0
0
0
0
104
0
0
0
-7
0
0
-3
0
0
-10
0
-5
0
27
0
0
0
0
0
0
36
0
22
0
0
-12
0
-16
-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
-94
0
0
0
0
0
14
0
0
0
0
0
-1
21
0
0
0
0
9
-2
0
0
-24
0
7
-89
14
0
0
1
0
0
17
0
0
0
74
-5
0
38
7
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
-19
0
0
1
0
0
0
0
0
-2
2
0
0
0
0
0
27
0
0
51
0
0
-92
-1
0
0
102
7
0
7
4
0
0
-3
0
0
0
36
0
0
-4
-1
0
38
-19
0
0
15
0
0
0
12
0
26
0
0
0
0
31
0
0
0
0
0
0
44
3
0
0
0
0
0
-63
0
0
0
0
0
0
-50
0
-1
-2
0
0
-2
46
0
0
-10
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
-1
-20
0
0
0
0
0
0
-127
0
0
0
0
0
0
-7
0
0
0
6
0
0
-103
0
0
0
0
0
0
49
0
0
0
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
-18
0
0
23
0
0
0
-18
0
0
0
0
0
0
-32
0
-2
0
0
0
0
80
0
0
0
2
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
0
0
0
0
0
-1
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
-40
0
0
0
0
0
0
-109
0
0
0
0
16
-2
-31
0
-82
0
0
-97
0
0
0
59
0
0
-28
-6
0
6
-6
-50
12
42
-1
0
0
4
0
-5
0
-8
0
0
0
2
0
-16
0
0
0
0
0
-5
0
0
0
0
0
0
-53
0
0
-7
0
0
0
0
0
-35
-5
7
0
0
0
15
97
0
0
-11
0
0
74
-13
0
21
-56
0
0
44
52
0
0
24
0
0
-11
-33
0
4
10
80
0
0
95
0
0
5
0
0
0
47
0
30
0
0
0
0
0
0
0
0
0
-2
0
-23
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
8
0
3
0
0
10
10
0
0
-2
0
0
-1
-82
0
0
-3
11
0
41
30
0
-1
1
0
0
1
47
0
0
-1
23
0
-8
-36
0
0
0
0
0
0
-23
0
0
0
0
-20
0
-41
0
0
0
0
0
0
-114
1
0
0
0
0
0
-45
0
0
0
0
0
0
15
0
0
0
0
0
-29
-55
0
39
0
0
0
0
21
0
-1
0
8
0
0
-71
0
3
0
0
0
0
14
0
0
0
-15
0
0
46
0
-7
0
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
4
-5
21
0
0
0
-2
10
-7
0
0
0
0
0
0
0
-3
-23
0
0
-9
0
0
-33
0
0
0
-7
0
37
108
0
0
0
0
-125
0
0
0
-51
0
0
-50
26
0
27
-29
0
0
-1
0
0
0
-11
0
43
-6
-11
0
0
-26
0
36
0
1
0
0
45
0
-4
0
0
0
-9
3
0
-23
0
0
0
0
0
0
125
0
0
97
0
0
0
39
0
-45
-36
0
41
0
0
33
-26
0
0
13
0
0
71
-53
0
-19
64
0
0
40
-20
0
0
67
0
0
34
77
0
0
42
0
19
-20
46
0
0
9
0
0
-11
-96
0
-139
0
0
15
0
69
0
0
0
0
4
0
-6
38
-16
0
0
5
0
-70
-3
0
-5
0
0
-13
5
1
0
-14
0
0
9
-28
0
0
-10
0
0
-119
17
0
-6
-11
0
0
-19
-19
0
0
2
0
5
3
-41
0
0
-36
0
0
0
3
0
0
-3
0
4
0
9
0
0
0
0
-6
0
8
0
0
0
0
0
2
-1
-4
0
0
0
0
-6
-40
0
-12
0
0
0
0
-91
0
5
-51
0
0
21
-3
0
-5
-11
0
-1
0
69
-3
0
0
0
-5
9
55
0
106
0
0
0
0
13
0
0
0
0
-7
0
19
0
-9
0
0
0
0
41
-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
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
15
0
0
0
0
-13
-3
-63
3
0
0
0
128
-14
0
0
31
-15
0
26
13
0
0
32
0
0
11
0
0
3
-56
51
0
23
0
0
0
0
0
0
9
-21
0
0
23
-4
0
18
5
0
0
-11
0
0
0
-5
0
0
0
-4
0
0
0
-29
0
0
0
0
0
53
7
-10
11
0
0
-9
35
0
0
-19
0
0
59
82
0
20
18
49
0
-129
0
0
1
-18
0
0
6
-15
0
0
107
-17
0
16
48
0
0
-27
0
0
0
-54
0
-35
71
-8
0
-8
-45
-1
0
0
0
0
0
-49
4
-12
0
1
0
0
-25
2
0
26
0
0
33
5
0
-3
44
-4
0
-47
44
0
2
66
0
0
14
2
0
3
-17
-1
0
12
29
0
26
-29
0
0
5
-79
0
-11
-45
38
0
14
75
0
0
42
0
0
-6
-52
0
1
0
-2
0
0
59
0
13
0
0
0
0
-37
0
-2
-17
0
0
-1
-29
-1
-49
-6
0
0
1
35
-8
0
6
0
0
0
-8
0
33
0
0
0
2
68
0
1
31
5
0
-4
-17
0
43
-14
0
0
0
-13
0
0
-1
-1
0
0
-69
0
-4
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
22
2
0
0
19
0
-73
0
0
-1
0
0
-23
0
0
0
0
0
-38
-70
0
0
0
3
-6
-4
0
0
-20
-6
0
59
2
-2
0
-1
0
1
-75
25
0
0
-32
30
5
-32
7
-2
0
-31
0
-31
0
13
0
0
-3
0
-23
0
10
0
0
31
0
14
0
-16
0
0
0
-19
7
0
0
-4
0
0
0
14
0
48
-5
-7
9
3
0
-24
4
1
0
-99
-1
0
-96
63
9
-15
-41
8
-2
14
-33
0
0
112
0
0
54
-21
0
4
11
-3
-6
0
-25
0
0
7
9
-21
0
26
0
43
-6
2
0
0
2
0
0
3
0
-23
0
14
0
0
0
0
0
0
-10
-1
0
0
0
0
5
-23
29
-10
27
-28
-2
0
42
0
-1
27
0
-17
0
-112
7
0
-46
-17
20
0
-47
0
0
23
0
-6
2
-46
-1
0
-18
38
0
-15
-23
0
0
-5
0
-11
0
-16
0
0
0
0
23
0
17
-8
0
0
7
0
0
-34
-1
0
0
0
-2
0
-29
-6
-47
-51
0
0
7
-18
0
8
-8
6
1
0
41
0
13
-6
-5
0
0
24
0
7
-1
7
0
0
47
0
-13
15
0
0
0
-31
0
3
7
-16
0
0
12
0
29
0
0
2
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
5
11
0
0
0
0
0
0
0
-100
0
0
0
0
0
-56
0
0
0
0
0
-3
130
0
0
0
0
12
0
-6
0
-15
7
0
-11
4
-1
-1
21
0
-5
-45
-6
0
0
91
0
0
-24
-6
0
0
42
0
0
-11
0
0
-1
-12
15
-6
0
0
0
0
-18
0
5
0
0
0
0
0
0
5
0
0
13
0
0
0
7
0
30
-31
0
37
-2
0
-19
54
-7
0
-43
0
0
39
13
0
-47
77
0
0
-98
51
4
0
-31
0
0
-1
-37
0
10
52
0
3
0
0
0
0
-8
0
0
0
8
0
-11
0
5
0
0
-1
0
0
0
0
0
0
-8
21
0
0
-1
0
0
59
-15
0
-4
0
0
10
23
-4
-3
-48
2
0
22
-4
0
0
-16
0
0
22
-49
-1
1
18
3
0
1
-13
0
0
5
0
12
0
0
0
0
6
0
0
0
-122
0
0
-23
0
0
0
-21
0
0
0
2
0
0
-64
0
0
0
0
0
-1
92
-1
11
0
0
0
-3
21
3
5
-1
0
0
1
-6
-1
0
-2
-5
0
3
51
0
8
0
0
0
0
49
0
0
7
0
0
0
0
0
39
0
0
10
0
10
4
0
0
0
0
0
-58
0
-22
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
88
0
0
0
-2
0
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
15
0
0
0
0
0
0
6
0
10
0
0
5
0
0
0
-42
0
0
18
0
0
-2
4
0
-8
-7
-6
0
19
13
0
0
1
0
0
0
49
0
0
38
0
0
0
18
0
0
0
0
0
0
41
0
-5
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
-48
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
-3
0
0
0
0
63
0
0
0
0
0
0
1
0
0
0
-10
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
-7
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
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
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-128
0
0
0
0
0
0
-6
0
0
0
0
0
3
0
0
-5
0
0
-88
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
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-73
0
0
-4
0
0
-3
0
0
21
-2
-2
0
-4
-6
0
0
-4
0
0
0
2
0
0
-1
0
0
0
-2
0
0
0
0
0
-3
-2
0
-3
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
0
0
0
-67
0
0
0
0
0
0
-10
0
0
0
0
0
0
-107
0
0
0
0
0
0
-14
0
0
0
0
0
0
-60
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
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
-3
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
-3
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
26
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
3
0
0
0
2
0
0
-108
0
0
0
-3
0
0
7
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
-4
0
0
0
0
0
0
0
0
-134
0
0
0
3
0
0
-90
0
0
21
0
0
0
1
0
34
0
0
0
-2
17
0
0
6
0
0
0
-17
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
10
0
-3
0
0
0
0
36
5
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
-101
0
-3
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-62
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
-1
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
-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
-1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
12
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-15
0
0
49
0
0
0
0
0
0
1
-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
-3
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
15
-63
0
0
0
0
0
0
-9
0
35
-2
0
0
2
-1
0
-1
0
0
0
0
9
0
0
1
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
22
0
0
0
0
0
0
-21
0
0
14
0
0
0
14
0
0
0
0
0
0
21
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
2
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
20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
76
0
0
0
0
21
3
0
0
-12
1
0
-39
10
-3
0
21
0
0
63
0
0
0
8
23
0
-149
10
0
0
50
0
0
-3
1
0
0
0
0
0
41
-1
0
0
5
0
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
20
-12
-13
-2
-6
10
0
-7
-17
0
0
-5
0
0
-79
-1
0
19
3
1
0
-9
119
0
0
97
0
0
-10
32
0
0
-3
104
0
-4
-9
0
0
-14
0
0
0
-20
0
89
-27
-51
0
0
-19
0
0
0
0
0
0
40
1
-10
0
32
0
0
-24
6
0
0
0
0
3
11
0
1
-12
1
0
13
55
0
0
4
0
0
1
7
0
0
-33
5
0
-24
-28
-1
0
107
0
0
0
39
0
0
-7
-14
0
0
-52
0
0
0
0
0
0
-10
0
0
0
46
0
0
6
0
0
0
0
0
0
54
-1
0
0
0
0
0
36
0
-14
0
0
0
0
48
0
0
7
-1
0
-1
-49
0
56
-6
0
0
0
17
0
2
0
0
0
0
-139
0
-16
-1
0
0
0
28
0
-14
0
2
0
0
55
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-43
0
0
0
0
0
-4
-4
0
0
0
0
5
0
0
0
64
0
8
-89
0
0
0
5
0
0
12
-5
0
0
-3
-4
-3
-7
0
0
0
7
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
110
0
6
0
0
0
0
66
0
0
-5
0
0
-1
-5
0
-72
26
0
0
-3
4
0
0
11
0
1
0
-12
0
0
-4
0
0
0
-11
0
0
0
0
0
0
5
0
-2
0
0
0
0
-20
0
0
0
0
0
0
-75
0
0
0
0
0
0
-84
0
0
0
0
0
0
45
0
0
0
0
0
14
-64
0
0
0
0
0
-1
-10
0
0
-5
0
0
0
-131
0
0
0
0
0
0
36
0
0
-2
0
0
0
32
0
0
0
0
27
0
4
0
0
0
0
0
0
31
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
11
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
-6
0
-13
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
10
0
-109
0
0
0
0
0
-47
0
0
0
0
0
0
23
0
0
0
0
-2
-1
0
0
-58
0
0
-50
0
0
2
-71
0
0
-3
-1
0
0
-22
-5
0
18
2
0
0
17
0
0
-1
1
0
-1
26
0
0
-13
0
0
0
8
0
-10
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
0
2
-20
6
0
0
0
1
-42
0
0
52
2
0
-7
4
4
-2
68
0
0
-16
-8
0
-2
-3
0
0
0
86
0
0
-3
32
0
0
93
0
0
-2
0
0
0
0
0
-3
18
0
0
0
21
0
0
0
0
0
0
34
8
0
0
0
0
0
12
0
0
0
0
0
0
27
10
0
5
-2
0
0
-41
-3
0
6
0
0
-12
-9
-1
1
-19
-91
0
0
-3
0
0
-5
0
7
0
44
0
0
0
69
0
1
0
0
0
0
0
0
0
-30
0
0
0
17
-1
0
90
0
0
0
0
0
0
-24
0
3
0
0
0
0
-4
0
-2
27
0
0
0
25
-2
0
-4
-4
0
-1
19
0
-18
0
0
0
0
-10
0
0
0
4
0
0
-20
0
-38
0
0
0
0
0
0
0
0
0
0
0
-66
0
-8
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
13
0
0
149
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
-42
0
-4
0
0
0
0
-18
0
0
13
0
0
142
0
0
20
20
0
0
-1
9
0
0
0
0
0
0
6
0
0
-14
0
0
0
-12
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
41
0
0
0
0
0
-9
22
0
0
0
0
0
0
43
0
0
0
0
0
0
65
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
12
0
17
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
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
-49
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-101
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
37
0
0
-74
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
1
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-67
0
0
1
0
0
-2
2
0
-1
-3
0
0
6
-3
0
0
-5
0
0
0
1
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
-50
0
0
0
0
0
0
-5
0
0
0
0
0
0
-66
0
0
0
0
0
0
-7
0
0
0
0
0
0
-15
0
0
2
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-25
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
-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
-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
-95
0
0
0
0
0
-75
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-13
0
0
18
1
0
0
7
0
0
13
0
0
0
0
-5
-9
0
0
0
0
0
0
23
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-7
0
0
0
0
-32
0
0
0
0
0
0
0
0
-97
0
0
27
0
0
15
-26
0
0
-1
0
0
15
2
0
8
-1
0
0
-31
40
0
0
-2
0
0
0
-52
0
0
0
0
0
0
-88
0
0
0
0
0
0
-1
0
17
0
-5
0
0
-54
0
0
0
0
0
0
16
0
0
0
0
0
0
47
0
0
0
0
0
0
19
9
2
-6
2
0
7
-6
0
0
0
0
2
0
-35
0
0
2
0
0
0
-90
0
0
0
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
24
0
-89
0
0
0
0
0
0
7
0
0
0
0
0
0
-41
0
12
0
0
0
0
7
0
0
-9
0
0
0
-8
0
12
0
0
0
0
29
0
18
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
31
0
0
0
0
0
5
-6
0
0
0
0
-8
0
0
0
-31
0
0
-53
0
0
0
13
0
0
35
0
0
0
-9
0
5
2
0
0
0
0
0
73
0
0
0
0
0
0
0
12
0
0
0
0
0
-12
0
0
0
0
0
0
15
0
0
17
0
0
0
-2
0
-37
-9
0
-15
0
0
6
-77
0
0
11
0
0
17
8
0
42
0
0
0
65
39
0
5
2
0
0
0
-5
0
0
-7
0
0
2
40
0
0
75
0
0
8
-5
0
-14
20
0
1
0
40
0
0
0
0
0
0
-35
9
0
0
0
0
0
30
-14
0
0
0
0
-6
4
0
-2
19
0
0
-32
-76
0
0
0
0
0
2
30
0
0
10
0
0
25
-25
0
0
21
0
0
0
-16
0
0
-60
0
32
0
-28
0
0
0
0
101
0
50
0
0
0
0
12
0
43
0
0
0
0
0
0
-33
0
0
0
0
0
0
29
0
14
0
0
0
-2
-22
0
0
0
0
0
2
11
0
27
-3
0
0
0
-38
0
0
0
0
0
0
5
0
-11
0
0
0
0
23
0
0
4
0
0
0
-73
0
7
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
-32
0
0
0
0
0
-11
0
0
0
0
0
-15
16
0
0
0
0
16
0
0
0
87
0
0
64
0
0
0
-18
0
0
18
0
0
0
-14
-18
0
49
0
0
3
0
0
0
4
-3
0
0
-3
-7
0
1
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
21
0
0
0
0
0
-1
-2
-14
-5
0
0
-7
71
0
0
-11
0
0
-53
-8
0
4
-23
14
0
-56
137
0
0
20
0
0
-11
-87
0
0
52
-32
0
-33
-58
0
0
19
0
0
0
-10
0
-75
26
-2
0
0
-45
0
0
0
0
0
0
-22
-10
-9
0
0
0
0
22
16
0
0
0
0
-3
-9
0
41
-4
11
0
-10
18
0
0
7
0
0
12
17
0
0
1
19
0
23
16
0
4
-9
0
0
0
-2
0
0
55
-19
0
0
35
0
0
-39
0
0
0
172
0
0
0
-12
0
0
66
0
0
0
0
0
0
-27
0
0
0
0
0
0
-40
0
19
0
0
0
-5
1
0
-5
0
0
0
0
44
0
21
0
0
0
0
-28
0
0
0
0
0
0
-46
0
-4
2
0
0
1
-20
0
13
0
0
0
0
51
0
100
0
0
0
0
-54
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
-14
0
0
0
-15
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
-11
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
-10
0
0
0
-6
-2
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
-1
0
0
0
0
0
0
1
-1
0
0
0
0
0
-19
0
0
0
0
0
1
2
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
1
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-6
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
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
-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
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
8
0
0
-174
0
0
0
-30
0
0
35
-11
0
0
-7
0
0
19
7
0
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
-61
-10
1
0
0
0
1
-86
0
0
-14
0
0
-5
0
0
-53
-10
1
0
-1
10
0
-3
-11
0
0
3
1
0
0
-1
0
0
0
-13
0
0
0
0
0
-5
10
0
2
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-45
-4
0
0
0
0
0
15
-5
0
0
0
0
7
2
0
0
27
0
0
0
0
0
0
0
0
0
0
39
0
-2
4
0
0
0
-22
0
0
0
0
0
0
40
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
13
0
0
0
0
0
0
-26
0
0
-9
0
0
0
-9
0
8
0
0
0
0
-10
0
0
0
6
0
0
22
0
-7
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-18
4
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
0
-3
0
108
1
0
0
22
-17
0
0
0
0
0
0
-8
0
0
18
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
28
0
11
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
-2
0
0
0
23
0
0
0
0
0
11
-15
0
0
11
-16
0
0
10
0
0
0
0
0
0
1
0
0
3
0
0
0
-30
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
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
-15
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-3
0
1
10
50
45
29
-1
-13
33
-69
12
-14
20
-18
-84
-39
-38
-11
115
-44
-11
29
12
-20
64
-32
-23
20
27
-10
2
41
17
-4
-14
16
7
10
-5
13
-35
-41
68
-25
-36
-4
0
23
17
7
3
-82
-4
-1
16
20
4
-2
-13
-29
34
-4
-57
-34
-57
-18
-67
12
54
30
-54
-53
-1
17
10
33
6
13
12
-106
-33
-21
36
44
70
0
35
-45
-5
-3
-5
26
-29
-25
-24
-50
-8
25
-43
44
-9
-1
-13
91
-57
24
-99
34
7
-36
39
13
-59
43
-3
42
4
44
-26
-66
-8
-13
59
-1
0
-22
37
94
-2
-61
-11
-18
-52
15
16
35
-8
-74
-10
-58
-18
70
-10
7
36
-4
39
-41
8
7
-94
-68
-4
-12
47
42
10
30
-63
-21
-51
51
-13
-26
3
-46
-10
-12
25
-39
-14
-8
-13
12
56
-24
2
-43
55
82
-42
-9
-11
-1
8
-24
50
-6
4
19
-10
2
55
-31
-38
12
-1
43
-33
-84
58
-8
-22
-2
-72
-3
13
6
14
63
-24
-37
-2
-38
-74
-28
53
-22
-59
0
-21
56
84
-38
4
120
-7
5
17
-53
39
57
58
19
12
-29
52
-10
57
46
-37
40
-29
-8
-3
72
-1
15
64
-21
-28
-67
-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
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
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
-37
0
0
0
0
0
0
0
0
-13
-4
0
0
-3
-9
0
0
0
0
0
0
-4
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
-12
0
0
0
0
0
0
-4
0
0
-3
0
0
0
2
0
0
0
0
0
0
6
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
-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
-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
-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
14
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-6
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
52
0
0
0
0
0
-6
51
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
50
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
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
62
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-16
27
0
0
0
0
7
43
0
-2
40
60
0
-22
23
0
0
8
0
0
-141
-4
-4
15
-56
-75
0
-28
4
0
0
67
0
0
50
-8
0
0
-132
-2
0
86
1
0
0
5
0
0
0
0
0
0
0
-17
0
0
0
15
0
0
-9
0
0
1
-32
42
23
45
0
11
60
0
0
41
0
0
-68
-44
0
-10
23
41
0
64
57
0
0
77
0
0
84
-11
0
-13
-78
12
0
-95
-69
0
0
-28
0
0
0
21
0
-22
-7
19
0
1
-33
0
14
0
0
0
0
-9
-26
-38
0
19
0
0
17
63
4
-2
0
0
59
69
8
19
28
-39
0
34
-1
0
6
16
0
0
51
59
17
-2
-40
14
0
27
20
0
5
156
0
0
-7
-26
2
3
51
-24
0
0
36
0
29
11
0
0
14
-29
0
1
7
36
0
0
-56
0
7
0
0
0
0
-20
-48
7
-4
12
0
2
-11
-6
-61
36
0
0
-19
18
0
8
-29
-13
0
0
33
0
-21
1
0
0
11
-39
0
-1
-4
79
0
-3
28
0
-97
-4
-5
0
0
50
0
0
-3
8
0
1
-39
0
57
-5
0
0
0
-66
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-11
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
31
61
-74
-89
31
-20
-39
-19
1
5
4
-56
-4
-30
-52
-52
21
36
6
39
-13
147
46
-23
-100
-29
23
-68
77
23
8
-98
1
-21
5
13
20
1
10
-6
99
49
-8
-91
2
-73
-17
-139
-50
-49
-34
-19
51
31
-36
-23
-3
-16
-48
37
82
81
-13
13
-31
-25
-22
-31
29
-15
-9
-5
27
-32
30
-4
6
-114
-5
-38
-6
65
10
-25
-78
190
40
87
48
51
26
51
-13
-19
-44
-28
-44
-8
8
65
7
-51
26
72
-5
18
28
-24
35
60
32
-14
-35
-75
-63
-43
-14
-4
23
-3
-6
-43
46
26
31
9
11
-59
28
-12
-54
54
-2
12
-70
30
-37
67
-4
15
83
21
13
-42
7
16
-3
-21
-15
-8
-26
5
3
1
-39
-12
7
-14
41
79
27
22
-26
-2
-14
28
-24
-1
-35
162
41
94
19
51
-30
-39
-29
-22
-64
25
-4
-45
-2
13
-36
39
-35
24
-19
61
-43
63
-26
-58
10
-36
-78
26
-3
1
8
50
-30
41
-51
2
6
-8
77
-2
-137
-34
-20
13
-38
-58
32
-42
-8
-1
8
2
63
-33
28
-8
-11
21
25
-41
30
-103
8
15
22
-25
-8
28
101
48
119
-80
47
30
16
-1
24
-13
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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
0
0
0
15
0
0
-17
0
0
0
2
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
82
0
0
0
18
-7
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
-9
0
0
0
0
0
0
4
-1
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-26
0
0
6
0
0
0
3
0
0
17
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
81
0
0
0
0
0
0
22
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
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
-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
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
-1
1
0
0
34
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-2
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
-11
0
0
0
0
0
-48
0
-2
0
0
0
0
-119
0
0
-7
0
0
0
0
0
-28
7
4
0
77
-19
0
0
-5
0
0
0
-3
0
0
-7
19
0
0
113
0
0
0
0
0
0
0
0
-29
1
0
0
0
-13
0
0
0
0
0
0
-2
17
0
0
0
0
0
78
1
0
0
0
0
-8
-24
0
0
0
0
0
0
53
0
0
-8
0
0
0
96
0
0
2
0
0
0
-87
0
0
9
0
0
0
8
0
0
0
7
0
0
-23
0
0
0
0
0
0
40
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
-6
0
0
0
0
-17
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
6
10
0
0
16
0
0
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
-9
0
0
9
0
0
0
0
0
-7
1
0
6
0
0
0
-22
0
0
1
0
0
0
0
0
147
1
0
0
-8
63
0
0
-12
0
0
0
118
0
0
-13
0
0
0
-3
0
0
5
0
0
0
-8
0
16
0
11
0
0
13
0
0
0
0
0
0
-19
0
0
0
0
0
0
-32
11
0
0
0
0
0
64
0
-10
0
0
0
0
-142
0
0
0
0
0
1
8
0
0
0
0
0
0
-32
0
0
25
0
0
0
62
0
0
0
0
0
0
78
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
-20
0
0
1
0
0
0
-4
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-6
0
0
0
0
-10
0
0
0
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
65
-42
-15
9
72
0
-19
75
-2
-1
0
95
0
6
31
-8
-1
0
81
-41
54
-60
7
2
8
-13
0
52
0
8
0
0
16
0
6
7
-1
0
0
0
0
24
0
6
0
0
0
25
-26
0
0
13
0
0
0
-4
0
0
6
-107
54
8
0
-77
-38
0
-14
-21
0
0
-61
87
0
-16
122
23
0
-74
-25
1
13
17
3
-3
27
-61
0
-2
26
39
0
24
6
-4
0
-9
0
-1
4
22
0
-23
-25
-21
0
0
-18
0
0
0
0
28
0
91
-6
-11
0
0
0
0
0
19
-25
0
0
0
-17
36
-11
79
16
-12
0
-25
63
0
-5
-53
-1
0
-42
-52
-2
34
-23
6
0
58
12
0
2
-58
-1
-6
5
9
0
1
-36
67
0
0
-17
8
19
-2
0
6
0
-127
0
21
5
-13
14
0
40
0
0
0
-1
0
0
0
-40
0
10
0
0
0
-42
-3
-144
-37
0
0
0
-35
0
0
0
0
0
12
-7
-18
-28
-23
0
0
2
56
0
34
-30
4
0
1
-22
0
17
90
-2
-6
0
21
8
2
-3
-9
-34
0
-114
0
-50
0
0
-6
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
20
38
-10
31
55
52
17
66
41
28
5
116
44
76
44
72
-7
75
-35
35
-22
25
-58
-2
-23
-40
-4
-40
77
15
0
0
-99
33
29
21
-26
0
-1
1
-4
-80
0
-46
0
0
3
-9
-134
-1
0
5
-1
0
0
-21
0
41
-13
-107
68
-1
0
80
-52
-11
38
49
21
-4
17
36
-12
-26
11
-71
-34
29
-13
6
2
47
34
-17
3
-115
1
27
-81
-79
10
36
-32
0
19
-9
2
-30
-26
-26
-3
27
8
55
10
6
-68
0
-1
-1
14
39
0
36
99
159
0
-5
11
0
0
-35
-7
31
-17
3
-65
-56
70
-24
11
-103
-1
87
-18
2
1
-59
-3
144
-34
-33
7
18
-32
44
96
27
-51
0
-24
-10
99
-1
64
-23
0
-24
-72
-27
22
-1
32
0
-81
-34
-4
-20
-3
-56
0
11
-19
-77
32
0
21
52
0
0
9
0
0
39
-13
-23
-8
17
0
-6
14
36
-19
-99
-17
15
46
-11
15
72
2
-46
-4
-21
-90
-5
125
33
5
12
-10
21
-1
11
-76
-12
31
4
35
0
-2
-44
11
-4
-3
22
0
-1
-26
-39
49
-4
25
6
9
0
-2
5
0
4
40
-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
2
4
0
0
14
0
0
-57
0
0
0
25
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
0
0
63
0
5
1
0
0
6
-83
0
0
-2
0
0
-3
0
0
3
-7
8
0
-10
-6
0
0
6
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
7
0
0
0
0
-4
0
0
0
0
2
0
49
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
-41
0
0
0
0
0
0
22
0
0
0
0
0
0
-29
0
0
-4
0
0
0
12
0
0
0
0
0
0
65
0
0
0
0
0
0
11
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
4
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
13
0
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
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
-23
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
0
0
0
0
0
0
0
0
0
47
0
0
-7
0
0
0
0
0
6
0
0
0
0
0
0
-38
0
0
0
0
0
4
0
0
-31
-5
0
0
-27
-70
0
0
-2
0
0
0
3
0
0
5
0
0
0
45
0
0
8
0
0
0
60
0
2
0
0
0
0
-5
0
0
0
0
14
0
23
15
0
0
0
0
0
24
0
0
0
0
0
0
65
0
0
0
0
0
0
-92
0
0
0
0
0
25
5
0
0
-2
0
0
0
36
0
0
0
0
0
0
-4
0
0
1
5
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-81
0
0
0
0
0
0
8
0
0
0
0
0
0
-33
0
2
0
0
0
0
-9
0
0
0
0
0
0
-67
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-83
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-2
0
0
0
0
0
0
0
-2
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
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
-4
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
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
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
2
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
-2
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
30
0
0
15
0
0
-15
1
0
-1
15
0
0
41
10
0
0
-13
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
-13
0
0
0
0
46
0
0
0
0
0
0
56
0
0
0
0
0
0
-58
0
0
0
0
0
0
1
0
0
17
0
0
0
-37
0
0
8
0
0
7
8
0
0
0
0
0
0
-50
0
0
0
0
0
0
-12
0
0
-1
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
-54
-1
0
0
0
0
0
1
0
24
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
-9
13
-43
-2
-1
95
48
43
-11
-42
-76
27
-59
23
-5
10
-62
0
-10
-7
-25
1
0
-88
51
8
10
176
0
0
34
0
122
0
-27
0
0
0
3
84
0
0
6
0
0
-1
-68
0
11
102
-52
58
-7
0
4
53
-1
2
-13
-5
0
-109
24
1
25
-5
71
0
-59
-30
-3
23
47
-2
-49
22
-10
0
66
20
-15
-3
12
17
0
-1
-105
0
-12
49
-8
0
81
-12
14
-10
0
7
-1
0
0
0
2
0
-15
36
-3
0
14
33
0
-39
71
0
-40
-1
0
93
80
-3
21
189
-49
0
13
-8
3
18
-27
-1
0
30
26
-14
27
-87
-76
0
18
-45
-3
11
74
3
-3
33
-109
0
69
72
65
7
-12
-69
0
46
44
0
50
0
99
-3
40
65
10
-14
0
11
12
20
0
16
22
0
-14
-89
-1
0
0
0
-20
46
1
43
34
0
-4
8
134
-1
60
-4
25
0
13
15
0
5
-20
-9
0
14
66
7
21
24
50
-2
6
-77
0
-22
-37
0
2
-2
-6
0
26
-32
-42
7
6
-45
0
49
5
0
68
3
30
-12
-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
-102
-5
-4
0
32
0
0
47
-49
0
0
11
12
-3
-68
-18
1
0
-2
6
71
-3
6
0
0
34
0
20
100
0
0
3
0
0
9
0
19
0
0
0
-14
6
0
0
-61
0
0
0
27
7
71
49
-15
-9
0
0
-22
0
-9
0
-67
-2
0
43
-136
1
-49
-2
18
-3
-34
24
0
12
21
-12
0
35
-14
0
0
-87
70
22
22
-53
0
0
28
0
17
-2
83
0
20
-37
-10
0
0
62
0
0
0
0
0
-1
55
41
-3
0
0
0
2
1
2
-4
7
0
0
99
0
0
0
100
-4
0
-47
-4
0
14
20
-5
0
-58
-23
5
17
2
0
0
0
-2
-2
-5
-27
-7
-7
11
-61
-1
0
-36
56
0
0
-24
0
0
40
-1
-6
0
112
0
-2
0
9
-15
0
28
-11
0
0
0
0
0
-31
0
-3
0
-1
0
0
0
16
-28
7
-4
0
0
-87
0
0
0
-3
0
0
-132
0
49
65
6
0
-4
-39
0
11
-48
19
0
7
-26
0
-22
-6
0
3
0
48
0
0
-11
0
0
0
-30
0
40
2
-18
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
0
0
-40
0
0
0
104
-8
-2
44
-9
0
0
-10
0
-7
0
0
0
0
-7
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
0
19
3
0
0
0
0
0
-110
0
0
46
0
0
-14
3
0
6
19
0
0
-59
3
0
0
27
0
0
-2
52
0
0
0
0
0
0
-77
0
0
-14
0
2
0
27
0
22
0
0
0
0
37
0
0
0
0
0
0
-46
0
0
0
0
0
0
-66
6
0
0
0
0
-2
171
0
-9
1
0
0
-3
-2
0
0
0
0
0
-11
-9
0
0
29
0
0
0
-32
0
0
37
0
0
0
29
0
0
0
9
0
0
82
0
0
0
0
0
0
-28
0
0
0
1
0
0
11
0
0
0
0
0
0
-10
0
0
0
0
0
0
-23
0
-6
0
0
0
1
8
0
0
0
0
0
-4
-58
0
-2
0
0
0
26
-13
0
2
-1
0
0
0
39
0
13
0
0
0
0
15
0
-1
0
0
0
0
37
0
19
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
56
0
5
67
-13
0
0
43
7
1
-6
0
0
0
0
0
0
-4
1
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
-3
0
0
0
1
0
10
17
0
10
-2
0
-1
33
0
0
4
0
0
47
-3
0
21
-19
0
0
-115
113
0
0
0
0
0
0
55
0
0
3
0
0
14
-29
0
0
0
0
0
0
-72
0
19
0
-18
0
0
53
0
0
0
0
0
0
-72
0
0
0
0
0
0
-65
0
0
0
0
0
-12
46
1
-1
14
0
0
3
-134
4
7
-3
0
0
0
-9
0
0
-5
0
0
0
10
0
0
14
0
0
0
-15
0
0
16
0
0
0
127
0
0
-3
0
0
0
21
0
0
0
0
0
0
28
0
0
0
0
0
0
-55
3
0
0
0
0
-4
3
0
-5
0
0
0
-5
16
0
16
0
0
0
26
58
0
2
0
0
0
0
-62
0
0
0
0
0
0
110
0
0
3
0
0
0
-14
0
0
-3
0
0
0
-91
0
4
0
0
0
0
-16
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
37
113
-29
42
-41
-83
4
-33
77
45
-8
60
-47
-22
-69
31
-28
62
-29
51
31
-8
-105
-7
-8
-77
-44
31
-55
-88
-2
-3
45
2
-27
-20
-39
-5
-4
-4
-6
-33
-1
-10
25
6
-1
46
-21
-2
110
75
2
68
-16
0
-42
3
20
-15
36
22
-2
27
-6
19
39
8
34
-20
7
51
101
-93
31
-61
63
36
20
-14
17
4
-15
16
45
-5
0
17
-5
15
44
-88
-79
-4
4
-60
-34
-51
32
-39
-8
7
14
44
41
-4
8
-41
-128
-3
-58
13
3
79
32
1
89
23
22
52
-12
69
1
13
59
23
-25
2
75
68
184
18
106
98
-12
-10
2
18
5
10
79
-2
45
-10
17
-102
-172
-42
-46
-7
23
-17
-4
-11
-45
-24
-2
-58
86
11
-40
-8
15
52
-66
-7
-30
-28
-1
23
1
22
-4
0
8
-4
11
92
-13
7
-26
0
-9
48
-52
9
53
0
-1
8
-37
-45
-40
20
-29
-14
-65
2
2
9
102
-4
14
-3
15
-7
-9
28
-30
-40
113
-35
3
4
42
117
-13
74
-3
-32
-49
42
-2
66
-18
13
0
5
1
3
-11
-1
5
-5
-73
47
54
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-13
0
-5
-64
0
-1
0
20
0
95
-40
4
0
0
41
0
-11
-5
3
0
1
14
0
35
14
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
29
0
0
0
-4
13
56
99
121
-3
0
0
-173
-95
0
-1
0
0
0
68
16
0
93
-21
0
0
56
19
0
0
-119
0
7
-18
-78
0
3
-68
0
0
22
-61
0
0
23
0
0
0
-37
0
-31
0
0
1
0
-4
0
0
-2
0
-18
0
29
-23
-17
0
0
0
0
-8
-29
0
-5
0
0
16
40
-29
-2
50
0
12
-29
79
0
-2
-56
0
-17
109
-70
0
0
5
0
2
11
6
0
15
-22
0
-2
2
1
0
13
64
-2
-3
-2
38
0
0
-2
0
25
0
17
0
-18
0
0
9
0
21
0
0
0
0
0
1
110
-11
-4
0
0
0
-1
-108
0
-61
2
0
0
-16
-55
0
0
-3
0
0
-2
-31
0
29
-4
0
-8
0
-49
0
-4
-37
0
0
0
-7
0
-66
3
0
0
0
29
0
0
-10
0
0
0
51
0
47
0
0
5
0
-16
8
-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
180
2
21
0
46
0
0
-7
0
0
0
49
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
3
0
0
0
0
0
-8
-28
2
-2
0
0
-5
43
0
0
68
0
0
-89
-29
0
53
2
0
0
40
-16
0
0
-48
0
0
-23
10
0
4
27
3
0
5
54
0
0
-1
0
0
8
26
0
48
0
-5
0
0
34
0
0
0
0
0
0
37
-15
5
0
0
0
3
47
4
0
0
0
0
9
8
-5
0
-40
-1
0
-5
-67
0
0
1
0
0
18
-3
0
9
61
-13
0
26
30
0
-5
11
0
0
9
11
0
0
-8
9
0
0
49
0
0
0
0
0
0
27
0
-4
16
18
0
0
-65
0
0
0
0
0
0
76
1
0
0
2
0
0
42
1
-91
2
0
0
-1
-73
0
0
3
-5
0
0
16
0
37
37
0
0
0
-61
0
1
-6
-2
0
10
51
0
0
0
0
0
0
-13
0
-2
0
-10
0
0
131
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-54
-37
4
46
37
38
14
-57
-113
-58
-34
-11
22
-64
-59
-22
10
-45
-2
-9
-54
-20
18
-23
-144
-17
-50
-24
-5
-57
-2
-29
-17
-12
-11
41
29
8
1
47
-42
66
43
50
-56
53
88
-9
6
-16
7
6
26
-11
10
-13
-36
66
20
49
-12
-109
26
16
61
114
-26
38
-38
35
-13
-6
84
52
40
24
-16
18
0
-36
-2
-22
-32
28
-24
39
-39
-15
21
-49
-38
16
61
124
47
30
7
0
26
-18
28
0
29
-24
0
53
20
28
54
-3
-41
40
17
34
83
101
-49
41
57
-5
33
-128
33
59
45
36
9
51
72
24
4
-51
37
-13
-13
68
43
133
23
-41
9
69
-48
-36
30
10
-9
4
-1
68
-45
-116
22
-32
6
76
15
-37
-4
11
-3
-2
22
59
-3
-79
-44
-5
-10
0
-26
45
-18
-3
30
-32
92
-10
11
31
-15
6
28
-7
-30
2
-67
-91
73
-33
-94
54
20
44
35
13
-22
59
-15
41
-41
-81
7
12
13
28
59
-19
-118
110
-10
-4
-48
11
-13
-27
72
18
-4
32
149
-38
-43
-1
23
-64
52
-30
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-16
2
-14
35
-20
0
0
-2
0
20
-10
-7
0
0
22
0
18
-6
0
0
0
0
0
23
0
-20
0
0
0
23
-117
0
0
5
0
0
-9
-14
0
79
-7
36
41
7
0
12
-43
0
0
-8
-1
0
-85
0
-7
-25
52
3
0
0
-38
0
0
-31
0
0
-5
58
0
0
19
-6
0
-42
-93
0
0
9
0
9
0
52
0
14
39
-9
-2
0
69
0
0
0
0
3
0
58
-21
12
0
0
0
0
139
2
4
6
0
0
-1
-57
-2
4
15
-1
0
1
0
0
0
-87
-3
0
-6
19
0
5
55
3
0
21
90
0
0
-11
0
0
0
-134
0
-2
11
35
0
0
123
0
0
1
-2
13
0
56
0
0
0
12
33
0
-99
0
-9
0
9
-1
0
85
-4
0
11
0
0
0
90
18
41
11
0
0
-1
0
9
12
39
11
0
-8
111
0
-14
95
0
0
0
9
0
8
6
-7
0
0
-77
0
50
0
9
0
9
-21
0
0
-5
0
0
0
-9
0
35
2
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-11
0
0
0
0
-40
0
0
2
0
0
0
0
0
142
8
-4
-1
0
0
1
-7
0
0
-11
0
0
-4
-2
0
10
62
0
0
-79
34
0
0
4
0
0
0
-9
0
0
4
0
0
0
77
0
0
0
0
0
0
-7
0
19
0
0
0
0
-17
0
0
0
0
0
0
108
0
0
0
0
0
0
-65
0
-1
0
0
0
0
-34
0
0
3
0
0
-17
60
0
0
1
0
0
-1
-1
0
5
0
0
0
1
8
0
0
0
0
0
0
64
0
0
0
1
0
0
-41
0
0
0
0
-1
0
-7
0
0
0
0
0
0
29
0
0
0
0
0
0
13
2
0
0
0
0
0
-13
0
0
0
0
0
0
-42
0
0
0
0
0
0
39
0
-1
-1
0
0
0
-22
0
0
11
0
0
0
-19
0
-8
0
0
0
0
-7
0
0
0
0
0
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
11
0
0
0
-24
0
0
17
0
0
0
0
0
0
0
2
0
0
19
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
-81
36
-4
0
0
0
13
93
0
0
-25
0
0
14
1
0
-4
56
0
0
-9
-16
0
0
0
0
0
-18
34
0
0
10
0
0
-13
22
0
0
0
0
0
0
26
0
-20
9
1
0
0
-10
0
0
0
0
1
0
34
0
0
0
0
0
0
-36
-1
0
0
0
0
0
69
0
0
-5
0
0
0
62
0
0
0
0
0
1
-36
0
0
0
0
0
2
50
0
0
0
0
0
0
44
0
0
0
0
0
8
6
0
0
0
0
0
0
15
0
0
4
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-14
0
33
15
0
0
0
-17
0
0
0
-9
0
0
13
0
4
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
33
96
-49
-15
-44
1
-15
5
-7
-5
22
-14
29
0
14
2
-11
-33
-77
-88
0
-9
29
0
-159
6
-13
0
0
25
-51
-100
0
3
65
-1
0
9
-9
20
56
73
-19
-59
-11
0
-13
-5
121
35
7
0
-12
137
36
-2
-15
26
48
-11
9
30
1
97
17
0
35
-43
53
-1
-1
37
90
58
-64
-56
3
0
23
9
-43
-18
-85
0
-39
-65
80
1
-3
-21
0
-2
-5
0
11
8
36
-1
-61
0
-20
0
-17
50
64
-4
-26
-1
0
-11
48
21
70
-24
66
-6
48
-4
5
69
81
12
-4
104
-37
47
59
-39
7
14
66
-35
66
-17
19
-15
12
-68
-61
3
-22
-34
19
-35
-9
-1
0
-3
0
-1
-17
2
43
-9
-1
-19
-117
-5
0
29
-1
0
0
-1
6
-1
7
-61
6
0
0
0
8
-8
5
21
3
0
-17
-32
2
3
-30
132
-20
5
-27
-6
14
26
-32
4
28
29
-58
-9
-14
35
4
-10
-11
10
0
-12
-81
-11
1
-25
3
0
-5
52
-75
-18
-15
10
0
31
-2
5
-16
0
74
-25
-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
-9
0
0
-9
5
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
-3
0
0
0
0
0
0
0
0
-8
15
0
0
0
0
-6
56
0
0
0
0
0
3
0
0
-62
86
0
0
8
0
0
0
0
0
0
11
-9
0
0
0
0
0
0
60
0
0
0
0
0
0
2
0
12
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
0
0
0
-30
0
0
0
0
0
0
18
0
7
0
0
0
0
6
0
0
0
0
0
0
-30
0
0
-1
0
0
0
53
0
0
0
0
0
0
-6
0
0
0
0
0
0
125
0
0
0
0
0
0
13
0
0
0
0
0
0
73
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-2
0
0
0
0
12
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
6
53
-21
1
-13
6
0
-1
64
0
0
-36
0
0
-84
-14
0
56
49
-17
0
118
9
0
0
-92
0
0
71
-24
0
0
-45
-5
0
3
-65
0
0
31
0
0
0
45
0
38
0
9
0
-33
-51
0
0
0
0
0
0
-41
42
-1
0
-8
0
0
73
0
-2
8
0
0
3
12
9
-47
-9
14
0
57
19
0
0
-48
-1
0
-26
-62
0
7
-22
-8
0
17
-17
0
-3
56
0
0
-1
48
0
0
44
9
0
0
45
0
0
0
0
0
0
-12
0
-2
-4
-41
0
0
-75
0
0
0
0
0
0
97
-28
0
0
-1
0
0
-31
0
49
-9
0
0
2
23
0
0
8
2
0
0
-21
0
-15
33
0
0
-24
-8
0
20
0
0
0
0
-47
0
-8
-14
7
0
0
-31
0
-5
3
5
0
0
31
0
1
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
15
35
-19
-8
13
4
5
66
-4
1
3
53
-69
47
50
57
0
-4
19
0
-41
3
76
3
0
-1
-54
-5
0
0
-56
0
3
-2
59
2
57
-11
65
77
-5
0
33
-37
19
4
48
0
-1
88
-44
-25
-3
60
69
-25
-27
23
14
79
15
-12
-26
-59
3
-9
-80
-27
-55
2
45
22
-8
-28
44
22
-31
53
-32
-4
-45
-39
-13
-13
-2
-8
1
-2
14
-7
-5
0
-24
12
53
0
35
25
3
66
-26
-34
20
-49
0
-33
-27
-19
44
-49
47
7
-12
8
7
-15
54
6
-19
30
6
4
7
19
-48
-14
15
53
41
0
18
1
157
1
1
-3
16
74
-17
7
4
-10
8
66
14
-8
70
1
-25
0
-21
-21
-11
33
0
-17
-32
-2
0
0
31
0
67
95
-49
-4
2
0
-11
15
-1
85
43
12
0
-74
26
-5
-44
-66
-42
-19
0
26
16
75
36
-47
-20
44
32
8
5
-120
10
3
4
22
-15
30
58
24
82
76
26
-1
-80
35
-22
2
2
-1
0
70
33
-20
-21
0
11
52
-15
5
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
-17
8
0
0
-1
0
0
0
0
0
-1
-18
-28
-18
-1
0
0
0
-2
0
2
0
46
0
0
0
0
-70
0
0
-45
0
0
0
2
0
-125
23
61
10
5
0
5
93
7
0
12
0
-3
-41
0
-5
11
-17
46
-1
-10
0
-6
-2
-1
0
0
30
-95
0
0
-18
-7
0
118
-29
0
0
1
11
0
0
16
0
-10
0
-27
0
0
-16
0
0
0
14
1
0
35
-6
75
0
0
0
0
41
17
-8
-3
0
0
-3
17
9
4
9
-21
0
48
11
0
16
53
0
0
82
0
-1
0
4
2
0
-19
54
0
0
42
1
1
11
-47
0
-12
-27
-37
0
0
5
0
0
-9
4
-6
0
-52
1
0
0
-2
0
0
-20
0
0
0
0
0
-1
55
-8
0
0
0
0
0
52
-3
-57
-15
-3
0
0
53
0
-8
-32
1
0
-15
0
-3
61
2
0
0
-2
42
0
0
-13
-3
0
-1
-3
5
29
-35
6
0
0
73
0
0
0
-5
0
0
30
0
7
0
0
9
0
-21
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
-3
9
0
0
0
0
14
-1
-5
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
-5
0
-16
0
0
0
0
0
0
-2
0
45
0
5
0
0
0
-10
21
0
0
-3
0
0
-3
28
0
149
-55
0
0
19
-4
0
0
35
0
0
0
-3
0
0
8
0
0
0
-2
0
0
0
0
0
0
2
0
-23
0
0
0
0
71
0
0
0
0
0
0
38
-1
0
0
0
0
-3
1
0
0
0
0
0
0
-56
0
0
1
0
0
0
7
0
0
0
0
0
-1
36
0
0
0
0
0
0
4
0
0
-5
0
0
0
3
0
0
1
0
0
0
92
0
0
1
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
40
0
-7
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-54
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
15
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-5
0
63
0
7
0
0
0
-8
-36
0
0
7
0
0
-3
5
0
-7
11
0
0
-4
11
0
0
2
0
0
6
5
0
0
-2
40
0
-7
170
0
0
0
0
0
0
0
0
9
0
0
0
0
-7
0
0
0
0
-22
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
9
-27
0
0
0
0
0
0
56
0
0
0
0
0
0
-22
0
0
0
0
0
0
-35
0
0
0
-15
0
0
61
0
0
0
0
0
0
-3
0
0
1
0
0
0
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
6
0
0
0
0
-41
0
0
0
0
0
0
-3
0
2
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
-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
-67
51
0
0
16
17
-4
-9
11
0
0
6
11
33
-2
-17
0
3
-3
5
-54
0
40
0
0
0
5
4
0
0
-73
0
0
0
19
-2
86
-32
5
131
2
0
-49
14
34
-3
89
0
8
97
39
41
-6
64
97
10
-13
-6
-1
8
87
-3
-15
41
54
-25
1
-37
13
35
4
-12
0
0
99
4
-35
14
-50
-5
-39
-35
12
-32
-1
-22
3
0
0
0
21
0
-2
-43
-67
0
-7
16
0
73
64
0
-23
0
-1
79
-11
82
6
-11
-44
33
-47
66
-24
-12
20
-12
-6
-1
6
1
62
103
83
-4
69
-16
-13
-38
-78
94
-51
38
-60
-24
33
-7
-7
91
21
-21
0
-4
46
0
21
4
-58
0
-24
4
-107
15
0
-15
2
-6
0
-46
13
0
55
-36
16
16
-50
0
-1
18
9
-12
82
0
0
14
63
33
8
60
-27
-1
97
15
10
-9
20
3
0
15
-25
-11
15
-2
-149
1
-37
-40
2
-31
-36
0
-75
-3
-96
16
15
-39
29
29
0
-11
1
95
-23
-1
-50
0
-70
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
-10
0
77
-6
12
0
0
58
0
-2
32
-13
0
0
-13
0
83
0
0
0
0
0
-43
65
0
0
-64
0
0
0
94
8
30
41
43
50
0
0
-41
-15
-17
9
5
0
0
68
6
0
27
-23
0
9
8
-24
0
0
46
0
-17
-94
63
0
-5
11
8
-1
-8
-13
0
0
68
0
-11
13
-23
19
36
-19
0
-1
0
16
-4
0
7
0
-57
0
15
-16
12
0
0
-9
12
0
-4
0
-20
0
0
-12
27
-22
-11
17
0
0
11
31
0
-2
-5
0
0
-56
-1
-1
34
33
0
6
38
33
0
0
-48
3
-64
-16
-88
16
36
5
-10
-13
0
-50
0
-32
49
0
21
0
12
0
-1
10
0
-7
0
9
7
12
0
0
-4
0
55
14
12
2
0
0
0
-22
0
-58
11
0
0
36
29
-4
23
-83
0
0
-26
-14
0
-94
47
0
0
-5
32
0
5
14
12
3
1
-60
0
-16
18
0
0
0
-26
2
-2
60
0
12
0
-81
0
9
6
0
-82
0
34
27
22
-20
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-17
0
0
-4
-4
0
0
-2
-14
0
0
0
0
0
-3
0
0
0
81
0
0
2
6
0
0
0
76
0
0
0
0
0
-32
14
-15
-32
-8
0
30
6
0
0
41
0
0
29
62
0
-7
-67
-13
-1
-66
96
0
0
13
0
0
64
46
0
-11
-56
38
0
-21
43
0
0
-5
0
0
0
-59
0
-12
-26
15
0
-9
80
0
0
0
0
0
0
61
84
23
0
2
0
0
23
-58
-8
0
0
0
43
1
-7
-14
1
50
0
46
8
0
3
-36
0
0
56
54
0
-11
23
76
0
30
15
0
69
66
0
0
-5
53
0
2
99
97
0
0
-50
0
-10
7
0
0
0
-43
0
-13
41
46
0
0
33
0
0
0
-2
0
0
3
-9
0
0
-13
0
1
-38
3
2
5
0
0
8
-69
4
-8
-37
-17
0
-1
-15
0
-20
24
0
0
0
65
0
9
-7
-18
0
-1
37
0
88
5
0
0
24
21
0
2
1
-7
0
0
28
0
10
-5
0
0
0
34
-25
-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
-94
52
0
-2
-29
-17
52
18
51
0
-8
-10
-6
3
8
-76
0
0
0
-29
-18
0
-6
58
0
1
0
-22
3
1
-7
-91
-21
-56
0
-76
32
-8
34
26
0
0
-70
80
2
-37
-28
5
-3
-28
-28
-11
16
-22
11
-11
-26
2
0
-6
4
-21
-42
-49
-32
24
9
6
0
-8
-3
-18
1
-11
42
-27
-2
0
49
0
0
6
0
-62
0
23
16
-94
0
111
0
5
-24
-47
12
50
4
0
-26
42
3
31
-50
46
24
-16
71
6
-19
-32
8
-17
34
17
-54
79
-34
-86
1
-10
22
-4
29
-3
-6
-26
-11
22
12
1
-26
-1
30
26
-5
0
-39
-24
0
23
0
-37
0
5
-6
-55
-14
0
4
4
0
0
0
2
0
-9
14
-9
-24
0
0
-1
19
18
-81
-27
-3
-1
3
106
0
-16
23
-27
0
-8
36
0
-46
21
1
3
5
51
0
-11
-25
100
0
-5
-44
0
17
-71
3
-8
-10
9
0
69
-83
31
0
0
-7
0
38
1
0
7
0
52
-49
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
19
0
10
5
-5
0
0
0
-9
0
0
-5
0
0
0
3
-92
0
0
13
0
0
4
-15
0
6
-28
-9
9
0
0
-79
25
-1
0
54
0
0
2
65
2
75
73
-8
0
-15
-20
-10
0
89
0
0
0
0
2
0
-1
-6
0
-4
27
0
5
-4
0
0
-11
-13
0
-50
-3
-1
1
-2
-22
0
0
0
2
-5
0
-1
28
0
0
-11
0
0
28
17
5
-6
0
0
8
3
0
-3
-14
-4
0
-6
23
-1
9
-21
0
10
14
-21
-2
20
99
6
0
13
0
0
11
-87
-10
0
-12
-91
5
1
27
0
0
5
1
0
0
12
0
0
10
-41
0
0
27
5
-15
0
95
0
0
0
0
1
1
-13
-5
0
12
-1
0
0
3
3
29
-8
0
0
0
-42
0
-7
40
0
0
-1
-91
0
-17
-8
0
0
-6
0
0
3
-17
-4
5
9
-58
0
-96
7
-11
0
0
-76
0
3
-11
7
0
0
-32
0
-81
0
0
0
0
18
-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
41
0
0
0
0
0
0
-29
0
6
0
0
0
0
0
4
-38
0
0
9
0
0
31
0
0
-1
-26
-11
0
1
21
0
0
68
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
-1
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
6
0
0
0
0
0
0
39
0
0
0
0
0
0
9
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
0
0
5
0
0
16
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
-2
0
-3
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
-15
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-16
55
0
0
0
0
0
2
-3
0
33
7
0
0
-32
-26
0
0
11
0
0
0
56
0
0
0
0
0
0
44
0
0
0
0
0
0
55
0
-6
0
0
0
0
-15
0
0
0
0
0
0
15
-3
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
0
0
0
0
100
0
0
0
-5
0
0
-46
0
0
21
0
0
0
-49
0
0
0
0
0
0
-36
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-6
0
0
0
0
-5
0
0
0
0
0
0
3
0
18
-3
0
0
0
-13
0
0
0
0
0
0
-33
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
4
43
0
-7
25
-59
-31
9
2
0
0
2
0
-5
0
-14
0
0
0
6
-42
0
0
-80
0
0
0
-26
-3
69
78
2
20
7
0
-20
-54
0
0
48
-3
-10
-8
111
0
-24
-62
-42
0
77
114
0
0
6
3
0
107
103
0
1
3
15
1
16
155
0
-1
-45
0
0
-3
21
3
-102
0
-9
0
0
-15
0
0
0
0
-47
0
81
26
11
0
-2
6
0
-35
52
0
-19
0
0
-12
39
-45
-27
15
-5
3
79
68
0
3
-16
6
-4
119
-78
0
-1
49
-2
0
-7
17
0
15
3
0
0
0
25
0
1
7
34
-1
0
-122
0
-10
-3
0
7
4
-83
0
2
0
66
12
0
26
1
0
0
0
0
0
1
-19
4
0
0
0
-2
-56
21
20
1
0
0
-11
-63
0
25
9
1
0
-10
82
0
68
7
0
0
0
-54
0
11
27
23
2
0
-21
0
57
-1
0
8
0
17
0
0
0
0
0
0
67
0
26
0
0
0
0
-51
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
-4
0
0
6
0
0
0
0
0
-13
0
0
0
0
0
0
48
0
0
-7
0
0
0
2
0
17
-6
0
0
-56
-2
0
0
8
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
-7
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
-29
0
6
0
0
0
0
-94
0
0
0
0
0
0
-8
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
6
0
0
0
0
0
0
-58
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
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
20
0
0
-12
-11
0
-2
0
0
-1
0
0
0
0
78
0
0
0
-101
0
0
0
-28
0
0
0
0
9
-26
-7
16
96
6
0
-9
-74
0
0
-50
0
0
2
-60
12
8
2
-7
0
-54
3
0
0
-48
0
0
178
-20
0
15
-199
-14
0
58
-32
0
0
33
0
0
0
35
0
-17
-5
52
0
0
5
0
0
0
0
0
0
-27
65
2
0
0
0
9
-23
-15
0
3
0
0
-25
-33
28
8
-3
45
0
-11
48
0
0
25
0
0
-93
-43
0
-11
-57
-96
0
22
-55
-2
-8
8
9
0
7
-13
0
0
-51
19
0
1
41
0
40
3
0
0
0
-17
0
26
1
1
0
0
-29
0
23
0
1
0
0
14
34
0
0
11
0
0
-23
11
19
37
0
0
10
22
5
0
-45
-1
0
2
62
0
56
7
0
0
2
-1
0
-28
12
0
0
5
-28
0
132
-24
11
0
13
-26
0
13
-5
-3
0
0
8
0
22
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
6
0
-11
0
-2
0
0
0
-14
-50
0
0
-16
0
0
0
-8
0
-38
-12
-7
4
4
0
6
70
0
0
39
0
0
-33
-49
0
-39
-52
-2
0
29
-10
0
0
-29
0
0
0
19
0
-2
115
-4
0
1
-83
0
-1
23
0
0
0
107
0
68
9
-28
6
-4
-3
0
0
0
0
-11
0
-1
-33
0
0
-3
0
0
-50
17
0
6
0
0
0
-22
4
7
-46
-12
0
0
-31
0
2
19
0
0
-2
13
0
20
72
-2
0
-5
-31
9
0
73
0
-2
-7
45
-3
0
43
-4
0
0
-10
0
0
-11
0
3
0
-50
0
0
10
-8
1
0
-12
0
0
0
7
0
0
35
-21
0
0
0
0
0
87
0
0
0
0
0
-1
10
0
0
0
3
0
38
-27
0
28
2
0
0
-13
16
0
0
-13
25
0
0
62
0
16
-10
0
0
0
-53
0
-3
-1
0
0
0
-7
0
-13
-18
0
5
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
-2
5
0
0
-2
0
-3
0
5
0
0
0
0
-62
0
0
-47
0
0
0
-12
0
-112
5
-3
0
-3
0
-11
66
0
0
-41
0
0
-28
-4
0
6
72
-40
9
-27
26
0
0
-18
0
-23
-3
-42
0
0
76
10
-28
17
0
0
19
24
0
1
-6
33
0
0
0
-19
0
-4
-45
0
0
-5
0
-18
0
33
23
1
0
0
11
0
60
9
3
0
-15
0
-21
-78
-19
-6
-14
-8
0
34
-20
0
0
7
0
0
32
-68
0
-9
12
-55
41
7
19
0
0
4
1
-5
0
0
0
0
-4
-21
-24
1
-4
0
-3
1
0
12
14
-41
0
0
2
-6
74
0
2
0
0
-4
-3
6
0
-14
1
0
0
0
0
-9
33
0
-124
-5
16
0
0
68
0
-13
21
-26
0
0
-39
0
-15
11
0
0
3
43
0
-23
3
1
0
12
0
0
-5
0
0
0
-32
-46
0
-4
16
-6
0
11
-33
0
-14
0
3
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
-10
0
0
0
0
0
0
18
0
0
2
0
0
0
0
0
-1
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
1
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
2
-4
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
-4
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
12
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
-6
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
6
0
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
16
0
0
-2
0
0
-1
-3
0
-1
4
0
0
-9
14
0
0
-2
0
0
-9
-3
0
0
4
0
0
0
-55
0
0
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
73
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
6
0
0
0
-48
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
9
0
0
0
0
0
0
-2
-6
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
-1
0
3
16
0
0
0
2
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
-48
0
0
0
0
0
-29
0
11
0
0
0
-3
-9
0
0
-4
0
0
0
31
0
13
-18
7
-24
28
0
35
-14
6
0
45
0
0
72
81
0
-12
5
-44
0
-22
45
0
-7
-5
-5
-1
-9
-23
0
-1
25
151
0
4
13
2
0
-6
0
0
0
47
0
-35
8
41
0
0
0
0
0
0
0
0
0
6
30
-6
0
-8
0
0
9
64
0
0
0
0
30
-42
18
-28
-9
27
0
6
5
0
-3
25
19
0
48
30
1
29
-1
35
0
25
22
0
-2
-2
-2
8
12
-47
0
-23
0
2
4
0
-35
0
0
0
0
10
0
-112
0
0
0
17
-41
0
-27
0
0
0
0
-1
0
63
8
-1
0
0
0
0
-38
14
126
1
0
0
11
21
0
23
1
4
0
0
138
0
-29
-2
0
0
0
7
0
-24
0
1
22
-7
23
-2
-92
0
0
-6
0
20
0
0
0
0
0
0
-11
0
-84
0
0
-1
0
20
-8
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
-3
0
0
0
0
0
68
0
7
0
0
0
0
31
0
0
34
0
0
0
-13
-1
-62
26
0
18
0
0
0
47
0
0
8
0
0
-1
-18
0
-18
2
0
-2
0
-3
0
0
112
0
16
-12
-13
0
0
49
0
11
11
16
0
0
-6
0
-3
-3
30
0
-132
-7
0
-3
0
47
0
0
0
0
45
0
-49
39
78
0
0
0
0
-26
-5
0
2
0
0
0
32
0
0
-17
0
0
31
-25
0
0
1
0
-5
17
-56
0
0
-3
0
0
-7
63
0
0
-9
0
0
0
-9
0
0
-35
0
2
0
79
0
0
-6
0
48
0
7
50
12
0
0
4
0
58
0
0
0
0
0
0
-51
-14
0
0
0
0
0
23
0
-37
0
0
0
0
-54
6
0
22
0
0
0
55
0
37
0
0
-2
0
94
0
0
1
0
0
0
170
0
-76
0
0
0
0
46
0
0
-1
0
-17
0
9
0
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
10
-12
0
0
0
-17
0
0
1
39
0
0
0
-42
0
0
0
0
0
-36
-24
-1
-18
-1
0
0
-42
0
0
-98
0
0
94
24
0
31
-1
-2
0
67
60
0
-1
37
0
0
39
19
0
1
-14
82
0
42
-64
14
0
-29
0
0
-3
-48
0
-25
10
-28
0
0
65
0
0
0
0
0
0
3
52
24
0
-4
0
-12
-10
111
0
0
0
0
30
-27
0
-24
59
0
0
-15
13
0
0
125
0
0
-33
38
0
-8
43
24
0
-46
-35
-3
19
-102
0
0
-4
26
2
-1
-17
-36
0
0
21
0
-15
26
2
0
0
82
0
0
84
65
0
0
17
-4
0
0
0
0
0
16
111
0
0
0
0
1
-32
0
36
2
0
0
6
32
0
-3
26
0
0
-1
17
0
149
-1
0
0
-6
51
18
28
-58
-4
0
-6
25
0
-49
83
3
0
11
3
0
23
14
38
0
0
54
-4
83
0
0
0
0
18
17
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
30
0
0
15
10
-8
0
0
-8
0
0
0
0
8
-21
-10
2
-17
-8
0
26
-24
0
-16
-64
0
0
12
-58
0
-4
31
2
0
-76
-75
0
0
-8
0
-2
4
16
0
0
2
-1
-19
0
-35
0
0
96
0
0
0
-37
0
-41
-21
-4
0
0
-9
0
0
-5
0
11
0
36
-8
-4
0
-14
0
0
-110
-18
0
0
0
0
0
-57
0
3
11
-1
-3
1
-107
0
-24
-5
0
0
1
44
0
4
-11
1
0
0
-66
0
7
25
0
-4
0
-44
0
0
10
-10
0
-1
-49
0
12
0
0
28
0
-26
0
0
0
4
26
0
-5
0
0
0
0
0
0
-76
1
0
0
0
0
0
11
-14
19
1
0
0
0
38
0
4
-2
0
6
-2
-31
0
51
-12
0
0
0
-40
0
0
2
-9
-3
0
17
0
21
15
0
0
0
131
0
0
2
-1
0
0
27
0
-1
0
4
0
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
-6
0
0
0
0
14
0
0
2
0
0
0
0
0
-78
-11
8
1
0
0
3
-31
0
0
68
0
0
1
-32
0
65
28
0
0
-54
7
0
0
28
0
0
2
35
0
1
-7
0
0
5
-29
0
0
88
0
0
-5
0
0
-90
0
0
4
0
-3
0
0
6
0
1
0
-41
3
3
0
0
0
0
-64
-4
0
13
0
0
0
17
0
-11
13
0
0
-1
-36
0
0
-4
0
0
-22
-61
0
2
55
4
0
0
32
0
1
-1
0
0
0
-59
0
-1
0
0
0
4
0
0
0
4
0
0
0
-95
0
0
0
0
-3
0
-81
0
0
0
0
0
0
117
1
0
0
0
0
0
74
0
55
0
0
0
-2
-32
0
0
7
10
0
0
75
0
-12
-1
0
0
0
42
0
-1
2
0
0
0
-32
0
-1
13
0
0
0
0
0
0
0
0
0
0
-16
0
10
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-3
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
-6
0
0
0
0
0
0
-11
0
0
0
0
0
2
-3
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
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
16
0
0
-2
0
0
-2
0
0
-2
-1
0
0
-1
6
0
0
-2
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-44
-1
0
0
0
0
0
27
0
0
-3
0
0
0
-3
0
0
3
0
0
0
-102
0
0
0
0
0
0
1
0
0
0
0
0
-4
-4
0
0
0
-3
0
0
-2
0
0
0
0
0
0
-1
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-4
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
-91
-6
0
-1
0
0
8
1
0
0
44
0
0
-14
-40
0
-64
20
0
5
48
21
0
0
3
0
0
37
-63
0
0
0
0
0
5
1
0
0
-24
0
0
0
18
0
53
0
-3
0
0
-66
0
0
0
0
0
0
-93
5
0
0
0
0
0
116
-2
0
0
0
0
0
-91
0
0
-12
26
0
1
39
0
0
0
0
0
-33
-18
0
1
2
2
0
0
-30
0
0
0
0
0
0
-45
0
0
0
-7
0
0
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
37
0
0
0
2
7
0
0
11
0
0
0
-43
0
-13
0
4
0
0
9
0
0
-5
12
0
-7
58
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
9
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
-5
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
-10
43
0
0
0
0
0
0
0
0
3
-13
0
0
-7
-1
0
0
0
0
0
0
-55
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-11
0
0
0
0
0
0
-49
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
-48
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
-9
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
69
0
0
0
-32
0
0
0
0
3
9
36
1
-61
0
0
-30
19
0
0
21
0
0
55
104
0
-20
-54
-24
0
83
45
0
8
-12
0
0
100
58
0
0
-3
54
0
29
20
0
0
56
0
0
2
18
0
-2
-86
32
0
9
-6
0
0
0
0
0
0
2
-66
-19
0
10
0
0
-31
-87
0
-1
0
0
50
-5
0
77
21
14
0
-133
81
0
0
53
0
0
-16
33
0
-8
19
40
0
41
25
0
1
81
0
0
4
20
0
18
24
16
0
0
-4
0
23
-10
0
0
0
-33
0
34
-33
51
0
0
10
-2
0
0
0
0
0
-4
-17
0
0
-4
0
-5
79
0
-112
13
0
0
19
110
0
0
23
47
0
31
72
0
63
64
-10
0
-14
43
0
0
2
42
0
1
-12
0
30
33
0
0
2
-23
5
3
-36
-58
0
0
-66
0
0
9
0
0
0
2
-28
-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
108
0
0
0
0
0
0
-16
0
0
2
0
0
0
7
0
-37
0
0
0
2
-2
0
0
-63
0
0
0
3
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
15
0
0
0
0
4
0
0
0
0
0
0
-110
0
0
0
0
0
0
-122
0
0
0
0
0
0
1
0
0
0
0
0
0
-155
0
0
0
0
0
0
-20
0
-1
0
0
0
0
1
0
0
5
0
0
0
-4
0
0
-17
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-17
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
-11
0
0
0
0
0
-5
12
-1
22
-3
0
1
-87
11
0
-93
0
0
-83
-4
0
-24
89
7
0
-69
-51
0
-4
16
4
-1
0
152
0
0
1
-8
0
0
-33
0
0
-4
0
0
-2
93
0
46
18
0
0
0
0
-1
0
4
0
0
0
36
6
-2
0
0
0
0
-89
0
0
0
0
0
0
-50
-7
-8
-6
6
-4
13
-52
0
0
9
0
0
13
49
0
0
-35
-43
0
55
39
0
13
6
0
-7
-6
-13
0
-2
-6
-10
0
0
11
0
0
1
6
2
0
0
0
0
11
0
11
0
-57
0
0
0
0
0
0
28
0
0
0
0
0
0
84
0
-59
0
0
0
0
-43
0
12
-11
0
0
0
-90
0
-28
0
0
0
3
18
0
14
-3
-4
3
11
-54
0
-7
0
0
1
0
42
0
0
0
0
0
0
0
0
-3
0
8
0
0
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
-30
0
0
0
0
0
0
-95
0
0
-6
0
0
-9
0
0
-41
-2
0
0
3
0
0
0
0
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
-37
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-13
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
-3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
2
-2
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
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
23
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
25
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
34
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
-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
-1
0
0
0
0
0
-19
0
0
0
0
0
0
-15
0
0
0
0
0
0
21
0
-85
-10
0
3
8
21
0
0
-2
0
0
0
40
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
0
-23
0
2
0
0
41
0
0
0
0
0
0
52
0
0
0
0
0
0
-49
0
0
0
0
0
0
6
0
0
0
0
0
-7
-89
0
0
0
0
0
0
-4
0
0
0
0
0
15
-26
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
-79
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
0
0
0
0
0
-2
0
17
0
0
0
0
-3
0
0
0
0
0
0
6
0
6
0
0
1
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
-28
0
0
0
0
0
-61
42
0
2
0
0
53
67
0
0
82
0
0
-14
65
0
0
-31
0
0
-63
-48
0
10
28
0
0
36
49
0
14
-21
0
-3
13
69
0
0
-18
0
0
0
0
0
5
0
29
10
0
-46
0
0
0
0
0
0
16
-6
-7
0
0
0
0
-124
5
0
-18
0
0
0
41
0
-13
15
0
0
41
-40
0
0
-4
0
-5
0
-36
0
0
21
0
0
7
55
0
0
11
0
19
-4
19
0
-5
58
-5
0
0
-13
0
0
5
0
25
0
10
0
0
0
0
-3
0
13
0
0
0
0
0
0
20
0
0
0
0
0
0
-7
0
-23
0
0
0
0
-17
0
0
-9
0
0
0
43
0
-3
15
0
0
0
-251
0
0
-19
0
0
0
71
0
-47
-8
0
-2
0
-42
0
0
2
0
15
0
-18
0
-3
0
0
24
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
-23
-19
-3
-1
29
0
-9
-40
-65
-10
-68
-108
0
-36
-4
-2
34
3
11
0
40
100
-11
58
-9
-22
0
32
-12
3
-26
-6
-7
0
-70
-3
-1
0
0
44
0
-36
-10
0
1
23
-1
0
60
28
27
15
21
-20
0
71
108
16
-8
1
-4
0
0
6
-7
-113
-2
11
0
-1
10
-117
-5
-37
-3
0
-42
-7
-18
-69
29
5
0
-22
-6
6
67
40
-18
0
30
-19
-44
-14
21
63
0
1
25
-2
48
80
41
0
40
-1
11
-53
4
11
0
102
37
0
-80
42
34
0
7
0
-13
-3
-52
6
4
0
-7
16
47
-4
-1
0
0
18
61
46
62
31
0
55
11
-6
-13
-48
-10
0
-32
-57
-18
57
-135
-41
0
-124
-13
1
-48
-18
-20
0
101
19
4
42
26
-50
0
24
76
1
34
-4
-7
0
1
27
0
42
40
46
0
0
-29
0
35
-57
8
0
0
-2
83
105
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
-9
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
-7
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
-1
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-5
0
0
0
-6
0
0
0
0
0
0
0
-9
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
-8
0
0
0
0
0
0
-10
0
0
0
0
0
4
-52
0
0
0
0
0
0
-42
0
0
0
0
0
0
-7
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
-8
0
0
0
0
0
0
5
0
3
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
-8
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
-11
-43
-28
27
-25
-15
4
7
-12
-3
-15
-13
0
0
17
-27
-2
18
-27
-28
-5
-5
28
0
-5
-49
-10
0
8
-56
0
-7
-97
-161
-4
60
-36
0
0
-133
0
-12
-13
-14
0
-21
32
-24
-12
4
31
0
0
3
0
57
-4
-13
0
34
0
-16
1
0
-36
-6
0
-15
19
-18
128
-8
10
21
15
86
0
-3
38
-3
10
-38
0
-5
-2
75
0
80
79
4
2
-111
-14
0
-1
-19
0
-51
-24
-66
3
0
-118
-95
9
-2
9
0
-3
-10
0
-8
-7
58
0
-8
-34
-13
43
0
7
0
0
0
-3
0
-4
2
-34
1
-3
17
0
6
-86
2
-20
46
2
0
-3
66
4
13
15
19
18
-3
17
0
0
-9
0
-2
-9
37
0
43
-14
-3
-3
8
25
3
38
8
-4
0
-54
53
0
-9
3
-8
-19
6
42
-1
-123
0
0
-48
0
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
-4
0
0
0
0
0
0
-20
0
0
-1
0
0
-1
0
0
-1
-3
0
0
-3
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
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
8
0
0
0
0
0
0
-4
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
47
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
-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
-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
-8
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
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
0
0
0
0
0
0
0
3
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
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
34
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
-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
75
0
0
0
0
0
0
-67
0
0
1
0
0
-1
0
0
83
-8
0
0
-2
1
0
0
17
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-68
0
0
0
0
0
0
-29
0
0
0
0
0
0
-63
0
0
-9
0
0
0
2
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
-11
0
0
0
0
-1
0
-48
0
0
0
0
0
0
-1
-9
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
-2
0
0
0
0
0
0
-10
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
-6
-16
-59
33
70
0
0
-15
53
-3
0
-37
0
0
-5
83
5
35
47
5
0
66
-16
0
0
35
0
0
-13
-30
0
-11
-43
-45
0
-19
-38
2
0
-34
0
0
0
-26
0
-73
-69
-28
0
0
39
0
6
0
0
0
0
64
66
30
0
0
0
17
-50
40
0
2
0
0
-36
64
-22
79
113
9
0
-75
-35
0
0
-47
0
0
-21
6
0
0
62
20
0
21
8
0
-6
144
17
0
-4
-43
0
0
-10
16
0
0
45
8
-9
21
0
0
3
-33
0
-27
14
3
0
0
14
0
0
0
0
0
0
-46
-2
0
0
0
0
7
69
9
66
-2
0
0
-4
-12
-6
4
40
-7
0
-5
-21
0
-16
-41
0
0
0
-13
12
-2
-68
-20
0
0
11
0
113
10
0
0
3
-9
0
-9
23
-6
0
4
-13
6
-3
0
2
0
0
8
45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-4
0
0
0
0
0
-23
24
-11
0
25
-5
0
0
-44
0
0
0
-5
0
0
6
0
0
0
67
0
0
-4
0
0
0
-42
0
1
2
0
0
0
10
0
0
0
0
0
0
-51
0
0
0
0
0
0
-42
2
0
0
0
0
0
-30
0
0
-10
0
0
-14
45
0
0
0
0
0
0
-20
0
0
2
0
0
0
119
0
0
10
0
0
0
-26
0
0
12
-1
0
0
-92
0
0
0
0
0
0
11
0
-5
0
0
0
0
-12
0
0
0
0
0
0
-46
0
0
0
0
0
0
-46
0
0
0
0
0
0
9
0
0
0
0
0
0
-58
0
0
0
0
0
0
66
0
0
0
0
0
0
-3
0
-17
0
0
0
0
74
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-21
82
54
46
25
2
40
-9
81
42
13
17
-1
-39
-78
123
42
3
-67
-15
-71
-37
-19
-17
63
-6
-20
6
12
18
-5
15
-4
51
4
15
65
32
28
-5
9
36
8
-96
146
-22
1
-29
-38
27
-7
-7
35
-11
0
-79
29
-85
18
51
-7
-9
18
27
-50
29
40
-7
31
13
60
69
104
-30
40
-20
50
-38
31
18
-90
14
39
-43
-17
50
27
13
88
33
14
30
13
-15
11
-96
20
4
-65
-8
27
37
-13
-75
18
22
80
23
2
0
-16
4
-25
-6
-28
18
-4
0
1
16
-83
6
0
17
-34
-8
-83
47
39
52
93
-18
16
36
28
-29
26
41
2
135
-17
94
-1
58
2
-38
-31
66
-25
22
43
70
43
1
56
-87
43
79
-20
8
-21
-143
50
62
38
16
-28
-2
-12
12
-71
-26
8
8
18
24
-4
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
33
-14
-2
2
-3
0
0
77
-12
-7
-33
28
18
0
-60
-32
-21
17
-3
23
5
2
12
5
-2
-62
51
-2
-2
-23
0
-8
-68
10
-3
0
-86
0
8
1
-13
4
0
-83
0
0
0
-10
-27
-6
44
-36
-9
0
0
-10
0
53
-7
1
-43
3
0
52
97
-12
46
-57
12
-4
0
26
0
19
-21
0
-5
-80
-3
1
30
-45
17
0
-28
12
15
-7
13
-9
3
29
42
0
-11
-106
-21
0
1
0
0
6
12
0
6
24
-25
0
0
1
-26
54
0
-26
-40
-5
0
0
0
-5
130
0
-4
0
-6
0
-8
40
-7
156
5
-5
0
5
17
-10
22
230
-3
0
-1
24
0
-10
-67
0
0
-5
55
0
21
47
-74
0
-8
31
0
55
13
-31
0
0
110
7
-11
-19
0
0
-7
-38
0
-22
-8
2
-9
0
28
11
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
-9
0
0
155
19
-2
-1
9
-31
0
59
35
-2
0
10
0
0
11
-15
0
0
4
-8
7
16
-71
0
0
-19
-10
-11
-4
-15
0
-25
1
57
-2
0
-73
0
0
0
0
75
0
76
36
-1
0
10
-8
0
-76
43
0
-11
0
-1
-3
14
11
22
9
-11
0
21
-41
0
-10
10
0
3
29
29
0
0
39
5
0
20
-84
2
-4
118
-2
6
-4
-114
0
0
-33
6
0
1
11
0
4
-1
0
6
0
36
5
1
-8
5
-51
0
-42
1
0
0
0
0
0
-1
2
0
8
24
0
0
-4
0
37
1
0
0
0
-95
0
0
-3
-3
0
0
-50
5
0
1
0
0
0
95
0
-4
-6
2
0
-1
-33
0
-15
44
-7
0
-1
96
0
0
-3
-9
0
0
-41
0
17
0
0
-5
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-74
0
0
-63
31
0
76
22
0
149
-30
48
0
-8
-14
0
3
59
0
0
-5
77
0
40
37
46
13
12
-32
0
0
19
0
0
0
23
-7
-42
-6
61
24
0
-20
0
0
0
0
5
0
89
88
-10
0
3
0
1
-63
45
-4
1
0
0
4
11
-2
-21
6
2
0
-83
21
2
-44
-21
-3
0
36
-5
0
18
-45
57
0
-41
99
3
-3
84
8
0
0
71
0
9
-15
71
0
1
-10
0
0
-27
0
73
0
-47
27
16
0
-38
33
0
32
7
0
0
-1
0
-3
-51
3
0
0
0
0
0
9
-9
-69
15
0
0
24
124
9
-16
-4
-6
0
0
52
0
68
0
2
-3
4
-24
0
20
3
18
0
0
37
0
23
-1
-9
0
0
-27
0
-14
1
7
0
19
-3
0
69
19
0
-2
0
-5
-35
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
1
-123
0
0
-13
0
0
-3
-5
0
54
4
0
0
41
-42
0
2
3
0
0
1
61
0
0
-8
0
0
5
-32
0
0
-31
0
0
0
-19
0
56
0
0
0
0
29
0
0
4
0
14
0
14
4
0
0
0
0
0
-87
-2
0
-6
0
0
35
-40
0
0
-2
0
0
42
-101
0
0
58
0
-7
16
-77
0
1
-7
0
0
-3
-32
0
0
52
0
0
0
-22
0
0
-6
0
0
0
95
0
0
6
0
-2
0
-15
0
0
0
0
-5
0
70
0
0
0
0
0
0
30
11
0
-21
0
0
0
-66
0
-2
-16
0
0
0
24
0
19
6
0
0
10
-60
0
-48
-28
0
0
0
59
0
0
25
0
0
0
-28
0
58
0
0
0
0
4
0
0
0
0
0
0
-37
0
3
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
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
1
0
0
0
45
0
0
0
0
0
0
22
0
0
0
0
0
0
7
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-2
-4
26
123
0
-26
5
-1
18
-18
6
9
-37
-29
0
-3
21
38
-6
-3
32
0
0
59
0
-1
0
50
0
-43
-35
-43
5
0
105
0
0
-24
0
23
0
15
-9
-18
0
-10
0
14
13
-17
0
-5
0
0
-5
102
-19
6
191
7
0
61
61
0
2
10
4
0
-46
-62
0
4
-16
24
0
74
-40
1
-28
55
-14
14
0
55
0
-29
-22
-42
-9
0
57
0
-7
14
0
-22
0
61
3
-14
39
12
37
0
-3
2
-1
0
0
5
0
-108
69
-8
11
0
0
0
27
7
56
-4
17
0
-17
2
5
1
-1
28
0
5
28
0
33
-35
0
0
0
-35
0
7
65
-26
19
-7
-35
0
46
-14
-5
0
0
-96
0
0
-101
7
0
0
-35
0
-29
0
0
22
0
61
34
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
58
-5
53
14
-5
11
3
14
51
6
20
48
1
23
-14
20
25
14
-30
10
-4
72
-17
17
9
-88
-5
-23
96
-5
18
-1
21
4
-7
-54
69
-41
53
14
-4
-4
-24
81
-17
-31
12
10
3
27
53
-33
-121
56
-23
0
3
23
56
73
21
40
44
40
-32
4
54
63
4
20
12
25
12
13
35
55
-5
-4
-24
28
-53
66
-88
-27
-42
2
29
42
-16
-57
10
65
76
-3
-68
4
37
20
-9
84
40
16
-48
1
-24
-70
-51
8
-2
2
-14
4
-32
67
2
85
2
58
0
29
37
50
-20
22
19
-41
5
-12
55
-80
-19
18
16
83
25
-69
-62
-12
0
-43
-17
-61
-28
23
-49
-24
29
-44
41
-15
-45
-21
15
-16
40
-7
26
-22
-65
78
-4
48
36
-79
45
5
18
-25
10
5
57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
18
5
0
77
17
0
0
26
0
0
-16
21
0
0
3
0
0
1
23
0
0
0
0
0
0
36
0
-6
-1
0
0
0
-37
0
0
0
0
0
0
51
0
0
0
0
0
0
88
15
0
0
0
0
0
52
0
0
0
0
0
25
106
0
0
-9
0
0
8
-53
0
0
-4
0
0
0
-62
0
0
8
0
0
6
38
0
0
-6
0
0
0
-12
0
0
0
0
0
0
31
0
0
-14
0
0
0
-46
0
0
0
0
0
0
-41
0
0
0
0
0
0
-26
0
-4
0
0
0
0
18
0
0
0
0
0
0
-26
0
0
0
0
0
0
62
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
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
56
10
0
16
2
7
0
-9
45
0
0
-16
0
0
1
27
0
0
-3
0
0
0
114
0
0
-12
0
0
0
20
0
-3
10
0
0
0
116
0
0
0
0
0
0
68
0
0
0
0
0
0
-14
0
0
0
0
0
-6
-47
0
0
13
0
0
3
3
0
0
0
0
0
2
-51
0
0
0
0
0
7
15
0
0
5
0
0
0
-16
0
0
8
3
0
0
-14
0
0
1
0
0
0
-51
0
0
0
0
0
0
26
0
0
0
0
0
0
33
-2
0
0
0
0
0
-44
0
2
10
0
0
-1
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
-32
0
0
0
6
0
0
-3
0
0
6
0
0
0
80
0
0
1
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
54
-26
0
0
46
-84
-16
4
35
-5
64
-2
-4
15
-79
88
0
-2
21
15
-54
-72
29
0
-12
-21
-7
4
20
14
-5
1
57
-9
-2
0
28
0
-5
11
0
-17
-1
37
-54
-49
0
-92
12
0
-12
49
6
-8
4
0
48
20
23
-7
125
-63
-5
31
17
0
-28
80
2
31
62
8
-1
-31
-23
52
1
116
22
1
24
27
14
-21
-18
-38
12
-54
44
-27
-70
13
-40
0
-58
9
-5
13
0
-11
-1
-7
-29
69
-52
0
40
23
0
0
5
19
1
-7
-3
-19
-3
4
0
2
48
-8
-8
30
0
0
43
38
16
123
13
-49
3
79
29
-2
31
-72
9
7
7
-6
0
-48
-139
49
25
8
-29
2
-41
-53
7
-48
70
-35
8
-2
-26
-78
24
-2
-13
0
32
7
0
56
0
-29
2
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
1
-5
0
34
-2
0
0
9
22
0
0
0
0
0
-2
-4
0
0
-3
0
0
0
-35
0
0
0
0
0
0
8
0
0
2
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
-2
16
0
0
-1
0
0
0
47
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
6
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
0
-10
0
0
0
0
0
10
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-7
0
0
0
0
29
0
0
0
0
0
0
9
0
0
0
0
0
0
-32
0
0
0
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
6
-12
0
0
0
0
0
0
84
0
0
-1
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
25
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
6
0
0
0
-9
0
0
0
0
0
0
-11
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
-53
-4
83
2
-3
24
102
-7
-50
-14
37
-32
30
-2
-50
-10
-17
2
-14
4
22
6
-46
1
45
57
45
20
1
10
-28
0
7
0
79
0
19
-10
-50
0
-24
-11
-15
44
-84
-1
81
-10
0
13
0
14
90
-42
10
1
-12
-83
-11
24
-39
8
13
108
14
-13
-46
82
-47
-24
1
-38
0
-33
137
-33
-34
-13
6
9
102
22
-35
-16
-2
-38
11
16
-32
-4
99
-2
-8
-21
-70
7
18
57
0
18
2
63
1
16
-75
0
83
-31
-4
59
-2
0
5
-26
-2
123
-25
0
14
-14
-62
2
171
-29
4
1
34
-14
-12
40
51
5
-29
-23
-59
2
-149
-106
16
0
4
-49
0
8
3
-3
46
-15
23
-4
-3
116
22
-16
-13
32
4
8
4
3
25
0
39
94
37
48
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
-8
56
-28
0
-2
55
-15
0
-37
146
-32
9
58
43
3
-2
19
-14
-74
1
-47
-8
67
-5
-32
13
-9
-49
0
0
-3
-3
-17
0
58
-35
-6
0
57
0
3
39
96
-8
3
0
0
-8
-18
62
37
26
1
1
-3
0
-9
127
3
5
-1
56
48
20
35
-38
9
-77
34
5
-1
33
29
12
35
-47
-115
2
3
43
-85
35
10
-52
0
-24
-87
0
31
0
13
0
-4
-2
-22
29
0
12
-4
-10
0
5
-9
-4
2
55
1
0
-3
0
-2
-72
-20
-58
56
18
0
0
0
18
-14
17
-3
8
-6
-56
10
4
18
-1
0
17
117
6
-4
79
-13
-3
-8
-44
0
41
-45
22
4
31
-4
0
-2
-35
39
1
1
4
0
19
-10
4
44
0
41
10
-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
68
-10
0
0
-13
0
0
4
4
0
0
-7
0
0
0
5
0
0
0
0
0
0
0
0
-29
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
48
0
0
0
0
0
0
-19
0
-7
4
-5
0
-14
-73
0
0
0
0
0
0
12
0
0
0
0
0
10
-74
0
0
0
0
0
0
28
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
-1
0
-26
0
0
0
0
0
0
-13
-1
0
0
0
0
0
5
0
8
0
0
0
0
-16
0
-4
0
-1
0
0
27
0
0
0
0
0
0
58
0
0
0
0
0
0
27
0
4
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-24
-9
58
70
-67
41
-14
-12
-21
20
58
13
6
-15
-1
-10
15
75
-6
-6
-11
-17
1
-25
13
5
-21
-9
-32
-5
6
-3
-7
44
-27
-3
62
-57
2
-13
-12
-13
-12
0
-3
-167
-13
-48
55
-52
45
-58
42
-30
0
-101
49
-13
-7
49
34
71
6
10
34
-25
-52
-23
8
25
16
-16
14
-3
13
-9
-99
-7
-10
-14
-40
5
2
-88
-74
-6
32
57
31
-27
-11
-4
40
6
-1
3
31
-33
-5
-37
34
-5
10
-34
28
-31
-5
0
-38
-54
48
173
52
16
-24
-66
-2
-18
-61
46
40
18
12
9
-3
-17
78
-10
24
-6
-29
24
-88
102
-42
36
48
31
5
2
-4
-11
73
89
44
-19
19
-105
38
57
91
0
3
-2
-44
-10
76
0
-66
-4
18
-4
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
1
58
-2
11
-4
11
-32
20
-21
1
51
17
-2
-78
-61
-25
9
-5
-80
15
22
9
-8
0
2
98
16
-2
0
-47
32
-5
5
26
16
-2
-3
-14
21
0
-5
39
2
66
13
-3
37
15
-1
98
42
51
88
53
15
-1
27
-22
12
61
65
-5
-15
69
67
-6
34
-10
18
59
70
-6
-32
68
-11
71
37
43
19
3
-52
-48
-22
-2
9
-32
15
31
58
-13
-61
0
25
0
12
-9
61
58
0
35
3
-9
0
37
44
0
5
-86
1
0
11
-5
-72
57
20
37
-84
1
0
-180
21
36
35
28
46
-14
-24
44
-39
-48
54
-4
-32
5
-30
20
-25
-79
12
23
31
19
5
39
-19
1
-33
1
123
6
-31
-3
132
0
0
23
0
37
3
-2
53
0
-80
-13
16
-3
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
-3
37
-5
0
-46
0
0
-26
77
0
-11
25
0
1
13
-44
0
38
81
0
0
2
27
0
94
2
0
5
0
84
0
0
0
0
-74
0
-55
14
-11
0
0
0
14
43
19
13
0
0
0
-7
135
0
35
15
0
0
20
-14
0
0
-33
0
0
29
17
0
-6
-123
0
-6
-55
-7
0
-7
167
0
0
1
-3
0
-2
-56
-13
1
0
39
0
0
-8
0
-14
0
-120
0
-6
8
0
76
0
18
-7
0
0
0
0
0
60
-1
0
0
0
0
-8
-34
0
87
-21
0
0
9
-38
0
9
-2
0
0
3
19
0
-29
80
-2
0
-22
-102
0
-34
-53
3
-4
0
-33
4
-64
2
0
3
0
-54
0
6
8
0
2
0
-11
0
-1
0
0
6
0
32
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
6
95
0
0
0
0
0
19
54
0
0
0
0
0
0
16
0
29
0
-18
0
0
3
0
0
0
0
0
0
-11
20
0
0
0
0
0
-45
-1
0
0
0
0
0
-34
0
0
0
-7
0
-1
85
0
0
-2
0
0
0
-32
0
0
13
0
0
0
-64
0
0
2
0
0
0
26
0
0
0
2
0
0
-67
0
0
0
0
0
0
4
0
0
0
0
0
0
37
0
0
0
0
0
0
54
0
0
0
0
0
2
-6
0
-2
0
0
0
0
8
0
0
-2
0
0
1
-64
0
-3
0
0
0
0
-7
0
0
-8
0
0
0
-99
0
-10
-1
0
0
0
40
0
0
0
0
0
0
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-19
40
-6
0
-2
-109
24
-1
48
-3
2
29
-8
40
20
18
42
56
54
1
21
71
44
21
23
-60
0
9
30
-41
-2
160
9
-23
19
-15
-2
-7
12
0
-7
7
-15
90
24
116
-1
34
-6
2
37
-111
-2
21
-82
-3
-5
-43
1
71
-6
86
1
-13
34
-3
-3
-9
-9
39
4
0
1
-43
74
-2
38
0
27
-34
11
131
4
-20
2
65
39
35
35
0
19
-92
9
-10
-4
-11
-1
33
11
4
-14
-8
-2
13
-30
39
-16
93
0
-1
-26
24
14
47
-34
-90
0
17
-48
-25
15
-81
-2
1
15
37
-4
-46
9
-55
-11
-1
-25
8
14
88
-6
-121
28
0
-7
18
31
58
15
-14
-11
-4
1
11
0
64
0
46
22
-51
63
80
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
17
42
7
-101
-74
-39
-35
35
-16
18
-6
-6
18
-58
-21
-70
-26
50
-59
-129
-5
16
20
-3
-6
-58
5
-68
6
13
-15
-72
0
-21
3
16
-7
-12
1
-28
-74
-4
28
31
-56
87
18
-8
-40
-48
19
106
22
22
62
11
20
0
57
82
29
16
-10
-66
-15
-2
-29
50
-27
90
-37
-1
-2
3
46
-47
-2
-93
-11
2
-57
-28
-22
-17
-41
12
-15
-3
-27
7
43
0
34
74
-15
-2
50
-3
0
-33
-8
67
29
-41
-3
38
46
12
-44
94
9
5
14
-4
115
20
20
-37
10
57
0
27
-51
-18
51
12
-50
-33
-5
-27
-46
19
45
20
-43
-61
-18
110
-8
21
30
-17
-9
99
-51
30
-16
5
-28
4
-16
28
8
60
0
54
76
-35
-22
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
-4
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
29
0
0
0
0
-6
0
0
0
0
0
0
9
6
0
0
0
0
0
58
0
0
0
0
0
0
31
0
-1
1
0
0
3
21
0
0
0
0
0
2
26
0
0
0
0
0
0
99
0
0
0
0
0
0
2
0
0
-1
0
0
0
5
0
0
0
0
0
0
-73
0
0
0
0
0
0
81
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
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
9
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-6
44
0
0
1
0
0
0
3
0
33
4
0
0
0
8
0
0
0
0
0
0
-66
-1
0
0
0
0
0
-70
-12
0
0
0
0
1
4
0
0
7
9
0
-6
-160
0
0
-7
0
0
2
27
0
0
1
0
0
0
-36
5
0
1
0
0
0
-57
0
0
0
-3
0
0
-41
0
0
0
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
-124
0
0
0
-7
0
0
3
0
-3
0
0
0
0
96
0
0
1
0
0
0
62
0
-10
0
0
0
0
-24
0
0
-3
0
0
0
-17
0
6
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
33
-1
69
37
-23
20
65
-6
0
35
-40
1
-19
-24
37
0
69
18
91
21
-8
-18
-2
-2
28
0
-54
0
18
-24
18
-9
5
8
2
43
49
-14
-9
0
-8
-35
1
-1
-16
-53
105
5
-8
-31
1
20
96
3
-4
35
-26
-1
-59
-6
10
0
15
-3
-8
-36
-9
17
74
98
-27
0
-1
87
0
10
-45
-3
0
13
20
-3
77
-5
48
2
16
1
46
27
0
10
0
-2
0
-2
-22
19
2
-34
-13
-2
5
0
-4
-62
10
-4
-18
-3
0
-6
-8
0
50
16
-12
0
-125
35
24
-22
-57
3
4
14
-41
0
-54
17
-24
25
36
-31
0
54
-55
-5
15
-7
29
0
1
-8
-41
-19
-18
-37
0
-70
10
3
11
0
-3
25
65
-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
24
-45
0
0
0
0
0
0
-51
0
0
0
0
0
0
5
0
-23
-20
0
0
0
-10
0
0
0
0
0
0
43
0
0
0
0
0
0
-22
0
0
0
0
0
0
-59
0
0
14
0
0
0
-49
0
0
39
0
0
-17
-43
0
0
-9
0
0
0
6
0
0
-25
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
73
0
0
0
0
34
0
-31
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
-54
0
0
0
0
0
0
18
0
0
0
0
0
0
-61
0
2
-5
0
0
0
0
0
0
0
0
0
0
-17
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
-7
0
0
2
1
0
-15
-24
0
0
5
0
0
0
-15
0
-28
0
-13
0
0
-55
0
0
0
0
0
0
20
2
0
0
0
0
0
86
0
0
0
0
0
0
-1
0
28
-2
6
0
8
-26
0
-2
-13
0
0
37
198
0
0
-8
0
0
5
-42
0
0
-17
0
0
0
13
0
0
-2
14
0
0
-9
0
0
0
0
0
0
-45
0
0
0
0
0
0
-42
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
-6
0
0
0
0
-12
0
0
0
-21
0
0
126
0
4
0
0
0
0
-40
0
0
0
0
0
0
-26
0
2
-2
0
0
0
24
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
-4
1
77
-7
61
32
12
0
0
88
6
0
0
6
56
0
-54
-8
10
0
11
0
0
-29
-13
-7
0
9
0
7
53
33
-8
64
33
0
7
71
-6
-6
92
0
-1
-5
-37
-1
3
-12
40
0
0
-47
1
7
4
0
0
0
24
0
2
-123
15
-21
0
-23
0
10
4
2
-47
0
-22
0
4
0
0
-97
0
21
0
0
0
0
0
0
23
-4
0
10
0
0
0
36
-17
1
-3
0
0
0
-26
0
-8
-5
24
0
0
-15
0
-18
5
0
0
0
-83
0
-9
85
28
0
0
71
0
14
7
-4
47
0
-17
0
-2
-6
6
1
0
-60
0
-18
16
0
-35
0
89
-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
-8
-15
20
-5
28
20
66
37
67
-7
22
-57
-37
-5
-6
-21
-1
-3
31
-3
41
0
-71
-96
9
0
-2
26
-5
42
96
0
20
9
-9
-1
-2
11
-22
-18
-37
34
15
-11
-9
15
-114
-60
-4
-92
13
-9
-22
4
18
-81
-10
0
23
57
58
-80
0
10
-27
-23
21
-81
10
87
-109
19
-11
0
-79
-34
8
-4
-9
14
9
27
-55
17
0
-40
-32
-5
-2
8
-9
-2
-26
138
-3
-25
4
0
156
40
32
-37
-15
-73
42
18
-35
0
-112
33
-134
11
-69
-22
-6
35
19
-49
-12
-82
0
0
9
-10
50
18
-7
4
-2
-6
85
8
-2
4
15
8
105
-7
-51
60
-3
16
-4
-42
24
0
20
0
-17
50
-20
-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
-1
0
0
0
0
0
0
2
0
-2
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
17
0
0
0
0
0
2
65
0
0
0
0
0
0
35
0
0
3
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
114
0
0
0
0
0
0
5
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
-16
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-2
0
44
2
14
0
0
-9
0
0
0
0
-5
0
58
0
0
0
0
0
0
-74
0
0
0
0
0
0
-60
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
-15
0
0
6
107
0
0
-7
0
0
0
-7
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-70
0
0
0
0
0
0
4
1
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
16
0
0
0
0
50
0
0
0
0
0
0
-8
0
18
0
0
0
0
-24
0
0
-2
0
0
0
98
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
-14
26
0
0
20
3
9
-6
1
0
-59
-1
67
32
0
0
-6
0
0
-2
90
0
47
-58
30
0
40
-4
9
-4
28
7
20
0
0
48
31
-8
-9
3
24
-5
-67
11
0
-2
69
0
0
-114
-53
0
34
-13
29
-3
-1
-25
-2
21
-26
23
0
0
38
15
-5
-17
74
-1
-6
-7
0
0
48
0
-21
0
-64
-8
-29
-3
20
-21
0
39
-3
0
0
1
-4
0
-4
50
-5
0
-2
0
-9
-3
1
-34
-3
0
1
34
30
-6
-38
-40
-44
0
10
3
0
99
93
0
12
-3
-4
0
70
3
19
0
25
53
0
67
15
0
-6
1
12
0
-9
-2
-45
23
0
-13
-3
-38
0
-12
36
0
63
-32
4
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
71
33
0
0
12
0
0
0
21
0
58
-58
0
2
0
-10
-1
20
0
0
14
0
-36
24
-34
0
0
0
0
-38
-12
0
0
0
0
-37
46
-13
-1
92
0
0
81
-14
0
0
-26
0
0
-27
-2
0
-4
-43
6
0
-27
47
0
0
-13
1
0
-2
-9
7
9
31
0
5
0
-52
0
0
60
0
-5
0
26
0
31
31
0
-6
0
-33
-3
-3
0
0
0
0
-11
-2
0
0
0
0
0
4
0
-51
-5
0
0
-2
-10
0
-8
-42
0
0
7
46
-1
42
33
0
0
0
-26
0
-8
9
0
0
5
2
0
73
4
0
12
0
-44
0
0
-40
0
-16
0
-14
-4
-53
4
0
-2
0
-20
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
-18
0
0
0
0
0
0
-13
0
7
0
-1
0
0
-11
0
0
0
0
0
0
-30
-33
0
0
0
0
0
-4
13
0
0
0
0
-6
-42
-3
0
-4
0
0
-25
-21
0
0
16
0
0
4
-47
0
0
1
0
0
17
-79
0
0
0
0
0
0
56
0
0
-2
0
0
0
-58
0
0
0
0
0
0
48
0
0
0
0
0
0
16
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
-11
0
0
0
0
-32
0
0
1
0
0
0
-8
0
-12
0
0
0
0
20
0
0
13
0
0
10
57
0
-6
-26
0
0
0
14
0
0
0
0
0
0
31
0
24
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
40
8
-9
7
0
67
0
0
4
0
-23
0
-77
-7
10
0
-13
0
0
-6
31
0
0
0
0
0
-67
3
41
-4
19
20
-52
76
0
-2
-36
0
0
1
43
0
-35
-41
-17
8
0
-54
0
0
54
0
11
0
57
0
16
26
41
0
0
-59
0
0
2
0
-2
0
-11
0
-11
0
13
30
0
72
0
0
0
0
0
0
-28
7
0
0
-2
0
0
-23
-3
65
53
0
0
-6
6
0
-1
7
-34
0
-26
81
0
50
-73
-1
-8
0
12
0
-4
19
-7
0
1
45
0
-122
14
-4
0
0
-20
0
9
-17
29
0
0
1
0
-39
24
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
44
3
6
12
9
-61
-97
3
15
17
4
-17
3
-1
28
22
-13
-37
8
-48
-8
-9
-2
28
57
13
81
30
-21
-24
-35
-54
41
21
26
-2
-29
5
6
-43
-24
28
63
-5
7
26
-27
30
16
16
-25
33
-25
-47
45
0
-31
59
7
31
-83
-4
9
0
4
-41
-1
22
-9
33
-35
13
34
-75
47
0
-13
11
-29
0
2
-16
-7
-12
10
-38
29
1
-4
-58
18
1
26
-26
-23
-19
13
-23
-30
-78
67
-5
51
-14
29
-37
-28
44
9
-34
-14
0
-54
71
43
44
118
65
0
6
-89
-23
-13
-23
72
33
-1
-78
-80
-17
72
-41
12
-5
4
-10
2
-91
-1
17
-42
-6
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-14
2
0
0
0
0
0
14
-18
0
0
0
0
0
-4
0
0
4
0
0
0
-10
0
0
0
0
0
0
19
0
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
-3
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
-58
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
-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
-26
0
-6
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
91
0
0
0
0
0
0
48
0
0
0
0
0
2
36
0
0
0
0
0
0
-64
0
0
3
-6
0
0
-4
0
0
33
0
0
0
42
0
0
-3
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
2
-81
1
0
9
0
0
-3
0
55
0
-20
-11
19
0
8
5
0
-20
30
4
-5
0
0
-9
35
9
18
54
-80
-10
10
9
0
18
-54
0
-5
-6
41
-11
27
-3
4
1
-8
-21
0
-11
6
0
9
-5
-14
1
16
-7
-39
0
0
-6
0
-1
2
0
4
9
72
-6
-6
0
-90
13
0
4
-13
-9
0
0
0
0
11
-29
-1
2
5
0
1
51
-1
-53
26
0
0
-4
6
0
18
0
7
-1
-27
25
0
-112
2
0
-2
-17
3
0
-11
0
-17
2
0
-48
0
107
5
0
-9
0
-61
0
1
0
25
-39
0
-16
0
-30
0
0
-4
0
-28
-11
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
4
0
4
0
0
0
0
-14
0
0
0
0
0
0
-85
0
0
0
0
0
0
47
0
0
0
0
0
0
20
0
0
0
0
0
0
-60
0
0
0
0
0
0
-13
0
0
0
0
0
4
8
0
0
0
0
0
5
-44
0
0
0
0
0
0
3
0
0
-10
0
0
0
2
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
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
22
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-9
0
-13
0
0
-46
0
0
0
0
0
0
46
0
0
0
-12
0
0
-63
0
0
0
0
0
1
-70
0
1
52
2
0
11
63
0
0
0
0
0
0
-51
0
0
-11
-10
0
6
9
0
0
-18
0
0
7
-19
0
0
-1
2
0
0
105
0
0
14
0
0
0
-19
0
0
0
25
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
31
0
-8
0
0
0
0
-41
0
0
15
0
0
0
-13
0
0
5
0
0
3
-27
0
10
1
-3
0
0
45
0
15
-3
0
0
0
-13
0
0
0
2
0
0
11
0
46
0
0
0
0
-18
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-36
0
-1
0
0
0
0
9
13
0
0
0
0
-10
7
0
0
-5
6
0
0
15
0
3
0
0
0
0
-49
0
6
-24
48
0
0
25
-1
-11
12
0
0
0
50
0
0
16
0
0
0
-125
0
0
5
0
0
0
-97
0
-2
-9
0
0
0
24
0
0
0
0
0
0
-39
0
0
0
0
0
0
35
3
-3
0
0
0
0
-66
0
0
0
8
0
0
57
0
0
0
0
0
-9
16
0
0
0
21
0
0
99
0
-1
0
0
0
0
0
0
0
-1
-23
0
0
-56
0
33
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
-9
-7
-51
0
-1
-13
46
0
-7
0
-9
18
39
9
-14
1
0
13
14
41
-2
43
16
8
53
-43
27
38
29
-34
-16
108
23
0
-19
38
-37
61
-41
-17
-1
-9
-2
67
-9
25
-41
18
70
47
45
27
9
0
-4
-32
5
-5
0
-2
36
6
-9
-4
7
8
0
11
-2
-14
6
-18
2
-1
-14
39
-11
16
-67
0
104
121
20
-42
67
-13
-5
81
-36
7
-59
1
-15
1
46
15
-6
-36
65
-39
-3
-95
10
-11
25
-21
111
24
32
-35
0
6
112
-2
-1
39
0
1
0
1
28
0
0
7
0
-104
9
4
-26
0
36
63
5
-18
-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
5
0
0
0
0
0
0
-18
0
0
0
0
0
0
41
0
0
0
0
0
0
-7
0
0
-5
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
-4
67
0
0
2
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
19
-4
-63
6
-55
-12
-2
0
62
-49
-9
25
-6
-7
-27
-3
-20
140
-9
-23
-68
-40
37
-9
44
24
-3
-13
-10
42
116
-31
3
-2
4
17
82
8
-51
-27
21
-10
-39
4
-13
6
-62
2
-20
-23
-10
42
11
-10
21
54
2
-7
-44
38
36
-36
33
-55
-17
43
0
-17
-43
5
0
0
-27
0
-34
-75
-49
25
4
0
-3
-23
32
-40
119
15
-56
-71
27
3
5
-145
88
-5
38
-10
-4
-40
37
3
-28
70
-13
14
25
-107
18
-13
27
-3
0
16
-32
-23
9
-2
-30
-22
82
-31
-75
13
0
-36
-1
7
42
0
12
0
-2
-26
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
33
40
6
0
0
0
-5
-32
44
0
2
0
0
-12
30
-18
0
41
33
0
-20
22
0
0
20
0
0
0
33
0
-15
11
49
0
-6
-12
0
16
5
0
0
0
-62
0
0
0
-20
0
1
-121
0
1
0
0
0
0
-27
0
0
0
15
-6
0
100
0
0
0
0
0
0
-17
0
4
-3
0
0
0
-12
0
12
2
0
0
0
41
0
0
5
9
2
0
18
0
-63
0
0
0
0
37
0
0
2
4
0
0
-26
0
-25
-7
0
0
0
43
0
11
-7
5
0
0
-76
0
-8
0
0
-10
0
29
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
74
2
0
0
0
-18
0
-44
14
27
0
-1
0
0
3
-22
0
53
0
0
40
50
19
-5
3
0
3
-84
-4
0
-2
-20
0
-8
-74
-6
0
2
93
0
-31
78
1
0
2
88
1
-5
19
-53
0
0
49
0
3
0
39
0
0
-9
0
6
0
26
0
0
7
0
53
0
-24
0
-12
0
4
-4
0
2
-5
0
0
0
0
-1
25
0
-7
-13
0
0
-1
3
-5
12
3
0
0
15
-55
-6
-31
60
0
4
-6
-33
0
-4
-49
0
4
0
12
0
12
-16
0
-22
0
13
0
-13
-9
0
0
0
5
0
29
0
0
49
0
-38
-57
-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
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
38
0
0
0
0
0
-1
45
0
0
41
3
0
34
-29
0
0
-1
0
0
-10
109
0
0
-2
0
0
1
-48
0
0
-45
0
0
0
-51
0
0
24
16
0
0
19
0
0
1
0
0
0
12
0
0
0
0
0
0
-47
0
0
0
0
0
0
14
1
0
0
0
0
0
13
0
5
11
0
0
0
0
0
0
0
-11
0
0
61
0
-5
-11
0
0
0
54
0
0
0
5
0
0
-44
0
4
-3
0
0
0
82
0
0
6
7
0
0
-4
0
-2
0
0
0
0
27
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
-12
0
0
0
0
0
3
-9
0
0
-9
0
0
0
-80
0
0
0
0
0
0
-64
0
0
0
-8
0
0
-71
0
2
1
0
0
0
18
0
0
-1
0
0
0
26
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
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
2
0
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
-1
-2
0
-8
-18
35
-6
-3
1
-4
5
-49
-61
43
79
-50
-31
84
16
5
82
62
42
28
10
20
39
109
5
-63
13
-32
-39
10
-7
60
9
-26
-37
-8
0
-22
-23
12
-4
6
-37
0
-62
-56
5
-49
-2
0
-2
25
60
30
-23
0
1
2
-2
0
0
-7
-2
39
26
-63
-44
-24
-1
-25
-1
7
2
-51
17
-17
35
22
2
-1
-101
94
-11
50
41
53
50
16
8
1
-34
-48
-6
-64
119
-18
6
18
-26
0
-2
-14
68
-19
3
1
-1
12
80
-17
-6
0
0
0
5
8
2
12
0
22
-6
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
14
0
0
0
0
0
1
16
0
0
6
0
0
0
33
0
0
0
0
0
0
-12
0
0
8
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
-21
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
9
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
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
-36
0
0
0
0
0
0
33
0
0
0
0
0
0
54
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
-36
0
0
0
0
0
0
22
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
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
96
0
0
0
0
0
0
23
0
0
-1
0
0
0
-9
0
0
4
0
0
18
41
0
0
0
0
0
0
-3
0
0
0
0
0
0
49
0
0
0
0
0
0
31
0
0
4
0
0
0
56
0
0
0
0
0
0
-21
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
120
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
-5
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
3
0
0
0
0
0
0
-19
0
0
14
0
0
0
-27
0
0
0
0
0
0
-25
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-3
0
0
2
0
0
0
39
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
-5
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
-6
0
-5
0
1
-82
-5
-6
0
0
0
12
43
0
4
66
28
0
-3
1
0
0
-54
0
0
96
-16
0
-14
55
-19
0
118
-26
0
0
-28
-2
0
-16
-8
0
-1
-8
60
0
-15
-18
0
-1
-11
0
0
-14
59
48
12
0
47
0
0
-21
-2
1
0
0
0
0
-87
0
0
0
0
0
0
39
0
45
10
0
0
11
-36
0
0
7
6
0
22
-35
0
-20
-9
0
0
-9
32
0
5
42
20
0
0
60
0
154
26
-3
0
0
-119
0
1
-1
38
0
0
-54
0
-4
0
0
0
0
-26
-18
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
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
0
4
0
0
0
4
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
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
-3
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-76
6
4
50
-42
-24
46
-29
4
7
9
-8
2
59
-78
32
60
85
8
-8
-56
-16
52
-5
51
-17
-20
-7
-12
-25
1
-38
-9
-19
15
25
-6
7
69
27
-21
-6
-150
18
-24
-28
-50
-39
-5
-66
8
-9
7
0
0
-2
-53
-18
-2
-58
-16
23
-92
14
72
-56
-9
-82
16
33
-12
12
34
70
24
83
29
31
44
-22
14
-43
-11
-15
49
74
-44
25
22
-8
-86
66
-30
-18
32
-21
-21
12
-34
77
-167
73
-42
-33
-16
3
27
61
25
20
9
39
96
7
54
-10
8
0
-1
-20
-55
-85
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
-26
0
0
-2
-9
-4
0
-42
-8
0
3
20
0
0
38
0
0
114
-65
0
49
57
-139
0
13
-40
0
0
105
0
0
-5
51
0
0
102
32
-1
4
-61
5
4
52
0
-6
0
51
-1
-7
18
8
-46
0
-14
0
11
0
0
1
0
-93
-14
0
0
0
0
-4
11
0
74
8
0
0
-7
-35
-11
-5
-8
-1
0
0
20
0
25
-8
0
-3
0
-51
0
-25
-17
4
0
0
40
0
-50
9
0
0
0
-37
0
-11
43
-4
14
0
-33
0
-30
-10
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
76
0
0
2
32
0
-6
-115
0
0
-39
0
0
-25
-79
0
13
22
13
0
26
-14
0
-6
70
4
0
0
73
0
1
9
14
0
0
-15
0
0
0
0
13
0
102
0
-3
0
-9
35
0
-17
0
0
0
0
0
0
69
-12
0
0
-4
0
0
38
0
4
6
0
0
-8
-143
-6
0
27
-5
0
-9
5
0
-59
-18
0
0
0
-96
0
0
8
-3
-2
0
116
0
-3
-1
7
0
0
24
0
0
0
18
0
0
-228
0
0
0
3
0
0
23
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
-1
0
0
0
0
0
0
1
0
0
0
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
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
-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
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
-99
-4
0
0
0
0
-7
87
0
1
-4
0
0
-11
-5
0
0
-9
0
0
24
59
0
-2
-14
0
0
-33
9
0
0
-7
0
-22
0
-33
0
0
8
0
0
0
-68
0
0
19
0
4
0
-13
0
-3
0
0
-3
0
16
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
-10
0
0
0
0
131
0
2
0
0
0
0
62
0
12
0
0
0
0
71
0
12
-9
0
0
3
2
0
-6
0
0
0
0
-51
0
0
0
0
0
0
-19
0
6
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-35
0
0
2
0
0
10
6
0
0
1
0
0
17
64
0
0
5
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
-4
0
0
-48
0
0
0
0
0
0
-5
0
0
-5
-2
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-18
0
0
0
0
0
0
8
0
11
0
0
0
0
2
0
0
0
0
0
0
25
0
-8
0
0
0
0
28
0
0
0
0
0
0
-45
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-8
2
0
0
0
-14
0
0
0
0
0
0
20
0
0
0
0
0
0
44
0
0
0
0
0
0
9
0
0
17
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
96
21
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
30
57
51
-29
12
28
47
59
72
-35
-3
69
-14
-10
31
8
-70
73
10
44
2
30
1
57
-65
30
19
-8
-32
-29
25
-33
-14
-5
-49
20
12
-48
-30
74
-25
-22
-32
-15
62
2
2
19
108
-1
-5
-51
46
16
0
-7
40
-20
3
0
74
-14
132
-19
-83
12
81
-29
19
-2
73
10
42
33
-3
27
61
8
31
37
90
-58
-44
20
11
-34
18
92
-62
24
-2
-1
-44
25
11
-107
14
6
41
48
7
0
-44
-10
5
-62
24
79
43
0
24
4
-59
-6
-24
-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
24
-31
1
-5
36
39
0
47
65
-3
0
59
0
0
-15
43
0
-32
36
1
0
-8
-25
10
-3
-7
0
0
4
-9
5
-15
-10
-10
4
0
-61
0
0
-47
0
8
-8
-16
0
-1
0
3
3
0
56
0
0
0
0
0
0
17
0
9
0
11
0
0
106
13
-48
-10
0
0
1
-111
-7
-18
25
0
0
0
-51
0
-38
26
0
0
0
-29
0
12
-12
-15
0
0
-81
0
16
-1
0
0
0
-66
-1
0
-20
3
-2
0
6
0
-45
27
0
0
0
-26
-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
3
0
0
3
0
0
0
0
0
0
35
0
0
0
-7
0
0
0
0
0
0
15
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
13
0
-71
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
-16
0
0
0
0
-15
0
0
-10
0
0
0
9
0
0
0
0
0
0
-2
0
27
0
0
0
0
-10
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-12
4
-5
0
20
11
0
0
3
0
0
1
65
0
0
-24
0
0
0
43
0
38
-3
0
0
0
-15
0
0
-4
-3
0
7
-54
0
0
0
0
-19
0
159
0
0
0
-9
-1
0
53
0
0
0
0
0
0
91
1
0
0
0
0
0
14
0
0
0
0
0
0
-10
1
0
0
0
0
0
80
0
22
0
0
0
0
7
0
0
0
0
0
0
-42
0
-7
0
5
0
0
106
0
0
0
-1
0
0
23
0
4
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
21
0
0
0
0
0
0
124
0
0
-20
0
0
0
127
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
4
0
0
0
-18
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
7
0
-11
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
15
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
49
0
0
0
0
0
0
-9
0
0
0
0
0
0
38
0
0
0
0
0
0
-7
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
-19
0
0
0
0
0
0
0
0
-2
0
0
0
0
-9
0
0
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
2
0
0
19
-25
0
0
-10
2
-12
0
37
0
-2
14
0
0
0
-18
0
-2
38
5
8
-4
-39
0
-7
10
0
-20
0
61
0
-2
0
3
15
0
52
0
0
0
0
0
0
39
-40
15
0
1
0
0
-51
3
-1
0
0
0
0
-16
0
-4
3
4
0
0
6
0
25
-15
0
0
48
45
0
0
-3
-15
-5
0
-48
0
-61
0
1
0
0
34
10
-2
0
6
0
0
-36
0
41
0
0
4
0
65
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
67
-16
65
-32
-96
6
-26
-124
-6
50
69
19
-11
-22
58
-15
-102
-31
-25
13
-5
-16
25
49
16
84
11
1
-3
-23
55
31
-10
6
4
-15
57
34
-18
0
-51
-48
-2
3
-30
-48
18
14
80
-42
-88
-2
5
-11
0
-85
-20
-40
-10
5
-8
-51
60
-20
-5
-99
-2
-141
39
41
-58
-32
-44
19
114
10
43
-57
-53
42
49
-4
44
3
56
-51
-47
0
-69
-19
3
44
-18
51
29
-15
3
1
19
-63
8
32
0
-45
35
-7
11
-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
-41
-39
0
1
19
0
0
17
-55
11
-16
85
8
0
-9
42
0
0
10
-1
1
-6
23
0
0
0
-7
0
0
52
0
0
1
0
-2
0
10
0
0
0
0
-28
0
-4
11
0
0
0
0
0
-20
27
1
0
1
0
0
17
14
39
0
0
0
-1
114
0
-7
15
0
0
0
56
0
18
-3
0
0
0
-13
0
3
4
6
0
0
11
0
2
0
0
0
6
1
0
0
4
0
0
0
13
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-43
0
0
-1
68
0
3
-45
-38
0
-3
-56
0
0
27
0
1
0
92
0
-1
-6
29
0
0
62
0
0
0
0
-16
0
-108
0
0
-1
16
61
0
-51
0
0
0
0
0
0
18
31
0
0
0
0
0
74
0
-28
0
0
0
0
-100
0
0
0
10
0
4
9
0
-6
39
0
-3
-3
-95
0
3
1
0
0
0
-13
0
35
6
0
0
0
-59
0
0
29
8
0
0
-10
0
-6
-5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
5
18
-17
0
60
75
0
2
79
-109
-12
-46
0
-3
-9
28
6
-14
18
-42
-1
-51
14
4
-51
0
-3
0
11
-9
6
37
0
-23
0
-17
-23
69
52
0
-35
-12
0
0
0
23
0
81
-53
0
0
0
0
0
30
-24
-44
11
0
0
46
49
-8
37
6
0
0
14
65
0
-30
39
1
-4
-19
-31
3
24
-57
3
1
-15
-6
0
-1
-1
9
-20
-1
2
0
40
8
-15
-8
1
32
0
-126
-14
0
-20
0
32
-11
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
-100
3
0
8
-7
2
0
22
-35
0
0
-54
0
0
82
-32
0
22
-64
0
-11
29
14
0
0
52
0
0
0
-52
0
0
-38
0
-18
0
-29
0
-3
-17
0
45
0
-12
5
0
0
0
0
0
51
11
0
0
0
0
12
1
0
22
51
0
0
9
81
0
0
100
0
0
-10
-33
5
-64
16
0
7
0
25
0
49
10
0
0
0
-14
0
-40
5
0
-4
8
-14
0
0
-7
0
0
0
-19
0
-75
0
0
-9
0
54
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
4
0
0
-35
0
0
0
0
0
0
118
0
0
0
-6
0
0
-82
0
0
0
0
0
0
21
0
0
0
0
0
0
101
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
-4
0
0
0
0
22
0
2
1
0
0
0
44
0
8
0
0
0
0
31
0
0
0
-2
0
0
-24
0
-3
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
0
0
0
0
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
-5
43
8
-20
17
0
13
4
-25
8
-2
0
55
0
0
19
8
22
0
12
0
0
-6
0
-22
0
61
6
-19
5
7
-10
0
43
0
-7
0
-13
-4
0
77
-2
-3
-2
-6
0
0
-34
-1
7
-14
0
0
0
10
-28
89
-41
-10
0
6
-13
0
-21
-107
0
0
-11
7
0
6
-52
53
0
0
-33
0
80
37
0
-6
0
73
0
0
2
41
3
0
-1
0
69
0
3
113
0
40
59
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
-15
23
-8
-22
0
-31
-4
-5
10
-60
6
-67
-4
-17
-116
25
10
-24
20
-32
-72
-4
23
-40
-84
54
54
-62
9
-4
22
-126
25
-7
-15
0
27
4
-70
0
64
-81
19
11
5
16
69
24
-9
36
39
108
-7
23
-9
-3
-92
0
-51
-26
-83
53
-2
-3
-1
-94
-15
-25
37
-5
73
18
-36
-78
56
106
-2
-32
16
-6
-36
-15
-57
70
-44
15
68
29
1
65
82
2
-16
62
-74
26
54
22
-1
41
-2
-55
-121
-46
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-4
0
0
-5
60
0
0
0
0
0
0
-2
0
0
0
32
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
-27
0
-2
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
0
0
0
7
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
-11
-5
0
0
-2
0
0
13
98
0
0
-23
0
0
0
2
0
0
0
0
0
0
-76
0
0
0
0
0
0
31
0
0
0
-4
-3
0
43
0
0
0
0
0
0
2
0
0
0
0
0
0
-46
6
-6
0
0
0
-7
-63
0
0
0
0
0
-1
-50
0
0
0
0
0
0
24
0
0
0
0
0
0
-46
0
0
0
0
0
0
-4
0
0
0
0
0
0
-42
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
71
80
-14
11
-10
0
34
-39
-5
9
27
32
0
11
57
84
1
-7
5
0
19
34
-2
-26
0
2
0
0
16
33
-88
0
-8
0
0
0
0
14
1
1
-23
6
0
1
0
0
101
16
-1
0
0
0
-7
-6
0
-67
39
-1
0
1
0
-9
29
-33
-6
0
30
-99
7
30
2
-65
0
-6
-9
0
-29
16
-22
-6
-2
-16
0
-5
-16
19
-10
1
11
0
51
1
0
-18
0
39
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
14
12
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
5
0
0
0
43
0
0
0
0
0
0
-8
0
0
0
0
-11
0
-54
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
37
0
0
1
0
0
0
15
0
-11
0
0
0
0
14
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-47
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
-49
0
0
5
0
0
0
4
0
0
-17
0
0
0
44
0
0
0
1
0
0
14
0
0
4
0
0
0
29
0
0
-4
37
0
0
22
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
-8
0
0
0
0
-11
0
0
0
2
0
0
139
0
3
0
0
0
0
-13
0
0
0
0
0
0
45
0
-6
4
0
0
0
33
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
-187
10
-8
0
36
0
26
-78
-11
11
0
38
11
-3
-3
0
-34
2
35
-3
0
-3
-5
6
0
9
-19
6
0
-2
-1
0
51
-43
0
-1
-5
0
0
-25
0
-21
20
0
2
0
101
3
-33
68
7
0
0
-44
0
-26
-29
0
-8
0
10
0
21
-2
17
0
-6
-10
0
-45
-28
14
-3
-17
-10
-4
-4
6
-33
9
0
46
0
113
-6
0
58
0
7
-59
-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
-15
3
97
-9
13
124
-39
105
17
-19
-1
62
48
-106
34
58
-17
-49
41
-85
-40
12
13
-42
125
48
25
59
4
18
-61
-3
-3
-13
-107
-2
-35
7
9
-63
84
-1
-44
20
-138
-35
29
-7
6
-65
38
-1
26
56
17
-29
-46
0
-49
-32
62
-32
0
156
-37
95
-70
2
73
29
-25
-5
25
-33
49
62
-18
3
-7
-5
-51
21
16
75
-11
20
-11
-24
9
11
18
-1
11
-28
27
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
20
0
0
0
0
0
0
-9
0
0
0
0
0
0
54
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
-15
0
0
0
0
-2
0
-14
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
9
0
0
0
0
-1
0
0
0
0
-32
0
0
0
0
0
0
50
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
-13
20
0
0
-10
0
0
0
-46
0
0
54
13
0
0
-46
0
0
0
0
0
0
29
0
0
0
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
-8
1
14
2
0
0
0
-1
-16
0
1
3
-9
0
0
20
0
20
0
0
0
0
-49
0
0
2
-3
0
0
-10
0
-17
0
0
0
-13
-58
0
0
0
3
0
0
90
0
36
0
0
0
0
86
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-5
-27
5
-2
-117
-83
0
-5
-45
9
-5
-3
1
0
-14
-63
-8
55
0
-14
7
53
-8
-59
56
0
32
-1
0
0
17
0
0
31
126
1
3
-9
0
4
10
13
-84
14
0
-1
9
-6
0
-22
0
11
0
-5
42
25
52
6
-2
0
17
31
0
15
33
15
1
-5
13
0
38
28
-3
-34
-3
19
0
14
13
157
22
0
5
0
88
0
0
-22
0
35
-27
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
25
0
0
-1
-2
0
1
58
-7
0
-5
-77
0
0
9
0
5
6
20
0
0
0
0
65
0
-18
0
0
0
0
-1
0
-22
-16
0
0
0
0
0
16
0
67
5
0
0
6
-62
5
0
-59
0
0
45
10
0
91
54
0
0
-4
-64
0
12
18
4
0
6
28
0
36
-4
0
-3
0
-67
0
22
1
0
7
1
7
0
42
31
0
3
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
77
0
1
0
0
0
0
2
0
0
11
0
0
0
-30
0
0
0
0
0
0
-57
0
0
0
0
0
0
55
0
0
0
0
0
0
55
0
0
0
0
0
1
-8
0
3
0
0
0
0
-44
0
0
0
6
0
0
19
0
0
0
0
0
0
-54
0
0
0
0
0
0
-68
0
-6
3
0
0
0
96
0
0
0
0
0
0
-18
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
12
139
0
-4
20
55
-17
0
-57
0
0
-6
0
15
-6
61
0
-2
-14
23
26
0
-38
0
0
0
0
0
0
20
1
0
0
0
0
0
-1
0
-74
3
0
0
-1
-124
0
-18
13
38
0
0
-11
0
76
83
-19
0
0
-55
0
23
-67
-13
0
0
80
6
71
4
0
0
0
76
0
-9
24
-60
0
0
60
0
84
0
0
10
0
-15
7
-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
35
35
37
-70
19
52
-36
162
5
11
10
69
34
-58
8
5
-22
41
6
-58
-25
-3
26
-125
70
-1
44
-21
-7
28
33
35
11
5
0
124
58
52
-12
118
4
-10
77
-5
19
-15
-11
0
-1
-6
17
28
-56
-49
64
-88
29
0
15
0
6
79
-1
-63
-12
4
-76
-103
27
39
-28
16
-2
-55
78
-22
26
50
1
0
-91
-36
-43
5
1
-9
-43
33
98
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
-6
0
0
0
0
0
0
17
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
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
0
0
0
0
-34
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
-74
0
0
-23
1
0
0
-18
0
0
0
0
0
-3
-14
0
0
-11
0
8
0
2
0
0
0
0
0
0
-71
0
0
0
0
0
0
-7
0
4
0
0
0
0
91
0
0
-6
0
0
0
34
0
-4
0
0
0
-16
-42
0
0
1
-3
0
0
-86
0
3
0
1
0
0
-51
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-15
47
1
1
-44
0
18
0
0
-34
0
-21
-2
-8
8
82
-18
0
37
0
0
0
0
2
-2
70
6
-2
0
13
0
0
-18
-10
71
-7
-17
0
-4
-62
-1
9
8
-34
0
21
0
0
32
3
2
0
32
16
-9
-65
-4
77
0
0
3
0
3
38
0
0
0
-55
-2
-5
-2
43
-2
0
-16
0
13
0
0
16
0
42
-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
64
0
0
-3
0
0
0
-69
0
0
-6
0
25
0
-27
0
0
0
-2
1
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
-16
0
0
0
-1
34
0
0
0
0
0
0
74
0
0
0
0
0
0
-38
0
0
0
0
0
0
73
0
-9
0
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
0
0
-74
0
0
3
0
0
0
-49
0
0
0
2
0
0
135
0
0
0
0
0
0
-4
26
0
0
0
0
0
9
0
16
0
0
0
0
80
0
0
7
0
0
0
-64
0
10
0
0
0
0
-38
0
0
12
0
0
0
-51
0
-16
0
0
0
0
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
51
0
0
0
-2
0
0
-42
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
3
0
0
0
0
80
0
2
9
1
0
0
-5
0
-10
0
0
0
0
54
0
22
-14
-2
0
0
22
0
24
-1
0
0
0
112
0
0
0
0
0
0
95
0
-6
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
68
11
28
-6
46
44
65
-30
53
-14
29
-28
-10
30
2
-29
-15
51
2
0
-36
20
-22
57
-18
9
34
0
78
-21
-46
-63
95
-22
-7
1
13
18
65
36
61
0
-42
7
-13
-47
76
17
-39
-80
-4
-9
-23
22
-2
-40
23
0
8
-4
-58
-10
17
7
49
-15
-3
-110
58
123
-2
57
0
-12
-2
-33
-92
-1
-20
57
32
-43
-49
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
26
0
0
0
0
0
0
-54
0
0
0
0
0
0
-60
-3
0
0
0
0
0
-3
0
3
0
0
0
-2
11
0
0
0
0
0
0
-50
0
-9
0
0
0
0
16
0
-1
0
0
0
0
22
0
3
0
0
0
0
-1
0
0
0
0
0
0
98
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
-15
-9
8
-24
0
0
22
0
8
0
-15
0
29
46
0
-34
-16
3
0
0
0
1
-8
-5
0
0
-8
0
0
-40
0
75
49
0
0
10
66
-4
-25
27
-2
0
-1
53
7
-67
11
-19
-8
3
18
0
27
12
6
0
8
-58
0
71
4
6
0
0
39
0
-3
-3
-8
-10
0
-9
0
73
0
0
34
0
-86
-15
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
1
-36
0
2
-19
0
-38
0
-9
0
0
-64
0
36
0
10
0
6
0
0
0
0
-45
89
-1
-13
0
0
0
66
-8
-24
32
0
0
-29
30
0
-16
-2
0
0
-14
-3
10
128
47
0
-4
18
23
6
17
-8
0
0
-7
56
0
-82
8
0
13
0
3
0
0
-11
0
-5
0
-64
0
-153
2
0
-6
0
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
65
0
0
0
0
0
0
15
0
0
0
0
0
0
42
0
0
0
0
0
0
-40
0
0
0
0
0
0
6
0
38
0
0
0
0
8
0
0
-20
0
0
0
-37
0
-19
2
0
0
0
-8
0
0
0
0
0
0
-39
0
-10
3
0
0
0
13
0
0
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
8
3
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
-2
0
0
-61
0
8
0
0
0
0
-28
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-16
-101
64
-37
-1
-5
29
50
-3
2
-36
-4
7
14
46
17
58
13
-31
-36
27
-5
-101
12
30
8
28
107
-22
16
101
2
78
22
-25
35
36
94
45
0
7
13
-4
-53
-33
-44
80
-24
-37
80
57
66
0
78
0
-5
121
70
55
13
6
-18
-13
-112
-9
11
14
-1
12
-77
28
-16
76
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
23
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
8
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
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
-64
0
0
-16
0
0
0
49
0
0
0
0
0
0
-9
0
0
0
0
0
0
-55
0
-9
-1
0
0
0
-12
0
0
0
0
0
0
97
0
0
0
0
0
0
-66
0
0
0
1
0
0
-5
0
0
0
0
0
0
14
0
0
1
3
0
0
13
0
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
7
-3
0
0
-81
-9
13
0
0
0
-1
49
0
0
0
0
0
0
59
0
44
0
0
0
-10
72
0
0
0
0
0
0
2
0
-25
0
0
0
0
-85
0
0
0
6
3
0
-53
0
-10
0
0
0
0
-90
0
2
0
9
0
0
24
0
-22
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
10
0
0
0
0
0
0
52
0
0
0
0
0
0
-8
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
2
0
0
0
0
26
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
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
-18
0
0
-9
-19
0
0
0
0
0
119
-13
0
0
0
0
0
-3
0
1
0
0
0
0
81
0
0
-18
0
0
0
-21
0
15
0
0
0
0
-72
0
0
0
0
0
6
-27
0
27
-16
0
0
1
50
0
-2
-6
35
0
0
37
0
32
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
8
0
0
0
-3
0
-2
0
0
0
0
0
0
0
1
-2
0
0
17
0
2
0
0
0
0
13
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-7
-4
7
-7
-7
-19
10
6
-35
60
0
9
-5
73
60
-77
11
0
51
46
70
73
143
33
4
71
-21
13
-11
-27
4
24
43
-28
-3
-43
116
-44
0
-21
-5
1
-2
-1
-25
5
24
-1
0
-18
15
66
-19
-9
0
0
-6
9
-13
0
0
32
49
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
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
-6
0
0
0
0
0
0
4
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
-81
0
0
0
0
0
0
4
0
0
0
0
0
0
-22
0
-7
0
0
0
0
76
0
0
0
0
0
0
64
0
2
0
0
0
0
-46
0
0
0
0
0
0
-42
0
-11
0
0
0
0
0
0
0
0
0
0
0
48
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
6
3
-1
0
-6
0
0
-43
0
0
0
0
0
0
-22
-1
-5
-7
0
0
0
-60
0
0
0
-7
0
-4
-21
0
-1
0
0
0
0
-11
0
-4
0
0
0
0
46
0
10
0
0
0
0
74
0
0
4
8
0
0
-50
0
0
0
0
0
0
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
-3
0
0
0
0
0
10
0
72
-5
0
0
-5
27
0
0
-2
13
0
-3
-84
0
92
-8
0
0
17
16
0
-10
23
0
0
0
64
0
-64
10
0
0
0
-85
0
0
0
0
3
0
-19
0
-48
2
0
0
0
-3
79
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
10
0
0
-1
47
7
29
0
0
0
10
10
0
5
25
18
0
4
28
0
27
3
0
0
0
-89
0
-1
-43
3
0
0
18
0
-92
2
0
0
0
69
13
-5
1
4
0
0
-38
0
163
22
-6
0
0
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-13
-32
35
-34
-3
18
-19
-15
5
30
5
-32
67
66
42
-38
96
-65
-17
-47
42
52
92
25
200
29
-5
9
-26
184
27
19
-12
3
-21
-7
-11
24
104
44
-15
-20
17
-46
38
-37
-62
23
5
1
88
97
-26
26
0
0
-2
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
8
0
0
0
0
0
0
-33
0
-11
0
0
0
0
-8
0
0
0
1
0
0
-10
0
4
0
0
0
0
41
0
0
0
0
0
0
35
0
-5
0
0
0
0
-98
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
-2
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-6
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
0
3
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
8
0
0
0
0
0
0
1
0
5
0
0
0
0
13
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
-44
0
0
0
0
0
0
10
0
4
0
0
0
0
26
0
0
1
0
0
0
-45
0
3
0
0
0
0
0
0
0
0
0
0
0
54
0
1
0
0
0
0
-39
0
0
0
0
0
0
-46
0
6
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
22
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
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
-56
-9
23
44
50
-2
0
32
25
14
-59
89
10
0
66
-35
-1
-48
113
3
-35
68
-79
0
-18
6
65
13
-46
9
-1
-37
51
-4
-69
95
43
2
88
-89
-57
-48
-6
30
-3
24
20
0
101
0
-3
72
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
-88
0
0
10
-5
0
0
-4
-18
9
-2
5
0
0
5
0
0
-1
0
-13
0
39
0
28
0
0
0
0
-98
0
6
1
0
0
0
-42
-1
3
0
0
0
0
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
18
-2
0
0
0
0
0
7
0
-6
0
0
0
0
50
0
-5
0
0
0
0
1
0
0
0
-8
0
0
-20
0
10
0
0
0
0
2
0
0
0
0
0
0
103
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
3
0
0
0
0
-21
0
0
0
0
0
0
26
0
0
1
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
5
0
0
96
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-17
0
0
2
0
0
0
8
0
-3
0
0
0
0
59
0
-1
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
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
-9
0
5
6
-6
0
0
-2
0
-3
0
0
0
0
-66
0
0
0
0
0
0
28
0
0
0
0
0
0
62
0
0
0
0
0
0
-45
0
-2
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
130
-8
-10
56
-23
-22
0
-60
11
2
-49
49
30
-14
-4
74
0
30
44
0
-6
-7
22
0
-14
-18
0
0
10
74
0
-10
5
-2
28
0
-3
0
64
0
0
-15
0
-7
14
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
69
0
30
0
0
0
0
42
0
0
0
0
0
0
46
0
0
0
0
0
0
77
0
0
0
0
0
0
-12
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
17
80
0
-7
157
-19
-6
27
-57
0
49
-10
0
0
23
-40
0
-41
99
75
0
-7
-23
0
121
-29
8
38
31
-54
0
-10
-6
8
2
0
41
0
-28
0
0
2
0
-56
-16
-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
1
34
-1
0
10
9
0
2
9
0
-15
0
0
0
0
43
0
-4
-19
0
0
0
154
0
-15
0
0
0
0
-17
0
0
0
2
-1
0
62
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
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
100
0
0
-4
9
0
0
-63
0
-1
0
0
0
0
-25
0
0
0
0
0
0
14
0
20
0
0
-33
0
70
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
3
77
-42
10
-2
-24
7
-11
43
-82
22
0
95
-3
0
11
51
-4
3
-81
-21
0
-33
47
91
15
7
21
20
-73
10
0
114
0
51
-85
-20
-81
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
11
0
0
0
0
0
0
35
0
0
0
0
0
0
10
0
-4
0
0
0
0
14
0
0
0
0
0
0
109
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
27
35
0
0
0
-5
0
0
-5
-7
0
0
113
0
-7
11
-7
0
0
-20
0
0
0
-3
0
0
104
0
-38
0
0
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
-6
0
82
0
0
0
0
78
0
16
12
-6
0
0
1
0
45
0
3
-4
0
-18
0
0
0
7
0
0
1
0
-28
0
0
11
0
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
67
0
-5
1
0
0
15
88
0
18
-4
0
0
0
-43
0
-20
-3
0
0
0
-61
0
0
1
2
0
0
-13
0
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-3
0
0
77
0
10
0
0
0
0
-8
0
0
0
0
0
0
58
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-43
-141
26
-3
40
-2
-20
31
5
-27
14
-15
11
45
-40
-52
56
-1
11
0
129
-1
-1
-53
-2
-33
-3
27
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
-5
49
0
-6
-18
0
180
61
0
-24
0
32
0
-5
-1
-23
0
0
30
0
-32
0
0
-20
0
-65
19
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-8
3
2
0
11
0
12
-2
0
-3
0
-42
0
0
1
11
2
0
57
0
22
0
0
0
0
-57
-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
10
0
0
0
0
0
0
9
0
1
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-72
0
0
0
-6
0
0
-22
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
58
2
10
30
119
-36
-44
4
-29
-12
-60
10
-32
-19
0
15
-2
-27
64
2
-45
0
-30
57
50
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
8
0
0
67
0
0
-3
4
0
0
128
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-90
0
-23
5
-6
0
0
-78
0
0
9
24
0
-9
65
0
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
60
-1
0
0
0
-33
0
3
7
0
0
0
-61
0
5
0
0
0
0
107
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-111
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
130
15
77
11
-19
28
0
-64
38
4
22
0
-47
33
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-1
0
-21
-2
11
-7
4
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
9
0
57
0
3
4
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
41
0
0
0
0
0
0
-88
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
-8
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-25
0
15
18
0
-4
0
-24
15
45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
171
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
97
7
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
-9
0
0
0
4
0
0
-6
0
0
0
-4
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
-7
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-56
0
0
0
0
0
3
-3
0
4
-3
0
0
-2
32
0
0
-3
0
0
0
-28
0
0
0
0
0
0
61
0
0
2
0
0
0
6
0
-2
0
0
0
0
-3
0
0
0
0
0
0
62
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
87
0
0
-15
0
0
0
-4
0
0
0
0
0
0
28
0
0
-14
0
0
0
14
0
0
0
-3
0
0
-86
0
0
0
0
0
0
3
0
0
0
1
0
0
-42
0
0
0
0
0
0
-11
-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
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
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
30
0
0
0
0
0
0
0
0
0
0
-18
0
0
-5
-11
0
19
-9
8
0
0
0
-17
-4
-7
0
0
0
0
0
5
0
0
0
0
0
13
0
0
0
0
-89
0
0
28
0
0
-31
0
0
0
0
0
0
22
0
0
0
0
-2
0
0
0
51
0
0
-64
0
0
0
-41
0
0
36
0
0
0
94
-9
-12
60
-11
0
0
-6
0
25
12
0
0
0
2
8
-45
0
0
0
0
0
0
59
0
9
0
0
0
-1
77
0
0
-14
0
0
0
-28
0
0
-12
-10
-9
0
0
31
13
0
0
-1
0
0
84
-53
-1
18
51
35
0
-59
72
0
0
93
0
0
22
-101
0
0
-3
-35
0
-47
51
0
0
25
0
3
0
10
0
-3
0
-3
0
0
-3
5
0
0
0
-5
0
-39
38
0
0
0
0
0
0
80
0
-13
0
0
0
12
1
0
-13
0
0
-29
96
0
0
21
0
0
42
78
0
0
-4
-26
0
44
-62
0
0
17
0
-2
28
23
0
0
-17
-35
0
0
-75
0
-4
-7
0
3
0
-13
-2
-3
0
-6
0
0
16
0
-12
0
0
0
0
0
35
4
0
0
0
0
24
0
1
0
0
0
0
-19
0
0
-14
0
0
0
-92
0
0
-4
0
0
-8
67
0
-8
-24
6
0
0
-2
6
-10
0
0
0
0
65
0
0
0
0
-1
0
-85
0
-99
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-45
15
-108
3
54
-90
22
0
0
0
0
0
0
0
24
14
21
83
5
23
-19
14
34
-54
-26
46
-12
-16
-4
13
-4
-50
-109
15
15
58
50
-5
15
-19
-20
-32
-44
3
-46
-3
-20
-28
-19
-36
-38
2
-80
65
15
-4
-3
8
84
-64
0
-81
-14
-31
37
-25
39
-8
-1
-3
11
-36
-19
101
14
-2
-8
32
42
-61
60
31
0
42
6
-26
-12
-23
-2
-96
4
-21
-20
-71
-93
-7
-7
2
-22
-26
88
-28
2
42
-8
137
-3
67
-35
59
5
1
-69
22
-39
-72
-65
39
3
-40
3
-51
-22
36
30
-79
-37
11
52
-11
-1
48
84
-33
9
43
-11
7
-1
-49
8
5
-6
-26
-3
37
-8
-9
9
-8
58
3
-15
-100
-13
2
56
-71
-2
68
-1
-9
1
68
2
-3
-2
57
8
-6
-35
1
-11
98
-6
-14
6
-13
-11
-54
13
-11
-112
7
-69
40
27
52
-52
-2
7
-2
22
-6
30
-4
-27
6
67
3
1
-50
28
-38
6
-21
24
21
-15
2
9
-3
30
-34
12
-22
-87
-19
3
-123
-102
6
13
9
-17
5
-61
-30
-16
-31
-11
-7
1
-40
65
-33
-3
6
-26
-3
-43
-42
-3
23
-6
-61
26
-36
3
-3
53
-64
-21
5
12
38
-22
103
-42
-6
-3
19
70
-13
16
18
10
-6
104
-22
-16
-106
-8
-29
-17
-27
35
-34
15
22
-33
7
-39
-23
-8
-77
9
-21
5
-51
4
-48
-10
-7
41
-5
-11
-22
-28
-57
7
42
-17
-11
38
7
-18
38
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
11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-54
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
55
0
0
2
0
0
0
1
0
0
7
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
24
0
0
0
0
0
0
-40
0
0
0
0
0
-3
0
0
0
7
0
0
-3
1
0
0
0
0
0
-16
3
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-1
0
0
0
0
29
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
7
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
-1
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
23
0
0
15
0
0
0
0
0
0
8
-15
0
0
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
3
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
147
0
0
0
0
0
0
0
0
0
0
-71
0
4
-7
0
0
0
-3
0
0
0
0
0
0
0
-5
0
0
0
9
-2
0
0
0
0
0
-9
0
0
0
0
-35
0
0
-5
0
0
-107
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
5
0
0
53
23
0
0
-4
0
2
39
7
0
0
4
0
0
73
-6
0
0
0
0
16
-33
0
0
0
-2
-2
3
38
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
2
0
0
0
-63
0
44
1
5
-7
0
0
-1
25
0
0
21
0
0
15
-24
0
-34
16
0
0
35
54
0
0
5
0
0
-67
63
0
0
34
-8
0
0
37
0
0
-10
0
0
0
13
0
78
0
3
0
0
-42
0
0
0
0
0
0
27
1
0
0
0
0
0
70
0
0
0
0
0
0
122
0
5
-12
0
0
-4
-76
0
0
1
0
0
-4
-35
0
0
0
12
0
6
-49
0
0
60
0
0
0
15
0
0
-11
1
0
0
59
0
0
-9
0
0
0
-8
0
0
0
2
2
0
-65
0
0
0
0
0
0
59
-5
0
0
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
-2
-63
0
8
0
0
0
0
118
0
0
-20
-15
0
0
-98
0
0
-3
0
0
0
89
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
-78
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-145
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-2
0
0
-7
0
0
0
-16
0
0
27
0
0
0
0
0
9
-10
0
0
0
-2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
23
0
0
0
-1
0
-13
-15
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
-42
-9
0
0
-7
0
0
0
69
0
0
0
0
0
51
-41
0
0
-12
0
0
0
-18
0
1
0
0
0
0
-9
0
0
0
0
0
0
-45
0
0
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
-14
0
0
-13
0
0
0
-34
0
0
28
0
0
0
17
0
0
-3
0
0
0
9
0
0
2
0
-1
0
-23
0
0
0
0
0
0
43
0
0
0
0
0
0
-11
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
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
96
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
18
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
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-6
0
0
0
0
0
4
-3
0
0
-15
-5
0
0
-1
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
9
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
12
1
0
0
0
0
0
-9
0
0
5
0
0
0
-4
0
0
3
0
0
2
54
0
0
-1
0
0
0
62
0
0
0
0
0
0
41
0
0
0
9
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-21
0
0
0
0
0
0
13
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
14
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
-19
-2
-3
0
0
0
0
26
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
-36
0
0
0
0
0
0
-45
0
0
0
0
11
-1
0
0
0
0
0
-18
-1
0
0
-18
0
0
69
1
0
0
-8
16
1
8
0
0
0
-10
0
0
-25
0
0
0
1
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
1
0
0
0
-5
0
-41
3
-11
-10
0
0
-2
102
0
0
12
0
0
7
-20
0
-83
32
0
0
73
7
0
0
7
0
0
1
-164
0
0
-1
-8
0
-7
80
0
0
-10
0
0
0
49
0
27
0
0
0
0
6
0
0
0
0
0
0
-14
-6
0
0
0
0
0
-26
5
0
0
0
0
0
-12
0
0
16
2
0
0
-63
0
0
-8
0
0
0
41
0
2
1
0
0
-10
-66
0
0
33
0
0
0
-2
0
0
7
-15
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
-76
0
0
0
0
0
0
55
0
0
0
0
0
0
-14
0
2
0
0
0
0
-52
0
0
0
0
0
0
44
0
0
19
0
0
0
101
0
0
0
0
0
0
-7
0
8
0
0
0
0
93
0
-11
1
0
0
0
-97
0
18
0
0
0
0
37
0
1
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
2
0
-9
-6
-7
0
0
0
0
-33
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-54
0
0
0
0
0
44
0
0
0
0
0
5
8
0
0
0
0
-3
0
-3
0
-16
0
0
2
0
0
0
3
0
-12
87
5
0
0
14
-3
0
-33
0
0
0
-18
0
19
13
0
0
0
46
0
0
-17
-6
0
0
2
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
3
0
44
0
-7
0
0
0
-59
0
0
0
-15
0
0
-32
-70
0
-84
36
0
0
-27
-194
0
0
-4
0
0
0
-80
-6
0
1
-18
0
1
-59
0
0
69
0
0
0
-11
0
-41
-1
-4
0
0
-59
0
0
0
0
0
0
2
-5
0
0
-2
0
0
-26
0
0
0
0
0
-2
0
0
0
-11
-2
0
1
-2
0
0
1
0
0
10
-18
0
0
93
28
0
4
143
0
0
-18
0
-15
26
-57
0
-6
-1
-22
0
-12
67
0
0
13
0
20
0
-12
0
5
0
0
-14
0
-10
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
28
0
0
0
21
20
0
-5
0
27
0
1
-47
0
-11
39
0
0
0
-1
0
7
0
-7
0
0
99
0
-34
-18
0
0
0
-64
0
0
4
0
0
0
83
0
-17
0
0
6
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
49
0
0
0
-14
0
0
14
-7
0
0
0
0
0
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
-3
0
0
45
0
0
0
0
0
0
23
0
0
0
0
-7
12
-55
0
0
0
1
99
0
0
0
-105
0
0
106
-10
0
0
-28
-20
33
-141
10
0
0
19
0
-20
21
1
0
0
20
6
0
-19
-7
0
0
0
0
0
0
0
0
0
0
0
4
0
0
10
0
0
0
-13
0
6
-5
72
0
0
0
0
-72
0
0
36
0
0
-24
103
0
-20
59
10
0
49
-61
0
0
45
0
0
2
45
0
0
77
0
0
-1
22
0
0
18
0
0
0
10
0
5
0
-13
0
0
36
0
0
0
0
0
0
39
0
0
0
15
0
0
23
14
0
1
0
0
0
-27
-3
0
-4
0
0
-1
6
0
-1
-4
0
0
1
-31
0
0
29
0
0
-9
-91
0
0
-23
0
-3
0
-44
0
0
5
-19
0
0
-37
0
0
0
0
25
0
77
0
0
0
0
3
0
64
0
0
0
0
0
0
-7
4
0
0
0
0
0
-29
0
13
0
0
0
0
-116
0
-1
0
0
0
0
-48
0
8
-7
0
0
0
-45
0
0
4
-1
0
0
9
0
-4
0
0
0
0
-50
0
0
0
16
0
0
-12
0
-32
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
28
35
-35
31
-17
-10
18
34
-127
50
-47
-29
20
-3
-14
52
-51
-3
-88
-42
-26
-49
-1
19
-37
22
36
-25
34
79
-2
4
-43
9
-26
-32
-3
-16
83
1
24
14
54
-13
42
-5
-39
-185
-78
-64
73
-158
-56
-4
-58
6
-32
29
63
8
12
3
0
55
56
-30
1
5
-16
10
61
70
-36
13
32
12
10
-7
-3
-4
2
-30
-2
-6
-45
-101
70
-24
36
11
-88
84
0
-28
38
9
0
-73
-44
2
-23
-47
-8
3
-18
0
-1
-135
-4
14
-60
-57
5
152
-37
39
-3
-10
7
-2
-61
-113
-1
2
74
3
-3
-72
-59
21
-41
-15
19
5
-60
-39
9
-6
14
0
6
-28
-11
9
77
-22
-9
-7
40
7
1
3
-6
47
-10
-86
12
-52
11
6
-38
0
-4
-10
-76
-2
-49
-9
4
11
-74
-23
-82
-1
75
-8
39
77
-6
-7
-70
-21
-7
-42
-14
32
-11
8
-19
-1
8
-19
0
-2
35
-24
1
-62
32
4
-40
10
14
-2
80
8
12
1
-69
7
3
-110
24
0
-2
6
27
-2
-86
-17
24
-6
-6
-50
2
36
-82
89
-7
-48
41
4
47
51
-45
7
9
-57
-10
-41
-71
-21
-129
24
12
-25
-69
33
46
-20
-111
34
-27
-76
-29
-13
31
50
-15
2
43
19
15
-18
-58
74
-9
75
7
-48
65
-51
-8
-7
51
-20
22
-40
-32
-11
0
51
-23
-40
-112
-21
155
-3
50
-16
-1
-51
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
36
-2
0
0
0
0
-41
28
5
0
-7
0
0
-43
3
0
0
0
0
0
-8
17
0
0
-5
-3
0
0
3
0
-53
0
0
-1
0
0
-38
0
0
0
0
0
-37
41
0
0
0
0
0
-5
-9
0
9
-1
6
3
24
0
0
-88
0
0
-88
77
29
0
5
-6
3
-23
-36
-3
0
71
0
3
16
0
0
0
-21
-16
4
-48
4
0
0
22
0
21
0
-7
0
0
-2
2
12
0
0
-5
0
0
0
12
0
-1
7
-27
0
0
0
70
47
-8
0
-3
0
0
-3
16
0
-1
73
0
0
-40
-35
-29
0
2
0
-15
-20
-193
0
0
26
-11
0
34
161
0
0
-50
0
0
45
16
0
-26
3
-8
-1
0
21
0
0
1
0
3
0
71
8
2
0
-7
0
0
68
-9
0
0
6
0
-21
59
12
11
102
0
0
10
-97
-12
5
-40
0
0
133
-57
-13
1
71
-2
0
-19
-57
0
0
-6
17
0
-14
21
0
27
2
4
10
0
17
0
0
5
0
2
0
51
0
0
0
5
-21
0
66
0
5
0
0
0
0
68
0
0
0
0
0
0
44
0
-1
-16
0
0
-11
4
0
6
0
5
0
0
-30
-12
-6
-3
2
0
2
11
8
0
-3
0
0
0
-46
0
1
0
-6
0
0
-25
0
-20
0
4
0
0
-4
0
-1
0
0
43
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
-4
3
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
55
0
0
0
0
0
28
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
4
0
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
-3
0
0
1
0
0
-11
-9
0
0
-5
-1
0
0
0
0
0
0
35
0
0
-1
0
0
0
7
0
0
0
0
0
0
14
0
6
2
0
0
0
13
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
-19
0
0
0
0
0
0
-26
0
0
2
0
0
11
-6
0
0
-5
0
0
0
4
0
0
0
0
0
0
-27
0
0
10
0
0
0
-8
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
5
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
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
-9
-11
0
12
-5
0
0
0
0
0
5
-12
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
20
0
0
0
17
16
0
-62
0
0
-3
17
-4
0
6
19
0
-6
-6
0
0
98
0
0
0
8
-5
0
-18
4
0
9
0
0
0
-11
0
0
0
0
-9
0
0
0
-10
0
0
0
0
0
-6
3
-2
0
0
0
0
-76
0
1
-4
0
0
-2
6
0
94
-20
0
0
-20
69
0
0
32
-6
0
-9
-10
0
2
12
8
0
-19
106
0
0
-88
0
0
-1
8
0
-28
11
-4
0
0
29
0
0
0
0
0
0
-22
5
0
0
0
0
0
-20
0
0
0
0
0
0
52
0
0
-3
-10
0
12
104
0
5
61
0
0
0
24
0
0
94
-1
0
-19
19
0
0
-8
-3
0
8
-148
0
2
-133
-3
0
-1
-6
0
0
-4
0
0
0
-13
0
0
12
-3
0
0
-14
15
0
0
0
0
0
11
0
0
0
0
0
2
57
-4
-97
0
6
0
0
-61
0
0
9
0
0
0
-36
0
69
-1
0
0
0
50
0
0
1
0
0
-9
10
0
-34
-1
0
0
0
-28
0
0
0
0
0
0
48
0
-12
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
65
11
69
77
-21
15
-53
-62
27
10
-124
-117
-127
-1
-114
-25
-8
14
-61
-36
59
-56
-8
-24
-90
4
-4
-8
-7
-2
-36
-41
-44
-52
50
6
-59
-79
1
47
-33
4
-10
163
34
-8
-14
-117
40
-18
-49
9
-44
-17
-12
-77
-2
-118
32
-23
76
31
32
12
-25
-24
-5
25
39
71
-44
-16
24
-25
-17
18
-51
-13
-105
-2
8
59
-66
-87
-5
-8
-26
9
-18
-3
-2
-23
-20
-27
-35
-10
12
24
-77
17
4
53
-4
-35
-25
-53
-96
-7
-19
-59
-48
34
31
31
27
2
83
34
0
-146
-1
44
75
-29
11
20
14
-23
19
9
51
0
2
6
6
-3
-39
-6
12
5
-71
-10
-18
14
-40
-38
-6
-42
-72
-88
-42
21
-43
21
7
-17
-2
27
-46
10
8
-74
-107
-137
-8
-63
21
-13
-42
47
-19
2
-17
20
20
46
66
-37
-32
74
15
-5
-78
23
5
-37
22
-2
-8
8
42
-8
47
16
-20
-7
-47
1
-51
2
15
-65
9
-13
-96
-23
47
10
-105
-50
-85
-161
-24
0
13
-14
-11
2
-51
-8
13
34
19
-25
-103
25
45
-32
4
26
-10
14
-49
108
27
86
-52
-26
28
12
57
28
97
-77
23
139
-2
5
-56
-20
9
-37
-41
-117
-26
50
-88
-18
-44
-34
17
-40
-55
-24
-75
1
47
-90
-25
2
18
-50
7
0
-1
29
8
29
-64
-17
-45
-72
17
-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
-53
-6
0
3
81
16
-10
12
-42
0
-2
0
0
-11
-7
22
10
18
-11
-7
2
0
-9
0
40
11
0
-8
0
0
-21
0
0
0
0
-1
2
16
-1
-5
-6
14
161
159
8
-3
116
109
42
67
-71
0
26
145
16
122
7
0
-100
-92
-126
-94
53
-16
-55
-1
41
-186
-9
-49
-16
-60
0
-2
-17
-126
55
115
-89
-9
11
25
0
-65
-1
22
0
0
-1
-39
-248
0
0
43
0
0
-14
-86
-2
3
-124
87
40
-6
0
96
54
-32
8
120
-16
0
60
-95
0
11
54
45
0
-54
0
122
-11
-28
-57
50
-24
-29
-18
5
-42
-1
53
-49
-35
17
-6
-5
5
0
-22
0
0
9
-77
59
0
0
-21
-11
19
3
20
-15
0
-36
-117
84
0
47
-17
19
-1
30
0
-1
1
0
3
4
-2
31
-24
-10
-1
-1
-1
-10
9
60
45
41
-45
0
0
15
10
4
24
-68
4
7
-7
-48
101
0
80
-57
-10
-24
-82
31
-11
44
-36
0
-20
-23
2
-14
-1
-10
4
77
-61
-75
-57
2
-46
-10
-5
23
0
-11
0
30
-22
0
6
-14
0
0
-84
0
47
-7
24
0
-19
-5
0
14
23
171
0
-45
0
-2
-69
56
-8
-12
-17
-16
6
-87
-12
35
0
-29
12
11
73
-19
49
0
-3
18
-11
48
38
-25
0
7
19
0
6
23
-1
-19
5
23
-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
-23
0
0
0
-4
0
0
33
1
0
0
-2
-14
0
2
10
0
0
6
0
0
-1
-3
0
-160
0
0
-19
0
0
-15
0
0
3
-4
0
-34
0
0
3
0
0
9
19
-1
0
88
-8
-10
16
-4
0
-19
134
0
95
123
17
-6
0
-58
12
-11
28
-79
0
0
-17
-2
0
3
-42
0
-23
85
27
0
34
-23
0
0
81
0
-1
11
-6
0
0
-1
0
-4
0
0
5
0
3
0
65
0
58
8
68
-6
0
0
19
5
0
0
-59
0
0
-62
-42
0
-96
-27
12
0
29
7
2
-7
-115
-8
-4
-74
55
0
3
-57
0
0
18
34
0
0
-70
0
0
22
61
0
80
4
4
0
-2
-29
0
0
0
0
-10
1
35
41
0
0
5
0
0
25
-9
0
19
0
0
-22
69
0
4
-30
-2
6
-86
32
0
0
-2
21
0
-40
-10
0
17
-97
18
0
-37
57
0
47
61
0
0
-1
23
0
0
-4
-103
0
-23
60
0
0
0
0
0
5
15
0
10
0
0
-9
0
14
-6
0
0
11
0
0
76
-8
0
-12
0
0
1
-58
0
68
-14
0
0
-3
171
0
0
-16
0
0
0
-18
0
-20
0
0
0
-16
1
0
-27
2
-22
0
11
-86
0
13
7
-3
0
-2
-48
0
-9
16
0
0
0
-98
0
22
-4
0
0
0
-107
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
74
1
0
0
-1
0
-8
53
15
0
0
-2
-1
0
-1
0
0
0
-3
0
3
0
-5
0
-41
0
0
-7
0
0
-9
0
0
0
0
0
-7
97
0
-6
0
0
-2
22
0
-1
4
67
6
-7
5
0
0
119
11
-4
103
12
-15
19
-107
-24
5
-36
53
0
6
-24
0
-3
20
-43
0
0
-5
22
12
15
7
3
18
-6
0
9
0
-4
0
0
-2
-4
-14
0
0
-37
0
0
0
-21
-25
-63
-46
-12
55
0
0
-70
59
13
0
44
26
0
16
-76
9
8
-21
-103
0
33
21
0
0
-31
0
6
-22
-45
9
0
-32
-83
0
-44
89
0
0
68
-5
-29
9
38
0
-45
-7
-20
0
14
-13
15
0
13
-9
-3
0
-17
28
38
0
-7
15
0
-52
-22
-4
2
0
8
-12
24
-2
3
-119
80
-7
36
114
0
7
-66
-5
0
-38
15
-4
-35
26
12
0
-64
-83
0
1
-74
17
0
-13
14
0
1
-57
51
0
0
4
0
0
-3
0
25
1
7
0
9
-9
45
-15
9
-13
25
-5
0
0
0
0
61
-43
0
0
16
0
0
-18
-16
2
23
0
0
0
57
21
-4
1
-6
0
0
-68
0
12
22
0
0
-8
-19
0
39
-14
62
0
-3
37
-2
-59
-80
0
1
0
-22
6
-3
14
-2
0
0
-22
0
85
5
0
0
-9
-5
77
-3
0
0
0
0
0
0
0
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
139
7
-7
-71
-165
25
-28
-32
-1
0
1
9
-5
9
125
10
0
61
24
5
-6
34
0
-12
-8
3
-4
0
0
17
0
-1
-4
-13
-4
-111
-79
0
-1
0
-1
33
-53
49
-3
74
119
10
-84
-33
0
0
77
48
-10
113
45
-26
14
10
-15
-47
105
17
0
36
67
-2
-76
-72
-37
1
0
39
-2
23
2
83
0
-1
39
14
2
-24
-41
0
0
-13
175
-130
5
-3
8
0
0
0
-144
0
50
8
15
-8
-8
0
-36
-7
11
0
-26
0
-1
30
-30
-19
49
19
92
0
-53
48
-1
-14
129
13
-27
-91
25
12
13
166
32
0
16
-8
0
-9
16
-16
5
0
-28
0
-111
-14
41
23
-22
-77
0
-13
-27
-4
-10
0
12
-41
62
0
-36
0
-4
-7
-43
-1
0
10
0
-15
47
-79
62
107
-6
35
-34
-75
-11
-34
-34
16
4
-8
27
35
47
13
-26
25
-2
10
-3
-5
6
6
7
3
-97
22
-28
-34
28
-2
104
-14
0
36
-40
-6
11
-1
-39
0
-2
44
-15
-44
-7
-2
-16
-6
0
-22
1
9
19
78
-3
0
-1
0
26
39
25
41
-31
0
6
-11
-57
-1
-59
-7
54
0
40
55
-4
-13
-38
55
-11
28
-37
0
-50
-23
-60
-3
-20
-73
0
0
-57
0
-11
21
-27
-3
-22
-33
-13
20
0
-5
0
41
0
-12
0
0
-43
-10
-6
-40
37
-21
0
0
0
0
0
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
-38
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
-26
0
0
-14
0
0
-7
0
0
0
0
0
-6
-2
0
0
0
4
-23
3
0
0
-150
0
0
-9
0
0
0
12
0
0
16
4
0
10
118
-1
0
63
-32
0
0
0
0
2
-17
-3
0
0
-4
0
6
-11
-4
0
0
0
0
-2
0
-37
0
0
0
-1
47
0
0
-10
0
0
0
-13
0
-14
1
-1
0
0
0
11
-29
0
0
-5
0
0
107
-8
0
23
27
0
0
-93
-12
0
0
80
0
0
21
-10
0
0
-6
4
0
-75
101
0
0
-17
0
0
-7
-94
0
-68
59
0
0
-4
-15
0
0
-2
0
-5
0
-53
28
-2
0
0
0
0
-115
0
0
0
0
0
0
-22
0
-14
-11
0
0
20
-51
0
0
-6
0
0
-9
3
0
0
63
0
0
-2
-73
0
0
-37
0
0
-4
139
0
0
13
0
-3
33
26
0
0
14
0
5
0
4
0
0
-5
-35
44
0
-22
0
7
0
0
0
0
42
0
0
0
0
0
0
27
0
3
1
0
2
-11
8
0
0
6
-13
0
0
-36
0
0
-10
0
0
0
-37
0
0
5
0
0
5
144
0
55
2
0
0
0
-78
0
4
-6
0
0
0
-88
0
8
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
101
46
0
0
1
-12
0
36
86
0
0
0
0
0
1
-3
0
0
2
-4
0
0
0
-2
-38
0
0
0
0
0
20
0
0
0
0
0
-13
-4
0
0
0
0
36
55
0
0
-40
42
0
-23
1
0
0
4
0
0
-33
4
0
-4
-128
-16
0
2
15
-1
0
-35
0
0
118
24
0
0
-68
-11
0
18
-9
0
0
-4
0
0
0
-8
0
0
0
-17
1
0
0
-26
0
0
0
0
1
22
-11
-5
4
16
0
9
-12
0
0
38
0
0
-111
75
0
-10
25
0
0
-131
-56
0
0
-63
-3
0
19
60
1
0
-10
28
0
-73
-1
0
0
113
0
0
1
17
-2
0
-2
-4
0
0
6
0
0
-9
0
0
0
51
-99
-7
0
-46
0
0
-14
14
0
0
1
0
-2
28
3
0
5
0
0
113
36
0
-14
0
0
0
39
29
0
0
-47
-18
0
-2
50
0
23
94
-29
0
-15
-9
1
0
62
60
0
0
-47
0
-11
45
0
0
0
2
0
-3
0
22
0
0
6
0
0
0
-1
0
0
-117
-8
0
0
0
0
0
-95
0
-32
0
2
0
0
77
0
0
4
0
0
0
68
0
11
22
0
0
-4
-57
0
-28
4
69
0
0
-30
-2
-167
14
-20
0
0
-50
0
9
-36
-18
0
0
59
0
15
0
0
0
0
-64
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
95
120
107
-57
5
-5
-54
-21
30
8
0
-136
-19
-30
-3
20
12
-15
0
-3
-70
0
0
-58
0
0
6
-4
18
30
114
-2
24
10
0
-47
29
110
-26
89
-22
15
3
7
10
0
4
-17
-37
-84
-1
28
-11
19
19
78
30
-109
20
0
4
-1
-45
94
-16
57
14
-40
16
-34
-21
-61
0
2
-95
-7
-22
-17
-18
-5
-2
-55
-38
-134
0
88
-31
0
0
12
-16
-2
9
93
-29
90
-30
0
24
-11
6
-9
16
-3
-26
20
5
89
20
13
-22
-10
-33
21
15
-3
-25
43
8
8
-47
-11
-24
-29
13
4
-19
-21
15
-22
-82
-18
-4
-9
-41
2
34
-81
21
1
18
23
0
-4
24
15
38
0
-10
-72
10
0
-165
-18
3
0
123
-4
-5
61
40
-19
4
-3
47
30
14
-109
16
13
15
-29
-18
-39
-78
-135
-50
77
33
-38
-23
53
-27
6
-13
100
41
34
5
-119
-57
-7
-30
5
7
5
-26
-32
4
10
-158
-7
-17
-1
-9
0
7
-79
-83
-39
0
-3
84
27
-28
-26
-31
0
19
-3
-6
-29
-18
-21
-5
23
31
-71
72
4
-18
0
-24
-27
-6
174
-10
-17
-82
-29
6
-45
-26
17
26
33
-2
-5
15
39
79
99
-24
-55
-29
29
82
-37
-127
-3
8
0
-35
-34
-128
-124
0
14
0
79
78
1
-4
0
24
34
40
-1
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
-66
78
0
0
-1
0
10
78
-6
1
-2
0
-11
0
0
4
-4
-60
0
0
-82
0
0
-26
0
0
-3
0
6
20
-39
0
2
0
13
-31
-65
11
0
58
-18
-6
70
-24
0
1
33
0
-2
8
32
-17
-72
38
-63
42
-51
0
-39
8
11
0
-153
-44
-79
0
-4
-87
57
-5
-27
36
0
0
4
24
2
25
-25
0
0
5
-11
-235
0
0
-23
3
0
0
-72
8
92
46
6
6
5
0
90
47
-5
0
36
6
0
-15
-70
0
-39
-26
14
4
7
-21
22
-40
4
0
17
-61
0
-33
-8
-171
-19
-19
-62
-81
0
5
-24
11
-11
-51
-89
0
-103
15
-53
-1
-3
-58
0
0
0
0
151
0
13
50
-3
0
-7
0
0
14
-4
-10
54
-3
0
9
-29
-35
43
-28
-33
-3
102
-19
0
110
25
-9
-10
30
-27
-7
-11
-78
16
-17
-63
0
27
-30
27
2
6
-20
-51
-20
-27
-53
-39
-29
2
-59
0
1
-56
0
-78
-1
-40
-1
32
-2
10
-123
2
32
8
5
0
0
-1
0
-70
33
3
0
-33
0
-2
-46
6
-10
50
0
4
-22
-43
0
17
22
-1
0
16
11
29
-15
80
6
-7
-117
0
24
0
-48
13
-9
26
-33
-1
13
-51
-8
-6
0
-37
9
-22
-24
1
12
-11
-2
0
3
27
0
60
0
22
38
-13
1
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
79
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
104
0
0
1
0
0
-19
0
0
0
-2
0
-13
-6
-2
0
0
0
-29
-19
0
0
112
68
-18
7
-14
0
0
-20
0
2
144
43
29
0
132
-43
7
-36
2
0
-8
-29
0
70
-34
2
0
0
19
18
-12
20
43
0
0
-15
0
-7
0
-2
0
0
3
1
-64
0
4
7
0
0
0
72
-1
39
-2
-26
-3
0
0
41
8
0
0
39
0
0
106
19
0
-86
-16
60
0
-39
-39
0
-1
98
0
0
108
-65
0
0
24
44
0
-8
-2
0
0
69
0
2
0
108
0
19
1
12
0
0
-23
0
0
0
0
9
0
120
104
6
0
0
-5
0
116
7
0
0
0
0
8
-38
0
-5
67
-7
34
18
33
0
0
-76
0
0
-25
-31
0
0
-69
71
4
-9
-97
0
-18
-42
0
1
28
-66
0
-4
2
13
0
0
50
0
0
40
0
0
0
-37
0
0
-20
-5
83
0
14
0
0
0
0
0
0
22
0
-10
0
0
0
0
-40
0
-18
8
0
0
2
10
0
10
-21
6
0
0
-18
-11
8
12
0
0
-47
1
0
-16
0
15
7
0
34
0
52
-5
0
0
0
36
0
0
-1
0
-14
0
-18
0
36
0
0
6
0
-31
-13
14
-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
9
0
0
0
0
0
0
19
-2
0
0
0
0
0
0
-12
0
71
0
0
2
0
0
-25
0
0
0
0
0
-8
-14
0
8
0
0
24
44
0
0
-10
13
2
-63
-56
1
0
-6
4
4
-76
-24
0
0
29
68
-5
-42
-24
0
0
-6
0
-7
17
8
0
0
89
0
5
38
18
0
0
0
0
4
0
11
0
0
1
0
-78
1
7
-8
0
0
0
16
0
52
1
-51
7
0
0
107
-46
0
0
-73
0
0
-24
-60
0
61
24
2
0
-53
29
-5
0
-30
0
0
75
-138
15
2
41
38
0
55
-64
0
0
-10
0
0
-5
83
0
26
17
-39
0
-1
-113
0
0
0
0
0
0
-33
-16
0
0
0
0
0
-29
-4
0
-2
0
0
9
-77
0
1
16
17
0
48
2
0
0
11
0
0
-43
104
0
0
3
2
0
0
-97
0
0
-34
-2
0
1
-107
0
-7
-62
-6
0
0
-22
-2
14
-2
0
0
0
-58
0
0
-18
-10
-16
0
53
-6
0
0
0
0
0
23
65
0
0
0
0
0
-30
0
18
1
-1
0
0
68
0
0
-19
0
0
0
-144
0
34
40
0
0
-4
9
0
14
-3
9
0
7
-30
0
44
-10
0
0
0
99
0
0
15
1
2
0
39
0
86
0
0
26
0
-47
70
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
-172
27
0
0
0
8
24
84
43
8
0
-1
29
-5
-6
0
0
-105
0
0
8
0
0
-13
0
0
-3
0
0
-20
42
0
0
0
0
24
7
0
0
-31
-187
-25
6
-10
0
1
-21
5
-38
-55
9
0
-4
-124
-133
52
-84
41
-4
-32
-68
4
-74
57
-91
-8
5
19
-9
76
-70
10
4
0
-8
0
-137
-13
110
7
0
-5
16
-51
0
0
19
0
0
0
-118
0
-8
-45
87
0
-6
0
-6
-19
0
0
-14
0
0
29
33
-5
-76
4
-92
0
-79
-10
0
0
47
24
-3
53
-7
0
0
71
54
2
72
49
0
0
-91
8
0
10
31
0
-60
-77
-23
-31
40
-49
0
0
2
0
-13
0
-24
-30
-13
0
38
-29
0
5
8
0
0
0
-10
-33
-13
150
-9
-26
16
129
-13
23
0
24
18
-11
101
-5
54
0
0
64
-48
41
125
35
-7
15
-243
-16
46
-10
-30
0
-3
-66
-1
-9
62
-17
0
-1
3
-4
94
-15
-46
0
2
-4
-21
51
0
-43
21
0
0
0
-7
0
-15
26
-8
0
0
0
14
-71
-10
21
0
0
1
49
-38
0
-9
89
14
0
-2
17
3
-2
-11
-28
-3
87
27
0
4
34
50
37
-25
41
-2
-73
-2
-6
-24
-3
-10
2
-4
66
-102
48
0
1
13
-77
0
0
19
0
42
-3
-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
-43
-3
0
0
14
0
38
0
128
23
2
-13
0
141
0
20
0
0
0
0
-14
0
0
-7
0
0
0
-1
0
-19
1
0
-1
0
0
-10
81
0
0
68
0
46
-21
41
28
0
-24
0
40
-140
-83
0
0
-111
0
-68
-15
31
0
0
-4
0
9
-127
88
0
0
-5
0
-39
-58
6
0
0
8
0
81
0
8
0
0
-9
0
3
0
-2
-101
0
0
0
5
0
-9
92
-20
97
0
0
-3
-5
0
0
119
0
0
-45
7
39
-62
-23
0
0
16
37
0
64
41
-4
0
-65
-9
0
0
41
0
-16
18
-14
0
0
15
0
-1
-22
-17
0
-124
-102
0
10
0
36
2
0
8
0
-6
0
-35
-56
-58
0
0
-2
-2
-31
11
-4
28
0
0
23
-31
-7
11
-6
0
-17
29
65
0
12
42
0
16
-3
49
1
-9
3
-2
-6
63
-17
0
22
44
0
-21
107
20
0
2
-18
0
51
6
64
0
20
154
0
32
0
25
4
-3
-66
0
33
0
-43
-28
8
0
0
45
0
-25
-13
0
5
0
0
-3
-65
0
-67
46
0
0
55
7
3
11
186
1
0
-34
18
0
-81
-103
0
-1
-6
-114
0
2
-119
0
12
2
17
2
-6
21
0
-18
0
74
0
0
134
0
50
0
30
0
5
-66
0
-29
0
-52
-27
1
-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
44
58
0
4
0
0
0
61
27
0
0
16
-13
0
10
-10
22
16
0
0
0
0
0
-9
0
0
24
0
8
-33
83
0
5
0
0
30
-55
-4
1
27
32
0
16
0
0
0
-36
-2
2
-49
70
0
3
-35
-52
0
68
15
28
1
-43
0
0
88
65
0
0
69
25
0
109
92
-5
0
79
-6
0
5
21
-9
0
-2
-30
-1
0
-9
-126
0
0
-50
0
-6
-1
19
126
12
-3
0
-1
-16
0
-4
-75
0
0
-43
38
20
82
22
-20
0
-66
52
0
15
42
0
0
-64
-90
-4
0
-51
-137
0
77
2
0
44
24
0
0
20
-53
-18
-23
25
-61
0
-5
-37
9
0
-5
22
0
4
7
-51
-72
0
-44
0
0
6
45
0
32
32
0
17
-16
-4
-1
39
-6
0
18
65
-12
-4
12
0
0
20
23
0
-6
34
23
0
-11
11
1
10
-10
5
0
12
-25
2
-6
-85
66
0
7
-9
0
26
34
-3
0
0
3
21
-6
46
26
0
-6
-6
5
4
3
-10
0
0
-1
79
3
-1
50
0
-4
-4
0
28
0
0
0
3
12
19
32
-4
-21
0
44
61
0
12
-2
1
0
131
-7
0
16
52
37
0
-58
-24
-1
24
74
0
0
-4
-66
1
-7
72
-48
0
-18
4
0
-13
-4
0
0
0
-2
43
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-80
-18
36
15
-22
14
14
-8
-3
-18
-9
0
-47
0
0
-9
0
-11
0
4
16
135
-25
10
-60
-17
14
58
45
11
-6
-18
-79
38
12
-25
0
4
-3
-15
73
-65
5
-6
22
9
-22
4
-213
-79
73
-7
-252
-29
-13
-69
-31
46
43
-3
-64
30
-43
83
34
11
-45
61
-18
-2
30
0
-1
48
-18
-45
0
79
-125
0
-1
-37
42
3
-10
-138
23
-9
-3
-19
-55
4
-24
0
-51
5
0
-14
31
26
19
-1
-61
-11
-17
-9
-12
-5
37
2
22
49
16
-29
9
-25
-94
104
-17
-17
-8
-28
4
48
114
9
-24
-6
-7
18
-19
-99
0
-42
-5
-3
-46
4
47
0
-7
5
-91
0
20
1
0
2
-74
-3
-10
-26
-1
-13
41
69
15
5
-28
-91
-5
-8
11
-23
-14
-39
66
-91
-9
50
5
-22
-57
78
-55
0
-25
54
42
38
-10
44
-10
-22
-31
5
-46
71
-6
-18
-47
-50
34
43
13
-39
-11
-5
-33
-42
-32
-45
0
-1
8
36
16
15
-16
0
26
-18
-3
-8
-37
3
1
14
-30
41
107
5
42
32
6
5
-31
11
24
-29
-5
49
-35
5
27
-3
-61
-6
14
9
34
36
-46
-77
7
17
7
53
25
82
15
30
3
-18
9
49
-101
3
0
5
-4
-6
-17
-7
-107
0
-20
-10
-28
-40
-84
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
2
-5
0
-48
0
0
-16
0
0
51
0
0
0
0
0
-40
-7
0
0
0
0
6
-26
42
-15
84
-17
-22
-49
-3
0
0
115
-2
0
32
-43
7
-17
90
-155
-2
-51
57
13
0
55
11
23
-10
0
7
-18
42
10
82
-23
13
0
0
61
0
-5
1
-23
0
0
0
6
-135
0
-4
47
0
0
0
-37
0
2
3
-16
-2
-6
0
15
3
0
0
120
-2
0
-44
-84
0
-27
46
-27
0
-37
67
10
0
8
13
0
-54
10
9
1
-90
-2
0
86
0
33
2
-42
-12
-4
2
-73
0
-100
-16
9
0
0
28
0
0
0
-13
-7
0
-34
4
65
0
-14
0
0
-41
27
-1
0
0
0
-5
-48
-23
53
-12
2
-20
-28
32
-2
0
57
8
0
-28
87
0
12
-13
-7
5
-30
-68
5
12
-32
17
0
41
0
0
9
-164
37
-1
-13
-33
-4
0
0
0
-39
1
-137
0
-4
-7
-42
-18
7
-38
-15
0
0
-3
0
0
-97
0
0
0
0
0
0
41
2
-43
-27
0
0
0
32
0
-44
77
-13
0
6
-58
0
51
2
-4
0
-3
-72
0
-3
19
-33
0
-10
0
-22
-187
-38
0
19
10
-53
0
-2
3
13
-20
0
65
0
28
0
0
0
0
-79
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
2
0
-19
0
0
-6
0
0
-141
0
0
0
0
0
3
8
0
0
0
0
0
73
0
0
8
0
0
-52
0
0
0
22
0
0
120
6
3
0
-113
1
54
12
0
0
1
-67
0
53
14
0
0
0
-4
0
35
0
46
0
0
42
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
16
0
45
0
-2
0
0
0
16
35
0
0
-3
0
0
-14
72
0
-19
85
5
0
-57
-12
0
0
103
0
0
-19
-30
0
0
57
10
0
-12
-121
0
7
13
0
-14
0
-24
0
-26
0
0
0
0
-57
0
0
7
0
2
0
81
-4
0
0
0
-9
0
60
0
0
0
0
0
0
48
0
3
-1
0
0
6
24
0
0
2
0
0
6
-26
0
0
39
-1
0
0
-73
0
0
7
0
0
0
4
0
29
-40
10
-37
0
-80
0
0
0
0
7
0
23
0
0
0
3
0
0
-30
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
-8
0
0
0
-4
82
0
7
0
-9
0
0
-25
0
0
-13
0
0
0
32
0
0
-2
0
0
0
-16
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
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
14
0
1
0
-135
0
0
-4
0
0
-13
0
0
0
0
0
-1
20
0
0
0
0
102
-13
0
0
23
-3
0
-112
0
0
0
-20
0
0
-84
-5
0
0
-61
-10
7
-120
0
0
0
-12
0
-7
-9
1
0
0
-2
0
-4
0
0
0
0
0
0
-4
0
0
0
0
1
0
142
0
0
1
0
0
0
132
0
-121
-12
-1
0
0
0
5
73
0
0
-23
0
0
31
35
0
-102
-1
-5
0
-8
-48
0
0
75
0
0
19
30
0
0
57
-3
0
35
-92
0
0
72
0
0
0
-74
0
195
17
-6
0
0
-48
0
0
0
0
0
0
35
-3
0
0
0
0
0
74
0
0
0
0
0
0
-18
0
0
9
0
0
-1
-113
0
0
0
0
0
2
-24
0
0
-50
-3
0
-14
33
0
0
33
0
0
-4
-72
0
0
-16
-16
0
1
44
0
0
-4
0
0
0
-69
0
0
0
-5
-6
0
-27
0
0
0
6
0
0
-73
115
0
0
0
0
-1
12
0
-4
-1
0
0
0
20
0
0
1
0
0
0
-62
14
0
-17
0
0
0
31
0
0
0
0
0
0
-63
0
-33
-1
0
0
0
-6
0
0
0
0
0
0
-19
0
-13
0
0
23
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
0
0
0
0
0
-98
0
0
0
0
0
-13
-5
0
0
0
0
69
0
27
0
-2
-2
0
-109
0
-5
0
81
0
0
18
-1
4
0
38
-1
-4
-45
1
0
0
5
0
1
-10
-38
0
0
-1
-1
-17
-4
0
0
0
18
0
0
0
14
0
0
-5
-15
8
0
0
-4
0
0
0
-7
0
12
-12
9
0
0
0
-5
76
0
0
-13
0
0
13
50
0
-33
-34
-7
0
76
14
0
0
-15
0
0
-27
113
0
0
-4
-1
0
15
-121
0
0
2
0
0
0
-25
0
-19
-10
16
0
-22
-29
0
0
0
0
-1
0
-43
28
0
0
0
9
0
-43
-22
0
9
0
0
0
1
17
1
-11
0
0
-14
68
0
26
15
0
0
20
-44
0
0
-4
14
0
-12
-52
0
-2
-16
0
0
0
-109
0
-4
-1
-2
0
0
-13
0
0
-1
0
-8
0
-10
0
0
0
-6
5
0
69
0
0
0
0
0
0
-105
0
0
0
0
0
0
15
0
-8
0
0
0
0
-86
0
0
0
0
0
0
-51
0
16
-1
0
0
-3
-8
0
0
-1
-7
0
6
-51
0
4
0
0
0
0
-132
0
0
0
0
0
0
-15
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
0
0
0
0
20
0
0
0
0
0
-15
0
0
2
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-14
0
0
49
0
0
0
-23
0
0
65
-6
-2
0
-72
11
-10
-38
0
0
0
-8
0
-4
-4
0
0
0
8
0
-1
-4
0
0
0
4
0
7
0
0
0
0
0
0
16
0
0
-3
0
0
0
-19
0
41
-1
9
-9
0
0
-1
-12
0
0
2
0
0
0
20
0
0
-37
0
0
-80
-47
0
0
1
0
0
18
28
0
0
-12
0
0
2
0
0
0
-13
0
0
0
13
0
59
-3
0
0
0
-20
0
0
0
0
0
0
-46
9
12
0
0
0
0
27
0
0
0
0
0
0
13
-23
0
-2
0
0
0
-91
0
0
7
0
0
-20
-65
0
0
-28
0
0
-18
20
0
0
-95
0
0
20
-138
0
0
37
0
0
0
-56
0
0
2
0
0
0
-3
0
0
-1
0
-4
0
59
0
0
0
0
0
0
-12
23
0
0
0
0
-4
-5
0
-2
0
0
0
0
1
0
0
0
0
0
0
-69
0
0
-1
0
0
0
37
0
0
-18
-8
0
-11
-126
0
2
0
0
0
0
10
0
0
0
0
0
0
-9
0
-21
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-24
-19
0
0
-5
-26
-29
-3
-1
0
0
0
-10
0
0
0
0
-3
-45
-43
0
-2
0
0
-77
7
3
0
72
120
0
-2
-6
0
0
-11
0
0
5
-10
0
0
-24
-45
0
-37
32
-3
0
63
-3
0
-48
5
0
0
-55
21
0
66
-8
3
0
-72
-6
0
20
-1
0
0
-9
-134
-1
0
2
-9
0
0
13
0
0
27
-26
-12
-48
-8
0
67
-15
-1
1
-94
0
0
-73
72
-16
-28
52
43
0
-46
84
0
0
56
0
0
-92
-28
-2
15
-3
-96
0
-157
-44
34
-3
26
-1
0
103
-36
44
-25
-11
20
0
58
2
0
4
-12
-3
0
0
-1
-90
-26
0
-35
0
-27
39
-99
0
0
-4
0
24
6
0
-3
67
71
0
26
55
0
-24
-29
0
0
34
29
0
-10
25
33
0
-56
29
17
-4
23
48
0
-148
-1
0
-2
-8
-92
0
27
1
44
-4
11
3
0
0
35
0
108
37
57
0
0
0
-57
-10
0
0
0
13
13
-17
-1
0
21
0
-6
56
0
54
53
44
0
-5
-26
0
2
37
-5
0
-3
43
0
110
-2
0
0
20
9
0
56
19
-39
0
27
-39
-3
-1
-11
0
0
-15
1
-8
59
82
-74
0
-3
48
0
-4
10
0
0
0
19
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-141
0
0
98
0
0
-10
0
5
0
0
0
24
-3
0
0
0
0
10
15
27
0
-25
-114
-6
9
6
0
0
10
0
28
2
9
0
20
-37
59
-38
17
34
4
0
31
0
-67
1
-32
5
-14
-67
47
-51
-6
-22
0
0
-3
0
1
5
-3
-1
0
-43
-15
-148
0
0
-4
0
0
0
4
0
19
5
-4
0
0
0
-16
60
0
0
-151
-3
19
49
-22
0
76
-14
23
0
180
-48
0
0
-5
0
23
94
9
0
0
-50
-18
22
-3
-27
0
-5
16
0
0
9
30
0
-93
26
-33
0
-1
-63
0
0
-7
19
-20
0
5
-18
25
0
-67
0
0
-52
-16
0
0
-6
0
4
-8
-3
0
-5
-12
-24
-1
-94
0
29
188
0
-6
25
59
0
2
-143
53
0
0
-56
22
0
-51
11
-12
0
-130
0
7
52
-19
-35
1
0
0
11
-17
1
-98
0
-72
0
1
38
10
-78
0
60
-4
0
0
-18
-6
0
15
-1
0
0
0
0
0
76
0
12
-6
-2
0
0
9
0
4
-3
0
4
-2
103
0
-5
2
0
0
14
-74
0
-41
18
-45
-11
1
38
0
56
-6
0
0
0
-54
0
2
-37
-2
37
0
-129
-5
105
7
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
82
0
-85
0
9
5
0
0
-21
0
0
-10
0
0
-3
-9
0
0
0
0
-21
-53
-4
0
-51
-23
5
37
-23
0
-2
-51
0
0
-84
29
-2
0
-112
-26
-12
-35
-2
0
0
-85
0
-6
-3
-47
0
0
-3
-14
-10
20
0
1
10
72
0
67
0
109
0
0
0
-14
-127
0
21
-12
0
0
0
-33
0
-11
2
-37
-1
8
0
63
61
0
0
1
0
0
10
78
0
0
38
-74
0
-13
-11
2
-4
-8
0
0
73
61
-1
4
52
36
0
-74
0
0
0
16
0
-4
2
0
6
-61
61
23
12
21
-102
7
0
8
0
-2
-1
-16
-14
-7
0
-44
15
0
-8
-21
23
0
0
0
-2
3
122
-52
9
-24
0
-17
-9
-9
0
-34
-3
0
-113
-26
12
-24
120
-29
21
-59
101
0
0
-72
11
0
-11
21
18
-13
-140
-2
0
1
0
0
-5
-9
-11
-11
0
-139
0
0
-1
-13
-13
0
-40
-5
0
0
-23
0
0
-143
-2
-6
0
3
0
0
-54
18
-25
-2
0
0
-2
60
0
37
-4
4
0
-1
-33
-3
18
-8
26
0
2
40
0
9
49
-37
0
0
12
2
74
-27
0
0
20
0
0
0
-15
-51
-11
0
-129
0
61
8
0
0
0
-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
-101
0
0
-8
0
0
-15
0
0
0
0
0
-29
0
0
0
0
0
-17
-4
0
0
159
10
0
8
0
0
0
-11
0
0
69
0
0
-2
109
-75
5
-104
0
0
0
0
0
44
0
0
0
0
171
-3
-12
1
7
0
0
0
0
-1
0
0
0
0
0
0
37
0
0
3
0
0
0
-16
0
14
0
-5
41
0
0
48
-46
0
0
-17
0
0
-18
-48
0
-64
111
-1
0
18
-13
0
0
25
0
0
-2
-52
0
0
-85
17
0
-12
46
0
6
6
0
0
0
-9
0
-11
-15
0
0
0
-7
0
0
-1
0
2
0
-14
-7
8
0
3
-23
0
36
0
0
0
0
0
-28
-30
0
0
-7
0
-4
-4
46
0
0
-8
0
0
16
-3
0
34
-58
4
-2
6
-31
0
7
112
0
0
0
-37
0
0
13
-16
-20
0
-6
0
0
0
0
0
0
68
0
0
7
-18
-2
0
-13
0
0
0
0
0
0
54
0
0
0
0
0
0
14
0
1
0
0
0
0
68
0
0
0
0
0
0
75
0
0
-6
0
0
-3
52
0
0
0
0
0
0
-32
0
7
0
0
0
0
120
0
-4
0
0
0
0
40
0
-25
0
0
0
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
2
0
87
0
0
-3
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
-4
0
-80
0
0
0
71
0
2
-80
-3
2
0
-89
-9
28
-8
4
0
0
-7
0
-6
-3
-2
0
0
18
0
33
23
4
0
0
0
0
-14
0
0
0
0
0
39
1
0
0
-4
0
0
0
-15
0
54
0
0
0
0
0
-3
30
0
0
18
0
0
9
130
0
22
-65
-2
0
-9
-2
0
0
-2
0
0
-3
-96
0
0
48
-5
0
-1
-68
0
0
-9
-18
0
0
5
0
83
7
-8
0
5
-23
0
0
0
0
0
0
26
-1
-10
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
-2
0
6
15
-66
0
0
-8
0
0
-4
75
0
0
-8
-3
0
-1
-27
0
0
-4
0
0
0
2
0
0
3
-2
0
7
-59
0
0
-2
0
-2
0
41
0
-3
0
-2
-4
0
-125
0
0
0
0
0
0
-16
-3
0
0
0
0
0
0
0
-2
0
0
0
0
25
0
0
0
0
0
0
-10
0
0
-4
0
0
0
-20
0
0
1
0
0
0
-101
0
-2
0
0
0
0
-38
0
0
0
0
0
0
6
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
-31
0
0
-16
0
0
-1
0
0
0
0
0
-3
-11
0
0
0
0
86
-7
0
9
-61
-64
-33
4
-1
0
0
-7
0
0
-16
0
0
-1
-58
30
35
-39
-14
0
0
-6
0
-73
43
20
0
0
-2
-9
31
50
-3
0
0
3
70
-24
-31
15
0
0
-6
-18
-16
0
0
-102
0
0
-11
-157
0
-62
-2
-20
0
0
0
58
61
0
0
-40
0
-1
-34
0
0
69
8
-80
0
51
-32
0
1
3
0
13
-22
-13
0
0
-35
-33
0
-49
-43
10
0
-1
0
-14
10
-112
0
-50
-7
-50
-24
0
6
0
0
0
26
-6
0
15
80
16
0
-8
0
0
-23
0
0
0
0
-1
-3
76
25
-8
-3
77
14
-41
-37
0
10
35
-1
-14
14
0
-6
-5
-28
33
-14
-14
16
0
0
-11
11
25
73
-9
0
16
-3
-87
45
20
-78
-2
0
-4
-22
-18
0
26
0
0
0
47
-42
0
19
-5
0
0
0
11
0
27
0
0
0
5
0
0
32
0
49
5
0
5
0
23
0
0
44
-1
3
-23
53
0
8
11
-2
27
0
118
0
27
-10
15
15
-1
-33
0
-87
-1
1
-13
-16
32
0
9
18
-10
30
0
9
0
-50
0
0
-1
0
51
-3
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
5
-23
0
0
0
0
41
-163
0
0
96
0
158
-81
51
0
0
-10
0
-29
-86
-20
-6
0
-40
0
43
-35
-35
0
0
-24
0
4
-117
0
0
0
-72
0
-159
-57
-2
0
0
35
0
-55
0
46
0
0
-2
0
-8
0
0
-118
0
0
0
57
-4
23
-23
2
56
0
0
-71
21
0
0
36
0
0
-1
22
0
5
-44
23
0
6
-41
0
-2
47
0
18
-23
-149
0
0
-14
0
-3
-8
-12
0
0
9
11
0
62
-7
0
79
-36
2
22
-2
43
0
0
38
0
-25
0
-37
37
-48
0
0
0
0
-9
-33
0
9
0
-5
-11
0
0
17
69
0
48
64
50
0
0
-79
0
-35
70
-12
0
-1
-38
0
4
11
9
0
0
-75
10
36
61
11
5
0
8
0
-36
92
-36
0
8
158
0
-44
3
4
0
0
-12
0
-54
0
82
26
0
0
0
1
0
29
-51
0
0
0
0
-8
-32
0
3
3
0
0
19
45
0
0
-73
0
0
-50
13
0
-25
98
0
0
5
14
0
0
40
0
8
-18
54
0
-217
-38
0
0
-11
-39
0
0
69
0
5
0
14
0
33
4
0
-5
0
36
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-61
0
0
0
0
0
12
0
0
0
0
-12
-3
-97
-4
0
0
0
-43
62
0
0
-35
53
0
-22
0
0
5
-59
0
0
-49
57
0
9
-56
27
0
-19
-18
0
0
-25
0
0
73
153
3
0
-91
-19
0
-40
14
0
0
-9
0
0
0
-20
0
0
0
10
11
0
12
-4
0
0
0
0
0
57
17
-5
-42
14
0
-29
0
0
0
-105
0
0
22
79
0
66
-41
64
0
-13
76
0
4
18
0
0
32
21
0
-3
-56
109
0
62
3
0
5
-59
0
0
6
93
0
-93
-5
-35
0
0
-35
0
-1
0
0
0
0
-6
-25
49
0
-17
0
0
51
3
0
0
5
0
-7
10
0
6
7
16
0
7
50
0
34
104
0
0
97
65
2
-11
-68
-69
0
-127
-8
0
0
-22
15
0
-11
-38
-2
11
-41
-16
0
-61
-129
0
31
-44
0
0
-1
-33
0
0
-10
-12
0
0
13
0
5
0
0
0
0
68
-34
13
18
0
0
-1
35
-1
37
1
0
0
-10
-141
0
6
-33
5
0
32
75
1
-81
18
0
0
8
28
-2
-12
41
-71
0
28
-37
0
-24
11
-41
0
17
15
0
11
-30
-8
0
0
24
0
85
0
0
-1
0
11
82
8
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
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
10
24
-5
0
0
2
0
-7
45
11
-1
-21
47
-1
0
-9
3
0
0
0
0
27
0
0
0
0
4
0
0
0
0
0
0
34
0
-10
0
8
0
0
3
0
-8
0
0
-2
0
0
0
-23
0
-18
0
0
0
0
0
0
-28
0
0
-1
0
0
-6
-28
0
69
-19
-3
0
-12
-18
0
0
20
0
0
0
-6
0
0
4
0
0
0
-5
0
0
-3
0
0
0
20
0
-7
-5
0
0
0
29
0
0
0
0
0
0
-39
-13
0
0
0
0
0
9
0
0
0
0
0
7
-63
0
0
-1
0
0
10
-100
0
0
5
0
0
-1
62
0
-3
2
0
0
2
-39
0
21
-2
0
0
0
11
0
0
1
0
0
0
-87
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-13
11
0
0
0
0
0
0
-15
0
1
0
0
0
0
-5
0
0
-1
0
-7
0
5
0
-1
0
-5
0
0
4
0
0
2
0
-8
0
-9
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
-33
0
0
0
0
0
4
13
0
9
0
0
16
5
-4
0
-13
2
0
-29
0
1
0
-103
0
0
-26
0
2
-9
-90
23
-3
-14
0
0
0
23
0
19
3
-10
0
-9
42
-2
-1
-20
-5
0
0
19
0
0
1
0
-21
0
7
37
-90
0
0
13
0
0
2
-2
0
-106
-17
7
-2
0
0
30
-63
0
0
27
0
0
2
39
0
44
11
-6
0
42
69
0
-2
-30
0
0
37
42
0
0
31
-1
0
-57
-16
0
0
-38
0
0
-12
26
0
-108
1
14
0
0
0
0
0
0
0
5
0
-20
-3
54
0
-22
0
0
37
-1
0
0
0
-1
0
-30
3
0
-32
-9
0
-7
0
-16
-5
17
0
18
3
-45
0
6
-12
37
13
-2
25
0
16
-14
3
-21
-18
93
2
0
-14
-17
-12
0
-34
0
0
-1
0
-14
-10
0
0
0
0
-3
42
0
-28
-11
0
0
5
0
0
-88
-2
-14
0
3
0
0
-8
0
-1
0
0
0
0
43
0
6
-6
0
5
0
66
0
-14
-9
0
0
0
-124
0
16
12
-44
0
0
-72
0
-35
44
0
22
0
54
0
0
0
0
0
0
0
0
8
0
0
-1
0
-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
0
0
0
0
-11
0
0
0
0
0
11
-11
0
0
0
0
17
0
0
0
3
0
0
-34
0
0
0
-50
0
-3
36
10
0
0
-28
14
0
-99
0
0
0
0
0
13
1
-9
0
0
-11
0
-37
0
0
0
0
0
0
-31
0
0
0
0
0
0
34
0
0
5
0
0
0
110
0
51
0
-1
9
0
0
20
44
0
0
-9
0
0
35
23
0
-13
-16
0
0
-4
-32
0
0
35
0
0
30
9
0
0
0
0
0
-70
97
0
0
-36
0
0
8
-1
0
-57
0
0
3
0
-11
0
0
0
0
6
0
86
1
1
0
0
0
0
43
-2
0
0
0
0
0
68
0
0
27
0
0
0
-84
0
23
0
0
0
-15
-38
0
0
-28
-12
0
0
-79
0
0
48
0
0
0
65
0
0
31
0
0
20
51
0
0
0
0
-7
0
-21
0
-24
0
0
-3
0
19
0
0
0
0
7
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
38
0
0
0
0
0
0
48
0
0
-4
0
0
10
41
0
0
0
0
0
0
-50
0
0
0
0
0
0
-43
0
0
0
0
0
0
-12
0
15
0
0
12
0
-24
5
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
-2
7
-4
-1
5
-3
9
160
-3
24
-22
56
13
12
8
17
-186
22
3
-13
46
1
-42
-8
-19
-16
-24
-29
-11
-12
67
-93
2
-8
3
-7
83
68
194
29
55
9
-40
19
24
-61
-2
-2
5
-67
-76
1
-77
-11
-24
-16
-106
-32
-57
-19
-3
19
14
-16
63
-29
-27
-43
-6
-23
-24
-6
-19
-53
6
-21
-73
40
-7
46
-55
18
-79
49
-35
-8
-96
-6
12
-1
55
6
-19
5
29
1
26
-21
-41
-1
63
-9
3
-15
-9
-7
-4
20
-90
1
-26
-74
-51
2
107
-147
7
-4
-38
71
-16
-81
57
13
105
-78
30
2
-22
-21
-67
-74
-5
56
2
-69
-4
-24
63
78
5
5
-43
-18
-10
56
-56
-2
-4
-34
5
-2
0
-81
18
-6
39
7
2
-11
-39
-18
4
56
-29
18
-61
10
-46
-1
-94
53
-9
4
-76
-26
-4
-49
-37
-43
10
-3
26
1
-85
-53
-30
-8
-19
-75
9
-145
-20
5
-66
9
-67
35
113
-18
42
-35
-15
3
-7
21
0
102
23
-5
17
7
24
2
4
11
-90
2
1
-44
15
-43
-23
20
49
-2
-52
-86
-42
12
22
-9
-2
102
10
-17
28
54
-41
11
26
-98
-14
-49
32
-30
0
47
-121
-52
38
-59
31
-9
3
-23
-5
-48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-8
0
61
0
0
0
-47
0
1
22
0
1
0
8
-1
0
-43
0
0
0
0
0
0
-3
-6
0
0
0
0
1
0
0
0
0
3
0
-1
0
2
0
0
0
0
-3
0
0
-3
0
0
0
0
0
-26
-2
0
-2
-10
0
-19
59
0
0
0
0
0
1
-48
0
51
-17
0
0
27
-76
0
0
1
0
0
2
11
0
0
2
0
0
-1
-111
0
0
-1
0
0
0
15
0
88
0
0
0
0
33
0
0
0
0
0
0
-19
0
-10
0
0
5
0
-55
0
0
0
0
0
0
12
0
0
1
0
0
0
-34
0
0
-4
0
0
6
-18
0
-5
18
-1
0
13
5
0
0
-2
0
0
0
5
0
0
0
6
0
0
-89
0
0
1
0
0
0
-28
0
5
0
0
9
0
-77
19
0
0
-1
0
0
46
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
-7
0
-12
0
-13
0
0
0
0
-1
0
0
0
0
0
5
-19
0
-11
0
0
0
5
-5
0
0
0
0
0
0
-27
0
-17
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
60
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
-12
0
0
0
15
0
0
10
24
0
0
-25
0
-1
-78
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
-60
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-39
0
0
0
0
0
1
-29
0
-6
-7
0
0
14
-1
0
0
-1
0
0
4
-42
0
0
-1
0
0
0
-8
0
0
1
0
0
0
2
0
-18
0
0
0
0
-7
0
0
0
0
0
0
-52
-1
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
20
0
0
0
-84
0
0
-1
0
0
0
-80
0
0
-3
0
0
0
17
0
0
-46
0
0
0
-63
0
0
1
0
0
0
-69
0
0
-1
0
2
0
-15
0
0
0
0
18
0
5
0
0
0
0
1
0
-8
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
-4
0
0
0
0
0
0
33
0
-1
0
0
0
0
5
0
0
0
0
0
0
52
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
3
3
0
0
15
0
-1
-35
6
-4
-3
-1
0
-91
-43
-4
-9
30
-17
0
22
-30
0
0
-76
0
0
29
-7
8
-6
-58
-29
0
19
70
0
28
-33
-5
0
79
-27
0
-9
-20
-7
0
127
7
24
-3
-51
28
0
-7
-108
10
-1
-3
103
0
-1
-41
13
0
0
-30
0
-6
20
-92
-35
7
13
0
69
-23
0
13
-22
0
0
-45
79
-11
23
-6
-64
7
54
54
-27
19
31
32
0
19
-3
0
14
11
13
0
-70
-29
-1
60
53
-11
0
44
-15
106
-37
-39
-30
0
-4
-87
17
17
74
-8
0
-2
-45
-184
-2
0
20
0
-10
18
-5
-10
29
-8
0
73
-9
47
41
-37
-5
0
-15
32
-10
59
32
-20
0
53
28
76
42
21
-3
0
-17
-7
39
-67
38
17
0
34
-4
31
-7
13
-12
0
68
-4
0
40
29
25
0
0
-39
36
-57
42
36
0
-2
-32
-19
168
-2
7
0
6
21
-73
10
-11
-25
0
-9
5
-14
-46
60
9
0
-47
8
0
-39
21
-19
-12
40
70
-33
28
-71
44
0
-17
17
13
-37
2
75
0
-33
3
35
16
29
57
0
4
14
-37
34
88
-62
0
13
-17
-8
22
54
-4
-7
-2
-14
27
51
-3
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
-1
0
0
0
-4
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
-3
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-4
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
-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
2
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
-1
0
0
0
28
0
0
-10
0
0
0
13
-5
0
16
0
0
0
-8
0
0
3
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
-81
0
0
0
0
0
0
-48
0
0
1
0
0
0
-25
0
-8
15
0
0
-3
-23
0
0
-5
0
0
-7
35
0
0
-2
0
0
0
14
0
0
-8
0
0
0
-2
0
-5
0
0
0
0
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
22
0
0
0
0
0
0
-42
0
0
0
0
0
0
-66
0
0
-3
0
0
0
-49
0
0
-2
0
0
0
9
0
0
15
0
0
0
2
0
0
-3
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
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
-7
0
0
17
0
1
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-2
-76
24
15
-29
37
-72
-19
56
-6
3
15
2
-36
9
-41
-13
-17
-20
1
-12
54
19
-23
4
-45
-3
-58
31
-21
-27
35
-11
10
-3
-9
18
-11
15
0
-10
-20
-91
-116
-3
-72
-9
-121
-96
-35
-20
-15
3
4
-25
-73
-70
-51
-82
2
-4
-31
1
36
5
-9
37
-73
-4
0
-68
59
4
70
-68
7
2
73
-16
13
-4
-63
4
-6
41
-73
-11
32
16
18
-4
43
-96
0
-6
-34
8
-6
-11
-4
-11
-38
-46
13
-3
-11
-5
-21
1
-34
-83
-12
59
-21
-25
-28
-38
9
-8
154
41
-70
-15
-7
61
7
-12
-108
71
-170
-105
11
-3
-52
-80
11
1
-2
-33
1
-40
-49
8
43
-27
-31
-1
39
6
15
-15
9
-50
-12
26
-15
-3
-25
10
-62
-2
78
40
7
-2
40
9
-2
76
-11
-17
-30
-6
-19
-16
41
-83
-11
-16
18
-153
-5
10
-13
-56
-4
-31
10
-11
-92
-149
8
31
-126
14
-11
-14
-16
-14
-27
-27
10
-5
22
-93
16
17
36
-28
7
5
-13
-6
-78
-52
2
-15
-68
15
-4
-1
-14
-9
-5
-12
-7
-41
25
-17
-73
-4
-46
15
-18
-20
-27
-5
4
47
-9
-16
-49
-14
-10
-5
77
-20
-74
-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
21
0
0
0
-2
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
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-2
3
0
0
-6
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
0
0
0
0
0
0
-1
19
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
36
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
-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
-3
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
-89
0
0
0
3
0
0
48
0
0
0
0
0
0
4
6
0
0
20
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
36
0
0
0
0
0
0
-3
0
0
0
0
0
12
37
0
3
-5
0
0
-1
13
0
0
5
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
2
0
0
0
6
0
0
0
0
0
0
-10
-1
0
0
0
0
0
53
0
0
0
0
0
0
53
0
0
0
0
0
0
-26
0
-16
-1
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
42
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
15
0
0
0
0
0
0
5
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
-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
-2
0
0
0
0
0
0
0
0
-6
0
0
-22
0
0
0
-37
0
0
-8
0
0
0
36
0
0
-61
0
0
0
0
0
0
0
0
0
0
-33
0
14
0
0
0
0
-9
0
-27
0
0
0
0
0
0
0
0
0
82
0
0
0
-26
0
-39
0
0
0
0
0
-20
28
0
0
-33
0
0
44
-60
0
15
-73
0
0
158
-167
0
0
-4
0
0
7
-102
0
0
56
0
0
11
30
0
0
3
0
0
0
0
0
-19
0
0
-4
0
24
0
0
0
0
0
0
0
-26
0
0
0
0
0
55
0
0
0
0
0
0
-6
0
1
9
0
0
-2
-38
0
0
0
0
0
0
-11
0
0
24
0
0
-2
39
0
0
2
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
-26
0
0
0
0
0
0
21
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
-2
0
0
0
0
0
0
-20
0
7
0
0
0
0
13
0
0
0
0
0
0
-4
0
37
-4
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
11
0
0
0
0
-39
-1
0
0
84
24
0
-12
0
0
0
7
0
0
91
-6
13
1
-20
35
0
-4
0
0
0
33
0
0
11
0
0
0
-26
0
0
47
-2
0
0
38
0
0
0
0
0
0
0
0
0
0
39
41
0
0
0
0
2
35
7
1
0
4
0
54
25
0
0
49
0
0
-58
-86
-7
-34
5
-10
0
-50
48
0
0
64
3
0
4
0
0
18
7
-13
0
-18
-47
0
0
-46
0
0
-3
-47
0
-25
4
-28
0
0
31
0
0
0
0
0
0
37
-10
0
0
0
0
0
19
0
0
-2
0
0
0
53
0
0
-6
0
0
0
10
0
-2
71
0
0
2
18
0
0
65
40
0
-1
-46
1
8
-43
8
0
-14
-30
0
0
-27
118
0
-17
-58
0
0
17
0
0
0
18
0
15
-28
-5
0
0
99
-18
6
0
0
0
0
37
0
-3
0
0
0
0
-13
0
5
0
0
0
0
35
-1
0
-50
-8
0
0
-6
0
-2
40
0
0
20
30
15
15
24
-17
0
0
-23
0
-1
0
7
0
0
-58
0
0
-39
-4
0
0
28
0
24
0
0
0
0
-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
2
0
-5
0
-4
0
0
-123
-20
0
0
3
0
-11
-150
8
0
0
31
2
-2
52
0
0
0
-1
0
-1
0
0
0
0
-31
-5
-7
0
-7
0
0
2
0
59
0
0
0
0
0
0
35
0
0
-4
0
0
0
1
0
33
3
-13
0
0
0
1
-9
0
0
-41
0
0
-18
-43
0
17
-62
-7
0
-1
81
0
0
-71
0
0
-9
-53
0
0
4
3
0
-18
78
0
0
-3
0
0
0
-5
0
-121
0
6
0
0
-32
0
0
0
0
0
0
7
1
0
0
0
0
0
-103
0
0
0
0
0
0
-15
0
-1
-2
-39
0
13
-71
0
0
-16
0
0
0
-131
12
0
-5
-6
0
-2
-35
0
0
48
0
0
0
-17
0
13
-9
-7
0
0
-37
0
0
0
0
0
0
24
0
0
-4
-6
26
0
-1
0
0
0
0
0
0
58
-5
0
0
0
0
0
-4
5
-4
0
0
0
0
-19
0
2
-17
0
0
0
14
0
45
45
5
0
0
-8
0
0
-5
0
0
0
1
0
13
0
0
0
0
51
0
0
8
0
0
0
42
0
30
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-20
0
45
-78
-22
-8
10
9
0
61
0
-30
116
34
-9
-3
48
58
43
46
28
-5
15
-20
0
-8
-2
-31
0
0
48
21
23
-86
2
0
0
-15
0
-51
0
-62
0
0
0
-53
21
0
0
44
0
0
6
148
0
0
-19
161
0
0
0
-84
-37
0
0
-103
0
0
77
-19
0
-54
22
5
0
37
-3
18
-12
0
-12
30
34
-2
0
2
-6
-1
13
36
-30
0
0
28
0
-17
20
24
0
11
-11
-73
-26
-13
-6
-6
6
-5
0
-44
0
17
-62
8
0
-71
18
-1
0
14
6
0
0
0
-45
-32
-60
51
-55
91
0
-105
26
0
-23
-48
0
-7
86
6
0
-3
25
74
9
44
-26
4
-14
53
36
1
-21
-26
0
-1
-9
-38
-29
56
-45
0
-9
-43
-11
34
0
20
13
-25
-26
-54
75
0
-15
-32
1
0
0
-3
-8
0
-17
1
-2
-7
4
2
20
0
-48
15
-6
0
-34
-16
-1
6
17
14
0
10
-40
0
-14
97
17
10
35
-39
0
65
-17
22
0
-9
-34
0
66
14
-5
6
0
120
-7
-4
42
-11
-17
0
-8
0
44
3
0
3
0
-41
6
-105
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
22
66
-77
-23
0
2
0
-12
2
4
-12
111
102
-34
2
55
-28
-47
9
-41
-1
-3
64
1
-26
-21
-86
8
21
5
-44
-32
-63
-14
0
0
-46
4
-123
0
6
0
0
2
-99
-11
0
-3
-72
0
0
-3
13
12
-90
0
71
82
13
0
27
5
-1
8
21
2
-3
-85
-20
-2
-59
-23
-15
0
-10
-18
52
46
-37
-2
-27
127
-67
-12
-36
-41
13
-8
-47
-21
0
9
-58
-15
-7
39
-20
0
-18
-68
-83
21
-2
-13
0
6
-5
-4
-57
0
8
41
14
0
-22
0
0
-78
0
-2
25
0
8
80
19
38
28
10
92
-12
24
-8
13
34
71
-2
-30
-55
-35
0
-25
-38
57
52
29
-3
0
1
-5
32
-15
10
22
2
5
-34
85
3
86
34
0
-8
-43
-10
-30
8
14
0
46
-60
47
-8
0
-17
-52
-3
0
-2
3
18
104
20
16
0
-18
5
-2
86
-9
40
14
0
0
22
21
0
-29
-8
10
-10
13
-31
0
-182
81
-12
-17
-19
-56
5
1
-64
7
-19
-103
110
0
-20
-20
-22
-21
-1
-8
0
13
26
17
-22
-4
-2
16
6
8
3
-33
0
-46
-55
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
31
0
0
0
-48
0
-5
-17
0
0
0
23
-2
0
-55
0
0
0
-1
0
-2
-2
0
0
0
-1
0
2
0
0
0
0
0
0
11
0
0
0
0
0
0
-61
0
0
12
0
0
0
-1
0
-16
2
-5
0
0
0
1
-111
0
0
-1
0
0
-2
-22
0
-74
-39
-1
0
-79
-18
0
0
-3
0
0
-2
-99
0
0
-2
-1
0
-1
39
0
0
-2
0
26
0
-5
0
48
0
-3
0
0
9
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-27
0
0
0
0
0
0
46
0
0
-1
0
0
-1
-6
0
0
-1
0
0
0
-70
0
0
-2
0
7
0
-18
0
0
-4
0
0
0
-54
0
0
11
0
-18
0
-3
0
0
-1
0
-15
0
23
0
0
0
0
-1
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
-1
-1
0
-5
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-64
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
29
25
0
-48
25
0
0
-20
0
0
66
-4
0
0
94
29
-8
92
0
0
0
-1
0
18
3
18
0
0
-23
1
33
0
0
0
0
-2
0
43
0
-1
0
0
0
-1
-78
0
0
19
0
0
0
-7
0
-10
0
-7
0
0
0
-6
-109
0
0
-1
0
0
-114
-110
0
-39
-16
-1
0
-29
-67
0
0
-78
0
0
38
-27
0
0
106
19
5
7
34
0
5
-22
0
10
0
-116
0
24
39
6
0
0
4
0
0
0
0
51
0
84
3
8
0
-5
0
0
71
21
0
0
0
0
0
-284
0
0
-3
-11
0
29
-40
0
0
-1
0
0
24
-26
0
1
-43
1
0
-52
13
0
0
56
0
0
10
-25
0
-9
-44
-6
19
0
-24
0
0
-21
0
-5
0
-68
0
0
-1
-24
-2
0
42
0
0
0
0
0
0
-91
-17
0
0
0
0
0
37
0
-2
0
0
0
0
-73
0
0
0
-3
0
0
-94
0
0
-2
0
0
0
-4
0
0
-34
-34
0
0
98
0
-2
13
0
0
0
45
0
0
0
6
6
0
10
0
-8
0
0
-17
0
40
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
-35
0
0
0
53
0
0
9
2
0
0
-6
0
7
-87
0
0
0
-2
0
0
12
3
0
0
-12
0
-1
-11
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
2
0
0
0
-1
0
-77
0
0
0
0
0
-1
-103
0
0
-1
0
0
-2
-66
0
-42
-38
0
0
1
19
0
0
-5
0
0
10
-81
0
0
-6
0
0
1
-24
0
0
-4
0
0
10
2
0
-126
-1
0
0
0
102
0
0
0
0
13
0
-24
-8
0
0
0
0
0
-118
0
0
0
0
0
0
-35
0
0
0
26
0
0
-147
0
0
-4
0
0
0
146
0
0
0
0
0
0
-79
0
0
-82
0
0
0
51
0
0
-11
0
0
0
-53
0
0
-2
0
0
0
-75
0
0
0
0
-5
0
13
0
0
0
0
0
0
11
0
0
0
0
0
0
16
0
0
0
0
0
0
-17
0
0
0
1
0
0
-90
0
0
0
0
0
0
40
0
0
8
0
0
0
-52
0
-3
-1
0
0
0
12
0
0
0
0
0
0
-1
0
7
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
-24
0
0
0
60
0
0
32
41
0
5
1
-3
0
-19
9
0
0
3
0
0
0
0
0
0
-5
0
0
-3
3
0
0
0
0
0
0
0
0
0
16
0
-22
0
0
0
0
0
0
0
0
-106
-13
0
0
0
0
19
74
0
0
52
0
0
-2
-25
0
49
14
-2
0
-61
-86
0
0
-11
0
0
13
4
0
0
18
0
0
25
-8
0
0
-59
0
0
0
63
0
62
0
23
0
0
47
0
0
0
0
0
0
-16
3
-4
0
0
0
0
-42
0
0
0
0
0
11
57
0
1
35
6
0
5
11
0
0
130
0
-1
-1
-91
0
16
93
0
0
-2
74
0
5
70
-1
0
6
-115
0
0
25
-4
0
0
37
0
0
-2
0
0
0
-32
0
0
0
-19
0
0
5
0
0
0
0
0
0
-69
-5
0
0
0
0
0
-14
0
-16
-7
0
0
0
-24
0
0
3
0
0
0
93
0
-23
4
1
0
0
-29
0
0
3
-15
0
0
47
0
-4
-106
11
0
0
32
0
0
1
12
0
0
39
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
-84
17
-19
-6
-9
-9
50
62
62
33
-28
88
-3
-67
14
123
1
7
51
-7
7
103
20
0
0
106
44
45
-65
26
0
-5
18
-25
11
2
95
-7
0
27
95
29
0
-5
-95
0
-1
-4
2
0
-37
-1
40
-5
24
0
-24
28
7
2
-22
29
0
-3
53
-2
56
-93
-88
-15
-6
21
3
8
51
20
19
-49
28
4
-63
88
109
-6
-46
11
18
12
-34
-12
16
54
-23
0
-22
4
59
-21
1
-96
-50
-3
-3
7
49
0
11
-13
-97
0
70
63
0
-22
87
56
-20
72
0
25
61
-6
3
-161
19
0
-9
-33
13
-7
-41
38
-19
-1
57
29
55
-15
58
-122
85
-12
-17
40
5
-36
131
25
7
1
-44
-7
36
18
-9
-19
13
70
19
-10
-73
-7
-78
0
-7
-57
48
-37
0
-51
78
64
0
0
58
14
-53
-1
-2
-4
-53
-1
-9
-40
-7
-13
87
0
0
-5
-65
3
-37
21
-18
-11
-16
49
2
-36
-33
-7
-88
4
21
-6
-14
37
19
11
50
-18
-16
30
4
-11
-77
8
10
-4
-15
-59
18
41
0
0
0
-8
-52
0
109
0
14
9
35
33
-17
-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
-23
-6
6
-10
9
-15
79
128
118
9
0
129
30
196
86
69
-5
0
8
-3
-120
-26
20
0
0
2
-40
44
-104
-25
2
0
53
0
-21
-3
-29
0
0
-17
-68
23
0
-13
53
0
0
0
-12
0
22
-26
66
-13
-1
0
-7
0
1
-2
99
0
0
47
7
-10
-70
-35
-46
0
53
-7
5
2
-7
12
9
67
-5
23
0
35
71
52
30
63
-14
3
52
13
-102
24
-25
-3
-16
-43
-24
-45
-1
-9
3
-1
-13
6
63
4
-44
103
-5
0
-187
-25
-3
0
54
-7
8
-1
0
23
0
0
31
-6
29
-9
-51
-24
-13
17
-47
-17
9
79
-31
-13
101
0
-16
-14
19
-40
-18
-43
19
34
-24
108
1
0
119
34
41
15
0
-7
0
-16
-13
6
-101
6
0
0
-4
33
-12
-71
0
13
-51
-4
0
0
-32
0
16
15
0
-2
2
0
32
0
2
-11
-29
33
0
4
-41
3
-56
-83
94
0
-13
-17
12
-10
-64
1
0
-59
-43
10
6
12
117
30
-39
-17
0
49
10
-2
56
-26
-65
0
17
32
-48
-1
0
-14
0
-45
0
0
-97
0
-1
-9
-19
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
-139
0
0
0
28
0
0
216
31
-18
0
20
-16
1
25
11
0
0
68
0
-17
85
-12
0
0
15
9
0
60
0
0
0
0
0
0
0
-5
0
0
0
-5
-9
0
0
0
0
0
0
-13
0
-18
-13
-7
0
0
0
0
-97
0
0
-55
0
0
-16
-89
0
-63
-72
0
0
-34
42
0
0
71
0
0
-5
14
0
0
96
-5
0
110
57
0
0
118
0
1
-3
90
0
55
0
-11
0
0
-60
0
0
0
0
0
0
35
-9
-1
0
18
0
0
4
-15
-6
0
0
0
0
-71
29
6
-7
0
5
-10
51
0
21
-13
0
-16
-9
-31
0
0
33
0
0
0
94
0
-29
-25
0
0
-18
-40
0
0
0
18
16
0
-14
5
0
3
0
-32
0
65
0
0
0
11
47
0
-13
-3
0
0
1
0
0
5
-9
0
0
0
0
0
-4
0
4
0
0
0
0
36
0
-13
0
0
0
5
69
0
0
0
0
0
11
53
0
-12
1
0
0
0
-156
0
1
0
0
0
0
93
0
0
7
0
0
0
-121
0
10
0
0
0
0
47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
-86
32
0
0
135
-12
-2
-116
0
0
0
18
0
-9
-1
0
0
0
-6
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
23
-9
0
0
-14
0
0
0
-4
0
23
-12
0
-6
0
0
-11
-3
0
0
-4
0
0
5
-43
0
-2
69
51
0
-14
53
0
0
-2
0
0
-2
-35
0
0
-18
-6
0
6
-33
0
0
-7
0
0
0
36
0
51
0
29
0
0
65
0
0
0
0
0
0
15
-6
0
0
0
0
0
-117
-2
0
7
0
0
0
-44
0
0
-19
-2
0
7
-105
3
0
-11
0
0
0
-191
0
0
44
-2
0
17
-106
0
0
-51
0
0
3
23
0
0
-2
7
0
0
86
0
0
-7
0
0
0
-6
0
0
0
-5
15
0
-28
0
0
0
0
0
0
-13
-6
0
0
0
0
0
-28
0
-19
0
0
0
0
-45
0
0
0
0
0
0
-13
0
-7
21
0
0
-10
-16
0
0
-9
-1
0
0
32
0
-4
15
0
0
0
17
0
0
0
0
0
0
121
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
4
61
0
0
114
17
-35
25
95
91
-63
104
133
-9
-14
84
-43
-26
85
23
20
-3
44
-4
0
29
74
35
-85
-44
-1
11
-41
-33
6
-4
-13
16
-1
53
-9
12
-1
-17
-2
-2
-1
45
14
-2
15
54
16
13
-17
0
-58
-33
1
-12
-82
1
6
-127
-52
-2
4
17
-35
-7
24
-1
148
-13
100
-50
-10
12
11
-10
-7
69
134
47
-67
29
-3
-14
45
-49
71
-63
-9
51
-1
29
84
-58
37
-27
-46
4
-44
15
18
-1
1
3
-24
-2
24
4
-2
-9
26
-2
-15
61
-2
-15
59
-11
-116
-37
-53
-61
-119
16
1
5
-97
-41
-40
-46
11
53
-81
-48
91
-51
-1
18
-35
-19
3
9
6
40
19
-25
-20
7
60
56
-119
29
25
59
67
135
-40
-35
-1
59
44
-12
39
60
-1
13
-117
15
5
143
0
5
29
8
19
-4
-72
-10
63
16
0
65
-73
36
39
-43
-8
-5
-1
85
-17
-27
1
12
-42
-30
-26
-35
39
-124
-7
10
22
49
92
-54
29
38
-6
-14
25
40
64
37
-4
48
-7
-7
63
-3
-17
2
31
-35
55
30
13
-1
26
-16
27
49
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
30
-2
0
0
83
3
-25
-17
87
6
119
5
0
-88
-69
8
0
8
-36
0
13
-88
-7
0
0
1
-6
55
-5
17
0
0
23
0
49
-4
-118
0
0
-16
0
-9
0
-7
-39
0
-1
0
-54
12
6
174
-86
58
0
0
-14
-4
2
0
114
0
-8
15
-46
0
-43
-93
0
0
45
-61
8
-7
63
34
15
-63
-16
0
-2
11
0
38
40
-15
0
-12
21
0
13
-18
-19
0
38
-78
0
80
34
-49
0
-5
105
0
11
0
21
-56
14
0
0
-2
5
13
4
0
75
0
0
-101
-46
24
1
-37
7
38
-40
12
0
11
89
2
4
86
-149
0
-11
-63
-7
53
64
-16
0
26
33
-13
4
63
-2
0
39
27
74
90
-27
-18
4
68
80
-21
-17
18
-55
0
-24
78
0
-1
2
4
0
0
1
0
71
0
30
123
0
-9
-1
0
-6
-85
0
-18
-46
0
2
11
-10
0
-1
8
27
13
71
-32
-11
-33
120
0
1
-51
-41
0
39
0
14
75
80
-8
0
48
92
33
-1
69
-3
4
-29
38
0
54
-21
-42
0
81
44
0
131
0
0
-63
-12
-59
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
-152
12
5
0
6
-4
0
-21
8
86
0
76
33
0
20
-13
0
0
-24
0
0
-137
66
2
0
47
-15
0
-27
0
0
0
46
2
0
10
-10
0
0
-43
22
-14
0
0
-5
0
0
40
0
0
-116
108
-9
66
0
0
-58
1
0
0
-72
0
0
52
15
0
-41
140
-71
0
107
-15
0
0
20
0
0
89
36
52
0
47
8
0
-88
13
0
0
3
0
0
44
23
-5
-18
28
35
0
3
36
0
0
0
-55
0
6
7
0
2
0
-12
0
2
-56
-6
0
0
0
0
149
-17
5
0
7
-15
0
-15
37
-1
-10
113
0
0
123
-10
0
19
82
6
0
43
11
26
0
44
-25
0
46
31
0
0
-19
10
0
20
-47
0
0
-14
-2
0
0
20
0
4
8
-18
0
3
-24
0
0
2
0
0
-4
-43
27
0
0
4
0
-2
25
0
37
55
0
0
5
-22
2
-7
115
-16
0
10
37
-5
-17
140
-2
0
28
25
-8
-16
45
63
0
-53
75
6
169
-12
5
0
-32
-5
0
-19
10
77
0
0
44
0
-18
0
0
0
8
14
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
-8
-38
-112
5
7
-8
4
-4
-38
58
-107
-20
-22
30
29
4
45
15
-3
16
-9
-35
-3
23
13
32
-119
22
-4
-63
-5
-1
-13
15
-2
19
-57
-34
2
-90
-63
-1
-69
16
-32
18
-18
66
-88
6
19
-52
49
-9
-62
-47
33
31
101
33
1
37
68
4
16
17
-55
-6
-29
76
5
-5
-2
11
2
1
22
-13
8
54
101
-8
-21
31
-54
9
64
-4
-10
6
-21
4
8
75
-31
55
-10
34
-19
14
-12
5
-37
60
36
-43
21
49
-47
0
18
-8
31
-6
-66
-59
-28
-6
78
99
2
111
8
18
-41
8
45
-6
43
27
-9
24
-23
67
-11
-27
54
5
59
26
-23
11
68
-18
10
2
63
-41
-5
113
31
9
-38
10
-50
-9
28
8
2
12
16
89
-8
-30
-35
18
-85
29
-11
-20
8
-74
-5
27
-31
-4
-24
-5
-30
71
40
94
1
-38
75
-8
17
41
-58
39
-9
19
12
17
28
-24
-52
-26
-97
12
35
42
27
-35
-13
79
23
13
-17
-15
24
-14
61
14
-8
17
22
19
-4
16
-7
84
21
-9
155
5
-36
-12
-31
119
-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
26
-97
-1
7
140
38
-8
-24
68
0
-10
-26
6
34
-6
4
0
-11
130
2
-5
66
-31
0
0
-8
0
17
0
-10
0
0
8
21
-57
0
0
38
0
0
0
-40
1
-31
61
106
26
-15
0
38
-35
0
0
111
0
20
-67
0
0
1
34
-53
0
-60
-11
3
7
-69
0
4
118
0
0
0
195
8
0
-15
6
0
0
26
-1
6
10
103
0
-83
-2
-133
0
0
32
0
0
-13
-1
14
2
38
69
19
0
3
0
0
37
-1
-2
-6
0
0
21
10
-28
0
97
4
0
-49
0
0
0
39
0
0
128
60
3
13
-54
-11
2
-36
-44
0
9
49
1
0
-51
8
0
-2
-58
-7
2
0
7
0
4
65
-6
-6
0
17
0
0
15
-3
104
0
-12
6
0
0
0
0
0
61
-3
13
0
2
0
-14
-4
0
75
40
0
0
0
0
-9
4
-15
-29
0
3
-23
0
-11
-6
0
0
-2
34
0
34
13
6
0
0
-46
0
-3
-27
-33
0
-2
-26
0
0
17
-8
6
0
43
0
-57
-4
0
1
0
58
21
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
10
0
0
-20
-4
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
15
0
0
-1
0
0
0
-1
-1
-82
0
18
0
0
0
1
-72
0
0
9
0
0
14
3
0
3
10
-1
0
82
-41
0
0
13
0
0
-18
-19
0
0
-5
0
0
3
-32
0
0
0
0
0
0
-4
0
-20
0
0
0
0
72
0
0
0
0
0
0
-33
0
0
0
0
0
0
41
0
0
0
0
0
0
-49
0
0
14
0
0
0
22
0
0
-8
0
0
2
-22
0
4
-4
0
0
0
66
0
16
-11
0
0
0
29
0
0
0
7
0
0
-1
0
0
0
0
3
0
18
0
0
0
0
0
0
49
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
95
0
0
0
0
0
0
-6
0
6
0
0
0
0
-2
0
0
11
4
0
0
96
0
15
0
0
0
0
-6
0
0
0
0
0
0
80
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-9
7
0
-24
0
0
0
-6
0
0
0
6
0
0
89
0
-13
2
0
0
0
0
0
0
8
-6
0
0
0
0
166
0
0
0
0
0
0
0
0
-12
6
0
0
0
0
1
-171
2
0
-6
0
0
-8
-6
0
-6
92
-4
0
-29
21
0
0
9
-1
0
1
-60
0
0
0
0
0
9
-28
0
0
0
0
0
0
19
0
125
-3
3
0
0
-53
0
0
0
0
-5
0
-38
2
4
0
0
0
0
-6
0
0
0
0
0
7
-75
0
0
-13
0
0
3
-4
0
0
10
0
0
10
-16
-1
0
-9
0
0
-4
82
0
-8
1
0
0
0
-31
0
0
0
0
0
0
-124
0
0
1
0
0
0
-77
0
0
19
0
0
0
47
0
0
0
0
0
0
26
0
0
0
0
0
0
3
1
-11
0
0
0
0
38
0
0
0
-1
0
0
62
0
-3
0
19
0
0
-14
0
0
7
0
0
0
8
0
1
-11
0
0
0
16
0
0
0
-1
0
0
-74
0
-47
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
50
-40
29
101
-20
35
17
-26
151
-109
19
1
-7
1
-45
-43
-38
-3
7
-18
-3
-73
9
25
-5
13
-37
-11
7
20
-4
-18
1
-57
-15
-164
-8
-26
-21
-113
-58
-122
10
-53
-59
-36
93
6
44
-5
-114
-10
29
-29
-57
68
32
-7
-35
13
-25
35
-4
-1
-14
47
20
28
57
47
-14
107
-6
35
-7
-16
20
-31
-103
-70
-6
-29
-52
-48
-30
-55
1
22
-5
55
-75
-10
7
6
47
222
16
-1
19
40
50
-4
-7
-23
13
4
40
61
-11
-28
-131
-138
-30
-4
-111
44
56
62
82
15
-22
29
42
-18
-5
43
-15
1
-20
7
41
24
42
-9
1
-23
-21
-16
20
-13
-4
-74
-17
29
21
-4
-91
-15
47
-28
-20
-111
7
-17
-11
-39
-88
-5
-8
0
0
-9
9
-55
73
-38
-8
53
15
20
-46
-40
-2
24
-22
-35
-62
68
7
38
-59
50
4
-81
84
-92
-16
-17
17
8
-22
-85
-6
63
-66
-25
3
29
-5
65
4
7
-95
2
23
38
-1
123
-12
-30
-15
6
23
-16
18
14
11
-10
20
12
78
128
-30
-32
-3
24
-54
-13
141
-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
48
0
1
97
0
0
-54
1
0
0
30
0
-2
-4
-10
0
0
26
0
-24
6
-3
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
13
0
0
0
-13
0
23
-14
-4
0
0
0
-58
125
0
0
23
0
0
12
27
0
-52
54
0
0
41
-13
0
0
27
0
0
-82
37
0
0
5
0
0
-53
-31
0
0
0
0
0
0
-28
0
90
5
-3
0
0
-22
0
0
0
0
2
0
12
8
-21
0
0
0
0
39
-17
0
0
0
0
22
20
0
3
12
2
-3
11
-65
0
0
2
0
0
12
11
0
0
41
0
0
-13
-50
0
0
-3
0
13
14
-39
0
0
-25
0
0
-9
-63
0
0
7
0
1
0
-3
0
0
0
3
58
0
-7
0
0
-11
0
0
0
-43
0
0
1
0
0
-15
-10
0
-41
-1
0
0
27
-54
0
0
10
0
0
0
-62
0
0
7
0
0
0
-32
0
0
-28
0
0
12
-85
0
-73
20
0
0
0
-38
0
0
28
0
0
0
-12
0
34
60
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-27
84
21
0
-86
11
0
0
-10
0
0
-61
0
0
-13
-27
0
13
108
1
0
0
-4
0
0
11
0
0
0
0
-32
0
0
0
-51
0
0
0
0
0
-34
5
7
-10
-16
0
40
20
0
0
88
0
0
-9
-121
0
31
37
-12
0
6
-44
2
0
-106
-14
0
21
-35
0
0
10
54
0
56
-65
0
0
65
0
0
1
201
0
23
-78
-13
0
0
-13
0
0
-17
0
0
0
-66
45
105
0
0
0
1
5
10
0
5
5
0
-7
-5
0
10
-127
33
0
109
-41
0
0
-78
4
0
-9
67
0
17
135
26
0
-52
-3
0
14
126
-3
0
27
-49
0
19
119
80
-3
-63
48
0
-19
18
0
0
0
-86
0
51
109
33
0
0
-77
0
0
8
0
0
0
32
-17
0
0
-3
0
-1
-68
0
11
22
0
0
-14
73
0
0
24
-90
0
-9
76
0
99
-91
0
0
4
32
0
-13
21
28
0
0
-38
6
5
51
-13
0
7
10
0
3
5
-58
0
0
19
0
-8
-4
5
0
5
80
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
52
53
6
87
-118
42
41
-18
-20
-41
-41
1
-46
52
38
45
26
11
-70
-7
36
-33
1
70
-87
-45
2
0
-82
-50
-6
-8
48
12
191
22
33
0
46
47
-2
-9
-4
-134
93
-26
35
-38
37
-30
83
30
3
-2
18
4
37
19
40
60
-30
-19
30
-3
95
127
2
30
45
-1
-11
-10
13
10
108
101
-85
-2
33
-20
-24
-17
-4
-21
-42
-42
46
-6
70
29
-1
2
-29
8
1
5
35
-11
6
93
69
-16
-25
2
30
6
3
50
-16
23
-68
17
-12
26
24
-53
-141
6
-20
-24
-1
60
-41
19
46
-35
4
-39
-13
-12
100
37
-41
-10
35
-2
-18
5
-5
-14
-9
111
24
31
124
-23
75
-39
64
59
-5
-13
20
3
4
-48
53
26
75
-15
-19
-38
-33
-12
-66
-21
9
-31
3
32
32
-3
126
32
-106
-25
100
98
-42
63
51
90
-13
36
37
-45
80
105
122
-15
-2
-60
-4
-5
74
53
5
18
-3
9
-25
-66
4
1
20
-50
60
-4
-16
41
8
113
38
31
-34
47
12
-16
84
45
99
-53
-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
-143
-21
-9
0
125
0
75
12
-2
0
29
-12
6
-11
27
22
0
0
-46
-1
88
-3
-32
2
0
-2
-20
-31
0
0
17
0
0
3
-49
-27
-33
105
62
-10
-19
0
-18
4
0
0
58
11
-15
20
-24
18
-83
14
93
0
-129
0
-5
-3
-51
47
0
88
-107
-29
12
-82
48
10
-20
24
0
0
-41
0
0
171
64
0
-25
-42
91
-3
-14
-56
0
0
-12
-18
-13
3
66
-17
43
0
-64
-31
-5
18
-25
-12
-6
8
0
58
-3
36
-36
-6
3
0
72
-29
0
-54
-7
-8
21
-5
0
-10
17
8
-35
0
-180
19
0
-2
57
6
18
108
9
0
-21
-6
-5
-1
-136
-16
0
47
-18
-4
76
-1
29
33
-5
13
-63
18
0
29
-1
-1
0
0
-38
0
-11
-57
25
0
6
0
-12
6
-5
-68
-84
-3
0
15
-10
8
79
-78
17
-13
-3
0
41
-84
148
-1
-7
44
-47
0
35
-181
80
-15
-1
-48
-5
-32
-100
-20
17
7
5
10
16
114
-55
-27
-2
33
-5
-39
-25
0
31
4
18
22
-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
23
92
0
-4
1
0
-1
56
2
0
0
93
0
-25
-37
1
0
0
-4
0
0
0
10
0
0
4
2
60
0
0
0
0
0
0
-6
0
107
32
-16
0
0
0
-19
-23
0
0
98
0
0
-19
39
-7
-35
-68
-22
0
-72
-202
-18
-1
83
-19
0
75
-74
0
0
-18
0
0
-64
-53
0
-5
-3
0
0
0
-10
0
52
-5
0
0
0
-62
0
0
0
0
-3
0
85
-10
0
0
0
0
8
29
0
0
0
0
0
-11
-25
0
0
-65
1
7
26
-73
0
-26
157
6
0
-6
43
4
8
-53
-17
-16
6
71
0
0
-24
0
0
19
31
0
-10
19
0
14
0
-40
0
0
2
0
-5
0
29
0
-26
-7
11
29
0
42
0
-2
0
-3
1
0
-21
49
0
-5
15
0
0
-75
0
49
-17
0
0
0
132
0
2
1
0
-7
7
110
0
-4
9
0
0
-12
27
0
-4
3
0
-1
2
-140
0
-16
-2
5
13
0
-68
0
0
-1
0
7
0
20
0
-41
0
-10
11
0
52
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-45
0
-2
-10
0
0
0
13
0
-4
-23
-13
0
0
2
0
2
0
4
0
0
0
0
-49
0
0
-28
0
0
0
51
0
-73
-3
0
2
0
0
80
55
0
0
33
0
0
-34
-1
0
-152
-64
-6
0
-157
93
0
0
65
0
-1
30
-38
0
1
-25
-7
0
0
-15
0
0
-6
0
-21
12
-47
0
30
-20
-19
0
-8
-46
0
0
0
0
-21
0
7
-22
0
0
-2
-10
0
8
-20
0
0
0
0
-9
28
1
0
47
-2
0
59
1
0
0
25
0
0
1
-23
0
12
24
-1
0
-28
-5
0
-3
-63
0
0
91
24
0
0
-20
-29
0
11
-46
0
0
0
0
56
0
-41
0
0
3
-1
-8
0
40
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
-6
-7
0
0
-8
36
2
0
-2
0
0
0
61
4
-11
-5
0
0
-1
5
0
13
-3
-6
0
0
68
0
-2
6
-29
0
0
-40
0
0
-2
5
5
-1
45
0
4
0
0
3
0
-124
-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
-20
-42
20
-29
-20
30
80
15
-58
-24
17
-44
-37
44
38
-31
-15
122
-15
-29
21
-105
-28
-13
4
-126
-37
-5
11
-66
-40
0
-14
103
27
88
55
-5
-21
-42
39
-23
85
45
51
-25
73
63
-12
34
16
27
-22
44
-6
69
12
-1
52
89
17
13
23
47
-11
-16
28
40
16
26
-4
-21
51
20
13
-127
23
16
-19
-61
17
-19
-41
-41
8
-30
77
-67
30
86
-24
17
-25
-70
5
1
-17
75
68
34
-5
-28
-64
19
4
4
33
-52
-66
-24
-10
48
-68
8
-36
-50
-11
124
49
-23
-16
-57
-16
-3
1
27
42
-41
53
17
-19
-3
49
22
-10
-42
36
-29
-29
-3
28
-3
55
-79
16
-62
5
39
-28
-4
-57
33
-5
2
79
-4
-80
96
-97
-10
-13
-7
4
-76
-34
30
13
11
-84
44
-68
-9
-56
0
-99
-75
8
68
30
9
10
75
-56
12
60
-13
-75
23
-38
10
-36
-61
58
5
-22
48
56
22
-9
31
28
-40
36
86
9
-27
-28
14
-18
29
31
-7
23
24
109
25
-1
-31
-11
-59
-77
2
38
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
-26
66
-4
-12
-9
-3
6
-80
1
-3
-7
18
0
10
9
30
-5
-7
-51
-2
27
-12
-97
-9
-1
-77
0
-6
0
40
-11
-1
0
0
25
19
15
-18
12
-54
15
0
13
4
15
-7
91
-3
1
-4
30
-9
44
-3
0
-10
5
-20
-7
-9
12
10
-52
-10
-48
-5
28
28
-2
-13
1
8
0
-5
50
0
8
28
30
4
44
3
-4
81
44
42
-22
7
78
-2
23
-1
2
9
33
0
-3
-27
3
-22
60
12
-31
0
13
12
21
-13
17
36
-2
19
-26
3
-12
53
21
-7
-2
38
3
-6
15
4
-5
-106
-25
-7
-22
-23
-47
8
35
-31
-16
65
-21
0
-10
8
4
19
10
51
58
0
5
-10
34
55
-6
31
0
1
-13
-3
-51
97
-11
-9
-69
26
-31
-113
-10
-60
0
-12
-166
-54
-12
-34
-73
0
-51
-107
-15
3
-39
46
-5
1
28
-10
-16
-13
-1
0
29
-60
21
-2
-39
-34
20
-14
144
39
38
3
9
2
-50
16
23
-16
-134
-2
8
26
23
-10
-7
52
45
0
55
-4
-7
22
14
17
-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
0
0
0
0
0
0
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
-47
0
-9
-44
-6
0
-65
-11
0
0
61
-14
0
-65
-22
0
-8
-21
-5
0
-6
36
0
0
-15
-32
-3
0
2
-170
0
-1
-8
0
-10
-15
-7
-93
55
11
0
69
21
0
0
15
0
0
41
-13
-20
10
-29
-127
0
-19
13
-9
0
-77
-15
5
46
31
1
-3
-31
52
16
97
8
10
0
31
-14
0
-65
-39
0
-5
12
18
0
-3
-3
1
22
-16
-4
0
-4
10
-115
-55
0
43
0
0
-3
-21
0
-4
2
0
48
1
30
38
-18
-14
-2
-10
12
4
-53
-34
0
0
55
24
0
-23
-15
-41
0
-28
-11
-12
-99
28
13
-25
36
30
3
39
-10
-27
0
22
-31
0
19
90
-1
0
7
-25
0
72
-15
-88
0
0
7
-17
-26
0
-2
0
0
-19
48
-16
39
-11
0
40
35
-2
-63
11
0
0
45
56
-16
-8
15
106
0
-15
20
41
0
8
-8
0
125
61
0
64
-39
-65
0
16
38
4
69
67
-16
0
-85
-9
15
-10
-7
55
0
42
-1
0
23
6
0
0
6
-24
-75
10
-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
43
-14
-39
-19
-33
13
0
-112
6
99
11
-11
-22
-15
43
-7
77
-19
-114
-48
0
-1
30
-58
-13
-21
27
21
-4
1
-30
20
-26
24
-1
-7
15
-59
-94
-13
-60
-72
3
23
-45
10
-5
-64
-65
-57
-7
26
-56
14
21
-27
-7
18
23
80
-2
-42
-14
-108
-34
-65
-21
-25
71
-16
-123
-29
-36
5
-27
-18
-33
122
-11
-83
-76
-1
20
-50
-1
-10
-30
-26
-4
-4
-20
-32
0
46
104
35
-72
57
72
19
-85
23
-19
-5
-4
59
15
2
8
-12
-71
33
-4
16
-55
16
-25
-3
38
-32
12
-24
41
27
26
23
-23
-9
-14
12
-30
-17
28
40
-10
30
-59
22
88
10
-74
-10
-7
4
-28
-19
2
-3
3
25
-26
31
-131
2
-16
-19
-14
-6
-43
21
-15
-86
0
32
-31
-44
5
-107
-137
5
137
-62
-21
13
98
-29
6
91
-9
10
39
74
-5
9
102
-78
-5
20
-131
-80
-3
-20
-13
39
73
7
-50
-4
34
-26
-12
15
-63
13
10
-2
12
-29
92
15
7
-2
27
60
-82
-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
-37
-119
0
0
7
-12
-80
-133
34
0
-1
-42
0
-1
-1
-24
-1
0
-32
-7
-102
1
0
55
0
0
6
-15
0
38
28
-2
0
-7
0
20
-6
0
0
-76
0
0
-31
42
11
71
-9
-12
0
-55
31
-41
3
45
2
0
-5
0
-20
27
30
-21
0
7
-14
0
-34
-79
-4
12
-44
7
-1
-4
60
-59
-12
25
-51
0
0
4
0
-16
0
49
-21
118
0
-18
0
0
10
124
0
25
0
0
-8
-5
47
-17
-14
20
13
-50
13
-5
-40
16
-12
14
-39
16
3
46
0
15
0
-76
0
-5
7
-41
34
32
-14
-51
-15
22
-4
-44
-33
26
-59
0
-18
-14
0
-21
0
-20
0
-7
-8
-26
-17
10
66
-6
0
2
26
14
0
-39
-7
1
-23
-12
0
-1
105
-20
62
4
-2
10
4
-30
0
30
-55
-20
-1
-39
-32
9
-85
18
-4
0
-21
0
0
103
-61
56
-2
-46
9
0
-88
-34
9
-2
-1
-55
-22
-16
16
15
22
-9
3
0
71
-7
0
-3
0
56
29
-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
2
0
0
0
22
0
0
13
-14
0
0
7
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
-100
0
0
0
0
0
-2
33
0
0
7
0
0
-8
-135
0
-107
7
18
0
-51
35
0
0
8
0
0
-6
-92
0
0
-6
21
0
-2
46
0
0
-20
0
0
0
6
0
-33
0
-5
0
0
7
0
0
0
0
0
0
22
-6
0
0
0
0
0
-75
-4
0
0
0
0
0
6
0
0
-18
0
0
0
-136
0
0
-44
0
0
11
-47
0
1
-6
0
0
0
-137
0
0
2
0
0
-8
-101
0
0
-1
0
0
0
-14
0
0
0
0
0
0
58
0
0
0
-3
13
0
-79
0
0
0
0
0
0
43
-5
0
0
0
0
-1
-27
0
4
0
0
0
0
21
0
0
0
0
0
0
-30
0
0
-5
0
0
5
15
0
0
-1
-11
0
0
-13
0
-7
10
0
0
0
-37
0
-5
18
0
0
0
-20
0
19
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-2
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-4
0
-17
0
11
0
0
0
-22
7
0
0
16
0
0
27
50
0
43
-44
34
0
-94
-87
0
-5
78
0
0
91
-9
0
-3
12
-3
0
2
-121
0
0
-1
0
0
-1
8
0
-47
0
0
0
0
116
0
0
0
0
0
0
43
1
0
0
0
0
0
-2
0
0
0
0
0
0
-88
1
0
1
-20
0
0
73
0
0
-7
0
0
-5
67
0
-16
24
10
4
-14
-6
0
0
-29
0
0
0
12
0
0
12
-1
0
0
-82
0
0
0
0
0
0
-54
0
0
0
29
0
0
11
0
0
0
-4
0
0
53
0
0
0
0
0
0
34
0
-5
0
0
0
0
2
0
0
3
0
0
0
4
0
4
-3
0
0
0
41
0
13
-12
0
0
9
28
0
8
0
0
0
0
-20
-1
0
-1
0
-7
6
-84
0
-2
-3
0
0
0
13
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
-149
24
1
-26
-51
-22
-105
7
-25
-1
7
-10
10
-170
-13
-43
0
-1
26
-26
-169
0
-5
40
-1
0
-3
-171
22
-15
-7
29
-23
14
0
16
-4
10
-1
59
-24
18
30
-9
3
-2
19
-62
1
19
30
15
45
-18
-6
-19
-19
53
121
10
109
-34
1
49
57
-27
162
-43
-4
107
-16
-20
-13
29
-39
17
68
1
-5
-9
-4
6
0
-35
4
23
-66
-68
0
-16
-54
0
-12
-74
-9
-11
-8
11
-36
7
29
53
57
-57
-120
30
-4
71
-116
30
-16
-17
16
14
-26
-56
13
38
52
69
12
57
-2
29
2
-39
49
6
4
-104
-14
-21
52
16
-10
-2
-47
66
0
25
-4
20
2
-42
-34
-62
-46
0
42
36
-12
0
0
-50
0
-4
-22
-4
-10
0
0
8
-33
27
-7
-12
-7
4
-51
-22
-12
27
34
44
-5
-17
-4
-5
21
66
14
19
-112
-66
2
-34
-111
-66
7
-42
42
-8
52
-90
-10
19
51
-8
-3
-13
32
-106
-53
0
-9
0
30
40
0
13
0
26
-33
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-14
0
0
11
0
3
-2
-6
0
0
16
0
0
0
-2
0
0
16
0
1
0
0
-10
0
0
0
-7
0
-145
0
-5
0
0
0
-1
27
0
0
0
0
0
-21
108
0
72
-91
0
0
-20
11
0
0
-7
0
0
9
-116
0
0
-36
0
0
-26
-35
0
0
-9
0
0
0
-42
0
-94
-19
0
0
0
76
0
0
-21
0
0
0
-51
19
-19
0
0
12
0
-20
0
0
0
0
0
0
53
0
-3
0
10
11
17
-85
0
0
-2
0
0
-3
53
0
0
-26
0
0
5
-17
0
0
-22
0
0
-14
14
0
0
6
0
66
0
-23
0
0
-7
0
-50
0
49
0
0
-1
0
-2
0
60
0
0
0
0
0
0
-7
-1
0
0
0
0
0
7
0
24
0
0
0
0
41
0
0
0
-15
0
0
-28
0
-6
0
0
0
0
-15
0
0
1
0
0
0
-13
0
-1
-13
0
0
0
-2
0
0
5
0
0
0
-2
0
-26
0
0
-11
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
9
-6
0
5
10
-47
0
-46
-2
0
-5
-36
81
0
0
105
-5
-1
-6
19
0
0
68
-123
0
0
4
0
-9
7
23
-35
69
59
0
47
-23
-4
21
59
0
0
51
-19
-4
37
38
3
0
-15
7
0
-5
14
0
0
49
35
3
-6
2
-111
0
54
18
-13
26
29
-1
0
90
10
0
-44
-10
-43
0
9
-34
0
13
108
24
0
0
0
95
-62
0
42
0
0
-8
-52
0
-6
-13
0
98
-38
-31
72
7
18
0
-5
12
2
-5
40
-3
0
13
-10
0
22
6
19
0
24
10
57
-34
33
54
0
52
-13
2
-53
16
12
0
48
-3
7
71
71
-32
0
-14
-30
-2
-4
27
83
0
0
-20
-38
18
-1
-10
0
0
-15
-73
-22
51
40
0
-5
-74
-2
-35
51
0
0
-81
2
2
11
54
-40
0
67
26
14
-9
7
0
0
-147
11
25
-13
52
22
0
6
6
0
-40
63
5
0
-25
-11
28
-8
-45
48
0
12
-7
-1
-23
-33
-2
0
0
-10
2
-27
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
-101
71
-5
-4
-2
31
-70
-1
-78
20
0
-31
-138
-66
0
-19
-74
0
0
-12
-51
2
-16
-144
106
11
5
0
137
-35
22
0
-21
-41
5
144
53
12
-10
58
-71
0
-76
-44
-19
30
1
-23
20
107
-14
8
-19
10
17
-11
65
-73
-1
52
-60
-3
18
2
-79
6
7
-94
-28
36
1
31
27
-5
76
15
-28
0
-9
-69
-28
1
-59
3
0
15
6
3
43
29
0
24
-18
-49
75
22
115
-54
-23
30
16
30
26
-17
-12
-47
-24
-20
-127
0
-60
51
-81
3
20
59
20
31
13
-23
-20
-9
-14
-43
-40
32
0
14
2
19
-50
1
33
0
17
-11
-14
-47
-16
14
-6
4
-20
0
-3
-3
-60
3
-22
0
9
-10
19
0
0
12
-9
46
18
2
-20
-4
22
11
-28
47
6
-20
-26
3
-6
-95
114
37
-29
34
-11
7
10
46
6
-15
-48
26
-4
-19
7
-26
56
-1
53
-13
-4
-102
37
-22
6
12
-5
6
-46
-8
64
0
10
87
-39
-27
-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
-4
-23
0
1
-15
0
10
7
-51
0
0
18
27
-69
0
-1
58
0
0
0
-16
0
14
-105
26
64
43
0
6
7
-2
0
20
0
5
-68
22
0
-47
-23
-1
0
20
24
-1
-42
68
0
0
248
48
-6
0
-16
-21
68
123
0
-7
8
15
20
-23
-10
64
0
-53
-49
-3
-1
0
-74
0
-6
31
0
-15
0
-17
-57
19
0
13
4
0
31
4
0
-2
0
0
-7
11
-29
26
44
29
-2
-148
-7
3
-69
-95
-3
25
-24
42
-9
-7
-38
-36
15
6
-55
10
8
-53
0
92
-25
0
0
21
204
-82
9
5
13
21
0
-11
0
-7
-1
14
0
0
82
-29
-72
0
-18
-8
0
-5
0
4
0
-13
132
-14
-2
0
0
0
5
0
11
93
-10
-10
0
10
0
0
44
138
0
-18
-8
0
-17
-19
-2
8
-4
10
-2
-19
56
-27
0
55
0
0
-53
-180
35
0
10
-187
-16
1
1
8
51
0
11
0
-79
-33
-1
-99
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-12
0
-21
0
0
0
0
-79
0
0
0
0
0
0
-70
0
9
71
0
0
-62
-65
0
0
71
0
0
0
-26
0
0
-4
0
0
-8
27
0
0
5
0
0
0
24
0
2
0
-3
0
0
18
0
0
0
0
0
0
-5
1
0
0
0
0
0
15
0
0
0
0
0
0
-40
0
17
0
0
0
1
-43
0
0
4
0
0
0
-10
0
0
-3
-6
0
0
24
0
0
-6
0
0
-2
-27
0
-1
-2
-7
0
0
-15
0
0
0
0
0
0
31
0
0
0
-2
0
0
-11
0
0
0
0
0
0
24
-7
0
0
0
0
0
2
0
-1
0
0
0
0
24
0
0
-4
0
0
0
-29
0
-9
0
0
0
-5
-8
0
0
0
0
0
0
9
0
-24
1
0
0
0
-7
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
-1
0
0
0
-1
0
110
-6
-13
0
0
0
-1
-69
0
0
-3
0
0
-21
-7
0
84
105
7
0
82
31
0
0
11
0
0
-33
88
0
0
-13
-13
0
-3
-143
0
0
-6
0
0
-13
-5
0
-6
0
15
0
0
23
0
0
-7
0
0
0
-51
-2
0
0
0
0
0
-6
0
0
0
0
0
0
-17
-12
0
22
0
0
-3
82
0
0
-4
0
0
-12
118
0
0
-24
0
0
-2
-57
43
0
-27
0
9
0
-32
0
0
-4
-1
0
-1
38
0
0
-12
0
0
0
-73
0
21
-3
-2
-2
0
-41
0
0
0
0
0
0
-45
-16
0
0
0
0
0
-4
0
0
21
0
0
0
30
0
0
-2
-6
0
0
-95
0
0
27
0
0
0
-29
0
0
-8
0
0
15
-10
0
-1
0
0
0
0
-94
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
126
2
11
-4
-16
38
-86
19
-12
0
1
-45
-8
0
-9
-80
3
0
21
43
18
-1
63
99
70
11
0
-74
-3
-5
0
13
-1
3
18
34
4
20
11
0
-15
0
-29
8
56
-42
79
-4
-72
-33
49
-9
-35
56
-42
-13
-17
43
39
59
54
-37
7
17
-10
3
18
78
-63
12
-36
3
-4
-1
11
-119
0
3
62
-70
0
5
-144
2
-5
91
-3
-21
-7
-39
42
-1
-7
38
-40
64
-33
-11
-11
16
10
-30
19
-36
15
10
25
6
22
62
-92
21
34
-46
13
63
37
11
-43
10
-26
-124
-48
-15
-42
67
2
-41
16
24
5
25
15
-10
-1
45
-12
-115
-37
0
6
-28
-3
-1
-27
-9
0
31
-63
75
18
43
-37
150
-35
15
21
70
7
-47
38
16
1
2
-8
57
12
107
-2
-38
9
-33
-18
24
32
20
-1
30
-42
-154
-4
-58
26
-16
-63
42
13
27
85
4
20
119
-31
-9
9
28
-4
3
-18
-12
-5
-62
13
1
-1
-29
-5
26
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
-66
0
52
-31
5
0
0
-5
0
-19
0
0
-46
0
0
0
-21
1
-9
-27
61
-14
19
0
-93
49
0
5
-36
0
0
-21
57
0
18
-10
0
0
4
-57
-40
0
53
0
29
-57
-40
0
-10
4
-2
-13
42
-75
0
0
14
0
20
-9
-19
5
18
-53
1
85
0
43
-9
0
-8
0
-18
0
3
-64
-17
0
0
3
0
-21
-46
-6
15
0
0
35
88
3
36
-21
0
-3
6
14
0
-20
5
0
-45
-13
-70
0
69
-3
33
1
17
18
0
-4
-23
8
42
-33
9
0
2
21
0
68
-31
8
0
-4
-5
0
4
-6
4
0
15
-43
0
5
0
-19
39
5
0
0
96
0
-12
-7
7
0
0
0
0
69
3
-129
-18
0
0
0
-39
0
3
54
-23
0
13
-10
-7
60
12
0
-1
-3
49
0
-3
19
0
11
-24
-1
0
-2
42
0
0
0
24
0
0
-45
0
62
0
24
25
22
-48
0
-18
0
-28
34
-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
-33
176
0
-19
-16
24
0
-4
35
0
-2
-58
37
-5
-1
-19
-22
0
0
61
0
0
3
14
-37
55
6
0
-15
4
1
0
41
0
0
-40
-10
0
30
38
9
0
-5
16
0
-29
29
-19
0
-47
5
0
6
43
-19
0
46
0
-26
-7
2
-15
0
61
-12
27
-59
65
41
0
38
-17
20
-6
-23
-15
0
0
12
24
-58
0
6
0
-6
5
-33
-5
29
-9
0
14
5
-4
10
19
63
0
-26
30
0
-28
63
-10
0
-56
24
8
-41
12
2
0
-56
-31
39
-93
-15
-7
0
15
16
0
-38
41
84
0
-73
1
-2
23
32
-21
0
-22
-8
0
-83
44
56
0
0
3
6
-32
-7
29
0
-2
-15
-53
0
-16
-23
0
11
-70
-8
-61
-160
-5
0
18
25
-1
14
9
6
0
-175
29
-21
77
-33
1
0
7
19
0
-75
84
38
0
80
-28
-4
-44
12
0
0
82
-9
-22
1
50
-17
0
-11
31
0
-22
-66
-6
0
0
-9
-36
-10
128
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
-21
18
0
54
-23
3
0
24
-161
0
0
24
78
3
-7
-67
41
18
-19
0
-66
-15
-11
0
-34
14
-37
-27
18
0
-16
44
-11
0
-83
35
-2
9
80
-11
0
-4
-7
0
18
33
-9
65
6
-42
-19
36
59
85
33
7
-12
2
-15
7
1
51
28
-26
-1
0
106
-24
-45
0
5
-66
-149
-7
-28
-14
0
-8
35
0
0
0
-88
-5
-51
-48
-46
35
-69
-2
-82
-32
-9
50
83
-50
7
-38
18
-24
5
19
-40
-33
-9
26
-12
6
74
-22
-14
-2
1
-7
-56
-31
-59
-20
5
-47
-1
8
53
-14
-45
0
-20
-14
0
-28
-22
-27
0
-11
-38
0
0
24
-74
0
31
139
0
-31
-23
0
40
-55
8
-14
-38
20
21
1
5
0
-9
-131
18
87
-31
30
-8
-39
45
-22
-8
7
12
0
108
129
49
67
-34
37
2
-4
70
37
4
9
11
15
0
-37
-21
-72
-1
-65
0
68
-25
29
-104
0
-34
-71
-13
0
-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
2
0
0
12
-11
55
0
2
53
0
0
7
4
0
62
-29
-6
-10
22
0
66
17
0
0
40
0
0
23
66
1
-50
-50
-14
0
-2
12
-1
0
30
21
0
-25
10
-14
4
28
-63
-50
79
-25
-1
0
41
-17
-14
113
0
0
9
74
55
-12
-5
-59
0
0
-12
0
14
0
-28
-35
6
0
-10
-8
0
28
125
0
-18
0
0
-25
-7
96
-10
-21
-1
1
3
-3
3
0
-55
0
16
-2
-16
0
-4
46
-38
26
-35
-16
8
6
-102
-5
-49
-25
-37
3
22
-19
74
48
4
0
0
0
197
3
68
-23
37
0
1
48
-48
-25
0
29
-8
0
0
-7
20
0
50
3
-2
0
0
0
0
-70
-15
-84
50
0
0
-4
-60
0
25
-65
-37
10
1
31
0
-41
-65
11
-20
0
69
0
1
59
20
21
48
-113
-4
-90
-84
34
-14
6
0
0
-1
-102
-20
1
0
-28
0
-107
-24
2
-10
0
78
4
3
-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
-2
0
0
26
0
0
0
0
0
-16
0
9
0
0
0
0
25
0
0
13
0
0
-1
11
0
28
3
0
0
-78
-45
0
0
75
0
0
0
-7
0
0
55
29
0
0
36
0
0
39
0
0
0
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
68
0
0
0
0
0
0
2
0
0
0
0
0
0
39
0
0
0
0
0
0
4
0
0
-7
0
0
0
29
0
0
20
0
0
0
-17
0
0
0
0
0
0
-29
0
0
21
0
0
0
-18
0
0
0
-5
0
0
44
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
-4
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
8
0
40
0
0
0
0
0
-3
0
0
0
-20
0
0
-13
-14
0
-66
-86
2
0
47
-80
0
0
-26
0
9
-5
92
0
0
-17
-1
-7
-2
-15
0
0
12
0
0
0
13
0
-10
0
-1
0
0
51
0
0
0
0
0
0
-13
-4
0
0
0
0
0
-14
0
0
0
0
0
0
-11
0
0
-1
27
0
6
61
0
0
6
0
0
-5
-82
0
0
-5
0
2
0
42
0
0
-10
0
0
0
-30
0
0
3
1
0
0
-20
0
0
-1
0
0
0
-8
0
0
14
-2
-2
0
35
0
0
0
0
0
0
-66
0
0
0
0
0
-1
8
0
0
4
0
0
0
-14
3
0
0
0
0
0
116
0
13
1
0
0
0
-8
0
0
0
22
0
0
-34
0
-3
1
0
0
-3
-5
0
0
11
0
0
0
-20
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-33
-60
0
1
27
0
0
-8
79
0
-42
-35
-21
-4
1
0
60
11
-1
0
65
-15
0
85
13
0
-6
56
-71
0
-22
-16
-3
-1
-55
0
7
11
-2
-22
21
-9
-9
-4
-49
-61
-1
-6
-8
16
-55
-54
-42
0
-11
-32
-30
-15
-35
53
0
0
0
20
-44
12
4
22
6
0
10
-13
0
-17
-75
0
0
4
0
57
16
9
24
21
-88
21
8
9
0
-35
53
-18
-8
72
28
-22
-23
-30
67
-39
-37
17
25
14
-23
29
-66
61
37
-7
0
-19
6
-34
-8
-15
-10
-4
9
-1
-140
0
-39
0
27
0
-109
-87
0
-39
2
-11
0
-3
0
0
-24
-38
0
0
2
0
0
42
-9
-66
9
0
-28
-14
-9
-10
-15
-20
-46
-29
-6
15
0
75
-11
0
-22
-11
17
0
-67
43
-3
58
-6
4
0
-32
7
8
12
27
38
-11
-13
-28
48
-2
0
-26
0
-8
0
0
26
0
-35
41
-3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-22
0
70
0
0
0
0
0
-2
-144
0
0
-20
0
0
-13
-14
0
8
109
0
0
-40
43
0
0
-11
0
0
-82
14
0
0
-22
-1
0
27
-2
0
0
-55
0
0
0
-52
0
8
-70
0
0
0
44
0
0
0
0
-5
0
-7
5
4
0
0
-4
0
63
0
0
0
0
0
0
-30
0
0
8
0
0
-1
-27
0
0
20
0
0
1
150
0
0
16
0
0
7
-15
0
0
-68
0
0
0
80
0
0
34
6
-14
0
-120
0
0
0
0
-7
0
7
0
0
1
0
-1
0
-62
0
0
0
0
-7
0
58
0
0
0
0
0
0
63
0
0
-3
0
0
0
-26
0
8
-14
0
0
0
-99
0
0
-7
0
0
0
105
0
0
-5
7
0
0
-35
0
-4
-1
0
0
0
-59
0
0
0
0
0
0
-49
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
-16
14
0
0
-24
26
0
-1
7
0
6
-12
-61
-21
-100
-51
0
38
2
3
0
-1
0
0
52
-13
0
5
39
62
0
12
3
-9
3
6
0
0
11
-23
0
-13
45
42
0
-12
-11
0
100
33
9
0
111
18
-21
-4
4
54
0
-33
13
31
7
-164
-3
0
0
-11
-26
66
-1
55
0
5
-10
-54
0
-5
3
0
1
27
-14
-16
-8
24
0
-64
25
7
-31
-15
-28
0
45
2
-20
-49
29
-25
0
38
7
0
99
74
95
0
-34
15
-46
-44
24
-14
0
-6
-15
0
13
44
-5
0
115
-8
2
64
24
11
0
27
-8
-36
2
-3
1
0
0
-12
-76
-3
-2
-51
0
-5
18
-16
-52
-13
14
0
161
21
3
-5
-7
48
0
-13
40
-2
-84
-35
24
0
32
18
0
-1
87
25
0
-64
2
0
59
50
-27
0
85
4
14
17
55
37
0
0
12
1
74
58
0
0
0
-32
-1
-48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
-32
0
-2
0
0
0
-1
-121
0
0
-14
0
0
-3
-41
0
-145
9
5
0
74
21
0
-8
129
0
0
-5
149
0
-8
-3
0
0
-4
2
0
0
35
0
1
0
63
0
-60
7
-14
0
-5
-3
0
0
0
0
1
0
-35
-23
-1
0
-32
0
0
21
0
0
0
0
0
0
13
2
0
2
0
29
0
27
0
-12
-10
0
4
0
8
0
16
34
-5
0
0
-137
0
0
76
0
-8
0
-46
-3
7
9
-11
-1
0
13
0
0
0
0
35
0
48
0
6
0
0
-8
0
12
0
0
0
5
-1
0
-18
6
0
0
0
0
0
-51
0
-5
0
0
1
0
-68
0
0
0
0
11
0
-25
0
11
3
0
0
0
11
0
0
0
0
0
0
-36
0
35
0
0
0
0
25
0
0
0
2
0
0
-20
0
-40
0
0
0
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
6
6
0
0
0
-7
0
110
15
12
0
14
0
-34
-15
0
0
-78
0
0
-22
-39
0
-4
42
-91
0
-41
-22
-8
-20
10
-4
5
-68
15
0
-2
57
55
0
99
37
2
0
-61
0
0
84
39
-17
-23
25
-87
-7
18
0
15
0
-11
14
-16
0
24
1
9
0
72
0
0
18
4
0
0
0
11
-9
-15
-19
35
-28
8
4
104
-10
0
-3
115
0
-11
-41
-78
-10
4
-55
-130
32
-22
-8
-3
0
-31
0
-27
-2
71
-6
-7
-18
-34
0
4
11
0
0
8
28
-173
0
0
14
0
-2
0
-96
0
-34
0
0
0
-12
24
0
-71
-27
0
0
0
0
0
14
0
-17
36
0
0
-1
-38
0
10
-62
-9
-7
-3
-13
13
-38
-55
-1
0
-21
-31
0
-31
-42
10
2
-1
34
0
-94
68
-1
12
0
13
0
-2
3
-26
-6
0
0
0
-156
-4
0
7
0
-38
60
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
94
0
0
0
0
0
1
-130
0
0
1
0
0
4
-17
0
21
85
0
0
-94
26
0
0
10
0
0
-3
-36
0
0
0
5
0
-6
19
0
0
-21
0
0
0
44
0
-51
15
0
0
0
-2
0
0
0
0
11
0
18
0
-10
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
-11
0
1
-40
0
0
0
0
0
0
82
0
0
20
0
0
0
-60
0
0
-32
0
1
0
28
0
0
-6
0
0
0
-118
0
0
7
0
0
0
-4
0
0
5
0
0
0
-44
0
0
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
7
0
0
0
0
-7
0
0
0
0
0
0
-27
0
-6
0
0
0
0
-5
0
0
0
0
0
0
2
0
20
0
0
-8
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
-27
0
-2
0
0
0
0
-25
0
0
0
0
0
-2
-5
0
20
-40
0
0
-25
-9
0
0
-2
0
0
0
5
0
0
-1
0
0
-1
-10
0
0
-1
0
0
0
-1
0
2
0
-5
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
-28
0
0
0
0
0
0
25
0
0
0
0
0
0
-55
0
0
0
0
0
0
-16
0
0
-2
0
0
0
-24
0
0
-6
0
0
0
-10
0
0
-1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-90
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
-4
0
0
0
-4
0
-3
0
0
0
0
4
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
1
4
0
0
-13
-3
0
-47
13
-8
0
0
0
-82
6
-15
0
66
-4
19
-39
2
0
-21
85
7
0
-15
-82
0
0
17
-2
-10
65
28
0
0
-1
16
2
2
-21
0
0
19
24
0
-9
-48
0
-46
48
-19
0
-2
6
0
0
0
-15
-4
0
46
-8
18
0
-107
0
0
-39
0
0
0
0
-4
0
20
0
-4
-13
-7
1
-8
-48
0
-2
54
0
-41
34
37
0
7
-59
-19
4
-58
-12
0
0
-34
20
-37
17
-103
0
0
-4
10
60
0
-63
0
3
0
9
-77
0
-65
0
0
0
-15
-44
0
-111
11
0
0
10
0
0
-51
3
0
0
0
3
0
22
0
-2
2
2
0
0
22
0
0
20
0
0
0
-18
0
-23
-1
4
0
0
-92
0
17
3
-9
-25
0
11
0
-49
0
34
1
0
68
0
-13
0
0
11
0
-3
0
53
0
19
38
0
-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
7
-103
0
0
0
-41
0
44
30
-89
11
0
0
32
4
7
0
26
0
-18
-30
4
0
9
-7
-2
0
-24
-2
0
0
-15
0
1
-136
-8
0
3
17
0
-4
-39
0
0
0
25
3
3
-43
-31
0
-29
-160
0
143
7
-16
0
0
2
7
41
0
1
-95
11
0
0
10
0
33
-79
4
-27
0
-26
-13
6
3
-16
8
0
24
75
49
0
-13
12
0
18
26
63
0
6
12
0
-51
-8
2
11
-12
-7
0
-40
76
-53
0
-27
-34
0
37
99
-9
0
0
5
-8
4
5
-54
0
0
-28
0
-36
0
28
4
0
-2
10
-7
0
48
46
0
0
0
0
5
-35
-7
-62
-11
0
9
-6
-9
3
-18
16
0
-24
0
16
0
22
77
0
-7
21
-52
0
6
46
-7
-24
-28
52
0
-18
87
0
-21
-9
13
0
0
-41
0
-29
23
-34
0
23
13
0
5
0
56
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-84
-192
-13
-18
-63
-1
-21
4
13
-65
-62
-20
0
10
0
-8
-30
6
-110
0
17
15
-11
6
3
-10
0
11
-19
49
112
-13
2
0
37
12
157
-98
13
-5
0
87
3
-4
29
13
-7
-9
95
20
20
16
21
-5
0
-30
65
-3
-58
-100
-43
0
-5
2
-31
-16
13
14
0
-34
10
-73
2
-19
-48
0
-13
3
-42
-71
7
-39
0
5
-6
27
38
-1
55
0
4
15
41
-46
18
-22
0
61
-4
99
73
44
31
-2
34
-1
-56
40
40
9
-1
76
0
-37
-48
56
51
0
-77
3
-51
9
-9
-1
1
-25
-8
10
83
-54
110
0
-21
8
-20
-151
36
2
0
-2
-2
-25
-36
-28
-62
0
42
-7
-1
22
-26
-6
0
-43
19
-27
-8
0
-8
0
29
20
-13
-39
68
41
0
74
-6
4
43
58
-18
0
60
9
-78
79
66
41
-58
-6
-3
-26
32
25
-82
0
1
30
38
38
64
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
3
-46
0
0
-7
-17
0
0
1
0
7
0
-10
0
0
3
0
0
0
-36
0
0
-1
0
0
0
0
0
-2
0
0
0
0
-37
0
0
0
0
0
0
-34
0
0
0
0
0
0
-50
0
0
0
0
0
0
-50
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-4
0
0
-1
0
0
0
-34
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
-44
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
17
2
0
0
-2
0
0
16
-87
0
-88
-77
4
0
61
32
0
0
105
0
0
-53
-4
-3
0
20
17
0
-12
80
0
0
-31
0
0
10
21
0
-26
16
0
0
2
46
0
0
0
0
-1
0
0
-1
50
0
0
-2
0
-29
0
4
0
0
0
0
26
0
0
55
-2
0
0
22
0
0
56
0
0
0
-16
0
0
135
-13
14
-2
7
0
0
-47
0
0
-5
27
0
2
12
33
0
5
-42
0
18
0
0
-14
0
-4
0
1
-2
-1
10
0
0
0
0
0
0
1
0
64
0
0
0
0
0
0
16
0
18
0
0
0
0
-108
-1
0
3
0
0
0
-4
0
0
0
0
0
0
-29
0
-13
-11
-3
0
0
-40
0
1
-5
0
0
0
-8
0
0
-1
0
18
0
-75
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-23
27
18
0
62
17
-1
-18
-40
-4
1
-56
-6
-4
-28
-3
-38
-25
-24
85
14
103
-14
-4
24
-41
6
0
37
-55
1
-24
8
19
0
8
18
3
-51
-144
-107
0
-21
71
-28
44
34
-12
0
0
-28
-10
19
0
9
0
18
0
-24
-40
2
4
-20
9
38
0
0
86
-11
51
11
-46
-83
33
-44
-1
-6
3
3
-5
22
-11
26
-3
-13
-34
-45
89
-68
12
0
-19
44
68
1
21
33
0
5
7
-41
-28
-1
-40
-1
63
26
-13
6
6
-31
-3
-13
26
-1
-38
8
-9
0
3
0
46
-32
3
0
-39
11
-3
-3
5
12
-54
64
40
96
0
0
-53
32
0
-32
69
-55
16
-15
34
2
71
-30
0
-15
-51
-52
0
0
-87
-73
-8
12
5
0
7
-20
-9
-116
29
-1
0
-15
-128
-48
-90
1
21
0
-56
-91
3
-151
0
-9
0
-4
1
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
-73
0
0
0
0
0
0
-15
0
0
0
0
0
-1
0
0
-1
36
0
0
-23
-53
0
0
-1
0
0
0
16
0
0
-1
0
0
0
-27
0
0
0
0
0
0
2
0
-5
0
0
0
0
-1
0
0
0
0
0
0
-63
0
0
0
0
0
0
19
0
0
0
0
0
0
-39
0
0
0
0
0
3
-68
0
0
0
0
0
0
25
0
0
-1
3
0
0
-46
0
0
-1
0
0
0
-43
0
0
0
0
0
0
-37
0
0
0
0
0
0
-27
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
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
-1
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
-48
0
0
0
0
0
0
-36
0
0
0
0
0
0
-6
0
-11
-1
-1
0
4
-33
0
0
0
0
0
0
-22
0
0
0
-1
0
-1
-37
0
0
-1
0
0
0
-9
0
-17
0
0
0
0
10
0
0
0
0
0
0
-67
-1
0
0
0
0
0
-34
0
0
0
0
0
0
-35
0
0
0
0
0
0
-19
0
0
2
0
0
0
-12
0
0
5
0
0
0
-5
0
0
-2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-37
2
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
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
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
14
3
0
0
0
0
31
-72
0
0
3
0
0
-27
-146
0
-11
-32
0
0
-98
-5
0
0
-80
0
0
16
18
0
0
45
0
0
55
-34
0
0
-111
0
0
-10
-27
0
-48
39
-12
-13
0
52
0
0
0
0
3
0
35
-5
-14
0
0
0
0
45
0
0
0
0
0
0
95
7
11
-9
0
-11
-1
20
0
0
3
0
0
0
116
0
0
-39
0
0
0
82
0
0
-102
0
14
0
-7
0
0
-5
0
0
0
-256
0
2
-4
0
-1
0
-9
0
-6
-11
0
2
0
-39
0
0
0
0
12
0
-86
4
0
0
0
0
0
-1
0
-5
0
0
0
1
-198
0
0
0
5
0
0
34
2
67
60
0
15
0
36
0
0
-1
0
47
0
-191
0
-25
5
0
0
0
-44
0
0
0
0
0
0
-45
0
-4
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
-22
18
88
57
-102
-65
0
67
17
32
0
-72
0
0
66
-21
2
3
29
68
0
8
20
9
32
-3
56
0
35
-33
9
17
15
16
0
28
-27
5
-22
39
8
0
35
7
-2
-105
51
-55
0
-9
-2
-36
-4
5
3
0
0
27
19
-30
0
-12
0
-10
26
-51
0
65
-1
0
-9
44
-37
-9
28
71
0
25
-13
-22
53
15
36
0
-33
-23
34
17
55
-12
0
106
-20
2
-27
58
-39
0
65
-39
-7
64
15
-6
0
120
-23
0
-29
93
25
0
-7
-16
41
55
-39
51
0
0
-12
108
-24
-2
-3
0
0
15
-77
-3
-1
-23
0
-6
-5
8
-79
21
-5
0
-112
-25
3
-61
110
65
0
-41
0
3
-12
62
28
0
-86
31
10
-21
62
34
0
-41
-3
-11
-15
52
20
0
-24
25
-4
-77
-16
36
0
13
27
-4
13
105
0
0
4
-44
115
-55
-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
-85
0
0
3
0
0
-28
-19
0
-14
89
-5
0
24
53
0
0
18
0
0
22
3
0
0
2
-28
-7
-69
81
0
0
91
0
5
0
-3
0
82
0
-10
0
0
-63
0
0
0
0
0
0
-85
10
-6
0
0
0
0
29
5
0
0
0
0
0
0
-14
0
0
0
0
3
-39
0
0
-14
0
0
-2
103
0
0
-14
6
0
0
-15
0
0
75
0
20
1
-6
0
0
29
-32
0
0
-40
0
0
0
0
2
0
54
0
21
0
0
-10
0
-68
0
0
0
0
1
0
-48
0
0
0
0
0
0
-14
3
1
0
0
0
0
-48
0
0
41
0
0
0
-7
0
2
-14
0
0
0
54
0
0
-1
13
0
8
130
0
-6
-40
0
0
0
15
0
4
-1
0
0
0
-109
0
-3
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
8
-2
29
27
21
36
0
-94
-5
18
13
-13
20
-9
-6
-9
39
79
46
-12
-1
-10
-32
18
-26
-38
3
0
-48
10
-11
-31
4
12
-15
-25
13
6
10
38
-11
-23
-122
6
-24
15
1
-56
5
-41
-40
-13
15
22
-34
0
-128
5
-57
9
44
-94
-4
7
-77
-13
-42
-9
18
-3
-123
50
21
-15
20
59
-2
-53
14
41
-39
29
4
-21
27
-45
28
-3
8
42
-11
86
9
8
11
-8
-10
-9
-3
-27
-11
39
29
-33
-6
62
5
23
35
26
57
-27
-5
49
-5
70
5
-60
0
-50
52
-89
32
-32
-17
-33
36
-80
-27
-19
-63
34
4
-20
9
-15
-24
-95
-37
13
76
8
38
37
-35
-14
-26
-45
-88
55
-4
40
39
-4
1
19
-1
68
0
-6
27
105
-66
-33
78
-34
10
7
-32
34
43
24
57
7
-5
55
64
50
44
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-32
1
1
75
7
1
-84
-17
-1
-29
31
-29
0
-17
18
11
8
-10
10
12
74
11
12
-11
-34
41
10
64
-32
0
3
11
0
21
-21
-18
0
-41
15
-102
-3
-3
-16
39
-26
-9
5
75
7
48
5
68
0
116
-3
0
-69
0
6
-4
-5
0
9
14
-5
-42
49
-15
-4
16
29
-2
-14
81
-30
-4
114
28
14
23
-42
-31
-1
25
-3
2
-1
-17
-47
-34
74
-12
0
54
12
3
-24
-91
-19
-5
19
0
-11
-10
1
-6
0
-15
-58
46
2
0
-4
16
-11
0
-3
-10
-24
18
8
5
-20
1
0
-9
63
-5
103
34
1
19
2
64
-10
25
-29
8
0
-8
30
4
10
105
-6
-6
-58
-67
0
45
31
53
105
-19
-21
1
-5
-5
3
-14
-27
-10
0
-42
67
-24
5
0
-9
0
57
-66
0
63
0
4
39
5
-24
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
0
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
-38
0
0
-54
0
0
-31
52
8
-68
-11
46
0
-12
-97
5
0
-69
-5
0
31
25
-1
2
-53
8
-4
-47
7
0
13
-19
1
-85
-22
-127
-18
-137
-69
79
20
0
-29
8
0
-23
-14
67
0
56
-12
-20
0
41
20
-10
-19
103
0
28
0
-5
3
-3
-34
-9
23
-91
4
-15
30
18
14
70
2
5
32
-27
-16
24
41
79
1
50
9
-16
63
-23
-4
-1
-18
24
4
11
0
30
17
23
-18
11
-27
10
0
-177
11
6
4
-6
50
41
70
2
2
21
3
0
0
-3
-28
5
138
13
-8
1
0
0
18
-14
-24
-16
0
-14
-6
-39
0
4
21
54
8
16
13
-12
38
18
48
18
65
-42
0
-31
-66
85
0
-21
15
0
-100
31
0
66
-3
-51
0
5
-11
-57
-19
0
-57
0
-64
-3
9
-135
0
44
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
0
0
-40
0
0
-13
40
28
-70
-119
-47
0
-3
-1
0
0
86
0
0
-20
-74
5
-1
-12
24
-41
-64
-20
0
0
143
0
55
1
-39
25
-27
-47
52
0
0
28
-4
0
0
0
-26
0
97
41
-4
0
50
-6
0
29
-40
8
2
0
0
3
52
-5
0
7
6
0
-75
24
-5
2
-10
8
0
49
52
4
39
-72
-27
18
-96
20
0
-11
-5
0
16
5
2
0
-31
1
0
16
0
-36
0
4
-35
-4
-25
13
-1
-8
-7
-41
-49
5
0
82
0
0
0
2
0
0
-15
26
0
0
0
0
18
-65
3
17
0
0
0
0
54
0
0
-11
2
0
0
72
1
98
2
0
0
0
8
0
12
52
-15
0
-5
-22
0
36
94
0
-2
0
-6
1
36
-6
-71
0
-1
26
0
70
-8
0
35
0
10
57
5
-1
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
18
-28
0
0
78
0
0
55
-181
0
53
-109
-10
0
31
-167
0
0
50
0
0
-16
-139
0
0
-74
-5
0
58
-85
0
0
-111
0
7
3
-31
0
-6
48
0
-1
0
55
0
0
-10
0
-27
0
54
0
-22
0
0
0
0
-59
1
0
0
0
0
-6
-113
0
0
-16
0
-10
-125
-30
0
0
177
0
-4
-5
-176
0
0
-9
0
-3
118
-45
0
-10
37
33
84
64
-38
0
-5
29
0
-18
-19
-72
0
2
27
0
75
0
-42
0
0
17
0
-1
0
29
0
0
0
0
-19
0
47
-6
0
0
0
0
0
4
0
59
-27
0
0
-3
-136
0
0
-42
0
0
-34
-63
16
10
-73
0
0
0
-44
0
0
11
0
0
-2
-5
0
-79
70
0
2
0
35
0
0
-17
0
-2
0
-23
0
7
-10
0
38
0
59
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
-41
0
0
0
0
0
0
0
0
-1
4
-4
0
0
-13
0
0
1
0
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
2
-4
0
0
0
-5
0
0
0
0
0
0
-106
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-11
0
0
5
0
0
-21
0
0
0
-3
0
0
4
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
-16
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
2
0
0
0
-24
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-13
67
32
-20
-2
-1
85
9
-10
-16
-14
-44
-115
4
-11
51
19
-8
-10
66
-57
1
0
-33
54
5
-44
14
-1
-3
22
37
20
-9
28
35
16
18
-14
-10
0
-1
-68
-8
0
-36
-31
-5
18
-30
1
-6
-2
0
4
76
-34
-26
28
-18
-1
147
32
4
23
-5
0
27
-1
48
4
-43
-20
47
-8
-10
12
14
-113
-15
1
-66
122
3
-17
11
-15
17
102
36
7
-4
12
19
-9
98
-25
-13
53
-40
41
2
5
0
-9
8
-59
1
53
16
0
23
70
-10
-39
-46
0
-4
54
10
3
38
-5
0
54
-21
-27
-10
-8
89
49
81
58
-48
48
-49
-4
40
-89
-47
-1
52
-22
2
-31
22
-32
-4
34
63
-34
6
-15
42
29
-9
87
-3
135
0
21
0
19
-5
0
15
0
-32
-100
-10
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-11
16
5
-6
-8
12
-6
62
-43
-11
-29
22
-19
4
-35
11
11
33
33
-35
-2
-57
-28
17
-62
-27
-19
-24
-96
0
-12
7
35
-71
-8
30
44
-17
60
37
-33
5
30
43
-58
7
23
3
8
-44
-132
-158
6
36
-77
0
76
-26
56
4
40
-31
18
-6
3
6
50
66
-15
12
28
-42
10
-10
-15
-41
0
10
15
-3
0
2
-26
-6
40
7
5
7
-31
-11
3
18
15
-12
-38
2
59
5
9
-35
-24
21
1
55
-6
-21
-23
75
-19
-7
96
7
49
46
-59
-77
13
-45
0
32
8
-47
-94
-51
-95
-25
-7
11
-43
-28
-52
-40
-16
-25
62
-9
-1
19
-35
-23
21
-48
2
34
-29
-7
25
-31
23
4
7
45
-9
-14
-86
-36
34
7
-34
-50
8
-11
18
-43
-38
-43
-45
-1
49
48
63
43
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
-43
69
0
24
26
0
0
82
-116
0
0
-22
0
0
19
132
0
0
-27
-1
0
-13
-16
0
0
22
0
0
0
58
0
94
0
0
0
0
-18
0
0
0
0
0
0
-63
0
0
0
0
0
0
50
0
0
0
0
0
0
124
0
0
26
0
0
18
15
0
0
-4
0
0
-5
36
0
0
36
0
0
1
1
0
0
90
0
0
-5
-46
0
0
27
-22
0
0
-66
0
0
-6
0
0
0
-3
0
0
-7
-5
-5
0
-24
0
0
0
0
0
0
-22
0
0
-8
0
0
0
-50
0
-5
0
0
0
0
-126
0
0
0
0
0
0
33
0
-1
0
0
0
6
39
0
0
0
0
0
0
57
0
-16
0
0
0
0
91
0
0
0
0
0
0
-19
0
-2
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
20
-16
0
-25
-13
0
0
-47
43
0
0
0
0
0
8
7
0
0
0
-12
0
-23
-84
0
0
41
0
0
0
20
0
-49
23
0
0
0
181
0
0
0
0
0
0
-18
-25
0
0
0
0
0
-25
4
0
0
0
0
0
-10
0
0
8
0
0
0
63
0
0
-14
0
0
0
27
0
0
7
0
0
3
90
0
0
-24
0
9
0
-66
0
0
-3
0
0
0
-28
0
0
0
0
0
0
-33
0
0
0
-1
0
0
-37
0
0
0
0
0
0
-12
0
0
0
0
0
0
-60
0
-3
0
0
0
0
37
0
0
0
0
0
0
4
0
0
-24
0
0
0
-42
0
-14
0
0
0
0
-18
0
0
0
0
0
0
-38
0
0
-3
0
0
0
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-1
8
54
13
-19
12
36
13
-58
38
42
125
-5
-17
5
-18
20
21
23
-92
69
0
3
26
-10
11
-75
0
0
19
17
42
18
-39
-8
-1
6
-17
-28
-115
4
4
-38
-27
0
41
7
0
4
25
54
-8
21
3
16
89
-26
54
-36
62
-82
-19
49
14
58
-19
-27
-14
-31
8
13
-196
21
56
-29
-23
-6
-42
-82
12
13
40
-61
50
-1
-50
-17
41
-24
-37
18
0
4
6
10
-76
-7
2
8
1
55
26
19
0
-9
59
-6
0
15
-28
1
42
-47
-21
0
-25
0
17
45
14
17
-70
-10
12
14
73
34
-11
-66
-33
0
21
49
24
3
-37
-8
0
-3
9
-19
-66
36
-3
20
65
34
82
12
-35
28
-94
-47
21
-33
25
89
106
-12
-29
-5
21
29
21
-34
28
0
-21
-25
55
-23
-37
-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
-72
82
0
20
93
-10
0
83
-47
0
0
83
0
0
0
-110
0
0
26
0
0
-17
35
0
0
-3
0
0
-8
-39
0
-59
-14
8
0
0
-69
0
0
4
0
0
0
-4
-8
0
0
0
0
0
58
0
0
0
0
0
-2
9
0
0
8
0
0
0
60
0
0
3
0
0
-6
-19
0
0
37
0
0
0
13
0
0
-7
0
0
0
31
0
20
14
0
0
0
-47
0
0
-4
0
-3
0
-42
0
0
0
0
33
0
59
0
0
0
0
0
0
27
1
0
-3
0
0
0
67
0
-6
-1
0
0
-35
41
0
0
8
0
0
-1
17
0
6
-1
0
0
0
14
0
0
0
0
0
-3
-41
0
-1
-7
0
0
0
28
0
0
-2
0
0
0
127
0
-6
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
12
-20
0
13
88
0
0
-9
-77
0
0
-54
0
0
0
98
0
0
34
0
0
19
-27
0
0
6
0
0
0
3
0
42
-10
-2
0
-10
-26
0
0
0
0
0
0
23
12
0
0
0
0
0
-50
3
0
0
0
0
-2
-16
0
0
-11
0
0
-11
21
0
-8
-9
0
0
0
52
0
0
53
-16
0
0
93
0
0
19
0
0
0
-21
0
0
-73
0
0
-15
-124
0
0
-15
0
0
0
-10
0
0
-1
-20
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
49
0
0
0
0
101
0
0
0
0
0
4
132
0
7
8
0
0
0
-100
0
0
3
4
0
0
-57
0
-48
14
0
0
0
-83
0
0
0
0
0
0
121
0
-13
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
-27
-18
-70
-5
-37
-2
19
-21
-75
-31
60
-19
26
4
-17
-4
-62
-129
29
21
-1
-22
-19
8
36
5
-23
-2
73
9
-7
57
0
29
-11
-6
-15
-36
83
9
18
103
-7
32
-1
-39
30
17
-29
15
-150
75
55
-84
-13
-81
74
-3
20
-9
11
-40
-36
-136
-27
12
18
-37
22
37
89
5
168
-21
-13
8
11
38
-28
-24
-36
-62
17
-8
-75
11
65
-12
7
7
-37
22
-116
5
0
0
22
-125
4
-1
-7
-58
0
9
-57
-12
32
19
0
-3
55
-30
64
56
5
-22
67
-15
-48
82
26
104
-12
-12
-13
10
146
-32
17
16
-9
15
-1
-56
-74
-32
-1
-60
6
38
33
54
20
66
42
-11
-7
-21
-23
-33
24
-2
19
-5
-19
39
1
-31
-1
-13
-36
-30
-3
-82
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-52
-40
-32
-36
15
34
43
5
55
57
6
-12
72
29
14
-54
8
40
-4
-5
-6
-8
-18
-72
78
-18
-20
-43
-6
26
2
-43
-16
-12
-67
4
30
-99
14
10
31
-80
11
-29
26
72
-34
24
-11
-96
-29
-43
35
0
-29
-11
-25
-62
-24
12
-15
81
104
-52
73
-49
10
-2
-69
-3
-15
49
0
38
-6
-11
-7
21
-34
30
29
-12
52
-64
46
95
21
14
10
-44
182
41
51
10
-15
19
-11
79
30
62
-29
49
-24
-56
-128
2
-16
52
102
-11
-19
35
-59
-33
-31
-54
0
-55
-72
-29
-20
29
-17
-63
8
117
-23
-34
-139
42
16
0
35
-74
-31
7
145
-9
36
5
-8
-46
-63
4
-17
32
-17
64
8
-26
3
-5
51
36
16
60
45
0
6
-5
55
-109
27
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-157
83
0
0
83
0
0
10
35
0
8
-7
0
0
25
-2
0
0
-11
0
1
-2
-28
0
40
-3
34
0
0
-15
0
0
0
0
-3
0
33
0
0
0
0
0
0
39
0
0
0
0
0
0
-83
0
-10
16
-11
0
0
-142
0
0
-4
0
0
-5
35
0
10
26
0
0
1
43
0
5
87
0
1
0
-40
0
34
3
-2
0
0
-82
0
0
0
0
-7
0
6
0
0
-5
-1
-6
0
86
0
0
0
0
0
0
12
22
0
0
0
0
0
17
0
13
-3
0
0
0
-33
0
0
0
0
0
0
-44
0
4
-9
0
0
0
-67
0
0
-1
-1
0
0
54
0
-29
0
0
0
0
-67
0
0
-11
0
0
0
46
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
-14
-13
14
38
-32
-72
-8
-35
-14
-7
-5
-12
46
98
-37
-4
7
-12
-17
55
-49
-25
-7
-13
-6
-14
-2
-73
-44
24
-26
-46
-28
-40
9
-2
17
-30
-68
-1
-75
17
-23
2
69
-13
34
-93
-24
162
17
-105
50
-17
-35
-35
17
7
-27
-53
55
-26
50
-20
3
19
-113
-3
75
86
-31
-22
16
-16
-16
75
82
-16
-2
-15
29
-6
6
-15
68
21
-14
4
-20
-25
72
-45
-21
-31
31
-3
4
10
75
11
-38
76
-76
95
-127
-7
-16
26
-16
13
-69
-13
4
-2
-40
34
-49
78
-23
-10
-13
44
15
74
-19
-176
37
-26
-75
-15
7
34
44
31
-14
54
71
-40
49
18
7
17
-10
25
-1
55
-18
21
-15
-82
-128
-12
-59
58
-32
-11
0
1
-34
-19
54
-15
20
72
42
-34
-66
-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
9
3
-41
128
26
-117
-21
8
10
1
15
-3
-3
21
25
10
-7
-57
33
20
61
14
9
-38
6
25
-3
15
-35
-3
31
202
44
-17
19
-5
2
-1
-26
39
-17
33
16
1
51
-34
-56
-99
74
-41
13
-17
33
-67
-20
39
-3
-4
1
-47
32
-37
134
-32
2
-37
-10
20
59
54
8
6
85
-89
-10
12
6
35
-16
66
67
3
3
-12
43
25
-7
-14
32
8
17
-27
6
-90
13
39
5
21
-17
20
-13
38
-32
16
17
12
23
10
16
-126
-188
-16
6
-50
29
54
1
-28
40
7
29
80
110
-8
2
-42
26
-8
6
5
5
12
5
27
19
39
17
7
40
88
73
16
-51
-1
31
28
-38
46
3
17
-46
61
2
47
73
-14
-75
-11
29
47
51
35
11
-71
-26
21
-11
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
44
-24
-7
-13
0
0
18
-68
-6
2
10
-37
-47
-84
10
-10
-18
4
-14
3
89
-33
-4
-1
74
5
0
-2
41
9
-7
0
-10
7
79
-4
12
-11
25
0
8
-93
-3
18
34
22
-91
0
2
-10
11
17
-8
-18
-11
9
50
0
-2
-4
21
0
92
36
-25
0
44
-33
0
4
38
-10
-2
2
15
-1
-19
2
1
0
-30
-1
52
-88
46
-25
0
132
14
7
11
-57
-12
-1
25
13
-13
-30
-16
8
-24
139
29
0
24
0
-25
-73
-4
-14
-14
0
16
-25
0
-38
-20
0
13
-22
-25
0
-88
50
8
7
-44
-15
-11
28
8
-27
-7
-47
-35
13
13
-21
0
-48
0
-9
5
73
26
-3
3
17
31
0
-16
65
0
-3
43
-23
-3
74
-29
0
-101
-3
-1
-95
5
-73
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-65
0
0
-16
0
0
7
-55
0
0
-1
-2
0
-14
-46
0
0
-5
0
0
0
-26
0
-66
0
-5
0
0
-40
0
0
0
0
0
0
24
-6
-3
0
0
0
0
49
0
0
0
0
0
-1
-23
0
6
3
0
0
14
-37
0
0
0
0
0
0
38
0
0
62
0
0
-5
2
0
0
-25
0
0
0
16
0
0
40
14
0
0
-96
0
0
0
0
0
0
41
0
-1
0
29
0
0
-76
0
0
0
0
0
0
-68
0
0
0
0
0
-7
5
0
18
0
0
0
2
95
0
4
-52
0
0
1
77
0
0
21
0
0
0
-42
0
0
0
6
0
0
-20
0
0
17
0
0
0
-31
0
0
0
-1
0
0
-53
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
23
11
-72
111
22
17
44
-19
25
29
91
11
-50
1
71
39
-25
-11
29
7
7
117
17
-100
-6
14
-26
2
-7
19
-2
1
6
51
-15
56
2
29
-166
-57
-128
27
10
15
36
36
6
-2
38
83
-2
-104
-61
-33
-81
4
25
2
-21
-19
19
60
-14
38
4
-86
16
2
5
16
15
3
-97
12
1
17
12
76
30
39
-20
62
-15
13
50
11
-62
37
58
28
39
-66
23
-8
140
-58
-5
44
-14
-19
-1
-21
89
36
18
-39
19
-136
30
72
27
88
-77
-12
-157
36
26
70
39
-3
-6
11
3
-12
-2
25
-49
-4
24
-71
-23
39
-29
83
10
42
-7
48
-85
-27
99
-2
52
-74
65
48
-36
9
19
-30
-4
69
-72
37
-35
12
89
1
78
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
-29
-4
29
40
-51
-8
8
36
2
-69
-6
-3
-23
-21
28
-49
-22
1
-1
-31
-59
-8
-19
46
-79
-7
-175
-45
59
-19
22
6
-79
-18
52
-93
8
-9
70
2
0
-55
34
-4
-24
-40
18
-112
62
6
29
-26
11
15
-121
49
27
0
28
-38
16
-30
6
30
-23
94
-28
6
51
-5
6
6
38
23
-24
-36
38
41
-3
102
30
34
22
-13
-51
-1
-7
-69
55
19
14
62
16
27
2
30
135
16
5
7
102
-29
79
-54
51
22
-9
-1
-43
58
-82
-21
91
41
-60
-48
41
38
58
-72
0
-71
-25
-4
-7
107
-12
-6
-26
-26
-43
-49
51
40
6
22
-19
6
-21
114
27
15
72
1
15
-18
54
-73
18
-54
-32
50
68
30
5
24
37
-65
16
-6
-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
0
0
0
0
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
2
-4
-1
0
1
-46
0
0
-67
0
0
0
7
0
164
0
10
0
0
-26
0
0
0
0
0
0
31
-1
0
0
0
0
0
-9
8
0
0
0
0
0
-76
0
32
13
45
0
25
-74
0
-6
-17
-1
0
0
-58
0
0
94
0
0
12
1
0
-2
-24
1
0
0
-58
0
0
-4
-6
-8
0
27
0
0
-24
0
0
0
29
0
0
0
0
12
0
40
0
0
0
0
0
0
-17
-8
0
0
-9
0
1
-22
0
6
0
0
0
0
111
0
0
-5
8
0
0
0
0
13
11
0
0
0
-119
0
0
0
0
0
0
0
0
-15
-3
0
0
0
11
0
0
8
0
0
0
31
0
5
0
0
0
0
-38
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
-32
7
-1
-15
-11
0
0
1
0
-29
0
145
0
240
-4
18
2
0
8
0
0
5
0
0
0
-13
48
0
0
0
0
0
79
6
0
0
0
0
1
-42
0
0
78
-16
0
-19
-125
0
0
26
0
0
1
5
0
0
-13
-19
0
0
-47
0
16
20
-6
0
0
-40
0
0
-8
-4
-40
0
162
0
0
33
0
0
0
95
0
0
4
12
-13
0
-14
0
0
0
0
0
0
-72
0
0
-10
0
0
-1
24
0
27
-23
0
0
0
-60
-4
0
-2
-26
0
0
55
0
-36
0
0
0
0
40
0
7
-7
10
0
-10
-109
0
7
0
2
0
0
-57
0
0
2
0
0
0
-43
0
28
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
68
30
41
11
25
6
35
53
7
-12
31
45
30
-3
-12
52
-15
64
23
3
-38
-13
-3
115
24
1
-6
-41
-19
2
14
-25
68
29
-4
17
62
-4
69
-63
3
44
-62
68
55
-14
1
-26
36
54
-14
6
4
34
3
46
-22
31
57
10
10
13
37
8
-23
-44
69
33
15
-12
47
-9
58
23
31
30
18
2
-1
65
9
-29
6
-47
30
45
6
33
-1
14
55
-2
-1
100
58
27
21
91
-4
85
-47
0
-90
-11
97
58
22
17
47
46
34
58
-106
-54
147
50
-63
-1
-16
-39
48
39
-36
76
-13
-8
34
17
25
41
-54
15
-13
-4
8
6
21
60
32
-1
80
-33
82
-44
-107
11
-2
-51
-58
-14
23
27
10
-79
82
-6
34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
-76
0
0
-172
-44
0
0
31
0
0
-2
-23
0
27
19
0
0
0
-120
0
0
-3
0
0
0
35
2
27
0
0
0
0
20
-3
0
0
0
0
0
-80
0
-3
61
0
0
9
24
0
0
-3
0
0
74
-10
0
0
14
0
1
5
63
0
0
-74
0
1
-11
7
0
0
80
0
0
-2
-14
0
0
61
0
-10
0
-61
0
0
-3
0
103
0
-47
2
0
0
0
0
0
22
0
0
0
0
0
-4
20
0
-3
0
0
0
0
-5
0
0
-6
0
0
0
-32
0
-13
-4
0
0
0
-40
0
0
22
18
13
2
-153
0
60
10
0
0
0
33
0
0
64
0
-5
0
-100
0
41
48
0
-15
0
-61
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
70
-2
0
-43
-43
0
0
-52
0
0
0
2
0
-71
-20
42
0
0
-116
0
0
0
7
0
0
-9
5
0
0
-9
0
0
-81
-4
10
0
0
0
-4
-6
0
0
98
-10
0
6
67
0
8
7
0
0
28
72
0
0
-39
4
0
88
86
0
0
-99
0
0
-2
34
0
0
-27
-32
0
0
-3
0
0
98
0
0
0
-111
0
0
-2
11
0
0
-113
0
0
0
0
0
0
-177
0
0
5
0
0
0
-25
0
34
-20
0
0
-2
91
0
0
11
0
0
5
1
0
41
-16
-14
0
-4
-63
0
-4
121
5
0
14
96
0
110
-21
0
0
2
-23
0
0
47
11
0
0
-51
0
5
0
0
0
0
-47
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-29
0
-29
-58
-21
3
-8
-7
-4
-38
-71
29
-99
0
14
6
-37
-16
54
-4
0
46
-30
-80
0
2
-62
-5
12
-82
-1
-8
-5
0
-22
-14
76
25
11
-120
-29
26
8
-14
18
-14
-7
8
67
-3
3
-33
-3
-54
13
-29
-23
-9
-1
-49
-12
2
-72
15
0
17
-10
-40
101
22
-1
0
42
11
39
-52
-12
38
-12
37
73
14
10
28
21
-24
-29
-4
-26
43
0
-1
35
-52
-7
19
0
14
-33
-1
13
61
0
0
20
10
-8
18
0
-20
0
0
21
-7
-124
49
-58
10
7
19
7
73
-112
97
-23
-145
17
2
-119
13
2
42
8
35
14
-54
55
-114
81
3
61
0
21
121
9
52
0
30
201
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-114
-35
-5
-75
-27
2
0
41
-1
19
-11
-35
40
-8
-93
-72
-13
-78
-21
-26
-6
-17
-12
-69
-8
21
64
23
-13
11
26
-70
35
69
-3
70
-19
13
-30
-20
6
-9
31
-69
-13
50
-45
1
2
-8
-27
39
10
22
55
0
-18
-3
-7
-30
-14
-50
4
-58
-47
-8
40
49
-21
-23
-49
2
21
-47
-14
15
30
-73
14
11
6
-16
42
18
-2
24
-76
13
62
-61
16
-7
17
8
56
46
25
10
34
-4
27
-17
36
53
-3
20
43
31
-56
9
69
-8
-32
-15
53
30
-57
93
0
21
-11
3
-4
50
6
-16
-28
-39
5
10
6
78
6
-26
42
15
11
38
84
1
6
-5
-13
111
-36
-96
8
20
19
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-106
0
0
30
0
0
0
36
0
38
4
0
0
0
73
0
-5
0
0
-2
0
-43
0
24
0
0
-20
10
-20
0
-2
0
0
0
0
27
0
0
29
-3
0
7
28
0
0
0
7
0
0
-6
0
0
-4
0
0
19
-6
0
0
-12
0
0
0
52
0
0
-6
-3
0
-7
4
0
0
-2
0
0
0
111
0
0
0
0
0
0
50
0
0
0
0
-9
0
-5
0
0
0
0
0
0
3
0
-16
0
0
0
-2
79
0
0
0
0
0
0
9
0
-3
-6
0
0
-4
-68
0
8
0
4
0
0
121
0
13
10
0
0
0
58
0
10
2
0
0
0
72
0
-16
0
0
-2
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
38
0
0
-35
0
0
-9
82
0
-62
41
5
0
0
-58
0
0
0
0
-1
0
1
3
0
0
0
0
0
10
0
0
0
0
0
0
4
-11
0
56
23
0
-21
-29
0
-8
10
0
0
6
-12
0
-10
23
39
0
0
-11
0
0
-85
0
-14
0
34
0
13
11
6
32
0
-7
0
8
0
0
-12
0
-65
0
1
-1
0
-11
0
17
1
0
0
-1
1
0
37
-15
0
0
0
0
0
7
0
-8
-20
0
0
0
-44
0
0
-15
0
0
0
16
0
-5
1
0
0
0
-150
0
0
0
0
0
0
-53
0
1
33
0
0
0
41
0
0
0
12
4
0
83
0
-4
0
0
1
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
-22
-5
-8
15
48
78
18
-9
6
-9
-1
95
-2
-21
-6
-20
44
57
24
-1
-35
0
-5
-10
-26
0
49
16
-2
3
-30
-9
-57
1
-8
-41
18
24
46
1
62
60
1
0
-19
-21
-20
9
-17
-27
0
-58
-11
49
47
-73
-74
-2
8
64
-6
52
-3
15
10
-10
47
101
12
39
96
0
-17
-179
77
-47
42
-16
-5
8
-40
-7
0
32
-1
3
-48
82
4
31
-165
-1
-12
-24
11
13
-40
-8
42
19
40
-59
27
-32
29
18
21
-42
35
-55
-50
121
-5
13
75
0
-93
60
-22
-79
9
-1
-79
-6
-36
63
-60
-1
-3
29
-4
19
108
-30
9
8
-50
-90
0
60
-7
5
11
6
104
1
9
0
-32
-56
28
79
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-9
24
0
-39
3
41
13
59
18
0
12
15
29
19
19
1
0
21
0
-20
29
56
0
-14
43
-2
-43
-36
-2
-8
0
-7
2
28
-41
-17
120
5
21
69
11
-7
-70
81
7
106
-32
-16
-20
-7
-30
-19
-1
-16
2
0
-3
-11
41
-26
13
2
21
25
14
77
-26
1
16
0
24
67
0
62
7
39
-16
13
62
0
20
3
-8
-88
68
-1
0
15
-9
-70
-129
5
0
0
0
52
-26
4
-10
29
0
-17
55
-43
0
27
-82
29
0
-3
5
0
-22
83
-1
28
50
-10
0
75
-30
6
0
-75
11
12
23
50
0
104
-28
-9
-21
26
18
0
29
0
24
-11
72
38
0
-107
0
-20
43
20
-43
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-38
0
0
-1
48
0
-71
149
-95
0
0
-68
0
0
6
0
0
0
-35
-23
37
0
-16
0
0
-56
21
0
0
5
0
0
-20
0
0
4
15
0
13
27
0
0
13
0
0
39
5
6
0
41
-17
2
68
21
0
1
17
3
0
38
-13
0
0
10
-54
0
-3
2
0
28
33
0
0
0
45
0
-17
-28
76
0
0
-39
0
-15
0
0
0
0
-62
-14
0
0
0
0
0
174
0
3
-10
0
0
0
36
0
1
-9
-3
0
-38
55
-1
-3
-73
0
0
-8
-26
0
-1
101
-29
0
-25
-15
0
-7
-85
0
0
0
-91
0
0
1
7
0
0
72
0
-7
0
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
-10
-8
-9
29
4
33
-180
-4
7
-51
8
21
36
-103
0
10
66
-92
-1
2
15
-19
0
-44
-1
12
-19
0
140
-36
6
-23
29
16
33
-82
30
0
-9
6
66
21
-169
17
0
37
23
59
73
-14
-8
-8
63
54
4
-50
0
16
-8
-85
3
-9
-39
31
-24
3
-3
5
-26
-47
1
-8
-11
-57
27
-51
-27
0
15
32
0
-8
24
-16
1
9
-16
88
0
7
0
-6
11
7
64
173
-10
-1
197
19
0
-32
53
30
-18
20
37
21
-66
-27
84
-74
-10
-26
1
-32
-54
-9
15
27
1
0
-24
6
43
14
13
47
0
-54
66
71
-61
0
9
1
14
-89
1
-85
0
-32
77
-21
80
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-28
-9
3
-2
-62
59
-18
43
-90
43
30
-63
91
-6
9
-52
-26
-67
-81
63
3
-21
71
21
40
-17
40
1
-6
69
43
18
-15
19
0
-49
-75
37
-87
35
21
8
33
85
-13
-76
-13
55
16
-3
-30
15
-5
84
1
0
-24
32
29
-13
-13
-66
-2
-51
13
12
35
57
15
14
46
33
34
-50
-19
-78
-5
46
-4
-40
-119
-26
-49
-2
-32
61
60
9
-82
11
-12
30
1
61
55
12
-47
31
99
82
34
-90
119
14
-6
-19
-42
16
30
43
-90
6
75
67
-43
-50
20
-15
0
46
-26
-6
2
-33
60
-21
91
56
29
18
90
38
-22
60
-79
31
-35
-14
-15
24
-36
-8
5
-102
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
92
14
-6
0
4
-23
0
0
0
0
0
0
21
33
0
0
0
0
0
18
5
0
0
0
0
0
-98
0
3
-21
0
0
0
72
0
0
13
0
0
4
65
0
0
-3
27
0
0
-49
0
0
39
0
-1
0
1
0
0
-1
0
0
0
5
0
0
0
0
0
0
59
0
0
9
14
0
0
-50
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
0
0
-4
20
0
0
0
0
0
0
-3
0
0
-2
0
0
0
56
0
-2
0
0
0
0
-96
0
13
9
0
0
0
5
0
0
6
0
0
0
-57
0
-23
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
-5
44
-8
0
69
0
0
0
0
0
0
6
-4
0
0
49
0
0
51
0
0
0
0
0
-1
-92
0
0
1
0
0
-5
-31
0
0
-48
0
0
0
-13
0
0
59
-1
0
-26
-35
0
0
-19
-2
3
5
-32
0
0
-8
-13
0
20
3
0
0
-1
0
20
0
-127
0
-1
-8
31
-12
0
55
0
0
0
0
0
0
-56
0
0
0
0
0
0
32
0
48
-7
0
0
0
-13
0
0
0
0
0
0
39
0
14
-7
0
0
0
-10
0
0
-10
-3
0
-2
-42
0
1
0
0
0
0
79
0
0
29
-15
3
0
87
0
-11
0
0
0
0
-82
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-9
-21
3
-30
132
30
19
-9
51
-136
38
-14
5
17
-71
-15
23
7
5
2
-34
2
-89
11
-1
-15
34
115
-93
38
9
-11
-58
25
-20
-45
5
-46
27
-48
34
154
-35
1
35
-91
-16
-9
27
20
-23
-85
13
-42
6
-31
65
110
-2
-21
-10
-6
45
3
-63
-25
4
46
12
21
24
17
-10
-31
0
1
-30
12
-1
-46
-29
-13
30
73
-13
24
7
9
-10
59
-24
-115
64
17
10
29
51
-6
15
-44
9
59
24
41
19
-131
-18
-26
75
-30
12
0
0
95
-57
19
-119
-12
53
-12
2
-76
36
-69
45
-52
-17
-18
50
-54
-13
11
-10
5
5
-3
-26
0
14
-30
-18
0
49
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
-46
0
-22
12
9
0
0
31
0
0
31
0
0
0
-54
57
27
0
0
0
0
-52
-1
0
0
0
0
-4
32
15
0
-1
0
0
50
-7
0
-17
144
0
0
-54
-6
0
-1
81
-1
0
-3
-63
0
0
-19
0
0
0
47
0
0
-30
0
0
-8
10
0
0
1
0
0
0
75
0
0
-6
7
-54
0
-19
3
0
0
0
0
0
62
4
0
0
0
0
0
-52
0
23
0
0
0
0
-22
0
0
-23
0
0
0
-13
0
0
-24
0
0
0
69
0
0
-20
-20
0
0
9
0
-11
-11
0
0
0
-34
0
0
16
0
0
0
-42
0
-19
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
-1
15
0
-29
13
-24
0
1
-7
0
-4
0
0
0
0
37
83
10
0
33
0
0
-29
35
0
0
0
0
20
41
-2
13
32
2
0
-57
21
0
-25
68
0
0
-78
-24
0
0
-1
-42
0
-49
2
0
11
-42
0
0
38
-75
0
11
-28
21
0
13
48
0
6
47
0
0
0
-8
0
0
-94
-61
0
0
-5
0
0
0
0
0
0
-32
-1
0
0
2
0
4
-19
0
66
10
0
0
-21
8
0
0
-13
9
0
0
89
0
89
29
0
0
35
82
0
-13
-101
55
0
4
-74
0
-24
-30
0
0
-11
36
0
8
35
-17
0
0
79
0
-11
-31
0
0
0
-30
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
16
0
-6
15
47
0
-27
0
0
56
6
-1
4
0
0
4
46
-1
7
41
29
-19
8
18
0
-12
30
0
-1
1
2
11
0
-10
89
1
-16
-12
9
-27
-20
-7
-12
0
-5
0
0
12
23
-65
0
-35
-2
-8
29
0
-14
0
-40
18
0
-12
102
-29
0
9
6
0
-3
16
15
0
125
-71
0
0
0
0
0
-34
0
-42
-13
0
-21
-12
-49
2
-5
41
14
0
0
92
-6
-4
93
-2
7
0
-25
0
95
-126
80
5
0
-19
0
-86
45
0
1
0
-18
0
0
1
11
0
0
-28
0
-45
-52
0
-39
0
97
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
34
1
-12
72
-19
-2
-6
3
11
-2
-82
7
-2
11
105
-8
5
86
213
46
6
-35
27
-33
-28
27
27
-5
28
41
3
-65
-47
-11
-18
-90
-9
6
-45
-37
-32
3
-84
-40
6
-35
-61
28
5
44
-22
-15
-9
20
-71
0
21
48
-85
2
15
171
33
-66
107
-7
-59
-33
2
22
4
0
22
-86
57
2
40
2
-49
52
-141
1
61
74
53
-45
-67
-22
-95
-7
13
56
-47
-23
-38
1
44
31
-73
17
29
-33
38
14
6
70
32
-9
21
11
-39
22
-3
-13
3
0
-34
3
0
1
51
56
-23
156
95
1
-16
27
61
-4
-6
17
33
-19
143
-3
-101
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-119
0
0
0
0
0
-5
-60
0
0
0
0
0
0
28
3
0
0
0
0
0
-31
0
0
21
0
0
-9
91
0
0
-5
-3
0
-5
-84
0
0
6
0
0
5
-19
0
0
-18
0
0
-3
-7
0
0
0
0
0
0
-3
0
0
0
25
-19
0
68
0
0
0
0
0
0
69
0
0
0
0
0
0
15
0
0
0
0
0
0
34
0
0
0
0
0
0
6
0
0
2
0
0
0
34
0
0
1
0
0
0
-30
0
-1
27
0
0
0
-1
0
0
0
0
0
0
-60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
137
32
2
-39
-31
-2
-25
6
-4
32
2
-46
-68
4
-1
55
61
42
-13
1
14
1
79
-11
110
33
22
-1
-35
4
-14
-86
37
28
13
-33
-30
14
64
-7
-6
-20
-43
-6
19
57
79
11
-11
62
16
25
42
0
-2
2
66
-92
41
119
24
-39
40
20
80
8
3
6
-5
8
-51
70
1
38
8
56
-1
25
57
-26
54
-42
80
-10
-80
-14
5
89
19
-19
2
6
65
-13
81
143
-25
10
88
-23
-25
66
47
-6
-19
-22
-34
16
40
-21
60
14
-21
-82
19
-7
71
24
-25
80
46
23
-15
22
-33
17
-13
-176
-17
-45
10
-6
-1
-9
118
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
5
-6
63
0
0
9
68
108
0
-57
0
-4
-23
-19
0
-42
-3
0
-79
-40
7
-4
27
8
-28
-2
53
0
7
-106
-1
56
41
46
7
7
2
-10
-14
-12
36
0
-37
-30
-34
72
-13
-37
-3
-25
-14
-59
-14
20
-43
0
97
1
-20
64
0
7
-5
-24
-1
-84
-4
0
-19
23
-60
0
19
0
0
-33
3
0
-7
-84
0
0
69
0
-11
132
0
-15
11
77
-1
0
24
131
-22
-87
-5
17
-50
73
-6
2
121
-11
0
34
14
-55
-32
-49
-14
0
-137
-56
-1
-55
0
24
0
-60
2
23
-34
0
-7
0
21
0
0
28
0
-10
60
-8
0
-16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
5
85
16
26
0
17
-44
120
0
0
-20
0
-6
12
-4
2
2
10
12
26
8
-34
59
0
15
57
20
1
11
40
6
24
72
4
0
-15
-21
45
-39
27
3
-1
-106
-9
0
-32
103
-2
0
-10
18
0
-61
-117
25
-1
-2
6
-5
19
5
10
1
-32
-8
0
-1
0
-16
24
21
-1
0
-52
5
6
44
2
58
0
-8
35
-8
-37
54
10
0
7
-44
-18
16
-132
64
-20
8
-55
6
-4
100
13
30
-3
45
-31
0
-3
11
0
12
-16
51
0
-48
68
0
12
-15
5
-11
10
-74
0
-64
1
1
30
62
-33
0
8
0
-29
-77
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-10
0
-44
0
0
40
6
0
0
-1
0
2
80
0
0
-56
-77
0
-10
-35
0
12
-10
0
0
35
-43
0
-1
13
-57
0
26
-87
0
-4
26
0
0
-2
-10
0
-1
-64
21
0
-27
48
0
0
-98
0
0
-3
-51
0
-3
30
10
0
0
12
-20
0
0
0
0
0
16
-8
0
0
0
0
0
-33
0
-56
0
0
0
-7
52
0
-2
-44
4
0
17
-15
0
-10
-73
0
0
-1
23
0
6
77
-9
0
3
-20
0
7
-86
0
0
-13
34
0
0
17
34
0
0
7
0
132
8
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-27
0
0
21
0
0
0
0
0
0
-60
0
2
21
-10
66
-11
51
1
6
42
0
-55
-8
28
0
-20
-19
8
17
2
-10
0
6
16
0
12
0
-60
0
0
-39
-16
-5
0
-83
0
0
-46
0
-122
0
89
0
-7
-8
-7
43
0
-28
2
0
0
0
15
0
32
0
0
0
0
0
0
-21
0
2
0
0
0
0
-24
1
0
-17
-11
0
0
-93
0
3
1
0
0
0
59
0
0
-13
9
0
0
-62
0
8
3
0
0
0
-61
0
0
-6
-4
0
0
20
0
-49
0
0
0
0
-62
-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
-1
-2
61
53
-19
141
-33
-46
-8
26
-14
15
-49
-117
4
10
-67
21
48
-23
11
-12
7
-11
1
24
-22
-61
-40
6
-4
-5
16
9
-57
8
-5
-39
100
31
-35
-52
-49
-14
-50
-51
21
-17
-37
17
1
-7
77
31
-17
-8
45
0
38
-45
-66
-13
3
23
-11
-34
-47
-32
26
-1
17
20
7
-100
192
100
12
45
-4
-25
1
-126
114
-181
107
11
102
-55
60
-27
133
-20
-1
-6
56
53
113
34
42
12
7
-2
-1
4
9
-26
0
-12
-4
18
42
26
-37
2
2
98
56
37
6
-30
0
0
20
-53
59
83
-36
33
-55
-33
-29
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
18
-45
0
0
0
2
0
77
0
0
0
0
0
0
-46
0
0
6
12
0
23
-29
0
0
5
0
0
23
113
0
0
-10
-61
0
1
-14
0
0
16
0
0
0
-65
0
0
17
59
2
0
14
0
0
-4
0
0
0
-42
0
0
0
-8
0
0
13
0
-2
0
0
0
0
-32
0
0
0
0
0
0
-4
0
-2
0
0
0
0
6
0
0
0
7
0
0
-32
0
17
0
0
0
0
46
0
0
0
0
0
0
-36
0
-1
-2
0
0
0
69
0
0
20
-2
0
0
-99
0
9
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
27
18
0
0
0
0
0
6
0
0
-2
0
0
-1
62
0
0
6
0
0
0
-45
0
0
68
0
0
13
38
0
0
18
0
2
15
-23
0
0
-4
-2
0
0
-135
0
0
15
0
0
0
79
0
0
0
-9
-3
0
-58
0
0
0
0
0
0
-23
3
0
0
0
0
0
13
0
-3
-3
0
0
0
-82
0
0
0
0
0
0
-23
0
4
0
0
0
0
110
0
0
0
0
0
0
81
0
68
0
0
0
0
33
0
0
0
0
-1
0
85
0
-3
0
0
0
0
-91
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
-39
0
0
-18
0
0
0
0
-1
-10
-59
-13
0
-10
-4
1
-24
20
0
0
-28
-5
25
49
52
0
-3
30
38
-5
-67
-15
0
-8
-7
17
31
-1
-24
0
0
-8
86
-19
0
-21
0
0
6
0
24
0
116
0
-6
0
-28
15
0
-9
-7
0
0
0
-20
0
-60
-5
0
0
0
0
0
69
0
-7
0
0
0
0
-68
0
0
-3
-1
31
0
-22
0
-3
-1
-12
24
-7
80
0
0
1
-6
18
0
-76
0
-17
0
0
0
0
-9
0
0
0
28
19
0
-24
0
-44
0
4
-28
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
-1
0
0
0
0
0
0
42
0
0
-14
0
0
-17
14
0
0
-54
0
0
38
-47
0
0
2
0
0
0
54
0
0
-76
0
7
-12
59
0
0
77
-2
0
0
42
0
0
-27
0
0
0
-71
0
0
-4
0
-7
0
18
0
0
0
0
0
0
157
-56
0
0
0
0
0
63
0
0
0
0
0
-1
-44
0
0
-5
0
0
-18
-26
0
0
31
0
0
0
111
0
0
-5
-5
0
0
12
0
0
-5
0
0
0
54
0
0
4
0
0
0
-210
0
6
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
-21
-109
-11
0
-49
0
0
4
-19
0
-15
15
0
83
43
-6
-2
4
-19
0
3
-7
0
51
-12
7
0
19
-8
0
5
-18
82
0
50
1
0
-6
23
-35
0
39
-60
0
19
-93
-52
0
-35
-20
4
105
-29
0
0
14
-20
3
-61
-67
4
0
0
-5
-10
-22
2
0
0
0
-28
45
0
0
0
0
48
74
0
-51
78
0
0
-4
28
-1
0
-4
-35
0
-70
-13
-4
38
16
1
0
-1
-2
0
2
52
24
0
-24
19
7
53
94
0
0
-30
47
0
28
-26
-118
0
0
-64
18
19
28
0
0
0
37
72
14
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
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
-85
0
0
9
0
0
14
-43
0
0
7
1
0
0
-46
0
0
-1
0
0
0
5
0
0
0
0
0
0
28
0
0
0
0
0
0
-24
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
3
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
-1
1
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
-23
-7
31
-20
-21
50
69
14
-12
-10
48
-1
22
26
40
3
48
-57
28
44
24
15
-9
-2
-32
19
26
-28
19
0
0
25
6
53
-2
25
-6
-15
-63
8
0
6
0
-3
-9
-16
-29
-34
-24
1
-29
13
-39
-4
-2
-19
33
0
-111
-27
-70
40
23
36
10
79
-39
-79
8
-37
34
43
36
7
-18
-58
117
29
-13
114
-78
10
85
89
-39
4
1
59
0
24
-23
21
0
-27
2
47
-32
87
-36
0
-64
1
5
17
-8
-4
-28
-24
23
16
-14
36
144
10
-126
-43
21
55
58
10
0
87
-3
-88
-124
-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
-51
-44
0
-41
62
0
-23
-14
21
-20
-51
28
-23
-54
15
-6
4
-16
-7
-10
-45
-4
1
-9
7
-76
-9
-87
-19
19
11
-26
2
11
-25
4
4
-17
-16
46
19
77
-13
0
104
-26
-1
11
-5
68
0
44
129
-144
-82
-1
55
0
3
23
7
-15
0
-71
42
-5
-6
-8
2
23
10
6
-24
-85
-6
1
-21
-17
0
39
-73
-19
1
-27
34
0
-58
-81
44
-41
61
-65
0
187
-65
-33
45
-118
-27
7
116
-33
18
-17
-5
-22
8
120
-14
-72
-54
-1
38
-3
-56
76
0
31
-7
23
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
11
0
0
40
91
-1
0
-17
21
95
78
-26
0
0
-52
0
-62
5
-28
-3
-5
-13
-10
11
-31
-7
39
59
-25
23
-6
54
-34
0
-16
-47
22
15
-5
-84
7
-3
59
-51
-23
-3
119
0
-36
-34
-80
-6
0
-14
3
-2
-15
0
-20
0
57
1
0
5
-24
0
0
-98
0
1
-7
0
9
-38
49
0
-9
13
-10
0
4
-24
0
14
-75
-1
-21
11
27
0
-56
-55
-60
-15
2
33
0
6
-59
-4
56
-34
-52
5
-9
43
21
3
-15
-131
0
64
87
-9
-8
0
70
-77
-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
-36
0
0
0
0
0
0
4
0
0
1
0
-5
0
-6
0
0
0
0
0
0
-13
0
0
-1
4
0
0
6
0
0
-1
0
0
0
-19
0
0
0
-1
0
0
-14
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
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
-10
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
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-2
-12
1
7
45
150
0
14
91
23
0
-11
1
0
-46
-58
58
0
-6
18
0
12
-9
4
0
-3
-9
0
40
-39
-33
0
25
21
0
18
44
-15
0
0
147
0
14
-18
81
0
15
12
0
13
0
32
-36
0
0
0
-3
0
12
-10
0
-11
0
0
0
22
0
-125
-13
0
-24
8
40
0
0
-36
0
8
-19
-31
-3
-66
-87
0
-26
20
55
0
14
31
-17
2
117
2
0
8
37
0
25
14
-61
14
6
17
13
-84
6
36
0
-51
12
0
-35
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
44
0
0
0
7
-23
13
0
16
1
0
-16
7
0
-6
-36
0
0
84
-20
0
-5
24
11
0
83
-102
0
0
-61
0
0
5
-64
0
0
64
-41
0
0
-6
0
0
10
-2
0
0
85
-4
0
-8
-4
0
0
1
-10
0
0
0
0
0
-9
0
0
0
0
0
0
-34
0
-46
2
0
0
0
29
0
0
-5
3
0
0
6
0
39
56
0
0
-10
-16
0
2
6
-20
0
9
-49
0
52
-13
0
0
0
-3
6
-4
0
0
0
0
63
0
66
0
0
0
0
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-152
0
0
2
0
0
2
30
19
0
-2
1
0
-40
52
2
0
5
0
0
0
87
0
0
-23
0
0
0
-27
0
0
0
0
0
0
141
0
0
0
0
0
0
-15
0
0
0
0
0
0
91
2
0
0
0
0
0
-9
0
11
0
0
0
0
-13
0
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
-21
0
25
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
-128
-9
18
-118
13
-14
-69
27
13
2
9
21
-53
-7
43
12
114
20
16
-30
-44
-20
5
33
17
20
25
-4
-8
5
-55
20
3
15
-32
-15
12
12
-4
-47
70
7
-42
-9
-3
-29
0
-23
29
-30
1
-58
-58
15
-10
-4
-24
0
-26
59
-12
-61
-1
-18
-10
10
-94
-25
-51
8
39
7
16
-8
-55
-35
-83
-22
19
57
-14
-4
0
-40
-72
-7
62
-78
51
-4
70
21
-11
43
11
-19
-19
30
35
26
49
10
-34
45
4
-60
12
12
24
-35
25
24
72
13
20
17
-39
-42
-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
10
49
16
-10
57
5
-2
54
-27
-62
-11
82
-2
0
21
24
-8
-7
19
26
-1
35
-87
0
0
5
27
0
-21
-7
0
3
127
113
0
-44
-12
16
0
-58
0
-17
4
-21
0
50
10
-11
1
0
19
25
0
0
0
-3
0
6
0
-10
0
8
0
0
-4
0
19
-26
0
-6
-24
43
0
11
56
10
0
-13
-56
0
44
70
-9
-11
4
-35
0
-38
-7
32
11
18
43
4
-31
20
0
0
5
23
0
0
81
15
9
0
16
2
-85
0
0
129
0
7
64
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-6
0
-2
0
-49
0
0
-1
0
0
0
-40
0
0
34
-25
3
-5
-34
0
0
-9
0
0
0
64
0
0
1
0
-6
0
-24
0
0
0
0
1
0
-90
0
0
0
0
-4
0
-65
0
0
0
0
0
0
57
0
0
0
0
0
0
2
0
51
0
0
0
0
37
0
0
0
2
0
8
73
0
-1
-5
0
0
0
40
0
0
0
-4
0
0
-45
0
0
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
-8
58
0
13
-68
0
0
2
18
1
0
1
-10
0
45
-47
0
-11
111
0
0
0
-15
0
0
2
105
0
0
168
0
0
2
0
-28
0
34
0
0
0
-10
-10
0
33
0
0
0
0
0
0
60
2
0
0
0
0
0
6
0
57
0
0
0
0
53
0
10
4
2
0
0
34
0
44
24
0
0
0
-46
0
0
26
-10
0
0
38
0
-54
0
-5
0
0
14
0
-2
0
-1
-3
0
-33
0
8
11
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-27
0
0
-13
0
0
0
40
0
0
37
0
0
44
22
0
0
-40
9
-1
0
-10
0
-11
-27
-20
0
6
-90
0
0
2
0
-21
0
84
0
-1
0
0
3
0
80
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
27
0
0
0
0
-6
0
0
0
0
0
0
40
0
-9
-7
0
0
0
-67
0
0
3
0
0
7
44
0
0
0
0
0
0
31
0
0
0
0
0
0
36
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
-82
0
2
-20
0
0
0
-83
0
0
0
0
0
0
-119
0
6
0
0
0
0
33
0
0
-4
0
0
0
4
0
0
3
-1
0
0
-84
0
0
0
0
0
0
80
0
0
0
0
0
0
-38
0
0
0
0
0
0
-31
0
0
0
0
0
0
-45
0
1
-20
0
0
0
-14
0
0
6
0
0
0
74
0
-16
0
0
0
0
-122
0
2
0
0
0
0
99
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
7
-10
6
-10
-22
0
0
52
38
0
-1
-51
18
0
-85
4
0
24
-55
-9
-13
5
-1
0
14
121
100
-42
-17
-62
0
0
5
0
42
0
-8
3
-15
1
25
-14
0
-10
0
-12
0
0
4
0
132
16
0
4
13
0
0
79
0
17
22
-5
0
0
51
0
0
60
-11
11
1
39
0
7
102
-7
0
-2
-8
0
-19
-69
-28
0
0
21
0
-48
-3
8
0
0
-53
12
4
38
2
1
0
34
0
31
0
0
-8
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-56
64
119
-7
2
11
60
41
4
42
65
-31
4
19
6
1
-37
25
-27
-20
12
70
-2
-27
-25
-52
13
-17
57
-11
-19
13
38
14
120
9
-34
38
9
6
-24
-141
-6
-22
-34
-9
-38
11
87
-69
-18
-1
-7
6
0
56
-12
-33
-51
14
38
-14
-5
82
61
74
63
-23
-20
72
-7
0
-77
5
37
-35
24
-25
20
83
-7
-18
20
105
35
30
-5
105
68
-29
-49
-75
-21
38
-112
40
30
6
48
-42
61
3
21
-16
2
51
116
53
-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
-28
0
-31
24
0
0
9
10
0
50
152
39
0
65
54
0
2
129
-8
5
-1
-73
0
-8
28
-40
22
17
-166
0
0
24
0
1
0
87
0
0
-1
0
15
0
-63
0
0
0
6
0
0
7
32
-7
0
15
0
0
-4
11
6
17
0
0
19
-8
0
-2
14
-2
0
-14
103
0
78
0
-3
5
12
-86
0
9
48
0
0
9
17
0
-28
49
0
0
0
2
0
3
34
0
8
0
-24
0
-38
0
0
0
0
-11
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
-38
66
25
5
90
3
0
-35
66
0
0
5
-22
-4
-61
8
0
0
-10
9
6
-43
40
-6
-16
105
-4
-4
-3
14
-6
0
-4
0
112
-3
1
0
0
2
5
47
0
42
0
0
0
0
10
0
10
-51
0
0
0
0
0
40
9
107
-1
0
0
5
5
12
-2
0
-7
9
14
28
16
-34
65
0
-4
0
50
0
-1
-58
-84
26
-11
-17
0
-48
37
0
0
0
-120
0
5
48
0
0
0
-14
0
96
-7
0
-4
0
16
71
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
34
-6
-30
25
-61
29
7
-83
-16
9
-42
13
54
-14
11
44
17
61
16
39
-17
117
2
71
56
54
45
-4
-17
21
-36
33
-1
69
-5
-19
-25
-20
50
0
0
49
-26
1
0
24
0
-16
133
-3
-1
0
-13
5
21
-43
24
-8
0
0
-30
12
-1
-32
-24
-43
0
-29
12
0
-25
-79
130
31
89
16
0
-74
12
114
70
12
26
10
10
79
5
33
-17
8
20
-37
-23
25
-87
59
29
-1
-19
-108
5
66
0
-14
-10
-12
29
11
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
17
42
0
33
-146
-66
-7
0
-65
0
-48
78
-61
0
8
63
5
-11
-13
19
0
-25
73
7
50
12
-33
-3
7
31
-1
106
-2
-19
0
0
-27
0
-42
0
60
-19
0
0
-4
18
0
-63
-28
0
0
0
0
0
38
1
190
26
0
13
5
37
0
-1
163
0
0
-18
-24
2
60
26
4
-7
83
-51
0
89
-2
11
2
-22
0
0
52
44
0
18
1
-48
0
-7
-29
-14
-31
0
-6
1
36
17
0
-17
7
23
60
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
37
0
-3
4
0
0
1
4
6
-1
49
30
0
-16
-65
0
-8
39
-3
0
23
-53
0
0
-14
13
0
13
0
0
5
48
0
0
0
92
0
0
-25
2
-2
0
62
0
-4
0
0
0
-1
-47
0
0
0
0
0
0
84
0
27
74
0
0
0
17
0
0
11
-3
0
27
106
0
36
19
0
0
-1
93
0
27
-3
55
0
0
1
0
-89
116
-7
0
1
62
0
-12
-19
-6
0
0
100
0
-41
2
18
0
0
115
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
15
-12
1
17
-7
-5
-9
-68
-10
0
-65
-43
-27
41
6
49
0
101
-40
15
-21
117
35
0
25
60
-8
-88
-3
31
10
-11
-64
26
13
0
31
45
2
0
8
22
0
38
-17
0
14
9
0
-40
7
-5
-35
-20
0
-11
4
46
7
-12
77
-24
-5
-48
-39
28
11
-122
33
4
29
12
1
27
-57
-69
-16
-39
5
0
9
19
-5
-6
-14
39
-31
-3
-1
-3
26
0
64
0
47
-33
-1
58
0
49
32
8
-34
-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
19
-6
-68
9
-13
24
-36
26
12
-51
-20
2
8
-55
70
16
6
38
39
-18
-12
7
15
17
24
51
17
-16
-10
4
62
5
17
38
-13
66
9
26
-49
11
-101
15
-97
11
-48
136
102
8
-17
-8
33
27
-12
-59
24
-20
-12
0
46
-78
0
-80
-33
91
-45
25
-1
48
27
17
-44
11
-27
37
-11
-3
-41
50
2
-17
8
1
-50
14
-36
-9
-47
31
3
1
-28
-19
-6
-13
17
-26
-20
-17
-135
34
-5
-53
56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
21
-1
0
0
31
0
0
85
0
0
0
75
0
0
-25
-15
0
0
20
0
0
0
0
0
0
38
0
0
0
0
-16
0
40
0
0
0
0
2
0
26
0
-15
0
0
0
0
3
0
19
-6
0
0
0
18
0
0
16
0
0
0
47
0
0
0
0
0
0
42
0
0
-24
0
0
0
50
0
-19
0
0
0
0
53
0
0
7
0
0
0
-79
0
-33
0
0
0
0
62
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
32
-49
-21
-3
44
0
0
-42
-25
-10
-2
40
0
0
-62
-19
-7
0
0
0
0
-15
0
49
0
64
0
0
0
36
7
0
43
-4
-3
0
0
1
0
55
1
0
0
5
0
-2
85
0
-36
96
0
31
0
-2
0
0
33
1
-7
23
46
0
11
11
0
0
0
-16
0
0
17
-11
0
0
-51
0
-15
69
-3
7
18
47
0
-21
37
-8
0
0
56
0
38
0
0
-7
0
43
32
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
39
-14
73
123
-20
-33
32
48
101
-19
110
7
-87
27
-49
-60
-63
0
-47
71
13
-9
21
-44
132
19
0
4
2
6
36
34
28
-3
28
-46
-11
16
-40
38
-5
23
-9
5
17
-43
0
-28
22
-18
65
-24
0
9
124
62
-4
-51
-1
-81
0
97
-14
16
-24
-84
48
0
-48
18
1
-7
-8
60
-52
10
21
4
-6
-80
-43
31
-36
15
-32
4
-30
-64
16
0
2
-3
14
-116
-6
18
-1
23
-30
70
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
-77
-17
0
-11
113
0
-3
-67
0
0
1
-89
0
0
53
0
1
0
42
0
0
0
0
26
0
71
0
0
0
0
17
0
13
0
0
0
0
0
0
22
28
0
0
0
0
0
-36
0
27
-1
0
0
10
101
0
0
15
-1
0
-7
34
0
0
12
0
0
0
91
0
0
93
0
0
-1
-41
0
-6
-10
0
0
0
14
32
0
4
0
0
0
-58
0
7
4
0
-25
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
-32
0
-6
50
-50
0
-6
-97
0
0
56
-4
0
0
-99
0
2
41
-13
0
17
-31
0
38
-40
0
0
-25
-25
0
-25
45
0
0
0
5
11
0
0
0
0
0
30
39
0
0
0
0
0
-21
0
62
-17
0
0
0
-25
0
0
51
-18
0
0
60
0
13
-7
4
0
0
30
0
20
5
17
0
1
-26
0
17
105
-8
0
0
-1
0
-8
-16
25
0
0
13
0
-111
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-58
-13
-7
9
-92
-17
9
-3
-57
1
43
121
10
-6
106
-30
14
66
0
-8
41
0
48
19
33
0
48
28
11
-2
-34
-115
0
13
-3
1
57
-9
0
19
9
25
-55
-35
26
-16
-19
28
0
-5
-51
7
-18
14
22
-13
-85
59
-13
12
6
35
0
-96
8
-129
-17
35
25
-2
46
59
-2
-57
-18
-11
2
41
172
-46
-80
0
3
13
23
68
-1
-87
0
28
65
-13
2
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
49
1
103
16
32
76
-47
39
12
91
16
27
-22
-9
13
18
33
-61
58
-113
-53
-40
-9
-193
81
64
34
-20
34
10
0
-4
-23
45
-85
61
5
16
-20
49
-29
-6
-75
3
11
-27
65
28
-48
136
50
35
-16
1
93
114
17
0
-23
-31
6
-20
-155
-41
18
-16
28
-33
-5
25
-32
-2
22
-25
28
-1
-1
10
32
16
10
16
-36
50
-19
11
66
-14
4
-67
7
-36
1
-40
80
-44
-38
-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
7
0
3
-12
0
0
0
29
0
16
69
-15
0
0
-54
0
0
-5
0
0
0
99
0
0
0
10
0
0
-116
0
0
0
0
0
0
26
-21
0
0
0
0
0
-3
0
-41
0
0
0
0
-57
0
5
0
0
0
0
-21
0
18
0
0
0
0
11
0
0
3
4
0
0
67
0
53
0
1
0
0
89
0
0
-11
0
0
0
-48
0
-4
0
0
0
0
5
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
22
28
0
15
-7
-13
17
-3
35
-8
0
-27
-39
-1
-8
-10
0
0
26
0
-16
18
-13
0
-5
-6
-11
36
0
-56
-5
0
0
0
0
0
-9
37
0
-13
0
0
0
-77
0
7
-23
0
0
5
89
7
0
-2
-35
-17
0
-16
0
-29
-17
8
10
0
17
0
0
-56
-26
0
-14
84
-3
12
-23
0
18
0
-18
-1
-2
7
0
0
0
-10
0
-6
0
0
-11
0
52
-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
45
-11
2
-58
13
-6
46
-28
-9
56
31
16
10
-69
-15
24
-7
21
44
61
-6
-115
19
4
-159
19
-15
18
-2
29
16
-56
-16
-3
52
-11
14
46
24
43
-21
0
112
15
41
-30
41
51
48
21
3
64
22
64
-105
10
-129
25
7
-51
-18
-32
32
12
12
-8
-10
-13
22
36
-54
-4
-35
18
61
-19
179
91
14
31
7
42
27
-11
-45
23
-3
20
-44
27
76
-3
6
-47
17
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
48
13
4
-125
92
-25
-1
-44
66
-86
-49
65
-52
0
46
-81
0
89
26
3
1
2
31
19
-2
0
3
44
3
-6
0
-111
0
-30
69
0
-1
1
8
42
3
2
27
-49
6
-8
-36
-23
9
-3
-51
24
8
88
-1
24
3
0
11
-8
-34
-18
-1
11
35
10
25
52
4
-21
60
72
2
7
29
16
-4
9
54
39
39
0
-15
-1
85
-23
0
-61
0
-14
-107
6
-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
141
24
0
-5
137
0
0
0
-98
0
-1
-11
-53
0
-3
-25
0
2
2
0
0
0
86
0
0
11
4
0
0
59
50
0
0
0
0
0
3
0
0
0
0
0
-12
-43
0
53
7
0
0
-5
-31
0
0
-12
18
0
23
114
0
33
-82
0
0
0
124
0
-4
40
2
0
14
63
0
5
-19
0
0
0
-9
0
0
-38
-19
0
0
24
0
-56
0
0
0
0
-55
23
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
-27
-13
-14
135
12
-71
-91
-13
-24
-3
37
12
-26
-24
0
42
-9
7
-18
42
-26
0
25
-13
0
-4
0
105
7
-15
-86
0
-6
-50
0
8
-89
0
-8
91
-1
0
-33
-26
-16
26
-24
66
-7
6
20
3
-97
-65
1
-22
-1
66
-1
-32
43
58
-6
0
9
2
-9
-54
0
41
4
33
10
-31
9
-15
7
-1
42
0
-7
-11
0
26
0
11
-48
-2
-4
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
4
1
-35
-113
3
3
30
23
17
-6
66
38
42
-26
62
5
48
-38
38
4
-56
-17
20
63
-24
1
-166
-38
53
30
3
28
-43
-142
-33
54
-26
107
19
20
-15
-62
-40
6
16
51
15
32
0
7
-4
22
-66
20
53
79
-26
0
-95
104
72
41
48
98
-5
-24
-88
-86
-28
34
-10
17
-122
86
-16
-11
-7
51
-2
-95
-22
-6
35
-15
-16
11
22
-73
7
24
-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
-6
-39
0
0
18
-6
0
0
7
0
-1
0
0
0
0
53
0
0
-1
0
29
0
31
0
0
1
0
0
0
69
0
0
0
3
0
0
-7
0
5
0
0
0
0
-23
0
-3
13
0
0
0
-60
0
49
-40
0
0
0
-2
0
0
0
-15
0
0
82
0
-38
0
0
0
0
-37
0
-24
2
5
0
0
19
0
39
-2
0
0
0
45
48
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
48
86
0
3
130
0
0
24
0
-27
0
112
0
22
19
49
11
0
35
0
0
0
0
0
0
8
0
0
0
0
0
9
-32
-13
29
-34
0
0
-4
-107
0
0
70
0
0
9
52
3
-45
22
-8
-13
43
-100
0
0
10
-18
0
39
-13
0
65
-54
23
-24
0
-11
-8
0
14
14
-7
0
17
0
34
5
0
62
0
17
-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
-2
-14
-8
8
-11
-1
-8
-9
29
-56
-15
-82
-97
55
189
41
79
41
103
-24
38
19
6
97
49
-1
-27
-10
-14
26
-23
31
54
-102
-41
121
25
11
18
33
5
58
-34
4
12
42
38
43
24
77
9
-8
-29
24
-26
68
9
-6
107
-25
21
-45
-6
-86
4
-12
-30
106
-12
-2
-91
30
-31
-41
-23
-17
29
-9
22
-34
2
-27
-85
59
-10
3
-53
35
81
3
-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
-2
7
0
0
-27
-4
0
23
-80
0
-16
43
0
2
0
-90
0
-7
53
0
70
0
49
-11
0
0
0
0
0
-40
3
0
0
0
0
0
56
0
-1
-9
0
0
-16
19
0
3
-4
-6
18
-13
24
-1
-91
-107
0
0
0
-70
0
13
-35
23
11
0
-74
1
-98
72
0
0
5
-19
0
0
71
0
-3
0
-79
0
-85
-13
0
-22
0
115
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
-36
-51
0
1
-65
-1
-1
-17
0
0
43
62
0
-2
-34
21
0
0
-29
0
0
0
0
0
0
-2
68
0
-12
0
0
8
68
0
-23
-6
0
0
-5
-50
0
67
76
66
0
3
28
0
48
7
-7
0
-2
44
0
0
65
-55
0
57
12
0
41
27
4
0
8
-16
0
48
32
-18
0
0
-15
5
-62
15
0
0
0
0
35
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
1
37
0
21
-167
0
63
0
5
-3
-7
87
-24
-25
7
20
0
0
0
-21
13
0
-70
9
0
0
23
0
0
-51
-7
-5
-32
3
0
31
-1
0
95
54
29
0
0
8
0
-23
35
7
4
0
34
0
24
98
-9
2
0
-3
0
5
14
-4
0
0
32
0
11
52
-22
-2
0
20
0
-6
-4
0
3
8
-44
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
-2
-6
77
36
35
78
70
72
30
-7
44
-4
2
-9
0
1
41
-95
16
-72
-53
82
-8
45
-29
-48
-33
-15
19
-26
-28
2
20
41
24
-36
10
140
3
9
-46
5
-2
-14
23
-14
6
87
108
9
19
99
-18
-2
-21
-44
29
0
-63
-27
15
-36
-29
-74
-25
-5
-50
-22
32
101
35
-2
-22
-78
48
6
15
-9
13
3
-26
-40
-98
-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
-29
0
0
25
0
0
0
76
0
-2
0
-15
0
0
-3
0
0
0
0
2
0
-59
0
0
0
0
0
0
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
-47
0
0
2
0
0
0
120
0
0
0
0
0
0
104
0
-50
0
0
0
0
-28
0
0
0
0
0
0
-15
0
23
0
0
0
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
35
35
0
31
46
0
1
0
11
0
23
-4
-69
90
0
-5
0
0
0
0
-3
2
-35
-21
0
0
0
0
-5
24
0
-3
38
0
6
0
60
2
0
104
-15
6
-10
-82
0
10
-13
1
0
-12
-56
0
4
16
-46
-10
-12
-105
0
-49
-6
0
6
50
-30
0
0
-40
14
0
0
48
0
95
-19
0
32
0
23
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-9
57
-40
-20
4
-24
28
-57
-77
-18
-15
48
-1
0
-128
22
-3
125
19
-9
-15
-23
-3
6
64
-15
-63
26
8
51
55
-7
-19
-27
18
4
172
0
-58
18
0
-15
-7
62
-42
0
-7
57
18
0
-22
64
-117
70
11
-22
-7
25
-28
44
12
-24
43
7
-35
-89
22
60
-20
11
16
77
11
10
19
0
-47
-41
-7
-12
-56
165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
5
36
7
34
42
2
43
27
2
-8
67
0
-8
-10
-12
0
0
-2
0
-13
-5
-3
23
0
-7
17
-40
-17
52
13
0
38
80
-17
0
10
-31
-11
-19
142
6
-21
101
88
18
6
-44
3
8
-7
50
-22
-83
38
5
0
76
51
0
17
-31
-31
-5
-17
-125
0
97
0
7
0
67
-64
0
86
0
4
-51
31
26
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
5
-13
0
-2
-111
2
0
-7
4
0
7
149
-96
0
0
-10
11
0
0
5
0
0
-23
-14
0
0
0
0
0
91
6
16
5
0
0
23
-20
0
22
10
18
0
-10
27
0
99
30
-1
0
-5
56
0
-11
20
-26
0
-3
15
0
76
-74
0
0
-12
18
0
81
37
-16
0
0
41
0
14
-4
1
0
0
-22
81
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
3
-1
-4
2
-25
27
0
-10
-2
0
0
0
14
0
-11
1
0
0
-2
0
0
-28
0
3
10
0
0
-13
86
0
0
-70
-42
0
-13
82
0
-16
-18
2
10
0
5
0
-1
-62
32
-2
0
-25
0
-43
-32
1
0
-6
24
0
-82
-8
-39
0
0
-68
0
-75
-13
0
4
0
-86
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
8
70
-7
55
-30
-10
24
50
103
10
-144
23
-14
28
-41
98
-10
-26
109
94
2
-17
10
-11
-1
16
19
-5
-133
-3
34
-48
26
46
26
4
26
41
7
36
51
10
-22
-22
12
-2
-104
-60
-15
30
-58
-13
-48
-36
74
0
50
30
93
-19
60
-49
-13
35
-37
105
-1
-16
-22
10
-32
-1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
7
0
0
0
0
-7
0
0
-11
0
0
0
33
0
0
0
0
0
0
-5
0
0
10
0
0
0
12
0
0
7
0
0
0
-5
0
10
0
0
0
0
43
0
-2
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
76
0
0
-9
-1
-31
0
97
0
0
0
0
0
0
-65
0
0
0
-3
0
1
81
-4
-5
-1
-8
0
0
85
0
0
13
-25
5
1
15
0
-34
4
0
0
0
-81
6
0
-6
58
0
0
-14
0
25
4
0
0
0
50
0
0
-17
-3
0
0
69
0
18
-7
0
18
0
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
-78
0
-40
-13
-1
0
-11
0
0
-38
-148
0
42
25
0
5
14
3
34
-25
0
-6
-33
25
0
-19
25
181
0
12
24
16
40
33
1
-11
-1
-64
9
-34
-88
-29
-41
14
-14
-4
-74
-23
6
18
0
19
0
3
-12
29
-31
0
-16
0
-30
0
6
-12
0
-27
-28
-5
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
-5
0
0
1
11
-18
0
-82
0
0
0
0
0
0
-61
0
0
0
0
0
0
-59
0
16
-7
0
0
0
64
0
-6
0
0
0
0
-121
0
-15
7
0
0
0
5
0
0
-3
0
0
0
-85
0
-7
27
0
0
0
57
0
0
7
0
0
0
37
0
-8
-21
0
13
0
-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
-12
-15
0
0
18
-37
0
0
-8
103
4
1
-20
0
0
32
79
0
-31
1
0
7
-6
2
-30
-64
2
0
48
34
0
1
106
44
0
-39
-10
-12
-69
87
0
0
8
20
0
44
-41
52
0
-58
37
-6
-58
-49
0
0
40
29
-6
1
66
47
0
6
-10
0
-69
-10
-14
0
0
-8
8
-10
-35
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-122
17
0
0
0
0
0
68
0
5
0
0
0
0
24
0
0
-2
1
0
0
22
0
-3
-12
0
0
0
32
0
0
6
-38
0
0
-151
0
2
0
-5
0
-12
80
-3
0
-24
12
0
0
-50
0
-5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-124
-129
16
-122
-63
-21
5
27
-10
60
75
-14
-33
33
-74
-8
47
-14
-75
-60
-6
9
29
-30
-38
58
101
16
60
-12
40
-6
-70
79
-15
0
20
24
17
-21
-33
12
-21
-78
7
-33
-104
-109
-8
-85
-68
6
-25
26
-109
0
-67
9
1
0
64
-2
34
-21
22
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
86
0
0
0
0
0
0
3
0
0
-8
0
0
15
37
0
0
9
0
0
0
49
0
0
4
0
0
0
-23
0
3
0
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-27
8
0
0
-1
15
0
23
-6
0
0
5
0
0
8
0
6
26
0
0
-2
-85
0
0
106
19
0
0
17
0
-13
-21
0
0
0
39
0
11
1
19
0
4
-21
0
-84
23
0
-12
-8
31
0
-2
0
94
0
-10
-47
0
-41
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
-2
7
77
-16
0
0
-19
0
0
57
16
-99
-17
0
0
4
-11
0
-1
17
24
0
45
52
0
-30
-67
2
0
-15
-88
0
-14
7
16
-10
44
58
0
-55
-7
0
-3
-10
6
10
16
-1
-3
-4
7
-80
0
21
0
0
0
0
-49
80
-45
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
-16
0
0
-9
0
-64
17
-11
5
-8
-6
-2
-38
0
26
-18
32
-8
3
-51
0
-1
5
0
-13
42
-22
-3
-106
-162
0
1
-12
-4
0
91
-21
-29
-3
-83
37
-4
1
139
0
116
-17
52
9
-48
25
0
49
0
-30
0
26
15
0
-37
0
-60
-45
-19
-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
-5
-14
-14
14
3
-8
0
0
29
30
0
-2
-5
0
36
-40
-5
41
63
-7
0
72
32
1
-20
13
20
0
88
1
23
-15
-19
14
0
21
5
0
-32
55
101
0
5
23
0
2
30
29
0
-11
20
-17
-30
71
-54
0
21
-16
16
-1
57
3
0
0
20
-67
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
13
0
0
0
-6
0
0
0
0
0
0
-52
0
-11
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
-21
-10
-4
56
-36
60
-43
-14
4
2
2
23
14
29
-22
-21
42
-21
55
23
-59
74
-1
82
54
-7
-61
-33
72
13
-43
5
30
-23
105
-86
1
10
34
18
-18
-10
-48
-12
89
46
19
2
46
-21
2
129
-9
-53
-44
60
14
0
-64
-89
-67
-62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
113
0
-19
-3
3
0
0
-98
0
0
7
-2
0
0
20
0
0
48
6
0
0
9
0
-31
-2
-40
0
-9
-93
0
81
-24
0
0
-3
8
0
3
-4
-21
-7
0
-9
0
-58
-6
0
4
0
-51
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
0
0
0
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
-4
6
0
20
0
-7
0
0
0
0
0
-5
2
0
-1
-30
0
0
0
-64
0
-7
-4
0
0
0
-8
0
130
-2
0
10
0
132
0
0
5
0
0
0
60
0
-18
0
0
-17
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
23
0
0
-1
0
0
0
-31
0
0
0
0
0
0
-10
0
1
-10
7
0
0
-76
0
-22
0
0
0
0
2
0
0
0
0
0
0
-106
0
33
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
13
9
0
10
-11
0
0
0
-54
0
0
-8
-11
0
0
81
0
-9
0
0
0
0
-51
0
0
-24
0
0
0
-91
0
-5
-38
0
0
-1
-15
0
10
-3
0
0
7
128
0
-11
18
0
0
-1
48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
4
5
0
0
0
-36
0
0
-18
1
0
17
-28
0
4
15
0
0
0
104
0
-12
-6
0
0
0
75
0
-193
0
-11
0
0
3
0
-3
-11
52
0
0
49
0
49
-7
0
0
0
-23
-92
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
0
0
0
1
0
-4
27
0
0
0
-19
0
0
0
-10
0
0
-17
0
0
0
0
0
0
32
0
0
0
0
0
0
-48
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-15
60
86
78
-91
-12
32
4
-40
22
48
-44
-24
53
-42
25
82
30
-2
-11
-14
-98
0
54
38
-18
-31
-6
54
-58
-21
-11
12
22
-77
-139
-59
-24
-30
-35
-2
7
22
-106
-6
-3
-3
-13
-10
15
-135
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
4
0
0
5
-80
0
80
60
51
0
-1
0
-2
39
-87
-51
2
52
-29
0
0
-10
41
9
3
36
0
102
-1
-3
-10
0
9
5
0
-33
-2
0
0
-6
0
47
0
18
0
0
68
-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
-68
0
-2
0
0
0
0
-43
0
6
5
0
0
3
-47
8
-1
5
0
0
0
-36
0
-5
-2
0
0
0
6
0
-6
6
11
0
0
-47
0
0
0
0
0
0
30
0
-23
0
0
0
0
-14
13
0
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
-17
0
-3
0
0
0
0
20
0
0
0
0
0
0
83
0
-19
0
0
0
0
-21
0
-3
-4
0
0
0
-123
0
50
0
4
0
0
-69
0
0
0
0
0
0
117
0
-7
0
0
0
0
50
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
87
-27
0
0
0
-201
0
1
-38
0
0
0
-118
0
0
46
0
0
0
38
0
0
8
0
0
0
-123
0
56
0
0
0
0
53
0
0
15
0
-26
0
35
0
79
-6
0
0
0
64
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-4
0
0
0
0
0
0
-6
0
4
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
8
0
0
5
30
0
32
-37
0
0
-47
91
0
0
-62
0
0
0
-7
0
6
-34
0
0
0
-54
0
6
-3
0
0
0
26
0
-2
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
32
-64
-38
39
8
-29
39
3
-24
109
-55
-14
-16
66
-9
31
-11
-65
-13
-6
3
10
-15
-157
-86
-7
-4
95
114
-15
-30
-8
-2
-4
6
-1
-44
-61
1
15
80
9
-40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-71
0
4
12
0
0
0
45
0
32
0
0
0
0
-89
0
-1
-9
1
0
0
93
0
-24
0
0
0
0
35
0
0
-19
0
7
0
-1
0
4
0
0
1
0
-4
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
1
-64
-6
13
31
-22
58
76
39
27
-6
0
-26
102
0
68
-3
-3
0
-4
57
0
9
-37
5
20
-42
-44
3
5
41
-42
14
0
8
0
66
3
0
148
0
65
1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-31
43
0
0
9
0
-62
-62
-24
1
15
94
0
-4
15
-15
0
37
1
1
53
23
0
-1
0
52
0
-7
3
-9
40
0
-43
0
-10
-14
0
-29
0
34
29
40
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
5
11
0
0
0
41
0
0
0
0
0
0
-69
0
2
0
0
0
0
46
0
0
0
0
0
0
62
0
1
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
-57
-9
0
0
0
-3
0
0
6
0
0
1
19
0
-11
-1
0
0
0
-121
0
0
39
0
0
0
-38
0
9
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
-68
0
21
-20
0
0
0
97
0
24
91
8
0
0
53
0
12
81
-18
0
0
-82
0
1
0
-18
0
0
45
0
178
35
0
0
0
55
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-52
39
117
85
-105
-47
4
11
41
-13
-31
-33
79
-6
5
18
-21
-46
-35
85
9
-54
102
16
-29
-102
17
-5
10
36
-17
-47
10
-5
0
-32
145
-25
-95
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
-36
0
-1
2
24
0
0
22
0
-10
0
0
0
0
6
0
0
-13
0
0
0
-49
0
-11
0
0
0
0
-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
-25
59
0
0
5
-11
0
0
84
0
0
11
-18
-3
-7
-41
0
-10
0
11
0
0
-31
9
0
-5
0
0
0
-66
0
1
0
0
0
0
-60
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-39
-27
61
2
-15
-35
0
29
-48
62
17
6
-8
0
-86
63
0
-1
-28
-19
0
-4
-53
0
22
0
12
0
68
19
15
19
0
57
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
62
4
-40
36
0
0
0
-106
0
2
-138
-52
46
17
21
0
-42
-5
0
14
23
57
0
-31
10
15
-40
0
-90
0
56
-17
0
46
0
74
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
31
-50
0
0
0
13
0
0
0
-5
0
0
17
0
-8
-10
0
0
0
-91
0
0
0
0
0
0
-71
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-34
4
0
0
-70
0
66
57
-7
20
3
44
9
-6
-23
4
0
0
-24
0
33
12
0
0
0
3
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
24
38
27
42
-10
-7
-25
-11
26
52
-20
-94
-5
94
49
-23
28
21
125
8
-26
2
-11
-31
-29
-20
-2
8
-145
58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-6
0
0
-29
0
-1
10
12
0
0
-97
0
0
-10
0
0
0
15
0
-15
0
0
0
0
1
-21
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
4
31
31
-7
-1
-43
0
143
81
8
-1
-87
30
0
1
-49
-63
-59
0
16
0
8
-3
44
-77
0
9
-45
57
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
102
0
4
-42
-8
-9
58
0
0
14
146
-19
13
-45
-6
0
-29
47
-20
-25
7
43
0
-40
21
0
18
0
23
-113
61
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
-83
0
0
40
0
0
0
87
0
-34
0
0
0
0
35
0
0
-1
0
0
0
7
0
-5
-4
0
0
0
68
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-44
0
12
57
-22
0
-2
-2
0
2
-12
0
0
0
35
0
0
0
0
0
0
3
0
37
0
0
0
0
78
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
98
5
-14
-7
0
-12
0
5
-8
11
0
0
53
0
189
25
0
29
0
84
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-47
22
140
-100
-58
4
26
-32
-22
3
-18
28
3
20
7
19
-15
-9
12
-10
-27
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
7
0
0
0
-59
0
0
15
0
0
0
-28
0
-4
0
0
1
0
18
-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
-34
-14
-2
23
-7
0
1
-4
-78
2
0
-6
-32
-8
0
118
0
-1
0
0
81
-9
42
-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
0
0
0
0
0
0
0
0
0
0
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
0
102
137
30
62
54
15
0
48
-55
-39
8
0
4
0
28
3
-3
-36
0
23
8
-79
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
12
35
-132
0
-20
-17
9
2
62
25
3
-2
3
19
4
51
17
0
-16
0
-32
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-131
-15
0
0
-2
-67
0
0
28
-1
0
0
-4
0
-66
-12
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
-11
56
0
-1
-27
0
13
27
0
-15
-7
-80
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
74
-11
50
89
-102
-10
96
-33
37
-29
-11
-29
12
-32
-24
12
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
83
0
-5
0
0
8
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
95
-70
0
48
-92
-3
-90
-2
-8
-2
96
-81
7
-19
-1
16
-2
2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
48
0
81
-102
76
-13
0
-29
0
-8
0
0
31
-8
-29
57
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-128
0
0
-19
-1
0
0
-19
0
10
2
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
47
0
-57
-1
0
0
0
9
0
114
0
10
0
0
0
-18
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
29
0
11
0
0
0
0
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
53
2
84
-25
-14
-4
-21
-84
58
-104
34
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
1
2
0
0
68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
67
0
0
106
0
-92
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-49
0
97
-51
0
13
-1
-21
-12
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
-6
0
-129
-6
8
0
0
-143
6
-29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
36
21
63
-71
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
17
-63
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
69
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-43
0
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
5
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
-1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-19
-9
0
0
8
13
0
0
-6
0
0
-11
1
0
0
-1
0
0
0
2
0
0
2
0
0
0
0
0
3
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
2
0
0
0
0
0
0
-39
0
0
0
0
0
0
-29
0
0
-2
0
0
0
17
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
-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
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
7
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
-1
0
0
0
-13
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-23
0
0
69
0
0
0
-5
0
0
78
0
0
0
1
0
0
23
0
0
0
0
0
2
1
0
0
0
0
0
10
-7
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-64
0
0
0
0
0
0
9
0
-4
-20
0
0
-34
25
0
0
-4
0
0
-6
-33
0
0
15
0
0
0
-54
0
0
-7
0
0
0
-1
0
-7
-7
0
0
0
16
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
10
-26
0
0
0
19
0
-11
71
0
0
-4
0
0
0
14
0
0
-6
0
0
0
-13
0
0
12
0
0
0
-19
0
-3
-35
1
0
0
-103
0
0
13
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
0
-13
0
0
0
0
0
0
0
-2
0
0
0
-37
0
-4
4
0
0
0
0
0
0
1
-3
0
0
-6
0
-14
0
0
0
0
-25
0
0
0
0
0
0
-22
0
2
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-47
-9
-4
3
31
-55
9
18
-48
-116
32
-5
9
28
0
0
0
0
0
0
0
6
23
46
-44
31
-16
-48
0
69
-56
-74
-6
-43
35
-12
42
37
31
-12
-13
-17
3
-18
17
0
-27
-11
1
-30
-74
2
15
-54
-87
-5
-54
-34
-13
-29
51
-61
-49
-8
-9
30
-150
0
3
41
7
-24
-19
-50
-9
-26
45
-3
-29
49
-15
2
5
-7
1
-14
-21
-20
41
21
-12
8
-43
14
38
0
-2
15
-14
32
-75
23
-6
11
-12
55
4
17
-60
-15
-1
5
-45
-53
34
-93
-11
-25
10
-107
-1
-5
-34
-8
4
-17
54
3
108
-89
-19
-9
-12
15
19
-17
7
0
6
-72
10
6
-37
33
24
21
-49
30
-6
-74
-88
6
-7
-64
13
7
-40
-8
7
-143
-58
8
0
-36
19
-5
4
-24
34
-5
-71
16
34
56
11
35
3
0
-10
-55
-20
0
-46
-1
-3
-105
0
-2
-46
-36
-6
-79
-61
-23
18
22
18
6
75
89
8
-73
3
6
2
-1
-63
13
-3
-57
-5
5
-71
-57
2
-80
-30
-20
-2
-85
24
-9
-12
-1
-5
2
31
-15
-33
-86
16
12
-4
1
-47
36
8
-2
-14
5
-61
-75
41
36
-3
-4
16
-41
-44
-67
17
12
61
6
-4
-14
-31
23
12
43
-9
-3
-36
-33
6
-90
20
7
-34
-47
-11
115
-38
-3
-3
-46
8
13
14
-62
-17
3
72
-10
-10
-39
45
10
17
30
5
19
0
24
3
6
24
6
6
1
21
74
-14
68
-65
-33
-70
-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
34
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
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
1
0
0
0
0
0
0
1
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
0
0
0
0
0
0
0
-66
0
0
0
0
0
-42
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
-3
6
0
54
-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
78
0
0
0
0
0
0
32
0
81
11
-5
0
0
0
12
66
0
0
0
0
0
7
0
0
-3
-1
0
0
19
-31
0
0
-9
0
0
-4
31
0
0
2
0
0
0
22
0
0
-10
0
0
0
-22
0
-17
0
1
0
0
0
0
0
0
1
0
0
2
1
2
0
0
0
0
95
0
0
0
0
0
0
6
0
0
0
2
-10
0
-40
0
0
0
0
0
3
-50
0
0
6
-9
0
2
16
0
0
13
0
0
0
-8
0
0
0
0
0
0
50
0
0
0
0
14
0
16
0
0
-4
0
-15
0
-24
0
0
0
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
0
-2
0
0
0
-3
0
1
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-65
0
0
0
0
0
0
131
0
6
0
0
12
0
95
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
-9
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
-31
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
-1
0
0
-58
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
62
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
-5
124
0
0
0
0
0
0
-55
0
0
0
0
0
0
57
0
0
0
0
0
0
-17
0
20
0
0
0
0
-17
0
0
0
0
0
0
31
0
0
0
0
0
0
65
0
0
0
0
0
0
-9
0
0
0
0
0
5
63
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
0
0
-25
0
0
0
2
0
0
-2
0
0
0
-24
0
0
0
0
0
0
48
0
0
0
0
25
0
-61
0
0
0
0
0
0
66
0
0
0
0
0
0
40
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
3
0
0
0
-7
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
67
0
0
0
0
0
0
70
0
0
0
31
0
0
30
0
0
0
0
0
0
0
0
0
0
-1
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
15
-4
0
0
0
0
-24
0
0
0
0
0
-4
-4
0
17
15
0
0
0
-16
0
0
8
0
0
-4
-11
0
0
1
12
0
0
30
0
0
1
0
0
0
2
0
-17
0
0
0
0
7
0
0
0
0
0
0
46
0
0
0
0
0
0
-23
0
0
0
0
0
0
78
0
0
0
0
0
0
55
0
0
6
0
0
0
61
0
0
-1
0
0
0
96
0
0
-10
0
0
-1
-20
0
0
-8
-4
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
1
0
0
0
0
-23
0
0
0
0
0
0
34
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
3
-1
0
0
-4
-3
0
0
0
0
0
0
0
0
43
18
0
0
21
0
-1
61
0
0
0
0
0
0
17
-20
0
0
0
-7
0
0
0
0
52
0
0
0
0
0
-73
0
0
0
0
0
0
-6
0
0
0
0
-2
0
0
0
60
0
0
-38
-12
0
0
23
0
0
17
52
0
0
62
-13
-20
-9
12
0
0
0
0
-25
2
0
0
0
141
0
-40
24
0
0
0
-2
0
2
0
14
0
0
-2
0
-61
0
0
0
0
0
0
15
0
107
-4
-3
0
0
0
0
-67
0
0
2
0
0
-1
225
0
52
-9
9
0
15
12
0
0
44
0
0
1
-1
0
0
80
0
0
2
-27
0
0
-9
0
0
0
83
0
32
6
-6
0
0
-44
0
0
0
0
-3
0
73
0
0
0
0
0
0
52
1
-2
0
0
0
0
-58
0
0
2
0
0
0
58
0
0
0
0
0
8
-25
0
-2
-18
-6
0
0
10
0
0
-4
10
-2
16
-135
0
20
-40
-1
0
0
-55
0
1
0
0
17
0
-31
0
0
0
0
-7
0
-57
-2
0
0
0
0
0
23
4
0
0
0
0
0
-12
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
16
1
0
0
0
18
0
4
0
-16
0
0
30
0
-10
7
6
0
0
-2
0
0
1
20
0
20
-73
0
26
0
0
-12
0
-27
0
-11
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-12
-12
0
0
0
0
0
0
0
0
37
0
0
0
8
0
0
-2
0
0
0
0
0
-7
0
0
0
0
3
0
0
0
0
0
-37
0
0
-5
0
0
3
0
0
0
0
0
3
2
0
-2
0
0
-16
0
0
0
-164
-5
0
-28
0
0
0
43
0
0
41
1
0
0
54
0
0
-1
0
0
0
-4
0
10
-9
0
0
0
-165
-20
2
-4
0
0
0
33
0
-2
0
0
0
0
0
0
96
0
0
0
0
0
0
-6
0
-21
0
-10
0
0
0
6
0
0
0
-20
0
0
-12
32
0
-135
4
0
0
75
5
0
0
-43
0
0
1
48
0
0
-7
1
0
-5
-98
0
0
-12
0
0
0
-38
0
-47
0
0
0
0
29
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
-1
4
74
0
0
-10
0
3
-1
-94
0
0
7
27
-6
-14
52
0
0
50
0
-1
0
2
0
0
32
-3
0
0
106
0
0
0
0
0
0
-8
0
0
-2
0
-2
0
-44
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
29
7
0
0
9
-31
0
0
0
7
0
0
5
0
25
59
0
0
20
-39
0
-7
0
-15
0
0
54
0
-8
-6
0
1
0
6
0
0
0
0
0
0
-9
0
16
0
0
-3
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
-5
8
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
-41
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-4
0
0
-10
24
0
0
6
0
0
149
0
0
0
42
-3
0
-41
0
0
0
11
0
0
16
0
0
0
54
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
30
-2
0
0
0
0
0
-62
0
0
0
0
0
24
13
0
-20
-14
0
0
-3
40
0
0
-5
0
0
10
127
0
0
23
0
0
-7
20
0
0
28
0
0
0
57
0
-33
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
-4
-51
0
0
0
0
0
0
70
0
0
-1
0
0
0
-15
0
0
8
0
0
6
-21
0
0
-22
0
0
0
6
0
0
-1
7
0
0
-47
0
0
-12
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
4
0
0
0
0
11
0
0
0
0
0
0
-3
0
13
0
0
0
0
28
0
0
0
0
0
0
11
0
-3
0
0
0
0
-24
0
0
0
0
0
0
6
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
-134
-215
-133
23
6
-8
-35
0
0
0
0
0
0
0
-1
69
23
127
-29
-3
-22
14
-29
-7
-10
42
-4
-22
36
-90
-18
-12
-50
-23
54
-17
-22
-22
9
-33
-52
2
16
-60
4
-6
-46
-28
16
-108
33
-50
-2
-37
-58
2
-31
7
-11
-29
-16
9
-11
6
-100
-84
-19
58
-52
5
-9
77
51
49
9
6
39
-2
16
-8
-23
13
-9
-15
-18
24
-26
-81
-4
-59
0
-15
21
131
-21
-23
-27
-12
-72
-29
-5
-68
27
-54
9
-38
-27
56
-14
-103
62
30
-37
1
-29
18
73
82
-9
-67
0
1
-8
-8
99
-16
-2
-21
-60
-82
-6
2
-21
-1
13
70
3
7
-33
-22
40
-7
1
7
8
-49
17
-8
2
-63
72
27
24
-35
-40
4
-78
-3
-16
11
-25
-26
-3
-48
-35
45
65
45
50
1
-44
-31
-47
51
-14
21
6
-39
2
65
8
-101
-73
-47
-15
-2
-2
3
3
-67
0
-9
16
-3
-4
27
-13
-15
-53
-14
9
-36
-99
-28
-4
-90
-32
-2
85
-27
21
7
40
101
39
17
26
-37
-4
-59
-65
-11
87
-8
3
-4
61
102
-42
-22
18
-35
13
-41
-7
33
-64
-55
-11
-8
34
-126
35
-23
-123
-7
-45
-1
9
-45
-163
12
-113
27
35
69
51
-65
-56
-79
-6
21
26
-12
-1
6
-21
-11
-32
-11
8
-37
1
22
6
-61
-25
48
3
-29
-18
-37
-1
0
-10
-26
0
63
0
-67
-17
-70
-78
-24
-42
4
-41
73
-32
23
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
10
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
96
0
0
-1
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
92
0
0
-46
-2
0
0
0
0
0
-34
-4
0
0
-13
6
0
-6
35
0
0
0
0
0
-12
0
0
0
-4
0
0
-8
2
0
0
19
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
5
-48
0
0
0
0
0
0
-3
0
-54
-72
0
0
10
-4
0
0
7
0
0
-4
79
0
0
39
-5
0
-5
-2
0
0
-3
0
0
0
-18
0
-41
-4
0
0
0
6
0
0
0
0
0
0
-32
-1
0
0
0
0
0
-59
0
0
0
0
0
0
-26
0
0
0
0
0
0
-53
0
0
-9
0
0
0
5
0
2
-18
0
0
0
-35
0
35
-2
1
0
0
77
0
0
75
0
0
0
-29
0
0
0
0
50
0
58
0
0
0
0
-2
0
-15
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
2
0
0
0
0
-1
0
-1
5
0
0
0
1
0
0
7
0
0
0
-11
0
0
0
0
0
0
-14
0
0
1
0
4
0
-15
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
-4
0
0
14
0
0
0
0
0
0
0
0
0
-7
0
0
0
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
23
0
0
0
0
0
0
-2
3
0
0
4
0
1
12
0
0
0
-15
0
0
0
0
0
0
-87
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
11
59
0
0
0
0
0
0
0
0
-76
1
0
0
-2
-98
0
0
0
0
0
0
29
0
0
-6
0
0
0
-56
0
0
1
0
0
0
-44
0
21
12
0
0
0
5
0
0
0
0
0
0
80
11
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
33
0
12
0
0
0
0
6
0
0
-1
0
-9
0
-9
0
0
0
0
0
0
-15
0
0
-1
0
0
0
4
0
0
0
0
-15
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
15
0
0
0
0
8
0
0
0
0
0
0
-13
0
15
0
0
0
0
-8
0
0
0
0
0
0
-13
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
-20
0
0
5
-7
22
0
0
0
0
0
0
0
0
16
-2
-6
-1
0
0
0
30
-4
0
0
0
0
0
-8
0
-5
0
63
9
0
5
0
0
38
0
-8
0
0
0
1
0
0
0
0
0
8
-3
0
0
0
0
0
1
0
0
-11
0
0
-51
-6
0
0
-19
-6
0
16
-2
0
0
121
-29
0
68
5
0
0
-75
0
0
-102
0
0
0
-15
1
0
-42
0
0
0
-15
21
0
-9
-13
0
0
51
-75
0
0
-4
-23
0
0
-2
0
0
-41
-10
-1
0
0
0
62
25
0
4
-3
0
0
5
7
0
45
20
0
0
-36
50
6
0
88
-26
0
33
18
0
1
79
-1
0
53
62
0
8
-19
0
0
5
12
0
10
44
-2
0
0
48
0
29
0
27
0
0
42
-37
-1
0
6
0
0
-16
0
0
0
0
0
0
-105
0
3
-3
-17
0
-2
32
0
-2
27
0
0
-7
80
0
14
-84
-23
0
8
24
0
-2
32
-19
0
-35
42
0
0
-51
-13
0
5
58
0
3
-91
0
0
-6
25
0
-4
-12
-5
0
0
-12
-20
0
0
0
0
0
-40
6
0
0
0
0
-2
-11
0
11
0
4
0
0
-83
0
1
64
0
0
0
18
0
-42
-7
17
0
0
-2
0
20
2
-10
0
-21
-120
0
-55
-2
-13
0
0
-26
0
0
-15
-7
0
0
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-90
-3
45
-59
-62
30
-51
-146
-27
-2
5
-10
4
117
-15
-7
-6
-45
32
-16
-4
3
2
-6
0
0
-114
0
0
7
0
-6
0
-3
1
91
10
0
-14
-4
20
-2
-80
-4
0
-45
-43
44
42
116
34
0
-125
33
4
-13
-73
-8
32
-15
-56
57
-14
95
22
9
123
0
20
-74
7
0
0
4
-27
-181
-17
-23
0
0
6
0
-103
51
-11
0
0
-46
-33
-30
0
15
25
0
-7
49
-27
-5
64
-26
-18
2
-118
0
14
-96
-7
0
34
-8
8
87
31
-14
-19
-21
-73
7
27
44
4
14
19
8
3
-1
-21
0
16
58
-3
-12
-22
-54
0
44
37
3
0
0
12
-11
-53
102
-82
-20
-2
-69
0
-12
64
-3
-98
0
26
-64
-43
0
3
-6
0
21
10
11
-1
60
-2
-27
-64
-2
31
-78
47
-35
-55
8
0
18
-67
6
-113
93
-63
-3
-34
80
52
15
116
32
-5
-1
-35
-3
-57
14
-66
9
-21
6
-14
45
0
63
3
8
-77
2
-101
-3
-67
0
-16
20
-132
4
0
-23
-16
-4
0
69
-9
0
14
21
0
14
0
0
0
-1
-16
39
2
8
40
8
28
0
32
90
31
11
42
-1
24
14
22
-5
0
-4
-26
13
-80
-109
-88
-3
2
-39
0
13
4
-121
-1
0
-16
0
58
154
-58
0
0
-79
0
-47
-22
2
-40
0
-10
-38
-13
-5
-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
-14
34
-19
14
-64
8
-6
86
-1
0
0
-4
0
3
4
-14
-2
-9
-3
-3
42
0
0
0
36
0
0
-22
0
0
21
0
0
0
0
4
5
55
0
0
-3
0
5
-45
0
2
-255
-95
22
-103
0
0
13
-26
0
-39
116
17
0
0
58
42
25
63
102
0
-2
53
0
-4
17
2
0
2
80
25
42
-45
2
0
0
81
0
-4
0
-1
0
0
11
-2
-135
0
0
-1
0
0
0
3
0
-47
-13
-3
0
0
0
-111
-85
0
0
82
0
0
-97
0
0
-22
-11
-2
0
4
-37
0
14
82
3
0
-23
110
0
2
-20
33
2
-97
2
0
-2
20
0
0
0
5
5
-7
122
15
0
0
-70
0
0
-3
0
13
0
-9
29
-19
0
8
0
0
-59
-2
8
-3
-18
-2
-12
19
0
4
53
-5
2
-31
0
8
10
-79
0
35
-20
-22
10
4
-60
-142
-10
-11
85
19
2
95
4
-11
11
-60
0
69
24
-93
-23
0
92
0
1
9
0
94
0
-25
0
-5
4
-2
-62
0
-7
-16
-5
0
-31
0
0
-4
1
0
-38
5
0
-18
-42
0
-58
-5
1
0
56
0
0
-1
-56
4
1
-12
-5
0
92
-11
0
-13
-6
-28
0
41
62
22
-7
26
89
0
-4
1
0
0
0
-8
0
-2
6
-13
-8
0
-48
0
-24
6
0
-104
0
16
-10
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
45
13
0
0
-2
0
2
-11
0
0
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
64
0
0
-11
0
0
-39
0
0
0
0
0
8
45
0
0
0
0
-1
-1
0
0
-1
15
6
-31
-10
0
-8
11
0
0
-44
0
0
3
85
25
0
39
-1
0
0
26
0
0
16
32
0
0
-36
-7
-20
11
0
0
0
12
0
4
0
8
0
0
0
0
-48
0
0
-2
0
0
0
0
0
-41
-1
7
0
0
0
0
64
0
0
17
0
0
107
10
0
-62
166
-6
0
-38
-48
0
4
-36
0
0
-84
51
0
-3
-27
-1
0
-1
-8
0
0
9
-9
0
0
28
0
115
2
5
0
5
86
0
0
0
0
0
0
19
1
7
0
0
0
0
-74
0
0
0
0
0
0
36
0
-2
-5
-7
3
0
-31
0
0
-47
0
0
0
-28
0
0
8
-1
0
5
96
0
-3
49
0
0
-5
25
0
9
64
27
0
0
-27
0
0
0
0
12
0
-5
0
0
0
0
0
0
27
0
0
0
0
0
0
18
0
0
0
0
0
0
100
0
43
0
0
0
0
84
0
9
-5
-2
0
0
-23
0
0
0
0
0
0
-49
0
0
-6
3
0
0
12
0
-7
0
0
0
0
4
0
0
1
0
0
0
22
0
12
-3
0
0
0
27
-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
-62
-4
0
0
-11
3
-7
64
-4
1
0
-2
0
0
4
45
7
0
-12
0
1
-22
0
0
31
0
-2
-4
0
0
29
0
0
0
0
0
0
3
0
0
0
0
15
72
0
0
-25
91
14
71
-2
16
-2
95
0
5
1
44
14
0
17
63
9
-13
7
0
0
8
0
13
29
-8
0
0
44
9
-19
44
10
-3
0
-6
0
1
0
-3
0
0
1
0
10
0
0
10
0
0
2
-9
15
-81
2
-3
7
-12
0
-69
-57
0
0
-1
0
0
4
-17
0
4
-20
105
0
-132
-25
0
-6
52
22
7
22
-7
0
-2
-32
-15
0
29
-5
0
0
49
0
-8
-12
-198
0
-55
17
-14
2
0
-51
0
0
0
6
0
0
-9
49
4
0
0
-1
0
8
2
0
0
0
0
0
6
0
0
-2
27
0
37
1
0
0
-5
5
24
0
-68
-15
0
51
17
0
-22
49
-29
0
103
9
-1
9
-42
-12
0
28
-1
-16
0
-24
0
0
58
15
0
0
-34
0
11
4
1
-31
0
-62
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
4
0
-1
0
3
-33
0
-5
-4
-16
0
0
38
0
-21
-18
0
0
16
32
0
5
-10
0
0
-10
-49
0
27
-38
0
17
0
-78
0
0
-11
0
11
0
-44
0
-8
0
-1
-4
0
74
9
0
0
11
0
0
0
0
0
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
24
49
-59
-40
32
-5
28
10
-4
-13
-28
5
19
-15
-82
28
-12
11
-62
-101
24
6
0
13
47
-4
-24
0
0
-14
0
0
0
-2
-1
-6
55
-2
-1
-12
21
-56
58
5
5
-50
-12
63
-24
-38
13
34
-32
-10
-1
-45
-1
35
7
6
38
51
-5
73
175
15
74
95
1
-38
147
20
-3
-8
-9
83
-20
75
-1
-7
-50
-31
40
-2
-10
-3
0
93
12
-4
-6
0
-21
0
-3
18
26
6
-8
103
-21
0
-79
0
-17
-7
0
0
3
10
-36
-1
22
0
-23
65
46
-34
-69
-5
3
-35
40
-21
2
-74
-9
47
48
101
-32
48
36
-4
23
-8
25
-10
32
1
12
0
18
24
45
23
62
-174
0
-3
-1
24
35
0
-23
-107
-155
0
119
20
-2
-6
-3
-2
0
-28
26
90
-21
-65
6
36
-10
-34
-16
11
-10
-8
-30
4
47
-91
33
64
13
7
-49
-52
10
-25
128
-61
21
-90
-36
-70
24
45
-2
57
33
-9
-23
8
0
-21
38
-60
44
76
-87
-5
-9
64
99
26
0
-2
26
-1
3
-9
-84
0
7
-37
-11
-1
-23
4
-18
-48
18
-53
61
2
51
6
-12
-33
-54
74
-157
-103
-9
32
1
-45
-16
-117
65
4
20
8
-10
24
7
13
-76
10
-5
-33
77
15
-10
1
-33
-3
-11
79
-41
117
-2
-27
0
80
-41
2
47
0
51
-19
-1
-10
-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
-47
43
23
4
-94
-3
15
-5
-4
-1
0
19
7
-6
-60
-21
-16
-8
42
0
60
-2
-6
1
-7
-1
0
-81
0
0
-19
0
-14
0
-134
14
62
-36
3
3
0
-29
15
100
-16
-3
-39
21
13
-9
16
0
-2
27
0
73
-105
35
2
-1
-65
-2
-27
-13
-147
13
-3
-6
0
8
-67
69
0
-5
-4
0
-64
-21
-6
0
-1
119
0
30
-11
11
0
-1
-41
0
4
0
-78
-69
0
-1
17
-39
1
11
-108
-39
-164
0
-11
-52
15
0
14
-15
0
23
-24
-40
0
39
12
-9
10
-10
-28
-2
8
-29
0
-18
32
-35
-8
1
-67
4
130
3
-11
0
45
38
0
101
40
-18
0
20
7
0
98
56
76
7
-5
7
0
-38
3
-13
85
-80
-1
0
37
-6
-3
-31
-2
10
0
5
7
27
0
-7
69
0
8
83
-13
-8
-9
28
-4
50
42
44
-1
-26
47
4
74
13
31
-20
27
30
0
-19
-10
-52
-4
-49
-6
0
66
137
15
-16
-37
78
9
145
-38
65
0
-2
101
0
-14
0
7
47
-14
-7
0
160
0
-43
-10
0
-20
0
-2
-7
9
0
-99
2
0
-12
-117
-57
-1
13
43
0
-14
107
102
-9
-54
91
0
11
-68
25
7
-33
-11
5
-36
30
10
6
-45
0
0
36
19
85
-28
10
57
3
-56
5
21
0
6
-78
0
132
0
23
56
40
65
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
7
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-47
0
0
0
0
0
62
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
49
0
0
0
-32
0
0
65
0
0
0
0
0
0
1
0
0
0
-44
0
0
-31
0
0
0
-3
0
0
0
1
0
0
0
1
-1
0
0
8
1
0
0
0
0
14
12
0
0
0
0
6
77
0
0
0
0
0
0
16
0
19
15
0
0
8
4
0
0
-1
0
0
16
85
0
0
32
0
0
0
-17
0
0
-16
0
0
0
-37
0
-16
11
0
0
0
-101
0
0
0
0
0
0
47
0
0
0
0
0
0
15
0
0
0
0
0
0
19
0
0
0
0
1
0
-26
0
0
5
0
0
-1
-158
0
0
27
-12
0
-3
-83
0
0
10
0
0
0
62
0
0
-3
0
0
6
-66
0
0
0
0
0
0
8
0
0
0
0
0
0
-68
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
-6
2
0
0
-31
0
4
1
0
0
0
-8
0
3
17
28
0
0
-8
0
0
-1
2
0
0
-47
0
0
0
0
0
0
86
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
-27
114
-79
25
87
-95
-27
-73
94
-26
-66
92
-55
-5
-59
17
-19
-151
0
0
-4
0
0
-25
0
24
70
-118
-22
5
97
1
97
6
-10
-11
55
-70
43
59
-17
7
-12
170
79
37
-80
114
-90
-160
-10
-18
-57
42
72
32
1
6
-14
18
44
15
77
-9
-3
40
-20
-65
17
-11
-37
-12
19
-146
-13
-127
-4
-3
-66
-57
-157
-1
53
5
-1
18
-74
-47
53
-17
-4
80
-59
-21
0
-1
-45
-28
-53
42
-39
-130
0
-41
-14
20
-39
-19
36
71
60
-5
25
67
58
34
50
11
-1
66
19
25
-64
131
3
19
-106
27
-1
7
2
-14
-14
-9
26
55
-4
2
-99
-6
-59
-50
-44
-61
2
-31
-197
-55
0
33
-7
5
-25
-15
-21
32
36
5
104
-35
-52
-21
-68
90
1
-22
-73
17
12
-46
-129
-16
84
-26
22
-62
1
-25
-4
-63
-49
-59
-29
108
48
9
24
-79
-14
27
-25
-13
57
9
-20
79
27
-8
126
-47
3
-92
-22
8
-46
15
-29
1
-45
63
81
3
77
24
-13
-32
67
-43
3
13
-53
53
16
-17
-18
-84
120
27
-58
-19
11
-34
67
-49
8
-83
-18
-70
7
-77
103
90
-21
-22
147
-28
41
84
-12
48
-53
-2
1
23
140
-5
18
23
-10
18
-75
-14
-52
68
-49
-3
106
-57
1
-5
-1
-53
42
30
83
-26
-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
-219
43
0
0
-6
0
-9
7
10
1
-4
33
-14
-2
0
-3
0
-24
0
0
-39
0
0
6
0
0
0
0
-2
57
25
0
17
0
0
58
54
0
0
13
9
37
135
7
0
0
122
0
-10
89
12
8
-12
51
-18
28
-102
0
32
-20
26
-6
64
86
-58
0
-6
-179
-13
-28
-11
24
-11
-6
5
0
-3
-6
-24
0
-1
82
-73
-191
-2
0
-116
6
0
-3
45
0
-51
64
-71
-13
-33
0
11
36
9
0
40
0
3
103
-8
0
46
55
56
0
18
-81
4
-52
63
1
0
-42
0
-20
8
-33
33
-19
17
-16
0
20
-14
21
-2
-54
-44
0
-65
18
-9
-2
14
-95
0
-1
3
0
-34
0
-15
-66
84
0
6
0
-1
-51
0
0
-3
37
1
46
-3
14
-11
16
97
-5
-46
33
-35
-2
-96
0
10
-80
-73
0
-89
-30
-65
-27
-128
0
66
-118
-5
44
14
-86
-15
0
-66
-12
98
-4
114
-1
1
4
133
0
-66
-47
-89
0
64
156
-100
-36
0
18
-43
7
0
-20
41
0
-30
0
-5
-1
15
0
-3
-72
-2
-46
1
-10
-1
28
14
-7
-27
-67
7
0
62
-65
0
-20
-68
-33
0
-19
0
-8
92
-29
64
-12
38
-69
2
-28
21
12
37
-3
54
0
1
-120
52
29
-37
-97
-41
17
-55
3
-35
0
-24
-5
10
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
-20
0
0
0
0
0
0
0
7
0
0
7
20
4
0
3
0
4
0
0
-14
0
0
-53
0
5
0
0
0
8
-3
0
0
0
-4
-2
22
0
0
35
-13
19
-5
6
0
0
25
0
14
97
-1
0
0
14
-109
-5
-27
14
0
10
139
0
-28
-56
17
0
21
-16
0
7
-6
5
0
0
63
0
4
0
-3
0
0
-11
0
18
0
-23
-19
0
0
-21
46
0
43
23
-16
2
-9
0
-8
57
0
0
10
3
14
-33
-160
0
-10
108
-55
3
50
80
0
0
66
0
0
29
-11
0
-19
23
17
-2
-1
22
0
5
-89
0
8
-21
1
0
-69
-10
-7
0
-6
-43
0
0
-24
1
-4
0
-17
-2
-2
0
0
21
-2
-6
6
-1
0
0
0
-2
50
0
7
-23
0
-15
-15
-86
0
0
-39
0
-2
40
-14
24
0
53
54
8
-19
-49
16
-15
-12
0
0
53
13
0
7
51
-37
0
4
-35
0
0
-4
0
0
0
-85
0
0
15
-1
4
0
-118
0
4
0
0
0
0
-52
-8
0
10
14
-12
0
81
0
27
0
0
0
0
17
0
-8
-3
38
0
8
-18
0
-61
0
0
7
0
27
-4
21
5
17
0
0
-83
0
-15
14
0
-11
0
62
0
-9
9
21
18
0
-27
0
-17
4
0
-20
0
-60
-26
-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
-61
-11
0
0
18
0
0
28
51
0
0
6
3
0
0
5
0
-80
0
0
-41
0
0
-24
0
0
0
0
0
-6
75
0
0
18
0
30
85
0
0
92
67
19
-47
-6
0
0
10
0
3
38
-2
-4
0
22
-60
5
21
194
5
17
138
0
35
-2
19
0
17
-59
-6
-4
-18
-21
0
0
-9
0
-10
-4
-21
0
0
5
0
39
0
0
2
0
0
0
-12
0
-11
-28
10
0
8
0
-14
-57
0
0
8
1
0
-36
-2
0
-44
-49
25
0
21
34
0
4
145
0
0
129
13
0
-2
-93
39
0
55
-23
0
-15
-84
-12
2
-34
-7
0
-45
2
-2
0
10
13
1
0
2
0
0
0
21
19
4
0
0
0
-3
-21
0
3
0
0
0
-9
61
14
0
42
-34
0
-37
23
0
3
-33
0
0
-14
2
-3
-3
-137
91
-14
-30
-7
0
0
-149
-1
10
-69
0
0
11
58
-15
0
0
-27
0
-4
-22
0
0
-3
40
0
9
4
5
21
0
-45
7
0
0
7
0
0
-5
7
0
0
9
0
0
118
7
77
2
7
0
-11
17
0
-16
11
0
0
0
-32
22
4
-84
9
4
20
-30
0
13
14
-20
8
0
-121
23
30
-9
0
1
-19
1
0
-19
2
0
0
0
17
20
75
1
3
0
0
-179
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-341
-15
9
22
16
-2
-3
-45
125
43
1
-4
7
-6
0
-7
-4
-130
21
-37
-99
0
2
-7
0
0
0
0
0
13
55
0
-2
0
0
-42
30
0
15
-7
-161
77
90
119
0
10
20
0
-15
121
48
5
68
-60
-51
108
-44
169
-25
47
15
-13
70
130
-36
16
0
-68
-7
103
41
112
21
0
4
0
-66
-59
-39
-15
0
-30
-18
-127
15
0
-78
1
0
0
28
0
-4
-35
-17
0
-16
0
17
-5
0
0
21
-3
-2
14
-48
-2
-46
-14
-98
2
33
23
3
-4
-41
-61
0
-99
0
-4
7
35
34
-10
45
-13
-1
-21
-175
0
20
132
35
4
-23
-14
3
0
-33
-37
-1
2
-7
-1
36
0
-16
-114
64
0
-11
7
1
26
15
0
0
9
42
-3
63
40
9
-3
-41
51
46
-67
0
0
-74
16
-5
-87
15
4
-63
76
133
-3
-33
17
5
59
-108
110
-23
-50
-56
4
10
75
21
21
12
10
17
5
-65
7
-103
8
-80
0
35
-1
-14
-141
0
-49
25
-2
0
42
8
1
53
-26
0
-2
-12
1
-2
32
0
125
-9
-23
7
3
15
0
28
-24
-55
-10
-5
-9
-3
42
-45
97
2
73
-62
-2
-16
-57
-58
-13
-25
-83
14
-69
-17
-1
-16
-7
94
-7
-26
-23
-20
-31
1
-74
-5
-51
10
22
-34
0
42
-22
-1
-12
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
-30
0
0
4
4
0
-21
23
2
0
0
114
0
77
2
31
0
-3
0
0
-58
0
0
-18
0
0
0
0
1
-9
78
0
0
0
5
-47
10
0
0
13
-4
13
-17
35
14
0
-15
0
-10
-78
0
0
0
43
0
17
-1
-13
0
11
-12
0
8
-52
-4
0
0
-131
1
-137
-114
-17
0
0
67
0
-27
0
19
0
0
11
0
-10
0
0
-24
0
0
0
3
0
-30
-65
12
-20
0
0
78
4
0
0
127
-4
0
-34
-30
0
-48
10
-2
0
40
32
0
2
-28
28
0
85
106
0
1
56
4
6
-4
3
0
8
-25
0
-9
-25
1
0
-162
-248
0
-13
0
78
0
0
-35
0
-32
0
-10
-43
-1
0
0
-5
1
-56
-12
7
0
2
0
-14
29
0
0
31
-1
-12
43
52
5
0
21
29
-26
54
36
0
-4
22
11
0
54
12
1
-20
25
0
75
54
67
0
12
-65
17
-14
-5
41
0
0
-76
0
104
0
56
-7
0
-24
0
-79
0
-19
4
-15
0
0
16
0
-87
23
0
0
0
0
0
-80
-7
-44
95
0
0
24
-23
0
0
74
3
0
4
94
0
-43
5
0
20
-2
-31
0
-6
-111
-16
3
4
12
0
-126
-38
0
-8
0
-31
0
-20
41
0
11
0
36
0
8
13
0
36
0
-14
-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
30
3
0
0
0
0
0
-11
-55
0
0
4
-80
0
0
0
0
100
0
0
0
0
0
-23
0
0
0
0
0
-1
-40
0
0
0
0
-64
-56
0
0
-34
-3
0
13
-23
0
0
12
0
0
10
28
11
-3
43
86
0
3
-17
8
0
-86
0
0
101
52
0
0
67
-63
0
135
40
0
0
104
0
0
2
-14
-2
0
-5
6
-3
0
-8
29
0
0
0
0
0
0
-9
37
-15
25
0
-83
23
5
0
26
0
0
-51
8
1
-32
23
76
0
-37
1
0
0
61
0
0
-59
-49
0
1
-40
-75
0
45
-17
0
0
-8
0
0
-67
-63
23
22
40
-9
0
11
-44
-9
-39
6
-18
0
0
-8
-31
-25
0
-5
0
0
33
47
0
5
2
0
11
10
0
2
3
-26
0
-4
63
0
0
26
0
0
18
25
0
-8
-35
69
0
-40
-14
-4
-13
-53
0
0
-67
18
0
37
-75
-38
2
11
45
-2
19
-141
0
0
0
-20
-6
-1
-9
-1
0
0
-14
-7
0
0
0
0
0
78
18
0
18
-29
0
0
0
0
56
-1
0
0
5
44
0
0
22
-54
0
-6
-23
0
-47
-12
0
0
19
-48
5
-9
-112
27
0
0
-27
0
60
-19
12
0
-8
-5
-7
-19
-66
56
0
0
-39
0
20
0
0
0
0
-3
24
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
138
102
38
-10
-9
-38
5
-17
7
0
89
-7
-34
14
25
-3
0
-1
3
-6
-38
37
-56
1
38
-41
6
14
-17
8
-3
22
22
-31
4
14
103
-12
24
52
-136
-43
-2
6
80
-18
-27
-3
-220
8
5
43
-1
-118
33
-47
-92
-32
24
-16
-5
-46
19
-55
56
44
-19
-88
17
-4
76
56
-3
-167
11
-42
0
-18
-116
-1
15
43
-19
-6
-2
-40
73
-22
24
0
-37
-8
-11
11
-39
-12
-6
22
20
-8
38
-12
12
-7
10
9
-7
117
4
-39
3
-44
-8
56
-13
8
-8
76
14
5
-8
-22
-7
-25
41
-41
-15
0
-30
32
-56
145
-26
-72
67
-6
-21
-55
42
0
4
9
-168
-3
103
-10
59
-2
29
-2
76
-10
-41
-121
19
40
-66
-137
42
3
-18
-28
-23
-17
-48
104
-21
10
-27
2
44
-17
7
-17
-7
-23
11
-76
45
59
23
32
-22
-10
70
-40
-31
-11
-16
3
-18
-30
28
56
11
0
-48
-15
44
30
12
0
-2
-26
10
15
19
-9
-99
3
-19
33
-56
14
100
2
-47
25
-55
-20
58
-30
66
-55
-12
-28
-52
27
-1
3
-60
56
-12
-17
36
-74
33
129
-30
-42
-114
58
44
42
9
-5
-9
-52
55
9
-112
0
-8
34
14
59
-5
41
-3
-5
-2
-32
-10
-52
28
-1
-2
-70
23
52
-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
-1
0
0
0
-1
0
0
-5
16
-47
0
0
2
0
0
-92
0
0
0
0
0
8
8
0
5
4
0
-38
-5
-3
0
18
-78
19
14
3
0
0
-116
-4
0
85
13
0
-4
21
-28
0
-57
17
0
0
58
-1
-8
31
0
-5
0
-82
3
-7
9
-24
0
0
-1
20
-3
0
40
0
0
0
0
-155
0
0
15
0
0
0
-14
0
9
-17
-1
7
0
0
12
-4
4
-1
28
0
0
24
156
0
23
22
-62
0
-27
31
0
-3
-71
-2
0
-1
-2
0
1
46
3
-7
-49
0
0
-15
-107
-8
-1
25
-52
-4
-72
18
-7
0
-4
-117
0
0
0
2
0
0
11
76
3
0
0
0
0
-58
0
0
0
0
0
-21
105
45
7
40
0
0
14
-26
0
0
2
29
0
-1
-120
22
7
97
-5
5
22
104
0
-24
47
-29
7
-2
0
6
-3
-25
2
9
-8
5
3
-20
32
0
-20
-2
-62
-7
0
0
-18
10
0
-5
8
0
0
-1
0
0
-4
7
0
3
0
0
-2
-39
0
23
0
0
9
4
-68
0
8
-18
-17
2
0
11
0
84
95
4
6
2
117
0
-17
-52
135
0
2
0
0
-106
41
-1
0
0
73
-11
0
32
26
0
0
-108
0
27
0
0
-4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
60
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-11
-2
91
0
0
0
0
0
0
121
0
0
0
52
-9
0
-20
-31
0
0
103
0
-1
120
0
0
0
-17
0
-3
-3
6
0
0
32
0
0
7
0
0
0
0
0
40
0
0
0
0
0
0
1
0
73
0
8
0
0
0
8
-15
0
0
0
0
0
12
66
0
23
11
1
0
-12
36
0
1
-40
0
0
14
37
0
0
-13
-1
0
0
-124
0
7
-9
0
0
-10
-40
0
27
0
7
0
0
14
0
0
0
0
10
0
39
-3
0
0
0
0
0
-79
0
0
0
0
0
0
-4
0
0
0
0
0
5
25
0
0
-15
0
0
9
14
0
-8
9
19
0
5
63
0
0
-18
0
0
17
-11
0
8
-6
2
0
0
-78
0
0
10
0
0
0
17
0
1
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
69
0
0
0
0
0
-6
57
0
0
8
0
0
0
44
0
-1
0
0
0
0
29
0
0
16
0
0
0
-74
0
2
4
0
0
0
5
0
0
0
0
0
0
-88
0
1
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
2
0
0
0
0
-1
20
0
0
11
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
-50
58
0
0
-47
-5
0
-50
0
0
0
-4
0
0
-6
1
0
0
-83
-6
0
14
0
0
0
41
0
0
-75
-1
0
0
-5
0
-2
11
1
0
0
0
0
0
0
-8
0
0
0
0
-70
0
0
0
0
0
0
24
0
5
0
4
0
0
0
-7
-84
0
0
90
0
0
-3
40
0
-22
-24
-1
0
-17
15
0
0
3
0
0
1
17
0
0
6
0
0
-5
21
0
0
-9
0
0
1
53
0
-1
-34
3
0
0
-21
0
0
0
-2
0
0
11
-2
1
0
0
0
0
-17
0
0
0
0
0
4
33
0
0
2
0
0
-5
119
0
0
-8
0
0
14
-86
0
0
45
4
0
0
-46
2
0
-7
0
0
0
27
0
10
-9
0
0
0
-4
0
0
16
0
0
0
-26
0
0
0
0
-1
0
-77
0
0
0
6
0
0
24
3
0
0
0
0
0
8
0
16
11
0
0
0
36
0
6
-6
-12
0
0
-35
-4
2
1
-4
0
0
9
0
0
0
0
0
0
-11
0
3
0
0
0
0
-7
0
3
-9
0
-2
0
-21
-2
0
7
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
1
0
10
0
0
0
-90
0
0
-14
0
0
-32
0
0
0
0
0
0
-5
0
0
0
19
49
-2
0
0
153
-10
-4
-74
33
0
4
4
0
0
5
44
0
0
10
-1
-1
-93
6
0
0
5
0
-2
-101
7
0
0
-86
0
-34
-6
-1
0
0
16
0
-1
0
-25
0
0
20
0
-179
0
0
0
0
0
0
-9
0
-18
-5
-2
0
0
0
-5
94
0
0
-1
0
0
-3
73
0
54
19
6
0
-22
-55
0
-6
-19
4
0
3
8
0
0
16
2
0
-2
-54
12
-22
10
1
0
0
6
0
-77
-1
0
0
7
23
0
0
0
0
0
0
-90
3
0
0
0
0
0
6
8
0
0
0
0
13
64
0
11
0
0
0
5
-60
0
0
37
0
0
-6
27
0
16
1
-2
0
0
34
0
0
-17
4
-3
5
97
0
-14
-9
17
0
0
-23
0
0
5
0
10
-6
-29
5
40
0
0
-23
0
-46
-17
0
0
0
0
0
23
0
0
0
0
0
0
14
0
8
0
0
5
0
24
0
14
-1
0
0
0
-20
0
9
-3
0
0
0
16
0
0
-8
-3
0
0
-46
0
16
0
0
0
0
100
0
0
0
0
0
0
-143
0
-8
0
0
-3
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
-4
0
0
0
-3
0
0
0
0
0
46
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
0
27
9
0
0
22
0
0
42
0
0
0
0
0
0
2
0
0
0
-72
0
0
-118
0
0
0
-4
0
0
12
0
0
0
-77
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-3
0
-33
0
0
0
0
0
0
12
0
0
23
0
0
3
-2
0
11
19
11
0
-12
46
0
-3
-7
0
0
-1
-79
0
0
44
0
0
3
1
0
0
1
0
0
0
-34
0
-70
-2
0
0
0
65
0
0
3
0
0
0
-56
0
0
0
0
0
0
-47
9
0
0
0
0
0
-1
0
0
-16
0
0
1
-247
0
0
17
0
0
0
7
0
0
-4
0
2
3
79
0
7
-21
0
-5
0
-51
0
0
11
0
0
0
39
0
0
12
0
0
0
0
0
0
0
0
123
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
25
0
0
0
0
51
0
-1
0
0
0
0
6
0
0
0
0
0
0
1
0
0
-2
0
0
0
24
0
-8
0
0
0
0
-22
0
0
-7
0
0
0
-69
0
1
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
22
32
0
0
3
-7
0
0
19
0
-2
0
0
0
0
0
-3
0
0
0
0
0
6
-39
0
0
0
0
-16
-6
-17
-7
-45
79
0
7
1
0
0
-32
0
0
0
0
0
0
11
-95
0
-26
45
0
0
-43
0
0
-124
-11
0
0
-123
0
0
58
-9
0
0
108
0
0
-6
17
0
0
2
23
-1
0
0
-37
0
0
0
0
0
-18
-10
-10
0
-71
0
-90
-21
0
0
-40
0
0
-108
74
8
-68
22
66
0
-5
6
0
0
98
0
0
-116
25
0
0
60
43
0
-163
-71
0
-7
-36
0
0
59
84
0
-29
-45
-59
0
6
-1
0
0
0
0
0
0
-35
-53
-5
0
-11
0
0
3
0
0
0
0
0
-58
-95
0
-5
-50
59
0
-53
14
0
-4
-11
-2
0
-14
30
0
0
-37
113
0
-88
39
2
-1
45
-1
0
-39
95
0
-12
25
2
0
0
37
0
-7
13
0
0
0
13
0
13
-14
24
0
0
-12
-1
0
0
0
0
0
-36
0
0
0
1
0
0
-22
-7
-11
14
-9
0
-4
3
0
-23
-29
14
0
0
-59
0
-31
15
18
0
0
-57
0
48
-38
-53
0
-5
1
0
-21
91
0
0
0
-29
0
36
77
-55
0
0
-19
0
43
-1
0
0
0
-5
36
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-64
0
0
-19
0
0
-131
0
-4
0
-2
0
-1
3
0
0
9
5
88
-3
0
0
-53
-183
-73
58
-20
0
0
-80
0
0
81
6
0
5
22
13
-8
-56
115
-4
0
0
2
-207
93
6
5
19
-105
2
-3
31
120
0
0
133
22
11
0
60
-9
0
17
22
-381
0
0
-4
0
0
0
5
0
55
36
-1
0
-9
0
13
-107
0
0
16
11
-21
-49
53
0
16
-85
-89
0
46
56
0
0
-46
0
0
42
-14
0
2
-100
-15
-16
-23
25
0
0
-134
3
-11
0
21
0
18
30
-82
0
0
-148
0
0
-6
6
-2
0
22
-8
25
0
-19
-6
0
-15
-2
0
0
9
0
0
-122
0
-8
-20
-8
-20
-1
19
0
0
-18
-2
2
15
11
3
18
31
-60
17
-1
-13
2
8
-47
6
15
0
41
0
-9
4
-20
77
0
-35
0
-7
-13
0
-33
0
-192
0
0
-1
-1
-163
0
-26
0
0
0
-21
-8
0
-140
0
0
0
20
0
-10
-98
0
158
0
0
7
0
-5
0
29
0
41
11
17
-5
0
19
-48
27
0
0
-186
0
13
-39
3
0
6
-59
1
101
64
20
0
0
-34
0
6
3
-4
17
0
-165
13
-112
0
-6
-34
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-157
0
6
-27
0
14
-93
0
0
0
0
-3
1
-5
0
0
0
0
62
33
0
0
1
-24
-10
29
21
0
1
-15
0
-7
32
0
0
0
111
-18
23
-31
41
0
0
67
10
-15
-68
-9
0
0
-22
13
-6
-56
0
0
0
-21
7
13
6
-36
0
0
0
-3
-32
0
17
7
0
2
0
-8
0
-36
-1
7
0
0
0
-53
-6
0
0
8
4
0
-125
-42
0
87
24
62
0
-56
48
-1
0
-29
0
5
-52
-12
-9
0
32
-27
0
-112
61
0
11
-13
10
0
-13
0
0
-5
-40
-25
0
4
76
0
0
17
0
0
0
61
0
11
0
6
0
0
6
0
0
0
0
0
13
-25
0
9
-5
1
-22
-10
-47
-7
0
-16
-21
4
15
34
8
0
2
45
5
31
34
-2
-15
49
-3
4
20
-54
0
-27
-168
38
-12
22
0
-4
-33
6
0
-10
0
64
28
0
-10
16
-6
0
-21
2
-4
0
1
9
0
3
3
-4
0
-4
0
0
-32
0
58
4
0
42
-4
-80
0
-7
-5
-3
0
-1
-45
3
-71
-13
2
0
-10
52
0
7
10
45
0
1
-7
0
-117
50
0
0
-3
0
4
3
-10
26
42
0
81
0
-7
0
0
0
14
-72
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
-12
20
0
0
-67
-4
0
36
8
0
0
0
0
0
89
31
0
0
38
12
0
9
0
0
0
-28
0
-7
-11
0
0
0
70
-2
2
72
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
-15
-1
0
0
0
-39
0
-49
0
-12
21
3
0
-5
-7
0
0
0
0
0
-9
-47
0
-77
-11
0
0
-38
32
0
3
8
0
0
2
62
0
0
11
-2
0
-11
54
0
0
46
0
0
2
-18
0
14
-15
0
21
0
71
0
20
1
0
-2
0
-49
18
-6
0
0
50
0
44
0
0
0
0
0
0
4
0
0
33
-8
-6
0
12
0
0
-14
0
0
0
-2
0
0
-28
9
0
0
-7
0
0
14
0
0
0
-16
0
0
31
0
5
0
-82
0
0
0
0
0
0
63
0
0
3
4
63
0
49
0
-9
0
0
0
0
16
0
0
5
0
0
0
20
0
21
-14
0
0
0
44
0
0
-3
0
0
0
52
0
-19
10
0
0
0
-9
0
15
0
-10
0
0
45
0
-11
-1
0
1
0
89
0
-2
32
0
0
0
-36
0
-11
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
34
0
0
-1
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-103
13
0
-132
-2
0
0
3
0
0
-84
-1
0
0
125
-8
1
34
0
0
0
0
0
0
1
0
0
0
20
0
0
-1
-12
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
4
-1
0
-85
0
0
0
0
0
-24
-47
0
0
0
0
0
43
-8
0
10
47
6
0
-24
82
0
0
-68
0
0
-3
-44
0
0
-14
-8
-2
-19
90
0
0
-2
0
0
0
68
0
58
-22
61
0
6
-8
0
0
-6
7
0
0
-84
-9
0
0
0
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
4
-8
-16
0
0
38
0
0
0
-12
0
0
4
27
0
5
97
0
0
-4
0
0
-3
2
0
0
4
0
0
13
-57
0
0
11
0
16
0
22
0
0
0
0
-29
0
46
-3
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
-4
2
0
-38
0
0
0
0
0
0
0
0
13
0
0
-19
0
-41
4
0
2
0
2
0
0
0
0
3
0
20
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
-16
0
-1
-9
0
0
-17
0
0
0
0
8
9
52
0
7
10
-1
-60
52
0
0
16
-62
-94
-33
22
0
-1
-72
-7
-38
-29
-15
-1
0
-71
28
-143
-57
57
3
0
-37
-16
-87
-11
-47
19
0
-122
58
-16
-12
-2
0
0
-10
3
62
5
17
0
0
28
86
18
0
0
17
0
0
-19
29
0
-15
0
-16
0
-73
0
13
-17
0
0
56
3
-26
-26
-38
0
44
7
-36
9
19
-14
1
0
-67
4
-8
-72
-39
-10
0
-60
-80
6
-121
-2
0
0
26
33
0
-133
10
-3
34
-70
61
0
31
-111
0
0
0
14
-39
0
-24
-124
-27
0
3
0
0
-20
0
0
0
-6
10
50
-18
4
-9
80
-153
88
-23
-21
0
0
109
93
30
-35
27
-10
-1
-55
-20
53
27
18
-18
-10
-121
0
58
8
-45
0
50
45
-9
13
-33
-11
0
2
5
72
-7
76
-126
0
4
-1
109
-25
0
19
0
0
0
-4
-7
0
-18
0
0
0
0
0
0
-3
0
3
6
21
175
4
-53
0
4
-21
17
-52
0
-37
0
-91
12
-95
-20
25
120
0
42
20
-52
-17
10
-60
0
-10
-37
4
-47
13
64
2
0
22
-24
38
0
-28
1
-106
-1
-1
-32
0
-4
-12
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
-17
0
0
-14
0
0
17
0
0
0
10
0
0
49
0
0
0
0
86
12
0
0
-24
-22
-55
-27
0
0
0
-19
0
10
8
7
2
0
1
0
-12
-6
2
-5
0
50
0
-94
4
0
0
0
33
0
-13
56
0
0
0
-7
0
100
0
5
0
0
-4
0
-6
0
0
-5
0
0
0
23
7
24
-17
78
-5
0
0
12
16
0
0
43
0
0
-9
-31
0
23
-65
3
0
20
49
0
-7
13
0
0
-2
-211
0
0
-113
0
0
39
-26
0
0
-75
0
0
2
-28
0
-10
7
0
1
-3
17
0
0
0
0
94
0
2
-2
9
0
0
0
0
-90
-9
0
0
0
0
21
-39
0
0
13
0
11
72
-93
0
-8
89
3
-16
20
51
9
4
30
0
-2
-27
66
1
0
-16
0
14
18
52
0
21
-9
0
2
15
9
0
0
135
0
35
4
51
0
0
-10
0
64
0
20
2
0
0
0
1
0
-47
0
0
0
0
0
-8
27
12
-25
10
0
0
-1
-28
0
0
7
0
2
0
120
0
-45
10
0
0
0
29
0
-1
74
0
0
0
41
8
186
47
0
0
0
0
0
0
16
0
2
0
-39
0
-19
0
0
-8
0
-111
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-54
0
0
0
0
0
-7
0
0
0
0
0
10
-35
0
0
1
0
-41
-39
0
0
-85
-4
0
-6
3
0
0
-50
0
0
71
-12
0
0
-57
-5
0
-43
33
3
1
29
0
7
-21
52
0
0
-15
21
0
86
-1
32
0
3
0
0
29
-5
0
0
17
52
-2
0
0
-28
0
0
0
0
-10
-7
-25
-16
50
-5
0
56
4
0
0
13
3
0
30
48
0
53
-112
31
0
-18
44
0
0
5
0
0
-55
85
0
63
78
-82
0
-79
-12
0
-6
-13
0
0
6
-13
0
-114
-13
-1
0
-1
49
0
0
0
0
0
0
-28
49
103
0
7
0
0
-9
21
0
0
0
0
15
51
31
-28
-63
4
0
52
104
0
0
75
2
0
27
14
47
-32
3
41
-4
-59
44
7
7
35
0
0
-52
-12
-1
12
-30
-13
0
4
-76
0
54
39
0
0
-7
-17
0
9
59
77
14
0
-5
0
0
0
0
0
0
8
0
0
-1
-11
0
0
123
12
-63
-2
0
0
-1
-33
0
5
0
-29
0
3
-25
0
8
-60
0
0
-7
38
0
-12
13
-34
0
0
-8
0
56
-3
0
0
-11
-5
0
23
-38
4
0
0
-2
-5
109
3
18
0
0
-6
23
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
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
6
4
0
0
33
0
-15
-63
37
0
0
35
0
0
8
0
0
0
-27
0
0
50
-14
0
0
0
0
0
2
0
0
0
4
0
0
1
-4
0
0
19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-30
0
0
-10
0
-4
3
6
0
3
-16
31
0
21
46
0
2
-7
0
0
0
35
0
0
-1
0
0
0
9
0
0
-5
0
0
0
10
0
8
-1
0
0
0
-3
0
0
0
0
0
0
107
40
0
0
0
0
0
6
0
0
0
0
0
5
-9
0
0
0
0
4
-8
-69
0
0
0
0
9
0
-50
0
0
0
0
0
0
-10
0
0
0
0
1
0
-23
0
-10
0
0
0
0
-12
0
0
1
0
0
0
5
0
0
0
0
0
0
-95
0
0
0
0
1
0
1
0
0
0
0
0
0
32
0
-3
0
0
0
0
68
0
0
0
0
0
0
5
0
-9
0
0
0
0
3
0
0
0
0
25
0
-3
0
10
0
1
0
0
-8
0
0
6
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
-97
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-115
30
0
55
0
0
0
0
0
9
-63
0
13
0
4
-4
0
-48
0
0
-3
-1
0
0
80
0
0
0
-81
0
0
11
-4
0
0
43
0
0
-4
0
0
0
-3
0
-65
0
0
-2
0
0
6
0
0
-68
0
0
0
0
0
-54
70
0
0
-2
0
0
7
20
0
-83
8
-1
0
16
69
0
0
-43
0
0
-1
-36
0
0
58
0
0
4
31
0
0
-52
0
0
0
61
0
38
0
0
0
0
0
0
0
-40
0
0
0
33
-5
0
0
0
0
0
10
0
0
0
0
0
0
-69
0
0
0
0
4
0
-39
0
0
-3
0
0
0
-69
0
0
82
-4
0
0
-54
0
0
-22
0
-3
0
-36
0
0
-27
-2
0
-11
-79
0
-3
11
0
-5
0
0
0
12
0
0
-53
0
-108
0
0
0
0
0
0
5
0
0
0
-1
0
0
-51
0
17
-3
0
-2
0
-57
0
-29
-1
0
-1
0
63
0
-6
-3
0
0
2
62
0
1
0
-1
0
0
46
0
-10
0
0
0
0
12
0
0
0
0
0
0
0
0
-17
0
0
-4
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
38
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-10
0
0
-83
0
0
0
-1
0
0
28
0
0
0
-44
0
0
-32
0
0
0
4
0
0
-23
0
0
0
33
0
-2
0
32
0
0
2
0
0
2
-8
0
0
0
0
0
0
-2
6
0
0
0
-9
0
-25
0
0
0
0
0
0
-68
0
0
0
0
0
33
13
0
7
-40
17
0
114
102
0
0
-15
0
0
24
-18
0
0
-6
0
0
0
-26
0
0
8
0
0
0
11
0
22
0
0
0
0
-2
0
0
0
0
0
0
105
-4
5
0
0
0
0
56
0
0
0
0
0
0
53
0
0
0
0
0
0
-4
0
0
13
0
0
16
71
0
0
12
0
0
-3
49
0
0
5
0
-2
0
38
0
0
6
-2
0
0
39
0
4
-3
0
33
0
-13
0
0
0
0
0
0
60
0
0
0
0
0
0
-2
21
0
0
0
0
0
62
0
0
0
0
0
0
35
0
0
0
0
0
0
9
0
-24
0
0
0
0
-27
0
0
0
0
0
0
12
0
-2
0
0
0
0
67
0
6
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
21
-4
-6
0
-2
44
-55
-21
-29
-17
-82
-38
11
-6
-14
-97
-14
60
18
4
12
-1
-4
12
15
4
-17
79
-17
-48
9
-53
-10
0
69
-17
35
-230
-9
-2
40
26
-13
32
-86
-25
-16
14
51
-36
-178
-45
2
-19
-12
-30
-14
50
-11
-10
20
53
4
-16
14
-135
-14
-11
-64
26
5
2
-1
-44
46
-28
19
28
-2
39
-26
-44
-62
22
-4
-29
11
10
15
19
-40
7
-14
37
25
0
-25
-23
10
-16
-10
49
12
-16
-46
-25
6
-32
129
5
88
1
-33
-4
6
-80
19
-6
-157
18
-20
77
87
-26
-94
-50
-1
4
-85
13
4
-28
33
-30
0
-32
-69
35
-18
-42
7
-1
-47
-39
1
-16
-9
-29
-7
-11
-68
13
-72
-34
-22
-4
-22
-47
4
-31
70
-30
6
3
-6
31
-48
-35
-38
-18
-27
-11
-42
1
1
-10
0
-30
17
28
-69
-86
-83
9
-72
-74
-72
-17
7
-22
-8
-30
-68
-107
-101
-26
-54
15
-59
36
-10
-167
-25
7
-7
-39
12
-17
-86
29
-26
26
-95
7
46
-80
56
61
-11
-7
-47
-5
7
-27
54
12
-49
-23
-50
-50
40
28
-14
-47
-19
-46
35
0
-112
34
-94
98
-99
-1
37
-132
-9
-31
-68
58
-11
-66
94
-30
-52
-7
-43
-65
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
-29
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
30
-1
0
-2
0
0
0
0
0
0
-1
0
0
0
-79
-3
0
-27
11
0
0
14
0
0
26
0
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
1
0
-8
0
0
0
0
0
17
44
0
0
0
0
0
9
11
0
-4
-27
-1
0
-73
-12
0
0
1
0
0
-1
47
0
0
0
-20
0
1
-67
0
0
1
0
0
0
41
0
9
4
0
0
3
14
0
0
0
0
0
0
24
-11
12
0
0
-2
0
-54
0
0
0
0
0
0
-34
0
0
0
0
0
0
-88
0
0
-10
0
0
1
-69
0
0
-1
-4
0
0
-74
0
3
0
0
0
0
33
0
0
-1
-9
0
0
-23
0
0
0
0
0
0
-21
0
0
0
0
-6
0
-93
0
0
0
0
14
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-8
0
-6
0
0
3
1
9
0
0
0
0
0
0
-2
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
0
0
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
3
0
0
53
0
0
0
0
0
0
23
0
0
0
51
0
0
-57
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
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-31
48
0
0
0
0
0
0
0
0
39
7
0
0
3
-92
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
-110
0
0
-1
0
0
-3
-4
0
-97
11
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
-24
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
-3
0
-1
0
174
0
0
0
0
26
-5
-36
0
0
0
0
0
0
8
0
0
0
0
-2
0
-37
-9
0
0
0
27
0
10
0
0
0
0
0
0
-1
0
18
0
0
0
0
89
0
0
0
0
0
0
-2
0
9
0
0
0
0
-4
0
0
0
0
0
0
-2
0
3
0
0
0
0
5
0
0
0
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
-14
66
21
-2
-4
0
0
-12
11
0
0
-4
-19
0
-23
93
0
0
0
0
0
14
12
2
-2
-28
-9
0
58
-54
0
-7
62
1
0
114
-35
0
-3
38
-5
0
86
-21
11
-3
-63
28
0
26
-12
0
0
-1
40
0
0
0
186
0
0
14
0
0
-19
27
138
-11
-61
0
6
22
0
0
-107
0
0
-33
30
1
27
-41
-15
0
20
56
0
9
-14
0
0
14
-50
13
9
-1
-22
0
-114
-16
4
4
87
0
0
39
-37
-41
-24
-90
11
0
-4
-38
4
-24
0
-8
0
0
-59
-136
-5
0
-16
0
0
6
-22
8
0
0
0
56
49
0
2
-134
-101
0
17
24
8
4
5
0
0
-51
63
0
-61
-38
-12
0
-17
20
-1
17
42
-23
0
66
-6
0
-46
-15
-13
0
-2
-37
-2
-50
101
8
0
0
-66
34
-11
16
0
0
0
-25
-75
-9
0
0
0
-3
1
36
0
4
-26
0
-4
-51
23
5
1
0
0
-1
26
0
9
19
-61
0
-9
27
-9
31
35
77
0
-5
-15
0
-12
2
-144
0
-11
-20
0
-5
-52
15
0
12
-10
-5
15
63
38
0
0
-24
2
15
-3
0
0
0
-7
-104
-1
70
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
38
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
-1
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
-3
0
0
-25
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
-3
0
-12
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
16
-7
0
0
0
16
0
0
17
0
0
0
10
0
0
-3
0
0
0
-26
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
1
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
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
6
58
-94
-32
80
7
28
-47
-14
7
4
7
4
-51
-23
-24
40
-54
-21
-7
-21
99
-67
-7
-7
-21
-9
57
-94
-105
-34
-13
-32
0
-66
-24
-19
-17
-20
-10
-16
11
73
-1
-42
-117
-32
-78
14
-93
-74
-4
40
2
-119
11
125
-50
4
7
-28
-60
1
17
4
62
-10
-39
-20
0
-73
40
-61
-6
32
-2
-6
43
-15
-2
18
-35
9
-4
37
-40
22
-19
9
-24
-19
97
-23
9
-38
-34
-3
-10
-88
18
8
7
-3
-20
2
-128
0
-11
13
-10
-59
-12
23
57
38
-35
-17
-6
1
172
43
3
1
-76
-11
0
49
4
-49
-42
-71
12
6
-17
30
13
43
27
35
-1
-97
53
-14
67
-50
19
-13
25
11
-3
-29
-72
-8
-9
-47
41
5
-34
36
27
-4
-45
-36
14
-15
-57
38
-6
-11
21
8
-26
40
-19
-20
37
-73
15
-10
12
0
-7
-45
30
20
6
37
-99
-16
-23
-6
-34
84
-39
31
-33
-62
8
-64
23
50
-39
7
-88
-9
20
-13
80
5
-4
-15
39
-13
-9
-53
-51
-6
-28
14
15
2
-10
9
-13
-29
-27
-8
-90
-20
71
23
4
-11
15
-32
-63
-76
0
118
-34
82
-10
0
-89
-9
46
-50
-16
-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
33
0
0
0
0
0
0
11
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
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
37
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
-1
-4
0
0
0
0
0
38
0
0
0
0
0
0
42
0
0
0
0
0
0
37
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
-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
1
-56
0
0
0
0
0
-3
3
0
0
0
6
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
50
0
0
0
0
0
0
-35
0
0
0
0
0
0
-2
0
-2
-32
0
0
4
-17
0
0
15
0
0
0
29
0
0
0
0
0
2
13
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
45
0
0
0
0
0
0
10
0
0
0
0
0
0
28
0
0
0
0
0
1
5
0
0
0
0
0
0
75
0
0
0
-15
0
0
78
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
10
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
98
0
0
0
0
0
0
-4
0
0
0
79
0
0
13
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-24
10
0
0
0
0
0
-80
0
0
0
0
0
0
-4
0
46
-67
0
0
38
-124
0
0
0
0
0
0
-22
0
0
54
0
0
0
40
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-13
62
0
0
0
0
0
-66
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
142
0
0
-5
0
0
0
-14
0
0
18
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
75
0
0
0
0
0
0
-10
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
42
0
0
0
0
0
0
-34
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
7
0
37
1
0
0
0
0
0
-2
0
0
0
-56
32
0
-19
0
4
0
-6
0
0
5
0
0
0
-27
0
0
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
36
0
0
0
0
0
23
0
10
0
-3
0
3
15
0
0
0
0
0
8
1
0
1
59
10
0
-33
70
0
0
67
0
0
30
-33
0
0
-33
-8
0
6
-9
0
0
18
0
0
-54
10
0
-114
2
0
0
0
11
-1
0
19
0
0
0
89
-150
0
0
0
0
0
-86
0
0
0
0
0
9
4
0
0
0
0
0
-15
110
0
0
-26
0
0
0
12
0
-2
0
6
0
-10
-53
5
0
91
0
0
-6
-23
0
0
6
4
0
0
-81
0
0
2
0
0
0
-92
0
0
5
0
0
0
116
-12
0
0
0
0
0
-15
0
0
0
0
0
0
24
0
0
0
0
0
0
-42
0
0
0
0
0
0
60
0
1
-4
0
0
0
1
1
11
0
-5
0
0
55
0
-20
0
0
0
0
-38
0
0
0
24
0
0
-50
0
-12
0
0
0
0
11
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
11
0
0
0
-1
-1
-2
28
1
0
0
-1
0
6
3
3
0
0
3
-2
0
72
0
0
0
-8
0
22
-1
0
0
0
54
0
4
11
1
0
0
-1
0
-4
0
0
0
0
0
0
49
0
0
0
0
0
0
1
0
110
0
0
0
0
0
-1
-114
0
0
0
0
0
5
-7
0
30
-6
-8
0
-55
39
0
0
8
0
0
19
59
0
0
54
-2
0
0
1
0
0
1
0
0
0
43
0
3
0
0
0
0
-17
0
0
0
0
0
0
-16
-4
0
0
0
0
0
-18
0
0
0
0
0
-10
-9
0
0
9
7
0
6
65
0
0
-22
0
0
0
-88
3
0
46
3
0
0
-30
0
0
38
0
0
0
-49
0
0
4
-6
0
0
-57
0
0
-7
0
0
0
-38
0
0
15
0
19
0
38
0
0
0
0
0
0
102
0
0
0
0
0
0
-8
0
4
0
0
0
0
103
0
0
-1
0
0
0
-8
0
6
0
0
0
0
-76
0
0
-24
0
0
0
59
0
-57
0
0
0
0
0
0
0
0
0
0
0
48
0
-12
0
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
27
4
-7
-44
-3
0
0
8
0
0
-37
12
12
0
-47
106
13
-19
-8
0
4
23
0
-13
29
40
0
0
64
-9
-104
14
21
0
0
9
0
-14
0
-2
0
0
0
6
71
0
0
0
0
0
0
-52
0
0
-7
1
0
15
0
-40
-22
0
2
-89
0
0
-88
66
6
40
-6
24
0
-7
-6
0
-1
34
-5
0
31
-10
0
0
12
60
0
-59
6
0
14
61
0
-13
4
19
0
8
70
37
24
0
74
0
0
0
0
5
0
-46
51
52
0
0
0
0
0
0
0
0
0
0
7
-4
0
19
8
-4
0
-50
-40
3
-3
-17
-2
0
95
-75
-1
0
-44
-94
0
51
-5
0
-10
94
-2
-2
0
21
0
0
64
70
10
0
46
0
0
20
-2
63
0
66
0
24
25
9
-21
0
-4
20
0
0
0
2
0
0
-7
0
7
9
0
0
-44
11
-18
9
0
0
2
13
-1
4
22
0
0
0
-22
-7
-16
-5
0
0
5
-41
-22
-3
-21
-7
-3
0
-26
0
-40
95
0
0
0
59
0
-19
14
-12
0
0
64
0
25
1
0
7
0
-25
55
38
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
137
-1
0
-72
-87
2
63
-6
0
0
42
4
-8
140
74
0
-7
-21
-86
114
-12
61
0
15
2
0
-133
12
-10
0
1
-76
54
-89
-46
-4
0
0
12
-44
10
0
-139
0
0
-3
-7
-23
0
1
42
0
0
0
-59
0
-127
0
96
-14
90
0
-7
4
0
0
-51
-2
5
-17
21
0
59
-118
-126
0
-22
28
0
-14
8
4
4
-146
21
0
11
29
-40
-1
-37
54
0
0
-23
-10
34
-5
-38
0
-14
26
-43
-5
-1
-142
-1
0
2
0
114
0
-32
-5
4
0
16
1
-1
-138
0
0
0
5
0
7
42
2
67
-29
134
5
71
48
-3
0
-30
17
-6
-65
6
0
-22
-49
-61
0
34
16
0
17
32
6
-39
30
39
5
0
26
-74
-11
1
-13
0
-5
-55
0
38
0
-90
0
-11
46
-57
-27
0
-26
1
0
0
4
-9
0
77
5
0
0
13
0
0
-9
14
-57
1
0
7
0
36
0
8
-119
0
4
4
60
0
136
-40
4
-3
0
17
0
5
35
-14
-7
0
-1
0
-56
-69
0
0
0
-105
0
-17
22
37
-5
0
-7
0
-9
1
0
-26
0
40
-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
2
0
0
0
-4
-1
0
-71
0
0
0
0
0
0
-2
0
0
0
80
-1
0
36
0
0
0
0
0
0
6
0
0
0
-10
0
0
-1
6
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
16
-60
0
0
0
0
0
7
-1
0
0
-13
0
0
-9
29
0
0
-3
0
1
3
-40
0
0
17
0
0
0
-80
0
0
-2
0
0
0
-7
0
5
4
0
0
0
-3
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
5
-74
0
0
0
0
0
0
-10
0
0
5
0
0
0
28
0
0
3
0
0
0
48
0
0
13
0
0
0
-13
0
0
0
0
2
0
7
0
0
0
0
-1
0
-53
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
-7
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
-2
0
-9
-2
0
0
0
-2
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
1
45
0
0
-15
161
0
89
-7
0
0
0
0
0
-23
0
0
0
-41
-31
0
24
-2
0
0
28
0
-32
-16
0
0
0
33
-5
12
-1
0
0
0
11
0
-1
0
0
0
0
0
0
1
0
0
-1
0
0
9
-17
0
8
-10
0
0
0
0
0
-111
0
0
0
0
0
-7
19
0
80
-22
-13
0
-27
29
0
0
6
0
0
-58
-108
0
0
-39
2
0
-4
-105
0
0
51
0
0
1
-80
0
9
16
0
0
0
144
0
0
0
0
0
0
-3
6
0
0
0
0
0
-64
0
0
0
-12
0
0
-72
0
0
0
-8
27
7
77
0
0
-1
0
-16
0
-29
0
-17
24
-6
0
19
-38
0
0
130
0
-8
0
52
0
-6
6
-20
-4
-1
105
0
0
0
-6
-7
0
-29
0
0
-8
0
34
0
1
0
0
0
0
-10
0
7
3
0
0
0
0
0
-121
0
-25
0
0
0
0
-100
0
0
0
12
24
0
-18
0
65
10
0
0
0
-87
0
-2
-1
-1
0
0
-85
0
-78
0
0
0
-12
6
0
0
0
1
0
0
-81
0
11
0
0
-18
0
-71
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-15
-132
0
0
0
9
0
13
-52
28
0
0
86
34
-5
-13
0
0
-8
2
0
-23
137
0
0
0
-31
0
9
18
0
0
0
-1
0
-6
0
-7
0
0
1
0
67
0
0
0
0
0
0
-2
0
-70
0
0
0
0
0
12
0
0
0
12
0
0
49
-2
0
-9
-45
17
0
39
-13
0
0
-6
0
0
-10
3
0
0
83
-20
0
1
-72
0
0
19
0
7
0
59
0
37
8
-7
0
0
51
0
0
0
0
-17
0
82
0
-7
0
0
0
0
67
0
0
0
0
0
-26
15
0
0
0
2
-5
3
-91
0
0
13
0
0
0
-86
0
0
-68
0
-1
-16
70
0
0
54
0
0
0
69
0
0
20
0
42
0
31
0
0
0
0
0
0
91
0
0
0
0
84
0
-34
0
0
0
0
0
0
-12
0
0
0
0
0
0
80
0
9
0
0
0
0
-21
0
0
0
0
0
-1
-31
0
13
-2
0
0
0
43
0
0
25
5
0
0
73
0
22
0
0
0
0
66
0
0
-8
0
0
0
-26
0
11
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
0
0
0
0
0
0
0
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
-7
0
8
0
0
0
1
0
0
-4
-3
0
-14
-51
0
0
19
1
0
0
-10
0
0
-3
-4
0
0
19
0
0
23
-3
0
0
-10
0
0
0
14
0
0
-1
0
5
0
0
0
0
0
0
0
0
-75
-12
0
0
-2
0
-5
-3
0
0
6
0
0
-14
7
0
14
58
21
0
-112
-48
0
0
-5
0
0
20
-36
0
0
15
-13
0
-9
38
0
-1
-14
0
0
0
104
0
-110
-5
0
0
0
-62
0
0
-2
0
0
0
-14
10
-18
0
0
0
0
-50
0
0
5
0
0
0
-19
0
-1
-2
33
-10
-17
24
0
0
-31
0
0
-5
-47
0
-5
-5
-4
0
39
-33
0
-4
20
-1
0
11
2
0
0
1
0
0
0
-9
0
0
4
0
0
-26
-57
0
0
-1
0
0
0
31
0
0
0
0
0
0
36
14
0
2
0
0
0
-64
0
4
7
0
0
0
-2
0
0
15
0
0
11
85
0
29
1
13
0
0
32
0
0
-17
-5
0
0
78
0
-1
0
0
0
11
-19
0
0
10
6
0
0
-25
0
10
5
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
-116
-7
-1
4
-33
-33
27
49
-22
-18
-6
-28
-43
-78
73
4
8
-2
42
-5
-2
134
-18
-2
10
13
27
9
53
93
0
-2
76
-5
19
-7
-19
0
0
-5
114
-3
0
9
-101
0
-1
-4
56
25
-2
76
-89
-3
-19
0
4
-3
14
0
-9
-8
0
131
-17
0
-5
-92
-87
1
21
-22
0
0
-1
-23
-29
7
-32
0
2
-5
85
-44
33
31
-9
73
-19
23
159
-25
9
15
-32
5
59
-35
68
-26
0
2
8
-4
26
0
75
-59
30
0
8
-8
0
-15
73
19
-4
5
0
25
-2
13
-2
-67
-87
-18
12
18
0
50
-22
-35
88
22
22
-4
-31
17
70
52
-122
-13
56
78
49
-48
27
-119
15
4
-21
33
46
9
-17
6
-1
18
-48
0
-40
-6
-29
14
37
-68
10
-52
0
30
107
20
-3
-10
48
0
-12
-14
-4
1
-46
0
-10
30
-1
57
65
4
-2
10
-27
0
-3
-26
-18
11
-2
27
0
48
-51
30
-13
17
-5
-34
-32
28
-14
25
63
-26
-9
-24
70
44
60
-17
-44
0
-10
36
65
51
-3
22
4
-67
1
0
-3
0
38
18
15
-24
-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
-37
11
0
-5
10
-1
-13
87
11
3
0
35
15
37
32
92
-10
-27
61
-15
-122
-92
-4
0
-3
-85
113
-11
15
-7
0
0
50
0
51
-2
-22
0
0
-38
16
49
0
-1
-42
0
-2
0
47
-3
-18
-11
70
0
54
0
-9
0
19
0
113
-2
0
-47
-49
-2
-16
-8
-62
0
-58
42
0
-25
-42
-6
-5
31
13
-18
1
37
23
3
77
33
0
-3
18
0
-9
-17
-7
10
-53
92
0
34
0
-49
3
17
-3
0
42
0
19
-9
-21
0
4
0
0
-66
-12
0
0
-8
8
28
0
0
-2
-12
91
18
-91
-27
-2
0
-35
2
44
16
35
6
-14
21
-107
14
27
45
-8
-22
-67
58
-39
-76
-16
-1
4
-28
-12
-58
17
-56
0
45
-48
6
78
0
10
0
4
23
-69
-2
0
-13
-17
0
0
-11
-10
0
81
13
0
0
-8
0
12
0
5
-6
-22
1
26
-19
6
0
-6
38
55
0
64
40
0
-12
-6
-17
-2
-5
0
0
-54
-21
-4
-5
-12
-8
0
-64
55
-5
-23
0
-73
0
-37
-44
-10
-15
0
-11
0
2
86
0
-26
0
41
49
12
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
16
0
0
0
-7
17
0
70
0
0
0
-8
0
0
0
2
0
0
74
0
23
0
0
0
0
1
0
0
0
-13
0
0
0
0
-30
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
0
-4
1
0
46
-32
0
0
3
23
0
0
-30
0
0
6
5
0
0
50
0
0
-1
64
0
0
10
0
0
0
0
0
20
-8
0
0
0
1
0
0
0
0
0
0
-58
8
0
0
9
0
0
-70
0
0
0
0
0
0
49
0
0
0
0
0
0
57
0
0
0
0
0
0
-37
0
0
53
0
0
1
-124
0
0
14
0
0
0
42
0
5
28
0
0
0
-35
0
0
0
0
0
0
45
0
0
0
0
0
0
2
0
0
0
0
0
0
8
7
0
0
0
0
0
-6
0
-22
0
0
0
0
-11
0
0
0
3
0
0
-21
0
-2
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
8
0
0
0
6
0
0
-5
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
0
0
-7
0
0
0
0
0
0
71
0
0
0
0
0
5
-1
0
10
-4
-1
0
8
-50
0
0
5
0
0
-1
-31
0
0
1
0
0
0
52
0
0
-2
0
0
0
11
0
-5
0
8
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
-76
0
0
0
0
0
0
-3
0
0
0
0
0
5
-54
0
0
8
0
0
0
17
0
0
2
0
0
0
-77
0
0
-8
0
0
0
-9
0
0
-3
0
0
0
45
0
0
0
0
0
0
35
0
0
0
0
-2
0
-46
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
7
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
9
0
0
2
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-99
0
0
29
92
-55
-14
180
1
-14
78
65
-87
59
63
1
59
96
-30
5
19
78
-1
0
39
-10
-12
-6
111
19
25
8
-3
5
50
18
17
-3
-21
-51
1
-3
68
-83
-1
-2
-95
-31
-4
-13
3
-151
0
-98
0
-38
-11
-38
-6
-23
-36
-37
-113
78
44
-18
-17
54
7
53
27
0
26
71
-3
0
54
2
-8
41
58
22
-65
37
26
30
-27
65
-53
19
-81
17
-13
26
41
33
6
-125
-22
-33
-28
-42
-8
-17
0
-14
61
-4
0
13
-81
-14
-69
7
-14
-2
-90
-64
-143
-16
-18
-23
-23
-38
-15
11
1
-12
62
-88
-148
5
-37
24
-61
-2
-63
-36
-94
54
3
-24
22
28
62
26
-15
40
6
-56
60
6
2
44
21
66
12
52
-25
54
-79
-8
-4
30
53
26
43
-1
-35
-65
31
-2
-55
-33
-1
-83
-90
-4
-2
-123
12
90
-47
-66
28
-20
-53
-78
-153
-6
-7
68
37
-57
19
12
21
15
-22
50
-52
114
109
-10
140
11
-63
32
-16
32
1
28
-9
25
-50
10
-15
-14
78
-58
44
32
59
2
3
-6
-18
-126
92
-9
-2
39
-55
-18
9
-61
-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
-20
0
0
102
0
-43
-85
45
0
24
-22
2
-27
-10
-25
22
-2
-50
0
-12
-54
-104
15
-4
18
0
11
-42
9
0
-1
-19
-8
37
-58
-44
0
4
-65
28
17
0
32
-141
0
-7
-10
-16
57
19
-64
-110
-29
0
0
9
5
0
16
-15
0
1
-12
-79
0
-33
-9
39
0
49
-16
0
-8
17
0
-4
-58
-51
0
-12
-47
0
-59
27
-10
0
77
54
29
37
-20
-25
0
43
34
13
103
-61
-49
-8
-31
48
-6
23
0
11
18
-38
-1
0
3
-3
7
-111
0
2
17
-8
-13
-39
-1
29
-54
-3
-20
16
16
23
-1
-1
-1
-80
22
-83
0
-19
-41
23
-108
70
3
60
42
38
-15
15
15
-7
10
-84
19
-31
-70
23
-11
25
91
94
-9
100
2
-20
0
38
43
0
-39
0
-24
-26
3
-13
-9
4
0
-12
5
-6
3
0
-8
-16
-1
0
7
79
9
-61
-91
13
0
53
79
-5
118
-67
38
0
-38
48
-1
-9
-5
-13
-12
0
-23
-6
63
39
12
0
54
26
0
-45
-40
23
16
-2
57
-50
64
1
-44
0
14
-24
0
-12
18
-10
90
-11
35
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
-60
0
0
-30
-4
3
28
-40
74
0
12
-74
3
2
8
0
0
72
70
-1
0
41
-104
0
-73
37
0
0
-88
0
29
27
-6
0
0
-155
-82
-16
0
11
-2
0
17
0
0
0
-8
86
-18
0
0
0
39
2
-27
0
17
-4
0
83
-43
0
53
-1
1
0
-33
-32
0
-33
37
6
0
135
-20
0
0
68
26
0
75
23
0
-29
-65
0
0
11
28
0
-53
-73
-9
0
-21
-69
0
0
17
20
0
0
-8
-11
32
0
-40
0
-2
-7
2
0
-9
31
0
1
31
19
39
-91
64
0
22
56
0
55
76
0
0
85
23
1
0
-27
-9
0
23
18
-3
-18
126
-2
0
-27
-48
7
-22
5
-41
0
112
2
0
-3
-45
-7
0
36
-24
0
-22
8
-7
0
0
-10
8
0
-7
0
0
0
4
-3
0
-15
6
0
-33
-3
8
73
12
0
0
-1
16
0
-14
84
29
0
-11
-55
0
74
128
-19
0
8
-53
-7
-74
-82
-29
0
-58
-2
0
-7
21
-2
0
-7
-74
-24
6
-32
-25
0
-5
-35
0
-75
-3
-3
0
-3
-7
-1
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
-24
-30
-137
-145
15
-1
-9
30
2
-2
87
-4
-4
20
1
5
-79
-66
21
-52
-11
-29
-56
-20
53
-34
-2
0
-114
-4
-24
-60
-93
33
8
-38
-3
24
-22
-61
22
24
9
17
-20
-34
82
-4
12
-170
6
32
-50
42
49
-6
48
-4
-75
16
4
2
129
3
-4
-79
-51
-5
-7
12
-14
-18
96
17
-22
-8
60
-8
19
-125
-34
-27
46
18
64
-3
58
6
29
-26
-32
-108
15
-41
50
-51
41
-43
37
2
28
63
12
-27
-33
-71
-27
-41
-69
-37
-59
61
-17
-11
-189
-68
-16
0
59
21
0
-57
-48
5
47
29
8
-16
-65
-17
-25
43
80
-24
-13
-10
-10
8
-14
-18
-76
-10
40
-62
-15
8
-14
58
9
31
109
2
-33
29
-27
5
15
86
-16
-5
7
-11
-20
-10
-81
-53
47
-31
46
-43
-19
-28
23
39
50
20
-10
-106
-13
71
-8
62
48
-24
-53
-149
-14
-36
77
-43
-31
78
46
59
-27
15
32
-3
-66
36
7
80
59
12
-2
-29
37
38
30
-55
59
-23
46
-5
-10
34
-27
27
-3
-96
16
-16
3
32
97
-8
-10
34
-46
19
-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
30
-33
10
-2
-14
11
5
-24
-11
0
0
0
0
46
-52
0
0
18
120
20
0
-92
-2
2
0
16
0
-4
0
17
0
0
10
-10
-76
0
0
-26
0
0
0
-3
17
13
-76
-16
1
0
0
-29
-14
0
-2
-3
2
0
-20
0
0
-72
-52
21
0
47
46
0
7
-47
5
0
-6
35
0
0
29
-32
-1
-57
38
0
-2
25
0
-10
-2
-91
0
19
5
-37
-6
16
-83
14
0
0
0
-8
-2
52
86
-21
0
-19
-16
0
-34
-38
0
18
0
0
18
-21
-12
8
-67
-8
9
-67
0
0
-11
58
2
10
40
17
3
1
6
-6
0
8
28
16
6
78
-11
50
47
-77
-1
-20
76
11
-37
7
31
0
10
3
7
-11
0
22
0
22
31
-19
-66
-2
65
0
0
0
-1
6
0
120
-1
0
0
0
4
5
-17
-8
60
-21
0
0
-9
0
4
-2
92
14
0
20
-108
0
26
-21
32
0
5
-68
-1
63
4
7
15
0
35
-3
27
-31
14
0
0
18
-6
0
-8
0
19
0
15
0
-64
-4
0
-32
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
-88
14
0
0
-3
0
0
-49
0
0
0
0
0
0
0
0
0
0
54
0
0
16
0
0
0
6
0
0
0
-13
0
0
0
0
61
0
0
9
0
0
0
0
0
-65
0
0
0
0
0
18
-12
0
0
11
0
0
6
9
0
6
-34
21
0
6
55
0
0
-21
0
0
-37
12
0
0
4
0
0
9
-81
0
0
-9
0
0
0
111
0
-36
0
0
0
0
-1
0
0
0
0
0
0
56
0
-9
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
-3
0
-18
0
0
0
0
0
0
-63
0
0
0
1
0
0
-115
0
0
3
0
0
0
93
0
-15
3
0
0
0
46
0
0
0
0
0
0
34
0
0
0
0
31
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
49
0
-15
0
0
0
0
4
0
0
0
0
0
0
0
0
34
0
0
0
0
65
0
0
0
0
0
0
18
0
0
0
0
0
0
-40
0
0
0
0
0
0
-28
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
-32
11
2
0
-6
1
0
-38
0
-20
0
-1
0
0
0
0
0
0
2
0
-5
1
0
0
0
0
0
0
0
1
0
0
5
0
137
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
-4
-27
0
0
0
0
0
-5
13
0
29
1
0
0
-17
-55
0
0
10
6
0
2
32
0
0
-3
0
0
2
48
0
0
-24
0
0
0
0
0
-8
-8
13
0
0
59
0
0
0
0
0
0
70
7
0
0
0
0
0
-96
-2
0
0
0
0
0
5
0
0
-8
8
0
-5
48
0
0
-3
0
0
0
121
-15
0
-5
0
0
0
-2
0
0
6
0
0
0
10
0
0
-1
7
0
0
23
0
0
3
0
0
0
16
0
0
0
0
0
0
-106
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
-6
4
0
0
0
16
0
-11
2
0
0
0
8
0
-1
0
0
0
0
10
0
0
-3
-1
0
0
-25
0
-5
1
0
0
0
14
0
0
0
0
0
0
67
0
-5
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
-30
-25
-16
-12
95
97
23
58
19
-18
7
-11
-12
3
59
14
-10
-1
-25
62
68
11
79
0
0
33
-11
-36
-24
51
0
0
-81
7
-24
0
-4
-9
0
0
0
61
12
-69
51
7
0
-5
0
20
-51
-15
0
-10
-16
6
141
-46
0
20
97
134
0
-102
-28
0
11
51
-5
6
-5
3
-8
104
78
62
63
-16
2
-4
2
-120
13
4
-95
-128
-4
-3
-29
55
-9
-9
89
0
0
-2
0
-21
0
15
-42
-4
0
-20
22
2
-29
30
-10
0
0
5
-13
-47
10
5
-18
-24
4
68
-60
2
5
67
-40
31
-50
-77
57
5
43
-54
-30
-1
30
2
-31
-8
3
53
-114
-39
34
-20
-33
-29
-15
1
24
0
-1
-19
0
77
-7
-12
-4
98
-5
83
3
0
-44
0
0
0
0
0
0
-24
99
0
-8
16
0
0
-32
-5
24
-6
12
2
32
-50
0
-2
38
64
-2
49
-54
-10
-42
21
32
0
-8
-30
-16
48
33
29
0
25
-59
11
-60
-18
-2
0
-16
-30
0
-7
-100
-57
64
-8
-27
0
-16
-8
-5
68
0
-36
11
-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
-20
-7
0
0
76
0
0
40
3
0
0
-12
0
-1
-9
0
0
0
149
0
0
-6
-12
0
0
0
0
-1
0
0
0
0
-1
0
-10
0
0
3
0
0
0
0
0
36
-5
0
0
0
0
44
53
0
0
0
0
0
-12
-12
0
33
89
0
0
-36
110
0
0
2
0
0
0
7
0
0
-57
8
0
-3
36
0
0
-5
0
0
0
53
0
34
13
0
0
0
-40
0
0
0
0
0
0
61
-8
23
0
0
0
0
-8
0
0
0
0
0
18
-62
0
0
0
-2
0
26
-32
0
0
-8
0
0
0
-115
0
0
7
0
-2
0
-67
0
17
-15
0
5
0
21
0
0
18
0
0
10
46
0
0
29
0
0
0
32
0
0
0
0
51
0
1
0
0
0
0
0
0
-44
0
0
0
0
0
5
55
0
-10
0
0
0
19
-3
0
0
0
0
0
0
1
0
38
0
0
0
0
29
0
0
19
20
0
-2
-29
0
-21
0
0
0
0
13
0
0
0
0
0
0
-90
0
-8
0
0
24
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
13
-1
53
1
0
-73
-18
-3
10
-1
0
0
50
0
0
0
33
-3
0
-106
15
0
0
17
0
0
-15
3
0
0
-9
0
0
0
0
6
2
0
7
0
0
67
1
-2
1
1
0
-46
-56
0
0
28
0
0
35
77
0
-44
-32
117
0
-77
-35
0
13
-93
0
0
59
-74
0
0
89
-73
0
35
-74
0
0
-6
0
0
14
-101
0
-66
-31
-9
0
0
-66
0
0
0
0
0
0
-40
-20
1
0
-1
0
0
33
-6
4
19
0
0
40
-127
0
0
-10
4
0
-25
-32
0
0
-18
-2
0
95
97
0
-2
-62
-57
0
-22
60
0
1
168
-5
0
150
27
0
-23
-104
-12
0
23
-30
0
0
-2
0
0
0
-23
0
-1
3
3
0
-4
-81
2
0
0
0
0
0
-43
-2
0
-20
-18
0
1
98
0
88
-8
4
0
-25
99
0
8
8
-8
0
11
-27
0
-63
14
-1
0
-11
56
0
0
27
3
0
2
-84
0
71
6
0
0
0
-11
0
6
18
5
0
0
-41
0
39
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
23
54
-33
73
-16
20
-11
-21
-21
52
-41
71
72
15
27
21
24
-9
97
-52
31
-1
-21
53
-23
-1
-35
42
0
1
45
15
6
6
-22
37
-58
72
3
76
9
36
25
41
58
-4
-6
44
-7
4
-89
-88
-35
10
39
31
-63
51
-79
-44
67
-7
-52
-80
-36
2
-15
-74
-33
-23
4
-21
150
45
-40
9
-16
-22
-16
-36
-43
30
-4
31
45
-62
81
-42
0
0
-63
43
-4
-21
-49
16
1
-45
83
-57
-43
-71
69
-5
83
14
7
67
-6
7
2
82
-46
-55
96
7
-20
-29
-24
62
-25
6
112
-12
25
76
-35
-14
-1
24
-60
-4
-92
-54
0
-12
34
-51
-7
13
-59
2
26
28
13
-38
2
85
-39
-39
-10
2
-7
-152
-28
-3
27
32
-7
-25
125
81
0
65
61
-14
9
14
62
15
-7
14
-35
31
40
-70
33
37
1
-36
-7
21
107
13
-5
29
15
-19
33
43
21
-24
60
68
9
32
22
104
139
-11
20
-7
-16
-88
9
-58
-18
6
-3
-23
-6
-77
3
29
26
-20
-44
-28
-75
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-2
-1
-2
53
-3
-97
2
0
0
11
-33
-28
10
10
6
0
0
10
0
47
0
-35
0
0
84
-2
-83
0
0
35
0
0
25
-52
0
-2
-36
28
-9
-2
0
4
26
0
0
0
-22
16
-28
-5
-1
0
34
57
-7
-123
0
7
1
0
19
0
6
-69
0
0
-25
3
-5
-39
71
0
-15
-14
37
5
-18
107
0
81
34
-3
7
-1
6
0
0
20
6
4
2
12
-17
8
0
-10
0
16
-3
1
0
7
-9
1
34
76
-4
6
95
-16
0
-13
-25
0
0
-100
0
-8
-1
0
0
14
-152
-27
0
-60
-19
0
15
-47
-24
-3
23
-37
0
-12
-8
17
-2
-22
37
0
0
56
4
28
4
34
0
4
-2
-63
-29
2
27
5
0
-17
0
0
0
-9
1
0
0
0
0
0
-35
23
94
18
4
0
-2
-98
12
10
-2
-23
0
2
0
0
26
21
-31
0
-2
-60
-12
2
9
-9
3
12
-6
-7
-73
38
0
-3
0
57
0
-6
-2
0
-3
0
-19
0
-10
15
0
-6
0
2
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
-30
11
0
23
-43
0
0
18
0
0
0
46
0
-4
28
-8
0
0
11
0
0
1
0
0
0
13
0
-101
0
0
0
0
0
0
-60
0
-50
0
2
0
0
0
8
-33
0
0
-6
0
0
11
18
0
-34
79
0
0
-106
71
0
0
29
0
0
109
-66
0
0
0
9
0
19
-42
0
0
9
0
0
-14
20
0
39
7
0
0
0
79
0
0
0
0
0
0
-71
9
0
0
0
0
11
-22
0
0
12
0
0
0
-4
0
7
-13
0
0
0
-30
0
0
8
0
-5
0
-100
0
0
-2
0
0
5
-20
0
0
-18
0
0
-1
-96
0
0
6
-5
0
0
70
0
0
0
0
12
0
-66
0
0
0
0
-5
0
-14
0
0
8
0
0
0
18
0
0
0
0
0
0
10
0
-13
-5
0
0
0
-8
0
0
-4
0
0
0
65
0
-24
0
0
0
0
-27
0
-1
24
0
0
3
29
0
2
2
0
0
0
-86
0
0
0
-2
0
0
-11
0
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
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-2
-16
-2
0
0
6
0
0
-46
9
0
0
-27
0
0
0
-1
0
0
0
0
-61
0
0
0
0
0
0
-8
0
37
0
22
0
0
0
-4
44
0
0
-7
0
0
28
3
0
-115
10
-12
0
39
35
0
0
-10
0
0
75
-41
0
0
-14
0
-4
0
-57
0
0
-12
0
0
7
-5
0
58
-18
0
10
0
32
0
0
0
0
29
0
12
4
0
0
0
0
0
-5
0
0
0
0
0
0
-46
0
0
-16
0
0
-22
22
0
0
45
0
5
-10
-32
0
-1
-9
7
0
5
-34
0
2
69
-3
-1
-4
-14
0
0
9
0
0
0
94
0
0
-10
0
13
0
-48
0
0
-2
0
59
0
62
0
0
0
15
0
0
-14
13
0
0
0
0
0
27
0
-7
-4
-4
0
0
110
0
0
0
4
0
-1
79
0
-16
-1
0
0
0
152
0
0
-32
0
0
0
47
0
-6
3
1
0
0
-46
0
2
3
0
0
0
6
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-42
-63
16
62
0
75
38
26
-34
47
41
40
21
-33
50
-5
76
-8
16
-17
8
-18
40
44
-12
-6
33
-130
-61
-18
127
-20
41
11
27
48
33
-36
11
49
5
121
9
30
-12
-19
-52
30
29
-5
-7
3
0
-3
-2
7
64
45
81
49
52
18
-117
54
17
64
-48
-16
-23
40
-28
11
-34
14
54
-17
-32
14
-80
26
-71
-8
-13
54
65
-34
124
7
3
-3
19
-1
45
66
28
12
9
-25
-29
44
-2
-56
10
-14
46
-87
15
-60
-26
94
13
5
-32
21
-21
76
-13
5
-29
19
-69
-20
20
89
-34
7
-62
-31
7
65
50
17
-23
61
-1
-29
104
-10
-24
71
-33
-18
23
27
-38
3
38
-73
35
67
18
-6
-9
14
33
48
34
-28
-15
-7
28
100
-79
31
87
50
-24
-54
-9
78
137
37
-14
-31
-41
-21
-10
-14
26
1
8
-31
9
15
17
4
53
-13
76
15
-61
-18
-85
71
23
19
-27
38
19
55
89
7
9
70
6
-53
26
-28
-16
-40
49
-104
83
16
-24
3
9
31
-22
97
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
-54
-100
27
17
3
0
-30
-73
-35
19
-4
-62
0
-70
-19
-58
32
-1
98
0
18
33
-103
0
0
87
0
5
0
-3
15
0
-1
0
34
1
18
35
-21
22
0
0
95
-4
-7
-1
132
15
4
-5
106
0
41
25
0
17
42
12
9
2
-19
-11
-15
108
37
-6
1
-30
0
73
-35
3
0
36
10
0
47
25
-10
-3
55
10
0
4
62
53
-6
60
28
0
-29
0
-1
58
-67
-2
0
14
0
-12
-1
38
-5
0
0
38
33
9
40
-5
0
23
6
14
0
23
-5
0
50
76
8
8
6
41
-7
14
10
-3
1
-24
-48
-2
-41
64
22
0
57
-2
33
-67
-25
12
3
5
35
0
84
9
14
30
-52
75
0
18
0
-7
64
117
139
-3
-10
0
-69
49
-1
55
0
-29
-5
-36
-2
-73
2
0
97
-53
16
0
13
55
0
11
137
23
0
-22
-32
10
11
123
-22
-18
143
-1
8
-105
41
28
0
14
-4
0
-7
-2
5
-5
-51
48
7
29
-1
-19
1
45
-97
-2
6
0
-13
-38
-32
-34
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
2
0
64
0
0
-55
70
0
0
17
6
0
43
0
0
0
-14
0
0
0
8
0
0
-1
-17
-2
0
15
33
0
0
-1
0
8
-1
-11
7
-8
-44
0
14
-7
0
0
-10
0
0
-43
-77
0
64
0
-80
0
-3
-39
5
10
63
0
0
-57
35
2
0
-29
-80
6
20
-32
0
-3
26
0
0
68
-126
-1
-12
-117
79
0
-1
-67
0
0
-4
0
0
0
-19
73
-51
0
0
0
0
0
48
0
42
0
0
8
-34
0
-8
-32
-13
0
45
31
0
0
12
0
0
14
6
8
88
-48
28
9
-100
22
-2
-20
43
-2
0
-26
-17
0
23
25
55
0
-18
-20
0
-1
-77
8
0
58
-70
0
39
45
-77
0
0
-40
-8
0
0
0
0
0
-30
4
0
9
9
0
-4
4
1
58
14
0
0
6
3
0
-13
110
53
0
139
-25
0
46
40
-4
0
24
47
0
-13
58
-84
0
39
17
0
13
43
-2
0
18
9
0
-13
0
-22
0
21
0
0
-62
0
0
0
0
-26
-1
-22
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-18
39
16
92
29
-127
-33
-50
-35
16
-66
4
-147
-44
-71
5
-65
14
16
5
-164
-19
-83
61
0
11
-116
13
-42
123
-28
19
2
-36
25
15
7
34
36
-8
-18
-21
83
-2
18
-27
30
-63
-24
-94
-70
6
0
-63
-19
41
86
120
48
33
60
3
-7
-17
-7
1
18
107
33
-19
121
-26
51
11
1
-93
0
-48
-65
7
-117
14
-2
-11
-16
-30
2
6
18
-93
17
59
-47
26
9
141
59
11
48
-32
-32
63
49
-60
12
-47
9
-34
69
5
-54
-6
7
-49
-17
-22
73
-49
9
92
-36
-12
59
102
99
-23
-41
63
-40
-20
51
-41
-22
-64
74
-26
-78
28
-90
-7
-40
68
12
23
70
-5
-22
119
92
32
-29
0
-11
6
65
-14
50
36
-10
-82
33
-58
-28
44
-12
-28
-36
2
-92
-63
17
12
18
-13
25
-40
20
24
-5
60
109
-36
32
-30
-11
-38
-52
145
-14
38
4
36
24
-14
51
-22
-69
113
21
-40
22
31
0
-25
-8
-27
8
73
-35
-34
-13
-35
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-4
2
-92
115
67
64
-22
-7
0
52
0
-62
-2
-33
28
0
-24
42
-39
0
0
6
0
7
-1
-4
0
39
-33
117
0
34
0
-96
16
0
0
79
0
-8
-11
15
0
-10
49
-72
0
17
-6
0
-26
28
8
-1
4
0
12
-7
-21
-86
-16
-4
-56
0
-5
-20
0
19
58
-5
0
-20
-13
-17
10
12
-89
0
0
-5
0
40
0
-18
30
24
0
28
-6
0
10
20
0
-4
18
0
28
5
0
41
24
-35
30
204
-7
23
0
70
-4
31
-27
-10
-5
92
-7
-47
67
14
0
-1
15
-37
0
69
-85
-57
0
67
-79
-2
51
-67
-31
3
-29
70
28
-21
0
-10
-2
-21
-16
49
-31
0
21
-2
-8
0
-12
39
0
50
12
0
-3
24
1
-2
2
0
-40
41
0
4
-6
-31
0
-20
19
74
-1
-5
11
0
-41
-130
17
61
-1
0
-20
-41
95
-16
15
-8
-20
0
-40
-81
18
0
-31
20
0
-10
-59
33
-53
20
-11
0
9
-67
0
-25
0
-132
-16
-9
1
-16
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
14
-4
0
0
37
0
0
0
0
0
0
12
0
0
0
5
0
0
-1
0
-71
0
0
0
0
0
0
-18
0
52
0
0
0
0
0
0
-4
0
0
2
0
0
-12
39
0
-2
-38
6
0
107
32
0
0
60
0
0
15
-44
0
0
-32
0
-4
0
-18
0
0
-24
0
0
0
120
0
61
5
0
0
0
-62
0
0
0
0
0
0
18
0
11
0
0
0
0
12
0
0
0
0
0
3
-122
0
-1
0
0
-1
1
-76
0
0
0
0
0
25
33
0
-2
-11
0
0
0
-27
0
0
-19
0
0
0
-25
0
8
-16
0
0
0
-15
0
0
-15
0
0
0
37
0
0
7
0
0
0
51
0
0
0
0
0
0
16
0
0
0
0
0
-7
-11
0
-14
0
0
0
0
-22
0
2
0
0
0
0
139
0
128
0
0
0
0
50
0
0
0
0
0
0
-103
0
8
0
0
0
0
-61
0
1
0
0
0
0
29
0
-58
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
-12
-5
0
0
16
0
0
6
-2
0
0
-6
4
0
0
0
0
0
-6
0
-81
0
0
-5
0
0
-2
13
0
43
6
0
0
-6
0
13
-73
0
0
28
0
0
22
147
0
-42
-35
-1
0
-31
42
-1
0
-21
0
0
4
-51
0
0
-21
0
0
-18
-111
0
0
-1
0
0
12
4
0
-94
-2
0
0
1
13
0
0
0
0
0
0
17
-16
0
0
0
0
0
-17
0
0
7
0
0
0
49
0
0
-5
-24
0
0
-3
0
0
-8
0
0
-4
51
-20
-19
9
-10
0
10
-5
4
0
-6
-4
0
39
13
-1
27
38
-3
0
0
-1
0
0
0
0
32
-3
191
5
0
7
0
-5
0
43
0
0
0
-1
-6
0
-11
0
0
0
-2
0
0
3
0
-3
-3
0
0
0
-53
0
0
0
0
0
0
-18
0
-3
-2
0
0
0
27
0
0
12
-13
0
0
39
0
-40
0
0
0
0
-55
0
0
8
0
5
0
-91
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
6
7
-91
-42
-61
36
30
17
0
3
25
-38
25
141
-6
0
0
-19
-67
-10
8
-126
0
0
0
-29
0
23
114
-19
-22
9
0
-40
-6
9
17
15
-4
10
-18
-9
0
40
45
-60
0
-36
-82
-2
15
-34
26
0
31
35
0
0
41
-19
-7
106
2
1
-24
-24
45
28
-98
57
23
4
32
80
53
18
-23
-10
0
15
0
33
0
17
14
-49
0
5
-31
0
-14
7
3
-2
0
0
34
-35
-2
-33
-39
-18
-68
17
-17
0
16
-30
-7
-25
-68
-32
0
-30
-20
34
35
13
-3
18
-51
-151
-47
39
-111
-41
16
95
-15
-122
96
11
-3
2
-2
23
-1
46
5
-43
-10
-48
-3
105
48
0
34
141
4
0
0
53
0
47
69
-2
8
1
0
4
-1
-4
90
16
0
-1
96
25
-1
-62
27
37
4
10
-11
0
77
9
-3
0
-55
-1
0
-22
-16
-61
0
-61
2
1
-151
-37
2
105
22
50
-22
32
25
122
-2
4
2
-6
141
-5
0
83
0
29
-21
-9
-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
-8
0
0
0
-158
0
0
-7
4
0
0
0
0
0
0
-11
0
0
0
0
31
0
0
0
0
0
0
-6
0
72
0
34
0
0
0
1
1
0
0
4
0
0
-22
44
0
-8
-29
0
0
58
10
0
0
-8
0
0
-14
30
0
0
-1
0
0
18
-78
0
0
84
0
0
0
-90
0
-143
4
0
0
0
-55
0
0
0
0
0
0
-21
0
3
0
0
0
0
-41
0
0
0
0
0
0
49
0
0
0
0
-4
2
82
0
0
-1
0
0
17
89
0
0
16
0
0
0
-64
0
0
8
0
0
0
-24
0
0
-12
0
0
0
-43
0
0
-20
0
0
0
-92
0
0
0
4
-15
0
-45
0
0
0
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
71
0
0
0
0
0
0
-17
0
0
0
0
0
0
30
0
0
3
0
0
0
-3
0
-5
0
0
0
0
19
0
0
0
0
0
0
49
0
3
0
0
2
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
142
72
0
0
123
-10
0
-89
40
50
0
106
23
0
-6
-7
0
0
-82
77
-4
0
-1
-123
0
-2
-25
0
-10
-3
-6
-48
14
51
0
-13
-18
0
0
43
5
0
17
-76
0
-3
28
43
0
-28
-48
15
0
38
-1
0
61
27
44
0
38
-19
0
33
13
0
-12
28
-14
0
37
44
-18
-52
-51
49
0
4
-38
-5
0
143
21
5
0
-8
85
37
0
17
0
5
15
-3
0
0
28
0
-17
-29
0
-14
-7
18
0
33
5
0
24
73
-8
0
-78
-8
0
6
6
69
0
-67
33
0
-5
-20
-1
0
-10
21
-10
54
23
70
0
-19
28
2
0
18
0
4
-33
-30
0
-3
45
77
0
0
-5
-3
20
-2
19
0
0
-48
60
0
55
78
0
0
38
0
17
40
-8
0
19
-28
0
-41
7
59
0
49
-43
-2
-13
42
-14
0
-42
40
0
41
18
21
0
60
6
0
-91
20
6
0
-38
-17
17
-10
-3
-7
0
0
-8
0
-56
-8
0
0
0
-32
-10
0
-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
-40
98
12
26
-53
10
-86
-1
24
0
0
89
-30
-137
-2
61
-7
-1
-4
67
-104
0
24
-77
139
38
-68
0
-37
2
2
0
-41
3
-21
0
-44
0
13
-18
-81
22
-76
-2
37
23
-17
17
46
28
-8
1
-13
-43
-135
77
-82
-51
31
-124
-90
-3
-26
8
-16
2
27
-75
-67
12
28
24
16
4
15
24
-91
0
32
-65
-42
0
61
4
-10
45
150
6
-2
60
8
-57
7
22
-7
-53
87
-45
66
-19
8
12
-25
0
-50
0
17
12
100
-11
-42
-97
-1
20
-62
79
-37
-30
63
132
-63
93
-14
-63
-136
-38
5
10
0
67
2
4
-32
-2
-31
-16
22
65
-64
-8
0
35
-3
-3
-7
25
118
6
50
67
-5
21
-56
0
0
30
3
-14
-7
-16
40
48
9
0
31
47
-17
-88
1
49
-7
-147
48
-142
-16
-7
-48
2
-6
63
-33
64
3
-17
33
3
36
1
-74
-13
-2
-7
-28
-19
24
43
6
-1
0
-11
97
-10
1
0
87
-2
10
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
-23
-8
0
0
7
0
-21
0
-7
0
0
-16
44
-18
0
0
8
0
0
0
-88
-3
-32
-39
-11
0
4
0
-8
-10
0
0
-28
0
0
-55
-16
0
-47
24
-114
0
33
47
0
-3
-8
-3
-13
-21
78
0
0
-81
62
1
-24
0
6
29
-16
48
-6
3
-56
0
-36
-51
-10
16
1
32
0
0
0
0
15
0
13
-6
-8
0
-20
10
0
-21
0
-1
1
0
0
-12
32
9
9
-2
-5
50
39
24
0
0
-10
0
10
31
-12
-17
40
-17
-15
17
-29
20
0
6
73
-1
7
-54
0
0
77
2
-82
0
13
13
0
0
-44
3
83
7
-8
-7
0
5
-9
33
0
17
-19
0
-1
0
3
0
44
33
0
-22
-3
0
0
-53
6
60
0
0
0
-1
22
0
-2
-15
33
0
-3
-42
0
-107
-70
-16
0
0
-84
0
137
-37
-17
0
15
0
0
39
-5
0
-4
0
1
-3
38
2
6
0
21
-41
0
54
27
0
32
0
-8
11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-62
0
3
0
0
0
0
38
0
0
18
0
0
0
-16
0
30
-31
-1
0
-17
38
0
0
-6
0
0
10
-16
0
0
-2
-5
0
-6
62
0
0
21
0
0
-1
-7
0
41
0
0
0
0
-57
0
0
0
0
0
0
33
0
0
0
0
0
0
38
0
0
0
0
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
-58
0
0
-1
-9
0
0
30
0
0
4
0
0
1
-14
0
-2
-15
0
0
1
-75
0
0
0
0
0
0
9
0
0
0
0
-1
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
-3
0
0
0
0
-18
0
0
-1
0
0
0
59
0
0
1
0
0
0
22
0
0
0
0
0
0
-8
0
-7
0
0
0
0
19
0
1
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
30
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
-34
0
0
0
0
0
-51
-6
0
8
67
0
0
-67
1
0
0
-10
0
0
1
-45
0
0
7
-7
0
0
20
0
0
60
0
0
-2
-47
0
101
-5
-11
0
0
-4
0
0
0
0
3
0
76
0
0
0
0
0
0
-42
0
0
0
0
0
0
-34
0
0
9
0
0
15
50
0
0
-1
0
0
0
-61
4
0
46
-1
0
0
77
0
0
2
0
0
0
-116
0
-3
23
0
0
1
-10
0
0
-7
0
0
0
-6
0
0
0
0
-4
0
6
0
0
0
0
0
0
3
3
0
0
0
0
0
-19
0
13
6
0
0
0
-72
0
0
0
0
0
0
-9
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
-4
0
0
0
0
-24
0
0
0
0
0
0
-21
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
-137
-130
53
9
-52
85
-47
8
30
-78
-3
72
14
-11
-1
-19
-50
5
-1
-26
-12
26
-9
12
3
94
-35
0
-48
-9
0
-47
17
-15
-6
20
9
31
45
53
-33
-63
21
8
69
25
-59
-27
5
-190
-30
-50
76
-92
-23
44
-82
0
-48
91
-38
55
44
-111
16
39
38
14
-48
-56
20
15
2
118
62
-96
-57
0
-14
25
56
-2
-6
5
37
-10
32
83
38
29
-63
-77
-40
-99
33
-27
-54
4
26
0
32
-49
-25
-119
21
-14
12
-46
95
-33
9
30
8
29
26
20
-18
4
59
17
-23
-42
41
-32
-48
16
55
9
42
23
-34
1
41
75
-18
41
9
-53
-40
-28
-4
2
62
-79
-5
-100
-53
-13
1
41
-43
49
-15
46
-39
-7
72
46
-29
-5
17
-159
-21
-2
-63
-27
-14
37
99
-14
-73
-36
32
-76
-44
-17
-8
32
15
-7
-107
35
140
-5
-14
-16
42
19
-5
-61
49
-74
88
-41
-17
94
-34
-10
-1
-43
78
-31
-12
8
-2
-103
47
18
-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
-30
0
2
0
-18
0
33
0
-27
0
0
-13
0
14
0
0
-12
0
0
0
0
-4
2
20
59
1
1
0
-60
14
9
12
42
0
0
56
103
0
-15
-22
0
0
46
27
0
-3
-23
0
0
-14
-96
4
0
-63
0
-1
22
-59
0
-6
-41
0
0
26
-12
0
72
8
0
0
0
52
0
0
0
0
8
0
-45
59
-14
0
0
-6
0
-14
14
0
0
0
0
2
-12
-2
4
-59
0
11
-108
11
0
2
55
0
-22
22
23
0
-37
79
24
-1
26
-2
2
-9
-95
0
80
18
12
-1
48
-6
-25
-15
-16
3
0
-1
10
0
-16
0
73
0
-1
3
0
-13
0
-34
-2
-5
0
0
-5
0
-116
0
-3
4
0
0
-5
64
0
-57
4
0
0
13
-105
0
9
33
0
0
38
86
0
50
-14
0
0
0
39
4
-20
-57
0
-3
0
-51
0
51
72
0
0
0
2
0
0
-10
0
21
0
53
0
-102
0
0
77
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
-14
56
0
0
-44
-50
0
1
40
0
0
-13
73
0
0
0
147
0
-2
-5
0
10
0
13
-80
-12
-92
0
-21
-34
0
0
-26
0
0
-135
-84
3
-15
23
-8
0
-19
11
0
40
33
0
0
-67
13
-18
37
8
-118
0
21
34
-8
-5
-43
-11
0
46
11
0
-21
9
46
0
53
15
1
0
108
0
0
0
2
55
-20
0
59
0
1
3
-20
-2
-1
34
0
29
-85
0
50
-7
-103
0
116
6
0
8
15
-8
0
-160
53
-2
5
16
-51
0
-52
2
-6
115
-21
-4
0
-51
43
0
52
10
29
0
73
3
0
-2
-34
-15
0
-3
14
3
2
-62
56
6
0
26
-11
0
0
-6
0
0
-82
52
0
-15
-26
0
0
-20
-10
11
62
-6
0
5
-51
0
-4
38
-41
0
-25
10
0
101
-43
-10
0
-48
3
24
89
106
-71
0
43
-24
0
-28
57
0
0
27
-26
0
15
21
92
0
0
14
-2
17
-49
0
0
0
-13
-48
0
40
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
-7
142
25
-1
0
-28
6
0
-5
20
0
3
51
153
0
-35
-17
33
0
-46
0
-4
-44
10
3
-117
4
14
39
70
6
28
-11
-42
-3
37
48
-10
0
37
-64
-2
-24
28
-3
-18
-18
77
-47
-115
16
0
23
-19
-36
11
14
51
7
3
-1
-122
-2
1
29
47
-13
-23
27
-55
0
32
-122
-114
-2
-47
1
0
11
-89
0
-5
-35
29
37
15
19
-23
-151
-50
-56
48
-2
-1
-18
-102
-20
36
-76
52
-29
-20
48
-62
-66
14
-18
9
-36
28
69
22
34
10
-14
18
-72
-98
-42
-10
-7
8
-2
-13
-4
-29
1
-96
-3
-20
-22
-89
-47
0
41
12
0
-1
-3
10
-8
2
-17
-2
-12
22
18
-10
-22
-76
-28
-44
0
13
-6
-29
0
1
129
-43
32
7
56
0
-65
50
-6
-18
1
-45
-5
-51
112
-95
-76
-21
-25
0
-54
-75
14
-26
36
74
-1
100
26
-181
-36
0
-19
-3
81
84
5
-169
0
3
-86
0
-18
19
-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
-87
0
3
-1
-3
14
0
0
63
0
-10
0
-21
0
-16
-2
63
0
17
0
-32
-46
0
0
-36
-5
2
26
-65
0
52
26
-96
0
-53
-6
31
0
-9
-1
0
57
41
0
0
-62
-24
3
-7
29
0
2
7
0
7
100
0
3
-54
124
21
0
4
3
0
0
-12
3
27
0
-37
37
35
0
7
-4
0
-22
0
0
0
0
0
0
-20
-3
-3
88
2
16
-4
-7
0
8
96
0
-9
-37
119
0
-6
-21
-112
14
60
40
0
0
1
35
-18
-8
-22
0
18
-98
-31
43
-11
0
-2
11
61
0
-8
-2
26
-13
19
-26
4
-87
0
6
1
5
0
25
47
0
-6
-4
0
0
0
0
0
-96
-1
-32
1
0
0
0
3
0
9
51
-3
0
-3
-5
0
55
50
8
0
2
-83
-2
9
-14
-65
-11
0
80
1
49
-13
0
0
0
0
0
56
39
31
-1
0
-21
0
-118
0
-5
-27
0
30
-17
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
-1
0
0
0
0
-9
0
0
0
0
0
0
-2
0
26
0
0
0
0
0
-1
25
0
0
0
0
0
0
3
0
10
-104
0
0
-14
-67
0
0
5
0
0
2
58
0
0
-1
0
0
-11
0
0
0
9
0
0
5
-4
0
-7
-24
0
0
0
-11
0
0
0
0
0
0
47
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
2
0
0
0
0
76
0
0
0
0
0
0
58
0
0
-20
0
0
0
-130
0
0
0
0
0
0
19
0
-16
45
0
0
0
-43
0
0
-2
0
-1
0
90
0
0
0
0
9
0
-33
0
0
0
0
12
0
0
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
-4
0
5
0
0
0
0
-7
0
1
0
0
0
0
-3
0
21
5
0
0
0
69
0
-8
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
29
0
0
0
0
0
0
-1
0
-46
0
0
0
0
0
0
-79
0
0
0
0
0
1
-8
0
24
-5
0
0
-10
-2
0
0
-2
0
0
-1
-9
0
0
3
0
0
0
-25
0
0
-3
0
0
0
-1
0
8
3
0
0
0
-3
5
0
0
0
0
0
-37
-1
0
0
0
0
0
-12
0
0
0
0
0
0
49
0
0
0
0
8
0
9
0
0
-2
0
0
0
-84
0
0
-12
-1
0
0
1
0
0
-4
0
0
0
25
0
0
-2
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
51
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
3
0
0
1
0
0
0
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-4
135
62
0
-12
181
0
0
-8
48
7
-23
47
89
-6
2
0
77
34
0
0
-28
-4
0
31
116
0
-14
56
-21
-12
134
46
0
-7
62
-11
0
42
-18
0
-6
31
101
39
-97
-96
-19
-2
5
-3
0
9
-9
4
-2
48
6
-4
13
-91
-21
0
22
60
-62
0
-72
-69
41
0
18
0
0
10
83
0
8
11
0
14
-15
-2
24
13
27
-55
19
25
3
43
23
32
-59
27
39
-4
-10
-31
64
-104
41
-99
39
50
-6
-29
36
-2
23
50
-56
56
-7
-77
20
-13
-29
24
2
3
-118
0
-148
-1
-6
1
52
-80
0
-31
-8
0
0
-17
5
0
7
-22
0
0
-6
-5
-7
73
-5
-96
-3
-6
-49
-5
2
0
-17
10
19
-4
10
-44
0
-57
31
-8
60
14
-22
7
52
2
87
1
0
-7
0
2
5
-6
-4
0
82
0
-1
31
-66
-60
-35
-94
0
25
0
0
-119
0
-48
21
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
7
0
0
0
6
-56
0
0
0
0
0
0
0
0
11
0
0
0
0
0
2
60
0
0
-5
0
0
0
-86
0
71
104
0
0
-5
6
0
0
-39
0
0
-1
-29
0
0
-15
39
0
10
-10
0
0
10
0
0
17
-19
0
-31
-1
1
0
11
140
0
0
0
0
0
0
37
0
0
0
0
0
0
-28
0
0
0
0
0
0
-64
0
0
0
0
-14
0
39
0
0
-9
0
0
0
-2
0
0
1
-2
0
-6
10
0
-1
1
0
0
0
107
0
0
-7
-1
0
0
-73
0
0
-8
0
-13
0
-23
0
0
0
0
-6
0
-61
0
0
0
0
0
0
-21
0
0
0
0
0
0
22
0
1
0
0
0
0
-4
0
0
0
0
0
0
4
0
-21
39
0
0
0
7
0
0
-5
0
0
0
-29
0
-6
0
0
0
0
-8
0
0
6
0
0
0
19
0
-1
0
0
-2
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
9
0
0
194
43
0
0
0
42
0
0
0
0
0
16
20
-140
7
-10
0
-47
-2
0
-2
-131
0
0
-6
-59
0
-1
7
64
0
11
0
-15
0
9
4
0
-29
17
2
-10
74
53
0
18
5
0
9
53
21
0
4
12
1
-58
-6
-10
0
-6
10
1
-13
136
2
0
0
-5
29
104
0
1
0
-40
42
30
-15
0
0
0
84
19
0
76
-37
-75
0
11
12
-2
-1
-2
-1
0
35
30
0
53
-24
-16
0
-67
-5
-6
17
43
-1
0
2
26
0
-42
26
39
-1
-4
-10
0
-30
-29
0
0
0
-30
0
20
-20
0
14
0
19
-15
-1
0
-10
0
0
-16
-12
0
6
-8
0
0
103
5
-5
13
2
-2
27
-57
0
-2
-95
35
0
11
7
0
19
-71
31
0
0
-5
0
55
69
66
0
10
-3
0
-56
60
-7
0
-22
17
0
17
41
22
0
0
3
0
17
-59
0
0
0
6
2
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
8
0
0
0
0
0
-47
0
-1
0
0
0
-1
-139
0
0
-3
0
7
-7
52
0
26
8
24
0
49
-46
0
0
-108
0
0
-43
100
0
0
-60
0
9
-20
-12
0
0
-5
0
0
0
28
0
-87
25
-2
0
0
-12
0
0
0
0
-2
0
-23
-1
1
0
1
0
0
-30
0
0
0
7
0
0
-13
0
0
1
0
8
-10
63
0
0
-6
0
-2
3
56
0
-4
68
2
1
0
54
0
7
56
0
14
0
-124
0
-1
40
4
-7
0
99
0
0
-7
0
-19
0
-63
0
0
0
5
-2
0
-61
0
0
0
0
0
0
8
0
0
0
0
0
0
67
0
23
0
0
0
0
-150
0
0
0
0
-13
0
74
0
0
1
0
0
0
66
0
0
0
-6
-4
0
-41
0
19
-1
0
0
0
-9
0
5
1
0
0
0
-66
0
-8
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
14
12
0
0
-7
-5
0
-24
0
-2
0
-13
0
-46
-71
0
0
-19
0
1
34
-36
0
-25
8
18
0
51
28
0
-2
-66
17
-1
-35
-34
0
-11
-2
-13
24
28
-43
0
12
-1
0
0
-18
-79
0
-55
121
-12
-5
-9
0
-8
0
107
21
26
0
22
-18
-16
0
0
0
0
-38
6
0
0
0
0
-9
-32
0
0
40
-19
165
27
-26
4
0
-111
3
-28
-59
43
-13
0
-58
-6
-19
-11
65
-13
-28
-19
63
-71
34
-51
-6
61
-32
58
35
9
2
0
0
-4
-7
42
-1
0
0
0
-34
16
10
0
-25
0
0
0
0
-1
0
-25
-4
0
1
0
0
0
7
0
-94
0
0
-2
-1
29
0
21
-3
-14
81
0
52
25
-34
-24
-9
12
3
-15
5
-9
44
-23
6
3
-25
0
-80
-30
20
30
-1
-58
0
-1
24
-70
-17
25
0
0
34
0
0
-47
0
48
-22
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
18
9
0
0
0
0
3
-10
0
0
0
0
0
-1
-5
0
1
38
0
0
110
-9
0
0
-3
0
0
5
11
0
0
0
0
0
0
127
0
0
11
0
0
0
61
0
-14
2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
55
0
0
0
0
0
0
27
0
0
0
0
1
0
-37
0
0
0
0
0
0
51
0
0
-1
0
0
-2
33
0
0
12
0
0
0
-13
0
0
0
0
0
0
-69
0
-51
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
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
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
4
0
-49
0
0
0
0
0
0
-72
0
0
0
0
0
0
-1
0
-6
-1
0
0
-9
-45
0
0
-1
0
0
0
-42
0
0
-1
0
0
0
-18
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-58
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-48
0
0
0
0
0
0
-33
0
0
-1
0
0
0
-3
0
0
-1
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-27
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
20
-5
0
11
-5
-1
0
-6
0
-77
-71
0
0
-3
1
-3
-16
6
0
51
8
-68
0
6
2
5
-3
59
-2
0
4
0
0
0
0
-81
0
-67
26
14
0
1
5
23
2
-117
0
-4
64
1
0
-13
123
0
0
0
0
-23
0
40
3
0
0
0
0
0
-32
0
0
8
-2
0
27
-197
0
-3
-9
-1
-100
-13
-7
0
0
-14
-6
110
11
13
0
12
1
-21
-2
3
-31
7
0
17
-17
-1
8
-36
0
-1
-1
79
0
0
-42
0
12
0
0
-19
0
47
-2
0
0
-27
-133
0
-52
-1
11
0
0
-2
0
75
0
0
-40
0
0
8
-125
1
9
-2
0
10
4
-132
2
20
-6
6
-19
0
-107
0
-94
-7
0
0
-3
23
0
17
-4
3
-5
1
-37
0
2
3
0
0
4
-31
0
36
0
-6
0
0
69
0
6
0
12
-14
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
25
2
13
-5
7
0
0
13
-22
0
0
-3
0
0
-106
-44
0
-7
9
-2
-1
92
59
3
-2
-3
0
0
-39
-21
0
10
-35
0
6
19
-28
0
0
80
-1
1
0
96
0
-124
130
0
-21
26
-14
0
0
1
0
56
0
11
-69
4
-3
0
0
0
-62
0
0
3
0
-4
4
-9
14
0
51
0
-4
-5
28
0
15
1
0
6
-7
77
0
0
28
0
13
34
12
-2
-19
27
0
18
-21
-104
0
12
-42
0
-2
-40
-6
0
0
-59
0
23
0
8
0
12
-5
0
-74
0
32
0
0
0
0
-14
0
-2
-1
0
0
0
0
0
-122
0
-9
-17
0
0
3
-17
0
0
-3
0
-1
3
84
0
76
-1
0
0
0
-1
0
-23
-55
0
0
-19
63
0
69
-23
0
0
0
29
0
0
-28
0
51
0
-25
0
24
0
0
-48
0
12
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
183
-149
-1
-61
-48
-1
30
-2
28
-29
22
-3
0
-5
3
16
6
56
37
0
13
38
-1
-3
13
9
0
9
-30
-4
16
-10
2
21
9
-6
12
-20
25
18
0
65
-16
-4
56
3
24
0
92
14
20
-15
19
-7
0
112
30
53
22
3
-42
2
-1
1
21
9
-8
-59
0
-29
4
-50
5
-57
-123
0
57
6
-1
-94
-49
-64
-5
49
12
22
-51
-3
-63
0
7
17
120
4
-4
28
0
42
8
-99
-46
41
74
-4
12
-1
-2
-23
32
0
0
73
1
-59
39
55
-22
0
82
-21
-67
-6
-32
30
-1
-2
14
13
147
-67
88
-1
-3
-4
-20
0
1
2
0
61
51
-17
-22
26
66
-4
29
-22
-109
60
-11
-23
0
29
-21
-3
-52
-24
26
0
107
-15
-21
130
32
-35
-11
25
-2
27
-29
35
43
0
84
3
-22
-113
82
29
0
55
-9
-48
-39
112
-11
0
-8
34
50
135
137
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
-30
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
2
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
0
0
0
0
-93
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
-34
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
0
0
1
0
0
7
0
0
55
2
0
-73
13
3
0
11
-21
0
0
-84
0
0
-3
-9
-6
-1
37
2
0
-24
-36
0
0
-42
0
0
1
126
0
-20
-12
0
0
0
14
2
0
0
0
0
0
0
0
26
0
0
0
0
-45
1
0
0
0
0
0
2
0
0
0
-13
-1
-16
4
0
0
10
0
-1
-15
12
-1
0
-44
0
28
9
-4
0
0
6
0
0
0
-36
0
0
79
-5
0
0
-24
0
0
40
0
-14
0
5
0
-2
0
0
12
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-30
0
9
0
0
0
0
-47
0
0
-6
0
0
5
10
24
4
0
0
0
0
-58
0
0
0
-9
0
0
7
0
-9
11
0
0
0
-41
0
-1
0
0
0
0
-6
0
0
0
0
-11
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
-52
-69
-38
-4
7
0
-39
-5
2
-2
29
0
0
-70
-6
0
22
19
-12
-10
-33
21
10
0
71
0
0
-29
7
0
0
-58
-74
-1
96
-16
0
-5
-19
-13
-2
13
-27
0
-29
34
14
2
0
-126
0
0
-13
80
-29
0
-98
0
29
0
-4
0
0
-34
11
2
0
42
0
-1
10
0
9
24
-38
-9
19
22
-2
0
26
0
17
-61
-75
0
-3
0
-61
14
44
44
0
-2
-13
103
86
-15
5
0
-2
-122
50
3
-12
32
0
23
47
11
-55
0
21
-1
28
7
-30
-8
0
-89
0
0
0
-6
-4
2
-89
18
0
0
0
0
0
-51
0
-2
9
0
-4
-4
5
0
0
-14
-24
22
-1
-20
0
-6
-40
-1
44
1
-48
0
8
31
-23
2
-1
-83
5
-112
-78
-8
-2
-7
-1
0
-3
4
-74
5
0
-45
0
-120
23
0
-117
0
-68
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
-55
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
-44
11
0
0
-2
-53
0
0
-3
0
0
0
-59
0
0
40
0
0
0
-15
0
0
0
0
0
0
6
0
-1
2
0
0
0
2
0
0
0
0
0
0
-72
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
8
-114
0
0
-1
0
0
-1
-39
2
0
0
12
0
0
-38
0
0
-3
0
0
0
-38
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-75
0
0
0
0
0
0
-10
0
19
1
2
0
46
-33
0
0
3
0
0
0
19
0
5
0
0
0
-1
22
0
0
-1
0
0
1
58
0
-18
0
0
0
0
1
0
0
0
0
0
0
96
0
0
0
0
0
0
-70
0
0
0
0
0
0
-10
0
0
0
0
0
0
33
0
0
-1
0
0
0
18
0
0
2
-2
0
0
-41
0
0
-1
0
0
0
-19
0
0
-3
-1
0
0
-26
0
0
0
0
0
0
-18
0
0
0
0
-2
0
-78
0
0
0
0
-6
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-78
0
0
0
0
0
0
56
0
-2
0
0
0
0
1
0
0
-3
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
-8
0
0
-10
57
0
-20
-15
0
0
-24
-64
0
0
60
0
0
-13
-120
0
0
-22
0
0
-2
-15
0
-3
-15
0
0
-3
73
0
4
15
-3
0
0
-7
0
0
0
0
0
0
-47
0
0
0
0
0
0
-1
0
0
5
0
0
0
-3
0
0
0
0
-20
0
10
0
0
2
0
15
2
33
0
0
-12
0
-9
6
-72
0
0
71
0
27
0
19
0
0
24
44
-5
5
-136
0
0
0
0
0
0
-27
0
0
0
0
123
0
55
0
0
0
0
0
0
-17
0
0
0
0
0
0
-17
0
44
-8
0
0
0
-21
0
12
0
0
-8
0
-121
0
-10
-4
0
0
0
-4
0
0
66
2
-11
0
-54
0
12
0
0
0
0
25
0
-5
0
0
0
0
-6
0
-1
0
0
-23
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
94
-36
5
83
0
48
18
-13
-4
100
0
0
32
-28
0
-6
-3
-94
0
21
-33
-9
-14
-27
-28
0
39
10
-5
12
15
48
0
109
-29
0
-1
-25
-3
0
38
-129
-18
-118
-4
-23
0
-21
-14
-1
-19
81
33
0
0
20
20
103
-1
28
0
-3
-14
-1
0
-11
0
0
-99
9
-12
-8
-37
-14
0
75
-29
19
20
30
0
0
-67
-17
27
-45
1
82
0
58
-13
0
21
35
-3
-7
113
-2
5
29
24
-17
0
-90
-60
-12
-1
-38
64
0
11
-22
-3
-30
54
67
0
0
14
42
3
-2
0
0
0
-23
41
0
-6
73
0
-4
42
-4
-3
130
-3
0
106
-96
0
44
51
35
0
-28
-15
-6
-34
-10
7
0
-93
-24
23
132
25
-55
0
-59
-25
14
-6
107
2
0
37
-69
4
-10
-36
15
0
12
33
8
59
161
0
0
0
-70
116
-6
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
7
0
0
0
0
0
-49
5
0
74
-10
0
0
115
120
0
0
7
0
0
-1
-59
0
0
-19
-16
0
-7
49
0
0
-3
0
0
0
50
0
-1
4
0
0
0
-22
0
0
0
0
-1
0
-43
11
0
0
0
0
0
34
1
0
0
0
0
0
8
0
2
0
0
0
0
-51
0
0
0
0
0
5
88
0
0
30
14
0
0
39
0
0
-20
0
0
2
99
0
0
-3
0
0
0
116
0
0
0
0
0
0
31
0
0
0
0
23
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
2
0
0
0
1
0
0
19
0
0
1
0
0
0
83
0
0
0
0
0
0
18
0
48
-15
0
0
0
1
0
-3
0
0
0
0
53
0
3
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
0
0
0
0
0
0
0
0
0
0
0
31
4
-88
77
48
-5
-51
4
-6
-141
11
5
13
-69
4
11
2
-5
42
-27
71
26
-5
-36
-63
3
3
5
3
7
98
-21
-6
22
-12
-2
-11
-92
31
-22
4
-69
44
-15
-67
-14
-24
-46
10
-20
11
-41
35
-48
98
6
41
0
-39
-93
-10
-26
32
11
1
-26
-25
-60
-37
-9
6
2
51
-35
3
-77
0
51
-6
85
-19
24
-24
54
-23
-10
25
4
-5
-24
5
7
-10
-18
-68
-7
0
27
-72
0
-28
59
5
29
-5
-16
1
-123
-63
10
47
5
10
-36
-6
16
-11
34
4
-71
0
-51
53
-29
-14
-87
8
-2
45
-61
21
-61
-25
-34
-18
55
-1
-3
48
-93
11
6
22
-75
3
-13
19
-39
-2
-41
-68
57
19
-7
-13
15
5
46
23
3
28
-63
-5
42
-24
-9
1
30
-23
10
35
41
12
-14
35
58
-34
4
-14
85
-37
-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
156
-6
2
-15
-95
0
-7
-65
-13
-1
12
-72
-75
0
-38
-32
0
70
-28
-3
1
126
-72
0
1
-107
13
-29
-19
-55
0
6
-14
0
0
62
71
5
-26
113
-20
1
8
20
0
0
19
-9
68
6
44
-46
-1
0
18
15
0
29
0
3
0
3
10
12
20
16
-2
45
91
-19
-45
-29
0
-1
52
0
28
-25
-33
0
45
-47
-56
1
-28
-39
20
6
-10
10
76
-53
-61
5
28
-9
-38
-49
-3
51
0
35
34
-6
-20
0
43
0
0
-45
62
-41
0
13
-3
0
0
-1
1
0
63
0
0
0
0
0
0
0
0
11
1
21
0
41
27
6
20
-57
-95
4
29
-27
0
20
-7
-27
-1
15
-94
0
11
-41
62
3
-5
-61
0
-11
-50
8
-5
20
93
-16
0
75
-54
1
-6
109
0
-15
13
0
-98
0
14
20
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
-7
6
0
111
-42
5
-7
-28
-39
0
52
2
0
-27
-21
-3
9
10
-31
0
0
-52
-52
-7
-54
-26
0
0
-128
19
0
-4
79
0
-9
-30
-45
0
-4
32
0
0
11
0
-21
0
13
34
3
0
-21
-3
0
-52
0
14
-6
0
0
-7
-30
0
-3
18
93
26
-60
-12
0
0
87
0
-11
-20
15
0
-1
93
-26
0
10
-10
2
30
-80
-13
1
14
-15
9
-1
-11
-27
-12
0
-2
5
7
-110
0
-19
0
23
0
0
-60
-119
7
0
-23
11
0
0
-9
0
0
-115
0
0
0
0
0
0
21
-8
0
0
0
0
-1
2
0
-8
26
-8
4
0
3
0
0
101
-33
0
0
70
-2
-2
11
3
0
11
-20
0
42
1
0
0
0
74
0
-4
-81
-9
2
0
-13
0
24
8
-1
23
0
2
89
0
73
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
91
0
-21
-3
22
0
10
-3
0
0
75
1
0
-22
-47
0
0
38
9
0
-12
-6
0
0
109
0
0
0
-116
0
-2
9
117
0
0
57
0
0
0
0
20
0
28
-34
28
0
0
0
0
-150
-21
0
0
0
0
0
-5
0
0
0
5
0
7
-19
0
0
0
0
0
69
49
0
0
10
23
7
-11
-42
0
17
-33
1
-11
0
17
0
0
-52
52
2
0
-62
0
28
-19
0
-33
0
11
0
0
-32
-29
32
0
-29
0
0
0
0
0
0
-147
-2
0
0
0
0
0
-58
0
23
0
0
0
0
121
0
0
0
0
0
0
103
0
2
5
0
0
0
-34
0
0
44
-5
11
1
-44
0
15
9
0
-1
0
12
0
21
0
0
11
0
45
0
-14
5
0
-9
0
-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
28
90
0
0
47
0
5
9
-159
1
126
-51
0
0
4
-114
0
0
-80
0
29
-2
-116
0
0
-58
0
4
-7
-25
0
8
0
0
3
15
-25
0
7
51
0
0
-9
56
9
-8
36
0
35
0
13
16
83
0
-4
0
0
1
-1
0
0
0
0
-14
54
0
0
3
-1
-55
109
-28
0
0
138
0
45
-11
-127
0
0
-35
0
0
61
-22
0
2
33
0
65
-4
-32
0
-5
21
0
34
-2
-3
0
-24
-18
0
71
0
7
0
0
129
0
44
0
-18
0
0
0
0
-17
0
-39
0
0
0
0
0
0
78
-9
39
-1
0
51
-2
-67
0
0
59
0
0
-3
-79
0
192
-91
0
0
0
-11
0
1
131
0
8
0
-59
0
82
72
0
2
0
-44
0
0
8
0
31
0
-50
0
-50
-1
0
133
0
-40
16
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
3
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
-12
0
0
0
32
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
-28
0
0
0
0
0
-9
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
12
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
-11
0
0
0
0
0
0
7
0
-12
2
0
0
0
-16
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
38
0
-16
-52
-77
-6
-44
17
-4
1
-42
0
18
-27
-6
-7
1
-10
22
-25
12
25
0
39
23
-15
-34
20
44
0
-11
-74
0
20
-15
-72
49
0
14
0
-24
0
12
-5
-19
0
10
-3
0
12
-14
2
-4
6
8
-6
51
43
-36
62
2
3
-16
20
-2
-29
27
-10
20
-56
54
35
-13
59
159
134
-42
31
-9
-11
51
91
-35
-26
5
-13
-67
-19
117
-48
11
6
0
8
44
0
3
0
-47
0
35
127
69
12
0
13
21
-59
0
19
35
0
3
-19
0
-2
8
0
0
23
-8
46
-4
0
3
-1
-18
0
-13
-26
-9
-57
2
45
5
-23
-29
3
4
-3
10
22
20
12
87
-57
16
-5
0
-65
-10
-22
-12
-23
10
1
51
51
31
55
-6
-24
28
46
19
54
189
0
13
-28
10
32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
3
-56
107
0
-5
69
13
-44
-106
106
17
9
-20
3
30
3
-39
-6
-11
125
-13
8
45
22
31
-10
44
-13
0
-2
89
-15
-12
-31
5
-16
-45
-18
25
5
-2
15
23
56
-32
4
-4
-42
-42
-11
-37
-7
-59
0
59
-45
65
-21
19
-62
15
-8
13
29
42
3
-29
11
76
-15
2
-60
-24
29
1
30
70
-4
-58
-17
-28
5
9
43
-10
-4
4
-22
-3
131
-102
-13
68
19
-43
21
-37
67
-13
-18
-7
-99
-9
-5
-2
-3
-48
-24
-15
-5
38
-89
-48
-76
-27
-81
0
-41
40
-92
1
-38
32
-30
30
135
-36
55
-37
29
-5
42
24
10
-89
73
-80
-19
-33
-99
1
-54
-16
-11
19
41
35
-10
9
32
-41
-8
-30
-35
-4
34
-80
-44
7
-66
1
21
-54
-56
-31
12
-16
-58
-38
51
-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
37
0
-12
4
0
0
-3
-170
0
0
188
0
0
-7
66
0
0
40
0
0
1
-5
0
0
-2
0
0
0
-34
0
2
-9
0
0
0
85
0
0
0
0
0
0
-69
0
0
0
0
0
0
73
0
0
0
0
0
0
-10
0
0
3
3
0
0
68
0
0
0
0
0
0
3
0
0
13
0
0
18
76
0
0
8
0
0
0
-13
0
0
8
-3
0
0
-124
0
0
0
0
0
0
52
0
0
0
0
0
0
134
0
0
0
0
-5
0
-5
0
0
0
0
0
0
17
0
2
0
0
0
0
94
0
0
0
0
0
0
75
0
11
0
0
0
0
-3
0
0
27
0
0
0
18
0
-11
0
0
0
0
2
0
0
0
0
0
0
20
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
4
-5
0
-14
43
-3
0
14
-38
0
0
32
0
0
0
-3
0
0
-3
-16
0
12
21
0
0
0
0
0
0
-2
0
53
23
0
0
0
10
0
0
0
0
0
0
-42
-3
0
0
0
0
0
11
0
0
0
0
0
0
46
0
0
0
0
0
0
46
0
0
30
0
0
-1
-4
0
0
0
5
0
0
20
0
0
-1
0
0
-1
-37
0
0
-10
-2
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
-4
0
-18
0
0
0
0
0
0
-3
-1
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
6
0
0
0
46
0
11
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
4
0
0
0
60
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
-22
-201
23
0
-12
4
0
-7
90
-6
-2
-48
-30
-9
-34
68
58
1
-48
2
0
-9
2
5
-5
11
51
0
-40
-79
42
4
-48
118
0
-12
28
-11
11
0
12
57
-3
0
-8
0
6
27
22
0
0
-12
-4
33
111
0
5
8
-2
18
-20
55
5
0
106
8
24
-62
25
27
-58
-8
32
-85
4
-8
2
56
-8
28
40
-43
28
0
40
40
-26
65
40
26
0
20
-1
-10
63
0
34
0
15
44
-99
33
0
-38
3
-17
0
67
-3
8
88
-6
0
0
-9
-3
1
2
16
-8
14
4
0
1
92
0
-48
36
41
6
1
31
3
-43
-30
-3
-26
-4
-18
0
-8
-40
110
12
0
-46
0
-42
111
48
-63
5
2
0
8
91
73
-5
2
59
0
55
6
0
-8
0
-20
-22
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-235
-35
0
0
-2
39
0
0
62
0
0
1
58
0
0
5
0
0
0
41
0
0
-5
0
0
-13
-23
0
-5
-9
0
0
0
3
0
0
9
0
0
0
50
23
0
0
0
0
0
-117
0
0
0
0
0
0
-63
0
0
0
0
0
0
-42
0
0
0
0
17
0
-8
0
0
17
0
0
5
-62
0
0
-8
0
6
0
-26
0
0
-21
0
-11
0
-17
0
0
-1
0
0
0
91
0
0
0
0
56
0
-24
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-3
0
-1
0
0
0
0
24
0
0
0
0
-7
0
-2
0
0
2
0
0
0
-6
0
0
0
0
0
0
-7
0
17
0
0
0
0
-47
0
0
4
0
0
0
16
0
-7
0
0
8
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-36
-14
-34
0
-32
-3
0
0
-64
0
0
26
-11
0
0
33
0
0
-9
-4
0
0
37
0
0
-33
26
0
3
-28
0
0
-11
-88
0
0
10
0
0
0
-43
1
11
0
0
0
0
37
0
0
0
0
0
16
102
0
0
0
0
0
-11
45
0
5
13
0
0
0
-48
0
0
31
28
0
-12
-27
0
16
-38
0
0
8
88
0
-5
-21
0
0
-13
14
0
0
-2
0
0
6
-183
0
1
-3
14
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
-8
20
0
0
0
152
0
0
-10
0
0
0
-34
0
27
-3
0
0
0
-32
0
0
-14
0
0
0
32
0
-4
0
0
0
27
81
0
0
-25
-27
0
0
-3
0
-39
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
39
-26
46
8
-27
65
-18
-19
-33
-82
-17
-6
-24
-3
11
-50
-23
37
-61
57
7
24
-2
-1
61
59
20
-9
2
-76
-3
16
0
32
-76
23
0
10
68
1
-38
103
-1
2
-59
3
32
-20
-40
-102
-14
125
-66
-69
-10
65
4
-1
-24
34
102
-21
3
7
-26
-59
-21
43
1
9
54
-16
97
-24
71
-22
14
-45
5
-18
61
-45
3
0
180
-67
-11
-22
-12
20
2
-44
17
48
-17
0
26
-68
33
-2
38
39
0
-17
-61
29
86
104
-1
-1
-37
13
69
29
-11
-64
44
19
13
-27
-18
-67
58
-66
23
-2
17
95
-29
-15
20
59
13
-36
30
15
49
-3
-30
4
97
31
1
-22
10
22
-51
77
22
19
-58
0
50
0
106
103
4
-10
0
30
-56
10
-44
-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
33
-5
48
-23
2
-21
-10
32
7
-33
34
34
27
-52
62
-32
0
58
39
50
-69
26
-9
20
7
93
-8
46
16
20
33
3
-2
36
87
0
-12
-54
-157
-16
-79
43
9
12
-67
-7
-74
-33
10
11
34
-20
12
30
43
-72
-64
0
-92
-14
39
-66
-83
37
-4
-59
12
38
83
56
37
8
75
-100
17
-57
-90
87
11
27
-17
59
46
44
17
-42
4
40
30
-8
-19
-107
-2
19
18
-39
7
-18
-1
52
17
-14
7
-30
-43
1
-39
26
-10
-5
36
15
1
15
-8
61
-17
-40
-30
53
0
-12
21
12
-7
-44
16
-88
-9
-53
-22
76
37
22
-10
9
0
-55
83
-65
-46
-48
22
-50
56
67
119
-68
-5
35
49
87
16
-66
12
-8
5
57
-29
-13
-33
-2
48
102
-2
24
55
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
1
-57
0
0
3
2
0
3
3
0
0
6
0
0
0
1
0
-48
-1
0
0
0
6
0
0
0
0
0
0
64
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
-78
0
0
0
0
0
0
-50
0
0
0
-4
0
0
1
0
0
7
0
0
0
-47
0
0
-15
0
0
0
-39
0
0
0
0
0
0
-19
0
0
0
0
0
0
52
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
7
0
0
0
0
-10
0
-7
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
11
0
0
0
0
22
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
13
-2
63
37
10
-138
24
34
-17
-71
-18
-1
17
19
-12
-9
4
-26
14
70
-53
-15
51
-9
19
-18
40
6
-42
20
15
59
62
0
112
1
2
-43
-20
58
19
-58
-62
25
-104
3
5
26
91
-18
37
76
97
28
-20
30
-52
-33
29
-7
-5
23
25
42
-24
80
-44
13
-20
-8
-26
-17
67
-52
-1
51
29
34
-1
19
-45
41
43
14
-47
1
43
-31
-88
30
-31
120
-15
-15
110
-40
-12
62
-10
16
-27
30
-29
0
-8
-4
16
82
98
-52
-123
-6
-20
-15
27
15
14
-10
-75
55
-7
24
68
-2
24
-62
6
-19
-36
-23
-46
-22
107
-1
8
-80
-51
34
-12
62
10
-13
27
-43
25
-69
18
-71
-18
5
47
-3
-67
30
-9
-12
18
44
-43
-12
-9
-7
-12
-96
-35
-3
-121
-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
-17
-3
-5
-154
68
26
38
-17
15
50
47
-6
-16
58
21
23
-25
-13
61
-45
-80
-30
36
71
-7
26
23
-99
-4
51
-102
59
74
14
-5
-1
10
36
-3
-3
83
-15
74
-20
68
16
-17
38
18
-8
-9
37
52
-84
-76
47
-37
-20
-43
30
6
-55
29
-32
7
-4
-84
-57
22
7
46
40
-31
-6
28
47
58
22
20
-74
25
23
-4
-120
114
34
-67
-2
68
-11
21
-82
40
-14
15
39
54
20
-6
-1
-2
32
-36
104
26
-10
-9
65
8
14
-83
-50
36
-49
-6
-85
106
-1
121
28
3
4
106
-66
-65
-43
-33
-19
-37
-15
-65
-156
-43
4
18
-23
69
-45
60
36
-75
17
43
-83
20
9
-50
-29
37
-16
-59
4
5
31
64
15
39
42
-5
-6
27
-3
10
36
-74
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
7
1
22
0
3
-49
-16
0
23
-48
0
-22
-13
-8
0
-5
-4
19
29
27
-46
0
68
-43
0
14
18
19
-5
-24
-63
0
17
0
5
-91
-11
0
0
18
0
2
-35
18
-7
-10
14
-33
-38
-7
-3
-103
0
-73
-15
-16
0
49
42
0
-50
22
12
-2
-2
19
6
-95
34
-11
0
113
42
-2
40
-9
5
-7
62
16
28
-45
28
-19
0
16
-9
2
98
-1
-9
0
48
-53
7
-2
0
-15
-20
14
-8
39
-91
0
-65
28
0
-10
0
-28
3
-63
0
44
23
0
94
60
-20
0
-13
22
0
-48
29
0
0
30
-70
9
67
40
-36
0
-28
2
-15
153
-13
13
0
27
17
0
-13
0
13
0
-14
34
0
39
-29
-13
0
88
-7
0
2
0
-6
50
11
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-2
2
0
0
4
4
0
0
-5
0
0
-19
0
0
0
-41
0
-85
10
1
0
0
8
0
0
0
0
0
0
34
17
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
-2
0
2
77
0
0
10
0
0
8
-10
0
0
-5
-9
0
-3
75
0
-2
-11
-14
0
0
76
0
18
29
-13
0
0
56
0
0
0
0
0
0
73
0
0
6
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
-28
0
10
0
0
0
0
-61
0
0
0
7
0
0
93
0
-28
0
0
0
0
-19
0
0
-2
35
0
0
-14
0
-6
0
0
0
0
135
0
0
6
0
0
0
-29
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
-24
14
-8
3
10
33
-3
-63
17
-46
0
-30
-28
3
16
60
-83
23
33
16
56
52
26
-19
-22
-22
80
9
-1
26
-67
-12
5
61
75
4
-7
-42
-1
-17
20
-1
42
-10
21
-54
-18
91
14
-3
13
23
-12
-26
-82
148
-22
10
4
51
58
46
-24
-55
-25
69
-15
-25
-29
51
25
30
52
-29
13
37
-35
92
32
-61
-20
24
-102
-12
72
18
54
23
-2
39
42
-4
1
-62
47
-29
-75
0
-9
-62
-38
-19
-9
-63
-8
136
1
10
-12
-35
-12
-60
-48
9
-8
-1
51
47
72
-73
2
33
68
-27
-14
29
45
4
-48
0
44
56
-1
-9
32
-12
21
45
57
-51
178
-23
38
-11
-10
51
44
12
28
-18
36
-5
-3
35
-3
-14
80
-8
-43
16
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-11
48
-34
-41
1
-37
33
-3
23
-6
-3
12
-39
-28
-53
2
-1
-8
-31
-73
-5
-44
65
-95
-11
7
-25
-23
-8
-46
55
-40
-14
27
-65
12
35
-97
-110
-84
64
82
11
36
44
46
11
-37
10
3
-139
-38
-57
-51
16
-38
0
-9
8
36
35
92
-11
-65
4
21
9
123
39
42
7
91
-83
46
-31
-43
18
-7
18
18
22
-58
-82
-40
20
-2
-94
16
20
12
-13
14
25
-75
-92
15
28
-68
18
-29
9
84
-89
27
-33
-10
14
-13
-129
4
27
65
5
-21
55
-5
75
10
-40
0
60
54
-4
15
-6
-15
1
40
-1
0
-27
-15
-110
20
-83
-9
-61
-21
33
45
0
5
-28
-45
0
-26
-103
3
38
-21
62
-27
-14
84
15
66
-18
66
29
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
-3
0
-2
-21
0
0
-33
0
0
0
-49
0
-26
-6
0
0
0
-5
0
0
0
0
0
0
27
6
33
0
0
0
0
1
0
0
0
0
0
0
-13
0
-2
14
0
0
0
-86
0
0
4
0
0
0
-40
0
0
6
0
0
17
-113
0
0
0
0
0
-2
0
0
0
27
5
0
0
141
0
0
0
0
0
0
13
0
0
0
0
34
0
73
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
8
0
0
-8
0
0
0
-16
0
0
0
-9
0
0
5
0
19
0
0
0
0
-38
0
0
0
0
0
0
9
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
4
95
0
0
47
-40
0
-15
-39
0
0
10
0
-28
23
4
0
3
-9
-7
-6
0
-18
0
0
0
0
0
0
-83
-3
0
0
0
0
-2
7
-3
0
0
0
0
-4
-185
0
0
0
0
0
0
36
0
0
1
1
0
5
-45
0
0
-2
-2
12
15
-121
4
-11
-9
-2
0
0
33
0
0
-8
4
2
0
78
0
0
-10
0
0
0
48
0
3
0
0
1
0
-117
0
0
0
0
0
0
1
0
0
3
0
0
0
29
0
-14
-1
0
0
0
19
0
3
6
-3
0
0
24
0
11
0
0
0
0
-4
0
0
-10
-7
0
-3
68
0
52
-12
0
0
8
1
0
0
-5
0
0
0
-47
0
5
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
68
38
29
-54
-11
-29
0
55
-2
-29
42
-74
17
-9
17
42
-48
118
-38
-12
-15
-1
-122
-23
-55
4
17
-12
99
-3
61
-74
0
47
62
107
-14
46
-25
-34
-10
62
-142
122
-20
8
-40
1
23
-9
-40
57
-3
25
11
63
-60
51
10
-10
22
-34
-35
-45
-21
-38
-17
2
26
29
-33
50
19
67
33
44
-24
50
23
-7
39
-63
11
12
20
118
28
45
-2
15
-43
-86
17
-13
17
0
12
-29
-1
8
-95
3
-1
2
56
-4
25
12
159
38
41
11
84
53
31
31
-107
-15
-13
-84
14
-57
1
2
-4
10
-11
11
24
-74
-39
2
0
-81
22
23
18
44
30
-3
55
61
106
89
-64
13
2
65
-5
-25
94
-5
18
19
55
74
14
-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
3
95
0
0
13
0
0
0
-51
0
0
68
0
0
-14
-47
0
21
65
-8
0
0
-38
0
0
0
0
0
0
32
5
0
0
0
0
0
-80
-10
0
0
0
0
-10
76
0
0
0
-6
0
-2
-9
0
0
-2
0
0
39
-65
0
0
12
0
0
0
-51
0
3
-11
0
-10
-15
81
0
0
38
1
0
-12
26
0
0
-4
0
0
0
-3
0
0
0
0
8
0
44
0
0
0
0
0
0
67
0
0
0
0
0
0
82
0
-1
0
0
0
0
46
0
6
-8
0
0
-1
-241
0
6
-7
0
0
0
45
0
0
2
-15
0
0
-27
0
-40
0
0
0
0
55
0
0
-8
0
0
0
-52
0
31
-1
0
41
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
112
0
0
76
0
0
51
-77
0
0
-16
0
0
0
-60
0
5
7
-12
0
0
10
0
0
0
0
0
0
12
4
0
0
0
0
0
-2
0
0
0
0
0
-6
-26
0
0
0
-8
0
-71
6
0
0
42
0
0
-29
57
0
0
48
0
0
-28
-27
0
-4
-2
0
0
-9
-23
0
0
-17
-1
0
0
21
0
0
0
0
0
0
12
0
-2
0
0
0
0
-96
0
0
0
0
0
0
-83
0
0
0
0
0
0
78
0
5
0
0
0
1
46
0
0
7
0
0
0
-19
0
-45
0
0
0
0
-47
0
-6
16
-21
0
0
1
0
-30
9
0
0
0
-76
0
0
-17
-1
0
0
-57
0
28
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
2
-21
-66
-80
1
18
-22
-21
-9
-76
16
64
-12
-56
-5
-8
35
-14
45
0
15
-65
-73
0
97
11
-35
57
-67
-18
10
-14
-4
-28
33
-22
70
-45
125
-3
-140
31
0
91
17
-7
-4
-17
19
15
22
-34
-37
103
26
-48
-30
49
-25
-6
-2
-118
-19
-5
94
-10
-48
97
17
-7
7
-3
22
-4
-70
-2
27
25
-14
-9
78
-6
4
-10
34
9
0
10
71
0
-58
-63
2
24
-40
0
-3
-24
38
68
-20
15
-23
-7
37
0
-7
57
36
-8
-1
54
-5
69
-63
30
0
0
-45
-2
19
-86
6
-2
-11
2
17
-57
42
-9
9
23
-24
-9
13
-1
-72
-8
-35
-12
0
-70
-25
1
79
0
-54
46
55
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-107
25
26
-47
-26
-28
-4
64
-33
-35
33
-53
-20
-22
-14
-8
-54
-44
-96
-2
-20
-49
3
19
-23
-93
23
25
53
41
0
21
-89
-52
22
76
32
14
-25
-58
-26
-4
6
-10
0
18
-55
54
26
-13
63
3
5
0
36
0
-6
-62
-15
40
70
-25
25
119
21
-4
101
39
-57
-16
19
10
26
16
-14
25
-4
57
114
-20
56
-25
84
33
-22
-146
-49
33
33
53
14
4
-27
48
-27
17
16
24
115
-41
60
70
-125
111
22
79
-10
4
-33
71
-64
10
65
-10
-3
1
-31
132
0
67
42
31
56
134
-64
0
176
-40
-74
1
8
-52
-12
-35
-133
-38
31
87
29
-8
-62
-85
-57
36
16
69
22
-14
-17
-36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
98
0
0
-38
0
0
-5
-16
0
15
41
-3
0
0
-42
0
0
0
0
0
0
21
0
0
0
0
0
0
57
-1
0
0
0
0
0
13
0
0
-6
0
0
-13
16
0
0
0
0
0
-5
-72
0
-2
-6
0
0
-5
5
0
0
-9
0
0
-5
-64
0
0
46
-2
0
-6
-21
0
0
-11
0
0
0
20
0
0
0
0
17
0
15
0
0
0
0
0
0
-24
-7
0
0
0
0
0
-10
0
13
0
0
0
0
35
0
0
0
0
0
0
-9
0
0
-4
0
0
0
-9
0
0
-6
0
0
0
28
0
3
0
0
0
0
72
0
0
0
0
0
0
-3
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
13
73
0
0
-33
0
0
22
32
0
46
75
0
0
0
57
0
0
-7
0
11
0
-58
14
3
0
0
0
0
-2
0
0
0
0
0
0
8
3
0
-6
-2
0
-5
-5
0
0
-7
0
0
0
-36
-2
0
2
16
0
-8
55
0
0
-8
1
0
-5
59
0
5
-55
8
0
-19
-61
0
0
-3
0
0
0
-81
0
0
15
0
-15
0
-15
0
0
0
0
0
0
-69
0
0
0
0
0
0
-3
0
-15
0
0
0
0
6
0
0
9
11
0
0
28
0
17
-24
0
0
0
-80
0
0
0
0
0
0
-68
0
29
-9
0
0
0
46
0
0
0
0
0
0
-18
0
-28
0
0
-15
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
-25
-8
-4
9
4
165
-17
-92
-17
0
14
-84
-44
64
-46
-34
20
-10
163
105
-22
1
31
-57
-38
0
-64
-58
-45
21
0
-2
7
-25
-29
-59
40
24
142
17
-61
-87
10
-17
12
-14
42
-49
46
-3
-9
73
-47
33
16
-34
8
-48
74
-73
-5
-65
-21
59
49
-12
165
81
-8
95
15
18
1
-10
-24
165
8
-27
-42
17
58
69
23
-3
0
46
-97
-5
-6
-51
77
0
7
80
38
39
44
13
-44
6
160
27
6
-8
-38
56
-4
-2
-89
-7
-103
-71
9
7
-5
-37
27
-200
-91
41
-16
-38
-77
-39
-50
-7
-27
0
-10
48
35
-11
152
19
10
52
72
35
-25
103
-7
-9
16
2
106
-24
-28
23
46
30
19
42
-59
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
-2
-12
-6
-41
-3
-48
-9
64
11
0
-61
-1
31
2
16
-4
0
30
0
14
24
-73
0
0
-28
-8
-11
-6
0
-6
0
43
81
3
-6
-22
72
42
73
132
16
0
9
15
22
110
-23
11
0
-26
16
0
11
-26
25
0
-10
13
0
11
-115
19
0
-37
18
-22
-17
35
-17
-6
75
79
0
49
0
42
0
-21
-24
0
33
0
20
58
-9
17
0
-42
0
-29
38
0
-10
3
0
11
-94
13
17
-21
0
61
15
43
0
8
-25
0
9
54
60
0
-39
49
-25
0
-18
-42
0
100
4
0
12
-1
-38
-1
65
2
0
-12
-16
-19
-4
13
-25
0
111
-6
17
-6
23
-41
0
52
0
40
78
-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
59
94
0
-20
49
0
0
-5
-8
0
-122
17
64
0
0
9
0
0
0
0
0
0
3
76
0
0
0
0
0
94
0
0
0
-3
0
0
36
0
0
-4
-4
0
-10
-43
0
0
-79
0
0
18
29
0
0
11
-67
0
3
8
0
0
36
-3
0
0
-6
0
0
-32
-42
0
0
24
0
0
-6
0
0
0
-42
0
0
0
19
0
0
-41
-16
0
0
0
0
0
-113
0
0
-6
-9
0
0
28
0
-10
-4
0
0
0
-14
0
4
47
1
0
-26
-56
0
6
10
0
0
-6
62
0
-13
121
82
0
-4
112
0
-31
-44
0
0
0
-107
0
-1
-22
0
0
0
76
0
-33
0
0
0
0
-121
16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
41
31
30
28
-24
40
-1
22
0
14
34
-15
-22
0
22
-16
10
0
-7
-3
3
24
92
-6
1
0
-9
108
-63
-16
-19
11
58
-57
26
7
0
-3
-16
0
-13
-86
41
-3
-88
1
-4
64
-21
14
65
90
52
9
-37
-26
4
-33
41
-55
-11
-17
14
-16
39
4
-29
-1
53
10
-1
0
77
-96
-94
23
-8
13
6
0
18
7
10
3
37
141
0
54
-98
0
5
-23
17
96
-98
0
23
22
35
0
-34
69
-26
-25
-3
44
-6
-72
-25
24
-5
-3
-27
-18
71
58
-51
62
15
-36
-26
22
-35
-3
0
-4
11
0
16
-111
17
5
-7
-1
0
29
-69
0
8
1
-52
-1
-23
-1
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
-34
5
19
-34
-7
-4
1
62
-3
44
-4
18
66
-136
-11
-2
8
-73
-82
-78
-112
-75
-3
-11
-6
89
-28
-20
-10
-28
88
-101
-22
-34
-37
-10
-15
-1
66
4
108
-4
-21
21
79
-25
-6
-14
-36
53
1
22
19
27
40
12
-3
0
-23
24
14
6
-12
7
-9
-71
-86
16
65
53
45
34
5
-65
32
-79
-14
-92
17
27
-29
-18
-66
2
-57
38
66
43
117
-8
-75
-90
-11
-21
36
-12
24
-7
45
-18
-40
-12
-28
42
1
-16
24
51
-38
-25
-35
-71
-78
-14
2
-47
-46
4
3
-41
0
-1
20
-35
8
19
1
-1
21
-14
2
21
22
-42
-18
24
-44
-79
2
19
-106
20
-16
30
-19
1
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
-25
0
53
0
0
0
0
46
0
0
0
0
0
0
104
6
-4
0
0
0
0
-124
0
0
0
0
0
0
-42
0
0
0
0
0
0
22
0
0
0
0
0
0
64
0
0
-13
3
0
0
-7
0
0
0
0
0
0
-38
0
6
0
1
0
0
18
0
0
3
0
0
0
20
0
0
0
0
-1
0
74
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
10
0
0
0
0
7
0
2
0
0
0
0
2
0
0
0
0
0
0
-5
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
-16
64
0
13
97
0
0
0
-3
0
0
12
-45
0
0
0
0
0
92
0
0
0
0
0
0
-9
0
0
-3
0
-17
0
-17
0
0
47
0
0
-10
-39
4
0
4
27
-5
9
-131
0
0
19
0
26
20
-70
0
-11
15
10
5
-10
71
0
0
16
1
1
-14
-48
0
0
-1
6
28
0
-35
0
0
0
0
0
0
26
0
0
0
0
0
-1
7
0
-40
0
0
0
0
18
0
0
0
0
0
0
-59
0
-9
-23
9
0
0
-102
0
-3
-6
-15
2
0
-31
0
0
-25
0
0
-4
-27
0
0
-1
0
0
0
128
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
19
8
-11
38
77
4
50
-25
53
20
-10
31
-15
30
0
7
15
-200
0
-31
27
-7
3
59
-2
26
-38
-5
-80
2
89
92
26
20
31
26
29
5
5
10
-11
19
-53
28
1
-5
-7
40
66
16
-15
-23
-42
6
16
-52
61
3
-6
-4
-60
26
7
74
-5
-16
5
-35
2
53
71
2
-3
-42
-15
29
12
2
24
-39
29
-2
119
39
-2
18
6
-4
-3
22
10
81
43
73
-81
-39
-3
20
-45
-3
-12
-87
41
8
-5
25
10
-1
-97
-88
53
-89
80
22
-10
65
40
26
-16
173
-26
38
-22
-30
62
-45
-38
63
11
13
-31
144
42
69
-11
-13
-19
-48
-4
27
0
21
-65
-7
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
94
8
0
0
-4
-89
0
0
0
0
0
0
41
0
-3
0
0
0
0
-22
0
0
0
0
0
1
110
0
0
0
0
0
-21
-116
0
0
0
0
0
7
-56
0
21
60
-1
0
0
-63
0
0
-25
0
24
0
-80
0
0
44
0
0
13
101
0
0
-21
0
0
0
-9
0
0
9
0
-17
0
-35
2
0
0
0
0
0
-16
0
0
0
0
0
0
-98
0
22
0
0
0
0
55
0
0
1
0
0
0
-10
0
40
24
0
0
0
-28
0
0
7
35
-3
0
-19
0
-2
0
0
0
0
-62
0
0
0
0
0
0
17
0
-1
0
0
1
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
-2
-33
0
22
-15
-18
0
0
-65
0
0
-6
0
0
0
-36
-18
0
0
26
0
0
-6
0
0
0
0
0
7
-104
0
0
26
44
0
-20
-12
0
0
-53
0
0
68
9
0
0
-36
92
0
4
40
-9
-31
25
0
0
-12
59
0
-4
53
34
0
7
-51
0
16
-13
0
0
0
-77
0
0
6
-9
0
0
-65
5
0
0
0
0
0
22
-3
0
0
0
0
0
-3
0
-5
0
0
0
0
-80
0
11
-11
-2
0
0
-70
0
35
-5
0
0
-8
5
-2
0
21
3
0
4
-93
0
44
68
0
0
-2
-84
0
-9
-17
9
0
0
12
0
145
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
30
0
-5
0
-29
10
1
0
8
0
0
-40
7
4
0
3
0
25
88
0
-5
3
3
46
9
-35
0
10
132
0
86
-2
-37
0
16
16
-20
11
-6
34
3
21
90
-26
-28
0
21
11
-9
-96
-2
-4
0
13
0
-32
77
0
-20
6
-19
3
-2
2
0
59
0
-14
49
0
0
-1
26
5
62
-5
0
12
0
0
8
80
-1
52
9
17
0
7
5
0
2
80
35
-1
0
12
0
74
-165
19
0
0
-70
8
11
-46
18
2
0
51
0
1
-5
-13
6
0
-64
0
1
3
-64
0
0
-71
0
-8
0
0
-34
0
113
4
19
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
116
-33
114
-41
-41
48
10
-2
1
41
47
-2
0
71
-7
9
-6
-11
-62
58
-99
70
7
15
15
-14
49
-72
61
-19
28
32
32
12
3
12
11
103
-37
21
-36
-129
-31
-10
-70
-69
14
-80
-86
63
-32
31
9
-23
-24
-18
29
0
-115
-72
-93
95
-18
-17
22
108
-58
16
-114
-80
-4
-3
-16
-16
-85
-185
-61
-3
37
43
4
-103
65
15
-67
-37
-36
16
16
-106
-106
41
-2
-23
-51
30
-13
33
-101
39
-10
55
66
100
4
52
3
29
-35
-19
-33
-81
-62
-36
12
149
72
1
-29
-89
0
14
-12
101
63
-84
20
2
-16
42
-42
-90
-39
-4
49
-26
13
45
-81
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
0
0
0
0
0
0
34
0
0
5
0
0
0
105
0
0
0
0
0
0
9
0
0
14
-8
0
0
-8
0
0
6
0
0
0
55
0
2
-3
0
0
0
-86
0
0
0
0
0
0
65
0
0
7
0
-5
0
-30
0
0
0
0
0
0
-19
0
0
2
0
0
0
-11
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
-32
0
0
0
0
-3
0
0
0
13
0
0
29
0
23
0
0
0
0
-54
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
104
-11
-5
30
25
141
-31
2
-16
-24
-1
-4
30
25
-116
23
9
-2
-85
114
-40
22
8
62
76
13
2
-2
-71
-32
22
37
13
-37
2
-32
-5
9
-15
20
8
32
-25
-32
-5
-56
35
17
28
57
-25
-28
173
52
35
1
81
24
11
63
130
-107
-51
-57
26
37
43
39
26
30
-1
-7
-5
114
-23
12
81
-15
-7
-79
-12
-9
-9
-30
15
-35
-75
31
-59
-19
14
-20
9
160
19
48
-38
162
0
8
29
-32
40
-68
50
72
-15
95
-66
-32
-4
42
-44
-17
71
65
80
46
18
8
-40
-23
11
-121
16
16
-13
7
87
-79
66
9
0
-4
38
-33
21
115
93
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
14
83
-5
-10
9
-9
-12
0
12
-2
112
0
-38
0
-1
-42
-19
0
7
-2
-7
109
-44
-2
-3
43
-39
37
-16
69
0
-2
63
25
32
8
9
10
25
-36
98
16
-77
-18
-3
-6
-30
45
-73
-9
-50
0
-103
-34
-24
-53
-13
-88
13
-45
-36
-6
-105
3
6
12
55
0
4
-43
0
12
5
26
0
-13
-30
0
-3
12
0
3
34
-5
7
-16
0
58
1
0
26
68
40
0
20
4
-81
18
1
-14
-1
-63
18
145
-70
-17
-14
0
60
-44
-65
-48
-41
24
0
36
8
-8
62
7
38
0
-41
4
32
-43
-5
22
0
70
-17
55
-88
0
-17
60
16
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
-1
46
8
0
-6
13
-1
0
29
-111
46
0
0
-12
0
-18
7
0
4
0
-2
34
26
-8
-13
25
0
-13
68
-14
0
10
31
0
85
78
-39
0
22
20
1
46
76
47
0
-7
16
1
-58
6
4
0
4
60
0
-14
74
10
0
-5
46
0
15
3
4
-1
-3
68
0
-4
0
-6
-7
19
0
28
-2
-7
-46
2
0
-9
-7
0
0
-21
0
38
-17
0
0
70
17
0
16
109
0
2
-34
-23
0
-7
17
0
-9
1
49
0
19
-44
-9
-10
-8
47
0
-30
48
0
-2
12
-81
0
-5
-80
0
-6
23
29
-3
-10
62
0
-55
0
-20
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
-10
0
0
0
0
0
-28
0
0
0
0
0
-11
47
0
0
-4
0
0
-10
65
0
-9
63
0
0
-2
9
0
0
-18
54
0
67
-33
0
-7
72
7
0
-4
-31
0
0
-72
-19
0
0
-10
0
1
4
0
0
0
-31
0
0
-5
-24
0
0
92
-10
0
0
0
0
0
18
0
0
0
0
0
0
-49
0
-2
2
0
0
1
-75
0
0
22
0
0
0
-6
0
-5
-13
0
0
0
-62
0
0
29
39
0
0
34
0
-4
4
0
0
0
3
0
14
55
43
0
0
3
0
57
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
-10
4
4
0
0
0
0
77
0
0
0
0
3
0
23
0
0
0
0
36
5
1
0
0
-10
0
4
-15
2
0
28
-7
1
0
3
-89
0
0
-57
3
-18
19
-11
0
-2
11
-4
-5
0
-76
0
0
-37
-4
-23
0
85
0
14
0
0
-14
0
-32
0
0
0
0
-5
0
-46
0
0
0
0
0
0
-36
0
14
0
0
0
0
-60
0
0
0
7
3
0
49
0
-10
13
-9
0
0
-84
0
0
-13
0
-4
0
41
0
-44
-19
0
6
0
-37
0
-10
6
2
2
0
98
0
-2
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
1
2
131
85
-27
47
-1
-10
-34
-18
50
-7
108
-76
46
20
106
-22
87
-19
88
107
-10
27
38
66
-106
-5
-13
9
27
38
18
-58
98
14
-4
46
-1
64
-135
-8
-19
-26
-21
78
2
-29
-4
25
6
-5
-80
82
2
11
45
0
12
10
-92
-15
21
-3
-25
17
-14
31
22
105
4
-34
-88
91
27
11
6
4
59
36
-6
133
-13
-34
41
24
13
84
-41
-53
84
16
27
44
47
70
-100
-134
3
1
-20
-21
-25
-4
72
-7
30
36
-25
-13
-17
-71
37
-4
28
-24
-3
66
-69
-1
0
12
-25
-60
12
-51
-10
59
-102
-19
-4
-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
-151
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
0
69
27
-5
56
0
0
0
0
0
0
27
0
0
-9
0
0
0
90
0
0
45
0
0
0
6
0
-7
10
-9
0
0
56
0
0
-8
0
14
0
-11
0
0
0
0
0
0
35
0
0
0
0
11
0
-11
0
0
0
-10
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-51
0
3
0
12
0
0
24
0
0
0
0
0
0
-41
0
-7
10
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
98
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
15
0
0
0
0
0
0
-104
0
0
10
0
-8
0
-46
0
0
-2
0
0
-26
-92
0
0
4
-15
0
0
-47
0
0
65
2
0
0
-140
0
0
-8
0
33
42
-40
0
0
2
0
-4
-1
2
0
0
0
22
-11
0
116
0
0
0
0
1
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
87
0
0
-41
0
0
0
42
0
0
0
0
0
-16
51
0
6
5
0
0
0
37
0
0
0
0
0
0
38
0
-1
0
0
0
0
-50
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
17
0
0
2
0
0
0
-21
0
4
22
0
-1
-5
12
-13
-5
-26
-1
0
10
0
5
-1
45
0
2
-33
20
-1
4
-21
0
-5
-51
-8
-11
-5
-30
0
-2
-37
-35
-65
0
-132
0
0
0
0
-92
0
-50
0
0
0
-12
-34
0
-3
-1
0
0
0
-9
0
-21
12
0
0
0
0
0
58
0
-14
0
0
-16
0
-82
0
0
11
-3
0
-1
-56
0
23
-3
18
0
0
-75
0
0
38
19
0
0
56
0
63
-13
0
0
0
1
0
0
33
4
0
0
-36
0
15
0
0
0
0
-95
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
-26
2
0
0
0
0
0
-16
0
0
0
0
-64
1
-16
0
0
-1
0
0
-2
35
0
0
-5
11
0
0
-83
0
-4
-29
0
-7
29
80
0
0
58
0
-12
-17
2
0
0
-3
0
10
0
-33
0
0
1
0
-1
0
-50
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
9
0
0
0
29
4
0
0
0
-2
0
0
-26
0
-57
2
0
0
0
64
0
-5
1
3
0
0
-13
0
-11
0
0
0
0
145
0
0
11
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
-60
0
30
0
0
37
-1
0
-4
0
0
-43
32
0
0
16
57
0
-21
0
0
13
-3
34
0
94
31
0
-6
34
23
0
119
-29
0
6
24
-14
0
89
-47
0
31
-14
77
0
-22
-30
0
73
16
0
0
0
-94
14
3
-5
-32
0
0
-7
-4
-9
0
10
0
0
-27
-18
0
3
9
0
0
-50
0
101
3
0
0
0
32
0
-8
140
-2
0
4
-43
0
-5
70
-7
0
-8
-60
-7
9
54
-70
0
8
30
0
6
57
0
0
1
8
0
12
-27
70
0
0
-109
0
-21
12
0
0
0
4
122
-66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
6
0
0
0
-12
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
-36
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
35
-132
-129
87
49
4
1
16
24
-26
37
17
-11
0
89
-36
38
49
78
3
3
-12
35
37
52
43
43
-4
58
36
1
-46
-3
-10
3
-5
16
19
19
-5
-67
-7
51
-39
-30
-37
-40
30
-30
-61
-60
-19
-20
-21
-62
0
-19
9
2
10
-71
-7
-25
28
62
-76
41
34
-32
25
83
34
76
36
86
22
0
-47
-15
-14
50
20
-2
8
-58
57
-18
66
87
-37
17
6
71
-11
30
13
36
-23
52
4
-26
15
8
-28
-40
85
-45
17
-44
71
135
29
4
-12
59
-11
39
12
0
11
-17
-24
-20
-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
-1
-37
-6
0
-5
0
0
13
-14
0
-1
54
50
-14
-76
2
11
-10
-10
2
43
-14
10
-3
-50
-17
89
-8
-54
-2
0
-21
-40
-7
-44
-30
-33
3
-15
-170
81
13
-41
17
-6
-10
28
-19
-3
0
28
-1
7
-62
-57
-197
0
75
73
-35
-3
1
-14
0
-128
36
0
21
0
-17
4
-40
0
1
-51
0
0
-2
-12
0
2
-52
41
4
-7
-16
-8
25
-19
-7
0
-9
-69
9
111
-78
1
18
16
15
18
3
13
0
7
10
-27
0
-5
-36
-10
-25
0
21
0
-90
-23
0
83
0
88
16
0
-2
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
10
-22
0
0
15
0
0
-8
35
0
1
21
40
14
-42
-80
0
0
-36
13
113
-15
-31
0
3
-2
-29
0
141
7
-8
10
-24
-10
-51
33
-54
0
11
-87
13
4
-7
-167
12
2
48
47
-43
-9
187
0
-1
-12
-30
-65
0
-141
0
0
-1
10
2
7
-18
6
0
0
0
0
7
89
0
129
3
0
6
0
-4
0
0
-3
-2
0
0
29
0
-8
1
-6
-1
-1
4
0
19
-47
18
47
22
0
0
-5
4
-6
0
0
36
0
9
-6
1
25
0
8
0
-4
11
4
-76
0
-66
45
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
1
0
3
0
30
0
0
-2
0
0
0
-34
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-86
0
0
0
0
0
0
2
0
0
0
5
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
-1
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
-2
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
-14
12
0
0
0
0
11
51
0
0
-20
0
55
-5
-57
0
0
20
0
-16
43
-55
0
2
39
0
-1
0
7
0
0
-60
0
3
13
28
0
0
-72
0
-5
-7
20
0
0
190
0
40
0
31
0
0
0
0
-49
0
70
0
0
0
0
0
0
-54
0
0
0
0
0
0
-68
0
-9
-1
0
11
-5
-7
0
0
-2
0
0
21
-85
0
7
-47
0
0
7
19
0
13
24
0
0
-1
36
0
5
-1
0
2
-17
-7
0
-12
-16
0
0
0
-77
0
-12
0
0
28
0
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
-9
22
0
0
0
0
-3
-33
0
0
15
-12
0
-3
19
0
0
61
0
0
-8
54
0
0
-114
-13
0
-1
8
0
0
-47
0
0
0
-34
0
0
35
39
0
0
37
0
0
-15
-5
0
0
-14
0
-3
-4
3
0
0
-1
-7
0
0
0
0
0
37
0
0
0
0
0
0
37
0
5
0
0
0
0
-20
0
0
-1
2
0
7
1
0
-14
6
0
0
0
-57
0
0
-7
-12
0
0
-74
0
47
-1
0
0
0
100
-8
-4
-4
2
0
0
-31
0
-41
0
0
0
0
-98
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
67
0
0
0
0
0
-1
17
0
0
16
0
0
0
48
0
0
3
0
0
0
155
0
0
4
1
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
-39
0
-88
0
0
0
0
0
0
-1
0
0
0
0
0
0
34
0
17
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-46
0
-18
0
0
0
0
1
0
0
0
0
0
0
39
0
22
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
18
21
-20
1
-32
37
43
47
-2
45
-26
46
7
23
27
43
-36
-25
-44
7
32
80
-4
-15
16
-11
2
-47
-47
-12
9
31
-60
10
-4
61
-3
-2
-16
0
-16
37
7
-24
-57
24
27
19
-13
-81
13
-69
14
2
0
52
-106
-74
-15
-4
58
9
34
-21
47
27
-25
-90
6
-5
37
10
32
-48
-27
7
10
-49
18
-58
-20
35
2
-53
-77
18
20
-19
44
-1
-31
32
29
-41
59
-42
-10
-34
21
8
-61
4
33
12
24
29
24
-16
64
-54
-13
0
-68
49
-142
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
87
-19
0
9
25
0
0
17
0
9
-13
-91
0
0
-43
58
0
-6
16
-4
0
-123
-42
5
19
-57
0
-13
33
-23
-5
-4
-5
0
0
-25
0
-17
0
-84
0
0
14
-9
-4
0
11
0
0
0
0
-17
0
-9
4
0
0
-12
-11
0
26
0
-17
0
6
-4
-10
88
0
-1
0
0
0
3
43
0
58
-7
3
0
0
-17
0
0
-4
-9
0
0
-120
0
98
-15
0
0
0
27
0
0
-3
26
0
0
2
0
39
0
0
-2
0
110
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
103
0
0
1
0
0
0
-6
0
15
-2
-2
0
0
52
0
0
-2
0
0
-3
-28
0
0
-6
0
0
0
-61
0
0
0
0
0
0
82
0
0
0
0
-4
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
-6
0
0
0
0
-10
0
-3
0
0
0
0
48
0
10
0
0
0
0
7
0
0
0
0
0
0
94
0
0
0
0
0
0
-16
0
0
-8
0
0
0
-11
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
70
0
0
0
1
17
0
47
0
0
0
0
13
0
89
0
-11
-3
-26
0
2
-48
0
17
1
0
-56
0
-19
0
0
36
-10
0
0
30
0
0
0
0
0
0
21
0
0
0
0
-27
0
15
0
0
0
0
0
0
101
0
0
0
0
0
0
90
0
13
0
0
0
0
-15
0
0
0
0
0
4
-1
0
-3
0
0
0
0
14
0
0
1
0
0
0
11
0
-7
2
0
0
0
-53
0
0
0
0
0
0
-117
0
-2
0
0
-7
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
-16
0
0
4
0
-13
13
-23
0
0
-14
0
7
0
-43
0
0
28
0
8
0
118
0
-9
23
0
4
45
-92
0
0
40
22
-10
-5
45
0
0
12
0
1
0
2
0
7
0
0
69
0
-7
0
0
0
0
0
0
-57
0
0
2
0
0
0
-3
0
0
-1
0
0
0
24
0
0
20
0
-7
0
39
0
13
100
0
0
0
-6
0
-4
0
-2
0
0
-5
0
-18
0
0
0
-4
-68
0
0
0
0
-12
0
-71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-55
0
9
0
0
0
0
-2
0
-1
0
0
0
11
-66
0
0
-19
0
0
0
28
0
0
-19
0
0
0
113
0
0
11
0
0
0
-9
0
0
-12
6
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
-11
0
0
0
0
80
0
0
-2
0
0
0
1
0
21
-3
-1
0
0
72
0
0
0
0
0
0
-2
0
16
5
0
0
0
-15
0
0
10
-11
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
0
0
0
0
0
0
-4
8
0
9
-40
0
-6
-6
3
0
0
10
-57
-17
4
-34
1
39
-48
11
-1
4
83
0
-7
24
-8
-12
0
34
0
0
-80
0
-22
0
63
0
0
6
-1
78
0
-46
0
0
0
-14
0
0
-16
0
0
0
-1
0
0
29
-14
45
0
0
-2
0
12
0
8
31
-22
0
2
-5
0
37
-6
-1
-4
0
85
-5
17
84
49
1
0
51
0
76
73
0
0
0
13
1
0
-13
0
0
0
41
0
0
0
0
28
0
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-44
88
-21
-14
-51
19
-40
64
-17
-58
-4
22
8
30
-63
-11
-65
37
-53
-16
-61
-18
-19
59
-15
-107
-12
-79
-45
-32
-62
21
-32
38
122
-8
-105
-22
-2
49
-16
-8
40
10
-6
74
-9
5
-61
16
-42
-5
-42
18
0
-118
30
-73
-41
24
84
-14
-14
56
2
30
-62
-93
9
5
20
79
-33
47
-40
12
13
-66
33
-43
108
63
-10
90
74
28
45
126
-11
5
9
8
66
2
-93
39
14
-32
19
-77
82
-39
-6
-22
28
85
-66
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
-8
18
-41
0
-7
4
0
0
6
2
0
-4
-67
0
8
0
-72
0
0
-27
0
0
0
39
0
4
0
0
0
0
71
0
0
0
0
-6
0
3
3
0
0
0
-4
0
12
0
-1
0
0
0
0
-3
9
0
-7
0
0
0
-16
0
10
0
0
0
5
24
0
-2
0
0
0
0
-65
0
0
0
5
0
0
-36
0
19
0
0
0
0
-82
0
0
-9
0
0
0
-102
0
15
0
0
0
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
-8
45
0
0
4
0
0
76
119
-5
0
-1
61
0
18
60
-1
0
5
0
17
-3
-82
0
2
56
34
0
0
-29
0
0
91
0
-65
0
-12
0
0
-8
0
-26
0
-2
0
0
0
4
0
0
21
0
0
0
0
0
0
11
0
2
0
0
7
0
3
0
-13
17
9
0
0
-75
0
4
-7
0
0
-5
-76
0
0
-19
-11
0
0
114
0
1
7
-12
-4
0
17
0
10
-3
0
13
0
-5
0
-22
0
0
47
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-1
4
10
13
89
-58
50
1
116
-24
4
-24
16
68
0
73
112
47
-13
-110
5
-7
58
43
84
31
71
29
0
-41
87
0
41
0
101
0
-19
42
-23
8
0
-55
5
0
0
0
12
0
28
56
0
-1
0
0
0
13
-1
-1
0
-10
0
-1
-31
0
-25
-7
62
-3
-21
44
0
50
-31
-10
4
-32
-7
13
12
-93
0
-22
6
-39
10
-107
63
-8
10
28
-8
0
-2
-13
81
-66
0
96
0
41
0
0
49
0
-9
17
0
-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
-19
-20
0
0
-59
0
27
61
7
0
-15
3
20
-27
-38
-23
0
-3
2
4
-45
25
-62
0
0
36
0
44
-3
8
0
-20
47
0
6
0
-22
0
5
-8
0
-104
0
-6
4
0
2
-6
2
0
-21
-41
0
0
0
19
0
-4
0
25
-21
0
3
13
66
0
-9
-4
0
39
12
-5
0
-27
2
0
-10
-12
32
0
17
16
2
2
-2
-75
0
112
-115
0
-19
5
-33
0
0
55
9
-26
0
-4
0
5
-1
0
-4
0
-17
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-59
17
0
10
-120
-37
33
46
-84
0
-28
-112
24
94
96
-120
0
-25
-29
0
-24
-50
-29
0
-98
49
19
33
-16
-20
0
-7
45
-2
-9
20
-6
0
0
-5
-10
-3
1
-12
0
0
-37
6
0
4
-1
0
5
25
0
13
-45
0
0
2
80
-6
0
103
-10
0
9
-3
0
1
79
-79
0
12
39
3
36
83
61
0
23
27
0
-48
-14
8
0
4
6
-5
-16
31
-14
0
0
52
0
-55
44
19
0
0
-40
14
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
-17
11
3
25
47
-10
4
-132
25
-3
-3
-4
-34
33
-3
58
-1
55
6
14
47
0
39
0
-8
35
17
52
-7
-1
12
11
7
-93
13
0
-11
-33
1
0
22
18
0
18
-9
0
-12
57
0
0
-27
3
-16
-11
0
0
0
76
7
-36
84
-11
26
-1
18
0
-63
-24
-23
7
-25
69
-9
79
-86
20
0
35
34
0
50
19
1
12
0
-20
-3
-8
75
-47
-25
0
37
0
-6
89
0
-9
0
-42
-24
0
-3
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-68
6
3
-27
3
22
60
-20
38
4
-53
95
17
-7
-57
59
-46
-36
38
9
2
-26
52
-31
-39
26
-17
-48
-53
46
48
2
113
15
-15
-60
64
53
-19
-137
29
-3
13
-14
-47
-141
21
43
26
-15
33
-27
-14
2
0
55
-60
10
-13
-8
4
-77
-12
5
-18
116
-11
54
7
96
-24
8
-30
-32
2
6
-18
-16
32
-65
-36
-14
-7
90
13
51
20
-38
91
-25
-75
-33
-20
-37
-44
-52
77
32
-1
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
117
0
-4
-6
0
0
0
145
0
0
-40
0
0
0
16
0
2
-8
-6
0
0
-65
0
0
2
0
0
0
-78
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-13
-3
0
0
0
0
0
-1
0
-7
0
0
0
0
-15
0
0
7
0
0
0
5
0
0
0
0
0
0
-23
0
2
-4
0
0
0
-7
0
-4
0
0
0
0
56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
57
-6
3
92
26
0
2
49
0
0
-12
0
3
0
-5
0
0
-19
0
4
0
47
0
0
-19
0
-1
0
66
0
0
-13
0
-14
0
-84
0
0
0
0
-1
0
-27
13
0
0
0
0
2
-3
0
-2
-7
0
0
0
18
0
0
0
0
0
0
-122
0
-2
37
0
0
0
31
0
0
0
-12
0
-1
-74
0
-18
-1
0
0
0
-47
0
0
0
0
0
0
-89
0
-11
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
32
94
69
50
7
-51
31
-23
-80
-50
9
-23
71
62
2
32
32
4
-65
33
12
-20
35
7
5
64
80
21
0
-3
53
71
25
0
29
98
-22
11
23
-40
0
-3
-56
-3
6
57
0
0
30
1
-54
16
2
8
40
90
0
-11
51
58
9
16
-34
-18
88
-117
57
-12
-65
49
0
4
15
16
44
227
-23
3
-21
-48
0
43
25
2
8
184
19
17
-73
-15
23
0
59
-21
0
-9
0
80
45
-6
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-98
0
0
-52
0
0
-2
-53
0
1
14
0
7
-8
72
0
0
-19
-2
0
0
44
0
0
0
0
0
0
-71
0
0
0
0
-89
0
-78
0
0
0
0
-4
0
-37
0
0
0
0
0
0
138
0
-3
0
0
0
0
131
0
0
-18
-11
0
0
29
0
-40
0
0
0
0
85
0
0
8
0
0
0
67
0
-19
0
0
0
0
108
0
0
2
0
0
0
-129
0
-2
0
0
-3
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-194
0
16
26
51
0
1
-124
0
8
79
26
0
0
-14
0
4
-23
14
0
0
7
0
-12
131
-9
0
0
26
0
9
-76
-1
0
0
46
0
-1
0
6
0
0
-30
5
0
0
7
0
0
-31
0
-60
-3
-3
0
-5
127
0
0
100
18
0
0
-96
0
38
-70
-10
0
10
-4
0
14
71
75
0
0
-8
0
-27
56
10
0
22
36
0
-3
22
-5
0
0
9
0
-12
-26
-1
0
0
-88
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-97
-26
-59
-15
24
30
6
1
-5
12
13
7
26
16
-1
-2
0
-2
0
38
-7
1
0
-12
67
0
-2
-20
63
-1
-7
-9
0
41
-36
0
7
-17
0
0
20
0
21
-72
-2
0
4
92
0
19
1
-46
-19
-3
-56
0
-51
17
31
0
-6
14
15
22
-47
-7
17
9
-29
0
51
-42
12
-14
-2
-2
-5
3
105
108
-3
20
14
0
-71
8
-3
86
0
-35
-17
-42
0
37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
-72
17
106
9
46
6
-54
-65
30
-17
-62
5
21
-41
56
32
-62
-59
34
-8
120
-20
31
17
18
-44
13
37
-58
-47
34
5
8
1
58
58
24
-91
-59
24
18
-17
-19
31
-53
30
97
60
-47
-3
85
80
89
48
0
4
42
26
55
35
57
7
40
35
-5
-28
-29
-43
-1
-61
2
-47
32
15
-48
18
86
-59
-22
-26
-14
4
-13
-46
-29
52
-3
-18
-14
-11
-93
-10
9
49
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
-24
-12
0
0
46
0
0
-21
-23
0
-3
52
0
0
28
-109
0
0
13
0
-2
0
14
0
0
-15
0
0
0
-14
0
0
0
0
0
0
8
-8
0
0
0
0
0
-31
0
-2
0
0
0
0
-2
0
0
0
0
5
0
-6
0
-12
4
0
0
0
-107
0
-15
18
-16
0
9
84
0
-14
0
0
0
0
-8
0
0
0
0
0
0
-4
0
-13
0
0
0
0
64
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
126
-23
0
-131
10
-11
6
57
0
0
57
60
0
28
-94
0
0
-7
0
45
0
-78
0
0
-1
7
-58
0
-1
0
0
0
28
-9
0
-43
20
0
-1
0
0
-6
60
0
66
2
0
0
0
-12
0
1
-61
0
4
0
83
0
50
88
-15
-1
-5
42
0
-9
-4
1
0
1
35
0
4
8
0
0
0
-51
0
0
1
16
4
0
-47
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
-36
13
93
105
43
18
0
56
32
50
-1
-48
33
54
6
8
-1
22
18
-19
52
-24
-16
5
39
0
16
-128
-8
-12
-18
85
0
-17
2
-11
5
59
10
-1
-6
4
-4
173
11
-60
-27
1
-16
-63
-11
59
-3
-33
7
-4
8
43
29
5
86
6
0
100
-82
-77
94
-152
18
-28
-19
9
44
67
80
18
-32
9
-27
-49
-37
-19
5
5
57
65
-22
31
1
31
-113
57
41
2
165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-21
-9
-8
-63
13
5
1
-86
50
-39
62
37
-24
0
18
97
0
9
0
-65
0
64
43
-11
29
0
23
-12
-1
0
8
-6
0
-47
15
0
-9
-4
13
-4
47
0
5
-12
0
-12
36
0
0
-42
2
2
169
10
55
0
56
25
38
41
-62
-7
-1
-40
70
-10
89
24
45
4
69
30
0
187
-25
8
0
53
37
0
50
-7
-18
0
14
34
0
17
0
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
21
0
14
34
0
-11
-62
-27
0
0
-4
0
0
44
0
0
0
-46
0
2
0
0
0
0
-23
0
0
0
17
0
0
-27
8
0
0
0
0
7
60
0
-21
8
0
0
0
46
0
-27
1
-9
0
16
7
0
-19
9
-11
0
0
-23
12
15
4
32
0
-1
-56
1
30
-20
0
0
-23
-126
0
0
13
4
0
0
23
0
-41
21
3
0
0
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
9
25
-43
77
75
-9
8
-60
0
0
-116
54
31
0
58
-3
-14
74
66
-97
0
18
10
0
0
1
0
0
-59
64
0
11
0
0
-4
51
-13
-7
143
0
0
9
32
3
6
-113
2
0
0
13
-1
-51
-47
0
-4
0
128
12
-12
42
134
0
-4
1
-5
104
41
0
-3
4
-46
0
-9
6
135
-2
-12
28
-3
117
8
0
28
0
-11
35
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
9
39
-22
27
-69
-49
11
4
-14
46
-94
-44
-11
18
-39
93
34
14
-35
-46
27
8
-1
3
-86
25
-6
5
-5
-52
-22
-95
-78
-26
-5
48
-51
59
76
-93
-63
3
-116
41
-13
-40
56
-99
-14
-26
-54
7
116
7
35
0
57
33
15
123
52
-2
15
-16
-97
-106
-74
11
-52
18
-27
68
-14
50
20
-137
-14
19
-33
-9
-14
-20
-8
-17
28
91
46
-76
-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
73
0
0
-2
0
0
0
-53
0
0
-16
0
-18
0
-83
0
2
0
0
30
0
51
0
6
0
0
0
0
4
0
0
0
0
0
0
-2
0
15
13
0
-9
0
-1
0
0
0
0
0
-2
55
0
-2
12
0
0
0
1
0
0
0
16
0
0
9
0
2
0
0
0
0
-57
0
19
-1
2
0
0
-87
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
107
0
-4
22
-43
-26
-1
106
0
0
0
0
24
0
77
0
0
-1
0
-118
0
17
9
0
1
1
0
0
38
-2
0
0
10
0
0
142
0
-48
-1
0
0
0
-84
0
11
74
-10
-23
-7
-45
0
-8
-11
-12
1
0
-133
0
-7
10
11
14
6
7
0
6
-25
0
33
-1
-61
0
0
0
0
65
0
-84
0
-3
-4
10
83
0
74
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
41
23
-90
-54
34
0
170
-81
-11
93
12
45
9
71
-21
38
32
0
7
-58
-11
-1
-28
-78
-9
-21
-54
-5
5
-49
5
5
-53
-4
31
0
39
-11
-79
-32
-4
-4
-61
31
-3
-39
13
9
-89
-72
-25
-4
15
26
-6
32
35
61
-26
-38
11
68
-18
26
-5
71
8
19
4
-92
-18
62
102
-11
8
-22
19
33
-1
44
0
5
-62
-25
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
18
61
5
77
-1
52
0
0
-33
0
-25
0
-64
0
0
103
0
-51
0
-87
-7
0
0
0
0
0
5
-9
0
0
0
0
1
-18
16
38
-2
0
6
-2
84
0
-4
-1
9
-27
0
48
0
-60
-25
0
-33
11
15
0
-7
-74
0
-29
0
-49
0
48
-26
0
0
0
3
0
0
25
0
0
24
-68
0
15
13
0
128
0
-34
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
76
-66
99
0
15
-34
0
-11
-76
0
0
0
-12
0
19
71
79
0
0
-42
0
0
0
-13
0
0
-18
28
0
0
-26
0
0
-2
0
-28
-33
0
0
0
-32
0
-6
9
-37
0
1
-30
8
-39
63
55
0
1
66
44
-22
-14
-3
0
-10
-89
0
18
-64
0
0
0
6
0
1
3
97
0
0
-5
3
-40
32
3
0
0
28
17
-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
0
0
0
0
13
-38
-7
0
39
0
18
0
-18
0
0
-9
0
1
-6
20
0
0
0
0
7
0
-141
3
0
0
-2
0
0
-13
0
-38
2
18
0
0
50
0
63
-82
-26
-1
0
105
-3
-69
-40
13
0
0
71
6
9
14
64
8
0
-17
0
88
-28
-19
0
0
-32
-6
0
-23
-31
-15
22
26
0
-6
7
0
0
0
-21
14
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
7
24
121
19
-10
26
63
3
62
-3
-5
-6
10
-5
-95
66
102
-53
-19
7
80
20
-169
142
11
-22
-5
24
-46
0
-3
-94
-91
-19
3
6
-49
-24
-43
-7
24
36
-53
42
-8
-211
-27
-2
31
-45
1
18
6
-61
0
-56
33
17
28
-119
15
-5
-10
85
20
88
52
-88
6
-52
-48
22
-18
-49
44
2
-41
70
12
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
29
0
0
5
-1
0
0
-47
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
-17
0
0
0
0
17
0
0
-5
0
0
-8
98
0
0
1
0
0
0
-40
0
3
0
0
0
0
-1
0
105
0
0
14
0
77
0
0
-6
0
0
0
-22
0
36
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
-3
43
0
0
8
0
11
-10
21
2
0
-27
-17
-138
0
13
0
0
0
-1
0
0
-9
4
0
-9
7
0
0
-95
-13
-51
-14
0
0
-5
77
0
11
-26
-25
38
0
-126
0
39
32
0
0
0
24
10
4
12
-5
0
0
-40
0
-48
0
0
0
0
20
3
-25
0
1
-4
-2
-44
0
135
0
0
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
207
-73
-15
12
71
-9
10
37
1
-4
33
0
17
19
1
44
93
-24
-3
-19
-118
-17
-38
3
3
11
-22
-43
-23
51
21
-2
-12
-21
0
65
55
-26
28
-137
-16
0
63
-7
83
19
-7
-8
-15
-12
22
64
90
-63
-16
-1
23
30
85
-24
-56
56
-14
42
38
-13
42
-10
11
-2
87
81
-19
12
-5
-8
-57
-14
-2
-38
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-15
6
9
-9
14
0
21
30
-5
7
0
-13
120
-3
-1
26
12
0
-93
-3
0
2
23
0
0
12
0
-82
29
0
-18
-87
-11
-4
-10
-3
0
-2
-53
36
0
-20
106
0
0
28
15
15
-10
35
5
9
-27
-2
0
18
20
2
7
21
-30
-7
-22
-68
0
-85
0
-1
0
49
-32
0
-7
0
3
71
-6
-39
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
29
0
-2
8
0
0
0
13
0
12
42
-27
0
0
-25
0
0
0
-5
0
0
67
0
0
0
32
0
0
-58
0
59
7
13
0
0
88
0
0
8
22
0
12
47
0
71
-48
1
0
1
27
0
-7
-37
99
0
3
-25
0
-58
153
0
0
1
-35
0
41
-31
16
0
0
-105
0
-126
0
7
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-2
0
40
46
0
-10
6
0
0
0
0
0
-20
-1
0
4
-1
0
0
71
-2
-1
-12
0
0
-8
97
0
7
6
-9
0
0
31
0
-8
36
-19
0
-2
-37
0
0
-44
-14
0
0
23
0
155
0
15
1
-1
30
0
-4
-9
-11
-5
0
-31
0
-19
0
0
0
0
-69
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
18
19
-31
76
-5
79
-29
4
16
-29
69
-9
-193
-47
55
45
-53
-85
88
-5
-52
15
-23
56
-1
-6
66
2
12
-8
122
-43
52
43
5
21
34
41
-37
32
-6
-13
-64
-7
-194
30
-23
-2
-42
61
9
-60
-7
-11
-67
-40
-49
0
144
20
84
68
53
-67
3
-9
-33
-3
1
23
116
7
87
87
58
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
-49
0
0
0
18
-4
0
89
0
0
0
0
-2
0
41
0
0
0
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
0
0
0
47
0
0
-1
0
0
0
6
0
0
0
0
0
0
117
0
0
-1
0
0
0
0
0
0
0
0
0
0
49
0
-1
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
-59
0
0
32
-1
4
0
-7
-19
0
0
29
-3
0
47
0
0
0
3
0
0
-86
-2
0
-4
0
0
-5
-91
0
0
0
7
0
-5
-24
0
-21
-2
-11
0
0
-55
0
-4
-9
-13
0
0
3
0
-34
-15
0
0
0
-8
0
0
-6
0
56
0
7
-4
-31
0
0
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
1
-43
-58
0
-17
5
3
0
0
-16
0
32
27
0
5
-14
0
-2
-32
0
52
0
0
-3
-19
-11
4
11
118
-47
0
23
8
-2
-30
-54
-24
0
3
-16
9
21
-80
-97
-19
31
-45
0
32
-1
1
-3
-2
95
0
11
-23
132
-9
-7
-28
0
40
29
0
4
0
-7
85
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
28
0
-37
0
0
0
0
16
0
-9
0
0
0
0
0
0
24
0
14
0
0
13
0
12
0
0
-3
15
0
0
-10
0
1
0
0
0
0
85
0
0
-9
0
0
-4
0
0
11
0
0
0
0
103
0
0
0
0
0
0
-56
0
4
10
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
6
-17
-25
-17
36
5
0
0
-33
-7
23
8
15
0
0
21
-10
0
0
-15
0
0
43
9
4
-10
4
0
-7
25
0
21
106
3
0
-32
-8
0
-13
79
9
0
44
1
0
-16
93
44
0
9
17
0
-128
-59
0
0
-8
74
0
45
163
-5
0
0
-19
0
-116
20
0
0
0
0
44
19
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
48
0
0
0
0
0
0
-10
0
0
0
15
0
0
22
0
0
0
0
0
0
1
0
0
5
26
0
0
50
0
-3
4
0
0
0
-43
0
-1
3
0
0
0
-182
0
7
0
0
0
0
98
0
-2
19
6
0
0
-46
0
14
0
0
0
0
83
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-66
19
-31
13
-161
-38
26
4
-4
-12
9
-12
16
-24
33
25
25
60
-37
24
73
9
19
81
14
-76
-17
50
16
-29
11
71
125
-61
-13
-3
51
48
17
1
61
-23
41
-26
-120
-67
-146
-66
-24
-1
-7
-14
-52
-17
-50
74
0
158
-22
50
95
-95
-2
63
-94
70
-36
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
45
0
0
0
0
0
0
31
0
0
0
0
0
0
23
0
0
0
0
0
0
18
0
0
0
0
0
0
29
0
-6
0
0
0
0
6
0
0
2
0
0
0
10
0
0
0
0
0
0
-3
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
45
0
0
0
21
0
0
19
0
1
0
0
0
29
-33
0
0
-12
1
0
0
27
0
3
90
0
0
0
21
0
0
0
-38
0
-3
22
0
0
-9
0
0
50
-24
0
6
0
11
-2
0
-118
0
25
0
0
0
0
-95
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
19
0
40
-5
0
0
6
0
0
21
-10
-6
-11
0
0
1
-26
0
7
-12
37
0
-7
-8
0
1
-36
-7
0
0
-52
-6
21
92
-58
-18
0
-22
0
-13
-18
0
26
0
46
28
-24
0
-16
-21
0
-24
0
-33
0
0
18
0
-90
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-9
0
0
-28
-37
0
0
0
-1
0
-94
0
62
-15
0
0
-7
-72
0
13
39
0
-1
-26
-7
0
119
-105
-5
0
-25
-8
0
107
113
-4
-26
-2
66
9
-4
75
0
52
-10
102
2
31
12
16
-19
0
-57
0
45
-37
0
-20
0
-93
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
19
101
-5
10
44
0
56
23
0
-29
-78
-8
-12
54
20
0
-31
-14
63
0
156
-17
0
14
-19
109
0
-36
-5
2
-58
74
51
0
39
30
0
-15
44
32
0
16
13
0
2
54
-1
0
-20
-67
0
-5
61
4
0
0
50
-12
-28
-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
-3
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
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-29
-102
9
-3
-220
0
-100
28
-15
-23
7
-32
2
-51
22
-23
72
-38
1
8
-38
9
-37
-85
42
-124
47
-24
23
-22
-6
-33
-33
-15
-92
23
-3
118
-12
9
-26
-19
53
15
-39
64
-29
1
8
-6
15
120
28
26
0
23
-123
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-74
0
47
0
4
0
0
76
0
0
3
0
0
-4
-3
0
-20
-12
23
0
0
-97
0
-11
2
2
0
0
48
0
29
0
0
0
0
-34
0
21
25
-14
0
0
42
0
-82
0
0
-4
0
-54
0
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
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
75
0
0
-2
0
0
0
-81
0
43
0
22
0
0
-11
0
-7
-11
0
0
0
4
0
0
2
0
41
0
46
0
111
0
0
-18
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
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
66
0
0
0
0
0
0
18
0
0
0
-22
0
0
-46
0
-1
0
0
0
0
38
0
0
-18
0
0
0
-51
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
36
0
-4
4
0
0
0
-43
0
0
0
-2
-8
0
-11
0
34
-2
0
-6
3
33
0
7
-27
-12
0
0
79
0
15
-5
0
0
0
47
0
5
-9
0
35
0
-1
0
-14
4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-47
0
-1
0
1
0
0
87
0
-14
-4
-12
0
-14
31
0
79
-8
0
0
0
-16
2
0
-11
28
0
0
-102
0
-116
11
0
0
0
58
-6
6
21
5
0
0
-39
0
9
9
0
0
0
-11
-61
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
-4
0
0
0
0
0
0
5
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
-2
0
0
0
0
0
0
-16
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
-87
17
-17
-10
-109
47
-44
83
-2
-5
53
10
2
22
-24
-4
-3
-114
0
14
-29
-49
-15
-6
-3
-9
29
-20
6
10
8
-10
-17
1
-101
20
-23
7
-19
-5
-12
-12
-14
7
0
-35
37
8
47
32
-9
-54
4
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
5
11
0
0
11
8
0
-1
27
11
0
0
77
0
-2
-30
-21
0
0
11
0
0
-1
-23
0
16
31
0
8
13
0
6
0
-62
0
2
0
0
0
0
25
0
-28
0
0
0
0
54
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
2
0
0
0
0
-33
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
70
0
0
0
0
0
14
-80
0
-2
-13
0
0
0
25
0
0
34
8
0
0
-12
0
2
11
0
0
0
-20
0
17
23
14
0
0
-108
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
1
0
18
0
-21
0
-3
55
0
19
0
-62
0
-7
2
0
12
0
-48
0
-2
14
0
0
0
100
0
21
-12
0
4
0
29
0
0
0
0
3
0
45
0
-2
0
0
-20
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
16
0
0
0
0
0
0
-8
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
-114
0
-36
0
0
0
0
98
0
-1
-5
0
0
0
0
0
0
15
0
0
0
-25
0
0
0
0
0
0
85
0
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
-4
69
9
-4
21
3
25
-15
-2
73
113
-31
-20
-68
-59
-15
-73
-62
25
6
47
35
18
21
36
-45
49
13
-72
-5
-96
-6
32
-5
-20
-11
36
-22
-15
23
-112
-10
-28
-76
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
5
0
0
0
0
-23
0
0
0
0
0
0
16
0
-2
0
0
0
0
10
0
0
0
0
0
0
-53
0
-5
0
0
0
0
16
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-52
-19
-19
75
-46
113
3
28
-14
101
-77
-6
-23
-45
-46
4
39
10
56
2
-2
38
-4
-17
51
-18
-1
-11
-26
-2
0
-157
25
-9
0
-21
0
-48
-12
0
-155
0
-5
42
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
7
37
0
0
-21
-6
0
4
37
0
-19
0
0
-16
-15
-9
0
15
4
-7
0
0
-142
0
62
25
0
14
0
3
0
-8
3
-12
6
0
-1
0
-47
0
0
-9
0
-99
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
0
0
0
0
0
0
-60
0
0
0
0
0
0
96
0
12
0
0
0
0
-68
0
0
1
0
-14
0
54
0
8
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
-8
0
120
-11
16
0
0
-15
0
6
19
1
0
0
-29
0
1
-6
-5
0
19
25
0
0
0
-4
0
0
52
0
5
0
0
0
0
117
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-81
0
-61
0
0
0
0
-97
-2
3
-26
-5
0
0
-41
0
-70
7
0
0
-3
34
-9
0
11
26
0
0
55
0
-19
-6
0
9
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
17
-37
-12
19
53
-23
30
-75
-25
-40
38
-17
39
-96
51
-14
-17
47
-10
-61
40
73
-8
-20
45
-22
55
-13
-49
4
36
-32
-12
-31
-61
-2
24
-156
33
41
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-24
0
0
0
0
25
0
0
0
0
0
0
-10
0
-2
-2
0
0
0
2
0
0
0
0
0
0
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
184
0
35
-13
9
0
0
6
0
0
9
20
0
0
-29
0
10
26
0
0
0
-111
-1
0
-5
4
0
0
73
0
1
0
0
0
0
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
35
59
-1
125
45
28
-9
4
-60
0
-28
-117
-122
9
1
-24
0
58
41
-2
47
0
-11
-17
-10
15
-14
-79
8
21
0
80
-2
0
-80
0
-25
-11
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-11
0
0
0
-66
0
-6
-48
16
26
0
4
0
40
50
0
40
0
3
0
0
-14
0
-3
0
-7
0
43
0
0
-51
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
27
0
0
4
53
0
-14
3
-16
0
0
-1
0
24
-8
5
0
7
33
0
0
-10
0
0
1
36
0
19
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-27
-14
0
0
123
0
6
45
0
0
0
-104
-27
0
39
63
0
0
19
0
18
-1
0
-3
0
-89
-25
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
39
29
22
51
-46
4
9
-7
0
-14
-76
-16
10
1
-27
-70
-107
58
-9
18
9
23
10
-62
13
-86
-24
2
-141
3
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
0
0
0
3
0
0
0
0
0
0
2
0
-15
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
42
-12
2
-1
6
-144
-47
-14
-46
1
174
1
-20
44
24
18
0
-24
-110
-54
41
23
7
0
51
24
-7
-74
0
2
31
32
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
84
0
4
42
-42
5
11
31
1
-78
-19
11
20
3
35
0
-23
-112
-197
-11
5
21
0
134
0
0
28
0
-86
-139
-9
26
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
0
-5
0
-30
23
0
0
0
130
0
2
-10
0
0
0
-1
0
-7
0
0
68
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
8
30
0
20
1
3
0
0
-15
0
-33
-2
0
0
0
58
0
0
-10
0
0
0
40
0
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
15
0
0
0
50
0
0
0
1
0
0
-44
0
-15
0
0
0
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
60
6
-19
-22
31
4
-155
-4
2
-22
41
-63
21
-15
-3
3
10
-1
55
-118
15
6
0
-2
-45
-102
56
-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
-32
0
6
0
0
0
0
-18
0
-3
0
0
0
0
30
0
19
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-12
0
46
0
0
1
2
-17
5
0
3
7
0
0
51
0
-14
0
11
-48
0
73
4
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
15
-41
0
-22
76
12
11
-5
12
0
4
-5
-46
6
-2
4
0
-19
16
0
-97
0
19
-132
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-4
0
-43
7
26
0
20
-34
0
-26
0
-13
0
-2
14
0
55
0
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-103
-12
0
0
0
34
0
0
25
20
0
0
22
0
108
0
0
0
0
24
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-3
0
4
55
0
8
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
-40
11
-2
-72
45
21
-83
3
21
-25
22
63
-11
-119
-8
-3
6
41
-19
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
53
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-19
-16
-66
0
15
0
30
12
-8
-63
0
30
39
-10
12
99
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-28
16
168
34
0
-18
0
39
0
4
-119
0
-57
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
11
0
0
-91
0
7
0
0
-4
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
-112
0
0
-2
0
0
0
11
0
41
0
0
0
0
49
14
-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
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-58
216
-36
42
-7
-40
83
-13
-62
-90
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-1
-49
0
-28
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
29
0
17
0
-36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
1
0
36
0
-17
-1
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
-33
0
42
10
-13
0
0
-10
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
25
122
-79
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
82
-27
5
-15
-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
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
49
-3
-26
48
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
-10
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
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-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
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
0
-11
0
0
0
0
0
0
-1
0
0
1
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
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
1
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-107
-13
-7
1
26
-51
-1
-129
-94
-46
5
-6
16
54
-7
-44
-160
-53
-53
-104
57
0
0
0
0
0
0
0
-1
-11
31
38
42
69
-19
35
-51
25
-50
-2
-28
-25
-4
-23
-41
-3
-182
-73
12
6
-34
0
-2
-18
25
51
-51
12
1
-42
-147
17
-60
22
65
15
-40
-6
2
4
10
-130
-36
-4
-6
-86
-21
8
-15
22
41
-2
-7
11
-4
14
30
17
14
-25
4
-9
-19
49
-105
-7
-14
33
33
3
-30
-84
-7
26
42
-74
-1
-11
43
7
-115
2
26
-15
2
-6
-50
104
46
-75
-3
0
-159
-148
-24
0
-2
4
37
32
9
-1
-73
-18
-4
-34
17
12
6
74
9
-3
104
-64
1
-30
107
-29
-2
17
-53
14
-36
25
-21
-2
-86
-65
-2
-31
71
79
-1
-18
-1
-53
-17
-74
-8
5
-5
-131
20
-58
-66
2
0
14
13
-105
-23
-60
41
5
26
-106
-114
61
-24
-33
-4
82
21
-20
-9
53
-52
3
-29
-60
13
-27
29
37
0
-94
-4
7
-33
32
3
-2
-196
158
12
77
22
57
6
-24
-55
6
12
-23
0
-8
-70
30
-19
-126
-19
51
-12
-91
-97
16
17
11
-19
2
-56
-73
36
6
86
59
17
0
-43
-119
57
-95
-35
-1
-44
-98
1
18
-15
-11
-8
-85
-5
-39
-40
31
17
6
0
-59
-53
25
0
-37
-6
-23
69
23
21
11
13
-5
13
26
-1
49
-5
27
18
57
5
-25
-76
67
-129
7
88
-61
14
-121
3
-24
-11
-58
19
-15
-66
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-6
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
-13
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
83
1
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
44
0
0
-26
-79
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
-34
0
0
0
-65
0
-42
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
-18
0
0
0
0
0
0
-78
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
1
0
0
0
-7
0
0
-1
0
0
0
-55
0
0
0
0
0
0
18
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
1
0
1
0
0
0
0
-23
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
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
11
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
43
0
0
0
0
0
47
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
6
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
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
16
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
39
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
2
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
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
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
-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
-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
1
0
0
2
0
0
0
-1
0
-6
0
0
0
0
-4
0
0
0
0
0
0
26
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
-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
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
-6
0
0
54
0
0
0
0
0
0
0
0
0
0
0
-13
5
0
0
18
0
0
0
14
0
0
6
0
0
0
0
0
0
6
0
0
52
15
0
0
-13
0
0
-3
0
0
0
44
0
2
-11
0
0
0
-4
0
0
0
0
0
0
-7
0
8
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-46
0
0
4
0
0
0
17
0
-48
-9
0
0
0
50
0
0
0
0
0
0
-47
0
0
0
0
0
-9
-31
0
0
10
0
0
0
-40
0
-6
39
0
0
0
-8
0
0
0
0
0
0
-19
0
0
0
0
0
0
-24
0
0
0
0
0
0
27
0
0
0
0
0
0
73
0
0
-5
0
0
0
23
0
0
0
0
0
0
-39
0
0
0
0
0
0
-5
0
0
-9
0
0
0
50
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
-8
0
0
0
0
0
0
3
0
0
2
0
0
0
-3
0
7
6
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
1
0
0
12
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
44
0
0
36
0
0
0
12
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-58
0
0
0
0
0
-93
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
11
0
-104
0
0
0
9
0
0
81
0
0
0
17
0
1
92
0
0
0
10
0
0
0
0
0
0
2
0
0
2
0
0
0
53
0
0
0
0
0
0
1
0
30
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
0
-28
0
0
0
-19
-24
0
0
0
0
0
-1
123
0
0
0
0
0
-5
3
0
0
-2
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
-48
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
2
-74
0
0
16
0
0
-16
56
0
0
0
0
0
0
-2
0
0
18
0
0
0
31
0
0
15
0
0
0
96
0
0
0
0
0
0
21
0
0
0
0
12
0
52
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-2
0
0
0
0
-13
0
0
0
0
0
0
-35
0
18
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
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
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
-27
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
-2
0
0
2
0
0
0
-2
0
0
14
0
0
0
-6
0
0
0
0
0
0
-3
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
-8
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
-22
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
-150
-103
20
-20
-4
-3
40
-6
-72
-94
-60
-16
-8
6
0
0
0
0
0
0
0
1
12
25
55
-111
22
-41
9
-38
-17
-19
-5
45
-24
59
78
30
-5
-4
-29
5
9
-9
0
-1
-28
2
3
-145
22
-138
-28
11
-90
-26
-80
24
17
-3
22
3
-3
-1
-186
-10
-7
-14
-19
8
-75
16
-30
-73
-7
2
11
-7
42
-64
-10
-29
-56
10
8
-32
-12
-100
-3
61
-2
14
83
-11
-7
-21
-5
-16
9
41
68
24
-38
-36
5
5
-15
-44
46
32
-50
78
-25
1
-82
-1
-18
-37
0
4
7
76
14
43
-35
121
26
-14
109
0
3
4
-77
-10
0
-33
36
18
84
-88
-20
2
-28
34
9
-79
17
-3
-8
-70
-7
-3
-23
-49
-9
-5
0
2
-7
-19
-17
14
4
17
-19
11
78
-19
4
-5
65
-10
29
3
13
-10
-6
-104
5
-39
19
-130
-10
7
-38
-4
-8
-27
-71
-4
3
-6
-65
-25
14
-11
-44
-7
-3
112
3
-46
-127
-58
-8
-33
39
6
-3
-39
4
3
19
-1
-8
-52
-15
4
-3
63
12
1
35
35
-30
-8
-15
131
-11
-45
-8
-3
-1
-2
1
8
-18
-46
-3
-49
-45
53
24
17
-87
-11
62
75
118
-71
-32
47
-3
-5
-81
42
126
-36
-84
29
-16
13
-51
-8
90
6
60
6
-32
83
7
-40
-83
-33
-8
-23
-23
-3
11
-90
64
-33
-52
-62
14
27
-22
-32
3
-42
-52
59
10
-42
-2
-4
-52
-12
-85
-9
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
2
11
0
-4
0
0
0
0
0
0
3
4
0
0
0
0
0
-99
1
0
0
5
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
-9
-2
-29
0
-3
-48
0
0
-2
0
0
0
-70
0
0
0
0
0
0
-104
0
0
7
0
0
0
-53
0
0
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
-66
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
15
0
0
-18
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
-2
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-14
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
-1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
39
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
2
0
0
-8
0
0
0
0
0
0
-5
0
0
0
105
0
4
50
0
0
0
-3
0
0
-7
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
0
0
0
-12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-55
5
0
0
0
3
0
0
-19
0
0
-5
-60
0
0
-22
0
0
-5
-20
0
0
-4
0
0
0
-21
0
-4
0
0
0
0
-3
0
0
0
0
0
0
-49
0
0
0
0
0
0
-22
0
0
0
0
0
0
29
0
0
0
0
0
0
-30
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-37
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
-15
0
0
0
0
0
0
1
0
0
11
0
0
0
-12
0
0
0
0
0
0
-44
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
-1
-6
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
-13
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
7
0
0
-34
0
0
0
-9
0
0
78
0
0
0
16
0
0
203
5
0
0
0
0
0
15
0
0
0
47
0
0
60
0
0
0
-16
0
0
0
6
0
0
-18
0
23
0
0
-1
0
0
0
0
0
-67
-3
0
0
1
0
-1
-2
0
0
16
0
0
18
-1
0
8
12
0
0
8
-50
0
4
-25
0
0
2
-2
0
0
-74
-3
0
-23
17
0
0
-50
0
0
0
62
0
-81
2
0
0
0
-55
0
0
0
0
0
0
31
0
0
0
0
0
0
79
0
0
0
0
0
0
-19
0
0
0
15
0
0
93
0
0
61
0
0
0
16
0
0
59
0
0
0
-19
0
0
-18
-1
0
0
18
0
0
-14
-2
0
0
-15
0
0
19
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
21
-1
0
0
0
0
0
117
0
12
0
0
0
0
-60
0
0
4
0
0
0
22
0
9
0
0
0
0
48
0
0
0
1
0
0
-8
0
1
3
0
0
0
-6
0
0
0
0
0
0
-28
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
11
0
23
0
4
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
2
105
1
0
0
13
0
0
0
0
0
18
0
0
48
0
0
54
0
0
0
0
0
0
4
0
0
0
0
-6
18
0
0
97
-188
-111
-25
1
0
0
-51
0
-95
13
13
20
0
-57
18
-90
20
81
6
0
86
0
-162
-21
23
0
0
-38
9
-5
-17
0
0
0
-83
0
-28
-1
65
-3
0
17
0
-17
0
0
-12
0
0
-3
1
0
-16
-35
0
3
5
0
0
-141
0
10
18
0
2
0
-131
0
13
18
-101
0
2
-10
0
0
-68
0
0
6
-6
2
0
68
-10
0
82
61
0
-22
54
0
-1
-20
-7
0
27
-91
-42
0
0
-151
0
0
87
13
4
0
129
3
6
0
0
0
0
-40
-1
0
0
2
0
0
-144
0
10
-6
-2
-10
-4
-130
0
0
51
0
-9
0
-51
47
-8
16
4
0
-17
40
0
9
-28
-12
-12
0
51
2
4
21
53
0
0
-18
0
3
21
0
57
0
-114
0
0
26
19
-15
0
122
10
0
0
22
0
0
-22
0
0
7
0
0
0
-147
0
4
0
0
9
0
-66
0
55
89
15
0
-15
10
0
-31
45
-21
0
0
-84
0
-11
-3
66
-10
0
45
0
-34
-5
-3
0
0
-85
0
0
-7
0
17
0
-99
24
-34
0
0
-5
0
14
29
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
-17
3
5
0
-6
0
-8
0
0
0
0
0
0
0
7
0
3
0
0
0
0
65
0
0
0
-47
0
0
0
0
0
28
1
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-164
-3
0
-110
0
0
0
61
0
-9
-36
10
0
0
-7
-3
76
-5
-4
0
0
7
0
-42
166
0
0
0
-48
0
0
-17
-20
0
0
71
0
116
11
51
0
0
-1
2
-54
0
0
8
0
0
0
-2
0
-22
15
4
0
34
0
1
-144
0
0
71
0
0
8
0
0
16
-29
89
0
-64
27
0
0
-26
0
0
52
46
0
0
12
19
-1
-49
7
0
0
-10
0
10
12
9
0
-224
22
-12
0
0
22
0
0
-15
0
-40
0
54
0
16
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
-2
3
0
-2
0
0
0
-27
0
-1
7
25
0
-2
-68
-18
0
-4
-98
0
0
23
-3
0
0
7
0
0
80
-2
0
-5
62
0
-3
2
-4
-1
3
-30
0
0
0
7
-39
0
-1
2
0
1
0
0
0
30
0
0
0
0
0
0
4
0
-14
0
0
0
19
0
0
0
0
-15
0
2
2
0
88
12
0
0
0
-124
0
7
69
-6
0
-4
22
0
-49
-10
0
0
0
5
0
4
-2
0
-2
2
-48
0
46
0
0
9
0
-78
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-5
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
0
0
-21
0
0
0
0
0
0
51
0
0
0
-4
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
-5
0
0
0
0
0
0
0
0
49
0
0
0
-9
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
1
38
0
0
0
0
0
-7
-55
0
0
0
0
0
0
34
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
-2
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
0
0
-2
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
-12
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
20
0
0
-9
0
0
0
-7
0
0
30
0
0
0
0
0
0
-1
19
0
0
-27
0
-4
7
0
0
0
16
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
44
0
0
0
0
0
9
57
0
0
0
0
0
0
20
0
67
-2
0
0
-5
-60
0
0
0
0
0
0
52
0
0
-1
0
0
62
-25
0
0
-8
0
0
0
7
0
-22
10
0
0
0
17
0
0
0
0
0
0
19
0
0
0
0
0
0
-40
0
0
0
0
0
0
-7
0
0
0
0
0
0
-50
0
0
0
0
0
3
40
0
0
2
4
0
0
-133
0
0
0
0
15
0
-94
0
0
0
-5
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
-93
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
-3
0
0
10
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
6
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
5
8
-12
32
-6
-55
-17
0
0
0
0
0
0
0
2
28
-20
18
162
-2
-13
-58
78
-25
3
23
4
5
-1
20
0
-2
-99
0
-13
0
0
-5
0
0
5
-19
0
23
-159
-1
-2
64
-104
1
113
-3
-3
10
-2
68
2
-3
0
0
52
14
-24
34
-22
-1
-6
-201
-19
44
-20
-15
-64
-11
71
-53
-61
-7
18
35
-16
-15
-19
110
-8
-8
0
-4
-25
-118
-4
-53
-13
-7
0
-55
-7
7
0
21
-29
-1
31
-172
-230
-14
-7
-17
-82
0
-84
0
50
3
0
0
-1
-45
44
29
-5
2
-40
22
-77
10
-11
-9
2
19
60
2
-52
48
-19
0
0
17
93
-120
0
-4
-6
0
-12
-3
3
-61
-4
0
64
-46
114
-18
-51
-100
-1
-1
-84
-124
-42
0
-17
36
-157
-6
-6
0
-2
-11
81
2
0
-40
-31
33
-52
0
-3
7
-65
74
35
-11
0
-8
-3
118
59
48
25
28
67
60
-50
61
-6
-53
31
-41
43
-15
93
-24
-3
12
-6
14
-5
31
-1
-46
4
-3
15
-16
62
8
-85
-5
-1
-17
-56
65
0
2
18
-2
70
-22
46
10
-6
79
14
-2
-139
7
-4
-80
-14
18
27
-21
-14
41
-15
-12
80
-41
-70
17
-8
34
0
-45
1
-40
106
-16
81
9
64
56
-81
39
18
-57
8
-37
72
-33
-35
-1
24
16
27
18
-105
48
0
54
0
97
-57
-48
73
0
39
-28
-6
23
-99
89
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
-45
11
0
1
12
0
0
15
0
0
0
-115
0
3
0
0
0
12
-5
0
-28
0
0
3
0
0
0
0
0
9
79
0
12
0
-6
-45
41
0
0
-10
0
83
-48
0
0
0
102
0
41
-40
0
0
0
-199
0
-170
7
-41
-10
0
86
0
59
-41
18
0
0
-29
0
165
-17
0
0
0
-15
0
-118
0
0
0
0
28
0
2
0
0
-29
0
0
0
7
0
8
-16
-12
0
0
0
167
-3
0
0
7
0
0
94
56
0
115
44
0
0
67
1
0
0
13
0
0
-83
-202
0
0
-28
0
11
10
11
0
0
-19
0
0
-2
-50
0
-1
11
0
0
0
-61
0
0
43
0
-23
0
-1
126
-60
0
0
0
0
-4
-23
0
-11
0
0
0
-91
31
0
-27
0
-2
59
-9
0
0
-13
0
70
35
65
0
0
8
-45
3
62
56
0
0
3
0
-3
35
-98
0
0
-29
0
-7
-5
22
0
3
129
0
40
0
30
0
0
-39
0
69
0
-13
6
0
16
0
0
0
28
12
0
0
0
0
0
27
0
37
18
0
-1
-7
29
0
0
30
0
-4
41
96
0
-52
-155
0
8
3
57
0
0
-13
0
10
1
8
0
-42
38
0
0
0
75
0
0
-59
0
-10
0
58
0
-33
49
0
77
0
-66
-9
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
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
68
0
0
0
0
0
-80
0
0
0
0
0
-146
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
28
5
0
10
0
0
0
0
0
0
47
0
0
0
-3
0
0
81
0
0
0
0
0
0
-1
0
0
0
5
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
59
2
0
0
0
0
-6
89
0
0
0
0
0
-2
-17
0
3
-12
-3
0
-22
-148
0
0
-1
0
0
-4
-35
0
0
9
0
0
19
-52
0
0
0
0
0
0
-38
0
-11
8
0
0
0
-25
0
0
0
0
0
0
-31
-2
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
-73
0
0
0
0
0
0
66
0
0
-1
7
0
-18
76
0
0
4
0
0
0
30
0
0
-2
0
0
0
45
0
0
0
0
0
0
7
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
-10
0
0
1
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
5
0
0
0
23
0
0
0
0
0
0
96
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-15
-47
4
10
-29
-44
24
0
-2
-39
7
0
5
0
-3
11
0
-130
0
0
-3
0
0
0
0
0
1
-91
0
-3
-66
64
-6
-40
11
0
-72
0
-135
-95
-19
-13
6
-19
-3
-48
-57
-46
6
-9
9
-51
-22
-19
-26
40
0
-66
-52
9
75
14
5
-9
6
-47
-43
64
-9
6
0
-39
38
18
-9
-10
3
0
-27
24
15
0
0
-98
0
-3
-59
-21
11
-6
61
-111
4
80
0
-11
11
0
5
-12
31
-6
-26
22
-8
17
40
35
-110
23
-3
1
-12
-15
-106
97
-40
-12
-2
28
-18
-64
121
-17
3
9
-3
-13
104
7
-60
6
0
21
-23
-18
-90
-10
-8
0
0
-13
-79
-106
0
1
62
-13
0
-3
0
0
-4
-23
0
25
-24
-7
16
-52
-27
-16
-122
57
6
20
-11
0
0
-93
17
-49
147
-8
10
-1
-57
-95
64
46
12
26
-34
-24
-28
27
-110
-15
-22
62
-64
-6
4
36
0
-6
-17
39
105
7
-48
3
6
-2
19
12
-37
0
-1
-8
21
8
61
48
9
44
-34
0
1
-67
10
1
25
46
24
-54
27
-59
-41
-39
5
-66
67
-39
-48
0
-16
4
9
-39
-3
24
-32
-17
0
59
-15
13
-35
18
-32
-12
3
69
15
-74
-2
-37
3
24
64
-43
41
0
15
0
10
58
76
36
0
-20
21
-1
5
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
24
0
-6
3
-22
0
0
24
0
0
0
44
0
0
0
0
0
-3
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
6
0
0
0
0
0
-89
0
0
0
-3
0
0
-17
0
8
0
-6
0
-5
112
-13
0
0
52
5
0
-51
0
0
0
61
0
0
-11
0
0
0
-7
-2
3
1
35
0
0
4
0
-8
0
0
-3
0
0
0
3
0
-51
-15
0
0
-5
0
-10
-59
0
0
0
0
0
-96
1
0
-11
21
-26
0
148
0
0
0
-133
2
0
-7
-42
0
0
-14
8
0
6
-114
0
0
170
6
0
-1
9
0
-36
6
0
0
6
-53
0
0
-5
0
15
0
-11
0
0
1
0
0
0
32
0
0
0
0
0
-5
-47
0
0
0
2
0
-4
-1
0
7
-10
0
0
-20
0
0
0
40
52
0
12
28
0
0
75
6
0
-9
-20
-1
0
-17
-7
1
0
37
0
0
0
0
0
0
-16
0
0
12
8
18
0
16
0
0
0
0
0
0
18
0
0
0
-3
0
0
-9
0
0
0
0
0
0
-21
0
0
-8
9
0
0
0
0
-63
-5
2
0
0
-73
0
3
25
-7
0
0
-77
1
66
-3
0
0
0
16
0
-10
0
0
0
0
-38
0
-6
-2
0
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
-38
0
0
-2
-8
0
0
45
0
0
0
-27
0
0
0
0
0
43
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
26
7
-8
-6
2
0
0
0
0
0
-27
13
0
0
28
0
0
-11
0
0
0
-17
0
-4
-6
0
0
-1
136
0
4
-41
7
0
0
-11
0
18
2
0
0
0
0
0
55
0
0
0
0
0
0
0
0
57
0
-4
0
0
0
8
149
0
0
-1
0
0
63
2
0
31
44
0
0
-49
-37
0
-3
-22
0
0
-10
-37
0
0
18
0
0
-8
24
0
0
-13
0
0
0
98
0
-78
-13
0
0
0
-37
0
-9
13
0
15
0
18
0
0
0
0
0
0
10
0
0
-1
0
0
0
24
0
0
0
0
0
0
5
0
0
-3
0
0
9
54
0
0
-1
1
0
0
21
0
5
-11
-11
0
0
-50
0
0
4
0
0
0
55
0
0
0
0
2
0
7
0
0
1
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
4
0
0
0
0
30
0
-1
0
0
0
0
-75
0
44
0
0
0
0
-10
0
6
0
0
0
0
-11
0
12
0
0
0
0
-48
0
1
0
0
0
0
72
0
0
0
0
14
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
68
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
50
-2
0
1
0
0
-12
0
0
52
5
0
0
-7
0
-5
92
1
0
0
-11
0
-10
118
0
0
0
4
0
3
5
0
0
0
61
0
0
0
-18
0
0
-3
0
-9
0
0
9
0
0
0
0
1
-38
0
0
0
0
0
-38
73
0
0
4
0
0
39
31
0
70
-19
0
0
-26
17
0
0
-4
0
0
1
63
0
0
10
0
0
16
17
0
0
-13
0
0
0
-11
0
-35
0
0
0
0
-23
0
0
15
0
0
0
-42
0
-13
0
0
0
0
107
0
0
0
0
0
-20
31
0
0
0
0
3
0
-12
0
0
15
0
0
0
2
0
3
-1
-9
0
19
4
2
0
-8
4
0
0
-53
10
0
-8
0
0
0
-139
0
0
0
0
0
0
43
0
1
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
2
0
0
4
0
-55
0
11
-5
2
0
-4
-13
0
-5
-4
-9
0
0
-18
0
0
4
6
0
0
-7
0
-3
0
4
0
0
-11
0
0
0
0
0
0
-43
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
16
0
9
7
-1
0
0
-15
0
0
0
-37
0
0
0
0
0
-88
0
0
0
0
0
-85
0
0
0
0
0
0
-11
0
0
0
0
-22
-17
0
0
24
-22
0
71
0
0
0
11
0
21
15
6
3
0
52
5
-14
53
-14
0
0
-11
7
1
-170
71
0
13
-71
6
6
46
0
0
0
8
0
-47
3
0
0
0
0
0
-56
0
0
7
0
0
0
2
0
-41
-17
-5
0
0
0
-11
-98
0
0
11
0
0
-3
0
0
185
-1
23
0
-18
47
3
0
10
0
0
122
-35
0
-4
3
0
0
35
-29
0
0
-25
-10
0
-1
-46
1
-67
-22
0
0
0
-118
0
0
0
0
-25
0
105
-2
1
0
0
0
0
40
0
0
0
0
0
0
-121
0
1
0
0
0
1
-26
0
0
9
0
0
-18
31
0
6
-9
18
0
-6
66
-1
-8
36
0
0
0
-104
0
-9
-18
0
0
-4
32
0
0
0
0
0
0
114
0
0
0
7
15
0
51
0
0
0
0
-8
0
67
13
0
0
0
0
0
20
0
-70
0
0
0
-3
-27
0
11
0
-1
0
1
-81
0
-56
73
-12
0
3
-14
0
9
-8
-1
0
0
-22
0
-28
-2
0
0
0
16
0
-3
0
37
0
0
21
0
-3
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
-39
3
0
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
47
0
0
-1
0
0
45
0
0
0
0
0
0
-7
0
0
0
0
-7
-1
0
0
37
0
0
-65
0
0
0
11
0
0
15
-1
0
0
8
0
-2
-32
-1
0
0
-3
0
3
-11
0
0
0
34
0
0
-10
0
0
0
-47
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-39
-24
0
0
5
0
0
0
0
0
48
120
0
0
-11
96
0
0
-17
0
0
19
77
0
0
-12
0
0
0
-38
0
0
26
0
0
0
-10
0
71
6
0
0
0
-22
0
0
0
0
0
0
-11
0
0
0
0
0
0
-82
0
0
0
0
0
0
-44
0
0
0
0
0
0
-75
0
0
-43
0
0
0
-49
0
0
-9
0
0
0
-36
0
0
-117
0
0
0
-11
0
0
-16
0
0
0
-90
0
0
0
0
0
0
-67
0
0
-1
0
2
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
74
0
0
6
0
0
0
-64
0
0
2
0
0
0
2
0
0
189
0
0
0
61
0
-50
-7
0
0
0
-2
0
0
0
0
0
0
35
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
-75
0
0
0
0
0
0
18
0
0
0
7
0
0
0
0
0
-109
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
83
0
0
0
-11
-31
0
59
0
0
0
1
0
0
-19
0
0
0
77
0
0
125
0
0
0
-1
0
0
-19
0
0
0
-22
0
0
6
6
0
0
137
0
0
0
-2
0
0
10
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-41
0
0
-15
0
0
-6
0
0
15
92
-23
0
-43
60
0
0
-11
0
0
0
58
0
0
-48
0
0
0
72
0
0
66
0
0
-1
44
0
119
15
0
0
0
-74
0
0
-1
0
0
0
-67
0
0
0
0
0
0
91
0
0
0
0
0
0
-47
0
0
0
0
0
0
-44
0
0
-7
0
0
0
-51
0
0
-11
0
0
0
-31
0
0
-4
0
0
0
-74
0
0
-16
0
0
0
-54
0
0
-4
0
0
0
33
0
0
1
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
-1
0
0
0
0
-9
0
0
11
0
0
0
-145
0
53
-2
0
0
0
5
0
0
0
0
0
0
-163
0
13
22
0
0
0
-11
0
0
0
0
0
0
88
0
-11
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-111
-8
-5
-7
-5
-53
4
-3
15
-1
-75
12
-5
-4
0
0
27
-3
-14
-60
-29
-3
41
42
-125
-4
-19
20
-7
-29
6
33
8
-21
-22
4
-29
25
35
-13
58
-9
39
-17
-7
35
-118
-32
-3
4
-118
-93
36
-200
-53
-28
73
-1
-36
-7
-28
-4
-11
-49
7
-47
-21
5
-4
5
-2
91
-15
-46
-8
30
8
26
-134
20
57
-37
-6
-42
41
63
73
-7
34
6
3
16
-15
-86
91
3
2
124
18
-18
6
-9
-65
-3
22
-9
56
-6
101
-17
0
-89
-14
20
58
-162
60
-6
-57
19
-5
-65
10
-9
-6
0
3
35
11
1
11
6
13
1
47
-166
12
-1
-3
-37
-67
-13
25
-15
9
5
-52
-11
32
-45
-17
-70
-17
-57
53
32
27
39
-10
-10
-16
7
-34
10
35
-80
-50
86
68
-14
44
73
-23
-38
20
-139
-8
1
25
-160
-11
-23
-64
-45
-11
-135
42
-17
13
-21
0
74
-28
11
-14
-49
-1
-25
17
-13
-1
-5
27
56
145
-88
5
-13
-28
-29
0
-20
11
-17
-5
48
8
47
-42
-106
-38
-52
-31
19
-3
-55
37
6
26
34
-34
24
4
53
-27
-22
-14
-62
-115
72
81
15
89
2
-1
-14
77
-29
-23
-43
-43
33
-56
63
-42
-42
-6
-20
12
47
-3
63
49
2
-14
-52
43
44
-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
-76
0
0
0
0
0
-51
0
0
0
0
0
0
-14
0
0
0
0
1
0
0
0
12
6
-13
5
0
0
0
-1
0
0
37
1
0
0
57
-1
-18
35
-15
0
0
43
0
7
-67
0
1
0
-11
0
6
24
-15
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
0
86
-2
0
0
0
0
0
-14
0
0
0
0
0
3
-3
0
-29
-8
5
0
41
37
0
-2
-7
-2
0
-8
-41
0
0
-28
3
0
-33
0
0
0
-14
0
0
0
-49
0
14
-13
5
0
0
-77
0
0
5
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
5
28
-3
0
-9
-2
0
0
-73
0
0
3
0
0
2
29
0
0
12
-4
0
0
-33
0
0
43
-3
0
9
0
0
1
11
0
0
0
6
0
2
0
0
0
0
-40
0
0
9
0
0
0
-87
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
21
-4
0
0
6
197
0
-8
0
0
0
5
5
0
1
-7
0
0
0
63
0
3
-3
9
0
0
0
0
0
-16
1
0
0
-1
0
0
0
0
0
0
47
0
22
0
0
0
0
-1
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
-4
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
-121
0
0
0
0
0
0
-17
0
0
0
0
0
1
0
0
7
9
0
-27
0
0
0
-8
0
0
-17
18
0
0
69
0
-21
74
-17
0
0
17
0
0
-46
0
0
0
0
0
4
-14
0
0
0
22
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
-10
0
0
5
13
0
0
22
-53
0
0
6
0
0
4
28
0
0
-22
0
0
-11
49
0
0
-18
0
0
22
92
0
19
3
0
0
0
15
0
0
0
0
0
0
-21
0
1
0
0
0
0
-41
0
0
0
0
0
-8
-17
0
0
0
0
0
0
-82
0
0
0
0
0
-2
-2
0
0
7
0
0
13
-130
0
-2
38
0
0
0
54
0
0
-1
0
0
0
-145
0
0
0
0
0
0
65
0
0
0
0
-1
0
71
0
0
0
0
0
0
48
0
0
0
0
0
0
-15
0
-12
0
0
0
0
18
0
7
-2
0
0
0
8
0
-12
0
0
0
0
0
0
-4
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
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
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
-48
0
0
-2
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
35
0
0
0
5
-5
0
-99
0
0
0
-3
0
0
28
-4
0
0
-5
0
-5
-31
-15
0
0
-37
0
-6
-19
4
0
0
18
0
0
-2
34
0
0
0
0
11
0
0
0
0
0
0
59
0
0
1
0
0
0
0
0
53
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
81
-8
-14
0
46
63
0
0
17
0
0
70
-99
0
0
-13
0
0
41
54
0
0
28
0
0
0
-53
0
33
0
0
0
0
-43
0
0
4
0
0
0
-105
6
0
0
0
0
0
-40
0
0
0
0
0
0
5
0
0
-2
0
0
0
31
0
0
21
0
0
-28
74
0
0
-13
-3
0
0
-10
0
0
14
0
0
0
-21
4
0
11
9
0
0
-135
0
0
0
0
0
0
83
0
0
-1
0
0
0
-43
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
3
0
0
0
9
0
0
4
0
0
0
-15
0
0
0
0
0
0
84
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-9
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
21
65
15
-56
2
0
0
12
0
6
-17
9
-12
0
6
4
-1
-125
-7
0
-4
69
0
1
2
0
0
13
-26
0
0
0
0
0
0
53
0
0
0
-1
0
0
0
0
142
0
0
0
0
0
0
0
0
-56
-5
47
0
0
0
2
-42
0
0
-4
0
0
-18
-6
0
-65
13
-9
0
-13
12
0
0
-11
0
0
16
-48
0
0
11
-2
0
-2
-100
0
0
4
0
0
0
94
0
21
0
-19
0
0
-144
0
0
0
0
9
0
63
16
51
0
0
0
0
18
0
0
0
0
0
0
-107
0
0
0
0
0
0
13
0
-7
7
0
0
0
-141
0
0
-11
-12
0
1
-39
0
0
-3
39
0
-1
-20
0
-7
17
4
0
0
-43
0
0
0
0
0
0
183
0
-1
0
0
-8
0
-23
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
-4
0
0
0
1
-48
0
0
0
0
0
0
93
0
-1
0
0
0
0
-4
0
0
0
24
0
-8
-31
0
79
0
2
0
0
-24
0
0
0
0
0
0
-113
0
24
0
0
-8
0
-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
-15
0
0
0
55
0
0
0
0
0
-27
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
5
-80
0
0
0
0
0
0
-5
0
0
0
1
0
0
44
-13
0
0
-4
0
0
-11
0
0
0
-19
0
0
-5
0
0
0
-33
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
27
-59
0
0
-10
-91
0
0
3
0
0
2
-36
0
0
-3
0
0
3
-11
0
0
95
0
0
0
-8
0
-8
8
0
0
-12
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
-68
0
0
-8
0
0
0
59
0
0
-1
0
0
0
20
0
0
-25
0
0
0
-55
0
0
0
0
0
0
-42
0
0
-2
0
0
0
43
0
0
0
0
57
0
-23
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
0
0
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
87
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
-8
0
-95
0
0
0
2
0
0
-6
0
0
0
-1
0
0
-39
0
0
0
-14
0
0
86
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
-109
0
0
0
0
0
0
-92
0
0
0
0
0
5
-12
0
-13
20
35
0
6
117
0
0
-51
0
0
-17
-88
0
0
-14
0
0
0
30
0
0
-24
0
0
25
-58
0
-27
0
0
0
0
42
0
0
0
0
0
0
22
0
0
0
0
0
0
17
0
0
0
0
0
0
-33
0
0
6
0
0
0
-18
0
0
2
0
0
0
-10
0
0
-11
1
0
0
17
0
0
10
0
0
0
12
0
0
-5
0
0
0
22
0
-1
0
0
0
0
94
0
0
0
1
0
0
14
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
-3
0
0
0
0
18
0
0
7
6
0
0
-39
0
-2
0
0
0
0
1
0
-3
0
3
0
0
-8
0
2
0
0
0
0
45
0
0
0
0
0
0
-8
0
21
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
8
0
0
-164
0
0
0
0
0
0
7
0
0
0
0
73
0
0
0
30
-83
1
-25
-2
0
0
89
0
1
91
13
0
0
-21
5
-145
-133
112
-14
0
-17
35
-50
8
-9
1
0
-151
0
-23
-7
-1
10
-26
92
-2
6
3
40
-4
0
23
0
-323
0
-3
2
0
12
-1
-18
0
14
-4
-5
0
-23
0
29
-24
0
0
50
0
0
-71
52
0
75
-93
-9
0
-5
69
0
0
-97
0
0
2
-47
0
0
-43
0
-8
-9
7
0
0
-85
15
-20
57
33
0
-64
-17
12
27
0
-49
0
0
66
84
2
0
29
126
81
0
0
0
0
5
0
0
7
-2
0
0
71
0
-7
-74
27
-10
11
8
0
0
112
0
43
5
-151
-12
-6
57
-38
0
17
-100
-20
-1
-42
-8
-6
2
-46
-7
0
43
88
0
0
-15
-4
-1
42
69
-145
-9
-50
0
0
-6
-3
-137
0
18
0
0
0
19
-14
0
-54
0
0
0
0
0
0
-141
0
-66
-4
7
15
0
-12
0
-2
44
-4
0
0
48
10
69
-31
-15
0
0
33
-8
-8
-25
-19
0
-34
-84
9
-12
9
-23
3
0
-141
0
0
-23
0
33
0
-3
0
-8
0
0
-8
0
-219
4
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
-98
0
0
1
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
43
-7
-1
2
0
0
0
0
0
0
-26
0
0
0
14
-4
0
-11
0
0
0
-8
0
5
-18
3
0
-6
10
0
31
-47
0
0
8
-7
0
-3
0
1
0
0
2
0
-39
0
0
1
0
0
0
0
0
-25
0
0
0
0
0
0
68
0
0
0
0
0
7
-1
0
44
29
9
0
-54
-7
0
0
-20
0
0
5
-29
0
0
67
7
0
-3
166
0
0
4
0
0
-17
0
0
115
-103
0
0
13
-96
0
-6
5
0
0
0
101
0
0
0
0
0
0
-80
0
0
0
0
0
0
-122
0
0
0
0
0
0
-51
0
0
18
0
0
0
89
0
0
-17
-3
0
0
-1
0
0
-16
-2
1
0
19
0
5
-9
-37
0
-13
0
0
-2
1
0
0
0
50
0
1
0
0
-7
0
-23
1
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
16
0
0
0
0
-16
0
-7
9
0
0
0
-70
0
9
-2
0
0
0
-2
0
0
1
3
0
0
-42
0
6
0
0
0
0
0
0
15
0
0
0
0
-50
0
21
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
23
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-14
0
29
0
0
0
22
0
0
-9
0
0
0
-6
0
0
-4
1
0
0
0
0
-3
21
0
0
0
-15
0
-10
-19
0
0
0
0
0
13
0
0
0
0
0
0
124
0
0
0
0
0
0
0
0
-73
0
1
0
0
0
0
19
0
0
0
0
0
0
-10
0
24
5
16
0
-25
44
0
0
20
0
0
6
-17
0
0
0
0
0
1
-58
0
0
-12
0
0
0
-75
0
-2
0
0
0
0
-7
0
0
0
0
0
0
-61
0
0
0
0
0
0
94
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
17
0
0
0
-10
0
0
10
0
0
0
-20
0
0
-7
0
0
0
-46
0
0
0
0
5
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-4
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
-24
0
-4
0
0
0
0
-4
0
-3
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
1
0
0
0
0
0
-32
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
27
-46
0
0
0
2
0
0
0
11
0
0
0
0
0
115
13
0
0
-5
0
-2
10
0
0
0
-1
0
0
0
1
0
0
-4
0
0
0
1
0
0
0
0
28
0
0
0
0
0
0
0
0
-30
-2
0
0
0
0
0
-30
0
0
5
0
0
0
0
0
-1
-1
11
0
6
37
0
0
3
0
0
8
-65
0
0
-10
0
0
-16
-25
0
0
-4
0
0
0
-53
0
-6
8
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
39
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
6
0
0
0
-22
0
0
20
0
0
4
39
0
0
0
0
0
0
-26
0
7
0
0
0
8
54
0
0
0
0
0
0
-12
0
0
0
0
0
0
-39
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
11
0
0
0
-2
0
3
12
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
122
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-5
152
0
0
-1
0
0
0
0
-2
16
50
0
-3
119
-4
-62
-9
0
0
-3
-95
-37
-30
-27
1
0
28
95
21
-19
86
-3
0
-12
54
-132
-71
28
7
4
12
-16
-47
0
-87
0
6
-49
64
-201
-94
58
0
-10
-6
-150
-186
87
44
18
0
-2
102
-33
0
-9
-148
0
0
-67
-198
0
-11
-27
-86
-9
-176
0
-7
-48
0
0
61
-5
108
20
6
2
1
-10
9
-49
7
-40
-8
0
-2
130
-133
-44
-55
-1
40
170
40
110
76
1
0
0
42
-10
-1
-3
-1
0
-42
10
-27
0
-42
46
6
-12
0
135
-193
0
0
-110
-20
0
0
0
0
-10
-34
0
27
-44
33
75
2
-28
-10
-7
-25
-3
28
-49
-7
0
-27
30
45
54
-34
-31
7
46
-124
69
29
-9
66
-25
-54
81
-35
-29
-53
30
-29
107
36
-33
-24
26
-13
0
-4
113
45
-4
-79
-3
-13
-2
33
-79
0
6
-4
0
-1
-49
-75
2
55
-4
0
-4
57
-2
98
36
2
56
-46
100
69
-8
-10
1
23
-64
-24
-1
-22
-7
-49
68
-23
-62
39
32
34
4
49
124
-160
16
17
49
-12
54
-103
-68
79
0
122
-5
-8
10
-64
131
0
0
15
-47
-6
-62
-78
0
91
-65
-2
-2
-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
46
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-2
14
8
9
0
0
0
5
0
0
10
2
0
0
79
0
2
46
0
0
0
0
0
-23
3
0
0
0
-4
0
-2
-3
0
0
0
37
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
6
0
-28
0
0
0
0
0
0
-50
0
0
0
0
0
-7
34
0
42
11
0
0
-11
-9
0
0
1
0
0
0
-127
0
0
-4
0
0
0
-124
0
0
5
0
0
0
-58
0
-61
-12
0
10
0
-50
0
0
-7
0
0
0
61
17
0
0
0
0
0
-39
0
0
0
0
0
0
6
0
0
-11
0
4
-3
-38
0
0
41
0
0
-7
5
0
0
-4
0
1
6
30
0
0
-34
0
0
0
-17
0
0
34
0
0
18
-8
0
0
8
0
1
0
-78
0
0
1
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
-11
0
-1
0
0
0
45
11
0
-5
-6
0
0
0
-35
0
-4
-10
0
0
0
63
0
0
0
0
0
0
37
0
13
-6
0
0
0
-8
0
0
4
0
0
0
34
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
78
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
3
-5
0
40
0
0
0
0
0
0
25
0
0
0
-8
0
0
-11
0
0
0
-15
0
0
-72
0
0
0
-12
0
0
-9
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
-50
0
0
0
0
0
-2
-20
0
33
-11
19
0
-27
58
0
0
41
0
0
-17
13
0
0
-1
0
0
-7
-50
0
0
40
0
0
0
-21
0
-44
-3
0
0
0
103
0
0
1
0
0
0
31
0
-5
0
0
0
0
-56
0
0
0
0
0
0
-18
0
0
0
0
0
0
29
0
0
6
0
0
4
-2
0
0
-9
5
0
7
-111
0
0
-10
-1
0
0
94
0
0
-2
0
0
0
33
0
-4
19
0
0
0
-50
0
0
0
0
0
0
-19
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
3
2
0
0
0
0
21
0
0
0
-1
0
0
-38
0
-5
0
0
0
0
18
0
0
0
0
0
0
-36
0
4
-21
0
0
0
-16
0
0
3
0
0
0
-94
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
28
0
0
0
0
0
0
-12
0
0
0
4
0
0
-10
6
0
0
12
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
-25
0
0
0
0
0
47
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
3
0
0
0
-41
0
0
0
0
0
0
32
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
8
0
0
0
0
0
0
2
0
0
0
39
-13
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
-7
0
0
0
29
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
26
0
0
0
0
-35
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
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
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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
3
0
78
0
0
0
0
0
0
-41
0
0
0
45
0
-6
-21
0
0
0
0
0
0
-23
0
0
0
-10
0
0
57
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-23
3
5
0
22
96
0
0
-2
0
0
0
-81
0
0
-31
-2
0
0
55
0
0
-1
0
0
0
-5
0
-52
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
59
0
0
0
0
0
0
-19
0
0
0
0
0
0
-75
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
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
-3
0
-38
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
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
35
0
0
0
0
-1
0
0
0
41
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
2
12
0
0
0
7
0
0
-1
0
0
0
-3
0
0
-5
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
-9
0
0
0
0
0
0
0
0
-21
0
0
0
3
109
0
0
0
0
0
4
-30
0
0
0
0
0
0
37
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
17
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
4
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
-11
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
6
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
12
-8
-1
0
6
-3
11
32
13
-19
-31
-136
-60
20
-31
52
-1
21
-14
0
-15
1
15
38
41
-24
-2
-5
-58
67
-2
-22
-8
-19
2
-4
32
56
-27
-4
-51
-2
-37
54
-22
69
-25
117
-5
9
-53
34
12
-21
-12
-14
-24
-33
21
-4
-7
27
3
-4
48
-115
-10
-23
31
22
19
-4
96
-22
48
-6
-14
-31
3
10
29
-57
72
10
-17
-4
21
6
14
-6
-30
-8
-8
9
-38
-4
-88
-20
33
-5
-44
8
8
-57
107
-42
0
58
45
-11
178
-73
-141
-6
-4
16
60
28
-34
-37
-7
-51
39
-10
32
-56
3
-2
13
0
-3
23
-3
-25
1
5
-6
63
19
43
-13
-3
59
0
7
-23
17
-18
-3
-58
-12
18
-57
15
-58
-8
-11
-43
24
26
-44
-35
-5
-21
-50
10
-27
-8
22
-11
-64
-5
2
-1
17
-93
-6
-8
-47
-4
19
11
-17
-12
-1
-26
-36
7
16
-1
-2
41
25
-103
-8
-73
8
12
-29
98
-22
-27
-49
-24
-7
76
-13
60
14
-91
21
-19
26
39
33
55
65
41
-27
56
20
-11
82
24
19
6
47
21
-7
-5
10
-40
-50
-64
9
-128
71
-18
-106
42
-31
50
-21
-7
-106
40
4
35
38
-74
27
-36
-19
-4
32
59
-40
-28
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
58
0
0
0
11
0
0
0
0
0
0
85
0
0
-27
1
0
0
-14
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
8
0
0
0
1
0
-101
0
0
0
0
0
0
2
0
0
0
0
0
0
20
0
-17
-3
-2
0
-4
53
0
0
-2
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
72
0
-77
0
0
0
0
14
0
0
0
0
0
0
3
0
11
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
-98
0
0
0
0
0
0
27
0
0
0
0
0
0
10
0
0
-1
0
0
0
3
0
0
0
1
0
0
11
0
0
0
0
0
0
-12
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
4
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
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
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-7
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
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
-2
0
0
-1
0
0
0
0
0
-10
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
8
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
-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
-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
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
19
0
62
5
0
0
149
-105
0
-18
0
0
0
-5
0
0
-71
-13
4
-1
-10
-53
0
101
85
0
0
17
0
0
-73
19
0
2
-99
-4
0
-118
-14
0
0
-127
-4
0
20
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
-37
-28
-9
0
-17
0
33
24
0
0
96
0
0
-32
-50
0
17
45
-12
0
92
46
0
1
5
0
0
-43
-13
0
-2
-18
-15
0
-8
105
2
0
54
-16
0
-7
50
0
29
38
-1
0
-2
-26
21
0
0
0
0
0
12
-12
10
0
-1
0
0
41
0
0
0
0
0
5
5
0
10
15
5
0
26
-23
0
0
175
-2
0
-6
-14
4
0
95
-36
0
0
-7
0
0
-22
-17
0
1
35
0
-2
-112
-33
0
0
-2
0
-3
-39
0
0
0
15
0
0
-2
-13
0
0
26
-21
0
0
0
0
0
29
12
0
0
9
0
-2
45
0
11
6
0
0
-4
-7
0
0
-8
-65
0
8
-11
0
55
-1
0
0
0
-93
0
-4
-10
-1
0
0
-35
0
-6
-62
0
0
0
27
5
-4
14
41
0
0
82
0
-74
0
0
0
0
63
-7
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
14
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
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
9
0
0
0
0
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
-6
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
-7
0
0
0
0
0
0
-11
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
-6
0
0
0
0
0
0
-3
0
-3
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
-11
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
63
-62
-33
18
10
-49
10
-4
-13
-4
3
-6
6
-2
10
-22
7
-21
-6
-12
2
102
-34
-7
29
2
1
-10
23
-72
-1
54
-6
37
-36
-81
31
-15
-50
9
15
-163
-60
-65
-10
-14
17
112
-32
-22
-51
-19
-23
8
52
64
37
-12
-43
100
37
70
0
-42
120
21
21
-28
-58
9
63
-38
-18
92
-125
7
3
-80
15
3
0
25
7
1
-38
-42
2
58
0
-12
0
-18
8
20
-1
0
-1
-2
-100
-49
5
-31
-32
90
-2
-39
-6
28
-14
-52
-67
-2
28
75
-8
-69
-10
2
-3
29
69
-48
17
-44
-12
5
-40
-103
-46
13
-4
49
-52
-87
-53
54
28
-42
-3
0
-122
-10
13
57
-14
-15
-3
-43
-50
8
-37
-13
3
-8
-37
-2
3
-7
6
38
5
-43
-76
-4
25
-28
-23
-5
60
-15
6
70
3
6
-9
-105
-26
7
-24
6
-10
8
8
-16
-87
-30
34
10
23
1
-134
26
1
-6
-64
-19
13
-23
-15
-36
-4
4
6
-29
-21
-74
77
97
8
-25
-44
-12
-23
-80
-37
-70
-5
10
7
10
-42
-15
-56
-2
30
-3
39
14
78
3
-26
-17
17
-29
5
15
103
5
4
10
35
19
7
-41
11
-34
-15
10
-39
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
2
0
0
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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-16
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
21
7
0
0
4
18
0
0
4
0
0
0
10
0
0
0
0
0
0
-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
40
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
33
0
0
0
-13
0
7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-114
0
0
2
0
0
0
16
0
20
-16
2
0
4
-8
0
0
2
0
0
2
66
0
0
0
0
0
0
99
0
0
6
0
0
0
-80
0
1
0
0
0
0
8
0
0
0
0
0
0
34
0
0
0
0
0
0
41
0
0
0
0
0
0
-12
0
0
0
-6
0
0
19
0
0
0
0
0
10
8
0
0
4
0
0
0
13
0
0
-14
0
0
0
-29
0
0
18
6
0
0
58
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
13
0
0
0
0
-17
0
0
0
0
0
0
17
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-91
20
0
-22
0
0
0
-13
0
0
-64
0
0
0
8
0
0
25
0
0
0
-10
0
3
-7
0
0
0
-2
0
0
-23
0
0
0
-21
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
30
0
0
-2
0
0
10
8
0
78
24
26
0
36
88
0
0
26
0
0
2
-44
0
0
-13
0
0
19
26
0
0
-1
0
0
0
15
0
-22
0
0
0
0
-9
0
0
0
0
0
0
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
3
75
0
0
0
0
0
0
-12
0
0
23
-1
0
0
-106
0
0
4
0
0
0
46
0
0
12
0
0
0
-60
0
0
0
0
10
0
-12
0
0
0
0
12
0
-149
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
-42
-30
0
0
-5
0
0
0
16
0
0
0
0
0
0
54
0
0
0
0
0
0
-14
0
-7
3
0
0
0
6
0
0
0
0
0
0
-49
0
-1
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
-177
1
0
0
-69
-186
-127
-47
1
0
0
33
0
115
205
10
0
0
7
62
38
50
7
0
0
-45
0
41
-11
-5
0
0
-95
0
-30
-27
0
0
0
-89
-2
31
0
0
0
0
28
0
-40
0
11
-1
0
0
0
-3
0
-195
0
-4
0
-14
0
-20
-39
0
0
-66
0
0
41
-62
0
-25
27
-44
0
7
-29
0
0
49
-1
-3
-9
82
0
0
40
-13
0
-14
72
11
-2
-169
-13
0
0
-33
0
-26
72
0
0
-7
-8
0
0
-3
0
-4
0
-17
-1
-5
0
0
0
0
-87
0
0
0
3
0
0
133
0
5
1
7
-5
-3
21
0
0
-34
1
-1
6
-36
0
0
-6
-50
12
14
96
0
0
19
17
0
0
81
0
0
64
-6
-4
0
-4
2
1
-54
0
-132
0
-104
0
5
-2
0
-11
0
7
0
0
0
0
0
0
55
0
0
0
0
0
0
-94
0
-28
1
0
5
0
49
0
0
6
-3
0
-1
-127
0
15
21
0
0
0
-15
0
-12
-56
3
0
0
-77
0
-27
-5
0
0
0
109
0
0
11
-11
0
0
-4
0
-2
0
0
15
0
19
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
-9
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
-1
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
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
-25
0
0
0
0
0
0
-7
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
14
0
88
0
0
0
0
0
0
-6
0
0
0
0
7
0
82
0
0
0
0
0
6
8
0
0
0
-1
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
-112
0
0
0
0
0
2
5
0
2
-6
1
0
1
20
0
0
1
0
0
0
53
0
0
-5
3
0
0
133
0
0
-25
0
0
0
-74
0
12
-2
0
0
0
-5
0
0
0
0
3
0
7
0
0
0
0
0
0
30
0
0
0
0
0
0
7
0
0
0
0
0
0
129
0
0
0
0
0
0
-14
0
0
-3
0
0
0
12
0
0
11
0
0
0
1
0
0
-4
-23
0
0
-36
0
0
0
0
0
0
-7
0
0
0
0
-5
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-9
0
0
0
0
0
0
5
0
-15
-22
0
0
0
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
116
0
0
0
0
0
0
0
0
21
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-12
-149
0
0
0
-4
0
41
14
0
0
0
-22
0
5
-44
0
0
0
0
0
-3
-5
0
0
0
-5
0
-11
1
0
0
0
-45
0
0
0
17
0
0
0
0
35
0
0
0
0
0
0
0
0
72
0
0
0
0
0
-6
-39
0
0
0
0
0
15
-39
0
-1
-84
14
0
13
35
0
0
1
0
0
0
-1
0
0
-5
0
0
0
-107
0
0
-38
0
0
0
61
0
82
4
0
0
0
-35
0
0
0
0
-11
0
39
0
0
0
0
0
0
-52
0
0
0
0
0
0
-32
0
0
47
-11
-7
-1
-182
0
0
2
0
0
0
4
0
0
39
-1
0
0
-38
0
0
-34
0
0
0
10
0
0
-27
0
0
0
-117
0
0
0
0
0
0
-1
0
0
-1
0
-2
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-63
0
0
-26
0
0
0
32
0
0
0
0
0
0
-3
0
0
-3
2
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
36
0
-21
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
43
0
0
68
0
0
0
14
0
0
12
0
0
0
-15
0
0
7
-22
0
0
-37
0
0
133
0
0
0
-11
0
0
37
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
59
0
0
0
-7
0
7
-4
0
0
0
0
0
-2
0
0
-83
-58
-308
0
-48
9
0
0
20
0
0
10
-91
0
0
-1
0
0
3
54
0
0
167
0
0
0
-2
0
-49
-5
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
-92
0
0
0
0
0
0
40
0
0
0
13
0
0
-19
0
0
-4
0
0
0
-56
0
0
-15
-2
0
0
87
0
0
-38
0
0
-2
0
0
0
-1
0
0
0
77
0
0
-4
0
0
0
-63
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
-82
0
19
11
0
0
0
40
0
0
7
0
0
0
-36
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
-2
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-2
86
24
78
-19
0
-44
55
-46
35
-57
-9
0
155
10
-79
126
-1
0
0
75
7
-77
-69
4
0
0
-26
53
13
-4
35
-5
0
-29
-1
32
0
0
2
0
0
-6
9
0
-9
-35
116
43
27
0
0
1
0
0
-73
-8
0
1
-14
0
-21
-97
-245
0
-45
-116
3
0
66
3
0
33
102
0
0
58
-147
0
-12
33
0
7
4
1
0
13
0
0
-65
67
-17
0
0
-70
0
0
12
1
-34
0
29
69
44
0
0
-39
0
-22
0
0
0
26
0
0
-2
0
0
10
-46
0
14
-24
0
6
25
10
30
35
-124
0
19
48
242
-55
7
18
0
8
-33
-66
80
0
44
0
-5
49
-68
-28
-9
15
21
0
89
-2
-45
0
-31
-18
0
17
-7
25
0
21
-8
0
0
-1
-5
0
-10
0
0
0
-1
0
0
-209
0
84
21
4
-8
1
0
-5
7
57
-12
-2
3
103
0
-8
7
23
15
0
17
0
-22
24
-95
0
0
93
0
39
33
-5
29
1
-9
0
0
-59
-5
-29
0
171
0
-3
10
0
1
0
26
60
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
-68
28
0
0
-14
0
-56
-32
-5
0
0
91
73
77
16
32
7
0
8
4
-63
-62
-6
0
0
102
-1
37
-29
0
0
0
44
0
36
0
-11
0
0
22
0
-11
0
0
-3
0
0
0
27
0
77
13
5
-5
0
0
7
0
0
7
49
-13
0
-161
-71
0
-85
-37
-57
0
55
33
0
0
14
15
1
-36
0
21
0
-47
8
-2
-37
-4
-3
0
-27
0
0
-1
-101
0
22
2
-3
0
0
2
0
0
-6
0
71
0
-4
-6
0
0
0
0
0
-69
1
0
0
0
0
-3
0
0
0
11
34
-32
-14
-70
0
0
-5
-1
0
0
38
0
0
6
72
0
-32
-25
0
-12
-72
-70
-12
-1
15
-1
4
7
-102
-2
0
-4
0
5
20
0
0
0
102
0
6
-4
-8
96
0
-44
0
-3
0
11
0
0
-160
0
0
19
11
0
0
0
-23
-3
-2
-6
0
0
-34
0
0
60
0
0
14
-104
0
-34
-23
-12
0
0
-89
0
26
7
35
0
0
105
0
14
-24
-8
-3
0
-102
5
-2
0
11
0
0
-63
0
-50
2
0
-69
0
57
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
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
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
-10
0
0
10
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
12
0
0
0
34
0
0
0
0
0
0
6
-1
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
13
0
0
-17
0
0
5
0
0
0
-1
0
0
15
0
0
0
42
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
9
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
-48
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-11
0
0
0
0
22
0
0
0
0
0
0
-2
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
21
0
0
0
0
0
0
17
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
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
-2
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
-129
4
80
-22
-4
-25
62
-31
4
56
69
-10
39
-14
15
-1
134
-9
18
4
35
71
-8
-6
-30
12
13
-105
123
-3
66
-9
0
-128
23
105
-6
11
168
-3
-18
32
46
3
20
-76
-194
0
-17
0
-32
-62
0
0
102
-7
-26
-172
42
-7
-58
127
23
-14
43
25
22
0
124
69
-13
-13
46
0
1
62
43
-21
-25
21
1
14
76
-63
32
-29
-9
0
-28
19
25
47
-23
-59
0
-2
-78
-94
68
0
-14
82
-55
0
7
0
0
-46
5
0
0
4
-2
-44
-45
0
-3
0
76
-50
-60
-9
0
-5
59
79
31
-52
49
-2
-11
29
-16
87
111
-32
116
9
71
8
-78
-27
-17
7
36
71
-64
-16
-2
-25
-12
-51
-43
-101
72
-12
-29
-5
-40
-119
-64
44
0
14
13
0
-29
-95
-4
-3
-46
10
-1
-2
2
-4
-4
-34
-3
-137
0
111
69
-94
-51
-4
58
4
-104
-84
-25
-5
1
-28
-58
9
22
-3
-58
0
-18
-13
6
79
0
-63
0
-99
29
21
-28
0
-94
3
-6
24
-12
61
11
23
0
-6
-2
-122
130
0
39
-139
-5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-52
0
51
-58
0
0
0
-2
0
13
20
-40
-1
0
-120
0
-1
21
-23
24
0
43
0
30
-7
29
0
0
-98
0
-4
-160
-122
0
0
-39
-1
-10
0
21
-236
0
-4
0
-302
3
9
-173
-107
-19
0
0
39
28
0
0
77
0
0
22
-46
0
-54
-9
0
27
47
-12
0
0
57
0
-65
-76
-30
0
0
11
0
-63
119
1
0
0
73
0
6
-6
1
0
19
95
0
-8
-39
-155
0
0
-28
0
-57
0
2
-133
-12
-2
0
0
0
-21
-68
0
0
26
120
130
-4
0
0
-119
0
76
117
8
0
0
30
0
20
52
-8
0
0
-74
18
-13
113
57
-12
-5
111
60
15
-93
-44
0
-5
43
54
-1
3
-4
0
-4
149
34
46
6
-86
0
0
30
0
0
0
-14
25
0
105
0
2
0
-14
-14
0
0
0
4
0
14
0
-13
5
0
41
0
78
0
6
-117
0
5
8
142
-2
32
55
-27
18
-27
59
-10
-15
-40
33
75
0
-1
12
31
-25
0
9
0
22
0
2
30
1
-16
0
-49
0
27
-28
0
-32
0
17
25
16
106
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-150
-4
0
-24
0
0
0
94
128
0
19
75
0
0
-35
-2
0
92
1
0
0
-59
-6
0
70
-17
0
0
150
-71
0
-11
-37
0
0
5
-6
-23
0
0
-38
0
0
-8
0
0
1
15
3
0
-22
0
-138
-39
0
0
29
-17
0
7
-23
0
57
62
92
0
0
92
0
0
68
2
0
113
-1
0
0
-15
54
0
63
9
0
0
11
24
0
-2
68
0
-141
24
-12
0
-32
16
0
0
188
-7
0
0
-3
-6
19
0
0
0
0
-48
0
0
59
-6
0
34
-20
0
12
-69
21
0
-4
-3
0
0
34
-48
0
-27
79
0
4
-18
143
0
17
32
0
0
16
124
0
4
-2
6
8
-60
14
0
146
28
0
0
104
210
0
16
60
0
0
-105
-5
0
0
-26
-14
0
-3
49
0
4
7
19
11
0
59
0
19
-34
0
-19
13
-9
0
9
-114
0
-21
-73
86
0
0
-18
0
91
-29
-3
0
0
-131
0
-7
-113
64
0
0
-71
0
-50
156
-3
0
0
-146
0
0
-25
-38
0
2
108
0
-71
-14
0
0
0
25
-3
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
-126
-150
-16
-81
1
-11
-146
-15
-9
25
-45
62
-79
-21
21
-39
11
-63
-10
-16
-69
28
-24
-14
8
-26
50
58
34
29
53
-2
-141
14
35
2
-37
47
35
-38
105
-30
-3
10
-150
-26
35
-2
0
-25
12
-9
34
39
-87
11
-24
29
3
33
10
-21
5
-6
10
18
52
-17
-21
-48
25
-6
-59
-3
3
-51
-3
-41
-4
-86
11
-14
-64
-117
-82
-6
19
-15
-43
-1
-44
-104
-16
82
-13
-95
-46
-17
-2
-2
-3
3
8
51
21
-4
21
-10
2
35
-41
-15
-21
-38
-50
-19
28
113
-146
-62
25
-12
29
41
-2
-43
20
-6
-119
-12
17
70
20
0
-9
79
67
-4
15
78
-32
-8
34
-28
-37
22
10
-185
0
-147
-21
6
-21
8
7
-1
-4
-73
-82
-33
15
-1
-6
51
-36
27
-32
-26
1
-47
-37
-1
8
-49
-14
-11
-73
31
107
0
62
-84
56
-15
-7
49
48
-8
-58
-74
-7
3
53
-1
1
62
-56
-25
-1
-88
60
77
93
14
11
10
-16
33
-106
-10
-32
-22
5
-29
-19
-39
44
-5
-3
-2
2
28
-79
-17
-3
-36
6
-25
-94
104
-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
98
-8
0
0
0
-1
-10
24
-10
0
0
-61
7
-2
83
-3
0
0
61
0
0
4
13
0
0
48
0
-2
0
-16
0
0
0
0
-31
0
0
0
0
0
0
-1
0
5
0
0
0
13
0
0
-2
0
0
0
0
0
36
0
0
-28
32
0
0
0
10
0
2
1
0
0
-3
-5
0
0
-3
-2
0
4
7
0
0
15
0
0
0
0
0
5
-29
0
0
0
32
0
0
0
0
0
0
97
0
-15
0
0
0
0
-11
0
0
0
0
0
0
70
0
0
0
0
-2
-17
0
0
0
19
0
-7
31
4
0
0
77
-8
25
11
-64
2
0
-14
4
3
0
-30
0
4
-55
0
0
-13
23
0
0
-2
0
0
0
27
0
-3
0
5
13
0
8
0
0
0
0
0
0
-26
4
0
6
0
0
0
-9
0
-11
0
0
0
11
0
0
0
-1
-13
0
0
-27
0
0
15
0
0
0
-73
0
10
22
0
0
0
17
0
9
-16
0
0
0
-11
0
0
0
0
0
0
18
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
2
0
0
0
0
0
0
122
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
6
0
0
0
-18
-25
0
0
0
0
0
0
13
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
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
-17
0
0
0
0
0
-2
0
0
0
0
0
0
0
-11
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
5
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
-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
-1
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
-6
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
-7
0
0
0
-4
0
-14
-6
0
0
0
0
0
0
0
0
0
0
-44
1
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
4
0
0
0
6
0
0
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
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
-4
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
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
-1
-5
4
2
8
47
29
21
125
-1
-3
33
-5
-151
-49
12
0
0
-13
-43
-42
-48
0
0
0
29
-18
-17
0
-12
0
0
-90
0
-97
0
0
1
0
0
-2
73
-1
15
13
57
0
-43
0
-55
45
-2
0
0
0
0
-6
-104
0
-98
-55
-117
0
-4
-92
0
10
-17
12
-110
-37
5
0
0
30
178
50
32
-3
-13
-13
-23
1
0
-14
-14
0
12
6
48
0
0
-3
0
10
33
-3
-114
0
-37
-34
-12
0
0
0
0
42
2
0
0
0
0
-17
24
-2
0
0
-76
117
-19
7
0
0
-11
9
-40
40
-2
-2
-11
18
52
148
86
5
0
-2
-16
-2
-27
14
15
16
1
-51
193
49
94
-19
0
0
-63
26
-71
-9
-91
20
38
34
-53
150
0
-40
-10
0
0
-5
-15
1
61
6
0
0
41
0
0
125
-2
82
0
-58
2
-55
-52
0
17
-1
-4
0
72
-31
0
-59
-24
-10
-7
-18
-24
0
-20
70
-116
0
0
72
0
-85
18
1
-14
0
12
0
0
52
131
9
0
34
0
30
-16
0
70
-14
-26
33
3
-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
28
13
0
0
-43
0
-52
-38
0
0
0
1
0
-2
-55
0
0
0
40
0
0
-21
0
0
0
31
0
0
0
0
0
0
0
0
-88
0
0
12
0
0
0
0
0
63
0
40
0
0
0
-5
-27
0
0
0
0
0
21
0
0
47
9
0
0
-6
-70
0
0
0
0
0
0
-1
0
0
13
0
0
1
16
0
0
-48
0
0
0
43
0
-13
14
0
0
0
-55
0
0
25
0
0
0
-49
0
0
0
0
0
0
-49
0
0
0
0
0
0
109
0
0
51
0
0
0
-53
0
0
1
0
0
0
35
0
0
27
0
0
0
-6
0
0
-2
0
0
0
28
0
0
-14
0
0
0
32
0
0
5
0
0
0
-7
0
0
-2
0
5
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
12
0
0
0
73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
111
81
0
81
0
0
-2
-7
0
0
121
0
0
0
-132
0
0
64
0
0
0
109
0
0
0
0
0
0
52
0
-7
0
0
-43
0
0
0
0
0
1
1
-8
0
75
0
55
124
0
0
52
4
0
-228
-124
0
-171
-296
60
0
-47
-17
0
0
-85
3
0
46
12
0
0
104
-2
0
-86
-18
0
0
20
0
0
-20
-15
0
-106
48
14
0
-16
-18
0
0
167
0
0
0
-10
-3
-15
0
0
0
0
22
0
0
-6
0
0
0
113
0
0
-50
43
0
-39
-105
0
0
-196
0
-14
-43
22
0
0
0
-1
0
-15
-10
0
0
54
-35
0
15
68
0
0
77
93
0
0
25
0
0
-37
13
0
0
-8
0
0
-7
0
0
0
-38
0
0
0
0
0
0
11
0
0
0
2
0
0
68
0
19
-23
-11
0
-9
-69
0
-6
-22
-4
0
0
-129
0
-36
-38
40
0
0
-34
0
7
-45
-21
0
0
-48
0
13
-35
50
0
0
63
0
0
8
-5
0
0
-3
0
-53
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
1
9
47
40
-48
-31
47
0
-6
-27
3
86
95
162
2
11
-45
24
3
-3
3
-8
-2
-96
1
-45
0
5
68
0
0
54
57
0
-25
-15
128
-13
-59
0
-7
34
0
0
22
12
14
-75
-47
-2
25
-10
-2
-11
62
30
14
16
45
6
-7
51
-75
0
5
3
12
-6
-88
-28
0
-3
1
58
23
39
11
0
-91
6
-80
4
-4
-37
-3
0
-157
-6
-53
0
6
44
161
0
0
0
0
-22
124
0
-26
0
0
39
-8
0
-15
13
55
-79
122
24
4
6
7
84
-107
-1
-13
13
-95
11
5
32
63
-1
116
-10
-24
19
58
31
-2
-9
87
-20
128
149
0
-6
2
209
-38
-6
-23
20
-48
11
-6
-49
-85
-99
0
-16
3
0
2
-11
2
2
-41
-14
0
-2
60
0
0
22
-8
43
-13
-8
83
3
2
-7
44
52
-38
10
-1
14
0
151
-153
12
-19
3
32
12
46
-64
-55
-2
2
60
0
105
-3
77
149
-9
-15
6
-17
26
62
-5
0
24
4
65
-4
0
-39
6
1
-30
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
-25
43
0
0
-26
0
-65
-14
3
0
27
85
0
-11
52
-2
0
0
55
0
14
0
-16
0
0
3
16
-32
0
0
0
0
0
0
35
0
-24
-18
5
0
0
0
-16
83
0
0
0
0
0
-52
43
0
-7
-14
-9
0
-89
0
-3
-18
59
0
0
36
-14
0
0
-6
0
2
37
-14
0
-9
30
0
0
0
63
0
52
5
-4
0
0
-93
0
0
2
0
7
0
6
6
0
0
0
0
0
-27
2
0
-1
0
0
0
-103
0
0
8
15
0
-1
-81
0
0
11
0
0
12
0
0
-1
46
-8
0
7
-18
0
5
-15
0
0
-4
-2
0
0
26
1
2
0
-13
3
0
18
0
-4
0
-46
0
0
-7
0
-57
0
27
2
0
0
0
0
0
12
7
0
0
0
0
0
-53
0
11
0
0
0
-8
16
0
-20
-9
0
0
2
0
0
-10
-6
0
0
7
-155
0
16
-27
13
0
0
0
0
-10
5
0
0
0
24
0
3
0
6
-2
0
19
0
4
0
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
0
0
0
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
-6
0
0
-5
0
0
-3
0
0
0
16
0
1
-7
0
0
0
12
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
45
0
0
0
0
0
-18
0
0
38
27
0
0
-3
-47
0
0
-23
0
0
-16
-66
0
0
0
2
0
4
-17
0
0
3
0
0
0
-20
0
7
0
0
0
0
-17
0
0
-2
0
7
0
109
6
-1
0
0
0
0
28
0
0
0
0
0
0
-16
0
1
0
0
0
2
81
0
0
0
0
0
-6
-9
0
0
-10
0
0
0
-48
0
0
0
0
0
0
-22
0
0
-12
0
0
0
24
0
0
16
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-20
0
0
5
0
0
-1
-5
0
1
0
0
0
0
15
0
11
0
0
0
0
-5
0
7
0
0
0
0
0
0
6
0
0
0
0
47
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
82
0
0
0
0
0
0
-5
0
0
0
-1
0
4
0
0
0
0
-8
0
0
0
0
0
0
10
0
6
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
-68
0
0
9
0
0
0
0
0
-2
-2
0
0
0
93
0
0
-22
0
0
0
32
0
0
0
0
0
0
-28
0
0
0
0
0
0
35
0
12
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
74
0
0
0
0
0
0
-3
0
0
0
0
0
0
-85
0
0
34
0
0
0
-17
0
0
1
0
0
0
-22
0
0
-1
0
0
0
36
0
0
0
0
0
0
3
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
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
18
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
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
-4
15
39
14
37
-32
-16
1
20
-2
12
-3
115
11
12
-66
0
0
22
-157
39
5
61
1
0
-103
-2
-9
2
-11
24
0
0
62
32
-7
0
15
29
0
8
0
164
20
0
0
0
24
-14
-5
-61
17
8
-32
-5
0
10
-4
5
-1
-7
4
50
-174
-3
10
-7
-59
5
-27
-32
-9
0
0
46
-7
-48
-95
1
0
23
-10
50
10
19
101
25
8
-8
-41
9
0
-6
29
-74
-2
-2
6
0
-10
-127
0
7
-6
-37
47
23
0
0
-18
17
43
58
5
0
5
54
-11
-1
-38
-41
-9
-1
22
-91
-44
52
-5
-28
-31
12
11
44
65
-8
-10
0
-1
-28
27
81
-20
4
54
10
46
-59
-4
23
0
0
48
34
-73
0
-10
15
6
48
34
11
0
15
-15
0
0
-127
0
-8
-34
2
3
14
-10
-49
1
-46
6
75
26
12
111
8
-43
-45
-86
107
26
14
4
-8
-3
-12
-36
-25
6
12
-4
-4
34
79
-52
-45
0
-76
2
32
-8
-7
-52
0
46
0
12
24
-10
48
0
2
-125
-6
58
58
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
-50
-53
-8
0
0
-13
0
24
-32
8
0
0
-20
0
3
0
-16
0
0
-11
0
-29
0
0
-29
0
0
0
-28
0
65
4
-9
0
0
0
-12
16
0
0
163
0
0
170
6
0
90
83
0
0
34
-61
0
0
-23
0
2
17
-50
0
0
37
0
0
109
-12
0
0
-17
0
7
0
29
0
48
58
0
0
0
-119
0
0
-7
0
138
0
-2
-4
17
0
0
0
0
-75
0
0
0
0
0
0
33
0
0
0
0
-28
104
-12
0
0
4
0
-3
-20
3
10
0
58
0
0
-16
39
0
0
-27
0
-7
-28
-56
0
0
68
0
1
18
-11
0
9
166
0
1
10
-84
0
-3
22
0
61
0
-43
0
0
-1
0
0
0
35
-12
0
0
0
0
0
-4
0
-45
0
0
9
1
-17
0
0
3
0
0
0
-84
0
34
101
0
0
0
58
0
13
-3
0
-2
0
66
0
59
-9
0
0
0
-53
0
0
0
0
4
6
-21
0
31
-7
0
-11
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-35
0
-6
-19
7
0
95
31
4
15
-101
1
0
88
7
0
0
213
10
0
-4
45
0
0
-86
-41
-2
0
-6
-57
0
0
2
0
0
14
-20
-23
0
-39
0
-94
47
1
0
-105
-15
0
-79
-93
20
-21
-96
-34
0
-39
-50
14
1
35
82
0
50
20
0
0
8
95
0
59
26
10
55
48
15
0
-31
23
-1
-5
32
-19
0
-11
18
0
0
148
0
0
0
-42
13
-9
0
0
0
0
-42
0
0
-11
0
0
0
35
0
2
22
-20
0
6
-1
0
12
51
0
0
73
30
7
4
-70
-41
0
54
-88
-6
3
12
-80
0
53
-33
4
-3
47
154
0
5
-63
0
4
139
17
0
0
-2
19
-17
116
-3
0
0
43
-29
0
2
13
0
0
-79
40
0
-8
-110
0
1
-62
-11
-108
-2
0
0
-11
-56
0
18
180
79
0
-15
3
0
-4
79
-18
0
-25
95
0
1
83
-61
0
0
-118
0
-25
15
-33
0
16
-27
0
0
-53
-1
0
0
41
-2
71
55
-2
0
2
14
-15
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
-42
21
-31
52
-52
-85
2
2
60
4
34
63
-152
44
2
-45
-4
-2
46
-20
-16
0
84
36
-1
-13
-127
-4
-17
-2
-32
89
-21
-6
0
50
29
25
-3
26
26
92
-68
-109
3
-4
8
-6
8
-78
-13
-28
43
-36
39
52
35
0
-7
66
22
76
-4
13
-20
2
10
-2
-32
80
43
-2
-1
-8
-9
16
80
50
17
25
-25
-15
-63
77
0
-7
-102
-106
-6
26
19
-9
9
45
-10
-12
-20
121
110
-15
-67
126
19
33
78
-72
30
2
37
-48
34
89
46
1
38
32
-7
50
-55
-53
16
22
28
11
-36
70
11
-5
-94
112
-53
2
28
29
15
30
-24
19
30
-74
46
-3
-8
37
-37
30
43
-1
9
83
10
-60
-119
11
-20
-5
-16
63
85
-42
4
165
24
-30
68
15
-166
83
65
-1
-18
38
-17
55
133
31
4
-10
61
11
7
80
10
-42
53
68
-46
37
30
43
-13
-15
-21
65
-16
39
45
18
-20
32
60
-27
-4
31
-3
0
32
-6
5
135
-3
-14
-33
60
-17
-115
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
15
8
12
25
3
0
0
161
-2
1
10
18
-8
0
-1
0
29
0
-1
64
0
0
0
-5
0
19
-48
11
0
11
0
-11
-7
0
0
-20
0
1
-8
120
0
-66
16
-34
0
-100
71
0
0
-8
-7
-13
12
0
6
3
-58
10
-13
2
-66
10
10
-81
0
0
11
11
0
17
-8
47
0
-8
107
0
4
41
-29
28
0
0
-7
134
0
0
8
0
1
-5
0
-5
0
0
5
28
0
11
-35
-34
-69
-32
-29
0
0
21
20
1
-1
-37
-6
0
-61
-30
21
-19
0
11
9
8
4
3
7
95
-1
1
8
-27
1
13
31
-3
1
2
0
-67
2
-5
0
-3
35
-10
132
0
-33
7
0
0
31
-13
0
37
9
0
13
0
0
0
29
0
70
4
0
-3
0
22
0
3
51
31
0
-4
21
0
78
-13
-10
0
6
0
-7
-3
-43
76
-4
0
98
-1
-61
-39
-1
0
0
-35
-2
0
-47
19
0
0
39
0
-17
0
6
33
0
40
-23
-7
-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
-14
0
0
0
0
0
0
66
0
0
0
56
0
0
0
11
0
0
-7
0
-29
0
0
0
0
0
0
6
0
-26
0
0
0
0
0
11
77
0
0
0
0
0
-5
4
0
16
-53
-1
0
2
18
0
0
5
0
0
0
-51
0
0
59
0
0
0
-100
0
0
-6
0
0
0
22
0
-10
27
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-52
0
0
-4
0
0
0
-61
0
0
0
0
0
0
19
0
0
-9
0
0
0
110
0
0
0
6
0
0
2
0
0
1
0
0
0
27
0
0
14
0
0
0
-7
0
0
0
0
0
0
105
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
11
0
0
0
0
-5
0
13
0
0
0
0
13
0
-26
0
0
0
0
-12
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-3
0
0
11
0
0
0
0
0
44
0
0
0
0
0
-5
12
0
0
-1
0
0
0
-9
0
-21
-1
0
0
10
-51
0
0
7
0
0
0
-24
0
0
13
0
0
-4
-34
0
0
18
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
0
119
0
0
0
1
0
0
57
0
0
0
0
0
0
27
0
0
0
-3
0
0
-18
0
0
0
0
-1
0
56
0
0
1
0
0
0
-18
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
-64
7
210
90
46
14
-1
-75
22
39
8
-36
-2
0
21
9
-112
0
6
6
0
0
0
-17
0
62
59
-9
0
58
0
145
-63
0
19
50
0
7
35
-11
-33
-74
26
-116
0
-13
-49
-2
0
37
-3
0
18
-14
0
-7
119
136
0
8
22
1
-8
16
-7
7
43
65
5
87
89
1
0
20
-100
0
0
9
0
50
0
-16
9
-7
-2
11
0
0
-9
-2
0
-3
2
0
3
87
-9
9
55
-85
1
-36
17
0
8
0
5
-4
71
-79
2
12
-111
-41
24
37
-72
10
-9
-10
-2
-5
0
-79
0
-19
-89
-54
-5
-19
55
0
0
13
2
-27
-3
-45
0
25
15
70
-113
0
-23
-1
-4
0
0
-14
0
56
3
-9
0
-3
0
0
-28
10
36
7
0
0
-6
-19
-2
89
-9
-63
7
1
54
2
62
51
8
4
8
-73
0
-1
-6
70
0
-10
-47
0
125
62
3
1
1
8
0
-11
0
-26
0
10
-84
0
66
0
0
-34
0
68
30
-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
-50
18
0
0
45
0
21
1
0
0
0
69
0
0
0
0
0
0
-6
0
10
0
0
0
0
0
0
0
0
46
2
0
0
0
0
0
81
0
0
0
0
0
0
0
0
-22
-31
0
0
44
-85
0
0
1
0
0
19
-43
0
0
-4
0
0
6
-11
0
0
153
0
0
0
66
0
65
-20
0
0
0
-38
0
0
0
0
7
0
19
-3
0
0
0
0
0
-41
0
0
0
0
0
0
-9
0
0
0
0
0
16
-39
0
0
1
0
0
0
-23
0
0
66
4
0
0
1
0
0
-32
0
0
0
-180
0
0
-59
0
8
0
-103
0
0
-1
0
6
0
-24
0
0
0
0
20
0
27
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-60
0
21
0
0
0
0
2
0
2
-16
0
0
0
-4
0
0
0
0
0
0
10
0
0
-3
0
0
0
9
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
28
58
0
62
3
0
0
42
-3
0
-7
71
0
0
-157
-4
-1
0
-28
-19
0
0
25
0
0
12
-6
61
0
-2
0
-59
-122
0
0
-91
2
0
-36
128
0
-91
-73
-35
0
56
24
0
0
123
0
0
149
-15
-6
0
76
-50
0
-1
7
0
0
5
0
0
-2
33
0
-39
6
146
0
32
-34
0
18
15
-10
0
0
-9
-9
-14
0
0
0
0
4
1
0
0
-11
0
-12
-112
0
-12
-27
-75
0
-12
-3
0
6
52
0
0
81
-12
8
13
27
66
0
-50
-10
0
-32
9
-32
0
5
72
0
-20
95
27
0
-4
-7
-19
7
34
-18
0
0
-21
0
-3
86
18
1
0
11
-9
21
0
52
0
0
2
3
0
0
-3
0
-2
-15
5
-93
11
0
-3
-18
-83
0
9
74
28
0
110
-130
0
-12
102
2
0
-14
26
0
-9
20
67
0
0
48
0
33
24
20
0
5
33
0
12
-49
13
0
0
31
0
91
0
-4
0
0
-74
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
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
34
0
0
-65
167
-79
0
45
-6
0
120
25
-169
0
-3
22
0
-2
8
-24
0
-31
-20
-97
0
-117
0
47
-2
0
0
57
14
-35
90
-51
0
-24
-9
-69
8
-97
-44
0
-4
92
161
18
31
-32
-14
-2
16
-36
49
-42
-59
52
3
24
8
-6
0
-46
0
16
-23
72
5
0
-18
0
0
-25
4
-54
0
8
-61
-34
-10
13
0
0
-21
18
0
-10
-6
48
0
-86
-32
30
-5
6
65
154
-28
0
1
-32
5
52
-70
-66
-12
63
35
29
-48
19
-11
-8
-21
35
15
12
0
-15
67
-16
-17
71
64
0
-10
-2
10
46
-15
-39
0
-31
0
-24
-70
-18
47
0
34
38
-24
-6
103
78
0
-11
4
-12
0
78
0
-4
65
-2
-94
46
17
33
24
-38
0
-37
-124
-23
18
21
5
0
109
-14
-12
-33
-34
-32
-1
42
104
16
-15
10
47
-2
4
87
13
18
3
-3
0
-5
-113
53
-76
5
-36
0
-6
12
0
83
0
-12
-33
0
20
-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
-52
12
0
32
-6
-4
0
0
8
0
0
0
0
-25
0
0
13
0
0
13
6
0
48
-17
0
0
0
0
5
-21
0
0
7
0
0
-92
81
0
-24
28
-8
0
43
64
0
2
-21
-1
0
-52
49
0
-1
5
0
0
16
0
0
-2
-43
-20
-6
-2
-56
0
-2
38
0
0
0
-10
0
0
29
3
4
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
-8
0
4
-7
-2
56
0
7
-55
0
-38
21
79
0
0
-79
-24
0
51
60
0
-6
-22
20
1
-11
0
0
-17
26
39
0
2
1
0
0
0
1
4
0
-42
0
0
13
0
55
0
-36
0
0
0
0
0
0
-3
-15
0
0
0
0
0
-45
4
-40
0
0
-9
0
106
0
-9
0
17
2
3
6
0
7
-15
-5
0
0
-29
0
-4
7
0
1
0
0
0
-10
-26
0
-25
0
-57
0
0
0
0
0
0
42
0
57
-3
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
44
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
37
0
0
0
0
0
-16
0
0
-4
3
0
0
5
25
0
0
2
0
0
0
122
0
0
-7
0
0
1
-55
0
0
-16
0
0
0
43
0
-11
0
0
0
0
93
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
54
0
0
0
-1
0
0
-99
0
0
0
0
0
0
-34
0
0
-4
0
0
0
-29
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
18
0
0
0
0
-15
0
0
0
0
0
0
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
12
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
-8
0
0
3
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
23
0
0
0
0
0
8
0
0
-4
1
0
0
-23
-72
0
0
-1
0
0
8
72
0
0
15
0
0
0
101
0
0
25
0
0
0
62
0
-13
0
0
0
0
-24
0
0
-4
0
0
0
89
0
0
0
0
0
0
-76
0
0
0
0
0
0
9
0
0
0
0
0
0
54
0
0
16
0
0
0
-56
0
0
-15
0
0
0
24
0
0
0
0
-3
0
47
0
0
0
0
0
-1
18
0
0
-7
0
0
0
-1
0
0
0
0
0
0
30
0
0
0
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
21
27
22
0
0
-6
0
4
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
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
-54
-17
3
83
-24
-216
22
22
-6
-16
0
0
10
3
1
-1
-133
0
0
-83
-12
62
-7
-37
-77
-11
-54
0
94
59
0
0
96
-7
8
81
-5
-6
-48
32
26
21
55
38
-3
11
8
-31
5
-127
7
0
-13
-63
5
-3
-120
-5
1
-47
-83
15
0
-2
-3
0
98
-7
142
-11
-20
-2
-7
-1
0
-67
-69
0
-3
33
86
0
-4
4
32
23
-13
2
-12
-108
-3
125
52
2
15
17
0
29
55
37
0
-16
26
24
1
-44
-40
-7
-57
-8
40
36
7
51
22
58
48
-28
20
-11
-36
29
111
-36
-53
7
12
23
3
-13
2
-104
-73
9
-9
0
13
0
89
-40
0
-29
3
2
1
-9
-6
-3
83
46
0
-13
-54
-11
6
71
2
72
-25
-45
-77
13
-18
1
-85
-48
-70
-11
-25
-25
-12
-68
-45
50
19
-13
-19
-6
-56
-6
-170
-17
5
39
0
73
107
23
85
-6
42
10
2
-39
-70
-65
25
-24
0
87
0
-6
54
0
29
17
-16
0
-59
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-73
0
0
0
0
0
0
-1
0
-106
1
0
0
0
0
0
-25
0
0
7
0
0
-8
0
0
-20
58
0
0
-25
-100
0
0
-4
0
0
0
-33
0
0
-6
0
0
-6
-39
0
0
-117
0
0
8
34
0
-1
41
0
0
0
81
0
0
0
0
0
0
-6
-3
0
0
0
0
0
-58
0
0
0
0
0
0
-26
0
0
-5
0
0
0
-15
0
0
-9
0
0
0
-23
0
0
-38
0
0
0
38
0
0
18
0
0
0
43
0
0
-4
0
0
0
91
0
0
-9
0
0
0
124
0
0
0
0
-2
0
-34
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
17
0
0
0
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
0
42
0
1
0
0
0
0
-43
0
0
-1
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
0
173
15
0
0
86
-7
0
3
42
-3
0
0
-6
0
0
0
0
0
36
28
-4
27
-43
0
38
14
0
0
-11
-4
0
-22
-73
0
-23
-44
62
0
82
61
0
0
10
-25
0
5
-51
0
-1
17
6
0
-34
-159
0
0
-12
-3
0
0
13
0
-15
32
-32
0
0
-11
0
0
47
0
0
0
-9
64
-8
0
0
0
0
0
-9
0
0
-3
0
16
-42
0
0
-21
54
0
22
7
0
7
-58
0
0
-25
-54
8
0
6
27
0
-13
-169
11
-1
-5
47
0
-10
1
2
56
-27
-11
0
2
44
0
11
66
1
0
-12
68
14
1
-14
138
31
0
-9
-1
0
0
-12
0
0
-43
4
0
0
0
0
1
102
7
34
-2
0
0
12
15
0
0
-42
23
0
-1
25
-5
-36
-29
-14
0
7
-51
0
14
111
53
0
5
13
0
-7
-24
0
0
0
91
0
13
26
3
0
0
3
0
81
0
9
0
0
13
18
-8
-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
29
-5
0
78
9
-243
0
-6
-157
0
57
1
-58
-21
24
-2
44
0
5
0
109
-81
0
0
-168
-32
-38
33
-43
-20
1
-48
-77
36
8
60
0
3
46
50
-2
150
23
8
20
28
62
0
59
12
0
-13
-15
-6
0
0
2
-2
27
24
-13
-7
0
-75
21
0
-23
-15
-13
0
45
23
-58
0
0
0
0
25
2
0
0
-1
15
4
-101
23
4
-6
-108
59
-77
-4
0
25
-17
-21
44
-88
7
5
56
0
-38
21
54
-25
100
-12
1
-110
59
117
3
18
35
6
-36
25
-1
-12
13
-1
85
47
15
1
-101
-4
-32
-41
14
-109
0
31
-1
0
-7
55
-16
-5
45
-2
0
0
-14
0
9
-25
0
-33
13
1
-45
-8
-28
-3
2
-27
60
-7
5
68
0
-18
111
-11
-15
0
-9
-1
-25
58
-171
-5
0
-5
6
-74
27
19
17
0
-29
8
-3
73
-80
-6
-1
-88
-1
-85
-9
43
-97
0
-34
-51
-27
-21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
32
-21
0
0
0
0
-1
21
0
0
0
0
0
0
-4
0
55
46
-27
0
102
-7
0
0
2
0
4
-68
23
0
0
42
0
3
-39
-111
0
0
-107
0
-8
0
0
0
-38
-1
0
-2
0
-91
0
0
-10
0
-7
0
14
8
0
0
0
0
0
91
0
0
0
0
0
0
-41
0
0
0
-2
0
0
-14
0
0
74
0
0
-3
57
1
0
-29
-17
2
9
-18
0
0
9
0
0
3
6
0
0
-14
0
0
0
0
0
0
10
0
0
0
25
0
0
-7
0
99
0
88
-4
0
0
0
0
0
-32
0
0
0
0
0
0
6
0
-21
3
0
0
0
40
0
3
3
0
0
0
1
0
0
0
0
0
0
107
0
0
0
-10
0
0
77
0
15
9
3
0
0
0
0
12
39
0
-3
0
-75
0
9
0
0
0
0
-53
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
-4
0
0
0
-3
-35
0
0
0
0
0
0
-22
0
0
0
0
0
0
-40
0
0
10
0
0
0
36
0
-17
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
-32
0
0
0
-3
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-8
-15
0
0
0
15
0
0
0
0
0
17
-56
0
0
13
0
0
-1
4
0
0
0
0
0
0
-20
0
18
-52
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
32
0
0
0
-11
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
-7
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-92
-35
0
3
9
-21
-5
80
45
0
0
-142
-23
0
-18
-132
-85
-26
-138
0
69
2
0
0
-44
-3
16
48
87
0
11
57
-5
-16
114
8
-1
22
18
-23
123
122
13
-3
-17
89
-39
-10
-77
-37
-7
0
-42
0
28
44
-7
1
106
-2
93
0
44
-117
-2
0
-1
133
-164
0
-72
-48
0
0
7
11
0
14
-23
0
-12
-16
110
-59
9
0
-17
48
39
-24
-32
18
0
13
-220
7
21
42
-58
-12
-5
25
-85
-22
-73
-76
90
65
-74
-31
-66
38
1
23
57
20
-81
51
4
-2
2
13
-2
-83
27
-1
-123
18
77
0
-52
-36
0
-11
-52
-2
0
-32
-19
4
74
-4
0
0
29
0
-3
-8
-4
-2
29
18
-49
3
51
-6
9
49
23
9
-4
-124
0
27
63
-47
123
65
13
-3
71
-132
-97
45
53
46
0
115
-40
-70
-21
2
124
0
1
-3
-27
78
-14
-63
0
-23
0
98
-33
0
30
92
18
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
-3
-30
0
0
16
0
0
-11
0
0
-67
96
0
0
-34
-18
0
0
-21
0
0
9
-36
0
0
-13
0
0
0
178
0
0
-83
0
0
5
104
0
-148
-22
0
0
0
-59
0
0
0
0
0
0
12
0
0
0
0
0
0
-134
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
64
0
0
-5
-90
0
0
113
0
0
4
-201
0
0
-127
0
0
0
-29
0
0
-10
0
0
3
-84
0
0
0
0
0
0
34
0
0
7
0
-90
0
-113
3
0
0
0
0
0
-18
0
0
0
0
0
0
-42
0
-2
-2
0
0
0
73
0
0
3
0
0
0
-10
0
23
0
0
0
0
-16
0
0
-32
0
0
0
-91
0
6
2
0
0
0
18
0
0
0
0
0
0
109
0
0
3
0
9
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-38
61
-1
0
18
-10
0
0
0
0
0
36
0
49
0
125
0
39
-32
0
0
40
0
0
35
-70
0
-10
28
16
0
101
-21
-5
0
23
1
0
31
41
0
0
10
70
0
-1
-2
0
-11
-132
0
0
0
-190
0
-85
-15
-11
0
0
-49
0
-6
0
0
0
0
93
-14
118
0
7
0
0
0
-21
0
0
0
0
-14
8
0
6
81
7
0
118
-13
0
5
20
0
0
19
-61
-15
0
-21
-45
0
-8
-19
-3
0
-16
82
0
4
60
0
2
75
55
0
25
-29
0
-15
-56
0
-3
11
-63
0
4
-68
6
0
0
-23
0
0
0
0
0
4
50
0
0
0
15
0
0
43
-3
49
-10
0
0
0
-26
0
3
-75
-13
0
-7
-69
0
-119
-46
0
0
1
77
0
0
-18
-34
0
0
65
0
65
-73
-18
0
0
-6
0
-19
46
-96
0
0
15
0
39
-14
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-11
0
2
0
-1
-218
0
0
0
0
0
2
1
0
-6
12
-11
0
6
96
0
0
-5
0
0
0
31
0
0
-1
0
0
0
96
0
0
-32
0
0
0
-156
0
-14
14
-14
0
0
32
0
0
2
0
0
0
-61
-9
0
0
0
0
0
26
0
0
0
0
0
0
-8
0
0
0
0
-3
0
-175
0
0
0
0
0
1
-1
0
0
110
56
0
0
1
0
0
-5
-7
0
0
-76
0
-13
-19
0
0
0
-8
0
0
-10
0
44
0
-28
0
0
24
0
-8
0
-38
0
0
0
0
0
0
6
0
0
0
0
0
0
27
0
0
0
0
6
0
-7
0
0
8
0
0
0
68
0
-4
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
5
0
0
0
0
0
6
-1
0
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-34
-8
0
0
51
0
-5
-79
0
0
-7
0
1
-19
-54
-16
-3
100
23
0
47
-2
0
0
42
0
0
1
3
0
0
-29
0
0
-20
28
0
0
-49
0
0
0
-32
0
44
0
35
0
0
0
0
0
8
32
0
0
38
-1
49
0
0
0
0
-40
0
0
0
0
0
-19
-48
0
0
-1
-22
6
-64
-48
0
0
-24
-2
-50
1
-14
17
0
-23
-56
0
13
91
0
-4
-56
-36
8
1
79
0
1
-3
0
-2
-3
31
0
0
5
-4
-58
8
0
0
2
-3
0
-288
0
-106
0
0
0
-17
0
0
-44
0
0
0
0
0
0
-17
0
25
0
7
-12
0
-28
0
0
-3
-1
1
0
-19
0
-111
43
-13
0
-3
-64
0
-8
43
-15
0
3
-113
0
-157
0
-19
0
0
-4
0
0
19
4
46
0
0
0
18
0
2
19
0
-87
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
26
0
0
0
0
0
-3
0
0
-9
50
-10
0
10
-5
0
0
-16
0
0
-7
-54
0
0
-12
0
0
0
-48
0
0
0
0
0
0
45
0
-9
-3
0
0
0
-6
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
21
0
0
0
0
0
0
10
0
0
0
-1
0
0
-5
0
0
-14
0
0
0
-24
0
0
0
0
0
0
-56
0
0
0
0
0
0
9
0
0
0
0
-6
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
-7
-3
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
-3
0
0
0
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
92
0
0
0
0
0
0
30
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
4
-4
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
-5
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-39
0
0
0
-26
0
29
-112
0
0
101
0
-12
5
-24
0
-23
-65
42
0
-188
55
0
0
19
0
0
92
96
0
0
118
0
0
107
-11
0
0
0
0
0
0
-78
0
-6
5
0
0
0
205
0
0
0
3
0
0
28
0
14
0
0
0
0
-22
0
0
0
0
0
-15
-65
0
0
-78
-15
26
0
-107
0
0
-59
21
50
-4
-84
0
0
-39
-46
-14
1
27
0
0
63
-7
-39
0
-66
17
0
-4
78
0
1
-38
0
1
0
0
3
0
60
0
0
0
0
-182
0
-26
-4
0
0
-2
0
0
121
0
0
0
0
0
0
-28
0
0
-6
0
0
0
-109
0
13
4
33
0
0
-2
0
8
4
0
0
0
-51
0
0
-6
-146
0
0
-20
0
2
0
-4
0
0
30
0
0
0
0
-27
0
-72
0
-26
0
0
-16
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
-10
18
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-47
128
0
0
112
73
0
0
1
0
0
0
29
0
0
0
0
0
0
23
0
0
-4
0
0
0
-41
0
-5
0
0
0
0
110
0
0
0
0
2
0
-21
0
0
0
0
0
0
-19
0
0
0
0
0
0
34
0
0
0
0
0
0
-134
0
0
0
0
0
0
89
0
0
19
0
0
-26
-23
0
0
-13
0
0
0
-156
0
0
3
0
0
0
65
0
0
2
0
-4
0
14
0
0
0
0
-7
0
49
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
-1
0
0
0
0
56
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
-37
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
34
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-136
-228
-1
-61
-96
2
-111
1
-32
-42
83
-109
0
122
17
-5
1
13
-17
0
31
17
9
-77
20
-36
0
48
-7
-28
-32
5
-177
0
-35
-28
11
-35
4
-28
-10
12
-6
7
14
-6
-15
-4
-76
9
0
-17
33
39
0
21
-61
-48
-9
-9
-138
-1
0
9
-112
-93
-4
-47
0
58
13
55
-9
-18
82
-1
38
38
26
26
-39
-81
-8
70
16
-10
-23
15
73
0
65
10
89
-42
-2
1
-9
17
8
25
-16
17
10
0
68
27
-54
49
35
23
0
-109
-42
-2
80
27
-126
0
50
-20
-2
-21
3
24
-2
-1
-2
58
0
-358
-24
0
10
29
-14
-2
103
-9
0
-65
73
-33
-39
26
-70
-2
-44
-4
27
-69
-8
-112
0
-48
-9
-34
-71
18
69
-1
81
46
44
0
50
-70
0
23
-21
57
24
9
-35
-2
85
1
-5
-5
80
63
0
-11
16
-3
-97
56
45
0
-1
38
-134
7
73
-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
0
0
0
0
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
4
0
0
0
0
48
0
0
0
0
0
0
60
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
-19
0
0
0
0
0
0
2
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
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-38
0
0
0
0
0
-2
0
0
140
-44
0
0
0
61
0
0
0
0
0
4
1
0
0
14
0
0
-5
9
0
0
46
0
0
0
50
0
-5
0
0
0
0
-16
-2
0
0
0
0
0
0
0
-6
0
0
0
0
-25
0
0
0
0
0
0
34
0
0
0
0
0
0
-171
0
0
4
0
0
0
-8
0
0
-2
2
0
0
0
-2
0
-10
0
3
0
21
0
0
0
0
0
0
41
-17
0
0
0
0
0
10
0
0
0
0
-24
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
84
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-2
0
0
0
0
49
0
0
0
0
0
0
-42
0
0
0
0
0
0
109
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
28
1
-1
0
-28
0
-1
-19
0
0
-10
0
0
-160
-117
0
-44
-204
-83
0
63
-43
0
0
35
0
0
-33
-71
0
0
-31
-3
-2
29
46
0
0
-41
0
0
0
-30
0
-1
-38
-14
4
17
11
0
0
147
-6
-8
0
-80
0
42
0
0
0
0
67
0
0
0
0
0
0
23
0
0
-3
3
6
2
-4
0
0
3
0
28
2
-49
5
0
16
92
-20
2
106
0
0
-28
6
-4
0
-191
0
2
129
-5
-9
-10
-70
0
0
-3
0
-35
0
50
0
0
-7
12
45
0
-70
0
0
0
0
0
0
-43
0
0
0
0
0
0
81
0
12
0
0
-23
0
42
0
0
2
0
0
0
-6
0
113
6
0
4
0
44
0
-65
1
-3
0
0
-81
0
-10
25
11
0
0
-121
0
0
5
1
10
0
-41
0
4
0
0
10
0
-98
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
0
0
41
0
0
0
0
0
0
30
0
0
0
0
0
0
48
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
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
0
42
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
0
0
0
0
0
0
-2
0
-8
-1
0
0
-3
-115
0
0
-5
0
0
0
-102
0
0
0
0
0
18
-105
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
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
41
0
0
-14
0
0
0
32
0
0
0
0
0
0
72
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
0
0
0
0
26
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
18
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
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
22
0
0
0
0
0
5
-17
0
0
0
0
0
-62
0
0
-32
-126
0
0
-66
-194
0
0
-22
0
0
6
-99
0
0
-24
0
0
-3
-28
0
0
-62
0
0
0
-103
0
90
-14
0
0
0
-53
0
0
0
0
3
0
84
0
0
0
0
0
0
-62
0
0
0
0
0
0
-4
0
0
0
0
0
0
-34
0
0
20
0
21
3
-43
0
0
79
0
0
33
-121
0
0
-71
0
-5
0
59
0
0
-27
0
0
0
-153
0
0
0
0
0
0
-189
0
0
17
0
172
0
112
0
0
0
0
0
0
-8
0
0
0
0
0
0
68
0
-3
0
0
0
0
50
0
0
-7
0
0
0
-45
0
128
-9
0
0
0
38
0
0
21
0
0
0
-16
0
0
3
0
0
0
1
0
0
0
0
0
0
109
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
4
57
0
-8
0
24
0
81
-9
0
0
-8
0
0
78
84
0
40
19
-74
0
33
-74
0
-4
-91
0
0
13
-64
0
-5
-55
-12
0
99
-9
0
0
50
0
0
2
-190
0
-74
-15
78
0
0
-134
0
7
0
0
15
0
39
23
-4
0
0
0
0
-33
0
0
0
0
0
2
36
0
0
0
-1
0
6
-7
0
0
-31
0
0
-18
19
-2
0
63
-7
0
14
-126
10
0
-9
-77
0
23
-39
0
-3
14
6
0
0
-52
0
0
-26
0
0
-5
-74
0
-7
71
29
-4
0
-28
0
0
0
0
0
0
-23
0
0
0
5
0
-2
-16
1
2
3
0
0
-2
-74
0
0
-9
5
0
0
-28
-2
-11
98
0
0
0
-30
0
-23
11
-15
0
0
-48
0
4
230
15
0
0
-132
0
0
-12
7
0
0
-13
0
165
0
0
-1
0
75
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
20
5
0
0
27
116
0
0
0
0
0
0
81
0
0
22
0
0
0
80
0
0
-13
0
0
0
16
0
-4
0
0
0
0
42
0
0
-1
0
0
0
36
5
0
0
0
0
0
-34
0
0
0
0
0
0
15
0
0
0
0
0
0
84
0
0
0
0
0
4
-2
0
0
23
0
0
0
37
0
0
-48
0
0
0
-29
0
0
-1
38
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
20
0
0
0
0
0
0
-61
0
0
0
0
0
0
5
0
0
-1
0
0
0
45
0
0
0
0
0
0
16
0
0
0
0
0
0
50
0
8
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
-17
25
-34
14
3
31
36
12
2
-68
-3
23
17
41
4
-5
-4
18
2
-5
19
41
-19
-11
-8
-2
-68
-24
29
-1
71
52
-19
54
34
-13
-14
-26
-4
15
51
42
-14
-1
-25
-27
28
69
44
-1
-1
23
34
-14
-67
3
45
0
-5
-100
23
-47
14
22
18
-17
-1
-22
-70
39
-53
4
2
-19
45
-50
-48
0
1
45
103
-5
57
-24
-30
-1
53
-61
24
6
-6
-14
-7
-45
11
41
-19
-6
-12
-6
-69
49
-22
-2
-45
-41
-10
-2
-63
60
68
24
21
-10
-78
-67
-16
113
111
-70
0
-2
63
-19
-5
-7
52
51
58
-4
17
-56
-9
82
-28
-53
-94
-29
27
-26
-49
-10
-26
65
20
-65
-103
40
16
-20
-6
37
46
-44
9
-44
20
35
47
-38
-83
25
25
-1
-134
-7
25
-19
-49
8
23
57
-46
132
-11
-5
-6
72
74
-19
-18
-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
48
83
0
0
-3
0
0
-36
-52
0
32
-16
-150
0
87
96
0
0
43
0
0
1
-12
0
0
1
4
0
79
-75
0
-16
89
0
4
3
36
0
-20
39
-1
0
1
-220
0
0
-5
0
-19
0
36
4
0
0
0
-4
0
38
0
0
0
0
0
0
38
0
0
-6
1
-2
115
-3
0
0
41
0
-36
-11
71
0
-3
-70
113
0
33
-35
0
-6
-71
-4
0
0
-99
0
34
-56
36
0
11
-24
0
0
-26
0
6
0
-47
0
0
2
0
38
0
-5
2
0
0
0
0
0
101
0
0
0
0
0
0
73
0
6
-6
0
0
-4
-6
0
-5
-3
-26
0
-4
21
0
-22
45
0
0
0
66
0
0
-47
-1
0
0
-72
0
16
-15
4
0
0
106
0
-8
2
-13
-1
0
-64
0
8
0
0
9
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
-10
-47
0
0
-10
0
0
-6
-36
0
0
-11
13
0
-1
-48
0
0
-79
8
0
9
-27
0
0
-67
0
0
-9
-74
0
0
-148
0
0
0
-13
0
-20
90
-20
0
2
-75
0
0
15
0
25
0
65
10
52
0
0
0
0
-113
0
0
0
0
0
0
36
0
0
69
0
0
-17
-15
0
0
-33
0
0
0
70
8
0
58
11
0
0
-28
0
40
-92
80
8
0
27
0
0
42
44
0
0
-34
0
0
-4
0
-42
15
44
0
0
-15
0
-138
0
40
0
0
0
0
0
0
-11
0
0
0
0
0
-6
-51
0
0
0
0
0
0
-139
0
7
12
40
0
0
-15
0
0
27
0
0
0
8
0
0
-3
2
0
0
-76
0
2
24
2
0
0
3
0
0
67
0
0
0
29
0
-1
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-16
8
-3
0
12
-31
0
0
-10
0
0
0
61
0
0
0
4
0
-3
-61
0
0
11
0
0
0
91
0
-8
0
0
0
0
-2
0
0
0
0
3
0
70
0
6
0
0
0
0
-84
0
0
0
0
0
0
-11
0
0
0
0
0
0
-118
0
0
0
0
0
0
190
0
0
0
0
0
-7
13
0
0
31
0
0
0
57
0
0
4
-9
0
0
61
0
0
17
0
-18
0
3
0
0
0
0
-8
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
9
0
0
0
0
52
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
26
-4
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
114
0
15
10
-282
0
9
-138
0
0
42
-74
0
0
-25
0
-4
-33
-9
0
0
-37
0
9
-45
16
0
0
-3
0
0
0
92
0
114
-17
0
0
17
-15
0
0
3
0
2
0
14
-9
46
0
0
0
0
-40
0
0
0
0
25
-13
77
0
0
2
0
143
-8
-16
0
0
28
0
63
0
-48
0
0
-83
0
4
0
48
-1
0
108
0
95
0
-28
0
-1
84
0
29
0
4
0
0
111
0
-40
0
4
0
0
0
0
74
0
-53
-4
0
15
0
2
0
-43
2
0
0
0
0
0
-12
0
96
-3
0
0
0
-73
0
5
-23
0
0
0
-52
0
40
116
0
-14
0
140
0
0
-53
0
-20
0
-53
0
-21
-51
0
6
0
-98
0
0
11
0
5
0
41
0
-19
13
0
-54
0
90
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
119
0
73
56
-21
14
-86
-12
6
0
-58
0
0
-16
-40
0
0
133
-65
0
-43
-17
0
0
97
0
0
0
72
0
-72
-25
0
0
0
-47
0
0
30
0
8
0
17
2
5
0
0
0
0
-51
-15
0
-7
0
0
25
185
0
0
-10
1
95
1
57
0
0
-7
0
4
4
-60
-12
0
-77
65
5
6
-109
1
-11
19
-8
0
0
-28
0
58
6
-3
-2
0
-36
-1
0
94
-1
21
0
91
0
0
-13
0
234
0
-10
2
0
0
0
35
0
-198
0
0
0
0
0
0
-15
-4
52
34
0
-4
0
-18
0
3
-37
-37
19
0
-114
2
-2
-42
0
0
0
-62
-3
-11
-41
-8
0
0
42
0
14
78
0
0
0
-30
0
0
-2
0
0
0
37
0
25
0
4
-40
2
-46
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-104
-56
-102
3
-35
0
16
-10
86
58
-64
-11
-8
7
4
-47
-77
-49
32
-40
7
5
43
-47
6
-67
-60
-34
4
2
-10
10
-17
37
-58
8
-5
-23
6
10
-36
4
-1
-14
-68
5
-30
-14
19
-55
56
-26
-57
-98
-50
-249
0
8
-19
-45
-73
-62
-38
-2
-35
13
-31
-27
60
-75
28
-24
-67
13
-74
-49
4
36
-63
-78
18
-101
-10
-43
8
32
29
-1
-19
19
78
16
47
-51
-42
49
19
-13
103
-4
70
9
20
40
-13
27
-15
-59
-13
59
-66
-21
-45
-111
64
-48
-49
-9
-38
0
10
-24
-45
-44
-39
-88
-58
23
53
-81
-88
89
55
18
-66
-31
11
-106
14
-5
-72
-30
-31
-10
-4
43
94
-18
27
-11
-18
-123
26
76
18
-73
64
47
103
47
-19
-66
0
109
-67
-27
-52
15
73
26
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
46
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
-12
0
0
0
0
0
0
16
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
19
0
0
6
0
0
0
1
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
10
0
0
-2
-1
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
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
-2
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
6
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
-89
0
-15
-5
-61
0
-26
3
0
0
8
0
0
-8
-29
0
0
-21
60
0
-48
8
-2
0
56
0
0
-21
21
0
-75
2
48
0
0
16
0
0
-38
-3
27
0
-31
22
-3
0
0
0
0
-23
0
0
0
0
0
5
222
0
0
0
-22
23
-23
64
0
0
0
0
-25
64
46
0
-14
-21
53
6
0
-56
0
0
10
-5
0
0
-40
0
0
-83
-62
5
0
-76
-3
0
32
0
-25
0
81
0
0
0
0
-103
0
-61
0
0
0
-13
0
0
-27
0
0
0
0
0
0
106
0
4
0
0
0
-2
26
0
0
-1
-20
0
0
90
0
57
-6
0
0
0
-66
0
-19
-31
-30
0
0
-33
0
147
-12
13
5
0
-98
0
0
-33
0
-14
0
30
0
-5
0
0
-55
0
-12
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
19
34
0
0
0
0
0
0
-27
0
0
1
0
0
-4
-123
0
0
64
0
0
0
-9
0
13
0
0
0
0
3
0
0
0
0
0
0
-36
0
0
0
0
0
0
23
0
0
0
0
0
0
63
0
0
0
0
0
0
-37
0
0
0
0
0
0
28
0
0
-5
0
0
0
0
0
0
-67
0
0
0
13
0
0
7
0
0
0
53
0
0
5
0
0
0
-38
0
0
0
0
0
0
55
0
0
0
0
0
0
-4
0
0
0
0
0
0
-38
0
4
0
0
0
0
59
0
0
-4
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
0
-22
-54
0
0
-26
0
0
0
-44
0
0
-14
0
0
0
-89
0
0
-14
0
0
0
-1
0
-2
-8
0
0
0
-23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
5
0
8
-2
0
0
13
0
0
0
-31
0
0
-71
19
0
0
14
0
0
42
0
0
0
53
0
0
-1
0
0
0
-99
0
0
0
0
0
0
62
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-47
0
0
-1
0
0
0
60
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
8
-55
2
18
61
-2
-3
0
64
-3
12
-4
1
0
2
46
-13
-2
-1
76
0
-30
15
-8
-25
9
-19
0
7
-47
-8
85
0
-15
-5
-5
0
0
0
0
21
37
0
-6
0
0
0
55
0
-6
33
8
-7
4
-51
0
-25
11
-8
-7
18
8
-1
-22
-33
68
0
-56
-39
28
-1
-105
12
32
11
24
-3
39
-26
-58
7
2
49
0
9
43
19
-166
0
-11
0
0
24
12
-148
0
-39
3
0
0
-5
-8
0
-42
3
0
0
7
0
0
-197
-5
5
-82
3
-1
4
52
-9
-7
-12
28
1
-20
-25
13
63
-36
-33
8
0
24
0
12
-42
120
0
-38
-24
0
-127
63
61
27
0
28
5
0
-55
2
-89
10
28
-3
66
-17
3
34
0
-83
-37
7
21
-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
96
27
0
6
50
0
-4
-89
37
0
0
-46
172
0
63
-9
0
-2
3
0
-14
0
-9
0
38
75
70
0
0
-364
0
0
111
0
-61
0
24
7
-163
0
0
0
0
21
-20
0
-7
0
-56
-7
17
-7
0
-4
-14
-76
35
0
0
0
51
-46
-338
52
-81
7
18
-15
41
-53
29
17
-8
11
-39
-51
-99
4
28
0
0
117
119
-197
-11
-72
0
-7
-5
61
-41
0
-97
0
-1
54
78
-104
0
30
-12
0
13
0
-56
0
-37
-8
0
0
0
0
0
-1
34
2
-3
-1
0
-24
0
0
-4
-7
-89
0
6
128
-8
-10
-38
-24
-13
-4
-47
0
-28
-28
121
0
0
-14
0
18
42
-3
-1
-4
20
0
0
-69
0
20
18
23
0
-51
3
0
-147
0
132
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
7
0
0
0
0
0
0
-57
0
0
18
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-27
-4
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
7
0
0
0
0
0
0
12
0
0
-8
0
0
0
41
0
0
-29
0
0
0
17
0
0
0
0
11
0
1
0
0
0
0
0
0
19
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-21
-48
-16
55
-33
-30
23
-19
-21
76
47
-73
28
27
44
2
-161
-20
57
23
0
20
15
-10
33
-24
26
35
-10
0
-4
-169
0
55
-36
-25
-13
6
0
-2
63
65
0
16
-10
124
-47
-2
16
-9
17
-21
33
37
-67
-14
1
-49
-14
-38
49
56
-9
-27
45
23
-26
26
15
-83
9
-12
-71
38
-69
14
58
88
14
23
114
2
-11
-34
-77
-50
-31
127
82
-60
3
-25
35
-27
34
-1
14
-22
-4
23
-33
45
1
0
105
-3
-21
-57
11
-9
10
-20
-8
-24
82
48
-183
42
-12
-19
44
6
95
52
46
-15
-45
-39
88
68
-36
-28
21
45
31
128
118
-9
19
-8
35
-47
62
63
0
-19
31
-2
64
54
152
-4
-17
7
5
-41
-137
49
5
-27
14
-18
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-6
-6
0
46
-48
-17
-73
4
-20
3
-53
-82
8
27
13
2
-35
27
31
-17
15
19
0
-26
-23
-28
-39
10
97
-15
0
10
-39
22
0
15
-36
-73
-2
-4
0
0
18
15
0
-6
-95
0
59
11
0
1
-16
-41
63
-20
4
0
-11
66
89
29
19
43
-9
-8
-48
16
-33
55
4
83
-15
-21
-6
-157
73
-17
-4
-19
-7
20
3
-42
8
-20
33
-20
56
-50
-32
8
5
56
-25
-7
3
0
-6
1
0
-6
2
-25
0
21
-38
0
-1
-92
0
0
-98
5
57
21
-26
-122
-22
-8
0
-21
-77
-108
-3
-48
18
37
-107
10
-158
-38
-4
14
12
-61
2
59
-20
-3
15
-2
-158
-45
67
-50
-3
-21
-2
-21
-2
8
-14
-11
40
0
-146
-24
117
55
0
-1
-15
-6
-78
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
5
0
19
-152
-19
0
1
29
0
-5
5
-1
0
-1
40
0
-4
-2
2
0
51
97
0
-9
11
-23
0
0
68
4
27
0
9
-53
27
0
0
4
0
-40
-1
0
0
0
-2
15
21
0
0
-17
0
164
14
-1
0
0
92
0
-21
78
16
1
0
61
6
7
13
38
37
30
109
26
67
47
-12
0
0
53
-5
-8
-22
9
0
-9
129
0
64
0
-9
15
35
62
0
63
0
-12
76
0
9
0
64
7
-60
-7
0
0
0
0
-1
-110
4
-21
12
0
81
29
7
0
27
8
0
0
1
48
0
1
64
0
-28
2
113
0
-1
76
0
125
6
44
0
48
28
0
6
0
50
0
3
74
0
62
0
30
0
172
134
0
-92
-1
1
-13
-11
-9
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
6
-76
0
0
0
0
0
0
-15
0
0
13
0
0
0
35
0
-25
0
0
0
0
-67
0
0
0
0
0
0
-40
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
5
0
0
-1
-77
0
0
19
0
0
0
-37
0
0
12
0
0
0
21
0
0
-22
0
0
0
-59
0
0
0
0
0
0
-62
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
-5
0
0
0
-12
0
0
24
0
0
26
0
0
0
-4
0
14
0
0
0
0
24
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
6
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
-5
4
90
-9
-129
-5
1
50
-67
-61
28
-5
46
-1
-94
14
36
18
19
55
-8
0
32
71
3
0
21
-93
62
0
-16
4
-1
-19
-73
0
18
-2
0
-13
29
0
27
-35
69
23
-148
-12
0
3
-31
30
61
197
42
0
12
35
61
0
22
36
-8
-15
8
128
-91
9
-1
-22
59
-18
28
68
2
18
0
-5
29
25
-39
-21
40
-5
16
-11
68
92
0
-20
-7
-4
-5
-22
-16
-26
-83
-61
0
-6
29
0
-9
-26
2
93
-54
13
-11
39
20
0
-24
74
-36
133
2
18
-2
141
-24
91
0
0
52
-8
121
10
129
-34
-1
-17
-2
-37
-95
-24
-4
0
4
15
6
-49
38
17
0
31
0
78
19
-1
82
-22
-1
-3
-7
55
-44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
117
57
-16
68
89
-28
-2
2
65
-9
-32
19
32
-13
16
0
7
-65
23
23
-103
39
-12
-28
-1
47
-1
-7
-22
-66
75
-11
-45
-35
-4
85
11
-23
-39
24
35
4
-132
-87
-71
-161
12
51
-2
-90
-92
-110
-16
-13
60
0
41
55
7
-41
18
65
-12
12
-93
9
20
61
83
-4
38
45
1
-42
93
-75
-2
-30
9
9
-137
7
-16
-19
-67
-69
50
35
9
-2
14
4
9
23
12
45
-36
-16
-2
49
-76
-102
13
52
-47
-63
6
-104
-166
125
91
0
69
48
16
-32
-88
25
0
-13
15
-6
-13
-24
27
24
-8
-41
-28
-75
24
-46
-25
-32
-34
7
125
0
-68
-33
51
-24
-16
-70
37
-7
4
-13
-65
60
15
17
-5
46
47
-48
22
129
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
50
-29
0
0
0
0
0
2
-34
0
0
-2
0
0
0
39
0
-2
0
0
0
0
-7
0
0
0
0
0
0
-69
-2
0
0
0
0
0
60
0
0
0
0
0
0
15
0
0
0
0
0
0
-76
0
0
0
0
0
0
-16
0
0
0
0
0
0
22
0
0
-8
0
0
0
23
0
-1
0
0
0
0
33
0
0
2
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
0
0
0
0
4
0
0
0
0
0
0
21
0
0
1
0
0
0
-1
0
0
1
0
0
0
2
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
3
48
0
0
-40
0
0
0
-2
0
-8
-1
0
0
0
3
0
0
0
0
0
0
7
-26
0
0
0
0
0
-46
0
0
0
0
0
0
31
0
0
0
2
0
10
7
0
0
0
0
0
0
-53
0
0
0
0
0
0
-18
0
0
6
0
0
0
-22
0
0
-33
2
0
0
-41
0
0
0
0
18
0
-10
0
0
5
0
10
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-18
0
1
0
0
0
0
19
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
6
7
0
0
0
12
0
0
0
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
-80
38
0
0
38
85
40
-53
-4
0
-14
-27
-20
-23
14
40
-1
11
-33
30
9
-35
-10
0
0
81
0
-7
0
9
-28
-30
-2
13
0
0
25
7
0
-8
-2
0
8
25
0
-24
-4
-17
-126
-177
-28
0
0
-18
0
-104
-104
17
8
-23
66
125
-37
-114
-54
-2
-7
-45
-8
12
8
37
-3
31
16
50
-11
6
65
13
4
-4
-16
-73
-30
-39
-2
0
67
-10
-99
0
-1
-24
0
0
-5
-1
0
-19
-15
0
0
-70
0
-15
-34
-23
-11
-14
-3
11
9
78
0
-52
22
-23
-2
3
6
0
-114
-108
3
0
27
-8
0
-27
22
16
-17
7
61
0
10
67
-3
28
0
60
0
8
59
-25
122
-39
35
-14
-37
7
-9
46
0
14
-75
31
-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
-21
68
0
0
3
0
0
0
-6
0
0
-6
0
0
0
-76
0
35
-1
0
0
0
-14
0
0
-7
0
0
0
-16
0
0
0
0
0
0
-32
0
0
0
0
0
0
21
0
0
0
0
0
0
-52
0
0
-12
0
0
0
5
0
0
-21
0
0
0
40
0
0
48
0
0
0
-48
0
0
-6
0
0
0
-1
0
0
37
0
0
0
12
0
0
0
0
-17
0
-161
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
2
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
124
0
6
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
0
0
2
-52
0
0
-3
0
0
0
-19
0
-10
0
0
0
0
-103
0
0
0
0
0
0
-44
-3
0
0
0
0
0
15
0
0
0
0
0
0
74
0
0
0
0
0
0
37
0
0
15
0
0
-10
-55
0
0
96
-9
0
-1
-3
0
0
79
0
0
-3
11
0
0
-6
0
0
0
-42
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
5
0
0
0
0
0
0
-17
0
0
18
0
0
0
-8
0
0
6
0
0
0
199
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
-62
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-51
0
0
-87
-7
0
19
49
0
33
-24
14
0
-7
-44
0
40
22
0
25
0
83
8
-19
0
8
0
0
80
0
0
0
0
-8
0
0
5
33
20
-78
2
16
50
0
0
63
-8
-19
-124
-3
19
-22
-29
10
10
6
-10
0
-3
-58
0
0
19
21
0
-11
68
7
-8
0
81
-23
0
40
0
15
0
-81
0
-3
76
-14
-74
0
33
17
0
0
6
0
0
27
33
17
0
12
0
0
-34
-5
-40
-1
0
-10
-15
12
0
-28
61
9
3
-7
20
0
19
-3
-7
0
0
-2
0
-106
58
14
0
6
-22
0
69
67
4
10
0
29
0
0
-31
10
0
0
-5
-9
36
0
0
10
4
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-20
93
-27
-6
-45
-50
20
0
-6
-31
-18
-101
-30
-17
-78
-46
-110
2
-30
-27
-5
-15
19
7
-40
-95
-10
1
36
-33
16
-28
17
-140
38
-3
-48
-87
-20
-78
24
22
1
-43
-36
58
3
-49
-33
9
-97
-134
-22
-30
-7
52
0
35
1
-8
68
-52
11
3
104
-85
-23
87
-83
30
1
-15
0
7
-36
5
18
-18
104
-25
31
-115
-2
0
25
38
-50
-37
8
-65
26
30
77
46
-39
-78
44
5
5
3
-4
-66
-8
-116
-9
37
27
68
133
-86
-12
-18
11
3
-19
37
14
8
48
0
100
61
43
34
10
16
49
99
-25
-20
87
77
-1
30
14
-91
8
16
1
31
-11
-15
-40
-10
-86
-9
-11
2
8
-144
159
-143
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
9
0
0
-10
0
0
0
-25
0
7
6
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
6
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
25
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
14
0
2
19
0
0
0
-13
0
0
4
0
0
0
-34
-14
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
19
0
0
-2
0
0
0
36
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-13
0
0
0
7
0
0
10
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
1
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
4
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-23
-11
4
24
10
-70
0
-41
-75
-13
-1
-9
-11
0
0
70
8
40
0
37
-32
9
0
0
4
0
50
-2
0
12
1
-28
38
-4
0
-1
3
-31
-11
-66
-16
0
25
-2
9
-51
52
1
0
2
63
16
29
-58
-47
-12
7
-38
-6
-5
-7
73
1
9
-1
127
-51
-10
6
0
4
-7
8
-19
-3
-42
-23
-4
4
88
55
0
21
-5
0
0
-7
0
0
51
-29
0
0
-45
0
8
-70
0
-59
109
0
70
-26
30
0
6
-53
49
-11
-26
80
0
25
4
-1
-5
-15
-41
0
63
-147
78
0
-1
-50
2
-38
121
-10
6
-1
-7
0
1
96
18
21
0
-5
-1
11
0
-4
40
0
49
-26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
6
0
0
0
18
0
25
13
0
-1
0
-62
0
0
14
0
-10
0
2
-9
0
0
0
0
0
-120
0
0
0
0
0
0
-63
0
0
-13
0
0
19
-16
0
0
-63
0
-16
-15
72
0
0
-62
0
0
-18
28
0
0
-80
0
32
0
15
0
0
26
0
0
-7
1
0
0
-20
0
6
0
57
0
0
-4
0
-9
0
1
0
0
0
0
0
0
-76
-4
0
0
0
0
0
-91
0
33
-21
0
0
-6
20
0
0
-4
0
0
0
44
0
3
-34
0
0
0
109
0
-9
52
0
0
0
7
0
-5
13
0
0
0
12
0
18
0
0
0
0
32
0
-3
0
0
-24
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
58
0
0
-2
0
0
0
-218
0
-3
26
0
0
0
-150
0
0
0
0
0
0
155
0
0
0
0
0
0
32
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
26
0
0
0
-42
0
0
14
0
0
0
-136
0
0
-39
0
0
0
44
0
0
-6
7
0
0
-63
0
0
0
0
0
0
8
0
0
-2
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-95
0
0
-2
0
0
0
-74
0
6
18
0
0
0
-59
0
0
10
0
0
0
-14
0
0
-3
0
0
0
16
0
0
0
0
0
0
33
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
-9
1
23
1
5
-3
-21
29
0
0
60
0
-8
0
14
-18
-27
0
0
0
0
26
-5
0
0
0
-6
-9
-52
0
4
-17
-48
8
31
-35
0
0
12
1
10
6
-2
0
1
58
91
4
-16
56
-18
-24
123
11
-59
3
63
1
0
33
-150
-13
0
25
0
0
112
0
-34
0
25
0
-4
-27
-61
20
0
3
0
0
1
0
-19
-2
62
-36
0
-2
0
0
-2
16
-5
-64
1
-2
8
0
-5
0
0
25
63
-16
7
4
0
77
140
-22
1
19
26
0
-14
57
26
-14
0
117
2
-67
21
12
0
0
15
0
7
27
2
0
0
16
0
-52
10
0
-31
0
-89
-50
-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
-56
-7
1
-12
-3
-28
11
157
-4
0
-27
-21
30
-74
-2
-2
-11
-49
32
-5
3
-61
-17
118
3
-13
-16
33
1
3
2
76
51
66
-5
-11
-4
-19
6
29
-13
73
57
-7
76
-79
8
-31
-20
-17
0
18
53
13
61
23
-25
0
90
81
-12
-20
-27
135
-29
110
-25
52
51
5
21
-2
91
-68
-52
-61
-24
-8
1
-137
-10
-49
-21
-99
37
-3
65
-11
-88
48
-14
60
6
-26
11
172
-60
124
-45
14
16
-38
36
18
45
-46
13
3
-124
12
48
-46
15
13
-66
12
-99
62
0
95
0
12
46
-87
57
11
-3
-19
-21
-27
-55
-37
48
42
-9
-20
-55
-166
-110
-24
-5
-27
66
-32
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
15
0
0
0
0
0
0
-14
0
1
0
0
0
0
-12
0
0
0
0
0
0
-18
0
0
0
0
0
0
25
0
0
0
0
0
0
-48
0
0
-20
0
0
0
3
0
0
12
0
0
0
-7
0
0
0
0
0
0
24
0
0
2
0
0
0
42
0
0
0
0
0
0
13
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
41
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
0
-11
0
0
0
0
0
0
55
0
0
0
0
0
0
-38
0
0
0
0
0
0
-45
0
0
-6
0
0
0
110
0
0
0
0
0
0
-67
0
0
55
33
0
0
0
0
0
70
0
0
0
54
0
0
-4
0
0
0
60
0
0
9
0
0
0
56
0
0
0
0
-15
0
-41
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
5
66
0
8
-25
0
0
0
-2
0
0
-35
-3
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
23
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
-46
-24
0
79
-44
2
-15
7
64
12
-8
-2
-95
61
0
0
32
-201
0
86
0
-1
1
19
0
-4
146
0
153
2
13
22
-9
80
-44
122
37
-1
-4
-45
-52
-72
56
-7
-13
29
5
57
-41
-28
10
71
40
-70
81
5
-1
4
-1
-19
-43
-44
37
17
56
0
93
-2
-4
94
21
56
2
-7
31
92
-2
0
9
-19
9
0
-131
78
0
25
-54
-2
-9
-12
1
4
-72
-3
4
-22
-3
-9
41
-4
-17
-4
-171
33
-41
81
8
23
-31
-27
124
27
-4
63
38
-65
11
76
8
0
9
0
8
-43
-120
0
0
-23
21
38
-1
31
-6
-3
8
0
-33
-13
-22
13
0
53
63
-1
-4
-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
-166
0
-28
25
0
0
0
-56
0
0
0
0
-3
0
1
0
0
0
0
0
0
-128
0
0
0
0
0
0
46
0
-5
0
0
0
8
-30
0
0
0
0
0
2
-95
0
0
-14
0
0
0
-53
0
0
-45
0
0
0
16
0
0
-12
0
0
2
-46
0
0
-10
0
-4
0
24
0
0
-2
0
26
0
-54
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
1
0
0
0
0
165
0
0
-8
0
0
0
63
0
-7
0
0
0
0
23
0
-14
-2
2
0
0
14
0
-2
0
0
0
0
4
0
0
0
0
0
0
31
0
0
0
0
-34
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
2
0
0
0
59
0
0
0
0
0
0
76
1
0
0
0
0
0
55
0
0
0
0
0
0
12
0
0
0
35
0
-5
38
0
0
40
0
0
0
-65
0
0
-13
-5
0
-3
-18
0
4
55
0
0
0
-16
0
0
90
0
0
0
24
0
0
0
0
0
0
102
0
0
0
0
0
0
129
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-4
0
0
-40
0
0
11
0
0
0
18
0
0
11
0
0
0
100
0
18
0
0
0
0
-9
0
0
0
0
0
0
-136
0
25
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
42
0
0
0
0
0
0
53
9
0
0
0
0
0
89
0
0
0
0
0
0
-16
0
0
3
0
-4
0
-81
0
0
19
0
0
18
-90
0
0
60
-2
0
0
-60
0
6
2
13
0
0
-93
0
0
20
19
0
0
26
0
0
2
0
0
0
-54
0
0
-3
-3
38
0
64
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
5
0
0
0
0
-127
0
0
9
0
0
33
-16
0
7
0
0
0
0
36
0
13
-3
-4
0
0
-103
0
7
-1
0
0
0
-68
0
0
1
0
0
0
-16
0
15
3
0
-3
0
-20
-10
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
-5
12
-8
15
-34
42
53
0
2
-131
93
63
-89
-20
-9
30
-32
3
33
43
63
-36
20
-63
-61
-7
64
59
-8
-7
-38
-35
26
-54
14
-42
12
5
-6
9
-16
-27
7
-4
25
3
-5
-144
-126
-100
-25
-63
61
-52
-6
-20
83
0
6
7
-123
40
11
-46
-4
-63
-71
32
-65
-27
-1
-63
91
21
-79
-116
-41
54
55
34
71
0
-27
62
-11
59
8
-28
50
136
-15
-13
0
40
-119
-7
-24
14
20
-17
58
21
7
-18
-2
-37
-15
-47
-45
-71
55
-68
-42
24
-21
-4
36
-128
12
-8
0
-2
-32
-41
2
-56
-9
0
73
11
45
-70
42
-15
-3
71
-8
40
-142
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
3
0
7
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
123
6
-48
0
-18
-47
0
0
-6
-12
0
-8
-65
0
-19
-10
33
3
-18
-1
-13
36
24
2
-1
8
0
19
-32
-6
-1
-25
-3
0
0
0
12
-35
6
18
-9
-49
19
-118
63
-36
0
-5
-23
47
66
56
13
17
0
94
99
10
165
-9
6
0
14
41
42
33
0
-19
-16
4
0
47
-55
0
-22
-56
0
27
52
0
-12
-95
30
-88
17
8
52
-51
-27
-17
-2
42
46
32
-16
3
0
-16
-165
-63
-3
-17
0
0
21
-24
36
-6
-34
-36
20
-98
-34
67
18
4
-32
0
-22
-83
47
-78
-55
52
0
42
100
0
-20
0
7
-28
-13
25
-20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
35
120
0
26
-80
-13
0
-17
0
0
5
25
0
0
0
0
102
10
0
0
-75
-22
-41
3
14
0
0
-70
0
-67
23
-7
1
48
41
22
2
-19
-20
-2
-6
12
243
-62
0
-111
4
12
-80
31
-13
-14
-32
6
0
48
0
-25
0
-9
3
-4
1
8
151
0
-2
-7
0
0
-6
0
0
43
28
0
33
-37
0
0
3
1
14
5
0
-6
3
-13
0
31
72
192
0
2
21
0
-41
-62
-4
-54
0
-33
-1
-8
-78
43
-8
11
84
0
-21
-4
-8
22
0
32
0
21
7
-23
0
0
-9
-4
114
0
-6
-70
0
-64
-11
-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
-15
0
0
-24
0
-8
0
-8
-2
-11
0
0
0
0
4
0
0
0
0
0
5
25
0
0
7
0
0
0
-70
0
0
-78
0
0
-2
2
0
0
-10
0
0
-37
-81
0
0
42
0
0
0
-69
0
2
-18
0
0
0
180
0
0
3
0
-6
0
-54
0
0
-7
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
14
-9
0
0
0
-42
0
0
-20
0
0
0
-19
0
2
11
0
0
-5
-100
0
0
74
0
0
0
69
0
0
-6
0
0
0
-147
0
-5
-6
0
0
0
14
0
-12
0
0
-22
0
-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
0
0
0
0
0
0
0
0
0
55
0
0
-1
0
0
0
-35
0
0
0
0
0
0
-28
0
0
0
0
0
0
58
0
0
4
0
0
16
-55
0
0
0
0
0
0
56
0
0
-13
6
0
0
63
0
0
18
0
0
0
45
0
0
10
1
0
2
-33
0
0
0
0
0
-2
-6
0
0
38
0
0
0
-36
0
0
0
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
12
4
0
0
15
0
0
-11
0
0
0
-22
0
0
0
0
0
0
-41
0
16
7
0
0
0
-51
0
0
1
0
0
0
-33
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
13
0
0
0
0
0
0
115
0
0
0
0
0
0
27
0
0
0
-10
1
0
-1
0
0
10
0
4
-4
-53
0
0
7
-32
0
0
16
0
0
22
0
0
0
57
0
0
25
0
0
0
2
0
0
0
0
26
0
133
0
0
0
0
-11
0
53
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
0
9
0
0
0
0
-27
0
0
8
0
0
0
17
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
-31
0
0
0
-22
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-14
11
0
0
10
-74
-1
2
-1
34
-37
108
0
-4
-47
42
64
-13
-28
0
13
2
39
75
5
29
8
7
42
-53
166
44
22
86
-3
60
-36
48
12
50
-2
23
0
-52
184
-112
52
1
38
33
62
259
43
0
14
-27
-19
123
104
0
11
-3
-8
-4
-183
116
-15
-30
-53
-21
5
-78
20
-5
94
2
21
50
11
95
44
106
1
115
7
-7
-11
-20
41
-18
-7
103
-92
44
-9
47
0
-57
78
-70
-56
29
110
53
-93
-15
147
71
0
-54
-17
-10
-26
14
88
5
0
0
82
-63
-60
67
-11
65
52
34
-23
-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
6
0
0
0
0
0
0
86
0
0
0
0
0
0
-12
0
0
0
0
0
0
-26
0
0
20
0
0
0
-17
0
0
-10
0
0
0
1
0
0
-11
0
0
0
28
0
0
-3
0
0
0
-15
0
0
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
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
1
0
0
0
0
0
-8
4
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
31
0
0
0
0
0
4
0
0
0
-10
0
0
0
29
0
0
-9
0
0
0
6
0
0
1
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
21
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
-10
0
0
19
0
0
0
-3
0
0
0
0
0
0
3
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
30
14
6
0
0
0
0
6
0
0
0
0
-5
0
-3
0
0
-12
1
35
37
71
0
0
66
0
-10
39
-47
2
0
118
7
-3
0
-57
0
0
-24
-5
29
0
-7
0
0
-2
-15
2
3
-25
0
-4
-1
0
-22
0
-239
0
3
0
0
-47
0
9
-6
0
0
0
-27
0
135
0
0
0
0
0
0
-20
0
1
0
0
7
0
17
0
0
16
0
0
0
-49
0
6
-17
0
1
0
50
0
0
0
-19
0
0
-34
0
0
0
0
0
0
150
0
0
0
-3
-11
0
-141
0
41
0
0
0
0
-76
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
-90
0
0
0
0
0
0
-16
0
0
0
0
4
0
93
0
0
0
0
0
0
39
0
0
5
0
0
0
6
0
0
4
0
0
0
97
0
0
-4
0
15
0
88
0
0
0
0
-4
0
-132
0
0
-11
0
-15
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
22
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
-13
0
47
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
87
0
0
1
0
0
0
-20
0
0
-1
0
0
57
-5
0
5
29
-8
0
-23
14
2
0
68
-37
0
2
32
7
5
-18
50
0
0
-70
0
1
40
-4
0
0
-89
0
0
-13
0
0
0
-192
0
0
-2
-8
0
0
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
60
0
-41
0
0
0
-2
-59
0
27
86
-17
0
-3
90
0
-17
7
16
0
0
125
0
50
-51
0
0
0
29
0
77
13
0
0
0
-33
0
9
-9
0
0
0
-195
0
-1
0
0
0
0
78
-74
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
-18
-25
56
-15
-4
15
-44
28
62
21
71
73
-14
-93
-42
12
-14
14
50
-14
-35
-55
-5
28
30
30
1
50
-72
24
-27
1
-52
-4
-112
-128
70
5
119
-13
-11
-49
-119
-33
-63
14
78
-7
73
42
-51
-2
19
-17
0
7
-73
-52
-67
15
57
-11
29
-46
42
54
-16
30
1
38
-31
-6
8
24
-22
30
-71
1
15
98
-16
-23
6
-44
-26
14
44
-30
-12
44
0
-29
21
41
16
85
6
-22
-21
39
33
44
-20
-12
-2
-73
22
108
49
-60
11
99
-102
70
112
19
-47
0
147
-18
35
-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
56
0
0
0
0
0
11
-90
0
0
89
3
20
0
-38
0
0
10
0
-4
-9
30
3
0
147
2
-49
3
26
0
0
-13
0
-22
0
-14
-2
7
-17
15
-11
2
-17
0
0
69
-31
88
0
120
0
0
-3
0
106
0
-106
0
-3
0
0
-10
0
-4
0
0
0
0
0
-1
-37
0
3
0
0
0
0
-48
0
9
2
-9
0
0
-53
0
-116
11
0
0
0
0
0
8
10
51
0
0
-106
0
2
0
0
0
3
-46
0
0
-1
0
-10
0
19
0
-9
-10
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
-62
0
7
-9
22
0
-2
-51
0
0
-5
17
12
16
-124
2
-9
-28
-12
-4
0
-18
13
0
64
40
49
0
85
0
16
27
12
5
0
-100
0
0
91
0
29
8
116
0
0
-15
2
-151
0
-85
0
0
0
0
0
-2
-28
0
0
0
0
0
0
-47
0
26
0
0
39
2
-4
0
0
-15
0
1
2
145
0
13
37
0
27
0
-22
0
0
-56
3
-2
0
-7
0
0
9
0
0
0
-5
0
0
43
2
12
0
-167
0
-1
-16
0
-26
-1
45
-19
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-11
0
0
-1
0
0
0
-9
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
-2
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
-6
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
6
0
0
0
83
0
0
-2
0
0
0
8
0
0
-2
0
0
0
-3
0
0
-12
0
0
0
-53
0
0
7
0
0
0
-43
0
0
0
0
-6
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
-11
0
9
0
0
0
0
-35
0
0
0
0
0
0
-60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
7
0
0
0
-3
0
0
19
0
0
0
-14
0
0
3
0
0
0
-43
0
0
-2
0
0
0
25
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
6
0
0
0
17
0
9
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
-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
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
14
0
0
0
0
0
0
7
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
-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
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-55
-1
-41
10
-83
-63
-94
15
-15
-1
20
-86
-1
-11
-20
-29
-70
24
-14
-6
-44
11
-6
-63
24
-31
5
-58
9
-105
-49
61
-45
-12
50
9
66
17
-1
-70
-20
28
-31
3
-10
-83
-61
40
0
16
5
41
-16
-87
4
30
0
22
-17
-28
22
0
-89
-21
46
29
-11
4
7
44
30
-7
114
-18
-18
82
-12
-12
-16
45
28
-92
112
41
-2
30
-123
-19
-11
19
7
-25
-16
48
24
-55
13
6
14
-15
130
-20
-49
18
9
-15
-6
45
-4
-150
27
-8
-27
12
25
-161
-117
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
7
0
0
0
6
0
-12
19
0
0
14
0
0
3
44
0
0
-11
3
0
0
-23
0
0
25
0
0
0
4
0
14
4
0
0
0
64
0
0
6
0
-9
0
76
0
0
3
0
-47
0
-77
0
0
0
0
0
0
-96
0
0
0
0
0
0
2
0
-6
0
0
0
0
65
0
0
0
1
0
0
-3
0
-6
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
0
0
3
0
28
0
0
-1
0
5
0
-71
0
-1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-2
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
-1
-2
0
0
-17
0
-6
1
0
0
0
22
0
0
3
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
-1
0
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
3
0
0
0
0
51
0
0
0
0
0
3
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-68
0
0
2
0
0
0
-45
0
0
-2
0
0
0
89
0
0
-14
0
0
0
-94
0
0
16
0
0
0
-79
0
0
0
0
10
0
-12
0
0
0
0
-5
0
-101
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
-7
0
0
-3
0
0
0
1
0
0
0
0
0
0
-7
0
2
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
12
0
0
0
0
0
0
-41
0
0
0
0
0
0
-36
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
67
0
0
0
-54
0
0
-12
0
0
0
-6
0
0
0
0
0
0
-44
0
0
0
0
0
0
-23
0
0
0
0
0
0
61
0
0
0
0
0
0
-16
0
0
-10
0
0
0
0
0
0
2
0
0
0
27
0
0
0
0
0
0
-24
0
0
-18
0
0
0
0
0
0
26
0
0
0
-2
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
-4
-92
0
0
-104
0
0
0
68
0
0
37
5
0
0
15
0
-8
4
-3
0
0
-13
0
6
48
0
0
0
75
0
0
-7
0
0
0
73
0
0
0
0
-52
0
-27
0
0
0
0
0
0
17
0
0
0
9
0
0
21
0
0
0
0
0
0
-63
0
27
-8
0
0
0
-27
0
0
0
0
0
0
-5
0
14
0
0
0
0
4
0
11
0
0
0
0
-50
0
0
-32
0
0
0
-87
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
-57
28
112
152
-47
20
6
15
12
-75
-83
36
17
31
-83
62
-18
163
-23
-10
-52
13
21
-72
51
-73
9
14
-28
-89
56
78
-9
108
-24
26
-25
-23
84
0
45
43
-7
1
43
1
-2
16
6
-3
-10
-8
5
-14
0
35
15
-116
24
-10
49
-33
3
8
112
-80
43
-124
16
9
46
50
-172
31
86
-122
40
-61
-69
-66
-26
25
-41
-2
-18
20
-113
41
10
47
0
37
3
-13
28
-4
-60
13
-103
-13
19
-40
-1
-15
-15
14
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
0
0
-13
0
0
0
-22
0
0
0
0
0
0
-42
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
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
-25
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-13
0
0
2
48
0
0
7
-7
0
3
-59
0
2
1
0
0
0
-21
0
0
-16
0
0
0
32
0
0
0
0
5
0
-2
0
0
1
0
29
0
7
0
0
0
0
-2
0
0
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-17
0
-3
0
-1
0
-3
-10
0
9
14
0
0
0
49
0
0
0
0
0
0
39
0
9
0
0
0
0
-4
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
4
0
-7
-6
25
1
0
7
65
0
-9
44
0
-5
49
91
-8
10
78
0
-12
68
31
-3
3
60
0
0
74
0
20
0
-57
0
0
-18
0
-42
0
-23
0
0
0
0
14
0
-4
2
0
0
0
0
0
-53
0
25
0
0
0
-1
-30
0
4
1
32
0
0
2
0
-12
17
4
0
0
39
0
0
52
-100
0
0
-85
0
-16
-65
-2
0
0
71
0
0
0
0
9
0
28
0
-13
0
0
-18
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
3
0
0
0
129
0
8
-1
-16
4
0
100
40
1
0
12
-18
1
146
-4
-23
-6
60
0
0
83
6
2
-2
-5
0
0
32
0
-20
0
114
0
0
-1
0
-35
0
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
-80
0
6
10
0
0
15
-46
0
0
-5
0
0
0
-59
0
-63
16
0
0
0
10
0
-3
46
0
24
0
-95
0
12
-6
0
12
0
11
0
0
17
0
34
0
53
0
14
3
0
10
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
-7
-52
0
0
-39
0
0
-13
-67
0
0
-15
-17
0
-7
4
0
-7
-29
0
0
0
-163
0
0
68
6
0
-3
41
0
1
2
0
0
1
10
0
0
33
0
0
0
-20
0
0
0
0
0
0
16
0
0
0
0
0
0
-52
0
25
0
0
0
0
28
0
0
0
0
0
0
-45
0
-7
28
0
0
0
-59
0
1
11
5
0
0
26
0
0
2
2
0
0
9
0
0
-23
0
0
0
-2
0
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-55
-1
-13
-2
26
0
4
-28
-1
0
0
-23
13
0
-120
53
0
0
9
0
0
28
-6
8
1
78
-2
0
18
1
12
0
53
0
0
0
1
0
0
-141
14
0
0
0
0
0
-59
-3
-47
19
0
0
0
72
0
0
101
16
0
0
-21
0
10
14
0
0
0
64
0
1
11
-31
0
0
-26
0
65
-2
-14
0
0
1
0
0
28
0
0
0
36
0
-10
0
0
-12
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-96
-35
-19
18
7
-5
17
-36
9
13
-46
-2
38
-83
-78
56
-75
-40
13
11
5
38
52
-63
-43
-36
34
4
51
74
-76
-35
-12
8
-51
7
-89
55
-90
81
-20
90
15
-109
-60
-32
5
-6
-25
-34
36
-74
55
-99
0
-19
-2
40
35
-66
30
-48
26
-50
-20
6
132
28
-52
-87
30
-59
-160
-111
-123
-23
-3
21
33
7
-78
7
13
-54
88
23
66
-70
-4
0
1
-20
-102
5
-66
-10
30
28
-3
51
89
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
56
0
0
0
-5
0
0
-52
0
0
15
0
0
0
19
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
93
0
0
0
0
0
0
0
0
22
-1
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
55
-29
145
22
-3
0
-13
-10
2
1
1
10
-2
0
41
54
-5
0
-2
0
0
-66
0
-165
4
40
0
3
67
65
-23
0
-28
0
0
13
-1
1
0
73
-9
0
0
-14
0
0
-56
1
-6
-11
8
9
28
136
0
-14
26
19
0
-11
-15
0
-35
65
0
9
17
-12
-1
6
-30
12
0
2
24
0
-41
-29
5
5
0
-197
0
5
16
28
5
0
47
0
-27
-7
-1
113
0
27
-18
3
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
-136
0
0
22
17
0
0
-27
0
0
-8
0
0
0
-96
0
0
6
0
0
0
-14
0
0
-4
0
0
0
61
0
0
0
0
8
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
65
0
0
1
0
0
0
0
0
-1
0
0
0
0
29
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
-9
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
0
0
0
0
0
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
-108
12
0
0
-45
0
0
-26
0
0
0
22
0
-3
10
0
0
0
38
0
0
17
3
0
0
169
0
0
24
0
0
0
-27
0
0
0
0
0
0
74
4
0
0
-2
0
0
50
0
-24
0
-1
0
-5
-63
0
0
-5
0
0
0
45
0
0
14
0
0
0
53
0
3
57
3
0
0
-3
0
-16
-5
0
0
0
-38
0
0
-16
0
0
0
46
0
0
-8
0
0
0
-90
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-11
-1
-3
0
13
70
7
0
1
69
-23
0
-49
0
0
-2
-14
0
18
-138
1
0
-43
0
73
0
-18
2
0
0
0
26
0
58
0
-2
0
0
0
0
-39
0
-36
-7
0
-16
0
-10
0
5
-2
-11
0
0
29
0
119
-68
52
0
0
-3
0
-6
85
4
0
0
-3
0
2
-39
5
0
0
-72
0
-4
-11
-10
0
0
3
0
-9
0
0
0
-1
-93
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
143
58
-32
8
-21
-60
-14
36
39
-40
48
-29
66
13
17
-61
19
-223
-80
15
-48
-9
-10
-36
-69
-94
-2
12
-70
10
3
116
66
19
-63
67
-3
140
-24
-8
-25
-6
31
20
41
11
-22
56
-48
10
131
-36
57
-21
-23
0
-17
44
-15
-22
3
21
-49
-18
2
-47
-103
-51
-41
-30
34
-7
50
-13
-115
-1
-19
-25
74
-44
-26
1
-19
-30
26
-136
82
-40
6
0
-8
28
19
-149
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
28
0
0
-5
1
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
4
0
0
0
0
0
-8
0
1
0
0
0
0
11
0
0
-27
14
0
0
8
0
5
0
0
0
0
-13
0
9
-4
0
0
0
-10
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
6
0
18
0
0
20
0
0
0
-122
0
0
0
0
0
0
22
0
0
0
0
0
0
98
0
0
0
0
0
0
20
0
0
0
0
0
0
-15
0
6
0
0
-3
0
-8
0
0
0
-2
0
0
-71
0
0
6
0
2
0
-3
0
7
0
0
0
0
15
0
1
0
0
0
0
-3
0
0
0
0
0
0
15
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
70
-27
-2
7
-17
-42
31
78
20
12
-2
19
35
-60
48
8
0
10
-15
-25
49
-5
-21
0
7
-89
63
30
0
-17
29
0
-2
-17
-16
-5
-79
78
0
-3
118
0
10
14
-5
71
-11
78
66
32
-13
50
-6
-4
25
-14
47
58
11
-43
-40
45
0
0
-23
0
47
84
-3
2
-7
47
6
-79
18
48
8
8
17
0
-5
-17
48
53
33
20
0
-46
18
-4
27
0
-67
114
-17
-49
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
42
37
0
7
47
38
90
-23
-35
0
-6
90
21
8
-33
23
0
0
68
0
-2
0
-125
0
-2
81
0
8
0
45
-8
0
-3
0
3
0
53
8
0
0
-4
0
0
-89
-6
159
-12
0
2
-15
78
4
0
73
0
-1
-18
72
0
-11
36
2
0
-10
-29
0
8
-156
-16
0
0
13
5
-29
63
0
-15
0
111
0
-1
141
0
0
-1
-56
0
17
-6
7
-3
0
-45
145
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
12
4
0
0
-18
0
0
5
15
0
0
-38
0
0
0
0
0
2
-44
0
0
-1
0
0
0
7
0
0
-2
0
0
0
-26
-1
0
0
0
0
0
-45
0
0
0
0
0
1
110
0
0
0
-8
0
0
-21
0
11
-93
0
0
0
0
0
0
-1
0
0
0
19
0
-12
0
0
0
0
102
0
0
-3
0
0
0
-158
0
4
-3
0
0
0
-56
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
9
0
0
-58
0
0
28
0
-7
0
38
0
0
63
-3
-89
0
23
0
0
0
0
0
0
56
1
-12
0
27
0
0
38
0
-11
1
0
0
14
-43
0
-13
57
-12
0
2
-19
0
86
-8
17
0
0
231
0
5
9
9
0
3
33
0
12
14
0
0
0
-5
0
0
18
3
0
0
20
0
-43
0
0
6
0
-28
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
1
-43
55
-61
-59
18
19
5
29
-20
-165
-5
6
-21
-12
40
20
-54
-1
-12
63
-1
-2
-41
55
-8
32
-91
12
45
-28
3
67
-8
44
15
-70
-7
-44
-96
-30
30
-83
90
90
-1
-121
-9
9
-29
-29
-135
-10
-5
0
59
99
-7
77
28
-16
99
-16
-64
-20
-55
-25
-35
61
-5
-14
23
21
-28
-2
-24
-23
85
102
33
-77
1
-46
-59
37
93
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
-41
0
0
3
0
21
0
30
0
0
0
0
2
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
54
0
0
0
0
0
0
-26
0
18
0
0
0
0
-4
0
-6
-14
18
0
0
-22
0
0
0
0
0
0
1
0
0
-11
0
0
0
-69
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
0
0
0
0
0
0
-9
-15
0
0
12
0
0
0
48
0
0
0
0
11
0
-36
0
0
4
4
15
0
-48
0
0
0
0
0
0
58
0
0
0
0
0
0
-48
0
-34
14
-1
0
1
23
0
0
-19
0
0
-6
4
0
41
3
0
0
-1
56
0
0
4
0
0
0
56
0
-10
0
0
0
0
-16
-1
0
0
0
3
0
-38
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-6
-7
-57
12
-11
-55
26
0
1
-46
-67
-73
8
29
5
17
1
-23
45
0
0
-4
0
-5
45
-7
0
38
-101
0
1
3
0
1
-20
4
46
3
1
51
-29
-32
34
0
10
66
41
-30
16
-3
-58
-95
89
50
-3
30
-27
32
-52
84
0
0
49
1
-12
-75
-9
16
1
44
4
2
21
-97
67
-9
11
0
50
-17
-34
94
-2
-14
-13
0
-13
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
-34
-33
0
0
42
0
0
0
-67
0
0
82
0
-5
0
18
0
0
-33
0
46
0
-48
0
0
0
0
0
0
-40
0
0
0
0
0
0
-123
0
-28
-5
0
0
4
40
0
-7
38
16
0
0
23
0
-34
-9
0
0
0
-55
0
-15
1
-28
0
0
25
0
59
40
0
0
0
-89
0
0
85
0
0
0
25
0
-1
0
0
-5
0
-66
-38
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-4
0
0
-13
0
0
34
5
0
0
-42
0
0
69
0
0
0
-34
0
0
0
-24
0
0
64
0
0
0
-8
0
0
-60
0
3
0
0
0
0
132
0
2
14
-9
0
0
16
0
-71
33
0
0
0
57
0
0
180
26
0
0
26
0
4
-53
0
0
0
32
0
2
21
0
0
0
16
0
-3
-1
0
0
0
-64
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
28
0
0
15
0
0
0
68
0
0
0
0
9
0
14
-11
0
0
0
0
0
-15
0
0
0
0
0
0
-23
0
-4
0
0
0
0
-31
0
0
6
0
0
0
42
0
-6
18
2
0
0
64
0
-1
0
0
0
0
84
0
-1
0
4
0
0
72
0
0
0
0
0
0
18
0
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
28
53
-148
-76
25
-22
129
-52
-162
-19
-1
2
-53
32
-11
-52
-8
-3
-19
38
0
24
6
-1
90
-14
78
-3
-20
114
-1
104
-29
0
70
45
64
45
39
36
39
-105
51
-9
-33
1
-9
-56
-17
-62
-75
56
-63
0
-12
17
-18
57
1
-14
52
58
79
-40
-30
-41
-53
1
5
-71
-14
-62
-5
0
-53
6
8
-244
-73
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
44
0
0
0
0
-44
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-19
0
0
0
0
-1
0
0
-14
0
0
0
10
0
0
0
0
0
0
9
0
-8
0
0
0
0
8
0
-33
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
8
0
1
0
0
0
46
0
0
0
-10
17
0
26
0
0
0
0
0
0
53
0
0
0
0
0
0
-43
0
-8
0
0
0
16
41
0
0
-5
0
0
-24
4
0
6
10
0
0
0
3
0
0
-14
0
0
0
-67
0
2
0
0
0
0
-8
0
-5
0
0
0
7
27
0
0
0
0
-1
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
119
20
0
0
0
69
-54
-2
-22
-13
-54
7
-30
96
0
53
-5
0
0
0
0
0
-66
-27
0
3
48
0
0
-16
-3
-21
0
12
-19
1
7
0
38
64
116
23
-3
27
-33
78
-17
-26
-6
-56
-32
-2
3
-59
25
-18
0
-14
-2
-56
0
-2
0
0
37
4
0
48
-24
36
8
54
-12
-97
0
0
42
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
93
0
-2
-8
-24
0
12
-46
0
-10
0
-13
0
0
0
0
-23
0
-192
1
0
0
0
0
0
-100
0
-18
23
0
22
14
-71
0
0
136
-3
0
2
41
0
23
218
0
50
-29
22
0
0
18
0
-15
0
98
0
35
34
0
0
0
10
0
1
-94
0
20
0
13
0
-13
31
0
-13
0
-112
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
-1
0
2
-25
0
0
0
5
0
0
0
0
0
0
-78
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
9
0
0
0
0
99
0
0
-18
3
0
1
-109
0
-7
-39
0
0
0
82
0
12
69
0
0
0
28
0
41
49
0
0
0
-38
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
27
0
0
0
0
0
0
-5
5
0
0
0
0
0
46
0
0
0
0
0
0
95
0
0
12
0
0
0
-75
0
-11
0
0
0
0
30
0
-4
8
0
0
0
-31
0
1
-7
0
0
0
103
0
0
0
0
0
0
-5
0
-30
4
0
-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
33
4
78
-70
1
32
-5
-1
-20
-83
-5
4
-24
-52
-10
46
6
-3
5
-7
-2
65
45
-4
19
5
-37
-19
52
5
-45
-65
-33
-21
30
-103
8
21
-5
11
96
59
74
-7
-20
-109
-15
96
14
46
7
38
-40
-13
-48
156
-29
0
47
36
-16
49
78
4
13
-51
-12
89
42
47
1
-3
-67
125
16
128
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
84
0
0
0
0
0
0
-41
0
0
0
0
0
0
12
0
-1
0
0
0
0
-20
0
4
2
-4
0
0
2
0
0
0
0
0
0
101
0
0
6
17
0
0
-1
0
0
1
0
0
0
43
0
0
8
0
0
0
2
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
-98
0
-1
10
142
51
0
-10
0
0
0
0
0
0
43
0
0
0
4
0
0
-142
0
25
-3
0
-4
-4
0
0
0
160
-10
17
-1
21
1
-49
-6
6
0
0
11
0
-2
9
114
25
0
-34
0
46
-5
0
-2
0
45
0
0
0
113
0
0
-77
0
26
27
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
4
0
-10
0
51
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
7
0
0
0
0
36
0
0
0
0
0
0
5
0
0
31
0
0
0
95
0
-10
-11
0
0
0
-42
0
0
0
0
0
0
62
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
20
0
0
-58
-7
0
84
-8
0
0
-30
0
0
0
0
0
0
-16
-43
26
-20
-2
0
5
73
0
-5
26
-3
0
2
-27
0
-107
8
-18
0
0
-66
0
22
42
72
0
0
18
0
104
-21
0
0
0
56
0
0
1
13
-3
0
-78
0
43
8
0
0
0
-137
76
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
0
0
0
67
0
2
5
0
0
0
2
0
0
10
0
0
0
-7
0
-12
0
0
0
0
18
0
0
0
0
0
0
79
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
-85
28
0
-2
20
0
-8
-4
-5
0
-18
-45
0
9
124
43
-47
45
-15
109
-43
-2
-8
-9
76
-164
3
21
-3
-1
68
55
-39
43
8
-63
4
28
77
-67
-39
-16
78
-27
-125
-79
-99
-6
8
-31
11
49
59
-58
101
43
0
0
-10
-40
-55
-4
1
6
-53
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-11
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
87
0
0
0
0
0
0
-9
0
-2
0
0
0
11
-88
0
0
54
-5
0
9
-12
0
-26
12
-2
0
0
3
0
13
0
13
0
0
-9
0
31
0
0
0
0
-52
0
0
1
0
0
0
-48
0
-4
0
0
0
0
-51
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-98
0
0
-3
0
0
0
31
0
29
-4
0
0
0
-47
0
3
-55
0
0
0
-7
0
-31
-21
0
0
0
13
0
0
6
0
0
0
58
0
-5
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-38
-12
0
0
42
20
0
-11
-1
0
-9
3
0
94
40
30
0
12
57
0
0
-88
-26
0
16
-56
0
-15
103
-54
0
4
97
0
1
91
-37
0
0
73
0
78
121
-51
0
0
-3
0
0
61
3
0
0
-147
0
105
117
-2
0
0
83
-34
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-2
23
11
-13
-31
24
-59
-53
69
40
-92
42
18
16
-128
-37
62
74
-16
-9
44
-4
-70
-17
-40
-65
0
10
-88
10
9
-106
-52
-1
61
-16
16
-96
22
-22
-22
-5
16
22
39
-34
27
-30
-44
-27
41
-78
29
-1
0
-2
-29
-34
-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
-4
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-9
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
2
-5
-3
0
0
-6
0
0
0
0
0
0
-34
0
29
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
-13
0
-23
40
0
0
0
-7
0
0
26
0
-8
0
7
0
3
0
0
0
0
-14
0
0
0
0
0
0
-89
0
9
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
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
23
0
0
0
10
0
0
45
0
0
0
0
0
0
5
0
14
-10
25
0
0
56
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
1
0
0
0
0
-52
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
-93
17
-32
-20
-12
0
31
-57
-31
-2
5
-67
0
-12
10
-49
12
0
-34
-4
2
-127
72
-4
0
-19
14
49
102
14
44
0
-32
4
-1
167
-5
4
0
-22
0
-118
12
1
-13
0
63
-28
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
-9
0
8
13
0
0
0
27
0
0
0
0
0
0
29
0
0
-8
0
0
0
22
0
0
0
0
0
0
-43
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
7
0
0
0
2
31
0
0
10
0
0
0
57
0
0
97
0
0
0
42
0
4
-3
0
0
0
5
0
12
-2
0
0
0
-6
0
0
-2
0
0
0
-75
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
-35
0
0
0
0
0
0
36
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
95
14
-17
24
-29
-19
13
-17
17
23
25
-7
-106
0
-37
-124
4
59
6
-97
-14
2
-52
0
17
-60
22
0
0
-52
2
46
92
20
12
0
-62
7
55
-16
0
-121
-5
-24
-106
-9
-10
-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
-8
0
0
0
4
0
0
11
0
0
-31
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
6
0
0
0
0
0
0
121
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
4
-30
14
-5
22
-29
-23
0
-6
0
61
-6
12
0
1
-51
0
28
30
-15
0
0
-19
13
35
5
-34
0
0
-18
0
0
-23
0
-1
0
52
0
54
0
0
27
0
-49
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
-14
0
12
91
0
36
8
0
0
0
22
0
0
0
0
0
0
-56
0
0
-4
0
0
0
73
0
0
-23
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
129
0
0
-4
0
-5
0
23
0
0
0
0
0
0
0
0
-2
-12
0
0
0
-4
0
-4
0
0
0
0
-9
0
0
0
0
0
0
100
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-30
0
0
0
0
0
0
22
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
15
0
0
0
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-81
0
0
0
0
0
4
66
0
0
0
0
0
0
-72
0
-7
1
0
0
0
28
0
0
0
0
0
0
32
0
3
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
68
-69
4
3
82
91
26
-24
-82
35
73
-88
-43
-32
38
-33
-10
72
17
-89
52
-6
0
-4
-3
21
92
-22
0
-11
0
-28
-118
0
-97
0
-24
103
-13
10
-53
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
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
-1
0
0
-1
-6
0
1
-6
0
14
22
0
0
0
-42
0
0
11
1
0
0
137
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
107
-17
0
0
0
144
0
2
28
57
0
1
42
0
-13
-61
0
0
0
-37
0
0
-35
4
0
20
57
0
56
15
0
-7
0
-118
-18
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
-3
85
8
5
-22
0
-12
0
-61
0
-6
-56
0
0
0
24
0
29
26
0
0
0
7
0
0
0
0
0
0
19
0
-42
-1
0
-66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
11
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
11
0
-1
2
0
0
0
-8
0
0
8
0
0
0
96
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
21
3
-5
-9
-41
-7
-10
-7
-82
52
-23
57
-3
-1
7
47
75
47
-33
-1
-13
-13
31
-35
-2
-64
-2
-1
-13
63
21
-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
-3
0
-15
0
0
0
0
4
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
27
-6
-13
0
2
-87
6
213
66
-4
8
0
73
0
0
-23
-27
29
0
9
0
9
0
0
23
0
54
1
0
-54
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
46
133
-9
0
52
1
-4
-10
2
0
0
-110
0
-12
24
0
17
34
82
0
27
0
0
-7
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
4
0
11
-106
-2
0
0
-37
0
-27
0
0
0
0
2
0
0
0
0
0
0
16
0
2
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
-26
0
0
0
-4
0
0
3
0
0
17
0
0
0
7
0
0
0
0
0
0
37
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
36
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
51
2
-59
156
20
-1
0
-51
0
-2
62
-83
27
-5
-17
0
57
-18
0
-9
0
-64
-3
3
-98
-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
86
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-14
-41
-11
0
21
9
-61
0
0
0
0
3
0
26
0
-4
0
10
9
0
42
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
149
20
7
0
26
0
3
6
0
-2
0
124
0
-13
0
0
-69
0
26
-14
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
28
4
6
2
-23
0
0
-25
0
2
0
-39
0
-49
40
0
-3
0
-79
27
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
-10
0
0
-13
0
0
0
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
47
96
-6
72
-26
-29
78
-5
37
-42
-68
-62
-1
-24
-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
-100
0
-2
-42
-12
-1
0
-29
0
0
2
0
47
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
5
-2
-31
-37
0
36
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
34
0
-7
0
0
-7
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
7
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
14
38
-1
-10
0
-1
52
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
-102
0
-5
0
0
29
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
3
0
0
0
-36
-11
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
94
-1
92
-234
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-6
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
3
0
0
-1
0
0
0
0
0
5
-14
-4
0
0
0
1
-9
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
-29
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
-14
0
0
0
0
0
0
29
0
0
0
0
0
0
18
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
14
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
-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
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
0
0
0
7
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
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
5
31
-14
64
60
-77
52
88
56
91
11
26
-13
16
-7
27
4
-27
-30
-14
70
69
37
-120
-82
-50
-5
-1
-12
-97
-88
-112
6
24
7
-47
5
-53
-85
-22
-15
-53
-54
-66
-31
-80
0
24
-14
-76
-15
-10
-13
-78
-24
0
0
0
0
0
0
0
-27
35
159
-42
-11
-13
45
27
11
-47
-29
43
63
61
-14
78
92
-51
76
-13
49
-28
-6
37
18
21
-2
24
29
23
-51
20
2
30
21
46
-42
-68
-8
-6
-36
-17
-23
-25
-38
-58
-33
85
-9
-151
-96
-49
-71
-56
-64
24
-7
-1
-82
-28
27
39
-4
-30
-33
48
-32
-10
-84
-107
4
20
64
58
8
21
-16
16
2
24
6
-4
-71
-5
-55
6
107
-64
-12
18
-27
15
-16
-77
-80
14
-11
-34
-64
-24
-119
-20
11
-3
-88
16
-26
-54
-51
-72
-10
4
-147
21
-72
58
-105
-32
-9
-130
15
-179
-48
-70
-42
-44
23
-30
0
-5
-59
-22
-89
-63
20
12
-45
-10
-14
32
-44
17
-131
39
44
44
70
-20
-11
-41
-60
5
105
-54
45
8
-62
25
17
-18
-48
16
-12
-18
50
32
-15
14
0
-19
-118
6
0
-24
25
-53
-2
-30
-90
-55
-63
0
-28
6
-61
-17
-12
-97
-8
31
12
60
-66
22
26
70
22
-31
49
55
11
-4
10
10
-6
-41
13
15
-17
49
-58
38
114
-25
17
26
37
-30
-29
-61
52
-2
30
42
-42
-28
-67
-79
-13
-87
75
-77
-2
-92
-39
25
60
13
-49
-20
-61
48
-67
-70
46
0
0
0
0
0
0
0
0
0
0
59
0
0
0
1
0
0
0
-3
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
-6
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
11
6
0
0
-18
0
0
-8
0
0
0
-10
0
0
10
0
0
0
18
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
6
0
0
14
0
0
0
0
0
-6
-3
-2
8
0
0
0
-23
0
0
-7
0
0
-17
-4
0
0
3
0
0
0
-19
0
0
0
0
0
-5
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
44
18
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
-27
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
-47
-12
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
-22
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-2
0
0
8
0
0
0
-6
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
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-31
21
-1
-2
0
0
-3
16
0
0
11
0
0
-4
0
0
7
15
0
0
-3
-17
0
0
-15
0
0
0
-8
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
-4
0
0
0
0
0
0
1
-2
0
0
0
0
0
54
0
0
2
0
0
0
-5
0
0
0
0
0
0
-8
0
0
2
0
0
0
10
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
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
1
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
-3
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
4
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
-4
0
0
0
0
0
16
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
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
12
-6
0
0
0
0
2
0
0
-8
0
0
0
-9
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
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
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
51
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
-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
15
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
2
0
0
33
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
-4
0
0
51
0
0
-14
0
0
21
0
0
0
0
60
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
70
0
0
0
0
0
0
-3
-19
0
0
0
0
0
61
0
0
-15
0
0
0
67
0
0
0
0
0
0
-2
0
0
0
0
0
0
82
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
-36
0
0
0
0
0
0
0
9
0
0
0
0
0
-16
0
6
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
-1
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
0
0
12
10
0
0
178
0
0
21
0
10
0
-9
0
0
0
-2
-5
0
1
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-119
0
0
0
0
0
0
0
0
0
0
0
-4
-4
4
-12
-53
0
-3
-59
-1
-21
0
160
5
0
8
9
0
0
-24
0
0
-7
-2
0
0
-25
0
-1
0
-5
0
6
8
0
0
-4
4
0
0
0
0
0
0
-1
0
0
0
0
42
0
0
-78
0
0
0
-5
0
132
77
114
-36
35
0
1
-109
0
0
-55
0
0
18
-44
-7
-61
14
0
0
2
-21
0
0
-3
0
0
-41
46
0
0
6
-3
0
0
29
0
0
0
0
0
0
-25
0
-6
4
0
-7
0
-36
0
0
11
0
0
0
61
0
0
0
0
2
0
-19
66
0
-9
0
0
-1
-26
0
7
9
-35
0
39
54
-5
0
46
0
0
-36
2
0
-8
9
0
0
0
94
0
0
0
0
0
0
57
0
0
0
-7
0
0
-55
0
0
0
0
0
0
7
0
0
10
0
0
0
34
0
0
0
0
0
0
36
0
0
0
0
0
0
-75
0
-88
9
0
0
0
92
0
-34
-19
-6
0
-17
45
0
18
0
0
0
0
-24
0
0
-12
0
0
0
-86
0
-3
0
-2
0
0
-8
0
0
0
-14
0
0
26
0
5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-39
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-6
0
0
0
0
24
0
0
-5
0
0
0
16
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-22
0
0
0
0
0
0
-18
0
0
0
0
0
8
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
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
-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
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
15
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
-22
-8
0
0
-1
2
0
42
0
0
19
26
0
0
0
13
0
0
0
9
0
22
-3
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
-9
0
0
3
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
-10
0
21
0
3
0
0
0
-2
0
3
24
0
0
-32
-9
0
26
1
0
0
26
0
0
-16
3
0
-1
0
5
0
0
0
0
9
0
-19
0
0
0
0
1
0
-16
0
0
0
0
-24
0
0
-9
0
0
0
-1
0
180
-10
87
9
8
0
28
117
0
0
16
0
0
43
7
0
-36
-2
0
0
23
47
0
0
91
0
0
0
-31
0
0
-10
0
0
-5
-90
0
0
-11
0
0
0
8
0
-21
-4
0
0
0
65
0
0
0
0
3
0
-20
-2
0
0
0
0
8
-31
-7
0
-7
0
0
9
-2
-11
-6
-25
-8
0
-7
85
0
-5
-10
0
0
-3
7
0
0
-25
0
0
32
-95
0
-2
19
0
0
0
12
0
-2
-2
-11
0
0
48
0
0
0
0
0
0
4
0
0
0
22
3
0
-13
0
0
0
0
0
0
113
-1
-2
0
0
0
0
-27
0
22
0
0
0
0
-46
0
0
0
0
0
-3
-20
0
-17
11
0
0
-1
50
0
0
1
1
0
0
4
0
0
-5
0
0
0
-64
0
26
-4
0
0
0
-48
0
14
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
8
-35
153
65
25
26
-1
-19
42
-102
83
-45
12
-68
-25
-23
32
-37
38
5
-28
65
-29
4
-39
-25
-50
-27
-33
-99
-67
-58
-8
-9
-39
-48
23
-13
-19
-22
-4
-8
-18
-10
-8
-1
79
-11
0
0
0
0
0
0
0
74
23
28
56
94
28
-84
3
-106
-30
-59
12
-12
-25
-13
16
7
-18
-6
9
-40
-7
22
-35
9
-20
40
16
-26
-25
70
20
-5
-74
0
-41
-56
-41
113
-20
4
-8
-87
-76
-75
-45
-56
-18
-4
-79
-109
-43
-43
-36
-50
39
12
18
95
87
101
19
-2
53
53
107
-113
31
138
-24
19
66
-103
-51
7
15
77
-17
12
143
-59
-7
-113
21
-40
-42
-63
77
61
22
31
-48
-32
-59
-2
15
-34
32
39
-31
16
12
-7
-9
78
-101
13
56
-103
-57
-23
-6
-73
-4
26
-17
-126
17
-56
32
-20
29
-117
-15
-30
-100
-9
14
-2
42
-28
34
-8
-4
4
73
-98
0
-68
-102
8
-1
39
22
-34
-3
-53
-59
-22
-64
-74
-38
-36
60
30
19
-41
41
-15
-17
5
40
-14
31
-6
-20
-17
-13
-28
25
-37
-37
-53
6
-2
-39
15
-29
1
14
-6
-5
15
-8
33
-31
2
-142
57
-12
-27
58
-59
33
-88
-56
-151
-19
-10
-2
-20
36
58
-31
4
-28
9
-44
86
13
11
-15
-118
46
-26
83
10
-40
5
-34
3
0
-57
0
-6
11
-71
22
31
-32
53
-15
13
-46
-4
-74
161
-30
6
12
60
-19
-3
-69
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
26
-2
-153
-10
0
0
0
0
0
0
-3
0
0
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-117
0
0
-2
0
0
-91
0
0
0
0
0
0
0
0
0
0
0
120
-1
1
3
-46
11
0
-25
18
0
0
41
0
0
-39
-6
0
0
0
0
0
-17
-4
0
0
0
0
0
-14
10
0
0
2
0
0
4
17
0
-3
0
0
0
0
0
0
0
0
0
-9
0
0
-16
0
0
0
0
5
158
3
124
-21
-8
0
26
-98
3
0
157
0
0
-14
5
0
6
-16
0
0
4
-20
0
0
5
0
0
-11
47
0
-13
-6
0
0
0
43
0
0
0
0
0
0
45
0
-14
0
0
0
0
1
0
0
0
0
0
0
98
-13
0
0
0
0
-1
-107
9
0
-4
0
0
25
75
0
0
-8
-7
0
28
28
0
9
-2
0
0
-24
70
0
0
0
0
0
-1
-56
0
0
2
0
0
0
-91
0
0
-8
1
0
0
-13
0
-1
0
0
0
0
15
0
-1
0
0
3
0
-42
0
-9
0
0
0
0
83
7
0
0
32
0
0
0
0
-34
0
0
0
5
140
0
0
0
-1
0
0
-4
0
-60
-1
0
0
0
9
0
0
0
0
0
0
-18
0
-5
0
0
0
0
59
0
0
0
4
0
0
-76
0
-29
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
10
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
17
0
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
34
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
11
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
37
0
0
3
0
0
0
12
0
0
-2
9
0
0
-14
0
0
8
0
0
0
2
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
-28
0
0
0
0
0
36
-4
-2
8
-3
0
-33
66
0
0
-115
0
0
-20
6
0
10
82
0
0
-20
-37
0
0
7
0
0
0
-113
0
0
4
0
0
1
1
0
0
-10
0
0
-8
15
0
73
0
0
0
0
36
0
0
0
0
0
0
-37
21
0
0
-3
0
0
23
3
0
0
0
0
-1
-120
0
10
-14
-3
0
-6
-28
0
0
44
0
0
-12
54
0
0
-25
0
0
0
-11
0
0
-1
0
0
2
-48
0
2
-2
-1
0
0
-74
0
0
1
0
0
0
-73
0
0
0
0
0
0
44
0
0
0
0
0
0
-7
0
0
2
0
0
0
51
0
-99
1
0
0
0
75
0
1
0
0
0
1
-5
0
0
0
0
0
0
14
0
0
2
0
0
0
-27
0
0
-1
0
0
0
6
0
5
0
0
0
0
-15
0
-5
0
0
0
0
55
0
-2
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
27
66
47
121
-8
-52
-35
-12
-24
-6
-74
-34
-53
-31
-72
-11
-9
-1
3
-68
-5
-45
-47
-2
38
-17
2
0
29
4
-21
0
0
62
0
0
-18
0
2
0
6
0
0
0
0
0
0
0
-156
-161
-6
-20
-81
-79
54
-6
-88
26
67
33
4
135
-1
100
4
-47
-63
-29
40
-69
-9
-96
-5
-87
-1
24
-38
-93
-3
2
-97
1
-66
5
-35
10
0
-33
-1
-38
-1
12
4
2
52
-50
-38
-1
0
48
0
0
-11
-22
-36
86
117
28
102
-10
-2
79
90
120
-54
9
-2
2
-6
35
62
40
-18
-17
-2
-6
3
65
30
-100
-12
46
-13
-33
10
-167
-25
-32
-34
70
-54
1
-6
-106
-5
9
-8
3
-4
-67
-92
32
11
38
10
-2
-9
-4
-3
-9
0
-42
-78
-59
0
12
2
-5
23
127
9
42
-9
0
66
100
-26
-28
57
42
13
-6
10
25
43
95
-2
-8
-70
-56
-24
20
20
-11
25
-61
-17
25
54
25
-30
-21
36
-17
-2
36
-68
40
-49
-4
17
-5
62
88
-4
45
-2
-52
1
2
-10
17
23
0
-41
-2
-2
4
-8
37
-9
-37
-54
-59
-145
-19
-17
74
1
-26
-61
-109
19
20
-43
36
60
19
114
-13
-13
-51
0
88
-32
33
42
60
-18
-41
2
40
-52
7
-68
7
-19
-10
-23
84
-69
43
26
35
-5
-6
-35
-28
-43
0
-48
0
-45
-9
5
46
0
-39
6
25
49
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
16
0
0
0
-3
10
13
-10
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
-13
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
-52
7
-4
2
70
16
0
-88
0
-6
7
-32
1
0
-30
-3
7
0
-64
-6
57
19
45
1
0
-21
0
0
-5
2
0
0
-2
0
0
0
7
0
0
13
0
-4
0
-1
0
0
0
0
-66
0
0
-14
0
0
0
0
0
1
82
-15
176
6
0
-6
29
2
12
142
0
0
-52
0
7
4
28
0
0
-48
19
0
-4
18
-9
-28
-8
21
0
0
-41
11
0
0
72
0
0
-8
0
0
0
-50
-2
-15
2
-29
8
0
-48
18
0
0
3
0
0
11
7
0
0
0
0
16
73
11
-5
40
0
0
17
-85
-10
5
-15
11
0
-60
0
-1
-8
-45
-9
-8
46
-45
5
14
-4
2
0
0
-56
0
-1
-18
-7
0
0
-41
0
1
55
16
5
0
53
0
0
4
-1
10
0
-2
0
0
-12
4
-3
0
-60
0
0
0
4
0
0
-94
-6
-19
2
0
0
5
7
0
-39
29
0
0
-5
0
0
4
-3
0
0
0
48
0
-20
-29
3
-5
0
22
0
0
39
-3
0
21
9
0
-10
12
0
0
-22
54
3
-8
-4
-5
0
0
-55
0
-9
-1
0
-2
0
-11
-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
-54
0
0
24
0
0
0
15
-7
-1
0
29
0
0
4
-6
0
15
0
0
0
0
-6
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
13
7
0
0
107
0
0
-63
5
0
0
21
0
-7
-41
3
-2
0
9
8
0
41
-11
0
0
-11
0
25
1
0
0
0
-3
0
0
-6
-12
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
1
0
0
0
2
0
-16
15
59
31
12
0
-5
24
0
0
59
0
0
-22
-3
14
-19
44
-8
0
75
57
0
0
-24
0
0
-24
-10
0
0
84
0
0
21
-79
0
0
0
0
0
1
-104
0
119
0
-5
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
3
-11
10
0
0
0
-19
13
4
-33
-19
0
0
-28
0
-5
-24
0
0
12
28
0
5
5
-12
0
-2
54
0
0
-17
1
0
0
0
0
0
10
-7
0
0
31
0
0
0
0
0
0
72
0
0
24
0
0
0
-9
0
0
0
0
0
0
-40
-8
-1
-16
5
0
0
118
0
-10
0
0
0
0
-76
0
1
-14
0
0
0
29
0
13
-1
0
0
0
35
0
0
0
0
0
0
45
0
0
-5
0
0
0
34
0
0
0
11
0
0
113
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
-21
1
0
0
0
0
0
5
0
0
9
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
-4
0
0
6
-48
0
0
-1
0
0
14
0
0
0
20
0
0
0
0
0
0
0
-1
26
-4
-9
58
0
0
-100
0
0
0
-52
0
-12
53
-1
0
0
-42
4
6
-5
60
0
0
0
0
1
-2
-5
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-114
0
0
40
0
0
0
8
2
-31
17
1
-19
-3
0
30
-136
16
1
2
0
0
104
23
0
-26
-40
20
0
-56
61
0
0
31
0
0
-8
29
0
0
16
-6
3
-2
16
0
0
-6
0
0
10
23
0
18
-9
16
18
0
112
0
0
5
0
0
0
-122
17
0
0
0
12
-5
48
0
0
0
0
0
3
8
4
9
-37
-12
0
6
-20
0
0
10
0
0
26
-67
0
0
39
10
0
0
-24
0
0
5
0
0
0
44
0
0
0
8
0
-6
19
0
0
3
1
0
0
-16
0
0
12
0
0
0
-41
0
0
0
0
0
0
-10
0
0
0
0
0
0
36
0
20
-22
0
0
0
-9
0
0
1
0
0
0
13
0
-3
0
0
0
0
-78
0
0
0
20
0
0
79
0
0
0
-2
0
0
37
0
-1
12
0
0
0
-79
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
16
16
63
34
-30
0
6
-14
87
64
-15
-21
76
-21
-10
-46
-1
0
0
0
36
20
-27
0
0
0
34
-20
15
-16
0
-24
0
-6
-27
0
0
-11
0
0
0
-1
0
0
0
0
0
0
0
-58
31
51
-24
31
-48
15
8
0
-10
-8
-81
-10
44
23
47
72
-12
-139
-54
49
-79
-92
-7
-27
57
5
-61
-84
-38
0
0
3
-11
-17
99
-12
0
0
-67
0
-39
-6
-71
0
0
11
2
-106
0
0
-50
0
0
0
-50
14
48
53
52
119
-105
0
-97
112
-21
24
0
0
0
-24
15
1
44
-26
-22
-1
-69
-44
4
-3
40
73
6
-28
-15
6
-9
48
31
40
34
-47
0
12
-84
-2
-24
-35
30
0
-19
-40
70
19
22
22
0
0
-7
2
-18
0
42
-24
-3
0
41
0
41
-29
105
13
31
-8
14
-102
140
36
22
47
40
7
8
35
11
-12
44
15
13
-75
-42
-9
-18
38
-40
-52
39
33
-6
-2
9
4
-8
-7
-17
-5
0
-119
65
-4
3
-4
2
3
2
0
-77
-13
-22
0
8
20
-29
-13
0
-11
-29
0
7
0
0
25
-53
38
-41
39
-5
0
-13
136
103
-14
25
3
-8
-14
-24
-27
-12
-73
-41
-26
-116
42
-7
-20
-7
-35
-20
30
-33
1
-26
166
-11
1
53
74
0
50
0
29
11
-7
-66
0
0
-4
8
-2
0
-8
0
-10
-2
0
-13
0
-176
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
-2
0
0
0
32
0
-3
-11
9
0
0
0
0
-57
17
-16
0
0
0
0
63
0
0
0
0
0
0
20
0
16
0
17
0
0
21
0
0
-18
0
0
0
-4
0
0
0
0
0
0
0
-31
0
0
0
-11
0
0
22
4
0
0
32
0
11
-86
0
24
0
70
42
-7
5
-70
-4
0
-32
0
-47
-13
40
0
0
17
0
-71
3
-19
0
6
-9
2
29
0
-16
0
0
0
0
6
0
0
28
0
-2
0
-81
0
6
-54
4
-15
0
0
-35
18
0
0
-19
0
0
-41
39
0
50
18
0
4
-21
-5
0
0
-47
0
-1
21
-67
0
0
-106
0
0
57
-31
0
0
18
0
-9
0
39
0
45
-13
24
19
0
23
0
14
0
0
-43
0
10
144
47
0
0
0
2
-9
5
0
19
0
0
107
-2
6
-2
61
-1
0
36
25
0
-1
79
0
-6
42
34
0
0
-12
0
-2
52
10
0
9
11
0
-6
20
-59
0
20
-18
22
-11
0
-31
0
0
5
5
35
0
5
0
1
-35
0
-17
0
-5
0
0
0
0
2
0
-14
-6
5
0
0
0
-12
-2
0
-50
2
0
0
-1
-14
0
2
66
-5
0
-10
28
0
32
-37
0
0
-20
34
0
2
-7
18
0
23
1
0
-104
1
0
0
-3
20
0
-27
-11
0
-14
0
-10
0
-33
0
0
-16
0
70
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
-16
0
0
0
3
0
0
6
-6
10
0
-3
-3
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
35
-4
0
0
47
0
0
-45
-3
-18
0
-47
0
0
2
79
0
0
-24
24
0
31
0
0
0
-7
0
0
-22
0
0
0
0
0
0
11
0
0
0
0
0
0
-10
0
0
0
0
0
-16
0
0
-29
0
0
0
0
0
62
-25
-49
7
0
0
12
-21
0
0
-165
0
0
28
-69
14
127
20
10
0
38
57
0
6
-46
0
0
52
116
0
0
-1
-1
0
6
-36
0
-5
-112
0
0
-12
-27
0
49
0
1
0
1
-56
0
0
0
0
0
0
19
17
-9
0
0
0
0
-15
3
-1
6
0
0
-29
143
6
-16
103
0
0
1
-58
4
3
-37
0
0
23
-98
0
1
-8
5
0
-7
32
0
0
93
0
0
0
-168
0
0
10
24
0
0
94
0
0
0
0
0
-2
-48
0
0
0
-6
0
0
1
0
0
0
0
0
0
-27
-4
0
-33
0
0
58
-40
-4
15
-3
0
0
0
83
0
9
62
0
0
-9
-69
0
10
0
0
0
31
44
0
-9
9
0
0
0
-73
0
161
-16
0
0
0
14
0
0
-5
0
0
0
85
0
-47
14
0
0
0
-70
0
-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
75
94
54
13
20
24
-53
0
128
7
-3
-17
-1
19
-19
0
-4
-1
-85
25
-12
-12
8
4
-54
-2
0
-34
0
0
1
0
0
0
8
0
0
0
0
0
0
0
-82
-39
30
8
-34
39
-74
-164
107
-47
-13
11
-14
82
44
0
-18
87
-34
39
45
8
-34
60
96
23
-20
40
-53
-36
-20
0
3
-12
-44
0
100
5
-2
-28
-9
-3
-6
-89
-1
-1
-49
-25
-37
0
-1
-6
0
-3
13
-27
-9
38
-23
-38
-2
-47
-9
26
7
-78
115
41
-24
-46
-54
18
-61
44
-14
13
-4
44
28
72
-79
-9
-21
31
16
-13
32
-2
-10
45
-50
43
-16
-17
2
84
-14
27
61
-1
-17
-7
-11
-9
12
-17
8
0
0
-17
-1
51
0
14
19
-1
0
3
8
-77
-17
-69
21
66
28
-77
-41
22
40
-63
-61
67
1
14
13
7
88
12
1
27
24
27
94
-26
56
-79
22
6
-8
38
-71
6
-7
-71
8
-21
15
-21
43
68
-57
-6
-3
0
-13
-26
-2
-43
7
-15
2
2
-86
93
-47
0
-49
8
0
-2
11
-6
-16
33
-51
71
33
34
-9
107
55
-101
-6
-43
-19
57
218
75
-5
6
23
-41
11
10
34
-63
74
-14
9
-94
27
-42
-22
-79
-98
14
-5
56
-22
-11
-43
-183
64
8
-12
-6
16
5
-178
-39
-39
-10
8
-1
-38
-9
-24
-23
1
-45
-31
-24
-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
-2
-46
0
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
0
0
-13
0
0
0
0
-106
0
0
-10
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
10
28
0
0
18
-51
0
-72
-2
0
0
66
-12
-2
25
0
0
-16
45
-7
12
18
-18
5
0
107
0
0
0
1
0
0
0
0
9
0
6
0
0
0
0
-3
0
-17
0
0
0
0
-140
0
0
131
0
0
1
-2
-1
-4
136
-4
-13
0
0
-122
17
-1
0
40
0
0
36
67
-4
-17
-11
-19
0
-64
0
0
0
14
0
0
34
3
0
0
-27
1
-3
12
8
0
0
-1
6
0
0
-24
0
-19
18
0
0
0
-43
0
0
0
0
-5
0
76
3
0
0
0
0
3
30
15
0
-42
0
0
13
29
-1
-2
-4
2
0
11
43
0
0
61
0
0
-26
0
0
-13
-28
58
0
-11
49
0
0
1
-2
0
0
58
0
5
3
-6
0
0
-7
0
8
-2
0
0
0
1
0
-3
0
-5
0
0
35
0
0
0
0
0
0
52
2
0
-5
0
0
0
71
0
1
5
0
0
0
57
0
0
-10
-8
0
40
0
0
18
-16
0
1
-21
-29
0
-5
3
6
0
-1
57
0
-10
5
16
0
0
95
0
0
-12
4
-3
0
-24
0
77
0
0
29
0
77
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
-62
0
0
9
0
0
24
0
0
0
0
0
0
0
0
0
0
0
19
5
-1
0
26
0
0
-23
0
0
0
94
0
0
44
0
0
0
31
0
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-16
0
0
25
0
0
0
0
0
8
-1
59
77
-3
0
-54
27
0
-8
-10
0
0
-12
-40
0
-26
50
-1
0
-36
15
0
0
33
0
0
16
-74
0
-13
0
0
0
0
55
0
0
0
0
0
0
36
0
21
0
0
0
0
33
0
0
0
0
0
0
63
0
0
0
0
0
0
62
-7
0
3
0
0
-6
70
0
0
18
13
0
0
2
0
0
6
0
0
12
1
0
0
-1
0
0
0
61
0
0
0
0
0
0
94
0
0
0
0
0
0
-60
0
0
0
0
0
0
42
0
0
0
0
0
0
-22
0
0
0
0
0
0
-27
-13
0
19
0
0
0
40
0
33
11
0
0
0
-21
0
-11
0
0
0
0
-5
0
-10
-3
0
0
0
-13
0
0
0
3
0
0
46
0
8
0
0
0
0
44
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
2
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
6
0
0
22
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
130
0
0
-54
0
0
0
22
0
0
91
3
-1
0
-20
0
0
5
-1
0
0
0
0
0
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-7
0
0
-26
0
0
0
1
0
54
0
19
1
0
0
6
-18
0
0
3
0
0
-9
-8
23
7
-5
-13
0
3
4
0
0
17
0
0
0
26
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
5
0
3
0
0
-13
0
0
0
0
-2
0
-36
0
0
0
0
0
-7
-6
2
0
0
0
0
-1
80
-9
0
-5
-3
0
0
-10
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
14
0
2
0
0
13
-15
0
0
0
0
0
0
-83
0
0
3
0
0
0
-9
0
0
0
0
0
0
-49
0
0
0
0
0
0
-20
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
46
0
0
0
0
0
0
-10
0
0
-1
0
0
-1
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
24
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
-7
-1
7
0
0
-1
-5
-4
0
0
12
0
0
0
75
0
0
-8
0
0
0
33
0
-89
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
16
13
-15
-47
-29
0
3
77
1
0
-7
-39
0
-11
29
8
18
1
-11
-20
13
-23
-65
0
0
-5
0
-3
5
27
0
0
0
0
-1
50
58
0
0
-10
0
0
33
16
0
0
0
0
6
0
0
-1
0
0
0
-10
2
22
53
-60
29
12
0
101
-21
-5
0
12
0
21
40
59
0
-13
-32
138
7
26
17
2
0
9
0
0
-27
-3
1
0
0
0
0
-1
-52
0
0
9
0
3
11
-33
0
-16
-1
0
0
-4
-41
0
0
0
0
0
0
56
5
5
0
0
0
0
-37
51
0
0
0
0
-44
-80
35
-19
-62
0
0
8
-11
7
-15
8
0
0
-7
37
-5
19
8
-4
0
1
-33
0
-6
3
-2
0
0
33
0
0
0
0
1
-18
-93
0
0
0
10
1
0
-97
0
0
0
3
-24
0
-86
0
0
0
0
0
0
63
-5
5
0
-17
0
0
15
-4
-93
-5
0
0
0
52
0
7
0
0
0
-6
21
0
-19
0
0
0
-23
110
-1
0
0
6
0
-3
22
0
-20
0
-14
0
0
60
0
10
0
-12
4
0
13
0
-24
0
0
-5
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
-12
0
0
-1
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
2
0
0
-26
5
0
0
31
0
0
11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
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
2
0
-66
-7
-11
-4
0
0
24
26
0
0
-2
0
0
-2
-12
0
-2
1
0
0
-4
-1
0
0
0
0
0
2
-15
0
0
1
0
0
5
-14
0
0
0
0
0
0
0
0
-1
-11
0
0
0
11
0
0
0
0
0
0
56
0
0
0
0
0
0
-30
1
0
0
0
0
0
-9
22
0
1
0
0
-12
2
0
0
-3
0
0
0
50
0
0
-1
0
0
2
-11
0
0
1
0
0
0
-33
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-17
0
-3
0
0
0
-1
4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
93
-10
0
-42
0
0
0
4
0
0
-58
-3
0
0
10
7
0
20
-37
0
0
22
0
0
67
-1
0
0
7
0
0
-1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-5
0
0
0
0
0
6
41
12
134
13
0
67
22
0
0
-37
0
0
21
-67
0
-68
-27
5
0
-105
40
0
17
61
0
0
-100
-77
0
-11
19
-6
0
84
-103
0
0
15
0
0
0
-24
0
30
3
-3
0
0
27
0
0
0
0
0
0
-55
57
0
0
0
0
0
107
-4
0
-31
0
0
12
-36
1
0
33
-17
0
48
-15
0
-5
3
0
0
32
-52
0
11
3
-1
0
61
-92
0
0
-7
0
0
0
-24
0
0
47
7
0
0
83
0
0
0
0
0
0
-92
0
0
0
5
0
0
19
0
0
0
-2
0
0
-7
-3
0
49
0
0
0
94
0
60
0
0
0
-2
6
0
0
18
2
0
-15
-36
0
-6
64
0
0
5
66
0
-4
0
-6
0
0
-35
0
47
-7
0
0
0
88
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
0
-1
0
0
28
0
-3
32
0
-5
0
0
0
-5
0
-92
0
0
2
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
-22
-18
0
-4
-31
-28
-1
-7
1
0
0
-7
0
-7
30
26
9
0
72
138
0
61
-25
7
-1
-6
0
15
8
10
0
-4
-88
-23
1
151
47
0
0
-6
0
43
0
-18
0
0
0
-5
-55
0
0
2
0
0
0
-2
0
-28
9
-32
62
-20
0
95
-5
0
0
-89
0
0
-17
40
-2
-45
-26
9
0
65
-21
0
16
-79
-3
-2
-17
-66
0
0
-23
9
0
-45
12
0
0
20
0
1
4
24
0
-17
30
-18
0
0
-35
0
0
0
0
-39
0
16
15
1
0
0
0
0
21
5
0
6
0
0
-6
-10
26
-19
42
-14
0
1
67
5
-5
-119
0
7
-11
41
-4
-2
27
26
0
2
-97
22
0
-42
0
1
21
50
0
1
-38
26
20
-16
18
0
0
-10
0
4
0
-27
0
0
-13
-12
-41
0
-85
0
-13
19
0
9
0
73
18
0
-35
0
-1
-1
14
-7
24
-2
0
-4
0
-53
0
34
0
6
-5
-24
3
0
-46
13
0
-17
22
5
0
13
4
-26
-6
8
-101
0
33
-4
17
0
0
67
0
3
0
-20
0
0
-30
0
-9
0
0
0
0
27
24
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
-4
6
0
0
0
0
-23
0
-9
0
0
0
4
0
0
0
0
31
0
0
0
0
0
-86
0
0
0
-1
0
0
0
0
0
0
0
-42
-40
-23
-13
97
21
5
-2
6
0
-1
-50
0
-27
1
-15
0
0
-31
-105
-14
3
0
-3
-5
-12
0
1
-13
6
0
0
-11
8
-4
-6
47
0
0
0
-1
-4
0
38
0
0
0
0
-59
0
0
92
0
0
3
6
0
-16
-43
-68
77
4
0
0
-11
10
0
53
0
0
38
-31
-3
83
31
-60
0
-226
-47
0
9
40
0
0
-29
0
0
-8
69
-7
3
0
-87
-3
0
37
0
0
4
111
0
-71
0
-3
0
0
-15
0
0
0
0
51
0
15
1
26
0
0
0
0
-9
21
8
26
0
0
24
-52
-9
-28
74
-25
0
-7
19
3
-7
37
0
0
10
-20
-1
22
-62
-21
0
1
0
1
9
-46
0
-4
-31
-86
0
0
-16
36
0
0
-2
0
0
0
0
0
0
-36
28
4
0
0
-12
0
-56
0
15
0
0
0
0
29
13
0
49
0
0
-7
-175
23
-44
-19
0
0
11
-27
-5
71
60
3
0
2
17
0
40
37
0
0
-17
0
-4
-13
11
49
0
-10
-68
0
-6
2
0
0
0
-57
0
0
7
-2
1
0
-40
0
6
0
0
0
0
-12
-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
16
0
-20
0
0
0
0
0
0
0
0
12
0
0
0
0
0
113
0
0
0
0
0
0
0
0
0
0
0
-18
3
0
3
18
0
0
24
0
0
0
-35
0
-6
-8
0
0
0
-8
8
-4
50
0
0
0
16
0
0
20
1
0
0
10
0
4
4
-1
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
-6
0
0
0
-2
0
1
1
10
-55
2
0
-9
-88
0
-4
-60
0
0
-4
-10
0
-1
43
3
0
19
-23
0
0
-11
0
0
3
5
0
0
17
0
0
-2
53
0
0
-2
0
0
0
-9
0
8
0
2
0
5
-44
0
0
0
0
0
0
-63
2
0
0
0
0
0
-64
0
0
27
0
0
0
43
0
-1
107
6
0
0
-16
0
0
0
0
0
0
12
0
-29
-8
-5
0
0
-49
0
0
-1
-1
0
0
-34
0
0
0
0
0
0
-8
0
-3
0
0
0
0
-23
0
0
0
3
0
0
7
0
0
0
0
0
0
-17
0
-3
0
0
0
0
-7
0
0
-3
0
0
0
-36
0
-32
0
2
0
0
31
0
-26
0
0
0
0
-11
0
0
0
-3
0
0
24
0
-3
0
0
0
0
47
0
-2
0
0
0
0
83
0
-4
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
45
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
31
0
0
-92
0
0
0
2
0
0
36
0
0
0
99
-19
0
47
16
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
14
0
0
-4
0
0
0
0
0
-48
-16
-38
-11
0
0
2
-99
-2
0
-12
0
0
18
23
0
4
-20
-2
0
-14
145
0
0
-11
0
0
0
68
0
0
31
0
0
0
12
0
0
13
0
0
20
-17
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-17
-10
0
0
0
0
0
-85
-2
0
7
0
0
14
-64
0
0
-5
0
0
3
132
-10
0
-3
0
0
0
-54
0
0
0
0
0
0
-40
0
0
0
0
0
0
4
0
0
-4
0
0
0
-102
0
0
0
0
0
0
-20
0
0
0
4
0
0
41
0
0
0
0
0
-1
10
-6
0
0
0
0
0
54
-1
-17
0
0
0
0
1
0
0
0
0
0
0
-9
0
-13
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
15
0
0
0
20
0
0
0
0
0
0
-18
0
1
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
-89
0
0
-2
0
0
40
0
0
0
0
0
0
0
0
0
0
0
16
9
0
0
63
0
0
36
4
0
0
5
0
0
-26
5
0
0
-3
-22
0
83
-21
0
0
0
0
28
14
-24
2
0
0
-3
0
-3
0
0
0
0
0
1
0
-1
0
0
0
0
24
0
0
13
0
0
0
2
0
-22
53
-12
0
0
0
-30
-8
0
0
-15
0
0
10
-40
0
-21
-49
0
0
17
61
0
0
-9
0
0
19
-11
0
0
0
-2
0
-3
-7
0
0
-2
0
0
0
-25
0
-111
0
-11
0
3
-54
0
0
0
0
0
0
110
1
0
0
0
0
0
-15
0
0
0
0
0
1
28
48
0
-12
4
0
0
-46
0
1
0
0
0
38
88
0
-21
-6
37
0
-3
33
0
3
11
0
-1
0
39
0
-3
2
-57
0
5
-80
0
0
0
0
9
0
-68
0
0
-9
0
13
0
-21
0
0
0
0
-8
0
76
0
4
0
2
0
0
-37
0
0
0
0
0
0
-67
0
0
0
26
0
0
-71
0
15
0
4
0
-2
-22
0
-11
0
31
0
-4
39
0
2
0
13
0
0
-26
0
0
0
0
0
0
-69
0
-10
0
0
-1
0
27
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
31
-5
-10
0
0
-2
0
0
0
0
0
-56
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-12
27
0
0
-58
0
0
-41
0
0
0
-71
0
29
22
-6
0
0
26
0
12
20
61
-2
0
17
0
15
7
3
0
0
9
0
25
-2
-5
0
0
-7
0
-40
0
0
0
0
0
0
-5
0
0
10
0
0
0
-24
0
21
-21
-60
-27
0
0
-1
13
0
0
-43
0
0
-16
-63
0
-89
7
0
6
19
39
0
0
-50
0
0
61
-60
0
0
13
0
0
-3
-63
0
0
16
0
0
2
-26
0
18
44
0
3
0
6
0
0
0
0
-11
0
-15
-3
-6
0
0
0
0
-30
-4
0
20
0
0
-27
-9
-1
0
-67
0
0
-16
-22
0
0
44
0
0
-38
-15
0
-5
-45
0
0
-12
-16
0
-2
39
0
12
1
-3
0
0
-20
0
0
0
144
0
0
14
0
-22
0
25
0
0
0
0
-11
0
22
0
0
0
0
17
0
21
12
0
0
0
0
-3
58
0
-19
-13
0
0
0
-50
0
0
-19
0
0
9
53
0
73
1
0
0
0
-4
0
0
-2
0
0
0
-62
0
-47
8
0
-10
0
-86
0
0
31
0
0
0
-8
0
-19
14
0
0
0
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
-5
-4
0
0
2
0
42
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
12
0
5
3
74
21
0
52
0
0
0
31
0
0
-229
66
0
0
-124
-10
0
55
99
0
0
-1
0
0
13
57
0
0
54
-31
0
44
-21
6
0
6
0
0
-12
2
0
0
0
18
0
0
0
85
0
0
0
0
-1
21
32
-33
-19
5
0
-101
-1
55
0
0
0
0
-73
44
0
-23
-13
23
0
-5
1
0
-8
14
0
0
-18
-68
1
0
-46
23
0
20
-56
0
0
-14
0
0
5
40
0
12
5
-32
0
0
-36
0
0
0
0
0
0
-33
-36
-26
0
2
0
0
-56
41
0
-29
0
0
14
-73
2
-5
-57
-14
0
93
31
-8
2
41
0
0
111
-11
-8
-20
-31
-2
0
-17
-60
0
6
37
0
0
-10
26
0
11
-23
52
0
0
-20
0
0
11
0
0
0
-37
0
0
0
-31
0
0
32
0
0
0
0
0
0
-73
-2
1
5
0
0
0
39
0
0
9
0
0
20
23
-4
-50
-4
0
0
-34
-32
0
9
42
0
0
37
44
0
-2
-13
0
0
-11
58
0
-21
20
0
0
0
77
0
0
23
-3
0
0
-13
0
-11
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-12
0
-21
0
0
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
21
-12
-10
0
-69
54
-33
-70
6
0
0
-100
0
17
-24
10
0
0
13
4
-17
-13
20
2
0
-12
0
35
0
67
0
0
-24
-7
18
0
39
-11
-12
4
0
-61
0
-2
0
0
0
27
-23
0
0
44
0
0
0
0
0
5
-32
-31
16
11
0
5
-19
-14
0
-100
0
0
9
28
1
-81
-46
20
0
33
-8
0
0
-17
0
1
16
40
0
0
-67
31
0
0
24
0
-2
-36
0
0
0
-46
0
-56
29
-68
0
0
1
0
0
0
0
12
0
6
7
-1
0
0
0
0
33
-1
0
-10
-8
0
0
-46
-23
-2
34
99
2
-1
-22
0
-6
12
0
-6
0
24
-4
-7
18
-18
0
0
-17
0
0
66
0
-1
0
-40
0
0
1
-1
0
0
0
0
0
-6
0
-17
0
24
0
0
0
48
20
0
-60
-6
0
0
0
0
0
-26
0
0
0
0
-1
0
-26
0
-41
-8
0
-3
0
-75
0
4
20
-9
-12
13
47
0
-28
20
0
-1
0
-41
0
-1
60
5
0
0
-25
0
-11
6
0
0
0
26
0
4
3
-2
0
0
-27
0
-11
0
0
-2
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
11
-19
-3
0
0
0
0
0
28
0
-62
0
0
0
0
0
-99
0
0
0
0
0
0
0
0
0
0
0
19
-8
0
38
-9
4
0
-22
2
0
0
-13
0
0
-81
4
4
1
54
-6
0
9
-9
0
0
-26
-1
-3
80
0
4
0
1
27
27
2
100
0
0
-7
0
0
0
12
0
0
0
-2
-7
0
0
4
0
0
0
-6
0
-16
71
-40
64
33
0
-38
-35
0
0
-21
0
0
-31
-11
-4
-30
105
-2
4
-45
-19
-2
-2
-41
3
0
2
13
0
0
5
-6
0
-2
0
0
0
-16
0
0
0
83
0
-36
0
15
0
0
-57
0
0
0
0
0
0
2
-9
0
0
6
0
2
56
-42
-8
-2
0
0
18
-12
21
-2
21
6
0
3
-26
0
0
-31
0
4
8
109
0
0
18
-26
0
-3
-38
0
0
-2
2
0
0
0
0
-4
-11
-7
0
0
-81
0
0
0
1
0
0
-70
0
0
0
-2
0
0
-48
1
0
0
0
0
6
48
8
-9
0
0
0
-9
2
-2
-32
-15
0
0
-1
-101
-2
-20
-11
12
0
0
3
0
-36
7
0
0
0
22
0
0
-1
4
0
0
0
0
19
0
-2
1
0
-2
0
0
1
0
0
0
-20
0
-6
-6
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
-26
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
0
1
0
0
-8
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
-6
0
0
0
0
0
0
1
0
-40
-10
-9
-15
0
0
0
-35
0
0
-10
0
0
23
-14
0
-19
-5
0
0
11
-33
0
0
0
0
0
0
-15
0
0
0
0
0
0
-11
0
0
0
0
0
0
24
0
-1
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
15
0
0
12
0
0
0
-34
0
0
0
0
0
0
30
0
0
9
0
0
0
-15
0
0
0
0
0
0
30
0
-1
0
0
0
0
-6
0
-2
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
66
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
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
0
0
0
0
0
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
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
29
0
0
0
-5
0
0
-4
-1
0
0
2
10
0
0
0
0
0
0
0
0
22
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
-19
11
-2
0
0
0
-2
-6
0
0
50
0
0
-1
-3
0
1
-12
0
0
-2
64
0
0
0
0
0
0
-3
0
0
17
0
0
0
-4
0
0
0
0
0
0
14
0
-2
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-92
0
0
0
0
0
0
-13
-2
0
-5
-10
0
0
-65
0
0
0
0
0
-1
-16
0
0
0
0
0
0
-64
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-47
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
-1
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-134
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
1
0
0
73
0
0
0
-6
0
0
-2
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
2
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-1
-35
0
0
-21
0
0
29
-3
0
-30
0
0
0
1
-25
0
0
0
0
0
0
17
0
0
0
0
0
0
35
0
0
0
0
0
0
-2
0
6
0
0
0
0
3
0
0
0
0
0
0
-96
0
-8
0
0
0
0
-73
-20
0
0
0
0
0
30
0
0
-9
0
0
-5
24
0
0
5
0
0
0
20
0
0
0
0
0
0
-127
0
0
0
0
0
0
-16
0
0
0
0
0
0
-26
0
0
0
0
0
0
27
0
0
0
0
0
0
-84
0
0
0
0
0
0
5
0
0
0
0
0
0
-25
0
1
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
-7
0
0
-1
0
0
0
-10
0
0
0
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
28
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-71
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-15
0
8
0
0
0
0
-36
0
0
0
0
0
0
25
0
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
1
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
-31
-1
0
0
0
0
0
0
0
0
-3
0
0
0
-48
0
0
-4
0
0
0
14
0
0
0
0
0
0
-51
0
0
0
0
0
0
-1
0
0
0
0
-5
0
3
0
0
0
0
0
0
11
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
-1
0
0
0
0
0
0
6
0
-1
1
0
0
0
0
0
0
0
0
0
0
16
0
0
2
0
0
0
5
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
0
0
0
0
0
0
-3
0
-11
0
0
0
0
0
-2
0
-22
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
49
-2
15
-1
10
88
0
27
-12
0
0
7
0
0
-74
-1
0
13
-10
-31
0
-9
10
0
0
74
0
0
-10
45
0
0
0
-5
0
-40
-5
0
0
-5
0
0
0
5
0
0
0
66
0
0
0
108
0
0
0
0
-3
-13
-13
-24
-58
-30
0
-56
-70
0
0
-24
5
0
32
150
4
-67
-61
31
0
-3
98
0
-8
58
0
0
35
-71
-9
0
-3
28
0
1
-42
0
0
30
0
0
-4
49
0
-3
-9
-20
0
0
13
0
0
0
0
0
0
40
-36
9
0
31
0
12
-66
-8
13
-20
0
0
143
-60
0
-11
28
53
0
-60
13
0
0
20
0
0
-12
8
0
0
31
45
0
14
-54
0
4
-46
0
0
-1
65
0
-3
-15
-29
0
-37
13
0
0
1
0
0
0
21
0
0
-2
65
0
0
66
27
0
0
0
0
0
16
38
0
13
0
0
-1
-135
0
5
24
0
0
32
15
2
-2
24
0
0
11
-90
0
1
15
0
0
-4
32
3
3
7
2
0
-2
-102
0
35
-9
0
0
0
-27
0
9
-2
-10
0
0
-21
0
34
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
-80
0
0
0
0
0
-125
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
38
0
0
140
0
0
0
7
0
0
-4
0
0
0
-3
-5
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-10
0
0
0
0
0
0
7
0
20
0
1
7
0
0
-8
30
0
0
-29
0
0
1
102
0
48
-9
0
0
0
-41
0
0
8
0
0
0
81
0
0
0
0
0
0
-104
0
0
0
0
0
0
-15
0
15
0
0
-6
0
-150
0
0
0
0
0
0
-28
1
0
0
0
0
0
-27
0
0
0
0
0
0
24
5
0
-1
3
0
0
-30
-1
0
12
0
0
0
32
0
0
-6
0
0
0
-26
0
0
0
0
0
0
36
0
0
0
0
0
0
46
0
0
0
0
0
0
10
0
0
0
-6
-6
0
-59
0
0
0
0
0
0
22
-1
0
0
0
0
0
-29
0
0
0
0
0
0
-10
0
0
0
10
0
-10
30
0
0
0
0
0
0
-16
0
0
0
14
0
0
-38
0
0
0
0
0
0
-10
0
0
0
0
0
0
-53
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
5
0
-12
0
0
-5
0
0
-91
0
0
0
0
0
0
0
0
0
0
0
-16
19
0
0
56
0
0
-27
12
0
0
17
0
0
-53
-11
10
0
5
32
0
-64
-2
0
-1
-2
0
0
1
-17
0
0
9
23
0
-49
0
0
0
4
0
6
0
0
0
0
0
3
-7
0
0
-49
0
0
0
0
0
10
-3
86
-25
9
0
35
-10
-11
-7
-49
0
0
18
-47
-1
-38
-27
-14
0
-36
104
0
0
61
0
0
74
-5
0
0
-7
20
0
4
-20
0
0
-7
0
0
-3
0
0
-55
22
2
0
0
-36
4
0
0
0
3
0
-39
17
0
0
-3
0
0
73
24
0
0
-2
0
-7
-20
0
36
-64
88
0
43
127
24
4
60
0
0
17
-86
0
-33
-42
-4
0
1
29
0
16
12
0
0
0
9
0
10
-15
-7
0
1
0
0
0
0
0
0
0
63
0
0
0
1
8
0
-36
0
0
0
0
0
0
65
10
0
2
0
0
0
-59
0
3
0
0
0
0
-58
-9
10
-19
-1
0
0
26
0
-50
-6
0
0
0
-52
0
1
1
-6
0
0
89
0
-22
-3
-3
0
0
0
0
0
0
-13
0
0
-40
0
1
11
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
1
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-1
0
0
0
4
0
0
0
1
0
-32
-10
9
0
0
-3
3
-5
16
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
-4
0
0
0
0
0
0
0
0
21
-3
28
0
0
0
182
-30
0
0
26
0
0
-74
-6
0
19
33
14
0
44
74
0
0
-13
0
0
-10
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
7
0
0
0
0
-17
0
0
0
0
0
0
20
3
0
0
0
0
0
-89
0
0
-1
0
0
-2
88
0
0
0
0
0
0
21
0
0
-10
0
0
0
-11
0
-1
33
15
0
3
-42
0
0
1
0
0
0
23
0
-5
0
0
0
1
-15
0
0
12
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-16
0
0
0
0
0
0
-11
0
-6
-2
0
0
-3
-19
0
0
0
-6
0
0
-1
0
1
0
0
0
0
-16
0
0
0
0
0
0
40
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
-19
0
0
0
-2
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
6
0
0
-1
0
0
0
5
0
-54
0
-2
-1
0
0
0
-41
0
0
-3
0
0
-1
-1
0
-1
-3
0
0
2
-3
0
0
0
0
0
-3
-2
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
-1
0
0
0
0
3
0
0
0
0
0
0
-41
0
0
0
0
0
0
-63
0
0
0
0
0
0
25
0
0
-1
0
0
0
1
0
0
2
0
0
0
-31
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
-3
0
0
0
0
0
0
-39
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
-5
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
-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
-61
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
-20
0
0
-5
0
0
0
60
0
-1
-11
36
0
0
-1
-2
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
-4
-41
0
0
0
0
0
-4
0
-6
0
0
0
-11
1
0
0
7
0
0
0
0
0
34
15
-1
-2
0
0
-5
13
0
0
-7
0
0
-41
-42
0
4
13
0
0
30
7
0
0
0
0
0
0
68
0
0
0
0
0
-3
-41
0
0
0
0
0
0
-3
0
-59
0
-1
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
-83
-2
0
0
0
0
0
-71
0
-17
-17
0
0
8
-79
0
0
0
0
0
0
-69
0
0
0
0
0
0
-92
0
0
0
0
-1
0
49
0
0
0
0
0
0
-63
0
0
0
0
3
0
-17
0
0
0
0
0
0
30
0
0
0
0
0
0
-27
0
0
0
0
0
0
10
0
3
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
47
0
0
0
0
0
0
-32
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
0
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
39
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
26
0
0
53
0
0
0
18
0
0
-9
-7
0
0
-4
0
66
-3
0
0
0
0
0
1
0
0
0
0
9
0
0
4
-3
0
0
-3
0
11
0
-13
0
0
0
0
59
0
0
63
0
0
0
33
0
-38
5
5
-2
0
0
31
-35
0
0
-12
0
0
-52
-22
0
-20
11
0
0
2
-71
0
0
0
0
0
0
9
0
0
-2
0
0
8
15
0
0
15
0
0
0
-6
0
-2
6
0
0
0
23
0
0
0
0
0
0
-47
0
0
0
0
0
0
30
-3
0
5
0
0
-11
-32
0
0
-9
0
0
11
-43
0
0
-2
0
0
0
38
0
0
20
0
0
16
-105
0
0
-24
0
0
0
-16
0
0
30
-2
4
0
-93
0
0
3
0
-2
0
16
0
0
0
0
-3
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
14
0
0
0
-3
9
0
6
0
0
0
4
44
0
0
-3
0
0
0
-15
0
0
0
0
0
0
11
0
-7
0
0
0
0
11
0
0
4
0
5
0
7
0
-23
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-36
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-13
-48
0
9
4
0
0
67
0
0
27
-13
0
0
46
49
0
93
-25
0
-14
-7
0
0
-10
0
0
0
8
11
0
0
-2
0
0
0
0
0
7
0
0
0
0
4
0
0
0
68
0
0
0
0
0
10
-9
-56
9
0
0
-20
-32
5
0
28
0
0
26
62
0
-18
38
-56
0
7
43
0
-11
-58
0
0
22
-43
0
0
1
-24
0
53
19
0
0
69
0
0
0
33
0
-82
5
23
0
0
105
0
0
2
0
0
0
-22
26
-2
0
0
0
17
-36
1
0
14
0
0
6
-16
-4
9
54
20
0
22
-81
0
0
64
0
0
-35
-57
0
-11
69
22
0
21
20
0
0
36
0
0
5
3
0
11
-24
-49
0
0
-202
0
0
4
3
0
29
22
0
0
0
9
0
0
13
0
0
0
0
0
0
51
5
0
0
0
0
-2
98
-12
103
9
0
0
0
-13
0
0
-5
0
0
3
-17
0
16
0
0
0
23
-19
0
11
0
6
0
-4
82
0
-16
-24
0
0
0
25
0
-2
4
0
0
0
-16
0
28
0
0
0
0
45
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
14
-2
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-84
0
-3
0
0
0
0
-21
0
0
-1
0
0
0
-5
0
22
1
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
13
0
0
0
0
0
16
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
2
0
0
0
20
0
0
5
0
0
0
1
0
0
0
0
0
0
-10
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
2
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
-20
0
0
0
0
0
9
-1
0
0
-5
0
0
0
5
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
-65
0
0
0
0
0
0
0
0
0
0
0
-18
-2
0
20
-65
0
0
-46
0
0
0
-28
0
2
19
0
0
0
-7
-3
1
12
-1
0
0
0
0
4
-5
2
0
0
2
0
-13
10
0
0
0
-9
0
0
-2
0
0
0
0
0
-46
0
0
-2
0
0
0
0
0
-58
-3
-45
2
4
0
26
-24
-5
0
29
0
0
-3
20
0
24
43
-9
0
-11
51
0
0
-8
0
0
-5
12
0
0
-6
0
0
0
-11
0
0
9
1
0
0
-12
0
-62
14
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-101
-1
-1
-25
0
0
-38
71
0
0
-8
4
0
47
39
0
-1
-5
0
0
0
-38
0
0
-4
-8
0
0
15
0
-1
-7
0
0
4
96
0
0
5
0
0
0
-122
0
0
-1
0
0
0
0
0
0
0
0
0
0
-157
0
0
0
0
0
0
-18
9
0
0
0
0
0
46
0
-11
0
0
0
0
-82
-1
11
-3
-6
0
0
-6
0
-8
0
0
0
-1
-14
0
3
3
-6
0
0
3
0
-5
-1
0
0
0
-24
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
-15
0
0
0
0
0
0
0
0
0
0
0
5
10
0
0
2
0
0
-35
0
0
0
1
0
0
-4
5
0
0
0
5
0
14
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
2
0
0
0
-5
0
-23
0
-28
0
0
0
-3
-59
0
0
0
0
0
0
5
0
10
3
0
0
27
15
0
0
1
0
0
-5
5
0
0
11
0
0
0
6
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
-15
0
0
0
-45
0
0
0
0
0
0
-1
0
0
-7
0
0
0
67
0
0
-5
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
-4
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
3
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
-1
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
6
0
-8
21
19
0
0
0
0
0
0
0
29
0
34
-119
-20
-23
-38
-5
53
-30
-7
-6
-13
-46
-4
-5
-47
22
23
-17
-59
-8
-39
23
24
63
21
34
-131
3
21
-71
-10
-42
51
-96
-109
-10
-15
-45
-26
-49
42
2
-15
-2
74
48
-10
-1
-2
-13
-2
-13
-57
-82
-7
-18
7
-47
-54
58
-9
-21
-36
-66
16
-19
-53
5
-13
-72
-86
-16
22
-4
-108
8
-7
67
-47
-3
113
32
-38
-42
-3
36
24
37
22
1
6
5
6
45
-29
-13
-60
3
-12
49
-38
33
-59
48
22
48
9
-31
-11
-46
0
16
10
-3
-5
-27
0
-33
-14
-36
-49
-29
66
-5
-9
12
116
-204
-75
-62
34
-24
-16
112
34
-65
-36
-24
25
3
15
-19
2
-18
-60
-1
3
-31
6
14
-67
-28
-24
1
0
-105
-10
44
-14
11
-5
-37
-110
47
9
-27
17
11
10
50
-81
-30
-22
-1
-1
-20
-78
-1
100
-75
-29
16
-71
-38
-58
21
-5
-46
22
-100
63
107
55
-3
-67
-36
-81
7
-13
-46
-81
-30
40
-8
-3
-43
64
-93
3
9
25
32
9
1
-25
-89
5
-6
125
15
-47
23
35
-8
-7
-61
83
45
10
16
15
-18
-43
95
10
-39
-1
51
-73
-92
20
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
-34
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
-1
0
0
0
0
0
-2
5
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
-2
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-34
0
0
0
0
0
0
-22
0
0
0
-1
0
0
-7
0
0
-1
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-6
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
-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
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
19
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
3
0
0
-30
11
0
0
0
0
0
0
-2
0
0
-4
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
29
0
0
0
0
0
7
-25
0
0
0
0
0
0
-10
0
0
-8
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
-5
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
-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
-1
0
0
1
0
0
0
-3
0
0
0
0
0
0
8
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
-6
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
-113
28
0
49
1
52
0
21
-11
0
0
13
3
0
-87
5
-15
0
-71
-46
6
-99
1
28
0
-7
0
0
126
-16
0
0
-18
-79
0
-110
-19
0
15
-4
0
0
0
-1
0
0
0
-5
8
0
0
25
0
0
9
0
41
-58
51
-3
64
-14
0
-125
-31
1
-10
-67
0
0
27
66
-6
-19
-9
34
0
-11
-65
3
-2
-19
0
0
-55
19
8
-8
-122
78
0
50
-24
0
13
-19
0
0
-8
-63
0
-58
-12
-17
0
-2
-28
1
0
0
0
0
0
57
-18
-3
0
-7
0
-12
-3
-77
-4
73
0
0
-32
34
5
-5
55
49
0
-18
38
5
-2
30
0
0
-9
-43
-4
1
8
-65
0
-19
26
-7
48
-8
0
0
20
-62
5
-6
-36
44
0
22
44
0
0
146
0
0
-12
6
0
-39
-19
16
0
0
-1
21
-2
0
13
0
2
-92
-14
0
5
-3
0
-12
-9
-9
-46
22
0
0
12
20
0
-17
-10
-18
0
-59
-10
0
51
-42
0
0
-7
55
0
13
22
1
0
51
-49
0
-117
-47
4
0
4
-76
7
18
24
44
0
0
-25
0
-59
0
0
0
0
32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
-16
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
-4
0
0
-7
7
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
-1
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
-77
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
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
4
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
-20
-45
21
54
1
0
-38
-14
69
57
12
-3
-134
-30
13
19
-105
-37
7
-5
50
-41
-68
63
21
-75
-101
12
28
-120
19
53
0
-37
-36
-11
-38
32
-62
-3
-2
35
-37
-5
-50
-82
-28
-29
-12
-75
30
-15
-53
-73
-45
3
-82
-25
-9
-23
9
-97
2
-5
-18
102
-37
-21
74
9
-22
19
-6
5
10
16
-91
-5
-18
-111
-57
23
18
10
-14
10
-10
74
-12
34
-27
-15
-1
-18
-4
-13
-54
-20
-45
22
-53
19
-12
-6
45
10
-10
-62
-12
32
-92
0
-61
10
1
44
-69
28
-51
82
0
-43
1
-45
-26
-82
-1
-23
-16
-42
38
-12
-60
7
-12
-52
10
29
-38
-70
1
-23
58
-95
9
-83
-32
-12
5
-62
51
33
22
-63
1
-27
-84
-8
43
29
-1
-99
4
25
-15
17
44
71
-36
-11
-9
-39
-32
49
2
-15
-25
11
-51
-4
-19
-31
-44
14
52
-17
-57
22
-60
-6
14
-44
11
1
10
-69
-65
2
66
-59
-39
31
-58
37
-9
-28
-93
-24
-50
86
54
-24
-47
9
-46
-22
29
123
-14
-39
1
59
49
8
-43
12
-50
58
38
94
91
-43
-16
-102
11
-41
15
20
-70
21
6
56
-66
-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
-2
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
8
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
-1
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
0
0
0
0
-7
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
-1
3
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
-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
-2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
41
0
0
0
0
0
-56
33
0
0
0
0
0
-1
0
0
-1
0
0
42
-49
0
0
0
0
0
10
-17
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
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
28
0
0
0
0
0
0
-21
0
0
0
0
0
0
-32
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
-13
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
12
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-23
0
0
-76
0
0
0
51
0
0
-17
0
0
0
-39
100
0
0
1
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
-16
0
0
0
0
0
-35
0
58
0
0
0
-11
48
0
-12
-44
0
0
-23
88
0
11
0
0
0
16
43
0
0
-13
0
0
0
-1
0
0
-8
-22
0
0
41
0
0
2
0
0
0
0
0
-26
3
0
0
0
-8
0
0
0
0
0
0
60
-21
24
0
0
0
0
41
3
0
0
0
0
5
-93
24
0
-3
-37
0
6
108
0
0
0
0
0
0
-27
0
1
-6
0
0
0
-124
0
1
-2
0
0
0
2
0
0
-1
-22
0
0
-117
0
0
0
0
0
0
-18
0
-8
0
0
0
0
-32
0
0
0
0
0
0
37
1
-6
0
0
0
-16
21
0
-11
0
0
0
1
-36
0
0
-2
0
0
0
-49
0
0
0
0
0
0
-21
0
7
0
0
0
4
8
0
-10
0
0
0
0
-15
0
0
0
5
0
0
14
0
20
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
61
80
-19
71
17
21
100
80
42
10
-80
-28
-26
-104
-13
-2
-20
90
5
-82
-94
-117
-4
-24
38
51
-16
-48
44
0
-2
41
0
-152
-2
-19
-25
0
-3
4
-14
0
0
11
0
-1
0
12
6
94
64
13
-52
0
0
62
82
-9
173
-9
-9
-7
16
-31
3
25
-36
68
22
-67
-3
2
5
33
3
21
38
9
-1
-48
-38
21
15
39
-77
0
21
-163
10
-23
-68
-7
-9
53
38
-37
-26
25
-21
0
-1
71
0
-52
0
35
-33
28
0
13
-39
-6
76
80
6
22
0
-1
-37
32
-20
109
37
-13
9
-33
-57
16
-12
56
-12
-13
-15
-49
-45
-95
-23
-2
0
-74
-29
0
-24
13
-25
68
-37
-101
0
-37
38
137
69
11
25
0
-29
30
0
25
19
-20
37
19
-36
-130
0
0
22
2
0
13
-6
-11
0
82
-55
52
50
4
-6
-18
5
-21
-99
61
4
-5
-44
30
37
52
-46
-119
9
33
-17
17
67
10
-36
-1
-57
-9
16
12
-16
60
0
-1
-82
17
-42
59
-14
17
12
-8
8
8
22
74
16
0
-23
0
85
8
-2
-7
0
-25
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
0
0
0
0
0
0
0
0
0
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
20
0
9
26
-8
9
-51
-3
0
0
81
70
7
-139
-76
0
0
62
7
43
37
0
0
2
1
0
49
6
0
0
-1
0
0
-67
0
0
0
0
0
-1
-22
0
0
64
0
0
0
7
2
138
-26
129
39
0
0
4
0
25
-9
-133
0
2
83
30
0
8
-70
20
-14
-109
63
-20
0
-6
0
1
-1
-110
0
-1
-9
17
0
2
18
0
-1
8
0
2
0
-74
0
-132
0
0
0
0
14
0
0
0
0
-3
0
-3
24
-7
0
0
0
-10
25
40
31
102
0
0
-46
0
-4
18
-68
1
0
-53
-61
27
-3
-53
0
0
-28
39
4
0
-139
11
0
0
-6
7
-2
-7
-1
0
0
-54
0
-3
136
88
0
18
12
0
6
-6
0
13
0
-28
-4
0
0
31
4
0
-25
0
0
0
0
-9
0
-28
-7
1
-1
0
0
0
0
0
45
0
23
0
22
-45
-5
-5
-21
0
0
3
-29
-1
-21
-65
5
0
0
-51
0
-30
-11
2
0
-7
48
-3
-27
-19
2
0
0
-83
0
-2
13
-9
0
0
-40
0
26
10
0
0
0
-61
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
-17
0
0
0
6
0
0
112
-9
0
25
88
0
0
21
-19
0
0
-20
0
0
0
10
0
0
0
0
45
0
0
0
0
0
0
15
0
35
0
0
0
0
51
0
0
9
0
0
0
0
-2
-119
26
-11
149
-11
0
-17
58
-2
0
-52
0
0
-21
-17
0
15
-108
26
0
-13
-57
6
0
1
0
0
-13
-24
0
0
45
-1
0
0
-168
0
0
-1
0
0
0
-26
0
-26
0
16
0
0
-87
0
0
0
0
14
0
-107
-12
0
0
0
0
-7
-40
-17
0
-10
0
0
40
-21
0
0
-51
54
0
-1
34
0
-1
-1
0
0
6
-18
0
0
9
5
0
-6
28
0
0
-15
0
0
0
-27
0
0
5
2
0
0
30
0
0
-3
-2
0
0
8
0
0
0
4
0
0
-143
0
0
0
0
0
0
-20
0
0
-4
0
0
0
-8
0
-43
0
0
0
-5
-25
0
-4
1
4
0
0
65
-4
0
3
0
0
6
27
0
-8
-1
10
0
10
48
0
-45
5
0
0
0
73
0
-22
0
0
0
0
14
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
-10
0
-2
0
5
0
0
62
-1
0
0
-2
6
-1
-3
40
19
0
18
0
0
34
-18
0
0
0
0
0
26
0
0
0
0
0
0
0
-3
0
0
0
15
-111
0
0
121
0
0
0
27
0
65
-9
-17
-44
17
0
146
54
-5
-1
97
0
0
8
-12
0
-44
108
1
0
50
-34
0
0
8
0
0
6
89
0
0
-7
0
0
-39
-66
0
0
29
0
0
0
-16
0
-23
0
-2
0
0
-9
0
0
1
0
-11
0
-75
23
-2
0
-2
0
0
-103
45
-7
-12
0
0
3
-42
0
12
19
50
0
1
-10
0
15
29
0
35
0
-12
0
13
44
-10
0
-9
-31
-5
5
61
0
0
0
13
0
-18
-4
22
0
0
-42
0
0
-2
8
0
0
-62
0
0
5
1
0
0
-56
0
0
0
0
0
0
13
6
0
0
2
0
0
37
-6
80
-9
0
0
0
-92
0
2
18
-8
0
-11
-4
0
-8
0
0
0
-5
25
0
0
-1
-9
0
-2
21
0
-30
-15
0
0
0
42
0
0
27
-53
0
0
-14
0
8
0
0
0
0
-5
-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
1
47
1
54
28
66
87
-23
-23
48
-48
28
47
30
-120
-90
-40
40
7
-12
59
-48
40
-2
-4
79
-3
-30
-7
-2
-7
-7
-24
0
-65
-21
-15
-5
-5
-6
11
-31
0
1
-2
-1
0
18
-39
-21
86
75
-27
34
70
6
39
116
-85
18
-71
-21
21
10
76
27
-9
-2
29
69
-50
-33
4
18
36
-45
-25
-59
-23
-6
-62
13
-83
-82
-48
-7
7
-19
48
24
-53
-72
-13
38
-22
56
-64
24
44
-1
48
21
-25
3
5
1
14
-45
-35
0
87
-2
-95
32
-17
11
44
29
-14
52
75
60
36
24
15
66
29
-2
8
-56
-64
44
-29
-6
-27
34
54
29
-51
-36
7
40
64
-35
60
-7
130
33
-3
-1
-12
-45
7
14
-48
-30
14
3
-118
68
-69
70
27
1
15
16
31
34
0
-31
38
-10
1
-11
9
20
39
45
2
19
24
4
13
29
-44
-61
25
-13
1
-55
-33
-17
-55
-29
58
-1
25
4
38
-28
87
-51
52
198
9
-73
-25
-3
89
59
-34
-1
28
21
-11
35
45
-49
-11
-4
-143
-130
-5
-46
-9
30
19
35
-1
-3
7
0
-56
-13
-44
0
55
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
7
0
39
-31
-61
-7
0
38
0
28
-11
50
6
0
66
0
-36
-15
-82
0
0
25
0
38
0
0
0
1
0
0
35
0
-1
0
0
0
-1
32
0
0
-84
0
0
0
-2
0
92
191
-45
107
0
0
37
17
0
0
-35
0
0
-95
109
0
18
-43
0
-22
-52
-8
0
2
-79
0
-12
-47
-48
0
0
-40
0
0
0
11
0
0
34
0
25
0
11
0
-32
2
0
-8
0
66
0
0
0
0
80
0
0
-17
14
0
0
0
0
-6
4
0
-27
0
0
31
9
-5
5
108
0
0
-87
-16
0
1
-9
0
-12
-5
-73
0
-2
-99
0
-21
9
-38
0
-10
-4
0
13
-6
-28
0
0
-14
-11
-12
-5
-20
0
0
-10
0
-15
0
-17
0
-11
-17
0
9
0
19
0
0
8
0
0
0
-72
-7
-14
11
0
0
3
63
0
8
-2
0
0
7
66
0
-9
-16
0
0
6
-44
-4
7
78
0
0
14
-8
0
29
-72
0
0
22
61
0
16
56
0
-12
0
23
0
0
-15
0
-61
0
-39
0
-83
-13
0
-3
0
144
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
-72
0
0
0
131
0
0
36
0
2
0
-12
0
0
64
15
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
42
39
-76
37
0
0
86
3
-6
23
-84
0
0
39
-21
-2
23
1
-6
0
-34
-43
0
0
-66
0
0
-18
-88
0
0
-1
6
0
0
93
0
0
-5
0
0
0
-81
0
52
0
-12
0
-1
-16
0
0
0
0
0
0
-1
-10
0
0
0
0
0
-35
0
0
19
0
0
-50
33
0
-3
-3
3
0
14
18
0
0
17
0
0
-25
-59
26
11
10
0
0
28
-36
0
0
20
0
0
-21
-119
0
3
0
-4
0
0
5
0
0
10
2
0
0
-35
0
0
0
0
0
0
-46
0
0
0
0
0
11
59
1
4
-1
0
0
0
-72
7
16
-22
0
0
0
155
0
0
-28
0
0
-3
53
0
-8
-2
0
0
0
3
0
15
-6
0
0
0
99
0
-15
0
6
0
9
18
0
3
-3
0
0
0
85
0
-4
0
0
0
0
15
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
-55
-23
22
19
-8
-24
-66
-25
-7
-35
-10
-14
29
-56
-67
-41
-45
-24
-6
16
-15
43
5
-66
6
21
2
30
15
25
32
-9
0
-28
-22
-15
-39
-15
-41
65
63
36
18
15
-67
-2
-44
2
-17
49
-15
85
-23
-12
-27
3
-9
-28
26
43
16
3
-62
45
-33
-75
-40
-15
-37
23
75
-3
50
-32
52
4
-6
-31
-19
13
-26
20
-16
7
17
-20
-42
36
-84
28
-8
34
11
-19
-11
-11
4
3
6
10
-6
-69
-26
-15
8
17
30
-28
1
65
49
19
-56
10
15
6
35
28
72
-19
14
7
54
1
1
15
84
-17
20
5
30
-13
52
36
-12
-4
75
-9
-36
-14
-28
16
87
30
-53
19
51
-111
-120
-29
-37
-92
30
-76
-1
17
39
48
3
-5
3
17
-28
-32
-89
-87
-18
7
21
25
-71
-13
65
22
-80
53
-40
-6
-55
-33
18
-118
112
67
-67
-4
60
-8
-1
-40
32
-4
-119
-5
-60
-68
-64
1
-100
39
-48
-7
14
-39
-19
10
-70
64
35
5
7
-16
26
-8
-53
1
-51
17
10
-51
-74
12
-18
73
-1
-29
-24
-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
-48
-25
0
0
-96
4
5
-40
-16
0
16
55
0
10
120
33
0
0
10
0
0
10
7
0
0
5
0
-4
0
-7
0
0
0
-2
-51
0
0
34
0
0
0
6
0
22
-55
39
96
15
0
-94
33
0
1
43
0
0
117
0
-8
-91
49
-1
0
46
39
-4
0
-40
0
0
-10
-55
0
0
-21
-2
0
17
71
0
-2
24
-1
0
0
71
0
52
0
-13
-7
15
9
0
0
0
0
-28
-2
-9
-17
0
0
0
0
-18
35
0
0
-26
0
0
35
-53
14
-7
62
34
0
61
0
-7
0
-22
0
0
-1
34
0
10
55
2
0
0
27
0
0
-5
0
0
0
-11
0
0
-13
-12
8
-3
-28
0
0
-6
-1
0
7
-92
0
0
0
0
-1
0
22
0
0
0
11
0
0
33
0
-6
12
0
0
0
32
0
-17
3
0
0
11
0
0
-3
3
26
0
-7
-25
-2
5
-3
5
0
-5
40
0
-1
-14
20
0
-4
-26
0
-41
4
0
0
0
84
0
-3
-14
-6
0
0
-7
0
-66
-1
0
3
0
-45
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
34
-6
0
2
-9
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
-3
0
0
-10
0
0
0
0
0
2
2
9
-16
0
0
-17
31
0
0
-98
0
0
-19
-10
0
-34
40
0
0
23
-75
0
0
33
0
0
19
-42
0
0
-6
0
0
-6
46
0
0
0
0
0
0
11
0
54
0
0
0
0
-47
0
0
0
0
0
0
39
0
0
0
0
0
-1
72
2
0
-7
0
0
0
103
0
0
-12
0
0
1
129
0
0
-4
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
-11
-67
0
0
3
-2
0
0
-53
0
0
0
0
0
0
-38
0
0
1
0
0
0
-68
0
0
0
0
0
0
-31
0
0
0
0
0
0
-32
0
4
0
0
0
0
-69
0
-17
0
0
0
-3
2
0
11
0
0
0
0
-6
0
0
0
0
0
0
83
0
7
0
0
0
0
-13
0
0
0
0
0
0
10
0
-6
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
7
0
0
0
0
0
111
-1
0
-7
0
0
36
-73
0
0
10
0
0
108
-8
0
-2
7
0
0
-7
-8
0
0
-3
0
0
0
-9
0
0
0
0
0
0
33
0
0
0
0
0
0
58
0
-6
0
0
0
0
14
0
0
0
0
0
0
-48
3
0
0
0
0
0
72
17
0
0
0
0
-4
-16
0
0
20
0
0
0
-67
0
0
-8
0
0
-15
124
0
0
0
0
0
0
-25
0
0
-6
0
0
0
-12
0
0
-4
0
0
0
-42
0
0
0
0
0
0
-15
0
0
0
0
0
0
127
0
0
0
0
0
0
-53
0
0
0
0
0
0
127
0
-4
0
0
0
0
-20
0
0
-2
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
4
0
0
12
0
0
-2
0
0
0
7
0
0
0
-8
0
0
-13
0
-6
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
13
86
65
-79
45
-4
30
20
36
15
-1
-100
-40
40
-4
10
-61
47
-4
67
-25
-1
-12
-64
-59
-51
-46
8
-1
-1
-48
53
-37
-1
-4
-18
-1
-3
9
-30
-32
82
26
-50
-62
39
-10
-58
-50
-105
-17
26
-4
96
-62
0
8
-5
41
-24
-25
9
21
91
-47
78
-62
5
14
19
-8
50
17
-13
0
-1
-11
10
-4
-26
-6
61
16
1
0
-88
-93
-78
-6
-6
-16
-1
6
24
-4
2
0
2
46
-30
0
-91
4
-53
16
7
8
-4
25
-21
-93
-28
-21
-97
109
8
-31
-4
24
-66
66
9
6
18
-7
-29
-12
61
67
53
131
86
-25
-7
-8
12
-24
80
143
-44
17
45
21
-22
-3
-108
32
0
-4
-14
9
-53
0
-26
0
18
8
-62
69
0
-5
34
0
-1
6
57
-2
-11
-1
-12
32
-18
0
-63
-69
-71
-5
16
-5
30
-72
43
-13
99
-72
-51
30
-22
0
-11
-39
-90
-38
11
-102
-69
-3
34
-45
-141
-82
-79
-14
-16
-17
27
-14
4
-46
-1
1
4
-95
99
-38
-18
-6
0
-54
-17
-7
75
1
31
-43
-24
-7
-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
11
14
0
0
-18
0
1
-12
12
0
0
8
0
0
0
-1
0
0
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
-2
0
0
0
1
0
37
0
21
-11
0
0
47
-14
0
0
-3
0
0
-32
-8
0
61
2
0
0
5
7
0
0
-1
0
0
2
-12
0
0
-35
0
0
0
96
0
0
0
0
0
0
-43
0
8
13
0
0
-5
20
0
0
0
0
0
0
-29
-2
0
0
0
0
0
-53
2
0
0
0
0
-7
77
0
6
12
0
0
-26
-15
0
0
14
0
0
10
-39
0
0
4
0
0
32
28
0
0
0
0
0
-7
35
0
0
0
0
0
0
16
0
0
0
0
0
0
-21
0
0
0
0
8
0
52
0
0
0
0
0
0
51
16
0
0
0
0
0
11
0
2
0
0
0
0
100
0
0
0
0
0
0
-61
0
0
0
0
0
0
-46
0
0
32
-16
0
0
21
0
0
0
0
0
9
-12
0
0
0
0
0
0
8
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
30
1
0
0
-11
0
0
-46
-2
0
0
11
0
0
16
0
0
0
4
0
0
1
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
7
0
0
0
0
-8
106
-3
-93
5
-17
0
36
-33
0
0
-47
0
0
67
-11
0
77
-86
-5
0
-2
-85
0
0
-15
0
0
-28
26
0
0
22
-2
0
36
37
0
0
-6
0
0
-13
-10
0
-8
57
35
0
-5
-68
0
0
0
0
0
0
-51
57
-9
0
0
0
0
10
23
0
-28
0
0
10
10
2
0
20
45
0
58
-57
-6
0
-70
0
0
14
-56
0
0
16
0
0
23
-37
0
0
79
0
0
16
-95
0
-11
-52
-42
0
0
-83
0
0
-7
3
0
0
26
7
0
-21
2
0
0
31
0
0
0
0
0
0
67
0
0
-17
2
0
-6
78
0
-56
10
0
0
-25
-71
0
0
33
1
0
-3
-3
0
63
-13
0
0
20
60
0
0
3
10
0
0
8
0
79
-41
0
0
0
23
0
-3
37
-9
0
0
31
0
1
-4
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-35
103
-21
47
28
-4
-18
61
4
20
-52
-46
-46
-64
-85
-2
-6
-24
-7
-33
0
43
8
-1
2
14
-69
-2
0
83
0
-2
-4
45
60
39
21
-10
-8
18
-3
-41
20
24
-10
-51
28
5
26
-38
58
4
9
-5
10
-27
31
-148
24
-23
103
19
9
29
5
55
16
19
1
24
-46
3
-5
-20
13
48
-6
-5
0
-22
-8
10
-7
-6
-34
7
1
-15
6
-36
0
52
143
87
-6
-24
5
32
29
-32
12
44
-3
10
25
84
-27
-21
50
77
9
-28
-18
47
44
25
-59
15
66
8
-25
-47
-30
30
13
-29
-27
-5
50
8
-20
-5
13
11
-4
-9
91
7
21
8
15
25
14
-10
0
50
-3
-21
1
0
134
-30
-47
0
1
24
-13
-2
-7
4
0
0
-16
-84
1
0
0
35
47
-33
-64
-24
9
10
-40
19
-1
51
-32
27
-2
93
18
10
-5
-64
-6
-13
2
-39
1
-4
-23
-58
-36
-54
-30
5
-39
-87
-15
20
-1
-26
-8
-11
127
-107
46
-1
-34
-3
-29
-36
0
-84
0
12
-40
-2
-2
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
-51
25
-6
-1
10
0
29
-8
0
0
0
25
-11
-6
8
44
0
0
-3
0
-43
0
-41
0
0
-1
0
-80
0
0
27
0
0
0
-110
-30
11
-130
-19
-23
7
0
-9
52
-8
-15
-59
0
0
33
13
-5
56
-9
52
1
-39
0
12
-2
-178
-26
0
-28
-161
12
-14
8
0
0
-20
-67
0
0
-53
0
15
-10
-52
0
-75
-1
1
7
0
-1
0
0
0
-2
0
0
-37
-6
77
0
1
0
-3
21
-47
0
14
0
0
-76
37
6
53
-40
14
0
34
4
0
9
-8
0
0
-86
0
0
24
1
-17
0
-87
36
0
4
-29
-2
0
1
-21
0
-13
-16
-86
35
2
-58
0
0
14
7
-3
0
7
0
5
-37
7
43
0
-47
-1
0
0
0
0
0
76
-8
12
-1
0
0
21
-16
5
93
44
5
1
1
7
-6
-16
-8
-4
0
42
0
0
158
-1
9
1
67
-10
0
-22
10
-27
0
3
-75
-2
62
-100
4
0
0
-58
0
9
3
-3
-10
0
40
0
-3
-1
0
17
0
79
-4
-4
-9
-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
-19
0
0
2
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
-5
0
0
0
0
0
117
11
-13
0
-12
0
-16
-71
0
0
17
0
0
-31
56
0
-2
-51
5
0
25
15
0
0
-7
0
0
5
18
0
0
1
0
0
0
167
0
0
0
0
0
0
18
0
10
-1
0
0
0
18
0
0
0
0
0
0
-65
0
0
0
0
0
-2
-98
0
0
1
0
0
-1
44
0
6
0
-7
0
0
16
0
0
0
0
0
28
39
0
0
-25
0
0
0
-81
0
0
-9
0
0
0
0
0
0
9
-3
0
0
-96
0
0
0
14
0
0
64
0
0
0
0
0
0
17
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
32
0
0
0
0
-6
0
-4
0
0
0
-1
-6
0
14
-10
0
0
0
6
0
0
0
0
0
0
5
0
0
-7
0
0
0
-14
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
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
28
0
0
0
0
0
-26
53
-40
62
0
0
18
73
0
0
59
0
0
1
-4
0
-24
-7
0
0
-21
55
0
0
17
0
0
-1
20
0
0
-4
9
2
0
-34
0
0
-1
0
0
4
73
0
-15
-2
0
0
0
83
0
0
0
0
0
0
-81
11
0
0
0
0
0
-76
16
0
0
0
0
-1
22
0
0
36
-21
0
0
61
0
17
0
0
0
1
-122
0
0
-13
3
0
0
-34
0
0
2
0
0
0
67
0
0
10
57
0
0
-17
0
0
0
0
0
0
32
0
0
0
11
0
0
43
0
0
0
0
0
0
69
0
0
0
0
0
0
-21
0
-17
0
0
0
0
127
0
0
3
0
0
-3
12
0
4
-9
0
0
12
-76
0
0
0
0
0
-4
-30
0
0
0
0
0
0
37
0
0
2
0
0
0
35
0
-29
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-21
4
89
54
17
-18
2
-34
5
-76
71
-53
0
-8
-17
0
11
0
62
0
0
0
13
-49
0
0
-89
0
0
-2
-32
-40
-24
-22
-9
27
30
3
75
14
26
-13
36
-1
-39
-35
63
-37
2
-1
29
22
39
17
-11
8
41
-7
-6
-2
62
0
11
-49
-42
12
-106
-56
0
39
-46
0
-6
39
-36
-3
-50
4
-17
-74
-17
-39
0
0
2
0
-32
0
46
-15
85
2
45
-1
4
-23
-51
-7
-72
0
1
15
22
-25
-59
-17
-13
-6
25
-34
-12
47
-126
16
-2
-102
-48
-7
-31
26
12
0
-60
-7
1
3
-13
9
-21
-4
10
1
-2
-7
28
52
-3
-2
7
18
-17
1
67
19
-24
0
8
-1
27
-119
0
54
11
0
10
-13
26
0
-43
41
8
12
-3
0
-10
62
10
-66
-62
7
0
-14
-35
-18
-28
58
9
-2
54
13
0
31
-68
0
14
9
-7
0
55
-22
-15
16
-33
-33
5
27
-44
-47
-6
20
55
8
-3
4
21
-22
12
-8
0
83
-23
0
76
0
117
-51
26
26
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
1
0
42
0
-20
-70
-1
0
0
15
0
12
-22
81
0
0
-8
0
-14
2
59
5
0
4
0
-6
0
0
54
0
0
0
3
11
41
-67
105
-85
0
0
59
-11
0
-3
16
0
0
-36
-60
0
51
130
0
0
-21
70
0
1
2
0
-16
-1
4
0
0
56
0
-25
43
-56
0
1
75
0
-4
4
20
0
15
-39
7
-57
0
12
0
5
-2
0
-101
0
-19
1
-2
0
0
-2
0
25
8
0
91
0
0
-82
-10
5
-23
57
0
-11
-33
-19
0
21
11
3
1
34
36
0
22
121
0
8
55
-23
0
29
17
-27
43
-30
7
0
-8
22
0
-9
-28
-9
0
-7
40
0
-14
0
12
0
-29
-4
0
7
0
-41
-15
0
-2
0
2
0
-43
9
25
-15
0
0
38
13
7
-82
-36
0
-18
69
42
-31
14
-50
0
0
-107
2
0
-13
-94
2
-17
6
15
0
-29
-21
4
-4
-67
-10
0
-21
-84
0
0
0
-25
0
14
63
0
-37
0
-38
0
14
0
0
-17
0
20
-55
-10
-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
-20
111
0
0
14
0
0
1
-22
0
0
0
-2
0
0
0
0
0
0
0
0
0
45
0
0
0
-1
0
0
0
77
0
0
0
0
-6
56
29
84
42
7
0
26
-6
0
-7
11
0
0
-22
1
0
-3
-73
26
0
34
-68
0
0
-82
0
0
80
-26
-7
4
-35
-15
0
35
-50
0
0
47
0
0
-4
-11
0
-7
17
-4
0
0
1
0
0
0
0
0
0
10
14
2
0
1
0
4
5
41
0
-5
0
0
-5
-4
0
13
71
-26
0
-91
-64
0
7
-67
0
0
31
-8
0
0
-34
-91
0
64
51
0
16
3
0
0
1
-32
0
0
-40
-4
0
0
17
0
0
-6
-10
0
0
-43
0
0
40
-20
0
0
-20
0
0
0
0
0
0
-102
-1
-6
-7
0
0
-18
8
0
12
8
0
0
10
-82
0
0
-17
-1
0
25
25
-5
14
-18
0
0
4
83
0
14
39
-6
0
-7
62
0
33
19
0
0
0
-35
0
0
93
43
0
0
-45
0
69
4
0
0
0
5
0
-15
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
22
0
21
113
-22
11
-5
0
-4
-89
-1
-19
-1
-64
0
0
2
-58
5
0
0
-8
0
0
0
-21
-3
9
21
-42
-12
-28
-8
21
-10
-21
-26
12
0
-1
-44
-15
-15
-36
-37
-48
10
-42
-28
40
14
-31
10
7
64
40
-1
-6
-16
-13
0
-43
1
2
-5
22
38
4
0
28
-3
4
-49
53
-7
0
-48
6
0
16
0
9
0
13
52
9
0
63
0
6
-7
27
43
14
34
0
18
4
-41
34
-38
-34
9
-29
33
14
55
-52
-3
34
6
8
89
-24
-75
11
6
-10
2
63
-34
15
-14
-3
50
34
6
30
-80
-25
85
0
19
5
-18
-149
0
-2
0
4
3
5
0
-44
-25
0
-41
-17
0
6
-20
-10
-17
-35
-43
1
62
2
0
1
-111
70
-62
-32
15
0
14
141
5
-14
55
18
3
2
51
-9
5
42
27
6
42
24
8
31
-22
-72
5
72
59
6
19
49
6
40
-18
38
0
13
-42
54
-2
0
2
16
11
-8
-9
-34
0
-21
112
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
-29
-26
0
0
-9
0
48
-49
58
0
0
-3
4
0
0
-7
0
0
0
3
-88
0
0
45
0
0
0
-8
-23
40
32
12
-6
51
0
35
5
2
-1
60
17
0
-27
-25
-12
-5
-1
-30
0
15
8
0
44
-52
-2
2
-68
0
-6
-3
14
-4
0
-21
-53
0
13
-121
-5
0
-2
60
0
-73
4
0
5
-4
-55
0
0
-3
0
5
0
45
-20
-5
0
5
0
-1
52
-7
0
41
0
0
104
-87
16
36
-43
22
-22
-120
39
2
-1
61
2
-14
75
-83
1
57
-144
58
52
-46
0
0
-4
20
-13
-2
12
-32
0
4
-22
36
0
11
0
0
-7
-7
0
15
0
57
-35
0
2
-31
-149
0
-10
0
0
0
0
-8
0
-14
21
-2
-12
0
0
-23
35
-16
-55
1
0
-1
21
36
-21
-24
-13
-43
3
-40
48
1
-30
17
0
-18
-28
0
0
-29
-23
52
-2
-1
12
1
9
43
1
0
0
-21
0
0
18
-19
0
0
45
0
78
0
0
11
0
-109
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
11
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
-16
18
77
-12
-12
0
0
73
1
0
-15
0
0
20
62
0
-4
47
0
0
-8
21
0
0
-1
0
0
20
1
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
8
-2
0
0
0
94
0
0
0
0
0
0
16
0
0
0
0
0
0
35
1
0
0
0
0
0
9
0
0
2
1
0
0
-22
0
0
11
0
0
0
-5
0
0
-1
0
0
0
-16
0
0
-6
0
0
0
-1
0
0
0
2
0
0
52
0
0
0
0
0
0
-10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
-1
0
0
0
0
2
0
-7
1
0
0
0
-6
0
-11
0
0
0
0
-16
0
0
1
0
0
0
31
0
0
0
0
0
0
-30
0
0
0
0
0
0
40
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
1
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
-33
-13
-2
-6
0
0
8
-79
0
0
7
0
0
49
-32
0
3
-4
0
0
-2
0
0
0
8
0
0
0
34
0
0
0
0
0
0
-19
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
-131
1
0
0
0
0
0
36
4
0
0
0
0
0
43
0
4
-7
0
0
0
-10
0
0
0
0
0
0
-19
0
0
-1
0
0
0
-93
0
0
0
0
0
0
32
0
0
-8
10
0
0
-25
0
0
0
0
0
0
24
0
0
0
0
0
0
23
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
19
0
0
0
0
-4
0
0
0
9
0
0
15
0
0
18
0
0
0
-3
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
87
38
1
-14
12
50
-27
-27
44
0
2
8
0
-6
0
66
0
0
0
-12
-14
0
0
-30
0
0
0
-29
8
-34
65
-65
-21
-5
0
20
-2
16
3
-35
0
0
-36
-98
0
-50
54
16
0
-84
-131
16
1
31
-4
-3
12
-30
-7
14
-43
-42
-6
21
-37
0
-11
8
1
45
-30
-15
0
-38
0
-7
0
0
-27
0
10
0
0
12
0
44
-11
-14
0
14
0
0
-18
54
0
22
0
-3
-44
-69
-121
-7
-29
26
12
-24
22
-2
10
-9
0
5
-38
11
0
5
-5
57
0
56
43
0
-6
-5
0
0
-4
19
0
-13
-6
19
17
-1
-1
0
1
0
4
-28
0
73
0
7
0
-4
22
0
53
0
0
0
0
0
0
1
-33
-5
1
0
0
7
-123
0
23
0
0
0
-27
24
0
0
75
-1
10
-5
36
0
18
39
0
12
-12
-38
0
-1
0
2
0
-5
20
0
31
0
0
1
0
-18
0
-11
32
0
1
0
96
0
-14
0
0
-5
0
-18
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
6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
0
0
0
0
0
66
-4
0
7
0
0
0
52
0
0
15
0
0
0
14
0
4
17
0
0
-6
-13
0
0
0
0
0
0
-4
0
0
37
0
0
0
3
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
-25
0
0
0
0
0
0
-23
0
9
-28
-3
0
-20
-104
0
0
0
0
0
0
101
0
0
0
0
0
2
-110
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
0
0
0
0
-32
0
2
0
0
0
2
-11
0
0
0
0
0
0
-8
0
0
4
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
-4
-8
0
43
0
0
0
-2
0
0
0
22
0
0
0
-45
0
0
0
-71
0
0
0
0
0
45
91
108
43
-5
0
75
-34
-3
0
13
0
0
68
-96
-1
41
35
-57
0
-35
-36
0
0
-152
0
0
-29
-113
0
0
97
3
0
-87
-50
0
0
122
0
0
-3
-79
0
-6
-52
1
0
0
-2
0
0
0
0
0
0
39
-79
-5
0
-1
0
0
35
-31
0
1
0
0
41
-16
-27
9
61
39
0
-5
-94
8
0
16
0
0
-138
-43
0
-6
-74
8
0
-62
-112
0
4
12
8
0
28
-39
0
-16
-75
27
0
-37
-1
0
0
37
0
0
0
6
0
0
-25
11
0
0
16
0
0
0
0
0
0
-105
4
0
0
0
0
0
28
-4
93
-69
0
0
0
-17
0
0
52
21
0
-1
67
0
-22
45
0
0
30
24
0
-2
0
64
0
22
-2
0
-30
0
0
0
0
19
0
0
8
-1
0
0
-9
0
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
0
7
0
0
13
10
-61
0
0
12
0
0
0
-3
2
-71
-7
-115
-9
5
0
4
8
0
0
-78
0
0
-21
-44
0
20
5
-21
0
24
-5
-5
-7
21
0
0
3
-34
-9
5
-24
-18
15
0
-17
0
0
-41
3
0
0
-82
0
-103
15
-52
0
1
10
0
0
0
0
-16
0
11
11
11
0
3
0
0
5
-62
-2
16
0
0
10
42
32
14
-51
-33
0
6
-67
0
-1
-66
0
0
5
-6
0
47
-35
27
0
1
-25
-9
-5
-97
2
0
0
-26
0
1
82
-32
0
0
41
0
0
6
0
24
0
-51
0
0
0
-8
40
0
-27
0
0
0
-6
0
0
92
-2
-12
7
8
0
0
42
0
56
42
0
11
-2
-28
1
-15
41
11
-16
0
19
0
35
-18
-16
27
0
67
4
0
-11
13
-1
2
48
-1
-64
3
0
-20
0
-3
0
-6
-3
-2
7
0
-92
0
5
0
0
0
0
-51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
4
-1
-4
0
1
0
0
-9
63
0
0
5
0
0
0
1
-3
0
46
-106
28
0
0
56
18
13
0
-77
0
0
-21
2
0
-6
-169
-1
0
-11
35
0
0
18
0
0
43
-93
0
0
-1
5
0
48
0
0
0
7
1
0
0
38
0
-101
23
-8
-2
15
159
0
3
-2
0
-7
0
86
-6
-12
0
0
0
13
17
-2
19
2
0
-2
-18
-61
-16
-11
-77
65
0
-84
25
0
-2
-81
0
9
-42
2
16
18
-38
10
7
3
93
16
10
20
3
0
0
0
0
0
24
30
-1
0
-60
0
0
0
-5
8
6
-43
0
0
-16
27
-30
0
-53
0
0
0
0
0
1
30
-16
0
9
0
-20
0
110
-17
3
-19
0
-4
4
-39
-6
4
29
3
1
18
40
12
6
4
1
4
8
-77
0
0
12
-4
-1
0
0
0
-26
0
0
0
0
-42
0
0
7
0
0
0
-52
10
10
0
0
7
0
-31
11
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
8
0
0
0
21
0
0
-9
0
0
9
-11
0
6
65
-12
0
-26
-31
0
0
-2
0
0
0
0
0
0
15
0
0
0
-2
0
0
0
0
0
0
-5
0
9
0
35
0
0
108
0
0
0
0
0
0
-57
0
0
0
0
0
0
-55
0
0
2
0
0
0
-28
0
0
0
0
0
9
29
0
0
0
0
0
0
1
0
0
0
0
0
0
67
0
0
25
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
-24
0
0
0
7
0
0
7
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
76
0
-6
1
0
0
32
-28
0
0
-7
0
0
-22
-1
0
-7
68
0
0
-8
93
0
0
1
0
0
-12
1
0
0
-22
-2
0
0
-83
0
0
0
0
-1
0
3
0
15
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-42
0
0
0
0
0
-6
-120
0
0
-1
0
0
0
-35
0
0
0
0
0
0
-14
0
0
-7
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
11
0
0
0
-1
0
0
7
0
0
0
-51
0
0
0
0
0
0
-9
-12
0
0
0
0
0
3
0
0
15
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
15
5
0
0
0
1
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
-38
0
-8
0
0
0
-5
33
0
0
0
0
0
0
-25
0
-5
-48
26
-47
-15
-2
122
-47
0
-3
21
0
0
-41
24
-3
-18
-84
-67
0
-10
5
0
0
-34
0
0
-8
23
0
0
4
4
0
11
69
0
0
0
6
0
0
5
0
-33
0
-33
0
0
-96
0
0
0
0
1
0
-33
9
-9
0
-3
0
0
20
29
0
21
0
0
0
42
-1
21
104
1
16
-2
8
0
0
-84
0
0
-2
0
0
8
-16
32
0
-8
-17
1
-6
-13
7
0
0
94
0
0
0
-16
0
0
-22
0
0
0
0
52
0
-24
0
4
0
-2
-9
0
-31
0
0
2
0
18
0
44
-1
0
0
26
0
2
10
0
70
7
0
0
0
-133
4
17
0
0
0
0
86
0
38
-1
0
0
0
-37
0
-3
0
-28
0
0
97
0
-59
0
6
0
1
-131
0
0
0
17
0
0
-24
7
-56
0
0
1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
55
0
0
-42
0
0
0
16
17
-16
3
-2
23
0
0
7
-6
0
-7
-35
0
0
4
18
0
-111
79
0
0
113
9
0
0
217
0
5
-8
-49
0
0
10
0
-2
3
12
-6
0
69
0
0
0
35
0
-124
-7
-1
0
0
17
0
0
0
0
-10
0
-14
9
-4
0
0
0
0
-4
3
0
23
0
0
15
-52
0
0
30
0
0
-6
33
0
0
-2
0
0
6
38
0
0
-28
0
0
-41
-22
0
15
-6
0
0
0
41
0
0
29
0
0
0
-24
0
0
10
0
10
0
-70
0
0
34
0
-16
0
-26
0
-2
0
0
-9
0
-13
-4
0
-7
0
0
0
-38
0
-17
0
0
0
0
-61
0
0
-10
0
0
3
-56
0
11
0
0
0
0
-22
0
0
0
0
0
0
1
0
29
-5
0
0
0
49
0
0
12
0
0
0
8
0
8
14
0
22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
19
0
0
-2
-34
0
0
0
36
0
0
7
0
-1
16
53
-68
18
29
0
69
17
0
0
20
-2
0
-35
-34
0
3
-6
112
0
6
8
0
0
2
0
0
82
22
0
0
-54
-35
0
-36
-105
-2
0
-9
0
0
5
16
0
17
-111
0
0
0
1
0
0
0
0
0
0
26
65
6
0
-12
0
7
25
-30
6
-64
2
0
135
10
-2
0
-20
17
0
131
-29
0
0
47
0
0
-47
3
0
10
30
-15
0
52
32
0
-5
-59
-6
0
-51
-45
0
-4
-41
50
0
0
30
0
0
32
0
0
0
-10
0
-8
37
6
0
0
56
-7
0
0
0
0
0
-42
7
0
27
0
0
-4
31
0
86
-7
0
0
-2
-5
0
0
-11
-6
0
44
62
0
-39
50
0
0
-7
-6
0
0
15
6
0
-2
-25
0
5
-100
1
0
3
20
0
0
50
-16
0
0
-65
0
-10
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
-1
37
6
0
0
94
-28
0
0
-84
0
0
0
0
9
-71
-21
-73
-39
0
0
-46
-33
3
5
-10
0
0
-39
5
2
0
57
17
0
5
31
0
0
-7
0
0
-4
-47
0
0
-12
-24
0
0
-86
0
0
19
0
0
0
61
0
-61
-45
-48
0
0
-11
0
0
1
0
26
0
-40
26
0
0
11
0
0
-12
0
0
-1
0
5
0
-41
-1
0
-12
10
5
-1
-6
0
-3
2
0
0
1
59
-1
1
-35
-13
0
-3
-63
0
4
-24
0
-2
0
-50
0
-4
-37
-21
24
0
5
0
1
-6
0
-76
0
41
0
0
0
-19
-35
0
-16
0
0
0
0
10
0
-6
0
0
-6
0
0
0
14
0
66
3
0
0
5
60
8
6
-6
6
-3
0
-33
0
24
0
0
0
0
4
0
1
1
-7
0
0
43
0
17
-4
0
0
0
-48
0
0
-3
7
0
0
-10
0
2
0
0
0
0
-60
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
-8
1
2
0
0
-4
0
0
4
0
0
0
2
23
15
-10
-133
-53
5
0
-80
36
0
0
15
0
0
4
-37
6
66
12
-26
3
-57
7
0
-2
-1
0
0
66
-6
0
0
-88
21
0
-32
-78
0
0
54
0
0
3
0
-1
-27
0
-6
6
0
-11
0
0
0
0
27
0
-4
-8
-3
0
0
0
0
26
55
0
2
0
0
1
58
-10
10
71
35
0
-3
0
-5
0
11
0
5
9
-61
0
58
-91
-28
-1
-34
-94
0
0
15
-1
0
-8
67
0
0
27
0
0
0
0
0
0
-3
-3
10
0
36
0
0
0
0
-35
0
56
-1
0
0
0
8
0
20
2
0
0
-5
0
0
-5
39
-13
-1
0
0
-17
34
11
0
0
0
0
0
-120
0
-56
0
0
0
-2
40
-2
-33
23
-13
0
0
-13
0
22
1
-1
0
-5
0
0
0
0
28
0
0
-38
0
-9
-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
2
0
0
0
0
0
0
0
0
-37
0
4
0
0
0
0
-42
-8
0
7
0
0
0
0
0
4
20
0
0
1
-5
0
0
27
0
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
-1
0
0
0
0
0
0
33
0
0
0
0
0
0
27
0
0
0
0
0
0
33
0
0
-11
0
0
0
-54
0
0
0
0
0
0
-15
0
0
12
0
0
0
-7
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
-5
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
-3
0
-3
-43
0
0
3
0
0
-1
42
0
-25
-10
0
0
-7
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
51
0
0
0
0
0
31
-104
0
0
0
0
0
22
29
0
0
0
0
0
0
-33
0
0
0
0
0
0
60
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-64
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
1
0
0
0
0
-10
0
14
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
24
0
-62
-11
12
-4
0
0
20
60
0
-7
59
0
0
12
-148
0
18
-29
0
0
80
20
0
0
4
0
0
-4
-161
0
1
-2
6
0
-21
41
0
0
0
0
0
0
-30
0
15
0
-7
0
0
-143
0
0
-6
0
0
0
-69
-2
21
0
0
0
0
-47
-4
0
0
0
0
0
17
0
0
-9
16
0
-49
27
0
0
-8
0
0
1
-121
0
0
7
-13
-8
11
16
0
8
1
-12
0
9
-109
0
0
0
15
5
0
-33
0
4
1
0
3
0
-42
0
0
0
0
0
0
23
0
0
0
0
0
0
20
0
0
0
0
0
0
-11
0
-25
0
0
-6
0
-1
0
0
17
0
0
0
23
0
-8
0
3
0
0
24
0
0
5
-3
0
4
25
0
-9
0
5
0
4
29
0
0
0
0
0
0
-81
0
-1
0
0
0
0
-151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
23
0
0
-1
0
0
1
31
0
-1
-5
0
0
0
-5
0
0
-7
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
49
0
0
0
0
0
0
16
0
0
0
0
0
0
-99
2
0
0
0
0
0
-35
0
0
-7
0
0
0
28
0
0
2
0
0
0
12
0
0
-4
0
0
0
-48
0
0
0
0
0
0
-2
0
0
3
0
0
0
32
0
0
0
0
0
0
-2
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
-2
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
5
0
0
0
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
13
-9
0
0
-16
-101
0
0
0
-4
0
0
-2
0
42
-8
25
-6
-63
-13
0
-91
-29
4
2
-8
0
0
-86
-56
-1
-18
14
-41
0
-60
33
-10
0
-67
0
0
-22
8
0
-3
8
22
0
-60
23
0
0
-78
-5
0
-2
-156
0
9
47
53
0
-1
27
0
0
11
0
0
0
38
-47
54
0
91
0
24
-21
-10
0
13
0
0
95
9
6
-4
44
-18
0
-28
35
0
9
65
0
0
13
49
17
32
-4
0
0
33
12
0
41
-33
-1
0
14
82
9
-3
8
30
0
-9
-24
0
4
75
20
0
7
-9
0
-2
-3
15
0
0
43
0
0
0
0
0
-10
-36
11
0
-2
1
0
22
-22
0
19
1
0
0
3
1
0
0
-12
-11
0
24
66
0
64
12
0
0
-4
-13
4
3
-14
-11
0
12
29
-10
39
-155
0
0
5
-4
0
0
-82
20
0
0
-7
0
-54
-6
0
0
0
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
-27
12
11
0
0
0
-43
-133
6
0
42
0
0
-1
-15
0
26
-3
9
0
-2
27
0
0
-3
0
0
0
10
0
0
29
0
0
0
48
0
0
0
0
10
0
5
0
-9
0
0
-19
0
51
0
0
0
0
0
0
-26
0
0
0
0
0
0
-45
0
0
0
0
0
0
36
0
0
0
0
0
10
21
0
0
0
0
0
0
-53
0
0
3
0
0
0
-7
0
0
2
0
0
-1
47
0
0
1
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
12
0
0
0
0
22
0
1
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
23
0
0
0
-24
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
-36
0
0
0
-2
0
-8
-28
-55
-54
-4
0
-33
-38
-4
-2
-44
0
0
-56
69
-10
-36
-4
2
0
-51
49
0
0
-76
2
7
-5
62
0
0
103
5
0
-7
-132
0
0
33
0
-10
2
-71
0
-55
0
-5
0
0
0
4
0
0
0
-3
0
13
-7
0
0
0
0
0
-48
38
0
7
0
0
0
-12
9
-3
80
-1
0
-90
66
0
0
-41
0
0
35
-25
0
0
-70
13
-6
28
23
-18
-4
6
13
21
0
-77
0
2
4
77
-10
0
22
0
0
1
0
0
0
0
10
0
-5
-2
-4
0
-9
0
0
0
0
0
0
19
0
0
-5
0
0
0
-76
0
26
22
0
0
-16
32
17
4
0
-1
0
2
-131
13
7
2
0
-18
5
-46
0
-4
-1
-43
0
-1
17
0
-10
-3
0
0
0
-30
0
0
0
0
0
0
0
0
-26
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
52
2
0
2
0
0
0
-67
0
0
-6
0
0
1
0
0
25
22
0
0
-2
-12
0
0
0
0
0
0
-1
0
0
0
0
0
1
49
0
0
0
0
0
0
2
0
29
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-47
0
0
-1
0
0
0
-2
0
0
0
0
0
-1
-38
0
0
0
0
0
0
-1
0
0
6
0
0
0
-6
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
-21
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
8
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
-11
-1
0
0
0
0
0
-15
0
0
0
0
0
-1
-1
0
-1
2
0
0
18
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
1
0
0
0
0
-2
0
0
0
0
0
0
-38
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
25
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
-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
-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
-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
14
0
0
0
0
0
-53
0
-6
0
0
0
0
-61
0
0
-61
0
0
-2
7
0
-20
47
0
0
-30
-38
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-72
0
0
0
0
0
0
12
0
40
0
0
0
0
-96
0
0
0
0
0
0
17
0
0
0
0
0
0
89
0
0
0
0
0
0
-20
0
0
-12
0
0
-6
-31
0
0
0
0
0
0
-24
0
0
0
-9
0
0
-66
8
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
-6
0
-3
0
0
0
0
0
0
-64
0
0
0
0
0
0
-3
2
0
0
0
0
0
-6
0
4
1
0
0
0
-14
0
-11
0
0
0
0
-1
0
12
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
58
0
0
-1
0
0
0
22
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-143
19
-117
-10
0
0
45
9
0
0
-39
0
0
9
-5
0
47
-62
0
0
-27
-56
0
0
-84
0
0
-17
-28
0
0
-78
0
5
-10
-14
0
0
65
0
-39
-1
-5
0
32
4
0
0
-2
-98
0
0
1
0
-26
0
-91
-8
-9
0
0
0
0
85
-2
-8
9
0
0
1
9
0
4
-120
0
0
34
18
0
-1
-3
0
0
-18
-24
0
0
75
0
-48
2
-42
0
0
-11
0
-5
0
-30
0
0
16
0
15
-14
-35
0
0
-7
0
9
0
-30
0
11
0
0
14
0
-6
13
0
0
0
0
0
32
0
0
0
0
0
0
25
0
14
18
0
0
14
-72
4
0
8
0
0
0
53
0
3
-9
0
0
0
22
0
0
-27
0
0
14
-30
0
-40
-4
0
0
0
11
0
0
3
0
-2
0
-41
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
6
-36
0
0
-2
0
-41
-1
-21
-2
-5
18
0
-43
11
16
20
-22
35
0
21
48
-12
-5
-5
14
0
-6
-1
32
-5
-21
2
0
46
-14
-1
-11
-6
-9
0
71
30
0
12
-6
4
0
-5
-1
-10
-2
-30
-33
0
-3
55
34
-2
3
-3
0
0
-9
-21
-129
-3
12
0
2
-1
87
-2
-29
-11
5
29
43
43
-20
11
-14
0
-21
22
-21
-7
-6
0
0
9
-27
25
-7
50
4
0
70
27
6
-28
52
-48
0
99
5
-3
-93
79
5
0
8
0
-5
-8
20
-57
0
-2
-3
1
14
48
33
0
0
-3
-10
-7
-1
4
0
0
-29
9
6
-52
22
0
-27
9
-48
-168
60
22
2
68
29
-5
-6
-37
21
0
-16
-6
17
0
-41
11
0
-45
36
-7
27
-20
-73
0
69
25
-23
13
86
43
0
-8
-39
2
3
14
-21
0
-7
-26
0
-110
47
-1
0
-13
-6
50
51
-22
-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
-38
0
0
0
0
0
0
-114
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-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
-54
0
0
0
0
0
0
-44
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
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
-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
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
0
0
-3
0
-3
-8
0
0
17
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-29
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
39
0
0
0
0
0
0
-13
0
0
0
0
0
0
-83
0
0
6
0
0
0
-18
0
0
-5
0
0
0
-50
0
0
0
0
0
0
4
0
0
0
0
0
0
-70
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-85
-20
36
1
-17
0
-115
-75
14
68
-74
1
-2
-82
-58
-29
-41
-66
-43
-23
-11
18
-9
-16
36
11
-17
-49
-21
0
0
-34
-35
1
68
16
0
-4
14
4
-41
-11
-40
0
-54
53
-14
-28
0
-36
-3
0
-3
0
33
0
2
0
-154
-1
-9
14
-10
9
-50
-27
-34
0
3
0
-13
-46
8
-57
-43
-6
-44
40
-43
77
-50
0
-37
30
18
-14
28
19
-56
-10
-2
14
-10
86
132
1
-7
-38
-5
-3
9
20
42
-29
-1
41
0
5
15
-2
-98
6
26
-6
-4
10
3
97
0
4
0
0
0
0
-2
10
-17
0
-3
18
-14
8
-5
20
-1
-14
18
23
3
1
59
-6
-11
37
12
11
9
20
10
-25
34
11
-47
-30
22
-5
43
-43
-20
2
45
-33
1
-57
124
-14
-16
13
-14
0
-4
33
6
6
0
-3
0
-4
-54
0
-8
0
19
0
-6
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
-45
0
0
0
0
0
0
-45
0
0
-1
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
-1
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
-2
0
0
0
0
0
0
-20
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
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
0
0
-1
0
0
-1
-1
0
-3
-2
0
0
0
6
0
0
0
0
0
-1
-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
-45
0
0
0
0
0
0
-12
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
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
-28
-2
3
0
0
0
-9
86
0
0
0
0
0
-8
4
0
-5
-16
0
0
1
25
0
0
-14
0
0
0
22
0
0
0
0
0
0
23
0
0
7
0
0
0
22
0
-3
0
10
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
68
2
0
0
0
0
0
-77
0
0
-3
0
0
0
-8
0
0
-4
0
0
0
-25
0
0
15
0
0
0
-12
0
0
0
0
0
0
3
0
0
-16
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
17
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
8
0
0
0
4
0
0
1
0
0
0
-7
0
0
-18
0
0
0
3
0
0
0
0
0
0
-8
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
13
-3
-6
-98
27
0
0
8
-17
13
0
20
0
0
37
-39
0
44
28
-80
0
5
-111
4
0
-34
-1
0
20
-42
-2
0
-66
69
0
37
-33
3
0
57
0
0
-2
14
0
-33
-53
70
0
0
-79
-5
14
0
0
0
0
-8
33
-65
0
0
0
2
34
1
0
-54
-8
0
101
-3
-3
-1
46
-15
0
-60
-20
0
-3
15
0
0
-40
-68
0
-8
-11
-22
0
-101
-23
0
2
10
0
0
13
-17
0
-5
-97
-8
0
0
11
0
0
8
0
0
0
-10
0
-28
29
-2
0
0
-1
-6
0
0
0
0
0
-112
-3
3
3
-2
0
-26
-12
18
1
-24
0
0
-3
99
0
0
65
10
0
67
38
-3
-58
-34
0
19
-12
92
2
-33
-60
3
0
-12
-5
-3
-53
-18
-1
0
-13
25
0
10
-34
-5
0
0
50
0
123
-23
2
0
0
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-25
0
0
61
-81
0
-27
-16
3
0
34
73
0
-1
-18
0
0
1
-24
0
0
13
-24
10
0
-32
0
0
-4
0
0
-5
27
0
-42
0
0
-9
0
-47
0
0
0
0
0
0
-47
1
0
0
0
0
0
-131
-58
0
0
0
0
-6
126
5
-3
19
-6
0
-1
10
2
3
-46
0
4
7
-15
0
-1
0
0
0
4
157
0
-2
22
0
0
0
-4
0
0
37
-12
0
0
23
0
0
0
0
0
0
9
0
0
0
0
-4
0
23
0
0
0
0
0
0
-133
7
-2
2
0
0
0
20
17
27
4
0
0
0
-10
-15
0
0
0
0
-1
74
0
16
-8
0
0
-1
50
0
-5
0
0
0
0
120
0
3
0
0
0
0
-79
0
26
0
-2
0
0
-213
0
6
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
35
66
-8
101
48
-96
17
-13
38
14
23
19
7
4
13
-51
-113
61
112
-20
43
28
45
-14
-29
-26
0
-38
4
11
43
-77
-52
-3
-34
-1
41
0
-9
-21
-7
7
-3
18
43
-42
9
-7
-47
20
14
-24
-17
-64
5
-70
0
-91
-140
24
-33
40
-80
-89
103
11
-58
-34
-98
22
5
-80
-44
82
-31
-100
-37
-2
-1
-109
55
-5
-136
39
-42
24
15
-8
55
-2
-86
9
12
-22
-14
22
-32
93
-7
-7
10
1
96
98
37
-28
64
16
-22
52
-39
-9
6
-25
-1
-95
-27
-56
-101
0
-139
-38
2
-122
0
-122
-67
37
10
-36
-9
42
-108
35
-45
-27
-47
-85
-23
35
-21
13
-60
-27
-7
93
15
-23
70
-42
83
10
10
-105
28
67
-77
8
61
14
31
18
-24
-41
96
26
23
-45
-5
-14
48
-130
122
27
-44
-22
1
55
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
12
22
4
-2
120
-29
-11
-64
-10
72
1
-5
29
-11
8
16
0
9
50
-18
-8
19
-14
41
0
47
-26
0
0
2
0
28
5
-4
0
43
-47
76
-7
0
-27
0
0
11
5
-27
0
11
16
17
-1
10
0
0
56
-17
-4
-82
0
-1
-106
-3
64
8
-53
13
26
-17
39
24
50
52
-2
7
37
30
-17
-47
63
9
6
20
-16
-6
0
-8
23
-1
-23
-3
0
-64
34
10
-1
-10
-16
0
-8
-58
5
12
0
2
0
2
-35
104
-70
0
-3
-2
9
0
4
3
-4
-3
62
1
-2
15
7
-14
-95
1
-44
-23
1
4
-40
19
2
53
-8
-23
0
80
16
2
-67
16
-7
-16
27
47
3
96
31
-56
8
34
-62
0
132
-41
5
0
0
-23
4
1
9
78
-9
0
-23
0
104
-14
14
13
0
3
-17
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
39
-10
-50
-5
-51
-1
0
-19
82
34
-62
10
-39
4
-46
-34
-11
-1
-50
4
5
32
35
-8
21
0
10
-5
15
-64
-6
1
-107
1
40
-40
-31
-4
-26
25
-117
-29
0
52
-2
-1
-2
0
-10
0
22
-31
-58
0
1
0
-17
-21
-86
10
34
0
0
-15
-17
4
70
-110
41
-11
5
3
45
14
16
-2
97
-38
40
-34
-21
18
18
1
67
37
-19
-18
-70
-5
29
-4
-1
0
-11
-70
-11
25
42
-88
-3
1
46
11
-114
14
72
-4
5
-11
-6
35
0
0
-4
-4
0
0
3
-6
-11
51
72
-22
4
4
59
-27
-5
56
-30
0
0
-12
-66
21
-19
-68
-13
-6
-64
60
-6
-58
-3
0
-26
2
14
6
-123
86
-70
-2
50
-41
-16
-82
36
-11
16
29
-2
5
-41
-4
-45
-3
-1
79
-23
-47
-5
0
-3
0
-89
-101
-30
2
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
-70
69
2
-53
15
0
0
-32
1
-44
26
110
-75
0
-44
-20
49
7
7
-10
-12
-59
-31
0
63
-31
-82
14
-28
-15
0
-1
60
0
-6
11
126
-65
71
43
100
-11
0
77
9
0
0
7
-59
0
-43
47
-105
0
99
0
-3
-75
53
-9
-25
3
0
64
-4
99
39
39
34
0
20
-3
21
70
17
0
-9
4
-22
-4
69
-43
-53
34
-35
-10
0
-4
8
-26
-17
-49
1
0
2
-75
40
-19
0
-24
0
33
-52
-11
78
-11
33
-6
1
-17
52
24
0
-21
9
0
-1
-2
8
12
-31
-102
14
-10
-9
0
0
31
-9
25
-13
-4
0
13
67
24
-33
10
-8
0
52
-12
4
27
51
-7
30
35
-26
-2
36
23
3
0
-41
76
0
53
-37
-1
-6
-2
-41
7
-6
-11
-84
0
0
-15
0
-94
4
0
-18
-12
12
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
42
74
0
2
47
0
0
-35
40
0
-47
-86
0
0
-121
-109
-1
-5
31
0
-1
82
-13
-2
0
-1
0
0
103
-71
0
0
-11
0
-14
0
-45
0
31
0
0
0
0
7
0
0
-7
0
-4
0
-2
8
-26
0
0
0
0
-96
51
2
28
0
0
4
-65
0
0
-12
0
13
-9
-13
0
22
39
0
0
19
-76
-1
0
102
0
-2
0
24
-10
0
-15
0
0
-24
-69
0
0
19
0
13
0
-41
0
0
18
0
11
0
-56
0
15
-18
0
-9
0
-33
0
0
0
0
0
0
57
2
0
0
0
0
1
48
0
27
9
0
0
0
-74
0
-2
5
0
0
1
2
-3
18
4
2
0
-4
11
0
5
-3
5
0
12
-13
0
-17
0
0
0
0
-8
0
0
-7
0
5
0
-46
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
0
0
0
0
8
0
0
0
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
9
0
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
-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
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
10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-5
-14
76
117
-1
-20
-5
-3
-26
-65
1
-74
-82
28
0
37
45
-2
41
-60
-16
-1
6
3
0
15
36
-35
0
0
-22
-22
43
-10
3
-1
26
12
0
-47
0
-2
22
-9
-1
42
-54
-1
-24
-31
8
-50
0
0
-42
18
-7
1
30
9
-12
42
39
-32
18
-6
-8
-16
16
37
0
139
-23
-24
8
-33
10
-14
-6
22
40
4
52
-38
-9
-27
-37
-83
3
-10
-5
-7
12
-44
9
6
0
83
0
7
-1
28
-30
0
-5
27
33
0
0
-2
0
65
-28
-7
53
0
0
12
-67
32
62
-12
13
-4
1
-10
1
188
34
-39
6
-13
-1
0
-26
154
4
-11
137
66
2
15
-121
26
-28
-41
39
-1
3
-62
29
55
-1
-45
-4
-2
-34
-78
48
-3
4
0
-56
-21
0
73
0
-31
-3
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-137
-13
-7
-14
19
1
-14
-104
25
-34
-30
11
12
-47
13
-42
-26
-51
-31
-18
10
-66
-44
-1
-33
38
-99
-44
32
-29
-81
2
14
-64
-9
-19
-14
-155
-13
17
-16
8
22
-23
-36
107
-41
35
31
13
-112
-57
-85
-3
-43
0
-68
-5
45
-38
-42
-50
-24
68
-110
-47
63
96
-3
-52
-15
-17
-53
-9
-66
39
-45
15
18
-33
-50
-19
-51
-40
-7
-56
49
34
37
-70
-3
47
-15
-11
53
-40
20
11
-36
10
13
16
20
-19
29
-38
-47
-13
-29
-80
25
45
38
65
-70
-142
39
73
0
133
-29
-67
-65
-17
3
-41
-13
-5
22
-18
134
-20
-26
-35
52
-20
8
-108
-33
-33
-146
40
36
72
-118
8
11
87
-17
-1
45
-54
7
-57
-17
-58
-3
65
-38
-70
-1
-66
4
68
-76
-42
-37
25
17
26
-58
15
-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
-74
-66
0
162
143
2
0
18
58
0
8
21
0
0
4
-42
0
0
-6
0
0
0
20
0
0
-3
0
0
-9
39
0
62
-3
-5
0
0
-23
0
0
0
0
0
0
-79
-4
38
0
0
0
-12
-25
20
18
1
0
0
-5
44
-4
0
-5
0
0
9
-33
0
-8
-2
0
0
-3
24
0
-10
-4
-1
0
0
-88
0
0
-3
0
0
0
-44
0
0
0
-13
0
0
89
0
0
0
0
0
0
-40
0
0
-3
0
5
0
17
0
0
0
0
0
0
-33
0
-3
-1
0
0
-3
-80
0
-9
-19
0
0
0
140
0
-2
2
-2
0
-1
15
0
0
0
0
0
-1
-35
0
6
3
0
0
0
-98
0
-2
0
0
0
1
-60
0
0
0
0
0
0
-12
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
35
12
0
8
41
0
0
-75
113
0
0
-7
0
0
-10
39
0
0
-11
-15
4
-2
-18
0
0
0
0
0
0
-30
0
36
0
5
0
0
-99
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
-17
0
19
0
0
-1
71
0
0
-2
0
0
12
42
0
0
-13
0
0
-15
-34
0
0
-3
0
20
-17
-34
1
0
1
17
-5
0
-22
0
0
0
0
0
0
-102
0
0
14
0
0
0
-56
0
0
0
12
0
0
-92
0
0
0
0
0
0
50
-2
8
0
0
0
0
108
0
-21
0
0
0
0
46
0
0
0
0
0
0
38
0
-27
0
0
7
0
73
0
0
0
0
0
0
-9
0
2
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
8
-6
17
-40
86
10
27
23
-78
-1
-17
10
-4
-4
12
35
11
-56
-43
21
11
2
-4
30
-25
-4
42
22
2
-30
77
27
87
-1
79
-2
-2
-71
-5
36
0
32
19
-14
0
-41
2
-8
29
87
29
-25
0
0
-40
-6
52
-17
70
45
6
23
24
20
73
17
12
15
-21
40
12
51
108
24
-31
29
-3
19
-18
37
16
33
25
-41
-2
-34
-5
-37
54
86
17
0
-1
-8
-25
24
-16
-8
-2
13
-86
50
-22
0
36
88
-2
-1
-13
70
15
30
-58
-20
-5
0
2
20
-1
-36
-113
-52
-2
-16
106
35
107
12
44
-80
7
26
-25
70
48
74
90
-5
103
24
-4
-18
74
-28
32
-23
-41
3
-32
39
9
34
-31
4
7
-58
-20
32
13
5
8
18
3
-9
-1
56
0
21
25
-11
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
113
0
0
9
-1
0
0
0
0
0
-6
-28
0
0
0
0
0
0
60
0
0
0
0
0
0
-8
0
18
-16
0
0
0
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
-71
0
0
0
0
0
0
146
0
0
-8
0
0
0
45
0
0
6
0
0
0
28
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-47
0
0
0
0
0
0
11
0
0
0
0
0
0
34
0
0
0
0
0
0
79
0
0
0
0
0
0
27
0
0
0
0
0
0
-44
0
-1
0
0
0
0
-32
0
0
0
0
0
0
-2
0
5
0
0
0
0
-3
0
0
0
0
0
0
-53
0
0
-3
0
0
0
-39
0
0
0
0
0
0
25
0
-26
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
6
0
0
-2
-7
0
0
1
0
0
0
-4
0
0
0
0
0
0
60
0
0
-12
0
0
0
-12
0
-15
0
0
0
0
88
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
5
0
0
0
0
0
-98
0
0
12
0
0
0
-62
0
0
0
0
0
2
47
0
0
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
-49
0
0
0
0
0
0
-4
0
0
0
0
0
0
134
0
0
0
0
0
0
70
0
0
0
0
0
0
-45
0
0
0
0
0
0
-16
0
-2
0
0
0
0
-10
0
0
0
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
126
20
-10
39
16
-17
-35
0
3
-74
13
70
4
3
0
-15
-41
4
-5
-13
20
0
-12
-40
-15
58
0
41
0
-31
-11
0
120
0
7
-14
-54
0
89
13
15
29
-34
7
6
2
0
-33
-26
31
-7
-94
-18
0
-27
12
4
21
-58
0
-3
-106
-12
26
27
-82
58
-36
38
21
49
106
32
-14
14
-27
-29
-10
28
-32
11
-9
-4
2
0
18
-87
-15
128
-3
31
31
39
41
-103
-71
0
-49
-1
36
4
0
-1
0
5
-5
60
12
-8
0
-11
29
6
15
68
22
0
11
27
-7
-13
-116
9
0
45
14
0
-23
33
-32
21
-39
35
4
39
-90
-53
-2
-9
66
-8
5
-65
18
-16
-5
57
14
-30
5
92
4
0
29
64
-52
49
9
95
0
5
-54
18
0
-5
-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
-2
-3
57
12
-116
11
69
-59
-13
3
-32
21
-122
-7
17
-20
-9
-4
-81
-19
-8
-83
25
0
35
5
87
23
-59
-75
7
0
81
4
-70
0
-56
-65
27
0
-129
-18
17
31
22
-22
-16
-13
0
-47
51
4
44
16
-32
129
-67
0
-37
-63
-48
12
-19
-35
3
20
26
-118
-25
-2
-40
28
-4
28
-27
64
34
7
-53
-22
-85
-84
54
23
-22
-86
-8
57
-56
-8
7
20
-35
5
6
-41
-88
77
0
-17
43
-1
16
20
29
-4
85
-34
54
-21
-11
0
-99
109
-61
51
-24
40
14
12
0
38
-18
3
48
2
126
-42
14
-71
55
-58
2
-12
68
31
-134
-108
-43
38
-19
-9
7
-19
72
36
83
7
-4
0
3
-6
-77
1
-17
-5
6
-29
18
-3
11
2
-69
-21
-57
-37
27
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
-5
90
0
0
-12
0
0
-12
53
0
0
0
0
0
-2
-24
0
0
-10
0
0
0
-14
0
-28
0
4
1
0
-39
0
0
0
0
0
0
-34
-6
0
0
0
0
0
62
1
0
-4
0
0
0
76
0
3
3
0
0
2
54
0
0
10
0
0
-1
-36
0
0
-2
0
0
-1
85
0
0
1
0
0
0
-5
0
0
0
1
0
0
54
0
0
0
0
0
0
-35
0
0
0
0
0
0
-53
0
0
0
0
0
0
-47
15
-4
26
0
0
0
-16
0
0
1
0
0
3
0
0
19
0
0
0
0
-12
0
1
0
0
0
0
-7
0
3
0
0
0
0
23
0
-2
6
0
0
0
11
0
0
0
0
0
0
42
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
-3
38
-60
-42
-74
-13
19
-1
-36
43
-17
49
15
-8
53
-9
0
2
53
13
-86
-68
-33
0
11
-17
28
-25
41
-14
14
11
5
-3
70
-5
-6
72
-138
0
-35
2
17
46
79
4
101
-6
-6
-131
-42
-109
-30
-12
-1
-97
-25
-11
10
-60
-10
-4
-13
103
9
-17
73
-113
-5
-99
-90
-5
35
-35
-46
-15
29
5
-6
-1
-96
-48
-36
23
-73
20
0
-27
-69
-4
-18
-13
16
-5
24
13
-34
-32
1
14
23
-15
-25
-1
27
6
67
11
-20
120
-6
0
-47
-45
-71
17
23
2
92
-63
-1
73
11
48
58
47
14
12
25
33
116
-16
-20
56
6
38
23
-43
-7
15
1
4
4
24
-164
13
-14
-29
-28
1
-49
58
-66
-11
-17
-11
-5
40
33
-1
47
0
-32
-52
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-28
-12
24
-31
88
-6
-43
-2
-8
41
25
-96
-52
-58
21
-10
50
39
105
0
6
-11
-15
38
12
-74
48
2
7
-36
3
18
1
109
-3
-7
-30
27
-6
-40
-22
-47
26
52
17
-2
-2
0
-86
33
43
-26
65
-18
2
44
-7
81
63
-107
2
-5
82
-9
-23
-4
81
130
59
-15
5
87
-30
8
105
-28
13
-9
6
6
-39
-59
62
-22
-5
25
-13
-34
-9
-75
11
65
28
-40
-17
3
6
-1
-5
43
-10
26
0
45
-35
27
12
9
-6
-3
0
41
5
-15
-81
-52
2
-13
98
-2
23
15
47
-41
-24
-68
-35
0
7
33
-66
-53
-18
10
-38
-14
49
-8
-104
43
21
13
-48
164
-93
-140
57
-18
-37
38
117
21
6
-25
9
-3
-57
34
3
14
-2
9
24
-37
27
-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
-20
3
5
0
-21
0
0
-96
-43
0
0
-76
0
-3
-74
-2
0
16
111
0
-9
8
-91
0
8
2
0
-10
0
7
0
-13
0
0
-96
0
14
25
10
0
0
0
2
10
-53
-2
-17
0
0
98
-19
-11
-1
-24
0
0
-34
-30
0
0
-10
0
0
28
-30
0
17
-59
0
-3
63
-6
0
22
18
0
-2
1
-39
-3
0
-14
9
71
62
-68
0
0
-10
0
119
0
-15
0
-11
33
0
-15
0
18
-3
0
0
0
-13
0
39
0
9
0
0
0
21
-16
0
33
-2
0
0
-25
-69
0
-8
-37
0
0
111
-8
4
-4
55
0
-1
39
-56
0
23
-35
-5
8
-11
50
-1
-29
7
0
8
0
21
0
-1
46
0
10
0
-22
0
40
-29
0
10
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
-71
2
0
0
2
0
0
-5
-8
0
0
0
0
0
-1
-11
0
0
0
0
0
0
-1
0
-15
0
0
0
0
11
0
0
0
0
0
0
-88
0
0
0
0
0
0
-4
0
0
-10
0
0
0
53
-8
-7
-13
12
0
4
-136
0
0
4
0
0
0
108
0
0
6
0
0
12
-73
0
0
0
0
0
0
17
0
0
0
4
0
0
27
0
0
0
0
0
0
-24
0
0
0
0
0
0
-53
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
4
0
0
0
28
0
0
2
0
0
0
-99
0
0
0
0
0
-19
54
0
0
0
0
0
0
43
0
2
18
0
0
0
11
0
0
4
0
0
0
-58
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
7
65
41
-13
-4
24
-13
-7
20
-3
6
-27
-116
-5
20
10
-17
25
-5
-37
50
-2
-53
-11
-17
-4
1
23
0
24
-37
3
-1
-59
10
-21
32
-27
2
54
-2
0
-43
13
-38
-52
-43
-32
-8
-149
-13
-48
-3
22
0
-76
-55
-25
74
-65
-19
-8
22
-54
21
-23
37
-2
5
-2
19
36
-4
-23
8
-41
28
7
11
-15
31
70
-8
-80
1
38
12
38
50
24
45
0
-5
-6
46
-2
18
-96
6
37
-60
91
-29
-46
-2
109
18
32
37
25
38
2
3
36
-2
-101
-28
41
-61
-37
-4
87
-42
-64
-6
-7
39
13
12
34
-7
-60
5
76
-2
44
-3
-37
3
-26
44
10
22
61
-17
-6
74
-12
20
-14
-63
-33
0
-49
-1
-39
52
-66
56
-125
-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
-53
62
-52
-9
-8
59
51
59
-17
-6
-28
-22
-32
-184
-40
-8
-2
57
60
-44
-94
-56
-40
47
-10
7
2
-31
5
-8
-94
-103
-7
69
-2
29
27
-116
50
52
68
-24
24
11
48
-53
-11
-43
19
89
13
10
-3
97
-1
-13
76
0
-35
99
7
40
-63
2
13
-2
-75
43
-75
-38
-117
-1
-11
36
-19
-47
29
-52
-3
-2
-53
78
-23
-92
64
-11
-17
1
-99
13
24
-1
9
-67
-15
23
-3
-123
48
81
-34
-69
-26
48
-21
76
30
46
30
-74
-35
-6
71
1
40
13
14
-22
92
-28
0
11
-14
-32
49
-32
-7
30
-48
-26
40
-90
-7
-28
-23
-20
-56
-13
-2
-83
12
27
8
-3
98
-75
-36
3
11
12
-84
-119
66
129
-1
31
-92
-3
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
-3
0
0
0
-18
0
2
0
0
0
0
-29
0
0
0
0
0
0
5
-10
0
0
0
0
0
139
4
0
-8
0
0
0
-135
0
3
3
0
0
-3
-68
0
0
0
0
0
-5
-76
0
0
40
0
0
0
111
0
0
3
0
0
0
-52
0
0
-9
0
0
0
38
0
0
0
0
0
0
48
0
0
0
0
0
0
23
0
0
0
0
0
0
-92
0
-2
0
0
0
0
108
0
-10
-3
0
0
0
43
0
0
0
0
0
0
5
0
3
0
0
0
0
36
0
0
0
0
0
0
95
0
0
0
0
0
0
1
0
3
0
0
0
0
13
0
-11
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-18
0
0
32
-14
0
0
0
0
0
0
0
0
-9
0
0
0
0
-13
0
0
0
0
0
0
-126
-27
0
0
0
0
0
170
0
0
0
0
0
0
-38
0
3
7
0
0
-10
-34
0
0
-59
0
0
0
98
0
0
-1
0
0
0
65
0
0
-7
0
0
0
-24
0
0
0
2
0
0
-84
0
0
0
0
0
0
150
0
0
1
0
-4
0
50
0
0
0
0
0
0
-98
0
0
10
0
0
0
-30
0
-2
0
0
0
0
-4
0
0
0
-3
0
-9
9
0
-3
0
0
0
7
-19
0
0
0
0
0
0
-25
0
0
-1
0
0
0
79
0
0
0
0
0
0
-129
0
-6
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-5
26
22
33
173
52
0
1
-87
3
53
89
15
0
12
-11
69
-27
8
-16
0
-3
-24
0
60
0
46
-33
-13
0
-18
-19
-21
11
27
-8
21
-1
0
-20
12
2
-27
5
108
-55
-41
5
-2
-33
-14
0
-10
101
-29
-3
65
-38
3
0
-45
21
3
-38
153
1
-12
-32
-19
0
75
-71
51
17
-51
-26
0
-44
-4
8
-42
-5
95
22
-3
-3
-66
-37
0
17
26
0
0
0
1
0
-9
76
13
14
8
-2
95
5
4
-38
25
-8
1
-23
10
-32
-74
-84
17
-1
-14
-75
0
-54
-81
-1
0
-17
-47
13
3
-35
3
2
134
16
0
-26
96
7
-6
-12
17
-5
11
-13
91
5
0
61
0
6
-5
5
-59
0
27
-57
19
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
-4
34
0
0
-29
0
0
-6
92
0
0
1
0
0
0
105
0
-5
0
0
0
0
-21
0
0
0
0
0
0
-103
0
0
0
0
0
0
-127
0
0
0
0
0
-2
61
0
0
3
0
0
-10
19
0
0
-1
0
0
-1
7
0
0
-2
0
0
-1
-48
0
0
0
0
0
-12
40
0
1
0
0
0
0
-11
0
-3
0
0
11
0
3
0
0
0
0
-9
0
59
0
0
0
0
0
0
-65
0
0
0
0
0
0
-9
0
0
20
0
0
0
-110
0
0
0
0
0
0
33
0
0
-1
0
0
0
37
0
-11
0
0
0
0
-10
0
-17
15
0
0
-5
-4
0
0
32
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-61
0
0
3
0
0
0
41
0
0
-2
0
0
0
-35
0
33
5
-7
0
0
-59
0
0
0
0
0
0
13
0
0
0
0
0
0
-34
4
0
26
0
0
8
16
0
0
11
0
0
-33
-46
0
1
-64
0
0
52
-54
0
0
-13
0
0
0
41
0
0
-35
0
0
0
-9
0
0
-28
0
0
0
18
0
0
-5
0
0
0
106
0
0
0
3
0
0
-77
0
0
0
0
0
0
17
4
0
2
0
0
0
-4
0
-44
4
0
0
4
21
0
0
0
0
0
-1
64
0
-4
5
0
0
4
-20
0
0
-2
0
0
0
9
0
6
1
0
0
0
-32
0
0
0
0
0
0
-69
0
-6
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
69
0
0
-21
0
-45
0
-72
0
-14
141
-9
2
0
65
0
0
0
0
52
0
62
30
3
0
-1
-3
0
-2
28
0
71
0
0
-95
89
-18
36
-35
-10
-2
-34
-14
50
4
-68
0
-9
6
2
-12
2
17
129
0
16
-44
4
-12
8
0
0
16
77
0
92
31
-88
-1
0
-6
0
4
-14
0
22
1
38
0
0
-20
-29
71
0
-38
-2
0
-3
-14
-2
0
-29
0
0
-50
0
0
0
-39
6
-58
-37
0
1
-2
27
0
-57
-121
11
15
0
27
4
-18
-7
0
-14
0
1
-1
35
-42
-52
5
0
23
0
54
-7
0
0
8
0
0
-8
29
8
0
0
27
0
94
0
0
-14
0
-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
2
-15
4
-10
-51
14
34
77
-76
-4
-41
13
3
-20
11
11
0
-3
46
0
-95
0
-11
-19
17
2
-37
-9
6
21
21
17
3
3
22
-101
-27
-85
-87
-88
-64
121
-30
-10
-94
46
-29
60
-22
-46
38
22
69
68
-47
-109
-58
0
-71
154
25
-32
97
-72
23
-7
-10
-6
16
-10
-99
-16
-1
0
4
-17
-50
-27
70
-7
38
4
-138
-13
-1
38
24
-4
12
-13
58
-20
-3
-113
37
92
-15
3
-53
33
63
17
-36
-29
-35
89
-14
19
-16
0
-28
0
93
-41
2
51
41
20
-55
41
0
29
-117
-118
31
-2
4
-45
-3
-16
-39
13
33
60
29
-13
124
28
-97
-84
15
34
19
53
-6
1
-76
-1
-33
-47
8
-24
-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
0
0
0
0
0
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
13
0
0
0
0
-21
0
0
0
0
0
0
-49
0
0
0
0
0
0
12
0
0
7
0
0
0
20
0
0
-9
0
0
0
79
0
0
33
0
0
1
-33
0
0
21
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
40
0
0
0
0
0
0
1
0
0
0
0
0
0
52
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
-3
-1
0
0
0
35
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
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
-32
0
0
1
0
0
0
49
0
-2
0
-1
-5
0
-13
0
0
0
0
0
0
-1
-3
0
0
0
0
0
28
10
0
-8
0
0
-3
-6
-2
0
66
-6
0
0
-94
0
0
0
0
0
3
-4
0
-2
-1
0
0
1
-170
0
0
0
0
0
0
1
0
0
0
-5
0
0
-96
0
0
-5
0
0
0
122
0
0
0
0
0
0
-5
0
0
0
0
51
0
91
-8
0
0
0
0
0
-47
0
0
0
0
0
0
3
0
0
0
0
0
-8
-45
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
-2
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
-4
19
0
-4
-5
4
-9
6
-3
0
-35
-8
-40
-14
-2
-18
-6
0
0
0
68
0
25
-21
-38
0
-10
0
-22
-6
-16
20
27
0
0
-93
-2
-30
-38
15
-96
-3
-85
-9
-9
37
11
29
-9
-106
-12
0
7
-3
2
6
-15
2
2
-5
22
11
0
1
8
0
13
-33
-20
41
-12
31
0
5
5
2
-73
0
49
1
-5
0
33
12
0
-12
-1
0
0
-7
4
0
-10
-44
1
17
10
0
6
81
-6
21
17
0
13
1
-16
0
-28
-80
-23
-6
48
-10
0
47
28
0
17
-11
13
0
-61
-32
-96
0
10
-7
-5
65
-20
9
-10
0
62
0
-3
5
-16
25
0
43
-3
58
-8
-6
38
0
-5
65
-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
-49
46
0
12
-49
0
0
0
-49
0
29
-42
0
5
0
-62
0
0
0
0
7
0
-54
-73
-1
0
0
0
10
7
-4
0
-9
0
0
0
-36
-1
0
-11
0
11
-40
28
0
1
-32
0
0
-52
-87
0
0
49
16
0
-16
43
0
1
55
0
10
13
32
0
-1
37
9
26
1
-51
0
0
-1
0
-6
0
-66
0
0
12
0
48
0
-64
0
0
0
0
0
0
52
0
0
-11
0
0
-8
-6
1
16
66
0
0
2
-15
0
13
-21
0
0
0
-66
0
5
-4
0
0
1
32
0
7
-22
0
0
7
37
0
-11
39
-3
1
0
71
0
0
-5
1
0
0
-4
0
98
0
0
9
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
-59
0
0
0
0
0
0
6
0
-17
0
4
0
0
-38
0
0
0
0
0
0
8
-1
1
0
0
0
0
-50
-12
0
0
0
0
5
35
0
0
26
5
0
0
14
0
0
-13
0
0
11
-87
0
0
-19
0
0
0
-60
0
0
-2
0
0
23
-29
0
6
0
0
0
0
-29
0
0
-6
0
0
0
29
0
0
0
15
0
0
39
0
0
0
0
0
0
51
1
0
0
0
0
0
-83
0
-1
0
0
0
0
5
0
0
-6
0
0
2
-36
0
-15
16
0
0
0
27
0
0
3
0
0
0
-24
0
15
0
0
0
0
-12
0
0
0
12
0
0
-27
0
9
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
115
0
32
3
3
-4
0
-8
0
0
0
0
2
0
-52
34
-2
0
7
0
0
-31
-17
-1
36
0
0
-8
-24
-11
-1
33
-54
-11
5
-27
0
-1
-50
0
0
3
-4
0
-8
20
8
-21
0
-47
0
1
-169
0
0
0
72
0
0
2
-57
0
0
-14
0
0
63
-5
10
0
119
-5
0
0
-20
-111
0
-7
0
0
0
0
0
0
-35
0
-1
0
0
0
13
-73
0
15
-77
0
0
0
-7
21
28
24
-12
0
0
71
0
-46
12
1
0
0
-45
0
0
-34
77
0
0
48
0
-63
-33
-7
0
0
-35
0
7
29
-12
0
0
16
0
-4
0
0
0
0
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
-8
-119
36
-86
-87
-81
24
-8
-84
-3
56
3
-19
-28
-69
-6
-69
-79
72
25
-22
-40
39
-10
2
-69
5
-7
9
47
-27
12
1
-3
66
-67
33
-37
-119
9
15
-29
26
-28
25
101
-12
31
0
-29
2
-128
50
-57
0
-72
-2
16
2
-80
31
11
-12
-71
60
-23
-34
67
-7
95
-14
-7
-60
7
-2
-11
22
9
27
-13
-41
-81
-11
-24
-82
-48
39
9
-55
57
-9
68
77
-1
88
-108
-25
-6
-67
-6
-43
-40
-52
1
-19
-15
41
109
-105
-7
19
53
41
2
-37
-21
-24
0
65
54
-21
15
19
-3
10
18
-48
-24
63
37
-14
-19
2
-42
9
-7
71
-17
28
-63
-53
-4
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-37
-6
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
-22
0
0
-2
0
0
0
-9
0
-3
2
0
0
0
-3
0
0
0
0
0
0
11
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
-47
0
0
0
0
0
0
-151
0
0
0
0
0
0
-17
0
0
10
0
0
-2
15
0
0
-3
0
0
0
19
0
0
-10
12
0
0
3
0
0
0
0
0
0
-56
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
-43
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
-6
0
0
0
-13
0
0
8
0
0
0
1
0
0
0
0
0
3
-10
0
0
0
0
0
0
-6
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
36
44
0
-21
0
-12
0
4
0
0
-9
-100
4
0
-8
0
0
-19
6
0
24
0
0
12
1
-4
-6
56
-11
0
38
33
5
-10
-73
0
20
29
8
22
14
-47
23
-2
154
-37
0
-11
41
-10
4
-19
33
0
0
14
46
17
-27
-22
0
0
10
12
35
1
-17
0
0
0
42
16
0
-28
-3
0
0
0
0
0
-53
15
7
-5
1
0
-20
-62
0
-46
-9
2
0
-8
-68
0
-16
-5
-12
0
-6
-5
0
-33
-9
0
20
5
-42
0
17
2
-119
5
21
-4
0
54
-22
0
-10
0
31
0
-12
0
0
1
0
14
0
-51
2
0
-2
0
17
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-36
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
-24
0
0
4
-28
0
0
0
0
0
0
-27
0
1
6
0
0
12
-16
0
0
0
0
0
0
49
0
0
1
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
1
0
-36
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
8
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
-7
39
0
-14
-3
-3
0
0
-164
0
6
-7
0
0
0
-45
-3
0
0
0
0
0
17
2
0
5
0
0
5
-75
0
5
-10
0
0
11
19
0
0
0
0
0
-7
8
0
0
-38
0
0
13
-12
0
0
-23
7
0
6
-41
0
0
14
14
0
0
15
0
0
-12
0
0
0
-3
0
0
-11
-6
0
0
-8
0
0
0
0
0
0
29
0
0
-20
0
0
0
-13
0
0
-6
0
0
0
84
0
0
16
0
0
6
6
0
-5
-1
0
0
1
-41
0
9
-6
0
0
-2
-4
0
-48
45
0
0
0
10
0
0
-49
0
0
0
-55
0
-2
0
0
0
0
107
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
-10
0
0
0
0
0
-3
66
2
0
3
0
0
-8
11
1
-2
18
-11
1
1
-52
-8
0
-7
0
0
-6
41
0
6
4
-7
0
0
-139
0
3
54
0
-4
0
-42
0
0
8
0
0
0
-47
0
0
0
0
0
0
-18
0
0
3
0
0
0
-32
0
0
0
0
0
0
-137
4
0
0
0
0
0
-14
0
28
0
0
0
0
52
0
0
2
0
0
0
-8
0
-9
0
0
0
0
-23
0
-2
6
0
0
0
9
0
0
3
0
0
0
-62
0
0
0
9
0
0
-35
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-3
-8
-15
-91
0
-9
11
-23
-2
28
0
3
44
-3
3
-73
5
4
48
-23
18
59
-17
72
55
77
2
-16
50
46
0
14
77
31
-51
12
-23
-23
-130
-8
-42
-9
-71
28
-15
118
-7
10
-3
100
77
46
-74
-8
0
-5
80
-70
-1
186
-3
-8
-6
2
1
-43
18
1
-1
-10
-1
12
6
-19
-12
49
27
34
-12
17
1
-75
25
-11
4
-197
6
-3
-24
-5
45
-23
-52
59
0
-59
16
-28
-21
111
0
10
-26
-4
-29
-8
-45
-13
-3
-34
9
8
86
-22
37
-11
-6
0
0
-7
-63
17
-6
0
63
-2
33
-5
-7
36
0
-61
-27
33
2
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
20
0
0
0
0
0
0
-95
0
0
0
0
0
0
-13
0
0
-5
0
0
-4
39
0
0
0
0
0
0
-23
0
0
0
0
0
0
-46
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
-68
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
4
-1
-1
-10
-85
7
-3
-152
-1
0
-57
1
25
-21
4
0
-19
-12
2
35
-1
-80
-37
-19
11
-109
-21
14
23
75
8
-17
-34
51
-10
43
-48
-21
4
-121
-6
-7
6
-26
27
47
12
4
-21
-2
11
35
47
-36
-1
-3
4
18
-8
17
40
-24
2
-11
0
30
-9
-30
0
32
56
10
-1
-6
14
4
18
37
7
31
-41
0
-79
-29
34
-60
64
14
-7
-5
-20
64
-33
92
75
-4
-71
24
0
-35
-74
21
-14
20
-30
4
8
127
-66
31
-28
5
-3
14
-41
-18
9
-9
-90
8
39
25
40
90
-22
38
40
50
-79
21
-43
0
2
9
-31
-27
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
10
16
0
0
0
0
18
0
11
100
-17
0
0
0
0
-110
-41
0
0
0
0
9
18
-1
0
-63
-10
0
-14
41
0
0
-63
0
0
10
49
0
13
-27
1
0
-17
13
0
-4
-7
-3
0
11
-93
0
0
14
-35
-7
3
-4
0
0
0
20
20
1
26
0
-11
-1
14
-14
0
-1
0
0
0
0
0
0
-108
0
-3
7
0
0
0
52
0
1
42
0
0
7
30
0
0
34
-5
0
-9
-1
0
-16
22
0
0
-13
-2
0
0
0
-3
-6
0
13
0
-10
-3
0
0
-1
6
0
20
0
-1
0
0
19
0
9
0
0
-1
0
-19
-23
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-6
0
-10
6
10
0
0
0
15
6
35
2
-19
0
0
31
-38
-7
-9
7
0
5
-49
-2
0
0
15
0
8
58
-25
0
-10
42
0
8
13
10
0
0
119
0
15
38
-49
0
0
-60
0
-11
0
7
0
0
-41
-1
-10
0
2
0
0
5
0
8
0
8
0
0
0
0
0
0
-45
20
0
0
0
0
-4
-27
0
-46
28
0
0
-11
0
0
20
-19
13
0
-13
1
0
16
-70
0
0
18
-11
0
-8
10
8
9
1
32
0
-10
5
0
0
0
0
0
0
-5
0
0
0
27
0
10
0
0
3
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
-51
0
0
0
0
0
0
-88
2
0
0
11
0
0
-46
0
0
-2
0
0
-10
27
0
0
34
3
0
-50
-4
2
4
-3
0
0
4
25
0
0
-20
0
0
-2
4
0
0
6
0
0
-28
-17
0
-2
3
-5
0
0
-139
0
0
12
0
0
0
-2
0
0
0
8
0
0
-32
0
0
0
0
0
1
-79
0
-1
0
0
0
0
-33
0
-13
-4
0
0
-5
-79
-19
0
3
0
0
3
-67
0
-8
0
0
0
0
81
0
3
0
0
0
0
30
0
2
31
0
0
2
85
0
1
6
-7
0
0
-43
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
-3
0
0
0
0
0
0
-62
0
0
0
0
0
0
-22
0
0
15
0
0
0
-7
0
0
7
0
0
0
-11
0
10
7
0
0
0
16
0
0
-3
0
0
0
-18
0
0
-18
0
0
0
-46
0
7
0
0
0
0
-64
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
-2
0
0
0
1
0
0
56
0
-1
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
-3
0
0
0
-6
0
0
0
0
0
0
23
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
-25
4
-64
-5
10
0
-13
-11
-42
-58
15
19
39
-23
-15
16
-15
-12
10
-30
-47
-21
151
-38
12
20
56
-18
6
51
-12
-60
53
-62
-58
13
27
-15
-22
18
-33
90
-19
-8
-103
-18
56
37
-100
-18
0
18
114
42
-18
27
0
-34
47
-109
45
-73
0
11
36
-11
-1
1
-13
2
47
-45
-2
22
-12
5
-4
32
48
107
-61
46
41
43
44
11
-40
-13
-2
17
-100
28
1
17
-1
-1
39
-77
29
13
-53
39
7
-56
-5
-9
13
13
11
-39
15
-4
25
2
38
-64
34
26
-23
0
0
43
67
6
16
0
50
-9
-6
-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
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
-7
0
0
0
-10
0
0
-2
0
0
0
-40
0
0
0
0
0
13
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
35
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-72
0
0
0
0
0
0
28
-12
0
27
0
0
0
-73
0
0
0
0
0
-23
33
0
0
-10
0
0
12
14
0
0
0
0
0
13
-4
0
0
3
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
43
0
0
0
0
0
0
13
0
0
6
0
0
0
43
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
0
0
0
0
0
0
-14
0
0
0
0
0
-1
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-21
0
0
0
0
-103
0
0
0
0
0
0
66
0
0
80
0
0
11
-46
0
-11
-7
0
0
1
22
0
0
-4
0
0
0
-36
0
0
0
0
0
0
6
0
0
0
0
0
0
-90
0
0
0
0
0
0
10
0
0
0
0
0
0
49
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
23
0
0
0
0
43
0
0
0
0
0
0
54
0
0
0
6
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
-1
0
0
-65
0
0
0
0
-7
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
5
0
0
-6
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
-21
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
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-22
0
0
0
-22
-6
15
0
9
0
0
-9
-23
0
0
-2
-32
0
16
2
0
-7
-12
0
0
25
-36
0
0
10
8
0
28
-64
2
1
113
0
0
-13
7
0
0
-26
20
0
0
-43
0
0
-43
0
0
0
-10
15
0
-4
-13
0
0
-18
0
0
0
0
0
0
37
-5
0
-13
0
0
0
-8
4
21
1
-1
0
6
-12
0
-9
12
-4
0
16
-17
1
0
-2
0
0
0
30
0
0
3
0
0
4
62
0
-55
-15
0
0
0
-76
0
29
-21
17
0
0
-9
0
48
-2
0
0
0
-32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
5
0
0
0
0
0
0
-6
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
65
40
-56
39
26
51
-4
-76
8
33
29
81
-18
-15
36
-1
31
-35
40
-24
10
7
29
48
19
102
-25
-8
-12
-9
3
-45
-24
60
8
-26
-38
27
-24
-75
-78
-7
-43
58
-83
-3
-24
-55
-34
18
12
11
2
-66
-34
0
24
-94
6
-44
10
-46
13
0
32
8
-17
-9
4
-38
36
-45
68
-15
-25
48
-9
-24
-59
42
45
-85
33
-13
-13
25
41
68
19
-17
6
-65
-125
-36
74
-95
64
-10
76
-43
36
-35
48
6
-7
-20
-2
-37
-34
40
-92
0
-23
23
61
-31
-38
-27
0
-9
-30
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
-57
0
0
11
-56
1
-1
68
33
-8
45
-51
0
-5
-116
0
0
-54
-50
0
32
5
4
2
-74
53
0
3
11
-2
6
-17
-20
2
0
10
-27
110
6
60
0
-9
-11
0
-17
0
-2
0
0
19
14
-88
0
-45
0
0
0
0
5
0
1
13
1
-6
0
0
-7
52
2
-6
-47
0
-11
-27
-54
-10
-2
-86
-15
0
-9
-25
0
-5
-28
0
0
6
13
0
-38
21
68
-2
9
38
-12
41
-16
0
-7
-7
-8
2
-1
47
-4
-2
0
-21
0
-59
0
0
6
0
-20
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
-8
70
13
1
0
0
35
22
-6
0
-3
18
0
-20
-11
6
0
-39
0
0
-9
-140
0
0
-7
-24
2
43
22
0
0
-29
-1
0
-6
-80
0
-4
-11
-20
-7
-3
-60
0
0
-1
0
114
0
62
0
-2
0
-1
-99
0
-21
0
0
0
0
0
0
-50
28
7
1
-3
0
0
-20
-8
47
4
0
0
0
-11
0
0
27
-1
0
-6
-126
0
22
-23
0
0
-1
-89
0
4
-24
-3
0
0
-29
0
-4
0
0
0
5
-19
0
0
0
-17
0
0
-166
0
0
1
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
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-49
0
0
0
0
0
0
-2
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
12
-1
0
0
2
0
0
-18
68
0
0
0
0
-2
19
-55
0
0
-66
0
0
-2
-69
0
0
7
0
11
0
-61
0
0
1
-1
0
0
56
0
0
0
0
-3
0
9
0
0
0
0
-6
0
-12
0
0
0
0
0
0
-43
0
0
0
0
0
2
16
0
0
-6
0
0
0
-41
0
0
1
0
0
0
49
0
9
-15
0
0
0
-49
0
8
0
0
0
0
50
0
-29
0
0
0
0
-19
0
-2
-1
0
0
0
-95
0
-6
0
0
10
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-73
0
0
3
0
0
1
-16
0
0
7
0
0
0
-5
0
0
-9
0
0
0
-38
0
0
-1
0
0
0
38
0
0
0
0
0
0
-50
0
0
0
0
0
0
57
0
0
-2
0
0
0
36
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
1
0
0
0
9
0
0
0
0
0
0
7
0
3
0
0
0
0
-3
0
0
0
0
0
0
12
0
-25
0
0
0
0
-8
0
0
0
0
0
0
-16
0
2
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
20
28
0
-23
-2
0
0
3
-1
0
-6
0
0
0
0
5
0
2
-7
0
0
4
67
0
0
-6
0
0
0
-98
0
0
58
-45
0
0
-154
0
0
0
0
12
0
122
0
0
0
0
-11
0
-72
0
0
0
0
0
0
-118
1
-6
2
0
0
0
-61
0
19
0
0
0
0
28
0
0
5
-2
0
3
66
0
11
1
0
0
0
-4
2
-4
0
0
0
0
20
0
3
0
0
0
0
20
0
0
0
10
0
0
-60
0
16
9
0
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
-55
-11
42
108
24
-9
-79
73
-4
106
121
27
-161
53
-38
11
60
-21
21
24
12
50
-2
63
-6
-4
-83
-32
-46
21
-52
-2
-35
19
68
37
11
-14
-165
-84
-48
-17
69
-12
-25
87
-77
18
-9
12
18
-103
-75
90
-18
-10
19
0
68
14
-40
26
15
-1
-6
32
25
-36
-16
117
-40
49
85
43
-18
74
39
29
-3
50
-4
-18
-10
-34
-74
-2
36
81
47
4
-92
-17
12
-2
-51
-36
-37
-61
19
-26
0
89
1
-13
-63
34
4
7
24
60
-3
85
87
-31
-32
-50
-51
-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
48
-1
-6
-54
-73
-20
0
36
-20
-1
-1
-55
0
0
-76
10
0
35
63
11
-17
-2
-76
2
0
12
0
0
-23
67
0
-3
14
-24
3
-6
6
0
0
60
0
18
0
-14
-10
0
-1
2
58
0
6
0
0
0
0
0
0
127
6
6
-6
-9
0
-5
-48
0
110
15
-6
0
-10
-50
-4
-4
-34
2
0
5
16
13
37
-35
-1
0
-1
-84
0
-68
-27
1
-2
0
-35
0
7
0
0
0
0
91
0
0
-8
36
0
0
-16
-10
11
0
0
-13
0
-40
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
-103
0
3
-7
23
0
0
22
0
0
-1
0
0
0
1
0
0
0
-19
0
0
-123
0
0
-6
0
0
0
46
0
0
-3
-11
0
0
-68
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
-1
0
0
0
0
4
0
0
0
0
0
0
-36
0
-3
0
0
0
0
12
0
0
0
0
0
0
12
0
2
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-7
-14
-88
8
-12
21
7
-8
14
0
-4
156
72
-14
0
67
-38
-14
8
-52
0
0
20
-3
1
-2
-10
0
12
62
58
0
0
50
0
0
10
0
26
0
2
-3
0
0
125
-2
0
-21
0
10
0
0
0
0
77
17
0
-4
0
0
0
-39
-13
-37
11
0
0
0
-4
0
-11
-11
0
0
-39
155
0
-45
64
2
-11
12
-18
0
0
-26
0
0
4
43
0
78
-10
0
0
8
-24
1
-5
0
-5
3
0
30
-3
-25
0
0
15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
43
0
0
0
0
0
-3
-57
0
0
11
-1
0
0
19
0
0
0
0
0
0
0
0
0
-10
0
0
0
48
0
0
0
0
0
0
7
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
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
-3
0
0
0
0
0
0
57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-10
0
0
0
0
0
0
-68
0
0
0
0
0
0
-19
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
18
0
-4
0
0
0
0
-26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-8
59
0
1
25
-3
0
21
-168
-29
11
-10
49
0
-3
70
2
0
-10
73
0
-4
61
-112
0
0
-27
4
0
-23
5
-2
0
19
0
-3
1
-68
-5
0
63
0
0
0
0
14
0
38
-10
-3
-1
0
0
-6
71
4
-200
32
0
0
-16
-17
0
-22
13
-5
15
7
-12
0
-56
60
0
0
14
-14
0
-13
38
45
0
0
-91
-3
34
21
-3
0
10
-88
3
54
16
8
0
0
-47
0
68
1
0
-7
0
-17
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
2
26
-67
33
12
-34
50
-23
-7
-3
-71
-24
-23
-125
62
-5
69
63
-7
-108
-10
-46
-4
-15
-71
82
11
-7
30
20
5
-53
106
-10
31
22
16
-42
-39
-48
-45
-2
2
5
-76
6
-11
-9
-7
4
11
-51
-77
33
-9
-7
-65
0
4
-18
-10
32
101
38
-45
-50
86
-42
-70
-104
-6
16
-50
23
-60
-183
-42
-20
-35
24
14
-18
15
31
20
18
-6
46
89
5
32
-12
-3
8
-92
30
71
23
0
-11
9
-51
-50
2
-26
7
10
-57
-5
-47
-72
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
-14
-14
0
1
-32
0
0
67
-39
0
3
12
20
0
-31
-10
0
0
96
6
0
-2
-15
0
0
-2
9
0
0
20
0
0
0
0
8
0
9
0
0
0
-1
1
0
17
0
0
0
0
0
0
0
5
8
-15
0
0
6
20
7
127
-8
0
0
0
11
0
-5
-7
-1
9
-2
-70
0
3
-5
1
-1
2
-67
0
0
-5
44
11
0
-29
0
-50
0
0
0
0
-31
0
0
1
0
0
0
64
0
-10
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
-30
31
-3
0
-20
0
0
36
-51
0
0
7
11
0
-6
-38
0
0
24
0
0
0
12
0
7
12
13
0
0
-45
0
2
0
0
0
0
-7
0
0
-6
15
5
0
-23
0
0
0
8
0
8
58
12
5
4
0
0
0
44
0
-19
8
0
0
-1
3
-2
1
0
0
0
0
55
0
-14
3
0
0
-9
11
0
40
-46
-2
0
0
34
0
5
-5
0
0
0
-97
0
0
-19
0
0
0
-21
0
-6
0
0
0
0
-57
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-12
75
-5
5
58
38
-30
0
45
35
40
-12
53
-2
-86
-11
126
44
-12
94
-22
-1
44
-59
-38
6
68
-25
-3
25
125
0
32
-2
45
0
-5
-11
46
-64
0
22
7
-14
0
-3
15
0
72
78
0
3
3
5
2
46
118
39
14
-2
-7
-35
22
-1
-73
50
-21
4
41
-32
13
8
98
63
-17
-32
-3
-2
19
-60
32
9
-33
-3
-21
-20
-32
-4
-12
55
29
12
13
-58
33
27
-1
7
0
-136
7
0
-34
0
32
127
-16
9
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
47
0
0
-45
-65
9
35
-30
0
-4
-94
-27
0
0
15
0
8
12
40
14
22
-71
-3
-11
9
14
0
0
-2
-5
-5
0
117
1
0
0
0
-40
0
15
0
0
0
0
3
0
29
-8
-7
0
0
0
-12
-17
14
-8
-43
0
0
13
30
0
-16
-38
0
0
-13
36
-13
3
-27
0
0
3
-52
0
-12
2
-8
0
1
17
-15
96
-13
0
-2
22
-52
0
0
10
0
18
0
-21
0
71
-4
0
-15
0
83
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
69
0
0
-10
0
0
0
-98
0
0
20
0
0
5
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
108
0
0
0
0
0
0
-43
0
0
0
0
0
0
-44
0
0
0
0
0
0
44
0
0
0
0
0
0
-169
0
0
6
0
0
0
-33
0
9
-10
0
0
0
57
0
3
0
-1
0
0
92
0
0
0
0
0
0
2
0
0
0
0
0
0
26
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
3
12
0
1
105
2
5
-8
12
0
11
-18
-13
0
0
54
0
3
-37
87
1
24
-14
0
0
-36
0
44
0
-18
0
-27
31
192
30
0
14
0
-5
0
8
0
-9
-1
123
3
4
-18
0
3
4
2
-12
85
0
0
-6
55
0
-29
61
-54
0
19
-44
-2
-94
-28
34
2
0
-3
0
-2
-154
2
0
-6
-32
0
-48
-5
1
0
-6
77
0
-2
-58
-20
-18
0
-10
-6
2
0
0
13
0
-1
-5
11
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
10
-13
-46
43
-46
33
-10
8
28
20
-26
-6
23
13
-19
-27
-5
-14
-4
3
-21
4
27
-156
-24
-89
-13
75
20
-29
20
-10
0
23
25
47
9
-81
-88
137
42
1
-12
49
32
-21
8
-3
-73
39
14
-11
-20
-88
0
-53
-80
-4
-3
25
2
-8
51
-12
2
-66
132
-70
-3
142
31
-46
81
30
32
6
-48
9
17
27
-60
2
6
-4
-4
16
-33
13
-34
10
61
17
-10
-32
-82
29
-23
-105
41
-69
-6
-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
-54
0
11
50
0
0
0
33
0
0
0
0
0
0
20
0
0
0
56
0
0
-52
0
0
0
0
0
2
2
0
0
0
0
0
0
91
0
0
0
0
0
0
-55
1
18
11
0
0
0
27
0
-1
-1
0
0
0
11
0
-4
1
0
0
-14
24
0
0
8
0
0
0
10
0
0
0
0
0
0
-20
0
0
0
0
0
0
40
0
0
0
0
0
0
99
0
7
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
22
56
0
0
-29
1
0
-4
-54
0
0
2
3
0
-9
4
0
0
14
0
0
0
-60
0
0
-8
0
0
0
47
0
0
0
5
0
0
-8
0
0
0
0
0
0
81
-4
0
0
0
0
11
93
-17
6
0
0
0
0
54
0
0
-8
0
0
-1
38
0
0
3
0
-1
0
35
0
5
0
0
0
0
20
0
2
0
1
0
0
61
0
0
0
0
0
0
77
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
75
-6
-30
72
52
-8
79
10
0
51
-121
55
-8
2
67
0
-6
-8
-86
1
-24
-11
0
8
-8
23
-11
-4
13
0
32
16
2
-18
0
28
6
-1
-1
0
0
2
52
18
14
-52
-13
0
7
51
20
-21
-10
1
0
-47
-13
-2
22
-15
40
0
11
16
-8
146
42
0
-9
11
-5
0
16
9
1
1
82
30
0
-31
-83
25
8
-3
-137
8
8
-1
-15
-1
0
5
0
21
-3
0
-61
0
6
28
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
86
0
0
0
0
0
0
-43
0
0
0
0
0
0
-11
0
2
0
0
0
0
-86
0
0
0
0
0
0
-42
0
0
0
0
0
0
2
0
0
0
0
0
0
11
0
0
1
0
0
0
-22
0
13
7
0
0
0
60
0
0
-19
0
0
0
-10
0
-1
0
0
0
0
3
0
0
2
0
0
0
2
0
-3
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
0
0
0
0
0
0
-35
0
0
7
11
0
0
28
0
0
0
0
0
0
0
0
0
0
-11
0
0
-50
0
0
0
0
0
0
22
0
0
0
0
0
0
-60
0
0
0
0
0
0
63
0
0
-4
0
0
0
-31
0
0
-14
0
0
0
123
0
0
-1
0
0
0
-50
0
-15
2
0
0
0
0
0
0
-13
0
0
0
62
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
7
10
19
-23
-2
27
0
-2
60
-1
-5
-31
53
-4
0
25
0
3
-39
0
39
0
-49
0
-2
-46
11
169
0
-1
0
0
0
0
7
0
-28
-2
3
13
0
0
-7
21
2
-43
16
0
0
-1
11
0
-40
-20
13
-1
8
-20
-21
43
-19
1
41
2
-10
35
35
-39
-31
0
-31
50
0
73
-50
-5
0
-1
11
0
0
-3
49
0
0
-12
0
-20
14
0
9
0
-15
86
-8
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-72
-17
-8
-30
41
65
15
2
55
8
-12
41
4
22
-2
-15
39
53
-21
15
-46
113
-30
36
-40
-18
1
46
89
84
-7
33
35
4
46
-7
-61
58
33
-2
-1
5
130
31
-96
-20
-30
-135
20
-69
89
-25
-27
61
-18
0
-34
-78
-88
30
-8
34
-25
36
-36
-92
-38
-23
41
-13
-21
20
-62
-4
-52
30
88
13
7
100
-6
-89
-22
9
70
5
-20
-55
-20
-1
80
-20
112
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-21
0
0
0
2
0
0
92
0
0
0
0
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
-23
0
3
0
0
0
0
9
0
33
0
0
0
0
-21
0
0
0
0
0
0
15
0
2
0
0
0
0
-1
0
0
-7
2
0
0
23
0
-16
0
0
0
0
-29
0
0
0
0
0
0
50
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
6
0
0
0
29
5
0
22
3
0
-2
-62
0
0
0
0
0
3
49
0
-3
4
0
0
0
44
0
0
0
11
23
0
9
0
0
0
-4
0
-5
-10
-6
14
5
0
0
10
40
0
-3
-9
1
-1
1
-74
0
-48
-12
0
0
0
34
-1
0
28
-4
2
4
19
0
1
0
0
0
0
30
0
0
0
2
0
0
-122
0
10
0
0
3
0
112
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
7
-17
-8
146
19
1
36
-95
-3
1
18
-48
30
-4
5
0
7
40
0
50
0
32
-10
18
8
-37
57
0
10
7
0
4
-7
6
0
-21
6
-1
-7
-22
0
64
25
0
50
48
28
-2
3
-17
10
40
-9
-37
0
-1
7
15
-37
37
0
0
-53
10
0
15
-3
8
2
-3
-23
-4
-20
19
3
-10
-5
16
10
9
-2
-72
6
0
-7
0
33
-5
-2
10
0
19
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-4
0
1
2
-30
0
0
-27
2
14
1
-17
0
0
-64
0
41
0
23
0
-2
-6
0
-5
0
-3
0
0
-1
0
7
0
90
0
5
-14
0
0
7
-120
0
128
17
0
0
-22
35
6
0
-9
0
0
-3
-20
0
-25
12
0
0
0
14
0
-1
22
0
0
16
35
0
34
64
0
0
-8
63
0
8
28
3
9
-8
11
0
-19
0
0
-23
0
-55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
-3
0
0
0
0
0
0
28
0
0
-21
0
0
0
47
0
0
0
7
0
0
89
0
0
0
0
0
0
-51
4
0
-3
0
0
0
44
0
0
0
0
0
1
-121
0
0
14
0
0
7
-30
0
0
16
0
0
0
-21
0
0
0
4
0
0
79
0
-10
0
0
0
0
-18
0
0
-4
0
0
0
40
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-68
15
1
0
12
0
0
29
3
17
0
-35
0
-6
-46
19
6
0
-39
0
0
0
0
0
5
93
-10
0
18
0
0
0
25
0
-22
28
0
0
0
36
0
15
-12
3
0
-1
-49
0
27
-6
-1
0
0
-44
0
-20
-1
-2
0
0
46
0
-66
2
-3
0
0
37
0
15
6
-27
-2
3
51
0
-34
0
-4
53
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
17
-46
-33
-59
19
14
25
16
-55
53
15
2
7
-16
-59
-23
-11
-81
-2
18
-36
-171
-16
9
-35
-25
1
5
76
-56
71
31
-55
-18
19
-18
4
26
4
-36
35
-57
17
-21
35
-99
-39
-4
36
-10
49
33
19
70
0
131
-7
69
45
-2
-56
15
98
-86
47
93
-77
-70
-6
-18
-134
-113
-27
-37
-49
17
-4
31
51
37
78
-11
35
14
-34
-39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
4
0
-60
0
0
0
0
0
0
1
0
0
41
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
0
0
0
-33
0
6
0
0
0
0
-3
0
0
8
2
0
0
8
0
-2
0
0
0
0
-16
0
2
0
0
0
0
9
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
0
0
0
0
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
0
0
4
-3
0
11
-93
0
0
-3
0
0
1
39
0
0
12
33
-4
0
74
0
0
0
0
0
0
-44
0
0
0
0
0
0
15
0
4
35
0
0
63
1
6
0
-8
0
0
-21
49
0
14
0
0
-6
-1
3
0
0
0
-1
0
-5
50
0
1
1
0
0
0
16
0
0
0
0
0
0
-17
-1
-2
0
0
0
0
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
-26
-17
0
-16
17
-83
-5
-6
-23
0
0
0
3
-61
17
68
-2
3
16
32
-75
0
1
1
0
0
0
0
0
-53
-21
-9
3
0
0
-4
-29
-3
26
-14
0
22
7
65
0
8
21
-24
-9
40
-36
0
-53
-50
4
0
-45
-1
5
40
-23
-22
0
-4
46
-3
9
6
3
-4
4
26
0
29
-2
83
-3
1
-6
0
31
0
0
-5
0
-4
0
7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
38
0
0
-5
0
0
0
21
0
0
5
0
12
0
35
0
0
0
0
0
0
-61
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-113
0
0
-43
0
0
-26
15
0
0
0
0
0
31
16
0
3
1
0
0
0
22
0
4
0
0
0
0
-44
0
0
0
0
0
0
-89
0
19
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
-42
0
0
0
-26
0
0
40
0
0
0
0
0
0
36
0
0
0
-9
0
0
-30
0
0
0
0
0
0
62
-2
0
0
0
0
0
56
0
-2
-11
0
0
0
-51
0
0
5
0
0
0
48
0
0
1
0
0
-12
-64
0
0
-5
-4
0
2
-38
0
-4
0
0
0
0
67
0
0
0
0
0
0
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
16
0
28
0
0
-3
33
-6
0
2
0
0
0
0
0
0
-12
0
22
0
0
0
0
8
0
60
0
0
0
0
-64
0
8
0
0
0
0
5
0
-12
2
0
0
0
49
11
-3
5
-17
0
0
-9
0
-42
-11
5
0
0
-29
0
0
0
12
-4
0
-50
0
6
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-74
4
45
10
-6
-10
-6
-30
-115
23
-2
0
10
-74
-5
-8
-4
-12
-6
-1
-30
-3
43
31
50
-62
36
-35
-33
32
4
1
8
6
24
44
-15
17
46
32
34
43
35
-20
26
-3
107
4
4
90
-93
5
19
-1
0
15
-36
131
-26
3
16
-3
-14
-54
18
45
64
7
-16
8
-64
-85
10
-21
-1
7
56
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
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
-3
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
-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
-4
0
0
2
0
0
0
141
0
0
0
19
-2
0
-27
0
0
0
0
0
0
-87
0
0
14
0
0
0
34
0
0
0
0
0
0
76
0
0
0
0
0
0
57
0
10
-16
0
0
0
-29
0
-10
0
-2
0
-1
-92
0
-2
13
0
0
3
-6
0
0
0
-18
0
0
55
0
13
0
4
-1
0
18
-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
30
0
-1
-1
-7
-17
4
-114
0
-4
0
-72
67
0
-25
0
0
0
13
0
14
-14
8
1
-18
1
0
-6
63
1
-4
59
0
0
-33
-41
-13
0
-6
-59
0
13
71
0
12
-3
0
-3
-19
12
-15
-1
-40
20
0
0
18
0
23
-25
-1
0
0
12
0
77
0
19
-10
0
-20
0
21
6
0
-12
0
54
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
24
0
-18
0
22
0
0
63
0
-1
0
-68
0
0
0
0
0
0
34
1
0
-7
0
0
3
-41
0
-7
-9
0
0
-2
44
0
-12
0
-6
0
8
11
0
88
55
0
0
2
-11
0
13
-13
-54
-3
-28
-42
0
34
5
0
-2
13
15
0
1
3
0
3
0
-20
0
-26
-1
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
41
0
0
0
18
0
0
-11
0
0
0
16
0
0
1
0
2
-6
0
0
0
-14
0
0
0
0
0
14
-105
0
0
-7
0
0
0
-79
0
15
-6
0
0
0
-40
0
2
3
0
0
0
-13
0
-36
17
0
0
0
36
0
0
0
0
0
0
72
0
-25
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
-42
0
0
15
0
-4
0
-85
0
0
0
0
0
0
-85
0
0
0
0
0
0
7
0
29
-3
0
0
0
45
0
0
-2
0
0
0
4
0
4
0
0
0
0
-43
0
0
-5
0
0
0
138
0
5
0
0
0
0
23
0
-1
0
0
0
0
-16
0
-9
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
-16
-47
32
11
3
-7
-5
15
18
39
154
-10
7
-1
-31
16
24
-153
11
42
59
-22
24
-47
-25
-7
7
-55
28
7
-71
-43
27
-54
47
70
33
-21
56
-83
-53
44
-13
12
-25
11
-11
-32
-14
11
10
106
52
-119
-8
-32
21
0
7
-1
-24
-41
9
-2
7
-13
-1
83
-1
21
-2
-5
68
-46
-25
-38
-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
14
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
5
0
0
0
0
0
0
-1
0
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
0
0
0
0
0
0
9
5
0
0
0
0
0
-31
0
-8
0
0
0
0
-47
0
0
0
9
0
0
7
0
2
1
0
0
0
-4
0
-15
-1
0
0
0
10
0
7
0
0
0
0
-24
0
0
0
0
0
0
104
0
6
0
0
-3
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
11
0
0
0
17
16
0
-79
0
0
0
1
0
0
6
-1
0
0
0
0
0
-56
0
37
-8
0
0
21
-38
0
11
-20
1
0
1
-61
0
20
9
0
0
2
-66
0
11
0
61
4
4
8
0
80
-4
0
-1
0
-55
0
-2
0
0
0
1
12
0
-96
0
0
20
0
-42
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
0
0
0
0
0
-6
0
2
0
0
0
0
50
0
0
0
0
0
0
53
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
-6
0
0
0
0
19
0
17
5
0
0
0
8
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
-16
63
0
0
-22
36
0
0
-30
0
0
0
0
0
0
-115
-3
0
0
0
0
0
42
0
4
-3
0
0
-8
-21
0
0
6
15
0
0
-49
0
-37
-4
0
0
0
-23
0
0
-1
-4
0
-2
70
0
-4
-1
0
0
0
49
0
0
-1
-5
0
0
-66
0
-20
0
0
0
0
-56
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
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
1
0
0
0
0
0
0
-29
0
2
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
-1
-48
7
-3
-2
-5
23
2
-35
5
-36
-5
49
10
-27
11
28
-1
-112
19
20
62
-1
-45
-85
33
83
65
-82
24
8
-27
69
-9
-66
-107
-43
9
50
129
-33
26
-88
12
45
-84
21
-28
-6
14
-13
-7
45
25
-6
-109
-3
0
9
-8
0
5
-14
0
40
-64
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
10
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
0
0
0
0
0
0
-4
0
2
0
0
0
0
29
0
0
0
4
0
0
1
0
0
1
0
0
0
-19
0
2
20
0
0
0
55
0
0
0
0
0
0
-3
0
0
0
0
0
0
-72
0
6
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
12
1
0
0
0
0
0
-33
-9
0
0
0
0
0
-65
3
-7
49
0
0
0
28
0
0
15
-6
0
0
-29
0
-3
-2
0
-1
0
3
0
-3
0
0
0
2
25
0
-39
0
-6
0
10
80
0
0
10
-6
0
0
-92
0
-43
0
0
-2
0
-77
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
12
0
0
0
0
0
-25
0
-5
-16
0
0
0
62
0
1
13
0
5
-2
22
0
3
0
0
0
15
-42
0
41
1
0
19
-34
30
17
-2
41
0
0
0
24
0
119
-1
0
0
0
69
0
0
-23
0
2
0
30
0
4
0
0
-9
0
54
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
7
-13
0
0
0
0
0
-31
0
0
0
0
0
-4
43
15
-21
72
0
0
-4
-20
0
-7
-63
12
0
-5
-2
0
-18
9
0
0
-7
-41
0
-4
11
-14
0
10
-65
0
-30
-6
0
0
0
36
0
16
16
30
0
0
-16
0
-4
-8
0
0
0
-37
8
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
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
56
-14
85
-80
17
-27
-51
12
3
23
3
68
39
50
-31
37
-70
-98
72
12
42
-133
16
-1
33
-10
-9
-92
-27
5
-85
-5
40
104
-20
18
16
-48
28
8
-30
72
-7
-7
-3
31
-82
-91
-67
-22
39
13
-17
-6
-35
38
-1
0
-1
-86
-9
-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
6
0
0
0
0
0
0
-21
0
-16
0
0
0
0
-11
0
0
1
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
0
7
0
0
0
0
-4
0
0
0
0
0
0
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
17
0
39
0
0
0
0
10
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-3
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
1
0
0
-4
0
0
0
3
0
0
-27
0
0
0
73
0
-10
0
0
0
0
-8
0
0
0
7
0
0
87
0
-17
0
0
0
0
-32
0
0
0
17
0
0
50
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
23
0
0
0
0
0
0
-7
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
19
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
-8
61
-72
107
124
11
-64
-43
45
4
13
59
53
0
-44
-1
-23
99
-26
-5
-25
23
9
22
-110
-28
-5
40
37
27
15
-30
-154
0
87
86
-15
3
-60
-81
100
29
5
-1
4
-11
-56
-11
92
0
-15
31
-64
-5
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
-8
18
0
91
15
0
0
0
27
9
0
10
8
0
0
-22
0
27
-7
0
0
0
98
0
1
0
0
0
5
-29
0
20
0
0
0
0
-17
0
0
-2
-2
-2
0
-1
0
-11
0
0
-17
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
3
-15
0
-9
6
0
0
0
40
-9
0
0
0
0
0
28
0
-8
0
0
0
0
-13
0
0
-3
0
0
0
-31
0
-19
0
0
0
0
-5
0
0
4
0
0
0
-56
0
-16
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-8
15
0
0
0
239
0
10
5
0
0
0
-24
0
0
-19
0
0
0
-7
0
0
6
4
0
0
31
0
-2
0
0
0
0
74
0
4
0
-1
-11
0
62
0
-8
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-2
0
0
0
-39
0
0
0
0
0
0
-100
0
7
0
0
0
2
56
0
0
0
0
0
0
4
0
28
0
0
0
0
2
0
0
0
0
0
0
-24
0
-9
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-1
-66
0
-29
0
-7
0
0
7
0
-1
-18
0
0
0
-4
0
0
6
0
0
0
131
0
0
0
0
0
0
-21
0
-19
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-29
2
-107
-25
-53
17
-58
-21
-14
-9
-37
16
-37
-2
-30
-1
97
27
-110
7
53
-3
3
-5
76
15
16
7
1
-20
51
-123
-83
35
0
18
0
115
0
0
-3
0
-3
-86
32
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
-19
0
0
8
0
0
0
22
0
-4
0
0
0
0
-14
0
-19
-4
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
74
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
13
88
0
-24
-46
-1
0
96
55
0
20
-94
0
-28
11
-1
0
12
12
-39
0
2
-1
0
-17
40
-6
9
2
-39
0
0
-23
22
0
0
-97
0
41
-3
-5
23
0
-34
26
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
40
5
0
-25
-59
0
-37
-11
0
0
0
-94
14
3
-15
-5
0
0
19
0
48
3
0
0
0
-116
27
-3
-5
10
0
0
82
0
1
0
0
0
0
47
-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
-1
0
0
0
0
0
0
-1
0
0
-4
0
0
0
6
0
0
-1
0
0
0
27
0
24
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
5
0
0
0
37
0
0
-4
0
0
0
-6
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
-7
84
0
2
0
0
0
0
-33
0
9
0
0
0
0
9
0
15
2
1
0
0
77
0
4
0
0
0
0
47
0
-1
0
0
2
0
-74
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-9
26
24
-13
9
35
-43
3
4
23
68
-93
1
12
-24
-9
-90
24
-42
-3
9
33
-3
79
-27
27
3
4
27
0
10
1
34
2
0
-26
55
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
-26
0
-15
0
0
0
0
-16
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
139
20
0
0
10
124
0
0
-11
15
0
0
29
0
-25
14
0
0
0
-21
0
0
0
0
0
0
12
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
49
0
0
0
4
43
0
-12
-25
14
13
0
79
0
-63
1
0
0
1
14
-1
0
-6
0
3
0
51
0
21
0
-1
-2
0
28
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
-9
0
0
0
72
0
0
0
0
0
0
-91
0
-13
3
0
0
7
-59
0
0
0
0
0
0
10
0
57
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-25
13
0
0
0
-35
0
0
0
-2
0
0
-67
0
-14
0
0
0
0
-9
0
0
0
0
0
0
54
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-119
0
1
-4
28
0
0
-50
0
-1
13
-23
0
3
-72
0
0
2
-5
0
0
-12
0
-9
0
0
9
0
19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-2
4
-31
69
-44
-4
-18
48
54
-32
-123
-4
-10
76
-1
25
16
-6
-49
1
9
-4
-15
-8
27
-28
1
20
-56
36
-2
30
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
-21
0
0
11
0
0
0
-20
0
0
0
0
0
0
-20
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
-70
74
-6
-6
-80
5
0
11
40
0
13
-20
0
0
2
-124
0
0
-34
-7
0
0
-70
0
42
0
-3
-34
0
7
3
6
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
23
-22
-1
0
-46
0
-11
-2
0
0
0
37
2
0
1
0
0
0
-7
0
3
0
0
-20
0
37
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
19
0
0
58
0
0
0
0
0
0
30
0
0
0
0
0
0
53
0
-11
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-4
0
0
-28
0
0
0
0
0
0
6
0
0
-1
0
0
0
9
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-21
5
8
0
0
-27
0
0
2
18
1
0
15
0
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-3
-49
45
149
-45
-15
20
-3
30
-30
-84
-15
0
-9
-4
43
-14
0
-13
0
27
-38
26
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
-11
0
0
0
0
0
0
69
0
0
0
0
0
0
-46
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
45
15
7
0
-3
50
0
0
16
-2
0
0
-5
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
57
0
31
-6
-1
0
5
-115
0
9
-7
0
0
0
80
0
-21
0
0
0
0
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
40
0
0
0
-31
0
0
83
0
0
0
23
0
45
0
0
-3
0
-49
-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
-12
-6
0
2
-5
0
0
0
1
0
0
0
2
0
0
26
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
85
0
2
-17
0
0
0
-35
0
-18
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-18
-32
-46
-2
-11
-48
-12
-15
0
-2
0
60
-48
30
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-26
-7
0
0
-76
-3
80
0
0
20
0
91
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
-1
30
1
0
-50
0
16
0
0
-3
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
0
0
0
0
0
0
0
125
0
0
0
0
0
0
13
0
1
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
-9
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-19
14
0
-93
19
-7
-40
0
33
-58
11
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-57
0
20
-1
-2
15
0
-74
-6
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-15
0
-11
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
44
-23
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
-73
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-54
4
0
0
-3
0
0
3
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
3
0
0
6
0
0
0
0
0
-1
-1
-1
0
0
0
0
-62
1
0
-1
0
0
-1
-2
0
-2
-12
0
0
-3
3
0
0
-3
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-11
-2
0
0
0
0
0
-27
0
0
0
0
0
0
-98
0
0
4
0
0
0
-25
0
0
0
0
0
0
-5
0
0
13
0
0
0
-1
0
0
0
13
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
3
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
-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
17
0
0
0
120
0
0
17
-16
10
0
13
0
0
0
-2
0
1
-24
1
0
0
0
15
-2
-17
0
0
0
0
0
47
0
0
-1
0
0
4
-2
0
0
0
-9
0
0
24
0
0
-12
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
-50
0
-14
142
0
-1
0
69
46
30
75
-3
0
0
-76
0
59
14
0
0
0
13
-40
-34
10
-1
0
0
-11
-16
-9
0
0
0
0
0
1
-52
0
0
-28
0
0
0
30
0
0
-3
-19
0
0
0
-53
38
0
-4
-32
0
0
-26
4
10
6
3
5
0
-14
43
0
0
49
0
0
2
-39
0
0
-19
-1
0
0
-10
0
0
-17
0
0
-5
5
0
-19
14
21
0
0
40
-11
0
0
0
24
0
13
34
-34
0
0
-3
-3
0
18
0
-18
0
0
3
79
11
-31
34
-6
0
-2
-22
0
0
-13
0
14
-39
-2
0
8
29
4
0
15
52
0
-5
-19
-4
0
0
45
0
0
-111
-21
0
0
-58
-1
0
-10
0
15
0
-23
-2
0
35
67
8
0
-101
52
6
0
0
0
0
0
-100
2
11
0
0
0
-71
0
-12
44
0
0
34
-126
0
0
10
0
0
0
-16
0
-11
9
0
0
0
54
7
0
-8
-5
2
0
-13
-5
-9
0
-1
-7
0
-71
0
-8
25
17
12
0
58
0
54
0
-4
-7
0
2
9
0
0
0
0
0
0
0
0
0
0
0
42
-12
-183
5
1
-26
78
16
-1
45
42
-16
-2
5
10
37
60
35
85
60
15
46
1
38
-49
-41
-45
-11
-15
-12
-22
-28
16
32
-5
-5
18
-71
57
-19
4
6
-18
-8
-43
-5
-5
98
-13
-72
9
3
1
-11
-47
-40
-14
19
-39
-119
-28
-32
-12
0
0
0
0
0
0
0
26
50
42
46
59
107
-30
28
5
76
3
1
-5
-14
-5
4
32
44
-9
-6
-8
-29
11
-39
43
-3
-25
-9
-19
25
-59
-11
-3
33
-11
-28
65
33
-51
51
-10
-8
-6
-85
-29
-13
-19
40
-33
-44
2
-65
60
7
-11
1
38
22
-22
44
51
-1
94
13
27
67
10
15
-2
15
32
-6
-13
-50
38
33
-23
17
-6
38
-26
1
-6
-7
-45
-12
70
5
-15
-49
-22
-25
-3
-22
-4
-23
-2
-9
15
-4
-31
44
21
73
7
-17
15
-12
-4
-56
-12
28
-123
11
-95
-121
-67
-41
-12
-83
-11
34
22
14
37
47
-9
17
-5
-18
15
-41
-7
28
16
-31
30
23
34
13
13
0
-12
-25
6
29
-17
-42
-4
-26
-9
-28
-5
-28
-34
-5
-34
-49
-23
38
-20
8
-2
-40
56
-31
-23
-8
-22
6
-8
-73
-35
21
7
11
45
-60
4
31
49
2
58
5
-8
60
-10
79
67
-13
-14
10
15
-19
-11
45
-27
6
6
-30
11
50
-28
16
-18
27
-1
-4
26
-21
2
2
-53
6
-19
19
3
-32
-13
13
-5
-33
-14
13
35
-1
51
10
-28
-9
66
-23
-15
-1
11
14
17
-94
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
2
0
6
-12
4
4
0
25
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
-2
0
0
-2
0
0
-151
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
86
-4
0
0
7
0
0
6
0
0
0
28
-3
0
15
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
26
0
0
3
0
0
0
0
0
-28
-14
-10
-2
0
0
0
-36
0
0
0
0
0
10
21
0
-6
-8
0
0
-22
88
0
0
-6
0
0
15
68
0
0
2
0
0
0
44
0
0
-3
0
0
0
-5
0
33
0
-3
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-61
0
0
-3
0
0
-1
-87
0
0
-2
0
0
-2
-77
0
0
-3
0
0
0
12
0
0
2
0
0
0
1
0
0
3
0
0
0
-149
0
0
0
0
0
0
-9
0
0
0
0
0
0
-47
0
0
0
0
0
0
7
40
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-35
0
0
0
0
0
0
21
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
77
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
14
0
0
0
-5
-9
3
-31
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
51
0
0
-2
0
0
-6
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-19
0
-2
-38
12
0
0
-61
0
0
2
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
24
0
0
-2
0
0
0
0
0
75
15
1
0
0
0
2
39
0
0
-3
0
0
-32
-16
0
5
-12
0
0
-133
19
0
0
82
0
0
0
12
0
0
6
0
0
0
43
0
0
0
0
0
0
9
0
-6
0
0
0
0
24
0
0
0
0
0
0
18
-1
0
0
0
0
0
33
3
0
0
0
0
0
15
9
0
-2
0
0
0
7
0
0
0
0
0
0
-94
0
-5
-2
0
0
0
-26
0
0
-3
0
0
0
-33
0
0
-7
0
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
-3
0
0
0
0
0
-2
0
-1
0
0
0
0
-3
0
6
0
0
0
0
11
0
14
0
0
0
0
-2
0
0
0
8
0
0
45
0
-9
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
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-89
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
29
0
2
-2
0
0
0
0
0
0
-2
-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
-2
0
0
0
0
0
0
0
0
-8
15
-1
0
0
0
0
-82
0
0
-1
0
0
0
-1
0
-2
0
0
0
-2
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
-2
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
-22
0
0
17
0
0
0
-11
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
0
0
-1
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-47
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
-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
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
4
0
0
-3
-2
0
0
-18
0
1
0
5
0
0
-16
12
-15
0
0
0
0
34
-5
0
0
1
0
0
0
0
-34
0
0
-7
0
0
0
0
71
0
0
0
0
0
20
0
0
0
0
0
39
127
0
0
0
0
0
0
0
0
0
0
0
-104
-1
0
0
-26
0
0
-51
0
0
2
-26
-22
0
-30
17
0
0
-59
0
0
8
36
28
0
-14
35
0
48
16
0
0
-22
0
0
0
-18
0
0
-6
7
14
0
0
60
0
0
0
0
0
81
129
-21
4
0
0
-18
-75
-3
2
53
0
0
16
87
2
52
-15
11
0
27
-45
0
-1
16
0
0
38
-85
0
0
-31
20
0
-71
-111
0
2
-138
0
0
-38
-81
6
93
50
13
0
0
-26
0
0
8
0
0
0
26
-40
-18
0
10
0
8
-47
-29
0
-83
0
0
7
-21
-13
7
127
0
0
165
45
0
0
57
0
0
71
20
0
4
129
-56
0
-55
-31
0
0
-22
0
0
-1
-38
0
0
16
64
0
0
4
0
0
47
0
0
0
73
0
0
-9
-26
0
0
59
0
1
0
0
0
0
-19
10
0
-23
0
0
13
-47
8
84
-24
0
0
0
23
-1
17
16
0
0
28
-25
0
8
37
0
0
-2
6
0
15
67
-9
0
0
20
0
79
46
0
0
0
8
0
0
4
-17
0
0
-9
0
-151
1
0
0
0
-47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-7
3
19
129
2
0
-176
14
0
108
99
0
7
-42
9
0
16
-2
0
7
1
-13
0
0
0
0
-4
0
-27
0
0
0
0
0
0
0
0
-45
0
0
-7
0
0
-68
0
0
0
0
0
28
67
0
34
0
0
0
0
0
0
0
0
0
-60
31
30
58
61
13
0
-199
95
0
-2
4
-3
3
40
152
0
0
14
0
-12
-8
-8
0
0
-7
13
-3
5
2
0
0
-18
0
-8
0
84
0
0
0
0
1
0
0
-101
0
0
0
-38
0
58
-21
115
-2
2
0
25
-11
-12
0
-33
25
0
167
28
7
51
-20
-16
0
15
12
3
2
-29
-4
-11
70
-101
0
0
-22
-64
0
27
-46
0
0
68
51
0
0
-3
0
-49
-49
-27
5
0
-98
0
0
2
0
-5
0
61
13
29
0
3
0
0
96
131
0
26
0
0
17
20
-47
-19
98
-4
2
-84
-57
0
0
54
0
0
-31
-44
3
-13
23
0
25
82
-68
0
0
-40
-4
-22
0
-38
0
-19
-15
-37
-3
0
-1
0
-2
95
0
-16
0
18
0
0
0
2
33
0
13
0
0
0
0
18
0
123
95
7
-16
15
0
0
-73
1
-98
-81
0
0
7
87
0
12
-10
0
0
-4
-31
0
25
1
-44
0
-4
-108
0
-18
59
89
0
0
-71
0
-42
31
22
0
0
33
14
0
61
63
0
0
-36
0
95
0
0
0
0
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
11
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
-15
0
0
0
0
0
-62
0
0
0
0
0
0
-7
0
5
0
0
0
0
0
0
0
0
0
-56
0
0
0
-9
0
0
0
5
0
0
2
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
26
0
0
0
0
0
-5
0
0
0
-40
0
0
-2
1
0
53
-4
0
0
-12
23
0
0
-5
0
0
0
22
0
0
-2
0
0
0
11
0
0
-2
0
0
0
-1
0
-5
0
6
0
0
26
0
0
0
0
0
0
-70
0
0
0
0
0
0
-65
0
0
0
0
0
4
0
2
0
12
0
0
-2
-102
0
0
-6
0
0
-2
-77
0
0
0
0
0
0
12
0
0
4
0
0
0
-14
0
0
-2
0
0
0
-55
0
0
0
0
-1
0
2
0
0
0
0
13
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
26
0
0
0
0
0
0
-24
0
3
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
21
0
0
0
4
0
0
0
0
0
0
26
0
11
0
0
0
0
-6
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
35
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
-47
0
0
0
0
0
-29
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
-103
0
0
0
21
0
0
-10
0
0
0
-3
-2
10
-5
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
16
0
0
-4
0
0
0
0
0
110
-26
21
0
0
0
10
13
0
16
-61
0
0
2
-5
0
-56
18
0
0
-63
55
0
0
11
0
0
0
-21
0
0
-2
0
0
0
78
0
0
4
0
0
0
-9
0
-7
15
0
1
0
88
0
0
0
0
0
0
-12
0
0
0
0
0
0
-78
-6
0
0
0
0
3
-115
0
0
24
0
0
0
-19
0
6
13
0
0
0
-79
0
0
6
0
0
0
48
0
0
-9
0
0
0
3
0
0
7
7
0
0
-107
0
0
0
0
0
0
20
0
0
0
0
0
0
63
0
0
0
0
0
0
4
5
0
0
0
0
0
-9
0
3
0
0
0
0
11
0
0
0
0
0
0
31
0
-6
0
0
0
0
60
0
0
0
0
0
0
15
0
0
0
0
0
0
115
0
0
0
0
0
0
48
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
19
-28
5
75
39
-7
29
26
34
32
-78
29
-60
38
10
11
23
-23
62
-6
39
-6
26
25
-52
19
-2
3
-4
44
47
-10
-42
22
44
-24
62
43
-4
-67
9
-13
-28
-41
2
-7
31
25
8
-7
29
40
1
13
-15
52
0
0
0
0
0
0
0
26
14
-13
52
19
69
12
13
72
19
-70
5
16
2
-6
-11
13
63
-4
-46
1
12
-7
44
-58
-2
4
-1
-11
2
81
58
-4
11
8
-24
-21
43
-57
28
4
-1
62
-27
-7
39
-4
23
35
81
9
38
-25
0
37
-7
11
24
34
-55
10
51
-2
16
-15
-39
-83
12
9
54
-19
22
-26
-13
7
50
-67
-8
2
16
-50
3
-1
57
18
8
-54
-8
9
9
-25
-1
-8
15
14
8
-15
-14
9
2
-128
52
-21
-64
-45
6
6
4
-1
79
-13
-61
10
1
-30
-22
21
31
39
79
8
-2
9
-2
12
39
-41
-19
-11
-83
17
55
-37
-29
-8
13
-47
-16
-12
-2
-12
-10
-31
-7
-26
3
-10
-6
-2
-35
10
-3
-19
18
-8
1
-7
-33
-9
16
12
16
-5
-16
-15
-1
6
-1
-39
10
-5
-1
27
25
-18
26
40
37
4
-48
-55
-14
6
-21
-67
-58
-44
-188
-30
5
13
-75
8
33
37
23
0
-21
-31
-65
-76
-22
-35
-20
-2
-73
-28
-8
-13
-50
-46
-7
60
-5
-13
31
38
45
7
25
-7
23
-26
-22
-45
6
-26
-10
7
47
-19
21
11
-26
-31
23
-7
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
-5
0
-1
-52
95
-1
-125
-8
0
0
8
0
-8
-3
16
1
0
1
61
-4
10
-2
0
0
0
-11
-10
-6
-7
0
0
34
1
9
0
0
0
18
0
0
-48
0
0
-62
0
0
0
0
0
51
78
0
0
0
0
0
0
0
0
0
0
0
-126
8
19
0
-105
0
0
-30
-32
-18
0
21
-51
-3
4
-61
0
0
53
-3
-45
-5
-10
0
0
2
-12
-3
-59
-3
0
0
-5
0
35
0
31
0
32
-2
1
42
0
0
93
0
0
0
-44
0
109
85
8
0
0
0
58
-8
0
11
-70
0
0
1
45
0
-66
164
-4
0
9
76
-5
0
8
0
-7
23
-67
0
7
-46
-3
-1
-15
-47
0
0
-191
0
-4
13
-27
0
4
-7
-37
-2
0
-155
0
0
-2
0
6
0
103
136
1
0
-1
0
0
46
-43
1
-23
0
0
-3
-32
-2
11
76
-12
-38
33
-49
0
0
-10
0
12
72
7
0
29
-32
34
-1
-43
-264
0
0
-7
6
-1
20
63
0
-3
-78
-51
-18
21
82
0
1
-11
0
-3
0
12
0
0
-1
2
9
0
71
0
7
0
-52
0
0
30
-34
-6
5
0
0
8
75
0
-52
-6
0
0
8
36
-14
-16
-9
6
16
2
5
-65
-85
-5
0
0
2
13
0
-2
0
-27
8
0
5
0
23
28
0
-23
0
-4
0
0
-2
-19
1
3
-59
0
32
0
0
-4
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
17
0
0
-111
-4
0
0
0
0
-1
0
0
0
0
1
0
-1
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-149
0
0
-6
0
0
30
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
-85
-10
8
0
-145
0
0
-11
0
4
0
-7
0
-1
-11
0
0
0
-1
0
-1
-2
0
0
0
1
0
-4
0
20
0
0
0
0
-2
0
0
0
0
0
0
-89
0
0
-2
0
0
0
0
0
-25
0
8
0
0
0
-2
-64
0
0
-98
0
0
-4
0
0
-70
-38
0
0
-110
3
0
0
-60
0
0
2
-22
0
0
-5
0
-5
0
62
0
0
5
0
0
0
15
0
27
0
0
0
0
-49
0
0
0
0
0
0
-75
0
0
0
0
0
0
27
0
0
0
0
0
0
42
0
0
-5
27
0
-1
-64
0
0
2
0
0
-6
-36
0
0
-5
0
0
0
-22
0
0
-4
0
0
0
35
0
0
-2
0
0
0
-50
0
0
-1
0
0
0
6
0
0
0
0
-5
0
141
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
3
1
0
0
0
-34
0
0
0
0
0
0
138
0
-1
0
0
0
0
-17
0
0
-3
0
0
0
6
0
1
0
0
0
0
7
0
0
0
0
0
0
65
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
13
0
0
1
-4
32
0
-87
8
13
24
34
0
0
0
14
21
0
-9
-14
0
-3
8
0
0
3
0
0
0
142
0
16
51
-2
0
0
-6
0
-49
0
34
0
0
0
-52
0
0
0
0
5
60
29
0
-9
0
0
0
0
0
0
0
0
0
-29
22
0
72
6
44
0
-30
32
0
0
29
-132
0
-7
-54
33
34
-34
0
0
-5
23
0
0
-38
-27
0
23
-35
0
0
-12
-3
0
-3
23
0
0
-39
4
1
0
15
-100
0
0
0
0
-1
-42
168
91
23
1
0
-40
27
24
11
50
0
26
-41
37
0
40
-38
58
0
15
18
0
2
-46
22
0
77
-74
-1
-24
-82
62
0
16
22
0
0
-85
-8
0
64
-52
0
-113
-81
-21
0
10
-21
0
56
0
-6
0
0
49
17
89
0
56
0
0
-11
16
0
2
0
0
-72
24
16
0
-50
70
0
-119
-50
0
0
-93
0
0
0
33
0
54
7
35
0
78
-6
0
-21
30
-20
0
11
-36
0
13
34
-41
0
25
-67
0
0
-16
0
0
4
-101
0
125
3
-65
0
0
33
68
0
0
0
0
0
-20
-57
4
42
-10
0
0
-51
5
66
-42
0
0
46
-88
0
-16
26
21
0
43
9
0
-37
57
17
0
-27
-35
-4
-59
31
70
0
1
-65
42
-35
110
-4
0
0
-63
0
18
15
-61
0
0
-19
0
-3
22
13
0
-6
-4
-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
-35
60
154
-57
106
9
-37
-125
-39
-44
61
-38
-39
-5
-18
-50
3
-17
48
10
0
49
-48
7
2
-104
90
36
14
-23
-3
-12
14
33
-52
-5
5
6
-1
-1
13
-40
-6
47
123
-5
15
52
6
0
0
0
0
0
0
0
9
-30
-95
-94
41
-1
9
17
11
-6
20
20
11
47
-110
-6
-67
10
-79
-14
32
-21
-1
32
26
-23
-25
-59
-41
-31
-23
-15
-49
-13
-42
-44
-27
50
6
-80
5
-38
-5
-114
16
-2
9
53
21
32
-14
8
40
18
76
3
-32
24
89
157
41
24
44
-14
51
-6
44
10
22
42
-70
21
-3
31
3
2
-37
-4
4
56
-48
12
3
-96
-67
-15
-41
33
-88
-23
3
23
18
-47
-15
-9
-16
-119
-10
-10
-12
-40
-38
23
-33
-2
11
44
-29
-2
96
82
-5
16
8
-75
123
76
51
-8
13
12
23
40
-5
-73
-35
8
23
-61
2
-93
-109
3
-45
54
-21
-9
9
-27
-24
-3
94
-48
-40
17
-68
-2
-17
115
-53
-87
-3
53
-60
-4
-7
71
-141
100
-76
-167
-2
-2
-108
-176
-83
1
-10
-28
-100
-106
-3
-28
-24
-15
-19
-60
-74
-28
90
-18
51
-52
-35
-44
-19
28
-53
-100
6
-75
3
3
-24
-189
23
-25
25
74
-38
22
45
11
-43
38
67
2
-12
-59
-7
-22
-114
18
-49
96
-85
-8
-23
-15
29
-69
59
21
-26
-21
61
-41
25
44
-14
-2
-16
6
-85
-44
-14
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-207
-58
0
-8
-10
27
-3
-45
5
83
49
1
-94
-17
-18
-6
0
0
-5
-8
13
11
-13
11
-4
-12
-11
22
0
89
0
-5
0
21
29
0
15
11
0
0
0
15
0
56
93
-5
53
3
0
0
0
0
0
0
0
0
-126
0
-44
11
-22
-25
99
29
-121
14
-26
-36
-63
12
-94
-141
40
32
41
-2
55
-57
37
0
11
-5
-20
-43
-20
-44
0
-2
-4
0
-51
3
-43
0
0
49
13
-55
-1
23
36
0
0
-5
-54
37
-26
-48
-51
59
45
-26
88
71
23
1
130
4
12
40
0
36
-17
3
-51
-42
-89
28
18
75
-2
1
-15
18
-21
-1
-2
-5
-3
-4
-66
-11
0
16
-29
0
13
3
-45
17
-65
46
-83
6
17
-73
0
0
-13
-2
22
0
40
25
100
21
11
-8
1
41
-104
0
30
-20
12
-26
19
-71
32
19
31
-22
25
0
0
85
-15
30
-19
-23
35
0
-18
-10
6
18
74
19
14
10
-47
-41
-11
-36
-63
18
34
-150
-33
-15
-19
-36
0
3
57
24
-13
-12
-24
0
24
-54
-54
-18
0
50
-7
-1
0
9
-6
0
44
43
-10
-21
0
5
28
-65
-14
-4
146
64
-1
-2
0
-6
21
-8
-50
4
-101
-5
5
-77
-21
11
37
17
-105
-14
25
26
-7
-1
45
60
0
-111
35
-8
33
0
-5
4
3
-56
-16
22
0
-11
0
17
1
0
-8
0
51
-121
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
-102
233
35
12
125
0
24
-14
-58
-7
-3
-128
-17
-9
-38
106
0
-1
-9
0
21
13
-29
0
-4
0
3
14
0
46
0
-13
0
10
-20
0
0
40
0
0
28
-8
0
110
99
0
35
0
0
0
0
0
0
0
0
0
-123
50
14
69
-81
6
12
11
-25
19
29
-107
-107
-23
-11
23
0
0
-102
51
-6
50
-52
5
-10
-82
-9
-2
-30
-26
0
0
-28
-5
-14
20
33
0
0
-3
12
6
0
-4
64
0
0
0
18
-21
85
27
-18
37
0
0
44
86
0
14
70
0
14
43
17
-11
37
-42
-5
15
-30
0
0
28
-21
58
-12
-81
-85
0
-20
72
-27
-3
-12
-39
9
0
0
19
0
0
174
0
37
-32
75
-14
7
5
0
-1
0
-2
-16
0
-12
37
22
-10
0
2
-3
73
-112
19
57
0
8
12
26
105
132
-68
54
-4
29
20
0
-3
-47
7
0
-192
-20
0
-57
-96
73
40
28
-18
10
-26
-71
-22
24
-13
-67
3
0
57
48
0
130
23
0
-29
65
-5
93
0
-63
0
31
25
25
-22
0
29
37
0
6
0
41
9
71
-18
-8
-4
0
-4
-3
-53
0
-64
12
0
-4
-3
39
-12
-55
17
0
-2
41
-20
-2
-14
-17
-3
0
4
-85
15
-14
1
5
0
0
27
0
-68
29
53
10
4
84
0
5
10
11
-6
0
-36
0
9
4
-7
2
0
52
3
0
5
19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-153
20
8
-6
-120
-9
31
-89
-13
40
-8
91
-9
-57
-33
74
60
1
76
12
-64
-8
46
29
-5
0
-8
28
0
-47
34
6
3
12
-118
0
0
3
0
0
0
-45
-2
62
112
-3
13
-24
-6
0
0
0
0
0
0
0
13
-174
35
2
62
-12
-35
67
14
97
-7
56
-4
30
-25
132
76
-11
-39
-26
75
-88
-23
0
6
40
77
-7
95
59
0
-2
112
-5
-90
-21
5
-3
-5
1
24
-48
0
-6
46
0
0
1
13
12
66
47
-41
-17
0
2
-114
-190
-44
89
-91
-10
-1
51
18
51
47
-20
-6
-21
-19
-8
7
7
-30
2
49
79
7
1
26
58
-15
-34
-1
20
-9
-1
-29
-105
-34
-53
-26
14
65
-65
60
-11
-13
19
37
-15
-10
-18
102
-1
-69
33
76
-8
79
53
3
31
72
0
75
38
0
-157
-99
-20
33
-65
-28
4
5
15
33
32
-26
7
19
-88
-29
2
80
10
37
12
24
-16
-21
40
-116
24
99
44
23
-13
14
-15
76
31
15
1
27
124
-25
13
54
-8
23
67
-24
168
-69
52
-2
-37
-10
-4
-1
23
1
0
103
22
0
-11
-7
0
-15
-35
-32
73
-33
29
2
60
50
15
-90
-81
24
-15
14
-95
1
-29
-8
-27
15
-96
2
-15
26
-16
-109
-15
-68
11
-12
80
-236
47
128
-1
-24
7
-5
-45
69
-6
-3
5
0
2
90
10
-59
0
-41
-62
1
-5
99
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
37
27
-91
-17
13
-79
16
78
-2
-21
22
-72
-12
-49
82
2
-48
77
-48
-150
-64
-6
34
-50
-18
-80
-8
53
-11
-16
-10
-34
-9
0
2
2
1
0
8
22
-6
89
167
17
-35
-61
-1
0
0
0
0
0
0
0
11
10
-55
-81
-49
-86
49
44
7
136
73
15
-18
79
0
18
18
-35
-46
-51
25
-27
66
4
-15
10
-8
-9
-58
-7
-2
6
-33
69
-1
-78
53
-4
-6
-59
12
-31
11
-20
-64
-1
-1
-3
-88
57
16
-3
-77
97
3
0
17
20
2
-22
91
-13
2
-25
29
57
12
33
6
2
30
23
46
-4
18
8
4
13
-9
-50
18
53
32
6
1
1
-8
83
-28
-70
-9
2
-8
133
-1
11
12
-52
28
-23
-14
-19
22
53
-40
-3
19
-21
-27
-5
47
34
15
13
-38
44
10
27
35
101
-1
-57
34
-23
54
61
52
0
33
172
34
19
77
2
6
-10
-34
54
-12
-65
-3
-10
68
12
28
-117
5
45
-10
85
-55
19
-48
10
51
1
47
34
13
-76
62
-65
-48
-34
-104
-62
-33
-1
-4
6
-85
-34
27
-4
-20
1
17
27
20
39
-92
44
21
-46
41
-88
-51
-163
95
11
-42
17
-46
-12
39
93
-21
10
90
29
-25
-18
78
-32
-11
55
-59
11
-105
64
-49
-16
-76
34
-16
-42
9
-53
15
-36
61
57
22
-83
18
5
2
12
32
28
9
-2
-8
-55
56
-4
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-68
6
-19
-133
8
-23
-62
99
56
89
-182
-3
-50
-85
-56
0
-7
-4
-1
-49
36
-36
59
21
-57
0
45
0
26
81
5
-8
0
31
0
0
-19
0
0
0
18
-1
56
42
40
-128
0
13
0
0
0
0
0
0
0
-17
67
23
-5
-4
0
-45
-82
-63
-19
-3
-34
-14
4
-95
9
2
46
-57
16
3
-118
30
0
-3
-34
10
61
-23
-4
0
-6
76
0
15
55
7
14
-1
2
0
13
-1
-11
3
-1
-1
17
-7
-8
24
-25
52
114
0
0
-15
37
0
16
-14
0
0
-13
30
6
14
24
0
24
-51
5
19
11
-43
0
4
6
-63
15
-5
-11
-7
4
0
7
0
52
22
0
24
107
-21
-6
33
-11
-28
54
154
25
7
-4
-49
0
22
0
3
47
-19
-1
0
-12
0
20
75
1
11
0
-9
53
59
-38
44
40
94
14
71
-25
2
-25
40
50
-64
8
21
14
-74
6
26
61
26
29
-9
196
19
-36
37
77
-37
2
10
-27
-29
-3
48
14
0
-43
19
0
40
115
17
0
8
15
-10
21
0
-3
82
-8
-3
9
26
0
27
35
55
-2
6
0
-146
1
-19
-123
-11
-5
0
137
-52
-13
3
87
-3
4
85
39
18
-35
-13
9
47
-15
-10
-2
-30
-5
-2
-2
34
1
-2
-16
-34
-2
13
-17
45
-29
-37
34
-4
-14
79
-10
0
10
13
0
-70
-1
1
22
-5
55
-8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-9
50
-6
73
-4
0
57
129
28
43
-30
53
-1
69
100
50
-17
1
0
0
-63
-75
84
-37
61
12
0
-3
-32
100
-8
-1
0
-1
0
-3
-62
21
0
-3
0
-2
85
-37
42
-13
-11
0
0
0
0
0
0
0
0
-53
60
5
-15
-12
0
0
61
78
-20
213
-21
-51
0
44
-28
0
-5
-62
53
0
41
-171
3
-25
-8
-23
0
12
37
-5
-3
-108
-2
-3
-2
-77
0
-11
41
106
-5
0
7
-35
16
0
-8
-3
0
24
17
-43
40
-27
0
-7
18
46
-2
-5
-4
0
-2
126
-23
-41
-73
-109
0
27
8
10
-91
-56
-39
0
0
-11
49
-43
-41
-29
0
68
-37
0
-2
-30
-7
0
80
-4
-5
-47
-113
7
0
15
-10
0
19
-26
0
0
13
16
-85
23
-14
-77
0
-16
56
-96
-6
14
-5
0
36
13
-4
79
58
52
0
17
47
3
62
-53
-1
0
17
-32
43
47
28
-85
0
28
-25
12
-32
5
18
0
69
-32
-12
-79
-16
-37
0
70
-8
0
2
69
121
0
92
10
9
-62
-102
-8
0
7
1
0
-10
0
1
0
18
33
59
6
-2
51
0
35
-34
-12
-35
30
0
0
-28
41
-7
9
-15
106
0
-23
-4
-14
23
29
-4
3
-20
-35
112
-16
-41
-65
0
-25
-22
-3
8
-31
13
0
-37
13
-10
94
-35
33
0
0
3
-21
-59
69
-8
0
0
3
33
-20
15
-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
-62
50
73
70
-7
14
-20
40
-29
-59
-97
106
-144
-45
-10
-73
-27
-31
-37
0
-98
21
-70
-70
-11
-20
-28
-90
-36
-3
-4
-60
-17
-106
-100
-63
6
31
-2
-69
8
-188
0
0
0
0
0
0
0
-120
-10
14
-94
9
3
0
19
-53
-53
-10
47
11
28
45
-10
15
25
-15
-22
20
-5
4
-5
-66
-39
-5
-12
35
-42
61
36
-22
2
-25
60
-62
-76
-24
-46
10
-55
-37
-109
3
-67
22
24
-66
6
31
-18
-119
-68
114
62
32
14
-56
-37
39
-81
-158
-16
79
98
25
18
20
39
13
5
9
12
5
-32
20
16
-13
-3
-61
-9
-1
-60
42
-5
28
-78
-25
-27
-25
18
41
-46
-1
-19
28
-69
-1
-10
-100
-23
-48
-27
-50
-39
26
4
-18
-132
31
-69
-70
24
38
15
-9
9
5
34
14
42
-4
14
3
28
50
42
8
-25
24
-13
29
-2
12
92
7
42
12
-58
30
-9
37
3
7
13
-35
0
2
35
-144
-17
28
-11
-6
-4
-113
-101
-12
-32
-22
23
-11
-60
-103
-46
-10
-16
-103
-5
8
-60
-103
-9
-42
-89
-15
-30
-29
-30
-10
-61
27
-38
16
-36
-7
21
-48
-2
6
3
-16
9
18
2
35
10
-16
26
27
-48
-64
63
-28
-12
-18
-18
54
-10
-3
-7
11
12
-12
44
-40
15
-9
-64
16
-11
41
-4
-64
-6
-16
-6
-55
-67
-19
-18
-34
73
-2
-3
-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
-157
-7
0
-8
34
-6
24
9
56
3
0
-2
4
-70
66
-17
-1
-6
26
-38
0
0
35
0
12
0
20
-98
0
0
15
0
0
0
0
-1
37
49
-3
-1
0
-19
0
0
0
0
0
0
0
-99
-10
-9
-34
17
-39
15
-42
0
-6
-8
28
-122
32
-43
-9
-11
22
-149
88
-1
-45
101
16
-5
-16
61
-126
13
68
9
-9
12
14
-125
131
-76
0
5
-16
-114
-237
-3
-3
-7
0
-1
-13
-40
4
-5
-61
-89
-3
0
0
26
52
-16
-13
21
-13
0
8
29
-53
38
23
56
2
-48
0
-38
-93
-77
-48
80
-58
-30
56
-14
-10
4
-56
28
17
39
10
-60
57
-39
0
33
0
-39
-14
-20
-3
9
-10
0
-3
17
15
-92
0
23
12
-144
0
6
-4
-15
38
24
0
-3
-5
0
10
24
-18
19
41
-117
0
27
31
-3
-124
-24
-1
-1
-13
0
28
74
-28
33
67
33
25
11
-73
2
40
5
-47
12
0
83
7
-54
5
11
-17
30
3
81
83
-97
17
-51
-30
-7
98
-41
-100
-1
-3
-8
-18
-4
-11
19
3
7
32
-61
-6
4
0
32
-56
-39
-91
-75
-9
0
-48
0
52
-70
75
-53
0
-33
0
-81
62
110
-60
-35
78
6
33
-49
-114
-5
-2
0
12
12
-39
30
-31
-8
21
-48
21
-36
-71
7
-18
-2
-16
0
56
-5
-5
3
25
-5
-9
31
-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
4
26
-12
0
-33
-24
60
102
51
0
-1
0
0
-11
0
-1
0
0
-20
0
1
0
-38
0
-35
13
26
47
0
0
-12
0
0
0
-33
0
26
16
34
0
0
0
0
0
0
0
0
0
0
-20
22
4
0
107
0
122
59
80
15
32
94
-42
43
88
29
0
4
30
0
-47
1
-49
11
28
147
32
-6
90
36
0
0
-6
0
-9
0
17
0
0
-10
-12
-32
0
0
-37
0
0
0
36
0
75
94
100
18
54
0
44
-10
0
21
-21
0
-4
47
-6
0
29
-47
45
14
-15
-96
11
4
-65
-4
5
86
-33
0
12
24
-10
-11
-81
-59
0
-2
-7
0
0
27
-26
0
0
10
13
-3
1
36
0
0
8
0
-8
1
36
101
-53
0
0
0
0
10
-122
0
46
8
-22
78
-1
-28
-103
25
-13
20
-23
-5
0
7
-54
-4
0
17
-78
0
0
-62
55
0
44
42
-2
19
29
-1
-7
-20
14
0
5
77
3
-8
-71
-6
0
-2
24
0
-52
0
-7
0
31
-15
-52
-39
0
25
0
0
0
0
-2
2
-27
-47
-1
15
0
0
1
-88
15
-118
3
-16
0
-59
18
0
-38
28
4
0
-3
-52
0
20
6
3
0
41
47
0
-2
14
23
9
27
69
0
18
78
-5
2
0
44
0
0
-25
-5
0
0
19
0
31
0
0
0
0
-55
-12
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
-34
62
0
0
-7
42
-6
4
-6
7
0
0
0
-59
0
-10
0
0
0
-7
23
0
0
0
89
0
0
27
0
0
17
0
0
0
0
0
-17
106
0
0
0
0
0
0
0
0
0
0
0
-67
19
34
0
39
-12
-6
35
-26
2
0
-79
-229
22
11
-33
0
0
-91
-1
130
-29
20
0
0
-40
-15
16
4
167
1
1
-6
0
39
0
-12
0
0
0
70
-68
0
0
13
0
0
10
40
42
44
35
11
35
0
0
-72
-39
4
0
-80
0
0
-32
19
-13
-2
-82
-8
3
-56
-28
-3
0
55
0
0
60
23
0
0
119
19
0
82
-3
0
1
31
45
0
0
-36
0
21
3
-53
-7
0
-27
0
0
-20
-3
24
0
0
-102
66
0
18
0
0
-1
-22
9
0
0
0
-25
6
-10
76
-21
-3
0
26
56
0
0
-56
-7
0
-18
-39
7
14
-52
87
0
-32
-40
-5
0
-75
0
0
-9
-72
-18
0
-97
-29
0
1
-37
0
23
25
0
-17
0
43
0
-2
-12
116
112
0
16
-2
0
0
0
0
0
-10
48
0
0
85
0
-5
-68
1
15
-4
0
-3
-3
-30
0
0
-2
0
0
9
-109
-20
29
124
7
0
23
26
0
9
-10
-26
0
0
-19
-2
-17
13
0
-7
0
-24
0
0
-11
-25
0
0
-7
0
40
82
0
-23
0
-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
-117
42
-42
-8
-28
-89
-35
-49
-5
4
7
1
35
-69
17
-43
9
-6
-93
26
-75
-26
-18
-17
25
2
-2
-48
0
4
-11
0
14
-16
-37
-98
19
69
-4
2
-4
0
0
0
0
0
0
0
0
-108
62
-44
-17
32
30
-50
6
-25
-72
61
-19
-68
39
79
10
-64
-58
84
47
36
-53
75
12
138
-40
14
-113
-33
-50
24
71
37
38
-72
24
-92
-15
10
196
32
-87
-17
16
19
-1
-1
-17
-77
128
22
-3
-107
113
-5
21
-104
-74
79
-49
18
9
6
-45
120
28
-6
43
0
19
45
49
62
68
92
114
36
25
11
-137
65
-25
51
82
49
-32
-41
-7
12
-17
-11
-8
-39
-5
-28
-155
34
-7
-26
-22
35
-3
92
27
-71
-1
18
-13
-12
0
-93
-37
24
-8
55
57
-20
0
-22
-54
-6
44
21
27
52
128
-57
71
96
55
-29
115
-17
-29
4
81
51
22
-1
-78
-36
5
-54
-91
1
-114
-2
41
-40
17
-59
-23
-30
-30
12
8
-3
2
76
-38
80
-28
6
15
-67
-2
-31
-1
0
-9
138
-7
-2
58
34
0
-3
14
-87
-2
-6
-17
-49
-55
92
-89
93
26
18
-51
14
67
152
2
-81
45
-3
21
-87
51
32
51
-1
-4
19
42
-83
-101
-59
-33
-207
-13
-13
-44
-69
-77
43
-49
5
-22
27
20
-3
-33
-3
-27
-11
-74
-57
11
-79
-2
-17
44
-2
26
37
3
0
0
0
0
0
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
9
-2
-5
-6
-23
0
0
0
0
3
-1
-9
0
0
-4
0
-6
0
3
0
44
0
0
57
0
0
34
0
0
0
0
0
-9
49
0
0
0
0
0
0
0
0
0
0
0
9
-5
0
0
104
0
0
-9
10
0
-2
82
-10
36
-63
-21
16
0
26
0
-7
55
10
0
0
24
0
-60
21
-13
0
0
-8
0
-5
0
7
0
0
-1
-14
14
0
0
-49
0
0
-1
-12
0
-26
16
2
1
0
0
2
-31
-5
0
-87
0
0
-21
-30
0
-134
-39
18
0
23
-37
0
0
-105
0
0
30
-50
0
60
118
18
0
-30
-172
0
0
15
0
0
29
-24
-2
34
-82
3
0
-3
12
0
0
0
0
1
0
-6
-23
-11
0
0
0
0
-45
-3
0
0
0
0
5
-7
26
-9
5
0
0
1
-67
0
10
-112
0
0
-57
61
0
0
-39
0
0
71
-3
0
4
20
0
0
4
25
0
0
141
-23
-7
-6
-48
0
0
-34
0
-6
0
32
0
1
-3
0
22
0
30
0
0
0
0
0
0
-60
40
0
10
0
0
0
-49
0
57
19
0
0
14
-50
0
0
-32
0
0
1
18
11
7
22
0
0
-5
29
0
-16
26
7
0
0
5
0
35
-73
0
0
0
41
0
-4
-10
0
0
0
-43
0
-19
-4
0
9
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
83
78
-1
-3
-18
16
7
-87
-97
-7
17
-8
-11
0
-11
-104
96
-9
-4
25
0
0
-19
-16
-2
1
-14
-3
0
-3
3
0
0
2
0
-2
47
29
-2
41
-2
0
0
0
0
0
0
0
0
-50
-72
30
14
64
5
0
-45
-12
-6
-20
-142
-90
-4
40
77
-4
4
22
84
-20
110
12
11
32
9
34
-1
61
30
0
-6
29
20
2
70
-7
-2
-1
-24
-9
-8
-9
-5
22
0
-1
30
1
6
37
28
95
65
19
0
-45
-10
45
30
28
10
-3
12
11
68
10
-3
-78
0
-78
-10
-44
-10
-15
-54
0
22
11
16
35
-37
10
0
39
12
0
33
34
4
6
-14
-1
0
-33
-69
-25
0
-85
-46
-3
-6
43
-10
0
0
40
9
21
-5
-106
0
-8
21
1
14
102
15
0
-124
13
-85
-34
67
13
0
43
24
8
-6
14
-41
0
37
-7
31
33
-26
3
0
-30
7
2
-6
38
70
0
116
15
-20
-12
20
26
0
60
-6
0
-21
85
17
0
35
-39
-4
-51
20
-46
0
0
27
0
-1
-1
-15
0
0
15
-20
-2
102
52
0
5
-21
-2
-4
11
12
0
-63
36
0
26
-56
156
0
40
-12
16
55
114
-16
0
-17
-21
-14
16
-9
33
0
-65
9
-4
-14
68
-7
0
-28
-47
0
66
-14
-2
0
0
27
-9
-15
-140
11
0
0
9
-36
110
1
-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
-120
143
134
174
27
73
-87
59
79
107
-12
-194
-74
-123
11
51
1
5
80
21
-180
0
32
-12
0
0
77
60
-4
67
72
-5
2
-5
1
0
0
0
0
0
0
0
-18
53
12
24
-46
-20
-61
-56
45
-65
49
-41
8
-15
39
-26
22
40
13
65
-44
-167
46
-1
37
-71
-78
-141
86
-31
1
16
-50
103
-164
178
-1
8
-3
-88
-66
-157
25
-17
-39
-1
-1
-4
-97
-3
8
-33
14
-40
-4
-5
37
-12
48
81
-45
-14
13
-101
57
144
-6
-62
27
-124
-17
4
85
-35
-46
-95
45
-49
-7
147
37
-26
-70
-122
33
-6
-167
10
-95
-40
-56
-101
24
-38
6
-70
-53
-165
27
-25
-12
14
-10
-30
-46
-9
11
10
118
-4
-129
-1
-18
4
56
-67
-16
79
11
-102
-8
62
90
-46
7
73
43
30
35
-75
-69
69
-167
-82
-12
110
52
17
-35
-53
-23
8
32
23
8
-125
-124
-97
-47
95
71
0
6
-41
143
-5
-6
74
14
-23
-118
-53
10
41
-5
14
-21
-106
0
12
-46
8
14
-24
-11
28
-21
38
-102
23
-59
5
65
-4
-1
-14
-70
-1
-13
-66
53
-15
-88
7
-33
-10
1
-10
-35
-20
14
-40
44
-60
15
-7
24
5
-40
3
40
-26
34
1
30
33
94
-1
-27
58
-2
-51
-8
0
31
11
-10
-51
-161
24
-48
-1
-8
-71
8
37
-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
-144
65
-48
-4
-10
20
-66
133
52
62
12
-3
-25
-46
0
63
17
-49
-3
-3
-310
0
0
-12
0
0
34
6
-5
-14
6
-3
24
1
-5
0
0
0
0
0
0
0
-46
-72
-35
33
-51
-91
-26
11
-9
-7
141
70
-15
38
33
0
29
-79
35
67
1
-20
33
10
-10
-35
-50
-148
22
21
0
-2
-71
-14
-250
-21
5
0
-1
-12
-141
-187
-1
-7
21
0
-1
1
-16
-4
17
25
-9
-21
23
0
-33
-12
-11
164
2
24
32
5
28
-56
1
-29
18
-45
20
16
10
20
-5
19
-8
34
0
-41
11
-68
-33
-7
-25
-31
-1
-43
-79
53
3
-116
-15
0
-62
-42
26
-32
-40
-22
-1
-5
-23
-13
-106
0
38
-108
-15
-1
-45
-50
-3
15
-7
63
170
17
-2
29
-19
49
-76
6
-65
-12
14
32
1
6
58
-17
-49
30
13
-29
57
-32
10
106
1
0
-78
35
19
-38
13
77
-32
86
-64
-36
-6
-167
134
-19
-10
21
-113
42
-154
19
-8
-2
-22
-124
-51
-97
-2
43
-138
-12
29
37
-43
0
16
-42
74
-84
20
0
-37
-30
-68
-35
19
-18
-8
-16
37
14
-61
30
32
3
-58
12
59
-7
9
-60
-37
-54
0
-13
9
-37
57
45
-51
-23
10
-29
-24
-192
-25
2
-27
30
72
-57
25
-15
-2
6
0
-11
92
-3
-29
11
-23
33
-7
-3
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
28
-61
-6
0
-11
0
-34
113
-83
0
0
0
-11
-22
0
1
0
8
0
0
12
0
0
28
0
0
37
-15
0
-69
65
-4
-5
0
-2
0
0
0
0
0
0
0
-48
0
0
15
-20
0
-31
72
-77
0
12
59
130
81
39
-77
0
12
-44
-3
71
-4
14
-3
0
-5
11
-32
13
43
0
0
68
1
14
0
-15
0
12
20
26
5
0
-19
37
0
0
0
32
0
14
94
35
-41
-12
0
-54
29
0
34
-30
0
0
-65
54
0
14
16
129
4
-92
-58
11
17
-14
0
-14
-43
-88
0
12
-17
22
0
15
13
-8
-6
-34
0
-9
66
-19
0
-109
-1
-107
4
-23
-24
0
0
11
39
3
0
5
85
-5
0
0
160
0
16
65
-7
12
-2
11
2
59
-8
49
-27
34
-1
39
47
0
49
110
7
-1
25
-26
25
-41
-51
9
-54
-14
-82
-6
-32
-31
-1
100
-76
-41
0
-92
-39
-40
-15
-4
-25
-3
10
-26
5
-39
-5
-17
16
-7
17
74
94
3
-24
0
22
0
4
9
0
-56
6
-3
0
-3
-1
15
-28
-5
-47
27
7
-3
24
61
-2
3
-42
22
15
114
-13
-16
-92
189
3
-17
60
7
0
-106
-183
-22
31
11
16
0
-4
-6
0
-6
-1
-27
0
-57
3
42
31
0
-5
9
-154
8
-12
-33
0
37
-65
-8
-2
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
-12
32
0
0
3
3
-6
0
55
0
0
-1
-3
-17
0
8
0
81
0
0
-43
0
0
-29
0
0
0
22
0
9
-98
0
1
0
0
0
0
0
0
0
0
0
-30
-29
0
0
-36
2
65
-9
-39
-2
68
57
42
24
76
-1
-9
20
-113
0
113
53
10
-13
0
37
57
-140
-25
-42
0
0
-4
0
15
0
32
0
0
-5
14
-25
0
0
-58
0
0
0
60
0
1
26
-12
-23
-12
0
-215
-4
0
0
-94
0
0
0
-42
8
62
30
-62
-4
-98
-11
20
0
-1
23
4
-174
-17
0
0
25
-35
0
85
-10
1
0
32
0
-6
5
24
0
-81
27
-115
0
0
-46
0
0
0
0
-7
0
-75
-206
-63
-3
9
-5
0
64
46
-1
5
0
0
71
-29
-18
9
-66
4
0
-36
-31
-3
-132
-43
0
-17
-25
47
-1
9
-46
-40
6
-5
9
0
5
-79
34
3
-13
6
0
0
27
160
-5
-3
-42
31
2
19
0
0
24
8
0
0
15
-19
3
0
-32
49
0
0
0
0
0
-74
80
0
0
-4
0
0
-15
0
27
17
6
0
55
37
22
14
54
9
0
-7
14
-18
8
112
0
3
-6
17
0
-3
11
34
0
34
-11
2
-12
-34
-3
-26
0
-15
0
-13
33
88
55
0
8
0
19
-3
0
15
0
18
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
-208
129
0
-2
-1
-6
-60
-9
134
0
-2
-21
-55
69
-2
-12
77
-12
0
0
-3
0
0
5
0
0
21
-39
0
14
5
-4
6
-2
0
0
0
0
0
0
0
0
-50
96
0
-38
46
-8
9
-46
-33
21
-16
-13
6
41
13
60
18
42
-81
-16
-40
7
66
0
29
6
-65
-51
-154
9
0
-4
63
-3
-205
26
-44
0
0
4
-90
-77
0
8
-18
0
0
-4
-22
0
-6
-29
49
-113
10
0
28
-14
33
50
42
33
-10
-39
-7
-10
13
-23
-136
-13
-32
-28
84
-8
-5
84
-9
46
75
47
-14
71
109
2
-1
13
0
8
-214
-17
74
-35
36
0
-16
12
-110
-4
60
10
-8
-5
-1
0
-93
0
-54
37
103
0
59
-19
-7
50
1
0
15
-7
0
-110
6
10
22
13
35
140
25
24
13
-9
13
8
25
-45
-54
36
-84
47
-102
-54
-69
24
15
19
-211
-94
65
82
15
0
51
71
-33
-75
41
-8
0
2
-5
7
16
5
-28
22
-21
-7
-122
-56
-1
-79
24
-29
0
-7
79
0
69
82
29
-14
-7
0
-23
-62
35
-70
-45
0
0
49
24
5
85
32
-9
0
1
-21
5
16
18
77
-3
46
-6
19
-15
-100
-97
-9
17
-47
0
8
-9
20
0
35
-48
0
-47
-26
-55
-47
-1
-5
0
18
-4
0
0
0
5
-42
-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
-22
-93
62
-4
20
-5
-2
-77
54
14
62
-8
0
39
0
36
26
11
0
0
-23
0
-4
3
0
0
0
7
-3
5
-16
21
40
0
0
0
0
0
0
0
0
0
-37
-39
-36
0
16
-1
-46
-83
-14
-11
98
4
-10
24
11
-56
-1
36
48
-13
-15
-112
-4
0
-9
-2
0
79
-110
-53
5
-5
12
1
7
4
-25
-3
-1
-38
0
22
-3
23
41
0
0
-1
10
1
15
-68
-85
-56
0
0
37
18
-11
7
61
0
0
-67
-40
44
-47
-8
-19
26
-9
-17
54
74
10
-2
-13
3
-7
-26
-29
30
4
-55
26
-20
74
27
40
110
-10
-14
-86
0
-51
-15
-13
1
123
25
-7
1
41
0
31
-3
-1
40
17
-2
-1
12
20
0
-32
28
53
0
-4
19
29
67
-131
-39
-4
-13
-14
12
2
-74
33
3
-35
4
23
70
-25
51
-53
72
30
-15
-32
-81
48
1
-35
16
24
25
75
53
-3
-1
27
42
11
9
38
10
1
-9
7
6
25
-24
68
31
0
1
31
55
-1
-13
43
0
-6
23
22
-53
0
0
65
46
-59
-40
24
0
-70
44
-3
-34
2
-12
26
13
-2
31
-62
-34
50
-10
6
50
-47
-19
-89
7
-79
-89
-30
46
-10
-6
16
35
42
-2
20
6
62
32
-39
0
-95
-1
0
-29
-133
-12
-33
0
-9
-35
30
27
0
-19
0
0
0
0
0
0
0
0
0
0
0
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
46
-126
-2
85
12
0
34
-98
140
95
-29
-26
0
21
-15
-10
13
-5
11
-2
0
-42
-26
-1
-2
65
0
28
-2
11
-9
-77
30
0
0
0
0
0
0
0
0
7
1
0
17
-56
64
-3
-23
-62
26
-58
-47
-4
22
-16
23
40
-3
-71
-50
-21
20
18
11
35
-25
4
-4
67
21
58
13
-48
59
33
75
27
-6
-4
-67
-8
13
-8
-22
-2
-1
0
-129
74
15
-14
-28
21
-55
3
0
22
19
-56
2
-13
47
0
22
60
28
65
-4
-23
0
-37
-28
72
22
-5
-87
-6
-35
-32
62
-78
-20
-14
-3
61
-10
28
145
-9
93
0
64
43
-9
-5
23
-38
0
58
8
62
-5
48
-64
0
18
17
-50
-23
-9
2
0
-6
-2
-82
-16
-15
-8
0
60
31
5
94
0
-8
0
61
55
52
-25
13
-56
-3
50
-14
129
29
1
-38
2
1
-25
-31
-25
-27
33
0
70
-4
3
97
22
35
-6
165
5
-11
9
76
37
-10
-58
3
42
-16
-34
-7
4
-1
15
-8
46
40
49
0
-4
-13
-2
-43
39
-29
0
-6
-11
-14
13
-20
24
0
-65
21
36
-85
-10
61
0
16
6
13
-32
4
10
10
72
3
37
-118
11
43
0
124
8
-50
-34
86
-73
10
97
-24
-5
-43
48
-6
-2
15
47
0
-29
14
-42
0
-3
4
-22
-52
-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
-43
70
12
-5
10
-10
-15
-6
17
71
-6
105
1
24
0
13
-7
0
-2
0
1
0
52
-18
4
16
-31
-10
0
0
0
0
0
0
0
8
-48
2
49
-20
33
-49
-29
-58
-32
-6
-36
-32
-51
-105
-38
48
-9
-143
-104
-81
-51
14
17
33
57
11
-8
2
1
-56
19
-18
55
-4
2
16
0
-1
70
2
-36
1
43
-104
0
-1
-15
-142
-1
-5
-31
-32
-42
-89
6
27
-1
7
15
11
-18
-28
9
7
56
11
-41
-33
55
-55
-16
79
-4
24
66
-107
-109
0
53
-2
6
-20
-130
-131
-13
-13
46
29
-6
-48
-3
20
-38
0
42
-9
-15
5
-24
20
23
127
-69
24
11
16
-53
-44
0
49
-7
0
19
28
56
15
14
31
-143
-25
9
-34
-77
-45
-37
60
-4
14
-44
-1
-73
68
74
-9
101
-18
-3
-28
-65
-35
1
-49
58
40
24
-64
81
-22
-6
-45
32
-14
-61
-48
-11
-11
70
14
-135
-29
0
-7
-14
10
30
-1
-18
0
-3
-20
-7
-6
6
10
0
8
-28
19
35
-7
-4
94
-30
33
27
-32
-124
-72
61
-13
30
-18
-16
6
-70
-37
23
-4
-18
32
-19
114
94
-13
-35
-177
18
-11
-97
-76
-1
-10
16
49
2
-102
122
-11
21
-11
62
-47
-43
2
6
-28
-36
-108
36
1
0
-21
-11
-8
8
-36
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
25
23
-9
-5
6
36
-71
-46
-124
9
-35
42
-10
-163
0
-4
-36
-1
-2
-4
-4
-2
10
24
-3
3
-3
-1
0
0
0
0
0
0
0
-75
10
-14
28
-45
33
-45
-32
18
50
9
3
-11
-120
-15
-60
6
-5
59
55
16
94
0
85
-35
116
174
8
-78
-60
-4
-5
-45
2
-154
-11
35
-2
-4
-6
-131
-160
-12
67
25
0
-3
-13
-55
-10
47
64
68
-13
-11
0
-90
19
6
33
1
3
3
7
-9
-18
-39
-18
12
-9
-33
-10
16
43
-29
120
-39
1
-51
-71
104
-62
87
72
55
0
14
-6
-36
96
-136
21
9
-17
-65
-92
-47
-56
4
-19
-7
-9
-8
74
-110
-4
25
74
-13
11
-46
-17
27
40
90
31
-67
0
2
-89
0
-25
55
21
-153
3
-32
28
40
-10
-27
-52
-44
20
-4
29
84
-3
-96
23
-48
-4
23
-61
30
160
8
19
0
1
-21
-57
6
41
-53
7
-12
-55
-45
87
-92
-14
-21
15
2
-41
-119
16
31
-11
13
-42
-4
125
-34
-3
30
-50
2
-3
-3
9
22
62
108
28
-35
15
8
11
45
-100
-52
-33
-29
-4
-64
-39
-35
3
35
-4
36
15
-53
9
-80
-20
137
45
72
0
1
-35
-2
57
7
11
12
-17
33
-14
-109
3
7
-27
0
-72
-38
52
60
-11
-17
-61
-47
-4
-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
6
88
0
0
0
0
9
0
0
-1
-2
0
0
-31
0
0
-12
0
0
0
10
0
-54
-21
0
0
0
0
0
0
0
0
0
0
0
-86
7
0
-4
26
-19
-6
41
11
0
-14
-58
54
113
-5
-34
9
0
75
-5
4
141
-38
0
13
-7
-10
-99
13
-2
0
-8
17
0
84
3
-25
0
0
12
28
79
8
38
-95
0
0
0
55
0
52
46
74
35
0
0
-62
27
0
0
72
0
0
3
41
-16
-25
-26
86
0
-29
26
7
119
36
-14
0
-72
-48
-2
3
-9
-40
172
-42
-264
0
20
-87
0
-25
0
89
0
-18
-4
27
60
0
-2
0
0
61
-18
12
0
-10
-60
2
0
31
7
0
-24
84
0
9
0
0
3
12
42
142
-92
0
0
138
35
0
25
-12
0
-10
134
68
0
0
19
52
0
-40
-17
0
-6
-130
0
-15
-6
-143
0
45
-23
-18
0
0
-17
0
13
-49
1
-3
0
23
0
20
-4
137
-86
0
41
0
0
0
-1
36
0
-45
-25
0
-2
0
0
0
14
-9
-47
72
0
0
19
-1
0
103
123
0
0
40
13
0
-24
-46
0
0
0
-30
-6
59
21
-19
0
0
-48
0
14
37
0
0
-10
32
0
-11
1
6
0
0
16
0
-28
13
-1
0
0
16
83
6
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
46
0
0
0
-5
-1
0
5
0
-172
0
0
25
0
0
-27
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
45
-7
0
0
86
0
-4
91
-24
0
-9
-63
-109
18
-107
-33
0
0
42
13
-5
106
11
0
0
-18
13
-39
33
-8
0
0
29
0
48
0
38
0
0
0
-2
95
0
0
-36
0
0
0
-6
0
-40
49
-27
3
0
0
69
16
0
0
-100
0
0
86
83
0
-9
-23
-24
0
-163
7
0
-3
-9
18
35
-11
-81
0
0
16
-9
-2
38
-44
0
-1
18
0
12
-1
-79
0
57
-21
-10
-55
0
-24
0
0
0
-2
1
0
-140
73
-6
0
-2
0
0
8
-2
0
9
0
0
1
48
-39
0
-24
-2
0
-27
13
0
0
-77
0
0
-13
38
41
0
-30
-6
0
9
-39
0
0
66
0
-5
-29
-36
0
0
-88
41
7
-1
-15
0
0
10
-2
94
0
-21
0
0
0
-16
-2
0
-35
0
0
0
4
3
0
59
3
0
0
0
0
0
-43
0
-11
74
0
0
-1
-95
0
5
66
0
0
-2
-144
-12
18
-23
-7
0
0
-16
0
21
-36
-1
0
0
-48
0
-8
-2
0
-2
-13
-112
0
0
-6
-12
0
0
-35
0
14
-7
-9
-22
0
-59
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
-60
51
0
-1
0
26
2
0
-14
0
15
0
0
-95
0
0
-55
0
0
0
-4
0
-72
64
0
0
0
0
0
0
0
0
0
0
0
70
-12
3
-1
-105
0
7
17
-2
10
-2
113
-23
4
-66
6
0
0
-56
0
-14
9
-59
4
0
9
22
-17
-28
-53
0
0
63
46
100
-4
25
0
0
0
86
-65
0
0
-105
0
0
0
-36
0
52
-79
-37
-1
2
0
-74
-43
2
-2
-82
0
0
-36
-17
38
55
-149
-131
54
-38
-47
-21
-4
-96
5
-16
-24
-32
0
0
-62
-114
4
100
-19
0
0
128
1
65
9
103
0
-57
2
34
4
14
-99
0
17
23
0
-36
0
11
4
7
0
-15
6
0
88
10
0
-6
0
0
-11
-14
-37
15
-110
3
4
40
-59
31
114
-67
67
0
-31
-11
-6
17
-129
29
-5
-116
12
0
0
-24
-6
-12
-139
-86
10
11
43
-76
-15
-8
-37
0
0
20
3
66
0
49
14
33
-1
94
-49
0
-11
-2
7
0
0
-20
0
58
-4
14
0
0
0
0
15
0
112
-10
-2
0
-3
-107
0
-20
-20
2
43
-27
-37
0
116
15
0
-2
-50
27
-15
16
-6
-23
-22
61
39
0
-32
-7
0
-21
18
-18
0
0
-1
-55
3
0
-47
0
-54
1
-1
30
0
71
-8
-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
-12
14
0
0
-3
-11
-3
0
1
0
-15
0
0
-4
0
0
61
0
0
0
0
0
18
-20
0
0
0
0
0
0
0
0
0
0
0
-105
0
0
0
-113
0
38
-17
76
0
0
13
-3
-14
27
-3
0
0
38
0
2
-53
-1
0
0
147
0
64
134
-22
0
0
-16
0
-19
0
5
0
0
-5
0
-34
0
0
5
0
0
0
-33
0
56
17
19
-8
0
0
31
-38
0
0
-76
0
0
-38
-53
-2
-28
-33
-2
0
-27
-100
0
0
-12
0
0
-41
47
0
0
-142
17
-1
114
-26
0
0
13
0
-3
5
-68
0
-33
1
8
-8
8
-55
0
0
33
0
-3
0
-28
40
-5
0
0
-22
0
-4
0
0
0
0
0
-25
-45
-11
0
67
0
0
-33
-43
0
0
-16
0
0
-62
-22
0
0
34
0
0
-58
-16
19
-2
-157
0
-1
-11
-12
0
0
-67
-8
-60
-16
-8
0
0
-13
0
27
0
29
0
0
49
14
-28
0
-48
0
0
0
0
0
0
28
3
0
-2
0
0
0
53
0
-60
-2
0
0
6
10
0
0
20
0
0
42
-31
0
-10
-37
0
0
6
79
0
0
1
0
0
0
6
0
2
-6
0
-2
0
59
0
0
-5
0
0
0
-15
0
-14
0
0
-1
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
133
-104
29
-4
-33
-47
0
-3
25
49
3
6
-35
23
0
-15
6
-1
0
17
0
0
-13
5
201
22
2
0
0
0
0
0
0
0
0
-1
50
-17
41
-24
-10
0
18
-61
11
46
-25
-14
2
-22
-5
10
-19
17
-26
-14
43
-77
25
-2
3
39
17
36
15
-23
40
-28
6
-2
62
3
18
-8
-47
-19
32
-5
45
30
-1
-1
-35
-5
-38
-12
11
30
-38
34
0
28
-8
18
-38
0
-10
0
30
19
12
29
-6
-57
0
-14
1
0
81
1
-33
0
-28
-37
-63
-20
-38
-6
0
-7
-133
29
-66
-5
-115
1
-15
28
10
-18
-15
49
0
-22
18
-5
130
82
60
-18
-13
14
-17
-55
-9
31
0
-1
-3
20
-40
1
0
0
-7
3
25
31
-4
-38
0
51
41
-13
-122
3
-32
0
16
-2
20
68
-8
70
0
21
-12
-18
-2
-7
1
3
33
-18
-29
-59
-15
41
6
117
13
41
-4
69
11
-11
59
19
1
173
73
41
0
-1
27
0
15
-98
-29
0
0
-8
-51
2
20
64
0
-41
14
1
-3
-62
-10
0
94
22
1
70
-34
-67
0
-3
7
-23
20
-51
43
4
43
9
-20
48
-2
-35
0
68
-24
20
-51
51
15
0
197
1
66
51
75
33
-2
18
33
2
-9
48
26
0
0
28
-6
-11
-17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
14
0
0
0
-66
0
0
-26
0
0
0
-11
0
-57
-135
-8
0
0
0
0
0
0
0
0
0
0
-30
-6
-1
-5
-13
-1
-43
-32
-40
12
-2
7
-174
-95
61
42
9
0
74
39
-45
40
-54
34
49
-1
25
-88
30
125
0
0
-18
82
23
0
-6
-6
2
-114
-22
-145
0
0
-114
0
0
0
22
0
-6
47
48
-33
0
0
60
42
0
0
-32
0
-16
37
1
-6
51
35
-86
0
72
-4
0
0
3
-2
-22
-36
55
0
66
-51
-42
15
-64
-19
0
-12
52
32
-10
0
-53
0
26
-23
-31
66
0
-112
50
0
-55
-1
-9
0
-31
54
-113
0
-85
0
0
21
35
0
1
0
0
12
-39
-81
-21
-85
32
-10
5
-30
0
-19
-13
2
11
-71
36
2
-4
-26
-30
-8
-16
66
-10
-32
-67
1
-181
-1
-23
0
0
-128
-74
-5
43
-91
0
-4
-29
-6
-61
1
-99
-1
0
-17
-38
-22
0
-20
-34
-5
-2
-83
-4
0
38
-37
18
0
20
0
0
4
2
-2
5
0
0
0
-45
0
43
-184
-14
-3
0
4
3
-12
58
2
6
-2
26
1
65
61
-10
-21
12
-6
12
-72
-113
-28
78
0
8
0
83
-7
-99
-10
0
-129
0
-27
-3
-13
35
0
-107
17
0
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
0
0
0
0
0
0
0
0
0
0
0
-2
12
11
-4
-5
-1
-133
0
1
-63
0
0
-4
-2
-1
14
42
8
19
0
0
0
0
0
0
0
0
0
-36
-90
-1
-4
-10
-20
-6
-39
47
-19
-50
10
-72
-119
52
16
45
27
54
32
-148
95
-18
1
174
44
-10
-167
58
0
36
-19
161
-33
37
-60
3
16
-1
21
31
-155
6
55
20
-1
-1
-1
-63
-3
-15
-39
-25
-10
-6
0
-121
20
6
-45
-30
0
38
-32
11
-13
18
-41
-45
-6
-60
3
-11
3
-23
52
20
-2
8
-25
-51
-18
16
-94
-8
-21
-15
19
-28
-21
-151
-19
0
19
6
-36
39
-71
37
-66
44
-42
-36
58
-84
0
-44
-31
-20
6
26
18
9
-7
37
-3
-47
0
0
-29
11
55
-7
37
-21
-15
-118
12
-19
-98
-34
-15
7
-81
-12
38
85
-38
10
6
-5
16
0
-31
-30
-105
-91
23
-38
33
-60
25
19
-47
-157
0
-17
-9
-66
-3
-19
6
-14
31
-101
-53
40
-183
3
-30
66
-10
-1
0
-3
-2
29
-100
44
21
28
12
-53
-2
14
-4
59
-3
-4
-74
8
-35
-141
3
-131
9
135
38
58
-11
26
37
10
-70
27
3
-88
-35
72
-26
-77
23
-11
-107
-97
82
-4
-46
0
-9
-8
-2
-137
52
-24
7
0
-19
22
105
-5
-11
-48
-49
-2
-10
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
6
0
0
49
0
0
-3
0
0
0
-9
0
34
20
0
0
0
0
0
0
0
0
0
0
0
-104
45
0
10
-92
0
0
-27
-18
4
0
-3
8
-80
30
28
0
0
130
0
33
-22
-25
0
0
51
40
-60
100
56
0
0
30
0
53
-13
-11
0
0
0
0
60
0
-5
-14
0
0
0
38
0
62
-75
-9
7
0
0
36
4
0
0
-182
0
0
-79
46
0
1
55
-15
0
-65
-40
1
-6
-8
2
41
92
5
0
3
91
12
0
24
60
0
4
-1
0
-12
17
-130
0
-108
-45
24
53
0
78
0
0
-6
0
15
0
-33
2
55
0
0
68
0
97
27
0
-6
0
0
-8
-107
0
14
-9
-2
0
-20
76
0
-1
17
0
-1
-31
14
0
-3
66
53
2
25
-16
0
-8
-3
0
0
18
-39
0
63
-26
20
1
8
-196
0
-7
-31
0
-22
1
-61
0
1
12
-6
-6
5
11
0
2
0
0
-8
0
7
25
0
0
-7
0
0
62
0
9
33
0
0
0
55
0
-23
-8
0
0
-13
3
0
-13
4
0
0
-7
-37
0
38
-18
0
2
3
-80
0
47
0
-17
14
5
-37
0
-29
-1
23
-16
0
-20
0
-118
-14
0
0
0
24
-29
-12
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
48
0
0
26
0
0
-21
0
0
-2
0
0
-7
38
0
0
0
0
0
0
0
0
0
0
0
-46
-2
43
0
-81
0
-5
-69
-18
-8
0
48
67
-53
-72
159
0
0
-118
0
1
0
-8
0
0
-32
-23
80
-32
-34
0
0
-10
0
-8
14
-5
0
0
0
84
8
0
9
-12
0
0
0
66
0
30
-3
-2
-8
0
0
-48
-29
0
0
-63
0
0
-17
-83
22
-52
8
70
0
74
-11
0
0
62
0
11
117
-78
0
0
10
107
0
15
-35
0
0
-61
52
1
19
-147
0
20
-11
-63
10
-12
-42
0
0
0
0
-16
0
-52
-116
55
0
-3
0
0
-68
2
0
19
0
0
-1
-15
-4
0
-44
-6
0
-114
-8
0
0
73
0
0
-66
37
0
-3
16
-13
0
49
2
0
0
9
0
-1
-25
-2
0
0
-21
-48
-2
-2
-73
0
-4
-9
0
-119
0
47
0
0
-10
-6
-6
0
-112
-6
0
0
0
-1
59
3
-23
0
0
0
0
0
-11
0
79
-7
0
0
-4
21
0
-19
-2
0
2
53
-3
0
-5
33
0
0
1
-41
0
0
-36
19
0
0
147
0
-10
12
0
-2
0
10
0
0
-47
-37
-25
0
-110
0
-59
-2
0
-2
0
-69
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-75
0
0
5
0
0
0
-1
0
81
-56
0
-1
-1
0
0
0
0
0
0
0
0
5
27
0
51
1
-3
-53
-32
85
-2
-1
-117
-42
-135
-37
20
0
0
33
-24
-3
-64
-44
0
0
83
52
-21
19
-101
0
0
92
-44
7
28
38
-2
55
-28
-7
111
0
0
-213
0
0
77
2
0
-70
-26
-84
18
-3
0
-42
52
11
5
26
25
1
-7
-5
1
107
-3
25
0
-19
7
0
0
34
75
-42
30
-28
0
0
-73
-85
-46
-3
10
6
0
59
73
12
-38
-67
0
-18
67
-28
-83
32
-2
0
-5
0
11
91
0
-7
-169
-44
0
-141
3
0
-10
62
0
0
0
-1
-13
-2
85
69
-95
-2
-20
125
-58
-4
-1
-65
-57
-31
115
-6
78
10
70
57
-35
-39
-51
0
-5
-27
17
-43
106
26
-13
10
-29
-59
-55
11
-55
0
4
-27
6
25
38
-58
-1
-2
1
-35
-100
0
-4
-18
7
0
12
-27
0
33
53
7
0
-19
0
12
-83
0
-37
-53
-11
-7
2
-15
0
8
-20
-13
-10
57
-33
10
10
71
12
-1
13
23
5
50
7
-99
-102
67
37
0
-88
18
-5
-84
-31
9
0
-9
3
-106
-53
-4
-71
0
-32
0
-6
75
0
32
-8
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
-6
0
-18
-39
0
12
0
0
21
0
0
0
0
0
-39
46
-2
23
0
0
0
0
0
0
0
0
0
-32
-13
4
-10
-35
0
80
-77
-80
34
-9
11
-9
15
-48
44
0
-6
-3
9
19
-101
-24
0
0
-42
12
-7
-74
17
12
0
2
40
63
-10
-40
0
-1
61
0
8
0
-18
24
0
-1
0
-8
17
-19
12
43
79
0
0
-35
-9
9
14
-10
0
0
41
-34
9
39
5
-5
-2
-8
-43
0
26
-9
0
93
34
-44
0
-7
29
-5
6
-58
-33
0
-2
18
14
10
95
-64
-5
46
-79
-13
-33
85
11
0
1
-4
-4
-43
8
-21
-23
-112
0
-16
17
-5
-26
104
0
-2
0
-32
26
-10
70
40
40
0
65
1
-25
6
-86
53
0
55
-10
-56
0
-64
-38
-6
101
-10
47
0
-14
-20
-3
48
47
17
4
-12
16
-9
93
123
-29
12
61
54
14
48
-4
6
0
0
-29
-5
19
0
80
113
0
0
0
27
0
-45
83
11
30
0
0
-124
-9
-10
74
-19
0
0
139
-35
0
4
58
-2
-4
-44
33
0
16
145
2
37
86
43
0
-84
-89
-25
-56
159
41
-8
9
-9
0
53
-35
-54
0
17
10
-4
58
-14
21
0
-6
-43
-7
-9
0
90
10
23
-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
-4
35
-50
-27
-1
-8
-1
0
-15
-23
0
10
47
0
-16
43
46
-23
19
0
0
0
0
0
0
0
0
0
-27
7
-17
-12
-25
-7
0
-4
15
2
-23
-80
-4
29
4
-60
12
31
-13
-8
5
101
-61
62
-8
37
29
-6
66
-125
27
-5
28
-5
-6
40
-84
-2
-10
15
68
-1
-8
-9
17
7
-1
17
-4
-35
-21
42
108
-25
4
0
-36
9
94
-16
-13
2
0
55
17
53
56
-32
20
0
18
16
-11
83
1
-81
0
11
-31
0
-7
-50
-45
0
77
9
-16
1
-35
10
0
48
-24
-7
-107
11
35
0
-52
27
29
-31
173
78
0
0
9
-29
47
9
7
0
27
-12
70
52
86
24
0
-37
34
24
-11
8
20
4
35
20
32
58
-25
-11
0
-10
30
29
78
26
31
0
21
-20
-4
81
24
5
0
71
11
-22
28
50
-15
0
-42
-21
49
-27
-6
2
0
101
10
10
34
101
15
2
0
39
65
68
-1
35
0
5
-14
11
-1
-3
-29
0
-63
-5
34
-10
-35
15
0
75
16
55
-80
-83
58
-5
129
22
22
14
38
13
-10
11
28
77
145
63
34
0
86
0
57
14
77
-79
-4
25
3
-11
-109
-17
38
0
61
24
9
12
-14
24
0
28
9
-47
4
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
16
0
0
0
0
0
2
-39
0
0
0
0
0
0
0
0
0
0
0
-97
0
-8
0
-15
0
2
151
8
10
0
18
-11
0
-7
-10
0
0
70
0
0
2
4
0
5
52
102
4
-54
-7
0
0
40
3
2
-2
45
0
0
7
-3
1
0
0
-21
0
0
0
-1
0
7
6
-1
0
0
0
31
47
0
0
-20
0
1
-15
96
-8
-145
-45
-1
-1
20
26
0
0
29
0
0
8
-53
0
0
3
17
0
0
-22
0
0
11
8
16
-16
-18
0
7
-1
-13
18
0
-71
0
0
8
0
-3
0
-107
20
-2
0
0
0
0
-109
8
0
0
0
0
0
-20
4
0
-27
0
0
2
61
0
0
-4
0
-1
1
-28
1
0
9
-28
0
1
59
4
0
18
-10
0
22
128
0
0
-3
-10
0
0
-14
0
0
-9
0
-5
2
84
0
0
36
28
3
0
-54
0
0
0
5
0
0
-215
0
0
0
0
0
0
7
-28
26
-4
0
0
0
-59
23
0
0
0
0
0
-59
0
-8
-17
0
0
0
71
0
0
86
0
0
7
-140
0
225
0
0
0
0
28
0
1
0
19
0
0
-103
0
-14
0
0
0
0
-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
0
0
0
0
0
0
0
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
0
0
0
-18
0
71
-16
-1
1
0
0
0
0
0
0
0
0
0
-49
-2
32
0
-40
0
3
-69
-50
-6
34
48
6
-62
-23
9
22
0
-85
-12
-19
-9
-15
0
16
24
75
-14
-106
-109
0
29
-44
9
70
45
0
21
0
151
61
-38
5
-6
-168
0
0
-4
69
0
11
13
-68
23
-2
0
32
42
26
-1
29
0
0
-60
-12
23
42
-14
-35
0
-122
-3
0
8
-58
-59
11
86
-18
29
-10
-26
23
-13
-25
-110
-13
0
-5
16
-4
42
-68
2
-36
38
-30
32
20
0
49
-1
10
41
28
0
-49
-46
22
-2
-88
-1
6
-25
53
-8
22
0
10
67
39
-47
3
7
-16
7
5
-19
-16
-33
10
22
9
-7
51
38
-54
-69
82
-12
-49
18
13
-17
-57
-38
18
-29
9
19
-14
98
-60
-2
-19
2
-3
-5
-52
25
-26
5
0
0
-7
-105
25
3
0
-19
22
0
-11
1
0
0
-74
-38
-64
-8
-1
0
1
1
-9
-71
154
0
8
-38
-59
53
-31
-130
-16
-2
-1
-34
-7
-47
-38
32
11
24
26
2
41
17
53
-43
-10
75
-1
21
40
54
-34
0
55
0
12
-41
-51
-1
0
0
0
-62
17
0
50
0
-22
20
0
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
9
0
55
0
0
0
-5
0
92
2
0
0
0
0
0
0
0
0
0
0
0
22
-1
0
-2
-101
-22
6
65
-9
0
-2
-37
-21
10
26
10
0
37
9
0
-8
13
-14
0
5
-13
23
119
239
-31
0
5
59
0
22
0
-7
7
0
0
0
54
0
1
72
0
0
0
49
0
-37
3
-8
114
0
0
-37
85
0
7
-156
0
0
76
-51
-7
-60
-11
1
0
15
-30
0
-8
-89
0
-33
-49
-23
0
0
45
66
18
-64
-55
0
0
20
1
26
86
60
0
23
27
12
0
0
-120
-2
0
0
0
-10
0
-109
-27
-11
0
0
22
0
20
-14
0
-6
0
0
-35
13
0
0
16
0
0
-27
60
0
0
-47
0
31
11
-3
0
60
63
-16
-10
55
-68
0
-7
-45
-3
-2
0
-70
0
2
-34
-47
-6
20
-20
0
4
-10
0
8
0
-120
0
5
-31
-17
30
0
-26
-10
0
0
0
7
0
-36
-10
0
15
0
0
0
-18
0
-6
1
0
11
-9
-51
0
0
2
0
-18
-4
72
0
0
9
0
31
3
29
0
27
-7
-2
-2
-4
-135
0
126
-22
0
0
2
-168
0
-1
4
-38
0
12
-131
0
83
-13
0
21
0
-136
15
24
32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-134
-12
-47
-19
-86
-68
24
-8
2
-85
11
-95
30
0
0
0
0
0
0
0
-6
-20
50
75
-13
63
-5
1
-52
-40
-58
6
28
24
-19
39
-61
20
31
24
40
-37
7
36
34
12
32
53
-17
-111
-130
-54
39
79
-5
54
10
21
-58
11
17
11
28
-51
-53
-54
-57
-43
0
25
-15
-3
-69
-23
-32
-15
36
-11
-16
-10
-1
50
126
-6
-19
-19
3
17
17
-62
4
-23
18
-82
-21
-24
-16
4
-12
56
-52
9
-9
15
12
13
-7
-27
24
9
38
5
17
-36
-152
-6
0
-8
-47
-10
98
22
60
3
-12
-59
7
-9
-86
-74
-15
24
-107
-10
-14
-117
6
79
-64
-20
-18
-18
-31
7
-22
17
-3
-35
-49
-70
-12
38
42
-21
-4
-14
-7
-1
34
-39
3
6
-36
-15
10
-53
-11
3
-11
-122
-27
-17
-5
5
24
9
-40
10
-6
49
19
-61
-15
-24
-37
-40
-4
-13
30
18
-60
-30
-96
-23
13
-129
24
46
-50
-118
19
49
-3
-43
-41
-1
24
54
18
13
3
-41
-4
-2
-13
-9
-8
-13
-52
-12
2
-103
-19
-26
-1
-32
-4
-9
-37
-6
32
6
58
-2
-42
18
17
-16
-8
19
-66
-6
-12
7
-45
-2
-1
-20
-25
-98
-7
-10
9
-41
-29
-56
-35
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-5
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
-17
0
0
78
6
12
0
20
-22
1
-2
-2
0
0
-9
0
-9
6
-1
0
0
3
-2
-5
-2
-2
0
0
27
0
-31
0
10
0
0
0
-1
-65
0
-3
-3
0
0
0
1
0
-88
-10
-2
-4
0
0
-3
-27
0
0
5
0
0
-75
-4
0
24
46
-5
0
-49
57
0
0
-22
0
0
-13
-19
0
-1
-4
11
34
-7
-112
0
0
5
0
-16
1
35
0
-38
-5
5
0
0
-21
0
0
0
0
-2
0
157
6
-3
0
-2
2
0
21
-1
0
0
0
0
0
32
0
-10
-44
-4
0
-2
2
0
0
-1
0
0
-3
-71
0
9
-4
-34
0
-10
44
0
0
-2
0
-5
-2
-66
0
0
0
16
7
0
-47
0
0
-4
0
-12
0
-60
0
0
0
-3
-3
0
-186
0
0
0
0
0
0
-25
0
0
0
0
0
0
-34
0
-3
0
0
0
0
-36
0
0
-2
-2
0
2
87
0
-19
-4
0
0
0
-84
0
0
-6
-6
0
-2
38
0
0
-3
-3
1
0
-89
0
-4
2
-1
0
0
-101
0
-29
0
0
-1
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
52
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
-25
-1
1
0
-1
0
0
52
80
0
0
-21
29
-3
-48
-1
0
0
11
0
-12
-7
-1
0
0
-42
-3
33
43
-1
0
0
-3
10
-2
0
0
0
0
0
0
-45
0
0
-85
0
0
0
2
0
-61
2
5
-2
0
0
-1
-61
10
0
-58
0
0
-30
-61
0
-8
-10
11
0
-51
17
0
0
-14
-6
0
-28
-98
0
0
19
-1
23
-8
-98
0
0
-74
0
0
0
-19
0
-114
40
-1
0
33
-24
0
0
0
0
15
0
-16
25
-5
0
0
-6
0
-57
4
0
0
0
0
1
66
-2
-1
-6
0
0
9
-62
0
0
-26
0
0
-3
34
0
18
-26
-11
6
-6
-53
0
0
42
8
4
-2
8
0
0
-4
-2
-1
13
55
0
0
-2
0
-8
0
-84
0
0
-5
0
6
0
-112
0
0
0
0
-3
0
-27
-2
0
0
0
0
0
14
0
-1
-13
0
21
0
17
0
-8
-2
0
0
0
-72
0
-1
5
-3
0
6
54
0
0
-3
0
0
0
20
0
-72
-3
0
2
0
11
0
0
9
0
0
0
10
0
-21
0
0
0
0
-61
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
5
-9
0
2
-21
12
-23
-78
63
0
0
0
0
0
0
0
0
-31
54
14
-36
-38
-1
0
-23
-152
116
-79
-58
-16
-33
12
9
1
-138
7
-58
7
66
21
-45
26
1
44
-4
72
-25
-16
-43
61
1
0
3
-121
-8
3
63
8
27
-7
-9
29
-2
-6
113
1
-4
6
-23
14
8
-50
0
24
-16
-46
-104
-14
-42
0
12
76
2
7
-27
-47
0
14
-5
14
-13
-9
-15
1
16
-25
-11
-16
-18
-47
0
73
-4
-23
12
46
-42
0
37
-12
49
-9
-9
-37
0
-124
-14
-19
-140
-48
18
59
0
25
-74
43
55
43
0
3
11
-62
-17
-108
-31
0
10
2
-21
-23
0
-20
0
42
49
54
30
3
-41
0
38
10
114
36
10
-18
31
33
7
-49
198
36
-7
-13
119
-3
-91
54
54
-6
0
88
7
42
119
110
38
0
-52
-33
-2
34
-27
-34
-1
-6
6
-53
112
29
-54
0
80
4
94
39
34
16
0
116
-10
-85
-46
-39
-22
0
63
30
22
65
10
51
0
47
17
-21
18
33
45
-17
100
15
22
51
37
100
0
115
32
-78
-4
92
-2
0
159
14
0
34
-1
4
10
110
5
-31
-24
65
-77
0
-3
33
39
118
21
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
-32
0
0
4
0
0
0
-3
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
8
0
0
0
0
0
-52
0
0
0
0
0
3
15
0
0
-1
0
0
0
-46
1
-14
-6
0
0
-50
43
0
0
4
0
0
1
30
0
0
0
0
0
0
-31
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
-54
0
0
0
0
0
0
-44
0
0
0
0
0
0
-15
0
0
0
0
0
0
-70
0
0
0
0
0
0
-83
0
0
16
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-12
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
2
0
0
0
0
0
0
-4
0
0
4
0
0
0
-1
0
0
0
-5
0
0
3
0
0
-11
0
0
0
-1
0
0
0
0
0
0
-3
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
-5
0
0
0
0
0
0
0
0
0
0
0
-77
2
0
0
-28
0
0
-34
-10
0
0
-48
-151
-5
-24
-3
0
0
31
0
-10
3
2
0
0
-19
-3
-35
-7
-11
0
0
5
0
-6
0
-9
0
0
0
0
3
0
0
9
0
0
0
22
0
15
-22
-2
0
0
0
17
-24
0
0
-9
0
0
9
2
0
-2
4
-1
0
-9
-84
0
0
3
0
0
-28
-135
0
0
2
35
0
107
31
0
0
69
0
52
0
29
0
-19
22
-7
0
0
52
0
0
0
0
0
0
0
-12
12
0
0
0
0
-49
-9
0
0
0
0
0
50
-10
9
-35
0
0
-3
1
18
0
39
0
0
-42
63
0
0
68
20
0
-2
8
0
0
85
0
0
-3
36
0
0
-38
12
0
0
-84
0
5
5
0
-3
0
-119
0
-9
-2
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
33
0
0
21
0
0
4
-27
2
0
9
-1
0
0
-17
0
4
11
0
0
0
-23
0
24
3
-7
0
0
-174
0
-52
2
0
-17
8
-27
0
0
0
-16
0
-1
-121
0
-57
0
0
8
0
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
-19
-6
-2
-68
78
-4
-56
0
0
0
0
0
0
0
-7
-13
-31
-19
-26
-49
7
-4
-4
-33
-12
-10
-21
-32
-9
-34
-44
18
-33
1
-13
11
-14
-4
-6
-17
1
13
-29
12
24
-26
-12
25
-2
5
-31
6
-10
-77
-9
8
4
-11
58
-8
-118
-9
-2
43
-3
-11
-51
-29
32
77
-10
-13
-88
-40
-36
14
-35
-1
-5
34
1
-5
-3
-14
2
-3
-59
12
7
28
-17
-15
-9
22
-19
-10
-16
-11
11
-6
19
59
-12
1
-20
-2
11
68
18
-16
6
-1
-52
-16
-69
3
-65
50
-7
-78
-5
-14
-36
13
-36
31
79
-2
-22
-57
-12
-79
0
4
-10
-3
-17
-11
11
9
9
-7
-41
-3
-21
-6
11
1
-3
-61
22
2
-30
3
-8
-9
-17
-61
-8
-6
-3
11
-8
7
-3
-1
-12
-52
-14
-6
67
-15
-7
-4
-33
-36
-20
7
5
-12
-15
11
-115
-14
-85
-41
13
14
-20
79
4
-29
-51
23
24
-46
16
-13
-106
0
-15
14
-7
11
-9
12
-62
-18
-27
10
31
0
-10
-39
-13
-14
71
14
3
-73
-31
6
-1
12
63
-6
-12
-29
4
18
-32
-7
-1
16
-11
-4
-50
-2
5
12
0
-29
53
40
4
85
11
101
20
-18
-14
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-64
0
0
-6
0
0
0
-2
-4
-2
-2
-1
0
0
6
0
0
0
-2
0
0
6
-1
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
-31
0
0
0
-2
0
33
0
0
0
0
0
-10
-52
0
0
12
0
0
-10
-51
0
1
-60
0
0
50
-43
0
0
-4
0
0
-1
-49
0
0
1
0
0
-1
45
0
0
-2
0
0
0
-1
0
-2
0
-1
0
0
20
0
0
0
0
0
0
-73
-16
0
0
0
0
0
-112
0
0
0
0
0
0
-30
0
0
-1
0
0
0
-105
0
0
-2
0
0
-2
-48
0
0
-1
0
0
-1
-30
0
0
-1
0
0
0
-24
0
-3
-12
-1
0
0
-29
0
0
0
0
0
0
-60
0
0
0
0
0
0
-56
0
0
0
0
0
0
11
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
0
8
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
-4
-2
0
0
0
-1
0
0
-61
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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
-117
0
0
-52
0
0
0
-3
-1
0
-5
-7
0
0
0
0
-2
3
0
0
0
-2
0
0
7
-20
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
-19
0
0
0
-2
0
29
0
0
0
0
0
0
-4
0
0
-52
0
0
0
3
0
-61
34
0
0
-41
-42
0
0
-17
0
0
-1
-39
0
0
0
0
0
0
36
0
0
-3
0
0
0
0
0
-43
22
-3
0
0
-20
0
0
0
0
0
0
25
15
0
0
0
0
0
-66
0
0
0
0
0
0
-73
1
0
9
0
0
0
-6
0
4
13
0
0
-6
-53
0
0
-3
0
0
-3
-83
0
0
-7
-3
3
-9
-19
0
0
0
-2
2
0
29
0
0
0
0
0
0
20
0
7
-1
0
0
0
-36
0
0
0
0
-4
0
-27
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
26
0
-15
0
-5
0
0
-38
0
-1
0
15
0
0
-28
0
0
0
0
0
0
-28
0
-3
0
0
0
0
78
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
62
-8
0
0
52
0
0
-100
-18
0
0
79
0
24
-42
-60
0
0
-25
0
8
10
-20
0
0
-58
0
89
166
-14
0
0
-26
0
77
0
0
0
0
0
0
-6
0
0
-33
0
0
0
22
0
-13
-6
-7
-5
0
0
45
-17
27
0
63
0
0
74
-54
0
-2
20
0
0
7
23
0
0
-86
0
0
-60
-88
0
0
57
0
0
-12
-105
0
0
-160
0
6
0
-5
0
-124
-6
0
-6
-8
63
9
0
0
0
-10
0
118
42
-6
0
0
-3
0
19
-10
0
-9
0
0
-24
26
-17
1
9
0
-4
-46
3
0
0
-94
0
8
14
27
0
0
120
0
-5
-51
-58
0
0
-13
0
-17
-22
-129
0
0
-43
0
32
-2
-62
0
0
-54
0
-24
3
50
0
0
1
0
12
0
-28
1
0
0
0
0
0
18
-11
0
12
0
0
0
51
-16
8
4
0
0
7
-54
0
0
118
0
2
-16
28
0
-18
43
0
0
0
-12
0
27
-98
0
-13
0
12
0
72
35
0
-6
0
-5
0
13
14
0
-34
0
-43
0
139
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
0
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
-23
24
-1
0
0
0
0
0
0
0
0
0
-4
-10
41
0
-17
0
0
-66
-74
6
0
6
-23
-10
-3
-22
0
-8
-69
0
-2
-34
-63
0
0
17
5
-6
62
-14
-5
0
150
0
0
0
-14
-10
0
19
-25
0
0
-7
-73
0
0
0
-3
0
25
-131
18
-32
-3
0
-15
-17
-51
0
-21
0
0
-21
59
-58
-7
-16
38
0
0
-58
5
-3
19
-8
0
-3
-5
-5
73
-112
-35
0
114
-13
12
0
26
0
0
-24
26
32
-21
27
-5
0
-13
68
-1
-23
-3
0
0
0
54
-87
85
4
4
0
0
22
8
0
-1
0
0
75
30
4
-16
-2
-18
0
-17
51
-7
1
69
5
0
74
-14
8
97
19
1
0
-40
-17
-17
0
83
1
3
44
-10
3
-33
4
26
2
79
5
0
12
99
0
0
-8
17
23
-63
27
88
0
0
39
-83
-1
0
0
0
0
-3
-28
-16
-12
0
0
10
5
40
-92
4
0
0
-4
41
7
-15
-10
7
0
19
16
-36
-61
49
7
0
21
-84
-12
65
-22
-54
0
18
-4
17
-138
10
-1
0
7
28
0
14
-12
-3
0
0
54
13
8
2
0
0
0
28
-14
112
-6
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-157
44
0
0
72
0
-2
-40
1
0
0
28
-2
0
8
-10
0
0
-4
0
-2
-1
-1
0
0
36
-1
0
1
-3
0
0
-1
0
-3
0
53
0
0
0
0
-12
0
0
-49
0
0
0
-1
0
-79
-3
57
-5
0
0
12
-30
0
-1
-109
0
0
31
-136
0
-193
-38
-1
4
-90
11
0
0
-45
0
0
-2
-12
0
0
5
-2
0
-1
-94
0
0
-1
0
0
0
-22
0
-31
-2
-7
0
0
51
0
0
0
0
-1
0
-38
15
-2
0
0
0
0
40
-2
0
3
0
0
5
-28
-1
-3
41
0
0
-6
-61
0
0
17
0
0
-12
-52
0
0
-20
-2
0
-1
-2
0
0
-9
0
0
12
-25
0
-5
13
-4
0
0
-188
0
0
15
0
16
0
-18
0
0
-3
-1
41
0
-59
0
0
0
0
-3
0
66
0
0
-1
0
0
7
-35
0
-4
4
0
0
0
-55
0
13
-7
0
0
0
18
0
3
3
0
0
0
45
0
-1
-7
-3
0
0
-35
0
-2
3
0
0
0
63
0
0
0
-1
0
0
2
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
31
-10
15
10
-23
-13
56
15
115
10
23
13
18
47
61
-15
-64
38
69
3
14
-7
17
23
-3
3
11
-22
-15
-10
-11
48
38
-22
-59
-15
-8
-2
75
13
21
-12
34
8
-1
-2
15
-18
-3
0
38
142
26
-17
0
-132
-18
121
-101
-92
-10
-3
12
75
-65
11
2
2
94
43
5
50
105
38
-104
30
38
18
-76
-25
40
27
16
2
-30
79
-16
-13
39
-30
-35
-35
-14
-12
-19
-10
-10
32
-6
81
18
60
-24
-43
-6
22
-4
29
-34
60
52
21
0
-132
0
-96
3
4
-34
-46
-74
-147
-62
56
-6
-43
26
-137
53
-24
-72
-7
-15
1
-50
10
26
23
-84
12
22
27
-22
31
-40
-60
23
-27
-71
-79
-21
-3
112
-47
-21
-65
-40
-22
-54
29
-26
-10
-25
49
-37
-38
2
-2
-22
-38
-44
1
-37
21
-119
0
-64
-59
-61
33
-74
-197
-86
-49
-68
-145
7
0
106
6
13
-25
10
33
128
-39
-8
46
43
50
-50
40
-104
-5
-15
-85
-36
76
-35
-126
-14
-77
17
-48
-31
-87
50
0
8
-103
-42
52
-43
-2
-20
22
-33
-71
-96
1
-2
-5
35
-18
-86
-139
-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
13
100
64
23
8
-45
-27
49
34
145
-31
18
22
12
-41
24
-56
-22
-79
6
-16
-74
12
87
125
-40
-20
-1
-102
-55
-4
-1
-52
39
13
-74
43
-2
46
-169
22
4
-9
-51
-4
-5
14
102
-25
52
22
47
154
172
20
0
68
-10
-37
85
26
65
-3
-27
43
-9
22
65
38
-36
-22
23
-84
-44
-8
-126
84
-47
24
48
10
-21
-24
26
-104
32
-3
-71
-57
-93
39
-95
49
-36
-6
-89
13
75
-118
0
-11
-14
-116
-99
0
-2
20
5
-32
-7
-3
25
-5
-46
39
-95
19
12
-18
47
3
21
57
-21
25
85
-37
17
-93
79
-22
-49
-30
-16
27
31
22
6
30
18
-78
11
-72
-19
-37
23
16
-103
24
-23
-100
-48
6
-41
-135
24
-4
-12
-103
30
11
-118
12
15
-87
-108
-40
-22
-3
12
11
30
47
-102
56
82
15
-13
-75
25
97
-15
-26
13
153
79
-28
9
33
-1
-37
-39
66
-65
50
-75
-35
-7
28
-44
-56
-19
19
-29
-15
-9
-20
-81
36
-58
-55
29
69
-12
-28
27
18
-130
13
-1
-104
-65
-23
-24
-18
17
-77
1
-96
-30
77
35
-26
-6
-89
-29
-42
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-36
0
-6
-7
19
9
18
-10
14
21
17
76
0
0
-58
0
-5
126
-53
0
0
-17
-9
-30
8
50
0
0
-2
0
-52
0
-5
0
0
-1
-10
-1
0
0
112
0
0
0
1
0
4
74
68
-5
0
0
-93
-156
31
0
-17
0
0
62
5
4
-54
-43
-48
0
28
-103
0
0
41
0
0
14
-178
0
41
7
5
0
-13
113
0
0
-15
0
-5
-2
-110
0
6
66
70
-2
0
-88
0
0
0
0
-17
0
43
77
-6
0
-13
-3
0
10
0
0
-1
0
0
21
-53
-2
-2
-76
-4
0
108
-34
0
0
-12
0
0
11
41
0
2
-1
-2
0
-25
10
0
0
-37
0
-1
-11
41
5
0
9
25
-2
-2
-44
0
0
-17
0
58
0
-22
0
0
4
-28
-7
0
12
0
0
0
0
2
0
-41
-6
0
-2
0
0
0
139
0
-1
-3
0
0
-9
-41
0
0
-3
0
0
-1
-124
0
-19
34
0
0
0
-99
0
0
-2
-18
0
-1
-101
10
-8
50
0
-2
0
-50
0
0
-2
-12
2
0
92
0
4
-1
0
6
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
-35
49
0
-15
-111
2
7
45
-52
0
-29
-53
-44
25
25
-63
18
-9
62
0
-31
61
-27
0
0
-22
80
-1
-97
148
0
0
-2
-4
0
0
77
-3
0
-1
70
-31
0
0
-19
0
-3
0
-16
0
-33
11
-3
-10
-44
-5
-51
-154
-4
-7
-229
0
0
-49
86
-2
-69
-19
-149
-1
17
36
0
0
-35
-3
-31
-12
-57
0
-4
-72
96
-8
34
4
0
-1
87
9
32
-2
75
0
-3
-9
-16
15
-2
-33
-31
5
5
0
-26
0
-48
25
-49
-8
-26
0
0
-2
-21
0
6
0
0
87
-144
-6
3
-104
28
15
5
48
0
-1
41
-4
2
91
-44
3
14
26
-11
23
35
-1
-16
-3
138
18
-33
-55
-77
-1
-4
-46
84
-16
-10
41
0
0
-20
0
-115
0
27
0
0
-7
-76
-85
0
2
1
-12
0
0
-4
0
-45
-5
0
-21
-38
0
3
11
-45
-39
30
0
0
-2
60
0
8
174
-3
-5
4
-24
0
-132
-105
-21
2
66
23
0
-13
-40
56
-7
-12
0
0
12
47
0
5
-6
23
0
16
13
-23
3
0
-26
-3
-114
-4
0
7
0
19
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
-45
-17
0
0
-38
0
0
-62
-2
0
33
119
10
-1
-50
-1
0
0
-17
0
-2
6
34
0
0
2
0
-56
-70
0
0
0
-5
0
-15
0
1
0
0
0
0
-114
0
0
15
0
0
0
-3
0
-17
0
-1
0
0
0
14
-223
0
0
-114
0
0
-1
45
0
-31
-85
-1
0
-151
-21
0
-4
53
0
0
-20
2
0
0
54
0
0
-37
-65
0
0
-60
0
1
0
62
0
-9
23
-9
0
0
-109
0
0
0
0
-1
0
-4
-4
-1
0
0
0
0
-3
-2
0
0
0
0
-4
86
0
-5
16
-8
0
-4
-137
0
0
-142
0
0
1
-126
0
0
-28
2
0
0
-45
0
0
32
0
-1
9
-80
0
0
1
-1
-1
0
-47
0
0
14
0
-2
0
61
0
0
41
-1
34
0
-84
0
0
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
-9
0
0
0
37
0
0
-2
0
0
-1
-38
0
-1
-1
0
0
0
-54
0
12
-1
0
0
0
-27
0
-6
16
0
0
0
-60
0
0
-7
0
0
0
-39
0
-23
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
38
0
0
0
-84
0
0
-5
9
0
11
55
-12
-7
-28
-13
0
0
-2
0
0
2
26
0
0
-2
0
0
19
2
0
0
0
0
-8
0
-9
0
0
-1
-14
-1
0
0
-2
0
0
0
-1
0
-25
-7
-2
0
0
0
73
-174
6
0
-6
0
0
-40
78
27
-19
-85
-2
0
20
-43
0
0
34
0
0
3
-40
0
0
3
0
0
-5
-62
0
0
-25
0
0
0
33
0
16
0
-3
0
0
15
0
0
0
0
0
0
47
12
5
3
0
0
0
-42
81
0
4
0
0
10
151
25
0
-19
1
0
13
-10
0
0
104
0
0
57
-55
0
-1
91
0
0
7
64
0
0
-4
5
0
0
69
0
0
-8
0
0
0
16
0
0
-5
0
0
6
-38
0
0
0
0
0
0
75
0
0
0
0
0
0
83
4
0
0
0
0
0
-33
-21
-12
21
0
0
0
17
0
-4
-5
0
0
0
37
-1
-50
-1
0
2
-14
23
0
8
0
0
0
0
0
0
-8
-32
0
0
0
-89
0
0
0
9
0
0
-73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
42
18
16
-1
-43
-39
-20
-2
-13
7
-28
-18
32
-38
-41
-37
15
-28
-42
74
15
-17
-32
12
-25
-56
13
49
-56
-14
-21
-16
-29
7
-83
-96
-22
8
-2
52
9
-31
-5
-8
43
-48
30
-2
-6
38
-35
-33
51
65
-35
18
7
16
8
10
20
16
60
-7
11
50
-10
-31
-27
-16
-16
0
13
6
-14
-64
-24
-38
8
10
-9
2
-28
-8
-48
-9
11
38
-2
-73
-46
-34
-26
4
26
15
3
-31
28
17
-5
-63
37
13
43
76
-94
-116
-7
13
6
-2
19
1
12
13
14
-38
40
54
57
-20
-1
6
39
-19
43
47
-3
11
-16
7
37
19
26
4
26
-22
28
-18
-19
9
63
-33
-13
-31
-47
-39
0
18
29
-5
-42
-22
-16
2
10
-24
4
-16
19
56
-20
-59
15
1
-61
-4
48
96
19
-23
-6
-12
-7
30
-40
3
-10
-9
-38
6
23
-9
41
0
-14
-38
23
34
-5
45
2
-31
24
-37
24
32
52
41
-14
56
17
27
-11
5
-9
4
-32
22
6
28
24
61
-4
-8
-28
30
-68
16
72
-10
10
-19
41
-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
46
-42
42
6
49
123
62
24
-69
0
61
-45
39
-42
-47
-26
22
-16
42
4
-108
-86
89
0
0
37
0
-52
-7
63
0
-1
-3
-50
-3
28
0
32
0
0
-3
-12
50
21
110
-31
74
23
2
12
2
0
29
-42
14
0
6
0
-49
24
5
69
-6
52
5
34
-10
-1
-6
-9
69
-78
0
0
-1
105
-37
-24
-8
0
67
-149
64
36
-29
-40
-10
-11
3
-24
96
-5
20
-10
13
-9
9
4
-1
7
77
13
0
-19
16
1
90
-20
12
82
-22
2
60
-51
55
64
58
18
4
-75
0
22
93
-59
104
-24
8
-22
2
4
60
18
-13
-6
-51
-4
78
19
2
57
-60
-7
-6
-16
84
73
-46
-49
-49
-3
-52
22
-27
-102
-5
91
0
21
71
-7
-53
7
-29
-5
0
0
8
-14
0
84
48
74
-20
5
0
20
3
2
9
5
-20
0
-95
0
-19
-9
-62
91
0
110
-127
33
50
-20
23
2
-13
8
1
-20
66
18
1
94
0
3
-3
5
0
0
-15
-33
-13
33
33
-6
10
-1
-26
0
162
-14
-10
19
0
-60
160
-110
-1
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
7
3
0
23
86
-14
14
83
-33
0
0
15
0
-13
-8
16
0
-14
-41
-12
7
-32
-1
0
0
-14
0
0
0
9
0
0
-5
4
-18
0
0
17
0
0
0
22
-16
-93
-16
-11
-9
0
0
-45
5
0
5
-27
0
0
27
61
0
-34
58
-11
0
108
-69
0
9
-148
0
-4
-72
24
0
60
49
4
5
-2
95
0
0
-40
3
0
6
33
0
-17
0
37
1
0
-61
0
0
39
0
0
0
4
-5
40
0
0
0
-3
-29
117
0
105
0
0
27
-30
-9
12
5
69
0
111
28
0
18
46
0
0
-12
25
0
22
26
-11
0
-23
-40
0
0
-68
-1
12
57
3
0
0
-76
-13
0
0
14
0
0
-6
0
16
38
13
0
0
16
7
-5
0
-28
0
0
0
-1
0
0
70
67
-9
10
0
0
4
38
0
-88
-7
0
0
-8
7
0
4
-41
0
0
-4
44
0
-20
5
1
0
7
-18
0
-3
-9
-11
0
0
34
0
-12
-1
-2
0
0
-42
0
-2
-11
-1
0
0
-81
0
-13
-17
0
0
0
51
-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
0
0
0
0
0
0
0
0
0
0
0
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
76
0
0
12
45
32
-48
40
0
0
30
24
-33
45
-60
0
0
-9
6
170
-27
-39
0
0
31
0
-15
-4
-33
0
0
13
-4
-152
0
0
70
0
0
0
32
-11
-25
-93
5
117
0
0
3
7
1
-4
-5
-22
0
-29
-88
-2
-58
-82
129
19
9
13
2
-17
-70
14
24
-120
33
-1
0
-12
-17
-7
-6
-1
0
0
-69
-16
-1
39
-90
0
-8
69
-42
78
23
-17
-4
0
0
0
-2
0
-2
13
-10
0
38
0
0
5
-16
0
-10
0
0
84
-74
-1
0
-68
40
0
-48
-30
7
10
127
-5
-1
30
-34
19
53
7
34
4
4
-17
-27
22
-27
-10
0
20
-25
0
-3
-61
-17
1
-11
-20
0
0
38
5
2
14
43
0
57
-3
8
22
0
94
-1
0
0
0
0
0
11
-17
2
0
-14
0
40
70
-2
85
89
0
0
-1
30
-3
-24
40
-6
0
-3
-1
0
-78
-70
-21
-2
-5
64
-9
0
9
-19
0
-1
43
-8
60
138
-9
0
9
27
0
0
-9
-29
-1
0
-44
0
-22
15
44
-13
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
50
61
3
67
24
-20
-13
-10
32
18
4
-15
3
7
21
20
-27
-35
-48
-32
-1
-20
-1
-90
-2
-28
-14
-126
-86
0
-6
-47
21
-4
10
-30
-34
-111
17
-55
82
-5
-69
10
-113
2
-16
-29
-46
83
-5
-49
21
29
71
-38
14
40
-43
105
30
3
47
123
15
60
-13
6
-41
-2
-58
19
3
18
-10
-24
-40
-41
-21
-19
24
-30
-56
-102
-13
-27
-15
32
-12
-23
-35
-164
-49
-9
-4
-91
-5
7
2
-36
-10
40
-19
56
-29
-36
52
-38
-28
25
-7
-31
18
5
20
17
11
22
64
53
24
-14
-13
38
-1
44
37
48
39
25
-22
-28
1
-39
24
-25
-19
20
-28
-81
-2
0
-8
45
-21
-22
-2
-149
-18
9
34
-70
-38
-30
-15
24
4
-20
-43
-3
2
-65
62
3
-65
62
30
16
-50
22
-26
7
-17
13
-22
-13
22
85
12
-11
1
-59
-15
1
-13
-67
-20
-16
-82
-6
2
67
48
-64
-9
17
-35
47
-23
47
13
-18
-33
-8
23
24
27
-59
-4
-6
-65
17
-7
-31
50
-18
-83
-22
7
20
-19
-37
-6
-57
-77
110
77
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
55
145
-8
-2
3
-13
-32
40
-6
8
0
41
2
49
-47
-112
-2
0
-14
14
-15
-12
-39
0
3
13
0
46
-17
-12
-23
0
-2
26
-36
0
0
-33
0
0
0
15
0
-58
7
-19
13
0
0
-74
104
7
0
-106
0
0
96
-95
15
81
-96
-16
0
2
5
0
0
-46
0
0
-84
-98
0
-1
-73
-7
-7
22
-11
0
0
-22
0
0
-2
-30
9
129
4
-2
0
0
-77
0
0
-31
0
-6
0
26
0
-55
0
0
0
0
-59
-34
-2
5
0
0
3
5
19
53
1
-35
0
11
-24
0
-1
-30
-13
8
24
-27
0
-1
28
48
0
56
-98
-2
-19
-31
1
7
23
18
0
15
-157
18
0
4
-50
0
-5
98
0
27
0
-52
-1
1
11
11
70
0
-3
0
0
0
0
0
0
-15
25
0
7
0
0
-25
37
3
100
10
0
2
-16
24
-2
0
68
-5
0
-9
-13
24
38
84
0
0
9
-48
-13
-15
30
0
-1
5
-47
2
8
12
0
0
0
3
0
0
-44
0
0
0
-35
0
-45
0
0
12
0
-29
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
77
22
1
-3
40
9
0
-68
89
0
0
-33
0
2
22
60
0
-3
-55
-36
0
-25
28
35
0
-131
-2
3
40
-23
0
-12
32
-33
-7
0
2
-9
0
0
-11
0
35
26
-8
114
-7
7
0
60
40
0
-11
152
0
0
73
92
-14
50
-26
-183
0
57
-17
20
-15
79
11
2
52
-17
-1
-8
-21
-60
8
50
-10
0
6
-11
-26
0
-29
58
-13
-89
9
75
0
98
-46
38
-3
37
-2
0
0
-8
27
-73
0
46
0
-7
13
-67
0
76
9
0
-42
-64
113
31
29
20
-17
56
24
7
-7
-8
10
0
47
-16
36
-24
52
-75
0
61
5
-3
1
70
8
0
-48
-16
0
-25
61
74
0
2
-50
20
44
-38
0
0
0
-26
42
45
-38
127
0
0
-46
-8
0
-2
-2
0
0
-23
-53
4
-2
3
0
-2
-74
101
17
22
-10
0
-107
46
-7
-23
-22
11
0
15
3
35
65
81
47
0
35
9
-5
94
92
-39
0
38
8
0
-112
-94
17
0
-14
-53
11
-75
6
48
0
0
-34
-2
-37
-46
19
0
0
7
-10
-6
-107
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
-11
45
61
80
44
57
-16
-40
-7
-56
40
-41
-54
-50
-30
-63
-12
-81
19
-10
-8
13
-38
-46
39
-76
-33
-22
-20
26
-21
-30
100
-22
-27
68
30
32
-65
29
2
-105
-58
-6
-4
74
0
-46
-74
-53
-5
41
6
-21
-23
-18
-34
6
115
103
27
87
61
-5
8
71
32
-10
-46
-8
-13
-12
22
-13
0
50
30
-42
12
-48
-3
-6
-31
-6
71
-19
-5
69
-16
32
-23
-48
-11
-6
-6
34
-9
-31
8
33
57
43
-8
24
28
-24
21
42
-17
18
-8
69
-23
17
73
-39
30
25
52
7
-33
-22
34
18
-21
19
-43
11
5
16
23
72
65
1
-9
-105
-78
1
-8
27
-41
-11
-63
118
20
-63
10
4
-10
-56
7
-15
-14
-2
64
1
-20
13
-16
11
-7
10
10
45
18
12
6
99
-43
0
-59
-10
20
-6
156
-44
-7
9
-1
-1
-15
96
-47
-19
40
36
14
-9
53
34
-19
7
72
21
-25
-17
65
1
-188
13
27
47
26
38
-5
-45
-54
-1
-31
52
-35
4
73
-33
-8
29
-9
-53
-6
-23
27
-95
-86
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
-46
77
-34
-27
52
-54
-25
-61
140
4
11
14
-66
-30
6
12
-8
2
-61
35
-46
-101
17
-1
-4
23
-58
-38
-5
27
15
-4
-2
170
-7
-59
-14
-86
-37
4
-6
0
58
57
32
90
8
30
63
-9
41
-6
7
2
13
75
-136
0
20
-18
-53
4
-21
-45
-4
-50
-9
-14
-124
-93
-65
-3
-69
45
-13
48
6
-81
-11
-9
-54
-68
-53
-54
-4
-15
-21
-11
21
31
53
1
22
42
-13
-2
-95
-6
12
-3
-74
18
-1
-2
0
94
24
62
28
47
52
-2
76
13
93
7
58
20
3
-23
0
47
-3
-8
-69
72
-77
-25
-30
20
-32
59
21
47
7
-11
-64
-57
-66
-64
142
-3
-32
19
-33
2
-21
-4
-5
-20
-8
-74
-37
-21
-1
21
-148
-13
-55
-1
20
0
10
53
27
-62
6
-11
-9
33
14
96
39
6
14
74
-31
-55
-81
-11
-117
36
45
0
55
-57
-23
44
-54
82
10
-2
32
-74
-103
20
5
9
-31
46
-104
-32
41
-59
-22
-8
-5
-12
0
-60
-2
15
-9
-27
28
-15
157
0
-3
126
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-121
0
-5
28
-2
106
-51
45
0
-12
69
-37
9
81
-47
11
17
58
1
-27
-6
-18
0
0
56
-25
33
0
-2
48
0
0
-11
-109
0
5
-34
-9
72
0
0
8
1
32
14
2
17
0
26
1
6
15
-73
-63
0
-9
-49
-15
-1
2
50
21
-35
-34
-3
0
-43
-63
-33
10
49
0
8
-2
0
56
-10
-75
0
-69
40
23
0
-4
25
0
0
0
-2
58
0
9
-51
-22
0
0
0
0
48
-5
0
18
0
0
-44
-43
22
105
6
-5
-26
17
0
0
37
65
9
15
108
-1
-15
96
-18
9
0
3
-26
14
-20
80
-16
6
50
28
0
18
-87
-37
-1
0
-19
-2
5
26
0
14
17
-15
0
3
-2
-34
58
0
-17
-2
0
0
1
-11
-6
130
-37
-2
8
52
0
59
60
1
-2
-10
0
0
1
-6
-14
-7
-20
5
0
-9
27
0
-16
10
3
23
-48
-12
0
-5
146
-64
-4
-5
29
-9
-91
-19
-3
6
-6
-21
0
13
-48
-22
-8
0
8
0
-46
12
0
-2
0
46
-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
-91
-6
-15
-5
-17
0
72
-37
46
0
0
78
47
45
-171
100
0
0
-26
5
39
38
72
0
0
-6
-17
32
0
0
-115
0
0
0
9
0
-38
-37
61
3
9
0
106
56
51
-26
-88
4
9
-53
28
-28
-36
39
-7
138
-39
-5
0
-52
8
0
32
-59
66
-12
-8
-17
-130
-16
-19
40
0
0
-3
-18
56
14
-26
0
-22
140
44
26
31
28
0
0
50
0
104
0
5
-33
13
0
16
7
0
-13
-89
0
-8
-5
0
-69
33
130
1
93
7
3
-87
18
31
-42
-14
-38
15
-188
25
-23
36
-13
21
9
69
37
21
-13
101
13
8
-12
-2
32
0
28
-17
28
-16
-25
0
0
11
0
-45
38
-90
9
2
-9
-17
-5
0
-4
-18
0
0
-31
14
0
27
-17
0
-2
15
0
44
24
-41
-88
218
0
23
0
7
-2
-18
106
-22
0
-1
61
-3
1
-9
5
-1
30
17
-10
0
-38
-24
0
90
-66
9
41
-1
0
12
-6
16
0
0
-17
117
62
-1
-44
0
-8
-6
58
-6
0
14
5
-3
-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
-41
-11
-117
61
21
25
2
-27
10
54
-31
-14
24
-21
14
-20
-19
-44
-41
-58
-27
-78
30
-20
63
-93
17
-50
-89
-81
-17
3
-27
22
-50
-50
13
-21
-65
97
65
75
32
28
9
41
66
-54
-4
-6
8
-53
-15
26
11
-24
-5
-18
-31
71
8
88
145
53
43
-27
32
11
2
0
9
-22
-51
-113
-16
22
4
17
-18
-10
-2
-6
6
-28
62
-11
-25
-6
-6
-76
-45
28
0
-19
31
89
15
-4
94
19
-41
-125
48
-152
-52
49
18
25
24
75
1
-11
15
-4
31
-53
27
-127
33
-15
-8
68
50
14
-20
16
15
0
34
25
37
-9
27
58
-5
79
12
5
-10
6
63
-6
-18
50
0
32
-21
-20
-21
31
-26
-2
25
-42
24
11
-27
-80
70
-58
20
-123
-10
-49
-56
35
-181
-42
-7
-8
-55
-5
24
-84
30
-15
0
-20
22
-22
32
-33
-49
6
-72
15
-31
31
10
4
-7
64
-42
13
-11
48
-68
-11
-74
-6
46
-63
72
22
8
-102
-110
28
-49
-18
28
3
24
7
-47
-115
-74
20
27
7
-78
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-47
105
-58
-47
88
-26
-59
-28
16
15
-23
-3
33
-70
-14
47
22
-21
-5
22
74
-84
-137
45
-101
-10
1
1
-48
36
-25
-58
7
5
-13
35
7
-62
23
-14
0
61
21
82
150
33
-2
9
-62
52
-13
18
2
-14
-84
-25
-38
162
-150
-49
41
-82
2
-31
-46
-174
26
-18
-51
8
-6
-18
169
39
-24
56
2
-25
131
60
11
-48
23
-41
0
-2
99
55
-36
-1
-40
-35
28
29
-59
29
-42
7
7
31
52
62
14
-4
39
32
4
-42
-10
47
-37
-13
17
-25
60
-11
-62
-41
21
-18
28
26
22
54
52
24
-6
22
88
-21
39
-18
75
-30
-71
-6
10
-5
-22
96
-1
29
79
52
57
9
18
15
158
-40
44
66
14
4
-18
36
51
-20
11
8
36
-2
-17
-21
-40
48
-9
-62
38
-24
-4
19
-12
-87
-36
32
0
-47
11
45
-13
-33
-14
43
-18
21
10
-41
3
10
-124
50
-8
104
-46
-23
30
-46
8
-12
19
-139
-48
3
21
-79
14
-19
43
-50
-30
0
24
36
43
-50
35
-4
-12
57
23
-47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
1
31
31
0
33
30
3
-27
18
34
-4
-18
-87
-14
1
-29
38
1
12
-8
37
44
20
11
-5
14
54
-57
-1
7
-50
-1
34
32
17
38
-59
-9
0
21
6
-126
140
31
168
0
19
-16
149
32
-3
-83
0
-31
32
-62
-31
-15
8
0
38
13
80
102
-48
24
40
110
9
-8
-39
7
-77
13
46
4
68
-15
-24
55
0
-35
-45
13
-51
-31
34
13
0
20
0
-28
96
16
0
-7
19
44
-8
56
-4
0
76
25
2
20
33
6
1
-14
-6
-100
2
-36
-7
77
28
19
141
38
-16
12
0
11
-4
34
-14
-11
80
0
105
-1
-37
-76
28
-38
0
39
-12
-20
-105
67
78
0
27
-15
14
18
-14
70
0
-5
-3
0
74
-51
-2
0
-5
-6
12
10
-69
43
0
8
9
-52
36
43
-9
0
8
14
-46
-28
-4
124
0
77
2
-76
-29
5
-11
-7
113
12
44
49
62
76
0
140
45
-12
-29
24
76
16
-44
10
6
67
-62
-60
3
-28
3
-15
-22
85
-26
0
-3
0
-19
81
107
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
67
46
27
41
4
-95
5
-153
-122
13
-7
-1
-142
-8
-41
-43
16
2
5
-32
-85
-27
-4
-77
-104
-28
-16
-22
-8
-29
31
-72
49
-6
8
56
-12
9
-1
-48
-29
-10
55
-7
-24
-16
-28
-130
-24
-55
-106
5
52
-22
-1
16
143
59
5
15
31
-29
6
-82
153
2
40
0
-67
2
44
2
0
13
11
124
-20
-51
-22
70
11
-16
-20
5
-26
-1
-31
31
2
-67
-2
33
-39
63
-92
55
-24
4
6
-3
-12
-6
-7
-42
17
-35
-12
1
16
44
-65
9
-39
4
-15
-1
51
-132
12
141
22
13
35
58
-22
15
-56
17
-9
23
23
-52
-6
-70
64
-10
-44
22
-45
0
37
-69
-36
9
20
-50
3
13
-97
86
-19
-1
-44
-28
-29
37
77
-58
25
-49
-24
-38
-46
17
-35
43
28
19
-61
-34
-7
-24
68
-6
16
43
-1
-12
1
25
18
-3
52
5
-12
-27
-59
-42
5
-72
3
6
-25
-5
-9
-1
37
82
-4
-8
36
25
4
56
-26
-4
-152
14
48
-11
19
-179
-161
-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
-46
22
-18
75
-80
-38
-42
-32
26
24
-61
-39
-18
-46
124
3
-7
-6
34
45
-72
-4
1
-25
-1
16
11
-50
20
43
-25
28
34
19
9
-70
53
25
-67
-1
16
-6
-2
-5
-2
-38
-28
-40
-11
-33
29
17
-46
33
1
38
-15
0
-17
-51
4
-5
-126
-82
-27
-12
-57
-53
-7
-92
-54
-32
28
-6
13
-32
-63
61
-27
-7
43
-8
23
-26
-11
30
-12
-7
-10
-27
15
7
23
23
-2
14
-13
-22
63
42
-72
-36
30
29
-78
4
19
-65
22
-27
37
-14
-36
-4
-13
-106
-5
-18
21
-15
0
12
-51
29
35
112
17
-32
53
140
-23
14
17
-33
-28
17
-80
22
-3
-40
-7
1
-11
-75
12
-88
-79
-6
13
-25
12
7
-68
35
25
25
7
59
95
56
-1
-12
59
-135
-34
10
-44
0
-31
23
-79
80
34
38
49
59
-16
-20
-117
-32
69
-54
0
0
43
-21
-39
-13
0
77
-21
-18
-52
-121
-81
22
63
-29
106
-92
-97
-14
56
21
-25
-12
-25
-27
59
-101
-3
10
-70
-3
-6
81
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-5
-10
15
72
0
0
17
6
-6
0
-8
0
0
1
0
-15
0
0
-1
0
0
11
24
18
22
-24
6
62
0
0
110
21
-5
-5
-37
2
0
48
11
1
-16
4
-74
10
25
-50
-3
0
30
17
2
-59
-119
13
0
18
-5
2
-59
-43
0
0
115
-9
-7
0
-65
0
-48
-3
-29
0
0
-61
0
0
-7
-5
2
0
81
83
-25
0
0
-5
0
25
-2
3
0
0
0
-38
81
0
-23
-31
33
0
56
2
0
0
-23
-3
3
-51
-59
0
-8
-27
45
2
-7
-117
0
0
-34
5
23
-5
-54
0
-4
75
12
4
17
-6
-4
0
-14
0
0
0
16
0
4
-10
13
-24
0
87
-1
-1
0
-15
-1
0
-113
15
7
0
14
0
-3
25
-7
-24
31
0
0
2
-2
0
0
-89
-31
0
7
-80
25
-10
-47
-12
0
-1
-28
-3
-5
-50
54
-1
0
-3
0
-6
-3
0
0
0
-95
0
1
-21
2
0
0
19
0
67
0
-7
0
0
-57
-12
11
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
6
0
-18
3
60
14
112
0
0
-10
0
57
1
1
0
0
17
63
-41
0
0
-62
0
0
0
-26
0
-36
124
18
30
0
0
31
-48
3
0
-10
0
0
32
-87
0
-14
-87
-73
0
-17
-26
0
41
-58
13
2
-55
6
0
-17
-12
7
21
46
-59
0
-4
-161
12
1
31
-87
4
-2
104
-38
18
0
-59
0
-1
0
0
1
0
-6
-66
-18
31
14
54
0
-18
-3
0
15
0
0
60
33
2
0
3
65
34
-55
-13
0
-17
-5
-4
0
-49
-68
-17
35
-76
71
0
-45
-12
0
4
-61
1
-3
3
-19
16
-20
1
27
-5
12
-8
0
0
-26
0
-64
0
9
0
0
11
72
-29
0
5
0
0
0
-1
7
0
-63
-2
0
1
0
0
-5
-66
27
38
4
0
0
-11
-92
24
-2
-68
1
0
0
-29
34
84
-17
4
23
-3
-68
0
54
4
11
-2
0
-30
-1
-74
29
1
-3
-3
-49
-10
0
48
1
29
0
108
0
171
20
-5
7
0
15
-3
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
-57
-34
-55
27
-57
3
-15
20
35
89
31
56
18
-43
74
44
-8
-2
52
-3
-70
22
-27
-8
-17
0
15
-101
72
1
-59
10
93
156
-2
-9
2
52
-17
-6
9
26
2
9
-23
6
-23
-34
1
-4
6
-8
-39
42
-34
-18
29
51
35
-36
-45
-10
-69
43
46
-17
56
29
11
43
-15
3
-9
-2
24
-19
-19
67
-7
29
72
37
-72
-14
0
-12
-31
36
-2
-29
-123
13
20
-48
-51
-7
-2
-86
-30
-5
-18
21
15
4
-70
9
-5
93
-14
-21
-30
11
8
-7
-11
-35
9
-54
34
-18
48
-43
-72
-3
-62
6
-5
10
31
-7
-32
7
21
52
-17
117
108
-48
-91
55
14
6
-20
-72
-107
-9
-18
-3
7
-23
16
-2
-72
-86
37
-3
22
96
38
-18
1
-79
4
44
-23
50
29
-92
50
-10
-24
-28
8
38
-98
2
-23
-55
-11
-103
-56
9
-23
43
-86
-88
-42
-11
25
-75
-4
40
-20
13
41
14
31
0
3
-10
-52
-1
18
31
28
18
30
-45
-96
9
-3
-4
-31
-92
11
-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
-56
24
0
0
132
-2
76
37
84
0
2
-10
0
-114
-12
-7
0
0
38
0
-21
0
0
-85
0
0
18
42
15
40
35
-24
45
0
0
-120
31
9
0
-140
0
0
-2
-16
0
58
15
-3
0
-101
-40
0
0
15
28
0
35
-18
0
-3
34
-24
0
28
-40
0
0
28
0
6
-28
11
0
80
-31
102
7
6
-93
0
0
9
0
-18
0
-6
78
11
0
0
0
0
-2
-12
0
0
0
0
-39
53
34
66
-55
6
7
-43
-48
12
0
-143
0
4
-83
-42
0
-1
-119
-6
-8
44
-36
-14
-24
-9
0
7
9
-23
0
-5
73
114
5
18
22
0
-4
15
0
-11
18
-20
0
-1
45
-14
-7
0
-23
-1
0
0
0
0
0
29
-72
-2
0
0
0
0
17
0
-25
-10
0
0
8
35
3
1
106
0
0
0
-41
0
-24
-49
0
0
-9
-62
0
-15
91
44
0
0
-36
14
43
27
0
6
0
11
0
-3
24
33
0
0
-38
0
-62
12
0
4
0
36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
-2
-1
11
-78
-2
-51
24
-5
-18
-53
11
-5
-117
24
44
11
-32
10
15
-1
3
-30
0
-2
-45
-2
86
24
13
49
-2
67
0
16
-13
-23
30
40
-62
0
49
-5
53
30
37
13
0
-61
-26
58
34
-6
-60
0
25
34
-58
-40
21
-122
0
32
-32
-38
48
7
-44
0
73
23
0
-29
9
12
0
34
-19
-28
34
63
102
0
0
24
12
-37
-1
-2
0
0
32
5
43
-63
102
0
-48
-9
18
71
28
32
0
3
10
112
-41
0
72
4
-3
-11
-18
-26
5
20
0
-17
-11
70
-55
-12
-144
0
55
-17
56
-21
33
23
0
75
22
0
5
99
45
13
58
6
1
12
17
36
0
32
4
41
1
48
-36
0
-61
11
-41
54
1
46
0
-2
-29
-11
27
-48
20
3
-55
0
-32
80
-29
109
-28
-20
35
-26
18
26
12
4
-53
15
63
12
12
-11
0
82
21
-2
-30
48
-11
4
83
4
-2
-71
37
-43
0
15
10
3
-45
30
0
-12
-1
7
-10
-6
-60
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
37
79
18
16
21
-4
64
-5
-1
48
-75
-25
-1
-54
-18
-2
-1
-69
-74
8
-32
-122
7
-15
-2
3
-71
-5
-43
23
-41
-16
19
-29
33
47
2
-22
-64
13
-65
-18
46
27
-4
4
-43
-33
9
-88
27
10
-22
-178
-61
-24
41
-96
-2
21
-69
-70
2
39
25
-45
-69
8
-4
-3
-9
43
98
73
-38
51
-10
-81
-30
2
-55
-8
18
-1
-68
13
62
-14
-28
-49
-7
-65
-19
41
4
-83
-65
34
-3
14
7
4
-17
-17
16
15
28
-45
-29
0
-2
12
130
8
-24
5
13
-40
9
39
59
-12
-38
-94
66
0
29
-87
20
57
12
1
9
0
-63
36
-102
23
-1
14
-47
-6
-13
-66
7
-31
6
-59
93
132
43
0
-24
-13
-7
-18
55
-76
22
-17
32
19
-165
-1
27
-11
23
8
-83
-44
-2
-72
156
63
1
-63
16
15
-80
49
-8
25
-1
17
34
-18
84
-2
2
-1
9
-33
-35
27
1
-7
-5
-48
-11
110
18
0
-34
-30
-17
24
-86
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
-9
-18
31
13
-96
-32
-37
-9
-3
-30
-130
-6
48
25
-42
1
-4
98
-6
-11
-6
-6
30
-9
54
-11
-16
-12
-71
-28
-32
52
-2
21
-63
-17
-6
-13
-121
-13
21
3
30
-37
28
-15
10
27
-10
30
-4
93
-12
-3
56
0
15
4
0
-90
85
-34
-4
-8
-70
-49
-9
-32
54
-23
3
-10
-60
5
24
2
-5
62
17
1
-70
-14
-4
-13
-25
64
17
37
8
-45
-3
-17
-2
1
-39
43
35
-46
-53
23
-29
5
87
36
2
-96
-46
-5
-65
56
30
7
5
1
1
-104
-1
11
0
-41
41
32
28
-20
-26
-1
-5
-18
43
144
3
42
-29
43
-70
6
-52
52
-9
14
-34
2
11
-141
99
-1
-15
-27
-88
166
-3
4
6
19
30
17
49
-7
9
-50
-35
37
34
-13
-36
45
-7
-17
-26
-40
62
43
7
-112
-23
84
-204
81
13
59
49
0
-61
-11
73
-136
102
31
11
78
-99
-34
-73
-17
-13
-51
0
-21
-23
-14
4
-9
-13
-19
19
-9
-104
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
77
0
-6
0
0
2
-11
-21
0
0
0
0
-100
0
0
-9
0
0
0
-171
0
-18
-21
20
1
0
0
11
56
0
-12
-153
0
0
-49
-95
0
-11
-92
81
15
-31
-12
0
0
-40
0
7
33
109
0
43
76
106
0
-69
-47
0
-14
-54
0
0
0
-92
0
8
29
39
0
0
35
0
0
0
0
-53
0
-58
52
5
0
0
27
0
-4
108
0
10
0
0
-14
0
-4
-4
-25
-5
0
34
11
0
8
65
1
0
-18
-10
0
-5
-36
26
0
97
60
0
0
2
0
0
-6
-109
0
0
-7
-57
19
-6
-8
0
-9
-2
0
-23
0
-79
0
0
-4
51
25
0
29
0
0
20
-11
-20
0
-111
25
0
43
0
0
0
66
-7
-53
-33
0
0
-6
97
0
0
26
0
0
-2
-41
0
62
-28
0
0
0
-65
0
17
0
0
0
0
-24
0
-5
-4
0
17
0
-61
0
8
12
0
0
0
-119
0
12
5
0
22
0
-8
-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
-70
-26
0
0
-8
0
-38
0
66
0
0
-1
-3
37
0
0
48
0
0
0
-18
0
17
43
-25
-39
0
0
68
51
0
0
-18
0
0
-6
-48
0
-58
-6
31
0
14
-5
0
0
17
9
6
56
-86
0
0
68
100
20
-144
-132
-3
0
-54
-6
8
-16
-35
0
87
4
-96
-2
-1
-171
0
-5
45
0
130
0
-50
104
3
0
38
0
0
-29
3
0
14
0
0
-40
7
9
98
89
-4
0
51
-1
0
0
-49
0
0
-22
52
2
0
57
12
-4
143
-80
4
0
-49
1
22
52
-81
-12
0
-99
16
-5
15
-24
5
0
-113
-10
-5
6
7
-7
12
-11
-15
87
0
-73
0
0
-3
-11
0
0
-57
96
0
0
0
0
0
19
0
-12
-18
0
0
-13
-44
0
0
-1
1
0
-6
-50
0
82
68
0
0
9
-142
0
4
-1
50
0
-4
-26
0
-25
-24
-7
0
4
38
0
-1
29
-37
2
0
-77
0
140
0
-20
-46
0
-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
-27
18
38
29
-56
92
35
68
-24
12
-59
-2
-32
13
-1
11
-69
-1
-2
-67
-19
-13
-5
-35
-30
26
-100
0
-78
0
-26
75
41
-4
8
-27
17
0
10
1
-36
-35
0
-2
45
-48
14
69
-68
-73
-9
-72
-52
69
20
-180
-30
-20
28
60
11
135
-4
-41
42
-20
-8
-17
-16
-156
-22
-11
-12
16
255
15
-52
0
1
44
-15
-1
-50
-44
-91
16
-60
6
-42
4
-16
-13
6
-182
-27
9
-63
-56
-9
-4
27
-200
11
15
-20
7
-6
-88
-3
-18
-48
13
-30
23
-6
-96
56
44
2
-10
25
19
-76
27
-94
46
62
-1
-8
-104
39
3
48
15
-4
5
36
-20
-52
-31
-1
8
49
9
-1
-30
24
19
23
59
-10
-32
-87
6
-57
-9
-31
-46
-37
-51
-46
-34
13
-8
-13
-29
1
19
-21
22
99
-76
0
7
-76
27
1
61
-111
36
-210
-122
-21
7
-31
-32
67
-88
56
-40
-48
5
-30
-194
-54
6
33
1
32
-49
-55
-43
-6
34
5
-54
-8
-2
-108
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
-25
-48
15
56
20
7
36
18
58
-8
-5
109
-7
-37
-6
19
32
-1
0
9
58
-38
-30
-88
-39
131
4
10
-6
-10
95
2
21
0
29
20
-8
58
34
8
8
-70
2
-10
74
81
20
0
37
26
36
3
-11
42
-20
52
7
-82
-2
101
34
-32
31
32
-24
3
29
53
62
-32
-6
26
40
-68
36
6
57
0
14
-8
69
0
-3
-33
0
-33
-72
28
68
0
56
52
2
123
31
49
1
140
39
-10
-8
-28
50
0
68
8
-40
-43
-21
-4
54
-25
-1
25
12
-41
15
24
10
68
-17
-6
-25
31
33
-18
15
13
3
-22
72
-12
75
40
-8
-38
-29
77
3
53
0
9
-34
7
27
-9
38
0
-28
58
47
106
2
7
-7
14
7
35
-31
0
69
46
-14
-4
-2
71
-7
-8
-28
47
68
-2
36
15
-54
101
12
-29
32
2
55
-63
-63
1
-13
10
38
13
25
7
27
6
-30
56
-7
26
121
6
0
3
-57
5
-21
-10
18
21
-6
16
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
-13
-25
4
-4
26
20
28
-21
31
-27
109
58
25
1
-1
-21
10
10
3
11
-2
24
-10
-38
-4
-25
-87
0
14
1
67
31
19
2
0
17
20
-56
33
30
27
0
0
-2
-21
59
-14
-10
32
-34
-18
-6
88
-23
19
0
43
-35
-62
3
5
52
-4
26
33
-9
-38
11
16
0
120
-2
108
-10
-11
26
-4
0
19
22
-41
-6
13
0
-18
-1
-57
85
10
5
0
-54
12
-80
76
26
45
19
21
26
12
-94
6
-180
0
-44
25
111
-3
34
8
-4
-12
-34
106
39
-33
59
0
78
-13
79
-94
26
36
0
110
12
-40
-51
71
84
0
-64
12
-6
52
107
56
-27
10
2
-47
-13
35
-8
0
0
-20
9
89
53
13
0
39
0
32
-6
3
-39
0
11
16
-53
-4
-23
92
0
19
24
50
-4
7
-109
23
69
16
-60
-47
38
-5
0
36
-20
6
-41
30
-27
0
131
21
54
-47
100
48
33
-45
30
113
-26
99
-36
-3
-14
18
24
39
-58
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
-18
-3
30
-56
33
-1
-21
-125
-1
-3
-70
69
-56
-12
-39
-116
30
-32
-35
-28
-3
81
-21
-53
25
2
-162
6
-13
-8
-46
-36
66
-32
42
0
-77
32
3
-102
-156
22
-9
108
-3
-22
-34
-27
4
22
95
36
-94
21
19
-1
2
15
-31
-56
25
0
-34
36
-6
-67
9
-23
17
7
-114
-44
-9
-61
41
-3
-5
-99
1
-105
133
27
-18
-15
-59
-27
24
-116
-14
-81
-7
0
-102
-18
7
67
-46
33
75
-42
4
-51
-64
-16
19
-69
-111
6
53
41
-58
24
-25
5
-28
-58
-40
-37
-6
5
58
-3
3
-53
-24
-2
-2
-34
-60
-48
-1
-1
9
-60
-15
-3
-60
-75
-3
-8
-37
-12
-91
27
1
13
-29
-76
-47
-113
-30
15
55
-30
-59
28
-15
-76
-13
-103
25
39
-64
-12
-116
-8
-12
3
43
9
-31
-91
-3
-42
35
-12
-21
3
-136
-22
49
14
6
-8
34
-79
-10
22
-61
-1
7
-81
-134
-74
0
-36
-73
12
-8
-102
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
1
112
-143
-7
-1
-28
9
-1
-1
-33
-92
46
-8
-10
49
-146
61
-3
-113
-22
-113
55
-12
45
-3
-19
7
-29
9
-8
-102
-35
-21
-6
34
63
-7
127
13
1
11
86
38
-2
-7
-14
54
-11
-16
134
23
-44
6
131
0
-43
19
-62
-90
55
-12
-13
-2
90
32
-14
25
-1
-6
-19
-61
-5
-58
-81
11
-8
-77
-5
45
0
18
30
17
-15
-2
47
-72
47
7
-19
7
-122
7
-40
-76
-59
-16
-8
-76
-37
-122
-121
11
11
11
-57
-7
-45
19
10
9
44
25
-23
-70
12
-27
0
22
88
101
3
7
28
21
-39
-95
-63
-111
11
-4
-2
34
15
23
-108
-3
-5
5
31
1
-40
-3
-22
-65
7
92
-25
71
-2
0
31
5
-32
-76
-14
-15
2
71
11
-130
-5
-7
-52
-31
1
41
-28
-94
24
-154
13
-42
3
62
4
-78
56
-23
-36
0
-7
-18
92
-105
13
8
-12
16
-14
-108
-37
5
-2
16
-11
-60
-23
-89
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
0
2
0
-90
21
-7
-11
0
0
26
13
7
0
-55
0
0
25
-32
0
-8
-15
-17
0
-16
-7
0
3
-21
0
-11
109
-95
0
-11
-33
11
16
-2
-109
0
3
136
-2
-1
0
20
0
-157
-1
26
-2
0
46
0
0
3
0
2
0
-38
-6
-6
0
0
14
0
-11
3
0
0
0
0
-3
33
0
0
3
0
0
3
43
0
0
-53
0
40
-29
-19
0
0
34
1
0
-2
-2
0
0
12
0
-12
-3
101
0
0
77
-19
5
0
-186
0
0
1
0
0
0
-64
0
0
-4
47
-11
0
-106
0
0
0
0
-5
0
-105
3
0
0
0
0
0
-47
0
-7
0
0
0
0
-69
0
0
0
0
-16
0
-17
0
-20
5
0
0
0
-17
0
0
9
0
-1
0
-17
0
14
4
0
0
0
-24
0
-2
0
0
1
0
-94
0
25
0
0
-9
0
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-8
-2
-121
0
47
-161
0
0
0
52
0
-24
-1
-2
-4
0
0
24
-46
0
0
-5
0
0
-29
-15
0
-70
47
-2
0
-89
-35
10
0
-46
0
-2
35
-27
0
-1
-35
-125
0
-3
-155
0
0
-5
0
13
-37
-29
1
17
-39
-5
9
0
-34
3
0
-7
0
-30
0
-66
-43
3
0
-5
4
0
20
-3
0
0
0
0
-3
48
-4
0
-50
-3
0
-68
62
0
0
-2
0
9
98
42
-15
0
-12
-32
0
87
-32
0
7
85
0
0
-6
49
4
-18
-33
8
-6
0
-51
0
0
-6
0
-4
0
-7
0
23
-79
25
-8
0
-25
14
-19
0
0
0
0
9
-5
0
0
0
0
4
-145
0
-2
-5
0
0
-4
-75
0
0
-7
1
0
-4
115
-17
-7
44
0
0
0
1
0
0
5
-31
0
0
-84
0
-15
29
0
0
8
2
0
0
5
-7
-70
0
-32
0
51
-2
0
19
0
-5
-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
-5
-62
0
0
50
-6
-38
0
67
34
0
0
-18
45
0
-33
-1
-16
10
-5
0
-99
5
46
72
29
7
-11
-98
-10
6
9
-33
-42
10
-16
30
26
-26
-39
-40
-26
-18
-18
-1
157
-1
-15
14
-50
-14
-40
47
100
185
-49
-4
-39
-18
13
-8
-58
47
165
27
3
-2
-12
74
31
0
-10
52
-32
0
-76
-91
0
6
21
48
-3
0
-9
-85
-20
-56
-68
16
-5
-10
-96
-9
25
4
-45
-8
-34
8
45
26
-87
-65
-22
-109
-33
-10
-1
-32
46
132
-25
-63
63
13
18
14
-1
13
7
-50
13
100
-13
10
-26
-44
-20
-13
-35
-35
-4
-17
0
-11
30
-2
-1
-14
-17
-6
-6
125
-13
-14
0
0
-5
-54
39
-56
-11
222
-39
-34
9
32
46
22
-80
2
26
-3
-16
-96
62
-7
10
51
-33
-11
-120
-37
-95
-10
-15
24
-1
-12
6
4
-82
27
-39
0
45
-10
28
23
-3
-47
-4
-3
-18
-12
-85
0
-8
-184
8
-4
-146
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
-23
0
0
-104
0
0
0
2
0
-1
9
2
-2
0
0
-132
-15
0
19
-17
0
0
26
-30
1
86
-63
53
0
0
-17
0
0
13
-13
0
-20
11
0
0
50
16
7
-55
-25
0
0
13
3
-35
-26
-110
0
37
-53
-79
3
0
-2
0
0
-3
29
-1
0
6
-7
-72
0
0
6
0
-10
1
0
-5
0
0
-3
8
-23
-25
-106
0
-2
11
-58
0
0
18
0
-63
-37
-3
0
5
-11
-13
-17
33
-60
-13
13
-138
7
37
-39
77
0
0
26
-32
156
28
-73
3
0
-89
51
-57
0
-45
31
0
-31
11
29
0
16
-16
0
0
-4
11
0
38
-7
0
-1
0
-1
0
30
-3
50
-27
0
27
6
10
0
17
29
0
0
-6
-43
0
0
111
0
0
23
-9
-24
-37
-53
17
1
-1
64
0
67
60
0
7
-2
-30
0
0
-77
-1
-18
0
-24
2
10
21
0
25
0
1
-91
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
119
-16
1
-13
2
-5
48
14
22
-20
42
0
-40
-8
-25
-7
-25
5
0
29
-4
84
-15
40
-16
0
21
10
-1
9
15
36
0
5
-8
5
104
3
23
-4
37
-26
-3
-46
8
25
0
59
-14
-10
71
21
-18
-17
121
15
81
-34
75
3
0
39
0
26
-5
30
17
0
0
25
19
52
22
71
0
71
0
-24
-30
26
4
0
15
-12
-49
-92
14
28
0
6
16
-29
-46
8
22
0
14
12
72
11
26
33
-2
47
7
18
-5
44
-34
0
79
26
56
72
45
61
-23
-2
12
67
-9
89
42
0
57
26
-6
19
9
6
-2
0
15
5
-29
-24
-8
0
30
0
-22
9
3
46
0
17
-21
-20
-25
-51
51
0
-72
13
-9
5
11
88
0
34
29
22
-50
2
-132
0
75
34
51
4
38
-18
0
22
18
-3
-80
69
35
0
73
25
-13
71
26
56
0
-42
21
-60
-6
54
69
0
-5
10
19
111
-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
-16
-175
0
0
0
38
0
-15
14
21
0
0
0
-82
-16
0
0
-104
-1
0
85
22
0
20
-26
-53
0
69
-16
0
0
-7
0
0
-2
64
20
-1
6
-48
9
-2
-68
0
-1
165
-18
-11
0
-58
0
53
-68
-110
-1
-18
-44
0
0
31
0
-8
0
-88
-96
-22
0
-46
0
0
-31
7
0
2
0
0
-2
-49
-2
-1
-42
-4
8
21
61
63
0
-83
0
44
33
3
0
-4
-62
73
22
-100
-18
0
0
39
65
61
-7
-85
-2
-3
-54
87
-110
12
44
0
-9
13
2
-37
0
100
0
0
-1
-66
-37
0
-130
-5
0
-2
2
15
0
-59
-39
0
0
-6
0
0
-10
-24
-47
-12
0
0
2
102
0
-12
20
4
1
-2
-22
0
-109
119
13
0
0
-26
0
-7
12
-7
49
0
-25
0
-165
1
0
0
0
-1
0
0
3
-7
6
0
-9
0
-94
-4
10
0
0
-117
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-1
28
78
-5
-6
-8
-5
-58
49
-15
6
-16
2
6
-125
-39
4
-9
-87
-52
14
-40
1
-25
61
-20
-28
49
-11
-4
-58
207
-15
-17
-4
-41
-83
-21
-85
34
36
-9
-15
3
-11
62
-4
-47
0
-23
7
-33
-22
122
0
28
-19
10
67
55
-3
-8
-32
-20
-3
-64
7
-8
-28
63
33
12
80
-22
-100
30
60
20
5
-26
3
-19
-27
95
-26
-37
-11
-18
-1
-14
-116
21
-8
-25
97
-11
-15
-16
34
9
-21
34
33
5
-23
-24
-3
-1
38
95
18
-17
-4
-4
21
2
-12
0
-4
-10
45
46
5
24
-40
91
7
-9
62
41
-6
-45
47
20
37
-7
10
43
56
-31
-88
68
-19
3
2
-12
-28
-69
-1
-40
-6
24
-14
28
83
-51
-49
37
58
-53
-43
-76
-55
-24
113
-87
32
0
68
21
-2
138
-19
-31
1
-48
-109
-10
43
-36
0
-15
21
-26
-2
40
-1
-38
-79
6
3
-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
-30
0
0
0
-4
0
48
-13
-7
3
0
0
180
-44
0
0
-152
0
0
-60
-133
0
-32
19
-6
0
1
47
0
0
-95
0
-15
77
-74
0
0
15
-64
1
0
36
0
0
-29
-8
0
23
-113
0
-62
-2
36
0
0
-117
0
0
0
0
-9
0
-12
-6
-1
0
0
0
0
52
0
0
-5
0
0
0
64
0
-10
-42
0
0
25
-29
0
0
91
0
0
-54
61
-14
0
13
0
-7
11
-63
0
0
-63
22
22
25
-24
0
14
24
13
-6
0
-45
0
3
0
0
-2
-3
-97
0
3
-1
-2
-11
0
-47
0
0
0
0
6
0
-64
1
0
3
0
0
0
-35
0
27
-1
0
0
0
-104
0
0
38
0
0
0
-12
0
0
-7
0
0
0
-110
0
0
27
-4
0
0
79
0
-7
-31
0
0
0
-63
0
0
0
-7
0
0
-86
0
-14
0
0
0
0
-28
-9
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
0
-2
0
-28
26
-21
-9
0
0
9
44
0
0
-51
0
0
22
-40
0
-18
30
2
0
94
-95
0
0
-64
0
0
-32
-163
0
0
-2
-2
0
-1
-45
0
0
-22
0
49
0
-62
0
21
7
-3
3
0
-56
0
0
0
0
-2
0
30
-23
-3
0
-1
-12
0
1
-1
0
0
0
0
0
-45
-1
-1
-56
-1
0
63
14
0
0
-22
0
0
-41
-73
0
0
-33
40
0
11
2
0
0
36
0
0
0
-72
0
0
-18
1
-1
-1
-100
0
-8
-3
0
-3
9
-9
0
-1
0
-1
-2
0
-105
-6
0
0
0
0
0
-55
-2
0
0
0
0
0
-55
0
27
19
0
0
0
-16
0
0
-1
0
0
0
-120
5
-2
-1
0
-1
0
-54
0
0
-1
-1
0
0
-55
0
24
0
0
-4
0
-76
0
0
0
0
0
0
-27
0
-6
0
0
-1
0
-56
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
39
-108
0
0
0
-103
0
-22
-69
57
-4
-2
0
-13
-32
0
7
63
-6
27
-75
-115
-3
62
-10
-89
10
-4
-14
4
-7
-16
-11
-1
65
-25
61
0
-39
-120
-3
44
48
0
-5
-11
142
-16
38
-61
-3
-49
17
-60
-12
-12
29
0
2
43
105
29
1
96
-164
-64
0
-113
-3
0
-3
-107
0
31
0
-3
45
-29
-10
-38
1
-9
5
-108
-73
-14
-26
15
24
-52
-55
14
8
-47
-50
-36
25
-57
24
-9
0
27
-26
26
96
22
-3
-13
-8
-24
-17
-17
-61
0
-7
8
-26
21
0
-41
0
0
-1
14
-55
0
63
32
0
0
139
-4
0
7
-35
0
-6
7
15
69
0
0
-87
-28
5
0
32
-94
13
-28
-85
32
0
-15
14
-7
81
41
56
83
10
-2
0
14
105
-66
31
-11
9
0
-13
-7
-112
-18
50
-21
0
-2
6
-56
113
-3
1
19
-5
18
125
1
0
36
-10
0
-37
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-2
56
-42
4
-7
-19
-62
-2
0
0
44
-20
-2
-1
11
0
-25
7
-12
75
15
-4
-3
-38
26
-8
-8
86
4
0
-81
-27
21
17
10
20
-19
32
-18
-11
0
-2
55
43
33
9
-24
0
-34
-15
-13
115
9
5
2
2
73
0
52
0
12
-103
18
-6
18
-49
0
3
-78
0
29
0
-3
-46
-2
-10
33
44
-4
-6
20
10
-3
38
-3
0
46
23
16
-9
111
24
-14
28
41
21
-8
-85
43
59
36
58
-48
52
18
31
34
-50
76
-4
0
-32
36
-10
-3
57
-47
-29
-4
-12
-2
-14
0
29
23
0
83
0
-9
0
-6
-11
28
22
0
0
-55
-25
0
24
7
0
-43
41
11
-5
95
118
0
24
96
47
-10
39
109
-4
-10
38
-23
0
-3
60
-37
82
21
42
5
-1
6
0
-5
-38
12
7
-26
10
41
-9
34
-26
0
21
59
0
13
0
67
32
0
-12
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
28
-72
-23
-59
-2
10
44
2
-11
9
-17
4
-1
22
1
-10
-35
-1
-38
0
18
43
18
12
-10
-13
-5
14
-3
30
-73
-14
43
-6
25
1
-86
-28
-16
2
-1
114
5
121
39
16
12
-24
62
9
-9
-13
18
4
-1
-33
17
102
-8
-98
22
-19
-2
0
-35
5
-121
-17
0
83
9
-5
-28
-15
60
-7
21
14
-42
43
10
-9
0
37
23
29
35
-12
-80
-9
29
16
30
-40
19
-24
-11
47
13
-28
50
29
27
27
117
18
61
96
75
34
37
69
3
-207
-4
79
20
-7
-23
3
86
-1
-17
8
-2
26
-19
-4
131
-2
50
-1
78
2
49
31
14
-143
0
66
-7
-4
-41
0
60
0
-18
5
-51
-5
6
52
-6
34
25
34
-15
11
-9
-6
80
27
-162
9
40
13
-11
92
29
28
-17
77
8
3
176
21
-41
82
62
8
11
59
-8
257
-37
62
-121
-4
163
14
21
64
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
0
0
0
0
0
0
0
0
-57
-5
-3
0
0
0
-2
66
0
0
-51
0
0
-8
29
0
-47
-58
-2
0
-13
-33
0
0
-52
0
1
-1
-51
0
0
25
0
0
-1
-30
0
0
-40
0
6
0
-109
0
-74
-1
-1
-4
0
-27
0
0
0
0
-1
0
8
0
68
0
-4
-4
0
-103
51
0
0
0
0
0
-39
-13
0
-34
-3
0
0
-208
0
0
3
0
0
-3
-78
0
0
132
3
0
0
93
0
0
-13
0
0
0
-38
0
0
0
-1
0
0
-26
0
0
21
0
-6
0
-98
0
0
0
0
0
0
-52
0
0
0
1
2
0
1
0
0
0
0
0
0
-3
0
-1
-5
0
0
0
-9
0
0
-2
11
0
0
-94
34
-11
29
0
0
0
51
0
0
-1
20
0
0
19
0
-6
-8
0
0
0
-6
0
0
3
0
0
0
-58
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
39
-38
-16
-22
-18
0
3
2
25
-5
-38
0
0
-140
66
0
39
-27
-2
0
-33
-21
0
-11
-76
0
9
-112
-31
-2
26
-61
53
33
24
-62
-49
13
-96
0
83
25
37
0
-30
-4
-68
27
8
-32
0
-3
90
-7
44
0
0
59
-29
0
187
5
0
84
-49
2
-2
0
0
24
-53
-13
39
-77
96
0
48
61
-21
-4
50
0
0
-52
-11
0
-3
31
71
0
53
47
-11
-3
-30
-18
44
68
2
0
-8
-141
-6
-76
58
44
0
0
-57
0
-162
-39
-84
0
-10
-49
-18
-87
0
0
12
0
0
37
-7
0
73
-152
-5
0
0
0
0
22
0
-65
27
0
0
-18
-57
0
4
0
52
0
0
-27
0
24
44
0
0
47
-49
11
24
-50
6
-8
-1
14
0
-14
-117
8
0
4
92
0
32
-11
43
-4
-1
-65
0
-141
1
0
11
0
0
61
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-34
-57
-67
-91
21
-20
5
7
-44
-31
-3
-38
-35
36
-6
-3
-5
24
69
-18
4
-27
-28
10
-67
49
-25
-6
78
-21
-39
30
4
-18
7
116
-46
13
-114
18
-74
-3
71
14
-2
25
27
-107
21
37
42
-16
-126
-38
-3
23
90
-75
-60
-57
-52
-71
-1
-42
4
56
12
-44
-20
2
-100
26
-20
49
-54
-46
7
-37
12
-37
-43
38
-35
-12
-22
31
-34
-4
30
-31
-1
-82
-70
-9
49
-14
11
-6
-35
6
7
-1
-74
-75
20
16
35
19
-14
-63
-60
9
115
-10
-70
-17
-14
-5
15
5
-120
59
-9
-54
115
0
-110
-15
74
140
-27
-27
3
43
-18
-8
9
-30
-54
-4
10
-32
-12
-3
82
58
5
-53
-36
-4
-31
60
-15
-16
144
-4
-15
-14
39
18
-25
67
-36
-29
15
-62
-103
-4
22
55
-28
-14
32
-52
17
15
-20
58
15
9
-35
-2
13
1
-31
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
19
-1
-1
0
0
0
-2
-96
0
0
-13
0
0
-45
-91
0
-60
0
-3
0
-44
-50
0
0
-10
0
0
-1
-39
0
0
16
-1
0
-1
-21
0
0
-2
0
0
0
-34
0
20
0
-1
0
0
-40
0
0
0
0
0
0
-87
-9
0
0
0
0
0
-118
-1
0
0
0
0
0
21
-1
0
-22
0
0
-7
-110
0
0
-22
0
0
13
-59
0
0
-30
-1
0
8
-1
0
0
-28
0
0
4
-4
0
0
-20
-1
0
0
-2
0
0
0
0
0
0
-19
0
0
0
6
-1
0
-83
0
0
0
0
0
0
36
0
0
0
0
0
0
28
0
-1
0
0
0
0
-48
0
0
0
0
0
0
-43
0
0
-1
0
0
0
-48
0
0
-1
0
0
0
-33
0
-1
1
0
0
0
-16
0
0
0
1
0
0
-18
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
0
-29
-1
0
0
0
0
-4
26
0
0
49
0
0
10
20
0
63
187
-1
0
-49
-14
0
0
-11
0
0
12
-36
0
0
65
-3
0
3
-87
0
0
-1
0
0
0
-62
0
-56
-2
-24
0
0
24
0
0
0
0
0
0
39
-25
-4
0
-2
0
0
105
-2
0
8
0
0
0
-16
-8
0
-45
-1
0
-21
-87
0
0
14
0
0
-32
-59
-6
0
-42
0
0
40
77
0
0
-68
0
-3
-1
-52
0
0
-5
78
21
0
-35
0
0
-1
0
-1
0
-95
0
0
1
0
-2
0
-166
0
-5
0
0
0
0
14
-1
0
0
0
0
0
23
0
-1
0
0
0
0
-44
0
0
0
0
0
-27
42
0
-1
-1
0
0
-2
-49
-2
0
0
-7
0
2
-114
0
14
-1
0
0
0
-33
0
0
-1
-1
0
0
-120
0
-34
0
0
0
0
-121
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-102
-26
25
0
0
15
52
0
0
91
0
1
-58
-29
0
37
-50
0
0
-38
-74
0
-8
-1
-2
2
-83
-47
0
38
-53
-3
0
-126
-63
-1
0
-95
0
21
26
-69
0
57
138
114
81
-2
-133
0
0
6
0
-13
0
-44
-5
22
0
0
-3
0
51
9
0
0
0
0
-10
53
-4
20
-3
-2
39
47
-36
0
0
-25
0
4
-90
-69
-16
-8
-38
-1
16
-45
-61
0
-1
-35
0
71
50
38
0
0
24
-17
-1
4
-87
0
1
-30
2
-7
0
-61
4
-3
83
-3
10
0
-15
0
0
0
0
0
0
20
-109
0
0
0
0
-34
42
0
31
11
0
0
72
-95
0
-4
-91
0
-13
6
-34
0
-37
-57
0
0
-8
53
0
-41
-61
8
-51
24
-51
0
-4
12
0
0
0
34
0
-11
129
2
13
0
5
0
47
0
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
16
-3
-18
7
-51
-8
0
15
13
-36
71
3
-1
0
-5
0
-13
46
-18
34
-2
-19
1
12
1
-32
-81
0
2
-24
-37
-12
-40
18
-5
76
-23
30
-29
-17
95
1
99
10
56
-44
-3
30
0
124
-8
5
-13
19
100
-1
1
-13
78
-17
-20
4
0
12
0
-9
32
-91
1
0
21
32
-22
6
-7
56
0
41
-14
77
-2
-36
46
0
11
-17
-49
27
19
6
5
18
-8
89
-104
3
51
0
57
-14
37
53
-22
40
-15
27
-20
9
-128
101
-18
-4
-61
8
15
32
49
103
-4
5
3
69
-50
-47
91
0
5
-19
-6
45
-41
-19
0
4
11
86
17
39
22
10
40
-5
6
-126
10
128
-18
37
24
6
-24
41
115
0
14
-8
6
-27
-14
-41
-4
-13
32
56
-34
82
-19
0
76
1
-56
-149
23
14
0
137
44
-44
18
111
91
0
-7
-8
117
28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-69
0
0
-163
0
0
-59
-57
5
26
-71
53
0
-17
64
0
9
-55
0
2
-10
22
0
0
146
-8
-16
-7
-60
0
0
38
0
0
-1
8
0
27
-4
14
3
0
-141
0
0
0
0
12
0
-56
-39
99
0
0
0
0
81
144
0
2
0
0
-3
-54
-3
-1
38
-2
0
45
-38
0
-1
-5
0
0
-46
-79
3
0
154
-8
8
48
-40
0
0
37
0
22
2
6
0
0
-6
4
3
0
25
0
0
-1
0
3
0
18
0
34
-7
8
25
0
-139
0
0
0
0
0
0
102
13
0
0
7
0
-2
52
-2
5
-3
0
0
5
-48
0
0
10
0
0
-2
-66
-3
-17
20
0
1
-10
-18
0
0
71
4
0
0
-120
21
-6
-5
0
0
0
-21
0
8
7
45
-1
0
62
0
65
0
0
0
0
-109
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
-57
94
-62
-71
18
16
5
11
23
28
90
38
6
28
0
52
-74
3
5
-20
24
31
21
-4
-4
-34
-11
-5
1
-18
-4
22
1
3
48
13
1
5
28
-55
-7
36
-48
-36
41
-2
6
12
12
31
-127
47
2
-2
0
7
-84
-68
37
-120
10
-38
-12
-37
-38
-42
-12
-27
6
-80
-17
-4
-75
-2
-1
10
12
28
39
-10
-49
24
-12
23
1
30
-28
0
8
-19
34
6
20
14
42
-23
-22
5
35
16
43
30
-3
-12
-27
-5
-24
25
-11
50
-19
29
16
-46
34
-44
-36
0
-47
-64
-84
-28
-136
-106
-67
11
-112
-22
79
-11
-26
3
-25
8
9
-5
-6
-23
8
45
48
31
-12
29
30
-5
80
39
23
15
6
44
-9
7
23
23
-15
-50
58
0
37
-29
48
60
0
15
-5
41
37
17
55
32
-6
-6
-30
14
-51
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
100
14
44
138
14
-17
4
4
47
81
-3
40
-39
-78
34
-8
-43
-7
15
-13
-217
-36
11
-9
-47
-32
-5
-56
-113
-16
-11
17
-48
66
10
-10
-53
23
-11
-157
-13
15
-36
-14
48
15
-55
30
57
5
8
3
26
-1
29
-83
120
21
-95
34
-65
-3
17
-28
-13
34
28
69
-83
33
1
31
-67
-10
0
19
-48
7
7
2
1
26
40
-29
-39
-7
40
-69
-57
23
-12
-49
-11
14
27
-50
5
-24
-133
-28
37
29
-93
113
-26
-108
-20
-29
81
-85
-12
-20
1
-23
-83
-92
-23
155
89
12
7
-128
86
66
6
-5
-53
-22
52
24
9
4
-9
43
2
18
5
-24
-70
8
-28
12
-45
-6
-40
-18
-25
-93
-6
14
179
-29
52
-103
14
10
23
55
-29
-6
40
66
-28
-26
-48
9
-49
-11
-17
-18
2
45
46
43
86
-3
-22
-24
-3
13
-26
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
4
-16
-52
75
-78
9
-1
0
106
11
-53
-38
-5
58
19
27
43
0
-13
-118
-31
-22
-14
53
-3
-123
-22
28
10
14
-4
-3
-68
27
48
-18
-12
-18
-29
-17
-46
-4
-106
43
-46
-4
-65
-5
51
0
7
27
58
-1
-11
-29
19
-65
107
-21
-62
64
78
102
-31
-32
-49
3
27
-9
62
69
112
29
107
-81
181
52
11
63
-41
-40
39
50
-75
-6
-3
-19
-91
-53
-44
-90
7
51
-58
-6
-27
52
-24
-13
1
44
-54
-36
3
26
31
14
32
-98
-46
-72
-3
-15
-63
16
0
-50
16
0
38
9
62
114
-22
0
55
-91
-140
210
-46
11
21
52
41
25
-49
73
-36
152
10
51
-15
-10
26
11
-34
147
-2
50
-17
-15
-78
-53
-131
19
32
-70
30
115
-4
-52
6
-2
-88
59
-202
69
-1
33
-5
-45
25
-1
-92
1
-27
-5
-50
-34
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
-123
-23
-8
0
24
0
0
-34
15
-50
9
-26
10
-29
-10
65
17
24
91
34
-48
97
50
-2
48
56
33
42
52
-31
-9
-3
37
10
67
-6
18
-2
-21
-86
-22
18
-2
-43
33
-6
-58
-14
43
0
77
-59
48
0
12
-30
0
11
303
11
25
0
1
4
-102
-129
-30
-24
-24
0
-95
4
-9
77
-2
16
38
23
26
-9
-15
30
-2
5
-51
56
6
72
86
-10
-83
-89
-4
-14
10
46
9
78
16
6
-3
93
-49
-2
32
6
10
56
67
26
-19
0
0
31
43
25
0
4
15
0
11
-105
96
-3
10
1
52
-74
22
-42
-23
0
35
-180
-69
-7
-83
50
-21
-7
-8
21
-1
-1
-52
28
16
-38
-26
1
153
48
-111
0
-64
8
-16
3
36
4
115
-60
-11
60
51
136
44
-5
-3
-9
-11
2
-11
0
-10
0
15
-24
-81
-37
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
132
-14
0
0
15
0
0
-45
-170
-29
27
-99
-4
2
3
-63
0
0
53
0
0
-90
-18
0
7
1
-3
0
-6
3
0
0
-72
0
23
-3
2
0
-100
-32
-4
-1
-5
-49
0
0
26
0
89
0
49
-14
24
0
-2
0
0
-177
-19
0
7
0
0
-32
3
1
1
-17
0
0
25
-67
0
0
-5
0
0
63
-58
0
-1
-31
-2
-5
-62
-77
-3
0
1
0
1
-9
-14
0
0
-35
41
-6
-2
-21
0
0
5
0
50
0
59
0
0
22
0
-43
0
-4
0
0
0
0
11
0
-21
73
0
0
0
0
0
100
0
16
-69
0
0
6
-5
0
0
-4
0
0
-1
-94
0
-34
-48
3
0
9
30
0
-9
-25
0
0
54
-126
0
-17
17
0
3
0
-46
0
0
-33
0
-7
0
-13
0
130
11
0
-9
0
88
-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
22
-35
0
3
4
0
0
23
34
0
55
-100
0
0
-44
-23
0
0
-49
0
0
4
34
0
0
-40
-1
0
-2
-131
0
0
-4
0
0
0
4
0
-7
1
0
0
0
-52
0
0
0
0
0
0
-25
17
46
0
0
0
0
-124
-8
0
-3
0
0
0
139
0
0
11
0
0
-16
-82
0
0
-91
0
0
-51
-172
0
0
-40
0
0
-31
-65
0
0
60
0
0
0
-151
0
0
0
1
0
0
-56
0
0
-4
0
0
0
71
0
0
0
0
0
0
-57
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
-49
0
0
0
0
44
0
0
20
0
0
0
-12
0
2
17
0
0
0
75
0
-27
0
10
0
3
43
0
4
13
0
0
0
13
0
0
0
0
0
0
-154
0
-3
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
10
23
-20
0
-40
18
-41
118
-25
-49
23
-19
-26
-49
-56
-23
-2
-152
-17
-20
51
-66
-30
-21
-46
-211
-41
-65
15
-68
-42
-30
-45
-8
33
-55
151
-64
-9
2
7
0
27
21
40
105
31
6
4
-19
167
-4
16
-62
25
-157
-50
41
-3
25
11
39
-51
15
-15
13
171
-60
-12
-36
72
3
-2
-52
-24
8
104
22
21
-21
55
94
9
-110
-15
-31
-5
95
-147
-8
-20
-69
-39
128
19
71
-10
38
-74
-34
-8
45
1
3
-110
62
77
27
-71
22
-5
-60
-10
-14
-52
-3
128
14
-75
51
41
81
33
-45
7
39
48
18
29
99
-14
1
69
30
9
-73
-2
-41
-8
42
-3
0
-70
56
-2
-14
85
21
50
16
88
-71
3
6
-36
31
37
36
34
-13
67
13
-76
-55
9
-17
3
5
71
37
-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
-28
45
-32
30
8
-17
-3
25
7
28
-21
7
73
-30
16
9
9
-38
8
7
-14
-13
-7
79
-35
21
18
-9
-36
-31
62
2
-12
-12
13
-1
-23
69
80
-46
-9
6
5
-2
-5
24
-32
-4
84
-60
33
34
-145
-86
-68
-58
-87
0
25
-61
1
20
-35
-74
14
-19
-50
-75
40
2
1
8
-52
4
-5
-20
-51
-6
-5
3
-35
3
-44
27
-37
-7
-11
-43
6
1
-35
-37
-1
-6
14
8
9
-10
14
-9
128
-11
9
29
-2
-10
-19
-26
11
-15
58
12
-3
-9
-12
-2
-105
-47
169
-57
0
28
35
16
-18
-64
-126
-28
-91
-12
-56
26
8
-34
-5
7
-8
-6
13
-40
-14
-14
15
-3
2
-4
5
-40
2
-43
5
23
-7
-45
52
-20
45
-1
42
21
25
10
0
31
-2
-12
63
24
45
-12
-1
9
-28
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
6
41
25
159
-3
-110
-27
56
101
0
32
39
0
16
158
34
0
-20
-60
8
-6
-67
-66
0
-26
41
0
-7
94
14
0
-20
-44
41
0
-18
14
0
0
7
-6
1
0
35
-54
99
0
-16
0
0
60
45
16
-51
0
0
-19
-2
2
55
-10
7
0
86
30
0
66
-78
-5
0
19
33
-2
-43
45
78
-6
-48
-23
0
-2
-21
53
20
-1
-54
11
0
9
-118
-1
5
14
0
22
9
15
-38
0
101
0
0
1
1
3
0
3
-3
0
0
0
-35
-3
124
-78
-12
18
-8
0
25
73
15
-32
62
0
0
54
-14
0
-66
77
0
0
24
34
0
-23
77
0
0
50
-46
0
-47
-20
27
33
-8
-52
-12
16
-6
9
0
0
8
0
0
32
-11
-4
0
26
0
-8
-8
-3
-4
0
51
25
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-5
52
31
7
12
38
-51
11
56
4
-8
-89
26
10
-1
-27
96
-14
76
34
38
0
-70
-2
-39
-21
-109
0
18
-19
-83
-24
0
-18
-2
0
-8
0
-26
0
-28
-43
-36
0
-37
52
25
-48
20
0
-63
9
0
104
48
5
7
50
18
0
-91
-54
-9
22
2
7
0
51
78
19
-43
-55
27
0
-22
42
-8
-1
-51
14
38
30
2
-1
0
-3
82
30
-1
13
0
0
41
0
10
0
-10
0
0
-12
-30
83
0
-18
0
0
0
0
12
0
-30
-80
0
37
0
0
2
89
-6
21
-3
0
13
-6
61
0
111
18
0
-2
33
23
-2
70
-100
0
-5
-3
36
0
-48
-21
16
44
71
24
0
114
6
-1
8
0
-10
0
-4
119
-58
0
0
-84
0
30
-7
0
22
0
-51
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
-66
55
31
30
31
-26
66
23
2
45
24
10
38
-62
6
8
31
-82
48
9
-28
4
-5
35
-61
9
-55
20
-61
0
-148
-2
28
17
32
-162
-5
-94
-15
39
90
-5
-52
12
-41
-17
-64
1
58
-24
48
34
-59
8
-33
118
79
28
52
4
78
11
0
33
51
87
64
-34
72
51
8
15
50
3
36
17
-42
9
11
42
-2
22
-105
36
-13
-7
26
-62
32
16
32
-46
6
-105
-34
9
7
59
-9
-20
50
-1
26
-11
11
-60
3
-48
-70
-14
-33
19
52
23
29
62
54
-131
128
101
43
-80
-5
33
-25
-80
43
56
9
20
18
-3
2
-12
16
-54
8
3
-36
-54
38
7
59
56
-2
-13
-56
-10
-18
6
-15
15
40
61
69
-18
-176
-80
39
40
20
-77
3
-70
8
-52
76
39
-42
-9
-35
-35
-132
-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
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-16
7
-54
5
0
-81
-35
0
0
-85
0
0
-80
54
0
0
-30
0
0
36
-51
0
0
15
0
-2
0
-128
0
19
-18
-25
0
0
-104
0
0
0
0
-4
0
-13
0
1
0
0
0
0
106
-4
0
-7
0
0
-14
33
0
0
75
4
0
54
-26
0
0
13
0
0
47
11
6
0
-75
-2
0
-34
-47
0
0
85
0
6
37
12
0
0
87
-17
-4
6
13
0
0
-6
0
3
0
-18
0
0
0
0
-10
0
-33
0
0
0
0
0
0
-48
-6
0
-13
0
0
0
40
0
21
0
0
0
0
-61
0
1
92
26
0
-67
-17
0
18
-6
0
4
-20
-68
0
-14
6
0
0
-1
-23
0
-23
11
0
0
0
7
0
0
31
0
0
0
37
0
49
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
171
63
-25
0
-8
30
0
0
-18
0
0
-32
-53
0
0
64
-2
0
-12
-156
0
0
-47
0
0
0
8
0
-74
1
-19
0
8
28
0
0
0
0
0
0
76
13
-1
0
-40
0
0
-26
5
0
0
0
0
10
54
0
0
-2
2
0
86
112
0
9
-48
0
0
92
-41
0
0
45
122
0
41
29
0
0
52
0
0
0
98
0
0
-39
-4
0
0
-40
0
0
116
0
0
0
21
0
0
0
-2
0
0
21
0
0
0
0
0
0
-6
3
0
0
0
0
0
-59
0
-82
12
0
0
5
96
0
-12
21
0
0
37
90
0
39
-12
0
0
0
-67
1
-1
9
-3
0
0
44
0
-17
-12
0
0
0
-78
0
0
-3
4
0
0
0
0
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
73
108
-12
-66
59
-65
-28
46
1
-61
-22
40
-88
-3
-75
-41
-18
26
35
-44
4
-39
4
-9
-12
5
-21
-9
15
60
27
-92
27
9
3
-22
20
-91
52
-10
-24
20
0
74
6
-80
-103
-14
-23
-79
-13
-79
-14
-50
-50
19
13
68
26
57
-14
2
2
32
-70
8
31
122
-54
-10
-80
62
-23
34
39
-33
-2
-22
-17
-26
-1
31
24
-6
11
89
-8
-129
6
31
-3
6
-13
-33
-2
18
-4
-3
-40
-163
-84
-44
-49
-1
-9
-21
48
46
60
-10
-80
-24
-52
60
34
6
29
21
-13
106
17
10
34
19
-40
5
-22
35
44
1
-5
49
-5
-37
-21
5
50
39
43
20
49
19
38
158
57
34
1
-25
29
17
17
42
-94
0
21
-4
93
126
16
77
11
46
-16
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-89
-89
-64
-50
34
-50
-32
-126
7
-51
3
1
-3
-19
41
35
33
-24
-15
25
25
-22
-23
35
-28
9
-141
-20
79
-24
38
45
2
-51
-16
17
-32
-8
27
-41
181
39
21
39
41
-41
-30
-18
0
-19
-11
2
-104
-61
-42
0
-51
-39
3
-8
12
-59
-22
-15
36
-56
39
97
-15
-37
4
36
-9
-36
15
6
-32
87
46
43
-16
28
42
-25
42
-7
54
35
22
-77
-2
-10
-2
50
60
34
-109
0
25
-9
-37
9
32
-1
40
-8
-20
0
-289
-43
-79
-35
47
84
30
-50
-39
39
0
63
-42
-48
-33
-111
-42
-68
3
40
22
-8
-25
-65
2
-33
18
-5
-5
-13
5
-5
51
6
27
43
39
-5
-4
-2
61
-23
42
19
13
1
-11
13
77
-16
51
-98
9
-11
-40
-148
35
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
-23
-66
-5
-7
9
0
-15
37
-2
5
51
-26
-124
-8
94
-25
5
0
-7
1
27
-8
7
0
-31
-3
16
-10
4
-9
0
0
3
0
-9
-4
-23
11
-25
-12
0
-6
-8
22
-21
34
-5
0
0
40
-10
6
69
-68
6
0
10
-67
0
22
43
0
0
28
-41
14
-75
-20
22
28
-8
-11
-3
15
-50
0
10
-53
5
0
4
87
-36
44
29
23
0
0
-12
2
50
0
-75
0
0
-72
6
-17
0
-71
-2
0
0
0
23
0
44
-27
-10
168
-8
8
0
17
0
-90
-21
-5
17
64
-9
0
-19
-12
-14
0
12
-42
2
40
30
-37
-2
-29
-6
0
74
-48
-5
0
2
13
-12
143
-15
-11
6
0
-82
0
-20
71
3
12
0
-21
0
41
-20
-9
-15
0
-56
-24
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
-11
-3
-32
-40
-7
6
-99
-16
26
53
-14
10
66
46
12
-6
-21
-23
-2
50
10
2
1
-11
25
0
-101
46
-40
-51
-37
-24
13
-18
-7
-74
-25
-33
-92
10
-8
23
-46
116
67
70
-12
13
4
-5
-50
62
-25
1
-47
-63
26
2
-61
-18
-12
29
-35
-15
-34
86
-45
-25
-22
-60
-17
41
30
-33
-4
0
-20
4
4
14
-27
15
-92
-49
17
50
25
-32
-8
8
-49
20
21
5
-56
30
-42
11
-49
12
-10
-89
20
29
3
-34
53
22
-78
-2
-14
-37
15
-42
2
15
4
18
-8
1
45
-57
-14
-6
-6
-29
-5
34
42
-79
-13
-8
-20
-8
-28
40
-40
9
-61
-2
-22
80
33
-35
0
-43
5
5
-40
29
62
0
-25
-11
4
39
-51
-41
27
-5
-100
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
-36
25
-11
21
-21
-16
-36
20
-12
1
-27
-9
-10
107
20
11
-75
21
-20
-19
31
1
-13
-21
18
-9
-16
24
-117
-6
-33
-3
-31
-1
-10
7
-1
36
5
-95
9
-27
16
75
78
79
-41
-21
-20
10
55
-25
-17
25
9
10
55
58
3
42
42
21
27
11
46
33
63
-18
-14
-18
17
28
2
30
23
-17
36
-31
22
4
-18
39
8
60
56
44
32
18
-78
10
-11
-6
47
8
-9
10
11
-47
-61
38
-20
-31
-16
15
-46
-144
-79
-93
-61
-53
-17
52
8
23
-32
17
2
5
-25
1
-10
11
-58
28
-5
8
72
27
-51
-11
-2
-7
-41
26
32
7
54
-28
-1
24
-5
19
109
14
37
5
-3
-4
18
8
28
44
-2
18
12
-56
-1
-18
49
23
16
93
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
-217
-41
-20
110
-39
-14
35
115
-8
-40
83
4
-13
7
137
36
16
82
-31
-25
-2
20
-46
-5
26
31
-13
-71
-7
-8
-7
-47
-3
1
5
-1
-2
-9
-79
-18
-2
-21
23
-139
0
-26
-65
19
82
-68
-43
44
19
49
-4
-36
254
21
-3
70
73
-27
-60
-45
24
11
29
42
-14
54
24
45
64
33
72
-30
89
-17
37
29
-79
49
-12
0
-21
14
-14
22
54
3
-12
23
6
68
5
-7
12
-6
-23
17
70
-35
-17
-18
-27
-56
-94
0
-2
-50
10
-56
36
84
-11
145
-24
-24
-56
2
-16
-25
-37
11
9
5
10
55
-11
-65
76
-41
2
49
1
-40
57
85
23
26
16
73
-6
-84
86
-5
21
-36
43
-25
56
24
-22
-10
1
38
-5
-9
-7
16
7
-70
70
35
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
-22
3
0
0
-16
15
0
-18
60
0
0
-71
3
0
-31
-55
0
0
-70
0
0
2
-20
4
-76
-27
16
0
0
-5
0
0
3
0
0
0
-15
49
-8
0
-11
0
0
1
14
0
0
-4
0
-33
19
4
-8
10
2
0
-2
1
-2
-7
2
0
0
-49
1
0
-18
17
110
0
53
-36
0
0
63
-12
0
37
-35
24
8
28
-27
0
5
-10
0
24
-6
0
0
0
16
0
0
-3
36
0
0
-28
0
4
0
0
0
0
-37
92
-4
4
0
0
15
5
-4
9
69
1
0
-1
42
0
-22
49
9
0
-31
34
-12
73
-5
-24
0
-62
-45
0
-15
-77
4
0
-8
14
0
-54
-9
-3
0
0
-1
0
0
9
-9
0
0
1
0
21
0
0
0
0
67
44
-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
-65
14
-4
72
16
10
2
-76
13
-45
22
9
70
-23
-10
25
-17
-7
15
11
-1
-2
7
0
24
-28
19
-3
15
19
-11
1
28
48
-50
-6
39
34
51
59
-23
-24
7
27
2
25
36
17
26
15
6
108
-4
29
-93
66
12
-3
8
42
15
13
136
10
1
89
38
1
46
38
-26
8
-32
-38
-7
13
42
11
12
-47
-49
24
28
23
8
4
36
-52
29
25
16
-86
19
9
27
-35
-82
-1
-36
8
-5
66
128
81
-38
-70
4
5
14
14
-58
90
-17
1
67
7
35
55
-63
51
-2
-60
31
-8
36
1
-32
-6
-52
-17
4
1
-31
52
15
-59
-1
-27
42
-1
52
5
0
8
6
19
16
10
7
-74
-18
26
-84
-19
-44
8
30
-42
-61
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
-47
-22
16
17
-25
-13
18
-66
7
-10
-18
4
-35
36
-7
9
-31
-13
-32
-24
72
-4
-11
-44
-1
23
-11
-7
-41
-56
-12
6
57
-1
-11
-57
-60
-126
72
26
48
22
-28
35
-45
30
45
4
62
-24
17
-35
29
25
0
53
40
-11
3
68
-30
3
-26
-1
-5
-12
27
-14
10
47
-77
-3
-26
-16
45
4
59
41
42
-23
17
7
-13
8
-71
7
33
0
-8
10
-36
-38
-69
32
-6
-42
11
50
76
25
26
-8
-42
36
-81
-38
-15
-130
-24
24
18
77
1
73
43
-7
68
0
8
26
-7
-21
29
-48
-11
-38
7
-44
5
20
26
5
62
-42
-45
20
-23
9
27
-183
-12
9
-1
-14
44
9
-63
-7
45
15
-5
11
32
34
27
-52
21
-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
-5
-20
-7
0
60
0
-19
7
66
0
0
-77
0
0
0
8
0
14
13
21
-13
-10
64
0
0
0
0
-10
0
26
63
-15
0
0
16
0
26
70
0
7
0
0
0
50
58
176
-26
-18
0
45
-30
0
-23
-22
0
0
98
-66
-7
-11
-78
19
37
-43
-2
-4
-3
-2
-24
2
2
25
0
0
16
5
-9
0
27
5
4
-5
0
17
0
17
0
0
-1
6
14
0
-96
0
0
0
0
0
0
12
-18
5
0
0
0
15
24
-3
10
78
0
0
-85
-49
0
-70
-17
0
0
-5
-141
0
125
82
-4
-6
-24
-28
-3
-21
0
4
0
0
70
0
-91
9
0
0
-1
-64
0
13
-45
52
0
0
23
0
101
-2
-14
0
0
-26
-42
0
0
-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
11
15
0
-1
69
-37
5
-50
-2
0
23
-43
21
39
-40
-13
0
-36
106
97
-9
0
64
0
0
19
0
70
0
11
116
50
0
4
3
0
10
32
0
-11
25
-2
10
-2
-55
31
-42
34
0
-27
-135
-6
-2
67
0
6
33
28
0
68
-114
-48
7
-66
8
1
-37
-55
-10
-33
-9
55
31
-3
32
56
-41
3
23
0
-2
24
-6
-41
0
4
0
0
55
-50
-38
0
32
0
0
0
-22
34
0
-9
-76
0
20
0
0
26
-53
96
-58
93
0
0
33
-10
-2
17
9
56
49
10
13
0
44
-4
11
-1
8
-11
4
-67
82
-38
9
3
22
0
16
-12
26
-1
3
40
0
0
2
-33
8
0
30
0
68
-5
-10
-7
-4
-89
-14
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
-7
9
21
11
30
13
-67
9
-3
61
-71
-11
-79
25
27
-6
79
-16
39
-14
-28
10
-4
64
60
-75
27
-35
-33
15
9
-21
-19
-23
-43
-12
51
1
50
70
-152
24
19
37
23
28
41
3
-46
51
-15
-100
-16
72
-1
-26
58
2
-21
25
35
-18
18
57
13
127
0
18
-14
27
27
-1
-22
17
21
23
44
52
-2
37
-80
6
-53
39
-24
-5
44
-27
59
-30
0
29
26
11
16
14
0
48
-79
24
26
11
76
17
47
74
20
75
19
-51
-13
47
75
22
19
-17
38
-8
-2
21
0
-82
29
2
75
-40
-16
11
-150
9
27
-2
46
19
-4
-76
-13
13
12
8
37
9
22
6
37
14
1
30
7
-59
-4
-64
-67
31
-101
10
10
-23
-163
-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
41
1
8
22
61
35
18
8
-43
0
0
-12
0
-5
-89
-94
0
-5
52
136
-5
6
-50
0
-2
-23
0
-2
0
-50
-34
-43
0
0
0
0
-120
6
0
-5
0
0
20
45
-3
13
22
-1
0
53
31
0
-10
-32
1
0
66
-64
0
-2
43
45
-11
41
-72
0
3
-153
0
79
13
4
0
82
-102
26
153
26
-20
0
7
-29
0
30
2
3
0
0
58
-5
132
0
-34
-4
0
0
0
6
0
-105
-25
0
-2
0
0
0
6
-6
86
-34
0
7
-5
-11
0
-11
94
0
0
25
-62
0
64
-22
0
0
17
37
-3
16
-65
-18
1
61
-64
0
-57
-88
0
-3
29
-25
0
1
40
21
6
0
-15
0
-43
15
0
-11
0
-76
-11
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
14
1
35
-92
0
82
-26
0
0
-11
0
0
10
104
-7
31
-16
21
0
-6
11
-2
0
4
-2
0
-20
3
25
-29
2
87
0
0
34
25
6
-13
0
0
-61
-12
1
109
23
16
6
50
12
0
10
-22
0
0
84
-21
11
46
-46
-32
-4
30
44
4
32
-2
16
0
45
-42
25
26
72
-107
0
60
-30
0
32
37
0
0
-2
4
0
5
-36
-64
0
0
1
72
14
0
48
0
0
21
48
21
-9
3
0
-11
-19
-35
-23
43
44
0
23
17
3
56
-9
59
0
83
-28
1
-51
20
-25
0
3
53
-11
17
-38
-43
0
10
5
0
-39
140
-6
0
-112
-38
0
-5
26
15
0
-9
22
0
29
-42
0
0
0
22
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
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
111
19
1
67
-93
8
-11
-19
2
-52
-29
-17
67
-7
-34
-30
7
-71
-27
-5
40
-23
39
-17
52
-7
16
11
9
15
57
-16
-35
-40
17
-29
52
25
-11
81
-123
-16
-8
18
5
75
138
-41
-3
-6
32
9
-1
78
-4
-17
124
24
-23
-27
6
20
55
20
128
29
20
55
-41
-22
37
22
1
-39
-15
45
-4
67
17
-9
-42
2
4
21
-15
-30
-63
15
-36
-11
0
-27
-7
195
26
15
40
27
46
-29
-16
10
-16
58
3
-29
-15
42
-34
121
-37
6
-24
-50
0
-21
29
-62
-16
-4
-13
-30
-23
-55
18
18
71
-24
11
-93
-112
-11
6
37
-117
-9
-31
28
25
18
12
0
-21
-52
-26
-14
7
-31
-64
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-19
3
-36
-69
25
-20
-41
-11
12
1
-77
25
-12
39
33
-5
-22
-50
-59
-4
-8
-1
82
-15
-82
-111
-3
38
-55
-3
-109
-31
24
4
-37
-10
10
-21
-108
24
-5
-4
-24
-6
-33
-37
29
8
32
-6
13
7
-23
14
0
17
-20
-12
43
-52
20
21
35
21
1
18
23
3
-10
11
-46
28
-48
-41
57
18
29
22
19
17
-30
-35
18
57
-49
-13
-19
-57
-24
16
42
41
47
-42
-104
17
-6
-55
-3
-16
17
25
25
7
48
-25
38
7
118
55
1
82
-14
5
-26
4
3
0
88
-2
25
-46
63
-8
-7
41
-22
-3
-23
56
-5
17
-35
-21
0
26
-8
-42
9
-22
-16
44
4
-38
-129
21
-27
-16
-37
-13
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
-33
30
-4
0
1
0
0
0
-51
0
15
-17
-5
0
0
25
0
0
1
0
1
0
-6
26
-2
0
0
-9
0
19
-20
0
0
0
0
-50
68
1
19
-38
-16
0
-14
-5
0
85
105
15
0
-9
-68
0
-21
11
16
21
-20
-130
0
-5
51
-6
-4
0
-22
0
-23
-28
5
0
3
15
0
0
23
0
-1
0
6
0
0
25
1
48
27
-21
0
0
0
0
44
0
-35
-12
-10
-12
0
0
0
-26
0
-26
17
0
0
1
-42
3
-11
30
16
0
-2
-41
8
72
-52
10
1
-7
-67
0
-26
62
4
17
-12
-24
0
93
-41
-3
0
38
-29
0
-2
34
0
0
0
-69
0
56
0
-5
0
0
-1
63
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
38
0
0
-6
-42
0
-21
-38
-3
-13
-70
112
73
37
7
29
-4
0
-13
-12
-7
0
45
-85
90
0
79
0
0
68
-31
0
-25
0
0
88
-27
-7
-4
30
-11
7
-35
18
14
124
-10
10
9
-20
14
-7
-8
26
36
-6
-27
21
8
0
45
1
5
35
-29
-13
9
-55
87
-25
0
23
0
-7
95
0
39
0
9
0
22
75
52
73
8
79
-5
0
0
-3
-4
0
-25
-95
0
-5
15
0
2
75
76
-18
-2
0
-6
-12
-22
-5
0
-9
-2
0
-19
-31
-2
-30
16
0
0
-18
47
-4
0
118
74
3
-32
14
20
89
-68
-5
1
-20
-43
0
0
-12
117
-5
0
13
-11
35
-6
0
-4
0
-4
18
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
123
-119
28
-2
15
-19
4
81
-11
-24
-19
-39
109
-1
-39
-51
16
-100
-31
-10
25
-20
-2
-8
-9
-42
35
23
13
-97
74
48
66
3
8
-6
3
29
3
-19
21
-17
15
-10
22
-70
-12
-13
-19
92
-12
-13
-20
-3
23
-8
15
7
-17
-91
-12
42
42
42
-95
59
15
-5
62
9
-109
42
78
-40
24
-35
21
71
-152
-7
12
-31
2
27
-86
-43
-11
-73
-1
-21
5
-3
-14
40
-81
-7
11
3
41
-16
-24
-48
51
10
-4
-97
-47
15
13
15
-109
6
-38
-19
66
-48
-49
-26
9
60
-25
-16
-34
-108
-41
-5
-60
23
48
-122
-25
41
3
-77
-18
-104
-36
25
-31
12
23
-14
-42
86
-2
-5
13
-14
-208
-88
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-139
31
13
26
60
-45
-15
43
-20
-62
-17
12
-1
-9
40
19
-8
-45
-1
-28
17
-61
-13
-1
-44
19
-19
-8
46
46
0
1
-43
5
40
-19
28
0
-48
53
9
193
63
28
2
-27
0
-34
107
35
5
-7
18
66
20
15
90
13
110
14
72
-12
70
-112
5
115
-60
109
1
-35
79
50
-23
34
46
19
35
123
24
84
-20
16
-16
-73
36
1
-14
-40
-11
-42
3
23
67
0
-3
-37
-6
80
55
6
1
-31
8
16
6
116
16
16
81
-11
-4
105
-27
37
74
-188
56
-15
3
-80
-1
40
-129
145
17
-43
39
36
67
-33
-70
0
40
7
21
57
44
-1
-12
90
1
-62
-24
-84
4
-13
5
117
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
-44
-4
0
-26
53
0
25
12
-44
0
-33
-36
1
0
0
-12
0
0
20
17
52
0
-55
0
0
-13
55
0
-4
-5
0
6
-11
-31
-74
4
22
0
40
18
-7
172
-59
-4
0
-46
1
18
-83
-14
-99
0
-42
-45
-34
55
-78
32
0
24
-15
6
21
-34
13
4
-16
-2
0
-35
7
2
0
3
-18
-3
42
27
64
0
0
-9
-13
0
-7
64
0
-1
-20
-69
-8
3
-49
0
3
20
17
53
141
0
0
-20
-36
15
38
-36
0
0
35
21
40
70
-8
-20
0
82
-13
-41
-76
63
95
0
7
6
0
-48
-7
7
-26
70
7
0
-15
-2
-9
0
-56
-17
0
-53
39
-15
0
0
-13
-32
-18
17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
85
-10
28
9
16
21
21
7
34
-17
135
-26
-12
0
11
8
4
0
8
33
83
-12
-22
39
-39
16
-18
-8
-11
-28
-34
-13
-9
-50
-90
19
44
-8
16
45
13
-126
-13
-117
-8
-5
22
34
-138
-23
34
-35
9
0
38
47
32
40
-17
-1
13
-1
148
-15
54
-75
26
46
17
28
12
-17
40
2
-17
27
-2
14
28
-19
56
-74
-24
-13
-48
-46
185
138
-34
-14
-51
-16
19
-7
21
-59
-52
48
-6
-93
5
6
22
119
86
16
5
16
-18
-172
-19
44
-16
-73
30
-40
-39
-62
4
11
-35
6
1
-78
15
-99
-6
49
12
20
4
-21
-62
-5
-89
-15
-73
4
2
10
-32
-11
8
-88
-16
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-86
12
-12
-2
-100
-4
-2
31
53
-5
-68
-65
-21
-13
10
-4
-17
-86
-88
-46
6
5
92
15
-75
8
-39
16
-49
1
8
-23
-45
14
8
67
-38
5
-35
-95
-13
12
17
-45
-16
-35
-30
28
13
51
17
34
-16
9
55
0
19
13
38
8
-23
20
10
66
-18
-9
-63
18
-10
31
-23
-37
28
-75
-7
-44
-10
-43
4
-16
-30
-39
-73
5
-13
-37
91
28
9
-12
31
66
-10
3
14
30
48
27
-17
62
21
-20
-43
20
11
6
-28
9
3
-44
-8
4
-65
5
-11
-15
8
-1
0
-9
-14
-15
-28
5
0
9
26
-3
12
-8
-13
-62
3
-62
-7
37
-71
-44
-24
6
-16
55
22
-88
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
0
-119
10
44
0
0
63
0
0
10
0
0
0
-124
2
21
0
0
0
0
-70
-5
0
-17
0
0
-1
-25
-5
12
-2
0
0
3
39
0
5
30
0
0
63
-42
47
12
-94
-28
0
-11
62
0
0
66
0
0
0
-76
0
0
11
54
0
0
41
0
0
2
0
0
0
-37
0
-3
-3
34
2
0
-51
0
0
-12
0
-3
0
20
-35
0
0
0
0
0
-81
3
-9
-2
0
0
-1
-42
0
-11
34
0
0
0
1
0
-20
-27
0
0
0
28
0
-16
-6
0
0
0
57
0
0
44
0
0
0
-39
0
-22
0
-11
0
0
-25
0
-40
3
0
0
0
-47
-9
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
24
6
0
-2
-80
32
55
0
38
0
-4
11
0
7
0
-61
-8
-17
0
-15
-7
0
48
12
0
31
0
0
-22
16
7
18
60
1
0
119
39
0
0
-144
0
0
-10
-17
0
0
68
32
0
-24
-73
0
0
-39
38
-13
-5
89
-3
0
-56
-29
4
-5
-63
-1
16
-17
8
88
0
-46
0
5
-4
-4
61
0
-48
0
0
16
0
0
0
30
-3
0
0
1
0
-12
33
0
30
5
0
0
-3
78
0
10
-33
0
0
-12
-2
0
-36
26
0
0
-9
-110
0
-7
14
49
0
10
-5
0
13
-2
0
0
-1
-82
0
0
-9
71
25
0
-34
0
22
-34
-12
3
0
-33
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
-37
30
-2
-21
4
2
-9
50
5
187
151
21
-85
14
-12
15
7
-28
-1
-30
-1
65
3
-69
-26
17
14
20
-57
13
-53
-13
25
-7
24
10
28
6
63
-16
-49
31
-10
36
167
-22
7
23
-48
-3
-20
59
-58
-19
25
11
-20
25
-67
-3
17
29
-1
35
-3
-100
-16
-40
23
40
29
15
90
-30
5
-20
-26
-10
25
8
24
-2
-113
-38
4
-19
1
-2
-24
1
-28
-17
-5
-20
-60
9
3
11
-22
49
98
51
-11
35
-41
-17
24
-87
-79
-50
-71
34
10
21
-85
-30
-72
11
-1
-54
-14
-8
-20
-42
-59
-146
-39
10
45
-40
-78
9
-22
-43
12
-37
-20
126
-159
-24
-6
6
-44
40
150
2
-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
-41
7
0
72
-42
52
-27
2
-13
0
0
-3
50
9
0
49
-78
159
0
-12
-26
0
-26
19
0
-9
0
0
79
50
70
17
-50
-37
-10
-33
-25
-4
-7
-13
0
7
81
-18
0
-9
-34
-16
17
43
-69
0
-2
22
0
-16
-77
11
-3
20
43
-27
32
-40
9
0
1
-77
0
-38
-7
18
0
-15
27
16
-21
0
29
18
0
0
-7
0
0
-52
-38
0
8
0
0
0
66
0
-18
0
0
3
-14
-5
4
164
-9
-15
0
-14
-14
0
-38
4
-7
-7
4
-27
0
-5
-105
13
45
0
-2
-3
57
-57
0
0
0
74
0
0
127
0
-31
-10
18
0
14
-15
0
-1
0
122
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
74
85
-9
-23
-55
16
25
36
-18
35
18
-45
32
-4
15
99
0
0
25
2
25
-24
0
0
-61
11
-29
60
35
84
0
84
5
0
-28
44
-6
0
38
-10
14
62
27
-9
0
-53
-29
30
88
-37
-17
0
65
44
-10
5
0
79
0
108
2
0
61
38
21
0
17
-11
5
-13
117
27
0
0
-36
14
51
0
7
0
0
-1
53
-17
27
-5
0
20
34
-9
-32
138
0
0
-3
-43
0
8
111
35
0
-72
27
5
-41
-36
-21
0
61
27
14
-100
-93
-13
0
-105
-8
-4
-37
58
-59
0
105
4
0
17
79
78
0
51
8
0
0
69
-14
9
0
-47
57
0
53
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-11
-34
10
29
0
-12
-19
-5
0
-33
19
0
9
-28
1
-7
0
9
-7
-33
6
59
5
-45
-112
-21
46
3
2
3
1
7
-58
6
-3
84
-22
11
-98
-64
50
-10
29
-23
75
46
33
43
-7
-20
-52
-22
-31
-12
-9
-6
19
-38
87
-28
-3
17
-26
44
-41
-136
57
0
6
-10
-11
-2
37
-25
-3
-36
8
19
-21
5
0
8
-52
6
34
-39
-7
50
-33
39
16
-59
-28
70
-56
6
2
-4
3
-1
-4
-49
17
-27
-18
7
-82
-13
25
0
49
0
-92
-18
-91
-29
-6
-19
0
-15
81
22
-8
0
-49
0
-31
-33
-27
-11
0
-17
12
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-42
12
-97
-19
40
13
-20
-6
-6
45
-114
63
-103
11
-39
88
19
-81
7
38
-10
-57
10
-4
-28
-18
-7
-19
4
22
12
-20
-21
-8
-16
1
16
1
-55
-28
33
0
-53
-6
-7
-11
-12
71
-11
-55
39
17
-3
4
24
0
-1
-9
-28
-95
18
46
29
8
-78
-14
-41
34
53
6
11
12
-47
-104
-38
20
18
20
103
45
-82
32
-62
30
-84
-21
33
-42
22
-5
6
19
67
-4
-50
76
-9
13
0
-24
28
-10
-56
-6
4
20
-41
-25
6
19
-39
3
-47
-6
-27
-93
29
-24
0
-9
12
27
41
-67
-1
34
82
34
-10
125
-16
-35
7
-68
-58
35
-156
182
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
84
0
-5
-9
-11
0
0
0
10
-98
14
0
0
0
0
80
-36
0
0
174
-1
0
7
4
0
0
146
0
0
-11
-36
0
0
104
-3
0
-7
41
0
0
61
0
0
23
-107
0
19
54
2
0
21
-54
0
0
2
0
0
0
-96
0
-1
24
-1
40
0
16
0
0
0
0
0
0
-42
48
0
14
0
-7
0
4
0
27
-33
0
0
0
2
0
0
0
20
0
0
-52
0
-2
2
0
0
0
18
0
26
13
0
0
0
-34
0
1
25
0
0
0
48
0
8
-34
21
0
0
-78
0
-40
-8
0
0
0
40
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
129
-67
43
8
-27
-65
-18
-9
-88
-53
23
-41
-17
6
-3
-107
30
-69
18
11
-21
15
-14
-1
27
64
-30
-23
36
-19
-30
60
74
-27
-2
-5
3
-10
38
29
3
-6
-31
12
2
-1
14
24
-7
-5
38
13
-15
7
69
24
-39
57
27
73
25
21
51
-10
3
48
7
6
-33
2
-46
-21
-139
14
53
13
6
0
11
-138
67
73
-84
-41
-84
8
17
16
84
11
5
-53
80
-4
-20
32
-53
-14
-90
-26
-4
-16
-15
-35
-4
-99
-3
8
-19
60
-17
10
103
-41
2
-18
64
-26
-12
-20
-9
-34
14
19
-66
8
18
-177
-14
1
-3
3
-3
22
10
22
43
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
32
2
37
-8
45
117
-143
0
-6
32
34
-6
-45
0
31
4
-12
4
45
-21
-37
-61
-19
146
-61
-4
-67
6
9
31
20
21
-17
-2
-9
33
46
126
-25
-7
-64
-11
-72
49
-83
-14
12
76
-38
-72
-28
-72
-6
-79
-11
-95
28
25
22
-33
-78
16
63
-9
15
-70
12
1
-38
-3
-5
2
53
11
-1
10
-108
30
17
-18
-39
42
-44
-1
-110
-42
-21
-21
22
34
4
18
39
24
-43
-14
-61
19
-23
16
-37
-40
-35
4
18
-71
-17
-16
27
-88
-16
54
-95
8
-34
-1
11
-47
76
-10
26
15
-54
-51
-14
-51
26
-16
-6
26
-2
-26
0
0
-30
-60
76
49
-120
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
-44
62
-26
-42
-18
25
24
124
27
12
15
-4
-21
-29
-7
5
-7
24
-68
-8
12
-19
-10
36
27
22
6
63
4
0
9
46
24
-21
-15
58
-16
-81
101
16
-110
62
73
26
-3
-46
35
15
21
69
2
-1
31
32
-5
-5
15
9
0
10
-3
-19
-12
-60
15
-21
-7
-18
-1
45
-4
25
19
53
53
-14
-13
13
-12
-20
62
-25
0
-20
-36
-11
96
6
3
-1
-54
14
7
93
-18
56
-15
46
-5
27
-11
22
43
118
38
73
-18
-56
111
31
-38
33
146
40
-100
78
18
25
50
51
-4
8
4
-9
-58
29
3
2
20
-16
-5
-33
53
4
11
-4
-18
-28
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-9
-24
-22
0
0
46
14
78
0
6
0
0
30
-53
0
21
-20
0
73
18
32
-36
4
-51
0
-2
19
-32
-35
-10
-3
0
29
1
1
-25
-8
-10
0
32
-10
7
0
23
1
0
30
-28
-2
-15
-23
18
0
-52
29
0
1
17
-11
0
-23
-17
18
15
-31
21
0
0
31
152
-16
0
24
0
-12
40
56
0
-65
-25
0
-78
7
-7
78
-3
0
0
-45
7
0
-20
54
-35
0
63
30
-1
-59
71
149
39
-28
36
-10
83
7
-33
0
4
25
0
-36
52
5
0
32
55
0
-19
34
73
0
-16
-45
0
12
-4
9
0
0
3
49
2
-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
34
20
27
0
-4
0
0
-62
-17
0
1
0
0
-3
-57
110
13
11
83
0
-9
-65
0
31
36
-4
19
7
5
-1
13
19
4
17
-18
-47
26
99
-25
39
129
0
67
0
10
55
-9
-7
3
-18
0
3
-71
-10
-204
0
118
-15
8
-7
54
-49
0
3
-23
0
7
2
0
9
-46
44
0
0
0
0
-12
7
0
34
32
6
-3
0
10
0
27
-36
-2
18
-40
4
0
-94
-8
1
0
0
-72
5
-5
2
-63
-28
10
21
0
-62
-32
-5
0
0
-17
0
-3
-126
16
6
0
36
0
64
5
3
-5
0
-71
6
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
-40
3
35
-17
-11
68
-30
-35
-4
-19
-41
31
20
7
49
4
29
6
9
8
-8
-7
16
-12
45
1
-42
-32
11
1
12
-9
6
-16
-4
6
4
-103
53
10
21
-22
-16
-1
-67
-22
10
-10
-8
-17
-17
27
-91
-11
7
11
-34
0
-23
20
-42
32
39
-27
11
8
-149
14
26
-37
35
17
-31
14
-37
-7
114
68
16
17
-23
68
-81
56
20
25
-28
-5
9
-53
12
26
26
-54
-15
14
37
-81
-41
7
-64
-22
6
20
22
-32
-2
-11
-5
-20
-59
48
0
-12
-66
40
24
8
7
-31
0
73
45
-47
-104
20
-75
32
-12
-127
-34
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
78
-57
74
0
0
0
-2
28
80
0
-3
0
0
13
15
0
15
19
-16
0
38
-26
0
-3
-10
0
0
43
63
0
-3
0
-12
0
-23
7
0
6
-116
0
10
30
-56
0
0
-2
36
2
18
26
0
9
-34
0
14
17
-5
0
0
-16
-58
-2
0
-61
15
-9
0
0
-13
0
23
-16
0
14
0
0
-17
41
0
-11
4
0
-1
-20
-85
0
0
-28
-18
0
-6
100
0
-24
50
0
0
0
-26
0
0
8
0
12
13
-23
0
-22
8
0
-11
1
6
0
0
16
-10
0
-7
-168
0
-76
3
0
-15
0
30
-21
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
17
2
6
-2
0
-89
36
0
26
0
0
54
-38
-2
0
-73
5
0
-190
33
0
0
-87
0
0
62
32
0
-1
-126
-13
0
52
-43
20
0
-130
0
-4
34
-115
0
2
-54
6
4
-1
-164
-6
0
-55
0
22
8
-116
0
0
0
-2
-16
0
-27
-3
19
-10
0
0
-17
-10
18
0
0
-7
0
0
-11
-10
-2
14
0
0
-5
84
0
0
42
-4
0
139
28
0
22
-32
0
0
-8
-65
0
21
-30
-3
0
7
-63
2
-8
-6
-17
8
0
-53
0
-4
-72
-21
20
0
43
0
20
-6
0
24
2
-87
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
64
-12
-62
0
33
-6
0
-12
-54
0
5
0
0
1
-65
-12
-11
32
-55
-29
59
-5
0
53
22
56
36
80
82
8
20
-1
46
-11
-9
39
-3
19
58
-53
-16
35
15
-2
-14
-19
-6
-14
-26
-83
0
-35
17
41
-37
9
6
0
63
-15
-76
-17
0
27
-25
6
0
-7
-1
0
28
14
2
-10
0
0
0
-2
0
-60
-17
0
0
-14
-10
0
13
-87
-7
0
44
30
0
-51
-157
68
0
-13
-35
-1
-27
19
-59
-27
59
-56
0
-35
19
-7
-19
58
-58
0
4
-1
-83
19
21
-60
0
-72
4
0
1
0
-32
-20
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
14
-1
0
0
0
0
2
-1
-31
2
17
-23
2
-29
49
0
12
53
0
0
-74
-16
0
21
-29
0
-20
62
4
0
0
-57
10
37
78
-8
0
0
55
35
-5
-5
55
0
0
6
-27
34
0
-67
0
0
75
10
-54
0
-57
-6
0
0
0
-13
0
-68
-7
0
0
0
0
0
-15
0
-11
84
0
0
0
-22
0
18
-8
0
0
0
-11
0
-37
-81
0
0
0
52
0
0
69
-4
-5
-2
12
0
-20
-15
0
0
0
-53
0
0
-29
132
-3
0
11
0
-97
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
0
0
0
0
0
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
2
93
7
71
0
17
7
74
32
-60
2
0
14
30
-82
169
38
62
0
48
-12
-3
-130
-15
1
0
56
10
18
-119
26
-30
0
40
-20
-13
63
2
41
0
72
-18
-24
84
23
29
0
29
-18
-20
-94
27
-8
0
-42
13
145
-20
-2
14
0
-1
-8
99
91
63
-30
0
19
13
7
-5
-26
1
0
13
38
-4
-33
38
4
11
-95
-46
-3
194
-7
-23
-4
-77
41
46
-73
56
-40
9
78
22
-27
90
37
-25
-15
230
20
37
-16
60
-16
1
-7
6
5
55
-73
-50
0
-9
-22
7
-35
-7
8
35
1
14
52
46
43
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
-3
1
0
0
0
0
0
2
0
-6
0
0
0
0
-1
0
0
200
0
0
5
-116
0
0
65
4
0
7
10
0
0
-8
9
0
0
4
0
0
-5
-1
0
0
-45
0
0
0
0
0
0
-48
0
6
0
0
-4
0
-32
0
-4
0
0
0
0
-49
0
0
0
0
0
0
5
0
-2
0
0
0
0
72
0
0
0
0
0
0
49
0
-4
-11
-11
0
-3
28
0
0
0
-1
0
8
-47
0
8
0
0
9
-5
-55
0
0
8
8
0
0
-63
0
-1
0
0
0
0
-115
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
43
-21
2
24
14
-5
-5
-13
-14
0
32
27
-13
-6
16
7
8
-1
4
-12
-18
-91
19
-6
-2
15
-3
21
-9
25
10
22
-13
-3
21
56
2
-3
8
-36
-5
-49
-41
-54
-18
8
8
-12
-34
-32
-6
-18
-1
-1
0
-55
-56
59
3
4
-25
10
17
-27
14
-22
-151
41
48
51
-6
11
37
35
29
-4
37
-9
19
-18
1
-23
3
51
-9
-11
3
-37
-54
-4
32
19
10
-10
23
-67
-3
-34
-11
1
10
20
-72
5
-17
-10
-54
-15
23
-72
-3
-109
12
7
15
3
-97
0
-180
-30
-32
-46
-235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-68
-2
-119
75
-2
34
-19
-32
31
-42
-1
-22
-10
0
51
-68
-30
-9
24
-26
-17
-48
36
-30
-25
57
-36
-11
65
-38
-12
-114
0
12
-1
49
142
-6
29
-35
-8
6
12
-18
8
91
-31
37
12
-16
53
68
-7
-77
13
48
-1
29
-71
-26
-80
15
-5
-10
-44
-14
-87
1
-3
-35
48
15
-44
42
28
-10
-27
110
-50
0
-17
-31
4
-11
-12
13
-1
-40
-14
33
-19
34
-55
-34
-32
34
-15
-11
-50
2
-57
-94
-43
-26
-17
51
-14
-26
40
-16
-39
1
4
-36
-50
46
-106
-3
26
80
36
54
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-21
-6
-18
2
39
-41
9
-11
-93
27
-6
-65
-51
-53
-76
-20
-58
-27
68
-27
-48
-9
24
-16
-26
-38
-34
-25
-12
138
-15
-5
27
-41
-27
-56
-37
3
8
37
97
-9
-1
-66
53
99
3
-136
49
13
-88
59
-44
-43
-6
38
-16
23
17
0
-55
27
31
-75
87
-19
-90
-18
-70
-33
-136
-3
22
-10
-7
-48
-12
57
62
33
50
9
-14
-36
-24
-32
-60
-105
-78
-102
-18
-61
-26
-54
12
0
-4
8
-7
-57
-32
-6
-21
135
-30
3
-102
3
21
-1
30
-106
26
34
49
74
45
0
66
127
37
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
-63
-2
0
49
3
0
-3
10
0
0
13
0
0
60
32
0
0
10
-1
0
-4
106
0
0
-4
0
-3
-1
-61
0
0
-3
73
-5
0
-12
0
0
2
0
-8
0
-134
0
-8
-1
-2
-1
0
-61
-8
0
0
0
13
0
61
2
0
0
0
0
0
-26
0
-3
3
0
0
16
-37
0
0
-5
0
0
-2
-68
0
3
0
0
0
4
28
0
0
-3
10
0
-5
165
0
-4
-3
0
0
0
-83
0
0
-1
-9
0
0
-43
0
-8
0
0
0
0
-52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
0
-9
0
9
4
3
26
21
71
21
-20
59
2
-2
-131
10
-1
21
33
27
3
-38
5
-7
-12
50
-14
-1
62
-17
0
72
32
-20
-3
102
-16
-37
25
61
-5
0
47
0
0
21
-13
-8
0
64
76
-9
38
3
43
69
1
-4
0
26
0
23
-2
-10
26
0
0
94
-38
12
-24
12
0
-1
8
5
-6
54
41
-22
44
-32
27
0
-35
18
0
55
-14
14
0
-10
-13
2
27
-27
20
0
50
9
-16
-97
-39
-26
-6
-32
100
42
32
9
-6
37
-90
-25
0
-96
-7
65
113
80
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
45
36
-13
-16
-14
-51
0
-12
-18
0
2
-31
-6
0
-38
-9
-16
-19
-6
-53
0
-18
-4
0
5
73
102
0
3
-38
-7
0
-48
46
0
-21
-14
19
31
14
-22
0
0
-14
0
-3
-63
7
0
-8
-27
13
0
0
0
0
5
14
22
-2
42
-8
0
111
2
0
2
-158
0
0
18
24
0
164
-67
15
0
21
23
0
-127
56
57
0
-86
74
10
133
-13
12
0
-3
-52
12
-40
71
0
0
14
-46
-21
-25
-126
-62
0
-1
40
10
69
30
12
0
0
0
146
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-180
0
0
82
-13
0
-22
131
0
0
-127
0
0
74
-53
-12
0
130
-9
6
1
-8
-5
0
-99
0
0
-15
105
0
0
-47
-5
-1
-3
-53
0
0
-1
0
-3
0
83
0
17
-2
-5
9
0
-56
0
0
17
-2
0
0
51
-13
6
0
0
0
1
147
0
78
-5
0
0
0
-27
14
-14
-9
0
2
0
-108
0
-9
6
-2
0
-3
-67
3
-22
-3
0
0
0
-44
0
2
45
1
0
0
16
0
0
-2
-1
-3
0
-112
0
-35
0
0
-33
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-5
-11
-43
-11
-14
13
17
35
2
-73
29
6
4
41
15
34
-26
-49
18
1
48
17
28
-36
16
-3
4
61
-12
13
16
33
-38
-3
-15
-11
14
64
28
7
-8
-26
-39
-15
3
0
28
2
39
20
-109
-23
-22
-84
0
-1
-56
-201
-44
-62
-60
-4
40
-101
-11
42
-46
-19
18
-11
-10
-6
-25
-70
-8
2
44
45
32
-74
9
45
0
95
42
11
18
-5
22
-7
18
26
35
-2
-40
-10
11
43
-1
48
46
-10
63
0
-5
3
4
15
41
8
0
-23
-43
-47
-8
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
-41
42
-16
-40
113
-19
-8
-13
6
80
43
-20
63
29
33
-13
-13
39
4
57
-56
64
0
135
14
-22
-21
-56
-16
11
36
-37
-31
-24
-104
-47
-42
-5
-34
-56
13
-36
-25
-14
-15
-6
15
25
-38
0
18
21
-74
-3
-6
-23
40
56
-48
8
87
3
-20
44
9
97
11
80
-42
14
-14
7
12
45
50
49
6
-68
-11
82
13
-47
67
1
121
38
-25
171
14
-42
-14
-33
11
-4
64
-38
35
146
-14
-22
12
0
-48
-70
17
0
-1
8
84
94
-2
9
0
-11
34
-17
2
-107
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
4
-93
-24
0
23
-3
0
-13
34
0
0
23
0
-5
21
11
0
0
65
23
-1
-5
-33
0
0
-41
11
0
-1
47
0
0
-3
194
0
-4
57
0
0
-16
0
-8
0
-67
0
0
47
44
5
0
19
0
0
0
0
10
0
117
43
0
0
0
0
-1
-33
15
7
-8
-3
0
-6
-51
-2
0
7
-22
0
2
-23
0
-9
-34
0
0
0
-20
-3
-31
32
-13
0
0
-98
0
-5
127
0
0
0
19
0
0
-23
0
13
0
13
0
-25
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
40
114
-19
-71
-42
-47
34
13
-26
-72
-15
17
120
-3
-10
-4
-51
54
14
7
-21
-13
121
12
-75
-62
-21
30
-20
6
-59
17
-24
-14
30
0
5
20
4
-29
0
-50
-7
23
16
49
31
0
8
-8
1
0
-28
-4
0
-6
42
7
20
-2
0
-5
-46
45
-26
-4
0
-2
-21
66
-8
-33
-48
3
14
86
10
-27
86
89
12
22
-9
-29
5
-73
-4
32
62
6
-15
-2
-145
9
-4
-70
6
-29
0
-14
-35
37
24
0
31
0
31
-18
0
-44
0
-7
88
-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
3
-36
-17
-1
54
15
0
-22
-171
0
7
13
0
-33
1
29
0
0
-6
0
0
28
-104
0
-18
21
0
0
-4
-3
0
0
-42
-19
0
0
-25
0
0
-5
0
-13
0
-5
0
0
9
24
-11
0
-7
0
0
0
0
0
0
-25
0
0
2
0
0
-5
118
0
45
0
0
0
9
-4
0
45
10
0
0
-16
61
0
29
-2
0
0
0
-107
0
-16
57
0
0
0
3
0
-16
12
0
0
22
-9
0
0
-9
0
0
0
-72
0
49
38
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
1
-34
0
0
3
-5
0
-3
-127
0
0
-62
0
0
98
49
0
0
-6
-6
0
9
-95
0
0
17
0
0
0
-24
0
0
26
0
0
29
-100
0
0
17
0
0
0
-69
0
0
39
9
0
0
-43
0
0
0
0
0
0
-51
22
-4
9
0
0
12
20
0
14
31
0
0
0
8
0
3
17
42
0
0
97
0
1
23
0
0
11
-4
0
0
88
20
0
0
30
0
-60
-15
0
0
0
-89
0
0
0
-11
0
0
19
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
-5
-100
32
-73
39
70
7
8
35
-39
26
-248
-1
29
-26
-13
18
61
-22
193
-30
-10
-74
-39
-29
-27
-23
12
7
-137
-62
99
-42
1
35
1
8
-22
94
6
0
10
55
34
0
7
-29
0
25
-109
3
-50
-18
0
3
15
59
87
-2
25
3
-38
41
13
5
32
52
5
22
-13
8
37
-108
-68
-15
-54
9
56
-22
1
110
-41
123
-31
33
-53
25
12
-75
-2
-17
-2
-76
-115
15
82
4
29
-7
30
-10
14
72
0
24
90
49
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
-33
25
18
-44
16
29
-55
9
15
-24
34
12
-37
-38
2
2
33
-13
14
58
-7
-30
5
-37
4
0
-6
-24
-49
7
-20
41
-5
-37
-4
-44
0
56
-12
-29
27
10
-49
-11
-26
32
-126
80
15
12
1
-26
-21
-105
81
-129
-9
0
26
2
9
-95
-53
-75
-20
-43
-40
-33
52
-9
9
-2
-7
-12
-1
-22
-8
-31
-8
-80
-1
20
2
14
-23
9
-19
-3
0
-39
-30
30
-16
0
65
28
29
33
36
17
-56
-9
-16
-17
38
-69
-11
-22
-26
12
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
-21
-25
8
11
-51
4
-15
36
-1
57
-50
28
64
-3
-17
14
-23
-70
-28
42
-84
32
22
-11
22
-42
98
7
-53
-6
0
-11
-145
43
53
-104
-17
-2
1
56
-4
124
2
8
18
-3
-3
53
6
-8
17
4
1
-5
-11
13
102
54
-26
-17
-4
11
4
99
-35
2
52
-18
13
0
10
-7
24
36
36
-30
0
58
-9
-9
-51
-28
-17
-23
19
-6
0
-42
26
88
53
68
-3
0
92
-32
25
49
-6
-14
0
7
57
-47
-4
0
2
96
-4
-4
-59
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
155
42
74
26
12
-127
-14
10
52
86
40
-51
10
53
-16
-29
46
-49
-26
-101
-1
9
11
-16
41
67
-97
21
0
-28
-97
49
-46
-7
-13
-2
3
-26
15
-64
0
1
-7
0
-2
-57
71
16
-31
-39
-8
11
12
12
7
57
47
8
-38
1
-24
-22
-4
99
16
-121
9
-28
66
14
43
-5
120
8
75
44
31
-44
76
5
-37
14
44
-5
-7
-73
78
12
119
80
-6
0
-17
-29
38
-27
0
-48
0
-7
16
17
9
0
-12
27
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
-17
4
144
60
-19
34
49
18
47
-2
-33
8
31
-43
-23
36
-17
18
71
13
-34
49
16
74
-108
34
39
0
-15
28
37
97
47
90
31
-55
35
50
49
40
18
-2
9
-15
-23
-28
123
2
6
66
-39
-65
-107
-78
37
-2
112
26
23
34
107
110
127
72
-18
-95
-11
20
79
-107
-44
11
-6
9
50
61
-54
7
5
26
-48
8
39
47
-11
2
-35
2
55
88
50
20
9
-22
-58
39
38
-42
42
12
-74
1
-45
-76
26
-37
2
13
77
40
28
-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
8
-22
30
-18
17
-37
0
22
-70
96
-71
-16
-20
58
37
-26
44
10
0
86
68
61
-1
22
5
27
35
39
-8
-16
-11
-39
-24
2
85
-39
-13
-8
118
-78
-6
12
40
15
9
14
-1
39
-28
0
-20
-11
-29
0
0
-12
-3
41
101
-101
8
1
20
82
44
18
-21
119
10
69
55
1
5
26
92
-37
-82
110
4
102
-41
54
207
-18
4
-45
-1
2
-79
25
41
1
-31
-6
-5
-25
78
34
-1
-25
-10
37
-1
-9
57
-4
21
36
-65
-29
31
-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
35
112
7
7
40
0
0
72
-37
0
31
22
5
5
59
-177
-6
41
-4
-10
0
60
-66
0
28
-51
-63
1
29
-90
0
-2
21
11
-12
0
77
0
0
104
43
0
0
-9
-2
0
0
-5
3
0
-59
93
20
0
0
0
12
-29
0
-40
75
0
0
107
49
0
-4
-15
48
0
37
104
0
60
16
0
0
3
-25
0
17
73
-5
0
-5
33
0
-11
-15
-3
0
-3
8
0
0
50
37
0
-18
100
0
-27
0
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-32
68
19
55
-26
-111
-11
-56
184
-22
46
63
-74
20
-14
-19
-5
5
83
18
10
2
41
16
5
-38
31
35
76
90
-37
-1
7
-2
11
-67
-18
13
-35
-40
12
-27
-3
32
86
8
16
-10
-21
-131
26
-11
19
-62
-99
40
24
0
67
86
4
74
-4
85
17
-30
130
36
-8
-35
3
91
-2
21
71
-245
-2
122
20
49
58
-19
50
-11
-27
136
-25
56
51
2
19
-23
-13
76
-62
85
-5
16
82
-94
-15
59
-169
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
29
-33
18
37
7
5
44
50
3
-4
-13
-4
-2
54
40
48
-16
12
61
9
21
41
23
-32
6
50
1
44
41
18
33
3
2
4
10
37
-98
3
30
-92
17
22
10
26
-70
24
-50
20
17
41
29
18
9
41
0
6
-20
10
-49
36
-15
-21
42
13
-7
76
16
2
15
-37
-40
7
18
0
23
3
51
0
25
6
2
16
3
65
19
9
23
-7
-2
-1
28
2
-5
-1
19
-68
11
-3
29
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
3
21
-1
-77
60
0
65
18
23
13
-20
57
0
-6
-233
32
14
2
-25
0
0
-62
0
-11
10
-3
0
0
-7
-5
94
0
-24
15
0
0
0
-2
0
6
56
11
38
13
-2
51
-139
1
50
-101
0
0
4
126
0
47
-11
16
4
27
-1
0
-36
34
53
0
-5
-51
0
-12
37
0
-41
0
4
0
-8
-4
0
13
0
40
0
0
-1
-34
42
0
16
0
-97
23
0
4
0
7
-19
-2
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
54
-30
14
-19
-18
34
58
23
-24
18
54
-37
86
132
-28
-27
0
0
62
-2
-44
55
50
0
-5
6
11
96
-8
8
0
0
-21
-52
-190
0
13
-13
-4
0
-1
66
0
53
114
-25
-8
43
0
-16
-16
17
-115
66
0
36
123
35
0
14
-74
79
-16
84
18
0
56
9
7
13
5
-32
-11
-89
2
26
19
16
-16
-9
96
23
101
90
53
0
0
-13
59
-73
42
0
36
0
-18
123
2
2
0
-3
4
0
0
76
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-26
33
31
16
0
-31
5
79
-76
-6
-62
11
-38
12
-54
29
3
23
16
18
3
62
7
48
48
21
61
24
-23
79
43
39
5
-8
4
-116
2
13
10
33
9
-6
-34
-14
-17
-87
3
-2
31
4
25
-110
21
-4
68
39
101
97
-31
-2
-21
44
-4
-46
-10
23
-25
4
22
1
13
-27
6
34
-44
-48
-5
84
17
65
-39
4
-80
-3
17
-6
-47
10
24
-50
2
-102
-19
-63
-76
34
5
-4
7
-16
-10
-56
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
-4
-39
-2
-57
-66
-23
-63
-75
-13
-7
16
-22
-5
50
19
84
-12
10
-34
0
-10
56
0
-22
0
22
0
54
30
9
-42
0
27
0
0
0
0
0
0
-61
48
0
9
0
0
45
-50
0
140
58
0
-2
-7
1
0
-1
6
5
0
46
15
0
15
15
0
0
-10
-14
0
61
38
0
0
-18
-74
0
-15
-17
0
0
3
-2
0
-10
-11
-11
3
0
3
0
-3
0
0
32
0
-3
-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
22
-74
0
32
11
-8
0
13
-55
0
-5
103
-10
0
16
-71
0
14
36
91
0
51
-28
0
-5
21
31
1
0
-17
0
1
-17
-18
0
0
-35
0
-1
0
33
0
0
-68
-13
6
-1
0
0
-5
-50
0
-23
-172
1
0
60
-56
0
82
-43
-47
0
147
64
0
-74
119
-3
0
137
26
0
1
78
-28
0
13
3
0
-18
-18
0
0
0
16
0
0
15
40
0
0
12
0
32
54
0
0
0
-54
-7
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
118
15
-123
23
-56
9
67
-16
-1
60
22
178
5
-39
-64
-33
27
17
42
8
-35
-28
4
24
-18
-1
7
-60
-2
-104
-57
-1
7
-35
-86
-19
0
-64
-59
-72
27
-32
21
-13
28
73
72
-6
-20
21
37
-122
23
34
4
-91
1
54
-37
73
-14
-11
39
60
0
-33
21
-39
10
57
4
-30
-91
8
88
-10
-59
-88
-9
28
-58
-46
6
71
-4
0
18
-29
0
-7
59
-157
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
5
8
17
25
5
18
61
-1
18
-13
1
75
28
46
76
66
-45
27
74
-5
-20
34
15
40
0
-3
14
-4
19
-42
66
-25
51
3
58
61
9
-36
-17
6
23
-11
-36
12
-2
-71
5
39
-14
24
33
-66
-10
16
0
99
-3
6
-8
82
-40
-1
-26
25
-44
25
16
-10
12
4
-31
-22
-34
-15
-23
18
-69
7
10
-22
-18
32
17
2
-2
16
18
28
-76
14
20
-10
-35
50
-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
-12
-27
0
49
45
-12
-11
83
28
0
0
59
-26
-44
9
9
0
0
8
0
-3
0
4
0
-9
84
13
34
0
-32
43
0
-3
0
9
0
96
40
-22
4
0
0
0
5
0
-140
84
0
0
-41
116
0
48
52
0
0
-1
88
14
-13
140
-12
0
-93
-13
0
-41
19
-15
-8
-2
21
0
-37
12
28
0
0
-53
0
6
53
33
0
0
-53
0
-52
-19
8
11
0
3
-42
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
18
-10
59
17
-9
-17
22
31
-6
-28
147
75
-3
-10
0
-75
2
-126
23
36
0
-27
-22
100
39
2
-73
-28
4
0
67
-18
0
-2
-72
4
-15
-3
0
57
-10
1
83
121
19
-12
33
11
43
75
-2
-29
-1
3
-10
34
-21
-84
20
4
73
7
17
-8
-32
-39
-80
36
-30
-17
-25
78
-113
83
-61
-1
31
-11
-74
-57
-70
33
-24
0
-62
-11
9
134
0
-205
-34
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
-9
44
-8
35
18
-11
45
-46
-9
18
30
56
17
5
106
20
79
38
-8
16
28
-54
2
28
10
-55
28
-3
8
22
81
1
32
7
-33
8
75
-46
-38
-22
4
109
14
66
9
-36
-39
4
-48
-4
-86
5
-59
22
5
46
18
10
-14
66
10
20
-63
64
-12
21
-5
-93
-14
53
-3
30
-91
8
-33
-17
-112
55
-12
-30
39
-23
8
111
-8
-132
43
22
-5
33
26
40
38
56
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
53
-1
-20
-111
-22
-20
71
29
-15
2
51
-32
20
-47
113
-22
-13
75
18
4
35
-7
13
2
35
4
-21
-53
0
7
-15
-12
-27
-13
-62
-2
-7
67
-19
-75
0
41
49
-16
9
-18
72
2
-8
35
-1
50
-3
-22
75
7
37
19
36
-35
-1
-5
58
119
7
-25
-10
3
20
-17
9
15
-13
43
143
-27
36
36
-10
-9
-147
-87
-93
4
-7
-13
-6
12
13
-2
-16
-4
21
29
68
21
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
-62
-17
24
-15
70
-6
0
29
-48
0
-14
54
81
24
6
-26
0
-1
5
16
0
16
19
0
11
44
43
0
0
-2
0
0
0
-24
0
0
-8
27
0
18
5
0
-27
3
0
116
-14
-13
0
6
42
0
-21
60
42
0
101
73
29
-5
135
-7
0
102
16
-11
-45
4
111
0
41
-6
0
-4
118
1
0
-32
-27
0
9
57
-55
0
8
38
0
11
33
1
0
0
57
-40
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
55
15
11
56
-2
63
-2
15
-215
-72
36
-21
18
-13
-14
-41
-6
6
10
-7
26
-6
-27
48
5
-47
49
-25
116
27
125
49
65
-31
-14
2
-6
-75
5
30
-57
-12
-48
32
-47
56
-34
16
-6
-5
16
-5
-115
32
41
11
-11
29
33
5
-42
115
26
-23
38
41
-34
-60
11
-10
-50
65
-28
8
21
-17
-3
-3
-1
-59
2
-22
-1
-20
48
-129
-110
-64
-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
-17
5
32
20
-11
-12
-2
6
19
79
27
43
-40
-1
40
4
-15
24
70
11
-19
96
11
8
-4
74
2
-7
-76
10
8
56
11
49
-54
-17
-9
-22
1
33
-15
-62
0
14
84
-11
11
2
42
54
-1
17
-31
14
-108
26
55
0
71
42
66
13
-13
8
4
51
-51
-24
-103
14
-36
13
-28
-42
14
30
7
-5
10
-15
4
52
-29
-13
29
13
-32
61
-2
-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
-18
-3
0
5
-43
7
0
20
-40
0
0
-45
0
3
-1
-8
0
0
-1
-43
5
-5
-3
0
0
3
-2
9
0
-28
-91
18
0
-8
0
9
-62
5
-7
21
0
-33
-3
-59
1
-23
-19
9
0
-20
-10
1
-34
-24
0
0
8
-63
1
-19
103
8
0
0
-53
0
-7
15
0
-23
0
44
0
-13
-15
41
31
0
31
0
29
-10
-1
-5
0
-9
83
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-7
-74
51
-89
40
35
0
0
86
54
71
68
13
0
6
64
99
-44
0
-20
42
0
0
0
20
0
18
28
0
-12
-6
0
-15
-60
-4
51
12
-5
23
-3
39
-54
-4
-102
44
15
33
-33
16
66
-14
94
-29
27
-42
-3
15
51
3
-16
-25
-16
14
87
61
-18
32
-29
-13
-7
1
-55
-106
4
-23
7
2
-14
-82
-9
112
0
-22
99
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-63
-2
12
-51
0
-1
-36
87
-32
-102
59
24
11
-63
-59
-32
-15
22
-64
32
-11
21
4
14
38
-35
3
-67
-48
42
6
9
1
-5
9
4
4
-24
-28
-48
14
161
35
28
23
91
41
-7
-6
-23
-41
98
21
-26
10
-30
-7
21
-36
-56
-18
17
87
-8
-11
33
21
-105
4
4
19
-28
42
6
-12
18
-8
4
-130
-16
-16
-7
17
-44
-78
-67
-12
-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
-16
-1
-19
-3
62
33
-120
7
-17
0
-6
-3
0
-87
16
9
15
8
1
-16
-6
0
-14
-36
0
0
0
14
0
-73
-12
8
0
0
0
-2
51
77
25
-19
0
-19
-8
66
-1
78
76
-19
-12
26
-30
0
12
21
40
1
-33
61
0
-153
12
-7
31
141
-9
0
-3
91
0
-7
-7
-23
-5
22
149
-15
20
0
-3
-6
-61
-20
0
57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-2
-101
-26
16
-1
-155
-56
0
-5
45
-50
2
-25
-22
0
-14
22
11
0
0
15
-43
0
5
-61
0
0
-7
19
-28
16
61
0
35
11
136
20
137
-13
0
-5
-2
0
70
-11
-66
0
-12
22
-5
4
60
34
0
77
25
-2
6
69
4
0
86
-18
19
-44
45
-24
0
1
20
0
-3
34
27
0
6
12
0
-29
45
-6
0
0
25
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
151
-12
17
-7
65
0
3
0
166
34
-12
57
0
-3
-7
-24
-3
-20
12
0
-40
0
6
-4
0
0
-3
-57
32
-97
-71
45
4
-48
-2
22
21
-24
53
3
-5
-13
-36
69
41
39
11
-27
-13
-9
66
0
12
5
-3
-2
-6
5
-47
84
4
1
25
-15
55
-30
64
39
7
10
-4
17
78
25
-61
4
-42
24
-26
-15
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
-34
49
31
9
25
20
16
47
37
2
5
55
15
-21
-78
13
29
-9
21
9
-7
-93
71
-13
-2
-11
20
57
-32
1
-32
35
0
2
5
6
43
-50
-45
14
15
-45
-17
9
33
-87
13
6
-68
-11
29
1
-38
-21
0
-43
-10
7
34
-31
47
7
-31
30
21
17
-32
-23
7
95
-28
65
-25
-28
64
16
17
-65
34
-67
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-22
0
-11
0
2
0
0
-4
-30
-6
0
-4
41
0
0
0
-16
0
-31
-21
-8
0
-3
22
0
21
0
-38
-6
-4
0
0
57
0
0
42
5
0
0
48
0
1
-70
-5
-15
-19
-11
0
54
6
-5
-1
9
-15
0
6
13
0
0
0
23
0
10
13
-25
0
0
5
0
-3
-5
-14
35
0
29
11
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
3
0
31
12
-65
-4
33
-50
42
56
0
41
10
0
0
-5
-5
0
55
121
0
-53
16
23
31
-58
-55
-56
-22
0
8
67
49
0
4
53
93
15
-18
22
0
49
65
-52
119
-31
-14
-47
-48
-27
25
51
6
-44
0
-54
-33
-4
-7
-68
35
-1
-22
-94
-22
53
0
12
-8
-32
-4
0
87
0
43
-25
0
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
-55
7
-84
-4
-33
-64
29
-101
15
33
-11
-28
-24
88
-2
5
-58
-2
1
18
62
-94
-7
-43
12
-24
-15
34
3
-6
-114
-77
-18
-41
17
28
27
-32
10
41
-10
-56
-48
9
7
-48
35
-43
10
-10
16
20
3
-22
-47
1
-96
1
-75
29
-5
-103
-176
124
14
-18
-27
-83
-11
36
67
-5
59
34
-12
59
12
7
-18
7
8
-24
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
113
8
-14
5
27
-9
56
-105
-3
5
-60
16
-36
55
-2
2
-47
21
-7
79
45
0
-18
58
33
12
-10
3
-67
-33
-16
35
32
88
27
-21
-18
5
-28
38
43
62
134
12
51
17
39
5
157
42
-18
-1
-14
59
20
-56
6
6
38
36
-5
-39
-33
-22
6
34
19
-22
-56
10
-6
-19
6
8
57
-3
22
-4
2
19
12
65
-3
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
70
-26
0
50
-68
-17
0
2
12
0
50
134
-20
0
0
17
5
-18
7
-28
0
0
13
52
-21
16
7
0
-11
-39
0
5
0
-16
0
-77
20
0
-35
93
-47
0
99
7
-2
37
9
1
0
29
27
-8
63
11
-64
23
63
19
-21
11
19
-26
63
90
36
0
-54
37
-53
0
158
14
-6
-29
-100
1
0
0
64
39
-1
-3
-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
-5
-8
-5
40
-22
20
56
0
-14
91
4
0
-18
34
0
-90
-128
28
7
-7
0
-7
-24
-3
-78
-22
0
-5
16
64
-22
10
-61
101
0
-79
23
0
-69
97
62
5
0
-33
0
7
-97
-42
97
0
25
53
58
-8
14
15
17
14
7
-106
-66
29
4
-2
-55
31
-127
-30
1
-7
0
-40
-141
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
33
-10
-2
-9
-120
19
39
63
-51
-79
-42
-46
11
-13
-22
53
8
-54
37
13
-15
-7
14
-75
-29
32
14
-33
27
21
-38
-84
9
20
-12
-9
10
-3
-41
-9
12
29
-14
-37
9
-12
-44
-11
-29
8
-21
53
4
-28
0
-23
-18
65
38
37
-37
-8
-31
-16
-38
-2
-14
-84
11
23
0
41
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
-1
-3
0
-11
-1
6
3
0
32
0
0
0
0
-26
0
59
-37
0
-2
0
0
0
57
0
3
-6
0
0
0
21
0
0
6
0
0
6
-38
0
9
68
-6
0
-1
2
0
6
5
0
0
-7
81
0
-54
99
0
0
-4
88
0
25
-10
0
0
0
-5
0
14
-10
0
0
0
-103
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-103
-27
-6
0
9
-1
0
0
11
14
0
17
-26
0
-17
0
0
20
-52
0
43
104
0
0
-23
31
0
0
-19
9
0
56
19
7
-49
-28
-2
34
-8
-44
0
-21
26
-2
0
-9
-50
0
-6
5
32
-11
29
44
0
-11
-25
31
-18
0
-33
0
-77
-11
4
52
0
47
5
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
-6
-19
26
26
-97
-19
-39
3
-44
-29
56
7
-61
-37
1
0
-22
116
-61
-22
0
9
-12
-123
-82
32
-17
5
-27
-8
-35
-7
-72
-41
12
-52
23
108
-31
60
-67
93
-68
35
80
98
-141
2
126
-119
-7
9
7
2
-3
62
-91
5
27
94
53
49
46
-6
-13
7
-38
-75
13
-39
0
-43
-44
3
-3
55
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
33
-88
0
89
-38
1
50
0
-33
0
45
0
0
0
0
8
-19
-3
9
0
0
14
-93
0
20
11
0
0
26
-48
41
25
53
3
0
-7
-9
0
126
-32
0
0
62
50
0
56
29
-4
-33
-4
-19
0
-5
10
0
-2
-28
4
0
-27
-52
-18
-10
29
-25
0
-62
-8
0
12
0
49
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
11
10
0
0
11
-13
63
-2
42
0
0
5
33
-44
86
1
0
-19
-34
-2
-20
-12
26
0
64
-1
1
-70
-30
113
0
-16
32
-2
-27
2
-23
0
198
28
80
-20
19
3
0
-19
20
-33
-79
14
8
0
-38
6
-18
-92
73
45
0
-25
-25
30
-16
-63
63
0
0
27
-14
-3
-29
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
0
0
0
49
0
35
0
55
0
-4
0
7
-64
0
-10
-28
0
0
0
-23
0
-13
144
0
0
1
28
0
-87
-76
0
0
0
-1
0
25
-90
43
-4
0
30
0
0
-41
0
0
5
-36
0
-1
37
-3
-27
0
-34
0
-99
5
-15
0
0
-110
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
59
-23
-33
-254
-50
-5
-58
-21
14
-14
-41
67
6
-187
96
12
-36
14
45
-45
10
54
-3
-71
9
40
16
-14
9
2
26
-23
14
8
-24
-4
10
49
39
-5
-7
37
1
-7
-9
-27
-47
-83
48
-46
-2
158
-30
38
-18
2
-29
0
-83
26
-53
0
-31
-21
13
-44
-73
-3
-72
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
-50
6
-3
0
0
16
0
56
-57
0
0
0
0
0
-48
0
21
-7
0
0
18
58
0
0
-11
0
0
0
-118
0
3
-12
0
7
7
-24
0
-29
0
25
0
0
55
0
14
-37
0
-10
0
-56
0
0
32
-4
0
-6
-199
0
59
0
0
0
0
27
-86
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-11
0
0
-7
4
-31
-24
0
5
-9
0
22
-43
0
-28
-54
0
0
48
-5
0
0
22
-34
0
-20
30
5
-58
-26
0
1
20
23
0
33
-3
71
-1
26
83
0
-41
-7
0
3
15
79
14
19
-95
-56
58
1
23
0
-27
0
-6
-6
0
-82
76
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
73
-17
-2
53
-42
-18
-18
34
29
67
85
0
52
-14
-63
-167
35
66
-1
-106
-12
0
26
-21
-53
0
52
-13
9
0
-57
12
9
-148
-14
11
10
74
-152
-31
32
-11
-8
-35
-97
15
-75
53
44
83
-12
29
19
-46
-12
-53
26
115
-3
2
-8
-6
-78
19
-86
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
82
30
0
-5
-2
0
-21
-44
-24
-21
0
0
-82
28
-45
-2
35
6
3
-88
4
-3
108
46
-3
9
35
4
-18
-29
-31
15
128
76
7
-9
-4
-22
33
58
-46
26
45
34
-11
-1
4
-40
76
-12
167
90
26
-14
-9
-35
-18
-21
-24
30
-14
0
-30
11
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-5
71
0
-24
-8
-56
39
142
-98
0
97
13
-60
-36
21
-25
0
-47
13
2
-72
14
94
0
-36
31
-22
-63
52
125
0
9
15
2
95
46
4
0
140
45
5
-44
23
6
0
-48
33
-5
108
45
52
0
61
7
69
12
-83
-6
0
-5
6
-2
-55
49
-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
-51
0
0
0
0
0
0
-12
0
0
0
0
0
0
-54
0
0
-1
3
0
0
-133
0
-2
-5
0
0
0
-49
0
0
-7
0
0
0
-92
0
86
-7
0
0
0
-69
0
-15
0
13
0
0
-160
0
-9
-3
0
0
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
0
0
0
0
0
0
17
3
31
-39
18
-61
-20
50
23
10
6
-9
31
-5
-8
-6
-31
5
24
6
-52
-21
10
6
-3
-14
-2
-23
-15
1
40
14
17
6
-7
-60
-2
-2
1
-9
-67
52
-11
16
-4
0
-38
14
7
-98
-5
-2
25
7
73
22
23
0
-145
-94
39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-5
0
0
1
-13
0
3
24
0
0
10
75
-35
2
37
-13
0
-59
-14
33
-156
-180
0
0
47
7
3
-23
-33
47
-1
-12
-40
0
-60
-120
-7
7
49
26
0
20
-8
-69
27
-3
-4
-5
-25
13
0
-36
0
-22
-16
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
0
25
0
0
-33
14
0
-66
169
0
-1
-35
57
0
-3
-52
-10
0
44
23
0
14
-11
3
-1
15
-6
0
-10
7
-11
0
-2
8
0
-105
34
0
0
0
-9
0
0
-5
-19
0
0
28
0
-143
53
0
68
0
-45
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
-92
0
0
0
0
0
11
30
0
-8
48
0
0
0
16
0
0
-2
0
0
0
-41
0
4
49
0
0
12
25
0
10
-9
2
3
0
-122
0
-9
-1
0
-17
15
0
0
28
-3
0
0
-7
-49
0
0
-6
0
-17
0
41
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
32
-77
0
-1
-2
0
-8
1
-45
0
-1
87
-1
0
-38
-7
-20
-16
26
0
-6
65
-35
0
12
-5
-10
52
-7
-25
0
80
1
0
38
0
4
0
-10
28
8
-10
3
24
0
10
-1
0
8
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
5
-29
-31
38
0
21
0
2
43
-15
4
0
0
0
26
75
1
-91
-118
-26
0
-4
40
11
-5
-29
-51
0
-17
-20
-14
-21
3
-22
0
-101
3
1
-52
45
-6
0
-15
53
7
42
26
64
0
20
-38
-8
-13
51
0
0
0
51
9
44
90
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
78
0
17
0
0
1
0
30
0
0
-4
0
0
0
26
0
-9
0
0
0
0
-39
0
-9
12
32
35
0
66
0
11
0
0
0
0
-139
0
0
0
0
0
0
38
0
8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-31
14
-11
-161
-46
20
132
44
-18
1
-31
-70
-9
78
25
15
-114
-82
38
-3
3
-26
-7
-27
-17
-64
-7
80
43
-19
-17
-83
-40
15
-131
7
42
31
-45
-6
-5
-130
7
-10
29
0
1
7
-37
-41
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-31
44
5
6
102
-15
21
16
-56
2
5
-65
36
-34
-4
-41
8
7
-10
4
-28
-34
-42
16
11
61
25
61
83
66
4
-88
-42
21
-3
6
75
65
-37
2
0
-6
73
-2
-1
-23
0
37
-10
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
-25
-34
0
0
5
-57
0
15
-19
-12
0
2
-51
-3
51
41
-4
0
-42
89
-4
-3
-6
52
0
-3
51
0
10
-32
120
16
0
-21
0
1
11
-5
11
0
-28
0
1
0
0
-18
0
8
19
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
30
-4
0
27
10
-18
-1
21
-2
-25
-6
-12
-30
28
-17
-76
-5
0
-35
18
0
-48
48
-191
0
5
14
0
-39
-20
6
-4
-18
90
0
-13
27
44
60
0
3
-1
-6
-17
0
-7
0
-7
101
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
39
-53
0
0
50
-91
-3
9
-38
0
0
54
-64
0
25
97
0
3
0
56
0
0
106
-38
-11
-1
78
0
-5
23
0
0
0
-65
0
2
-2
0
-4
0
-19
0
-2
-2
0
9
0
-32
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
-3
-1
65
12
0
0
0
70
0
0
0
0
0
-1
-8
0
-5
18
0
0
0
134
0
0
-2
0
0
0
27
0
0
0
0
0
0
67
0
0
0
0
0
0
72
0
-20
0
0
0
0
-88
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
-23
0
-11
8
-1
-98
60
0
-1
4
-22
1
-26
-30
-50
1
25
-28
-7
-186
-54
9
-1
14
19
7
-6
3
-49
-1
0
71
0
-108
-3
0
-7
0
64
-28
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-143
-83
-44
88
82
-5
1
64
-29
15
-4
-121
-30
5
36
55
-7
28
-34
17
9
-49
-25
-22
-55
28
48
-9
-94
27
34
-78
6
9
17
-37
-19
-142
-121
-40
-131
6
4
-69
52
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
2
26
0
6
108
22
0
-3
-24
0
-105
50
69
0
0
-18
24
-14
-20
-25
0
0
-9
0
-15
8
-10
-11
0
-29
0
-5
-33
2
1
0
7
0
89
21
0
-1
0
-56
25
4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
-58
52
89
54
-63
-19
72
95
-23
70
14
-11
8
-20
30
-31
12
-53
-39
12
24
27
-63
55
15
-108
0
-13
17
-184
3
29
-19
-16
-8
-23
-28
-20
-20
0
2
-92
2
-11
-107
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-105
-43
-75
82
23
20
7
72
-43
6
66
-30
57
52
-4
-40
-3
-4
79
-47
-7
-2
5
136
35
-97
-32
19
-2
18
-39
-47
-41
48
21
-7
-17
8
10
-5
0
-1
118
-26
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
83
0
0
88
0
9
49
-5
0
-61
-78
0
0
0
75
0
0
81
4
0
0
-89
0
40
-6
0
0
0
-53
0
0
-20
5
0
0
-27
0
-55
0
0
23
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
82
0
15
-22
0
0
0
49
0
32
8
0
0
0
108
0
0
2
-4
0
0
1
0
42
-30
0
0
0
28
0
0
-14
-6
0
0
-67
0
-72
-14
0
0
0
-74
25
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
59
17
-35
2
61
37
-25
-19
-38
3
48
-38
-7
-67
3
8
-17
2
39
-5
50
2
-65
1
11
5
4
25
-2
30
-9
-116
22
9
-190
0
12
62
81
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-4
43
9
-77
-84
10
-44
-111
24
-11
-32
-61
1
-65
-11
27
8
13
-1
0
90
-66
6
29
-56
-57
2
-45
8
10
-66
-21
-39
5
-43
-10
-92
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-18
13
-9
0
-27
-7
0
4
-37
4
17
2
-66
0
3
-12
-1
0
0
32
0
0
-1
-19
0
0
122
0
61
-23
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-5
-7
109
-13
35
10
0
12
13
-33
0
-113
12
0
38
-8
32
-29
35
-1
2
0
15
12
-23
0
-31
5
-117
31
8
-45
0
11
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
74
-62
7
-77
-170
-1
-97
47
-48
103
29
17
16
60
-23
115
-97
27
-76
-19
5
44
-36
23
64
12
3
-22
-85
14
-11
-60
-12
41
-58
24
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
31
82
1
44
74
-19
1
-6
4
12
-21
0
-65
0
-32
81
-14
-55
6
-29
0
-16
-58
0
-1
0
-41
0
49
-6
14
10
-4
-12
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
168
0
0
-43
3
0
-15
-73
7
0
-4
-23
0
-140
17
0
0
0
22
0
-4
11
-4
0
0
12
0
-71
0
0
0
0
19
11
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-57
14
-88
50
32
5
-8
-8
-91
2
48
-3
-7
11
-48
-44
-86
-99
0
33
-9
-26
67
34
-23
-3
6
100
5
63
-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
-61
3
-36
12
6
15
50
17
14
-73
-29
-21
-61
18
-48
4
-71
30
-5
12
-15
14
13
-31
13
-8
-5
1
-46
12
-4
-17
-39
32
-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
20
-49
0
28
0
52
0
0
-40
0
-101
-5
-3
-6
0
-156
0
0
55
-16
10
0
-65
0
-92
-7
0
0
0
73
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
6
51
60
-13
-13
-134
-19
12
156
-68
12
-14
-24
-13
-3
99
25
-15
64
-3
-5
-51
4
5
6
21
0
18
33
65
23
-59
-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
108
31
-13
10
56
50
29
82
-3
57
12
23
52
38
-53
-19
12
3
-18
-76
-43
-14
18
-3
11
-91
-2
-80
-2
-22
-91
6
-5
-79
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
-14
33
70
-48
-13
1
30
13
-5
6
0
29
17
36
0
-3
4
6
6
0
10
0
69
2
0
50
0
73
19
-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
-25
17
4
24
-49
-3
0
43
-34
0
-1
-96
0
0
0
-32
0
2
-36
45
0
0
-24
5
18
-1
0
0
0
-67
9
1
-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
-4
14
7
-58
-111
-3
-120
1
-34
0
-7
-97
22
124
0
-59
0
-100
-76
-20
-32
0
-52
108
0
-3
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
-19
13
-91
4
58
22
37
3
5
-41
5
-13
-32
51
-12
7
-47
2
32
-28
54
-38
-5
-50
-75
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-4
0
0
-5
40
0
0
-23
1
-4
0
61
0
13
-12
0
0
0
-37
82
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-67
-128
-6
65
39
-26
37
20
-188
27
17
69
-27
-1
-41
3
2
-60
1
6
-33
-8
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
10
-24
-26
-130
-91
-10
26
118
-50
-69
13
38
-9
-20
2
83
-16
-10
119
31
106
17
-23
90
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
1
29
-22
11
-55
-29
0
145
34
2
-66
1
1
3
10
44
-1
-30
0
-12
41
-15
33
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-105
40
0
0
-1
-11
0
-17
-11
60
0
9
83
20
42
-12
-16
0
0
38
28
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-62
-152
49
0
-13
0
63
6
0
-4
0
-64
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-46
15
2
32
-55
4
122
16
-6
-13
-6
77
-4
-15
-75
42
-45
-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
1
-67
0
-18
0
-5
0
0
-25
0
3
5
0
2
0
32
-11
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
68
-39
14
1
31
-13
-7
128
-1
32
4
-11
11
-37
-42
33
88
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
29
18
19
26
-6
-21
-2
41
-7
11
-55
0
-25
-114
-8
-4
-52
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-43
-14
29
0
-41
0
114
-3
0
-3
0
-146
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
68
-86
0
0
19
-2
-25
-31
-10
0
0
4
5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-82
1
-8
-8
-39
3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
93
-9
12
55
11
-70
10
-23
81
-34
29
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
-8
0
-66
0
0
-1
0
113
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-78
0
0
-18
42
-60
-16
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
-18
-50
-26
9
0
-48
-100
50
-61
27
15
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
49
78
-5
-99
0
0
65
15
30
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
52
1
0
0
12
-3
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
73
66
-3
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
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
13
-293
-53
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
-13
-77
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
43
0
0
0
0
0
-45
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
7
0
0
0
-1
0
0
-10
0
0
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
1
0
-13
0
0
0
0
0
0
34
0
0
-26
0
0
0
-1
0
-12
3
0
0
-21
-27
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-21
0
0
-24
0
0
0
0
0
-24
-7
0
0
0
2
0
0
0
0
0
0
61
0
0
0
0
0
0
34
-1
0
0
0
0
0
-6
0
0
0
0
0
0
-61
0
0
1
0
0
0
19
0
0
0
-4
0
0
-61
0
0
0
0
0
0
-34
0
0
0
0
0
0
44
0
0
0
0
0
0
-5
0
0
0
0
-11
0
-33
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
-14
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
-26
0
4
0
0
0
0
0
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
5
0
0
12
28
0
0
-13
27
0
0
-13
0
0
0
0
0
0
21
2
0
0
0
0
9
3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
22
0
0
-10
0
0
1
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
-24
0
0
0
60
0
-1
-5
0
0
0
-5
0
1
50
0
0
0
-52
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
2
-1
0
0
-11
0
0
8
35
0
80
25
0
0
-96
-27
0
0
54
0
0
-54
81
0
0
-15
8
0
4
-14
0
0
-2
0
0
0
64
0
72
2
0
0
0
-9
0
0
0
0
0
0
-27
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
0
29
20
-12
0
-11
-16
0
0
-119
0
0
0
86
0
0
34
0
0
-5
43
0
0
-10
0
0
0
-19
0
0
-15
-16
0
0
-72
0
0
-18
0
0
0
4
0
0
0
-10
26
0
-27
0
0
0
0
0
0
0
-9
0
0
0
0
0
-5
0
-20
-13
0
0
38
2
0
0
0
-6
0
0
-3
0
-43
-10
0
0
3
-72
0
0
1
1
0
0
26
-2
0
0
0
0
0
-81
0
1
0
0
0
0
16
0
2
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
22
-81
-48
8
-59
-75
33
-6
87
-21
-46
1
10
9
21
-7
81
92
32
-59
13
5
-17
13
33
59
22
-44
4
6
18
-30
-5
50
-30
99
8
79
33
-11
45
-14
-38
70
-15
-4
31
-119
-10
-43
-74
3
-99
4
-29
-32
0
-12
62
-64
29
1
86
15
10
27
-106
-17
3
11
0
0
0
0
0
0
0
62
33
136
19
66
-9
-33
12
25
-19
44
40
32
-36
11
22
40
31
0
18
-8
-25
9
-1
-28
-2
4
-40
33
41
-38
-67
4
-1
0
-6
-32
-40
-96
-47
-23
6
-80
1
-37
28
30
53
18
-14
7
-36
65
-14
-49
12
0
-3
39
28
23
-4
-76
23
23
36
-40
38
-34
-56
8
1
-64
25
21
4
-25
-32
10
53
-35
-5
20
20
-19
8
33
-16
-8
-1
47
-54
-2
106
5
-34
19
-5
-25
8
8
-33
2
33
45
-197
-7
54
-120
-67
97
8
-31
22
72
-32
17
-22
19
1
15
27
-31
6
-21
-14
-6
-1
-60
41
13
15
-9
-26
3
14
-25
23
34
43
-50
-3
37
8
1
5
12
-9
0
0
-20
-42
16
-8
-30
-10
-69
23
-11
-29
-2
44
0
53
38
35
-57
-31
76
4
14
44
-29
27
-7
-13
10
-57
13
12
-48
52
-30
-26
-48
-10
8
69
30
35
-14
62
13
47
-23
46
32
-7
-89
-1
-5
-21
-14
-47
-6
-72
-61
3
-12
73
-27
8
-7
81
-68
15
-14
-38
-11
45
-38
-26
31
-39
12
-10
-41
-18
-43
54
3
0
0
0
0
0
0
0
0
0
0
-3
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
11
0
0
0
0
0
0
0
0
0
0
-39
0
0
7
0
0
-47
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
-21
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
-3
0
0
0
0
0
0
0
0
11
-4
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
4
0
0
0
-16
-45
0
0
-6
0
0
0
-3
0
0
-11
0
0
0
23
0
0
0
0
0
0
0
0
-2
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
-13
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
-3
0
0
0
14
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
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
-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
-7
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
10
0
0
0
2
-1
0
-41
0
0
0
11
0
0
55
1
0
8
-1
0
11
0
0
0
0
0
0
0
0
6
0
0
0
0
-22
0
0
0
42
0
0
-2
0
0
37
0
0
0
0
0
2
27
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
7
-8
-1
0
73
37
0
-64
-8
0
0
-20
0
0
-18
0
0
0
-5
0
0
-1
-8
0
0
1
0
24
0
0
0
0
0
0
-63
0
0
0
0
0
0
4
0
66
-41
26
0
0
0
-4
0
0
0
0
0
0
39
62
0
48
-29
0
0
-7
21
0
-1
-21
0
0
41
63
0
0
-26
-29
0
39
56
0
0
17
0
0
1
8
0
-34
-1
-8
0
0
-47
0
0
1
0
7
0
63
1
-9
0
9
0
0
101
0
0
0
0
0
39
25
0
0
0
0
0
3
-28
0
0
-24
0
0
0
-104
0
0
39
-14
0
85
-6
0
0
18
0
0
-4
-117
0
0
-3
-10
0
-5
-88
0
0
-10
0
-3
0
20
0
0
0
0
15
0
-41
0
0
0
0
0
0
147
0
0
0
0
0
0
34
0
-86
0
0
0
0
-16
0
0
-1
-8
0
0
-12
0
6
0
0
0
0
-33
0
0
0
13
0
0
38
0
6
6
0
0
0
39
0
0
0
-3
0
0
49
0
-2
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
10
0
0
0
-1
0
0
-38
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-100
0
0
-4
0
0
44
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-76
0
0
0
62
0
0
-81
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
-36
0
0
-2
0
0
0
0
0
-19
-13
8
0
0
0
0
-105
0
0
0
0
0
0
-1
0
-2
0
0
0
57
5
0
0
-14
0
0
-5
35
0
0
17
0
0
3
-53
0
0
7
0
0
0
-20
0
-26
0
0
0
0
27
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
10
-22
0
0
4
-77
0
0
0
0
0
2
-52
0
0
-6
0
0
4
-19
0
0
-17
0
0
1
-17
0
0
0
0
0
0
28
0
0
-4
0
0
0
25
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
-20
0
0
0
0
26
0
0
0
0
0
1
34
0
0
0
0
0
0
-29
0
0
-2
0
0
0
35
0
2
0
0
0
0
-6
0
0
0
0
0
0
-66
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
0
0
0
0
-6
0
3
0
0
0
0
18
0
0
0
0
0
0
-33
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
42
0
0
0
0
0
16
98
0
0
0
0
-20
11
0
0
-46
1
0
0
0
0
0
0
0
0
0
13
0
0
115
-12
0
-18
0
0
-4
-105
0
0
43
-2
2
0
-43
24
0
31
-37
0
0
0
0
0
4
0
0
0
0
-12
6
0
0
-68
0
0
0
0
0
106
82
47
0
0
0
-61
114
0
1
94
0
0
78
21
0
-67
-128
16
0
-2
8
0
-2
-57
-6
0
50
-3
0
0
4
108
0
-23
38
0
0
39
0
0
-3
31
0
-34
48
-78
0
0
44
0
0
0
0
0
0
-18
-58
25
0
0
0
1
77
17
72
0
0
0
-21
37
0
-8
-16
-45
0
6
46
0
0
49
0
0
107
28
0
0
-92
33
0
27
-36
0
0
32
-4
0
-3
1
2
0
-15
11
0
-3
24
0
0
18
0
0
0
-26
0
0
-44
-5
0
0
-71
0
0
0
0
0
0
-46
7
-4
0
6
0
0
10
0
8
14
0
0
4
46
0
-8
11
0
0
-6
-18
0
-69
103
0
0
0
-3
0
-18
5
10
0
0
34
17
20
36
13
0
0
-47
0
-5
9
-1
0
0
-26
0
31
0
0
0
0
-80
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
15
9
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
-129
0
0
0
0
0
-84
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
0
0
-30
32
0
0
66
0
6
53
-37
0
0
-14
0
-3
0
0
0
0
-25
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-39
0
0
0
0
0
0
-1
0
56
3
0
0
0
0
0
1
0
0
-1
0
0
-17
-12
0
-16
-30
0
0
-20
6
0
0
-10
0
0
11
-29
0
0
99
0
0
-20
2
0
0
14
0
0
0
15
0
21
5
0
0
0
57
0
0
0
0
0
0
50
1
0
0
0
0
0
-39
8
0
0
0
0
0
36
0
4
-9
32
0
-10
108
0
0
8
0
0
3
-40
0
-7
-9
-18
0
-8
-120
0
0
-23
0
-11
-7
-96
0
0
12
0
0
0
83
0
0
-15
0
0
0
22
0
0
0
-7
-2
0
-42
0
0
0
0
0
0
-96
0
0
0
12
0
0
-62
0
-6
0
0
0
0
-21
0
0
0
0
0
0
44
0
7
2
0
0
0
30
0
5
-6
0
0
0
65
0
-4
7
-1
0
0
16
0
0
-17
1
0
0
-70
0
-12
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
-3
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
2
0
0
-41
0
0
0
0
0
-11
-4
0
0
0
0
-4
0
0
2
-2
1
0
0
0
0
0
0
0
0
-95
21
0
0
47
-17
-6
92
0
0
0
25
0
0
30
0
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-4
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
46
0
0
0
12
0
-30
-34
0
0
59
44
0
0
-79
0
0
-24
-93
0
0
-2
9
0
-14
76
0
0
-7
0
0
59
-20
0
43
0
-11
0
0
24
0
0
0
0
0
0
20
-3
0
0
0
0
0
152
0
0
0
0
0
2
0
0
0
10
0
0
0
-84
0
0
48
0
0
-58
37
0
0
-26
0
0
26
-5
0
0
-5
0
-27
-14
-38
0
0
-3
0
-4
1
-24
0
0
-19
0
5
0
-16
0
0
0
0
-1
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
-7
0
0
0
-5
2
0
0
0
0
0
0
-11
0
-24
0
0
0
0
23
0
-23
-4
14
0
0
58
0
0
0
0
0
0
-16
0
0
0
25
2
0
26
0
0
0
0
-3
0
61
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
93
0
0
0
0
0
-6
-15
0
0
0
-1
0
19
7
-1
0
0
0
0
15
0
-13
0
0
0
0
0
0
0
0
32
0
0
1
0
0
51
0
0
0
0
0
50
0
0
0
0
0
11
0
-1
0
-6
0
0
0
0
0
0
0
0
0
33
0
0
0
102
2
5
-15
0
0
0
13
0
39
0
7
0
0
-26
0
13
-33
0
0
0
0
0
-18
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
77
0
20
0
0
0
0
-167
0
0
0
0
0
49
15
0
-12
-29
0
0
24
33
0
-6
25
0
0
70
-111
0
0
83
40
0
7
62
0
0
-22
0
0
0
-6
0
79
-9
0
0
0
-5
0
0
0
0
0
0
-18
-13
0
0
0
0
0
15
0
0
0
0
0
-5
-72
0
1
1
0
0
-25
-25
0
0
4
0
0
0
-18
0
0
9
-12
0
0
1
0
0
8
0
0
0
81
0
0
-28
0
0
19
40
0
0
25
0
0
0
-8
0
0
8
0
19
0
13
0
0
0
0
0
0
-82
-29
0
0
0
0
0
-82
0
-26
0
0
0
0
-124
0
0
-12
0
0
0
-18
0
8
12
7
0
0
-41
0
0
-23
0
0
0
60
0
-8
0
0
0
0
-39
0
0
-1
0
0
0
16
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
-4
-8
-93
28
2
4
34
20
23
-42
-77
85
134
3
61
41
81
-59
-3
7
41
6
-1
-15
13
71
59
15
62
-2
11
-56
-8
49
50
-40
-13
16
-8
-48
-35
8
-27
-71
-2
-44
-41
-47
9
14
38
28
-71
42
-62
-22
-11
-28
-41
-89
-13
-5
-4
0
0
0
0
0
0
0
-23
46
34
-6
-17
26
-33
15
9
48
13
-16
-36
9
26
-22
-9
13
0
58
10
8
37
12
-37
-5
84
4
0
-13
-82
16
-26
-6
6
-43
-102
-19
-33
-18
15
29
19
9
80
-91
-61
-25
-85
-73
4
111
-39
-29
51
56
-20
-3
-209
-202
-18
29
58
-5
8
-26
53
-11
17
-28
1
-5
-45
32
-4
0
38
0
7
-8
2
23
71
-25
-26
2
21
-6
5
4
62
-91
-18
30
-51
-24
42
17
-38
4
-11
14
-4
-2
56
-53
28
43
-98
34
-60
-37
-58
3
-37
7
-9
14
24
-48
-17
-126
-65
-15
-8
-23
-33
-5
46
67
-8
-14
-17
11
4
-3
57
-20
-2
-1
-20
-1
-14
-15
8
24
55
-21
-2
-24
-2
-21
9
-9
-24
-6
-127
-13
19
21
14
-6
12
12
-107
40
61
-6
-94
22
49
-25
98
-9
71
-62
-39
-35
-79
-15
-27
5
30
10
-39
-31
-7
-18
1
6
-18
-78
-59
-51
-26
8
-39
18
-45
-58
6
28
35
-61
2
-10
-16
7
-42
16
26
-15
-13
-41
-44
-5
-4
8
7
43
-34
11
-35
-6
21
-25
-1
15
42
-51
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
29
0
-81
0
0
0
0
0
0
-6
0
-8
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
-18
0
0
-1
0
0
-45
0
0
0
0
0
-11
1
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
27
6
0
0
1
0
0
62
3
0
0
-10
0
0
-2
0
0
0
-6
0
-21
-3
0
0
0
5
0
0
0
0
0
0
5
0
47
0
0
0
0
0
0
0
0
64
0
0
0
0
0
-4
34
0
0
0
0
0
-42
43
0
-32
-6
4
0
40
60
0
0
26
0
0
-3
16
0
0
-3
-12
0
-13
-63
0
0
-10
0
0
0
49
0
-8
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
0
11
2
0
0
0
0
0
20
0
0
0
0
0
0
-55
0
0
-7
0
0
-4
71
0
0
14
0
0
0
-82
0
0
-6
0
0
1
-27
0
0
0
0
0
0
-101
0
0
-2
0
0
0
-14
0
0
1
0
0
0
-54
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
-1
0
0
0
0
43
0
0
0
0
0
0
-58
0
0
-5
0
0
0
-18
0
0
0
0
0
0
43
0
-8
0
0
0
0
-12
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
-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
-43
0
0
-1
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
-38
0
0
0
-1
0
0
-10
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
-2
0
0
0
0
0
0
-67
0
0
0
0
0
-1
0
0
-64
0
0
0
0
-1
0
0
-2
0
0
0
-4
0
0
-1
0
0
0
-27
0
0
-1
0
0
0
-2
0
1
0
0
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
-46
0
0
0
0
0
0
-2
0
0
0
0
0
0
-69
0
0
-2
0
0
0
-9
0
0
-1
0
0
0
-29
0
0
0
0
0
0
-1
0
0
1
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
64
213
97
0
155
-70
0
83
29
-1
0
-135
-23
38
-8
-53
-76
0
23
-35
0
-7
-13
-10
12
-137
93
-9
-4
46
42
0
-8
28
-1
14
74
-8
0
0
13
-3
0
0
0
0
-1
33
66
-1
0
-2
0
48
93
-15
-2
-69
12
0
0
0
0
0
0
0
0
38
41
25
-2
-8
16
0
29
-116
30
5
-98
-39
0
-1
-37
0
-12
-32
-46
0
-13
-30
-10
7
-24
62
0
5
-14
22
-6
-16
-36
-8
0
0
26
-1
6
-6
0
-3
4
30
80
51
-3
0
15
-60
57
26
-181
29
0
124
49
0
53
68
-1
0
-19
-27
6
-10
8
6
0
63
-16
5
40
-9
10
0
-2
3
-3
-2
-22
-81
0
-48
-28
0
-25
-12
5
0
-42
-52
11
-1
-30
-54
0
-5
-26
-49
-33
-3
0
0
12
23
-32
67
-4
6
5
32
20
37
-4
-90
68
0
-104
36
20
46
90
13
0
74
-15
7
74
22
-74
0
22
-13
-3
45
18
33
-15
29
-13
0
-26
5
36
8
-19
-12
0
3
2
23
0
-2
7
-6
7
-97
-63
-7
3
-18
2
5
0
106
0
0
21
-11
9
34
-21
0
21
-14
-13
-24
0
-19
0
38
11
-14
23
23
20
0
-29
17
-6
113
104
-3
0
-118
20
-3
1
104
-11
0
-130
-1
0
-18
-95
2
0
-87
0
0
33
74
-50
0
23
13
0
54
-99
-15
0
0
-38
-10
3
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-81
38
17
181
0
35
-28
26
109
15
37
44
-128
-7
-42
-35
-4
-3
-2
-67
63
42
-7
-2
-10
27
-100
0
113
-6
-14
0
2
-156
15
0
-9
0
0
0
34
-4
131
3
-4
42
-6
6
71
8
7
35
67
15
-13
0
0
0
0
0
0
0
-50
102
184
77
56
12
45
-86
-32
126
-11
14
-9
-146
-17
-73
0
-8
-57
-47
-105
-67
26
0
5
-143
-5
-26
-13
16
0
1
18
-18
-70
0
-10
-19
0
11
3
-150
0
-12
109
-11
38
-72
-3
-51
15
132
5
-56
-6
-3
-31
-94
56
26
-7
-2
0
79
62
-11
37
12
23
4
32
-33
3
51
-23
43
-62
25
-67
7
-15
-51
-3
-5
-42
67
0
24
-138
52
4
8
-1
0
-2
-59
-8
-120
0
-31
49
-147
0
76
4
9
-22
157
1
7
-18
7
82
-39
-46
-7
83
-82
10
-158
15
76
158
-6
-5
10
47
-58
-57
-34
-31
-18
-76
71
-25
-36
84
8
-67
-35
48
-49
24
-34
-5
38
-16
-21
14
11
1
-16
18
-43
-24
-59
0
-9
3
-47
-47
0
-50
11
-5
0
52
23
0
-46
-34
20
-9
14
12
9
-48
46
5
25
165
-21
-29
2
-7
24
-30
102
-17
40
-48
-44
12
-10
114
10
38
-41
20
52
-27
43
61
-12
0
12
-51
-59
-12
-71
-17
45
-11
-2
-38
-22
-12
0
-1
-8
-35
-32
-42
47
0
-93
-38
0
-23
-1
12
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
4
-23
1
0
14
0
18
22
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
3
0
0
0
0
0
12
167
0
0
0
0
-22
0
0
0
-59
-11
10
0
0
0
0
0
0
0
88
-7
2
-10
7
9
-1
-132
21
0
0
-1
0
0
10
-11
0
0
-13
-1
-4
0
4
0
0
-21
0
-7
0
10
0
0
1
0
-130
0
0
23
0
0
0
18
0
-20
24
-1
0
-1
0
1
-77
0
0
4
0
0
12
0
0
47
-67
-3
0
15
-39
0
-19
-7
0
0
1
-85
0
0
37
-43
0
-3
-53
0
0
-30
0
0
0
-80
0
-50
27
-9
0
0
68
0
0
0
0
-2
0
34
0
0
0
-22
0
0
39
0
0
0
0
0
0
-48
0
5
114
20
0
-85
0
3
16
-83
0
0
27
8
0
0
-84
-25
4
-24
-62
1
0
-12
0
0
0
-10
0
-1
18
38
0
0
11
0
0
10
0
-1
0
-38
0
0
8
0
-1
0
-23
1
0
0
0
0
0
-73
0
0
0
0
0
0
53
0
-20
-21
0
0
0
0
0
4
-3
17
0
0
-20
0
-63
-3
0
0
-8
39
0
11
-2
-7
0
-16
22
0
-6
0
-5
0
0
-24
0
0
3
0
0
0
-24
0
-8
0
0
0
0
-14
0
0
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
0
0
0
0
-6
0
-1
0
5
0
0
-5
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
-61
0
0
-4
0
0
-123
0
0
0
0
0
11
75
0
0
0
0
0
22
0
0
4
-25
12
0
0
0
0
0
0
0
-11
21
1
5
-75
2
0
-130
-5
0
0
-5
1
0
10
-15
0
0
-13
0
0
-16
0
0
0
-1
0
-1
0
5
0
0
0
0
-1
0
0
-12
0
0
0
0
0
2
28
-3
-10
0
0
0
-65
0
-4
-10
0
0
13
45
0
-42
-30
-7
0
4
-80
0
0
-15
0
0
-10
-15
0
6
19
59
0
-21
73
0
0
-6
1
0
0
-6
0
-24
0
-1
0
0
-40
0
0
0
0
0
0
-17
0
14
0
0
0
0
-32
0
-3
0
0
0
0
-25
0
0
12
0
0
-43
24
0
0
-11
2
0
-7
-37
0
0
-2
55
0
-17
-67
0
0
9
-1
0
-3
0
0
6
-18
-3
0
0
10
0
0
-4
0
-3
0
-31
0
0
-2
0
-4
0
38
0
0
0
-2
0
0
41
9
2
0
0
0
0
-5
0
30
3
0
0
0
132
0
0
-2
6
0
0
-53
0
1
-2
0
0
5
19
0
0
10
0
0
0
101
0
-4
9
0
0
1
89
0
0
0
0
0
0
35
0
13
0
0
0
0
22
0
0
0
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
2
-22
-33
2
-3
-16
-18
-13
6
63
-53
19
-18
51
-16
0
1
-8
65
87
40
-13
22
-15
-15
-25
-1
-7
-1
-9
-1
0
-71
0
0
0
0
0
0
-28
9
-47
108
0
-2
-5
0
46
108
-4
-9
94
29
93
0
0
0
0
0
0
0
2
-39
-26
12
85
62
-54
11
51
21
-12
-48
49
132
-96
49
1
-5
69
74
-50
-55
52
1
0
67
0
41
-8
-13
0
0
-6
27
-20
0
0
-32
0
0
0
64
0
76
15
95
-12
27
0
24
-10
42
-13
-20
0
-3
-82
-53
-1
35
46
-38
0
-9
-104
-7
52
-91
-19
-5
63
12
23
0
-3
0
-51
27
-4
-5
42
-46
-27
52
-67
26
-1
0
131
-1
55
-9
-16
-24
0
-15
-1
-93
0
30
179
-23
0
-15
7
7
47
45
0
0
0
10
-74
30
-126
47
-31
6
4
29
-97
-38
-3
-82
7
1
-107
-55
22
-7
86
-69
-15
-47
41
-36
-19
-15
20
7
66
-50
5
27
123
130
-77
-11
-14
-2
-1
37
55
116
-2
-65
-7
0
24
94
37
0
25
86
25
0
0
-7
0
44
96
0
0
-7
-2
-32
140
0
47
-5
31
0
64
-104
0
-28
34
21
0
-17
-82
28
0
27
10
9
22
39
-3
-7
49
-80
1
-4
16
0
27
-11
-2
-3
41
59
0
0
165
-56
-23
-14
3
0
152
-4
104
84
0
-7
-19
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
40
-20
-24
-54
-27
62
-71
-22
27
47
123
-4
63
-18
-15
3
94
34
-39
-75
-24
-72
-8
10
-26
-50
0
-36
52
-52
42
-26
17
9
-3
0
1
-5
-3
0
-1
64
0
2
65
8
-15
1
-8
61
-32
-14
10
-65
-15
-118
0
0
0
0
0
0
0
-25
27
14
30
-111
38
40
-19
-39
7
-39
-14
-36
-40
-6
-52
-47
77
-17
15
0
-38
-96
-4
-45
-12
33
3
-73
25
-5
-2
30
6
-23
-6
25
-48
-1
1
-24
-43
-7
-1
-14
-135
3
-36
-2
-2
-2
2
0
-45
0
-2
-17
7
-34
28
31
3
-24
14
12
-30
-38
39
-56
39
17
-15
4
-28
47
76
-28
-2
-16
119
9
18
-12
-84
34
-35
-20
19
-34
11
23
-51
-29
-24
-8
2
41
-40
-1
0
10
-8
-14
36
25
-19
5
-38
-62
16
33
-42
-15
12
-10
-50
54
28
72
102
-5
-85
101
106
28
32
48
-16
43
-22
8
-23
-27
68
-19
52
95
87
-8
10
91
-12
17
99
29
1
-55
-22
-42
-18
11
-9
-28
34
-22
-8
10
-25
10
-18
0
-2
-14
89
-34
-49
61
-23
-15
60
-121
46
-32
-76
-68
41
-19
92
-67
69
-3
74
9
-40
-69
-77
83
-28
80
142
-5
-19
-67
21
15
-119
28
-31
141
-40
15
6
-65
93
7
112
55
57
-81
63
30
-21
-2
-47
79
13
13
-157
3
6
-44
21
18
-17
-8
1
90
-45
-99
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
43
29
2
-50
0
-84
-136
126
14
-13
-87
4
-39
-95
-29
-5
-2
-3
0
-87
-49
-63
-3
-1
-77
0
-22
0
-11
0
4
-1
0
-62
0
-25
-9
0
17
0
-31
-15
-60
-52
14
-1
0
1
150
21
39
-4
93
-3
36
0
0
0
0
0
0
0
-119
99
67
4
-113
-1
-145
-25
-33
-1
-8
-89
0
8
-57
55
0
-31
-30
-1
1
-40
-34
0
-1
99
0
49
-31
-96
0
-2
-17
0
35
0
-18
8
0
-9
5
-20
-5
22
-159
40
-22
0
0
98
4
0
3
-17
0
6
4
-20
2
-9
1
-3
7
20
25
0
23
-32
0
43
7
-104
-2
-11
-62
-7
-7
16
-30
0
184
10
15
-18
-33
-24
0
6
23
0
-43
182
9
1
-7
160
0
-67
3
-32
16
-22
-1
0
-22
17
-14
-91
2
29
0
4
-50
-3
-28
14
-39
0
-22
77
8
-28
6
69
-11
-14
52
16
-20
-47
24
-27
-6
22
0
17
-133
6
27
-5
44
-71
0
23
30
2
29
33
1
0
-14
65
6
82
138
-1
-9
-17
87
-7
-1
0
-31
-3
0
21
0
16
0
9
-10
12
-5
0
0
13
-34
5
-20
34
0
7
22
-47
-3
-18
56
0
-12
57
28
-18
-26
0
-15
-16
-56
10
-2
-24
-17
6
-51
6
-12
-5
-59
37
0
12
55
57
32
12
65
8
-4
24
1
16
-32
68
0
6
17
-7
-21
28
37
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
17
-2
0
-1
0
0
49
10
-3
0
-11
-2
0
-21
133
2
0
0
0
0
-4
-26
-13
0
-31
20
0
0
5
0
87
3
0
0
0
0
-39
0
0
0
0
0
-9
14
0
0
0
0
-7
-28
7
0
-54
-86
0
0
0
0
0
0
0
0
17
-56
-6
0
-14
-43
0
-93
-60
16
0
-65
0
0
-47
67
33
0
70
-5
0
-55
1
0
0
-3
0
0
0
8
0
0
-6
-10
-35
0
0
5
0
-5
0
-15
0
-17
-34
47
-3
-1
0
47
75
0
0
-86
0
0
22
-27
0
10
-8
9
0
-89
19
0
89
-65
18
0
17
13
0
0
-56
51
0
-28
-60
3
0
-4
-24
0
-66
-38
0
-55
-74
-16
0
0
-136
0
0
28
0
0
0
6
-16
124
21
-3
0
0
38
7
0
0
0
0
32
66
-59
-12
93
35
0
128
84
0
40
39
0
0
-38
-40
26
-1
-31
35
0
124
39
12
1
47
0
0
39
-85
18
40
-12
-57
0
-48
-20
0
-6
46
0
0
7
-18
0
-38
1
-18
0
0
-43
-10
0
0
0
0
0
-9
-16
0
-2
0
0
0
-64
-14
-74
81
-1
0
11
41
0
2
21
56
0
8
44
13
47
-2
0
0
-51
7
8
-82
-59
6
0
-7
-14
5
-41
-47
6
0
-7
-56
0
0
50
19
0
0
36
0
34
-3
0
0
0
-40
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-62
26
12
-11
-9
-5
27
17
-112
-8
-5
-137
-13
35
29
-7
-116
-14
-35
-13
173
-21
-6
-29
-50
33
-22
-15
4
-11
-2
-2
-25
-112
-39
69
-77
-59
64
-9
-64
-97
-31
91
-1
37
52
-66
0
0
0
0
0
0
0
-50
-50
-150
-136
19
-91
116
11
6
-104
-128
-26
58
26
-27
-36
-75
-155
-39
-24
-16
-14
-7
-55
20
-67
-145
12
-6
-35
-18
7
-90
4
-15
-42
-117
-87
-33
-64
-10
2
-34
28
-71
-86
-28
21
20
-48
21
-35
-14
59
16
-30
-35
19
-29
-4
35
20
-23
-9
16
31
-64
-30
-10
-51
8
-12
-57
-97
-25
-23
14
8
-7
-32
7
-29
11
-1
3
5
-84
-19
-63
3
-87
13
-12
-150
-56
-40
52
-46
-9
16
23
38
-91
0
-96
8
3
-67
24
-26
-52
4
52
2
-15
9
26
24
64
2
35
79
9
30
38
4
3
-1
-18
-38
17
17
-30
-36
-17
-97
-72
8
-12
-28
0
-21
-167
-37
-26
-6
28
42
-5
-39
92
-14
15
-12
-22
-51
-33
-89
-55
-2
-9
-40
-27
32
-42
-128
-32
33
55
-24
-10
30
43
-59
-78
0
-5
-77
-21
-42
-20
87
9
-4
3
-18
-14
-10
13
-74
-1
7
-23
-8
33
19
18
1
-57
15
-10
13
-45
41
-19
-53
-17
3
-8
-25
-99
-8
-5
60
-28
11
-18
63
-6
-66
-10
-5
41
-6
-11
-59
-43
50
-9
80
-25
0
0
0
0
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
0
0
-63
0
-10
-87
68
0
0
-17
0
-2
1
-6
0
0
0
-12
0
0
0
0
-30
0
0
65
0
0
2
0
0
0
0
1
59
-67
0
0
0
15
36
63
21
0
8
-83
0
0
0
0
0
0
0
0
-99
0
-11
-10
-89
-16
-23
-85
-33
12
-15
-185
2
21
-5
8
0
0
8
-14
-20
-23
-60
0
-2
-2
-4
59
-4
-8
0
0
0
3
-184
0
0
-6
0
0
-3
31
3
48
-59
13
-1
-46
0
-97
43
-5
0
22
-1
0
-70
31
37
76
-64
68
0
-57
0
-1
-16
106
-13
8
-18
-37
2
0
-121
5
14
-21
-15
-8
0
-20
0
9
-1
-43
0
-55
-3
115
0
-1
-97
0
1
-4
14
3
0
57
-32
5
0
-8
0
0
54
-8
21
-6
0
0
-19
28
-1
-27
-17
35
0
-148
-3
-17
-18
-35
7
-2
-42
0
10
-7
54
-6
30
-30
-17
-2
0
-119
12
5
13
28
-1
9
-180
-14
1
7
-5
0
8
-60
-6
-44
18
-139
0
-6
-109
20
31
0
42
-1
-1
0
25
-4
0
-106
49
3
-1
0
0
0
50
0
25
65
-13
4
-13
-9
0
-12
93
-39
0
-8
0
2
-30
-51
0
0
-37
52
0
7
-37
-51
0
-10
25
8
32
9
0
0
-3
-105
0
23
-32
4
0
0
0
0
20
21
0
4
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
35
88
0
0
-3
-9
0
-30
-3
0
-3
-14
0
-3
0
-4
0
0
-2
0
0
0
0
0
-67
0
0
-9
0
0
-49
0
0
0
0
0
-1
40
16
0
0
0
62
11
0
0
4
-15
-1
0
0
0
0
0
0
0
-20
-85
-9
0
-58
-28
-19
-19
-15
12
4
137
12
-4
54
60
0
0
-45
0
6
-1
11
0
0
-8
0
17
0
0
0
0
-4
0
-27
0
7
-9
0
0
0
-13
0
-8
-1
-1
-1
0
0
32
4
0
7
18
0
-5
47
143
-2
89
-50
84
0
36
6
-7
0
-97
0
0
33
-79
0
-9
-88
24
0
-6
-37
0
2
-13
0
0
-3
-7
0
-41
-35
64
0
2
-35
0
6
22
-14
14
3
20
-7
3
0
9
0
0
-97
-9
0
2
0
0
-8
67
0
-28
32
5
33
2
129
0
0
-80
0
0
-49
-45
-1
-3
-25
42
-1
-137
-38
0
64
96
22
0
21
-65
0
-12
14
0
0
-18
-56
0
34
13
-10
3
0
1
0
-17
-3
2
-6
0
78
0
0
0
-6
0
0
-67
-10
17
9
0
0
0
52
0
59
0
0
-7
-10
-28
0
0
-3
-5
0
0
60
-12
-88
-9
-4
0
-8
-106
0
0
70
-68
0
0
-13
0
20
9
0
0
0
121
0
-1
0
1
31
0
-68
0
4
-1
-5
21
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
0
0
0
0
0
0
0
-3
25
0
0
65
35
22
85
48
0
0
0
0
55
0
13
0
0
0
-4
15
5
0
0
24
0
0
114
0
0
-32
0
0
0
0
0
-16
51
0
0
0
0
18
78
0
-4
97
-11
36
0
0
0
0
0
0
0
14
26
-13
10
-35
-11
3
20
12
-1
-13
-22
0
0
44
85
11
-6
-83
-7
-10
-124
-2
0
0
49
0
-16
0
-9
0
0
0
-16
74
0
0
43
0
0
20
22
-11
32
-54
8
-1
-13
0
-2
-53
1
0
68
3
10
75
-56
3
-96
-48
29
0
38
-15
0
0
39
17
0
-20
-20
0
0
77
-51
0
-118
-66
19
5
42
0
-14
1
-212
0
-53
27
31
-27
0
-53
0
0
-8
0
46
0
65
115
-24
0
-13
0
0
55
45
13
0
6
0
13
-47
4
-11
92
29
11
-65
-61
0
7
20
0
58
-45
-17
-13
-16
-11
2
0
51
-77
11
26
-56
11
5
37
-37
0
4
96
-26
9
15
-31
0
6
5
0
27
0
34
0
0
9
0
19
-1
-1
-5
0
0
0
0
0
-17
16
0
0
1
0
0
-10
0
-84
-15
0
-3
-17
-81
0
0
-1
10
0
19
-37
0
-34
-21
-2
5
-7
-61
0
-22
-17
-31
0
-10
-138
-6
17
-39
4
1
1
-17
0
-1
21
58
11
0
-10
0
1
0
0
71
0
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
0
0
0
0
0
-104
12
17
8
0
3
-1
-27
55
10
0
1
0
-2
5
21
-3
0
-3
0
21
0
6
0
-64
0
0
6
0
0
-31
0
0
11
-6
0
12
78
0
0
0
0
-148
18
4
0
2
-63
0
0
0
0
0
0
0
0
-18
-63
51
61
-104
-1
9
21
-23
-12
0
30
-2
72
-99
140
0
-2
-68
0
-9
19
-117
0
0
-3
0
3
0
-22
0
0
2
-21
-192
0
0
44
0
0
0
-10
-1
5
-81
40
-4
-12
0
-11
-9
0
-12
-25
1
0
20
172
-3
56
3
50
0
-40
15
0
57
-27
0
0
-63
18
0
0
15
73
-20
-138
-25
0
0
108
-2
0
-11
46
0
8
-18
-56
13
66
-55
0
0
0
0
45
4
-47
-33
18
0
21
0
0
79
22
0
0
-4
0
34
-22
-14
67
-8
13
0
60
61
0
-11
64
0
-1
51
12
51
12
60
-3
-25
-132
-75
-1
-9
18
-46
-6
79
-156
25
0
-38
84
28
-53
-52
0
-42
-3
31
59
-3
-86
0
0
0
18
13
0
-38
3
0
0
-8
0
0
-37
-34
-1
0
-13
0
13
-59
0
1
-25
0
-2
10
55
0
-71
-18
-16
0
108
58
0
12
-31
-15
0
1
-40
-13
-1
-42
109
1
-1
-75
0
10
-7
0
17
4
-27
0
26
5
-17
-14
0
-48
0
-62
0
0
0
0
-26
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
-5
0
0
65
0
0
38
5
0
0
0
0
0
-5
0
-15
0
0
0
0
0
0
-8
0
-114
0
0
8
0
0
-92
0
0
0
16
0
11
7
0
0
0
0
-2
-19
0
0
36
-7
0
0
0
0
0
0
0
0
-10
1
0
0
18
0
-15
-11
-13
0
0
-13
0
0
7
-2
0
0
-3
0
-32
20
16
0
0
-1
0
-2
65
-4
0
0
-9
0
-43
0
0
0
0
0
0
22
0
-18
-1
0
0
0
0
0
27
0
0
0
0
0
-14
78
0
-86
-52
4
0
-134
43
0
0
45
0
0
29
-80
0
0
20
0
0
3
-12
0
0
56
0
0
-38
-76
0
46
68
0
0
0
45
0
0
-6
0
0
0
-36
-5
0
0
0
0
0
26
0
0
0
0
0
0
-23
0
0
-1
0
0
-1
-40
0
0
-6
0
0
33
15
0
0
13
0
0
-2
-51
0
0
-43
0
0
0
74
0
0
-22
0
0
1
-87
0
0
-29
0
0
0
2
0
0
-1
0
-5
0
-113
0
0
0
0
0
0
-91
-3
0
0
0
0
0
9
0
-29
0
0
0
-12
-11
0
0
-14
0
0
0
6
0
0
5
0
0
0
81
0
0
-2
-6
0
0
-55
0
24
-26
0
-4
0
-106
0
0
-29
0
0
0
-77
0
-5
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
-3
0
0
0
0
2
0
6
5
8
0
0
0
33
14
75
0
0
0
-26
0
0
0
1
-6
3
0
0
0
0
-53
0
0
0
0
0
-23
158
0
0
0
0
-25
53
0
0
37
16
0
0
0
0
0
0
0
0
-118
7
27
1
-85
41
0
47
47
0
-15
-5
0
0
93
27
0
0
-103
17
0
-79
-42
10
2
-24
-7
0
-4
-42
0
0
0
8
-2
0
0
-2
0
0
-27
0
-6
-2
28
125
15
-7
0
98
-40
3
0
40
0
0
73
53
0
9
25
63
0
-111
-95
0
0
-128
-6
0
31
50
-1
0
7
27
0
-22
48
0
2
74
0
0
-43
-62
0
-54
-10
-26
0
9
-68
0
1
-16
0
0
0
104
42
49
0
7
0
0
4
0
0
-8
0
0
-10
-13
0
-6
91
5
0
-12
15
0
0
83
0
0
-45
-6
34
-15
-53
-10
0
-209
-2
0
2
-12
2
0
8
-36
0
50
39
-21
0
-76
-22
0
22
-6
0
0
2
-43
0
-37
51
-2
0
0
95
0
0
0
-2
0
0
42
-37
0
0
0
0
6
1
11
99
79
0
0
112
-31
0
24
2
8
0
33
23
3
-74
84
0
0
-29
-2
0
38
4
-19
0
0
-46
0
47
1
-3
0
-2
-110
0
0
13
-10
0
0
50
0
-29
0
0
0
0
21
-2
-1
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
-118
71
104
130
137
44
-59
6
74
56
26
-46
-64
-19
7
82
82
-50
-8
1
-144
0
0
-32
0
0
0
-2
3
26
41
-10
6
-14
-1
26
-33
-7
5
-15
-84
-90
0
0
0
0
0
0
0
-46
-7
-97
-41
-60
-35
-38
-36
-11
31
-3
27
-6
52
10
34
75
36
-46
17
-36
86
-44
-4
-1
-3
33
-120
82
5
43
-1
-132
-211
-106
20
0
-25
-1
-1
19
-58
-2
39
-168
-120
86
19
4
51
20
-14
-32
-11
33
-7
26
-38
31
36
-54
-49
-4
47
34
-29
44
2
-26
-33
40
4
20
61
-51
-88
-6
-34
-25
32
-29
-77
40
27
-14
17
8
-38
-72
-98
-64
36
-51
-2
-2
-129
42
-38
0
23
17
69
-3
-32
42
-3
31
-39
6
-12
44
52
-67
28
64
72
-51
5
-66
41
-2
112
50
-66
-123
-21
46
-20
-46
-67
-7
-21
-116
2
-10
49
42
19
-10
47
22
-48
30
-11
-7
-26
16
133
11
3
-115
-28
-51
-19
68
-54
21
3
-69
-147
-9
6
-7
-1
-2
9
-50
34
-5
-20
-18
86
36
-5
-3
49
33
-55
80
8
-9
-27
112
-8
27
25
-94
86
-6
-56
7
-3
-6
-33
-36
56
14
39
36
-8
-29
19
-22
32
-62
-67
-2
-62
196
-39
-29
16
42
49
-107
1
-81
-73
-41
0
18
-64
32
16
25
-73
-4
-6
-1
-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
-99
-36
-11
0
8
0
-4
100
114
-4
-1
12
-7
0
0
-29
18
-23
0
0
-65
0
0
-38
0
0
1
0
-2
49
31
-1
-1
-1
0
22
-66
-44
-33
-35
-11
64
0
0
0
0
0
0
0
-38
9
-48
6
26
-93
50
-48
0
-26
4
8
-1
-57
43
-45
0
8
-91
71
-97
-142
26
0
43
-7
0
-72
-6
-65
0
0
3
-22
-299
0
0
26
0
-1
10
65
0
-19
98
-67
5
-137
0
145
12
0
-8
126
0
16
17
22
-2
73
33
-88
0
59
29
22
112
50
0
7
1
0
46
-30
-18
26
4
-14
-10
0
-20
-101
1
-5
72
-46
0
-67
-118
127
-38
5
-45
0
-2
47
-1
-23
0
34
-18
73
-2
79
15
0
7
-11
-4
1
-4
1
45
11
-65
-25
-30
-17
-81
73
14
0
15
70
101
115
-28
-6
-22
23
9
-185
55
5
0
3
89
9
-13
7
-35
22
3
43
-64
41
33
-23
-32
0
17
-91
17
-154
38
-56
10
-3
17
-113
-129
0
8
-4
2
0
-9
-117
0
24
-61
46
9
-4
0
-30
18
-41
-15
77
-6
-31
-57
32
-28
-102
-2
-19
0
24
-37
31
76
-10
16
117
-84
0
21
-46
57
139
-1
-20
3
2
-136
-55
-84
-103
-18
34
0
-14
-32
-12
-29
0
-44
0
-28
-20
-6
-30
0
-81
42
13
-5
-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
-53
23
0
0
0
0
0
0
-4
0
0
0
0
13
0
37
0
-38
0
0
-17
0
-26
11
0
0
0
0
0
5
86
0
0
0
0
-6
-10
0
-7
-12
-117
3
0
0
0
0
0
0
0
84
-12
0
-18
58
-55
6
-11
-24
0
0
-7
0
-8
17
54
-7
0
-9
-9
-5
32
-17
0
0
-38
0
81
-1
14
0
0
39
-3
28
0
-2
68
0
0
0
59
0
36
109
4
-14
64
0
-3
47
0
1
43
0
0
57
-61
-5
45
30
29
0
50
12
0
1
50
0
0
-11
64
0
28
-79
-4
0
33
20
0
0
28
0
0
-36
54
0
-10
-39
3
17
0
-36
0
0
0
0
-4
3
-53
-12
-5
11
-1
0
0
19
-17
-3
-1
0
0
0
-24
0
-111
25
31
0
-53
-10
0
48
-16
0
0
59
1
0
38
16
157
-9
24
-67
11
-22
-154
0
4
-39
1
0
12
-35
-15
-2
0
-86
0
0
-40
-5
-7
16
-26
3
0
69
65
60
0
-63
0
-1
1
0
0
0
7
-17
-4
0
0
0
0
21
-1
-21
51
0
14
-12
-72
0
-10
-72
-8
-8
57
-67
0
-25
-17
0
2
-26
-10
-1
-33
32
14
13
-4
17
0
52
14
0
0
0
-24
0
0
6
0
0
0
-48
0
139
0
0
0
0
-13
-4
-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
26
0
0
0
0
0
-2
-9
-9
0
0
-4
0
-5
0
20
0
-2
0
0
-2
0
0
-7
0
0
0
0
6
3
7
0
0
27
0
-28
-3
-7
0
4
-169
-15
0
0
0
0
0
0
0
-90
21
0
-6
74
51
0
-47
98
1
16
-11
5
32
26
-42
0
0
-62
-2
-2
-110
-15
0
-10
11
-3
102
32
-16
0
0
-1
0
-83
0
0
28
0
0
0
-7
47
81
-34
-3
-1
-7
0
13
-20
14
0
28
3
0
100
64
-5
-25
-26
60
0
-68
-68
-2
0
-85
0
0
-72
-5
0
0
108
2
-11
5
65
0
-1
11
0
-19
3
-135
0
62
-7
44
0
0
3
0
0
0
0
-8
0
-41
12
-4
0
0
0
-5
-17
34
0
0
0
0
46
-49
11
-15
-6
4
0
1
-8
-10
12
11
1
-7
-39
-80
0
-2
-14
26
-8
66
-23
22
0
-28
33
0
-10
-9
-2
0
-67
17
-8
29
15
-3
0
4
23
-5
0
-14
0
3
-4
-4
-10
0
-6
16
0
0
17
0
0
0
-20
0
0
0
0
-7
53
14
73
10
0
0
0
-172
0
-8
-9
0
0
-22
-61
0
-65
9
0
0
-2
-88
-2
22
-56
2
0
-14
37
0
138
-35
-5
0
0
15
0
0
-14
-4
-1
0
4
0
-17
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
-168
-43
0
31
0
177
34
58
-5
0
0
-13
-5
-31
0
-36
0
-33
3
0
-49
0
0
3
0
0
0
0
7
47
-48
-2
3
0
0
1
46
-13
-8
5
-183
53
0
0
0
0
0
0
0
-24
31
44
-13
39
111
58
-46
10
38
31
18
-2
26
-11
-94
21
7
14
46
-55
-151
-58
0
0
-11
-3
-91
59
-40
0
0
-9
107
-131
0
0
23
0
-7
0
-146
0
-56
-10
13
29
-144
0
-41
-11
15
0
-36
0
0
31
26
27
41
-7
-2
21
22
42
11
35
51
5
-17
19
49
-19
-25
85
128
-2
-6
17
1
26
-87
19
-122
58
-69
0
-15
-77
41
22
62
-99
0
0
21
-32
-90
0
-7
-96
-42
0
-15
-3
0
14
16
-5
3
-1
0
55
-25
54
-35
-26
-37
-6
-12
0
15
-2
167
-11
21
4
21
2
113
81
52
-4
32
-9
5
34
20
73
-55
83
-35
111
-11
-177
2
-78
12
-40
0
0
-52
-2
-39
3
-111
0
0
-74
63
-105
1
-23
32
0
5
30
19
0
12
-48
-4
0
40
0
-26
47
-7
85
27
12
14
1
23
8
69
-32
-7
0
7
-33
7
-101
152
3
81
-72
-35
58
37
-3
-72
32
16
37
0
3
-21
52
-21
-11
-13
0
17
99
-11
-35
-2
-45
0
181
-14
-2
59
0
-44
-24
128
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
-76
0
0
0
0
40
10
7
-4
0
0
-48
0
7
0
6
-1
-10
0
0
-93
0
0
24
0
0
0
0
0
-7
-30
0
0
0
0
-107
-20
-4
0
39
-11
6
0
0
0
0
0
0
0
-105
-94
-1
-6
-96
0
-27
-55
-2
-18
4
-35
0
-9
-67
-21
0
26
-99
0
-34
-109
-5
0
-1
-38
0
-3
-15
30
0
0
-9
0
21
0
-3
31
0
0
0
42
-2
4
-70
-50
-10
0
0
123
-7
0
0
-54
0
-1
-23
13
0
-32
52
-5
-1
-27
-44
0
10
-11
0
-3
-41
-26
22
-7
16
0
0
-53
-18
0
0
3
0
-17
-28
-95
0
-94
-104
0
10
-1
24
24
0
19
0
23
0
5
-8
102
1
0
-2
0
-32
10
5
1
0
0
-12
25
24
-15
-31
0
0
-23
29
0
0
-80
0
-12
100
36
0
-21
34
-5
-1
97
-45
0
-77
20
0
6
-74
8
0
21
-19
0
0
25
35
0
0
24
6
101
-3
51
0
40
19
-4
86
0
35
0
39
0
8
-25
0
35
-10
0
1
0
0
0
-27
3
-25
20
0
-9
47
6
0
0
187
-12
3
8
55
0
35
26
0
0
-11
-67
-7
24
5
11
0
0
3
0
-24
31
0
11
0
81
0
-9
-106
0
-14
0
-4
-2
-112
-43
0
-16
0
74
-2
-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
26
81
-10
-2
5
-3
0
-70
-18
-3
-2
1
-30
0
0
84
0
59
1
-12
0
0
6
-17
0
0
5
0
-4
97
27
-1
-6
15
0
-17
9
-5
17
-8
-19
0
0
0
0
0
0
0
0
-12
-56
7
4
-1
-6
0
-39
-50
6
-8
-8
-3
0
0
-21
-2
-2
5
-58
0
43
54
8
0
-62
76
0
-72
-36
18
-1
-6
-59
20
0
1
-65
0
0
17
0
0
32
25
-34
-19
-30
0
42
-2
-9
0
-44
-3
0
8
-3
33
28
20
17
0
-11
38
-3
100
50
85
0
-40
-92
0
34
-4
-30
0
-3
-1
0
0
2
91
-2
17
7
0
18
21
-56
0
-110
-5
0
-8
21
28
4
0
19
23
-48
0
20
0
0
21
-57
-3
-14
1
0
-16
43
-129
54
69
54
0
-35
46
-9
-16
22
-3
0
47
15
-13
-29
17
-12
7
35
-3
-18
62
4
5
0
-6
21
27
12
25
53
-11
98
29
0
7
71
19
0
77
28
-4
-29
94
-78
0
0
2
13
-24
0
67
0
0
37
15
6
-37
-32
0
2
22
0
7
-2
-4
0
-48
46
-4
52
47
27
0
73
27
49
57
2
14
0
-82
-10
11
-76
-43
65
0
106
1
-17
17
42
-14
-21
11
-21
0
-20
20
-58
-8
-5
48
-5
81
-2
63
2
0
-16
9
14
-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
-7
150
-21
62
19
-86
11
-5
7
0
0
136
-1
43
0
0
-5
0
11
-17
-7
10
61
-117
-7
40
-74
2
21
-52
-6
47
21
-48
-132
0
0
0
0
0
0
0
8
-91
121
42
-62
-76
-35
-148
-52
-200
-11
-154
-123
-35
-102
7
4
-10
8
-88
2
-88
-3
-1
-11
11
17
-16
-3
-11
0
-1
5
7
-20
0
-15
-70
0
-2
-7
-97
-2
-2
-110
-43
-34
-25
0
103
6
-4
-5
-44
-11
-8
29
10
23
16
1
-39
12
11
-2
64
3
25
52
-45
-21
-7
11
10
22
-58
-28
11
8
5
-29
3
-65
-24
-57
10
37
-6
44
-17
-36
-4
-25
-2
-5
93
-96
-15
0
13
-39
-121
0
-6
-29
-3
22
-69
-7
4
47
-7
-196
-33
-20
9
-5
-66
33
33
2
-10
-12
-7
-24
37
6
1
-8
-23
-12
-86
-18
40
-5
47
-23
22
8
-62
60
6
31
-36
-21
-86
-65
24
-36
99
-19
17
-65
-9
-26
-42
-9
49
1
-117
10
0
-9
46
20
-13
7
-74
0
26
33
-20
60
-58
-10
-18
-10
-47
43
-41
-170
-131
-13
-3
-7
-132
-29
-55
-49
34
33
42
-64
32
-45
-40
21
0
49
-24
0
-65
-110
14
-1
-5
35
-3
-95
-34
41
-18
-10
88
41
-51
7
-6
-3
13
-3
-35
-1
-23
0
12
-23
-23
-9
-72
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-10
-8
0
10
0
-45
1
0
-84
0
0
-46
0
0
0
0
0
-3
17
0
3
-5
0
10
62
52
0
-66
-67
-18
0
0
0
0
0
0
0
-7
94
3
13
28
7
50
-17
-228
0
37
30
12
-62
40
0
59
-65
5
-6
-14
-16
-12
0
0
39
19
-28
-4
-73
0
0
4
3
-116
0
4
-151
0
0
4
38
0
-14
-67
36
19
3
0
-24
28
-13
-3
-28
0
0
-23
77
0
15
9
-90
5
-47
-23
14
21
44
18
0
80
1
21
-27
-19
19
0
-12
0
15
-13
-44
-17
18
-35
22
-2
-122
-88
27
12
-19
-40
0
0
-13
-24
-93
0
13
-78
-60
0
-13
-2
0
-6
-40
0
0
8
0
1
94
22
165
-35
-21
-16
-22
12
-12
9
-30
-5
5
-50
6
40
-86
-62
-59
-7
-45
42
0
2
25
15
15
-81
0
-20
2
-20
-21
78
-13
-7
0
-9
-89
-1
-35
84
-36
-2
0
125
-22
-78
0
1
0
0
0
-75
4
10
-35
-14
5
0
0
8
-7
2
-4
-60
49
38
-5
49
50
-3
23
7
-22
0
49
49
-4
0
-18
-9
35
-19
-7
-3
-48
-81
-49
-27
-3
0
85
-76
-80
-10
-10
9
-128
0
22
-9
13
-4
-13
40
-18
-131
-6
1
-29
0
40
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
-3
0
-15
0
11
0
0
-10
0
0
-22
0
0
0
0
0
2
13
0
0
0
0
0
-1
0
0
-1
37
0
0
0
0
0
0
0
0
-18
0
0
0
-54
42
6
35
-18
0
0
87
0
11
90
15
0
0
35
0
-2
-9
116
0
0
4
0
10
3
0
0
0
-9
-4
118
0
0
-4
0
1
0
11
0
130
53
-7
-24
0
0
-34
14
0
22
-4
0
0
111
14
0
99
73
37
0
-62
8
0
5
5
2
0
-34
-33
0
0
-77
0
0
-23
-131
0
1
-61
0
0
-3
-62
0
-30
20
0
0
0
-12
0
0
0
0
0
0
-104
-16
-6
0
-1
0
0
51
33
0
0
0
0
0
20
0
0
-41
0
0
48
-38
0
0
128
0
0
4
36
0
39
107
0
0
-24
-6
-8
24
-85
0
-2
2
-114
0
-12
2
16
0
0
15
0
-1
-15
0
-4
0
26
0
0
3
0
3
0
0
0
0
0
2
10
0
19
18
0
-2
0
0
0
-82
0
1
19
0
0
-7
-38
0
3
14
0
0
0
87
0
34
-8
0
0
0
23
0
0
7
-3
0
-4
-84
0
66
-1
0
0
4
-16
0
0
16
0
3
0
20
0
-13
0
8
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
0
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
-181
0
0
80
0
0
-39
0
0
0
0
0
-6
-25
0
0
0
0
0
15
0
0
29
2
0
0
0
0
0
0
0
0
18
-3
0
8
-75
-7
0
-68
-6
0
0
2
0
5
37
-5
0
0
90
0
-5
-6
0
0
0
0
0
-7
0
0
0
0
0
0
129
0
0
-2
0
0
0
-1
0
-13
0
-3
50
0
0
0
76
0
0
-20
0
0
-34
-185
-2
63
-58
13
0
-47
-54
0
21
-35
0
0
-31
29
0
0
-40
-4
0
54
-6
0
21
-35
0
0
2
72
0
-55
2
15
0
0
-93
0
0
0
0
-1
0
12
-3
0
0
0
0
0
41
0
0
0
0
0
0
-21
0
0
-17
-1
0
-3
-66
0
0
36
0
0
21
7
0
0
-11
-7
0
-4
-95
0
0
-46
0
0
-9
-87
0
0
5
-4
0
-16
-84
0
0
-9
0
1
0
2
0
10
3
1
-7
0
-67
0
0
0
-2
0
0
-110
0
0
0
0
0
0
-33
0
-3
-11
0
0
0
51
0
6
65
-3
0
0
-71
0
7
-3
0
0
0
-20
0
0
-5
0
0
0
8
0
-2
-3
0
0
0
43
0
0
-3
11
0
0
-162
0
-8
3
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
16
-4
0
0
0
4
0
0
0
0
9
0
0
52
0
0
-29
0
0
0
0
0
9
-5
0
0
0
0
-7
8
0
0
-73
11
0
0
0
0
0
0
0
0
-2
-14
0
0
40
-4
-1
-84
-8
0
0
29
0
-2
-55
48
0
2
114
-1
2
-5
73
0
0
39
0
-2
0
3
0
0
0
0
-211
0
0
1
0
0
0
-12
0
-159
-3
0
0
13
0
-1
68
0
0
-4
0
0
-50
51
-1
-5
-50
-6
0
-127
4
0
0
-103
-3
0
-25
-14
0
0
-42
0
-2
9
-38
0
0
45
0
26
5
74
0
48
-4
-49
0
-1
32
0
0
0
0
-2
0
-32
-6
12
0
-7
11
11
-108
0
0
0
0
0
7
-16
-7
-5
0
-7
0
53
2
0
2
16
0
-3
-3
-91
-3
-4
43
7
0
11
-33
0
1
-31
0
0
0
-1
0
11
-12
-1
0
1
-24
0
0
-3
0
-9
-7
-129
0
0
0
-5
-10
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
-66
0
2
0
0
0
0
59
0
0
-14
1
18
0
-57
0
22
13
0
-4
45
-36
0
0
53
37
0
0
-116
0
-20
-2
0
0
0
-4
0
0
-1
107
0
0
-64
0
29
0
0
-1
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
-1
12
0
0
16
7
0
0
0
0
60
0
0
10
0
0
-63
0
0
0
0
0
0
5
0
0
0
0
-14
21
0
0
57
-3
0
0
0
0
0
0
0
0
-17
9
0
0
-161
0
0
-37
-2
12
0
-3
0
6
-29
0
0
0
-25
0
-20
-1
0
0
0
-2
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
69
0
0
23
-1
0
-17
-16
0
0
6
0
-1
8
-61
0
-30
-53
-6
0
-59
-14
0
26
-68
0
0
12
-18
0
0
-41
-1
0
42
0
0
0
-21
0
0
-4
-55
0
-67
9
10
0
0
-1
0
0
0
15
-6
0
-10
-3
0
0
0
0
0
-5
0
0
0
0
0
0
-112
0
0
30
0
0
28
-76
0
0
-89
0
0
-49
11
-4
0
-80
0
0
26
40
0
1
-38
0
0
-10
-5
0
0
-101
0
20
0
86
0
0
-4
0
-2
0
25
0
0
16
3
-5
0
0
0
0
0
-4
0
0
-17
0
0
0
0
0
0
9
0
7
0
0
0
0
16
0
-10
-5
0
0
11
43
0
-1
6
7
0
0
-14
0
0
16
0
0
0
-50
0
22
-32
0
0
0
60
0
0
6
0
0
0
-60
0
11
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
-11
72
63
0
-15
52
5
0
-35
0
42
0
8
0
0
-10
-26
0
0
0
0
-2
-125
-70
-22
-3
-1
0
-1
-16
-11
1
-3
-57
0
0
0
0
0
0
0
0
-11
57
0
-2
-11
-15
0
-43
57
11
0
1
1
3
-44
43
12
-4
70
-27
0
15
49
9
3
49
-25
-1
59
107
0
0
-28
-69
-8
0
22
20
0
-1
-11
0
-8
1
-18
77
-22
60
0
34
4
25
-94
-18
-5
0
-8
10
17
1
50
-43
0
-18
22
0
39
73
3
0
-31
-24
0
44
-13
22
0
-50
-49
0
15
13
-17
0
-31
2
0
-17
20
-15
0
-7
-1
0
0
-124
62
0
0
9
26
-52
0
31
0
0
-4
-46
10
0
0
0
78
20
-8
5
3
43
-10
-27
53
0
0
73
-13
0
44
43
0
10
41
33
0
9
-13
40
58
40
47
0
5
15
0
39
10
-30
0
-1
30
12
8
108
0
-8
63
57
-5
-1
26
16
16
0
28
-2
-9
0
38
0
0
3
-39
76
38
4
0
34
17
-15
-13
109
-1
0
48
10
0
-11
-58
-19
0
-46
5
-1
21
-31
11
2
9
0
0
-10
49
79
0
4
-4
0
-18
16
-10
0
59
-1
0
22
13
67
0
29
25
0
75
72
43
0
0
5
20
-41
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
-9
0
0
-108
0
3
0
2
0
-35
69
44
0
0
0
-12
-7
8
-3
-17
-230
-2
0
0
0
0
0
0
0
99
62
0
13
5
22
50
43
-16
-12
-5
-130
-2
-93
92
61
0
-17
-82
61
-114
31
155
0
5
171
-8
-155
0
-54
-3
0
3
-108
-111
0
0
53
0
12
-3
-6
0
-47
104
15
-11
-5
0
-39
47
0
4
17
13
0
-53
-69
0
-19
-19
5
0
15
-46
-4
38
23
-8
-11
89
36
0
0
-6
-48
12
5
-56
0
38
-75
20
-41
50
11
-7
-96
-47
38
3
0
-84
0
0
-21
0
28
0
3
47
1
-33
-9
0
0
-53
-11
-4
-8
0
0
13
40
-23
-19
59
26
-10
-71
-51
-4
-10
-26
8
-3
3
-56
-1
1
-86
-47
1
-93
6
-52
50
61
-42
-20
7
52
5
-7
-66
64
13
5
-80
0
-9
-29
-4
-120
0
-34
0
-14
-24
63
-90
0
-35
7
0
0
26
-7
0
-35
-26
-15
0
0
0
-4
26
11
6
-42
3
2
-26
-8
0
7
9
-18
0
-12
3
0
84
-42
59
-2
-23
-83
-1
-9
-34
-65
32
0
22
4
46
144
22
6
-12
38
-4
-4
-25
107
-14
0
-48
0
10
-9
-8
-10
0
-127
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-94
0
-8
-32
0
-1
0
0
-1
0
0
12
46
-59
-1
20
0
0
-113
51
37
16
20
-55
-2
0
0
0
0
0
0
0
32
-35
-38
25
-45
47
71
51
-19
-5
42
-26
51
6
-90
-27
0
-2
37
0
-66
6
0
28
27
-5
-2
-41
24
2
0
-4
-21
4
-148
0
-3
-146
0
0
0
-7
0
-6
-37
-80
-1
86
0
-4
-10
15
12
65
0
0
45
18
-21
-9
-59
-41
0
-79
4
20
7
-20
23
0
-16
-21
-15
-4
-37
22
-16
66
-32
7
0
-4
-5
-6
153
0
-5
-28
38
136
-7
5
-109
0
-2
-15
-24
-18
0
-7
19
43
1
1
0
0
-27
17
42
18
0
0
24
16
-82
15
-12
-56
6
16
14
55
51
-27
-2
0
-29
-60
-183
-114
62
92
-24
65
-35
-17
-9
-49
-4
-17
62
-10
1
-32
-92
31
-12
-15
0
-12
4
52
81
4
-39
-84
0
-9
-42
57
-175
0
-29
-3
0
0
53
6
0
-57
6
-2
20
1
8
40
-21
46
0
40
2
0
0
4
10
39
101
-58
0
-9
45
23
13
-42
14
-13
-4
15
-4
-53
102
-42
4
-94
-40
0
-53
-83
2
0
33
0
0
-16
-127
-15
-32
0
14
0
-39
-34
3
13
0
-40
-7
-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
49
1
0
-46
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
15
0
0
15
-18
0
0
0
0
0
0
0
0
-2
-31
0
12
-3
-60
23
-78
3
0
0
-65
0
-2
1
43
0
0
-24
17
99
-10
-29
0
0
16
0
25
0
-4
0
0
0
0
135
0
0
-8
0
0
23
6
0
59
5
-3
-4
0
0
1
-142
0
0
-1
0
0
-28
-4
0
13
6
121
0
46
20
0
0
29
0
0
-128
48
0
-23
89
-20
0
72
67
0
0
-12
0
0
-3
-70
0
-24
-6
0
0
0
-49
0
0
0
0
0
0
29
15
106
0
-7
0
0
-24
-11
0
0
0
0
-2
7
0
4
8
0
16
-6
21
0
0
52
0
0
-23
23
0
8
-36
22
0
75
-47
0
0
23
-11
-9
0
-15
0
-8
-18
-1
7
-2
-184
0
0
-19
4
12
-6
27
0
0
-9
-10
15
0
-21
0
0
0
0
0
0
-63
5
2
-6
0
0
0
35
0
-13
0
0
0
0
54
0
0
87
0
0
-72
-30
0
9
-23
0
0
9
15
0
0
16
1
5
-12
41
0
-50
0
-18
-3
0
66
0
0
0
-17
0
0
-36
0
-9
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
76
0
0
-1
0
0
-115
0
0
0
0
0
-1
-2
0
0
0
0
-2
0
0
0
1
-16
0
0
0
0
0
0
0
0
-50
19
0
0
-16
-3
0
-14
26
0
0
-3
0
0
-3
56
0
0
38
0
-1
-4
42
0
0
0
0
-2
0
0
0
0
0
0
-27
0
0
21
0
0
0
9
0
71
3
0
0
0
0
-1
102
0
0
-5
0
0
-24
12
0
-74
72
-2
0
-28
-90
4
0
-46
0
0
7
-15
0
-6
17
8
0
-8
-5
0
0
6
0
0
-1
-72
0
-40
6
-7
0
-2
-16
0
0
0
0
5
0
-83
-9
2
0
0
0
0
-18
0
0
0
0
0
0
-30
-14
0
-1
0
0
-8
-5
0
0
5
0
0
27
-50
0
0
31
-12
0
0
31
0
0
-12
0
0
-1
39
0
0
-5
-1
-6
0
-118
0
0
-2
0
-5
0
-60
0
0
-1
0
-2
0
-76
0
0
0
0
0
0
-36
5
0
0
0
0
0
-50
0
4
0
0
0
0
-72
0
0
0
-6
0
12
-27
0
0
5
0
0
0
-54
0
0
-3
-2
0
0
60
0
-2
-2
0
0
0
-10
0
0
0
0
0
0
17
0
-7
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
13
0
-1
-24
0
36
0
0
-16
0
0
0
0
0
-1
-49
0
0
0
0
-7
35
-2
0
-4
-163
-40
0
0
0
0
0
0
0
-11
31
-1
-2
-43
-34
-86
-47
31
0
0
94
9
-70
-24
13
0
0
53
47
-22
57
18
0
0
9
43
-22
-7
63
0
0
-11
14
30
0
-1
-148
0
0
-11
-38
0
4
40
-2
-28
-2
0
2
-1
0
0
37
-13
8
79
18
0
26
15
-122
0
5
-20
0
-6
21
1
0
-69
-29
0
0
20
45
-27
-5
-44
-8
-27
-56
-16
-35
9
-85
0
9
93
-9
-24
103
-50
0
-2
0
-38
35
0
-9
-89
-21
-1
-88
0
0
19
20
0
0
0
0
2
-25
-22
0
-75
-4
63
37
2
0
1
58
-6
36
54
34
97
-39
13
-48
-38
-22
-42
-16
-16
17
50
-102
11
-69
28
-5
100
-124
-24
101
-7
0
29
-8
-25
11
74
-33
0
0
0
12
-34
0
-10
6
0
0
-52
18
0
15
3
0
0
-12
29
0
-64
0
-130
-2
12
-37
-5
-9
0
-3
99
-35
25
3
4
0
-27
73
-6
8
23
58
-1
-18
53
-42
-173
-19
-2
-2
-98
63
-24
-14
23
59
0
0
56
-134
-83
0
9
-1
-17
0
31
-17
0
-26
-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
1
0
0
-63
0
0
20
0
0
0
0
0
-117
79
0
31
0
21
39
-100
0
0
-9
-4
-54
0
0
0
0
0
0
0
-2
71
0
-56
-24
-9
-8
-34
24
0
0
67
0
-3
-50
-4
0
0
-45
12
-60
-18
-52
0
0
-39
0
9
-1
46
0
0
-8
0
43
0
12
30
0
0
0
82
0
-29
43
-11
1
0
0
-22
-39
0
0
-41
0
28
-32
-20
0
21
-33
0
0
-79
-67
0
-11
-46
0
0
-9
-130
0
-16
-59
0
-18
-33
-47
0
0
-45
0
-12
-64
-24
0
58
94
2
13
21
14
0
0
-15
0
-38
0
-34
-59
-3
0
0
0
-8
-44
15
-6
-10
0
7
11
17
0
49
75
0
-34
-81
9
0
-13
24
0
68
7
-64
0
0
0
-14
17
-67
41
0
37
-61
0
18
41
-16
0
2
18
0
2
-8
-53
0
0
-61
0
51
2
67
0
2
124
0
-69
0
-6
25
0
0
0
64
0
-29
16
0
19
0
0
0
-21
0
187
12
0
0
15
-4
0
-1
31
0
33
32
-8
0
-89
112
0
2
21
97
0
-4
-37
0
13
5
64
0
6
86
0
2
2
-48
0
0
21
0
5
0
-5
0
18
-17
0
-13
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
-4
0
-34
0
0
0
0
0
16
0
0
0
0
7
64
123
-5
13
0
0
39
-96
-20
-6
-68
-7
-2
0
0
0
0
0
0
0
-18
-10
0
3
-7
68
0
-11
86
0
-11
-2
0
0
66
-45
-16
-4
-31
73
0
-56
-11
19
-1
14
-10
0
53
-5
0
-1
32
16
-4
0
0
26
0
-1
0
0
-3
9
88
148
15
64
0
89
0
0
0
61
-6
0
0
-52
0
36
-42
-79
0
14
32
0
58
54
6
0
-56
-22
0
9
12
20
0
21
17
0
12
22
74
0
18
-45
0
-112
28
-63
0
170
-6
21
0
163
34
0
0
29
-73
59
0
-52
0
0
5
-21
-15
-3
0
0
-110
-4
34
-13
-7
35
8
-90
20
-1
-31
23
-23
0
-49
9
12
39
1
3
-4
101
44
-27
-20
99
-16
0
8
-12
-12
1
81
87
0
-1
-5
0
-27
27
7
0
34
-22
-14
55
9
13
-6
0
18
10
7
0
-11
0
0
-15
13
-32
13
17
0
-19
63
-8
36
-67
0
23
-11
31
0
16
-5
125
0
139
32
0
70
118
-15
0
89
-7
0
-95
4
-21
0
-27
-4
0
6
20
-13
0
33
-2
0
-75
22
21
0
14
-22
0
13
-85
4
0
0
-75
39
-80
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
37
3
-6
0
0
0
0
0
0
0
-34
-8
0
0
-89
0
0
117
-24
2
0
-21
0
7
17
-6
0
0
-57
0
1
-3
0
0
0
-11
0
1
2
-69
0
0
-2
0
-3
0
0
-16
0
0
0
0
0
-44
0
0
0
0
0
0
-34
0
0
0
0
0
-26
-48
0
-25
22
-16
0
-6
-46
0
0
77
0
0
-4
25
0
0
-63
0
0
0
22
0
0
3
0
0
1
-4
0
-5
-2
0
0
0
89
0
0
1
0
5
0
-25
-7
0
0
-7
0
0
42
0
0
0
0
0
0
0
0
0
0
0
8
0
-46
0
0
-1
2
84
-2
23
0
2
1
1
0
0
-83
0
0
-5
-1
0
0
9
0
0
38
0
0
14
53
0
0
0
0
-12
0
68
0
0
16
9
-25
0
-55
0
0
0
0
0
0
-20
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
7
0
0
0
-50
0
0
1
-1
4
0
-8
0
0
-2
0
0
0
-35
0
0
-4
-12
0
0
-65
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
-30
0
0
80
0
0
30
-11
0
0
0
0
0
24
-1
0
21
22
0
0
0
0
0
0
0
0
-3
-1
0
26
-12
10
0
-71
-78
0
1
3
-4
14
90
-6
0
-9
36
4
0
52
-7
0
0
95
0
-2
-26
0
-3
-5
-1
-4
-52
0
0
-18
0
0
2
0
0
-23
-1
-9
9
1
0
100
-77
14
0
0
0
0
62
11
-5
-60
53
-88
0
-69
14
-5
11
-35
0
0
76
3
0
0
-1
-25
0
-89
21
0
0
-20
21
0
81
94
0
-44
43
0
0
0
0
11
0
0
0
-5
0
-15
-13
-31
0
-1
0
0
-85
-1
0
2
0
0
-1
-27
67
-9
-12
7
0
65
-2
-8
3
2
0
0
-80
0
0
-8
93
25
9
-5
-34
3
0
4
13
-3
97
49
0
-5
-69
-2
0
-3
-38
0
0
42
-2
-5
0
0
0
0
5
18
10
0
-72
0
-2
0
0
0
0
-189
-12
55
0
-2
0
-2
37
28
-55
25
0
4
34
-72
23
-8
-14
27
0
0
-101
0
-104
-62
2
0
-32
18
0
-13
39
45
0
0
-11
0
-130
-2
0
0
0
-41
0
0
-17
10
0
0
0
0
-66
-4
-4
16
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
-109
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
111
0
0
0
0
0
0
0
0
0
-114
8
0
0
12
-3
0
-156
-2
0
0
0
0
0
-16
0
0
18
-10
0
11
-9
6
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
10
0
0
0
-9
0
21
0
0
0
0
0
0
22
0
0
-9
0
0
11
138
0
-79
-22
0
0
37
-8
0
0
33
7
0
-17
-35
0
0
-15
0
0
-2
77
0
0
-15
0
0
-2
1
0
-41
9
0
0
0
-1
0
0
0
0
0
0
-77
26
0
0
0
0
0
93
-8
0
6
0
0
0
-66
0
0
10
6
0
5
-28
0
0
-22
0
0
9
-53
0
0
49
0
0
-8
47
0
-2
-32
0
0
0
-2
0
9
4
0
0
-4
84
0
0
11
0
0
0
-6
0
0
0
-1
41
0
19
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
28
0
-2
0
0
0
0
-33
0
7
0
0
0
0
-1
0
-2
0
0
0
0
31
0
0
0
0
0
0
-149
0
-16
0
0
17
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
-1
-7
-6
-2
-2
-9
-79
11
-2
21
-113
33
69
125
-14
11
2
11
23
13
-13
0
0
0
0
0
0
0
-6
43
65
-31
-9
9
47
6
29
-64
-13
27
38
24
-41
48
-30
-74
-11
23
64
-16
-74
-110
-61
-29
26
15
-53
3
-19
107
51
4
10
-84
50
-25
-36
-13
-79
6
89
5
-21
10
14
-18
-23
57
-21
-55
-7
41
-55
-75
29
-2
-45
-4
-29
-3
-37
29
-23
39
-48
-4
-29
-33
3
-2
38
-143
-9
-12
24
-15
16
84
-117
8
15
-44
-17
-6
-21
-81
17
-6
15
-11
-13
36
-105
-40
80
-31
-58
8
3
-76
-13
-14
11
-36
11
12
55
-79
-74
-74
17
-17
6
-78
-38
-4
-25
-7
-25
-11
2
-15
39
-42
-7
-10
-10
16
1
-11
17
1
7
-79
-16
-5
-25
42
8
-13
38
-171
-18
5
22
-50
-20
-2
88
-25
-44
22
-40
-19
33
-39
-24
-29
16
-27
-7
-40
-26
-28
58
28
-6
-10
-10
-18
-84
-79
26
-1
-6
-62
17
-39
-118
40
-1
-16
-31
-66
-39
-22
-2
-17
-15
-28
-64
-52
-90
-44
-36
-6
93
-57
3
-18
50
18
13
-43
-84
-4
-63
-29
-52
6
60
-24
-27
-30
34
90
0
-9
25
-27
10
-7
-3
12
31
46
67
-97
-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
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
25
3
-18
0
0
0
0
0
0
0
-136
0
0
0
-43
-1
0
-239
0
7
0
-37
0
0
2
0
0
0
-22
-26
0
4
-13
0
0
-4
0
0
0
30
0
0
0
0
-4
0
0
-19
0
0
0
0
0
-25
-1
1
0
0
0
0
-20
0
0
0
0
0
-11
-84
0
-67
17
0
0
7
38
0
0
48
0
0
100
-82
0
0
41
5
0
-11
18
0
0
-3
0
0
2
0
0
-99
0
-1
0
0
-39
0
0
0
0
0
0
56
-1
0
0
0
0
0
-32
0
0
0
0
0
0
-102
0
57
-2
8
0
-1
-134
0
-2
-5
0
0
-2
-134
0
-6
8
0
0
-10
51
0
0
-1
0
0
0
-42
0
0
16
0
0
0
87
0
0
0
0
0
0
-38
0
0
0
0
-2
0
-19
0
0
0
0
0
0
25
0
0
0
0
0
0
40
0
75
0
0
1
0
-58
0
0
0
0
0
14
-25
0
19
0
0
0
0
20
0
0
4
0
0
0
-14
0
58
0
0
0
0
-50
0
0
0
0
0
0
-34
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
139
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-36
-1
0
0
0
0
0
0
0
0
-55
0
0
0
-63
0
0
63
0
0
0
1
0
0
-8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-31
0
0
2
0
0
0
0
0
-14
0
0
0
0
0
1
41
0
0
0
0
0
1
28
0
81
-45
0
0
-37
46
0
0
-13
0
0
22
-20
0
0
-45
0
0
35
10
0
0
6
0
0
-2
49
0
-84
21
0
0
2
6
0
0
0
0
0
0
20
0
10
0
0
0
0
-20
0
0
0
0
0
-4
-2
0
0
-9
0
0
8
-52
0
0
4
0
0
0
-78
0
0
-11
-1
0
-14
-79
0
0
-15
0
0
-12
30
0
0
-16
0
0
-2
8
0
0
0
0
-1
0
-2
0
0
0
0
-20
0
59
0
0
0
0
0
0
54
0
0
0
0
0
0
68
0
0
0
0
0
0
19
0
0
26
0
0
0
11
0
3
-2
0
0
0
71
0
0
0
0
0
0
-88
0
-7
0
0
0
0
30
0
0
0
0
0
0
16
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
-2
-22
0
0
0
0
-10
-159
2
-4
-15
-4
0
23
12
-15
3
15
-48
0
0
0
0
0
0
0
0
-30
-89
-17
-7
-21
-49
0
13
-53
58
-1
-13
-4
0
37
-6
0
38
-53
2
0
71
-23
14
-9
-15
22
0
-39
100
-6
14
-4
-37
-2
-1
-2
-24
-1
-3
25
0
24
-45
-31
-35
77
40
0
21
3
-24
-100
40
-8
0
47
58
24
-2
13
2
0
22
18
4
77
42
-71
0
23
-26
-24
-41
-6
45
0
-2
49
-2
-32
53
-61
0
41
-7
0
-3
-7
6
0
24
-21
52
-6
-64
-17
27
-1
30
-60
-36
-2
-43
0
-28
-37
46
28
15
31
0
9
20
0
74
69
63
1
14
37
2
-48
37
40
0
86
31
22
-90
23
19
0
85
19
28
-9
85
36
0
21
21
3
-69
25
0
0
37
10
-13
224
56
-70
0
43
23
84
15
4
38
0
0
10
-23
-60
-14
3
0
-14
-33
-82
-38
-49
-15
-2
46
12
65
26
-30
5
-9
37
30
0
-159
47
-80
-14
52
22
11
-19
103
24
0
-49
14
12
-54
56
-66
0
140
18
31
58
73
-91
0
62
17
23
109
122
63
0
44
-19
-2
31
84
-10
0
0
-5
-76
122
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-73
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
24
0
0
-1
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
-1
-1
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-110
0
0
0
0
0
0
-2
0
0
2
0
0
0
-10
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
2
0
0
0
0
0
0
0
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
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
18
4
0
0
0
0
0
0
0
0
36
0
0
0
21
0
0
-4
0
0
0
-5
0
0
-4
0
0
0
-14
0
25
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
-11
0
0
0
0
0
1
-20
0
17
-19
0
0
6
20
0
0
1
0
0
0
58
0
0
-3
1
0
42
-114
0
0
22
0
0
2
-31
0
-6
9
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
17
-1
0
1
0
0
0
-27
0
0
1
0
0
2
52
0
14
-3
0
0
0
-38
0
0
-1
0
0
0
-14
0
0
5
28
0
0
89
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
32
0
0
-2
0
0
0
26
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
18
0
-66
0
0
0
4
-19
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
27
-26
55
-12
24
-15
-163
-9
-1
1
-1
0
0
0
0
0
0
0
-9
-6
-135
7
1
18
0
-6
-54
12
57
-47
38
-21
-24
-34
-12
-26
-12
6
10
-4
-23
-70
24
-14
13
2
-25
-46
-129
-97
-16
-3
3
75
-24
79
-119
-88
65
-8
93
-1
28
7
-11
18
-82
29
-9
-117
29
24
-3
-11
-34
-1
-51
-14
-7
-10
50
-10
-2
-12
-8
1
-37
54
-4
-10
-81
43
-6
-4
-8
1
-8
-34
132
-16
29
-25
32
-1
0
-11
-26
2
-19
-60
-4
-85
-70
-18
41
-6
-28
-4
9
12
5
-26
-44
161
-10
-32
13
-37
-16
97
-6
-16
-14
-2
26
-9
-20
26
-19
34
18
-17
-2
57
16
-6
-3
-16
8
-17
38
6
-10
-52
2
10
0
8
49
5
21
18
-9
-20
20
12
-8
-1
36
-23
-6
-20
-61
-8
-11
16
-4
22
24
-23
0
-117
-43
-111
23
13
-59
-9
-60
-94
82
31
156
74
-16
-64
-21
-14
61
16
18
0
-3
15
-23
26
-43
-28
-11
-18
8
-5
32
7
21
-5
-26
28
-9
-50
-33
-23
-13
33
-12
-1
2
-8
-27
-32
-127
20
34
-44
5
-29
-4
3
-14
-24
-3
-19
-16
23
-5
-4
38
-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
0
0
0
0
0
0
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
-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
0
0
-2
0
0
0
0
0
33
0
0
0
0
0
0
-59
0
0
0
0
0
0
-3
0
-2
-3
0
0
-2
-17
0
0
-2
0
0
0
-4
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
-42
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
12
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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
2
0
0
-2
1
0
-60
-6
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
26
0
0
27
-96
0
0
-44
0
0
0
-27
0
0
-1
0
0
-3
16
0
0
0
0
0
0
0
0
12
-11
0
0
0
-3
0
0
0
0
0
0
-7
-1
0
0
0
0
0
6
0
0
0
0
0
0
-57
0
0
4
0
0
0
49
0
-4
-5
0
0
0
70
0
0
6
-8
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
28
0
0
0
0
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
26
0
0
0
0
0
0
-16
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
1
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
-27
-3
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
76
-8
0
0
28
0
0
20
-7
0
0
0
0
1
0
-1
0
0
31
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
5
0
46
-10
2
0
0
0
0
32
0
0
0
0
0
0
-65
0
-17
-56
0
0
-36
54
0
0
-23
0
0
13
-14
0
0
-12
0
0
2
-78
0
0
7
0
0
0
0
0
-9
0
0
0
0
-18
0
0
0
0
0
0
-21
35
0
0
0
0
0
-51
0
0
0
0
0
0
-43
0
0
0
0
0
16
-25
0
0
2
0
0
9
-74
0
0
13
0
0
-17
-3
0
0
-12
0
0
0
-12
1
0
0
0
0
0
-31
0
0
0
0
0
0
29
0
0
0
0
-6
0
27
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
22
0
3
0
0
0
0
7
0
0
0
0
0
0
-106
0
-1
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
-21
0
0
0
0
-21
-2
-1
0
-86
3
0
0
0
0
0
0
0
0
-21
1
0
0
-62
-40
0
-35
0
0
0
78
0
0
33
-1
0
0
-53
-13
0
29
-2
0
0
39
0
0
0
-18
0
8
0
0
0
0
0
-24
0
0
0
0
-9
-35
12
19
0
0
0
-17
-80
4
3
23
0
0
60
-31
0
5
14
11
0
-33
-4
0
0
20
-2
0
-11
114
0
22
35
-18
0
9
-46
0
0
-19
0
0
-19
-40
0
77
36
-6
0
-1
15
0
0
0
0
0
0
65
-7
0
0
-2
0
0
16
-19
0
0
0
0
25
38
-1
0
53
0
0
1
122
0
-2
52
0
0
41
14
0
-2
73
-2
0
-11
-69
0
26
46
0
0
0
3
0
0
-5
10
0
2
5
0
-4
-42
0
0
0
17
0
7
-42
-33
0
0
45
7
9
0
0
0
0
49
15
-7
0
0
0
-4
89
0
-2
-2
0
0
0
102
0
0
-22
0
0
1
132
0
-24
-20
-15
0
0
49
0
-1
34
0
0
0
-40
-19
63
27
0
0
0
33
0
19
0
4
0
0
77
1
58
14
0
0
0
24
-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
-16
0
6
0
-7
10
0
0
0
0
0
0
0
0
-54
3
0
17
-27
4
-10
-46
-1
0
0
-20
0
0
58
-4
0
0
78
0
18
3
0
0
0
12
0
-1
0
-2
0
0
0
0
-58
0
0
-4
0
0
0
9
0
125
23
0
12
0
0
0
-80
0
0
37
0
0
-3
-6
0
23
-56
-12
0
31
-69
16
0
2
0
0
-3
77
-1
4
49
15
0
12
156
0
0
63
0
0
0
-51
0
14
-14
8
0
0
41
0
0
0
0
-8
0
-90
9
0
0
0
0
0
-59
0
0
0
0
0
0
-93
0
6
-14
0
0
-1
-67
0
0
-16
0
0
-20
57
-10
0
-2
19
0
-7
59
0
0
-17
17
0
0
-32
0
0
-9
-6
0
0
-59
0
0
0
0
5
0
-17
0
0
-3
4
2
0
41
0
0
0
0
2
0
4
0
0
0
0
0
0
20
0
-14
0
0
0
0
-3
0
-1
-11
0
0
0
-35
1
-6
-3
0
0
0
11
0
0
3
12
0
0
-8
0
-69
0
0
0
0
-31
0
0
0
0
0
0
-145
0
-14
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
-23
61
14
-5
8
-46
4
0
0
0
0
0
0
0
38
46
3
-50
34
18
-83
72
-85
-25
-30
52
-4
-98
-48
-70
0
-6
42
19
1
0
-3
0
-4
2
53
-1
-4
-20
0
-1
4
-18
34
0
0
58
-1
0
0
65
0
0
7
22
0
-8
0
-4
0
24
4
-40
0
14
-112
18
-75
-60
1
-64
5
-41
50
11
40
85
28
-15
-13
-55
0
-29
21
4
-27
49
-39
0
2
-45
16
80
71
-31
-1
8
-15
-24
44
17
2
0
-3
0
-10
45
1
-23
21
6
-1
11
-4
-6
0
9
0
7
0
0
-95
-31
-72
-86
-104
36
-1
-48
40
27
18
-50
32
14
19
9
27
-100
39
-2
44
-7
-25
-14
-12
63
20
19
50
-6
-2
48
5
19
11
141
-19
12
10
-21
6
-112
-52
26
-6
7
-43
-63
-70
0
-25
26
-1
0
0
-40
3
0
-24
0
101
-7
16
-83
-45
-7
-31
-102
19
0
81
24
-8
-50
36
3
0
62
-8
-8
4
11
14
0
200
-25
-18
-114
-22
52
2
64
14
13
39
-41
1
-26
-7
9
43
7
87
-7
40
0
9
0
-39
41
-2
-5
0
-12
138
18
-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
-60
77
-7
48
8
-30
12
0
0
0
0
0
0
0
8
-9
-97
-17
-34
-14
13
-31
94
5
-3
13
8
-105
-70
51
-4
-1
-68
2
-18
-102
-25
0
-1
-79
5
-71
-27
-117
0
-1
-22
-93
-16
0
24
20
0
-1
5
-49
4
-82
-8
81
92
46
2
-3
45
31
-23
16
2
39
31
-54
11
6
-38
-22
-1
-45
39
32
0
-43
-18
-58
-34
-5
11
-9
11
2
-84
-106
56
-3
-12
-7
63
43
-117
45
0
-6
-47
-17
115
-57
2
0
-11
-7
0
-15
0
-3
29
-35
-5
-41
11
-4
-156
17
-8
-1
-7
-26
-1
78
-79
-58
-25
-48
-77
34
56
9
2
-103
6
-9
10
12
-25
-12
15
-21
15
-53
46
-24
7
0
-82
-21
-143
18
111
-8
-6
-2
25
-178
45
0
-62
36
84
-17
-33
13
0
8
-10
-81
-8
0
18
39
-4
0
-1
112
0
-82
99
14
28
-13
1
-29
65
19
28
-14
-3
-10
-21
-3
0
69
48
61
0
-28
-14
12
16
-12
-4
-2
81
-23
8
73
17
42
-17
-2
-9
100
-102
2
2
20
-29
32
0
-23
-9
-27
6
-3
27
2
-6
-8
-12
30
0
16
-27
-2
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
0
0
0
0
0
0
-5
2
0
0
14
-6
0
-22
-1
0
0
-3
0
-3
-29
-1
0
0
97
0
-1
0
26
0
0
0
0
1
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
73
10
0
0
0
0
29
-82
0
0
-1
0
0
-42
-116
0
45
4
-2
0
-41
-7
-1
0
-151
0
12
57
0
0
0
-41
-4
0
-10
-20
0
0
-5
0
0
-3
-31
0
-33
-1
10
0
0
-86
0
0
0
0
-4
0
23
-1
2
0
-7
0
0
-114
0
0
0
0
0
0
43
0
0
-1
0
0
-1
19
0
0
5
0
0
-7
29
0
7
32
-2
0
-3
-2
0
0
55
0
0
-2
-82
6
0
-10
1
0
8
-24
0
0
7
0
-16
0
-53
0
0
0
-1
-2
0
-34
0
0
0
0
0
0
57
0
0
0
0
0
10
24
0
-1
0
0
0
0
-28
0
0
-1
0
0
13
26
0
0
-1
0
0
0
-8
0
0
-1
0
0
0
-27
0
-2
89
0
0
0
12
0
0
-4
-3
0
0
22
0
-1
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
2
45
0
0
145
9
0
0
0
0
0
0
0
0
28
37
21
-14
-42
56
-2
-119
-2
0
0
0
0
16
-12
0
0
0
-57
4
-7
4
-1
0
0
0
0
25
0
0
0
0
0
-1
-73
0
0
-3
0
0
1
-2
0
13
22
15
0
-1
0
0
-87
0
0
-2
0
0
58
-21
0
-62
85
-1
0
50
36
0
0
-36
0
0
-2
-12
0
0
-52
-9
0
-23
46
0
0
-14
0
0
9
44
0
-28
-2
10
0
0
-24
0
0
4
0
3
0
10
-24
0
0
-4
0
0
59
13
0
0
0
0
7
-52
0
0
2
-2
0
-21
-43
0
0
11
0
9
-49
12
0
17
-85
-21
0
-63
-64
0
0
-46
0
0
-3
15
0
0
-12
-9
0
0
-40
0
0
15
0
-2
0
26
0
0
0
4
-44
0
-21
0
0
0
0
0
0
-22
0
0
0
0
0
0
91
0
-37
-2
0
0
-3
-1
0
0
17
3
-6
6
-29
0
0
-5
-13
0
0
-141
0
13
-4
-5
0
0
-2
0
-28
-4
0
0
0
-15
0
0
1
0
0
0
-53
0
65
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-72
0
0
0
0
0
0
0
0
0
-73
29
0
0
45
0
0
27
-1
0
0
7
0
2
-9
17
0
0
-49
0
2
-9
-3
0
0
0
0
-1
0
0
0
0
-2
0
63
0
0
-1
0
0
0
0
0
43
0
0
0
-7
0
-10
-133
0
0
-1
0
0
1
-53
0
-20
-14
0
0
-21
-6
0
-5
-45
0
0
-20
-93
0
0
-15
0
0
-5
-57
0
0
-53
0
0
-5
10
0
67
57
0
0
0
59
0
0
0
0
3
0
25
0
0
0
0
0
0
-109
0
0
0
0
0
-17
-74
0
0
-3
18
0
11
-84
0
0
-4
0
0
-3
-106
0
0
-40
0
0
-1
-14
0
-16
-68
0
0
7
42
0
0
-14
0
0
0
-20
0
0
-2
0
-1
0
39
0
0
-2
0
-9
0
-37
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
8
0
0
0
0
-147
0
0
-2
0
0
0
-53
0
14
0
0
0
0
149
0
0
-14
0
0
0
-57
0
-25
-1
0
0
0
-29
0
0
-4
0
0
0
-6
0
-54
0
0
-25
0
-53
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
-5
27
0
0
8
0
0
-17
4
0
0
-3
0
0
-13
4
0
0
15
-4
0
71
2
0
0
0
0
0
0
1
0
0
0
-26
-4
0
0
3
0
0
0
0
0
-24
15
0
0
0
0
0
-81
0
-2
1
0
0
-3
-32
0
-49
3
-1
0
-127
14
0
0
31
-4
0
2
-28
0
0
-4
7
0
5
9
0
0
-12
0
0
0
26
0
24
-5
-2
0
0
12
0
0
0
0
0
0
-73
-6
2
0
0
0
0
-25
34
0
0
0
0
0
46
4
-4
-33
-7
0
26
-2
0
0
-2
0
0
-7
-83
0
0
-17
0
0
10
-36
0
0
-10
6
0
0
-114
0
0
1
0
0
0
10
0
0
0
0
7
-2
36
0
0
0
0
0
0
79
0
0
0
0
0
0
-66
2
-4
0
0
0
0
18
0
-1
2
0
0
0
9
0
0
0
0
0
0
-26
0
-3
-3
0
0
0
67
0
0
0
-12
0
0
28
0
-1
-11
0
0
0
-54
0
0
-7
6
0
0
36
0
5
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
-14
-17
24
-1
-40
15
-45
15
16
0
12
84
-23
12
42
41
0
0
28
63
43
-83
20
0
-8
57
-10
-57
-1
55
0
0
-8
-73
31
0
-1
-77
0
-1
-4
-47
9
28
38
34
-23
-3
0
-10
-81
6
-21
-70
0
0
-27
7
2
37
-91
-10
-1
-16
-32
1
5
24
-9
14
12
-30
0
-34
23
-55
-6
-40
-38
5
-2
-60
-12
-44
-43
-48
0
-2
-36
-39
5
0
16
10
-2
7
0
5
0
9
6
38
0
17
-13
0
-7
151
-5
-2
10
0
5
23
69
94
18
-27
-2
-109
-37
-1
0
-87
9
56
-25
-56
-40
75
32
43
-56
-19
12
1
25
19
116
99
-32
-15
-21
0
-45
25
90
55
3
0
8
77
-8
-76
9
68
0
12
-13
85
-4
0
23
-1
7
-1
-33
-11
0
-43
-50
0
18
4
0
-3
0
5
56
43
0
0
21
20
0
-43
59
-62
3
18
-61
0
-68
-35
-9
17
-37
61
-6
17
58
13
10
37
48
-13
-78
24
-16
-9
-23
-130
0
41
-2
87
4
11
2
0
-82
-9
22
-26
41
-68
-43
22
-14
-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
-45
45
-8
20
15
-33
67
51
125
-13
-13
-10
-10
-25
-6
70
5
3
-42
23
-22
-74
-7
0
0
-90
-5
-31
17
-89
0
0
-4
-39
6
0
-14
50
0
0
-3
25
21
24
-72
70
-1
-25
0
-28
0
-10
45
-79
4
2
40
-29
0
-56
-7
-53
-4
34
17
0
25
-33
-10
2
29
5
1
1
100
-61
0
-100
-44
0
6
-13
-42
25
-82
-20
0
30
-22
-74
33
-14
-12
0
-9
-5
-5
35
0
-13
-121
37
0
24
3
2
-5
-3
14
0
-2
0
67
0
-1
-4
103
-77
-55
-34
-24
0
-31
45
21
-2
-31
18
-3
47
-21
-33
-30
-44
-30
-7
54
40
8
-46
-65
-55
3
81
67
24
13
-26
52
4
-13
-11
2
10
0
-35
23
34
46
21
16
0
-12
-44
0
-10
0
-74
0
-77
18
1
-35
-20
-4
0
0
0
2
87
-3
0
85
3
0
9
-82
88
11
46
35
1
5
36
-18
4
-47
-52
0
71
70
-69
22
-170
-51
0
-48
-22
11
20
9
-9
0
66
8
22
-2
0
-18
0
31
9
0
-92
0
11
16
19
7
-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
37
54
-11
0
7
-11
18
-57
53
0
0
104
0
19
-4
-153
0
-14
5
0
-9
-120
13
0
0
0
0
-1
0
6
0
0
0
12
-84
0
0
-11
0
20
0
-19
0
2
86
47
-22
8
0
0
5
-4
0
9
0
0
31
9
8
-40
50
26
4
-54
36
-2
-1
12
0
0
114
82
0
0
45
15
0
-43
-70
0
0
131
0
0
-2
-7
0
45
36
-12
0
0
-48
0
0
0
0
20
0
-5
2
0
0
-1
0
0
-53
61
28
2
0
0
1
76
1
16
24
0
0
6
-19
0
-2
61
-1
0
60
-104
21
113
-7
27
0
98
84
0
41
9
5
0
24
-13
0
0
18
-33
0
-6
53
0
0
-22
18
16
0
-14
0
0
7
-35
-22
0
-32
3
0
0
-3
1
0
38
40
0
0
19
0
0
28
0
87
1
0
0
0
33
0
59
-13
11
0
1
-89
0
-92
102
-3
0
-8
81
0
-9
-1
8
0
0
-102
0
-62
38
0
0
0
17
0
0
-20
0
0
0
-31
0
1
0
2
0
0
-159
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
8
-2
0
-48
-8
0
0
17
0
-3
-1
-6
0
0
72
-3
62
16
0
0
0
0
0
-3
0
-3
0
0
0
0
65
0
0
-4
0
0
0
-1
0
-40
3
-20
0
-2
0
0
-51
0
0
-2
0
0
61
48
21
87
-48
4
0
-155
92
17
0
33
0
0
12
22
0
0
-49
-3
0
-16
-28
0
0
7
0
0
-8
2
5
-66
-5
77
0
0
-13
0
0
0
0
-1
0
-116
-2
0
0
0
0
0
38
-51
0
0
0
0
0
-15
0
1
-17
-48
0
-7
29
-1
-3
-2
0
0
47
-127
0
0
116
-9
0
17
-33
0
1
-38
0
0
-18
-37
0
0
22
-1
0
0
67
0
0
-7
0
0
0
-4
0
0
-5
-1
-7
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
-70
-4
-44
-1
0
11
0
14
5
0
19
-2
0
0
-50
0
8
-14
0
0
0
-51
0
-14
-11
16
0
0
-53
0
-79
-6
0
4
0
-103
0
0
4
0
-7
0
51
0
-72
-9
-6
-4
0
-124
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
24
58
2
-30
31
70
-62
29
120
1
-75
19
16
-32
35
25
36
-27
-65
-36
2
0
22
-49
-28
-143
45
-11
-2
45
11
-39
-5
-34
-80
-1
0
2
-14
50
4
4
-22
75
-75
7
-19
-23
58
16
-55
4
19
-49
-24
-215
43
66
3
117
52
56
15
16
78
31
64
70
62
78
63
41
45
5
16
12
49
129
64
-60
8
-25
-20
42
32
27
23
1
-66
-50
-35
7
-28
26
-50
7
-35
-41
31
36
8
-48
12
-33
-17
118
52
-102
-106
32
57
-79
28
-61
-81
66
-19
-60
51
-142
-14
8
-43
29
30
77
-47
46
58
-26
32
15
-28
25
78
34
7
45
2
-64
1
44
29
-61
4
-7
114
-66
10
-130
8
-48
-14
23
87
-45
27
-7
12
-33
-15
99
5
35
-78
14
-25
-73
-74
3
-40
88
-28
-17
-30
-9
-110
-145
108
110
-18
-39
0
-67
61
45
-1
-11
-28
16
-37
11
40
-90
0
-34
-79
62
2
-30
-20
18
-39
-14
10
-9
-32
35
-4
-38
6
66
28
9
25
2
30
-32
-99
-44
21
-4
-9
44
19
-9
-25
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
5
-14
-8
-28
28
8
16
-34
-35
21
57
-48
-28
-1
11
-26
-4
-39
-39
-44
-20
-31
-75
28
26
-132
-45
5
-3
-10
-9
16
-3
32
-33
43
5
6
14
44
42
3
19
-30
-12
3
105
8
0
25
-52
0
-1
8
-70
33
-36
-26
17
-9
41
-5
-12
-92
-7
48
47
12
-17
-107
32
-24
1
-140
30
-45
33
13
14
25
-16
37
-33
-13
-1
33
-42
-54
130
-68
-78
32
86
8
-9
1
4
-51
-23
8
118
99
25
-5
-67
-9
-45
0
-5
8
-21
53
-63
-109
-4
60
-16
-30
28
21
-19
-44
132
68
-91
-74
-53
-51
4
8
14
-31
-1
-54
44
98
53
90
-39
13
51
32
-83
-54
44
-21
61
-24
88
0
-13
81
6
27
60
133
19
-4
26
13
-3
-20
42
-31
21
-6
58
61
24
-17
-7
-74
120
-22
-72
-17
63
-8
-9
26
9
-53
-90
-27
19
38
-32
6
-23
-90
0
35
32
-4
-19
-22
100
-2
47
72
16
-4
13
-3
45
15
81
71
20
-11
20
101
-77
37
62
-5
-6
9
70
18
3
-39
4
8
158
27
5
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
-13
2
-9
-2
6
-7
0
-46
-58
-7
0
-134
0
0
22
-36
0
0
-9
38
0
-4
71
0
0
-15
0
0
-37
-19
0
-13
81
55
-2
0
15
-55
0
0
0
0
0
56
86
1
0
0
0
-19
0
0
-1
-4
0
0
59
-39
-2
64
111
14
0
2
-25
0
-7
2
11
0
36
-5
0
-6
-30
-132
0
63
0
0
0
-134
0
0
37
26
0
-99
8
76
0
-24
-33
0
0
0
0
0
0
-20
27
-3
0
7
0
-3
41
23
0
0
-16
0
64
-19
-5
-23
-74
32
0
-6
3
0
13
14
0
0
-74
-8
0
29
-2
-28
0
-36
-11
8
-18
-46
10
0
3
-21
12
3
34
-47
0
43
-22
0
3
46
5
0
6
27
0
2
-23
-1
0
-1
-59
0
0
0
0
0
0
28
-37
6
0
11
0
-8
-54
0
2
121
0
0
-2
17
0
0
38
15
0
44
42
0
9
-63
2
0
0
30
0
-35
7
-3
0
-17
-7
-13
-68
13
-4
0
-6
-38
0
0
-67
48
0
0
15
0
11
-7
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
37
78
30
45
47
12
-14
19
-73
-28
-19
-29
-31
-35
-120
92
-52
-77
6
-22
-71
-125
-113
-35
21
-23
16
73
-8
40
-23
61
-26
-41
32
-33
-25
44
-34
-83
-73
22
96
6
-7
-1
-24
-10
-22
-29
-18
-29
-26
-40
20
29
30
-17
-7
81
43
36
-6
-105
19
-10
2
57
6
-8
27
-62
-27
35
14
3
-20
-61
-9
-38
-11
-52
10
-45
-78
-159
9
49
-41
-29
17
26
28
-58
-14
-49
-52
29
23
16
21
-24
-80
-12
-11
27
38
2
9
30
-3
-7
60
53
3
22
36
8
-21
-47
13
16
27
-12
-10
-3
-56
-50
3
80
11
7
-7
-42
-39
2
23
11
18
-11
-6
23
-19
11
15
-41
-55
-15
-108
-47
-11
-6
-133
9
21
48
-49
-3
42
32
13
31
-95
11
33
58
52
-14
45
-36
-33
-147
56
-27
-19
-30
-17
-11
-20
-66
-18
-18
60
-5
24
21
4
28
-11
11
-8
6
40
40
-16
-13
-66
-14
2
58
31
-114
-21
-106
-14
-8
20
12
12
-18
-44
-2
-44
-17
5
-158
-15
-9
11
-1
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
-10
21
74
2
17
-9
-87
-13
47
-2
25
57
-53
34
-103
-38
0
-1
0
6
-100
-5
89
-22
28
-1
8
-49
0
0
30
0
8
9
74
0
9
-50
42
-49
-9
0
96
45
-4
0
-11
6
-4
7
50
-9
-31
26
19
13
-71
0
-61
20
8
45
7
73
-54
-7
-26
-60
4
9
-5
-22
1
-16
-20
13
-24
-74
-64
5
-55
-66
-75
0
-16
37
0
-5
-10
27
-87
0
-56
58
83
0
-86
4
-2
20
-9
-27
59
-2
0
108
38
70
11
-34
-36
-10
-15
12
2
36
36
22
33
-17
0
-29
-36
-102
-74
15
-17
-46
-39
128
-46
-36
41
-85
-30
-9
118
37
-43
-8
-25
32
0
54
38
34
66
-4
-10
-5
15
26
91
25
6
-42
9
32
2
-2
-29
13
28
-36
-70
-2
0
-29
17
-45
9
-9
21
14
25
18
-27
16
-68
-73
-92
-20
-98
0
-62
-67
113
-30
18
-78
-58
21
-11
4
-51
16
-24
-35
-2
-2
-121
93
4
-2
-6
0
-9
-3
83
-37
-21
-11
0
24
82
0
-8
1
-39
-95
-7
-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
-11
39
0
0
96
13
-2
-17
-12
0
2
-22
-6
3
-104
-58
0
0
26
0
-1
0
0
0
0
0
-2
62
0
0
7
0
0
0
-22
-9
-28
-5
0
-9
0
0
61
-42
0
8
-19
0
0
3
-33
12
7
-35
14
3
18
-66
0
1
-152
-5
-1
5
96
0
0
-111
7
0
110
-33
0
0
5
0
0
4
-70
0
-18
3
14
0
0
-70
0
0
-3
0
0
0
9
10
-2
0
0
0
-14
77
2
0
19
0
0
32
-35
0
-30
53
-14
-2
-95
-46
0
24
22
-3
0
31
15
5
-5
-74
16
0
5
12
0
29
-75
0
0
-37
-97
0
0
-26
-59
0
-15
61
0
-8
0
0
0
0
18
0
1
-7
-13
-7
0
0
0
18
-6
7
0
0
95
0
0
1
0
0
14
-16
0
75
1
0
0
29
17
0
3
-24
5
0
-23
7
8
3
19
0
0
16
98
0
5
45
-33
0
0
-111
0
133
14
0
0
-1
17
0
0
24
-5
0
0
-34
0
33
0
6
0
0
55
-4
17
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
-87
-8
0
0
-68
2
0
-65
32
0
0
-24
62
8
48
-61
0
0
-3
-1
11
0
9
0
0
0
0
-69
0
0
70
0
0
0
-11
8
-16
0
7
1
2
0
104
51
0
20
5
0
0
-15
-15
43
-101
20
-54
5
32
15
0
22
-54
0
0
43
-21
-17
21
-5
-6
8
24
27
0
0
-52
6
0
-4
-128
0
-22
-13
-12
0
0
38
0
0
-2
0
-14
0
11
50
-1
0
0
0
0
-34
-26
0
0
0
0
3
142
7
7
43
15
-14
-39
-5
1
6
31
0
0
-12
5
-5
3
77
96
0
-2
70
-17
-15
11
12
17
27
-27
0
0
-53
-6
0
-8
-120
4
0
24
0
0
-9
39
0
0
4
-5
31
0
18
0
0
0
11
-2
0
-92
5
13
0
0
0
-5
11
0
50
-40
0
0
0
24
-9
0
-69
-7
0
12
-22
0
-29
27
0
0
-14
55
0
-19
-11
28
5
7
-73
0
-15
-119
0
0
-1
-77
0
0
12
13
0
4
1
0
72
13
-1
-1
0
-24
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-71
28
-65
73
-14
-30
17
31
-19
-53
-4
-29
-48
-29
-80
-21
-55
-1
1
-7
-62
-21
0
-48
-28
61
-2
16
14
-10
-52
-36
118
24
-8
6
39
-37
52
-20
40
4
-134
67
2
15
-36
27
-86
-2
-2
-9
-99
-45
-31
-1
51
-2
90
48
25
15
-139
-38
6
-2
26
5
-51
-38
-40
22
-29
12
26
-38
-42
-1
-9
-39
31
33
-33
-39
-152
80
24
-61
5
-2
5
-10
14
-87
94
-66
45
2
-29
75
-34
-124
9
10
19
10
111
-38
32
6
-15
51
-93
6
11
-14
6
-31
25
11
-16
-24
-29
44
-60
55
34
11
-29
10
80
-21
-59
9
16
-7
-1
4
-2
-37
18
7
-14
59
32
-18
-126
-50
50
-36
-7
-15
6
-30
50
7
-23
18
-108
26
7
21
136
0
-28
-38
8
10
-23
79
-87
28
-82
-1
-6
-79
1
-27
-203
38
-8
-39
-25
12
28
-98
-30
-26
78
-91
0
-25
10
-37
-11
-70
-7
36
23
-42
104
-9
-2
42
55
1
18
-90
-14
-58
-32
-32
-33
-10
93
23
56
-84
98
-70
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-44
-4
-27
-51
20
72
-80
46
-13
-3
-20
3
27
-63
-81
22
-3
58
-1
44
146
-89
0
-1
93
0
-2
-1
-4
49
-1
-1
0
103
38
7
-30
73
-21
26
0
64
-1
8
-45
33
-6
-5
-22
60
0
46
22
0
9
-14
7
-1
110
-31
26
-4
30
-54
-1
-4
-48
4
-2
-20
-3
0
-46
24
-9
41
-49
-20
5
34
19
-9
39
83
-31
11
16
-16
0
8
1
-25
27
49
-6
6
-37
-8
-24
-88
-6
88
0
0
-19
36
-38
11
-43
-31
-14
9
7
7
4
52
24
-8
-17
1
-73
4
19
17
-25
-2
-32
8
-25
-8
21
74
22
-7
29
32
-25
-19
3
-28
-30
-4
-14
38
0
54
35
-26
3
87
47
-48
13
0
-32
82
-4
-6
-2
-105
0
-26
-90
-2
-56
0
0
134
-28
-1
-107
10
0
19
-15
1
-1
-10
73
6
-26
-110
6
54
-56
67
1
-37
-46
-27
-7
-89
-24
56
42
-59
52
5
-39
-45
0
87
16
16
15
128
-66
5
70
121
-21
-20
13
7
-12
-2
0
17
4
40
-61
-4
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
105
-32
0
0
85
29
0
-127
-19
0
0
24
-14
0
-123
-95
4
0
-39
-5
0
-12
-1
0
0
26
43
-3
0
0
70
0
0
30
0
7
35
99
-51
-2
-17
0
6
-64
0
54
-37
0
0
107
-38
0
39
8
-48
0
-25
-51
-11
-5
-37
2
0
58
30
2
3
1
41
0
-34
-23
-4
0
-29
48
0
-21
-46
-5
4
1
-65
0
-8
-55
0
0
41
28
0
0
-7
-50
31
0
0
0
0
9
67
0
14
0
0
-2
-21
36
5
19
54
-2
41
45
-1
6
-8
0
17
102
10
0
89
19
-83
0
43
-51
4
-3
-55
-10
-1
42
10
0
7
32
75
0
45
-14
0
-5
0
-11
0
11
-58
-4
95
-39
-6
2
0
-26
-1
0
0
-3
5
17
-2
-5
2
-6
26
0
13
-52
26
-21
-3
3
0
-20
32
1
-55
7
22
0
0
-5
0
20
103
-7
0
-40
84
13
-9
124
184
0
35
18
-6
31
54
0
0
-13
-52
15
-2
-123
-14
0
-50
-41
0
17
62
0
0
3
27
2
6
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
26
-8
46
9
-18
-74
-32
-38
-149
-28
-55
-46
36
-59
38
-93
11
7
-14
-104
6
-2
-52
-21
-18
-89
12
1
-18
-4
7
35
-52
22
20
16
118
-20
55
-72
-47
4
-7
4
-22
-22
56
-63
-6
18
4
-6
137
-25
-43
4
-44
-5
18
6
-13
-34
-19
-36
3
-19
-5
-20
-4
-12
-24
17
16
2
-24
31
-23
41
-20
44
-3
-46
-56
14
-7
-54
-7
11
-72
-15
14
17
-9
150
2
-42
-20
-14
-35
16
-2
13
32
-1
10
53
116
-24
0
23
-22
8
48
7
-14
6
22
-41
3
89
57
-8
-22
-33
-60
-12
14
-17
5
4
23
10
-16
-16
-20
13
-9
-10
-21
-20
139
70
7
-41
14
-49
-7
-4
36
-72
-50
19
-202
-8
-4
-119
-57
-14
-16
39
-9
97
5
13
34
-37
-39
5
36
-28
-41
-13
-23
-15
23
-42
16
11
-22
17
5
4
-39
4
-12
-14
-20
20
-5
-43
10
1
-6
-14
-48
-1
-1
-40
25
-31
4
-108
0
8
10
64
-69
35
-84
-5
54
45
47
-24
-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
-59
-8
4
-6
-59
-96
-30
-103
2
0
-3
41
62
-15
-25
31
0
0
-15
6
-52
0
0
32
0
6
22
69
28
10
-45
-17
32
-103
5
-10
8
3
0
114
0
-8
-25
54
35
-2
-20
-88
3
-7
43
26
-30
11
-13
-61
-62
0
67
-30
-12
-1
7
2
-48
12
9
-21
25
-104
25
13
0
-25
49
39
48
-89
15
38
-3
-13
13
-33
0
-5
-3
31
-7
-55
-53
-31
18
-31
53
2
-4
0
99
15
-106
-79
-44
15
-28
115
33
19
-7
24
20
0
21
35
25
23
-25
-4
51
71
0
-25
-49
-34
10
150
-60
-66
14
33
-58
77
-22
40
12
0
-12
-30
-27
-63
27
9
0
-54
74
-119
2
-5
-12
-12
-2
-6
-25
-15
0
-31
3
70
-2
-46
0
-36
48
96
-31
33
5
-10
-113
-6
-12
-8
0
-11
1
-33
43
-5
-23
-84
15
17
-39
0
-13
20
7
-94
13
-52
4
-15
15
14
77
57
9
-65
0
-52
-138
40
36
0
15
0
-20
-48
-16
25
-2
-68
-16
-15
-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
-7
-5
0
0
55
0
0
98
6
0
0
-13
0
16
-3
0
0
0
0
0
-7
0
0
0
0
0
15
1
12
-62
-2
71
0
0
0
0
14
0
0
-5
0
-3
-35
58
0
20
12
66
0
13
19
0
0
16
0
0
-5
91
0
0
17
-48
0
72
29
-2
0
-4
37
0
-6
-39
0
-62
-6
0
0
0
89
0
0
-2
38
0
0
71
-1
-27
19
0
0
0
-7
2
0
0
0
0
0
23
0
-3
15
0
0
1
41
0
0
-104
0
0
-20
12
0
64
-41
-5
0
99
-61
0
-3
-29
0
0
-9
-6
0
0
-17
144
0
12
38
0
0
0
0
0
0
-73
0
0
-33
0
22
0
-27
0
0
0
-19
0
0
-28
-2
-11
0
0
0
10
56
0
5
0
5
0
-23
-100
0
-8
4
0
4
11
18
-5
7
-7
0
0
0
-49
0
-1
78
-16
0
0
-76
0
-90
30
-16
0
0
-54
0
37
12
0
0
0
-33
0
-23
0
-3
0
0
36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
0
6
-35
25
0
0
70
0
21
-3
5
0
0
2
-2
-54
0
0
-8
0
0
2
56
-4
-21
2
17
-19
0
0
-26
-105
24
0
72
0
0
54
33
0
4
-87
-6
0
-114
37
-2
0
45
0
-1
102
-81
0
0
128
-2
0
22
30
0
0
-29
-2
0
0
26
0
-89
9
-13
-24
0
-24
21
0
19
0
4
0
18
92
0
0
0
2
0
76
13
0
2
0
0
0
-8
0
-5
-6
-4
0
2
40
2
0
-153
0
0
14
-88
-1
10
-48
-12
0
-26
-90
1
1
-21
-2
0
-14
-33
0
0
163
31
0
-5
-19
0
-6
-19
0
12
0
-38
2
0
-7
-4
-21
0
-2
0
0
0
0
0
0
-57
0
12
3
0
0
0
-61
0
-47
3
0
0
0
67
0
1
-6
157
0
-2
-40
-1
3
-7
8
0
-2
-99
0
0
3
15
0
0
-43
0
-77
-10
0
0
0
-80
0
-2
3
0
0
0
1
0
80
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-17
-26
-8
15
-41
5
85
2
-14
45
-11
-71
71
15
-8
-3
32
43
-80
-1
63
14
0
-4
27
-68
-18
11
-51
70
-12
-24
0
100
29
-35
-42
77
-5
2
-28
30
58
-33
15
-45
-7
14
-2
173
144
24
20
-12
-16
103
-32
52
30
-11
10
96
37
-4
56
-30
-57
-8
10
-43
-1
-12
-16
-37
5
77
-23
9
-3
14
-21
-48
-1
12
-33
-31
0
67
18
4
8
-57
-7
10
-3
-19
117
23
-4
55
-3
31
-41
57
7
-6
30
-38
-38
-8
56
-4
61
50
39
-36
-9
65
19
-8
96
21
103
-71
-57
-18
62
45
15
-7
28
-21
-37
-18
-6
-78
-62
15
-135
-40
4
-13
-27
-41
-37
14
18
-49
-2
-3
-6
-39
10
-32
11
-111
-12
-10
0
76
-5
1
30
5
-2
-10
-69
30
5
-49
-5
-71
-10
4
1
-5
-73
-88
128
6
39
29
-71
-87
2
-147
-22
35
-3
9
-47
86
-63
-21
8
-26
32
-45
12
-68
-13
-6
6
4
11
-2
1
-6
-3
-9
89
0
-1
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
-96
0
0
0
-88
0
103
-117
-10
0
0
-7
0
16
2
-6
0
0
-10
0
-37
0
0
21
0
0
0
-3
0
3
-15
0
19
43
0
29
35
0
0
14
0
0
-43
-144
0
29
25
-4
0
-30
15
0
-8
-8
0
0
-11
30
0
0
-65
0
0
114
-33
0
0
20
0
0
30
-86
0
83
-27
7
0
-18
16
0
0
0
0
-2
0
-21
-10
-10
0
2
0
0
9
0
0
0
0
0
0
-10
-2
15
-50
0
0
50
-36
0
0
-44
0
0
-22
-63
0
0
-155
0
0
-34
-36
0
2
-15
0
0
97
-55
0
0
14
0
10
-6
-69
0
6
41
0
-2
-4
19
0
0
-23
0
-40
0
-3
0
0
0
0
0
0
-50
-8
0
0
0
0
0
-57
0
3
1
0
0
0
-48
0
0
4
2
0
-3
-4
0
-37
1
6
0
0
-30
0
-22
9
23
0
0
-73
0
42
-77
0
0
0
2
0
0
-8
-5
0
0
-30
0
13
-5
0
-15
0
-159
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
0
0
-2
-118
0
-124
-33
0
0
-134
-64
0
82
32
0
0
-14
34
-4
0
22
-71
0
0
27
0
-9
16
-40
-123
21
3
0
-16
-11
0
-22
-70
54
0
53
0
12
12
25
-76
0
-18
13
4
-30
14
-10
0
18
80
-4
2
8
-63
0
20
-21
-6
0
-5
-53
0
89
31
0
-48
19
20
-4
-3
-30
-7
0
-9
37
0
0
21
0
-137
0
55
0
9
-2
-59
14
30
-6
0
-31
-4
60
87
34
84
0
-7
16
0
7
0
-15
0
-25
-11
46
55
28
-41
0
52
12
-20
24
-18
97
-10
-10
11
-21
-31
28
83
0
101
43
51
-15
123
128
0
20
-3
0
-5
2
-38
0
0
-41
5
17
0
57
0
0
-5
51
0
19
-15
0
-15
-37
-1
-13
-29
40
0
-48
10
0
39
48
58
0
85
22
51
17
36
-1
0
58
14
-10
59
-9
53
0
75
11
0
-1
68
4
0
17
-31
35
-73
27
-3
0
0
13
0
-44
-6
-25
0
0
-39
-49
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
66
-8
-13
4
-110
27
-49
-5
-2
32
-56
-58
0
32
5
0
-2
-84
-77
3
10
-21
-137
-132
-5
0
30
-2
-33
19
0
68
73
27
14
113
23
-5
-12
-6
15
-17
-12
-51
6
-58
-1
-127
-2
19
28
-2
-32
-53
-20
-58
38
61
-62
-13
-53
-81
-17
155
4
-60
-18
10
-17
-2
18
-4
55
0
39
0
30
-80
-16
-13
-9
-26
-6
13
47
67
-22
81
23
16
-17
104
-124
-55
-21
61
56
3
-7
9
14
-14
3
63
21
104
126
17
18
-61
26
9
35
37
-24
-62
-88
-76
-40
-27
47
-58
-88
-48
103
-10
0
-50
15
-12
-38
-19
14
0
26
-58
34
1
0
44
20
-4
18
0
40
-8
12
42
-6
56
80
-10
19
3
-22
5
49
-2
-74
-2
6
-29
-33
-14
-8
39
44
26
74
-19
38
-59
-10
136
9
91
-15
-11
-105
45
-34
-1
-2
-11
-39
-117
-70
5
5
0
16
17
-25
-37
8
8
-11
10
48
87
67
-4
16
-12
-19
-1
106
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
-37
-98
-6
-2
53
3
-17
34
92
0
2
-2
-41
-34
-1
0
-33
0
-1
24
-2
-3
9
-36
64
1
79
-8
-13
-34
-23
19
-48
0
0
20
16
-1
12
0
0
5
-33
25
-45
-24
6
-50
49
86
-11
-7
1
16
-114
-9
81
0
-20
-6
-113
41
63
28
-43
0
6
-62
55
-57
65
-65
0
2
19
25
9
8
-22
-2
98
0
-102
33
3
21
15
-14
58
-2
0
24
-37
-15
1
-43
71
-34
-115
4
2
27
68
16
1
-33
15
-17
-86
15
-72
48
5
52
49
-41
-27
-25
-37
44
0
16
36
24
-50
91
27
-49
0
-13
-28
12
-97
96
-8
6
-41
76
8
-54
0
-43
-6
-2
0
-52
12
-5
27
-57
-14
-13
7
5
-6
-31
-13
16
-91
0
-2
1
-6
-10
-71
-47
22
0
2
103
49
18
42
-84
0
-20
34
19
-5
-29
22
-12
91
0
0
34
95
-10
2
-121
28
1
-6
-99
-89
-5
17
-13
0
75
28
-15
3
43
9
23
65
-22
-16
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
0
0
0
-2
5
0
0
12
0
0
0
0
0
-61
38
5
0
0
0
0
87
0
-3
2
0
0
10
-10
0
-128
-89
-14
0
-103
-23
0
0
45
0
0
-169
-16
0
0
37
-2
0
66
-165
0
0
-16
-6
0
0
-9
0
-69
0
-5
0
0
35
0
0
0
0
0
0
-59
15
0
0
0
0
0
16
6
0
0
0
0
0
-47
0
-9
-4
-2
0
-9
9
0
0
-20
0
0
-23
14
0
0
76
-2
0
27
-1
0
0
12
0
0
7
-7
0
0
-10
1
0
-18
145
0
0
10
0
0
0
-96
0
0
0
-5
4
0
-21
0
0
0
0
0
0
1
7
5
0
0
0
0
-26
0
0
0
0
0
0
-31
0
0
33
0
0
0
-15
0
0
-9
0
0
0
-71
0
-12
0
34
0
0
-41
0
50
3
0
0
0
19
0
0
-12
0
0
0
-20
0
-7
-52
9
0
0
14
-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
-4
4
-2
0
0
0
-2
0
-3
0
0
0
1
64
0
0
-6
0
0
0
-2
0
-59
-8
0
0
0
0
3
-74
0
0
42
0
0
-43
-26
-34
-110
34
22
0
-30
-21
0
0
-47
0
20
-71
83
0
0
128
-4
0
-30
0
-13
0
-25
0
0
-4
21
0
-125
-4
-7
0
0
62
0
0
9
0
1
0
-84
-4
0
0
3
0
0
37
0
0
10
0
0
7
-20
0
0
-32
0
0
-33
59
0
0
4
0
0
-5
13
-4
0
125
3
0
-8
-7
0
0
-96
0
-3
0
-43
58
10
-10
-4
0
25
-75
0
0
11
0
-4
0
62
0
0
-33
0
-1
0
-41
0
0
0
0
0
0
-13
-15
0
0
0
0
0
18
0
-2
-15
0
3
0
-27
0
-1
-7
15
0
0
-101
0
12
14
0
0
1
-63
0
0
-7
0
0
0
-148
0
-1
-1
-39
0
0
115
0
0
0
0
0
0
-2
0
-13
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-8
138
27
-26
8
35
52
-1
-13
18
4
-3
-33
-117
49
37
14
-78
71
-8
-48
-148
50
-63
6
-23
-13
29
-59
22
40
-26
17
59
22
4
-8
-57
-7
36
12
33
-68
31
69
-18
2
-15
-106
-78
39
-24
-36
-29
-10
22
-82
-21
45
-22
-28
-8
54
20
137
30
-13
128
-42
-8
-70
140
-145
-59
-1
-4
-62
40
-11
7
32
25
31
-92
17
68
-36
30
-15
-53
2
-9
-26
-35
31
49
22
-32
-109
52
88
44
25
31
69
-12
11
-60
-38
38
-4
112
30
65
21
-15
-8
-8
-46
95
7
-48
-42
80
3
45
60
82
-107
2
85
-14
-65
-81
-80
-42
-14
11
-29
-10
75
3
-4
10
-1
39
-62
-100
37
-77
-44
76
-1
38
-39
1
5
61
-56
20
-66
-100
-9
-103
-90
79
37
-62
-60
-33
84
-5
42
-24
-59
-29
22
-124
-47
-8
14
97
-28
63
-8
-117
67
-10
2
-87
93
-20
-56
52
8
-15
-47
-31
50
-2
15
-35
-211
30
3
16
-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
-62
22
0
5
49
0
12
25
16
56
0
13
0
38
0
0
15
0
0
0
105
10
-25
-43
54
17
-3
24
65
-34
66
-9
33
0
27
19
-1
-9
52
-43
14
-4
-7
-15
0
36
1
0
0
-18
-13
1
-14
-19
0
-12
2
-37
-12
50
-1
0
3
-37
23
0
68
-54
-2
-25
63
44
8
43
-42
0
2
0
-36
7
27
0
0
-14
0
-56
4
0
-11
0
-22
20
-4
13
-18
22
0
-8
25
4
11
22
29
0
-11
16
-7
2
48
32
-26
12
60
6
0
0
-47
0
-37
-3
-17
23
-9
38
14
17
-5
-5
0
0
92
0
62
-7
40
-3
27
91
0
46
0
-40
2
0
0
0
64
0
-1
9
0
0
0
0
0
-41
-12
-21
79
0
-25
92
-30
0
5
100
0
9
30
15
5
-58
55
0
0
5
18
32
-21
-41
-3
-10
-11
-16
4
-51
15
0
15
7
40
0
1
18
0
80
10
11
-9
-4
-14
0
-3
0
-8
85
-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
-83
-57
0
-1
-38
1
0
-122
84
0
0
32
27
-1
1
6
36
0
0
16
0
-19
-1
62
-183
-55
-32
0
24
-3
0
67
-12
0
0
-87
14
28
-4
38
-8
0
-21
-11
3
-38
28
47
0
-24
5
0
0
3
-1
0
-4
-21
41
-12
-18
-58
0
27
-4
0
-44
31
-6
16
131
15
0
0
-9
-11
0
-16
-6
17
-44
24
21
0
0
13
-33
-13
-21
-3
0
-109
11
19
4
30
-6
0
-38
24
6
-17
39
-71
0
-17
22
-15
56
45
-36
0
-5
-18
142
59
-5
38
0
-31
41
19
6
35
26
0
77
15
0
-15
71
-54
0
95
20
6
32
64
56
8
0
-25
3
-1
-4
6
0
0
28
-44
1
-43
7
0
56
-35
7
-41
26
-16
0
-103
46
21
-24
11
7
0
85
23
-14
3
30
-29
0
118
36
16
66
75
-11
0
9
3
0
-129
30
107
0
86
5
15
20
126
22
0
-17
36
0
-45
-84
7
0
-13
-7
13
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
102
-2
-38
-57
-27
0
33
-28
-1
3
0
-3
-3
-3
-23
-78
-157
-32
-12
4
-41
-76
-34
-88
97
-155
17
34
37
15
-50
-37
5
16
25
-61
-16
19
96
-43
-11
19
-3
29
8
-47
-10
43
-6
9
53
43
56
-9
-38
38
4
12
3
-29
41
-20
-4
-55
10
23
75
1
1
24
-97
-28
22
-102
-26
-10
3
-79
50
-8
-17
-47
-80
-46
52
-158
-98
-47
-14
-28
12
7
-50
-38
-43
24
-7
41
-60
-36
-10
-30
-3
8
35
-40
26
26
-84
-18
-3
14
23
-144
-11
-10
-7
159
0
-4
37
34
-46
-53
-3
-66
-10
-13
-15
-82
-13
0
16
-30
-3
-1
-30
-82
0
-31
56
-2
50
-59
5
-66
-12
-11
-17
33
39
-12
-33
-11
-8
-39
-38
-1
139
135
43
-5
19
34
-61
32
44
7
-11
40
60
-52
-22
57
1
-16
-11
-61
-40
52
-11
18
3
-53
24
-71
49
0
-48
-1
-47
7
49
28
0
-6
-125
-38
-1
-142
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
42
-80
-35
0
1
-8
0
4
-13
-20
-7
2
3
-60
-25
5
2
31
16
0
-2
30
3
-2
48
8
8
-24
-32
-29
0
-26
0
-25
6
-35
-34
0
-48
26
0
0
-30
-81
37
-35
2
-39
10
98
0
21
125
0
-11
33
34
-123
12
-13
13
19
-4
49
5
59
0
-34
5
5
0
50
-22
16
10
-107
3
0
-7
2
77
5
-93
-180
-18
-30
-32
-46
-8
18
0
37
-8
0
-72
18
17
-76
-16
-59
-29
-19
47
-4
48
-30
22
38
-120
-33
8
6
-58
-31
19
160
0
-1
12
38
26
-52
28
5
5
-15
-36
-30
-78
2
-6
-31
0
0
11
60
0
-10
79
-18
0
-1
0
-34
12
10
-75
81
17
-3
33
8
1
73
-73
11
0
-21
70
8
-65
-50
37
0
-93
3
108
54
-6
-8
0
-77
-26
-25
31
-149
55
40
29
0
15
71
98
-106
-5
-11
-29
0
50
-44
7
54
0
-7
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
60
0
0
0
0
0
0
16
0
78
0
0
24
0
0
0
-81
1
0
0
0
0
-2
-63
0
-1
156
18
0
4
-85
0
7
-2
0
0
-12
22
0
0
184
0
0
-27
112
0
0
46
-4
0
29
0
0
-7
0
0
0
0
27
0
0
0
0
2
0
-67
0
0
0
0
0
0
-34
0
0
0
0
0
0
-5
0
-43
-14
0
0
0
44
0
0
22
0
0
3
-14
0
0
-9
-5
0
-18
-26
0
0
4
0
0
0
38
0
0
-4
0
0
0
-20
0
0
29
0
0
0
43
0
0
-1
0
-5
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
-31
0
0
0
0
0
0
73
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
49
-21
-2
0
0
-18
0
0
0
0
0
0
43
0
-7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
0
0
0
0
0
0
-104
0
0
-9
0
8
-7
53
0
55
-10
2
0
-35
46
0
0
28
0
0
-2
-63
0
0
-59
3
0
-10
-66
0
0
-15
0
0
32
9
0
-21
2
0
0
0
-8
0
0
0
0
-5
0
71
-1
0
0
-3
0
0
1
0
0
7
0
0
0
-68
0
0
-3
2
0
-2
-17
0
0
-4
0
0
-3
-50
0
0
84
-12
0
-9
-199
0
5
13
0
0
0
-29
0
0
-9
-1
0
0
47
0
0
-2
0
-1
0
5
0
0
3
0
-3
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
44
0
-2
0
0
0
0
25
0
0
1
0
0
0
19
0
0
-4
0
0
0
-15
0
0
-2
4
0
0
-118
0
14
-2
0
0
4
-25
0
0
-1
0
0
0
-111
0
26
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
-3
6
-48
-16
0
0
-50
0
0
-18
-136
-4
-22
-89
-10
51
58
0
-67
28
0
-25
27
0
4
-56
13
1
-5
-70
-132
0
34
-5
-2
0
-24
21
5
-58
16
0
-6
16
34
-7
25
-34
-7
3
-2
39
-159
-48
-83
38
-25
4
-40
-9
9
8
23
0
-11
62
-94
0
20
28
25
0
-59
25
0
17
68
0
2
-1
0
42
49
51
9
-36
-57
25
-109
14
-5
-10
81
0
24
8
15
-55
29
42
-80
-18
52
-25
78
-25
51
-62
-21
140
-4
3
12
68
-79
37
82
17
-3
-9
-3
1
-34
-48
-41
0
20
18
76
33
0
3
2
0
0
31
-15
-10
-9
2
0
0
-4
-4
3
53
43
-70
9
-1
-16
-16
-6
3
-22
-73
-18
0
-14
10
3
-50
-5
74
-2
31
-26
16
-9
-73
-127
-8
-26
-54
-2
23
12
2
-7
-17
-42
0
-3
41
12
-18
0
-5
0
-23
0
18
7
0
10
45
-1
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
0
0
0
0
0
12
-24
0
0
-18
0
-69
0
0
-5
0
0
-1
14
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
-28
-51
0
51
-1
-39
0
-4
33
0
0
13
0
0
-66
-11
0
0
-41
0
0
17
-9
0
0
-17
0
0
27
-33
0
35
-66
4
-10
66
138
0
0
-1
0
-9
0
62
32
0
0
0
0
0
1
0
0
0
0
0
-9
1
0
-9
3
0
0
-2
34
0
0
52
0
0
55
21
-11
0
19
-1
-7
-41
-84
0
0
-28
0
0
-14
37
0
1
73
59
-2
-7
-80
0
0
42
0
-5
6
20
0
0
18
-19
-81
0
-40
0
0
0
0
0
0
-99
-18
0
0
0
0
0
-32
0
-4
0
0
0
-20
-27
0
0
1
0
0
-13
-74
0
-11
17
0
0
0
-31
0
0
-1
77
7
34
78
0
-1
11
0
0
0
-91
0
0
-56
7
0
0
-20
0
-13
0
0
16
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
30
36
-11
-1
-65
3
-3
0
8
-17
0
-1
0
0
27
18
-32
-117
27
83
0
-63
2
0
0
18
0
0
35
-26
5
-5
18
84
0
-3
7
2
-2
17
-8
0
27
17
52
-7
33
46
0
9
-8
-11
-6
-4
65
0
-20
-24
23
-125
55
-8
0
77
-18
-28
-5
39
-11
0
0
27
-40
65
-6
-26
0
-30
27
-56
28
12
-2
0
31
0
80
14
-16
49
-4
52
38
16
14
-19
25
0
47
8
10
-90
36
47
-23
30
25
-26
190
55
95
0
14
64
-13
-41
18
12
2
40
48
-43
-19
56
45
0
25
-27
0
7
27
-18
-17
0
15
-8
0
-4
159
0
-13
17
47
0
22
8
0
2
10
-5
-80
-181
-2
2
114
26
77
16
25
74
0
57
26
10
-25
-19
15
5
77
33
6
68
57
4
0
62
33
0
-43
7
46
0
17
12
-2
71
25
52
0
31
20
-4
36
12
19
0
9
2
18
-5
-26
-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
3
-99
0
0
0
0
0
-57
-5
1
0
0
0
-3
-43
0
0
17
-6
0
-104
10
0
87
-112
-1
-5
24
-2
3
0
-56
2
0
-174
93
0
12
34
2
0
144
-35
0
0
80
31
1
50
-32
0
-80
-146
-44
2
0
33
0
0
28
39
0
0
8
0
24
-18
10
0
0
-44
4
0
8
20
0
2
-26
-3
0
1
137
-15
7
-8
2
0
-96
0
-25
-58
24
0
-60
21
-25
-1
22
8
9
0
-70
-11
0
6
-60
0
-8
-32
51
19
0
-19
0
0
16
-15
-10
0
42
0
-1
-31
19
-57
0
6
0
0
11
0
-2
0
-109
1
0
0
16
0
0
-53
0
-12
13
10
-4
81
-10
0
0
-7
-23
3
7
52
0
149
88
9
10
-4
-40
0
-2
76
19
19
0
-91
0
-39
10
-23
18
-2
49
0
35
-18
4
-1
0
-18
0
8
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
-6
-138
0
-6
-5
-2
-8
-34
-50
46
-7
-16
0
103
-57
7
-9
-57
0
-1
-80
-13
8
5
13
-59
0
-25
11
45
29
7
0
-5
-3
-35
-1
32
30
-78
-13
31
21
0
13
29
-8
22
44
26
0
-30
53
-81
-22
25
0
18
-7
60
-16
-53
0
23
-52
-6
0
-33
-4
0
-4
92
10
7
-2
10
-21
-28
37
-48
-5
-44
-35
-172
-62
-14
13
-66
-13
-42
-44
4
-93
-44
-44
-104
-19
-6
-17
30
6
18
-35
-17
-100
17
-18
6
20
29
22
37
36
0
0
64
-29
17
29
0
0
0
52
-4
-5
0
0
3
0
0
3
-10
0
8
10
14
-3
-2
0
0
-11
-4
1
-9
3
-6
-21
-4
-1
-85
43
-37
-9
41
-10
-10
-57
-5
12
18
6
-52
-19
43
18
-88
-136
-68
7
0
-10
-58
0
89
0
46
-5
-9
-176
-24
-25
-4
0
0
-152
-5
-13
-10
-19
73
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
0
0
0
0
0
0
21
0
0
0
0
0
13
40
0
2
-23
-19
0
-3
19
0
0
84
0
0
-14
8
0
1
27
-1
0
0
-70
0
0
-3
0
0
0
-69
0
5
-6
0
0
-3
-4
0
0
0
0
0
0
-56
0
0
0
0
0
0
-44
0
0
0
0
0
0
-26
0
0
-8
0
0
69
29
0
0
-12
0
0
0
124
0
0
-26
0
0
39
-102
0
0
-23
-6
0
0
-22
0
-1
38
0
0
0
32
0
0
0
0
52
-2
-39
0
0
0
0
-8
0
-26
0
0
0
0
0
0
-54
0
0
0
0
0
0
46
0
0
4
0
0
0
67
0
0
0
0
0
0
30
0
0
0
0
0
0
-38
0
0
17
0
0
0
-77
0
-1
0
0
0
0
70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-125
53
0
0
0
0
45
-57
0
0
0
0
0
-1
-10
0
-83
1
-2
0
13
-95
0
0
38
0
0
-1
-76
0
0
58
-4
0
-1
-18
0
0
-2
0
2
0
-5
0
-22
0
-1
0
0
-37
0
0
0
0
5
0
-108
1
0
0
0
-1
0
76
0
0
0
0
0
0
-11
0
0
-3
0
0
-1
-95
0
0
-3
0
0
-1
6
0
0
-2
-2
0
-2
-32
0
0
-2
0
0
0
-61
0
0
-2
0
0
-16
26
0
0
0
0
-1
0
48
0
0
-19
0
-1
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
34
0
0
0
0
-8
0
0
-1
0
0
0
-40
0
-1
0
0
0
0
-14
0
0
3
-4
0
0
42
0
0
-1
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
-55
0
10
-15
2
0
13
25
9
0
-5
0
18
-37
-18
0
26
0
-7
23
43
0
-46
20
-58
0
-119
0
6
0
53
0
0
-50
55
0
0
-29
16
15
97
-33
0
0
-42
30
-3
-96
-86
0
13
11
-177
1
-25
4
0
0
0
-1
17
0
26
-29
-28
0
33
0
0
48
-7
12
4
0
9
99
-29
3
8
52
7
-3
72
-1
0
6
6
0
-57
-7
37
0
8
64
45
-23
74
-51
-16
0
-5
-2
-114
29
-76
0
0
52
44
30
-16
-18
0
-13
-20
47
-28
0
-43
0
5
0
-79
-47
0
0
0
0
0
54
-5
0
-44
8
0
0
-3
-14
-5
19
0
-127
8
-1
-6
-24
-101
0
-2
7
12
2
-6
25
0
-86
-40
-4
0
0
41
0
-40
-25
-16
-11
-23
-34
0
-64
112
8
-19
16
13
0
0
-8
-22
46
0
-9
0
-104
0
92
-5
0
-78
4
-23
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
36
0
-1
0
-19
15
-5
35
22
-30
0
0
110
-9
0
0
-19
0
-47
23
10
-2
29
27
18
0
17
3
-3
26
27
0
0
-19
9
0
0
-2
0
-11
-45
-1
3
24
11
0
-31
-46
-42
0
-13
27
-1
67
-13
-5
0
0
57
0
49
0
4
-106
66
9
0
-1
-3
-10
-51
0
0
0
2
-104
33
14
-15
-10
0
-18
17
22
-17
5
-9
0
48
57
27
-3
36
14
6
24
23
3
-9
-6
15
0
-40
-26
-57
0
7
-8
1
-58
-30
-6
0
0
0
0
-10
39
0
2
0
169
0
1
0
32
-27
0
0
0
-77
0
6
-39
0
0
0
0
1
-39
9
16
-34
0
-5
-61
2
24
-8
84
0
-28
-19
35
0
73
27
0
1
64
-11
0
-44
-63
-10
73
-19
47
11
-123
-8
0
-46
19
51
0
-17
5
0
-48
-19
-27
0
-34
41
0
-56
0
38
91
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
53
-84
33
-24
-40
-1
-6
18
7
-120
48
5
0
-6
1
-38
-17
22
-21
0
1
30
-27
-8
16
-13
0
3
-8
-30
-106
-8
-87
0
26
-10
138
-53
8
-6
-2
77
-4
-53
63
9
-10
-3
73
-17
20
-12
36
17
0
51
-8
-54
-37
36
19
-5
3
22
-38
-11
1
25
0
56
18
1
-146
-52
-111
0
32
18
30
-15
6
14
-23
8
15
17
-99
-17
-56
-1
32
9
-122
-51
19
-26
0
93
8
-84
62
44
61
79
59
16
-2
-41
44
18
-1
71
12
5
-25
83
4
-2
-13
-3
126
34
13
18
-2
59
10
-40
40
58
0
-1
-55
34
18
-60
-83
-84
0
5
7
-49
-48
-4
-8
-2
31
17
19
-127
9
-75
-8
88
8
43
-67
28
-39
0
49
36
-63
-77
41
8
0
14
14
42
-21
38
6
58
98
23
38
23
74
36
-1
40
-4
-7
-13
31
-66
0
33
24
6
150
72
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
52
0
0
0
0
0
0
-48
0
0
1
0
0
-1
16
0
19
47
0
0
-1
2
0
0
1
0
0
0
-62
0
0
-2
1
0
-1
-85
0
0
-1
0
0
0
14
0
37
1
0
0
0
49
0
0
0
0
0
0
117
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
2
0
0
0
0
0
-118
0
0
1
0
0
1
-111
0
0
-3
4
0
-1
-39
0
0
-3
0
0
0
16
0
0
-3
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
-90
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
-38
0
0
0
0
0
0
-12
0
0
-1
0
0
0
-15
0
-2
0
0
0
0
2
0
0
0
0
0
0
-92
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-2
6
0
0
-6
0
5
-20
0
0
-7
2
35
0
-18
0
0
0
45
0
0
-25
-104
-2
-1
-9
-33
0
40
16
4
0
3
0
-4
18
1
0
-66
68
17
0
-4
-110
0
0
0
0
53
0
0
-8
-9
0
10
0
0
-49
0
0
0
0
0
6
24
-10
9
-14
-4
-31
34
-49
0
0
-67
0
0
-53
8
6
26
-118
4
0
-88
-2
1
0
44
1
0
-6
40
0
0
21
-54
-6
7
62
0
0
4
0
-13
8
-53
0
0
26
5
-80
0
0
0
0
0
0
-1
0
35
-23
0
7
0
0
0
-48
0
-16
-16
0
0
0
-63
0
2
0
0
0
-11
-1
0
48
-2
0
0
1
27
0
-6
-7
-28
0
0
-83
0
-38
3
0
0
0
-28
0
0
14
-9
0
0
63
0
-10
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-179
-37
-108
2
0
-15
-27
-12
8
-46
0
-68
-31
48
7
-61
-26
15
-28
-38
1
14
65
-56
3
60
7
25
0
-25
-5
2
-68
-5
-30
2
-4
-5
-10
32
-78
-85
0
-26
-33
-4
-94
-82
-4
0
-2
20
6
-3
0
-7
0
-11
-1
-11
-19
8
22
-35
-16
15
-14
0
-139
-29
-104
128
-114
-101
1
100
18
12
-65
-13
-18
164
6
-9
39
35
23
-5
-21
-41
13
19
-23
24
-8
63
-4
0
-4
-4
-26
52
64
55
10
2
-36
56
20
-25
-34
22
-13
134
-82
47
79
0
0
0
-1
-1
-43
-39
-7
52
39
-50
-82
-9
-1
3
-73
-5
-12
-14
-3
-51
19
-15
-2
-174
29
-72
4
-9
-1
2
23
-28
-2
23
1
-9
-24
9
-125
-5
7
-58
-35
12
-83
-83
51
25
6
-23
8
58
68
21
-30
0
7
5
15
-12
-8
-54
0
-17
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-76
0
0
0
0
0
-1
-14
0
-37
-21
0
0
11
-12
0
0
-27
0
0
-1
-74
0
0
47
0
0
-1
-81
0
0
-3
0
0
0
-8
0
53
0
0
0
0
-8
0
0
0
0
0
0
-61
0
0
0
0
0
0
-57
0
0
0
0
0
0
19
0
0
0
0
0
0
-99
0
0
-1
0
0
0
-53
0
0
-2
0
0
0
23
0
0
-1
0
0
0
7
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
-68
0
0
0
0
0
0
-23
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
-3
0
0
0
0
0
0
-31
0
-1
-12
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-1
0
0
-1
-74
0
38
-42
-1
0
-42
0
0
0
67
0
0
-1
-67
0
0
-28
-12
0
10
-25
0
0
-1
0
0
4
-36
0
-48
5
-1
0
0
-15
0
0
3
0
0
0
5
-1
0
0
0
-1
0
7
0
0
0
0
0
0
22
0
0
0
0
0
-1
-80
0
0
-4
0
13
0
-39
-2
0
-54
0
0
7
-7
0
28
-1
0
-1
-2
-23
0
0
-1
-1
9
0
-16
0
0
-1
0
0
0
-44
0
0
0
0
10
0
-71
0
0
0
0
-8
0
-70
0
0
0
0
0
0
56
0
0
0
0
0
0
51
0
0
0
54
0
0
-22
0
-3
0
0
0
0
19
0
0
-1
-2
0
0
12
0
0
2
0
0
1
24
0
0
0
6
0
0
-35
0
26
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
47
0
1
0
35
0
32
15
0
0
0
0
0
-34
-68
0
-12
-103
4
0
-48
-64
1
27
-107
0
0
82
-104
0
0
-62
-1
0
-17
-48
0
2
-70
0
0
6
-50
0
69
6
33
0
0
-31
0
0
0
3
-14
0
-29
-8
-1
0
0
0
0
77
1
0
11
0
0
0
-36
0
-2
13
0
0
18
13
0
42
-13
0
0
-11
-38
0
20
-46
0
0
-39
-91
0
-28
35
0
-3
-3
20
0
0
52
0
17
0
-195
0
-6
-44
0
1
0
6
0
0
15
0
10
0
-19
0
0
0
24
0
0
45
12
0
0
0
0
0
-12
0
-53
0
0
0
0
-37
0
0
-6
0
0
26
-61
0
-1
-5
0
-5
156
-50
0
13
83
-7
0
-6
-107
0
35
68
4
0
0
110
0
0
4
0
8
0
35
0
4
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
85
-85
-53
0
-76
51
16
0
-63
-7
0
10
64
0
47
26
86
0
-21
-11
0
9
42
-6
0
74
19
0
-3
-1
118
0
44
-39
1
5
-42
11
-15
53
-37
-2
-10
36
-90
7
-1
-49
50
8
-65
66
0
4
52
38
0
0
-66
0
5
-16
11
0
-8
0
0
-94
57
-87
20
-85
-68
0
92
20
0
-4
10
-26
0
42
-6
64
-34
36
-46
0
16
-5
13
-24
33
39
0
85
-39
6
-7
-3
52
0
25
13
1
-4
100
99
0
58
-5
-1
-8
-10
-72
0
0
-14
30
6
2
-10
0
0
23
10
19
0
-95
0
34
7
-1
54
-29
0
0
30
-11
-13
10
39
48
0
2
-17
-15
-50
45
-3
0
34
39
35
-76
-13
108
0
97
4
4
14
53
-6
1
-23
-6
0
-8
-39
-58
0
0
47
53
31
13
0
0
8
-25
17
4
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
-139
0
0
-1
0
0
-3
-53
2
76
70
16
0
-41
27
0
22
1
-6
0
5
36
2
0
-43
21
-7
-15
47
0
0
102
0
-6
20
83
0
31
-32
-5
23
0
-11
0
0
-6
0
37
0
-19
7
-7
0
0
-4
0
-50
-11
0
0
0
0
8
-33
0
6
8
0
0
-1
-30
0
0
-56
0
13
13
73
12
0
5
-6
0
-15
32
0
0
11
0
7
0
-19
0
0
30
-6
-5
-5
-6
0
0
-1
0
-17
0
11
0
-1
8
0
23
0
39
0
0
0
0
0
0
-50
0
0
0
0
0
0
51
0
9
2
0
0
3
47
0
0
1
0
0
0
-14
0
13
-3
-1
0
0
3
0
0
-40
0
0
0
-50
0
70
-3
0
0
-1
49
0
-31
4
-4
0
0
-67
0
-21
0
0
0
0
-12
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
-15
4
-24
-50
-25
1
-103
4
6
34
-31
28
19
18
23
7
59
43
52
6
56
-7
-21
43
11
20
-34
61
11
-4
-1
-50
4
-30
-50
-58
-29
19
46
-18
2
35
78
-7
9
-4
-30
9
-38
-28
-1
11
13
11
50
-80
-100
0
-35
-152
-8
60
20
2
13
98
-71
-38
-16
20
-45
-7
-2
-48
5
-20
-34
37
6
-10
-62
24
-58
-29
-19
-18
-22
-74
14
40
27
-21
-4
-30
-20
34
0
-10
12
-11
51
-64
14
26
24
61
-3
34
59
-7
68
21
55
-22
-30
76
-48
44
30
29
0
-70
41
-10
-3
-77
-59
16
70
-88
-11
-30
-35
1
-32
-26
64
-12
3
-11
-6
12
61
4
21
0
-26
22
-20
34
20
39
-3
-18
-13
-3
-56
57
-19
34
-9
-57
-1
-24
-20
9
66
17
-85
-2
59
-27
-24
-13
12
-22
-22
-13
94
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
33
34
2
7
-177
-95
21
39
-17
-63
-9
-50
18
44
32
-33
2
-8
-84
-20
42
14
-31
-77
-31
-127
-54
0
-5
-97
34
-57
-110
-23
0
-33
-28
-49
-13
-21
-20
23
-4
-16
-1
110
3
17
46
-68
1
74
-23
0
-57
-17
-2
19
28
0
-67
-5
28
4
142
16
26
-30
51
10
25
11
59
23
8
45
-15
-24
41
-17
-46
-84
-18
153
0
-42
35
62
-66
29
0
-3
-4
0
-139
-58
-38
0
-51
-71
16
-53
54
-33
1
-4
-28
-16
50
0
8
14
-3
-2
-4
68
0
-28
-6
-6
14
-12
0
-36
-59
-1
58
-53
14
17
-71
16
4
-49
8
-27
-1
21
14
13
80
29
9
5
-18
15
-25
-83
18
58
0
64
20
-13
-80
-12
39
-23
-40
9
25
-4
-25
40
2
-3
11
-3
-120
28
13
-77
0
33
-45
-9
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
5
-33
0
34
36
-1
0
119
95
5
2
30
83
0
20
7
-10
-5
-18
0
7
-19
-38
0
0
-40
-64
0
-10
-7
0
0
-75
41
36
-26
4
-8
-15
-116
-116
-19
-37
-117
3
-1
68
3
-23
0
7
12
14
0
-52
-5
7
-93
22
0
-2
0
0
-48
-30
29
19
24
89
-85
11
-41
13
-18
-74
-5
33
50
21
19
-7
-27
-8
27
-68
-61
-3
28
-25
35
45
98
19
7
22
-48
-39
115
-69
10
0
8
-118
0
-3
-7
-41
-8
0
35
-29
-86
0
8
7
34
0
0
14
0
-44
12
6
7
-1
0
-3
-32
4
33
-38
0
0
-5
-68
0
33
225
62
21
-9
-4
0
-10
-55
1
4
-64
-9
1
-5
-102
-140
-6
-21
5
0
30
53
-5
7
-3
22
8
-5
-152
-33
-5
0
-55
4
112
-8
-8
-50
0
-42
49
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-4
-6
6
0
0
-57
41
0
-6
-43
-96
-3
22
64
0
11
72
0
0
74
-37
2
-4
-89
-41
0
-15
-32
-5
2
-27
7
-6
-6
-114
19
43
-69
38
-29
0
-13
0
0
0
0
18
0
-61
7
-40
0
48
0
0
6
-9
0
0
0
0
-6
5
0
-17
-3
-3
0
-20
-19
0
-6
-63
-12
6
91
47
0
-1
-24
89
-55
-26
29
-7
-7
37
87
0
62
-58
51
0
-7
-70
-27
-4
-50
1
0
-33
-23
43
0
46
0
0
-3
-93
28
0
-70
-10
0
0
0
35
0
31
26
0
0
0
0
0
84
0
-14
0
0
3
16
3
0
0
3
-13
3
56
-32
0
102
34
0
0
13
-105
0
-18
21
-17
-9
0
-15
-1
25
-150
-24
0
-2
-23
0
-33
132
0
32
0
23
0
-72
-22
-5
-5
0
-65
-46
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
5
64
0
0
-128
-120
0
4
-22
-1
6
27
-114
0
26
-36
0
-18
5
-45
0
-14
-30
46
90
65
-41
0
-4
-35
1
6
-70
-13
0
-17
-82
0
65
136
-61
-1
-14
-1
0
97
0
-15
-3
-15
0
16
0
0
-107
21
0
-17
0
0
-57
-55
0
26
39
-2
-14
36
-51
0
-20
13
0
28
38
-129
45
-39
-6
-1
44
9
-70
-1
4
24
-28
46
83
-32
0
-3
32
0
-61
105
-22
0
4
50
0
61
57
-45
-9
40
139
56
30
0
-17
63
0
-8
-1
-18
9
65
67
0
7
0
0
-38
26
0
21
21
0
0
-31
-51
0
5
72
0
10
106
-96
0
62
126
-9
0
59
-50
-11
0
27
0
76
-11
8
0
36
63
0
-19
3
22
1
-10
152
-2
51
-17
-17
0
36
3
0
10
0
-21
-75
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-4
0
-40
4
-1
0
12
-28
0
0
-30
0
0
0
-5
0
0
-23
11
0
11
-38
0
0
9
0
0
0
10
0
-11
-2
0
0
0
11
0
0
0
0
0
0
-69
8
0
0
0
0
0
-32
-1
0
0
0
0
0
34
0
0
-4
0
0
1
-24
0
0
8
0
0
-8
25
0
0
1
0
0
13
-13
0
0
6
0
0
20
-59
0
0
-17
-6
0
0
37
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
23
-1
0
0
0
40
0
0
-6
0
0
0
31
0
0
0
0
0
0
95
0
0
0
0
0
0
61
0
12
0
0
0
0
8
0
0
0
0
0
0
120
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
-26
-20
43
11
-38
64
23
3
-22
11
-7
-4
-37
1
29
-27
-38
-7
15
6
0
-6
33
3
71
-51
11
0
68
21
125
23
-57
-75
13
22
14
-10
-23
0
7
5
-48
0
135
28
-2
18
84
-4
23
40
10
-3
46
4
-40
-170
-42
-3
-34
-4
1
22
-15
65
-45
-6
-17
1
18
-79
96
16
-136
-6
0
-9
15
-3
-32
-105
-2
6
15
27
68
-35
18
6
0
14
7
-18
162
27
13
-6
5
8
155
20
0
-6
-52
-11
18
0
47
0
-78
58
-16
-4
-1
0
-16
2
8
-22
23
0
0
12
23
-12
-25
-33
23
10
-27
31
21
-32
-58
-7
-1
8
9
0
-91
22
29
4
42
-44
-13
16
39
6
-3
-9
-42
0
-7
9
1
63
0
14
0
5
32
17
67
5
-13
39
-14
10
147
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
28
-25
-7
1
12
84
29
21
14
-61
-1
40
38
26
5
59
-38
37
-14
-37
-6
-9
-46
25
12
24
4
-54
-2
-71
0
14
12
-67
-66
-20
-18
-21
-31
-98
47
62
1
-14
-15
4
-1
55
-42
4
-17
-134
-11
-37
71
-94
0
-36
-3
-38
-61
8
-39
5
-38
-87
1
50
67
-36
25
14
-15
-10
-11
13
-37
1
14
1
10
34
10
1
3
56
-1
26
34
12
-42
-8
-8
36
-5
26
2
-91
3
83
-38
-36
19
15
-28
4
35
-32
37
53
15
-75
15
17
-54
-101
58
-24
-70
0
13
21
-29
26
30
-112
-30
-119
-22
-2
-6
38
-73
-6
89
-24
-23
-20
-48
-36
-7
71
57
-6
10
-61
-20
-23
-15
-4
-48
-23
-51
-55
2
43
66
-19
22
-8
-7
15
-35
16
0
88
10
38
27
1
-137
-47
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
72
-49
0
44
64
-29
0
8
16
0
1
94
0
0
154
-67
0
9
49
-15
0
-48
-21
0
0
-74
0
0
-49
-5
0
-76
54
0
0
0
97
0
0
0
0
0
0
-19
28
2
0
0
0
3
36
1
18
0
0
0
-24
48
0
0
31
0
0
37
-40
0
7
31
3
0
110
51
-70
5
83
0
0
71
-66
0
0
31
0
0
24
-1
0
0
9
-7
0
2
-140
0
12
1
0
-3
0
43
0
0
-21
-147
25
0
41
0
0
0
0
0
0
8
27
0
-3
-1
0
0
38
-6
-46
0
0
0
0
16
0
22
34
0
0
-3
-73
0
-8
-11
0
0
-1
24
0
-4
0
0
0
4
72
-3
-18
0
0
0
0
-18
0
0
4
-3
0
0
25
0
32
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
0
29
0
27
0
83
-132
0
15
53
0
3
-66
-68
0
0
19
2
0
-8
-96
0
0
19
0
0
-19
26
0
-105
39
5
0
0
-15
0
0
0
0
46
0
32
74
0
0
50
0
0
6
-5
0
14
0
0
123
80
0
0
-2
0
-25
113
-81
0
0
58
0
0
14
-24
0
0
9
-41
0
-29
123
0
0
-41
10
0
56
-68
14
0
69
5
11
0
48
0
0
-4
0
0
0
-13
52
0
0
-23
-32
0
-21
0
0
0
0
-1
0
-46
-31
0
0
0
0
2
-62
0
40
1
0
0
-8
-4
0
6
-18
0
0
0
-85
0
-54
16
0
0
0
-20
0
0
-36
29
0
0
-17
0
61
-11
0
-1
0
61
0
11
-100
0
0
0
-1
0
75
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
26
-26
7
-11
-4
75
-8
60
6
-13
-1
7
50
-7
4
41
28
111
-31
27
16
19
33
107
-41
-9
1
0
63
-7
58
-49
52
-17
-2
11
-46
-8
5
0
9
70
-33
0
-11
34
-10
16
38
2
0
0
13
-35
78
15
28
-61
-43
-38
-80
15
-21
27
51
20
18
-45
15
1
23
19
-10
95
34
8
33
-95
18
64
19
-72
20
-3
1
71
64
11
1
7
-3
2
19
39
23
-19
6
21
-20
71
86
28
0
-20
-85
0
0
16
25
2
-35
-156
5
0
-2
0
4
83
5
26
1
0
-5
-15
20
-1
-59
-71
10
-20
29
35
-7
54
-63
63
-7
-27
-21
0
30
29
-27
-51
-20
8
-3
-43
-113
-7
25
-9
5
0
-5
70
23
10
22
-15
3
-89
22
-7
76
0
-66
-22
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
-164
0
-111
-50
0
0
-14
15
0
-17
63
0
0
21
-113
0
0
68
0
0
-5
94
0
0
0
0
0
1
-89
0
-54
-9
-16
0
0
-36
0
0
0
0
-3
0
-52
-17
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
-1
7
0
0
17
0
0
-3
0
0
-17
13
0
0
82
0
0
-9
-121
0
0
-15
0
-25
0
-10
0
0
-4
0
0
-3
8
0
0
0
0
0
0
34
0
0
0
0
3
0
-7
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
-9
0
0
0
0
151
0
0
13
0
0
0
6
0
63
0
0
0
0
37
0
0
17
0
0
0
29
0
3
-5
0
0
0
33
0
0
0
0
-2
0
-59
0
11
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
10
-42
0
65
29
-2
0
-119
-33
0
0
-86
-10
0
-25
-134
0
-5
-75
-49
0
-121
32
0
0
88
0
0
38
6
0
-62
-31
-1
0
16
-2
0
0
0
0
0
0
30
8
-9
8
0
0
0
21
16
0
0
0
0
0
50
0
0
50
5
0
58
132
0
0
-81
0
0
-53
63
0
0
99
43
0
61
55
0
7
125
8
0
9
-113
0
0
-34
-10
0
1
-152
0
0
50
0
0
0
28
0
0
0
-3
0
0
-55
0
0
0
0
0
0
44
-4
0
0
0
0
0
-39
0
-53
-7
0
0
-2
171
0
0
34
0
0
-17
-7
0
-53
39
0
0
0
7
0
0
-72
0
0
-4
4
0
-77
-9
0
0
8
-43
0
-3
0
0
0
0
-38
0
5
0
28
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
-95
-7
-118
-88
-117
-62
69
-21
25
25
-63
-8
-93
29
-56
1
-23
7
-11
32
-16
38
19
10
0
-50
-21
18
-33
19
-23
5
65
-46
45
-5
21
-13
1
-2
-62
-12
-36
-7
66
-60
2
35
35
94
-56
84
21
-23
-76
-30
12
28
41
82
11
-108
9
-41
27
-69
-31
36
35
-30
-39
0
31
46
-24
104
-9
-111
15
52
-6
-21
18
-42
-40
32
39
143
-10
-9
67
3
-1
-59
-27
-16
-40
13
0
23
45
-21
-3
-63
-18
0
-64
-22
-79
46
-15
-4
82
-28
1
-5
13
-56
-29
-7
20
68
124
-41
105
-20
92
8
-18
-1
23
-30
-41
-100
14
60
16
0
35
22
-6
28
12
34
-15
-9
-44
-132
15
71
-64
82
46
19
-5
25
-16
28
-20
-9
-47
-3
-30
-115
97
51
-9
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
-83
34
17
52
-77
-43
-56
7
-1
42
86
2
34
-67
22
-8
84
-11
48
-3
-38
-35
-41
46
10
46
-12
-31
-90
-15
-42
-48
-20
1
85
8
0
46
-12
-49
52
16
-39
9
-5
-101
-17
-93
-66
31
0
93
-41
-37
28
-49
-138
0
79
-50
-36
5
54
-96
-40
51
-22
-64
62
-49
-20
-27
-130
-42
-7
-131
-39
16
0
15
-7
-8
-37
14
-10
-2
-48
35
65
34
4
-19
16
89
-6
1
10
24
-27
29
-35
-8
8
14
-2
8
-5
-49
-9
89
-48
77
-2
8
-95
35
-77
-77
-94
-168
0
-51
-7
9
-58
-8
-55
-55
-44
87
19
-48
-21
-49
-33
-42
14
-58
-31
21
-18
0
-64
7
88
42
-90
39
1
-45
-26
15
23
9
-14
39
-55
52
87
8
-13
-25
26
-84
5
-18
99
-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
-170
-11
0
0
-84
0
0
44
29
0
2
-4
9
0
53
50
0
-4
13
0
-8
-1
-25
0
-29
79
2
0
0
-14
0
0
0
0
0
0
109
-3
-4
0
5
15
0
43
0
0
10
0
0
0
12
0
31
-32
4
0
0
-2
0
-1
-1
0
0
-8
-28
12
54
-29
-8
0
-31
-18
0
3
8
0
0
0
97
-3
-2
42
-8
0
-1
94
0
0
13
0
-14
0
-119
0
0
-21
0
121
0
54
0
0
0
0
0
0
-18
-40
1
-4
3
0
0
-38
0
-26
0
0
0
0
-41
0
0
-16
-5
0
0
35
0
48
31
7
0
0
-124
0
-2
-5
3
0
0
-46
0
1
-1
0
0
0
-20
0
0
1
-4
0
0
69
0
16
0
3
0
0
-74
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
-9
1
113
-26
-15
69
-99
8
-27
-13
-83
-35
40
58
7
13
-113
-144
-5
160
-55
-39
26
16
-1
-10
31
20
-54
9
-34
-44
-23
-11
-4
-91
24
-36
-4
-103
-11
29
-44
-19
-4
5
8
-87
32
-21
-25
-137
11
-26
-59
68
68
28
119
-62
35
31
75
-47
-32
55
49
-13
16
-40
5
-8
29
44
-18
42
99
-9
7
-46
-37
-9
51
65
-75
5
-15
29
-35
45
6
-51
-2
-145
-124
49
0
0
10
32
80
-139
-10
-41
-16
21
-25
-12
-18
61
51
-38
11
-11
-7
-60
12
-8
-29
49
-9
-32
-78
17
30
14
-36
-26
42
-91
-36
73
-16
-46
-6
-49
-9
-25
42
85
-75
-2
61
-3
-10
-3
-4
39
1
-47
-12
-90
-26
18
11
13
3
-16
40
26
-40
-8
11
22
-19
-135
50
-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
-18
-17
133
45
2
36
-6
1
16
89
44
-21
-14
9
29
-1
-89
37
26
27
59
-46
28
-36
-12
3
-5
50
9
23
16
91
-81
-25
2
28
0
-49
-42
-51
0
1
42
28
45
81
-27
2
63
33
19
16
42
27
-36
64
57
3
2
47
22
11
29
0
-24
-2
-17
18
22
-59
17
-12
-127
16
10
10
25
36
-7
-19
99
10
15
14
-6
19
11
53
42
5
39
-29
16
-48
11
-14
-7
31
0
3
7
50
11
2
-3
31
13
-21
40
-9
-89
-4
63
43
48
79
-2
80
81
6
18
-31
-25
-23
56
28
71
-14
-31
85
35
-14
-96
-28
-25
-148
10
20
10
2
-25
-10
-37
-33
-8
-11
82
41
5
60
-19
61
10
61
125
7
-18
-39
26
-95
-48
-11
20
33
-69
25
12
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
-24
-17
-2
86
-46
-7
-10
13
-23
-12
-12
24
-9
-11
70
-11
28
5
11
-1
11
-3
-44
24
11
81
-60
103
-5
-27
-1
-12
-3
14
-60
-2
-6
119
-22
8
-32
0
4
-9
0
-13
45
57
-11
-44
-11
0
-53
103
-35
8
-103
0
-3
26
51
-3
6
-16
4
0
-11
36
-41
14
-3
37
105
70
52
-35
-5
-6
4
-43
-34
3
-35
-11
148
24
0
-3
60
-25
0
-49
2
-5
-4
0
33
69
-8
-5
29
63
1
-61
-17
63
-90
-2
-42
23
33
-23
24
47
-1
32
12
-37
24
72
68
-1
0
40
8
0
180
65
-48
6
28
-81
-33
16
18
-4
46
74
-33
-46
-4
51
12
-11
11
20
0
66
51
0
-43
11
-18
50
72
-66
2
-81
18
28
-27
-33
-29
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-17
8
0
-4
-119
0
-3
-53
18
0
-12
14
0
4
-12
0
0
0
81
0
-66
-10
-3
0
0
-1
0
0
0
0
0
0
12
-17
13
0
0
0
0
5
0
-2
0
0
0
4
74
0
0
19
14
0
-16
-49
0
0
219
0
0
3
49
0
1
-24
0
0
-4
-32
0
0
22
0
0
-5
26
0
-7
40
-1
0
10
-35
0
0
-11
-1
0
0
-79
0
0
0
-3
0
0
-39
-2
0
0
0
0
0
76
0
0
0
0
0
8
-13
1
43
0
0
0
0
75
0
7
-1
0
0
-35
69
0
-50
-7
0
0
8
44
0
0
20
3
0
5
-41
0
12
-29
0
0
-6
-24
0
0
-1
0
0
0
75
0
5
18
2
0
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
-14
6
-132
-31
-3
-25
4
-42
-3
-96
16
2
-101
-26
31
3
14
11
2
-14
6
16
18
145
29
131
25
-36
39
8
-18
8
-19
-42
-67
27
21
11
-37
60
-9
-69
-47
1
13
-12
34
42
18
8
-13
-107
29
0
8
64
0
16
50
3
35
32
49
5
18
116
-1
7
5
-22
-52
8
-43
73
8
14
30
28
7
96
-50
-7
16
-6
78
17
34
-40
-25
4
5
-7
-3
-24
-21
-8
9
24
-28
-31
19
-90
-114
-53
64
1
-24
-111
-37
48
-136
160
22
-27
161
53
42
70
63
25
-2
-15
43
-3
-3
-28
13
5
44
-2
21
67
-30
-54
2
54
15
-59
-110
3
-65
3
93
-39
11
20
30
-59
9
-37
7
21
51
-21
11
1
45
99
-4
72
-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
-68
-11
44
-156
-77
-48
-66
-28
-25
-79
-51
-29
-49
-27
10
-93
31
-9
4
1
5
3
-49
-48
11
83
7
-24
-78
1
9
-7
21
-15
4
-59
8
46
54
-40
54
-25
53
1
22
19
-1
-64
-14
29
32
-22
-34
-30
-25
63
-49
0
10
-57
-41
-36
110
-34
-18
146
-47
-51
7
-56
-79
-13
-13
5
-16
13
-15
-16
-27
-77
-26
13
-26
20
58
-16
-34
-86
19
37
-11
-30
15
-61
-106
-14
-2
13
63
46
1
-108
-51
-77
-17
33
-13
-3
-13
22
-56
12
111
4
-35
41
-1
-38
61
36
0
-9
5
-31
64
-60
-41
-14
71
12
-16
16
47
3
5
24
14
-46
-54
55
10
24
17
25
-19
6
-24
-79
-11
-86
26
27
-12
-12
-30
45
-47
95
34
-30
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
-18
-73
0
5
-107
20
0
17
-3
0
0
-32
0
0
-9
-8
0
83
-9
0
0
0
-11
0
0
0
0
0
0
-36
31
0
0
0
-6
0
8
-6
0
0
0
0
-11
43
-3
-52
11
-3
10
12
-65
0
-5
-62
0
0
75
-4
0
4
-53
-4
0
-5
-43
0
-6
-19
7
-7
0
45
0
0
4
5
0
0
35
0
0
-1
0
0
0
44
0
0
0
-4
-6
0
36
0
0
0
0
0
0
-71
8
0
0
0
0
2
22
5
39
4
0
0
0
-42
0
-22
60
-4
0
-2
-95
0
-51
-35
0
0
0
-134
0
0
-4
0
0
0
-133
0
-62
0
0
0
0
74
0
0
0
0
0
0
-57
0
4
0
0
0
0
56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
44
69
0
54
86
4
4
146
0
-2
45
-45
0
22
85
-46
-19
0
-63
0
0
0
0
-17
0
5
-75
-8
0
12
0
0
12
-2
0
0
0
-4
36
10
12
-6
12
-12
0
60
-43
2
0
67
5
4
79
12
17
-5
-68
17
1
-97
-61
8
0
-68
7
11
-1
-5
-10
0
-153
29
38
0
11
-1
0
-5
-27
53
0
144
0
0
-13
-13
-40
0
26
3
0
0
0
11
0
-21
0
4
1
0
0
-3
-112
0
-4
19
0
0
12
48
0
0
77
69
0
26
1
0
-18
66
-7
0
7
-46
-1
26
-27
2
0
13
-68
0
-39
20
0
0
0
136
0
-4
48
17
-2
3
64
0
-28
0
0
-27
0
-59
-3
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-92
3
23
-40
18
12
75
69
6
-72
-2
16
-28
20
-14
32
3
-13
5
9
-24
54
6
-8
-43
-55
9
-34
-15
-28
-18
-49
83
65
-17
12
-50
-1
8
-57
9
53
7
7
15
-13
12
-15
45
-1
46
-40
62
-27
-2
46
-25
43
19
17
55
1
-69
23
7
57
-11
16
13
-87
-67
-1
46
-44
68
27
33
-90
7
-54
84
-8
0
-9
-41
-27
-26
28
-10
17
-16
-70
52
108
44
22
21
-10
74
57
32
61
39
-18
-157
-34
80
-72
18
-40
8
-48
-43
2
27
57
73
-21
-139
2
-71
-31
-40
-7
-13
14
51
29
23
25
17
3
90
-35
-44
1
104
33
-6
-8
34
48
43
19
-39
1
11
-7
83
44
-37
9
14
71
-1
-32
-75
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
-82
-162
0
0
-13
-21
0
108
-35
0
0
26
0
0
21
133
0
-16
-67
-21
0
0
-25
0
0
-6
0
-9
0
66
44
5
0
0
0
0
-100
0
0
6
0
0
-14
21
10
15
-35
11
-3
-23
80
4
0
19
0
0
-49
-85
0
7
-24
-5
0
-3
-36
0
-1
-58
0
14
2
45
5
0
50
22
-27
0
-88
8
0
36
0
0
3
-26
0
-5
33
0
-53
0
-12
0
0
0
0
0
7
-17
-6
0
0
0
0
-1
76
0
42
2
0
-1
21
-10
0
-1
-37
0
0
64
-40
0
-21
14
1
0
-27
-75
0
0
13
17
-15
0
-82
0
101
-16
0
0
-1
81
0
0
3
0
0
0
11
0
-20
0
0
-24
0
48
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
43
12
-4
0
31
-12
0
0
-66
-2
0
25
-1
0
10
-2
-12
0
0
60
0
0
0
0
0
0
30
-58
3
0
0
0
0
-8
-19
0
0
0
0
-11
-34
0
36
-43
3
0
-27
-64
0
0
74
0
0
49
85
0
-6
68
-9
0
80
60
0
0
40
-5
0
48
-50
0
0
21
-21
0
0
-110
0
0
-21
0
0
0
-28
0
0
-5
43
0
3
-35
0
0
0
0
0
0
-41
-2
0
0
0
0
8
-16
0
21
60
0
0
-31
-53
0
2
-20
-18
0
7
26
0
-1
15
0
0
-6
-8
0
3
-20
8
0
22
-134
0
-18
7
0
0
0
33
0
0
-26
0
0
0
-3
0
41
0
14
0
0
-102
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
33
-9
80
-5
38
-38
0
-1
-34
-37
-79
48
17
2
-14
-11
-47
76
1
34
35
-21
55
-48
-69
49
-7
-54
36
142
-14
15
18
-18
-50
15
53
-6
79
-67
-10
17
95
12
-79
-50
7
-10
-33
60
3
-64
21
53
-27
-81
-5
-5
93
17
-2
8
-47
28
-36
17
59
67
5
-5
15
8
58
44
24
-7
-86
182
-34
-52
25
17
6
-22
44
-22
-72
69
0
-34
80
-53
-69
-20
-10
11
26
50
-1
43
10
-52
41
4
11
-57
9
-59
54
-43
25
86
25
-15
97
67
-91
-7
-2
107
12
60
-4
64
-7
-4
-18
38
-28
-130
17
-19
2
-6
-48
14
-34
-16
17
55
-87
33
1
107
-7
0
-39
-2
0
-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
13
-43
-103
-52
22
12
-10
69
-19
8
-28
17
-39
-49
86
-37
-22
-104
52
-49
-36
28
-28
-56
-31
26
-66
-104
-7
7
-19
-12
119
4
-100
-30
-5
-38
-15
26
1
-91
46
-3
-61
-9
60
-32
-134
2
23
-100
-63
12
-50
43
-6
0
-99
-29
4
116
27
7
2
-2
-113
39
-14
13
-9
3
-49
51
71
-54
-23
96
1
-34
34
55
-40
-21
-57
8
20
-56
29
21
-72
-118
11
1
-110
15
-39
53
-26
12
-33
-33
76
-2
-100
-36
10
37
-34
56
-39
7
-71
14
-137
38
10
90
40
10
0
17
-35
36
53
39
55
-17
80
-46
22
5
0
19
15
11
-5
26
-39
2
-2
7
-22
-38
55
30
6
-1
11
26
-19
-31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
21
0
0
-5
52
0
133
-4
0
0
0
57
0
0
0
0
0
0
106
-31
0
0
-2
0
0
40
0
0
0
0
0
0
-50
0
9
9
0
0
-9
4
0
0
-26
0
0
3
-4
0
0
41
5
0
1
-72
0
3
16
0
-1
-1
-18
0
0
57
0
0
0
62
0
0
3
0
-5
0
42
0
0
2
0
56
0
107
0
0
0
0
0
0
-81
42
0
0
0
0
0
10
0
-14
0
0
0
6
3
0
-8
4
0
0
0
-41
0
-7
-2
0
0
0
4
0
0
-19
0
0
0
-54
0
-13
11
0
0
0
-69
0
2
-10
0
0
0
11
0
13
0
0
-4
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
67
-106
0
0
-66
0
0
-15
72
0
-43
-6
32
0
5
89
0
0
0
11
-16
0
-24
52
14
0
3
0
0
-27
0
-1
0
0
0
37
31
45
-4
-4
23
1
82
114
1
-5
93
0
0
-47
-36
7
7
73
109
25
-19
27
-1
6
4
-4
4
-5
-16
0
2
-74
-52
-10
-7
-18
0
-18
-7
0
-2
11
114
-4
0
53
7
-14
-2
12
8
0
0
0
0
0
-81
10
0
0
3
0
1
62
-1
-1
-1
0
12
14
-82
0
-2
-37
-15
0
0
-121
14
68
36
0
-12
25
18
11
0
-7
69
0
0
12
0
-82
-17
-2
0
0
-80
0
0
-4
-8
0
0
19
0
-28
0
-2
-8
0
44
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
-41
56
-41
-12
37
-30
-25
-17
30
-31
16
143
6
-53
98
70
-152
-8
20
17
-9
-20
23
-35
-68
-58
27
45
-18
-61
68
74
-7
6
-34
82
18
-14
35
30
-13
-45
16
20
91
-82
9
-19
3
-5
14
-35
-47
72
-16
-59
-95
16
27
50
98
13
72
-18
18
-25
-23
80
6
14
34
48
-20
42
97
10
16
-3
15
11
10
-27
5
51
39
13
19
-12
46
-20
-39
103
1
-47
4
-23
41
47
-6
20
29
-58
58
24
-52
-43
-8
-80
-14
76
-12
-2
-53
1
136
-66
13
-6
66
31
9
-47
-45
-9
-27
6
7
40
-100
6
64
2
45
73
20
-39
28
15
22
-8
-49
-93
-46
3
54
-3
30
-117
-19
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
33
-22
-36
61
2
-2
43
10
14
-20
79
-46
0
23
14
-1
-21
0
13
-40
0
-17
5
98
-16
-54
-97
4
1
11
-5
-42
4
-26
106
4
-4
1
7
0
4
32
43
2
50
41
-6
10
-17
56
-16
62
35
16
50
-11
2
0
22
20
-22
-3
-20
2
3
19
53
-17
1
6
99
0
89
33
-23
2
-19
62
24
-8
0
-20
-3
-16
-5
0
-5
3
-32
-71
6
12
0
0
-127
-38
1
-29
104
0
4
48
-9
0
68
7
0
2
94
20
-2
37
-3
-9
10
-160
12
-4
44
8
-59
-32
-42
-21
2
-20
136
-4
38
51
20
0
107
4
0
170
6
-24
1
9
-128
24
82
0
44
16
10
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
-17
-101
0
0
-73
0
0
-40
-43
0
-58
86
-24
0
-8
-71
0
0
0
0
0
0
17
39
-40
0
30
0
0
39
3
0
0
1
0
-3
-11
7
-38
16
-6
0
10
-38
-3
0
-6
1
0
26
-58
0
-3
34
2
0
72
-119
9
0
-70
9
0
97
-53
0
-16
-33
-55
0
-14
45
0
0
23
0
0
2
22
0
-3
-41
-16
0
0
-3
0
0
0
-7
0
0
98
-14
0
0
0
0
0
26
0
10
-15
32
0
-6
-22
0
-12
-59
-61
0
-47
-89
0
-88
-55
4
0
47
-33
0
0
26
1
0
-3
-14
0
92
103
0
0
-2
54
12
32
-5
20
0
0
51
0
8
-2
0
0
0
-27
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
0
0
0
0
0
0
0
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
88
-27
12
3
-8
-1
81
45
39
64
45
-63
-38
0
6
-55
-23
23
4
84
-7
5
-89
-36
-77
0
-45
3
-23
66
15
19
29
-5
-25
14
-59
-26
6
27
-28
-3
18
-169
80
35
42
-26
6
11
6
15
66
11
-28
34
25
21
58
-2
9
-23
-285
-2
-34
44
21
-31
0
31
46
-11
-35
-40
-29
5
0
0
-18
-15
-4
-36
2
0
-23
-32
5
-83
51
0
-94
5
110
16
27
3
-36
-101
11
6
-40
9
-43
-39
49
24
-22
-9
-9
-57
-27
49
-8
-15
-34
17
15
19
75
11
-18
30
0
82
-17
-6
6
-14
8
-2
66
29
-1
17
0
-29
-21
-17
15
-1
-23
38
-8
-19
-154
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-8
19
-24
-13
68
-38
-47
64
-25
-76
-73
-76
-19
27
-7
21
-84
-108
-39
21
-24
24
60
-106
12
57
12
-8
-6
12
9
-62
-10
-18
-46
-7
20
-161
-58
-32
21
90
-15
3
-32
-21
39
11
-34
-1
39
16
-28
74
0
13
61
33
8
-63
50
-25
-71
17
0
-53
39
46
23
-6
-27
46
-39
-23
6
-3
-101
-119
-81
-39
-11
-91
51
56
-87
45
15
-49
41
13
-24
11
40
-39
-52
-107
26
-72
31
38
22
17
30
28
91
7
-1
-89
13
12
14
-48
54
-6
8
-41
55
0
38
-14
40
-36
45
-78
-5
70
-10
24
27
17
87
5
-98
-43
35
15
45
58
20
-16
-15
-44
-34
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
-1
0
0
0
-40
0
0
0
0
0
0
30
0
2
0
0
0
0
42
13
0
0
0
0
0
5
0
1
15
0
0
6
16
0
0
-33
0
0
-6
-7
0
0
64
-12
0
-2
-11
0
0
-10
0
0
10
-59
0
0
-20
49
0
25
24
0
0
-4
0
0
0
37
0
0
0
51
-12
0
-51
0
0
0
0
0
0
2
15
0
0
0
0
0
-53
0
0
0
0
0
0
28
0
12
-3
10
0
0
-17
0
42
-16
0
0
0
43
0
-8
0
-19
0
0
3
0
3
0
0
0
0
72
0
0
0
0
0
0
32
0
-2
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
-52
-61
0
-68
11
126
0
0
-76
6
0
21
0
10
1
-29
-4
44
0
0
0
0
22
-1
0
2
0
0
0
62
-16
-13
8
0
0
0
63
0
-19
12
0
0
-18
-25
0
0
69
-6
0
-17
-69
0
8
-182
0
-5
-3
-39
0
1
32
11
19
1
-15
0
0
-26
0
26
0
-48
0
0
-78
-3
-7
0
3
0
0
0
0
0
0
-139
0
0
0
0
0
0
25
0
0
2
0
0
0
97
0
0
-7
-5
0
-12
47
0
-1
-12
0
0
2
48
-1
6
-6
2
0
0
-127
0
5
46
0
0
5
84
0
0
70
34
-50
0
-60
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-3
67
-11
7
87
0
-3
-4
-5
-95
-7
-3
9
-23
-42
-2
-34
-12
18
21
-80
-68
-20
-12
50
107
-1
-95
13
-23
-21
-95
24
11
-33
6
14
131
72
31
34
-99
33
41
-22
-81
84
-1
104
107
63
55
-16
36
28
40
25
-6
67
18
84
18
-12
25
-97
-6
52
70
27
0
-61
-24
8
1
-7
12
32
-15
-1
-42
3
34
-20
-34
-46
-47
11
16
-44
17
-14
-13
-28
4
47
-81
13
86
-13
-5
-105
-33
14
20
-28
7
-80
64
-23
67
-3
37
-68
-26
-17
68
4
22
-59
-29
101
-4
163
-30
27
-20
14
78
26
-36
-57
8
-25
-13
10
-35
-5
67
-15
-81
-77
23
34
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
-119
-40
1
0
28
-86
0
0
0
0
-23
0
-24
3
-3
0
0
0
0
-64
6
0
0
0
0
17
39
-2
-4
-34
0
0
53
-9
0
0
-60
0
0
93
4
0
18
35
-9
0
-15
-70
2
0
-44
0
18
-5
-24
-8
0
47
0
0
-27
44
0
12
-90
0
-15
6
-28
0
0
-2
20
-35
0
-30
4
0
0
0
0
0
-106
9
-1
0
0
0
-15
-47
0
45
7
0
0
3
-41
0
-39
58
0
0
-4
-74
0
-34
36
0
0
8
-20
0
0
110
-3
0
-1
-14
4
-101
27
0
0
0
45
0
0
53
6
6
0
7
0
16
-77
0
-13
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
5
89
0
-135
65
54
0
11
-41
0
0
-7
0
0
0
44
24
8
-4
95
0
-6
-54
-37
0
0
0
0
41
47
0
15
-41
54
0
-17
8
0
0
13
-15
0
-20
5
83
-5
59
-13
0
-73
-17
18
-49
-31
0
0
0
38
-18
0
31
28
-16
58
61
0
0
-8
0
0
0
62
0
0
49
9
0
0
76
22
0
0
1
0
0
-52
1
0
0
-6
0
-3
-109
0
12
-44
0
0
24
46
-2
-6
-9
-27
0
-7
1
0
25
28
2
0
-26
19
0
42
-63
8
0
12
17
0
-137
111
0
0
-10
-11
0
34
13
-10
0
0
19
0
28
-13
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
101
4
5
-14
-16
-65
0
-59
-35
36
0
-157
6
0
-56
21
11
0
-2
-6
7
-7
80
-47
24
4
147
69
42
2
8
25
-25
1
69
63
6
-85
10
61
-80
13
45
-59
109
28
57
-60
-5
6
2
21
7
-18
9
0
3
-12
22
-67
40
7
12
22
0
21
11
-12
90
0
-67
-20
0
0
-14
-17
-3
-55
-145
-6
1
20
0
-37
4
2
-159
-63
-1
-109
64
3
0
-130
4
14
-5
-34
1
-17
-173
79
23
-12
8
-7
-13
-74
79
-16
24
2
22
0
-3
16
-7
-4
3
36
0
-56
7
-25
11
0
-29
0
-14
0
62
42
0
-51
-23
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
86
5
77
26
-31
-11
19
22
3
13
52
-3
-91
-41
-19
13
-28
-84
-17
63
-51
-23
35
-33
-71
12
13
-11
9
-13
-111
-39
48
-82
14
-13
2
13
-43
0
-26
-61
37
-17
78
-35
16
-11
-2
19
-16
-99
7
-37
-9
66
183
0
66
11
34
63
33
187
48
47
-86
61
-39
9
7
2
-20
28
27
-190
-9
-7
31
-1
32
18
57
4
-47
35
24
9
4
42
-36
49
38
-61
16
37
0
54
-33
38
-64
29
17
111
-49
24
29
44
-17
-9
-101
-12
49
2
-53
45
27
144
-11
30
0
-50
-109
63
24
29
69
17
6
109
-68
-9
9
134
19
-6
-59
39
-145
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-142
17
0
0
0
0
0
112
0
0
0
0
0
0
21
0
0
1
0
0
0
44
0
0
32
0
0
0
-15
0
0
51
0
0
2
35
0
0
20
1
0
0
-77
0
0
7
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
13
0
68
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
13
0
0
0
0
-17
0
7
0
0
0
0
-28
0
10
0
0
0
0
40
0
0
-3
-2
0
0
-48
0
1
5
0
0
0
101
0
0
0
0
0
0
69
0
-12
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
48
18
-42
1
-9
-22
-46
29
7
-90
-2
97
-28
-57
144
33
-3
-30
-156
-57
-57
51
-3
3
-58
13
22
27
2
-6
35
13
-14
-19
87
-20
-1
-148
-31
10
32
94
-29
-30
7
18
2
5
119
2
-11
-28
-18
22
60
80
21
31
-11
108
48
5
18
20
5
26
-67
-28
-52
48
-5
12
-9
-1
-59
87
62
-10
13
48
-36
-14
-35
-32
-66
-13
20
33
-118
-100
-21
1
-7
15
22
-5
-61
36
-38
-23
71
-52
-58
-20
-9
-35
-18
-53
-11
-4
43
71
17
26
62
40
62
-11
-21
47
-18
80
-87
-45
-24
-2
-30
10
7
-48
50
-21
20
-21
33
83
14
-69
-54
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
0
3
-7
-69
37
-16
-20
-99
-72
-6
-44
3
4
-20
-45
-22
12
-6
0
21
-3
-45
12
46
-42
-13
58
47
20
29
49
-6
98
-42
30
94
-65
17
-8
-22
-51
3
-3
-73
-41
-1
-107
-67
-39
14
-161
-56
21
13
-7
-12
-15
176
-46
49
37
-77
17
-13
-18
7
18
-4
0
-38
50
16
-1
120
-15
0
-62
-76
-2
-5
-1
-3
80
21
-7
-36
-78
-8
-35
1
-25
-26
-42
59
60
10
52
-1
78
-130
-48
59
-1
-15
-20
-59
6
-54
-27
44
46
-8
0
26
47
-26
15
1
44
-4
-86
-63
32
-154
-11
8
4
45
-71
4
38
0
-25
-52
73
1
-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
-127
28
0
-2
-69
0
-168
0
10
-67
156
0
2
0
0
-16
-115
-13
-6
41
3
39
20
-15
-94
63
-15
0
30
-3
-5
24
33
0
89
2
17
3
80
-19
28
7
52
-1
7
20
24
22
34
10
-9
3
-17
65
-4
61
38
-2
0
-7
-8
-1
13
64
41
0
-1
-47
0
59
0
11
-19
0
0
-38
-41
0
9
-25
0
-5
0
0
-75
-63
0
57
27
0
-13
-49
-4
-2
39
82
0
14
101
51
-6
124
37
0
-4
37
-17
0
121
36
16
58
116
-5
0
112
20
0
-70
32
3
-1
-4
-23
0
21
-23
-17
0
39
-7
0
-16
0
22
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
34
61
28
0
37
0
0
54
10
21
0
0
0
-35
-30
11
8
-50
-50
0
-10
55
0
0
4
0
0
-49
-1
0
5
-70
-65
0
98
-55
0
-11
46
50
0
-10
-46
4
11
-76
-28
0
67
17
0
0
73
0
0
-10
-78
0
0
-37
10
0
0
27
3
0
0
-11
0
3
35
32
0
0
0
0
-8
-44
0
16
-1
0
0
19
17
0
-2
-49
-22
0
-8
50
0
3
24
12
0
14
-22
0
21
-42
20
0
0
14
11
-33
41
0
0
21
-2
8
-27
-26
39
0
12
25
0
37
-8
-11
0
0
-97
-15
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
16
15
-4
6
16
0
0
38
-8
0
0
0
0
17
-58
2
-6
-14
80
55
-57
14
0
2
7
0
-12
-14
40
0
13
3
82
-7
2
58
0
13
2
72
89
-2
69
0
0
69
-59
-39
0
-16
-8
-4
-97
-11
10
0
88
0
0
-1
-26
-20
0
7
41
0
0
13
2
0
3
-2
-13
0
0
0
0
-12
-22
35
-47
0
2
-28
-32
0
3
-110
0
4
24
-2
0
-93
41
0
-23
21
3
0
0
-102
13
5
-8
34
0
74
44
0
-11
0
-39
0
0
-45
7
2
0
39
0
-67
-7
-4
-18
0
-17
66
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
-38
11
47
2
6
16
-11
9
14
-140
-92
39
6
-35
6
66
-40
10
38
-17
41
-53
20
-60
-66
53
20
52
-49
11
-28
-34
67
1
108
30
48
60
-35
46
-4
11
44
5
-6
-62
43
10
2
-66
57
64
-19
94
0
73
-27
27
-5
-26
-2
1
-2
0
-87
-83
-8
-22
45
9
45
12
86
45
34
27
24
25
14
-138
32
7
25
-12
-49
20
-34
54
64
43
17
-41
37
-10
14
39
24
22
-36
36
-8
-31
-48
-4
-2
-69
19
-48
-58
-67
-4
152
31
71
-6
-20
-71
0
9
64
-55
51
122
-17
19
7
18
-56
-34
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
-60
-7
0
0
0
0
0
38
0
0
0
0
0
0
-10
0
0
-16
0
0
10
-43
0
0
5
0
0
-5
-35
-2
0
-50
11
0
0
-11
0
0
-6
0
0
0
115
0
0
-1
33
0
0
87
0
0
-16
0
-6
0
7
0
0
0
2
-3
0
-71
0
0
0
0
49
0
61
0
0
0
0
0
0
8
0
-4
0
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
-1
0
0
54
0
5
-1
0
0
0
-4
0
32
0
0
0
0
57
0
0
-2
-28
0
0
-11
0
4
0
0
0
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
58
-18
0
0
0
0
0
18
0
0
-2
-3
0
-16
-9
0
0
-14
0
0
46
105
4
0
1
-3
0
-38
18
0
0
17
0
40
0
-62
0
0
-9
-2
0
-6
-123
0
0
-6
0
-8
0
-44
0
0
-1
0
-5
0
-21
0
0
0
0
0
0
-25
0
-1
10
0
0
0
22
0
-4
0
0
0
0
66
0
0
-4
0
0
0
100
0
0
-2
0
0
0
8
0
0
-2
-13
2
0
-28
0
3
-1
0
25
0
20
0
-1
0
1
0
0
-17
0
-5
0
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
-7
-7
-13
0
42
-13
0
-41
8
0
0
0
0
-1
-38
113
-22
44
32
18
-6
9
0
1
-34
-1
8
61
41
5
-1
-23
-54
49
-95
-9
-4
0
-15
0
90
0
-81
0
0
-8
92
118
-3
20
0
0
-1
0
20
0
137
0
-14
0
-48
105
0
-70
26
0
0
-26
0
0
-106
0
0
0
0
0
-1
-7
0
-26
-29
0
0
0
-122
0
15
24
0
0
0
23
0
3
28
-1
0
-3
94
0
-3
-5
-55
0
0
-30
0
-6
-3
0
-6
0
-8
0
5
0
-2
-22
0
19
0
45
0
0
-7
0
-52
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-13
0
0
0
0
55
-15
0
0
0
0
0
-83
0
27
18
0
0
19
-6
0
0
8
0
0
-68
-37
0
11
24
-12
0
-22
6
0
0
34
0
2
28
42
0
0
41
27
-6
8
-109
0
0
-8
0
-12
-19
-1
0
0
-45
0
73
0
9
0
0
0
-9
0
0
-33
-14
0
0
0
0
0
63
0
3
0
0
-7
0
44
0
6
-13
0
0
-11
-119
1
11
-11
0
0
0
40
0
35
124
19
73
0
-16
0
-10
16
0
-7
0
-27
0
0
-4
11
0
0
-60
0
-2
0
0
5
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
23
-34
-41
-49
0
-103
0
5
-25
-12
20
0
0
0
-61
78
-36
71
27
1
0
22
13
-1
16
-34
-5
0
63
11
-4
11
-9
-4
0
69
0
-22
-32
24
-9
0
63
-2
0
-24
3
19
0
70
7
0
3
23
-7
0
0
6
55
-10
-122
-55
-1
0
-20
71
-3
0
1
0
0
22
-31
0
18
-6
0
-3
54
6
-20
-35
0
0
38
30
0
51
84
-47
0
-17
38
-27
30
9
-11
0
22
30
1
28
61
12
0
-11
26
-5
11
44
12
0
94
6
6
77
65
-33
0
55
-33
0
33
47
25
0
0
-34
-55
15
24
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-54
0
0
0
0
0
0
-62
0
0
-1
0
0
0
-16
0
0
-2
0
0
0
-7
0
0
4
0
0
0
-78
0
0
11
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
-17
0
-19
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
-16
0
0
0
0
0
0
4
0
-6
-9
0
0
0
3
0
4
0
0
0
0
90
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-71
-87
38
-80
54
-21
-21
-7
9
39
1
53
9
-16
-4
47
2
30
47
-4
-51
-30
17
15
-6
16
1
-13
-18
6
-96
-18
-1
-1
-33
54
27
-84
-6
-48
-2
9
-70
-51
21
-5
-30
4
-80
3
24
26
-9
-13
0
-107
17
-56
-21
-72
99
8
65
85
-57
-1
-51
21
13
77
19
22
147
-45
92
18
94
-24
65
-26
-105
42
16
-15
-15
27
-36
98
12
-13
-43
-67
27
6
-19
22
11
50
-7
19
96
47
38
-7
-84
-90
11
-11
20
-42
-5
-40
4
56
-43
-13
-27
0
-80
-89
-73
-103
-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
6
-18
49
3
15
0
-2
-140
16
32
95
42
-8
-21
41
29
0
0
17
-34
14
0
8
4
-66
-12
36
106
-94
-15
-106
30
-36
22
69
2
-9
-3
7
-41
-110
108
-85
9
0
-28
-9
-8
-51
43
44
32
-9
86
-84
-48
4
-45
0
2
1
-1
21
0
-26
-33
-3
-5
-19
-29
-18
-18
1
61
-58
0
74
-24
2
-16
29
113
8
0
25
7
-18
-68
49
34
-12
17
-74
0
17
93
-26
-50
-55
15
-6
-39
99
21
-20
-12
-18
-17
24
72
22
41
1
-37
1
-48
1
0
-13
0
-34
0
7
-34
-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
-12
5
-29
0
2
0
0
-57
-5
13
-22
33
3
70
-12
-9
0
0
-78
31
-10
-38
-30
-6
43
-31
47
-5
-27
-1
8
-10
-38
52
97
26
-17
0
3
-90
71
-119
57
-61
-5
-21
2
-4
-14
23
107
0
26
-2
16
-22
0
-37
18
-20
20
0
-6
-19
-16
20
0
-4
-12
0
36
99
-1
-35
-65
0
-2
31
21
3
47
-10
54
0
63
-26
0
-47
-8
2
10
30
-46
0
10
39
-28
-1
-4
38
0
29
54
-22
37
-30
-14
0
-23
15
0
92
-14
-123
0
3
-8
-21
51
0
-39
88
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
-1
0
0
1
14
0
17
3
0
0
20
-123
0
0
-1
0
0
17
-6
0
0
-2
-22
0
0
28
0
0
0
0
-6
0
-2
0
0
0
-7
13
0
-73
0
0
0
0
10
0
-11
0
0
0
0
0
0
-17
0
4
6
0
0
0
14
0
0
0
0
0
0
-15
0
0
5
0
0
0
47
0
0
-4
0
0
0
-62
0
-26
0
-12
0
0
-74
0
0
0
-12
0
0
-166
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
11
-34
0
0
0
11
11
61
-33
37
61
7
16
-9
57
0
0
-22
0
-48
67
21
0
2
27
0
-46
-26
-8
-14
1
17
-2
8
16
-89
13
-24
-46
-3
-4
108
-21
0
11
86
0
69
31
58
0
-23
-16
21
-7
0
28
-45
0
0
0
0
0
-27
11
0
0
0
0
-8
-11
27
-32
-33
0
-11
-21
96
-9
-5
38
0
-24
51
-44
0
16
8
35
-27
9
-23
0
-90
11
-9
-49
15
-13
0
-15
-35
0
83
36
-23
0
2
21
0
78
13
-27
0
-52
20
0
20
0
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-181
-26
0
0
0
0
-5
-58
28
1
-134
0
0
4
-51
0
0
-74
0
0
-83
30
0
0
27
-9
0
22
91
0
1
88
0
0
4
-104
0
0
-2
-4
0
0
62
0
0
22
0
0
0
190
8
0
1
-2
0
0
81
-12
0
0
0
0
0
-71
0
0
0
0
0
0
-8
0
1
0
0
0
0
-60
0
0
-18
5
0
10
-4
0
30
38
5
0
0
26
0
-12
45
-2
0
7
-63
0
-52
-8
9
0
0
-61
-4
0
-5
-1
0
0
35
0
-40
0
-1
0
0
-47
-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
43
0
0
1
0
0
3
47
0
0
-47
0
0
0
-22
-1
0
55
2
0
-27
21
0
0
-20
0
0
7
-38
0
0
4
2
0
2
22
0
0
5
0
0
0
12
0
0
0
19
-3
0
63
0
0
0
0
0
0
-2
9
2
0
0
0
0
-17
0
20
0
0
0
0
73
0
0
0
0
0
0
20
0
0
-17
0
0
0
30
0
0
0
3
0
29
131
0
7
0
0
0
0
76
0
0
-1
0
0
0
25
7
0
0
0
0
0
33
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-46
-5
-35
26
-62
-1
72
-8
-6
-17
-19
24
8
-24
-47
35
-66
-3
-10
-1
-40
-25
25
-12
24
-54
14
-87
-3
28
-2
-29
-8
18
51
-38
4
21
24
-17
9
99
71
-4
52
22
-41
11
-24
-30
77
12
-2
-65
0
16
-106
-52
-79
-7
-62
19
8
-50
-31
-15
-17
-42
-14
-47
65
19
-6
-13
-28
17
-80
7
-6
-20
-70
-23
-13
35
28
24
0
-47
25
1
25
60
-35
66
-32
-51
10
-42
-31
-19
24
-16
-16
-1
68
-50
-66
-12
-1
-1
13
-7
-118
-31
-49
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-134
49
26
157
25
1
48
5
69
14
-3
-2
-83
14
10
-22
45
80
-3
-156
-20
33
8
11
7
-5
-55
-23
-9
-1
-39
88
7
-4
-13
0
-17
-42
2
-130
0
-47
0
11
24
41
52
0
3
-13
-21
0
1
0
-18
-34
-2
-16
-19
-9
-2
-3
-57
0
-59
78
10
0
22
18
1
-27
-4
40
0
4
22
0
-21
123
17
-8
-3
-14
6
-90
-64
-7
-1
16
-9
-21
-35
39
0
-3
1
53
10
18
10
95
10
0
-49
0
-4
-7
-5
-41
0
20
12
32
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
164
-15
3
22
50
0
0
1
0
0
29
76
26
1
101
-5
0
-4
81
0
0
44
-2
12
-1
31
55
0
-9
-2
0
0
-114
0
0
-7
0
0
0
12
0
0
0
-26
-8
0
-28
-2
0
0
0
0
0
40
-1
0
26
0
0
0
107
0
29
4
0
0
0
65
-1
0
-4
0
0
0
-50
0
17
-7
-10
0
0
-79
0
0
-19
-49
9
0
-146
0
-12
-6
0
0
0
-22
0
0
0
0
0
0
30
0
9
0
0
-17
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
-32
9
-1
-3
32
1
0
100
-19
2
2
-79
0
0
-69
-43
0
4
23
-7
4
68
11
0
14
3
8
25
-9
74
0
-1
23
14
0
0
36
0
0
14
0
-12
0
-47
0
-2
0
-1
-16
0
-58
0
0
0
0
0
0
5
-7
0
0
-3
0
0
-11
22
-7
9
0
0
4
-86
0
7
-11
-27
0
0
21
3
1
11
0
0
0
19
5
-42
-11
6
0
0
116
0
-9
19
0
0
0
-36
0
-2
-2
0
65
0
66
0
-1
0
0
-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
-24
0
-1
-6
0
0
-17
-154
0
0
44
0
-18
0
58
9
0
4
7
15
-14
-12
0
0
-3
0
35
0
-55
0
0
-8
0
0
29
-23
0
0
0
0
0
0
26
0
0
0
3
-9
0
10
0
0
0
0
8
0
-63
0
0
0
0
0
0
19
0
-1
0
0
1
0
69
0
0
21
0
0
0
-47
0
40
60
0
0
0
78
0
0
-5
6
0
0
49
0
-10
0
0
0
13
7
0
0
-27
0
8
0
-83
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-9
0
0
8
-33
0
0
143
0
0
21
-47
0
0
-7
14
0
154
46
0
0
-10
10
0
0
92
0
0
-19
0
0
-6
-4
0
0
0
0
0
0
-23
0
0
-7
6
0
0
61
0
0
0
0
0
0
-59
-12
0
0
0
0
0
116
0
-3
0
0
0
0
37
0
31
48
0
0
0
86
0
-8
4
0
0
0
74
0
0
3
-14
0
0
69
0
13
9
0
0
0
39
0
0
10
0
0
0
-48
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
14
-17
-10
-15
-86
0
15
-2
14
0
8
-61
41
2
-109
33
-13
27
33
59
-4
27
39
0
-38
-68
26
-19
6
-21
0
-6
-29
-13
-3
28
5
-12
34
79
71
40
0
32
-15
-1
0
0
67
0
-8
-47
-1
0
-23
-4
20
20
0
3
-27
0
0
3
14
8
88
54
-12
0
32
22
15
11
-1
-14
0
-12
6
-15
-68
26
6
-1
-13
23
0
90
-51
0
-9
7
-18
-6
-13
-92
-12
14
0
54
3
-111
-24
0
16
0
43
-15
33
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-65
20
-76
-76
-33
31
-11
72
-1
0
-17
-40
10
-48
-6
-5
18
-7
-1
12
72
-5
-16
25
-45
-35
0
39
15
-30
-2
-27
-98
7
31
82
-72
39
22
49
-22
-14
-20
-23
12
0
55
56
61
-26
39
-14
11
-66
0
32
19
10
-34
-42
19
-31
-107
-31
5
-68
-46
-27
6
67
-43
-3
-84
45
-29
-18
-24
-33
-29
1
-96
54
2
-49
8
-41
1
11
-61
2
89
57
-6
22
-29
-4
18
64
51
26
107
13
-18
2
-37
-56
-37
85
-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
26
66
11
0
-54
5
-3
-20
-38
-2
-176
-22
-3
-4
-117
-42
0
-14
-52
64
31
14
-48
0
42
-75
56
3
-32
-6
0
-14
-49
0
-44
4
12
0
0
-21
3
-19
0
-62
-5
0
0
-37
57
0
-81
-89
-157
0
-2
0
3
108
-19
-83
11
0
0
-31
-4
2
145
-81
-2
0
10
22
0
-103
79
-4
15
-8
22
0
1
2
-12
5
-27
40
0
-33
-8
3
-5
-14
-50
0
0
-23
-15
25
25
-75
0
28
6
6
69
0
46
-19
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
-22
-11
4
-7
61
0
-33
9
5
58
188
92
52
0
16
-7
-7
5
18
53
24
2
1
0
-4
15
15
-29
-17
-62
0
2
-144
22
-140
-4
-18
6
0
39
65
3
0
-3
0
0
0
-21
-3
0
53
-118
-13
0
0
-2
11
77
0
64
37
0
14
-32
-5
19
12
26
172
-10
-1
-19
75
0
32
10
-13
38
13
-35
-86
16
64
-7
2
11
19
-2
-9
-53
31
-2
-57
0
17
-119
18
4
0
-30
0
-65
-2
0
61
0
-15
14
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
13
2
23
31
24
-33
18
-23
134
4
24
22
50
22
29
-54
15
-127
47
-20
18
0
77
-15
17
46
-61
14
-7
1
34
89
78
12
8
-10
-21
9
1
62
0
2
52
16
-2
-49
17
0
-60
-35
14
0
0
-26
-91
84
-25
118
55
58
-4
-23
-23
-8
126
-58
25
16
-7
1
-9
-166
34
110
13
34
-14
-20
-25
96
-151
-130
74
37
14
-14
-82
-52
26
71
1
-2
39
-14
15
17
70
3
-1
41
-88
-13
69
0
18
76
7
-11
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
31
-41
0
8
-30
0
14
48
-84
-4
94
-42
-25
-55
6
-16
-12
8
47
0
80
98
33
-6
23
33
2
74
82
12
0
-15
28
-2
-61
103
-40
0
-4
-13
-4
16
0
42
2
-13
0
0
56
21
-24
-34
-7
-36
0
0
25
-7
-8
-72
-18
0
0
64
38
0
174
71
13
4
28
-33
2
34
51
25
12
-45
-1
2
-40
56
-39
1
-10
28
0
70
92
0
-50
20
45
0
65
152
8
118
2
-17
0
68
-10
0
40
2
20
80
-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
-10
120
0
-7
55
0
0
126
-108
-12
-9
63
-1
0
-74
-81
8
12
-121
3
1
48
-89
0
7
-16
57
0
-5
-58
0
15
-109
0
0
-14
-6
0
5
-8
24
0
0
-1
-19
0
0
-4
0
0
65
17
-4
0
0
0
0
-37
-1
-37
-18
0
0
13
51
0
10
-43
0
0
118
-7
-4
81
113
22
0
-7
31
0
37
34
-57
0
-8
-3
0
-12
-32
-1
0
-3
-28
5
0
62
29
0
0
-42
0
-17
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-161
25
34
-11
48
-6
-54
14
33
-15
15
-6
-16
20
-87
37
-3
-25
12
12
-18
25
24
0
10
9
-40
-69
36
5
-1
39
69
-4
-51
0
37
-47
-18
-2
-1
11
0
-67
-139
-26
11
90
0
-6
7
27
5
64
-12
-3
3
-13
16
92
78
62
-8
-120
11
-57
100
-23
-133
-1
49
-40
12
12
-64
-66
-6
-12
17
-15
-19
29
-3
60
-2
3
-17
-53
30
3
29
0
23
-7
-43
-37
31
-92
0
19
-33
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-7
-53
-17
-22
10
10
35
-28
-2
-59
-37
51
9
97
-15
18
-18
-3
13
28
10
-5
45
-46
-1
37
-17
-24
7
13
29
1
105
20
-74
-9
-34
46
7
92
16
29
93
38
-79
-113
18
11
-49
4
-21
-136
-9
-42
0
23
-14
-22
-21
-19
-84
-8
-50
53
-35
-3
-16
23
2
-26
8
-7
6
-4
-6
16
14
14
59
51
-114
4
14
-20
-103
39
23
6
3
-3
-116
27
-35
-1
0
136
18
-22
30
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
5
-46
0
0
-5
47
0
-10
-1
0
0
0
61
0
4
149
17
0
8
-87
0
0
0
0
-4
0
-5
0
0
0
0
-23
0
13
0
0
0
0
0
0
-26
5
-42
23
0
0
0
178
0
-20
4
0
0
0
32
0
16
-10
0
0
0
-72
0
-1
35
0
0
0
-98
0
3
-5
-1
0
0
-46
0
-5
4
0
0
0
-5
0
0
-2
-10
0
0
-70
0
-6
0
0
2
0
-48
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
83
-2
-1
-15
20
-6
0
-28
2
-3
-13
42
0
0
-62
40
0
-4
40
0
-8
1
0
1
0
41
0
0
0
-20
36
0
-15
0
0
0
0
0
0
54
17
0
0
0
0
0
40
-1
87
-4
0
22
2
36
0
0
-60
0
2
-3
43
0
35
-28
-8
0
8
48
0
0
26
-23
0
1
-85
-2
-1
62
0
0
0
16
0
1
-16
0
0
6
42
-13
-17
0
0
4
0
-111
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
-45
22
7
-8
-39
14
-18
38
-6
-82
-90
-38
38
-23
128
32
17
-83
38
42
1
-19
52
-32
-39
33
-12
-10
29
11
17
-19
4
45
-41
-36
11
-4
-31
-20
-23
-81
-64
-24
42
-55
-25
22
-10
22
-121
-14
-153
10
19
17
114
29
43
14
-17
-10
49
-39
-19
90
88
-49
-1
-49
-30
-57
60
-65
-129
4
8
-57
24
-57
-68
221
35
100
-120
13
-25
2
1
-2
-1
16
91
-28
-3
-1
61
-11
-53
-19
56
-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
47
-5
0
0
115
-21
0
144
-103
0
11
-56
0
-19
-14
-28
-1
2
103
7
13
0
-49
1
-14
-14
0
6
0
-109
0
0
-38
0
-16
0
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
126
-1
-5
-9
0
0
-9
55
0
-12
-16
0
0
0
-47
0
-87
6
0
0
0
-52
0
-1
36
-1
-2
0
-104
0
62
-35
0
0
-5
-70
0
0
0
0
29
0
3
0
-7
0
0
-33
0
-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
44
-32
0
28
-17
0
0
-19
-37
0
0
-3
0
0
-38
-120
0
0
-53
-4
0
7
-73
0
4
3
0
0
26
-134
0
-6
47
24
0
0
46
4
0
0
0
0
0
-50
10
0
0
0
0
-10
-17
0
-39
-15
-1
0
-29
59
0
6
136
23
0
5
3
0
99
-27
0
0
16
16
0
-6
20
21
0
2
-25
0
-13
-27
5
0
-11
-15
0
0
-5
-19
0
0
-72
0
140
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
81
4
-39
-154
28
-13
3
93
-45
12
-46
-17
-15
-9
61
-9
55
25
-54
47
4
-10
-23
17
45
0
29
-76
19
-2
12
39
-13
-30
-19
16
63
-57
0
19
-4
0
-37
99
-3
44
70
43
34
6
35
-93
27
82
0
61
15
62
35
0
-20
-6
19
50
-41
22
6
-8
-6
-11
39
17
112
-4
-69
-41
68
-37
-22
55
37
0
39
4
-22
15
11
32
0
42
37
-26
8
22
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
-29
14
58
19
-14
7
-81
-26
12
22
26
16
-21
-6
16
18
-19
-93
55
-58
6
47
2
-124
-24
24
28
-10
32
15
-38
-53
81
-20
-42
1
25
-24
39
15
-22
-118
72
3
87
-4
31
147
-44
70
18
24
8
5
20
82
-19
0
-36
-45
-15
51
-4
-40
-8
-28
-5
-46
38
92
51
8
-125
-21
13
-37
3
65
25
-20
37
5
0
1
35
2
7
-5
32
7
62
-32
8
-58
13
10
-44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
6
29
10
0
28
48
0
0
-5
-72
1
-7
-3
0
1
68
-5
-4
-7
-22
0
15
20
-74
-59
0
-3
0
0
0
3
0
0
-33
-10
3
6
0
0
0
55
3
-111
14
1
0
-2
-20
0
14
45
0
0
18
9
0
17
102
-17
0
-4
26
0
2
25
-6
0
-7
7
0
-39
1
4
-5
-16
48
0
0
-3
-3
0
0
55
0
6
0
-11
-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
30
-64
-25
-16
-67
3
-21
36
-53
0
0
-54
22
-12
29
7
0
4
19
22
-36
-17
32
6
0
16
-10
-12
0
12
0
0
0
0
73
0
-84
-12
4
0
10
0
7
-34
18
11
33
0
37
32
-3
-5
35
114
48
32
18
23
-2
35
6
2
-5
-1
-25
-3
5
55
10
4
72
-21
20
-31
-12
-18
26
-14
-93
-9
0
-62
5
45
4
21
0
147
0
2
-23
0
-86
-32
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-26
-16
21
-1
34
38
8
32
14
-3
4
-3
-7
32
72
40
7
-32
58
-9
-12
-49
4
2
-26
38
1
10
103
56
-111
-62
-74
25
12
-68
44
-145
-11
-17
20
15
-81
34
23
91
39
15
25
-116
-34
22
-16
-39
-23
-16
-71
-3
28
54
102
-31
-13
-8
24
-24
-32
-57
81
-2
46
-13
33
154
63
-9
9
91
17
14
-37
37
5
6
-56
-5
21
94
12
-5
-1
-105
-58
-71
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
47
-25
-2
-61
-34
16
3
14
-31
38
-51
-12
-98
2
13
-14
0
47
42
21
-29
104
-25
0
77
-17
-11
-14
0
15
-64
16
-1
7
1
0
-16
-76
-9
3
0
-1
-7
15
-37
100
106
26
-34
-14
-7
0
-72
-18
41
-10
-30
-3
0
-77
-20
34
3
92
-1
-7
-37
-56
39
4
-48
-5
0
51
29
-6
12
-23
-22
0
25
61
65
13
12
-2
0
89
-99
0
-46
-8
19
-63
-4
95
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
10
3
0
-24
21
0
0
135
-2
0
-1
-14
0
0
5
0
0
0
13
0
8
-49
-38
0
0
25
0
0
0
1
0
0
-41
27
0
0
3
0
2
56
0
33
-8
0
0
26
87
0
41
81
92
0
12
73
0
-9
41
0
0
42
-42
0
0
83
15
0
21
-35
0
-123
-67
0
0
-42
-6
0
0
119
0
0
0
4
0
91
-4
0
0
0
3
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
-57
32
-4
-5
38
31
-86
-42
17
-41
9
-6
-90
52
37
61
-5
-51
-53
-96
42
0
14
66
-4
10
-22
-2
3
-33
29
-69
-71
-11
4
5
-25
-64
-59
2
-7
-2
-54
-1
2
14
-50
-49
-23
3
-14
6
-16
19
-15
66
7
29
-38
-31
-20
2
-51
20
18
12
-36
-5
-48
84
-91
20
-7
-81
57
23
59
-44
34
6
6
36
2
62
0
-11
-122
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-27
-16
-3
-7
-11
16
118
19
44
52
-35
95
25
-24
-30
73
-7
-37
68
22
28
-20
-37
22
-69
123
6
20
-8
19
-96
-73
16
15
-1
12
62
-141
-84
-7
30
42
-35
10
-12
124
-63
7
-83
0
8
-65
82
15
0
99
28
-9
88
122
21
2
-39
-57
-26
-14
-6
71
13
4
64
8
-2
-27
-6
7
-154
-7
69
19
-17
3
27
7
-34
69
47
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
-23
45
0
0
42
4
0
2
24
0
0
2
-10
-2
0
58
0
0
-12
-39
11
0
19
0
0
-3
4
0
-1
8
-25
9
0
6
0
7
2
0
135
15
0
0
7
-1
0
-13
28
3
0
1
128
0
-34
-43
0
0
5
16
0
-35
-2
-40
0
0
-9
0
-14
22
0
0
28
36
0
0
-6
4
0
0
35
0
94
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-111
-18
26
-4
-40
-33
-32
8
0
-2
-107
-10
53
0
33
0
0
-4
-1
0
0
26
0
0
0
2
2
0
-7
10
0
0
0
0
40
5
0
31
-38
0
0
14
-27
0
0
2
34
-6
6
-36
0
21
-23
-6
0
-6
4
-20
-3
66
41
0
22
-16
-6
-70
153
-32
0
0
-104
0
0
-74
17
5
0
-1
-2
8
25
14
-10
0
116
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-55
-21
45
47
-22
11
17
1
60
-18
91
45
-4
39
-20
-9
-20
-15
49
-5
13
-6
-2
-1
16
-63
-21
-26
-75
66
85
-139
-83
-55
-13
17
17
3
5
-82
-82
-2
-44
5
-13
-20
-6
13
1
89
-32
-36
-34
-53
-4
-21
57
-59
-8
-32
-18
-19
27
-44
-18
18
-6
1
-2
-8
25
74
59
36
-26
40
19
-24
19
-15
-31
27
45
16
29
99
13
42
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
18
-1
-8
-12
-35
0
0
-27
0
-37
5
-51
0
0
51
0
144
0
-94
13
0
0
-6
29
0
-77
-5
3
0
0
0
-13
9
0
5
1
0
0
-29
-9
0
70
95
0
0
-3
-36
-25
-18
-77
1
-6
-10
108
0
7
-162
-16
3
2
-85
0
-154
-18
0
-4
0
-14
0
-7
-54
0
51
0
-18
-4
36
-28
0
34
7
-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
48
-41
0
-2
2
42
0
-36
-40
0
-7
35
0
0
6
-2
0
0
-36
74
0
0
4
-14
0
0
0
0
0
47
-5
0
0
0
0
-39
-32
0
-60
-98
8
0
5
-27
0
11
104
45
0
21
-60
-3
102
22
0
0
-7
19
-2
-54
-15
-14
0
28
-45
-4
-25
21
0
0
32
2
0
-11
105
29
0
0
2
0
58
-8
0
0
0
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
12
61
21
-28
-6
0
-25
-12
5
35
4
-3
17
0
34
33
10
0
-85
-20
0
-9
3
0
0
28
-15
15
46
0
2
5
60
0
5
-36
81
0
38
-74
1
7
-77
-17
0
7
13
-4
-2
19
29
5
-12
40
-10
46
10
-16
35
47
36
0
-7
-127
5
71
-13
47
0
71
8
-8
-9
8
-11
-79
25
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
9
-14
-50
-29
30
-16
33
71
6
-43
-58
23
-23
-15
30
16
-14
-19
46
21
-64
-85
14
-17
1
-33
-6
-45
-37
16
-21
-34
11
-35
-148
16
18
13
48
-4
40
-163
25
27
-33
-16
3
-17
-40
70
5
73
-56
-5
28
-52
19
0
-49
30
10
-2
57
-56
7
12
12
23
34
30
64
12
33
-42
104
-7
5
23
26
-1
-82
-30
-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
21
8
0
0
-10
-3
3
-1
49
0
0
-5
19
-3
0
-15
0
0
0
0
0
0
-78
6
0
0
0
10
0
-17
0
0
-2
8
0
3
-40
0
32
-13
0
10
-19
-101
0
15
-13
-14
-11
0
54
0
0
17
0
0
0
-47
0
-54
0
0
2
0
-88
0
0
4
-1
0
0
72
0
29
3
6
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
-3
0
51
0
0
16
-7
-15
0
-41
0
0
0
-1
-6
0
46
-34
0
-4
0
0
0
10
0
78
-23
0
25
5
-61
0
0
132
58
-3
2
26
0
-52
-106
1
0
6
6
1
-4
-124
41
-6
13
42
0
45
-33
1
0
-5
-69
0
0
-54
17
-11
0
-94
0
105
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-1
-101
27
38
24
98
-19
-16
44
-57
-9
47
-1
14
32
-30
17
-35
5
-12
-6
48
56
-65
-58
8
35
9
-15
10
39
10
-16
-31
12
-10
-1
-27
-41
-31
-28
24
24
-27
-21
-45
11
-44
-13
138
-33
-67
102
117
-89
3
25
37
40
-18
9
26
-9
-4
-99
-37
87
31
39
16
-3
-87
124
32
22
0
-5
-9
73
3
-38
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
19
-3
68
0
-43
-34
7
78
-15
-62
18
-42
0
-75
-162
61
0
0
110
0
-12
-69
-1
8
0
0
0
-45
0
-65
68
1
-3
75
-17
26
-10
127
118
3
-9
14
-7
95
85
11
32
-13
-9
10
-94
10
-46
-16
73
-13
-13
-9
138
2
71
-37
15
-65
35
-4
23
-48
0
-6
-3
55
21
-16
-67
0
-78
-89
-6
-27
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
195
-35
0
0
-138
45
0
-3
-27
0
-21
-135
81
0
0
10
0
16
0
-11
0
0
-11
-5
0
0
0
0
-12
72
0
-37
61
0
0
58
21
0
-8
-84
-65
0
11
-51
0
-7
115
4
0
-24
33
2
-2
5
52
0
34
-30
0
19
-40
-9
0
-32
-15
0
0
51
50
0
0
-9
0
-31
6
-16
0
0
-42
21
-22
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
63
-11
-1
-99
59
16
0
-42
38
0
0
1
0
0
-61
-24
-9
21
15
0
2
6
8
-25
1
13
5
-3
-55
0
-45
26
44
-19
83
22
-17
-72
24
-9
0
-14
-13
-9
-63
-47
-45
0
7
-24
-9
8
123
41
8
-19
55
0
23
35
57
0
0
-14
0
-54
-3
-20
-21
0
-29
160
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
96
-71
55
2
-24
45
20
-43
77
-33
-90
-11
-13
10
26
-71
-10
-49
11
62
-2
-49
16
31
-35
-7
8
17
113
31
45
35
-1
-79
19
-27
1
11
-32
-11
-25
36
-96
47
-2
-35
-9
44
-7
24
24
23
61
12
68
0
102
-47
94
11
70
39
-11
8
-9
15
72
48
-142
23
17
40
61
-77
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
16
0
0
0
-2
-18
0
-111
0
0
0
-6
0
0
-28
0
0
0
0
0
0
-53
0
42
0
0
0
0
-68
0
0
0
0
0
0
-26
0
0
0
0
0
4
4
0
0
0
0
0
0
54
0
12
12
0
0
0
-35
0
0
0
0
0
0
4
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
2
-41
0
-71
1
0
0
0
0
0
-70
0
0
2
-10
0
0
46
0
13
4
12
0
0
19
0
0
-52
0
0
0
-3
0
8
9
11
0
5
47
0
1
-8
7
0
0
10
0
-7
-24
-1
0
0
59
0
-4
-16
-5
0
0
-75
0
5
0
18
69
0
43
-10
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
-40
23
89
-1
-2
-63
-48
-2
3
-60
-33
-6
-39
-165
-13
12
24
0
-11
-25
-11
-15
60
-17
-1
-30
3
-23
134
-76
45
7
-36
21
-18
-83
-172
-78
-13
-67
25
-29
-37
0
-15
34
-154
-1
-12
12
13
27
-3
-60
43
0
-41
31
100
-4
-6
-10
-2
-18
-3
-10
-23
0
-90
33
4
-17
39
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
1
-54
0
40
0
0
0
0
0
0
-30
-11
0
0
0
0
0
-21
0
-4
-5
0
0
8
-55
0
0
18
0
0
29
44
0
20
-55
0
0
29
-13
0
20
88
4
0
0
-86
0
43
8
0
0
1
-1
0
-1
70
0
0
0
17
0
26
-8
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
1
-4
-14
11
-10
48
0
0
6
-25
-2
0
100
0
0
21
75
-6
46
13
0
1
-23
2
-1
20
0
6
11
20
0
-61
111
53
0
-60
4
0
-35
22
12
0
-30
49
0
-35
82
46
0
-9
32
0
-75
5
28
0
-25
5
0
24
64
15
1
-7
-42
-2
64
-40
0
0
0
-8
84
0
-34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
-84
6
0
4
0
0
0
-74
-1
-31
0
-1
0
3
-66
0
-64
-53
-22
0
-9
17
0
106
32
0
0
-42
21
0
-17
107
-15
0
0
33
0
-92
115
-27
-1
0
-3
0
-3
-108
-31
0
-2
-29
0
110
0
0
0
0
-86
-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
0
0
0
0
0
0
0
0
0
0
0
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
-24
-41
-44
-82
-43
-60
46
-40
10
44
18
-16
26
38
86
-13
18
100
12
-4
19
18
45
-18
17
-40
21
22
-35
-34
53
9
63
41
21
58
84
3
-10
15
-70
11
-53
-39
-16
-20
-63
20
2
79
-9
52
-98
-18
-41
0
35
34
11
-77
26
-2
25
-125
-22
6
-113
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-1
0
0
0
0
-2
0
2
0
0
0
5
-7
0
55
0
0
0
0
-62
0
0
6
0
0
0
-108
0
-1
0
-6
0
1
-20
0
0
0
-14
0
0
-17
0
0
57
0
0
0
9
0
0
4
23
0
0
-29
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
1
0
0
-9
0
0
-17
-9
0
0
0
0
0
-1
26
0
13
30
0
0
34
31
0
0
-52
-3
0
-24
-19
0
-1
-3
0
0
11
43
0
28
36
8
0
0
-21
0
60
82
0
0
2
-35
0
0
-6
-15
-24
0
-28
0
52
10
0
2
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
-53
-10
0
-3
31
98
-1
-11
0
-11
-107
-5
-26
35
0
-7
-54
-54
0
-83
-12
-53
0
-64
-2
-3
-20
-97
-19
0
10
-39
-12
37
-39
-64
0
-8
27
-19
-97
-94
0
23
-17
-19
-10
-16
-53
-8
-120
0
-72
-29
32
0
0
2
0
-90
117
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
12
0
64
3
0
-27
0
0
-1
106
-7
-187
5
0
6
14
-8
0
-36
-43
0
0
-31
-4
-7
101
-44
-7
-4
-90
21
11
-26
97
-25
-10
107
53
-9
6
79
0
57
-23
58
7
24
147
-7
9
0
-50
0
-85
-3
0
-7
0
-7
-18
-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
21
-2
13
3
26
0
0
11
-30
-2
18
74
0
-32
10
0
-32
-23
-6
0
-6
32
-18
-51
69
-16
0
114
15
-12
-2
38
-73
0
62
47
7
18
55
-56
0
-18
21
3
14
7
-26
0
38
16
-45
61
93
-57
1
-63
-42
32
27
-11
-29
0
0
-5
-29
36
-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
-26
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
16
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
116
0
2
-1
0
0
0
-3
0
0
0
-8
0
0
-58
0
-8
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
-43
17
51
101
43
-72
-74
-41
4
-22
17
12
43
-39
18
17
16
-22
22
-21
-111
50
20
-61
-1
31
-18
23
32
9
11
-33
12
34
-24
9
2
55
-27
4
37
64
26
5
34
-77
-32
-37
-8
55
15
-126
-11
59
-89
-10
2
0
-116
3
19
-104
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
9
0
0
0
0
0
0
87
0
37
5
0
0
0
4
0
-2
-8
0
0
58
-76
-4
-10
-11
0
0
28
-39
0
0
26
50
0
0
16
0
134
-6
0
0
4
-62
0
-15
-25
-11
-1
0
-74
0
-162
-10
0
-21
0
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
52
-8
0
0
0
-41
0
0
-9
0
0
-3
-37
0
0
22
0
0
0
32
0
1
16
0
0
0
-34
0
-12
2
0
0
0
-40
0
0
0
0
0
0
-8
0
12
0
0
0
0
124
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
6
2
0
0
3
0
0
0
-115
0
0
0
0
0
0
95
0
0
0
0
0
0
26
0
-2
0
0
10
0
-18
0
0
0
-15
-11
0
-149
0
1
0
0
1
0
-45
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
-47
0
-86
11
0
0
6
-61
0
-10
-7
0
0
0
-14
26
-20
67
10
0
2
-7
0
6
-1
-13
3
0
-57
27
56
-7
0
0
0
-70
0
0
-9
2
-36
0
-76
0
-30
2
0
24
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-12
0
-23
16
0
0
0
21
0
45
48
0
0
3
91
-4
8
-35
-4
0
13
36
0
0
12
-13
0
0
-19
14
3
13
0
0
0
26
0
0
40
4
0
0
2
-1
100
0
0
0
0
29
-16
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
17
0
0
0
0
-25
0
0
0
0
0
1
-36
0
0
0
0
0
0
-45
0
-2
4
0
0
0
92
0
0
0
0
0
0
-87
0
4
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-75
-10
-65
-21
51
-25
-24
128
102
65
33
-138
-60
15
-89
-37
3
-135
23
-27
-19
22
-8
9
11
-82
-90
0
17
53
-80
-34
-41
-77
5
-10
-56
-61
33
-2
-28
13
-12
-91
-122
33
-2
-7
24
-24
21
104
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
1
-18
-1
8
21
-4
-29
50
-73
-71
0
-11
27
-12
19
23
8
1
-15
-72
5
12
63
21
0
-44
-10
20
-148
-7
0
-12
3
-108
-9
-4
-43
-56
-13
0
-18
2
120
45
0
-1
0
-63
39
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
20
0
0
0
-22
145
-3
68
-5
0
0
6
-30
0
34
0
0
0
18
-71
0
0
39
4
0
0
72
0
32
-9
0
0
0
-122
0
0
-3
0
19
0
26
0
-15
13
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
26
0
0
0
10
0
40
-1
2
0
0
94
0
8
18
0
0
0
107
-3
-6
-3
-2
0
0
-35
0
9
0
0
1
0
-129
0
-4
-38
-2
6
0
37
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-17
-7
0
0
0
-64
0
0
23
0
0
-20
104
7
-21
5
0
0
0
-47
-6
-18
82
1
0
0
40
0
74
-16
0
0
0
22
0
0
-23
0
0
0
-3
0
-2
0
0
0
0
177
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
15
0
0
-10
0
-4
13
0
0
0
-2
0
0
-3
0
0
0
-12
0
-5
-2
0
0
0
-11
0
0
16
0
0
0
25
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
7
-2
-23
0
-1
28
11
74
-33
-3
0
-7
-167
-9
0
18
40
0
-8
58
0
-1
20
0
0
0
30
0
5
3
0
-23
0
0
0
16
0
0
0
0
-80
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
46
26
-66
12
-4
-51
-11
-18
-15
28
-66
89
-33
12
4
-74
0
-27
-58
-3
-10
-14
9
-53
-84
-34
34
-17
7
-51
-51
-77
-57
1
10
-8
27
-14
46
-84
-16
-3
-77
27
4
-39
-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
15
-2
0
-20
-5
0
0
0
69
0
-25
6
0
0
1
-20
0
1
-19
0
0
-3
10
0
-5
0
0
0
0
-13
0
0
5
0
0
0
-28
0
-16
0
0
0
0
-18
-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
87
4
34
1
70
-101
-40
-25
-32
-19
-13
-62
-46
133
-142
6
-10
10
-53
48
-36
-5
2
-2
-26
-69
-12
6
38
-17
1
-16
36
-115
47
4
20
-2
51
-27
-12
5
0
-105
-22
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-51
-67
-70
-27
-61
5
11
103
-24
-25
44
14
-27
2
-45
-52
88
95
-19
40
0
-157
29
0
10
9
22
0
19
-12
48
11
4
27
0
42
47
0
-25
0
110
22
31
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
9
87
0
0
1
0
0
-1
-49
0
1
5
0
0
0
59
0
0
3
0
0
0
-56
0
17
-23
0
0
0
-30
0
0
-4
0
0
0
-44
0
10
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
11
-96
0
-58
-6
0
0
0
-69
0
0
-3
0
0
-7
-141
0
10
-2
0
0
0
-29
0
3
5
-2
0
0
-33
0
41
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
-25
27
13
-34
-34
3
-5
0
-41
0
-89
-50
-78
2
14
-46
-12
113
47
12
0
-6
14
0
-4
-56
-24
2
0
16
0
11
-19
0
-3
0
50
-39
-24
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
-21
-12
42
12
29
45
-144
51
4
-164
-76
22
14
16
-51
4
-16
5
30
61
-143
-17
-2
-19
32
3
88
-57
51
9
46
29
21
-100
27
-6
-8
32
-77
-129
-142
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
21
0
0
0
-40
0
0
0
1
0
0
72
0
-2
0
0
0
0
-45
0
0
-2
0
1
0
39
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-13
-154
-25
7
-2
-51
-23
1
0
16
50
35
-22
-11
0
-43
-96
5
-13
-1
-38
0
0
44
-58
-80
0
52
-12
-106
-9
12
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
16
-106
39
-67
23
-157
-25
0
-15
-2
101
-143
-48
-3
-3
-108
-6
33
-25
4
24
0
4
6
-27
40
0
8
5
2
37
0
-23
0
43
-27
-33
0
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-52
0
-35
-33
-1
0
-107
-21
0
-22
-81
1
15
-22
56
0
-18
-56
-13
-26
0
72
0
2
-78
0
-6
3
-2
0
-107
1
0
-18
0
51
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-17
0
0
-10
-81
0
0
-10
4
0
-6
0
0
-3
-11
0
0
0
-25
0
-2
20
0
0
0
-8
0
13
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
-8
-2
0
-46
12
16
6
1
-19
0
175
-95
-21
0
12
-30
8
-8
-13
-31
1
0
26
0
31
10
-3
-19
0
86
6
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-61
28
-26
17
50
37
18
3
11
42
-74
-38
-31
8
70
-87
-13
41
24
-3
20
55
32
-146
35
8
19
11
-25
-67
28
-88
-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
-30
0
-5
-8
-11
0
0
-14
0
9
-5
0
0
0
-8
0
0
5
-7
3
0
-9
0
-46
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
66
87
4
-7
-8
-19
-4
157
83
-8
0
-55
5
15
-9
-59
-36
-79
-1
9
0
-170
-59
-11
-6
0
-36
-30
-6
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-51
-119
98
-5
64
-19
28
3
-24
19
-28
33
-40
6
0
7
-154
-1
-67
24
24
20
-11
-68
20
6
0
-8
75
-4
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-15
-32
9
0
-2
-32
0
50
73
0
0
0
-52
0
0
-10
0
0
0
-8
0
-22
3
0
20
0
66
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
24
0
-7
-6
-3
0
0
-36
0
45
0
0
0
0
-7
0
0
11
0
0
0
-67
0
34
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-24
17
-29
12
-19
-33
0
0
-13
-91
-32
0
10
0
-121
11
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
59
-42
21
26
-11
1
-1
-28
-126
4
-9
52
7
17
-29
-39
24
30
19
1
-9
-6
-126
-18
66
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
0
0
0
0
-19
0
0
43
2
0
0
41
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-12
-79
14
16
0
48
-53
0
9
-49
-28
-32
0
-23
0
143
-7
0
143
0
-93
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
78
194
-47
55
-82
-17
0
-8
-203
17
-32
19
0
0
-114
12
0
-68
0
-18
59
9
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-14
119
-29
-52
18
-76
0
-4
54
-8
60
0
0
3
91
-10
0
17
0
60
-35
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
-12
1
0
-2
-73
0
0
-50
18
0
0
-12
0
4
0
4
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
26
-15
-15
78
4
0
-28
0
18
0
0
-65
0
-36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
56
-65
0
46
40
-7
5
0
-5
-36
83
49
-14
2
-6
-76
-194
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
55
0
0
1
0
0
0
22
0
4
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-1
-12
24
-1
-47
5
63
-27
8
106
67
-81
3
41
-55
58
-41
-10
93
-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
12
8
0
4
38
29
48
-10
-35
0
26
-19
-1
-15
0
-30
-11
16
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
18
-33
0
0
-88
0
7
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-25
1
0
0
-36
0
118
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
0
12
18
0
27
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
12
12
42
14
82
-24
19
-86
105
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
38
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
2
66
0
-89
4
40
47
0
41
-29
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
-16
0
12
-7
-50
3
0
-59
27
-57
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
-30
0
33
20
0
51
0
-59
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
5
1
0
0
22
15
-55
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
-30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-93
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-6
62
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-49
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
16
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
20
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
0
0
0
0
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
42
0
0
4
0
0
0
4
0
0
0
13
0
0
0
0
0
37
0
0
0
0
0
0
-14
0
0
0
0
12
0
0
0
-16
-3
0
47
0
0
0
-19
0
0
0
0
0
0
0
0
0
-14
-4
0
0
0
0
13
10
0
0
0
-2
0
19
17
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
2
0
0
0
-2
0
0
11
-8
0
0
0
-7
-93
0
0
0
0
0
92
-29
0
13
52
-7
0
-119
-6
0
0
59
0
0
14
-59
0
0
36
-5
0
0
77
0
0
-3
0
0
10
-8
0
-89
-11
0
0
0
45
0
0
0
0
0
0
37
0
0
0
0
0
0
0
-8
0
6
0
0
0
3
5
0
6
-11
0
0
39
0
0
-19
0
0
0
-69
0
0
6
0
0
-16
82
0
0
-12
0
0
0
-8
0
6
-10
-21
0
0
17
0
0
0
0
0
0
22
0
0
0
5
0
0
-36
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
33
0
0
0
0
-7
0
0
0
0
0
0
16
0
-8
1
0
0
4
9
0
0
17
0
0
0
5
0
-8
0
0
0
0
-21
0
0
0
0
0
0
-15
0
2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-101
-75
-21
2
-59
-85
22
-166
-110
-25
-10
-2
1
17
2
-66
0
-32
-19
-4
-89
-17
19
-2
-12
-3
50
8
-4
29
21
-104
17
-14
-13
-15
38
8
-8
-9
54
-41
2
-32
-52
-2
30
-72
21
40
-29
-1
-27
-44
-25
-38
-16
18
-37
-53
-97
7
-86
-7
13
-48
-34
3
2
-4
4
-40
-62
-13
-4
-31
-18
0
0
0
0
0
0
0
3
-39
-17
47
72
-26
2
-1
32
7
-33
1
-11
5
5
-14
-89
63
-4
11
-1
-12
34
-28
-17
4
-1
1
-44
-20
5
-58
-26
-19
1
-85
2
-12
12
16
74
-47
1
1
-20
-129
-16
-34
54
0
0
-8
-8
3
-12
-65
3
1
-47
-21
19
-27
26
15
9
-90
-39
12
-25
-26
26
-1
-50
-10
-4
7
-23
23
0
-3
5
5
1
9
-27
-2
7
-30
-27
24
-23
12
2
44
28
23
4
-61
4
0
-67
-68
-72
-75
-44
-4
-5
52
-4
-42
12
14
-36
6
61
-30
10
15
-4
-56
0
-44
-3
-2
34
54
4
-15
-22
81
21
67
-12
-21
0
29
-38
21
10
-95
-4
-2
21
36
-15
30
-1
-43
-3
-23
-64
-30
-12
13
31
2
-51
-12
153
3
-20
41
28
-37
-34
-23
5
69
-3
-5
-64
-17
21
-11
24
22
11
10
-18
24
-21
20
60
11
40
-16
-33
-51
-55
77
-22
-49
-33
29
20
2
-1
-2
14
-15
-51
53
-23
-3
1
38
-86
-17
2
12
-78
4
-4
8
-38
28
5
17
-7
6
-29
-39
5
-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
-1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
6
0
0
0
2
0
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-1
0
0
0
0
14
0
0
0
-112
0
0
-5
0
0
-41
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
25
0
0
0
0
6
0
0
0
0
0
0
0
0
65
2
0
0
0
0
0
3
0
0
0
-4
0
0
8
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
-4
92
0
0
0
0
0
22
-27
0
-108
0
0
0
-113
2
0
0
0
0
0
0
33
0
0
-6
0
0
-4
-54
0
0
-12
0
0
0
-4
0
-42
0
1
0
0
-11
0
0
0
0
0
0
-6
-5
44
0
0
0
0
-2
0
0
0
0
0
0
72
0
0
-3
0
0
-1
-33
0
0
0
0
0
0
100
0
0
1
0
0
-2
-15
0
-1
62
0
0
0
-21
0
0
0
0
0
0
-10
0
0
2
0
0
0
-10
0
0
0
0
33
0
156
0
0
0
0
0
0
7
0
0
0
0
0
0
-55
0
0
0
0
0
0
28
0
0
-16
0
0
0
1
0
0
-6
0
0
0
-4
0
0
18
0
0
0
53
0
5
0
0
0
0
130
0
0
0
0
0
0
-61
0
-4
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
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-34
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
0
0
0
0
0
0
8
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
5
0
0
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
-12
3
0
0
0
0
0
0
29
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
37
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
-6
0
0
0
-5
0
0
-4
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
65
0
0
0
0
0
-107
0
0
0
0
0
0
31
0
0
0
0
-4
8
0
0
20
0
0
70
6
-4
0
0
0
0
0
0
0
0
0
0
0
-54
-5
0
8
-9
0
0
9
17
0
0
5
17
0
-34
-6
0
0
-15
0
0
0
0
0
0
0
43
0
0
0
24
0
0
0
0
0
39
-32
-7
0
0
0
21
-17
6
0
16
0
0
105
-38
-6
-51
32
0
0
36
67
0
0
79
0
0
-8
24
0
0
3
-16
0
11
42
0
0
28
0
0
-4
4
0
-90
0
0
0
0
-67
0
0
3
0
0
0
78
-2
0
0
-1
0
0
179
17
0
0
0
0
0
-5
0
0
-25
0
0
17
82
0
0
-3
0
0
-6
-46
0
-18
6
0
0
-5
74
0
0
-25
0
0
-3
-9
0
0
39
-34
0
0
35
0
0
24
0
0
0
-13
6
22
0
0
0
0
-55
0
0
0
0
0
0
79
-33
0
0
0
0
0
54
0
14
0
0
0
0
-7
0
0
0
-5
0
0
-16
0
0
0
0
0
0
6
0
0
-16
0
0
0
31
0
5
-2
0
0
0
-28
0
0
6
0
0
0
63
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
-13
0
0
3
0
0
29
0
0
1
0
0
0
3
9
0
1
0
0
0
18
0
0
0
0
0
0
-5
23
0
0
-3
0
0
0
0
0
16
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
5
0
10
0
-25
0
0
17
0
0
0
27
0
0
0
0
0
0
0
0
0
-35
-1
0
2
50
0
-3
-10
5
0
3
-27
0
0
54
-1
0
0
-11
0
0
0
1
0
0
0
-1
-64
0
0
-5
0
0
0
0
0
-28
19
0
0
0
0
1
-24
0
0
25
0
0
0
3
0
59
-54
0
0
-7
98
0
0
-10
0
0
15
25
0
0
18
0
0
6
-71
0
0
73
0
0
0
-41
0
-66
26
0
0
0
-43
0
0
0
0
0
0
14
0
0
0
0
0
0
-81
0
0
0
0
0
0
-70
0
0
-6
0
0
0
12
0
0
12
0
0
12
70
15
-7
-22
0
0
-2
55
0
0
-72
-1
0
-5
-16
0
0
-1
2
0
7
97
0
0
0
0
0
0
-13
0
0
2
7
1
0
-29
0
0
0
4
0
0
-104
0
0
0
0
0
0
27
0
0
0
0
0
0
88
0
0
12
0
0
0
3
0
1
-1
0
0
0
-45
0
5
-8
-16
0
0
58
0
-11
0
0
0
0
-7
0
0
-4
0
0
0
-41
0
-1
0
0
0
0
21
-2
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
7
0
47
0
0
0
0
0
0
7
5
0
0
0
0
-15
41
0
0
0
-13
0
-4
-2
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
1
0
0
3
0
0
0
29
0
0
-52
2
0
0
14
0
0
0
0
0
0
0
0
0
-39
17
-1
-2
-8
0
6
24
0
0
0
-12
-17
16
-24
0
0
0
-14
0
-3
0
3
0
0
6
0
-31
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
20
0
0
-3
51
0
-39
5
1
0
96
4
0
0
75
0
0
3
-30
0
0
-4
0
0
16
-50
0
0
-2
0
0
0
-92
0
3
-1
-2
0
0
69
0
0
0
0
0
0
37
0
0
0
0
0
0
-54
0
0
0
0
0
3
0
0
0
-1
0
0
0
-127
0
0
0
0
0
25
89
0
0
55
43
0
4
-24
0
0
-62
0
3
0
49
0
0
15
0
9
0
11
0
0
9
0
15
0
2
0
-4
-2
0
-27
0
-36
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
21
1
0
0
-2
-17
0
0
0
0
0
0
-2
0
20
-1
0
0
0
52
0
0
0
11
0
0
-28
0
3
0
0
0
0
-13
0
0
5
0
0
0
-2
0
13
0
0
5
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
4
0
0
6
0
0
0
0
0
11
0
0
0
0
0
1
-6
0
0
0
-64
0
0
18
0
0
42
0
0
0
0
0
39
-4
0
0
0
0
20
0
8
0
0
0
0
9
0
0
0
-19
0
0
0
0
0
0
0
0
0
6
0
0
0
-7
0
0
11
-3
0
0
-39
0
0
-41
-4
0
0
0
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
13
-75
0
0
0
0
0
-10
24
0
-21
3
0
0
-33
-4
0
-4
98
0
0
7
102
0
-1
-23
1
0
6
-12
0
0
-15
0
0
-1
50
0
11
0
11
0
0
20
0
0
0
0
0
0
-82
0
0
0
0
0
0
14
1
0
0
0
0
0
-35
0
0
0
0
0
-3
34
0
0
-3
0
-12
0
-25
0
0
26
-6
0
0
44
0
0
1
0
0
1
-22
0
-1
54
-3
0
0
-27
0
0
-1
0
-2
0
-3
0
0
0
3
0
0
7
0
0
0
0
0
0
81
0
0
0
0
0
0
-48
0
14
0
0
0
0
-14
0
0
0
0
0
0
100
0
14
0
0
0
0
61
0
0
0
-7
0
0
42
0
2
0
0
0
0
102
0
-1
0
0
0
0
31
0
-15
0
0
0
0
107
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-125
-9
165
-4
1
62
8
18
-69
-78
20
82
80
-8
-14
21
90
-5
23
56
-4
39
1
-58
0
-98
-10
47
48
-30
9
-9
-22
4
39
-69
22
-6
-55
23
20
-3
71
-3
-1
33
-85
-46
-14
37
-28
-72
-67
-34
-121
1
-4
-21
3
-7
2
27
-8
-147
41
38
4
-5
-13
0
0
0
0
0
0
0
3
79
15
-9
29
-70
9
-2
31
-14
24
-2
34
6
-5
51
-1
10
-18
-36
-8
14
46
82
26
-20
-4
7
56
76
-61
-30
37
71
33
16
1
-9
39
-8
-6
-32
-71
-1
-6
65
41
-26
-42
-70
-2
-18
-32
-1
0
44
-19
4
52
6
-1
56
28
-13
4
44
-1
5
-24
46
-29
-5
-33
-6
7
-6
29
31
-14
17
11
15
-2
-59
-18
-4
-67
-44
-13
9
20
-7
-3
-36
-9
-46
3
-22
38
0
-8
-87
7
-3
-115
-64
-17
63
24
-34
23
-18
8
1
33
-72
5
85
-17
5
3
-23
-63
-14
-11
-7
-17
-12
-68
-20
4
101
-37
-41
-4
15
137
1
-5
-16
-15
-12
54
11
-13
-18
-16
-49
-4
-11
-44
-2
8
17
13
-4
-40
-123
20
-20
-13
-64
-13
26
-39
-54
-75
-48
-52
-33
56
37
-61
34
-26
-36
-26
7
57
27
-127
-70
-27
-8
16
-57
-59
-55
-16
-23
-24
-17
-78
4
-14
-51
4
-3
-11
0
-57
7
-98
-110
-9
-121
-40
-16
-51
-21
42
-1
-55
-36
10
-44
-33
-45
16
-62
41
21
-66
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
87
0
0
0
0
0
0
-1
5
2
3
0
0
0
-97
0
0
0
0
0
0
-23
0
0
0
-2
3
0
0
0
0
-138
0
0
0
0
0
-47
0
0
0
0
0
1
6
0
0
0
0
0
7
0
0
0
0
0
-10
8
0
0
38
0
0
0
0
0
0
0
0
0
73
-8
0
-1
-39
0
6
-17
0
0
0
-11
0
-9
13
0
0
0
-6
0
0
0
2
0
0
15
0
17
0
0
0
0
0
0
-2
0
-151
1
9
0
0
0
2
27
0
0
0
0
0
-5
13
0
51
10
-37
0
31
-5
0
0
-33
0
0
9
85
0
0
4
0
0
1
-15
0
0
16
0
0
0
-61
0
6
9
-4
0
0
79
0
0
1
0
0
0
9
0
-1
0
0
0
0
-31
-12
0
0
0
0
0
70
0
0
0
0
0
0
-63
0
0
8
0
5
3
27
0
4
-7
18
-1
-2
-108
0
22
11
0
0
7
98
0
0
26
1
0
0
-60
0
0
-3
0
-1
0
66
0
0
1
0
-3
0
-12
0
0
0
8
0
0
-25
0
3
0
0
0
0
-1
0
1
0
0
0
0
58
0
-1
0
-13
0
0
-83
0
11
-5
0
0
0
54
0
2
4
0
0
0
28
0
-1
0
0
0
0
141
0
0
0
0
0
0
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
-13
0
0
5
0
0
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
-27
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
4
0
9
0
0
0
-14
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
-24
0
14
0
0
0
0
-13
0
0
0
0
0
0
-20
0
-29
5
0
0
-4
-57
0
0
-1
0
0
-1
-64
0
0
2
0
0
-2
4
0
0
-3
0
0
0
4
0
1
0
0
0
0
-2
0
0
0
0
0
0
-43
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
4
0
0
0
0
0
0
-5
0
0
-1
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
7
0
-15
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
-8
0
0
11
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
10
0
0
37
-3
6
0
66
1
0
33
-3
-28
0
-71
19
-12
-11
7
-43
0
8
-41
-20
-7
4
22
-1
-149
-152
55
-6
15
-32
0
8
7
-3
9
-1
-1
0
0
-40
4
0
29
-32
0
0
51
-64
-1
2
-15
0
-40
-3
-24
-1
-34
-1
0
4
1
0
-54
-90
-79
0
0
0
0
0
0
0
0
-2
-55
24
1
-23
-18
0
-25
-53
-1
35
26
18
0
15
-63
-6
-15
139
11
0
-33
-79
-20
-3
-17
-53
-1
-4
28
3
-1
-15
-5
0
-4
39
-109
-15
10
36
0
42
-4
57
-1
16
0
0
-8
51
28
10
-49
66
0
41
98
0
32
24
-3
0
17
14
0
-20
2
-60
0
15
62
-2
64
48
16
0
27
66
0
17
1
-57
0
87
-58
1
0
-70
50
0
-2
-6
-152
-76
-44
0
0
3
37
-35
187
-28
40
14
-6
28
69
-46
-75
55
0
-7
42
-11
105
52
9
0
-25
30
39
-56
29
-33
0
-41
41
2
88
65
83
0
31
-2
11
12
17
35
31
75
-18
0
-37
68
-27
0
62
2
-4
-13
47
15
21
-7
-1
17
-5
0
22
0
0
1
29
-6
-80
16
0
-4
-1
0
-54
-47
-2
0
-26
-55
-3
-21
-62
-33
0
-15
43
-12
13
48
3
0
27
-14
0
43
30
13
0
-37
14
-1
-22
-15
-2
3
-74
8
0
-43
-12
-40
0
-54
30
0
41
22
38
0
17
31
31
10
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-1
-3
-10
29
0
0
-79
-9
180
24
35
0
-5
-27
-45
-4
0
-2
0
-8
-19
-15
-1
0
72
-7
0
-5
-6
11
-36
0
4
-113
0
0
24
0
-2
0
0
0
26
96
0
0
27
0
-28
60
6
-4
62
-56
-18
6
31
-4
22
27
0
0
0
0
0
0
0
0
0
-82
113
21
15
-14
1
-35
-79
17
-5
0
-32
26
-102
44
-19
0
0
3
25
-58
-8
-83
0
0
47
-158
-181
0
7
6
0
0
0
8
0
40
94
-34
17
0
0
-3
-15
0
0
78
25
-2
39
-29
6
59
25
-8
0
60
51
-2
16
-71
3
0
99
49
2
-13
-46
-5
13
105
-60
0
0
-142
9
0
-16
5
0
30
-37
-121
3
8
31
0
9
29
4
-24
0
-15
44
-28
0
-62
9
0
31
-5
0
0
19
0
-7
36
-7
36
-30
6
-68
9
5
-1
11
63
-25
-10
-142
-3
14
-30
-171
55
-11
44
31
3
-1
-48
65
116
17
-38
0
-3
0
77
1
27
93
0
-28
-5
-8
-7
0
-33
0
10
-9
-4
-98
0
-116
0
0
0
-1
2
0
26
85
0
-1
0
0
0
-37
0
-71
27
19
0
17
15
0
3
54
2
7
-6
-43
3
-22
33
40
0
2
24
0
-5
3
90
0
37
-12
4
3
13
39
-3
-3
66
14
10
-26
-1
7
3
-53
12
53
0
0
26
0
11
-6
19
0
-12
-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
0
0
4
1
20
6
0
-2
0
0
0
52
0
0
0
0
0
0
-7
-1
0
8
46
-16
0
0
0
0
-37
0
0
3
0
0
59
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
-127
-7
-2
-79
0
-1
-21
11
0
0
0
0
0
0
0
0
0
-11
-31
0
0
17
0
15
-27
26
-1
0
-44
0
3
40
7
0
0
89
0
0
0
29
0
0
6
-1
-60
0
0
0
0
0
0
0
0
-65
-5
0
0
1
0
-4
-131
0
0
-10
-1
0
21
0
0
-114
57
-1
0
29
92
0
7
3
0
0
19
-30
0
0
32
12
0
12
49
0
0
14
0
0
0
-2
0
143
-17
-10
0
0
77
0
0
8
0
0
0
31
0
0
0
4
0
0
-77
0
-2
0
14
0
9
-64
0
0
-21
5
0
25
0
0
15
36
0
14
-23
123
6
24
-39
-9
1
-39
-12
2
3
-29
-10
2
0
-95
0
7
9
-2
0
0
10
0
6
3
0
5
0
-54
0
0
3
0
-5
0
-12
11
0
0
0
0
-3
-51
0
0
0
0
0
4
-69
0
-2
0
0
0
0
0
2
-5
-2
38
9
16
-111
0
12
21
0
0
0
-17
0
0
-18
15
0
-3
-11
0
-5
0
0
0
0
-20
0
0
-11
0
0
0
91
0
-3
0
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
-41
0
0
0
0
0
0
0
24
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
58
0
0
0
0
0
10
0
0
0
0
0
-90
0
0
0
0
0
5
0
0
0
0
0
40
0
0
0
-11
0
-1
-72
0
0
0
16
0
0
0
0
0
0
0
0
0
-5
30
0
-5
-9
0
0
15
0
0
0
-4
0
0
-24
0
0
0
0
0
-2
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
29
35
3
0
0
0
0
-5
0
0
0
0
0
-4
7
0
-45
-43
0
0
46
121
0
0
-5
0
0
-28
-82
0
0
155
35
0
61
0
0
0
-7
0
0
13
-16
0
15
-6
-2
0
0
56
0
0
0
0
0
0
86
0
0
0
0
0
0
16
0
0
0
0
0
0
-58
0
0
0
0
0
0
-12
0
0
5
0
0
-6
4
0
4
31
0
0
8
-172
0
0
48
0
0
5
-6
0
1
6
-1
0
0
17
0
0
0
0
0
0
16
0
0
-4
0
0
0
-101
0
0
0
0
0
0
12
0
0
0
0
0
0
-28
0
0
0
0
0
0
-26
0
0
-2
0
0
0
-35
0
0
0
0
0
0
2
0
0
0
0
0
0
-49
0
0
-3
0
0
0
77
0
0
0
12
0
0
-30
0
-7
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
-117
0
0
-7
-9
0
0
-3
4
-6
0
0
0
7
9
-2
0
-6
0
3
1
-5
2
5
0
3
0
0
-19
0
0
24
0
0
-8
0
0
-16
0
0
0
0
0
19
48
0
0
0
0
70
-9
0
0
-16
13
103
-117
-3
-4
0
-4
0
6
0
0
0
0
0
0
0
-22
-47
-8
0
37
0
0
-32
-5
0
0
39
3
-9
-12
0
6
0
-11
0
7
0
-9
0
0
0
23
33
0
0
-19
0
0
0
0
0
-46
-8
-2
0
-2
0
-2
-37
0
0
4
0
0
-11
73
0
102
-1
0
0
-51
-72
-10
0
-40
0
0
-66
-113
0
0
74
-1
0
12
92
0
0
-49
0
0
8
-25
0
13
-5
0
0
0
11
0
0
-16
12
0
0
-4
-19
-5
0
0
-1
0
-115
0
0
0
0
0
0
26
1
0
61
0
0
16
-6
0
0
-59
0
0
-16
-37
-9
-15
14
-28
0
2
-62
0
0
23
18
-3
84
-83
0
0
-62
32
-2
-2
-6
0
0
-17
0
-3
0
-106
0
-3
3
2
51
0
106
0
0
0
0
0
0
18
0
0
0
0
0
1
-41
1
-4
0
8
0
0
-65
0
0
0
4
0
0
-76
0
6
-1
0
0
-13
-57
0
0
0
0
0
0
41
0
-6
-6
-14
0
0
51
0
0
37
0
-9
0
-58
0
5
1
-13
0
0
-35
-3
0
0
0
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
105
-59
-44
43
4
9
65
51
-54
37
62
-1
37
24
38
3
1
83
-102
-42
98
-4
-10
-47
40
63
9
-10
-11
-122
5
40
0
-3
-9
3
21
-33
22
-2
-48
12
-2
0
40
-6
0
83
-5
-6
-55
10
-177
-34
14
-13
-3
-18
-66
35
0
0
0
0
0
0
0
-2
91
20
70
-8
-2
16
1
18
3
55
0
-10
13
-2
24
-8
34
-5
41
0
-26
-28
-5
-2
-33
-21
5
1
-8
-71
-1
0
66
-72
33
-1
-28
9
0
-8
0
123
0
38
12
-11
22
-45
82
-5
28
6
-142
-32
-9
-11
0
-16
52
49
-35
0
-12
-7
115
-20
11
51
7
34
-7
27
48
4
60
-71
-35
-23
22
28
22
3
-127
41
-49
-2
47
6
-41
26
-1
-8
-54
-79
9
25
-69
25
-5
-54
-4
-8
31
-19
12
-56
-10
-125
-2
-15
36
66
4
25
-22
4
52
79
7
-16
126
-45
14
-22
129
30
2
63
2
42
-12
61
48
-6
2
-17
67
-23
66
-1
-31
19
80
60
-62
46
41
-10
-8
-18
-6
-69
62
-5
21
14
-3
-5
25
9
-6
12
-6
63
-5
-19
16
-15
32
46
62
77
-5
5
-5
6
-24
-38
1
4
77
-35
12
-20
30
1
-57
19
21
52
39
-30
51
-82
30
-3
-36
-12
-5
-13
82
105
-45
26
-39
-41
-4
5
45
-94
-19
36
13
60
135
66
1
18
-6
6
13
46
-5
0
0
0
0
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
-4
0
1
-5
0
0
-46
2
0
0
0
0
0
-37
0
0
0
17
0
-3
0
0
0
-9
1
0
-11
0
0
1
0
0
0
0
0
0
6
0
-2
0
9
-8
-1
-2
0
11
0
-14
-177
0
0
1
-189
0
0
0
0
0
0
0
0
0
-50
-7
0
0
49
0
5
-28
14
0
-4
2
0
18
-54
0
0
0
-23
0
9
0
-2
0
0
-1
0
-6
0
0
49
0
0
0
2
0
7
27
-1
0
0
0
-28
7
0
0
3
0
0
115
-93
0
60
4
0
0
-4
-76
0
0
-9
0
0
19
-164
0
0
1
0
0
-1
30
0
27
-35
0
0
-3
18
0
-52
-27
0
0
0
44
0
0
7
0
-2
3
16
2
-2
0
0
0
0
-52
0
0
0
0
0
4
-25
-3
0
51
0
1
-57
38
0
0
99
-7
-6
15
-12
0
0
-62
-6
0
62
13
0
0
67
0
0
-1
-123
0
0
-9
0
-13
3
10
0
-5
-14
0
-2
-1
11
0
0
4
0
36
0
-54
0
0
0
0
0
0
57
0
0
0
0
0
0
44
0
-3
0
0
-21
-2
4
0
0
0
0
0
0
-6
0
24
-20
0
0
7
45
0
2
13
0
22
0
-100
0
-6
2
0
0
0
52
0
0
10
0
0
0
8
0
4
-1
0
0
0
-47
0
0
21
0
0
0
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
16
0
0
0
20
0
0
-53
-5
0
-3
0
0
0
0
6
0
-8
48
-3
0
0
0
0
126
0
0
0
0
13
9
0
0
0
0
0
-9
-48
0
0
0
0
103
30
8
0
17
32
0
-84
0
0
0
87
0
0
0
0
0
0
0
0
0
-39
-3
0
7
6
17
0
86
43
0
5
-60
-15
0
82
18
0
0
-5
-8
0
21
58
0
0
3
-52
0
0
0
-32
0
0
0
0
0
42
-11
-11
0
-1
0
-70
46
0
0
36
0
0
-8
191
0
-64
52
23
0
-9
22
0
0
-60
-2
0
-17
15
0
12
63
14
0
35
8
0
0
-54
3
0
-13
-44
0
-77
-38
38
0
0
-127
0
0
0
0
0
0
-66
18
120
0
13
0
0
36
-1
0
0
0
0
0
-45
0
-2
-51
0
0
-24
-42
0
18
-142
2
0
-42
-28
0
15
149
-7
0
68
32
-5
-6
26
15
0
-8
44
0
17
36
-36
0
5
-91
0
0
-84
0
0
1
-13
0
-11
-35
132
0
0
6
0
0
0
0
0
0
16
4
9
-14
0
0
0
-9
0
121
9
0
0
-4
7
0
-17
-112
11
0
0
28
0
115
-1
0
0
-2
-27
0
18
-25
-9
0
0
-69
0
43
77
-2
0
0
-18
0
0
65
0
0
0
-37
0
-95
12
-9
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
-78
-25
-62
-100
75
15
-119
0
-22
17
5
-59
-59
-138
-42
12
-85
-35
-29
-65
-49
42
10
124
-10
-59
61
-75
2
-12
-2
-1
4
-8
0
18
126
-43
-4
-3
-85
-138
-7
7
-19
14
-11
15
-103
-37
-44
-24
-123
23
-50
22
0
0
0
0
0
0
0
7
-41
38
13
-37
-15
5
-60
59
111
-38
16
-24
19
5
7
-65
-13
-63
-13
29
-38
-19
-32
-1
-28
-5
17
34
-137
-78
-1
30
-23
94
-2
5
-124
-2
-172
-63
-2
-96
0
-32
10
73
-36
-71
81
23
61
-36
22
-13
-22
3
0
-13
-6
0
-24
-25
-44
11
48
-96
-1
30
-5
-38
3
36
-18
7
6
-81
-2
-5
-29
37
3
20
-69
0
-8
-74
-3
-20
-7
-100
-17
3
5
-75
14
48
40
-1
-26
-55
-21
-5
-13
-107
49
-36
-7
19
-23
29
16
-7
5
-9
-8
24
-51
59
35
21
-42
-17
11
-92
-56
-37
-11
73
-93
-15
-25
9
-47
-10
26
-63
-8
7
62
-5
-20
-40
-54
-11
11
33
-60
-9
-47
33
-9
-3
-36
19
-27
98
-2
-6
4
-2
7
4
-16
-56
-81
-47
4
14
-39
40
-64
-2
-66
-51
-22
-13
2
-19
3
30
-87
-34
-16
-42
-19
54
-12
33
-57
-4
-10
71
-29
-53
18
-6
-27
-53
42
-84
-68
5
29
22
14
-13
49
7
37
1
14
25
82
-66
22
20
1
-31
5
-63
28
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
-1
0
0
0
-1
0
0
5
0
-2
0
0
0
0
0
2
0
0
0
5
0
0
0
0
-59
0
0
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
0
9
-3
0
0
-5
7
0
72
0
0
9
18
0
0
0
0
0
0
0
0
0
-2
6
0
-2
-151
0
0
-3
4
0
0
-20
0
-6
-2
13
0
0
0
0
0
0
-12
0
0
-1
0
-8
0
0
-2
0
0
0
0
0
11
9
-8
0
0
0
7
21
0
0
-16
0
0
108
-26
0
10
-82
10
0
-27
0
32
0
13
0
0
4
-18
0
4
14
-16
0
-16
-12
0
11
14
0
-2
-1
82
0
39
-5
0
0
0
74
-7
0
0
0
0
0
27
3
0
0
5
0
0
-120
0
0
0
0
0
0
-29
0
0
13
0
0
0
22
0
0
30
0
0
17
0
-1
-3
11
40
0
-23
-7
0
0
36
0
0
-1
35
0
-2
1
-16
0
4
-70
0
0
3
0
0
0
-25
0
0
-2
10
-1
0
-108
-1
0
0
0
0
0
114
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
3
-11
0
-34
0
-2
-11
-7
0
0
0
-152
0
0
11
-1
0
0
-17
0
0
0
0
0
0
10
0
-6
0
0
0
0
129
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-55
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
-1
-62
0
0
0
7
0
0
0
0
0
0
0
0
0
-11
-6
0
0
-1
0
0
3
0
0
0
7
0
0
16
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-77
0
-7
0
0
0
0
-74
0
0
0
0
0
13
23
0
-45
11
0
0
-3
-100
0
0
22
0
0
-10
-42
0
0
0
-2
0
-1
20
0
0
-6
0
0
-1
-8
0
-12
0
0
0
0
20
0
0
0
0
0
0
-50
0
0
0
-3
0
0
-60
0
0
0
0
0
0
20
0
6
0
0
0
0
-62
0
0
-2
0
0
0
-71
0
-1
-1
0
0
0
-49
0
0
-12
0
0
1
52
0
0
0
0
0
0
128
0
0
0
0
0
0
-10
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
2
0
0
7
0
0
0
-22
0
0
0
0
0
0
55
0
-1
0
0
0
0
-5
0
-2
0
2
0
0
10
0
0
0
0
0
0
-6
0
15
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
-9
0
-4
0
-3
20
-5
0
0
0
0
-18
0
0
0
0
-29
0
0
1
0
0
-11
0
0
-27
0
0
35
0
0
0
0
0
2
-4
0
0
0
0
-18
17
0
0
-38
5
6
6
8
-9
0
-2
7
0
0
0
0
0
0
0
0
-28
-40
-10
-2
74
0
19
6
15
0
0
-58
-7
1
-41
-12
3
0
17
0
0
0
-4
0
0
6
0
72
0
0
17
0
0
0
5
0
-9
-2
8
-1
0
0
27
0
0
0
12
0
0
-54
8
-1
-56
22
28
0
33
-30
0
0
14
-14
0
2
-30
-3
0
-85
-1
8
-13
-4
-4
0
49
0
0
-2
45
0
8
3
0
0
-2
-49
0
0
23
0
1
0
-6
12
7
0
0
0
0
4
7
22
1
0
8
0
-135
-9
0
2
0
33
35
35
0
-3
39
0
0
-61
-4
0
0
24
-6
0
8
102
14
0
-70
12
-3
-4
-95
1
0
13
0
0
26
-77
0
1
20
0
0
2
72
0
7
8
2
-11
0
-61
0
0
0
0
0
0
25
0
0
0
0
0
0
41
0
-3
28
0
0
0
-7
0
-2
16
1
0
-14
-63
0
24
-5
3
0
2
99
0
0
-4
13
0
0
-27
0
1
-9
11
0
25
40
0
0
6
0
0
0
-33
0
-5
0
0
13
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
43
10
-10
0
22
0
0
-76
-1
-14
-3
21
0
0
-9
-2
0
0
-1
0
0
0
0
0
42
0
0
-5
0
0
-55
0
-1
0
0
0
-19
20
0
0
0
0
33
2
0
0
-40
-9
-10
-86
-20
0
-8
126
12
0
0
0
0
0
0
0
0
-5
-3
-5
-8
4
-1
-4
58
8
-1
0
-28
-11
-2
-75
67
0
0
-2
4
0
4
-4
0
0
-4
5
1
0
-8
24
0
0
0
-2
0
-9
4
-1
0
0
0
23
-12
0
0
20
0
0
3
47
0
-18
6
-3
0
-12
-87
0
0
0
0
0
76
44
-1
7
-23
-12
0
2
41
0
0
24
-1
0
34
-45
0
-90
8
9
0
0
-48
0
0
-1
-7
0
0
-7
17
7
0
0
0
-4
-19
0
0
16
0
0
-8
-5
0
0
0
0
0
-45
7
0
-10
-4
0
0
-27
-6
-18
4
-48
5
13
-21
-25
-10
28
-5
3
0
-11
60
0
0
-1
-29
-5
0
-49
0
0
12
0
-31
0
-67
31
0
-29
-6
20
0
-13
-12
0
0
0
0
-6
-65
0
0
0
0
0
0
30
9
-146
0
0
0
1
70
0
-2
-4
-3
0
2
-44
-2
23
2
-2
0
6
4
0
4
-30
3
0
0
-66
0
37
0
0
0
0
-105
0
0
0
-1
0
0
-94
0
51
0
0
0
0
-82
-9
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-21
81
0
0
0
0
0
0
0
0
0
0
44
0
1
0
0
0
-44
0
0
45
0
0
36
0
0
0
0
0
0
-3
0
0
0
0
57
41
0
0
122
0
-17
-55
60
0
0
-12
0
0
0
0
0
0
0
0
0
79
4
0
0
17
0
16
-33
-6
0
0
-23
0
13
-94
0
0
0
-16
0
17
0
0
0
0
-3
0
37
0
0
7
0
0
0
0
0
68
22
0
0
0
0
32
-24
0
0
43
0
0
-7
-9
0
39
-97
0
0
-115
-55
0
15
-33
0
0
-94
-29
0
0
4
0
0
-20
-29
0
0
-17
0
0
11
1
0
-100
101
2
0
2
-61
0
0
0
0
0
0
-50
-2
2
0
0
0
0
-22
0
0
0
0
0
0
-135
0
0
-2
-2
0
-7
-33
0
0
-12
0
0
0
4
0
0
109
0
0
-7
-49
0
0
-100
35
2
0
-22
0
0
0
31
0
-12
65
0
0
-19
0
0
0
-94
0
0
6
0
-21
0
8
0
0
0
0
0
0
-19
0
0
0
0
0
0
127
0
1
0
0
0
6
29
0
0
4
0
0
0
-26
0
-3
-11
0
0
0
-43
0
0
-3
0
0
0
-29
0
-5
14
0
0
3
-92
0
0
-6
0
0
0
17
0
-5
0
0
0
0
23
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
77
-11
0
0
0
0
0
0
0
12
7
56
-6
0
0
0
0
41
0
0
0
0
0
-35
0
0
0
0
0
3
-19
0
0
0
0
-21
-1
0
0
73
24
0
-25
3
0
-6
5
0
0
0
0
0
0
0
0
0
-20
9
0
10
-8
0
0
-3
26
0
0
61
40
0
-4
23
0
0
-11
0
0
0
-13
0
0
0
-11
0
0
0
11
0
0
23
0
10
-46
-7
0
0
-5
0
-24
15
0
0
23
4
0
30
-50
0
-18
-8
17
0
-120
23
0
1
24
-5
0
-33
-22
5
0
-3
11
0
-47
70
0
0
-45
0
0
-12
65
0
-61
8
-5
0
0
-122
0
0
17
0
0
0
-117
2
0
0
0
0
0
-5
2
0
13
0
0
0
8
12
0
36
0
0
17
81
0
-3
142
0
0
-10
-104
0
0
-54
-55
0
-4
9
0
4
-83
0
0
20
-62
0
23
-74
-7
0
15
-33
0
1
-17
2
0
0
66
0
0
0
0
0
0
-37
0
0
0
0
0
0
-29
9
0
1
0
0
0
-13
0
-12
2
0
0
0
-42
1
1
-16
4
0
4
2
0
-32
24
0
0
0
22
0
-12
-21
0
0
0
-47
6
-33
-6
-4
0
0
-47
0
0
-3
0
0
0
55
0
0
-2
0
0
0
39
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
103
60
1
-3
43
-1
-4
134
77
63
35
-90
0
-10
3
2
0
-69
1
0
12
0
0
-22
0
0
-2
0
0
-4
-49
0
-23
0
1
45
64
0
2
-32
-88
-78
33
32
-8
3
-47
36
-2
0
0
0
0
0
0
0
11
-33
-33
41
-71
-14
48
47
81
8
21
0
45
35
-68
-47
1
3
42
-77
-101
5
75
0
0
16
22
-139
-14
3
86
0
0
-1
25
0
29
31
-20
4
10
0
-48
-64
0
-6
-107
-12
0
-56
-32
-1
-44
-108
72
0
36
3
1
3
1
114
-7
73
47
1
11
-37
34
-6
-57
2
0
8
-34
91
0
6
55
-11
-52
-29
-120
6
89
-8
0
71
13
-4
-25
-1
-11
-9
-46
0
-103
0
0
-69
59
2
5
14
-1
-3
-26
30
28
108
-3
53
33
-8
16
3
-79
-3
33
-75
-119
45
-34
57
47
-12
19
-68
7
1
14
70
-32
-30
-35
-33
-23
-7
106
31
-10
15
3
-7
59
0
170
-6
-75
24
-2
-119
-26
-98
0
15
-20
-4
0
-25
-2
0
-16
-23
-6
0
32
-9
0
-85
7
21
-15
2
-4
37
-20
-5
2
32
35
-29
30
-55
-10
-69
14
87
23
5
-38
7
-23
25
103
-44
48
-3
13
13
5
-13
-14
8
-44
7
37
-48
93
-98
0
33
2
-4
2
-12
32
0
41
238
-3
-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
0
0
0
-24
-1
0
0
-1
0
-1
0
31
0
0
-17
0
0
0
0
0
1
0
0
0
0
0
33
0
0
0
0
0
-4
-16
0
-4
-2
0
-53
6
0
0
-55
39
11
142
-25
0
0
-76
0
0
0
0
0
0
0
0
0
-45
0
10
-7
-47
4
-19
-20
1
0
14
-92
0
3
-28
-36
0
0
5
0
-1
13
16
0
0
-2
35
-67
0
0
5
0
0
0
4
0
72
9
1
0
0
0
12
-65
0
0
-8
0
0
44
-26
0
-5
-7
-24
25
52
-117
-4
16
-4
0
0
-97
0
-11
29
-61
-1
30
-4
-98
-2
-2
30
0
0
-8
90
0
-47
-10
0
0
0
-150
2
0
0
0
0
0
27
-11
-20
0
10
0
0
-81
4
0
38
-1
0
-1
-127
49
-9
19
-9
0
-6
-20
0
-5
-12
19
-4
-28
27
-27
0
-5
125
0
36
0
4
-9
69
-1
17
-24
-6
-5
52
-36
-2
9
-13
-38
0
6
11
0
1
0
-46
0
0
0
-7
11
0
2
0
2
0
0
0
0
-29
-9
0
14
-2
0
0
-121
-3
33
-10
1
0
-8
46
1
6
5
29
0
18
106
0
-101
2
-9
0
37
0
0
-6
-18
-19
-7
-6
0
0
-39
4
-4
5
0
-56
-1
7
-10
-13
0
0
62
15
0
-4
0
0
0
51
-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
-4
0
0
0
0
0
0
3
1
0
0
6
0
0
0
0
0
-37
0
0
-10
0
0
36
0
0
0
0
0
-9
21
0
0
0
0
19
13
0
0
34
0
-15
28
0
0
2
57
1
0
0
0
0
0
0
0
0
34
10
0
7
-5
0
0
-22
-11
-2
0
-37
-3
0
13
7
0
0
16
0
0
1
12
0
0
3
0
72
0
10
0
0
0
-1
22
19
14
-22
0
0
0
0
-14
-65
0
0
3
0
0
14
4
0
-25
-93
-1
0
35
34
0
0
43
0
0
-24
-26
0
-25
8
-19
0
4
46
0
-5
-36
0
0
-4
19
0
-15
-22
0
0
0
-1
0
0
-9
2
-1
7
-97
-2
22
0
0
0
0
9
-1
0
0
0
0
0
-37
0
0
-21
0
21
31
-77
0
0
7
0
5
-23
-16
0
-2
47
9
-2
2
11
0
0
-1
-8
0
-1
75
0
0
-15
14
31
0
-10
0
0
-9
0
6
-1
-108
0
0
13
0
2
0
-80
0
-2
0
0
0
0
26
-3
0
0
0
0
3
59
0
-12
6
0
-2
0
-44
0
0
-4
-1
0
-5
-170
0
-11
14
0
0
0
-77
0
0
-11
55
0
-8
-108
0
78
-6
-2
0
0
-8
0
-2
-2
0
0
0
129
-1
-3
19
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
86
0
0
0
0
0
0
7
0
0
0
121
-12
0
-3
2
0
-30
0
0
-3
0
0
-16
0
0
0
0
0
-4
-5
0
0
-1
0
-2
20
10
0
-39
49
-32
-31
-12
-13
0
83
0
18
0
0
0
0
0
0
0
-23
-60
29
-1
25
15
1
-15
83
0
-5
-42
-17
2
-24
-7
0
0
2
0
0
4
70
0
0
4
0
33
0
0
18
0
0
0
17
0
-8
38
0
-1
0
0
-25
24
-10
0
-7
0
0
-10
-3
-7
-28
12
0
0
-46
-163
0
24
-64
1
0
47
-18
14
16
-68
-5
0
90
18
0
0
-15
0
0
-12
21
0
-30
16
43
0
0
1
0
0
0
0
14
0
-69
0
-6
0
0
0
0
-3
0
14
0
0
0
0
68
0
0
39
-27
0
32
-123
0
-4
10
2
0
-1
-27
0
0
-38
-13
0
-49
39
0
-1
40
1
0
-3
-10
0
5
3
33
0
1
3
0
0
0
0
-5
0
-14
0
0
-10
17
-9
0
8
0
0
0
0
0
0
-84
0
0
0
3
0
0
-14
0
-40
2
0
0
5
84
0
-3
-5
20
0
0
-25
0
-19
3
-1
0
0
-2
3
-1
45
12
0
-7
59
0
22
-7
0
0
33
-51
0
-1
0
-2
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-188
5
0
5
-1
0
0
-22
28
0
0
1
-1
0
0
0
0
-91
0
0
-12
0
0
-51
0
0
0
0
0
0
36
0
0
0
1
59
62
0
0
-108
-213
-46
71
10
0
34
-45
0
0
0
0
0
0
0
0
0
-162
-13
0
34
40
-11
45
20
42
0
0
-61
-20
0
-16
-38
0
0
-3
0
-11
23
35
0
0
0
-29
-69
0
0
-16
0
0
0
0
0
-17
1
17
0
22
0
-14
-14
0
0
48
0
0
-69
35
0
85
-100
-17
0
-43
81
0
0
-26
11
0
61
39
-12
0
36
-6
0
-14
-33
0
-1
-24
3
0
6
-19
0
-85
10
-7
0
-7
-47
0
0
2
0
0
-2
37
1
-11
0
-50
0
0
-6
0
0
0
0
0
37
-33
1
0
-64
1
30
15
7
0
-3
12
0
-10
-41
72
4
0
-56
-23
0
-10
15
4
13
-36
23
94
51
-10
0
21
4
-35
9
-6
-56
0
4
-4
0
-68
12
-2
0
0
-1
0
-37
0
47
0
0
0
0
0
0
28
0
20
0
0
0
3
-27
17
-42
0
0
0
4
-5
0
-9
-15
4
0
-2
15
-2
-12
16
-9
0
1
-43
0
-39
-8
24
-2
0
37
0
-11
5
9
0
0
0
0
-7
0
0
0
-11
-49
0
-89
0
0
0
1
-52
6
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
-91
0
0
0
0
2
45
0
18
-5
0
25
0
5
0
0
0
25
0
0
13
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
3
-12
0
0
-25
0
-4
-91
-3
0
0
57
0
0
0
0
0
0
0
0
0
-103
0
0
0
-8
0
45
92
0
0
0
26
0
-1
13
22
0
0
-25
0
-33
0
-2
0
0
15
0
-27
0
0
2
0
0
0
-21
0
-1
-3
0
-3
0
0
7
32
0
0
20
0
0
44
38
0
-10
-51
0
0
18
-87
0
2
-43
3
0
17
-17
0
0
64
0
0
-9
-29
0
0
-83
0
0
-4
-106
0
-93
-2
0
0
0
69
0
0
0
0
-1
0
30
6
-2
0
0
5
0
49
1
0
0
0
0
1
113
0
0
11
0
0
-3
-32
0
0
-61
-18
0
77
-8
-2
-12
-25
0
0
-7
-75
0
-1
-40
0
0
-6
36
0
0
1
0
0
7
39
0
0
19
0
0
-2
-21
-1
0
-4
0
-56
0
-42
0
0
0
0
0
0
107
0
0
0
0
0
0
-41
0
17
0
0
0
0
3
0
0
-9
9
0
-9
54
0
-14
8
0
0
0
-23
0
0
-1
0
0
0
16
0
9
-2
0
-1
0
-42
0
0
2
0
-1
0
9
0
-5
0
0
48
0
-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
-24
3
0
12
1
0
0
-3
-8
0
2
56
92
0
0
-6
2
27
0
0
12
0
8
26
0
0
0
0
0
-10
2
0
0
0
0
-20
87
0
0
-44
1
0
-29
-10
0
5
15
0
0
0
0
0
0
0
0
0
-19
59
0
-10
-7
0
0
6
52
26
0
75
24
0
106
71
0
0
73
0
0
129
43
0
0
54
15
0
0
-18
-78
0
0
-1
0
3
-13
-38
-39
5
3
0
121
-29
-5
0
-19
-2
0
-2
-12
0
-4
32
3
0
-3
66
0
2
31
0
0
-27
-75
0
-13
-14
-67
0
-61
-25
0
-9
-16
-1
0
5
48
0
-9
60
-17
0
26
-94
0
0
3
0
0
0
-18
-29
50
0
36
0
0
10
-20
1
35
0
0
-23
-55
1
3
-54
-3
0
-12
52
0
2
45
56
0
105
54
6
-13
69
-47
0
-7
-28
-4
-1
-51
7
0
-56
5
0
-29
0
48
4
46
26
0
-9
-10
3
0
0
-8
0
-9
-1
-41
0
0
-29
0
0
0
26
0
0
-111
-14
-7
0
0
0
-7
-78
0
110
-3
0
0
0
15
2
-16
13
-9
0
4
2
0
-17
127
-1
0
2
-146
0
64
-20
-10
0
5
2
0
53
21
-12
0
0
85
0
0
-70
58
0
0
22
0
-43
-1
11
0
0
92
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
46
-24
-10
-32
0
-51
-17
-9
69
-10
-57
0
-18
-7
0
-40
-2
80
-21
-4
-11
-6
3
-33
-47
6
36
0
2
22
0
-59
-3
-13
22
2
-6
-1
-67
0
0
0
0
0
0
0
-136
-61
-55
-55
-88
-18
30
11
38
2
1
-7
6
14
22
-13
53
67
5
67
8
7
7
23
-2
10
21
0
-8
13
-14
0
-5
-9
-45
-28
-4
51
42
-26
-36
-6
4
10
33
0
-3
-90
52
-37
3
25
20
-1
-25
10
-61
-1
-9
-14
5
-87
-15
61
0
-74
60
-26
-5
-33
-52
-8
44
62
-9
-137
79
-46
-10
49
-5
41
5
46
-7
-17
-4
43
-23
-48
45
1
-8
-41
-52
4
74
-8
15
5
64
-2
-59
0
15
-50
-3
-88
146
-81
33
55
-37
3
21
74
24
-19
-18
-1
-22
-36
14
-33
-56
-69
-2
-18
11
39
-12
77
-25
-60
5
58
124
55
-34
51
-34
-13
22
-14
-2
35
-23
6
-9
30
-51
66
24
-1
-1
-26
94
-7
-62
111
4
-14
7
-5
-4
-26
-70
31
58
1
-7
3
-20
-117
-26
-14
-32
-23
-74
-51
-79
25
-47
-20
39
-82
22
-36
87
48
-4
111
93
43
-22
-65
-44
-38
23
67
30
54
-27
0
-35
-19
68
-6
14
1
5
-16
-32
37
25
-87
19
-4
-38
-45
-18
130
42
-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
3
0
0
-1
0
0
-1
-14
-3
-22
8
0
-2
0
0
-71
0
0
1
0
0
12
27
0
-8
0
0
55
4
-6
0
45
9
-32
2
4
0
16
-37
7
0
0
0
0
0
0
0
0
-22
-2
7
-25
43
-2
0
-37
0
7
15
1
5
-9
16
40
0
0
11
0
0
4
0
0
0
1
-2
0
0
0
2
0
0
0
0
0
-18
-1
15
-2
0
0
-6
17
0
0
30
0
0
2
27
0
42
-29
3
0
13
-3
25
0
-12
0
0
19
11
1
4
20
-3
0
96
0
-26
0
-12
0
0
35
-99
0
-72
-78
-4
10
-3
-49
0
0
4
-5
0
0
-7
-18
4
0
0
0
0
-46
-1
0
0
0
0
-1
30
25
30
6
0
0
-3
19
-9
0
-29
-2
0
3
19
13
-7
-24
30
0
-17
13
21
-14
-61
10
0
22
0
11
13
46
36
0
-2
54
0
-5
46
0
0
0
-63
0
0
0
-1
-4
0
-59
0
0
0
-10
0
0
4
0
-1
0
0
0
1
-125
0
-47
17
0
0
1
-33
0
-1
-3
0
0
0
-52
0
-80
27
0
0
7
-20
0
0
78
12
0
-2
0
4
-33
9
10
0
0
39
0
0
1
-5
0
0
-94
0
-18
2
-3
-1
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
-11
0
0
0
0
17
0
0
5
0
16
0
0
0
0
0
-7
0
0
0
0
0
-6
0
0
0
0
0
0
33
0
0
32
-2
7
-38
0
0
0
-42
4
0
0
0
0
0
0
0
0
70
30
0
3
64
0
53
-27
9
0
0
5
0
-24
-3
4
0
0
-3
-1
0
0
0
0
0
-13
0
-9
0
0
0
0
0
0
10
0
35
0
12
0
0
0
-1
-116
0
0
-18
0
0
30
-22
0
-100
30
0
0
-34
94
0
0
-88
0
0
15
14
0
0
-4
0
0
11
-1
0
-14
-9
0
0
3
-18
0
-41
-10
0
0
0
-15
0
0
0
0
0
0
36
34
0
0
-3
0
0
-120
0
0
0
0
0
-11
-38
0
-17
5
0
16
20
-78
0
-3
-1
0
0
29
24
0
0
5
0
0
0
131
0
-8
37
0
0
21
-32
0
1
8
-9
0
0
51
0
0
0
0
0
0
28
0
2
-11
4
8
0
66
0
0
0
2
0
0
18
0
0
0
0
0
0
1
0
-16
0
0
0
0
8
0
7
9
0
0
0
21
0
50
0
-11
0
0
-2
0
1
0
0
0
-2
-32
0
0
0
0
0
0
44
0
-18
7
1
0
0
114
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-84
0
0
24
0
0
-79
0
0
0
0
0
0
5
0
0
0
0
0
-4
0
0
15
-4
-1
17
0
0
0
-27
0
0
0
0
0
0
0
0
0
65
-1
0
0
30
-1
0
86
-41
-5
0
-29
0
36
19
9
0
0
-1
0
22
0
6
0
0
0
0
0
0
0
34
0
0
0
0
0
29
0
1
0
0
0
-5
35
0
0
-14
0
0
21
-82
0
62
-18
0
0
125
20
0
0
-40
0
0
-5
35
0
0
-8
0
0
5
40
0
0
-4
0
0
6
-31
0
-5
-2
0
0
0
23
0
0
0
0
0
0
-48
-1
0
0
0
0
0
-51
0
0
0
0
0
0
-17
0
0
-2
0
0
0
-8
0
10
8
0
0
0
49
-7
0
-22
0
0
8
-21
0
0
59
0
0
3
-34
0
0
-2
21
0
0
-60
0
0
0
0
0
0
94
0
0
-1
0
0
0
37
0
0
0
0
0
0
-5
29
0
0
0
0
0
-69
0
0
2
0
0
0
-12
0
0
0
0
0
-11
-37
0
0
0
0
0
0
35
0
0
0
0
0
2
-19
0
0
-13
0
0
0
41
0
0
8
-2
0
0
22
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-125
3
0
65
0
0
1
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
0
-108
28
-10
126
20
-5
0
3
0
-9
0
0
0
0
0
0
0
-158
0
0
5
65
0
-3
-21
0
0
3
-16
6
12
16
-6
0
0
81
0
0
14
0
0
0
-6
-21
-83
0
0
-11
0
0
18
0
0
13
2
9
0
0
0
0
30
0
0
-25
0
0
51
7
0
-31
-14
-1
0
-14
-16
0
0
-31
0
0
-33
-35
-2
0
-9
-1
-7
-1
5
0
0
8
-6
22
-4
-190
0
19
-12
15
0
-19
17
0
3
0
0
0
0
-74
44
20
0
0
0
0
60
-8
0
-5
0
0
0
67
0
3
2
0
0
-2
-149
0
17
-5
0
-11
-44
-19
0
5
113
9
8
-5
-17
0
0
22
4
3
19
-65
0
1
-4
8
0
0
27
0
0
10
0
-5
-3
76
0
42
0
0
-55
0
43
0
0
0
0
0
0
15
3
0
0
0
0
0
81
0
-7
20
0
0
0
-64
0
-7
7
0
25
0
-28
0
-72
28
5
0
3
-61
0
0
-6
-9
0
10
-80
0
-35
77
21
0
1
34
0
0
0
0
0
0
125
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
15
0
0
0
-4
0
3
0
0
0
17
0
0
46
0
0
-46
0
0
0
0
0
0
11
0
0
0
0
-11
0
0
0
87
0
-2
9
0
0
0
-9
0
0
0
0
0
0
0
0
0
-14
5
0
-1
13
0
0
-9
21
0
0
15
0
-1
-79
0
0
0
-19
0
0
0
-3
0
0
16
0
54
0
0
45
0
0
0
0
0
63
0
-5
0
0
0
0
14
0
0
-3
0
0
107
16
0
-19
-21
0
0
-12
11
0
6
76
0
0
1
-36
0
0
24
0
0
-8
-10
0
0
14
0
0
-1
-37
0
62
-3
2
0
0
36
0
0
5
0
0
0
6
-2
12
0
0
0
0
-17
0
0
11
0
0
0
19
0
0
-2
0
0
-1
-21
0
0
-25
0
-11
-1
-36
0
0
-7
0
0
-13
1
0
0
-79
0
-7
0
-7
0
0
0
0
-4
0
-33
0
0
9
0
4
0
97
0
0
32
0
-91
0
-49
0
0
0
0
0
0
-9
0
0
0
0
0
0
-69
0
2
0
0
0
0
48
0
0
0
0
0
0
-108
0
5
2
0
0
0
3
0
0
-1
0
0
0
-112
0
-33
0
0
0
0
-50
0
0
0
0
0
0
-148
0
-24
0
0
0
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
28
0
0
0
40
-38
0
0
0
0
46
7
0
0
0
0
-59
0
0
0
0
-2
27
30
0
0
-8
0
120
-10
-4
0
2
52
0
-39
-11
0
-5
-43
0
0
0
0
0
0
0
0
0
21
29
0
-3
2
21
0
-35
1
-1
6
45
-23
0
110
-24
0
0
58
0
0
2
-133
0
0
-23
14
0
0
62
9
0
0
0
0
0
-18
-2
73
-2
0
0
27
-18
26
0
12
0
0
-8
11
5
-17
-4
18
0
16
49
2
-12
-1
-17
0
-37
69
0
0
-12
-24
0
-21
7
0
0
13
-17
0
23
-74
0
-26
60
13
0
-88
-36
0
0
148
0
0
-13
53
29
-41
0
66
0
0
18
-17
0
-2
0
0
-7
-6
0
-7
18
38
0
30
34
0
0
54
1
0
-5
77
-32
2
75
65
0
-71
13
-12
34
-31
-25
0
37
71
0
13
-5
-55
0
9
-3
0
2
106
-8
0
11
23
1
24
1
75
0
0
31
20
0
0
0
0
0
-37
-65
10
0
-4
0
0
20
-3
-6
9
0
0
12
-1
0
-4
-19
-38
0
-14
2
-2
-142
-53
1
0
-13
-100
0
-9
16
-66
0
52
-3
0
-59
83
0
0
-7
-4
-19
-4
-16
5
0
18
45
0
-43
3
0
0
0
1
-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
8
26
-11
-69
0
0
-5
0
7
-111
0
0
0
-6
0
-1
33
0
0
-1
6
71
-18
0
0
-18
-1
-90
-36
-6
0
0
-6
0
0
0
0
0
0
0
0
0
-33
-61
-26
48
-33
0
-119
-2
-20
-6
-8
32
21
-207
101
15
0
-5
64
49
-90
0
-26
-5
0
-49
-197
-278
0
11
160
0
-10
1
0
0
24
25
42
0
0
0
-22
-22
-1
0
12
1
29
-79
-55
0
105
-63
5
0
44
41
1
-16
-35
-2
0
122
-8
-4
0
-84
-3
-11
46
10
-4
-5
15
-14
0
27
50
0
-34
9
6
0
0
19
-1
-4
-57
72
30
9
51
-8
5
2
-59
0
0
-15
0
0
69
3
20
5
55
20
-4
-6
69
35
9
9
0
0
-2
-1
-52
2
-83
-15
-17
-3
-6
-34
-48
-25
130
0
-20
34
7
-20
-88
1
124
33
-22
-50
10
-20
-6
-18
-2
60
-89
13
-64
-2
0
7
39
-163
0
24
-1
0
0
-4
9
0
-22
12
0
0
0
0
-24
-1
0
-39
20
-8
9
3
51
25
-9
-24
81
-14
-7
59
-5
16
36
171
0
-11
29
0
67
43
174
1
0
-7
-24
74
17
10
0
-2
-64
22
-27
-25
0
1
0
-83
-18
-73
0
0
-44
0
-58
70
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-98
0
9
-11
0
7
-43
0
0
0
-6
0
13
-14
0
0
0
0
9
3
0
0
37
74
-38
46
9
0
8
-21
25
0
0
0
0
0
0
0
0
20
-15
6
-5
35
0
0
56
-2
0
-11
71
79
6
28
0
-22
9
127
0
-30
-16
29
0
0
-50
-41
-73
0
7
10
0
0
0
1
0
-23
4
-6
0
0
0
16
-13
-2
-7
-40
0
0
-46
65
0
-11
-72
0
0
-15
-31
-2
23
-70
0
0
-5
-48
1
-3
52
-34
28
25
-35
0
0
-8
-14
0
79
0
15
-22
-13
-18
0
-41
-48
0
0
-7
-2
12
-4
-74
47
55
10
-2
0
0
-43
5
0
0
0
0
6
-2
27
5
-1
-14
-5
-4
36
9
26
-85
9
0
8
29
51
-23
-28
76
0
16
32
8
6
-23
-21
0
-15
-10
-19
-60
-71
19
0
-2
0
0
0
-18
16
18
0
-38
0
0
-1
12
-23
0
10
0
8
0
0
-22
0
-39
0
0
0
0
0
13
-40
-11
-18
-14
0
8
14
31
0
-5
10
-11
0
0
-19
7
7
24
0
0
0
-26
1
43
26
-59
0
6
-7
0
-68
-21
0
0
-18
0
0
29
6
-26
0
-1
-35
0
-18
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
-18
0
0
-2
0
0
81
0
0
0
0
0
-18
3
0
0
0
0
-14
0
0
0
52
0
0
33
0
0
0
87
0
0
0
0
0
0
0
0
0
80
0
0
0
8
-1
-8
-24
5
0
0
80
0
-3
-8
0
0
0
-16
0
-1
0
8
0
0
0
0
87
0
0
0
0
0
0
0
0
55
-3
5
0
0
0
19
-14
0
0
-24
0
0
-19
-22
0
52
-40
16
0
0
-38
0
0
70
0
0
-24
-47
0
0
88
3
0
3
15
0
0
10
0
0
0
13
0
-73
25
0
0
0
-74
0
0
0
0
0
0
-5
10
7
0
5
0
0
26
0
0
0
0
0
0
146
0
0
-3
-13
16
3
-83
0
0
2
0
0
0
-21
0
0
-33
0
0
-7
-38
0
0
1
0
0
0
-29
0
0
-2
-7
-2
0
-23
0
0
0
0
0
0
-11
0
0
2
-1
0
0
24
0
0
0
0
0
0
-7
34
0
0
0
0
0
37
0
-7
-10
0
0
0
-62
0
0
0
0
0
0
-12
0
85
9
0
0
0
34
0
0
2
0
0
0
0
0
68
0
0
0
0
29
0
-3
0
13
0
0
-7
0
1
0
0
0
0
-33
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
0
-7
0
3
-16
-3
0
0
42
0
-1
0
0
0
0
0
0
0
-126
3
0
0
-8
0
21
3
0
0
0
8
-16
-5
-16
-2
0
0
9
0
3
0
0
0
0
7
0
37
0
10
0
0
0
0
0
0
-45
1
10
0
0
0
0
-44
0
0
0
0
0
5
15
0
19
23
0
0
22
43
0
0
-48
0
0
1
-51
0
1
-9
0
0
4
50
0
0
-10
3
0
12
-32
0
10
-2
0
0
-1
-4
0
0
6
0
0
0
-104
0
0
0
0
0
0
-31
0
0
0
0
0
0
36
0
0
0
0
0
0
-24
0
0
8
0
0
0
-149
0
0
20
0
0
0
-46
0
0
-7
0
0
3
-47
-1
9
-8
-3
0
0
-12
0
0
0
0
0
9
-16
0
0
0
0
-6
0
34
7
0
0
0
0
0
41
0
0
0
0
0
0
-11
0
0
0
0
0
0
42
0
0
0
22
0
17
-3
0
-1
0
0
0
0
16
0
0
-3
0
0
0
45
0
8
9
-6
0
0
32
0
0
0
0
0
0
70
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
-1
18
0
0
-17
0
0
0
0
-1
0
-30
0
-1
52
-1
81
-18
0
0
-10
-85
-115
27
-11
-7
31
26
11
-94
0
0
0
0
0
0
0
-60
-73
2
-4
23
-7
-59
-105
26
1
-7
-43
73
-3
2
43
3
0
9
56
-21
-4
-16
-9
0
28
26
-6
0
36
-40
0
-7
47
26
0
-12
42
-90
-5
-49
0
132
-25
0
0
-2
3
-27
42
1
0
17
-13
-17
0
84
-12
0
-6
73
9
0
61
-24
6
0
49
49
-17
1
-20
-2
-8
-61
31
0
42
-68
0
-15
3
-5
32
21
-54
-5
0
-2
27
55
-1
-20
4
-34
0
-14
0
0
17
22
0
-23
-7
-17
32
2
78
27
26
-19
7
110
-54
3
-16
-67
72
17
118
1
18
26
-18
-36
18
82
59
19
17
92
-91
-20
-3
-26
-28
9
-61
-55
13
45
1
5
0
-6
-46
-21
-15
-87
-1
0
-5
162
-44
0
-20
-134
0
0
-41
-54
0
55
-27
-6
0
-17
-5
0
3
-6
70
8
-5
94
2
-15
0
42
4
-31
221
33
0
0
-88
-25
164
8
-3
56
-24
20
-57
7
103
-43
-4
-1
45
18
19
101
24
20
2
38
35
59
12
-6
-25
29
26
2
35
-38
0
25
45
-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
63
0
0
-9
0
0
-11
0
0
0
0
0
19
-23
0
6
0
7
-10
86
-6
0
41
0
-34
1
55
0
0
30
0
13
0
0
0
0
0
0
0
-26
2
0
0
6
0
28
-37
0
0
0
-35
-2
-28
41
13
0
0
-1
0
-5
-2
-15
0
0
60
0
-51
0
-2
-26
0
0
0
-1
0
-8
-6
2
8
0
0
-3
13
0
0
22
0
5
-30
-25
0
32
-43
0
0
4
61
0
0
58
0
0
-35
-198
0
0
-6
0
6
-48
-53
0
0
-53
0
-3
68
-6
0
52
22
0
-1
64
47
0
0
-5
0
-2
0
-81
22
5
0
0
0
0
-62
-1
0
0
0
0
8
-1
0
0
-17
0
-17
63
-22
0
14
-108
0
-2
28
-3
0
0
-9
15
38
8
2
0
0
-20
0
57
-38
8
0
-13
23
0
86
29
-49
0
0
17
0
21
-3
20
-1
3
-15
0
-40
0
21
0
0
0
0
-4
0
37
-2
0
0
0
0
-10
-20
0
-8
17
0
-6
4
56
0
0
34
6
0
0
0
0
60
22
0
0
0
-71
0
0
-25
0
-2
20
54
0
54
-3
0
0
0
-27
0
-10
-30
0
-1
0
-43
0
-75
0
0
-23
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
56
0
0
0
0
0
19
-50
0
0
0
0
106
8
52
0
13
-11
0
13
21
0
16
-23
0
0
0
0
0
0
0
0
0
-3
-8
0
0
112
-1
0
22
32
0
0
-103
73
0
-53
-8
27
0
-7
0
0
139
9
0
0
13
-52
0
0
10
-8
0
0
0
0
0
71
-35
12
-10
0
0
-12
-84
0
0
-18
0
0
100
83
0
9
-21
-3
0
51
49
0
-12
14
0
0
-99
-10
0
0
60
147
0
73
4
0
23
57
1
0
14
56
0
-187
82
-98
0
24
-33
0
16
0
0
0
0
26
13
59
0
22
0
3
7
9
0
10
-24
0
14
32
0
41
123
0
-10
-8
20
5
8
69
-1
0
-74
11
0
43
-28
24
0
-81
37
0
-1
48
-7
0
-7
-52
0
8
38
52
0
8
-16
8
3
71
-4
0
11
-56
0
49
14
-31
51
0
-16
1
0
0
0
0
0
-22
2
0
2
-4
0
8
124
0
-59
0
0
0
0
-77
0
9
59
10
0
28
41
0
-46
96
0
0
0
-84
0
21
17
-1
0
-19
-57
0
156
45
0
0
1
-57
0
34
9
-10
0
0
11
0
32
-13
0
0
0
7
8
13
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
22
0
8
-37
0
0
0
60
0
0
0
0
0
0
0
0
0
27
-15
3
0
28
0
0
5
0
0
0
47
0
0
-19
0
0
0
8
0
13
-1
-2
0
0
2
0
-2
0
0
0
0
0
0
0
0
-118
0
0
0
0
0
0
-2
0
0
-3
0
0
-20
59
0
20
6
0
0
24
61
0
0
-3
0
0
-9
13
0
3
18
0
0
0
-4
0
14
7
0
0
8
2
0
-38
1
22
0
0
3
0
0
0
0
0
0
-149
9
37
0
0
0
0
15
0
0
0
0
0
0
-17
0
0
1
4
3
0
52
0
0
-3
0
4
0
-76
-3
0
-15
-11
0
0
32
4
0
-8
0
0
0
-39
0
0
-16
-25
0
0
8
0
0
-7
0
-5
0
-32
0
0
-1
0
0
0
-20
0
0
0
0
0
0
25
-2
-1
0
0
0
0
64
0
0
0
0
0
0
-21
0
0
0
0
0
0
39
0
-6
0
0
0
0
-2
0
0
-1
-2
0
7
17
0
12
-1
2
0
0
32
0
0
8
8
0
0
44
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
-132
0
0
0
0
0
-1
0
0
0
0
0
15
-27
0
0
83
-19
0
10
6
2
0
-88
0
1
0
0
0
0
0
0
0
47
6
-6
16
7
0
-2
-11
0
0
-10
-36
0
0
-55
-11
0
0
-16
0
2
-3
0
0
0
10
-15
3
0
0
29
0
0
0
0
0
43
0
0
0
0
0
3
-6
0
0
-3
0
0
-1
93
0
14
-26
-17
0
42
-25
0
0
149
0
0
-3
39
0
0
-63
0
0
34
-100
0
0
-7
0
0
-21
3
0
50
0
0
0
0
0
0
0
18
0
-8
0
67
0
-8
0
-9
0
0
-15
0
9
-7
0
0
0
-2
0
0
71
6
-6
0
-25
0
13
-12
0
-20
-1
-24
0
0
-41
-2
0
10
23
-2
-1
-52
0
0
-27
-33
0
29
33
8
0
0
36
0
0
10
22
-4
6
0
0
2
0
0
-72
0
-96
0
0
0
-1
0
0
63
4
-2
0
0
0
0
82
0
12
-5
0
0
0
-38
0
-3
-6
0
0
0
-15
0
11
-11
-5
0
0
-52
0
1
-10
2
0
0
-53
0
31
-2
25
0
-3
-19
0
0
0
-2
0
0
0
0
-26
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
36
-56
0
0
0
-1
0
0
0
0
0
0
0
0
0
125
0
0
0
4
0
0
-29
0
0
0
-5
0
0
15
0
0
0
60
0
0
0
0
0
0
0
0
-14
0
24
-15
0
0
0
1
0
-59
0
0
0
0
0
0
77
0
0
4
0
0
-1
-56
0
65
27
0
0
-84
-119
0
0
41
0
0
15
59
0
0
1
-2
0
5
-14
0
0
26
0
0
-5
31
0
26
14
0
0
0
15
0
0
0
0
0
0
-66
0
33
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
-3
48
0
-80
0
0
0
0
-15
0
40
0
0
85
-3
0
0
73
0
0
27
0
0
-6
-14
0
17
-1
0
0
12
126
0
0
-21
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
53
0
0
0
0
0
0
50
0
0
0
0
0
0
64
0
-2
0
0
0
0
-4
0
-13
0
0
0
0
62
0
-9
0
0
0
0
55
0
0
-34
0
0
0
143
0
-21
0
0
0
0
22
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
-7
-4
0
46
-49
14
-61
63
34
-37
-21
-48
-77
27
-23
-55
28
20
-2
-1
2
19
54
9
-12
-45
-51
0
0
0
0
0
0
0
3
7
61
6
16
32
10
-33
-26
-28
-49
-21
8
21
-42
-113
86
-62
-19
109
13
10
23
63
-5
-6
1
3
-20
43
-107
-25
75
67
-24
53
-2
-39
-100
-27
-62
-44
2
3
133
-5
29
46
-17
-54
-8
-43
13
2
18
-173
1
-8
-10
-5
-6
1
-31
14
-8
-95
-101
-9
-3
2
-47
-15
15
-18
4
2
2
-14
3
-20
-140
9
2
32
4
-4
61
-17
-30
99
-5
5
-1
-101
-37
4
-8
90
4
-1
-76
3
36
62
-36
-3
-10
-65
-8
11
28
-16
-46
-6
-107
-2
-5
-30
-22
-20
-4
8
-16
10
-29
-4
35
-1
62
28
17
13
9
7
-2
14
6
-5
-22
-47
-25
-3
-178
60
-30
-59
36
15
6
-11
33
-6
-28
32
13
-18
-70
-93
-7
3
-75
-57
-4
-10
-37
-35
-64
42
-11
-5
39
-30
-43
68
34
73
24
-42
-13
-1
-35
-109
38
-13
54
5
-12
14
-156
146
-4
-63
19
26
-33
-114
14
-15
-94
29
-45
-24
-66
9
17
-53
34
21
19
-18
50
2
10
-46
-32
13
1
-4
3
14
-7
-47
-100
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-147
-6
11
-31
0
0
0
-79
0
-4
0
0
0
0
0
0
0
-46
0
0
0
13
17
0
-9
0
0
0
0
0
-8
11
0
0
0
50
0
0
0
46
0
0
0
-4
4
0
0
-25
0
0
0
0
0
-24
0
6
0
0
0
-19
-1
0
0
1
0
0
-2
48
0
6
-24
0
0
34
8
0
0
25
0
0
31
3
0
0
-3
0
0
49
36
0
0
0
14
0
0
-40
0
-108
8
0
0
0
47
0
0
0
-7
0
0
8
-2
40
0
0
0
0
53
0
0
0
0
0
0
-57
0
0
0
0
24
0
-26
0
-1
3
0
-2
24
-49
17
-2
35
0
-5
5
-29
-1
-14
25
0
0
0
-41
0
32
0
0
9
0
-110
0
0
0
0
6
0
68
0
0
0
0
-92
0
80
0
0
0
1
-7
0
-27
0
0
0
0
0
0
6
0
-2
0
0
0
0
-61
0
-1
0
0
0
0
61
0
31
0
0
0
0
-4
0
0
0
2
0
0
14
0
48
0
0
0
0
-16
0
0
0
0
0
0
-32
0
-50
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
-32
0
0
0
19
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
-18
0
0
0
-4
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
13
-44
0
0
0
-104
0
0
-8
0
0
0
1
0
0
1
0
0
1
49
0
0
13
0
0
0
-4
0
-20
0
0
0
-1
68
0
0
0
0
0
0
1
0
0
0
0
0
0
-63
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
-28
0
0
100
0
0
0
-39
0
0
0
0
0
0
8
0
0
0
0
0
0
-45
0
0
0
0
0
0
-15
0
0
0
0
7
0
-66
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
33
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
54
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
5
-11
0
0
0
0
-5
8
41
-1
40
-7
0
-40
-26
-9
-6
34
-17
0
23
-97
7
-6
-71
-4
0
0
0
0
0
0
0
0
-6
-29
-7
-23
-99
-47
0
54
-2
-3
3
-14
20
0
35
-66
0
1
19
65
0
30
38
0
-2
27
74
0
0
-12
-14
-1
0
69
0
36
0
154
13
27
-6
0
17
-17
0
-10
49
1
0
56
73
-15
-24
-10
-71
0
57
18
0
-38
39
-14
0
50
-15
0
-7
-46
-32
0
-124
-6
18
16
58
16
0
52
75
0
23
143
44
0
-42
7
40
9
1
-26
0
-31
-7
-18
-104
0
-38
0
0
8
-12
11
-50
-1
0
84
33
-3
76
11
-37
-4
1
0
37
8
16
19
0
29
46
38
-101
7
-27
0
-49
60
1
-28
56
39
0
82
2
-13
-24
84
60
0
111
33
-26
-14
93
-20
12
14
-34
2
7
57
-7
0
-1
-46
-16
39
0
-6
0
13
14
36
-1
13
46
0
24
33
-2
-25
-18
-1
0
51
10
0
-25
-33
23
0
-38
16
0
17
24
-56
0
65
2
5
76
78
45
0
46
-18
82
83
-7
22
0
37
-14
4
50
-1
-38
0
0
5
-4
68
51
-1
0
0
2
20
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
-7
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
-9
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
-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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
38
0
0
32
15
0
0
2
16
0
-11
-4
0
0
-4
0
0
1
0
0
0
0
0
19
0
0
-10
0
0
0
0
0
21
-6
0
0
0
0
-6
40
0
0
0
0
0
15
-13
0
3
-6
0
0
-13
9
0
0
9
0
0
-3
-52
0
0
55
-16
0
-16
-6
0
0
-42
0
0
-3
57
0
3
-5
15
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
-70
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
1
0
0
48
9
0
0
-27
-10
0
0
13
0
0
6
0
-2
0
-18
0
0
-2
-5
0
37
-10
0
0
-9
0
0
0
2
0
0
18
0
0
0
0
2
0
0
0
0
0
31
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
26
0
0
0
7
0
-5
5
0
0
0
5
0
4
0
-17
0
0
44
0
10
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-17
3
90
65
-38
-13
-149
33
-10
1
-18
-2
-17
71
-50
-3
-99
-21
0
0
0
0
0
0
0
-10
-7
-16
-44
-45
0
-12
-17
10
16
-10
-4
-64
7
-6
-27
-12
-61
-7
27
-2
-83
-90
-75
-72
-17
-1
2
-119
-15
55
-58
-59
6
-70
13
0
73
13
53
38
-68
36
0
-43
-31
4
-47
-48
-12
-4
-88
12
4
8
-4
-13
-4
15
1
-2
-39
-28
-17
-5
-36
-52
-7
-43
-5
-3
-5
-23
-3
6
17
-68
-11
2
-73
9
10
5
-24
10
-10
-32
-167
10
60
-18
36
-3
-46
41
-101
-18
-97
-82
5
-33
45
-47
16
-50
-5
-18
38
-3
37
-16
-3
3
0
-54
-20
25
-132
10
11
-5
-55
17
13
-22
19
30
0
43
48
1
50
17
6
2
-89
37
19
28
-56
-25
-6
-7
29
-28
-59
-3
-20
-8
6
37
-35
44
5
-74
-7
-15
-77
-77
-42
-58
-46
-4
14
-68
-51
40
-3
-22
-17
11
35
-49
41
-8
0
3
-26
-1
-26
57
-34
13
-8
-25
-17
1
-84
-13
-16
-2
13
-42
36
2
-18
0
15
117
-43
-20
-67
-6
51
6
104
-12
-16
0
-30
-59
-1
-63
-42
-9
-111
13
-5
-15
17
23
-39
25
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
-11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-4
0
0
-1
0
0
0
-16
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
-2
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
-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
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
16
0
0
0
33
0
0
0
0
0
0
0
0
0
37
8
0
12
0
0
0
180
0
0
0
0
0
-4
-54
0
0
0
0
0
0
0
0
0
0
0
2
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
82
0
-44
27
0
0
-49
17
0
0
105
0
0
0
-61
0
0
0
0
0
5
-36
0
0
-5
0
0
0
0
0
-7
12
0
0
0
89
0
0
0
0
0
0
-17
0
-9
0
0
0
0
34
0
0
0
0
0
0
-43
0
0
0
0
0
0
-21
0
0
5
0
0
0
-82
0
0
-6
0
0
0
30
0
0
0
0
0
-5
-16
0
-6
-7
0
0
0
27
0
0
2
0
0
0
-106
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
-4
0
0
0
0
0
0
-2
0
17
0
-1
0
0
-9
0
0
22
0
0
0
-77
0
0
0
0
0
0
55
0
0
0
-9
0
0
-36
0
6
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-25
0
0
0
8
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-5
0
0
0
-17
0
0
9
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-33
0
0
0
0
0
0
53
0
0
0
0
0
0
-24
0
9
-5
0
0
52
-60
0
0
-4
0
0
3
10
0
0
1
0
0
-12
35
0
0
-12
0
0
0
0
0
-7
4
0
0
0
93
0
0
0
0
0
0
-30
0
0
0
0
0
0
34
0
0
0
0
0
0
3
0
0
0
0
0
0
-103
0
0
0
0
0
0
-12
0
0
11
0
0
0
-26
0
0
15
0
0
0
-33
0
0
0
0
0
0
95
0
0
1
0
0
0
-9
0
0
0
0
1
0
-29
0
0
0
0
0
0
-5
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
-2
0
-17
0
0
0
0
-5
0
0
0
0
0
0
17
0
34
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
57
-25
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
-92
0
0
16
0
0
0
-31
0
0
3
0
0
0
27
0
0
3
0
43
0
-15
12
0
0
0
77
0
0
0
0
0
-10
0
0
0
0
0
-11
54
0
0
0
0
0
2
59
0
20
-89
-4
0
-39
-71
0
0
-68
0
0
-51
47
0
4
43
0
0
-13
0
0
0
-21
0
0
1
-19
0
193
0
7
0
4
-49
0
0
0
0
0
0
87
6
0
0
0
0
0
-31
-3
0
0
0
0
0
-42
11
0
6
7
0
0
115
0
0
17
0
0
0
24
0
0
59
1
0
9
36
0
0
6
0
0
-13
5
0
11
31
2
0
7
-14
0
0
19
0
0
0
9
0
0
-3
5
0
0
39
13
0
0
0
0
0
15
10
0
0
20
0
0
-7
0
6
0
0
0
0
-82
11
0
0
0
0
0
-21
0
-4
0
0
0
0
9
0
-35
12
-3
0
0
-36
9
76
-9
19
0
0
7
0
0
3
9
0
0
-18
0
-7
0
0
0
0
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
17
0
0
0
0
0
0
14
0
0
0
38
0
0
0
0
0
0
0
0
0
26
0
0
0
-5
0
0
0
0
0
0
-12
0
15
-55
0
0
0
-1
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
0
-15
0
0
0
-1
0
1
-81
0
0
0
0
0
9
-33
0
-1
-5
0
0
32
7
0
0
21
0
0
-2
8
0
0
-11
0
0
20
30
0
0
-15
0
0
0
48
0
23
0
-3
0
0
-7
0
0
-1
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
69
0
0
-2
0
0
8
-7
0
0
2
0
0
0
2
0
0
-4
0
0
0
-1
0
0
-1
0
0
0
134
0
0
0
0
0
0
-26
0
0
0
-3
-2
0
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-34
0
0
12
0
0
0
-31
0
0
0
0
0
0
-5
0
-4
0
0
0
0
24
0
-2
-1
0
0
0
-9
0
0
0
0
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-170
-12
0
0
99
-3
12
49
-1
0
0
50
0
0
0
0
0
0
0
0
0
-19
2
0
0
8
0
-27
93
32
0
0
-17
85
-46
63
-2
0
0
3
0
15
-1
-1
0
0
-1
-23
-3
0
0
41
0
0
0
37
0
0
0
12
0
0
0
-7
64
18
13
-114
0
0
-26
-109
6
-79
-31
-7
0
11
-24
9
11
70
19
0
37
-37
0
0
-87
2
-9
98
-36
0
10
-44
0
0
38
-14
-2
32
92
4
0
-15
-42
0
0
0
0
-18
0
53
116
-8
0
9
0
0
0
0
0
0
0
0
0
121
0
-18
18
-8
0
-62
-43
-7
0
48
0
0
-41
-13
0
0
-18
-45
0
-11
-9
9
-6
-27
24
-2
-12
-28
0
1
29
-39
0
0
-54
0
3
-26
-7
14
0
-67
0
3
4
0
14
0
-13
0
0
0
0
0
0
0
-21
0
-2
-3
0
1
-49
0
34
11
0
0
0
-5
0
-8
19
-6
0
0
-22
0
-4
103
-11
0
0
-18
0
15
-77
-24
0
0
-43
0
-99
-78
0
0
0
0
15
-2
21
-1
0
0
-1
0
21
0
0
2
0
-52
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
25
30
1
0
69
-6
-30
-10
-23
21
4
-40
-5
-8
0
0
0
0
0
0
0
36
66
-8
-6
28
0
67
-9
-10
-1
2
-94
13
-78
-55
-2
0
0
-102
45
-56
4
107
0
0
136
-216
-79
0
-6
8
0
0
13
-11
-1
-138
0
109
-1
4
-2
59
6
3
17
111
-9
66
-24
-20
0
-24
-89
-22
14
0
-123
0
-4
-40
15
2
86
9
2
-3
-94
-48
0
-111
45
0
-3
-24
14
23
-71
-2
0
50
-1
20
-5
35
-59
0
-2
-22
-10
10
0
30
1
-28
0
-14
0
-8
-159
0
0
-10
19
-4
59
24
-1
2
2
-105
53
26
-18
0
-4
-17
110
34
-43
-55
4
-40
19
14
-3
-31
45
1
1
-17
-6
-9
-14
20
19
-9
-54
-109
28
11
-4
0
0
7
0
25
1
-3
0
8
-98
-13
-54
0
77
-1
0
0
4
-5
0
32
0
10
0
0
0
0
45
0
54
1
0
28
0
-71
0
63
-25
-10
3
-14
-60
0
-108
-24
17
0
0
-11
0
-13
116
32
6
-3
17
3
-91
-1
-5
6
0
69
0
-4
84
25
0
0
58
-1
-23
-4
0
14
0
4
-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
-2
0
0
0
-1
0
0
-43
0
0
0
-1
0
0
0
0
0
0
0
0
0
-55
0
0
0
-1
0
0
5
0
0
0
-2
0
0
-2
-5
0
0
-1
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
-2
0
0
0
13
-23
0
0
-3
0
0
19
-70
0
0
-1
0
0
-1
-51
0
0
-1
0
0
0
-3
0
-3
3
0
0
0
-4
0
0
0
0
0
0
-79
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
-38
0
0
-1
0
0
0
-53
0
20
-3
0
0
0
-10
0
0
9
0
0
0
-7
0
0
17
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
-25
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
-25
0
0
0
62
0
0
12
0
0
0
69
0
1
66
0
0
0
-6
0
0
0
0
0
0
0
-13
2
0
0
7
0
0
0
0
0
15
0
3
0
0
0
0
-52
0
0
2
0
0
31
-77
0
-75
-3
1
0
-42
-25
0
0
-24
0
0
13
-25
0
0
-59
7
0
-18
19
0
0
3
0
0
2
-10
0
-105
-15
3
0
0
-5
0
0
0
0
-1
0
-10
0
6
0
16
0
0
-72
-34
0
0
0
0
0
72
0
0
0
0
0
6
79
0
0
-1
0
25
0
-71
0
2
10
-8
0
0
-52
0
0
-36
0
0
0
22
1
0
34
-14
0
0
-11
0
0
3
0
21
0
20
0
0
-1
0
-6
0
43
0
0
0
0
0
0
-30
0
0
0
0
0
0
24
0
-12
0
0
0
0
-51
0
0
5
0
0
0
41
0
8
19
0
0
0
-1
0
0
0
1
0
0
34
0
1
3
0
0
0
119
0
0
0
0
0
0
52
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
-2
0
0
0
19
3
48
-61
0
0
0
73
0
0
0
0
0
0
0
0
0
-67
1
0
-3
-4
0
-4
38
0
0
0
-81
0
21
-75
0
0
0
-12
0
-8
0
27
0
0
61
0
-97
0
0
2
0
0
0
0
0
8
0
0
0
0
0
0
-111
0
0
-3
0
0
2
-32
0
20
-49
0
0
-82
59
0
0
-12
0
0
3
-124
0
0
-15
0
0
22
-93
0
0
-23
0
0
-27
63
0
94
26
0
0
1
20
0
0
0
0
0
0
118
-5
0
0
0
0
0
-22
0
0
0
0
0
0
-46
0
0
-13
0
-10
0
-226
0
0
-11
0
0
0
-19
0
0
5
0
0
50
-93
0
0
-114
-3
-2
4
-105
0
-5
92
0
39
-5
7
0
0
-4
0
18
11
57
0
0
-1
2
-8
0
-91
0
0
0
0
0
0
15
0
0
0
0
0
0
-23
0
-3
0
0
0
0
-53
0
3
-1
0
0
0
33
0
-11
15
0
0
0
26
0
0
95
0
0
0
20
0
-4
57
0
0
-2
6
0
0
3
0
0
0
-48
0
13
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
-61
0
0
0
1
0
0
0
0
0
0
0
0
0
-11
0
0
0
1
0
0
-2
0
0
0
-8
-1
0
-110
0
0
0
-7
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
0
-2
84
0
0
0
0
0
40
0
0
0
0
0
-13
-2
0
-93
14
0
0
-13
-60
0
0
8
0
0
-6
-31
0
0
12
0
0
35
-18
0
0
2
0
0
0
-18
0
13
0
5
0
0
-39
0
0
0
0
0
0
1
1
-2
0
5
0
0
-66
0
0
0
0
0
0
55
0
15
0
4
0
-3
10
0
0
37
0
0
0
43
0
-2
-12
-11
0
0
53
0
0
40
0
0
-7
-109
0
0
-14
-6
0
0
57
0
0
0
0
0
0
25
0
0
-3
-1
0
0
15
0
0
0
0
0
0
-58
-8
0
0
0
0
0
35
0
9
0
0
0
0
48
0
0
0
0
0
0
-43
0
24
3
0
0
0
12
0
0
0
3
0
0
143
0
-2
0
0
0
0
28
0
0
1
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
45
-7
0
0
-98
16
0
0
0
0
0
0
0
0
-17
50
25
-16
-22
20
19
-4
-49
-1
-5
40
-17
-64
-115
73
9
-1
-16
-6
28
17
-32
0
0
2
-16
-27
0
-18
90
0
0
-3
-74
0
-17
49
3
-2
33
0
10
-18
-5
4
-86
-26
0
24
-28
4
-36
-129
132
-4
-12
97
2
-1
13
17
-2
-24
-1
0
17
-13
47
8
-77
1
0
0
-100
14
-9
111
20
0
18
-106
-18
30
-66
56
4
0
31
-49
-74
0
8
-39
92
0
22
0
0
-10
-23
0
-17
-10
0
10
4
0
-10
26
-17
-5
-19
34
0
50
1
26
-1
45
94
-6
-48
25
-9
17
4
-76
3
56
3
42
108
-45
52
-1
-5
66
6
12
43
-18
-2
4
-83
-6
80
0
-20
-1
-3
-60
0
-48
0
-11
-2
69
10
91
4
0
-28
94
0
-2
-4
0
0
-26
0
39
-1
-7
18
-9
37
6
-3
-76
38
-1
3
-2
2
41
-63
4
-1
26
17
0
39
73
91
-10
-7
1
28
-62
-13
-32
-53
2
-30
0
10
85
-83
41
0
-26
0
40
-20
0
78
0
44
35
-1
-12
-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
-20
-4
0
-8
-92
-9
2
0
0
0
0
0
0
0
67
95
-8
25
74
5
-37
-19
18
0
21
-14
98
117
-14
-17
0
0
61
2
-1
132
-3
0
0
15
-127
-46
0
13
29
0
0
-1
-26
0
21
-25
80
-2
17
0
81
0
-5
-6
12
18
0
-86
-24
9
-41
82
114
0
54
-8
0
0
90
0
0
62
-40
6
-4
25
0
-14
-27
16
3
3
44
-11
-8
-80
-17
0
-60
31
-19
21
-30
11
0
0
47
0
26
1
13
-9
-3
0
22
-4
0
-24
-6
0
0
1
-16
27
0
0
0
37
12
-9
39
-15
0
-3
59
11
-110
-2
14
-2
7
79
64
102
-141
-80
-10
-11
19
3
-12
11
-28
2
10
-204
-98
183
32
14
0
26
29
0
14
-80
15
1
-8
74
25
23
0
-21
-10
0
0
-6
-6
0
-153
9
-3
0
-7
0
6
0
2
-13
15
2
2
10
-22
0
-7
-65
-13
0
17
26
-1
-14
61
-16
0
6
4
0
8
-23
94
-4
-39
-23
0
-7
-61
-2
79
52
-41
4
12
-30
-26
-1
0
-47
0
-15
1
0
-17
0
-7
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
34
0
0
0
-5
1
0
0
0
0
0
0
0
0
144
0
0
1
60
0
12
2
0
0
0
67
12
0
83
11
0
0
-1
0
0
0
11
0
0
0
0
4
0
-14
0
0
0
0
1
0
-78
-12
0
0
0
0
-3
-94
0
0
0
0
0
-4
103
0
-2
6
0
0
56
30
0
0
-1
0
0
9
24
0
0
2
26
0
-2
19
0
0
-11
0
0
6
9
0
12
4
0
0
0
8
0
0
0
0
0
0
49
-6
0
0
-5
0
0
-43
0
0
0
0
0
0
14
0
3
0
0
0
0
19
0
0
0
0
0
17
-57
0
-9
-3
-2
0
0
-48
0
0
51
0
0
0
-18
0
0
-6
0
10
0
-86
0
0
0
0
0
0
79
0
0
0
0
-3
0
-113
0
0
0
0
0
0
36
0
0
0
0
0
0
85
0
27
0
0
0
0
-34
0
0
0
0
-1
0
2
0
-17
6
0
0
0
26
0
0
24
0
0
0
36
0
4
0
0
0
0
129
0
0
0
0
0
0
148
0
-9
0
0
0
0
-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
-77
0
0
0
8
0
0
0
0
0
0
0
0
0
-1
3
0
0
2
0
0
11
0
0
0
-3
0
0
-4
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
5
-1
0
19
-3
15
0
-10
-50
0
0
-17
0
0
3
-96
0
3
-1
0
0
31
-24
0
0
2
0
0
0
-5
0
11
0
0
0
0
-2
0
0
0
0
1
0
12
2
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
4
-64
0
0
-3
0
0
3
-27
0
0
-4
0
0
-1
-10
0
0
-9
0
0
0
-42
0
0
0
0
0
0
-79
0
0
0
0
0
0
99
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
2
0
0
0
0
0
-2
0
0
-9
0
0
0
37
0
0
0
0
0
0
-18
0
2
6
0
0
0
-10
0
0
0
0
0
0
-12
0
0
3
0
0
0
-10
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
35
-25
0
-5
79
31
10
0
0
0
0
0
0
0
30
-5
-65
48
83
46
4
18
-33
76
61
32
62
57
-25
79
-7
-17
0
-54
25
68
-23
50
-2
72
12
24
-8
-2
-16
0
3
-17
-57
-25
23
3
-66
-1
-24
0
-71
16
36
-21
-10
16
0
-69
-27
44
-7
-133
3
2
31
3
16
-6
126
33
0
-16
13
0
16
26
69
8
-6
29
-13
12
59
14
54
-4
-10
19
14
36
6
36
-44
-42
-23
40
-38
81
83
1
-2
-12
-53
5
-13
12
-14
-24
-41
10
1
62
-5
-66
-7
-63
-57
64
-40
-100
-138
-30
26
-3
-29
-27
-53
46
20
0
-88
30
-1
39
-39
-23
-8
-23
40
27
1
-51
-7
75
-36
43
-25
24
-18
-7
11
-15
62
-57
-10
0
-14
118
-90
-7
-72
37
-2
7
3
-6
26
15
-56
15
-10
-77
-14
-8
-87
80
-65
-60
76
-90
-42
56
-57
-2
-15
-17
9
9
-71
4
10
-13
38
-3
-39
39
-107
-38
27
-24
-43
32
-66
-20
-4
-36
15
22
-8
-29
13
-11
10
76
-104
-48
-36
-2
2
17
36
-77
18
-76
10
-4
2
-57
3
79
-78
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-10
0
-58
0
-40
0
0
0
0
0
0
0
23
65
-16
19
-121
0
51
45
4
0
0
13
0
96
-16
-43
0
0
-46
0
-21
-14
-87
0
0
-61
0
-6
0
0
-94
0
0
0
-83
0
14
-144
-39
-6
1
0
40
4
8
0
39
-6
0
47
2
0
-51
-33
0
0
70
1
-2
0
26
13
-4
-117
-7
0
0
-45
0
0
39
1
0
-2
31
2
110
8
0
0
17
-12
-3
-21
148
-142
0
0
-87
0
13
23
-3
-95
-99
9
-2
-3
0
-10
-36
0
0
0
0
80
31
-51
19
24
2
-26
2
4
0
5
-45
0
-63
44
-43
0
-3
-13
0
-37
85
4
-5
-20
83
-28
31
37
-49
0
37
-51
8
109
57
-24
0
12
124
0
53
65
-59
0
27
12
-8
12
0
-5
29
0
0
0
22
0
-17
-4
0
-3
31
0
-24
-67
5
-21
23
0
-22
59
51
0
-18
-31
0
-11
13
30
8
8
124
4
42
52
49
4
-4
15
-3
55
4
-38
-1
62
51
3
9
0
47
-10
2
124
0
10
0
-39
0
-51
27
0
-26
0
31
-9
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
-83
86
-1
0
-79
-6
0
0
0
0
0
0
0
0
-3
45
-51
-8
40
-15
0
-24
-71
38
0
-39
-203
0
-5
137
0
0
-75
-15
0
-33
57
-4
-1
13
91
0
15
112
-17
0
96
3
0
0
14
80
22
0
-3
0
-51
-76
-19
-11
22
-1
0
114
5
1
-30
9
72
0
61
-56
-10
0
32
9
-2
-28
-11
4
2
-12
-2
3
32
27
-31
29
79
-6
0
30
159
0
-16
21
10
0
65
-36
0
0
-88
-2
0
-32
19
-7
-36
-9
-38
0
0
-4
14
65
-2
6
0
43
-16
-3
-77
-31
-87
0
134
52
-4
-1
67
-1
0
166
10
-6
35
22
56
0
7
-33
65
92
-11
30
0
69
-24
-27
-55
-9
16
0
59
26
0
-4
32
38
-3
26
19
3
-20
-29
-7
0
13
4
14
-2
18
-15
0
0
54
42
42
-5
-3
0
0
29
0
-18
97
2
0
0
-57
4
47
87
12
0
19
26
27
-6
-6
52
0
-16
-55
13
-11
6
-77
5
-20
-37
-33
22
-62
-26
0
-9
-25
1
8
82
-30
0
-2
-32
0
87
46
24
0
-4
57
34
0
16
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
14
-74
16
-49
-5
66
-28
-11
54
12
-12
-40
-60
-15
8
-29
-8
-56
37
-12
18
-35
61
-60
-60
-69
6
-6
14
-103
-21
-44
-71
-8
31
7
1
44
65
-12
-27
65
161
4
-2
-13
44
-5
-4
9
-30
-7
0
-4
8
1
-22
11
-34
19
-34
3
-16
-42
12
-95
-8
-37
-13
-33
-37
-1
62
45
-12
101
-43
-22
4
46
-2
-15
-29
-13
2
3
68
-48
-17
40
-41
-42
-3
-24
-44
-49
65
33
12
6
-32
-67
-51
-80
-23
-8
14
-41
-114
82
-11
-37
-24
-11
57
-95
20
1
36
16
-16
-50
-76
-10
42
24
-38
-18
94
-55
3
18
-4
-59
11
-102
3
0
-15
21
-61
-5
44
61
-3
68
35
55
2
12
31
-57
-33
17
49
12
-14
-192
-156
48
19
4
-34
-13
-20
24
26
-77
-121
-8
-20
-15
16
35
39
23
-5
92
-7
-28
-20
38
-56
-19
-55
22
60
-1
24
74
-7
35
23
-7
-5
-37
-5
9
-79
-19
-39
-43
11
-73
3
-9
7
14
-16
-29
91
-17
28
-31
-56
114
58
7
20
32
16
-103
75
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
31
-43
-7
3
-15
0
6
30
-19
0
0
13
16
-2
-168
26
0
0
2
0
25
0
-32
0
0
44
-14
-137
0
0
14
1
0
0
3
0
-77
27
24
0
-5
0
1
-88
0
0
83
0
0
-131
0
-2
-64
21
-10
0
-19
-9
0
25
7
0
-2
100
71
0
18
45
13
13
-93
37
0
7
50
-2
0
20
-90
-1
-71
8
-22
0
-1
34
0
0
-5
43
19
2
50
32
0
-1
-2
0
0
8
18
4
10
0
0
39
19
2
0
60
0
-2
-74
0
-1
0
-130
11
-6
26
54
4
-2
137
-27
2
-13
89
-2
-88
-65
-6
1
2
53
0
33
-2
66
47
-3
-33
0
-20
22
1
34
0
-55
-40
-2
40
13
94
0
51
0
0
0
0
0
0
-70
-10
7
0
0
0
0
-18
0
-4
43
4
0
-2
0
7
76
-31
-13
0
-4
-49
1
6
-32
-13
0
0
119
0
-87
35
-2
0
2
-59
0
-120
-7
7
0
-1
-109
0
-18
-5
-5
6
0
23
2
40
1
0
20
0
19
0
-6
-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
43
-4
0
-2
42
-1
0
10
0
0
0
-11
-20
0
-15
25
0
0
0
0
-2
0
-11
0
0
0
0
6
0
0
0
0
0
0
7
0
-39
6
0
0
6
0
0
-17
0
0
-12
0
0
-5
78
0
-17
20
0
0
16
-25
0
0
10
0
0
-25
-49
0
0
45
9
0
-23
-56
0
0
13
0
0
6
69
0
62
0
0
0
0
130
0
0
0
0
0
0
-63
4
-2
0
0
0
0
54
0
0
0
0
0
0
26
0
0
-1
0
0
0
-12
0
0
-10
0
-6
0
36
0
15
-12
44
0
5
-69
0
0
155
0
0
0
48
0
0
5
-11
0
0
6
0
0
0
0
0
0
-34
0
-5
0
0
0
0
-32
0
0
0
0
0
0
129
-10
-2
0
0
0
5
-48
0
-9
0
0
0
0
42
0
-3
0
7
0
0
-43
0
37
7
0
0
0
81
0
0
0
0
0
0
-47
0
72
-2
-1
0
0
-25
0
0
0
-5
0
0
-48
0
0
0
0
0
0
-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
-22
-35
8
0
52
0
0
80
-1
0
0
0
-12
44
-32
0
0
0
0
0
0
0
-4
0
0
17
1
-77
0
0
-13
0
0
0
-5
0
-51
-8
2
12
0
0
0
-59
0
0
-3
0
0
29
77
0
83
-20
0
0
39
121
0
1
27
0
0
-14
-5
0
0
-38
-6
5
-76
17
0
28
-14
0
0
9
22
0
27
54
0
0
0
-21
0
0
0
0
0
0
-68
-6
0
0
0
0
0
69
-3
0
0
0
0
0
-22
-12
0
1
8
0
-8
5
0
0
59
19
0
-14
-1
4
-1
-70
0
0
1
-67
0
5
-129
-6
0
0
-20
0
-1
71
1
-37
1
52
0
0
-7
0
0
0
-27
0
0
-1
-1
-2
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
20
-2
-1
0
0
0
0
164
0
-1
0
0
0
0
-43
0
-76
-52
0
0
0
-26
0
0
20
0
0
0
151
0
-12
0
0
0
0
-101
0
0
-5
-16
0
0
-51
0
5
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
26
39
-71
3
82
33
26
-4
22
44
21
-10
-68
-7
6
28
-14
-48
-69
37
0
0
4
24
-47
1
12
-41
-1
-16
-22
-12
-34
-15
39
12
42
22
-2
17
2
45
20
48
17
-40
69
5
43
0
74
0
1
4
-11
-16
-48
10
-15
0
-22
17
-49
32
69
129
59
19
13
93
33
24
12
-24
-3
-37
8
-2
9
4
-7
8
21
-4
1
-27
-36
-96
-23
-9
-40
-26
20
73
14
-15
3
-23
12
-22
34
63
-75
-46
4
-9
69
69
-25
3
9
-29
69
66
17
5
-10
7
-56
77
20
59
72
51
-7
45
-41
15
-48
-40
17
6
-42
9
9
30
33
-26
-18
13
-19
-11
14
-57
38
-1
85
-4
-16
10
9
8
-8
29
-9
27
-25
-31
-22
-28
43
-98
-31
-51
11
56
-19
49
0
-59
56
-28
23
39
-79
-79
99
9
17
-99
10
24
-26
40
-61
54
-60
12
56
39
111
-88
-13
-79
-25
12
23
-26
-18
-63
-54
-8
-8
97
12
75
-55
-12
-5
1
-53
37
-13
-25
20
7
81
-13
-12
-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
6
35
0
23
1
0
0
-22
-6
-8
0
5
0
-3
45
-15
0
0
28
0
0
0
0
0
0
-16
0
-35
0
1
28
0
0
0
0
0
26
0
23
0
0
0
68
77
0
0
-3
0
0
-28
103
0
29
-30
0
0
-10
83
0
0
-58
-1
0
15
-2
0
0
31
0
0
-12
-14
0
0
-37
0
5
-3
111
0
-28
12
0
0
0
24
0
0
-1
0
0
0
78
-2
23
0
0
0
0
-39
0
0
0
0
0
2
-102
0
0
2
-12
0
-10
-25
0
0
-16
0
0
0
-72
0
-1
-4
0
0
0
-103
0
0
43
0
0
0
-69
0
3
2
0
14
-4
-64
0
0
3
0
25
0
7
0
-1
-1
0
-2
0
-29
0
0
0
0
0
0
-7
0
1
0
0
0
-1
-49
0
-47
0
0
0
0
-16
0
0
7
0
0
0
31
0
0
-10
0
0
0
0
0
-3
-10
-20
0
0
-85
0
-9
0
-6
0
0
12
0
8
-2
0
0
0
-94
0
5
2
0
-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
79
8
0
11
-4
0
0
-42
0
0
0
7
0
0
-113
-22
0
0
18
0
0
0
19
0
0
28
-5
0
0
0
-1
-1
0
-2
0
0
35
-16
1
0
0
0
4
-39
0
0
17
0
0
1
-68
0
14
-17
15
0
143
7
0
0
-69
0
0
-38
-121
0
0
131
21
0
31
2
0
0
-50
0
0
2
-28
0
44
-12
-14
0
0
-5
0
0
0
0
0
0
-54
19
-3
0
0
0
0
12
0
0
9
0
0
0
-22
0
0
17
0
0
0
-39
0
4
106
0
0
-9
-62
0
-7
-23
22
0
-14
-4
0
13
80
0
0
-4
-61
0
0
13
5
0
0
31
0
0
-9
0
0
0
-4
0
-1
0
0
0
0
10
0
0
0
0
0
0
48
0
0
0
-1
0
0
134
0
7
0
10
0
0
-5
0
0
2
2
0
0
30
0
47
13
-2
0
0
54
0
0
-14
-4
0
8
-62
0
20
-2
9
0
4
-18
0
0
0
0
0
0
68
0
-3
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
21
10
43
16
-1
24
4
69
17
-62
-5
19
-48
-9
39
-22
-23
-3
26
-8
-25
-22
-73
1
-60
127
2
-4
11
-33
-23
-28
-9
3
-14
-28
3
-97
18
-26
-3
6
18
27
21
9
-37
-11
22
-162
3
-83
-38
39
6
56
46
-14
23
49
32
5
-120
-22
-6
-29
-34
0
-20
-28
2
7
-20
36
-10
-5
-138
15
-82
-61
4
29
-1
-4
65
-40
-19
-46
83
9
-39
-11
-12
18
87
24
6
-17
36
-2
49
8
6
-5
26
48
6
37
-53
-39
4
22
49
2
-18
-39
-85
5
-32
21
0
36
-24
-11
-5
-19
-29
10
26
39
-34
9
-32
-64
24
48
-35
66
-4
-79
-20
24
30
-2
-20
3
-53
33
49
115
-5
27
0
4
10
97
-34
34
37
4
-37
-28
23
-14
-4
-124
-19
45
-29
42
-30
40
1
-29
16
-4
-12
48
9
-78
25
75
-53
4
50
-26
-57
-38
-146
42
47
14
22
-20
-9
-78
-21
-24
18
-6
43
-6
16
30
-20
-29
-8
73
-15
-59
18
-41
52
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
127
0
0
41
-8
-36
-7
43
0
0
-4
-4
-14
3
-21
0
0
33
40
-33
0
0
-50
0
0
12
38
0
-5
-8
16
14
4
0
53
32
0
0
40
8
34
-32
46
0
85
-54
4
-8
46
-11
7
12
-30
14
8
-29
0
-102
-9
-8
-5
10
106
1
9
-3
31
-12
-21
-34
-20
0
-13
-44
116
37
132
43
0
0
8
0
2
0
-26
-2
-75
0
1
0
0
13
19
0
-14
-15
0
26
-22
-5
-13
62
7
143
-29
30
-6
32
-51
0
4
-48
-19
6
8
12
73
-13
-188
0
32
-36
-80
-9
14
43
22
-3
25
44
-97
1
-22
-51
0
22
-47
24
-103
6
13
0
82
-5
-10
17
0
-39
-3
4
0
-18
0
-4
-81
49
7
-18
-1
0
0
-9
-5
-33
9
17
53
25
32
0
41
44
-20
0
23
-63
0
-24
39
-10
0
80
0
-12
53
-42
0
0
11
-6
2
-82
54
-6
6
0
67
9
-28
126
25
-7
-1
-25
0
-6
18
26
12
0
-49
21
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
5
44
0
0
9
0
0
34
0
0
0
0
-1
32
0
-12
-8
0
0
0
1
0
-62
-1
-12
18
0
0
-2
52
0
0
18
16
0
18
56
0
65
-88
-8
0
17
30
0
0
-13
-1
0
-5
36
0
0
-3
-4
7
-18
69
0
0
-4
-2
0
0
19
0
-17
-6
0
0
-3
94
0
2
-8
0
0
0
-75
-13
18
0
0
0
0
-149
6
0
0
29
0
-2
76
-1
0
0
6
0
-22
87
0
0
-11
0
0
0
22
0
-2
49
10
0
6
-18
0
0
-25
0
0
32
-81
0
3
-13
-3
0
-6
43
0
0
-1
0
0
0
-14
0
0
0
-3
-1
0
-33
0
0
0
0
5
0
41
-11
13
0
5
0
0
-85
0
17
0
0
0
0
-26
0
0
-10
-2
0
0
-55
0
10
-38
-7
0
0
19
0
-1
-18
-10
0
0
36
0
-54
13
-6
0
0
-54
0
5
-4
43
0
0
-61
0
-20
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
-43
0
0
0
-15
3
0
-77
0
0
0
-2
12
-8
2
0
0
0
-29
0
2
0
0
8
0
0
-21
23
-6
102
3
29
0
-9
0
-9
13
0
0
-7
-13
0
60
-81
0
6
43
11
0
14
-61
0
-6
-134
-4
0
-56
4
0
-9
-3
0
0
-15
-22
0
2
27
0
0
-16
-48
0
-61
0
-4
0
0
-80
-6
0
0
0
0
0
-7
80
0
0
0
0
0
52
0
0
-6
-7
0
0
-8
0
0
71
-10
-4
-9
-65
0
0
6
-2
1
-6
-20
-14
0
19
13
0
-35
34
8
0
-1
4
0
2
27
0
2
-4
-52
0
0
-11
0
22
0
33
-12
18
-83
0
0
17
-1
26
0
-20
0
0
1
11
8
0
28
-1
33
0
0
0
3
-2
0
-12
3
0
0
-8
-2
-9
3
14
3
0
11
5
-2
-52
32
17
0
0
-39
0
7
-37
-23
0
0
3
0
106
31
23
0
0
-68
0
15
28
-9
0
0
-74
0
2
0
-2
0
0
-54
-12
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
-60
-129
75
5
-131
47
-10
40
-94
3
-7
15
58
19
56
-75
30
-1
36
-18
-94
-6
-1
-67
-1
-14
9
0
-6
-50
-27
-5
-12
15
0
60
-26
-4
4
-62
26
55
-11
68
150
87
-7
80
-6
44
3
-87
-27
2
45
0
94
61
-5
3
-20
-1
-25
87
123
10
73
-2
-62
25
4
-77
-1
23
-22
-48
0
29
-31
1
-3
36
-3
23
-4
14
-55
111
0
-29
8
14
0
-46
23
44
0
-3
3
-12
-40
-35
73
32
135
78
-33
-6
-114
-89
4
-70
-41
-30
-27
-19
34
-52
0
-6
41
-11
26
62
47
184
-18
-15
-4
119
8
32
82
87
-96
-5
13
1
-24
-51
-29
-38
31
114
-102
36
-48
11
-12
-20
21
6
-10
33
-6
11
133
-25
2
14
0
-2
-37
-4
-22
-6
-7
-9
-16
-39
26
-33
-32
138
48
0
1
-38
22
-67
-37
-1
-51
0
-29
-50
-17
35
-6
-22
-13
-1
-9
-5
-13
-36
-21
-66
13
-7
16
4
119
-14
41
19
12
-1
-9
97
0
-30
56
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
-16
-18
27
0
0
137
0
0
16
-4
0
0
-1
0
8
0
0
-7
0
0
0
0
0
93
0
0
12
0
0
-11
-21
0
0
-24
0
0
-7
-8
0
-9
70
0
0
-17
69
0
-3
15
0
0
8
-38
0
0
64
0
0
95
-53
0
0
-67
0
0
97
-135
0
12
6
0
0
0
64
0
0
0
0
0
0
29
-9
0
0
0
0
0
-21
0
0
0
0
0
0
22
0
0
-3
0
4
56
-47
0
0
121
0
0
2
70
0
0
1
-3
0
2
-73
0
0
-100
0
0
11
-59
0
0
-9
25
0
-1
-85
0
4
-13
0
0
0
-33
0
0
-16
0
19
0
-68
0
0
0
0
0
0
-51
0
0
0
0
0
0
37
0
6
0
0
0
6
69
0
0
22
22
0
0
12
0
-12
-8
1
0
0
132
0
-3
-5
-6
0
-7
37
-4
-82
4
0
0
0
-72
0
0
-6
0
0
0
-84
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
71
-30
0
2
33
0
0
-35
-8
0
0
-160
-17
0
54
54
0
0
-7
49
0
0
-41
-34
0
0
-1
0
-2
-3
73
-11
0
-10
0
53
-2
-9
0
-67
21
0
-22
4
-1
-29
64
27
0
-15
9
5
2
64
0
0
59
19
33
6
-36
40
0
19
9
0
-1
7
12
0
40
53
0
-118
-8
33
0
71
-35
0
0
0
26
0
0
13
41
-12
0
10
0
0
16
-9
2
19
-20
0
-14
15
2
-3
65
-5
0
-57
-14
3
26
60
0
0
97
-10
-16
14
49
95
0
-14
-26
-1
66
10
-8
0
67
12
-2
-17
-44
41
0
2
2
-6
-5
167
0
0
0
-34
0
-7
-31
72
0
0
-35
-2
0
0
-2
0
-9
-6
-1
0
0
-1
0
0
-68
0
-118
-3
0
0
-25
-114
0
0
-115
-2
0
21
-5
-2
-78
89
-9
0
-65
-32
9
-20
-4
8
0
9
6
0
15
52
5
0
0
-103
-3
5
8
45
0
0
57
0
113
-6
10
0
0
17
13
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
-82
-19
35
-18
-29
9
22
8
-20
126
-2
32
-74
-82
0
3
-63
-1
-1
110
-87
15
-39
40
-62
11
-40
0
89
6
-25
-10
53
23
20
-9
6
53
37
39
-15
0
-7
5
71
-62
10
63
-8
-9
-19
11
-39
-8
100
-41
-1
-44
-68
-38
-27
101
47
54
-24
0
41
-40
-61
-20
-16
21
26
-12
26
23
56
-10
12
-98
-9
4
-60
10
0
-28
11
31
-40
13
15
-39
-24
138
121
-19
-34
-28
19
19
28
-14
59
-110
-18
76
-3
38
81
51
-20
83
-14
30
-8
8
34
99
111
42
-6
-7
-78
-2
14
71
-26
7
0
-71
-27
-20
36
13
-34
-15
47
89
39
42
0
20
20
7
1
40
-66
-2
-64
-132
-4
10
-23
7
1
15
59
50
-53
-17
176
14
-9
-7
101
-23
-61
-11
-26
-18
44
-44
12
93
8
-8
32
-65
53
45
36
28
68
17
29
61
4
-12
-14
62
12
-2
43
55
-61
-19
1
-37
0
46
44
16
109
14
14
-30
39
-64
95
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
12
0
-52
-2
-4
39
37
0
0
-10
-39
-47
0
11
38
0
0
0
-1
0
-26
-9
-26
-8
6
0
-31
-49
0
0
21
9
13
2
4
0
58
49
14
0
26
-40
-34
-4
53
0
0
-66
-37
1
9
117
61
28
-107
0
-5
0
-40
27
2
-39
16
13
-55
-1
-19
19
25
-27
0
0
-19
0
-4
0
35
-23
33
0
2
0
0
28
5
0
0
0
11
1
-64
-9
8
2
3
19
143
28
0
2
57
0
0
53
-70
0
-16
31
-85
3
-30
7
-4
14
-53
33
55
-15
0
0
-10
22
1
1
-37
21
-2
-3
2
0
-22
0
54
0
0
71
3
-38
0
-3
-33
0
0
6
12
0
-17
-17
0
10
0
0
0
-46
-3
77
9
0
32
-19
-28
0
-35
-52
52
0
-9
-38
0
21
-131
-1
0
62
-75
0
24
-68
-27
0
-26
0
0
125
-14
0
-1
-3
14
0
12
-16
-4
3
-1
-38
1
-114
-16
23
0
0
-73
13
-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
20
-3
0
0
-37
0
0
0
-9
0
0
0
0
-7
0
0
0
0
0
0
0
0
-30
1
-2
0
0
0
8
-65
0
0
-6
0
10
-21
-47
0
-30
72
0
0
-20
-6
0
0
-1
0
0
35
-99
0
0
15
10
0
-24
-29
0
0
-37
0
0
-18
4
0
-19
0
25
-2
-6
-46
0
0
0
0
0
0
66
3
57
0
3
0
0
-5
0
2
0
0
0
2
68
0
0
4
0
0
-6
12
0
0
-4
0
27
19
49
2
0
-8
28
0
2
-20
0
12
-13
0
0
-11
-79
3
33
4
4
0
-8
3
0
-4
10
0
15
0
50
0
1
-1
2
-17
0
64
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
-5
0
0
-1
17
0
0
-18
0
1
0
-27
0
-38
-1
0
0
-2
16
0
0
-5
0
0
0
13
0
0
0
7
0
0
-11
0
0
2
0
0
0
-21
0
-22
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
0
0
0
0
29
-4
0
0
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-70
0
8
0
0
0
0
28
0
0
10
0
0
-1
64
0
33
-10
3
0
-87
56
0
0
48
0
0
26
-5
0
-1
27
21
0
16
-111
0
0
-4
0
0
-4
63
0
28
1
-8
0
0
-58
0
0
1
0
0
0
-43
-11
0
0
0
0
0
-44
0
0
-1
0
0
0
52
0
0
9
0
0
0
26
0
0
5
0
0
-1
44
0
0
38
-18
0
-1
59
0
0
28
0
-9
-14
-51
0
0
81
-4
0
4
0
0
0
9
0
0
0
-11
0
0
0
-5
1
0
-45
0
0
0
0
0
0
28
0
0
0
0
0
0
-56
0
0
-3
0
0
0
-65
0
0
-23
0
0
0
-11
0
0
0
0
0
0
-15
0
7
0
0
0
2
43
0
-1
-4
0
0
0
3
0
0
0
0
0
0
57
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
-5
-46
0
73
-36
-100
8
51
-77
6
-1
-6
9
-2
-2
13
-106
0
4
-20
-73
9
3
-2
-9
51
1
0
-25
-15
-22
-3
19
87
-6
-101
22
87
33
38
-49
-24
-5
-5
2
78
-10
-47
-1
3
-7
66
69
-14
-48
-10
25
-5
30
87
-20
67
19
45
-6
43
23
1
18
-11
35
-23
18
19
27
50
-6
-4
-2
-14
68
0
2
49
-5
31
-30
-2
-48
-30
-90
-42
13
-92
-13
-21
-29
-95
41
0
-53
-2
9
-33
-49
29
6
-40
73
-21
-36
-35
-7
34
161
15
31
8
-46
62
1
84
-9
83
-42
-4
73
-11
-16
-5
28
-36
10
128
-2
-35
61
262
-45
-42
-3
-18
-14
-1
-6
24
46
-7
43
0
-40
27
53
-17
-86
0
-2
-12
-63
-20
-68
-5
19
9
91
10
-16
-41
-110
1
-4
-60
21
18
9
46
-23
69
-1
59
-79
0
-3
9
-8
-27
-31
-9
-23
38
-19
46
-19
-57
50
12
0
-12
33
5
-7
25
88
-15
1
-88
-15
-5
-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
-42
2
0
0
-31
0
56
-12
19
0
0
50
0
-12
0
0
57
0
0
0
16
0
-63
90
14
0
0
0
-27
-22
31
0
-15
1
-7
-45
-12
0
22
15
0
-1
1
6
2
0
18
29
0
-89
-20
-2
1
-1
0
0
41
-21
23
0
22
14
-5
64
-150
8
1
44
4
0
14
48
0
0
0
0
39
0
44
28
-11
0
0
0
12
-48
1
0
0
0
0
5
-22
1
0
49
0
104
-16
-4
0
1
24
0
14
23
-8
0
-46
-2
4
7
-66
14
-3
-6
23
-6
0
13
44
1
0
75
0
-14
73
-25
0
-3
140
0
2
10
112
0
-2
26
0
-136
0
28
-1
0
0
0
0
0
26
1
0
0
0
13
-3
-50
0
-9
5
0
2
11
-24
0
6
16
-7
0
2
-25
-4
-81
-61
11
0
0
-6
9
-16
-37
0
-4
0
61
0
23
9
0
0
4
39
0
-3
32
0
-43
-20
-61
0
-43
0
0
6
0
81
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
20
11
0
0
31
9
0
44
-41
0
0
11
64
0
0
13
-16
0
0
61
0
-22
-15
-41
-82
9
-13
0
13
6
0
0
21
28
0
-69
26
-20
15
50
44
0
-7
3
0
15
-28
1
0
-107
11
-2
0
-19
-17
0
152
15
3
13
3
44
0
63
5
0
-85
21
-5
0
45
18
0
0
-41
44
0
0
9
-19
-133
0
-56
0
0
35
-40
-2
9
11
0
-26
24
-27
5
99
-2
0
-77
16
0
-3
18
-24
0
105
12
0
42
97
15
0
-39
-97
0
-58
-53
-11
0
74
3
39
-39
-27
44
0
49
23
0
9
131
83
0
0
26
18
-21
26
28
6
0
-31
-4
0
4
41
0
-4
5
-1
14
3
-6
0
-1
-10
-6
-17
7
8
0
10
6
0
-5
90
-5
0
-21
4
0
83
-32
4
0
53
-131
-9
-13
76
105
0
-29
-20
5
-55
20
-1
0
18
-21
0
-22
4
12
0
0
41
6
-76
-36
-2
0
0
12
28
0
-3
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
-10
93
18
-2
12
4
-32
0
27
-51
-2
-76
30
20
31
3
-34
-45
-53
-12
0
-67
-50
75
80
-68
6
-24
57
5
-3
39
-27
-3
-18
-10
-3
81
56
20
63
0
-71
-13
-2
25
-6
-44
-1
79
-8
41
-15
21
-18
26
-29
-1
-80
12
13
-5
40
-3
-22
-4
-11
14
-71
-90
0
0
-90
-74
22
-42
-11
-2
-16
-47
-30
-64
-75
-39
-44
-39
78
34
30
-57
23
13
-6
-49
27
-1
65
22
79
-7
113
1
46
-37
-72
18
19
-76
39
45
71
12
-75
-6
-73
-83
29
-48
114
28
-14
-4
72
46
-91
-46
29
-63
-16
-49
5
-13
-44
0
17
1
-121
-8
28
-51
-1
-6
7
-2
77
-61
-62
71
-17
-50
-27
-1
64
5
-23
-40
4
-76
-6
11
-49
31
-5
-68
41
81
-36
-87
31
25
-35
-113
-11
8
119
-20
1
-42
29
44
-35
105
-92
-5
39
36
-41
-81
17
-17
-90
16
24
89
146
-80
1
-59
-78
72
76
-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
4
9
0
0
-9
-26
-84
0
-7
-134
0
1
0
17
10
-42
23
-13
0
1
0
-118
-13
-3
0
43
0
0
31
58
18
91
12
0
-7
-4
7
17
-6
23
-4
0
-114
-76
0
32
4
22
-8
23
57
0
0
63
44
0
-32
0
-1
19
-36
11
25
57
26
4
23
7
0
72
11
-27
26
11
0
46
0
6
-72
10
0
0
0
0
2
-100
-28
-4
-76
28
-5
37
29
25
54
103
-4
-1
54
-5
-12
20
1
-24
0
-20
-22
3
4
19
13
-19
28
52
2
-93
-75
21
0
-45
0
19
-6
127
-11
-28
1
23
-8
17
-13
-12
78
0
44
16
0
0
5
0
0
-57
46
-11
0
0
2
11
-14
0
-52
28
0
2
8
19
0
10
-36
-22
11
30
-72
0
79
41
-11
0
1
55
0
-26
-44
-23
0
17
114
-5
52
75
4
0
12
0
-17
1
-115
-40
0
26
-22
5
-54
27
0
-2
0
-93
21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
11
0
0
0
0
0
0
1
4
0
0
0
0
0
-16
0
0
0
0
0
0
-19
0
45
6
0
0
-27
77
0
0
-22
0
0
0
13
0
0
-29
4
0
0
11
0
0
2
0
0
0
7
0
-5
0
0
0
0
-1
0
0
0
0
16
0
-16
0
2
0
0
0
0
-42
0
0
0
0
0
0
13
0
0
0
0
0
0
-85
0
0
0
0
0
0
-15
0
0
64
0
0
0
-52
0
0
0
0
0
0
8
0
0
28
0
0
0
6
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-8
0
0
0
17
0
0
0
0
0
0
20
0
28
5
0
0
0
-22
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-46
0
0
3
0
0
-2
-3
0
7
-4
0
0
-6
-39
0
0
44
0
0
-2
-18
0
0
-11
0
0
-13
-6
0
0
-6
0
0
0
-11
0
-3
-3
0
0
0
-38
0
0
0
0
0
0
-25
0
2
0
0
0
0
-77
0
0
0
0
0
0
-14
0
0
-2
-1
0
0
-36
0
0
0
0
0
0
54
0
0
9
-1
0
17
19
0
0
49
0
0
0
22
0
0
13
-9
0
0
-41
0
0
0
0
0
0
15
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
8
0
0
0
-18
0
0
0
0
0
0
-8
0
-15
0
0
0
0
32
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
1
-1
97
1
-28
-10
16
-9
0
2
-76
29
-4
-5
-53
66
-34
35
2
75
-3
-16
0
-49
-4
20
-28
-12
0
12
11
-21
7
-58
-6
-2
19
-58
85
-37
-25
2
8
27
69
31
14
19
-47
6
-6
61
75
71
99
-40
1
53
30
-38
-1
30
23
-12
41
40
128
-85
-7
-35
64
54
0
-41
0
10
10
42
-6
-22
-33
7
-58
-3
21
-27
-25
-86
-78
127
-27
9
-45
-55
-30
-57
-19
0
-57
40
-8
37
-70
-65
0
-55
-126
73
-81
-12
40
-10
-37
-63
-78
-28
119
41
8
-20
-33
40
-34
-21
-20
-60
-70
-8
-2
-88
-65
0
-32
0
-5
0
-128
83
5
6
-54
-8
-1
61
46
0
63
-1
21
-48
-32
-61
-4
-42
10
30
-36
0
-23
-38
-39
-10
-35
-49
-6
-2
-199
-85
16
-117
10
60
8
13
3
-4
6
-38
-42
114
-31
-10
60
-10
-33
41
32
47
11
-39
59
0
-14
-28
16
-49
-9
-10
7
-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
23
125
0
0
2
-19
-32
0
0
-7
0
0
0
0
0
-6
-2
0
0
0
0
0
-40
0
0
-11
0
0
-3
-95
0
-105
-58
0
0
-50
28
0
0
40
0
0
42
62
0
0
16
0
0
-23
-53
0
0
-4
0
0
-33
-39
0
27
-33
-9
-22
16
-34
0
0
-1
0
61
0
93
-1
-8
0
0
0
0
-175
0
0
0
0
0
0
-85
50
-8
0
0
0
0
-15
0
3
-16
0
0
37
15
0
0
70
0
0
-2
37
-14
0
29
0
-6
10
-106
0
0
-104
0
0
29
-40
0
0
-26
0
-2
22
-2
0
0
-21
3
-145
0
31
19
0
0
0
-4
0
-69
0
0
0
0
0
0
49
0
6
-19
0
0
0
-38
0
1
-11
0
0
-3
-49
0
38
44
0
0
0
-10
0
0
26
25
0
0
-97
0
-28
-17
0
0
5
2
0
0
77
0
0
0
78
0
19
19
0
-4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
104
0
0
-96
71
0
0
8
-57
0
0
-40
0
0
-1
-79
-7
62
0
0
1
1
0
0
0
0
0
45
-11
0
-34
-16
60
0
-5
20
1
-2
-11
7
0
6
-14
-2
0
46
-24
0
26
-30
0
-4
-41
0
0
-10
-10
0
-122
48
65
0
29
72
5
0
91
0
0
0
11
47
-12
0
108
0
0
2
-18
-17
13
-8
0
-6
-19
0
-22
47
3
0
49
41
0
0
36
-1
0
-117
-5
0
10
22
83
0
84
1
0
-10
21
59
0
3
20
5
-39
-40
-14
0
15
-38
-3
0
76
9
0
0
26
-5
11
-84
49
0
0
-18
0
0
-2
13
0
0
20
6
7
0
0
0
3
-10
0
60
14
0
0
57
-111
0
-9
-43
-6
0
72
-27
-2
-27
-30
11
0
-5
-68
0
-7
7
-49
0
27
-4
0
-103
14
25
0
-9
11
1
0
-95
81
0
0
100
-5
-89
-7
0
0
0
-21
-68
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
-5
-13
0
0
0
-13
0
-26
-33
-8
0
-5
0
3
46
-1
0
-62
0
11
9
98
0
35
-34
-2
0
-2
-47
0
-2
-29
0
0
-61
-52
0
-10
51
-20
-5
48
-44
-1
3
-32
0
19
2
-158
0
-72
25
-27
0
0
34
2
0
-9
-5
0
0
9
78
27
-3
-89
0
0
29
1
0
0
0
0
0
-30
7
0
16
-11
-6
3
75
0
5
52
0
-76
-11
-21
6
91
81
-11
-6
49
-76
-3
-18
-25
0
50
2
-57
0
1
116
62
23
0
-55
0
0
57
0
-5
0
52
0
0
-8
43
10
0
-32
-1
2
0
0
-3
0
31
-5
0
0
0
0
0
-10
-4
-9
-16
0
21
-14
-38
0
0
1
-4
17
0
-17
0
28
20
-9
0
0
-45
0
-13
4
-19
0
0
79
0
-42
53
0
0
0
53
0
-23
85
5
0
0
-28
0
-54
0
0
0
0
-124
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-2
0
10
4
22
40
0
-4
0
-42
-33
0
0
2
7
5
-23
-76
0
73
-1
34
0
-40
-45
-15
3
-14
-7
-2
-53
1
0
-1
-82
-6
1
119
1
0
0
-15
6
7
-61
-16
0
-63
-91
-50
2
86
0
-16
-6
46
-49
-13
0
16
-15
-11
0
-11
0
0
-49
-2
2
0
19
-6
-5
50
-65
31
27
-3
43
-12
-24
0
-13
-22
2
-22
-61
-42
-24
47
36
-12
89
42
-1
46
-34
-27
-70
-28
-58
40
0
-35
44
18
143
40
31
0
0
-26
48
45
-5
0
0
1
-104
-38
-199
0
0
-2
0
0
1
-2
0
-49
7
-21
0
3
0
0
74
-3
-19
-60
-1
49
7
42
2
22
24
-1
-11
17
-11
-1
68
-70
24
-21
-6
42
-7
-7
47
28
11
0
-66
0
-29
-94
-17
97
0
-68
0
9
28
-4
15
0
0
0
51
-15
-5
-7
0
-70
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-66
0
0
0
0
0
0
3
0
0
4
0
0
10
19
0
-62
-39
0
0
-4
-33
0
0
5
0
0
-17
-10
0
0
-9
0
0
0
-10
0
0
-5
0
0
0
21
0
30
0
0
0
0
1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-45
0
0
0
0
0
0
12
0
0
0
0
-3
0
-9
0
0
0
0
0
0
-76
0
14
39
0
0
0
-10
0
0
-7
0
0
0
-4
0
3
0
0
0
0
-70
0
0
0
0
4
0
-2
0
0
0
-9
5
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
35
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-117
0
0
0
0
0
-1
2
0
-2
-2
0
0
-2
-3
0
0
-2
0
0
0
29
0
0
-1
-22
0
-1
-64
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-59
0
0
0
0
0
0
-2
0
0
0
0
0
0
-76
0
0
0
0
0
0
-61
0
0
-1
0
0
-5
2
0
0
-2
0
0
0
15
0
0
0
0
0
-2
-41
0
0
0
0
0
0
-3
0
0
-2
0
-1
0
-126
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
13
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
15
-8
0
-32
-9
32
0
2
0
58
-46
12
0
-2
12
11
-81
0
0
58
111
14
0
-16
-15
11
-3
51
-5
0
-11
38
0
0
38
12
0
70
22
0
3
94
12
0
27
-140
0
-66
-10
-197
11
-1
27
0
0
0
-11
31
-2
11
-22
41
0
-50
4
0
0
-2
0
-7
26
-12
-8
-11
3
-3
-38
-11
-150
52
-31
0
38
-84
-4
-89
-3
22
11
71
2
66
44
-3
3
-6
20
-4
-30
-61
81
-49
12
24
-5
-100
8
-5
-4
0
11
31
28
11
2
-19
1
-4
0
-4
-22
0
-7
76
0
0
4
-11
0
-7
32
0
6
0
0
0
-81
0
-54
9
7
-108
0
-65
-2
16
94
-8
-18
-10
-43
2
75
-87
-9
0
11
63
3
-18
43
-32
-135
-37
12
0
-10
2
1
-17
-1
31
0
45
0
-18
-1
0
-9
-11
-22
0
3
11
8
53
42
-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
-33
-52
0
0
8
2
0
1
-76
-106
32
0
-1
72
10
-4
-6
37
0
-111
9
-5
0
12
27
0
-3
31
-6
-8
17
25
0
0
26
5
0
0
28
0
-2
-36
1
55
13
39
15
59
37
16
0
-27
0
0
-46
71
6
0
0
-19
-3
105
0
-2
-71
-44
0
0
-7
8
4
-8
-3
-23
0
-19
60
-9
1
4
106
0
-5
74
34
0
-18
44
-1
6
-98
0
-34
45
-11
0
-107
-90
-4
1
60
8
53
10
24
-27
-11
-7
-13
0
-28
42
3
5
0
11
0
43
-44
-20
0
0
-12
0
18
7
16
94
0
-2
-4
-40
0
39
-1
0
0
0
22
0
-25
0
4
54
0
-43
4
71
41
1
134
0
74
0
6
0
3
15
15
-14
23
1
-9
2
-72
0
-21
104
81
-2
-182
107
-14
13
5
64
0
16
-27
0
68
14
-75
0
36
0
0
101
0
25
57
-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
-31
-53
0
-2
-22
0
21
11
-1
-154
36
2
0
12
3
-3
0
25
51
0
2
57
-7
-59
11
-34
-1
20
-6
15
-9
-46
-47
0
43
16
-8
13
-27
-21
0
109
6
0
-22
3
-139
0
100
24
-9
-2
47
9
0
-49
2
-34
1
20
-60
0
0
15
-29
-22
-17
-254
0
-15
14
-26
4
-115
-153
0
38
0
34
32
51
-67
0
16
-1
-22
7
-32
-106
0
54
25
34
-4
31
-3
2
48
9
-88
-110
28
-10
0
83
46
-19
25
65
35
0
75
-14
46
32
55
-6
111
26
-10
67
6
-38
-7
-2
0
-12
43
-37
-18
59
0
12
9
19
-10
3
-58
0
-14
-4
-2
-77
-74
-29
0
-17
-16
39
-9
12
1
0
-3
30
5
-36
19
-40
-3
-85
-45
-31
37
39
-10
0
42
-12
41
29
88
-30
0
-9
5
9
34
17
-25
-9
-9
5
6
-36
4
-46
-15
0
24
21
-75
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-13
-1
0
0
-2
-41
0
0
15
0
0
0
53
0
0
0
0
0
0
-43
0
0
-5
0
0
0
-8
0
-8
0
0
0
0
-27
0
0
-5
0
0
0
-43
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
-3
0
0
0
-49
0
0
-6
0
0
0
-3
0
0
-1
0
0
0
27
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-67
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
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
4
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-2
-6
-6
0
29
0
-14
-41
-13
-1
71
-22
0
0
-44
9
0
-5
41
0
0
-37
23
0
0
-33
-3
0
35
-84
0
0
-39
0
10
-6
-12
0
-67
88
12
2
16
-14
7
0
0
-2
-5
0
0
0
57
0
11
0
0
-71
0
0
0
-8
0
0
-36
0
0
-7
7
-3
-1
-38
0
0
-54
0
18
-4
14
-3
39
-127
2
0
0
-93
7
-32
33
0
6
29
-78
0
0
17
15
-2
-16
-5
6
0
-2
0
-5
0
-44
0
0
8
0
67
0
0
0
0
0
0
13
0
-38
0
0
0
0
0
0
-11
0
-2
0
0
-1
0
-10
-7
0
9
0
11
0
-49
12
-23
-32
-2
0
0
-54
0
-18
5
-10
0
0
-128
0
-47
26
0
-3
0
-35
0
2
0
0
0
0
-24
0
1
0
0
-14
0
0
-29
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-22
3
55
-4
-6
0
75
32
0
0
-156
26
-9
-91
43
0
6
71
79
0
25
10
-7
13
-9
-33
4
-32
-10
22
16
77
77
-1
-73
-41
0
0
-38
-17
17
-32
-117
0
-11
69
-4
3
19
28
0
0
120
22
56
0
42
0
23
3
-57
8
0
16
-106
-2
0
2
0
12
-16
49
7
-61
6
-55
-48
-13
-15
60
-161
4
-2
-37
-3
18
26
-63
-112
-48
100
-22
-11
8
-33
142
26
103
-36
-11
7
-5
-32
39
24
-39
0
8
-19
49
88
14
-36
-1
23
-82
39
35
0
-24
0
11
0
9
8
-1
66
2
-12
0
0
0
0
-27
-4
-98
-4
-9
-84
-1
9
0
25
88
10
-5
-39
16
0
10
-10
21
0
-8
25
0
34
-78
18
0
-25
-67
5
-53
-43
-75
-36
0
39
0
-4
40
7
0
0
46
14
-73
-2
-14
-7
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
-16
0
0
0
0
0
0
-35
0
0
0
0
0
-1
-2
0
-1
-1
0
0
-1
-42
0
0
2
0
0
0
-30
0
0
-1
0
0
-1
-22
0
0
-1
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-34
0
0
0
0
0
0
-38
0
0
0
0
0
0
-2
0
0
0
0
0
0
-50
0
0
0
0
0
0
-22
0
0
-1
0
0
0
-25
0
0
-1
0
0
0
1
0
0
2
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
-39
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
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
-1
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
-121
0
0
0
0
0
0
-160
0
0
0
0
0
4
-9
0
-99
-75
0
0
7
-58
0
0
-3
0
0
-1
-7
0
0
-1
0
0
-5
-27
0
0
-2
0
0
-2
-3
0
-147
-2
0
0
0
32
0
0
0
0
0
0
99
0
0
0
0
0
0
2
0
0
0
0
0
0
34
0
0
0
0
0
0
-39
0
0
21
0
0
0
-3
0
0
-16
0
0
0
-95
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
1
0
-41
0
0
0
0
0
0
6
0
0
0
0
0
0
54
0
0
0
0
0
0
-45
0
0
0
0
0
0
10
0
1
0
0
0
0
-2
0
0
0
0
0
0
-12
0
21
0
0
0
0
12
0
0
0
0
0
0
-92
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
27
0
-22
0
0
0
1
-80
0
0
-8
0
0
14
42
0
-27
-68
0
0
-64
1
0
-6
-63
0
0
60
-9
0
0
46
0
0
9
-67
0
0
-139
0
0
0
-60
0
45
46
0
0
0
-34
0
0
0
0
13
0
-81
14
0
0
0
0
0
1
0
0
0
0
0
13
-6
0
10
-27
0
0
58
56
0
9
-1
0
0
-14
-51
0
0
-31
0
0
-20
20
0
0
-21
0
0
0
-67
0
7
8
0
0
0
-163
0
0
-5
0
1
0
-29
0
19
-8
0
-63
0
16
0
0
0
0
15
0
-20
0
0
0
0
0
0
-14
0
4
0
0
0
1
-93
0
0
-8
0
0
0
-46
0
1
21
0
0
0
22
0
0
-2
4
0
0
-49
0
-4
17
0
0
0
-80
0
0
-13
0
0
0
9
0
-50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-30
8
-1
0
0
60
102
-3
0
117
0
0
20
1
0
-5
-43
90
0
48
32
0
0
-30
17
0
-1
26
0
22
-48
-20
0
81
-33
40
-4
47
-4
0
-13
-57
0
-100
45
-109
0
-1
-55
-4
0
3
2
0
0
-24
44
-2
0
0
0
3
19
43
0
0
0
0
-11
-64
-2
1
-19
-15
0
20
36
-3
0
49
1
0
9
-33
11
-1
93
45
0
-32
17
0
7
-84
15
0
53
-34
18
46
27
-1
0
-2
-30
0
0
113
0
0
4
-11
13
28
-35
3
0
0
0
29
0
0
15
0
0
71
-10
0
-3
0
0
0
15
0
34
-6
0
0
12
-65
0
0
4
-4
0
-2
-86
1
-46
63
7
0
0
173
0
-14
28
-53
0
0
5
-18
-45
12
-5
0
0
-20
3
-1
51
36
0
0
31
0
129
0
-2
0
0
-129
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
-51
0
0
-7
0
0
7
1
0
-23
-2
0
0
15
-75
0
0
-10
0
0
10
-11
0
0
50
0
0
1
16
0
0
-9
0
0
-50
43
0
66
15
0
0
0
91
0
0
10
0
0
0
-28
1
0
0
0
0
0
-35
10
0
0
0
0
0
-35
0
3
0
0
0
0
-50
0
0
2
0
0
0
-47
0
0
2
6
0
0
53
0
0
24
1
0
5
32
0
0
-4
1
0
0
-26
0
0
10
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-21
0
0
0
0
0
0
60
0
-2
2
0
0
0
-31
0
0
12
0
0
0
0
0
2
-19
0
0
0
-60
0
0
0
1
0
0
-48
0
6
0
0
0
0
6
0
0
0
6
0
0
-35
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
70
2
-49
16
10
86
-40
13
2
-126
-18
17
2
36
26
2
-41
-52
26
4
111
-1
5
11
21
37
-1
62
11
3
-84
-31
-10
44
-3
34
-6
20
20
-12
6
-29
43
-12
14
-74
-12
53
31
58
1
-42
-25
-61
30
46
21
0
-31
-79
7
41
-12
37
26
-62
26
-51
-89
2
23
5
8
-8
14
26
36
54
0
-95
-35
27
-45
2
-12
-2
15
30
22
-58
41
46
-3
70
-57
-14
-3
56
82
-22
2
-38
30
39
76
23
-17
-41
-43
15
20
35
-38
-9
-32
35
78
27
36
-60
0
-34
-18
-129
-71
-134
35
30
-7
-69
38
-127
-47
16
8
-4
-97
15
35
7
19
8
49
20
2
28
36
17
7
-50
39
-39
-18
10
2
1
-52
-15
-21
43
-22
-86
20
-44
-13
8
-10
-12
0
-2
-57
41
98
105
-44
-25
7
-56
27
7
-35
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-64
0
0
23
-2
0
0
0
0
-58
-22
70
-5
21
-6
0
-12
5
-7
0
-107
-77
-10
19
-37
-37
-3
10
-45
0
17
-63
0
0
-71
82
0
15
65
-10
0
83
-18
0
0
7
13
60
0
43
24
33
0
-29
4
0
-71
0
0
0
0
0
21
-51
-1
6
17
90
-67
44
-18
0
53
-95
-33
71
51
-42
0
7
20
45
-3
70
40
0
6
10
2
48
55
-43
0
68
-98
-41
1
-2
-27
0
4
90
0
150
0
25
0
0
3
65
-12
0
13
4
-1
0
4
-2
0
-3
0
-2
0
-1
0
-2
-20
0
-5
61
0
-4
14
119
3
0
-16
89
0
-14
34
0
-95
76
-6
0
-1
70
0
-14
40
-41
0
2
-19
0
47
-85
-7
0
-2
-3
-10
-9
5
-80
2
11
32
0
-10
1
0
-28
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
3
0
-27
0
0
131
66
0
-49
-100
-51
0
28
35
0
-3
-13
15
0
1
-82
-2
4
-75
-1
0
-70
16
-2
-10
-38
-4
0
-4
20
1
-10
-130
103
0
-2
-26
-13
0
33
0
14
0
55
-19
-4
0
-7
0
-2
-130
3
0
-10
9
0
-19
28
12
3
57
-10
4
-25
-9
0
-13
7
0
83
-28
28
-3
-19
-13
2
19
26
20
24
-23
10
43
26
-1
4
-1
4
-48
19
64
-27
3
0
-7
-39
19
-18
-1
-26
0
3
-23
42
-68
0
29
-18
0
0
4
-1
0
27
11
0
0
0
0
9
9
1
36
40
0
4
5
10
0
-5
-26
46
2
0
41
-1
-54
30
47
0
0
-49
0
-6
33
-13
0
0
68
0
-54
10
-14
-32
0
1
0
-12
18
4
-16
0
-30
0
-11
1
-1
-2
0
47
57
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
42
9
0
0
0
0
0
-59
41
0
46
-2
-1
0
-8
3
0
0
96
0
0
-10
58
0
0
25
0
0
13
-101
0
0
-7
0
0
0
50
0
28
-22
33
0
0
61
0
0
0
14
1
0
50
119
0
0
-10
0
0
-29
0
0
0
0
0
-1
-15
0
1
1
0
0
3
-55
0
0
0
0
3
0
16
10
1
-2
-32
0
40
-37
0
0
-41
0
2
0
-18
0
0
7
49
0
0
43
0
0
-5
1
13
0
62
0
0
0
3
-71
0
67
0
0
0
0
0
0
-26
0
0
0
0
0
0
-34
0
-3
0
0
-3
0
-108
0
-4
0
0
0
0
42
0
-8
10
0
0
0
42
0
-1
12
-2
0
-2
-34
0
68
-17
0
0
0
-8
0
22
0
0
0
0
32
0
10
0
1
-4
0
-59
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-37
0
0
-5
0
0
64
-234
0
68
-226
0
0
-7
-27
0
-2
-75
0
0
7
-33
0
0
-5
0
0
65
-97
0
0
62
0
15
102
19
0
-43
5
0
0
-1
16
0
0
1
0
1
0
23
-5
-5
0
12
0
0
-56
0
0
0
0
0
9
67
-1
0
-8
0
-11
-3
-33
0
0
77
0
28
2
-54
0
0
-30
5
2
73
-23
0
0
-34
0
4
5
-29
0
0
-13
-6
7
0
22
0
0
-4
0
12
0
9
0
0
0
0
18
0
-46
0
0
0
0
16
0
48
4
0
0
0
0
12
-7
0
-16
0
0
14
0
32
0
-1
75
0
0
0
-23
0
68
7
0
0
0
10
20
0
39
0
2
0
18
0
128
-18
0
0
0
85
0
3
4
0
0
0
64
0
-32
0
0
-14
0
-58
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-16
-1
0
0
-1
-7
0
0
31
0
0
0
12
0
0
-1
0
0
-8
27
0
0
-13
0
0
0
-8
0
29
0
0
0
0
-7
0
0
0
0
0
0
-81
0
0
0
0
0
0
-93
0
0
0
0
0
0
-2
0
0
0
0
0
6
73
0
0
0
0
0
-14
53
0
0
0
0
0
0
-10
0
0
0
0
0
-3
-59
0
0
0
1
0
0
28
0
0
0
0
0
0
-32
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
18
0
0
0
0
0
0
-16
0
0
0
0
0
4
6
0
0
0
0
0
0
-2
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
82
68
5
-78
30
0
0
3
-69
1
37
-37
-5
0
12
89
0
-64
-28
-21
5
31
-16
6
-83
2
0
23
24
-8
-19
-22
25
2
0
-31
-1
37
0
34
59
-43
0
100
-21
0
26
18
0
21
26
0
-1
46
0
5
-37
12
-5
18
-42
3
1
118
-22
-25
17
10
7
-1
-9
28
-9
-33
-77
0
21
41
-95
-9
-25
9
3
-3
-38
11
-31
-24
17
0
8
-61
-7
27
0
67
0
-34
-13
-50
45
0
26
45
0
0
0
-4
0
-41
-79
3
0
-2
0
1
29
0
18
45
0
-15
-7
-41
0
12
50
-2
-24
0
-20
0
65
10
-10
0
-17
-83
0
-9
-78
-8
36
-10
7
2
-53
37
20
12
0
4
3
11
-47
44
46
0
24
0
-24
1
3
35
0
43
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
-28
-9
-24
-34
-1
-80
24
14
2
-13
-55
30
-27
-52
1
11
-77
19
16
-39
93
15
5
-48
-121
12
31
6
-52
-2
31
-37
5
24
-10
50
-6
-34
109
26
-94
-61
-13
5
13
-4
-58
36
120
19
-3
-3
-79
-26
-3
36
-50
0
-73
47
23
-15
-9
-11
9
-6
60
15
56
19
-11
9
-35
-32
5
-80
6
2
4
17
-55
3
-72
18
4
4
29
-4
0
-4
34
-46
9
105
-22
-31
68
7
13
-2
-62
-4
22
19
24
39
-25
-6
7
72
73
29
15
27
25
17
15
-82
-104
30
0
138
45
14
-72
-64
-64
-22
-68
42
-6
-38
7
41
10
-8
-5
-31
59
58
-60
-6
-124
24
-13
18
-23
-11
17
81
-20
88
-63
6
-12
-18
10
-47
43
-29
-2
-12
9
22
2
-28
110
13
-6
-22
30
-9
20
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-44
0
0
-29
106
0
0
81
0
0
-2
19
0
0
53
5
0
56
-56
0
0
-40
0
0
29
3
0
47
58
-35
0
0
-53
0
0
0
0
0
0
-116
0
0
0
-8
0
0
-121
0
0
0
0
1
0
9
0
0
0
0
0
0
112
0
0
-5
0
0
0
-8
0
0
6
-1
0
-6
21
0
0
-7
0
0
0
-29
0
0
26
2
0
0
-5
0
0
6
0
0
0
9
0
0
16
0
0
0
27
0
0
0
0
0
0
65
0
0
0
0
0
0
62
0
-120
0
0
0
0
26
0
0
0
0
0
1
-5
0
12
-14
0
0
0
-25
0
0
12
0
0
0
20
0
-14
0
0
0
0
-28
0
0
0
0
0
0
-73
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
-5
-18
0
-84
-17
0
0
17
-88
0
0
40
0
0
-7
5
0
0
2
0
0
11
-94
0
0
15
0
0
-3
-3
0
-27
0
0
0
0
44
0
0
0
0
0
0
-51
0
0
0
0
0
0
9
0
0
0
0
0
0
-29
0
0
0
0
0
0
28
0
0
-1
0
0
1
-10
0
0
1
0
0
0
25
0
0
-25
0
0
-7
24
0
0
-1
13
0
0
52
0
0
0
0
0
0
112
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
1
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
-26
0
0
0
0
0
0
-19
0
0
-5
3
0
0
18
0
0
0
0
0
0
-22
0
0
-8
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
-144
-39
0
5
-157
-41
0
-51
14
0
-4
34
-5
-4
-17
-36
0
-6
-54
-46
-3
-28
75
-6
-28
37
-10
33
32
10
0
21
-22
37
8
-50
73
-1
17
21
-31
-23
-8
20
-7
68
0
22
0
0
-38
81
0
1
-3
-19
-6
64
-2
33
16
-44
94
-102
17
7
-45
32
0
-99
-71
24
11
72
64
16
-46
35
17
-10
-6
24
38
-61
136
28
2
53
-3
-49
-42
-84
-10
-12
7
111
-1
-39
-28
-2
18
-5
-33
39
22
0
-3
0
4
0
16
66
-22
-12
8
0
4
40
1
-6
17
43
-17
39
-2
-17
2
45
0
3
-35
16
-1
-16
20
-7
34
-10
21
9
40
-43
11
-44
29
-59
-9
-5
0
0
33
7
-12
78
-23
-20
9
65
-49
-62
-4
0
-9
14
-86
-8
1
42
0
-12
-70
-37
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
28
-13
0
18
85
0
0
26
22
0
0
10
0
0
10
-24
0
0
13
0
0
-6
-66
0
0
9
0
0
0
23
0
2
-3
0
0
0
56
0
0
0
0
-6
0
106
0
0
0
0
0
0
58
0
0
0
0
0
0
54
0
0
-4
4
0
22
-71
0
0
0
0
0
6
30
0
0
-13
14
0
11
7
0
0
32
0
0
4
-88
0
0
34
0
0
0
4
0
0
-2
0
0
0
-9
0
0
0
4
-31
0
-60
0
0
0
0
0
0
-11
0
0
0
0
0
0
-154
0
0
0
0
0
0
48
0
0
0
0
0
0
-5
0
-1
3
0
0
0
-22
0
-3
14
0
0
0
13
0
0
-15
0
0
0
-10
0
0
0
0
0
0
-10
0
-12
0
0
0
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
58
0
-35
66
0
0
135
-70
0
0
-25
0
0
41
-20
0
0
-75
-1
0
-59
-31
0
0
26
0
0
-9
76
0
-89
56
-45
0
-4
7
0
0
0
0
0
0
-45
-4
22
0
-1
0
0
-142
0
0
0
0
0
0
-96
0
0
-1
0
0
-20
104
0
-6
2
0
0
0
-82
0
0
68
18
0
-28
50
0
13
-13
0
0
-23
17
0
0
100
-5
0
-17
-14
0
0
-59
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-56
0
7
0
0
0
-5
-73
0
-17
-3
0
0
0
11
0
52
12
0
0
0
42
0
0
0
0
0
0
125
0
-28
0
0
0
0
-68
0
0
-2
-2
0
0
37
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
-70
-37
88
-35
-84
44
0
-14
12
-7
64
-63
19
3
-84
4
-9
-5
11
9
21
-3
60
-6
-14
35
15
15
16
-25
0
-6
-46
-29
-54
0
22
4
-24
0
80
0
-4
13
85
28
52
119
9
14
-12
-44
-111
83
56
-16
-6
-16
0
16
-25
-1
5
26
15
0
-6
30
55
17
-19
-3
-1
121
-14
-38
-54
84
-35
2
-55
9
18
-71
-206
11
-4
36
44
-8
133
0
0
2
-41
11
-16
15
0
37
52
-22
20
-7
-10
0
-1
-29
0
-2
-2
17
0
-49
-18
-11
6
-5
10
-4
-38
-3
-9
29
-1
2
39
0
-3
25
85
3
-3
4
31
1
82
-41
-2
-15
-38
-30
16
10
36
1
-18
28
25
-20
-28
60
-63
-74
-1
16
12
26
19
0
-43
0
32
-57
14
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
2
10
-75
49
-8
-83
58
77
3
87
-89
17
-108
-12
27
-2
39
-57
20
41
-120
12
-17
-2
20
-13
7
36
-79
-5
-63
-11
-9
78
46
-11
-12
5
63
105
2
31
92
-6
20
24
-7
-145
-2
10
-22
-11
21
40
26
13
-161
0
-35
56
-48
-81
-6
-23
-44
-111
13
6
43
-28
-13
-23
48
-92
-37
-52
-50
16
-3
56
-57
50
-20
-78
2
0
-65
24
45
6
41
-33
-5
9
-61
-20
-11
37
15
36
-58
-25
-14
80
1
5
7
10
20
-15
-37
72
41
-18
-11
79
-47
-94
-25
-118
0
-55
-52
15
-23
144
-72
-36
-117
121
20
51
-43
-41
-13
-43
17
-21
38
-81
0
-16
13
-34
80
5
4
-54
7
21
-106
-73
12
-43
-24
19
-4
-6
-16
54
-5
-6
56
-37
42
-53
72
-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
46
26
0
0
-57
0
0
6
-53
0
0
15
0
0
6
-45
0
0
1
0
0
-6
-44
0
41
0
-1
0
0
-26
0
0
12
0
0
0
-31
2
-2
0
0
0
0
31
0
0
0
0
0
0
95
0
0
6
0
0
0
48
0
0
0
0
0
0
-50
0
12
2
-1
0
-4
-39
0
-3
17
0
0
0
-59
0
0
24
-3
0
0
20
0
0
0
0
0
0
-10
0
0
0
0
-1
0
-19
0
0
0
0
0
0
25
0
37
0
0
0
0
53
0
0
0
0
0
-1
-20
0
0
0
0
0
0
-15
0
-8
-21
0
0
0
27
0
2
0
0
0
0
57
0
8
-3
0
0
0
2
0
0
0
0
0
0
70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-77
21
-9
4
-13
9
26
-39
-8
29
8
17
-1
13
-10
1
66
-63
69
40
-15
2
5
-5
-21
31
-8
-45
-3
14
-33
24
-9
4
-54
-55
24
23
19
0
-3
20
-9
12
27
135
25
-7
-22
111
18
1
42
8
-6
46
8
9
0
23
43
-9
61
-23
-30
-81
-49
-8
7
-5
30
9
26
96
-23
3
-95
-73
34
1
13
10
25
4
-22
10
10
10
-46
-27
-65
-31
58
-27
29
-67
13
-31
24
-69
-44
10
5
3
20
-56
-45
-91
94
78
10
99
-103
-50
-14
58
-15
-21
-50
-93
75
15
-33
40
19
-26
-46
-4
-92
20
-65
-11
25
-127
-4
-33
13
-54
5
37
-5
-12
-26
-33
-78
-1
103
58
22
10
57
-80
-5
28
18
-106
85
-55
5
33
-84
-26
-25
-100
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
1
-2
-113
40
40
7
-14
3
-111
-102
-35
-71
-22
17
54
-51
-60
16
-29
-48
-45
22
-62
-12
15
-52
29
-112
34
15
15
-9
25
7
-6
-8
19
-74
-20
69
95
15
-7
-51
-7
74
124
-14
59
-32
-44
-52
-25
-180
93
-27
2
-11
-39
78
-38
54
-54
-20
-41
-59
56
-3
-55
-29
-24
8
-15
1
-19
-29
-36
19
57
-67
16
-24
26
-72
17
-52
36
52
-65
-45
17
21
-12
4
14
25
-9
-3
6
19
-3
-4
0
-13
-31
-21
-47
-32
-29
-94
-23
-16
24
40
36
-2
-1
-72
25
44
16
64
10
-89
24
-50
12
-10
48
96
9
34
-71
8
37
-31
-14
-72
-25
9
5
-17
-26
-53
5
14
30
31
9
73
9
-24
1
4
0
-45
-4
14
1
-5
-1
1
15
1
4
20
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
33
0
-37
21
0
-124
-14
0
1
32
0
0
52
20
0
17
-57
0
0
3
-10
0
60
-131
0
17
-12
-87
0
0
-38
0
-48
0
26
26
-65
0
0
0
-3
-13
-3
0
0
0
0
-41
-19
0
13
-11
0
-36
10
-41
0
8
61
0
31
92
-29
0
11
-16
1
78
11
-71
0
20
35
0
43
14
2
2
-6
111
0
66
107
-29
0
1
-54
0
21
0
-78
0
0
-7
0
41
0
17
0
0
-4
0
-15
0
20
-8
0
2
0
0
0
-88
0
-40
-70
0
11
-2
-28
0
0
-81
0
19
-65
-66
0
37
-8
0
-2
27
-67
0
28
168
0
9
-25
8
0
33
-13
0
-15
0
25
-2
0
100
0
-26
16
-57
0
9
-15
0
-118
0
75
-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
-5
-72
0
0
16
0
0
0
-87
0
24
-5
-2
0
16
72
0
0
-11
0
0
0
-53
0
46
0
0
0
0
17
0
0
0
0
0
0
-18
10
0
0
0
0
0
-35
0
20
16
0
0
-1
11
0
-5
-1
6
0
-5
47
0
0
0
0
0
-9
22
0
0
33
0
0
14
-4
0
0
9
0
0
0
51
0
0
51
0
0
0
-69
0
0
0
0
0
0
-27
0
0
0
0
0
0
-47
19
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
6
0
0
0
0
-10
0
0
12
25
0
0
-40
0
5
0
0
0
-1
-23
0
0
-2
0
0
0
-18
0
-3
0
0
0
0
25
0
0
0
0
0
0
34
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
-57
39
-12
-1
43
-57
0
-13
73
-5
-49
57
-51
49
-2
4
-6
-36
44
-24
73
6
-24
-117
7
111
-1
0
-161
63
-1
46
-57
5
10
70
35
8
-64
-3
-67
27
-101
-54
-5
12
59
45
9
27
-27
-2
63
45
-5
7
-24
50
32
53
-13
42
25
-58
100
-11
-130
83
33
-24
16
-76
0
18
-42
12
47
-3
52
-22
-34
-67
-6
47
90
18
22
-14
-28
-5
6
-35
41
6
-15
-65
-11
-46
-103
-11
88
-70
5
64
14
-20
-11
85
101
31
-11
-6
71
81
15
46
61
-26
-21
-53
-7
-73
45
-40
-103
37
-34
106
-6
-5
-26
-11
-29
-5
10
14
46
-88
-42
-6
-23
-50
-33
23
9
13
28
-15
20
-20
-38
-50
0
-30
-45
19
16
-32
-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
-62
6
64
49
-15
-60
-54
17
-8
-34
9
2
-61
45
9
-23
88
19
-23
-4
68
-11
-53
-30
-10
-6
7
-22
-67
-12
-18
-26
-108
15
12
-39
3
10
-66
92
-83
-29
35
10
19
-89
41
-23
18
-20
4
-33
-29
-88
52
-3
-163
0
6
-51
-22
-12
70
17
-10
-38
-19
-11
-57
48
4
0
-8
-112
13
2
-31
-53
-7
4
-54
-25
-47
-31
-119
0
121
45
20
-60
15
-64
23
-68
-54
-12
-8
-4
-102
13
2
70
14
-28
-54
-11
-5
-52
-27
17
-28
40
-48
0
-2
56
-34
38
67
31
0
88
-17
9
62
6
2
6
-61
10
-94
15
57
9
-5
51
-16
4
52
-11
60
-18
71
9
19
26
-6
-4
6
59
27
24
-62
30
34
-2
83
-28
-4
43
-190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-47
0
0
0
0
0
-47
-74
0
0
147
0
0
-2
24
0
-33
14
5
0
0
1
0
0
0
0
0
0
5
2
0
0
0
0
0
-11
0
0
0
0
0
0
155
0
2
-2
-1
0
0
-39
0
0
-15
0
0
0
-36
0
0
-3
0
0
0
-40
0
0
33
0
0
0
38
0
0
-58
0
0
0
-28
0
0
5
0
0
0
-26
0
0
0
0
-1
0
21
0
0
-3
0
0
0
-35
0
0
0
0
0
0
13
0
0
0
0
0
0
76
0
-8
0
0
0
0
-67
0
-1
0
0
0
0
-27
0
19
-1
0
0
0
19
0
-1
0
0
0
0
20
0
0
2
2
0
0
151
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
12
-16
2
0
2
-71
0
0
12
0
-4
-2
37
0
-29
32
14
0
0
-11
0
0
0
0
0
0
25
41
0
0
0
0
0
2
0
5
20
0
0
0
28
0
0
-19
14
-3
67
37
0
0
-43
0
6
-4
42
0
-1
-1
0
-4
-7
-16
12
1
4
14
0
0
-13
-4
0
27
-9
0
13
62
0
0
-1
0
4
0
-97
0
0
0
-1
-6
0
-63
18
0
0
0
0
0
3
0
0
0
0
0
0
74
0
-10
0
0
0
0
42
0
2
0
25
0
8
-29
0
9
-22
2
0
0
-93
0
0
15
51
0
-7
19
0
-35
1
0
-7
-8
-17
0
0
13
2
1
0
46
-15
17
0
0
2
0
-29
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
4
15
0
16
-13
15
38
57
9
-67
-89
19
16
-34
11
37
-32
-37
-30
30
14
9
3
24
37
28
-12
-92
73
-47
-15
9
6
9
-80
-38
-15
2
65
39
42
3
-15
29
28
-9
15
32
-8
-42
5
-16
-33
-19
-5
-41
-32
7
5
20
-24
6
62
2
26
-8
-3
-23
1
-8
-72
6
26
47
32
1
31
-45
-77
-58
-56
-88
-4
-20
-81
-15
-19
-38
20
17
-65
12
7
-3
56
0
-11
63
5
57
-40
-4
-128
-18
77
12
-8
-12
21
103
36
-37
-49
-63
0
44
-19
-13
-1
9
17
-10
1
-11
6
-44
77
30
49
83
96
-1
-33
33
33
-9
-15
16
1
-9
4
-10
15
49
-69
12
-41
6
50
49
133
-2
-14
-11
-33
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
47
0
0
0
9
0
0
47
0
0
24
30
0
90
12
-6
0
0
-65
0
0
-4
0
0
0
39
0
13
0
0
0
0
-50
0
0
0
0
0
0
-82
0
0
-71
0
7
-22
39
0
0
109
0
0
2
-32
0
10
37
0
0
0
-11
0
0
-1
0
0
0
23
0
0
14
0
0
0
-94
0
0
68
0
-1
0
-89
0
0
0
0
76
0
-170
-4
0
0
0
0
0
3
0
0
0
0
0
0
127
0
22
6
0
0
0
46
0
0
-16
0
0
9
-68
0
-1
-23
0
0
0
-63
0
0
3
-1
0
0
20
0
-5
-11
0
0
0
-30
0
0
1
0
0
0
-57
0
-11
0
0
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
-29
-65
0
0
0
0
0
0
-37
0
0
-15
0
0
0
-5
0
-28
0
0
0
0
-45
0
0
0
0
0
0
-22
-20
0
0
0
0
0
20
0
0
0
0
0
0
-20
0
0
-1
0
0
0
12
0
0
4
0
0
23
-14
0
0
0
0
0
6
30
0
0
5
0
0
0
-72
0
0
-7
0
0
0
13
0
0
0
0
0
0
7
0
0
0
1
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-10
2
0
0
0
-2
0
0
0
0
0
-20
61
0
0
2
0
0
0
-22
0
0
-7
-8
0
-11
17
0
41
0
0
0
0
-12
0
0
-7
0
0
0
73
0
-7
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
9
46
3
-75
-90
8
-4
22
-1
-42
5
49
10
54
-3
20
-9
-2
-13
27
23
34
-6
65
19
14
7
37
22
-15
-3
0
0
0
26
24
48
24
-33
58
17
-7
11
13
-1
105
-47
-15
6
40
28
-145
67
-36
-51
-30
-15
-8
-34
-3
106
21
12
-39
45
124
34
-8
59
2
10
122
-72
-44
11
58
3
-5
73
36
37
0
62
24
-3
0
-17
-9
0
21
70
-1
-25
-4
0
-9
24
64
4
-20
50
-5
-5
-16
-4
45
-60
11
5
-41
-19
-6
-48
27
31
17
107
-7
6
27
-78
-43
-9
21
-58
0
1
40
-6
59
48
10
-8
5
-64
-28
88
-52
-39
16
-215
-24
45
29
-2
-26
64
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-44
-4
-24
-87
-17
-21
-46
-5
-23
-9
-132
9
-24
1
5
-13
-1
9
-78
-7
15
-38
14
-12
-50
40
19
30
-38
61
27
73
37
0
36
-26
-18
-9
0
-11
7
-17
-94
-5
-14
-32
20
2
-47
-32
11
-11
-41
-58
0
-41
-22
-3
22
3
-54
-1
-84
52
-43
13
125
-53
-12
-87
-28
3
-89
-25
-37
-13
-61
-68
-5
13
6
-16
10
23
-29
-72
-11
41
-6
7
-11
77
34
22
29
9
10
-35
-1
37
10
-13
126
-6
-27
-10
-26
-2
78
-121
-15
-83
-47
-6
6
64
65
0
-6
-115
1
-9
-55
-63
3
-5
-6
26
21
-12
38
1
9
35
-34
-14
83
-11
2
21
-55
29
13
-35
52
5
35
-126
-54
-11
-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
-1
74
0
0
11
0
0
0
-32
0
-8
1
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
72
0
0
0
0
0
-1
143
0
0
-2
0
0
0
-109
0
7
-18
0
0
-8
-57
0
0
9
0
0
0
38
0
0
2
0
0
0
15
0
0
0
0
0
0
60
0
0
0
0
0
0
-170
0
0
0
0
0
0
-7
0
0
0
0
0
0
-111
0
12
0
0
0
0
-52
0
0
0
0
0
0
52
0
3
-8
0
0
0
-87
0
0
0
3
0
0
-86
0
66
0
0
0
0
-43
0
0
3
0
0
0
58
0
2
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
-2
15
0
22
0
-172
0
52
-8
2
0
0
-9
0
0
-12
0
-7
0
17
0
-2
0
0
0
0
-35
1
0
-2
0
0
0
-35
0
0
1
0
0
26
3
0
0
14
0
0
81
-34
0
-6
-34
-6
0
-1
25
0
0
56
0
-17
-4
40
0
13
11
15
0
5
-2
0
-5
1
-8
17
0
-86
0
0
0
-3
0
0
72
12
0
0
0
0
0
-30
0
0
0
0
0
0
-79
0
-19
9
0
0
0
-95
-2
-18
-3
11
0
12
32
0
13
-1
0
0
7
45
0
6
-8
14
0
0
19
0
35
-1
0
-4
0
89
0
0
17
1
3
0
85
0
-36
2
0
5
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
-4
2
0
-20
17
1
-2
-69
-6
17
-37
-1
-10
-31
1
14
-11
-6
-14
-5
-16
21
6
119
-22
0
-10
-16
-3
43
15
-38
33
3
16
-105
24
-92
-95
39
28
3
-30
-18
-38
2
-27
11
-2
13
15
-35
-36
9
-6
-7
22
-2
-25
-11
6
-26
21
-6
11
-20
9
-33
34
131
-26
16
18
-47
80
60
3
55
-6
24
-40
-24
72
47
0
7
-47
-4
-4
8
27
0
-1
22
-93
-6
-47
0
-34
0
-14
-73
46
-16
23
43
33
-2
65
9
38
-20
28
31
-14
7
-42
-22
2
9
-34
-10
7
-125
-50
0
-35
-13
-1
5
67
86
-13
-63
23
0
13
34
-111
58
1
9
0
-68
24
9
30
0
-15
97
17
-6
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
-68
-25
7
0
68
0
0
-50
-20
0
8
-10
0
0
43
-34
8
0
2
0
88
0
40
35
-1
0
0
0
8
-26
36
-8
0
0
0
-4
-56
-1
8
107
0
91
-11
20
0
33
22
0
-4
25
30
0
12
-8
0
-6
56
13
0
0
16
-5
-7
-1
42
0
28
13
0
0
-21
-39
0
-8
173
0
32
0
-40
-37
67
37
0
-58
0
6
-4
0
0
0
0
0
22
17
-7
-20
0
0
2
-9
6
76
3
0
-28
12
46
0
-15
-26
0
-26
56
-57
0
-59
-21
0
0
3
4
0
7
-16
0
0
44
28
8
82
28
24
1
13
61
0
-27
54
0
15
0
-31
16
84
0
0
60
0
-23
-13
23
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
4
-10
0
-9
0
18
0
0
40
0
0
0
0
0
0
2
-22
0
0
0
0
0
-176
0
0
0
0
0
0
6
6
0
0
0
0
-1
-58
0
0
-12
0
0
16
-13
0
0
6
35
0
-11
-117
0
0
-29
0
0
0
-20
0
-3
110
28
0
-9
-55
0
0
5
0
0
0
16
0
0
0
12
0
0
-29
0
0
0
0
0
0
-109
2
0
0
0
0
0
40
0
6
-3
0
0
0
-31
0
-3
-8
-8
0
0
18
0
0
33
0
0
0
5
0
0
94
-12
0
-3
89
0
-47
-3
0
0
0
-99
0
0
18
0
0
0
35
0
28
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
-160
-46
0
-10
4
-67
-73
36
11
-6
41
76
24
-38
9
8
35
-26
5
-79
3
-17
1
-25
-22
-7
28
-27
-7
4
-9
-163
18
12
30
-10
5
10
26
0
15
16
-22
-6
60
17
7
-83
-12
-44
20
82
-7
69
-8
56
-43
16
-17
-2
4
-69
50
63
29
-4
31
-4
48
1
-38
-31
4
-39
20
-36
-15
0
4
-26
-2
-5
2
-7
1
25
35
124
9
-13
0
2
12
-20
3
58
-13
-85
23
-12
18
-17
-31
-9
17
4
-12
5
-4
3
-35
0
19
6
6
14
-48
5
116
19
8
28
-6
75
-24
-3
-29
55
7
96
-18
47
59
1
-2
7
-17
32
7
-31
4
-18
-86
-6
-19
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
-71
-17
-1
-13
11
-9
-126
-37
-53
2
-33
-17
-41
-129
-76
-7
34
-36
-149
-106
-15
-29
-7
-28
19
-75
46
58
-41
31
29
18
15
37
15
-26
5
3
-23
20
-65
21
17
3
46
43
32
15
-41
13
10
-3
-95
37
4
-17
31
0
23
-41
-3
1
-112
10
6
-12
56
61
69
-42
31
-13
-63
-15
40
-15
-43
4
-6
24
-65
-166
-98
-4
23
41
61
-31
-8
-41
-79
-18
0
-145
-29
117
43
3
19
18
50
-35
72
-33
-25
-20
26
67
-7
19
-34
-8
34
12
-52
68
15
32
-38
116
0
6
31
-24
-25
-12
7
10
65
79
13
-40
37
24
2
-15
-41
-69
-6
11
11
11
-28
-105
98
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
-17
0
69
-15
-11
0
0
-9
0
0
-3
0
0
0
117
0
2
0
-45
0
0
69
10
0
0
0
0
0
50
0
32
-3
0
0
1
25
0
2
4
0
0
-2
15
0
0
54
16
0
0
91
0
0
-16
0
0
0
71
0
0
-4
-6
0
-5
-71
0
0
1
0
-20
0
10
0
0
0
0
-4
0
14
0
0
0
0
19
0
-8
0
0
0
0
0
0
-21
0
1
0
0
0
0
-36
0
0
0
0
0
0
80
0
1
4
0
0
0
-17
0
10
0
-3
0
0
-22
0
9
0
0
0
0
67
0
0
0
0
0
0
-40
0
-9
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
26
54
0
1
104
5
0
13
9
0
0
0
0
0
10
-13
0
0
0
0
0
0
70
0
0
22
0
0
0
31
0
8
-8
33
-8
37
42
0
0
0
0
-4
0
9
5
0
7
0
0
-7
-146
0
-14
117
0
4
0
-43
0
29
0
0
-8
-8
9
0
0
-4
0
9
-1
46
0
0
9
0
34
0
-32
0
0
0
0
0
0
14
5
0
0
0
0
0
59
0
-4
-4
0
0
0
82
0
0
0
-1
0
-7
6
0
-11
0
0
0
0
69
0
0
6
0
0
0
14
0
-4
-10
0
0
0
99
0
0
8
0
0
0
-50
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
-68
4
31
-2
45
8
-26
49
19
41
-6
-29
-126
44
-31
8
31
-67
-2
-32
0
-13
13
-6
-11
-1
-10
-11
-23
26
53
-13
29
-21
17
71
18
50
-78
-56
-97
26
46
19
-60
-76
17
24
26
12
-38
31
-4
3
-77
77
67
8
26
-52
-1
10
5
55
16
0
-18
47
-39
39
26
46
31
-6
-3
-9
-1
-5
17
12
1
-2
124
31
35
17
123
-1
-29
-21
15
145
4
-53
2
45
-17
63
80
10
19
-93
-59
-24
-92
26
9
43
-75
-60
-39
3
22
-61
-56
-9
52
10
-92
5
-1
6
5
-47
-2
-23
37
-6
36
-2
-94
-25
-21
-60
24
0
0
-10
-53
62
0
48
-179
-5
-4
-84
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
-15
46
0
2
132
0
0
-19
-22
0
0
22
0
0
0
20
-7
18
0
0
0
0
-53
0
0
0
0
0
-7
-32
-10
0
0
0
7
-4
-38
0
0
48
0
5
-20
-38
0
0
-18
0
0
0
-25
0
0
-35
0
0
0
-64
0
0
-11
-4
19
13
-15
0
8
-23
0
3
0
26
0
-6
-8
0
-23
0
20
-6
0
0
0
0
0
-32
0
0
0
0
0
0
-13
0
-12
0
0
0
-4
-49
0
-26
-22
0
0
0
-104
0
-7
-3
0
0
-2
-3
0
0
35
13
0
17
-137
0
9
-13
0
0
1
-60
0
0
38
0
0
0
-27
0
6
0
0
18
0
-55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
76
0
-45
-15
41
0
-7
-65
0
0
4
0
0
0
12
-16
0
0
-7
0
0
9
0
0
0
0
0
11
-57
0
-2
32
-14
0
37
-70
0
0
-8
8
0
24
86
0
0
155
-29
0
-32
30
0
5
2
4
0
6
37
0
0
-16
12
0
4
62
0
0
12
0
0
0
-97
0
0
13
10
0
0
-35
0
0
0
0
0
0
12
-12
0
0
0
0
-10
64
0
-20
0
0
0
3
-97
0
3
20
2
0
3
-46
0
19
-17
-4
0
-17
-21
0
8
-61
-8
0
-17
73
0
41
13
0
0
-3
-22
0
0
-1
0
0
0
-19
0
-1
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
4
68
0
0
-27
12
8
0
-39
-67
-11
6
-34
0
0
-12
24
13
-1
0
3
-25
-8
-27
-11
12
41
46
-34
-15
8
18
53
-2
-6
77
21
-2
53
0
-16
-24
-80
-17
-40
18
-53
-43
-8
34
1
67
-52
-7
16
-65
44
-32
16
11
-2
0
104
-2
19
0
-4
25
-94
6
0
-13
0
0
0
3
-32
-2
-39
-7
0
11
0
0
27
-2
0
29
-34
2
75
-1
-35
-4
9
-8
-33
-13
-16
24
0
13
-4
-3
10
-19
72
-12
13
-62
-68
-9
-12
-58
0
-57
46
2
-10
-21
-17
-1
8
1
45
0
0
39
0
63
-16
-10
70
0
-77
-10
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-78
52
-9
-1
-31
-12
12
-19
14
99
-1
-102
0
6
35
-74
31
-70
49
-7
95
-2
25
7
-21
-45
64
27
3
5
17
67
63
41
-43
11
16
5
-3
-40
-29
9
16
-19
-27
11
-56
-60
45
-22
49
51
-69
-56
-17
163
0
-108
67
-38
127
-24
56
3
74
109
34
-179
-47
-3
-4
-2
-11
-31
-58
-7
7
24
12
-23
23
-4
4
42
-6
-98
4
38
31
-19
-19
10
61
17
30
-35
96
66
56
2
31
81
61
-27
-29
20
-60
3
18
-83
95
2
-5
86
62
42
23
54
-34
0
20
35
97
25
-55
-8
-11
135
106
60
-141
-27
12
44
56
-70
117
-112
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
-8
0
0
0
0
0
0
32
0
0
0
0
0
0
-14
0
0
0
0
0
0
-31
0
0
0
0
9
0
-40
0
0
0
0
0
0
-74
0
0
-3
0
0
0
10
0
0
0
0
0
0
39
0
0
3
-4
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
-70
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
-1
0
0
0
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
26
0
0
0
0
0
0
25
0
15
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
-11
-31
53
19
-18
-47
-45
-3
-17
-44
-1
-47
-23
-26
45
0
4
34
85
-33
2
44
-54
-52
-14
20
28
19
-62
-7
37
-59
40
-67
84
-51
10
-40
16
8
0
-27
1
2
-5
-1
8
62
49
100
20
1
-90
13
33
45
15
-20
-3
45
34
24
-10
-8
34
62
-179
-66
20
-3
7
15
-32
-37
-7
12
33
-20
-24
-14
-13
5
-121
-2
-127
-30
-38
-16
-47
-69
63
-66
21
-86
-39
51
13
-22
-21
-13
-73
-11
-59
-50
-84
-142
-7
-33
-13
31
-8
68
65
14
11
-156
55
101
16
-20
-34
12
95
-17
70
-69
85
43
-86
97
-16
-135
-39
0
-7
85
4
-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
-51
4
0
0
1
-28
52
9
9
-114
80
0
-106
0
-7
-6
-11
0
18
22
38
-104
28
-2
65
-38
29
-55
34
22
1
-5
60
-22
5
-53
3
34
-35
-2
-43
-31
-43
20
-52
30
38
5
-26
-24
-64
-4
10
60
-28
-58
-12
-54
-1
3
-28
2
104
11
-5
0
-17
0
-41
6
0
5
-7
-22
0
120
-7
0
-20
-159
0
-4
67
-2
-2
-12
1
40
-16
-7
31
43
-9
0
7
54
-42
45
-5
11
9
-67
-107
40
2
18
6
-4
-106
-142
-98
13
-19
-29
0
-14
126
-53
-27
8
-43
5
32
-15
56
-15
0
-12
-12
-156
0
36
-61
0
-49
-108
16
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
-11
0
51
0
6
-110
6
0
0
3
0
8
-39
0
-18
0
-3
69
-3
0
26
72
-3
65
53
37
0
-21
34
3
-49
-28
-5
0
-20
-18
0
71
16
-4
0
-5
-9
15
-102
-27
-4
18
-9
32
0
-75
40
4
0
0
35
0
15
4
36
-10
-5
12
0
6
0
-18
-31
0
15
0
0
0
13
28
3
0
0
0
8
3
-6
132
109
0
3
-45
89
12
11
0
0
-32
26
23
0
52
60
0
3
-16
26
0
20
-11
1
-56
2
36
0
-23
-29
14
0
3
9
0
-11
70
0
-27
-5
36
0
64
103
0
70
0
-32
-14
-14
-10
-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
23
35
0
0
0
0
0
0
19
0
-10
0
9
0
0
58
0
0
4
0
0
0
56
0
0
12
4
0
-1
-28
0
2
29
0
0
25
47
0
0
-11
14
0
81
45
0
0
20
0
0
6
59
0
0
-40
7
0
-21
9
0
0
-2
0
0
0
-16
0
0
-5
0
0
0
-10
0
0
0
0
0
0
139
-7
0
0
0
0
0
50
0
-1
0
-3
0
0
0
0
0
-8
-1
0
-10
-89
0
-5
-2
2
0
12
70
0
-4
42
-3
0
21
-4
0
-44
58
0
0
0
61
0
0
38
0
0
0
-119
0
-16
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
53
-18
0
12
0
0
-6
26
0
0
0
-9
0
-11
-4
0
-14
-11
61
0
-19
0
0
52
1
89
2
38
43
-16
42
16
14
-7
-63
-2
-8
-47
8
-17
0
-25
0
4
-12
-2
-10
-1
-13
0
14
13
-6
-80
0
80
1
-5
-43
-3
57
0
-29
-8
0
0
19
5
0
-113
-5
0
0
-15
0
0
-82
0
71
2
2
31
-5
-9
-2
0
-14
-13
3
1
26
0
-72
0
0
0
0
-2
0
0
-51
15
0
0
-40
3
-42
99
-2
2
0
57
0
0
19
-15
-20
0
-83
0
50
0
-13
-38
0
-50
-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
-15
1
120
-60
87
67
-19
54
13
-137
18
44
-11
13
-158
-12
28
-14
-25
-7
39
9
4
-37
-47
26
78
3
26
14
3
96
32
33
35
111
1
55
26
39
-61
-11
54
16
12
120
43
-66
-1
-6
11
-9
-84
-4
-1
65
98
0
-83
24
39
-1
-67
-14
-9
38
-72
-38
-119
152
27
30
-9
-52
-29
-91
-49
-9
-6
0
16
58
6
-119
9
50
54
13
-4
30
4
28
22
-32
-15
11
-49
-88
42
59
8
17
6
-62
-10
49
6
-100
-47
26
-19
102
-101
-35
-61
93
17
0
-42
10
0
5
10
32
-83
81
35
36
-62
-39
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-84
0
0
0
0
0
0
33
0
0
-1
16
0
8
100
0
0
8
0
0
0
-29
0
0
3
1
0
-6
26
0
0
53
0
0
0
-4
0
-3
-7
-16
0
0
11
0
0
1
0
-9
0
5
0
0
0
0
0
0
130
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
2
-9
0
0
0
0
0
0
-63
0
0
0
0
0
-12
15
0
0
0
-3
0
0
-18
0
1
1
0
0
0
-31
0
12
0
0
0
0
-31
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
21
16
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
2
49
0
0
0
0
0
11
-44
0
0
47
-7
0
0
30
0
0
-18
0
0
0
39
0
0
0
0
0
0
48
0
0
0
0
0
0
48
0
0
0
0
-5
0
-144
0
0
0
0
0
0
33
0
0
0
0
0
0
-24
0
0
3
0
0
0
-6
0
0
6
0
0
8
50
0
0
0
0
0
0
-3
0
0
0
19
0
0
-2
0
0
0
0
0
0
-98
0
0
0
0
0
0
-35
0
36
0
0
0
0
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
0
0
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
-42
57
0
-19
0
0
-11
-14
0
0
3
7
11
-26
-35
0
14
0
23
1
26
-2
-3
-21
38
-96
48
73
-3
-8
-84
114
-25
68
9
58
-1
66
-12
81
-24
19
4
-2
-32
53
36
1
-47
0
7
17
0
-48
4
68
0
2
0
19
-88
0
-33
17
0
0
-17
-3
0
12
-13
0
0
0
0
0
-77
0
26
14
0
18
1
-35
0
-2
66
0
0
10
-13
-1
44
15
5
0
16
59
0
-2
-3
36
0
6
24
6
114
0
-1
1
0
104
0
0
-5
0
5
0
19
0
121
0
-1
-20
0
-86
8
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
38
0
0
0
0
0
0
11
1
27
-1
0
0
24
21
0
0
-16
0
-4
7
7
0
0
-50
0
-12
5
-7
0
0
-28
0
60
11
-182
0
0
64
0
9
-6
74
0
0
-3
0
8
0
-143
0
0
127
0
-80
0
-14
9
0
0
0
-22
0
-28
0
0
0
0
0
0
-39
0
0
0
0
1
0
27
0
0
-1
0
11
0
1
0
16
-4
0
0
0
55
0
-19
94
0
0
0
76
0
0
-2
0
0
0
-51
0
0
22
0
-34
0
-97
19
-10
0
0
16
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-32
0
-27
0
0
14
5
9
0
0
0
10
-8
-7
12
102
-20
0
-53
4
0
0
-31
0
0
-40
31
16
-8
47
15
0
-59
35
34
44
3
-15
0
75
-67
0
16
8
135
0
-15
7
0
-6
-7
0
0
6
-10
1
0
-27
-82
0
0
-81
-3
0
0
0
0
5
-63
9
0
0
0
0
0
-9
0
-11
0
0
0
-4
-41
0
0
-18
43
0
27
67
3
5
26
12
0
-3
8
0
-11
85
1
0
11
-129
0
63
110
3
0
17
-14
0
0
-27
20
0
0
-69
0
-19
32
0
0
0
76
25
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
-64
0
0
0
0
0
0
-18
0
0
0
0
1
0
-74
0
0
15
0
0
-2
60
0
0
20
-5
0
0
71
-6
0
4
0
0
0
24
0
0
0
3
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
42
0
19
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
-30
0
-1
0
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-46
158
39
28
-48
1
37
24
45
-39
-35
74
-1
112
72
29
45
58
26
12
28
-17
23
-38
-80
4
4
-58
-68
6
-35
39
-37
1
-4
-30
30
13
20
28
-2
18
-88
-5
-28
-16
-36
1
50
59
7
62
-14
-12
0
29
-64
-66
-52
61
-123
10
-1
-20
0
45
58
-24
20
-122
25
-38
23
11
-25
-5
54
64
-11
10
75
33
-20
-36
-46
22
39
22
-34
17
18
37
15
5
33
-49
24
-57
-21
26
-35
0
29
-6
-24
-22
33
-34
42
-134
14
-50
-33
41
-68
-19
2
0
133
32
50
-111
-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
-38
45
0
14
-10
-26
0
2
-9
3
-104
3
-25
49
3
0
-1
-45
31
38
68
-29
-6
57
-67
-79
-6
34
-4
4
-2
13
4
-5
42
-36
-1
-34
93
38
-45
-74
6
0
-10
-65
34
130
-13
79
4
12
-109
-59
74
-9
-23
0
0
0
0
-1
0
-30
-47
0
0
0
-23
-2
-85
0
-110
-86
0
-26
-4
-48
0
40
-46
31
-5
-15
14
2
31
68
21
-2
38
-21
0
-23
-63
18
0
-11
-45
-21
4
0
-2
8
-15
-26
0
-6
-2
107
19
0
-3
-17
60
-6
-15
49
0
7
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
14
-64
3
-15
0
0
0
6
-18
-8
48
-6
-35
-76
-13
7
0
0
13
-6
120
125
31
-3
17
78
-10
94
88
-27
-7
-1
-34
22
44
46
-16
-1
-3
-16
-23
15
-28
-70
14
0
54
-2
192
3
68
-4
0
-44
3
18
0
-51
1
0
0
6
-21
-7
-25
1
0
0
0
0
8
0
14
20
-16
0
-1
-15
37
0
3
15
-2
13
45
-12
0
61
57
-15
2
-19
-48
0
70
9
51
11
-45
33
0
-13
34
84
0
0
12
0
5
71
-34
5
-5
-171
15
65
11
-1
-5
0
27
-53
-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
114
0
0
0
0
0
0
-41
0
0
0
0
0
0
-89
0
0
0
0
0
0
170
0
0
2
0
0
0
-16
0
0
17
0
11
-4
33
0
2
0
0
0
0
-27
0
0
0
0
-5
0
-18
0
0
0
0
-1
0
-21
7
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
7
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
-24
0
-1
0
0
0
0
43
0
0
0
0
0
0
59
0
0
0
0
0
0
-14
0
-1
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
-21
2
0
-22
0
-37
16
25
20
-7
38
0
31
81
-14
-5
3
74
0
7
16
63
9
66
53
0
-138
6
-54
0
-37
31
0
13
-13
-88
15
13
-13
0
-11
-52
1
0
5
20
0
46
0
140
0
0
-3
0
36
0
24
0
0
0
0
-24
0
43
23
0
0
0
-1
11
-30
0
-46
0
0
-1
-5
13
-7
0
0
0
14
0
3
19
28
208
0
-5
-4
-77
16
0
0
-9
3
-1
-27
0
-116
8
0
6
8
-2
0
0
-6
0
17
13
-31
0
-15
2
0
-114
0
-53
4
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
-108
0
0
0
0
0
4
-74
0
0
0
0
0
0
-32
0
0
12
0
0
-13
-38
0
0
25
2
0
12
-65
0
0
-24
0
0
0
-14
0
0
-41
-4
0
0
-18
0
0
0
0
0
0
-67
0
0
0
2
0
0
24
33
0
0
0
0
0
62
-19
0
0
0
0
0
71
0
9
0
0
0
0
-25
0
0
0
0
0
0
-1
0
-6
0
5
0
0
-2
0
11
-3
0
0
0
-41
0
-5
0
0
0
0
17
0
0
0
0
0
0
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
0
0
0
0
1
18
0
0
-14
10
0
-14
-103
0
0
39
0
0
0
36
0
0
1
-3
0
0
-11
0
0
3
0
-2
0
7
0
0
0
0
3
0
48
0
0
0
0
0
0
-26
0
0
0
0
0
0
-19
0
5
0
0
0
0
-17
0
0
0
0
0
0
47
0
0
14
0
0
0
98
0
7
5
0
0
0
-10
0
0
0
0
0
0
-17
0
0
0
0
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-136
19
-51
-85
-21
-12
6
13
63
8
-39
-7
21
11
53
-28
31
-65
-34
-25
0
-74
-26
25
-104
13
43
8
12
-42
4
4
38
22
13
-81
14
25
22
53
23
4
24
-71
-31
-21
24
-31
32
-46
-4
-23
0
-47
-6
0
-22
-95
-110
-55
-4
-31
40
-2
-74
4
-16
-73
-24
1
-56
-70
25
-26
1
-13
-2
-44
29
0
-76
14
-6
-18
59
53
-29
-18
-68
21
6
-19
13
-26
-42
59
-25
21
-45
-21
4
-71
34
20
-4
-65
-19
70
-112
-46
27
14
-18
13
-88
-70
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
6
-37
24
-1
59
18
0
13
132
0
0
18
0
-11
55
65
0
-9
5
1
0
23
75
0
-38
65
0
4
14
49
0
1
-2
-5
13
-2
-36
0
0
-36
0
4
0
-102
0
1
-3
0
17
0
9
0
0
0
0
0
0
-39
2
0
0
11
3
0
-9
0
51
-15
0
0
2
45
0
0
1
0
0
-20
39
0
-11
-8
-2
0
6
-61
0
18
-14
-21
0
0
-5
5
-17
46
0
0
0
-50
0
0
0
12
0
0
-19
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
0
0
-31
0
8
0
3
0
0
10
0
0
0
30
0
0
16
0
0
2
-76
0
0
25
-15
0
0
-53
0
0
0
0
0
0
-26
0
0
0
0
15
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
-1
0
0
-3
0
-89
0
0
0
0
0
0
34
0
-15
0
0
0
0
-18
0
0
-4
0
0
0
37
0
-1
-11
0
0
0
39
0
0
-2
0
0
2
7
0
-33
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
49
5
22
0
7
-1
0
-37
-1
56
12
0
25
0
0
-18
60
0
-5
68
0
6
0
-16
0
11
-15
10
-14
2
-54
0
0
7
0
21
0
-15
0
5
0
3
52
0
115
0
0
0
0
0
0
-55
1
0
0
0
0
0
-52
0
-2
0
0
0
0
2
0
-6
-4
21
0
0
48
0
-16
0
0
0
0
-9
0
0
4
-3
0
-3
-85
0
-8
27
10
0
0
24
8
0
0
28
0
0
32
0
-8
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
90
0
0
-19
0
50
2
-142
0
0
-22
0
-17
-17
46
0
17
14
1
0
0
76
0
0
28
-2
11
0
8
0
0
36
0
0
0
-105
0
0
0
0
-1
0
64
0
0
-1
0
-16
0
-96
0
0
0
0
0
0
-81
0
0
0
0
0
0
-7
0
-13
7
0
-7
0
-97
0
0
31
0
0
0
2
0
8
-1
0
0
0
-36
0
0
-9
0
0
0
9
0
-41
0
0
0
0
-13
0
0
-4
0
0
0
15
0
28
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
75
-3
0
4
3
0
0
-48
0
0
-2
0
0
0
-51
0
3
1
-6
0
0
-39
0
0
-40
10
0
-2
-116
0
-1
-1
0
0
0
58
0
6
-6
0
0
0
-1
0
0
-6
0
0
0
-35
0
0
0
0
0
0
-8
0
0
0
6
0
0
65
0
1
0
0
0
0
-55
0
7
13
0
0
0
6
0
-11
2
0
0
0
-13
0
0
7
0
0
0
36
0
5
0
0
0
0
-30
0
0
-11
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
-33
0
3
-1
0
18
0
37
-6
0
121
5
0
4
75
0
16
15
-1
0
7
-33
0
4
53
38
22
0
19
0
31
-22
0
-12
0
76
0
0
3
45
44
0
24
-18
0
0
0
0
0
104
-29
0
0
0
0
0
27
0
89
0
0
0
0
24
0
2
-132
-14
0
0
30
0
59
-17
-33
0
0
-78
0
26
-21
47
0
0
31
0
-92
-1
0
0
0
55
0
-37
-28
-16
0
0
58
0
-67
0
0
-15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
76
-10
36
86
49
76
16
18
-2
24
-8
19
-14
4
-124
-9
4
2
29
-32
14
8
-72
-17
56
59
-79
24
-16
41
-14
-140
61
39
12
-26
-10
15
34
5
8
-16
69
25
-15
82
20
-1
45
41
-49
-37
34
61
-68
0
-49
-35
-18
-4
20
-83
-5
-5
9
5
7
-130
25
13
5
-42
-32
85
28
-27
-35
-3
30
-31
49
-34
80
19
-28
-11
9
22
183
48
-11
-7
1
-17
-49
29
67
11
10
-54
43
18
-36
-2
-27
83
-110
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
3
-10
0
-7
126
0
5
51
0
-5
-15
165
0
-5
-4
0
-7
12
-61
0
6
38
3
2
0
40
0
-7
13
1
-5
0
76
0
-1
0
-2
2
0
18
0
0
0
0
0
0
-123
0
-26
0
1
0
0
-1
-9
-29
-3
-6
0
-7
10
0
22
-1
4
0
0
-24
0
-3
-13
-10
0
0
22
0
-1
-12
-1
2
-14
-117
0
32
-2
-7
0
0
-18
0
0
-6
-2
0
0
11
0
19
0
0
-2
0
133
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
37
0
3
32
-73
-1
0
41
-3
0
-28
-30
14
3
45
-3
5
0
-34
-5
0
-56
-12
-17
0
-131
0
0
44
1
-17
0
27
0
0
7
0
-50
0
43
0
0
0
18
7
0
38
-17
0
0
0
0
0
7
0
-35
0
0
0
17
82
0
-2
-2
-4
0
8
-69
0
-15
-23
0
0
0
-91
0
3
8
53
0
0
46
1
43
-15
11
44
0
-99
0
2
2
13
-33
0
-4
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-42
3
56
72
-25
61
59
40
2
8
70
-58
9
42
-30
-2
-33
47
3
34
-84
28
2
47
-74
37
-13
171
-1
-1
3
-103
12
23
7
1
3
20
-21
73
1
-2
25
-11
-1
0
0
2
0
7
0
0
0
0
0
-1
-11
0
43
19
18
-5
30
-52
8
7
50
43
0
0
39
-6
-17
-20
-9
1
16
-87
-1
-2
-64
28
8
-22
9
-1
5
-87
1
5
24
-8
0
-10
-62
-10
12
0
-24
-15
79
4
0
46
0
60
-28
7
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
4
-34
0
0
158
0
15
28
-57
0
5
-73
0
26
38
-51
-6
24
46
-3
3
-9
55
0
54
-46
26
1
5
52
0
0
102
0
-18
0
-63
0
-4
-12
0
-29
0
-38
-2
0
0
0
0
0
-26
-6
6
5
0
0
11
-37
0
-59
0
0
0
8
-31
-2
6
-11
0
0
-2
-62
0
90
53
0
0
0
120
-7
-33
40
-2
0
0
19
0
66
-93
-3
0
0
169
0
0
-40
-2
3
0
-18
0
-17
10
0
-20
0
-41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
4
0
0
-56
-77
14
79
0
25
0
-3
-6
12
-19
98
-8
0
-105
-80
0
-23
-89
-108
0
37
-42
0
9
68
28
0
-26
-6
0
9
-22
116
0
0
-1
-8
0
-1
1
0
-2
-16
1
7
-8
0
0
22
-47
0
-45
-81
0
0
-27
28
0
-10
89
-5
0
-20
17
0
-8
42
-15
0
13
9
2
-1
51
17
0
-1
66
0
18
15
32
0
1
75
0
0
-2
115
0
0
-44
0
-63
-10
1
0
0
45
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
22
-35
-3
8
-60
-48
-5
-25
40
9
16
14
-55
85
-16
82
0
12
-62
7
4
69
6
0
1
87
-5
55
-5
-28
-5
0
92
-89
64
0
23
2
-8
0
-6
9
0
-7
19
-1
-5
-1
0
-8
37
0
67
16
0
-9
-3
30
1
13
-65
-78
-5
-3
-7
0
-72
-94
28
0
2
-1
0
-60
27
-1
-3
0
-15
2
62
-87
-3
18
0
-70
0
-8
-13
39
0
0
66
8
18
41
1
119
0
-39
-13
4
-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
0
0
0
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
81
48
18
57
-7
50
10
33
-40
-8
-44
-53
35
1
13
9
36
-8
-142
7
32
37
-17
26
7
2
5
0
-5
-3
29
-22
-20
-93
9
-4
165
-67
16
-83
25
35
28
86
27
-59
-8
131
23
88
-8
80
-10
19
-149
0
-74
-34
6
14
-60
-103
21
-44
25
69
41
2
-7
17
72
22
-25
16
104
-15
4
-33
-26
41
94
-26
31
2
-55
-39
22
16
-84
95
-4
-90
11
-42
-25
-22
-1
49
19
20
133
-62
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
9
-12
0
0
7
0
0
0
-47
0
0
-10
0
0
0
72
0
0
0
0
0
0
-9
0
0
0
0
0
0
12
0
0
0
0
0
0
19
7
1
0
0
0
0
35
0
-13
0
0
0
0
21
0
0
11
0
0
0
21
0
1
0
0
0
0
77
0
0
4
0
0
0
97
0
9
0
0
0
0
-18
0
0
0
0
0
0
17
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
-20
5
30
-25
0
0
6
0
0
37
0
18
-5
21
-3
0
24
-17
0
0
-14
0
0
49
0
-5
0
55
0
0
0
-2
-5
0
65
0
0
0
0
0
0
-30
4
0
0
0
0
0
8
0
7
0
0
0
0
-20
0
0
13
0
0
0
2
0
60
38
14
0
0
-112
0
0
-15
0
0
15
-85
2
9
6
0
0
-1
57
0
0
0
2
0
0
93
0
-13
0
0
-4
0
-37
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-58
9
76
25
28
33
-8
56
-40
-31
8
-5
8
37
97
4
35
10
68
26
7
9
-16
41
-35
-24
-36
1
-13
52
-5
-48
1
39
-8
5
-20
-9
-11
15
41
-24
40
34
11
-7
5
-9
-39
-85
9
-10
20
-24
76
1
11
-38
-2
-7
-60
-18
-2
23
-20
28
10
19
-9
2
115
-129
63
-44
-10
2
0
46
-74
-45
-45
-61
-1
-2
8
-25
46
2
10
-11
0
38
4
-11
-29
0
1
35
36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
0
-28
0
0
-11
11
0
1
97
0
0
-1
-171
0
17
3
0
8
0
-16
0
0
-17
0
-1
0
1
0
0
21
10
21
0
-43
0
0
0
0
0
0
34
0
0
0
0
0
0
-5
0
-3
9
0
-17
0
-37
0
0
11
0
0
0
-59
0
-6
-5
0
0
0
-48
0
-7
34
32
0
0
-89
0
-21
-9
0
0
0
79
0
0
-10
0
0
0
-56
0
11
-1
0
0
0
85
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
8
-8
0
1
-69
-13
-3
15
26
0
5
-95
7
-16
-40
-115
0
29
-101
0
0
56
0
0
-1
0
0
8
-2
-43
0
0
50
-17
0
0
0
0
0
46
-6
-7
-6
0
0
0
-35
0
71
-16
0
0
-5
15
0
0
-65
27
0
4
18
0
-18
88
0
0
0
-83
-16
8
3
-9
0
6
4
0
-71
1
0
0
0
-11
0
0
20
-28
0
0
-88
0
-51
22
-1
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
39
-12
0
103
-12
-7
1
64
48
24
12
45
36
-24
34
28
0
16
28
21
-55
-16
17
0
3
92
25
35
0
58
29
5
3
0
-5
0
6
-4
0
0
4
0
17
-21
0
18
29
38
-2
13
4
0
53
-154
-18
-3
-2
-43
12
84
-54
28
0
0
46
0
26
-82
-16
-8
5
52
0
17
-34
2
0
5
29
0
37
-17
-6
17
0
22
-15
108
-8
0
23
0
26
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
14
-45
-14
-67
1
-30
11
10
-15
4
-24
-83
-19
28
-46
-65
24
-97
-22
70
-13
30
68
3
-69
11
48
19
-40
-67
118
-49
-25
0
5
-14
-75
102
10
-53
78
-6
-43
-14
-93
73
9
72
18
75
16
-8
-115
17
14
0
-76
-18
0
80
17
-7
19
-31
-17
-59
-7
-96
-21
-13
-83
-37
-5
3
7
13
14
95
-92
7
8
-2
-85
-3
-25
-18
-22
36
38
-12
-2
21
-1
-143
-53
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
-4
49
0
0
14
0
0
-7
43
0
33
-2
-3
0
0
7
0
0
0
0
0
0
-49
0
0
3
4
24
0
18
0
0
0
3
0
0
-43
-1
-2
0
0
0
0
121
0
17
19
0
0
0
45
0
-16
-2
0
19
0
5
0
12
0
0
0
1
24
0
8
-4
-2
0
0
-49
0
52
22
0
0
0
5
0
0
-14
0
0
0
-17
0
2
13
0
-3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
4
0
8
0
25
-20
-17
0
0
-1
98
-10
0
-47
0
-1
-40
-1
23
-15
69
-5
0
7
36
8
0
-34
-7
0
0
0
-2
-4
-22
-18
0
0
0
0
6
-65
-1
13
-2
0
-10
5
37
3
5
-25
-9
0
0
-61
0
36
-18
0
0
-2
43
0
-4
18
6
0
-1
57
0
26
41
0
1
-2
47
14
0
47
-1
-6
-3
-5
0
70
0
0
-6
0
71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
-8
-10
-12
-3
-67
12
-43
0
4
-24
2
44
11
-5
68
4
-41
-17
75
-41
-32
-42
-57
5
2
-1
28
127
-4
5
-84
-73
-3
-17
-13
-21
18
15
4
-30
-14
-3
-7
69
23
62
9
13
38
-49
26
68
-39
8
19
25
4
2
-141
-1
-34
20
-43
20
-104
6
110
90
-3
45
59
-10
62
-38
-19
-18
1
-67
28
-38
48
27
1
9
41
6
-42
-11
-1
-6
42
-7
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-11
-51
20
-33
-96
-4
35
-8
-53
80
-31
51
-110
-8
0
-6
61
0
-79
21
-89
0
-3
46
-13
-27
0
-43
-4
0
0
21
-69
0
-83
-18
0
0
0
0
7
0
0
35
8
0
129
-11
81
0
13
37
0
-10
-49
-12
-3
-32
-75
0
0
-6
-56
1
-22
111
39
7
8
29
11
31
167
0
7
16
-46
7
-25
-45
-19
44
4
-4
0
138
0
0
27
0
8
159
-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
-9
30
2
0
133
0
0
-3
-55
0
5
37
75
0
0
-35
0
12
-2
0
0
0
-25
0
-8
-2
-4
0
0
38
0
0
0
0
0
0
52
-3
0
0
0
0
1
-41
0
3
16
0
0
0
-53
0
3
33
-2
0
10
16
0
112
-74
0
0
-1
-78
0
0
80
-33
0
0
7
0
6
-6
0
0
10
11
0
0
-5
0
0
0
-60
0
-15
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-113
-16
72
25
-5
8
5
-10
2
17
31
-7
37
-6
-23
3
-88
-55
0
9
10
-1
-1
4
2
3
-11
55
0
0
0
0
6
40
0
-41
-45
1
20
9
16
0
48
4
-15
-4
0
50
4
63
31
0
0
1
44
0
77
10
44
10
-6
47
69
18
-16
52
0
-7
-12
0
3
-29
36
2
0
33
7
46
21
0
12
0
-48
-66
38
-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
68
14
12
35
-4
22
-27
-2
25
75
18
9
-13
11
39
12
-51
15
-12
-25
-8
-12
6
-63
25
-72
-15
-70
13
-29
-99
84
40
88
-74
20
4
-17
-21
30
-34
-32
2
6
-40
40
5
39
-56
-11
6
-36
2
5
22
-66
-39
0
-80
-12
19
31
-1
-10
38
-11
-57
20
-19
-99
-54
-7
-103
-61
1
93
59
113
-8
-24
-48
51
1
-80
-36
12
-101
-44
-66
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
-39
0
11
23
-2
-6
-5
-34
0
0
-7
0
0
-1
244
0
0
-14
0
1
16
-112
0
0
0
0
0
6
22
0
-4
0
0
0
0
64
0
-6
10
0
0
0
-76
0
0
-3
0
41
-3
-40
0
-35
-2
0
0
0
8
-28
-13
-2
-10
0
-1
14
0
35
0
0
5
-9
30
0
0
0
0
0
0
35
0
-2
0
0
0
5
-104
-20
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
70
-10
-3
-26
-45
0
6
-18
0
-21
0
22
0
0
24
5
6
0
-14
0
0
0
-14
0
0
43
-16
0
0
-6
0
0
-128
0
-46
-30
0
-17
-1
-72
9
0
15
0
-13
-1
-36
0
153
0
-2
0
-1
-40
0
0
10
94
0
-13
-35
0
-48
-29
-1
-8
0
17
0
0
-40
8
0
0
8
0
0
-2
0
-13
0
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
38
45
14
25
84
102
16
20
93
11
50
36
-81
46
67
66
57
42
33
-1
23
19
-10
-2
8
2
-13
15
57
14
15
-90
3
20
-14
27
92
31
51
45
-44
-21
9
-54
0
1
36
84
5
-38
41
-54
2
29
44
19
-13
95
-25
44
0
188
7
42
5
-49
-8
9
45
4
38
8
-44
115
90
-29
24
-29
-14
-19
-176
81
-1
24
21
57
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
41
-16
-29
-14
-64
0
10
19
0
101
0
1
0
0
-76
7
37
0
-53
0
0
0
0
0
6
-120
0
0
0
0
0
0
-59
0
36
1
0
-26
0
-33
0
-21
36
0
-3
0
-143
0
96
96
0
0
0
-40
0
0
11
-1
0
-3
-10
0
8
108
7
-12
0
-43
0
14
32
2
38
0
-16
-4
-94
-70
0
27
0
-7
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-35
81
0
4
-67
0
-5
-56
0
0
-11
3
-23
0
0
-29
0
1
10
57
0
0
0
0
0
27
27
-6
0
0
0
-7
-47
0
15
-12
8
0
0
-7
0
-20
-10
-21
0
-2
-6
-6
110
-5
0
0
17
-43
0
2
50
60
0
15
18
0
-138
-73
1
0
0
16
0
0
-51
67
0
-3
-73
0
67
0
-19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-23
98
4
-17
0
2
-6
-8
65
-38
-25
0
27
8
0
0
0
0
0
104
-9
-9
0
-4
0
-19
11
0
-14
6
0
-12
0
42
0
13
-32
-5
-10
0
44
-10
-65
36
-1
0
0
-4
11
-23
-73
17
0
-11
-39
0
-47
26
-9
0
0
-16
0
-15
10
62
-2
0
-47
0
34
-7
0
5
5
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
52
3
42
-16
41
44
-14
94
21
17
-17
16
27
-17
19
9
11
27
97
-110
42
9
16
-17
160
-13
-62
57
102
-32
-2
-96
30
39
4
-59
-14
-124
-42
23
-39
-102
-81
45
-43
19
20
-13
-98
-86
38
-28
-44
-19
-93
21
-5
0
-9
-25
13
-5
-7
100
0
-130
73
-37
70
22
0
-1
79
-64
-27
-46
-4
18
2
-61
50
-126
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
0
0
7
0
0
0
51
0
1
-9
14
0
0
-120
0
0
0
0
-1
0
-10
0
0
0
0
0
0
26
0
73
0
0
0
7
20
0
0
0
0
0
0
57
0
0
0
4
0
0
-64
0
15
0
0
0
0
42
0
146
-6
0
0
0
-37
0
-18
-13
0
0
0
-35
0
12
-11
0
-2
0
164
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
9
0
1
-1
87
0
0
20
2
-68
0
-8
-1
0
0
0
11
0
-80
13
6
0
0
0
6
3
0
-5
-24
0
0
-6
18
0
2
40
33
9
27
19
0
-1
-51
1
0
-15
-122
0
15
7
-77
0
5
-62
0
-10
26
-3
21
-3
-25
-5
1
0
-20
0
11
13
16
142
0
0
0
0
106
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
98
8
-53
-97
2
3
-24
-2
44
49
0
-1
58
-9
4
-82
-4
-8
-17
-22
110
11
-12
0
-142
-18
-2
61
60
0
-31
-9
11
-2
50
-30
141
11
42
10
-37
52
28
18
55
-67
-50
16
-55
12
-21
24
24
-1
0
48
-85
61
0
1
5
2
94
-99
70
-2
16
48
2
-8
1
1
-32
0
-13
32
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
13
-8
0
-20
-26
-24
2
6
-23
-3
-57
0
22
-5
-4
-8
0
-1
0
-2
-44
0
0
0
0
-17
-10
0
-12
-34
0
13
-1
39
-3
49
97
0
15
-35
-39
-6
8
97
17
0
-15
6
0
7
-40
-2
0
-12
73
0
109
-19
-3
3
5
-5
11
-8
-29
0
-15
-4
2
0
86
13
0
-105
1
4
-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
-5
0
-23
0
0
0
0
0
0
-11
14
-46
0
0
-20
6
1
0
0
0
0
21
0
0
0
0
0
0
97
0
3
-8
0
0
-21
20
1
-18
54
2
0
0
5
3
-37
26
0
0
0
-34
0
-10
32
59
0
-12
17
0
-18
26
-7
0
8
-3
0
0
-18
0
0
0
16
0
-43
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-47
67
99
0
38
10
0
0
0
0
0
-37
-5
0
0
0
0
0
43
0
-20
-12
0
24
1
-6
1
0
-26
-17
0
4
-14
0
13
-103
0
0
-1
-86
0
-64
84
-22
0
0
7
-2
6
86
7
12
0
3
0
-3
-25
-31
0
0
-16
0
29
31
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
111
-23
37
42
2
12
0
-11
71
54
-58
-15
72
26
-43
4
66
19
66
-53
9
-79
-23
-46
-31
19
-44
33
-68
40
52
-4
9
19
16
-42
7
18
-11
10
-44
21
-29
-29
22
-16
39
-59
15
42
-37
34
-60
5
-10
0
8
91
102
4
74
-45
-12
-77
-44
-28
-96
11
-3
13
56
7
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
85
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
-2
0
16
0
0
0
0
6
0
0
-2
0
0
0
2
0
0
0
0
0
0
51
0
0
7
0
0
0
-33
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-18
0
-125
5
0
0
0
0
0
-35
0
0
0
9
0
0
80
0
2
5
0
0
3
-13
0
0
0
-12
0
0
-84
0
-25
-8
8
0
0
-64
0
10
0
-12
0
0
44
0
8
-8
0
0
0
-104
0
0
-2
0
0
0
-49
-6
-22
0
-8
0
0
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-14
-17
2
65
15
0
-24
35
0
0
-10
-14
0
10
-8
1
0
0
0
0
-41
0
-14
35
0
-36
46
-37
5
21
-29
-20
4
18
41
0
-103
-15
41
0
8
-1
2
52
-144
-4
11
-35
1
0
22
5
28
0
0
8
-5
12
-6
-63
4
0
-47
0
16
0
-6
117
0
29
40
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
44
0
-25
0
0
0
0
-5
0
62
0
5
0
0
0
0
142
0
5
9
0
0
0
-70
0
0
2
0
0
2
-72
0
11
0
0
0
0
-86
0
15
-16
0
0
0
-81
0
-7
5
0
0
0
-38
0
0
-2
0
0
0
3
0
-19
8
0
-10
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
-10
29
0
4
83
-68
0
0
-12
-26
0
0
7
0
0
82
15
4
4
22
0
9
-5
-3
-78
32
0
0
4
18
0
3
3
50
0
34
47
0
35
-53
21
0
-4
-11
0
9
35
-23
0
-26
-3
0
9
-28
28
0
23
12
0
-26
-19
-130
0
8
-12
0
2
16
-1
0
0
7
24
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
20
0
0
0
0
0
0
-1
0
29
0
0
0
0
13
0
0
15
8
0
1
30
0
-8
5
0
0
4
-1
0
0
-7
-1
0
0
30
0
-49
-15
0
0
0
23
0
0
17
0
0
0
14
0
-68
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
-6
-45
-114
13
85
5
21
-4
17
-43
-112
-24
95
9
-18
8
-21
56
-36
-40
-132
-71
3
15
-78
-1
-84
-77
-9
35
-46
-20
5
3
16
33
11
-14
-76
-24
-24
-9
134
13
-6
-108
-18
-145
-17
49
20
-10
-5
-6
-32
-26
-42
0
82
26
-146
43
-16
-1
60
-64
-42
49
69
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-1
0
-8
0
0
0
0
20
0
0
0
0
0
0
-26
0
11
0
0
0
0
53
0
0
31
0
0
0
0
0
1
14
0
0
0
10
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
49
0
-6
17
0
-1
-2
-48
0
1
3
0
0
0
-12
0
-7
77
-1
0
0
-7
0
0
0
1
0
0
44
0
74
-2
0
24
-11
-15
0
-2
-14
0
-5
0
3
0
6
0
0
1
0
-103
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-7
0
0
-3
1
0
27
8
0
2
-11
0
-9
9
-2
15
-7
-51
1
0
-11
11
-1
-23
-48
0
57
-142
-9
0
-1
-27
0
69
-62
-18
0
1
-27
1
-98
16
16
-2
0
-3
0
21
0
-14
-3
0
-65
0
3
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-53
-53
0
0
0
3
0
92
0
90
-9
0
62
-2
-14
0
0
-19
0
-4
-6
-63
-1
-16
70
0
0
0
-36
0
-26
-16
0
0
-2
-3
0
85
51
0
2
0
76
0
-23
137
0
-6
0
-98
0
137
-10
0
-44
0
-59
-37
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
22
87
0
-23
-34
0
-3
-23
0
-12
63
-19
0
38
-3
-7
-60
-9
-125
0
6
33
0
-36
90
6
0
24
30
16
-11
30
-9
0
123
10
1
20
121
-31
0
-23
24
72
-14
-2
58
0
7
-55
0
11
37
26
0
0
19
-36
-2
-58
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
-8
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
10
-118
33
28
14
8
-2
46
26
8
-75
7
41
5
-18
2
-47
-46
8
32
-12
-74
-19
54
-82
10
21
-11
-2
-45
38
59
81
-35
15
-59
-5
16
-23
-30
-62
1
33
47
70
-3
26
-25
-6
27
-6
52
9
-21
-2
0
45
-7
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
26
0
5
0
0
0
0
126
0
58
1
0
-9
0
49
0
0
0
0
2
8
89
0
47
8
2
0
-11
14
0
-3
21
-6
0
0
57
-2
47
-8
4
0
2
-96
0
0
18
0
0
0
-19
0
-58
6
0
0
0
-56
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
2
-28
0
0
0
0
0
-1
-45
0
0
0
0
0
0
-13
0
0
0
0
0
0
34
0
8
0
0
0
0
-9
0
-2
0
0
0
0
-14
0
4
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
-14
0
0
0
0
0
0
-2
0
2
0
3
0
15
37
0
0
0
-2
0
0
-40
0
0
0
0
0
0
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
0
23
0
0
0
0
82
0
0
-7
0
0
0
31
0
-22
-2
0
0
0
2
0
0
7
0
7
0
-93
0
31
10
0
0
0
-21
0
1
9
0
0
0
-77
0
-9
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
0
0
0
0
0
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
-3
0
20
-23
0
0
0
-54
0
-1
-1
-2
0
0
-76
0
0
-16
32
0
0
-41
0
39
4
6
0
0
6
0
0
-4
11
0
0
34
0
-83
6
0
0
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
12
0
-4
0
0
0
0
-9
0
0
0
-7
0
0
26
0
14
0
0
0
0
-15
0
2
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-22
25
6
-4
73
80
-26
1
63
9
-62
18
83
-30
1
47
-67
-50
9
-15
-47
-1
-67
-138
71
68
-28
-5
11
44
-66
-1
59
-20
-9
66
-73
-83
-9
-49
-32
9
51
-50
-77
-1
-108
0
14
40
-62
5
82
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
8
0
1
16
14
0
-1
78
1
0
1
77
1
-20
-3
0
0
0
10
0
0
-117
0
0
0
-63
2
94
-60
0
-16
0
-63
0
0
0
0
-2
0
-2
0
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
92
0
25
-4
0
0
0
20
0
12
0
0
0
0
92
0
-4
-2
33
0
0
18
0
8
0
0
0
0
-16
0
-9
-1
-7
0
0
54
0
0
4
7
-2
0
-27
0
33
0
0
0
0
33
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-9
0
2
0
-70
0
0
0
-6
0
0
16
0
9
0
0
0
0
40
0
0
-3
0
0
0
65
0
0
0
0
0
0
26
0
5
0
-8
0
0
41
0
-2
0
0
0
0
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
-15
0
0
10
0
0
0
-3
0
4
0
0
0
0
-2
0
0
-10
4
0
0
-65
0
1
4
0
0
0
-112
0
0
0
0
0
0
-39
0
22
0
0
0
0
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-4
0
0
23
0
-64
72
0
0
0
26
0
0
1
0
0
0
-13
0
-5
0
0
0
0
-9
0
0
0
0
0
0
45
0
-11
0
0
0
0
-73
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
24
48
33
-64
97
-45
41
46
-29
52
-51
106
-1
-13
22
21
-39
114
-44
77
42
-14
12
43
-14
-107
22
16
-6
-1
-50
5
-46
18
-8
43
4
-6
-9
-43
46
16
1
11
-39
34
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
6
-45
0
23
-1
0
0
0
80
0
-2
0
0
0
0
-2
0
0
-5
0
0
0
31
0
-1
0
0
0
0
-42
0
0
1
0
0
0
19
0
12
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
-39
37
-26
24
84
101
-26
-19
14
10
-6
-40
-19
6
81
-33
0
1
-7
121
4
25
-72
8
-20
-24
-43
49
0
-21
-6
31
17
-43
34
-6
6
0
35
-53
0
89
0
87
-52
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
144
0
0
-4
0
0
15
7
0
2
29
0
0
-4
26
8
15
26
3
39
-1
-25
0
3
19
9
0
-4
40
0
-1
7
-20
0
-2
22
0
21
0
0
-7
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
-9
0
0
12
0
0
0
67
0
1
0
0
0
0
-19
0
0
2
0
0
0
-69
0
2
0
0
0
0
87
0
0
6
0
0
0
-83
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
2
0
0
0
-27
0
140
16
0
0
0
-49
0
0
-28
6
0
0
50
0
53
-22
0
0
0
-89
0
0
-9
22
0
0
-68
0
6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-3
0
0
0
-82
0
-13
24
-15
0
0
51
0
-30
-3
0
0
0
-28
0
0
22
-34
-14
0
-30
0
-19
1
0
7
0
68
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
78
-14
12
-83
-12
8
108
-42
97
66
-16
5
-24
8
64
-140
-16
-72
8
8
16
16
39
-107
-18
-10
-32
1
-21
-12
-90
1
23
23
-178
-57
6
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
-62
0
4
-23
5
0
0
-36
0
0
0
-16
0
0
36
0
0
0
0
0
0
26
0
0
0
0
0
0
60
0
16
0
0
0
0
38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
80
12
-6
0
0
-87
6
8
12
5
0
-10
5
2
-23
21
4
0
-2
-115
-5
0
-4
0
8
0
-11
0
-31
0
-11
15
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
-3
24
0
21
51
73
-6
9
80
6
-70
57
-53
-6
1
-2
0
-14
-31
0
21
-18
3
0
0
-5
-1
21
-18
43
0
-71
13
0
47
6
-120
-5
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
-5
49
0
40
-81
0
0
-29
0
0
0
152
11
0
1
-79
0
35
95
0
2
21
34
0
-4
-1
0
0
0
-19
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
-1
-18
0
22
-5
23
0
0
-29
0
56
0
0
0
0
25
-1
0
0
0
0
0
-41
0
43
0
0
0
0
-77
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
-22
48
0
6
-33
-4
-52
2
0
0
0
-9
0
0
-4
-6
0
0
-30
0
67
-2
0
-6
0
-114
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-6
-19
-27
-45
16
-28
5
56
-33
-8
-20
-104
-75
13
-4
42
83
20
-5
-59
21
-17
-43
-38
19
-3
2
-49
-13
-60
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
3
0
0
-81
0
5
-3
0
0
0
12
0
0
3
0
0
0
-42
0
-11
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
40
-3
12
-48
52
-101
70
-42
-7
0
175
84
-13
31
15
-21
0
11
28
1
-21
0
35
0
-32
42
-11
72
0
-59
-8
1
41
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-194
8
10
-12
25
4
-110
46
9
3
0
-34
0
-52
-29
-73
6
0
24
0
98
-2
0
-14
0
135
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-54
-6
0
12
-42
0
-44
0
0
0
0
14
0
-25
-8
0
0
0
26
0
10
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
0
0
0
0
0
-30
0
0
0
0
0
0
-17
0
0
0
0
0
0
-63
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
3
6
0
0
-7
0
0
3
0
-2
0
23
0
55
9
0
0
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-46
79
109
67
-14
2
-8
-40
-41
32
25
-13
25
6
-78
-11
-17
-48
0
28
-77
119
-23
92
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
15
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-55
3
-158
14
3
-5
41
-50
2
45
-43
0
-5
0
-124
0
3
4
0
0
0
45
-17
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-11
28
24
25
-45
-33
-33
-11
-65
-70
6
-44
0
32
1
-23
15
6
44
0
0
-38
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
91
14
0
25
19
-46
0
-11
32
0
14
-3
-26
0
-9
-1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
9
0
0
0
-30
0
0
0
-2
0
0
37
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-8
20
-17
19
0
-10
0
34
1
0
4
0
-94
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
19
30
83
118
-62
4
-73
-66
-84
-5
-48
-9
23
10
-41
-6
-142
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
102
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
16
49
11
-66
-15
-41
0
88
-24
-1
-18
8
-41
122
0
-7
53
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-34
1
-44
-5
-22
2
0
-34
0
-76
0
-3
21
0
-45
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
-127
15
-41
6
0
-4
0
76
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
0
0
0
0
-14
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
99
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-63
1
120
162
7
-2
-2
-44
-33
-54
-76
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
-162
0
0
-1
0
0
0
54
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-2
1
-141
0
-3
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
17
0
-17
-14
-78
-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
51
0
11
34
-3
0
0
-16
20
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
144
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-88
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-24
0
0
0
0
0
-18
0
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
2
11
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
-7
-10
0
0
0
0
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
-3
2
0
8
0
0
0
7
-6
0
0
-4
0
0
0
6
0
0
2
5
0
1
-2
0
0
-4
0
0
0
-7
0
-7
0
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
74
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-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
-16
-89
61
-6
-9
46
-29
-99
-115
3
-5
-9
9
24
-25
-116
96
33
-87
-3
-19
-17
3
-71
3
-47
-83
-26
-14
19
14
22
-75
-71
-14
-22
49
23
-12
-15
17
8
-75
0
33
-9
3
-14
9
3
-61
-4
-4
37
5
40
-17
-37
-14
-22
-10
0
4
4
-39
-67
-63
0
12
14
-4
-116
-67
-35
12
-31
37
-17
18
-110
5
-13
-29
-14
0
0
0
0
0
0
0
-13
-24
-123
72
1
15
-48
0
19
-55
-35
-18
-2
-24
-66
13
-61
-64
-79
14
18
-20
-9
-15
-52
30
38
0
11
3
-1
-41
-56
-15
-104
25
-8
76
-79
-62
-65
-65
-36
-7
-48
24
-22
2
32
-15
-3
112
-3
-6
-53
-67
21
-4
-33
-46
-16
-33
22
-9
13
47
-2
16
-56
31
-10
-5
-4
-1
30
44
-3
47
-7
48
27
-24
48
2
-31
-5
18
-113
-15
-50
-65
-25
24
40
-57
-4
17
-68
74
4
-100
11
-11
34
-33
66
0
-72
54
-4
6
-9
70
-5
-6
-32
-35
-12
-1
-6
-3
15
53
-32
34
-45
70
-16
-48
-32
23
32
13
-16
-10
35
29
6
34
-42
-32
25
-29
16
-1
-23
-4
-55
3
8
-3
65
49
-24
-7
19
48
-22
-79
-17
-88
-30
3
-26
-48
50
-33
-18
-51
-1
30
-32
-30
-16
30
-26
-14
-4
-49
-59
94
-12
13
-20
48
-56
31
-62
-73
-76
-9
-11
-100
-38
0
8
11
-35
-105
34
-66
12
-34
-27
-6
-88
44
40
18
-35
39
-5
19
8
16
-68
-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
-9
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-18
0
0
4
0
0
-20
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
4
0
0
0
0
0
0
0
0
0
-7
0
0
0
-23
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
-51
0
0
0
0
0
0
6
0
-1
0
0
0
13
30
0
0
0
0
0
0
72
0
0
0
0
0
0
-66
0
0
0
0
0
0
22
0
5
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
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
33
0
0
0
0
0
3
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
-33
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
1
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
14
0
0
0
0
22
0
0
0
0
0
0
6
0
-9
0
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
0
-4
0
0
0
0
0
0
0
0
0
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
38
0
0
-86
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
2
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
-3
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
43
0
0
0
0
0
0
-52
0
0
0
0
0
0
-4
0
5
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
-4
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
-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
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
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
-8
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
0
0
-46
0
0
0
0
0
0
12
0
0
0
22
0
0
0
0
0
0
0
0
0
-18
0
0
0
43
0
0
-3
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
9
0
0
0
0
0
6
0
0
0
-12
-8
0
0
-17
0
0
21
0
0
-2
-73
0
0
0
0
0
1
-6
0
0
-52
0
0
-2
-4
0
26
0
0
0
0
-14
-4
0
44
0
0
0
-7
-1
-1
0
0
0
0
79
0
0
0
0
0
0
-49
0
0
0
0
0
0
85
0
0
-34
0
0
5
41
0
0
-1
-9
0
0
72
0
0
0
0
0
0
84
0
0
-14
0
0
0
-34
0
0
0
0
0
0
-13
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
5
0
0
0
0
-31
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
4
0
0
0
0
-1
0
0
35
0
0
0
71
0
-5
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
-5
0
0
-4
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-13
0
0
6
0
0
0
4
0
0
0
100
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
1
0
0
2
-37
0
0
53
0
0
-77
0
0
0
9
0
0
0
15
0
0
-114
0
0
0
0
0
0
0
0
0
31
0
0
6
-80
5
2
51
0
0
0
-10
0
0
0
13
0
0
10
0
37
0
0
0
0
0
0
0
0
47
1
0
0
0
0
0
76
0
0
0
0
0
0
-6
0
-59
28
0
0
2
104
0
1
-5
0
0
0
-37
0
0
-4
-2
0
-12
-28
0
0
-11
0
0
16
8
0
40
-31
1
0
0
-33
0
0
0
0
0
0
-77
0
0
0
0
0
0
-26
31
0
0
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
-66
0
0
7
-10
0
1
81
0
0
6
0
16
0
1
0
0
-14
0
0
18
-64
0
6
-2
0
4
0
1
0
0
0
-2
-9
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
-4
0
0
0
0
-7
0
0
0
0
0
0
-14
0
-22
0
0
0
0
-11
0
0
0
0
0
0
4
0
-37
0
0
0
0
16
0
0
-6
0
0
0
-59
0
5
0
0
0
0
14
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
5
23
0
0
-14
0
0
0
3
0
0
-18
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
83
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-23
-9
0
-90
0
0
0
-3
0
0
21
-3
0
0
26
0
0
0
0
0
0
0
0
0
17
0
0
0
-52
0
0
-116
0
0
0
-11
0
0
0
-15
0
0
-2
0
8
0
0
0
0
0
0
0
0
14
5
0
0
-2
0
2
0
0
0
-7
0
0
-22
0
0
-20
-10
0
0
-33
27
0
0
0
0
0
1
65
0
0
-1
-3
0
-2
88
0
0
3
0
0
0
-80
0
-46
41
0
0
0
-63
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
-6
0
2
0
0
0
0
-3
-10
24
0
0
-14
0
23
0
-24
0
0
40
0
0
0
26
0
0
35
0
-10
0
148
0
0
5
0
-12
0
9
0
0
0
1
12
0
-86
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-9
0
0
0
0
16
0
0
0
0
0
0
-66
0
39
0
0
0
7
4
0
0
9
0
0
0
27
0
-1
0
0
4
0
-18
0
-1
-3
0
0
0
0
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
3
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
-14
0
0
0
0
0
-94
0
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
6
0
0
0
0
0
0
0
0
0
16
0
0
0
14
0
0
65
0
0
0
0
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
23
0
0
0
0
0
2
4
0
0
0
0
0
0
-41
0
0
-5
0
0
0
33
0
15
0
0
0
0
26
0
0
0
0
0
0
46
0
20
0
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
-20
0
2
0
0
0
0
44
0
6
0
0
22
0
0
0
39
0
0
1
0
0
0
5
0
0
0
0
0
0
-24
0
0
4
0
8
0
0
0
0
0
0
-6
0
12
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
11
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
-118
-11
-132
-3
10
28
-57
13
-60
-72
-23
20
84
-96
-21
50
27
-32
-6
40
-21
17
-52
-88
105
-64
36
-93
5
24
-30
-13
-7
44
52
83
12
10
-55
-28
-25
9
-14
2
0
-6
10
-11
-62
52
-16
-6
-112
-27
-83
-47
47
-26
-3
-12
-3
49
-7
-117
13
32
-55
35
-25
-25
-58
7
73
-9
-9
24
0
0
0
0
0
0
0
5
27
37
6
42
-27
-61
-6
46
46
102
5
2
-63
75
-18
18
15
45
76
-5
-25
-70
38
3
-19
50
5
-33
15
1
-2
-59
43
0
-122
3
-13
-6
-40
-16
23
-21
-13
-8
-166
-56
2
-23
-61
-28
-63
-49
26
55
-9
-12
-5
37
-37
30
28
-39
-7
-34
71
163
-9
-29
22
-25
8
21
27
25
23
34
-18
32
-87
45
52
-90
6
14
-7
-53
-79
2
-34
15
0
12
-68
-28
-83
-120
-69
-99
-36
4
29
22
-22
29
59
15
34
-132
28
-53
-21
-70
2
28
125
20
28
-28
-45
-32
38
-40
-4
51
-36
-10
3
-93
-12
59
-39
-62
-13
-11
-17
10
-17
-28
18
35
32
-6
106
63
95
0
-10
23
-67
-57
112
-118
-57
-9
38
-128
-29
12
-53
-62
70
-32
42
58
18
109
-30
19
-2
-2
-27
15
61
-6
32
-32
-52
-48
-2
-71
-78
82
2
-71
-7
57
25
-6
-30
9
-11
-17
10
27
-96
5
6
31
-34
-15
-59
-3
26
-9
-57
-49
45
-22
-31
17
6
-64
33
5
71
72
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
20
0
0
-47
0
0
0
0
0
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
-2
0
0
0
-3
0
0
58
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
-51
0
0
0
0
0
0
0
0
-46
0
0
0
12
14
0
0
0
0
0
-3
-38
0
0
0
0
0
0
-56
0
0
2
0
0
0
-14
0
23
0
0
0
0
-11
0
0
0
0
0
0
66
0
-2
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
3
0
0
0
-12
0
0
0
0
0
6
11
0
0
1
0
0
0
-1
0
0
3
0
0
0
4
0
0
0
0
0
0
-95
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
1
0
0
0
0
0
0
6
0
-3
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
-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
-5
0
0
0
0
0
-6
0
0
-2
0
0
-75
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
6
0
0
0
-6
0
0
-46
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-28
0
0
0
0
-39
0
0
0
0
0
13
-42
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
1
1
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-2
0
0
0
0
0
0
62
0
0
3
0
-3
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
-1
0
3
0
0
0
0
-1
0
38
0
0
0
0
0
0
58
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
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
-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
-5
0
0
0
78
-8
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
-26
0
0
-7
0
0
0
-17
-9
0
0
-18
9
0
0
0
0
47
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
3
-8
0
0
-17
0
0
6
21
0
0
0
0
0
41
0
12
0
-50
39
0
0
0
0
0
0
0
0
-18
1
0
0
-38
8
0
58
-5
0
0
-44
5
0
-57
-76
-3
0
-87
-8
0
0
0
-30
0
0
3
0
0
31
-13
4
0
23
0
98
32
0
0
51
0
0
-18
-24
0
19
50
23
0
-19
37
0
0
-44
0
0
35
45
0
-3
-82
-25
0
-2
66
0
-4
30
0
0
-6
-11
0
-7
61
5
0
10
-4
0
4
-19
11
0
0
-41
-3
25
0
0
0
0
6
7
0
0
0
0
0
41
0
0
-14
22
0
48
137
0
0
39
0
0
-55
51
0
12
64
-9
0
1
44
-11
0
81
-9
0
31
29
-6
-18
1
26
0
0
46
0
-7
16
-10
0
-15
-40
0
-18
37
15
1
0
-74
-1
0
0
-1
0
0
-70
-2
0
0
0
0
0
-72
0
-30
-1
0
0
0
56
0
0
35
-68
0
-4
47
0
100
-34
20
0
0
-32
0
23
28
-28
0
0
-37
0
-65
-62
17
0
0
-68
0
-3
66
-13
0
0
-30
0
-103
0
0
0
0
16
0
0
0
0
0
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
-13
92
0
0
-17
25
1
0
3
0
0
-6
-4
0
0
114
-7
6
0
-76
0
0
0
7
0
-6
4
2
-95
0
0
25
0
0
0
0
0
0
42
0
10
-9
0
-2
-14
0
0
-67
-25
-8
-84
36
-6
-8
11
0
0
-80
-2
0
-3
66
-28
0
0
0
0
0
0
0
0
49
19
-11
65
58
37
-2
-3
19
5
0
39
0
0
98
112
0
0
15
8
-147
0
1
-10
0
0
24
14
0
29
-4
0
16
29
0
0
-27
0
0
10
43
0
54
1
0
-59
-23
-116
0
-63
60
0
10
-3
0
0
-82
-4
-4
0
-18
-35
0
23
0
5
3
-76
18
-6
-9
-4
3
-39
-80
2
0
74
4
2
-8
90
82
1
0
11
-20
-28
0
2
0
0
17
-1
0
4
11
-10
0
-65
-2
4
40
-14
-77
-15
26
0
-6
-56
21
-108
54
-11
26
10
101
-15
-92
20
15
0
20
-7
-7
-64
-26
-26
-7
-37
-14
28
-64
-27
-14
31
36
92
8
-37
-24
54
-9
12
-5
-3
-147
0
21
0
0
-1
-22
-8
0
-19
0
2
0
-1
0
0
-35
0
-13
14
0
-24
0
-22
0
-19
-59
-52
-17
-20
15
0
108
4
-56
12
17
-76
-13
-14
-51
-32
-15
-4
51
11
5
17
3
-22
-5
-9
2
11
-29
29
-9
23
6
0
-105
4
-1
-26
0
-79
3
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
-35
0
0
7
0
-7
10
71
0
0
13
7
-2
0
-43
0
0
-4
10
0
0
172
0
0
-2
14
0
0
0
-2
0
37
0
0
32
0
0
27
0
0
0
0
0
0
29
0
0
0
0
-25
-2
0
0
-167
13
0
-15
0
0
0
6
0
0
23
-2
0
0
-4
44
0
0
0
0
0
0
0
0
-76
22
0
0
43
6
0
104
-1
0
0
21
0
0
-7
1
0
0
42
-2
29
0
0
-6
0
0
0
11
0
-78
18
-5
0
-7
0
-10
-37
0
0
47
0
-3
98
0
0
-21
8
33
0
-36
-24
0
0
17
0
2
-38
44
0
10
11
-13
0
46
-81
0
0
52
19
0
18
-1
0
10
17
14
0
3
-100
-3
0
-11
34
7
0
36
2
-2
0
0
0
0
4
0
0
17
0
-2
0
33
5
-4
-41
33
-92
82
0
0
-4
11
0
1
-27
50
9
-4
6
37
58
10
-80
-16
-6
-18
94
4
0
-26
2
15
23
-13
0
-11
19
0
10
-45
-3
38
0
-4
-1
13
12
0
-97
0
-58
0
5
0
0
0
0
-53
0
0
1
6
0
3
-106
0
28
-6
0
-20
0
0
0
1
-16
11
0
3
78
0
54
-54
5
0
0
30
0
-25
-9
-6
0
0
-46
2
47
-7
0
0
0
-13
0
-11
-14
19
13
0
26
0
-2
4
0
-6
0
-28
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
8
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
-78
0
0
0
0
0
0
8
0
0
0
116
8
0
0
0
0
0
0
0
0
-14
0
0
0
133
0
0
49
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
-2
0
0
-20
0
0
2
0
0
0
0
0
-28
5
-4
0
11
62
0
0
0
0
0
-1
-101
0
0
18
38
0
0
2
0
0
0
0
0
-6
-7
0
-32
-15
0
0
13
2
0
0
0
0
0
0
8
0
0
0
0
0
0
48
0
0
0
0
0
-2
-43
0
0
0
0
0
0
-20
0
0
0
0
5
0
12
0
0
0
17
0
0
41
0
0
-18
0
0
0
25
0
4
-3
0
0
0
39
0
0
0
0
11
0
43
0
0
1
0
0
0
-41
0
0
0
0
0
0
37
0
0
0
0
0
0
-2
0
0
0
0
0
0
38
0
0
0
0
0
0
-11
0
33
0
0
0
0
0
0
0
16
0
0
0
6
0
17
0
0
0
0
-35
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
23
0
17
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
-12
0
0
-58
0
0
0
0
0
0
8
0
0
0
0
-1
-8
0
0
7
-17
0
-74
13
0
0
-2
0
0
9
0
0
0
24
-3
0
0
0
0
0
0
0
0
43
0
0
0
-16
17
0
-49
1
0
0
-4
0
0
0
-5
0
0
0
0
95
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
3
10
0
0
8
0
0
40
-7
0
8
1
0
0
-3
-42
0
0
-7
0
0
-6
-3
0
-10
25
0
0
-14
21
0
0
0
0
0
-1
41
0
33
56
0
0
0
0
0
0
0
0
0
0
73
2
1
0
0
0
0
-22
0
0
0
0
0
0
-15
0
0
3
0
0
0
-72
0
0
-8
0
0
-6
79
0
0
0
-23
-1
-7
162
-1
12
0
0
0
0
-12
-2
0
-11
-16
0
0
-20
0
0
9
0
0
0
19
0
-1
0
0
-6
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-6
0
0
0
0
-19
0
0
0
0
0
0
-11
0
0
0
-14
21
0
-3
0
0
0
0
0
0
-8
0
0
0
13
0
0
34
0
0
0
10
-1
0
-49
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
49
0
-3
-36
-1
1
5
15
-11
-5
33
-198
-71
80
26
14
-11
6
-35
3
10
9
180
26
-1
28
-7
57
12
-10
0
0
-14
19
63
0
0
0
0
0
0
-18
-2
-3
38
-1
0
-4
-1
-149
168
1
0
-41
42
3
-4
43
24
0
113
-4
-48
-215
-21
-4
-1
60
-105
-61
0
0
0
0
0
0
0
-23
56
-25
-22
-9
-32
-22
41
-24
-3
-11
10
17
-16
63
-10
-25
-4
5
23
-89
0
-30
3
-1
-10
41
19
-9
6
114
52
0
5
0
34
-15
0
0
-8
60
-41
-35
-24
-7
-18
2
-48
2
-48
13
0
-34
33
-2
0
-4
12
4
2
-1
74
0
25
-4
0
6
41
-42
-18
-61
-39
0
-14
25
-14
-9
-19
-29
-7
-3
-4
-49
-7
0
-27
-47
-49
0
17
0
0
2
104
0
0
13
-48
25
18
110
3
14
-102
-112
-45
-54
11
95
-59
30
-96
14
-64
40
-32
1
-2
-27
-29
-25
-26
-3
91
41
65
-62
-36
16
-5
18
-44
-30
-14
-16
21
-32
26
5
-11
-52
-22
1
-32
80
6
-8
0
6
21
19
32
-16
94
0
44
172
-9
-2
-31
6
-14
29
-33
27
1
115
23
-12
9
-8
-16
15
-53
13
58
6
9
-34
10
-68
27
16
8
-18
173
-40
-45
10
6
5
5
-81
125
-42
32
0
-15
1
28
11
-33
28
-11
20
0
47
0
77
70
0
3
86
4
54
16
-16
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
0
0
0
-95
0
0
0
0
0
19
22
0
0
0
-82
0
0
0
0
0
-6
-8
0
-8
0
0
13
0
0
0
0
0
19
-3
0
0
0
0
-14
-11
0
0
19
0
-11
7
-6
0
1
0
0
-23
14
0
0
0
-84
0
-5
0
0
0
0
0
0
0
-157
11
-10
0
-40
4
3
1
-1
0
0
4
0
8
0
116
0
0
-2
0
-24
0
0
-4
0
11
0
63
0
-1
23
-19
0
0
0
6
6
0
0
-19
0
0
-17
23
0
-21
-41
0
0
1
-52
0
0
12
0
0
-78
-93
0
0
-97
0
-14
17
-40
0
0
56
0
0
20
-31
0
20
14
0
0
0
-65
0
0
18
0
6
0
38
-11
-1
0
0
0
0
17
-8
0
0
0
0
0
-7
0
0
2
0
-17
-45
-76
0
0
56
0
16
-25
-22
0
-7
-68
0
-13
44
51
0
0
97
0
7
40
-6
0
-5
-45
0
1
-14
-17
0
0
25
0
121
0
-15
0
0
62
0
-78
0
52
0
0
0
0
-3
0
51
0
0
0
0
0
0
-91
0
-19
-5
0
-2
1
-20
0
0
-14
0
10
8
51
0
12
-11
0
13
12
38
0
0
-41
0
-8
6
-7
0
-61
-9
0
0
-1
-40
6
0
34
0
0
0
30
0
-23
14
0
-26
0
88
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-1
5
0
0
0
0
0
47
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
66
-2
0
34
0
0
0
0
0
0
-28
0
0
0
96
55
0
0
0
0
0
0
0
0
14
-2
0
0
2
0
0
-47
16
0
0
27
3
0
0
0
0
0
33
0
0
0
0
-1
0
0
0
0
0
12
9
0
0
-3
0
3
41
0
0
0
0
0
23
22
0
-117
44
4
0
53
33
0
0
21
0
0
8
-31
0
0
24
16
0
-65
-59
0
11
6
0
0
-13
41
0
26
-34
0
0
0
-92
0
0
1
0
0
0
-3
-9
35
0
0
0
0
-14
35
0
0
0
0
0
-76
0
0
26
-10
0
-55
10
0
12
-20
0
0
-14
41
0
0
18
5
0
0
-22
0
0
96
16
0
-21
77
0
0
103
-25
0
-9
-57
0
42
2
2
0
0
-4
0
0
-5
0
0
0
21
0
0
0
0
0
0
-78
0
0
0
0
0
0
34
0
17
0
0
0
0
-12
0
0
-31
0
0
2
44
0
45
-4
-1
0
-1
12
0
0
9
1
0
0
-82
0
26
-12
-4
0
0
-48
0
7
6
0
0
0
39
0
12
0
0
0
0
-40
8
0
0
0
0
0
0
0
0
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
-10
-8
0
8
6
-3
8
-29
0
0
15
0
0
0
-60
-4
0
5
-1
4
-15
0
0
89
0
0
21
0
0
0
0
0
0
3
0
0
0
0
-7
22
-2
0
-125
-99
-15
-86
-17
-1
35
-57
0
92
-39
-21
14
7
-21
-7
-25
0
0
0
0
0
0
0
2
-75
2
15
-36
23
8
87
5
0
0
8
-14
0
-5
-6
0
0
27
0
-155
0
0
-4
0
0
0
-17
0
64
10
22
0
1
0
-9
-28
0
0
-47
0
0
49
18
6
-120
2
38
0
56
32
0
12
-32
0
-4
20
18
0
21
85
-19
4
103
28
0
0
-12
10
-5
-32
-22
-2
-34
29
1
0
18
-252
0
0
37
0
16
0
-22
5
7
0
1
0
0
7
0
0
0
0
0
-9
-42
0
-16
-11
-4
-19
12
-16
0
4
10
0
-11
-29
-22
4
-11
-64
44
-17
-16
-13
-9
-2
113
7
62
-56
49
0
-24
133
47
29
-1
-2
0
0
-46
0
25
0
-105
3
0
12
0
50
0
-10
0
-3
0
0
0
0
-130
3
0
0
0
0
0
13
0
70
46
-5
4
0
73
0
-19
-4
72
0
0
-26
-6
-28
-6
0
-17
-3
46
0
1
138
10
0
0
-40
0
1
24
-1
3
-3
-37
14
-24
-86
-9
-2
0
-38
0
8
1
5
-54
0
-27
-9
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
2
0
0
0
0
0
-54
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
4
0
-12
6
0
0
0
0
0
0
0
0
45
0
0
0
-15
0
0
-34
-1
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
-33
-4
0
0
0
0
0
40
0
0
0
0
0
-10
0
0
-12
-1
24
0
35
0
0
0
-16
0
0
-19
1
0
0
13
0
0
4
-38
0
-2
5
0
0
1
54
0
-3
-1
0
0
0
-53
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
41
3
0
0
12
0
0
9
0
0
0
53
0
0
1
7
0
0
-33
0
0
0
0
6
0
10
0
0
3
0
0
0
-29
0
0
0
0
0
0
-48
-1
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
2
0
0
0
0
26
0
0
-22
2
0
0
-3
0
23
0
0
0
0
1
0
0
0
0
0
0
82
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
68
0
0
0
0
0
0
-8
0
0
0
-18
1
-10
0
0
0
105
0
0
-12
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
16
0
0
-65
13
0
0
0
0
0
29
-5
0
0
9
0
0
0
0
0
0
0
0
0
46
0
0
0
4
0
0
-106
0
0
0
40
0
10
-2
0
0
0
-11
0
26
0
0
0
0
0
0
13
0
-43
6
0
0
0
0
0
-63
0
0
0
0
0
46
0
0
8
-7
0
0
-15
31
0
0
0
0
0
22
15
0
0
46
0
0
-5
45
0
0
1
0
0
0
11
0
46
-6
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
55
0
0
0
0
0
0
42
0
-4
0
0
20
0
-1
0
0
-8
0
0
-16
-15
0
0
3
3
0
0
-33
0
0
-6
0
24
0
17
0
0
-8
17
0
0
-21
0
0
0
0
13
0
-30
0
0
4
20
6
0
38
0
0
0
0
0
0
-10
0
0
0
0
0
0
-44
0
0
0
0
0
0
20
0
0
-11
0
0
0
19
0
-1
3
0
0
0
6
0
0
2
0
0
0
7
0
-2
0
0
0
0
-14
0
3
0
0
0
0
87
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
18
0
0
0
11
18
0
10
0
0
0
0
0
0
-3
27
0
0
45
0
0
0
0
0
89
0
0
4
0
0
-42
0
0
0
0
0
0
0
0
28
0
0
6
-3
0
0
-29
0
0
-41
0
0
0
0
0
0
21
0
0
0
22
0
0
0
0
0
0
0
0
0
41
0
-2
0
-34
-2
0
58
0
0
0
3
0
0
0
3
0
0
-6
0
-17
0
0
0
0
0
0
0
0
-69
-1
2
0
0
0
0
17
0
0
-22
0
0
-46
0
0
-60
8
0
0
-3
35
0
0
1
0
0
-4
-157
0
0
3
0
0
0
62
0
0
-3
0
0
-6
72
0
30
-35
0
0
-29
-22
9
0
-3
0
0
0
-37
0
-1
0
0
0
0
-56
0
0
0
0
0
0
-70
0
0
-7
19
16
0
52
0
0
0
0
-10
14
-94
0
42
2
0
3
-2
-61
25
0
-8
0
12
0
26
-7
0
-2
0
0
-7
40
0
0
16
0
20
14
-48
0
0
8
0
-6
0
-54
0
0
0
0
0
0
51
0
0
0
7
0
0
38
0
0
39
0
0
0
-21
0
16
-5
0
0
-12
18
0
-1
0
0
0
0
9
0
0
0
0
0
0
20
0
19
0
0
0
0
-56
0
6
19
0
0
0
31
0
1
0
0
-8
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
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
15
0
0
0
0
0
13
0
0
4
0
0
-56
0
0
0
0
0
0
17
0
0
0
0
10
11
0
0
-5
-12
0
-108
-3
0
0
0
0
0
51
-18
2
0
-4
0
0
0
0
0
0
0
0
0
127
-11
0
0
-79
0
0
-6
0
0
-1
-11
0
4
-31
10
0
0
0
0
28
0
0
0
0
0
0
10
0
-37
-1
0
0
0
0
0
-34
0
0
0
0
0
-6
-5
0
128
-4
0
0
4
126
0
3
-1
0
0
0
27
0
0
14
10
0
-10
-16
0
0
27
-1
0
3
9
0
-50
0
0
0
0
82
0
0
2
0
0
0
-33
0
0
0
0
0
0
-81
22
0
0
0
0
4
-2
0
0
0
0
0
-1
-45
0
0
-1
0
0
0
-64
0
0
16
-33
0
0
-126
0
2
2
0
18
0
-52
0
0
66
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
-1
0
-54
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
5
0
0
0
0
27
0
0
0
0
0
0
-22
0
-7
0
0
0
0
-4
0
1
-3
0
0
0
6
0
0
0
0
0
0
12
0
0
-27
0
0
0
-1
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
-4
0
0
76
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-5
0
0
-14
0
0
-80
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
-42
0
0
17
0
0
0
0
0
0
-1
0
0
0
-46
0
0
0
0
0
0
0
0
0
28
0
0
0
-27
0
0
6
0
0
0
3
0
0
0
-1
0
0
8
0
4
0
0
0
0
0
0
0
0
44
6
0
0
0
0
0
-25
0
0
-1
0
0
0
0
0
-39
60
0
0
2
-3
0
0
0
0
0
0
-38
0
0
-1
0
0
0
-43
0
0
10
0
0
0
-6
0
10
17
0
0
0
2
0
0
0
0
0
0
-98
0
0
0
0
0
0
-65
0
0
0
0
0
0
-6
0
0
0
0
-9
0
7
0
0
0
0
0
0
-6
0
0
-1
0
0
0
33
0
0
-6
0
-1
0
-24
0
0
-1
0
0
6
11
0
0
0
0
-4
0
-4
0
0
0
0
86
0
56
0
0
0
0
0
0
18
0
0
0
0
0
0
5
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
3
0
-5
0
0
0
0
-14
0
-3
-1
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
12
0
0
0
2
-1
0
2
0
0
-10
0
0
0
0
4
0
-5
-11
0
0
0
3
0
57
0
0
0
0
0
38
0
0
0
0
0
0
3
0
0
0
0
13
-12
0
0
36
35
0
73
-1
0
0
9
0
0
0
3
0
0
-8
4
0
0
0
0
0
0
0
0
-12
-19
0
0
-6
0
0
-40
-4
0
0
40
0
0
4
-3
0
0
0
-4
0
0
0
23
-1
0
2
0
0
26
25
0
0
0
0
6
37
0
0
2
0
0
-80
-4
0
-39
-49
5
0
-43
-142
0
0
-74
0
0
80
-1
0
0
-56
-33
0
-3
-6
0
0
-35
3
0
-11
-89
0
7
72
0
0
0
-24
0
0
-7
0
0
0
-35
-5
-1
0
0
0
0
-4
0
0
0
0
0
14
32
0
0
24
-3
0
82
8
0
0
40
0
0
63
56
0
-5
127
77
0
62
27
0
-4
-105
0
0
-15
-12
0
25
56
58
0
12
-16
0
17
106
-2
0
0
-80
0
0
35
1
0
0
-1
-2
0
0
0
2
0
1
0
0
0
0
0
-6
-107
0
10
-13
0
0
0
51
0
7
-21
-6
0
-21
-1
0
-12
-52
0
0
1
-28
0
-2
0
1
0
-2
-40
0
-27
11
-3
0
12
24
0
5
3
0
0
0
-50
0
-4
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
141
4
17
-5
-4
8
0
-30
2
-1
0
54
10
0
11
-6
0
26
-1
0
-12
0
0
-49
0
0
0
0
0
13
66
5
-9
0
0
-32
103
0
0
52
-190
-4
-22
51
-5
-3
57
19
4
95
59
-12
135
161
4
18
0
0
0
0
0
0
0
49
112
1
30
29
-24
0
113
47
-9
-4
-26
0
-28
0
-97
-1
0
-6
10
-190
0
-3
-22
0
6
-7
-6
0
-7
-21
-9
-5
-2
0
7
-49
-3
0
75
-1
0
-62
-32
3
-15
-43
108
8
24
16
21
0
-35
5
0
117
-8
-4
-7
6
-10
-8
-27
-29
0
-8
118
2
0
13
-12
-6
10
77
-32
-2
0
-85
2
0
-2
31
-48
0
-26
21
-7
0
-14
0
0
-115
-34
0
1
6
4
36
-14
-27
4
-25
-13
-100
-24
-74
-1
-13
-123
-1
-78
21
-23
61
-8
-37
-45
-39
61
-38
9
-4
-20
155
85
-11
-52
39
-41
-16
67
5
4
-6
-9
-2
-67
19
-79
0
-97
6
-83
-3
-7
66
0
5
21
-12
0
-16
27
0
-139
52
8
-22
10
0
1
-4
0
-21
-24
24
5
-81
-108
0
26
27
57
-37
1
12
-19
-62
16
-22
0
32
4
1
12
85
-23
-72
7
-53
6
93
72
-20
-35
0
58
-6
5
-75
16
18
0
-73
0
35
41
-1
110
0
115
17
-5
21
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
14
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-25
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
-43
-17
0
68
-3
0
0
0
0
0
-7
0
0
0
46
0
0
0
0
0
0
0
0
0
-2
4
0
0
-25
0
0
8
0
-2
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
-2
24
0
0
0
0
0
4
0
0
15
13
2
0
28
-44
0
0
9
0
0
13
0
0
0
-34
-1
0
7
37
0
0
-2
0
0
0
-49
0
-69
0
4
0
0
-29
0
0
0
0
0
0
52
0
0
0
0
0
0
-67
0
0
0
0
0
0
-19
0
0
0
-1
0
0
28
0
0
0
0
0
0
25
0
2
-14
0
0
1
0
0
-1
64
0
0
0
-73
0
0
10
24
0
0
51
0
0
0
0
0
0
-49
0
0
0
0
0
0
-74
0
0
0
0
0
0
-11
0
0
0
2
0
0
-12
0
0
0
0
0
0
-3
0
-11
1
0
0
0
21
0
1
-1
0
0
0
0
0
0
-11
8
0
0
13
0
-28
0
0
0
0
-5
0
-9
9
-6
0
0
-92
0
16
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-118
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
-113
0
0
0
0
0
0
-6
0
0
0
80
0
2
0
0
0
0
0
0
0
-11
0
0
0
-5
0
0
20
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
4
43
0
0
0
0
0
0
0
0
-1
9
0
0
-50
-5
0
0
0
0
0
8
-69
0
0
-1
0
0
2
-44
0
0
-7
0
0
7
0
0
24
19
0
0
0
14
0
0
-3
0
0
0
-30
0
0
0
0
0
0
-54
0
0
0
0
0
0
-14
0
0
6
0
0
0
149
0
0
0
0
0
1
-16
0
0
2
0
0
0
17
0
0
0
0
0
0
-30
0
0
-20
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
-6
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
-7
0
0
-2
0
0
0
-2
0
-3
0
0
0
0
39
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
25
0
0
0
0
0
0
31
12
0
0
8
0
0
0
0
0
47
0
0
6
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
127
-6
0
-98
8
0
0
0
0
0
59
-1
0
0
-5
-3
0
0
0
0
0
0
0
0
-24
14
0
0
58
0
0
-16
3
0
0
-21
0
0
0
11
0
0
1
0
29
0
0
0
0
0
9
0
0
-60
-2
0
0
0
0
-3
-40
0
0
-8
0
0
2
-6
0
-72
68
-1
0
-24
-26
0
0
66
0
0
8
-6
0
0
19
32
0
73
5
0
0
-82
0
0
17
58
0
107
6
0
0
0
-50
3
0
0
0
0
0
-50
0
0
0
0
0
0
47
12
0
0
0
0
3
19
0
0
0
0
-1
7
46
0
0
-40
0
0
-7
-69
0
0
72
-16
0
-9
-26
0
0
-12
0
22
-3
-15
0
-6
-24
4
1
0
-4
0
0
-5
0
-2
13
-24
0
0
0
-3
4
0
-9
0
0
0
-2
0
0
72
0
0
0
-3
0
0
15
0
-6
0
0
0
0
35
0
9
0
0
4
0
-51
0
-2
11
0
0
-1
-52
0
0
4
-1
-1
0
-14
0
-10
5
0
0
-8
-59
0
0
0
-2
0
0
-18
-2
-3
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
9
8
0
0
4
0
1
0
0
0
34
0
0
27
0
0
-66
0
0
0
0
0
0
4
0
0
0
0
4
64
0
0
-14
1
0
-44
-16
-1
0
31
0
0
47
-3
0
0
-57
23
0
0
0
0
0
0
0
0
72
13
2
-23
55
1
0
-53
91
0
0
-3
0
17
12
16
0
0
-10
0
-26
0
-7
91
0
0
0
0
0
41
-19
12
0
-11
0
-10
-13
0
0
63
0
0
92
-34
0
30
-79
-87
0
12
43
0
17
65
0
0
-40
-11
0
22
44
-2
0
-4
31
0
7
25
2
10
20
-52
0
-40
29
-9
-27
-31
-62
0
0
34
0
0
0
-37
-8
-2
0
0
0
26
-1
0
0
0
1
0
-5
29
0
7
-34
0
-69
-27
-24
0
-3
64
0
19
25
0
0
3
85
-1
-54
-4
29
-12
18
62
46
45
-32
29
0
9
-16
-26
-24
12
2
0
-7
-6
0
2
13
-21
0
0
13
0
-97
0
-69
1
0
0
0
9
0
-5
0
0
0
-1
14
-1
103
0
43
0
0
-7
-15
3
0
-5
13
-17
-4
0
-17
-7
43
-44
11
0
4
-77
0
78
-12
18
-43
1
18
-9
-57
-13
0
0
-6
46
0
10
4
0
4
0
58
0
-20
5
0
47
0
-37
7
-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
18
0
-4
18
9
0
0
-1
23
-4
0
-47
0
0
0
0
0
29
0
0
72
0
0
42
0
0
0
0
0
-7
-18
0
0
0
0
-1
8
0
0
-51
0
0
41
19
0
0
-4
0
0
12
4
2
0
-64
0
0
0
0
0
0
0
0
0
-52
0
-10
0
-114
0
6
-18
0
0
0
-4
0
-6
0
18
0
0
-15
0
31
0
0
-5
0
0
0
-33
0
-27
4
0
0
0
0
32
-84
0
0
5
0
-1
-43
-1
0
-7
3
0
0
133
-60
0
-9
-51
0
0
35
21
0
0
29
0
0
14
21
0
0
-119
0
0
51
-59
0
3
84
0
0
7
61
0
0
-11
0
-9
0
-81
-21
-7
26
0
0
0
-28
2
0
0
0
0
1
-5
0
0
27
0
135
-6
43
0
0
8
0
-13
-77
10
0
28
-1
0
-7
-74
40
6
5
58
0
4
4
-12
0
0
-68
0
18
-10
4
0
0
19
0
-31
3
-10
15
0
26
0
-72
0
-4
0
12
0
0
18
0
-63
-11
0
0
0
0
0
-112
0
13
0
0
-7
0
-52
0
0
9
0
0
-13
-57
0
15
3
0
-12
0
23
1
0
9
2
-2
0
54
0
-56
-3
0
0
0
98
0
0
70
0
0
0
134
0
-21
0
0
-11
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
26
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
19
0
0
0
0
0
47
0
0
0
0
0
-4
-13
0
0
0
0
53
-9
0
0
1
-21
0
-38
-4
0
0
0
0
0
14
-4
0
0
43
48
0
0
0
0
0
0
0
0
-41
0
0
1
-129
-18
0
-119
1
0
0
-20
0
0
0
0
0
0
8
13
0
0
0
5
0
0
0
0
0
9
4
6
0
0
0
-10
-14
0
0
27
0
0
-17
0
0
-12
53
20
0
38
13
0
0
34
0
0
30
-42
0
-3
-27
7
0
57
-23
0
0
-33
0
0
14
-87
0
-53
-24
6
0
0
-76
0
0
0
0
0
0
-56
0
0
0
0
0
0
-26
-1
0
0
0
0
-3
-43
0
0
-5
-1
0
0
86
0
0
-5
-8
0
18
9
0
0
-12
13
0
8
-85
0
0
22
0
0
0
40
0
0
13
-9
0
-4
41
0
6
11
0
0
0
-6
0
0
9
0
0
0
-29
0
0
0
0
0
0
28
-4
0
0
22
0
0
-16
0
-2
0
0
0
0
22
0
0
10
0
0
0
-58
0
30
-11
0
0
0
-1
0
-1
-4
-2
0
0
-55
0
32
10
0
0
0
31
0
7
0
0
0
0
2
0
-11
0
0
0
0
40
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
-7
-19
131
55
16
39
39
0
-38
37
-7
-38
42
-51
0
0
-2
0
0
0
0
0
-4
-16
0
70
6
-14
-19
6
0
-2
36
-7
-43
4
41
13
9
-42
2
-60
-2
17
73
32
-19
-12
-35
0
0
0
0
0
0
0
-127
22
40
45
-54
-22
7
134
20
5
118
18
92
11
-1
20
-12
1
-70
62
-68
5
-54
-42
0
-1
61
-75
-5
-22
71
26
-112
96
0
51
-14
0
0
-22
-3
3
-38
-46
4
0
-2
49
4
-152
11
-16
16
-20
8
-11
-72
22
1
9
28
75
-10
127
1
-7
-4
-55
9
-4
-1
-19
7
-31
50
33
-1
-19
-120
15
-17
45
-6
-12
0
-12
26
20
10
80
2
-2
-30
-1
33
30
36
-32
42
-4
26
13
-20
101
82
-89
-26
10
3
71
19
139
23
-22
-107
43
-44
51
-3
18
-59
-51
-46
-48
60
14
28
-5
-15
61
14
9
-28
24
-51
-1
-7
-2
-9
16
6
-41
69
1
41
-47
-5
0
-24
-80
-6
11
-52
68
0
27
37
-2
1
-29
12
46
-8
-27
108
91
-32
31
-25
-66
4
7
-36
18
-13
4
-30
-3
47
-90
72
48
61
-8
-25
19
-71
37
130
11
6
-5
45
-11
79
-27
28
-29
18
-1
43
43
123
0
-40
70
-106
44
-14
6
9
30
41
-2
-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
0
-2
0
0
0
0
0
0
0
0
0
-50
0
0
2
0
0
-132
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-43
0
0
-120
0
0
0
0
0
0
36
0
0
0
-47
15
0
0
0
0
0
0
0
0
22
0
0
0
16
0
0
-5
4
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
7
0
0
0
0
0
-7
0
0
-58
23
-1
0
5
-4
0
0
2
0
0
16
38
0
0
-2
0
0
-20
0
0
0
-44
0
0
0
-5
0
-66
7
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-59
0
0
0
0
0
0
-38
0
-4
0
0
0
-18
61
0
0
0
0
0
1
14
0
0
-2
0
0
1
-32
0
0
8
-1
0
-3
0
0
0
2
0
0
0
-19
0
1
4
0
0
0
-2
0
0
0
0
0
0
46
0
0
0
0
0
0
16
0
0
0
0
0
0
21
0
-7
0
0
0
0
-9
0
0
0
0
0
0
-21
0
0
0
0
0
0
-31
0
-3
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
5
0
0
0
-4
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
-6
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
20
1
0
-46
0
0
0
-3
0
0
39
-8
0
0
28
0
0
0
0
0
0
0
0
0
81
0
0
4
0
0
0
44
-2
0
0
8
0
0
0
-5
0
0
0
0
-4
0
0
-6
0
0
0
0
0
28
0
0
0
0
0
0
-15
0
0
-5
0
0
-23
-6
0
-22
38
2
0
-37
18
0
0
-1
0
0
25
4
0
0
-5
0
0
1
-26
0
0
19
14
0
-32
17
0
117
0
0
0
0
-8
0
0
5
0
0
0
-11
20
19
0
0
0
0
14
0
0
0
0
0
0
-10
0
23
0
0
-3
-5
-33
0
0
6
0
0
17
92
0
-8
-3
-7
-7
0
-71
12
1
54
-1
0
0
-23
0
0
-1
0
0
0
22
0
5
12
0
0
0
39
0
0
0
2
0
0
-77
0
0
0
0
0
0
-10
0
0
0
0
0
0
35
0
2
0
0
0
0
-29
0
0
0
0
0
0
0
0
15
0
0
0
0
-12
0
11
0
0
0
0
25
0
0
-10
0
0
0
-9
0
0
0
0
0
0
-64
0
-4
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
36
0
0
56
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
56
-6
0
49
0
0
0
-9
0
0
11
-4
0
0
7
0
0
0
0
0
0
0
0
0
-12
3
0
-11
-8
0
0
-139
0
0
0
7
0
-11
0
2
0
0
0
0
12
0
0
-5
0
0
0
0
0
37
0
0
0
0
0
0
47
0
0
1
0
0
34
-4
0
-77
-1
-8
0
15
22
0
1
-10
0
0
-10
-103
0
0
-17
0
0
-7
2
0
0
-52
0
0
9
-4
0
31
11
0
0
0
-27
0
0
0
0
0
0
1
-6
0
0
0
0
0
-77
0
0
0
0
0
-1
35
0
0
-10
0
-5
0
-124
0
0
0
0
0
0
-98
0
0
-1
0
8
-5
43
0
0
39
0
0
0
-101
0
2
43
28
0
0
36
0
0
68
0
-1
0
-17
0
0
0
0
21
0
40
0
0
0
0
0
0
-7
-4
0
0
-5
0
0
-23
0
0
3
0
0
0
60
0
0
0
0
0
0
-17
0
-1
0
0
0
0
28
0
0
-4
-13
0
0
-52
0
0
-2
0
0
0
65
0
3
-6
-3
0
0
-29
0
-5
0
0
10
0
-9
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
16
0
0
-2
1
0
0
0
0
0
-6
0
0
-1
0
0
-110
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
-13
1
0
30
0
0
0
-11
0
0
-57
0
6
0
-39
-3
0
0
0
0
0
0
0
0
49
5
0
-7
46
0
0
1
4
0
0
-8
0
0
0
16
0
0
0
0
-2
0
0
0
0
0
0
0
0
96
5
-1
0
0
0
0
14
0
0
9
0
0
-37
-4
0
-86
29
2
0
45
45
0
0
1
0
0
1
-54
0
0
-8
0
0
4
-16
0
0
-22
0
0
-1
23
0
-37
0
0
0
0
-85
0
0
0
0
0
0
-38
14
10
0
0
0
0
-58
0
0
0
0
0
0
71
0
0
0
0
0
0
9
0
0
-8
0
0
0
-35
0
0
4
19
0
0
-7
0
0
7
-7
0
0
-125
0
-2
-3
11
0
0
-141
0
5
-1
0
-9
0
58
0
0
0
0
-17
0
11
0
0
0
0
1
0
-17
0
0
0
0
0
0
-39
0
-8
0
0
0
0
-56
0
0
0
12
0
0
-47
0
0
0
-3
0
-7
-5
0
0
0
1
0
0
-45
0
13
0
-3
0
0
-36
0
3
-8
0
32
0
13
0
19
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
-1
0
0
0
0
0
47
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
-48
0
0
0
0
0
0
-1
6
0
0
13
0
0
0
0
0
0
0
0
0
-3
0
0
0
-49
0
0
-101
0
0
0
-7
0
0
0
-2
0
0
6
0
7
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-26
0
0
-1
0
0
0
0
0
7
4
0
0
-1
-87
0
0
0
0
0
0
-21
0
0
10
0
0
0
43
0
0
1
0
0
0
-26
0
-44
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
-1
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
-3
0
0
0
64
0
0
1
0
0
0
-7
0
0
0
0
-2
0
-1
0
0
0
0
4
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-31
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
15
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
-10
0
0
0
0
0
-3
0
0
0
0
0
1
-2
13
0
0
0
48
0
0
0
26
-47
0
-73
-4
0
0
0
0
0
73
0
0
0
-19
-25
0
0
0
0
0
0
0
0
66
0
0
0
-7
0
0
39
0
0
0
12
0
0
0
-1
0
0
0
0
0
0
0
-15
0
0
0
-1
0
-35
0
0
0
20
0
-1
-51
0
0
12
0
0
59
48
0
-44
-21
-9
0
2
-38
0
0
11
0
0
24
13
0
0
-1
52
0
26
-72
0
0
-12
0
0
1
26
0
-15
-2
0
0
0
44
0
0
0
0
0
0
4
35
-10
0
0
0
0
17
0
0
0
0
0
12
-67
0
0
-3
-1
0
43
20
0
0
54
-12
0
3
82
0
0
6
0
0
24
-88
0
0
-53
0
0
25
1
0
0
-106
-4
0
-5
-78
0
0
-1
0
0
0
91
0
0
0
0
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
-29
0
0
0
-1
0
1
-33
0
0
-9
0
0
14
31
0
-18
0
0
0
0
-27
0
-31
-1
0
0
-19
44
0
1
5
0
0
-13
-36
0
11
0
11
0
0
16
0
32
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
0
0
0
0
0
0
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
-128
0
0
-2
0
0
-25
0
0
0
0
0
-5
-48
-1
0
0
0
5
-15
0
0
33
-174
-11
44
-26
0
0
-39
0
-7
63
-2
0
-2
-1
-33
3
0
0
0
0
0
0
0
-8
-2
0
0
-34
47
0
-63
-34
0
-14
25
0
0
0
57
-2
0
-14
18
-182
0
-1
43
0
0
1
4
0
74
1
-3
31
-119
0
46
-35
0
0
16
0
0
-119
62
-8
-53
-18
-33
0
-30
47
0
-3
-55
1
0
-56
-32
0
-9
-88
65
-6
31
66
0
11
-79
0
0
-26
103
0
-63
61
-11
0
0
1
0
-1
2
53
-3
0
16
-5
54
0
0
0
0
11
-21
0
0
-7
0
0
-64
0
0
65
7
-51
74
40
0
28
24
36
-81
41
28
-5
-21
-89
-20
-7
44
-33
4
11
-82
-37
-23
3
-5
19
12
36
-66
-8
0
5
0
10
-87
-2
-28
0
59
-2
3
-100
11
-136
0
-14
29
0
6
-6
-7
0
37
-17
0
0
31
0
0
-83
0
-6
9
2
-14
0
41
0
12
6
17
1
-6
110
3
-79
52
9
-18
8
34
0
-58
57
-79
4
3
54
0
-159
-11
25
-8
0
137
0
15
-81
-2
-23
0
-16
0
-27
-5
2
-75
0
-49
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
0
0
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
-2
0
0
-105
0
0
0
0
0
0
6
0
0
0
0
9
14
0
0
-65
-2
0
-100
0
0
0
2
0
0
-1
0
0
0
12
-6
0
0
0
0
0
0
0
0
-57
-3
15
1
30
0
0
-127
0
0
0
-12
0
0
27
26
0
0
20
16
-2
0
0
-7
0
0
0
0
0
78
0
0
0
1
0
2
-54
0
0
-12
0
0
22
11
0
3
-9
0
0
-41
17
0
0
3
0
0
5
-38
0
0
30
-1
0
-18
107
0
-16
-1
0
0
24
0
0
22
-104
2
0
-4
-1
0
0
10
0
0
0
-38
0
0
0
0
0
0
52
6
0
0
0
0
0
69
0
0
0
0
23
0
-70
0
0
9
0
-6
10
4
0
49
-22
13
0
26
-17
28
4
0
0
-13
0
23
0
-15
28
44
0
0
0
0
18
2
0
-6
21
-28
0
0
0
0
-23
0
3
0
0
0
13
0
0
-21
0
0
0
0
0
0
9
0
1
0
0
-22
2
48
0
0
0
0
0
25
-23
0
8
0
2
0
0
13
0
-2
58
-25
2
0
3
0
32
-7
0
0
0
0
0
1
-8
0
0
0
-63
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
-2
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
4
0
0
0
4
4
0
43
0
0
0
12
0
0
89
0
0
0
56
0
0
0
0
0
0
0
0
0
-10
0
0
0
102
0
0
-71
0
0
0
-2
0
3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
8
0
0
0
18
0
0
-19
0
0
0
0
0
-6
-2
0
16
-1
0
0
-12
-52
0
0
0
0
0
4
-80
0
0
8
0
0
5
129
0
0
0
0
0
0
21
0
-23
109
0
0
-28
9
0
0
3
0
0
0
91
0
-14
0
0
0
0
-82
0
0
0
0
0
0
3
0
0
0
0
-6
0
-7
0
0
-4
0
0
0
29
0
0
-21
0
0
0
-188
0
0
-8
0
28
0
-120
0
0
-119
0
0
0
-48
0
0
0
0
6
0
-4
0
0
-3
0
0
0
-53
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
-9
0
0
0
0
10
0
0
0
0
0
0
24
0
13
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
-27
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
-54
0
0
1
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
14
0
0
-72
0
0
0
0
0
0
-3
-3
0
0
-11
0
0
0
0
0
0
0
0
0
5
0
0
0
-35
0
0
-19
-4
0
0
-2
0
0
0
-2
0
0
0
0
-22
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-2
-62
0
0
2
0
0
-15
0
0
-78
49
0
0
0
30
0
0
-6
0
0
0
29
0
0
12
0
0
-4
50
0
0
-5
11
0
52
17
0
-15
3
0
0
0
-5
0
0
-2
20
0
0
-45
0
0
0
0
0
0
-67
0
0
0
0
0
0
21
0
0
0
-2
0
0
1
0
0
0
0
0
-1
-29
0
0
11
0
0
0
-109
0
0
0
0
0
-15
-79
0
2
-8
7
0
8
-99
0
0
0
0
0
0
17
0
0
0
0
1
0
-30
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-10
0
0
0
0
0
0
-11
0
0
0
-1
0
0
-3
0
20
0
0
0
0
-8
0
0
1
0
0
0
-12
0
-1
0
0
0
0
-26
0
0
0
0
0
0
10
0
7
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
11
0
2
0
-4
-16
0
0
-2
0
0
0
0
61
0
6
0
36
0
0
-64
-5
0
0
64
4
21
-17
14
17
0
2
-4
-31
-25
77
67
1
24
36
-49
0
0
0
0
0
0
0
-67
12
0
0
46
77
2
-41
-4
0
13
0
-14
3
-93
-21
0
0
-15
-24
-27
0
18
17
0
0
-8
-9
0
-6
-90
-85
-3
-7
0
-46
-9
0
0
-22
-8
-5
7
-108
0
-2
13
7
-21
17
3
-3
0
-57
22
0
22
-6
0
1
32
-32
7
-11
-6
0
2
-1
-1
0
28
20
0
-24
10
44
0
-38
-35
0
-17
0
-26
-44
0
31
16
-109
0
-28
0
0
-14
-3
0
-18
85
5
8
-1
-5
0
33
41
2
82
-83
0
-4
43
26
27
-10
-12
8
-1
85
-4
49
28
11
-1
-8
23
-35
17
-36
-97
10
38
-51
11
29
81
-5
0
-2
0
27
16
0
-38
2
-20
0
24
-74
0
-14
10
0
0
-34
-47
0
72
-21
0
0
-97
0
9
9
0
-78
-19
8
33
31
-38
1
-20
-4
16
-53
5
57
0
22
-9
70
-92
4
-104
-18
-112
20
-29
22
4
145
0
70
5
-7
-6
7
40
0
-3
0
-25
68
0
-20
0
49
0
-1
-55
0
57
-52
4
0
-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
22
0
0
-13
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-141
0
-1
-55
0
0
0
4
0
0
-13
0
12
0
-22
0
0
0
0
0
0
0
0
0
12
0
0
0
-43
0
0
20
0
0
0
-9
0
1
0
-7
0
0
-5
0
68
0
0
-1
0
0
0
27
0
-98
0
12
0
0
0
0
-7
0
0
-2
0
0
-57
2
0
-1
6
0
0
-4
-114
0
0
3
0
0
-10
-90
0
0
12
0
0
-3
19
0
0
58
0
0
0
-5
0
-13
3
0
0
0
40
0
0
-7
0
0
0
24
-17
0
0
0
0
0
-66
0
0
0
0
0
13
22
0
0
-3
0
7
16
-6
0
0
29
0
-1
4
-46
0
0
16
0
0
3
-7
0
0
-14
0
-1
20
97
0
0
-58
0
0
-5
-14
0
0
0
0
-8
0
-38
0
0
-10
0
-93
0
51
0
0
0
0
6
0
42
-17
0
0
0
0
0
44
0
2
0
0
0
3
-121
0
0
16
0
0
0
-5
0
-33
6
0
0
0
-6
0
0
4
0
0
0
-2
0
-28
-17
0
0
0
4
0
3
-2
0
0
0
96
0
-4
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
8
0
0
0
0
0
6
0
0
0
0
0
0
-9
-14
0
0
0
18
1
0
0
18
31
0
82
0
0
0
-20
0
0
63
-2
0
0
38
-32
0
0
0
0
0
0
0
0
-54
-1
0
0
-95
0
0
-11
0
0
0
3
0
0
7
4
-18
0
0
-2
0
0
0
-15
0
0
0
0
0
20
0
3
0
-4
0
-5
-59
0
0
33
0
0
24
15
0
9
-53
55
0
0
-15
0
0
74
0
0
7
25
0
0
6
78
0
-9
49
0
0
32
2
0
-4
29
0
-87
-13
0
0
0
49
-5
0
0
0
0
0
-31
-3
59
0
0
0
0
3
0
0
0
0
0
10
-19
0
0
-11
-5
0
-16
-42
0
-4
2
0
0
33
48
0
-2
17
17
0
2
79
0
0
50
17
0
3
22
0
20
61
-14
0
-2
-29
0
1
-19
2
0
28
-31
15
8
1
-4
0
0
-31
-10
0
0
0
0
0
-44
4
0
0
0
0
0
37
0
-9
1
-3
0
0
33
0
-6
10
0
0
0
41
0
67
8
5
0
0
-118
0
0
13
20
0
0
-20
0
40
-16
0
0
0
95
0
-7
10
-3
0
0
-15
0
-30
7
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
-32
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-8
0
0
0
82
0
0
-23
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
1
0
0
30
0
0
0
0
0
0
0
0
-27
-4
4
0
0
27
0
0
-4
0
0
0
11
0
0
0
0
0
0
-22
0
0
-6
0
0
0
12
0
16
-29
0
0
0
-56
0
0
-24
0
0
0
55
-9
1
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
-28
0
19
0
0
0
0
0
0
-38
0
0
0
0
0
0
-5
0
0
-1
0
0
0
19
0
-7
0
0
0
0
30
0
0
0
0
0
0
-35
0
0
0
0
0
0
-74
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
58
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
-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
0
0
0
0
0
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
-6
-14
0
-52
0
0
0
0
0
0
35
0
0
0
47
0
0
0
0
0
0
0
0
0
-7
0
0
0
-43
0
0
85
-1
0
0
5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
23
0
0
0
-10
0
-18
-38
0
0
62
0
0
0
29
0
75
-20
-7
0
-6
-24
0
0
3
0
0
0
0
0
0
8
0
0
-11
31
0
0
-36
0
0
-10
11
0
64
0
0
0
0
0
0
0
15
0
0
0
-13
0
0
0
0
0
0
37
0
0
0
0
0
0
24
0
0
-7
0
0
0
-46
0
0
-1
0
1
0
-37
0
0
-8
-6
0
0
-14
0
0
-6
-1
-10
7
16
0
0
75
0
0
0
-38
0
0
10
0
-9
0
0
0
0
0
3
-8
0
-40
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
1
0
0
0
0
26
0
0
0
0
0
0
0
0
12
0
0
0
0
-6
0
6
0
0
0
0
10
0
-50
15
0
0
0
7
0
0
66
0
0
0
0
0
-17
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
14
0
0
0
0
0
0
-2
0
0
0
12
0
0
0
0
0
0
0
0
0
-3
0
0
0
-42
0
0
-22
0
0
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-1
0
0
36
0
0
0
0
0
0
2
0
33
-10
0
0
6
22
0
0
10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
21
0
0
0
0
-4
0
0
0
0
0
0
15
0
3
0
0
0
0
53
0
0
0
0
0
0
-15
0
0
0
2
0
0
69
0
0
0
0
0
0
35
0
0
0
0
0
0
-4
0
0
0
0
0
0
55
0
0
1
0
0
0
-27
0
0
0
0
-1
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-11
17
0
-55
26
2
8
91
-23
19
6
28
18
20
17
-17
45
-4
20
24
-37
-45
-7
16
-33
-57
-21
57
-2
9
-99
0
0
0
0
0
0
0
-39
3
-53
9
-7
75
-26
18
-56
-8
-58
-48
39
-48
-19
8
38
-4
0
-76
49
-1
44
-48
-2
-6
-81
12
-91
-7
-38
14
-65
2
-42
-38
-2
61
-8
-18
-7
-65
-21
-13
-37
12
-9
7
-57
2
-15
91
-9
6
81
0
-33
3
-98
-34
-29
-40
-54
-51
10
17
-82
-10
-15
-38
-35
-4
35
-68
78
-19
-5
-34
-29
54
-7
-7
-9
-64
6
12
-82
-1
29
-28
7
22
-3
-56
29
-86
-66
8
-42
12
-49
-75
2
-79
36
-23
6
34
93
5
-156
14
-41
-11
-61
-49
7
-48
-66
12
-5
-8
-108
-3
-11
-10
-30
28
69
50
-5
-15
-55
-54
-3
-48
-7
-3
-159
29
-79
-2
78
3
-56
28
4
-17
-1
-23
-22
6
51
22
-5
-11
-31
-22
-16
64
-41
26
0
2
32
11
-61
39
17
1
1
67
4
-97
-21
-41
-62
-78
-64
5
-75
-11
0
55
-81
-79
-77
-75
-29
29
1
58
-63
-40
-114
-127
-3
-9
-78
78
26
-55
47
-65
-12
40
-32
-29
-33
-84
13
-16
-136
26
-67
-110
-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
-72
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
-6
0
45
0
0
0
0
0
0
-7
-8
0
0
-30
0
0
0
0
0
0
0
0
0
-13
0
0
0
-1
-3
0
-3
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
-31
0
0
-12
0
0
4
0
0
-24
35
-40
0
-27
74
0
0
6
0
0
0
52
0
0
0
0
0
0
-16
0
0
0
0
0
0
60
0
-222
0
0
0
-10
3
0
0
0
0
0
0
-6
6
10
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
-44
0
0
-26
0
0
-15
58
0
-1
0
-10
0
0
37
0
38
-2
1
0
0
-38
0
0
1
0
0
0
-11
0
0
0
0
-5
0
-33
0
0
0
0
-26
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
5
1
0
0
0
-39
0
19
0
0
0
0
-6
0
0
-3
0
0
0
-4
0
-2
0
1
0
0
7
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
0
0
0
0
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
-4
0
0
-55
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
-1
-1
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
-20
0
2
0
0
0
0
13
0
0
0
0
0
0
0
0
-29
-4
0
0
0
-75
0
0
0
0
0
0
-90
0
0
7
0
0
0
-33
0
0
0
0
0
0
14
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
-1
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
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
-3
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
0
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
34
-47
-12
-1
-2
0
48
23
-6
-3
-30
13
0
47
8
-2
0
-10
14
0
-32
-87
-14
64
-55
-52
0
0
0
0
0
0
0
0
5
-27
0
1
-35
-84
0
2
35
0
13
-54
-2
0
44
23
24
-3
1
-4
-1
0
12
8
-1
0
-48
0
5
-19
-32
-105
35
-26
0
91
6
0
0
67
-9
0
27
50
25
-6
-59
-49
0
90
12
-1
38
-10
0
0
82
15
0
5
-28
-31
0
15
3
0
78
48
-33
0
86
69
0
3
131
15
0
102
-20
-10
-4
25
19
0
0
5
-86
114
0
-19
0
0
-21
-56
-1
0
-24
0
30
38
0
94
-19
128
0
41
28
-1
7
105
17
0
43
5
-18
-52
24
-67
0
-23
33
0
21
25
-27
0
143
16
-8
-73
64
40
0
0
22
0
87
70
-17
0
-6
-65
24
-109
-105
-50
0
0
-20
-35
128
-28
-6
-28
0
31
-81
0
-2
5
0
-17
5
-2
-44
-25
17
0
60
21
-1
10
117
24
0
-38
-4
0
-28
69
3
0
32
3
0
121
64
52
0
14
-13
2
62
23
53
0
12
-3
7
76
109
60
0
5
-28
0
-14
-19
0
0
0
59
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
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
14
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-32
0
0
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
-34
0
0
0
0
0
0
0
0
1
0
0
0
-11
-1
0
0
33
0
0
0
-12
0
0
-2
0
0
0
26
0
0
0
0
0
0
34
0
3
0
0
0
0
10
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
-16
0
0
-11
0
0
0
1
0
0
0
0
0
0
23
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
15
-52
21
1
-16
-5
-57
-74
14
5
-87
-5
21
11
-90
0
9
9
15
73
-23
-56
4
-10
4
0
0
0
0
0
0
0
8
2
40
-91
-22
4
8
35
-72
53
-8
-34
11
-11
-70
19
93
-98
-30
37
11
-36
85
102
-50
-87
12
-44
-14
-2
-8
34
38
25
-63
2
11
105
-48
18
-1
-10
0
13
65
5
-15
-13
3
5
-1
-5
-31
3
18
-54
42
8
41
-70
9
-19
-43
-5
0
-55
-29
7
-60
-29
9
21
-70
-11
-45
54
-7
-40
-22
-22
5
-99
5
-45
-48
-1
-4
-39
16
82
32
38
12
-45
-58
94
-41
63
-42
3
6
36
-10
42
-10
24
-4
14
-48
21
20
15
50
-8
-6
100
-2
12
8
11
-19
49
-24
20
43
-1
-35
1
-15
55
17
-86
-28
82
-1
-18
3
-24
-6
9
22
-2
62
26
54
41
0
-105
11
-1
45
-78
52
-20
13
-8
9
-103
26
-18
36
-93
-7
49
-72
23
17
-77
-80
-7
6
6
13
38
-36
-1
15
-136
-9
17
-5
-13
-91
-8
-16
1
6
39
-60
132
1
37
-13
-20
-3
-32
-3
26
53
-9
92
38
1
-60
20
68
-3
59
-102
121
24
24
-15
-59
86
-41
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
1
0
0
0
2
48
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
-6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
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
11
0
0
7
0
0
0
0
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
4
0
0
0
0
45
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
4
0
0
0
0
0
-31
0
0
0
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
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
0
0
0
25
0
0
-54
0
0
0
-4
0
0
0
0
0
0
0
0
0
92
0
0
0
-56
0
0
-34
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
-2
59
0
0
0
0
0
-16
0
0
45
-24
0
0
59
40
0
0
-15
0
0
2
-12
0
0
7
5
0
3
-68
0
0
62
0
0
11
-6
0
27
0
0
0
0
18
0
0
0
0
0
0
52
63
0
0
0
0
0
1
0
0
0
0
0
0
123
0
0
-1
0
0
0
7
0
0
11
0
0
-3
-15
0
0
4
-4
0
3
17
0
0
-5
0
0
0
29
0
0
0
0
0
0
-41
0
0
0
0
0
0
-83
0
0
0
0
0
0
-19
3
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
-8
0
0
0
0
-72
0
0
0
0
0
0
15
0
-26
1
0
0
0
-15
0
0
0
6
0
0
-37
0
-7
0
0
0
0
11
0
0
0
0
0
0
39
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
6
0
0
0
-84
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
61
-3
0
0
-7
-49
0
0
0
0
0
0
89
0
0
0
0
0
0
-9
0
0
-6
0
0
0
6
0
15
1
0
0
0
2
0
0
0
0
0
0
-54
0
0
0
0
0
0
-99
0
0
0
0
0
0
-3
0
0
0
0
0
0
122
0
0
0
0
0
0
-8
0
0
-3
-8
0
0
-20
0
0
-1
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
11
0
-3
0
0
0
0
0
0
-63
0
0
0
0
0
0
17
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
-5
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-29
0
0
0
0
0
0
-6
-19
-3
0
-38
-16
0
0
0
0
0
0
0
0
16
0
0
0
33
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
-36
0
0
-3
0
0
54
-6
0
67
-15
15
0
53
-164
0
0
-71
0
0
8
-5
0
0
108
-16
0
44
-62
0
0
34
0
0
-5
-8
0
72
0
0
0
0
40
0
0
0
0
-6
0
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
42
23
0
2
57
0
0
33
0
0
-29
-26
0
0
-50
0
0
0
-10
0
0
25
0
0
-3
-99
0
0
67
0
0
0
9
0
0
20
0
-2
0
-30
0
0
0
0
-64
0
36
0
0
0
0
0
0
0
-2
0
0
0
0
0
-13
0
0
0
0
0
0
-98
0
0
0
0
0
0
66
0
-15
0
0
0
0
30
0
-1
-1
2
0
0
74
0
17
-16
0
0
0
51
0
-2
0
0
0
0
-58
0
-10
0
0
12
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
-225
-53
0
0
-28
-80
8
3
25
0
0
29
5
0
41
-37
9
-1
-51
-8
-3
0
0
0
0
0
0
0
-9
-19
0
0
-60
-6
0
9
2
-4
0
-18
0
8
-9
53
0
0
-3
0
9
0
-14
-9
0
0
24
34
0
-122
0
33
0
-42
0
1
-15
0
0
-17
66
0
-30
-9
0
-28
-167
-19
0
-21
4
0
0
-16
0
0
-24
-63
0
0
39
-4
7
109
19
0
0
30
0
-6
-6
-10
0
-21
-156
-2
0
19
-2
-1
0
-48
-33
58
0
0
-12
1
0
30
0
0
-38
0
0
0
0
-4
-3
58
0
1
10
-4
-21
-29
-22
0
10
-29
-25
-55
-66
58
0
-6
55
6
-5
26
-45
0
-15
-39
-28
-45
12
-24
12
-8
-6
38
1
-17
-3
0
-1
36
10
-99
0
30
0
-21
-2
33
-27
0
-45
0
0
0
-2
-5
0
44
0
0
0
9
0
-4
13
-2
-104
2
0
5
0
40
0
0
-9
4
-16
-7
-63
0
-63
-35
11
-2
2
-44
0
10
40
-3
1
0
5
0
-2
20
33
-2
-1
-44
0
-15
-15
-2
8
0
15
0
52
0
0
-2
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
1
0
0
0
-3
26
0
26
0
0
0
0
0
0
20
0
0
0
9
0
0
0
0
0
0
0
0
0
-15
0
0
0
-4
0
0
47
0
0
0
-2
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-54
0
0
0
0
0
-3
0
0
13
-3
0
0
9
-8
0
0
-3
0
0
0
22
0
0
-2
0
0
-4
-16
0
0
-4
0
0
0
7
0
-4
76
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
-3
0
0
1
64
0
0
0
0
0
0
0
0
0
35
0
0
-1
7
0
0
0
0
0
0
-5
0
0
-3
0
11
0
24
0
0
0
0
9
0
37
0
0
0
0
-1
0
1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
3
0
0
4
25
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
52
0
0
0
0
0
0
-13
0
-1
0
5
0
0
0
0
0
0
0
0
0
-4
0
0
0
48
0
0
45
0
0
0
-3
0
0
0
0
0
0
8
0
7
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-7
0
0
0
0
0
1
-2
0
-14
0
0
0
-9
-9
0
0
0
0
0
0
-85
0
0
-1
-1
0
0
45
0
0
-1
0
0
3
41
0
0
-11
0
0
0
13
0
0
0
0
-6
0
31
-5
0
0
0
0
0
-20
0
0
0
0
13
0
-8
0
0
0
0
-11
0
-97
0
0
0
0
0
-8
-1
0
0
0
0
0
52
61
0
0
1
1
0
0
-12
-3
0
0
0
0
0
-9
0
0
0
0
0
0
-11
10
0
0
0
-13
0
-43
0
0
0
0
0
0
-17
0
0
0
0
0
0
41
0
5
0
0
0
0
-5
0
0
0
0
0
-8
-25
0
0
0
0
0
0
7
0
0
0
0
0
0
-29
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
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
0
-149
0
0
0
0
0
0
-6
0
0
0
-43
0
0
0
0
0
0
0
0
0
-3
0
0
0
23
0
0
61
0
0
0
-13
0
0
0
-7
0
0
-6
0
1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
15
0
0
-1
0
0
-2
0
0
-35
-11
0
0
-3
49
0
0
-1
0
0
0
-112
0
0
-1
0
0
-1
-59
0
0
-9
0
0
7
-32
0
47
-7
0
0
0
-25
0
0
-1
0
0
0
14
7
0
0
0
0
0
-172
0
0
0
0
0
0
11
0
0
-4
0
-4
-10
-74
0
0
6
0
-1
-3
-16
0
0
16
0
0
0
-7
0
0
1
0
-1
0
16
0
0
-4
0
32
0
106
0
6
8
0
-6
0
-12
0
0
0
0
79
0
-89
0
0
0
0
0
0
71
0
0
0
0
0
0
39
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
-5
0
0
0
0
3
0
0
-13
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
9
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-15
0
0
0
-15
12
0
12
0
0
0
-1
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-12
0
0
0
0
0
26
7
0
10
11
1
0
-28
-6
0
0
-18
0
0
0
20
0
0
2
0
0
4
-137
0
0
-6
0
0
0
-12
0
-33
1
0
0
0
-4
0
0
0
0
0
0
-9
-4
0
0
0
0
0
10
0
0
0
0
0
0
57
0
0
0
0
0
-9
49
0
0
-5
0
0
1
-13
0
0
-2
0
0
-2
-49
0
0
7
-13
0
2
16
0
0
-14
0
0
0
61
0
0
-13
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-7
0
0
0
0
0
0
-28
0
-25
0
0
0
0
-8
0
0
0
0
0
0
37
0
0
0
0
0
0
28
0
0
0
19
0
0
11
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
9
0
0
73
59
9
7
-18
58
1
0
0
0
0
0
0
0
-71
73
4
-7
79
136
-26
-34
22
0
-6
70
-8
-52
19
-79
0
0
15
1
-46
0
22
-26
0
0
-15
12
0
25
21
-42
1
-34
0
0
-7
0
0
-173
0
0
9
22
0
-79
-75
39
0
78
55
0
1
-76
0
11
-37
-6
0
0
-134
0
0
27
44
6
23
-63
0
0
-117
-12
0
6
-8
70
-1
58
-6
6
-2
1
-14
23
0
-46
-25
122
0
0
0
0
-28
8
19
0
-34
0
0
23
18
0
140
-103
-164
-35
-21
0
-6
-96
1
38
-57
33
0
43
37
79
76
74
43
-28
-25
1
97
-52
-14
42
0
91
-53
-18
-23
37
30
0
1
-6
-2
16
-3
-22
0
0
-110
-16
12
0
-62
-25
0
0
-6
-105
0
2
23
0
0
-13
0
0
-11
0
-41
-10
1
5
-1
-21
4
-42
-42
41
17
0
-16
0
-70
12
-11
35
-10
-8
8
58
79
31
1
-14
12
0
-20
38
0
-1
9
-19
0
-4
-42
61
100
0
-3
0
-115
-1
0
-13
0
-3
104
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
54
0
0
12
1
0
1
40
-29
-4
0
0
0
0
0
0
0
26
2
0
0
20
7
0
2
0
0
-5
65
0
-2
-12
49
0
0
-73
8
24
0
0
-27
0
0
0
9
0
57
-9
-31
0
-8
0
53
0
0
0
-56
4
0
-83
76
0
-76
-7
-10
0
10
-65
0
-5
4
0
0
-56
-40
0
0
3
-91
-2
3
16
0
-1
0
-5
0
5
-27
0
-25
88
-9
-5
0
-47
0
0
-5
4
50
0
-91
-7
0
0
0
0
0
-4
2
0
0
0
4
-18
0
0
0
0
1
-56
-3
-2
0
0
45
4
-25
82
-10
0
0
48
56
3
-17
-23
0
-21
42
-30
-37
35
12
0
0
17
-11
1
-5
46
0
-25
-118
0
-85
1
22
0
0
-12
-2
50
0
-27
0
0
0
3
-4
0
-84
0
0
0
0
0
0
0
0
-25
0
20
0
-1
-67
0
0
31
-2
0
0
-27
0
-38
0
6
0
0
-93
0
-9
-30
-36
16
0
-54
0
36
40
-2
0
0
-66
0
10
16
-2
8
0
-77
0
-38
0
0
72
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
13
0
0
0
0
0
0
0
0
4
2
0
0
36
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-6
0
0
0
-10
13
0
0
17
0
0
0
-59
0
0
17
0
0
11
-8
0
0
2
0
0
0
9
0
20
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
15
0
0
0
0
0
0
22
0
0
0
0
0
0
-19
0
0
0
0
0
0
-52
0
0
0
0
0
0
41
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
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
39
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
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
-51
0
0
0
0
0
0
0
0
-5
8
0
0
-1
-31
0
0
0
0
0
0
-48
0
0
0
3
0
0
22
0
0
-2
0
0
0
0
0
14
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
4
0
0
6
-2
0
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-24
0
0
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
-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
-1
0
3
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
-16
57
0
0
0
66
33
-12
-8
-4
15
41
0
95
0
0
0
0
0
0
0
-14
-126
45
9
50
65
44
14
17
-3
19
9
-63
27
10
-29
44
-5
37
-62
-15
0
48
-17
-1
-3
-60
-3
-15
27
-116
-188
0
-84
0
-53
-20
-6
-2
11
45
44
-67
-10
1
-55
-38
9
17
-60
4
-13
21
-52
29
-7
-27
8
3
13
-42
-66
-14
64
34
-8
-2
68
23
-18
-100
-33
-7
-5
58
97
-95
-5
-18
6
-31
-38
-2
5
-6
8
-13
38
-3
26
-1
0
-25
-56
7
0
-69
-15
1
-11
0
-4
-10
19
-82
-81
-32
1
-110
-15
0
-3
150
-12
17
-79
-42
52
-29
2
-34
-38
-100
26
65
52
-59
16
186
-17
74
-68
-49
-5
0
-14
-54
77
-112
6
10
-16
-12
77
-32
-15
18
-2
37
6
-19
5
-41
-82
-8
-32
-2
3
27
96
-10
-38
29
-2
-12
-7
53
-64
37
1
7
4
-10
52
60
-21
-34
-16
-80
0
40
26
-16
-26
75
-28
-12
10
66
-65
0
9
-8
126
-111
15
24
-70
25
-58
42
-125
82
21
-7
-40
-25
-62
-52
41
0
37
3
-6
8
18
-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
74
-21
0
0
68
0
83
35
-26
0
-6
-6
16
6
0
0
0
0
0
0
0
-54
21
-2
-7
22
0
19
-29
-9
0
0
-25
0
-27
-84
-99
0
0
-2
0
11
0
-46
-167
0
0
0
-33
0
34
2
170
0
0
20
44
-23
0
0
131
0
0
33
-49
0
-49
29
0
5
27
-18
0
13
-12
0
-8
1
20
0
0
-2
0
0
1
-14
16
5
17
0
-2
8
-48
0
4
72
42
1
5
-119
0
0
-5
0
-152
9
-16
-53
52
0
0
4
0
19
13
0
0
0
-65
69
-34
1
-5
57
-17
37
29
27
0
1
29
0
53
116
-30
0
-22
7
0
-15
-77
-49
0
92
33
34
94
65
-14
0
-59
37
-50
49
51
-34
0
0
143
0
42
-17
-78
0
-2
50
3
-11
0
-3
-1
0
-18
0
-87
0
-4
-1
0
0
13
0
24
-49
0
-28
8
16
-171
-21
45
0
48
-86
0
22
-27
-5
0
-77
25
0
28
54
-37
10
0
-35
49
-31
69
-9
2
108
98
0
20
-45
3
-12
-92
98
0
-2
-7
-34
0
88
-22
0
10
0
52
-44
0
-11
-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
-35
0
0
0
0
0
0
-51
0
0
0
18
-28
0
0
0
0
0
0
0
0
19
0
0
0
-45
-1
0
-45
-4
0
0
38
24
0
0
-67
0
0
21
17
31
0
0
38
0
0
0
0
0
8
0
0
0
9
0
-5
108
0
0
0
0
0
14
14
0
12
-4
6
0
73
1
0
0
2
0
0
-10
12
0
0
-20
0
0
77
70
0
0
-149
0
0
-52
84
0
16
34
-11
0
-32
3
0
0
104
0
0
0
-47
-1
0
0
0
0
0
-58
0
0
0
0
0
0
61
0
0
-6
2
0
-15
36
0
0
-30
0
0
26
69
0
0
71
0
0
5
-1
0
-1
-30
-36
0
-3
-24
0
0
80
2
0
-8
44
0
0
76
0
0
-2
-26
0
0
-13
0
0
0
-67
-9
0
0
0
0
0
-36
-14
0
0
-18
0
0
-18
0
65
0
0
0
0
14
0
0
3
0
0
0
74
0
-28
52
-24
0
0
-21
0
2
-7
24
0
0
36
0
-28
15
17
0
0
6
0
-16
-9
-2
0
0
83
0
10
0
0
0
0
-74
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
-13
16
-38
50
0
0
0
0
0
0
0
-40
-15
37
31
62
-30
-73
1
0
-23
17
6
-46
-5
19
44
-122
-17
-13
48
-38
-21
-67
-22
-20
-38
-13
-37
-1
-1
-36
5
42
-40
8
-4
8
-94
-34
56
-40
14
-2
-16
19
-7
-15
-43
12
-30
4
20
90
25
82
4
0
8
44
82
-15
8
6
-28
15
-8
-40
-1
-15
38
-2
-12
18
3
-49
28
-59
-48
-11
-40
28
-11
-42
-49
-19
-12
104
43
-141
-70
11
10
-25
-76
-98
-60
10
0
37
10
-35
-76
-14
15
-15
16
0
3
-27
-34
-68
12
-69
34
-56
100
10
25
74
-29
-8
-22
13
45
29
-9
-17
-17
-11
-41
-48
67
-16
-18
-11
94
-70
28
9
3
-64
39
-15
-49
-36
-35
6
-10
3
-4
22
21
-66
-15
-4
-11
-26
47
42
-85
20
-5
-21
23
-6
-2
39
-19
-24
-35
-53
-7
-22
-45
-62
-77
-25
-44
30
-64
19
-3
-19
-4
-72
11
35
14
17
-8
14
-22
-24
-26
0
-58
85
-26
6
-41
-6
-41
5
46
32
-23
-66
11
22
12
37
-20
40
-31
50
-4
-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
175
0
-1
0
19
-6
0
0
0
0
0
0
0
0
80
0
0
0
-75
1
0
31
-1
0
0
47
0
2
-3
-2
-4
0
-4
0
-27
0
-5
-3
0
0
0
-7
0
0
0
8
0
0
0
-2
-23
0
0
0
0
0
-49
0
0
-70
-24
-17
0
-83
-20
0
-2
-22
0
0
20
14
0
0
-44
8
9
-28
59
0
0
-68
0
1
19
38
0
-102
129
6
0
0
-89
0
0
31
0
-1
0
-10
-4
0
0
-4
0
0
38
4
0
-16
14
0
18
-59
0
0
-5
-11
24
-57
0
0
-20
73
0
0
70
-24
-9
45
6
27
0
14
66
0
5
79
-3
4
-5
35
-3
0
11
9
0
-28
7
0
-5
16
0
-4
0
-50
0
0
1
1
81
0
-15
-1
0
0
0
0
0
-25
-5
0
0
9
0
11
-54
0
35
0
0
0
5
0
0
0
-7
12
0
0
-97
3
-8
-4
-3
0
0
-62
5
-2
-5
-10
-1
0
-49
0
21
29
-24
0
0
-97
0
-4
-9
0
0
0
-35
0
-34
0
0
-13
0
-27
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
31
0
0
0
0
0
0
0
25
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
23
0
0
-19
0
0
0
0
15
0
0
0
0
0
0
64
0
0
0
0
0
0
14
0
0
0
0
0
0
47
0
-15
0
0
0
-6
-2
0
0
0
0
0
0
-20
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
-7
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
-4
0
0
0
-46
0
0
0
0
3
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
14
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
-3
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
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
7
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
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
-9
0
0
-6
-10
0
0
0
0
0
-3
26
0
0
0
1
0
0
6
0
0
11
0
0
0
6
0
16
0
0
0
0
7
0
0
0
0
0
0
23
1
0
0
0
0
0
-21
-1
0
0
0
0
0
-5
0
0
0
0
0
0
37
0
0
-5
0
0
0
5
0
0
-1
0
0
0
-33
0
0
0
0
0
0
1
0
0
13
0
0
0
13
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
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-5
0
0
0
-6
0
0
0
0
0
0
9
0
0
-8
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
97
-6
0
0
-10
34
-34
0
0
0
0
0
0
0
-6
13
0
15
78
0
15
-7
40
-5
0
40
0
-1
32
-7
16
0
5
0
-11
0
-1
-3
0
0
4
-6
0
-60
43
17
0
-11
0
127
-62
-1
0
1
0
0
-32
-76
0
-21
34
85
0
-40
-29
2
18
-39
0
0
4
60
0
0
148
14
0
12
-45
0
0
27
4
0
-3
71
0
52
10
0
0
0
-58
0
0
-29
-2
11
0
-64
-34
22
3
35
0
0
26
-6
0
0
0
0
-5
-66
0
0
0
0
13
13
29
0
0
0
-2
61
-20
91
2
-9
80
23
19
-9
-1
-5
-13
47
34
-5
-1
-50
0
25
-45
4
7
-16
-8
1
-23
-2
-15
-50
0
-107
0
2
27
-2
-23
0
-28
0
0
0
-4
0
15
23
5
0
0
0
12
0
44
0
67
0
0
1
-1
1
35
16
0
1
0
-12
-72
-2
-91
13
0
-8
2
82
-3
11
-26
11
15
-14
76
2
18
-12
0
11
-7
-90
-8
5
49
-1
0
0
11
2
51
11
5
-18
0
-16
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
16
0
0
0
-2
0
0
22
0
0
0
2
0
0
-25
0
0
0
0
0
0
0
0
21
0
0
0
0
0
59
0
0
0
0
0
27
-37
0
0
-17
0
0
-14
-13
0
57
75
0
0
-7
4
0
0
0
0
0
0
44
0
0
0
0
0
0
-15
0
0
5
0
0
0
29
0
35
10
0
0
0
-20
0
0
-5
0
0
0
-37
0
0
0
0
0
0
-16
0
0
0
0
0
0
51
0
0
0
0
0
-10
51
0
0
-1
0
0
0
94
0
0
-29
0
0
0
-19
0
0
-7
0
0
0
73
0
0
-1
0
0
0
-88
0
0
2
0
0
0
20
0
0
0
0
8
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
18
0
-1
0
0
0
0
36
0
0
3
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
36
1
0
0
-4
0
0
0
0
0
0
2
0
9
0
0
0
0
0
0
0
0
-35
0
0
0
1
0
0
25
0
0
0
0
0
-16
0
0
-19
13
-35
0
47
-45
0
0
-40
0
0
6
-135
0
0
62
0
0
5
47
0
0
41
0
0
0
83
0
63
0
0
0
0
-110
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
-10
-2
0
0
61
0
0
1
0
0
-9
80
0
0
11
0
0
0
-18
0
0
43
0
0
8
-77
0
0
85
0
0
0
-71
0
0
-1
0
0
0
76
0
0
0
0
0
0
40
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
-4
0
0
0
0
-41
0
0
3
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
17
0
0
0
0
-19
0
0
2
0
0
0
-54
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
5
15
-55
-32
-31
56
0
13
-15
26
-27
49
-41
-6
0
90
14
-85
0
42
-89
-1
8
-3
-36
0
25
94
48
-9
-1
0
18
-4
17
0
-24
-44
8
36
-29
0
-55
-99
-8
0
-39
-8
-12
-1
-12
0
26
-44
-75
0
-69
19
-65
23
-33
38
-2
44
10
12
-2
66
54
1
19
-7
39
-12
12
28
104
14
82
33
74
0
-17
0
73
0
-3
16
-2
0
-4
2
-9
8
-60
39
-30
-35
14
73
17
-29
-14
10
-3
-21
17
-7
108
5
-49
-61
-5
1
50
-61
103
-52
24
114
1
-90
-57
77
30
-5
-121
7
117
-10
14
34
4
-4
55
-66
-16
44
21
-21
-9
-16
58
-76
0
-8
-29
45
-1
24
-13
15
11
72
0
-1
19
0
6
-55
5
-130
41
0
59
2
-31
-1
-4
30
-37
8
43
0
13
-5
-26
36
19
44
-70
26
48
-18
25
-7
-8
-24
-6
77
-36
-3
-4
-1
-48
2
73
137
-70
-21
0
55
10
-15
18
-5
21
0
13
-12
6
-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
-89
-1
0
8
-112
1
-1
-2
-3
0
-2
63
0
0
24
10
-1
0
-1
1
13
0
0
2
0
0
0
-26
0
-44
2
0
0
0
0
-25
58
0
0
0
-1
0
5
-25
5
-76
11
0
0
-122
0
7
-2
18
1
0
83
-26
0
0
-11
13
7
-37
46
0
-2
12
0
4
9
37
3
53
-87
-6
11
-13
-29
0
0
-1
8
-28
0
-9
-3
0
0
0
0
0
-33
0
0
0
-3
0
-7
32
0
0
-16
0
0
9
-63
-2
0
22
-5
-7
3
0
0
6
-61
-15
0
20
10
15
1
-142
-39
-1
-16
31
0
-5
-48
53
3
-10
11
0
-4
43
1
2
-4
-127
0
14
-5
0
44
0
-21
0
-4
0
-1
-14
0
-99
13
0
0
0
0
0
68
0
5
0
10
0
-3
-74
0
20
-4
1
-13
16
0
0
-2
81
0
0
10
-35
1
-5
2
16
0
0
-42
10
87
9
1
6
0
-12
0
-1
13
-9
0
0
1
-3
9
0
0
0
0
-52
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
30
0
0
0
-81
0
-1
-81
0
0
0
64
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
6
2
0
0
0
0
0
-54
0
0
8
0
0
2
-31
0
-107
-7
0
0
-6
15
0
-18
1
0
0
-10
31
0
0
-52
15
0
-4
-1
0
0
65
0
0
0
43
0
53
-25
0
0
0
-6
0
0
0
0
-4
0
30
3
-7
0
0
0
0
-63
0
0
0
0
0
0
34
0
-9
0
-3
0
0
-18
0
0
0
0
-3
-5
69
0
0
4
-6
2
5
40
0
0
-7
0
0
0
6
0
-3
-6
-10
0
-6
-30
0
0
1
0
3
0
-37
0
0
8
0
-1
0
2
0
0
0
0
-11
0
-57
0
0
0
0
0
0
36
0
2
-4
0
0
0
-22
0
3
6
0
0
0
-20
0
47
6
0
0
0
22
0
-2
-8
0
0
0
-14
0
3
0
0
0
0
1
0
8
3
0
0
0
26
0
16
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
-15
6
0
0
-51
0
0
-38
0
0
0
151
0
0
0
9
0
0
0
0
-9
0
0
-2
0
0
0
0
0
12
0
0
0
0
0
6
69
0
0
1
0
0
12
0
0
-72
77
-10
0
-59
39
0
0
-6
0
0
-46
71
0
0
5
-5
0
5
-99
0
0
15
0
0
-35
-44
0
2
82
0
0
14
-7
1
0
-5
0
0
0
-22
10
0
0
0
0
0
-49
0
0
0
-14
0
2
-90
0
0
-40
0
0
-3
-41
0
0
43
-1
0
2
13
0
0
-49
40
0
0
4
0
0
4
14
0
0
-43
0
0
36
-5
0
-3
-6
0
0
-14
0
0
0
-26
0
0
-1
0
-11
0
-56
0
0
0
-1
0
0
-22
0
0
0
-2
0
0
85
0
2
0
7
0
0
35
0
12
-5
9
0
0
6
0
0
-12
0
0
4
-52
0
0
26
-7
0
0
-52
0
24
-2
0
0
0
-1
0
26
2
0
0
0
60
0
0
0
0
5
0
-24
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
24
7
9
-20
27
-123
18
-3
34
31
11
31
-20
34
-1
78
-9
-55
8
-43
-71
-1
18
1
14
19
1
-62
-70
-1
-21
-3
122
-24
-3
-9
-9
-45
22
-5
13
5
2
66
23
-5
9
22
1
-52
12
-2
0
12
-37
1
-3
-42
-56
-34
-1
-6
-5
-24
31
-23
93
11
-9
7
2
10
47
48
18
9
-40
-20
14
19
42
-3
14
-13
12
3
-34
10
-38
20
71
24
-1
64
49
33
-5
-13
22
-74
3
-47
96
-2
-3
-7
66
39
-3
49
7
99
-29
-50
5
-15
73
-61
-23
29
54
32
28
4
-40
108
41
38
42
-36
32
-2
-2
-72
4
-113
8
52
18
-14
32
101
51
-6
14
30
89
9
13
15
73
-3
31
0
-8
-3
147
54
33
33
24
98
3
-24
38
-20
3
-1
43
-112
-21
-6
-78
-5
39
-8
-78
-96
20
116
-83
-54
9
7
-7
7
27
-6
48
-50
-18
23
-74
-57
11
-31
41
8
22
81
7
-7
1
9
-38
31
20
5
25
-39
-1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
10
36
-1
13
-36
7
0
0
60
2
6
2
-32
0
0
-9
0
-3
0
-15
-60
0
0
0
29
0
19
83
-6
0
0
0
-11
-13
0
0
16
0
0
-99
-21
7
-29
-8
0
0
31
21
0
0
44
0
-3
-19
18
-3
22
-21
0
0
104
-30
0
0
67
8
0
31
-27
0
55
37
0
25
-4
-96
-13
0
11
0
44
0
-20
81
65
0
0
0
0
-37
11
0
0
0
-5
36
3
0
43
49
0
60
81
-14
0
0
-12
7
-79
-28
5
6
-5
-83
0
0
-21
54
1
-11
-35
-17
-11
-9
-14
-2
-21
59
0
-5
-20
-75
0
23
-31
0
7
-3
-56
-4
35
3
0
-26
0
39
0
0
0
0
-5
0
-49
0
12
0
0
14
-6
21
28
21
26
0
0
-13
7
-6
-1
-65
0
8
0
23
0
38
1
2
0
-1
42
0
-36
-17
0
-2
0
-51
1
-49
-48
0
0
-9
-5
-4
-13
10
0
-6
0
55
10
-3
-3
0
-23
0
5
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
48
0
0
0
31
0
0
-13
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
-29
3
0
0
-2
0
6
15
0
0
0
0
0
-52
-2
0
48
-19
32
0
-83
-24
0
-7
5
0
0
3
-20
0
0
10
-8
0
132
42
0
0
-20
0
0
0
-4
0
5
-21
3
0
0
-10
0
0
0
0
0
0
28
0
-4
0
0
0
0
-53
-9
0
0
0
0
0
-36
0
0
16
8
0
-16
-61
0
0
-8
0
0
-23
6
0
0
68
-2
0
36
6
0
3
-39
0
0
-4
31
0
0
87
-1
0
-11
-47
0
0
-39
0
0
0
72
0
-7
0
0
0
0
25
0
0
0
0
0
0
-76
0
0
0
0
0
0
46
0
2
0
0
0
12
-66
0
0
1
0
0
0
35
0
49
6
0
0
0
-99
0
-1
24
10
0
0
-63
0
13
5
0
0
-6
-14
0
0
0
0
0
0
-23
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
17
-5
85
1
-22
0
55
52
-4
94
16
-92
0
-11
-12
-1
-4
37
-20
0
-2
-71
69
4
-32
0
-24
8
12
-1
-37
17
-11
-30
-44
13
8
-3
17
-1
-35
16
7
71
-39
-11
43
-70
-26
1
10
18
-1
0
-24
-84
5
-27
12
-25
0
-18
25
-9
4
-37
-34
-51
0
12
25
-43
-20
-5
-29
0
1
-168
-44
-5
13
8
0
0
77
14
7
5
-29
-20
11
10
105
-74
-27
42
-23
15
9
-40
5
-14
84
-99
-1
46
-21
-45
142
93
-55
-29
-15
-27
-39
15
16
-5
-25
16
20
-35
41
1
-3
20
-9
-1
10
-33
75
-5
-15
54
-3
11
-30
-5
0
29
62
9
-1
20
-2
-4
20
4
-16
-17
-35
-10
5
-13
-15
82
4
-10
79
82
-25
0
-154
-74
83
115
8
-60
-4
29
-98
23
3
11
18
-15
-98
-29
42
-48
13
-1
-3
52
4
55
21
-1
0
32
-5
-87
51
12
19
-23
-52
-31
23
-1
53
0
16
18
-10
-25
-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
-32
-2
0
-2
12
0
0
-5
2
0
0
1
0
68
0
0
2
0
0
0
41
4
-6
14
4
0
0
0
2
-52
0
0
-7
0
0
158
-19
0
-32
107
8
0
-17
123
0
2
41
0
0
12
-23
0
0
-86
20
0
-101
0
0
16
-61
-10
0
-30
66
0
18
79
10
0
0
-65
0
0
18
3
0
0
-34
21
24
0
0
0
0
-42
0
0
0
0
0
0
56
0
-8
0
0
0
-24
21
0
8
-3
0
0
-7
47
0
-15
-23
28
0
-91
-8
0
6
27
-19
-1
32
0
4
3
54
-23
-5
0
-51
0
-1
-39
0
17
0
-25
-1
0
0
0
-4
0
-86
0
0
0
13
0
0
-11
12
0
0
0
0
0
28
0
-36
0
0
0
0
42
0
0
-7
3
0
0
-18
0
-7
24
-5
0
10
-95
0
-5
-13
-5
0
0
0
0
-12
55
0
0
0
24
0
-3
-5
0
0
0
-4
0
-12
-2
-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
-20
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-50
0
0
2
0
0
-5
0
0
-19
-12
0
0
23
-18
0
0
0
0
0
-11
41
0
0
-14
0
0
-28
51
0
0
10
0
0
0
42
0
75
0
0
0
0
-20
0
0
0
0
0
0
48
0
-9
0
0
0
0
-58
0
0
0
0
0
0
12
0
0
-6
0
0
0
-49
0
-3
0
0
0
4
21
0
17
-4
8
0
0
33
0
0
38
0
0
0
10
0
1
-23
0
0
0
24
0
-14
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
5
0
0
0
0
65
0
0
11
0
0
2
-12
0
16
7
0
0
0
-8
0
0
0
-1
0
0
30
0
12
0
0
0
0
-4
0
0
-4
0
0
0
37
0
-1
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
-33
31
0
0
9
0
0
0
14
0
0
0
0
8
0
0
8
0
0
0
0
0
-64
0
0
0
0
0
12
38
0
0
-1
0
0
5
65
0
18
-13
-4
0
-37
-26
0
0
34
0
0
-1
-111
0
0
-35
-3
0
5
-83
0
0
54
0
0
0
91
0
6
-4
8
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
0
0
0
-30
0
-2
7
0
0
0
26
0
0
7
0
0
0
-14
0
0
-5
33
0
0
-45
0
31
32
5
0
-1
-59
0
0
-61
0
0
5
-75
0
0
-27
0
0
0
-38
0
37
15
0
0
0
-65
0
0
0
0
0
0
40
-8
0
0
0
0
0
-3
0
7
0
0
0
-2
-5
0
0
6
0
0
0
-64
0
-4
0
-2
0
5
-6
0
0
-3
2
0
0
16
0
-4
-5
0
0
0
-41
0
-9
-4
0
0
0
-124
0
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
63
4
-7
-11
-17
-44
21
14
28
39
229
-38
21
26
41
-27
1
6
39
25
-21
-23
7
-48
37
46
10
38
-8
-10
-6
-34
-73
22
141
47
-23
17
23
50
85
21
-18
5
-69
-53
12
-16
64
-35
-4
-18
15
16
23
49
-21
-4
38
-54
87
-2
22
43
-16
12
-4
-3
43
-1
-9
44
13
87
50
35
26
-27
-61
80
-4
-52
-10
-9
-39
22
-67
-147
54
21
90
3
68
-74
-18
69
11
87
-19
16
-82
105
16
43
70
-22
0
-73
72
15
-9
23
-33
16
-107
54
40
10
33
-49
-13
90
12
23
46
84
-20
0
-45
4
74
46
38
-32
35
-29
98
-40
-33
-12
-37
-47
-70
-4
-31
-5
13
15
-5
12
-62
9
-57
42
33
4
75
-5
18
-14
19
-31
-34
-75
-42
111
30
86
-12
61
7
-9
37
50
5
-58
2
-132
-27
10
32
129
-37
-27
-5
46
31
146
71
-19
-125
-49
93
19
134
7
9
64
86
7
-45
-17
18
4
-44
-69
66
-33
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
-134
0
0
0
-39
0
0
20
10
0
0
2
0
-56
0
0
-4
0
10
0
0
0
-36
5
0
0
0
0
14
-32
0
0
7
0
0
-13
2
0
-70
3
-4
0
87
-15
0
0
44
0
0
6
45
0
2
-68
0
0
22
-45
0
0
17
0
0
-18
-88
0
8
82
0
0
-6
46
0
-3
19
0
-5
0
-54
3
0
0
0
0
0
-107
-11
0
0
0
0
0
14
0
13
-33
0
16
-13
-9
0
5
-27
0
-5
-4
-40
0
17
49
8
0
28
9
-6
0
61
0
35
-3
-40
-9
13
8
0
0
0
19
0
0
-46
0
-1
-2
53
-1
0
-12
0
1
0
-33
-12
9
0
0
0
0
-62
-14
0
0
0
0
0
-40
0
-14
0
0
0
0
-68
0
0
-1
0
0
2
26
0
-34
56
-2
-1
-13
14
0
-5
11
0
-1
4
64
0
35
0
0
0
0
68
0
0
0
0
0
0
-38
0
63
-4
0
0
0
16
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
129
0
0
0
-5
0
0
-3
4
0
0
0
-19
0
0
32
0
0
-37
0
-14
0
11
0
7
5
0
0
8
0
0
-60
-4
0
4
19
-52
0
-31
-39
0
-5
19
0
0
-29
-31
0
0
-9
2
0
13
-82
0
0
21
0
0
62
42
0
-41
-5
43
0
0
9
0
0
0
0
0
0
-40
96
0
0
0
0
0
36
-1
0
0
-5
0
0
5
0
11
44
0
0
10
-30
0
0
28
0
0
4
-1
0
0
58
8
0
38
-28
0
-7
-71
0
0
-2
70
0
-10
18
-12
0
24
-9
0
0
-14
0
0
0
-3
0
43
-2
16
0
0
-51
0
0
0
0
0
0
12
0
0
0
0
0
0
31
0
2
-1
0
0
1
10
0
10
1
0
0
-15
-119
0
60
27
0
0
0
60
0
2
71
-1
0
0
33
0
16
-20
0
0
0
-19
0
-2
0
0
0
0
72
0
17
0
0
0
0
111
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
7
102
3
-9
0
41
-32
8
-2
-109
-58
34
13
-65
35
-52
44
-3
-23
-46
27
-9
-22
-6
-68
-45
-17
-4
8
-3
39
-40
-26
8
-23
36
32
-22
-12
-55
2
47
-19
13
47
78
58
-30
-3
-35
25
159
3
-2
10
-12
22
19
-140
-7
-11
8
41
-10
51
-8
-41
0
9
-68
33
-32
-75
0
-4
-13
83
-29
-38
-21
16
-93
-45
-40
-49
-78
-59
9
-148
-32
-1
100
-8
42
36
17
-30
50
-11
1
16
40
-81
-33
-12
-57
5
-35
6
-30
-21
-80
39
59
-52
27
-11
-27
30
4
51
-17
16
13
1
41
-95
-36
-112
-35
0
-15
-69
14
-10
-49
72
0
18
-17
-9
-4
-16
-99
-96
-41
62
-7
-2
-17
49
-5
-11
-6
23
-14
22
25
53
-58
7
33
35
13
92
-62
7
-63
11
35
46
24
-57
-45
-91
14
-28
40
-39
-130
7
0
24
-5
-68
55
5
-7
-49
-25
-30
70
-46
-6
-24
20
-25
-58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
5
-13
0
0
76
8
0
0
0
0
-17
-48
0
0
-7
0
0
37
-24
0
66
43
-8
0
4
58
0
0
24
0
0
70
67
0
17
-15
-6
1
4
-63
0
0
43
0
0
-33
0
0
-34
-39
4
0
0
105
0
5
-2
1
3
0
-21
1
16
0
0
0
0
2
0
0
0
0
0
0
-20
0
6
-38
-6
14
11
-42
1
0
2
0
-6
-4
-31
0
0
-14
-4
-4
-6
78
11
-2
-30
-1
-11
32
-22
-1
-15
-91
2
17
-11
0
4
11
-48
0
0
14
90
0
8
0
2
37
0
-59
-18
0
0
-2
16
0
95
0
0
0
0
0
0
-79
0
14
4
0
9
0
-103
0
0
6
0
0
-6
40
2
71
-1
0
0
0
-65
0
-7
8
8
-5
0
-67
0
43
-32
0
0
0
0
6
-10
-38
0
0
0
-42
0
-62
-2
0
-3
0
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
32
0
0
0
-3
0
13
-9
0
0
0
0
0
12
0
0
16
2
0
0
-9
31
0
0
0
0
0
12
-6
0
0
0
0
0
2
17
0
0
-8
0
0
-8
4
0
8
0
0
0
0
26
0
0
0
0
0
0
-31
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
20
0
0
50
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
4
0
1
0
-36
0
0
4
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-9
0
0
0
0
0
4
0
-12
0
0
0
0
11
0
0
0
0
0
0
1
0
-3
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-73
0
0
0
0
0
-2
0
0
-14
-1
0
0
79
28
0
0
0
0
0
-3
21
0
0
-3
6
0
-9
-14
0
0
-17
-1
0
2
-27
0
-19
4
0
0
0
-2
0
0
0
0
0
0
21
1
0
0
0
0
0
-1
0
0
0
-4
0
0
-25
0
0
13
0
0
0
-3
0
0
-1
0
0
0
-13
0
13
2
0
0
0
-12
0
0
8
0
0
-7
-115
0
0
0
0
0
13
-33
0
0
0
0
0
0
0
-3
0
0
0
-5
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-19
0
0
22
0
0
0
9
0
3
-5
15
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
133
-27
7
-28
-41
0
0
-20
-11
-1
19
-16
-71
-6
-62
-9
-100
5
0
0
-68
9
0
94
-3
0
29
-15
45
0
-45
0
2
-6
-83
-13
15
47
-10
0
10
-72
117
0
-54
-11
1
4
18
11
0
108
-10
-3
14
1
28
8
23
21
-9
-7
21
109
-60
0
-10
-16
3
0
-1
0
0
-12
2
0
0
40
0
-40
-18
11
39
46
46
-45
37
-26
0
32
-65
-14
-24
5
8
-55
27
30
0
-16
-33
34
-96
37
97
9
-22
-44
-3
77
14
-104
-49
1
16
-63
-13
-44
3
-27
-65
-5
21
-1
37
15
70
-27
0
7
-33
-4
0
92
150
-1
-32
-26
0
0
22
-4
0
-48
-3
-58
-20
-31
-21
-41
23
1
-13
-61
100
9
5
13
0
-63
7
46
127
30
20
-6
29
32
65
14
23
7
1
-32
-42
9
-104
32
-13
32
6
-7
-80
56
0
41
13
45
0
-5
-22
0
8
74
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-10
0
0
0
0
0
0
0
0
144
0
0
0
0
0
0
-6
0
0
-12
0
0
-14
0
0
42
68
0
0
-13
-52
0
0
20
0
0
0
21
0
0
-5
0
0
-7
-40
0
0
-6
0
0
-1
-46
0
-168
61
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
-96
0
0
0
0
0
0
8
0
0
19
0
4
0
-123
0
0
19
0
0
0
65
0
0
-16
0
0
0
-53
0
0
-33
0
-3
3
-44
0
0
-1
0
0
0
16
0
0
7
0
-1
0
63
0
0
-7
0
-25
0
45
0
0
0
0
0
0
-48
0
0
0
0
0
0
-20
0
-17
-8
0
0
0
69
0
-5
0
0
-2
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
-8
8
0
0
0
-16
0
0
0
0
0
0
98
0
10
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
-23
0
0
0
0
0
0
0
4
0
0
0
0
0
91
-5
7
0
0
0
83
-48
0
0
15
0
0
26
-30
0
-15
-4
-65
0
-57
-31
-2
7
-35
0
0
67
32
0
0
34
-16
0
23
-50
0
0
41
0
0
85
131
0
2
-30
-10
0
2
1
0
2
1
0
0
0
24
-6
-6
0
0
0
-4
19
0
0
0
-2
0
0
-41
0
-10
-2
0
0
19
103
0
20
-44
0
0
-26
46
0
0
39
-7
0
-2
-19
0
-2
27
22
0
-59
67
0
-10
34
40
0
-4
15
0
-1
-46
0
0
-6
1
4
14
9
-9
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
-28
0
-7
1
0
0
17
15
0
0
34
0
0
0
67
0
-2
-25
-17
0
-5
-49
0
-1
-95
0
0
0
18
0
-11
8
0
0
0
21
0
8
61
0
0
-7
32
0
-13
0
0
0
0
-67
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-28
-12
-13
0
53
0
-37
-48
0
0
69
-3
0
-71
-115
0
10
-16
46
0
-54
-4
0
6
111
0
0
-10
50
0
0
-25
8
0
0
-22
0
0
63
0
0
1
21
0
-60
-3
-9
0
0
102
0
0
101
0
0
0
70
11
32
0
0
0
0
-36
0
0
0
-11
10
0
-155
0
0
0
-5
-28
1
-59
0
-1
-10
0
25
55
4
0
-7
27
122
30
-6
39
0
-10
-11
-24
9
6
-121
-26
50
-47
9
68
14
-21
10
-28
-12
-3
-6
0
63
0
-8
94
19
-261
0
-66
-7
0
0
13
13
0
-75
5
0
0
-2
0
0
-44
0
32
0
0
25
0
-9
0
0
10
-26
3
0
-24
0
-29
34
-1
1
-13
-18
0
-42
-43
-13
7
0
6
0
113
19
7
13
-2
1
0
-32
39
6
2
0
58
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-37
0
0
70
42
0
6
6
-9
-5
-163
0
-44
-35
0
0
55
-7
6
87
-73
-1
-21
-11
-71
0
-6
-8
0
4
22
0
-3
-12
-5
0
-3
7
-9
0
3
-18
0
6
-43
2
0
-37
1
0
-5
76
42
20
-51
0
43
34
26
70
47
0
-13
-24
14
0
43
0
5
16
14
0
0
9
54
-6
-44
0
0
102
-29
9
-16
-65
6
-4
-26
8
29
92
-44
-5
-30
-19
-69
23
35
15
-26
-28
-121
-46
-68
-96
48
-10
-9
81
-29
-75
24
2
17
-16
145
63
-30
11
0
1
52
-42
17
4
0
-51
-16
0
0
40
8
0
4
-9
0
1
9
9
0
-54
0
-99
35
-23
-26
47
11
0
-5
-67
9
105
-5
-76
0
-76
-16
110
-9
7
44
-2
-54
-11
46
37
1
-105
4
61
-4
57
23
5
-4
-31
14
41
41
-49
1
0
1
-45
17
-3
35
9
-145
-48
0
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
8
0
0
0
0
0
-56
0
0
0
2
0
0
-8
0
0
0
0
0
-13
0
0
10
46
0
0
-7
-62
0
0
-24
0
0
0
-23
0
0
4
5
0
10
-31
0
0
1
0
0
2
112
0
30
41
0
0
0
16
0
0
-10
0
0
0
73
-10
0
0
0
0
0
-63
0
0
0
0
0
0
48
0
0
0
0
0
0
6
0
0
18
0
0
0
-25
0
0
6
0
0
-2
-19
0
0
19
5
0
0
50
0
-9
2
-2
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
1
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
1
0
0
0
0
7
0
0
0
0
0
0
40
0
-7
0
0
0
0
-1
0
0
0
0
0
0
86
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
-30
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-9
0
0
0
-1
-14
0
0
0
0
0
0
-5
0
0
0
0
0
-5
0
0
0
-3
0
0
0
-1
0
-2
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
60
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
-9
0
0
-3
0
0
0
-1
0
0
0
0
-1
0
-21
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
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-52
0
-20
-30
0
-80
-23
0
0
-33
-10
-17
2
0
0
32
18
-95
3
48
-45
0
-6
10
1
0
-33
-1
0
0
65
21
0
-69
5
0
11
43
0
0
9
27
0
-20
0
6
0
4
8
0
0
0
-7
15
0
25
-57
54
0
0
0
0
18
93
0
0
-5
-65
-38
-55
0
0
-47
59
-61
-25
-83
0
0
-26
-8
-16
-41
-93
1
23
57
-39
-54
28
11
13
63
-74
20
-57
27
7
-11
-5
27
-4
-98
0
13
0
0
0
13
-68
0
63
15
3
0
-37
-183
0
-42
-38
0
0
14
7
0
89
0
0
0
-8
0
0
-33
0
12
38
0
-31
-9
-27
0
-21
-30
-16
84
-29
-23
0
21
87
0
50
-5
-134
0
-12
-14
41
38
0
-59
0
57
1
66
-56
0
-6
0
-1
0
27
123
0
26
0
-125
0
0
-42
0
21
-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
-33
0
0
0
0
0
-8
-42
0
0
20
0
0
-23
3
0
-4
-30
0
0
28
-84
0
0
-71
0
0
3
-20
0
0
19
0
0
7
70
0
0
-5
0
0
0
4
0
-20
-6
0
0
0
45
0
0
-3
0
0
0
3
12
0
0
0
0
0
53
0
0
0
0
0
0
77
0
0
22
0
2
0
-56
0
0
-1
0
-14
1
-43
0
0
62
0
4
-5
-59
0
0
89
0
-7
0
-135
0
0
29
0
0
0
18
0
0
7
0
6
0
3
0
0
0
0
-11
0
4
0
0
0
0
0
0
84
0
0
0
0
0
0
18
0
0
0
0
0
0
-83
0
0
7
0
0
0
18
0
17
-4
0
0
0
17
0
0
-10
0
0
0
18
0
-9
0
0
0
0
-46
0
0
-13
0
11
0
66
0
-11
0
0
8
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
8
0
-10
4
-7
36
25
58
0
38
13
0
11
40
-4
0
36
15
0
-26
-17
-40
0
-16
7
13
-11
-52
21
0
35
22
1
-40
-14
65
0
52
-15
-1
1
11
-23
0
49
-19
0
24
34
34
0
104
-63
63
4
-18
-6
0
0
-35
-115
45
7
41
0
1
-16
-99
13
65
93
0
21
36
0
14
62
-67
3
-44
17
0
-20
55
-40
0
12
22
54
99
33
-65
-20
-7
28
60
129
-2
10
0
30
22
7
73
69
61
0
38
28
0
35
-14
15
0
137
-87
31
53
10
71
0
0
-60
-36
-4
25
-5
0
0
-29
-67
0
1
1
0
18
2
6
-11
-32
24
0
-32
-29
45
-13
-11
-78
0
31
-27
-21
-100
-19
10
0
83
-15
-10
-9
70
9
0
77
25
0
64
-1
2
0
-51
108
7
27
33
77
0
-37
-45
-2
-31
-5
7
0
0
-12
41
216
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-65
0
0
0
0
0
0
0
0
20
7
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
-1
0
0
0
21
0
3
1
-6
0
0
13
0
0
0
0
0
0
-28
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-4
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
11
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
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
-1
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
-60
0
0
-3
0
0
-19
-37
0
-18
0
6
0
-51
45
0
0
25
0
0
-2
-76
0
0
20
14
0
32
-21
0
0
-43
0
0
5
59
0
-108
-7
0
0
0
-70
0
0
-11
0
7
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
9
0
0
3
-18
71
-4
-7
0
0
13
0
7
-1
-50
0
0
102
0
29
7
-59
0
0
77
3
-2
0
54
0
0
-2
0
6
-3
63
-1
0
-1
0
-40
0
-50
0
0
-2
0
-39
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-78
0
0
0
0
0
0
-10
0
0
-13
0
0
0
-41
0
23
13
0
0
0
-38
0
5
0
0
0
0
-16
0
40
-23
0
0
0
-24
0
1
0
0
0
0
-161
0
-16
0
0
-22
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
-3
0
-25
31
0
0
91
0
-1
68
-26
0
19
-5
-93
0
-82
-22
0
-3
39
0
20
-119
6
0
0
-30
-15
0
-13
-42
0
7
2
0
0
-22
54
0
-65
3
24
18
31
13
0
0
-25
-15
29
0
-104
0
83
-2
0
0
0
-4
-14
0
0
-21
-7
1
-4
0
0
-21
19
-46
13
36
0
0
-65
0
6
96
48
0
-3
4
129
-29
4
-39
0
-4
-22
10
27
3
-77
4
5
34
37
-1
-3
59
0
-17
-65
0
-145
0
43
0
-8
15
-10
-52
0
-66
0
0
0
0
-64
0
-21
-3
0
0
0
0
0
58
0
21
0
0
14
1
15
0
0
50
-17
13
9
6
0
18
10
-12
0
0
-19
0
3
-13
-9
0
0
13
0
72
7
14
0
0
23
0
0
-8
11
-1
0
31
14
28
-21
0
16
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-2
6
0
0
0
-26
0
0
-1
0
0
0
-42
0
0
0
0
0
0
-33
0
0
-1
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-56
0
0
0
0
0
0
-5
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
-1
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
-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
2
0
-1
0
0
0
0
0
0
1
0
0
21
9
0
0
7
-32
0
0
7
0
0
0
-57
0
0
1
0
0
0
-23
0
0
-1
0
0
0
27
0
18
0
0
0
0
-2
0
0
0
0
0
0
-68
0
0
0
0
0
0
48
0
0
0
0
0
0
5
0
0
0
0
-7
0
-4
0
0
0
0
2
0
4
0
0
0
-10
0
0
56
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
53
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
2
0
0
0
11
0
0
4
0
0
0
-6
0
0
5
9
0
0
-1
0
-11
0
0
0
0
-3
0
0
0
0
0
0
13
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
-37
0
0
0
0
0
-3
10
0
0
51
0
0
-7
0
0
95
13
0
0
-4
-58
0
0
-14
0
0
-10
-29
0
0
-5
-7
0
0
-83
0
0
-18
0
0
4
-8
0
38
-8
0
0
0
0
0
0
0
0
0
0
-18
12
48
0
0
0
0
129
0
0
0
0
0
0
-17
0
-9
0
0
24
0
-26
0
0
8
0
19
0
-42
0
0
-26
0
0
0
-32
0
0
-7
0
3
0
12
0
0
81
0
0
0
-185
0
0
39
0
39
0
-15
0
0
0
0
-236
0
29
0
0
0
0
0
0
-26
0
0
0
0
0
0
134
0
3
0
0
0
0
-126
0
38
0
0
0
0
131
0
-17
0
0
26
0
12
0
0
0
0
4
26
-14
0
-16
0
0
0
0
33
0
0
2
0
13
0
-62
0
-4
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
21
0
0
0
52
-34
0
0
16
0
0
57
44
0
87
23
-54
0
-52
-80
5
-1
-34
0
0
17
37
0
0
-33
1
0
-16
-64
0
0
38
0
0
-3
-53
0
-31
-55
-1
0
9
-154
-4
0
9
0
0
0
-1
-8
6
0
0
0
0
34
0
0
0
0
0
13
-2
0
0
4
2
0
8
47
0
0
50
0
0
94
80
0
2
7
113
0
-29
-48
0
-1
-3
0
0
-20
-39
4
-21
62
14
0
13
-1
0
0
101
0
5
0
-83
0
16
-13
29
8
0
-32
0
0
0
0
0
0
-20
0
2
0
12
0
3
46
0
-3
-3
0
0
4
4
0
0
0
0
0
0
51
0
-20
-19
11
0
0
-61
0
-6
5
-3
0
0
-4
-5
24
0
0
0
31
-42
0
-5
0
-45
0
0
37
-6
-40
-1
0
0
0
57
-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
29
0
0
0
0
0
0
5
0
33
0
0
0
-1
-19
0
0
-1
0
0
0
-118
0
0
-8
-1
0
0
-45
0
0
1
0
0
0
3
0
20
0
0
0
0
-9
0
0
0
0
0
0
-27
6
0
0
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
-59
0
0
13
0
0
0
-2
0
0
0
8
0
0
122
0
0
-4
0
0
0
80
0
0
-6
0
0
0
73
0
0
0
0
-1
0
0
0
0
0
0
-29
0
68
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
-14
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
43
9
-1
-44
8
74
5
-21
49
14
-14
24
-9
59
25
2
17
-26
5
-40
-96
38
-3
4
-10
26
26
28
-2
-10
44
27
3
-3
-25
34
-43
50
-5
-1
8
-35
-3
-36
-92
-34
-33
56
60
5
-16
84
6
55
17
5
-26
0
79
-80
22
39
1
-8
33
-60
-49
-65
20
0
-15
19
13
-119
-61
-17
-2
19
1
-72
-75
49
-17
26
14
23
-20
-50
25
-47
22
94
-3
18
13
13
11
22
37
-6
-46
60
17
38
13
-80
-23
-15
7
6
27
22
-127
-52
48
-98
-52
-46
110
9
0
-3
-55
52
36
-167
15
4
33
-4
88
-59
36
-15
-20
52
-31
-1
-16
7
110
12
54
-39
-41
-84
78
36
72
-93
40
-35
-49
41
-90
8
10
-7
91
30
-18
62
38
9
-41
16
-42
-64
12
-4
33
1
-29
-3
40
38
-10
-30
22
-1
-36
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
71
1
0
0
30
-3
0
68
-21
0
28
-26
4
0
-15
16
0
0
19
0
0
75
11
0
0
21
-12
0
-60
-24
0
-2
5
0
0
34
-55
0
-2
17
-2
0
-78
-85
0
0
34
6
13
0
2
-1
-5
0
0
0
0
-29
0
0
0
4
2
2
85
0
0
12
-3
3
8
23
0
0
28
-23
34
-6
5
0
0
12
132
83
4
-25
-5
28
-7
-10
-27
-6
-26
0
35
-61
-10
-6
-6
-44
0
-6
51
2
29
0
-69
0
0
-2
-17
-78
0
-47
0
0
0
-3
14
0
85
0
0
0
0
-1
0
-71
0
-18
-3
1
-6
1
2
0
0
60
-23
21
-4
80
0
34
85
4
-15
0
-48
0
3
27
3
0
0
74
0
-23
14
0
4
0
17
0
-16
-9
1
0
0
6
0
-53
0
0
8
0
57
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
0
0
0
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
0
0
-6
1
0
58
-10
0
-1
53
-51
0
-57
-5
0
0
-18
-17
0
2
-6
0
0
14
14
0
-1
-48
0
0
69
-28
0
0
-95
0
3
14
-9
0
-15
-103
0
0
-49
0
7
0
6
-1
0
0
0
0
0
-148
0
0
0
0
0
19
91
0
0
-12
-2
-40
2
-84
0
0
-8
0
64
0
29
0
-16
6
-5
38
2
14
0
0
-11
-18
-50
0
38
0
-1
-9
126
2
0
-37
0
8
-2
0
-2
0
7
0
0
0
0
-59
0
38
0
0
0
0
0
0
-34
0
0
0
29
0
0
-28
0
0
0
8
0
0
-94
0
-3
-2
0
0
0
-25
0
0
-4
-5
0
0
-31
0
0
-42
-2
0
0
26
0
36
0
0
12
0
-90
0
2
-3
0
15
0
-121
0
1
0
0
-9
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
72
0
0
0
0
0
3
0
0
-118
0
-1
0
-6
21
0
0
1
0
0
-8
61
0
0
10
0
0
54
-26
0
0
79
0
0
0
-64
0
34
0
0
0
0
-38
0
0
0
0
0
0
-23
0
21
0
0
0
0
-146
0
0
0
0
0
0
-1
0
0
0
0
-12
0
-13
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
0
0
47
-33
-9
0
-19
0
0
-10
0
11
0
29
0
0
0
0
-7
0
15
0
0
0
0
-1
0
-47
0
0
0
0
0
0
-85
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
23
0
0
0
0
-18
0
0
0
0
0
0
19
0
1
0
0
0
0
-54
0
0
3
0
0
0
61
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
56
-2
0
0
62
0
-6
32
-185
0
-18
-24
0
0
25
-57
0
0
-52
0
3
-13
-27
0
0
-58
0
0
-30
44
0
0
21
0
0
48
-65
0
26
-20
0
0
41
-137
0
0
-18
0
-2
0
-24
-24
40
0
0
0
0
38
0
0
0
0
-17
29
83
0
0
25
0
49
73
-68
0
15
8
0
73
-1
-27
0
-3
-44
0
21
23
-80
0
0
42
0
24
73
74
21
-3
-52
0
-1
-6
-6
0
1
99
0
-41
19
-52
0
0
20
0
93
0
-43
-5
0
0
0
0
0
-4
0
0
0
0
0
-11
-63
0
25
-10
0
23
8
-46
0
-2
-37
0
8
-2
-7
0
39
85
0
26
1
-8
0
0
122
0
-2
0
-21
0
-14
105
0
-1
0
31
0
5
77
0
-7
0
-10
-3
30
98
0
-46
0
-30
-22
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-5
-52
0
0
0
0
0
0
1
0
0
0
0
0
0
-82
0
0
9
0
0
0
-22
0
0
0
0
0
0
-28
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
-3
0
0
0
0
0
0
-4
0
0
18
0
0
0
2
0
0
0
0
0
0
9
0
0
-21
0
0
0
8
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
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
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
22
65
0
-37
-57
8
-7
-14
53
0
1
-20
0
0
-31
-23
0
6
8
16
0
38
-23
0
0
-1
0
8
-83
2
0
-38
-79
9
47
23
-68
6
-1
22
0
12
0
21
-54
-50
0
0
0
0
-15
8
0
1
0
8
0
76
0
1
50
-30
-90
0
4
0
8
39
0
-110
-5
15
0
14
99
-121
-10
5
-40
0
-8
-23
40
-6
5
-38
14
-34
-48
-1
-15
-23
-17
0
-1
49
-2
-40
-1
-52
6
0
20
10
-20
0
55
11
0
0
0
105
0
-28
14
0
0
15
0
0
11
3
-9
0
-1
-2
0
-31
0
0
-96
16
3
0
86
0
9
-47
-1
6
0
-4
0
27
-12
-24
-10
-3
42
0
-18
115
2
9
23
68
-2
10
-40
-8
-68
0
-15
0
33
0
0
134
0
66
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-24
-5
-47
-27
-35
-9
-39
0
7
-162
-4
-29
23
-46
49
31
-6
62
21
-1
-19
-48
-6
-22
-70
-7
1
-70
-9
-3
-32
-12
-25
-25
-5
-7
-49
-12
43
16
-24
34
24
-51
133
-44
-25
-26
-115
-46
29
26
39
-66
0
57
-41
71
-29
21
9
5
-69
115
3
9
27
-19
-17
-29
-45
-26
-102
45
-1
-6
-35
30
-19
-35
-47
9
-3
-33
-3
14
-36
62
-34
17
33
35
17
-17
4
28
0
68
-7
-6
-13
40
-9
7
-37
-4
-61
1
-8
20
-36
46
4
-60
-91
14
-16
0
0
10
-27
-12
89
-45
-14
-9
75
-40
-27
22
-18
-12
-149
-31
8
-120
43
-48
-56
14
-58
-88
-16
-40
-44
0
94
-13
46
-3
81
19
9
-37
-45
-6
-25
-58
-38
17
26
-28
-39
-47
15
11
7
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
3
0
0
0
62
0
0
18
0
0
0
23
0
0
0
0
0
0
-7
0
0
12
0
0
0
29
0
0
0
0
0
0
81
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
0
0
0
0
0
0
-60
0
0
0
0
0
0
-11
0
0
0
0
0
0
-35
0
0
0
0
0
0
-8
0
0
31
0
0
0
40
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
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
34
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
2
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
1
0
0
0
0
7
0
0
0
0
0
0
-18
1
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
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
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
5
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
2
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
33
2
-31
-6
38
0
-32
-9
0
21
-1
-6
0
-50
33
0
2
-26
-76
0
-4
-43
0
-9
-67
28
-1
-11
-11
0
3
-49
14
7
106
10
0
0
-11
28
-42
0
34
-50
110
0
0
3
0
-35
46
0
0
0
118
-11
130
0
-1
0
2
88
-1
37
0
3
9
-7
46
-7
22
0
-19
23
106
11
-1
-12
21
46
-27
91
86
-23
-51
8
-16
87
45
33
57
4
10
-1
1
80
43
0
15
0
26
75
-8
58
0
46
2
0
0
29
-114
0
-5
-33
1
0
-15
0
0
100
0
26
0
-6
-14
-2
-15
33
1
-1
65
-17
-3
18
0
8
-25
45
-3
0
-86
0
37
68
-38
28
12
71
-19
7
-2
33
-10
0
23
-11
-6
-16
-2
-30
0
22
0
-77
6
-8
69
0
32
-37
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-155
1
0
0
-2
34
0
0
2
0
0
0
52
0
0
-3
0
0
14
19
0
0
-12
0
0
0
-14
0
33
-5
0
0
0
45
0
0
-13
0
4
0
56
-2
4
0
0
0
0
-75
4
0
0
0
0
0
6
0
0
-16
0
-42
16
25
0
0
-15
0
11
1
52
0
0
-7
3
-6
8
-28
0
0
-4
0
-1
0
10
0
0
17
0
34
0
-15
0
0
-21
0
-3
0
9
0
0
0
0
-87
0
-45
0
0
0
0
0
0
92
0
0
0
0
0
0
-104
0
-2
0
0
0
0
-36
0
0
0
0
-7
0
-4
0
-38
0
0
0
0
8
0
0
1
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
-1
0
-27
0
44
0
0
20
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-42
7
0
0
2
8
0
0
-11
0
0
12
-74
0
0
18
0
0
0
-4
0
0
7
0
0
0
-96
0
-41
-17
0
0
24
-4
0
0
-11
0
0
0
-30
0
0
0
0
0
0
-93
0
0
0
0
0
0
43
0
0
0
0
0
0
158
0
0
-5
0
0
0
28
0
0
0
66
0
0
-32
0
0
-5
0
0
0
-17
0
0
-2
0
0
0
69
0
0
13
0
0
0
-6
0
0
-2
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
64
0
15
0
0
0
0
-7
0
0
-6
-23
0
0
4
0
1
6
0
0
0
9
0
0
18
0
0
0
-1
0
-12
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-33
0
-9
-73
-11
3
81
-15
0
11
18
-54
-29
-79
14
0
-2
16
14
0
-61
-26
-1
-5
-2
-129
2
13
40
122
5
-87
30
99
0
-39
-1
51
0
0
8
0
-43
-33
1
-3
-1
25
0
7
-3
64
7
31
146
0
-4
0
28
10
85
21
21
33
-21
6
39
0
-28
-15
7
43
54
44
176
31
52
41
-6
-55
11
89
-34
72
-4
-6
96
41
2
53
1
-3
4
-13
-31
1
22
3
-38
11
6
0
28
-1
0
52
-51
5
0
9
0
-9
-5
7
82
118
-6
29
25
-23
-16
31
-67
0
-62
0
29
-4
-10
-42
32
2
5
-7
16
65
57
69
-34
1
-18
7
-30
-127
78
-17
1
-3
0
60
38
-53
90
-7
33
9
6
39
-19
-42
0
-24
-15
-21
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
-4
45
-15
0
-35
-49
-1
1
-26
57
0
96
11
0
-4
10
0
16
98
-45
5
-1
-13
-19
0
66
-26
0
0
17
0
-27
0
-10
71
-44
0
0
0
0
10
6
0
2
0
-19
55
-30
0
0
-34
-76
17
6
0
2
72
-28
4
-55
7
11
0
15
5
-44
70
34
40
0
-28
41
-81
-3
14
-21
-2
-12
39
-55
17
-14
12
-8
-15
79
-8
-12
7
-95
2
6
-20
-52
30
0
73
-3
0
0
0
-14
0
-24
7
0
0
0
0
3
-71
0
67
0
-12
5
3
0
0
-2
-23
-14
-7
-14
9
0
-18
113
13
8
8
11
0
-8
-79
51
-3
-66
-102
0
-15
-7
-19
2
0
18
4
-11
43
67
64
2
25
0
78
-1
0
-105
0
81
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
-8
-3
0
0
-51
0
0
0
0
0
0
-110
0
-39
14
0
0
0
8
0
0
0
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
14
0
-10
0
0
0
-5
0
0
-7
0
0
-3
0
0
0
12
0
25
-5
-1
0
0
25
0
0
0
0
-27
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
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
5
0
0
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
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
-26
-91
45
13
-43
-3
-42
23
-18
-15
25
-16
7
-31
7
-59
45
-13
62
-6
-15
3
18
48
25
1
64
49
32
1
-58
10
0
21
-7
31
27
-104
-26
-25
-2
-3
25
-96
-8
16
-103
-23
-69
-48
9
-26
22
-88
9
-18
-40
0
5
47
-160
-18
22
25
-85
-51
12
-25
64
-11
16
19
-63
-9
4
24
-13
2
9
-53
46
-37
12
-21
-3
14
58
33
-52
47
-34
9
72
61
20
45
28
51
24
-65
-21
-53
-88
60
-3
21
-5
6
-18
-38
-14
-61
26
-75
4
-3
-48
27
-13
6
37
97
-8
94
69
47
-20
-3
-29
-30
-33
14
-30
10
67
-41
53
77
77
-112
-21
-93
20
86
-42
50
-26
-6
30
89
19
-35
12
13
2
18
-20
19
-81
34
7
30
-38
-21
-49
28
-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
45
-13
26
11
21
2
2
-74
8
0
22
-85
-29
16
24
79
0
13
1
-74
-5
-86
28
-1
5
3
5
-7
0
29
5
9
-60
-53
-33
10
-2
-116
-42
0
-92
-5
0
36
-29
-10
5
-79
32
75
-16
-6
-17
0
45
26
1
12
0
-73
3
35
73
-19
-34
-61
8
-50
28
-74
-26
6
15
-34
4
-66
62
-30
33
-5
1
-6
-112
0
11
56
-17
0
13
56
16
12
9
-2
31
-6
50
47
-7
22
-33
6
-5
7
71
0
19
-55
0
-1
-10
28
2
47
-21
-74
3
7
77
-16
31
-2
11
-3
-79
162
29
-51
13
-98
47
12
23
-22
54
-2
-26
-76
43
-26
50
50
1
-20
33
-9
-23
94
-8
52
91
-2
-39
4
-1
-5
0
-64
-46
12
23
0
1
-141
10
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
-40
0
0
-8
-59
0
10
-72
0
0
22
-9
0
0
3
0
0
-6
-47
0
49
61
0
-3
69
-67
0
-3
-27
0
-32
0
-7
63
-93
0
0
0
1
0
-22
0
0
0
10
13
-22
0
-3
48
0
-76
-34
-27
0
0
-18
0
-115
-79
-3
0
-22
-37
-3
38
-7
8
0
-17
96
-38
-39
5
-47
-1
-20
6
-5
13
117
-22
0
38
88
-3
23
-24
-8
41
-5
-7
0
14
0
51
0
9
0
-9
-62
0
-14
-60
0
0
0
15
0
-23
0
140
-31
0
52
21
36
0
13
-37
0
3
7
49
0
-34
38
0
-15
0
34
-2
17
13
0
34
-1
-68
0
63
42
15
2
0
-20
0
3
172
0
132
20
9
0
38
-14
0
3
0
-3
45
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-70
0
0
-5
0
0
-3
-20
0
0
0
0
0
0
12
0
-7
7
0
0
0
-68
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-27
0
0
-1
4
0
0
17
0
0
8
0
0
0
-11
0
0
-3
0
0
0
11
0
0
0
0
0
0
12
0
0
0
0
0
0
-97
0
0
0
0
0
0
-26
0
0
0
0
0
0
-9
0
0
0
0
0
0
-35
0
0
0
0
0
0
-10
0
0
3
0
0
0
-1
0
0
0
0
0
0
11
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
-75
-28
0
-3
17
25
21
-49
57
-3
20
44
-4
-76
-70
64
0
-4
8
17
19
41
-33
-40
-4
113
9
31
0
41
119
-45
3
-4
-15
-4
-12
38
-9
0
18
6
24
-9
-46
-25
-44
3
31
112
33
0
73
-33
7
23
30
21
8
111
-31
21
0
11
-42
-27
-28
-16
-30
59
-44
-33
32
26
-89
7
-10
19
47
-25
0
-46
0
-47
119
17
36
-110
-5
-2
70
0
5
-18
30
-2
0
-24
0
-4
-81
-3
13
41
27
-16
-68
7
35
-46
0
-18
23
1
0
23
-1
142
5
57
54
-4
39
-78
56
-20
3
21
16
2
24
36
10
32
27
0
47
35
-1
-18
-41
33
-14
-46
-88
-137
6
10
21
-31
-70
137
0
7
0
18
15
-17
15
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
39
9
10
50
36
-41
-115
-26
36
67
-26
54
-4
-34
67
-22
12
10
29
-30
-30
64
-32
15
-21
31
64
-40
-16
-8
-16
-30
12
42
-18
-45
6
-15
-4
43
-70
-23
-80
-13
5
18
8
-37
4
-63
-16
-57
74
-64
11
-49
-161
0
109
-40
1
-23
-91
-85
1
-55
29
11
56
76
-116
1
-79
-119
-65
2
20
43
6
158
1
-1
-13
11
33
-35
-15
-46
-30
58
27
5
-15
-69
-96
-14
48
-13
-69
-26
14
-72
-30
14
63
23
-9
-66
11
-118
13
39
23
23
-30
-153
28
-43
-22
70
0
110
10
17
77
-2
-29
-18
61
6
-5
-31
-83
-64
-15
59
42
-21
-16
39
-40
11
4
-40
38
0
-20
84
-3
-33
-36
-5
28
-62
11
-23
12
44
-28
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
-3
12
0
0
18
0
0
-5
6
0
0
0
0
0
0
-13
0
-17
0
0
0
0
1
0
0
0
0
0
0
-113
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
40
0
0
0
0
0
0
-46
0
0
0
0
0
0
44
0
-7
-4
0
0
0
39
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
2
0
0
0
0
0
0
11
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
-25
0
-1
0
0
0
0
50
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-68
0
0
28
6
0
-1
64
0
0
-10
0
2
-10
-92
0
39
24
0
0
-2
99
0
0
0
0
1
0
-30
9
0
0
0
0
0
-11
0
0
0
1
0
0
61
0
0
0
3
0
-3
-26
0
0
-1
0
-11
0
15
0
0
0
3
0
-5
-17
0
-7
-15
0
-15
22
58
-1
0
-19
0
0
-2
21
0
-3
-12
0
-16
-15
21
0
-9
0
0
53
0
-132
0
0
0
0
0
0
6
0
0
0
0
0
0
50
0
-1
0
0
0
0
-104
0
0
17
23
0
0
50
0
-7
0
0
0
0
5
0
0
18
-2
0
0
-26
0
0
32
0
0
-8
57
0
5
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-9
40
-17
64
-13
-2
6
0
7
-26
-1
0
28
71
0
23
-16
25
-3
-45
35
-1
-3
65
-2
-35
0
44
-26
-32
0
14
0
0
33
-81
6
0
0
-6
-68
-46
0
-7
49
8
4
39
16
9
-34
19
4
-7
-83
-35
0
38
-70
42
56
90
29
-18
6
38
1
143
-127
-7
-9
7
-84
-130
1
-52
32
0
10
-77
-4
7
70
-20
-12
32
31
37
42
0
55
-43
-1
0
3
12
0
29
8
12
0
82
-1
-35
-3
0
-46
47
-2
19
54
-12
0
-8
-14
136
-129
3
-20
-1
24
89
-6
5
-76
-81
7
-21
18
106
-4
-110
-15
-15
22
43
-10
1
3
12
0
48
-48
43
-40
20
-2
11
29
33
0
-21
0
52
-14
17
-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
-51
0
0
0
0
0
0
-62
0
0
-4
0
0
0
-46
0
18
1
0
0
0
22
0
0
22
0
11
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-103
0
0
0
0
12
33
54
0
0
-3
0
0
0
93
0
0
5
0
0
0
15
0
0
-4
0
0
0
-17
0
0
10
0
0
0
-9
0
1
0
0
-16
0
10
0
0
0
0
7
0
-99
0
0
0
0
0
0
-15
0
0
0
0
0
0
24
0
8
0
0
0
0
-59
0
0
-6
0
0
0
-16
0
-13
0
0
0
0
-1
0
0
0
0
0
0
41
0
16
0
0
0
0
16
0
0
0
0
0
0
-56
0
0
0
0
7
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
-7
20
0
0
-2
0
0
0
21
0
-57
5
0
0
0
6
0
0
0
0
0
0
-58
0
0
0
0
0
0
24
0
0
0
0
0
0
45
0
0
0
0
0
0
82
0
0
0
0
0
-7
-1
0
0
7
0
0
-10
75
0
0
12
0
0
0
46
0
0
12
0
0
0
50
0
0
0
0
0
0
1
0
1
0
0
0
0
-24
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
5
0
0
0
0
13
0
0
0
0
0
0
-21
0
0
0
0
0
0
9
0
0
3
0
0
0
-3
0
-6
-9
0
0
0
-29
0
0
0
0
0
0
-34
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
66
-33
1
17
23
7
0
11
101
0
26
39
1
-3
10
-52
-2
7
-21
0
133
0
-30
0
88
0
2
7
1
-42
-40
0
3
-10
6
48
-38
0
-36
9
-4
-28
12
16
0
-2
3
3
49
-25
46
-5
0
-16
37
-7
25
-12
0
59
-87
0
-2
29
-18
1
12
42
11
44
-16
35
0
-22
75
2
-40
-6
-29
-2
-4
-12
14
32
0
-53
0
42
0
6
0
18
-68
2
0
0
16
0
12
-42
0
87
-1
0
-18
1
15
0
27
2
-7
-9
49
27
0
-27
-65
0
-20
0
73
-9
42
-45
18
0
0
37
0
139
-19
0
0
-6
-44
2
26
-56
-25
0
0
-16
0
-89
11
0
-30
0
-15
-21
1
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-23
10
-47
4
73
28
31
-89
0
22
-55
-138
-6
89
-20
-22
30
-34
-12
17
4
-64
27
24
11
-47
44
-7
76
-82
57
88
-3
-55
38
-1
-91
58
-28
-3
-11
-6
-54
-33
28
-79
13
-70
-9
-77
-45
5
-16
23
30
0
7
73
35
38
-30
-50
29
6
-23
-33
49
-9
-22
-3
-50
4
-61
37
8
60
-37
-1
-91
20
-26
12
-20
-8
-66
-33
2
18
-49
-42
-46
26
25
-73
-48
2
-29
-15
-22
-17
-64
-71
-63
113
14
92
89
7
-66
-56
-14
8
-102
-34
-3
-11
-20
-9
0
43
26
47
36
118
-23
-1
-50
17
-70
-5
10
-58
15
71
-16
-7
91
-44
-24
-35
-54
3
13
44
-10
27
-56
-45
16
-11
-28
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
71
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
24
0
3
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
-2
0
0
-3
5
0
0
-1
0
0
0
11
0
0
0
0
0
0
-6
0
0
1
0
0
0
-22
0
0
0
0
0
0
-46
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
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
14
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
-35
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
-5
-26
0
0
-4
0
0
0
13
0
-3
-11
0
0
0
39
0
0
0
0
0
0
63
0
0
0
0
0
0
-91
3
0
0
0
0
0
-2
0
0
0
0
18
3
-3
0
0
11
0
0
-5
-86
0
0
0
12
-3
0
6
0
0
-3
0
0
0
33
0
10
14
-2
0
0
-187
0
0
2
0
0
0
7
0
0
0
0
0
0
-81
0
0
0
0
0
0
35
0
0
0
4
0
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
16
0
-4
-1
0
0
0
-81
0
-3
20
0
0
0
-5
0
6
2
0
0
0
6
0
0
-10
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
58
-45
-30
-3
-79
19
0
-11
21
-87
23
-7
5
61
33
-39
30
-10
0
23
-58
26
0
36
8
0
28
-73
1
1
25
-9
-30
30
11
-34
103
23
-19
19
-25
10
-1
-25
-3
-20
128
18
3
22
-58
-1
-51
14
34
-12
5
20
0
-14
31
20
52
102
-36
76
-48
-1
-5
0
-57
4
-11
-25
32
4
16
-28
-18
55
-22
0
33
14
1
0
6
48
0
8
119
0
23
55
0
-7
34
16
-40
50
15
81
-58
-16
0
55
50
-54
28
-44
-9
45
52
18
114
7
104
0
95
46
-72
92
1
77
2
37
34
-58
1
-58
-44
28
6
34
-4
28
-37
18
12
3
37
5
13
-24
0
-1
72
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
34
0
9
44
-26
0
28
-80
0
-15
-13
-54
4
0
-2
0
-53
0
-23
-75
-7
0
0
0
0
-21
27
0
0
0
0
1
-70
0
0
-21
0
6
2
21
0
-6
21
0
42
-104
65
0
-4
76
0
-33
43
-22
0
-15
70
0
1
21
30
0
-10
71
0
-12
-4
-28
-7
-25
-13
0
70
0
76
0
39
-12
0
40
0
19
-1
-19
0
0
-2
0
-57
9
0
0
0
0
1
-21
0
-95
10
0
0
-24
44
0
-2
21
0
0
10
0
-5
-11
-56
2
0
5
1
0
-20
-125
18
0
-4
9
-4
34
-56
0
0
0
-15
11
-3
-4
0
10
0
39
0
-21
7
0
-40
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
58
0
0
-5
0
0
-6
29
0
36
0
-1
0
0
4
0
0
-3
0
0
0
22
3
0
0
0
0
0
18
0
0
0
0
0
0
-27
0
0
0
0
0
0
-137
0
0
0
0
0
7
-45
0
0
-9
0
0
0
-59
0
0
4
0
0
0
-26
0
0
-11
-2
0
0
-71
0
0
0
0
0
0
11
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
6
0
0
0
0
-22
0
0
0
0
0
0
10
0
0
0
0
0
0
-41
0
0
2
0
0
0
-50
0
0
6
0
0
0
-3
0
0
0
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
5
18
0
14
21
41
9
-9
-49
4
4
4
-1
-24
0
22
51
-55
0
-12
0
-1
22
-42
0
1
10
15
67
13
0
68
-65
-131
8
-21
26
0
1
28
-28
-94
4
-63
-1
15
5
34
-25
-10
15
19
-43
22
-16
-85
8
-3
0
60
-52
17
-1
8
18
-2
45
16
0
9
-9
-2
64
24
34
66
16
0
37
8
-13
0
0
-37
0
27
-51
0
9
16
0
-2
60
-3
19
-2
-8
5
22
31
0
13
23
57
0
-19
-83
22
29
-19
23
2
-8
103
-2
3
-3
-28
0
0
-34
-5
-12
-21
5
2
7
-9
28
-31
-36
39
1
4
21
0
48
16
0
36
0
31
-36
-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
-73
-23
16
-5
-44
-28
-17
-22
2
-8
-13
33
64
-115
-5
-20
9
12
-51
-47
51
-37
6
-46
-57
-44
4
-34
28
7
-17
-59
-9
25
20
-13
11
30
-26
12
28
-32
-31
-2
52
-35
-38
11
24
90
-19
-13
-52
-29
-46
23
6
0
57
-52
-14
-31
-14
13
-12
-9
-38
3
-12
23
49
-21
-123
-59
57
-30
-9
21
-7
173
-27
27
41
-17
-17
69
53
-96
-140
-39
4
40
-23
18
-92
42
-20
14
-41
25
-159
18
-6
-29
21
-10
25
-39
9
-39
-5
-9
44
-49
-43
17
2
19
36
19
0
-169
1
15
86
21
40
-40
-6
33
-11
17
46
-28
-28
-42
-37
50
-32
9
-29
0
70
22
-72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
82
0
-14
8
0
0
0
8
0
0
0
0
0
0
-51
0
0
0
0
0
0
-82
0
0
0
0
0
0
15
0
3
-1
0
0
0
-19
0
0
-2
0
0
0
14
0
0
0
0
0
0
-38
0
0
0
0
0
0
68
0
0
0
0
0
0
-69
0
0
0
0
0
0
31
0
0
0
0
1
0
-51
0
0
0
0
0
0
1
0
0
0
0
0
0
-26
0
0
0
0
0
0
-22
0
0
0
0
0
0
-16
0
0
0
0
0
0
9
0
0
0
0
0
0
-137
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
69
0
17
0
0
1
0
-28
0
0
0
0
0
0
37
0
0
0
0
0
0
17
2
0
0
0
0
0
66
0
0
11
0
0
0
81
0
0
1
0
-22
-1
20
0
-3
4
10
28
-25
-128
0
0
-45
3
2
3
-4
0
0
-40
0
47
0
26
0
0
0
0
0
0
4
0
7
3
0
48
0
-35
0
0
0
0
0
0
-14
0
0
0
0
0
1
-17
0
0
7
0
0
0
2
0
0
0
0
0
0
-3
0
-8
0
4
0
6
-6
0
0
5
-3
0
0
-32
0
9
-4
0
0
0
-41
0
0
-1
0
0
0
19
0
10
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
-26
-42
-44
49
-15
22
-11
-9
-4
17
0
-12
-14
20
0
15
3
3
-25
-5
-4
0
14
4
-66
-17
-46
47
1
0
43
136
20
0
12
38
-25
73
-27
42
-44
-28
-27
12
18
-55
29
63
-4
-39
13
-66
3
4
-4
55
52
-83
-12
45
13
-6
25
8
4
119
-29
-12
-16
-11
14
2
47
0
-5
-38
35
0
-1
3
0
-11
-9
-1
0
-5
-2
-12
9
-19
-133
17
11
-4
-41
1
16
108
13
-79
-5
1
-10
6
-29
-33
-33
-121
-35
-21
42
4
127
-20
14
21
-11
-9
-2
96
-16
26
14
-11
38
-8
-2
31
104
1
-29
4
57
-13
3
62
0
13
-9
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
-54
0
-25
-1
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
27
0
0
0
0
0
-3
4
0
0
0
0
0
3
-110
0
0
-4
0
0
0
-21
0
0
46
0
0
17
18
0
0
18
0
0
0
-9
0
0
-7
0
0
0
81
0
0
2
0
0
0
22
0
0
-3
0
-9
0
23
0
0
0
0
0
0
57
0
0
0
0
0
0
2
0
0
0
0
0
0
-43
0
0
0
0
0
0
3
0
13
-13
0
0
0
8
0
0
34
0
0
0
-29
0
0
0
0
0
0
-22
0
0
-5
0
0
0
0
0
-7
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
13
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-30
0
0
0
0
0
0
51
0
0
0
0
0
0
-66
0
0
14
0
0
-4
-113
0
0
-23
0
0
3
-132
0
0
-23
0
0
0
-24
0
0
6
0
0
0
91
0
0
-1
0
0
0
55
0
0
0
0
0
0
-153
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
16
0
0
0
1
6
0
0
1
0
0
0
-19
0
0
13
0
0
0
-7
0
0
-1
-6
0
0
-22
0
0
-2
0
0
0
-43
0
1
0
0
0
0
4
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
72
0
-13
39
12
18
0
-14
19
-29
9
-4
0
0
0
-13
0
0
19
53
-10
89
0
6
167
58
-11
-17
-11
0
-55
10
0
-138
83
22
17
-20
21
42
-20
2
27
-11
-9
-44
-78
-108
12
-16
26
-2
81
74
-94
0
-31
3
27
112
0
-84
0
-3
1
31
52
0
66
0
-22
-3
-2
0
-48
20
0
-33
-1
0
0
9
0
0
-2
0
-67
0
11
14
3
64
0
1
-137
-128
13
-13
13
0
-15
73
1
21
-19
55
9
10
-7
10
-16
-26
27
0
91
63
-8
7
0
16
-6
87
-16
-14
-15
0
35
0
-23
0
0
-82
0
-9
46
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
-35
38
23
-13
29
-58
-111
1
-34
-70
36
138
-57
17
-11
15
-68
10
19
-34
-15
50
19
-2
28
51
42
-17
4
-30
7
12
73
-8
-2
-37
-25
85
-29
-6
-67
18
-61
-15
60
-58
-14
-68
-78
43
28
-140
104
12
-19
38
2
0
-43
-48
-110
-18
24
-65
23
-22
-96
52
-34
-7
-6
-34
-47
-13
1
-155
-83
-8
21
-10
-28
10
24
2
102
22
0
16
87
-56
9
2
-28
-11
-38
47
15
-9
34
31
-23
-54
-4
7
-32
65
-26
-83
-6
9
13
10
-11
21
25
22
16
33
-42
-57
0
-86
8
-21
-128
-26
18
51
-12
73
52
-24
13
15
5
76
32
-3
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-40
0
0
-12
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
42
66
81
-113
-3
34
-69
-4
-6
-89
-6
8
-2
6
-5
-27
-51
-46
142
-7
23
7
90
17
37
-5
-1
-3
-107
-38
-60
15
-67
0
15
-60
17
-16
-43
-51
-17
107
-22
-2
47
46
10
12
55
-15
24
24
49
-32
39
-2
1
68
97
33
28
12
-16
23
30
46
12
-5
-5
-5
11
-15
56
134
0
23
10
-2
67
-13
71
-27
-8
-63
50
10
91
-17
-7
-35
25
-9
11
-35
35
-142
-76
23
-3
-42
-43
4
-80
15
10
-2
-67
40
56
37
16
5
32
8
-24
-4
-40
-35
20
-23
-29
25
66
21
37
-40
-199
-102
-52
-51
-1
23
-45
-26
5
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
-95
2
0
23
0
65
45
0
41
20
172
0
21
0
0
-36
-64
47
-2
-90
80
19
4
-9
34
19
-36
-6
-56
-20
-6
-11
73
2
21
-91
-37
-15
21
24
22
-43
-104
14
-7
-78
64
-54
-64
64
-67
14
-86
-147
13
-48
0
-50
11
9
-37
2
-7
-31
-16
3
36
0
46
38
0
24
-21
-5
0
-2
14
0
35
17
0
-5
-19
10
1
-7
-8
27
77
9
89
14
14
0
11
62
-69
42
17
-31
1
-104
57
50
6
73
-76
-3
70
19
-22
-80
-5
-7
10
21
26
67
15
-2
-61
32
152
0
-6
-3
-14
23
-17
128
0
-11
59
0
-7
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
9
3
0
2
0
-25
-1
-2
0
0
0
0
-19
0
0
21
0
0
-2
92
0
0
14
0
-37
2
-29
0
0
10
0
-12
47
-24
0
-1
74
0
25
-15
-23
0
15
-56
0
-7
0
19
0
0
34
0
48
19
-5
0
-2
-16
0
-19
0
24
0
23
33
0
10
0
44
8
-2
14
0
-21
0
25
-2
0
0
0
0
0
13
0
4
5
0
0
0
-49
0
0
-5
0
0
0
-4
0
23
-8
0
54
0
-35
0
8
36
0
0
0
73
0
-42
14
0
2
0
-6
0
1
80
0
-1
0
58
2
-14
0
0
0
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
3
0
0
0
0
0
-37
0
0
0
0
0
0
65
0
0
-15
0
0
-20
24
0
0
-4
23
0
-1
-39
0
0
27
0
0
0
45
0
0
0
0
0
7
23
0
0
-9
0
0
0
19
0
0
-15
2
0
0
9
0
1
0
0
0
0
0
3
0
0
0
0
0
-2
0
12
0
0
0
0
-21
0
1
-11
0
0
11
-24
0
-9
-15
-19
0
0
25
0
0
8
-1
0
0
-34
0
-14
6
0
0
0
-40
0
3
13
1
0
0
-46
0
15
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
-19
0
21
0
0
39
0
0
0
0
0
-1
-66
17
0
-19
24
-35
-38
-26
0
0
10
-2
22
-55
13
0
2
65
20
14
-19
-122
-1
-7
-22
18
-11
0
-58
7
2
-74
-62
174
0
8
0
-14
25
44
-191
0
87
0
23
-42
-6
-122
0
-89
0
0
0
0
-2
0
42
0
0
0
-28
5
0
-66
0
24
-1
0
-8
0
26
0
0
9
-3
-24
0
0
0
82
23
-10
-4
3
-101
0
2
1
-37
13
0
-2
1
-8
21
0
-4
0
55
0
2
68
-4
-3
0
97
0
4
0
0
-4
0
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
-9
77
-5
0
0
-18
-37
0
5
93
-41
88
-53
-11
12
17
-63
35
-29
-39
0
10
-2
26
23
-8
17
-13
-30
20
-79
23
-16
65
-66
-117
18
92
20
-64
9
-43
-98
-33
-86
-41
19
44
-92
7
103
-104
6
81
0
-78
17
-31
38
7
0
17
-57
-11
-3
-65
70
-2
-51
-126
6
22
-29
51
-48
-57
-4
-11
-87
57
12
23
18
14
-32
-23
8
44
-75
37
-5
33
68
45
33
-58
87
-21
-38
-32
-40
-8
9
-27
-8
-57
20
13
28
-64
44
100
-11
-60
-8
-43
34
0
10
52
3
-6
-15
1
36
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
-9
1
0
-61
0
0
2
0
0
4
48
0
0
12
0
0
1
7
0
0
111
0
0
0
60
0
-2
7
0
0
0
127
0
0
0
0
0
0
-9
0
0
0
-1
0
0
-45
0
0
0
0
21
0
-3
6
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
2
-4
0
0
0
35
0
10
0
0
0
0
-11
0
22
-12
0
0
0
66
0
0
0
0
0
0
54
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
0
0
0
0
0
0
57
0
0
0
0
20
0
-17
0
0
0
0
0
0
-35
0
0
14
3
0
-3
-19
0
0
14
3
0
26
-12
0
0
18
0
0
0
-48
0
1
74
0
-34
0
3
0
0
0
6
9
0
-33
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
26
0
0
9
0
0
0
0
0
-11
0
0
0
0
-58
0
0
-27
-8
0
0
1
0
0
1
14
0
0
1
0
0
-59
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
134
-1
0
1
0
0
-20
-4
0
0
0
6
-20
-59
0
0
4
19
-41
-5
-40
0
0
10
-10
8
32
-50
0
-76
73
-42
-34
0
55
0
3
8
63
5
-4
-1
-9
-14
6
33
31
-7
-21
0
1
-7
0
-27
0
9
0
9
0
-6
27
0
35
27
0
0
0
-19
0
9
0
0
0
13
0
4
-33
0
-93
-5
0
-5
3
8
0
-2
-4
-24
-118
0
-9
0
-38
32
0
-3
-2
28
0
11
4
1
-14
0
-74
0
0
2
44
4
0
127
0
15
59
13
-4
0
13
0
17
0
0
35
0
45
-1
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
-33
12
2
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
-9
0
20
0
-23
0
0
24
0
14
-8
-2
0
0
-12
0
-32
0
-74
0
0
-2
0
6
0
-19
0
0
86
-6
11
0
60
0
11
8
0
-33
0
-37
0
0
-43
0
43
0
-64
-3
0
0
0
0
0
-19
0
0
0
0
0
0
-92
0
13
1
0
22
0
73
0
0
0
0
0
0
-18
0
25
0
0
0
0
23
0
-4
0
0
0
0
1
0
0
0
0
0
0
-79
0
0
-55
0
-27
0
129
0
-19
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
-10
-1
11
0
0
0
0
60
19
0
0
0
0
-7
67
0
-9
3
-4
0
-17
26
0
0
-19
12
0
-22
24
0
16
-4
-7
0
21
0
0
-5
-12
10
0
7
-18
0
-14
94
-21
0
22
70
0
0
76
0
0
0
-24
-2
0
10
2
0
0
-67
0
1
0
0
0
0
28
-28
0
0
10
0
0
56
0
36
0
0
0
0
-17
0
0
0
0
0
-5
34
0
-26
30
-16
0
0
-26
0
-2
32
0
0
0
62
0
23
-13
11
0
0
-65
0
-1
-55
0
0
0
-120
0
6
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
9
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-5
-17
-16
21
22
-37
30
5
27
-15
85
0
-16
21
53
-15
45
50
-2
22
-68
-9
30
-38
-73
28
20
-16
-22
30
-108
53
42
8
17
-58
46
27
33
-87
38
-123
-35
-11
9
-28
-24
-8
-78
35
-37
-95
25
-14
0
40
-48
-125
8
-53
6
24
-59
-23
34
50
64
-37
17
65
-9
-4
-57
24
81
16
9
51
48
95
-21
-34
13
154
51
62
-58
-85
-66
-27
-56
12
-3
-4
8
8
19
-73
26
-1
-86
71
-57
13
9
-66
17
-24
-12
19
-22
24
-5
20
-1
-35
-1
0
4
-103
45
-22
-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
3
8
0
0
29
-11
7
16
0
0
78
32
-2
-20
-21
0
1
31
8
-9
9
-83
3
-8
-133
113
41
-16
14
0
-7
28
-17
0
2
30
23
-32
-67
27
10
-1
-19
13
6
-43
6
91
-9
47
-3
20
-14
21
-101
0
-9
0
1
0
0
-2
0
-50
-14
12
0
10
0
0
51
0
21
0
0
1
0
36
0
0
35
-2
0
-19
43
0
35
-2
-15
0
2
-50
-9
-9
-16
32
-4
8
31
-1
120
-11
0
0
0
7
1
-2
29
14
-1
2
-22
0
-4
-9
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
96
-6
-1
2
39
-98
-3
-50
0
0
-7
5
-80
-9
36
0
-11
109
65
-7
-5
42
-27
0
-32
26
-87
0
22
20
-7
-30
-17
-27
-2
-11
-1
0
110
-28
175
-15
79
0
0
-14
-5
-127
0
-17
-10
0
52
0
14
3
-70
0
0
0
0
0
5
16
23
-50
0
0
-8
26
-47
0
-3
-8
1
-15
-2
53
0
26
-15
-1
0
0
7
4
0
14
20
0
0
34
0
10
-1
0
0
-6
-29
-9
15
17
-10
-1
0
-5
-1
9
0
0
-12
0
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
0
0
0
0
0
0
0
0
0
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
0
7
0
39
0
0
19
0
0
0
30
0
0
0
0
0
0
16
0
0
0
0
0
0
53
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
-5
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
64
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
-4
0
0
0
0
0
0
-10
0
0
0
0
-5
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
80
0
0
0
0
0
0
-74
0
0
20
0
11
0
-81
0
0
-5
0
9
16
-7
0
0
30
0
0
0
-34
0
0
7
0
-41
0
21
0
0
-37
6
0
0
3
0
0
21
0
-17
0
-2
0
0
0
0
-2
0
-30
0
0
0
0
0
0
6
0
0
0
0
0
0
22
0
2
0
0
-1
0
33
0
0
0
0
0
0
5
0
18
0
0
0
0
15
0
0
0
0
0
0
-64
0
25
0
0
0
0
-58
0
0
74
0
-5
0
33
0
3
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
5
0
0
0
59
0
0
-8
0
0
0
27
0
0
-3
-2
0
0
7
0
0
0
0
0
0
-11
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
5
0
0
0
0
0
0
10
0
0
-8
0
0
0
7
0
0
1
0
0
0
4
0
1
0
0
0
0
0
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
11
0
0
0
0
0
0
-99
0
0
0
0
0
6
67
0
0
-3
0
0
0
-17
0
0
0
0
0
0
41
0
0
2
0
0
0
6
0
0
0
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
1
0
0
0
0
0
0
2
0
0
1
0
0
0
-6
0
0
0
0
0
0
-6
0
2
0
0
0
0
25
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
-11
-46
23
135
-14
-22
-57
-12
7
-8
-17
0
38
-46
22
9
-170
-34
28
-56
-55
28
40
2
-5
30
-62
-14
75
5
24
31
1
4
9
32
23
77
9
31
30
-9
138
-8
-46
-12
-28
-59
-6
4
21
98
9
5
-98
-7
-2
0
-29
5
-1
22
0
11
-35
-50
34
52
93
2
-67
-18
-1
71
48
-138
44
53
29
-34
-42
-20
-47
-63
-31
34
76
-102
-40
-119
-35
-25
23
-16
-3
64
116
-141
13
36
-25
-16
-60
-43
-31
14
11
-104
19
-3
-37
23
7
14
-11
-3
47
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
0
0
0
0
0
0
0
14
-68
0
0
-13
8
9
0
4
0
-1
-4
0
10
0
-15
0
6
97
-8
4
8
67
0
0
-34
-2
22
0
35
0
15
-88
0
-7
-1
30
0
7
6
0
3
0
-65
0
0
0
-1
87
0
-71
0
2
0
5
-13
0
21
0
0
0
0
0
0
50
0
-14
0
0
-1
-1
85
0
0
0
0
0
0
-69
0
44
14
1
18
0
-10
0
0
-10
-2
-6
0
-165
0
19
-2
0
-3
0
-9
0
0
-1
0
0
10
68
0
-45
0
12
8
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
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-10
0
0
-12
1
0
0
158
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
0
0
0
3
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
3
0
0
1
0
0
0
0
0
0
-15
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-7
0
28
0
0
0
0
0
0
-16
0
0
0
0
0
0
27
0
0
0
0
0
0
63
0
0
-3
7
0
0
-3
0
0
0
0
-8
0
-6
0
0
0
-1
29
0
91
0
0
0
0
0
0
42
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
0
0
0
0
1
0
0
-9
0
11
-3
0
0
0
-11
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
57
0
0
20
0
-1
0
-99
0
0
3
0
-8
0
0
0
0
-26
-6
-1
0
-76
0
-9
35
0
69
0
10
0
0
-9
0
0
0
53
0
0
-1
0
9
0
45
0
0
0
0
-30
0
-33
0
0
0
0
0
0
-53
0
0
0
0
0
0
-59
0
0
4
0
0
0
8
0
0
0
0
11
0
17
0
-8
-8
0
1
0
-45
0
0
19
0
0
0
-52
0
7
-1
0
0
0
-55
0
-1
-4
0
0
0
9
0
18
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
19
3
0
0
0
-18
0
0
-34
0
0
-11
8
0
0
-1
27
0
24
58
0
0
31
-7
0
0
17
0
-1
43
28
0
0
20
0
0
-2
0
0
0
-45
0
0
0
0
0
0
5
14
0
0
0
0
0
24
0
-18
0
0
0
0
-4
0
-9
40
24
0
0
-10
0
7
4
0
0
0
14
0
-3
32
-3
0
0
-3
0
-11
1
0
0
0
-58
0
8
-11
0
0
0
-22
0
3
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
79
0
0
6
0
51
0
27
0
-9
43
-21
0
-11
-61
0
4
36
-1
-2
-3
135
0
3
73
-2
11
0
-78
0
-5
-10
0
49
0
-106
3
0
4
0
0
0
36
0
0
0
1
0
0
17
-17
0
0
9
0
0
5
0
38
0
0
0
0
-78
0
0
60
0
0
0
-7
0
52
2
8
0
4
50
0
0
25
-18
0
0
115
0
17
-25
0
0
0
-59
0
0
0
0
-17
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
40
15
49
-71
-6
5
-34
-52
-85
-22
10
32
-12
22
-3
-75
-65
18
-7
7
-8
1
-115
95
15
19
21
-20
-34
-36
-45
27
1
-7
6
-40
6
5
0
-21
-88
8
5
26
-47
-4
-20
-49
9
10
39
-7
67
0
34
-54
4
41
9
-4
45
-2
139
-17
41
-43
-85
5
-12
-78
20
-102
-52
19
-19
-17
-55
-87
20
-95
130
15
-13
4
-11
-42
10
-12
27
-88
76
-13
69
-202
4
-6
42
26
-2
-20
25
2
3
-22
41
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
0
0
1
0
-1
-40
0
0
0
0
0
0
-4
0
0
6
0
0
0
7
0
0
0
0
0
0
1
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
-15
0
-3
0
0
0
0
-12
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
-9
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
38
-42
0
0
4
0
-1
-3
-3
0
0
-1
-10
-2
0
44
-2
0
22
0
7
13
-33
0
0
-2
0
0
0
1
0
0
6
0
14
0
4
0
0
0
0
52
0
36
0
0
0
0
-4
4
-5
0
0
0
0
0
1
-5
0
-1
-4
0
0
6
-30
0
0
6
0
-25
1
1
0
12
0
0
0
0
-36
0
0
-1
1
0
0
-18
0
0
-2
0
0
0
-35
0
-7
0
0
0
0
-46
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
56
-60
0
-8
-11
-1
97
68
37
0
1
-6
67
51
-24
58
0
61
-33
-21
124
-1
-4
-13
-4
2
2
-17
8
35
4
-6
-31
0
171
-2
10
-10
0
-3
-75
32
0
7
-2
0
0
0
-19
0
-43
-14
0
0
-10
0
0
-52
23
46
0
-6
10
0
-27
0
6
0
0
-6
0
8
0
-30
-25
-1
-7
0
-40
0
2
-25
24
43
-1
-17
-4
-160
84
-12
0
21
46
4
4
-4
0
3
-3
13
0
-14
21
-2
52
0
-48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
0
-85
10
-28
0
-27
14
0
0
104
-16
0
5
97
27
-43
9
72
0
48
89
1
5
14
-34
-17
0
34
2
56
1
-50
-14
9
28
0
-4
0
8
1
-17
0
0
13
0
-32
3
0
0
0
-5
-11
-56
0
-7
5
0
-5
0
51
0
7
51
0
0
0
11
0
-7
-11
0
0
-4
20
0
-9
-42
8
4
0
31
0
-136
25
0
-3
0
8
5
18
-75
0
-2
0
-19
0
-53
-2
0
32
0
-56
21
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
123
-17
0
0
43
-11
0
111
-13
-10
64
31
-22
0
34
-28
14
76
36
-13
0
59
20
6
-26
14
16
0
-2
-14
11
39
-54
17
0
32
19
-7
16
112
-33
0
0
26
-1
0
-7
17
0
0
-66
56
0
0
2
0
0
52
0
1
63
-1
0
0
22
0
0
88
-14
0
5
6
0
10
5
-23
0
8
-10
26
-2
119
-30
0
12
83
0
-46
21
-61
0
0
-6
0
-8
93
49
0
0
-16
0
55
-26
0
0
0
107
48
0
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
20
9
6
4
19
76
21
119
-28
-4
20
5
21
-6
40
7
0
19
-73
-40
2
0
32
0
4
17
0
-115
0
-26
0
0
53
-45
-28
0
-77
0
0
0
4
18
0
40
41
0
-1
5
0
0
32
0
-49
0
0
-2
0
10
9
-2
40
3
10
0
-9
0
-45
142
0
0
0
78
0
-5
-76
23
0
0
-53
0
107
20
0
0
0
-13
4
7
-8
25
0
0
50
0
35
0
0
-29
0
-43
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
-27
26
-19
48
40
3
20
77
12
-2
27
58
57
-79
8
32
3
-22
11
2
-9
29
61
-3
-8
-48
-32
19
-1
16
-18
-4
-11
-3
-11
9
62
-16
-40
27
1
11
-24
39
61
-21
-31
23
-9
-2
-102
-33
-11
-19
0
-36
43
37
23
-20
-96
38
26
13
63
56
78
96
5
-85
4
52
7
-77
25
-12
-20
-12
-79
-134
-80
38
19
-23
-42
5
-23
-21
-19
-24
104
-32
17
-62
-32
-8
25
47
-25
-3
175
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
-29
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
-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
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
1
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
2
78
0
0
-33
35
0
0
-3
0
0
58
15
14
0
1
0
4
-7
3
-3
4
12
0
0
51
0
0
2
-13
0
0
0
0
-19
0
-80
0
0
0
0
0
0
-35
0
0
0
5
0
0
-8
0
-4
0
0
0
0
-79
0
0
0
0
0
0
-46
0
16
12
3
0
0
-7
0
0
8
45
0
0
-116
0
21
-41
6
0
0
-14
0
-1
0
0
0
0
-77
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
55
-5
25
82
115
55
-112
67
-3
-39
60
-27
84
3
-8
14
-5
-23
-42
-51
61
53
0
10
-2
3
56
-6
-48
0
8
-32
45
59
0
-13
-2
0
0
33
-10
0
-18
42
19
0
-26
0
0
81
3
-20
-1
1
16
0
-8
0
-1
-50
38
7
-3
-40
0
21
-52
14
0
0
63
0
-32
-62
24
0
-54
20
-14
13
25
15
0
0
12
1
-3
-17
-2
-32
0
40
0
-38
0
2
31
0
-110
-39
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
74
0
38
-68
0
0
0
-16
0
-11
-10
0
-4
0
-59
0
7
32
0
-24
0
-7
0
1
51
0
-11
0
-14
0
0
0
0
87
0
52
0
0
0
0
37
0
-28
0
0
0
0
0
0
13
0
-3
0
0
-13
0
87
0
0
20
0
0
0
-3
0
-12
0
0
0
0
48
0
0
7
0
0
0
57
0
-4
22
0
0
0
-31
0
0
-3
0
0
0
0
0
10
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
-7
64
0
8
8
0
19
151
-64
0
-13
-96
0
71
86
58
0
15
23
12
6
-7
-7
0
3
30
0
0
42
-1
0
0
19
-5
4
-4
12
0
0
-34
55
0
0
-11
0
-6
24
0
-19
-2
27
0
0
-4
0
0
-59
-29
0
17
-27
0
-81
98
-49
0
5
68
0
-9
71
-58
0
-8
-50
0
-47
17
-43
0
1
31
-29
21
145
0
0
0
-49
0
29
14
0
0
0
106
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
27
-19
13
22
-18
7
96
11
-10
17
-11
47
9
-1
9
-8
-54
-1
33
0
39
47
-36
-7
0
38
-4
0
0
0
0
0
-22
-6
0
0
-15
0
0
32
0
-28
17
0
22
-12
-60
0
10
36
-2
8
0
-10
0
-18
-5
12
0
0
79
0
-1
57
-21
0
0
-12
0
53
31
10
1
0
-54
0
-20
28
-3
0
0
17
15
-31
17
0
4
0
27
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
59
10
-12
35
-18
-74
-26
-56
-2
1
-75
-22
2
-128
-10
-3
-11
84
8
29
-64
16
-43
-14
-85
-43
-9
-29
-18
16
-9
-41
9
-45
-70
27
-12
-10
27
89
-34
13
-60
18
-13
41
-49
18
-125
163
44
-7
-52
-16
-23
29
-1
0
-7
5
-25
141
17
-47
16
-41
3
76
-48
85
87
-16
22
32
1
26
-3
-26
13
-91
-6
18
-90
-77
33
-28
4
-80
-21
-4
-66
10
-10
84
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
27
0
5
8
-1
0
0
55
0
-13
0
0
0
0
34
0
0
0
0
-4
0
-66
0
0
0
0
0
0
96
4
0
0
0
0
0
-74
0
2
0
0
0
0
-22
0
-4
0
0
0
0
-19
0
1
0
0
0
0
-6
0
-13
0
0
0
0
-5
0
-1
0
0
0
0
-32
0
0
0
0
0
0
32
0
0
0
0
0
0
-54
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
97
-45
26
6
-43
0
-26
-3
18
22
-2
-130
0
14
-27
0
-52
27
-147
0
0
9
0
17
0
-22
0
0
0
0
0
0
103
0
0
0
11
0
0
6
9
-3
0
2
0
1
-171
0
-5
6
0
7
12
-99
0
20
0
0
0
-4
-4
-6
-3
-2
-8
2
0
-16
0
101
38
0
0
0
-64
0
0
-26
0
10
0
13
0
57
0
0
-2
0
115
-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
0
0
0
0
0
0
0
0
0
0
0
47
-14
-45
-15
-43
-100
125
-34
-9
-3
204
-15
-11
86
-60
0
-14
104
42
26
6
37
19
24
-3
-61
-21
71
0
41
-14
-1
0
-11
20
0
17
12
0
0
101
0
0
-4
19
98
-6
10
56
-10
34
0
54
-19
97
9
-20
50
-20
9
41
2
-2
-34
1
-27
3
9
-24
5
3
-34
-3
-3
-72
23
-2
40
-30
58
16
93
-78
33
4
-3
19
-5
33
-41
-22
0
-36
-148
20
11
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
29
-9
0
10
-18
81
87
-38
23
0
147
112
24
105
-27
-37
0
10
118
0
30
-5
-60
-4
1
-18
0
-10
0
-38
6
0
0
-11
7
0
-38
15
0
0
0
0
-5
27
0
37
-4
0
99
-10
-19
19
-53
-9
0
35
78
33
0
10
-29
-10
-1
0
-12
0
21
173
0
17
-20
22
11
72
17
0
-17
0
20
-6
-96
52
0
120
-8
-20
0
23
17
0
20
0
-85
-40
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-9
56
0
1
94
0
-20
78
85
0
0
-12
0
-7
14
-22
0
10
10
0
0
-66
-11
0
0
-39
0
0
0
-6
0
0
-54
-10
0
0
21
0
27
-18
0
10
0
-3
0
0
68
0
0
21
-6
0
-29
-101
0
-80
50
1
0
8
-14
0
-5
39
36
0
0
-53
0
-57
0
0
0
-5
46
8
10
1
11
0
0
-64
0
41
1
-1
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
-10
12
2
-45
6
51
-6
0
14
0
60
11
0
-18
0
1
17
0
-13
8
24
0
-18
0
0
0
0
-3
0
-15
-5
4
0
-14
0
-1
-13
0
-80
13
0
0
-37
49
0
-13
12
16
1
-16
118
0
-24
70
-1
1
0
40
0
41
-1
21
0
0
117
3
95
33
0
0
0
-66
2
43
0
-12
0
0
34
0
25
-3
0
-12
0
-23
-17
3
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-38
10
9
62
40
10
-5
15
40
-84
-27
-32
11
-76
15
36
62
-11
-4
13
-50
39
-3
31
-42
41
9
-44
6
36
-115
18
169
-1
-25
-9
75
-21
-8
49
12
0
-24
-33
28
8
-65
5
22
-95
4
-35
-23
-73
0
-92
35
26
-10
-19
134
-21
59
-101
3
48
-60
-34
-5
-89
43
40
31
-63
65
-13
5
14
29
8
20
-4
-15
89
74
-2
62
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
0
0
-25
-35
0
0
7
0
-2
1
-55
0
-5
10
0
-2
0
-30
25
0
0
0
0
0
21
0
0
0
5
0
0
-16
0
-7
0
0
0
0
-108
0
0
-5
0
0
-9
8
0
13
0
0
0
0
1
0
0
-2
-1
0
0
-13
0
34
0
0
0
0
-72
0
0
-6
0
0
0
48
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
41
-12
0
-11
-4
-19
3
0
-11
0
-37
9
12
-2
4
-3
-2
52
0
-57
11
0
0
7
-6
0
46
0
0
0
-19
0
0
-22
0
39
9
0
0
0
53
0
25
-23
-5
26
2
-4
2
31
0
5
0
12
-33
0
0
16
5
-4
-5
117
0
-16
22
0
0
6
-31
-22
0
0
4
0
0
24
0
3
-3
0
18
0
-59
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
2
13
52
7
82
-30
11
-15
29
46
-4
27
-44
34
70
-40
58
-44
82
0
8
-4
-8
2
-6
-20
0
-1
51
0
14
-23
0
0
41
-8
-81
18
-10
14
17
-40
2
-37
83
15
63
2
20
0
-51
149
-15
60
9
21
-5
-42
43
28
-6
9
5
3
-54
25
-23
0
11
-19
-15
12
-62
118
41
0
17
-1
47
-53
0
42
0
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
-40
14
34
17
18
0
0
28
0
-33
-2
-15
8
-1
39
0
50
1
-114
2
0
0
0
41
0
-16
35
0
0
0
-21
0
55
0
20
-32
0
-63
0
36
0
8
88
-2
-9
0
6
0
29
-28
0
-5
0
-17
0
0
-33
3
10
0
-3
0
-63
20
0
-5
0
-63
0
-6
-75
0
-6
0
12
0
182
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-82
-12
-21
24
57
0
-1
-3
0
-20
-106
-21
0
1
27
0
-1
33
41
0
2
19
25
0
0
3
0
0
-25
-5
0
0
8
0
0
-32
0
44
-5
2
0
11
-11
0
0
103
-4
0
7
25
31
-10
-52
14
0
0
29
-4
19
58
-73
2
0
65
0
50
113
-43
0
0
2
0
-6
44
14
0
0
-33
0
-86
15
0
0
0
63
-12
-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
-34
0
6
41
-2
63
0
29
-52
4
3
0
96
0
71
0
0
0
-1
0
0
-78
-3
0
0
0
0
0
32
0
-62
-6
0
0
3
34
-4
-17
160
52
0
-9
19
0
37
48
7
0
0
-32
0
11
-122
-7
0
0
-17
0
-74
-4
-1
0
0
27
-27
0
13
0
19
0
41
0
65
2
-18
12
0
-74
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
42
78
-18
-97
33
28
3
7
17
-54
-51
-6
17
-7
-55
18
-103
-50
-8
67
-27
33
10
-53
49
-37
-10
-41
-25
-39
17
-45
4
31
47
-71
-59
-29
43
53
18
-85
43
4
44
-89
2
21
-13
50
-31
-49
-48
-159
0
3
-33
36
-2
76
-44
-27
32
-153
-17
-41
-20
17
22
18
-92
30
30
-37
-10
7
-12
-85
8
-68
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
25
0
-9
0
76
0
0
0
0
-10
0
-54
0
0
0
0
0
0
-10
0
0
0
0
0
0
-47
0
3
0
0
0
0
-81
0
0
0
0
0
0
36
0
-2
0
-8
0
0
3
0
1
-9
0
0
0
0
0
43
0
0
0
0
-38
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
153
13
45
-26
-5
29
-6
-51
0
0
-1
38
-1
0
-57
0
0
0
0
15
0
0
-40
0
0
-1
0
0
25
-7
-37
-8
0
6
10
-49
0
0
18
4
2
0
-127
0
150
3
0
0
-9
-47
0
0
-23
-45
0
0
7
0
-62
-12
0
0
14
48
-20
-3
0
16
-3
16
37
11
37
-14
0
-27
0
11
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-19
-12
-27
44
12
-30
-20
1
2
-115
63
0
13
2
-12
0
-40
82
0
-29
-6
0
0
30
27
43
7
13
32
-38
-24
-1
-42
27
0
-35
-47
-7
22
75
0
-15
47
24
-48
-16
-20
25
-12
-86
54
78
-27
1
-21
16
50
-147
-73
3
0
1
-16
50
-7
21
-7
-17
18
49
55
-5
-8
49
0
-51
-120
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-25
0
-4
169
0
53
0
11
0
4
-6
0
-31
0
31
0
0
0
0
26
0
-9
-2
0
0
-1
0
0
12
-2
11
-1
0
-51
-1
-87
0
-18
-20
0
6
8
-64
0
-106
144
0
0
-10
-54
0
3
-22
-1
-12
22
90
-2
133
112
0
0
-9
28
-11
19
66
0
17
4
37
0
-4
-4
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
10
0
0
-11
0
0
-56
55
0
0
-17
-23
0
0
65
0
0
-20
1
0
0
7
0
0
-12
0
-1
0
0
0
5
-44
0
11
8
104
0
0
-21
0
-31
29
6
0
2
-62
0
58
30
47
0
11
-70
0
-64
12
10
0
0
31
0
0
61
-7
0
0
2
0
75
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-26
0
-80
-22
0
0
0
0
0
56
4
0
0
10
0
0
38
0
-24
6
-2
0
0
86
0
5
23
0
0
-6
-11
0
141
0
1
-4
0
-17
0
-4
6
-37
0
0
64
0
-42
-6
0
0
0
2
0
-27
-29
0
0
0
-5
0
-28
0
0
11
0
-7
2
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
35
6
-10
-24
27
45
6
-28
-14
-18
-85
-128
42
-9
-39
27
-43
19
8
28
20
-70
6
-43
22
23
-6
-35
-36
14
21
-69
-55
-11
45
-115
12
4
-42
-64
-66
-11
46
-114
6
43
-26
129
32
-41
-26
-9
36
59
-2
0
-69
10
61
72
101
8
-26
58
15
-69
-18
52
-1
27
-70
-36
-39
-61
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
9
0
0
0
0
-5
0
-127
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
0
0
0
1
0
0
0
0
0
0
-12
0
13
0
0
0
0
1
0
0
4
0
0
0
27
0
0
0
0
0
0
-13
0
-6
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
25
0
-4
18
-4
83
0
-48
0
0
0
11
0
0
38
0
0
0
0
0
0
-31
0
-39
0
0
-9
0
96
0
0
0
-4
0
0
59
0
-17
0
0
0
0
14
0
3
1
0
0
0
-6
0
-64
-10
-8
0
0
-29
0
11
-9
-10
0
0
-77
0
45
0
0
9
0
72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
31
0
5
0
-16
39
0
-73
-22
0
0
-7
0
0
26
0
0
0
-13
0
0
40
0
26
-31
0
0
3
49
0
-10
33
-78
-24
-1
-33
0
-12
205
32
0
-2
-3
0
-25
16
52
-62
0
-11
0
29
13
0
0
0
-27
-24
-25
-10
-2
0
0
-6
0
-143
-8
0
15
0
24
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
-52
0
0
0
0
-20
0
-81
0
0
0
0
0
0
37
0
-12
0
0
0
0
43
0
0
5
0
0
0
-4
0
0
21
0
0
0
-27
0
-5
0
0
9
0
-1
0
-19
6
0
0
0
55
0
0
-6
0
0
0
10
0
7
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
-9
-17
0
0
75
-4
0
0
-80
-12
0
10
-2
0
0
-21
7
0
0
-3
0
0
25
0
-35
-33
4
0
-2
-26
0
2
35
10
0
-15
57
0
5
88
34
0
12
77
0
-15
152
-29
0
-8
8
0
-65
-111
16
0
-3
97
1
-16
-21
86
0
0
-87
39
-94
28
0
0
0
39
48
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-7
0
0
74
0
0
0
0
0
0
5
0
-3
0
0
0
0
40
0
0
22
0
0
0
9
0
-2
1
0
0
0
23
0
0
16
3
0
0
-56
0
0
0
0
0
0
8
0
0
-16
0
0
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-147
15
6
16
28
-1
39
-11
12
-15
-94
-6
50
-24
-5
-79
42
1
-46
48
4
-18
96
99
46
-95
-25
-43
-13
-4
179
125
22
-60
0
-13
-129
-124
-88
-20
-20
-18
10
-101
31
-81
-80
-26
46
0
120
-96
-37
15
-31
0
70
22
29
6
-7
-4
19
-19
-11
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
85
8
0
0
0
0
0
14
0
6
0
0
0
0
-59
0
0
28
0
0
0
15
0
-5
0
0
0
0
12
0
0
10
0
0
0
-9
0
0
6
0
0
0
-1
0
0
-5
0
0
0
4
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
0
0
0
0
0
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
90
10
0
0
7
0
0
16
0
12
0
0
2
0
148
0
0
0
0
12
5
-74
0
15
1
0
0
0
31
0
0
0
19
0
0
-10
0
-9
29
0
0
1
64
0
17
0
0
0
0
70
0
31
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
54
0
0
0
-4
0
0
50
0
69
0
0
13
-11
-31
2
0
-8
-15
-12
10
-21
0
-13
17
-23
0
0
3
0
14
-18
-50
39
0
29
0
-144
2
22
0
0
-77
-2
-16
0
0
0
0
13
-18
134
0
5
-22
0
-106
-11
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
17
0
0
2
0
0
0
-17
0
2
0
0
0
2
-21
0
0
-3
0
0
0
-44
0
7
1
6
0
16
-16
0
-9
40
0
0
0
31
0
46
-13
0
1
0
16
0
0
-11
0
20
0
-2
0
11
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
43
50
0
0
-3
6
0
28
-74
0
22
62
0
83
53
-36
0
9
-20
-12
-40
89
60
0
6
-5
0
1
89
61
0
-34
-31
-1
-25
97
-71
0
122
31
0
76
67
-124
0
24
61
-10
13
-21
-154
0
0
-56
-17
-133
-18
-16
0
0
36
0
-6
-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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-17
20
11
5
-93
42
-10
-49
29
-32
13
-44
29
-4
-122
-16
44
-34
47
40
-57
50
77
7
66
-78
4
54
3
36
5
30
-72
13
61
-4
19
-38
-30
-31
2
51
-24
-19
75
-64
-83
-16
-18
-5
-78
-77
-12
6
0
-1
-12
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
0
-7
0
0
19
0
-5
0
0
0
0
0
0
-119
0
-3
-1
8
0
0
83
0
0
0
8
0
0
32
0
11
1
-10
0
0
15
0
-12
0
0
0
0
1
0
-9
0
0
33
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
7
0
0
0
0
0
0
-1
0
45
0
0
0
0
-2
0
0
-4
0
0
0
0
0
25
1
0
0
0
-13
0
0
42
0
0
0
-8
0
-1
5
0
0
0
-4
0
0
0
0
0
0
-1
0
4
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
9
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
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
4
0
3
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
57
0
0
0
0
0
0
-29
0
140
0
0
0
0
-8
0
2
0
0
8
0
-28
0
-20
0
0
0
0
-2
0
0
-9
0
0
0
56
0
-6
8
0
0
0
-31
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
6
0
0
0
0
0
92
0
5
0
16
0
0
-27
0
-1
13
-29
0
1
-9
0
38
13
25
0
0
60
11
0
6
-50
0
0
100
0
69
-2
10
0
0
52
0
-6
21
6
0
0
16
0
55
0
0
0
0
40
-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
-7
0
0
0
0
0
0
15
0
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
79
25
-5
16
37
-22
17
19
33
-139
13
90
9
-2
-47
-42
33
66
13
24
0
-28
-60
-127
81
21
89
-1
21
93
-37
21
-34
16
8
17
-50
29
-99
1
5
18
28
98
9
6
0
3
50
-8
15
-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
72
1
62
-13
0
1
-6
26
0
3
18
-21
0
0
-71
0
-71
-12
0
0
0
-25
0
0
6
0
0
0
42
0
-12
12
0
-10
0
-173
0
0
-15
0
-10
0
7
0
74
0
0
-12
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
-5
0
19
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
4
0
9
0
0
0
0
-2
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
3
13
0
0
0
15
0
0
-6
16
0
0
39
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
0
0
0
0
21
0
-18
-12
0
-10
-4
40
0
7
-6
0
-22
0
-27
0
0
16
0
0
0
-31
0
-94
-3
0
0
0
-43
0
3
0
0
0
0
87
0
2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
26
0
-32
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
3
0
0
0
-3
0
0
0
0
0
0
-51
0
2
-19
0
0
0
31
0
7
-3
0
0
0
-4
0
0
0
0
0
0
124
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
-25
31
15
-54
-15
-78
87
-117
62
43
-42
56
-105
-148
-38
-30
-17
70
65
42
-30
32
18
-8
-37
61
17
24
115
10
-41
-49
78
0
-1
38
-22
5
4
58
20
-56
0
-6
77
35
45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
3
0
1
0
0
0
0
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
9
-25
-36
38
41
-15
0
14
-10
-6
-11
4
-84
2
8
25
48
24
8
3
0
-27
-22
-4
-10
0
-23
-1
-1
38
-9
-96
0
2
11
131
-52
-4
85
0
-117
83
-3
15
-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
42
0
0
0
0
0
0
39
0
-20
0
-5
0
0
-27
0
0
6
0
0
0
14
0
48
0
0
0
0
-136
0
0
0
0
0
0
-47
0
5
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
6
0
0
0
-1
0
2
0
0
0
0
23
0
0
-40
0
0
0
8
0
-7
0
0
0
0
-47
0
0
2
0
0
0
56
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
-96
0
0
-18
0
0
0
12
0
48
-6
-12
0
0
19
0
0
-16
0
0
0
-11
0
61
0
0
0
0
-134
0
0
0
0
0
0
28
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
4
0
0
0
-24
0
5
4
-2
0
0
-81
0
21
3
0
0
0
120
0
0
1
0
0
0
83
0
1
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
74
34
-7
25
3
-34
-80
133
12
45
15
33
1
-34
-6
18
-35
-17
-50
48
38
-40
-16
-27
-67
-32
-91
-26
-1
-26
-13
-20
-12
75
-85
0
2
-35
4
-27
21
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-12
0
0
0
33
0
0
-2
0
0
-3
64
0
12
-9
0
0
0
-24
0
0
-7
0
0
0
-27
0
33
0
0
0
0
-11
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-27
0
41
-10
-18
-13
0
-64
0
0
-6
17
1
-50
13
0
-83
36
12
0
1
-24
-3
-37
3
-3
0
2
112
0
38
-8
0
33
0
-41
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
0
0
0
55
0
0
-96
23
0
1
-3
0
0
12
0
19
0
9
0
-14
27
0
0
0
-71
0
-6
10
0
-4
0
-32
0
-47
0
0
-3
0
-95
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
29
0
-1
0
0
-5
0
19
-3
1
0
0
-5
0
12
47
0
0
0
18
0
-11
45
0
0
0
27
0
7
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
83
0
0
-22
0
0
0
-66
0
71
-1
0
0
0
19
0
0
-6
0
0
0
7
0
42
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
32
27
22
-67
-2
21
2
20
33
13
26
-74
68
43
39
-1
-58
22
16
4
-17
6
-74
4
-8
-131
0
32
-14
-34
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
-28
0
0
0
0
0
0
-20
0
0
0
0
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
61
-2
4
144
-46
-2
289
85
-22
11
-4
-49
-1
1
6
-56
-45
0
-2
0
2
81
0
-39
0
55
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
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
-44
0
117
15
0
-79
1
-70
-18
-2
4
0
-34
0
-1
11
24
-7
0
48
0
66
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-1
0
0
-70
0
-58
15
0
0
0
62
0
0
6
0
18
0
14
0
42
0
0
-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
-27
0
0
0
15
0
0
8
0
-19
-4
0
0
0
22
0
0
3
19
0
0
7
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-27
0
0
0
-34
0
8
0
0
0
0
59
0
-10
0
0
0
0
-52
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-5
27
57
2
-34
26
8
32
-65
24
-77
0
45
4
15
-24
0
-21
0
-34
-80
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
83
-28
-13
15
0
-30
-3
14
-3
0
-3
0
67
0
37
0
0
-27
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-90
36
0
3
2
-96
0
8
-10
-6
10
0
8
0
-61
0
-2
-10
0
0
8
9
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
-1
75
0
0
-12
0
0
-5
36
0
7
-60
-2
-13
0
5
0
69
1
0
-116
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
0
-41
0
-81
-19
-6
0
0
13
0
0
18
0
0
0
128
0
10
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-33
-2
19
-83
75
27
17
32
29
0
-73
37
24
-73
0
4
-3
36
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
8
0
0
0
0
0
0
5
0
4
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-91
-40
-22
-33
0
18
0
123
15
0
32
0
-67
93
0
-9
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
1
-73
0
-11
-11
-13
0
-2
57
0
17
0
0
-9
0
-41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
50
0
0
0
33
0
-3
0
0
40
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-34
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
36
20
-15
13
-48
108
-4
11
-36
-20
-2
18
-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
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-37
0
-27
0
0
-46
0
-7
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-103
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
27
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
48
0
0
-23
0
0
0
-11
0
0
3
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
6
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
-9
0
0
0
0
0
-97
10
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
-2
0
0
0
-2
0
-6
0
0
0
0
35
0
0
0
0
0
0
-35
0
0
0
0
0
0
-36
-7
0
8
0
0
0
107
0
0
5
0
0
0
-30
0
0
0
0
0
0
42
0
0
0
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
-20
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
163
0
0
0
0
0
0
30
0
0
17
0
0
0
38
0
0
2
0
0
0
3
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
0
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
71
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
-5
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
1
0
0
0
-5
0
0
50
0
0
-68
0
0
0
0
0
0
0
-16
0
0
7
0
0
0
-21
0
0
0
0
0
0
0
0
-13
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
-3
0
0
0
0
0
0
41
0
0
-1
0
0
35
-14
0
0
1
0
0
0
33
0
0
0
0
0
0
-10
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
9
0
0
0
0
0
1
0
0
0
0
0
0
-18
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
2
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
-3
19
53
1
23
-17
16
34
-23
42
98
-34
15
9
-18
34
43
-3
-65
23
10
22
-26
-22
52
-53
52
-83
-26
-26
-36
-53
-23
72
-43
-62
-19
-43
-22
-43
-21
-30
-37
-25
-35
-13
-4
-35
-7
-8
-2
-19
3
-9
-21
35
-2
40
-91
-157
-29
42
-21
64
32
81
79
55
-21
-37
7
-8
7
40
57
45
-42
17
6
-25
-10
29
69
44
7
33
47
55
-17
-60
1
-26
-61
38
46
-82
23
-41
-34
59
51
-9
-2
-46
-16
-43
4
-67
-4
-18
-40
10
-4
-10
-3
-23
-47
-19
-4
0
0
0
0
0
0
0
-12
29
-16
-3
3
-49
30
0
32
65
41
26
4
40
46
7
22
51
19
-85
13
-52
-24
63
74
14
64
11
1
-1
-15
-32
-1
19
-25
-2
-6
18
27
-17
-39
-63
32
13
-31
-7
-28
29
11
-3
19
15
24
-12
-18
-61
-87
-38
-19
-92
-60
16
-8
-39
-1
-45
-57
35
0
18
51
34
64
19
-38
-28
-62
15
16
14
-34
38
-60
72
68
11
8
8
23
38
104
-23
26
12
-79
31
-1
59
-13
17
49
-27
-6
16
0
-18
-28
17
-8
40
-3
20
2
-10
4
-17
-49
-48
-50
53
9
-127
-57
-77
32
-10
14
-21
96
-38
-25
34
18
10
-16
-19
5
30
-17
40
-45
-18
-42
16
38
87
39
19
-22
-1
51
-8
44
21
-42
5
-29
16
-59
-59
168
15
4
8
44
55
-23
-12
-73
-25
68
60
5
13
35
-46
0
59
56
-10
49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
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
-22
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
-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
-6
0
0
0
0
0
0
-3
-3
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
-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
0
0
0
0
0
0
0
14
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
16
0
0
0
0
0
26
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
8
0
0
0
0
0
0
18
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
7
84
0
0
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
-12
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
41
4
0
0
0
0
0
19
20
0
0
0
0
0
-28
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
33
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
-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
20
0
0
0
0
0
0
8
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
-3
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
12
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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
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
5
0
0
0
0
0
0
3
0
0
0
0
0
0
6
16
0
3
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
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
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
0
0
0
-4
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
29
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-6
0
0
55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
28
0
0
0
0
0
80
6
0
0
-10
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-11
0
-2
0
0
15
0
0
0
0
0
0
16
0
0
0
0
0
0
-21
3
0
-11
0
0
0
28
0
0
8
0
0
0
5
0
0
0
0
0
0
62
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-9
0
0
1
0
0
0
-16
0
4
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
-5
0
0
0
0
0
0
2
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
-1
0
0
3
0
5
5
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
-52
0
0
0
0
0
26
0
0
0
0
-6
0
1
-7
0
0
0
1
0
0
3
3
0
0
18
-4
-11
0
112
0
0
22
-3
0
0
-3
0
0
-4
0
0
0
0
0
0
0
6
0
0
11
0
0
33
9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
63
0
1
-125
0
0
-50
74
0
23
-23
0
0
-21
-43
0
0
3
0
0
0
110
0
0
0
6
0
0
-47
0
0
-10
0
0
0
-8
0
23
0
0
0
0
3
0
0
3
0
0
0
28
6
0
0
0
0
0
146
3
0
3
0
0
-5
-12
0
0
-14
-1
0
0
-64
0
-1
-17
0
0
8
-34
0
0
7
0
0
0
-90
0
0
15
0
0
-2
58
0
0
0
14
0
0
-229
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-46
0
0
0
0
0
0
-54
0
14
-16
0
0
0
76
0
-2
0
0
0
0
-12
0
-14
24
0
0
0
75
0
0
0
0
0
0
14
0
-11
0
0
0
0
2
0
0
0
0
0
0
-36
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
-3
-2
0
13
0
0
0
16
-2
0
0
0
0
0
0
-3
0
0
16
0
0
0
0
0
0
0
0
0
0
12
0
17
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
0
0
0
4
0
0
3
-9
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
6
0
1
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
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
-2
0
0
-8
14
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
20
0
0
0
0
0
-36
0
0
0
0
0
0
9
0
0
0
0
15
0
0
0
0
0
0
-27
0
0
0
48
0
0
-9
0
0
11
-2
0
0
-11
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
14
-17
0
0
31
0
0
-8
1
0
50
-6
0
0
4
-8
0
0
0
0
0
0
36
0
0
-2
0
0
0
-1
0
0
-2
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
3
0
0
0
0
3
60
3
0
0
0
0
0
-14
0
0
7
0
0
0
-43
0
0
0
0
0
-12
23
0
0
0
0
0
0
39
0
0
4
0
0
0
118
0
0
0
0
0
0
-2
0
0
0
0
0
0
-44
0
0
0
0
0
0
67
0
0
0
0
0
0
8
0
-20
0
0
0
0
20
0
0
0
0
0
0
9
0
-10
0
0
0
0
14
0
0
0
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
-19
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
-44
83
146
17
17
43
110
51
-9
36
0
-11
-44
-21
-29
-26
32
-46
-124
-44
-53
-5
-59
45
-6
10
-46
109
-76
32
16
47
34
-17
-15
-56
-7
-11
-1
28
-1
-2
-13
5
-6
1
-47
-7
35
-45
-108
71
-28
-5
74
-53
47
27
41
-50
-11
13
67
42
50
22
-4
43
6
-69
16
-5
40
45
-25
-7
-38
-6
18
16
-29
35
16
33
15
23
-52
34
-42
-40
11
24
17
34
1
12
56
-35
3
-9
-49
11
4
0
58
30
-1
0
20
6
0
0
0
0
0
0
0
1
32
134
-22
-29
40
179
106
25
35
95
41
-6
44
34
32
75
-1
5
32
12
12
-1
-19
-71
65
-12
9
-4
18
-56
11
-1
66
42
-115
1
-76
12
28
-96
47
33
-15
30
-54
37
9
-19
-3
0
17
47
2
-52
67
52
-33
-43
5
-27
-8
8
28
-5
53
-15
36
49
-52
14
26
34
-26
-4
32
-23
-27
22
72
69
-20
52
6
39
-9
94
-16
39
-50
-18
102
12
38
-24
20
19
27
-21
12
-89
115
-37
54
47
-13
7
-37
14
59
30
-31
-1
-34
-38
-23
-11
68
-47
-96
6
-26
45
-91
-90
-4
-53
-20
-64
33
-129
24
15
-82
64
-43
103
11
46
-72
86
-13
-45
-23
-43
115
-53
-31
6
-13
-23
17
25
-39
45
-20
-25
42
23
15
28
-5
-26
24
26
-98
66
-41
-7
8
1
5
-3
26
51
-2
44
46
56
-5
54
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
6
0
0
0
69
29
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
17
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
0
-21
0
0
9
-7
0
0
6
0
0
0
22
0
0
5
0
0
0
2
0
0
-25
6
0
0
-1
0
0
0
-9
0
0
-15
0
-11
-12
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
0
-16
-109
0
-7
-16
0
0
-6
52
0
-59
-5
0
0
13
9
0
0
2
0
0
-2
-17
0
0
0
0
0
0
25
0
0
-3
0
0
0
-33
0
-15
-9
3
0
0
68
0
0
0
0
0
0
-73
0
0
0
0
0
0
36
-7
0
0
0
0
-1
177
0
0
0
5
0
5
20
0
-1
0
0
0
0
-33
0
-3
0
0
0
0
-15
0
0
-14
0
0
0
33
0
0
-3
0
0
0
67
0
0
0
0
0
0
-44
0
0
0
0
-4
0
-6
0
0
0
0
0
0
-22
-5
-8
0
0
0
-1
13
0
-7
0
0
0
-2
52
0
0
0
0
0
-2
-30
0
26
0
0
0
0
11
0
0
-3
2
0
0
16
0
0
0
0
0
0
-42
0
0
0
0
0
0
-42
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
9
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
62
0
0
16
0
0
0
-3
0
0
-8
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
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
7
0
0
0
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
12
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
-16
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
1
0
-4
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
-8
0
0
0
0
0
0
-9
1
0
0
0
-18
0
0
0
11
0
0
9
0
0
0
19
0
0
0
-12
0
0
40
-4
0
-7
12
0
2
5
0
0
-2
0
0
0
0
0
0
-10
-6
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
31
-25
0
6
-8
0
0
41
2
0
85
43
3
0
49
-35
0
0
48
0
0
-4
66
0
1
11
0
0
-9
-21
0
0
26
0
0
0
-2
0
-2
0
0
0
0
-82
0
0
0
0
0
0
-44
7
0
0
0
0
2
-77
4
0
13
0
0
19
82
2
0
87
-5
0
23
77
0
0
-34
0
0
-29
84
0
-7
-4
0
0
-1
31
0
0
20
0
0
-23
38
0
1
0
5
0
0
43
0
0
-3
0
0
0
19
0
0
0
0
0
0
-70
0
0
0
0
0
0
-1
4
0
-10
0
0
0
-41
0
91
-2
0
0
6
14
0
0
-4
-1
0
0
11
0
-1
-1
0
0
1
-66
0
6
-2
-4
0
0
12
0
0
-11
0
0
0
10
0
-3
0
0
0
0
38
0
6
0
0
0
0
-50
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
60
93
-1
-2
50
0
0
7
-19
4
-9
2
3
-2
0
25
0
0
-1
0
0
0
16
0
0
0
-2
-4
0
0
3
69
0
0
6
0
0
-21
0
0
0
0
18
-1
67
43
35
0
2
-13
-2
23
-18
-56
-15
-8
-40
7
-3
5
-43
6
-8
-81
50
-7
18
-57
52
-13
-31
-11
-1
0
-7
0
-17
14
-39
0
0
-14
23
45
4
-50
0
2
-5
0
-15
6
9
0
0
1
-7
135
0
0
89
0
0
-3
-11
0
0
0
0
0
0
0
-43
18
11
-27
-51
0
8
195
-142
-3
86
63
-11
1
-72
37
8
0
48
-11
-1
-97
55
-2
-2
3
-17
-3
12
36
2
16
-18
0
2
5
9
0
60
-11
-22
0
3
15
0
0
0
0
-10
0
19
3
-9
0
1
0
-2
31
196
3
-1
1
0
39
67
28
-35
-31
5
13
15
30
23
7
-20
0
-5
-11
-12
-4
0
34
37
-6
-38
-3
-12
2
-5
1
0
-13
-32
-8
0
57
33
0
-9
-58
17
5
1
2
48
2
43
0
4
-3
7
-4
0
-15
1
-2
0
1
0
13
-10
48
28
-42
1
0
6
56
16
-4
146
1
0
-21
58
-7
10
-59
-1
0
52
32
-2
-12
-80
10
0
4
-45
-11
-18
0
-3
0
51
16
-19
54
-87
0
-1
-14
-31
0
-2
7
41
-9
0
-5
0
47
7
0
7
0
47
20
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
-5
0
0
0
0
0
0
0
0
0
0
0
10
0
10
0
0
0
0
-7
-3
0
0
0
0
0
-9
0
0
0
0
-37
0
0
0
0
0
16
0
0
0
0
-6
-3
-2
0
0
0
0
17
0
0
-1
0
2
-1
44
0
8
0
-8
0
0
-56
-4
0
0
-3
0
0
2
-5
0
-2
0
0
0
-2
2
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
7
-14
0
-7
0
0
0
-15
0
0
-49
6
9
0
-10
-47
-15
-18
-5
0
0
-1
-69
0
5
3
-2
0
-3
46
0
2
7
0
0
8
24
0
35
1
5
-1
1
34
0
0
4
4
-6
0
3
-6
18
0
-3
0
0
122
18
11
9
0
0
-8
-89
10
-9
-13
1
0
21
0
0
11
65
-1
0
0
-16
0
0
-12
0
0
-8
-1
0
0
-9
0
0
0
146
0
0
11
7
0
0
-27
0
-1
20
0
4
0
78
0
1
0
0
-1
0
-4
0
0
0
0
0
0
46
8
-8
2
0
0
0
24
0
39
-40
0
0
-6
0
0
-2
-33
0
0
0
8
0
26
0
0
0
2
-10
0
-3
3
0
0
-4
-39
0
-5
-9
0
0
0
39
0
-2
0
0
0
0
7
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
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
129
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
-1
0
0
2
2
0
0
-46
0
0
0
55
0
-9
19
-6
0
0
-2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
77
0
0
51
0
0
11
6
0
-35
-49
-3
0
36
5
0
0
-14
0
0
-6
48
0
0
-3
0
0
-5
15
0
0
0
0
0
0
32
0
11
0
-2
0
0
14
0
0
0
0
0
0
-4
-2
2
0
0
0
0
41
1
0
10
0
0
0
61
1
0
-9
0
0
1
79
0
4
-8
0
0
-4
-21
0
-1
0
0
0
0
8
0
0
0
0
0
2
81
0
0
-4
-9
0
0
33
0
0
0
0
0
0
15
0
0
2
0
0
0
-22
0
0
0
0
0
0
57
0
0
0
0
0
0
2
0
0
0
0
0
0
-29
0
0
6
0
0
0
65
0
3
0
0
0
0
-2
0
0
0
5
0
0
-2
0
3
-1
0
0
0
2
0
0
0
0
0
0
67
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
-96
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
38
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
0
-2
2
0
0
-18
0
0
-35
0
0
0
-120
0
0
-27
-27
0
0
-25
6
0
9
1
0
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
0
0
0
-3
0
0
0
0
0
12
-33
0
0
-20
0
0
0
22
0
0
0
0
0
0
0
-9
58
0
0
-1
0
0
8
-80
0
15
28
0
0
-69
33
0
0
-30
0
0
-4
87
0
0
3
0
0
0
39
0
0
0
0
0
-3
3
0
-28
0
-3
0
0
-11
0
0
8
0
0
0
-46
1
10
0
0
0
0
-55
-3
0
0
0
0
4
-36
0
0
6
-1
0
-5
-94
0
0
0
0
0
-2
-7
0
0
2
0
0
0
5
0
0
1
0
0
0
-138
0
0
-1
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
0
125
0
0
0
0
0
0
13
1
-16
14
0
0
0
24
0
8
0
0
0
0
-24
0
2
0
0
0
0
-19
0
0
0
0
0
0
-78
0
11
0
0
0
0
-27
0
4
0
0
0
0
79
0
-4
5
0
0
0
30
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-3
0
0
3
0
0
-1
-1
0
-12
9
-12
0
-29
-1
0
0
0
0
0
-7
-5
0
0
1
-4
0
0
0
0
-9
0
0
-11
0
0
-17
0
0
0
-2
-3
0
47
24
-2
-4
7
-7
-10
2
-2
-52
-17
0
-17
10
0
0
6
-24
-5
42
5
7
10
-10
-3
25
60
-24
0
0
5
0
-19
-9
35
0
0
50
0
-37
63
-2
0
0
-3
0
-4
0
-13
0
0
2
-6
-25
0
0
1
0
0
0
-13
0
0
0
0
0
0
0
-5
31
-3
7
1
-1
0
14
-41
11
-90
-31
-3
0
31
6
0
8
-25
5
0
-4
-101
-2
0
75
-13
0
17
-78
0
0
51
0
0
11
27
0
123
0
-30
0
-3
-116
0
0
0
0
6
0
50
-6
20
0
0
0
3
61
18
23
38
0
0
5
30
23
-18
63
-6
0
73
39
-2
2
23
19
-10
-44
25
0
0
37
-1
-4
8
-57
0
-9
-49
7
0
2
36
22
0
-23
16
0
0
92
0
-5
0
-7
-6
0
108
0
0
-6
10
1
0
-69
0
0
0
0
0
-2
89
13
9
-15
0
0
-4
42
2
16
-5
0
0
6
53
-11
-2
0
-10
0
-2
-21
3
-4
0
0
1
6
-21
0
-4
-7
0
0
0
98
5
38
0
1
0
1
58
0
0
-1
-8
0
0
97
0
0
0
0
8
0
-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
115
0
0
0
-5
0
0
0
11
0
0
0
0
1
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
10
0
0
13
0
0
31
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-3
0
0
-30
0
0
0
-70
0
0
26
0
0
0
3
0
2
40
-1
0
0
0
0
-6
3
6
0
0
0
0
0
-2
0
0
0
2
0
-38
0
0
0
0
0
0
-7
0
0
17
0
0
0
1
0
0
0
0
0
0
0
8
-5
0
0
78
0
0
-82
-75
0
90
-51
0
0
12
-35
0
0
-9
0
0
-16
5
0
0
2
0
0
-1
-57
0
0
5
0
0
0
23
0
-60
0
0
3
0
-29
0
0
0
0
0
0
0
0
12
0
0
0
0
-60
-12
0
0
0
0
-6
-62
2
0
9
0
0
37
32
0
0
15
0
0
-2
60
0
0
4
-5
0
55
-57
0
0
0
0
0
0
69
0
0
3
0
0
-4
-31
0
0
0
0
0
0
-23
0
0
5
0
-6
0
18
0
0
0
0
0
0
44
-1
1
1
0
0
-9
-53
0
-13
-7
0
0
0
53
0
0
-6
0
0
0
46
0
0
1
0
0
0
22
0
-2
0
-1
0
0
54
0
6
-2
0
0
0
13
0
0
3
0
0
0
29
0
9
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
1
0
0
1
-1
0
0
0
10
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
-47
0
0
0
0
0
2
-11
0
0
0
0
-7
0
0
0
-7
0
0
75
4
0
0
-21
0
0
99
-1
0
0
12
-10
0
4
0
0
-10
0
0
0
-5
1
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
0
46
0
0
0
0
0
0
0
0
0
0
0
-11
66
0
0
-3
0
0
50
-3
0
-71
72
-2
0
13
110
0
0
34
0
0
0
14
0
0
-2
0
0
0
53
0
0
2
0
0
0
16
0
-43
0
18
0
0
17
0
0
0
0
0
0
50
-5
0
0
0
0
0
35
0
0
26
0
0
-2
107
-5
-1
11
-1
0
8
69
0
0
3
0
0
-4
-27
0
-21
32
0
0
0
45
0
0
4
0
0
0
51
0
4
9
0
0
-4
26
0
0
5
0
0
0
-59
0
0
0
0
0
0
-124
0
0
0
0
0
0
52
0
0
0
0
0
-1
-8
0
20
0
0
0
3
2
0
1
-5
0
0
0
-79
0
1
0
0
0
0
62
0
0
6
0
0
0
-23
0
8
0
0
0
0
5
0
0
0
0
0
0
74
0
8
0
0
0
0
80
-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
9
70
-16
-42
105
-2
-18
16
24
-10
11
-9
0
-41
-39
-33
0
0
-1
6
-12
1
10
0
-54
-6
0
37
0
0
-24
0
0
-2
3
29
33
-12
-28
12
0
-14
-17
14
21
-2
-50
35
46
-84
1
-6
-5
2
-8
25
28
-38
4
-9
10
-7
86
-54
-23
-16
37
116
4
51
12
59
19
7
-16
17
75
82
39
-3
-2
-33
1
-6
5
23
0
0
-23
5
-54
0
-1
2
0
-2
-10
43
0
0
0
0
0
0
0
-18
-41
120
16
73
-1
-4
34
14
99
34
74
-107
2
3
44
17
-37
45
-2
-12
57
-39
-7
-12
-42
78
15
54
54
-10
-5
51
-8
-51
-54
-13
0
54
26
-17
-89
2
13
0
0
1
-5
-10
0
6
-36
155
0
-37
2
7
-1
70
17
123
3
5
9
15
-8
25
-35
-66
9
84
16
-32
-53
43
0
97
15
35
-39
30
55
31
15
-11
-40
41
-65
-51
5
5
-74
36
-23
-3
-53
-6
-55
105
26
0
0
6
0
3
-2
36
0
0
-6
91
-3
0
-31
-13
0
0
-5
-7
-6
10
-63
23
-60
0
-3
-9
-58
-76
-17
28
-4
-8
14
28
58
-164
-28
19
3
25
34
10
-50
31
36
-33
33
-20
9
34
102
47
-80
-56
16
-4
16
54
16
10
-1
10
-8
0
11
-3
29
-4
29
0
-125
-1
3
-17
0
-89
-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
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
45
0
0
0
0
0
22
0
0
0
0
0
0
-18
0
-6
0
0
-15
0
0
-2
7
0
0
20
-1
0
0
86
0
0
-21
0
0
0
11
0
10
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
-3
0
0
0
0
-8
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
-8
73
-6
0
89
0
0
29
-51
0
-47
75
4
0
14
0
0
0
32
0
0
-8
-91
0
1
-3
1
0
0
33
0
0
-4
-1
0
0
-5
0
-11
-18
1
0
0
-16
0
0
0
0
0
0
55
15
-5
0
0
0
-2
-23
0
0
-6
0
0
31
54
0
-15
24
0
0
8
114
0
0
18
0
0
5
0
0
1
-18
-15
0
-1
72
0
0
-9
-3
0
0
-48
0
0
0
0
0
0
-17
0
2
1
0
5
0
-123
0
1
0
0
0
0
-108
0
6
0
0
0
0
-48
4
0
-2
0
0
-5
17
0
65
4
0
0
0
54
-1
0
-10
1
0
0
0
0
16
13
5
0
1
-29
0
0
6
0
0
-2
-63
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
-11
0
0
-1
0
-43
-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
1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
88
0
0
0
0
-6
1
0
0
0
0
0
-5
0
0
0
0
0
0
71
0
0
0
-52
0
0
5
0
0
0
0
0
0
0
5
0
0
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
36
0
0
2
0
0
17
-1
0
-2
-12
0
0
-21
-41
0
0
11
0
0
12
-31
0
0
0
0
0
23
19
0
0
0
0
0
0
0
0
30
0
-5
0
0
28
0
0
0
0
0
0
33
0
0
0
0
0
0
-11
0
0
0
0
0
-8
81
0
13
5
0
0
-10
35
0
0
1
0
0
-1
7
0
0
-12
0
0
0
30
0
0
-2
0
0
0
62
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
1
0
0
26
0
0
0
0
0
0
7
8
0
-11
0
0
0
-7
0
2
-10
0
0
0
19
0
0
0
0
0
0
4
0
1
0
0
0
0
4
0
0
0
0
0
0
-62
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-51
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
0
10
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
9
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-132
0
0
-18
0
0
0
0
0
15
14
-3
0
-19
19
0
0
0
0
0
0
62
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
-11
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
-3
0
1
0
0
16
98
0
0
0
0
0
-7
-21
0
0
0
0
0
0
-33
0
0
0
0
0
-4
-60
0
0
0
0
0
0
-12
0
0
0
0
0
0
49
0
0
1
0
0
0
-1
0
0
0
0
2
0
-28
0
0
0
0
0
0
49
0
0
0
0
0
0
-13
0
10
0
0
0
0
6
0
3
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
20
1
0
0
0
-2
0
0
0
0
0
0
36
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
-21
0
0
-1
0
-2
0
0
0
0
0
0
-36
0
4
0
-9
0
0
19
0
0
0
32
0
0
59
-2
11
1
-2
-3
0
53
7
0
0
-1
0
0
-3
-17
0
0
0
-5
0
1
-2
0
0
0
0
0
-1
5
0
0
0
0
8
0
0
19
0
0
-1
-3
0
0
0
0
0
0
0
-33
-41
0
0
-12
0
0
20
49
0
-93
39
0
0
57
-42
0
0
-7
3
0
32
64
0
0
0
-1
0
0
26
0
0
-4
0
-15
0
-1
0
-66
-7
8
0
2
63
0
0
0
0
0
0
-21
-6
9
0
0
0
0
9
-12
-2
-1
0
0
3
67
-27
3
-6
0
0
-57
-33
0
0
-3
0
0
-15
-38
0
0
34
-4
0
-9
77
0
0
13
-7
0
0
-2
0
0
0
1
0
-1
88
0
0
0
0
0
0
9
0
0
0
0
0
0
22
0
0
0
0
0
0
-52
7
0
0
0
0
0
6
0
43
1
0
0
0
9
-5
0
0
2
0
0
11
0
14
0
0
0
0
46
0
-1
0
-14
23
3
-4
0
7
0
0
0
0
-25
0
-7
-1
0
0
0
78
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
-5
0
0
12
0
0
5
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
2
2
0
0
-7
0
0
-4
0
0
0
-3
0
0
0
3
0
0
2
0
0
0
-3
0
0
0
0
0
0
1
0
-18
0
0
0
0
2
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
-6
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
-10
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
22
0
0
0
0
0
46
0
0
0
0
0
0
-18
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
-54
0
0
-1
0
0
0
9
0
0
1
0
0
0
-7
0
0
9
-1
0
0
1
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
0
38
28
0
0
4
0
0
50
33
0
-51
61
0
0
-9
19
0
0
-8
0
0
10
-16
0
0
8
0
0
1
9
0
0
8
0
0
0
-12
0
-31
0
2
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
93
0
0
-2
0
0
9
22
1
0
-55
0
0
-9
-24
0
0
-7
0
0
61
-37
0
0
4
0
0
-1
19
0
0
-8
0
0
0
-22
0
0
1
0
0
0
108
0
0
1
0
0
0
-72
0
0
0
0
0
0
-2
0
0
0
0
0
0
-71
-8
0
0
0
0
0
-4
0
9
0
0
0
-5
7
0
0
-10
0
0
2
4
0
0
0
0
0
0
-33
0
0
0
1
0
0
76
0
-16
0
0
0
0
-10
0
0
0
0
0
0
-8
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
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
6
0
0
71
0
0
0
30
0
0
2
-3
0
0
97
42
0
22
-1
0
0
4
0
5
-5
7
0
0
-13
0
0
-12
1
0
0
0
0
0
0
-4
0
0
0
1
-11
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-37
0
0
0
3
0
133
-32
7
0
17
-31
0
0
47
0
0
1
-94
0
0
-3
-3
0
-4
67
0
0
31
0
0
0
-13
0
0
0
-1
0
0
16
0
0
0
0
-1
0
63
-4
0
0
0
0
0
-25
-13
0
0
0
0
-3
42
-4
8
-31
-7
-5
9
-24
0
7
-8
0
0
0
23
0
-3
-6
-10
4
-9
-48
0
0
1
0
0
-4
-46
0
0
2
1
0
0
-24
0
0
2
0
-10
0
18
0
0
0
0
-5
0
-38
0
0
0
0
-2
0
6
-16
-5
0
0
0
0
-46
3
-10
-40
0
0
0
-7
0
7
0
6
0
0
-2
2
-5
11
0
0
0
51
0
0
1
1
0
0
-86
0
0
3
0
0
0
12
0
0
0
-3
3
0
-6
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
-7
0
0
0
0
0
1
0
-7
-7
0
0
0
0
0
0
0
31
0
0
0
0
0
-31
0
0
0
-2
15
0
-30
8
0
0
2
-37
0
0
8
60
0
0
85
4
0
0
-43
4
0
130
20
0
0
-19
-57
5
29
0
1
0
-1
-8
-13
13
33
0
0
-6
3
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
-10
0
0
33
0
0
0
-5
0
0
0
0
0
0
0
-4
40
0
0
143
0
0
56
-15
8
24
-14
2
0
-2
-88
0
0
33
4
1
-37
0
0
0
-26
-5
0
0
6
-2
0
35
-2
0
0
-65
0
-165
6
8
0
0
82
0
0
0
0
0
0
40
-13
7
0
0
0
4
14
81
0
-24
0
0
-8
9
2
-3
-25
0
0
12
-33
-5
0
51
0
0
-9
9
1
-13
0
-8
0
-1
0
0
-11
4
-16
0
0
6
0
0
-3
9
0
0
-2
0
0
-2
0
0
0
125
0
0
1
15
-4
0
3
0
0
0
0
0
4
56
-37
0
11
0
0
6
-81
0
-8
41
-1
0
-11
24
-8
-4
-5
0
0
29
8
2
0
21
0
0
-4
0
0
-9
12
-14
0
-3
21
0
1
0
0
0
0
25
0
11
0
0
0
0
15
0
1
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
1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-36
0
0
0
0
0
2
0
0
0
0
0
3
0
0
6
13
0
0
2
0
0
0
21
0
0
4
-1
0
0
16
-3
0
83
0
0
0
1
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
1
0
0
0
11
0
0
0
0
0
0
0
19
-69
0
4
-39
0
0
-26
75
0
27
-55
-4
0
26
-37
0
0
-11
0
0
-14
16
0
0
7
0
0
-1
67
0
0
0
0
0
0
16
0
19
0
0
0
0
32
0
0
0
0
0
0
63
0
0
0
0
0
0
4
1
0
-1
0
0
0
37
0
-8
4
0
0
0
45
0
0
0
0
0
0
11
0
0
26
0
0
0
-41
0
0
-7
0
0
0
63
0
0
0
0
0
0
38
0
0
-6
0
0
0
8
0
0
0
2
0
0
-18
0
0
0
0
0
0
8
5
2
0
0
0
0
-2
0
4
0
0
0
0
-23
0
0
7
0
0
0
67
0
0
0
0
0
0
-13
0
0
0
0
0
0
-36
0
1
0
0
0
0
-1
0
0
8
0
0
0
102
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-86
0
0
0
0
0
0
14
0
0
0
0
-3
0
0
0
0
0
1
18
-2
0
0
10
0
0
3
0
0
0
21
-10
0
20
-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
1
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
-3
-151
0
0
21
0
0
1
8
0
-3
-6
0
0
10
18
0
0
-18
0
0
0
-15
0
0
0
-8
0
1
12
0
0
2
0
0
0
11
0
3
0
0
0
0
-31
0
0
0
0
0
0
-132
-2
0
0
0
0
0
21
-12
0
-2
0
0
-2
61
-5
0
0
0
0
0
36
0
0
2
0
0
0
-25
0
-1
-5
0
0
0
17
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
-9
0
0
0
0
0
0
-58
1
0
0
0
0
0
-6
0
-2
0
0
0
0
-5
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
2
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
11
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
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
32
0
0
-1
0
0
63
0
0
0
0
0
0
-8
0
0
0
0
5
0
0
0
0
0
0
96
0
0
0
-7
0
0
0
0
0
0
0
6
0
-5
7
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
-12
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
-49
0
0
1
0
0
-4
10
0
24
-13
0
0
-7
2
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-35
0
0
2
0
0
0
14
0
13
0
0
0
0
-13
0
0
0
0
0
0
-41
-7
1
0
0
0
0
-32
5
0
0
0
0
0
8
0
0
-3
-1
0
0
-34
0
0
3
0
0
0
6
0
0
2
0
0
0
-12
0
0
-2
2
0
0
-23
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
1
0
-45
0
0
0
0
0
0
-38
0
0
0
0
0
0
-2
0
-1
-10
0
0
0
2
0
0
5
-5
0
0
48
0
2
-7
0
0
0
-6
0
-4
0
0
0
0
-3
0
-5
-4
0
0
0
12
0
0
0
-2
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
0
0
0
0
0
-4
0
-12
0
0
0
-9
1
0
0
0
0
0
-11
0
0
0
64
0
0
23
0
0
-11
0
0
0
1
0
0
0
-5
0
0
0
20
0
0
0
11
0
0
-64
0
0
0
18
0
2
-2
0
0
0
-2
0
-1
56
9
0
0
0
0
-2
-4
1
0
0
0
0
0
0
4
0
0
0
0
-20
0
0
0
0
0
0
-23
0
0
17
0
0
0
-1
0
0
0
0
0
0
0
-2
91
0
0
-26
0
0
0
7
0
-70
-22
0
0
-29
-21
0
0
-37
0
0
-15
86
0
0
35
0
0
-3
13
0
0
58
0
0
-5
3
0
49
0
0
0
0
-5
0
0
0
0
10
0
11
6
1
0
0
0
0
2
7
0
0
0
0
-12
-12
0
0
9
0
0
0
-45
0
0
-3
0
0
12
-40
0
0
-22
0
0
-2
-118
0
18
-8
0
0
0
8
0
0
6
0
0
0
-16
0
0
32
0
14
0
55
0
0
-4
0
0
0
22
0
0
0
0
-2
0
-9
-2
0
0
0
0
1
11
0
7
-1
0
0
0
36
4
0
0
0
0
-1
-30
0
-6
8
0
0
3
27
0
0
0
0
2
0
33
0
-1
1
0
-2
0
2
0
0
-1
0
0
0
17
0
-3
0
0
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
-1
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
-1
0
0
0
0
-2
0
0
0
17
0
0
59
0
0
0
3
0
0
5
-1
0
0
-23
16
0
21
1
0
0
8
0
0
28
-1
0
0
-10
-1
0
42
2
0
0
0
0
0
0
3
0
0
-1
37
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
9
-36
0
0
-49
0
0
-30
100
0
28
-14
-3
0
38
66
0
0
-82
0
0
0
21
0
0
-37
-3
0
20
78
0
0
50
0
0
11
-4
0
78
-10
-65
0
0
-36
0
0
0
0
0
0
59
-3
0
0
8
0
0
-7
-56
0
6
0
0
0
-7
-3
-20
77
4
0
20
16
0
10
40
0
0
-23
29
0
10
35
0
0
17
83
-4
0
26
28
0
0
35
0
0
60
-18
0
0
17
0
0
-8
0
0
0
56
0
0
3
5
0
0
8
0
0
0
0
0
0
1
6
0
7
0
0
0
48
0
34
12
0
0
0
-4
0
0
6
0
0
0
53
0
-1
1
0
0
0
25
0
-2
0
12
0
0
-10
0
3
13
0
0
0
-25
0
0
1
0
0
0
-20
0
39
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
2
0
0
0
0
0
31
3
0
0
0
0
1
0
0
0
0
1
0
5
0
0
0
0
-2
0
0
0
7
0
0
-86
0
0
0
-38
0
0
8
0
0
0
-11
0
0
0
0
0
0
-1
0
-71
-4
-7
0
0
-1
0
1
0
0
0
0
-25
0
42
0
6
0
0
0
-7
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-88
0
14
-32
0
0
0
-13
0
5
-27
-5
0
3
1
0
0
-9
0
0
0
73
0
0
-11
0
0
0
-20
0
0
-56
0
0
0
-12
0
-6
1
72
0
0
-20
0
0
0
0
0
0
-17
0
0
0
0
0
0
57
4
0
0
0
0
0
-34
3
0
11
0
0
0
19
0
0
-13
0
0
0
4
0
-1
-13
0
0
6
51
0
0
36
0
0
0
30
0
0
0
0
0
0
-55
0
0
-5
0
-3
0
-25
0
0
4
0
0
0
54
0
0
0
0
0
0
79
0
0
1
0
0
0
87
0
-22
0
0
0
0
-36
0
0
-1
0
0
0
-80
0
-11
5
2
0
0
-45
0
3
0
-16
0
0
23
0
0
19
0
0
0
22
0
0
0
0
17
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
0
0
0
0
0
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
0
0
0
-5
0
0
0
0
-91
0
0
0
0
0
-21
0
0
0
0
-3
-5
-2
0
0
0
0
6
0
0
0
0
13
0
-39
-8
0
0
29
0
0
-11
-3
0
-6
35
16
0
-8
3
0
0
1
0
0
69
0
-1
0
2
0
0
1
-2
0
0
7
0
0
0
3
0
0
0
0
0
0
0
-14
0
0
0
11
0
0
0
0
0
0
0
-4
27
0
1
-51
0
0
16
37
-7
77
19
-2
0
28
52
-7
0
-23
3
0
8
-45
0
0
3
-1
0
7
0
0
0
1
0
1
0
-26
0
6
0
0
0
0
27
0
0
0
0
0
0
-26
6
-12
0
0
0
3
-15
37
-1
-35
0
0
-7
20
13
-2
-7
-16
-3
-3
10
0
0
43
-1
0
1
9
0
0
10
0
0
-15
-37
10
0
0
0
0
8
0
-2
0
-1
5
0
0
-56
0
0
0
0
0
0
29
0
0
-3
0
0
0
22
3
0
0
0
0
-11
90
3
-3
0
0
0
0
12
6
43
-41
0
-3
0
-39
-5
0
10
0
0
-5
27
0
-15
0
0
0
0
-7
0
-2
20
-8
0
0
0
-5
1
0
0
0
0
-39
0
-6
0
-17
0
0
-67
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
0
0
-4
0
0
0
-11
0
-19
12
0
0
10
4
0
0
9
0
0
0
-14
0
0
0
0
0
5
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-69
-1
0
0
0
0
0
32
0
0
0
0
0
0
-40
0
0
-5
0
0
0
-57
0
0
-10
0
0
0
-28
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-5
0
0
-3
0
0
0
-5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
-3
0
0
0
35
0
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-43
0
0
0
19
0
0
20
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
50
29
6
0
1
-6
0
0
0
0
0
0
-20
0
0
4
0
0
0
4
0
0
0
0
0
0
-2
0
1
0
0
0
0
5
0
0
0
0
0
0
51
0
0
0
0
0
0
-45
0
0
0
0
0
0
15
0
0
0
0
0
0
51
0
0
0
0
0
0
-5
0
0
1
0
0
0
9
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
-23
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
0
0
0
0
0
10
0
0
3
0
0
0
-2
0
0
0
0
0
1
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-69
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-10
0
0
-5
-3
0
0
6
0
0
-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
-9
11
0
0
1
0
0
0
6
0
-32
-3
0
0
-9
-8
0
0
0
0
0
0
-7
0
0
0
0
0
7
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-27
0
1
0
0
0
0
-71
0
0
0
0
0
-1
-20
0
0
3
0
0
0
-13
0
0
-15
0
0
0
-49
0
0
0
0
0
0
-43
0
0
0
-4
0
0
4
0
0
-6
0
0
0
-50
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
-3
0
0
0
0
12
0
0
0
-1
0
0
11
0
0
0
0
0
0
3
0
0
0
-7
0
0
30
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
10
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-12
0
0
0
0
0
0
-2
0
-6
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
-1
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-53
0
0
0
0
0
0
-7
0
0
0
0
0
-3
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
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
7
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
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
16
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
6
0
0
0
0
0
0
-22
6
0
0
0
-11
0
0
0
4
0
0
22
0
0
0
-54
0
20
-3
-2
0
0
26
11
0
-39
11
0
0
30
0
0
-5
8
0
0
0
-3
0
1
-5
0
0
-6
0
0
0
0
0
0
0
12
0
0
0
27
0
0
-10
0
0
0
0
0
0
0
0
-42
-36
0
0
57
0
0
-56
-43
0
-61
-6
-2
0
119
-73
0
0
36
0
0
-8
112
0
0
-6
0
0
0
-15
0
0
-9
0
0
-6
10
0
-38
0
-3
0
0
32
0
0
0
0
0
0
45
-27
0
0
0
0
0
-23
4
0
-5
0
0
-16
50
0
7
-13
-3
0
-83
-28
0
0
-10
0
0
-8
31
0
0
-20
13
0
6
9
-1
3
-14
0
0
-16
22
0
0
5
4
0
-1
5
0
0
-4
0
0
0
-13
0
0
5
32
0
0
10
6
0
0
0
0
0
2
32
0
0
0
0
-23
7
0
9
-4
0
0
-5
-15
0
0
78
0
0
9
120
0
2
29
0
0
2
41
0
7
-13
0
0
0
-26
0
-19
0
0
0
0
17
0
-12
1
0
0
0
-50
0
26
0
0
0
0
-13
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-3
0
0
6
0
0
0
-81
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
-4
9
0
0
0
0
0
0
-4
0
0
1
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-47
20
0
0
11
0
0
22
-19
0
-9
0
0
0
-10
-62
0
0
5
0
0
-2
-19
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
5
0
0
0
0
35
0
0
0
0
0
0
-61
0
0
0
0
0
0
-40
0
0
0
0
0
16
-105
0
0
0
4
0
9
-45
0
0
4
0
0
0
4
0
-5
0
0
0
-10
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-46
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
-7
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
-5
0
0
0
31
0
0
0
7
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
21
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-21
-5
0
-10
0
0
0
-20
0
0
15
-3
2
0
-9
0
0
-36
-4
0
0
3
0
0
0
-8
0
0
-1
4
0
-1
0
0
0
0
0
0
6
0
0
0
0
10
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
17
-1
0
-38
0
0
22
39
0
-72
-39
0
0
-58
-16
0
0
23
0
0
3
-86
0
0
-1
0
0
-3
-42
0
0
-5
0
0
0
0
0
-6
0
0
0
0
31
0
0
0
0
0
0
-47
2
0
0
0
0
0
43
4
0
-5
0
0
0
45
4
-9
5
6
0
0
69
0
0
-18
0
0
0
-10
0
0
-40
0
0
-8
-44
-1
-5
-1
0
0
0
6
0
0
-8
32
0
0
0
0
-1
-3
0
0
0
-8
0
0
6
0
37
0
-31
0
0
0
0
0
0
8
0
0
-4
0
0
0
-40
0
-14
1
0
0
0
-67
-8
0
-1
0
0
0
-10
0
0
-6
0
0
0
2
0
0
6
0
0
0
-53
0
-19
-3
0
0
0
0
0
1
0
-1
0
0
25
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
19
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
-1
0
0
36
0
0
0
-5
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-61
0
0
5
0
0
-3
0
0
4
-17
0
0
31
0
0
0
0
0
0
0
15
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
-3
14
0
0
0
-3
0
0
0
0
0
0
32
-7
0
0
0
0
0
71
0
0
0
0
0
23
56
0
0
0
0
0
0
-6
0
0
0
0
0
0
151
0
0
2
0
0
-1
37
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
-38
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
-6
0
0
0
0
-7
0
0
0
0
0
0
20
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
-7
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
9
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
-5
0
0
0
8
0
-11
17
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-48
0
0
0
0
0
0
-23
0
0
0
0
0
0
-74
0
0
-7
0
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-47
0
0
0
0
0
0
-15
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
4
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
-3
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
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
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
22
0
0
12
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
-1
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
5
20
0
0
7
0
0
-11
57
0
7
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
7
0
0
0
0
6
0
0
0
0
0
0
63
0
0
0
0
0
0
-48
0
0
0
0
0
0
3
0
5
0
5
0
0
-6
0
0
1
0
-4
0
-3
0
0
0
4
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-39
0
0
0
0
4
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
5
0
0
0
0
-2
0
0
3
0
0
0
8
0
0
0
0
0
0
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-22
0
0
0
0
-5
0
33
0
0
0
2
0
0
0
0
3
0
0
-39
0
0
0
8
0
0
-10
0
0
8
-15
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
-25
0
0
3
0
0
0
2
0
-10
-11
0
0
11
-38
0
0
3
0
0
0
2
0
0
14
0
0
-5
19
0
0
33
0
0
0
4
0
-44
0
0
0
0
-89
0
0
0
0
0
0
11
-2
0
0
0
0
0
12
-22
0
1
0
0
0
-67
0
-5
-1
0
0
0
-37
0
0
2
0
0
-7
-54
0
0
0
0
0
12
-3
0
0
-2
0
6
6
39
0
0
16
0
0
0
-59
0
0
-13
0
3
0
-13
0
0
3
0
0
0
40
0
0
0
0
0
0
-80
0
0
-13
0
0
0
5
0
-15
-2
0
0
6
8
0
0
0
0
0
0
13
0
0
-1
0
0
0
-46
0
0
-8
0
0
0
19
0
0
0
0
0
0
52
0
0
-4
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
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
2
0
0
0
0
0
-1
-2
0
0
0
0
2
0
0
0
-4
0
0
-7
0
0
0
-20
0
0
3
2
0
-4
0
-14
0
-11
0
0
1
0
0
0
-8
-11
0
0
-8
-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
39
89
0
0
104
0
0
-36
10
0
27
66
-4
0
23
-15
0
0
-1
0
0
0
-13
0
0
7
0
0
0
-55
0
0
-7
0
0
0
4
0
-4
-19
0
0
0
-8
0
0
0
0
0
0
8
-2
1
0
0
0
0
-52
0
0
23
0
0
7
-98
0
0
63
0
0
55
5
0
0
-2
0
0
0
-27
0
3
-9
0
0
15
-32
0
0
-29
-14
0
0
22
0
0
0
0
0
-2
70
0
0
0
0
0
0
57
0
0
-1
0
0
0
65
0
0
0
0
0
0
-29
-2
0
0
0
0
0
-18
0
9
-15
0
0
-1
1
0
0
-1
0
0
-4
-2
0
7
0
0
0
0
35
0
0
0
-5
0
0
2
0
-10
0
0
0
0
13
0
0
0
0
0
0
-25
0
-6
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
-49
0
0
0
0
0
0
0
0
0
0
0
-13
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
1
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
0
4
0
-1
0
0
0
0
-1
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
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-45
-1
0
0
0
0
0
-16
0
0
2
0
0
0
-1
0
0
0
0
0
0
-3
0
0
-8
0
0
0
-2
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
-8
0
0
0
-11
0
0
0
1
0
0
-10
0
0
0
0
1
0
4
37
0
0
0
0
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
-38
0
0
-6
0
0
0
13
0
24
-25
0
0
-3
-37
0
0
0
0
0
0
-39
0
0
8
0
0
-3
1
0
0
1
0
0
0
-13
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-56
-3
0
0
0
0
-4
-22
0
0
0
0
0
0
30
0
8
0
0
0
0
33
0
0
-4
0
0
0
18
0
0
-4
0
0
-5
32
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
37
0
0
0
0
0
0
5
0
-1
0
0
0
0
-32
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-3
0
0
0
-4
0
0
-4
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
0
0
0
0
18
0
0
0
2
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
11
0
2
-1
0
0
0
-20
0
0
-3
0
0
12
-14
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-62
0
0
0
0
0
0
-79
0
0
18
0
0
-1
-41
0
0
0
0
0
-4
-6
0
0
7
0
0
0
-22
0
0
0
0
0
0
-114
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
19
0
0
0
0
0
0
17
0
-4
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-76
-24
5
39
-96
4
-32
5
22
-11
-72
-73
-11
48
-21
6
14
-46
-6
28
-2
-27
36
-22
1
-25
32
-8
-43
-9
4
-10
25
14
-33
-98
-24
-5
10
-20
16
5
-49
-58
-6
4
-8
5
1
-22
-42
10
-3
-21
22
7
-1
0
-49
-1
-1
-25
40
0
0
0
0
0
0
0
-2
-1
39
5
14
-28
-83
-14
-22
-29
-32
-19
-99
-5
22
-25
-41
-15
-25
-40
-27
-15
39
-54
1
-39
80
28
-80
7
-5
-15
81
4
-25
35
-9
-14
-14
-34
-16
47
-21
-46
35
5
-10
0
-56
0
14
29
-1
-2
-26
0
-14
-31
46
15
-8
14
4
128
1
-2
-41
-12
-83
-61
-18
-8
20
-12
-25
71
3
-45
0
-18
12
11
-73
70
-38
22
-2
-66
10
-52
-23
28
-33
63
56
5
-18
4
3
7
-4
-11
-56
24
16
29
-12
-6
42
-88
42
11
-2
-24
50
-8
1
26
8
-32
13
-14
-174
2
-32
1
71
-4
26
-15
125
-42
12
-40
-36
-14
39
-61
-153
10
-28
-18
20
17
1
59
-45
16
-3
-33
87
1
0
31
-30
-41
10
-9
-14
77
25
-13
-32
-7
63
23
20
45
1
-17
8
-58
-10
3
-47
-1
2
18
-82
5
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
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
5
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
8
0
0
0
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
13
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
0
0
0
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
-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
5
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
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
-2
2
4
-5
0
0
0
15
0
0
-12
5
1
0
-18
-1
0
0
28
-1
0
86
9
0
0
-20
34
0
77
0
3
0
-6
0
0
32
-15
0
0
-2
-12
0
-23
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
0
0
-2
0
0
0
0
0
0
0
0
-50
23
13
0
32
0
0
47
8
-10
57
37
-1
0
54
-36
0
1
36
0
0
42
46
0
0
30
-20
0
67
61
0
0
11
0
0
-4
-18
0
-51
-1
9
0
0
-27
0
0
0
0
0
0
-30
33
-1
0
22
0
0
17
-13
-4
-11
0
0
-14
8
14
-8
-82
-6
0
-9
-41
0
9
61
0
0
19
67
0
31
67
14
0
-35
-35
-9
-1
17
1
0
-9
-5
0
0
76
17
0
-11
74
0
0
-7
0
0
0
-37
0
0
-9
-31
0
0
30
-8
0
0
0
0
0
-66
11
0
0
0
0
-12
101
0
-52
-58
0
0
-5
52
0
0
-16
-1
0
0
-47
0
-1
-23
4
0
0
-19
0
0
15
-3
0
0
41
0
19
-3
0
0
11
-83
0
-10
-1
-3
0
0
6
0
26
7
0
0
0
4
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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
5
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
8
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
-1
0
0
0
0
0
0
0
0
0
0
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
-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
16
-44
36
89
0
29
-38
55
24
-91
-15
7
20
50
9
33
76
-14
3
11
-34
-18
-9
49
7
52
-13
-40
13
-52
23
20
72
-137
-9
42
-24
18
23
48
6
4
27
-70
-25
-16
1
19
-10
-56
-6
-7
-37
-56
10
16
-7
1
-4
-46
-53
64
-3
0
0
0
0
0
0
0
28
-5
90
46
-11
50
23
15
-13
2
34
-1
-26
-2
-1
9
-50
82
1
15
0
-32
-55
-75
69
16
-25
-8
-11
10
-13
-65
-1
-49
6
10
-8
-85
-6
11
22
12
5
12
-9
-61
4
13
-24
7
5
47
-32
-13
11
-41
29
-1
-48
-54
37
17
7
-13
-1
59
51
9
-8
13
-62
1
-124
3
20
8
-19
71
-14
5
1
28
-24
-27
30
17
83
18
-2
14
-70
46
18
53
-36
-8
13
-82
-31
2
51
-29
-38
-33
45
0
-17
-59
-58
-39
-64
-29
-1
-18
-3
-88
-32
16
12
30
-11
32
-39
81
-35
-29
97
-10
53
-36
-9
46
37
-30
25
-43
-50
-18
-52
-12
-58
-22
-76
-111
29
-34
3
-7
-35
-13
-50
-54
72
29
41
0
27
-12
-4
13
-4
-96
13
20
-30
-56
4
37
-12
7
46
50
-30
22
-9
-12
16
-4
20
-27
-58
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
8
0
0
0
0
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
-16
0
0
0
0
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
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
-19
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
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
7
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
4
0
0
-33
33
0
81
-8
0
0
50
18
0
0
0
0
0
0
19
0
0
0
0
0
0
-47
0
0
0
0
0
0
-7
0
-2
0
0
0
0
-27
0
0
0
0
0
0
19
-9
0
0
0
0
0
28
8
0
0
0
0
-8
68
0
0
3
0
0
-1
108
0
0
0
0
0
0
55
0
0
0
0
0
0
78
0
0
0
0
0
0
16
0
0
0
11
0
0
-56
0
0
0
0
0
0
17
0
0
0
0
0
0
48
0
0
0
0
0
0
-55
6
0
0
0
0
0
21
0
0
0
0
0
1
-44
0
0
0
0
0
0
-4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
-3
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
0
0
0
0
0
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
0
25
83
0
18
24
7
-11
0
-22
0
0
-81
16
0
2
-3
-15
0
-25
22
0
0
-47
0
0
2
5
0
0
15
-23
0
4
0
0
0
1
0
0
0
11
0
0
0
0
-6
0
0
-20
0
1
0
11
0
0
0
0
0
0
0
116
-34
-1
2
126
-1
0
-46
-4
-17
38
61
-6
0
-38
-7
-2
0
-106
1
0
0
29
0
0
6
7
0
-16
58
0
-1
-21
0
0
1
97
0
2
-10
0
0
0
87
0
0
8
0
-1
0
84
20
0
0
-5
0
0
73
9
2
-5
0
0
83
14
33
1
41
-1
0
-34
-88
4
0
-56
-1
0
-23
-8
0
2
-27
19
0
6
55
0
7
-25
0
0
0
-73
0
0
22
57
0
4
-69
0
0
-3
0
0
0
59
0
0
4
0
0
0
-87
3
0
0
0
0
0
127
-25
0
-6
0
0
0
53
-11
64
20
-4
0
21
-15
9
-11
14
0
0
4
-15
0
-51
1
1
0
0
-25
0
0
3
-45
0
0
-45
0
-4
0
0
0
0
1
0
4
0
0
0
0
18
0
-9
0
0
0
0
-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
-1
8
0
0
0
16
-1
0
0
-12
0
0
7
10
0
-3
54
1
0
-2
0
0
0
9
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
-1
0
0
28
0
0
0
0
0
0
0
0
0
0
0
8
-36
0
0
-34
0
0
6
45
0
-34
54
6
0
113
-12
0
0
12
0
0
28
-23
0
0
4
-3
0
7
31
0
0
3
0
0
0
4
0
38
0
1
0
0
26
0
0
0
0
0
0
-12
-14
0
0
0
0
0
0
2
1
-15
0
0
1
17
11
-17
25
11
0
0
-45
1
0
5
0
0
0
8
0
0
-13
0
0
-1
-13
0
2
-11
0
0
-6
8
0
0
21
-5
0
0
87
0
0
4
0
0
0
-56
0
0
0
4
-10
0
10
0
0
0
0
0
0
0
76
13
-14
8
0
0
1
0
-20
-4
0
0
0
82
0
29
0
0
0
0
30
0
0
13
0
0
2
-7
0
-3
3
-2
0
0
-23
0
0
0
0
0
0
-2
0
0
0
-2
0
0
49
0
1
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-40
11
17
0
-56
11
-13
0
40
0
14
-20
1
0
0
21
24
-12
-9
-56
0
11
0
0
24
3
-44
0
-5
29
0
6
-6
12
0
0
-1
0
0
1
-1
33
0
0
1
39
0
0
-39
0
0
1
-28
0
0
0
0
0
0
0
-60
-18
-2
0
30
-1
-5
15
3
-10
68
-17
14
-6
117
42
0
-12
-73
0
3
-44
105
0
0
3
1
0
-16
22
0
23
-6
0
0
-7
-11
0
-24
-21
62
-2
0
-38
0
0
0
0
-2
0
-55
11
-9
0
0
0
9
-9
-3
7
-8
-15
0
23
-49
27
0
-34
5
1
-40
49
0
1
41
5
-3
19
2
0
-38
10
40
3
41
26
0
-5
29
8
-1
-13
-26
0
-3
7
30
1
-3
-37
0
0
1
3
28
0
33
0
0
10
0
11
0
-7
-5
0
0
0
-3
-12
23
0
-9
100
-10
0
41
32
0
35
6
0
0
-15
28
-2
-19
32
-14
0
7
10
0
31
-4
-6
21
5
-3
0
5
13
-62
0
-17
56
0
-35
-1
25
0
0
10
0
-12
-3
17
15
17
24
0
-30
-2
0
0
0
68
8
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
1
16
0
-6
0
35
0
0
1
51
3
0
-5
0
12
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
17
0
0
0
2
0
0
0
1
0
0
0
0
-4
0
0
11
0
0
0
18
0
0
0
0
0
0
0
39
47
0
8
40
0
0
12
-5
0
97
151
0
0
-54
-67
20
0
109
0
0
-1
19
0
0
-7
0
0
-1
49
0
0
17
0
0
0
-8
0
-23
0
4
0
0
-20
0
0
0
-3
2
0
65
-1
1
0
0
0
0
-13
2
0
-20
0
0
0
57
2
0
70
0
0
15
108
0
0
-11
0
0
17
56
-3
0
-37
0
0
0
130
0
0
-2
0
0
-1
-8
0
0
-11
14
0
0
-2
0
0
0
0
0
0
38
0
0
-2
0
0
0
6
0
0
0
0
0
0
26
4
0
0
0
0
0
22
0
-1
16
0
0
0
39
0
0
0
0
0
0
-6
0
0
15
0
0
0
-21
0
0
0
-2
0
0
8
0
0
0
0
0
-2
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
6
0
0
58
0
0
0
26
0
7
-24
15
0
0
3
-7
0
20
0
0
0
0
0
0
-1
17
0
0
0
0
0
-4
-15
0
0
0
0
-1
0
0
0
0
0
6
1
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
18
57
0
-1
16
0
0
77
76
1
51
-27
-9
0
42
67
0
0
13
0
0
0
-12
0
0
-5
0
0
-2
-106
0
0
-2
0
0
0
27
0
-17
0
-1
-3
0
-5
0
0
0
0
0
0
13
-2
23
0
0
0
0
73
-25
0
-2
0
0
6
11
1
0
-19
0
0
24
-20
0
-3
-4
-1
0
3
-73
0
14
15
12
0
-1
39
0
0
0
0
0
0
68
0
0
-5
30
0
0
-53
0
0
-1
0
-1
0
39
0
0
0
0
0
0
14
0
11
0
0
0
0
-9
13
0
-8
0
0
-3
-62
0
-27
33
0
3
0
39
-1
0
0
4
0
0
52
0
8
-9
0
0
0
-21
0
0
-7
4
0
0
68
0
-4
0
0
0
0
28
0
0
-5
0
0
0
-57
0
46
0
0
0
0
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
19
0
0
0
-2
0
0
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-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
-3
-10
0
0
16
0
0
-2
2
0
23
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
-4
0
0
0
0
-8
0
0
0
0
0
0
-66
0
0
0
0
0
4
-20
-2
0
-3
0
0
-3
55
0
0
17
0
0
0
21
0
0
0
0
0
0
-36
0
0
0
0
0
0
32
0
0
0
0
0
-3
45
0
0
0
0
0
0
73
0
0
0
0
0
0
11
0
0
-1
0
0
0
83
0
0
0
0
0
0
-35
0
0
-4
0
0
0
5
0
-6
0
0
0
0
8
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
38
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
21
0
0
16
0
0
0
0
0
0
0
-13
0
0
6
-1
0
7
3
-1
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
3
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
0
-10
19
0
-3
79
0
0
39
-15
0
15
27
0
0
13
6
0
0
0
1
0
0
49
0
0
0
0
0
0
101
0
0
4
0
0
0
14
0
-21
0
-21
0
0
62
0
0
0
0
0
0
51
1
0
0
0
0
0
62
5
0
13
0
0
0
84
-7
0
0
0
0
-13
-59
0
0
-10
0
0
10
-57
0
0
0
0
0
0
-75
0
0
0
-10
0
4
1
0
0
-8
0
0
0
-40
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
0
0
0
0
146
0
10
26
0
0
5
52
0
0
-5
0
0
-5
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
-2
0
0
0
13
0
0
-11
0
0
0
-15
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
-113
-34
-6
7
76
-13
2
61
13
0
9
-31
-17
0
-3
12
0
0
-4
-8
-5
0
31
0
0
-12
0
0
2
-2
0
0
9
0
14
0
13
43
0
0
0
-37
0
0
-5
0
0
0
51
0
0
0
0
0
0
0
66
62
10
-2
-14
-3
0
-52
-44
0
34
53
22
2
-95
34
-2
0
-59
-9
2
57
30
12
0
-7
8
0
13
-28
0
-5
-20
3
10
-3
-4
18
7
-1
-40
1
16
-29
0
0
-8
12
-5
0
45
13
9
0
0
0
6
-14
-27
4
0
10
0
19
74
-75
26
-22
-26
0
11
-64
-4
-7
133
3
0
-57
17
-4
-5
52
20
0
-7
-14
-6
5
-10
11
0
-12
5
0
-8
21
7
0
5
13
0
1
-87
0
-10
0
74
0
0
1
11
8
0
-59
19
-1
0
0
0
0
60
38
3
-6
-5
0
3
-41
-13
-19
86
-2
0
-32
-17
-4
-8
72
0
0
9
-34
-3
73
-66
1
0
0
85
0
2
52
64
0
-6
-73
-3
-43
36
0
0
0
-56
0
-17
-12
-34
0
0
-10
0
-8
-1
2
0
0
11
-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
53
-5
0
0
-9
0
1
3
0
0
0
1
0
0
1
0
0
0
-1
0
0
1
0
0
0
19
0
8
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
-61
0
-1
0
47
0
0
-12
16
0
35
21
10
0
89
32
0
0
-6
0
0
1
1
0
0
2
0
0
-1
-26
0
0
0
0
0
0
36
0
14
0
-2
0
0
22
0
0
0
0
0
0
-44
0
0
0
0
0
0
71
0
0
-5
0
0
5
0
-1
0
-38
0
0
-2
-31
0
0
0
0
0
5
-6
0
0
0
0
0
15
-27
0
0
0
1
0
0
-13
0
0
-2
4
0
0
-36
0
0
-3
0
6
0
14
0
0
0
0
3
0
40
-3
0
0
0
0
0
-3
11
0
0
0
0
0
0
0
-2
0
0
0
-11
-34
0
0
5
0
0
1
-31
0
8
0
0
0
0
21
0
0
0
0
0
0
62
0
2
-2
0
0
0
12
0
0
0
0
0
0
5
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
-95
0
0
0
-15
0
0
-60
0
0
0
-1
0
0
-12
-3
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
-10
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-19
60
0
0
6
0
0
-10
-18
0
25
11
0
0
33
6
0
0
-2
0
0
0
-4
0
0
0
0
0
0
-62
0
0
0
0
0
0
-28
0
-20
-5
0
0
0
-9
0
0
0
0
0
0
-19
0
0
0
0
0
6
-10
1
0
-4
0
0
0
70
0
0
0
1
0
0
32
0
0
-14
0
0
0
116
0
0
2
0
0
0
4
0
0
0
0
0
0
13
0
0
-1
0
0
0
84
0
0
0
0
0
0
55
0
0
0
0
0
0
36
0
0
0
0
0
0
91
2
0
-14
0
0
0
40
0
-8
0
0
0
0
57
0
-3
0
0
0
0
-53
0
5
3
0
0
0
5
0
0
0
0
0
0
-19
0
15
-3
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
132
0
9
-19
0
0
0
-16
-2
0
4
-9
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
-25
0
0
16
0
0
0
-25
0
0
0
0
0
0
0
85
72
-5
0
36
0
0
-13
-4
8
28
83
1
0
7
-22
0
0
-6
0
0
0
16
0
0
3
0
0
0
-40
0
0
0
0
0
0
47
0
11
0
0
0
0
16
0
0
0
0
0
0
8
-9
0
0
-6
0
-10
44
12
0
-17
0
0
25
-13
17
0
4
1
0
28
53
7
0
-34
0
0
12
-104
0
-2
-4
0
0
0
94
0
0
3
0
0
0
-35
0
0
9
15
0
0
32
0
0
0
0
0
0
132
0
0
5
0
0
0
109
0
0
0
0
0
8
-32
-1
0
-3
-1
0
2
-34
0
-10
-5
0
0
-9
-59
-3
-2
0
4
0
4
41
0
14
2
0
0
0
87
0
0
0
0
0
0
9
0
0
0
0
0
0
26
0
0
0
-8
0
0
35
0
8
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
-11
0
6
-9
12
-4
3
-89
19
0
7
-32
-3
66
0
82
0
0
10
0
8
-4
43
0
0
19
0
0
8
0
0
0
12
0
19
-1
42
0
0
0
-9
26
0
0
2
0
0
0
-32
0
0
0
0
0
0
0
48
39
2
8
-63
0
10
15
24
-4
-77
66
-56
-5
-18
-62
39
-19
18
0
0
-54
-98
1
-2
-17
18
-7
-63
15
6
0
7
0
0
2
-27
-10
22
-13
4
-4
0
9
0
0
0
-3
-17
0
22
-10
0
0
0
0
0
129
79
3
88
0
0
1
-19
27
21
13
0
0
61
0
-1
9
-2
0
-3
7
126
-3
-17
14
-37
-2
37
-19
0
-7
-13
0
0
20
38
0
-8
-3
-2
19
9
-47
0
12
0
0
15
6
-35
0
-7
-1
0
0
0
90
5
0
0
0
0
-10
12
-18
13
8
0
0
1
12
-1
-59
17
0
0
15
34
0
7
22
0
-2
20
38
0
-18
38
-1
-2
-6
-4
0
-21
40
40
0
44
-3
1
63
0
-1
1
4
47
10
-20
11
0
0
0
1
0
14
-11
0
0
0
75
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
24
0
-13
-34
9
0
0
16
0
0
34
-22
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
-14
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
84
0
0
12
-4
0
84
-37
0
0
-35
36
0
0
9
0
0
1
-60
0
0
-55
0
0
-2
-60
0
0
-1
0
0
0
-22
0
103
0
0
0
0
-8
0
0
0
0
0
0
11
0
-20
0
0
0
0
41
0
0
-9
0
0
1
131
0
0
49
0
0
0
-5
0
0
44
0
0
-5
24
0
0
-6
0
0
0
-64
0
0
64
0
0
10
29
0
0
11
0
0
0
41
0
0
0
0
0
0
-88
0
0
0
0
-1
0
86
0
0
0
0
0
0
57
5
0
0
0
0
0
3
0
40
0
0
0
0
-66
0
-7
-20
0
0
4
49
0
0
0
0
0
0
64
0
0
-12
0
0
0
51
0
64
0
0
0
0
18
0
0
0
0
0
0
70
0
7
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
3
0
0
0
58
0
0
1
0
0
0
2
0
0
15
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
3
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
4
-9
0
-11
25
0
0
0
-26
0
18
-37
0
0
23
34
0
0
0
0
0
5
-1
0
0
-3
5
0
-2
7
0
1
-11
0
0
0
-2
0
5
0
1
0
0
19
0
0
0
0
0
0
44
0
0
0
0
0
0
117
5
0
-10
0
0
-1
29
10
0
20
0
0
-6
89
0
0
3
0
0
6
64
0
0
4
0
0
-6
-1
0
0
-4
0
0
0
59
0
0
6
-1
0
-9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
74
6
0
0
0
0
0
-12
0
-8
-13
0
0
0
-3
0
0
8
0
0
4
2
0
0
-4
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
14
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
46
106
-41
4
56
10
-19
-50
-37
-7
-52
86
8
-51
-43
46
-6
-8
4
23
-53
-81
16
-7
-4
-39
3
0
-6
13
-51
5
9
-34
2
-1
-22
71
-1
4
30
-76
0
0
0
0
0
0
0
-13
-13
12
24
-12
20
11
-22
-18
42
-18
-2
0
19
16
59
48
-12
-16
-46
72
35
-45
-15
14
-72
23
-20
14
41
49
16
46
-48
25
-13
62
-29
5
-18
13
85
9
-25
86
-11
60
80
64
-3
52
-45
51
-2
22
3
-20
2
60
125
36
-14
7
-25
40
25
-21
25
-45
53
51
17
24
27
18
-22
0
43
23
70
83
36
60
14
5
-12
-11
61
15
39
63
26
-12
-50
63
52
43
24
-47
15
-13
49
-6
-25
-34
-9
9
0
-72
46
29
72
0
17
21
30
-15
3
47
-13
-18
19
-15
-126
-38
7
-7
-17
-10
-23
-44
-27
-8
79
-15
0
-20
-10
7
0
15
8
-11
65
-18
31
4
96
-4
-2
86
59
-49
49
-7
0
44
34
-49
-9
-1
27
-78
95
27
6
-7
-18
36
3
-28
27
-24
-11
-12
0
-14
8
-43
-12
-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
-15
1
0
0
-3
0
0
1
-3
0
0
-5
0
0
-2
0
0
1
2
3
0
3
3
0
0
0
0
0
0
0
0
0
2
0
7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
60
-6
0
0
-20
0
0
-15
0
-2
80
1
0
0
-8
5
0
0
-4
0
0
6
39
0
0
0
0
0
8
14
0
0
0
0
0
1
-81
0
-44
0
-5
0
0
-29
0
0
0
0
0
0
-93
-3
0
0
0
0
0
28
0
0
0
0
0
-1
51
10
4
6
1
0
-17
0
0
0
1
0
0
19
-83
0
-1
5
0
0
0
-91
0
0
-12
0
0
-1
24
0
0
2
0
0
0
91
0
0
24
0
0
0
-8
0
0
2
-1
-13
0
16
0
0
0
0
0
0
62
-5
-2
0
0
0
-13
42
0
-4
5
0
0
12
0
0
3
-20
-14
0
-6
24
0
6
-11
0
0
3
10
0
0
0
0
0
1
45
0
-2
2
0
0
0
44
0
2
2
0
0
0
-1
0
1
5
0
0
0
50
-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
-1
17
0
0
0
0
0
1
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
73
0
0
-36
0
0
-2
3
0
37
-10
0
0
2
15
0
0
0
0
0
-3
-7
0
0
-7
0
0
0
35
0
0
4
0
0
0
63
0
13
0
-1
0
0
-14
0
0
0
0
0
0
45
0
0
0
0
0
0
-21
0
0
1
0
0
0
67
0
0
0
0
0
0
-42
0
0
-1
0
0
-19
-1
0
0
-11
0
0
0
12
0
0
0
0
0
-6
12
0
0
0
0
0
0
135
0
0
0
0
0
0
-18
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
-5
0
0
0
0
0
-28
0
0
-14
0
0
0
16
0
-8
0
0
0
0
18
0
5
0
0
0
0
27
0
0
0
0
0
0
3
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-52
0
8
13
0
0
-22
0
0
0
0
0
0
0
11
0
0
0
0
0
0
91
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
45
0
0
0
0
0
0
-51
0
0
0
0
0
0
102
0
0
-7
0
0
0
34
0
0
0
0
0
0
32
0
0
5
0
0
0
-3
0
0
0
0
0
0
-36
0
0
8
0
0
0
29
0
0
0
0
0
0
-34
0
0
0
0
0
0
-18
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-126
45
-11
-66
-57
-5
-59
29
28
-9
14
-2
4
-54
3
7
9
-20
-63
2
-57
-3
-8
-1
-32
3
4
20
-5
0
0
-9
-92
35
0
-11
32
0
-3
-7
-58
0
0
0
0
0
0
0
-22
-18
-32
24
-105
31
4
-11
25
56
-29
-57
-73
-4
19
-46
-13
-16
-44
-39
-14
51
-52
12
-17
4
-33
11
-2
-40
11
0
61
22
17
-20
122
-6
-44
12
33
0
21
24
0
0
5
2
-45
0
17
-29
10
0
60
6
10
30
133
-15
70
13
0
-58
30
-2
-24
43
16
29
-23
26
-11
-30
41
-2
63
89
-15
-42
25
-85
28
46
-5
35
22
-100
73
3
-8
2
-23
-20
-7
-51
59
50
84
-13
0
-1
50
8
6
29
6
7
-23
-6
-11
206
0
7
31
0
0
11
-17
61
-35
-31
77
46
1
-3
-1
20
13
-19
54
-11
6
-25
22
32
13
8
4
6
48
-40
23
127
-33
49
0
64
3
8
34
25
-30
-85
-61
6
-19
-74
-1
-16
-26
0
-5
4
9
11
-4
11
1
-47
0
89
1
3
0
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
-19
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
14
61
0
-4
36
0
0
38
8
0
0
0
0
0
0
92
0
0
1
0
0
-2
3
0
0
0
0
0
0
1
0
-2
3
0
0
0
-3
0
0
0
0
0
0
3
0
2
0
0
0
0
-48
0
0
0
0
0
0
15
0
0
-1
0
0
3
46
0
0
-5
0
0
0
-42
0
0
0
0
0
0
18
0
0
0
0
0
0
-43
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
37
0
0
0
0
0
0
118
0
0
0
0
0
0
83
0
1
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
-1
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-4
0
14
0
0
0
0
0
0
0
14
0
0
-7
2
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
-2
77
0
2
10
0
0
28
-8
0
103
-6
-4
0
36
-22
0
0
-22
0
0
-17
-10
0
0
5
0
0
-8
-53
0
0
9
0
0
2
-19
0
5
-10
7
0
-6
11
0
0
0
0
0
0
-45
1
0
0
0
0
0
117
-14
0
9
0
0
15
28
0
0
45
0
0
15
42
0
0
19
0
0
1
96
0
-3
-7
-1
0
-7
-107
0
0
-52
0
0
-4
-94
0
-3
22
0
0
0
-64
0
0
0
0
0
0
-3
0
0
4
11
0
0
0
0
0
0
0
0
0
-6
-2
0
-2
0
0
0
-46
0
4
-6
0
0
-2
3
0
0
-8
0
0
0
75
0
-5
-1
0
0
0
-22
0
0
0
-1
0
0
55
0
-2
-13
0
0
0
-19
0
0
1
0
0
0
50
0
19
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
-150
17
1
-4
-43
0
-8
104
41
1
0
2
25
-20
141
89
-11
0
-40
0
102
-10
4
0
0
1
90
-35
0
-21
-87
0
0
9
-123
0
0
0
0
0
0
0
10
48
-9
1
-33
-28
8
89
-15
-40
-5
32
67
8
39
65
43
23
-77
7
8
38
67
9
-10
32
-58
10
33
-26
-13
0
8
16
0
-8
83
-9
25
9
70
-2
18
14
3
13
0
0
-18
0
-90
-8
-37
0
-11
0
2
-15
-112
22
-7
-9
1
58
-1
27
49
39
-49
-24
25
-16
-3
5
-21
1
0
-22
-4
-8
56
27
-81
-1
113
3
-9
62
-61
1
21
-3
-35
65
3
-60
-111
-18
-1
-22
-1
-9
92
15
-6
5
54
-12
2
-9
-4
-67
0
8
19
-12
0
0
0
2
-31
68
29
117
0
1
-18
50
-9
14
46
-9
12
-3
-38
-6
114
-26
8
0
9
-15
-2
-66
75
8
-52
9
23
-1
-72
45
-40
0
-1
-54
45
-53
-32
10
0
0
35
-13
3
-25
-7
-2
0
-34
-2
17
-3
0
4
0
-40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
0
0
5
0
0
-79
0
0
0
0
0
6
0
-1
0
0
0
0
12
0
0
15
0
0
0
-4
0
0
0
0
0
0
0
48
51
1
5
-20
0
0
-125
91
19
32
13
-17
0
11
0
8
0
37
0
0
-19
32
0
0
-3
1
0
5
-12
0
0
-26
0
0
0
16
0
-117
-13
-6
0
0
109
0
0
0
0
-23
0
103
33
-3
0
0
0
-14
64
152
-3
6
0
0
-18
64
24
19
46
-9
0
-2
78
0
0
31
0
0
61
0
0
0
13
-4
0
21
-4
0
0
24
0
0
14
74
0
0
-1
4
-3
0
-55
0
2
3
-7
-6
0
-21
0
-12
14
12
0
0
-53
0
14
0
0
0
7
-56
-16
-9
-1
0
0
3
14
0
21
2
-9
0
9
-12
2
-1
9
0
0
-1
0
0
18
-7
0
0
-8
-96
0
1
-4
5
-1
5
1
0
-63
-2
0
0
0
-3
0
0
1
4
12
0
37
0
44
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
6
0
0
0
0
0
0
-6
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
14
0
0
0
94
0
10
-20
9
0
66
15
0
0
3
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
32
0
34
0
0
0
0
44
0
0
0
0
0
0
15
0
0
0
0
0
0
-95
0
0
0
0
0
0
-75
0
0
-33
0
0
0
8
0
0
15
0
0
0
24
0
0
2
0
0
6
-34
0
0
0
0
0
0
8
0
0
0
0
0
0
-71
0
0
0
0
0
0
1
0
0
0
0
0
0
91
0
0
0
0
0
0
25
0
0
0
0
0
0
38
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
0
0
0
7
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
27
0
0
-7
0
0
104
6
0
19
25
0
0
-14
4
0
0
0
0
0
4
-2
0
0
0
-8
0
0
27
0
0
0
0
0
0
-10
0
0
-5
0
0
0
-18
0
0
0
0
0
0
46
-9
0
0
0
0
0
109
5
0
0
0
0
0
-68
-14
0
-4
4
0
0
11
0
0
0
0
0
0
52
0
0
0
0
0
8
54
0
0
-5
0
0
1
-37
-5
0
14
0
0
0
10
0
0
0
0
0
0
-5
0
0
2
0
0
0
43
0
0
0
0
0
0
-31
-5
0
-4
0
0
0
13
0
10
-5
0
0
1
-6
0
0
0
0
0
15
22
0
0
0
0
0
0
50
0
0
0
0
0
21
-7
0
0
-3
0
0
0
-30
0
0
-16
3
0
0
19
0
11
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
45
0
5
-93
-6
5
0
-6
-14
-15
18
-76
0
2
11
0
5
0
10
22
0
0
-14
-40
0
-4
-26
0
0
0
42
0
0
0
0
0
0
0
-44
-50
2
-4
20
21
0
-1
143
-9
-55
-161
13
-6
-17
0
3
-9
-76
-2
5
62
-30
0
1
17
-3
11
12
-52
6
31
20
0
0
7
-22
0
10
14
-1
-7
0
45
0
0
4
0
-6
0
32
-2
27
0
-9
0
0
46
-120
0
20
0
0
14
-22
-27
7
4
-14
0
72
40
-5
-8
-71
-2
-6
15
22
0
-12
48
47
-2
76
-8
6
-4
-14
34
-2
6
34
-4
0
97
54
-1
13
-13
0
4
-37
0
-2
9
-4
0
3
-3
-15
28
0
-4
0
0
0
0
-10
13
-50
14
0
14
1
0
-2
23
-1
-16
96
-2
0
-13
-49
4
65
-31
0
-19
-3
-15
2
-8
0
0
21
1
18
-10
-13
-23
-72
4
0
15
0
6
-3
0
0
-2
25
11
-45
15
-10
-1
0
46
-5
27
0
0
-28
0
-62
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-15
11
3
0
0
-14
0
9
0
-3
-7
-4
0
0
28
0
1
0
0
0
0
2
0
0
64
0
0
0
33
0
0
0
0
0
0
0
-99
-10
0
0
-16
0
0
65
-19
-5
-59
-3
0
0
43
18
0
0
-3
0
0
-21
-7
0
0
8
0
-7
-7
-17
0
0
-38
0
0
11
34
0
53
-16
0
0
0
-39
-1
0
0
0
3
0
65
-50
16
0
-1
0
0
-44
8
0
-10
0
0
3
11
0
0
-57
0
0
-66
-26
0
5
15
0
0
-126
-5
0
0
5
0
0
39
-22
0
-8
2
-1
-1
7
-57
0
0
2
0
0
0
-37
0
1
-14
0
8
0
-27
0
0
29
0
20
0
43
1
0
0
0
0
0
-51
-36
7
0
0
0
-3
-55
0
55
-33
0
-3
27
36
0
-8
-48
0
0
9
4
0
-9
-9
-10
-3
20
50
0
-1
-8
0
0
0
47
0
-35
74
0
0
5
-10
0
-7
-11
0
0
0
-16
0
7
4
0
7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
-15
0
0
-3
0
0
0
0
0
0
0
0
8
-24
0
0
-2
0
0
-32
88
0
-54
18
0
0
-71
137
0
0
-5
0
0
45
-50
0
0
-9
0
0
12
-55
0
0
-11
0
0
2
37
0
-99
0
51
0
0
0
0
0
0
0
0
0
40
-31
-1
0
0
0
0
34
-50
0
21
0
0
-9
74
2
-15
52
4
0
57
0
0
3
-32
0
0
24
10
0
0
173
-5
0
20
14
0
0
0
0
0
0
95
0
0
-25
1
0
-10
-87
0
0
-3
0
0
0
-48
0
7
0
0
0
0
-85
0
0
0
0
0
0
67
-7
0
15
0
0
0
-65
0
28
4
0
0
1
-8
0
0
29
0
0
8
56
0
3
-10
0
0
9
56
0
0
0
-5
0
-6
40
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-20
0
0
0
0
60
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
0
1
73
-34
23
5
-43
-2
-1
-45
-1
-44
-13
-7
-2
0
2
-51
-4
0
-2
5
0
0
0
-1
0
0
0
0
0
0
0
-99
21
8
17
-41
-6
0
-9
24
11
-35
-79
-35
-6
7
-43
-18
-5
1
3
-11
-8
-4
-2
8
-6
20
0
2
12
11
0
26
2
-28
6
68
0
6
44
-94
-19
-17
-44
0
-1
0
0
10
0
-15
-54
-16
0
15
0
0
6
-30
3
-9
1
1
-45
4
-73
-4
-88
-4
45
9
3
6
-23
51
6
0
-2
14
18
-1
-96
25
2
-8
15
13
-21
-32
-4
-7
14
37
-13
2
-55
29
3
0
-60
0
0
26
0
-87
0
41
11
-6
0
-22
-44
0
-19
-5
0
0
-2
1
0
-19
-32
-11
-27
0
0
-1
1
-35
-3
10
-1
0
59
-24
2
-41
0
38
0
0
22
-6
-29
-80
-4
0
-4
46
9
-7
15
51
0
0
-21
-1
129
32
4
0
0
76
0
13
-20
-2
-3
0
-24
-7
37
-1
0
-5
0
4
-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
18
7
4
0
1
0
0
3
17
0
0
0
-1
3
0
-3
0
0
0
-6
16
0
0
-43
0
0
0
16
0
0
0
0
0
0
0
-34
91
-7
0
3
0
0
53
19
0
-32
32
14
0
-84
-8
19
3
16
0
0
37
0
4
0
-3
-34
0
14
6
0
0
7
0
-3
2
36
0
18
8
2
2
-9
20
0
0
0
0
-12
0
80
29
4
0
2
0
-1
62
-3
1
-32
0
0
-37
-14
12
-5
-37
2
0
-31
13
0
4
7
1
0
-7
27
0
3
63
-23
1
-6
0
0
-9
-4
-2
10
15
-13
-2
0
-18
1
-1
0
-51
0
0
4
0
14
0
-15
0
0
0
3
-39
0
28
0
0
0
0
-1
0
-65
28
5
3
0
0
0
-4
11
72
75
0
0
-6
62
0
-1
3
-5
0
0
37
0
4
-7
0
0
0
0
0
4
-2
13
0
0
15
0
2
-1
0
0
0
10
0
0
0
5
0
0
7
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
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
-4
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
11
0
2
-3
2
0
-4
-13
0
0
0
0
0
1
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-15
0
-4
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
0
0
0
0
-73
0
0
-6
0
0
0
-33
0
0
1
0
0
0
-8
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
78
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-10
0
0
4
-11
0
-6
-2
16
0
19
0
0
0
-9
0
0
0
-1
0
0
0
0
0
4
-2
0
0
0
0
0
0
-3
0
0
0
-3
0
0
17
0
0
0
0
0
0
-48
14
0
0
0
0
0
-23
0
0
0
0
0
0
48
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-1
0
0
-11
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
47
0
0
0
0
0
0
89
0
0
0
0
0
0
1
0
0
0
0
0
1
-1
0
0
0
0
0
0
-25
0
0
5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
10
2
0
0
-5
0
18
0
-3
0
0
0
-16
-45
0
0
-74
0
0
0
2
0
0
0
0
0
0
0
11
-37
-1
0
1
-1
0
-41
-66
0
-34
-1
61
0
-19
-1
0
0
-33
7
0
70
74
0
0
15
-18
11
75
-70
0
-1
-7
0
3
5
54
0
-26
0
1
0
0
-72
0
0
0
0
0
0
18
-7
0
0
3
0
0
36
29
0
-14
0
-1
1
-8
-32
22
1
0
0
-54
-37
0
-28
48
12
0
-26
-125
0
2
17
13
-15
32
47
-7
3
11
0
14
0
73
0
0
-1
-14
0
0
34
0
-17
-6
0
-23
0
-17
0
0
7
1
-2
0
-7
0
0
0
0
0
0
-53
-34
21
-16
0
0
0
-49
0
-59
1
0
0
-8
5
0
-13
-10
0
2
1
-23
0
13
0
0
0
-2
-16
0
29
0
-13
0
0
-33
0
-17
0
0
-3
0
-6
11
0
0
-15
0
0
-32
0
15
0
0
0
0
-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
-40
0
0
0
0
0
0
8
0
-40
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
2
0
-43
0
16
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
0
-53
0
0
-17
0
0
0
-33
0
0
0
0
0
0
-39
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
-48
0
0
0
0
0
0
-1
0
0
0
0
0
0
-86
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
4
0
0
0
-5
0
0
0
13
0
0
0
55
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
2
-71
0
0
76
0
0
8
10
0
-16
27
2
0
-18
-54
0
0
47
0
0
-4
-15
0
0
52
20
0
8
-16
0
0
-20
0
0
-3
29
0
-19
1
23
0
0
13
0
0
0
1
0
0
-15
3
4
0
0
0
0
-33
3
0
-5
0
0
-4
-104
6
-2
-10
0
0
-2
-3
0
-4
-16
0
0
58
-46
0
3
-26
-9
0
-10
-16
0
0
52
3
0
0
10
0
0
0
4
0
0
38
0
0
-1
0
0
0
41
0
-8
0
3
0
0
35
0
0
0
0
0
0
-54
15
0
2
0
0
0
47
0
-15
31
0
0
0
14
0
0
-15
0
0
0
96
0
-7
5
0
0
-4
32
0
2
23
-11
0
0
-7
0
0
-1
0
0
0
-72
0
0
0
0
0
0
-4
0
9
0
0
0
0
50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
5
0
0
0
11
-25
0
0
4
0
0
0
12
0
0
0
0
0
0
0
-1
-20
-5
0
41
0
0
3
-57
0
32
65
12
0
-63
-18
0
0
151
0
0
0
-19
0
0
-3
28
0
0
-43
-1
0
-24
-3
0
0
-48
0
13
-3
38
0
0
-74
0
0
0
0
0
0
-78
0
-2
0
3
0
0
-3
45
0
-31
0
0
-2
61
2
-3
74
-7
0
0
-38
0
4
64
0
0
-16
-59
0
-2
-29
-4
0
0
37
-17
0
-59
-3
0
0
-115
2
0
-41
-6
0
0
108
0
0
-4
0
5
0
-47
0
0
2
1
-32
0
-28
0
-5
0
0
0
0
42
4
0
-13
0
0
6
-63
0
-7
4
0
0
-17
-124
0
0
-5
-6
0
0
-39
0
-17
-4
0
0
0
-42
0
0
10
0
0
0
123
-5
34
16
0
0
0
146
0
-3
0
2
0
0
-23
0
-10
0
0
-1
0
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
-3
-11
0
0
0
0
0
-1
0
0
12
0
1
-2
0
0
0
0
0
0
0
0
-16
-4
-2
1
-42
-2
0
-59
41
-4
-41
12
0
0
-118
-10
1
13
13
0
0
7
-55
0
0
67
49
0
30
0
-2
27
-10
0
6
0
-21
0
54
-1
0
-9
0
-94
0
0
-2
0
-16
0
-22
-15
0
0
0
0
-2
79
33
0
-41
0
0
-8
1
5
0
41
0
0
78
32
0
0
36
2
0
-22
-17
-7
-6
7
44
7
-1
-14
0
-2
-4
0
0
0
0
0
0
-1
16
8
0
-62
0
0
0
0
-10
0
38
0
0
-5
19
0
0
76
0
0
0
0
0
-5
45
33
-4
-3
3
0
0
-126
0
76
13
0
0
19
38
0
13
-68
0
0
9
-75
0
-8
7
0
4
-3
-65
0
0
-4
3
1
0
0
10
-12
28
0
-9
0
-9
0
-10
0
-4
0
13
28
0
5
0
0
6
0
-39
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
57
0
0
-1
0
0
2
14
0
3
2
0
0
1
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
2
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
1
0
0
0
40
0
0
0
0
0
0
33
0
0
-1
0
0
0
-2
0
0
0
0
0
0
27
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
44
0
0
0
0
0
0
5
-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
-3
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
5
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
7
-4
0
0
3
0
0
0
9
0
-1
-4
0
0
0
-3
0
0
0
0
0
-1
9
0
0
0
0
0
4
-5
0
0
0
0
0
0
-2
0
4
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
-1
0
0
0
0
-3
-56
0
0
-1
0
0
0
-2
0
0
0
0
0
0
11
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
7
0
0
0
0
0
0
14
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
-4
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
1
0
0
4
5
-114
0
-8
-12
0
0
0
1
0
0
0
0
0
0
0
-18
-8
0
-3
31
0
-8
3
-25
0
-21
1
0
0
-25
32
0
0
92
0
0
0
-10
0
0
-10
0
0
5
-25
0
0
5
-7
1
1
73
0
12
0
79
0
0
3
0
0
0
0
0
0
32
-4
0
0
0
0
19
2
-9
0
-25
0
0
7
-69
13
-2
0
7
-6
-11
-70
1
1
-10
0
0
0
-13
0
-1
6
6
-28
-10
15
13
-4
6
1
0
0
19
4
0
0
-16
0
3
-7
0
0
0
0
0
0
1
0
0
0
-4
18
0
-40
0
0
0
0
5
0
7
-5
0
0
0
0
18
2
0
56
-24
0
0
3
42
2
6
0
0
0
0
-50
0
-1
-4
0
18
0
12
0
0
0
25
0
-1
-57
0
0
0
0
0
0
-8
0
0
0
1
0
0
-15
0
0
0
0
0
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
-31
0
0
0
0
0
-3
0
1
0
0
0
0
2
0
0
3
0
0
0
4
0
0
0
0
0
0
0
9
-12
0
15
3
0
0
2
-30
0
19
3
0
0
7
-39
0
0
15
0
0
-2
-1
0
0
-3
0
0
24
13
0
0
53
0
-5
0
17
0
-18
0
0
0
0
47
0
0
0
0
0
0
-39
3
-1
0
0
0
0
-85
-7
0
3
0
0
-5
57
5
0
-3
0
0
-3
33
0
0
-12
0
0
-22
-14
0
0
2
5
0
0
-22
0
0
5
0
0
0
13
0
0
5
0
0
0
-17
0
0
4
0
-1
0
50
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
-3
0
0
0
0
-9
-43
0
73
0
0
0
0
30
0
0
-5
0
0
6
57
0
0
-2
0
0
0
19
0
0
1
0
0
0
5
0
1
0
0
0
0
-42
0
0
0
0
0
0
51
0
-2
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
-60
2
0
0
-1
0
0
0
-5
0
-10
-5
-30
0
0
0
56
0
0
-2
0
0
0
0
0
0
0
0
-18
-10
0
7
-38
0
0
36
-42
0
14
47
6
0
57
-33
0
0
10
0
0
4
-39
0
0
-6
1
0
3
44
0
0
-23
0
0
2
-86
0
-15
91
31
0
0
-8
5
0
0
0
0
0
26
0
-15
0
7
0
0
-24
-38
2
49
0
0
11
26
0
20
18
-1
0
-8
6
0
0
-13
0
0
-9
72
-10
2
-47
-7
0
0
9
0
1
-27
0
0
0
-31
0
0
-1
4
0
0
11
0
0
1
0
0
0
29
0
0
18
25
0
0
70
-5
0
0
0
0
0
-5
18
-4
0
-1
0
0
-30
0
31
-17
0
0
-19
9
2
0
21
0
0
-9
-15
0
-20
10
0
0
-1
-71
0
0
8
-3
0
0
-28
0
15
-5
0
0
0
-27
0
0
17
-4
0
0
-8
0
-16
0
0
0
0
-81
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
21
6
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-12
56
0
-1
-69
0
0
-8
-45
0
-28
55
-1
0
-24
-14
0
0
15
0
0
0
40
0
0
34
4
0
0
-5
0
0
-9
0
0
0
7
0
-6
10
-19
0
0
-59
0
0
14
0
0
0
2
-1
-3
0
1
0
0
9
18
-1
-4
0
3
3
-70
0
0
-27
10
-1
2
-2
6
19
44
13
-8
-1
11
0
0
-17
0
0
3
-4
-1
0
38
0
-1
-10
-47
0
0
47
-2
0
0
22
0
0
0
0
-13
0
26
0
0
0
4
1
0
-6
0
0
0
0
-6
0
52
1
0
6
0
0
0
6
0
2
-8
0
0
0
-55
2
0
-18
0
0
0
8
0
-16
-16
-1
0
0
-67
0
0
-7
1
0
4
9
0
6
0
0
0
0
-88
0
0
2
0
0
0
32
0
18
5
0
0
0
18
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
1
0
0
0
0
0
0
0
62
55
0
2
32
0
0
-10
22
-4
51
-43
18
0
1
36
0
0
-60
10
0
-2
91
0
0
-30
6
-12
4
-43
0
0
-48
0
0
7
0
0
-8
0
5
-16
0
13
0
0
0
0
0
0
-37
7
-3
0
0
0
-3
47
-23
0
-11
0
0
22
-46
17
5
-11
0
0
7
-8
0
-5
-9
0
0
39
70
0
-15
63
-11
0
0
-40
0
1
30
-4
0
-4
117
3
0
-2
0
0
0
0
0
0
0
-7
-6
0
-21
0
0
0
0
-1
0
-60
7
0
0
0
1
0
7
8
0
0
0
0
0
20
-2
44
1
0
0
-1
-13
-4
7
34
-10
0
0
41
1
-11
13
-1
0
0
82
0
-7
-14
0
0
0
-61
0
-7
-4
0
0
0
0
0
0
0
1
0
0
8
0
-3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-1
0
-4
0
0
0
-1
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
-11
0
0
-3
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
25
-2
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
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
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
3
-1
0
0
1
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
36
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
-6
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
-34
0
0
0
0
0
0
-3
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
0
1
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
12
1
0
0
19
0
0
0
0
0
0
0
0
0
0
0
8
68
0
4
-23
0
0
-1
-31
0
-7
-6
0
0
-14
-135
0
0
0
0
0
19
58
0
0
9
-6
0
0
9
0
0
0
0
0
0
2
0
-1
0
-3
0
0
22
0
0
-3
0
0
0
-38
-3
0
0
0
0
0
11
-10
0
0
0
0
0
-45
0
0
1
0
0
12
-42
0
0
0
0
0
-3
-20
0
0
13
0
0
0
-52
0
0
0
0
0
0
-104
0
0
0
-4
0
0
-75
0
0
0
0
0
0
-5
0
0
0
0
0
0
65
0
0
0
-1
0
0
-33
0
0
0
0
0
0
-10
0
0
0
0
0
3
-9
0
-4
0
0
0
0
-12
0
6
0
0
0
0
-17
1
10
0
0
0
0
2
0
18
0
0
0
0
-6
0
0
0
-15
0
0
-39
0
15
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
6
-6
0
0
0
3
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
0
0
0
0
0
-16
0
0
0
0
0
0
-32
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
4
0
0
1
0
0
0
-5
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
-1
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
-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
-1
0
0
-5
12
0
0
-1
29
0
0
8
0
0
0
0
0
0
0
0
-7
40
0
0
-41
0
0
-49
-32
13
19
19
13
0
-55
55
0
0
37
0
0
18
-68
0
0
-131
-34
0
2
24
0
0
10
0
0
3
-14
0
-32
30
2
0
0
2
12
0
2
-1
0
0
56
43
66
0
0
0
-12
-31
-76
0
34
0
0
82
-8
0
1
-15
-3
0
-3
29
0
0
-4
0
0
7
16
0
0
1
27
0
35
61
0
6
-18
0
0
-1
-6
0
0
-9
61
0
3
-20
0
0
-7
0
0
0
-1
0
0
17
1
0
0
37
0
0
0
-1
0
0
-6
-13
-3
35
0
0
4
-114
0
-31
64
0
0
-12
-83
0
0
45
0
0
6
-65
0
10
0
0
0
12
79
-1
-2
12
6
0
-1
46
0
-6
6
0
0
0
66
0
0
0
26
0
0
52
0
44
2
0
0
0
-86
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
-2
-17
0
0
4
0
0
0
-12
0
2
-2
0
0
0
16
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
13
0
0
0
0
-40
0
0
0
0
0
0
35
0
0
0
0
0
0
-31
0
0
0
0
0
0
-14
0
0
-9
0
0
0
-58
0
0
0
0
0
0
-8
0
1
0
0
0
2
-45
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
-42
0
0
0
0
0
0
-22
0
0
0
0
0
0
-21
0
-4
0
0
0
0
32
0
0
0
0
0
0
1
0
0
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
-42
-27
0
0
12
0
0
-57
79
0
8
84
0
0
-83
-8
0
0
13
0
0
-5
121
0
0
0
0
0
2
64
0
0
3
0
0
0
4
0
6
-9
0
0
26
0
0
0
0
1
0
0
21
1
0
0
0
0
0
-3
-6
-3
0
0
0
21
-5
-7
-8
34
0
0
-1
-70
0
0
49
0
0
-5
14
0
0
-17
4
0
2
-34
0
0
5
0
0
0
-27
0
0
4
0
-1
22
54
0
0
0
0
0
0
0
0
0
0
-9
0
0
-40
0
0
0
0
0
0
-91
0
0
0
0
0
0
107
0
82
-27
0
0
0
-26
0
-3
4
0
0
-4
-1
0
-4
-10
0
0
0
-32
0
4
7
-7
0
0
-9
0
-11
0
0
0
0
-18
0
0
0
0
-4
0
0
0
-5
0
0
3
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
2
-6
0
0
7
0
0
0
0
0
0
0
-3
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
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
110
0
0
0
0
0
0
-9
0
0
0
0
0
0
35
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
103
0
0
0
0
0
0
10
0
0
0
0
0
0
20
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
1
0
0
0
0
0
0
-2
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
14
-7
0
0
-2
0
0
0
0
0
2
-2
0
0
-2
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
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
20
0
0
0
0
0
0
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
0
-1
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
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
26
0
0
-1
-6
0
10
2
0
0
6
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
-9
0
0
0
0
21
0
0
0
0
0
0
7
-2
0
0
0
0
0
-72
0
0
0
0
0
0
36
0
0
-2
0
0
0
-18
0
0
0
0
0
0
28
0
0
-9
0
0
0
28
0
0
0
0
0
-4
3
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-5
0
0
0
0
0
0
7
0
-3
0
0
0
-3
-2
0
0
-7
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
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
-8
0
0
0
6
0
0
0
0
0
0
0
10
28
0
0
-51
0
0
44
-10
0
-103
62
0
0
27
-12
0
0
-1
0
0
-2
-40
0
0
-39
0
0
-12
68
0
0
12
0
4
0
-3
0
7
0
0
-5
-1
61
0
0
0
0
0
0
-11
-3
2
0
0
0
0
24
1
0
4
0
0
0
37
1
0
-17
0
0
3
-103
0
0
1
0
0
-49
-24
0
0
5
0
0
0
-81
0
0
1
0
0
0
-41
0
0
7
0
0
4
23
0
0
0
0
28
0
7
0
0
15
0
8
0
-35
0
0
0
0
0
0
9
0
0
-2
0
0
0
-18
0
53
2
0
0
0
3
2
0
0
0
0
0
11
0
-1
0
0
0
0
148
0
0
8
0
0
-1
-24
0
-3
0
0
0
0
63
0
1
7
0
-12
0
-7
0
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-22
0
0
0
0
0
0
0
0
52
9
0
9
25
0
0
-50
-41
1
67
-78
53
0
16
3
4
6
-25
0
0
-35
48
0
3
71
48
0
16
-13
-1
15
-53
-3
0
42
-50
0
59
30
-13
0
-4
18
-5
0
-1
5
17
0
-23
-63
-110
1
0
0
-22
-43
-116
0
-16
-1
0
-46
-3
64
-2
32
-22
0
-39
20
-8
9
4
4
0
-49
1
0
-1
-58
-17
0
95
15
1
2
-35
-2
0
37
-56
11
-8
-24
2
0
42
21
0
-20
5
4
0
0
3
-12
-37
-15
40
0
0
34
0
13
0
-6
0
-3
-49
-11
-96
-10
8
0
-69
-34
3
91
-70
-3
0
131
-4
-24
-13
-77
-4
0
-17
11
0
0
30
2
0
5
53
0
39
-88
57
0
-13
29
33
-11
4
-6
0
0
-20
-6
-35
4
-16
0
0
-8
0
-3
-8
0
0
0
22
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
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
-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
-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
-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
-2
19
0
0
12
0
0
-5
1
0
-45
8
0
0
19
4
0
0
15
0
0
-3
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
0
1
0
0
0
0
0
6
0
0
0
0
0
13
1
0
0
-12
0
0
0
-30
0
0
-16
0
0
0
-28
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
-1
0
0
0
74
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
31
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
-15
18
-66
-2
0
-71
-73
-2
-58
-3
-4
0
-78
8
0
-14
20
0
0
-99
47
0
10
-121
-11
-24
9
58
0
0
3
4
54
47
10
0
-17
-79
-26
-4
4
62
-3
0
0
0
-2
0
-67
0
22
0
-14
0
0
-74
22
12
10
8
0
21
9
41
25
-59
2
3
-33
-7
-12
12
58
0
-18
35
19
13
13
44
52
0
0
-3
0
8
-47
0
1
19
5
-25
0
-32
-45
-3
21
-14
0
-1
-3
10
32
0
38
0
15
-2
61
-34
0
53
0
0
0
-4
0
-13
45
43
-6
11
-18
0
-10
-21
-17
-26
47
0
0
-3
9
2
24
44
1
0
10
41
7
4
-69
6
0
17
38
-11
-3
-2
-3
0
2
-29
-1
25
35
10
0
0
-1
0
0
12
7
0
0
51
1
-32
0
0
13
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
-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
-5
0
0
0
0
0
0
-7
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
-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
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
-8
0
0
0
0
0
0
1
0
-8
-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
-7
0
0
0
0
0
0
-16
0
0
0
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
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
0
0
0
8
-43
0
0
1
0
0
5
-6
0
84
-6
0
0
6
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
-4
0
0
0
-17
0
0
0
10
0
0
3
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-47
0
0
0
0
0
0
31
0
0
4
0
0
20
21
0
0
-12
0
0
0
11
0
0
0
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
59
0
0
0
0
0
0
24
13
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-3
0
0
0
16
0
0
0
0
0
0
49
0
0
0
-11
0
0
-8
0
16
0
0
0
0
31
0
0
0
0
0
0
7
0
21
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-1
-40
0
0
57
-47
0
-72
28
-15
0
36
-22
0
3
-49
8
0
0
-64
2
0
3
-23
0
-1
73
0
0
-11
0
0
-2
24
0
26
-17
17
0
-1
0
17
0
0
9
0
0
-13
-33
1
0
0
0
-5
2
26
-1
-79
0
0
8
20
-5
-6
-13
2
0
47
-35
13
0
57
0
0
26
87
-2
0
2
-20
0
17
72
0
0
65
0
0
6
-92
-7
5
-46
-6
0
0
-32
0
0
-1
0
0
0
-14
0
14
-10
49
0
0
35
-6
0
0
0
0
-4
14
14
0
5
-1
0
7
-55
1
35
-23
0
0
1
24
-6
2
30
0
0
10
24
2
-8
-10
0
0
7
-29
0
0
40
0
0
0
115
-9
-27
-14
8
0
0
-71
0
9
-3
1
0
0
36
0
37
0
0
0
0
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-23
-47
119
-11
-4
39
-41
1
4
8
-5
0
-13
-30
-3
0
57
-21
-4
10
19
0
-4
-11
0
12
2
0
0
1
-11
-16
-3
0
59
0
1
-2
15
7
0
8
19
31
-11
-4
0
-2
32
26
-7
-76
0
0
160
14
-17
1
-7
8
-5
26
11
31
24
6
4
-5
-88
-50
0
0
64
36
-9
-37
-11
0
-68
-19
-2
14
0
-12
0
0
-38
52
-12
-6
-23
17
-17
86
0
-12
-2
54
0
8
-8
7
-33
0
31
-23
0
0
11
0
2
45
-9
0
41
-6
0
34
-88
0
-79
148
-2
17
22
43
-2
17
74
68
8
-11
25
-4
-14
17
9
9
-10
-27
0
-7
39
7
7
-4
36
-4
-72
-23
10
0
0
-30
0
-8
-36
-1
0
-11
1
1
83
0
0
-7
0
66
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
0
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
-4
10
7
39
-65
-14
6
-32
25
-14
-33
34
47
18
-88
-12
5
42
24
-77
-4
-23
70
-26
22
-58
-49
-40
-13
-4
-48
10
-45
-39
19
9
-5
62
-9
11
2
-5
-6
30
-3
-44
-20
132
9
-6
-47
-54
-10
-12
-33
0
-3
15
-14
-52
108
-27
-6
76
-14
-7
-60
39
1
28
75
73
17
-12
0
-5
-6
-7
56
-2
-25
50
7
-25
35
20
-20
30
5
-6
-6
53
-6
-41
23
60
37
9
-38
-15
-21
4
72
-3
-9
-65
-5
-52
85
-56
-45
3
-20
34
33
-59
-27
41
0
51
77
76
42
56
19
-34
-2
2
15
-48
-6
-35
13
15
44
21
4
-13
37
-3
-13
46
-16
-11
-27
55
2
131
-121
25
104
56
-49
12
37
8
31
-1
34
-40
6
-1
-10
7
74
-44
0
21
24
-47
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-16
0
0
9
65
0
0
28
0
0
2
70
0
0
5
6
0
0
-26
0
0
0
0
0
0
4
0
24
-1
0
0
0
4
0
0
0
0
0
0
-27
0
2
0
0
0
0
28
0
0
18
0
0
0
-95
0
-2
2
0
0
1
8
0
0
-1
0
0
-28
-71
0
0
6
0
0
0
-67
0
0
0
0
0
0
-42
0
0
-7
0
0
0
-79
0
-1
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
6
0
3
0
0
0
44
0
-1
0
0
0
0
10
0
0
0
0
0
0
-26
0
0
-9
0
0
0
2
0
6
0
0
0
0
50
0
7
0
0
0
0
43
0
-2
0
-4
0
0
25
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
155
67
2
0
-47
-49
0
0
-4
0
0
25
35
0
0
-11
0
0
-4
-23
0
0
8
0
0
0
-38
0
11
0
-2
0
0
-28
0
0
-1
0
0
0
9
0
0
0
0
0
0
86
-2
0
8
0
0
0
5
0
0
-1
0
0
2
-9
0
0
-20
0
0
-2
26
-12
0
-17
0
-4
0
42
0
0
-2
0
0
0
-29
0
0
-1
-8
0
0
-6
0
0
0
0
0
0
-5
0
0
0
6
0
0
-23
0
0
0
0
0
0
-34
3
0
0
0
0
0
52
0
21
0
0
0
0
23
0
0
2
0
0
-1
5
0
7
0
-2
0
0
-45
0
0
0
16
0
0
-29
0
-5
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
65
-5
2
-36
22
-2
26
127
0
-10
-1
-53
1
-3
24
19
-4
-44
2
-5
-3
-15
10
-9
-8
-71
0
23
43
14
-11
0
27
-6
-1
7
10
-103
-1
55
64
-87
0
-55
4
-2
34
59
-47
6
4
0
82
-5
4
-47
8
-79
19
68
34
-7
-15
-23
-2
3
8
13
1
15
1
-45
43
-40
33
-6
-1
-35
47
-5
13
-5
-1
-8
-61
62
15
22
-7
0
-20
-27
5
52
0
-36
0
-8
-14
-123
33
0
22
-9
-1
0
0
-4
98
-26
-4
-2
-50
-5
0
18
20
-43
79
7
9
-3
-40
51
-30
18
12
13
2
40
20
9
113
32
-11
15
-10
60
-23
36
95
62
-3
26
24
0
-20
32
-18
25
5
-12
-1
-59
-56
84
0
32
-50
-8
-77
0
2
17
0
-59
6
-25
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
-8
7
0
71
-2
0
0
0
39
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
81
0
0
0
0
32
0
0
0
0
0
0
29
0
2
0
0
0
0
79
0
0
0
0
0
0
-11
0
0
0
0
0
0
63
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
46
0
0
0
0
0
0
21
0
0
4
0
0
0
112
0
0
0
0
0
0
23
0
0
0
0
0
0
30
0
1
-1
0
0
0
24
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
43
0
2
0
0
0
0
-3
0
0
0
0
0
0
-11
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
-7
0
0
0
0
0
0
-11
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
2
0
0
0
0
13
0
0
0
0
0
0
25
-9
0
0
0
0
0
-55
4
0
0
0
0
10
-27
0
0
3
0
0
0
9
0
0
0
0
0
-12
65
0
-1
-1
0
0
0
70
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
72
0
0
0
0
0
0
10
0
0
0
0
0
0
11
0
-1
-12
0
0
0
-4
0
0
0
0
0
0
-14
0
10
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
-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
125
71
3
7
50
-19
1
-19
36
1
10
-2
-15
0
-24
-14
10
-17
-2
-1
0
0
-74
-5
1
32
-19
3
-6
-18
-10
1
0
-18
-25
-2
14
-60
-1
0
-8
0
-19
2
-2
22
103
8
0
11
-27
-6
23
-74
17
-1
-37
-14
2
1
8
-1
-5
25
14
0
-15
27
17
0
-15
-14
0
-3
23
-4
1
0
-83
-6
11
111
-39
-15
6
68
0
9
-32
0
1
0
-30
0
25
56
-47
-40
0
30
0
22
0
0
0
0
-5
103
-49
106
10
0
6
-46
-3
-77
91
0
-4
-16
-49
-7
17
28
-11
0
29
1
-6
-10
-17
6
1
-3
-26
-6
-14
-8
-21
13
43
-6
8
-9
61
-3
-17
12
15
-7
25
11
19
0
0
70
-1
108
3
0
4
0
18
-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
31
21
36
-2
-1
9
-23
-12
-91
1
-4
61
28
6
45
-22
1
-1
-27
19
47
20
42
-1
-2
-25
83
-18
0
-51
0
1
10
-9
7
0
-3
50
-99
0
11
0
16
19
-44
-5
-49
0
-1
149
53
-27
19
27
6
-123
51
0
-15
-48
-52
-5
11
0
-15
-64
74
65
-66
-34
136
-28
22
-26
-23
-5
10
-22
13
-10
8
26
-54
98
18
-12
0
-4
-30
-6
-24
-15
-2
0
8
-3
-13
55
0
15
-46
-1
0
43
-5
49
-18
45
15
-94
0
2
54
90
66
-47
85
4
11
-24
0
18
183
12
-29
2
68
36
8
-17
14
-56
17
-40
26
-2
-31
6
-20
-4
-93
85
0
27
-18
76
6
0
59
1
-43
25
-58
12
0
25
0
7
-10
4
-4
0
-19
-2
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-9
-19
0
0
-6
0
0
0
25
0
0
-1
0
0
6
-25
0
-40
0
-1
0
0
26
0
0
0
0
0
0
-20
-4
2
0
0
0
0
-81
18
0
26
0
0
0
16
0
4
-5
0
0
9
-24
0
0
4
0
0
0
-8
0
1
0
0
0
0
-8
0
0
0
0
0
-2
-34
0
0
0
0
0
0
-30
0
0
0
0
0
0
-17
0
0
-5
6
-17
0
43
0
0
0
0
0
0
56
2
0
14
0
0
0
50
0
0
-9
0
0
0
-10
0
0
0
0
0
6
-3
0
0
-1
0
0
0
15
0
0
-4
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
42
0
-2
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-23
-57
11
54
-21
21
11
-17
-51
-78
8
-73
-12
0
-6
61
-4
41
27
-50
3
-1
17
-8
28
-22
-63
5
-2
6
0
-110
8
17
-43
-10
0
73
-7
60
46
-55
2
33
-6
5
80
-71
-40
-15
0
-46
-21
-4
-11
-6
-59
12
20
3
32
47
25
85
-3
65
37
60
-47
0
5
-51
-26
-29
-26
3
41
37
54
10
-31
26
56
0
18
-18
1
-50
-12
-4
-2
-9
-3
25
23
0
-9
1
0
0
-1
-13
28
-1
4
32
-23
-3
0
42
-31
21
-21
78
23
5
77
12
1
58
-18
-41
2
-17
-31
27
0
33
-20
67
31
-50
-1
21
17
52
14
18
-36
8
42
-15
-72
28
-1
16
-7
-6
16
44
-3
2
-25
1
-47
12
-9
1
0
18
56
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
5
61
82
-5
-17
-3
-2
39
70
15
0
-7
40
8
-85
32
-4
-12
-58
3
79
39
-90
13
-59
-50
1
-1
5
33
18
45
-6
0
102
0
-52
7
-87
0
22
12
16
33
91
1
66
-2
7
50
-21
-49
16
17
-12
-2
35
28
2
-2
35
-11
0
25
21
6
63
-9
75
-4
28
34
2
26
-140
0
3
-14
-4
27
-7
-95
44
-8
20
49
-4
-4
52
0
-2
4
38
17
-23
-27
49
2
0
-30
-3
-15
0
0
0
-44
-13
7
10
-27
10
2
43
-16
-24
69
6
0
3
-17
19
3
28
10
-14
34
-28
-37
4
47
-55
-14
-44
-62
18
2
-2
-83
43
2
36
-8
-24
-35
0
-12
7
6
61
14
12
-34
48
-13
1
26
-18
-50
59
0
-33
0
63
-24
40
-11
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
17
22
0
0
-36
0
0
-29
-43
0
0
-22
0
0
-5
49
0
0
-4
0
0
0
66
0
-5
8
0
-4
0
35
0
0
0
0
3
0
-1
-22
19
0
0
0
0
14
16
-12
-10
0
0
2
62
-9
0
47
0
0
14
86
0
0
18
0
0
20
-67
-5
-2
-64
0
3
0
-17
0
0
37
1
0
-4
-16
0
0
84
2
0
-1
-13
0
0
1
0
-9
0
95
0
0
-3
0
34
0
21
1
0
0
0
0
0
-8
13
0
0
0
0
-6
-13
0
6
-14
0
0
73
43
6
-2
-12
0
0
-4
5
0
-24
3
0
26
3
-23
6
-7
33
0
0
0
30
0
3
9
0
-2
0
37
0
0
0
0
0
0
-8
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-6
0
0
0
0
0
0
-1
-8
0
0
0
0
0
3
0
0
1
0
0
0
13
0
0
13
0
0
2
-25
0
0
3
0
0
0
24
0
0
0
0
0
0
-75
0
0
2
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
-5
2
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
32
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
65
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
-12
39
4
-23
23
53
-11
-4
44
-5
0
10
-2
36
1
-71
4
81
31
-124
67
0
33
27
0
4
2
-25
0
-1
34
-9
0
82
14
3
-41
21
-5
-31
-1
1
-23
33
29
24
-34
42
16
-59
-18
-19
1
25
-12
3
-43
16
0
-4
27
8
-2
24
12
-13
53
56
-52
32
7
-9
1
16
-11
-5
27
1
-9
12
3
18
6
19
12
-15
0
9
-49
72
35
0
-9
41
-8
0
0
17
-12
0
2
49
-13
-117
20
-4
-22
-57
-9
-89
-3
-1
15
10
8
92
-65
8
35
4
-25
4
53
-21
-25
4
-9
13
18
-43
-42
-33
-86
-1
13
-40
34
-27
-19
11
-2
21
7
3
36
117
-20
0
25
0
2
43
0
-16
0
15
26
-7
7
-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
-86
7
-39
4
2
-54
26
29
-47
3
-6
24
-5
6
24
-36
0
-23
3
21
-15
-1
-25
-4
-2
17
-3
-143
0
3
-26
73
0
-53
1
30
-10
111
16
-71
9
0
-22
64
46
-43
5
-89
-7
23
-50
-13
64
88
25
-15
-109
0
-31
-69
12
141
-1
67
-30
15
-17
79
-19
-27
80
-105
4
-16
-65
10
16
-13
-21
-1
11
-39
1
114
-37
-80
13
-7
15
5
53
0
-16
-1
-1
0
33
-5
-84
59
-8
-16
114
-62
-2
-39
40
53
63
10
9
11
89
50
11
95
85
-10
45
50
0
49
-66
51
-32
-25
-18
-65
-23
-21
-29
11
-13
19
-25
-16
46
48
-7
-7
7
-33
-2
32
46
-42
3
0
-32
0
-88
-4
6
-2
0
-62
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
18
0
-14
0
0
0
0
48
0
0
0
0
0
0
52
2
0
0
0
0
0
-57
-1
0
40
0
0
1
69
0
2
0
0
0
0
108
0
0
1
0
0
0
-48
0
0
0
0
0
0
10
0
0
2
0
0
0
-5
0
0
0
0
0
0
28
0
0
0
0
0
0
-17
0
0
0
0
0
0
-26
0
0
0
0
0
0
24
1
0
0
0
0
0
59
0
0
-11
0
0
0
36
0
0
0
0
0
0
1
0
3
-1
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
0
0
0
-9
0
0
0
0
0
0
206
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-15
0
-1
-11
7
0
0
4
0
0
0
0
0
0
-25
-2
0
0
0
0
0
23
0
0
-10
0
0
14
3
0
0
-3
0
0
-9
51
0
0
-8
0
0
0
39
0
0
13
0
0
0
14
0
0
-6
0
0
0
-10
0
0
0
0
0
0
74
0
0
0
0
0
0
-7
0
0
2
0
0
0
20
0
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
-2
16
0
0
0
-32
0
-4
0
0
0
0
6
0
0
0
0
0
0
-21
0
0
0
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
0
0
0
2
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
-6
62
0
1
-12
-9
-5
21
7
9
-2
-70
0
-3
-12
-23
0
27
-56
26
66
-5
102
1
-2
0
1
32
0
-22
-12
-33
0
19
2
2
47
-98
6
41
0
12
-34
48
-53
-63
46
60
-7
-48
4
0
1
56
10
0
81
-41
0
17
-52
-50
11
4
-43
-5
23
13
15
1
6
32
0
0
6
111
-3
-22
60
0
0
-10
0
-10
0
-66
0
-14
3
6
-8
0
81
1
0
0
-10
-1
-13
42
32
8
-8
2
0
-93
27
57
-72
-20
0
-1
25
27
0
9
-12
1
0
86
-31
0
18
-28
2
-2
-10
-38
4
-57
-25
-15
5
0
-21
5
-7
0
0
4
-7
10
-12
1
9
14
0
0
47
0
18
0
0
3
0
59
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
1
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
-1
0
12
0
0
3
0
0
0
0
0
0
-91
0
0
0
0
0
0
19
0
0
4
0
0
-7
-59
-1
0
0
0
0
8
-81
0
0
-9
0
0
-6
-56
0
0
2
0
0
0
-96
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
1
0
43
0
0
0
0
0
0
-79
0
0
0
0
0
0
-3
0
0
11
0
0
0
-13
0
0
-12
0
0
0
-20
0
0
-8
0
0
0
-9
0
0
0
0
0
0
-10
0
3
0
0
0
0
-9
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
25
0
0
0
0
0
0
13
1
0
0
0
0
0
-63
0
0
0
0
0
8
38
0
0
-3
0
0
0
38
0
0
4
0
0
0
-40
0
0
12
0
0
0
11
0
0
1
0
0
0
20
0
0
0
0
0
0
41
0
0
0
0
0
0
-64
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-5
-2
0
0
0
21
0
0
0
0
0
0
-56
0
0
0
0
0
2
-1
0
0
0
4
0
0
-7
0
9
-12
0
0
0
4
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
0
0
0
0
0
0
0
0
-49
0
-1
-106
0
-3
0
-49
4
10
-6
0
0
0
-33
0
0
0
0
0
0
-62
-33
-14
0
-2
0
0
-61
20
0
52
0
0
1
-87
-15
-49
29
-1
35
6
35
-2
0
30
1
0
9
-25
-10
-8
-63
52
0
0
-64
0
1
-57
-1
7
0
-31
0
0
52
6
11
0
86
0
0
-2
0
-12
0
-96
0
14
-4
-11
0
0
24
0
0
0
0
0
0
32
-1
3
2
1
0
-1
-4
0
-48
-25
11
0
0
-37
0
-24
53
1
1
0
96
-1
13
-8
0
0
0
2
0
8
-21
-19
0
0
36
-8
19
-17
0
0
0
12
-2
8
-8
-10
16
0
61
0
52
0
0
0
0
-5
-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
48
35
-9
-3
-96
38
5
35
-17
0
12
53
-19
-5
-27
1
7
-2
29
-7
56
-1
7
-47
-51
-1
-13
0
26
-9
2
4
2
-13
-8
-10
37
-61
58
-12
2
-16
-47
15
-2
-37
61
-7
0
175
4
22
-34
54
109
6
-33
0
28
37
45
37
-11
-14
47
35
-1
-77
-14
1
17
-24
-22
-14
5
-11
30
12
-5
16
42
-45
8
12
0
-25
-3
-12
0
-3
-10
-57
-37
-28
-16
3
-21
0
143
6
-8
-84
-15
8
9
-44
16
-30
67
-7
8
-1
-26
-32
14
-53
3
113
-2
-38
0
-18
30
49
41
0
44
-7
0
-23
46
0
-12
-25
-73
0
33
-36
15
-1
4
54
-24
-31
-3
4
-7
0
12
-65
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
113
0
0
0
0
0
23
38
0
0
7
0
0
0
-6
0
0
-3
0
0
-6
-9
0
0
-3
0
0
0
59
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
1
0
0
32
0
0
0
0
0
0
-33
-2
0
0
0
0
0
31
0
0
-1
0
0
-4
-118
0
2
0
0
0
0
-33
0
0
1
0
0
0
-12
0
0
0
5
0
0
-54
0
0
0
0
0
0
44
0
0
0
-2
0
0
37
0
0
3
0
0
0
13
0
0
0
0
0
0
69
0
0
0
0
0
0
-7
0
0
0
0
0
0
31
0
-2
0
0
0
0
-2
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
0
0
0
0
0
0
0
-33
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
-16
-23
0
-1
-8
5
-4
5
52
0
-63
0
-40
-22
-4
-6
23
0
0
0
-11
0
-4
2
-1
0
1
-1
0
37
96
6
-31
0
0
21
-33
28
37
14
-7
1
-85
63
4
9
-55
0
0
6
-4
0
0
-2
68
0
-9
-26
2
-9
-9
6
0
5
3
0
0
5
-38
-16
9
36
0
0
-42
0
-12
0
70
0
-3
0
-1
60
0
-17
6
0
0
0
-1
0
41
-42
4
12
-19
0
-4
19
4
-1
-6
0
2
51
8
6
-11
8
5
-9
0
-33
0
-43
-2
1
-2
6
-15
0
-8
6
-67
0
-2
6
0
-64
15
0
2
0
-45
-5
-12
-4
-6
0
8
-4
0
-33
-1
6
-10
0
7
-9
-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
-3
-8
0
0
26
0
7
13
68
0
142
2
1
0
0
67
0
0
0
0
3
0
0
2
9
0
0
0
0
-18
26
0
-24
0
0
34
-95
0
-1
-12
0
0
0
-26
0
2
14
0
0
0
49
0
0
16
0
0
3
-25
0
0
-48
0
9
-2
-15
-1
-1
-69
0
13
0
17
0
0
16
0
-9
0
-60
0
0
15
0
25
0
-54
4
-6
0
0
0
0
-51
22
0
0
0
0
4
10
0
5
5
0
0
0
-9
0
0
-12
0
0
0
-7
0
0
25
0
-24
-11
6
0
-1
21
0
0
0
-7
-1
-73
0
0
0
0
-45
0
0
-5
0
0
0
-1
0
7
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
-13
0
0
0
0
0
0
1
0
2
0
-14
0
0
-26
0
0
0
0
0
0
50
7
0
0
-5
0
0
-16
0
0
0
0
0
0
-47
0
0
-4
2
0
-1
-42
0
0
0
0
0
0
-53
0
0
15
0
0
0
10
0
0
-3
0
0
-7
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-1
0
0
-27
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
-6
0
0
0
-19
0
0
0
0
0
0
97
0
0
1
0
0
0
16
0
0
2
0
0
0
32
0
-14
-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
57
0
-16
0
-10
0
0
19
0
0
0
0
-4
0
5
-5
0
0
0
0
-1
-26
-36
0
1
0
0
-18
-47
-7
33
68
-1
0
-9
44
0
0
57
0
0
27
-16
-10
1
-33
-9
0
0
-29
0
0
4
3
0
0
-52
0
-8
11
34
0
3
49
0
12
-25
0
-4
0
-27
0
0
0
-3
-8
0
6
0
0
0
0
0
0
-68
5
1
0
0
0
-26
65
0
44
16
0
0
1
-11
0
7
24
0
0
0
46
0
-5
2
-3
0
0
55
0
0
-10
4
0
0
17
0
-14
-9
0
0
0
-15
0
-2
0
-6
0
0
40
0
-39
0
0
5
0
31
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
-13
-24
0
-2
-31
0
7
72
-1
26
0
9
-11
22
-1
17
-1
-64
32
-141
0
9
-12
8
13
-17
-7
-38
-75
20
-7
34
-26
24
28
-3
16
-7
39
14
20
-14
-31
-107
-3
35
-16
1
37
68
28
26
17
0
2
-42
63
-76
5
-7
-25
73
10
1
0
-64
-4
-27
1
-22
2
15
32
0
5
47
0
-1
2
1
-7
12
-20
20
0
-6
2
-65
-19
7
35
-95
10
-45
-92
26
-64
-71
24
8
0
-60
28
3
31
53
1
10
0
-49
36
10
-72
27
-62
71
0
-41
-28
-5
-49
-2
7
-83
-10
41
6
13
10
2
-18
-9
6
-16
0
-83
0
-25
44
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
-6
0
-2
-1
0
0
0
13
0
0
-12
0
0
0
-4
0
0
-5
0
0
-1
-4
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
-1
0
-3
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
-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
16
0
-13
0
0
0
0
11
0
0
0
0
0
0
-27
-1
0
0
0
0
0
-3
0
0
21
0
0
0
-43
0
0
0
0
0
-5
6
0
0
0
0
0
0
-31
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
19
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
33
0
0
0
0
0
0
12
0
0
0
0
0
0
46
0
-8
3
0
0
0
-14
0
0
0
0
0
0
-2
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
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
3
-2
0
1
0
-5
-1
0
-50
-4
0
0
0
-2
0
11
47
-12
0
4
0
0
26
-46
0
-10
0
0
15
-91
-13
-4
74
13
-8
-32
8
0
8
93
0
0
38
-35
-2
-17
-49
5
11
2
-3
2
6
7
2
-8
2
40
-13
0
-4
-5
14
0
-35
0
0
0
0
-47
0
4
0
-2
0
-13
2
0
-38
0
0
0
0
0
0
37
6
10
11
0
0
-2
91
0
-13
16
0
1
1
55
0
-15
0
1
0
6
-94
0
7
-2
0
0
13
4
-1
5
0
25
0
-4
18
0
-18
0
0
2
0
6
-13
0
0
-18
5
0
-83
0
90
6
0
-2
0
-59
5
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
-12
0
0
0
0
0
0
82
0
0
0
0
0
0
80
0
0
-12
0
0
-1
-52
0
0
0
0
0
0
43
0
0
0
0
0
0
14
0
0
-1
0
0
0
3
0
0
-1
0
0
-2
35
0
0
0
0
0
0
-9
0
0
-13
0
0
0
13
0
0
0
0
0
0
-33
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
16
0
0
0
0
0
0
60
2
3
0
2
0
0
35
-8
0
0
0
0
-2
65
-7
0
1
0
0
0
8
0
0
0
0
0
0
39
0
0
18
0
0
0
-12
0
0
4
0
0
0
-26
0
0
0
0
0
0
-22
0
0
0
0
0
0
-72
0
0
0
0
0
0
35
0
0
0
0
0
0
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
42
0
0
-9
0
0
0
33
0
-1
0
0
0
0
-2
0
35
0
0
0
0
10
0
0
0
0
0
0
26
0
0
0
0
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
41
0
0
-15
0
0
0
30
0
0
0
0
0
0
-9
9
0
-11
0
0
6
131
0
-8
-13
21
0
5
-5
-7
2
-36
0
0
0
-44
0
0
-12
-2
0
0
-58
-8
7
-12
0
0
0
-35
0
0
3
0
0
0
-1
0
2
-2
0
0
0
-39
1
0
0
0
0
0
-12
0
0
0
0
0
0
27
11
0
0
0
0
0
5
0
20
2
0
0
0
16
6
-1
2
0
0
0
-17
0
-26
0
0
0
0
-2
0
4
0
-12
18
0
-6
0
0
2
0
0
0
5
0
0
-2
2
0
0
-24
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
-28
0
0
2
54
-3
0
-19
66
17
0
-4
0
5
-29
68
-37
16
-19
-3
14
-14
-67
-21
15
-9
1
25
10
10
5
19
-3
-10
0
-1
0
-56
-18
-20
-44
136
-62
-10
-57
22
46
-12
43
-20
-10
-8
66
29
36
11
0
25
-14
49
-8
37
0
33
0
11
-5
16
-16
0
79
5
0
0
-1
-4
-1
-4
-62
-4
38
-30
0
127
143
59
-11
-27
-7
1
95
-39
39
9
49
6
0
35
34
2
-11
20
45
-1
3
-24
36
1
-35
104
14
8
-21
11
114
17
21
-1
0
0
-13
0
7
-52
3
0
46
0
28
-4
0
3
0
17
6
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
0
0
20
0
0
1
11
0
0
-4
0
0
0
77
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
-3
0
0
0
0
0
0
-92
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
-17
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-54
2
0
9
18
-19
0
27
-74
0
0
17
0
93
-17
-4
20
-60
-1
3
3
-12
31
1
12
18
2
-24
2
-10
-2
-2
-7
-8
-41
-41
24
3
55
58
-6
52
37
-1
20
-58
18
-1
-96
20
6
131
-6
-30
-6
30
28
0
0
-80
53
-62
0
-11
12
4
-15
2
-37
0
17
7
12
0
0
-8
24
-37
-7
38
-4
15
0
-50
-84
-9
57
52
3
-3
77
-95
-17
-16
64
9
0
-145
21
-25
-59
115
-5
-21
26
-111
0
-14
-103
82
-14
5
11
0
-12
-38
-8
-1
10
7
0
22
-32
-9
-4
0
1
0
18
-5
0
15
0
-45
-15
-35
-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
50
-1
0
0
0
0
0
11
52
-5
0
0
0
-16
18
1
0
0
0
0
18
-8
0
0
-11
0
0
87
2
-1
0
14
0
0
-6
36
0
-1
30
-22
-2
-5
-11
0
0
0
0
0
0
-18
0
0
-2
-30
0
0
-55
0
-2
0
0
0
0
-43
0
-2
0
0
22
0
28
0
-6
0
0
0
0
-13
-16
0
-6
0
0
3
49
0
24
-28
0
0
6
16
-10
0
2
-5
0
-3
-78
0
-49
16
0
0
0
13
0
0
0
2
0
0
55
-5
2
9
0
0
0
-168
0
-1
-3
0
0
0
32
0
33
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
55
-34
-7
0
0
0
0
40
-2
0
64
0
0
62
68
0
-1
-51
0
0
-41
27
2
2
23
0
1
54
90
0
1
-7
0
0
-20
-6
0
-5
-46
0
-9
-1
-4
0
0
-26
-16
0
0
-19
0
0
-8
0
-4
0
-37
0
-1
11
0
4
0
-64
0
0
0
0
0
11
58
-3
0
-14
0
0
-23
-33
0
53
26
0
0
-41
11
4
25
-29
0
0
1
32
0
48
3
0
1
-3
43
0
0
16
0
21
-19
41
0
0
33
0
0
0
74
0
0
2
0
0
0
57
0
-16
0
0
-3
0
-12
-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
-19
0
0
0
0
0
0
-74
0
0
0
0
0
0
-35
11
0
0
0
0
0
80
0
0
3
0
0
6
110
0
-4
-5
0
0
-3
-49
0
0
9
0
0
0
50
0
0
0
0
0
-2
-22
0
0
0
0
0
0
16
0
0
3
0
0
0
-28
0
0
13
0
0
0
73
0
0
0
0
0
0
1
-5
0
0
0
0
0
73
0
-2
2
0
0
0
-6
0
0
0
0
0
0
20
0
-16
0
0
0
0
10
0
-12
0
0
0
0
52
0
0
-3
0
0
0
66
0
0
0
0
0
0
46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
0
0
0
3
0
0
-8
0
0
0
-26
0
0
12
0
0
0
-50
0
0
6
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
4
0
0
0
-13
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
19
0
0
0
0
-10
0
0
0
0
0
10
21
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
2
0
0
0
15
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
-17
14
49
-1
-39
0
17
-26
-14
-23
117
58
-3
-40
5
54
38
-3
12
-41
13
-33
11
29
-12
1
-20
-66
3
-23
-38
51
-40
-23
-6
30
-2
-27
6
31
29
-16
17
-14
-6
-25
-120
12
-50
-42
0
-11
-49
20
24
-1
0
6
4
38
-47
11
0
-3
8
-2
0
5
-1
0
-62
-11
44
117
-16
0
15
25
59
17
78
13
62
-81
-48
-13
-100
59
-31
1
43
43
39
33
72
14
6
64
126
-1
-35
-53
-48
-1
22
15
3
20
-51
4
-34
-6
14
-21
-36
-9
45
8
0
0
0
26
-6
2
2
0
44
0
-2
-3
-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
-11
0
3
0
0
0
0
-1
0
0
0
0
0
34
33
0
0
0
0
0
-3
-61
0
0
10
0
0
0
41
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
4
0
0
67
0
0
0
0
0
0
-7
0
0
6
0
0
0
-20
0
2
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
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
-1
11
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
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
-1
0
0
0
3
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
5
0
0
0
14
1
0
2
0
0
0
26
0
0
-3
0
0
0
-40
0
0
0
0
0
0
-59
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
-24
0
0
-1
0
0
0
27
0
0
0
0
0
0
78
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
-3
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
-13
0
0
0
43
1
0
0
0
0
9
-20
0
0
0
0
0
0
70
0
0
-8
0
0
0
-31
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
1
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
-5
0
0
0
0
5
0
0
-5
0
0
0
-13
0
5
0
0
0
0
-12
0
0
0
0
0
0
3
0
4
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
-36
-23
1
0
0
0
10
-59
9
0
8
0
0
-2
-16
0
0
-112
0
0
-22
-89
0
0
-1
0
0
-1
3
0
0
3
-4
0
-4
-7
0
0
27
0
0
-2
-64
0
0
-31
-1
0
3
16
0
0
6
0
0
0
15
-4
10
-16
-17
0
0
147
0
0
0
0
0
0
-6
9
0
0
-8
0
0
-2
0
7
22
3
0
-9
43
0
2
1
0
0
0
65
0
-6
11
0
0
-6
47
0
0
0
0
0
-2
-21
0
-24
12
0
0
0
6
0
4
0
0
0
0
56
0
-34
0
0
0
0
-47
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-138
24
4
18
-7
9
8
-60
-32
16
109
53
56
-27
-27
-41
-40
-17
-41
34
-14
-85
92
19
31
4
49
-3
9
18
15
24
20
20
-12
-64
-23
25
13
-104
-19
1
35
-61
14
-75
-62
4
5
7
11
-11
62
75
-1
0
0
-48
-38
31
75
-36
3
-30
-32
84
-74
-39
-46
55
22
9
63
38
-11
74
-32
132
76
35
-5
14
84
-16
30
35
40
-65
-57
4
-31
41
-20
4
5
-59
34
-63
-24
-17
124
-34
-77
-63
-41
-26
12
-34
-61
43
-9
14
-9
12
-81
8
76
-1
0
-2
40
-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
-24
-6
-1
13
0
-1
36
-52
-12
-5
-50
6
-6
64
-86
0
-1
59
0
1
1
-19
0
3
-52
-10
-1
-7
-10
-1
-1
-6
0
7
-13
-13
0
-2
-57
1
17
0
-8
0
-5
5
0
11
0
34
0
0
-1
-2
7
0
80
0
0
0
0
0
0
-26
-8
6
-1
0
0
-64
40
0
-6
44
-4
0
1
-26
-4
-3
-10
0
0
2
-46
0
1
15
0
0
-8
-8
0
-31
-10
-8
0
-26
-46
0
-16
-6
2
0
0
-42
0
-7
0
0
0
0
9
0
-18
0
0
-1
0
32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
-19
0
-12
0
0
-6
-23
0
0
24
0
0
135
0
0
0
-5
0
7
2
-43
0
0
-12
0
0
-3
1
0
0
68
0
0
0
68
0
0
9
9
0
0
-44
0
0
4
0
5
0
49
0
0
5
11
0
0
-10
0
0
0
0
0
0
-31
-1
0
0
0
0
0
69
0
-34
6
-1
2
0
-77
0
-2
21
-5
0
28
-35
0
-10
-13
0
0
0
27
0
-2
11
3
-12
0
-3
0
18
0
0
0
0
40
0
0
0
0
0
0
-21
0
4
5
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
3
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
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
-95
-6
0
0
0
0
0
59
-3
-1
3
0
0
0
-73
0
0
6
0
0
2
47
0
0
0
0
0
0
-14
0
0
-1
0
-1
0
-15
0
0
0
0
0
0
2
0
0
0
0
-15
0
8
0
0
0
0
0
0
-27
0
0
0
0
0
0
60
-1
-9
0
0
0
0
-33
0
2
2
0
0
0
45
0
0
0
0
0
2
67
0
-5
-3
0
0
0
-31
0
0
1
0
0
0
9
0
5
3
0
0
0
10
0
0
0
-1
0
0
169
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
14
0
0
0
0
0
0
1
0
0
-2
0
0
8
71
0
0
0
0
0
1
22
0
0
0
0
0
0
115
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
-58
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-12
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
-17
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
-10
-45
0
0
-1
0
0
0
-37
0
0
0
0
0
0
-26
0
0
0
0
0
2
-67
0
0
-13
0
0
0
-51
0
0
-1
0
0
0
71
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
7
0
-2
0
0
0
-8
0
1
0
0
0
0
46
0
11
-16
0
0
0
10
0
3
0
0
0
0
-37
0
-1
0
-15
0
0
59
0
10
-4
0
0
0
-4
0
0
0
0
0
0
94
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
32
-6
12
103
55
-18
-59
-20
11
47
72
45
-98
63
2
-58
53
-2
3
17
-78
-34
-12
43
-54
-20
-74
-23
-49
-10
41
62
1
43
-27
39
-13
67
8
8
-62
18
-51
-28
143
97
-46
-75
-42
1
41
-87
-7
-33
-36
-72
-12
0
33
-15
-56
70
0
-29
-2
15
86
-24
37
20
-64
4
-5
-21
18
-61
60
1
-5
1
-40
-2
21
46
58
37
23
8
38
-6
31
-9
-36
26
-20
50
94
-36
42
-19
58
-41
-15
-74
72
-81
2
35
-11
15
78
-29
-13
28
-49
9
-34
-43
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
73
7
3
65
-3
0
92
6
0
-2
85
0
0
25
5
1
-1
-76
-3
0
-20
-51
1
-8
23
-4
0
20
30
0
0
-13
23
1
-7
-66
0
0
-5
0
-1
0
61
0
-3
7
25
51
0
43
-5
0
0
0
0
6
76
29
-4
-3
0
0
-5
-10
0
28
-42
0
0
5
-45
0
-2
36
0
0
-10
-62
0
26
-11
1
0
0
-29
0
-8
33
-9
0
-1
-24
0
8
4
0
0
6
-43
0
-2
-3
12
3
0
65
0
-16
0
0
-8
0
98
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
0
-17
86
0
0
-3
0
0
19
-39
0
0
16
0
0
0
5
0
0
-2
0
0
0
32
0
0
-22
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
13
0
0
0
0
0
0
-73
15
0
0
0
0
-2
6
0
0
13
0
0
0
5
0
0
-2
0
0
0
72
0
0
0
0
0
0
21
0
0
0
0
0
0
32
0
0
0
0
0
0
-6
0
0
0
-1
0
0
-61
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
2
21
21
-5
0
44
64
10
-15
-43
0
-11
91
37
-9
2
88
-5
-3
-19
-22
-20
1
-43
-21
0
0
-62
-14
-5
-8
-25
0
0
1
0
0
10
-5
3
5
58
0
0
3
0
0
0
-25
0
-11
0
0
0
0
-27
-11
-11
1
0
0
-2
66
10
4
1
-3
0
1
107
1
-28
-19
0
0
8
42
-10
-62
0
6
0
0
-41
0
10
-67
-3
0
2
-89
26
57
-4
2
0
0
-90
0
0
0
-9
0
0
58
0
10
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
-17
0
0
1
0
0
0
19
0
0
0
0
0
0
-46
0
0
0
0
0
0
-30
0
0
0
0
0
0
6
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
-10
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
-11
0
0
0
0
0
0
-23
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
-2
0
0
0
0
0
0
0
0
0
1
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
11
0
0
0
0
0
0
18
6
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
72
0
1
-65
0
0
-5
63
0
12
-81
-18
0
7
56
0
-12
-36
-2
0
-6
-89
0
-3
-4
42
0
13
-1
0
0
24
-4
6
0
-14
4
-2
8
5
-38
0
-3
0
-8
0
0
-6
0
56
-23
0
10
0
0
0
-44
0
34
17
-5
1
0
-49
0
-18
8
-2
0
-3
-26
0
46
-12
0
0
-7
0
0
4
-3
67
0
0
-78
26
-52
-12
0
0
0
-78
-2
-7
-22
-2
-1
0
-30
0
94
0
0
0
0
-41
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
-86
-26
43
-16
32
-106
43
-77
-22
19
-26
17
27
-151
-52
25
-13
15
69
32
32
-41
0
24
25
-43
0
27
53
-27
-4
56
44
-15
-87
24
18
30
-80
-22
-4
-40
0
-12
3
-5
-14
-16
96
111
28
5
-41
-21
-79
0
-148
0
-56
-50
-68
39
-6
-6
-44
39
22
-151
-95
9
-40
-24
46
-37
-99
48
-43
38
-50
26
17
-18
87
79
-32
-1
-55
-9
7
-41
-39
0
28
-21
-21
10
-44
9
-1
26
-13
-2
-48
3
-111
0
-5
9
9
-6
-36
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
3
0
0
-3
-83
0
-8
8
9
0
0
11
0
0
-14
0
0
14
-44
0
0
33
-1
0
0
45
0
0
-4
0
0
0
28
0
0
15
0
-3
0
3
0
0
0
-2
0
0
67
15
-11
-55
0
0
-1
12
-1
-13
-3
0
0
0
-12
0
14
4
0
0
0
37
0
9
-6
0
0
0
35
0
0
0
0
0
3
-53
0
6
-14
0
0
0
-69
0
0
0
1
0
0
4
0
-16
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
-9
21
0
0
81
0
0
1
-50
0
0
3
-1
0
0
21
0
0
-18
0
0
0
-97
0
0
-5
0
0
0
-106
0
0
-11
0
0
0
47
0
0
0
13
0
0
-50
0
0
0
0
0
0
109
-5
0
4
0
0
-3
-13
0
37
7
0
0
0
-52
0
-4
0
0
0
0
16
3
4
-21
0
0
-4
-33
0
0
-1
0
0
0
-57
1
0
-7
0
0
0
14
0
0
14
0
0
0
77
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-13
-22
-24
-9
6
-57
-34
-9
0
-21
47
20
-49
-10
-5
8
-104
1
-11
31
-3
0
32
-11
30
0
2
47
3
0
-20
0
4
2
-2
0
0
-9
48
-60
0
45
-10
0
0
0
0
0
-15
10
44
11
0
-11
8
-45
-3
-24
6
-14
0
33
-31
3
16
-10
0
0
41
36
-11
83
16
2
11
58
25
-8
0
71
92
0
-54
-34
5
65
-4
0
-2
-8
105
0
6
-7
-17
-14
-3
-44
0
2
-1
0
28
0
94
88
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
49
43
0
0
22
0
0
-40
6
0
0
15
0
0
-21
-42
-6
-4
16
0
0
1
-43
0
0
3
0
0
6
-75
0
0
4
0
4
0
-34
0
0
-4
0
17
0
14
0
0
0
0
0
0
-90
8
0
-3
0
0
-1
-42
0
-4
-28
0
0
0
10
0
10
0
0
0
0
-27
0
12
-1
0
0
0
-40
0
0
0
0
0
0
-2
0
-27
5
0
-1
0
62
0
0
0
0
0
0
-4
0
-8
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
66
0
0
7
0
0
-5
-12
0
0
0
0
0
8
35
0
0
0
0
0
0
17
0
0
10
-5
0
0
-122
0
0
0
0
0
0
-3
0
0
0
0
0
0
-78
0
0
0
0
0
0
17
-5
0
0
0
0
0
-73
0
-14
0
0
0
0
-3
0
0
-1
0
0
-1
32
0
-3
0
0
0
0
-14
0
-1
0
0
0
0
43
0
0
0
0
0
0
-14
0
0
0
-4
0
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
53
3
-5
3
-18
2
-26
-76
0
10
-35
11
3
0
-12
25
0
-107
28
0
-5
69
0
-2
25
0
1
0
26
0
-9
-4
-3
19
0
30
4
0
0
0
0
0
81
53
0
42
0
0
-4
30
0
-63
31
0
6
-2
24
0
-9
1
0
6
0
-23
0
4
100
-10
0
0
23
0
-16
-12
46
1
-12
7
2
10
-3
0
23
3
67
-6
-1
7
-9
-4
0
75
0
-6
0
0
14
0
123
6
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
-40
-63
-9
18
-43
-14
-47
45
40
9
-113
-74
-41
-75
6
-70
22
-23
70
32
-21
-74
-24
-12
-22
-6
26
-5
-20
55
-86
-29
-1
9
22
-17
45
86
-49
-65
24
4
25
28
-65
1
-52
6
-74
0
12
35
-15
-75
0
70
-47
-25
41
-12
62
42
-6
35
-43
80
-37
19
-9
39
-39
34
23
49
-1
-23
69
38
141
-29
-37
-20
46
47
8
-22
-12
-4
-12
-4
-74
-53
-31
64
-55
-1
-1
-21
-55
-11
-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
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
-2
0
0
0
0
37
0
0
0
0
0
0
-5
0
0
4
-7
0
0
-80
0
0
0
0
0
0
21
0
0
0
0
-1
0
-17
0
0
0
0
0
0
-26
0
0
8
0
0
0
-1
0
0
1
0
0
0
11
0
13
0
0
0
0
-23
0
0
0
0
0
0
-25
0
0
2
5
0
0
-4
0
8
0
0
0
0
22
0
0
0
0
0
0
-40
0
5
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
-7
1
0
0
9
0
0
0
-29
-2
0
1
0
0
-2
9
0
0
18
0
0
0
59
0
0
0
0
3
0
-45
0
0
0
0
0
0
56
0
0
0
0
0
0
-96
0
0
0
0
0
0
8
0
-7
0
0
0
0
-44
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
-4
0
0
0
-29
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
-76
70
-4
41
-20
0
-16
-10
12
-15
56
21
0
-7
5
19
4
-8
-15
0
13
0
0
40
0
93
-1
5
6
5
-2
0
23
29
0
0
-38
-4
-22
21
16
5
1
-8
0
-45
67
3
44
15
0
-8
-10
-20
0
47
121
-17
1
-9
-10
-4
14
116
-8
18
3
11
15
14
13
-78
11
1
-56
0
-11
-48
0
0
0
26
0
2
0
21
0
6
-44
0
73
-2
0
0
0
102
0
26
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
-62
0
0
0
0
0
0
49
0
0
2
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
1
0
0
0
53
0
0
-3
0
0
9
-2
0
0
0
0
0
0
53
0
0
-1
0
0
0
92
0
-4
0
0
0
0
24
0
0
0
0
0
0
34
0
18
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-42
0
0
6
0
0
0
0
0
0
4
-3
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
50
0
0
0
0
0
0
20
0
0
0
0
0
0
-63
0
6
-12
0
0
0
11
0
0
0
0
0
0
42
0
0
-4
0
0
0
14
0
0
0
0
0
0
12
0
-8
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
-1
-20
-14
20
11
15
-2
1
-55
1
-20
-82
-7
0
0
-63
0
-17
-1
0
31
0
-31
0
-28
0
-10
-28
0
-23
-24
0
0
0
-2
0
103
-58
0
-14
0
0
0
59
0
-62
-3
0
5
9
2
-1
-9
136
0
0
0
-9
-6
32
-1
0
0
0
-2
-5
0
6
-21
0
0
43
0
-58
16
11
3
-13
33
0
9
5
6
0
0
59
-3
-28
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-9
61
-55
22
-48
35
-2
10
32
-78
-57
31
-10
-12
20
30
-21
19
-8
93
-16
18
-31
41
110
-1
7
-3
12
-2
-10
-70
53
0
-71
3
28
45
4
62
43
-47
18
-79
-3
26
-41
6
42
7
-10
-66
-3
-26
0
2
-69
-38
-74
-11
30
-33
-40
-25
104
42
1
52
-8
-14
58
-38
22
-39
-34
67
78
-19
-20
-7
44
-14
45
-4
-13
50
19
27
-1
38
-15
39
17
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
0
0
-1
-65
0
0
6
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
21
0
0
0
0
0
0
77
5
0
-1
0
0
0
-7
0
-13
0
0
0
0
31
0
0
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
19
0
0
0
0
0
0
17
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
-1
-1
0
9
0
0
-3
-83
0
0
-9
0
0
0
-24
0
0
0
0
0
0
80
0
2
-11
8
0
0
17
0
0
0
0
0
0
13
12
0
0
0
0
0
39
0
53
-12
0
0
0
16
-2
0
-12
0
0
4
-25
0
0
1
0
0
6
11
-1
0
-2
0
0
0
-34
0
0
0
0
0
0
33
0
0
0
4
0
0
4
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-57
14
-1
16
8
6
20
-49
110
-2
-6
22
0
-2
16
0
-21
0
6
0
10
7
31
-43
0
31
4
15
0
0
0
0
5
2
17
3
0
0
39
-19
-9
50
48
0
0
6
-17
0
0
75
-4
0
0
47
-8
52
-2
21
0
39
16
0
-3
23
-26
-3
-2
34
0
-68
-15
4
2
1
-46
-7
12
-5
22
0
-4
34
0
3
7
0
21
0
-43
8
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-39
0
0
86
0
0
0
62
0
0
60
-1
0
-15
-12
0
0
10
0
0
0
90
0
0
4
0
0
0
-18
0
0
0
0
0
0
-21
-1
0
0
0
0
-31
18
0
114
-4
0
0
0
-99
0
5
27
0
0
7
58
0
-8
22
0
9
-3
-33
0
3
5
0
8
13
22
0
13
5
0
0
0
80
0
-9
-3
0
0
0
47
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
-23
0
0
0
0
0
-1
-44
0
0
-1
5
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
-10
0
0
4
45
0
-8
0
0
0
0
25
0
0
0
0
0
6
-33
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
-12
0
0
2
0
0
0
0
0
0
-52
0
0
-3
-17
1
0
-24
0
-4
0
0
0
-12
-7
20
0
12
0
0
0
52
0
94
-4
0
0
0
12
4
-1
2
-4
1
-4
-28
0
-1
13
0
0
0
-24
0
24
20
-37
0
18
-27
3
-6
-5
0
0
0
-65
0
-3
0
11
-9
0
-27
0
-36
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-27
7
-15
-79
-50
4
20
17
68
20
11
-129
19
-38
-12
-62
26
-19
4
0
-6
100
-38
0
58
17
43
-13
-17
-6
-55
-61
-5
-15
28
-88
9
52
17
22
86
20
-15
45
28
84
0
12
-16
50
-44
-7
10
71
17
0
-4
65
74
-11
14
62
44
-29
-32
34
-10
-15
33
-40
99
0
117
-107
-21
-6
-5
-2
-80
35
-4
24
0
29
16
19
-8
75
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
20
0
0
1
0
0
0
31
0
0
0
0
0
0
63
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-18
-1
0
0
0
13
0
0
0
0
0
0
-4
0
4
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
-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
130
0
0
-1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
73
0
0
0
0
0
0
3
-29
0
0
0
0
-1
5
0
-32
19
0
0
-4
0
10
0
-2
0
0
-5
-1
0
0
-1
0
0
0
-43
0
0
0
0
0
0
52
0
-7
-1
0
0
0
58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
58
0
1
-62
0
-5
-6
0
23
10
32
9
7
1
87
2
0
18
0
0
0
0
0
1
1
-18
-14
-10
0
0
0
50
0
49
-3
10
0
-2
-49
-2
12
105
0
0
0
-43
0
14
16
0
0
34
36
-6
-17
1
-69
0
7
36
0
27
0
0
0
2
19
1
11
-2
-3
0
-3
21
0
-53
0
0
0
0
-34
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
45
0
0
0
0
0
0
-16
0
0
7
0
3
0
-51
0
0
0
0
0
0
76
0
0
1
0
0
-3
-2
0
4
0
0
0
5
19
0
0
0
0
0
0
6
0
0
0
0
0
0
-70
0
0
-7
-18
0
0
28
0
0
-9
0
0
0
-5
0
0
0
0
0
0
36
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
21
0
0
6
0
0
0
47
0
0
0
0
0
0
8
0
0
0
0
0
0
49
0
0
0
0
0
0
108
-6
0
0
0
0
0
3
0
-1
8
0
0
0
90
0
0
-2
0
0
0
-27
0
5
-1
0
0
0
-30
0
0
1
0
0
0
-2
0
0
0
0
0
0
45
0
0
0
8
0
0
14
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
-39
0
0
3
5
-1
0
-12
0
0
0
-1
0
0
6
0
0
0
-2
0
0
18
-6
0
7
0
0
0
51
0
-55
-2
0
0
-8
-13
0
0
4
0
0
0
-24
0
-5
0
-6
0
0
42
0
0
-9
-6
-4
8
74
0
14
11
0
0
0
-15
0
0
0
-1
-1
0
7
0
-7
0
0
-5
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
35
-14
-5
-9
48
2
9
3
11
26
92
100
-21
-42
0
33
-14
-1
0
10
-7
-7
-26
1
-59
3
-14
0
-35
63
-38
-22
33
-1
16
44
2
47
16
8
8
2
-13
27
13
63
-64
91
-19
21
13
-1
18
-41
68
14
-24
0
-14
37
50
19
-6
8
7
-17
-45
24
3
9
3
32
-11
-32
-1
0
-16
0
-5
-31
14
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
1
0
0
0
0
0
1
0
-25
1
0
0
0
17
0
0
0
0
0
0
7
0
5
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
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
-14
0
0
-2
0
0
0
-3
0
-6
0
0
0
0
4
0
3
-4
0
0
0
50
0
0
-1
0
0
0
15
0
0
0
-3
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
44
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
27
0
0
0
0
26
0
-8
0
0
0
3
-43
0
47
-18
0
0
0
0
5
33
-5
0
0
-13
0
-3
65
5
-23
-9
0
0
-8
-17
3
27
16
-1
3
-6
108
0
-25
-16
0
2
0
-5
7
0
-2
14
11
-8
-2
0
-15
0
0
0
0
-57
0
-4
0
0
0
0
63
0
15
0
-4
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
0
0
13
0
12
-3
-60
0
-6
25
0
-2
0
-25
0
11
0
0
0
-11
7
-1
0
0
0
0
0
71
0
-58
-23
0
0
10
-6
0
10
0
0
0
3
-35
0
54
28
0
0
2
81
0
1
-72
0
0
6
49
0
14
-4
0
0
-1
17
0
5
-8
0
0
0
68
0
67
-4
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
0
7
0
0
0
0
0
0
-33
0
0
0
0
0
0
43
0
0
0
0
0
0
86
0
0
0
0
0
0
17
0
13
0
0
0
0
28
0
0
0
0
0
-8
0
0
-8
-18
0
0
0
61
0
0
2
0
0
0
-16
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-47
0
0
0
0
0
0
-84
7
0
0
0
0
-3
-54
0
16
4
0
0
0
-14
0
-2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
1
-25
0
0
-50
0
0
1
0
0
0
-57
0
5
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
-17
-58
-58
-41
-47
43
9
0
7
4
36
1
4
-3
97
40
12
14
-48
35
2
72
-40
-52
28
27
-1
7
-53
-34
41
50
48
36
1
-22
9
19
160
10
-49
115
92
25
-3
-54
28
9
96
-84
28
12
-59
62
64
51
13
0
-2
-42
-28
48
-2
22
-25
-9
85
48
0
43
0
21
-77
-24
-12
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
-1
0
0
0
0
0
0
79
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
-4
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-22
0
0
0
0
-14
0
0
25
0
0
0
-8
0
0
6
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
35
0
0
-57
0
0
0
0
0
0
-6
-14
0
0
-14
0
0
69
0
27
3
0
0
0
15
0
0
-4
5
0
0
-11
0
0
0
0
0
0
14
0
0
0
28
0
5
-59
0
-6
0
0
0
0
32
0
9
0
0
0
0
-10
0
8
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
-3
0
19
0
0
0
0
-12
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
-1
0
0
0
0
0
0
-1
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
99
0
0
0
-3
0
0
21
0
0
0
0
0
0
1
5
0
6
0
0
-4
35
0
15
-3
0
0
0
93
0
0
-1
-1
0
0
91
0
-16
10
0
0
2
23
0
0
-10
-11
0
0
17
0
-28
0
0
0
0
58
0
0
-5
-2
0
0
41
0
2
0
0
0
0
-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
0
8
0
0
0
0
0
0
-5
6
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
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
69
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
21
1
65
-52
22
-31
-1
-5
-1
31
-13
66
-6
10
-8
16
80
-13
3
80
-72
-25
2
6
81
3
-4
36
5
33
-48
27
-3
-30
-2
5
-5
-79
54
1
-74
-33
22
-4
1
-20
12
-16
68
16
-11
0
0
4
54
13
9
-17
0
10
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
40
0
0
0
0
0
0
-9
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
-2
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
32
0
0
2
0
0
5
-55
0
0
1
0
0
0
22
0
0
6
0
0
9
-2
0
0
-1
0
0
0
7
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-58
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-101
-3
0
0
0
0
0
30
0
-7
-2
4
0
0
-3
8
0
-38
3
0
0
32
0
-3
0
9
0
0
27
0
0
0
-9
0
0
-60
4
22
0
0
0
0
-42
0
0
2
-2
0
0
-48
0
11
0
0
0
0
-33
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
78
34
0
0
0
0
3
27
0
7
6
0
0
0
48
0
-6
0
0
0
-3
48
0
-2
-1
0
0
18
50
0
0
0
0
0
0
-83
0
9
1
0
0
0
49
0
0
-3
0
0
0
3
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
-18
0
0
0
0
-9
-31
0
-10
-3
0
0
0
61
6
9
11
0
0
0
87
0
0
-3
0
0
0
-1
0
0
0
49
0
0
-31
0
22
-10
0
0
0
-57
0
-2
11
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
60
32
-82
0
-78
-23
-1
5
39
11
39
-39
47
11
-43
30
7
52
5
-16
-7
-10
-23
-43
142
9
-7
-7
-71
32
-71
82
50
31
86
-3
37
-14
-39
22
-26
-4
6
76
41
17
63
-29
1
1
40
4
-3
-1
0
-2
15
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
17
-8
0
-11
0
0
0
0
-65
0
0
14
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
-11
0
0
0
0
8
0
0
5
0
0
0
23
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
21
0
0
0
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
1
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
12
0
0
-2
0
0
0
11
0
0
1
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
0
6
0
0
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
-12
0
0
7
0
0
0
-4
0
-3
-7
0
0
0
-14
0
0
0
-4
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-80
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
65
-32
-4
56
31
117
55
120
-52
11
-29
53
-9
10
53
42
-3
2
2
46
19
-131
-38
2
-39
11
65
-38
-2
-14
14
28
39
-39
54
-17
28
-5
100
-6
12
31
70
19
-8
-11
16
-1
89
0
52
45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-92
0
-1
-13
4
-14
0
-3
-18
0
6
15
-2
0
1
28
2
0
-11
90
0
2
9
-2
-12
5
-17
-3
1
6
0
0
0
47
0
-5
9
-15
-7
0
64
0
-62
-5
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-1
0
0
1
88
0
0
0
0
0
0
-10
0
0
0
2
0
0
12
0
-3
0
0
0
0
4
0
0
0
-9
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
9
-38
0
-1
0
0
0
2
8
0
0
1
0
0
0
29
0
0
1
0
0
9
-54
0
-50
14
0
0
0
13
0
-3
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
8
0
0
0
0
-6
0
2
0
0
0
0
-31
0
0
-7
0
0
0
-7
0
-2
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
6
-2
-4
0
0
19
0
-10
5
-7
0
0
-117
0
20
0
0
0
0
39
0
0
0
0
0
0
2
0
-21
0
0
0
0
121
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
58
-65
-94
27
0
-26
102
13
13
110
8
58
-20
32
0
19
88
-68
-11
-11
94
-7
-55
36
31
-1
-3
35
0
-13
-103
36
0
28
42
0
-141
-2
0
17
0
20
22
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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
47
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
32
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
20
3
-6
-17
0
-28
-4
3
3
115
-9
0
5
-84
2
1
-36
92
0
-21
28
-13
5
-14
2
0
4
-3
0
13
-6
7
0
0
58
0
34
-4
0
0
0
-6
-11
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
-3
-32
-3
50
-26
0
0
0
86
0
-9
-2
0
-3
-16
-145
-5
2
-4
10
0
0
-32
0
100
14
1
0
0
-85
0
7
0
10
0
0
158
0
-7
0
0
-7
0
-65
-37
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
-3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
3
0
0
77
1
-2
0
2
-1
0
76
0
-6
0
0
0
0
23
0
0
0
0
1
0
41
0
-2
0
0
-2
0
41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
35
8
5
-23
57
-3
50
11
-15
11
34
23
-12
39
-26
-3
15
34
10
-6
19
10
-4
8
31
-18
-11
2
-32
0
8
27
0
51
0
60
93
-50
-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
22
0
0
0
0
0
0
16
0
0
-2
0
0
0
7
0
10
0
0
0
0
0
0
-2
0
1
0
0
-29
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
-3
25
0
0
0
0
0
0
-2
0
0
0
2
0
3
-36
0
10
0
0
0
0
-19
0
0
-9
0
0
8
-56
0
-13
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
58
0
0
0
-101
0
0
-6
-36
5
-1
-21
0
63
3
0
0
0
42
-4
0
16
0
0
0
21
0
-8
0
0
0
0
69
-12
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
-18
0
0
7
0
0
0
-13
0
-3
7
0
0
0
-19
0
0
-1
0
0
0
11
0
-1
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
2
0
0
0
0
1
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
-4
12
0
0
4
-2
0
0
15
0
23
-3
0
0
0
32
0
0
-15
-13
0
0
5
0
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-56
21
-20
19
37
-5
-7
-8
-43
-66
44
-29
-8
9
0
27
25
-15
0
17
0
130
-44
0
27
0
-18
53
36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
2
-36
0
0
-2
0
0
0
5
0
0
11
-3
0
0
-49
0
-24
2
3
-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
-14
0
-3
0
-21
0
0
-33
0
-48
0
0
0
0
52
-3
14
6
-1
0
0
-38
0
6
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-61
0
0
0
0
0
0
12
0
0
0
0
0
0
87
0
25
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
-1
0
0
10
0
0
0
27
0
0
0
0
0
0
43
0
0
0
0
0
0
10
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
-2
0
6
-2
0
0
0
34
0
0
0
5
0
0
44
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
32
-40
5
51
-10
61
0
6
41
24
-3
0
35
0
-106
-1
0
-1
0
95
91
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-4
0
0
0
-28
0
-24
0
0
0
0
38
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
69
0
0
0
-1
2
0
-2
0
0
0
0
51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
8
0
0
0
64
0
8
0
0
0
0
-5
0
-24
5
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
9
0
0
0
58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
-17
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
-7
-65
0
22
39
99
-2
9
20
4
13
-18
0
-5
0
14
49
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
0
0
0
0
0
0
21
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
12
-55
0
-3
-14
3
-1
0
72
1
3
7
0
3
0
-24
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-19
0
0
-121
0
25
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
1
0
-8
0
-34
-33
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-130
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
9
0
0
0
0
0
0
-31
-1
0
0
0
0
0
22
0
0
0
0
0
0
22
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
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
-67
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
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
-33
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
-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
-10
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
8
0
0
2
0
0
0
17
-1
0
-24
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
15
0
0
6
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
-31
-21
0
0
0
0
0
0
-9
0
0
-5
0
0
0
19
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
0
0
0
0
0
0
-49
7
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
11
0
0
0
-17
0
0
0
0
0
1
4
0
0
0
0
0
0
10
0
0
-11
0
0
0
3
0
0
0
5
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-8
0
11
0
0
0
0
0
0
0
14
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
14
0
0
1
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
60
16
-60
-36
10
-11
31
135
6
10
-18
1
29
19
40
44
-11
-55
25
43
36
11
-29
3
-18
7
-13
-45
16
-13
-46
4
-6
-44
-34
-20
-45
12
-86
-13
-51
86
40
-4
-26
-46
-30
18
6
10
-7
-47
10
14
-40
60
-34
7
-45
-70
4
82
-26
-6
58
26
2
14
27
38
74
53
48
72
47
28
55
70
58
15
1
-18
10
-39
-62
-16
1
24
7
1
9
28
51
8
4
29
6
8
-91
41
-54
49
8
11
52
0
-114
-25
-30
8
-63
-6
-20
-59
-61
-17
23
-77
-20
73
-104
2
-34
57
0
0
0
0
0
0
0
46
43
36
45
28
23
76
23
0
31
90
43
-2
36
-35
6
-59
-65
5
46
-9
-16
5
-56
27
-10
16
15
-17
17
32
4
1
-4
-99
-26
5
-1
-74
-13
-58
-31
-54
25
-16
-38
-56
76
-43
10
0
-49
-18
-93
-37
47
-6
30
44
29
3
-14
-57
-7
40
-41
35
24
-61
-26
35
0
40
14
35
-33
-42
-14
7
33
95
9
-92
6
34
-7
-85
0
13
5
5
7
3
1
-21
-13
-14
15
61
0
20
66
7
-34
-13
34
1
-25
-70
-37
19
45
-11
1
-17
-76
8
60
-6
-17
11
-33
8
-37
7
-18
43
3
5
-94
-19
-10
-3
-36
-1
2
3
-15
52
53
-9
-14
-36
1
32
2
32
-16
4
-12
3
-16
-7
24
22
-20
7
-44
31
3
-84
22
0
0
-18
35
-10
-43
19
-13
-34
-15
7
26
48
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
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
0
0
0
0
0
-92
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
20
0
0
5
0
0
0
15
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
2
0
0
-6
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-29
0
0
-40
-4
0
0
6
0
0
0
29
0
0
0
0
0
0
-120
0
0
0
0
0
0
15
0
2
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-39
14
0
0
0
0
0
-97
0
0
0
0
0
0
38
0
0
0
0
0
0
29
0
0
4
0
0
0
16
0
0
0
0
0
0
14
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
47
0
0
0
0
0
0
5
16
0
0
0
0
0
7
0
-2
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
37
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
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
26
0
0
0
0
0
2
-2
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
-33
0
0
-3
0
0
0
43
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
31
0
0
1
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
2
0
0
18
-30
0
0
0
0
0
0
-5
0
0
-5
0
0
0
13
0
0
1
0
0
0
37
0
27
0
0
0
0
4
0
0
0
0
0
0
-21
0
2
0
0
0
0
8
1
0
0
0
0
0
45
0
0
2
0
0
0
68
0
0
0
0
0
0
-5
0
0
4
0
0
0
8
0
0
0
0
0
0
40
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
50
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
-2
1
0
0
0
3
0
0
0
0
0
0
40
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
45
0
0
0
0
0
11
-25
0
0
0
0
13
0
0
0
-4
0
0
7
0
0
0
-1
0
0
40
0
0
0
0
0
0
-22
0
0
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
-4
0
0
0
0
0
-9
2
1
0
0
0
0
0
0
0
0
0
0
14
0
0
25
-27
8
0
19
-94
0
0
49
0
0
-1
-6
0
0
10
0
0
0
-9
0
0
-5
0
0
0
-5
0
-21
3
0
0
0
54
0
0
0
0
0
0
30
0
0
0
0
0
0
23
29
0
0
0
0
-15
48
0
0
-3
0
0
0
13
0
0
0
0
0
11
-53
0
0
3
-1
0
0
3
0
0
35
0
0
0
-86
0
0
-4
0
0
0
13
0
0
0
0
0
0
96
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
-8
0
0
0
0
0
57
0
4
-4
0
0
0
-21
0
0
0
0
0
0
20
0
-3
-22
0
0
0
11
0
0
-11
0
0
0
77
0
1
0
0
0
0
44
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
-1
-1
0
0
6
3
-8
3
-2
0
0
-1
0
0
13
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
0
0
6
0
0
-11
0
0
0
0
0
-8
36
0
0
0
0
-3
0
0
0
42
0
0
-116
0
0
0
20
0
0
35
12
0
0
-5
-4
0
-10
4
0
0
2
0
10
0
-2
0
0
0
-1
0
-4
6
0
0
0
0
-4
0
0
0
0
0
-1
-16
0
0
39
0
0
0
-3
0
134
21
0
8
0
0
0
0
0
0
0
0
0
18
4
14
116
-7
4
0
-9
-21
0
0
-29
0
0
1
41
0
2
-1
1
0
8
-127
0
0
-1
0
0
0
73
0
-38
0
9
0
0
-48
0
0
-2
0
0
0
125
-1
-3
0
0
0
0
80
-6
0
0
0
0
0
-18
0
0
59
-3
0
-8
-4
0
0
-12
0
0
28
-38
0
0
-3
2
0
1
-19
0
0
48
-4
2
4
43
0
0
-5
22
0
0
-6
0
0
-6
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-52
0
0
-18
0
0
0
41
0
6
0
0
0
0
-7
0
-3
0
3
0
0
42
0
64
5
0
0
0
-10
0
0
13
-10
0
0
11
0
1
-1
0
0
3
53
0
0
0
0
0
0
79
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-38
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
3
-5
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
1
0
0
-3
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
-15
2
0
0
-1
0
0
0
63
0
0
-18
0
0
0
16
0
0
-2
0
0
0
-9
0
-19
0
-2
0
0
40
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-13
0
-26
0
0
0
42
0
0
21
0
0
1
1
0
0
-1
1
0
0
-19
0
0
-1
0
0
0
-24
0
0
0
0
0
0
47
0
0
0
0
0
0
5
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
-9
0
0
0
0
0
0
-4
0
-13
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
-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
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
11
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
41
0
0
-3
0
0
0
17
0
4
4
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
13
0
0
0
0
0
0
0
0
-24
15
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
7
0
0
-3
32
0
0
0
0
0
14
27
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
12
0
15
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
90
0
0
0
0
0
0
-5
0
0
27
0
0
0
16
0
0
0
0
0
0
60
0
0
3
0
0
0
-27
0
0
16
0
0
0
12
0
0
18
4
0
0
-29
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
-19
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
8
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
28
16
-92
56
50
-4
20
26
88
95
5
35
21
43
14
68
-22
51
-70
20
-2
8
18
-17
-8
0
71
32
6
23
33
-41
-20
36
10
-70
26
-13
16
-22
14
10
11
-43
16
-5
8
63
24
-21
36
-30
-67
6
-55
9
-21
13
61
31
0
-11
11
0
-4
106
57
18
-29
7
10
-12
21
-33
-24
-26
10
1
35
8
-36
90
20
25
-5
77
-25
-43
32
-28
22
-26
-36
-72
39
-34
61
18
-60
-19
27
-60
-25
18
-1
-25
-95
-14
-79
-31
24
1
97
-1
-45
133
-67
28
29
0
0
0
0
0
0
0
-20
-9
-3
-96
11
39
113
-4
27
43
-83
27
82
-14
5
-9
3
64
-3
16
-12
-3
12
5
8
-20
-70
-10
30
14
82
-12
23
12
35
-39
-26
-19
-91
-73
9
29
-19
19
10
42
46
77
54
-34
8
47
48
37
68
14
0
2
58
25
0
-75
-50
30
17
-44
52
24
34
36
-6
0
30
27
-31
-1
-23
39
1
-63
28
-39
-5
-12
-1
15
0
17
-1
14
-51
8
17
32
26
-34
-33
15
-8
4
3
-31
-44
6
-11
1
8
2
30
34
18
60
-90
-16
-4
-16
-37
33
19
63
16
77
-14
-72
-50
-1
-21
3
54
-20
25
-8
7
47
-55
-3
-51
-51
22
20
36
-11
-59
14
-58
4
27
55
-13
49
16
0
-55
-81
35
2
63
-15
-17
26
-23
-67
-5
-26
41
-44
-121
-114
11
-22
30
4
27
-9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
-12
0
-17
0
35
0
3
0
0
0
0
0
0
0
-3
0
4
-1
0
0
0
0
9
0
-3
0
0
5
0
0
0
0
0
-111
0
0
0
0
0
51
0
0
0
0
0
-11
-1
0
0
0
0
57
0
0
0
-12
-4
0
17
3
0
0
-15
0
0
14
-3
0
0
7
5
0
-21
-8
0
0
-9
0
0
-2
1
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
-1
0
-18
0
0
77
0
0
7
-19
0
-12
-3
-7
0
3
0
0
0
0
0
0
0
0
54
-37
0
14
138
0
0
64
-61
0
0
5
0
0
14
-111
0
0
-10
-2
0
-4
-108
0
0
17
0
0
0
-43
0
-36
0
5
0
0
-73
0
0
0
0
0
0
-2
-7
0
0
0
0
0
216
0
0
0
0
0
-14
66
-1
-12
22
0
0
15
41
0
0
0
0
0
-61
-64
0
0
12
0
0
-3
-46
0
0
13
0
0
4
-58
0
-11
0
0
0
0
14
0
0
0
0
0
0
85
0
0
0
1
-1
0
-44
0
0
0
0
0
0
-75
-17
0
0
0
0
-1
49
13
75
2
0
0
0
25
0
0
0
0
0
0
5
0
-18
9
0
1
0
3
0
0
2
29
0
0
106
0
14
0
-22
0
0
-2
0
-4
0
-6
-4
0
38
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
0
0
0
0
0
0
1
0
0
0
0
12
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
5
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
-29
-6
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
-28
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
-33
0
0
0
0
0
0
9
0
0
0
0
0
-5
-62
0
0
0
0
0
0
63
0
0
-2
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
-27
0
0
5
0
0
0
0
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
-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
2
0
-3
3
0
21
0
-19
4
0
9
8
0
0
0
0
12
0
2
2
0
-28
11
0
0
-8
0
0
-3
9
0
-9
0
0
0
0
1
0
-49
9
0
0
0
0
-52
0
0
0
0
-3
4
8
0
-3
0
0
1
0
0
7
-11
1
0
8
-16
0
-5
-41
0
0
-7
5
0
0
-39
-5
0
67
-8
0
5
48
0
0
-18
19
0
9
-6
-12
0
45
-1
0
0
-2
0
0
12
-9
0
3
23
22
0
0
-1
-16
0
0
0
0
6
120
-1
7
2
-7
0
0
0
0
0
0
0
0
91
5
0
16
65
4
0
86
-18
0
-1
5
8
0
71
-1
0
0
30
8
0
14
2
0
0
-39
0
0
56
34
0
-21
-58
16
0
0
27
0
-3
0
0
0
0
-2
39
-6
0
7
0
0
69
10
3
0
0
0
18
-21
0
-15
35
-13
0
-12
-28
0
-11
21
0
0
100
21
0
3
65
-16
0
-8
-3
0
0
-2
0
0
-15
2
0
-11
4
-2
0
-6
5
0
0
11
0
0
-4
-52
0
0
1
-3
0
0
-9
0
0
0
0
0
0
104
-10
0
-29
-4
0
0
75
3
94
-8
0
0
-38
-62
0
-5
11
-5
0
-1
43
0
-130
6
0
0
0
-79
0
22
20
-27
0
0
-37
0
46
-41
-4
0
0
-1
0
6
23
9
0
0
36
0
-13
0
0
0
0
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
-73
117
-19
-27
-25
0
-15
44
81
11
-6
32
0
33
42
3
0
7
0
0
9
-43
-30
0
0
0
-18
1
0
3
0
-15
0
0
-36
0
0
-20
0
0
0
23
0
-24
97
28
0
0
0
8
40
4
49
44
15
39
-62
-7
32
-20
52
1
8
16
8
-5
14
50
67
16
-54
25
-20
-7
9
0
-42
145
38
0
3
87
-3
0
9
15
0
-10
-3
0
-26
0
62
0
0
-3
-8
-55
0
-4
33
0
0
0
56
0
50
-51
16
7
-19
0
0
0
0
0
0
0
0
-14
28
-52
81
20
-131
6
-54
11
-31
44
79
-25
0
-1
17
1
70
-44
19
1
-20
-19
-25
10
-59
1
3
-34
-18
0
-13
-36
-124
4
0
-64
0
0
5
0
-35
0
-20
29
-7
0
0
-7
0
79
-11
2
-11
0
0
28
38
-12
-86
16
-10
0
135
48
0
110
42
5
38
-23
-54
14
6
94
51
16
-6
10
-5
21
-31
0
-36
-38
21
-9
-21
78
138
-21
100
-27
0
3
-11
0
16
16
-56
-5
6
14
-13
-18
0
-36
34
0
0
-4
0
0
74
53
64
8
0
0
103
78
19
-81
-18
0
1
75
-26
-7
109
100
13
10
1
-43
0
-49
-43
14
0
13
32
-1
6
46
162
51
7
-22
-6
5
22
56
0
19
-68
0
-7
-87
-23
-24
0
25
0
-71
0
-6
-3
0
-3
-39
-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
-6
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
49
0
0
-3
0
0
-49
0
0
0
0
0
0
17
0
0
0
0
-2
0
0
0
-37
2
0
125
0
1
0
3
0
0
-59
-10
0
0
-9
-1
1
-2
-1
0
0
7
0
0
0
-10
0
0
7
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
-17
0
0
0
-3
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
78
3
14
0
127
30
0
0
-47
0
0
-1
-67
0
6
-9
0
0
29
-69
0
0
0
0
0
-2
-31
0
-46
0
5
0
0
2
0
0
3
0
0
0
5
10
-10
0
0
0
0
8
0
0
0
0
0
-1
15
0
0
-4
-3
-13
-35
0
0
-3
-17
0
6
31
-41
0
0
-8
25
4
-9
-47
0
0
0
0
11
-9
-19
0
5
2
-7
5
0
45
0
0
-2
9
0
0
-52
0
0
0
0
0
0
46
0
0
0
0
-2
0
-9
0
0
0
0
0
0
-5
0
6
35
0
0
24
0
10
-10
-18
0
0
0
9
0
64
3
0
0
0
-19
0
1
7
-1
0
12
-6
0
23
0
0
0
0
19
0
-8
2
19
0
0
-11
0
81
26
0
0
0
28
17
0
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
0
0
0
0
0
0
7
0
0
-2
0
0
17
-4
0
2
0
0
6
-2
0
0
0
0
0
0
0
0
0
34
0
0
2
0
0
-10
0
0
0
0
0
0
38
0
0
0
0
3
0
0
12
43
0
-17
72
2
-1
-3
-47
0
9
-39
1
0
-4
12
-18
0
11
35
0
0
17
0
-6
-8
23
0
0
0
0
0
-1
-3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
41
0
0
0
3
0
32
8
15
1
0
0
0
0
0
0
0
0
0
25
118
0
4
-14
-1
0
-92
71
0
-1
-16
0
0
-13
29
0
0
1
3
0
12
40
0
0
19
0
0
0
-21
0
33
0
1
0
0
14
0
0
0
0
0
0
58
1
-7
0
0
0
0
4
7
-12
6
0
0
14
49
0
-34
23
0
0
55
11
0
2
12
0
0
58
-4
0
3
-25
0
0
0
-56
0
0
-30
0
0
0
-27
0
0
0
0
0
0
-27
0
0
0
0
0
0
-23
0
18
5
0
0
0
37
0
0
0
0
0
0
138
5
1
18
0
0
0
92
0
57
-10
0
0
0
35
0
-2
18
21
0
-6
1
0
0
-1
0
0
9
21
0
1
0
0
0
0
86
0
0
10
0
0
0
57
0
-3
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
0
0
-10
0
0
0
2
0
0
-5
3
-1
0
0
0
-6
6
2
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
-133
0
0
26
0
0
-46
0
0
0
0
0
2
84
0
0
0
0
-38
0
0
0
-4
-1
0
13
0
0
-6
-93
0
34
6
10
0
17
7
2
2
-5
6
0
0
54
0
2
0
0
0
0
-16
0
0
-3
4
0
0
0
0
5
0
4
0
0
0
1
21
0
0
5
0
0
0
-32
0
100
-2
0
0
0
0
0
0
0
0
0
0
0
61
139
0
-61
39
5
0
40
-54
0
0
27
0
0
22
65
0
0
0
0
4
11
-9
0
0
41
0
0
-1
3
0
2
2
-8
3
0
-96
0
0
0
0
-7
0
-66
-13
0
0
19
12
0
6
0
0
0
0
0
-7
-82
0
0
51
-2
0
6
-28
0
0
-8
0
0
12
49
0
0
35
-2
0
7
39
0
0
42
0
0
5
-7
0
2
-2
5
0
0
182
0
0
-4
-3
0
0
-59
0
0
6
0
10
0
63
-16
0
0
0
0
0
-5
-1
0
-2
0
0
-2
-117
-16
-11
24
0
0
34
9
0
-2
0
1
0
-6
65
0
-2
-7
0
0
-9
80
0
1
12
0
0
0
37
0
-6
-13
0
0
0
55
0
0
-1
0
0
0
-24
0
0
3
0
0
0
8
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
41
-10
-13
18
-7
0
0
-17
49
-43
-12
42
11
-20
29
120
-7
0
0
0
6
-42
-60
0
0
-38
-3
5
0
32
-3
-14
0
0
-7
0
0
32
0
0
0
4
0
77
95
0
0
0
-11
-11
48
11
2
24
-36
2
23
12
18
42
-44
-6
45
-65
-73
1
28
24
-27
-14
-2
-28
0
0
-11
6
-21
-106
5
0
0
-5
-2
51
-3
29
0
0
-11
0
-65
-3
14
-3
0
-15
42
-22
0
2
-1
0
0
0
2
2
33
-14
-23
28
63
0
0
0
0
0
0
0
0
33
116
17
-61
113
-29
-1
113
42
1
68
28
-14
1
38
16
0
5
-3
-32
10
13
13
0
0
24
0
0
-39
8
-1
8
25
-31
0
-3
-22
0
0
0
0
27
0
4
67
46
0
-18
0
2
7
-48
0
34
0
0
65
6
25
32
111
80
-4
51
31
-7
35
-37
4
11
111
-4
1
43
1
-20
1
-36
17
1
100
82
8
40
44
13
1
3
66
82
-2
32
2
0
-5
-12
-15
-42
-6
-55
0
0
6
-20
14
0
3
-19
0
0
-1
-1
4
-64
22
0
-10
-10
0
-3
-74
-21
-33
41
-18
0
29
47
1
-32
-20
-14
0
-96
2
0
-29
64
-20
8
90
68
-23
78
-22
91
32
-12
3
9
-5
-42
18
-6
-5
-38
0
-1
-1
-16
0
0
-11
0
29
0
6
-3
0
-39
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
15
0
0
0
77
0
-15
-13
-47
-6
3
-22
0
0
-18
-8
0
0
0
0
26
0
4
10
0
3
0
56
0
6
0
16
0
0
15
0
0
9
0
0
0
8
0
39
-42
1
0
0
-9
63
-1
0
1
8
0
-11
71
-5
0
2
3
0
-4
-138
10
3
-9
24
0
-21
-5
84
0
0
74
0
-20
-87
-27
0
12
16
0
20
17
84
0
0
0
0
77
2
63
0
0
-6
0
24
0
0
-68
61
0
0
-12
0
-52
-82
-27
26
0
0
0
0
0
0
0
0
0
-23
103
-2
39
36
0
1
18
7
-3
-16
-50
-22
3
-1
-12
-4
-13
-85
0
-19
41
-50
0
5
26
0
12
-7
19
0
32
86
0
9
-8
-41
0
0
0
0
80
0
8
-98
-14
0
0
18
-4
11
49
0
0
0
0
-13
53
0
17
61
0
0
115
13
0
-14
103
0
-3
60
38
0
-5
97
1
1
49
-18
15
-8
-25
16
-6
89
-61
0
0
-78
0
9
37
27
0
-11
62
0
23
0
-47
0
-6
43
0
13
0
6
76
0
7
0
-30
0
56
58
-5
0
0
0
-12
42
0
93
-73
0
0
-38
-44
0
-19
102
0
5
-119
58
0
-55
-63
0
12
-106
-22
0
27
30
0
-1
37
20
6
-94
-55
0
11
0
86
0
-34
11
0
5
4
-12
4
-16
0
0
-25
0
-40
-18
0
0
0
0
0
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
-9
9
5
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
-61
0
0
0
0
0
12
-1
0
0
0
0
-15
3
0
-1
2
-6
0
-7
0
0
8
65
-1
0
22
9
0
-3
-21
-27
0
41
50
0
5
-1
0
0
-4
2
0
0
6
0
0
-29
7
0
0
0
0
0
0
-28
0
0
0
-28
0
0
2
26
0
0
0
-1
0
59
-8
17
0
0
0
0
0
0
0
0
0
0
137
75
0
-3
44
1
0
84
-38
0
-6
-31
-5
0
67
53
0
-16
32
37
0
-13
35
0
25
9
26
0
0
64
0
-8
4
-3
0
0
-12
0
0
-20
0
0
0
31
-34
5
-11
0
0
0
13
20
0
0
0
0
8
-23
0
33
170
0
0
130
-15
0
6
92
0
0
14
-30
0
21
86
-19
0
-17
48
0
0
96
0
0
-6
-16
0
3
19
27
0
25
84
0
0
-16
0
0
0
-140
0
-4
-8
0
0
0
-37
0
0
0
17
0
0
17
-4
0
0
0
0
-3
9
0
31
1
-8
0
1
-96
-1
16
-70
9
0
-1
0
0
-14
23
-2
0
0
169
1
3
81
-13
0
7
-21
0
36
-3
0
0
0
48
0
0
0
-25
0
0
44
0
8
2
0
0
0
-48
0
11
0
0
0
0
0
0
0
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
11
1
39
-65
-36
85
-31
-10
9
29
-2
-11
12
-80
4
8
24
-15
-7
30
-68
-1
-13
-3
2
0
0
-6
-1
-2
0
-10
-15
-4
21
-104
8
2
-1
-73
-46
87
22
-46
-4
44
33
-167
105
43
117
4
10
-33
20
-176
-50
55
25
-29
54
45
-23
14
-19
-19
-28
71
-8
-14
-25
-51
-44
6
4
-26
-47
0
50
37
22
-16
-22
-66
6
-6
5
42
-13
-1
75
-49
-1
6
57
-9
-5
-3
-54
-174
52
56
3
0
0
0
0
0
0
0
21
43
-33
8
-12
18
22
10
6
-22
8
7
-25
23
1
-23
9
-19
-19
-48
-3
47
-5
-27
-70
-38
-38
-21
5
9
-1
-9
30
35
12
-65
-9
-3
14
5
38
-50
0
17
-3
-21
-9
-131
-56
-4
42
-105
-38
40
-3
-4
-137
43
25
112
-41
9
10
41
44
-45
-84
20
-20
175
43
16
27
-5
61
-29
-38
117
-11
-17
5
30
15
-26
69
-5
-17
-34
-40
-6
-40
35
2
10
15
7
38
41
7
-26
-14
30
-94
-21
41
-3
-1
-23
-22
-1
-55
-79
-17
13
39
-35
-3
6
-16
-44
-18
-88
-83
-60
-13
-14
-49
1
-50
22
-22
12
24
-35
10
36
-9
-91
1
94
-52
32
-4
-37
62
27
36
7
-17
16
-14
-58
54
-29
14
-17
9
-49
102
42
77
-11
3
20
44
-1
-23
65
-1
20
5
-10
-7
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
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
-15
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
9
6
0
7
-5
71
0
11
2
0
0
42
-9
0
-59
0
0
-3
26
5
9
29
20
8
-5
-12
-16
4
1
4
0
0
0
0
0
0
3
0
0
8
0
-9
0
0
0
0
0
0
7
0
0
46
0
0
0
7
14
36
8
-10
0
0
0
0
0
0
0
0
0
0
56
-54
-3
84
60
4
0
-78
0
1
10
22
-3
-2
-3
-29
0
2
-12
-15
0
-4
-73
0
0
-31
0
0
5
-12
0
-37
7
0
0
0
36
0
0
0
0
15
0
57
18
0
0
0
0
0
-27
-9
0
0
0
0
43
11
-17
-11
-1
0
0
51
27
0
0
10
-3
0
91
0
0
0
31
-20
0
-39
-24
-7
-11
15
0
0
1
24
0
-1
9
0
0
0
-61
0
0
1
0
-20
0
-81
0
9
0
0
0
0
-23
0
0
0
0
0
-1
19
25
2
0
0
0
-1
77
0
15
7
0
0
-1
25
0
27
66
2
0
8
0
0
30
61
0
0
-11
-80
4
3
-77
0
0
-4
25
0
0
7
0
0
2
-26
0
6
8
-2
0
0
29
0
-26
0
0
0
0
-114
-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
-75
0
0
0
0
0
-34
0
0
0
0
0
-2
5
-8
0
0
0
16
0
0
0
-33
2
0
-50
0
0
0
1
0
0
84
-2
0
0
18
0
0
0
3
0
0
-28
0
0
0
5
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
-38
-4
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
94
61
0
0
18
70
0
6
-41
0
0
23
47
0
-6
2
3
0
0
69
0
0
0
0
0
0
4
0
11
0
0
0
0
-24
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
4
0
0
0
0
-2
20
0
-17
12
0
0
-13
17
0
0
40
0
0
1
9
0
0
23
0
0
-9
2
0
0
-12
0
0
0
20
0
22
22
0
0
0
-16
0
0
4
0
0
0
-24
0
4
0
0
0
0
42
0
0
0
0
0
0
67
-1
0
7
0
0
0
9
0
2
-1
0
0
0
9
0
0
3
0
0
0
33
0
3
2
0
0
-1
-49
0
31
0
0
0
0
18
0
0
0
13
0
0
20
0
-8
0
0
0
0
-42
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
2
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
15
0
0
47
0
0
0
0
0
13
0
0
0
0
0
21
0
0
0
-1
0
0
-29
0
0
0
13
0
0
19
0
0
0
-2
1
0
-1
0
0
0
1
0
0
0
10
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
-6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-48
-34
0
0
13
83
0
0
-4
0
0
-3
-36
0
0
0
-17
0
-11
54
0
0
0
4
0
6
15
0
-2
0
0
0
0
8
0
0
0
0
0
0
-104
0
0
0
0
0
0
-97
0
0
0
0
0
0
-8
2
0
52
0
0
4
71
0
0
3
0
0
-3
-18
0
0
-1
1
0
-3
-31
0
0
-7
11
0
0
7
0
0
0
0
0
0
-73
0
10
14
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
45
0
0
0
0
0
0
-4
0
13
0
0
0
0
-2
0
0
0
0
0
0
-42
0
0
0
4
0
2
23
0
0
0
0
0
0
0
0
0
0
2
0
0
9
0
0
0
0
0
0
71
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
8
-26
-9
0
-2
16
0
-55
46
1
2
0
0
13
0
13
0
0
0
0
0
0
1
0
17
0
0
5
0
0
25
0
0
0
0
0
-18
-21
0
0
0
-5
32
0
2
0
8
-1
13
-94
0
0
7
106
0
0
57
-22
-3
0
-17
16
-16
57
42
0
0
-11
-4
0
-13
1
0
23
-6
39
5
17
-29
0
0
-13
0
-5
0
-29
0
0
0
-1
87
0
0
28
0
0
-4
25
0
-91
-3
-10
0
0
0
0
0
0
0
0
0
0
-71
114
1
15
4
21
0
29
37
2
0
-112
0
0
-13
27
13
0
-92
-3
0
-45
16
0
0
-9
0
0
0
-136
0
84
27
45
13
0
-1
0
0
0
0
-6
0
40
-44
-1
0
-9
-4
0
-8
6
0
0
0
0
57
21
-8
25
14
0
0
-21
52
-3
-13
6
0
0
142
2
-1
-42
25
-5
-3
75
-47
0
-16
-11
1
0
11
85
0
1
30
-41
6
-2
-10
0
0
11
12
-31
0
-35
0
0
0
20
16
0
-7
-12
0
0
0
0
2
-6
42
0
0
0
0
-11
93
4
-70
1
0
3
8
8
0
1
8
-3
-3
-7
-117
-3
39
24
0
-7
1
-48
0
-33
5
-25
-2
4
-1
0
32
52
13
0
-50
0
0
0
-2
18
3
0
-85
0
13
9
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
-81
0
0
0
0
0
-105
0
0
0
0
0
4
0
0
0
0
0
-8
29
0
-1
0
0
0
-26
0
0
0
-6
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
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
110
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-10
30
0
0
-12
-14
0
0
-2
0
0
-1
-9
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-2
0
-39
0
0
0
0
-59
0
0
0
0
0
0
-48
0
0
0
0
0
0
-167
0
0
0
0
0
0
49
0
0
-7
0
0
-4
-78
0
0
4
0
0
0
56
0
0
2
0
0
-11
51
0
0
0
0
0
0
-42
0
0
14
0
0
-2
-31
0
0
0
0
0
0
-6
0
0
0
0
-2
0
-51
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
94
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
-2
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
0
0
0
0
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
-15
-8
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
20
0
0
0
0
-1
1
0
0
0
0
0
50
2
0
0
7
-20
0
81
0
0
10
17
-5
0
8
0
0
0
-16
0
0
134
0
0
5
34
0
0
86
-25
0
0
0
0
0
9
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
-85
7
-24
2
-2
0
0
0
0
0
0
0
0
71
0
0
-8
3
-26
0
-31
9
0
19
-96
0
0
68
-44
0
0
44
-2
0
-21
15
0
0
18
0
0
-13
-25
0
-21
5
1
0
0
-52
0
0
8
0
0
0
1
33
5
0
0
0
0
-51
-3
0
0
0
0
0
-36
0
-10
87
0
0
45
28
0
0
42
0
0
-30
-55
0
0
12
0
0
-16
48
0
0
62
0
0
1
-30
0
0
-64
-5
0
20
39
0
0
3
0
0
0
40
0
0
0
17
0
0
-29
0
0
0
0
0
0
-52
13
0
0
0
0
14
-13
0
3
-41
0
0
10
53
0
1
75
0
0
-8
-40
0
2
-13
0
0
-6
22
0
-40
-3
25
0
2
35
0
-80
55
0
0
0
133
0
0
0
-1
0
0
-51
0
-6
0
0
0
0
-32
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
-11
215
0
6
0
0
3
-2
44
0
0
0
0
-8
0
-5
0
-54
0
0
11
0
0
-64
0
0
0
0
0
-13
-35
0
0
0
0
11
-3
0
0
-21
-148
0
90
-1
0
0
-37
0
0
-136
58
-5
-1
133
107
18
-154
66
0
20
-48
0
11
33
9
0
5
47
-11
-10
1
6
0
-9
0
0
0
0
70
0
0
0
3
-71
0
0
-23
0
0
0
-43
0
-9
14
8
0
0
0
0
0
0
0
0
0
0
37
37
1
-36
-44
43
0
32
-20
0
4
-53
1
0
-13
-28
0
-8
-86
-10
-1
15
-68
0
9
103
0
0
2
-49
0
-12
26
-13
2
-2
-136
0
0
-4
0
-13
0
44
27
-8
0
0
0
0
-19
-13
1
0
0
0
3
-50
0
-2
1
0
0
53
88
-1
25
-47
2
0
-19
-10
13
85
37
2
0
42
8
0
11
20
0
-2
-12
-106
0
58
-35
36
3
0
30
0
0
37
0
-90
0
-107
0
0
-7
0
44
0
-32
0
0
0
0
-4
0
-42
-6
0
0
0
0
-4
4
0
-53
95
0
0
0
-67
15
22
61
5
0
-16
65
16
89
-10
-5
3
7
13
2
0
7
22
0
-1
36
0
4
-5
7
0
0
26
0
-2
18
6
-5
0
-88
0
51
-1
0
8
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
2
-4
0
0
1
0
9
4
0
0
7
0
-5
0
0
0
0
-69
0
0
0
0
0
12
0
0
0
4
0
11
-127
0
0
0
0
58
-7
0
15
-20
-13
0
-10
-3
5
-2
21
0
2
103
2
0
1
-2
83
28
-11
0
1
11
71
0
-16
73
42
0
0
9
-8
-2
9
44
0
0
0
0
0
0
20
0
0
0
34
-51
0
0
4
0
0
0
-3
0
79
21
61
0
0
0
0
0
0
0
0
0
0
-36
-22
-11
24
-29
14
0
50
26
-8
13
-34
0
15
10
0
0
0
26
1
0
-10
-82
0
-22
64
0
3
-13
-70
0
-26
-4
-4
0
0
-126
0
0
0
0
5
0
-27
22
-3
6
4
0
0
-68
5
6
-3
0
0
-2
-52
3
5
114
-38
0
87
13
-6
-2
97
0
0
-13
-63
0
-28
-37
-1
-7
19
0
0
0
-15
-2
3
4
24
0
-1
-9
-3
0
10
28
0
0
19
0
7
0
13
0
0
-13
-27
-20
0
-51
1
0
0
0
0
3
-8
9
3
19
0
0
0
39
1
24
-13
0
0
16
-14
-14
27
140
0
0
-8
-18
2
-27
68
0
7
23
0
-3
2
-5
18
-13
0
-56
0
-12
31
2
0
-9
-19
0
0
0
-2
0
0
-9
0
-51
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
8
0
0
0
0
0
85
0
0
0
0
0
-21
24
0
0
0
0
-6
0
0
8
38
0
0
-50
0
0
0
-29
0
0
31
0
0
-7
135
-22
0
63
-1
0
0
-13
0
7
-9
47
0
0
-15
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-2
0
0
0
3
0
8
-6
16
0
0
0
0
0
0
0
0
0
0
-26
11
0
30
-19
38
0
24
64
0
0
-12
0
0
-51
69
0
0
25
-4
0
13
10
0
0
40
0
0
0
37
0
-4
19
0
0
0
113
0
0
0
0
4
0
19
0
-1
0
0
0
0
10
-1
0
28
0
0
0
18
0
0
46
21
0
37
-46
0
9
-21
0
0
16
-46
0
-7
-66
-8
0
2
-39
0
0
7
0
-14
12
-41
0
0
-4
0
0
0
31
0
0
21
0
0
0
-58
0
0
0
1
0
0
15
0
4
0
0
0
0
-40
14
0
0
0
0
0
15
0
-1
-33
-1
0
0
72
0
-3
-12
0
0
10
41
-2
0
-35
0
0
9
51
0
0
0
0
0
0
-45
0
-5
-4
0
0
0
14
0
3
-6
0
0
0
-84
0
0
-14
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
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
25
0
0
0
0
12
0
0
0
0
1
0
-22
7
8
-1
-49
0
0
43
2
0
0
13
-20
0
-92
33
0
0
0
0
-1
0
-7
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-33
0
0
0
-4
0
0
0
0
0
0
0
0
15
-50
0
87
29
2
0
-59
-2
0
0
-22
0
0
0
-41
0
0
32
2
0
0
-38
0
0
-1
0
0
0
-7
0
2
0
0
0
0
17
0
0
0
0
0
0
103
-4
0
0
0
0
0
-9
0
0
0
0
0
-7
-50
0
0
3
0
0
-1
41
-1
0
-1
0
0
24
5
0
2
-16
-1
0
-8
-35
0
0
-25
0
0
0
-69
0
0
-22
-11
0
0
64
0
0
0
0
0
0
-54
0
0
0
-3
0
0
46
0
0
0
0
0
0
-17
-12
0
0
0
0
0
-78
0
22
0
0
0
-1
120
5
0
5
0
0
0
-60
0
2
0
0
0
0
-18
0
-19
0
10
0
0
8
0
-7
-12
0
0
0
-34
0
0
0
13
0
0
31
0
-2
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
14
18
0
0
0
0
0
-2
-2
0
0
0
4
0
0
5
0
-33
0
0
0
0
0
-82
0
0
0
0
0
8
24
0
0
0
0
-6
-7
0
0
6
-135
0
41
-8
0
0
-42
1
0
31
2
0
0
75
32
-1
-73
25
0
0
-2
8
-24
-26
45
0
0
0
13
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
57
0
0
24
0
0
0
-1
0
-21
2
16
0
0
0
0
0
0
0
0
0
0
-12
116
-4
-48
8
-1
0
101
88
2
14
-24
0
0
15
-57
0
0
-1
17
0
57
25
0
0
-10
16
0
-2
-31
0
51
-5
-3
0
16
20
0
0
0
0
3
0
-23
2
5
0
0
0
3
-53
0
0
0
0
0
0
-40
2
-5
-1
-10
0
34
0
0
-20
20
0
0
-15
29
0
5
11
71
0
4
10
0
0
33
-9
33
0
68
0
0
0
33
0
0
28
0
-5
0
0
0
0
-146
0
0
4
0
-8
0
-19
0
0
0
0
0
0
29
0
0
0
0
0
0
11
0
-5
-13
0
0
0
9
0
-3
-8
-5
0
-3
-68
0
0
0
0
0
-2
126
0
-1
0
-12
0
0
13
0
-16
-9
0
0
0
132
0
0
0
4
0
0
-36
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
7
0
0
0
0
0
-27
0
-4
0
0
0
0
0
0
0
0
46
0
0
63
0
0
-3
0
0
0
0
0
46
-6
0
0
0
0
34
0
0
0
48
0
5
-62
0
7
16
23
0
0
-51
3
0
-16
76
0
13
3
0
0
0
-31
0
62
2
0
0
0
-2
0
-32
-5
0
0
0
0
0
1
0
2
0
0
0
0
52
0
0
10
0
0
0
59
0
20
8
0
0
0
0
0
0
0
0
0
0
0
-12
-80
0
-7
-40
0
0
17
51
0
0
-19
0
0
-44
55
0
0
97
0
0
-10
-20
0
0
-21
0
13
0
-30
0
-12
0
0
0
0
22
0
0
0
0
-19
0
32
109
57
0
0
0
0
-15
26
0
0
0
0
58
-67
0
-23
-57
0
0
-27
18
0
0
59
0
0
8
30
0
0
-40
0
0
-20
-12
0
0
45
0
-6
40
87
0
0
29
0
0
6
-10
0
0
42
0
17
0
-33
0
0
0
0
-6
0
-6
1
0
0
0
0
0
-67
-3
0
0
0
0
7
-13
0
2
123
0
0
13
-34
0
0
-23
0
0
-4
3
0
65
17
0
0
17
-31
0
0
25
0
0
1
80
0
12
0
0
-1
0
47
0
0
0
0
0
0
-58
0
-23
0
0
5
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
45
-4
0
0
0
0
0
-6
-18
0
0
0
1
0
0
0
0
50
0
0
0
0
0
3
0
0
0
0
0
-15
-17
0
0
0
0
-34
9
0
0
-1
-2
0
-19
0
0
0
-54
0
0
-53
-1
0
0
43
38
0
-33
9
0
-6
0
0
0
-41
-9
0
-2
70
30
0
54
7
0
0
0
0
0
0
13
0
0
-1
38
0
0
1
26
0
0
0
0
0
29
-3
-9
5
0
0
0
0
0
0
0
0
0
-29
-9
-3
2
-44
57
0
62
90
0
0
43
0
0
4
0
0
0
12
38
0
19
25
0
0
-110
28
0
6
-6
0
-52
29
-29
0
-15
0
0
0
0
0
0
0
30
84
67
0
17
0
0
-36
-15
0
16
0
0
7
22
0
0
157
25
0
32
47
0
15
-20
0
0
52
25
0
9
-10
27
0
49
-35
0
0
57
0
0
49
17
0
25
23
-109
0
22
30
0
0
-10
0
0
0
16
0
0
37
-2
0
0
-26
0
0
0
-3
0
0
-29
25
0
0
0
0
22
42
0
-58
35
0
0
17
98
0
15
-88
-6
0
17
-64
0
5
83
0
0
-24
4
0
4
154
-5
0
0
68
0
-35
-25
0
0
0
28
0
1
20
-5
0
0
88
0
-47
0
0
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
0
0
0
0
-34
1
0
-9
1
0
0
0
0
-28
2
0
47
0
0
-45
0
0
0
0
0
-1
32
0
0
0
0
10
-22
0
-4
21
-24
0
-4
2
0
2
36
0
-3
32
0
0
0
31
-2
-36
33
-1
1
0
-138
-6
7
0
1
0
0
44
2
20
0
-11
0
0
22
0
59
0
12
0
0
0
-23
-55
0
0
46
0
0
0
-1
0
15
-74
-4
0
0
0
0
0
0
0
0
0
0
45
53
0
-3
46
-34
0
-64
13
0
0
-7
3
0
0
55
0
5
-34
0
0
0
3
0
-2
77
0
0
0
-19
0
-20
27
-9
0
0
-56
0
0
-22
0
-3
0
23
0
7
0
-6
0
0
1
-11
0
0
0
6
-1
-55
4
0
55
7
0
17
-23
3
-2
10
0
0
-3
17
5
24
-16
-26
0
-1
9
0
0
44
9
3
2
-6
2
0
-2
-10
0
0
-51
0
0
7
0
28
0
31
0
6
-1
0
74
0
-2
-14
0
0
-2
0
0
38
-10
0
0
0
0
0
-51
0
39
41
6
0
1
35
0
13
-6
0
0
0
136
0
66
5
-3
0
0
-62
0
0
50
81
0
0
-57
0
0
-35
0
0
0
-41
0
-7
-7
2
4
0
47
0
24
0
0
9
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
0
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
5
0
6
0
-1
1
-83
0
0
-15
0
0
-23
0
0
0
0
0
-33
-16
0
0
0
0
26
0
2
0
26
-5
0
6
-1
0
0
108
0
0
67
-8
0
4
-85
34
0
23
4
0
-3
103
9
0
34
0
10
0
-5
-12
29
-8
21
0
0
0
0
-10
0
-2
0
0
0
0
-12
0
0
-15
0
0
0
15
0
-80
15
15
-10
-2
0
0
0
0
0
0
0
0
-27
23
0
-7
53
4
0
48
-73
-5
5
75
0
0
-22
62
7
0
-71
28
0
14
0
-4
0
10
0
9
29
82
0
66
1
0
0
0
-37
0
0
0
0
0
0
28
32
0
0
0
0
0
3
-20
4
0
0
0
9
-11
-9
-6
55
7
0
1
-50
2
0
7
4
0
-16
-4
23
-12
14
0
0
-48
30
5
0
4
0
10
22
0
-4
0
88
27
21
0
-83
0
0
7
56
0
0
27
2
0
2
0
16
0
-93
0
0
0
1
0
0
-24
17
-2
6
0
0
0
-21
-1
-22
1
-1
0
0
0
0
-23
-5
-4
0
2
67
16
-21
24
-5
0
-17
-4
6
0
-53
9
0
0
0
0
-10
15
0
0
0
49
0
0
-1
-28
0
0
51
0
2
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
13
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
12
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-2
0
2
21
0
0
0
-53
0
-9
54
0
0
0
9
0
23
-2
-16
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
0
0
-1
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
39
0
-2
0
0
0
0
0
0
0
0
0
0
10
3
0
15
-39
0
0
-55
4
0
0
-4
0
0
2
1
0
0
-16
0
0
0
-22
0
0
0
0
0
0
2
0
48
14
0
-1
0
-17
0
0
0
0
45
0
-53
4
0
0
5
0
0
-23
1
0
0
0
0
12
-57
0
13
-5
0
0
7
-94
0
0
19
0
0
2
-24
0
13
116
0
0
0
10
0
0
0
0
0
0
-2
0
-3
13
-4
0
0
108
0
0
0
0
0
0
-14
0
0
-1
-4
0
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
75
0
0
-3
0
0
3
31
0
17
-5
0
0
0
99
0
0
0
0
0
0
1
0
0
4
0
0
0
10
0
2
0
0
0
0
-6
0
0
0
0
0
0
17
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
5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
15
0
0
2
0
0
0
13
0
0
-23
7
0
0
1
0
0
-3
0
0
0
9
0
0
2
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
-14
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
5
-13
-9
-15
0
44
20
0
0
1
0
0
3
-13
0
0
5
1
0
0
-13
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-96
0
0
0
0
0
0
-68
0
0
-3
0
0
0
82
0
0
-40
0
0
9
14
0
-4
0
3
0
0
-51
0
0
-2
0
0
0
17
0
6
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
0
0
0
81
0
0
0
0
0
0
-8
0
0
0
-9
0
0
-1
0
0
21
0
0
0
-3
0
0
0
0
0
0
47
0
8
0
0
0
0
-2
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
3
0
0
1
0
0
-61
0
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
5
0
0
3
-2
0
0
6
0
1
2
12
0
0
0
0
0
-5
-1
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
8
0
0
0
-3
0
50
-3
0
1
0
0
0
0
0
0
0
0
0
-8
26
0
29
0
0
0
-16
-20
0
0
-12
0
0
7
-18
0
0
-7
0
0
8
-24
0
0
-9
0
0
0
0
0
18
2
0
0
0
1
0
0
0
0
0
0
-17
-2
1
0
0
0
0
45
-4
0
0
0
0
1
-50
0
0
-8
0
0
-1
-81
0
0
3
0
0
0
25
0
1
0
3
0
-9
57
0
-1
3
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
16
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
3
0
0
0
-25
0
0
19
0
0
0
9
0
-13
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
-11
0
0
0
0
-13
0
0
0
0
0
0
-26
0
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
0
0
0
-21
0
0
0
0
0
-40
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
-7
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
18
0
0
0
0
0
0
-6
0
-6
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
0
0
0
0
-8
0
0
0
0
0
0
2
0
62
0
0
0
0
-22
0
0
0
0
0
0
33
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-32
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
9
0
0
0
4
0
0
0
0
0
0
76
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
6
0
0
0
0
0
0
2
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
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
18
0
0
0
0
0
-12
0
0
0
0
0
49
50
0
0
0
0
-45
-1
0
0
43
21
0
-15
5
0
0
38
0
0
38
7
0
0
-64
-22
0
-27
27
0
21
-37
0
0
-17
-5
0
0
0
0
0
68
-42
0
49
0
0
0
2
-42
0
0
0
-5
0
0
0
68
0
0
1
0
0
-28
2
17
3
0
0
0
0
0
0
0
0
0
-8
-25
0
74
44
-69
0
-26
39
0
-9
28
0
0
-28
-5
0
25
11
-5
0
-52
-84
0
0
79
0
0
21
-173
0
-1
-4
-7
0
0
-3
0
0
0
0
0
0
48
23
-24
0
18
0
0
-14
-25
0
0
0
0
63
-44
0
12
-77
10
0
-7
2
0
0
25
0
0
109
23
0
0
-54
-12
0
-86
-49
0
0
-11
0
0
-1
43
0
2
-29
-46
0
35
16
0
0
90
0
0
0
47
0
0
13
25
0
0
63
16
-8
0
0
0
0
39
7
0
6
0
0
20
59
0
-27
20
0
0
18
40
0
2
-46
0
0
-4
-4
0
-29
-29
0
0
-19
53
0
16
-39
-15
0
25
11
0
-19
30
0
0
-2
45
0
9
-4
-18
0
0
76
0
0
0
0
0
0
47
-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
-4
0
0
0
0
0
-71
0
0
0
0
0
-15
4
0
0
0
0
2
0
0
0
96
0
-1
-40
-15
0
0
110
0
0
10
0
0
-1
-16
5
0
31
0
0
0
1
0
0
-29
3
0
0
46
0
0
1
0
0
0
2
0
5
0
5
0
0
-2
0
-4
0
0
-1
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
0
-19
40
-2
0
-23
-121
0
0
25
0
0
0
-20
0
0
-3
0
0
0
-85
0
0
1
0
0
0
-13
0
16
1
-3
0
0
-63
0
0
0
0
0
0
-46
-1
0
0
0
0
0
75
0
0
0
0
0
0
-99
0
-5
-1
8
0
1
47
2
0
-18
0
0
0
56
0
-39
5
0
0
0
-44
0
0
3
-6
0
0
54
0
0
15
14
0
0
17
0
0
0
0
0
0
-22
2
0
0
0
1
0
-17
0
0
0
0
0
0
43
0
1
0
0
0
0
15
-10
5
0
0
0
0
-17
0
0
0
-4
0
0
-8
0
0
4
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
0
0
0
0
0
-47
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
0
0
0
0
0
0
0
5
0
-61
0
0
5
0
0
-177
0
0
0
0
0
14
5
7
0
0
0
8
6
0
0
-14
5
3
8
0
0
3
37
0
-10
119
24
8
1
-32
5
0
18
73
0
12
10
4
-10
24
40
0
7
90
19
0
3
0
7
-10
1
0
-3
0
-4
0
0
0
-1
-2
0
0
-3
0
0
0
0
0
-44
3
20
0
-7
0
0
0
0
0
0
0
0
-41
-23
4
-69
10
0
0
102
62
-6
0
-53
-4
0
6
103
8
-5
121
57
0
40
-6
0
4
68
0
0
0
0
0
36
0
0
0
0
-10
0
0
0
0
0
0
30
32
-1
0
0
0
0
-8
-10
-3
0
0
0
9
0
9
-4
126
-14
0
9
-57
7
0
-56
0
20
-5
-62
0
-13
63
-12
0
1
-62
0
2
-13
0
-17
5
20
3
8
-7
-11
0
-1
0
0
0
-20
0
0
0
6
0
-1
0
3
26
0
37
0
0
0
0
0
0
37
-6
0
-40
0
0
1
-38
3
48
-24
-1
0
3
-27
2
-16
0
1
2
-10
27
0
-11
82
1
0
0
34
10
-1
-17
-17
0
0
27
-10
-8
0
7
0
0
0
0
-12
-9
0
-12
0
-68
0
92
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
-27
0
0
1
0
0
-38
0
0
0
0
0
5
0
0
0
0
0
-3
11
0
0
-4
0
0
77
-2
0
0
4
0
0
1
0
0
0
-14
0
1
84
0
0
0
0
0
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
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
9
62
0
0
-102
74
0
0
-29
0
0
-2
21
0
0
3
1
0
0
-20
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
19
0
0
0
0
-121
0
0
0
0
0
-1
-56
0
0
-18
0
0
4
-5
0
0
-5
0
0
6
-15
0
0
25
0
0
0
65
0
0
-1
0
0
0
-62
0
0
0
0
0
0
-19
0
0
0
0
0
0
13
0
0
-8
9
0
0
-11
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
-5
0
0
-4
-8
0
0
0
0
0
0
28
0
3
12
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
-11
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-11
0
0
0
5
0
0
3
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
1
0
0
6
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
46
-52
0
0
-12
13
0
0
-1
0
0
0
2
0
0
-7
0
0
0
-25
0
0
0
0
0
0
1
0
-2
0
0
0
0
14
0
0
0
0
0
0
-49
0
0
0
0
0
0
-14
0
0
0
0
0
0
-70
0
0
-2
0
0
0
-76
-6
0
44
0
0
0
-35
0
0
3
0
0
0
-42
0
0
3
0
0
0
2
0
0
0
0
0
0
82
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
19
0
0
0
0
0
0
26
0
0
0
0
0
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
30
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
-30
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
37
56
0
0
0
12
24
0
38
0
0
0
-112
3
0
42
0
0
0
3
0
0
57
0
0
0
0
-8
-4
0
2
0
0
0
-13
-7
17
0
0
0
5
0
7
-9
0
0
0
-2
-11
13
0
0
-1
0
0
0
0
0
-61
18
0
7
0
0
0
0
0
0
0
0
0
132
68
0
-12
2
0
-10
-7
68
0
1
-10
0
0
-10
3
0
0
0
0
0
22
-34
0
0
0
0
0
-6
-37
0
3
0
5
0
0
-2
0
0
0
0
0
0
-66
0
-4
0
-3
0
0
44
2
0
0
0
0
9
-76
2
0
-1
0
0
-2
-5
0
2
12
0
15
-8
-17
0
0
3
1
0
0
-107
0
0
0
0
0
0
3
0
-5
0
0
0
11
34
0
0
0
0
-12
0
-41
0
0
0
0
-1
0
11
0
0
0
0
2
0
-7
-1
0
0
0
0
0
-60
0
1
0
0
0
0
63
0
0
0
-3
1
0
2
0
4
0
0
0
0
-4
0
0
0
0
-2
-2
17
0
-32
0
0
0
0
26
0
0
0
0
-1
0
55
0
0
0
-2
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
35
0
0
23
0
0
-15
0
0
0
0
0
10
34
0
9
0
0
-20
2
0
0
8
0
0
-19
4
5
0
-24
0
16
37
-11
0
0
11
0
100
-148
-7
0
0
45
0
-15
0
12
0
0
0
-2
9
42
-9
0
0
0
0
-9
0
0
0
0
0
0
-48
0
0
-11
0
0
0
25
0
-18
-9
6
0
0
0
0
0
0
0
0
0
0
-24
-63
-1
13
-31
0
0
-45
-46
0
8
0
0
0
-3
17
0
0
46
40
0
28
37
0
0
-43
0
0
12
10
0
64
15
0
0
0
-41
0
0
0
0
5
0
73
-3
0
0
0
0
0
-19
9
0
3
0
0
3
-12
0
22
13
0
20
-4
-17
0
0
77
0
7
4
-22
0
21
14
0
3
17
3
0
0
79
0
4
0
80
0
0
-5
0
-11
-4
55
0
0
1
0
40
3
-20
0
0
48
0
-11
0
118
0
0
0
0
0
0
38
0
0
0
0
0
5
26
0
7
10
0
0
-1
-71
0
6
-55
-4
0
-8
35
0
-10
-2
0
0
0
48
0
0
14
6
0
0
133
0
-56
-2
0
0
0
76
0
3
0
0
0
0
27
0
6
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
-41
0
0
0
0
0
-15
0
0
0
0
0
5
-31
0
0
0
0
-12
0
0
0
0
-35
0
3
0
0
0
-102
0
0
-20
8
0
0
22
84
0
11
-13
0
1
7
0
0
45
-3
0
0
-9
0
0
3
0
0
0
0
0
0
8
-7
0
0
0
1
0
0
0
-2
0
0
0
0
0
5
23
8
19
0
0
0
0
0
0
0
0
0
-156
63
0
64
42
23
0
32
11
0
-7
52
0
0
-6
2
0
0
10
-25
0
37
20
0
0
6
0
0
0
15
0
-115
3
26
0
0
59
0
0
-3
0
0
0
30
-42
-14
0
-2
0
-6
34
10
0
5
0
0
67
-8
0
10
91
7
0
101
25
0
-18
120
0
0
-34
11
0
4
14
2
0
-79
-3
0
-1
-30
-7
0
-17
15
0
11
83
67
0
-31
-23
0
0
7
0
0
0
32
0
1
12
-5
0
0
-9
0
0
0
0
0
1
41
-5
0
0
0
0
19
30
0
-46
17
0
0
-5
-11
0
-1
5
0
0
0
78
0
15
70
0
0
25
6
0
5
23
5
0
0
-8
0
114
-6
-3
0
0
48
0
-5
0
-25
0
0
93
0
86
-3
0
0
0
63
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-8
0
-1
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
3
-11
0
0
-12
-9
0
0
4
0
0
0
8
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
14
0
0
0
0
0
0
-20
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
4
0
0
0
0
0
0
-26
0
0
0
0
0
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-4
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
4
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-9
0
0
1
-3
0
0
119
0
2
0
-75
0
0
-40
0
0
1
12
-9
0
-10
-5
0
0
1
0
0
4
1
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
1
0
0
0
-10
0
33
19
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
83
-39
3
0
20
37
0
0
1
0
0
-12
3
0
0
9
0
3
-1
-104
0
0
9
-6
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-111
33
1
0
0
0
0
-66
6
0
-22
-3
0
6
73
0
16
5
0
0
57
-50
0
0
26
0
0
4
-42
0
0
22
3
0
-1
40
0
2
-12
0
0
4
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
0
0
0
0
0
-1
-15
0
0
0
0
0
59
0
0
-2
0
0
0
-23
0
1
1
0
0
0
-34
0
19
0
0
0
0
-10
0
0
1
0
0
0
2
0
-1
-1
0
0
0
77
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
11
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-14
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
-18
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
49
-46
0
0
7
13
0
0
-1
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
-3
-11
0
0
21
0
0
1
-23
0
0
0
0
0
1
-1
0
0
0
0
0
0
43
0
0
-1
0
0
0
-15
0
0
0
0
0
0
35
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
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
3
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
-16
0
0
26
28
-11
-33
-25
90
-78
3
-46
-35
1
-40
20
7
16
16
5
48
50
35
-16
59
-50
11
20
64
-21
-47
10
45
-9
-25
36
-54
21
25
43
14
13
3
16
9
-15
48
3
-71
-8
15
-7
35
51
36
-110
-14
-1
23
34
-6
-1
6
-25
-1
0
-70
-46
-89
-11
-45
-1
11
15
-6
0
0
0
0
0
0
0
-16
0
41
0
16
10
-19
22
-9
-2
3
-9
10
-11
51
2
30
-50
29
-8
-93
30
14
-24
21
20
31
1
5
0
-34
14
15
13
-131
-64
-9
81
-6
-16
-7
-74
4
20
2
-1
-3
-26
-28
-2
-2
-4
9
-96
-1
-16
-7
-9
19
70
-22
-9
-24
0
-20
-28
34
-25
-69
-75
1
2
9
31
22
32
70
-26
12
-17
-94
19
-7
-2
36
-3
15
8
14
-3
30
-51
-7
-48
-8
48
-29
12
66
11
21
-66
12
-45
6
-5
-6
-116
10
-11
-29
39
-30
22
49
-48
-24
-47
18
-38
12
-54
-2
-92
64
-84
-19
-27
13
21
36
55
-110
87
16
7
-1
-57
10
41
69
10
-51
83
-33
8
11
38
23
5
-12
-59
-30
-11
5
6
-82
18
34
29
17
27
12
28
10
-2
-13
70
34
19
-64
-18
-18
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
-15
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-2
0
12
6
0
0
-2
-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
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-33
0
0
0
0
0
0
-8
0
0
-7
4
0
0
8
0
0
15
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
3
-5
0
0
5
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-14
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
-15
0
0
0
0
0
0
3
0
0
-3
0
0
0
9
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
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
-2
0
0
0
0
0
0
12
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
-9
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
14
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
-37
0
0
0
0
0
0
-14
0
0
10
0
0
1
-39
0
0
0
0
0
0
49
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
-1
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
0
0
0
11
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
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
14
0
0
0
0
0
-60
-76
0
0
0
0
-22
-1
7
0
78
-37
0
17
0
0
7
-13
0
0
-20
16
0
0
43
-15
0
81
-39
1
0
-8
2
0
162
0
0
-2
-48
-11
0
56
1
0
0
74
0
0
0
11
0
0
0
0
0
0
-3
57
0
0
-3
0
0
-83
-49
-25
1
0
0
0
0
0
0
0
0
0
22
2
7
-6
35
-46
0
103
-12
-1
-1
38
10
0
-16
-10
0
-2
-15
51
0
-85
-12
0
-27
21
-4
0
122
-49
15
24
-41
-19
0
2
33
0
0
0
0
0
0
31
80
-17
16
48
0
18
-64
63
3
-8
-2
0
12
-23
0
20
47
-64
0
6
63
-1
15
83
0
0
13
44
0
-11
33
18
0
71
-51
0
-4
-18
3
0
51
-30
1
40
47
-8
0
88
55
0
1
15
0
0
-21
-13
7
-4
14
-78
0
0
23
27
0
0
0
0
-1
-55
2
0
0
0
0
62
21
0
-29
26
0
0
49
52
5
-29
-72
-12
0
6
41
-14
12
15
2
0
49
-15
0
27
25
14
0
74
31
0
-102
56
0
0
0
32
0
30
-18
-89
0
-9
3
0
-44
8
0
0
0
-10
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
9
0
0
0
0
0
0
0
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
-2
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
0
0
-17
0
0
0
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
3
0
-8
-2
0
0
14
7
0
0
-40
0
0
0
-2
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
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-50
0
0
0
0
0
-3
-7
0
0
0
0
0
0
4
0
0
3
0
0
0
-2
0
0
-2
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
1
0
0
0
-8
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
-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
-32
-3
-26
5
-23
46
-30
-15
92
-22
-32
-20
-15
-1
-23
-26
0
-33
12
52
28
-9
-5
59
24
-17
16
29
-7
46
26
-38
-40
-1
-8
33
-4
1
-29
0
-15
3
19
-10
-16
-96
-32
16
15
-51
9
-24
-42
29
-9
12
-53
-94
24
-26
-16
-41
-1
3
3
43
-60
-5
-29
-28
0
0
0
0
0
0
0
14
-3
17
-9
-29
-27
-43
-8
-9
-50
30
8
10
-76
8
9
-104
-58
23
4
-81
9
-10
28
69
13
10
-73
10
-26
-16
43
-24
15
-39
38
-30
38
54
-29
-38
8
2
9
-5
31
23
-25
-67
32
4
10
-18
69
-29
-29
-2
-40
-36
25
-1
7
18
34
-3
3
68
3
6
-75
-3
-4
-85
-46
-6
3
-55
-12
-9
-58
-117
-3
-56
-32
16
16
63
-16
-11
-24
-5
-18
-7
80
-86
-16
-61
27
-13
-16
7
19
-63
17
49
4
9
-1
88
12
-40
-31
41
-9
-6
-65
-142
60
41
32
-12
-104
-34
36
-66
26
-32
-11
-49
-2
-56
-36
-78
-66
-1
2
-59
27
-61
-26
3
4
-11
45
27
23
39
24
-8
94
-26
-3
30
45
0
-14
63
6
-65
1
-18
30
-7
-8
34
72
0
20
38
-7
-4
34
-23
-60
-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
-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
-1
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
0
0
0
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
-6
0
0
0
0
0
0
-6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
-7
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
62
0
0
14
0
0
0
5
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
-6
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
12
21
0
0
59
8
0
0
0
0
0
1
1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
28
33
0
0
0
0
0
40
0
0
0
0
0
0
52
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-24
0
0
0
-3
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
-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
21
0
0
0
5
0
0
0
0
0
0
-15
0
1
0
0
0
0
2
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
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
25
0
0
55
0
0
0
0
-33
0
-17
2
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
-5
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
8
56
0
12
-3
-7
0
140
-17
0
1
16
0
0
7
-13
0
7
0
14
0
-10
128
0
0
0
0
0
0
9
0
-98
13
-3
0
0
-8
0
0
0
0
0
0
-12
13
0
0
0
0
0
94
5
0
0
0
0
9
34
0
0
-9
0
0
-1
15
0
0
-9
0
0
-14
-44
0
0
6
0
0
2
-60
0
0
-14
0
0
0
10
0
-21
20
0
0
0
-39
0
0
0
0
0
0
22
0
0
0
0
0
0
-8
4
0
0
0
0
0
-34
2
0
2
0
0
0
34
12
0
-2
0
0
-3
-3
0
0
0
0
0
0
47
0
0
-5
0
0
2
-18
0
0
6
0
0
0
25
0
0
1
0
0
0
9
0
0
0
-2
0
0
-66
0
-5
0
0
0
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
89
-4
0
0
-5
3
1
-61
5
0
0
-72
0
0
9
-7
0
0
0
-6
0
3
0
0
0
11
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-10
0
69
-4
0
0
-11
1
0
0
22
1
0
0
-29
0
0
0
-6
0
0
-24
0
0
0
0
0
0
-1
0
-12
0
-2
0
0
-5
0
0
0
0
0
0
-126
0
0
0
1
0
0
-17
0
0
-3
0
0
0
66
0
0
-12
0
0
-12
-105
0
0
15
0
0
3
-66
0
0
2
0
0
0
77
0
0
-4
-5
0
0
49
0
0
-4
0
0
0
-14
0
0
0
0
0
0
92
0
0
0
0
-4
0
31
0
0
0
0
0
0
67
0
0
0
0
0
0
5
0
-4
0
0
0
0
64
0
0
-6
0
0
0
-11
0
9
1
0
0
0
-1
0
0
0
10
0
0
1
0
-10
0
0
0
0
-18
0
0
0
0
0
0
44
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
0
0
0
0
0
0
0
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
2
-1
-1
-3
49
-6
110
0
15
19
51
-1
0
47
31
2
13
74
4
-26
154
47
0
-11
-7
0
24
-18
60
9
0
12
-6
-36
83
15
0
0
-3
0
-36
0
0
0
0
0
67
-2
0
0
64
0
0
-21
22
0
0
34
31
0
1
0
0
0
0
0
0
0
0
52
25
8
-33
31
-15
0
18
125
6
0
106
0
17
-19
-69
0
-6
60
32
2
32
-9
0
22
-16
0
15
22
-18
0
-25
35
-70
0
0
-42
0
0
0
0
-34
0
38
1
8
0
4
2
0
0
16
0
0
0
0
-17
-19
0
2
-14
-2
0
-6
-13
-1
-1
33
1
0
-30
-22
-35
14
-13
-13
0
17
0
-8
7
-12
7
0
12
25
0
-5
70
-3
-6
-1
0
0
-3
10
0
34
0
13
0
2
9
-14
-34
0
-15
0
0
0
0
0
5
0
-3
0
1
-2
0
16
-41
-12
10
-2
-6
0
14
16
-6
34
-16
0
0
-5
-42
11
-59
21
2
0
7
-39
-4
48
68
2
3
0
-72
-2
-53
-8
0
0
-27
34
-1
2
-17
0
0
0
45
0
-7
5
-2
0
0
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
0
0
0
0
0
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
-53
-3
-26
-22
-83
32
45
77
20
-38
-23
-3
16
28
1
0
11
27
114
21
-123
89
0
2
-38
-3
-21
-69
15
0
3
-37
91
-20
-85
-53
0
0
53
0
-73
3
43
0
0
0
-10
-80
0
-2
-71
0
0
0
-152
0
-25
3
54
39
5
0
0
0
0
0
0
0
0
-32
160
2
34
-20
9
7
-27
74
3
51
-2
0
-31
-25
-1
8
18
47
63
14
43
-6
0
0
7
1
-3
-9
46
0
24
55
-33
3
0
33
0
-2
0
0
82
0
16
45
40
0
-40
1
49
-83
0
-14
-2
13
0
18
61
-39
-70
48
-14
0
-28
34
6
18
30
-7
-4
18
36
2
38
-20
29
67
-22
-6
-4
-10
-32
40
-15
-36
-25
-4
-6
-33
9
63
24
92
0
26
-56
24
16
-2
-29
11
-1
-2
-7
8
0
-10
71
0
0
5
0
0
2
21
37
21
0
0
-1
1
11
12
-106
5
0
63
15
-3
2
-35
4
7
25
24
-12
-17
-71
0
27
0
14
2
26
-5
-16
-2
0
14
2
-9
13
15
4
-1
-30
-4
1
3
24
0
1
102
0
-22
0
0
0
0
8
29
10
-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
-4
7
0
0
0
8
0
24
6
0
0
-117
0
-2
-18
0
9
0
2
0
6
-4
0
0
0
14
0
0
-2
0
0
0
5
0
12
0
0
0
0
0
0
28
0
0
0
0
0
0
-6
0
0
5
0
0
0
0
0
-45
21
2
0
0
0
0
0
0
0
0
0
0
-5
25
0
85
-22
0
0
14
33
0
0
104
0
0
6
47
0
0
0
1
0
11
1
0
0
0
0
0
0
-7
0
28
0
-2
0
0
-10
0
0
0
0
0
0
-79
-3
0
0
0
0
0
-54
4
0
0
0
0
5
17
0
0
56
0
0
0
-15
0
0
-11
0
0
10
69
0
0
-3
0
0
0
117
0
0
24
11
0
6
-43
0
25
1
1
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
-95
0
0
0
0
0
0
93
0
0
26
0
0
0
-37
0
-8
0
0
0
0
-15
0
0
-2
0
0
-5
7
0
0
-7
0
0
0
25
0
-3
0
0
0
0
25
0
0
-5
15
0
0
20
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
-129
0
0
0
9
0
0
-21
0
0
0
0
5
0
-12
0
0
0
0
0
0
0
13
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
58
0
21
0
0
0
0
0
0
0
0
0
0
-12
-6
6
-1
22
0
0
-8
12
0
6
-28
0
0
0
-58
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
-27
0
0
0
0
6
0
0
0
0
0
0
-118
-3
0
0
4
0
0
-85
0
0
5
0
0
0
93
0
0
7
0
0
-2
19
0
0
-3
0
0
0
22
0
0
-6
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
13
0
-39
0
0
0
0
0
0
27
0
0
0
0
-9
0
-28
0
0
0
0
0
0
9
0
0
0
0
0
2
16
0
-10
-1
0
0
0
-20
0
0
0
0
0
0
-16
0
8
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
-92
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-10
0
0
-2
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
35
0
0
0
0
0
0
8
0
-10
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-116
0
0
0
0
0
0
82
0
0
0
0
0
0
-102
0
0
-11
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
10
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
72
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
14
0
0
0
55
0
0
0
0
0
0
27
0
0
10
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-33
0
0
7
-2
0
0
2
-2
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
8
15
0
0
0
5
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-40
-21
-2
0
118
31
0
0
-15
-1
0
-11
-44
0
0
-18
12
0
-9
87
0
0
0
0
0
-1
-10
0
-31
3
2
0
-7
13
0
0
0
0
0
0
-24
5
0
0
0
0
0
-14
0
0
0
0
0
2
-185
4
0
-8
0
0
30
-6
0
0
4
0
0
12
0
0
0
-3
-7
0
3
4
0
0
-23
-1
0
14
41
0
0
-4
-1
0
-5
58
0
0
0
0
0
0
-41
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
-8
0
0
0
51
0
0
60
10
0
0
79
0
45
-3
0
0
0
-35
0
0
0
0
0
0
-19
0
0
0
0
0
0
-28
0
0
0
4
0
0
-73
0
8
0
0
0
0
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
121
46
56
24
58
18
17
78
-36
-4
53
7
-120
-13
-54
-18
2
-1
23
-7
-53
-113
-29
0
0
17
-10
-25
-12
-59
0
0
47
0
0
-23
4
6
0
-13
10
68
0
-2
120
0
0
0
80
0
34
175
-78
91
32
0
0
0
0
0
0
0
0
-15
119
-5
-12
54
53
-27
-15
28
-1
-5
-1
-8
-16
26
-23
0
28
-47
-61
-1
11
-38
0
-9
-118
-2
2
7
27
0
-44
-33
-29
5
13
-16
-7
0
-2
0
21
0
-8
-73
-18
-9
23
-6
0
85
123
0
12
0
-14
94
-5
3
138
-58
-71
3
28
6
-18
-29
43
13
0
25
46
-18
204
-8
124
-3
-64
-56
1
36
-128
70
-1
-13
-63
12
-16
28
27
3
6
-43
0
-5
-24
35
-10
-1
-43
11
12
0
5
-40
0
-33
-19
0
-3
4
0
0
69
-11
-22
-3
0
7
113
-66
50
-5
22
-3
8
-18
13
12
6
-2
-19
-10
15
-39
10
10
-87
19
-5
6
34
0
-101
17
-58
0
-3
-52
-4
96
-25
14
-3
0
42
-9
-25
25
-51
-18
0
-9
-8
3
6
26
-4
0
16
5
0
-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
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
9
-28
-1
0
6
7
0
5
66
-6
-10
-1
-17
-4
0
41
3
0
-1
43
0
0
28
0
22
24
-3
0
0
-4
0
5
1
0
0
0
5
0
-70
0
0
-12
0
0
0
-5
0
67
3
-7
0
-6
0
0
0
0
0
0
0
0
41
-19
0
-2
-47
1
0
29
11
0
0
62
0
0
12
-18
0
0
-142
-7
0
-17
-101
0
0
-20
0
0
0
-42
0
-32
-7
0
0
0
46
0
0
0
0
0
0
12
-35
1
0
-22
0
0
-54
45
0
-3
7
0
-30
0
-4
12
66
14
0
-55
-18
0
0
-41
0
0
-24
32
0
-8
-51
-15
33
-22
67
0
-7
-2
4
0
54
-10
0
-12
6
5
-10
0
43
-2
-9
59
0
0
0
-12
1
0
-2
-4
5
0
36
-2
0
0
-2
1
0
57
0
0
0
-6
0
30
0
-1
0
-14
2
0
41
57
-1
34
-54
11
1
15
38
0
-48
2
0
-2
4
42
0
18
-22
4
0
2
-11
0
42
-1
0
0
6
22
0
1
12
-11
0
0
-68
0
31
0
0
0
0
78
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-36
0
0
38
1
0
0
25
0
0
25
2
0
0
7
0
1
0
-11
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
19
3
0
3
0
0
0
0
0
0
0
0
0
1
28
1
-10
78
-24
0
26
13
-1
0
13
0
0
-15
21
0
0
2
-5
0
0
44
0
0
-5
0
0
0
97
0
-16
0
0
0
0
3
0
0
0
0
0
0
-69
-4
0
0
0
0
0
-1
0
0
-1
0
0
0
-15
0
2
4
-4
0
0
0
0
0
-14
0
0
-10
22
0
0
33
9
0
0
28
0
0
-44
1
0
0
47
0
0
0
-1
0
0
-12
0
0
0
-2
0
0
-19
0
0
0
0
0
0
26
0
0
0
0
0
0
-11
0
2
-4
0
0
0
19
0
0
4
0
0
0
-3
0
0
11
0
0
0
-17
0
-14
0
0
0
-5
-21
0
5
-32
-3
0
0
-41
0
-2
0
-4
0
0
-5
0
0
11
0
0
0
20
0
-2
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
-117
-18
4
0
26
0
0
49
7
0
0
171
-22
12
-19
10
0
0
-1
0
-16
0
-1
0
0
34
0
-2
8
-15
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
-6
0
0
-3
-1
0
-67
7
18
-2
16
0
0
0
0
0
0
0
0
-54
27
0
67
-95
20
14
7
-52
0
0
19
0
-5
4
15
0
0
75
-10
0
-5
33
0
0
7
0
0
0
111
0
-5
19
0
1
0
32
0
0
9
0
0
0
41
-6
0
0
0
0
0
-77
8
0
0
0
14
0
47
0
0
4
-1
0
-9
-54
0
0
-69
0
2
-34
52
0
0
47
1
-6
10
9
0
0
-40
0
0
-3
13
0
0
-8
-20
0
0
26
0
0
-2
-5
0
0
-46
0
0
0
0
0
0
40
-7
0
0
0
0
0
86
-21
0
0
0
0
0
30
-2
-54
-6
0
0
0
28
-4
-2
-1
-13
0
-11
10
0
6
-39
-2
-1
0
42
0
-13
-7
0
0
0
11
0
-9
15
0
0
0
-10
0
0
3
0
0
0
-1
0
33
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
10
-41
8
83
14
151
-6
41
26
82
-28
36
28
0
24
15
0
37
-156
22
0
1
31
-11
-55
-45
47
0
-12
7
-15
-37
2
9
10
3
0
-69
29
0
0
13
0
0
-2
-33
0
67
33
-40
14
4
0
0
0
0
0
0
0
0
23
55
25
-58
33
-30
23
15
19
2
0
61
48
-2
-20
-12
6
-20
-17
116
-11
-116
-15
-5
6
19
-6
0
-16
-36
0
4
-27
79
1
-3
-88
-18
0
1
0
-36
0
3
59
-10
2
71
13
29
61
-84
-1
-3
0
5
8
-32
20
77
71
-58
-6
143
21
-1
33
-18
1
-19
48
-30
4
23
-26
114
0
11
28
31
18
23
-26
-5
32
40
44
26
5
22
0
0
-5
0
4
49
3
65
0
67
0
-4
-2
50
-22
0
-49
24
5
0
9
9
-7
-62
-87
-4
47
11
-15
-54
27
-21
5
0
-20
3
-29
-54
-18
3
-67
37
0
-11
34
10
4
193
15
-5
48
32
-13
-10
62
12
-6
54
26
-21
93
94
38
0
2
55
16
2
-61
-36
5
0
38
1
128
6
0
46
0
-5
3
-12
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
89
0
0
18
-2
0
-7
5
-42
13
-6
104
4
23
-16
20
0
7
42
0
51
-100
-26
0
0
-4
0
-12
-39
14
0
-2
-10
23
58
0
-32
0
0
0
0
14
0
0
-69
-4
0
0
-38
0
-49
-167
49
26
0
-9
0
0
0
0
0
0
0
-44
94
0
-3
11
17
23
45
5
0
12
42
5
-28
-75
-46
0
-5
-27
21
5
7
-8
0
0
28
0
-23
15
-12
0
-1
-44
0
-29
4
-38
0
0
0
0
35
0
-16
32
-22
0
-2
0
0
36
-65
0
0
0
-2
-11
-3
-7
-11
112
0
-12
43
-13
0
0
64
0
3
7
-79
0
3
-37
-6
16
35
-36
0
0
-15
9
-17
-34
16
-5
-17
35
11
97
-11
-6
1
0
85
0
30
5
11
-18
-7
-2
0
19
0
-15
-7
0
0
0
2
0
68
137
-2
10
0
0
6
27
-6
108
29
0
0
21
33
0
-13
40
0
0
18
-3
0
-93
-88
0
0
8
-3
0
9
-6
-3
0
8
49
-2
77
204
0
-27
20
52
0
8
148
0
3
-2
-7
0
64
-5
0
7
0
13
-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
31
4
5
0
-18
0
0
-19
42
1
0
155
0
0
-70
-14
0
-4
0
0
0
-3
-7
0
0
0
0
0
5
0
0
0
0
0
0
0
8
0
0
-8
-3
0
0
0
-8
0
0
0
0
0
35
-4
-1
-19
0
0
0
0
0
0
0
0
0
104
31
-1
3
-81
-1
0
79
77
0
0
30
0
0
-15
77
0
0
26
8
0
36
-94
0
0
4
0
0
0
33
0
5
2
0
0
-1
-73
0
0
-2
0
0
0
42
-42
0
0
-6
0
0
68
39
0
0
0
0
35
-12
0
-6
-69
11
0
-65
31
0
0
-49
0
0
-23
-5
0
11
32
1
0
-4
-67
0
-9
-48
0
0
30
42
0
0
-22
3
0
0
-120
0
0
2
0
0
-5
-10
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
8
0
0
0
0
-12
-39
0
48
43
0
0
-26
127
0
-1
-46
-7
0
-9
43
0
6
3
0
0
0
-71
0
-6
1
0
0
0
-8
0
27
-3
1
0
1
51
0
-10
13
7
0
0
-49
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-86
-29
59
20
38
-2
-32
-91
-6
52
9
34
0
34
-24
10
-23
2
-6
52
-12
-50
4
-12
-18
-22
-9
-14
-28
23
-16
-97
-10
3
-4
-15
-55
-2
-1
-5
18
15
24
40
-2
8
38
-4
0
0
0
0
0
0
0
46
20
-21
-38
11
63
5
5
-8
-37
-6
14
-38
-95
9
-14
106
54
-38
-11
-24
-2
-4
97
64
-20
143
57
-74
28
-11
-32
57
-15
55
-76
6
52
-8
99
-2
8
-2
35
21
-7
-1
-54
82
10
22
-12
7
105
-25
-5
81
47
54
117
52
12
-14
4
48
82
-26
68
137
13
-38
24
-61
44
17
53
-52
61
-4
-29
52
3
-1
96
-5
-21
38
22
9
-31
44
-23
17
-12
42
-54
78
48
71
13
100
-88
-68
-26
25
-13
46
27
71
-61
-27
-23
13
8
-25
-22
80
50
1
10
-32
77
34
49
17
-29
-34
7
-51
19
57
38
-22
-66
-1
-83
-14
-3
13
-72
-34
7
48
-30
-50
81
-25
-3
-2
60
17
9
-18
11
-14
-11
-49
44
-9
57
115
73
13
-12
-15
40
-9
51
18
-4
12
-27
67
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
49
5
0
0
34
14
0
-45
-1
0
0
-8
0
0
0
21
0
0
55
0
12
6
-4
0
0
0
0
-1
0
14
0
0
-13
0
-50
0
0
-9
0
0
0
-2
-5
33
-7
-27
-6
29
0
0
0
0
0
0
0
0
-66
0
2
3
-29
0
0
43
4
0
0
-12
0
0
33
-69
0
0
41
-5
0
-15
-107
0
0
-11
0
0
0
-63
0
16
0
0
0
0
23
0
0
0
-1
-7
0
59
-11
-1
6
15
0
2
72
-23
0
-3
0
0
-4
25
0
0
87
4
0
58
0
4
-4
14
0
0
-24
31
0
0
-34
0
0
-27
-79
0
0
-16
0
0
0
-80
0
13
9
-16
0
0
10
0
2
2
0
31
0
52
3
-8
-15
1
9
0
3
0
0
0
0
0
0
7
-9
-1
4
0
0
-8
46
0
1
31
0
0
25
0
-13
-8
25
5
0
47
-6
0
21
2
0
0
0
-29
0
6
6
0
0
0
55
0
5
-22
0
0
-7
-1
0
0
5
0
0
0
-14
0
-29
0
0
0
0
1
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
82
10
0
0
-3
0
-14
21
5
0
0
3
0
0
0
-5
0
0
-4
2
0
-6
0
0
0
0
0
-39
0
0
0
0
2
0
-7
0
0
-4
0
0
0
-5
0
-30
0
-13
-9
12
0
0
0
0
0
0
0
0
-7
6
0
-26
2
-2
0
-47
32
0
0
-1
0
0
27
-21
0
0
-3
0
0
-8
-58
0
0
8
0
0
0
64
0
86
0
0
0
0
-95
0
0
-2
0
0
0
-24
3
-3
0
0
0
0
13
-10
0
-9
0
0
-1
118
0
0
9
0
0
-20
19
0
-3
13
0
0
-16
-3
0
3
67
-4
0
1
-13
0
0
-12
0
0
-4
-100
0
0
-8
0
0
0
-38
0
-5
0
0
7
0
40
0
0
-7
0
0
0
-29
0
0
0
0
0
0
11
5
0
-10
0
0
13
30
0
-32
15
0
0
0
4
26
-9
53
0
0
-1
-3
0
-4
0
0
0
0
-63
0
-32
0
6
0
0
31
0
-12
0
0
0
0
44
0
0
0
0
0
0
-7
0
-7
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
123
-8
0
0
-36
-7
0
-9
0
0
0
24
0
-7
13
5
0
0
-5
0
50
0
0
0
0
0
0
-15
0
0
0
0
0
0
45
0
0
24
0
0
0
-14
0
-153
12
1
-3
3
0
0
0
0
0
0
0
0
37
-78
0
113
118
0
11
30
-53
0
0
-77
0
0
-5
124
0
0
-6
0
0
9
10
0
0
42
0
0
31
70
0
-116
0
0
0
0
-9
0
0
0
0
-10
0
-43
76
0
0
0
2
-1
58
-1
0
0
0
0
2
30
0
11
-51
1
0
3
43
0
13
46
0
0
90
7
2
1
12
-12
0
13
9
0
9
-17
15
0
-19
58
0
0
22
33
1
7
62
0
15
-11
0
14
0
-39
0
0
0
0
-4
0
-84
0
0
0
0
0
0
15
5
0
-5
0
0
0
-17
0
7
-3
0
0
2
-51
0
4
-1
-12
0
24
38
0
6
-14
0
0
0
52
0
0
0
-3
0
7
-53
0
1
-2
0
0
0
7
0
0
5
4
1
-2
72
0
3
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
-17
-25
11
42
78
-17
-26
-2
19
97
-50
-10
15
-37
-47
-7
-31
-27
-26
-37
-2
-17
-48
-7
30
-53
2
-61
-22
-66
-39
-7
-15
-47
-49
-1
4
43
-6
7
33
15
3
45
-88
-36
-8
-23
-1
0
0
0
0
0
0
0
-1
31
-69
20
43
2
-16
28
-8
54
87
68
42
15
-9
-8
52
4
-42
-53
135
-38
-10
-23
-13
-19
-20
-13
-61
-42
4
-19
-5
-67
-12
7
-35
-3
-2
-36
1
47
0
-5
-7
15
-4
-1
-53
55
0
10
66
-13
0
-3
35
74
33
53
2
-1
-17
0
58
60
-24
36
-3
28
14
10
88
38
-22
33
-15
-1
-24
13
109
9
-90
31
-51
-22
13
31
62
-26
43
-102
-20
2
-28
9
42
14
-24
-83
-4
-89
13
-32
-49
-2
21
8
22
-1
34
-47
-6
6
14
1
106
-7
-8
78
-15
-34
73
110
-8
39
-4
62
-102
69
30
-53
-74
-13
10
54
14
29
-22
5
85
-91
-16
49
-7
35
23
21
-18
-19
15
-14
51
-101
42
-20
8
16
-118
88
49
28
-4
15
-31
-28
1
-72
1
-28
-102
-13
67
73
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
-7
-3
0
0
25
-3
1
-10
-5
0
0
0
0
0
0
4
0
0
-2
0
-2
0
0
0
0
4
0
4
0
0
0
0
0
0
-17
0
0
-6
0
0
0
1
0
126
-9
0
0
0
0
0
0
0
0
0
0
0
-13
39
0
-13
53
0
0
-86
36
0
0
10
0
0
-3
-53
0
0
9
6
0
-5
22
0
0
0
0
0
0
-16
0
-91
0
0
0
0
17
0
0
0
0
0
0
-30
-1
0
0
0
0
0
51
-4
0
0
0
0
0
-3
0
1
36
0
0
0
5
0
0
-15
0
0
-17
-144
0
2
-16
0
0
0
39
0
0
2
0
0
0
-45
0
0
0
0
0
0
30
0
0
-3
0
0
0
-10
0
0
0
0
0
0
53
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
0
0
0
0
4
-23
0
0
0
0
0
0
13
0
21
-8
0
0
0
9
0
0
0
0
0
0
-80
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-15
0
-5
15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
-15
0
0
7
0
0
-10
4
-5
1
0
0
0
0
0
0
0
0
0
22
39
0
100
80
-32
0
126
21
0
-37
-55
0
0
66
-62
3
0
-25
0
0
10
5
0
0
-2
0
0
2
7
0
44
23
23
0
0
-61
0
0
0
0
0
0
-15
-22
-7
0
0
0
2
29
-2
0
0
0
0
106
-36
0
0
20
19
0
10
42
0
0
-20
0
0
74
8
0
-2
-6
4
0
-20
31
0
0
114
0
0
-2
-109
0
0
115
2
0
-7
-16
0
0
0
10
0
0
62
0
-5
29
0
0
0
-42
0
0
0
0
0
0
10
0
0
0
0
0
-21
11
0
8
14
0
0
-7
-103
0
-5
54
-3
0
-2
-20
0
-13
50
-3
0
-9
13
0
3
-6
-10
0
0
60
0
97
-21
0
0
0
27
0
-4
-1
0
0
0
-5
0
31
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
120
-45
-3
-24
-69
108
8
6
-73
-21
-51
6
-82
-2
10
-1
3
-46
-4
-1
14
-1
27
60
-70
1
-5
-29
-1
2
-15
-23
5
8
107
111
90
-19
-11
0
0
0
0
0
0
0
-61
-13
12
-17
-30
-20
33
-7
51
53
109
35
75
39
22
38
-21
11
25
-43
-45
2
-26
-13
-35
49
-13
3
-41
-16
8
49
12
45
-16
22
11
-3
-3
-76
-6
10
-1
-2
-2
44
8
-19
-5
22
14
1
31
38
6
23
-110
-3
91
38
-69
36
-48
24
6
59
-116
-54
19
47
3
-2
-14
53
-10
-41
37
46
1
-27
34
66
38
37
90
3
22
-16
10
-17
71
-5
-19
0
54
23
75
-42
-22
-26
-41
102
34
-10
-2
76
4
-23
7
2
24
24
0
17
-64
21
-34
-2
-12
32
28
-61
25
-8
-3
23
-70
10
-36
63
29
-31
-21
-40
20
-52
79
125
-26
-4
-56
7
15
23
20
-79
40
35
-6
-38
-11
-53
-17
-47
3
-11
0
53
-132
-76
27
10
19
-13
72
3
29
-16
0
-23
-15
11
-5
-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
-48
-19
22
2
-6
0
15
-28
52
0
0
-4
4
-10
-15
16
0
-11
25
0
-4
0
-8
0
0
0
20
-54
0
0
-24
0
0
18
4
-5
-92
145
0
0
2
0
0
0
0
0
0
0
0
11
49
10
-34
-13
22
0
-73
0
2
-5
-29
-26
0
-6
10
6
4
107
25
0
-19
38
0
2
-37
0
0
-4
88
0
56
54
20
0
0
-30
0
0
0
14
-18
0
13
-27
17
0
22
0
0
59
-4
3
3
0
0
46
-16
0
13
-19
-2
0
69
68
0
4
-32
2
0
-48
0
0
-5
-120
-15
0
-18
-44
-3
-10
-98
-9
12
5
-3
0
3
17
7
19
0
14
0
0
-27
0
10
0
27
0
0
21
61
33
0
22
-3
-7
0
0
0
0
11
-10
2
0
0
0
-10
34
0
-73
-9
0
0
10
-16
-4
0
-10
20
11
52
0
0
11
56
3
0
-6
107
0
-20
19
-3
0
-1
1
0
-5
4
7
0
-4
-25
0
-1
-5
-3
18
0
3
0
63
0
0
-3
0
73
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
8
0
0
0
0
0
0
0
3
0
0
-6
0
0
-4
-1
0
0
0
0
0
0
3
0
0
0
0
-20
0
0
0
0
0
0
0
0
-30
7
0
0
0
0
0
0
0
0
0
0
0
2
58
0
49
4
0
0
-114
23
0
0
47
0
0
7
80
0
0
44
0
0
0
-57
0
0
0
0
0
3
-11
0
-53
0
1
0
0
61
0
0
0
0
0
0
-4
-13
4
0
0
0
0
70
0
0
0
0
0
0
-62
0
-7
59
-7
0
-1
11
0
-2
6
0
0
-11
65
0
0
-3
0
0
0
-21
0
0
-1
0
0
0
-25
0
0
2
-16
0
13
-32
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
36
0
0
14
0
0
0
-132
0
-3
0
0
0
0
52
0
0
6
0
0
0
-49
0
0
0
0
0
17
20
0
3
0
0
0
0
-14
0
3
0
0
0
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-10
0
0
0
-7
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
2
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
0
0
0
0
10
23
5
-3
5
21
0
-21
-21
0
-26
5
0
0
6
8
0
0
4
-1
0
0
-20
0
0
5
0
0
-1
2
0
17
0
0
0
0
96
0
0
0
0
0
0
1
-5
-11
0
0
0
0
35
45
0
7
0
0
0
42
0
0
48
5
0
-4
-89
0
19
58
0
0
-1
2
0
0
-3
0
0
2
5
0
0
2
6
0
3
81
0
-1
7
1
0
0
32
0
0
0
0
10
0
38
0
0
0
-1
0
0
-32
0
0
0
0
0
0
-44
-13
0
0
0
0
0
8
0
1
2
0
0
0
50
0
0
3
0
0
-1
-31
0
3
0
0
0
3
32
0
0
0
0
0
4
-39
0
0
-3
0
0
0
47
0
2
3
0
0
0
-62
0
28
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
-94
63
19
1
-6
12
-24
14
60
0
-2
-56
-57
-27
56
47
0
0
-52
-1
-1
-1
46
0
0
5
110
16
0
0
-25
0
0
2
48
3
-22
42
41
52
-13
0
0
0
0
0
0
0
0
-31
23
-3
-84
18
-24
-7
-34
-36
13
-93
1
-19
-2
33
73
12
-22
29
37
-3
2
-23
15
3
-114
-11
89
-31
-14
-20
-12
63
42
-7
-8
11
7
0
5
0
62
3
6
-3
-13
0
-30
2
35
-5
68
1
6
0
0
2
-16
13
-26
107
-77
-22
-43
10
-3
41
-50
-4
4
1
9
4
-15
-20
-93
75
-5
1
33
-11
62
-9
41
-95
68
0
-21
50
17
107
48
-8
0
29
-24
-14
-8
-31
34
2
26
23
9
-18
0
30
-14
12
-8
0
-28
0
-57
-23
-4
-4
-2
0
-49
-29
17
16
21
9
15
39
31
13
39
-38
-28
-1
-17
45
-2
31
71
9
15
-3
-17
-18
68
99
-4
-34
-84
31
3
42
89
-3
9
71
3
2
56
0
86
-57
0
26
-4
-80
65
7
-36
0
58
29
-26
-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
14
20
0
0
-57
0
32
-34
-47
-1
0
38
0
25
9
35
2
0
-1
3
43
-35
39
2
0
13
0
-18
0
0
127
0
0
0
20
10
-7
-91
-68
12
0
0
0
0
0
0
0
0
0
-3
17
-3
-29
0
0
-4
-10
-3
0
0
-10
1
-2
-56
51
0
0
-16
0
-5
60
-40
0
0
33
0
48
22
-55
0
43
29
0
8
0
53
0
-2
-19
0
7
0
-18
27
8
-4
1
25
0
-3
-26
1
11
0
0
-9
17
0
-15
-35
0
29
0
35
0
7
-75
-7
0
52
-28
-14
43
23
-7
-4
-18
-26
-9
6
28
3
21
87
-40
-5
36
26
34
-3
9
-26
0
5
145
0
26
0
21
0
24
-17
0
17
0
7
-25
-2
-8
0
-9
0
39
-5
-1
7
0
0
7
39
40
24
185
-17
-2
-19
-4
0
9
-29
0
9
21
48
3
55
46
15
0
-70
-35
0
-1
34
6
38
3
2
0
22
-23
0
0
-12
-2
1
5
-3
0
-11
0
-24
0
-35
7
0
16
0
1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-9
0
0
-10
28
0
0
-10
38
0
4
-3
0
0
0
0
0
0
36
0
0
12
59
0
0
0
45
0
0
0
0
0
-39
9
-16
-1
8
0
0
0
0
0
0
0
0
2
-10
0
18
39
31
0
-60
-1
-8
-4
-7
0
0
46
81
0
0
11
78
0
-25
44
0
0
13
0
0
-6
-40
5
12
59
39
0
0
-14
0
0
0
0
0
0
95
23
-2
0
-4
0
0
7
45
0
-2
0
0
1
-53
-2
69
52
-10
0
-43
34
1
1
18
0
0
-8
-45
0
-8
8
-18
0
41
5
0
-1
33
7
0
0
-15
0
-8
24
40
0
-10
22
0
-1
11
0
0
0
-41
6
-1
-27
-36
0
0
56
-4
11
0
-4
0
0
28
94
0
10
21
0
12
-17
0
22
72
0
0
54
39
10
-4
-37
35
0
27
4
0
-16
31
0
0
7
10
0
-29
88
12
0
-1
14
0
-34
71
-4
0
-6
19
0
0
14
1
0
-23
-23
0
-53
-3
0
0
0
78
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
-45
3
28
114
48
-27
27
62
107
5
-2
-14
1
73
-2
-25
0
-1
-5
9
33
0
18
19
-1
0
-40
48
13
-7
-40
0
-55
-68
0
0
0
0
0
0
0
0
-43
21
101
-25
-54
-54
0
-128
-15
-35
-31
-9
0
2
-51
15
-12
-63
39
12
55
-123
-1
-5
61
38
-44
32
-29
17
5
13
22
36
48
-21
-37
0
-2
38
-2
2
0
-19
-12
44
2
-53
11
18
10
118
-19
-45
0
1
-41
24
22
69
34
23
-12
58
-8
21
38
2
-3
42
-66
16
123
64
9
8
-4
-80
22
-32
-26
55
7
25
-3
21
-25
128
52
-8
132
12
-20
-38
81
38
-11
-10
0
-32
-12
-25
3
-71
6
-4
0
-106
-3
2
-4
57
-16
-3
72
5
25
-3
-2
105
0
32
2
-78
-45
11
5
-5
58
18
-59
28
-37
-26
25
-56
34
-29
-31
11
23
-33
10
-3
78
-12
29
45
-2
19
22
-41
-4
67
0
-15
10
142
-29
29
50
3
11
-1
68
-26
6
64
0
33
131
1
-1
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
-30
-36
0
0
1
10
-59
108
40
0
0
-1
9
24
-6
-7
0
0
0
7
-55
0
0
-22
0
0
0
-17
0
-64
10
49
-2
1
0
0
0
0
0
0
0
0
8
103
0
31
69
-4
-1
16
81
3
66
8
2
0
1
0
6
-8
-37
28
3
8
-40
0
0
-31
0
-6
8
28
1
-9
48
4
0
0
51
0
0
7
-1
3
0
9
16
-22
0
-32
-2
34
-33
-55
-3
0
0
0
58
-49
9
24
30
14
6
28
5
11
-12
18
-10
-6
-48
42
0
19
16
24
0
-23
0
0
-3
-98
-10
1
27
-23
0
1
-32
-55
-14
-15
-18
0
0
21
-1
-7
0
39
0
4
-28
3
-32
0
-20
7
0
0
0
0
0
-13
-41
0
39
5
4
50
25
-7
-80
-8
5
-1
-37
46
0
-18
6
-10
-3
-29
62
0
3
-1
0
19
19
0
0
-19
26
48
8
5
-1
0
-57
-19
1
-13
0
50
-7
2
34
-17
4
0
8
0
33
0
4
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
63
6
-10
0
0
0
0
0
0
0
0
0
0
8
-50
0
-6
-31
0
0
12
-75
0
0
44
0
0
12
-33
0
0
0
1
0
-25
-2
0
0
14
0
0
-1
0
0
-2
0
-1
0
0
29
0
0
0
0
0
0
-132
0
0
0
0
0
0
-75
0
0
0
0
0
0
-3
0
0
-21
0
0
-24
44
0
0
-1
0
0
0
-43
0
0
0
0
0
0
74
0
0
-16
0
0
0
-34
0
0
0
0
0
0
-45
0
0
0
0
0
0
10
0
0
0
0
0
0
15
0
0
0
0
0
0
81
-19
0
0
0
0
0
10
0
7
-1
0
0
2
-24
0
0
0
0
0
0
-22
0
-4
0
0
0
0
52
0
0
1
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
22
0
-2
7
0
0
0
0
0
0
0
0
0
-5
26
0
117
6
-4
0
-12
27
0
0
33
0
-5
0
-13
0
0
-2
0
0
4
-21
0
0
10
0
0
0
1
0
44
0
0
0
0
-34
0
0
0
0
-11
0
25
26
0
0
0
0
0
-28
-16
0
0
0
0
0
13
0
0
0
0
0
0
-35
-2
0
-1
0
0
-11
13
0
-16
-6
0
0
-6
10
0
0
42
0
0
1
105
-2
0
4
10
0
0
-36
0
0
0
0
1
0
29
12
0
0
0
0
0
68
0
0
0
0
0
0
27
-9
0
0
0
0
0
2
-15
-22
-5
0
0
0
58
0
0
2
0
0
0
19
0
0
-16
-1
0
0
-1
0
-16
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
-36
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-9
-27
121
71
0
0
13
0
25
5
-27
0
0
1
106
-55
0
0
-86
0
0
0
114
0
20
6
-52
-2
21
0
0
0
0
0
0
0
0
37
-20
33
70
63
-11
0
54
68
-1
3
41
7
0
-59
115
5
8
67
-20
2
40
-74
-4
0
101
-2
6
42
-75
0
36
4
-61
-1
17
-3
0
0
0
0
-42
0
18
104
30
0
-35
0
5
-8
-32
0
0
0
0
-2
-22
-43
-35
-58
-22
12
36
2
-7
2
4
0
8
-16
-10
-1
23
63
13
5
-69
-18
0
-3
39
14
0
-15
-65
-19
0
68
62
43
-7
-82
0
3
7
24
2
0
9
0
3
-10
6
40
0
-11
15
0
-22
0
0
0
-29
80
-1
-3
0
0
-10
-69
0
1
13
0
0
9
-74
22
7
-11
-23
-1
-5
-6
1
41
33
0
7
-37
11
-40
-10
-2
23
0
5
-20
0
-45
-22
-16
-2
0
21
0
2
0
-31
-7
0
31
0
28
18
0
-13
0
64
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-5
24
0
0
-2
41
0
0
-2
0
0
-1
-22
0
0
4
0
0
0
-28
0
0
0
0
0
0
-16
0
39
0
0
0
0
-6
0
0
0
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
8
-7
0
0
-4
-55
0
0
-18
0
0
-4
16
0
0
-3
0
0
-6
-45
0
0
-11
0
0
-11
57
0
0
0
0
0
-1
-1
0
0
0
0
0
0
23
0
0
-3
0
-14
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
-117
0
0
0
0
0
0
20
0
0
0
0
0
2
19
0
-1
0
0
0
0
-21
0
0
0
0
0
-19
-15
0
-4
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
-46
0
57
11
0
0
0
0
0
0
41
0
0
0
25
0
0
0
59
0
0
0
0
0
11
-17
10
0
11
0
0
0
0
0
0
0
0
-2
-14
0
-13
18
51
0
-93
-57
0
0
-1
0
0
51
-43
0
0
58
12
0
-4
-42
0
0
-39
-6
0
-2
-45
0
45
14
-2
0
0
69
0
0
0
0
0
0
18
83
16
0
1
0
-1
-18
11
0
0
0
0
-64
-9
0
12
83
38
0
47
16
0
7
76
0
0
-60
-62
0
-3
12
21
0
127
6
0
0
57
0
0
40
-22
0
4
-39
46
0
0
-5
0
0
41
0
0
-7
60
0
0
2
42
0
0
-39
0
3
0
0
0
0
-88
3
0
11
0
0
11
35
0
3
17
0
0
-4
3
0
-17
-36
13
0
54
-16
0
82
77
0
0
-105
36
0
-4
-19
44
0
-14
-3
0
-60
50
0
0
0
-5
0
0
-7
6
0
0
17
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
83
0
0
2
0
16
2
-2
0
0
8
-10
-99
0
0
30
0
0
0
50
0
-45
-35
18
-8
-4
0
0
0
0
0
0
0
0
28
-11
0
39
-5
0
0
-46
10
0
24
22
0
0
1
-43
0
4
25
-6
0
12
-106
0
0
-89
2
-11
0
-30
0
-6
-16
-3
12
0
12
0
0
0
0
1
0
12
-3
-8
2
10
-6
0
8
27
0
-3
-3
0
3
-38
-19
-11
31
11
-7
21
-63
0
-55
-75
-7
0
-17
2
7
10
-8
22
0
6
-39
20
-1
9
1
0
0
-13
0
-7
116
62
0
0
-18
0
0
-2
0
-11
0
-63
-7
0
-33
25
4
0
-4
0
0
0
0
0
0
25
-69
0
0
0
0
16
-30
0
36
3
0
-4
0
19
0
0
-23
-10
-1
-1
44
0
18
41
8
13
0
23
7
-4
0
-10
3
0
23
-10
56
16
0
0
0
-25
0
6
-3
12
-2
0
75
0
87
-8
0
5
0
-95
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
4
0
6
0
-13
0
0
-2
0
15
0
0
-7
0
0
0
-8
-5
-4
-9
83
-6
-3
0
0
0
0
0
0
0
0
-40
66
13
-20
-42
28
1
-12
6
0
15
30
0
0
47
14
0
-28
44
20
6
106
0
3
6
-26
18
-6
12
-3
0
-78
-10
-7
-8
4
-19
0
0
0
0
-2
0
40
97
6
0
0
0
13
-46
10
0
-2
0
0
-1
24
13
-17
27
7
0
-29
19
1
4
5
-1
3
122
-5
0
-24
63
-9
11
-33
-27
-1
-8
-73
-14
4
18
0
-1
-7
-6
24
2
10
-47
0
-1
2
0
8
-4
5
1
0
0
72
-3
0
-68
6
0
0
0
0
0
9
2
9
7
-1
0
9
-17
-8
5
-38
0
0
-3
-3
0
-58
-10
-27
5
0
-69
0
40
-21
2
0
-9
-25
-6
0
-15
16
-7
-14
0
2
21
1
9
0
0
29
0
-11
1
11
1
0
-39
0
52
6
-1
-8
0
-40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
7
49
0
0
-8
-45
0
0
0
0
0
0
8
0
0
-17
-6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
0
0
0
0
0
-26
0
0
0
0
0
0
109
0
0
0
0
0
0
-67
0
0
0
0
0
0
-67
0
0
0
0
0
-3
-32
0
0
15
0
0
-1
-39
0
0
1
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
-13
0
0
0
0
-3
0
41
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
46
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
94
-33
0
0
-57
53
0
0
-6
0
0
6
-1
0
0
21
3
0
0
9
0
0
0
0
0
0
0
0
9
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
57
0
0
0
0
0
0
-87
0
0
9
0
0
-3
71
0
0
0
0
0
0
-33
0
0
2
5
0
0
-32
0
0
-1
0
0
0
50
0
0
14
0
0
0
-41
0
0
3
0
0
0
1
0
0
0
3
0
0
-52
0
0
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
62
0
0
0
0
0
0
42
0
0
0
-29
0
0
14
0
-18
-1
0
0
0
62
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
-39
12
-10
0
0
0
-1
17
0
0
-25
0
0
0
-15
0
-20
66
-50
27
-16
0
0
0
0
0
0
0
0
-143
29
0
64
-41
-104
0
-3
-78
0
-8
-36
0
0
-61
80
-7
0
120
-19
0
-12
-55
0
0
-8
81
3
-9
26
0
-6
-2
0
0
9
-86
0
0
0
0
-71
0
-9
-29
55
0
-12
0
0
-4
-28
0
11
0
2
8
-74
1
35
38
-20
-18
-27
3
0
0
41
0
-23
13
-13
17
-6
87
-50
0
-3
63
-1
-4
-10
0
30
-22
-41
-7
-18
0
-7
-14
47
3
0
0
0
-7
1
43
22
0
0
0
-12
-15
0
14
-9
0
0
0
-5
0
61
-13
-1
0
-6
0
29
-11
-15
-41
-21
3
0
46
-8
0
-2
19
6
23
9
-46
0
-70
-35
-3
0
-9
54
0
11
-19
-64
7
-4
-55
0
-18
13
0
0
0
-47
0
-4
-1
-8
-11
0
30
-3
26
-2
6
-5
0
2
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
73
0
0
0
0
0
-25
-4
-8
0
0
0
0
-39
0
0
-62
0
0
0
9
0
-32
-2
0
0
0
0
0
0
0
0
0
0
0
-12
22
-2
-38
32
0
0
-19
28
0
0
-66
0
-10
-26
-5
0
4
7
0
0
55
-46
0
0
10
0
0
-12
-25
0
-72
4
0
0
0
37
0
0
0
0
12
0
47
21
-4
0
0
0
0
-53
0
0
1
0
0
-2
11
2
-16
-18
0
0
-12
-44
0
0
55
0
0
29
-20
0
0
68
0
0
47
4
0
0
-15
0
-1
39
-27
0
0
56
0
0
0
-1
0
0
0
0
1
0
92
0
0
3
0
-7
0
59
-11
0
0
0
0
0
-115
-3
0
0
0
0
0
85
0
-5
-12
0
0
0
-58
0
0
-5
0
0
-22
100
0
45
13
0
0
0
36
0
14
0
0
0
1
-96
0
82
1
0
0
0
-30
0
-6
7
0
0
0
6
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
13
76
0
0
-8
-5
0
0
42
0
0
11
68
0
0
0
16
0
0
0
0
0
10
32
11
74
5
0
0
0
0
0
0
0
0
15
14
4
-13
26
-17
0
-8
-45
0
0
-29
0
0
-52
-7
0
23
5
1
0
-51
-83
-6
0
-127
0
0
46
-40
0
6
-13
0
0
32
20
0
0
0
0
0
0
19
151
-43
0
-1
0
0
17
24
0
-8
0
0
-3
8
0
-1
-52
21
0
-28
-20
0
0
98
0
0
21
18
0
-2
2
56
0
-30
-18
-1
-5
-54
0
0
9
26
0
0
36
-39
0
4
-2
0
0
46
0
0
0
18
0
0
13
98
0
0
6
2
0
0
0
0
4
22
-1
-2
0
0
0
0
28
0
10
-4
0
0
-22
-7
0
0
49
0
0
4
7
0
-79
83
4
0
8
-10
0
-2
-75
-2
0
-28
-13
0
-19
-81
0
0
0
-38
0
7
21
-11
0
-2
33
0
-6
-4
0
0
0
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-23
-26
0
9
-2
0
2
0
0
0
41
53
1
-3
2
0
0
0
0
0
0
0
0
35
-73
-9
-41
-111
-44
0
71
20
0
0
52
3
0
-8
-51
0
-6
-27
-70
-1
-4
-65
0
3
-38
44
-2
0
-53
0
38
47
-101
-1
0
-9
0
0
0
2
18
0
-44
17
-12
0
27
0
0
23
-50
0
0
0
0
-8
-21
-3
11
-54
-24
-11
-67
16
3
-2
102
0
-4
58
-15
0
27
-18
67
-4
42
-20
0
0
-5
15
-46
16
-3
-1
27
-14
15
-77
1
12
0
21
7
0
61
0
-55
0
0
22
35
-30
0
10
-2
0
0
0
-5
0
21
-18
0
4
0
-3
-6
-33
14
-88
73
0
0
-9
-93
0
5
-109
1
3
-4
37
-2
66
-74
-7
0
0
7
0
5
62
9
-27
0
-3
0
-5
-8
19
12
0
-35
-4
0
12
-29
0
0
-23
0
4
9
0
-7
0
-56
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
6
0
43
0
0
-4
0
0
0
0
0
37
29
-2
9
-1
0
0
0
0
0
0
0
0
-10
-45
4
-40
6
74
3
-28
-49
0
1
-42
6
5
16
4
0
-1
7
-36
-2
-9
-30
0
-26
0
-4
-2
38
0
0
24
58
-10
4
0
8
0
0
27
0
6
0
-37
-2
47
0
8
0
0
53
-54
0
0
0
0
5
9
15
5
-51
0
0
-64
7
-1
5
-51
0
3
79
-18
0
23
-96
-5
0
-18
-33
0
0
86
2
-5
-17
88
0
0
50
-12
20
0
0
0
-7
3
7
-1
0
56
0
2
-8
-12
4
0
6
1
0
0
0
0
0
-11
-5
0
-3
0
0
0
22
-12
50
11
0
0
53
15
-10
1
12
-8
0
4
37
0
13
11
10
0
-7
21
0
44
-2
6
0
0
12
0
25
2
0
11
3
0
0
0
-1
-9
0
0
-30
0
8
-2
0
-1
0
-13
-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
-1
0
0
0
0
0
0
0
0
-13
0
-11
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
-6
0
0
-2
-7
0
0
0
0
0
-5
-6
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
-35
0
0
0
0
0
0
-1
0
0
0
0
0
0
-79
0
0
-4
0
0
0
-41
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
2
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-52
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
54
0
0
0
0
0
14
-10
0
0
0
0
0
0
0
0
0
0
0
-3
1
-11
-1
39
0
0
-2
32
0
0
-1
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-2
0
3
0
0
0
0
5
0
0
0
0
0
0
-53
0
0
0
0
0
0
9
0
0
0
0
0
-6
10
0
0
13
0
0
0
-49
0
0
0
0
0
-4
-39
0
0
-9
0
0
0
32
0
0
6
0
0
0
-1
0
0
0
0
-6
0
-46
0
0
0
0
0
0
-3
0
0
0
0
0
0
95
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
-3
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
0
14
0
-56
-1
9
0
0
0
0
0
0
0
0
0
0
25
-15
0
-39
29
-7
0
-18
1
0
0
53
0
0
0
21
0
0
-3
-15
0
0
-25
0
0
14
-1
0
0
53
0
-45
-1
-1
0
0
56
0
0
0
0
0
0
-51
2
0
0
-13
0
0
-34
0
0
0
0
0
0
-74
0
0
72
0
0
71
-78
0
0
-21
0
-5
-15
-7
0
0
-5
0
2
-17
-47
0
0
-11
10
0
0
84
0
0
-25
-7
12
0
-26
0
7
0
0
0
0
26
0
0
0
10
1
0
6
0
0
0
0
0
0
30
8
0
1
0
0
0
17
0
-37
27
0
0
0
-15
0
-6
9
0
0
0
56
0
-19
0
0
0
0
-23
1
0
0
-9
0
0
78
0
4
0
4
0
0
78
0
0
0
0
0
0
27
0
-3
0
0
4
0
93
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-7
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
57
18
0
0
-12
-10
0
0
-6
0
0
0
6
0
0
0
0
0
-5
10
0
0
0
0
0
0
-9
0
2
1
0
0
0
8
0
0
0
0
0
0
35
0
0
0
0
0
0
25
0
0
0
0
0
0
-38
0
0
-6
0
0
3
-28
0
0
-4
0
0
0
-72
0
0
13
0
0
0
33
0
0
0
0
0
0
-6
0
0
-5
0
1
0
-29
0
0
0
0
0
0
46
0
0
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
31
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
1
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
10
-1
0
0
3
20
0
0
0
15
0
0
10
0
0
-53
-109
-113
-9
0
0
0
0
0
0
0
0
0
-12
24
0
27
-2
-7
0
25
1
0
11
-55
0
0
-15
14
0
0
62
93
0
42
7
0
0
16
0
0
-3
-32
-4
14
71
4
0
0
30
-1
-2
-7
0
0
0
21
46
31
0
-7
0
-10
-25
39
0
-6
0
0
-40
-2
3
-5
39
11
0
46
47
3
-19
37
0
0
58
5
0
61
0
36
0
46
9
0
5
-6
-9
0
3
26
0
-49
27
42
0
4
28
0
-8
-6
13
0
-12
-15
0
23
23
22
0
0
9
0
0
0
0
0
-8
-6
7
0
0
0
0
-38
34
0
-65
12
0
0
-56
37
0
-8
109
-45
0
5
-7
-3
-14
86
0
0
-4
-15
0
-10
61
-22
0
9
41
0
11
94
0
0
0
32
26
1
-41
90
0
0
38
0
96
-4
0
0
0
13
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
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
70
-22
0
0
-4
30
0
0
-14
0
0
-5
-26
0
0
0
0
0
0
-62
0
0
-12
0
0
0
8
0
-23
0
0
0
0
-46
0
0
0
0
0
0
72
0
0
0
0
0
0
-60
0
0
0
0
0
0
-58
0
0
-28
1
0
-10
102
0
0
0
0
0
0
-35
0
2
0
-1
0
0
24
0
0
3
0
0
0
-9
0
0
0
0
0
0
-96
0
0
0
0
0
0
20
0
0
0
0
-7
0
-27
0
0
0
0
0
0
-29
0
0
0
0
0
0
-26
0
5
0
0
0
0
7
0
0
4
-3
0
0
-4
0
-9
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
-10
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-3
0
-33
-8
20
0
0
0
0
0
0
0
0
0
0
18
-65
3
-43
-4
-18
0
-34
-4
0
5
-49
1
0
53
37
0
0
73
-17
0
-14
61
0
0
-8
0
0
-7
5
0
35
-5
0
0
0
0
0
0
0
0
44
0
8
10
-23
0
0
0
0
-64
-45
0
-1
0
0
8
3
0
0
-44
0
0
-47
1
0
0
-10
0
0
6
-2
-4
4
-120
12
0
35
57
0
0
39
0
0
-23
-4
0
-10
-38
11
2
0
94
0
0
11
0
0
0
0
2
0
10
0
-5
0
-31
-18
0
0
0
0
0
14
0
0
0
-2
0
0
17
6
-2
51
0
0
-1
0
0
-1
1
0
-3
6
37
0
10
29
0
3
-15
2
0
-20
2
13
0
0
-54
0
23
10
0
-2
0
-58
0
0
0
1
0
0
0
0
16
0
0
10
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
96
-4
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-12
1
0
0
-18
23
0
0
-10
0
0
0
14
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
-47
0
0
0
0
0
0
36
0
0
-2
0
0
0
-95
0
0
0
0
0
0
-24
0
0
63
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
-1
0
0
0
0
0
0
3
0
0
7
0
0
0
-43
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
4
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
9
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
14
0
0
14
3
0
0
-2
0
0
-10
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
24
0
0
0
0
0
0
34
0
0
0
0
0
0
-79
0
0
0
0
0
0
-29
0
0
-1
0
0
-6
-16
0
0
3
0
0
-8
20
0
0
6
0
0
0
12
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-62
0
0
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
5
0
0
0
0
0
-6
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
-16
5
6
-7
0
0
0
0
0
0
0
0
-22
2
0
29
2
0
0
-14
-23
0
0
-17
0
0
-16
7
0
8
0
15
0
-2
-92
0
0
0
0
0
0
-7
0
4
0
-5
0
-10
63
0
0
0
0
3
0
138
-9
0
0
0
0
0
31
0
0
0
0
0
0
-101
0
0
0
0
0
-11
12
-1
0
9
0
0
4
-172
0
0
8
1
7
10
-41
0
0
-3
0
0
-5
90
0
-5
0
4
-10
4
-17
0
0
0
0
-4
0
1
0
0
0
28
0
0
-16
0
0
0
0
0
0
12
-6
0
1
0
0
0
43
0
1
0
0
0
0
54
0
0
1
6
0
9
31
0
0
0
0
0
0
67
0
0
-4
0
0
0
60
0
7
0
9
0
0
-28
0
1
0
0
0
0
-47
0
-6
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
15
0
0
0
-5
0
25
-38
5
-2
0
0
0
0
0
0
0
0
0
8
40
0
40
-66
0
0
30
-104
0
0
28
0
2
0
35
0
0
33
0
0
5
5
0
0
49
0
-4
11
-7
0
14
24
-23
0
9
68
0
0
-2
0
15
0
-5
61
-5
0
0
0
0
-58
0
0
0
0
0
15
15
0
0
84
0
-4
96
-85
0
0
-18
0
14
-34
-10
0
0
-24
0
-2
35
32
1
0
47
0
-2
0
79
0
0
-1
-5
9
-4
27
0
0
-24
0
-29
0
-3
0
0
22
0
18
0
34
0
0
0
0
0
0
-72
-10
0
6
0
0
3
-40
0
-57
-2
0
0
-3
3
12
0
44
0
0
-14
10
0
31
-5
0
6
0
-94
0
-2
0
-4
0
0
-39
0
-51
3
0
6
0
52
0
0
-7
8
-6
0
14
0
42
0
0
0
0
65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
48
0
5
16
-129
-25
156
-12
0
0
0
0
0
0
0
0
27
-13
-1
1
23
-11
0
16
-12
0
6
-7
4
0
28
15
4
6
16
10
0
125
-1
2
22
5
-28
0
11
-15
-28
29
-5
-42
0
70
16
3
-1
13
-4
0
3
21
-45
-61
-1
4
0
2
-5
34
0
37
3
0
108
-2
14
-82
31
-67
0
7
24
-2
-45
32
-12
-6
0
27
16
-75
8
9
0
68
30
-2
73
40
9
0
-30
-24
31
7
50
16
0
97
16
0
-65
-13
-18
0
86
-1
-16
80
3
-25
0
-1
14
71
14
2
-2
0
-1
32
25
83
16
-37
0
-58
6
24
53
-39
2
0
-84
11
-14
-103
0
23
0
-35
29
16
-70
10
2
0
82
-22
-6
-13
26
-103
-2
-64
10
-12
-83
7
2
0
21
26
0
22
80
27
0
7
19
-3
25
-69
2
0
8
12
-51
2
27
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
-2
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
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-33
0
0
0
0
0
0
-42
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
1
0
0
0
0
0
0
-15
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-11
0
4
39
0
0
-54
-40
0
0
-57
0
0
0
-13
0
0
-1
0
0
0
-7
0
0
12
0
0
0
-2
0
-10
-11
0
0
0
44
0
0
0
0
0
0
0
0
-1
0
0
0
0
55
0
0
0
0
0
2
80
0
0
1
0
0
0
17
0
0
3
0
0
15
-40
0
0
21
0
0
0
-54
0
0
-14
0
0
0
22
0
0
33
-7
0
0
-49
0
0
0
0
0
0
42
0
0
2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
71
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
-2
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-18
30
-4
0
0
0
0
0
0
0
0
44
40
0
-4
18
-99
-16
18
68
0
11
-59
0
51
-122
-32
10
-6
-52
-31
-2
43
6
0
16
-56
9
38
27
-136
0
-11
84
-18
5
0
32
-10
0
12
0
1
0
-20
0
-6
-3
-4
0
0
-32
-45
0
-2
-3
0
63
-17
-2
30
35
-36
49
-73
6
-11
-15
84
-2
27
36
-33
-7
-28
-41
26
49
114
-8
-1
-3
-66
-5
-1
1
33
0
8
-69
111
-62
-4
36
0
-1
-83
2
-69
0
31
13
-39
51
-78
-48
0
23
0
-7
-8
-1
0
9
-11
-70
1
48
5
5
-36
22
6
-4
8
5
4
-132
-87
3
54
-37
-18
0
-9
-4
0
17
109
-7
-5
-7
-69
0
-43
-25
21
31
-3
24
0
19
-94
0
14
1
1
0
1
-28
50
-6
0
-3
-2
-103
-11
0
-36
0
-13
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
38
-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
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
0
0
0
0
52
0
0
0
0
0
0
20
0
0
0
0
0
0
46
0
0
0
0
0
0
-19
0
0
0
0
0
0
28
0
0
0
0
0
0
-47
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-2
1
0
0
5
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
22
0
0
0
0
0
0
-20
0
0
0
0
0
0
-29
0
0
0
0
0
0
-75
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
6
0
-3
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
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
-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
114
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
1
-8
0
0
14
4
0
2
9
0
0
0
-24
0
0
0
0
0
0
-38
0
0
-3
0
0
0
31
0
-2
0
-5
0
0
5
0
0
0
0
15
0
-34
0
0
0
0
0
0
-20
-2
0
0
0
0
0
51
0
0
-81
0
0
3
-25
0
0
41
0
0
0
25
0
0
58
0
0
0
40
0
0
0
0
0
0
67
0
0
-2
0
-1
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
-27
0
0
0
0
0
0
-10
8
0
0
0
0
0
-2
0
0
0
0
0
0
-53
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
4
0
0
0
0
0
0
0
0
42
21
0
-12
33
-6
0
-19
-59
-5
0
75
0
0
0
-26
-4
-9
13
22
0
10
19
0
0
-30
0
0
-7
-60
0
-96
-50
67
0
0
-27
-1
0
0
0
0
0
-1
21
22
0
9
0
0
0
-76
0
0
0
0
65
4
0
3
-68
-19
0
16
2
0
6
65
-11
0
49
-1
1
0
104
24
0
23
-29
2
5
-27
0
0
11
1
-4
-25
70
-106
0
-2
4
0
0
11
-4
0
0
-30
0
-7
18
50
0
0
-34
-7
0
0
0
0
-21
35
-7
0
-47
3
0
120
-3
-14
33
-3
0
0
48
21
-9
13
10
-1
0
235
8
9
31
69
0
0
35
-103
0
4
39
-15
0
-15
37
0
32
5
0
0
0
93
0
14
-21
56
0
0
76
0
40
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
8
14
-4
0
3
40
0
0
22
0
0
0
-6
0
0
0
0
0
-5
67
0
0
0
0
0
0
-2
0
15
0
0
0
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
-65
7
0
0
0
0
0
21
0
0
-14
0
0
0
62
0
0
-10
0
0
-14
69
0
0
-1
-2
0
-4
41
0
0
-2
0
0
0
-19
0
0
0
24
0
0
-21
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
29
0
-3
0
0
0
0
-14
0
0
2
0
0
0
-10
0
0
-4
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
16
4
47
-3
-15
15
-6
-33
33
15
29
-71
-42
26
28
-10
-31
136
2
-20
21
-2
74
3
-33
94
-17
32
39
-5
-3
29
-9
-25
-15
-29
48
-10
29
-4
-10
13
41
-43
21
-16
16
0
-25
-80
-17
28
4
-22
42
-9
55
50
-24
-21
-6
-31
-1
-5
4
94
84
-3
-2
14
-17
20
-45
6
24
-22
33
72
68
54
-13
51
-15
2
97
-11
49
43
89
6
-3
-1
32
-21
-32
8
-29
29
-55
25
-3
-12
59
-14
-85
-4
8
44
10
79
0
-4
14
-39
45
5
15
-2
15
-38
69
-50
72
-15
23
-9
-17
-6
30
36
-71
-1
-108
-1
7
98
47
25
-50
-27
23
20
26
-30
-104
-55
34
-14
31
90
112
-11
24
78
-19
31
14
133
50
5
-13
62
-10
26
25
63
-11
17
-12
17
-63
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-32
-27
-13
-3
-32
-33
0
21
-82
7
0
-90
31
3
-7
63
2
5
20
61
0
13
-71
0
10
5
-8
0
-54
-63
32
0
-10
-10
0
0
-11
0
8
0
35
-42
-7
6
2
0
0
5
0
0
0
0
0
29
-20
-2
1
83
-6
0
119
-13
1
-6
39
0
0
-53
-9
-7
-36
-1
42
2
70
-99
0
0
-169
-17
-8
-4
0
-5
15
93
-23
-30
-4
33
0
0
7
1
-23
0
29
0
-5
-19
-13
-48
0
39
7
0
0
0
0
0
114
5
-4
18
0
0
31
70
0
16
41
1
0
8
53
1
47
-51
58
0
-48
54
0
42
74
11
-19
-3
7
11
-39
-3
-10
0
9
9
1
63
3
10
0
-7
-41
0
4
-2
4
6
6
60
0
-14
9
21
0
0
16
18
0
12
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
47
-42
20
-25
5
36
-3
-62
-60
6
0
31
0
-1
-128
-29
13
0
-100
9
-6
-4
-40
0
0
53
0
0
-16
2
0
-83
9
18
0
7
24
0
0
0
0
-17
0
4
1
1
26
-3
0
0
3
-5
-26
0
0
0
-39
-51
4
4
33
48
0
119
62
-19
-6
3
-15
12
67
15
-6
-11
-40
32
0
-62
20
-1
1
-11
-1
-5
-5
-23
0
0
97
-11
-11
1
-2
0
-3
4
-1
0
0
-1
0
-4
50
4
6
0
37
5
0
0
0
0
0
62
96
5
9
0
0
-8
-64
0
-8
28
-1
0
13
14
-1
0
-44
-5
9
-4
-48
0
-11
34
-7
6
0
108
0
-7
75
-6
-8
3
-40
0
-4
4
0
0
0
40
0
1
-2
3
14
0
-3
0
-72
0
0
-6
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
91
37
5
-36
-11
13
-5
-111
24
0
0
-111
0
0
37
-27
0
-1
-69
-10
1
31
-5
0
0
1
0
-3
0
128
0
-55
0
20
-5
0
58
0
0
0
0
20
0
0
-58
1
0
12
0
0
59
-8
-8
-2
0
0
1
-79
2
-6
-3
5
-7
-6
87
-3
-21
2
0
-19
5
-60
0
-16
32
-1
5
7
31
0
0
33
0
-1
0
-17
0
0
56
-2
12
0
36
0
0
-27
0
12
0
48
3
0
0
0
2
0
-17
-1
0
0
0
0
0
21
-2
0
0
0
0
0
-89
0
31
0
0
0
0
20
0
0
0
-1
0
0
23
0
-20
-13
0
0
0
76
0
0
-4
-3
0
0
-18
0
0
0
0
0
-7
-33
0
0
-10
-17
0
0
-75
0
21
0
0
9
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
-8
-17
0
-8
-3
0
0
-9
-71
0
14
-59
0
0
-9
111
0
0
36
0
0
-10
-97
0
0
-6
0
0
0
24
0
-55
3
0
0
0
10
0
0
-2
0
-14
0
-4
3
-7
0
0
0
0
-61
0
0
0
0
0
0
-73
0
-9
19
0
0
-41
45
0
-4
82
0
1
24
-47
0
0
-53
0
0
19
-52
0
-6
18
0
-7
24
-20
0
0
-2
0
-16
0
-106
0
0
0
0
39
0
35
0
0
0
0
79
0
4
0
0
0
0
0
0
53
33
0
0
0
0
0
176
0
-2
0
0
0
10
-48
0
0
-32
0
0
34
-53
0
-21
0
0
0
0
-18
0
0
9
-7
0
0
14
0
-8
0
0
0
0
-19
0
0
0
0
0
0
7
0
0
0
0
-4
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
-9
-3
0
0
0
1
0
0
-13
0
0
0
-2
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
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-162
0
0
0
0
0
0
-11
0
0
-1
0
0
0
-11
0
0
0
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
-22
0
0
0
0
0
0
-39
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-64
5
-7
32
-26
-6
-1
61
-48
29
46
117
14
0
-5
-84
-1
-41
26
19
0
-15
14
41
18
10
-29
12
-2
-9
0
37
0
-5
-75
-33
-10
55
48
-2
9
54
25
3
2
0
144
-5
0
43
-35
-44
34
23
0
-24
54
-42
3
6
73
-18
-26
48
-13
76
-16
-24
-47
16
-12
-61
90
-18
3
69
-2
131
-28
11
70
18
-9
0
-3
-12
-8
-26
-4
43
-17
142
-10
-13
-1
3
-43
141
-16
0
16
-7
-17
-2
52
13
59
1
-10
32
29
-13
-49
32
17
2
98
55
0
59
88
69
1
-4
-21
61
-67
16
-13
68
4
32
52
35
52
134
-44
40
-6
-2
2
39
-20
25
60
89
15
-6
-20
-38
54
14
20
8
80
20
-29
36
7
51
4
20
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
43
11
-18
-3
40
-58
3
-33
-49
-72
-36
31
0
1
-9
42
49
72
36
-57
14
3
82
-2
39
-10
11
-15
0
-21
-12
-10
0
-20
2
-57
-5
-7
3
45
48
10
-1
30
0
0
2
23
-16
31
12
31
-1
-32
0
-22
20
11
-71
-33
33
-14
6
-21
30
-14
103
35
33
-26
53
89
-21
-1
21
11
-45
182
106
-16
-21
-54
11
3
-24
-39
25
60
29
102
4
11
-14
25
36
-2
15
19
-2
1
-36
7
-11
7
-47
-52
96
-17
-5
-7
-12
57
30
30
-50
15
-16
0
2
60
-96
48
-3
18
-73
-11
-17
-22
69
-9
-44
49
13
147
-51
-48
-61
-40
-21
6
-17
-48
-2
-54
56
-30
-9
9
-35
35
51
-2
62
-1
67
15
8
-16
0
18
-7
4
-16
-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
-34
-24
0
0
56
0
0
4
80
0
-1
15
-9
0
-2
-9
0
2
-9
0
0
0
4
0
-9
-1
0
0
0
27
0
0
0
0
0
0
32
15
-10
1
0
0
10
23
13
0
0
0
0
0
-43
0
0
-32
0
0
-5
-38
0
0
2
0
0
4
32
0
11
0
4
0
0
-49
0
2
-7
0
-3
0
-12
0
5
20
3
0
0
-4
0
0
0
0
0
0
2
0
0
0
1
-2
0
48
0
0
0
0
0
0
30
10
-4
0
0
0
0
94
0
-4
0
0
0
-1
-16
0
0
-10
-5
0
-6
-97
0
14
0
0
0
0
10
0
6
0
0
0
0
5
0
6
2
14
0
0
8
0
-3
-1
0
0
0
-15
0
-4
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
-9
1
78
72
16
28
44
-7
-37
-41
-6
-15
29
-71
0
-17
-6
5
-29
71
-58
15
41
0
12
45
41
-19
-18
43
-3
-8
12
-6
3
-2
33
-105
-22
-12
12
-23
18
16
54
26
87
0
24
46
-10
118
72
35
-33
63
-5
-8
-5
1
0
-14
-41
-83
-32
-13
4
-52
44
32
-31
-17
114
-25
-29
88
60
-52
-2
-10
20
39
70
-19
-10
29
0
48
-9
-43
-18
50
38
24
0
-119
6
-1
-3
23
-85
-2
2
-2
-19
16
21
41
82
117
-9
12
-61
-13
-6
-27
-21
13
3
-74
10
-56
123
25
-18
8
-39
-27
24
37
-20
73
57
36
-26
-3
-98
1
-25
-2
-46
-30
6
-8
50
15
25
-51
-23
1
8
93
118
-10
31
3
0
27
75
61
-68
6
3
-46
16
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-7
4
-59
92
18
-16
17
49
-36
18
23
-20
-11
45
44
26
-8
-79
-22
-9
6
45
-47
-48
52
-13
-3
-61
-13
-33
22
16
0
5
33
9
-1
11
86
-37
23
-48
-1
36
-22
11
90
-3
107
-58
-63
34
37
52
13
65
-24
-57
60
49
-14
33
-6
4
16
76
-34
-27
28
44
24
38
101
10
28
17
74
31
39
31
41
45
-20
-7
43
27
72
22
21
17
51
53
10
-86
3
-8
-22
-78
2
4
-38
66
-5
-2
91
90
34
15
5
73
9
-77
-7
4
100
35
-9
31
-73
12
34
35
-14
71
-6
129
29
26
-34
15
39
19
16
-29
38
60
-9
-66
-29
10
4
36
-60
71
-21
-37
4
-48
48
40
71
-4
12
52
28
-106
-25
90
-6
31
128
42
-25
71
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
26
-2
16
7
-24
0
2
-81
0
8
-4
-31
0
0
-26
0
33
5
-35
0
-27
-14
0
28
9
73
0
0
0
0
-32
0
-11
-57
7
0
0
0
0
27
113
0
0
0
0
-28
12
0
-13
72
0
0
65
16
-3
21
6
0
0
41
-3
7
-7
-46
-8
8
-48
-11
0
0
-7
0
30
-5
-13
0
0
-12
-5
12
-7
-44
0
0
27
0
-8
0
8
0
6
28
0
-19
0
10
-16
0
0
14
6
7
69
-89
-15
0
0
0
17
-58
12
-12
-36
0
0
9
-14
1
0
20
0
0
26
0
0
-16
54
0
11
-27
-21
0
14
10
16
8
2
35
0
38
-41
0
-2
5
23
0
1
40
0
-20
0
-25
0
44
-11
0
0
0
38
19
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
15
1
0
0
12
0
0
0
6
0
0
0
0
0
14
-96
0
0
0
0
0
0
22
0
-17
0
0
0
0
-108
0
0
0
0
0
0
69
0
-1
0
0
0
0
-12
0
0
0
0
0
-8
-11
0
0
1
0
0
-34
-2
0
0
6
0
0
0
-8
0
9
0
0
0
0
-19
0
0
-1
0
0
-6
9
0
0
-1
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
8
31
6
0
0
0
0
-32
0
1
0
0
0
17
58
0
0
0
0
0
23
-21
0
-3
12
0
0
0
17
0
0
0
0
0
0
-17
0
0
-11
0
0
0
7
0
0
0
0
0
0
-31
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
-34
-6
-112
-22
0
-10
39
44
7
-5
-1
23
47
33
28
29
44
3
-1
30
-13
19
-3
3
14
-106
-3
0
4
-5
20
46
-4
31
-41
-4
25
51
13
47
4
8
42
42
2
-39
30
62
35
-27
-27
-56
32
-18
-31
32
23
-13
144
29
27
24
68
-51
19
-15
96
3
117
-12
-20
7
23
-41
12
10
-16
19
17
-8
38
82
-47
63
-3
-19
2
1
52
33
0
-8
3
90
11
-15
11
88
4
9
17
-3
103
-65
-21
37
14
74
-6
40
-4
-77
26
25
59
55
28
97
25
-121
-6
-63
81
22
-19
-54
-71
34
-19
69
62
45
63
-22
49
56
-8
-41
19
-17
68
-18
113
-66
-27
22
117
-11
-3
2
-26
61
2
64
-17
31
80
-18
-65
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
-58
26
4
31
-14
44
62
-14
-19
23
43
-44
-2
-2
-39
-35
15
12
31
20
26
-35
-61
73
-7
94
-43
-17
0
-19
-89
-46
5
-21
5
76
33
53
77
-41
-9
6
15
21
37
-78
-19
-48
-123
38
11
87
1
-10
-42
9
37
0
-33
27
56
-32
24
-64
-21
-4
-33
12
-17
43
-12
-21
73
-5
-23
-41
-73
56
-19
-66
67
-56
12
42
-30
-6
-21
31
23
-27
-17
8
-5
-4
-28
-4
-5
63
0
2
101
-16
42
14
0
-7
24
-2
-139
95
-20
78
30
-25
-59
-84
57
-17
-5
24
0
-23
4
7
1
74
-32
-5
83
28
6
-16
-38
27
35
-37
68
86
-17
38
9
59
-5
104
-3
21
13
2
-26
6
29
62
28
-37
20
27
3
11
-12
-19
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
-5
-40
0
0
0
0
0
0
103
0
-14
0
0
0
0
68
0
0
0
0
0
0
11
-6
0
0
0
0
0
33
0
0
0
0
0
0
134
0
0
-4
0
0
5
-73
0
0
2
0
0
0
-13
0
0
10
-3
0
12
-21
0
0
-24
0
0
0
28
0
0
2
0
0
0
50
0
0
0
0
0
0
14
0
0
0
0
0
0
28
0
0
0
0
0
0
88
-1
0
9
0
0
0
9
0
5
-15
0
0
0
15
0
0
-1
0
0
0
33
0
0
-2
0
0
0
-4
0
0
0
0
0
0
-15
0
-24
0
0
0
0
-39
0
0
0
0
0
0
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
32
-7
0
37
77
0
0
-9
0
0
5
-39
0
-32
0
8
0
0
7
0
0
0
0
0
0
58
2
0
0
0
0
0
-36
0
0
0
0
0
-5
68
4
0
33
0
0
100
-97
0
0
28
0
0
7
93
0
0
-41
0
0
-2
-55
0
0
86
1
0
0
23
0
-7
-17
0
32
0
-11
0
0
0
-1
0
0
-25
0
0
8
11
-1
0
50
0
0
0
0
0
0
38
3
0
0
0
0
6
113
0
53
9
0
0
0
-28
0
0
32
0
0
9
-4
0
0
0
0
0
-3
-49
0
0
-7
-7
0
0
-36
0
0
0
21
0
0
14
0
0
-1
-6
0
0
-45
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
-13
15
-2
-33
8
-29
-83
-43
13
-4
-1
31
10
21
-43
-22
0
11
75
6
38
10
-33
4
-2
90
-4
-58
0
-5
-68
74
-4
53
34
-28
59
-73
-18
10
0
3
69
46
1
-84
-16
121
54
-24
-28
1
37
28
-5
7
-4
8
-57
-58
56
46
18
50
3
-16
-41
30
-6
55
5
7
5
126
92
15
-6
-91
1
-6
34
-1
-34
12
77
-20
0
11
78
77
-62
47
4
-37
6
0
-11
-11
26
29
-4
10
-20
-2
-25
-2
-30
-3
6
-39
-2
8
27
16
-32
-60
-40
36
3
-30
-28
0
-2
-5
-9
-1
15
-60
-3
177
26
29
50
12
10
12
72
-23
10
28
-50
-14
2
127
18
42
7
20
-32
0
3
-36
26
85
0
11
-14
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
1
0
26
1
0
0
0
0
0
-8
-11
0
1
0
0
0
0
55
0
0
0
0
0
0
-122
-18
0
0
0
0
0
81
2
0
0
0
0
8
-18
0
0
16
0
0
-3
40
0
0
-12
0
0
8
56
0
0
-8
-13
0
0
8
0
0
15
0
0
2
-72
0
-2
0
3
0
0
-6
0
0
-12
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
-2
-81
0
0
-4
0
0
0
32
0
8
0
0
0
0
2
0
2
0
0
0
0
-34
0
0
0
-1
0
0
-3
0
10
-5
0
0
0
-14
0
0
0
0
0
0
-52
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
2
12
0
0
2
-1
0
0
-13
0
0
-20
0
0
-12
21
0
95
0
0
0
0
27
0
0
0
0
0
0
34
35
0
0
-3
0
0
-40
4
0
0
0
0
0
26
0
42
90
0
0
-16
-86
0
-3
1
0
0
114
92
0
0
19
16
0
10
20
0
0
25
0
0
16
-3
0
9
12
-24
0
3
2
0
0
0
0
0
0
117
0
0
0
0
0
0
125
0
0
0
0
0
0
35
5
-2
0
0
0
0
-23
-2
39
28
0
0
7
-38
0
0
29
3
0
19
42
0
10
-11
0
0
22
31
0
8
-3
-3
0
0
-20
0
-43
10
0
0
0
-53
0
0
0
25
0
0
75
0
32
0
0
0
0
-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
20
18
0
1
33
0
-7
-1
19
0
92
-18
-39
6
0
-17
0
0
0
-7
32
0
37
-95
-127
0
-15
-9
0
-35
-49
0
52
14
0
25
15
-17
71
53
-38
6
29
-2
-6
-9
70
0
0
-30
19
17
50
50
-10
-8
-11
-9
0
-12
-78
-24
-7
7
5
-10
-59
-3
-49
4
2
-37
0
5
-71
0
6
0
64
0
3
-16
9
-85
-3
22
-43
0
0
0
64
0
-1
14
5
-88
3
0
19
15
-6
98
-31
0
0
-5
36
-21
61
-23
-1
4
-57
-18
0
-62
-9
-1
0
-20
-42
-20
47
2
-12
2
1
45
0
-12
-7
5
-9
0
-13
0
-9
-53
14
1
-5
-1
0
3
2
15
1
0
28
-25
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
24
-50
4
7
59
-48
-2
-8
9
-30
31
87
-32
3
-3
-52
-6
7
0
-8
11
-95
5
92
3
57
-40
-27
48
-44
-6
30
-33
-6
-83
-131
10
62
-56
15
-15
40
-31
43
5
-98
-37
39
14
-17
28
56
48
28
0
-142
16
-25
126
25
-47
4
-18
14
-30
-6
59
55
-4
18
-23
65
-23
-50
-7
-22
17
27
2
91
-54
7
-2
-9
-22
-1
32
10
-2
-38
82
-16
-21
-4
10
-17
41
22
46
-19
-23
24
43
25
139
8
43
-51
41
-5
-15
-15
28
23
-36
-39
30
0
72
-144
-24
-26
26
-21
20
-3
21
19
78
-26
34
-14
-5
92
-26
-98
-8
26
-30
29
6
-1
0
39
-1
36
48
-10
-17
-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
82
0
0
-5
0
0
0
97
0
-7
0
0
0
0
128
0
0
0
0
0
0
114
0
0
0
0
0
0
-24
0
0
0
0
0
-3
118
0
0
-6
0
0
57
-106
0
0
0
0
0
0
-38
0
0
10
0
0
8
14
0
0
-2
0
0
0
4
0
0
0
0
0
0
-62
0
0
0
0
0
0
-55
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
5
0
0
0
0
0
-1
0
-12
0
0
0
1
9
0
0
3
0
0
0
30
0
5
3
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
5
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
0
-1
0
30
0
0
28
0
0
0
0
-2
0
-44
55
0
0
0
0
0
48
-6
0
0
0
0
-16
17
0
0
10
0
0
-20
91
0
0
0
0
0
56
-27
0
7
-22
4
0
0
-41
0
0
-11
0
0
-7
-23
0
0
0
-1
0
-6
85
0
0
0
0
0
0
49
0
12
10
0
0
0
17
0
0
0
0
0
0
-26
0
2
0
0
0
0
-63
0
0
0
0
0
-4
-5
0
0
1
1
0
7
11
0
8
0
0
0
0
43
0
0
0
0
0
4
-10
0
-15
0
0
0
0
-53
0
0
5
-1
0
0
54
0
-6
22
0
0
0
91
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-3
10
7
4
-21
4
-36
0
-5
88
-59
-64
-7
-34
0
0
0
0
-73
0
-7
-55
-5
0
84
9
13
27
-38
0
0
1
0
36
-27
92
64
-37
-14
8
-54
-17
14
-13
84
4
15
150
4
18
-13
-110
-8
11
102
19
-2
50
35
7
-6
5
34
-23
12
-27
73
4
113
-5
0
2
-21
2
88
-13
28
0
-1
3
-25
13
0
8
-2
15
0
0
10
0
23
-53
51
25
-4
0
-7
-19
-11
-18
88
0
0
-100
-32
8
-25
53
40
0
-53
20
-15
-6
60
3
30
31
37
4
77
-4
106
0
-4
14
-15
34
-5
-6
3
18
-6
0
2
-3
-31
82
0
8
0
-56
0
19
-33
0
-25
-23
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
11
-4
-9
-23
-17
0
31
36
0
-11
-8
-56
0
0
11
0
14
0
16
37
-6
0
0
-6
0
10
41
0
0
0
0
-25
-35
3
30
11
0
0
39
22
6
0
95
0
0
-13
-32
0
1
-6
0
0
-26
26
0
8
-57
-15
0
125
-22
0
0
44
0
-8
8
-53
0
0
45
0
26
9
26
0
0
-1
0
15
-2
59
-25
2
0
0
15
0
18
15
0
-13
0
0
-13
-34
3
97
37
0
0
-7
14
0
-21
11
0
-10
-39
-10
0
118
-29
0
11
7
99
0
39
89
0
0
-9
34
0
27
168
-11
0
5
28
0
-8
65
0
40
0
-16
26
7
0
0
-32
0
-6
-13
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
0
47
25
-1
0
0
31
0
0
0
0
0
0
-32
-15
0
0
6
0
0
30
0
0
0
0
0
0
4
0
0
-12
0
0
-11
-10
0
0
25
0
0
-3
-98
0
0
-48
-3
0
-2
112
0
0
-1
0
0
0
-40
0
0
-34
-2
0
0
30
0
0
3
0
0
0
12
0
0
0
0
0
0
-114
0
0
0
0
0
0
-15
19
0
0
0
0
0
55
0
26
-1
0
0
0
131
0
14
-6
0
0
-3
-99
0
0
3
0
0
2
34
0
0
5
0
0
0
60
0
5
5
0
0
0
6
0
0
0
0
0
0
63
0
13
0
0
0
0
-56
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-13
-1
0
0
-13
0
0
-4
0
13
0
-8
37
25
0
6
0
0
-2
16
0
-2
0
-12
1
3
-5
-2
52
-5
0
-56
-5
0
-25
36
0
0
-26
33
0
25
-10
-18
0
-7
-32
0
4
38
-6
3
0
66
0
-13
40
-34
24
0
-56
0
0
60
0
-6
0
-3
12
0
-8
4
89
0
40
-11
0
0
0
-2
0
-28
-79
0
0
0
0
0
-1
-1
48
-136
0
-3
1
-84
0
-6
42
-7
0
0
19
0
6
-100
0
0
0
-74
-17
0
-63
1
0
0
-38
0
-33
9
5
0
2
4
0
7
-3
16
0
0
-16
0
-27
-4
0
-12
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
-28
0
-2
-17
-31
0
52
106
-1
64
71
-113
-16
-69
0
28
41
17
-13
-71
58
10
7
-49
-54
98
-2
7
-9
2
-84
-62
9
2
-16
14
-6
-2
30
30
90
-25
-21
-1
-24
46
14
-51
-44
-3
21
105
-5
16
-80
32
52
0
-4
-13
19
11
31
23
9
8
-20
79
36
-2
-28
9
-20
62
29
37
-47
1
7
-114
45
4
11
33
-16
-31
107
-28
82
-54
-2
38
17
25
20
11
-5
-8
-102
2
167
8
2
33
69
49
10
60
36
39
41
-53
-53
-7
-71
-26
-104
19
-39
28
0
-49
-22
33
-21
-41
-97
-17
30
-46
96
26
10
5
-1
17
-13
-29
-4
34
34
65
-18
67
-27
-97
-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
-2
0
1
0
2
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
0
-1
0
0
0
1
-50
0
0
-13
0
0
0
-40
0
0
-20
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-3
0
0
0
0
0
0
63
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
9
0
0
0
0
34
0
0
0
0
0
0
-151
-1
0
0
18
0
0
19
0
0
0
0
0
0
-8
0
0
38
0
0
7
-96
0
0
-3
0
0
0
69
0
3
8
0
0
0
-8
0
0
7
0
0
0
-21
0
0
2
-17
0
0
-97
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
0
0
0
-12
0
0
0
0
0
0
94
0
0
-2
0
0
0
73
0
0
1
0
0
0
33
0
0
0
0
0
0
2
0
0
32
0
0
0
-136
0
0
0
2
0
0
8
0
0
0
0
0
0
-1
0
3
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
66
52
0
-19
9
49
-1
33
30
0
-7
0
0
99
0
11
-39
-7
0
-75
0
0
-6
-30
0
4
0
0
-15
13
-5
15
26
-1
-3
8
-5
9
-34
136
0
0
-19
14
0
-27
-81
-34
-12
37
-27
0
8
-48
-12
-27
47
38
-8
11
-21
8
6
-64
14
0
21
0
0
-6
-8
63
0
4
0
-6
40
0
29
-35
0
0
0
0
0
-23
-37
-5
1
0
0
-3
-50
14
-12
-28
0
-3
-31
-11
0
62
38
-13
0
-35
24
0
-34
-46
-2
-2
8
0
22
21
43
27
-6
-6
-24
0
85
-29
-3
-8
27
23
0
-6
8
65
-11
0
23
18
-107
-13
0
-8
0
8
19
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
0
0
0
0
0
0
0
0
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
49
0
0
0
0
-5
0
0
0
0
0
0
91
0
8
0
0
0
0
23
-25
0
0
0
0
-2
-120
0
0
33
2
0
-6
-8
0
0
-41
0
0
2
72
0
0
-19
0
0
-14
50
0
0
-4
0
24
2
-69
0
0
0
0
0
12
8
0
0
0
0
0
0
-11
0
0
0
0
-2
0
42
0
0
0
0
0
0
-4
0
0
2
0
0
0
8
0
0
0
0
0
0
-19
0
0
0
0
0
0
-34
0
-2
3
0
0
11
-42
0
0
0
0
0
1
-10
0
5
6
0
0
0
-2
0
0
2
0
0
0
-21
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
5
-15
0
-22
0
-15
0
0
0
0
0
0
0
0
0
-45
11
56
0
6
0
0
19
0
0
0
0
0
8
-35
0
0
-49
0
0
2
-29
0
0
-13
0
0
25
13
0
0
-70
0
0
-7
-4
0
0
-114
0
0
1
79
0
0
15
0
0
0
22
0
0
-2
0
0
0
-54
0
0
0
-5
0
0
-53
0
0
0
0
0
0
39
0
0
0
0
0
0
13
0
33
0
0
0
0
23
0
0
0
0
0
2
-19
0
-3
15
0
0
0
58
0
0
8
0
0
0
-5
0
-16
-10
0
0
0
130
0
10
3
-28
0
0
31
0
-36
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
10
0
0
0
0
-12
0
12
11
0
0
5
0
0
-7
12
0
0
0
0
-21
14
0
10
33
-6
-2
-16
-20
1
0
23
0
0
1
-31
0
3
-1
3
0
0
1
0
1
-22
0
0
0
12
0
0
9
11
8
0
-60
0
-8
30
0
0
0
82
0
0
-9
0
21
0
5
19
0
0
0
0
0
42
8
-2
0
0
0
0
-62
1
-7
7
0
0
0
35
0
0
-22
0
0
0
-88
0
55
3
1
0
0
-48
0
3
36
6
0
0
36
0
21
9
0
-6
0
44
0
-7
-11
6
0
0
13
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
-40
19
-4
-4
5
-5
-41
3
0
-60
1
5
-10
39
5
-6
-34
-19
47
0
10
-64
-25
42
66
87
24
-78
20
-16
69
0
20
-31
15
0
15
11
-159
-19
-23
-19
26
-11
49
-14
29
17
68
43
-11
-19
-38
-73
42
-74
-24
0
24
-15
-3
-8
9
30
21
21
39
49
3
2
-2
5
44
-12
-7
0
-18
-1
20
118
22
-12
-14
0
5
-37
49
-28
28
63
-4
98
-5
17
97
-40
85
31
-8
76
22
20
76
-3
84
12
-11
-50
-163
-56
-115
0
67
47
12
10
-32
-5
44
-13
0
0
3
100
88
14
-2
31
-4
92
-38
-1
31
0
0
-48
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
7
0
0
0
0
0
0
-27
0
0
0
0
0
0
40
-6
0
0
0
0
-16
-71
0
0
29
0
0
22
-1
0
0
0
0
0
0
25
0
0
9
0
0
0
48
0
0
-1
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
-4
0
-3
0
0
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
5
0
0
0
0
0
0
0
0
11
0
0
0
0
16
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
-20
24
-12
0
12
3
-1
-10
-50
110
-17
-3
4
-7
-20
0
-6
98
27
-31
-74
21
-12
1
-37
-29
27
-106
-59
14
16
-11
-8
44
-18
6
76
-119
-53
-14
1
9
17
-91
-3
27
5
-7
-30
-8
27
52
-19
16
0
-7
25
-13
36
-19
38
-8
3
43
18
56
0
22
-8
-10
0
-3
-4
11
-18
-39
65
15
14
22
-9
0
35
32
-76
-4
6
-94
-39
-17
-20
-21
-58
43
-30
17
2
-85
-46
3
-5
-49
4
-14
82
10
-114
-16
22
-3
6
7
-21
16
106
35
-20
0
-42
-42
53
8
-6
21
-5
28
-3
0
16
9
26
-22
-13
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
0
-27
9
-18
0
0
0
0
-37
-30
-1
-1
0
0
-10
12
-3
0
-16
-16
0
-54
9
1
-21
-84
-14
-3
-10
20
0
32
88
35
0
-58
9
0
4
-26
12
0
0
25
0
0
-5
-8
2
3
-13
0
3
0
0
0
0
-28
0
-12
-10
-9
19
0
-25
3
-1
0
-29
0
0
-105
24
1
0
8
0
7
-16
0
-4
2
-3
0
20
60
0
0
78
-3
0
39
34
14
48
2
-2
0
7
22
0
1
0
-9
0
0
21
0
12
0
0
8
0
25
0
-8
0
-7
0
-19
-29
0
-54
0
0
3
0
-25
-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
-2
-1
0
0
0
0
-34
0
-7
48
21
0
0
0
0
-16
-1
0
4
0
0
18
-21
4
4
84
0
14
-3
37
0
-6
-49
2
7
19
-43
0
2
-50
0
-15
20
31
0
3
31
0
63
5
50
0
0
16
0
60
1
-19
0
0
23
0
20
0
0
0
20
-91
0
54
0
36
6
0
0
0
0
0
-5
8
1
12
0
0
-7
-35
0
48
13
0
0
-79
60
0
-17
-17
0
0
19
8
19
55
-92
0
0
8
23
0
-19
-41
0
-11
15
57
0
5
-54
0
-6
0
27
0
0
11
0
0
0
-20
0
-50
0
0
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
40
-35
-7
0
0
0
0
62
0
0
-3
0
0
17
56
0
0
82
0
0
18
20
0
0
-31
0
0
1
46
0
0
-67
0
0
-65
61
0
0
18
0
0
5
-81
0
0
31
12
0
0
-39
0
0
1
0
0
0
-63
0
0
0
-12
0
0
72
1
0
0
0
0
0
4
-2
0
0
0
0
-2
-22
0
-9
-5
0
0
16
123
0
0
0
0
0
-2
-34
0
4
8
0
0
0
203
0
0
0
4
0
1
-84
0
1
-10
0
0
0
52
0
0
27
-13
0
0
-21
0
-18
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
0
0
0
55
0
0
0
-6
0
0
43
0
0
25
0
0
25
16
0
6
-32
19
0
-12
-7
0
2
16
0
17
0
-41
0
0
1
0
4
0
1
0
0
-20
0
0
0
68
0
0
0
5
-5
0
-41
0
0
0
0
0
0
-12
0
0
0
0
0
0
66
0
-5
0
0
0
0
-20
0
0
0
0
0
-2
-34
0
24
0
0
0
0
57
0
0
0
0
0
0
60
0
5
0
0
0
0
9
0
0
0
0
0
0
-39
0
-5
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
-5
13
-76
-3
7
6
-15
4
-19
24
10
8
7
58
2
-5
60
35
-17
79
20
9
7
-45
3
35
-20
-10
6
-39
28
3
-46
71
45
1
5
-42
-19
-76
0
2
7
4
87
7
-35
-102
11
3
2
-62
-93
-39
36
-6
0
0
113
51
-19
-9
-2
18
55
28
0
-1
-25
1
2
17
49
15
-4
43
31
2
21
5
-9
-28
15
10
12
-31
-26
54
42
58
1
28
-82
43
-23
81
-12
116
21
31
-6
-36
14
112
69
21
-11
-111
18
97
-9
27
-20
6
12
100
35
90
-47
0
0
1
48
60
-4
-1
51
68
0
-2
-26
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
-72
0
0
-1
0
0
2
62
0
0
0
0
0
4
-94
0
0
7
0
0
-1
12
0
0
10
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-11
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
2
0
0
0
0
-1
0
0
0
0
0
0
1
0
-23
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
-36
-3
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
2
0
0
-3
40
0
0
0
0
0
-10
34
0
0
-3
0
0
0
-31
0
0
-4
0
0
0
-11
0
0
0
0
0
0
71
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
-52
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
-3
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
-5
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
-50
3
-5
0
8
0
0
-5
0
0
0
0
0
0
-30
0
0
6
0
0
-11
57
0
-1
-1
0
-4
-6
20
0
0
1
0
0
1
52
0
0
0
0
0
0
71
0
0
0
0
0
0
-31
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
14
0
-6
0
0
0
-3
-55
0
2
-24
0
0
-15
-14
0
20
0
-6
0
-2
-2
0
0
0
0
0
0
-32
0
-4
0
0
0
0
21
0
0
0
0
0
0
-74
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
16
0
0
0
0
0
0
-25
0
0
-2
0
0
0
15
0
0
20
0
0
0
34
0
0
-3
-5
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
6
0
45
0
0
-3
0
0
0
-66
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
-2
0
0
0
3
5
0
0
-12
0
0
0
-3
0
0
-10
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
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
12
-11
0
0
35
0
0
40
-7
0
0
0
0
-40
-19
0
0
-22
-44
0
-137
-86
4
1
-14
0
0
67
27
0
0
-16
9
0
33
-5
0
6
60
0
0
-2
-30
0
0
-48
8
0
19
-26
0
0
-11
0
0
-5
50
5
0
-53
10
0
0
47
2
-3
0
5
0
0
17
14
0
0
0
0
0
6
0
-11
6
0
0
11
0
0
4
54
0
0
-9
46
0
36
-74
-1
0
-14
-26
2
-5
-10
-1
0
12
39
0
-44
79
0
0
0
0
0
0
18
5
0
0
0
0
-58
7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-1
0
0
3
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
31
-3
74
-10
-27
55
7
-13
25
30
29
84
-29
30
4
52
-64
17
76
-26
40
-16
40
42
24
79
20
-28
1
82
37
-21
2
6
17
7
20
-34
14
25
37
-20
-2
-23
-28
-53
26
-18
-32
5
-62
-87
25
-6
10
-40
0
-13
-89
21
48
5
-46
20
53
28
13
-98
-32
30
-51
-50
-7
29
103
-9
61
-10
-39
6
44
9
24
86
6
48
-29
38
28
-25
-40
6
29
-59
63
44
66
-26
1
-74
31
-76
48
47
42
18
-42
23
-32
-43
68
-4
-18
-13
-44
24
100
0
-14
0
-4
28
45
-88
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
10
0
78
-32
-1
31
-23
10
9
-109
-10
0
0
14
-5
0
33
-7
0
20
-14
-45
-14
-44
0
-3
1
-13
-1
-15
-42
69
-2
-5
-22
-55
7
41
56
0
31
-4
0
35
-4
-5
0
-9
44
-22
-52
0
-41
0
1
0
0
9
-19
65
25
0
-7
-9
0
4
-32
0
-62
-47
5
0
29
-24
1
-5
40
55
0
89
-36
0
92
-11
0
1
6
-128
0
11
23
0
0
4
6
-4
67
-10
-5
11
0
78
0
3
72
-31
7
0
12
0
-6
5
0
-13
0
1
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
0
0
0
0
0
0
0
0
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
0
0
0
0
-25
2
8
-2
-9
31
-4
-81
-15
0
0
-59
0
8
96
-74
0
0
46
57
-4
11
52
-4
0
127
0
8
7
23
0
-1
24
4
5
13
-12
0
0
-2
0
5
0
-25
0
9
8
-10
19
0
-57
0
0
0
0
0
2
-31
-7
-19
2
0
0
4
-80
-15
17
-25
0
0
-10
-35
0
-16
77
0
0
22
-140
-8
52
34
0
6
-42
-88
0
-13
4
5
0
-1
-19
0
9
-6
-2
0
0
119
0
-1
-9
-8
4
0
-108
0
-13
-2
0
-17
0
-39
-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
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-42
0
0
0
0
0
0
-43
0
0
22
0
0
0
-5
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
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
46
0
-10
-6
0
0
0
1
0
0
0
0
0
0
-7
0
16
-5
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
22
-21
0
0
39
0
4
-1
7
0
4
-9
0
-3
62
15
0
-11
46
0
0
5
6
0
0
-43
0
-9
-7
-74
0
0
-4
3
-4
0
-29
0
0
9
0
-67
0
14
0
4
0
0
2
0
-45
3
0
0
0
0
0
73
15
0
-1
0
0
0
70
0
-1
25
0
0
9
-23
0
-1
9
0
0
-4
-11
0
18
-2
0
0
0
-16
0
-5
-4
0
0
0
86
0
67
10
0
0
1
54
0
0
-10
0
0
0
-83
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
45
0
0
-5
0
0
-14
57
0
0
4
0
0
43
49
0
-3
37
0
0
0
-116
0
0
-9
0
0
0
9
0
0
1
0
0
0
104
0
0
0
0
0
0
9
0
0
0
7
0
0
5
0
0
0
0
0
0
1
1
0
0
0
0
0
-11
-1
-4
-3
0
0
0
-14
0
0
0
0
0
0
40
0
-4
-3
0
0
0
11
0
0
-2
0
0
0
9
0
0
2
0
0
0
54
0
0
0
0
0
0
-13
0
-6
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
8
69
0
0
-4
0
0
0
-24
0
0
34
0
0
0
-23
0
0
7
0
0
0
37
0
0
-5
0
0
0
-5
0
0
8
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
-61
0
-7
19
0
0
0
-31
0
-4
0
0
0
0
-27
0
0
0
0
0
0
55
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
3
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
36
47
-53
54
108
-20
39
33
18
-19
33
7
68
35
10
23
96
14
-69
40
30
0
-15
44
40
-8
62
-36
13
-105
-16
-35
27
26
17
13
12
-20
-74
70
11
-13
9
-72
144
-13
40
21
-1
1
32
16
-39
8
-17
-3
0
12
15
-39
-57
-1
-67
-1
35
-14
12
67
14
19
15
70
93
-4
-25
21
54
-7
29
25
60
-16
-95
47
-12
1
-1
3
48
-11
86
-8
20
-14
48
6
13
-19
18
-3
-17
30
21
-15
-8
18
48
16
-22
18
68
2
27
-27
-24
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
15
81
-11
0
71
5
-1
26
58
6
0
-23
-33
19
-10
48
25
0
-79
-12
0
0
-14
0
7
-13
9
9
11
115
57
-1
2
47
0
0
1
0
149
0
-2
-1
-1
-3
-2
42
0
-50
0
0
0
0
4
0
-2
-8
32
12
0
0
26
-18
2
-33
27
0
0
24
96
0
-23
-3
-12
0
5
24
2
5
-37
-12
11
17
18
-9
-14
-8
26
0
-4
-36
0
-46
15
-2
-7
-3
-6
0
-6
-2
16
-12
0
65
0
41
0
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
119
0
0
0
104
0
0
-1
0
0
0
57
0
-7
4
0
0
0
-18
0
0
49
0
0
0
-31
0
0
-1
0
0
0
-70
0
0
0
0
9
0
20
0
0
0
0
-28
0
-84
0
0
0
0
0
0
65
0
0
1
0
0
0
-5
0
3
-1
0
0
0
-18
0
0
0
0
0
0
-9
0
2
0
0
0
0
-4
0
0
0
0
0
0
-32
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
2
0
-3
19
0
7
5
0
0
22
45
0
0
26
-2
0
0
-39
0
0
-10
0
0
0
98
0
0
-6
0
0
0
-48
0
0
0
0
-20
0
-1
2
0
6
0
0
0
87
0
0
0
0
0
0
-42
24
0
0
0
0
0
70
0
3
0
0
0
0
-7
0
0
0
-7
0
0
58
0
-2
0
0
0
0
47
0
0
0
-1
0
0
65
0
0
0
0
0
0
16
0
-8
0
0
0
0
-41
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
-21
0
0
1
0
0
0
93
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-1
-19
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
6
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
8
0
0
0
38
0
0
0
0
0
0
-4
0
13
0
0
0
0
0
0
0
0
0
0
0
1
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
6
-127
-12
25
101
45
0
0
6
-29
0
-32
-4
6
6
35
11
-10
0
21
0
24
67
-22
15
2
-49
0
0
56
1
3
0
39
6
6
-3
43
-27
0
-23
3
-2
0
0
4
0
-52
5
7
0
0
0
0
57
0
-23
53
-3
0
11
4
0
9
138
-12
9
17
24
-3
-20
84
-3
0
-3
3
0
-10
88
-24
0
-10
-40
0
-72
24
4
9
-10
5
0
-1
2
24
0
0
60
0
-58
0
-1
4
0
7
-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
-23
54
-33
-7
-4
-23
134
52
6
85
-27
43
30
49
61
15
90
-93
39
14
-29
-19
-5
119
-10
-12
31
-23
-13
-6
-5
165
-6
35
-20
24
-1
-19
3
-38
-23
9
-7
5
59
-44
-47
-12
-2
-69
41
48
-71
-8
-55
-15
-111
0
-15
-29
-2
-12
-28
61
2
-49
-12
-84
-18
14
56
-7
-20
41
38
-35
2
28
-20
-20
-36
-14
-50
23
-8
-5
-1
-21
33
-49
-14
-35
-18
65
28
-50
-23
16
-39
0
-39
-63
-11
-60
14
-60
1
-29
-22
-63
34
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
11
66
0
0
-23
0
0
9
-9
0
2
-3
22
0
-5
-56
0
-8
49
3
0
0
-40
0
0
-1
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-2
0
0
0
0
-28
11
-8
0
0
0
-2
-57
0
-3
0
0
0
0
144
0
0
25
0
0
0
107
0
-20
0
0
0
0
30
0
0
0
-1
0
0
-103
0
-1
0
0
0
0
12
0
0
0
-7
0
0
-9
0
10
0
0
0
0
-54
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-1
0
84
0
6
12
43
0
0
84
-7
32
-25
64
0
16
26
0
15
-17
-38
0
0
16
59
-16
3
33
0
-1
0
0
-17
0
15
4
0
0
-23
-8
0
-20
0
0
0
0
0
0
25
13
0
-16
0
0
8
90
0
7
-4
0
0
2
-15
0
0
25
-9
1
33
32
-3
5
-2
0
-3
-13
-54
0
0
-3
-2
0
0
-6
18
0
-17
0
0
0
28
0
2
0
-3
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
30
-126
21
13
7
59
-1
31
31
-12
25
11
-63
52
-37
-20
19
38
-37
-34
25
108
36
-50
25
-30
31
4
0
-4
15
-7
78
-7
59
1
4
-19
-77
-51
81
-8
-53
2
0
4
12
1
-59
24
-4
-16
0
0
11
35
48
-38
175
0
5
96
-97
8
43
85
-1
20
51
5
5
-37
87
4
-36
-48
-30
19
3
34
-48
117
26
-5
0
35
17
28
13
43
20
0
-22
-44
-11
49
-5
0
-13
-14
19
0
54
21
21
-10
-4
-4
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
0
0
0
0
0
0
0
0
0
0
0
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
66
4
0
46
0
0
117
-54
0
0
-66
-3
0
-45
12
0
7
21
0
-3
-8
-61
0
0
68
0
0
-14
37
0
0
-47
0
1
0
37
0
0
11
-8
56
0
59
0
0
0
0
0
0
-67
18
3
0
0
0
22
35
0
40
-28
0
0
29
12
0
-1
-66
0
0
12
28
0
8
-31
0
0
7
15
0
2
-34
2
0
0
31
0
80
5
0
0
0
-22
0
0
0
0
0
0
34
0
13
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
86
0
0
4
0
0
-1
87
0
5
-1
-3
0
0
54
0
0
0
0
0
0
-1
0
0
0
1
0
0
-19
0
0
0
0
0
0
20
0
0
0
0
0
0
84
0
0
0
0
0
0
13
0
0
0
0
0
0
-58
0
16
0
0
0
0
89
0
0
3
0
0
0
14
0
-1
0
0
0
-5
-5
0
0
0
0
0
0
29
0
-1
0
0
0
0
84
0
0
0
0
0
0
-13
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
245
72
-18
-48
2
130
21
-128
-3
-2
-2
9
17
-19
0
-66
-8
3
128
0
30
-40
-27
0
-2
-67
0
17
0
-8
0
-7
-12
-19
-84
0
8
-48
-12
0
0
-5
-3
14
-118
0
-31
12
0
-2
-20
12
-34
4
-2
0
6
-25
0
165
74
-5
0
-1
14
60
88
-39
20
-1
-1
1
1
27
-64
34
5
-26
-21
0
26
-62
0
0
0
27
-7
-13
28
53
0
0
51
6
23
-20
0
-11
0
25
52
-9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-74
-32
-68
42
89
-19
-29
97
-76
7
46
-44
-17
-6
26
-38
36
-10
-10
-8
8
-83
-54
-6
-50
10
67
-11
46
-29
18
9
11
-32
10
56
-37
47
6
-37
-51
45
-36
107
21
-77
3
25
31
-7
5
5
-66
6
-68
0
-39
-67
-53
-11
-13
-80
-11
8
-15
-75
0
-27
-57
5
98
41
-44
-45
6
-36
33
-66
17
10
50
145
-23
17
53
-30
9
44
5
-21
-1
-47
15
-67
18
21
-38
14
2
93
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-109
0
-6
54
-5
0
0
47
0
0
1
0
0
0
84
0
-5
-2
0
0
0
83
0
0
0
0
0
0
-25
0
0
-7
0
0
0
-113
0
0
0
0
0
0
32
-3
1
0
0
0
0
152
0
0
-13
0
0
0
-107
0
0
-3
-2
0
0
55
0
-9
0
0
0
0
-84
0
2
-2
0
0
0
-74
0
-7
0
0
0
0
-3
0
-1
0
0
0
0
-43
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
28
0
-13
-170
1
1
32
-42
1
-10
29
0
0
0
31
0
0
4
-5
0
0
-56
0
9
-4
0
0
0
16
-3
0
0
0
12
0
47
0
0
0
0
0
0
-12
15
0
0
0
0
-4
-25
0
-1
-1
0
0
0
8
-3
3
23
-2
0
0
21
0
-4
38
2
0
-10
44
0
-2
0
0
0
0
-101
0
5
34
0
0
0
162
0
0
2
0
0
0
63
0
-10
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
9
-2
-39
-40
0
-50
5
77
14
11
3
21
4
45
28
23
2
-34
-57
-75
-10
-81
-14
0
7
48
12
-81
-10
-4
10
-7
-15
70
18
-2
-6
-22
17
0
11
-12
-2
-9
96
5
-5
8
0
4
-16
11
-41
81
0
-27
-24
-18
-30
68
23
-26
-2
-39
-6
10
45
133
0
19
61
-32
0
20
100
32
18
61
26
3
8
87
50
0
-33
-30
17
-37
4
0
-20
-1
36
0
28
63
0
-78
0
-51
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
-1
15
0
-10
11
0
0
0
52
0
0
0
0
0
0
-48
0
-10
0
0
0
0
-13
0
0
7
0
8
0
1
0
0
0
0
0
0
-4
-7
0
0
0
0
0
31
0
0
7
0
0
0
44
0
0
-30
0
0
2
-54
0
3
0
0
0
0
-1
0
1
0
0
0
0
2
0
18
0
0
0
0
-5
0
0
0
0
0
0
57
0
-10
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
61
7
0
0
35
0
0
20
0
0
7
-42
0
0
18
0
0
4
-10
0
0
0
0
0
0
18
0
0
0
-1
0
0
24
0
0
0
0
0
0
-29
0
0
0
0
0
0
9
0
0
0
0
0
19
8
0
0
-1
0
0
0
96
0
6
0
0
0
3
51
0
0
2
-6
0
0
-24
0
3
10
0
0
-6
20
0
0
0
0
0
0
31
0
-11
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
86
-4
5
-2
-53
-41
1
-53
-10
0
10
36
80
-19
8
28
0
-5
33
9
-67
0
-59
0
54
-15
-5
9
0
10
46
28
-4
0
-27
0
1
101
0
22
-3
7
-10
9
36
64
25
0
0
4
21
18
86
10
26
-22
6
-27
1
101
-67
10
0
1
88
28
26
76
-34
-3
-3
42
-4
42
35
33
-1
-2
4
2
13
-73
5
-5
0
13
0
-46
-56
0
34
12
42
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
21
-60
7
24
-58
27
-5
-5
-76
58
-4
-106
63
121
7
1
-32
48
42
17
24
14
-71
-87
17
15
10
1
3
2
36
-20
1
-75
-11
-3
-26
85
-10
-38
-2
-17
21
-70
-14
-43
1
16
107
22
33
1
48
-155
137
-43
0
19
1
-44
-3
-56
-4
-4
-21
14
45
-10
-22
-7
1
1
19
-55
-25
-64
42
26
-13
-6
19
-7
38
35
19
-65
27
17
22
-31
-1
-6
-55
-92
23
-123
-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
-5
-88
0
0
-1
0
0
-3
78
0
0
-4
0
0
0
-2
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
0
2
0
0
0
9
0
-5
-7
0
0
0
59
0
0
-2
0
0
0
38
0
0
-2
0
0
0
0
0
0
0
0
0
0
-16
0
-3
0
0
0
0
76
0
0
0
0
0
0
-12
0
-8
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
35
-46
0
-2
-39
0
0
14
-26
0
0
44
9
-7
0
-42
0
3
-17
0
-3
0
-15
0
-5
-3
-2
-8
0
6
0
0
0
0
2
0
7
-6
0
0
0
0
0
46
9
64
-1
0
-2
0
-34
-6
0
5
10
-5
-8
28
-2
17
7
5
22
-1
-53
14
-9
5
-8
-9
-2
57
0
17
66
4
0
0
7
0
-2
-3
1
0
0
94
0
-11
0
7
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
102
24
3
-42
8
36
40
10
-7
-17
18
24
-29
70
97
14
3
2
31
-2
22
29
24
20
43
30
20
-13
1
-1
58
-2
3
1
20
4
-20
-13
-1
7
13
6
55
94
-70
-35
70
2
-5
26
-17
-27
3
98
106
-12
78
28
-1
120
-9
-8
2
9
63
18
89
-61
30
14
-58
27
19
27
-34
0
-23
35
-29
-14
43
75
-65
63
23
19
0
19
-9
-8
12
0
37
72
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-90
0
-10
-52
-24
32
-1
4
0
3
68
25
9
37
-56
0
0
42
0
-96
0
25
0
-11
0
0
31
0
43
-5
0
0
0
0
0
-41
31
0
-9
0
0
-14
-27
-1
24
-21
0
0
4
-17
0
6
-84
10
0
20
14
0
30
-172
0
0
35
15
0
-6
25
-1
0
7
1
0
130
-2
0
0
0
75
0
10
19
0
0
0
-21
0
19
0
0
13
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
-70
0
0
-3
0
0
-6
61
0
0
-4
-5
0
12
-8
0
22
0
0
0
0
-2
0
0
0
0
0
0
63
0
0
0
0
0
0
-39
-1
0
0
0
0
0
-41
0
32
-25
0
0
0
47
0
0
0
-2
0
-12
69
0
-32
7
0
0
0
-51
0
0
2
20
0
0
-43
0
1
-18
0
0
0
-27
0
0
0
29
0
0
26
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
-4
1
1
-20
25
29
-2
-3
-39
0
0
-15
0
68
0
40
0
-8
-16
17
-19
0
-2
2
0
0
0
-20
0
-3
0
-2
-2
0
0
27
20
0
-24
-58
0
0
5
-2
0
-2
48
5
0
29
-39
0
20
51
-1
0
0
17
1
-36
13
-42
27
0
5
0
-20
-29
0
0
0
-70
0
0
62
26
-2
0
20
0
-71
-3
7
-3
0
-17
-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
-65
-35
-31
-3
-29
-52
-71
-37
12
-61
26
30
5
-33
67
3
18
-61
51
15
-56
-9
16
8
-5
-16
-15
16
24
-17
20
39
88
-42
-73
-6
21
28
7
39
-71
119
-41
14
6
29
-22
43
11
-3
-31
2
-12
52
57
184
-79
0
38
13
56
21
-13
58
1
38
3
50
-101
48
73
-6
-39
-83
34
8
47
-22
8
-33
9
62
11
54
20
-4
-15
62
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
32
0
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
56
0
-7
-7
0
0
0
-44
0
0
-11
0
0
0
33
0
-3
23
0
0
0
22
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
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
0
12
0
0
28
3
0
0
16
0
0
0
0
-33
0
39
0
0
2
0
-3
0
56
0
0
0
0
0
0
-21
-9
0
0
0
0
9
-56
0
21
4
0
0
-3
-14
0
0
0
-3
0
10
59
0
-9
-1
0
0
-13
44
0
0
0
0
0
0
-13
0
10
3
-10
0
0
17
0
3
-10
0
2
0
37
0
-21
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-72
56
7
-20
-43
-19
3
-1
4
-12
-52
-1
22
-3
12
-13
56
30
7
5
-43
0
0
10
12
-35
2
-8
-4
34
-1
0
23
-38
55
-66
48
0
0
-61
-8
48
-26
24
15
0
82
31
0
65
22
13
0
-21
-7
2
65
26
143
0
4
24
-6
-82
-29
0
-16
-24
30
-5
-54
15
-33
-1
5
1
0
-58
0
2
-1
0
-19
-53
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-40
18
0
0
33
0
0
3
0
0
0
4
0
5
-5
0
-15
0
14
0
0
0
0
0
0
4
0
0
-4
0
0
0
31
4
7
-1
0
0
0
119
0
0
0
0
0
-2
53
-6
-3
0
0
0
-9
45
0
0
-1
10
0
0
-5
0
-28
-3
0
0
0
87
0
-15
0
0
0
0
-23
0
-15
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
-7
-82
0
1
13
4
0
-10
-5
0
0
0
0
0
0
42
0
0
1
-8
0
0
42
0
0
0
0
0
0
-19
0
0
0
0
0
0
54
0
2
-10
0
0
-13
22
0
-18
-3
9
0
0
-61
0
20
-29
0
0
0
19
0
-2
45
0
0
-1
51
0
-33
-2
0
0
0
-51
0
0
0
10
0
0
16
0
-6
7
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-26
10
0
0
38
0
0
-3
3
68
0
-45
-15
0
0
0
0
0
70
1
0
0
0
0
0
0
-1
-15
-10
6
0
0
95
0
0
26
0
0
0
58
0
33
11
0
0
10
13
0
-10
-39
-13
0
0
89
0
0
5
0
0
0
-88
0
0
0
-5
0
0
104
0
-11
-10
7
-15
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
-56
12
6
23
40
-20
13
-12
-7
82
-31
80
67
-41
11
4
-58
-11
-5
-8
-71
-26
-39
27
-55
43
48
-3
67
8
-44
50
46
-14
20
45
12
40
13
-12
31
-8
66
5
31
102
45
-45
41
-2
6
63
145
35
-11
-100
116
0
60
6
127
79
0
-50
-14
-13
7
-77
134
6
-31
9
-9
-127
57
25
-22
-4
51
-25
85
48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-69
0
0
0
0
-9
0
12
0
0
0
0
0
0
-12
-3
0
0
0
0
0
-37
0
0
0
0
0
0
9
0
-8
0
0
0
0
4
0
0
0
0
0
0
23
0
0
-6
0
0
0
22
0
-3
0
0
0
0
-4
0
0
0
0
0
0
14
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
-3
0
0
-2
0
0
0
48
0
0
8
1
9
0
88
5
0
0
-1
0
0
-6
-1
0
3
0
0
0
-1
0
-12
-3
8
0
-3
67
0
0
-12
-9
0
4
-25
0
5
13
0
-1
0
-14
0
0
-5
-13
6
0
-24
0
-3
-4
15
0
2
97
0
0
6
0
0
0
8
0
33
0
-1
0
0
78
-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
47
1
0
5
3
36
52
4
-11
0
-6
0
23
84
0
12
5
0
0
3
4
0
-18
-36
-7
3
-3
0
-14
-79
-3
88
20
0
0
-38
111
-1
35
1
-37
0
115
17
-7
-47
159
-1
2
-29
16
13
31
-7
13
0
-9
-13
-6
9
34
-4
0
3
-11
0
-21
106
7
0
0
53
0
-51
3
3
20
0
36
-69
-34
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
61
0
0
-19
0
3
-11
45
5
-1
32
0
128
0
1
7
8
0
0
-5
0
105
-7
0
-5
0
0
7
60
-2
40
56
0
0
-15
-4
0
2
-5
0
-3
101
-15
0
22
43
0
0
49
38
0
-1
25
3
0
-17
66
0
136
95
0
0
4
81
0
3
40
0
-24
0
-23
0
25
1
0
63
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
-41
59
0
0
-16
0
0
0
13
0
0
-8
8
0
0
4
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
-7
4
0
0
-2
92
0
0
-18
0
0
25
-8
0
-37
12
0
0
12
-12
0
2
-15
0
0
8
51
0
-37
-5
0
0
0
6
0
5
0
0
0
0
-6
0
-31
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-43
0
49
12
0
0
0
0
0
-21
0
0
0
0
0
2
37
0
28
-6
0
0
4
23
0
0
37
-14
0
0
-74
0
0
-25
0
0
0
12
0
0
-17
10
0
0
-115
0
84
-1
0
0
0
48
0
-14
-7
12
0
0
54
0
-59
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-110
-15
13
17
-2
10
36
-15
2
-15
-59
-34
20
77
-99
-22
-93
68
6
-17
-59
36
-2
-60
9
-10
-8
84
-19
53
-13
17
31
38
88
-17
-37
83
52
31
-10
50
58
-10
29
-17
122
-13
-74
25
-8
20
-34
75
0
-20
-38
88
-33
3
6
-6
26
3
83
-1
14
-1
0
-7
-90
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
33
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
24
0
0
2
0
0
0
-97
0
0
21
-2
0
0
30
0
0
-8
-3
0
0
-96
0
-7
0
0
0
0
25
0
-6
0
0
0
0
26
0
-17
48
0
0
0
-51
0
0
0
0
4
0
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-34
27
0
4
20
-2
0
8
0
0
-46
-4
0
16
3
0
-10
-48
0
27
-21
0
0
-3
-67
0
3
25
25
0
21
20
0
-16
-2
0
0
23
126
-3
12
-29
2
-1
11
24
0
98
11
0
0
0
89
0
1
0
-13
0
0
-54
-3
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
48
-2
0
0
0
0
0
-30
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
3
0
0
0
-19
13
0
1
9
0
0
0
-8
0
0
0
0
0
7
174
0
0
0
0
0
0
-45
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-48
0
0
0
0
0
0
63
0
0
4
0
0
-8
60
0
31
22
0
0
-10
-28
0
0
-20
0
0
0
-13
0
16
-8
0
0
0
-28
0
0
24
12
0
2
29
0
14
-2
0
0
0
33
0
0
-22
34
0
0
-38
0
11
0
0
0
0
-79
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
0
0
0
0
0
0
-107
0
0
0
0
0
0
9
0
0
-3
0
0
0
-97
0
0
0
0
0
0
20
0
1
0
0
0
0
-49
0
0
0
0
0
0
-50
0
-16
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-14
32
-35
-6
-7
1
13
9
-10
75
-3
18
44
-18
-12
3
63
3
0
47
-4
48
14
60
144
-8
99
53
-13
38
-11
-49
-40
-30
4
-12
-48
-50
-25
39
-53
-18
-34
-2
-111
-42
95
-15
-53
24
99
32
7
-33
-9
0
10
8
20
-6
-2
0
3
-14
2
-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
24
0
0
0
0
0
0
16
4
0
1
0
0
0
-5
0
0
-3
0
0
0
-14
0
0
0
0
0
0
-4
0
5
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
1
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
23
-20
0
0
0
0
0
-22
0
18
18
0
0
7
128
0
0
1
0
0
0
11
0
21
0
0
0
0
81
0
0
4
4
0
0
34
0
0
0
0
0
0
1
0
0
0
0
3
0
24
0
-8
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
11
0
0
-9
0
0
-5
0
0
0
0
0
0
-9
4
0
-13
0
0
67
19
0
2
-1
0
0
-2
120
0
5
19
-5
0
0
-9
0
-1
0
0
0
0
-38
-2
16
0
0
-1
-11
126
0
2
0
0
0
0
-33
0
13
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
30
0
0
0
0
0
0
113
5
0
0
0
0
-10
-19
0
9
59
0
0
7
-81
0
-1
-4
0
0
-20
20
0
-27
1
0
1
-14
32
-8
4
4
0
0
4
-9
5
96
11
0
-18
0
135
0
5
0
-2
0
0
-21
0
24
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
86
37
0
0
-11
0
0
60
66
0
9
0
0
34
13
0
-23
-21
-6
0
14
11
0
-3
6
9
0
-93
31
0
11
21
0
0
113
-62
0
-4
8
25
0
7
8
0
-7
-32
0
0
7
-65
0
0
110
-2
0
0
-12
0
11
26
0
0
0
67
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-5
0
0
0
46
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-8
-20
83
35
-45
17
-32
-13
174
32
66
-122
39
56
4
-34
25
63
21
-54
-6
14
-4
-66
53
42
-37
-25
17
-11
-28
44
58
88
78
-21
7
58
-66
-89
25
6
8
-3
108
3
-14
-42
53
0
-8
18
13
10
-19
9
0
-4
-63
-36
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
-41
0
0
0
0
0
0
23
0
-52
11
0
0
-2
61
0
0
-3
0
0
0
15
0
7
4
0
0
2
-68
0
0
0
0
0
0
82
0
-2
0
0
0
4
-67
0
0
10
0
0
0
8
0
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
-12
0
0
9
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
36
0
1
0
0
0
0
7
0
0
0
0
0
0
-3
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
14
0
0
0
0
0
0
4
0
0
0
0
0
0
-49
0
0
0
0
0
0
64
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
0
0
15
0
0
0
-21
0
0
18
0
0
0
-6
0
0
19
0
0
0
29
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
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
-24
6
0
0
0
0
0
-90
0
-23
0
0
0
0
94
0
0
-14
0
0
0
-45
0
0
0
0
0
0
35
0
0
5
0
0
0
-78
0
54
1
0
0
0
32
0
0
7
-2
0
0
11
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
57
0
-6
0
0
0
0
-15
0
0
0
-1
0
0
15
0
0
14
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
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
41
11
19
61
0
0
-6
47
54
-2
-12
78
39
23
-23
-24
-4
23
36
74
67
104
-13
5
-29
-78
101
-10
-53
-6
-39
6
52
9
-40
21
45
3
3
62
29
-2
-28
-6
1
66
2
-2
12
0
8
65
6
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-27
2
18
14
0
0
-18
15
-17
35
-20
2
0
35
-11
12
-121
-7
0
-3
0
-46
9
0
-22
6
0
8
-65
0
-27
0
0
0
0
27
0
0
11
11
-12
0
16
0
1
0
0
0
0
107
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-1
0
0
16
6
0
0
-21
1
0
0
-33
0
24
3
0
0
0
-17
0
0
0
0
0
0
7
0
0
-3
0
0
0
-4
0
0
0
0
0
0
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
18
0
0
0
7
18
0
-13
0
-3
0
0
-65
0
-1
-8
0
0
0
-34
0
7
-25
0
1
0
65
-3
-1
0
-2
0
0
55
0
-3
0
0
0
0
-89
0
72
0
0
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
0
0
0
0
56
0
-8
0
0
0
0
-2
0
0
0
0
0
0
48
0
1
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
8
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
-30
15
0
-4
14
0
-75
-3
0
0
-2
-21
0
-2
-59
0
7
8
100
0
63
-6
0
0
0
12
0
5
1
0
0
0
22
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
37
65
75
-3
-51
-64
57
-6
22
59
105
-8
76
-96
30
21
-49
-17
2
-26
109
-24
2
-56
60
44
-17
-9
-58
0
-20
-205
36
39
12
1
3
-2
-15
-18
12
52
-21
17
-36
5
-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
120
0
6
-9
0
0
0
-35
0
10
9
0
0
0
-63
0
0
2
0
0
0
3
0
3
0
0
0
0
46
0
0
0
0
0
0
-14
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-7
4
-24
15
1
165
-22
0
-3
46
-6
0
-2
6
9
-19
48
-14
5
61
-6
0
21
60
-14
-1
-5
-49
0
3
60
-59
4
0
-29
0
94
-6
7
-15
0
-59
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
6
12
-5
8
-36
4
-29
-21
30
0
-23
-6
0
5
-4
-42
3
-23
18
40
-23
12
-72
0
-11
67
4
-3
6
-47
0
3
16
-1
6
-1
21
0
-22
2
0
1
0
117
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
22
0
0
-6
0
0
0
52
0
0
6
0
0
0
-10
0
0
0
0
0
0
37
0
0
0
0
0
0
-51
0
9
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-8
0
-10
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
71
62
0
0
0
-51
1
-5
-112
-3
0
1
-46
0
43
4
0
0
0
-57
0
0
-8
-6
0
0
95
0
-7
0
0
15
0
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
33
-15
61
79
0
2
125
39
11
23
-57
31
-34
36
148
-37
7
-32
33
53
-25
24
-10
6
20
-16
71
-66
-3
-27
1
37
32
-8
84
47
-10
111
-14
20
94
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
6
0
-15
-14
0
0
0
-1
0
5
0
0
0
0
8
0
0
0
0
0
0
31
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-4
0
0
0
26
0
0
-2
-31
0
-1
69
0
9
0
0
0
0
3
0
0
0
3
0
0
19
0
1
1
0
-12
0
118
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-53
-6
12
-7
0
0
12
73
-13
-12
33
37
0
10
47
0
0
-10
26
0
4
12
-12
-19
0
15
0
35
23
0
0
0
4
37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-77
0
6
34
0
0
2
38
0
0
0
0
0
0
55
0
21
-11
0
0
-7
0
0
-2
1
0
0
0
-54
0
1
0
0
0
0
114
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
8
0
0
0
0
-14
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
25
11
-5
0
-51
0
58
6
0
0
0
-40
0
0
-3
16
0
0
24
0
44
0
0
3
0
-46
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
2
0
-94
15
38
-10
43
-147
14
-7
8
19
34
89
-71
7
-3
40
32
24
26
30
15
45
28
-53
-40
64
-2
3
31
13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
72
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-80
0
-4
74
-22
0
-17
-46
0
54
40
-7
-1
0
-10
0
0
29
33
0
0
-40
0
-40
0
25
28
10
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-18
-68
0
0
39
0
-36
-9
2
-1
5
-13
0
15
-2
5
0
13
39
-1
25
1
0
15
0
83
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
7
0
0
0
-39
0
10
0
0
0
0
104
0
0
0
0
0
0
-32
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
8
0
0
-53
0
-20
0
0
0
0
24
0
-3
0
0
0
0
-60
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
24
0
3
0
42
0
0
0
13
-1
0
8
0
-30
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-5
56
120
16
-14
-11
-14
48
-36
25
2
89
-8
38
-3
-87
-25
-1
-18
12
-1
-51
-38
6
-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
13
0
0
-9
0
0
0
7
0
6
0
0
0
0
47
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
43
60
0
28
15
0
0
-6
-42
0
0
0
0
0
0
-42
0
-2
0
0
0
0
79
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
22
1
-8
-2
-5
-11
0
-1
0
-34
0
0
-10
0
29
17
0
54
0
119
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-129
0
-15
-34
0
0
0
21
0
7
-17
0
0
0
-59
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-6
15
0
0
0
28
0
0
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
-142
0
22
2
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
92
-3
57
-22
-28
14
-12
-27
41
0
11
-3
-1
79
-35
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-41
1
16
5
101
-13
25
0
-101
18
47
-1
0
23
-3
92
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
15
83
-7
0
-65
0
38
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
-11
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
61
3
0
-46
11
8
-6
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-58
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
-1
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
92
0
-8
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-5
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
88
0
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
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
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
12
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
-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
1
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
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
0
0
0
7
0
18
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
45
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
-1
0
0
40
0
0
0
0
0
0
2
0
0
0
0
-1
0
31
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
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
24
39
0
0
-48
0
0
0
30
0
0
-17
0
0
-6
-22
0
0
0
0
0
0
1
0
-58
0
0
0
0
-21
0
0
0
0
-7
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
0
0
-21
0
0
23
0
0
0
-30
0
0
13
0
0
0
15
0
0
1
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
-5
0
0
-136
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-19
0
0
0
52
0
0
7
0
0
0
80
0
0
0
0
0
0
21
0
0
3
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
-67
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
-19
-61
-27
0
1
-12
-14
-41
-47
64
22
12
-24
54
7
-5
14
34
2
-11
4
7
-42
-24
114
-56
-15
7
4
-38
20
-12
-46
-3
28
10
14
-4
-102
23
40
-14
-3
3
36
-5
19
-7
4
1
53
-11
-25
19
6
40
56
-48
62
-15
17
-5
16
-7
19
4
31
-16
-1
48
-2
-25
-5
82
18
7
-2
7
12
-22
-27
15
42
-21
12
-5
50
-23
-21
-25
-8
16
-21
42
26
-12
67
7
-24
-9
0
-10
28
-31
17
-15
-12
30
-39
-2
-1
19
-40
12
-54
-46
-23
46
-9
-25
-14
18
1
39
-21
-2
20
-10
-135
-9
47
-48
-43
0
0
0
0
0
0
0
18
15
-39
-53
77
76
-57
-22
-13
-19
46
12
18
-8
-26
21
-6
-29
1
57
23
-26
-5
-23
-2
-6
16
-20
13
-12
47
-51
9
-24
-68
-26
6
-15
16
-21
15
78
-35
11
-9
-39
32
89
40
24
11
-8
47
-20
-16
39
-46
1
3
47
13
33
-12
20
27
33
27
4
-21
6
16
10
20
-9
33
-58
-26
5
2
-32
76
12
12
-22
3
18
-27
40
40
42
12
39
-14
49
49
-11
-29
20
22
7
-11
-17
49
-24
-24
-46
26
-6
-36
-5
-35
-24
-37
27
28
2
-81
-15
55
29
-2
-16
-30
32
-52
69
-4
6
-34
8
-6
29
39
42
-13
-2
-35
26
-39
-33
7
18
-7
43
-21
58
64
26
-38
66
35
50
48
31
-15
16
31
6
2
23
-13
-41
-38
-75
-60
-18
-34
-62
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
18
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-4
0
0
0
0
0
4
8
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
6
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
-2
0
0
0
0
0
0
-2
0
0
1
0
0
0
10
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
6
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
1
0
0
-10
0
0
0
0
0
34
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-18
-14
0
0
3
0
0
0
-1
0
0
0
0
0
0
38
0
0
-12
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
3
0
0
0
57
0
0
0
0
0
0
11
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
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
-10
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
-8
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
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
13
0
0
0
0
0
0
5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
29
0
0
0
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
-2
0
0
0
-1
0
0
9
0
0
0
9
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
32
0
0
0
0
0
0
48
0
0
0
0
-1
0
0
0
-20
0
0
3
0
0
0
-14
0
0
-15
0
0
0
-6
0
0
107
0
0
0
9
0
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
-6
-18
0
0
0
0
0
-90
0
0
6
0
0
0
0
0
0
0
0
0
112
-33
0
0
-1
0
0
-15
-34
0
0
3
0
0
-23
-1
0
0
37
0
0
0
4
0
-65
0
-1
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
52
0
0
2
0
0
1
92
0
0
-10
0
0
-5
-9
0
0
5
0
0
0
-23
0
0
-19
0
0
0
64
0
0
-15
0
0
0
-7
0
0
0
0
0
0
-39
0
0
0
0
0
0
23
-3
0
0
0
0
0
-24
0
11
0
0
0
0
15
0
0
7
0
0
0
24
0
-5
0
0
0
0
85
0
3
0
0
0
0
30
0
0
0
0
0
0
72
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
0
0
0
0
0
0
-2
0
3
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
5
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
-39
0
0
0
0
0
-5
-2
0
0
0
0
0
-1
0
0
7
0
0
6
0
0
0
42
0
0
4
3
0
0
39
-2
0
-61
4
0
0
10
0
0
0
5
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
21
0
0
0
-7
0
14
2
0
0
0
0
0
64
0
0
-13
0
0
0
0
0
0
0
0
0
-38
44
0
0
7
0
0
-1
-4
0
0
2
0
0
0
-16
0
0
-5
0
0
0
69
0
3
-17
-1
0
0
33
0
0
0
0
0
0
-26
0
0
0
0
0
0
38
0
0
4
0
0
0
3
0
0
-28
0
0
0
-22
0
6
53
0
0
41
-14
0
0
10
0
0
0
73
0
0
-12
1
0
2
35
0
0
22
-1
0
0
36
0
0
0
0
0
0
-61
0
0
-9
0
0
0
53
0
0
0
0
0
0
-5
5
0
0
0
0
0
-4
0
26
1
0
0
0
60
0
0
-1
0
0
0
86
0
-3
-17
0
0
0
1
0
-2
9
-15
0
0
-20
0
3
5
2
0
0
31
0
0
0
0
0
0
47
0
-23
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
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
2
0
0
0
0
0
-38
0
0
0
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
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
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-7
-23
0
0
9
0
0
4
52
0
0
0
0
0
0
-9
0
0
0
0
0
0
25
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
1
0
0
0
13
0
0
0
0
0
0
-27
0
0
4
1
0
0
-8
0
0
3
0
0
0
4
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
5
0
0
0
0
-2
0
0
0
0
0
0
40
0
-13
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
-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
-13
0
0
0
0
0
0
8
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
17
0
0
-3
0
0
-21
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
73
0
0
5
0
0
0
0
0
0
46
0
0
0
5
0
0
3
0
0
0
0
0
2
1
0
0
0
0
0
1
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
8
0
1
0
0
0
25
53
0
0
0
0
0
0
0
0
0
0
0
0
-18
27
0
0
27
0
0
0
-30
0
0
14
0
0
14
-28
0
0
0
0
0
0
13
0
9
1
0
0
0
-9
0
0
0
0
-9
0
77
0
0
0
0
0
0
31
14
0
0
0
0
-32
22
0
32
0
-1
0
0
18
0
0
0
0
0
0
56
0
0
-12
0
0
0
33
0
0
-27
0
0
0
65
0
0
-9
1
0
0
-76
0
0
-8
0
0
0
-9
0
0
0
0
2
0
17
0
0
0
0
0
0
66
0
0
0
0
0
0
-15
0
-1
0
0
0
0
10
0
0
0
0
0
0
39
0
17
0
0
0
0
47
0
0
0
3
0
0
-22
0
0
0
0
0
0
50
0
0
0
0
0
0
-82
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
67
40
48
-75
14
-37
82
34
62
-41
13
163
28
63
-26
12
112
111
25
12
-23
-11
73
13
-33
-22
21
59
-62
74
-45
-30
-4
-17
49
-32
-17
99
-1
15
3
7
1
53
-1
4
5
13
-66
28
-15
-1
48
31
44
-69
29
65
-15
-46
-18
-62
11
-11
26
-40
-46
-17
-12
-3
-27
29
63
75
4
9
30
23
-3
93
-43
63
14
12
-13
1
51
13
-10
-143
-37
-64
-43
1
-3
-83
1
31
-67
23
3
-6
13
-9
-5
-17
3
-41
-3
-56
-56
-11
-5
-9
51
40
-55
-21
-5
9
32
70
-49
-15
20
-14
0
0
0
0
0
0
0
9
38
35
80
-11
87
5
-26
1
5
21
23
-24
-25
8
-21
4
-37
-39
-15
36
7
-17
18
4
-45
29
58
61
23
59
13
31
18
-27
15
29
-20
-5
-22
32
37
-25
-3
-9
42
-28
-44
-8
116
8
-12
63
-18
-31
-44
1
16
30
-151
-24
-41
34
74
-15
-35
-18
8
29
-76
2
27
5
14
-11
1
25
25
-22
0
-34
13
-2
-24
-42
11
-2
-47
5
42
-84
59
19
-39
-63
31
85
19
-9
14
-49
69
-17
-14
-46
-22
28
33
40
65
-79
-12
-85
-20
47
-132
-17
-39
32
-36
25
40
36
17
-22
67
-20
-55
13
-68
-17
-45
-14
-17
5
81
-40
-19
-29
73
72
1
-59
53
24
1
-8
-33
-1
73
30
1
4
69
-42
-25
128
39
-59
10
25
-2
-21
40
-90
70
82
-115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
7
0
0
0
0
0
5
0
0
0
0
0
38
0
0
0
0
0
-3
-1
0
0
0
0
0
-1
0
-12
0
0
0
28
0
0
0
-6
0
0
13
2
0
0
6
-5
0
-9
0
0
1
6
0
0
0
2
0
0
-1
-10
0
-14
0
0
0
-5
0
0
0
0
0
0
-3
0
45
0
0
-2
0
0
0
1
0
7
0
0
0
0
0
4
-19
0
0
-2
0
0
0
0
0
0
0
0
0
10
-13
0
0
8
0
0
0
29
0
0
2
0
0
0
7
0
0
-3
0
0
0
3
0
17
0
2
0
0
-46
0
0
0
0
0
0
85
0
0
0
0
0
0
13
5
0
0
0
0
7
14
0
0
0
0
0
-2
73
0
1
0
0
0
-1
5
0
-10
11
0
0
2
40
0
0
-21
0
0
0
-44
0
-7
0
18
0
-4
11
0
0
12
0
1
0
2
0
0
13
0
15
0
57
0
0
0
0
0
0
5
0
1
0
0
0
5
-17
0
-3
0
0
0
0
-34
0
6
0
0
0
0
20
0
-9
14
0
0
0
-4
0
-18
9
0
0
0
-9
0
3
1
0
0
0
-33
0
0
0
0
0
0
-30
0
-4
0
-2
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-4
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
-4
0
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-6
0
0
-4
0
0
0
6
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
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
8
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
9
0
-5
0
-5
0
0
-11
0
0
0
0
0
0
0
-9
0
0
0
2
-2
0
0
0
0
2
-8
0
1
10
0
0
0
9
0
1
10
0
0
0
0
26
0
0
0
0
-4
-5
51
0
-5
0
0
0
-10
0
0
0
0
0
41
0
0
-2
-9
-6
0
83
-1
0
0
-25
-13
0
-4
-18
0
-6
25
0
0
-8
-24
0
24
2
26
0
1
-18
0
0
17
0
0
-39
8
0
0
-1
46
-3
0
0
-31
0
0
0
0
0
-54
13
18
12
0
0
11
28
6
5
6
-7
0
0
0
0
0
0
0
0
-58
-37
0
60
101
-10
0
-5
-4
0
-2
5
59
0
30
52
4
0
7
-1
0
-19
8
0
-13
-51
74
0
-1
-47
0
-6
10
9
0
0
48
68
-29
0
3
0
0
39
36
10
0
20
0
6
69
9
-23
-6
-12
0
-5
-64
0
27
15
0
0
138
15
0
3
106
-4
0
42
17
0
-25
129
1
0
-47
27
0
-6
28
52
0
13
80
0
0
-25
0
0
18
-44
0
-15
0
15
0
0
64
0
0
0
0
0
0
-14
6
0
0
-1
0
-9
19
6
-95
-15
0
0
-80
-16
0
5
130
1
0
10
-83
0
4
23
0
0
-10
-22
0
45
-11
4
0
-1
36
-16
-93
9
1
0
5
18
0
0
-25
0
0
0
-34
0
-5
0
0
0
0
27
-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
-56
-2
4
8
-11
0
3
-4
66
42
11
-5
-11
7
10
8
0
2
0
0
-8
-9
41
-5
-1
-1
8
-9
0
-14
0
-46
-11
0
-10
0
0
6
0
-10
0
8
-3
16
145
-7
2
0
1
8
-46
16
1
66
-29
-8
57
6
-13
0
-4
15
-17
-52
48
20
68
59
81
37
62
-17
-26
0
47
0
-22
-50
37
0
7
-19
2
28
-125
-6
0
0
17
-20
1
0
-42
0
0
0
-39
-48
0
0
28
0
0
1
25
0
15
-23
19
-4
-2
0
25
8
-1
0
53
17
0
0
0
0
0
0
0
0
2
-29
0
11
62
9
5
118
12
19
1
-15
1
-4
-95
-5
0
16
-19
0
-10
0
4
0
23
-9
70
0
13
-40
0
-3
2
0
16
0
26
64
44
0
0
0
-1
6
-18
0
-9
0
0
-7
-23
-25
0
-55
7
0
-22
-17
0
12
48
-4
0
100
8
0
-33
20
4
-3
-26
25
-11
-1
81
-10
9
-8
-25
-28
5
-66
-41
-6
5
34
-22
62
0
0
6
17
-124
0
0
29
34
-33
0
-28
1
2
0
6
11
0
-7
-30
-7
17
0
0
-2
67
2
11
-41
11
0
-9
119
0
-4
169
15
0
32
-42
6
-79
30
38
-14
-6
-20
-7
-26
78
137
21
0
3
2
-97
-21
0
2
0
-88
12
-6
-4
-18
-2
0
35
0
-64
-2
2
0
0
55
35
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
1
0
0
-7
0
3
0
3
10
0
23
0
0
0
-8
15
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-40
0
0
-4
0
0
-37
0
0
0
0
0
16
37
0
0
0
0
0
0
0
0
0
17
3
66
0
0
16
-3
0
0
0
0
23
0
3
0
0
2
8
0
0
-17
0
0
12
18
0
0
5
5
8
10
1
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
-22
0
0
0
-19
0
34
1
12
0
0
0
0
7
0
0
11
0
0
0
0
0
0
0
0
0
49
61
0
-20
39
4
0
-4
-14
0
5
-8
0
0
4
49
0
0
13
0
0
0
7
0
86
1
-2
0
0
30
12
0
0
0
0
0
3
6
0
0
0
0
0
35
0
0
0
-1
0
0
-87
-1
0
12
-9
0
5
0
0
0
21
0
0
51
-35
-2
0
-16
-1
0
4
-13
0
-1
-2
0
3
0
-36
0
0
-3
-1
5
-10
23
0
0
-4
4
-9
1
-24
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
4
-2
0
0
1
0
0
1
-51
0
0
0
92
0
4
-5
0
0
7
5
0
0
14
8
0
0
-24
0
-5
0
0
0
0
22
0
10
-3
2
0
0
-37
0
36
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
-13
0
0
0
22
0
0
15
0
0
0
5
4
0
20
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
61
0
0
-3
0
0
-28
0
0
0
0
0
-8
-8
0
0
0
0
0
0
1
0
-5
0
0
-27
0
0
0
22
0
0
19
-3
0
-1
63
0
0
5
3
0
0
0
0
0
12
0
0
0
-3
0
24
0
2
0
0
24
0
0
0
-6
0
0
0
9
-13
0
0
1
0
0
0
0
0
36
3
6
0
0
0
4
33
0
0
-3
0
0
0
0
0
0
0
0
0
1
68
0
-1
2
0
0
3
-41
0
0
5
1
0
-10
9
0
0
0
0
0
0
0
0
25
0
-12
0
-3
79
0
0
0
0
0
0
17
0
-7
0
0
0
0
125
0
0
0
0
0
0
8
0
0
8
0
0
1
-28
0
0
-12
0
0
0
7
0
7
-1
1
0
-3
53
0
0
-8
0
0
0
5
0
10
-9
-19
0
0
27
0
0
0
0
0
0
-18
0
0
4
0
0
0
-56
0
0
0
0
0
0
-11
1
0
0
0
0
0
6
0
3
0
0
0
0
42
0
1
-3
-1
0
0
42
0
-6
0
0
0
0
-54
0
0
0
0
0
0
-15
0
7
-3
0
0
0
-6
0
16
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
0
0
0
0
0
0
-41
3
0
10
-25
0
5
4
5
0
3
0
0
0
26
0
3
0
-3
1
0
5
0
0
0
-17
0
-3
0
0
0
-6
3
0
6
0
0
-27
0
0
0
0
5
-5
8
0
0
0
5
3
-7
0
-2
7
1
-4
22
-3
0
0
33
0
0
-44
18
0
-2
-15
-12
-9
42
1
-5
-1
-2
0
-2
4
-12
0
-5
22
-7
10
-3
0
10
0
3
0
27
0
60
0
0
0
-1
25
0
0
1
0
0
-3
-5
9
-21
7
-5
-2
0
0
-5
-39
0
0
20
0
0
0
0
0
0
0
0
0
18
-191
4
0
14
0
0
17
82
0
0
-5
0
0
13
-5
0
0
73
-3
0
1
-35
0
61
16
-11
-1
0
-14
0
0
3
0
0
0
41
-14
13
0
1
0
0
-17
0
0
1
0
0
0
15
7
0
-1
13
0
3
130
0
0
12
0
0
57
16
34
2
0
-8
0
7
34
0
0
-11
0
0
-6
53
0
0
-51
4
-6
4
-56
0
0
-5
10
3
0
19
0
0
9
29
1
0
47
0
0
0
0
0
-7
-24
2
0
0
0
0
0
33
11
40
32
0
0
-2
4
0
-4
-6
5
0
4
9
-3
18
48
0
0
0
-12
0
2
0
2
15
0
24
0
41
11
0
0
0
70
0
0
-15
6
0
0
44
0
-6
-8
0
0
0
-86
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
8
-1
18
-11
1
5
-7
-7
-29
-5
-4
-24
4
-1
-3
39
0
0
0
-2
-6
27
-4
0
0
-9
0
-3
0
-4
0
-62
-1
0
-25
0
0
10
2
0
0
-1
0
9
-17
0
0
0
0
21
-17
0
-4
-46
-40
0
30
-7
0
6
76
2
18
115
21
19
-31
-11
89
29
-74
56
0
0
11
9
-12
-40
-7
-3
0
35
5
120
-14
33
0
0
-60
0
-2
-6
33
0
0
4
20
-26
0
2
-44
0
0
0
-9
0
56
1
85
-6
-15
0
22
32
0
0
-65
0
0
0
0
0
0
0
0
0
-1
9
0
-8
72
-20
-3
3
-6
-4
13
64
6
0
-27
-39
0
-1
2
0
0
75
-7
-1
17
12
48
0
-1
-54
-4
-6
3
-15
49
0
7
3
-76
0
50
0
0
13
-25
0
-1
40
-1
62
57
1
-17
27
-20
-25
-76
-23
-22
14
-8
-3
-11
62
17
11
-43
93
-17
0
74
3
-17
34
-14
-6
-15
9
-4
-7
-6
-36
-37
-23
6
-33
0
4
13
4
8
9
-71
0
-18
-13
-96
-13
0
46
14
0
0
-13
0
0
-32
-13
0
0
-3
0
5
42
41
7
-13
1
1
-13
-44
-1
36
59
66
-25
17
-11
0
5
45
-11
0
92
-59
-11
-35
-28
59
-32
36
-38
0
-49
78
8
0
24
41
-5
0
20
73
-3
0
-6
0
-73
-18
-9
-25
0
88
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
25
0
-2
0
-20
0
0
1
0
2
21
4
0
2
7
-4
0
0
0
0
22
0
0
0
0
2
0
-6
0
0
0
56
0
0
-23
0
0
-41
0
0
0
-7
0
-35
0
1
0
0
0
19
0
12
0
-11
0
0
-21
0
0
0
20
0
0
46
-11
0
-2
-53
0
0
17
-10
0
0
-35
0
14
-18
-4
0
34
63
0
0
-3
0
0
0
0
0
-6
-5
12
0
0
0
0
-21
0
29
-20
0
0
5
-6
0
27
-25
-6
0
0
0
9
-63
0
0
64
0
0
0
0
0
0
0
0
0
81
35
0
0
-45
0
4
11
69
0
0
29
0
-17
-1
62
0
0
-1
0
0
2
3
0
16
15
0
0
0
-42
0
0
0
0
-3
0
10
-26
16
0
0
0
2
7
-5
0
0
0
0
0
-2
11
-10
12
0
4
-35
-51
1
-7
43
0
0
-48
0
0
0
33
0
0
10
-25
13
0
35
0
-7
5
20
0
37
-20
0
0
34
51
0
-9
0
0
8
-4
64
0
0
-18
0
55
0
-48
-13
0
0
0
1
0
21
0
0
0
0
0
3
83
0
-4
3
0
-5
0
-52
0
0
37
0
0
4
-27
0
77
33
6
0
-1
42
-10
36
-27
0
-6
0
60
0
-5
10
0
0
-1
-60
0
8
0
0
0
0
2
0
7
-3
0
2
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
3
0
0
-19
-10
0
-1
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
-51
0
0
0
0
0
-73
0
0
0
0
0
0
1
0
0
0
0
13
-7
0
0
11
2
0
50
0
0
0
28
0
0
-25
0
0
0
-36
-6
0
-56
1
0
-12
-5
0
0
-6
50
0
8
2
0
0
-13
1
0
0
8
0
0
0
-4
0
0
0
1
-10
0
0
-3
0
0
0
0
0
56
-3
2
0
0
0
16
-8
-4
0
-5
0
0
0
0
0
0
0
0
0
26
33
0
5
0
0
0
25
-25
0
-1
-22
-2
0
7
-16
0
6
-19
0
0
57
32
0
-101
1
0
0
0
51
0
0
3
0
0
0
37
-21
23
0
0
0
0
-8
0
0
0
0
0
-6
-18
-2
4
-6
0
0
63
11
0
-1
-97
0
0
8
-13
1
-7
58
0
0
5
4
0
1
11
21
0
-33
1
0
26
-3
0
0
-23
20
0
0
0
0
0
0
-32
0
0
0
0
0
0
-54
0
0
0
0
0
0
60
0
0
0
0
0
0
42
0
11
11
0
0
-23
-24
0
-14
7
-8
0
-9
46
0
-22
6
17
0
-11
55
0
0
37
0
0
2
-4
0
-4
1
0
0
21
-42
0
0
0
0
0
0
71
0
-7
-4
0
-2
0
43
7
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
75
38
2
-56
50
21
23
-24
-60
-1
10
-6
-78
-16
-2
5
-19
25
43
-23
-10
-59
-7
5
6
-1
179
0
10
-2
0
24
2
0
-1
64
-70
-1
21
-8
-22
-4
83
73
-38
16
-6
38
-34
20
-2
-28
-16
11
41
77
-113
-49
35
24
-60
-87
11
0
49
-21
-18
-46
-31
24
-67
-3
75
-9
46
62
17
-45
0
-1
-12
-22
-28
33
-43
0
-1
59
48
-2
0
10
2
1
9
75
4
0
61
-19
-67
59
1
0
64
-6
34
-13
-25
14
1
0
0
0
0
0
0
0
26
25
-14
75
32
5
-64
40
37
21
-77
-13
41
-29
46
-1
-14
-35
10
-16
-31
15
31
0
-2
-11
29
-10
-13
-16
-2
3
-5
42
-1
0
17
18
57
0
11
1
0
-9
-10
-3
31
11
0
100
18
22
117
-22
-19
63
-19
39
41
6
51
25
-11
51
44
2
-14
27
-18
68
24
-44
14
23
17
59
-31
38
11
19
40
53
-1
-21
66
-3
12
7
-39
23
22
29
-39
-11
-28
-31
24
51
0
-15
-32
-2
5
32
58
12
-3
40
8
-14
27
-1
39
-10
-15
-116
-80
-18
-36
52
-22
47
34
36
-23
-10
-74
-23
-74
10
-29
18
-8
-9
-4
15
-33
54
1
-32
134
-8
-3
-3
73
-15
37
-16
-5
12
-7
-68
-24
-49
-4
-74
8
5
-16
39
16
0
-52
22
-4
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
7
0
0
0
-4
0
0
0
0
-7
0
0
0
0
0
-82
0
0
0
0
0
-5
32
0
0
0
0
9
-2
0
0
11
-20
0
-56
-2
0
0
81
4
0
64
0
0
0
26
0
-9
-52
7
0
0
-2
0
0
0
25
0
0
0
0
0
-3
25
0
0
0
0
12
3
3
0
0
0
0
-4
0
0
4
0
0
-1
0
0
-38
-27
19
0
0
0
0
16
0
0
59
0
0
0
0
0
0
0
0
0
-35
0
0
8
-11
0
-2
-2
-33
0
0
-13
0
0
15
42
0
0
-10
0
0
1
55
0
24
2
3
0
0
-21
0
0
0
0
3
0
98
-9
0
0
3
0
0
75
0
0
0
0
0
1
47
-3
9
0
0
0
24
8
0
0
-70
0
0
84
0
3
0
129
0
0
4
9
0
0
-23
2
0
0
14
0
0
0
0
0
2
61
0
-5
0
0
0
-5
21
0
0
2
8
0
0
38
3
0
0
0
0
0
-15
-10
0
0
0
0
0
7
0
5
0
0
0
0
-57
0
0
-8
9
0
50
0
0
75
43
0
0
0
-43
0
0
-9
0
0
3
69
0
-17
14
0
0
0
47
0
2
-4
10
0
0
-20
0
-3
0
0
0
0
-46
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
44
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-24
0
6
-3
0
0
0
-32
0
0
38
-22
0
0
0
0
0
-12
0
0
0
2
0
0
-4
-12
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
37
-2
-1
0
0
0
0
51
0
0
-9
0
0
0
0
0
0
0
0
0
-15
-104
0
0
33
0
0
4
20
0
0
0
0
0
-10
41
0
0
8
0
0
0
18
0
7
0
0
0
0
-42
0
0
0
0
3
0
-79
0
0
0
0
0
0
-46
0
0
0
0
0
0
25
0
-8
6
0
0
0
19
0
0
17
0
0
-4
36
0
-2
18
0
0
0
103
0
0
10
0
0
0
-59
0
0
2
0
0
0
2
0
0
0
0
0
0
82
0
0
0
0
0
0
104
0
0
0
0
0
0
74
7
0
0
0
0
0
5
0
-3
0
0
0
0
-51
0
0
6
0
0
0
56
0
0
0
0
0
0
-43
0
16
-3
0
0
0
8
0
-17
0
0
0
0
23
0
0
0
0
0
0
-42
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
17
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
61
0
0
52
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
8
-7
0
0
0
19
0
-86
0
0
0
5
0
0
-55
12
0
0
0
0
0
41
-10
0
0
-4
0
0
8
0
0
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
0
0
0
14
0
0
-7
0
0
0
0
0
-64
0
-9
0
0
0
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
0
0
0
0
0
23
-5
0
8
-40
0
0
5
-39
0
0
-3
0
0
0
8
0
-8
0
0
0
0
64
0
0
0
0
0
0
43
0
0
0
0
0
0
22
0
0
0
0
0
0
-104
0
0
2
0
0
-7
30
0
0
-3
0
0
-1
-86
0
0
34
0
0
-13
21
0
0
3
0
0
0
-31
0
8
0
0
0
0
-21
0
0
-11
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
25
0
0
0
0
0
0
37
0
-2
0
0
0
0
-35
0
0
-4
0
0
0
26
0
0
-14
0
0
0
-8
0
0
0
0
0
0
46
0
18
1
0
0
0
19
0
0
0
0
0
0
79
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
-8
0
-5
19
-12
0
27
-10
4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
8
0
0
-34
0
0
-32
0
0
0
0
0
0
56
0
0
0
0
-1
0
0
5
21
-9
-2
-52
-1
0
13
89
13
0
211
8
0
-8
19
-7
-14
31
19
3
0
20
0
-3
16
-12
0
3
0
0
1
11
3
0
0
8
0
-2
0
10
0
0
0
-4
-47
0
0
-49
0
0
0
-2
0
-24
12
-10
0
0
0
1
-22
1
0
36
0
0
0
0
0
0
0
0
0
-50
-6
-2
-1
0
0
14
72
20
-5
0
-116
88
0
-4
-20
0
0
13
0
0
-2
-20
0
-89
0
-3
0
39
43
0
0
-4
0
0
0
93
-5
0
0
2
0
0
-71
4
0
-1
0
0
-3
12
21
2
-1
0
0
-6
-43
0
5
16
0
0
-49
60
0
0
21
0
7
4
24
0
0
-23
-8
0
9
-43
17
0
18
-4
0
2
-76
0
0
-3
0
10
0
-38
0
0
0
-18
-1
0
-11
1
0
0
-12
0
0
33
0
6
0
-1
0
0
-11
2
32
0
0
0
0
9
18
-39
0
-1
0
-7
-63
-6
14
6
-6
0
3
-14
0
-5
0
0
0
-7
-98
0
44
0
0
-6
-7
5
0
0
2
12
0
0
-35
0
19
0
-1
0
0
-26
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-18
0
0
55
0
0
0
0
0
0
11
0
0
0
0
-10
0
0
0
-1
0
0
19
0
0
0
49
0
0
-4
-17
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
7
0
0
0
0
52
0
0
0
0
0
0
-1
0
30
-3
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-6
53
0
13
-3
0
0
-1
-26
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
26
0
0
0
0
16
0
0
0
0
-8
0
29
0
0
0
0
0
0
44
0
0
0
0
0
0
27
0
-13
1
5
0
0
-1
0
0
0
0
0
0
-63
0
0
18
0
0
0
2
0
0
2
0
0
0
63
0
0
0
0
16
10
-29
0
0
0
0
0
0
-8
0
0
0
0
-4
0
29
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
5
0
0
0
13
69
0
0
0
0
0
0
48
0
0
0
0
0
4
3
0
0
-3
-1
0
0
12
0
-6
0
0
0
0
41
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
6
0
0
0
0
0
0
0
0
7
0
0
0
0
69
0
0
0
0
0
3
0
0
0
0
0
-2
-9
0
0
0
0
-16
0
0
0
3
13
0
-52
2
0
0
46
0
0
-5
0
-2
0
-3
0
0
-115
0
0
3
-5
0
0
21
-6
0
-2
0
-2
0
6
-4
0
0
0
-1
0
0
5
0
0
1
0
0
0
0
21
0
0
0
0
0
-14
6
7
0
0
0
1
51
0
0
-59
0
0
0
0
0
0
0
0
0
20
-32
0
0
-24
0
0
0
38
0
0
36
-9
0
2
-6
0
8
0
0
0
0
-22
0
-3
10
-1
0
0
-37
0
0
4
0
0
0
-16
10
0
-1
0
0
0
31
0
0
1
0
0
8
83
0
0
-13
-3
0
10
15
0
0
90
0
0
46
-35
0
1
-55
0
0
-30
39
0
0
-14
-2
0
0
45
0
-10
-8
1
0
8
-86
0
0
-4
0
0
0
-22
0
10
0
28
0
0
41
0
0
0
0
0
0
15
-7
0
0
0
0
0
-29
0
73
-16
0
0
-25
10
0
6
34
0
0
4
-76
0
-13
32
0
0
3
-58
0
3
-8
7
0
-9
27
0
11
-2
0
0
0
26
0
0
2
0
0
0
83
0
37
0
0
0
0
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
7
24
-5
24
-1
0
0
7
6
-26
0
-2
0
5
0
1
0
8
0
0
-1
0
0
-28
0
0
0
0
0
42
20
0
-19
0
0
19
2
0
0
34
5
0
25
9
0
-5
-1
-1
0
-24
-7
1
0
39
9
-5
-69
44
-2
-1
53
0
0
18
-18
0
-4
-22
19
0
5
39
-28
0
-2
0
-8
0
-5
0
0
0
-6
-112
0
-6
19
0
0
0
6
0
-3
-2
-16
2
-2
0
-8
67
-11
6
-53
0
0
0
0
0
0
0
0
0
82
-70
0
-8
-59
2
0
119
-12
-3
0
17
9
-2
89
-50
0
-1
11
5
0
4
-51
0
-32
-1
-9
0
0
-103
0
0
6
0
4
0
1
1
7
0
0
1
0
-1
11
0
0
0
0
-3
-12
30
-11
-11
3
20
12
2
-6
-1
31
0
-3
50
46
-1
35
20
-7
1
73
-44
0
-8
46
-2
0
11
83
0
-3
32
-18
-9
0
51
0
0
0
0
4
0
14
5
0
2
0
38
0
-40
2
-2
-3
0
0
0
-101
0
0
-9
0
0
-1
-52
16
12
10
0
-8
1
-29
0
-34
-31
11
-11
-2
76
0
-14
21
-2
0
-18
42
0
20
53
14
0
-8
17
0
20
4
0
0
0
-39
0
2
-7
-6
-3
0
-123
0
11
0
0
30
0
96
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
-2
-7
0
0
0
0
0
0
0
-45
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
-11
2
-1
-7
24
-1
0
51
-5
0
-4
-101
0
0
17
10
0
24
33
-1
10
-20
0
2
-4
-11
11
-8
-27
8
0
-2
55
29
2
5
28
10
0
-2
0
0
-2
21
0
0
0
1
-11
0
0
-3
0
0
0
2
0
-2
17
5
0
0
0
19
23
0
0
55
0
0
0
0
0
0
0
0
0
8
48
0
7
-43
0
0
-11
0
-2
-12
-27
-22
0
1
17
0
-4
-23
0
4
6
-71
-5
37
5
-5
0
0
50
0
0
0
0
0
0
9
0
15
0
0
0
0
-3
11
0
0
0
0
10
-15
7
0
0
-3
0
-3
12
0
0
-9
0
0
8
39
0
5
8
0
0
3
0
1
0
-76
-7
0
8
40
0
12
-5
-6
0
0
-2
0
0
-6
0
0
0
-1
0
0
0
4
0
0
-61
0
0
0
0
0
0
1
-12
0
8
-6
0
0
-23
-1
-30
-7
0
-2
-5
-5
0
-12
43
0
0
0
-25
0
-12
-10
0
0
0
0
0
21
37
-22
-1
0
38
0
-4
-6
0
0
0
-85
0
5
-3
-8
0
0
36
0
6
3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
23
0
0
0
0
2
-4
5
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
102
0
0
-1
5
0
0
28
-50
0
-96
-2
0
7
1
0
-11
0
-5
0
0
0
18
4
4
0
0
0
0
0
0
0
0
0
0
1
0
-39
0
0
27
0
0
0
-29
0
82
8
4
-2
0
0
15
-29
0
-9
24
0
0
0
0
0
0
0
0
0
64
-30
0
0
-19
0
0
50
-20
0
-6
0
-13
0
-34
88
0
0
-14
0
0
0
-41
0
-55
0
0
0
0
-26
0
0
0
0
-12
0
-8
-2
0
0
0
0
0
-42
0
-1
0
0
0
1
3
0
-1
14
0
0
-15
46
0
0
-13
0
0
3
-32
0
0
-6
0
0
-1
-10
0
0
9
0
0
0
-25
0
0
13
23
0
0
58
0
0
0
0
0
0
-37
0
0
-14
-5
0
0
70
0
11
0
0
0
0
-34
-12
-13
0
0
0
5
-25
0
7
0
0
0
0
-9
0
-6
20
0
0
-2
25
0
2
0
0
0
-1
-171
0
1
0
0
0
0
-25
0
12
-17
0
0
0
-20
0
22
-11
0
0
0
-58
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
-5
0
0
0
0
0
0
0
0
0
0
0
23
3
0
7
0
7
0
0
-6
0
0
-66
0
0
0
0
0
0
-17
0
0
0
0
12
3
0
0
-1
0
0
-42
2
0
0
-49
0
0
-12
0
0
0
35
0
0
6
-3
0
0
-7
0
0
0
3
0
0
0
1
0
-8
3
0
0
0
0
0
0
-5
0
0
1
0
13
0
0
-3
0
0
0
0
0
39
-4
-11
0
0
0
45
-51
0
0
-2
0
0
0
0
0
0
0
0
0
-50
-57
1
0
-25
0
0
0
37
0
0
16
10
0
-2
-18
0
0
-4
0
0
0
-29
0
-33
0
-1
0
-1
-57
0
0
0
0
15
0
-29
0
0
0
0
0
0
-38
-1
0
0
-1
0
2
-22
2
-5
2
0
0
-1
-35
0
0
-2
0
0
0
-8
0
0
-12
0
0
-1
-11
0
0
1
0
0
1
-25
0
0
-6
-10
0
0
42
0
0
-4
0
0
0
78
0
0
0
4
0
0
21
2
0
0
0
0
0
65
0
0
0
2
0
0
-28
0
-2
0
0
0
0
38
4
16
-1
-2
0
0
75
0
0
0
0
0
0
-30
0
0
0
-2
0
0
-8
0
-3
-3
0
0
0
-5
0
0
0
0
0
0
-19
0
5
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
-6
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
-37
0
0
3
0
0
-27
0
0
0
0
0
22
3
10
0
0
0
-5
8
0
10
-17
-2
-1
28
2
0
0
91
0
0
9
0
0
0
-18
89
0
18
-4
0
-12
26
0
10
-1
-48
0
0
-26
0
0
5
0
0
0
0
0
-2
0
-13
0
0
0
5
-3
0
0
0
0
0
0
-4
0
38
39
10
0
3
0
20
105
0
0
0
0
0
0
0
0
0
0
0
0
2
-55
-9
1
23
-2
0
11
49
0
0
24
0
0
6
-36
0
0
1
0
0
0
-15
0
-11
5
0
0
0
-1
0
0
0
0
0
0
-4
3
0
0
0
0
0
-49
0
0
0
0
0
3
-18
0
7
0
0
-22
-7
-25
0
0
0
0
0
51
32
0
4
99
33
0
56
40
0
-3
-25
0
0
0
-15
-16
-1
1
-6
0
-3
93
0
9
6
0
0
0
7
0
11
0
0
-3
0
82
0
0
0
0
0
0
-67
0
-13
0
0
0
10
4
0
-9
6
0
0
0
87
0
-1
2
-2
0
8
39
0
-4
-13
-1
0
0
-37
0
0
0
0
0
7
-84
0
81
26
2
0
0
63
0
0
0
-7
0
0
-21
0
-11
0
0
0
0
-48
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-1
-3
0
-4
0
4
0
0
0
0
-1
-36
0
0
8
0
0
-19
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
6
0
12
-152
0
1
0
-15
0
0
77
1
0
0
0
0
0
24
0
0
0
19
0
1
13
1
0
0
0
0
1
-1
0
0
0
0
0
20
0
0
0
0
0
0
-40
0
0
16
0
0
0
-3
0
11
0
0
0
0
0
8
-42
0
0
-32
0
0
0
0
0
0
0
0
0
-26
-54
0
0
-24
0
0
101
26
0
0
-59
0
0
-19
79
0
0
-12
0
0
-2
15
0
46
0
0
0
0
-37
0
0
0
0
19
0
107
-12
14
0
0
0
0
20
0
0
0
0
0
0
-62
0
0
-4
0
0
6
-25
0
0
-27
0
0
36
29
0
0
25
0
0
-28
-7
0
0
61
0
0
49
-24
0
0
0
0
0
-1
101
0
0
29
0
1
0
48
0
0
0
0
0
0
-82
0
-2
0
0
0
0
44
-1
0
0
0
0
-14
10
0
-27
-1
0
0
0
-16
0
0
14
0
0
0
68
0
2
5
0
0
0
11
0
0
-8
0
0
0
96
0
-12
5
0
0
0
36
0
0
1
0
0
0
0
0
-4
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-1
0
0
0
-2
0
0
0
0
-11
0
0
3
0
0
-11
0
0
0
0
0
-19
-15
0
0
0
0
-16
6
0
0
8
-3
0
-1
0
0
3
13
0
0
34
33
1
28
-73
9
0
-20
8
0
0
-17
0
0
-39
104
0
0
-15
10
0
34
1
0
0
9
0
0
21
3
0
0
0
16
4
0
0
-11
0
0
0
0
0
50
1
0
-3
0
0
0
-14
0
0
-12
0
0
0
0
0
0
0
0
0
91
87
0
9
54
0
0
30
-31
0
-8
-4
-3
0
1
52
0
0
41
0
0
-5
99
0
34
-86
56
0
12
43
0
0
0
0
0
0
-27
33
2
0
-18
0
1
16
-8
0
0
0
0
18
80
0
17
-19
1
0
-14
-12
0
3
18
0
0
-14
72
0
-19
64
7
0
38
-37
0
0
-88
0
0
12
51
0
1
27
27
0
-4
18
0
0
6
0
0
0
42
0
-4
0
-31
0
0
27
0
0
0
-2
0
0
-92
23
0
0
0
0
0
26
0
6
-22
-11
0
3
20
12
-71
-93
-5
0
21
10
0
-9
89
0
0
-2
-34
0
0
4
-19
0
0
-4
0
-13
27
0
0
-12
84
0
0
0
9
0
0
87
0
26
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-21
12
0
1
-2
0
-13
-15
0
-4
0
0
-4
0
0
0
0
0
-5
11
20
0
0
0
125
-14
2
2
-68
-84
37
-12
9
19
0
-91
2
-3
100
3
0
0
31
13
38
-124
45
-1
9
25
-10
85
21
-29
-3
1
34
3
14
0
35
21
0
-5
0
-12
0
25
0
0
-4
16
37
0
6
-17
0
0
0
-11
6
-40
-9
0
0
12
0
-3
11
0
2
32
0
0
0
0
0
0
0
0
0
-1
-36
6
-4
54
9
0
1
-6
0
32
-33
-19
4
5
-59
-1
-3
4
-6
1
0
-36
-18
-55
-5
-71
-12
0
42
0
-4
-5
0
38
0
-18
-12
-2
0
0
0
0
-35
4
0
-5
2
0
9
27
38
-9
25
-4
0
-4
3
-5
0
110
0
-16
-34
59
-10
-66
75
-44
3
-14
-11
8
-6
19
-6
-9
4
38
-8
-16
26
6
0
-3
25
8
1
4
0
23
0
-71
5
-18
-6
9
19
0
-19
-5
0
0
0
0
0
2
23
0
0
28
0
-1
-45
-19
-34
-12
6
-9
-19
-12
8
59
2
1
0
61
-30
-9
-101
28
-64
0
3
26
-1
0
41
33
-6
0
-19
0
5
-12
0
-4
0
-61
0
6
18
6
0
0
-12
0
46
-10
-12
2
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
3
0
0
0
0
0
0
-2
0
-18
-4
0
0
0
0
47
0
0
0
0
0
-8
28
0
0
0
0
0
0
-3
0
24
-1
9
-32
-6
0
0
-16
5
0
-40
-8
0
0
62
14
0
-16
-16
-2
0
122
0
0
-14
0
1
1
17
0
6
10
0
0
0
-9
6
0
0
-15
0
0
0
2
-7
0
0
-5
0
0
0
0
0
24
-4
-13
1
0
0
-14
-20
-9
0
26
0
0
0
0
0
0
0
0
0
-11
-21
0
5
8
0
0
-19
26
1
-3
-2
14
0
-13
0
0
0
46
0
0
1
16
0
35
6
0
0
0
-36
0
0
0
3
6
0
35
7
0
0
-2
0
0
-3
0
0
0
0
0
1
-73
2
-6
-8
0
0
1
22
0
0
-1
0
0
4
-43
1
-4
1
0
0
14
-73
8
0
-63
-8
0
3
0
0
0
34
26
0
0
-69
0
0
3
0
0
0
6
0
0
5
0
0
0
11
0
0
0
8
0
0
54
0
10
0
0
0
-9
-67
0
-24
1
0
0
0
80
0
6
3
2
0
-3
30
0
32
16
0
0
-3
10
-20
-21
9
-18
0
0
0
0
-21
18
-6
0
0
50
0
0
21
0
0
0
-29
0
8
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
-13
0
0
0
0
0
37
0
0
0
0
0
84
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-21
0
0
23
0
0
0
10
0
0
-2
0
0
0
-8
0
0
16
-5
0
0
-11
0
0
1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
-2
0
113
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
38
0
0
-7
0
0
0
0
0
0
0
0
0
4
-38
0
0
18
0
0
-16
-2
0
0
0
0
0
-2
-17
0
0
0
0
0
0
8
0
27
0
0
0
0
-59
0
0
0
0
0
0
-52
0
0
0
0
0
0
28
0
0
0
0
0
-2
-36
0
0
0
0
0
0
122
0
0
8
0
0
0
-125
0
0
-8
0
0
0
-50
0
0
0
0
0
0
-6
0
0
-2
10
0
0
2
0
0
0
0
0
0
-4
0
0
0
15
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
12
0
0
0
-6
0
4
4
0
0
0
-13
0
37
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
99
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
14
0
0
7
0
0
-112
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-43
0
0
-3
0
0
0
1
0
0
48
0
-2
0
6
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
41
0
0
13
0
0
0
4
0
66
3
0
0
0
0
0
-49
0
0
1
0
0
0
0
0
0
0
0
0
-28
75
0
0
-6
0
0
0
27
0
0
1
0
0
0
10
0
0
0
0
0
0
-3
0
46
5
0
0
0
45
0
0
0
0
0
0
18
0
0
0
0
0
0
-59
0
0
-4
0
0
0
2
-3
0
-3
0
0
0
70
0
3
-1
0
0
0
79
0
0
0
0
0
-7
45
0
0
-4
0
0
0
33
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
62
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
0
4
0
0
0
-1
-11
0
0
27
0
0
-2
-49
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-148
0
0
0
0
0
-16
2
0
0
0
0
2
0
0
0
0
0
0
31
0
0
0
-1
0
0
-16
0
0
0
2
0
0
-5
0
0
1
-4
0
0
0
-6
0
-1
0
-6
4
0
0
0
0
0
0
0
0
11
0
0
0
0
-2
0
0
3
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
9
25
0
0
1
0
0
0
-29
0
0
4
0
0
16
39
0
0
1
0
0
0
2
0
3
0
0
0
0
-55
0
0
0
0
0
0
3
-3
3
0
0
0
0
12
0
0
0
0
0
0
-53
0
0
0
0
0
-2
-40
0
-2
-12
0
0
0
-4
0
0
-27
15
1
0
7
0
0
0
0
0
0
24
0
-1
0
0
0
0
61
0
1
0
0
0
0
-7
0
0
0
0
0
0
-75
0
0
0
0
0
0
13
0
0
0
0
0
0
11
0
0
5
0
0
0
-19
0
0
0
0
0
0
21
0
-9
0
0
0
-1
1
0
0
0
0
0
0
19
0
2
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
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
-3
0
0
1
0
0
0
0
0
54
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
-4
-5
0
0
-2
0
0
5
-8
0
0
-1
0
0
0
1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
-80
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
30
0
0
-17
0
0
0
38
0
0
0
0
0
0
34
0
0
-1
0
1
0
-37
0
0
0
0
0
0
-5
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
-2
-24
0
0
0
0
0
0
-14
0
-13
0
0
0
0
0
0
11
0
0
0
0
29
0
3
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
0
0
0
6
0
0
0
0
0
-27
0
0
0
0
0
10
-2
17
1
0
0
40
28
1
-12
-23
0
0
-81
0
0
0
-51
0
0
-75
-30
12
-3
-15
-18
0
-73
10
0
28
75
0
0
-19
7
0
0
0
-2
0
-7
-18
3
-5
18
0
0
0
21
0
0
4
3
0
0
0
9
0
15
0
0
0
-12
-44
17
2
0
0
7
-12
0
0
-2
0
0
0
0
0
0
0
0
0
23
31
-2
0
40
0
0
59
41
0
0
-5
3
0
29
-29
0
0
17
-8
0
-23
-56
0
22
-7
-2
0
-7
72
0
0
-1
0
0
0
26
45
1
0
6
0
0
-2
-3
0
0
0
0
-21
16
0
0
27
0
0
10
34
0
0
28
0
0
2
46
33
3
7
5
0
-2
8
0
-2
68
0
0
25
-37
0
-7
-44
20
0
8
-86
0
0
17
-1
0
0
5
0
1
1
33
0
0
-35
3
0
0
-1
0
0
-32
7
0
0
0
0
2
-45
5
49
-58
0
0
9
-23
0
2
-61
0
0
19
69
0
2
51
12
0
3
101
0
18
-5
-9
0
5
15
0
14
4
0
0
18
14
0
14
-1
-1
0
0
-2
0
14
-5
0
0
0
29
-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
2
0
-43
0
0
0
0
0
-39
0
0
0
0
0
-1
0
0
0
0
0
-3
10
0
0
27
0
3
-26
9
0
0
-1
0
0
41
-12
0
-2
-34
9
3
-6
12
0
0
0
0
-2
-18
0
0
1
14
-2
0
-1
3
0
0
7
0
5
0
71
0
0
-1
0
25
0
0
2
0
0
0
0
0
-49
0
-6
0
0
0
-3
-65
-7
0
30
0
0
0
0
0
0
0
0
0
10
-46
4
0
47
14
0
-1
-2
0
0
7
4
0
-3
34
0
0
-7
0
0
0
71
0
15
-13
-14
0
0
-101
0
0
0
0
0
0
57
-4
0
0
0
0
0
102
0
0
0
0
0
1
-2
0
0
19
0
0
-4
12
0
0
-16
0
0
0
-36
0
-2
0
-1
-2
2
45
0
0
-3
22
0
-2
125
0
0
-4
-1
0
0
50
0
0
0
0
16
0
34
0
0
0
6
0
0
-67
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
0
-15
0
0
0
-1
-8
0
0
19
-8
0
0
3
0
-19
0
0
0
0
-14
0
7
0
-4
0
0
10
0
-1
4
0
0
0
35
0
-9
0
0
0
0
9
0
42
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
48
0
0
1
0
-1
-155
0
0
0
0
0
6
32
-7
0
0
0
2
13
0
0
-5
-4
0
10
0
0
0
-72
0
0
2
-29
-3
-1
20
18
0
37
13
0
3
-4
0
0
29
-6
0
1
-1
21
19
-41
0
6
1
31
0
0
0
0
0
0
-5
3
2
0
0
-12
0
0
0
0
0
100
0
-2
0
0
0
-19
-39
-8
0
-14
0
0
0
0
0
0
0
0
0
2
41
11
5
-24
3
0
40
-36
-7
2
-32
-19
0
-40
25
0
0
105
0
0
40
0
0
-36
6
-9
0
-29
-49
0
0
1
0
0
0
-39
46
-22
0
0
0
0
0
0
0
0
0
0
-3
51
-2
5
9
2
0
-2
4
0
0
-2
0
0
-21
-6
0
-4
67
-38
0
-4
-31
-2
0
-60
0
0
0
48
0
8
14
0
0
-35
0
0
0
-5
0
0
0
-66
0
0
0
5
-3
0
4
0
0
0
0
0
0
-33
0
0
-13
0
0
-27
-32
0
4
-11
0
0
-8
-39
0
0
-7
-11
0
0
61
0
-7
-25
0
0
0
-28
0
-2
0
-3
0
0
15
0
8
1
0
0
0
0
0
0
-15
3
0
0
-24
0
-26
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
56
0
0
2
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
2
-16
0
0
0
0
0
-13
0
0
0
12
0
0
11
0
0
-17
4
-10
-1
13
0
0
0
-2
0
0
4
0
0
0
0
-15
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-63
5
4
0
0
0
15
33
0
0
0
0
0
0
0
0
0
0
0
0
54
4
0
0
23
0
0
5
-48
0
0
19
0
0
0
-11
0
0
-5
0
0
0
-14
0
-25
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
26
0
0
0
0
0
0
-48
0
-12
0
0
0
4
98
0
0
-36
0
0
0
-8
0
0
-6
0
0
-3
-57
0
0
14
0
0
0
-8
0
-3
0
0
-1
0
-12
0
0
7
0
0
0
3
0
0
0
0
0
0
-34
0
0
0
0
0
0
24
0
0
0
0
0
1
0
0
20
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
-5
0
0
0
-15
0
0
4
-2
0
0
9
0
21
0
0
0
0
2
0
-2
-1
0
0
0
-24
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
-20
0
0
0
0
0
-219
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
-4
1
0
0
17
0
0
-1
-12
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
4
0
0
10
0
0
0
0
0
-66
1
0
0
0
0
20
-72
0
0
2
0
0
0
0
0
0
0
0
0
18
3
0
0
8
0
0
0
5
0
0
0
0
0
0
1
0
0
-2
0
0
0
-5
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-129
0
-1
0
0
0
0
30
0
0
0
0
0
0
8
0
0
13
0
0
-3
-100
0
0
10
0
0
-3
15
0
0
-1
0
0
0
-89
0
0
-1
0
0
0
13
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
-9
-1
0
0
0
0
0
-3
0
1
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
33
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
-4
0
0
0
0
-3
0
0
0
-22
1
0
-44
2
0
-1
12
0
0
13
3
1
0
-18
-2
0
-16
0
0
0
68
0
-6
-5
0
-1
0
2
0
1
-45
0
0
0
0
-2
-6
-1
-10
0
0
-2
-12
-41
0
0
0
0
0
0
0
0
11
1
-8
0
0
0
-2
10
0
0
2
0
0
0
0
0
0
0
0
0
-6
-41
5
2
23
0
0
27
-12
0
0
0
0
0
11
-16
0
0
0
0
0
0
-25
0
-20
-3
0
0
0
-36
0
-4
0
0
0
0
-46
0
-2
0
0
0
0
-20
0
0
0
0
0
5
-70
0
0
7
0
-10
67
-12
0
0
13
0
0
28
-26
0
0
-31
-5
0
1
-91
0
0
-2
0
0
-7
-6
8
0
-7
17
0
-6
-59
0
0
0
0
-3
0
-65
0
0
0
3
-7
0
43
-1
0
0
17
0
0
16
-16
0
0
14
0
0
9
0
0
4
0
0
-8
25
0
0
4
0
0
12
19
0
40
0
0
0
9
17
0
0
0
-1
0
0
111
0
-5
-10
0
0
0
4
0
1
3
0
0
0
3
0
1
-4
-14
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
28
0
0
0
0
0
39
0
0
0
0
4
0
-6
0
4
0
3
4
23
0
0
-5
0
0
14
0
0
0
-7
0
0
-6
13
0
-1
5
0
-1
-1
-4
0
0
1
0
26
0
0
0
0
0
0
-3
32
0
0
0
6
0
1
0
0
0
0
-3
0
14
0
0
21
0
0
0
0
0
54
0
0
0
0
0
0
-59
0
0
-26
0
0
0
0
0
0
0
0
0
9
-117
0
-1
35
0
0
1
16
0
0
-1
0
0
-1
-27
0
0
13
0
0
-6
-19
0
-40
5
0
0
-2
9
0
0
2
0
0
0
-43
0
0
0
0
0
0
-18
0
0
2
0
0
0
50
0
0
-10
0
-2
-15
-109
0
0
24
0
-6
4
-12
0
0
-11
0
-4
-3
8
0
0
12
0
-28
8
45
0
2
-94
0
0
0
-18
0
0
11
0
15
0
71
0
0
5
0
0
0
51
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
5
-8
0
0
-2
20
0
-20
10
4
0
0
36
0
0
4
0
-1
1
45
0
0
22
0
0
0
-50
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
-14
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
-22
0
0
0
0
0
-16
0
0
0
0
0
-6
-1
0
0
0
0
-12
0
0
0
4
-2
0
-15
6
0
0
-93
0
0
33
-8
0
-2
3
-8
0
102
0
0
-2
-3
0
0
23
-18
0
-2
-48
0
0
-6
0
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
-6
0
0
0
0
0
5
-16
-12
-10
0
0
5
-42
0
0
23
0
0
0
0
0
0
0
0
0
96
-88
0
-39
-2
0
0
-8
-57
0
0
-20
8
0
-37
-38
0
0
9
0
0
6
2
0
-57
13
-1
0
0
4
5
0
0
0
0
0
-19
2
1
0
9
0
7
46
0
0
6
0
0
-14
2
0
-1
4
15
0
65
-46
0
0
-62
0
0
27
-28
-7
6
127
-23
0
4
10
0
0
-42
0
0
0
55
0
0
9
-26
0
0
38
0
-3
8
0
0
0
38
0
0
-1
20
0
0
100
0
1
0
0
0
0
-11
0
0
0
0
0
-2
-54
0
-7
25
0
0
0
66
0
-2
34
1
0
-23
28
0
-14
-4
0
0
0
-12
0
8
-21
8
0
0
-15
0
0
5
0
0
0
31
0
0
5
-6
0
0
50
0
67
-18
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
49
0
0
0
0
0
5
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
-2
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
-4
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
-4
0
0
4
0
0
31
-3
0
0
0
0
0
3
-5
0
-2
0
0
0
0
-10
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
0
0
0
69
0
0
0
0
0
0
2
0
0
0
0
0
0
39
0
0
-13
0
0
-2
26
0
0
0
0
0
0
-1
0
0
-3
0
0
0
22
0
0
0
0
6
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
3
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
3
0
0
0
-8
0
0
0
0
0
0
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
-2
-2
0
0
0
0
6
0
0
0
14
0
0
-73
-1
0
0
-47
0
0
16
0
0
0
-12
0
0
18
8
0
0
0
0
0
-3
8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
17
0
-1
0
0
0
0
0
0
0
0
32
0
7
0
0
0
0
92
0
0
14
0
0
0
0
0
0
0
0
0
-35
132
0
0
14
0
0
1
-42
0
0
1
0
0
7
-9
0
0
-4
0
0
0
19
0
23
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
-88
23
0
-3
0
0
0
-23
0
0
2
0
0
-3
-57
0
-1
-49
0
0
0
-32
0
0
51
0
0
-3
35
0
-2
0
0
0
0
-6
0
0
16
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
18
0
-4
0
0
0
0
-11
0
-4
0
0
0
0
-22
0
4
-9
0
0
0
-42
0
0
0
0
0
-4
6
0
0
0
15
0
0
-9
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
0
0
8
0
0
-9
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
-9
0
0
-6
0
0
0
0
0
-5
0
0
0
0
0
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
-6
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
16
0
0
0
0
-2
0
0
0
0
0
0
-47
0
0
0
0
0
0
53
0
0
0
0
0
9
18
0
0
5
0
0
0
62
0
0
0
0
0
-7
-36
0
0
1
0
0
-5
-14
0
0
-1
0
0
0
10
0
0
41
-2
0
0
9
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
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
20
0
-2
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
6
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
3
0
0
-4
-3
-57
-49
0
48
-41
11
-3
60
23
11
-133
25
33
-22
1
-29
33
108
3
7
16
-2
-73
6
-23
-14
-56
-22
-29
-64
36
34
-5
51
0
-41
-7
-45
-36
-18
-22
15
16
-76
-2
-6
-11
80
58
-10
-67
45
-1
25
67
-2
0
12
2
-1
18
-16
39
76
2
-1
-42
15
-19
-6
-11
-20
-6
19
-33
43
44
0
0
0
0
0
0
0
-5
26
4
32
37
-18
51
-10
-34
17
29
-30
-23
48
-26
-26
-5
-42
23
-53
-33
15
-3
-37
-20
-4
-8
-45
45
-4
-46
3
-16
-54
76
1
5
-15
-3
5
-7
22
74
-1
66
9
26
-58
15
-19
14
69
-25
-26
16
35
28
-5
-56
27
2
-77
22
12
-16
-30
49
18
-16
25
17
12
-10
31
-26
39
23
-20
-12
24
0
-40
0
17
32
-19
4
-24
57
-20
-18
-27
44
-50
-32
-92
-3
46
-6
-13
-40
-4
40
-17
-74
8
-13
-42
-41
61
-20
4
-9
-24
-8
-44
-17
2
-49
8
-13
19
-80
-2
-1
-19
65
-10
-42
33
-76
-35
26
10
13
-4
-36
63
-76
-65
29
22
8
57
-83
-46
36
51
7
-49
42
-47
27
40
-7
-5
32
-28
22
22
42
-3
27
-40
25
17
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
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
0
0
7
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-6
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
10
0
0
-11
29
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
20
2
0
0
0
0
0
11
12
0
0
0
0
0
-7
21
0
0
0
0
0
0
-14
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
9
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
-8
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
16
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
-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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
2
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
-14
0
0
1
0
0
0
-8
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
-8
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
23
86
0
0
0
0
-7
-27
0
10
-18
-6
0
12
0
0
36
65
6
0
-31
16
0
-8
33
-58
2
116
-9
4
0
-29
0
0
22
14
0
-6
-10
-5
0
-80
-30
0
0
18
1
0
-6
-17
0
0
0
-8
0
0
0
36
0
0
0
0
0
17
33
35
-32
-1
0
75
-13
-1
0
127
0
0
0
0
0
0
0
0
0
-32
15
0
15
-32
-3
0
-22
-11
-1
5
8
121
0
-10
-36
-1
0
-15
4
0
-23
-91
0
-32
21
-13
0
6
50
8
0
-1
11
0
3
22
-11
5
-3
-1
0
0
5
3
11
0
-1
0
18
-56
-1
38
-49
16
0
11
3
0
10
100
0
0
51
81
-15
14
70
37
0
-45
13
0
-23
12
6
0
32
68
0
14
37
-63
0
20
4
0
-13
-34
0
0
0
-84
-2
7
77
-15
0
0
-23
2
1
0
0
0
5
5
2
0
0
5
0
-8
-5
-7
41
11
0
0
-21
61
0
16
47
9
0
45
11
-6
-43
-51
0
0
-60
-19
0
-39
-27
6
0
11
11
0
-9
-26
-8
0
-1
24
-13
-34
3
10
0
-1
2
2
-53
0
0
0
0
43
-5
-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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
1
26
0
0
6
0
0
0
9
0
0
2
0
0
11
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
-2
0
0
0
49
0
0
3
0
0
0
21
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
19
0
0
0
0
0
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
37
31
0
-68
-24
-29
79
-47
7
-37
-2
-5
3
-60
-2
20
-24
2
-2
42
-7
-25
-3
-45
44
-7
-1
-2
-11
-10
-18
7
2
-6
27
-15
37
-27
-6
-11
-36
27
-5
-99
-1
-88
-58
-7
4
-31
9
-19
-49
-22
12
14
-39
-2
-7
-34
-47
2
18
42
-25
-11
30
20
35
6
-16
-12
-61
4
-18
10
37
0
0
0
0
0
0
0
1
-6
-36
1
-9
-64
68
36
8
-17
-29
10
12
-54
2
-12
86
40
-16
62
-69
-57
12
-1
-1
-5
4
-23
-54
-11
43
-60
-69
-9
27
4
7
11
-10
-65
-20
6
15
13
61
-69
-29
-32
46
17
-25
-99
-28
-23
-15
-64
-21
-12
10
-117
-2
24
-38
11
15
35
-71
-9
3
-58
-7
-46
-54
-2
-10
-32
0
-2
-22
49
-31
7
-34
-24
-20
0
-52
-17
-35
-91
47
-37
-18
-97
27
-5
-12
26
19
-11
-7
37
31
14
-5
12
12
-37
-26
14
47
133
29
7
46
-12
-50
6
11
-21
22
5
-47
-17
94
24
-22
-21
-7
-49
22
36
-63
-55
5
-59
111
-16
15
33
7
0
53
-4
3
-21
-77
24
6
-22
0
-43
3
2
43
4
36
-65
57
-58
15
-5
15
2
17
8
-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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
1
0
0
0
0
0
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
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
2
0
0
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
2
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-7
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
-1
0
0
0
0
0
13
0
0
0
0
0
0
86
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
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
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
24
0
0
0
0
0
0
-16
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-20
2
0
0
0
7
0
65
0
0
0
4
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
-2
0
0
0
0
0
-38
-1
-1
0
0
0
0
13
0
0
2
0
0
0
0
0
0
0
0
0
-34
-3
0
0
74
0
0
0
63
0
0
1
0
0
0
19
0
0
-1
0
0
0
8
0
-2
0
0
0
0
5
0
0
0
0
0
0
46
-15
0
0
0
0
0
40
0
0
0
0
0
0
49
0
0
2
0
0
2
-8
0
0
0
0
0
-4
85
0
0
-19
0
0
0
29
0
0
11
0
0
2
-18
0
0
11
0
0
0
-76
0
0
2
0
0
0
-30
0
0
0
0
0
0
-38
4
0
0
0
0
0
-8
0
0
0
0
0
0
41
0
-1
1
0
0
0
78
0
0
1
0
0
0
7
0
0
0
0
0
9
17
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
56
0
-1
0
0
0
0
-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
3
0
0
1
0
0
0
2
0
-3
-9
0
0
0
-2
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
3
0
0
0
0
-19
0
0
-1
0
0
0
8
0
24
0
0
0
0
0
0
20
0
0
2
0
0
0
0
0
0
0
0
0
-41
17
0
0
-2
0
0
13
8
0
0
-10
0
0
-8
-13
0
0
11
0
0
0
-8
0
9
0
7
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
-4
0
0
0
0
0
-10
0
0
0
0
0
-1
77
0
0
0
0
0
0
-10
0
0
3
17
0
-1
-5
0
0
2
0
0
0
20
0
0
0
0
0
0
-72
0
0
0
0
0
0
46
0
0
0
0
0
0
76
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
1
0
0
0
16
0
-13
0
0
0
0
-1
0
-3
15
0
0
0
-2
0
0
0
-3
0
0
4
0
22
0
0
0
0
0
0
0
0
0
0
0
-9
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
12
15
1
0
0
5
-2
6
0
-1
0
10
0
2
79
-2
15
-6
18
-24
1
50
3
0
0
30
0
13
23
-16
0
8
4
9
-4
23
-5
0
0
-1
-1
-15
3
-3
0
0
0
15
-41
0
0
-24
0
0
0
-8
0
0
11
37
0
0
0
-44
69
13
-3
-113
0
0
0
0
0
0
0
0
0
5
99
-14
-6
25
11
-14
-8
8
0
-5
-25
-21
0
6
30
0
0
-57
0
1
1
-12
0
-48
-37
5
-3
0
24
0
0
0
-2
8
0
2
-8
-10
0
-1
0
0
0
0
0
0
0
0
-4
-45
7
17
29
-4
0
91
-10
0
-6
-33
0
0
-66
33
-2
44
52
0
0
45
-8
0
-1
-40
-23
-10
-7
32
0
1
135
-31
-10
0
-20
0
-1
9
0
-1
2
-12
0
0
11
-1
19
0
50
0
0
0
0
0
0
0
18
0
-8
0
0
-14
-74
2
36
10
0
-3
-11
-17
-5
3
57
0
0
11
-10
0
30
-12
0
0
23
43
-5
2
-17
0
7
18
-57
0
33
-16
0
0
0
-59
11
0
-17
0
0
0
73
0
54
-1
0
0
0
29
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
1
19
-3
43
46
-12
-14
-48
4
-7
-8
-12
55
4
42
11
-2
5
49
-20
29
-82
-43
0
12
-2
0
-21
27
39
0
-2
-28
21
12
-5
0
0
1
-8
0
-2
0
30
0
0
-3
3
46
0
-1
-19
0
0
0
2
-1
31
0
-7
4
0
0
61
-72
3
0
117
-2
0
0
0
0
0
0
0
0
-24
-3
-6
46
29
-1
10
-62
45
0
0
-49
4
3
-71
-23
0
0
-19
-8
0
-5
-16
0
50
-21
39
0
0
-3
0
0
0
0
-7
0
51
-58
-20
0
15
0
0
-26
1
0
19
3
0
12
-27
21
5
97
6
-5
-85
56
0
-8
-56
10
0
22
8
7
6
41
-62
-4
67
5
1
2
-111
-15
10
15
-2
-9
0
-52
-42
16
4
10
0
1
9
-5
15
0
7
-4
3
-8
22
53
0
31
4
7
0
-14
0
0
-18
-8
16
0
0
0
7
2
-1
-16
24
1
-7
25
40
0
70
-104
44
-9
42
-70
-1
-29
48
-20
7
3
13
6
7
45
12
-7
-22
63
0
-5
29
0
0
0
39
4
-6
5
22
0
-6
14
0
82
0
0
-19
0
14
0
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
-4
-6
0
0
0
-3
0
0
-23
0
-7
0
0
0
0
-5
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
-2
0
0
18
0
0
0
-6
0
32
0
1
0
0
0
9
-30
0
0
0
0
0
0
0
0
0
0
0
0
8
30
0
0
-11
0
0
-24
25
0
0
-9
-1
0
0
1
0
0
19
0
0
0
-1
0
-4
0
0
0
0
26
0
0
0
0
-3
0
-9
0
0
0
0
0
0
32
0
0
0
0
0
0
39
0
0
-5
0
0
0
62
0
0
-4
0
0
-5
-8
0
-23
34
0
0
0
-30
0
0
-16
0
0
0
-54
0
0
-24
-5
0
1
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
67
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
1
0
0
0
-13
0
0
0
0
0
0
-2
0
0
18
0
0
0
-3
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
-10
0
0
-3
0
0
-29
-11
0
7
-16
0
0
18
0
0
0
0
3
0
32
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
27
0
0
-2
0
0
0
5
0
18
0
2
0
0
0
0
-57
7
0
-11
0
0
0
0
0
0
0
0
0
44
84
10
0
-1
0
0
0
35
0
1
62
22
0
4
15
0
0
-2
0
3
0
-17
0
101
0
0
0
0
4
0
0
0
0
0
0
-15
-2
-2
0
0
0
0
8
0
0
0
0
0
0
30
0
0
0
0
0
-2
0
0
0
-2
0
0
-7
18
2
0
7
0
0
4
8
0
0
12
0
0
0
-28
0
0
19
-4
0
0
25
0
0
1
0
4
0
-4
0
0
0
0
4
0
-49
0
-1
0
0
0
0
14
0
0
0
0
0
-3
-48
0
3
-3
0
0
0
13
0
0
0
0
0
0
40
-1
1
0
0
0
0
7
0
0
12
0
0
0
26
0
-3
0
0
0
0
32
0
5
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
20
0
0
0
-7
0
0
3
0
0
0
5
0
0
-3
1
0
0
-7
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
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
16
-24
0
-2
14
0
0
0
-10
0
0
6
0
0
0
36
0
0
0
0
0
16
1
0
-1
0
0
0
0
8
0
0
0
0
0
0
-54
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
42
0
0
1
0
0
-1
41
0
8
5
0
0
1
-13
0
3
0
0
0
0
17
0
0
0
0
4
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
-2
0
0
0
-7
0
0
0
0
0
0
3
0
-2
-5
0
0
0
0
0
5
0
0
0
0
3
0
0
13
0
0
0
4
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
5
0
0
17
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
0
0
0
0
0
0
0
0
0
14
-4
0
0
0
-5
0
0
0
0
0
-17
0
0
0
0
0
3
-66
0
0
0
0
0
0
0
0
0
0
0
0
-4
-33
0
0
-5
0
0
0
6
0
0
13
-3
0
-11
-14
0
0
0
0
0
0
-7
0
-1
0
0
0
1
-43
0
0
0
0
0
0
30
1
0
0
0
0
0
-6
6
0
0
0
0
0
88
0
0
0
0
0
6
-39
0
0
2
0
0
3
9
0
0
-17
0
0
-10
25
0
0
15
0
0
0
16
0
0
8
1
0
0
4
0
0
0
0
0
0
19
0
-4
0
0
0
0
43
0
0
0
0
0
0
-10
2
0
0
0
0
0
42
0
1
0
0
0
0
54
0
0
4
4
0
0
76
0
-9
1
0
0
0
8
0
0
4
0
0
0
2
0
-1
0
0
0
0
-3
0
0
0
0
0
0
56
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
93
-4
3
-12
-14
0
-14
-32
41
6
-12
-67
13
9
74
45
0
0
-31
0
4
9
53
-13
0
0
0
-16
-14
6
0
0
-6
0
1
-1
23
0
0
13
-28
-22
0
0
21
0
0
0
47
0
101
38
39
0
0
0
11
-40
-4
0
-34
-4
0
0
0
0
0
0
0
0
-36
-23
3
67
53
2
0
-17
23
-1
14
-92
-24
-1
-55
-83
0
0
59
4
0
4
-17
0
-32
-61
8
0
-3
30
2
0
1
0
0
0
-27
13
-13
0
0
0
0
59
0
0
0
-3
0
19
76
1
14
-65
-2
0
-24
42
0
0
153
-7
0
71
-27
0
17
-144
34
0
39
56
0
-2
-15
20
21
-3
-16
0
3
13
-18
18
-26
41
0
-3
3
0
0
0
-34
0
0
11
-1
2
0
22
0
6
-2
-1
0
0
108
0
0
1
0
0
0
-22
-5
-77
-70
0
0
21
-1
0
12
1
-10
0
-41
26
0
14
117
5
0
23
11
-1
15
-48
49
-4
0
12
-4
108
-40
0
0
0
-5
0
0
5
19
3
0
25
0
-3
0
0
-12
0
8
6
-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
84
0
0
-12
-1
7
0
120
0
0
7
15
22
0
0
-1
0
21
-5
-4
19
48
4
0
3
-5
-9
-7
-41
10
0
0
0
0
-15
5
-14
0
0
3
-2
62
0
0
-8
0
0
0
-29
3
-1
-3
0
-2
0
0
-7
0
-6
0
45
0
0
0
0
0
0
0
0
0
30
3
0
0
30
7
0
15
8
0
13
6
24
0
25
1
0
0
-31
19
0
20
-3
0
-86
-20
0
0
0
-35
0
0
0
0
17
1
6
0
5
4
5
0
0
-18
0
0
0
0
0
-7
0
16
0
-5
0
0
76
-45
0
20
-74
-2
0
25
21
-10
17
4
-12
0
-22
125
2
-1
-5
-7
0
26
7
0
-4
16
-23
0
-29
67
4
-2
42
0
50
0
-25
3
0
0
13
-12
0
48
-1
0
0
-2
0
0
-11
2
0
0
0
0
-6
0
1
67
-23
0
0
10
-114
0
0
84
0
0
-4
46
-1
-24
72
-13
0
0
-52
0
-4
83
11
0
4
-43
0
-57
-5
0
0
-8
-41
0
3
12
0
0
0
24
0
-21
-4
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
47
0
0
0
-6
0
0
-20
0
0
0
81
0
13
59
-5
0
0
-4
0
0
-6
4
0
0
12
0
0
-1
0
0
0
0
0
0
0
-5
0
0
0
0
-21
0
0
0
0
0
0
20
0
-16
0
0
0
0
0
-1
78
0
-3
20
0
0
0
0
0
0
0
0
0
30
60
0
0
21
0
0
0
24
0
0
44
7
0
2
24
0
0
0
0
0
0
74
0
21
2
0
0
0
-15
0
0
0
0
0
0
20
0
0
0
0
0
0
51
-5
0
0
0
0
0
-22
0
0
1
0
0
-5
35
0
0
-1
0
0
-7
62
0
0
-8
0
0
0
32
0
0
22
0
0
0
55
0
0
-2
0
0
0
-43
0
0
0
0
0
0
56
0
0
0
0
-1
0
-27
0
0
0
0
0
0
7
1
0
0
0
0
0
-15
0
8
3
0
0
0
29
0
1
-3
-6
0
5
35
0
10
-8
0
0
1
-11
0
0
-1
0
0
0
-19
0
1
0
0
0
0
-23
0
0
1
0
0
0
-3
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
33
2
0
0
25
0
0
12
-17
0
0
-17
0
0
-1
0
0
0
-8
0
-1
0
-1
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
-5
4
0
0
-12
0
0
0
1
0
104
-2
0
0
0
0
0
26
0
0
7
0
0
0
0
0
0
0
0
0
-95
23
21
0
-29
0
0
-9
22
0
-1
6
0
0
-3
-27
0
0
-12
0
0
0
-11
0
10
0
-12
0
0
-52
0
0
0
0
0
0
15
-8
0
0
0
0
0
9
1
0
0
0
0
0
11
-2
0
-6
0
0
-2
129
0
-2
0
0
0
20
21
0
0
20
0
0
-1
4
0
0
-4
0
0
0
108
0
0
1
-3
0
0
23
0
0
0
0
0
0
-10
0
0
0
0
-6
0
-48
1
0
0
0
0
0
58
-2
0
0
0
0
0
-6
0
0
0
0
0
0
56
0
0
-2
0
0
0
7
0
-6
-2
0
0
0
-4
0
0
20
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
-3
0
0
-21
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
-2
0
0
0
38
-6
-13
57
8
-3
6
72
-17
17
90
94
0
16
-5
0
-9
-44
-38
7
9
45
0
-20
35
-32
0
0
64
0
-38
4
-6
6
0
3
6
-79
0
0
-30
0
0
1
-7
0
38
23
-8
0
4
0
29
-63
-6
-7
-11
16
0
0
0
0
0
0
0
0
36
13
6
52
259
-1
5
219
-21
5
3
-28
4
0
48
-26
0
5
-103
-3
-1
23
-10
-4
-32
2
-16
-7
-2
-52
0
0
-6
0
-7
0
10
70
-24
0
-3
0
1
20
-2
-6
0
-5
-6
-3
43
-28
-6
14
44
3
74
14
0
-17
-134
4
0
-66
-9
-2
25
0
25
10
-31
6
25
-82
-9
1
7
-28
-56
2
-12
-6
-4
7
5
-36
0
9
10
0
-10
1
50
-2
1
-7
-6
-7
15
31
-3
0
3
34
-21
0
18
-46
1
0
17
1
12
-94
-23
4
40
-1
0
-3
52
0
-11
-73
73
16
68
24
0
54
-16
13
0
-44
-21
0
-65
10
84
-6
1
38
0
-71
8
-17
-4
0
95
0
4
-5
-8
7
0
16
3
-40
5
0
106
0
14
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
0
-53
13
0
-2
-9
0
0
-35
-2
23
0
36
-6
0
23
12
0
0
-11
0
11
-30
-4
0
0
-67
0
42
-8
19
0
0
-9
0
37
0
-1
0
0
0
0
-68
0
0
-5
0
0
0
46
0
-18
1
45
2
0
0
19
-24
0
0
-9
0
0
0
0
0
0
0
0
0
8
-1
0
-9
-58
0
0
-48
79
0
0
-25
0
12
76
20
0
4
32
-1
0
1
57
0
23
29
0
0
18
16
0
0
5
0
41
0
-75
1
-13
0
0
-15
0
32
0
0
0
0
0
-13
-43
0
7
-2
0
0
18
-7
1
0
-15
0
1
35
-33
0
-3
2
0
0
43
52
-9
0
97
4
-27
19
-54
0
-25
120
7
0
45
-92
0
0
23
4
-15
6
0
0
0
18
4
-18
0
78
0
0
0
0
0
0
42
0
0
-3
0
0
0
106
21
-50
11
0
6
-14
-31
0
-15
-3
1
10
-12
40
0
-20
-5
0
0
6
5
1
5
-25
9
0
0
-8
0
-65
3
-4
-4
0
56
0
-3
-33
6
-3
-2
-8
0
-16
6
0
-12
0
-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
-47
0
-6
0
20
0
0
-68
-2
0
-12
-35
10
0
-25
2
0
0
-26
14
0
6
-15
0
0
2
0
0
-42
6
0
0
0
0
0
-8
-11
0
0
10
-1
0
0
0
-1
0
0
0
0
0
-38
-5
-2
0
0
0
-1
83
0
7
8
0
0
0
0
0
0
0
0
0
93
-12
0
-2
18
0
0
4
-5
0
2
-66
-8
0
48
-17
0
0
77
0
0
-18
-48
0
-36
5
-17
0
17
-39
0
0
0
0
0
0
5
-17
0
0
0
0
0
17
0
5
-2
-6
0
0
10
-5
3
25
0
0
74
9
0
0
2
0
0
36
27
0
1
20
-5
0
-6
32
0
0
-2
0
0
-8
80
0
0
106
12
0
-33
-106
0
0
-9
-2
0
-6
10
0
12
0
1
0
0
-38
0
0
0
0
0
0
97
3
0
0
0
0
0
23
0
17
-12
0
0
3
99
6
4
-23
8
0
-17
25
0
33
-17
0
0
1
78
0
4
-21
6
0
-1
73
0
7
9
0
0
0
22
0
0
-3
-2
0
0
-49
0
12
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
39
64
56
-81
17
-22
31
11
59
-71
111
-36
96
-50
38
-7
116
-51
-15
30
18
0
-60
21
33
35
56
-36
-18
54
11
3
57
-62
-14
-6
-33
36
-2
-4
-17
21
-2
18
31
30
36
-15
0
11
22
-4
-69
36
-14
-14
0
0
0
0
0
0
0
27
36
-8
-75
-18
-52
43
-21
39
78
89
42
11
-13
-8
-19
52
9
7
-14
-48
-12
-18
28
-5
-29
12
54
-87
30
16
30
-21
-15
-46
1
29
-18
0
23
19
-67
-1
-13
18
1
-41
-18
64
33
37
53
-26
-24
40
-28
24
3
6
-79
-7
27
-3
53
55
-9
30
25
-8
117
80
-7
117
31
21
-58
1
-1
-8
0
17
-3
-13
20
-27
-22
-35
-22
21
-8
-30
49
4
-22
50
-11
33
-8
-6
-14
23
52
25
39
-51
-1
-33
-6
65
11
55
29
-49
-8
-88
-14
-25
-48
-23
107
1
-41
-5
49
-32
-9
-33
-11
39
31
-2
0
48
-5
-30
41
24
20
65
117
30
-9
-3
-1
40
37
-60
120
-31
9
-70
62
33
25
45
-13
-88
8
-7
-36
-4
-1
-66
97
66
43
-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
21
-10
0
0
47
0
0
-7
-18
1
0
-1
0
-4
3
-4
0
-4
27
0
0
18
-10
0
0
0
0
0
0
-2
0
0
1
0
-9
0
0
3
0
0
0
1
0
14
-4
5
-14
0
0
22
53
0
-1
-5
0
0
0
0
0
0
0
0
0
54
-36
0
-8
-51
0
2
-5
2
0
0
28
0
0
33
-11
0
0
7
0
0
-5
-1
0
28
-1
-4
0
0
-34
0
0
0
0
0
-1
-15
-20
0
0
0
0
0
-75
0
0
-4
-3
0
4
-15
-5
12
0
0
0
80
0
-6
-1
33
8
0
-68
30
6
21
-15
0
2
40
-39
0
3
3
2
0
0
96
0
-2
5
-5
0
0
27
0
0
-5
-8
0
5
-24
0
12
11
0
-1
0
-14
0
0
0
-16
0
0
42
2
3
-3
0
0
-5
59
0
20
12
0
0
-13
0
0
1
42
13
0
-23
-12
0
-8
-18
8
0
0
-82
0
2
-18
0
0
0
-51
0
-16
4
0
0
0
70
0
0
-2
0
0
0
22
0
-24
-1
0
0
0
-70
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
2
3
0
0
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
0
0
0
66
0
0
-1
0
0
0
-57
0
0
-3
0
0
0
0
0
0
0
0
0
-3
41
0
0
-9
0
0
0
11
0
0
0
0
0
0
66
0
0
0
0
0
0
-2
0
-17
0
0
0
0
-18
0
0
0
0
0
0
8
1
-3
0
0
0
0
34
0
0
0
0
0
0
12
0
0
-13
0
0
-3
89
0
0
1
0
0
-3
-22
0
-6
-2
-3
0
-1
74
0
0
6
0
0
0
37
0
0
-1
0
0
0
85
0
0
0
0
-9
0
13
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
-10
21
0
2
0
0
0
0
59
0
0
1
0
0
0
3
0
0
0
0
0
0
-13
0
-1
0
0
0
0
-5
0
0
0
0
0
0
32
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
32
89
0
0
8
2
0
63
0
0
0
13
0
0
-4
4
0
0
4
-3
2
-5
13
0
0
0
0
0
0
0
0
0
0
0
68
0
0
-15
0
0
0
9
0
43
0
1
1
0
0
42
49
8
0
-3
0
0
0
0
0
0
0
0
0
74
4
0
-2
62
5
0
1
-23
0
0
-46
-10
0
55
0
0
0
-2
0
0
0
45
0
29
-10
-1
0
0
56
0
0
0
0
0
0
43
7
-1
0
0
0
0
3
0
0
0
0
0
11
-28
-17
-7
22
0
0
5
-43
0
0
3
0
0
-33
30
1
16
-6
0
3
-3
-21
0
0
74
0
0
14
-30
0
0
18
0
0
2
24
0
2
9
0
-6
0
15
0
1
0
0
0
0
-15
0
0
0
0
0
0
100
0
0
0
0
0
0
37
0
-13
2
-5
0
5
14
0
0
8
2
0
-1
-14
0
53
23
0
0
-5
-47
0
0
-4
3
0
0
-43
0
-12
1
0
0
-1
11
0
0
0
1
0
0
-25
0
-4
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
0
0
0
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
-26
3
-57
-81
7
24
-21
12
0
55
-11
-5
36
31
-3
37
-69
97
-35
-1
45
0
-1
-23
52
-32
48
-12
0
0
-34
18
-72
2
-7
-3
-1
-4
37
-22
3
29
-46
32
44
30
0
-57
38
80
25
88
8
1
0
0
0
0
0
0
0
-27
-31
-15
5
40
-2
31
69
-2
51
-62
44
9
15
85
-41
1
-7
-13
-29
69
-79
4
1
-23
96
27
49
9
-14
0
0
-35
7
-31
0
22
-19
22
0
53
-3
1
44
30
0
39
-6
0
-24
45
99
16
-68
-13
20
36
9
-5
19
-40
39
26
0
32
47
43
50
-8
-19
26
16
24
73
-31
71
-46
16
-5
-33
-108
-52
82
136
-55
-25
13
17
-39
-4
-21
15
1
-29
-32
72
20
32
0
11
-12
28
-1
-18
1
-4
-46
-37
22
37
-3
-4
-44
2
79
19
17
52
-50
4
14
23
25
-21
12
-3
-30
-27
1
98
28
-32
-2
39
23
0
-58
49
74
-59
76
1
-6
-7
-50
-4
-18
-24
1
0
-8
-155
-36
-24
-8
11
0
-79
22
2
18
0
13
-55
-16
-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
-15
12
0
0
8
0
-6
26
6
0
0
4
0
0
0
4
0
0
3
0
0
15
0
0
0
0
0
-14
0
0
0
0
0
0
-8
0
0
2
0
0
0
-8
0
-33
5
0
0
0
0
0
-31
0
0
1
0
0
0
0
0
0
0
0
0
-22
-7
0
0
40
0
0
-3
-61
0
0
1
0
0
0
114
0
0
0
0
0
0
-7
0
-1
-10
0
0
0
26
0
-6
0
0
0
0
-36
5
0
0
0
0
0
-72
0
0
0
0
0
0
63
0
0
0
0
0
-13
-49
0
0
-5
0
0
27
-24
0
0
-14
0
0
0
7
0
0
0
0
0
0
-56
0
0
16
0
0
13
49
0
0
0
0
0
0
-16
0
0
0
0
9
0
-21
0
0
0
0
0
0
68
-5
15
0
0
0
0
16
0
-3
0
0
0
0
-26
0
0
-14
0
0
0
32
0
4
0
0
0
-1
1
0
0
0
0
0
0
-14
0
6
0
0
0
0
16
0
0
0
0
0
0
13
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
28
0
0
0
9
0
0
0
3
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
4
0
0
0
0
0
5
0
7
0
0
0
0
-10
0
0
-51
0
0
0
0
0
0
0
0
0
-40
-50
0
0
-71
0
0
-11
23
0
0
21
0
0
-1
-35
0
0
16
0
0
0
35
0
7
0
24
0
0
-22
0
0
0
0
0
0
-1
0
5
0
0
0
0
-26
0
0
0
0
0
0
45
0
0
3
0
0
1
44
0
-1
62
0
0
25
-32
0
-1
20
0
0
24
-11
0
0
17
3
0
-8
87
0
0
-14
-2
0
0
-33
0
0
2
0
0
0
52
0
0
-9
-2
0
0
-48
0
0
0
0
0
0
19
0
0
0
0
0
0
16
0
-4
4
0
0
0
78
0
-4
27
-1
0
-2
96
0
0
-34
17
0
3
-44
0
0
-12
3
0
0
114
0
-7
7
0
0
0
-1
0
0
-18
0
0
0
41
0
22
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
18
58
-3
39
6
54
16
-14
0
-14
-7
-4
61
-110
21
-12
0
0
-45
-4
1
0
-36
0
0
-2
19
10
0
0
84
-1
0
-18
-13
0
38
63
43
22
24
0
41
18
0
20
58
3
-1
0
0
0
0
0
0
0
20
-34
-12
79
-27
10
1
37
26
-14
31
19
23
24
-5
-22
3
-38
18
-5
12
-34
-97
4
37
37
35
-27
-15
-94
-5
10
33
-1
-40
0
15
31
-30
0
-26
-28
4
4
4
-3
94
15
10
18
-15
123
-55
-44
-42
26
-43
22
-8
97
47
-17
-22
71
15
-10
-10
30
-49
2
24
45
7
-2
-7
43
-47
12
-40
-2
20
67
68
22
48
33
-4
3
57
-2
6
-18
-24
18
-47
160
-16
42
0
-6
-19
-36
4
19
46
0
36
-39
-10
-2
0
0
-25
-80
-30
52
76
0
8
-1
14
-4
-68
-6
-11
-3
-11
84
-5
-35
35
34
2
-45
-68
-34
-82
-49
16
-6
-53
-57
-3
3
3
2
3
-5
-52
12
24
6
16
9
0
-42
0
27
-35
-25
107
0
-46
-6
-7
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
-47
-17
0
0
92
0
9
5
1
0
0
-65
1
10
5
-16
0
0
-24
2
44
0
-11
0
1
-14
-2
-12
0
0
15
0
-7
0
-1
0
73
-54
55
0
0
0
105
2
0
0
12
0
0
0
0
0
0
0
0
0
75
0
0
-3
-80
2
0
53
25
0
-27
-18
5
0
10
62
0
0
-38
-8
0
-2
37
0
12
39
-20
0
0
32
0
0
0
13
-11
0
15
53
28
0
-5
33
3
14
-5
0
0
-17
0
18
-61
-2
-18
25
3
0
-21
132
0
-3
71
26
0
-20
0
0
10
-106
-2
-13
101
3
0
0
-58
-6
1
-1
-50
0
9
79
36
-4
11
7
0
0
-12
1
-11
-5
-144
-13
-2
-11
-15
8
0
3
0
3
1
0
0
0
-36
25
3
0
0
0
14
-23
0
-7
-26
-2
0
-1
21
0
3
113
18
0
-35
0
3
88
5
-2
0
61
-74
0
-3
-26
5
-17
-9
-25
0
-5
-23
0
0
-1
-41
0
-2
16
0
0
0
-10
0
-12
0
0
1
0
6
11
-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
-15
0
0
0
0
0
-1
-16
1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-4
0
-15
0
0
0
0
0
0
4
0
-21
0
0
6
0
0
4
39
0
0
6
0
0
0
0
0
0
0
0
0
-34
13
0
-5
-16
0
0
-18
28
0
0
13
0
0
-3
-29
0
2
5
0
0
0
29
0
30
4
0
0
0
5
0
0
0
0
14
0
29
-3
1
0
0
0
2
-50
0
0
0
0
0
-16
12
0
6
-21
0
0
0
-82
0
0
-11
0
0
3
37
0
0
1
4
0
1
-44
0
0
-14
0
0
0
-49
0
0
3
0
0
0
165
0
0
0
0
0
7
21
0
-1
0
0
-4
0
83
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
1
19
0
0
0
-26
0
0
0
0
0
0
-14
0
12
1
1
0
0
13
0
-4
4
0
0
0
0
0
0
0
0
0
0
23
0
35
0
0
0
0
-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
22
-25
0
0
4
0
-1
3
-2
0
0
1
0
6
7
0
0
0
0
0
-23
0
11
0
0
0
0
10
0
0
-4
0
0
0
17
0
-18
-28
-1
4
0
0
-23
119
0
0
-12
0
0
0
0
0
0
0
0
0
-44
51
0
4
82
2
0
-32
-105
0
0
-47
-1
0
19
37
0
4
51
0
0
3
30
0
22
-2
-22
0
0
-41
0
0
0
0
3
0
51
-9
0
0
0
0
0
30
-5
0
0
0
0
-1
-6
0
6
-25
8
0
11
-37
0
0
-66
0
0
-6
141
0
1
-13
0
0
-34
-21
-3
-10
40
-4
0
1
-21
0
0
-1
19
0
0
39
1
0
11
0
0
0
48
0
0
0
2
10
0
-32
0
0
-8
0
1
0
0
-14
0
17
0
0
-4
53
0
-3
0
0
0
1
33
2
0
0
0
0
12
-7
0
0
11
0
0
17
37
-10
0
-33
0
0
-1
-58
0
-5
52
0
0
0
-98
0
0
10
0
0
0
72
0
-29
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-2
32
23
0
0
30
24
11
0
-65
32
-121
-44
84
0
0
5
2
-77
-8
14
0
4
-22
8
42
0
-2
84
0
0
9
45
13
24
10
-95
-5
-34
0
-53
-12
17
17
61
0
6
0
0
0
0
0
0
0
-25
-24
-2
25
14
3
0
-54
33
-1
13
-23
69
-3
47
15
2
38
-126
-3
22
4
-6
0
-74
-22
-130
14
-8
15
5
2
5
0
-6
0
-25
45
48
0
-1
-2
-11
23
-11
3
9
15
0
-13
-41
70
-28
56
21
32
8
25
3
14
49
4
19
-15
44
-33
2
2
5
2
67
-4
-10
5
0
20
14
23
43
-6
18
13
-28
-20
23
41
0
15
-25
5
-13
20
8
5
20
-6
-41
11
0
-25
35
-1
0
14
2
2
-24
64
-23
35
-4
-3
-43
-59
33
-62
-8
0
-3
25
38
14
-131
-4
-42
-8
-54
68
0
112
8
25
-7
105
9
23
-5
-17
114
116
-66
9
5
9
-23
-26
-10
-12
85
2
26
85
72
-4
1
-19
-7
-79
0
0
54
0
-38
74
-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
22
7
-9
0
47
0
-10
4
78
-1
0
41
0
2
-11
-47
-4
0
13
0
-2
4
3
0
0
-12
0
37
0
0
-2
0
0
0
-42
2
45
-2
-19
4
0
0
-21
-31
3
0
29
0
0
0
0
0
0
0
0
0
17
20
0
18
-38
0
0
71
-77
0
-6
6
1
0
5
-59
0
-9
-24
4
6
3
-33
0
-11
57
0
14
4
-7
0
0
0
0
37
0
-3
52
-47
1
0
3
0
-3
-9
0
-4
0
0
25
-26
-11
-7
-12
2
0
24
101
0
6
50
0
0
86
-39
0
0
36
-13
0
-64
8
0
12
22
-1
19
27
-62
2
0
-33
0
1
-12
34
0
22
10
0
-19
13
-15
10
25
76
0
-28
0
16
-6
0
0
0
-4
0
-25
-16
0
0
0
0
9
-60
3
66
-27
0
21
30
27
-6
-4
9
0
0
-32
-4
6
16
50
-3
0
37
52
0
-6
17
-15
12
-2
-16
0
-9
-21
0
0
4
-9
0
16
-15
0
10
0
-23
0
-45
13
0
1
0
35
-9
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
38
-1
0
0
10
5
0
-11
4
0
2
-13
-8
0
-3
0
0
0
13
0
0
0
-6
0
0
-17
2
0
0
0
-94
0
-2
0
0
0
48
11
20
-22
0
0
-12
-48
1
0
98
0
0
0
0
0
0
0
0
0
33
-6
0
1
1
0
0
-28
-26
0
0
5
-36
0
5
-103
0
0
5
0
0
0
89
0
-20
-17
14
0
0
55
0
-5
0
0
0
0
28
10
0
2
3
0
0
1
-4
0
-4
0
0
9
-10
-1
0
46
0
0
-28
28
0
7
28
0
0
39
-9
0
0
95
35
0
-8
-7
0
-12
34
3
0
-3
28
0
0
-69
-13
0
-2
63
0
5
4
0
0
0
-65
0
3
0
-16
0
0
15
0
-8
0
0
0
0
-20
0
0
0
0
0
10
-24
21
27
-19
0
0
14
-17
1
15
94
3
0
21
8
0
-7
51
-7
0
-14
58
0
1
48
-31
0
-1
13
0
48
0
0
0
0
100
0
-5
1
0
0
0
-106
0
-40
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
57
72
60
-22
27
-5
-27
41
20
17
-3
-110
-7
-44
-10
31
5
-1
42
-41
14
0
4
46
-1
-1
47
-14
-5
-12
-32
-69
14
-47
2
-20
30
84
4
-28
-9
1
0
0
0
0
0
0
0
-18
-10
26
-5
-6
37
-16
47
-15
-74
37
5
62
1
8
-10
-26
21
18
-21
-30
-18
-26
7
43
-56
28
5
40
3
41
0
-25
16
32
20
29
30
27
-5
83
0
-2
-6
-30
-6
1
47
0
-23
-5
40
-40
16
-53
68
57
37
-63
34
17
22
-7
-55
14
5
60
-61
-17
16
106
8
12
56
47
21
62
-27
15
20
-27
66
-68
-45
7
27
-2
-16
77
-7
81
23
20
0
6
-3
18
-9
0
19
-36
2
2
-7
-26
4
-30
-30
-12
1
-9
0
-50
-17
71
52
16
30
43
-3
0
37
-88
82
19
8
-30
24
-26
24
-14
-20
-27
-90
27
-25
-15
-10
-23
-10
-26
-17
0
-68
41
66
14
22
-32
24
-43
28
59
-16
-11
-9
1
13
16
12
-19
0
22
-6
44
-4
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
-49
-76
0
-2
25
1
-4
56
94
0
0
8
2
11
0
70
0
0
11
-2
11
0
0
5
0
0
0
3
0
13
8
9
-11
0
0
-16
36
0
0
17
0
0
0
0
0
0
0
0
0
2
46
2
-5
10
14
0
8
0
13
6
35
0
0
34
77
0
4
13
0
0
20
-15
-8
-63
15
19
0
-4
-11
0
0
0
2
-3
0
-32
-7
-22
0
-6
0
0
12
-15
1
0
-8
0
-4
-72
7
10
61
-6
0
-18
72
0
-2
19
0
2
-35
11
-2
-7
-1
-16
0
100
0
0
5
-48
15
-13
-8
-34
8
43
44
0
0
2
-35
0
-1
-16
0
10
0
47
0
0
-2
4
-38
0
11
0
-3
0
0
0
0
19
15
0
0
2
0
-2
54
1
1
-1
0
9
-22
24
0
-42
74
9
0
5
-74
0
33
9
3
0
-39
0
0
-3
-10
9
-10
7
47
0
18
4
0
0
0
2
5
-3
9
0
0
-4
-2
0
-4
0
0
0
0
-34
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
-51
0
0
-2
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
-1
93
0
0
5
0
0
14
21
0
0
1
0
0
3
23
0
0
0
0
0
0
-11
0
-3
5
0
0
0
21
0
0
0
0
0
0
76
2
0
0
0
0
0
-42
0
0
0
0
0
0
62
0
0
0
0
0
6
-7
0
0
2
0
0
0
-70
0
0
9
0
0
11
49
0
0
0
0
0
0
15
0
0
0
2
0
0
18
0
0
-1
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
34
0
0
0
0
0
6
6
0
-7
0
0
0
0
6
0
0
-7
0
0
0
22
0
24
-1
0
0
0
63
0
0
2
0
0
0
-1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
15
6
0
0
4
0
0
4
0
0
0
0
0
15
0
0
-2
0
0
0
0
0
-29
0
-1
0
0
0
3
45
0
0
18
0
0
0
0
0
0
0
0
0
-15
61
0
0
8
2
0
-18
7
0
-1
7
0
0
-22
51
0
0
2
0
0
25
-5
0
-50
0
0
0
0
-19
0
0
0
0
0
0
42
-1
0
0
9
0
0
12
0
0
0
0
0
0
92
15
0
13
0
0
10
-46
0
0
7
0
0
11
57
0
0
-32
18
0
0
-44
0
0
-19
13
-3
0
-34
-11
-1
-1
0
0
-37
-25
0
0
0
0
0
0
14
-5
0
-3
-14
0
0
66
0
0
0
0
0
0
5
0
-6
0
0
0
6
-16
0
-5
0
0
0
4
-86
0
0
9
0
0
0
-69
0
0
-67
0
0
0
0
0
-10
6
0
0
0
68
0
3
0
0
0
0
-1
0
0
0
0
0
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
3
-60
35
-6
34
-60
0
0
-5
0
-57
0
-41
-1
0
0
-40
123
0
0
14
0
0
-19
-53
0
24
62
16
4
-8
0
7
22
-7
-13
114
14
0
0
0
0
0
0
0
0
-37
-9
1
5
61
0
0
109
-9
5
-42
-78
-21
-9
-12
16
2
4
-4
-7
7
-8
-23
-3
10
5
29
0
-16
-64
0
0
0
-4
-2
0
-8
99
-35
0
-1
0
1
-17
72
0
0
2
0
46
2
-124
-64
-2
2
-3
14
28
-12
7
-121
-11
16
63
-21
0
2
-37
-12
0
-46
-7
0
0
-7
21
-3
65
-11
9
15
122
-105
17
-50
-9
0
-3
-8
-8
9
11
55
5
-4
6
11
-7
15
-7
10
0
0
-11
5
0
-1
32
1
0
14
0
-10
-54
0
114
-11
4
0
16
48
0
109
-4
-3
-2
38
36
-4
26
38
-5
11
45
51
0
1
116
-3
0
2
-25
0
40
32
0
0
-3
24
-1
-1
91
15
-1
0
20
0
9
0
16
-22
0
48
-5
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
-16
0
0
-20
0
0
0
0
0
135
0
0
0
0
0
1
47
0
0
-10
0
0
0
0
0
0
0
0
0
5
-11
0
0
2
0
0
1
-59
0
0
-35
0
0
-18
18
0
0
0
0
0
0
-6
0
-43
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
-28
-13
0
0
0
-7
0
0
0
0
0
-2
-29
0
0
10
0
0
-6
53
0
0
1
0
0
0
-5
0
0
10
0
0
0
58
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
-10
19
0
0
0
0
0
0
-23
0
1
0
0
0
0
-2
0
-3
0
0
0
0
-15
0
-2
0
0
0
0
-10
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
25
0
-20
0
0
0
0
0
0
0
-10
0
0
0
28
0
0
0
50
0
0
0
0
0
49
-50
5
0
0
0
37
-18
0
0
-32
0
0
0
0
0
0
0
0
0
29
-5
0
0
26
0
0
57
-37
0
7
9
-1
0
-22
32
0
0
28
-5
0
3
-19
0
-13
57
21
0
0
7
0
0
0
0
0
0
39
-40
9
0
0
0
0
10
-3
0
-3
0
0
10
-30
0
0
-6
0
0
28
10
0
0
-23
0
0
104
32
0
2
-22
52
0
-28
-21
0
3
13
0
0
56
46
0
-35
-11
-19
0
-5
-5
0
0
10
0
0
0
44
0
3
1
12
0
0
39
0
-14
0
0
0
0
6
-3
0
0
-7
0
-4
8
0
2
1
0
0
-6
13
0
3
30
0
0
9
70
0
-42
50
0
0
3
6
0
12
37
-15
0
-3
69
0
-5
-17
0
0
-4
42
-3
-12
-8
-2
0
0
43
0
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-91
9
17
0
-30
0
0
15
3
-147
0
0
-89
0
0
0
1
0
28
44
9
0
-5
0
40
-32
3
-5
-23
0
-17
0
0
0
0
0
0
0
36
-10
0
4
-9
-1
0
41
-74
-8
-11
19
0
0
10
-21
4
2
-19
5
0
0
88
0
61
-26
-13
-11
0
-36
0
0
-5
-2
55
0
-51
18
-14
0
-9
0
-8
-49
-1
0
0
-1
0
-2
44
4
17
55
18
22
13
-11
0
-15
-51
0
0
21
38
0
27
16
36
-11
-8
-36
12
18
-54
-34
0
46
18
-9
-47
51
-51
6
0
35
0
-2
72
0
45
0
92
-16
2
6
19
-62
0
11
4
0
0
-8
0
0
-21
20
6
0
0
0
2
58
3
56
-16
0
7
0
-34
0
-67
23
10
0
0
-52
0
115
1
0
0
0
58
0
31
9
13
-5
-5
74
0
83
-25
-13
0
0
16
0
-13
-1
-14
1
0
23
0
35
0
0
-22
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
-11
0
0
2
0
-3
7
6
0
0
6
-1
19
0
-5
-7
0
0
16
0
0
51
-8
49
-26
1
0
-15
17
6
-13
1
0
0
0
0
0
0
0
0
0
33
11
-19
0
65
0
0
63
-28
0
0
-27
-1
-3
126
0
0
6
-4
-9
0
0
22
0
-15
-8
0
0
-3
-121
0
0
4
0
7
0
1
14
7
0
0
0
0
-23
-1
0
0
-5
0
6
28
-10
14
34
16
-24
4
-2
-1
1
115
0
0
-71
-4
-1
-18
39
16
0
-2
6
0
6
15
0
12
14
0
3
0
-37
9
-14
-2
34
0
0
-6
-7
-4
0
-22
0
0
0
16
-5
0
44
0
6
0
-4
0
0
13
6
9
7
0
0
-2
-29
-8
-37
-9
0
-9
0
9
0
27
68
0
0
1
47
-4
-21
-16
0
0
36
-33
7
36
23
-22
-4
-13
0
0
-21
-15
-1
0
0
38
0
11
-2
4
0
0
-18
0
-42
0
0
2
0
-71
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
-2
0
9
0
0
0
0
16
0
0
8
0
0
0
0
0
50
0
0
0
0
0
0
12
0
0
8
0
0
0
0
0
0
0
0
0
20
27
0
3
5
0
0
0
19
0
0
4
0
0
2
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
11
0
0
0
0
0
0
60
0
0
0
0
0
0
4
0
0
0
0
0
0
32
0
0
0
-13
0
-2
73
0
0
-10
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
6
0
0
0
0
20
0
0
0
0
0
0
26
0
0
-9
0
0
0
-5
0
-2
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
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
8
0
0
0
0
0
0
0
31
0
0
0
-10
-12
0
0
1
0
0
0
0
0
42
0
0
0
0
0
0
-35
3
0
0
0
0
0
0
0
0
0
0
0
1
-61
0
-1
34
5
0
25
25
0
0
1
5
0
0
-40
0
0
-7
0
0
18
-1
0
-6
-20
0
0
0
87
0
0
0
0
0
0
9
0
0
0
-3
0
0
11
0
0
0
0
0
0
6
0
0
2
0
0
-1
-5
0
15
-2
0
0
38
-21
0
0
-7
2
0
34
46
0
0
62
0
0
-4
6
0
0
19
0
0
-3
69
0
0
5
0
0
0
-26
0
0
0
0
0
0
139
0
0
0
0
0
0
17
7
0
0
0
0
1
-2
0
0
0
0
0
0
-8
0
0
0
5
0
-31
25
0
0
-2
0
0
-1
27
0
0
0
1
0
0
4
0
4
-3
0
0
0
4
0
0
0
0
0
0
-26
0
0
10
0
28
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
14
0
-43
23
-65
3
0
0
-9
-19
0
0
-23
0
0
0
50
0
-66
-60
-14
-9
11
0
-84
-21
-7
0
-15
0
0
0
0
0
0
0
0
0
-2
22
-5
-33
32
-8
0
-7
-15
0
-5
85
25
-5
-22
26
0
0
25
0
-6
-11
24
0
27
2
77
17
8
-92
0
0
0
0
3
0
5
-56
-12
0
24
0
0
-44
49
1
0
0
0
80
17
5
-8
-27
-7
-4
38
62
0
-4
17
-6
9
-4
11
0
-80
-21
-53
-3
60
13
5
-12
78
-9
-4
-3
-34
-17
10
3
-37
-10
1
-45
0
-4
-2
0
120
0
21
4
-12
0
51
-39
0
-29
52
0
0
20
-4
0
88
18
0
10
0
0
3
-31
0
46
85
2
-16
-17
18
0
0
-1
-23
-12
35
64
-2
-29
-49
-2
7
-13
-2
5
20
-1
77
-15
-7
19
1
-27
9
1
9
0
39
0
-4
-3
13
-2
0
3
2
-9
0
0
55
0
6
-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
0
0
-95
0
0
0
0
0
-7
-6
28
0
0
0
0
-46
0
0
-15
0
0
0
4
0
-26
-1
16
5
0
0
9
-41
0
4
35
0
0
0
0
0
0
0
0
0
-29
19
0
0
-48
0
0
52
-90
0
0
61
0
0
5
28
0
0
31
0
0
0
61
0
20
-9
0
0
-4
93
0
0
0
0
0
0
62
-5
0
0
0
0
0
-35
0
0
0
0
0
3
3
2
-5
67
0
0
6
-28
0
0
-3
0
0
5
-4
0
0
-32
0
0
-28
-60
-3
0
-27
0
-1
15
5
3
0
-26
0
0
0
37
0
0
7
0
47
0
73
-7
0
0
0
18
0
20
0
0
0
0
0
0
53
1
0
-1
0
0
-1
-12
0
8
6
0
0
-6
-40
0
-1
-67
0
0
4
23
0
-3
-1
0
0
0
25
0
-5
-14
0
0
0
39
2
30
-27
0
0
0
-23
5
-5
0
0
0
0
29
0
24
0
0
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
-8
42
0
0
-7
0
0
0
22
0
4
-14
8
0
0
0
-21
0
0
-6
0
19
40
59
7
23
0
0
38
48
0
5
-44
0
0
0
0
0
0
0
0
0
-15
-75
0
-7
36
0
0
92
17
0
0
-10
-61
0
44
-16
14
0
-35
0
0
13
-34
0
21
-7
15
0
1
68
0
0
0
-2
0
0
1
-7
-7
0
20
0
0
-41
-18
0
-4
0
0
-14
-28
0
-8
-42
-17
0
74
32
0
0
-44
0
0
26
-5
0
-7
-107
13
0
-64
-26
0
-1
-17
0
0
-5
-14
2
0
63
72
0
-2
-15
0
-3
-16
0
0
0
27
0
2
14
-8
0
0
89
1
0
13
1
0
0
42
8
-4
0
0
0
5
-44
0
19
9
0
0
21
12
-1
-6
50
0
0
-4
84
0
-16
41
0
0
17
-12
-3
0
-36
37
0
20
22
0
-17
9
0
0
-14
5
0
11
24
-3
0
14
-35
0
13
-5
6
0
0
55
0
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-80
0
-2
0
0
0
-2
13
2
-16
-9
-16
0
7
0
15
-16
8
4
-63
9
5
0
0
0
0
0
0
0
78
-36
-8
-4
25
0
-11
46
9
0
0
43
0
-1
21
-29
0
-17
-6
5
0
-2
-7
0
13
-58
-26
0
-2
-29
0
0
15
0
-1
0
7
27
-29
0
33
0
0
24
-6
-2
2
-4
0
13
-35
0
-5
29
-13
1
-121
-17
1
23
-66
17
-3
78
-1
-12
-42
-26
48
0
108
15
-3
-21
40
-54
41
-1
39
2
4
58
39
-9
-6
38
0
-2
-2
17
-62
0
-9
-5
3
-10
3
-10
0
22
0
0
0
-2
1
0
-36
43
10
-14
0
0
9
34
0
46
-37
-2
-10
11
-43
13
43
22
-22
0
-26
8
0
-22
31
-3
0
0
-14
0
2
-21
-12
0
-3
28
0
-54
-6
11
8
0
98
-1
-12
0
-67
-10
0
-23
0
51
-7
0
4
0
71
-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
-17
0
0
0
1
14
0
-9
-12
0
0
0
-7
-1
13
12
-4
0
0
0
52
-10
0
0
-13
0
0
0
0
0
0
0
0
0
-20
6
9
2
21
9
3
27
-26
0
14
58
3
1
-8
87
0
0
29
0
7
16
0
4
7
7
7
0
0
-11
0
1
0
0
-8
0
5
3
-17
0
0
0
0
23
0
0
0
0
0
2
41
13
10
107
2
-6
3
-27
-8
1
13
0
0
-20
26
-4
68
-19
19
0
97
-23
0
0
28
-4
1
0
50
0
0
-34
6
0
0
0
10
-1
-13
8
1
0
5
0
7
-1
-7
15
0
95
3
11
0
0
0
0
-32
-2
0
0
2
0
-9
23
0
12
-35
9
0
0
-54
0
-11
55
0
0
-6
-10
0
45
-41
3
0
2
-2
0
13
-58
-8
0
12
-46
0
60
14
-1
0
-9
0
0
0
3
11
0
0
66
0
38
13
0
0
0
-32
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
-17
0
0
0
0
0
0
0
0
-28
0
0
-1
0
0
0
32
0
0
4
0
0
0
0
0
0
0
0
0
-1
55
0
0
0
0
0
50
35
0
0
0
0
0
0
-9
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
77
0
0
0
0
0
0
-10
0
0
14
0
0
0
13
0
0
0
0
0
0
-29
0
0
0
0
0
0
43
0
0
0
0
0
0
26
0
0
-4
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
-1
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
55
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
4
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
0
0
-3
0
0
0
0
0
0
1
1
0
0
5
0
0
0
0
0
-3
-3
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-49
0
0
0
0
0
0
95
0
0
0
0
0
0
-15
0
0
0
0
0
0
-58
0
0
-3
0
0
0
-33
0
0
0
0
0
0
-26
0
0
-8
0
0
0
-1
0
0
0
5
0
0
-60
0
0
0
0
0
0
-9
0
0
0
0
0
0
84
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
1
0
0
-1
0
0
3
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
20
0
0
0
7
-48
0
0
-12
0
0
0
-4
0
9
0
-5
8
0
0
-17
2
0
0
44
0
0
0
0
0
0
0
0
0
25
38
6
8
-44
0
0
-14
-27
0
5
-9
0
0
-1
-74
0
0
15
-4
0
19
3
0
24
8
-5
-5
0
60
0
0
1
3
0
0
-17
10
-10
0
0
0
0
65
0
0
0
6
0
0
-47
0
0
1
0
0
-21
36
0
-1
-9
0
0
-2
-19
-13
3
144
11
-2
-5
-39
4
8
-3
-6
-3
16
83
0
16
1
-8
-2
0
37
2
-2
2
0
21
0
-56
0
-12
0
0
85
0
-50
0
0
0
-4
0
0
2
0
0
1
0
0
4
-25
-20
13
0
-3
0
2
-65
4
-5
4
-5
0
0
-22
0
27
-7
2
0
-1
29
-6
0
-1
-10
0
17
-25
0
-17
-10
-10
-6
0
-22
0
0
0
9
0
0
47
0
0
0
0
-5
0
97
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
-4
0
0
-2
0
0
0
0
0
45
0
0
0
0
0
-4
-143
0
0
-1
0
0
0
0
0
0
0
0
0
-7
37
0
0
-11
0
0
0
22
0
0
0
0
0
11
-5
0
0
0
0
0
3
0
0
5
0
0
-3
0
-23
0
0
0
0
0
0
-16
1
0
0
0
0
0
-96
0
0
0
0
0
0
2
0
-6
0
0
0
0
-27
0
0
24
0
0
0
-6
0
10
-11
0
0
0
-22
0
0
0
0
0
-15
24
0
0
3
0
0
-3
-1
0
0
0
0
0
0
-10
0
0
0
0
23
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
36
0
0
-1
0
0
0
13
0
5
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
-2
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
43
0
0
6
15
0
0
0
87
0
0
0
0
0
-4
-5
1
-2
0
0
4
-13
0
0
-46
0
0
0
0
0
0
0
0
0
-27
-60
0
-11
11
2
0
6
22
0
5
-31
-76
0
19
-31
0
-14
99
0
0
8
52
-4
-75
26
16
0
0
16
-19
0
17
0
0
0
24
-11
-15
0
-12
0
0
-12
-2
0
-10
0
0
17
-22
0
0
-28
-10
0
67
66
-3
0
26
-6
0
25
-18
0
-42
-15
8
0
-60
32
0
0
74
0
0
12
-24
-8
-3
44
-61
0
25
21
0
-10
7
0
0
-2
30
0
1
-4
4
0
0
-41
0
0
0
5
0
3
41
-12
0
0
0
0
7
-12
0
85
-48
0
0
-8
62
0
3
63
27
0
18
11
9
54
-45
-1
0
-1
28
0
47
2
0
0
0
-46
0
-32
-16
0
0
5
39
0
-14
21
-1
0
0
7
0
129
-2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
-29
0
0
2
0
0
0
0
0
0
0
0
0
-1
41
0
0
34
0
0
0
78
0
0
-1
0
0
2
12
0
0
-19
0
0
0
37
0
-15
-2
7
0
0
42
0
0
0
0
0
0
66
15
0
0
0
0
0
-20
0
0
0
0
0
0
22
0
0
-9
0
0
-7
1
0
0
6
0
0
-4
123
0
0
-2
16
0
0
-92
0
0
-5
0
0
0
-15
0
1
-7
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
-1
0
0
0
4
-22
0
0
-9
0
0
0
-24
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-11
0
0
5
0
0
0
4
0
0
0
0
0
0
-10
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
-4
-11
0
0
0
-17
-1
1
-5
9
0
0
0
7
-24
-4
0
-35
1
-4
0
0
0
0
0
0
0
-59
0
32
19
-11
1
0
-45
19
0
0
40
2
0
-11
-56
0
-4
58
0
-1
-1
-28
0
-4
0
-19
0
3
0
-7
-5
-8
6
-9
0
21
-12
-36
0
0
0
0
47
-25
0
0
0
0
4
-33
14
13
41
0
25
-13
52
0
0
-50
0
3
39
-39
9
0
-35
-9
0
-92
-24
0
-35
48
5
0
23
2
0
3
-42
14
6
2
5
0
0
-3
0
-18
0
0
0
0
0
-8
1
0
42
2
0
0
-4
0
0
45
16
0
0
-2
0
-5
36
0
-4
12
0
-18
0
21
0
-17
-8
-5
0
-35
7
0
-14
25
0
4
7
25
2
-10
19
-3
-2
0
-45
0
-23
-20
0
-5
0
4
0
-1
-2
0
0
0
0
0
6
-12
-5
12
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
-8
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
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
6
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
-24
0
0
6
0
0
0
-36
0
0
0
0
0
0
1
0
0
11
0
0
0
1
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
6
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
-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
-5
1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
1
0
0
0
4
0
0
0
0
0
0
-1
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
40
0
0
0
0
0
0
-11
0
0
0
0
0
0
15
0
0
0
0
0
1
1
0
0
0
3
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
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
7
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
-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
29
0
0
0
0
0
-9
-1
0
-1
0
0
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
-53
-3
0
0
45
-3
0
-12
-21
0
0
0
-16
0
3
-36
0
0
-2
0
0
0
17
0
31
0
-11
0
0
26
0
0
0
0
-15
0
57
0
0
0
0
0
0
8
0
-5
0
2
0
1
29
0
0
0
0
0
-4
-57
0
0
25
0
0
4
-91
0
0
1
2
0
27
-18
-1
0
5
0
0
0
28
0
1
1
22
-21
0
-68
0
0
4
0
-10
0
-12
0
0
0
-6
0
0
-22
0
0
0
16
0
0
-36
5
0
0
0
0
0
10
0
-13
0
0
0
0
-27
0
0
0
5
0
0
9
0
0
0
0
0
-2
32
0
0
0
9
0
0
86
0
4
0
0
0
0
12
0
0
0
0
0
0
30
0
-3
0
-2
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
-22
0
0
0
15
0
-3
-15
8
0
0
0
8
-47
0
0
32
0
-7
0
0
0
0
0
0
0
-34
16
0
8
-1
0
0
135
14
0
0
32
0
-2
-13
59
0
0
8
0
-1
-7
-6
0
-21
-7
0
-3
11
16
0
0
-2
0
9
0
14
-6
1
0
0
0
0
-9
0
0
0
0
0
-3
67
0
0
19
0
-9
-2
-46
0
0
-18
0
0
11
-30
0
-19
-14
0
0
0
-35
0
-16
59
-12
0
17
-21
-7
9
-41
0
1
0
36
0
0
-3
0
7
14
-10
0
0
-12
0
38
0
37
0
0
8
0
0
0
-37
-5
0
0
0
0
0
54
0
-79
4
0
-2
-2
73
3
2
-3
0
0
-7
86
0
42
-4
0
0
8
34
0
-11
11
0
0
-5
32
0
46
0
0
0
0
-45
0
0
6
-1
0
0
59
0
4
0
0
-1
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
15
-1
-1
0
-14
0
12
-9
-7
-44
-16
-30
0
-13
7
29
-3
35
0
0
0
0
0
0
0
0
0
4
32
13
-48
-123
-2
0
24
-29
-1
-21
-24
21
0
53
4
0
51
22
-1
0
-8
32
16
-17
-1
-8
0
35
33
-24
-10
-17
-1
0
0
17
-16
3
2
-35
0
2
-17
44
2
14
-23
0
10
1
27
45
18
-50
0
-46
3
34
-3
14
10
0
51
51
29
-12
-19
17
0
54
14
11
71
42
3
0
42
28
49
75
10
93
0
5
16
0
-49
-74
1
0
-4
42
59
-98
-57
26
0
-1
35
-2
59
-6
0
0
5
-4
31
5
-6
-26
0
-4
25
-18
-35
-43
-16
0
27
-14
-15
43
15
-54
0
12
32
-3
-43
-19
1
7
-81
33
13
61
20
15
1
4
-2
1
-52
53
2
0
11
94
0
0
125
-8
0
0
0
-26
-94
30
-9
0
0
-7
-9
27
-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
-2
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
-1
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
-12
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
-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
-9
0
0
0
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
-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
-41
0
0
0
0
0
0
-14
0
0
5
0
0
0
0
0
0
0
0
0
30
52
0
2
-10
0
0
0
-41
0
0
0
0
0
-15
-30
0
0
0
0
0
0
-65
0
37
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
-37
0
0
0
0
0
0
43
0
0
0
0
0
-4
15
0
0
26
0
0
-4
-19
0
0
-7
0
0
0
81
0
0
45
0
0
12
4
0
0
1
2
0
37
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
45
0
0
0
0
0
0
-32
0
0
-25
0
0
0
46
0
0
0
0
0
0
-9
0
0
26
0
0
0
18
0
0
3
0
0
0
18
0
0
0
0
0
0
23
0
-3
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
-9
-11
-2
0
5
-16
2
-8
-27
0
0
0
0
0
0
0
0
0
0
36
-4
-31
-1
0
-4
-88
-26
0
1
2
-45
-1
33
-74
0
-19
8
0
13
-27
-39
0
0
19
7
1
0
50
3
0
12
0
18
0
-4
0
64
0
-13
0
-1
12
6
0
2
-14
0
28
-23
21
-10
-57
-29
0
-18
16
0
-6
-30
0
0
39
19
0
69
-54
38
0
16
-27
8
-8
86
5
23
-10
-33
-7
95
-5
-52
-3
10
20
0
-11
33
5
40
0
34
0
-2
-4
51
1
0
-30
0
-2
0
28
0
0
-6
-14
1
10
0
0
1
-25
8
-7
47
0
33
19
-89
0
0
40
-5
0
-20
-58
0
-68
-2
-2
0
-25
-20
0
-53
22
-32
-1
1
32
0
5
21
-12
2
-1
85
0
-8
4
24
-3
0
25
0
30
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
7
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
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
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
-11
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
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
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
-1
0
0
0
-6
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
-57
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
0
0
0
38
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
15
0
0
0
-1
0
0
0
0
0
0
-10
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
-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
-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
9
-23
3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
0
-5
7
0
0
0
-23
0
0
-4
0
0
15
36
0
0
-3
0
0
0
-12
0
38
-15
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
0
0
0
-25
0
0
0
0
0
0
-31
0
-4
0
0
0
-4
5
0
-1
4
0
0
0
2
0
0
4
0
0
-16
41
0
0
16
0
0
0
-15
0
0
0
-39
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
44
0
0
0
0
0
0
55
0
0
0
0
0
0
22
0
-3
0
0
0
0
-18
0
0
-22
0
0
0
28
0
3
0
0
0
0
41
0
0
-18
0
0
0
4
0
0
6
0
0
0
-2
0
0
0
0
0
0
51
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
15
63
0
0
1
-7
13
0
5
0
0
0
0
0
0
0
0
0
-18
-15
0
5
-130
0
0
63
11
0
-13
-19
47
0
55
17
0
0
31
-6
0
-1
20
0
15
-13
54
0
0
-3
18
5
0
4
0
0
5
-70
53
0
-1
0
0
57
75
0
18
6
0
29
-17
-8
0
-11
-3
0
-75
1
-7
0
-24
0
0
97
8
-1
0
87
2
0
190
11
-7
0
-40
0
0
-3
50
10
-1
52
45
0
0
5
0
0
21
0
0
-9
15
0
33
3
34
0
0
39
-11
3
0
0
0
0
22
2
0
6
0
0
-10
-19
-7
33
54
0
0
4
7
0
-27
21
13
0
-42
33
0
40
-113
10
0
8
-79
4
-35
9
6
0
21
-97
-12
6
16
1
0
0
-19
0
11
-37
25
0
0
16
1
-29
6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
-10
29
0
0
39
0
0
0
62
0
0
4
0
0
0
7
0
0
0
0
0
0
1
0
15
1
0
0
0
-9
0
0
0
0
3
0
-36
0
0
0
0
0
0
45
-10
0
0
0
0
0
-74
0
0
0
0
0
0
-23
0
0
-2
0
0
12
-19
0
0
0
0
0
0
-97
0
0
0
0
0
0
16
0
0
0
0
0
0
-80
0
0
-1
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
1
-12
0
0
7
48
0
0
-3
0
0
0
79
0
0
1
0
0
0
-6
0
0
0
15
0
0
14
0
0
9
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
4
21
32
-12
0
0
0
0
0
0
0
32
5
5
-10
52
103
-4
42
-10
-3
2
2
-18
-34
-19
-9
-1
-35
-4
-67
-7
42
-4
15
0
28
17
-1
44
-22
4
-65
65
-15
1
-13
-6
5
-15
26
41
30
11
0
18
-19
-57
71
71
35
24
55
113
-28
9
13
15
-9
10
-28
4
4
12
1
11
-53
35
57
41
-41
-4
-4
71
-6
61
-20
-79
-7
8
25
-2
-51
-20
-13
-82
8
16
34
21
2
50
22
-24
42
89
43
68
0
90
-1
-31
-12
12
54
-22
-64
0
-49
-26
39
21
-5
28
7
-48
-46
7
47
-37
58
-21
47
26
6
4
48
-72
-24
-7
-22
42
-33
21
60
-1
73
-72
-1
26
-8
4
1
-41
-4
51
-6
-51
-19
25
-18
29
37
12
90
-8
2
27
27
-28
-20
-42
-8
18
-23
13
-37
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
0
0
0
0
0
0
0
0
0
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
29
1
2
-64
-1
0
0
0
0
0
0
0
0
-3
32
3
2
-62
0
-1
-86
-54
0
-2
-28
-21
-9
-53
16
0
9
-40
-9
4
6
-18
0
-23
2
-43
0
1
-75
0
0
-4
-10
4
-2
48
33
-8
0
1
0
0
-15
-1
0
0
-3
0
-13
101
-16
-2
-12
26
2
116
17
5
0
-53
0
0
99
-26
0
-2
-32
39
1
-30
-42
0
0
-17
-24
1
31
-7
0
11
20
32
0
14
31
0
0
8
10
1
-8
59
0
4
-3
-2
37
0
49
1
4
0
0
0
0
-49
0
0
1
0
0
26
70
-2
-35
75
0
4
-3
1
1
-7
-63
4
0
-12
57
-7
41
1
-8
6
0
-59
1
21
-32
-8
0
-1
-50
0
-9
0
0
0
0
-32
0
-1
-2
0
0
0
-54
0
18
0
0
0
0
35
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
23
-7
0
119
0
0
0
0
0
0
0
0
0
-5
34
0
0
-11
0
0
-3
40
0
0
-55
-2
0
9
-4
0
0
26
2
0
0
-118
0
24
16
-21
-1
0
-33
-1
0
0
0
25
0
38
52
0
0
-4
-18
6
-49
-9
0
-5
0
0
4
23
-11
25
31
4
7
-17
-17
0
0
-27
0
-3
-14
48
18
5
-41
9
0
42
59
2
0
-18
0
0
38
-96
-6
0
-51
38
10
19
-45
0
0
10
0
-2
0
-31
0
0
41
-26
-9
0
-13
3
10
0
0
-27
0
-8
3
0
17
0
0
-1
12
6
-43
26
0
0
6
-24
0
-7
-40
-4
0
21
63
0
-11
-10
0
0
-2
85
0
-10
5
74
0
0
20
0
-17
-4
0
0
3
37
0
-8
0
-13
0
0
4
-1
-35
-4
13
0
0
56
-22
21
-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
45
0
0
0
0
0
0
0
0
0
0
0
0
-38
-26
0
-5
-21
0
0
-3
44
0
0
-45
-3
0
-4
44
0
0
6
0
0
0
84
0
-45
0
-10
-5
0
-8
0
2
0
0
0
0
-44
39
0
0
0
0
0
-17
-1
0
0
0
0
10
12
0
0
0
0
0
3
73
0
1
5
0
0
12
80
0
0
-1
2
0
-2
-19
0
0
62
0
0
0
16
0
0
3
-3
0
0
-7
0
0
-4
0
-5
0
-2
0
0
0
1
14
0
-24
0
0
0
0
0
0
23
0
0
0
0
0
0
16
0
-7
0
0
0
0
42
-1
-3
1
0
0
17
-38
0
-2
35
0
0
0
7
0
7
-1
0
0
0
81
0
-2
1
0
0
0
37
0
-1
0
0
0
0
-6
0
17
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
-13
0
0
20
0
0
0
0
0
0
0
0
0
21
-17
0
-5
68
0
0
0
72
0
0
-38
0
0
0
47
0
0
6
0
0
2
-42
0
-5
4
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-6
36
0
0
-67
0
0
15
-29
0
0
-37
0
0
-1
-80
0
0
-3
0
0
1
80
0
0
-11
0
0
0
26
0
0
0
0
0
0
23
0
0
0
0
-3
0
-31
0
0
0
0
0
0
49
8
0
0
0
0
0
18
0
21
-5
0
0
0
-31
0
1
0
0
0
0
81
0
-3
-4
0
0
0
62
0
-3
0
0
0
0
-4
0
6
0
0
0
0
-13
0
0
-1
0
0
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
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
6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
0
-17
46
11
-2
-161
9
5
-1
-26
-37
-12
-11
-3
15
-6
14
-2
12
0
24
-2
-9
17
-28
-21
8
43
7
0
11
0
-9
0
35
6
1
0
11
13
0
7
59
0
0
0
0
1
-18
0
0
-16
0
0
103
-74
0
5
-3
-2
0
19
8
0
2
81
-8
-7
-16
-31
0
19
-59
-50
-6
-26
-53
9
-5
47
-18
0
33
-15
0
15
1
0
-7
0
27
0
1
16
-20
-25
0
15
5
-2
0
0
-1
0
-8
-8
0
0
-3
0
0
72
0
109
14
0
0
0
56
0
18
31
15
0
-7
-71
0
107
10
-7
0
-11
-134
1
23
37
-13
4
-8
-18
0
23
0
0
0
-8
53
11
-2
76
-17
1
0
33
0
40
0
0
-6
0
-12
-19
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
14
-4
-11
54
-1
-58
-22
18
-8
16
64
-3
8
8
25
-19
36
26
12
-52
-41
63
-25
55
17
5
7
84
-98
-40
-3
-38
60
76
-81
-19
-8
-16
-39
28
14
60
42
14
-72
-116
32
-32
-10
-5
0
27
-18
31
-51
-87
15
-15
-50
-15
-1
49
118
-23
12
89
22
15
13
26
41
3
-67
22
48
-37
74
-39
8
21
46
20
-32
93
-34
1
-62
-86
40
68
-28
29
-26
61
-2
-26
32
-36
4
-17
47
-65
-61
11
55
12
1
-93
39
-104
14
16
70
0
10
101
67
-42
72
43
4
49
-5
-13
55
-13
42
-3
30
-44
-27
-24
54
-2
-13
-101
12
-12
-15
89
-65
12
-6
-24
29
17
48
-24
-17
39
35
-19
-71
50
-39
9
10
29
-30
27
80
0
33
25
-35
-47
-44
-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
16
-41
0
0
-39
0
0
-2
-40
0
-1
19
0
0
4
103
0
0
0
0
0
0
-15
0
61
-24
0
0
0
10
0
0
0
0
0
0
21
4
0
0
0
0
0
-1
4
0
0
0
0
0
117
0
-13
3
0
0
3
36
0
0
34
0
0
1
140
0
0
20
0
0
4
-49
0
0
-24
0
0
6
55
0
0
-1
-10
0
0
23
0
0
13
0
0
0
56
0
0
8
0
0
0
-60
0
0
0
0
0
0
27
-29
11
-3
0
0
0
14
0
6
0
0
0
0
-27
0
1
-32
0
0
3
-95
0
-3
2
0
0
0
-13
0
-5
5
0
0
0
-41
0
-7
0
0
0
0
16
0
0
0
2
0
0
44
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
33
0
0
-5
11
0
0
-8
9
0
6
-61
0
0
-1
0
0
0
-3
0
35
0
-3
0
0
20
0
0
0
0
0
0
-56
0
0
0
2
0
0
130
0
0
0
0
0
-6
126
0
0
0
0
0
0
63
0
0
4
0
0
0
-10
0
0
-12
0
0
0
2
0
0
-7
0
0
0
-6
0
0
-2
0
0
0
-70
0
0
-1
0
0
0
-25
0
0
0
0
0
0
-36
0
0
0
0
0
0
-17
1
0
0
0
0
0
-104
0
42
0
0
0
0
49
0
0
0
0
0
0
-40
0
-5
0
0
0
0
5
0
0
-17
8
0
0
61
0
-2
0
0
0
0
4
0
0
-2
-3
0
0
-5
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
-16
-5
42
15
-46
0
39
66
24
-27
39
54
-46
-1
-46
29
3
-22
50
50
32
-14
-6
0
-76
-13
52
13
5
-22
-27
-5
-1
4
-1
-1
15
7
8
0
24
-11
-5
16
-81
0
-10
0
0
-17
-22
-32
56
-1
-3
28
-5
-25
0
4
91
0
0
20
61
44
-2
-51
-30
-13
24
13
8
-1
28
-5
-1
24
50
-2
-2
-2
39
11
-24
32
6
0
-36
3
15
0
34
6
7
-8
-6
97
0
-6
-11
7
0
8
13
0
26
21
6
-2
-3
1
5
82
-6
51
101
0
5
58
18
2
24
51
-30
-5
58
35
-5
100
32
-14
0
-52
-66
6
-11
105
-68
2
-42
-37
20
-42
80
34
-6
20
62
-5
-17
111
52
-14
0
-7
0
-16
3
0
11
0
-73
-10
-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
-16
-3
0
0
-6
0
0
0
30
0
0
0
0
0
0
-33
0
0
3
0
0
0
-1
0
-3
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
-69
0
0
5
0
0
0
18
0
0
-7
0
0
3
78
0
0
0
0
0
0
32
0
0
7
0
0
0
9
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
-12
0
0
0
0
0
0
48
0
-3
0
0
0
0
32
0
0
-21
0
0
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
12
0
0
0
55
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
-1
9
0
0
6
0
0
0
-19
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
142
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
-2
-32
0
0
-10
0
0
0
-52
0
0
0
-1
0
0
-89
0
0
-3
0
0
0
-3
0
0
0
-5
0
0
-52
0
0
0
0
0
0
2
0
0
0
0
0
0
-65
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
5
0
0
0
0
-40
0
0
0
0
0
0
5
0
-7
0
0
0
0
7
0
0
0
0
0
0
4
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
61
-5
23
-9
78
30
5
-31
22
15
-31
16
35
-4
-1
2
19
-52
25
51
94
-2
-20
37
-52
3
-9
-30
-32
7
-28
1
-10
49
-12
49
3
-18
0
3
25
-44
-63
-14
90
25
23
-9
26
-134
57
8
27
0
-45
-31
-21
-6
107
-5
-28
14
-61
39
-1
-17
86
70
-6
25
16
31
-10
-4
61
-2
-12
79
-58
-9
46
3
1
140
-16
16
-38
36
0
-9
-44
65
16
-29
9
-8
44
-17
-28
-10
-67
7
9
-1
-3
15
-36
11
27
59
-3
-47
-28
73
63
-6
14
10
47
23
40
-60
-32
123
33
7
87
-14
-104
-57
35
-22
-66
-41
32
25
-21
22
-20
-15
49
41
58
-11
-1
-23
-33
10
-14
-6
-63
0
25
18
-59
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-71
44
-41
13
-7
-54
-41
-22
41
52
-15
-20
12
-53
7
2
-72
-15
-35
-30
-50
-20
5
8
-9
-12
-1
14
-55
-120
-3
44
-3
38
51
72
-32
-105
10
5
37
13
102
-57
74
14
76
-11
19
-16
49
40
-56
-30
31
0
14
45
-10
-20
23
-79
-30
-49
21
-28
-12
63
16
-26
2
-26
-6
-71
43
56
-15
-10
28
-51
-30
47
-38
-4
11
5
-57
-10
36
-3
3
-98
-23
20
-109
19
0
17
86
-40
-7
-27
-9
-14
5
27
31
64
3
37
47
48
-27
7
39
-25
42
92
0
29
24
-7
21
22
85
9
67
-12
-18
2
-31
-2
-26
-4
8
2
-46
53
2
25
-43
4
-9
-79
45
-20
37
28
-117
68
-33
93
-7
21
78
41
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
-71
0
0
1
0
0
0
10
0
-7
0
0
0
0
2
0
0
0
0
0
0
16
2
0
0
0
0
0
-50
0
0
0
0
0
9
26
3
1
7
0
0
-1
40
0
5
-2
0
0
2
68
0
-6
-1
3
0
0
49
0
0
-1
0
0
0
91
0
0
0
0
0
0
-29
0
0
5
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-3
0
2
11
0
0
0
31
0
0
2
0
0
0
-6
0
11
0
0
0
4
-32
0
0
0
1
0
0
10
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-6
0
-14
-9
0
0
-24
0
-6
0
21
0
88
7
2
-1
0
-14
0
-13
0
0
0
0
-36
13
0
0
0
0
0
28
-1
0
3
0
0
-5
37
-4
-1
7
-13
0
42
-17
0
23
72
0
0
-4
2
-6
10
5
0
-1
1
51
3
0
65
-1
0
0
46
0
0
-1
1
0
0
18
0
0
-2
0
0
-9
14
0
0
0
2
23
0
29
0
-1
0
0
0
0
-40
1
0
0
0
0
1
48
0
18
-2
0
0
0
-10
0
-1
61
-8
0
9
110
0
-10
27
0
0
-9
-47
1
16
-11
0
0
0
40
0
1
10
0
0
0
1
0
0
37
0
0
0
111
0
-5
0
0
0
0
15
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
3
38
4
-7
10
-12
-22
-31
-26
6
-10
-14
7
46
38
47
9
10
82
75
-16
28
-6
-3
-8
88
-8
94
0
-3
3
-28
-6
63
-15
4
40
-66
-15
10
4
0
-51
47
31
144
67
15
30
-38
-62
22
57
36
-9
9
63
39
10
-84
-20
41
-4
43
38
-3
-38
-5
53
-104
59
-11
-22
6
19
-52
-7
78
-2
0
-17
21
33
-42
46
23
-7
28
-85
46
-101
0
-21
-24
-5
0
-18
-1
15
20
-34
8
10
31
0
11
-22
27
15
36
5
30
32
-31
85
-21
-80
18
-12
-12
55
0
26
33
-67
-5
74
-25
8
-13
-2
63
23
141
28
-1
11
-62
-40
42
21
-13
5
17
-64
13
-17
3
6
8
-11
-27
-20
-75
0
-40
16
-4
-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
32
8
0
10
12
0
0
-17
-29
0
0
-3
0
0
0
27
0
-8
0
0
0
0
-21
0
0
3
0
0
0
-55
-4
0
0
0
0
0
66
0
0
0
0
0
0
123
15
0
0
0
0
0
-49
0
3
0
0
0
1
-54
0
0
-18
0
0
-1
61
0
0
-1
0
0
0
18
0
2
0
0
0
0
-19
0
0
1
0
0
0
23
0
0
0
0
-11
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
49
0
-1
-15
0
0
0
-2
0
-4
38
0
0
0
12
0
3
0
0
0
0
-8
0
-6
0
0
0
0
38
0
7
-1
0
0
0
-29
0
0
0
0
0
0
3
0
1
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
-13
5
0
0
25
0
0
0
-6
0
0
-1
0
0
0
12
0
-4
3
-5
0
0
17
0
0
0
0
0
0
10
-9
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
-8
-7
0
-3
46
0
0
7
0
0
114
-5
0
0
-4
0
0
-2
55
0
0
32
0
0
-3
15
0
0
-7
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
-2
0
0
123
0
0
0
0
0
0
9
2
0
0
0
0
0
56
0
10
-20
0
0
0
7
0
0
2
0
0
0
-35
0
2
-4
0
0
0
8
0
0
-8
1
0
0
-20
0
1
0
0
0
0
8
0
0
0
0
0
0
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
112
26
3
49
0
9
18
29
0
34
-44
-44
2
-16
66
-3
0
28
-8
-2
0
11
22
6
0
-53
2
0
-23
14
-40
0
-3
0
-1
3
21
-85
-38
31
-3
26
-36
0
-24
-91
0
19
32
-4
-1
-23
-103
3
2
19
-30
2
57
-27
-3
-6
-40
20
-3
19
7
33
3
2
-10
0
44
-80
2
-2
-11
7
-4
-18
-29
-12
-2
15
48
0
-8
0
-2
0
0
45
-2
42
0
12
0
-2
103
-10
22
47
-3
-8
53
93
0
33
22
3
0
6
19
-6
-28
19
25
2
29
3
-19
78
-171
-49
7
0
24
0
-80
56
-11
0
0
-26
24
1
-30
-3
-5
0
-63
0
22
-7
0
2
0
72
-1
7
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
19
11
16
1
-10
80
58
46
-3
-9
6
-56
28
26
-120
-36
-4
-9
-23
-6
-23
22
-16
53
-7
-4
8
1
-35
-9
17
-16
-48
68
59
90
-12
13
-55
38
-21
20
5
-12
-10
109
23
30
-69
28
-2
-41
34
7
11
6
-9
0
22
54
25
-12
50
88
6
-1
-8
26
24
48
3
-1
-5
-1
93
-36
37
-9
-4
-23
30
18
-37
43
-6
10
0
2
19
11
18
14
-11
104
-2
70
27
-3
-70
8
-63
16
18
6
-41
-30
-17
-64
50
14
-128
-16
39
-20
10
27
17
-87
-17
46
0
7
-13
7
34
1
-1
12
-5
13
22
31
-38
1
2
50
-92
61
-24
5
13
22
36
16
2
5
99
-2
-27
-41
-11
1
23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
110
0
14
0
0
0
0
24
0
0
0
0
0
0
28
0
0
0
0
0
0
34
0
0
0
0
0
0
-36
0
0
0
0
0
-6
12
0
0
-8
0
0
0
47
0
0
-12
0
0
-1
-6
0
0
2
0
0
0
-37
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
-19
1
0
0
0
0
0
-2
0
16
0
0
0
0
-52
0
0
-2
0
0
2
6
0
0
8
0
0
0
-28
0
0
0
1
0
0
-22
0
0
0
0
0
0
18
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
29
0
-15
-21
0
0
0
-68
0
0
0
0
-2
0
-45
33
0
0
0
0
0
9
0
0
4
0
0
0
-73
0
3
5
-1
0
17
3
1
0
-18
-2
0
-78
14
0
0
54
13
0
0
28
0
0
-2
0
0
0
-73
0
0
-16
2
0
0
86
0
0
-7
0
0
-1
15
0
0
1
5
0
0
53
0
0
0
0
0
0
84
0
0
-1
0
0
0
-70
0
15
26
0
0
0
13
0
0
17
-4
0
5
24
0
9
11
0
0
0
-21
-5
-7
0
0
0
10
145
0
-8
6
0
0
0
2
0
0
0
-2
0
0
89
0
-1
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
88
9
-1
0
14
14
6
-11
43
-6
45
-15
16
-2
8
-2
4
2
1
14
-15
8
-10
9
94
0
13
-44
37
2
60
10
-1
0
0
-45
35
-19
-55
25
40
14
23
73
-12
45
38
0
2
-51
-64
0
-2
-37
6
12
-86
11
7
1
3
14
-8
80
-4
0
61
-22
104
2
64
33
0
53
59
-7
35
-1
16
1
-3
0
-27
51
0
16
6
2
0
3
-21
0
-51
-82
14
-25
-1
0
-27
15
-18
21
58
1
-2
-108
8
8
56
27
-34
13
56
59
0
143
137
13
-15
6
-19
4
-38
72
-57
0
-3
34
7
35
-12
-5
40
12
-51
2
0
0
5
-20
1
-6
14
-94
-11
0
61
0
-45
22
6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
9
-12
0
-1
-2
61
0
37
14
0
0
0
119
0
0
0
0
-21
0
-2
12
-1
0
0
0
-22
-47
0
0
2
0
0
2
48
0
0
38
0
8
43
-11
1
-3
74
0
-21
1
83
0
-3
2
0
9
-54
-33
0
0
86
0
-11
-7
-75
0
0
-51
0
0
-9
-81
0
4
-55
0
27
0
37
0
13
56
0
-49
0
11
0
-51
0
0
16
0
-74
38
0
0
0
0
21
16
0
14
84
0
0
-10
6
0
0
-1
-8
0
22
28
0
88
47
0
6
26
71
0
1
58
0
0
1
-12
0
56
-18
-1
0
0
84
0
-10
70
0
-9
0
0
0
30
0
0
-4
0
52
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
8
0
0
2
0
0
0
-15
0
17
0
0
0
0
-34
0
0
0
0
0
0
-40
-7
15
0
-4
0
0
52
1
0
0
0
0
0
2
0
-7
0
18
0
17
49
0
0
-4
0
0
3
57
0
0
16
0
0
28
-65
0
0
3
0
0
-1
51
0
0
4
0
0
-3
137
0
0
0
0
0
0
16
0
0
-2
1
0
0
-49
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
-2
-1
0
0
0
-19
0
-11
-14
1
0
-11
-18
0
-14
0
0
0
0
3
0
0
-12
0
0
0
-42
0
17
0
0
0
0
-5
0
0
0
0
0
0
14
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
101
-4
18
-14
18
0
0
14
0
1
-14
1
-78
0
-62
-72
-2
0
18
0
0
-31
37
0
-14
-3
0
3
26
-27
27
-29
12
-9
-42
-2
0
-22
36
3
0
7
36
1
-38
39
-24
-1
-3
7
-8
28
25
-16
3
20
-36
0
-2
-18
79
11
-9
16
0
-14
-24
-44
72
0
-11
-4
29
0
-57
6
0
19
0
9
0
-11
0
14
94
16
-20
0
4
0
-21
127
14
124
32
-1
28
-1
-32
11
12
-59
-9
0
4
53
4
83
89
2
-21
14
36
12
-13
46
31
34
0
-71
0
71
-7
0
2
0
-71
-33
1
-22
-3
0
0
-73
0
15
0
0
-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
39
39
0
41
45
-6
-34
-1
2
37
-20
-29
45
-95
3
13
28
14
11
15
23
2
11
-83
-3
3
-3
-4
86
-3
-65
-24
30
5
118
77
-32
93
161
12
37
-54
-28
-6
-18
-5
-3
2
2
63
1
64
1
63
53
-43
61
0
40
12
-8
35
48
-37
9
25
83
19
13
-4
-4
16
-31
45
36
-32
-26
18
-1
-98
32
-8
-34
-23
-2
56
-43
-6
5
-23
8
-41
-20
-15
67
54
5
-25
29
-2
74
-42
2
-42
-31
5
-32
-4
-7
23
-84
-3
49
-16
11
10
-1
-6
-60
-63
0
-2
31
28
2
13
80
-7
26
99
91
-13
21
18
23
-4
10
94
0
27
-3
-26
19
30
31
-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
1
0
1
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
0
0
-19
0
0
0
74
0
0
0
0
0
0
-65
0
0
-3
0
0
0
1
0
0
0
0
0
2
-12
0
0
0
0
0
0
19
0
0
0
11
0
0
19
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
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
38
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
2
1
0
-4
0
0
0
0
-11
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
12
0
0
0
0
0
-74
9
0
0
0
0
3
-5
0
0
-53
0
0
0
102
0
0
9
0
0
4
47
0
3
17
0
0
0
-6
0
0
0
0
0
2
-16
0
0
3
0
0
0
-13
0
0
0
0
0
0
34
0
0
0
0
0
0
17
4
0
0
0
0
0
35
0
-8
2
0
0
2
56
0
0
0
0
0
0
-43
0
0
0
0
0
6
16
0
3
-20
0
0
0
-30
0
0
0
0
0
0
32
0
0
-7
0
0
0
-7
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
-13
28
2
10
-2
-30
15
29
11
9
0
0
0
-64
0
-11
-62
51
0
-14
0
0
-14
-15
0
-1
-8
0
-27
-25
11
5
25
12
-54
150
66
2
10
-9
25
0
-41
29
-2
72
3
30
6
-46
-7
0
20
22
37
-12
-35
46
0
13
-9
105
-13
-20
4
0
26
-32
0
29
-24
-12
0
-11
0
-103
-40
0
-3
13
-4
0
0
5
-1
33
80
-6
0
0
0
3
-22
0
38
-11
-6
-10
-23
-44
0
-89
-66
-28
0
-60
-1
-9
29
13
4
-9
-18
16
-15
-8
-81
-83
18
-22
15
0
-33
3
0
0
17
-54
7
-9
0
9
57
0
-37
0
-7
-1
10
-5
0
-5
15
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
-93
0
7
0
0
0
0
37
0
0
0
0
0
0
51
11
0
0
0
0
0
-24
0
0
19
0
0
-4
-25
0
0
5
0
0
0
31
0
0
-1
0
0
-2
21
0
0
0
2
0
1
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
-21
0
0
1
0
0
0
23
0
0
-6
0
0
0
-2
0
-8
5
0
0
5
-13
0
0
0
-9
0
0
-19
0
8
-2
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
13
0
0
-17
0
0
-2
0
0
0
16
-1
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
-5
0
0
83
0
0
2
0
0
-6
7
0
8
12
5
0
22
-26
0
0
-30
0
0
0
34
0
0
-2
0
0
0
-16
0
0
1
0
0
0
59
0
0
-2
1
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
9
0
0
1
37
0
9
12
0
0
0
-16
0
0
-6
10
0
2
33
0
1
0
0
0
0
-9
0
0
0
0
0
0
-2
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
25
0
0
-4
0
-15
0
-24
3
0
0
1
0
0
61
-2
0
0
0
0
-5
28
0
-8
-1
0
1
50
-8
0
0
7
0
0
-7
68
0
-10
31
-23
0
-1
-31
-1
6
-16
0
-11
0
36
0
35
-14
9
0
2
-15
0
-8
-63
0
8
0
21
0
0
0
1
-10
0
-47
0
0
0
4
0
0
-1
0
0
0
0
0
0
4
0
-12
9
0
0
-5
-18
0
0
-37
0
-2
0
27
0
-8
-6
0
0
3
33
0
-3
1
-36
-12
-2
64
0
0
13
12
0
0
-98
0
0
-10
0
0
0
34
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
59
-33
-6
-3
6
-4
3
7
-3
28
41
0
16
-2
-4
0
51
5
76
-13
13
5
9
34
-71
15
8
102
-6
-51
-29
81
6
42
1
-62
-17
61
36
-8
29
-24
13
23
-4
-60
17
-17
11
51
33
55
9
6
38
15
-22
0
1
24
-17
-51
-4
-11
13
35
27
4
-2
11
0
-8
-105
-6
7
-18
-3
-5
56
100
-4
19
-68
0
17
-64
18
89
71
0
4
57
29
9
9
-53
-2
-2
-32
29
-10
-39
22
-75
11
-37
1
16
-6
-96
33
25
-44
-40
-1
21
28
70
58
30
0
0
-17
-27
50
0
-10
26
-1
61
23
0
30
0
20
117
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
14
0
0
-5
0
0
1
46
0
0
-2
0
0
-4
-40
0
0
-10
4
0
0
44
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
-5
0
0
0
7
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
10
0
0
0
0
0
0
16
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
43
0
3
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
57
-16
-5
37
-8
-67
0
46
-2
-1
-5
2
-32
-3
-11
14
-15
56
-5
0
46
1
-25
102
37
-48
11
28
-7
42
30
11
31
15
42
-26
-3
7
4
-28
30
12
-18
3
111
7
-56
-8
-54
-50
2
-12
22
78
35
74
-25
0
55
67
46
-41
32
33
40
-47
68
-26
-49
0
-2
0
-9
-1
26
35
-14
-23
-135
-31
-29
-20
10
-58
-37
80
-26
80
-16
-11
-29
19
2
-11
3
-37
-16
-42
36
0
-81
26
-6
-1
74
-35
-4
95
16
37
-42
-11
56
1
-21
-1
44
18
-10
-40
-34
42
38
7
15
4
5
2
75
15
3
-47
0
-43
-91
-10
56
49
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-78
14
0
0
0
16
0
75
-65
20
0
13
0
16
-26
0
0
0
7
0
12
-19
0
10
-3
5
18
-5
31
-9
4
-46
4
-3
12
9
0
4
-31
33
2
46
13
6
-4
-37
0
0
1
-58
12
0
0
-9
0
0
-13
0
-1
2
2
-4
0
-18
-1
-1
0
2
-5
0
13
0
3
0
0
0
0
4
-12
0
1
0
0
0
11
0
71
8
-7
6
15
-51
0
0
17
7
0
35
15
0
-71
1
0
-2
-13
-13
1
-5
15
0
-10
0
74
0
29
0
0
3
0
-2
7
9
0
0
0
0
-3
-7
-28
0
0
-2
0
-58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
3
0
9
21
-3
0
0
0
0
13
-1
0
2
0
0
10
10
0
-2
15
0
0
60
-38
0
0
-46
0
-20
37
4
0
-14
5
0
4
54
6
0
5
127
0
26
21
-30
0
0
42
-6
-3
0
31
0
-11
31
0
0
0
58
0
3
0
0
32
0
21
0
0
0
14
0
0
-3
1
0
0
0
0
-22
9
0
113
80
0
0
-11
10
6
74
-64
0
0
-15
-24
0
-50
-119
0
-2
0
39
0
19
96
0
-4
11
-20
0
16
73
0
0
0
33
0
0
9
0
0
0
-98
0
-107
1
0
16
0
-82
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
-19
0
0
0
0
0
0
-15
0
0
0
0
0
0
-22
0
0
0
0
0
0
-27
0
0
0
0
0
0
56
0
-1
5
0
0
22
12
0
0
-22
0
0
-1
-73
0
0
-9
0
0
0
-59
0
0
20
-3
0
3
35
0
0
-4
0
0
0
-77
0
0
0
0
0
0
52
0
0
0
0
0
0
39
0
0
0
0
0
0
14
0
-2
7
0
0
0
22
0
0
0
0
0
-3
11
0
-10
0
0
0
0
-55
0
0
0
0
0
0
12
0
-5
0
0
0
0
48
0
0
10
0
0
0
-18
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
-14
0
0
0
0
0
-76
0
0
0
0
0
0
-26
0
0
-2
0
0
14
-18
0
0
4
0
0
17
43
0
0
52
-4
0
-34
55
0
-10
29
0
0
0
-85
0
0
-20
9
0
0
-2
0
0
-5
0
0
0
110
0
0
0
-5
0
0
-7
0
0
0
0
0
0
41
0
0
0
0
0
0
24
0
-13
0
0
0
0
-75
0
0
-2
0
0
0
-10
0
0
33
0
0
0
34
0
0
1
1
0
0
-41
0
-26
0
0
0
0
-16
0
0
0
0
0
0
-22
0
-13
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
-9
-78
35
-30
96
0
1
-2
115
-35
19
33
14
144
-8
-32
74
-23
48
-71
104
1
20
29
-31
8
9
25
12
28
102
83
23
-29
10
35
9
-17
-3
-117
-26
23
-2
6
-60
23
36
-3
28
-6
-8
108
-54
49
71
49
0
-20
65
-39
17
-29
0
-6
-15
-26
1
16
-4
-6
23
17
-63
36
9
4
1
-33
75
-41
-20
-4
-65
-80
12
14
35
-6
-35
-12
52
26
44
-51
49
-15
14
-39
45
-16
-52
56
58
-17
153
-9
7
21
68
-23
54
51
-22
-7
73
3
12
-9
-11
0
-5
-13
-12
19
8
-3
13
-23
11
-1
-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
74
4
0
0
0
0
0
-7
0
0
0
0
0
0
-42
0
0
-10
0
0
-2
-16
0
0
0
0
0
2
14
0
0
4
0
0
0
94
0
0
24
0
0
0
6
0
0
2
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
5
0
0
-16
0
3
0
0
0
0
17
0
0
0
0
0
0
7
0
11
-11
0
0
0
2
0
0
0
0
0
0
-8
0
-25
0
0
0
0
-14
0
0
0
0
0
0
2
0
-1
0
0
0
0
-6
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
27
0
0
0
0
0
-6
-36
0
0
-5
0
0
-2
-30
0
0
-1
1
0
0
-36
0
0
7
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-34
-1
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
7
1
0
-4
0
0
0
0
4
0
0
0
-5
0
0
-3
0
-3
0
0
0
0
26
0
0
0
0
0
0
-23
0
0
0
0
0
0
-23
-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
8
2
0
0
0
0
0
76
9
0
0
0
0
0
-22
0
-16
0
0
0
12
-42
0
0
7
0
0
2
-59
0
6
-10
0
0
-1
-47
0
0
-1
0
-5
-3
50
0
0
0
0
0
0
79
0
0
0
0
0
0
79
0
0
0
0
6
0
-58
-5
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
-13
0
0
0
12
0
0
2
0
0
-4
141
0
0
0
0
0
-12
52
0
0
7
0
0
0
14
0
-1
0
0
0
0
96
0
0
0
0
0
0
110
0
-1
0
0
0
0
61
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
39
-7
0
0
0
0
0
45
0
0
0
0
0
0
11
2
0
0
0
0
0
72
0
0
0
0
0
0
23
0
0
0
0
0
11
-63
0
0
-13
0
0
1
-24
0
0
-14
14
0
0
6
0
0
0
0
0
0
-8
0
0
3
0
0
0
-39
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
4
0
0
0
3
0
6
1
0
0
0
2
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-8
0
-3
0
0
-39
-3
0
0
0
0
-1
33
0
-1
38
1
0
6
18
0
0
14
0
0
-61
58
7
-2
28
5
0
-1
77
0
15
-4
0
0
2
-43
0
0
-18
0
0
0
22
0
-34
38
0
0
-12
-59
-1
0
2
-3
0
0
-9
0
-4
0
0
0
0
25
-6
0
0
0
0
0
7
0
3
-10
0
0
0
-64
-3
20
56
3
0
0
-43
0
-35
26
0
0
1
2
0
1
-7
0
0
0
91
0
-9
-1
-3
0
0
22
0
0
-15
11
0
0
-61
0
-45
11
0
0
0
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
2
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
2
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
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
-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
-21
3
14
-5
56
-23
101
13
6
14
11
-4
-74
7
16
21
16
37
11
8
-75
1
-5
67
-2
-18
-26
31
1
-9
-19
-27
-23
70
-8
-7
0
118
0
28
42
-62
22
-31
2
32
17
33
-30
-30
7
-66
-26
-12
-46
-62
118
0
-6
12
-26
7
41
-80
33
-1
18
52
-49
-21
-3
29
109
8
56
-42
35
41
-3
34
-36
26
-32
4
23
14
-79
-6
11
-4
-54
4
-12
-61
-132
24
17
-1
40
-33
5
13
-29
9
-132
-20
-66
-44
-30
5
-33
-56
3
11
-5
-43
47
16
63
9
0
-1
-1
-9
-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
37
-30
0
0
2
0
0
-11
-10
-12
94
-19
4
39
-19
-7
12
-9
0
9
15
-8
12
-17
-41
-8
-3
-37
29
-1
6
6
0
-10
-10
36
7
11
-19
-13
-3
-10
-16
0
13
3
0
7
-6
-16
27
0
-29
19
38
0
-4
0
-7
0
0
-6
0
-31
49
0
0
0
0
-19
37
0
94
52
0
0
3
-17
0
-1
80
9
-7
10
13
-2
3
5
0
0
-12
-6
0
-62
-1
8
0
-7
-98
-11
43
-17
0
-7
-6
-75
0
8
-24
-1
0
0
-25
0
-62
2
0
-29
0
-13
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
39
-4
0
0
0
0
2
-80
0
0
-38
-16
0
24
-73
0
0
11
0
0
20
3
0
2
-62
24
3
10
14
-5
0
53
2
0
13
2
0
0
13
-1
0
17
-15
0
0
-33
0
-4
0
70
0
-5
10
60
-13
0
-29
-3
-2
0
0
0
-2
-3
-5
0
0
0
0
0
-107
6
41
5
9
0
0
23
0
-6
43
-38
0
6
-35
0
-15
32
0
0
11
-16
0
37
-20
-8
7
3
29
0
-5
0
2
0
0
-35
0
0
0
0
0
0
-72
0
2
-7
0
16
0
22
21
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
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
0
0
0
1
-25
0
0
0
0
0
0
63
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
-1
-5
0
0
0
0
2
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
9
2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
42
0
0
-2
30
0
0
-21
0
0
20
-11
0
0
15
0
0
12
51
0
0
1
0
13
0
-47
0
0
-7
0
1
0
-1
0
0
18
0
23
0
-8
0
0
0
0
2
0
-37
0
0
0
0
0
0
32
-4
0
0
0
0
0
5
0
43
5
0
0
0
-60
0
1
1
0
0
0
-22
0
14
-4
0
0
0
-28
0
0
-6
0
0
-1
-30
0
-10
-10
0
0
0
55
0
-4
0
0
0
0
-15
0
-17
0
0
-3
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
21
0
0
0
0
0
0
-53
0
0
18
0
0
23
-109
0
0
26
0
0
10
59
0
0
13
0
0
-11
25
0
-1
0
0
0
0
-38
0
0
-20
0
0
0
-82
0
0
0
0
0
0
40
0
0
-2
-11
0
0
-59
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
11
0
0
-12
0
0
19
-21
0
-2
13
0
0
0
10
0
0
9
0
0
0
7
0
0
0
0
0
0
32
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
-8
0
0
-12
-13
0
0
5
0
0
0
-44
0
0
2
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
0
1
0
-30
0
0
0
0
0
0
9
0
9
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
-13
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
-41
-24
59
0
29
-28
-10
-19
9
-15
34
1
-4
-9
35
-3
29
29
35
-59
97
16
5
-31
62
19
21
-11
-51
10
-39
-40
3
-31
3
-43
-6
2
4
-9
-37
-22
70
5
-1
-32
20
-1
-12
-5
32
-31
16
64
-21
80
-5
0
1
25
99
-7
0
-48
-19
46
0
16
57
13
-77
-3
-11
1
9
-10
6
81
-36
-16
36
-13
62
37
32
-35
29
50
-7
77
-33
-67
16
18
-31
37
-97
31
57
-29
99
-3
12
56
-126
-94
-22
-56
49
70
5
-33
1
-11
-1
21
30
-116
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
42
-23
-18
14
0
0
-7
-32
0
0
84
0
0
24
20
0
19
-29
2
0
-6
-69
0
-10
-34
0
0
5
87
0
5
35
-21
0
3
-21
0
0
8
0
2
0
2
0
7
-7
52
-14
0
-54
1
0
0
0
0
0
0
-3
0
0
0
0
0
-39
0
-12
27
5
0
0
-6
0
-5
-8
0
0
-4
4
0
0
-5
-3
0
0
94
0
2
-7
-2
0
0
32
0
45
0
0
0
0
-58
0
0
0
-1
0
0
35
-2
32
0
0
-3
0
-38
-2
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
-48
0
0
-2
0
0
0
-24
0
0
1
0
0
10
93
0
0
7
0
0
0
24
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
-22
0
0
0
0
0
0
84
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
-1
0
0
0
-49
0
0
0
0
0
0
34
0
0
0
0
0
0
-14
0
0
0
0
0
0
-32
0
0
0
0
0
0
69
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
0
0
0
0
0
-5
17
0
0
-8
0
0
0
-15
0
3
14
0
0
-6
21
0
-5
41
0
0
-2
56
0
0
4
0
0
0
-2
0
0
0
14
0
0
78
0
4
0
0
0
0
43
12
0
0
0
0
0
-2
0
-3
0
0
0
0
83
0
0
0
0
0
0
23
0
-10
0
0
0
0
-43
0
0
-12
0
0
0
78
0
1
-6
0
0
0
-18
0
0
-2
-15
0
0
23
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-10
0
-4
12
0
0
12
0
0
0
101
0
0
0
0
0
5
29
0
0
-2
0
0
0
-29
0
0
0
0
0
-3
-43
0
0
0
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
28
0
0
0
0
0
0
-11
0
-10
1
0
0
0
9
0
0
-5
3
0
0
38
0
0
0
0
0
0
-7
0
0
0
0
0
0
-17
0
-7
35
0
0
0
73
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
2
-15
0
0
0
0
0
2
-11
0
0
0
0
0
0
-6
0
0
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
-80
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-112
8
0
-7
0
0
6
23
0
4
41
32
0
6
0
0
2
0
0
0
-3
2
-11
-5
8
33
0
0
6
0
2
4
0
0
0
20
-10
2
-19
-4
-6
0
-45
0
0
0
15
0
0
-26
2
0
0
0
0
0
-44
0
-48
-9
0
0
0
-38
0
0
-6
0
0
-5
0
0
-4
4
0
0
5
-32
8
-1
-21
12
0
4
-72
0
-67
3
0
-8
0
27
0
0
-6
2
0
4
11
0
44
0
-2
0
0
131
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
56
31
1
-10
-4
32
14
34
12
39
98
-4
13
16
110
54
-27
-6
19
0
-17
39
19
-15
28
98
46
2
-9
-53
-32
-15
-2
-36
14
53
-44
-14
-86
0
-4
-33
-36
-1
30
-7
5
-40
79
1
1
-6
3
-33
0
-29
5
-56
-34
-4
-65
-3
-34
25
-62
-39
62
55
-19
-64
10
-30
42
-30
-81
23
119
-89
51
15
-43
10
5
0
88
6
-116
-42
-44
-4
20
-50
-28
-78
-104
18
16
-18
-17
30
-8
-18
-1
34
8
-5
30
69
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
29
0
-2
-11
0
0
4
-86
0
0
41
6
0
0
94
0
0
-33
0
0
-11
-42
0
14
-13
-3
0
12
-10
0
0
6
-12
0
0
-8
0
0
0
-4
-13
0
-60
0
0
0
0
0
0
12
-6
22
0
0
0
2
8
12
25
2
0
0
3
-89
0
-40
11
0
0
-14
73
0
34
25
-21
0
0
-88
0
0
20
0
0
0
15
0
-35
0
-1
0
0
-7
0
-5
-1
10
0
0
-27
0
10
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
7
0
-24
0
0
-8
13
3
13
24
-6
-7
113
123
6
0
-3
3
0
10
64
0
-2
1
34
0
-1
-77
0
0
2
1
0
0
36
0
0
-2
0
-25
0
-22
0
0
0
20
0
0
-48
0
0
0
6
0
0
62
0
17
12
0
0
-32
67
0
0
-7
5
0
1
72
0
9
9
0
0
0
7
0
-6
12
20
0
0
31
0
3
-1
2
0
0
22
1
16
0
0
0
-2
-47
0
-2
0
0
6
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
27
-11
0
-3
-16
-4
0
-12
-1
15
-70
80
21
1
-28
131
-8
-1
25
-7
-5
-2
22
-1
22
-32
-128
70
11
12
-4
-29
-10
-2
14
0
55
-21
20
22
8
37
0
44
-39
14
6
-2
0
0
-66
40
0
-10
0
0
0
-34
-16
-41
38
-17
-7
-13
-63
2
6
-11
8
0
44
0
-2
49
85
6
1
24
-29
0
12
-59
20
8
5
19
0
-6
-26
0
0
0
12
0
10
50
25
0
0
-12
-1
119
-4
0
34
0
45
-59
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
-60
-75
0
4
90
0
0
-38
49
0
0
-3
0
0
-15
-70
-4
-1
-60
0
0
0
25
0
0
18
0
0
0
81
0
0
0
0
0
-1
72
0
0
0
-1
-40
0
73
0
4
0
0
0
0
3
-1
0
0
0
0
0
63
0
13
-1
0
0
54
38
0
0
4
0
0
32
17
0
-14
8
0
0
0
13
0
6
-21
0
0
3
-4
0
1
0
0
0
-17
-2
0
0
10
0
0
0
-41
0
-3
8
0
0
0
71
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
21
0
0
-16
0
0
10
-6
0
2
19
0
0
-2
19
0
-1
2
0
0
0
78
0
0
1
-3
0
0
18
0
0
0
0
0
0
50
0
0
0
0
0
0
7
0
0
0
0
0
0
-30
0
0
0
0
0
1
27
0
27
-2
0
0
0
68
0
0
13
0
0
0
-52
0
2
4
0
0
0
-35
0
0
0
-4
0
0
-1
0
-7
0
0
0
0
-31
0
0
0
0
0
0
-26
0
1
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
-3
-11
2
22
-17
-17
0
27
52
7
47
-73
-4
-8
12
-9
0
-3
-28
13
19
37
80
0
0
49
2
16
-1
-3
0
17
53
38
-59
0
-32
2
0
0
7
1
0
-3
-32
0
-5
-27
0
-9
24
15
-80
35
-1
-8
5
21
4
1
25
-30
2
26
-72
-3
-7
50
15
0
-37
7
5
-39
0
29
7
-1
-4
0
61
-84
-10
-5
3
-76
8
-15
54
24
-2
0
6
0
10
-1
0
58
0
57
-36
-2
-8
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
-20
23
-83
0
-69
26
7
17
9
-40
-75
35
66
37
6
-8
0
31
-1
40
17
55
15
-62
31
10
54
5
-7
13
-60
-3
3
-66
-14
-2
18
-29
-41
-21
70
-78
-136
23
-60
3
-9
-88
23
94
39
-20
-3
-18
23
18
-8
0
-17
-4
-48
-11
-49
-6
-8
70
-26
-63
-5
15
-5
-1
27
0
41
-13
40
-13
36
-15
-11
3
-51
6
-85
49
108
34
-7
-9
57
147
-19
19
15
-38
22
32
2
44
1
7
-38
37
-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
-2
-16
0
0
0
4
0
0
12
0
0
3
0
0
0
-48
0
0
-2
0
0
0
19
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
50
0
0
0
0
0
0
-13
0
0
0
0
0
0
58
0
0
-12
0
0
0
23
0
0
-2
0
0
0
-49
0
0
-3
0
0
0
-48
0
0
6
0
0
0
-6
0
0
0
0
0
0
-15
0
40
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
-18
-80
1
0
-11
22
0
-1
40
-10
0
7
-2
0
0
95
0
0
0
33
0
0
5
0
0
0
21
0
0
0
0
-3
0
-44
0
0
0
0
0
0
34
0
0
0
0
0
0
-41
0
8
12
0
0
0
-24
0
0
0
0
0
-9
71
0
3
6
0
0
-3
-19
0
-1
-22
0
0
0
-57
0
0
-1
0
0
0
-57
0
0
0
0
0
0
52
0
18
0
0
-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
53
100
-16
10
4
76
15
-99
-42
-15
-9
-93
-20
52
-22
77
9
11
-75
-99
-38
-17
52
0
60
-8
-3
-39
38
15
4
-18
61
-60
-79
0
-4
-7
-14
37
-30
25
-1
45
19
-51
-7
-2
6
19
27
-5
60
2
0
-17
41
16
1
51
3
-19
22
46
27
-8
-77
139
12
0
75
-13
8
-49
3
-74
0
11
19
-5
39
20
5
-3
-20
21
-21
38
20
64
-13
-25
26
0
51
33
0
0
0
1
-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
2
113
0
0
-2
0
0
0
-28
0
0
-5
0
0
0
42
0
0
-41
0
0
0
14
0
0
0
0
0
0
38
0
0
0
0
5
0
-13
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
1
0
0
0
0
35
0
0
-3
0
0
3
-3
0
8
0
0
0
0
3
0
9
-9
0
0
0
-87
0
-6
0
0
0
0
-39
0
0
0
0
0
0
-33
0
16
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
98
0
-2
-6
0
0
0
-103
0
0
3
0
0
0
0
0
0
0
0
0
0
48
0
-2
-3
0
0
0
11
0
0
0
2
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-10
0
1
0
0
0
-6
39
0
0
-6
0
0
0
-129
0
0
-2
0
0
0
53
0
0
-6
-4
0
0
15
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-122
0
29
-18
-11
1
5
1
25
-28
-20
27
0
10
-27
-1
-32
-16
-31
0
-22
9
34
44
0
-18
-12
12
0
18
4
0
-11
59
2
29
8
0
7
-27
15
95
7
-5
-7
0
-39
1
49
115
51
-3
12
3
4
104
17
10
0
0
32
0
-10
73
27
-3
0
-51
12
21
82
-1
-9
9
-31
0
-7
57
12
-1
0
12
0
100
-9
0
7
0
-31
136
18
3
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
-76
-27
69
-10
-37
39
-51
1
-24
42
-16
-2
5
23
-27
-3
-12
-45
-1
2
-5
104
-31
40
66
-9
36
26
22
0
91
-34
42
2
-3
42
-9
33
-44
34
-14
0
34
13
-28
2
14
-37
-29
-16
21
-46
53
81
37
11
-63
0
-56
-23
-8
3
-31
-30
-18
38
6
-16
44
104
-113
-29
-41
26
-16
41
-129
-95
43
68
31
18
-11
31
-82
12
-18
-75
-71
-1
-18
-3
28
-3
13
22
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
-77
0
0
-6
0
0
33
24
0
0
-15
0
0
0
22
0
0
-1
0
0
0
7
0
0
4
-6
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
12
8
0
0
0
-5
0
28
-1
0
0
0
-30
0
7
36
0
0
4
42
0
-5
1
12
0
0
-34
0
-7
0
0
0
0
62
0
0
-4
0
0
0
43
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-47
0
0
33
-13
-2
-21
-20
0
-14
-10
-29
2
3
52
0
0
-9
0
25
-1
-16
0
4
6
0
5
0
-60
0
0
0
0
0
0
35
0
10
0
0
0
-16
108
-27
-1
64
-4
8
-6
-23
3
-14
-1
0
-2
0
61
0
6
-103
0
0
0
-83
0
18
-19
25
0
-7
22
0
-10
-2
0
0
0
60
0
0
-2
2
0
0
43
0
-10
0
2
-3
0
-37
-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
0
0
0
0
0
0
0
146
-16
0
-47
34
-55
21
-27
4
-8
93
-11
-18
23
109
11
0
18
-63
-13
18
-22
28
18
21
-45
-22
-42
0
-17
10
-7
0
-24
-11
-3
4
7
-21
24
-1
8
34
48
44
26
-34
6
11
31
-25
-3
60
22
33
-1
-35
-2
8
4
-17
63
0
32
54
5
-49
-7
100
4
-17
-12
0
61
17
21
-3
-1
11
0
17
-15
-10
-18
-20
31
1
3
12
0
-41
0
21
-43
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-6
0
0
0
19
0
0
-36
0
-2
-6
-79
0
0
-12
0
-19
0
-9
0
-1
-1
0
10
0
45
0
0
0
0
0
0
-21
3
0
0
0
0
-31
6
0
-28
10
0
0
0
-48
0
0
-48
0
0
-7
-42
0
34
-61
0
0
7
119
0
8
-69
0
0
0
13
0
9
-12
0
0
0
-89
0
-1
-4
0
0
11
49
0
-27
1
0
10
0
38
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
120
0
0
-14
0
0
-4
-21
0
0
0
-5
0
0
53
0
0
-5
0
0
0
0
0
0
0
-3
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
6
0
0
0
2
-31
0
0
-6
0
0
3
98
0
1
-19
0
0
0
58
0
0
-9
5
0
0
45
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
-4
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
-8
46
-2
20
-71
-42
4
0
-5
5
0
-43
0
5
-2
7
0
15
11
-52
50
0
-9
4
-6
17
-2
-6
0
-11
-14
0
8
0
0
-10
12
0
20
13
5
-11
-5
40
0
45
59
-2
0
9
3
0
48
121
-47
0
-2
13
0
-29
-17
-24
0
0
18
0
51
5
4
0
1
-17
0
-1
100
-23
3
0
31
0
-124
15
1
1
0
-9
-4
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
28
39
44
17
-29
21
-25
8
9
-8
37
-28
15
-82
35
-55
111
-84
7
17
11
-8
2
23
-9
-3
45
15
70
32
37
-2
-24
-34
-8
-126
-37
95
38
108
-27
-40
-25
4
28
-14
17
-2
-5
83
40
17
25
3
-26
-11
-33
0
-88
102
-73
7
-12
-93
-24
-13
14
-19
1
-12
1
-17
22
-43
11
105
-40
12
21
50
-76
-26
32
-68
-4
21
43
21
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
0
0
1
18
0
0
0
0
0
0
-87
0
0
0
0
0
0
-11
-13
0
0
0
0
0
-9
0
-13
0
0
0
3
17
0
0
0
0
0
13
-25
0
15
0
0
0
0
4
0
0
1
0
0
0
1
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-33
1
6
2
0
0
-1
0
4
0
-16
0
0
0
1
-9
0
-55
0
0
0
0
0
0
-15
0
0
0
0
0
9
-47
0
13
0
0
0
1
-7
0
0
3
0
0
-21
-31
0
59
15
-2
0
0
53
0
0
0
-4
0
-19
-33
0
-12
9
0
0
0
-33
0
0
3
0
0
0
30
0
11
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
4
46
-11
61
81
16
52
-8
-14
1
3
45
-4
11
-40
59
5
36
-12
23
14
0
14
-45
-3
0
1
-7
4
-35
-40
-22
4
-1
0
16
-12
1
17
6
0
-5
133
15
-5
-22
112
-31
0
4
31
-18
-42
50
53
0
100
23
-4
23
-55
36
4
-61
-30
-6
-22
0
0
10
-48
-42
6
-13
26
21
-42
57
-11
0
56
-28
-8
-24
0
52
25
-17
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
-8
54
0
0
104
1
0
0
-27
0
0
7
0
0
0
49
0
2
0
0
2
0
-42
0
0
0
0
0
0
-89
0
0
0
0
0
0
69
0
8
0
0
0
0
20
0
0
0
0
0
7
-2
0
0
0
0
0
0
72
0
0
-10
0
0
-1
11
0
20
-1
0
0
0
71
0
0
5
0
0
0
97
0
-18
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
0
2
107
0
0
0
0
0
0
-9
0
0
4
-5
0
0
-27
0
-2
0
0
0
0
-17
0
0
0
0
0
0
-48
0
6
9
0
0
3
17
0
-3
-16
0
0
15
-14
0
4
-24
0
0
5
-40
0
-7
23
0
0
0
12
0
0
0
0
0
0
-37
0
2
0
7
0
0
107
0
9
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
20
0
-14
0
108
0
0
-1
-5
67
0
14
0
0
0
0
0
0
-67
-3
0
0
0
0
0
67
-14
29
-21
0
0
-6
49
0
8
55
0
0
0
102
0
13
-9
0
0
-1
-55
0
9
9
-19
0
0
10
0
15
2
-4
0
5
8
0
-7
-9
-4
0
0
51
0
-5
-4
0
6
0
-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
-70
-6
11
-12
18
47
61
49
-4
26
62
5
-31
-132
0
7
78
17
10
8
-7
6
36
86
47
28
24
-3
-9
14
70
-71
30
55
113
23
2
6
19
9
132
-24
-58
-41
107
12
4
-38
58
99
-7
-45
-92
91
-36
45
-40
0
31
-7
6
70
5
17
5
31
-84
44
20
-14
23
3
-41
-40
11
-37
45
0
36
-17
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
20
0
0
5
0
0
0
-21
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
16
0
0
0
0
-8
0
0
8
0
0
1
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
11
0
0
0
0
-9
0
-14
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-2
0
37
0
0
0
6
-1
0
11
0
0
0
0
0
0
41
0
0
0
0
0
0
-10
-8
-1
-9
0
0
0
48
0
0
-30
2
0
-23
-54
0
-5
2
0
0
-6
19
0
-4
-28
9
0
0
-57
0
3
39
0
0
0
62
0
0
0
0
-6
0
-39
0
42
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
2
-1
-21
0
-12
-10
11
0
41
163
0
-18
-28
0
0
2
-1
-2
0
32
6
-1
0
0
21
25
11
28
91
0
10
71
-31
1
-21
2
71
-5
32
-12
4
-56
48
-7
7
-5
-11
3
89
-12
7
-8
0
-20
-11
-7
-14
8
0
0
97
0
0
18
26
-40
37
6
0
41
-1
0
-8
0
24
37
-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
12
-60
0
-4
29
0
2
0
-29
2
5
-64
0
8
0
43
15
-4
0
15
0
0
40
-6
-2
7
0
0
-5
-60
0
137
30
0
-4
-18
53
6
8
11
2
-7
24
-25
-23
38
110
0
0
-12
1
0
10
78
2
-6
0
-13
0
-47
-18
0
0
14
-68
4
44
-36
0
0
0
38
0
-5
0
8
3
0
-35
-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
1
108
0
0
14
0
0
0
57
0
-6
-9
9
0
0
-48
0
3
0
0
0
0
2
-6
0
0
1
0
0
-49
0
-5
5
0
0
0
-10
0
0
4
0
0
5
-14
0
-8
0
0
0
1
81
0
2
-2
0
0
0
-22
0
-18
18
0
0
0
-9
0
0
0
-3
0
0
89
0
19
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
83
0
0
0
0
27
0
-53
-18
0
0
0
0
0
-15
11
0
0
0
0
4
-14
0
-14
-8
0
0
0
-57
0
0
17
0
0
6
14
0
1
27
0
0
0
0
0
0
-28
4
0
0
26
0
-8
-28
0
0
7
26
0
-7
4
0
0
0
66
0
38
0
0
-14
0
81
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
83
-34
2
-18
42
-3
8
12
47
-17
-21
97
52
10
-98
76
0
33
30
136
-40
11
-8
-1
34
48
-39
-12
-14
-54
-5
-67
19
12
32
-90
36
-16
-14
42
0
19
64
109
15
3
-2
79
3
41
6
47
-24
17
45
0
-29
25
-45
-7
-4
81
5
-62
98
85
-11
5
-1
35
-65
50
14
52
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
5
0
0
0
9
0
0
5
0
0
0
11
0
-6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-47
2
0
0
0
0
0
69
0
0
0
0
0
0
71
0
-3
-22
0
0
0
61
0
0
44
-2
0
0
46
0
6
-1
0
0
0
14
0
0
-1
0
0
0
7
0
0
3
0
0
0
-29
0
0
0
3
0
0
139
0
-2
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-8
0
29
-9
1
0
-6
0
0
89
1
0
-4
0
0
-14
83
1
-111
-59
0
0
-22
-33
0
6
49
-22
0
-2
16
0
7
-10
0
0
-11
34
0
14
4
9
0
-12
-52
0
-23
-12
0
0
0
20
2
16
0
37
0
0
-39
0
56
0
0
-1
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
-34
0
0
0
0
0
0
-60
0
5
0
0
0
0
23
-2
-1
0
0
0
0
-30
0
-1
10
0
0
0
-14
0
0
0
0
0
0
30
0
0
0
0
0
0
32
0
-3
0
0
0
0
29
0
1
0
0
0
0
-31
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
66
0
0
0
0
0
0
-13
0
0
0
0
0
1
-40
0
11
2
0
0
-7
10
0
9
-15
-32
0
0
-13
0
16
2
-1
0
0
5
0
0
-19
0
0
-1
4
0
92
13
0
0
-2
-12
0
0
-19
0
0
0
-3
0
-18
0
0
0
0
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-4
0
0
0
0
41
0
0
-13
0
0
0
-53
0
0
-6
0
0
10
47
0
0
0
0
0
0
-1
0
-7
-1
0
0
0
32
0
0
7
0
0
0
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
1
16
16
2
2
47
33
0
21
35
0
46
36
68
-14
49
-4
5
36
45
1
-12
-41
50
-21
-25
-10
54
-42
24
38
10
-19
-23
14
17
5
-24
3
112
-37
0
-165
83
-15
12
-59
21
6
42
-64
-13
36
11
0
9
7
-18
-10
-18
0
45
6
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
0
0
0
0
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
-5
0
0
0
0
53
0
0
0
0
0
0
32
0
-9
3
0
0
0
79
0
0
6
0
0
0
3
0
0
0
0
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
-9
0
0
0
0
3
-32
0
16
8
0
0
0
-77
0
0
35
0
0
9
51
0
-1
0
0
0
0
0
0
1
9
0
0
0
-36
0
23
23
0
0
-6
26
0
0
7
-3
0
0
-16
0
-2
0
0
0
0
56
-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
37
4
3
0
0
1
0
53
0
0
0
0
0
0
124
0
-54
41
0
4
13
-15
0
4
-16
-7
0
-34
-52
3
59
21
0
0
10
-78
0
-1
0
0
0
0
-49
0
115
7
0
0
0
-15
0
16
0
0
0
0
-28
0
4
0
7
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
62
0
0
0
0
0
0
31
12
0
0
0
0
2
108
0
-81
-14
0
0
6
-67
0
17
35
0
0
17
-2
1
24
25
0
0
-5
68
-14
-4
39
0
0
0
-29
0
-88
32
0
0
0
42
0
0
-1
-8
10
0
-14
0
0
0
0
0
0
-26
-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
43
2
0
0
0
0
0
18
0
0
0
12
0
13
-27
0
86
-16
0
0
1
-13
1
-4
-23
67
0
-21
120
0
-63
110
0
0
17
50
0
-1
44
90
0
0
-35
0
16
-25
0
0
-4
-30
0
-14
-13
0
0
-2
16
0
36
-17
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
-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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
96
20
53
42
66
2
74
-44
15
60
20
32
-6
29
28
-17
29
75
-47
28
-16
65
36
13
3
3
-12
-47
-44
38
58
-117
-27
-9
54
-19
58
1
33
47
20
31
-16
-3
65
-6
33
-6
-71
-57
9
16
111
-1
0
-2
12
-71
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
0
5
-1
0
0
0
12
0
0
-11
0
0
0
6
0
0
-5
0
0
6
4
0
2
-16
0
0
0
-39
0
-4
0
0
0
0
-33
0
16
0
0
1
0
79
0
23
9
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-2
0
-2
10
0
0
0
48
0
0
-4
-5
0
-7
30
0
-1
-1
0
0
11
36
0
3
-17
-1
0
0
-38
0
-7
0
0
0
0
6
0
-6
13
0
0
0
20
0
1
0
0
1
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
1
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
0
-8
0
0
0
24
0
0
0
0
0
0
0
0
11
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
-2
0
0
0
0
0
0
-1
0
3
0
0
0
0
-37
0
5
14
0
0
0
-16
0
15
0
0
0
0
-14
0
0
0
-1
0
0
-38
0
9
-2
0
0
0
25
0
-2
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
-7
0
0
0
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
-25
0
0
-26
0
0
0
98
0
0
1
0
0
0
-19
0
-13
14
0
0
0
101
0
0
0
0
0
0
71
0
4
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-1
0
0
0
0
-25
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
10
-3
40
-1
37
-28
-1
-22
2
27
32
10
-76
-7
-13
54
-8
17
-20
-24
-8
14
-84
32
101
-4
-14
13
10
81
50
1
-9
9
-47
-3
-5
21
2
-6
4
-16
5
-17
-12
5
-32
0
0
13
-35
3
-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
85
-8
-68
-8
0
0
-29
-36
0
12
-8
0
0
21
45
0
-47
38
0
8
1
57
0
-2
-19
0
0
-1
-30
0
9
2
0
0
0
-28
0
0
-2
0
0
0
27
0
-28
0
0
2
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
17
0
0
0
0
0
0
48
0
0
-8
0
0
0
38
0
0
0
0
0
0
26
0
3
20
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-22
0
0
-6
0
0
0
33
0
8
0
0
0
0
41
0
0
-1
0
0
0
27
0
-5
-2
0
0
0
-6
0
-1
0
0
0
0
8
0
8
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
38
0
0
0
0
0
0
7
0
0
0
0
0
9
9
0
-5
-1
0
0
0
-5
0
-2
0
7
0
0
82
0
0
0
0
0
0
70
0
0
0
0
0
0
55
0
2
0
0
0
0
80
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
10
0
-8
87
0
51
-21
2
0
0
7
0
0
-2
2
0
0
8
0
-5
1
0
0
0
62
0
2
0
0
0
0
156
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
45
49
-13
75
-33
104
-11
-21
-19
-97
50
-8
216
26
15
0
46
52
11
32
8
-5
-11
0
-23
14
-2
-37
0
43
-9
90
-10
-38
27
72
-8
-50
0
-31
6
9
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-7
0
0
-2
40
0
-9
2
0
0
0
-22
0
0
0
0
0
0
52
0
-13
0
0
0
0
-13
0
0
0
0
0
0
-9
0
-1
8
0
0
0
-36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
94
-6
61
109
19
-7
-26
11
0
52
26
-8
2
22
-75
8
-9
-6
43
-7
5
37
0
-5
-58
4
-1
3
11
-3
31
-33
42
2
0
29
0
163
-1
-13
6
0
-43
23
1
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
-12
-7
-4
67
5
0
24
11
-6
91
-8
0
0
-7
44
-6
29
-33
-5
13
0
-41
0
11
-23
1
0
14
123
0
1
-7
3
0
0
-19
0
-23
0
0
0
0
-28
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
-13
0
0
20
0
0
0
-37
0
0
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
-44
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
-20
0
0
0
0
0
0
-64
0
-6
0
0
0
0
3
0
0
0
-4
0
0
-19
0
-15
2
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
43
18
0
0
0
44
-1
15
-15
11
0
0
1
0
-118
8
8
0
0
20
0
0
1
0
0
0
51
0
0
0
0
-4
0
116
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-3
-29
27
-50
44
51
7
-15
48
41
-26
7
-78
-21
37
-73
-36
-3
29
42
55
-18
26
-58
44
-6
-25
-25
-2
56
45
8
-60
-1
11
-72
8
35
-37
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
3
0
0
0
-3
0
0
-4
0
0
0
-12
0
0
12
0
0
0
-40
0
0
0
0
0
0
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
-3
0
1
-23
0
0
-24
0
0
0
35
0
2
12
0
0
0
37
0
0
-7
0
0
0
85
0
13
0
0
0
0
-73
-4
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
-32
29
-2
99
-5
-23
0
21
12
2
-15
-16
-11
-14
6
-35
6
10
14
2
1
8
53
-9
13
-11
0
0
0
9
-4
-39
0
0
-7
-3
14
-26
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
0
0
0
0
0
0
0
0
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
-24
0
0
0
-39
0
8
87
0
0
0
-9
0
1
5
0
0
0
2
0
5
0
0
0
0
-3
0
40
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
10
0
-3
0
0
0
0
-1
0
0
0
0
0
0
-7
0
-20
0
0
0
0
-13
0
0
6
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
25
17
0
0
-96
0
-135
3
-3
0
0
61
-4
10
1
-11
0
0
43
0
28
-19
0
1
0
-39
-2
-19
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
-56
-28
1
-13
148
-8
65
43
51
1
33
49
-27
-1
79
10
50
-10
69
31
18
19
-77
-12
-53
6
-30
-15
23
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
3
0
0
0
-15
0
0
0
0
0
0
-4
0
-19
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
1
-42
16
0
-4
-16
-4
53
-19
3
0
0
-26
0
4
-34
3
0
0
44
0
-13
0
0
14
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
38
15
92
-4
-2
71
0
57
-5
-2
0
-3
-25
0
12
-18
-34
0
0
66
0
-63
-1
0
-12
0
65
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-40
0
0
0
45
0
17
0
0
0
0
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
76
3
0
0
0
46
0
0
-4
-8
0
0
1
0
16
-4
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
45
-14
-8
2
-4
-30
56
-36
12
-6
-13
-22
24
-12
44
2
3
-1
-9
-6
-1
0
33
-51
-43
50
-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
-3
0
-1
0
0
0
0
-22
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-33
25
0
0
-2
108
0
-16
-15
0
0
0
73
0
68
1
0
-1
0
149
-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
-19
-83
0
36
-78
3
0
0
-65
0
4
10
-12
6
-4
9
0
27
0
0
0
0
50
-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
-14
-46
0
71
103
2
0
-1
46
0
1
-1
-6
0
0
7
0
-12
2
0
5
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
18
0
8
-1
0
0
0
-40
0
0
-13
0
0
0
-62
0
25
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
-34
0
2
-7
0
0
0
-60
0
27
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
14
99
-1
-45
9
34
-6
17
21
-4
10
-34
0
7
34
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-66
-30
12
-1
-44
0
2
-18
-45
-26
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-16
0
0
-37
0
32
0
0
1
0
25
-19
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-9
0
0
0
-25
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
15
0
0
0
0
0
0
-35
0
-23
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
25
13
8
3
19
0
21
39
57
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
-13
0
50
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
15
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-56
0
9
28
0
77
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
-20
0
-1
0
0
3
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
-65
0
-21
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
-28
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
3
0
0
0
0
-5
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
9
-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
22
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-1
0
0
-33
0
0
-8
0
0
0
7
0
0
1
0
0
0
6
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
5
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
47
0
0
-5
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
-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
-5
0
0
0
0
0
0
9
0
0
9
0
0
0
6
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
60
-50
-49
10
10
1
-13
-76
-19
-23
13
-28
-14
86
-2
18
96
-41
-18
-22
-3
35
-31
27
-32
6
4
-1
-34
-25
12
-20
43
46
47
28
0
-24
-100
-19
5
-21
-40
-44
-27
0
-2
-32
52
-1
-24
-3
-3
6
-18
20
-13
6
63
-38
-2
11
59
-19
-21
11
15
-12
7
37
4
41
-47
-11
-2
-47
26
-17
37
-36
-41
-10
22
-12
-14
-13
-10
51
-24
0
-3
21
-35
-6
-33
13
-43
0
-12
71
21
-15
-7
16
-13
-10
-84
3
-16
22
28
32
-18
-71
1
1
-86
28
19
-4
4
0
-11
-18
4
45
30
-2
-27
55
27
59
-10
-24
-9
51
0
-3
-8
-19
0
0
0
0
0
0
0
-2
5
-11
-31
12
5
-26
-27
32
-23
-32
13
-47
-13
-32
14
-54
-3
29
-10
95
-28
-2
41
-50
-61
75
-19
20
-16
11
5
18
-26
44
-31
-3
8
-60
-33
123
-35
39
-28
-21
-26
-9
11
-16
2
0
-32
-28
-3
-41
30
-7
-1
36
-10
-20
-13
-41
-15
-1
23
-17
15
-62
-57
-1
4
47
29
11
2
89
31
-4
-23
95
-25
-27
13
39
-29
-16
9
-70
-61
13
-38
11
-15
-2
13
-7
-22
33
-18
-30
-10
23
-38
-7
-16
3
78
-35
32
-47
-93
-42
3
29
-5
-86
-52
14
-56
3
32
15
18
30
48
-2
1
6
30
5
2
13
56
6
-30
19
-31
13
7
-23
-2
8
3
104
47
10
57
10
-35
-27
45
7
-16
6
12
-74
-34
13
26
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-27
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
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
-18
-3
0
0
0
0
-2
3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
-7
5
-1
0
0
13
0
0
0
0
0
0
-14
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
26
0
0
0
0
0
0
-10
0
0
4
0
0
0
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
14
0
4
0
0
0
0
11
0
0
0
0
0
0
15
0
0
0
0
0
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
0
1
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
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-12
0
0
9
0
0
0
0
0
0
18
0
0
0
-2
0
0
-2
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
3
-1
0
0
0
0
0
-2
0
0
0
0
0
5
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
-7
0
0
0
2
0
0
-12
0
0
0
0
0
13
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
0
0
0
0
0
33
0
0
0
0
0
-15
0
0
0
0
0
0
-7
89
0
0
4
0
0
0
2
0
0
3
0
0
0
-1
0
0
7
0
0
0
136
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
-12
0
0
0
0
0
6
0
-6
0
0
0
0
-25
0
0
0
0
0
0
-62
0
4
-1
0
0
0
36
0
0
-7
0
0
0
21
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
0
0
0
0
0
0
0
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
16
0
0
0
0
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
-2
0
0
0
0
0
6
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
1
0
0
0
0
0
3
-11
0
0
0
0
0
-37
0
0
0
0
0
0
7
0
0
7
0
0
0
0
0
0
0
0
0
-1
20
0
5
-13
0
0
0
-29
0
0
2
0
0
0
8
0
-1
1
0
0
0
17
0
0
0
0
0
0
43
0
0
0
0
0
0
12
0
0
0
0
0
0
-53
0
0
0
0
0
0
-59
0
0
5
0
0
-14
117
0
0
0
0
0
0
-27
0
0
0
0
0
0
18
0
0
-2
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
-16
0
-31
0
0
0
0
0
0
-12
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
1
0
0
1
0
0
0
3
0
2
0
0
0
0
18
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
-6
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-6
0
0
-4
0
0
0
-9
0
0
-14
0
0
0
0
0
0
-1
4
0
0
-2
0
0
0
0
0
0
5
0
0
-24
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
19
0
19
0
0
0
0
0
0
0
0
0
0
-3
24
0
0
11
0
0
0
63
0
0
-7
0
0
-1
10
0
-5
-12
0
0
0
9
0
0
0
0
0
0
-44
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
-11
-17
0
0
0
-3
0
0
13
0
0
1
0
0
0
-30
0
0
1
0
0
0
12
0
0
0
0
0
0
16
0
0
0
0
0
0
53
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
26
0
0
0
0
0
0
-25
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-11
0
-2
0
0
0
0
-6
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
-22
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
6
0
0
-4
0
0
19
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
30
-2
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
37
0
0
0
0
0
0
0
0
-17
-5
8
0
0
0
0
10
0
0
0
0
0
19
-6
0
-8
8
0
0
0
0
0
0
0
0
0
-15
42
0
0
1
15
0
-4
7
0
0
20
0
0
-4
13
0
23
27
0
0
0
-5
0
0
0
0
0
0
95
0
0
0
0
0
0
-7
0
0
0
0
0
0
22
0
-11
0
0
0
0
57
0
0
0
0
0
-6
-19
0
0
45
0
0
16
-15
0
0
6
0
0
0
80
0
0
-11
1
0
0
9
0
0
-6
0
0
0
28
0
0
0
0
-10
0
19
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
50
0
-5
0
0
0
0
0
0
0
0
0
0
0
-20
0
4
-26
0
0
0
-10
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
-5
34
9
-12
23
20
5
22
44
26
-16
20
5
84
-14
67
78
-63
63
70
43
-65
21
29
-82
-18
0
13
-16
43
-37
127
-59
-5
10
-25
12
53
14
20
0
3
0
-13
-6
0
-6
-15
63
2
-6
-6
-7
7
10
-20
45
76
-5
14
-50
-4
-24
-16
-33
-4
18
43
-39
20
-30
21
-6
49
-21
74
17
-31
103
-72
-54
24
52
39
2
-14
11
38
3
-37
21
-18
-91
3
17
-48
42
-47
30
76
17
-1
-36
24
11
2
-33
-58
-1
-46
-17
24
3
-32
-64
-1
-18
-4
40
-22
-8
27
-60
1
-6
78
87
-27
-39
2
-14
28
-2
0
0
0
0
0
0
0
28
3
80
-25
-5
55
73
-28
-11
41
38
45
-68
63
-18
18
20
20
-32
65
-30
83
27
27
-2
-27
104
-20
-3
-21
4
44
19
64
57
12
-17
-1
-11
18
-7
-21
15
-28
-20
76
75
14
12
95
12
-22
-51
-36
12
110
17
4
32
34
-18
57
16
23
9
75
5
-23
-71
-7
45
1
44
14
15
45
8
50
23
0
-21
43
-15
29
80
-68
10
-73
29
15
-15
-9
-1
58
33
25
19
24
25
1
29
-38
-78
56
2
16
-18
-25
-89
21
48
34
51
1
33
29
25
-20
12
6
12
-67
-9
32
-19
45
69
4
-6
-24
-42
-9
-6
-44
1
22
30
60
54
18
47
13
2
53
32
60
-7
-77
0
18
-14
139
-58
-81
-19
10
48
-11
-34
49
-8
0
0
0
0
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
22
0
0
0
0
0
47
0
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
3
0
0
-5
-5
0
6
0
0
-11
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
12
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
2
-16
0
0
0
0
0
-3
-8
0
-1
-6
0
0
0
0
0
0
0
0
0
5
-9
0
-2
-1
0
0
5
33
0
0
0
0
0
0
-22
0
1
-29
0
0
0
-57
0
0
0
0
0
0
12
0
0
0
0
0
0
22
-3
0
0
0
0
0
15
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
-1
0
0
0
18
0
0
-1
0
0
0
-10
0
0
0
0
0
0
-42
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
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
4
0
0
0
-4
0
0
-3
0
0
0
14
0
-7
0
0
0
0
32
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
-6
-4
0
0
25
0
-5
0
5
-4
0
-1
2
0
0
0
0
0
11
-60
0
0
56
20
0
1
-4
4
17
0
0
0
0
0
39
0
0
0
0
0
14
43
0
0
0
0
24
0
0
0
0
5
0
116
1
0
51
6
0
0
-5
-2
0
0
116
25
0
-3
-11
0
18
4
0
0
-41
-9
0
-18
-34
-7
0
6
5
2
0
-21
0
0
44
-55
7
0
13
39
0
0
-2
-135
0
0
0
0
-14
16
7
-24
0
-16
0
6
-91
-11
0
-2
0
0
31
70
0
13
119
-4
0
0
0
0
0
0
0
0
51
42
0
-8
-1
63
0
90
-10
0
1
-30
0
0
-40
49
0
37
-28
38
0
-53
-11
-4
0
52
0
0
0
-3
-16
-17
0
4
0
0
1
0
0
0
0
0
57
-24
-3
-2
18
-17
0
28
47
4
6
-20
0
0
-4
98
-1
2
2
2
0
55
54
0
71
14
-17
0
-21
32
0
-8
-9
49
0
-31
39
0
17
-28
0
0
23
-90
3
-8
-28
-29
0
0
31
0
0
0
0
0
0
-19
21
0
0
1
0
3
-25
0
-79
-5
-2
0
11
-6
3
-3
-17
-13
0
-8
55
18
49
10
-7
0
-29
25
0
-24
30
20
0
11
63
0
-29
-78
15
0
-9
17
0
2
1
4
0
0
43
0
9
0
0
-2
0
16
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
-2
0
0
32
0
0
0
-4
-7
1
0
1
5
-17
-40
7
0
0
0
0
0
-4
-12
0
10
9
0
0
0
6
0
-82
0
0
-2
0
0
6
0
0
0
0
3
0
57
0
-5
0
0
0
-15
2
9
78
-8
-4
62
4
0
-5
19
0
16
-46
1
0
12
88
7
6
78
21
0
1
-10
0
-1
-2
-17
0
0
-6
1
0
9
19
0
0
-17
0
-6
1
-21
0
-5
12
0
-17
0
0
-27
0
0
-1
37
0
-47
15
0
-12
-23
0
0
87
0
0
-17
-3
-3
-14
-35
0
-45
-25
-7
0
0
0
0
0
0
0
0
-4
8
0
-1
58
22
0
-19
21
0
0
-31
0
0
-1
22
0
-31
22
1
0
0
-31
-16
0
0
0
0
0
-42
2
-2
0
0
0
0
6
0
0
0
0
0
0
-40
-8
13
17
-2
-1
1
60
0
3
20
21
0
68
-18
0
1
-19
-27
0
15
56
7
2
42
2
0
2
-20
9
3
-23
-33
-14
0
-43
0
0
-14
0
0
0
17
0
0
5
5
10
0
73
0
0
0
11
0
0
23
5
0
3
0
0
0
-9
0
12
47
0
-8
0
80
0
2
6
0
0
-4
-27
0
8
-4
-7
0
-10
77
-7
12
31
-1
0
16
64
0
66
20
0
8
-1
19
0
0
19
2
0
0
17
3
-15
6
0
0
0
67
4
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
46
0
0
-2
0
0
-82
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
6
0
0
14
0
0
0
6
0
0
8
-6
0
0
-6
-23
5
-38
13
0
0
1
0
0
0
0
0
0
6
-9
0
23
1
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
-24
0
17
0
1
0
0
28
0
0
17
0
0
63
0
0
3
-4
-3
0
0
0
0
0
0
0
0
1
-24
0
0
26
5
0
-14
66
0
0
22
0
0
0
17
0
-23
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
30
0
0
0
0
0
8
-1
0
0
-5
9
0
1
0
0
-3
3
0
0
1
-7
0
0
2
0
0
8
61
0
-7
7
0
0
-13
-72
0
0
42
7
0
0
18
0
0
0
0
0
0
44
0
0
0
11
0
0
-10
0
0
0
0
0
0
31
0
0
0
0
0
0
21
0
4
0
0
0
-3
0
0
2
1
0
0
0
-55
0
0
10
0
0
0
-13
0
-3
19
-11
0
0
-2
0
18
6
0
0
0
-24
0
0
0
5
0
0
-55
0
-4
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
-25
0
0
0
0
0
0
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
3
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
-10
2
0
0
4
0
2
17
0
0
0
0
0
0
-10
0
0
0
89
0
0
-4
0
0
0
-1
0
0
-7
0
0
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
85
2
0
0
0
0
6
-55
0
0
-9
0
0
4
7
0
-53
15
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
2
0
0
27
0
0
-1
0
0
0
7
0
-9
0
0
0
0
-25
0
0
0
0
0
0
-28
0
0
0
0
0
0
12
0
0
0
0
0
0
-30
0
0
0
0
0
2
-2
0
0
5
0
0
0
-62
0
0
0
2
0
0
61
0
0
21
0
0
0
34
0
0
12
0
0
0
-40
0
0
0
0
0
0
-32
0
0
-9
0
0
0
57
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
-34
0
11
0
0
0
0
37
0
0
0
0
0
0
36
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
18
0
0
0
0
0
0
0
0
0
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
-25
0
0
7
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
-8
1
-8
0
0
0
0
0
0
20
-2
0
3
-5
0
0
-1
-10
0
2
0
0
0
0
-1
0
0
2
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-30
0
0
1
0
0
0
0
0
15
-1
0
0
0
0
0
-1
0
0
0
0
0
1
-5
0
22
-4
-1
0
0
0
0
0
0
0
0
10
4
0
0
26
0
0
8
-66
0
0
0
0
0
0
8
0
15
-5
0
0
0
-3
0
0
0
0
0
0
-52
5
-5
0
0
0
0
72
0
0
0
0
0
0
-10
0
0
7
0
0
6
-40
0
0
0
0
0
-2
-22
0
0
8
3
0
-13
-44
0
0
5
0
0
0
-16
0
0
5
-4
0
0
-58
0
0
0
0
0
0
4
0
0
0
0
-1
0
88
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
-11
0
0
0
0
51
0
0
-1
0
0
15
40
0
0
0
0
0
0
61
0
0
1
0
0
0
8
0
0
0
0
0
0
7
0
0
2
0
0
0
26
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
36
0
0
0
0
1
0
26
2
6
0
-15
-1
71
16
4
0
0
0
0
10
11
6
0
0
-17
3
1
0
0
0
-4
0
0
10
0
0
-17
0
0
0
0
0
-1
-9
0
0
0
0
-8
-11
0
0
3
-53
35
-39
6
0
-7
23
0
0
34
-14
3
0
64
13
13
26
9
10
-7
7
-3
35
-22
-38
0
0
132
-1
22
22
7
0
0
37
0
6
0
49
0
0
10
10
-95
-4
4
-5
0
0
0
-13
0
6
6
-2
0
-20
0
-7
17
0
0
0
0
0
126
66
1
70
-16
1
0
0
0
0
0
0
0
0
-90
-26
3
4
28
-52
0
30
-32
0
0
-69
-2
0
-4
6
0
59
7
18
0
-3
0
0
0
-2
0
22
0
15
6
-5
0
3
0
2
-23
0
0
0
0
3
7
50
0
-7
9
-35
-5
8
0
0
0
-2
-3
-1
-29
-1
0
-4
-14
-3
39
-5
-34
-4
-1
-26
8
-4
31
49
-10
0
-18
-11
13
-5
27
0
2
11
0
-5
0
-51
0
0
8
23
0
0
6
-2
0
2
0
5
0
-12
0
7
0
-14
0
0
101
-9
48
0
0
0
-1
-86
0
1
-16
0
0
0
30
3
40
-12
13
1
-23
-26
4
-27
14
-5
2
0
52
0
31
68
1
0
-3
-30
0
2
13
-3
5
0
71
0
36
8
0
-9
0
-33
13
-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
41
0
0
0
-3
0
-8
3
0
4
-7
2
0
19
-13
3
0
0
0
0
1
3
0
0
0
0
0
3
6
0
0
43
-3
0
-32
0
0
32
0
0
0
0
0
0
10
0
0
0
0
5
0
0
2
7
0
-3
29
0
0
1
-16
0
0
14
0
0
1
-50
0
-11
-25
4
0
4
20
0
0
4
5
0
2
-2
0
0
0
-3
0
0
-6
0
-2
22
0
0
0
0
0
51
0
0
-1
0
0
0
19
0
-32
2
2
0
0
0
24
39
0
0
4
0
1
-53
-48
0
53
-9
0
0
0
0
0
0
0
0
0
-20
-38
-5
2
-44
0
0
16
-115
0
1
-19
0
0
0
18
0
39
-29
0
-1
-2
2
0
0
0
0
13
0
-5
-16
0
0
0
0
0
82
0
0
0
0
0
16
26
0
10
18
0
-1
-2
46
0
-6
22
0
1
3
13
0
0
141
0
0
-2
35
6
0
28
0
0
-18
-23
0
-5
6
0
0
0
-9
0
0
9
0
1
-11
36
0
-1
0
0
8
0
0
0
-1
0
0
0
0
68
0
0
0
0
0
0
-92
0
11
0
0
0
-27
26
0
-6
2
0
0
12
46
0
-25
6
0
0
0
75
-1
10
-37
0
0
0
142
0
-5
6
0
0
0
8
0
0
-5
0
0
0
-31
0
-1
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
2
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
77
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
5
0
0
165
2
0
0
1
0
0
-9
0
0
-71
0
0
-1
20
-1
0
-16
0
0
-2
24
0
0
-2
1
0
0
7
0
0
-44
-1
0
0
0
-8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
28
0
-1
0
-4
39
0
0
0
0
0
2
3
0
-32
-32
0
0
0
0
0
0
0
0
0
-7
75
0
0
-2
3
0
31
-46
0
0
4
0
0
1
-46
0
44
0
0
0
0
1
0
0
4
0
0
0
-13
3
9
0
0
0
0
47
0
0
0
0
0
-6
-4
0
-1
10
0
0
41
75
0
-12
-19
0
0
37
113
0
0
-10
0
0
56
2
0
0
14
0
0
15
35
3
16
19
0
0
2
21
0
0
1
0
0
1
-1
0
2
-2
0
0
0
29
0
0
0
0
0
0
23
0
0
0
0
0
0
-20
0
-3
7
0
0
1
-22
13
0
5
-8
0
0
70
0
-12
0
0
0
-10
20
0
0
6
0
0
0
111
0
-11
-1
0
0
0
-43
0
0
3
-1
0
0
57
0
2
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
0
0
0
0
0
0
0
7
105
-8
113
4
41
5
2
103
0
11
8
7
32
6
4
11
17
-31
37
2
0
-18
14
-13
0
0
94
0
0
6
0
0
0
3
0
-30
-8
-1
-6
0
37
-12
5
13
10
0
-31
-69
-3
11
12
-36
-14
-12
-21
14
-3
85
-12
8
-36
3
-87
-8
75
192
102
0
47
-7
-32
20
15
-6
29
-10
-13
-39
0
0
-6
-28
-60
3
50
0
0
7
68
-2
-2
0
-68
3
-1
-18
28
0
24
-62
83
-2
30
0
18
37
-18
20
37
0
33
46
-15
-23
-57
-12
27
0
0
0
0
0
0
0
0
-4
6
-8
39
13
-73
0
16
21
-3
-5
7
10
0
26
7
2
7
-12
-38
11
20
-50
-5
0
-3
-15
-20
0
-20
17
-34
26
46
3
0
9
24
-7
26
-3
0
2
48
106
27
-5
43
6
-9
0
49
-41
-34
-3
-4
79
52
12
14
-94
-6
12
96
18
-74
-46
20
-14
-36
24
-74
-14
24
69
12
59
68
-51
-8
-19
16
1
11
-34
7
8
1
35
-28
-6
0
-45
27
-2
42
22
10
-10
67
-2
-7
47
-27
3
9
-5
84
10
-38
11
33
-75
-36
-33
39
-58
36
10
-34
32
-22
30
-157
-9
9
-67
38
20
11
34
-58
-13
-49
-13
-5
66
55
-2
-12
-1
-46
15
-13
21
-22
14
0
13
2
-16
15
10
-21
0
30
0
12
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
-92
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
-3
0
-1
0
0
0
5
0
0
-12
0
0
0
17
0
0
2
-21
-1
5
-5
0
0
48
-4
0
0
-2
2
0
7
8
0
0
0
0
0
0
19
0
0
0
0
-5
0
-2
-5
0
0
0
0
0
54
0
5
0
0
0
0
-18
0
0
0
0
0
-5
37
0
69
63
0
0
0
0
0
0
0
0
0
69
-66
0
5
57
0
0
4
-45
0
0
4
0
0
-4
-21
0
14
0
7
0
0
-39
2
0
0
0
0
0
25
-2
0
0
1
0
0
-52
0
0
0
0
0
0
-5
-2
2
0
0
0
2
-10
0
0
-22
0
0
-2
0
1
-2
45
7
0
-6
-47
0
0
-17
-1
0
-3
18
0
-6
0
0
0
0
-9
0
0
3
0
-4
0
2
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
-8
9
0
0
0
1
-6
0
0
0
0
0
0
44
0
1
0
0
0
0
0
7
-13
3
0
0
9
-20
0
0
5
2
0
0
-11
0
-1
0
0
0
0
-10
0
0
0
0
0
0
31
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
36
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
10
0
0
15
1
0
0
4
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
2
0
1
0
0
0
0
0
0
13
0
-19
-2
8
0
0
0
0
68
0
0
0
0
0
0
9
0
-8
-2
0
0
0
0
0
0
0
0
0
1
10
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
8
0
-10
1
0
0
0
3
0
0
0
0
0
0
39
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-54
0
0
-22
0
0
0
31
0
0
11
0
0
4
24
0
0
-10
0
0
1
9
0
0
-1
0
0
0
-34
0
0
-3
0
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
0
0
0
0
0
0
5
0
-2
-13
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
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
3
0
0
5
0
2
-1
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
-43
0
0
-3
0
0
-138
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
-3
16
-29
4
0
0
-2
0
0
80
0
0
0
1
0
0
16
0
0
1
-6
0
3
3
0
0
0
-2
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
0
0
51
0
-7
0
0
0
0
54
0
0
0
0
0
0
-21
0
-41
6
0
0
0
0
0
0
0
0
0
0
89
0
7
3
0
0
0
10
0
0
-14
0
0
0
1
0
15
0
0
0
0
83
0
0
0
0
0
0
-65
0
0
0
0
0
0
13
0
0
0
0
0
0
-38
0
0
-4
0
0
0
53
0
0
-1
0
0
-9
36
0
0
-21
3
0
6
29
0
13
39
0
0
0
34
0
0
-4
0
0
3
-52
0
0
1
0
0
0
-13
0
-4
0
0
5
0
-32
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
-23
0
0
35
0
0
-7
54
0
13
-12
0
0
0
-10
0
0
0
0
0
0
68
0
0
0
0
0
0
2
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
8
1
11
0
2
-14
0
-1
0
0
0
0
0
0
1
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
4
-7
0
0
0
3
0
1
0
-2
-2
0
11
-1
-1
-26
1
3
0
0
97
0
0
-6
-1
-2
-11
70
-40
0
0
-28
0
0
14
0
8
0
3
2
0
-13
7
0
0
9
0
0
0
-16
0
0
2
0
36
0
0
-14
0
0
0
-2
0
-29
0
0
0
0
0
5
95
0
0
0
0
0
-6
66
8
-41
-16
10
0
0
0
0
0
0
0
0
203
17
0
-5
22
0
0
24
4
0
0
-5
0
0
1
-25
0
25
2
0
0
0
-39
0
0
0
0
0
0
-18
0
10
0
0
0
1
48
0
0
0
0
0
0
9
5
0
-8
13
0
-3
-25
0
0
-2
0
0
5
-28
0
2
17
0
0
40
20
3
-1
0
-3
0
0
29
0
0
37
8
0
-10
64
0
0
-3
0
-3
0
55
0
0
0
-2
-9
0
-48
0
0
0
0
0
0
-35
-6
0
0
0
0
-2
17
0
3
0
0
0
0
13
0
6
-1
-3
0
0
-129
0
4
3
6
0
-17
3
0
1
-4
-13
1
0
-12
0
7
0
0
0
0
-64
0
0
0
0
0
0
-5
0
-21
0
0
0
0
-10
-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
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-28
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
11
0
4
-2
0
0
0
11
0
0
3
0
0
0
-2
0
3
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
13
0
0
0
0
0
0
0
0
70
4
0
0
0
0
0
-15
0
0
0
0
0
7
-10
0
7
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
-8
0
0
3
-1
0
0
3
0
0
0
1
0
45
0
0
0
0
-21
0
0
0
0
0
0
46
0
14
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
12
53
0
0
0
0
0
0
30
0
0
3
0
0
0
43
0
0
0
0
0
0
-29
0
0
20
0
0
0
20
0
0
1
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
-14
0
0
0
0
0
0
34
0
0
0
0
0
0
31
0
0
0
0
0
0
30
0
6
0
0
0
0
-3
0
0
0
0
0
0
2
0
-1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-89
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
-23
0
-9
-24
0
0
-8
0
0
-19
0
0
0
0
-3
0
-75
0
0
0
6
0
0
3
0
0
0
44
0
0
-15
1
0
0
0
0
0
-1
2
0
0
0
-3
0
0
1
-2
0
0
-1
0
0
-16
0
0
0
3
0
0
52
0
0
1
0
0
-3
62
0
-27
24
-2
0
0
0
0
0
0
0
0
-3
-21
0
0
10
8
0
9
62
0
0
-71
0
0
0
-17
0
-13
0
-2
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
24
0
0
0
0
0
0
-20
0
0
1
-1
0
-11
-18
0
0
10
0
0
-15
-53
0
0
-25
22
0
-10
12
0
0
-6
0
0
-5
-87
0
0
-1
0
0
1
34
0
0
13
0
0
0
62
0
0
0
0
0
0
20
0
0
0
0
0
0
-23
0
0
0
0
0
0
-46
0
-5
1
0
0
7
-5
0
-7
-8
0
0
0
0
0
46
0
0
0
-1
-40
0
6
39
1
0
1
43
0
8
7
1
0
0
13
0
0
2
0
0
0
-3
0
-3
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
1
3
-12
-3
-2
0
0
0
6
0
-9
18
0
0
0
2
2
18
0
2
-7
0
0
-25
0
0
-1
0
-11
5
-4
0
21
0
0
9
19
0
0
-43
-46
-17
39
-1
2
14
-15
-1
-19
9
-20
13
2
-35
35
0
-59
38
0
0
42
-5
7
24
25
0
0
-3
-2
0
-23
-5
0
0
11
0
0
0
-76
0
0
-1
-11
-70
0
0
-2
0
0
0
2
0
20
3
6
0
-3
0
6
71
1
0
16
0
0
-5
46
-8
45
10
-3
0
0
0
0
0
0
0
0
-3
-19
0
-6
15
20
0
-8
-7
3
-8
-25
0
0
-1
43
0
38
68
0
-15
0
23
0
0
-4
0
-14
0
6
-1
0
0
-4
0
0
64
-3
0
-2
0
0
-3
-31
2
-3
6
8
6
5
43
2
4
-50
8
-12
101
52
-2
16
29
-16
4
8
-11
2
44
10
-2
0
-4
-53
-2
-2
7
-4
-22
-3
-35
0
-2
-7
0
16
0
28
-5
0
14
0
-21
0
-43
6
-4
0
2
-1
0
38
0
0
0
0
4
0
-40
-7
88
0
0
-13
0
-51
-5
4
8
-4
-8
5
52
8
0
-11
8
8
-8
-86
1
5
-35
-6
25
20
-78
0
99
-2
-2
11
0
10
0
11
8
0
0
0
6
0
-24
0
0
18
0
38
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
65
0
0
0
0
0
-8
2
0
0
-1
0
-4
0
0
0
32
-6
0
-18
0
0
0
-6
0
0
-38
12
0
0
2
-39
0
30
0
0
1
-1
0
0
0
0
0
0
42
-3
0
1
5
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
1
0
0
-3
-5
0
-2
9
0
0
0
0
0
-34
0
0
0
0
0
0
-15
0
37
-20
-1
0
0
0
0
0
0
0
0
-3
0
12
0
-35
10
0
-10
33
0
-2
4
0
0
5
53
0
-45
5
0
0
0
105
0
0
0
0
0
0
5
0
-2
0
0
0
0
-22
-3
0
0
0
0
0
81
0
0
6
12
0
-3
-46
0
0
0
0
0
0
-27
0
9
-113
11
0
3
0
0
0
89
1
0
-9
77
0
1
-18
1
0
-2
-29
0
0
0
0
0
0
-6
0
0
0
-21
0
0
-39
0
0
0
0
0
0
25
0
2
0
0
0
1
-25
0
0
4
0
0
-3
42
0
-7
-11
0
0
0
-41
0
-2
11
0
0
0
0
0
-2
14
0
0
-5
13
0
4
2
1
0
0
-16
0
0
0
0
0
0
-118
0
0
-1
0
0
0
44
-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
-6
0
0
0
0
0
0
7
0
0
0
-6
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
-2
-5
0
0
0
0
0
-35
0
0
0
-10
0
0
27
0
0
0
27
22
-17
-24
-9
0
0
-9
0
0
-12
0
0
0
26
0
1
0
12
0
0
0
0
0
0
0
0
0
-4
0
4
0
0
-3
0
0
0
5
0
-25
2
0
0
1
0
0
-55
0
0
0
0
0
-2
46
0
3
-50
2
0
0
0
0
0
0
0
0
4
1
0
-7
-3
0
0
11
45
0
0
1
0
0
0
-31
0
48
0
13
0
0
13
0
0
0
0
-1
0
-5
-1
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
7
4
0
9
38
0
0
3
0
0
0
-21
0
0
-76
0
0
0
27
0
0
7
0
0
0
27
0
0
9
8
0
2
77
0
0
0
0
0
0
-9
0
0
-10
-2
0
0
-26
3
0
0
0
0
0
-5
0
0
0
0
0
0
-34
0
18
0
0
0
0
-14
0
2
-1
0
0
1
21
0
0
8
0
0
0
0
0
0
0
0
0
14
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
19
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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
6
-1
0
0
0
0
0
0
-20
0
0
0
-17
-5
0
-14
0
0
0
10
0
0
23
0
0
0
25
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
-4
0
0
0
0
0
1
0
0
5
0
0
2
0
0
21
-4
0
0
0
0
0
0
0
0
0
3
-37
0
0
12
0
0
2
10
0
0
-26
0
0
0
2
0
-39
0
0
0
0
42
0
0
0
0
0
0
44
0
0
0
0
0
0
-36
0
0
0
0
0
0
-36
0
0
5
0
0
0
-10
0
0
8
0
0
0
-42
0
0
0
0
0
0
30
0
0
0
3
0
0
10
0
0
0
0
0
0
88
0
0
0
0
0
0
28
0
0
0
0
0
0
-43
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
-9
0
0
0
-11
0
-3
-3
0
0
0
-17
0
0
0
0
0
0
-14
0
1
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
34
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-65
0
0
1
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
-8
0
0
2
9
9
8
4
9
0
3
55
0
0
-4
-2
0
0
-17
36
0
32
0
-1
0
15
0
0
-1
4
0
0
-60
0
0
-31
10
0
0
0
0
13
0
6
0
0
0
-14
0
0
0
1
0
0
0
0
0
-39
-1
-2
0
6
0
4
-76
0
0
3
0
0
-22
16
0
-41
21
0
0
0
0
0
0
0
0
0
8
82
0
0
0
-3
0
-5
-24
0
0
10
0
0
8
37
0
38
0
5
0
0
7
0
0
0
0
0
0
38
52
0
0
0
0
0
46
0
0
0
0
0
5
110
0
0
0
2
0
10
23
0
-4
18
0
0
-3
-101
0
0
43
-1
0
-1
20
0
0
6
0
0
-2
75
0
0
5
0
0
0
-27
0
-15
4
0
-16
0
-40
0
0
0
0
6
-19
74
0
0
0
0
0
0
48
0
0
0
0
0
9
1
0
3
0
0
0
0
31
0
-8
4
0
0
1
66
0
38
4
0
0
0
78
0
0
2
3
0
0
7
0
-6
-26
0
0
0
-19
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
-9
0
0
0
2
0
0
0
-3
0
0
0
0
0
73
0
0
9
0
0
-44
0
0
0
0
0
5
4
0
0
0
0
0
1
0
0
-11
0
29
-4
0
0
0
-1
0
0
-19
0
-1
0
11
0
0
-36
0
0
0
-11
0
0
23
0
0
0
1
0
0
28
-4
0
0
0
0
5
0
4
0
0
0
0
-18
0
0
6
0
0
0
-8
0
49
5
0
0
0
0
-4
-8
0
0
0
0
0
-7
-61
0
-42
38
0
0
0
0
0
0
0
0
0
33
32
0
0
80
1
0
33
12
0
0
29
0
0
2
56
0
-7
16
0
0
0
0
0
0
0
0
12
0
-23
4
-2
0
0
0
0
1
5
0
3
0
0
-5
-69
8
0
-4
0
0
63
46
0
0
16
0
-7
82
100
0
5
25
0
0
-26
-68
-2
0
59
0
0
-4
-10
0
-2
58
0
0
0
66
0
0
6
0
5
0
13
0
0
0
0
-4
0
-12
0
0
0
0
13
0
-3
-10
0
0
0
0
0
75
0
-3
-3
0
0
0
-15
0
0
-2
0
0
-5
99
0
9
34
0
0
-9
1
0
0
3
0
0
-7
-38
0
38
0
0
0
0
51
0
2
1
0
0
0
59
0
2
0
0
0
0
62
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
-46
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
12
-10
0
0
-4
5
0
68
13
0
28
-15
0
0
35
0
0
3
-29
30
0
46
0
0
0
0
0
0
-33
0
0
0
-15
-1
0
53
-1
0
0
1
6
0
0
14
0
0
8
13
13
0
0
47
0
0
0
0
0
-41
0
-3
0
0
0
0
128
0
0
0
0
0
98
57
0
-18
113
-1
0
0
0
0
0
0
0
0
34
7
0
-4
-101
-7
0
2
43
0
0
-28
0
0
4
54
0
55
48
-8
0
-5
49
-3
0
0
0
0
0
87
0
-5
0
0
0
0
51
-3
0
-2
0
0
-12
-5
0
0
16
-10
0
-24
-5
0
-3
10
0
0
0
-28
0
3
-23
-13
0
30
85
0
0
-26
0
0
-14
45
0
-3
-26
1
0
25
-20
0
-13
16
0
0
-1
-37
0
0
0
-1
0
0
18
0
0
0
0
0
0
20
-13
0
0
0
0
-8
-22
0
-8
8
0
0
0
-27
12
-2
16
0
0
0
-7
0
48
46
0
0
-8
27
0
0
-56
0
0
0
-27
0
-18
-13
0
0
2
28
0
-7
-2
2
0
0
48
0
-17
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
11
-2
0
25
34
7
2
0
2
0
-16
1
0
11
0
0
3
0
0
0
2
0
2
1
2
0
0
0
-9
25
0
0
67
7
-7
64
99
0
-14
-28
0
45
126
-26
-4
2
29
25
-3
-34
-68
0
-3
51
-1
-44
-8
25
0
0
36
6
5
0
20
1
0
-29
0
-4
0
47
0
0
3
10
-62
0
1
29
0
0
0
-12
0
14
-2
-6
16
-6
0
-54
-53
0
0
2
0
1
44
18
-3
25
68
-44
0
0
0
0
0
0
0
0
-2
-55
0
-6
13
-19
3
4
54
0
0
0
-27
-7
1
39
0
-36
46
59
8
0
29
0
0
3
0
12
0
47
28
-11
0
0
0
0
51
1
0
5
0
0
3
-58
3
14
-33
-1
9
11
-46
-5
-3
-2
-2
-2
16
-3
0
6
13
-20
0
6
48
-14
-28
-38
3
34
0
40
-19
-31
-8
11
3
9
-29
0
5
-7
0
1
1
-17
-3
7
2
4
27
0
-49
-9
0
0
-9
-2
0
-40
0
0
0
3
0
0
28
-3
-33
39
9
0
-13
6
33
-14
3
-3
0
3
-15
0
-43
-43
6
0
18
28
-2
50
-23
41
10
0
55
0
44
-13
-1
0
-19
-53
0
14
43
1
0
0
37
0
46
1
0
16
0
80
-29
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
4
0
0
0
0
-9
0
0
0
0
0
-91
0
0
0
0
0
0
2
0
0
0
0
9
-1
0
0
-1
0
0
33
0
0
0
-46
0
0
-21
-3
0
0
11
5
0
-22
0
0
0
95
0
0
22
0
0
0
21
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
20
10
-8
0
0
0
0
36
0
0
0
0
0
0
-3
0
36
-1
0
0
0
0
0
0
0
0
0
25
-26
0
-1
3
0
0
74
0
0
0
2
6
0
0
8
0
45
0
0
0
0
-55
0
0
0
0
0
0
-38
0
0
0
0
0
0
-33
0
0
0
0
0
0
-40
-1
1
0
1
0
0
-16
0
0
7
0
0
0
-38
0
0
1
0
0
-9
3
0
0
11
0
0
0
0
0
0
0
-4
0
0
33
0
14
0
0
-1
0
34
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-2
23
0
-2
0
0
0
0
13
0
0
-7
0
0
0
67
0
3
0
0
0
0
81
0
0
-1
-1
0
0
0
0
-2
0
0
0
0
7
0
0
0
0
0
0
-19
0
11
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
15
0
0
0
0
0
0
2
0
0
0
34
0
0
2
-2
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
1
0
0
0
0
0
0
0
0
20
0
0
0
0
0
2
-35
0
0
0
0
0
0
-3
0
-26
9
0
0
0
0
0
0
0
0
0
19
26
0
0
-1
0
0
2
-34
0
0
-18
0
0
5
12
0
14
0
0
0
0
-2
0
0
0
0
0
0
41
0
0
0
0
0
0
80
0
0
0
0
0
0
-36
0
0
0
0
0
3
-69
0
0
13
0
0
2
-48
0
0
-7
0
0
13
-28
0
0
-18
0
0
0
-12
0
0
-5
0
0
0
-73
0
0
0
0
0
0
-10
0
0
0
2
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
11
0
0
7
0
0
0
68
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
0
0
4
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-7
0
0
0
12
0
0
-3
0
0
0
-1
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
0
0
0
5
0
22
0
8
0
0
0
0
-21
0
0
0
0
0
-1
7
0
68
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-37
0
0
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
36
0
0
0
0
0
3
-39
0
0
0
0
0
0
-21
0
0
-2
0
0
0
-29
0
0
-5
0
0
0
20
0
0
-12
0
0
0
-8
0
4
0
0
0
0
11
0
0
-1
0
0
0
-5
0
0
0
0
-6
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
-4
-6
0
0
0
0
0
0
-11
0
0
2
0
0
0
25
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
0
0
0
0
0
0
-109
0
0
0
0
0
-29
0
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
2
0
0
7
0
0
16
-3
0
0
12
0
0
17
-7
0
0
2
0
0
-6
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
3
74
0
0
0
0
0
15
6
0
4
0
0
0
0
0
0
0
0
0
0
0
10
0
0
18
0
0
-6
6
0
0
1
0
0
6
-32
0
13
0
0
0
0
39
0
0
0
0
0
0
72
-5
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
3
25
0
3
0
0
0
0
-31
0
0
-5
1
0
0
-18
0
-13
1
0
0
0
-7
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
-26
0
1
0
0
0
0
10
0
0
0
0
0
0
17
0
0
3
0
0
-1
39
0
0
5
0
0
-6
13
0
-2
0
0
0
0
13
0
0
0
0
0
0
40
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
-19
0
0
0
0
0
5
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
6
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
8
0
0
0
0
1
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
4
0
0
0
0
0
4
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
16
0
0
0
-5
0
0
0
0
0
0
1
0
10
0
0
0
0
2
0
0
0
0
0
0
-32
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
42
0
0
-5
0
0
4
17
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
7
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
4
0
0
0
0
0
0
38
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-3
0
0
0
0
0
4
0
0
-8
21
0
-65
2
-3
1
37
0
0
27
0
0
0
-79
0
0
94
-5
0
0
39
0
0
16
0
0
0
10
0
0
-1
1
0
0
-2
0
0
0
-11
0
0
0
1
0
0
0
17
0
0
0
0
0
102
0
0
0
0
0
-4
25
0
0
5
0
0
-4
74
1
1
36
1
0
0
0
0
0
0
0
0
-38
108
0
0
85
8
0
-28
71
0
0
25
0
0
52
-29
0
71
14
-3
0
0
133
0
0
8
0
0
0
4
6
0
0
2
0
0
-35
0
0
0
0
0
9
12
0
0
45
6
0
-60
-3
0
0
31
0
0
4
51
0
0
-101
-1
0
-5
-19
0
-1
3
-4
0
5
-67
0
0
45
-3
0
6
27
0
7
-8
0
0
0
28
0
0
-7
23
0
0
30
-3
0
0
0
0
0
12
-9
0
0
0
0
11
62
0
-38
-9
0
0
0
-20
7
0
24
0
0
0
43
0
-14
5
0
0
8
4
0
0
-18
5
0
-6
-47
0
-27
13
0
0
23
-42
0
4
-1
0
0
0
-37
0
-14
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
-2
-5
0
-98
0
0
1
0
0
-36
0
0
0
0
0
-2
0
0
0
0
3
-6
0
0
0
-4
0
-4
38
14
0
0
-5
0
0
30
2
0
1
17
-2
-4
-1
-2
0
0
-5
0
0
5
7
0
0
-44
-2
0
-1
7
0
0
2
0
-10
0
-13
0
0
9
-1
15
0
0
0
0
1
-7
-3
0
1
0
0
0
0
0
-3
61
0
0
0
-3
0
5
90
0
40
25
-3
0
0
0
0
0
0
0
0
1
-72
0
0
-22
-3
0
13
38
0
-8
13
0
0
0
17
0
31
-13
0
0
0
20
0
0
0
0
0
0
-7
15
0
0
0
0
0
-20
0
0
0
0
0
0
-14
0
0
6
14
0
2
-51
0
14
29
0
0
13
1
0
0
1
-2
0
-5
34
0
-4
39
7
5
1
55
0
1
-9
9
0
0
-98
0
0
0
0
5
0
-25
0
0
2
0
3
0
-90
0
0
0
-1
0
0
71
-3
0
0
0
0
0
15
0
1
0
0
0
-7
-7
0
0
0
9
0
0
50
0
-29
-3
0
0
0
-13
0
2
3
-2
0
0
-59
0
-1
24
-17
0
0
-3
0
0
-6
6
0
0
-47
0
-3
0
0
-3
0
-38
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
0
0
0
0
0
-4
-7
0
0
0
0
0
8
0
0
-2
0
-9
-43
0
0
0
4
0
0
22
0
0
0
24
0
0
17
0
3
1
5
0
0
-3
0
0
-7
-1
-21
0
31
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
6
0
0
0
-1
-53
0
0
-7
0
0
26
-48
0
1
-4
0
0
0
0
0
0
0
0
0
2
13
3
-5
-51
0
0
-54
39
0
0
-13
0
0
-10
0
0
41
7
0
0
-3
26
0
0
0
0
0
0
31
-1
8
0
0
0
0
12
0
0
0
0
0
0
91
-3
0
0
0
4
22
-30
0
0
1
0
-9
0
-30
0
5
40
-2
0
42
-31
0
0
-20
0
0
0
-77
0
24
-7
0
0
-7
0
0
16
-23
0
0
0
-8
0
0
0
7
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-65
-1
11
-3
0
0
0
43
6
-1
-4
0
0
4
117
0
5
-46
0
0
0
-24
-4
11
0
29
0
0
-29
0
0
3
0
0
-2
0
0
0
0
-9
0
0
41
0
5
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
94
0
0
0
0
0
59
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
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
4
0
-12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-21
0
0
0
0
0
0
-1
0
0
-16
0
0
0
0
0
0
0
0
0
0
75
0
0
15
0
0
0
27
0
0
-1
0
0
0
2
0
-21
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
0
0
0
24
0
0
0
0
0
0
60
0
0
0
0
0
0
7
0
0
-2
0
0
0
-4
0
0
-1
0
0
0
5
0
0
0
0
0
0
-44
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
-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
-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
-4
0
0
0
0
0
-126
0
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
-4
10
0
3
-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
-1
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
-3
0
0
0
0
-10
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
-33
0
0
0
0
0
-2
-72
0
0
11
0
0
0
-29
0
0
-1
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
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
-6
0
0
0
0
0
2
-5
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
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
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
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
11
-5
-53
100
4
0
1
29
0
0
-61
14
0
0
-12
-5
0
-7
15
0
1
0
0
-1
11
-4
0
0
-3
0
0
-74
9
1
0
0
-13
0
-5
56
0
0
-1
-1
11
0
0
7
0
0
0
0
0
-15
4
0
0
1
0
-2
17
10
0
1
0
-10
2
38
0
-13
-6
3
0
0
0
0
0
0
0
0
-29
35
-1
0
22
0
0
7
-31
0
0
10
0
0
-2
19
-8
-42
0
-1
0
-1
-35
0
0
0
0
0
0
15
-2
0
0
17
0
0
125
0
0
0
0
0
0
10
0
-12
1
0
7
-2
-79
0
0
0
0
1
0
-27
0
0
-5
-9
-2
-1
-8
0
1
-2
0
0
0
-10
0
0
1
-1
0
-5
17
0
0
0
0
-5
0
46
0
0
0
0
-4
0
51
-3
0
0
0
0
0
-5
10
0
0
1
0
0
38
0
91
0
6
1
0
31
0
4
27
0
0
0
-45
0
-77
1
6
0
1
30
0
-6
16
-8
0
1
58
0
-4
0
0
0
-3
-3
0
0
0
0
0
0
-10
2
5
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
16
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
2
0
-7
-4
-4
0
0
14
0
5
-14
0
0
-3
59
0
3
-19
-2
0
0
1
0
-1
0
0
0
0
1
-3
0
-72
0
0
0
12
0
14
0
0
0
0
0
0
71
0
0
-1
0
0
0
-2
0
57
7
0
0
0
0
0
-62
0
0
2
0
0
-12
-23
0
-2
36
0
0
0
0
0
0
0
0
0
3
-33
0
0
-42
0
0
60
-27
0
0
-31
0
0
0
30
0
-3
-4
0
0
0
-22
0
0
0
0
0
0
90
-4
1
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
-7
0
0
-2
36
0
0
5
0
0
-4
3
0
0
34
0
0
-2
-45
0
0
66
0
-5
3
39
0
0
-17
0
0
-5
-81
0
0
19
0
7
0
73
0
-6
8
0
-5
0
-51
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
2
5
0
0
0
-46
0
0
15
0
0
0
46
0
-13
-10
0
0
0
29
0
0
-11
-3
0
0
51
0
-3
-19
0
0
0
13
0
0
0
0
0
0
-15
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
-9
0
0
0
0
0
9
0
0
0
0
0
2
-6
0
0
0
0
-10
0
0
0
-6
4
0
11
0
0
0
-1
0
0
-42
5
0
0
83
-13
0
1
0
0
0
1
0
0
12
0
0
0
-11
0
0
5
-15
0
0
0
0
0
12
0
0
0
0
13
0
0
0
-9
0
0
0
0
0
17
4
0
0
-3
0
4
-10
0
0
10
0
0
-8
36
0
102
-84
0
0
0
0
0
0
0
0
0
-56
108
0
0
-15
-8
0
-52
30
0
0
43
0
0
-12
21
0
51
1
1
0
0
-7
0
0
0
0
0
0
-8
9
6
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
-12
0
0
-7
-26
0
0
41
0
0
41
-33
0
-4
-18
0
0
-31
44
0
0
-37
0
0
-5
55
-3
-4
-7
1
0
18
60
0
2
0
0
0
0
75
0
14
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
42
0
-5
0
0
0
0
18
0
7
-20
-1
0
-3
34
0
2
-16
0
0
-1
-12
0
0
0
0
0
0
220
0
-24
-1
0
0
0
-31
0
-1
0
0
0
0
28
0
11
9
0
0
0
37
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-5
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
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
-12
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
2
0
0
11
-2
0
0
0
0
0
0
-15
0
2
0
0
0
0
-11
0
0
0
0
0
0
19
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
-1
-6
0
0
0
0
0
-16
8
0
0
0
0
0
6
2
0
0
-17
0
0
0
1
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
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
1
0
0
-14
0
0
0
0
0
0
-27
0
0
0
10
0
0
-7
0
0
-4
5
0
0
11
0
0
0
-7
-6
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
-6
0
0
1
0
0
0
0
0
21
0
0
0
0
0
-5
-102
0
0
-2
0
0
19
41
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-4
32
0
0
0
0
0
2
-29
0
0
0
0
0
0
0
0
0
-3
0
0
0
-39
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
2
0
0
13
0
-1
4
0
0
0
57
0
0
0
0
0
0
18
0
0
-1
0
0
0
-18
0
0
-3
0
0
0
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
57
0
-4
5
0
0
0
-11
0
-18
-19
-10
0
0
-4
0
0
0
0
0
2
-24
0
0
1
-2
0
0
12
0
14
0
0
0
0
-9
0
0
-1
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
15
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
6
0
4
14
0
0
0
0
0
-1
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
19
0
0
0
0
0
0
-20
0
0
0
0
0
-5
0
0
3
15
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
6
0
0
16
0
0
0
0
0
-3
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
40
0
0
0
0
0
5
-26
0
0
0
0
0
32
-40
0
0
4
0
0
-2
-24
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
-18
0
0
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
55
0
0
0
0
0
0
8
0
0
0
0
0
0
-20
0
0
-1
0
0
0
-11
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
-18
0
-2
7
3
-41
60
3
6
40
-3
-11
-47
2
-13
-4
-28
100
154
-25
36
33
4
-20
25
36
-5
-115
51
65
31
-12
38
-42
7
57
-72
-82
-11
27
-13
-36
0
31
-44
12
9
8
-21
11
-5
-45
22
82
-40
27
-9
-1
-3
46
8
0
73
-4
-2
-4
8
-11
22
6
0
-31
93
15
22
-30
-26
33
26
-22
-6
-14
32
37
-20
35
55
-33
-7
0
0
0
0
0
0
0
-15
10
-3
11
18
-102
-40
-2
-24
14
8
9
-130
5
29
-7
-1
-36
-74
37
5
-17
10
-12
10
-43
-29
21
0
24
-6
-1
-12
-17
21
-3
14
-49
0
10
-62
-19
32
-17
10
-7
73
-23
-7
21
-21
-13
12
10
23
51
-65
11
112
-30
7
-68
-21
28
4
-33
37
39
-44
35
-35
2
-1
-60
11
-29
-23
5
-17
-43
-36
29
0
-66
25
8
43
-69
49
26
10
0
-9
7
-24
9
15
-49
-12
-40
-33
-5
6
-65
2
76
-17
-7
-2
17
61
-7
47
3
-12
-26
53
-74
-17
40
-2
7
-40
30
-58
-11
-3
-15
-20
6
-16
-37
82
-7
34
-4
48
-105
-39
-47
-15
-30
-20
91
7
50
43
0
-8
25
-29
56
46
35
0
3
-68
55
22
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
-86
0
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
-5
-4
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
85
0
0
0
0
0
0
-8
0
0
0
0
0
-16
0
0
7
-5
-3
0
0
0
0
0
0
0
0
0
15
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
-30
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-51
0
0
0
0
0
-4
10
0
0
0
0
0
-4
10
0
0
0
0
0
10
-3
0
0
0
0
0
0
-35
0
0
0
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
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
2
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
-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
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
1
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
1
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
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
16
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-16
-32
0
0
0
0
0
-15
0
0
63
-58
0
55
-7
0
0
-3
0
0
-43
-14
0
-3
14
-34
0
-75
24
0
-6
-83
0
0
99
0
0
0
-17
-2
0
7
-53
0
0
14
-6
0
-11
-13
0
0
0
0
0
0
0
-3
0
0
3
0
0
20
65
6
-1
11
0
21
-20
0
0
13
0
0
-38
27
-2
40
-30
-5
0
0
0
0
0
0
0
0
141
-4
-2
-1
68
5
0
-47
14
0
0
34
5
0
-14
12
0
59
-18
0
0
15
53
12
3
9
-7
0
0
-15
-14
-5
3
-5
0
2
9
3
0
5
0
0
47
-19
0
2
3
23
-4
-42
40
0
0
11
0
0
-25
18
0
6
64
64
0
-21
84
0
21
8
-1
0
7
48
-2
24
21
-31
0
-1
24
0
4
72
0
0
0
70
0
-31
-24
3
0
0
-10
0
3
0
0
0
0
-70
8
0
0
4
0
-3
-36
0
3
-3
0
0
-55
68
0
-9
34
-10
0
27
-25
0
2
-12
0
0
-18
23
0
93
-2
-17
0
1
-21
0
-25
33
0
0
-1
-28
0
-17
7
18
0
0
33
0
82
0
0
0
0
26
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-9
0
0
0
3
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
-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
0
-5
0
0
4
0
0
18
-13
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
51
0
0
0
0
0
0
2
0
0
0
0
0
-1
-29
0
0
0
0
0
2
-8
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
-5
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
7
0
0
-2
0
0
0
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-26
-44
-39
27
-56
5
-9
81
39
11
-27
-27
24
62
7
-6
13
-20
-7
18
26
38
-22
28
-99
4
15
105
-71
6
-36
-105
-53
45
82
47
1
-14
-5
-33
-85
-15
34
-43
54
5
-54
-33
-27
-5
-2
9
14
-41
-35
-2
17
-105
15
3
74
-2
-10
2
15
-34
-20
-23
-6
-73
-46
-49
-46
-35
-23
-10
-21
0
-7
8
-13
0
0
0
0
0
0
0
-10
9
-20
15
-17
-9
8
-14
-29
10
95
15
-4
58
35
21
15
7
14
-29
36
-48
-12
44
-11
-52
7
27
-14
11
2
2
89
-44
19
5
10
6
59
116
-121
-54
20
11
-32
-62
18
-2
-3
7
-5
-108
46
-12
9
3
-7
-18
14
-56
11
-43
-54
30
-23
34
17
-18
67
16
-80
6
-72
44
5
-6
-24
1
13
-21
20
-13
-16
34
-61
9
67
31
20
-6
18
-38
-5
1
-19
-20
-47
107
-26
16
-39
23
14
-1
-9
39
-11
-85
3
37
-49
2
-82
-15
13
-34
26
16
-27
72
-23
45
-41
-7
22
-26
44
0
16
22
35
-5
8
37
21
29
7
11
-34
-38
0
2
-66
16
-4
14
60
34
-3
32
-12
-58
115
20
3
-34
-14
-44
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-11
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
4
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
-6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
6
-33
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
-22
0
0
0
0
0
32
0
0
0
0
0
0
70
0
0
0
0
0
0
-4
0
-4
9
0
0
0
0
0
0
0
0
0
0
21
0
0
2
-3
0
-27
13
0
0
20
0
0
-1
0
0
38
0
0
0
0
10
0
0
0
0
0
0
-3
3
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
73
0
0
5
0
0
0
-41
0
0
1
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
0
0
0
44
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
-46
0
0
0
0
0
0
22
0
0
0
0
0
0
32
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
19
0
0
0
0
0
-3
3
0
0
-4
0
0
0
-7
0
10
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
5
0
0
0
-4
0
5
0
0
0
0
-4
0
0
0
0
0
0
-25
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
-4
0
0
0
28
0
0
0
0
0
0
15
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
1
0
-1
0
0
-10
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
11
0
23
0
0
0
19
0
0
-13
18
0
-3
-4
3
0
5
0
0
-8
-16
0
0
-6
-4
0
0
-8
-1
0
-5
13
0
0
0
0
0
0
0
0
0
0
0
66
0
0
-15
0
0
0
8
0
0
6
2
0
0
0
-2
9
0
0
-11
0
0
12
-11
0
-39
-59
3
0
0
0
0
0
0
0
0
59
-34
0
0
-1
-3
0
34
-19
0
-1
13
-1
0
15
-31
0
29
17
-6
0
-1
-2
0
-3
0
0
7
0
10
-25
-4
0
0
0
0
0
0
0
0
0
0
6
5
0
-14
1
0
0
24
16
0
0
-31
0
0
-4
6
0
0
-4
0
0
9
-40
0
0
24
0
0
3
1
0
0
-84
11
0
-6
64
0
0
-9
0
-4
-1
-51
0
0
-1
0
-10
0
-46
0
0
0
0
0
0
0
0
0
3
0
0
0
49
0
4
0
0
0
0
0
0
14
0
0
0
0
-36
0
4
-21
12
0
0
21
0
0
14
-4
0
0
2
0
-8
5
0
0
0
-55
-1
0
0
0
0
0
-40
0
32
0
0
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
-2
-3
0
0
35
1
1
-45
-2
0
23
-75
12
0
3
120
0
0
4
-22
-7
13
43
0
0
81
0
1
56
4
0
2
-30
4
33
20
27
0
0
-2
0
-4
0
-13
0
0
1
-11
1
0
2
21
0
0
-5
-2
0
-82
-3
2
2
-3
0
0
11
0
3
-13
-1
2
-2
73
0
-16
-8
-3
0
0
0
0
0
0
0
0
-19
8
-6
3
-82
40
-1
31
-16
0
0
-6
0
0
34
-92
0
-60
55
4
0
0
11
0
2
-2
0
0
0
-21
3
6
0
0
0
0
-70
-4
0
4
4
0
4
-1
-8
-13
28
-5
3
-6
-29
-3
1
15
0
2
43
-36
0
-8
-29
41
0
-59
0
0
0
26
2
0
75
-42
0
0
38
8
0
2
44
0
0
-12
-1
4
0
-68
0
0
36
0
21
0
38
2
0
0
0
0
0
63
4
12
0
0
0
0
5
0
98
2
0
0
-3
-66
0
-10
77
0
0
20
140
0
32
49
13
2
0
46
3
-4
-69
0
8
-3
10
0
20
-2
-8
0
3
-24
0
3
3
0
0
0
72
0
18
0
0
0
0
23
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
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
0
-1
0
0
0
0
0
0
0
0
-9
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
-3
0
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
4
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
-10
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
0
0
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
-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
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
12
0
0
-8
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
5
0
0
0
0
0
0
2
0
-21
0
-3
0
0
0
0
-15
0
0
6
0
0
0
-1
0
8
-4
1
0
0
0
0
0
0
0
0
-9
34
0
3
10
0
0
-4
41
0
0
0
0
0
0
-2
0
-20
0
0
0
0
-2
0
0
0
0
1
0
58
-4
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-37
0
15
1
3
0
0
-45
0
0
0
0
0
0
-6
0
0
-26
0
0
0
-41
0
0
-9
0
5
0
0
0
0
12
0
-4
0
-22
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
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
63
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
-4
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
-3
0
0
0
0
0
-45
0
0
0
0
0
0
-8
0
0
0
0
0
-5
-2
0
9
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
-4
0
3
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
2
0
0
0
-44
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
-2
0
0
0
-4
0
0
23
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
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
-1
2
0
0
0
0
-4
0
0
0
1
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-63
-2
0
0
0
0
0
68
0
0
0
0
0
-6
10
0
-41
-9
0
0
0
0
0
0
0
0
0
1
0
0
0
-30
0
0
13
-56
0
0
15
0
0
-1
-6
0
24
0
0
0
0
7
0
0
0
0
0
0
-74
3
0
0
0
0
0
-27
0
0
0
0
0
0
-21
0
0
0
0
0
14
10
0
0
0
0
0
-5
15
0
0
-19
0
0
3
4
0
0
25
0
0
1
-29
0
0
0
6
0
-1
-57
0
0
0
0
0
0
-11
0
0
2
0
0
0
-28
0
0
0
0
0
0
-6
2
0
0
0
0
0
12
0
-6
0
0
0
0
-33
0
0
-6
0
0
-3
-36
0
0
-7
0
0
0
-21
0
0
2
-19
0
0
-25
0
-1
0
0
0
0
-9
0
0
0
0
0
0
-22
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
-5
8
0
0
-5
0
5
73
-19
0
-1
73
19
1
28
-10
0
0
29
0
0
9
6
4
0
98
-2
-13
-41
2
0
0
-1
0
1
3
5
0
0
7
-7
-75
0
0
56
0
0
0
14
0
62
28
5
0
0
0
0
37
2
0
1
1
0
6
-31
0
-85
58
25
0
0
0
0
0
0
0
0
42
52
0
1
50
16
0
-41
3
1
0
-15
-1
0
0
1
0
41
-20
6
0
0
-30
9
0
0
0
-8
0
-25
5
5
0
0
0
0
-47
0
0
0
-2
0
0
78
0
-1
-2
1
0
-3
-32
0
0
-10
0
0
2
-5
0
0
-15
28
0
8
-10
0
0
73
5
13
41
-22
0
17
48
-14
0
4
12
0
0
0
0
-1
0
171
0
0
4
0
58
0
-38
-3
2
0
0
0
0
-77
8
0
0
0
0
0
-72
0
4
0
0
0
0
55
0
-11
-23
5
0
-6
-28
0
87
49
0
0
0
41
0
-32
5
22
0
-11
-49
0
38
-2
0
0
-5
-8
0
0
0
8
0
0
-58
0
65
0
0
0
0
55
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
12
0
0
-88
0
0
0
33
-18
0
-14
1
0
-5
59
0
0
12
-2
0
-2
123
4
-4
100
0
0
0
8
6
0
1
0
0
0
1
0
10
0
0
-5
0
0
0
-12
0
-31
9
-6
8
5
0
-6
0
7
1
-6
0
0
62
28
0
-51
72
9
0
0
0
0
0
0
0
0
48
-12
0
0
-79
3
0
39
12
0
0
-8
0
0
8
8
0
21
-41
-16
0
0
-31
0
0
-3
0
0
0
44
0
0
1
-4
0
0
-24
-1
0
-3
0
0
0
0
0
0
-16
-5
0
3
52
0
0
35
0
0
19
-64
0
18
-5
0
0
45
44
0
0
13
0
11
-6
17
0
20
-5
-13
4
-9
-66
0
0
3
0
0
0
-39
0
0
12
1
34
0
-48
1
0
0
0
-3
0
11
0
0
0
24
0
1
0
10
51
0
2
0
-10
36
2
-8
-14
-22
0
-10
32
0
22
5
0
0
-5
114
0
-1
-34
1
0
6
-41
0
6
-1
0
0
0
-40
0
5
-4
0
0
0
-28
0
9
8
0
-15
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
3
0
0
0
0
0
0
42
0
0
0
-1
0
0
13
0
0
0
7
0
0
-1
0
0
0
0
0
0
49
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
-24
0
0
0
0
0
-1
8
0
-12
-29
0
0
0
0
0
0
0
0
0
0
-17
0
0
-29
4
0
0
-4
0
0
0
0
0
1
9
0
0
0
0
0
0
39
0
0
0
0
0
0
-24
0
0
0
0
0
0
-55
0
0
0
0
0
0
9
0
0
0
0
0
5
34
0
0
0
0
0
5
-27
0
0
23
0
0
0
65
0
0
13
0
0
0
67
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
5
0
0
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
-6
0
0
0
0
-10
0
0
5
0
0
-5
6
0
0
7
0
0
0
1
0
0
2
0
0
0
-30
0
3
-6
0
0
0
-4
0
0
0
0
0
0
-82
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
6
0
0
12
0
0
0
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
3
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
7
0
0
0
0
0
0
0
0
0
-4
0
0
9
0
0
3
17
0
0
0
0
0
0
1
0
1
0
0
0
0
15
0
0
0
0
0
0
35
-2
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
-2
54
0
0
0
0
0
0
15
0
0
5
-1
0
0
51
0
0
-11
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
54
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
-2
0
0
0
8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
0
0
-9
0
-14
22
41
1
2
-15
69
58
-14
-39
0
1
66
0
-5
-3
16
0
-15
38
20
33
7
4
8
0
4
0
-23
3
-28
0
0
32
-18
-17
0
0
17
0
0
0
0
0
-15
7
1
0
14
0
17
-28
14
11
6
0
0
14
8
0
-21
-12
3
0
0
0
0
0
0
0
0
-2
20
0
-8
52
6
0
-44
22
0
0
-1
-11
0
27
17
0
-10
4
-9
0
0
24
6
1
-3
0
-5
0
37
33
1
0
-3
0
0
13
-1
-2
0
0
0
-3
26
-8
-6
2
-6
0
102
30
0
-1
-19
0
-3
21
53
0
5
115
3
-1
74
-18
-11
6
84
-3
-4
8
-72
10
0
-8
21
0
3
-25
0
-4
6
0
-5
0
25
0
-14
4
-12
-25
0
0
1
0
-7
-2
-15
0
46
-7
3
0
0
0
1
70
0
-10
0
0
0
3
-8
0
25
-18
1
-3
-13
63
0
-40
39
-12
0
-17
74
0
-17
18
16
0
-2
-26
0
97
-5
-19
-1
-3
-41
0
-13
20
-3
0
0
91
6
-108
0
0
5
0
12
-17
-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
23
0
0
-15
-36
0
-5
-45
18
-2
0
38
0
67
15
-11
0
-10
-4
0
9
26
12
0
0
23
0
2
20
-20
0
0
-1
0
8
8
-3
0
0
0
0
11
0
0
0
0
0
0
-25
0
-11
2
3
0
0
0
-9
-19
0
0
4
0
0
-41
-52
0
-38
-31
0
0
0
0
0
0
0
0
0
-48
6
0
5
-3
1
-11
88
-1
0
0
-9
0
2
34
-57
0
13
-13
0
0
17
-85
0
0
0
0
6
0
9
-1
-9
0
0
0
0
-19
-1
0
0
0
0
-5
25
0
10
-1
0
-2
11
28
0
0
31
1
0
-67
-13
0
0
56
0
-5
164
-27
0
0
16
0
0
90
-23
0
8
42
2
-1
23
19
0
2
3
0
8
6
-4
0
-2
0
0
51
0
40
0
0
0
0
0
0
42
0
0
0
0
0
0
27
0
-27
2
0
5
9
61
0
0
46
0
1
5
49
5
16
-63
18
0
13
-30
0
-4
-52
0
0
39
47
0
-45
118
0
1
-5
81
0
-2
8
5
0
0
-1
0
6
0
0
-6
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
13
17
0
0
16
1
0
111
16
0
-1
-23
57
0
-40
14
0
13
-19
-4
0
45
-6
0
0
-15
12
0
7
-1
0
0
49
0
0
-12
8
0
0
38
-7
0
0
0
11
0
0
0
0
0
51
-9
0
0
0
0
43
67
4
-4
0
2
0
-3
-37
0
-4
-27
-14
0
0
0
0
0
0
0
0
21
-13
-1
-3
-15
-3
0
-48
-29
0
0
10
0
0
-20
65
0
94
-3
-25
0
118
-92
0
0
-1
0
0
0
33
26
12
11
12
0
0
41
0
2
-4
0
0
-13
91
11
0
-54
17
11
3
87
0
-2
46
0
0
8
-16
0
0
73
-50
0
-14
9
-2
-2
-25
0
0
35
33
-5
-8
15
11
0
-17
28
0
0
-59
0
0
-3
67
0
9
39
29
0
0
-57
0
0
-1
1
0
0
2
-3
0
0
0
0
0
-1
0
60
2
0
0
8
-22
0
0
49
2
0
6
-42
0
22
48
2
0
0
-48
0
-2
10
-17
0
6
118
0
-25
74
-2
0
3
-19
14
0
6
-4
0
0
22
0
-32
-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
-77
1
-4
50
-23
-3
32
76
24
-4
39
-83
9
3
39
57
-2
0
-29
89
36
61
84
3
0
49
6
-84
-9
49
0
-1
-30
14
19
1
3
-2
0
0
13
40
0
-24
22
-26
-22
33
-2
0
-13
-10
15
17
2
-5
2
-89
-2
-60
2
9
0
0
0
0
0
0
0
0
-3
22
24
46
17
61
31
-51
15
0
97
46
7
14
10
38
0
-4
-28
66
-16
9
-26
-1
2
-10
15
53
0
-8
-22
21
-6
12
-8
-1
-35
-1
0
6
5
-5
7
10
-7
-32
73
69
18
-37
31
7
44
-6
0
40
122
5
2
44
-19
40
2
30
-7
-7
49
17
56
0
-53
-29
11
61
8
-32
81
-58
-61
1
-25
19
-15
49
-6
45
-2
49
-20
-53
19
2
22
-5
-8
-7
-15
-9
0
-10
44
0
8
50
0
-18
-67
-3
60
-19
37
-1
80
-26
-18
-80
11
-5
-1
-9
55
-6
31
-72
22
9
3
29
-11
55
-13
31
2
6
-25
3
4
-9
-21
-1
-47
12
4
13
27
-14
-1
0
65
-12
51
33
0
-31
0
56
12
0
28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-1
5
66
1
0
0
13
0
-2
6
-3
0
0
44
0
4
-50
11
0
0
-2
0
0
0
-6
0
0
5
0
-5
0
0
7
8
0
0
0
0
61
0
2
0
0
0
-5
15
0
0
0
0
0
-4
0
0
-54
23
0
0
0
0
0
0
0
0
0
74
36
0
0
-24
-4
-8
-27
40
0
0
-24
0
0
0
10
0
34
12
23
0
0
-43
0
0
0
1
0
0
-9
0
1
0
0
0
0
61
0
4
0
0
0
-4
-51
0
0
8
0
0
15
0
0
0
-56
0
0
-2
5
0
-3
-54
1
0
10
19
0
-8
-6
0
0
0
-33
0
-3
24
17
-1
0
67
0
0
-5
0
0
0
43
0
0
2
-8
-12
0
18
0
0
0
0
0
0
-66
25
0
0
0
0
0
33
0
24
-7
0
0
-9
0
0
0
35
1
0
-10
-28
0
33
3
-1
0
-7
5
0
6
-1
16
0
20
-78
0
-22
-5
0
0
0
-28
0
0
3
0
0
0
7
0
-10
0
0
0
0
60
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
-29
2
0
0
5
0
1
-2
4
0
0
32
0
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-48
0
0
0
0
0
1
-23
0
0
-2
0
0
0
2
0
31
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
24
0
0
4
67
0
0
-1
0
0
5
21
0
37
0
0
0
0
22
0
0
0
0
0
0
90
3
-11
0
0
0
0
60
0
0
0
0
0
0
-21
0
0
8
0
0
-1
5
0
0
16
0
0
0
9
0
0
5
0
0
3
-96
0
0
6
0
0
1
29
0
0
0
0
0
-13
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
34
0
0
0
0
0
0
22
0
0
-15
0
0
0
-2
0
-2
-5
0
0
0
30
0
0
-3
0
0
0
-24
0
-3
0
0
0
0
0
0
0
0
0
0
0
35
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
-10
-3
0
0
36
1
0
66
0
0
0
-6
0
0
-7
0
0
0
3
0
0
28
0
0
0
0
0
0
0
-9
0
0
0
0
-22
0
0
0
0
0
0
-4
0
32
-1
-3
0
0
0
0
12
0
0
19
0
0
4
-16
4
77
-49
0
0
0
0
0
0
0
0
0
10
2
0
-7
-26
0
0
99
74
0
0
-1
0
0
0
-11
0
-9
-1
0
0
0
81
0
0
0
0
0
0
-48
-7
-1
0
0
0
0
6
1
0
0
0
0
-11
-21
1
0
-10
0
0
0
-23
0
0
7
0
0
-7
-47
3
0
71
1
0
0
-23
0
0
52
0
0
-3
21
0
0
0
0
0
0
37
0
0
-2
0
-2
0
7
0
0
2
0
5
0
90
0
0
0
0
0
0
-24
0
0
0
0
0
0
-19
0
-2
0
0
0
0
-5
0
0
8
0
0
0
40
0
-9
18
0
0
0
-16
0
0
0
0
0
0
3
0
-22
4
0
0
-8
16
0
0
-2
0
0
0
-81
0
25
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
38
94
56
81
113
-8
-25
-26
0
-20
114
40
-5
1
-81
14
-22
-69
-27
0
0
8
4
-4
1
-4
0
0
-13
-33
-32
-2
-3
-41
0
0
0
14
0
-18
-2
74
0
15
0
15
10
-1
3
37
0
1
22
-90
9
-90
-13
20
0
0
0
0
0
0
0
0
60
27
-2
101
-90
63
4
-38
13
7
-25
125
5
-5
26
-18
0
-32
42
31
-3
-40
-23
0
-3
2
0
2
0
51
-1
5
0
-25
0
6
-13
6
0
0
3
0
27
-107
-48
6
-35
8
-2
20
11
-2
10
30
-10
0
-52
70
0
-23
36
76
-2
26
70
0
-24
33
-15
34
-33
-45
-3
21
-61
-53
1
15
-48
0
0
54
3
13
0
-34
0
-1
-5
8
-5
0
1
17
0
-6
22
0
6
85
-8
6
7
8
0
0
-30
2
63
-2
6
0
25
75
-1
-3
-20
14
0
-5
59
0
-34
55
-3
0
-48
53
-1
0
74
51
-16
-23
7
0
33
31
4
2
-5
36
-7
2
-6
49
-2
0
-79
0
39
-2
-8
-6
0
21
-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
1
0
0
0
-15
0
0
2
-1
0
0
-5
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
-19
0
0
0
0
0
0
15
0
0
0
0
0
-9
-5
0
-9
-12
0
0
0
0
0
0
0
0
0
-1
-90
0
0
-4
0
0
2
-29
0
0
0
0
0
0
2
0
1
0
0
0
0
42
0
0
0
0
0
0
15
-3
-2
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
-5
0
0
0
34
0
0
0
0
0
0
-14
0
0
-1
0
0
2
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
1
0
0
0
2
0
0
0
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
22
0
0
-6
0
0
-7
17
0
13
0
0
0
0
0
0
0
-3
0
0
0
-1
0
-1
-8
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
5
0
0
12
0
0
0
-12
0
0
-16
17
0
0
-6
0
0
0
-4
0
0
-8
-4
0
0
0
6
0
0
0
0
0
18
0
-10
0
0
0
6
-42
0
0
-3
0
0
-41
9
0
15
-1
0
0
0
0
0
0
0
0
0
-1
-76
0
-3
117
0
0
-15
-118
0
0
-3
0
0
-1
-18
0
-58
0
16
0
0
-25
0
0
0
0
0
0
5
-1
0
0
0
0
0
-46
0
0
7
0
0
0
33
-1
0
9
0
0
14
11
0
0
-22
0
0
3
128
0
0
86
0
0
18
9
0
0
-32
-10
0
1
-27
0
0
-24
0
0
0
-3
0
0
0
0
0
0
-8
0
-10
0
0
0
0
-9
20
0
0
0
0
0
-18
0
0
0
0
0
0
18
0
13
5
0
0
2
-93
0
3
12
0
0
0
82
0
-17
0
0
0
0
0
0
0
-2
-13
0
-8
37
0
-4
7
0
0
0
-24
0
0
4
0
0
0
105
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
49
7
-32
-122
9
-3
-19
40
-86
2
-16
-14
6
33
-12
-51
10
-2
-11
2
-11
68
18
0
-1
-23
-18
-1
0
13
14
1
-3
6
-67
14
-11
79
-44
17
-30
0
-41
-29
38
-2
186
2
-5
-40
9
43
42
66
-52
20
0
0
0
0
0
0
0
-50
-6
79
-10
79
38
-17
-30
18
2
41
-6
-37
-27
-6
20
-3
-26
71
-9
10
-33
-5
-28
-1
-19
14
-54
0
14
15
12
-5
64
-8
1
-11
-86
9
-11
-4
14
-44
-37
45
-38
-11
4
45
-43
38
56
11
32
-1
-8
-25
19
22
15
42
27
7
88
31
118
-48
5
103
-35
3
-29
10
40
4
-2
27
-98
-31
0
56
60
-6
6
2
0
0
17
-112
17
5
0
37
43
-1
-32
-17
-14
0
30
88
0
1
-20
0
8
-26
1
29
-115
-1
5
-1
-55
1
-17
-7
-69
0
-85
7
-24
-77
10
12
7
-37
5
0
-62
-22
97
0
6
-14
15
-18
37
79
-9
7
3
0
-89
-48
-96
-1
0
75
7
28
-92
-11
7
0
41
77
-3
-9
-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
-65
47
-2
-1
19
0
-12
-50
2
0
5
18
-12
-6
-8
23
0
0
27
0
0
-3
1
-1
0
2
-12
14
0
0
33
0
0
-1
3
0
33
-10
-3
1
0
0
-53
36
0
0
6
0
0
34
30
0
36
-16
5
0
0
0
0
0
0
0
0
28
-17
-11
13
65
-24
0
-54
51
0
0
-49
0
0
5
-31
0
-86
-4
13
0
0
11
-2
0
0
-10
6
0
41
28
-17
0
-2
0
0
20
1
0
0
0
0
17
-20
-2
1
13
-1
0
10
28
16
-3
2
0
0
-78
0
0
-18
-8
10
0
29
49
0
1
26
8
0
2
-28
-3
0
44
3
0
15
68
0
0
-15
-8
-2
0
-28
0
0
3
-13
-17
0
42
0
0
0
-2
0
0
-42
0
-8
0
0
0
-1
8
0
12
-1
10
0
0
44
0
2
-7
0
0
28
0
0
-27
-27
-15
0
42
14
1
0
8
-14
0
0
35
-10
-87
40
-5
-4
0
68
0
-5
-13
-2
0
0
29
0
-6
-4
0
0
0
-2
-2
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
-8
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
-52
0
0
0
0
0
-3
2
0
0
0
0
0
-1
-13
0
44
8
-1
0
0
0
0
0
0
0
0
-3
11
0
0
-2
4
0
1
7
0
0
-15
0
0
0
-13
0
15
0
0
0
0
-16
0
0
0
0
0
0
-46
0
0
0
0
0
0
22
0
0
0
0
0
0
-19
0
0
0
0
0
0
73
0
0
0
0
0
0
-3
0
0
0
0
0
3
15
0
0
4
0
0
0
-23
0
0
1
2
0
0
-52
0
0
0
0
0
0
5
0
0
0
0
0
0
63
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
10
-1
0
0
0
27
0
0
0
0
0
-2
-2
0
0
0
0
0
-7
2
0
0
-9
0
0
0
-17
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
-23
0
0
0
-3
0
-9
-1
-5
0
0
-24
-8
2
-18
3
0
0
2
0
0
0
-1
0
0
10
0
-3
0
-1
8
0
0
0
0
0
-2
0
2
0
-1
0
7
54
0
0
1
0
0
6
-40
0
-35
-8
-2
0
0
0
0
0
0
0
0
33
-14
0
0
9
-5
0
-9
54
0
0
-5
0
0
2
-67
0
-39
3
0
0
0
-2
0
0
0
0
0
0
-52
1
0
0
0
0
0
-37
0
0
0
0
0
0
87
0
4
2
12
0
-7
-87
0
-4
56
0
0
-16
16
0
4
64
0
0
2
-50
0
2
39
0
0
-6
31
0
0
13
0
0
0
-48
0
0
0
0
0
0
30
0
0
0
0
0
0
55
0
0
0
0
0
0
151
-9
0
0
0
0
0
-2
0
1
0
0
0
0
29
0
0
-3
0
0
0
-19
0
35
0
0
0
2
48
0
-14
0
0
4
0
5
0
0
7
0
0
0
-7
0
0
-3
0
0
0
23
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
-33
-9
24
-5
-74
0
-30
27
-46
-22
0
33
30
-23
-68
-63
0
11
-50
0
-39
-3
6
0
-5
-6
62
-61
4
0
-43
0
0
-6
-17
0
23
64
37
0
49
0
-36
-24
-1
16
16
-10
-3
-5
35
19
-3
-9
37
-2
0
0
0
0
0
0
0
59
5
1
47
41
30
9
51
39
7
17
51
2
-10
92
11
0
-82
-33
-9
0
-19
-9
-1
0
-3
-13
-23
0
-27
-8
92
0
-20
0
-4
21
-51
-4
5
-6
5
15
-31
28
10
-47
-19
-33
-7
11
2
1
-9
5
36
-37
11
10
0
41
-1
-8
20
-15
2
-5
-11
-27
98
85
-15
-16
-24
-22
-69
-10
-42
33
12
8
65
-6
53
27
-16
-1
-9
1
13
-40
0
50
-15
4
0
-5
18
0
-21
-47
-5
1
-1
0
26
58
37
87
15
68
-69
4
-24
-5
71
38
-40
-12
4
29
-43
-15
40
-1
-5
109
-67
-33
12
30
142
-11
0
43
-2
46
-33
22
0
7
-21
-18
-10
-1
45
4
-6
-12
0
29
10
11
-13
0
36
-3
-5
-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
-16
8
0
0
44
0
-3
26
5
5
0
36
-9
-5
4
-5
0
0
0
0
-6
-4
77
0
0
12
0
-40
0
1
-16
0
0
0
-8
0
-1
16
-1
2
0
0
-4
-61
0
1
-45
0
-1
-56
61
0
51
56
0
0
0
0
0
0
0
0
0
10
-42
0
-3
-26
0
0
-1
-14
0
2
41
0
0
-9
-4
0
85
-58
0
-16
-4
-19
0
0
0
0
40
0
13
-47
30
3
0
12
0
9
-11
0
-6
0
0
-11
-124
7
0
73
0
0
59
-42
0
0
45
0
25
10
-38
0
5
16
11
-11
13
73
26
0
-14
-3
10
-9
-60
8
0
20
0
6
0
-5
0
0
29
0
17
0
42
0
18
22
0
20
-4
71
2
0
0
1
0
0
20
56
0
0
0
0
-6
11
0
-25
2
0
0
1
15
-3
-5
86
0
0
1
16
0
33
-38
0
0
27
48
0
2
6
0
0
19
62
0
56
16
0
0
0
-15
-6
-2
16
0
0
0
43
0
15
0
0
0
0
-78
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
18
0
0
14
-18
0
0
-9
0
0
0
18
0
0
7
-1
0
0
2
0
0
-2
5
0
0
0
-2
0
0
0
0
0
0
3
0
0
50
-6
0
0
0
0
1
-4
0
0
0
0
0
-37
17
0
43
-57
-6
0
0
0
0
0
0
0
0
20
12
-2
0
22
5
0
84
4
0
0
42
0
0
53
-31
0
14
-42
-10
0
0
-8
0
0
0
0
0
0
88
2
0
0
0
0
0
1
0
0
0
0
0
0
44
4
0
3
0
0
7
4
0
0
-24
0
0
72
-39
0
0
-51
3
0
19
-30
0
1
108
0
0
31
-73
0
-2
53
2
0
-6
-8
0
0
0
0
0
0
12
0
6
9
0
0
0
-34
-13
0
0
0
0
0
-27
0
0
0
0
0
0
-20
0
-8
1
0
0
5
1
-1
0
-13
17
0
4
67
0
11
38
0
0
15
-94
0
0
13
4
0
1
24
0
1
0
0
0
0
122
0
0
0
0
0
0
13
0
-9
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
49
-4
2
-11
31
19
4
8
58
-2
3
3
6
25
-4
10
-3
0
2
-46
-60
0
16
-98
0
0
0
72
15
-10
-7
57
2
32
0
43
12
-3
15
20
0
1
22
23
24
48
-82
5
-21
0
0
0
0
0
0
0
35
-92
0
-13
-3
65
-16
-75
-58
7
40
-14
-5
39
19
-11
-1
-8
28
-57
7
-8
-19
-7
0
-4
27
14
0
-31
36
78
-2
1
0
0
11
-36
33
2
-4
4
-22
-29
-65
20
-24
18
-2
-26
24
-12
13
41
0
20
100
62
-5
-9
-70
10
23
127
50
-43
122
73
27
-25
-22
29
-3
26
-29
-23
-1
16
-8
0
18
84
-8
48
3
-19
3
0
11
31
-35
0
-13
-26
-1
0
-11
-7
0
-1
68
-2
0
12
0
-10
19
77
-118
19
8
4
19
-25
9
-14
-11
11
0
-27
26
0
93
-68
-9
-2
-9
54
43
16
34
-2
0
6
18
0
29
91
-4
-2
-72
-13
-4
6
4
43
-9
-2
-15
0
3
-14
1
-12
0
43
1
10
-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
15
-1
0
0
4
9
3
-31
-3
0
0
-15
0
-12
5
-16
0
0
11
-3
-12
0
0
-19
0
0
17
32
0
-22
-13
11
3
-4
0
0
-18
0
0
-2
0
-4
10
38
0
11
115
2
0
0
0
0
0
0
0
0
-89
0
-28
-38
1
-16
0
34
-8
0
-7
25
2
-6
0
-31
0
-47
-9
-13
-13
5
20
0
0
0
0
0
0
-21
5
-7
0
0
0
0
13
1
0
0
0
0
11
92
-2
-11
-19
12
14
-18
-22
0
4
5
0
1
74
12
4
-12
84
0
0
10
0
0
-1
-3
0
8
8
63
0
-11
-71
0
0
0
13
0
0
33
0
4
0
58
0
-2
-4
5
12
0
1
0
-7
0
-6
0
0
-16
0
-1
0
-2
0
0
-55
-1
92
0
-15
-3
-2
43
0
0
46
14
2
0
42
0
24
49
8
0
15
0
4
2
-5
-6
0
7
-6
0
-29
-9
0
0
0
-12
0
-19
4
9
0
0
-58
1
62
-5
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
9
-11
0
0
0
0
0
2
2
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
-3
0
0
0
24
0
-2
0
-1
-3
0
0
0
-45
0
0
3
0
0
13
1
0
7
-25
0
0
0
0
0
0
0
0
0
-2
-28
0
0
25
0
0
-3
40
0
0
-12
0
0
0
0
0
-25
0
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-50
0
0
0
0
0
0
-43
0
0
-2
0
0
5
41
0
0
0
0
0
-7
-43
0
0
21
0
0
0
81
0
0
-7
0
0
0
29
0
0
4
-2
0
-1
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
80
0
0
0
0
0
0
14
-4
0
0
0
0
0
42
0
-9
-1
0
0
0
23
0
0
0
0
0
-7
-65
0
0
1
0
0
0
41
0
0
-3
0
0
0
96
0
-3
0
0
0
0
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
-2
-33
0
0
0
8
0
0
0
1
0
0
-9
0
-8
0
0
3
0
0
0
18
0
-34
11
6
0
0
0
0
111
0
0
0
0
0
-16
-3
0
34
121
0
0
0
0
0
0
0
0
0
-22
37
0
0
-15
0
0
183
-16
0
0
-16
0
0
-9
10
0
-55
3
0
-7
0
30
0
0
0
0
0
0
44
26
0
0
-2
0
0
64
0
0
-3
0
0
0
9
0
0
1
0
-9
11
-33
0
0
11
0
0
17
-71
0
-4
12
2
0
4
99
0
18
52
0
0
-8
-18
0
1
25
3
0
0
-4
0
-7
15
0
0
13
15
0
0
-4
0
0
0
47
0
0
-10
0
0
0
24
0
0
0
0
0
0
-25
0
6
1
0
0
1
14
0
0
18
0
0
0
18
0
-21
-8
0
0
4
18
0
0
-5
0
0
0
59
0
-3
-11
0
0
0
-34
0
0
0
0
0
0
-39
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
3
-3
8
0
-2
-46
1
0
7
0
3
-2
23
0
0
-2
40
-86
0
0
14
0
0
-2
-10
0
30
-2
24
0
2
0
18
44
-7
1
-32
5
1
45
61
-4
91
28
2
12
0
0
0
0
0
0
0
28
-24
0
9
-15
-7
-1
47
75
0
0
19
12
0
-37
73
6
-23
16
-13
0
-16
-14
0
0
0
0
13
0
-35
62
1
0
0
0
0
89
1
0
0
0
0
30
-47
32
15
58
-9
-14
40
44
0
19
27
0
8
42
-18
0
7
-8
8
0
1
35
0
-4
72
2
-4
35
-61
3
0
-5
122
0
1
-13
0
48
-4
0
6
8
29
0
26
14
-8
-3
0
41
29
0
0
-4
0
0
-12
12
0
0
4
0
-9
-71
0
-34
-1
0
0
-7
-66
0
-32
-30
-5
0
12
-8
0
12
-75
0
0
37
26
0
12
-2
16
0
-7
-66
0
16
46
0
-1
15
-12
0
-9
-6
2
0
0
-40
-7
-29
0
0
6
0
10
-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
-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
39
0
0
0
0
0
0
125
0
0
0
0
0
20
-4
0
9
-3
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
-2
12
0
0
1
0
0
0
-18
0
-6
1
0
0
0
3
0
0
0
0
0
0
-53
0
0
0
0
0
0
-37
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
6
0
0
0
80
0
0
-12
0
0
-1
-3
0
0
-1
0
0
0
-22
0
6
0
0
0
0
64
0
0
0
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
-2
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-2
0
0
-2
0
0
0
-6
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
15
0
0
0
-3
19
0
10
-10
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
-5
0
0
0
0
0
-23
45
0
0
0
0
-11
24
0
0
0
0
0
38
-37
0
100
69
39
0
0
0
0
0
0
0
0
74
16
0
0
138
0
0
84
-16
0
0
46
0
0
0
17
0
-14
-1
7
0
0
-19
-1
0
0
0
0
0
78
17
0
0
0
0
0
16
5
0
17
0
0
-13
4
0
2
11
0
0
13
-23
0
12
-72
0
0
33
38
0
0
-18
-10
0
65
-24
0
0
-20
0
0
4
20
0
0
-26
-14
0
0
-19
0
0
-1
0
0
0
27
0
0
0
4
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
7
-78
0
-28
0
0
0
2
48
0
-6
9
-13
0
-7
-22
0
-11
108
0
0
5
-18
0
0
9
-26
0
-9
1
0
21
-22
0
0
-13
-21
0
12
-5
0
0
0
8
0
9
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
140
0
-10
0
51
0
0
87
-30
-63
0
2
-49
0
0
22
0
0
1
-59
54
-1
2
0
-2
-12
16
0
28
0
0
-11
86
0
49
18
-3
4
0
0
0
0
0
0
0
-2
-41
0
16
54
5
6
31
17
2
1
-21
20
0
61
-39
0
84
-41
-35
0
0
4
-1
6
-15
0
3
0
-12
39
-5
-6
-3
0
13
-4
1
1
4
-4
0
-27
-22
-8
24
33
-48
-42
-21
21
0
-15
8
5
-3
-50
30
3
-2
57
123
44
-46
6
23
-22
40
-13
13
2
33
0
39
24
48
1
-2
-14
0
0
52
-4
-35
-1
10
-1
-13
1
1
-8
0
-5
-2
0
0
1
-2
0
17
19
-11
0
-14
0
-9
11
-14
6
0
27
-6
3
13
-38
-9
44
0
-5
7
-37
-11
-9
81
0
-1
34
43
2
-1
-40
-21
0
-14
120
-7
31
63
-4
-5
7
13
0
-3
-5
7
-6
0
-74
0
-11
5
14
6
0
-79
-10
-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
-3
0
0
0
1
0
0
0
2
0
0
1
-13
7
0
0
0
0
0
0
6
0
52
0
2
0
0
0
-7
-31
0
2
-6
0
0
-18
0
0
19
10
0
0
0
0
0
0
0
0
0
0
13
7
0
-22
-14
0
-15
0
0
-4
49
0
0
12
19
0
30
8
0
0
0
-27
0
0
0
0
0
0
1
12
0
0
0
0
0
23
0
0
0
0
0
0
27
-6
0
3
0
0
-11
29
0
0
24
0
0
-15
22
0
0
-19
0
0
-50
4
0
-2
-15
0
0
8
0
0
0
-9
13
2
7
-9
0
0
5
0
-3
0
23
0
0
9
0
0
0
24
0
1
-3
0
0
0
21
8
0
0
0
0
0
-38
-5
-4
-4
0
0
0
9
0
0
12
5
0
-1
34
0
-2
0
0
0
2
75
0
0
-2
-2
0
3
0
0
-10
0
0
0
0
59
0
0
0
-3
0
0
-12
0
-9
0
0
0
0
-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
-1
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-1
0
-1
4
0
0
3
0
0
0
-23
0
4
0
0
0
0
-3
0
0
0
0
0
0
33
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
-24
0
0
0
-28
0
0
-6
0
0
0
55
0
0
1
0
0
0
16
0
0
34
0
0
0
-73
0
0
0
0
0
0
13
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
3
0
0
0
0
-25
0
0
0
0
0
0
-10
0
0
19
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
-47
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
49
0
0
0
0
0
4
-27
0
1
1
0
0
0
0
0
0
0
0
0
0
61
0
2
4
0
0
0
11
0
0
0
0
0
0
-1
0
0
8
0
0
0
58
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
10
-24
0
0
0
0
0
0
28
0
0
0
1
0
0
-4
0
0
-3
0
0
0
17
0
0
-3
0
0
0
32
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
-8
0
0
0
0
0
0
29
0
0
0
0
0
0
29
0
0
0
0
0
-1
16
0
0
0
0
0
0
-2
0
1
4
0
0
0
8
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
38
-32
-2
0
23
-6
-4
-1
63
-5
0
0
16
-70
0
0
-18
0
0
0
3
0
-30
6
1
-2
0
0
-32
18
0
0
-14
0
0
22
4
-2
37
97
-25
0
0
0
0
0
0
0
0
61
-22
-5
-1
-50
54
0
77
-5
6
-6
-2
-8
0
-8
36
0
95
-10
6
2
-3
52
0
-2
-7
7
12
0
-18
-40
-13
0
18
4
1
23
46
-3
-2
3
0
-1
-8
-8
-7
-11
-10
75
79
-77
0
76
-26
17
8
60
-29
-9
59
47
10
10
-19
27
-4
-1
93
5
-4
-103
-36
28
-4
-72
41
-18
-1
13
0
7
6
0
83
-5
42
2
-1
5
-11
2
-12
-16
-5
-2
0
-46
-7
4
45
34
0
0
-4
0
-3
30
-17
56
3
0
-1
-20
-29
0
-8
31
-5
-8
18
26
10
58
-6
8
-1
25
-14
26
80
2
-5
0
-1
64
10
68
12
-27
4
0
-27
0
-22
-1
21
4
0
0
0
-93
0
0
26
0
-10
-33
-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
14
24
0
0
17
0
0
0
3
0
0
0
0
-36
0
0
13
0
0
0
8
0
33
-5
-1
0
0
0
-6
-11
0
0
-9
0
0
18
65
0
28
-28
0
0
0
0
0
0
0
0
0
28
-1
0
-2
83
0
0
-25
-29
0
-6
-65
0
0
-5
7
0
40
22
0
0
0
19
0
0
0
0
0
0
35
0
4
0
0
0
0
2
-4
0
-4
0
0
0
-12
-3
-3
2
0
10
28
-17
0
0
30
0
-11
-7
81
0
1
-22
0
0
-8
-43
0
0
8
0
0
0
12
0
0
37
0
-6
-13
-44
0
7
6
0
8
0
57
-1
0
0
0
2
0
-43
0
0
0
0
0
0
7
0
0
2
0
0
0
0
0
4
2
0
0
0
-10
0
-2
3
0
0
0
1
0
52
74
0
0
0
46
0
19
14
0
0
0
83
0
12
-3
0
0
0
-30
0
0
-2
0
0
0
-8
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-13
0
0
0
48
0
0
0
7
0
0
0
0
0
-4
-1
-1
0
0
0
-18
4
0
0
5
0
0
-37
37
7
45
96
-12
0
0
0
0
0
0
0
0
15
37
0
0
-48
6
0
-2
38
0
0
-48
0
0
0
-32
0
9
44
10
0
0
-57
0
0
-9
0
0
0
-13
-7
0
0
7
0
-1
-25
9
0
0
0
0
-11
58
11
2
33
0
0
-4
2
0
0
-3
0
0
19
75
0
0
27
-9
0
35
33
-5
-6
-76
0
0
19
48
0
-2
-39
8
0
-11
-118
0
0
8
0
0
0
66
0
22
-2
7
0
0
8
2
0
0
0
0
0
29
0
0
0
0
0
0
-24
0
-27
5
0
0
-11
1
0
11
-13
0
0
21
76
0
4
-15
0
0
-5
61
0
0
42
38
0
0
-43
0
-50
42
0
0
0
69
0
0
-6
0
0
0
-8
0
-2
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
17
-4
0
-48
37
-29
0
-8
-28
0
0
-4
0
0
3
-16
-30
2
-15
0
-25
-12
10
3
-34
-1
-63
5
32
6
19
-15
23
0
0
0
0
0
0
0
0
55
15
0
-4
12
16
0
36
11
0
1
33
1
0
-3
2
-6
37
43
-30
0
0
7
0
0
-34
-11
4
0
21
-33
40
15
15
0
0
48
-18
4
0
-21
-2
62
-5
8
-6
-3
-1
-17
21
-4
7
-44
78
-1
-23
54
13
0
10
42
-54
-19
-61
-9
-51
75
-8
-26
-54
70
-3
19
48
26
-54
15
5
10
-3
39
-56
27
21
0
38
3
-2
-19
7
86
0
22
13
0
0
-14
42
0
-49
-31
-8
-1
0
1
0
-46
0
-10
-69
5
-9
-10
-21
4
83
-21
-38
0
-48
-19
0
9
-48
29
0
50
29
11
-90
-75
-47
6
-3
-50
0
-49
-50
15
0
10
-20
9
22
-37
10
4
0
-24
7
9
1
0
4
0
-20
16
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
-24
0
0
26
0
0
0
-5
0
81
0
-12
0
0
0
-6
-34
0
0
8
0
0
10
63
0
35
-61
1
0
0
0
0
0
0
0
0
11
26
0
-5
81
-3
-3
-15
68
0
0
45
0
0
14
0
-14
78
-8
0
0
0
13
0
0
0
0
0
0
-33
-6
11
0
0
0
0
9
0
0
0
0
0
0
50
0
11
2
-5
5
-44
25
2
0
51
0
17
32
45
0
1
50
17
0
-14
-6
0
2
30
-2
0
53
104
8
0
3
0
0
0
0
0
0
19
0
-2
0
17
0
4
-4
-5
19
0
-60
-1
0
0
0
0
0
86
1
0
0
0
0
0
3
0
13
4
0
0
1
23
0
34
52
-4
0
1
-19
-3
33
-13
6
0
-5
-72
0
9
41
5
0
0
-85
0
44
30
0
0
0
0
0
0
0
5
0
0
50
0
-27
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-9
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
23
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
-18
0
0
0
0
0
0
-7
0
0
8
0
0
0
4
0
0
0
0
0
0
-4
0
0
-3
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
0
0
0
-20
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
13
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
-7
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
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
11
4
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
49
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
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
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
15
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
-9
7
-4
0
-2
10
41
0
1
9
0
0
0
0
0
1
0
-6
8
0
0
5
12
0
9
1
0
1
-16
-15
0
58
84
3
2
0
0
0
0
0
0
0
-8
-32
0
0
-1
-17
0
-2
-9
0
0
-2
-4
0
30
7
0
62
-2
-2
0
0
83
-2
0
-1
0
0
0
32
44
-1
0
0
0
0
87
0
0
-3
-3
0
0
-17
0
-9
3
0
-21
11
17
0
0
35
0
-2
-6
29
0
-22
5
2
0
18
-2
0
0
-13
-13
-2
6
25
0
12
3
6
1
1
-50
0
0
7
1
1
4
-22
0
-12
0
0
11
0
-2
0
0
0
0
0
0
-35
0
0
0
0
0
0
-5
-5
30
0
4
0
-1
-118
-1
0
0
6
0
-2
-69
0
6
-2
-19
0
8
11
0
2
-5
5
-2
-9
-105
0
75
6
-1
10
-4
12
0
6
0
5
0
0
-14
2
32
0
0
6
0
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
-17
0
0
-1
0
0
0
-23
0
0
0
0
0
-7
12
0
-11
0
0
0
0
10
0
0
0
0
6
0
-5
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
-2
40
0
0
0
0
0
12
7
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-4
0
0
-2
0
0
-12
-22
0
0
8
0
0
0
-35
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
-15
0
0
0
0
0
0
4
0
-2
0
0
0
-7
2
0
0
0
0
0
0
7
0
0
-1
0
0
0
-3
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
-3
0
0
0
-20
0
0
0
-71
0
0
0
0
0
51
1
9
0
2
0
-23
89
0
0
2
0
0
34
-40
0
-6
170
-31
0
0
0
0
0
0
0
0
-23
41
0
0
-15
4
0
52
-62
0
0
46
0
0
1
61
0
10
-3
-2
0
0
71
0
0
4
0
0
0
45
5
-1
0
-5
0
0
-34
-7
0
0
0
0
1
-92
0
0
0
1
0
-20
-39
0
0
79
0
0
44
31
0
0
-94
11
0
22
-14
0
-4
-13
-4
0
-31
34
0
0
55
-10
0
7
38
0
0
-10
0
0
0
36
0
9
4
8
0
0
-21
0
0
0
-5
0
0
-20
4
0
0
0
0
-10
21
0
13
-10
0
0
-2
-160
0
-5
20
-3
0
0
-29
0
-3
-35
0
0
-2
46
0
0
30
-5
0
0
78
0
-11
-5
0
0
23
-5
0
0
-8
-10
0
0
-35
0
-13
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
11
0
0
0
0
0
-23
0
0
0
0
0
0
-48
0
0
4
0
0
16
12
0
-110
-3
0
0
0
0
0
0
0
0
0
0
69
0
0
-27
5
0
0
1
0
0
12
0
0
0
-43
0
-29
0
0
0
0
-4
0
0
0
0
0
0
3
-1
-7
0
0
0
0
-10
0
0
0
-3
0
0
-36
0
0
3
-10
0
-2
-22
0
0
22
0
0
14
-70
0
0
25
0
0
2
-18
0
0
10
0
0
0
8
0
0
0
0
0
0
-25
0
0
27
0
0
0
17
0
0
0
0
0
0
43
0
0
0
0
8
0
-30
0
0
0
0
0
0
-20
0
0
0
0
1
0
9
0
0
0
0
0
-4
49
0
-5
16
0
0
0
2
0
2
-10
0
0
0
16
0
27
6
0
0
0
38
0
-3
0
0
0
0
-10
0
15
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
-20
0
1
0
0
0
13
-18
0
0
2
0
-13
-6
35
0
10
-79
0
12
0
0
0
0
0
0
0
-6
-48
0
8
61
54
0
25
91
0
0
-23
0
0
-14
16
0
-14
-22
-14
0
-11
0
1
1
0
-2
0
0
28
13
0
7
0
0
0
-7
-9
0
0
0
0
-13
0
1
0
12
0
0
-1
-17
0
2
15
0
0
-47
-53
0
-2
64
1
0
-46
40
0
-3
37
0
0
38
74
0
-2
47
-11
0
-13
-17
0
0
-2
1
0
0
0
0
0
-3
-4
4
0
-32
1
0
0
0
0
0
38
10
11
0
0
0
0
-73
0
43
-4
0
0
0
-55
0
-2
-1
0
0
-4
-44
0
24
16
0
0
-11
-10
0
-7
-32
21
0
-3
-31
0
-28
20
0
1
0
34
5
0
0
0
0
0
0
0
9
0
0
0
0
-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
1
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-17
0
0
-1
50
0
0
-4
0
0
2
0
0
0
1
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
-9
-5
0
0
0
0
0
0
57
0
0
-5
0
0
0
-18
0
0
-4
0
0
0
0
0
0
0
0
0
0
-23
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
-15
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-21
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
-7
0
0
0
0
0
0
-1
-5
0
0
0
0
0
-12
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
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
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
-6
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
-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
-14
0
2
-8
0
0
89
6
9
0
0
0
2
40
0
0
0
-7
0
-7
28
0
78
-37
-4
0
0
0
0
0
0
0
0
-15
34
0
0
13
0
0
-23
-33
0
0
0
0
0
0
10
0
-28
1
-2
0
0
-4
0
0
0
0
-1
0
-38
-9
-5
0
0
0
0
64
0
0
-3
0
0
0
-40
0
0
7
13
-6
8
-123
0
0
2
0
18
-8
-68
0
0
19
3
-20
5
16
0
-1
11
0
-10
-7
92
0
0
3
0
6
1
-16
0
0
0
0
0
0
-62
0
0
0
0
-2
0
36
0
1
0
0
0
0
6
0
0
0
0
0
0
-24
0
-57
0
0
0
0
9
0
0
6
0
0
0
7
0
-16
3
0
12
-11
73
0
-7
4
-5
0
0
-35
0
14
0
2
0
2
30
0
0
0
0
0
0
-32
0
2
0
15
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
-6
0
0
0
0
0
-37
-3
0
0
0
0
11
42
0
0
-25
0
0
-1
-27
0
-57
-46
0
0
0
0
0
0
0
0
0
19
-88
0
5
11
0
0
51
15
0
0
47
0
1
38
-21
0
-8
-8
0
0
7
-2
0
0
1
0
0
0
58
0
0
0
0
0
0
49
1
0
0
0
0
2
-36
0
0
20
0
-1
26
10
0
0
17
0
0
93
-27
0
0
-73
0
0
6
-28
0
3
41
0
-4
0
19
0
-3
57
0
-8
-2
-31
0
0
-10
0
52
0
3
0
0
0
0
7
0
19
0
0
0
0
2
0
-11
0
0
0
0
0
0
-19
0
71
-7
0
3
-2
37
1
29
0
0
0
2
-48
0
39
-12
0
0
3
-56
0
0
31
0
0
0
37
0
10
-24
0
-8
0
28
0
0
-1
0
-1
0
-4
0
11
0
0
0
0
-64
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
-1
45
9
21
107
0
20
2
13
25
60
0
0
64
31
2
52
90
85
0
0
0
0
0
0
0
0
5
-66
-6
-4
6
76
0
90
-5
0
0
14
-7
0
16
-30
1
16
54
21
0
48
11
65
0
0
0
0
0
22
-33
-11
-5
38
0
0
-10
-3
0
-14
0
0
-47
-36
-27
-3
-77
19
0
81
-21
0
-17
96
-1
0
-8
43
2
-4
-40
13
0
38
12
15
-13
12
50
0
4
25
0
-36
5
2
0
-36
-1
0
12
86
-41
0
8
82
3
46
-45
75
0
-16
-26
10
1
0
-7
0
0
-13
44
2
2
17
0
12
-6
-21
47
-10
0
0
-14
-34
-24
49
51
61
0
-53
0
2
72
4
-43
0
22
19
-1
38
-51
-7
0
113
70
1
100
91
1
0
-39
-52
0
52
15
20
0
0
26
2
-26
12
0
0
0
55
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-2
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
1
0
0
0
0
0
0
-4
0
0
0
0
0
1
3
0
0
0
0
0
0
2
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
-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
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
-15
2
0
-4
3
0
0
0
0
0
0
0
0
0
0
73
0
0
-5
0
0
-4
32
0
0
-2
0
0
6
-21
0
-7
0
0
0
0
44
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
-9
0
0
-2
0
0
5
-10
0
0
-11
0
0
0
1
0
0
-15
0
0
0
-45
0
0
2
0
0
0
61
0
0
0
0
0
0
7
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
-8
0
0
-1
0
0
0
38
0
0
0
0
0
0
18
0
1
-14
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
4
0
0
0
16
-33
0
0
66
0
0
-21
17
0
-23
-21
0
0
0
0
0
0
0
0
0
18
-3
-9
0
14
-47
0
-23
14
0
0
77
10
-6
12
-57
0
23
1
35
-12
0
-36
0
0
0
0
30
0
-56
0
-16
0
1
4
0
61
0
0
0
0
0
-36
17
2
3
-1
0
0
-26
-31
0
-2
-75
0
0
32
-89
0
9
-32
-1
0
61
-5
0
1
42
-1
0
-28
-26
0
0
-95
-19
2
32
2
0
0
11
0
7
0
-49
-1
-13
12
-15
8
0
42
0
0
0
0
11
0
91
-1
0
1
0
0
0
42
0
5
10
6
0
-9
6
0
0
8
0
0
14
49
0
32
-34
8
2
0
-48
0
24
-28
3
3
-19
-36
9
-4
0
-1
0
0
-36
0
0
-3
0
-6
7
51
0
161
12
0
0
0
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
18
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
9
0
0
-1
0
0
0
9
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
-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
-2
0
0
12
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
13
-1
0
0
-6
0
0
0
-1
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
-8
0
0
0
0
0
0
-31
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
-8
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-11
0
0
0
0
0
0
-28
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-32
0
0
0
0
0
0
-9
0
0
-2
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
-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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-12
0
0
0
0
0
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
-9
-39
0
0
16
13
0
0
-9
0
0
-2
0
0
0
78
0
-20
-4
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
4
0
0
0
-10
-22
0
0
0
0
0
0
26
0
0
-2
0
0
0
33
0
0
10
0
0
0
65
0
0
51
0
0
-2
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
-15
0
0
0
0
14
0
0
0
0
0
0
36
0
0
10
0
0
0
4
0
0
-9
0
0
0
-2
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
75
-4
7
2
0
0
48
52
0
0
1
0
0
10
16
0
-9
-91
0
0
0
0
0
0
0
0
0
10
10
-3
-3
-58
9
0
20
50
0
0
-16
0
0
0
-69
0
20
-17
4
0
0
30
-9
0
0
1
0
0
24
-78
2
0
1
0
0
38
0
0
0
0
0
2
-47
0
-16
-7
0
0
-15
17
0
0
-33
0
0
-45
21
4
0
12
3
0
36
14
2
-1
-7
0
0
-8
-59
3
0
-10
-6
0
0
-14
0
0
22
0
0
-4
-23
0
-1
7
9
0
0
14
0
0
0
0
0
0
-22
-2
0
0
0
0
0
-61
-9
4
6
0
0
-4
51
0
-9
18
0
0
49
-35
0
12
-16
-5
0
4
-95
-3
-9
1
-5
0
0
121
0
14
-21
0
0
0
55
0
0
12
0
0
0
11
0
26
0
0
0
0
32
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
-13
0
0
17
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
-7
32
0
0
-1
0
0
-2
-24
0
0
5
0
0
0
5
0
6
2
0
0
0
4
0
0
0
0
0
0
-13
6
0
0
0
0
0
105
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
-2
0
0
0
32
0
0
-3
0
0
0
-1
0
0
8
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
-4
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
5
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
138
-18
21
9
11
3
8
42
-18
24
38
-27
44
12
0
0
0
0
0
0
0
4
4
-81
5
13
-11
-86
32
13
-10
12
19
9
-13
2
-9
-22
15
-15
-25
5
-48
-15
-13
-16
11
24
11
-1
11
12
49
-4
56
8
-17
0
-13
33
52
-21
48
62
-39
24
57
-52
-34
76
71
-14
39
54
9
17
-5
-6
-7
5
-6
-13
59
-38
-74
7
10
41
22
-55
-16
50
1
-22
-3
56
-33
-20
-36
-26
-9
-21
-33
-3
-56
30
-10
55
41
10
-6
38
30
-17
22
-34
9
53
24
39
0
-25
-23
-5
-52
7
16
-20
1
-16
26
67
-34
-31
0
23
-48
146
-29
-24
-3
-13
29
24
-17
-27
-23
-35
-12
-40
-91
-115
-8
-23
-1
-10
51
12
-53
121
104
-62
-20
-6
9
17
24
-9
22
-1
23
24
92
-13
39
7
-26
-15
-9
6
-40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-9
-8
0
11
-8
0
-75
-6
-5
0
0
0
0
0
0
0
0
-11
-49
0
0
-35
30
-1
3
-48
0
-8
-1
6
0
31
41
0
45
5
0
0
0
-66
0
0
0
6
-1
0
-27
1
31
0
0
0
0
8
0
0
-5
0
0
0
-43
12
0
1
-8
10
3
20
9
2
-6
0
0
98
-11
0
-4
26
-3
0
44
50
2
0
17
0
0
-6
-48
0
-3
-11
9
0
-2
-16
0
0
12
0
-9
0
-4
0
0
-6
0
-3
0
-40
8
2
0
0
0
0
-47
0
0
0
0
0
0
47
0
4
0
0
3
0
47
12
0
7
0
0
10
13
0
-4
21
0
-4
0
1
2
-3
-6
-7
0
-17
47
0
32
5
-12
0
0
16
0
0
0
-1
-4
0
54
0
60
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
-27
-43
0
0
-1
0
0
0
0
0
0
0
0
0
15
15
0
0
-39
-10
0
-29
-36
0
0
25
25
0
0
-39
0
-7
-19
0
0
0
22
2
0
0
0
0
0
69
6
0
0
0
0
0
-39
-9
0
0
0
0
0
77
-1
0
17
10
0
-12
-54
0
0
-15
0
1
-9
16
0
0
-46
6
0
-8
-69
0
0
19
0
0
0
-19
7
-3
41
-13
0
0
24
0
0
10
0
-3
0
16
0
-8
-1
0
-2
0
-38
0
0
0
0
0
0
51
-4
1
0
0
0
-5
-13
0
0
9
0
0
-2
-7
0
0
-7
0
0
-5
70
0
0
-27
0
0
0
52
0
0
2
-20
0
0
37
0
6
14
0
0
1
27
0
-2
0
6
0
0
-4
3
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
-5
85
0
0
-7
0
0
0
-63
0
0
0
0
0
0
-27
0
9
-1
0
0
0
-3
0
0
0
0
0
0
-65
-2
-16
0
0
0
0
-25
0
0
0
0
0
0
5
0
5
0
0
0
-18
-45
0
0
0
0
0
2
-13
0
0
2
0
0
-4
-30
0
0
-16
0
0
6
-12
0
0
0
0
0
0
14
0
0
0
0
7
0
-22
0
0
0
6
0
0
39
0
0
0
0
0
0
-12
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
-36
0
0
0
0
0
0
27
0
0
0
0
0
0
-41
0
0
0
0
0
0
46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
48
0
0
0
0
0
-19
0
0
-45
159
0
0
0
0
0
0
0
0
0
28
45
0
0
8
0
0
0
29
0
0
3
0
0
4
32
0
-52
37
0
0
0
-49
0
0
0
0
2
0
-8
2
0
0
0
0
0
-8
0
0
0
0
0
0
-63
0
0
0
0
-1
-2
-18
0
0
44
0
0
-2
-6
0
0
-7
0
0
7
55
0
0
-7
0
0
-13
22
0
0
71
0
0
0
2
0
0
-1
0
4
0
6
0
0
0
0
-10
0
-19
7
0
0
0
0
0
17
-14
0
0
0
0
0
-16
0
27
0
0
0
-10
-89
0
14
21
0
0
31
150
0
12
-13
0
0
-11
-45
0
0
-12
0
0
-5
4
0
63
3
0
0
0
31
0
0
3
0
0
0
19
0
-1
0
0
12
0
53
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
-1
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
39
0
0
0
0
0
0
-11
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
5
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
7
36
0
30
-14
0
0
0
0
0
0
0
0
0
28
72
0
1
50
-1
0
-16
24
0
2
-69
-15
0
0
-112
0
-74
25
26
11
-3
-44
0
0
-3
0
5
0
-49
-4
-1
0
3
10
0
-33
4
0
0
0
0
0
-84
0
-2
-9
-4
0
1
-37
0
0
-25
0
0
27
104
0
7
120
0
0
-2
-68
0
0
-14
-1
-4
-8
18
-7
4
78
-17
0
-2
35
0
0
-43
0
1
0
-13
-1
-6
1
0
3
0
60
1
0
0
0
0
0
-133
-4
0
0
0
0
0
-5
-6
25
10
0
0
3
31
0
0
0
3
0
6
61
0
-12
-35
0
0
0
76
0
32
29
3
0
0
-1
0
-3
-6
0
0
0
-55
0
2
-2
2
0
0
-1
0
-15
0
0
0
0
77
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
-7
-26
-14
25
21
-39
6
0
0
0
0
0
0
0
-2
-10
44
-65
-15
26
110
7
-5
91
47
-14
88
-52
-12
-15
5
-21
-18
60
-30
-57
-33
34
-14
-59
65
-111
-19
12
-22
-10
-29
31
28
-2
6
-5
26
26
-36
-31
79
0
1
40
4
-65
-10
-29
4
55
-44
14
-19
29
-32
-4
18
2
20
-21
24
14
-19
-33
54
-29
80
-45
56
-7
13
39
17
57
-45
42
20
-3
-44
-42
-5
-18
-75
14
32
-45
125
86
-10
50
-7
71
-62
-15
43
-12
-15
2
72
-47
24
48
-6
-13
0
4
-12
-30
59
20
-51
2
-48
-1
40
13
-29
51
-2
33
-32
22
-114
19
-126
-20
25
-56
-4
-26
4
2
0
106
-5
35
12
4
-7
33
-15
-29
-30
-17
23
-2
-10
37
30
-39
48
24
3
26
-9
-55
43
62
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
14
0
0
0
0
0
0
0
0
21
-6
0
0
25
0
0
10
-50
0
0
14
0
0
0
-13
0
5
6
0
0
0
22
0
0
0
0
0
0
51
0
0
0
0
0
0
-18
0
0
0
0
0
0
10
0
0
0
0
0
0
12
0
0
-7
0
0
0
32
0
0
0
0
0
-3
44
0
0
-19
0
0
-5
35
0
0
-1
1
0
0
51
0
0
1
0
0
0
13
0
0
0
0
0
0
-58
0
0
0
0
0
0
18
0
0
0
0
0
0
-15
0
2
0
0
0
0
54
0
0
0
0
0
0
1
0
-7
0
0
0
0
-9
0
0
-6
0
0
20
10
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
-1
55
0
0
31
0
0
0
-15
0
0
0
0
0
0
-8
0
13
0
1
0
0
-3
0
0
0
0
0
0
48
0
0
0
0
0
0
38
0
0
0
0
0
0
23
0
0
-11
0
0
1
-43
0
0
3
0
0
-1
84
0
0
-21
0
0
3
-24
0
0
6
0
0
0
73
0
0
-8
0
0
0
-33
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
4
0
0
0
0
22
0
-3
0
0
0
0
15
0
10
-3
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-63
0
27
12
62
0
0
0
0
0
0
0
0
-3
-2
3
-2
-64
-13
0
-28
43
0
0
29
0
0
-21
29
0
-39
-30
-1
0
2
23
0
-1
5
0
3
0
46
-44
0
0
11
0
0
77
25
0
0
0
0
-1
74
3
0
-11
-4
-4
10
-22
0
0
58
0
0
-35
45
-3
-6
58
0
0
-7
-35
5
0
45
7
0
-20
-5
0
-4
30
-3
0
9
-41
0
0
30
0
5
0
52
0
0
-14
0
58
0
-20
0
1
0
0
0
0
6
4
0
0
0
0
0
9
0
6
3
0
0
6
104
0
7
-2
1
0
10
84
0
-28
-11
9
0
-4
45
-3
3
-2
9
0
0
-31
0
-8
-2
0
0
0
-9
0
0
-1
0
0
0
-31
0
4
0
0
0
0
51
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
10
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-34
0
0
0
0
0
0
35
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-3
0
0
0
-8
0
0
-1
0
0
0
-11
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
0
0
0
0
0
0
0
-3
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
-23
0
3
14
0
0
-18
0
0
0
0
0
0
-5
-6
0
-8
0
0
0
0
-57
0
0
0
0
0
0
42
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
-22
47
0
0
0
0
0
0
-7
0
0
26
-7
0
0
10
0
0
2
0
0
2
-52
0
0
0
-8
0
0
27
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
37
0
0
0
0
0
0
-40
0
0
0
0
0
0
40
0
1
0
0
0
0
9
0
0
-11
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
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
-83
-14
-7
-4
22
-69
1
76
4
0
-2
15
0
0
2
-34
3
46
-105
65
0
0
-30
5
-7
4
0
0
0
27
92
-31
0
0
0
0
-25
-10
0
0
28
0
-3
-29
0
-5
-26
6
0
-4
42
6
13
10
0
0
3
-9
8
-14
6
-43
13
-20
37
-11
-6
6
-9
-3
-55
-64
6
21
-86
5
-1
-7
-18
0
32
-55
0
1
0
28
1
-18
-64
51
-58
0
-4
28
1
2
8
10
0
-54
30
-6
1
0
0
0
-20
-1
45
44
-26
0
84
28
24
4
-4
48
0
-6
20
0
-18
22
2
-3
21
-48
0
-19
16
-75
-2
-18
0
-10
-61
-44
5
0
-1
59
11
-3
-12
-5
0
0
19
0
62
0
0
0
0
68
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
14
-10
-15
16
18
-48
0
66
4
11
18
51
6
-5
44
-69
4
71
-13
-10
-5
5
-24
15
0
11
1
-1
0
-7
-91
14
26
98
0
1
-1
-83
0
2
24
3
30
29
64
-62
-4
-4
-4
-113
0
16
13
-1
0
-21
-65
13
1
68
13
60
9
68
2
13
5
24
42
-44
-68
-3
7
-19
7
-117
-14
-13
37
0
47
63
-3
-66
-16
7
0
23
4
42
74
-8
-36
42
-1
2
16
40
0
-24
-8
1
0
-19
4
4
121
-1
46
-4
-3
3
25
0
1
39
-34
6
15
13
-38
-13
-70
-12
-12
0
22
23
-11
102
14
68
-22
-79
84
1
28
-25
7
3
7
73
20
-22
-41
10
-7
0
1
-9
46
16
22
-7
0
28
81
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
-57
0
0
2
0
0
-2
52
0
6
0
0
0
0
34
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
58
0
0
0
0
0
0
67
0
0
0
0
0
0
3
0
0
-3
0
0
0
-52
0
0
0
0
0
0
44
0
0
14
0
0
0
37
0
0
0
0
0
0
-3
0
0
1
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
-3
0
0
0
0
-15
0
2
0
0
0
0
13
0
4
7
0
0
0
12
0
0
13
0
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
74
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
12
51
2
-57
18
49
2
2
-26
42
-24
15
76
-16
0
50
72
-10
-2
-16
-1
-1
2
44
-48
-77
0
14
37
22
-14
21
-1
0
24
34
-5
-16
-20
10
-54
-26
26
74
-39
-60
54
5
-48
15
7
-10
-19
-16
59
-25
-1
-3
-1
20
33
13
12
72
97
31
113
57
83
13
12
12
-18
5
70
83
39
0
50
-9
-20
-58
35
-32
-17
25
25
55
-25
-15
-5
-56
0
2
1
3
-5
-17
21
-3
7
-50
0
-13
-39
36
37
-7
-1
-42
28
-15
25
62
65
7
1
-20
-9
-3
19
56
-23
-1
-13
-31
0
67
82
7
-2
51
2
9
-43
-6
26
-27
-19
0
0
-6
-61
-57
-6
35
19
-6
56
-9
28
5
0
-47
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
32
27
60
0
11
63
0
-10
33
-8
56
5
23
6
84
-20
91
-10
21
36
45
0
-8
1
0
-2
1
-28
78
0
24
3
0
4
6
0
-8
-5
-2
9
48
131
33
-3
11
-6
63
48
0
20
70
-3
0
10
-96
23
22
10
72
0
40
11
15
37
50
2
-15
107
-24
18
20
-36
-86
8
-12
-12
0
-10
11
-10
-25
10
12
7
4
43
31
66
3
0
0
6
0
36
4
2
-26
-15
-3
0
-1
0
-2
-10
-22
22
-2
3
5
-65
28
-19
-97
-8
-26
0
-77
-69
2
-18
-10
39
11
40
3
9
-11
77
-87
0
-7
1
7
-12
49
-1
1
86
21
0
22
67
-7
4
0
-69
4
-6
1
-2
45
0
32
-16
-21
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
84
0
0
-45
-130
0
0
-12
0
0
3
22
0
1
30
0
0
-7
-50
0
0
-2
0
-18
0
-23
5
36
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
-1
24
0
1
-5
0
1
-8
0
0
17
33
0
1
46
0
0
12
-1
0
-1
-16
0
0
3
16
0
-2
-64
0
0
-2
21
0
0
25
0
-5
0
76
0
0
0
0
-3
0
73
0
0
0
0
-10
0
-18
32
0
0
0
0
26
-41
0
-19
-8
0
0
24
37
0
7
-31
0
0
-4
67
0
0
-36
0
0
-4
80
0
10
-10
0
0
0
-44
0
22
-4
0
0
0
-58
0
0
1
0
0
0
5
0
56
0
0
0
0
-34
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
17
0
0
0
0
-21
0
0
0
0
0
0
2
15
0
0
0
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
26
-17
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
-1
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
13
0
0
0
0
16
0
-1
-18
0
0
0
27
0
0
9
0
0
0
54
0
0
-17
2
0
0
-1
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
45
6
-12
-6
-44
0
41
-17
4
-2
34
-40
-8
0
46
-24
13
0
-12
15
-64
-3
-10
0
0
-31
2
0
0
6
0
-1
0
3
30
81
-18
15
26
30
0
-8
3
0
-4
60
4
-1
20
30
-9
0
24
-12
0
-5
23
-1
24
22
-5
-1
6
20
-39
1
4
31
0
4
-28
3
-21
0
-44
0
-1
36
-72
-34
0
36
-7
0
0
4
-21
0
1
-4
0
0
-2
0
0
66
-6
-31
1
0
2
2
-5
-5
48
59
44
0
-10
-44
4
11
28
2
0
0
43
1
57
9
-70
1
48
-32
0
13
1
-8
0
0
-7
-5
2
-37
7
0
0
-3
0
-39
8
0
14
0
62
-8
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-36
15
38
-128
62
31
-3
-36
25
-19
-4
35
5
-78
-6
15
3
51
93
17
2
-29
65
20
1
-63
-6
3
44
-71
14
40
-22
-68
24
36
-30
-9
-52
-65
25
16
13
91
-12
62
51
-1
28
-15
-26
43
35
-33
-65
-28
0
-112
31
-46
34
-5
-52
31
12
51
-15
88
44
18
39
-20
22
-32
-43
-64
54
-23
-35
-59
-59
70
13
-9
-17
-28
0
13
-45
41
6
20
-1
-20
1
76
1
43
9
-17
-7
25
63
-125
36
-29
8
-8
-5
-18
-12
39
-16
25
24
44
31
16
-53
0
-33
14
19
153
-10
56
14
39
52
74
-2
53
-17
-50
-14
37
-79
-58
97
1
21
-3
22
67
94
-38
-1
12
-2
9
-26
-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
16
0
0
-8
0
0
0
-16
0
-7
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
-15
0
-3
1
0
0
3
90
0
0
-3
0
0
0
-50
0
0
-1
0
0
-2
-29
0
0
0
0
0
0
4
0
0
-4
0
0
0
-67
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
-7
0
0
0
0
0
0
12
0
0
-10
0
0
0
78
0
-1
0
0
0
0
9
0
0
0
0
0
0
38
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
-11
-14
0
0
0
0
0
0
2
0
-52
0
0
0
0
-37
0
0
-9
0
1
0
39
30
0
0
0
0
0
-94
-2
0
0
0
0
0
-25
3
4
-4
0
0
11
103
0
0
12
0
0
-2
-28
0
0
52
-14
0
2
120
0
0
1
0
0
4
-67
0
0
19
0
0
0
-40
0
0
17
0
0
0
-1
0
0
-4
-8
0
0
-66
0
0
0
4
0
0
-5
0
0
-4
0
0
0
48
0
2
-6
0
0
4
-5
0
10
-15
17
0
0
-144
0
15
8
0
0
3
-10
15
17
-17
0
0
0
76
0
-19
0
0
0
0
77
0
0
-1
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-5
0
0
7
17
0
93
60
-19
15
20
22
1
82
-17
-8
2
2
12
67
0
-11
-29
47
0
14
0
-4
57
15
5
-7
0
0
78
-17
32
-1
53
13
4
81
62
29
-29
26
0
22
40
-26
8
-2
51
54
-8
25
-18
1
-30
16
-18
3
29
21
-1
-78
46
-61
-29
32
29
-1
29
10
0
11
-42
41
5
2
3
11
-14
-18
5
0
2
0
0
-41
1
61
77
3
0
-20
0
-10
5
5
4
-38
0
7
-80
-55
-5
-30
-1
-13
0
-39
14
-18
-30
19
20
0
37
0
52
-45
37
-1
0
20
-44
-4
18
-16
-1
10
22
68
-1
7
-10
-13
0
0
-34
3
12
13
0
1
0
28
-2
-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
-58
-13
0
0
85
0
12
10
-22
0
46
45
2
-5
-1
55
0
0
0
0
28
0
39
-7
-11
0
0
0
3
52
0
0
0
0
0
0
-20
0
-12
-1
0
0
50
30
0
-5
-41
0
8
-31
-27
0
9
47
0
0
67
18
0
0
69
0
0
20
21
0
0
5
0
-14
23
-28
0
0
-2
0
-4
0
141
0
2
-2
0
-24
-1
-38
0
8
0
0
1
0
14
-21
0
0
0
0
0
62
9
36
-11
0
0
3
-74
0
0
38
0
0
-26
13
0
62
149
0
0
-15
-12
0
-6
-13
-3
0
1
5
0
109
7
0
4
-6
36
0
0
39
0
4
0
115
0
89
3
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
1
0
0
46
0
0
0
0
1
0
0
0
0
0
0
-23
3
0
0
0
0
0
14
0
0
0
0
0
0
33
0
0
0
3
0
-6
-23
0
0
19
0
0
-8
5
0
0
40
1
0
1
20
0
0
1
0
0
0
23
0
0
-7
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
35
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
-2
0
0
0
0
59
0
0
-3
3
0
0
114
0
16
3
0
0
0
-83
0
0
13
4
0
0
-36
0
0
-19
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
6
-7
51
1
0
-6
61
0
-3
-1
-2
-3
0
5
-10
51
-7
-42
0
0
-6
8
0
0
0
0
-17
71
23
19
-18
17
58
-45
-13
0
13
-12
4
-8
126
-6
7
57
-31
38
-5
-33
18
0
32
-7
0
-1
1
-52
-3
10
60
-30
-13
-9
10
0
3
-48
24
0
0
91
0
1
0
45
13
0
49
3
0
0
-1
0
0
97
-19
9
1
0
0
2
63
-19
48
34
0
-6
0
-39
0
47
42
1
0
12
76
0
-81
-42
0
0
0
60
5
93
42
7
0
25
-34
0
8
63
9
6
-9
36
-6
-1
66
-59
0
0
47
-7
-24
-1
0
18
0
-4
3
-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
1
32
-7
-10
-13
-31
-43
-5
7
-26
-1
-28
48
34
-7
22
-26
-3
12
24
29
15
-13
-7
-5
-9
14
8
87
41
24
-2
11
-12
-32
11
-26
43
-44
25
23
-93
63
10
15
-52
24
-14
-34
20
-29
3
-31
15
1
11
-54
0
-26
-127
0
-4
-39
20
22
-12
-22
10
-3
12
-1
-21
18
-2
16
-26
-30
-40
10
-37
-5
14
26
58
-22
36
30
102
82
30
5
-37
17
39
-91
48
42
-33
15
39
17
-66
-51
8
-33
26
-1
-67
-15
44
65
13
-23
-22
67
28
7
-74
6
21
0
18
5
-36
-21
18
49
31
3
-84
-3
34
4
16
1
6
11
-65
-23
-5
0
-11
36
15
60
-31
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-4
0
0
0
47
0
0
2
0
0
0
8
0
0
0
0
0
0
63
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
13
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
-4
0
0
0
0
0
0
-3
0
0
1
0
0
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
-1
0
0
20
0
0
0
0
0
0
-36
0
0
0
0
0
0
-49
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-54
0
0
0
0
0
0
93
0
0
-5
0
0
9
-18
0
0
5
0
0
0
33
0
0
-5
-8
-5
3
13
0
0
-6
0
0
0
-9
0
0
0
0
15
0
36
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
-3
0
0
0
0
-3
0
0
0
0
0
-5
-44
0
0
-1
0
0
0
-21
0
0
8
0
0
0
41
0
0
-3
0
0
0
-43
0
0
0
0
0
0
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-10
-5
-35
-15
16
-17
16
-12
0
0
-44
-1
-13
67
8
16
-3
-2
-9
22
-22
0
-5
0
0
-15
45
0
17
8
78
-24
14
25
-6
-6
75
-4
2
-80
9
-4
56
72
5
-4
70
-13
0
36
36
0
4
49
-39
-3
70
30
61
0
-31
7
0
29
14
-4
-9
-12
40
0
-49
0
2
-31
-10
9
-17
25
-1
0
0
-3
12
10
0
-5
0
0
19
27
-19
-34
-30
0
0
81
-18
-31
-10
135
-2
0
110
18
1
71
11
0
-7
80
12
0
-30
-62
74
1
41
-55
-1
3
10
0
0
9
11
-16
10
-28
-33
5
0
81
5
-2
0
0
21
0
62
8
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
-22
0
22
-7
0
0
0
22
0
0
0
0
0
0
-24
0
-8
0
0
0
0
-65
0
0
0
0
0
0
-46
0
0
0
0
0
-6
-88
0
0
-4
0
0
-1
17
0
0
-17
0
0
0
42
0
0
14
0
0
10
-26
0
0
0
0
0
0
1
0
0
24
0
0
0
6
0
0
0
0
0
0
42
0
0
0
0
0
0
-26
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
-25
0
0
0
0
0
-2
-6
0
0
-4
-16
0
0
-1
0
0
-14
0
0
0
22
0
0
0
0
0
0
42
0
1
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
1
0
-19
-4
4
0
0
8
0
0
0
0
0
0
0
2
0
0
0
0
0
42
0
0
0
0
0
-1
26
0
0
1
-2
0
0
72
0
0
2
0
0
1
-30
0
0
37
12
0
11
-29
0
0
-2
0
0
-16
-3
0
0
1
0
0
2
-84
0
0
12
0
0
0
13
0
0
0
-7
0
0
63
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
29
0
0
0
0
-11
0
0
-6
0
0
0
76
0
0
0
0
0
0
7
0
0
24
-3
0
0
8
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
0
0
0
39
6
0
0
-6
0
0
-54
0
0
0
0
19
10
45
3
1
6
0
-19
-13
-75
-2
-17
86
0
0
-13
10
0
-7
68
11
0
-22
-51
0
-3
91
0
2
-4
34
-4
5
5
-3
3
2
3
0
5
1
-1
0
0
-58
0
-3
-1
8
-7
0
17
0
0
0
-3
0
0
1
1
0
0
0
0
0
-24
0
3
3
0
0
0
49
1
0
-8
0
0
-1
3
2
-56
11
-19
0
0
47
0
1
-35
0
0
4
-6
0
6
0
0
0
0
-17
0
0
2
1
0
0
-90
0
8
1
0
0
0
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-1
20
2
0
7
1
-28
-6
10
0
-4
-5
-30
0
6
-50
1
-73
42
-51
5
-6
-14
0
-23
-24
-2
33
-17
11
-15
-58
20
6
-1
53
22
-5
48
-44
67
21
6
-8
-6
-3
16
0
3
17
48
-6
16
0
6
-65
-32
-4
-12
5
-11
-4
-21
12
0
-37
-13
8
-12
0
0
0
-9
-7
91
56
5
14
-16
0
18
41
-26
26
11
1
-37
13
-19
-23
-18
-70
-10
0
9
-25
-6
10
6
-5
0
18
-28
6
-16
-19
5
-4
-86
-11
-6
-42
-52
-2
14
-29
0
0
-3
12
12
6
0
-29
35
16
9
15
24
0
-3
-36
29
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
-7
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
-20
0
0
0
0
0
0
21
0
0
0
0
0
-2
-23
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
3
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
4
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
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
-17
-7
-26
-16
13
30
4
0
33
11
0
-11
-21
7
6
-23
101
12
31
-14
0
-78
12
50
3
-23
-6
-12
2
22
-5
67
50
6
-75
-22
67
2
52
26
-72
-7
-20
11
-20
-29
-5
33
41
88
-18
1
-46
24
-22
-14
25
-35
2
-3
12
-32
7
13
47
-1
59
90
-59
19
0
-9
13
13
-1
-6
-7
9
39
66
2
5
64
0
7
13
15
-82
-94
3
0
29
-10
14
-7
22
-51
7
-9
-43
17
-74
-5
-21
17
44
-23
1
5
116
-21
-7
121
70
-10
14
3
-8
0
94
-65
-3
-71
126
4
-1
10
-2
-10
17
51
-7
20
0
-16
-61
-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
13
-52
0
0
0
0
-5
0
5
-11
-4
0
0
0
0
-8
-22
0
0
0
0
-4
-38
0
0
14
-15
-4
-63
10
-8
1
80
0
-6
25
60
0
-8
-50
1
0
-74
-13
0
-20
79
-23
-6
-18
-32
1
6
25
-10
0
12
-28
0
-4
24
5
1
0
-24
4
0
0
1
-5
0
0
0
0
0
0
18
0
-73
25
0
0
-5
0
0
16
0
92
-13
0
0
16
19
0
0
3
11
0
29
69
0
-6
14
-1
0
11
58
4
-50
3
-4
0
0
-139
0
-18
0
0
0
4
-116
0
0
15
0
0
0
13
0
-18
0
6
0
0
16
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
-3
-30
0
0
0
0
0
0
-36
10
-12
0
0
0
0
10
0
0
0
0
0
-10
82
0
0
50
0
0
3
55
0
0
-58
0
0
-63
-3
0
0
-14
-1
-2
-9
-1
0
-3
39
0
0
-4
37
0
0
5
0
0
0
37
0
0
-13
0
-7
0
25
0
0
-6
0
-4
0
12
5
0
0
0
0
0
19
-4
0
0
0
0
0
-51
0
88
1
0
0
0
71
0
1
32
0
0
-1
42
0
11
127
0
0
0
60
0
-18
11
0
0
0
21
0
0
-3
0
1
3
13
0
0
3
0
3
0
4
0
1
0
0
0
0
-51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
-3
-41
0
0
-2
0
0
0
-17
0
0
-10
-4
0
0
32
0
0
3
0
0
0
2
0
0
0
0
0
1
-50
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
-2
0
-4
0
0
0
6
-32
0
0
0
0
0
-3
-7
0
-10
6
0
0
0
-10
0
0
4
0
0
0
19
0
8
-3
0
0
0
-1
0
0
0
0
0
0
15
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
30
0
31
0
0
0
0
-42
0
0
0
0
0
0
-16
7
0
12
0
0
28
25
0
0
4
0
1
-3
49
0
0
-42
-8
0
5
-4
0
0
20
0
5
0
74
0
0
5
0
0
0
-5
0
0
-15
0
0
0
-24
0
0
0
0
-6
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
6
0
9
0
0
0
0
102
0
0
8
0
0
0
78
0
0
2
0
0
0
-18
0
0
0
3
0
0
4
0
14
3
0
0
0
-42
0
0
0
0
0
0
-44
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
6
-26
-32
44
33
3
0
-29
58
20
-9
3
-26
103
-14
3
-76
87
41
-52
6
17
-42
-48
-30
-2
-38
7
5
36
-88
39
-62
-31
-13
22
-51
34
11
7
-17
92
-22
22
13
-34
-27
-2
27
-12
1
11
42
79
39
-10
0
66
128
-21
16
7
0
-20
54
-7
0
3
42
0
42
-32
-1
36
22
1
4
2
-34
60
-39
11
118
31
24
34
-12
87
-137
-3
-9
65
77
-38
-19
-32
10
12
-19
25
75
4
-65
1
60
-15
0
-69
-19
-8
-16
9
-9
40
-56
-30
-8
-7
-2
0
-63
26
45
27
-11
-4
-27
-69
-3
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
-61
-10
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
-3
0
0
5
76
0
0
3
0
0
-1
48
0
0
2
0
0
0
37
0
0
-18
0
0
0
0
0
0
5
0
0
0
-92
0
0
0
0
0
0
8
0
0
0
0
0
0
66
0
0
0
0
0
0
40
-11
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-39
0
0
0
0
0
1
-53
0
0
2
1
0
0
0
0
0
1
0
0
0
-3
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
-5
0
0
0
0
0
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
16
0
-11
0
0
0
0
1
0
0
0
0
0
0
1
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
24
0
0
0
4
0
0
-52
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
-2
0
0
0
27
0
0
-12
-6
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
72
0
-3
0
0
13
0
-25
-14
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
7
0
0
0
0
24
0
0
0
0
0
-1
14
0
-1
0
0
0
0
3
0
0
-1
0
0
0
23
0
24
0
-2
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
-18
0
0
0
0
0
0
-76
0
0
0
0
0
0
78
0
0
-2
0
0
0
-37
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
-54
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
64
0
0
-2
0
0
0
-46
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
-34
0
13
-1
-19
0
-25
-34
0
0
-7
0
0
-15
45
0
0
-136
-10
0
13
12
0
0
61
0
0
0
43
0
0
17
1
0
-6
62
0
-4
8
0
0
-5
-15
0
0
0
4
0
0
46
0
0
0
0
0
0
-17
-2
0
0
0
0
0
-75
0
-11
2
0
0
6
-35
0
0
29
2
0
-2
-8
0
-1
-27
0
0
0
-27
0
0
0
0
0
3
21
0
59
4
0
0
0
-28
0
0
-4
12
0
0
20
0
1
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
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
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
-7
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
0
0
0
0
0
0
16
-7
-41
48
13
28
14
7
26
-17
-22
-21
9
16
-55
9
54
-67
3
27
8
22
-1
25
92
25
-6
-7
-20
-9
-88
31
9
123
8
61
-4
25
9
-26
43
-28
-23
17
-6
-36
-19
-29
31
-40
-28
35
39
45
-18
42
14
0
-2
-14
-3
-24
-43
20
-5
42
-1
6
-54
3
104
-3
-24
26
-4
-109
-58
0
-4
25
25
-51
31
-24
-66
-33
36
-7
35
-42
53
9
-27
-21
-41
-20
61
-24
-4
-28
-41
23
-12
-15
3
123
3
-8
50
-57
1
74
39
11
64
0
60
33
85
0
0
-3
9
17
-61
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
8
29
0
0
19
-8
3
29
-39
0
0
-37
0
-16
49
-79
-6
-6
46
-7
0
8
13
4
-8
-97
0
0
-51
-16
2
5
-62
-47
0
7
15
0
4
-6
0
0
8
35
0
8
40
1
-24
0
-59
0
0
0
0
6
0
44
-7
0
0
0
0
-3
41
-9
14
12
0
-4
26
32
0
1
-5
5
-8
-6
19
0
46
-20
-1
0
-2
-33
0
-7
14
4
0
-22
-27
0
-5
24
0
1
-1
-92
0
1
34
0
0
0
-45
0
16
-1
4
2
0
29
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
5
2
0
0
0
0
2
20
0
6
-5
0
12
-4
-79
0
0
6
0
1
-60
40
0
-20
21
2
-5
-14
-83
0
0
38
-21
0
-19
-17
0
0
34
18
0
0
-104
0
0
4
0
-6
1
120
0
0
14
0
-3
0
36
0
0
0
0
0
0
52
0
0
0
0
0
1
3
0
-26
3
0
0
13
-64
0
0
-3
0
0
3
12
0
-45
40
0
0
0
9
0
37
-9
0
0
11
16
0
10
5
-1
0
0
37
0
0
0
5
0
0
-28
0
-1
-5
0
3
0
46
-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
-17
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
1
34
0
0
0
0
0
0
-15
0
0
19
0
0
14
14
0
0
0
0
0
0
18
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
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
1
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
11
0
0
0
0
0
-1
0
0
7
0
1
-15
-9
0
0
0
0
0
-12
26
0
0
-41
0
0
3
-33
0
0
-12
0
0
5
-132
0
0
-3
3
0
0
-55
0
0
-11
0
-52
0
0
0
0
0
0
4
0
26
0
0
0
0
0
0
-38
0
0
0
0
0
0
34
0
14
-9
0
0
0
-12
0
0
0
0
0
0
-40
0
11
3
0
0
0
112
0
0
0
0
0
0
-43
0
25
0
0
0
0
6
0
0
0
0
0
0
12
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
20
0
0
0
0
0
0
7
0
0
3
0
0
-3
51
0
0
0
0
0
-2
-48
0
0
31
0
0
4
35
0
0
0
0
0
0
-5
0
0
2
0
0
0
-6
0
0
1
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
2
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
11
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
4
0
0
6
13
0
0
0
0
0
0
-6
0
0
0
-2
0
0
4
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
6
0
0
0
0
0
0
29
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
-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
10
-47
-28
84
-28
-31
-76
-62
-6
-30
6
-46
56
-81
22
-3
141
2
51
29
-16
-5
2
32
-29
-9
51
-18
59
10
-15
66
24
19
-7
-7
26
-8
34
65
-3
-5
8
-22
20
-51
12
-57
-13
-24
23
-22
63
0
1
-19
-6
0
23
-22
0
46
0
-36
4
-54
3
-22
-13
-24
-29
-26
-125
78
9
-32
19
-28
-9
-28
-24
8
42
30
20
-8
35
2
51
53
-11
-13
-38
-33
-4
-41
-54
-23
5
-15
-10
-48
-14
-44
19
-73
-41
-68
-1
-41
8
-19
-3
-3
7
-31
28
19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
78
-6
0
8
-2
0
-5
49
0
0
-4
0
0
31
-60
0
-1
63
0
0
17
-5
0
0
-8
0
0
0
95
0
1
26
8
0
0
-40
0
0
7
0
-6
0
3
0
-3
21
0
-4
0
16
0
0
0
0
0
0
-48
0
-2
0
0
0
-11
41
1
20
0
0
0
7
-38
0
0
1
-4
0
-3
41
0
-4
21
0
0
-1
-48
0
0
6
-5
0
0
51
0
-17
0
0
0
6
10
0
0
-1
0
0
0
87
0
-6
0
0
6
0
40
-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
3
0
0
0
-56
0
0
0
0
0
-5
4
0
0
0
0
0
0
-66
0
0
1
0
0
0
14
0
0
25
0
0
0
-43
0
0
0
0
5
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-63
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
-2
0
0
0
21
0
0
-17
0
0
0
8
0
0
0
0
0
0
-4
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
39
0
0
3
0
0
0
-33
0
0
0
0
0
13
28
0
-3
0
0
0
-3
-4
0
0
-8
0
0
0
39
0
0
0
0
0
0
-4
0
0
5
0
0
0
3
0
0
0
-1
-12
0
117
0
0
0
0
0
0
1
0
0
0
0
0
0
-47
0
4
0
0
0
0
0
0
0
-16
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
-8
133
0
0
0
0
0
0
78
0
0
-3
0
0
0
-28
0
0
0
0
0
0
-55
0
0
0
0
0
0
-10
0
0
0
0
0
0
-55
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-11
0
-6
0
0
0
0
22
0
0
0
0
0
0
3
0
0
37
0
0
0
31
0
0
0
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
0
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
-14
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
3
0
0
0
-34
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-15
37
0
0
22
3
0
40
16
-3
1
26
0
0
0
23
0
3
33
-2
0
-3
64
0
15
4
0
5
0
117
0
0
0
8
0
0
-22
0
0
0
0
0
0
109
0
0
0
0
0
0
-21
0
14
0
0
0
0
38
0
-1
-6
0
0
-4
-11
0
10
-63
0
0
-1
-14
0
0
-44
0
0
-5
26
0
2
20
0
0
0
14
0
0
0
0
0
0
11
0
-8
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
137
-40
-12
-29
20
0
12
-24
38
-8
51
64
-78
-5
38
9
-40
-1
19
-22
-2
-18
21
6
12
-27
45
-5
6
12
-1
36
66
44
17
-8
-16
6
82
-11
7
10
-17
-48
16
1
-1
1
-10
6
-43
15
-3
-18
0
0
-21
0
-25
25
63
-4
0
84
35
73
16
44
108
-1
43
3
-13
-22
97
55
0
124
-10
46
26
52
92
-31
6
34
12
26
-24
-1
0
-30
39
-8
113
52
-51
-3
0
-34
1
-25
45
2
-43
0
-8
-7
5
-1
-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
8
48
0
0
0
0
0
1
127
0
0
6
3
0
-5
27
0
0
-7
0
0
11
47
0
0
-26
3
0
-5
-84
0
0
0
0
0
0
83
0
0
4
0
0
0
17
0
0
0
0
0
0
-5
-13
16
0
0
0
0
2
5
-1
0
0
0
6
-32
0
2
-4
0
0
0
59
0
28
0
0
0
0
-23
0
0
0
0
0
0
-28
0
10
0
0
0
0
76
0
0
4
0
0
0
61
0
1
0
0
0
0
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
-2
-14
0
-5
35
0
0
7
115
0
0
-4
20
0
-5
103
0
0
-21
-1
0
1
-38
0
1
-11
0
0
23
33
0
0
-15
0
0
0
-23
0
0
0
0
4
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
-71
0
6
0
0
0
-5
-13
0
0
16
-3
0
2
-10
0
-7
8
0
0
29
11
0
0
0
-2
0
0
37
0
0
-19
-1
0
0
-46
0
0
24
0
0
0
75
0
0
0
0
7
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
-4
1
-18
-3
-1
-16
6
-3
2
39
-30
-3
0
-2
-7
2
-1
50
-1
9
-53
-2
-16
-3
-4
12
0
-3
0
6
0
12
0
-3
3
1
30
0
60
-1
0
0
0
-1
0
-2
12
0
0
0
0
0
-48
15
-23
-2
0
0
1
56
-4
-5
-1
1
0
-3
120
0
-49
3
3
-3
0
-8
0
7
39
7
0
1
22
-7
-23
-3
0
-14
1
-39
-12
5
1
-7
7
0
14
1
0
4
0
0
0
150
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
0
0
-18
-26
0
0
35
0
0
35
62
0
0
-68
0
0
6
83
0
5
36
0
0
0
10
0
0
-18
0
6
0
69
0
0
-1
0
21
0
113
0
0
0
0
0
0
-70
3
0
0
0
0
33
1
0
-18
0
0
0
18
-58
0
0
6
0
0
-7
42
0
10
48
0
0
0
-48
0
4
32
0
0
0
-27
0
12
2
0
0
0
-8
0
0
0
0
0
0
-23
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
26
0
0
44
4
0
-9
13
-10
0
33
-25
0
0
0
0
0
-8
36
0
0
-15
3
0
0
14
0
0
7
0
0
0
88
0
0
0
0
0
0
-14
-8
0
0
0
0
0
81
0
0
0
0
0
0
-25
0
44
0
0
0
0
53
0
0
-11
0
0
-8
3
0
-9
5
0
0
-18
-63
0
43
-3
-7
0
0
27
0
-4
-1
0
0
3
1
0
0
6
0
0
0
-26
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
-5
-11
-5
-2
-34
88
0
-15
5
-16
-5
54
1
-1
57
45
0
-2
22
-12
0
-3
-9
0
1
-41
0
0
0
38
3
1
1
13
1
-14
31
3
0
0
0
9
0
61
1
4
0
-10
0
0
62
-9
-53
13
0
-2
3
18
0
-2
-39
-2
0
7
5
12
-26
-91
1
0
22
47
0
1
-15
1
0
1
17
0
82
25
0
-2
0
-84
0
-22
18
-3
-1
0
48
1
19
1
0
8
0
-49
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
-11
18
-6
12
26
56
98
33
35
-10
-110
24
-3
69
66
13
12
29
12
-10
24
22
-20
12
29
116
77
81
-14
-62
-60
81
-39
-53
-4
-9
23
-22
37
0
22
30
5
43
34
37
70
-8
-4
1
17
-18
72
-33
0
50
-49
0
6
32
-30
-17
0
25
12
44
29
29
50
-23
17
59
79
-36
17
-31
-12
-25
17
30
-24
138
-99
74
-92
-1
-25
-67
-51
-38
-32
-9
14
-53
33
79
-18
88
-25
-17
53
-95
-4
-26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
124
0
0
-2
0
0
0
66
0
0
0
0
0
0
22
0
0
0
3
0
0
-74
0
0
0
0
0
0
5
4
0
0
0
0
0
2
0
-22
0
0
0
0
3
0
0
3
0
0
0
16
0
6
9
0
0
0
-9
0
0
10
0
0
0
-23
0
0
3
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
45
0
0
4
4
0
0
-59
0
0
46
0
0
0
22
0
0
5
0
0
0
40
0
0
0
0
0
0
97
0
0
0
0
-1
0
39
0
0
0
0
0
0
-44
0
0
0
0
0
0
6
0
-1
0
0
0
0
15
0
0
-4
0
0
0
-16
0
0
4
0
0
0
77
0
0
0
0
0
-5
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
49
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
113
12
0
-4
4
9
0
-8
47
-9
19
-41
3
1
61
29
11
-3
31
8
11
-5
79
0
-1
45
0
5
13
-69
0
19
16
36
-54
0
20
-7
0
0
0
-23
0
28
7
0
0
0
0
-3
141
2
62
8
0
0
-22
-14
-1
83
-52
7
0
19
55
0
-4
-1
-11
0
-7
-61
0
-3
11
46
0
-3
-110
-5
-1
-5
-9
0
-28
-19
2
-3
15
-4
4
0
-56
0
-68
-2
0
5
0
-64
-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
-6
0
0
7
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
-3
0
0
0
-7
0
0
0
4
-6
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-6
0
10
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-107
0
0
1
0
0
-13
-1
0
0
-11
0
0
11
1
0
0
2
-2
0
0
-74
0
0
-3
0
0
0
-13
0
0
17
0
0
0
-91
0
0
0
0
0
0
36
0
0
0
0
0
0
-13
0
7
0
0
0
0
19
0
0
0
0
0
0
-32
0
-17
0
0
0
0
29
0
-12
17
0
0
18
40
0
9
-8
0
0
0
-1
0
0
15
0
0
0
-25
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
-23
5
4
-20
60
-11
2
-54
25
-2
-2
-24
25
23
-16
45
0
-2
-2
0
-8
-1
68
0
14
69
-36
33
0
56
-17
-2
0
-5
0
0
48
4
0
-12
0
0
0
83
0
17
4
0
0
-2
30
-4
91
-118
11
6
2
40
0
71
36
2
14
-2
48
-2
-32
116
-5
0
-4
-40
2
-58
-13
3
0
-9
-1
0
-17
-20
9
0
0
48
-1
21
5
0
4
0
66
11
-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
0
0
0
0
0
0
0
0
0
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
22
-67
44
-3
78
127
9
15
-21
5
20
-128
-69
14
32
6
64
-1
12
18
-32
-30
-87
69
-46
15
-11
-24
6
-51
-48
-14
9
4
32
50
25
160
-20
94
0
-72
25
20
-12
17
-54
80
127
22
76
4
-22
14
17
-68
0
24
-39
-23
-11
-19
63
-19
-94
102
-66
-85
11
40
2
-21
2
-66
28
67
19
26
-44
45
12
24
68
23
8
-6
38
59
-57
-18
-1
2
-41
47
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
44
0
0
0
0
0
0
-28
0
0
3
0
0
0
-3
0
0
0
0
0
0
40
0
0
0
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
73
0
0
0
0
0
0
19
0
0
1
0
0
0
28
0
-5
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
0
2
14
0
0
0
20
0
0
-2
0
0
0
42
0
0
-7
0
0
0
-59
0
0
6
0
6
0
-8
-2
0
0
0
0
0
-2
0
0
0
0
0
0
-67
0
0
0
0
0
2
-40
0
0
0
0
0
-3
24
0
-13
-2
0
0
-4
-59
0
0
8
-1
0
-2
39
0
16
1
0
0
0
29
0
0
-1
0
0
0
70
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
-10
22
-5
21
35
-31
-17
41
8
-10
2
-11
-64
-12
127
31
7
-15
37
-11
-5
-64
11
0
51
26
75
-65
0
-1
2
0
0
0
-1
6
35
-28
5
0
0
0
-45
53
-4
25
-36
33
-3
-19
56
1
40
14
12
0
66
-28
-18
27
6
-12
0
101
55
5
44
64
12
7
13
-11
4
42
54
15
0
-33
-62
-5
17
14
1
-8
0
14
-2
-52
-1
-8
31
0
-11
-15
-11
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
10
0
14
0
5
-5
-29
0
1
72
-2
4
-9
-37
0
0
1
0
-6
2
-67
0
-1
7
0
43
0
-38
-12
-1
0
0
0
0
-55
-7
0
0
0
0
1
54
0
-9
6
0
0
-8
-14
0
0
-30
0
0
1
54
0
8
-27
0
0
10
-50
0
-10
24
13
0
1
86
0
18
-5
0
0
13
-52
0
0
-19
0
0
16
-49
0
-22
-1
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
1
26
0
0
12
0
0
6
-27
0
0
0
7
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
81
0
0
0
0
0
0
34
0
0
0
0
0
0
-24
0
-1
0
0
0
0
1
0
0
0
0
0
0
41
0
-4
0
0
0
0
20
0
0
2
0
0
-3
54
0
19
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
38
45
86
-5
0
-37
0
16
4
-1
1
-1
1
0
-11
-5
-10
-16
0
4
6
0
0
0
0
0
-22
-24
4
4
0
0
0
69
0
81
-13
0
0
6
-7
10
1
31
8
0
14
10
0
-2
3
7
2
0
-115
0
4
-30
21
0
-4
80
0
43
-13
0
0
0
62
0
-20
4
-13
6
0
61
0
65
-8
0
-7
0
72
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-91
-47
-19
6
-13
34
105
59
25
-51
-3
5
69
-54
-21
96
-20
14
7
3
44
-62
33
-38
23
-38
33
-9
49
35
0
29
22
116
-36
49
15
-111
86
-28
35
-20
7
-43
11
25
26
87
-38
-44
-79
-20
-73
0
46
-17
-52
-110
-1
-22
-4
-35
-63
-39
-51
-78
40
-25
-23
22
31
34
-26
51
0
97
-84
22
-13
3
2
43
24
-53
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
-2
47
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
10
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
2
0
0
0
0
7
0
-6
0
0
0
13
-32
0
3
0
0
0
0
19
0
0
-16
0
0
-4
-12
0
7
0
0
0
0
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
54
-18
0
3
107
0
0
-16
0
0
-8
35
0
0
3
0
-1
0
30
0
0
0
0
0
0
-19
0
0
0
0
0
0
-59
0
0
-13
0
0
0
-10
0
0
7
0
0
29
-59
0
-5
2
0
0
-8
60
0
0
6
0
0
0
-1
0
7
0
0
0
0
-38
0
0
0
0
0
0
-70
0
1
8
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
-73
-36
-2
-15
37
-17
2
44
7
0
5
19
0
52
0
-31
1
-6
-12
58
-42
0
-6
0
39
0
0
0
0
50
-61
0
0
-8
0
-24
43
0
-90
25
-3
8
-41
2
25
113
-39
55
-3
21
48
-3
-10
29
19
0
29
-30
18
12
-14
-21
0
0
-4
1
58
20
0
0
-22
6
9
-13
11
-7
-2
0
8
0
-13
4
0
33
0
73
-31
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
-10
0
0
29
0
0
-1
-34
0
0
0
0
0
0
63
0
0
-8
0
-7
0
-35
0
0
0
0
0
0
18
0
0
0
0
0
0
42
0
-5
0
0
0
-2
-28
0
-5
0
0
0
-1
-36
0
-1
0
0
0
0
110
0
0
4
0
0
0
-2
0
3
0
0
0
0
-11
0
0
0
0
0
0
-18
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
-7
32
0
0
27
3
0
0
-28
0
-2
0
0
0
0
-34
0
0
0
0
0
0
-31
0
0
0
0
0
0
27
0
0
0
0
0
0
12
0
-1
0
0
0
0
78
0
0
0
0
0
0
3
0
12
3
0
0
0
-4
0
0
5
0
0
0
-61
0
14
1
0
0
0
18
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-69
0
3
0
21
-3
0
0
13
6
0
43
6
0
0
0
0
0
-15
0
0
-1
-3
0
0
17
0
-11
-11
0
0
-12
-23
0
0
7
-3
0
-8
102
4
-8
0
0
0
0
55
0
-4
15
28
0
18
35
0
-42
9
0
0
0
-7
-2
0
51
4
0
0
-43
0
-45
9
0
-3
0
-86
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
36
40
29
-56
27
32
-5
-72
66
37
-53
0
2
-38
33
-8
-13
-42
2
15
13
23
2
-12
0
87
-4
41
-19
-31
4
23
-13
-7
-17
-8
-24
15
-4
88
-20
8
-40
60
11
0
-3
-10
-2
90
163
91
18
3
0
47
3
-22
-5
-4
-10
23
-15
134
28
-4
81
4
8
7
-66
3
-4
-32
-1
17
-55
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
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
-37
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
9
0
0
0
2
0
10
0
0
0
0
-2
0
0
0
0
0
0
53
0
0
1
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
-43
0
-1
2
0
0
0
-2
0
12
0
0
1
0
55
0
0
0
0
0
0
33
0
0
0
0
0
0
17
0
2
-4
0
0
0
-27
0
0
17
0
0
0
-6
0
1
5
-11
0
0
-20
0
0
15
-1
0
-6
68
0
11
0
0
0
9
29
0
0
0
0
0
0
-31
0
2
0
0
2
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
61
28
0
-15
61
-16
28
5
-37
0
9
0
-36
6
0
16
15
0
0
0
-2
0
33
27
-3
0
0
0
-2
-30
-2
58
14
0
0
33
46
-2
3
5
-42
9
14
47
0
-36
101
15
-18
85
2
-1
-9
-13
13
0
7
41
0
-32
33
-2
0
-7
-26
0
-3
1
-9
1
0
15
-6
-11
0
0
-2
0
74
79
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-40
0
-3
0
104
0
1
-4
0
-8
0
11
0
0
0
0
0
3
10
1
0
0
0
0
0
-23
-4
70
-13
0
0
-11
7
10
4
-1
0
0
9
28
1
29
48
0
0
0
6
0
-1
0
0
0
-9
111
0
84
1
0
0
-17
-4
5
1
4
0
2
0
-16
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-10
0
0
0
8
0
0
18
0
0
0
58
0
0
0
0
0
0
19
0
0
0
0
0
0
125
0
0
0
0
0
2
3
0
0
0
0
0
0
36
0
0
0
0
0
-14
24
0
0
-15
5
0
0
-4
0
-6
-12
0
0
0
1
0
0
0
0
0
0
49
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
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
-1
-11
2
0
1
-9
0
0
0
0
0
13
-2
0
0
0
0
0
-41
0
-9
-12
0
0
0
32
0
0
14
0
0
-5
39
0
11
19
0
0
0
126
0
1
-6
0
0
0
-22
0
-7
-13
27
0
0
-11
0
-19
0
-8
0
0
18
0
13
0
0
1
0
139
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-47
120
-48
-4
-5
20
-63
6
26
-37
-67
43
17
-37
69
50
31
1
42
-34
-11
105
20
-14
21
-13
24
-13
-10
-48
-61
-1
61
8
-69
20
-1
-41
17
-72
10
12
-17
3
35
31
92
32
38
27
40
-39
-1
128
0
-10
-54
28
-35
-2
-3
-61
-35
-49
-52
2
28
0
-39
-56
-100
-3
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
11
-1
0
0
0
-22
0
0
0
0
0
0
41
0
4
0
0
0
0
99
0
0
0
2
0
0
2
0
0
-4
0
0
0
1
0
0
0
0
0
0
-22
0
2
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
127
0
-4
0
8
-5
0
-13
0
0
0
0
7
-1
-28
0
0
-7
-15
0
7
-144
0
27
-11
0
0
-4
29
0
-6
-2
14
0
-2
-6
0
-31
-20
-1
0
28
92
0
44
-9
28
0
-7
-80
0
-14
-7
-6
0
0
-33
0
-1
0
-5
0
0
-50
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
16
0
0
0
0
28
0
0
0
0
0
-1
6
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
18
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
-29
0
11
0
6
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
66
0
-2
-2
0
0
-3
35
0
2
0
-5
0
0
3
0
9
13
-6
0
0
81
0
0
-10
1
0
0
21
0
46
-9
0
0
5
-2
0
0
4
5
0
0
-38
0
8
0
0
0
0
52
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
92
0
-1
0
0
0
0
11
0
0
-2
0
0
0
46
0
0
-2
0
0
-8
-5
0
0
-8
0
0
0
-3
0
0
1
0
0
0
-3
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-5
0
0
-56
-18
0
-71
37
39
-5
-13
0
-23
-6
40
21
47
10
-6
17
7
10
-84
12
-29
-7
84
9
24
13
103
44
0
9
-55
11
141
44
-13
25
48
-13
2
-4
44
-20
-14
72
26
-2
-19
-7
-3
-7
19
0
30
11
-17
-6
0
0
0
18
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
0
0
0
84
0
4
0
0
0
0
-11
0
0
0
0
0
0
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-40
0
-13
2
0
0
4
0
0
0
0
0
0
-3
95
0
0
4
0
0
0
76
0
0
-1
8
0
0
-21
0
0
0
0
0
-3
-14
0
0
0
0
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-36
0
0
0
0
0
0
27
0
5
0
0
-4
2
63
0
0
-8
-6
0
-1
-5
0
17
28
0
0
-5
123
0
-5
8
4
0
0
-53
0
-21
3
0
0
-10
13
-1
5
0
0
0
0
17
2
-21
0
0
0
0
-29
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
45
0
0
0
0
0
0
-24
3
0
0
0
0
0
47
0
-17
-9
0
0
0
-1
0
1
1
0
0
1
57
0
73
-2
0
0
0
55
0
0
-1
0
0
0
73
0
53
-33
0
0
0
-6
0
0
0
0
0
0
11
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
54
0
0
0
0
0
0
-24
0
0
2
-5
0
0
1
0
3
4
0
0
10
73
0
0
-5
0
0
-1
-32
0
-30
-16
0
0
6
114
0
-12
-1
-1
0
0
64
0
-4
57
0
0
5
19
0
0
1
0
0
0
-52
0
-16
0
0
0
0
-18
-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
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
8
-4
-24
1
-7
9
-13
-64
41
134
36
10
19
28
5
74
-22
-26
-4
7
-27
80
-8
44
-22
39
-11
3
61
46
107
10
-38
-2
7
-1
36
-26
-31
-53
22
41
40
21
24
-24
-22
-4
-38
30
-17
26
-102
0
0
-2
16
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
-3
0
0
0
0
0
0
-56
0
4
-5
0
0
0
-13
0
0
-24
0
0
16
0
0
0
0
0
0
-2
38
0
0
-17
0
0
23
5
0
-16
0
0
0
0
-35
0
0
0
0
0
0
-43
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
31
0
0
0
0
0
0
29
0
0
0
1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
7
0
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
18
0
0
1
0
0
0
21
0
0
0
0
0
0
-1
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-2
-24
0
0
0
29
0
7
0
0
0
0
-11
0
0
1
0
0
0
-27
0
-1
2
0
0
0
6
0
0
-10
0
0
0
26
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-27
-17
-2
-32
19
-29
15
-14
-100
-24
6
-49
9
-5
-69
-4
-1
0
155
-20
17
-28
48
38
4
-81
-56
0
42
94
-23
-1
7
-46
0
3
43
8
10
-3
-2
6
-38
-2
5
21
0
-19
-8
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
-39
0
-12
-3
0
0
0
10
0
0
-7
0
0
0
-2
0
24
3
0
0
0
-41
0
18
0
-3
0
0
8
0
0
0
0
0
0
-20
0
0
0
0
0
0
-73
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
-13
0
-2
0
0
0
-5
12
0
0
5
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-3
0
4
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
11
0
0
0
23
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
12
0
0
20
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-15
0
-3
69
0
-25
-3
0
0
0
-5
0
0
-10
0
0
0
30
0
0
12
0
0
0
-11
0
0
4
0
0
0
-56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-32
1
-28
-6
22
0
82
-7
6
-42
144
31
0
147
43
-2
27
74
49
-8
-21
7
-5
-64
18
-17
10
97
42
-1
-47
-72
-23
0
0
-56
3
81
-36
5
38
0
-91
-34
-2
5
-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
-3
49
0
0
-8
0
0
0
-2
0
0
0
0
0
0
-40
0
0
-2
0
0
0
16
0
-28
0
0
0
0
24
0
0
-2
0
0
0
11
0
7
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
5
-9
12
5
18
6
0
0
-18
9
29
-24
5
0
-39
-82
0
11
121
-25
0
-3
-36
0
60
26
16
0
-19
40
0
-10
9
-1
-6
0
51
0
12
0
-1
-8
0
31
-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
-1
138
0
0
-10
2
0
0
-45
0
22
-20
0
0
0
-11
0
-14
15
8
0
0
57
0
18
2
0
0
0
54
0
0
0
0
0
0
73
0
2
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
137
0
0
0
0
0
0
-4
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
-26
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
38
0
0
0
0
0
0
11
0
1
14
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
7
0
0
1
-10
0
0
-3
0
0
0
22
0
7
-11
0
0
0
-5
0
0
0
0
0
0
4
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-24
28
-44
24
2
-24
24
-8
43
20
14
13
-7
66
-10
-40
-3
31
8
26
-22
0
-10
63
33
10
15
83
-62
47
-17
3
-87
0
-2
-65
19
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
-56
0
13
-4
0
0
0
-5
0
0
13
0
0
0
77
0
0
6
0
0
0
26
0
0
0
0
0
0
-41
0
6
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-16
0
7
-1
15
0
0
-41
0
0
-3
14
0
-1
-8
0
0
0
2
0
0
16
0
0
-14
0
0
0
42
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-87
3
-15
21
-6
0
4
25
2
7
11
2
0
0
33
0
6
-12
-2
-6
0
52
4
0
-2
0
0
0
32
1
37
2
0
0
0
51
9
-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
4
-7
0
-11
19
0
0
-5
59
0
0
12
0
0
0
-17
0
-4
-3
0
0
0
-105
0
0
-5
0
0
0
82
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-16
0
0
0
-2
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
19
0
0
-22
107
0
0
-11
-1
0
0
45
0
-4
2
-8
1
0
23
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-22
-54
48
-7
-40
-37
18
38
46
10
-9
-20
27
2
71
-79
92
-28
25
-17
-43
-27
8
-9
-27
-3
36
-68
-57
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-4
0
0
7
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
4
71
-33
0
0
45
0
18
-16
8
0
0
-107
0
0
7
2
0
0
11
0
-8
-18
0
6
0
112
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
-1
-78
0
-6
-7
29
8
0
75
-5
68
-2
-1
0
10
-1
0
-27
-4
0
0
0
51
0
-1
0
0
16
0
-21
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
42
0
0
13
0
0
-1
-9
0
-3
0
0
0
0
-6
0
0
0
0
0
0
-64
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
23
0
0
0
0
0
0
39
0
-22
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-30
53
-12
-5
-104
14
-10
-136
39
-29
48
0
-17
0
-25
-28
-21
-15
-3
-13
109
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
6
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
-1
23
0
22
-7
3
0
-1
60
0
0
7
0
0
0
24
0
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-73
0
16
1
20
0
-2
45
0
-2
16
0
6
15
30
0
44
4
0
0
0
56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
-19
0
5
0
5
0
7
-2
0
0
0
77
0
13
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
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
7
-1
-12
1
55
7
7
1
2
17
-13
0
53
0
-18
-23
34
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
96
0
-2
-6
6
11
0
-34
0
1
-4
0
11
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
7
93
1
11
0
7
0
0
19
0
8
0
0
-9
0
-89
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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
106
37
82
-4
0
18
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
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
17
0
0
-6
0
0
0
3
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
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
-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
-6
-27
0
-6
4
0
0
-116
-58
16
-16
15
15
-24
-5
111
-33
-13
-2
-82
42
-23
8
26
-3
23
-58
21
13
19
73
-19
72
107
64
-34
45
14
-24
44
-19
12
8
-31
40
2
-6
0
25
0
13
-21
0
0
-1
65
-1
21
0
-6
2
-2
52
-7
17
-1
2
-16
2
42
-13
-82
-4
46
-11
41
60
-64
8
35
-9
42
12
-72
-39
-6
26
13
9
19
38
64
1
39
-28
11
12
-59
-2
8
25
-46
-12
15
48
12
-23
-14
-2
11
-84
4
-1
-12
25
-1
-8
0
-49
-2
-6
0
-22
2
25
-2
3
-15
9
-12
-1
-5
46
13
-48
1
9
-18
19
-9
-108
3
-29
24
-22
26
20
0
0
0
0
0
0
0
-46
-5
-18
9
1
-15
37
56
40
-6
-12
14
8
25
-62
-74
13
30
54
-7
0
1
-17
36
-31
-1
97
-29
-4
-9
0
-12
-6
-13
49
-51
-5
-39
49
94
51
4
34
-6
-22
19
31
-35
45
79
4
-33
63
20
-91
-16
15
-32
35
-68
24
36
105
11
-3
70
-2
-21
8
71
34
-15
41
22
-32
-70
-37
-50
4
-34
-18
6
-52
-1
7
-19
14
-31
12
-49
18
2
-15
0
-7
38
5
-5
-9
10
56
-13
61
28
67
0
-13
4
69
-36
-13
-10
-17
-12
38
-31
5
96
14
-60
1
-39
32
-18
14
55
26
19
10
0
-38
15
-32
11
-2
-3
44
76
75
2
-20
37
0
5
-12
55
27
-1
-28
28
-26
22
85
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
133
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
27
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
23
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
-33
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
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
-5
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
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
-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
16
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
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
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
10
0
0
0
0
-5
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
59
0
0
0
0
0
-6
-20
0
0
0
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
-31
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
9
0
-10
0
0
0
0
9
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
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
0
0
0
0
0
-2
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
10
27
71
114
-27
0
6
-5
8
-9
48
71
25
-3
88
19
36
26
-43
19
1
20
12
22
26
-2
64
-9
17
-19
-18
26
-12
5
11
8
1
0
-33
0
11
-6
0
0
0
17
0
59
60
-7
2
0
4
-66
29
1
-2
1
-2
28
0
0
0
29
33
1
36
-32
71
7
22
-13
9
7
21
-52
-9
33
-36
-21
56
-100
78
-10
-54
15
-8
23
68
29
-1
-2
-24
28
81
-23
5
0
0
-53
-7
-64
0
-24
38
0
0
0
36
0
17
-35
0
16
33
0
-59
17
0
-3
-4
0
0
111
-72
2
0
16
39
1
-33
12
-10
5
-1
23
2
0
0
0
0
0
0
0
12
43
3
54
35
8
1
-4
-15
-6
20
8
-22
4
-23
-4
25
0
32
0
27
0
-32
10
28
1
6
-17
0
-41
30
-8
9
0
-9
37
-59
1
-30
4
-42
-30
-5
7
-7
14
30
-5
33
20
35
-3
19
-18
98
-14
-32
-13
-13
-22
11
-37
1
-12
-24
-9
-139
7
43
18
1
18
36
9
14
-3
-35
7
26
-23
-2
-56
-23
36
4
-54
8
-6
1
-14
25
0
62
0
-3
5
11
-2
6
20
-5
-15
15
-3
-5
-54
-8
-9
51
-60
54
-5
-2
33
14
-39
49
2
5
45
-5
6
-9
33
-114
13
-1
-11
0
40
-18
14
-10
53
-59
34
61
-15
-11
24
-6
64
4
-15
42
48
-3
0
-56
-38
4
3
-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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
3
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
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
-1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
65
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
0
0
1
0
0
0
0
0
0
37
0
0
0
3
0
0
-7
0
0
0
0
0
0
17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-18
0
7
0
0
0
0
18
0
0
-17
0
0
-1
-1
0
43
-4
0
0
9
24
0
0
27
0
0
0
0
0
0
0
0
0
-16
9
0
0
36
0
0
0
-1
0
-61
0
0
0
1
-55
0
0
1
0
0
0
29
0
0
0
0
0
0
48
0
0
0
0
0
0
32
0
0
2
0
0
0
25
0
0
15
0
0
-1
40
0
0
26
0
0
0
9
0
0
-11
0
0
3
-39
0
1
1
0
0
0
53
0
-1
-4
0
0
0
55
0
1
0
0
0
0
21
0
0
0
0
0
0
-41
1
0
0
0
0
0
-20
0
2
0
0
0
0
-39
0
0
0
0
0
0
25
0
-3
0
0
0
0
40
0
-2
1
0
0
0
35
0
12
-6
0
0
0
40
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
6
-3
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-9
0
0
-6
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
5
-2
0
0
-1
0
0
6
0
0
0
-1
0
3
-1
0
0
0
-17
0
0
-4
0
0
0
15
0
0
2
2
0
0
9
0
0
0
-3
0
0
0
0
-5
0
0
0
0
0
0
11
0
-2
0
0
0
0
0
0
27
0
0
0
0
0
0
4
0
-46
-2
0
0
-7
62
0
0
6
0
0
0
0
0
0
0
0
0
-12
20
0
-3
29
0
0
0
-15
0
10
-4
0
0
6
-39
0
0
0
0
0
0
16
3
4
0
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
-32
0
-2
3
0
0
-1
16
0
5
5
0
0
0
-39
0
0
-13
0
0
2
-13
0
0
-3
5
0
0
-11
0
0
0
0
0
0
37
0
0
0
-5
-9
0
-27
0
0
0
0
0
0
38
-3
0
0
0
0
0
-23
0
1
0
0
0
0
-8
0
0
0
0
0
0
-25
0
0
9
0
0
1
40
-2
18
10
-3
0
0
1
0
0
0
0
0
0
-27
0
0
-6
0
0
0
-36
0
-6
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
-64
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
-2
-12
0
40
0
0
0
0
0
0
0
0
0
0
3
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-63
0
0
0
0
0
4
0
0
6
0
-1
0
7
-33
0
0
2
0
0
0
0
0
0
0
0
0
0
62
0
0
-12
0
0
7
42
0
-27
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
38
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
1
0
0
0
53
0
0
0
-4
0
0
40
0
0
-33
0
0
0
12
0
2
2
0
0
0
-63
0
0
0
0
0
0
-30
-1
0
0
0
0
0
11
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
-9
0
-7
3
0
0
0
13
0
0
13
13
0
0
-20
0
8
0
0
0
0
-1
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
1
0
0
0
0
0
52
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
6
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
4
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
31
0
0
0
0
0
0
14
0
0
0
0
0
0
66
0
0
0
0
0
0
-2
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
0
0
0
0
-3
0
0
0
-7
0
0
0
8
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
0
0
0
0
0
0
0
0
0
-19
-6
0
0
0
0
0
16
0
0
0
0
0
0
17
0
0
0
0
0
0
-20
0
0
0
0
0
0
-30
0
0
0
0
0
0
-38
0
0
0
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
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
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-31
-16
21
2
0
0
-2
-1
0
-19
0
0
-12
0
0
0
16
0
0
0
-27
0
-3
0
0
0
22
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
-11
0
0
0
31
0
19
3
0
0
0
0
0
-2
2
0
0
5
-3
0
39
6
-2
-5
-12
0
2
5
-17
0
-1
70
0
0
-53
2
0
0
-5
0
0
0
21
0
0
0
0
15
0
0
0
0
0
0
0
0
17
0
-1
0
-5
0
6
44
0
0
0
0
0
7
-5
-7
3
0
5
0
-8
-5
0
7
8
0
0
0
0
0
0
0
0
0
-6
16
0
-1
-27
1
0
2
-28
0
21
9
6
0
-1
14
0
0
-1
0
5
0
2
0
2
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
-3
-2
-6
4
-10
0
1
0
0
8
-25
3
0
-11
0
-22
13
-2
5
9
-2
1
-11
1
50
2
0
0
15
7
-5
0
77
0
0
-8
0
4
0
50
-3
0
0
-2
-22
0
18
0
0
0
0
0
0
-35
0
0
0
0
0
0
-51
4
20
2
0
0
0
-11
0
0
7
0
0
0
12
0
-10
9
0
0
0
17
-2
-33
19
0
1
7
9
0
-83
2
0
0
2
-6
0
-11
9
0
0
0
-68
0
-15
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
40
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
28
0
0
0
3
0
0
6
0
0
0
0
0
0
32
-12
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
2
0
0
0
0
0
0
-53
0
0
7
0
0
0
0
0
-27
4
0
0
-6
46
0
0
2
0
0
0
0
0
0
0
0
0
-4
21
0
0
10
0
0
0
27
0
-29
-1
0
0
0
3
0
0
0
0
7
0
-53
0
0
0
0
0
0
91
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
-7
0
-6
0
64
0
0
2
0
0
-3
17
0
0
-7
0
0
0
-14
0
0
1
0
0
0
-39
0
0
6
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
0
0
0
34
0
0
0
0
0
0
54
0
0
-6
0
0
0
19
0
0
-4
0
0
0
19
0
2
0
0
0
0
21
0
0
1
0
0
0
-2
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
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
46
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
22
0
0
0
0
0
0
24
0
0
0
0
0
-1
0
0
-14
0
0
0
3
50
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
-7
-14
0
-7
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
12
0
0
0
0
0
-16
-23
0
0
0
0
0
0
19
0
0
0
0
0
0
18
0
0
-11
0
0
0
-75
0
0
12
0
0
0
82
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
30
0
0
0
0
0
0
-20
0
0
1
0
0
0
-4
0
0
-9
0
0
0
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
29
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
-6
1
-11
0
0
-1
-71
0
0
-5
0
0
0
10
3
0
0
17
1
0
2
0
0
86
0
0
0
0
0
37
0
0
0
0
0
0
3
0
0
0
0
0
13
0
0
-30
23
-4
-9
-3
-1
1
-104
3
-14
11
7
0
0
-44
0
78
71
-20
0
0
-19
-2
53
52
5
0
0
-28
0
2
-11
4
0
0
25
6
-6
0
3
0
0
0
5
4
0
0
0
0
0
0
5
0
15
-1
0
0
4
0
1
10
0
0
6
0
0
12
22
-22
-82
-66
-1
0
2
-45
0
-2
7
5
0
0
0
0
0
0
0
0
-14
62
0
0
-23
1
0
2
25
0
76
35
0
0
-1
7
0
0
4
0
0
0
-17
2
0
0
0
0
0
24
5
0
0
0
0
7
-30
0
-5
-3
-5
0
0
30
0
0
-10
0
-12
-7
-5
-3
-12
115
9
3
1
40
0
0
-1
-4
0
-10
-31
0
4
21
-14
-4
13
68
0
-3
6
0
0
0
19
0
1
0
3
11
0
-13
0
0
0
0
0
0
16
0
2
0
-5
0
0
-18
0
7
3
0
0
6
33
1
9
18
-23
1
-4
13
0
-28
14
0
0
0
33
0
0
13
-13
0
0
15
0
0
-13
-2
0
0
57
0
0
19
0
0
0
-46
0
-19
2
0
-21
0
35
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
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
7
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
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
7
0
0
0
-21
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
15
0
0
0
0
0
0
10
0
0
0
0
0
7
0
0
0
0
0
0
0
33
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
-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
22
0
0
0
0
0
0
16
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
17
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
36
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-8
0
0
0
0
0
0
-19
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
-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
-6
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
-15
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
7
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
14
0
0
0
0
0
-16
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
8
0
0
0
0
0
-3
-8
0
0
0
0
0
-3
17
0
0
0
0
0
13
78
0
0
-6
0
0
0
21
0
0
0
0
0
0
89
0
0
2
0
0
0
-17
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
0
0
0
-11
0
5
0
0
0
0
2
0
0
0
0
0
0
-7
0
13
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
6
0
0
0
0
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
1
0
0
0
0
0
-1
0
0
0
-9
0
0
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
-25
-5
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
-24
0
0
2
-23
0
0
-5
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
29
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
0
0
0
0
0
69
0
0
0
-1
0
0
44
0
0
-1
0
0
0
-69
0
0
3
0
0
0
-12
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-11
0
0
0
0
-12
0
0
0
0
0
0
-2
0
-18
0
0
0
0
-16
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-143
0
0
0
0
0
0
29
0
0
0
0
0
0
-44
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
27
0
0
0
0
0
0
11
0
0
0
0
0
0
-44
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
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
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
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
-3
0
20
0
0
0
2
0
0
3
0
0
0
0
0
0
26
0
0
0
-27
0
0
-2
0
0
0
0
0
0
8
0
0
0
7
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-3
0
0
1
0
0
-9
0
0
25
17
0
0
-6
43
0
0
-5
0
0
0
0
0
0
0
0
0
-12
-16
0
6
-14
0
0
0
46
0
-16
-2
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
53
0
0
0
0
0
0
53
0
0
-2
0
0
-3
-9
0
0
0
0
0
8
-39
0
0
-4
0
0
-15
13
0
0
9
0
0
0
-18
0
0
-6
0
0
-1
31
0
2
-1
0
0
0
74
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
4
0
0
0
0
-13
0
0
0
0
0
0
1
0
-16
0
0
0
0
-30
0
-11
-2
0
0
0
58
0
-5
-1
0
0
0
12
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
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
26
0
0
0
0
0
49
0
0
0
0
0
-6
-1
0
0
0
0
2
1
0
0
-5
6
0
17
-4
0
1
9
0
0
2
3
0
0
54
6
0
41
-15
0
0
4
-18
-10
6
1
18
0
-1
0
0
21
0
0
4
20
0
-1
0
2
0
0
0
0
-7
0
-2
-5
0
0
0
2
0
-11
-2
0
0
0
0
-1
1
0
0
0
0
0
-8
-33
-2
42
-14
-12
0
4
28
-4
7
45
-8
0
0
0
0
0
0
0
0
-11
34
0
5
-26
0
0
0
-19
-3
-30
-27
0
0
0
45
4
0
0
0
-14
0
-20
0
0
0
0
0
0
64
-5
0
0
0
0
0
-100
-11
0
-9
0
0
-16
7
0
-4
-2
0
0
-4
-117
-3
0
-6
0
0
0
-44
-3
0
5
0
0
0
-7
0
0
21
0
0
0
106
0
5
10
0
0
0
-33
-4
6
0
0
-3
0
-10
0
-1
0
0
0
0
12
-2
0
0
0
0
0
12
1
-22
0
0
0
0
-27
0
-4
-3
0
0
0
-69
-3
-20
-8
-1
0
-9
-43
7
0
-13
-20
0
13
-57
-5
9
-10
0
0
0
-84
0
-6
0
0
0
0
-47
-1
-1
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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
3
0
0
-34
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
-16
0
0
0
0
0
0
0
3
0
0
1
0
0
-47
0
0
0
-3
0
0
0
0
0
-1
0
0
0
-7
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-14
12
0
0
0
0
0
5
4
0
15
-17
0
0
5
5
0
0
-3
0
0
0
0
0
0
0
0
0
-11
-22
0
0
-6
0
0
7
-11
0
26
3
0
0
0
-32
0
0
0
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
0
0
2
0
-3
57
0
0
0
0
0
2
-4
0
3
-2
0
0
8
0
2
0
16
2
0
2
26
0
0
-8
-10
0
0
-81
0
0
-3
0
0
0
-6
0
0
0
9
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
-2
0
0
0
0
6
0
0
0
0
0
0
-7
0
23
0
0
0
0
0
0
-4
-1
3
0
8
11
0
-1
-22
0
0
0
2
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
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-26
0
0
0
0
0
-48
0
0
0
0
0
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
-16
0
0
0
0
0
0
-13
0
0
0
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
36
0
0
0
0
0
-1
0
0
6
-1
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
0
0
2
0
-7
1
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
2
0
0
0
9
0
0
0
0
0
0
6
0
0
8
0
0
0
-38
0
0
1
0
0
0
11
0
0
-4
0
0
0
17
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
-1
0
0
0
0
0
0
3
0
0
-3
0
0
0
-6
0
0
0
0
0
0
10
0
-2
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
11
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
12
0
0
22
0
0
0
0
0
0
5
0
0
0
0
4
0
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
15
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-1
-15
0
0
0
0
0
3
0
0
8
0
0
0
-3
38
0
0
19
0
0
0
0
0
0
0
0
0
-3
10
0
0
11
0
0
0
-35
0
-14
0
0
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
24
0
0
0
0
0
0
36
0
0
0
0
0
0
1
0
0
2
0
0
3
-6
0
0
-5
0
0
0
39
0
0
1
0
0
0
5
0
0
-5
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
63
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
0
-1
0
0
-7
0
-11
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
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
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
-12
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
-7
0
0
0
0
0
0
-1
0
0
0
5
-2
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
-62
16
0
0
0
0
-7
30
0
0
0
0
0
0
-6
0
-21
16
0
0
2
69
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
11
0
12
0
-2
0
-5
3
0
0
0
0
0
0
-3
-4
0
0
0
0
0
46
0
0
0
0
0
0
-25
0
0
0
0
0
0
47
0
0
0
0
0
0
18
0
0
-1
0
0
0
-16
0
0
-2
0
0
0
52
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
-2
0
0
0
17
0
0
0
0
0
0
79
0
0
0
0
0
0
-6
0
-4
0
0
0
0
21
0
0
0
0
0
0
-53
0
2
-6
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
13
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
7
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
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
-62
0
0
11
0
0
0
0
0
-5
0
0
0
2
-17
0
0
-1
0
0
0
0
0
0
0
0
0
0
-28
0
0
7
0
0
0
30
0
5
-1
0
0
0
-23
0
0
0
0
0
0
-21
0
0
0
0
0
0
-34
0
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
7
-14
0
0
-1
0
0
-11
-16
0
0
0
0
0
0
-34
0
0
-7
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
1
0
0
0
21
0
0
0
0
0
0
-7
0
0
16
0
0
0
8
0
0
0
0
0
0
-19
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
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
68
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
0
-13
0
0
0
0
-6
0
45
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
0
0
0
0
0
-36
0
0
0
0
0
22
0
0
3
6
0
0
-22
-24
0
0
21
0
0
0
0
0
0
0
0
0
1
-94
0
0
49
0
0
0
-5
0
108
0
0
0
0
26
0
0
1
0
0
0
2
-1
0
0
0
0
0
58
0
0
0
0
0
0
23
0
0
0
0
0
4
-7
0
0
0
0
0
0
56
0
0
-2
0
0
0
53
0
0
0
0
0
0
48
0
-14
11
0
0
0
33
0
-2
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
0
0
0
0
29
0
0
0
0
0
0
52
0
0
-2
0
0
0
-38
0
0
8
0
0
0
-4
0
-15
0
0
0
0
0
0
0
0
0
0
0
1
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
3
0
-6
-2
-7
4
-2
0
0
2
37
-1
0
-14
0
0
-7
0
0
0
0
0
-11
-72
0
0
0
7
20
39
-4
0
25
51
-15
68
14
0
0
46
0
4
-67
2
0
-36
-40
0
-34
96
-45
-9
4
33
-5
85
0
15
-10
-5
-21
0
29
0
1
5
1
54
-3
2
0
6
-2
0
-6
0
35
0
-10
79
0
0
-1
-7
0
-9
3
11
9
-18
0
22
46
0
0
13
0
0
-67
31
17
-12
60
-36
0
33
70
1
0
8
0
3
0
0
0
0
0
0
0
-106
50
-1
-8
60
1
0
0
3
0
-76
-20
10
1
4
40
0
0
20
-2
7
0
30
-6
-34
0
0
0
0
-3
0
0
2
-8
4
0
20
0
3
13
14
-9
12
-41
-7
-11
-25
0
9
-68
-44
2
15
41
50
3
20
-67
-2
-1
7
4
-8
69
-4
-8
59
88
5
-15
2
-31
-2
-3
8
1
-18
0
-22
-12
8
8
-5
-50
0
-15
16
9
0
6
10
0
6
3
0
0
0
0
0
-13
0
17
-13
0
0
6
-16
11
-1
-32
72
4
-5
43
3
-2
18
-1
3
-43
-34
-4
9
11
-2
7
-11
-107
-5
-44
3
0
0
6
-99
9
-12
6
-3
0
0
-88
6
38
7
0
-34
0
-2
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
-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
-1
0
0
0
0
0
0
-10
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
6
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
1
0
0
0
-1
11
0
0
-2
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
3
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
10
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
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
-7
0
0
0
0
8
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
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
5
0
0
0
0
0
52
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
-11
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
0
0
-3
0
0
0
4
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
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
4
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
2
0
0
0
0
0
0
-42
0
0
0
0
0
13
0
0
2
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
15
13
0
0
3
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
52
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
0
51
0
0
-2
0
0
0
59
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
6
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
13
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
29
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
-8
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-7
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
52
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
-3
5
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
86
0
-12
0
0
0
0
-24
0
0
0
0
0
0
-14
2
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
69
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
-1
0
0
0
-49
0
0
0
0
0
0
-5
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
-43
0
0
0
0
0
0
3
0
0
-6
0
0
-2
-11
0
0
0
0
0
0
-16
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
6
0
0
0
0
0
68
0
0
0
0
0
0
0
0
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
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
0
0
0
0
43
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
9
0
-2
0
0
0
0
-2
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
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
5
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
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-39
0
0
0
0
0
8
0
0
0
0
0
-4
0
0
0
0
0
0
17
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
-3
0
0
0
8
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
6
0
0
-2
0
0
-14
-4
0
0
-4
-17
0
0
-5
0
0
0
0
0
0
0
0
0
0
-13
0
0
-4
0
0
0
-6
0
13
0
0
0
0
7
0
0
0
0
0
0
7
1
0
0
0
0
0
47
0
0
0
0
0
0
-37
0
0
0
0
0
6
9
0
0
-1
0
0
0
127
0
0
5
0
0
1
-6
0
0
-29
0
0
-6
7
0
0
-2
8
0
0
9
0
1
0
0
0
0
-22
0
0
0
0
0
0
45
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
6
0
0
0
-1
38
0
0
0
0
0
0
-18
0
11
1
0
0
0
12
0
7
-7
0
0
0
-23
0
0
1
0
0
0
-7
0
0
0
0
0
0
-49
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
-122
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-13
0
4
1
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
0
0
0
-16
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
64
0
0
-2
0
0
0
0
0
9
16
-1
0
-33
33
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
1
-1
0
1
9
0
0
0
12
0
0
2
0
0
0
88
-2
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
-39
0
0
0
0
0
0
17
0
0
-3
12
0
2
-33
0
0
0
0
0
0
-10
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
12
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
54
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
13
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
-8
0
0
0
0
0
-2
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
-1
0
0
0
0
0
0
-16
-1
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
-2
0
0
0
0
0
45
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
23
4
0
0
0
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
34
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
-12
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
-2
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
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
0
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
-15
0
0
3
0
0
0
0
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
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
0
10
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
-1
0
0
0
0
8
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
15
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
5
0
0
0
-3
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
-10
0
0
0
0
22
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
2
1
0
0
-28
-1
-1
13
-9
0
0
-11
0
1
13
10
0
0
-9
0
1
24
-5
0
0
-16
0
20
11
0
0
0
0
1
0
-22
0
0
0
0
0
0
10
21
0
0
0
0
10
0
0
0
0
0
0
0
0
-45
0
0
0
-5
0
6
-20
0
0
0
0
0
-15
0
0
-21
4
-6
0
5
-34
0
0
16
0
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
6
19
0
33
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
45
0
0
0
0
0
0
-8
0
0
0
-3
0
0
-66
0
0
0
0
3
-9
52
-3
0
18
0
0
0
89
0
0
0
-13
0
-3
56
0
0
0
0
0
0
-11
0
0
0
0
1
0
23
0
0
0
0
0
0
-15
0
0
0
0
0
0
14
0
0
0
0
0
0
47
0
-11
0
0
0
0
48
0
0
7
0
0
0
-24
0
-10
0
0
0
0
-6
0
-3
0
0
0
0
-6
0
0
0
0
0
0
-19
0
0
0
0
0
0
45
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
-8
1
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
8
0
0
0
0
4
0
0
0
0
-1
0
-20
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
4
0
0
0
0
0
1
9
0
0
0
0
0
0
7
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
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
-2
0
0
0
0
0
0
-2
0
0
3
0
0
0
-5
0
0
0
0
0
0
-19
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
18
0
9
0
0
0
0
0
0
0
0
0
0
0
-8
0
-39
0
0
0
2
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
-2
0
-1
0
0
0
0
2
0
0
0
0
0
7
0
0
26
20
0
0
-3
-40
0
0
-11
0
0
0
0
0
0
0
0
0
-1
47
0
0
-53
0
0
-11
6
0
-18
0
0
0
0
-3
0
0
0
0
0
0
-7
-7
0
0
0
0
0
27
0
0
0
0
0
0
-22
0
0
-2
0
0
22
-30
0
0
0
0
0
0
17
0
0
-1
0
0
-2
-58
0
0
34
0
0
1
-21
0
2
-4
0
0
0
-2
0
8
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
12
0
0
0
0
0
-2
9
0
-6
-13
0
0
0
30
0
0
-10
0
0
0
-35
0
1
0
0
0
0
19
0
0
0
0
0
0
24
0
-2
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-13
0
0
1
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
9
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
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
-7
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
0
0
2
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
-8
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
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
28
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
-1
0
0
3
0
0
0
-6
0
0
0
0
0
0
1
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
93
0
0
0
0
0
0
16
0
0
0
0
0
0
-15
0
0
2
0
0
0
19
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
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
1
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
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
1
0
0
0
0
0
-12
22
0
1
0
20
-65
10
-3
0
-37
3
0
1
11
0
6
-32
4
-14
51
12
2
4
-66
-94
34
-18
22
-5
-16
-6
-26
50
-59
27
29
-30
47
-1
-24
51
-29
-1
0
33
-14
-30
16
-9
0
0
22
-21
60
-16
55
-44
0
-5
6
-3
0
-18
24
21
23
14
2
24
-6
0
-5
-32
4
0
6
74
0
47
-35
40
-9
26
8
21
-16
-45
19
7
0
0
0
0
0
0
0
-94
12
14
32
-76
17
0
-16
-5
-11
-10
34
89
3
-48
21
0
-3
-66
-7
-62
4
6
13
-6
-2
-5
-5
0
16
-18
-1
-2
27
26
9
-10
14
3
19
37
17
-95
-6
0
-26
27
5
76
-17
-1
37
-22
52
0
2
2
-16
61
-42
-10
-11
-79
-65
-11
-26
15
44
-10
67
64
-21
9
45
3
-15
50
-7
-14
22
-41
1
-8
-101
0
6
2
-30
-3
6
32
0
-28
-18
-5
15
2
-5
6
-21
12
-14
49
-5
37
55
-9
3
-64
17
60
1
90
23
-22
-2
-28
29
15
-28
-8
-23
-9
96
19
0
32
-18
-5
-56
16
-1
-43
2
83
3
1
91
-4
-16
-8
11
17
-27
-44
7
26
0
-17
-33
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-7
-1
0
0
0
0
9
4
0
0
55
-2
0
14
0
0
0
-16
0
0
-20
1
0
-9
-8
0
0
4
0
0
0
2
0
0
14
0
0
-6
24
0
0
8
0
0
-18
31
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-10
-4
-8
0
2
0
2
-23
0
0
2
0
0
-27
-7
0
-13
42
13
0
-61
18
0
-1
102
0
0
0
0
0
0
0
0
0
1
30
0
-10
42
0
0
23
-28
0
-36
3
0
0
0
0
6
0
-3
0
0
0
30
-1
-21
0
2
0
0
-16
0
0
0
0
0
-20
35
0
0
-15
-7
0
68
-14
0
0
-74
0
0
-12
15
0
-11
-7
0
0
0
32
0
0
-1
0
0
10
2
0
13
-23
21
0
1
0
0
0
29
0
0
-13
14
6
6
0
0
0
0
48
0
2
0
0
0
0
-51
0
0
0
0
0
0
-9
0
-19
0
0
0
-13
54
0
13
-14
-1
0
-6
-37
0
49
-10
0
0
0
-7
0
51
-43
4
0
0
-8
0
6
9
0
0
0
29
0
-4
-7
0
0
0
25
0
84
0
0
0
0
-58
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-70
8
-5
0
7
74
-16
-21
-1
2
9
-31
-6
13
53
0
18
12
-6
-18
-25
79
15
-24
-22
-13
70
14
23
66
-13
35
7
0
-13
33
61
-7
-71
-70
2
-7
-124
-10
-24
-24
-11
-60
-3
-27
-8
-3
-21
4
29
-5
21
2
-1
-6
45
-17
1
-4
-5
-24
55
3
-8
-23
10
8
-6
14
3
-9
-42
28
3
-17
43
27
14
20
-11
9
35
24
-63
7
0
0
0
0
0
0
0
23
-9
15
9
0
-46
5
-11
10
-13
-37
-19
15
45
-43
-5
39
-6
-4
9
-8
0
8
-5
-4
-1
-41
2
-7
7
-51
0
29
29
22
-35
11
34
32
-89
-74
14
-11
14
-40
-65
49
13
51
-16
-14
-25
-29
-38
-37
-25
-22
-10
13
-11
-20
-22
-18
5
22
53
42
2
10
-29
85
22
24
61
-30
-40
-8
-56
-22
83
6
-9
-57
45
4
-15
0
-29
0
-84
-64
0
14
-30
19
50
-21
-4
83
-68
49
2
17
-23
88
-46
49
-1
16
-25
-57
3
-18
-22
-24
-59
37
9
58
64
-18
35
14
5
40
35
-8
6
36
6
-4
45
-92
-102
0
-51
-78
3
75
-33
-6
-28
13
34
-13
80
51
-2
6
0
94
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
34
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
0
-1
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
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-16
0
0
0
0
0
0
67
0
0
0
0
0
0
20
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
32
0
0
0
0
0
1
-2
0
-23
0
0
0
-9
27
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-5
0
0
0
-20
0
26
-8
0
0
0
-1
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
-50
0
0
2
0
0
0
-48
0
0
5
0
0
0
118
0
0
5
0
0
0
-3
0
0
-8
0
0
0
22
0
0
0
0
0
0
-12
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
1
0
0
0
0
0
0
-34
0
12
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
48
2
0
0
5
0
0
-8
4
0
4
0
-2
0
-7
-1
0
1
9
0
0
-8
0
0
0
-4
-1
-1
-1
0
0
0
-16
3
-7
0
5
0
0
0
0
0
0
5
22
0
0
5
0
0
-62
0
5
0
0
0
0
-22
0
0
-8
0
0
3
-1
0
-22
0
0
0
21
56
0
0
-56
0
0
0
0
0
0
0
0
0
-1
-14
0
7
-18
7
0
0
6
0
-18
12
1
0
6
-17
0
0
0
0
0
0
-32
-5
-3
0
0
0
0
-6
0
0
0
0
0
0
17
0
3
-4
-3
0
-21
16
0
0
-3
0
0
-1
23
0
5
-3
20
1
25
-18
0
0
-10
0
0
0
1
0
0
9
0
0
0
-75
0
0
7
0
0
-1
13
1
0
0
0
0
0
61
-2
0
0
0
0
0
19
0
-1
0
0
0
0
-15
0
5
0
0
0
0
73
0
0
0
0
0
-2
-30
0
25
-6
0
0
-2
1
0
9
12
-6
0
0
37
0
0
0
11
0
0
-22
0
1
0
1
0
0
-71
0
4
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
9
0
0
4
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
18
0
0
0
0
0
0
0
0
21
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
0
0
0
0
0
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
18
0
0
0
0
0
0
-2
-48
0
0
0
0
0
-1
2
0
0
-12
0
0
0
42
0
0
0
0
0
0
12
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
-2
0
0
0
0
0
0
60
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
7
0
0
18
1
0
0
-13
0
0
-12
4
0
0
-16
0
0
27
0
0
0
-2
0
0
-10
1
0
0
-9
0
-10
0
0
0
0
0
0
-2
0
4
-1
0
0
1
0
0
53
0
0
7
0
0
0
0
0
79
-19
0
0
-6
-70
0
0
22
0
0
0
0
0
0
0
0
0
-3
-9
0
0
14
0
0
0
1
0
35
-11
0
0
0
-1
0
0
0
0
0
0
59
2
-1
0
0
0
0
18
4
0
0
0
0
0
13
0
0
2
0
0
0
-30
0
0
15
0
0
0
19
0
-2
-14
0
0
1
-22
0
0
17
0
0
0
-30
0
0
-14
0
0
0
-4
0
0
2
0
3
0
-16
0
0
0
0
3
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
29
0
0
-15
0
0
0
-1
0
0
0
0
0
0
-11
0
-1
-1
0
0
0
37
0
1
6
0
0
0
4
0
0
0
0
0
0
38
0
0
0
0
-4
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
-48
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
0
0
0
0
3
0
0
0
0
5
0
0
1
0
0
0
12
0
-13
0
-21
0
0
0
0
-10
0
0
1
0
0
0
0
0
44
0
0
0
0
0
4
0
0
0
-1
0
0
-17
0
0
3
-14
0
0
-26
14
0
0
3
0
0
0
0
0
0
0
0
0
-8
45
0
0
-25
0
0
0
11
0
68
0
0
0
0
21
0
0
0
0
3
0
75
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
0
0
4
0
0
2
-48
0
1
3
0
0
16
-84
0
0
2
0
0
0
15
0
0
4
0
0
0
29
0
0
-1
0
0
0
-25
11
0
0
0
3
0
-65
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
-18
0
5
3
0
0
0
32
0
6
-5
0
0
0
-5
0
0
1
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
-3
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
0
0
0
0
0
0
0
0
4
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
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
2
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
-5
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
-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
-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
-3
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
2
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
41
-2
0
0
0
1
0
-41
-11
0
6
39
0
1
-30
0
-13
-1
-4
0
5
107
-4
0
0
-6
-4
-1
0
-8
0
0
2
-10
-48
0
0
1
0
0
-2
3
0
15
-5
0
0
0
0
-4
6
0
0
0
1
0
-30
1
0
54
0
4
0
16
56
0
3
-11
3
0
0
0
0
0
0
0
0
-8
-6
0
0
27
-4
0
-7
-57
0
-24
24
-6
0
-9
-51
0
2
17
-7
6
0
-12
-21
0
0
0
0
0
12
1
-1
0
3
0
0
-13
-2
0
-4
0
0
-2
-40
0
-2
0
0
-5
3
-29
0
-6
-1
-6
0
-3
41
3
-5
-14
1
7
30
-11
0
9
22
-1
7
-1
5
5
-3
14
0
-4
0
7
0
3
-3
0
-69
0
-10
0
0
0
3
3
0
73
1
0
0
0
0
0
53
0
3
0
0
0
0
-10
0
0
3
0
0
-5
27
0
56
1
-5
0
-7
-94
-2
12
-2
-9
0
0
-25
0
48
-6
0
0
0
56
0
-9
-16
3
4
0
-79
0
0
-12
0
3
0
-52
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
-34
0
-21
74
1
0
0
3
0
4
-4
6
0
2
-22
0
0
-24
0
0
0
-10
0
0
0
0
0
0
-8
0
31
0
0
0
0
0
0
0
0
-9
0
-4
0
0
0
3
-9
0
0
0
0
0
10
-16
0
106
-11
0
0
-23
-36
0
0
32
0
0
0
0
0
0
0
0
0
4
-35
0
5
-8
0
0
0
48
0
8
9
0
0
0
56
0
0
-3
0
-3
0
-32
-2
-4
0
0
0
0
39
-12
0
0
0
0
0
82
0
0
0
0
0
-6
-34
0
0
-4
0
0
6
23
0
0
-11
0
0
0
14
0
-5
-15
0
0
0
0
0
0
-18
0
-4
-2
46
0
0
2
0
-34
0
44
0
0
-2
0
8
0
-8
0
0
0
0
0
0
-32
0
0
0
0
0
0
-7
0
1
0
0
0
0
7
0
0
10
0
0
0
-55
0
-12
-1
0
0
0
3
0
0
-6
0
0
6
16
0
0
4
0
0
0
21
0
0
5
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
17
0
0
0
0
0
-9
0
0
14
0
-55
0
-1
-49
0
0
30
0
0
0
0
0
0
0
0
0
-1
-27
0
0
-10
0
0
0
5
0
9
-2
0
0
0
-116
0
0
1
0
0
0
-61
2
0
0
0
0
0
36
0
0
0
0
0
0
17
0
0
0
0
0
-2
13
0
0
0
0
0
0
57
0
0
-29
0
0
0
79
0
0
0
0
0
2
46
0
0
-5
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
40
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
27
0
0
0
0
0
0
-26
0
0
0
0
0
0
14
0
-8
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
-32
-158
-12
34
-24
5
6
-36
-62
-3
-46
-15
36
-41
17
7
-12
26
-6
21
-1
-2
-37
-1
2
12
-11
11
0
-27
-23
23
-14
-7
-14
0
0
-13
34
0
-36
3
-51
0
-16
0
0
15
0
-10
0
-10
3
2
-22
5
-3
39
29
0
-80
-39
-2
-18
39
16
0
0
0
0
0
0
0
0
3
5
-1
-37
43
40
0
-58
14
-5
-36
-53
31
-5
-69
-39
-6
3
14
-9
16
0
-29
2
-24
2
-5
-14
0
28
32
0
9
1
-1
0
72
-10
-1
-37
18
25
22
-8
-7
6
2
1
-5
6
12
-8
17
-39
-48
2
-65
-25
21
15
2
6
71
48
-12
-5
-12
-9
47
-11
-3
-17
45
-98
35
-4
-50
4
5
-10
-40
98
-23
-73
0
-9
-4
-6
3
15
27
0
-13
7
0
0
-4
0
0
48
4
-17
-37
0
6
7
-41
-7
11
0
47
-6
26
30
0
-61
29
11
1
48
44
-3
-17
5
-104
22
-73
-13
-4
-6
59
14
-10
-32
-9
-10
-45
-59
49
2
0
25
0
-66
-21
-5
-50
0
74
-20
-8
7
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
10
0
0
0
1
0
0
34
2
0
0
4
0
-5
-9
-1
0
-1
-7
0
1
3
1
0
0
-2
0
-7
0
0
0
0
-1
0
33
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
47
0
0
0
0
0
-7
0
0
-45
1
-5
0
-13
1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
38
0
31
2
0
0
0
9
0
0
8
0
0
0
66
-1
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
8
0
0
20
0
0
0
-6
0
0
-1
1
0
0
-3
24
0
0
30
0
-4
-4
0
0
0
-27
0
0
-4
2
0
0
-9
0
0
0
0
0
0
4
-2
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
-1
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
-9
0
0
0
25
0
0
-2
3
0
0
-72
0
-1
-2
0
0
0
-6
0
0
-13
0
0
0
27
0
5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
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
2
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
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
-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
7
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
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
8
-2
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
6
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
7
0
0
0
0
0
0
-6
0
0
10
0
0
0
1
0
0
-2
0
0
0
9
0
0
0
0
0
0
2
0
0
15
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
31
3
0
0
0
-1
0
-1
14
0
0
11
0
0
-43
7
0
0
11
-7
0
0
0
0
0
0
0
-22
0
1
8
0
0
0
-4
0
24
-10
0
0
0
0
0
-55
0
0
0
0
0
-4
0
0
-21
5
4
0
-2
11
0
0
28
0
0
0
0
0
0
0
0
0
22
68
0
0
19
0
0
10
-82
0
54
-4
-5
0
-1
-20
0
0
0
0
0
0
-36
-4
0
0
0
0
0
16
1
0
0
0
0
4
20
0
0
0
0
3
0
27
0
0
0
0
0
-7
70
0
0
-7
2
0
-8
-69
0
0
-9
0
0
0
-46
0
6
0
-1
0
0
6
0
0
-3
-2
0
0
-29
0
-3
13
0
-3
0
117
0
0
0
0
0
0
15
3
0
0
0
0
0
27
0
-5
0
0
-1
0
-90
0
0
0
0
0
5
39
0
5
-19
0
0
0
-19
0
1
-3
8
0
0
-18
0
6
0
0
0
0
37
0
7
0
-4
0
0
8
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
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
16
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
-14
0
0
0
0
0
0
51
0
0
0
0
0
-3
-2
0
-5
0
0
0
2
14
0
0
-2
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
19
0
4
0
0
0
0
-10
0
0
0
0
0
0
53
0
0
0
0
0
0
63
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
62
0
0
0
0
0
-10
33
0
0
-2
0
0
0
2
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
-5
0
0
0
0
0
0
-15
0
0
1
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-35
0
12
13
-1
-4
-4
-31
6
-12
19
-1
0
0
-31
0
16
0
1
0
0
0
0
-18
0
0
2
0
0
0
10
0
-8
0
-18
0
2
0
0
-50
0
0
1
0
0
7
-58
0
12
21
12
0
23
-76
-6
0
28
0
0
0
0
0
0
0
0
0
33
60
0
0
78
0
0
6
34
0
-149
-6
0
0
0
-32
5
0
9
0
-2
0
-5
-38
0
0
0
0
0
-59
9
0
0
0
0
0
1
0
-3
12
0
4
0
-72
0
0
36
0
0
25
34
3
0
2
-7
0
15
85
0
6
64
0
0
16
40
-5
0
-20
-1
0
-1
44
0
-1
13
-7
0
0
-12
0
-2
-2
0
-12
0
-4
0
0
0
-1
0
0
69
0
0
0
0
0
0
-25
-4
-13
1
0
0
0
21
0
0
7
0
0
0
92
0
63
0
0
0
-5
-87
15
3
50
13
0
0
66
0
-10
-5
-10
0
0
43
0
4
-1
6
0
0
13
4
26
7
0
8
0
-77
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-2
0
-2
1
0
0
2
0
0
0
-4
1
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-1
-9
0
0
0
0
0
4
6
0
-21
1
0
0
-19
0
0
-1
1
0
0
0
0
0
0
0
0
0
-3
8
0
0
23
0
0
11
-49
0
9
-12
0
0
0
-29
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
7
0
0
2
0
0
1
-32
0
0
5
0
0
-2
0
0
0
0
-19
0
3
33
0
0
32
0
0
0
39
0
0
-3
0
0
-1
43
0
0
-2
0
0
0
4
16
0
0
0
0
0
16
0
0
0
0
0
0
-1
15
0
0
0
0
0
-36
0
2
0
0
0
0
7
0
0
0
1
0
5
0
0
-6
0
0
0
0
35
0
0
0
2
0
0
-13
0
0
0
0
0
0
46
0
0
2
0
0
0
18
0
-5
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
7
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
5
0
0
0
-10
0
-9
0
0
0
0
9
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
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
14
0
0
5
0
0
0
-22
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
4
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
5
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
-20
-2
0
0
0
0
0
0
-3
0
0
0
0
0
-10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-8
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
18
0
0
0
-22
0
44
2
0
0
0
1
0
0
0
0
0
0
-48
0
0
0
0
0
0
-66
0
0
0
0
0
0
1
0
0
0
0
0
-1
32
0
0
9
0
0
0
17
0
0
0
0
0
-4
38
0
0
-3
0
0
0
49
0
0
1
0
0
0
10
0
0
-8
0
0
0
23
0
0
0
0
0
0
33
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
1
0
0
0
0
0
0
0
0
0
0
1
0
-20
5
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-13
0
0
154
-3
0
6
-25
18
-1
37
0
0
0
48
0
0
0
1
0
0
-3
-2
-4
0
0
-7
0
0
0
0
0
12
10
-3
0
0
0
0
7
0
0
0
0
0
2
78
0
-3
0
2
0
4
-28
0
0
-21
0
0
0
0
0
0
0
0
0
31
90
0
-5
-2
0
0
0
64
0
-23
3
0
0
0
33
0
0
-2
0
0
0
-6
13
4
0
0
0
0
-23
6
-7
0
0
0
-7
40
-2
-6
9
-11
-4
-58
-15
0
-2
17
0
0
-10
-43
-10
3
-11
-2
0
3
3
-4
0
18
0
0
-12
24
0
-4
-17
4
-2
-6
-32
0
2
1
0
0
0
-18
3
0
0
0
-8
0
-37
0
0
0
0
0
0
13
-11
0
0
6
0
0
-16
1
-9
0
0
0
0
-35
0
1
-10
0
0
0
11
0
-3
-9
3
0
-2
45
16
0
-4
4
0
3
49
0
76
-5
-5
0
7
82
5
0
-10
0
-5
0
-86
-1
26
0
0
4
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
11
0
0
0
0
0
0
7
-3
0
0
17
0
0
7
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
2
0
0
0
-10
0
4
0
0
0
0
0
0
-31
0
0
0
0
0
13
0
0
7
-10
0
0
-7
47
0
0
-11
0
0
0
0
0
0
0
0
0
-4
-35
0
0
11
0
0
0
-23
0
-10
0
0
0
0
-6
0
0
0
0
0
0
23
2
0
0
0
0
0
-38
0
0
0
0
0
0
-32
0
0
0
0
0
0
13
0
0
3
0
3
2
-41
0
0
5
0
0
-1
12
0
0
11
0
0
-9
-3
0
0
9
0
0
0
63
0
0
2
0
0
0
31
0
0
1
0
1
0
-60
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
39
0
5
-2
0
0
0
32
0
0
11
0
0
0
43
0
9
-3
0
0
0
-2
0
0
5
0
0
0
-21
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
14
0
0
0
10
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
31
16
0
0
0
0
0
57
0
0
0
0
0
0
3
0
18
0
10
0
-2
-13
0
0
4
0
0
0
0
0
0
0
0
0
-1
-1
0
0
30
0
0
-12
-3
0
-8
-5
0
0
0
64
0
0
0
0
0
0
-29
14
0
0
0
0
0
-22
0
0
0
0
0
0
48
0
0
0
0
0
-5
48
0
0
1
0
0
6
-3
0
0
-7
0
0
12
99
0
0
24
0
0
-3
-17
0
3
-1
0
0
0
6
0
0
8
0
0
0
14
0
0
5
0
0
0
-29
12
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
2
0
0
0
0
1
0
0
0
0
0
0
73
0
-3
1
0
0
3
18
0
0
-14
0
0
7
30
0
0
3
0
0
0
19
0
0
0
0
0
0
4
0
1
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
-17
-19
7
-26
-70
-1
20
60
-56
-6
2
61
9
1
0
-9
0
0
0
-2
-26
0
9
77
0
0
-4
9
0
-4
-57
59
38
-3
0
9
-7
0
0
-11
0
0
-6
19
-3
11
-44
25
5
34
33
1
-7
57
-1
-3
0
0
0
0
0
0
0
36
-20
-4
-23
33
5
1
-16
22
0
-8
47
11
9
0
36
16
0
-9
6
4
0
-9
-64
-6
0
-14
0
0
4
-19
0
0
0
3
-29
46
0
1
-42
-2
-7
44
37
0
-1
-16
0
22
-6
46
60
16
125
33
3
-15
-17
10
-26
48
-5
-7
-15
14
-7
-27
41
-22
23
-1
20
-1
-24
43
6
-3
0
9
-4
3
46
10
-25
0
-3
-4
-4
0
0
-4
0
-3
-26
0
0
0
0
0
6
6
45
-2
0
0
-27
-7
3
-30
55
11
0
-7
-20
16
90
49
-11
0
-3
-17
-1
51
-8
9
0
9
16
-2
-17
-44
6
-7
2
-31
0
-2
6
-13
0
-11
-37
-8
90
-6
-1
-48
0
39
-2
-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
1
-3
0
-3
2
-1
2
-9
0
0
0
-9
0
2
0
-2
0
0
9
0
10
0
0
6
0
0
0
-5
0
-27
-1
-1
0
-4
0
0
91
0
0
-2
0
0
6
-13
0
-34
-14
-7
0
40
-5
0
0
22
0
0
0
0
0
0
0
0
0
-1
-34
0
4
-60
-7
0
4
63
0
25
-36
0
0
0
62
0
0
0
0
0
0
16
0
0
0
0
0
0
34
-1
0
0
0
0
0
-10
0
0
-1
0
0
11
-30
0
0
28
0
-8
-2
-41
0
0
17
6
0
15
0
-3
0
-19
-3
0
1
6
0
-1
-2
6
0
5
-30
0
-3
9
0
0
0
-48
0
0
0
0
-2
0
-9
0
6
0
0
0
0
66
0
0
0
0
0
0
11
0
15
0
0
0
0
-67
0
0
-6
0
0
2
-52
0
27
6
-1
0
5
0
0
-3
1
12
0
-7
21
7
-25
9
0
0
-6
-16
0
-4
0
14
0
0
-12
0
-3
0
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
7
2
0
0
-14
0
0
0
0
0
0
0
0
0
0
34
0
0
6
0
0
0
-9
0
7
0
0
0
0
4
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
5
18
0
0
0
0
0
2
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
4
-1
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
-1
0
0
0
0
0
0
5
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
-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
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
-16
0
0
0
0
0
-1
37
0
0
0
0
0
10
0
0
2
3
0
0
2
-8
0
0
9
0
0
0
0
0
0
0
0
0
5
6
0
0
-6
0
0
-12
-2
0
14
7
0
0
0
-8
0
0
0
0
0
0
-15
-4
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
14
0
0
0
34
0
0
0
0
0
0
49
0
0
0
0
0
4
36
0
0
-4
0
0
0
8
0
0
-3
2
0
-4
12
0
0
7
0
0
0
78
0
0
0
0
0
0
83
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
-6
0
0
0
18
0
0
-1
0
0
0
19
0
0
-9
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
14
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
40
1
1
-2
-56
0
15
79
4
0
0
-7
1
-6
1
7
0
0
0
15
-10
0
0
5
0
0
-16
2
0
-25
20
2
0
0
0
3
25
0
0
-2
0
0
20
21
0
14
20
-2
0
-26
48
0
-3
-12
0
0
0
0
0
0
0
0
0
42
-38
-6
1
54
2
0
8
-13
-1
-60
-7
-1
0
10
2
8
0
0
0
-9
0
36
6
6
0
0
0
0
-9
-11
0
4
1
0
0
-30
0
0
2
0
0
63
20
0
-11
-1
0
-9
-34
64
-3
-8
-56
5
6
68
1
0
0
-11
3
0
-27
54
0
-3
-9
-4
0
2
24
0
12
-4
0
0
0
-68
0
-8
0
2
5
0
-26
-2
0
0
0
0
0
103
0
0
0
0
0
0
-39
1
26
0
0
0
-1
2
0
-6
0
-15
0
-12
-64
0
-39
-4
-1
0
5
-39
0
0
58
1
0
1
-78
0
31
1
-11
0
4
53
0
0
8
8
0
-3
57
-4
-13
0
21
0
0
-23
-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
-1
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
12
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
20
0
0
0
11
-6
0
0
-2
0
0
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
21
0
5
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
10
0
0
0
0
0
0
39
0
0
0
0
0
0
13
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
4
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
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
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
22
0
0
0
-11
0
0
-7
0
0
0
-1
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
2
0
0
-9
3
-1
0
-110
-31
0
0
-14
0
0
0
0
0
0
0
0
0
-9
-71
0
0
49
0
0
0
-38
0
-7
10
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
0
0
-21
-3
0
0
0
0
0
12
-26
0
0
21
-2
0
1
4
0
0
20
0
0
0
24
0
0
-2
-4
0
0
-23
0
0
0
0
0
0
55
0
0
-1
0
0
0
81
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
-23
0
0
0
0
0
2
110
0
0
0
0
0
0
-57
0
0
4
1
0
0
61
0
27
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-49
-3
1
0
0
0
0
-23
0
0
-10
0
0
-29
23
0
46
2
-1
0
11
6
0
2
-13
0
0
0
0
0
0
0
0
0
1
-52
0
-6
-14
0
0
-5
-50
0
27
23
-9
0
0
-27
0
0
-1
0
0
0
8
-4
0
0
0
0
0
35
0
-2
0
0
0
0
5
0
2
3
-13
7
3
-60
0
0
2
0
7
0
87
6
0
34
8
-17
9
80
2
0
85
0
-3
0
69
0
-2
60
7
0
0
-58
0
-3
64
4
0
0
89
-4
0
-11
12
12
0
-14
0
0
0
0
0
0
-41
-10
0
0
0
0
0
56
1
43
4
0
-4
0
-68
0
-1
2
0
-2
0
-50
0
44
-47
0
0
2
-10
-1
1
3
18
0
21
39
0
-5
84
0
0
-3
90
0
3
-1
0
0
0
-28
4
-24
0
0
-21
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
-3
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-41
0
0
0
0
0
2
-5
0
59
2
0
0
3
44
0
0
-12
0
0
0
0
0
0
0
0
0
-9
0
0
1
-19
0
0
0
-27
0
-6
0
0
0
0
17
0
0
5
0
0
0
-41
0
0
0
0
0
0
-25
0
0
0
0
0
0
-29
0
0
4
0
0
2
-53
0
0
-19
0
0
0
8
0
0
-9
-12
0
0
-12
0
0
-2
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
-12
0
0
6
0
0
0
31
0
0
0
0
0
0
32
7
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
39
0
0
-5
0
0
0
9
0
0
-1
0
0
0
0
0
2
8
0
0
0
-47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
15
0
0
0
0
-8
0
0
9
0
0
0
0
0
0
0
0
0
0
18
0
0
-6
0
0
0
0
0
1
0
0
0
0
22
0
0
0
0
0
0
-42
0
0
0
0
0
0
91
0
0
0
0
0
0
6
0
0
0
0
0
0
18
0
0
2
0
0
0
11
0
0
0
3
0
0
-13
0
0
0
0
0
0
-21
0
0
1
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
2
-3
0
0
0
0
0
0
0
0
0
0
-5
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
-4
-1
0
0
4
0
0
0
-7
0
0
0
0
-4
0
0
-1
0
0
0
0
0
31
-1
0
0
0
0
0
-31
0
0
0
0
0
1
-5
0
47
0
0
0
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
-2
-12
0
-9
8
0
0
3
-2
0
0
0
0
0
0
-45
0
0
0
0
0
0
-63
0
0
0
0
0
0
12
0
0
1
0
0
0
94
0
0
9
0
0
8
-12
0
0
0
6
0
0
-17
0
0
-1
0
0
2
54
0
0
3
0
0
0
7
0
0
-2
0
0
0
-2
0
0
0
0
3
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
-2
0
0
0
0
0
0
-3
0
0
0
0
0
-7
-10
0
0
0
0
0
-1
1
0
0
0
0
0
0
-1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
-88
0
-4
6
0
0
0
-15
0
0
10
0
0
-7
0
12
36
0
0
-1
0
0
11
18
-2
-20
-32
-2
0
39
-6
-5
2
56
0
0
0
0
0
0
0
0
0
38
12
0
-1
2
0
0
0
34
0
-65
-3
2
0
3
4
0
1
0
0
0
0
29
-1
0
0
10
-1
0
43
-2
0
0
0
0
0
-107
0
0
-2
0
0
22
-3
0
0
10
0
20
12
33
0
0
-4
8
0
27
37
0
0
0
0
-1
42
80
0
-3
5
1
0
0
33
0
5
-17
-1
-3
0
-25
0
0
0
0
-16
0
-33
0
0
0
0
3
0
92
0
0
0
0
0
5
24
0
8
0
0
0
0
109
0
1
-3
0
0
-2
0
0
-1
-1
0
0
-13
-39
-7
-2
-21
-11
0
-4
-53
1
114
-16
0
-6
0
-88
0
-7
0
10
0
0
45
0
-8
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
1
0
-67
0
0
0
0
0
-1
1
0
0
0
0
0
0
3
0
4
0
0
0
6
45
0
0
0
0
0
0
0
0
0
0
0
0
1
41
0
0
-2
0
0
3
-10
0
21
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
2
0
0
-2
0
0
0
-19
0
0
0
0
0
-6
-6
0
0
0
0
0
3
5
0
0
-7
0
0
-3
-42
0
0
0
0
0
0
-61
0
0
0
0
0
0
-24
0
0
-1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
-22
0
0
0
0
0
0
-35
0
13
0
0
0
0
-7
0
0
-5
0
0
0
-12
0
-2
0
0
0
0
19
0
0
-1
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
-3
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
10
0
0
0
0
0
0
42
0
0
0
0
0
6
0
0
45
-6
0
0
54
30
0
3
3
0
0
0
0
0
0
0
0
0
0
-47
0
0
-4
0
0
1
54
0
-6
-3
0
0
0
28
0
0
0
0
0
0
-36
-2
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
-12
0
0
9
29
0
0
-16
0
0
1
86
0
0
-7
10
0
-39
27
0
0
18
0
0
0
-40
0
0
13
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
47
0
0
0
0
0
0
41
0
-14
3
0
0
0
-28
0
0
-1
3
0
0
61
0
0
0
0
0
0
-15
0
0
0
0
0
0
40
0
0
0
0
0
0
82
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-24
-6
-56
0
0
-14
0
0
0
0
0
-2
8
-1
0
-8
0
-5
11
0
0
15
0
0
16
-78
0
-8
4
50
0
-42
-12
0
2
33
6
0
0
0
0
0
0
0
0
-4
-24
0
-2
85
-21
0
0
-25
0
-70
13
0
0
0
-14
0
0
71
2
-5
0
19
7
-10
0
0
0
0
25
1
0
0
0
0
1
-13
0
2
11
-14
-12
7
-134
0
3
-54
0
-28
13
-62
0
-7
76
-4
3
12
-9
0
-7
-52
16
-3
-1
3
0
8
-82
1
4
-16
19
0
21
-15
0
11
0
-14
1
0
-15
3
57
0
-18
3
0
0
0
15
0
-30
0
0
0
1
0
0
9
0
-23
2
0
-5
2
-15
0
0
17
0
0
-8
35
0
4
19
9
-2
0
-75
8
7
25
3
-2
0
87
0
89
6
-3
0
0
42
7
-22
-72
3
-1
0
-77
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
8
10
0
0
2
-22
0
4
5
0
0
0
0
0
0
0
0
0
0
41
0
0
-10
0
0
3
0
0
8
0
0
0
0
10
0
0
0
0
0
0
-10
4
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
-1
0
0
9
-64
0
0
0
0
0
2
-5
0
0
0
-10
0
0
-26
0
0
10
0
0
0
23
0
3
3
0
0
0
0
0
-1
0
0
0
0
-12
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
3
0
0
-22
0
0
0
9
0
-8
0
0
0
0
15
0
0
1
0
0
0
-30
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
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
1
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-10
0
0
0
11
0
0
0
0
0
0
6
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
-7
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
-6
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
-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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
0
0
0
-1
0
-2
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
5
0
0
0
3
0
0
6
0
0
0
-3
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
3
2
-22
-6
-3
2
0
0
1
0
0
14
0
0
0
-12
0
-19
-30
0
0
-10
0
0
29
-8
0
73
34
-14
0
-95
8
-7
1
11
-1
0
0
0
0
0
0
0
0
6
10
0
0
-24
0
0
-13
-17
0
-24
6
9
0
2
21
0
0
0
-11
2
0
-23
6
0
0
0
0
0
-21
0
0
2
0
0
0
69
0
2
0
1
0
12
0
0
-11
-8
0
-5
-75
19
-1
5
-2
26
0
13
-14
17
-2
-67
1
-9
44
48
-10
0
1
10
4
2
-14
-2
5
5
1
0
-3
10
5
-11
-2
0
-24
0
-25
6
0
0
0
3
0
-16
0
0
0
0
0
0
43
0
36
0
0
2
0
-61
0
0
-2
1
0
-8
-43
0
6
8
0
4
3
-64
0
6
9
18
0
0
49
0
-18
3
0
-13
0
4
0
1
0
2
0
0
64
0
59
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
3
8
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
0
0
2
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
14
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
3
0
0
0
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
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
5
0
0
0
0
0
0
2
0
15
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
-11
1
0
8
9
0
0
-4
-4
0
0
27
0
0
0
0
0
0
0
0
0
-8
73
0
0
6
0
0
20
-12
0
-27
0
0
0
0
-26
0
0
0
0
0
0
-8
2
0
0
0
0
0
45
0
0
0
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
-4
43
0
0
11
0
0
0
24
0
0
-8
0
0
0
67
0
0
4
0
0
4
39
0
0
0
0
0
0
51
0
0
0
0
0
0
43
0
0
0
0
0
0
8
0
0
0
0
0
0
-11
0
0
0
0
0
0
22
0
0
3
0
0
0
-24
0
0
0
0
0
0
7
0
0
2
0
0
0
12
0
-6
0
0
0
0
39
0
0
2
0
0
0
-19
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
-2
0
0
0
0
0
-23
0
0
0
0
0
0
32
0
0
0
0
0
2
0
0
-3
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
-13
0
0
0
0
-3
0
0
0
0
0
0
-40
11
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
79
0
0
-10
0
0
0
-35
0
0
4
0
0
0
28
0
0
0
0
0
0
17
0
0
-1
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
34
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
15
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
-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
4
0
0
0
0
0
3
-35
0
0
-1
0
0
-27
8
0
-11
-5
0
0
-4
33
0
0
18
0
0
0
0
0
0
0
0
0
0
-51
0
0
23
0
0
13
-17
0
-4
8
0
0
-2
0
0
0
3
-4
0
0
-10
0
0
0
0
0
0
-30
0
0
0
0
0
0
42
0
0
0
0
7
0
-53
0
0
5
0
0
8
-8
0
0
7
5
2
11
30
5
-1
-6
10
0
-20
21
0
-2
0
0
0
0
-50
0
0
-1
0
0
0
0
-1
0
0
2
0
0
-45
0
0
0
0
0
0
6
-4
0
0
0
0
0
6
0
22
0
0
0
0
-36
0
0
0
0
0
0
-12
0
-7
0
0
0
-9
-17
0
0
0
1
0
5
-2
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
-3
-2
0
0
0
-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
-13
0
0
0
0
0
0
-14
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
-1
0
0
1
0
0
0
-1
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
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
-8
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
1
0
0
4
0
0
0
0
0
0
44
0
0
0
0
0
1
-1
0
12
-3
0
0
0
-6
0
0
11
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
-15
0
-4
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-15
2
0
0
0
0
0
-11
0
0
0
0
1
0
-9
0
0
0
0
8
-4
-27
0
0
4
-9
0
2
14
0
0
0
0
0
0
-21
0
7
-5
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
1
0
0
0
0
32
0
0
0
0
0
0
18
0
0
0
0
0
16
-8
0
0
-11
-7
0
0
-8
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-6
5
0
0
-5
-11
0
0
3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
29
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
-49
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
-13
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
25
0
0
0
0
0
0
-25
0
0
-1
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
24
3
-13
-6
-21
0
42
-6
0
-5
19
3
0
-51
-17
0
8
25
-21
0
117
-11
0
-10
-40
0
0
0
0
0
0
0
0
0
15
-8
0
0
7
0
0
-24
-28
0
34
-15
51
0
-7
23
0
-1
0
-6
0
0
35
1
-8
0
0
0
0
-43
-1
0
0
-3
0
4
-4
1
16
60
11
0
-45
19
0
0
47
-4
0
41
-41
0
-7
11
79
0
55
0
-7
3
26
2
0
-3
-11
-1
32
16
33
0
-15
11
-4
7
14
0
0
0
13
-8
-3
-17
-22
0
0
-12
0
0
0
-7
0
1
-46
4
0
0
0
0
0
-5
-3
26
13
-11
0
3
-34
0
5
57
9
0
-11
10
0
43
25
-1
0
-7
-9
-12
-7
-46
15
0
-1
-54
0
51
55
0
0
12
16
7
0
-17
15
0
0
30
0
-14
0
3
0
0
69
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
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
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
-14
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-2
0
0
-1
7
0
0
7
0
0
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
-5
0
2
0
0
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
-69
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
31
0
0
0
0
0
0
-32
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
3
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
7
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
-7
-6
0
0
0
0
0
-63
0
0
0
0
0
26
4
0
-18
11
-3
0
-50
12
0
-5
-7
0
0
0
0
0
0
0
0
0
-12
35
0
0
88
0
0
0
-4
0
27
2
0
0
0
9
0
0
-3
0
2
0
-1
0
-12
0
0
0
0
-45
0
0
0
2
0
0
40
0
0
-5
3
0
-1
65
0
0
7
0
0
1
8
0
0
0
2
0
0
-9
4
0
-10
0
0
-1
-87
0
0
1
0
-1
0
105
0
0
-1
0
0
0
-8
0
0
-8
0
0
0
2
0
0
0
0
1
0
27
0
0
0
0
0
0
-6
0
0
3
0
0
1
30
0
0
-2
0
0
0
45
0
0
-10
0
0
0
-79
0
0
-8
0
0
0
35
0
-6
-5
0
0
0
7
0
0
0
0
0
0
52
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-2
0
0
0
-13
0
-1
6
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
35
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
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
11
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-7
0
0
0
0
-10
0
0
0
0
0
0
11
0
6
8
0
0
0
18
0
0
1
0
0
0
0
0
2
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
-4
0
0
0
0
0
-5
0
0
-9
-14
3
0
5
28
0
0
3
0
0
0
0
0
0
0
0
0
5
19
0
0
4
0
0
0
-21
0
-48
-6
0
0
0
46
0
0
0
0
0
0
-27
4
0
0
0
0
0
-75
0
0
0
0
0
0
-67
0
0
12
0
0
0
38
0
0
3
0
0
0
-7
0
0
17
-7
0
-15
96
0
0
1
0
0
-1
-26
0
0
19
-4
0
0
29
0
0
3
0
0
0
-25
0
-3
0
2
0
0
19
0
0
0
0
0
0
17
0
0
0
0
0
0
-34
0
-9
0
0
0
0
-9
0
0
0
0
0
0
-27
0
1
0
0
0
-8
-36
0
-2
8
-1
0
0
-19
0
-1
-14
0
0
0
-16
0
0
0
-5
0
0
45
0
0
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
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
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-9
37
-10
16
-47
6
1
9
-30
69
2
39
9
-21
28
-25
-28
2
0
0
0
0
0
0
0
49
-31
10
-39
14
34
16
19
-22
-10
-1
72
8
2
-4
11
1
-4
-10
-9
0
0
-19
-3
-13
0
53
-9
-4
0
2
-1
2
-8
2
133
24
-25
48
86
8
23
9
30
-7
-3
8
-14
-10
-38
38
-47
-79
36
41
18
41
-20
19
-18
54
-32
10
39
41
74
5
28
14
16
1
-28
-30
-21
48
-19
44
71
15
-61
11
12
-18
26
5
37
9
2
-1
7
-1
0
0
0
-9
13
11
0
0
-30
-5
-58
-72
94
65
-11
32
-3
-42
40
26
3
14
-22
12
69
-9
12
35
-1
-20
-34
52
19
-11
9
36
-23
9
47
133
0
-9
10
37
3
57
-17
17
6
-15
-32
-13
-35
33
-13
-41
0
43
-24
-66
-4
-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
-9
0
0
0
0
0
-4
4
0
5
-8
2
0
22
28
0
0
16
0
0
0
0
0
0
0
0
0
0
-13
0
0
-108
0
0
0
39
0
-19
0
0
0
-2
0
0
0
-1
0
0
0
57
5
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
-5
0
6
-34
0
0
6
0
0
10
-22
0
0
-1
-11
0
-7
-39
0
0
-17
0
0
0
35
0
3
-3
0
0
0
-31
0
0
5
0
0
0
21
0
0
0
0
0
0
-77
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
3
0
0
0
0
-23
0
0
-2
0
0
-2
72
0
-2
0
0
0
3
0
0
0
0
0
0
0
-38
0
-10
0
0
0
0
-44
0
0
0
0
0
0
-34
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
2
0
0
0
0
0
2
0
0
0
4
0
0
-7
5
0
0
47
0
0
0
0
0
0
0
0
0
-9
55
0
0
-33
0
0
0
3
0
12
0
0
0
0
6
0
0
0
0
0
0
51
6
0
0
0
0
0
4
0
0
0
0
0
0
-22
0
0
0
0
0
0
35
0
0
-5
0
0
-7
50
0
0
-5
0
0
0
-22
0
0
1
0
0
0
-38
0
-2
8
0
0
0
-6
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
-6
0
3
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
14
0
-6
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-4
0
0
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
37
0
-6
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
3
-3
0
0
0
0
0
0
34
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
2
0
-10
0
0
0
0
0
0
-7
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-40
-3
0
0
6
-66
0
0
1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
36
0
17
-20
0
0
0
16
0
0
0
0
0
0
59
0
0
0
0
0
0
17
0
0
0
0
0
0
-31
0
0
0
0
1
0
4
0
0
0
0
16
-6
42
0
0
0
0
0
0
74
0
0
-17
0
0
0
-24
0
0
6
0
0
0
41
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
-8
0
0
0
0
55
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
8
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
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
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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
21
97
0
0
-19
0
0
0
0
0
0
0
0
0
-6
-12
0
0
-21
0
0
0
61
0
-60
4
0
0
3
30
0
0
0
0
0
0
32
0
-1
0
0
0
0
-20
-33
0
0
0
0
0
-23
0
0
0
0
0
0
-45
0
-11
1
0
0
0
-66
0
0
6
13
0
-10
-61
0
0
44
0
0
0
3
0
0
2
0
3
-5
67
0
0
-6
0
-8
0
13
0
-5
0
0
0
0
101
0
0
0
0
0
0
-13
0
0
0
0
0
0
-49
0
-33
0
0
0
0
-35
0
0
-8
0
0
0
92
0
15
6
0
0
0
31
0
0
0
0
0
0
-22
0
3
0
0
0
0
-48
0
0
0
0
0
0
-84
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
-7
36
5
47
-32
36
0
28
-29
1
20
-55
36
-2
0
0
0
0
0
0
0
-2
8
-13
-48
-22
23
17
5
-10
-9
24
28
8
-23
-31
-22
18
39
72
27
-5
4
-22
9
-4
-3
15
-16
0
-2
8
4
-5
-1
1
-13
0
20
46
-54
-12
-11
8
7
-33
-5
-54
-1
23
0
-19
16
80
-8
-25
64
36
-38
39
-1
47
34
18
50
-16
-19
87
17
3
-131
-10
4
64
0
-18
-28
65
13
-13
-39
24
-101
73
34
0
11
-8
-24
-27
-1
22
0
-53
28
37
1
20
1
-4
0
-11
20
101
25
8
17
-35
-4
78
-12
14
-11
24
-5
14
-20
15
-32
10
15
-38
-26
-37
-12
17
17
11
-6
-2
-14
-34
75
-54
56
-68
24
32
2
-10
25
-5
-4
12
8
41
-6
83
0
-8
77
7
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
51
22
0
0
17
0
0
0
0
0
0
0
0
0
5
68
0
0
44
0
0
-3
6
0
-1
1
-3
0
0
0
0
0
0
0
7
0
-50
1
1
0
0
0
0
-3
14
0
0
0
0
0
-42
0
0
0
0
6
0
-16
0
0
1
0
-2
-6
-93
0
0
-3
0
0
0
63
0
0
-1
0
0
0
-18
0
-1
-23
-4
0
0
13
0
0
-2
0
0
0
4
0
0
1
0
1
0
-55
0
0
0
0
0
0
-30
9
0
0
0
0
0
106
0
0
0
0
0
0
-18
0
0
-6
0
0
0
-47
0
-14
0
0
0
0
48
0
0
0
2
0
0
3
0
21
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
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
-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
-10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
4
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
3
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
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
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
44
9
-3
1
-69
0
0
0
0
0
0
0
0
0
26
38
0
0
16
2
0
0
-1
0
87
-9
0
0
1
-8
13
0
0
0
5
0
-106
-7
-3
0
0
0
0
61
-7
0
13
0
0
0
14
0
0
-16
0
-1
8
101
0
-8
-42
0
1
9
16
15
-5
-75
34
2
0
-28
0
1
-2
1
0
-19
27
-9
-5
9
-3
0
1
24
0
5
6
0
0
0
33
-7
2
-3
0
15
0
-33
0
0
0
0
3
0
63
0
0
0
0
0
0
8
0
-29
0
0
0
0
-78
0
-8
33
0
0
-4
17
0
10
-4
0
0
12
45
0
-7
-9
7
0
1
52
0
28
-31
0
0
0
-37
0
0
0
0
0
0
4
0
14
0
0
5
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
7
-44
0
0
-8
0
0
0
0
0
0
0
0
0
19
69
0
2
24
0
0
4
-20
0
36
0
-1
0
-3
4
0
0
-5
0
0
0
-41
4
0
0
0
0
0
0
-1
0
0
0
0
0
79
0
0
-5
0
0
15
0
0
0
6
0
4
2
89
0
1
-21
6
0
12
6
0
11
3
0
0
0
54
0
0
-21
0
15
0
16
0
4
0
0
-10
0
-51
0
1
-10
0
-2
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
-12
0
0
0
-5
0
0
-1
17
0
0
5
-48
0
5
5
0
0
0
52
-3
-6
-6
-2
0
0
-10
0
-22
1
0
0
0
57
0
3
-8
0
0
0
147
0
13
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
5
-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
-6
0
0
0
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
-1
0
0
0
0
0
0
6
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-18
-2
0
22
-11
0
0
0
0
0
0
0
0
-14
-31
-3
-24
61
16
3
-33
-34
0
75
107
-13
-22
21
-12
0
1
-9
-6
0
0
-1
18
45
0
2
0
0
1
-1
0
0
0
0
-1
28
0
-1
-42
21
23
-102
-14
0
0
15
0
-48
-53
-12
-1
3
32
-45
12
91
25
11
101
38
-40
41
58
-5
8
54
-76
-3
-42
58
15
-3
-5
18
-7
3
6
30
-4
-45
-4
1
-22
0
-10
-2
0
0
-2
7
0
30
8
0
0
10
0
-1
-21
10
2
13
0
2
-1
-25
0
1
18
25
1
-1
18
3
-1
-41
25
0
-24
-5
-5
58
15
71
0
-2
-2
0
31
-90
0
0
10
113
0
-20
28
33
-2
-5
1
-3
-43
-7
0
-21
0
47
2
-4
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
53
7
0
0
10
3
0
0
0
0
0
0
0
0
14
-31
0
0
-7
0
0
-9
-9
0
63
-3
0
0
-4
22
0
0
5
0
5
0
-11
5
0
0
0
0
0
37
0
0
0
0
0
-7
-18
0
-6
-1
0
0
22
-16
0
-3
8
3
0
18
10
0
0
1
-6
0
-5
1
-14
6
13
11
0
7
74
0
1
-13
67
-1
0
1
0
3
-2
0
-22
0
13
-2
0
-2
0
65
0
-14
0
0
0
3
0
0
-52
-3
-1
0
0
0
0
16
0
-23
0
0
0
-2
-86
0
10
0
7
0
0
2
0
-13
-25
0
0
0
38
0
-15
0
0
0
0
-6
0
-19
-12
0
0
-14
2
0
0
-9
0
0
0
48
3
-4
0
0
2
0
-17
-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
-9
-42
0
0
61
0
0
0
0
0
0
0
0
0
-25
27
0
0
-6
0
0
0
-18
0
18
0
0
0
0
17
0
0
0
0
-2
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-18
0
0
2
0
0
0
-65
0
0
-1
0
0
4
-70
0
0
-19
0
0
1
64
0
-1
-10
0
0
3
-32
0
1
11
0
0
5
80
0
0
-3
0
0
0
21
0
0
-7
0
10
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-22
0
0
-13
0
0
0
54
0
0
0
0
0
0
-48
0
0
6
0
0
0
-32
0
-11
1
0
0
0
-5
0
0
0
0
0
0
14
0
6
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
6
4
4
-4
-13
0
97
47
-14
0
-13
18
0
-1
-18
0
-6
0
-4
27
-2
0
1
-1
0
21
17
0
0
13
0
-1
9
0
4
-15
10
1
0
57
0
8
16
3
1
17
-36
0
0
17
-4
1
-11
-2
-13
-1
19
2
0
-15
-21
-1
8
-14
47
0
3
-32
0
-7
43
0
-2
0
-12
-9
-50
46
-6
-38
0
-19
-2
0
0
0
0
0
39
-18
0
0
0
0
0
-105
2
-14
9
0
0
12
80
0
-1
40
0
0
-12
-14
3
23
67
0
0
-3
61
0
-8
-18
30
0
3
2
0
65
82
8
0
0
-22
0
10
16
0
0
0
-60
2
-37
-5
0
-10
0
-5
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
3
-13
-6
-3
45
3
-7
-28
4
-5
50
-15
2
3
-23
1
3
-3
36
-12
-40
0
-33
-10
-55
5
5
-12
0
-3
21
-1
1
-13
-4
1
14
-10
0
-50
-29
-31
-29
19
-32
-18
-16
16
-19
-41
0
145
-46
-58
-17
26
34
-20
10
25
-2
-17
10
55
-37
-31
13
81
7
-4
-22
-21
43
4
54
-11
52
5
-4
15
50
98
4
26
0
-10
2
-2
6
-28
19
1
-14
-8
-11
4
-13
1
-10
35
-10
-6
17
2
31
39
-8
5
-33
52
32
-3
18
0
25
33
48
90
-2
-46
19
34
130
26
-51
10
-1
33
18
-12
55
-17
-5
-17
83
8
-40
20
12
-4
-8
-59
0
-28
-17
-7
-93
0
-64
27
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-17
0
0
0
0
0
0
-54
0
0
0
0
0
0
-22
0
0
0
0
0
0
11
0
0
0
0
0
0
94
0
0
0
0
0
0
45
0
0
0
0
0
0
0
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
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
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
14
27
0
0
-10
0
0
0
2
0
-6
0
0
0
0
-6
0
0
0
0
0
0
55
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
3
-3
0
0
0
0
0
0
44
0
0
7
0
0
0
68
0
0
-3
0
0
0
32
0
0
-2
0
0
0
50
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
-7
0
0
6
0
0
0
-9
0
0
0
0
0
0
14
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
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
-1
19
0
7
12
-1
3
26
34
0
60
45
-3
0
0
8
0
0
25
0
-11
0
-51
9
25
0
-2
-3
0
43
19
0
1
-1
0
0
-69
0
0
-5
0
1
-2
-6
0
0
-6
0
0
-6
42
0
3
113
20
2
-4
-20
-8
0
61
0
0
-11
30
-17
45
-13
23
0
2
-51
5
-21
-19
0
-4
2
7
-19
0
5
-3
32
0
61
0
0
0
0
0
0
56
-2
0
2
0
0
0
26
4
-18
0
0
-3
4
38
0
2
-1
6
0
9
-25
0
38
28
0
0
30
-1
0
-21
4
-3
0
3
-21
0
-7
-24
-6
-2
0
-8
0
-8
24
19
0
-6
99
-5
-45
-3
4
2
0
20
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
5
0
-10
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
54
0
0
0
0
0
0
2
0
0
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
0
0
0
5
0
0
0
-48
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
-7
0
0
2
0
0
0
26
0
0
0
0
0
0
-2
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
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
-10
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
101
0
12
37
0
11
0
4
0
0
0
0
0
0
-35
-17
1
0
-1
0
0
-8
4
0
10
-6
0
0
23
0
-8
7
2
-2
0
3
0
0
-32
0
0
5
1
0
-2
-44
6
3
0
-9
2
0
33
0
-3
0
107
0
2
-66
-1
2
0
-23
0
0
-1
0
0
0
15
12
0
-3
-3
9
0
19
0
0
0
-6
0
2
-20
-1
0
-1
0
0
0
0
1
4
0
0
0
0
73
0
2
0
-22
0
0
72
0
9
-79
3
0
-2
29
-7
-14
33
0
0
-2
-22
0
106
-2
0
0
6
61
-8
1
-9
10
0
0
90
-1
-21
4
0
0
0
63
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
-44
-77
-1
6
-47
0
0
-21
-6
18
0
2
-38
-70
6
-3
-19
0
-4
-47
-6
-2
-7
22
1
-7
-5
-21
1
18
50
2
4
-15
-15
21
8
-41
-7
22
15
-29
12
20
-27
-29
-26
10
37
148
40
21
51
0
-4
-57
-49
-20
20
32
34
32
6
33
-4
95
0
-47
64
-69
-7
-84
-56
0
-28
-17
1
0
7
-19
0
36
16
-4
-1
-24
2
8
90
2
-15
36
5
-15
-48
110
-2
1
6
43
7
44
-14
-34
-11
86
28
10
-14
-50
9
30
86
-7
-4
-30
0
-7
67
-31
18
-31
-14
-111
-17
20
-4
12
-9
-2
22
-2
-27
41
-1
-38
0
-15
45
3
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
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
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
-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
3
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
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
-2
0
0
0
0
0
0
-60
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
1
-11
0
0
0
0
0
0
-38
0
0
-3
0
0
-1
-15
0
0
7
0
0
0
32
0
0
2
0
0
0
26
0
0
0
0
0
0
-23
0
0
0
0
2
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
1
0
0
0
0
-9
0
0
0
0
0
0
19
0
0
-10
0
0
0
3
0
0
-7
0
0
0
-46
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
-5
-5
-3
-8
67
12
-1
0
0
17
0
29
-10
0
0
-2
0
0
-4
9
0
0
0
0
-3
-37
-7
-9
14
4
7
102
-1
0
-1
-26
4
4
-45
-5
0
-6
24
-28
0
33
-34
3
3
-55
-3
0
3
-18
0
5
5
40
0
-6
40
0
16
5
-14
2
-3
-21
12
11
0
46
-21
0
13
0
-10
1
6
0
0
37
-7
-1
0
0
0
2
-31
1
26
-8
0
0
-16
-10
0
0
56
11
0
-26
3
6
62
3
-2
0
4
34
-2
56
79
50
0
5
-60
0
4
-9
-3
0
-1
31
0
-13
16
3
0
0
28
0
48
0
7
13
0
68
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
-3
0
3
2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-28
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
-8
0
0
0
0
0
0
17
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
0
2
0
4
0
0
0
0
0
0
1
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
12
0
0
0
0
0
0
0
0
-3
1
0
0
0
26
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
45
0
0
0
0
0
0
8
0
0
-4
0
0
0
1
0
0
0
0
0
0
14
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
2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-20
0
0
0
0
0
0
97
0
-24
0
0
0
0
-32
0
-4
-1
0
0
3
-8
0
5
-5
-1
0
6
-14
0
0
-27
-7
4
0
31
0
9
0
1
0
0
-23
0
0
0
0
0
0
28
0
0
-7
0
0
0
-3
0
0
0
0
0
0
-2
-3
0
0
0
0
0
-22
0
0
0
0
0
0
38
0
0
-3
0
0
0
-21
0
-7
-2
0
0
0
48
0
0
-29
0
0
0
23
0
2
0
0
0
0
-22
0
0
0
0
0
0
-10
0
4
-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
-46
-12
0
0
-45
-5
-3
0
-15
15
1
4
1
0
0
-5
0
-3
0
7
2
-3
-37
-2
-4
72
22
7
36
-39
0
-9
-23
12
-24
-42
0
-13
-27
-35
140
42
56
15
89
-22
17
55
-34
10
2
3
14
-7
17
73
26
0
-4
-29
-60
-22
10
1
-24
8
8
53
0
-8
5
20
-6
0
0
9
-21
1
33
1
-8
-2
0
-1
0
12
1
0
47
0
-3
35
-22
1
-18
35
-10
5
29
-26
0
19
1
7
-1
-72
66
48
-36
78
49
1
-4
19
-2
-30
-11
7
-18
15
0
3
1
11
-2
-3
0
7
-11
-68
-6
-1
39
0
69
-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
-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
-12
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
-4
0
0
0
0
0
0
0
0
0
0
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
-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
16
43
11
0
18
2
-51
0
14
-16
0
0
22
0
0
-42
-12
1
1
-7
0
-22
61
2
82
-11
-11
-18
68
-18
0
0
-18
0
-14
-3
20
-8
2
127
-15
-2
73
38
6
3
-16
5
0
-2
-25
0
-43
44
18
15
93
34
0
4
-85
-23
-14
0
94
-1
-17
-18
-14
64
0
38
1
0
0
-1
32
0
-27
9
0
0
-4
0
17
-25
-16
-24
-2
0
0
-43
2
0
2
-4
-15
0
7
-46
0
-63
116
-1
0
21
14
5
60
-4
40
7
-3
32
8
-24
-45
-1
-8
4
3
0
-64
-8
31
1
0
29
3
2
-24
0
-3
0
-58
1
51
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
4
12
0
0
0
0
0
0
31
-15
0
0
0
0
0
28
-12
0
0
0
0
1
39
-1
-3
4
1
3
-14
-24
0
-2
-1
0
0
9
-21
1
0
-7
1
2
-16
186
1
-15
31
0
0
0
50
0
9
0
0
0
4
-27
-6
0
-2
0
0
0
-11
-7
0
0
2
3
0
32
0
0
0
0
0
0
-101
0
0
0
0
0
0
-8
0
0
0
0
0
0
68
0
0
-5
0
0
-7
38
3
16
8
0
2
2
-66
-1
0
16
9
0
0
40
0
8
-4
1
0
0
15
0
0
0
0
0
0
0
-4
-23
0
0
15
0
-114
-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
-2
0
0
0
0
0
0
-49
8
9
0
0
0
0
24
0
0
0
0
0
0
27
0
0
0
0
0
-7
-12
0
0
5
0
0
-9
70
0
0
0
0
0
0
1
0
0
2
0
0
0
36
0
0
-3
0
0
0
15
0
0
0
0
0
0
-3
0
0
-3
0
0
0
33
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
6
0
0
0
0
36
0
0
0
0
0
0
-19
0
0
2
0
0
0
43
0
0
-12
0
0
0
-10
0
0
1
0
0
0
-56
0
0
0
0
0
0
-69
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
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
0
0
0
0
7
0
0
1
0
0
0
1
0
0
10
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
-7
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
1
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
-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
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
20
0
0
24
0
0
-2
-3
0
0
2
8
0
-5
14
0
-2
-6
0
0
0
-8
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
-10
0
0
0
0
0
0
1
0
-3
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
-4
0
0
0
-11
0
0
4
-6
0
0
-3
0
3
-2
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
1
0
0
-19
1
0
0
-1
3
0
-8
0
0
-6
17
4
39
-20
0
0
-8
-1
-6
-22
46
-3
1
20
83
-6
-4
1
16
-1
-57
-9
0
44
22
-19
-11
-23
1
14
-4
-25
-3
2
-3
-1
0
-3
0
-16
53
79
-24
0
0
16
-6
0
0
0
0
0
-13
3
-3
0
4
0
0
23
0
60
5
0
9
8
-13
0
-14
14
32
0
25
10
24
69
53
0
0
43
36
0
-3
19
-43
0
2
56
8
32
61
-7
-13
21
104
-1
-1
-2
16
0
0
0
-5
-23
-10
5
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
1
0
0
0
77
0
0
-1
0
0
0
-8
0
0
4
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-8
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
-1
0
0
0
0
0
0
30
0
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
29
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
10
22
0
-1
0
13
0
2
57
0
0
-2
0
0
0
6
0
0
0
0
0
0
24
0
0
1
0
0
0
41
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
-7
0
0
2
0
0
0
-1
0
0
0
0
0
0
-2
0
0
2
0
0
0
31
0
5
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
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
-8
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
-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
52
0
0
0
0
0
0
54
0
0
0
0
0
0
17
0
0
-4
0
0
0
82
0
0
2
0
0
0
-23
0
4
-8
-3
0
0
-18
0
0
-7
0
0
0
-11
0
0
5
3
0
0
63
0
0
0
0
0
0
-7
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
10
0
0
0
0
0
0
43
0
-6
0
0
0
0
3
0
0
5
1
0
0
-35
0
0
-8
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-2
3
-20
5
50
9
-13
-16
41
-47
34
-7
8
-22
-35
-56
-9
72
15
6
-39
-150
96
18
-11
26
3
37
-7
0
-46
-52
-23
10
60
1
47
6
-21
3
-13
16
-24
28
-12
23
5
6
-10
3
32
-75
43
0
0
-6
-23
4
-70
-29
0
47
-9
-12
5
14
0
9
-37
-3
-3
83
56
15
14
-12
6
13
87
46
11
9
17
8
43
-102
-1
0
25
-42
54
-28
68
-84
15
10
19
-2
-9
66
-4
-8
0
-54
54
-91
-56
4
-9
0
12
60
-16
-29
16
6
-2
0
0
76
-10
-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
30
2
0
0
0
0
0
-33
0
0
1
0
0
-2
34
0
0
3
0
0
6
-59
0
0
-13
0
-6
0
-43
0
0
9
0
0
0
31
0
-24
11
0
0
0
0
0
12
-1
0
0
4
19
-3
0
0
0
0
0
-56
0
0
0
0
0
0
6
0
0
0
0
0
0
14
0
-3
3
0
0
-1
-22
0
0
0
0
0
0
67
0
17
2
0
0
-1
24
0
0
-7
0
0
0
-59
0
-2
0
-3
0
0
22
0
0
1
4
0
0
-6
0
-5
0
0
0
0
28
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
16
-53
0
0
-3
0
0
0
77
0
0
0
0
0
0
98
1
0
-8
0
0
0
4
0
0
5
0
0
0
-69
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-48
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
-9
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
-1
0
0
0
16
0
0
0
0
0
2
72
0
0
-1
0
0
0
-2
0
0
0
0
0
0
8
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
-4
0
0
0
0
0
0
43
0
0
1
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
10
0
0
0
0
5
0
0
0
0
0
0
16
0
4
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
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
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
9
-38
31
76
-4
71
23
0
-5
43
0
57
10
7
-48
100
-7
16
32
50
8
10
1
45
82
18
16
7
-2
-16
-13
-10
-28
22
6
25
64
30
-2
-45
-32
-20
11
-75
-10
20
-41
4
23
21
-3
5
-36
2
0
0
-8
-5
0
-22
0
0
48
19
-11
45
-14
5
-9
-3
3
51
-24
2
-10
57
52
-8
-5
6
21
-6
-3
-4
2
42
-21
23
-3
-41
6
1
-24
-99
8
-5
-22
39
-4
6
34
-9
16
-1
-9
4
59
-44
34
87
-1
-6
46
16
-1
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
-29
0
0
0
0
0
0
12
0
0
0
0
0
2
-71
0
0
0
6
0
7
5
0
0
-1
0
0
0
75
0
0
0
0
0
0
46
0
0
-2
0
0
0
39
0
0
0
0
0
0
-34
0
0
0
0
0
0
55
0
0
0
0
0
0
12
0
0
0
0
0
0
28
0
0
0
0
0
0
-58
0
3
2
0
0
-7
20
0
0
-8
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
24
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
13
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
10
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
1
0
0
0
0
0
0
6
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
-9
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
6
0
0
1
0
0
0
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
-50
0
0
-6
0
0
0
-46
0
0
0
0
0
0
-16
0
0
-6
0
0
0
-34
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
-29
0
-1
0
0
0
0
15
0
0
-3
0
0
0
-13
0
0
2
0
0
0
-13
0
0
0
0
0
0
-35
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
13
-14
0
2
-5
-5
-6
-50
20
1
11
92
73
7
35
0
-1
23
29
-52
0
-17
-41
0
10
-71
8
12
38
-33
27
-4
26
3
-6
0
-21
-7
-3
67
18
-26
0
-12
0
11
0
1
5
1
65
-4
0
10
7
0
1
0
0
23
4
14
0
29
46
8
0
17
-15
6
31
95
0
-1
-92
28
0
-11
-2
-8
-30
74
18
0
-2
9
0
63
-22
-5
6
1
76
-1
-12
17
2
-6
0
15
-3
-20
0
0
-12
0
13
0
-7
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
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
28
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-5
0
0
0
3
0
0
35
0
0
-19
0
0
0
92
0
0
0
0
0
0
-27
0
0
2
0
0
0
-1
0
0
0
0
-5
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
9
0
0
-3
0
0
0
47
0
0
2
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-31
0
-6
0
4
1
6
-21
2
0
7
0
0
6
19
0
0
0
0
0
0
5
0
0
-7
0
0
0
-2
-1
0
0
0
18
0
-23
0
0
0
0
0
0
-16
-20
0
0
0
0
0
19
0
0
0
0
0
0
57
0
0
0
0
0
0
-31
0
0
-6
0
0
0
-50
0
0
2
1
0
1
-43
0
3
0
0
0
0
-24
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
49
0
0
-5
0
0
0
37
0
0
-20
0
0
-1
69
0
0
-4
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
-5
0
48
0
0
0
0
0
0
-5
0
0
0
0
0
0
-49
0
0
0
0
0
0
-13
0
0
0
0
0
0
-31
0
9
-2
0
0
0
11
0
0
0
0
0
0
-8
0
3
3
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
13
0
0
0
-46
0
0
-2
0
0
0
-6
0
0
3
0
0
0
1
0
0
-10
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
19
0
1
0
0
0
0
27
0
0
0
0
0
0
17
0
0
-1
0
0
0
27
0
0
9
0
0
0
-6
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-17
0
2
0
3
0
-2
48
0
0
-3
-9
0
-3
46
0
0
0
-11
0
0
3
0
-5
0
26
3
0
0
0
-24
0
94
0
0
0
0
0
0
45
1
0
0
0
0
0
31
0
-5
0
0
0
0
44
0
0
-7
0
0
0
83
0
20
1
0
0
0
90
0
-2
13
-1
0
0
-17
0
29
2
0
0
0
67
0
0
0
0
0
0
-53
0
21
0
0
19
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
8
-48
1
7
-33
-1
85
-11
16
-46
-29
71
82
88
3
-6
-31
0
34
8
32
47
-18
18
-21
22
-14
-32
-9
-91
-2
21
46
-17
-5
0
9
-12
30
-8
3
-4
0
3
-5
7
10
9
-2
-1
37
33
0
47
0
48
25
0
-6
-24
5
27
0
-4
-17
19
68
-33
-26
6
-24
34
-51
-17
16
60
10
8
-32
-10
-31
7
44
-25
16
-41
-2
30
15
-13
3
-1
-7
-1
-39
25
27
-59
-1
46
25
-20
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
19
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
0
0
0
0
0
0
0
-10
0
0
0
0
-4
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
-8
0
0
0
0
0
0
-3
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
29
-21
0
0
-4
38
0
-10
16
-1
8
-5
0
0
-5
31
4
1
5
-13
0
1
42
0
0
-6
0
0
0
64
-1
0
0
0
4
0
18
0
0
0
0
5
0
67
-5
0
0
0
0
0
114
0
0
0
0
0
-5
35
0
0
0
0
0
4
-16
0
4
1
0
0
-4
-60
0
0
-7
0
0
-1
-72
-7
5
1
0
0
0
-11
0
0
0
0
0
0
-70
0
20
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
18
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
-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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-23
0
0
-3
0
0
0
11
0
0
8
0
0
0
54
0
0
2
0
0
0
-19
0
0
0
0
0
0
-47
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-39
0
0
0
0
0
0
37
0
-8
0
0
0
0
5
0
0
4
0
0
0
11
0
0
0
0
0
0
1
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-6
0
0
14
12
0
-7
1
4
0
0
-30
0
0
-4
0
0
0
45
1
-2
0
-15
-3
0
6
6
0
0
0
0
0
20
-2
0
0
0
0
0
-10
0
-20
2
0
0
0
26
0
-2
4
0
0
0
38
0
-8
-1
0
0
0
61
0
-4
2
-6
0
0
29
0
-2
11
0
0
0
-45
0
0
0
6
0
0
43
0
-29
0
0
-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
13
-28
5
83
-36
74
22
12
-46
-14
34
17
9
35
2
29
-8
-28
-4
-4
41
2
-55
2
2
2
61
44
10
-13
0
4
-18
12
-10
0
72
-7
31
-2
10
0
0
20
0
-57
-20
-15
-10
107
-43
0
-3
-121
-3
0
-71
0
4
19
-69
-57
0
16
-4
13
-119
-22
-14
0
87
4
0
1
47
52
-12
4
12
9
31
23
-16
9
0
-7
24
54
-5
66
72
0
37
-33
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
0
0
0
67
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
6
0
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
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
5
4
0
0
4
0
0
0
-27
0
0
5
0
0
0
-39
0
0
0
0
0
0
7
0
0
0
0
9
0
161
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
52
0
0
-1
0
0
0
-1
0
0
1
0
0
0
23
0
-5
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
45
0
0
-11
-2
0
7
10
13
0
1
18
1
2
-4
0
0
1
-16
2
0
-6
0
14
0
-96
0
0
0
0
0
0
69
-4
0
0
0
0
0
-35
0
10
0
0
0
0
26
0
0
11
-7
0
-6
-46
0
90
1
0
0
1
4
0
-17
4
22
0
-7
49
0
27
-22
0
0
0
30
-3
0
1
12
0
0
-6
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-21
0
0
1
-5
0
0
68
0
0
4
4
1
0
0
0
0
0
-13
-1
0
0
0
7
0
20
0
0
0
0
0
0
-8
-2
0
0
0
0
0
-10
0
8
0
0
0
-3
13
0
0
-31
0
0
0
-11
0
0
11
0
0
0
5
0
1
6
0
0
0
-20
0
0
-4
0
0
0
84
2
0
0
0
0
0
98
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-8
0
0
-4
0
0
0
21
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
-3
0
0
0
0
0
0
-8
0
0
3
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
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
11
-40
0
-1
63
0
0
0
16
0
0
1
0
0
0
-9
0
0
0
0
0
0
42
6
0
0
0
0
0
-32
0
0
0
0
0
0
26
0
1
-2
0
0
0
19
0
0
3
-1
0
0
-17
0
-30
-2
0
0
0
-22
0
-5
-34
-8
0
0
12
0
32
0
0
0
0
126
0
12
-6
-2
0
0
51
0
18
3
0
0
0
101
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
45
-71
14
29
-4
-1
13
51
42
-4
-31
-9
-10
-12
9
3
47
-72
6
-7
-42
-10
8
-26
11
0
22
58
5
0
14
-1
1
-42
1
36
72
-14
-29
1
16
-7
14
-1
-26
-2
-11
66
2
30
57
40
9
-53
0
10
30
-10
-52
0
15
20
-10
41
-20
43
-32
5
-17
34
84
25
6
9
-10
7
28
6
-4
33
28
0
-39
-1
32
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
7
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
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
-1
0
25
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
-1
0
-13
2
0
0
0
10
0
0
6
0
0
0
3
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-5
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
-13
33
0
-96
69
-11
4
1
-6
0
0
1
7
-2
0
35
12
6
-7
-2
80
0
40
0
0
0
0
0
0
61
15
-9
0
7
0
0
25
0
-13
4
0
-2
-1
-19
0
-6
-5
5
0
-1
-19
0
17
-7
0
0
-7
19
9
-9
65
-10
0
16
-130
0
-1
7
14
0
21
-42
1
-1
-6
1
-9
0
-73
3
83
5
-2
-5
0
23
-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
5
-55
0
0
-5
0
0
0
32
0
0
0
0
0
0
-12
0
0
0
0
2
0
48
0
0
0
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
1
0
0
0
0
54
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
-18
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
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
-2
0
0
0
10
0
0
0
0
0
0
0
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
-3
0
0
3
0
0
0
-10
0
2
-4
0
0
0
38
0
0
0
0
0
0
-9
0
0
0
0
0
0
22
0
0
0
0
0
0
30
0
0
2
4
0
1
12
0
8
7
0
0
0
17
0
4
9
0
0
0
-18
0
-36
0
0
0
0
-72
0
0
0
2
0
0
-56
0
-14
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
21
35
66
-3
-2
-6
29
-6
29
65
34
77
-8
24
9
-25
6
-17
1
0
-56
-1
-5
-3
5
0
7
33
48
81
21
41
20
-9
34
0
25
53
50
6
32
4
-33
53
-10
-12
25
-69
35
38
-93
54
-27
11
-28
0
1
-64
8
5
0
-12
-24
6
-12
-30
-6
10
-9
43
28
65
-10
13
-22
0
11
-15
3
9
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
9
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
-3
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
12
0
-14
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-5
0
0
0
0
-1
0
36
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
3
1
0
0
0
6
0
0
-5
0
0
2
30
0
-16
-2
0
0
3
-23
0
4
4
8
0
0
-3
0
9
4
0
0
0
-28
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
6
0
33
4
0
-1
-3
3
0
7
-5
0
0
0
1
0
7
5
0
0
0
0
6
-24
0
-12
-1
0
0
-2
-27
0
0
0
0
0
20
48
-4
-36
0
-9
0
5
-26
0
-4
-5
0
0
0
-2
0
8
-6
1
0
0
-24
2
4
0
0
0
-2
-15
3
-28
0
0
3
0
18
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
26
0
0
0
0
0
0
48
0
0
-3
0
0
0
61
0
0
0
0
0
0
19
0
0
0
0
0
0
-11
0
5
0
0
0
-2
-33
0
0
1
0
0
0
10
0
-4
6
0
0
0
-17
0
0
3
0
0
0
2
0
6
-7
0
0
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
-5
0
3
-7
0
0
0
-11
0
0
10
0
0
0
40
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
45
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-21
0
-1
0
0
0
0
1
0
0
-2
0
0
0
-4
0
2
8
0
0
0
-4
0
0
2
0
0
0
-11
0
0
-8
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-13
33
12
-4
52
-6
-7
-7
-14
25
-16
7
-4
-4
0
3
0
11
-9
29
-18
44
-5
0
-28
-27
8
25
-36
-93
0
15
-49
-16
8
-7
20
4
4
7
30
80
-29
-72
13
-4
41
-2
12
21
4
-8
-23
0
1
-61
-55
42
0
-9
15
2
70
34
0
12
0
22
-3
55
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
-10
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
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
0
4
0
0
0
0
0
0
-2
0
10
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
53
0
0
-1
0
0
0
1
0
-11
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
5
0
0
0
0
0
0
-34
0
0
0
-5
0
0
13
0
6
0
0
0
0
25
0
0
12
-2
0
0
-14
0
-3
12
0
0
0
9
0
0
0
1
0
0
17
0
15
0
0
0
0
6
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-51
0
0
1
0
0
0
15
0
0
0
0
0
0
5
0
11
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
14
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
6
13
0
0
1
-4
0
-41
0
38
5
0
-9
17
18
0
0
-5
-15
0
-54
59
-13
-87
7
0
0
-44
-17
11
21
27
44
1
7
-2
0
-90
23
10
0
0
13
0
-11
43
-1
0
2
0
3
47
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
10
0
0
0
0
0
-2
0
-1
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
-3
0
0
0
4
0
2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
21
0
6
0
0
0
0
71
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
-1
0
1
0
0
0
0
-10
0
0
0
-2
0
0
-7
0
6
5
0
0
0
-10
0
0
0
0
0
0
3
0
1
5
0
0
0
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
10
0
0
0
0
47
0
0
-14
0
0
0
2
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
10
0
0
0
-2
24
0
0
-6
0
0
0
11
0
-2
-17
0
0
0
-32
0
-5
103
4
0
0
66
0
16
-3
0
0
0
57
0
6
-3
0
0
0
79
0
-25
0
0
0
0
54
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
37
5
0
-3
16
-34
41
6
28
0
15
-3
32
-10
63
25
3
-1
3
-32
-60
-7
-20
-48
-1
-31
27
-15
2
27
91
0
29
12
-8
-38
8
9
-4
-42
30
-30
28
104
12
-7
-3
-26
10
-67
-45
1
57
0
0
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
0
0
0
0
0
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
-2
0
0
0
0
0
0
7
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
7
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
44
41
0
-7
0
-65
0
-1
12
-9
0
-1
-9
0
74
41
1
0
18
59
-5
2
-32
-9
8
-5
-14
-3
76
52
17
0
-4
-8
0
-2
-3
17
0
2
-19
0
-12
0
0
11
0
80
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
80
0
0
-14
0
0
0
-11
0
0
-6
0
0
0
12
0
3
0
2
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
5
6
0
9
2
0
0
-26
0
0
7
74
5
2
-42
-1
0
2
-41
7
-25
-16
0
0
0
83
0
18
5
-4
0
0
-10
0
23
11
24
9
0
48
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
-26
0
-5
1
0
0
0
29
0
-1
-11
0
0
31
23
0
2
1
-7
0
0
77
0
2
0
0
0
0
31
0
0
5
-8
0
0
59
0
27
-3
0
12
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
16
0
0
0
0
0
0
-2
0
3
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
-29
0
0
0
1
0
0
5
0
0
-10
0
0
0
-14
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-147
0
-46
-19
-7
-2
102
75
27
-13
-6
14
0
-17
11
0
-41
-16
3
-3
0
19
24
-5
-29
0
0
0
34
0
42
1
22
-5
0
-1
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
-4
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
49
0
0
8
3
0
0
15
0
-1
0
0
0
0
-4
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-55
0
-2
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
8
-16
52
-3
0
21
-9
5
73
72
-5
-1
6
-14
-1
-22
29
21
-3
-11
15
0
-74
-8
0
-2
0
-21
-1
47
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
9
0
2
-73
0
95
21
0
0
0
-28
2
7
2
-8
0
0
-62
0
9
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-4
-3
0
-1
-17
-6
22
3
0
0
0
-9
0
1
-3
0
0
0
-23
0
-7
0
0
-7
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
-15
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
108
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
7
83
-18
0
21
10
1
31
-37
-3
-3
2
-2
0
-19
0
0
-4
0
-45
65
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-9
0
0
0
-10
0
0
0
0
0
0
-106
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
-2
16
0
45
-21
-2
0
0
-23
0
0
3
-6
0
0
1
0
4
0
0
5
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
40
0
-12
8
0
0
0
7
0
8
0
0
0
0
68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-8
17
18
-7
-2
30
3
67
-6
0
12
0
57
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
0
0
-38
0
0
13
24
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
-69
0
0
0
0
0
0
-64
0
11
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-7
23
32
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-46
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-10
-11
6
107
126
164
84
142
0
0
0
0
0
0
0
0
20
-1
62
2
-12
10
14
7
-20
-1
7
0
0
26
26
36
8
-3
-19
-12
65
-15
0
0
0
-7
-18
0
0
0
-7
-3
-12
-1
0
-1
1
-6
0
-2
-4
0
-7
0
-2
-2
1
0
2
2
-13
3
0
0
0
3
4
0
-1
1
-3
-1
0
-1
-2
-10
-74
-3
0
-3
-48
-52
-32
-1
-48
-28
-6
-71
-13
22
76
-38
-112
0
-42
-36
-29
-215
-165
-87
0
-3
-28
-3
-2
34
-5
-55
0
14
35
-2
-22
6
10
7
-1
-7
22
10
15
5
-11
0
-8
71
1
5
-2
4
43
7
7
48
24
37
14
5
0
55
55
15
6
32
33
98
8
6
42
31
7
2
0
-1
0
5
-2
0
0
0
0
0
-1
-1
2
1
6
1
1
-1
22
0
0
0
-1
2
0
1
-2
0
5
1
2
0
11
5
7
0
4
0
4
-1
5
4
-1
30
-220
-2
0
0
-96
-169
-114
-4
0
-78
-122
-236
-169
-87
-49
-56
-134
0
-72
-30
-71
-220
-197
-288
-61
-76
-47
-83
-61
-59
-5
-19
0
14
-20
-3
-20
-18
-40
4
-1
-1
9
19
20
17
18
0
11
75
11
0
15
58
71
0
26
16
75
42
20
27
0
80
7
52
21
29
171
101
8
22
81
92
127
-34
0
0
0
-62
-6
0
0
0
-20
-8
-35
-57
-19
-38
-14
-10
0
-4
84
22
-2
15
-19
-16
-7
-29
20
-17
41
68
227
0
7
-2
40
65
48
92
-31
30
66
196
97
3
-81
0
0
0
-5
-29
-2
0
-1
65
-37
-60
-99
-56
-21
-57
-51
0
0
-78
-3
-56
-12
12
-45
-14
-77
-73
-71
-41
-23
34
0
-91
63
-13
-7
26
-120
-35
-14
-18
-51
-30
8
-37
-31
0
14
-10
1
-22
-24
-49
-42
-15
11
36
-55
-6
42
43
0
32
0
36
-3
-19
30
2
0
-7
69
-43
-5
-17
-5
-4
-1
5
2
7
15
17
5
10
0
-2
2
-6
-3
-8
3
-42
3
54
-22
35
-76
-31
-13
-2
0
-37
-18
-49
-68
-69
-19
2
18
0
0
0
-15
-59
-1
-70
3
-7
-1
-158
10
6
7
-14
-5
0
22
-4
-6
-95
11
2
-73
-27
-42
-2
-1
-2
9
6
3
20
8
21
38
6
8
-26
0
0
7
35
-54
21
30
14
-9
-2
0
5
21
32
26
-18
22
-9
0
0
0
1
-29
12
-31
-14
-2
42
14
2
9
-14
2
1
4
5
-16
3
7
-19
42
-14
14
16
-64
0
-6
-28
-42
-41
-61
-2
2
-3
0
0
0
-7
-28
41
-10
6
-2
0
0
0
-1
-35
58
9
107
-2
-40
0
0
0
0
0
0
0
0
0
0
-108
-62
-18
109
251
-145
7
7
170
342
-53
-34
2
92
155
-132
-67
31
80
156
-73
-65
-15
26
31
-52
-30
-14
-18
-33
0
0
0
0
-1
-196
-89
-1
-1
12
-13
-9
-10
0
9
-72
23
29
79
144
-87
-4
-10
38
76
-82
-43
-4
3
29
6
-28
-16
-1
-6
-23
-5
-33
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-116
-54
2
67
114
112
26
0
0
-146
-31
14
125
101
29
0
0
0
-117
-33
-7
30
44
44
0
0
0
-109
-53
2
14
86
101
0
0
0
-36
-22
-29
-5
-4
-14
-51
-31
-92
-17
-30
-23
-32
-27
-38
-50
-44
-74
44
31
26
12
4
6
-2
0
0
-99
-50
3
37
43
6
1
3
-35
0
31
39
21
-1
-1
2
-4
-38
0
-92
-41
19
-2
-12
-25
-24
-15
0
0
-19
-12
-2
15
-6
-31
-8
-60
-4
-4
36
14
-3
0
-1
-64
7
59
59
-1
-9
3
-9
-26
-33
40
-5
-2
4
-4
-4
-1
-18
-19
0
2
-43
-10
-44
-2
14
21
13
-7
-66
-68
-56
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-21
-48
12
-29
-63
-5
-37
-2
-11
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
1
29
89
48
-76
-68
-17
-20
-73
-82
25
-70
-190
-91
-12
-53
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-47
-1
57
-41
25
14
-43
-45
-18
-17
-52
-34
-52
17
-31
24
-17
-7
-84
-41
-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
1
16
28
1
10
-19
-18
-42
-23
2
-25
-5
-7
-18
-1
0
-2
1
-22
26
-8
-14
5
-23
62
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
-2
22
8
48
1
-19
-15
-10
-31
-5
-3
6
-6
-6
2
7
5
-2
0
1
8
33
17
41
35
35
15
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-39
-6
-17
-19
-16
-4
-3
-6
-4
-3
-5
4
11
4
19
23
10
16
22
24
-5
52
44
44
26
43
-87
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
-2
-31
-45
-41
-11
-16
-7
1
-7
-2
-9
-2
0
2
-1
12
-2
7
19
25
22
34
33
53
29
50
31
50
96
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-96
8
-21
13
-5
-10
23
15
5
-6
-2
-6
5
13
16
23
38
26
26
33
41
47
48
102
59
42
127
0
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
43
-44
31
-45
91
-15
21
5
5
11
-1
8
6
6
9
16
19
26
20
25
17
31
20
12
27
25
27
15
-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
-4
-16
1
-9
-26
13
12
5
16
0
11
10
7
-1
13
-7
0
19
5
36
6
3
58
78
18
6
33
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
2
3
0
57
22
15
-32
9
5
10
10
-4
-2
-6
-5
0
-15
6
-7
-2
-13
-19
-33
-14
-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
5
12
-54
-5
-1
-6
-3
-6
-5
-9
-13
-45
-13
-32
-43
-39
9
37
90
10
-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
-14
-10
-17
-6
-39
-28
-27
-84
-54
-118
-109
-111
21
-32
-6
-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
1
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-2
-10
-16
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
-5
8
16
9
7
-3
-2
0
-5
6
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
2
-9
-8
23
-48
2
32
-26
-5
22
-13
-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
-1
-3
2
-2
6
19
-24
-4
3
-9
12
-3
-16
-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
-6
-2
-7
-1
1
7
5
8
2
4
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-3
0
-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
11
2
6
5
2
17
24
3
8
5
12
-2
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
1
-1
-7
-7
-17
38
11
-50
-27
-1
-37
61
-43
-1
12
-3
-10
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
0
14
1
-4
16
1
-13
-32
-25
38
38
-18
-60
-2
-25
-1
19
-7
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
4
-4
2
-4
35
74
33
-24
3
4
5
-6
5
12
3
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
-1
-9
10
2
10
5
-6
-8
-6
-9
7
-1
0
11
-12
-5
-7
-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
1
-1
-1
1
0
0
-1
0
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-14
-25
15
-2
-16
1
13
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
-11
9
4
33
-16
41
11
0
-16
-16
16
-19
31
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
1
-2
25
-12
18
-51
35
35
7
42
-48
7
-29
2
-7
-2
-4
-1
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
-3
1
-2
-3
1
11
-11
-10
27
-14
-31
6
-20
-16
20
-76
-26
22
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
-1
0
0
8
2
-1
4
-6
6
-14
-51
16
-20
17
39
19
11
8
14
-2
-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
1
0
0
10
3
2
9
-6
1
3
-4
-4
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-6
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
2
-4
2
0
-1
17
-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
1
0
4
-5
-4
1
-15
4
0
12
14
10
15
-26
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
3
-1
-11
-2
24
-28
0
10
9
-23
-4
-23
29
53
-3
16
7
-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
-2
-1
-4
-23
39
-7
-26
24
-39
-38
8
-16
-36
-9
-35
43
-16
-20
6
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
-21
58
-31
77
80
-54
2
-32
11
53
1
77
25
20
60
-17
6
-6
11
-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
-2
-9
-11
14
-26
-17
12
-52
-25
-9
26
-8
5
-3
11
-21
-2
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-4
13
1
-4
-3
-26
-5
-27
10
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
8
-4
-1
-1
0
-8
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
-2
1
1
-3
-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
1
-1
-17
7
-6
7
12
-3
-21
-1
7
8
-24
4
-6
-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
-2
2
4
-14
-7
38
10
-14
18
-9
-39
16
17
12
15
-8
-4
-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
1
-4
43
61
10
-60
-22
22
1
34
35
-51
6
34
-39
-6
24
-25
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
24
-10
34
40
25
-50
11
53
0
32
44
32
28
14
4
-28
-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
12
11
2
20
12
-16
-36
-16
-1
-21
50
-19
-28
-26
-24
-42
20
59
-3
-5
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
-12
15
21
-29
11
1
-1
31
47
83
-33
68
-9
-20
-46
-18
-11
4
-10
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
-2
-2
-14
-7
-49
11
27
-8
17
-5
37
24
-11
-3
-5
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
2
17
-5
-2
-2
3
3
24
-16
-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
-1
0
0
0
0
0
2
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-3
3
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-23
13
-16
9
16
12
-29
-8
4
-1
9
-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
10
-2
-7
-21
50
40
-45
-31
17
-27
-25
-13
-55
-17
32
42
12
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
2
-47
-5
6
-29
-36
-55
-38
-42
-21
58
12
-8
38
-20
-6
68
-98
23
8
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
14
41
11
0
-147
-24
80
-19
-12
48
-93
-102
-116
16
-65
5
37
56
23
-39
-2
-50
26
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
-2
-5
-51
13
-11
-23
79
-36
0
-56
12
-92
-65
25
26
-57
-56
-97
58
-40
-25
-23
22
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
-33
8
63
-53
89
17
-61
-9
25
26
18
-166
34
-27
-8
130
-19
-3
37
0
51
-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
4
1
33
-31
28
28
-31
-55
-139
-76
-16
-102
20
42
-63
-72
-4
-44
80
-28
-13
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
0
0
0
0
0
0
0
0
-8
-5
32
-50
-65
-8
-9
137
-43
-42
84
-64
18
0
-15
6
96
-50
-12
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
7
-18
5
-26
6
6
20
28
33
-38
-25
40
-18
8
-44
-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
2
0
-2
-3
3
5
1
-4
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-9
2
3
-6
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
2
-21
-9
15
-14
5
16
18
42
38
-40
-24
21
-5
-29
-14
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
-20
98
-61
37
-22
-66
38
-31
-16
-57
63
42
-8
53
52
-5
41
-26
-22
-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
25
-2
26
41
42
-61
4
26
-15
-22
9
-6
-28
24
4
-84
-42
9
-19
47
12
28
29
11
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
4
9
80
-31
-29
-71
50
37
3
-67
-52
37
-10
83
10
-48
-24
32
-41
-18
39
2
30
37
22
12
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
-33
-41
0
22
64
74
10
-57
-9
-5
-30
-7
-27
36
53
27
-25
44
-12
43
5
77
-33
64
-8
89
78
24
-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
-1
-40
9
47
81
2
13
97
6
66
-10
71
94
57
14
16
23
-1
18
-1
20
30
28
-17
11
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
-49
-18
-53
-20
-102
94
32
46
53
25
19
-9
-3
-2
4
3
-20
-11
41
45
-20
27
-58
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-7
-6
-73
27
-73
-3
5
19
10
-3
6
31
33
4
-26
32
26
16
0
26
56
-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
2
0
0
28
-16
-42
-41
4
22
-31
-4
-1
11
17
18
-13
-1
-19
-20
54
27
-44
24
-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
9
63
4
-9
37
-20
11
12
-16
-21
-21
-87
37
10
111
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
24
2
-7
-12
-11
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
-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
0
0
0
0
0
0
0
0
0
-10
4
-41
53
-73
-20
-24
-100
-34
-43
-183
-73
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-38
61
-45
-81
-95
-54
-112
-21
-63
-64
-31
-31
3
-8
-64
-26
-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
-2
-67
13
-18
-55
-75
-23
-30
-71
-94
-73
-65
-28
-18
-6
22
47
10
3
34
22
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
-38
41
-107
-62
-25
-47
-79
-59
-41
-28
-16
-3
13
21
7
25
-6
13
11
-5
1
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-97
-9
42
-3
-4
-52
2
-15
-9
-12
-10
-1
-7
14
9
8
23
24
31
24
65
7
22
18
43
56
-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
6
-121
-15
5
11
-3
-1
-21
13
-7
3
-1
8
5
29
20
16
20
35
18
42
23
40
29
56
27
44
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-85
45
-6
3
-15
22
-5
-5
12
11
14
15
12
8
11
11
3
25
25
23
21
43
36
7
11
24
48
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
22
-79
15
18
27
13
11
8
8
2
10
15
14
13
15
25
29
28
25
23
50
54
125
57
-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
1
-7
11
-102
62
33
28
24
7
18
9
-6
2
8
0
18
16
3
17
-7
12
32
87
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
8
78
31
54
69
21
17
13
-2
-4
-9
-9
-8
-4
-10
-4
2
-57
32
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
4
-25
5
-18
-9
-3
-22
-16
-13
-28
0
-35
-48
-28
72
-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
-29
-28
-47
-52
-21
0
5
-38
-66
-19
-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
-50
-10
-48
11
-22
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
54
-60
-125
18
75
-28
4
78
-23
-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
12
-46
14
104
36
-53
-55
-53
-9
9
-31
37
57
72
41
14
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
1
17
43
7
-62
-12
-18
18
11
4
14
-1
41
21
37
21
27
2
-38
-39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-30
-18
-21
-32
-27
0
-2
-1
0
12
16
16
6
9
-5
-2
-12
-49
94
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
3
-27
-43
-18
-5
-13
-3
10
10
10
15
15
6
19
2
-9
13
125
-51
-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
-22
-8
4
-50
-24
-24
-8
5
8
9
8
-2
7
17
10
22
20
31
5
-7
-24
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
-4
34
-25
-22
-31
-8
-5
-34
-18
-6
-11
3
7
3
6
28
32
29
-8
68
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
7
3
131
45
-42
-38
-43
-22
-75
-33
-49
1
63
62
76
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
-10
-20
-17
-4
-1
-7
-6
-6
-41
-34
-25
-15
-4
5
1
23
26
11
-20
-50
-28
-21
-6
-8
4
0
-26
-60
-31
-14
-15
-18
-1
4
1
-75
-45
-29
-27
-13
-9
8
14
26
31
43
52
60
74
41
-13
0
0
-13
-18
-18
-27
-9
-5
-11
-1
2
2
2
0
-22
-20
-48
1
0
0
-14
-5
9
-12
-3
-12
-36
5
-61
1
7
-13
-12
-24
-23
-39
0
0
0
-15
0
2
10
-12
5
-26
11
10
-3
-51
-15
50
69
18
1
18
6
-24
-3
9
7
1
3
0
-14
10
39
43
73
107
-28
34
17
-3
-6
5
6
0
-8
-17
0
-1
6
9
45
-5
-3
-72
79
12
9
8
7
2
1
-17
3
16
-4
37
31
-35
-11
134
10
-7
52
7
-4
20
1
-9
-31
15
0
4
-10
-8
-112
-30
39
0
51
41
10
-24
-3
3
-6
-15
1
0
0
7
-25
-10
-5
11
47
17
37
2
2
10
8
-29
-3
-14
0
1
-1
17
16
28
-110
42
38
87
2
34
14
-4
-7
-21
-5
0
0
-1
-4
-3
-2
8
11
-15
101
137
-37
55
3
11
-44
25
-7
4
-16
11
47
0
35
31
0
-108
-17
-27
-2
-8
3
5
20
-4
3
14
-23
80
3
-22
78
0
27
-24
2
4
5
0
21
-5
-1
28
11
24
-2
-26
42
9
19
-49
0
6
-6
2
2
3
4
3
63
-7
-4
-41
-105
50
-18
-12
64
-13
2
6
14
12
3
8
5
18
14
12
-13
26
21
-32
11
18
-9
-5
13
19
1
-2
10
-5
31
-18
-3
-32
-38
32
8
5
41
28
19
13
12
-7
8
-23
0
-4
-7
-25
-29
-18
64
7
5
-26
-3
4
-21
6
-26
-13
-6
-1
7
-18
40
-41
23
23
7
25
-24
-43
-5
18
-8
-3
-3
-24
0
4
0
-9
8
23
5
-37
-10
-8
-4
44
29
25
7
0
-6
29
-28
-3
-36
1
-36
29
0
0
0
3
26
13
-23
79
19
-129
31
-88
-49
24
59
24
22
-10
42
1
27
-37
-8
-52
79
-42
-30
4
84
-19
36
-113
14
122
36
6
-10
8
5
34
38
-9
-2
-27
51
-13
20
23
-10
-4
86
-14
26
33
27
9
42
33
-1
-38
9
-4
38
51
33
70
31
88
11
25
8
4
-29
25
-15
50
3
-8
-3
39
9
29
62
-10
-29
15
19
21
-6
-15
8
-9
42
-51
105
5
86
-52
9
2
103
29
55
15
-15
21
28
3
6
-18
7
42
7
31
39
14
32
74
53
40
-10
-4
-14
19
50
11
-45
-9
24
0
2
-4
-21
5
25
-49
38
9
19
-11
-68
-51
43
-83
90
151
81
-23
-48
-58
25
9
27
25
0
-14
43
3
-5
29
31
6
-31
37
-5
-42
-2
-16
-19
-15
63
0
63
-38
-43
-32
-47
6
16
4
34
54
-22
25
-54
10
7
17
48
-4
-70
-16
-24
-2
36
-4
47
64
-8
-30
-18
-10
-8
7
-2
27
19
-3
-12
-7
28
0
-14
-46
-18
-42
38
2
30
-34
9
18
11
2
-26
-32
25
52
-15
2
10
7
-16
53
-10
-36
-37
22
43
14
-4
-5
-17
25
34
4
-7
102
-48
-29
7
35
32
3
9
8
20
22
90
62
19
-16
-17
-17
-13
-16
2
-47
-86
-10
14
98
22
58
4
13
-34
-15
35
67
82
30
0
-2
-9
-43
-19
63
-71
24
-5
24
77
36
75
35
18
63
51
65
74
50
17
16
34
4
-74
0
22
-14
-3
-51
-8
-37
-3
0
-19
79
27
14
21
-4
-1
1
28
-5
-52
-4
7
-77
-47
-16
-1
55
45
46
25
1
-8
-4
9
-5
25
7
-13
51
41
-3
-12
6
150
1
32
28
4
6
7
-11
1
-2
-21
44
25
-38
-35
3
0
-1
63
53
30
7
5
1
-1
-8
-15
27
-43
0
4
6
-1
0
83
19
53
27
14
8
4
2
-6
-29
-38
-46
-32
34
3
-1
-1
52
48
38
22
15
-2
-1
-2
-12
-21
-10
-80
-28
-72
1
2
0
84
-1
32
20
55
21
-3
-4
-23
-5
-3
53
-2
9
-2
0
0
108
190
54
5
-66
20
24
-38
23
-1
99
8
-13
1
2
0
0
74
-10
9
-47
8
-15
-6
0
0
7
9
38
11
4
50
-25
0
30
-9
13
-21
-17
5
-5
1
1
-7
16
12
-10
25
74
-18
-2
-4
25
6
65
5
18
-1
4
0
4
-9
13
41
-59
54
7
-1
1
-22
10
-18
0
3
3
-2
-1
4
9
-11
42
3
-24
-24
-2
26
-24
21
-27
17
-1
11
5
-2
1
-13
3
-19
4
-12
-56
0
-13
18
29
25
-28
4
19
9
3
8
-2
-23
74
22
-55
-38
-1
13
-9
-5
-43
2
16
8
3
2
-10
-16
15
29
-23
-27
-7
-1
-34
12
-9
54
27
-2
-8
-2
-4
-22
34
31
46
-15
-13
-1
0
19
-30
-6
44
12
-9
19
1
-31
44
-54
36
19
-26
-1
0
0
19
24
28
0
-21
31
18
-2
0
52
-18
27
-3
34
5
-6
-1
9
9
22
-22
28
20
-32
5
-13
19
0
-22
-26
75
11
35
-4
-19
49
41
32
2
8
-57
8
7
13
-59
-6
25
62
17
-9
3
-15
69
9
11
0
-10
2
18
9
-16
55
-5
-23
14
9
-13
-2
5
20
61
1
-2
-5
-25
18
16
-42
-58
-23
-5
-13
4
8
7
-9
39
22
25
1
-5
-25
-13
-60
52
12
43
-22
-1
1
1
0
10
13
24
20
-7
9
-7
-57
-18
1
28
-52
1
-2
-1
0
0
32
-2
28
30
25
-18
-15
-23
-5
19
-22
4
-6
-2
0
-2
0
-25
104
33
-28
26
29
21
-66
55
34
30
6
-7
-7
5
0
0
52
35
38
-6
26
-17
-5
14
0
19
54
-26
49
-4
-1
5
0
13
-17
15
72
-43
8
31
93
10
0
18
9
99
44
-8
6
1
-5
11
-21
8
61
61
1
11
41
-20
16
-19
100
2
2
11
0
-4
-23
10
-14
43
-31
19
-39
-24
-27
26
5
0
-13
-2
9
0
-32
1
3
50
-14
54
-1
1
24
22
14
27
-8
13
-1
8
0
21
-5
13
29
-2
20
20
17
20
24
37
3
-17
21
1
5
-1
7
39
5
-27
1
-40
-13
-25
-20
17
-6
36
-2
10
-1
4
0
-1
-39
-15
8
31
42
4
17
-16
-15
25
34
-1
8
-4
1
0
-13
-33
45
71
-94
-5
-41
-11
-87
-73
15
2
0
2
10
0
0
0
0
10
12
48
12
60
-27
0
25
29
31
4
13
3
-5
18
-7
-3
20
32
-38
-78
20
0
12
15
4
7
2
2
-2
-15
4
0
4
21
19
-55
23
-72
72
75
21
4
-3
-2
11
11
-1
11
1
11
11
-19
-26
-48
-33
30
35
11
-8
-6
5
-2
16
11
-4
0
10
-16
-3
3
26
-6
-8
-8
-3
17
7
7
12
7
11
3
1
-10
22
-17
71
13
-51
14
35
-1
-3
16
-36
1
10
-11
4
3
31
9
51
-20
64
-62
-18
-1
10
-12
5
-21
-24
23
-28
1
2
3
5
-20
-3
9
-6
23
-4
6
-3
3
-12
-40
-29
-24
19
0
-2
1
-4
-7
-50
34
23
-20
-6
7
-6
-9
11
34
15
0
0
-2
-28
73
-21
7
-116
-11
0
3
-8
3
-8
-10
-14
-15
31
2
12
-8
57
40
20
74
54
81
0
25
-15
-5
4
-4
-2
19
6
-22
-6
20
-47
80
23
22
45
15
1
0
3
5
10
-14
-1
7
8
11
-12
-7
24
-93
-13
-14
-18
35
11
-3
5
-4
-7
-7
-1
24
22
1
-21
12
22
4
-13
74
23
12
8
1
1
-7
-3
2
-2
13
13
-16
12
88
-5
-17
55
27
15
-4
8
1
-8
17
0
-1
-5
-50
52
-39
-28
16
46
12
-22
-6
-35
-12
-6
17
4
0
0
1
-7
5
43
47
42
-55
23
77
-20
-20
-18
-23
-2
-58
0
0
0
1
2
2
64
-14
28
44
-36
-24
-12
-14
5
22
-27
-2
-8
44
-57
23
-55
95
5
0
94
68
-17
28
35
38
-26
17
-8
80
7
-45
-102
-10
75
0
33
-14
-3
11
10
6
36
-7
73
16
-61
-12
22
-53
2
-12
72
90
4
11
-31
-16
30
42
30
-11
17
72
-16
-123
8
91
10
56
26
-19
27
29
-10
30
12
16
74
-7
-19
-20
-4
25
-47
-80
-9
23
20
18
-1
4
-3
85
39
-34
7
25
-9
-73
8
37
20
7
15
14
46
4
42
3
22
27
55
16
-25
-15
48
34
-93
-72
-28
-6
-1
9
-18
9
10
42
-22
-106
-17
-10
-28
0
71
-39
39
-31
-3
42
-21
7
9
79
-52
45
118
-2
-24
30
-62
23
18
79
-78
11
64
43
-93
-21
116
2
6
0
8
66
11
-1
6
79
-78
-4
0
10
19
-10
15
30
31
-11
69
14
19
16
9
-105
-14
62
0
54
0
45
-22
39
9
28
-22
54
-15
39
30
6
-33
12
-11
-2
38
35
-6
-45
29
15
44
7
36
-19
5
38
53
40
-31
-26
39
30
36
61
-12
-1
-7
3
-24
24
-1
-123
20
38
-25
46
-36
16
-22
44
29
-25
38
20
10
13
67
1
22
-8
-18
59
31
-41
18
-8
7
-2
6
11
14
0
34
-19
-3
4
3
-3
11
33
15
26
36
12
51
24
-4
-34
-13
-3
32
0
-8
68
17
34
46
8
-104
45
49
36
-44
26
10
52
-35
58
0
0
-15
20
-29
-32
42
-79
99
4
-16
-44
42
-75
-24
-59
-26
23
42
0
-25
-15
-8
-10
10
0
-5
0
-25
-48
3
-5
-4
0
15
47
18
-14
0
-3
0
-3
12
-11
9
21
-2
-2
1
-32
-1
-1
-34
33
21
-1
1
4
19
-3
-8
20
-26
-58
41
-31
-7
0
54
-16
26
6
-1
3
13
14
11
-1
11
-8
29
-23
12
0
-1
19
15
46
31
-4
14
5
4
2
0
-44
-35
-31
6
-1
-3
0
-26
21
36
5
15
7
16
2
4
-7
13
22
-24
3
-9
0
0
1
14
3
-2
1
10
6
25
-17
55
58
-59
-16
-9
-3
2
0
-25
-19
32
8
-21
-5
29
7
38
18
-158
-17
-19
-4
3
0
0
18
45
10
-8
12
25
22
5
27
-36
-3
0
0
0
0
0
0
2
35
-8
-12
-2
8
18
17
0
-3
-3
25
36
-66
33
-2
0
0
22
-18
-7
9
3
10
0
-1
-31
-25
-104
49
-1
-15
0
2
23
-14
-4
0
-8
16
12
5
5
-11
7
1
-81
-8
3
3
0
7
46
25
13
-12
-9
19
10
16
-1
4
-58
-22
-53
-16
-4
-1
-8
7
-20
37
-2
2
14
13
-1
17
-27
-19
-17
-10
-53
19
0
-76
32
15
22
5
4
31
23
6
3
-22
-46
73
-10
-35
-21
1
54
-17
5
-42
-30
-17
23
-4
-2
-19
15
-35
-41
0
-5
-5
1
-14
18
-42
-49
18
7
26
-8
-17
-26
105
-1
-17
-16
4
0
-4
0
-71
-12
82
51
-29
71
17
11
22
84
-7
1
0
0
0
0
-12
1
18
9
-3
31
12
30
0
28
51
-12
-8
3
-1
0
0
35
20
14
19
-14
-14
-6
16
29
-5
-70
-39
27
-17
-2
-6
2
22
-4
4
49
21
14
-19
-21
-15
-27
20
-16
22
-32
5
6
0
22
-1
10
6
18
10
41
-10
7
0
7
-63
54
1
-5
3
0
34
16
7
7
15
43
32
32
-6
-12
-51
27
-59
-7
2
1
0
-52
14
21
15
-22
16
28
-7
27
49
-74
-44
9
9
1
0
0
-57
3
-18
14
8
-3
6
7
77
-93
-74
27
10
0
0
0
0
-22
-19
39
-20
3
38
28
-14
38
-5
-18
1
1
-1
0
0
0
-10
-8
-118
7
26
28
-98
11
-6
21
5
0
-1
0
0
0
0
97
15
5
21
18
10
41
-6
0
-3
7
14
-52
2
-6
-10
0
38
37
16
15
3
-7
-6
6
-17
-36
-36
80
80
29
12
0
0
11
-9
39
51
4
6
6
4
18
-18
15
-77
64
1
14
-1
0
13
-22
17
22
-41
-24
48
7
16
22
23
-17
45
-18
4
1
0
29
40
40
57
-2
41
13
-16
20
23
24
-76
-17
12
-56
-1
0
71
-1
49
14
18
37
43
23
19
-12
-44
-29
-9
48
-12
3
0
-35
5
50
53
-16
-16
-15
-25
9
31
-31
41
-35
-40
80
-1
-2
-2
6
7
19
-37
34
-24
-7
18
9
68
45
-84
-21
-35
1
1
0
26
88
-25
-18
68
-19
12
-2
111
77
-48
3
-10
-9
-3
0
0
-53
24
111
34
-5
-1
-21
-1
-27
-20
-16
-38
-10
-17
-6
12
-14
-24
-29
-15
-8
5
-1
-7
1
3
-36
-8
17
20
-8
-6
19
2
-1
-29
-22
10
13
30
-18
13
-1
6
-46
-19
-21
10
-21
6
-2
-2
17
-28
-7
-42
-3
1
2
-21
-2
38
-71
-6
-36
10
-6
-8
9
-5
58
-54
10
-8
-19
-2
57
-10
-10
60
-2
31
-26
-3
-16
33
1
-16
64
39
5
34
31
28
9
-1
-15
-4
17
26
-8
4
2
-26
-29
-10
7
-18
24
21
40
12
3
-13
0
-4
58
30
44
-9
5
23
-3
4
-2
-19
46
8
5
7
23
4
2
22
44
-10
18
33
-28
3
-2
4
6
14
19
3
-1
-9
-18
12
1
15
-23
13
4
-14
-22
-7
-14
9
31
22
16
48
-5
-14
6
18
-17
27
-15
19
-24
-16
-2
-6
-10
19
34
123
139
90
-2
0
0
0
0
0
0
5
1
10
-37
3
-14
-26
-35
6
-2
-57
-28
0
0
13
8
3
-52
2
-53
-3
-38
-27
0
0
0
1
-10
0
0
0
5
1
-5
-2
2
-3
3
-4
0
1
1
2
-1
-1
0
2
3
2
0
-1
-7
5
2
0
3
-8
3
1
0
0
-3
1
2
9
-1
-12
-93
-235
0
-39
1
-71
-243
-114
-207
12
-5
-11
-37
8
0
-45
-200
0
-84
9
-23
-169
-115
-124
8
-2
-10
-5
6
9
-2
-83
0
-8
15
0
-38
-11
-12
25
4
3
0
8
18
11
-13
0
38
34
3
-3
14
16
23
3
18
22
13
23
15
30
0
57
29
7
13
46
49
19
10
10
11
23
31
5
0
-1
0
9
-3
0
0
0
2
1
-2
0
1
4
10
1
2
0
8
5
0
1
2
11
-1
-1
5
5
-5
9
2
0
7
18
4
2
6
10
30
1
2
0
9
-9
-138
-143
0
-122
-68
-123
-419
-164
-72
4
-25
-12
-49
-62
16
-51
-115
0
-205
-12
-31
-166
-146
-173
-17
-17
-12
-44
-26
2
16
-9
0
-30
27
11
-26
-28
-46
34
13
0
5
5
19
76
58
0
80
71
48
21
27
84
85
13
41
75
55
46
64
114
0
148
43
61
37
83
117
71
35
69
60
80
124
-45
0
0
0
-38
-10
0
0
0
1
-6
-25
-25
-30
-11
-39
4
0
-16
-22
-21
14
-34
-7
-32
-24
-31
-14
-3
-10
0
83
0
9
43
-14
-29
1
-42
-38
-31
-49
-6
-6
30
-74
-124
0
10
-99
-8
-43
64
-11
-20
2
-28
-19
-39
-29
-63
-10
0
-75
-56
-23
-28
29
-70
-14
-17
-32
-34
-38
-11
-71
21
0
11
-46
-49
-4
10
-27
10
-32
-29
-52
-61
3
-82
-33
0
36
-67
-80
-37
-21
-38
-79
-45
-37
-114
-66
-43
-76
-60
0
69
0
-82
-53
-2
2
-4
-52
-38
-25
-57
-11
-5
-5
-6
0
1
3
1
10
15
-1
-2
1
-1
-4
1
3
5
25
-17
46
51
16
11
10
13
8
-3
0
-10
-17
-9
-3
24
12
11
5
0
0
0
-105
-42
-32
1
6
24
7
-147
1
5
0
-1
-22
-1
18
-6
-8
-27
1
-5
-11
8
-26
-8
-34
-5
15
-8
12
44
52
12
14
0
-2
-24
75
69
25
-9
-8
4
2
-9
-7
60
7
-29
5
-11
-18
-2
0
-1
-5
-40
-9
-38
-43
5
9
-22
21
26
14
-4
7
-13
-4
-1
6
-3
-56
3
-6
-16
26
-20
22
22
0
-36
-68
-64
-23
-32
-2
3
4
-11
30
-62
-13
-76
-62
36
-43
-4
3
-7
61
-59
-8
-108
-29
34
-20
-1
-74
0
0
0
0
0
0
0
0
0
0
-103
-105
-65
7
66
-84
-78
-17
31
61
-93
-85
-32
24
42
-101
-85
-67
22
37
-55
-52
-41
-20
0
-46
-29
-30
-21
-19
-1
0
0
0
1
-90
-47
-10
-2
13
-6
-1
2
4
10
-48
-43
-53
-10
22
-56
-8
-9
12
34
-50
-29
-3
-1
11
-32
-36
-11
-11
-15
0
-11
-28
-22
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-58
-2
30
74
127
29
0
0
-108
-52
-17
-15
107
16
0
0
0
-130
-74
-6
44
99
7
0
0
0
-141
-95
-25
20
70
-38
0
0
0
-39
-49
-26
-26
-15
-46
-99
-89
-128
-12
-18
-26
-49
-47
-42
-71
-85
-82
33
14
18
20
8
10
-3
0
0
-172
-132
-62
-42
-16
-11
-3
-6
-1
0
19
21
10
-4
-9
18
-1
-3
0
-186
-74
-16
-26
-19
-32
-42
-11
0
0
-92
-17
6
-6
-11
-56
-11
-118
-52
-13
-18
-1
0
-8
-5
-44
-23
23
-4
-23
-25
-18
-26
-37
-60
13
-20
9
-50
-34
-27
-40
-17
-33
0
-7
-23
-18
-22
-7
1
4
-2
1
7
-27
-53
-57
-90
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-36
40
0
31
11
-93
-41
-19
-60
-76
-45
-152
33
-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
-66
14
14
59
6
-28
8
-26
-25
-13
-16
-38
-8
-11
29
-132
-128
-99
-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
13
14
67
27
5
20
15
12
-19
-25
-20
-15
-23
-30
-23
-10
-60
-39
9
36
65
52
42
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
22
30
44
11
19
21
0
2
4
-3
-4
-6
0
-5
-37
-7
-40
31
-21
-31
-8
98
-25
-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
-3
49
-9
26
46
10
26
11
21
8
-4
1
7
0
0
-3
20
9
-9
-6
23
0
-16
25
36
42
29
-66
114
24
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
116
72
30
37
38
30
23
2
19
10
21
2
20
8
21
13
17
11
2
13
12
27
5
-54
39
63
124
3
37
183
33
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
-17
60
-24
36
34
9
22
9
12
17
16
3
23
26
28
5
9
11
35
29
17
10
10
25
61
0
-33
-34
-34
29
-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
8
-1
-4
104
46
36
44
43
5
-3
22
41
12
43
32
24
35
23
28
38
24
50
15
10
44
83
82
47
52
-10
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
4
-1
34
162
93
23
50
30
53
43
13
14
42
36
29
60
36
55
37
29
20
34
52
66
45
24
14
23
13
-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
3
-7
10
-22
-71
84
-27
29
49
13
37
19
57
41
71
26
69
47
59
13
31
54
20
-8
31
13
55
40
-25
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
12
9
-3
-81
51
-18
32
40
76
62
64
82
67
84
42
43
65
25
123
35
6
81
-27
-24
-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
19
3
8
-8
-12
32
89
85
53
42
61
35
56
89
142
115
26
47
-71
5
-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
-5
10
38
63
-12
-95
-28
-9
46
31
-2
-31
0
35
-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
0
0
0
9
-4
2
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
-16
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
6
-1
-59
12
-2
-26
-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
4
-8
13
22
-36
-107
-85
22
-54
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
6
71
64
-175
-161
-46
-1
75
-20
2
-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
3
6
102
24
20
-17
-7
24
-22
-112
112
85
-1
31
5
-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
-2
-4
-10
33
19
2
115
34
65
-6
-21
42
-13
-44
-9
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
-3
1
-22
1
3
9
-23
5
24
5
8
5
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
1
3
2
1
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-9
-9
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-13
-121
-53
-8
75
-78
16
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
9
5
3
59
25
-17
-12
9
15
80
24
2
-25
-4
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
-4
-2
41
-26
1
-16
-22
65
41
30
20
-82
10
135
20
-47
-30
52
-43
15
-16
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-23
-22
81
39
-34
26
-51
-13
26
31
19
19
58
29
48
-16
-12
12
2
-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
-7
-9
-21
7
23
-2
-76
-17
77
121
2
35
50
48
42
74
-45
5
23
0
-1
21
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
-6
7
2
9
-50
34
-2
19
-25
-48
-24
-34
14
1
4
1
4
-21
-7
-9
-12
-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
6
5
1
-2
-1
1
14
-2
-4
7
3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
1
-36
-19
-20
26
4
28
-5
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
-9
-3
1
18
-12
85
55
84
-83
19
10
-81
-36
-53
-93
-33
-3
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
-2
-3
-59
-10
-38
28
96
18
-51
48
11
16
31
-104
-53
-59
-25
-19
-44
12
20
-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
-6
3
19
-127
-11
31
28
-155
102
-159
75
-12
-59
84
-57
128
-8
16
24
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
49
98
-7
29
47
10
-23
3
50
-56
-87
-13
110
-43
108
-43
0
23
-6
-6
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
1
-3
73
13
-77
-22
46
-70
75
-34
-51
77
16
70
16
-1
-14
-8
25
-26
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
25
-29
38
-43
-90
59
-35
-45
23
-37
35
-22
0
-2
10
2
1
-17
-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
-5
8
-1
27
0
5
6
-10
-9
7
-8
-5
-4
-4
-3
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
2
7
3
4
2
3
-15
19
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-25
87
-6
-43
-21
-54
-14
47
-24
-11
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
58
-15
4
-50
-10
25
-110
-64
-7
-8
-90
-33
-83
-15
-33
-2
44
8
-13
-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
20
8
-61
-10
-85
29
-42
-3
-64
21
46
-39
-95
-6
58
-29
-35
-58
-18
24
2
-17
-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
-2
-4
-24
12
27
-97
59
101
-34
-76
-42
-45
-38
-76
29
34
76
-78
5
85
-66
-85
20
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
2
5
-6
-15
-54
-22
-3
-3
45
15
-20
-4
12
-16
-5
52
-5
29
-21
80
-55
-47
44
-21
-7
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
5
-3
-6
-58
1
-14
29
43
72
-94
49
24
1
-6
124
-9
-22
22
-4
-24
-16
15
43
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
24
66
-33
-49
71
-37
52
0
91
10
12
53
54
62
22
41
-28
48
-17
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-4
-58
76
-59
69
-62
136
-7
2
-93
47
2
4
22
-5
-11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
8
6
-7
9
-11
-8
0
-1
-3
-6
3
-5
-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
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
-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
-51
25
-14
2
-2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-22
-83
58
-4
-11
2
34
-25
-23
-1
-2
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
2
91
-38
-61
31
2
14
-102
-58
-65
-4
-81
-9
32
23
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
0
0
-6
62
-113
-51
34
11
65
-20
9
-84
72
-99
-100
12
-7
-3
30
31
-29
-33
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
1
-54
15
-116
13
-9
-36
-1
19
-12
47
-18
61
-35
126
-132
133
-41
6
94
-81
-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
8
-13
85
-44
-76
80
0
50
-4
-39
42
83
-12
-9
-53
47
37
1
27
-25
-92
80
89
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
-1
9
-25
4
15
35
-7
98
62
34
71
-15
27
54
4
-71
68
76
6
16
132
-28
-102
-75
-24
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
19
13
110
105
-12
9
7
24
23
-17
-49
-18
-68
16
-41
49
82
12
10
-6
-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
2
0
-4
-45
132
-44
31
51
14
-22
51
19
-13
-37
37
2
41
61
-65
35
-41
19
-10
-10
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
4
2
7
-5
19
-9
-27
-19
-37
-60
33
68
29
54
6
89
15
20
-44
33
-1
-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
-1
-1
5
-13
0
3
16
13
-33
38
-15
-4
9
10
3
8
-12
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
0
0
0
0
0
0
0
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
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
40
0
-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
-22
-61
-38
22
46
-3
18
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-125
13
-116
-87
-125
-135
-174
54
59
-135
-6
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-108
-125
28
19
-80
-112
-118
-25
-59
-8
-113
77
20
-59
2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
75
-69
10
40
-78
8
4
-48
-24
47
-38
37
-9
-22
-35
79
28
-60
-93
-5
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
-1
14
-29
18
-23
-8
-55
-73
-17
-26
-68
13
-64
-5
-11
-62
-26
-4
-22
9
-96
-194
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
-29
-4
-45
20
-54
10
18
16
-37
-21
0
-4
-30
1
13
-54
-45
-6
38
-10
-79
-92
-44
32
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
-1
9
-57
-51
-119
-2
-21
-23
-14
9
-42
-50
14
-25
-26
27
-41
-68
-23
16
-31
43
80
39
70
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
72
-9
11
64
-90
19
18
57
4
26
15
13
-13
-14
13
-24
-26
-41
-71
17
46
140
-111
-44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-68
-25
51
-1
-10
-2
-19
26
-8
21
40
-13
19
51
-24
-40
-128
50
33
-91
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
-1
-10
-69
102
18
22
-7
-11
32
52
10
-3
31
25
-88
-14
20
4
-60
-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
14
-36
-4
-58
33
29
45
5
-30
-28
-28
26
-35
17
-5
-20
-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
4
-1
0
17
5
9
-5
-12
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-28
22
37
22
113
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
-2
-40
55
-22
74
-37
46
-17
34
-22
-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
22
39
-16
21
-10
-59
17
38
-19
-13
10
-31
24
72
-48
45
129
21
5
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
46
2
98
41
-35
5
0
-10
-7
-20
23
40
26
6
84
-9
145
-9
-31
14
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-109
15
26
79
-9
-22
-40
8
-4
9
24
5
-2
33
-20
-33
31
-45
-17
-34
41
128
-30
61
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
-2
-9
4
97
-6
10
52
24
-5
-9
11
0
-13
7
2
4
12
26
-13
-26
20
35
54
85
51
71
11
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
-16
-47
-30
-64
18
19
32
1
12
39
14
23
16
1
20
7
24
-2
-12
1
-15
20
-16
40
46
5
0
-12
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
3
-1
-19
27
96
112
29
34
22
10
15
0
52
0
24
29
18
14
17
-25
21
16
61
17
-41
-28
-20
48
117
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
139
-29
-55
81
-51
52
-29
26
8
6
3
12
43
-28
-1
22
33
53
11
-68
22
51
94
60
-17
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
-2
-20
45
-3
10
-48
27
-10
30
11
5
-17
-1
32
-1
10
10
27
41
11
16
127
26
-112
40
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
-10
6
58
4
51
5
9
-26
-20
16
-15
20
62
-6
57
55
28
35
31
-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
-1
1
42
27
-33
50
-53
8
47
11
24
52
40
11
154
45
-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
1
0
-1
1
-2
-12
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-3
6
26
-26
12
-13
70
-53
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
-15
28
-39
-65
25
7
-35
-15
-23
-17
-14
31
-9
-62
-95
-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
28
32
-6
-15
-41
-24
13
-8
1
-10
10
9
-28
-4
-6
35
-52
-79
-118
-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
17
-61
-80
-56
-15
-5
-5
1
-17
-16
-9
-8
-9
-10
-17
12
-12
27
-13
32
17
-9
73
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-109
23
-24
-16
5
-25
25
-2
2
-5
1
11
6
-19
-8
2
-6
-23
9
37
3
-22
-24
-62
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
3
-11
-48
-27
-7
-24
14
5
21
8
8
4
16
-3
9
10
11
26
25
13
8
37
84
6
61
-32
51
-68
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-20
-34
3
-12
16
14
31
11
31
9
10
8
23
30
37
24
7
42
55
9
16
-58
-78
37
33
33
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
69
27
-3
-44
19
36
9
20
33
15
39
2
19
33
17
27
15
18
34
-6
44
-6
25
17
55
-18
-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
10
36
-71
6
-7
3
-35
-25
27
30
30
20
41
11
38
15
22
53
49
33
8
51
-17
47
124
-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
15
0
-20
20
36
5
-20
65
45
53
41
59
18
58
18
45
63
129
1
68
-79
35
108
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
-2
15
-99
45
48
56
40
58
48
50
97
46
47
127
-9
-31
111
6
66
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
3
-12
-61
32
57
22
170
-1
47
38
-12
-15
3
14
-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
6
-5
2
-5
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
35
9
31
17
-10
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-63
-27
20
3
3
28
28
-47
-27
47
35
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
-13
13
-43
10
11
28
10
19
26
18
-4
-3
8
11
38
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
4
-10
25
-3
3
22
7
9
0
-4
20
20
-8
52
63
-94
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
-3
49
56
50
2
45
26
16
-8
24
29
12
16
26
26
13
10
37
82
123
164
4
-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
116
48
6
39
42
59
22
27
8
27
10
30
7
11
-3
15
8
19
58
7
-44
42
-30
-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
-9
-17
32
36
89
29
65
36
13
33
50
5
11
15
-17
6
12
41
-22
-43
98
93
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
1
51
24
20
45
41
21
39
55
106
50
2
-15
36
47
-33
-109
43
97
-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
19
-22
46
2
64
17
24
30
146
78
-35
26
44
27
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
-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
-20
-34
-39
-28
-19
-10
4
27
30
-59
-73
-61
-39
-24
-5
7
20
27
-52
-56
-50
-40
-36
-19
6
0
13
-69
-79
-58
-38
-29
-11
-4
-5
2
-118
-131
-99
-69
-53
-40
-28
-7
4
13
31
32
55
66
69
84
-9
0
-125
-118
-106
-77
-51
-34
-25
-20
-7
-9
0
7
11
37
41
9
3
0
-7
-6
-4
2
-3
-26
-32
-49
-21
1
-41
-14
29
55
98
45
0
0
0
22
-13
-12
1
1
-37
-12
38
8
-6
-81
41
66
-9
-32
25
-39
-31
-24
-3
-19
-2
-33
-15
-9
-34
18
-52
-38
32
-5
0
37
34
-13
4
-4
-21
-23
-14
-8
11
39
15
-24
-28
-26
8
33
59
19
-16
12
-2
-4
-22
0
-15
11
-38
-33
57
-76
61
-54
61
41
10
13
8
8
-7
2
-8
12
0
12
-1
6
-24
6
-25
42
23
11
5
14
4
3
-20
-23
-9
0
-31
2
-29
55
91
-45
24
9
17
-3
15
14
-10
-34
-8
12
-3
2
-61
20
16
-68
-118
66
-14
18
-44
-9
26
16
-5
-55
36
0
1
-3
0
-2
-25
-9
42
-96
17
22
-37
-2
-64
-19
-73
-77
-10
34
-47
30
39
41
16
-15
0
-40
-32
22
-11
7
8
6
-9
29
-46
-78
27
17
-19
-51
15
0
-18
-43
-17
13
0
-4
-19
-16
-51
34
21
32
-56
-8
11
-3
33
-12
-2
3
-3
-8
-13
-19
-7
7
26
13
28
-29
-42
5
8
38
11
-16
-7
-7
2
-8
-1
-22
3
42
3
-9
-7
-5
29
-9
40
-19
-2
3
-4
-4
-5
1
6
-3
49
16
2
24
-58
-3
-32
-21
-21
-5
-29
-14
-17
-12
-26
-7
-6
-42
22
-43
-57
-53
-4
-56
-56
-2
14
2
10
-15
-26
-12
-41
-1
-5
36
-1
-25
79
-33
-24
-59
-93
-41
-35
-28
-8
-11
-5
-11
0
10
14
-71
18
34
31
-49
-38
-24
-82
-28
-24
-21
-28
-40
15
-19
-29
-8
-8
74
58
-31
0
0
0
-40
-51
-17
2
-20
-55
-76
-30
39
12
91
-22
22
16
12
-12
-66
-56
-8
-19
-20
19
-57
-42
-25
-33
12
34
-7
27
37
37
11
17
2
-41
10
-9
-23
-21
27
29
-48
26
-27
-4
5
9
8
32
17
-34
3
-19
-12
-7
0
-13
25
51
77
-25
-10
-6
-56
5
29
14
-18
-9
-2
-23
1
-30
16
25
50
-31
19
20
-38
-47
-2
6
12
5
-11
15
-13
-25
-24
9
-10
66
-59
33
46
-49
-47
15
12
10
-14
-9
-11
-3
-16
7
-4
12
21
38
-5
56
-2
-71
17
18
-1
-3
0
-28
-26
-12
18
20
0
9
30
29
-21
-18
-27
-3
-22
23
-3
35
-47
-21
9
33
-51
77
-1
15
-15
42
26
2
28
0
-23
-61
59
-1
16
5
57
-40
4
-16
10
-42
-9
1
9
17
0
-15
3
-22
13
6
-28
-60
33
-35
33
-9
18
-40
23
14
10
46
-31
-26
-8
-15
-7
14
15
-37
46
22
-3
0
-33
-19
6
11
47
48
-16
-13
-5
-41
3
-15
-26
38
46
-16
-28
-16
-34
13
6
18
15
47
18
-28
-7
-10
-77
-105
2
27
-10
25
-5
-13
-4
-9
-10
-39
-20
36
11
11
20
48
14
31
-60
37
-73
12
-2
-31
-14
-17
-15
-28
-5
31
-11
-16
29
-28
2
19
3
-20
8
15
13
-22
-24
-40
7
1
-22
-7
12
-4
110
2
47
-12
-76
5
4
-42
8
-39
-58
-27
-28
67
13
45
72
-26
34
6
-50
4
36
-48
-9
22
0
-1
-6
-31
-55
-2
-34
5
1
15
5
-1
-7
11
2
-38
-12
-18
-17
-2
-39
26
-121
-94
56
-27
7
-11
-8
3
19
-10
8
-25
-27
-10
15
-10
29
4
-7
-8
-9
-32
-7
5
5
-1
3
-9
0
-11
-21
18
-34
-14
27
5
-26
-5
40
42
-21
1
8
-11
-18
-5
-6
-13
18
-9
36
-11
52
1
-11
8
6
-13
10
0
-12
-9
0
-7
-19
16
-6
-17
-37
-20
43
3
7
-22
54
14
-10
1
-11
-14
-19
-6
-7
6
-108
-27
-47
44
4
-10
70
0
20
45
-22
-24
-7
-21
-8
-32
-10
-66
58
72
1
-4
85
26
-34
46
39
15
6
-21
-34
22
-21
50
-84
-43
-3
-4
0
19
-26
-9
4
-9
46
-6
-11
0
-23
2
9
30
79
-35
12
-18
15
-6
3
4
16
-9
5
-11
-1
-4
11
1
6
-21
30
-23
-3
-12
3
-11
7
-4
12
11
-12
5
-14
-6
-10
-6
-15
9
56
-27
-32
11
1
10
-9
-14
-8
-6
-2
-6
-16
-10
16
-37
-43
-17
-73
3
-21
14
15
14
-12
-9
-2
-5
-6
-6
13
-13
-48
-30
-63
-12
8
0
4
-13
13
-15
-24
-18
-14
-1
-18
-15
40
-44
-67
-14
-4
-2
-3
-22
-12
-14
-16
-28
-9
-9
-11
-35
18
-4
-49
-3
30
1
11
19
-8
-22
-36
12
-16
-33
-23
-14
11
-52
29
-51
34
-63
0
-3
-11
10
10
21
-22
-19
-3
-7
23
-27
-10
-5
-78
8
1
0
18
-30
38
1
26
-1
-24
-19
0
44
-7
-34
76
107
-25
-42
3
32
-2
9
2
17
27
-30
-27
-29
9
6
-65
2
41
47
30
-14
25
28
-7
-18
-11
26
-3
-4
-2
-30
44
-39
-8
-9
-40
-96
3
5
6
-2
14
9
12
13
-4
-27
42
-50
-7
-95
90
-31
47
7
-2
7
17
0
-24
11
-13
-3
13
3
-35
6
-119
10
-51
29
29
28
-9
2
-6
-7
6
-8
0
-10
6
-49
-15
-14
-16
23
12
0
-22
-9
14
22
13
-12
1
-11
-18
-5
-22
-27
0
-64
8
7
0
-5
-13
21
3
6
-24
2
-30
-20
8
-76
70
30
-52
-21
-16
-7
43
52
7
6
-6
-7
1
-32
-22
-86
47
48
27
21
14
21
0
19
2
-7
6
20
21
-17
-41
0
26
38
25
27
-29
23
-7
-3
-16
-26
-1
10
-16
-12
-1
3
33
-9
-38
-21
24
27
14
-2
0
-38
0
-2
-1
26
25
-2
-27
-8
-36
-38
-16
21
36
82
-1
-2
-2
8
9
-1
-13
3
-9
-2
19
-32
-60
21
26
85
38
-1
-5
2
-2
8
8
3
18
-3
24
-1
53
-19
1
-99
8
26
-4
-2
5
-11
-6
-2
17
-18
6
-16
28
34
-26
8
59
75
118
-10
-11
-9
-26
-4
35
20
3
-43
-33
-19
-48
-27
-17
-76
114
5
-10
-10
-33
-30
-9
-41
-15
-5
8
17
-28
-46
120
32
80
44
-10
-9
-4
-21
-8
-36
-15
21
-45
-51
15
-46
-38
30
-28
-2
-5
27
-1
0
0
-13
34
47
46
84
-70
60
0
-7
-1
-17
4
4
-13
4
1
-13
-12
-48
-7
-124
-45
11
0
-3
-28
-28
-17
-18
0
-21
-11
-33
3
-102
-1
-57
-58
-39
-8
26
45
22
-15
0
-3
17
-3
8
-6
6
-31
63
-13
1
28
-17
-35
-15
9
-1
27
0
6
-12
-8
-17
-9
84
3
-93
60
17
-3
-15
13
-4
12
15
21
6
-20
28
-6
-8
69
20
11
3
-21
-66
-32
-9
-10
1
-8
30
-3
-48
-13
-58
8
80
-96
48
4
-17
12
-18
-21
-13
-18
-50
-6
-24
33
6
-144
5
5
147
-34
-59
-17
34
-5
-19
9
15
2
54
-6
30
8
-111
0
-23
32
13
23
1
4
-2
-19
-1
-8
-23
4
20
5
0
0
-5
47
-104
-59
46
14
16
57
0
36
-2
-6
11
5
-6
0
-23
33
4
37
100
16
13
24
65
13
0
6
-14
-5
-17
-4
-12
-8
20
24
-6
75
-26
32
-2
-9
-5
3
42
9
9
15
2
-6
-9
17
45
43
50
58
-4
31
44
-1
-9
16
14
6
-27
1
-18
6
2
-19
18
31
-28
-9
-9
7
-11
35
3
11
-14
-44
-23
-27
-26
1
-32
41
22
-37
-96
65
30
-5
-3
-4
-26
-29
-17
-12
-9
-10
0
-6
64
-19
81
10
-2
-29
63
12
-15
-44
-45
-36
-34
-17
16
0
0
-10
22
42
34
-45
-87
0
-33
13
-17
-32
9
14
-12
-4
0
0
0
-1
-16
38
-29
-42
-10
-52
-40
-36
-21
5
-51
20
15
-14
-55
135
-18
91
5
30
51
0
10
-4
-16
-11
-15
-27
-5
-21
6
77
-36
38
-25
2
-4
0
13
-21
-39
-17
26
10
-8
-18
23
-10
-16
-70
-5
-62
-31
-14
79
44
6
-7
-11
13
-3
5
-42
32
68
-29
6
15
6
30
17
-20
-7
27
46
29
10
13
24
-53
6
-59
5
-31
19
-37
-32
14
-8
-10
26
-6
8
22
32
3
-53
-42
30
20
4
-2
16
-67
-26
-18
-21
-1
12
28
12
24
-9
22
-83
62
11
-7
1
39
-18
5
-20
-2
-8
-2
-13
56
81
-22
-18
55
-51
68
-20
8
7
-2
-30
-23
-5
-18
13
23
23
0
54
163
51
1
39
76
-89
9
-36
13
-11
-25
-78
-50
55
149
-86
-41
-1
0
56
48
54
-27
-63
43
-12
39
0
-7
-15
-18
-3
1
-24
-28
-54
-38
29
-23
-54
-26
33
10
25
42
0
-40
7
29
11
-29
-17
-43
-20
17
20
31
9
32
28
5
6
-9
16
37
-5
-25
-10
10
13
71
9
15
-3
-38
25
-21
18
-7
19
5
-10
17
6
8
4
-27
-45
-8
57
6
-5
18
-41
-4
-8
19
11
28
20
-14
-2
1
-32
-2
-18
15
47
-56
83
-24
7
31
0
10
-15
8
-23
-2
-23
-22
-4
-85
13
-68
0
-12
-96
2
-27
-8
-14
-8
-13
-36
-12
-22
1
0
10
-18
21
11
52
29
22
-2
-15
-24
-16
-33
-20
-26
28
55
0
5
-31
-11
25
-21
-28
-12
28
16
3
17
12
13
-7
25
10
12
-15
-4
16
10
6
6
12
0
17
36
35
-30
-31
-63
-26
0
3
-17
-8
-18
28
26
9
-1
18
-9
21
-6
-3
-83
-53
-76
-3
28
-8
0
-9
2
10
-2
-24
-23
-39
-1
33
-35
-9
-32
-24
-10
19
-24
-12
11
10
21
2
-8
2
-33
11
-7
-57
-63
-45
-24
-8
25
14
-23
-2
23
16
-1
1
6
-5
-9
-46
60
-5
-12
19
-2
6
3
-30
-25
-57
-1
-44
-5
-15
27
30
-15
57
-14
-129
-15
0
27
-4
-12
18
-12
-5
-24
-31
-39
42
58
-55
-38
26
-18
12
0
54
-20
0
-15
-7
-13
-1
-32
-38
18
-44
-34
-17
-32
9
-2
0
39
19
24
8
-58
-6
15
-28
52
-35
-57
50
-2
0
0
0
0
8
-13
-3
-7
15
4
-6
-9
0
17
14
3
-2
-94
-22
13
-8
13
9
-3
17
15
6
9
-35
8
46
-21
-22
-13
-43
-33
-27
4
-10
-30
-3
14
20
-2
21
-16
1
-21
7
-27
-67
35
-40
-20
1
12
-13
19
43
20
31
27
-5
4
8
7
-68
81
-30
27
5
-4
-18
-11
42
26
18
13
6
-4
-17
-26
-5
-70
-110
16
-35
77
-12
31
36
-15
18
20
-4
-4
-27
-12
1
-9
-51
22
-73
-118
-24
33
-9
16
-8
0
3
-26
-6
-26
-40
-25
-25
5
7
26
-40
-82
0
-8
-54
-30
25
20
-6
-1
-22
-5
25
-27
3
-45
18
64
-19
1
0
-22
43
1
-22
-18
-13
-15
17
-5
-2
21
-8
0
16
1
0
36
-1
-26
0
-16
-10
-2
44
0
43
-18
29
-102
-35
-22
6
0
15
-6
-8
2
-10
7
-12
35
10
10
47
49
20
-52
42
-35
2
1
-20
-12
2
-17
-18
-4
-22
-25
11
7
-38
92
28
2
-8
-3
5
0
-7
-10
12
18
11
8
-42
29
36
40
37
3
-77
-11
4
-4
-29
-14
10
1
-22
32
35
-53
4
29
67
-33
85
-53
4
0
2
3
-13
-2
8
-19
-29
52
31
0
2
-46
152
39
12
2
0
0
-24
-5
-3
-22
5
-26
-46
2
2
37
53
105
12
-4
0
0
-47
-38
-12
-36
11
-23
10
-32
-38
62
27
34
3
-7
0
0
0
11
-44
53
-20
-21
-1
-104
-1
-43
-88
-13
6
-2
-1
0
0
0
11
12
2
0
5
-14
-4
28
0
7
16
41
-10
10
-89
-23
-3
10
-33
-9
8
5
4
18
-2
1
-28
17
-10
-21
16
30
-3
-1
-25
1
41
24
-2
10
9
1
11
14
76
-60
21
-41
-34
2
0
-6
-7
5
14
-8
14
5
-29
13
0
-21
48
49
-21
12
-42
0
4
-7
32
19
10
-21
-23
-24
7
1
-17
-26
-83
-7
-32
-74
5
56
28
26
-24
19
-2
10
6
-2
17
-28
-18
-15
-11
-70
78
-5
45
-5
15
2
33
-3
-32
-28
-27
-21
-28
-31
8
-21
-8
18
-5
34
-55
30
12
-16
-19
23
-2
1
25
-21
29
-2
28
-4
-20
0
0
28
-1
-38
2
-21
-14
-71
-43
-12
-28
42
-14
49
-6
-12
0
0
-27
37
38
7
-1
-6
-7
-12
-29
28
-22
-33
-10
0
8
4
-14
-23
15
0
-3
11
10
5
-2
-1
4
12
0
-18
-3
-17
6
0
4
-2
-17
18
18
19
6
17
-2
1
-44
-62
-28
-33
-5
-14
4
-2
7
-38
-52
4
7
-17
-14
9
0
20
-39
-6
-41
-3
-15
-14
8
2
14
1
21
-16
-33
-38
-24
10
13
32
6
-24
-52
-73
-4
32
-5
20
138
36
1
-2
3
3
-1
-9
-5
-17
19
10
-11
18
-1
-6
-10
-1
-13
38
19
27
13
2
10
-5
-1
-10
47
21
10
14
-10
17
8
0
-1
28
17
-33
20
11
19
1
1
3
-50
19
61
27
-1
35
5
-1
12
19
12
16
10
25
3
-3
0
-3
33
16
7
1
-12
-4
17
8
7
-13
5
-15
-9
-5
-20
14
29
-13
-34
-4
-36
-21
-6
-10
-22
-3
23
111
145
77
-2
0
0
0
0
0
0
-2
-21
-15
-56
-3
-22
-37
-52
8
-7
-53
-38
0
0
-1
-10
-11
-44
-13
-89
-23
-73
-21
0
0
0
-3
1
0
0
0
2
12
-3
0
2
-6
3
-7
0
-5
-6
1
-8
-1
0
-11
-1
-1
-2
-1
-4
2
4
0
4
-5
0
2
1
-2
-5
-2
1
3
-6
-10
-96
-223
0
-44
16
-59
-221
-108
-190
10
2
12
-13
18
12
-42
-184
0
-79
10
-21
-147
-82
-94
8
6
-7
-3
1
1
2
-107
0
-12
20
1
-60
-24
-20
17
6
-1
-2
0
6
6
-31
0
35
4
-3
-13
0
6
14
1
1
-2
6
6
-1
13
0
34
22
-16
-2
32
39
16
-21
-11
-26
21
21
-2
0
-6
0
2
-10
0
0
0
-3
-3
-5
-4
-8
-1
-3
-1
4
-4
-4
0
-7
-7
2
4
-4
-10
1
-4
-11
-1
-3
2
7
22
-5
-1
4
15
33
-9
-11
-6
-3
-15
-103
-142
0
-125
-27
-89
-402
-154
-78
18
31
39
-15
-40
36
-21
-128
0
-168
2
-12
-140
-140
-122
15
3
12
-28
3
12
17
-17
0
-38
19
12
-34
-43
-47
26
14
3
7
11
30
46
59
0
67
73
37
18
9
61
65
-3
9
60
39
26
38
124
0
134
36
57
24
95
102
70
16
66
38
92
113
-35
0
0
0
-41
-4
0
0
0
-1
8
-27
-17
-20
-21
-45
10
0
-17
-47
-22
12
-16
-9
-30
-20
-28
-28
-17
-11
-34
80
0
21
43
-27
-31
12
-46
-44
-37
-44
-42
-18
27
-93
-123
0
10
-104
-17
-33
63
-13
-20
-8
-33
-28
-18
-15
-72
-13
0
-77
-49
-35
-7
55
-40
-14
-16
-38
-32
-38
-16
-90
11
0
13
-51
-60
-21
-16
-16
-1
-32
-47
-50
-52
-12
-101
-35
0
46
-64
-95
-59
-18
-28
-84
-65
-47
-104
-61
-48
-79
-57
0
70
0
-85
-104
7
-13
-4
-93
-54
-37
-59
-12
-4
-3
-4
1
1
4
2
14
12
0
-3
1
4
-1
2
2
7
24
10
61
50
25
11
14
8
5
-23
0
2
-26
10
15
28
23
17
0
0
0
0
-107
-28
-45
31
1
51
7
-175
-1
-6
-13
-14
-6
-1
14
-10
-6
-24
-6
-5
-13
0
-23
-12
-29
-7
18
-8
12
34
44
15
-10
-4
-6
-18
79
71
17
-15
-1
-9
-12
-13
-3
55
6
-33
-1
-12
-7
-8
-14
-2
-7
-38
-11
-37
-46
13
18
-10
13
17
8
-5
0
-11
0
-3
5
-1
-54
4
-11
-18
18
-17
14
19
1
-35
-66
-57
-18
-20
10
-5
3
-17
29
-63
-12
-60
-57
21
-27
-15
-1
-6
58
-59
-9
-93
-26
45
-34
-6
-87
0
0
0
0
0
0
0
0
0
0
-87
-80
-71
-35
-3
-67
-67
-28
2
20
-66
-87
-38
-16
18
-86
-109
-49
-9
25
-67
-61
-63
-26
-5
-62
-40
-51
-27
-14
-1
0
0
0
-1
-77
-55
-16
-9
-2
-7
-1
0
2
3
-45
-67
-80
-41
-16
-57
-11
-7
-8
-11
-55
-39
-3
-13
-13
-50
-46
-16
-19
-14
-27
-14
-35
-36
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-77
-23
-5
74
133
29
0
0
-101
-69
-34
-19
106
16
0
0
0
-127
-85
-18
19
102
5
0
0
0
-136
-104
-38
4
73
-47
0
0
0
-48
-65
-38
-35
-8
-51
-100
-108
-122
-22
-28
-37
-47
-44
-56
-66
-95
-94
26
7
11
13
4
9
-3
1
1
-205
-145
-98
-77
-32
-25
-9
-11
-14
0
-8
13
-2
-3
-7
21
5
-4
0
-215
-79
-28
-27
-29
-34
-40
-16
0
0
-94
-16
3
-23
-14
-62
-16
-107
-64
-31
-34
-16
-13
-9
-21
-47
-26
-21
-15
-17
-25
-20
-24
-47
-54
-16
-32
-13
-43
-31
-27
-49
-13
-39
0
-5
-21
-9
21
34
10
-7
-17
-20
-8
5
-39
-60
-93
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
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
-21
35
-2
36
28
-58
-37
-12
-56
-55
-47
-154
35
-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
-58
29
28
65
32
3
6
-7
-15
5
-3
-31
24
-12
10
-138
-125
-92
-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
18
25
66
43
17
0
4
-1
-20
-21
-21
-12
-55
-31
-8
-29
-48
-64
-7
44
69
55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
40
33
53
-6
18
0
7
1
1
-2
-25
-9
-27
-26
-25
-17
-34
26
-30
-26
-25
108
-25
-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
-3
49
-2
37
39
4
4
3
25
-10
-9
5
-7
11
-1
-2
17
-11
10
9
24
6
-30
28
38
46
28
-69
119
26
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
115
79
32
54
11
26
26
8
19
9
13
-18
19
0
21
-4
4
14
11
-17
18
33
7
-74
23
82
130
9
29
186
27
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
-17
67
-34
24
36
-1
1
-17
9
-5
13
0
13
18
20
-1
26
17
36
31
19
9
12
0
67
-12
-50
-41
-35
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
100
40
40
18
36
17
-22
30
46
26
34
21
16
42
22
28
29
34
48
26
0
31
92
84
49
48
-9
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
4
-1
34
162
89
39
40
49
51
41
3
19
38
38
43
65
37
55
36
30
27
39
59
91
61
31
10
12
16
-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
3
-7
9
-22
-78
87
-16
28
30
14
54
44
61
51
77
35
97
55
74
33
30
58
15
4
34
5
51
42
-26
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
12
7
-2
-82
50
-21
49
40
68
50
78
104
75
95
39
36
74
23
134
42
3
77
-26
-22
-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
0
0
0
0
19
4
8
-8
-18
24
108
101
55
44
82
26
54
94
153
123
38
43
-72
4
-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
-5
10
39
59
-10
-96
-38
-14
48
32
-1
-31
-1
34
-3
-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
9
-4
2
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
11
3
-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
4
-8
12
22
-40
-106
-85
17
-52
-23
13
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
5
-19
-85
2
64
67
-185
-164
-46
0
75
-24
1
-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
3
5
105
17
22
-17
-1
28
-22
-116
115
90
-2
33
6
-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
-2
-4
-10
33
21
-3
117
37
75
-9
-20
44
-13
-44
-9
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
-3
1
-22
1
3
9
-23
5
24
5
8
5
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
1
3
2
1
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-5
-4
1
-16
-12
-4
3
-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
7
1
-5
33
-14
-120
-53
-8
71
-77
17
-21
9
-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
-1
-4
4
44
6
2
4
59
27
-25
-11
9
18
82
28
-3
-27
-4
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
-4
-2
42
-24
7
-18
-35
57
42
28
26
-77
15
141
23
-46
-33
48
-44
14
-16
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-20
-24
80
41
-23
35
-56
-29
22
20
29
29
58
28
50
-19
-6
12
2
-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
-7
-9
-21
4
19
-5
-73
-16
83
137
-5
39
48
54
46
77
-49
3
22
0
-1
21
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
-6
7
2
9
-50
34
-2
17
-25
-48
-24
-33
16
3
2
0
4
-21
-7
-9
-12
-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
6
5
1
-2
-1
1
14
-2
-4
7
3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-6
-33
-21
-17
27
3
32
-5
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
-9
-3
1
18
-14
89
59
82
-85
17
12
-80
-41
-53
-90
-34
-3
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
-2
-3
-60
-9
-39
30
93
19
-50
50
8
19
27
-103
-52
-60
-27
-20
-44
12
20
-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
-6
5
15
-126
-12
32
28
-154
92
-154
72
-10
-59
85
-56
132
-11
19
22
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
48
93
-7
29
50
11
-25
3
45
-55
-87
-12
111
-41
105
-43
-1
22
-5
-6
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
1
-3
72
11
-76
-20
50
-70
64
-33
-52
81
18
65
14
3
-14
-9
26
-26
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
26
-27
38
-43
-86
63
-28
-45
21
-40
35
-23
3
-1
11
2
1
-17
-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
-5
8
-1
27
0
6
6
-10
-9
8
-8
-5
-4
-4
-3
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
2
7
3
4
2
3
-15
19
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-23
-24
86
-8
-46
-18
-56
-18
49
-25
-11
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
58
-14
3
-51
-12
19
-109
-58
-9
-8
-81
-42
-80
-14
-31
-2
45
8
-13
-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
18
6
-57
-7
-87
26
-46
-4
-64
21
42
-38
-93
-9
50
-26
-37
-60
-15
21
2
-17
-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
-2
-4
-26
12
31
-97
57
95
-35
-69
-46
-49
-41
-71
30
23
76
-77
4
87
-62
-87
20
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
2
5
-3
-15
-57
-25
3
-6
42
16
-17
-1
17
-31
-1
52
-7
32
-23
80
-49
-44
45
-22
-7
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
5
-3
-7
-56
-1
-15
30
39
71
-93
56
26
6
-21
123
-9
-20
13
-11
-19
-21
12
41
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
25
63
-27
-48
72
-38
50
3
97
9
18
49
61
61
28
41
-25
53
-17
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-5
-59
72
-58
70
-62
139
-7
3
-91
44
-1
7
21
-5
-11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
8
6
-7
9
-11
-8
-1
-1
-3
-6
3
-5
-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
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
-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
-51
25
-14
4
-2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-24
-91
50
-10
-9
1
34
-26
-25
-1
-2
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
2
91
-37
-57
32
9
-2
-99
-50
-62
1
-83
-7
27
24
23
-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
0
0
-1
62
-112
-53
33
10
65
-16
13
-74
70
-102
-98
14
-9
-4
25
29
-31
-33
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
1
-57
15
-118
16
-1
-28
4
22
-6
63
-14
48
-38
127
-136
133
-40
5
93
-81
-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
10
-12
89
-45
-69
76
7
41
-21
-39
50
75
-16
-7
-52
41
39
-1
29
-22
-94
80
86
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
-1
9
-25
2
15
33
-4
94
67
19
64
-19
23
55
5
-63
70
73
-5
16
133
-28
-102
-74
-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
-2
-23
37
17
14
106
98
-14
14
4
29
22
-20
-42
-17
-64
17
-42
45
79
11
11
-6
-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
2
0
-4
-47
138
-41
27
56
13
-21
51
13
-14
-42
38
4
48
65
-61
40
-42
18
-5
-10
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
4
2
7
-6
18
-9
-20
-20
-36
-65
32
71
25
54
6
85
17
19
-44
32
-1
-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
-1
-1
5
-13
0
3
16
15
-33
40
-10
-3
8
9
2
8
-12
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
0
0
0
0
0
0
0
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
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
41
0
-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
-26
-60
-38
24
49
-4
19
-1
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-120
15
-109
-85
-117
-137
-156
45
58
-137
-7
38
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-98
-119
36
11
-92
-103
-117
-30
-58
-8
-107
80
19
-57
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
6
48
-88
2
14
-45
-34
43
-30
26
7
-9
-37
75
29
-61
-96
-5
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
-1
18
-29
8
-16
-8
-56
-65
-7
-18
-74
4
-65
10
-24
-61
-21
-13
-19
11
-104
-197
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
-29
-6
-61
10
-53
19
-13
12
-41
-33
3
-9
-27
8
19
-41
-54
2
22
-13
-70
-93
-44
30
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
-1
9
-61
-50
-116
-11
-28
-15
-10
4
-32
-48
28
-17
-26
19
-40
-71
-21
26
-38
51
87
40
67
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
70
-5
18
61
-94
20
16
47
-9
27
11
7
1
-24
23
-22
-42
-54
-61
20
50
140
-111
-44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-68
-25
55
-9
-7
2
-16
41
6
19
55
-20
24
58
-28
-57
-130
50
28
-92
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
-1
-10
-69
102
18
21
-10
-13
24
50
18
-13
42
32
-97
-12
16
-1
-58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-60
26
39
52
2
-24
-23
-34
22
-31
22
-1
-18
-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
4
-1
0
14
4
9
-5
-12
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-23
24
40
24
113
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
51
105
1
-40
55
-18
63
-26
46
-14
32
-24
-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
21
46
-8
16
-8
-63
12
41
-30
-10
16
-9
29
73
-45
48
129
21
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
47
6
79
33
-36
19
-11
-3
-5
-29
41
41
26
-18
79
-10
138
-10
-32
15
-47
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
39
-107
23
19
63
-10
-16
-35
11
-2
8
24
-7
-2
38
-2
-18
31
-55
-21
-42
46
123
-31
64
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
-2
-8
1
94
1
17
44
16
-6
-18
20
7
-14
2
-11
12
29
31
-20
-10
23
39
56
100
56
73
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-56
22
9
18
22
29
49
24
20
25
10
7
12
23
-2
-1
0
-37
13
-19
50
51
-1
-8
-12
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
3
-1
-19
17
108
117
26
48
24
-3
15
-11
45
-8
18
34
26
11
6
-33
20
27
58
15
-57
-35
-20
49
119
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
136
-25
-51
95
-50
64
-37
35
6
-3
8
-1
53
-30
-1
29
53
50
12
-70
25
54
91
56
-14
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
-2
-20
41
-7
8
-49
24
-24
35
17
22
-24
-4
38
7
7
13
33
48
13
20
131
28
-115
38
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-10
4
64
14
57
5
5
-25
-24
15
-26
16
60
-3
68
61
28
38
29
-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
-1
1
39
24
-31
52
-56
15
57
4
23
55
46
12
159
45
-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
1
0
-1
1
-2
-12
7
-8
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
-17
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-14
11
-16
75
-32
1
-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
3
29
-50
-45
6
42
-28
0
0
1
-2
28
-25
-64
-95
-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
28
47
-2
-17
-28
-23
19
-12
14
-8
-7
9
-25
-20
8
11
-59
-77
-115
-34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
-46
-6
0
-16
22
-3
-5
-14
-21
-13
-25
-28
-2
-26
37
-12
22
22
-22
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
-39
-103
0
-31
-25
-3
-32
-7
-5
-3
0
2
23
-2
-26
-13
-10
-5
-26
17
34
0
-21
-18
-64
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
3
-13
-40
-26
-37
-38
20
9
15
-2
-4
11
15
-2
-3
-10
10
27
13
7
7
36
66
-17
84
-29
57
-72
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-14
-47
9
-35
1
-16
4
0
31
5
3
0
37
33
27
21
0
36
72
16
-5
-64
-96
33
31
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
-32
71
29
-20
-33
3
5
15
13
14
18
45
3
12
7
16
35
34
6
58
-20
54
-9
37
28
59
-17
-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
10
37
-74
7
-9
9
-28
-42
36
30
30
33
63
3
25
16
31
61
41
35
8
77
-12
45
121
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-20
22
41
15
-43
85
58
65
30
82
19
69
31
40
76
150
-10
72
-84
33
109
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
-2
15
-100
43
51
49
30
61
72
53
118
56
48
135
-3
-31
116
3
61
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
3
-11
-60
29
60
29
177
-10
45
38
-9
-18
3
14
-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
6
-5
2
-5
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
82
38
17
47
27
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
63
30
-59
14
36
18
-6
27
40
-57
-32
60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
12
14
20
-2
12
18
25
-15
-2
2
-8
46
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-6
17
-15
2
-6
4
11
-2
8
-12
-5
0
25
-37
80
69
-97
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
49
54
55
2
41
15
29
-2
28
19
10
7
30
24
13
9
26
119
149
176
6
-62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
1
51
31
62
15
37
10
34
27
10
0
12
1
21
21
10
77
-5
-41
41
-29
-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
-9
-13
19
29
101
3
69
56
12
48
55
-23
18
4
-27
-14
21
59
-18
-39
99
94
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
1
52
27
21
41
34
12
38
64
132
66
-1
-23
42
53
-30
-127
43
99
-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
19
-22
45
-1
62
18
22
25
144
80
-40
37
49
24
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
-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
-30
-45
-47
-45
-18
-9
9
16
31
-71
-71
-54
-48
-35
-9
-7
18
23
-57
-76
-70
-56
-43
-19
-20
9
19
-70
-96
-79
-56
-49
-19
-13
-9
5
-57
-107
-108
-85
-72
-51
-40
-15
-2
17
21
52
76
83
42
83
-9
0
-127
-88
-97
-84
-78
-62
-48
-33
-13
2
-5
-1
43
39
49
7
3
0
-3
-5
-9
-5
2
-40
-44
-42
-8
1
-40
-10
35
57
109
48
0
0
0
8
-6
4
-2
-4
-19
16
32
5
-9
-82
21
45
2
-1
17
-36
-29
-8
9
-13
0
-18
-20
-10
-38
15
-61
-54
5
4
0
26
30
-16
2
-2
-26
-23
-26
-8
11
37
16
-27
-35
-8
6
6
33
24
4
10
-13
-2
-22
6
-10
11
-37
-34
54
-81
75
-79
38
36
0
8
9
4
-11
-5
7
6
0
10
-5
0
-29
5
-51
12
12
4
-16
-4
-2
4
-2
-30
5
0
-31
-4
-32
55
82
-68
16
-8
7
3
9
8
-21
-46
-5
13
-3
2
-58
18
23
-70
-104
77
-27
8
-55
-11
22
9
22
-48
34
0
1
-3
0
-2
-24
-9
43
-101
16
15
-36
-8
-72
-10
-90
-75
-10
33
-44
32
32
48
-3
-34
0
-38
-22
28
-3
-4
8
2
-15
25
-49
-85
22
13
-5
-46
-1
0
-19
-26
2
19
0
-3
-21
-13
-50
34
24
17
-54
-8
15
3
18
-7
10
13
-2
-9
-12
-20
-14
5
16
10
20
-33
-39
-19
8
29
3
-28
-2
-7
3
-9
-2
-25
2
40
3
-12
-12
-7
8
-9
49
-10
-3
-5
-2
-10
-8
0
-5
-3
42
17
-3
26
-61
-27
-17
-20
-34
-28
-26
-25
-4
-22
-21
-14
-6
-42
28
-42
-48
-53
-30
-51
-53
-19
4
3
4
-20
-32
-10
-35
-1
-5
36
2
-23
67
-29
-1
-62
-107
-48
-66
-31
-8
-10
13
-6
0
10
14
-70
15
29
32
-58
-52
-29
-75
-24
-23
-30
-13
-68
37
-12
-23
15
9
69
56
-34
0
0
0
-33
-30
8
2
-34
-43
-73
-36
51
24
75
-21
21
15
12
0
-77
-71
-2
-20
-11
9
-50
-54
-32
-47
20
36
4
34
40
31
-1
5
8
-28
3
-8
-28
-10
34
29
-55
28
-44
11
-5
11
13
36
17
-23
-4
-28
-6
-13
-15
-4
30
55
71
-30
-16
-1
-84
-14
24
19
-13
-1
0
-15
-22
-13
30
22
41
-34
13
5
-34
-22
-13
-3
3
5
-18
8
-21
-33
-14
-13
-14
64
-58
37
26
-68
-58
1
1
11
-11
-31
-27
-1
-16
2
-12
12
11
22
-20
39
-20
-84
-1
25
6
-1
-7
-17
-13
-3
39
22
0
10
43
42
-17
-19
-22
-28
-40
28
8
58
-38
-23
13
39
-52
67
-15
25
-2
36
30
3
25
0
-27
-66
85
22
-1
-24
52
-53
-21
-37
20
-45
-2
8
29
6
0
-45
26
-14
27
-1
-39
-69
13
-58
15
-15
6
-54
13
11
26
56
-22
0
-26
-17
-16
18
4
-53
23
18
0
15
-27
-17
3
17
50
55
-7
-19
-6
-63
12
-39
-39
29
54
-42
-25
-22
-33
3
-1
33
35
33
8
-36
-19
-18
-111
-110
-14
41
-12
32
-4
-12
-11
-10
-16
-16
-19
22
-15
4
30
42
8
26
-50
51
-81
17
-2
-48
-23
-27
-16
-29
-16
16
-6
-27
27
-14
4
32
3
-11
11
7
-2
-35
-54
-36
9
-7
-35
12
14
-7
118
2
59
-26
-70
13
-17
-61
1
-33
-55
-49
-14
66
19
39
79
-22
22
4
-57
-12
43
-37
-13
33
0
-8
-22
-30
-52
-1
-30
6
1
22
-35
-14
-6
-3
12
-29
-16
-25
-10
5
-41
26
-107
-91
54
-24
-13
-10
-15
-6
31
-4
6
-15
-16
-2
6
-14
16
-10
-16
-13
-10
-22
10
1
4
-13
-5
-14
-7
8
-5
16
-30
-37
12
-7
-36
-5
20
18
-44
-15
11
-19
-17
-4
-4
-13
5
-1
50
-8
47
-3
-11
-18
10
-4
0
-18
-16
-17
-6
-5
-19
8
4
-10
-47
-16
44
3
17
-26
35
1
-29
-1
-10
-12
-17
-1
-2
15
-91
-20
-43
41
4
-33
40
-36
-4
23
-18
-19
1
-22
-3
-43
-26
-62
53
72
4
-4
92
12
-21
40
34
-6
16
-8
-44
20
-23
43
-89
-42
-3
-4
0
18
-27
-8
-10
-26
48
-1
-30
0
-31
4
6
25
70
-46
24
-18
8
-9
-5
-1
18
-3
4
-16
14
-5
7
-9
-11
-31
18
-10
5
-7
4
-10
11
-22
13
8
-7
4
-15
-3
-10
-26
-16
0
69
-23
-47
6
-4
6
-3
-9
-12
-4
-4
1
-10
-13
11
-29
-53
-4
-73
5
-25
12
1
3
-14
-14
1
-7
-6
-15
10
-21
-43
-37
-53
-13
13
-10
-16
-8
1
-17
-20
-18
-10
-4
-19
-15
33
-56
-74
-3
-5
-20
6
-36
-18
-36
2
-39
-11
-1
-10
-37
20
-24
-43
-2
34
1
20
15
-11
-25
-48
-3
-13
-39
-30
-26
10
-46
21
-43
36
-59
0
-17
-24
20
14
36
-10
-14
-11
-12
12
-29
-19
-16
-72
10
1
0
46
-7
49
10
34
-20
-15
-17
0
44
-19
-35
79
103
-25
-45
3
24
6
-6
-14
5
29
-24
-17
-37
21
1
-82
3
33
45
27
-13
29
20
-17
-17
5
20
9
-20
6
-14
28
-44
-28
-22
-48
-97
3
20
10
-9
5
15
28
-1
-7
-5
34
-52
-13
-91
91
-29
51
7
-12
10
-13
8
-36
18
-18
-4
-15
16
-7
28
-116
10
-52
32
29
25
-21
-6
-4
10
-7
-10
-5
2
29
-49
-41
-14
-20
22
13
0
-25
7
15
9
-9
-5
0
-2
-26
-2
-13
-34
-10
-68
6
7
0
2
-27
6
15
12
-22
3
-25
-26
-14
-79
73
29
-59
-21
-16
-7
43
47
6
8
-4
-13
4
-39
-26
-96
49
45
27
21
14
21
0
14
-9
-12
-1
11
23
-38
-50
0
28
49
27
22
-28
27
-7
-3
-20
-16
4
-2
-18
-13
0
-4
38
-8
-34
-25
15
25
21
-5
0
-43
0
-12
-8
0
20
-9
-27
4
-27
-32
-14
18
40
89
-3
-2
-9
7
0
1
-29
17
-7
1
44
-40
-56
20
27
89
42
-2
-5
15
-18
-1
-6
-2
9
-8
32
-28
53
-23
4
-104
19
29
-6
-2
12
0
-14
-28
-4
-6
24
-16
56
42
-25
17
55
80
123
-10
-11
-9
-17
-15
20
15
3
-50
-43
19
-35
-27
-17
-82
120
5
-10
-10
-35
-32
5
-30
-15
-38
7
27
0
-53
125
31
70
44
-10
-9
-4
-19
-17
-38
-37
34
-59
-42
-5
-44
-34
27
-29
-2
-5
27
-1
0
0
-13
33
50
42
75
-56
68
0
22
-1
-5
-4
13
5
-11
-8
-12
-9
-50
-23
-111
-17
6
0
8
-26
-28
-2
-6
-10
-29
-18
-10
4
-106
-4
-65
-59
-22
-6
31
23
-3
-32
13
-8
23
-2
28
1
7
-35
61
-17
-1
32
-25
-14
-6
9
-9
17
-10
5
-6
-7
-5
-9
83
1
-99
59
-2
-3
-9
8
3
18
15
13
-5
-30
17
-15
-9
64
20
10
-6
-31
-52
-35
-9
-18
-6
-23
11
2
-36
-12
-46
8
82
-95
41
5
-39
16
-24
-44
-28
-30
-51
-20
-7
36
2
-145
5
6
149
-33
-65
-19
30
-13
-40
8
33
1
89
-11
36
18
-114
0
-23
32
13
28
5
-1
-4
-11
-4
6
-23
12
5
2
4
0
-5
54
-105
-59
53
9
16
76
0
27
-12
-10
9
-8
15
20
-21
37
-6
43
93
-2
2
17
70
5
0
2
-8
1
-1
-9
-18
-19
22
23
-5
81
-33
24
1
-15
5
23
43
4
19
6
3
-16
-26
20
48
39
47
59
-4
34
18
-1
-5
10
11
-8
-28
13
-18
12
2
-14
23
24
-28
-8
-22
-21
-5
28
8
6
-19
-37
-41
-34
-15
1
-34
42
13
-47
-96
55
-11
-30
-20
-18
-28
-48
-39
-25
-12
-12
0
-6
62
-22
84
3
-4
-57
18
-8
2
-40
-36
-39
-35
-15
2
0
0
-9
25
40
33
-48
-101
-46
-47
-12
-22
-12
1
35
11
-19
0
0
0
-1
-17
41
-24
-43
-24
-67
-67
-45
-5
-7
-60
33
19
-14
-53
139
-5
73
0
14
54
0
-21
-22
-7
-4
-8
-47
2
-19
7
73
-29
32
-12
-5
-12
0
3
-29
-33
-10
24
13
-14
-23
29
-10
4
-56
-9
-42
-33
1
56
71
9
-8
-18
9
6
-3
-61
37
67
-40
7
48
-10
14
2
-14
-13
14
35
26
2
7
15
-51
-11
-57
8
-18
8
-48
-29
22
12
-5
19
-21
3
29
44
-18
-74
-46
36
29
-7
-1
24
-60
-23
-35
-28
-20
-2
35
13
14
-25
15
-92
65
5
-8
-2
44
-3
4
-20
-2
-12
-16
-21
53
93
-19
-23
57
-42
84
-12
4
4
14
-26
-22
-7
-22
28
25
34
-15
46
170
51
1
37
78
-93
4
-38
5
5
-32
-94
-62
59
149
-91
-44
-2
0
55
44
57
-27
-42
55
-7
27
0
-19
-19
-14
20
-17
-16
-45
-60
-31
10
-26
-66
-7
15
3
33
52
0
-44
8
35
3
-42
-2
-70
-11
13
28
31
3
35
54
1
24
-31
42
40
-9
-11
-16
28
4
77
21
12
-19
-36
13
-20
-7
-4
14
-21
-23
32
-15
9
11
-12
-43
3
72
-8
-12
16
-33
-20
-22
3
3
31
1
-21
25
-29
-66
-1
-12
20
47
-72
81
-28
17
26
13
0
-18
15
-46
-10
-38
-25
-4
-83
7
-64
-14
-22
-115
-29
-27
-9
-17
-8
-6
-26
-8
-37
0
0
9
-31
26
12
41
18
41
-13
-23
-34
-7
-55
-26
-34
26
55
0
5
-29
-15
28
-21
-33
1
13
20
11
26
30
34
-21
40
4
-6
-8
-21
-5
2
7
13
14
0
7
47
36
-35
-30
-62
-24
0
2
-20
-5
-12
14
15
2
11
27
9
21
12
-13
-88
-54
-74
-3
30
-24
-7
-24
-9
2
20
-27
-10
-28
16
35
-33
-18
-28
-20
-10
20
-36
5
15
15
20
11
-18
-4
-34
4
-6
-70
-68
-40
-23
-6
46
7
-35
-14
24
27
-3
8
-5
-29
9
-60
65
-3
-11
15
-2
22
18
-40
-26
-59
-30
-40
-6
-22
25
15
-23
64
-16
-133
-13
0
16
-18
1
31
2
-2
-37
-22
-43
20
35
-44
-37
25
-16
12
0
75
-30
-16
-12
-11
-11
-12
-30
-55
-12
-41
-37
-16
-32
8
-2
0
42
21
35
28
-44
-31
27
-44
33
-36
-57
49
-2
0
0
0
0
3
-26
-25
20
-4
-3
8
9
0
27
16
1
0
-97
-29
9
-8
6
-15
-3
17
18
-1
-9
-15
3
61
-16
-4
-9
-47
-32
-28
4
-29
-21
8
17
24
-5
15
-5
-10
-13
13
-23
-62
36
-46
-24
0
18
-4
7
43
14
29
6
2
12
7
11
-54
82
-11
30
-3
-4
-28
-3
14
23
25
1
-12
-27
-14
-22
3
-64
-104
6
-29
75
-13
24
43
-24
20
15
-11
-1
-47
-9
-3
-4
-49
12
-72
-122
-23
32
-22
5
-34
-4
-2
-28
-25
-21
-21
-16
-18
-1
9
23
-41
-85
0
-5
-79
-30
-11
8
-23
-25
-33
-7
38
-39
2
-44
20
60
-17
1
0
-29
21
-3
-26
-27
-50
-45
30
-9
-15
24
-5
0
16
1
0
32
6
-14
-13
-44
15
-2
20
0
43
-20
30
-103
-35
-23
6
0
6
-16
-15
2
3
-8
-6
55
-10
18
56
60
31
-54
46
-34
2
2
-31
-19
-14
-16
-10
3
-23
-19
14
11
-27
93
31
0
-7
-3
15
-3
-13
-5
17
26
20
7
-50
48
43
51
46
3
-72
-11
4
-8
-35
-26
-7
1
-33
24
40
-76
16
45
75
-28
86
-53
4
0
22
18
-23
-21
-6
-10
-20
37
17
-10
2
-38
150
42
13
2
0
8
-10
-5
0
-22
-7
-20
-51
23
5
48
43
108
14
-4
0
0
-59
-49
5
-38
12
-31
1
-28
-34
77
30
33
2
-7
0
0
0
18
-53
97
-25
-12
2
-105
-1
-36
-96
-15
6
-2
-1
0
0
0
13
11
-32
-29
-18
-8
-3
25
0
28
8
42
-12
17
-89
-20
-3
6
-25
-21
-1
1
7
3
-5
20
-30
24
-21
-29
19
33
2
-1
-27
-2
37
20
-1
12
19
-8
-10
16
71
-46
18
-45
-27
2
0
-4
-7
12
2
1
19
-19
-29
2
9
-15
47
62
-15
11
-41
0
-1
-20
24
5
25
-29
-35
-14
-3
1
-10
-22
-90
3
-30
-75
5
46
49
16
-41
8
-8
12
-1
-19
7
-44
-14
-27
-22
-74
83
-5
71
16
31
12
24
-16
-33
-28
-22
-30
-14
-27
16
-22
-21
10
-5
7
-75
43
6
-8
-26
-14
2
3
39
-39
27
19
34
-12
-31
0
0
8
23
-47
16
-10
9
-55
-45
-9
-19
42
-12
56
-4
-14
0
0
-36
-3
18
0
-8
-4
6
11
-29
33
-17
-21
-3
5
7
2
-18
-15
13
8
-2
11
9
4
-1
-4
9
22
-3
-2
3
-19
9
0
4
-9
-3
18
21
20
17
19
0
3
-39
-39
-41
-36
11
-20
8
-3
6
-45
-51
11
13
-17
-9
10
0
11
-31
-5
-25
-1
-6
-25
8
4
9
8
19
-9
-10
-36
-27
2
8
32
15
-21
-51
-73
-6
22
2
17
141
49
5
2
2
-13
-2
-11
-6
-14
36
7
-14
11
-10
4
-12
2
-7
47
15
28
-2
-1
9
0
1
1
46
21
8
18
-5
6
4
3
3
35
8
-16
29
16
16
-3
3
2
-68
22
57
29
12
24
6
4
10
16
24
15
23
11
1
0
5
1
28
14
10
-3
-2
-8
19
12
5
-22
-13
-22
-1
11
-29
15
11
13
-32
-63
-15
-32
-60
-26
-88
45
11
-41
-55
-117
-2
0
0
0
0
0
0
-17
-44
-56
-39
-17
-51
-90
-166
27
0
-46
-17
0
0
7
-35
-48
-1
-69
-162
-91
-57
66
0
0
0
-6
28
0
0
0
11
25
-1
18
-4
9
58
10
0
-33
-2
24
1
-12
4
8
3
9
8
21
16
43
40
0
-2
11
51
38
-20
28
8
28
30
8
10
15
-60
-146
0
1
33
31
-39
-55
-19
4
-10
57
47
-18
40
-8
-19
0
-71
8
0
-28
2
-66
17
1
9
10
6
1
46
-16
0
39
43
-7
-33
-14
-42
-18
8
-10
33
-8
-21
16
11
0
44
-84
21
-8
19
17
36
50
-20
-28
72
-42
-12
46
0
20
-39
-26
10
27
17
-31
-14
-16
-9
4
-17
0
0
-18
0
13
4
0
0
0
-19
-1
-35
-7
0
-5
17
-40
14
19
-1
2
-37
1
6
-17
24
-9
3
-11
-7
-4
7
23
2
37
18
-12
-1
14
-43
-6
-39
-10
-81
-54
83
-16
0
-38
106
56
-20
-21
-46
66
143
141
-17
91
32
77
-27
0
37
41
14
-11
-18
19
63
19
68
15
55
11
44
31
0
-4
-33
-2
26
-28
44
-8
37
1
-7
-20
32
-14
42
0
14
10
-52
36
47
24
-41
-10
-33
21
14
-67
-65
118
0
-72
-2
-17
-21
140
-47
-16
-48
47
56
25
-9
36
0
0
0
-39
51
0
0
0
-11
8
1
27
20
-45
12
27
0
-3
14
95
25
31
66
80
-2
24
40
27
-16
-35
97
0
41
-56
35
131
128
54
51
17
172
119
-53
44
-156
-17
0
6
-43
-37
-25
10
-17
41
-32
-3
-117
22
21
-50
49
0
-24
49
-43
58
49
59
10
-19
-5
-22
-21
-20
-35
5
0
-16
-6
12
-3
-9
0
-94
-26
-22
-44
28
-5
-18
-97
0
87
5
36
-26
3
20
-7
5
-8
75
-44
3
-33
-9
0
-16
0
10
-87
59
-40
-5
-15
56
20
8
-3
7
9
1
-6
-3
10
12
0
10
-13
1
13
11
14
-6
1
8
4
54
23
-9
19
36
-9
-4
30
-111
0
-18
-10
69
37
-58
49
-7
7
0
0
0
-48
-45
22
21
-32
90
-26
-65
5
-16
16
-9
18
2
-1
-5
-8
-10
-8
-7
-5
37
-47
-17
22
-17
21
-3
-2
-71
-17
6
-17
-2
-15
-7
34
18
-22
-7
11
17
14
0
-8
-17
15
-21
-3
-1
12
-16
12
-5
-3
-13
-31
-19
-2
-2
15
63
-7
5
4
5
6
-9
2
0
2
9
8
0
-1
-2
-4
10
-28
-25
-3
-23
-11
-7
-29
8
14
15
-3
-33
13
-21
-1
-8
25
-3
-16
-18
7
1
-6
-43
-18
9
-2
6
4
2
-140
0
0
0
0
0
0
0
0
0
0
-58
-32
-76
-62
-22
-34
37
-30
2
-93
15
-38
-87
-53
-5
66
-1
-13
-97
-77
-94
-69
-106
-4
8
-75
-61
-63
-15
-8
2
2
-2
3
-1
-119
-136
-69
-63
-90
-2
-5
-8
8
6
-58
-132
-148
-106
-65
-185
-58
6
-54
-182
-153
-114
-48
-87
-112
-23
-104
-38
-12
42
-62
-43
-53
-55
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-156
-76
-41
-66
14
28
0
0
0
-103
-39
-16
-45
3
0
0
0
0
-11
-8
-1
-109
-33
0
0
0
0
-139
-8
-38
-28
45
-3
0
0
0
-58
-26
-49
-49
89
14
26
16
-3
-41
-55
-26
-1
18
-63
0
-23
-26
16
3
3
8
0
4
-3
2
-5
-208
-72
-106
-122
-28
-36
-54
-47
-118
0
-88
16
31
-16
20
24
-37
-73
0
-164
-71
-24
-45
-12
-80
-59
-16
0
0
-129
-40
-28
-54
-39
-39
-48
-92
-57
-99
-56
-23
-81
-47
-68
-85
4
-4
26
-21
-35
-31
-37
-64
24
-18
-12
-5
-22
-26
-12
-34
-32
-37
0
6
-42
16
46
105
64
-12
-39
-47
-18
61
52
40
-39
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-39
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
31
-78
38
1
-112
13
76
-53
-34
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
-1
10
50
81
6
-5
-61
50
4
-56
63
-57
52
25
-93
-16
-4
-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
33
28
-22
23
2
-60
-34
-46
-58
13
-23
-83
-63
-69
55
-54
92
-119
44
40
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
19
16
-2
84
29
-24
-64
-28
-44
-37
-59
40
5
-62
-8
-21
51
61
39
21
-5
-33
-42
-33
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
-27
31
-30
-47
-21
-52
-57
-42
-73
-43
-19
-36
73
51
113
140
-2
89
76
71
89
-40
51
45
-34
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
-8
8
66
-12
-16
-17
-26
8
-5
-2
-21
-14
32
79
31
-11
166
15
-85
43
-60
6
46
27
29
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
47
8
23
-24
-6
-46
-23
38
-24
-31
63
4
48
56
19
96
21
-47
105
10
96
30
-1
35
5
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
-2
-9
-47
12
-9
-10
20
32
37
63
132
26
155
34
37
18
18
108
12
-28
-39
-58
62
-15
-2
8
-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
2
-3
-53
21
84
-48
129
-49
-36
-59
-18
-62
93
101
-28
94
-14
38
61
-7
33
31
-17
32
-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
-3
0
-6
-27
51
-4
-85
71
33
12
-6
71
-22
-15
42
46
28
4
2
7
-3
-15
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
25
2
0
59
24
-11
50
9
-2
23
-28
17
17
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
-2
0
0
3
1
1
0
2
1
0
3
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-11
1
17
-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
-1
0
6
-13
-26
-46
-1
4
7
15
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
8
-7
-18
-17
-31
16
-6
-21
7
-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
-2
-2
0
6
12
-2
-10
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
6
-3
-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
3
1
4
-6
-5
-14
-12
-13
37
-17
22
-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
0
0
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
-23
9
3
19
0
-50
17
11
29
-13
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
-1
0
-5
3
10
0
-12
24
24
-6
-10
4
-15
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
1
-38
-25
-29
2
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
7
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
4
-3
-36
-22
8
-9
-12
-5
-6
20
-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
-4
2
-8
-29
22
-17
54
-32
-10
-21
-3
-3
2
-6
-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
2
-1
-3
34
31
-12
-38
3
4
-2
-5
4
9
-26
-19
-7
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-7
4
-21
12
-2
-14
36
33
14
39
-13
12
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
-1
-8
-1
-6
5
42
-10
10
-39
-25
-4
16
-16
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
1
-1
-1
4
5
10
-1
1
-7
1
-18
3
24
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
-1
-3
0
-1
-6
0
0
0
3
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
17
-2
9
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-43
-27
6
-9
6
12
-9
-17
6
-3
-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
-2
-1
33
-10
14
-27
-13
7
-47
13
42
2
14
4
-9
24
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
32
-37
-27
-54
-1
30
57
24
-6
-28
-40
12
-6
-6
10
-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
-1
3
12
9
-35
-31
-13
-25
-9
-5
-20
-19
47
19
-76
7
6
-24
-32
13
0
-6
-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
2
27
18
-16
-15
39
10
15
13
-23
-31
15
-62
34
14
19
18
-19
10
-2
-5
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
2
4
-20
5
-12
-14
-15
29
-35
16
41
-61
-30
10
-14
-7
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
44
-8
14
5
4
3
23
13
10
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
1
0
0
0
4
1
-7
-1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-11
2
8
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
3
58
-37
-45
8
16
-24
-2
5
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-75
26
6
4
-52
-32
-34
-22
-50
0
24
0
4
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
-7
34
-6
20
-28
-33
55
9
-44
22
7
-53
-53
53
16
-15
11
-2
2
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
-40
-31
-34
-26
35
60
45
-18
-19
31
-22
64
-11
3
-62
37
-7
3
10
-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
5
1
9
-10
-43
23
-30
-46
-92
-40
8
-4
-21
42
-4
-23
45
-7
-11
-11
-14
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
1
-5
0
2
-42
39
-29
83
-47
143
-25
77
-3
-52
52
48
-10
-23
-33
-13
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
-8
-1
33
-28
41
-54
7
9
11
-60
71
27
-44
52
4
29
12
-19
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
-1
-3
35
4
-21
74
74
29
-40
-11
-32
4
7
21
-12
-4
-5
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
1
-3
-2
3
-2
2
4
6
-11
42
5
-8
10
-9
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
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
-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
-55
-6
-32
0
23
-6
13
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
-11
-17
-7
-16
-12
-21
-46
-2
-33
9
-72
22
17
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
-25
19
6
-18
-77
-25
-27
-51
-2
-47
-19
-29
59
6
-30
16
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
5
2
-26
16
11
-75
53
-18
-54
28
-5
18
-20
41
35
-23
-8
18
4
-11
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
39
-16
-23
16
-38
-77
63
45
34
-59
-37
-53
-14
-61
-37
37
-11
21
-27
-13
-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
-2
2
-70
-46
-49
8
-48
-51
-39
3
26
-41
31
-76
19
-26
-63
-62
-27
-8
-15
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
-7
5
1
22
-27
-31
-135
22
-2
-26
-51
57
18
33
-49
5
-18
-13
-11
6
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-21
11
8
-7
-31
19
29
-35
-26
63
23
-36
41
6
-2
19
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
1
-33
3
17
-39
-5
-2
39
6
39
13
-15
35
-1
-6
14
-9
-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
2
6
5
-14
22
-9
15
12
9
-12
1
-9
-2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
35
6
-11
12
56
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
83
-62
-2
23
-42
39
12
-5
21
-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
-53
-16
16
-1
55
-8
41
-45
-76
-44
36
78
8
4
-3
25
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-8
-24
36
5
30
19
-21
51
9
-99
-56
109
-18
-5
17
14
-5
-10
-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
25
-46
55
-7
43
-18
-67
31
-20
-18
-16
7
62
-33
28
87
49
6
32
36
-9
21
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
10
65
14
-7
42
28
-32
8
-114
24
-23
60
41
16
16
59
-92
-1
1
15
6
30
-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
2
0
28
38
16
52
4
52
37
12
103
-25
-41
4
-92
18
5
-17
70
22
37
15
5
23
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
-1
-21
10
14
-33
146
31
21
-16
18
61
21
52
-10
2
0
18
41
14
4
-10
-6
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
22
2
-22
5
16
-15
-65
48
-34
-54
-23
-39
51
3
-5
15
-17
11
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
3
-44
-40
30
31
-22
10
15
15
45
9
19
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
8
-1
-5
1
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
32
39
-11
66
29
-40
23
53
-30
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-56
35
-96
60
-18
-12
4
-18
2
0
-61
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-17
22
-8
28
-9
22
-34
-61
-67
40
-69
49
-107
21
22
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
20
4
35
63
-25
-91
16
-11
-10
58
-38
-13
71
-65
-60
15
3
6
-21
-38
-1
-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
-44
-80
-71
-61
-51
-32
-50
-116
-7
-106
2
67
-23
34
-49
19
-77
69
16
60
-19
31
48
-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
-12
30
52
41
-103
54
-78
-76
43
56
42
-24
44
28
92
51
108
-66
74
-66
-6
9
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
-5
-4
32
-39
1
-80
65
60
87
18
-99
-26
82
78
177
93
28
-20
6
10
63
18
-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
2
2
21
-18
71
0
-128
48
163
63
12
172
-70
11
-46
30
78
51
13
-26
-28
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
1
0
19
-21
49
-16
0
-17
-81
8
122
47
-3
82
4
15
-16
2
-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
1
0
-1
-14
-5
0
-24
-23
26
10
-11
2
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
40
-49
-55
-4
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
21
14
30
58
55
-23
101
0
22
2
-16
-20
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
23
25
6
-6
27
53
-27
-21
-26
-10
31
61
9
-64
-4
26
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
18
14
-13
12
-87
-40
-24
35
-81
33
-12
72
68
10
-52
101
65
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
86
87
-13
48
-62
28
59
12
31
57
-51
-27
53
31
106
-56
28
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-28
27
-21
-4
84
-20
86
20
14
-25
11
-9
18
51
40
-10
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
3
-2
8
14
-15
-7
-24
7
-58
26
10
28
12
-26
-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
-6
-2
-1
12
-15
6
20
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-24
-44
-17
45
39
18
-21
-167
-34
28
-80
-27
4
13
-3
-14
-44
-109
-17
-33
42
93
-73
20
-25
88
-85
-73
-45
-26
-15
0
-6
26
-66
125
59
-111
-80
-71
-22
-52
-42
10
-7
58
87
35
10
-14
-6
0
-71
-3
99
27
-36
-89
-30
-12
32
21
4
8
62
11
53
5
0
0
-10
-27
-8
27
10
-31
9
56
10
0
6
11
29
-56
22
12
0
0
0
21
-5
45
-55
-2
24
123
-4
-10
-15
-13
-42
-60
30
100
43
45
-18
11
14
4
11
57
42
1
-59
-60
-58
-79
19
-37
-85
120
41
-38
-6
-23
-40
35
-49
-32
3
5
-4
-63
-65
13
-3
-33
33
-4
30
-36
-23
10
-40
29
-25
0
-2
-14
-30
-20
41
-49
57
-35
47
12
-28
22
-57
49
32
-28
0
0
-19
-23
24
11
-28
-86
27
-29
43
-18
-35
43
75
78
-37
0
1
-7
-58
-46
-42
6
-36
-66
33
25
101
-33
-72
-76
114
19
0
0
-1
-11
-1
-55
4
-3
-53
6
14
35
102
55
33
125
67
0
0
0
1
-1
-1
20
63
6
-5
-7
25
16
96
-27
-12
-28
3
-39
1
22
-27
50
-89
9
0
-25
-15
10
-42
-52
0
-55
-8
2
-35
-44
-88
-35
6
-3
-24
0
43
12
125
67
19
6
-12
11
1
-47
0
-38
13
-58
11
18
-54
26
-1
62
19
-42
-14
6
-65
1
-63
-53
27
44
28
32
55
-1
29
-23
11
3
-77
-30
34
-6
3
-24
-32
18
67
21
-12
-70
96
-45
58
-17
-13
-15
-42
22
22
4
-7
-44
35
70
-10
-15
28
1
11
-6
20
-66
19
-38
-10
-92
0
2
7
22
54
35
-54
-2
53
27
-100
30
15
7
-30
-46
28
0
0
-9
-8
8
32
54
80
46
-79
-35
-96
22
10
48
52
76
0
0
0
0
7
83
-76
-56
-30
-106
-20
-28
-51
-15
0
-115
14
11
43
71
72
25
79
12
0
0
0
51
58
69
34
-72
-34
-10
-26
-5
-1
-61
17
-2
51
43
61
-30
-35
16
-22
51
-77
-22
-10
13
37
20
-8
45
-20
35
-37
-61
69
-18
44
-23
-16
14
30
-80
6
-51
19
-9
62
-76
-35
21
7
26
23
-68
18
28
-37
-111
46
10
8
-10
-15
63
-22
-101
-10
-21
-58
-22
25
-21
54
-26
30
9
-1
-43
-12
-11
-84
37
7
-19
-45
-70
-26
-18
-13
36
64
-36
-52
-3
24
43
76
-34
-44
-46
-7
-23
-34
-5
-15
-45
-38
-50
38
-130
0
1
-53
-2
-42
-25
-122
-66
65
16
-40
0
29
-56
59
-41
-63
0
0
-1
4
-21
2
25
-15
-52
-28
95
82
-23
1
11
38
-3
-32
-57
-60
-8
-33
8
-25
14
0
156
23
39
47
-29
-6
-41
15
-46
-64
-83
14
-74
11
44
-8
0
-5
47
-39
1
-53
26
-65
-43
-10
-73
-51
14
-16
-7
-32
137
52
88
83
-21
-43
-113
35
-39
3
-13
-31
-24
-17
-6
-9
4
46
52
37
-17
9
-30
-8
-27
-21
-41
4
-1
16
-50
-17
-19
-8
-41
36
-3
-78
-54
71
-33
-67
-34
-64
-15
31
91
3
23
3
20
-24
-63
8
-62
-95
20
48
0
-19
-38
-2
-3
72
-25
81
-1
-25
5
-49
11
-4
23
-58
-23
12
-63
17
5
-15
4
16
42
10
8
48
-29
-23
30
-45
-20
61
28
-79
11
0
5
-12
-6
62
-29
-74
-8
112
17
-20
-3
-31
23
-2
-46
-15
-7
18
33
28
87
40
105
42
0
-4
-63
-44
1
-26
29
-1
0
-1
-90
2
30
48
83
64
-28
32
25
58
10
-40
-19
-6
-7
0
-43
27
-41
47
76
-62
-23
39
56
89
-75
-47
20
24
-3
-16
1
87
22
68
164
-34
-60
-3
-13
2
4
-12
-5
-21
9
15
2
0
37
84
-60
61
59
-7
-35
-5
-6
1
-36
34
44
-12
-2
7
-2
-31
30
111
61
43
-17
-94
-29
6
-26
-43
-13
53
-37
16
2
0
17
6
55
-42
-60
35
0
-5
-20
-72
25
-29
30
36
-16
3
0
-21
-207
-63
-87
13
27
25
51
20
122
-121
-26
50
36
6
-1
0
-6
4
22
-13
-16
-149
49
-19
8
30
-13
7
20
-6
1
-4
0
17
-34
25
-132
-128
-26
61
-57
0
-78
13
9
-28
-11
-48
30
0
13
-25
-9
-47
28
-47
27
-20
20
-8
-54
-25
-36
9
-20
13
0
68
22
7
-24
-43
-4
-48
-32
-33
53
30
34
-22
-15
-55
34
2
-33
49
-35
-46
-9
-23
-22
-17
17
29
21
-31
26
2
-11
37
2
33
43
11
46
-29
2
3
16
28
-26
-24
26
-28
19
-12
15
3
-18
-29
-61
9
-37
5
72
12
20
-8
21
1
24
-14
-4
-9
5
-12
-76
4
86
-21
108
-127
46
-8
-65
-33
70
28
50
-25
-4
4
-9
-133
-112
32
-28
-4
-9
-65
-39
-67
-44
35
65
33
2
-5
0
-43
-53
5
-6
-1
-1
0
-93
24
11
69
6
19
33
-4
-1
0
58
-4
3
17
-10
-6
44
-18
0
12
-49
23
-24
16
2
1
0
-30
45
33
17
-94
4
9
36
-29
52
37
-129
-46
17
4
5
-1
7
-19
14
46
7
-68
-21
15
31
59
-6
20
-39
-19
-7
-5
2
5
53
-1
-54
110
59
-7
22
-1
-44
8
-38
-3
-6
-4
-3
0
-30
61
-9
21
10
11
-20
16
-95
-26
26
-24
-38
-28
-1
-2
0
78
27
-43
-4
52
-2
-61
39
61
80
19
-3
52
-24
-2
-2
0
77
148
61
-34
-38
-16
35
11
-8
-52
-46
-48
-53
9
11
1
0
23
49
3
30
63
79
-32
-43
-16
8
40
-20
-23
-14
-2
-3
-1
-21
-61
48
-3
-35
-29
-42
-51
9
-24
10
-4
2
-2
-3
0
0
-7
28
1
-17
-12
-56
-36
73
0
77
63
-9
5
-28
3
0
0
5
15
11
-2
13
67
77
61
-1
32
38
-12
24
-34
1
3
-1
-58
-16
-5
-29
6
-11
-51
-50
108
69
9
-12
-8
-19
4
2
0
34
-21
13
4
-53
89
-23
40
91
-28
-44
15
37
-5
6
2
-1
33
-62
-19
-76
-5
7
-23
99
-63
-24
16
-11
-1
-14
0
3
0
46
-4
-71
-38
-59
-26
96
-44
7
23
12
23
3
-10
0
0
-1
-30
40
-88
-84
-19
6
-27
-9
51
-22
-1
-35
2
9
-1
-1
0
-32
-12
5
118
12
2
-21
51
36
54
3
0
-3
5
0
0
0
50
-44
-22
19
61
-121
-40
-61
-36
-9
-2
-31
-1
0
0
0
0
0
-9
11
17
-68
52
66
43
0
236
11
58
118
11
52
-17
-67
0
-8
-28
-24
44
91
-29
0
38
72
-39
72
73
0
-69
145
21
1
-23
-24
12
40
95
-11
-19
-49
-14
36
17
-41
52
-16
156
89
-5
-55
24
-37
51
-17
-127
64
-33
-14
-16
5
-20
2
73
155
-39
2
0
-28
-26
-22
-43
-26
-46
-12
8
5
-31
-54
-22
-106
-7
51
-1
-4
-52
3
-29
-15
-1
53
10
5
-74
-19
-154
84
41
95
-4
1
16
-15
-30
-15
-43
10
1
33
76
-163
-28
-59
-2
16
-20
-37
-1
0
-2
22
-21
11
-54
-32
-45
-5
-27
35
-58
-155
-2
-17
2
0
0
0
6
-1
-18
-55
-4
1
-20
-47
33
-87
-62
-11
14
0
0
27
-29
-41
-21
114
12
2
0
78
31
66
54
-22
37
-66
37
-3
-42
16
44
-3
-21
8
-71
-18
0
21
84
-2
31
-23
-25
80
0
-4
29
4
39
-13
-6
-18
56
15
-5
37
-35
-117
-58
28
-74
0
-10
-20
3
76
28
8
-28
14
-18
-18
-30
-79
-32
78
31
59
0
1
-7
6
31
106
-34
-5
97
24
23
-2
-15
25
9
59
-34
0
0
4
-27
-48
-27
36
-34
16
-41
-58
-79
-47
-77
45
-56
23
0
0
2
3
-18
-30
-23
-40
-58
-29
22
-27
73
-9
24
56
-131
0
0
-1
1
6
-15
10
-43
-106
-62
35
-12
98
3
73
139
-58
0
0
0
-1
-1
0
-18
-18
-20
10
41
-28
39
7
-18
-41
1
-2
-11
29
29
-20
14
-53
86
0
33
-16
38
52
64
-90
48
-25
1
-15
-16
54
48
24
15
0
-6
-9
38
48
-66
34
42
7
43
0
-60
64
13
76
54
9
7
125
23
-27
-51
65
-39
-135
-99
32
0
41
6
86
-45
-82
40
42
37
-49
-49
0
-25
-39
-53
140
-47
-7
0
10
42
27
57
-71
-32
48
108
-77
7
73
-88
-25
-12
-4
-3
-5
-61
46
-3
59
36
-34
22
-33
7
-48
-17
-8
-37
-23
-6
1
-54
1
-39
68
54
-48
-91
33
-41
6
-25
-125
37
-57
-17
-8
-3
-4
21
-9
-11
59
43
-43
38
19
97
35
-32
17
17
-4
-2
0
-2
-5
-23
-60
-1
49
-163
-26
-13
2
56
-26
-22
1
0
0
1
-32
-15
-22
74
-14
-6
82
0
-18
38
40
52
-109
68
-81
-30
-10
-50
43
-56
53
-90
38
42
98
0
48
32
53
82
66
10
-56
7
-28
-38
42
-8
66
49
29
39
20
116
82
-19
5
-61
79
-14
3
28
-26
-100
19
-14
13
-48
39
-10
-18
-8
58
-12
-8
-60
86
0
-6
50
-21
-68
64
37
-36
24
-28
3
34
23
0
-5
21
-26
0
21
-15
28
-15
-1
23
63
4
0
-53
29
-41
9
1
-53
-54
0
-2
6
-43
-58
58
41
-151
-83
-39
8
38
39
-57
-31
30
-6
0
-1
-3
4
0
-17
37
96
-85
-63
-42
36
6
-21
-49
-71
-13
0
0
0
-3
6
-14
-28
75
-53
-31
-30
-56
63
22
-38
60
52
-48
73
84
4
-41
-2
42
55
0
-146
79
-18
-13
3
-1
1
0
48
12
-47
57
-41
-53
-38
73
110
10
-6
13
-29
-43
-43
14
0
70
-32
-33
107
-20
-7
12
-5
6
52
1
-22
-10
-38
11
-1
0
-15
-44
57
-16
7
72
76
47
37
84
-38
-13
-73
-31
-10
9
0
35
47
4
-18
28
58
58
75
-17
-4
15
16
46
-5
-5
-6
0
-76
24
48
-87
-34
-18
-24
39
27
29
-22
-80
-29
-30
-15
0
0
-7
-81
110
-5
53
66
-27
-57
-29
-6
-127
13
-31
7
9
1
0
70
-26
5
132
-49
132
-32
-83
-70
-121
48
-37
24
0
1
0
0
-21
-73
-5
-57
154
-87
-20
-13
6
-33
3
0
0
0
0
0
0
33
-212
-93
63
-97
-2
-13
77
0
-3
6
-33
25
-26
-10
-2
0
27
-24
4
3
47
-30
-57
60
22
3
41
9
57
-52
-5
6
0
92
-48
36
48
46
-7
53
81
11
85
-30
-22
2
6
-8
-3
0
-76
15
-64
48
99
-70
-20
-2
90
-35
-43
-19
-31
27
9
6
0
0
12
-82
23
54
-57
-2
0
30
-62
92
-45
-1
-9
29
2
0
-45
49
-33
-47
10
-52
16
-34
33
-40
0
-48
-23
-18
-15
12
0
-4
-28
-8
-1
15
-17
-90
-26
82
-31
-38
-46
-35
3
-27
-8
0
3
-63
24
-5
-35
-49
-58
-35
-39
-11
-32
-31
-9
20
0
-2
1
0
8
-48
-1
24
15
-37
30
-28
65
-120
-29
14
3
4
0
0
108
93
132
10
22
82
52
-95
0
-34
33
-61
-34
-18
-3
0
0
-16
17
-61
-10
58
11
109
14
-35
-63
31
-26
65
-29
57
0
-2
64
43
-104
3
76
-4
17
-41
14
-126
-6
11
-24
73
2
0
0
114
30
-24
83
-45
25
-17
-11
-41
24
-16
57
47
13
1
1
0
100
30
-36
-35
12
-14
76
40
-42
26
24
24
8
8
0
-2
0
79
-38
7
-66
-79
47
-74
-64
39
-51
-55
11
17
4
5
0
0
-54
42
36
56
-20
-19
14
-32
39
-29
53
-7
3
-1
0
0
0
42
-77
13
10
14
21
-5
26
2
44
-4
-15
0
-1
0
0
0
-65
123
10
20
29
-28
-18
31
3
-21
-1
0
0
0
0
0
0
64
47
26
18
-75
-82
12
4
0
109
28
-30
-7
43
0
-3
0
-71
-13
23
-6
89
35
-22
43
75
13
142
-30
2
-35
29
1
0
32
18
44
-31
-4
-23
73
43
-40
-8
24
-22
-23
-9
-7
6
0
-7
-31
79
70
-28
44
-56
8
-42
-6
-76
-3
-9
32
-10
0
-1
9
-22
73
8
7
66
-11
51
-27
-61
-14
-68
-22
-5
4
0
0
-95
111
94
-7
-9
24
82
31
-66
-165
-93
-61
-19
-27
7
4
-1
61
60
64
117
-28
-29
-3
-23
-19
17
44
-12
5
-29
-38
-1
-1
-35
51
-61
51
-27
81
-59
-109
33
-39
18
2
42
17
18
0
0
0
-2
25
-56
-10
-26
-24
17
-22
-30
30
-22
-28
19
4
0
0
0
28
42
10
-30
9
9
-5
3
-53
-7
-10
5
-9
-2
2
13
-9
5
-30
-9
-10
2
7
-7
6
16
3
19
-8
-15
-14
-11
11
2
11
-29
-7
9
-9
-7
0
21
-5
12
15
7
-9
9
7
8
26
-15
0
-30
18
48
8
14
11
-4
-22
25
25
2
-27
7
27
-34
14
21
-16
54
6
-9
32
41
-8
-18
2
31
-5
-25
-27
9
13
39
23
-15
1
21
2
-1
12
-3
-1
-6
-2
-13
60
12
8
15
-3
4
-9
-2
-9
-8
-12
19
-11
4
2
-2
2
-21
14
40
-8
8
15
-5
1
10
-17
39
4
-5
29
8
16
-12
2
-22
14
-23
-16
14
22
-13
5
0
4
16
37
-29
35
-18
-14
3
21
0
1
-31
69
-39
31
24
11
-10
-17
-4
27
34
14
59
-19
-11
-62
74
-61
0
0
0
0
0
47
-26
0
0
0
79
107
-4
-48
-22
28
2
0
0
0
0
0
84
156
0
0
2
57
50
89
-106
28
-12
-4
0
0
0
0
7
145
236
253
194
187
54
-57
3
-54
-110
16
-2
0
0
0
0
15
100
175
193
214
141
75
-120
16
-42
48
-22
-1
0
0
0
8
117
110
123
135
117
41
-27
-75
-33
-30
19
12
0
0
0
0
0
-10
52
62
19
2
-38
-26
-5
58
-47
-23
-6
0
0
0
0
0
-58
-49
-60
-39
-119
-95
-90
-73
7
-55
-29
-4
-1
0
0
0
0
0
-82
-118
-149
-224
-114
-81
64
-1
51
-25
-4
0
0
0
0
0
0
-55
-221
-207
-176
-129
-51
87
-7
5
6
0
0
0
0
0
0
0
3
41
0
0
0
13
36
61
-22
21
-1
0
0
0
0
0
0
31
-86
0
0
10
92
65
-31
12
6
5
0
0
0
0
0
-3
53
79
24
160
144
-11
2
18
37
-52
-23
0
0
0
0
0
17
72
12
114
111
48
-36
-90
-36
-27
-17
-6
0
0
0
0
0
6
88
122
134
59
19
-25
-33
-25
-6
14
8
0
0
0
0
0
0
-17
60
-16
-28
-101
-146
36
6
-6
5
4
-1
0
0
0
0
0
-69
-13
5
-28
-65
-57
-41
27
-21
8
-8
0
0
0
0
0
0
-15
-67
38
-114
-92
-71
-26
21
-3
4
-7
0
0
0
0
0
0
0
-48
-29
145
39
-17
-31
1
-1
1
2
0
0
0
0
0
0
-104
-7
0
0
0
81
34
75
-51
39
4
-1
0
0
0
0
-2
110
-21
0
0
50
121
39
-22
-53
-23
17
0
0
0
0
0
-6
110
148
127
136
92
-34
79
-50
-49
17
-5
0
0
0
0
0
8
37
231
198
157
66
-37
-10
-13
69
-38
-4
0
0
0
0
0
-12
89
198
110
33
-59
41
-2
-126
-135
8
0
1
0
0
0
0
0
27
-38
1
-61
-43
-67
23
-17
85
17
1
0
0
0
0
0
0
-113
-119
-29
-77
-94
27
-24
-63
13
18
20
0
0
0
0
0
0
-5
-127
-109
-58
-126
-108
-16
18
16
2
0
15
0
0
0
0
0
15
-194
-6
-77
-51
-9
2
-5
2
-3
20
0
0
0
0
0
6
35
-39
0
0
0
74
19
-37
-19
-13
0
0
0
0
0
0
-27
113
-52
0
0
41
-9
-71
37
22
-1
-2
0
0
0
0
0
40
29
71
124
196
96
-31
57
18
-13
-4
-2
0
0
0
0
0
136
148
115
81
104
40
-22
-12
-6
-71
-1
0
0
0
0
0
0
75
78
58
78
133
19
-86
-16
-4
-26
-12
0
0
0
0
0
0
-41
-19
80
-3
-3
-64
-137
-15
-15
50
28
0
0
0
0
0
0
35
-25
27
-54
-92
22
26
0
7
10
6
-1
0
0
0
0
0
3
-7
-157
-52
-77
7
9
30
-4
-11
-1
-2
0
0
0
0
0
0
9
-17
-35
-142
-17
-9
61
1
0
0
0
0
14
-97
10
13
36
-2
-64
0
0
0
-80
26
5
27
19
-13
1
7
10
-44
-5
33
-16
-29
0
0
0
4
46
69
7
20
0
-3
40
-36
59
59
36
-32
-24
14
83
25
-6
31
12
-15
33
3
4
-17
10
-38
21
82
77
53
57
69
85
28
31
83
-16
-35
2
-8
-43
1
63
94
112
-6
69
14
7
69
-7
55
36
-21
12
40
-1
12
55
36
83
91
52
29
-1
-23
18
18
21
31
9
-24
-15
0
76
76
142
64
36
87
-31
-1
-36
-36
47
-24
-39
-38
-17
16
-15
8
8
79
38
91
-50
23
-59
-15
-36
-47
-29
-66
13
25
6
11
10
179
36
-35
-2
-20
-85
-91
-37
-59
-71
5
62
21
8
0
0
-3
93
43
42
109
-84
-71
0
0
0
37
40
26
57
25
19
-10
86
109
2
21
17
-61
-51
0
0
0
63
65
59
0
-42
-33
-6
31
13
-52
14
103
34
-10
11
18
-18
-7
66
-39
-41
25
-47
-1
7
9
0
-10
71
0
24
44
-30
39
-8
88
-41
-20
37
20
16
-75
-11
-10
-43
11
37
75
86
33
63
17
25
-33
-36
-35
43
1
-8
-13
79
29
17
-28
26
42
126
23
-48
-45
1
-12
-29
12
-3
55
54
-61
35
17
130
5
63
20
-25
-16
-44
28
-46
2
-8
2
19
-2
60
68
39
-85
-37
-1
11
-16
22
-22
28
17
28
-48
-1
32
17
78
-88
16
24
-7
-22
-69
-12
15
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
14
38
40
13
0
0
0
9
68
15
25
53
-2
0
-15
4
-7
12
24
21
-50
0
0
23
47
-25
44
-50
-10
1
0
-18
1
5
17
30
-10
52
115
76
57
81
-51
-32
-19
-16
-3
0
-5
5
13
5
8
-12
77
122
171
55
-56
-55
4
-54
-25
-25
0
-3
-4
6
-5
-8
20
21
-24
-19
-3
-166
3
-33
26
-32
-25
0
-3
4
0
13
-14
-5
-61
-128
-116
-145
-59
-8
-64
-47
-37
-28
0
-42
58
6
27
-31
-31
58
-98
-156
-116
-175
-20
-1
-6
-27
-2
-1
7
71
30
55
-84
-57
-166
-159
-62
2
-13
-5
-52
-32
8
7
-1
-11
76
17
12
-90
-55
-31
-47
-54
-83
-22
1
0
-2
1
-2
3
-49
-55
-48
-2
25
36
116
0
0
26
-18
6
-18
-57
-20
0
0
-153
-28
-25
-1
12
23
55
24
48
-18
-60
16
-4
-40
-22
16
0
-43
3
-11
1
6
1
27
24
-31
-99
-47
20
4
-83
0
-5
0
2
-6
15
2
-5
-15
42
37
51
47
-79
-18
-36
-13
16
-11
0
-36
33
17
1
-13
-27
0
6
-27
-21
-19
-93
-74
31
-14
0
0
63
65
35
4
-13
-34
-44
7
-83
-162
-25
-57
9
-51
-11
1
0
43
42
21
-1
-27
-57
-27
-80
-110
-70
-95
38
18
42
5
0
0
183
146
-1
2
-9
-62
-79
-92
-104
-40
-6
-29
26
14
0
0
0
2
-20
45
3
-49
-77
-140
-111
-30
-99
-22
-43
28
7
0
0
0
47
30
8
38
22
72
69
0
0
-25
2
19
-9
3
0
0
0
-38
1
38
62
59
80
48
-30
6
-1
-1
-34
-21
-5
0
0
0
-3
2
29
2
19
11
-8
45
-24
-53
2
-32
-11
9
0
0
0
1
-1
25
-13
56
-2
-26
76
15
-34
-5
-37
-21
-6
0
0
0
7
5
-14
-30
-1
16
-2
-36
-212
-85
-48
11
-27
-9
-6
0
0
3
0
-15
-36
-57
-89
-124
-42
-65
-44
-69
0
-41
-9
-2
0
0
1
-8
-28
14
-25
-76
-44
-119
-47
-59
-64
16
35
-4
2
0
0
33
0
-42
-4
-16
-42
-95
-161
-151
-93
13
-26
-15
23
-1
0
0
-25
-30
-48
-41
-68
-71
-9
-79
-120
-12
51
-37
-30
-4
0
0
0
41
-5
7
34
106
145
82
-11
0
-29
-36
-25
4
6
0
0
0
-11
6
36
59
58
7
0
-15
-51
-21
5
16
-24
-3
0
0
0
1
2
41
16
54
42
24
-48
35
-97
-19
-93
13
13
0
0
0
12
11
-2
3
8
-59
-12
-49
-28
-28
-28
-41
-72
-3
0
0
0
8
-1
-8
-29
-56
-52
-76
45
-67
-51
-32
28
-49
-8
0
0
0
-3
-9
-36
-45
-79
-126
-49
-171
-112
-27
-21
2
-6
-67
0
0
0
-20
-3
-76
-55
-133
-139
-145
-85
-181
-21
-52
-78
-32
-11
0
0
0
-58
-30
-44
-84
-170
-146
-126
-42
-142
-14
-26
11
12
31
0
0
0
-40
-39
-25
-122
-153
-83
-2
-45
-1
2
73
-1
5
-1
0
0
0
-2
0
-4
22
25
20
32
0
0
55
85
33
9
-2
-15
-12
1
-4
-15
-5
22
32
-4
25
0
21
0
56
-61
25
-33
-11
22
1
-16
-18
-1
14
23
45
16
47
7
35
11
-35
-1
-54
11
-8
0
-13
-5
1
7
17
28
6
24
114
42
-23
27
-41
-18
-2
-14
0
2
2
-7
-8
3
18
25
-35
72
108
40
49
-57
-28
-15
10
0
-2
-2
-18
-25
-22
15
-29
-89
-43
-142
-189
-18
106
-4
4
3
1
-10
25
-11
-34
-13
-25
-56
-114
-158
-110
-148
-55
1
-25
-5
-15
0
-19
16
-8
-99
-38
-59
-53
-170
-181
-63
-102
-18
-44
-45
-15
-3
0
-10
-14
-68
-33
49
8
-54
-79
-23
-78
13
-15
-8
-12
0
-1
0
-13
-36
-22
4
-14
-54
-29
-6
0
10
-38
6
-1
1
6
-2
0
0
-23
-6
1
11
-30
-14
0
-17
0
-85
60
49
-13
1
5
0
-12
-13
-5
-12
17
-17
-51
-8
-95
12
62
-17
7
-1
19
8
0
-21
-5
3
-2
-24
-20
-29
-6
29
36
29
-4
-4
6
-5
5
0
-19
-5
0
-7
10
-12
32
32
56
41
-3
1
-50
1
-5
0
0
13
0
17
12
-3
37
48
46
-16
53
31
-35
16
40
16
-4
0
-50
8
26
0
-33
-11
20
-58
3
-55
0
33
-2
-2
-4
1
0
-22
-32
-5
-29
37
79
33
-74
-85
-89
-63
36
0
13
-1
0
0
-52
-80
-15
-6
-1
5
-1
63
72
10
-6
4
0
0
0
0
0
-35
-5
7
2
-39
-73
67
0
0
0
-72
25
47
-15
-2
-1
1
-12
-4
-7
25
1
-30
-40
-24
0
71
-46
12
23
25
5
7
-4
18
-1
2
3
-19
17
34
43
-48
12
59
2
2
3
19
1
0
44
-3
-1
13
-31
9
5
54
88
10
106
74
22
18
-8
-8
0
30
-29
-6
-16
2
-9
14
-12
118
44
10
-98
-5
6
-7
15
0
-9
-6
-8
4
30
25
44
-61
36
32
52
-30
-2
-11
0
0
6
-9
-23
-6
-6
-1
16
35
-15
24
29
-62
12
-5
0
0
8
0
7
-3
-4
-26
3
-48
-162
-49
36
-108
-7
-42
3
-4
-1
0
0
-1
-15
-83
-12
-2
-61
-73
79
0
66
-9
1
0
0
0
0
0
0
0
0
0
0
0
-33
64
0
-25
111
92
237
103
-39
-56
96
0
0
0
0
0
4
83
42
26
47
-23
249
149
71
0
54
69
0
0
0
0
0
0
8
80
-5
-15
1
46
91
76
62
-2
36
0
0
0
0
0
0
-20
-47
65
6
14
-18
50
-2
97
48
101
0
0
0
0
0
0
12
-47
-47
20
7
36
11
53
39
137
82
0
0
0
0
0
0
-2
-6
11
60
85
-87
-5
13
48
52
4
0
0
0
0
0
0
0
1
-2
32
-1
-38
-19
-47
-36
-24
-60
0
0
0
0
0
0
0
2
4
-4
47
-90
-121
-121
-101
-30
-1
0
0
0
0
0
0
0
-1
1
1
6
-9
-7
-97
-187
-151
-130
0
0
0
0
0
0
0
18
0
17
3
190
93
31
36
56
75
0
0
0
0
0
0
1
-22
-12
1
-33
115
183
102
-17
15
-43
0
0
0
0
0
0
0
17
24
-12
155
27
94
62
1
98
-75
0
0
0
0
0
0
-1
3
-1
-51
-2
154
5
-113
74
13
71
0
0
0
0
0
0
0
1
4
-2
-27
77
13
6
-8
0
123
0
0
0
0
0
0
0
0
0
2
14
7
28
28
10
133
59
0
0
0
0
0
0
0
0
3
0
-4
-61
-158
-37
9
-22
-20
0
0
0
0
0
0
0
0
1
3
0
-12
-32
-87
-90
19
-16
0
0
0
0
0
0
0
0
-1
9
0
0
-16
-31
-71
-69
-18
0
0
0
0
0
0
3
11
0
16
84
159
134
42
95
46
-51
0
0
0
0
0
0
5
69
-38
-24
85
156
73
63
78
30
-12
0
0
0
0
0
0
6
-83
71
73
-51
123
64
-14
-23
58
27
0
0
0
0
0
0
3
24
18
7
119
33
4
28
59
68
0
0
0
0
0
0
0
0
0
-9
37
-70
76
27
-13
33
66
25
0
0
0
0
0
0
0
-3
0
3
-41
19
-63
41
-32
-98
23
0
0
0
0
0
0
0
11
-8
-1
15
-14
22
-65
-15
7
-20
0
0
0
0
0
0
0
0
0
0
0
2
-21
-71
-90
-128
-12
0
0
0
0
0
0
0
0
0
0
0
5
-3
-82
-77
-27
-83
0
0
0
0
0
0
-11
55
0
-23
86
107
117
88
7
26
-86
0
0
0
0
0
0
6
-11
-1
-24
109
109
79
69
-8
-5
27
0
0
0
0
0
0
14
-25
-4
-3
-49
130
57
45
0
56
15
0
0
0
0
0
0
-4
-38
-16
67
-65
129
161
86
55
51
-38
0
0
0
0
0
0
12
23
-1
12
89
54
108
-2
140
61
-19
0
0
0
0
0
0
3
-1
1
0
-26
-121
36
-27
15
64
52
0
0
0
0
0
0
1
-2
-1
1
-7
-55
-72
-59
-1
-13
108
0
0
0
0
0
0
0
0
5
0
0
-32
-83
-9
-22
-14
-75
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
-62
-12
2
0
0
0
0
3
13
-40
-67
0
16
32
31
100
39
30
30
-32
0
0
0
2
4
14
5
-3
-14
19
-2
12
55
30
-32
23
35
0
0
0
3
-6
58
52
100
-22
-5
25
56
105
46
0
-13
34
0
0
0
-1
0
-4
6
59
12
24
32
33
-74
0
-2
15
12
0
0
0
-1
1
13
22
41
26
42
92
-33
22
6
32
-38
41
0
0
1
0
-1
-37
-9
42
6
11
27
59
-8
-13
-7
32
-41
0
0
0
1
-1
6
7
27
79
0
6
-13
36
2
-15
-1
14
0
0
0
0
0
5
4
-24
-43
-113
71
89
-22
50
-3
20
-56
0
0
0
0
0
0
-3
11
46
-50
16
-23
-131
-65
30
-37
56
0
1
1
1
2
-38
65
17
0
-48
20
24
-27
35
91
-48
43
0
4
-1
9
21
-53
36
-57
29
-42
-56
61
19
-8
39
27
50
0
1
-1
1
-1
26
-16
97
-33
-17
-21
16
65
-23
-43
6
-67
0
0
6
1
5
10
-21
-18
42
19
38
-40
43
-9
-29
43
-32
0
0
0
1
0
-5
-10
82
11
22
102
15
31
9
-13
9
158
0
0
0
0
1
33
-23
19
46
28
71
56
4
-11
18
38
15
0
0
0
0
0
9
58
12
20
60
27
52
72
-37
27
14
-8
0
0
0
0
0
-2
11
-18
73
24
16
82
57
41
-9
-39
59
0
0
0
0
0
1
0
0
57
12
44
-25
-106
-37
-15
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-21
44
22
0
0
2
6
61
59
-30
-151
-52
-43
1
40
-31
80
18
67
6
-12
0
0
6
52
18
-52
-72
-29
-24
-1
-15
-23
65
74
-33
-2
1
1
3
4
15
11
-53
42
52
-16
3
-5
-49
30
-10
-17
-10
-15
2
-20
-3
30
15
25
129
-30
38
1
-12
-14
-70
-45
-127
-71
-17
-16
-28
-56
8
18
6
7
-8
-55
9
-27
6
-53
-27
52
-74
-77
-32
-115
-123
-76
-53
-112
15
-46
-85
0
-3
-9
-7
-5
9
-101
-103
-62
-76
-108
-111
-52
-52
-70
-141
-85
0
0
-3
-1
17
-6
-24
14
-151
-51
-43
-39
-80
-95
-114
-62
-55
0
0
0
-1
0
-2
5
0
-39
-72
-18
-79
-24
-8
-53
-91
-9
0
15
-44
-36
-45
20
2
-26
0
0
0
1
5
-23
-34
-112
0
-1
5
-66
-8
17
41
2
-50
-13
0
-1
1
8
-3
-21
-15
0
3
-68
-52
37
33
92
37
-9
4
-1
1
0
23
18
27
-47
0
1
0
-12
10
-30
54
112
31
21
-3
-1
-1
14
43
39
48
0
-1
-10
47
1
25
36
76
93
9
-2
-2
0
25
43
43
102
0
0
-3
-45
1
58
72
54
69
27
-2
-1
-6
2
85
17
-16
0
0
-29
9
-18
141
69
-67
33
22
0
-2
0
2
32
60
23
0
0
-1
13
37
37
-23
-15
2
-7
2
0
-12
-38
33
49
30
0
0
0
25
52
-89
26
-35
-19
8
9
7
-15
-75
-69
25
-11
0
-1
-3
75
-29
-26
48
7
-2
0
7
84
127
37
17
-21
-39
0
10
46
-6
-17
19
14
3
1
5
21
6
55
-44
-55
-69
-116
0
-24
-18
8
-4
35
6
8
3
2
78
-7
-37
32
27
4
-94
0
2
8
-16
4
-28
10
3
1
0
-37
-38
-67
-7
-90
70
85
0
6
0
25
37
9
-38
-17
16
1
-48
-23
-79
35
36
-42
58
0
-3
-2
14
-39
-23
-18
-5
-1
-1
-23
-43
7
14
92
-103
-22
0
5
-11
-33
13
-19
-22
-7
0
0
1
-16
14
-31
-27
-77
-88
0
46
12
-8
-19
21
-24
-4
-1
-20
-30
7
-22
30
-40
-57
6
0
-5
53
-11
-35
-6
-14
-4
-5
-7
15
-25
17
-20
-127
-49
-44
0
2
-22
-24
0
23
9
4
0
0
14
0
52
-3
-151
-54
0
0
19
-65
-11
-8
-26
-6
2
2
2
-2
24
22
-17
-77
-38
0
0
-6
-9
-37
29
-47
0
-6
-1
-1
26
2
53
-44
-53
-87
0
0
0
-19
-27
-5
-10
-50
-5
-4
-3
13
6
19
-27
19
-34
0
0
-1
17
-3
-61
28
-39
-33
-3
-4
6
3
-12
73
102
4
0
0
-5
0
9
-60
7
-22
-11
-3
-4
-5
37
16
1
30
58
0
0
-2
36
-48
16
-1
-16
-1
-1
-35
-35
11
11
-6
-32
-42
0
0
-17
-10
-1
-25
-18
-9
-9
-6
-6
27
-8
-36
-1
-109
-56
0
0
0
0
-5
-2
38
-8
-6
6
-44
-33
-45
-42
4
-96
-171
0
0
0
4
-27
5
64
-21
7
-1
0
4
9
25
61
2
4
-21
1
0
0
-9
-15
-22
3
13
-1
-1
0
24
45
67
42
16
36
-37
0
4
-53
43
-46
-81
21
13
-5
-1
5
20
21
80
58
-22
-39
0
-1
-29
7
53
-86
-24
-21
-23
-18
4
3
50
6
70
11
-25
0
-5
12
-23
-32
-51
-101
-35
-53
-49
-42
-14
-25
-26
25
-29
29
0
-1
10
24
15
-53
-188
-47
-61
-49
-91
-71
-30
-41
-106
49
-19
-1
1
35
8
-1
-50
-133
-121
-74
23
-64
-131
-112
-17
-134
-88
-62
-1
1
7
-24
0
21
-24
-95
-81
-135
-40
43
-71
-84
-65
-59
-48
0
2
0
2
6
-1
-2
-35
-76
-77
-14
-53
-12
-104
-96
-59
-48
0
2
1
1
12
72
51
-16
0
-6
-19
7
42
47
2
-8
49
0
0
-4
-8
-55
-93
7
1
-4
-5
-5
21
11
-38
-5
102
67
0
0
-5
-23
-33
-71
7
-18
-3
1
-2
-7
-32
-12
-1
26
-60
-2
0
-11
-20
22
-9
-20
-20
-4
-2
-2
0
-7
18
8
21
61
0
-1
2
-18
-38
9
-55
33
-5
-30
-3
19
15
10
-10
35
-5
3
-1
-4
-11
-14
1
-31
5
2
-3
10
-1
-24
63
34
12
151
0
0
0
4
0
-49
12
-10
1
42
-36
16
12
-30
-2
-19
4
0
0
0
-3
0
-10
1
-1
86
-26
-17
9
-49
-4
-32
-23
1
0
0
0
0
0
16
32
-35
45
42
1
14
64
-20
93
-128
-70
0
0
2
5
-25
3
18
26
0
3
-41
34
35
12
-24
72
-24
0
-5
0
-34
-44
17
16
9
-1
-5
-9
-5
82
62
-33
-5
-56
0
0
-11
19
-22
-45
0
-22
-18
-11
3
11
-1
5
3
59
-19
0
-3
1
-1
-52
-59
-23
4
-4
1
-5
2
25
-1
-8
21
133
0
7
0
2
-17
43
-9
-5
-3
-10
-12
14
10
-26
66
72
49
0
0
3
-22
-15
0
-22
-4
-3
1
-3
1
3
-17
36
34
99
0
-5
-4
37
-32
36
27
1
-2
-11
-3
-50
-12
-104
-14
29
-7
0
0
-6
-13
45
-30
-16
11
6
-9
-11
18
27
24
120
76
36
0
0
1
4
14
14
-30
-11
20
61
2
72
46
-23
-81
-44
-14
0
0
0
0
0
123
138
0
0
0
104
120
50
12
-97
-22
9
0
0
0
0
3
273
85
0
0
70
24
84
-37
-30
-70
-32
-15
0
0
0
0
76
39
156
178
184
85
29
-36
-100
-20
-130
7
-3
0
0
0
0
-54
-47
73
107
72
13
-14
-43
-2
-103
-92
-15
0
0
0
0
12
-26
-28
8
39
31
-76
-36
-57
-89
-77
-62
-38
-2
0
0
0
0
-73
-138
-152
-108
-109
-115
-66
-43
19
-131
-17
-92
-2
0
0
0
0
-106
-199
-214
-198
-103
-94
-81
-45
-18
-52
7
-12
-10
0
0
0
0
-2
-80
-251
-194
-127
-93
-55
-25
-15
52
54
9
4
0
0
0
0
0
-79
-248
-148
-109
-56
-79
-49
-65
0
14
3
0
0
0
0
0
0
11
103
0
0
0
31
56
57
-46
14
8
0
0
0
0
0
19
61
91
0
0
55
-24
35
-56
-17
45
38
-3
0
0
0
0
2
98
156
148
154
59
-64
27
-10
-18
-67
-15
0
0
0
0
0
15
-3
-32
33
50
14
-39
-26
-70
-34
-65
-33
0
0
0
0
0
8
-105
5
76
-46
-19
33
-39
-18
44
32
-15
-1
0
0
0
0
-9
-137
-103
-107
-65
-43
-85
-37
-16
114
-14
18
-3
0
0
0
0
0
20
-54
-115
-110
-19
2
5
61
-39
-43
-28
0
0
0
0
0
0
-12
-54
-34
-103
-37
-82
36
20
5
-8
9
-10
0
0
0
0
0
0
-109
41
-52
-24
-7
-57
-8
-48
-16
8
0
0
0
0
0
0
-38
151
0
0
0
71
65
45
25
8
-18
-7
0
0
0
0
2
74
45
0
0
70
-43
9
-49
-78
-87
-18
2
0
0
0
0
-3
149
122
129
127
83
-15
-56
-49
-36
-4
-21
1
0
0
0
0
42
37
39
51
76
-2
-28
21
-45
-39
-56
-43
-2
0
0
0
0
-51
-51
39
54
45
-27
-19
26
-71
-40
-1
-3
5
0
0
0
0
0
-72
-138
-63
-73
-74
-2
1
-94
35
14
-7
-1
0
0
0
0
2
-72
-137
-121
-118
-85
-69
13
-56
-68
75
85
-2
0
0
0
0
0
-7
-121
-67
-98
-79
-17
-59
-86
18
1
-5
26
0
0
0
0
0
6
-184
-77
-93
-11
-47
54
32
13
-12
6
0
0
0
0
0
18
15
50
0
0
0
128
30
45
-8
1
9
0
0
0
0
0
109
134
67
0
0
68
17
14
-22
-33
-17
2
0
0
0
0
0
46
41
124
146
154
31
3
9
53
-37
-26
-8
0
0
0
0
0
-45
-21
34
112
42
11
-53
-26
66
-58
-12
-8
0
0
0
0
0
-40
-26
-3
26
11
-31
-32
-4
4
82
29
-1
0
0
0
0
0
-71
-55
-23
-49
-101
-78
-26
-169
-68
46
-29
-2
0
0
0
0
0
2
-13
-24
-77
-48
-6
-70
7
23
19
-33
-12
-1
0
0
0
0
-2
-126
-63
-169
-119
-67
-56
17
-61
28
-23
-2
0
0
0
0
0
0
-17
-63
-43
-48
-16
78
-16
2
-1
3
1
0
-57
-24
-49
-36
3
-14
-94
0
0
0
66
58
-38
20
-15
21
6
-47
-9
-7
-7
46
-6
-14
0
0
0
34
33
3
-23
27
3
-2
44
-46
-21
-35
-5
16
-33
49
62
67
34
107
-47
-9
-45
-19
1
-73
-1
28
-22
13
51
79
47
34
20
80
78
26
-39
-82
-38
-16
16
-46
7
-4
36
52
17
-13
-17
15
-16
-8
-37
22
-31
43
18
13
103
30
-22
2
-44
14
-31
-78
-30
-32
23
49
6
-10
-53
-10
178
70
55
54
20
-29
-46
-119
-50
-119
-64
-23
-42
7
-40
-12
-4
19
9
65
-13
-95
-99
-90
-151
-105
-56
-91
36
72
23
25
-17
49
18
16
-55
64
-86
-121
-53
-13
-77
-40
-93
-30
49
24
83
2
10
12
23
60
46
18
-7
143
0
0
0
57
86
106
75
40
-34
12
72
64
45
8
-24
-28
-32
0
0
0
30
76
48
23
-25
-36
-30
-15
88
-14
26
0
-81
23
-52
-1
-19
43
-1
-27
-46
-21
-2
-20
30
52
4
-25
13
-57
-26
24
57
16
25
-46
-27
-13
-60
-47
-25
-73
4
-4
24
-10
14
14
23
62
33
-33
-67
-89
-29
-22
-7
-12
-16
-31
15
-26
39
10
-18
17
41
-23
-41
-25
-62
3
-107
8
2
18
-75
-35
-26
0
-20
-33
30
12
5
-62
-52
31
-32
-26
24
10
50
-31
26
-29
-10
-21
-42
-30
-3
-20
-70
-54
-38
-76
2
-8
-2
-11
19
58
-25
-99
61
26
6
-42
-8
-76
-62
-87
50
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
17
14
14
14
68
55
47
0
0
0
-23
-11
13
-6
81
-59
-1
6
10
12
19
64
26
17
0
0
32
-1
1
-33
-41
-30
29
-19
14
7
-3
-9
33
10
62
70
87
-8
-47
-44
5
-100
6
-48
-23
3
-5
-21
-23
-11
-59
-12
35
15
-45
-81
-54
37
-16
-89
18
14
29
-22
-20
-34
-39
-43
-34
-2
-8
-49
-57
-70
13
38
-69
-36
-4
29
-11
-39
-44
-57
-47
-94
-58
-61
-54
-71
-73
-98
-70
18
12
-5
-7
-39
-49
-67
-63
-87
-71
-104
-99
-74
-149
-48
-76
-9
-70
-28
-16
-43
-120
-102
-62
-61
-98
-69
-92
-43
-121
-25
-1
-25
-76
-59
-17
-5
-71
-69
-5
-59
-92
-98
-213
-115
-132
-49
-84
30
-26
-41
12
-7
1
-19
10
-6
-10
9
23
114
0
0
-14
-136
-28
-80
-94
-138
-8
0
-18
-12
-11
-7
8
11
23
39
19
-38
-54
-76
-89
-52
-74
13
0
30
10
5
2
7
-7
0
-19
-53
-91
-78
-4
-64
-110
-25
21
0
-6
-14
2
1
-6
1
51
49
10
-13
0
-43
-43
-7
51
-44
0
24
11
16
10
-5
-14
-11
-54
-43
-42
-55
-35
-108
-61
-35
17
0
18
4
29
5
-9
-30
-55
-85
-50
-68
-25
-22
-16
-121
-14
1
0
64
15
8
3
-11
-33
-84
-75
-23
-48
-31
-29
-18
16
12
-1
0
-67
-30
17
6
-10
-39
-71
-68
-47
-76
-42
-20
-6
17
-3
0
0
30
2
75
19
-11
-33
-35
-49
-79
-22
-25
22
61
4
0
0
0
71
73
64
99
129
146
111
0
0
-48
-48
-41
-27
-24
-1
0
0
34
8
31
65
100
96
40
28
6
-21
-48
-85
-9
21
-8
0
0
-2
0
21
34
83
60
12
2
-34
-31
-78
-24
-63
12
-1
0
0
-9
-8
6
13
11
-25
-28
-1
10
-78
-66
-34
-143
-15
-1
0
0
-7
-12
-16
-41
-71
-15
-86
-131
-7
-84
-222
-83
42
-47
-10
0
0
-3
-12
-13
-37
-40
-88
-113
-127
-95
-199
-85
-78
-146
61
-15
0
0
-2
0
-17
-32
-25
-74
-86
-87
-148
-65
-49
2
5
11
15
-1
0
12
-5
-16
-21
-22
-82
-72
-131
-133
-105
38
-7
56
38
-4
0
0
-24
-35
-30
-34
-37
-64
-82
-44
-51
-43
31
-24
13
-65
0
0
0
-21
-1
33
89
152
183
121
22
0
-53
-143
-102
-36
-13
4
0
0
-20
4
37
67
47
168
0
4
-41
-80
-72
-146
-116
-30
0
0
0
-8
-1
3
23
65
99
73
-31
-99
-132
-69
-83
-93
59
-4
0
0
7
8
-10
-22
-63
-46
-28
-39
-75
-89
-105
-37
-84
-10
-2
0
0
9
-5
-36
-85
-50
-62
-78
-94
-49
-48
3
-38
2
9
-4
0
0
7
-23
-44
-98
-104
-127
-163
-168
-43
-37
46
-74
-37
-107
-1
0
0
-13
-20
-71
-99
-120
-133
-174
-160
-153
-115
-87
-43
-13
-45
0
0
0
-24
-16
-42
-92
-103
-175
-171
-93
-82
-151
-50
-27
40
26
0
0
0
-94
-48
31
-161
-125
-269
-78
-189
-3
43
-28
-3
0
1
-3
0
0
26
17
5
16
48
11
110
0
0
61
77
95
-31
-24
-60
47
11
1
11
-9
10
47
20
46
0
54
0
52
-23
-32
-34
-53
-6
28
31
-1
-19
-11
27
-12
71
42
58
85
26
-24
-46
-96
-18
-47
-4
25
-14
-38
-32
-24
-50
-38
1
-9
-56
-105
-62
-96
-112
-69
-96
0
7
-35
-48
-45
-68
-39
-47
-4
-103
-98
-133
-89
-182
-91
-54
36
-3
-76
-45
-57
-53
-62
-86
-83
-105
-116
-108
-128
-79
-10
-101
-63
19
11
8
-30
-81
-73
-112
-101
-112
-151
-117
-151
-146
-33
77
13
-86
-3
0
-66
-135
-139
-72
-153
-124
-163
-155
-206
-175
-175
-77
-144
-6
-25
54
1
-26
-163
-15
-171
-102
-201
-95
-175
-89
-160
-27
-123
-40
14
-6
-2
0
-50
-41
-25
-21
-4
-59
-66
0
0
45
-49
-14
-26
21
45
0
0
-13
-14
-36
-25
-44
-19
13
0
7
0
6
-22
-51
-85
87
11
-1
1
-24
-10
-17
17
41
16
17
-30
39
36
61
-64
-1
17
36
0
2
-13
-40
-5
6
52
19
28
-9
3
108
116
-27
-27
-60
9
0
-21
-44
-20
-9
21
25
35
32
-43
-50
11
-22
49
-17
-45
1
-5
-9
-33
-65
43
-28
22
-27
-69
-66
-112
28
-40
34
44
37
62
0
-6
9
40
-61
-8
-84
-45
-65
-123
-108
-40
-29
9
18
-25
14
0
59
104
-9
10
-38
-83
-110
-102
-97
-170
-223
-14
41
25
-22
0
0
3
-43
10
-82
-155
-111
-65
13
-43
-115
-41
53
-20
-5
-4
-2
0
13
18
-6
27
5
9
54
0
0
0
34
116
103
-26
29
17
1
16
3
-10
2
-10
5
8
28
0
32
43
78
-14
-1
57
16
0
28
-10
-14
-2
-27
1
-9
-59
-21
-15
-4
35
69
-39
46
1
4
-6
1
-43
-7
-2
13
-21
14
96
21
-27
-18
-23
-32
-24
34
1
-40
-67
-72
-30
-37
34
-17
-21
88
14
-103
-18
-45
41
-41
25
0
-59
-87
-69
-27
-23
5
-21
21
39
24
-136
-81
-101
-20
-5
-17
14
-33
-36
-61
-55
-30
-20
-17
21
23
-1
-201
-59
-19
6
-7
9
2
-103
-110
-27
4
-44
-103
19
-13
17
10
-74
-154
9
-21
-6
8
0
25
-26
19
-25
-2
-24
-63
-8
-8
-16
-43
-4
-4
0
1
0
0
0
0
0
0
0
3
94
59
0
32
156
156
102
34
-13
-34
-10
0
0
0
0
0
24
15
33
60
36
71
130
101
1
12
44
36
0
0
0
0
0
9
78
90
58
104
84
20
38
-33
7
37
21
0
0
0
0
0
0
159
48
-26
20
-53
-40
-8
-41
10
28
37
0
0
0
0
0
0
58
-3
38
-15
-29
-41
-49
-74
-15
13
28
0
0
0
0
0
0
-6
94
-10
24
-61
-118
-74
-78
-15
-15
6
0
0
0
0
0
0
-9
49
32
-4
-117
-123
-79
-95
-95
-107
-69
0
0
0
0
0
0
16
-4
36
32
-122
-160
-122
-135
-140
-100
-79
0
0
0
0
0
0
0
2
6
-12
-12
-100
-141
-92
-142
-111
-75
0
0
0
0
0
0
4
84
0
-57
98
141
85
105
50
30
-12
0
0
0
0
0
0
3
28
26
19
22
80
124
55
40
39
73
0
0
0
0
0
0
7
8
65
51
34
46
21
13
22
37
81
0
0
0
0
0
0
-2
-40
-8
12
-3
-49
40
-28
10
52
5
0
0
0
0
0
0
-1
14
40
75
-69
28
-53
-69
68
9
-23
0
0
0
0
0
0
0
-4
4
42
55
-163
-144
-115
-38
-28
-29
0
0
0
0
0
0
0
0
9
9
-3
38
-55
-66
-83
-92
35
0
0
0
0
0
0
0
0
2
77
6
-58
-121
-94
-92
-44
42
0
0
0
0
0
0
0
0
-7
0
1
-71
-3
-33
-143
-106
-29
0
0
0
0
0
0
15
54
0
2
167
162
73
45
38
43
37
0
0
0
0
0
0
-15
17
19
30
49
112
60
35
69
53
-44
0
0
0
0
0
1
16
93
19
77
61
47
41
12
39
6
52
0
0
0
0
0
0
-22
42
14
-44
-6
83
36
-7
22
23
128
0
0
0
0
0
0
4
51
16
-15
-72
-124
-46
-7
-15
28
96
0
0
0
0
0
0
2
-41
48
39
-126
-114
-151
-94
-43
-13
-72
0
0
0
0
0
0
-2
15
23
61
-34
-50
-94
-98
-64
-63
-96
0
0
0
0
0
0
0
-1
-1
18
94
6
-152
-96
-106
-111
-12
0
0
0
0
0
0
0
0
0
-1
14
-91
20
-62
6
-1
-28
0
0
0
0
0
-6
49
60
0
-16
88
149
48
65
37
21
60
0
0
0
0
0
6
5
10
31
24
-36
187
80
22
35
-6
-4
0
0
0
0
0
10
34
22
51
78
104
92
14
25
41
67
49
0
0
0
0
0
5
4
25
17
-47
68
-52
10
27
54
9
52
0
0
0
0
0
-14
0
-20
40
-69
-112
-45
-3
-39
21
61
23
0
0
0
0
0
0
13
18
45
-26
-40
-51
-56
-88
15
-23
-8
0
0
0
0
0
0
3
-14
-26
-44
-46
-121
-28
-66
-30
-69
47
0
0
0
0
0
0
0
3
11
6
48
-86
-11
3
-86
-70
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-20
1
-100
-117
61
0
0
3
10
-25
-18
-47
-12
0
-9
51
102
85
42
-41
-20
28
0
0
-1
3
33
54
46
8
46
-10
24
104
73
11
-25
-32
16
0
0
0
-7
-36
-15
67
47
10
51
20
68
55
19
-27
-48
-9
0
0
-3
-4
-50
-25
8
71
23
27
46
27
11
-4
-11
6
24
0
0
-5
12
-16
-45
-39
41
-17
93
29
26
-57
-15
2
6
-6
0
0
1
0
45
31
40
-15
44
56
12
-3
-27
-40
-8
-22
33
0
0
2
2
-8
-1
6
-37
-31
-68
-65
-33
-3
-38
-43
-51
-9
0
0
0
0
5
-5
-7
-5
46
-10
-50
-95
-60
-19
-57
-22
-37
0
0
0
0
0
-43
-9
112
36
3
-116
-138
-112
-166
-8
-33
-51
0
6
4
8
9
-95
-51
-21
0
38
35
33
19
34
-12
-3
11
0
4
4
11
18
-28
28
8
-30
30
0
33
16
6
-22
-22
45
0
-6
-5
0
45
-2
51
-44
0
-19
5
52
28
3
-38
13
-7
0
-4
12
8
34
25
59
-5
-59
-20
22
9
12
3
-35
16
-22
0
1
2
-2
29
5
24
57
-1
27
-24
-18
-33
-41
2
24
22
0
0
0
4
-31
20
-21
26
29
13
5
-16
18
-44
0
14
63
0
0
0
-8
32
31
19
62
66
14
-29
41
-18
-11
-35
0
-11
0
0
0
-11
-18
-20
54
-17
91
104
-45
-46
-80
-1
23
-3
3
0
0
0
0
17
2
39
151
-6
48
43
-34
-47
-41
-46
-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
5
-56
-37
-3
-40
12
18
17
0
9
13
65
-42
-46
-100
-47
4
59
85
-8
14
19
1
-1
17
1
5
7
37
0
-21
-68
-11
-33
-16
-147
17
-21
-24
-41
-8
-6
2
-2
-1
19
-23
-58
-26
-49
-8
-7
-15
20
-40
-61
-47
-22
-1
-39
-76
-57
-69
-43
-6
-45
-53
26
-17
-69
-37
-4
-29
-132
-86
-24
-82
-104
-127
-100
-76
-85
-35
2
-69
38
-20
-80
-124
-85
-85
-90
-122
-140
-233
-185
-165
-56
-115
-134
-106
-46
-12
-26
4
-65
-32
-62
-134
-100
-122
-106
-132
-101
-74
-139
-113
-187
-28
0
1
10
-37
23
-78
-119
-78
-157
-68
62
-149
-117
-144
-57
-98
-43
0
0
0
-7
-8
-7
-19
-57
-158
-138
-26
-122
-72
-122
-132
-53
-147
-2
2
-35
-1
-33
39
-12
-3
0
0
1
-1
-28
-34
-54
-42
0
-21
-94
-132
-8
-4
6
-6
2
6
0
2
-3
-25
-36
-36
-78
0
-28
-71
-48
-64
-22
20
21
21
4
4
-1
-1
11
-13
-22
18
0
4
-70
17
-25
30
12
15
7
15
-2
1
-6
8
3
24
-25
0
11
-100
-92
2
24
4
-21
-7
-9
-5
-7
-3
3
9
16
0
0
10
21
-59
-25
-2
-36
-6
6
-10
-10
-5
-4
-14
-11
-35
5
0
-6
-16
43
-58
3
4
8
-16
-13
-5
-2
-5
-17
-42
-47
-65
0
0
29
-6
-43
-18
-14
7
-10
-15
0
0
-14
-24
-61
-17
21
0
0
1
23
34
-46
5
16
39
-2
-5
-2
-34
-3
-18
-38
65
0
-23
-39
-6
-8
40
58
-9
3
0
4
22
26
-4
-13
-64
31
0
-23
24
-17
11
5
39
5
0
-1
19
-4
57
-23
28
-73
-34
0
-77
-33
0
24
7
21
-2
1
2
14
-10
-12
-13
38
-95
-36
0
15
-19
-24
-28
-8
2
-5
0
-7
-4
19
24
-42
-59
11
33
0
33
20
10
-24
-10
-24
-1
-20
-7
-27
-12
-31
-18
-58
-77
-12
0
27
53
27
-42
-17
-32
-16
-8
-8
-5
5
-8
-51
-21
-110
-62
0
-10
-60
-30
-11
-4
-12
-5
-6
-9
-5
-39
-27
-41
-129
-74
-103
0
3
-61
10
-21
-18
-27
-12
1
-41
-71
-15
-45
-87
-152
-72
-13
0
-26
14
-21
-14
-22
-18
-16
-9
-13
-53
-54
-50
-94
-137
-36
-64
0
-6
-89
-10
18
13
45
12
2
0
12
-5
31
-6
-25
-38
0
0
-20
52
-41
30
26
37
10
3
-1
3
-7
22
18
-3
-4
0
0
-14
-178
-65
8
-26
26
-2
7
6
-6
9
26
-17
-42
-36
0
0
-77
-14
31
-47
-56
-45
-19
-18
-9
-35
0
47
6
19
-15
0
0
56
-13
-55
-100
2
-39
-27
-15
-10
-37
-43
19
-44
29
-30
0
0
-50
-52
90
-57
-43
-44
-18
-30
-36
-43
-8
2
-13
36
9
0
0
-20
-44
-57
-71
-52
-27
-39
-26
-13
-24
-41
-34
-70
-58
21
0
0
-69
30
-61
-98
-88
-59
-18
-24
-48
-15
-41
-26
-64
-154
-102
0
0
0
0
-20
-10
-40
-75
-17
-114
-100
-15
-79
-84
-120
57
-22
0
0
-3
1
-126
18
-50
59
74
13
0
3
21
5
-48
-13
-68
-50
-5
0
-88
5
-110
-8
-24
3
2
4
1
8
19
-6
-68
-21
-38
-15
-21
98
-79
29
-54
-20
-99
-10
3
9
7
-32
-16
-32
10
-14
13
1
-6
-82
-63
-18
-99
-23
17
-19
-30
-77
-86
4
-11
-6
-31
24
0
-18
-6
30
-58
-136
-102
-57
-68
-84
-112
-107
-56
-62
-29
-39
32
0
-21
-74
-59
-51
-99
-179
-23
-121
-135
-134
-184
-118
-107
-92
-88
-20
0
-43
-36
-46
-77
-159
-162
-78
-101
-112
-151
-67
-78
-105
-120
-64
-41
0
-29
78
-61
-6
-144
-108
-59
-59
-88
-71
-82
-96
-92
-126
-191
-42
0
2
28
18
1
-11
-79
-128
-176
-228
-146
-24
-79
-140
-97
-206
-97
0
4
9
-42
-26
14
-25
-12
0
-2
14
39
21
-15
-19
-7
-3
-2
-10
-16
-32
-108
-10
-29
-35
-2
-23
10
4
-13
-5
3
-47
-15
2
-3
-17
-85
-28
-45
-13
-4
-56
-29
-4
4
-12
-14
-9
-35
-24
-1
-2
-5
1
99
-62
25
-39
20
-16
-8
46
39
30
-13
-29
17
-3
-8
-31
62
-33
-23
2
78
-22
-22
-7
-26
2
11
10
6
45
12
-6
19
-69
-1
-27
-18
33
-2
-29
-56
-55
-23
14
1
50
12
-2
-2
-14
5
14
-1
-2
-32
-35
-29
-52
-12
-12
-58
-26
71
3
0
0
5
-18
-16
-123
14
-38
28
-22
-75
-71
-37
13
15
-63
20
0
0
0
0
9
37
23
-7
17
-15
-76
-60
-103
-16
26
-91
-164
-3
-29
40
27
-19
13
13
-11
0
-5
-67
2
15
15
34
23
22
-2
-1
-11
-62
-8
-12
-7
-30
-10
-4
27
-14
61
-6
43
12
-2
1
50
-73
27
-22
7
-3
-33
-25
-4
-43
39
9
21
-12
7
-1
8
-5
-10
-8
13
-21
2
-20
-28
-10
2
-11
-8
19
4
23
-5
-1
-6
7
28
-72
21
-13
-14
-22
0
-5
14
-28
14
7
30
-8
1
-30
60
10
-96
1
-6
-15
-24
-3
-14
-8
6
-7
8
0
30
0
-12
-27
-75
-83
-3
-8
-13
-21
17
5
-21
-35
-1
-29
-11
-36
0
13
-20
-40
2
-19
-14
7
3
-27
-12
-53
-112
-36
-120
-10
-12
0
0
-5
8
-20
-16
-6
14
20
-16
18
-30
-50
-50
-62
-14
21
0
0
0
0
0
117
122
0
0
0
102
108
67
10
-90
-34
9
0
0
0
0
3
273
67
0
0
78
19
95
-54
-22
-75
-29
-12
0
0
0
0
76
30
170
177
158
33
23
-26
-97
-5
-119
5
-4
0
0
0
0
-54
-44
85
74
21
-12
-27
-46
-3
-100
-114
-18
0
0
0
0
12
-20
-34
-15
17
-7
-71
-35
-40
-93
-73
-53
-34
-2
0
0
0
0
-72
-136
-150
-117
-98
-92
-73
-42
12
-139
-8
-88
-2
0
0
0
0
-101
-208
-212
-178
-79
-81
-69
-45
-28
-48
14
-11
-10
0
0
0
0
-2
-69
-253
-163
-89
-84
-54
-21
-11
55
59
9
4
0
0
0
0
0
-76
-249
-126
-93
-50
-77
-55
-47
-4
14
3
0
0
0
0
0
0
8
105
0
0
0
40
59
52
-41
11
8
0
0
0
0
0
19
57
92
0
0
55
-39
35
-60
-18
46
36
-1
0
0
0
0
2
95
152
167
156
17
-52
29
-17
-16
-62
-18
0
0
0
0
0
15
-1
-35
10
47
8
-33
-24
-61
-38
-63
-37
0
0
0
0
0
8
-112
-9
57
-56
-41
38
-35
-20
42
24
-13
-1
0
0
0
0
-9
-132
-102
-121
-59
-26
-85
-34
-12
117
-15
15
-3
0
0
0
0
0
23
-53
-122
-100
-4
-3
15
66
-43
-50
-21
0
0
0
0
0
0
-12
-46
-14
-95
-36
-78
46
15
7
-16
5
-10
0
0
0
0
0
0
-109
46
-63
-27
-7
-55
-10
-48
-13
8
0
0
0
0
0
0
-38
144
0
0
0
49
57
52
20
6
-20
-7
0
0
0
0
2
73
62
0
0
56
-37
9
-42
-69
-85
-8
2
0
0
0
0
-3
145
117
120
113
41
3
-81
-38
-29
-5
-16
1
0
0
0
0
44
32
12
58
63
12
-13
22
-39
-71
-49
-56
-2
0
0
0
0
-50
-45
13
38
44
-9
-29
24
-72
-29
1
-2
5
0
0
0
0
0
-73
-149
-82
-53
-65
-5
-3
-97
38
18
-6
-1
0
0
0
0
2
-67
-147
-119
-124
-79
-85
14
-59
-67
71
83
-2
0
0
0
0
0
-7
-113
-41
-120
-86
-7
-48
-80
15
3
-5
26
0
0
0
0
0
6
-182
-74
-101
3
-43
56
32
13
-12
6
0
0
0
0
0
17
24
80
0
0
0
126
32
51
-10
4
9
0
0
0
0
0
109
116
78
0
0
56
18
18
-30
-40
-13
2
0
0
0
0
0
47
34
156
159
167
21
3
-7
54
-42
-25
-8
0
0
0
0
0
-52
-29
38
117
40
22
-61
-35
75
-54
-17
-9
0
0
0
0
0
-38
-35
-68
5
-8
-21
-35
-3
4
85
30
-2
0
0
0
0
0
-77
-56
-52
-47
-95
-83
-19
-159
-70
52
-30
-2
0
0
0
0
0
4
-3
-14
-51
-32
-23
-80
12
24
18
-27
-12
-1
0
0
0
0
-2
-120
-64
-177
-104
-73
-58
16
-56
22
-24
-2
0
0
0
0
0
0
-17
-60
-35
-47
-20
84
-8
-9
-2
3
1
0
-55
-29
-28
-44
8
-16
-73
0
0
0
82
41
-42
20
-20
20
6
-52
-16
-19
-13
31
16
2
0
0
0
41
31
-3
-24
35
6
-2
49
-42
-34
-52
-1
35
-35
74
59
93
28
110
-64
-8
-58
-16
1
-79
-11
27
-22
22
63
87
57
30
17
79
87
23
-47
-81
-35
-16
18
-37
-11
-16
19
51
18
-12
-9
10
-13
-30
-45
24
-30
41
18
18
112
27
-23
-15
-38
9
-47
-86
-42
-34
35
48
-1
-5
-50
-10
184
65
52
46
35
-39
-43
-145
-60
-117
-75
-42
-43
12
-32
-24
-4
19
12
65
-23
-99
-73
-87
-149
-118
-68
-102
41
73
20
25
-21
49
16
12
-55
76
-92
-141
-51
-2
-80
-42
-89
-25
49
20
87
1
10
12
19
62
51
17
3
174
0
0
0
58
86
126
71
36
-36
11
71
59
48
12
11
-6
-5
0
0
0
29
74
40
33
-27
-34
-33
-33
92
-24
39
14
-68
31
-78
-12
-24
32
-6
-22
-34
-20
6
-20
31
60
13
-15
33
-71
-46
44
82
17
25
-66
-42
-15
-66
-45
-21
-77
0
4
33
-23
-9
9
23
69
21
-23
-74
-80
-31
-12
-13
-17
-7
-43
18
-39
40
8
-25
8
30
-35
-37
-23
-61
-4
-109
4
2
19
-85
-45
-45
-14
-28
-40
31
29
19
-67
-45
31
-31
-31
23
10
57
-30
19
-30
-32
1
-48
-32
-9
-9
-89
-47
-44
-73
-5
-6
-2
-8
17
55
-15
-101
47
22
5
-23
-5
-89
-65
-88
48
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
0
0
0
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
3
72
40
72
0
0
0
-4
-13
11
-6
80
-62
-1
0
5
10
5
51
12
41
0
0
23
-4
5
-44
-45
-30
30
-19
25
-13
-20
-25
6
-3
66
84
72
-34
-28
-26
1
-95
7
-46
-21
22
7
-30
-30
-34
-70
-10
15
9
-61
-80
-53
33
-12
-88
17
14
41
-29
-23
-44
-51
-56
-81
-12
-54
-60
-66
-73
17
35
-67
-34
-4
19
-3
-35
-51
-78
-60
-100
-57
-73
-29
-83
-81
-93
-77
16
11
-5
-11
-27
-56
-73
-62
-95
-114
-117
-83
-100
-151
-48
-76
-2
-68
-28
-16
-54
-123
-125
-72
-53
-85
-66
-76
-41
-122
-24
-8
-14
-75
-66
-18
-5
-71
-72
-7
-69
-90
-93
-210
-116
-139
-51
-86
24
-29
-41
15
-7
1
-26
11
-1
-1
12
4
101
0
0
-28
-152
-36
-80
-90
-139
-8
0
-25
-17
-6
-7
10
5
20
54
11
-34
-29
-64
-97
-58
-72
7
0
55
8
-6
-1
7
-5
-3
-16
-63
-83
-56
-19
-70
-111
-30
24
0
7
8
22
-2
-6
2
22
27
17
-12
5
-27
-37
-7
49
-42
0
33
19
17
4
-10
-22
-28
-72
-39
-27
-64
-37
-123
-73
-36
17
0
18
6
26
4
-20
-29
-53
-91
-51
-54
-13
-15
-35
-119
-13
1
0
61
8
-1
1
-12
-37
-60
-82
-28
-58
-14
-31
-37
14
14
-1
0
-88
-25
16
5
-19
-33
-55
-73
-50
-84
-25
-24
3
15
-3
0
0
25
0
84
9
-6
-32
-21
-59
-82
-13
-29
22
68
2
0
0
0
60
62
66
93
157
169
123
0
0
-51
-52
-52
-28
-24
-1
0
0
39
8
33
54
105
108
70
60
6
-22
-49
-86
-2
20
-8
0
0
-2
3
10
35
59
76
12
-13
-31
-23
-76
-22
-59
12
-1
0
0
-7
-6
-4
7
0
-37
-17
-13
41
-78
-60
-38
-147
-15
-1
0
0
-5
-17
-15
-51
-96
-53
-109
-135
-18
-76
-224
-86
43
-49
-11
0
0
-3
-12
-12
-39
-49
-88
-101
-148
-87
-203
-77
-89
-141
65
-15
0
0
2
2
-14
-28
-42
-79
-104
-99
-154
-77
-52
3
-2
13
15
-1
0
14
-6
-17
-35
-42
-95
-77
-120
-119
-103
42
-1
54
32
-4
0
0
-19
-28
-32
-29
-38
-50
-97
-57
-50
-39
25
-24
14
-66
0
0
0
-22
0
38
77
150
191
99
29
0
-53
-142
-101
-34
-20
4
0
0
-5
1
24
56
38
184
0
19
-47
-71
-68
-147
-120
-32
0
0
0
-12
-4
-2
26
77
95
110
-21
-90
-120
-68
-78
-93
58
-4
0
0
13
8
-15
-27
-78
-56
-46
-24
-76
-100
-105
-32
-84
-8
-2
0
0
7
-14
-47
-79
-75
-85
-96
-127
-54
-57
7
-47
7
10
-4
0
0
3
-35
-45
-84
-132
-150
-188
-175
-51
-33
44
-83
-33
-102
-1
0
0
-10
-21
-76
-87
-124
-138
-152
-159
-141
-110
-83
-40
-15
-47
0
0
0
-17
-8
-35
-106
-111
-180
-172
-115
-82
-145
-46
-29
42
23
0
0
0
-94
-50
24
-142
-139
-265
-83
-188
4
34
-32
-3
-2
1
-3
0
0
28
14
-1
0
42
8
103
0
0
66
71
96
-30
-22
-62
46
9
-22
16
-20
2
41
8
57
0
41
0
45
-20
-22
-26
-58
-6
29
49
11
-31
-26
10
-29
78
42
98
87
11
-36
-56
-93
-22
-50
-4
35
-6
-51
-46
-45
-67
-39
-14
10
-65
-113
-66
-92
-112
-73
-91
0
22
-53
-41
-78
-86
-78
-69
-21
-109
-119
-130
-89
-178
-88
-54
34
-3
-94
-50
-58
-60
-92
-90
-116
-97
-136
-99
-123
-84
-25
-99
-66
19
11
7
2
-93
-78
-105
-122
-105
-132
-136
-142
-165
-27
73
10
-87
-5
0
-63
-156
-136
-71
-162
-99
-154
-153
-200
-189
-170
-78
-141
-10
-23
56
0
-24
-163
-4
-169
-103
-207
-89
-184
-94
-163
-23
-121
-37
12
-6
-2
0
-47
-46
-37
-30
4
-34
-53
-4
0
32
-35
-13
-22
17
43
0
0
1
-37
-60
-17
-56
16
-2
0
12
0
15
-32
-63
-81
90
10
-1
-21
-40
-16
-31
32
60
30
38
-20
75
46
68
-65
2
4
38
0
14
-18
-32
-21
26
59
33
51
-12
17
106
110
-23
-25
-57
8
0
-24
-36
-24
8
11
33
34
5
-58
-56
8
-23
54
-20
-49
0
-5
-9
-12
-53
30
-22
2
-51
-92
-88
-128
13
-47
24
45
32
63
0
-2
14
33
-60
-16
-99
-74
-81
-152
-151
-54
-34
9
20
-21
14
0
66
119
-7
14
-65
-98
-123
-96
-109
-202
-220
-10
41
23
-22
0
0
5
-52
13
-87
-172
-114
-63
14
-44
-116
-41
53
-20
-5
-4
-2
0
4
17
0
23
40
21
66
0
0
0
42
113
102
-30
34
17
1
0
0
-8
-1
-9
15
31
37
0
22
59
85
-14
-2
57
17
0
42
-36
-12
-6
-23
14
-5
-59
-15
-1
-15
39
67
-41
42
2
4
-17
-5
-49
-13
9
8
-12
4
84
31
-53
-29
-22
-34
-26
39
1
-33
-63
-62
-40
-43
22
-31
-14
75
12
-127
-23
-42
40
-42
24
0
-52
-91
-96
-38
-26
0
-18
38
44
-17
-147
-87
-103
-14
-5
-19
14
-30
-47
-66
-45
-42
-46
-46
29
23
-29
-202
-61
-21
6
-7
8
2
-108
-105
-25
13
-48
-101
20
-17
3
9
-80
-146
6
-21
-6
8
0
12
-5
16
-24
-11
-26
-61
-18
-16
-17
-44
-4
-4
0
1
0
0
0
0
0
0
0
3
110
55
0
43
177
172
83
52
6
-33
-7
0
0
0
0
0
24
21
43
82
47
57
118
75
-8
23
37
28
0
0
0
0
0
9
79
82
58
117
99
15
32
-33
4
51
21
0
0
0
0
0
0
158
44
-29
14
-71
-32
-21
-34
-11
16
45
0
0
0
0
0
0
53
1
50
-34
-28
-63
-61
-83
-27
-19
31
0
0
0
0
0
0
-7
98
-17
23
-60
-104
-94
-88
-28
-26
5
0
0
0
0
0
0
-9
46
32
-2
-119
-123
-63
-107
-93
-106
-68
0
0
0
0
0
0
16
-4
46
33
-132
-145
-123
-132
-143
-106
-80
0
0
0
0
0
0
0
2
6
-12
-15
-96
-143
-82
-140
-85
-70
0
0
0
0
0
0
4
92
0
-53
91
139
86
120
47
32
-27
0
0
0
0
0
0
2
27
48
10
21
80
116
63
45
51
91
0
0
0
0
0
0
7
6
76
49
32
44
38
9
23
37
100
0
0
0
0
0
0
-2
-41
-5
20
-2
-51
37
-14
-7
54
13
0
0
0
0
0
0
-1
14
39
77
-70
26
-58
-87
74
5
-38
0
0
0
0
0
0
0
-4
4
47
55
-165
-152
-117
-24
-46
-45
0
0
0
0
0
0
0
0
8
8
-3
41
-48
-108
-99
-113
45
0
0
0
0
0
0
0
0
2
79
6
-62
-113
-103
-87
-60
34
0
0
0
0
0
0
0
0
-7
0
1
-70
-1
-32
-126
-100
-34
0
0
0
0
0
0
13
46
0
-4
161
156
60
51
41
52
41
0
0
0
0
0
0
-9
18
34
46
52
102
37
39
36
54
-27
0
0
0
0
0
1
16
105
1
75
64
33
34
21
35
-3
57
0
0
0
0
0
0
-22
45
6
-48
-4
75
36
-1
2
35
125
0
0
0
0
0
0
4
56
16
-18
-59
-123
-59
-37
9
9
98
0
0
0
0
0
0
2
-41
44
38
-118
-106
-148
-85
-17
-7
-83
0
0
0
0
0
0
-2
15
28
59
-36
-59
-84
-98
-63
-64
-94
0
0
0
0
0
0
0
-1
-1
20
91
3
-157
-93
-102
-125
-21
0
0
0
0
0
0
0
0
0
-1
14
-91
18
-57
13
-2
-32
0
0
0
0
0
-6
55
64
0
-17
85
147
14
110
42
-16
58
0
0
0
0
0
6
16
10
23
38
-37
199
82
13
32
-14
-8
0
0
0
0
0
10
37
23
61
81
107
87
-4
26
34
105
68
0
0
0
0
0
5
2
24
18
-45
65
-69
19
17
51
5
55
0
0
0
0
0
-14
1
-19
39
-67
-123
-54
-4
-40
-6
67
29
0
0
0
0
0
0
13
19
39
-29
-39
-50
-50
-109
30
-41
-3
0
0
0
0
0
0
3
-14
-26
-45
-48
-109
-21
-56
-41
-65
25
0
0
0
0
0
0
0
3
11
6
48
-87
-19
4
-82
-72
-10
0
0
0
0
0
0
0
0
0
0
0
-1
-20
11
-98
-117
57
0
0
3
11
-25
-15
-48
-12
0
4
53
113
85
41
-32
-24
40
0
0
-1
3
31
50
44
-5
32
-15
38
128
68
5
-24
-21
13
0
0
0
-8
-37
-17
71
44
-5
50
19
71
50
26
-31
-39
-21
0
0
-3
-4
-53
-27
4
65
32
28
73
13
11
-6
-21
19
33
0
0
-5
15
-15
-57
-38
34
-22
98
25
25
-70
-28
13
13
0
0
0
1
0
48
32
45
-4
61
63
18
-5
-36
-38
-6
-37
41
0
0
2
3
-8
3
19
-35
-53
-79
-57
-33
-6
-44
-61
-70
-17
0
0
0
0
5
-6
-14
7
51
1
-59
-98
-74
-29
-35
-37
-49
0
0
0
0
0
-43
-9
113
33
-1
-117
-146
-113
-157
-11
-51
-62
0
6
4
8
7
-93
-56
-30
0
43
31
43
39
23
-7
-21
-1
0
4
4
14
17
-27
30
23
-34
14
44
59
29
3
-20
-32
29
0
-6
-5
0
45
-9
58
-59
-8
1
13
64
25
2
-41
7
-2
0
-4
12
8
29
28
58
-1
-88
-6
22
-18
3
13
-31
15
-6
0
1
2
-2
29
6
30
77
25
17
-19
-29
-24
-47
3
23
20
0
0
0
4
-34
18
-21
12
30
8
-14
-21
10
-34
-6
12
63
0
0
0
-8
32
32
16
69
60
6
-24
29
-19
-3
-42
-1
5
0
0
0
-11
-18
-20
51
-10
96
96
-50
-58
-101
-11
21
-3
-8
0
0
0
0
17
2
40
149
-10
50
49
-30
-43
-32
-53
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-51
-16
12
-33
27
3
14
0
12
16
35
-52
-68
-90
-52
2
62
72
-8
11
10
-34
-9
19
1
-3
-9
33
-43
-28
-76
-21
-49
-19
-150
14
-29
-39
-47
-24
-5
4
-10
-30
-1
-35
-55
-31
-70
10
-6
-16
23
-32
-60
-35
-22
-9
-72
-87
-78
-85
-64
-46
-59
-38
27
-18
-71
-31
4
-38
-122
-81
-54
-109
-129
-144
-128
-79
-101
-50
-5
-79
35
-16
-75
-123
-90
-84
-106
-133
-168
-229
-179
-155
-69
-96
-127
-117
-45
-12
-21
10
-63
-30
-61
-129
-84
-139
-117
-100
-97
-81
-140
-120
-197
-27
0
1
12
-38
21
-78
-118
-90
-156
-72
61
-150
-114
-146
-65
-87
-33
0
0
0
-7
-8
-6
-17
-54
-158
-134
-26
-124
-74
-121
-134
-57
-150
-2
0
-41
-9
-30
31
-21
14
0
-1
0
-5
-26
-22
-65
-23
0
-20
-98
-138
-19
-26
-8
11
25
9
-1
1
1
-39
-43
-51
-68
0
-29
-65
-45
-78
-11
5
19
13
3
6
1
3
-1
-13
-7
13
0
4
-67
18
-39
19
0
-1
-5
-3
1
8
4
0
-4
14
-15
0
11
-94
-98
-3
20
-8
-14
-27
-12
1
-1
-2
10
-11
20
-19
0
8
27
-49
-27
-3
-42
-32
2
-3
-7
-3
-2
-10
-15
-50
28
0
-6
-16
53
-53
-14
-14
17
-27
-11
-10
1
-3
-23
-27
-68
-98
0
0
29
-16
-35
-32
-9
-4
-14
-10
0
2
-25
-9
-80
-33
17
0
0
1
11
46
-29
1
20
38
3
2
-8
-45
10
-26
-51
65
0
-31
-72
-10
-13
55
47
-12
4
0
-2
33
21
32
-6
-72
32
0
-33
15
-23
20
0
37
4
0
-1
19
10
64
8
34
-58
-24
0
-77
-25
-5
35
6
10
-1
1
-1
-2
-15
3
-28
46
-109
-30
0
14
-23
-25
-29
-4
1
0
-4
-10
26
14
18
-38
-62
-1
35
0
39
10
5
-28
-14
-22
5
-23
-3
-30
-9
-33
-54
-78
-74
-21
0
24
48
23
-34
-20
-27
-11
-7
-4
16
-21
-8
-62
-46
-118
-65
0
-2
-59
-32
-21
-6
-10
-6
-6
-8
-19
-42
-31
-53
-112
-80
-102
0
-1
-68
-5
-8
-17
-14
-12
3
-38
-89
-18
-20
-103
-152
-75
-12
0
-29
14
-20
-18
-21
-16
-17
-9
-11
-38
-61
-59
-105
-151
-35
-63
0
-9
-84
-2
31
7
47
12
0
0
12
-3
35
4
-21
-47
0
0
-25
59
-46
16
26
43
13
1
-3
-1
-16
38
25
-15
5
0
0
-14
-176
-59
-3
-16
33
3
9
1
-24
13
19
-7
-43
-31
0
0
-75
-21
26
-56
-57
-46
-23
-17
-6
-41
-1
38
1
7
-18
0
0
57
-18
-64
-85
-5
-32
-30
-10
-20
-44
-50
16
-69
14
-31
0
0
-49
-51
89
-59
-56
-53
-15
-32
-38
-48
-13
-2
-9
50
13
0
0
-13
-45
-49
-66
-54
-22
-41
-23
6
-28
-61
-46
-85
-64
17
0
0
-63
25
-55
-101
-100
-64
-25
-17
-48
-42
-48
-18
-65
-157
-98
0
0
0
0
-19
-8
-40
-71
-17
-112
-100
-20
-69
-72
-119
66
-20
0
0
-4
1
-128
24
-39
59
66
39
0
-4
14
-7
-63
-1
-82
-42
-9
0
-88
7
-109
-5
-16
-6
-4
-1
-5
-2
-24
-32
-69
-12
-36
18
-21
99
-84
20
-40
-6
-94
-20
2
-14
-21
-37
-39
-40
-14
-5
16
1
-5
-93
-60
-19
-102
-25
-5
-27
-44
-95
-103
-32
-55
-22
-35
50
0
-19
-8
28
-53
-137
-81
-85
-91
-96
-130
-110
-56
-70
-33
-32
-2
0
-20
-72
-62
-56
-86
-168
-17
-116
-131
-141
-207
-119
-107
-59
-111
-21
-1
-43
-38
-45
-72
-164
-171
-69
-93
-100
-151
-55
-62
-103
-105
-64
-47
0
-28
79
-60
-1
-147
-104
-55
-60
-89
-95
-77
-92
-96
-160
-189
-42
0
2
27
18
-1
-9
-78
-126
-174
-220
-151
-29
-88
-135
-88
-208
-98
0
4
9
-39
-30
19
-23
-24
0
18
10
42
34
-18
-33
-4
-3
-2
-10
-17
-28
-108
-3
-23
-55
-13
-9
12
20
-9
2
-1
-42
-18
2
-3
-20
-79
-24
-46
-5
-6
-50
-34
5
27
4
-6
-13
-41
0
-1
-2
-3
5
98
-50
21
-29
39
-16
-6
46
35
26
-11
-19
23
-3
-8
-30
65
-28
-23
5
76
-16
-23
-14
-34
3
11
-1
13
41
12
-6
19
-69
1
-25
-13
31
-18
-44
-43
-60
-14
11
-8
26
0
-2
-2
-14
4
12
0
-20
-39
-33
-47
-45
-38
-24
-64
-23
56
-20
0
0
5
-17
-17
-120
21
-53
-10
-38
-63
-108
-48
19
-5
-75
10
0
0
0
0
9
40
21
-13
5
-32
-74
-62
-119
-15
15
-94
-166
-3
-25
36
28
-15
17
5
-12
0
-17
-55
24
6
41
33
21
24
-2
1
-12
-58
5
1
-13
-59
-34
-5
40
-11
63
-4
41
14
12
1
52
-77
25
-15
-5
-6
-48
-24
12
-31
45
15
22
-20
7
-14
8
-5
-10
-18
12
-27
-6
-12
-7
8
14
-22
6
16
31
18
5
-1
-6
10
20
-69
21
-10
-5
-23
-1
1
15
-53
21
5
13
-25
1
-32
62
21
-102
-5
-2
-11
-28
-4
-13
-21
-4
-17
14
-3
24
0
-7
-29
-70
-86
0
-19
-20
-20
20
8
-33
-42
-13
-44
-16
-23
0
13
-19
-35
-14
-12
-4
-6
-10
-41
-21
-43
-110
-40
-148
-27
-22
0
0
-5
3
-23
-10
0
13
13
-33
3
-16
-53
-47
-71
-6
17
0
0
0
0
0
-17
-11
0
0
0
82
-33
59
-7
1
2
0
0
0
0
0
0
41
8
0
0
30
-6
49
57
12
15
21
0
0
0
0
0
7
-12
49
85
31
-57
32
-16
-65
50
16
28
-2
0
0
0
0
0
3
-2
-50
-107
-13
-51
-22
87
19
-61
6
0
0
0
0
0
2
-1
-26
-44
-54
-29
-34
-17
-39
-30
36
-10
0
0
0
0
0
-2
-27
16
-21
36
43
2
-14
-14
-19
4
-1
0
0
0
0
0
-4
-28
-8
97
40
-90
-73
-24
-48
11
2
-4
0
0
0
0
0
0
3
-44
-82
116
-59
27
21
-11
-2
5
3
0
0
0
0
0
0
0
19
-13
-50
-28
-30
4
3
0
0
0
0
0
0
0
0
0
1
32
0
0
0
-5
-13
-8
1
3
-5
0
0
0
0
0
0
-10
35
0
0
40
-10
-14
-36
3
-6
0
0
0
0
0
0
0
18
86
53
83
-117
14
51
20
-1
3
0
0
0
0
0
0
0
18
-143
11
30
-46
1
59
26
-7
0
-4
2
0
0
0
0
0
-2
-15
-21
-27
38
-26
22
17
10
-4
2
0
0
0
0
0
0
-6
26
-19
-97
-37
-13
22
-27
0
-11
-2
0
0
0
0
0
0
4
-32
11
32
5
-17
-33
1
-13
3
0
0
0
0
0
0
0
0
32
-64
-48
-45
44
-14
-19
0
11
6
0
0
0
0
0
0
0
-2
0
-55
-19
6
5
1
-2
1
0
0
0
0
0
0
0
7
136
0
0
0
-7
31
64
-31
9
0
0
0
0
0
0
0
16
76
0
0
-14
-8
49
5
24
3
-20
1
0
0
0
0
0
-40
21
-4
98
-39
45
31
40
31
-2
5
0
0
0
0
0
0
-9
-38
119
33
77
-9
31
4
-28
5
-3
-1
0
0
0
0
0
4
-184
-101
-26
-36
-39
16
59
23
8
2
0
0
0
0
0
0
10
-136
49
81
-13
-19
-3
-7
23
0
0
0
0
0
0
0
0
-6
-54
-38
-53
25
-9
17
2
-15
-1
-1
-1
0
0
0
0
0
0
1
72
-77
-57
-14
23
9
5
-8
0
0
0
0
0
0
0
0
2
26
-114
0
-10
-2
-2
1
1
0
0
0
0
0
0
0
-18
61
0
0
0
80
47
8
-9
11
0
0
0
0
0
0
0
39
-4
0
0
8
-20
-50
-47
14
-16
0
0
0
0
0
0
15
-4
145
109
152
3
-2
-41
-3
-31
-1
0
0
0
0
0
0
-3
-21
-7
19
-110
-50
15
-7
58
4
-5
0
0
0
0
0
0
0
-50
-99
-93
-14
-64
-41
57
23
-8
5
0
0
0
0
0
0
0
11
-39
46
-25
38
-17
-23
19
5
0
0
0
0
0
0
0
0
4
-85
19
-49
-8
4
16
5
14
2
0
0
0
0
0
0
0
6
-16
-28
18
-58
-2
-10
5
2
1
0
0
0
0
0
0
0
0
-1
16
9
-16
-10
1
-4
0
0
0
0
20
74
3
20
-45
-2
90
0
0
0
66
-31
-6
-11
-13
-1
-3
4
-34
-47
-26
46
-28
3
0
0
0
-12
40
-42
5
-38
4
0
-12
49
-3
-18
-23
35
-20
33
37
190
21
68
40
21
-25
1
-3
-3
-45
-12
32
-36
111
35
55
0
25
66
61
38
4
-6
-10
0
-6
-8
3
-41
-58
14
55
-63
-70
-29
79
-79
30
24
12
-4
0
13
-15
-30
-30
-11
23
-54
-27
-52
-29
-112
3
39
-24
-23
6
0
-10
15
73
-34
44
-31
-80
-86
-13
-23
-94
-25
5
1
-2
-10
-2
0
-1
-61
-54
-2
-8
-83
-5
-76
-48
55
36
-1
5
-15
2
-3
4
9
-51
69
-6
-45
-19
23
49
26
-47
37
14
3
1
1
0
-32
-13
35
-5
-1
55
100
0
0
0
17
42
-32
50
10
0
1
26
-13
69
19
26
-12
112
0
0
0
22
53
22
18
-34
-29
7
-37
-25
-69
65
76
-7
61
-72
-13
-32
14
-9
23
15
-12
-4
-3
-27
17
-11
7
10
-27
-46
87
172
-27
-113
-1
-78
-42
0
2
0
-4
-26
52
33
-56
-20
-64
16
56
-19
-33
-2
42
-4
11
-18
-2
-7
-10
-30
-107
-17
37
-23
-31
-9
-35
9
-47
-9
-21
-8
-7
0
-16
-21
-53
-12
9
-37
-120
26
93
19
-146
16
-2
-13
11
1
2
8
16
-45
-24
-18
31
2
9
3
-13
-96
-45
21
-22
6
0
0
0
-6
1
4
14
0
-41
1
8
18
-2
2
-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
-55
55
-59
-32
67
48
104
0
0
0
-53
42
1
-12
-12
-38
0
1
58
-17
37
100
44
97
0
0
3
-67
-53
7
11
17
25
0
10
-92
-63
9
24
-11
43
114
-11
-120
48
55
5
-31
27
-1
0
25
5
-4
-33
-16
43
41
26
-21
-39
-66
-20
21
11
-4
-5
0
-95
-48
-4
-4
-13
-58
-158
2
31
-48
-134
-47
-24
-11
7
15
0
-10
-96
-5
-6
10
-23
-24
-76
-75
26
-60
65
-21
-35
7
7
0
-2
82
36
-13
56
-5
-65
-63
-78
-36
8
-38
-36
1
7
-1
0
-42
22
-70
-6
27
16
-23
-8
-111
16
-17
1
6
11
-2
0
0
0
3
4
-55
2
-9
-68
12
-10
4
-7
-17
-15
-7
0
0
0
49
-32
-18
2
63
-19
41
0
0
-49
-44
11
1
46
-8
0
0
-58
-99
-15
-19
67
8
-3
13
-97
-21
71
63
-89
-34
-3
0
0
-1
12
-25
14
13
27
23
-53
-57
-57
37
-70
-40
-15
-9
2
0
-53
42
42
-25
-4
34
-19
-1
23
-13
68
-42
40
-20
-19
0
0
13
27
-19
12
7
-14
-10
75
94
61
11
35
-29
-10
-5
0
0
110
-11
10
-10
-30
28
24
-8
27
-19
1
17
-9
17
-5
1
0
-54
-26
-3
-7
15
-11
102
-16
-11
40
-16
-6
-61
-1
5
0
0
13
44
37
19
-29
-6
32
-28
-17
28
18
-34
-11
-3
0
0
0
-27
10
25
2
11
-61
-31
-11
-28
-22
14
6
2
1
0
0
0
-40
-13
48
-21
24
117
42
0
0
-23
-51
-16
-16
2
0
0
0
5
4
28
17
39
27
-3
-53
-9
-32
-2
18
-4
-8
0
0
0
-13
19
-12
13
26
35
-17
-9
-28
-16
-26
-13
-6
0
0
0
0
20
-1
0
36
9
27
23
-38
131
-24
-1
-3
5
3
0
0
0
10
-8
-15
-16
32
-42
-38
-8
17
-31
8
-8
-1
0
0
0
0
12
-24
-10
-19
-36
-23
43
-14
7
12
28
-4
0
2
0
0
0
16
23
-11
12
-89
-17
-29
-74
6
-49
-30
15
-3
7
-1
0
0
-26
2
-26
-20
-51
10
27
-14
-22
26
-4
-3
0
-2
0
0
0
-12
0
-14
-31
-7
-18
-37
-19
-38
22
-9
-15
12
0
0
0
0
-16
-24
33
-56
34
146
56
-48
0
57
-44
-20
10
-6
0
0
0
-52
-11
3
47
-5
101
0
14
13
16
-19
-11
5
-11
0
0
0
-8
8
6
9
47
44
111
-28
-24
-21
-18
66
-34
-2
0
0
0
53
18
-8
9
31
-38
-99
18
73
-47
-6
7
6
-2
0
0
0
-4
6
-66
-1
-60
-22
-22
-51
-68
34
36
-20
-42
9
0
0
0
-36
-25
-30
24
-78
-37
-24
11
-27
21
-3
-23
-18
-12
0
0
0
9
-30
-31
-30
-87
-42
28
-9
31
-50
10
-1
4
0
0
0
0
23
19
2
-7
-60
-90
-12
-50
-51
-17
11
7
2
-1
0
0
0
-1
-3
-63
26
-96
-13
-49
-15
17
2
-7
2
0
0
0
0
0
-9
-61
-14
-32
64
-120
92
0
0
-4
35
55
-1
-36
8
6
-1
-37
-75
-25
-14
83
-2
101
0
-15
0
-58
-31
27
-8
6
-15
6
11
-3
32
-4
-14
6
39
-2
79
26
-7
49
-11
61
-74
-35
-3
-50
-5
-60
-9
3
0
13
6
-22
-75
-106
-5
-4
-15
-92
6
1
37
-97
-7
-48
-34
-39
33
-3
-21
-27
-27
24
30
2
-11
0
0
-48
-21
-91
-95
-94
104
-45
-98
-98
-90
-15
-85
1
-43
-3
4
0
-9
8
-152
-45
61
-150
34
24
-55
-43
-4
41
-52
39
0
0
0
-6
-29
101
67
-124
41
40
-101
0
-28
-43
-5
-25
18
-3
0
0
5
-26
26
-59
-18
-43
13
-35
8
6
5
-9
1
0
0
0
0
19
-52
-15
-14
56
13
46
-27
0
-48
-10
14
61
19
4
0
0
7
-137
-59
43
57
87
-1
0
-19
0
34
-11
-29
-27
13
-1
0
-26
-44
28
-10
64
78
-9
135
-4
223
60
93
-40
54
-27
-1
0
-79
34
17
-60
34
4
6
86
-5
68
51
4
-9
10
3
0
0
3
35
-2
6
-44
89
33
-81
-123
-106
66
10
5
-30
-20
1
-1
-8
8
-13
-87
41
-22
-41
-43
-46
-152
-92
-6
-5
-7
1
2
0
-1
28
-117
-14
-103
0
-13
-71
-84
-36
-19
-6
2
3
-1
-1
0
15
30
-38
15
-67
29
-73
-28
-26
-44
-27
-7
0
0
0
0
0
22
-8
-8
-29
-76
1
5
-27
-25
-18
16
3
-2
-1
0
0
0
-59
3
14
42
49
102
2
0
0
0
11
46
25
-54
3
0
0
-61
-33
26
17
71
-31
27
-41
0
3
36
84
12
26
9
-15
2
107
-83
19
40
74
-33
-39
38
-46
130
26
-33
18
4
5
0
0
-117
16
-19
-8
11
1
74
50
60
96
-73
-48
-19
-14
-2
-1
0
-23
6
45
-4
14
12
-22
84
11
2
-29
13
-2
3
-3
0
0
81
-23
-96
-4
9
62
-18
60
28
-156
-93
-20
-9
-5
0
-5
0
-8
73
-96
-42
35
-28
-36
51
-23
-92
-38
-27
4
10
-11
0
0
-37
15
-10
-48
-23
38
33
-25
-33
-47
-58
16
-14
0
0
0
0
-3
-53
-10
-34
25
21
-7
-42
-55
9
13
-1
0
0
0
0
0
0
0
0
0
0
0
9
27
0
53
84
65
-4
-7
34
-56
39
0
0
0
0
0
0
34
44
90
21
5
-22
63
28
-23
2
72
0
0
0
0
0
0
32
33
-35
103
128
-49
-74
0
31
33
4
0
0
0
0
0
0
-3
-18
17
29
-3
-36
24
-15
48
26
4
0
0
0
0
0
0
0
6
15
41
-33
-46
-71
-34
-6
-31
47
0
0
0
0
0
0
1
19
-49
-37
-48
-39
-27
-37
4
-105
7
0
0
0
0
0
0
0
2
17
-12
-32
-112
-3
10
14
-42
21
0
0
0
0
0
0
0
0
-1
19
-71
28
-37
-76
-20
-5
-152
0
0
0
0
0
0
0
0
-1
-2
-2
-50
8
4
-8
36
-81
0
0
0
0
0
0
0
15
0
8
-9
68
38
-46
23
-41
-69
0
0
0
0
0
0
0
9
61
-40
17
-23
57
109
-33
89
24
0
0
0
0
0
0
0
0
5
-1
18
-18
0
-3
-49
22
34
0
0
0
0
0
0
0
-1
4
-7
14
-19
-42
-15
-55
-48
25
0
0
0
0
0
0
0
1
2
8
2
-34
-55
12
8
57
17
0
0
0
0
0
0
0
-2
0
-2
-5
27
31
19
59
-61
-70
0
0
0
0
0
0
0
0
0
-2
-19
4
26
-108
-95
1
51
0
0
0
0
0
0
0
0
0
0
3
-34
-28
73
-103
-44
-32
0
0
0
0
0
0
0
0
0
1
-1
-13
23
28
40
-38
-40
0
0
0
0
0
0
2
2
0
4
-30
35
-54
79
23
34
-15
0
0
0
0
0
0
1
-31
64
28
-31
33
-48
76
-89
5
53
0
0
0
0
0
0
-1
20
7
39
25
47
3
-28
29
-2
74
0
0
0
0
0
0
-2
9
2
22
-28
18
47
-58
-55
57
-66
0
0
0
0
0
0
-3
1
10
29
1
-114
-72
-53
31
-30
34
0
0
0
0
0
0
1
-2
8
4
51
21
-4
103
64
28
-55
0
0
0
0
0
0
-1
0
2
29
-29
-15
-37
-59
69
-48
-23
0
0
0
0
0
0
0
0
-4
3
0
-22
-24
-22
6
52
-9
0
0
0
0
0
0
0
0
0
0
2
-5
-9
-10
-28
-16
4
0
0
0
0
0
0
1
-1
0
-30
111
29
-40
83
21
-5
-12
0
0
0
0
0
1
5
-1
22
70
25
109
22
-10
-61
30
-33
0
0
0
0
0
0
-2
68
-9
5
12
89
-54
23
76
145
65
0
0
0
0
0
0
-1
13
17
18
-58
-25
34
-91
8
-119
-76
0
0
0
0
0
0
0
-4
-2
-12
-56
-77
0
84
-10
-95
7
0
0
0
0
0
0
1
0
2
-2
-15
-2
-20
51
76
-45
15
0
0
0
0
0
0
0
-2
0
-1
-47
40
59
45
-26
51
-39
0
0
0
0
0
0
0
0
0
0
9
-29
-58
-93
8
19
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
-2
0
0
0
1
-5
19
-30
-31
0
80
22
65
112
-20
-30
43
-25
0
0
0
-2
-32
19
-22
32
-94
-6
43
95
-49
-2
28
-34
-61
0
0
0
-1
6
-44
29
64
-44
-20
75
60
-56
-46
62
1
-67
0
0
0
-1
0
-2
27
-28
57
67
55
37
50
-12
30
-2
28
0
0
2
1
1
-21
22
-14
-21
7
18
88
-31
53
40
59
62
0
0
-2
1
12
9
57
41
66
16
68
1
6
30
-31
-29
10
0
0
0
4
0
0
22
-31
-67
9
92
-94
75
-36
-30
-102
16
0
0
0
0
0
-7
0
45
-77
-12
-36
-1
-19
-54
83
-82
41
0
0
0
0
0
0
-10
-2
7
-11
18
-6
2
27
-11
-18
-76
0
0
0
0
-1
-12
2
-33
0
18
7
33
37
0
64
-103
-8
0
0
1
-14
-6
11
-15
42
16
11
87
42
-12
23
4
-22
-54
0
0
0
-1
25
4
10
64
-43
42
30
25
45
-68
-14
10
17
0
0
0
-1
-12
3
26
-4
47
-1
-71
-33
-32
45
-9
61
29
0
0
0
-1
-2
2
-46
-21
18
-62
88
12
71
35
15
39
70
0
0
0
5
-14
-37
-46
-22
-4
27
39
-23
-37
-58
-49
35
-39
0
0
0
-1
0
13
-14
42
-50
-6
9
80
53
45
-14
-43
68
0
0
0
0
-4
-1
16
-25
-18
-16
19
-66
-83
-50
30
-6
9
0
0
0
0
4
-4
5
2
-13
40
-29
37
4
-38
-66
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-43
78
-34
17
0
64
12
46
57
-108
2
-57
-83
-1
6
-54
11
-24
-61
-97
24
3
-12
-12
-24
-45
-11
-56
-81
-9
-3
-31
-45
-38
-24
6
-37
-3
14
-17
3
6
-67
-37
-49
4
112
1
-24
46
48
40
-14
12
-69
-175
-51
-65
3
47
-88
-33
53
-64
-2
1
-4
43
9
-51
27
-82
-30
13
-39
-45
-62
-43
-68
-117
-142
3
1
-7
-32
-74
-24
-47
-11
-61
55
-83
5
-50
53
72
6
20
-1
-1
15
-7
-16
-44
-35
35
-67
47
24
-37
-33
-2
-50
5
-26
0
0
1
-3
1
-11
2
-7
-86
17
-29
44
30
-38
-26
32
-33
0
0
0
0
0
-1
4
4
-31
-19
-16
-58
-25
-36
-29
-11
4
0
-26
4
-62
88
-34
6
75
0
-9
11
-17
113
-22
-57
-33
0
7
-10
-140
-54
-16
29
19
53
10
-7
4
4
0
12
-99
59
0
3
-11
45
12
72
-11
-22
-15
-1
13
-18
55
1
-82
-46
-34
0
1
-9
33
-12
-15
-54
-14
-22
-20
40
50
56
36
-33
-45
-110
0
-2
2
-29
22
-22
-44
32
16
-5
-8
-20
-12
83
-47
-47
27
0
0
22
-16
-11
31
5
-61
10
14
-2
23
3
-14
21
-15
51
0
0
2
9
-62
3
-97
12
2
25
-17
-5
47
6
58
-27
-65
0
0
11
6
-34
-4
6
13
-5
3
2
-6
-52
-42
57
-58
64
0
0
0
2
-24
-58
-6
-4
-15
3
11
-9
-11
25
-25
-3
0
0
-8
-74
-5
-35
10
9
18
-2
0
18
6
37
47
-63
-31
7
0
-23
14
-3
30
-2
28
-3
3
-58
-25
55
12
-19
41
-74
28
0
18
15
-48
4
-22
-5
5
-1
-14
-98
6
-28
42
40
-126
11
0
17
34
-12
12
2
-2
-4
-23
-4
57
-12
-16
-22
-85
-27
-17
0
-17
-17
-2
-2
1
21
47
-44
1
-41
-24
-44
37
-22
-40
-21
0
21
-23
19
-9
16
-23
1
12
7
43
-45
39
-90
-21
-50
-11
0
30
53
-14
-20
-1
2
0
-9
6
-61
-40
-13
-126
19
-29
-3
0
-10
-22
-37
4
18
26
-7
17
-63
-37
21
14
-27
-22
-15
6
0
2
-19
-36
-13
7
-27
5
-22
39
33
-24
-93
-15
-12
18
0
0
-2
5
25
17
17
25
13
-4
0
12
-2
72
5
19
-68
0
0
-1
-26
-31
-19
-23
40
20
-4
-12
29
-22
78
9
11
27
0
0
18
-7
20
-15
9
17
-9
7
-12
-14
2
36
-48
-29
-10
0
0
-7
-29
-21
0
10
-3
-11
16
-22
-23
46
-32
65
-41
-16
0
0
-5
26
-7
11
10
-38
-23
-38
-39
-39
-20
20
-71
-109
-16
0
0
2
-4
41
4
-40
-17
-15
40
-41
-8
-119
-9
-13
-60
34
0
0
9
6
-25
21
-37
0
-24
-11
43
-23
-28
-112
-12
-36
-7
0
0
3
5
41
-81
-71
-10
-18
-4
-16
-7
-101
-53
8
22
12
0
0
0
0
0
3
6
-6
3
-20
45
-36
2
50
49
16
-7
0
0
0
-3
-42
-30
-4
-7
-26
80
0
-56
51
17
-32
-83
-29
-13
-18
0
-13
-30
-22
-94
-85
-103
19
-10
-33
-30
-89
-8
40
-42
1
105
-1
-11
-46
-79
71
-62
48
-54
-8
-49
-10
105
-45
-58
-90
-21
-49
0
8
-40
23
19
3
55
-40
-88
55
36
-49
-67
-46
-31
-9
1
0
-2
5
-9
1
13
17
-28
-30
-14
20
31
29
18
43
-37
-125
0
0
-16
-27
-57
-11
9
18
-62
67
-87
-43
48
40
70
-36
77
2
-1
-3
-31
-7
-32
-47
15
-9
-54
-53
-9
-46
-42
-28
-6
-38
1
-1
13
24
-14
0
-48
7
-53
-33
-91
-55
22
-65
-37
69
27
0
0
3
-1
-4
-2
-13
-20
-27
-23
-124
-35
-43
-3
14
-49
4
0
0
-2
-14
-58
16
35
-19
0
25
4
71
90
-4
45
-23
-16
-1
0
0
9
-8
31
64
6
-6
12
33
31
24
-8
20
28
-50
2
0
-2
0
12
-12
-68
-15
6
17
70
91
75
45
31
25
99
0
0
-1
14
14
27
-21
11
18
20
-10
-25
-1
34
-60
-85
17
0
0
-1
-1
-23
-2
-61
-6
-28
-15
-98
-10
-48
24
-96
-35
17
0
-1
-3
1
-16
-12
-33
-56
-37
-113
8
-13
28
-16
-92
-130
27
0
0
1
-25
-6
-28
-77
4
43
-57
90
-36
26
-44
106
24
-32
0
0
0
-2
-18
-11
-46
14
-28
30
21
23
0
-60
-90
41
-3
0
0
0
0
0
26
-39
-37
-119
-18
-37
-45
-24
8
-8
1
1
0
0
3
25
-45
18
-67
90
0
-25
-21
40
36
79
-106
16
35
-1
4
-46
-22
32
41
40
-21
-63
55
46
74
-35
8
-25
1
26
0
-1
4
2
-12
-59
-46
-11
-12
48
17
15
22
77
50
8
-17
0
-2
-7
-34
-20
0
34
68
54
86
67
-68
21
-17
191
10
74
0
1
-6
-27
34
-21
20
56
-49
15
4
-20
30
-3
7
-118
-33
0
0
-3
39
-50
-2
23
-26
-18
-32
41
-54
-77
26
-15
22
18
0
0
19
-11
-52
11
-61
20
-9
111
16
-42
-2
-66
-15
-132
-47
0
0
-2
8
33
-30
-12
-74
-48
1
-54
25
-44
14
-61
43
-81
0
0
-2
-1
-34
54
20
9
-71
-14
-109
111
-24
-16
-11
17
-3
-36
0
-4
9
-51
-26
18
-47
-63
22
-42
-13
0
0
-8
29
39
5
-102
2
-57
121
61
67
73
63
51
39
40
75
29
-12
81
16
0
0
75
32
1
2
3
42
42
-11
-28
-18
-18
-83
-59
-41
-51
-149
-55
-24
-36
-38
0
0
-7
6
16
-60
-69
-66
-70
-1
37
30
48
37
54
27
12
92
38
20
42
-22
0
0
54
41
-30
2
50
14
40
94
-27
-25
-26
-106
-74
-83
-76
-159
-89
-93
-60
-46
0
0
-10
-3
18
-54
-97
-110
-121
-63
26
5
20
36
66
53
29
81
77
70
72
-27
0
0
37
35
-46
3
55
17
70
129
-59
9
-19
-56
-149
-84
-104
-102
-181
-80
-87
-8
0
0
0
23
9
1
-321
-175
-252
-81
13
-76
-7
25
144
-2
41
-65
212
42
105
-20
0
0
-9
-37
-72
4
204
8
126
10
-92
-3
0
10
-11
58
-29
3
-3
-42
-29
-5
1
4
-12
-20
2
-6
7
5
2
10
8
5
45
-57
-47
-19
-27
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
6
-12
3
-40
17
-31
-20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-16
20
-18
0
28
9
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
9
25
-7
0
0
14
-9
-58
0
0
-11
-13
-45
0
0
-22
1
4
0
0
-35
-3
-1
0
0
27
2
-28
-16
-4
-8
5
-39
-10
0
-4
0
-4
-30
-1
-1
-6
2
-2
8
0
-6
0
6
-9
10
7
12
25
0
3
-3
-3
-9
-34
-14
1
-14
3
-15
-1
-2
0
-4
-12
-12
-2
33
-1
6
-8
0
-23
28
3
3
-6
-1
-1
5
-22
-45
-5
0
0
0
0
0
-17
-9
-7
-3
-7
-34
-2
7
-18
37
0
6
2
-2
1
0
-26
1
3
-9
0
10
-5
-5
7
0
-19
-11
-12
-12
0
-10
-3
-1
-12
0
0
6
-2
-6
0
0
2
2
-22
0
0
3
6
4
0
0
4
3
0
0
0
7
37
35
5
7
9
-1
-8
5
8
4
4
3
-26
2
4
7
2
25
0
2
-15
-2
2
-9
6
-23
13
11
11
2
4
1
1
0
0
1
1
9
-6
0
1
24
6
1
-2
0
25
-27
5
-36
8
-7
-2
-8
3
4
1
-9
0
-6
-2
0
0
0
0
0
0
19
4
-2
-15
1
16
-5
-9
7
15
0
3
-1
1
13
0
2
3
-2
3
0
1
0
-1
-1
0
-3
-6
3
-15
0
25
85
5
-5
0
0
-1
1
-4
0
0
-4
-4
7
0
0
2
2
-9
0
0
-5
-19
4
0
0
-29
61
-51
-46
-7
17
3
-5
22
-77
-23
47
1
-139
-211
-29
55
68
-10
-32
-16
41
39
62
118
19
47
5
-30
-56
-30
-39
44
0
0
-1
1
-1
0
0
1
1
0
0
0
2
0
0
-82
-37
29
53
-8
-45
-14
12
-65
-5
0
0
1
-2
-2
0
0
0
0
0
0
0
-2
0
0
31
69
-28
-69
-35
0
-26
58
39
-42
0
0
-1
-1
-1
0
0
3
6
0
0
-1
-1
-8
0
0
-88
-11
91
32
0
0
-11
-50
31
0
0
-34
-52
-2
0
0
98
-19
75
0
0
78
-69
-66
0
0
-76
-23
0
-61
-3
-4
-14
-3
-131
-62
-21
-32
25
-106
-4
9
21
4
-15
5
35
27
16
46
1
26
21
5
-37
-26
-24
7
8
-51
-58
-30
-38
-64
-4
-89
-56
-1
-41
-41
-53
-120
-49
-48
-101
40
24
-49
23
-57
3
-19
-19
-15
-27
75
-119
-24
-50
0
0
0
0
0
59
-43
-30
-5
-24
-52
-70
30
-12
50
0
-9
-4
26
14
0
-56
-52
-43
62
0
-79
124
-59
-44
0
57
26
72
7
0
65
-7
-49
21
0
0
-2
-8
-14
0
0
-3
-28
-24
0
0
-7
35
-59
0
0
-23
18
-1
0
0
-1
8
7
-26
1
4
10
-3
42
-11
3
27
-14
-9
25
14
12
33
-11
14
12
37
17
51
-30
1
-3
25
-45
-5
-15
-1
-1
-29
-11
-59
-11
-23
-61
-101
-3
6
24
-32
-14
-6
-28
43
28
-14
21
31
-27
-29
6
-13
5
-13
37
-34
-50
4
-10
0
0
0
0
0
44
14
-6
-13
2
42
44
3
-20
51
0
-6
-7
3
20
0
-42
-3
2
15
0
-17
22
33
30
0
-40
-39
9
35
0
21
23
34
-10
0
0
10
-5
23
0
0
-18
-14
-6
0
0
-9
29
20
0
0
-11
30
33
0
0
37
-19
37
-4
7
12
25
27
-18
14
-3
10
14
56
22
4
15
24
-32
59
15
10
22
-22
80
-8
-7
-47
25
13
9
6
15
-2
-14
33
-9
2
25
-30
2
27
17
-51
11
0
35
34
29
27
-28
33
19
-15
0
-8
7
-7
-61
-24
-15
-14
-18
0
0
0
0
0
27
28
-5
61
-49
-30
18
-3
51
51
0
-6
-1
8
13
0
0
-11
12
38
0
-11
9
17
88
0
6
35
-20
0
0
-5
31
-31
14
0
0
-10
10
13
0
0
-13
9
24
0
0
51
41
43
0
0
-51
26
117
0
0
9
47
38
-3
23
15
53
-11
-16
10
0
36
-18
32
16
42
0
84
52
30
-33
18
-20
-5
-34
51
9
0
41
28
15
9
13
4
-10
8
-9
13
-45
1
-4
35
38
6
5
26
23
-40
98
35
-22
-2
-16
-29
-16
8
16
21
-72
2
2
4
27
0
0
0
0
0
-15
-49
-1
56
70
-1
96
7
-40
2
0
-34
-11
9
36
0
-9
-8
39
56
0
19
66
20
53
0
52
-57
15
-14
0
0
0
54
-1
0
0
-11
35
28
0
0
-18
44
14
0
0
-6
6
8
0
0
19
-6
127
0
0
-1
1
0
-17
-9
3
3
-2
2
5
-7
0
0
-24
-7
-8
-1
4
-5
-12
-17
-4
40
62
-3
-12
0
-74
-14
-11
1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
19
18
-72
-24
20
2
8
-2
0
0
0
0
0
21
-3
-3
-1
-5
0
0
0
0
0
-3
4
23
19
-19
0
36
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
-3
0
0
67
-5
-11
0
0
2
1
-40
0
0
1
8
-8
0
0
5
7
-55
0
0
3
12
64
14
6
5
-2
-3
17
3
4
4
4
12
2
8
3
8
21
15
-12
1
6
6
6
-7
-3
20
18
8
5
2
4
-9
-2
3
0
-21
-2
5
-15
-6
-2
-6
-15
15
-2
0
8
9
22
40
-6
19
15
5
5
-1
5
-5
4
0
-4
1
0
0
1
5
3
1
13
-2
55
31
10
60
-48
38
0
4
6
2
-6
0
-5
1
5
-19
0
-8
2
-2
0
0
1
5
-18
9
0
11
18
-16
-11
0
0
4
-5
-4
0
0
5
-8
-22
0
0
1
-19
-10
0
0
-5
-13
-2
0
0
-1
-1
-1
15
8
3
-6
10
11
0
9
-4
11
15
1
6
-3
-15
52
23
-16
-20
-26
26
18
-15
-54
41
31
8
8
7
8
6
2
3
1
4
11
3
5
1
-7
8
3
15
26
45
28
-19
-48
-21
19
21
10
6
2
19
-6
1
3
-5
5
14
0
2
1
-8
5
1
-1
6
-15
7
18
68
41
-55
0
4
2
0
-5
0
-4
-1
-1
-19
0
12
-2
-5
-6
0
-25
-12
-2
38
0
32
-18
-1
88
0
0
2
-3
-14
0
0
5
-4
-18
0
0
0
-13
-50
0
0
33
-42
-2
0
0
29
-18
-37
-82
14
-112
-28
-98
-17
-100
-11
-21
-27
-22
-63
-91
-32
42
-27
-31
78
-48
-33
19
-49
-54
4
1
-101
3
-111
-75
43
0
0
-2
1
1
0
0
-1
0
0
0
-1
0
0
0
-41
13
-3
-31
0
-48
-89
-23
-84
-173
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-74
-1
-8
-1
0
-135
-49
67
28
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
0
0
0
-11
-14
53
0
0
-102
-87
66
0
0
2
-75
13
0
0
-35
-29
5
0
0
4
5
0
-54
-17
1
-42
-16
40
8
-45
-35
-31
16
-7
-35
-35
-57
54
-69
-77
-73
-21
-31
-71
-39
-21
23
-67
-40
-43
-46
-35
-32
-155
5
-33
-51
-12
94
-65
-128
-67
-54
29
-49
-43
-8
-14
-27
-97
-14
17
-85
-10
-45
-54
-19
22
-64
-41
-118
-8
0
0
0
0
0
16
-13
-58
-13
-10
49
-89
37
39
-35
0
6
-26
-20
-40
0
-143
-37
-22
-50
0
2
-70
-101
-45
0
-82
-87
-61
-50
0
-9
-9
-36
28
0
0
35
-34
-23
0
0
38
-6
-19
0
0
11
-7
-98
0
0
19
-9
-113
0
0
35
-4
-28
28
4
5
14
-34
76
16
39
-3
-28
-7
18
22
7
-25
39
12
21
60
-12
32
5
3
31
23
18
21
0
0
-4
26
-7
-7
-32
-51
27
-8
-13
-55
-39
6
-32
-32
-63
-74
4
-10
-15
8
32
0
14
3
-19
8
15
19
5
-56
-21
0
0
0
0
0
6
21
-10
-105
-13
8
-22
13
26
-55
0
1
10
-20
15
0
-5
7
-26
-29
0
13
-6
-24
-34
0
11
-15
-56
-93
0
39
-20
5
36
0
0
11
0
21
0
0
16
6
-17
0
0
-4
-5
13
0
0
21
-18
-97
0
0
38
-29
9
31
19
13
-8
6
31
12
37
29
0
47
32
24
29
102
16
-1
-6
29
8
33
-31
76
-19
-12
39
36
-4
22
2
26
23
3
14
-12
73
-7
36
-27
-13
48
-20
-24
28
-28
-17
83
55
-28
1
52
-4
7
21
-11
-32
7
23
10
6
0
0
0
0
0
-56
21
-15
35
-6
34
88
-34
-8
-33
0
17
22
-10
18
0
4
15
-17
-5
0
41
-1
31
-56
0
76
-27
1
59
0
-17
-19
40
38
0
0
11
5
-15
0
0
25
20
-10
0
0
-3
10
13
0
0
41
141
43
0
0
12
8
-3
20
17
-1
9
20
37
41
31
0
11
-50
-8
67
-2
59
-6
129
22
-2
-25
46
54
-8
0
0
60
71
28
-14
5
11
15
14
26
-23
94
24
5
28
80
187
-45
129
-3
49
2
23
17
-11
0
37
29
11
11
23
14
30
13
15
23
0
0
0
0
0
22
8
-72
67
61
0
6
-5
8
0
0
24
46
-2
8
0
10
47
-6
-57
0
39
46
1
-18
0
-47
84
-60
28
0
0
0
0
0
0
0
5
-4
74
0
0
25
-56
10
0
0
29
38
24
0
0
8
0
5
0
0
0
0
0
-33
-4
45
6
-10
-47
-47
33
-2
42
-117
-87
49
32
-9
-88
-34
24
-21
-92
-49
4
8
-60
51
3
-9
-35
39
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-14
-2
24
-45
-57
-13
11
-33
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-13
-15
-8
-7
0
2
15
22
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
36
-36
-18
0
0
-17
6
8
0
0
-53
9
4
0
0
-46
4
-10
0
0
12
-16
-83
0
0
4
-46
5
-38
2
41
1
38
45
-21
66
6
-3
-173
-8
10
107
-64
-117
23
117
121
-107
-70
19
82
43
7
-88
-44
4
38
57
21
-12
74
61
46
39
32
-16
-35
35
60
-2
-38
42
21
124
-84
42
7
19
-53
-10
58
6
26
-50
-23
-9
66
11
0
0
0
0
0
4
17
-17
7
-8
-3
60
14
-24
43
0
67
50
57
-28
0
11
-39
60
67
0
-39
12
27
80
0
-165
39
-8
51
0
-22
-76
26
-33
0
0
-6
36
18
0
0
5
-29
4
0
0
105
151
85
0
0
-31
21
80
0
0
-24
19
-6
-13
-17
76
111
176
245
-25
164
128
-31
18
111
3
61
-18
112
71
-6
10
-1
5
-8
-1
3
0
-7
40
26
50
10
36
-22
127
36
-61
24
-9
67
91
-18
69
35
28
-39
46
-4
-8
-21
0
1
30
32
96
73
18
126
39
25
2
105
0
0
0
0
0
-38
74
-51
79
-3
-21
24
-4
2
0
0
147
33
137
14
0
30
19
102
58
0
7
-31
80
114
0
-49
14
16
-2
0
-18
9
-3
0
0
0
-47
114
96
0
0
-30
-30
-9
0
0
12
146
99
0
0
-48
-25
7
0
0
-7
-3
0
49
-35
33
-8
4
-7
-95
62
2
32
-21
-24
-2
-19
49
-23
-10
-45
16
-45
-38
77
15
-15
-3
-47
-26
2
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
31
0
0
34
-32
-51
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-4
4
0
0
-28
-28
12
-24
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-6
-3
0
0
8
52
-34
0
0
-16
-17
-16
0
0
-113
29
-12
0
0
41
6
16
0
0
-43
0
-8
5
-38
26
-5
65
-105
6
3
-6
-4
-10
-7
-11
10
40
-125
-20
61
4
29
-77
-7
-8
36
6
-75
-52
-42
10
58
-19
-49
-41
11
-1
-2
-5
-16
3
0
-2
5
-17
3
-1
36
-111
4
-34
24
38
-18
-15
-97
-23
-2
13
-24
-6
2
0
0
0
0
0
0
0
-1
0
0
-99
-86
7
50
22
0
-8
-29
-2
79
0
-23
3
21
32
0
13
-7
-1
0
0
-3
17
2
0
0
-22
-12
62
23
0
0
-5
-14
-2
0
0
-20
19
-11
0
0
-71
-35
-1
0
0
-55
30
21
0
0
-47
36
25
-27
-30
13
29
89
-26
-51
80
-52
-1
-81
-31
35
33
-25
-99
6
35
-18
49
-46
-32
27
44
2
-115
-47
-5
32
-50
-121
14
94
-3
43
18
14
-46
1
-59
-67
30
-8
31
-43
32
-97
-39
43
24
-51
-12
-15
-30
103
2
48
-29
23
-5
0
0
0
0
0
-31
-114
-23
25
24
51
-81
36
15
33
0
60
-1
26
-9
0
-39
-92
68
30
0
12
10
-42
64
0
-20
-43
-68
-12
0
-20
33
-21
13
0
0
-9
-19
7
0
0
-65
-2
-21
0
0
-12
-102
64
0
0
3
-30
11
0
0
49
-10
8
104
-1
10
15
169
-7
13
31
145
-15
-80
-12
141
-38
-17
-28
122
-84
66
-73
-5
45
0
-5
0
40
-37
-41
91
-4
13
-12
129
110
-4
-33
-107
14
6
20
50
-101
49
5
12
-9
44
19
1
0
-116
-25
55
10
19
35
-102
-44
62
50
0
0
0
0
0
-20
-47
17
15
28
-1
1
4
-6
0
0
87
-4
76
78
0
-13
-61
-7
61
0
-78
82
59
-17
0
-29
-39
-41
12
0
-2
-15
-3
0
0
0
-15
-61
68
0
0
37
21
17
0
0
-11
77
54
0
0
-5
16
-47
0
0
0
0
0
-25
56
180
-156
-2
-113
53
99
3
9
12
118
-3
-4
0
4
-20
3
-2
0
-7
0
0
0
0
21
121
74
62
-35
-99
22
79
16
59
17
17
42
-35
43
14
25
31
-8
-5
0
0
0
0
0
-5
-76
66
134
-36
-2
-58
56
32
37
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
4
-55
-52
0
0
-58
24
94
100
0
-36
-53
2
3
0
0
0
0
0
0
0
0
0
0
0
0
54
-35
6
0
0
-7
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
-6
2
0
-43
3
8
4
-19
-49
-17
-6
-3
-5
-18
0
-1
4
16
-6
1
-5
6
37
-54
-27
-8
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
4
-12
-1
-63
-8
-18
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-4
10
1
0
-14
9
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
23
8
0
0
0
3
-8
0
0
10
0
16
0
0
-1
-8
0
0
0
-13
1
10
0
0
8
-5
3
8
7
6
0
9
8
7
7
-1
7
21
0
5
9
13
12
19
4
16
12
21
5
-15
19
15
18
12
6
5
0
0
-27
-1
7
9
-7
-23
-4
1
-3
5
-5
0
-3
-3
-8
-5
0
-7
-3
4
5
7
9
13
-8
-6
-7
-22
-3
0
0
0
0
0
-12
2
-2
-1
22
5
-2
7
0
16
0
4
10
8
15
0
-17
12
5
7
0
-12
-5
-5
-2
0
6
-4
-3
-4
0
24
-10
22
17
0
0
2
2
-5
0
0
0
8
9
0
0
-1
9
5
0
0
5
21
1
0
0
1
15
12
5
12
2
6
3
15
20
1
0
3
7
7
4
1
31
17
-4
6
30
-7
19
12
-13
-29
13
62
21
4
0
14
16
-1
7
9
10
9
2
3
0
1
13
1
8
5
8
13
10
-30
-26
21
26
10
12
1
-4
27
9
2
9
17
0
0
0
0
0
8
8
2
-10
4
-30
-15
-6
14
-12
0
5
-5
8
23
0
2
14
16
14
0
0
10
1
2
0
2
12
6
3
0
26
-6
3
-24
0
0
1
6
-17
0
0
6
12
18
0
0
4
7
32
0
0
7
17
2
0
0
2
89
38
-56
-14
3
2
-7
-137
-16
14
16
0
-185
0
-10
19
-30
-89
-3
0
52
19
-27
45
12
-3
18
-166
-54
-11
-11
6
-26
-94
-107
-74
30
-39
-45
-76
-20
-16
-89
-76
16
-55
-89
-5
-50
57
13
1
-45
-53
-19
11
28
-10
-116
-50
-37
-14
0
0
0
0
0
0
8
-25
2
-2
-66
-32
-33
7
17
0
-31
2
-8
-4
0
-38
-11
48
-42
0
4
-48
62
27
0
-12
56
59
-26
0
-38
-29
38
38
0
0
-2
-13
1
0
0
4
-21
-14
0
0
-20
1
0
0
0
2
12
4
0
0
13
-20
58
-26
16
3
-11
-3
-35
-31
1
12
4
-54
-1
-5
5
3
-36
3
1
10
-3
5
-16
23
24
36
-82
-49
-25
-5
4
-184
-222
-60
-18
-52
-181
-129
-43
-50
-43
-96
-76
-72
-27
-32
-12
15
16
6
22
-32
-19
-2
-7
7
-31
-112
-78
-59
-7
0
0
0
0
0
-41
-50
-58
-31
-59
-2
0
10
18
-10
0
-19
-14
-3
4
0
-23
-78
1
-75
0
29
-19
-20
-27
0
-28
11
-27
-22
0
0
14
5
4
0
0
-4
-4
12
0
0
18
-17
-5
0
0
-17
-4
2
0
0
-11
0
21
0
0
-8
6
21
-16
5
1
4
-1
7
7
1
2
4
13
6
4
11
9
10
9
18
12
2
36
22
10
13
-11
6
-25
4
1
-16
-76
-90
-66
-11
-22
-102
-50
-2
0
-24
-22
-22
-4
-13
2
30
11
-5
15
36
8
-3
-21
12
8
-84
-85
-49
-40
-35
0
0
0
0
0
15
0
-15
-5
-9
-22
12
8
-2
20
0
-8
-7
-3
-7
0
-25
-26
-21
-39
0
-11
-10
-24
-13
0
5
-4
8
7
0
20
-1
-6
-20
0
0
5
12
3
0
0
1
-5
10
0
0
-23
9
6
0
0
16
8
-20
0
0
16
23
23
12
11
6
-2
-1
21
34
9
2
6
83
9
7
-26
29
33
18
25
-8
15
51
16
-22
-4
-42
40
4
4
-7
11
-10
-18
-11
-6
-18
11
11
10
1
1
36
11
8
17
-18
18
-23
-2
-18
-20
34
8
1
7
10
-38
-33
-12
1
6
0
0
0
0
0
16
3
14
28
0
-40
-76
5
25
67
0
-11
24
13
-4
0
6
-5
0
-1
0
24
10
8
-3
0
25
-3
2
-18
0
-16
-9
58
-26
0
0
35
-16
-14
0
0
13
11
13
0
0
-12
11
46
0
0
-2
25
-8
0
0
-11
124
-14
48
9
-14
23
-20
48
30
0
-18
-14
33
37
7
-41
-19
39
5
-7
-76
-17
69
-54
18
81
-50
80
35
5
21
18
56
18
23
12
-10
31
11
8
18
12
74
25
0
15
-3
69
94
-9
20
-15
57
17
10
13
23
11
-3
29
35
12
0
0
0
0
0
-4
76
5
48
36
40
25
-20
-15
-15
0
23
27
19
16
0
31
-15
-11
5
0
15
41
27
13
0
43
38
13
-20
0
-72
-15
15
-21
0
0
1
-40
-17
0
0
7
-5
12
0
0
22
22
2
0
0
49
4
116
0
0
-7
6
0
8
-8
-8
8
15
1
-25
-3
6
5
10
-9
-11
-9
0
6
20
-4
29
22
22
9
-15
-21
-6
9
-11
15
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
32
19
19
-15
15
4
-1
5
15
0
0
0
0
0
-4
-3
1
-4
0
0
0
0
0
0
6
11
9
8
-30
0
-1
-2
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
-28
0
0
13
0
-25
0
0
33
0
4
0
0
-1
0
24
0
0
2
-1
8
0
0
2
11
-10
25
11
3
5
-5
29
3
8
10
0
27
8
-6
12
14
40
14
8
26
-14
34
14
-15
24
42
32
14
24
14
9
1
-7
8
14
1
21
-9
10
4
5
15
4
3
24
-23
15
45
4
29
24
30
17
16
9
16
0
-14
3
0
3
0
2
1
3
-3
1
3
19
9
20
21
8
16
-10
37
0
9
12
12
11
0
7
4
-4
2
0
-11
1
-2
13
0
0
7
6
23
0
-7
26
28
13
0
0
6
7
-4
0
0
14
-6
-3
0
0
5
-10
-1
0
0
-5
-9
13
0
0
-9
-5
39
37
-4
1
10
-10
36
17
-1
-25
18
29
13
-9
-1
16
43
17
6
21
-28
102
-3
42
-69
-30
46
15
32
3
21
19
6
9
8
10
26
7
11
9
14
10
20
13
2
37
32
36
-24
-6
12
41
32
10
12
-7
19
2
5
10
5
3
7
6
9
-7
0
8
18
21
26
37
37
81
-28
-75
0
4
27
12
3
0
-1
10
5
10
0
18
20
9
25
0
-1
8
0
35
0
37
-12
42
26
0
0
-1
1
16
0
0
0
-8
12
0
0
3
-37
17
0
0
-21
25
-39
0
0
-1
15
-32
-34
-21
-8
-34
67
-92
-100
0
-8
37
-183
-126
39
-116
4
-101
-91
3
0
0
-63
6
-104
41
35
-193
-47
-64
18
46
-23
-76
-158
-65
-11
-19
-39
-41
-9
0
2
-31
-14
-3
0
5
28
-11
22
-49
-111
-111
-95
-5
9
0
-26
-4
-2
3
0
0
0
0
0
0
0
3
0
0
-9
-68
-53
-9
42
0
-13
4
6
-19
0
-2
-16
10
-2
0
0
0
-4
-1
0
0
2
0
0
0
5
-18
-29
-1
0
0
-35
-21
-58
0
0
-33
-25
84
0
0
82
10
7
0
0
4
-8
3
0
0
10
19
52
-20
-1
-14
-23
12
-14
-30
-5
16
7
-52
-61
-7
-23
-4
-63
-22
-20
-11
18
-5
-31
4
-16
-54
1
-8
-12
10
0
-40
-138
-62
-46
-9
7
-45
-119
-94
-44
-82
-65
-78
17
-25
8
-59
-19
16
47
-18
-4
-5
-23
1
52
-45
-77
-116
-38
0
0
0
0
0
-38
-56
-129
-90
-123
32
-16
-19
-15
-15
0
-13
-34
-7
-7
0
-37
-39
-132
-2
0
-73
-43
-154
-28
0
-85
-56
-83
-39
0
-7
13
-6
33
0
0
-1
1
-26
0
0
40
-38
5
0
0
21
13
9
0
0
35
11
-21
0
0
10
15
28
30
8
-3
-1
38
28
-5
12
39
33
38
-5
6
19
20
39
21
11
55
36
2
2
-33
7
36
74
24
16
21
33
23
-39
-13
-15
-30
11
-17
-14
-25
-25
10
17
-32
-20
-69
21
14
2
63
-11
45
9
11
15
16
27
11
-11
-13
-23
0
0
0
0
0
-25
0
-22
-36
-15
67
63
7
23
-15
0
-7
6
5
-1
0
2
-4
-6
-27
0
19
-17
-31
-11
0
20
-23
-50
7
0
6
27
58
77
0
0
12
-3
16
0
0
18
-12
-1
0
0
16
17
22
0
0
-24
26
2
0
0
50
43
65
59
23
28
-18
71
46
19
17
57
17
48
13
15
36
28
78
15
-26
-17
-18
-54
41
114
2
-27
78
46
37
7
65
65
12
19
51
7
52
28
28
35
24
36
32
28
46
10
-48
50
-14
102
8
79
36
13
35
12
19
35
39
36
42
0
0
0
0
0
5
24
24
18
35
-39
92
-13
40
19
0
-29
15
20
-28
0
-7
25
25
21
0
3
32
23
69
0
-25
3
43
34
0
-56
86
-27
58
0
0
10
54
-28
0
0
-10
21
9
0
0
-8
-5
62
0
0
29
-40
21
0
0
20
-10
-70
97
-44
-10
4
36
47
13
-2
110
-21
83
14
-16
-2
-20
33
54
38
35
7
126
43
-11
0
0
76
54
26
-5
-24
79
31
61
49
13
81
18
29
20
51
112
9
2
76
82
29
84
23
-99
17
90
-15
37
8
-6
40
52
26
30
40
0
0
0
0
0
43
77
3
3
-44
1
-5
-14
23
0
0
-45
18
12
29
0
24
33
34
75
0
40
41
34
47
0
-18
38
20
4
0
-8
-2
-1
0
0
0
-12
-1
123
0
0
1
84
-23
0
0
19
-57
44
0
0
-90
2
13
0
0
6
0
0
-29
-14
1
-3
29
-22
-67
12
1
17
-118
-34
-4
-12
10
-61
-46
-46
57
22
-24
-36
34
24
-1
-78
-26
-15
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-56
-23
-4
26
-75
-41
-18
-18
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
14
9
2
57
0
-26
6
9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-15
-8
1
0
0
1
-6
23
0
0
-1
14
16
0
0
-28
2
5
0
0
31
-4
55
0
0
-18
-28
31
-14
6
7
-7
49
-34
-22
3
-14
32
-43
-23
5
8
-7
-56
-13
3
5
-24
36
-17
46
2
5
-8
8
15
-3
-64
-47
-35
-12
19
79
35
-11
2
-12
-68
-3
-61
-21
44
-11
-14
58
22
-72
-31
-50
-19
20
1
20
23
-21
-7
58
29
0
0
0
0
0
-11
-3
-44
40
-3
-13
-75
1
32
10
0
11
29
27
40
0
-18
-4
39
40
0
1
25
12
1
0
-19
-13
-52
36
0
-4
15
30
60
0
0
27
32
28
0
0
19
13
-6
0
0
4
19
-5
0
0
-13
-1
-12
0
0
36
-64
-12
52
44
28
11
14
95
-13
12
-23
20
42
15
-52
87
13
147
-49
-52
-22
-19
81
-38
6
-15
2
50
40
53
15
68
35
-16
-3
-1
52
5
32
-12
14
17
-5
-57
-10
18
31
-1
4
-19
65
20
33
-26
39
45
52
27
-9
54
10
98
0
0
0
0
0
-46
4
84
31
-71
0
50
13
-21
-2
0
69
73
20
-1
0
7
29
43
2
0
21
18
70
82
0
-4
47
39
28
0
-20
9
-65
6
0
0
31
78
29
0
0
49
64
-17
0
0
70
-57
85
0
0
-53
-42
168
0
0
-3
20
-3
-96
0
13
29
99
-203
-36
84
41
7
-168
-35
-13
51
-48
-142
-5
-14
14
38
-119
53
-46
88
61
-128
-16
9
3
77
-8
40
16
3
-10
1
3
2
0
0
6
0
4
-1
0
-70
-131
-13
81
50
-77
-32
-2
71
-60
0
-5
-1
-9
0
0
0
0
0
0
0
0
0
6
0
-51
20
-33
-32
-30
0
-16
7
40
20
0
-69
-1
25
2
0
2
1
0
0
0
4
0
-14
-3
0
-52
53
12
49
0
0
-1
17
31
0
0
-67
-69
-11
0
0
-42
41
46
0
0
-114
-37
57
0
0
-13
-54
25
-76
-12
4
7
16
-108
-44
-7
20
13
-105
-19
-14
-6
-11
-68
-25
-10
-8
-16
-57
-50
3
24
-27
-72
-42
-20
-3
17
-170
-97
-16
-40
37
-159
-25
-10
89
-11
-75
-57
-19
37
44
-50
-25
-11
20
42
-87
-21
-21
-24
23
-9
-25
-22
19
-38
0
0
0
0
0
-7
10
-131
20
2
-45
-51
-21
-12
84
0
-29
-14
-2
13
0
-25
-53
106
61
0
62
74
-51
42
0
-37
39
12
-9
0
-59
-52
-4
77
0
0
-7
-23
8
0
0
-24
-49
26
0
0
-9
-20
15
0
0
-34
26
-14
0
0
30
16
25
-24
-13
-11
16
37
-19
-23
-3
10
14
7
-60
3
-5
28
-22
-2
45
3
37
-4
13
49
-31
50
-81
-18
-16
7
-14
-118
-38
31
42
21
-47
41
3
67
4
-20
-66
21
52
-75
-22
-53
11
50
31
-67
-32
-17
-4
44
42
-21
24
8
-41
0
0
0
0
0
-54
-65
75
75
22
-35
-13
-23
-37
27
0
1
-15
-13
17
0
-17
-17
7
33
0
-38
-34
-14
1
0
7
-52
-3
-7
0
14
-49
3
46
0
0
13
23
4
0
0
13
-56
18
0
0
-48
11
-5
0
0
-79
-59
40
0
0
58
-113
-8
-10
-15
-5
14
2
-28
-15
-11
-48
57
-7
30
3
-3
-68
-105
-3
6
77
-50
20
38
-43
-71
3
-53
41
5
-10
-5
15
-23
-17
60
42
39
-24
3
-14
91
-8
11
-26
41
64
-99
-6
25
22
-3
-88
-19
1
-55
68
124
-52
-39
-7
38
0
0
0
0
0
67
-10
12
-12
0
-23
7
35
-50
-3
0
-45
-12
57
35
0
-13
-39
-1
3
0
-95
-7
30
-28
0
-5
-2
10
-85
0
12
22
-36
2
0
0
28
61
63
0
0
1
24
-19
0
0
-27
-30
-85
0
0
25
61
-50
0
0
6
4
4
64
54
-63
-66
66
21
10
-26
-5
1
22
-55
115
-5
0
9
-37
16
-3
0
-17
2
0
0
0
93
-30
-51
7
-51
-17
-24
86
4
56
90
-44
15
-27
15
-40
49
67
-92
-8
0
-1
2
0
0
-97
102
38
-54
29
-41
-33
-46
60
44
0
0
0
0
0
9
-40
-33
49
25
0
0
0
0
0
0
53
31
-66
23
0
-35
-7
-15
-22
0
-24
-94
132
1
0
-1
24
-33
1
0
0
0
0
0
0
0
-90
81
64
0
0
-8
63
53
0
0
-9
0
9
0
0
0
0
0
0
0
0
0
0
-4
15
-2
5
13
-47
-2
0
8
0
-38
-8
-5
-10
10
-20
-2
5
1
0
-5
-1
-3
13
27
-29
-12
-21
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
10
4
6
-70
-24
-12
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
4
1
3
0
-31
10
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
8
9
0
0
4
9
-2
0
0
3
7
7
0
0
3
-5
3
0
0
-6
4
17
0
0
2
-5
13
19
19
4
5
20
-9
8
8
7
5
9
1
5
18
22
-3
17
5
25
22
33
7
-8
18
21
8
17
11
18
15
2
-33
0
-11
9
-20
-25
-11
-3
0
-6
-20
5
9
-12
-25
-12
-8
5
-10
-8
4
13
24
25
-14
-14
-7
-20
14
0
0
0
0
0
-24
-8
-8
-1
17
2
-1
1
-3
18
0
8
5
8
17
0
-17
6
4
4
0
-5
-1
-14
0
0
18
-2
4
-7
0
11
0
19
10
0
0
4
4
28
0
0
-2
12
25
0
0
-1
15
9
0
0
10
19
0
0
0
0
5
7
9
9
6
18
1
10
3
6
2
6
7
4
11
-2
27
-5
-1
2
34
8
12
11
-16
-26
20
60
26
8
5
8
27
1
2
13
27
9
-5
7
6
11
19
3
1
4
23
13
10
-24
-37
26
35
19
2
1
2
36
13
6
10
22
0
0
0
0
0
15
4
-2
3
15
-44
-7
8
4
-3
0
4
1
14
8
0
6
15
33
28
0
1
11
5
17
0
1
19
8
3
0
34
-7
5
-29
0
0
2
-2
-19
0
0
9
15
25
0
0
19
10
37
0
0
8
35
13
0
0
-3
89
50
-61
-13
-14
16
-10
-120
-2
17
5
5
-140
-3
-2
20
-36
-86
-3
8
46
27
-30
31
19
4
25
-163
-47
0
-10
-26
-25
-97
-108
-64
31
-40
-45
-74
-19
-16
-88
-70
17
-53
-90
-8
-30
52
-5
24
-45
-59
-24
8
31
-10
-110
-49
-33
-13
0
0
0
0
0
0
8
-30
1
-1
-74
-31
-25
19
20
0
-17
3
-10
6
0
-36
-6
55
-40
0
4
-48
64
32
0
-14
60
61
-25
0
-27
-18
32
40
0
0
20
-26
-8
0
0
1
-11
-1
0
0
-20
2
-4
0
0
-22
30
6
0
0
24
-1
48
-10
12
3
-15
2
-21
-14
3
18
-12
-27
-6
-14
-15
0
-34
4
-1
13
7
-11
-7
18
11
15
-89
-51
-22
-2
8
-161
-189
-64
-23
-58
-141
-99
-51
-52
-60
-66
-83
-58
-16
-17
-8
-4
6
18
20
-18
-30
-2
-5
2
-32
-104
-59
-50
-24
0
0
0
0
0
-50
-45
-43
-39
-55
1
11
1
35
-23
0
-25
-1
-4
-17
0
-29
-72
6
-83
0
23
-37
-6
-27
0
-33
-12
-35
-21
0
-6
16
30
1
0
0
-10
-3
-16
0
0
0
-14
7
0
0
-7
-1
7
0
0
-1
-10
0
0
0
12
0
23
-7
12
-1
-10
-3
-14
7
-8
-1
3
8
4
-11
12
16
7
7
9
8
8
29
21
14
18
3
-1
-24
-2
5
5
-77
-107
-46
-24
-35
-65
-46
-3
-21
-28
-25
-32
-8
-5
2
33
11
-15
6
39
10
1
-17
7
21
-98
-94
-51
-49
-40
0
0
0
0
0
6
-3
-26
20
-27
-8
-13
13
10
22
0
-10
-18
-6
-11
0
-25
-38
-23
-43
0
-19
-12
-36
-28
0
18
-4
1
0
0
19
-8
-11
-6
0
0
-3
4
0
0
0
7
-2
1
0
0
-10
4
11
0
0
26
1
-19
0
0
13
20
24
-1
1
2
-10
24
46
31
3
-16
-1
70
6
7
-23
36
70
-4
13
-14
-3
49
34
-33
8
-57
26
11
-3
-8
9
-29
-23
-21
-13
-26
-20
13
2
-14
-2
46
15
-8
18
-26
18
-11
7
-24
-31
45
5
1
-7
2
-60
-42
-12
-6
-3
0
0
0
0
0
-2
0
35
24
6
-27
-83
-14
11
67
0
-6
18
5
-8
0
-4
-16
-4
-13
0
15
11
-4
-21
0
19
-8
-8
-13
0
-7
-20
52
-32
0
0
40
4
-8
0
0
4
-9
-9
0
0
-43
8
28
0
0
12
28
-14
0
0
-10
120
-22
50
20
-19
6
-68
48
14
-7
-53
-15
43
30
-13
-56
-20
39
2
8
-83
-24
67
-61
20
79
-49
109
27
-20
19
-3
42
15
8
2
-28
38
16
3
5
8
61
32
-2
10
9
62
87
-9
27
-14
61
13
5
18
17
12
8
3
27
14
0
0
0
0
0
7
97
4
20
17
39
20
-19
-15
-17
0
25
38
17
18
0
25
-13
-1
3
0
2
45
23
14
0
21
43
0
-14
0
-73
-17
20
-20
0
0
-4
-46
-9
0
0
29
-9
21
0
0
17
32
6
0
0
56
0
112
0
0
-7
5
0
5
-3
1
-2
16
-2
-22
-7
13
8
-1
-12
-11
-9
5
6
11
-4
30
18
13
7
-19
-15
-2
14
-12
-1
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
28
19
4
-13
30
0
-9
-5
15
0
0
0
0
0
-4
-8
-15
-10
-2
0
0
0
0
0
10
-8
14
17
-37
0
11
-2
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
14
-35
0
0
6
3
-28
0
0
50
2
1
0
0
0
5
1
0
0
2
-5
14
0
0
2
13
-11
15
0
-1
0
-6
29
-2
4
9
-8
20
5
-1
5
14
47
21
7
25
-24
27
3
-11
15
43
29
6
13
15
8
15
-18
-2
-3
-10
35
-10
4
-1
-15
17
17
-2
21
-17
36
44
-3
22
23
54
20
2
-6
14
14
-19
-6
-17
-15
4
5
8
6
0
1
2
21
-1
23
7
9
16
-2
23
0
7
6
2
14
0
15
4
0
-9
0
-4
3
-10
13
0
1
-1
5
29
0
-6
13
34
25
0
0
11
11
-7
0
0
8
8
-9
0
0
10
-12
2
0
0
-16
19
2
0
0
-2
23
31
37
-10
-22
12
-20
19
23
-2
0
21
28
-10
7
-3
16
44
4
-4
33
-31
121
-19
46
-66
-33
37
12
23
7
21
26
5
0
8
12
33
5
17
6
17
26
28
1
-8
29
26
41
-7
-4
11
36
41
13
-9
-1
14
3
1
5
-8
-7
6
6
19
-8
-7
9
28
33
29
44
34
71
-27
-68
0
6
16
10
1
0
-7
5
-15
17
0
16
16
10
9
0
20
14
-15
39
0
24
-7
45
25
0
0
0
-19
19
0
0
-8
-47
-6
0
0
3
-53
35
0
0
-21
30
-46
0
0
-10
9
-31
-30
-9
18
-29
70
-72
-75
12
-10
42
-169
-112
50
-113
2
-81
-73
-12
-4
7
-64
13
-92
41
37
-183
-46
-42
18
47
-23
-70
-157
-60
-11
-19
-34
-42
-8
0
1
-33
-14
-3
0
6
28
-5
31
-48
-101
-95
-94
-2
18
0
-27
-4
-2
3
0
0
0
0
0
0
0
3
0
0
7
-53
-40
-10
38
0
-3
-7
7
-21
0
-2
-16
12
-2
0
0
0
-4
-1
0
0
2
0
0
0
6
-17
-29
-3
0
0
-40
2
-49
0
0
-41
-16
76
0
0
80
14
1
0
0
8
-9
2
0
0
13
16
52
-8
2
-5
-9
22
-29
-12
-1
19
17
-43
-56
6
-13
5
-55
1
-16
-14
26
11
-21
5
-17
-54
26
-18
-1
21
-3
-51
-148
-61
-18
-6
-11
-79
-104
-74
-31
-62
-64
-65
26
-29
2
-28
4
11
47
-13
-10
11
-7
45
46
-66
-80
-94
-52
0
0
0
0
0
-33
-55
-112
-88
-122
18
1
-19
-9
-2
0
-14
-14
7
-2
0
-32
-50
-122
2
0
-79
-32
-149
-19
0
-81
-71
-74
-26
0
1
16
9
29
0
0
3
14
-20
0
0
35
-21
30
0
0
19
-7
22
0
0
38
8
-13
0
0
10
16
24
15
9
-1
10
66
18
-3
18
29
38
24
-4
29
23
29
21
11
47
46
33
18
2
-19
32
26
43
18
5
29
45
-29
-70
-26
5
-26
-36
-55
-18
-44
-28
7
-29
-31
-30
-52
11
27
-2
66
-25
54
14
12
16
-4
17
-1
-12
-7
-19
0
0
0
0
0
-13
-8
-35
-25
-20
70
58
14
13
-19
0
0
11
22
-9
0
-5
17
-2
-2
0
42
0
-27
18
0
18
11
-41
7
0
-10
52
65
74
0
0
3
-4
30
0
0
6
-23
18
0
0
6
2
27
0
0
-14
22
22
0
0
35
37
66
63
24
26
0
81
54
16
32
43
5
28
13
18
45
22
80
21
-29
-16
-35
-77
50
113
-1
-24
80
38
37
-8
62
56
5
15
70
10
41
16
14
49
33
18
41
34
36
20
-51
43
-16
114
-5
75
52
-3
11
-4
42
32
35
31
69
0
0
0
0
0
15
16
0
18
44
-41
100
-19
40
19
0
-15
16
22
-9
0
3
46
33
3
0
-2
29
28
67
0
-49
-5
40
31
0
-54
82
-29
56
0
0
-8
39
-23
0
0
-22
-1
9
0
0
-8
1
57
0
0
28
-46
14
0
0
17
-12
-71
88
-53
-31
15
59
53
17
8
114
-28
81
10
-38
-5
-26
43
57
50
34
5
117
43
-13
0
0
80
52
44
-4
-13
94
31
65
31
22
87
30
24
39
60
94
17
-21
84
81
24
81
22
-94
17
85
-10
15
3
-7
35
58
25
56
56
0
0
0
0
0
27
94
1
-10
-53
1
-6
-13
21
0
0
-43
-1
7
36
0
34
44
33
63
0
44
26
24
54
0
-12
36
21
10
0
-8
-2
-1
0
0
0
-20
-3
117
0
0
-6
93
-47
0
0
20
-61
48
0
0
-87
2
13
0
0
6
0
0
-46
-7
8
16
23
-2
-60
5
5
19
-100
-39
-2
0
-12
-71
-48
-27
61
24
-23
-34
28
21
-4
-74
-29
5
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-49
-23
-4
29
-90
-42
-14
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
13
21
1
61
0
-27
-21
21
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-20
-8
3
0
0
3
2
23
0
0
0
-11
13
0
0
-18
15
1
0
0
22
-6
62
0
0
-27
-30
44
-30
3
-2
14
44
-25
-31
11
-6
25
-30
-4
26
-25
-9
-38
-29
-16
0
-30
39
-23
40
1
7
-9
18
-9
4
-64
-35
-29
-10
23
71
32
-1
11
-16
-67
-21
-52
-14
36
-11
-13
54
13
-66
-35
-41
-30
17
7
14
28
-22
10
52
27
0
0
0
0
0
-20
2
-38
37
-4
-11
-82
-13
33
2
0
9
11
23
44
0
-14
-13
46
40
0
14
7
10
10
0
-13
-28
-36
31
0
9
7
30
64
0
0
44
40
35
0
0
27
1
-6
0
0
-7
-1
-14
0
0
-11
12
-12
0
0
40
-67
-10
37
39
26
5
20
94
8
-7
-39
25
45
-12
-67
92
9
146
-57
-58
-21
-19
82
-33
2
-15
2
58
43
57
2
58
21
-5
4
23
43
5
41
9
16
8
-13
-43
-9
13
26
-6
6
-22
65
21
12
-43
40
44
56
19
1
72
4
87
0
0
0
0
0
-37
6
96
20
-70
-4
52
16
-22
-2
0
66
83
24
-9
0
-18
27
36
0
0
11
42
62
84
0
-1
48
41
20
0
-24
10
-66
6
0
0
37
72
28
0
0
74
57
-18
0
0
76
-69
89
0
0
-56
-43
170
0
0
-3
18
-3
-86
-12
27
14
106
-181
-38
69
39
8
-168
-21
-23
53
-52
-128
-5
9
19
40
-101
43
-38
82
73
-130
-20
-8
19
79
-8
48
22
3
-10
1
3
2
0
0
6
0
4
-1
0
-67
-122
-15
77
51
-71
-57
6
58
-51
0
-5
-1
-9
0
0
0
0
0
0
0
0
0
6
0
-50
7
-23
-35
-30
0
-8
25
12
14
0
-69
-1
29
1
0
2
1
0
0
0
4
0
-14
-3
0
-57
55
15
45
0
0
-12
-3
42
0
0
-77
-68
-5
0
0
-44
31
49
0
0
-114
-39
41
0
0
-21
-55
27
-77
-16
3
12
26
-123
-52
-1
34
11
-138
-32
-15
4
10
-80
-20
-8
-14
-5
-62
-43
11
15
-17
-78
-51
-8
-29
-7
-158
-95
-7
-43
35
-150
-11
-9
83
-6
-66
-53
-8
39
47
-42
-29
0
27
38
-103
-45
-16
-9
24
-6
-34
-21
26
-38
0
0
0
0
0
-7
14
-135
20
3
-42
-36
-36
-1
89
0
-38
12
-1
15
0
-20
-45
95
65
0
61
79
-51
43
0
-36
38
13
-8
0
-53
-60
-22
77
0
0
-18
-17
-5
0
0
-16
-46
28
0
0
-25
-17
43
0
0
-1
-2
-13
0
0
41
11
-2
-36
-12
-2
11
26
-15
-32
-5
20
-8
-11
-59
-16
9
29
-27
15
37
20
30
-10
12
46
-38
52
-78
-3
-5
-10
-10
-102
-29
7
24
32
-38
38
5
58
6
-19
-70
28
55
-68
-27
-47
16
52
28
-64
-40
-14
12
14
39
-20
13
15
-48
0
0
0
0
0
-47
-48
61
62
25
-31
-7
-29
-43
24
0
-22
-34
-16
32
0
-24
-17
9
30
0
-48
-59
9
-7
0
5
-38
-7
-19
0
14
-60
1
46
0
0
5
48
-4
0
0
13
-49
11
0
0
-31
16
-11
0
0
-101
-50
44
0
0
51
-113
-4
-32
-10
-24
11
-18
-35
-22
-8
-79
93
-7
16
12
11
-65
-106
-12
11
73
-48
24
35
-48
-70
3
-67
35
0
4
-4
9
-12
-23
44
47
36
-8
-11
0
96
-8
5
-38
48
60
-98
-8
27
14
-3
-108
-21
-25
-43
73
118
-42
-25
-19
31
0
0
0
0
0
67
7
4
-9
-3
-21
7
35
-49
-3
0
-41
-7
45
33
0
-34
-30
4
-2
0
-90
-19
27
-30
0
0
14
17
-82
0
12
24
-34
2
0
0
40
75
60
0
0
-8
35
-28
0
0
-29
-29
-81
0
0
32
54
-44
0
0
6
4
4
60
49
-85
-68
59
32
-10
-39
-3
-4
19
-69
117
-2
0
8
-37
16
-3
0
-17
2
0
0
0
92
-26
-55
8
-56
-13
-55
85
3
58
87
-46
15
-26
14
-40
46
57
-92
-8
0
-1
2
0
0
-107
111
42
-63
27
-41
-23
-62
70
43
0
0
0
0
0
9
-43
-30
48
25
0
0
0
0
0
0
53
28
-67
23
0
-29
-26
-35
-23
0
-19
-92
141
-2
0
-1
22
-33
1
0
0
0
0
0
0
0
-95
81
60
0
0
-3
61
57
0
0
-8
0
9
0
0
0
0
0
0
0
0
0
0
-64
27
-11
-1
24
-18
-53
-19
48
-9
4
54
-5
-38
38
-32
-11
21
15
-30
27
-41
-3
41
-31
84
86
18
22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-45
-1
44
20
-30
6
128
50
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
38
21
-19
3
0
-48
12
34
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
10
-28
22
0
0
9
47
-26
0
0
31
23
3
0
0
28
33
-11
0
0
6
6
41
0
0
38
29
10
73
42
7
-26
5
-18
-18
58
13
-22
-25
16
28
36
28
42
-45
10
14
-32
21
51
51
-56
-6
9
59
-13
44
-9
-85
-43
25
25
-11
-62
-18
-13
1
16
-18
-45
-4
38
-37
-34
39
14
4
-52
-1
14
70
30
43
-19
-9
-14
33
21
0
0
0
0
0
-4
-41
-14
-3
-22
-15
-21
18
17
28
0
32
19
3
48
0
4
21
62
28
0
-6
-1
-13
-9
0
15
9
28
20
0
19
-24
16
11
0
0
13
-38
17
0
0
-3
6
72
0
0
4
-4
105
0
0
19
46
26
0
0
-14
17
7
103
8
53
40
47
-63
-50
50
73
24
7
9
-3
41
-18
-35
52
2
29
28
-12
17
-51
5
-47
14
-6
12
19
62
70
11
-13
-6
75
51
31
40
-4
34
29
34
-18
-22
52
-84
86
5
-77
-45
94
27
-47
8
18
7
31
20
11
37
0
0
0
0
0
10
-36
15
-16
28
4
45
4
-57
6
0
-9
62
6
0
0
17
55
9
62
0
-4
6
3
36
0
-4
37
26
-24
0
93
-26
32
43
0
0
-12
-63
9
0
0
-2
46
119
0
0
49
22
-16
0
0
-56
45
5
0
0
60
22
43
-83
21
-41
26
-49
-56
11
-8
-22
33
0
-61
-23
97
-22
-46
1
15
68
-76
-4
19
47
-52
27
-79
49
34
-33
-26
-3
0
-52
-33
2
-33
-12
-29
-25
-2
-15
-67
22
-33
-10
-18
16
-16
-25
17
-137
-8
-4
2
60
-7
-82
-18
-3
1
0
0
0
0
0
0
3
4
-2
-1
-62
14
-40
22
6
0
59
36
-59
18
0
-7
-1
42
-27
0
0
-8
0
19
0
-4
45
25
3
0
-31
10
-8
-2
0
0
16
-71
35
0
0
65
-48
14
0
0
-21
-26
16
0
0
-60
26
-29
0
0
-18
32
17
10
6
-3
-30
27
-48
24
-3
6
-12
41
15
-25
-28
-31
30
-14
28
13
9
-39
28
-5
1
-12
20
13
-51
-14
4
-59
-123
-65
14
-34
-51
-15
-102
68
4
-59
-58
23
9
56
-22
-14
-43
31
4
19
-18
3
20
-77
-125
-71
29
5
-17
0
0
0
0
0
-145
0
81
-67
-10
-7
-8
-32
15
-19
0
-18
62
-41
-30
0
-14
88
40
-75
0
19
40
35
-69
0
-91
31
-42
-91
0
5
59
69
-38
0
0
9
2
-26
0
0
67
-7
-40
0
0
-31
55
-7
0
0
-29
31
-55
0
0
85
12
-23
67
96
-30
-55
-30
27
-2
-30
3
-46
50
60
-40
-16
-75
13
2
-22
6
-9
-12
-72
29
27
71
-4
33
29
12
14
-50
0
19
-27
11
51
-15
-23
-28
-48
-6
-3
-23
-23
12
-9
-8
-67
-29
11
9
4
3
-13
4
-4
-50
8
-21
-88
0
0
0
0
0
-10
14
-30
44
-16
-2
13
-13
-8
29
0
-60
-10
11
-9
0
-13
-51
-59
-8
0
48
8
17
-56
0
-44
-39
-30
10
0
-37
5
30
-20
0
0
40
-45
-19
0
0
14
21
-6
0
0
8
10
13
0
0
-13
-9
-28
0
0
5
22
-33
62
-39
3
-52
0
81
54
-16
-84
-11
91
-38
-12
51
17
89
-3
-44
-22
-23
24
33
-43
70
-3
16
14
-2
2
46
21
49
42
-31
-55
-39
66
-4
-47
-1
23
-4
-45
61
-53
-55
2
58
30
-16
35
10
1
-43
-6
-41
-11
36
2
-31
0
0
0
0
0
5
7
26
2
17
20
1
-68
1
-50
0
7
46
10
-177
0
-18
-18
0
29
0
41
8
2
-17
0
-29
18
0
75
0
33
-37
31
-54
0
0
29
104
3
0
0
-8
32
-58
0
0
23
-53
-116
0
0
1
76
-6
0
0
-49
-13
-49
8
107
-4
-16
17
104
30
-56
-11
-37
4
6
-14
28
22
60
-19
-30
39
-35
-17
20
0
1
-1
15
57
-9
-66
-14
71
40
8
-19
-17
33
35
34
62
27
20
60
84
-18
-28
2
-17
-21
24
-5
44
-17
4
2
-9
28
125
-15
-20
13
0
0
0
0
0
25
39
-7
27
-11
1
-5
-1
-12
-2
0
40
40
-74
38
0
-26
21
46
-68
0
-92
-61
-50
50
0
-42
27
-34
-64
0
-5
0
-3
7
0
0
-27
-40
-8
0
0
-14
-48
-29
0
0
-13
-1
-12
0
0
5
-22
-3
0
0
2
-1
0
-6
30
28
-17
-57
18
2
-26
-16
28
-44
29
-27
2
-20
-6
-38
-1
20
23
-79
54
13
3
-27
54
-1
17
-60
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-12
-20
9
73
43
-11
27
-56
-7
0
0
0
0
0
14
-18
-58
-10
16
0
0
0
0
0
14
-22
-33
47
-27
0
14
-10
-24
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
15
-99
0
0
10
-24
32
0
0
76
-3
-32
0
0
12
39
-33
0
0
-5
16
-30
0
0
2
3
75
-9
-49
-19
-82
-5
12
-12
-26
-32
4
19
45
-17
13
44
96
35
-51
-124
34
41
4
7
-41
-37
-1
-34
-4
-5
-23
31
7
-15
-34
-41
36
40
25
-30
-12
45
-4
77
10
18
59
-63
14
34
-40
36
27
-5
10
-6
23
-19
-30
-47
-40
17
11
15
13
-7
-4
3
-9
-17
129
-8
-11
58
-1
-52
0
23
-51
40
23
0
18
18
-3
-13
0
-31
-10
-49
-18
0
-5
-13
-55
69
0
-37
-1
90
-11
0
0
33
117
19
0
0
47
33
-99
0
0
18
4
24
0
0
-25
41
-56
0
0
-33
35
-18
57
-29
-68
104
57
-67
14
63
80
23
22
-93
124
-28
1
170
27
-67
-79
-60
46
-40
-35
25
-11
-55
53
22
14
11
75
17
-41
-13
-25
100
8
3
29
7
61
25
-68
-53
-20
16
12
-5
-48
10
37
0
8
-111
44
5
35
-21
67
-12
-9
28
47
11
-24
-35
5
69
36
-82
14
4
-14
-21
46
0
25
-4
-9
59
0
-16
-17
-36
16
0
19
-31
21
-49
0
-19
-23
-15
-42
0
-33
-33
30
20
0
0
-27
-10
18
0
0
-63
2
-23
0
0
4
-35
-11
0
0
-29
-7
17
0
0
4
-3
-8
-16
-6
85
21
-3
-35
80
91
-16
-15
-137
-31
18
97
-27
5
-6
37
22
80
1
14
-25
82
-24
-24
-37
109
22
0
-5
-30
8
0
-4
-13
6
-1
3
0
3
-16
-1
-2
0
34
-11
15
12
-18
37
72
-31
5
-14
0
-3
-2
0
1
0
0
0
0
0
0
0
1
0
-1
37
41
16
1
16
0
41
-86
-17
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
30
21
18
-29
0
0
6
10
14
0
0
-36
84
-15
0
0
25
20
-55
0
0
33
-79
-6
0
0
18
-28
10
-10
-47
-30
53
-11
-50
21
8
38
-44
-23
73
92
-10
-4
-1
38
-10
-21
-26
68
17
-23
-52
11
22
-57
-24
12
36
-215
-198
15
80
52
-199
-98
60
48
18
-57
-18
44
-38
34
-20
72
23
-39
22
-3
2
32
-15
30
-83
-146
64
27
74
0
0
0
0
0
7
-40
36
27
-48
-35
-14
39
63
27
0
-107
46
-10
41
0
-11
29
55
85
0
-47
63
7
-12
0
-9
-41
6
32
0
40
-28
-6
36
0
0
30
4
5
0
0
21
-5
13
0
0
-7
-137
-80
0
0
44
-19
12
0
0
3
-44
-22
23
-38
117
-17
-14
63
31
71
-115
10
-2
58
28
43
-13
47
32
69
-2
-22
13
12
82
28
-51
-38
-32
26
42
107
-99
-74
-3
70
-3
-110
-92
3
6
44
-1
-78
26
32
-22
116
9
64
-25
-66
48
13
-28
3
-12
-70
15
20
42
68
0
0
0
0
0
-19
3
-20
-43
10
-15
-43
39
-11
34
0
21
-11
-1
34
0
-27
122
46
17
0
28
11
10
119
0
19
57
47
-6
0
-42
-21
-26
20
0
0
15
-18
0
0
0
-3
-53
29
0
0
-31
-77
-27
0
0
-51
-64
10
0
0
-33
-49
23
55
96
-4
-28
9
78
25
-32
-23
-23
-5
30
3
-48
13
-60
-13
54
24
-7
-21
-53
19
10
7
84
7
-15
43
-142
37
24
23
110
-39
97
-24
-4
27
-33
9
48
-9
16
-37
-39
-13
14
23
-14
67
35
-98
-3
-7
90
23
-65
1
14
0
0
0
0
0
-6
-31
54
42
-47
12
2
25
-13
-7
0
30
-46
64
-7
0
39
-22
7
-69
0
33
-17
62
-44
0
-14
-67
-31
-9
0
20
-41
10
-9
0
0
-48
-18
-17
0
0
-53
-25
-22
0
0
45
44
-66
0
0
3
-2
11
0
0
-4
7
-19
18
-111
-7
-3
7
-79
-19
62
19
-3
77
5
-4
1
0
8
11
-1
0
0
0
0
0
0
0
18
23
-4
-7
13
187
21
59
-17
-34
101
126
-18
71
36
-27
20
41
-1
-7
0
0
0
4
0
-65
38
-32
0
16
44
60
45
40
-31
0
0
0
0
0
-26
41
-99
8
-13
2
0
0
4
0
0
-21
-27
11
5
0
22
18
-111
-96
0
60
-6
-54
-46
0
-18
-18
-41
-7
0
1
0
0
0
0
0
34
1
2
0
0
17
-1
14
0
0
-6
0
-6
0
0
3
0
0
0
0
0
0
0
-28
-15
-43
57
43
-46
-12
-19
-10
40
-1
-54
-11
15
-69
-98
15
-3
11
-18
-27
-20
40
-69
45
21
-12
64
-25
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-54
37
40
-38
-78
-2
-84
52
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-1
43
5
11
0
-49
-64
53
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-55
21
0
0
-49
63
5
0
0
-27
-9
-5
0
0
29
5
47
0
0
95
54
-20
0
0
-41
-27
51
-29
1
26
102
-39
53
56
23
11
-8
59
-3
21
10
-39
32
40
-47
42
-25
1
-10
-36
19
16
-14
-35
-59
133
-58
2
-12
61
40
26
-22
-18
60
0
0
10
2
2
-51
37
11
4
-17
31
-12
-63
-18
28
40
-7
11
6
49
-24
1
0
0
0
0
0
-32
79
47
-3
-78
41
-32
-8
37
-20
0
-1
51
30
25
0
40
-50
17
-12
0
-11
-10
-7
4
0
17
-8
73
37
0
21
22
29
35
0
0
-41
6
-5
0
0
12
-42
-9
0
0
-7
-8
25
0
0
-41
37
-11
0
0
-11
-21
8
29
36
86
-39
16
79
14
32
49
-30
67
19
13
-14
9
-38
-8
-19
9
6
15
25
1
-1
0
-10
2
87
17
-53
-63
73
77
60
-43
42
23
67
24
4
-35
45
12
23
-18
2
-5
-18
2
6
42
-90
-6
0
24
40
3
128
-11
-7
0
0
0
0
0
-3
27
40
11
-6
-3
1
2
-45
0
0
17
-39
41
8
0
30
-20
21
38
0
-33
59
24
-9
0
48
-19
18
-26
0
14
3
-6
13
0
0
-23
-18
-22
0
0
66
-23
31
0
0
28
-8
8
0
0
-3
-25
-2
0
0
0
0
0
-97
-46
58
-18
70
-69
-34
-79
105
62
-108
-28
-28
12
-19
-43
7
61
-26
60
73
-45
-3
18
-7
-13
-50
-52
30
-5
-1
24
10
-1
-4
3
5
0
0
0
0
0
1
-1
0
-4
36
6
8
18
1
-72
-23
-40
-33
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
4
0
0
-19
9
-1
-37
0
20
-8
-83
-49
0
-18
3
6
1
0
1
0
0
0
0
0
0
-8
-1
0
-37
25
-33
5
0
0
-41
-43
43
0
0
-74
-61
-15
0
0
-33
-15
66
0
0
-14
-21
14
0
0
2
-18
-6
3
-25
-1
1
-8
-116
-31
22
10
54
-133
-41
35
-12
94
-95
10
0
-41
33
-64
33
14
33
20
0
-41
12
-57
-41
-25
-25
-18
-29
47
-47
61
6
-8
2
-9
-48
5
23
20
54
-81
-57
30
0
-91
-24
-31
46
-23
18
-51
18
71
-5
0
0
0
0
0
0
14
-42
7
-1
-48
8
2
64
-15
0
-47
62
-6
30
0
45
-60
38
81
0
14
33
-54
31
0
-35
25
40
10
0
-78
25
-1
35
0
0
-8
-20
-9
0
0
66
-3
-1
0
0
-60
8
58
0
0
23
-45
7
0
0
-9
4
-32
-69
16
13
14
-3
-27
-21
34
31
-50
-19
-60
34
19
19
-109
73
-6
41
31
5
-69
-14
-13
20
-31
88
-58
-34
22
-3
95
-25
-56
2
-13
37
-40
-53
44
-55
-50
33
6
-31
-127
102
1
-28
-16
-146
-50
172
45
-62
62
-37
-14
-30
14
0
0
0
0
0
32
78
-25
-10
-69
-9
-21
35
5
-6
0
-20
-47
0
-1
0
-62
-33
6
-22
0
-75
-75
69
-28
0
39
-10
-17
-25
0
40
-56
-55
39
0
0
28
1
-65
0
0
-74
80
2
0
0
-60
-48
11
0
0
-17
-39
14
0
0
42
26
5
-29
81
31
-53
-13
6
-49
2
-12
49
35
-27
72
-9
-8
-16
-21
45
-22
-23
18
8
0
-11
0
-133
-5
19
37
-40
32
7
-55
-54
28
28
-44
2
72
3
22
39
-82
17
-59
0
0
-10
-29
1
106
-5
-51
-3
-36
-83
-17
-10
26
-17
0
0
0
0
0
23
62
-19
39
-6
1
0
-1
0
0
0
89
55
-1
10
0
-2
-48
-27
-25
0
-7
-39
-46
-10
0
48
29
-17
-25
0
0
7
-4
1
0
0
14
22
-56
0
0
-16
40
3
0
0
25
8
-2
0
0
7
-8
1
0
0
0
0
0
-33
-6
2
0
1
-7
23
25
-4
0
4
-1
-1
0
0
-1
1
0
3
0
-3
0
0
0
0
39
-14
-20
27
-6
-13
-34
41
3
20
38
60
17
-6
-44
-14
12
-26
-7
2
0
-1
0
0
0
-19
5
0
-5
10
-1
-9
-4
0
7
0
0
0
0
0
3
-6
-2
1
-2
0
0
0
0
0
0
-10
4
-1
2
0
-43
-39
-47
6
0
-43
-14
81
-1
0
1
-2
1
-2
0
0
0
0
0
0
0
-2
0
0
0
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
38
-20
-32
-7
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
60
-27
-36
-5
35
-15
-5
0
0
0
0
40
5
91
-33
-3
-4
-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
-26
-9
5
35
53
-7
-4
0
0
0
0
38
23
-12
-25
5
-2
-34
0
27
-19
1
21
-15
0
-11
-1
44
-30
15
-13
16
40
-11
-2
-4
24
-37
5
6
-3
36
-22
-1
0
-20
20
63
5
49
31
-8
0
0
0
0
13
-12
45
-17
-1
1
-7
0
56
12
-27
4
26
-13
-14
-15
0
0
0
0
0
0
0
0
0
-8
-9
11
-57
-22
6
0
-2
0
49
2
-5
16
10
-7
-7
0
0
0
0
23
12
-6
8
-11
0
-1
0
53
27
17
-41
1
10
-14
-3
60
-39
-37
-3
-74
-45
-15
0
1
-47
-7
24
16
66
-23
-8
-1
0
30
43
31
-23
37
-13
-1
0
0
0
0
-15
-4
-61
-20
-6
-2
-5
0
-14
8
36
-26
4
-13
-1
1
19
66
-1
-30
28
1
3
3
1
42
-19
5
-12
55
21
-6
0
0
12
-61
-40
8
-5
-10
-2
0
0
0
0
-6
-21
-4
37
0
6
-1
0
20
29
34
1
8
8
-3
-2
0
0
0
0
0
0
0
0
0
39
34
7
19
0
3
-9
-1
0
-27
49
-1
28
15
1
2
0
0
0
0
-39
2
3
-3
-15
1
7
0
-26
14
18
13
11
1
1
0
25
42
28
20
-18
-3
-4
0
-5
32
-27
12
1
-7
2
-2
0
0
-6
-65
44
2
-1
21
-12
0
0
0
0
22
0
46
21
-4
4
-1
0
3
34
-57
48
5
3
-1
1
-38
-36
15
7
-20
-20
-12
-1
1
19
16
-5
23
5
-14
-5
-3
0
54
10
-19
-15
-15
7
-2
0
0
0
0
0
2
-6
-75
18
-35
-65
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
1
19
13
-13
-51
-9
-16
0
0
0
0
0
-9
-24
-13
17
7
-178
0
0
0
0
0
0
2
-1
-4
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
-4
-16
1
0
-6
25
-38
-9
-6
-39
43
0
0
0
0
-2
-8
51
-1
9
0
-75
0
0
13
12
15
2
2
-165
65
0
2
-19
-10
8
86
-20
-24
-16
4
-27
23
30
0
-5
22
-44
0
-41
44
23
66
36
20
-52
0
0
0
0
25
-22
-6
14
-6
-3
-147
0
0
0
0
-23
16
107
-184
-35
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-12
14
-36
0
-21
6
-2
-40
34
-32
-21
0
0
0
0
-26
-43
-26
12
1
-24
-198
0
0
0
-3
-35
-8
-37
-148
-7
0
0
-2
11
10
-67
-78
-59
24
1
8
2
7
-43
31
-60
-32
0
7
67
10
44
29
-19
-22
0
0
0
0
-47
-6
26
-9
7
-2
-86
0
79
16
-20
-27
-15
21
-59
-26
21
9
24
23
40
13
9
-31
0
-41
13
32
41
98
11
16
-22
0
0
-12
12
69
47
1
13
0
0
0
0
-56
-17
-60
17
-2
-1
-75
0
-1
-18
19
-6
-37
24
-40
-73
0
0
0
0
0
0
0
0
0
-1
-9
-1
9
30
-82
9
5
0
-18
-4
54
20
53
15
-6
0
0
0
0
-16
-40
-50
7
7
-4
-48
0
0
9
-7
26
9
-13
-37
-2
9
9
8
18
32
16
1
-30
15
-12
-28
-9
38
-53
10
-5
1
0
-37
-66
15
52
-4
22
20
0
0
0
0
58
40
31
12
5
-4
-43
0
-37
23
45
-28
-22
-2
-15
5
-21
-12
-2
-29
74
11
-8
5
31
-26
12
5
-48
-7
-20
18
17
0
-51
15
29
23
-2
3
-4
0
0
0
0
-8
16
52
28
18
1
-3
0
25
8
-15
0
-95
-16
13
-9
0
0
0
0
0
0
0
0
0
12
31
-28
-7
66
-16
-8
-18
0
32
12
-20
-10
23
-4
57
0
0
0
0
22
24
75
-12
3
-3
12
0
6
-5
-40
-14
2
11
-21
-11
-14
43
-7
-3
23
11
15
26
21
6
0
20
-32
-72
-31
44
-4
0
53
-30
-52
16
42
58
52
0
0
0
0
0
-44
36
-9
11
-2
-3
0
61
19
29
-44
-12
-20
-1
31
-28
36
34
-17
57
53
1
14
2
-23
-44
-34
-25
-19
39
15
22
0
19
18
-12
2
24
-17
22
0
0
0
0
0
-18
39
5
37
-2
21
0
0
3
61
77
-25
28
-12
8
0
0
0
0
0
0
0
0
0
19
-2
-26
-75
23
60
10
-81
0
0
-3
0
0
3
17
42
0
0
0
0
0
7
-61
17
-10
-5
21
0
65
24
-16
-11
-2
4
-4
23
-7
9
53
2
29
22
-7
24
16
55
67
-45
47
53
8
8
10
0
2
15
-4
1
-17
-6
52
0
0
0
0
0
42
51
30
-6
-3
9
0
-3
15
9
50
-54
-12
16
34
2
-19
-18
-9
-13
18
18
26
-1
10
8
55
-69
-44
-62
21
55
0
-8
3
-4
1
-34
-12
63
0
0
0
0
31
-1
14
44
0
6
2
0
0
0
0
0
0
0
0
0
-11
25
30
-35
54
10
-3
0
-2
0
0
0
0
0
0
0
0
0
-34
-43
61
48
-41
-1
3
0
0
0
0
50
3
20
79
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
18
34
-10
39
-11
-37
1
0
0
0
0
-18
16
54
47
1
1
3
0
-16
12
-20
12
36
-11
-1
1
-10
44
17
16
48
0
-4
-7
1
-38
40
61
58
-8
-1
-17
2
0
-15
36
1
1
50
-5
-7
0
0
0
0
47
-23
-9
41
15
13
15
0
-3
-4
-43
71
29
-2
0
2
34
-4
-18
41
-15
2
-2
1
2
-5
4
14
47
-17
31
10
-1
0
14
56
55
42
1
28
3
0
0
0
0
-28
44
-7
67
7
3
-1
0
69
-14
74
-25
-6
6
-1
1
13
-7
2
14
50
7
-3
0
0
45
-33
-18
18
13
25
17
1
0
7
4
-4
-77
43
35
-3
0
0
0
0
-27
-31
50
-39
-15
1
0
0
-43
-44
30
-4
29
2
2
3
4
31
-19
-18
-66
6
2
-1
-18
-19
100
-119
-34
-20
0
5
0
0
-35
11
-67
-31
47
-3
3
0
0
0
0
-17
78
16
53
2
12
1
0
-27
5
-1
7
13
5
1
4
5
40
43
15
-14
-6
-4
-2
-1
12
-17
-45
32
37
13
6
10
0
12
-42
-30
-32
16
153
-7
0
0
0
0
-26
-11
68
32
1
2
-3
0
-114
-4
-22
-21
0
-2
0
-4
-13
37
-10
-7
12
17
2
1
1
-62
34
-6
18
45
13
2
-3
0
-37
25
-13
-33
12
20
14
0
0
0
0
-3
34
-78
-63
-38
6
-5
0
49
4
12
-15
-6
1
-1
11
6
9
-33
4
-18
29
-6
2
-2
43
-17
-33
-55
-5
24
16
-6
0
36
8
1
-48
-16
38
-24
0
0
0
0
0
0
0
-59
-100
32
-231
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
-4
-1
-11
-32
0
0
0
0
0
0
0
8
-84
-39
-114
0
0
0
0
0
-1
-4
-29
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-7
13
16
-82
0
0
0
0
0
0
-2
6
45
-9
-189
0
0
0
0
-1
-15
4
-69
-175
0
0
0
0
14
6
65
-209
-94
0
0
0
-7
15
-17
-12
-58
0
0
2
2
0
-3
-44
-14
0
0
0
0
0
-1
-9
-62
-51
-17
-107
0
0
0
0
-2
-44
-61
-26
-8
0
0
0
0
0
0
0
0
0
0
0
8
-1
-1
-65
-38
17
0
3
16
-8
10
-8
-8
-62
0
0
0
0
2
2
29
-136
-34
-19
-110
0
0
0
0
-1
-23
-81
-103
-87
0
0
0
0
-20
-42
-46
-56
-88
0
1
-1
9
-31
-40
-148
-91
0
-2
27
-29
45
18
-65
-40
0
0
0
0
0
-5
-38
-17
-11
-5
-86
0
0
0
9
50
8
1
-67
-23
2
-6
-8
16
53
-13
-68
-26
-22
2
2
-22
47
4
46
-146
-42
0
0
-18
2
-9
-4
17
-47
0
0
0
0
-5
18
-30
-3
4
-4
3
0
-6
1
10
-69
-97
-5
-3
15
0
0
0
0
0
0
0
0
0
-24
40
63
18
-39
-78
-64
24
0
16
-32
29
-1
18
-45
24
0
0
0
0
24
-2
3
28
8
-2
-5
0
9
-7
-15
38
-28
-45
-11
-4
-24
29
5
-102
-52
-25
-95
9
-17
10
43
27
-24
-76
-34
-65
-13
0
22
44
56
41
-67
-25
12
0
0
0
0
-3
1
-22
-13
-3
1
-18
0
12
-1
-33
22
39
-8
-4
5
0
1
-25
71
31
-42
7
-3
9
15
5
32
58
31
-93
26
-2
0
-10
75
22
-40
-30
15
6
0
0
0
0
0
4
39
62
58
2
4
0
8
-31
-15
17
28
11
15
-10
0
0
0
0
0
0
0
0
0
0
-20
-29
-40
-38
19
67
1
0
-1
11
-1
-19
-15
-51
82
0
0
0
0
1
7
18
15
9
7
17
0
24
-20
47
52
5
-17
6
-6
25
-39
4
80
43
13
4
7
4
-9
25
-15
11
22
93
31
-13
0
-23
9
-12
-5
25
22
54
0
0
0
0
0
-1
10
21
-4
19
13
0
-1
9
3
35
-19
-7
10
2
1
10
68
57
1
-7
3
18
53
-15
-27
13
0
26
-41
50
92
0
-1
-5
-7
23
27
53
-7
0
0
0
0
0
0
-5
0
57
27
24
0
0
0
4
-43
59
43
25
36
0
0
0
0
0
0
0
0
0
-3
23
-1
4
5
-11
58
-19
0
0
0
0
0
1
7
-1
0
0
0
0
0
0
-2
8
52
-18
11
0
-2
5
-11
-3
77
37
8
9
0
-50
68
-1
6
13
12
9
43
9
8
70
4
65
5
40
42
0
-4
1
0
0
10
3
0
0
0
0
0
0
0
-1
4
-7
27
8
0
0
-3
0
1
-31
24
22
43
0
7
-6
0
0
-64
57
23
93
0
6
-1
4
2
-40
60
9
0
0
0
8
0
1
-4
20
0
0
0
0
-9
-4
-5
37
-28
2
-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
-8
83
-4
-41
5
-94
-10
0
0
0
0
-17
9
15
15
31
-16
-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
8
-24
61
-1
60
-4
-32
0
0
0
0
32
24
6
27
-2
-10
-128
0
18
15
-37
-12
24
-12
-10
-65
-50
-13
39
-7
-58
27
-31
23
-60
-5
-18
7
9
31
49
-35
-8
0
21
-17
20
49
33
-52
-42
0
0
0
0
12
4
39
-73
10
5
-144
0
-1
0
1
26
-94
-1
62
0
0
0
0
0
0
0
0
0
0
1
-1
11
-17
1
4
-45
41
0
2
7
-11
33
37
22
-13
0
0
0
0
32
15
100
72
2
11
-26
0
24
23
-15
56
-8
-16
-10
114
3
-5
12
-26
11
-17
-45
-11
74
-1
-6
-23
-32
16
63
-2
-17
0
1
19
11
-42
-68
-68
63
0
0
0
0
-1
37
-44
-7
-21
18
-33
0
7
-25
-6
22
7
-83
-24
72
-1
7
-5
100
-2
-64
-43
103
11
1
-1
10
-63
9
-106
-14
12
0
0
21
5
-21
-15
-31
75
0
0
0
0
0
1
22
85
9
-44
96
0
0
0
1
5
-57
2
306
0
0
0
0
0
0
0
0
0
0
2
-14
-2
11
33
14
46
-59
0
-5
-1
2
0
-3
21
-22
0
0
0
0
3
0
-5
5
30
8
85
0
62
31
47
28
2
-57
21
187
32
61
-19
8
-21
-7
-13
43
29
-2
-3
-8
5
-7
-20
118
-44
0
0
-1
3
25
-10
-49
-49
0
0
0
0
2
0
-19
30
52
37
19
0
10
7
29
0
-53
-10
-9
217
2
3
29
-11
26
25
-45
192
39
0
13
9
47
-11
28
52
-80
0
-1
-1
-2
1
-4
-4
2
0
0
0
0
0
0
-1
-6
-34
-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
2
0
5
0
0
-9
5
0
0
0
0
0
0
-20
-26
24
9
-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
5
7
-19
88
4
0
0
0
0
0
9
-51
0
2
7
2
0
0
5
44
-17
-3
-41
-48
34
0
-1
6
17
2
-2
-66
-70
25
0
-8
7
19
-3
24
-19
-109
0
2
1
-12
-1
7
34
-41
0
0
0
0
0
-6
-27
0
-18
-25
11
0
0
0
0
1
-3
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-10
-14
-16
44
-84
-36
-2
0
0
0
0
1
-14
-22
-5
-4
0
-60
0
0
0
0
-22
-9
7
-48
1
0
0
0
0
0
-8
2
-38
-19
0
0
-1
-1
0
-2
19
-7
0
18
-18
47
-29
-31
-17
-46
0
0
0
0
29
-23
34
-15
-9
1
-24
0
1
-4
1
10
82
8
1
-83
5
17
-10
-30
-20
-8
18
-3
-38
4
35
41
-8
-60
-1
-11
-56
0
-38
28
32
-22
-20
-52
-44
0
0
0
0
-10
-33
-17
-86
40
-13
-43
0
0
0
1
-8
0
-2
-13
21
0
0
0
0
0
0
0
0
0
0
6
10
7
-3
19
-39
-100
0
11
-10
20
-19
11
26
-4
0
0
0
0
-2
-19
1
-43
-19
-6
20
0
2
0
-2
29
18
16
-80
-124
3
1
7
4
47
7
38
-113
12
-3
-8
15
8
13
0
-43
-38
0
7
10
-6
-4
-26
33
-100
0
0
0
0
27
-39
16
66
-2
2
-15
0
6
-15
-19
12
2
20
-9
-8
1
-24
7
-29
-11
-106
16
9
-9
-1
27
24
23
9
8
7
-78
0
63
-38
-17
-25
-19
-2
33
0
0
0
0
0
1
-9
-113
21
32
-18
0
0
0
0
-5
24
-54
22
-8
0
0
0
0
0
0
0
0
0
0
-2
0
9
-21
-28
42
47
0
-1
-2
0
1
0
-6
3
0
0
0
0
0
-1
-43
24
41
13
30
0
0
1
31
45
-1
-28
-18
0
-1
-1
0
1
34
-44
26
-69
9
-1
22
8
1
1
-47
-29
-35
0
-1
-4
0
5
7
-8
-19
0
0
0
0
0
9
39
40
-26
-33
41
0
0
-2
19
51
18
-26
-11
64
0
5
0
17
44
-12
20
109
-129
-9
-5
1
-12
7
21
11
-119
0
0
-5
-6
1
0
18
17
0
0
0
0
0
0
0
-3
56
-49
82
0
0
0
0
0
2
57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-27
-4
61
0
0
0
0
10
-14
35
-10
30
0
0
0
-5
-28
-22
-50
77
-1
0
3
-2
-1
-11
-9
40
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
67
1
23
0
0
0
0
0
-16
69
-1
-28
0
0
0
0
0
1
-26
96
0
0
3
0
0
0
-4
-25
-1
0
0
0
0
0
2
-6
0
0
0
0
0
-25
13
-11
-19
-9
11
-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
-56
-6
3
33
4
-4
-2
0
0
0
0
-10
-5
10
-18
-17
-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
-23
-37
39
-10
8
2
-5
0
0
0
0
11
-2
-13
-9
-8
6
-12
0
-38
-25
2
20
-5
8
4
-12
-33
-19
-5
-10
6
36
2
-11
-5
-62
94
-10
11
9
14
-6
2
0
3
-7
21
15
-17
-1
-4
0
0
0
0
38
26
59
23
3
-1
1
0
20
-5
-10
-3
6
-3
3
-21
0
0
0
0
0
0
0
0
0
-53
12
19
-6
16
-11
-4
2
0
27
47
10
13
-7
-2
-8
0
0
0
0
14
21
15
18
6
0
5
0
37
29
28
20
32
21
-7
-30
-41
7
-2
-26
-22
9
6
-7
-6
-154
-33
-11
-4
33
0
-6
-1
0
18
-7
-7
-13
35
1
-4
0
0
0
0
23
37
15
-5
-3
-1
-2
0
13
23
18
-20
-10
-4
5
0
7
20
19
-2
-1
-1
16
2
0
36
3
26
-18
-9
9
3
1
0
-60
-6
-29
10
-6
-5
1
0
0
0
0
24
54
74
31
5
0
2
0
4
31
37
32
42
19
2
-1
0
0
0
0
0
0
0
0
0
52
6
-22
11
5
-1
-2
1
0
-13
-10
4
-5
19
19
-7
0
0
0
0
53
48
46
13
7
3
13
0
24
54
40
10
46
4
0
1
26
39
31
-20
-12
12
4
0
5
-14
58
1
23
22
23
0
0
0
31
33
11
-1
6
0
-11
0
0
0
0
25
21
27
-7
-6
2
-1
0
50
20
33
-32
-4
-11
1
7
-8
33
-21
-12
-28
-22
4
2
11
25
37
30
3
-29
-17
-10
0
0
57
0
2
5
4
-1
-11
0
0
0
0
-8
-91
-35
2
7
91
-101
0
0
0
-93
-64
-105
34
3
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
8
1
12
0
0
-58
2
37
-41
-10
6
-15
0
0
0
0
-50
-70
-52
-9
12
33
-61
0
0
-13
-110
-83
-44
39
-55
-24
0
-1
-10
-41
23
-53
-128
96
3
-13
-2
43
23
-77
-59
-30
-67
0
-127
23
-22
35
16
18
-25
0
0
0
0
-160
-81
0
-25
3
24
20
0
-124
-134
-46
-19
24
12
-14
10
-130
-73
-39
43
20
16
-23
1
-8
-143
-39
18
-32
9
34
7
-19
0
-98
79
-42
-14
-3
4
-4
0
0
0
0
-23
-79
-47
-29
-6
7
-85
0
0
17
-119
-90
-67
-11
-150
11
0
0
0
0
0
0
0
0
0
-3
-43
50
-22
-54
-17
-88
65
0
-66
31
37
44
-9
-7
-12
0
0
0
0
-78
-64
-43
-26
0
2
-45
0
-22
-47
-2
-102
-39
-50
-63
1
-88
-56
36
-38
8
-44
-70
-13
-9
-92
-65
15
-36
-29
-54
-55
-33
0
20
22
0
-19
16
-5
-3
0
0
0
0
30
11
4
-15
-1
1
-9
0
-68
5
-7
-2
10
15
-2
-10
-59
-9
23
19
9
-3
7
-15
-13
-35
31
16
23
19
18
0
3
0
-25
58
39
16
15
2
6
0
0
0
0
-2
-25
-67
-2
-5
3
-33
0
-194
-76
-102
-47
-18
-11
-68
-33
0
0
0
0
0
0
0
0
0
-117
21
-26
33
60
-22
-24
-11
0
0
60
-63
-16
2
12
8
0
0
0
0
-4
-46
-31
-17
-17
-1
-11
0
-98
-74
-71
-42
-35
-38
-55
-27
-123
-29
-74
-13
-7
-39
-26
-15
-10
-85
-68
-17
7
-22
-19
-11
-15
0
-16
-5
-9
30
27
-19
8
0
0
0
0
30
30
17
8
3
9
-5
0
65
26
11
-15
1
5
8
5
35
15
-9
4
27
-1
-7
6
13
30
15
-10
-42
5
10
3
9
0
40
79
6
17
-8
7
-3
0
0
0
0
-12
-18
10
16
-5
9
17
0
66
-44
-30
-3
-32
-35
3
-5
0
0
0
0
0
0
0
0
0
32
35
-3
-60
-16
11
23
-7
0
1
42
-16
-58
54
11
24
0
0
0
0
26
1
50
-9
-4
6
23
0
-48
-83
-30
-34
-9
-1
-12
-1
-55
-17
-41
-6
12
-15
-5
13
-3
49
74
-7
-6
-6
6
15
4
0
31
24
-46
-26
-33
28
-6
0
0
0
0
11
15
-42
-5
-6
-1
11
0
69
61
-10
-44
-20
-3
20
15
-42
-18
69
-24
-16
-5
14
30
20
1
6
-10
-42
-8
-1
3
40
0
181
95
-74
12
0
4
-4
0
0
0
0
13
46
89
-39
6
5
35
0
32
-97
101
30
-44
-13
11
8
0
0
0
0
0
0
0
0
0
9
-5
-52
13
-21
37
19
38
0
-4
-3
-1
-8
-14
53
55
0
0
0
0
-7
-19
41
-65
-56
4
24
0
-85
-29
-36
-54
-17
-16
17
20
-12
118
73
14
9
5
15
34
19
193
26
17
-46
-50
22
1
-4
0
28
118
36
-35
-73
21
-27
0
0
0
0
3
26
55
14
-16
-3
10
0
-3
-67
56
-102
-18
-9
27
55
-4
61
41
5
-31
-38
-1
32
31
19
61
52
-54
21
-49
4
51
0
-2
13
-17
-50
-30
45
41
0
0
0
0
22
5
-3
4
2
3
-4
0
0
0
0
0
0
0
0
0
6
13
9
2
15
0
-6
-2
-6
0
0
0
0
0
0
0
0
0
149
-19
60
14
-17
9
2
0
0
0
0
44
1
12
25
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
-95
34
-41
-34
-22
-13
4
0
0
0
0
13
53
35
5
-17
-2
10
0
50
5
57
20
-3
-12
-8
4
-9
128
-36
22
24
-9
-12
-7
2
-4
-7
-10
-6
18
-8
-1
-1
0
3
70
-5
-2
-2
-7
-5
0
0
0
0
-14
59
76
21
9
11
21
0
32
15
-9
30
22
6
-5
7
30
22
2
20
14
12
-3
1
2
167
42
3
43
29
23
9
1
0
37
42
4
53
-7
0
-10
0
0
0
0
15
63
88
15
14
4
11
0
22
15
19
29
4
4
4
1
45
59
23
25
21
9
-2
4
-1
96
82
30
-5
-17
23
4
1
0
54
-8
6
9
-19
-1
4
0
0
0
0
51
11
44
-8
3
0
8
0
65
-25
27
24
4
-7
2
19
27
96
32
29
8
10
-3
5
11
5
50
42
10
6
-1
8
1
0
-46
16
54
-6
16
4
-15
0
0
0
0
6
75
54
58
4
8
16
0
45
42
8
17
24
3
2
15
47
45
18
19
-3
22
3
1
0
62
31
43
41
17
11
12
0
0
38
-36
29
25
-22
-2
-46
0
0
0
0
-63
129
60
11
12
3
15
0
43
-2
-8
3
-1
-5
0
14
33
18
53
34
10
18
1
2
13
54
44
27
37
7
13
7
6
0
43
74
6
15
-17
19
-11
0
0
0
0
51
-71
59
-30
-22
-5
1
0
11
7
-45
92
47
-14
3
28
45
-25
71
5
-33
12
5
16
37
228
33
47
4
4
0
-5
12
0
55
59
-20
-8
16
13
-54
0
0
0
0
0
0
-22
-69
-54
27
-176
0
0
0
0
1
-13
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
0
0
0
7
31
-27
-93
60
-63
0
0
0
0
1
-5
-30
-75
-21
26
-96
0
0
0
4
2
-100
-66
-169
-76
0
0
0
1
2
-5
-73
-71
-3
0
0
2
-2
4
-2
-16
4
0
0
1
-37
-84
40
31
-17
0
0
0
0
0
26
-115
-5
-48
-8
26
0
0
2
-5
-24
38
-16
5
-65
0
-3
2
-28
7
34
-23
-151
-13
-1
-2
-43
-51
25
5
39
-21
0
-2
-25
2
-53
-4
9
40
0
0
0
0
37
-9
-42
-14
3
-6
-48
0
0
6
58
-118
-81
-4
-48
-11
0
0
0
0
0
0
0
0
0
0
0
44
-20
-42
-129
-175
-59
0
-29
61
-2
-14
-34
41
-21
0
0
0
0
-8
-27
-24
11
-22
-4
-35
0
0
0
-45
-58
-60
-19
-72
-4
0
-14
6
-36
27
8
-85
-79
-97
2
-1
17
3
40
-83
-194
-19
0
-133
-98
-63
-2
51
-6
-8
0
0
0
0
-23
-19
-43
-7
6
7
-10
0
36
54
-88
67
47
6
-30
-12
-34
-57
-80
3
43
35
-9
-43
-12
-134
6
-58
118
30
41
-39
-27
0
-81
-42
15
-15
-30
-3
-18
0
0
0
0
29
38
60
-43
-13
14
21
0
39
-31
-38
-59
-35
0
-12
16
0
0
0
0
0
0
0
0
0
-308
-63
-12
-7
-20
-22
-43
13
0
60
5
73
-31
26
-22
-15
0
0
0
0
78
72
-70
-19
0
2
12
0
28
-15
-11
32
-5
-23
-49
0
-34
-72
-84
-51
-14
-2
-42
-27
-16
-42
-66
-14
-43
-22
3
-53
-15
0
137
54
7
5
-7
39
-10
0
0
0
0
-26
-46
-10
46
3
10
6
0
34
-75
59
49
35
8
1
19
27
-22
16
30
11
21
-3
15
6
28
56
95
-2
-7
-11
5
-4
0
-9
14
54
-11
-14
21
2
0
0
0
0
0
60
43
7
10
-2
36
0
8
56
42
57
31
31
31
51
0
0
0
0
0
0
0
0
0
202
46
9
-101
36
5
43
-15
0
2
0
-66
-16
26
75
3
0
0
0
0
5
113
83
-28
-18
14
44
0
-25
-13
39
43
18
20
11
19
173
111
4
16
17
17
7
26
14
65
-16
5
6
13
37
23
17
0
8
58
22
-3
13
26
-31
0
0
0
0
1
27
56
44
-12
38
24
0
8
8
-5
-38
52
-6
25
73
-5
48
4
55
26
3
20
31
40
36
46
-42
1
-18
-9
26
43
0
8
-53
36
-8
-3
51
67
0
0
0
0
0
3
1
-27
84
25
62
0
0
73
48
60
26
45
52
54
0
0
0
0
0
0
0
0
0
48
25
33
-41
-31
68
-4
-28
0
0
0
0
1
-29
43
16
0
0
0
0
0
2
-50
32
-49
37
66
0
0
45
64
-27
-2
15
19
54
0
46
89
5
43
-44
3
37
36
17
47
16
12
7
11
23
55
0
-10
3
0
0
-31
-41
52
0
0
0
0
0
-3
20
-4
30
40
13
0
0
6
-8
-6
83
-9
45
86
0
22
0
0
-14
-71
1
87
24
7
11
0
3
-31
-29
31
58
0
0
0
6
0
2
14
12
0
0
0
0
-104
-133
-17
17
7
-9
-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
-7
44
14
3
14
-36
-24
0
0
0
0
-34
-17
31
38
29
-18
-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
54
-24
46
-39
-8
5
-30
0
0
0
0
4
8
10
21
-1
-16
-26
0
47
-23
0
9
36
-11
-28
-65
-23
30
-23
21
24
33
-13
-33
-53
9
30
30
29
1
11
-22
-17
0
-24
-19
8
24
-12
8
-8
0
0
0
0
60
-4
46
-10
-12
-10
-83
0
5
1
-12
-19
8
-4
96
-2
0
0
0
0
0
0
0
0
0
-30
27
-14
-1
39
-7
-23
-46
0
-43
-43
-16
108
28
-68
-12
0
0
0
0
40
-38
46
60
27
-7
-111
0
37
-1
27
26
19
-17
-50
-19
14
-72
-8
33
38
11
15
-45
-79
-7
-37
-8
12
11
34
35
-41
0
-18
19
23
22
-47
-61
-33
0
0
0
0
22
3
27
36
26
-8
-36
0
42
-9
17
8
38
-7
-57
-22
38
60
24
-28
69
25
-43
-21
28
10
39
-17
0
-34
39
15
11
0
91
28
-14
46
-2
-63
-26
0
0
0
0
34
126
55
2
17
19
-116
0
30
5
-8
46
-36
-13
133
0
0
0
0
0
0
0
0
0
0
43
-17
0
34
20
-22
28
-143
0
-9
47
-9
4
4
70
-76
0
0
0
0
102
59
9
101
23
-14
-103
0
126
57
78
-2
31
25
-67
-48
56
175
-54
5
-26
0
9
-72
39
-1
34
-4
6
-5
10
40
-75
0
18
34
14
83
10
-58
-72
0
0
0
0
78
21
3
81
-16
-20
-90
0
-16
-7
5
59
17
23
-33
-74
9
6
-16
30
51
-57
31
-31
99
5
-3
-19
111
-9
28
-39
-41
0
-2
1
4
51
71
-69
0
0
0
0
0
0
-15
5
6
71
-31
-185
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
-20
-17
-92
-51
68
36
-6
0
0
0
0
-7
-32
13
-15
45
-75
-152
0
0
0
-66
88
39
-1
-18
0
0
0
5
0
6
3
0
2
0
0
-16
1
0
0
0
6
0
0
-135
11
21
0
30
9
-17
0
0
0
0
-32
18
-23
-15
0
33
39
0
-53
51
-7
-1
41
32
-10
-19
0
-85
17
-50
27
63
-19
-70
-62
5
-21
33
32
138
-79
-27
-121
0
-31
-20
1
-9
66
-70
31
0
0
0
0
-45
-56
-20
-4
0
-28
-144
0
0
0
-35
82
-21
-8
-32
12
0
0
0
0
0
0
0
0
0
0
6
-6
12
-92
21
37
-44
0
-38
43
19
-16
-90
-3
-10
0
0
0
0
-29
-89
4
10
26
-28
-103
0
0
-14
-18
42
27
-25
-67
-85
0
5
-5
69
-38
6
20
-70
57
-3
14
14
9
5
9
-42
-138
0
-39
6
18
8
-12
4
-29
0
0
0
0
22
-29
-9
-2
2
-6
-5
0
-113
24
-23
-1
14
6
-23
-8
41
-21
-28
-9
28
-6
-23
-24
-18
-75
8
12
37
-25
12
-24
-15
0
-20
20
-22
64
35
-6
-25
0
0
0
0
-10
-99
-24
-26
-11
-19
-70
0
0
1
72
39
-6
-24
-23
-29
0
0
0
0
0
0
0
0
0
4
3
73
0
70
-50
30
-96
0
16
-54
8
-88
69
-19
-64
0
0
0
0
-36
-41
21
9
3
-35
-60
0
-13
9
31
1
35
-39
-57
-2
7
-28
-28
20
29
-13
-7
-3
-14
0
25
5
-42
47
-42
-16
-29
0
-9
-17
40
71
-3
1
-71
0
0
0
0
-52
-91
27
26
0
-15
-21
0
-7
113
-31
-3
4
-44
-25
4
-2
56
-24
-51
10
-29
-17
12
56
-58
53
33
53
-8
-12
-25
-15
0
92
48
18
-44
-35
-10
-60
0
0
0
0
2
-49
33
-45
-15
-5
-35
0
0
0
-32
3
37
-18
-34
-16
0
0
0
0
0
0
0
0
0
-5
-35
-41
60
-56
29
33
59
0
-5
7
0
3
-1
-90
2
0
0
0
0
-2
-47
52
41
-12
-27
-72
0
41
89
40
4
12
-38
-47
12
29
-67
74
-8
76
-5
-24
-43
84
-7
76
14
-16
-39
-30
-30
-23
0
-17
-5
-37
-33
43
-131
151
0
0
0
0
-27
9
63
29
-22
-3
-36
0
37
-77
12
-28
-17
-52
-19
120
0
-64
-86
-2
129
-165
14
-27
-82
0
-19
9
-46
17
5
16
-20
0
2
-37
0
21
10
13
-10
0
0
0
0
0
-5
-11
-21
78
-58
-24
0
0
0
-2
9
11
-71
-39
0
0
0
0
0
0
0
0
0
0
0
-7
-7
13
-54
-3
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-52
-68
53
-20
0
0
-2
-30
-25
9
-18
0
60
-8
-7
-12
31
-25
21
2
58
4
-1
37
30
6
-75
-39
94
17
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
37
26
3
-59
-20
0
0
0
7
-2
-59
-64
-46
154
0
-13
1
1
15
-3
22
35
-2
0
2
1
0
1
-15
-29
-1
0
0
0
0
0
1
-16
0
0
0
0
0
-21
-11
-22
-8
-10
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
-72
-14
18
31
-1
-3
4
0
0
0
0
0
-11
1
-9
-16
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
-29
-46
43
-6
1
3
-7
0
0
0
0
9
-2
-2
-1
-1
8
-4
0
-30
-35
9
6
8
4
3
-6
-45
-20
1
-7
16
16
13
-9
-4
-61
102
-17
18
21
14
-8
5
0
5
14
26
15
-4
-14
-6
0
0
0
0
32
38
55
36
18
2
-3
0
13
-19
-11
2
-6
-5
4
-13
0
0
0
0
0
0
0
0
0
-61
12
13
-14
2
-10
-11
1
0
21
58
22
12
-6
-3
-13
0
0
0
0
1
26
33
31
9
1
3
0
23
29
21
24
29
19
-1
-38
-57
12
-22
-36
3
17
0
-6
-5
-161
-25
-25
2
11
9
-16
1
0
7
-29
-9
-5
20
-1
-4
0
0
0
0
31
45
43
3
-4
-3
-1
0
13
10
4
-31
-4
0
4
3
3
9
12
-9
0
5
8
-2
8
36
9
32
-28
-20
6
-2
5
0
-66
-21
-35
4
0
3
3
0
0
0
0
28
70
82
41
7
3
6
0
-2
37
34
38
43
29
8
-2
0
0
0
0
0
0
0
0
0
62
20
-14
-3
8
2
-3
3
0
-21
-8
-1
-8
26
17
0
0
0
0
0
76
49
46
19
8
6
9
0
50
65
44
0
43
11
5
5
18
29
25
-27
-4
7
4
1
5
-5
79
0
24
21
21
-3
1
0
49
62
3
-3
5
-9
-14
0
0
0
0
25
49
39
-13
-1
-7
2
0
49
32
38
-30
-14
-10
-5
17
0
42
-15
2
-34
-11
10
-1
8
22
54
37
10
-25
-14
-7
-10
0
67
-9
8
1
-19
9
-6
0
0
0
0
-8
-90
-41
-5
-1
88
-84
0
0
0
-93
-64
-101
38
3
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
8
1
9
0
0
-62
-8
29
-31
-8
12
-4
0
0
0
0
-55
-66
-53
-32
11
44
-21
0
0
-13
-109
-83
-40
39
-51
-12
0
-1
-9
-42
26
-53
-127
101
3
-13
-2
47
26
-77
-58
-21
-64
0
-123
7
-32
45
20
14
-14
0
0
0
0
-158
-80
-25
-13
3
33
23
0
-128
-131
-32
-17
32
16
-3
1
-128
-79
-32
39
37
7
-12
7
-9
-140
-42
21
-31
10
27
1
-2
0
-93
80
-39
-5
7
-1
-2
0
0
0
0
-25
-79
-43
-34
-23
-5
-59
0
0
17
-118
-83
-61
-29
-149
23
0
0
0
0
0
0
0
0
0
-3
-47
50
-19
-56
-13
-84
65
0
-64
29
21
38
-18
-1
-5
0
0
0
0
-72
-45
-35
-27
-21
6
-34
0
-21
-55
-2
-90
-42
-59
-31
-3
-91
-59
32
-38
8
-41
-49
17
-25
-88
-68
15
-45
-33
-56
-24
-18
0
-4
13
2
-21
11
-4
-1
0
0
0
0
23
-3
2
-17
-2
4
-5
0
-93
12
-23
26
10
2
2
-6
-66
-14
1
32
22
-3
-11
-7
-8
-44
21
11
33
1
10
3
3
0
-36
67
58
-8
1
4
7
0
0
0
0
5
-36
-51
5
-6
3
-35
0
-200
-85
-84
-32
-32
-36
-100
-14
0
0
0
0
0
0
0
0
0
-118
10
-24
33
39
-27
-3
-12
0
-2
68
-62
-18
0
4
9
0
0
0
0
-9
-52
-35
-23
-18
0
-18
0
-102
-87
-75
-37
-46
-40
-67
-30
-120
-46
-78
-17
-21
-54
-32
-28
-10
-90
-69
-13
-3
-17
-23
-12
-21
0
-8
-5
-5
-6
18
-9
3
0
0
0
0
28
17
3
-10
10
2
11
0
67
18
-3
-4
2
-6
9
-3
52
17
4
22
14
-4
-11
-3
20
33
6
-8
-34
19
9
-1
1
0
38
77
1
22
4
-5
-6
0
0
0
0
-10
-23
-23
9
-1
15
20
0
65
-34
-31
-13
-19
-31
-20
-25
0
0
0
0
0
0
0
0
0
26
26
-3
-56
-8
-2
30
-13
0
2
43
-19
-66
47
13
14
0
0
0
0
24
-2
32
-4
-14
6
13
0
-54
-86
-34
-29
-7
-10
-26
-12
-67
-9
-29
-14
8
-2
-11
-5
-9
40
57
-8
1
8
11
10
-4
0
28
22
-50
-22
-38
31
-10
0
0
0
0
10
11
-54
-6
-8
6
10
0
60
67
-6
-42
-13
-8
5
-7
-50
-15
60
-22
-25
-40
31
15
22
10
9
-9
-44
-17
-4
5
23
0
191
89
-81
22
7
-7
-15
0
0
0
0
13
49
87
-49
0
12
30
0
33
-93
85
24
-43
-18
15
-2
0
0
0
0
0
0
0
0
0
5
-5
-54
12
-25
28
17
45
0
-4
-3
0
-8
-13
47
55
0
0
0
0
-7
-20
42
-92
-50
-3
16
0
-91
-45
-31
-49
-30
-21
8
10
-8
120
62
16
13
-4
14
18
27
188
17
30
-40
-52
13
-14
0
0
23
116
34
-31
-67
23
-32
0
0
0
0
3
16
51
12
-13
-24
-8
0
-3
-69
58
-111
-15
-16
13
64
-4
59
36
10
-34
-34
-9
21
43
17
58
53
-48
25
-44
-6
63
0
0
14
-15
-51
-27
43
31
0
0
0
0
17
-3
-13
-22
6
10
-10
0
0
0
0
0
0
0
0
0
-16
-3
-14
-13
-11
-7
-18
-6
-1
0
0
0
0
0
0
0
0
0
155
-12
48
11
-11
1
-3
0
0
0
0
23
10
-6
10
6
-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
-98
37
-40
-26
-17
-4
-1
0
0
0
0
10
49
23
-10
-10
7
-6
0
59
10
56
12
-10
-2
-7
-5
-5
132
-45
26
19
-5
-12
-9
-5
-4
-17
-13
-16
13
0
-11
-5
0
2
81
-15
-2
-18
-3
-8
0
0
0
0
-20
67
84
15
12
6
9
0
32
13
5
16
17
4
-10
4
22
27
9
29
21
14
-2
3
5
174
44
11
41
38
10
5
-2
0
51
33
-11
47
-11
-10
-8
0
0
0
0
15
52
73
-5
18
2
-3
0
-6
29
13
47
2
5
4
-5
59
62
22
18
-21
17
-7
-1
3
84
102
24
-8
-16
6
-7
1
0
52
3
3
7
-27
-6
0
0
0
0
0
60
25
34
4
-1
-2
0
0
85
-22
32
17
-14
-2
-8
4
34
107
39
35
9
11
-13
-15
18
13
35
48
12
-2
0
-9
-3
0
-33
10
58
-11
-6
18
-23
0
0
0
0
13
62
54
49
12
10
7
0
64
48
2
8
29
-1
0
24
67
45
26
27
1
22
6
2
-3
66
27
44
38
17
15
17
1
0
42
-37
35
37
-18
-23
-44
0
0
0
0
-58
137
65
7
14
-2
7
0
65
-4
-8
-13
-11
-8
-4
19
41
30
78
37
19
0
-4
-5
16
72
68
28
45
-13
-5
6
16
0
61
78
5
20
-29
27
-21
0
0
0
0
49
-79
60
-32
-8
-20
-2
0
-2
18
-44
106
39
-12
-10
10
46
-29
88
-8
-29
3
-8
13
40
246
26
49
7
10
-17
-18
15
0
47
63
-21
9
21
4
-61
0
0
0
0
0
0
-21
-62
-57
38
-154
0
0
0
0
1
-13
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
0
0
0
7
30
-27
-83
74
-44
0
0
0
0
1
-5
-29
-72
-28
43
-76
0
0
0
4
2
-101
-63
-160
-75
0
0
0
1
2
-3
-66
-72
-3
0
0
2
-2
4
-3
-16
4
0
0
1
-32
-83
40
37
-7
0
0
0
0
0
29
-111
-15
-48
30
53
0
0
2
-5
-17
26
-15
25
-30
0
-3
2
-31
-2
13
-9
-108
-8
-1
-2
-43
-40
25
16
42
-15
0
-2
-25
0
-52
3
24
43
0
0
0
0
35
-9
-29
-10
-4
-8
-7
0
0
6
58
-115
-75
-14
-70
-2
0
0
0
0
0
0
0
0
0
0
0
44
-15
-41
-114
-172
-56
0
-30
57
-5
-17
-21
48
-16
0
0
0
0
-12
-22
-27
23
-26
5
-19
0
0
0
-45
-57
-41
-16
-60
-12
0
-14
5
-41
30
4
-60
-106
-84
2
-3
18
7
46
-66
-164
-22
0
-133
-110
-58
9
56
15
6
0
0
0
0
-24
-19
-38
2
9
9
2
0
36
55
-89
59
58
2
-10
6
-36
-57
-77
-3
29
28
14
-42
-9
-137
9
-62
115
39
38
-20
-18
0
-85
-46
14
-20
-31
0
-3
0
0
0
0
28
35
71
-48
12
13
-4
0
39
-33
-48
-34
-12
17
-28
-19
0
0
0
0
0
0
0
0
0
-308
-59
-25
-12
-8
-9
-50
7
0
63
19
80
-28
10
-17
-34
0
0
0
0
77
68
-57
-33
-3
8
8
0
30
-16
-10
14
0
11
-63
-34
-36
-72
-83
-38
-8
-5
-31
-57
-26
-52
-76
-14
-29
10
11
-41
-32
0
139
65
3
0
17
21
-17
0
0
0
0
-27
-45
-5
53
7
4
12
0
42
-78
73
45
31
1
0
28
34
-21
13
12
7
34
-9
19
21
25
59
89
-12
-10
2
2
7
0
-7
12
54
1
-2
14
1
0
0
0
0
0
59
34
10
-4
-2
17
0
8
53
41
57
27
41
51
31
0
0
0
0
0
0
0
0
0
200
51
13
-83
41
6
16
-13
0
3
-5
-69
-16
25
77
5
0
0
0
0
4
106
82
-22
-1
8
28
0
-26
-12
36
43
14
23
5
33
176
109
5
23
0
8
0
24
20
67
-20
1
-6
-14
37
12
27
0
9
53
18
-6
16
11
-25
0
0
0
0
1
27
50
41
-10
37
2
0
7
11
-13
-47
60
-6
14
50
-5
43
1
50
26
-1
10
20
40
31
57
-43
2
-22
-10
11
41
0
-1
-55
37
-16
-2
41
73
0
0
0
0
0
3
1
-28
91
30
29
0
0
72
54
58
15
45
57
76
0
0
0
0
0
0
0
0
0
48
27
32
-35
-34
54
-5
-34
0
0
0
0
1
-28
44
12
0
0
0
0
0
1
-51
33
-43
25
77
0
0
47
69
-27
3
-15
12
77
0
53
86
4
46
-20
5
52
5
12
32
20
12
-1
2
24
49
0
-10
3
0
0
-32
-39
51
0
0
0
0
0
-3
19
-4
25
51
-4
0
0
6
-7
-5
90
-2
30
86
0
22
0
0
-14
-72
8
72
10
7
11
0
2
-31
-30
45
62
0
0
0
6
0
3
10
13
0
0
0
0
-104
-122
-11
10
9
-5
-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
0
-8
45
14
16
12
-17
-41
0
0
0
0
-36
-36
13
48
34
-22
-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
56
-20
42
-26
-14
3
-33
0
0
0
0
1
1
32
22
0
-16
-14
0
46
-26
12
7
27
5
-18
-67
-27
30
-31
36
37
24
-20
-32
-50
-1
31
30
38
2
15
1
-20
0
-28
-16
0
12
-6
15
-9
0
0
0
0
56
-19
41
-5
-6
-11
-88
0
3
1
-11
-25
14
11
85
-2
0
0
0
0
0
0
0
0
0
-28
23
-17
-11
40
2
-15
-46
0
-46
-52
-13
105
20
-72
-16
0
0
0
0
34
-39
58
57
44
-16
-120
0
31
6
22
20
9
0
-55
-24
16
-71
-6
42
36
10
32
-48
-86
-8
-44
-6
7
14
35
47
-53
0
-19
20
16
29
-44
-50
-42
0
0
0
0
15
10
29
31
25
0
-35
0
36
-9
23
11
39
-3
-57
-37
35
63
28
-29
75
31
-33
-39
5
6
45
-22
4
-54
43
34
-5
0
88
28
-17
50
-2
-60
-26
0
0
0
0
36
134
47
-12
24
2
-122
0
30
5
-10
40
-40
2
125
0
0
0
0
0
0
0
0
0
0
41
-12
-4
47
16
-25
40
-148
0
-9
47
-9
4
1
70
-75
0
0
0
0
105
64
16
95
37
-32
-119
0
127
51
63
-5
46
27
-76
-55
59
165
-54
14
-36
0
16
-53
38
0
33
-19
-1
0
11
32
-67
0
13
34
16
77
8
-54
-71
0
0
0
0
80
22
1
67
-23
-25
-78
0
-20
-8
-1
62
20
37
-32
-80
9
5
-15
30
51
-64
33
-63
97
5
-3
-20
104
-13
29
-40
-44
0
-2
1
4
52
70
-72
3
0
0
0
0
0
-17
11
9
71
-55
-184
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
-21
-18
-98
-51
71
34
-8
0
0
0
0
-7
-33
-2
-5
55
-98
-133
0
0
0
-60
92
42
-1
-19
0
0
0
4
0
5
3
0
2
0
0
-16
1
0
0
0
6
0
0
-127
7
19
-6
35
12
-19
0
0
0
0
-38
26
-16
-15
-20
40
28
0
-55
36
-9
17
42
26
-2
-24
0
-89
13
-57
28
76
-22
-54
-83
3
-26
28
22
138
-76
-12
-100
0
-33
-25
-3
-6
73
-59
35
0
0
0
0
-46
-52
-10
23
0
-51
-174
0
0
0
-35
81
-31
-6
-30
17
0
0
0
0
0
0
0
0
0
0
6
-6
12
-91
24
33
-44
0
-36
33
23
-25
-73
9
-17
0
0
0
0
-35
-75
13
5
21
-30
-127
0
0
-16
-10
38
40
-17
-72
-85
0
5
-8
77
-34
1
25
-52
65
-3
9
17
8
8
12
-28
-132
0
-42
9
19
-8
-15
-3
-15
0
0
0
0
23
-29
-12
8
-8
-5
-10
0
-112
19
-21
-12
8
4
-3
-10
43
-30
-33
-18
9
9
-24
-2
-29
-69
1
11
33
3
0
-1
-37
0
-17
7
-15
65
23
-5
-22
0
0
0
0
-12
-94
-24
-27
-18
-28
-76
0
0
0
63
37
10
-23
-41
-28
0
0
0
0
0
0
0
0
0
4
-1
74
-4
63
-49
39
-89
0
16
-49
10
-91
69
-20
-70
0
0
0
0
-37
-47
23
16
14
-62
-80
0
-12
7
44
7
21
-44
-67
-1
4
-33
-25
18
16
-12
-2
8
-38
3
20
-2
-41
45
-44
-1
-34
0
-16
-24
40
67
-5
-6
-66
0
0
0
0
-57
-85
-3
31
-3
-20
-7
0
-8
111
-28
-8
4
-42
-27
-18
-3
55
-21
-47
19
-20
-19
10
38
-55
50
32
57
-4
-20
-30
-5
0
93
48
19
-34
-35
-13
-81
0
0
0
0
2
-48
31
-42
-33
-5
-51
0
0
0
-29
2
38
1
-53
-16
0
0
0
0
0
0
0
0
0
-5
-35
-41
60
-50
28
37
57
0
-5
7
0
3
-1
-90
1
0
0
0
0
-4
-47
56
58
3
-60
-89
0
42
86
39
-1
16
-44
-61
8
31
-68
67
-13
77
-8
-20
-45
94
-5
72
15
-22
-30
-30
-27
-14
0
-17
-6
-39
-34
47
-134
151
0
0
0
0
-30
6
54
10
-7
-6
-41
0
37
-78
10
-29
-19
-66
-24
125
0
-64
-87
-1
125
-157
24
-36
-78
-2
-17
10
-50
14
3
13
-8
0
2
-35
0
21
10
11
-16
0
0
0
0
0
-5
-11
-21
83
-53
-35
0
0
0
-2
9
14
-80
-37
0
0
0
0
0
0
0
0
0
0
0
-7
-7
13
-55
-2
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-50
-70
52
-27
0
0
-2
-32
-21
1
-34
-23
54
-8
-7
-11
35
-25
21
4
56
4
-1
33
27
3
-74
-43
91
17
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
37
29
5
-72
-49
0
0
0
7
-2
-61
-64
-68
157
0
-13
1
1
15
-3
26
25
-2
0
2
1
0
1
-13
-31
-1
0
0
0
0
0
1
-16
0
0
0
0
0
14
-30
31
16
16
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
-25
-34
33
-22
-57
7
4
0
0
0
0
23
32
11
37
4
-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
-22
4
-12
-14
3
39
-14
0
0
0
0
-19
21
-4
-14
25
13
-14
0
-10
-32
37
4
-3
-3
-8
6
-63
61
16
-17
52
27
-2
-24
-4
-14
51
16
24
32
-11
1
2
0
-2
43
39
11
32
-2
-15
0
0
0
0
26
74
59
-18
1
7
-45
0
-43
4
2
25
-10
0
27
-22
0
0
0
0
0
0
0
0
0
-24
-4
-21
-62
-12
-6
-24
2
0
-2
50
8
-22
7
11
-14
0
0
0
0
5
91
33
-4
15
18
-15
0
-19
38
-2
7
22
34
23
-83
-52
2
18
20
32
24
-25
1
-22
-39
9
8
30
-28
-4
-2
3
0
38
-49
2
-43
1
-6
16
0
0
0
0
37
81
40
23
-27
-4
-8
0
-5
8
-92
-12
-15
-12
31
-9
67
16
10
19
22
8
-6
4
31
37
-40
8
-59
2
5
3
9
0
-52
22
25
40
-32
10
-23
0
0
0
0
3
69
68
12
-6
-31
19
0
64
47
66
56
22
12
19
-28
0
0
0
0
0
0
0
0
0
25
-23
36
11
-3
11
-21
15
0
21
20
-24
-12
-12
-46
104
0
0
0
0
83
43
-1
26
4
-3
21
0
95
21
50
10
7
24
14
13
53
1
-5
-10
-5
-32
0
8
-16
117
47
61
36
-21
24
-21
3
0
24
55
36
-24
19
-6
7
0
0
0
0
12
38
18
-56
-8
-6
68
0
17
41
19
-11
-12
-24
1
111
33
16
24
14
-29
-25
12
13
9
25
4
34
-41
14
-33
-16
-2
0
44
10
-10
-14
-57
71
-6
0
0
0
0
2
-46
-111
-31
121
-21
52
0
0
0
-47
-32
-33
-8
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
0
5
0
0
-26
23
-22
33
-29
34
14
0
0
0
0
-58
-66
-21
-79
59
72
89
0
0
-10
-40
-32
12
-21
1
22
0
-1
0
-12
-1
-8
-52
18
0
-3
3
20
17
-79
17
16
-10
0
10
-49
-12
7
29
-10
20
0
0
0
0
-38
-24
-15
39
0
-8
-34
0
-68
-7
12
-13
25
25
-6
-6
-28
-41
-55
-64
14
-21
34
-1
53
-109
-21
10
-66
11
-29
19
55
0
31
41
14
-1
25
-22
18
0
0
0
0
-69
-31
22
-9
-23
-2
50
0
0
1
-66
-56
-23
-5
3
41
0
0
0
0
0
0
0
0
0
4
-11
5
-43
-60
-4
4
-54
0
-68
11
-38
9
-16
-11
20
0
0
0
0
-66
2
3
22
-48
26
39
0
-2
-56
-66
-71
-53
-98
149
-54
-33
-32
-11
25
23
-17
-69
54
-64
-39
-60
-58
-9
-29
-1
26
-27
0
-51
39
-21
14
-14
-18
32
0
0
0
0
-34
-57
-1
-21
-9
25
26
0
-83
37
-36
35
-21
-9
7
18
-56
-10
5
7
-5
5
-4
-14
13
33
-59
-12
61
-45
19
10
-6
0
-22
-5
22
-3
2
-9
6
0
0
0
0
48
-4
18
65
11
-26
90
0
-73
-77
33
-36
-22
-12
-63
12
0
0
0
0
0
0
0
0
0
-34
10
19
-41
2
8
23
4
0
-33
-29
-14
5
-18
-37
59
0
0
0
0
-29
-55
-61
-27
-11
30
36
0
-41
-64
-69
9
-29
-13
-17
0
-47
-36
-43
-5
-23
-4
7
-20
22
-37
4
-6
-5
-19
4
-15
-11
0
-6
-16
46
-63
-29
48
-1
0
0
0
0
50
-19
-43
-50
21
-33
45
0
15
-6
-19
36
5
-35
-3
15
53
25
-17
31
-55
-21
2
12
43
29
12
-44
5
7
-16
-9
32
0
5
48
2
-21
8
1
9
0
0
0
0
32
-27
-25
-41
-19
22
0
0
-30
41
-10
-19
1
-9
4
34
0
0
0
0
0
0
0
0
0
-18
-37
0
31
17
18
14
-20
0
10
6
11
-47
-69
28
-34
0
0
0
0
86
-11
62
30
-52
-22
-16
0
13
-33
-48
34
16
-24
-16
24
-21
56
19
-50
-7
14
41
18
-43
-38
-15
-53
-11
3
13
-2
5
0
39
7
7
47
-30
-32
20
0
0
0
0
3
-38
-43
22
26
-18
0
0
-9
31
-30
-35
-16
-33
5
10
-4
-68
2
-31
-38
-69
44
19
-5
2
-12
-11
-13
7
-8
16
69
0
23
-2
2
-37
4
-12
22
0
0
0
0
0
-15
-32
7
15
68
-1
0
-3
-21
11
9
-62
-49
72
19
0
0
0
0
0
0
0
0
0
51
0
3
-42
27
8
3
32
0
0
0
0
0
-7
-17
-7
0
0
0
0
0
-26
-27
-47
3
29
-9
0
-13
-2
26
70
-9
-67
-7
35
1
57
-30
-34
-17
52
1
-29
76
26
-40
3
28
-23
-10
28
48
0
-5
0
2
-9
10
-12
8
0
0
0
0
0
-20
20
-23
24
-23
21
0
0
8
44
-48
61
-62
-32
16
0
2
3
7
15
-58
43
-43
-20
-1
-1
-1
0
0
24
36
-53
0
0
0
0
-8
-5
-2
4
0
0
0
0
72
23
-13
-70
1
2
-25
0
0
0
0
0
0
0
0
0
-35
-49
-53
-20
2
1
-22
-23
7
0
0
0
0
0
0
0
0
0
75
-4
28
-47
-1
38
-11
0
0
0
0
-16
-44
-52
-4
43
-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
-23
-7
29
27
-11
16
-21
0
0
0
0
45
38
-9
-4
16
-3
-90
0
77
-13
38
-59
-3
-4
3
10
33
-24
-41
-4
9
27
-10
34
-25
16
3
-4
-50
10
-38
29
-13
0
11
1
-53
12
-16
28
-1
0
0
0
0
-40
-4
29
8
5
3
20
0
-9
-3
-8
52
7
-3
-24
3
5
58
54
23
-7
2
11
22
-19
53
86
15
29
31
-11
18
-5
0
64
-7
-39
17
-15
2
-22
0
0
0
0
13
30
-10
-46
-10
18
-52
0
-54
13
-52
18
-22
23
-2
-2
40
32
-23
-10
-40
2
-26
19
-3
26
33
-8
15
38
-17
36
8
0
41
77
-57
-23
-12
6
-47
0
0
0
0
39
-30
27
39
18
-6
-2
0
49
35
-42
44
-48
25
-24
-30
40
-2
79
65
-8
28
-15
-42
-19
14
-8
5
50
-16
46
-69
-28
0
13
25
-29
-29
-8
-24
31
0
0
0
0
3
-31
45
-16
55
-9
-17
0
56
46
-49
-9
16
-38
13
47
52
21
40
57
12
16
-1
38
-43
-18
56
-30
24
-34
37
12
7
0
0
-1
-1
-7
7
-25
37
0
0
0
0
1
18
122
-7
2
-6
-3
0
24
32
40
-47
-22
-24
5
85
45
18
118
-8
5
-13
-9
-13
38
73
55
-8
-31
-12
-40
-1
12
0
-5
5
-28
44
10
-14
-51
0
0
0
0
2
7
-2
11
15
-12
-13
0
-2
-1
-11
31
18
-1
-43
-43
0
1
24
-15
-4
-47
14
-23
-36
0
10
-2
-3
-35
-36
-49
48
0
-3
0
-10
33
16
-14
-84
0
0
0
0
0
0
14
28
-35
38
39
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
-11
9
57
41
13
0
0
0
0
2
-2
-40
-2
-69
52
105
0
0
0
0
0
-23
6
15
-26
0
0
0
0
0
9
-23
-23
0
0
0
0
-3
4
4
-13
0
0
0
3
-10
-6
27
7
55
0
0
0
0
0
14
-2
-30
-8
110
71
0
0
1
0
10
-34
-12
96
122
0
0
0
-48
-16
-34
23
64
-19
0
2
-8
-5
-27
76
78
-12
0
0
-4
-10
-16
-2
58
-1
0
0
0
0
0
-5
-6
-117
31
-3
83
0
0
3
38
-4
-7
1
-36
-74
0
0
0
0
0
0
0
0
0
0
-1
2
-6
-4
20
-10
35
0
3
-12
13
18
32
23
-16
0
0
0
0
-2
-8
9
9
12
21
7
0
0
0
-28
-55
54
-19
35
-47
0
-8
6
-9
24
-29
38
-178
38
1
-15
16
-23
12
-35
-12
35
0
-19
-43
-3
38
3
94
43
0
0
0
0
-19
19
58
11
-3
16
-19
0
13
12
31
-5
22
18
-34
28
-2
-3
-1
-21
-60
22
-16
27
-3
1
12
-29
-5
14
48
51
-17
0
-14
-17
-28
-11
-48
2
40
0
0
0
0
-2
-15
68
-8
36
-18
12
0
14
-36
-48
8
14
38
-24
-10
0
0
0
0
0
0
0
0
0
-34
-63
26
-14
45
-49
-29
27
0
21
6
13
-1
14
-12
-68
0
0
0
0
-20
-16
20
-44
63
27
27
0
5
38
32
-21
7
64
9
-44
-2
-37
-53
21
31
14
-1
-37
-66
-26
0
-10
50
60
22
-26
-21
0
7
-8
-52
22
84
-102
-10
0
0
0
0
-11
7
66
-31
-27
9
64
0
-8
-11
86
31
-12
-11
17
44
2
-4
3
-65
8
57
-34
18
38
13
6
6
-37
-34
13
-16
22
0
-1
-49
24
-17
88
-12
-5
0
0
0
0
0
5
-37
9
-21
-28
-13
0
-1
19
-42
-91
20
51
85
-34
0
0
0
0
0
0
0
0
0
27
-1
6
36
-18
40
-50
-30
0
0
1
0
13
1
16
-11
0
0
0
0
0
-49
0
10
-11
-15
-26
0
-11
13
39
-70
37
-31
-15
56
23
8
70
-2
-54
-25
-22
0
47
25
17
15
-28
-18
-10
-10
-13
0
0
1
2
-12
-9
-39
10
0
0
0
0
0
5
-30
3
18
-6
9
0
0
2
11
3
-58
44
-18
-81
0
1
-9
3
20
9
18
-87
64
0
0
1
34
26
-68
-25
70
0
0
0
1
-57
10
-11
-16
0
0
0
0
0
0
3
-5
16
65
-92
0
0
0
32
47
-35
-45
21
111
0
0
0
0
0
0
0
0
0
0
0
0
-15
41
-114
10
29
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-2
-1
35
-33
-18
0
0
22
-36
-4
-18
-48
5
33
0
21
22
-5
58
55
46
-51
-57
0
16
9
-41
-38
35
7
-28
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
12
-27
-44
0
0
0
-1
0
-19
15
65
-27
0
0
0
0
0
-2
49
15
13
0
0
0
0
-2
27
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-52
-15
-28
18
-31
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
-28
-5
31
15
-5
14
-44
0
0
0
0
26
-40
2
-8
29
-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
7
-11
-7
-9
-41
-15
6
0
0
0
0
21
-43
44
31
-12
8
18
0
17
-40
91
11
-10
19
5
-48
-12
-9
42
47
-1
-51
-3
29
58
-23
27
16
-5
33
7
26
5
0
-68
-13
23
-48
-24
23
-20
0
0
0
0
4
-15
-4
-1
4
-15
-40
0
10
-3
8
-49
-5
76
-1
1
0
0
0
0
0
0
0
0
0
-3
9
-23
-19
-4
2
41
-13
0
-28
-34
37
-25
14
-26
66
0
0
0
0
-26
39
21
62
73
-19
-17
0
-2
31
-13
16
-22
42
-29
-33
50
-7
-7
-45
3
-20
8
25
17
4
-25
32
4
-9
3
60
8
0
-4
3
27
18
24
65
-37
0
0
0
0
-46
17
14
-3
-55
68
-24
0
-7
39
10
8
14
-94
19
47
8
18
23
-41
7
41
-13
15
-45
9
35
7
-36
-52
-19
35
97
0
19
-6
-42
26
-24
-57
45
0
0
0
0
1
23
-23
-45
-41
-12
28
0
10
-6
-18
-4
-3
77
41
0
0
0
0
0
0
0
0
0
0
3
-7
5
21
-45
38
43
-7
0
0
0
-5
0
-9
-1
-6
0
0
0
0
16
-29
-2
-47
16
-12
104
0
22
-11
-26
29
43
-46
92
56
15
13
-12
7
-21
2
63
192
-52
-2
-1
-28
-3
43
-31
-21
38
0
0
-3
-2
13
1
5
12
0
0
0
0
8
25
28
-31
-6
54
-30
0
4
0
-35
-4
-46
55
119
107
2
1
10
25
4
-7
-28
67
33
3
-1
3
-33
-27
32
7
-39
0
0
-2
-1
5
11
15
5
0
0
0
0
0
-2
2
6
-68
-120
-45
0
0
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
1
5
-6
-29
13
-16
-2
0
0
0
0
-7
1
-46
4
-40
15
29
0
0
0
-12
22
15
0
-7
0
0
0
2
0
1
1
0
0
0
0
-11
0
0
0
0
1
0
0
-21
-23
14
14
15
-21
59
0
0
0
0
-44
-7
-38
1
-17
19
14
0
-32
-48
-31
-37
24
35
4
-56
0
-2
35
-28
12
2
-7
-12
-172
-16
-14
-20
-17
48
-30
14
51
0
-4
-47
-46
6
21
3
60
0
0
0
0
-4
-93
-37
36
-31
20
-46
0
0
0
-9
64
-61
12
25
11
0
0
0
0
0
0
0
0
0
0
-3
-8
0
17
10
1
-3
0
15
21
-2
2
26
8
-43
0
0
0
0
-58
-28
20
16
-7
-11
-63
0
0
-5
0
-5
60
34
13
-10
0
5
-10
1
-28
-27
40
30
38
0
30
6
-41
-19
22
28
2
0
6
23
32
-79
17
-1
9
0
0
0
0
5
-10
6
-10
-39
-23
5
0
-2
-16
-63
-12
70
-20
23
-36
-30
-84
-82
25
-44
14
5
17
27
-73
5
-6
63
69
-20
-8
-61
0
-20
-58
37
11
52
-18
-33
0
0
0
0
-24
29
-4
-60
43
-51
-40
0
-1
-17
-2
-35
63
38
-69
-5
0
0
0
0
0
0
0
0
0
0
-13
13
-9
-10
-33
95
-9
0
1
-12
13
-19
-13
-7
13
0
0
0
0
-1
25
61
-3
1
-95
-14
0
-61
-7
75
5
-43
-3
-56
-18
-37
-28
29
20
-59
-5
9
-20
-15
-36
10
1
-48
-15
-13
17
2
0
-36
-31
8
12
-15
33
-47
0
0
0
0
-14
-27
4
13
30
4
-28
0
-2
25
27
-31
-30
30
-24
-18
-8
58
-43
42
26
-7
-63
16
-40
8
8
28
35
17
-27
8
-3
0
27
24
-12
2
1
-23
-8
0
0
0
0
0
-2
11
-6
32
-11
-62
0
0
0
16
27
0
-23
-138
2
0
0
0
0
0
0
0
0
0
-5
-13
-23
52
32
40
19
28
0
0
3
0
0
5
-6
0
0
0
0
0
0
-62
5
55
131
-65
-34
0
6
-13
-12
45
14
0
-77
-15
5
-10
-54
-1
70
-30
87
-84
-9
2
11
-3
-25
57
-6
-37
-15
0
0
0
-3
-2
14
-12
12
0
0
0
0
3
-22
43
-70
10
28
-24
0
0
18
-4
-55
39
61
-8
-17
0
0
-1
-23
-19
31
48
17
47
1
-9
7
-13
-11
-36
35
-15
0
0
1
1
2
-8
21
-16
0
0
0
0
0
-2
-2
-1
-2
19
1
0
0
0
2
4
-7
-52
22
0
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
-4
0
-9
-26
66
0
0
-2
-27
-86
35
-48
31
28
0
-1
0
-27
-2
20
31
4
0
-2
2
-1
1
-3
-28
-4
7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
1
20
1
-73
0
0
0
0
0
-9
0
5
16
0
0
0
0
5
-2
39
-9
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
0
0
0
0
29
0
-5
106
55
30
11
22
20
80
11
0
0
-22
22
-54
15
15
13
77
49
0
4
0
-51
-54
11
-2
-10
-53
15
0
25
51
0
-46
-19
-39
-41
22
-10
0
33
48
33
0
-39
-30
-27
-45
-1
0
33
13
-4
17
0
-14
-10
-64
-5
0
-1
36
14
-6
-19
0
-6
-45
-4
0
17
-9
-10
-17
-43
-32
0
24
-10
0
26
8
-3
-22
-48
-57
-8
0
-8
0
-50
140
48
0
-19
-12
33
38
-1
0
0
-16
60
-14
-19
-32
-3
6
-9
0
43
0
-27
17
-38
-23
49
18
-30
0
118
54
0
-31
-4
-41
-8
10
-13
0
-20
40
62
0
13
-32
-5
-28
-30
0
1
-15
49
18
0
2
-75
-2
-60
0
-43
-109
9
22
55
0
13
-23
-41
0
7
14
74
7
-8
-43
0
-32
-29
0
24
-2
27
19
-27
-4
-36
0
19
0
1
-9
13
0
1
6
5
59
-3
0
0
-3
14
1
-9
10
10
5
18
0
109
0
-40
3
-4
-14
11
39
-23
0
12
1
0
21
-11
-14
-19
-17
-19
0
-49
-17
0
0
18
-36
-54
-3
-34
0
-40
-9
-39
-30
0
10
-5
11
-31
0
-15
-20
-21
-28
-5
0
-11
-18
-25
0
-36
-35
-32
-41
-70
-41
0
-2
-27
0
-28
-15
-30
-32
-61
-61
-21
0
-10
0
-19
16
-6
-34
-20
-12
8
9
-5
0
0
-68
-8
-29
-15
-19
18
-3
9
0
-18
0
-15
-12
-27
-15
-6
10
-22
0
-70
14
0
-6
-8
-19
6
12
-32
0
9
46
-13
0
2
-9
-2
20
-26
0
-34
53
36
6
0
-14
-14
0
-35
0
46
39
13
-5
-25
0
-18
32
-38
0
-17
-52
20
45
-17
-2
0
-5
-30
0
5
0
21
46
-32
3
-43
0
10
0
-3
-27
4
1
-13
-18
34
53
-3
0
0
-11
12
15
-4
-4
-3
14
3
0
103
0
-42
7
-16
-8
12
44
-12
0
13
-7
0
32
-6
-10
-22
-24
-6
0
-72
-3
-16
0
20
-25
-49
8
-28
0
-55
12
-62
-36
0
8
6
41
-36
0
-8
-44
-31
-24
10
0
-7
-3
-21
0
-32
-30
-44
-50
-61
-19
0
2
-28
0
-35
-15
-40
-24
-48
-55
-27
0
-10
0
-4
3
-13
-22
-24
-20
-11
13
-8
0
0
-62
-17
-25
-21
-27
16
6
7
0
-36
0
-12
-10
-29
-9
-17
8
-14
0
-73
11
0
5
-17
-21
2
15
-25
0
8
41
-21
0
4
1
-11
27
-25
0
-45
48
26
0
0
-15
-14
12
-27
0
50
45
12
-16
-17
0
-21
25
-32
0
-22
-53
0
49
-29
2
0
3
-30
0
2
3
21
39
-23
-3
-50
0
1
0
26
-34
-13
-38
-39
-22
18
10
-11
0
0
-56
56
30
-37
-30
-32
36
-20
0
-8
0
10
-27
-28
28
32
38
53
0
0
26
0
6
1
-54
-45
-2
52
0
-5
-54
-18
0
10
-7
-1
-31
27
0
-34
-44
-41
-8
0
2
10
7
-19
0
13
-45
-5
-54
27
0
70
-26
-8
0
53
53
26
5
3
-15
0
-13
-19
0
-63
-47
19
67
1
-20
-40
0
9
0
27
13
-90
59
-16
-33
-2
14
-24
0
0
63
19
-34
-33
-22
36
39
-32
0
-12
0
69
11
3
2
-30
-27
-1
0
9
4
0
56
-70
-10
7
-12
28
0
22
-19
72
0
-7
-36
4
-12
33
0
-2
-13
-42
29
0
-38
-52
33
9
0
9
5
8
3
-30
0
12
-10
-25
0
-12
9
-8
33
-16
16
0
5
6
0
-13
0
-2
-21
51
-23
-10
0
0
0
93
141
100
73
25
-69
0
8
-10
30
6
-8
21
91
0
0
27
128
87
100
-1
11
1
-3
2
5
-6
1
0
19
0
2
37
61
72
55
60
-34
0
9
-9
9
-5
0
18
47
0
0
12
-1
18
40
-2
-4
-6
-10
2
-13
-12
-25
3
25
0
-2
-3
47
68
57
67
-40
0
23
-19
-19
-13
0
23
52
0
0
-36
-59
-30
9
12
-3
-5
-26
-8
-26
-28
-44
-9
64
0
-68
-16
-4
-24
29
34
-85
0
9
-141
-64
-4
10
44
93
0
0
-107
-43
-160
-87
22
-45
-11
-67
-141
-105
-116
-123
-36
1
0
-1
97
96
115
94
18
81
0
35
-6
31
-3
17
1
41
0
0
-8
57
45
81
3
15
0
4
2
-12
13
-10
3
9
0
-3
44
55
78
74
-29
44
0
43
-8
4
-4
8
54
65
0
0
-8
26
35
29
40
-11
-12
-16
1
-15
-16
-17
6
-24
0
-6
36
53
55
76
-21
27
0
36
-17
-21
-21
13
46
34
0
0
-52
-1
-6
18
57
-12
2
-33
-8
-14
-33
-29
23
-44
0
-35
-71
-65
-38
135
30
74
0
29
-85
-91
-22
26
-23
-63
0
0
-132
-141
-138
79
-61
-20
24
-134
-118
-51
-91
-64
8
-102
3
0
-2
-23
-15
-45
-68
-81
-190
-4
-1
0
0
0
0
0
0
0
4
9
-12
-2
8
-12
20
48
6
26
-29
-8
0
0
28
-12
39
-3
4
-54
13
110
-1
-3
-10
-13
-14
-23
-85
-101
-99
-28
4
0
0
0
0
0
0
0
0
28
-10
17
-2
-38
30
-8
8
-34
56
-1
0
0
9
-22
-38
1
2
-5
-14
23
13
7
-8
-7
-33
-22
2
-5
-37
9
1
0
0
0
0
0
0
0
17
15
-2
-9
22
46
-41
-35
22
83
-7
0
0
0
67
23
8
1
24
74
22
104
1
11
11
5
1
29
71
18
78
-11
0
0
0
0
0
0
0
0
-10
47
-22
0
18
-9
65
0
15
36
32
0
0
0
-4
75
32
0
36
15
50
5
1
33
33
56
17
38
91
33
1
0
0
0
0
0
0
0
0
0
-58
39
28
0
-13
6
25
0
31
22
3
0
0
0
4
17
5
0
78
44
0
-8
-5
31
38
130
133
101
81
-8
2
0
0
0
0
0
0
0
0
0
35
-24
16
0
-47
-10
9
0
-74
-2
2
0
0
0
33
-4
5
0
-15
9
17
0
-2
49
44
89
89
65
57
13
10
0
0
0
0
0
0
0
0
0
-5
25
1
0
45
4
7
0
-30
-23
0
0
0
0
-47
89
-1
0
53
-5
22
0
-17
109
234
94
105
72
53
0
3
0
0
0
0
0
0
0
0
0
16
84
2
0
2
2
2
0
36
-35
4
0
0
0
32
53
-16
0
73
1
3
1
-20
38
69
52
62
58
26
7
-1
0
0
0
0
0
0
0
0
0
3
-20
8
0
-10
70
-1
0
-34
25
-1
0
0
0
105
47
0
0
27
0
38
0
45
107
119
124
101
140
53
6
5
0
0
0
0
0
0
0
0
0
43
51
6
0
99
-19
1
0
-44
25
6
0
0
0
120
12
-9
0
58
20
107
-4
52
85
104
126
103
128
133
31
8
0
0
0
0
0
0
0
0
0
66
9
2
0
34
-6
12
0
-5
-7
-1
0
0
0
89
97
-1
0
126
-10
-8
1
34
97
107
106
166
56
61
97
14
5
0
0
0
0
0
0
0
0
11
-11
-25
0
-25
48
8
0
22
41
4
0
0
0
38
59
4
0
99
31
-51
-3
13
49
94
92
24
103
97
57
6
-1
0
0
0
0
0
0
0
0
15
37
24
0
43
15
27
0
84
31
-3
0
0
0
75
49
0
0
29
61
24
21
19
14
3
33
21
24
12
39
17
6
0
0
0
0
0
0
0
0
9
25
-11
0
-38
-11
14
0
13
35
-4
0
0
0
9
12
12
0
56
16
-2
-4
20
17
-4
1
-44
-42
18
-33
-5
2
0
0
0
0
0
0
0
0
0
0
29
-8
10
-60
11
0
-7
-3
-43
0
0
0
-30
37
44
0
17
-31
-30
47
6
7
3
-10
-15
-17
-15
-102
-30
-67
-8
0
0
0
0
0
0
0
28
15
26
3
15
-1
40
20
1
91
-15
0
0
0
38
16
-9
0
27
108
8
91
-2
0
-8
-10
-3
-15
-53
-95
-92
-88
5
0
0
0
0
0
0
0
0
-16
-30
-39
-3
-2
-60
-37
-6
-25
106
-5
0
0
19
23
108
-1
0
-28
-8
28
-2
-5
-12
-20
-17
-19
-67
-74
-111
95
-2
0
0
0
0
0
0
0
24
6
-34
67
4
-2
-38
15
26
35
-50
-1
0
0
22
34
-53
0
11
2
42
59
2
5
-6
-8
1
-5
-26
-45
-109
-58
-21
0
0
0
0
0
0
0
7
-33
-51
27
1
-2
-6
72
12
16
-32
-81
0
0
-9
-37
-69
-3
-4
-21
-1
-99
1
2
-5
-11
-14
-2
-21
-52
-84
-144
-16
0
0
0
0
0
0
0
1
-16
-27
-21
-1
-13
-25
71
-1
-14
-5
-95
0
0
1
-34
-119
-15
-3
-42
-6
-44
0
16
-7
-3
-7
-13
-4
-27
-150
-37
-8
0
0
0
0
0
0
0
14
-15
-34
-39
7
-8
-14
-77
10
-8
-47
-27
0
0
32
-2
-114
3
6
-30
17
30
-7
12
1
-40
-2
-35
-16
-72
-29
9
16
0
0
0
0
0
0
0
-2
-28
-8
-7
35
-10
-32
-28
-3
-16
28
9
0
0
47
44
25
0
-1
62
-4
81
-1
30
22
11
33
47
57
25
16
-8
0
0
0
0
0
0
0
0
14
55
43
-8
25
15
50
-6
44
-12
-37
32
0
0
73
67
65
0
15
86
-19
86
-19
28
43
50
34
117
77
-21
18
7
0
0
0
0
0
0
0
0
44
41
35
0
69
-3
64
-7
66
33
-4
-5
0
0
67
18
74
0
13
71
26
67
-27
46
66
80
167
123
49
46
24
-11
0
0
0
0
0
0
0
0
26
82
-6
0
43
16
98
0
17
21
21
0
0
0
15
58
8
0
63
-20
41
104
-8
74
138
70
74
92
79
152
-17
1
0
0
0
0
0
0
0
0
-3
105
64
0
77
50
5
0
80
-6
-16
0
0
0
5
111
4
0
66
89
27
40
-18
-2
60
29
148
98
148
17
34
0
0
0
0
0
0
0
0
0
29
67
6
0
38
49
-5
0
-3
81
0
0
0
0
83
157
-4
0
7
-4
-24
5
54
78
128
104
161
63
44
40
9
0
0
0
0
0
0
0
0
0
23
98
11
0
4
53
-8
0
70
81
35
0
0
0
117
94
-7
0
113
97
149
-52
16
64
56
85
71
62
54
214
11
9
0
0
0
0
0
0
0
0
122
63
86
0
48
41
25
0
92
103
142
12
0
0
108
154
2
0
159
5
140
59
15
49
44
51
87
40
36
50
122
-4
1
0
0
0
0
0
0
0
42
67
45
0
18
54
29
-8
65
64
45
-1
0
0
97
111
-10
0
109
7
135
49
2
46
48
58
36
30
78
24
-19
-3
0
0
0
0
0
0
0
0
74
62
-57
-2
24
52
63
-7
44
10
-10
-2
0
0
86
129
-1
0
58
85
88
111
13
8
19
15
-8
-10
23
30
-31
45
1
0
0
0
0
0
0
0
34
0
8
-19
-5
-4
9
-19
22
37
-1
-32
0
0
16
43
180
0
48
-10
42
7
9
15
-7
-4
2
-3
22
-29
31
55
3
0
0
0
0
0
0
0
13
-5
-7
-5
9
-37
24
-26
2
4
-24
48
0
0
20
-14
34
5
-5
-1
-6
-42
0
0
-4
-16
-17
2
-11
11
-24
-45
-6
0
0
0
0
0
0
0
11
6
13
16
-2
-14
7
-18
0
-1
1
10
0
0
18
-4
-28
-40
7
-13
-6
9
0
2
-1
-13
-12
-5
-18
-11
-42
-42
-30
0
0
0
0
0
0
0
1
-17
-27
-79
-3
-9
9
11
0
-14
18
-110
0
0
2
-8
-5
19
-2
-31
-4
11
1
5
-14
-21
-15
-17
-28
-25
-58
-64
-21
0
0
0
0
0
0
0
8
-19
-59
-74
-3
-7
-2
-55
-2
-24
13
24
0
0
14
-6
-39
1
0
-17
18
46
-2
-7
-20
-8
-2
14
-22
-41
-90
-60
-21
0
0
0
0
0
0
0
-7
-41
-62
20
-19
-11
-6
66
9
4
-34
-86
0
0
-19
-32
-65
-3
-17
-45
-21
-123
-2
0
-5
-10
-8
-13
-21
-33
-91
-141
-17
0
0
0
0
0
0
0
-10
-31
-47
-28
-2
-16
-33
70
5
-14
-2
-98
0
0
-7
-49
-126
-15
-10
-56
-25
-70
-1
12
-11
4
-6
-11
1
-27
-146
-37
-8
0
0
0
0
0
0
0
6
-25
-34
-41
12
-17
6
-80
16
-5
-39
-32
0
0
34
-3
-126
3
-2
-32
-2
18
-7
9
6
-27
9
-53
-27
-91
-36
11
16
0
0
0
0
0
0
0
-11
-22
0
-7
25
-24
-51
-28
10
-23
21
11
0
0
38
37
22
0
-29
49
-33
85
1
25
19
10
31
27
52
23
9
-8
0
0
0
0
0
0
0
0
18
59
45
-8
35
0
48
-6
54
-6
-32
32
0
0
71
57
63
0
-18
79
-18
90
-16
5
16
13
-5
94
63
-28
14
7
0
0
0
0
0
0
0
0
34
48
26
0
77
-10
61
-7
86
40
-3
-5
0
0
71
30
81
0
14
67
26
73
-26
39
49
62
145
111
41
47
24
-11
0
0
0
0
0
0
0
0
21
80
-6
0
50
11
88
0
38
30
20
0
0
0
4
51
11
0
67
-23
51
104
-9
64
125
62
67
94
76
137
-17
1
0
0
0
0
0
0
0
0
-6
100
62
0
88
52
6
0
88
1
-17
0
0
0
-9
126
0
0
63
92
41
41
-17
-19
49
30
148
97
150
17
34
0
0
0
0
0
0
0
0
0
28
73
6
0
42
42
-5
0
8
94
0
0
0
0
77
158
-4
0
10
-4
-15
5
50
72
114
92
153
49
29
36
9
0
0
0
0
0
0
0
0
0
12
94
12
0
-3
39
-18
0
70
73
34
0
0
0
95
92
-7
0
111
93
140
-55
-1
38
32
66
53
46
37
208
11
9
0
0
0
0
0
0
0
0
114
67
90
0
40
43
25
0
96
106
130
12
0
0
118
163
2
0
132
-5
143
61
5
37
17
37
81
35
28
47
119
-4
1
0
0
0
0
0
0
0
57
84
47
0
15
37
27
-8
57
66
39
-1
0
0
106
119
-10
0
84
3
152
47
-10
32
20
30
31
19
77
8
-32
-6
0
0
0
0
0
0
0
0
57
50
-63
-2
11
36
58
-8
26
17
-6
-3
0
0
79
127
1
0
27
69
73
111
3
-2
10
0
-17
-19
27
12
-35
41
1
0
0
0
0
0
0
0
37
12
-4
-21
0
-25
1
-20
28
43
11
-37
0
0
27
38
176
0
26
-29
36
-5
8
13
0
-1
4
-3
16
-30
28
52
3
0
0
0
0
0
0
0
6
-9
-13
-5
21
-37
32
-27
17
18
5
43
0
0
27
-38
27
5
-21
-25
-25
-50
-1
-2
-7
-13
-16
-3
-23
16
-31
-45
-7
0
0
0
0
0
0
0
-1
-21
-7
12
-6
-18
-11
-29
12
-9
-5
14
0
0
-2
-3
-26
-40
-3
-23
-20
-4
0
1
-1
-14
-10
-3
2
7
-31
-32
-34
0
0
0
0
0
0
0
-4
-24
-24
-83
-2
-14
17
8
5
-17
-5
-106
0
0
-5
-17
-14
19
-14
-13
-23
0
0
-6
-12
-13
-11
-14
-20
-17
-48
-66
-21
0
0
0
0
0
0
0
-6
-13
-48
-75
-4
-21
7
-54
7
-27
23
19
0
0
2
-5
-37
1
-17
-25
1
44
7
4
7
-24
-19
51
41
-28
24
-22
0
0
0
0
0
0
0
0
-22
-39
13
1
-44
22
-6
-47
-5
-5
-15
53
0
0
-18
-10
-1
1
-52
-43
-47
-67
-1
0
-3
-12
21
-6
-18
50
-2
10
2
0
0
0
0
0
0
0
-5
-46
-105
0
12
-32
-16
-14
2
-8
44
-32
0
0
-14
15
-102
3
-24
-61
-62
-155
6
3
3
-1
2
-5
10
-45
-35
-32
-3
0
0
0
0
0
0
0
-2
-28
-5
-14
6
-2
5
-48
9
36
-20
-53
0
0
32
27
-21
0
-4
-6
-33
-8
-2
10
17
13
-1
-26
25
24
58
3
3
0
0
0
0
0
0
0
-6
20
-22
2
-39
-42
21
-3
-13
-23
-43
-5
0
0
7
3
42
0
-44
12
-34
-16
5
-12
-21
43
-13
6
-23
-42
-67
1
0
0
0
0
0
0
0
0
4
-16
-19
0
29
-58
-22
-2
10
-8
34
15
0
0
35
-57
10
0
-64
10
-13
41
-7
-8
-13
-21
-63
31
7
2
2
-2
0
0
0
0
0
0
0
0
24
67
12
0
-28
-38
-23
-2
12
-57
-28
1
0
0
31
-7
-5
0
-35
-53
-20
80
3
2
-7
-22
-10
25
-14
17
-1
0
0
0
0
0
0
0
0
0
-24
-10
33
0
7
-11
-41
0
1
-51
38
0
0
0
-72
-26
1
0
-2
6
38
44
-18
-22
-22
1
6
-34
4
2
-2
0
0
0
0
0
0
0
0
0
-35
1
-1
0
-13
67
-4
0
8
11
0
0
0
0
-48
15
4
0
13
12
57
0
-18
-12
-26
66
12
-17
-3
2
1
0
0
0
0
0
0
0
0
0
52
4
-9
0
18
16
0
0
4
49
6
0
0
0
-77
-5
-1
0
-9
0
20
0
8
20
-3
1
27
-45
-45
-1
0
0
0
0
0
0
0
0
0
0
-86
-118
-7
0
-20
-27
-1
0
28
35
-11
0
0
0
-13
-4
0
0
-27
-15
3
4
-20
0
-46
-6
-2
-25
-28
1
-1
1
0
0
0
0
0
0
0
0
-25
19
2
0
21
-8
-4
0
-7
29
-11
1
0
0
47
-21
1
0
31
-45
32
15
4
12
7
-15
31
29
9
-36
-4
-1
0
0
0
0
0
0
0
0
61
42
62
0
2
-2
-51
-4
20
-2
-10
6
0
0
-48
23
-7
0
51
-24
99
39
0
3
-6
-12
26
-29
32
-50
-2
0
0
0
0
0
0
0
0
0
1
-16
4
-1
7
-46
-46
2
2
-64
12
-2
0
0
-19
-86
-10
0
-29
-20
30
52
0
1
-5
-2
10
3
5
-24
7
0
-3
0
0
0
0
0
0
0
-16
-17
-22
-6
14
-25
18
-38
19
24
25
-35
0
0
-9
29
21
0
-8
-62
-36
-14
6
-3
11
16
-24
-17
-3
31
-36
-23
-1
0
0
0
0
0
0
0
-6
-11
-8
1
0
-13
-30
-38
10
-25
15
-5
0
0
6
-49
-86
1
-19
-90
-10
-21
4
-9
-3
-9
-3
-25
-20
14
2
-22
-8
0
0
0
0
0
0
0
-10
-15
-35
-15
-5
-10
2
-46
6
-24
-64
-4
0
0
-11
-5
44
-2
-18
1
-36
-52
2
7
7
-8
-2
34
22
12
1
19
1
0
0
0
0
0
0
0
2
-2
0
-1
-9
-13
13
-53
-4
-5
22
57
0
0
11
71
-3
7
-49
8
-87
-32
-7
-7
-7
5
-23
-29
-1
18
-9
6
1
0
0
0
0
0
0
0
-16
-25
27
11
-16
24
3
-17
10
-4
-18
-13
0
0
-13
-10
13
0
-56
27
-57
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
136
6
-42
28
-9
0
0
1
0
0
0
0
0
0
0
-11
-116
-1
-107
-8
81
-19
0
-1
5
0
0
0
0
0
0
0
-71
-12
-139
91
-34
-18
-5
0
2
0
0
0
0
0
0
0
0
59
-64
-168
15
-56
9
5
0
0
0
0
0
0
0
0
0
0
21
-66
33
-4
95
-33
1
0
0
0
0
0
0
0
0
0
0
-3
49
-54
-78
44
45
-2
0
0
0
0
0
0
0
0
0
0
33
-58
-14
1
19
1
0
0
0
0
0
0
0
0
0
0
0
32
54
14
38
-9
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
6
-7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-48
-51
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
11
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-72
-73
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
51
14
0
0
0
0
0
0
0
0
0
0
0
0
0
11
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-39
-62
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
86
-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
1
-20
-86
-51
-18
3
0
0
0
0
0
0
0
0
0
0
0
-1
140
-141
-41
-20
1
-2
8
0
0
0
0
0
0
0
0
0
-31
3
-105
100
32
8
0
0
0
0
0
0
0
0
0
0
0
1
19
42
-41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-62
6
11
0
0
0
0
0
0
0
0
0
0
0
11
6
-2
78
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-49
-85
-3
0
0
0
0
0
0
0
0
0
0
0
0
-53
-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
19
-18
15
-86
-70
-4
0
0
0
0
0
0
0
0
0
0
12
11
-12
36
-36
-49
-6
-4
0
0
0
0
0
0
0
0
0
-21
-9
15
12
19
6
0
0
0
0
0
0
0
0
0
0
0
2
-8
69
-96
-74
-3
0
0
0
0
0
0
0
0
0
0
0
11
16
38
-184
-138
6
0
0
0
0
0
0
0
0
0
0
0
0
12
30
21
126
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-58
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
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
49
23
112
-158
-128
-6
0
0
0
0
0
0
0
0
0
-18
-78
109
57
-70
62
-51
-8
-20
0
0
0
0
0
0
0
0
6
-73
-8
-14
-53
-82
-10
10
-64
0
0
0
0
0
0
0
0
9
-37
75
84
69
-36
-33
-59
10
0
0
0
0
0
0
0
0
1
11
-39
1
-32
-3
-26
8
4
0
0
0
0
0
0
0
0
-3
4
-7
133
-30
-43
45
108
12
0
0
0
0
0
0
0
0
15
-49
61
-55
78
-83
67
32
0
0
0
0
0
0
0
0
0
-3
44
-20
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-2
0
2
3
-2
3
0
0
0
0
0
0
0
0
0
0
-9
8
3
-7
5
8
0
0
0
0
0
0
0
0
0
0
-21
-1
-28
20
1
0
1
-5
-7
-15
0
0
0
0
0
0
0
0
-36
21
-39
40
-4
-3
-7
-6
0
0
0
0
0
0
0
0
-21
32
7
45
2
2
-10
-6
-6
-14
0
0
0
0
0
0
0
-1
-64
-2
-14
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-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
5
2
-6
81
83
-50
-149
27
0
-29
1
0
0
0
0
0
0
-1
26
-3
-136
21
30
-20
-6
12
-32
-25
0
0
0
0
0
0
-2
-38
-23
-34
-24
-10
-11
13
8
-31
-97
-1
0
0
0
0
0
-1
44
-32
61
-120
20
62
69
13
46
-52
3
0
0
0
0
0
-1
25
11
-82
112
85
70
50
18
106
7
0
0
0
0
0
0
0
19
-65
-4
-92
99
50
108
15
50
0
0
0
0
0
0
0
0
-14
-35
-70
100
29
89
65
-60
61
0
0
0
0
0
0
0
0
0
-1
3
-32
-15
-19
44
0
7
0
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
103
51
-2
-6
-85
-2
0
-70
-37
0
0
-1
0
0
0
0
163
114
6
-25
-50
-33
-15
82
97
-39
-9
1
2
0
0
0
0
407
86
35
6
-54
-48
-4
9
77
10
-2
0
0
0
0
0
0
309
247
30
20
-38
-32
-35
-32
-9
-29
-16
0
0
0
0
0
0
97
80
43
17
-37
-21
-4
-37
55
-66
-3
0
0
0
0
0
0
78
127
72
1
-32
-2
19
-21
37
-52
0
0
0
0
0
0
0
176
0
45
-4
-48
5
24
-44
40
17
0
0
0
0
0
0
0
65
97
48
-50
-18
-7
63
90
-73
-19
0
0
0
0
0
0
0
1
22
-6
-194
62
164
-21
14
1
0
0
0
0
0
0
0
0
0
3
23
66
-21
-3
-38
0
-18
0
0
0
0
0
0
0
0
3
-56
26
-134
-50
113
19
88
38
3
1
0
0
0
0
0
0
-1
15
-89
-37
42
-92
114
-87
40
-3
3
0
0
0
0
0
0
0
-40
-25
-5
103
92
-3
27
4
2
-1
0
0
0
0
0
0
3
16
-89
118
-86
88
38
114
77
10
0
0
0
0
0
0
0
0
-9
15
-78
47
-5
1
58
-42
0
1
0
0
0
0
0
0
0
0
88
44
-54
-25
153
30
1
-1
0
0
0
0
0
0
0
43
4
-7
19
-18
73
26
164
33
0
0
0
0
0
0
0
0
0
0
0
36
11
-76
64
13
0
0
0
0
0
0
0
0
0
0
-48
-167
18
-111
6
75
0
-50
-2
-7
1
3
0
0
0
0
0
118
-89
-81
-15
10
50
29
19
-18
-34
12
0
0
0
0
0
0
38
-65
-64
121
64
55
-211
-107
-61
-2
1
0
0
0
0
0
0
-84
-62
88
-19
129
142
-27
-152
64
7
-5
0
0
0
0
0
0
-54
124
-84
22
120
-3
68
-48
-76
-1
0
0
0
0
0
0
0
-1
-24
-23
8
93
67
129
81
-58
24
-1
0
0
0
0
0
0
7
82
-39
32
45
127
158
101
125
56
0
0
0
0
0
0
0
6
81
-35
65
-11
-30
102
22
-8
5
-1
0
0
0
0
0
0
0
0
0
0
28
-9
-1
0
0
0
0
0
0
0
0
-77
91
86
-95
-34
-4
24
18
0
4
22
-1
0
0
0
0
0
166
281
65
-84
-7
12
22
45
83
101
14
-1
0
0
0
0
0
70
37
-63
124
-148
-43
-14
38
49
-74
52
0
0
0
0
0
0
-8
-6
-109
-102
-60
-16
20
94
27
109
1
20
0
0
0
0
0
14
-28
-93
16
97
-4
16
82
7
-54
-3
-3
0
0
0
0
0
2
-118
-35
33
64
7
40
99
92
-65
2
0
0
0
0
0
0
34
27
-70
-72
65
46
67
93
79
5
-5
0
0
0
0
0
0
-17
6
-3
-34
-3
-18
39
-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
130
-131
207
-25
-99
-76
-27
-34
0
32
0
0
0
0
0
0
0
282
37
3
-100
128
-51
-71
-15
74
-13
0
0
0
0
0
0
0
63
88
6
-73
-29
-18
-31
36
88
15
0
0
0
0
0
0
0
47
-21
43
148
-80
-112
-14
42
98
-29
0
0
0
0
0
0
0
22
-14
98
36
41
37
57
31
70
-82
-2
0
0
0
0
0
0
4
-27
-65
16
52
1
-66
134
61
-3
-56
0
0
0
0
0
0
81
-89
114
-58
53
-46
-37
29
-28
7
0
0
0
0
0
0
0
0
5
12
43
-67
102
161
46
-108
2
0
0
0
0
0
0
0
0
0
1
0
35
0
-18
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-8
17
51
80
0
-2
0
0
0
0
0
0
0
1
0
0
0
-20
21
-104
95
17
-7
2
0
0
0
0
0
0
0
0
0
-5
-60
107
111
116
-62
-11
1
0
0
0
0
0
0
0
-9
0
-1
-52
82
50
27
5
10
0
0
0
0
0
0
0
0
21
2
14
-14
76
39
76
-74
-193
0
0
0
0
0
0
0
0
7
-6
1
30
83
18
223
7
-14
-9
0
0
0
0
0
0
0
28
-10
-2
-102
25
65
28
46
-172
-1
0
0
0
0
0
0
0
-1
0
6
-20
105
-3
-129
-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
-1
-50
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
34
-36
0
0
14
25
1
0
0
0
0
0
0
0
0
0
0
0
98
96
132
-41
58
13
0
0
0
0
0
0
0
0
0
0
53
146
71
218
96
-62
5
0
0
0
0
0
0
0
0
0
11
123
-24
28
-80
-100
8
-12
0
0
0
0
0
0
0
0
0
0
-21
75
125
42
-111
-18
2
0
0
0
0
0
0
0
0
0
0
64
55
36
45
43
-58
0
0
0
0
0
0
0
0
0
0
0
-22
0
41
103
34
33
2
0
0
0
0
0
0
0
0
0
0
0
-13
-5
6
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
-1
-75
0
0
30
4
0
0
0
0
0
0
0
0
0
0
0
2
137
27
55
-65
25
0
0
0
0
0
0
0
0
0
0
0
-8
56
103
103
14
-13
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
7
-84
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
47
9
0
0
0
0
0
0
0
0
0
0
0
0
0
43
51
42
126
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-74
-79
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
27
94
-73
7
-21
5
0
0
0
0
0
0
0
0
0
0
0
2
145
-9
28
-2
-7
0
0
0
0
0
0
0
0
0
0
0
7
97
69
-50
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
48
-42
12
-1
0
0
0
0
0
0
0
0
0
0
0
14
5
-140
-34
-28
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
7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-27
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
79
147
2
-16
1
0
0
0
0
0
0
0
0
0
0
0
89
17
141
101
-8
2
0
0
0
0
0
0
0
0
0
0
0
155
-42
64
39
40
1
0
0
0
0
0
0
0
0
0
0
0
41
76
2
49
12
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-143
97
51
26
-1
0
0
0
0
0
0
0
0
0
0
0
32
55
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
-7
5
81
18
72
-27
0
0
0
0
0
0
0
0
0
0
0
13
-4
-43
9
-74
14
0
0
0
0
3
0
0
0
0
0
0
-21
-35
50
73
93
145
-31
88
11
0
2
0
0
0
0
0
0
-15
-72
-2
33
117
184
191
76
52
15
-3
0
0
0
0
0
0
-17
-37
2
-136
155
35
145
-23
143
13
0
0
0
0
0
0
0
-2
34
77
69
110
21
108
46
54
-21
11
0
0
0
0
0
0
-3
13
-72
160
22
37
-51
11
-35
12
0
0
0
0
0
0
0
1
25
27
35
141
32
31
-6
-90
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
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
3
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
-6
-22
-17
19
1
4
-6
0
0
0
0
0
0
0
0
6
-2
97
-20
72
10
66
15
4
2
0
0
0
0
0
0
0
2
-66
-55
33
-33
21
70
0
29
0
0
0
0
0
0
0
-5
19
-15
-3
-6
-38
-51
70
-104
-3
0
0
0
0
0
0
0
0
32
-51
-25
80
70
28
-21
-46
0
0
0
0
0
0
0
0
0
-2
0
-11
15
-1
25
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
39
106
-9
-27
-11
0
0
0
0
0
0
0
0
0
0
0
0
83
55
-24
55
21
1
0
0
0
0
0
0
0
0
0
0
0
25
34
-31
-112
93
3
0
0
0
0
0
0
0
0
0
0
0
53
-62
29
-12
-39
-9
0
0
0
0
0
0
0
0
0
0
0
-100
18
-12
80
-45
47
-5
0
0
0
0
0
0
0
0
0
0
26
-10
-50
48
-1
19
-42
-1
0
-3
0
0
0
0
0
0
0
-5
-34
-50
80
9
64
-1
10
0
0
0
0
0
0
0
0
0
0
-29
-32
52
1
-7
8
-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
-76
-28
-13
5
23
138
-1
0
0
0
0
0
0
0
0
0
0
2
-43
-13
15
14
97
157
0
0
-1
10
-4
0
0
0
0
0
13
-44
-54
-10
37
113
-21
217
17
9
2
0
0
0
0
0
0
-6
-54
-37
-14
12
112
113
26
11
17
8
0
0
0
0
0
0
-2
-40
-47
-12
28
7
-107
88
34
23
-13
0
0
0
0
0
0
14
-30
-62
-42
30
42
108
3
15
5
-19
0
0
0
0
0
0
-15
-99
-14
-34
34
-10
-87
95
-33
14
0
0
0
0
0
0
0
0
-115
23
68
26
4
-11
4
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
-116
-44
4
64
17
15
0
0
0
0
0
1
0
0
0
0
0
-138
-137
-25
-1
-5
18
15
10
-89
-15
-10
-1
0
0
0
0
0
-85
-116
-39
-18
17
24
-3
25
-55
-56
7
3
0
0
0
0
0
19
-119
-46
9
15
38
27
8
-13
-10
1
-10
0
0
0
0
0
17
-126
-15
33
10
26
51
67
-63
-45
0
0
0
0
0
0
0
24
-45
30
8
17
31
88
42
-19
31
-6
0
2
0
0
0
0
-46
21
-54
26
38
26
48
141
31
2
-6
-5
0
0
0
0
0
31
-89
-29
-15
9
40
5
-23
17
-5
0
0
0
0
0
0
0
0
0
-72
29
25
-46
-8
1
0
0
-1
0
0
0
0
0
0
-60
132
202
221
209
51
-86
0
0
0
0
0
0
0
0
0
0
79
71
58
56
6
57
131
-124
-7
0
0
0
0
0
0
0
0
4
62
86
95
71
68
85
-32
-2
0
0
0
0
0
0
0
0
23
19
55
48
42
71
51
-35
-11
0
0
0
0
0
0
0
0
32
-20
13
40
178
-155
-114
101
-14
0
0
0
0
0
0
0
0
-74
0
2
-80
-1
116
41
-9
-2
0
0
0
0
0
0
0
0
94
-119
-81
-44
-52
67
102
-5
27
-10
0
0
0
0
0
0
0
-121
-7
-16
-42
77
71
163
-9
0
0
0
0
0
0
0
0
0
-52
-97
-37
-11
-21
76
-5
0
0
0
0
0
0
0
0
0
0
-84
2
50
22
107
-25
-51
-6
0
0
0
0
0
0
0
0
0
-23
-1
22
31
4
22
0
87
8
0
0
0
0
0
0
0
0
-11
8
31
18
-20
-35
-36
-58
-9
0
0
0
0
0
0
0
0
5
7
40
44
41
2
155
145
17
0
0
0
0
0
0
0
0
29
4
4
18
7
3
65
10
4
0
0
0
0
0
0
0
0
7
-6
28
-7
16
60
41
44
10
-1
0
0
0
0
0
0
0
-19
-19
-21
69
-34
36
38
-64
-15
0
0
0
0
0
0
0
0
-20
-44
12
-51
-18
3
-54
-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
-128
-24
-7
13
72
70
11
0
0
7
4
0
0
0
0
0
0
-12
-41
-6
5
27
49
-74
0
132
0
3
0
0
0
0
0
0
-71
-68
-24
8
32
37
82
195
122
-15
10
0
0
0
0
0
0
-29
-52
-23
8
33
78
84
-53
-4
-28
0
-6
0
0
0
0
0
-96
-85
-38
4
27
41
58
85
163
135
-18
0
0
0
0
0
0
-41
-101
-62
12
7
55
98
123
-95
-56
6
0
0
0
0
0
0
-170
-61
-51
36
11
33
87
120
41
-5
0
-1
0
0
0
0
0
0
-28
-57
43
157
103
27
5
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
43
-11
33
33
0
15
7
137
0
0
0
0
0
0
0
0
0
4
-11
31
-10
-3
13
82
0
28
0
3
0
0
0
0
0
0
45
43
59
87
47
94
16
73
175
48
2
0
0
0
0
0
0
103
30
28
39
36
30
168
-73
85
59
0
0
0
0
0
0
0
27
-38
-30
23
44
100
150
56
55
151
0
0
0
0
0
0
0
81
-23
46
-19
-1
56
46
92
50
20
0
0
0
0
0
0
0
-60
-93
-6
-109
-15
-14
-18
-54
159
52
0
0
0
0
0
0
0
53
-59
-78
14
33
-91
-6
0
-6
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
5
50
0
153
217
61
0
0
0
0
0
0
0
0
0
0
0
19
39
-73
121
35
44
1
0
0
3
0
0
0
0
0
0
0
-20
21
-15
17
-43
-27
-2
-2
-3
5
0
0
0
0
0
0
0
-6
52
7
-20
-70
-48
18
1
-47
-14
0
0
0
0
0
0
0
-2
89
64
-7
63
-38
70
-7
-18
11
-3
0
0
0
0
0
0
-7
-78
-32
-16
-59
-14
-16
-1
-34
-63
0
0
0
0
0
0
0
-3
-8
-103
-87
-67
-46
-28
-3
-22
-18
6
0
0
0
0
0
0
2
16
-3
8
0
-8
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
121
23
-37
-70
-5
-3
0
0
0
0
0
0
0
0
0
0
24
-27
24
29
-8
-66
9
0
0
-1
0
0
0
0
0
0
0
-35
65
8
-3
-12
40
4
0
0
0
0
0
0
0
0
0
0
119
55
19
69
22
8
0
0
0
0
0
0
0
0
0
0
0
48
-9
68
39
-23
0
0
0
0
0
0
0
0
0
0
0
0
14
-37
-29
19
-12
14
0
0
0
0
0
0
0
0
0
0
0
-106
-58
38
-48
-90
0
0
0
0
0
0
0
0
0
0
0
0
-45
-37
2
-62
1
0
0
0
0
0
0
0
0
0
0
0
0
65
-50
-40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
4
9
0
0
0
0
0
0
0
0
0
0
0
0
2
28
55
-13
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
27
45
70
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-64
115
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
24
-78
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
59
76
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-33
33
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
91
49
22
-15
0
0
0
0
0
0
0
0
0
0
0
1
-56
-59
98
-41
1
-2
-3
0
0
0
0
0
0
0
0
0
-11
32
-21
66
20
2
0
0
0
0
0
0
0
0
0
0
0
-45
51
185
74
-3
-11
0
0
0
0
0
0
0
0
0
0
0
10
128
46
221
-2
0
0
0
0
0
0
0
0
0
0
0
0
-28
-105
-17
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
11
-16
60
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-15
-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
0
0
0
0
0
0
-8
64
-82
-9
1
-5
0
0
0
0
0
0
0
0
0
0
-3
146
4
0
-75
14
16
0
0
0
0
0
0
0
0
0
0
-9
-53
17
88
-19
-9
0
0
0
0
0
0
0
0
0
0
0
-5
45
29
92
35
-17
0
0
0
0
0
0
0
0
0
0
0
1
78
129
55
27
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-165
114
-53
0
0
0
0
0
0
0
0
0
0
0
0
1
51
35
43
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
-79
-43
0
0
0
0
0
0
0
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
49
-22
52
116
-26
44
-1
0
0
0
0
0
0
0
0
0
-56
-182
-87
-37
11
-31
-117
-82
4
0
0
0
0
0
0
0
0
13
15
-16
0
29
29
-28
24
165
2
0
0
0
0
0
0
0
-5
-62
-90
128
11
73
-62
-16
13
8
0
0
0
0
0
0
0
43
-13
62
53
-31
-40
-33
0
-2
0
0
0
0
0
0
0
0
-42
33
29
94
-32
-33
3
0
3
0
0
0
0
0
0
0
0
-52
-28
-91
38
-19
-3
-14
0
5
3
0
0
0
0
0
0
0
-60
121
-39
30
-9
0
0
0
-12
0
0
0
0
0
0
0
0
-78
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-12
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-27
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
57
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
78
-23
-8
0
-1
-3
0
-1
0
0
0
0
0
0
0
0
-32
-54
-5
-12
-39
1
-4
0
11
0
0
0
0
0
0
0
0
3
27
0
3
2
-9
9
0
0
0
0
0
0
0
0
0
0
-44
-56
-9
45
9
-17
0
0
0
0
0
0
0
0
0
0
0
-26
-74
-35
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-110
6
79
114
-6
14
0
-59
46
16
2
0
0
0
0
37
69
120
53
81
78
67
-19
38
1
15
15
-1
0
0
0
0
18
46
76
162
117
84
-8
-12
-45
-10
8
-63
-2
0
0
0
0
-2
36
40
111
31
112
24
110
-12
71
95
54
0
0
0
0
0
2
58
170
46
155
148
238
0
117
62
20
0
0
0
0
0
0
6
-23
63
79
110
-74
95
13
232
-101
0
0
0
0
0
0
0
14
-33
6
58
34
4
5
-5
57
19
-10
0
0
0
0
0
0
0
-21
3
-24
0
-9
-2
0
-8
3
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
79
71
88
2
6
-78
55
0
-76
-4
4
0
0
0
0
0
0
74
123
86
29
10
-47
48
-37
-159
10
-12
1
0
0
0
0
0
-57
31
83
33
-6
1
142
-217
-100
-71
16
0
0
0
0
0
0
105
67
122
41
30
20
86
-146
-103
-116
20
-2
0
0
0
0
0
74
75
171
66
28
29
126
-104
-186
26
0
0
3
0
0
0
0
114
30
87
59
26
45
-29
-26
-160
-49
10
0
0
0
0
0
0
-152
-62
63
-14
32
-27
66
29
-58
-1
0
0
0
0
0
0
0
52
-71
105
47
23
-51
-77
-21
21
3
0
-2
0
0
0
0
0
-20
4
-1
-28
66
-30
15
-20
10
4
0
0
0
0
0
0
0
-25
-73
56
101
-44
-106
56
0
29
-30
4
-1
-1
-1
0
0
0
49
43
85
51
-91
55
-13
-127
-76
7
57
-4
1
0
0
0
0
23
-23
36
-40
161
-8
47
-76
73
-36
25
3
7
0
0
0
0
3
53
-3
67
38
8
-12
71
1
-52
-21
-1
0
0
0
0
0
-1
6
-16
122
163
126
17
77
87
-32
9
0
0
0
0
0
0
1
0
-74
129
51
-47
-39
-57
105
28
33
1
0
0
0
0
0
1
31
-82
63
12
-24
-38
16
-38
26
-7
5
-2
0
0
0
0
0
1
3
-85
11
-31
-38
42
2
-72
33
6
-3
0
0
0
0
0
0
18
-20
46
-9
13
-11
86
-12
-16
0
-1
0
0
0
0
0
0
36
77
-66
-29
-7
0
50
-72
-3
-1
3
0
0
0
0
0
8
21
-9
5
-22
-22
36
43
33
45
9
-2
5
0
0
0
0
13
0
-8
-55
41
-52
-70
-50
-16
-15
3
0
0
0
0
0
0
-3
2
13
-28
25
-18
75
-19
-46
25
0
0
0
0
0
0
0
13
81
142
157
117
-45
229
191
-1
-3
2
0
0
0
0
0
0
7
143
110
152
139
38
6
99
-15
32
0
0
0
0
0
0
0
0
-49
158
72
148
11
18
74
6
15
-1
1
0
0
0
0
0
1
5
54
80
21
-9
22
4
52
2
0
0
0
0
0
0
0
0
0
0
0
23
5
0
0
0
0
0
0
0
0
0
12
-34
-72
77
10
-71
75
40
0
27
-6
0
0
0
0
0
0
65
59
135
102
31
31
-3
-47
24
-133
83
47
0
0
0
0
0
88
-12
88
89
23
-17
12
-66
23
153
12
-5
2
0
0
0
0
139
-45
113
171
83
53
-13
58
-32
-39
-68
-3
0
0
0
0
0
47
-8
-93
106
136
107
52
130
-91
59
17
1
-1
0
0
0
0
-45
86
123
110
62
36
144
22
5
66
49
0
0
0
0
0
0
-2
-38
-112
65
28
168
-12
-28
14
-45
0
0
0
0
0
0
0
0
60
-33
-105
26
-78
3
-7
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
123
181
-80
11
28
34
-72
9
0
-56
-20
0
0
0
0
0
0
45
-46
257
65
25
-21
101
-153
108
-62
-10
10
0
0
0
0
0
25
-58
90
55
30
0
7
-12
-23
58
8
-2
0
0
0
0
0
10
-31
134
57
204
85
-42
-42
171
27
17
-1
0
0
0
0
0
-27
27
28
101
-19
2
-6
88
137
117
6
0
0
0
0
0
0
-74
83
-63
0
65
34
45
-57
-46
147
3
-3
0
0
0
0
0
-26
-4
73
3
53
82
102
-38
-43
-2
0
0
0
0
0
0
0
0
22
16
-83
0
61
-63
39
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
0
0
0
0
0
0
0
0
10
1
0
-4
-8
0
13
2
0
5
0
0
0
0
0
0
0
7
8
12
0
34
3
28
-3
-98
-21
1
0
0
0
0
0
0
0
2
7
25
55
-107
-17
3
-25
-11
-2
0
0
0
0
0
0
4
49
-1
-6
42
94
-118
0
0
0
0
0
0
0
0
0
0
2
28
1
12
22
-18
14
0
-6
0
0
0
0
0
0
0
0
0
8
6
12
127
-20
17
0
-10
0
0
0
0
0
0
0
0
0
3
-7
-1
-24
19
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
39
49
-15
-4
0
0
0
0
0
0
0
0
0
0
-5
71
122
39
3
-2
1
0
0
0
0
0
0
0
0
0
0
-2
92
141
200
54
5
3
0
0
0
0
0
0
0
0
0
-2
14
138
223
144
-16
0
-1
-1
0
0
0
0
0
0
0
0
-2
-54
49
33
-59
15
-1
0
1
0
0
0
0
0
0
0
0
0
-34
-100
15
-159
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
25
73
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-66
-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
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
73
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
205
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
55
48
4
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-108
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
17
0
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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
73
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
91
136
-42
0
0
0
0
0
0
0
0
0
0
0
0
13
11
161
86
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
-51
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
104
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-25
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
63
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
1
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
3
5
42
70
42
-3
-1
0
0
0
0
0
0
0
0
0
0
-6
9
69
11
-4
11
-2
0
0
0
0
0
0
0
0
0
-4
16
12
-1
71
5
-1
0
0
0
0
0
0
0
0
0
0
0
-2
50
-2
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
122
-7
33
14
-25
0
0
0
0
0
0
0
0
0
0
0
-19
-121
24
81
26
-55
15
0
0
0
6
0
0
0
0
0
0
10
-131
-54
-35
-11
34
45
3
50
31
-20
0
0
0
0
0
0
0
84
-49
49
-101
-52
-102
38
53
82
-28
-1
0
0
0
0
0
3
-27
-58
-70
-33
-133
87
17
83
-11
35
4
0
0
0
0
0
0
63
-53
58
31
-38
58
51
80
-9
-25
0
0
0
0
0
0
0
11
-1
-32
-2
-7
9
-1
21
25
3
0
0
0
0
0
0
0
0
75
-4
23
-8
0
39
3
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-10
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
8
3
-1
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
4
-9
1
0
-2
-12
15
-8
4
0
0
0
0
0
0
-7
-26
-32
33
28
0
-1
35
66
0
0
0
0
0
0
0
0
-4
3
-3
-12
-5
-1
10
-3
74
-9
0
0
0
0
0
0
0
-3
18
0
-23
24
-18
3
-114
-33
20
1
0
0
0
0
0
0
15
27
14
-9
1
-3
66
55
22
30
2
0
0
0
0
0
0
-3
0
0
0
0
0
-15
72
11
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-11
0
0
0
0
0
0
0
-1
-6
-19
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
51
8
-19
-46
51
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
-25
28
-32
1
0
0
0
0
0
0
0
0
0
0
0
13
7
-29
-15
-4
4
0
0
0
0
0
0
0
0
0
0
0
16
11
3
-74
-12
-9
-2
0
0
0
0
0
0
0
0
0
0
8
40
15
23
-35
54
-3
0
0
0
0
0
0
0
0
0
0
10
41
26
-16
2
5
15
0
0
0
0
0
0
0
0
0
0
38
16
8
-12
-85
1
3
0
0
0
0
0
0
0
0
0
0
0
17
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-5
-17
0
-59
4
0
0
0
6
2
0
0
0
0
0
14
1
-16
11
17
-28
-3
0
0
131
6
-1
-1
0
0
0
0
11
4
-10
2
-15
1
97
-10
163
32
35
2
0
0
0
0
0
8
2
1
17
-7
-69
10
-28
85
108
0
-4
0
0
0
0
0
-54
14
5
34
-30
-144
-19
-26
51
92
0
0
-1
0
0
0
0
7
3
7
18
-60
-83
79
-5
-39
-7
1
0
0
0
0
0
0
-144
-5
28
-42
23
43
68
-8
-13
-55
-4
0
0
0
0
0
0
-2
34
-4
-15
-42
0
0
0
-2
79
-8
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
72
8
12
-10
-33
0
0
0
-3
0
0
0
0
0
0
13
-3
-25
23
11
2
33
-20
4
-1
-2
0
0
0
0
0
0
-101
-11
21
13
7
11
-64
-4
89
19
-9
0
0
0
0
0
0
-27
-3
-6
20
11
-2
42
31
111
3
1
0
0
0
0
0
0
-4
31
4
37
13
4
20
-40
24
20
4
0
0
0
0
0
0
29
-29
8
42
4
6
13
-120
-45
-11
-2
1
0
0
0
0
0
43
31
-5
19
-8
-2
54
37
-106
-12
0
0
0
0
0
0
0
16
-56
39
8
29
-16
-55
3
8
-3
0
0
0
0
0
0
0
-1
144
8
45
69
64
5
7
0
0
0
0
0
0
0
0
0
-6
15
10
-34
-55
33
-30
0
0
0
0
0
0
0
0
0
0
18
0
6
38
38
42
-33
0
0
0
0
0
0
0
0
0
0
-20
-21
-9
70
-202
-61
-29
-6
10
0
0
0
0
0
0
0
0
-38
-15
0
-105
-29
-44
37
0
0
0
0
0
0
0
0
0
0
27
-4
-7
0
-139
108
-12
0
0
0
0
0
0
0
0
0
0
6
8
-4
21
24
53
45
0
0
0
0
0
0
0
0
0
0
26
1
33
43
-44
-54
-6
0
0
1
0
0
0
0
0
0
0
25
8
26
-22
-13
-35
31
-4
-1
0
0
0
0
0
0
0
0
34
-4
39
136
139
-22
-1
-2
0
0
0
0
0
0
0
0
0
14
-5
12
58
119
-40
-12
6
0
0
0
0
0
0
0
0
0
-7
-16
17
38
38
107
0
-4
4
0
0
0
0
0
0
0
0
-14
1
5
53
-41
23
-50
-13
0
0
0
0
0
0
0
0
0
-44
-37
63
47
29
52
109
4
-5
1
0
0
0
0
0
0
0
17
-13
48
-19
-50
51
-113
0
0
0
0
0
0
0
0
0
0
-9
28
-6
3
-33
-20
-20
-18
-1
0
0
0
0
0
0
0
0
-9
-2
-25
-21
-31
63
-10
-22
-5
0
0
0
0
0
0
0
0
22
53
36
-29
85
3
-26
0
0
0
0
0
0
0
0
0
0
0
7
41
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
-7
-9
-1
6
-14
0
0
139
2
-2
0
0
0
0
0
-29
26
-8
2
-9
-10
48
0
-2
0
51
4
0
0
0
0
0
34
2
-22
-8
-13
-8
42
73
96
94
56
-3
0
0
0
0
0
8
-4
-4
7
-2
33
3
-61
95
-124
19
-2
0
0
0
0
0
-12
-12
-12
13
-12
-93
25
-26
173
-17
0
0
0
0
0
0
0
-44
-18
-21
23
-31
-27
60
26
53
4
15
0
0
0
0
0
0
-134
-63
-53
29
-44
-97
-11
-16
-29
-14
0
0
0
0
0
0
0
-4
-54
-115
27
-10
-43
-4
0
6
19
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
21
0
34
33
-17
-28
-134
0
0
37
2
0
0
0
0
0
0
34
37
22
63
-1
42
-26
0
0
0
-11
0
0
0
0
0
0
67
8
3
59
7
-33
65
16
-16
58
-21
5
0
0
0
0
0
90
29
5
54
-11
57
6
1
82
66
-1
0
0
0
0
0
0
3
25
-4
65
-6
-15
85
-1
61
184
-1
0
0
0
0
0
0
67
54
2
-2
-7
-19
-36
0
33
-42
-1
0
0
0
0
0
0
-8
-35
49
47
15
-77
43
-17
-9
-10
0
0
0
0
0
0
0
5
79
70
41
46
5
6
-4
-16
-8
0
0
0
0
0
0
0
0
-3
-4
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-67
-56
29
-9
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-61
-55
-14
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-42
-153
5
-18
-5
0
0
0
4
0
0
0
0
0
0
0
1
-5
-33
39
101
-6
0
0
4
-10
0
0
0
0
0
0
0
-2
71
93
16
24
3
0
-3
8
4
0
0
0
0
0
0
0
-28
22
-34
-3
-46
3
-3
0
75
28
0
0
0
0
0
0
0
-3
-19
-60
0
-32
-4
0
-4
14
15
2
0
0
0
0
0
0
-1
-9
-53
0
-6
0
0
0
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
-1
-5
0
3
-4
4
25
3
3
0
0
0
0
0
0
-11
31
16
-19
13
5
0
4
-3
-1
1
0
0
0
0
0
0
-19
-40
6
47
6
0
4
-2
0
1
0
0
0
0
0
0
0
47
32
-77
31
-37
5
0
0
0
0
0
0
0
0
0
0
0
50
79
-48
44
16
2
0
0
0
0
0
0
0
0
0
0
0
-29
-80
-10
83
77
-4
0
0
0
0
0
0
0
0
0
0
0
-22
-42
77
-5
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-114
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
37
14
42
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-37
56
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-27
-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
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
-3
3
3
0
0
0
0
0
0
1
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
-11
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-17
-126
-23
0
0
0
0
0
0
0
0
0
0
0
0
4
6
14
64
13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-48
43
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
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
-1
0
0
0
0
0
0
0
0
0
-1
6
0
-3
0
0
0
1
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
-17
1
47
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
-4
-17
5
-3
6
-9
16
-6
1
0
0
0
0
0
0
0
2
2
-2
38
20
-114
-16
-48
-14
0
0
0
0
0
0
0
-6
29
34
-53
-11
46
-107
17
-7
2
0
0
0
0
0
0
0
23
2
-31
30
-22
-16
17
-60
9
3
0
0
0
0
0
0
0
37
18
-86
-65
-13
24
62
54
-11
-2
0
0
0
0
0
0
0
-14
-16
65
94
46
38
-41
-7
10
-2
0
0
0
0
0
0
0
0
15
-21
-7
-18
3
0
6
-4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
-7
8
7
10
-2
0
0
0
0
0
0
0
0
0
0
0
-43
-10
-1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
48
5
16
8
0
-1
0
0
0
0
0
0
0
0
0
0
1
-11
-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
-3
-4
13
-88
0
120
-37
3
-2
4
0
0
0
0
0
0
-1
9
14
-9
-141
-7
80
5
17
0
2
-3
0
0
0
0
4
-1
41
17
-42
-149
9
-62
2
25
0
-13
0
0
0
0
11
3
-35
20
11
33
13
-34
-178
-16
18
0
0
0
0
0
1
-2
-62
13
54
68
-8
-45
30
-130
19
0
0
0
0
0
0
1
-2
7
2
53
121
-42
59
99
214
13
0
0
0
0
0
0
0
1
10
-1
43
-78
-57
111
9
-71
0
0
0
0
0
0
0
0
0
1
5
25
-14
-19
28
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
-3
-16
-82
36
-132
76
0
36
-18
-35
-24
10
1
0
0
0
0
66
30
-48
22
31
-97
129
-18
-33
40
-5
7
3
0
0
0
24
248
50
53
19
-43
19
64
-98
-15
-22
-19
-5
0
0
0
0
59
153
-50
-33
0
-21
-23
30
22
0
-21
-56
4
0
0
0
0
-6
91
102
116
-59
54
22
-35
43
31
23
-1
0
0
0
0
0
73
62
102
-58
-41
-8
49
-11
18
-5
-5
3
27
0
0
0
0
20
83
86
48
-17
24
60
-55
-18
-55
34
17
-3
0
0
0
0
7
157
45
65
88
55
66
44
14
-3
-32
2
0
0
0
0
0
0
-5
-38
23
66
45
34
28
71
-5
-10
0
-4
0
0
0
0
0
0
0
2
-1
26
-2
0
17
-5
-1
0
0
0
0
0
0
0
0
6
-12
40
0
40
49
-43
29
-1
2
0
0
0
0
0
0
0
-6
-1
-57
105
34
72
-30
-7
-3
1
0
0
0
0
0
0
-2
-19
9
-88
-33
6
-42
6
8
-3
0
0
0
0
0
0
0
1
47
72
73
50
109
74
37
3
-9
0
0
0
0
0
0
0
-1
-5
72
12
78
16
-13
57
0
0
0
0
0
0
0
0
0
1
2
92
25
69
6
114
-14
0
0
0
0
0
0
0
0
0
2
0
-26
-42
-17
16
-50
-4
0
0
0
0
0
0
0
0
2
0
0
24
11
-13
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
33
-21
-66
-86
0
-58
23
28
4
1
0
0
0
0
0
-7
0
85
-52
-12
-69
-72
-197
-45
52
17
-14
8
1
0
0
0
0
-14
80
-24
84
-4
89
-29
19
2
-1
0
-1
0
0
0
0
0
21
-63
37
141
62
-7
183
42
11
1
0
0
0
0
0
0
-4
41
-177
21
172
7
85
-31
18
31
1
0
0
0
0
0
0
-3
-25
76
-76
118
12
-32
72
-67
-18
1
0
0
0
0
0
0
1
3
-14
52
6
48
65
92
-27
-5
1
0
0
0
0
0
0
0
1
-61
29
55
-68
-7
8
14
-7
0
0
0
0
0
0
0
0
0
0
0
123
-21
-3
-1
0
0
0
0
0
0
0
-1
0
0
0
4
-91
49
-17
0
12
41
-12
1
0
0
0
0
0
0
1
0
8
-13
40
72
-122
-8
24
4
-3
-1
8
0
0
-5
-6
9
64
82
35
-114
-57
-92
3
81
9
-7
0
0
0
0
7
-5
22
41
-51
8
39
111
-12
-9
-29
4
8
0
0
0
0
-2
42
-59
44
37
143
-15
-45
42
48
-3
1
0
0
0
0
0
0
-10
54
131
76
17
-11
98
-54
46
0
-2
0
0
0
0
0
0
1
-16
55
-25
-38
-31
18
-15
-12
-7
0
0
0
0
0
0
0
2
19
6
90
26
181
9
81
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
-5
-45
-11
21
-8
0
27
-6
0
0
0
0
0
0
1
0
0
-3
39
-15
-7
39
-5
-25
-21
0
0
0
5
0
0
-3
2
0
-11
36
53
-35
-66
-123
13
-6
-1
0
0
0
0
0
0
-4
-27
-7
-35
69
-9
32
103
31
-16
0
0
0
0
0
0
1
4
44
57
68
114
-7
108
14
94
-2
0
0
0
0
0
0
0
-60
28
90
74
131
-48
69
42
-17
-2
0
0
0
0
0
0
6
-4
-15
-3
-5
7
129
3
30
-1
1
0
0
0
0
0
0
0
-4
9
118
22
70
-39
169
-21
19
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
10
7
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
4
-5
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
24
18
-2
0
0
0
0
0
0
0
0
0
0
-1
1
0
18
73
-23
0
0
0
0
0
0
0
0
0
16
0
4
2
-11
12
-14
-82
0
0
0
0
0
0
0
0
-6
-20
-8
0
-8
-8
2
41
-4
1
0
0
0
0
0
0
0
0
1
-1
-2
-1
-13
8
21
-7
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
16
-11
8
-8
0
0
0
0
0
0
0
0
2
135
55
32
2
62
-23
49
-2
0
0
0
0
0
0
0
0
-1
-1
120
83
78
-4
-20
0
-2
2
0
0
0
0
0
0
0
10
-17
156
119
-104
-30
-12
-6
-1
-2
0
0
0
0
0
0
0
-11
24
56
9
-15
-154
6
-1
0
0
0
0
0
0
0
0
0
-6
-152
142
-62
30
-139
-9
-4
0
0
0
0
0
0
0
0
0
0
94
-100
8
-56
-68
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
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
2
-3
0
1
0
1
0
0
0
0
0
0
0
0
-13
40
1
33
-20
-6
0
0
0
0
0
0
0
0
0
0
0
24
43
-23
27
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
66
42
7
21
0
0
0
0
0
0
0
0
0
0
0
0
16
41
1
-52
-45
-1
0
0
0
0
0
0
0
0
0
0
0
-9
17
13
-77
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-60
108
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
4
2
0
0
0
0
0
0
0
0
0
-22
0
0
0
-4
2
-4
-2
-8
0
0
0
0
0
0
0
0
19
-12
17
-15
7
0
0
-2
0
0
0
0
0
0
0
0
0
-22
17
194
-17
-6
-1
1
0
0
0
0
0
0
0
0
0
-15
-48
-14
39
-5
-18
1
0
0
0
0
0
0
0
0
0
0
0
-23
120
159
-51
0
0
-2
0
0
0
0
0
0
0
0
0
0
67
-73
-53
-7
0
-1
-3
0
0
0
0
0
0
0
0
0
0
55
-20
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
28
-16
-49
-14
8
-3
-1
0
0
0
0
0
0
0
0
0
2
-12
-82
-46
-64
43
-1
5
-3
0
0
0
0
0
0
0
0
0
-55
165
196
35
-2
0
0
0
0
0
0
0
0
0
0
0
-43
65
70
-8
-23
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-71
-73
-31
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
-3
-9
-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
0
0
0
0
0
0
-3
-14
7
1
0
0
0
0
0
0
-3
12
-8
37
35
4
33
1
3
1
0
0
0
0
0
0
1
-22
-82
25
31
57
149
-25
3
-8
6
-4
3
0
0
0
0
-17
40
44
17
-42
-77
46
-1
-8
-2
0
-5
4
0
0
0
0
-17
-35
48
-51
58
16
22
-16
-31
-4
0
2
0
0
0
0
0
12
1
-44
-3
48
154
42
14
10
-1
7
5
0
0
0
0
0
0
3
-6
-10
60
-9
21
51
-6
3
-3
0
0
0
0
0
0
0
0
0
4
-15
-44
-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
1
-1
5
-9
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
12
48
-1
0
0
0
0
0
0
0
0
-2
10
-5
-13
-14
-7
-37
-72
1
-25
1
0
0
0
0
0
0
0
2
4
25
44
69
-17
37
50
-10
0
0
0
0
0
0
0
0
-7
-9
-9
-6
-13
-52
85
-1
-2
0
0
0
0
0
0
0
-2
0
0
0
0
-8
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
34
16
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
47
129
-61
17
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-29
-25
29
1
0
0
0
0
0
0
0
0
0
0
0
0
-81
28
-28
-60
14
-9
0
0
0
0
0
0
0
0
0
0
0
-9
-146
4
49
27
22
-2
0
0
0
0
0
0
0
0
0
0
-1
89
-16
6
-18
-34
25
5
1
1
-1
-1
1
0
0
0
0
0
-18
-19
-67
-24
-1
7
-5
5
-11
-4
13
-5
1
0
0
0
0
-2
7
60
38
12
55
28
-5
-1
3
0
-3
0
-1
0
0
0
0
0
0
0
1
0
-2
-2
2
0
0
0
0
0
0
0
-7
94
-44
12
-8
9
0
0
0
0
-3
-4
-3
-1
0
0
0
-32
-30
-12
-53
19
35
-1
0
0
43
37
20
9
2
0
0
0
3
26
-58
-24
-114
52
31
-10
-4
-12
-50
24
0
0
0
0
0
3
12
-59
86
119
-110
51
-14
-71
-4
10
2
1
0
0
0
0
-123
19
52
-2
-87
119
65
113
39
7
-1
0
1
0
0
0
0
-20
43
90
-72
-77
-16
55
-18
-37
23
-11
54
0
0
0
0
0
7
-4
16
-14
-33
-81
-70
-83
-34
-16
-10
-2
0
0
0
0
0
0
43
10
-24
-23
-7
-26
20
21
-13
2
3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
15
0
0
0
0
0
0
0
0
-3
61
-39
-91
86
135
0
0
-25
-5
-1
0
0
0
0
0
-7
-17
-60
-14
-35
82
85
156
-15
-13
20
8
-4
0
0
0
0
-6
-7
41
-34
-60
60
109
52
-38
38
1
-4
1
0
0
0
0
33
-14
-29
23
81
40
33
53
45
96
-43
-4
-2
0
-2
0
0
-45
86
67
-10
59
15
98
15
25
-39
23
0
-1
0
-2
0
0
-38
156
-6
-37
4
26
40
-43
0
27
32
-8
6
0
0
0
0
179
50
136
-12
-40
-1
12
-87
-4
-14
-11
-4
-3
0
0
0
0
-81
44
-14
-34
-17
-18
-64
-58
-52
41
18
3
-1
0
0
0
0
0
1
46
63
-48
-72
-36
8
-3
1
-2
4
0
0
0
0
0
-8
1
0
45
-9
0
0
0
0
0
0
0
0
0
0
0
0
118
109
-15
203
97
4
9
0
0
1
0
0
0
0
0
0
0
-28
65
-60
-26
-6
-16
58
-13
-21
1
0
0
0
0
0
0
0
3
-45
27
13
25
-23
21
23
2
0
0
-1
0
0
0
0
0
3
50
-31
11
-50
-12
0
-4
0
0
0
0
0
0
0
0
0
39
-90
-57
27
6
-22
-65
-30
1
0
0
0
0
0
0
0
0
-20
0
-75
-104
2
-103
-10
-15
-45
0
0
0
0
-3
0
0
0
0
4
-8
-13
-25
-32
-5
13
-40
-2
0
0
0
0
0
0
0
-40
-12
0
4
-3
28
1
6
0
0
-1
0
0
0
0
0
0
27
3
26
4
4
1
27
-2
0
0
1
0
0
0
0
0
0
121
-22
222
84
83
67
0
-59
0
0
2
-1
0
0
0
0
0
2
14
16
-14
105
85
113
18
34
0
0
0
0
0
0
0
0
8
46
-90
31
-4
-2
50
6
-3
0
0
0
0
0
0
0
0
19
81
-74
18
83
36
-2
88
6
0
1
-1
0
0
0
0
0
-46
82
-102
-47
18
111
88
-68
-2
0
1
0
0
0
0
0
0
-28
-5
39
84
-50
56
17
-61
-1
1
0
1
-1
0
0
0
0
-6
94
-82
-6
-58
-58
-22
-21
-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
-22
41
104
15
0
0
0
-2
-5
-7
3
2
0
0
0
-3
-75
-73
-43
76
23
7
0
-9
0
1
27
-2
0
0
0
0
44
59
-58
-32
91
-97
88
39
40
-34
24
5
0
0
0
0
0
30
-62
25
-46
-98
46
144
-128
-41
89
18
7
0
0
0
0
0
30
-95
-13
-14
-45
52
-48
59
-28
49
-9
-3
0
0
0
0
0
-1
103
15
25
-111
-13
16
14
25
-51
40
-3
0
0
0
0
0
1
-36
-32
-57
-10
121
58
-6
-22
-19
-4
-1
5
0
0
0
0
0
-12
2
-13
22
12
28
-32
-12
-18
15
4
6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-32
-26
24
35
4
0
-4
0
0
0
2
0
0
0
0
-1
74
45
11
75
-1
11
67
67
-25
32
0
0
0
0
0
0
16
69
1
15
75
-66
58
34
84
-45
-1
0
0
0
0
0
0
54
20
66
49
-5
12
14
16
32
125
10
1
0
0
0
0
0
3
-46
41
44
-14
-117
12
-20
11
111
5
0
-1
0
0
0
0
-1
-11
36
196
74
45
114
-64
-1
-196
0
0
0
1
0
0
0
0
-45
-10
-55
-82
-1
-33
-43
-5
-7
0
0
0
0
0
0
0
0
0
0
0
13
0
28
-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
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
-2
-3
2
-9
-1
0
4
0
0
0
0
0
0
0
0
0
62
122
15
17
-4
4
1
49
38
9
0
0
0
0
0
0
-1
-2
42
-38
58
-38
26
-12
2
58
-5
-3
0
0
0
0
0
0
57
-135
-22
40
16
-44
1
-126
9
9
0
0
0
0
0
0
0
7
-78
1
27
17
19
-23
-8
46
0
0
0
0
0
0
0
-2
6
-5
4
1
-3
33
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-17
1
-9
-14
3
0
-1
0
0
0
0
0
0
0
0
0
5
-14
2
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
-14
67
72
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
5
88
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-90
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
-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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
3
-42
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
1
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
-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
3
0
2
0
0
-2
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
1
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
-7
7
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
19
-11
5
0
44
2
-2
0
0
0
0
0
0
12
-5
-10
72
16
4
16
41
-38
8
-6
0
0
0
0
0
0
3
3
33
-20
5
1
-35
-10
21
1
-3
0
0
0
0
0
1
50
-1
42
45
27
118
1
-57
-17
0
0
0
0
0
0
0
7
-1
28
25
78
20
-55
13
16
-16
0
0
0
0
0
0
0
0
26
-46
-18
-24
-27
-34
6
3
0
0
0
0
0
0
0
0
0
12
-36
-11
14
-14
-5
-56
-11
1
0
0
0
0
0
0
0
11
45
19
-8
0
0
12
-7
-12
0
0
0
0
0
0
0
0
4
-13
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
-4
0
0
0
5
-1
0
1
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
4
0
0
0
0
-3
4
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
4
0
0
0
0
0
-3
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
0
0
0
0
0
0
-16
2
-33
-22
-96
0
74
-35
22
-9
2
0
0
0
0
1
6
0
28
104
70
80
2
10
47
-58
-22
-2
12
0
0
0
5
33
23
33
14
-60
49
-18
37
10
-17
-13
13
6
0
0
6
1
25
-10
-65
-42
131
119
-8
35
97
16
19
0
4
0
0
0
-31
38
-3
40
11
115
68
155
34
29
-6
7
5
0
0
0
0
0
5
32
1
21
87
191
54
-10
4
0
0
9
0
0
0
0
0
-2
0
17
2
0
-78
-72
-4
-2
-2
0
0
2
0
0
0
-1
0
0
0
-6
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
-4
-14
88
106
-73
138
0
-16
-52
33
-40
-11
1
0
0
0
0
-18
-24
12
14
-55
-11
-11
-43
-43
20
28
7
19
0
0
0
2
-14
-28
98
41
-39
70
13
-65
-29
32
4
17
3
2
0
0
2
10
33
43
39
-3
75
-183
-145
-229
-37
-6
-34
2
0
0
0
41
-77
-59
211
35
-10
7
-136
-34
-44
0
-2
4
-4
-2
0
0
16
45
-3
29
39
12
5
-105
-66
1
19
36
9
-6
0
0
0
-23
10
116
92
76
84
3
5
-138
4
53
22
6
3
0
0
0
3
-5
2
-61
30
48
-23
70
-32
-20
-38
28
-2
-1
0
0
0
0
1
0
-4
21
-4
-10
89
-15
14
-2
-4
3
0
0
0
0
0
0
1
-3
26
-125
45
0
94
-23
2
0
41
-11
7
-1
0
0
-7
-7
32
14
-94
34
35
-131
85
15
-7
7
29
0
5
0
0
0
4
-24
61
79
-166
-50
-40
-33
-13
26
0
3
1
0
0
0
9
-14
55
94
15
140
64
21
14
10
2
8
-1
0
0
0
0
0
0
-23
-16
-81
50
23
6
130
14
-3
5
2
-7
0
0
0
0
0
45
2
63
-2
104
41
13
-33
9
1
0
0
0
0
0
0
0
-18
18
106
-83
27
-36
8
56
13
2
2
3
0
0
0
0
0
-27
9
37
33
-32
-12
21
-29
-8
-2
-8
-2
11
0
0
0
0
0
0
-126
-134
-62
92
39
-20
4
-5
1
2
0
0
0
0
-9
38
-69
56
44
0
-8
-2
-20
28
-27
1
3
0
0
0
-2
-29
31
72
-1
-17
-1
-36
-13
75
21
21
-8
-3
0
0
0
0
51
-135
9
44
4
-69
22
-57
1
9
2
2
0
0
0
0
0
27
64
29
99
8
-51
109
22
10
2
0
0
0
0
0
0
12
3
-85
28
60
101
-71
2
-78
-6
2
-3
0
0
0
0
0
0
-10
-6
47
113
66
103
79
-3
43
-15
0
-2
1
0
0
0
0
0
-3
43
38
11
-14
78
133
62
14
-5
9
1
0
0
0
0
1
54
15
5
29
77
86
73
9
2
-5
0
4
0
0
0
0
0
0
2
103
12
6
-2
0
0
0
0
0
0
0
0
0
0
0
43
21
31
101
0
43
-61
-4
0
0
0
0
0
9
13
6
3
24
122
62
-5
40
43
-29
-13
20
-3
0
0
0
0
29
4
44
16
83
27
7
38
10
-23
72
33
1
0
0
0
0
35
-6
46
159
-120
-10
0
6
-37
-116
36
-2
0
4
0
0
0
16
-3
62
62
154
36
94
-43
-47
-1
-2
-8
0
0
0
0
0
4
0
11
-64
99
20
54
12
117
21
0
0
0
0
0
0
0
0
9
-24
78
65
67
163
-51
-69
6
0
0
0
0
0
0
0
2
-13
0
-23
-3
7
-82
-24
-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
10
-38
44
-97
-51
0
102
21
-14
0
1
0
0
0
-1
-5
0
14
-41
75
0
-34
-5
-23
36
37
-10
0
0
0
0
1
12
-7
4
-54
96
-44
-61
42
37
48
12
0
2
0
0
0
6
-6
10
33
-55
59
-28
10
92
49
147
3
0
0
0
0
0
0
0
-7
-1
105
4
17
0
68
35
76
6
0
0
0
0
0
0
0
1
6
-20
45
-25
61
51
27
20
5
0
0
0
0
0
0
42
10
0
95
-1
6
69
151
36
0
0
0
0
0
0
0
0
-3
0
27
7
24
-43
-84
60
13
3
0
0
0
0
0
0
0
0
0
0
0
0
11
-35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
34
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
169
65
2
0
0
0
0
0
0
0
0
0
0
0
21
-14
52
3
-30
7
0
0
0
0
0
0
0
0
0
0
0
1
17
2
-58
43
0
0
0
0
0
0
0
0
0
1
0
0
0
23
64
-64
1
0
0
0
0
0
0
0
0
1
0
0
0
7
0
-5
5
-7
4
0
0
0
0
0
0
0
0
0
0
0
-8
0
-15
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
-17
2
14
0
-3
0
0
0
0
0
0
0
0
14
0
0
62
1
-25
13
-22
-3
-1
0
0
0
0
0
0
0
17
-40
132
90
69
4
1
8
3
0
0
0
0
0
0
0
2
-10
67
131
192
106
-6
-32
17
1
0
0
0
0
0
0
0
0
73
86
193
165
-108
-16
-19
0
-9
0
0
0
0
0
0
0
0
31
147
161
144
-17
13
1
0
0
-4
0
0
0
0
0
0
0
93
18
36
-98
75
-35
-5
6
-1
1
0
0
0
0
0
0
0
1
-125
-45
-22
-62
-1
1
-2
2
0
0
0
0
0
0
0
0
13
-3
62
-78
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
-19
0
0
21
-8
15
1
-5
1
0
0
0
0
0
0
0
0
9
32
63
133
-40
-14
1
-1
-12
0
0
0
0
0
0
0
0
21
29
143
117
99
4
0
-2
0
0
0
0
0
0
0
0
0
24
87
97
-38
6
0
0
0
0
0
0
0
0
0
0
0
0
4
26
-91
-28
-47
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-88
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
13
37
-93
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
8
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-17
-21
-1
3
-1
0
0
0
0
0
0
0
0
0
9
-19
-17
84
19
17
-1
2
0
0
0
0
0
0
0
0
0
-23
68
104
96
1
55
2
-3
-1
0
0
0
0
0
0
0
0
17
50
66
43
35
4
-3
-9
-2
0
0
0
0
0
0
0
0
-9
-47
-90
-20
-16
-7
-1
0
2
0
0
0
0
0
0
0
0
-6
20
10
-56
7
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-2
33
-60
-13
1
0
0
0
0
0
0
0
0
0
0
0
5
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
62
-22
8
9
1
0
0
0
0
0
0
0
0
0
9
26
183
84
59
-13
2
0
0
0
0
0
0
0
0
0
2
10
-195
176
95
-2
7
-3
0
-3
0
0
0
0
0
0
0
0
-27
-31
25
12
-18
-14
0
1
-3
0
0
0
0
0
0
0
0
0
1
-54
-37
-11
1
1
0
0
0
0
0
0
0
0
0
0
-27
-47
-63
-8
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
8
28
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
-3
17
-1
0
0
0
0
0
-19
2
0
0
0
0
0
0
2
0
-10
-9
40
-1
0
0
0
4
25
5
0
-1
0
0
0
0
-11
31
-10
-24
-43
7
114
92
-17
13
-1
0
-7
0
0
0
1
-6
-5
6
-27
-53
84
206
138
47
-20
6
-2
-1
0
0
0
7
6
5
16
-18
8
6
51
6
9
25
-9
1
1
-1
0
0
0
0
-5
-1
15
-84
-7
66
41
-23
-1
7
0
-1
-2
0
0
0
0
0
12
25
-10
-45
-55
101
-17
-4
-3
1
0
-5
0
0
0
0
0
0
32
-17
-46
-30
47
1
-43
-6
0
5
0
0
0
0
0
0
0
0
-18
-60
127
-65
0
3
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
57
-21
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
-34
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
15
75
92
-16
1
0
0
0
0
0
0
0
0
0
0
-2
2
24
48
-28
53
18
0
0
0
0
0
0
0
1
0
0
-1
-24
-55
-12
158
-10
11
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
-50
-62
-19
0
0
-2
0
0
0
0
0
0
0
0
0
3
21
104
120
9
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
8
22
0
0
0
0
0
0
-5
-106
50
-53
7
0
0
0
0
0
0
0
0
0
0
0
0
8
51
8
6
29
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-48
3
42
0
0
0
0
0
0
0
0
0
0
0
0
30
-118
-26
3
28
0
0
0
0
0
0
0
0
0
0
0
0
57
37
-26
59
7
4
0
0
0
0
0
0
0
0
0
0
0
3
141
-41
33
-2
-19
0
-1
-1
3
-2
1
5
-1
0
0
0
0
11
66
4
-9
13
0
3
4
4
0
-4
-1
-3
0
0
0
0
0
15
3
-2
-4
-2
0
0
7
-4
0
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
85
36
-23
64
-41
21
0
0
0
-21
26
-5
13
-3
-1
0
-52
21
11
-9
-24
-50
12
0
0
170
0
14
6
11
4
0
0
-38
50
29
-63
81
22
47
81
80
29
-30
-14
13
-1
2
-1
0
-9
63
-28
-42
117
32
-104
191
161
112
-74
8
-5
0
0
0
0
45
-16
-49
18
7
17
28
9
122
-33
16
-1
14
7
0
0
0
11
-34
51
49
124
-66
-72
46
28
-20
22
-4
-5
6
0
2
0
0
8
26
98
21
5
69
11
-37
9
-3
-6
0
0
-1
0
0
0
0
0
-5
-4
-1
7
2
35
29
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
5
-26
-19
-45
33
-13
0
0
-1
5
-6
0
0
0
0
0
0
-39
-94
16
7
54
127
-27
17
7
-4
78
0
0
0
0
0
0
32
-54
-22
-54
1
37
17
72
4
6
-2
1
0
1
0
0
-7
11
-64
-13
-2
26
77
-59
-68
35
0
1
2
0
-1
0
0
19
71
72
2
17
-112
34
115
110
-2
-34
-14
0
-1
0
0
0
-17
83
94
1
-17
-29
-12
-10
-48
-50
5
11
1
0
0
0
0
-2
13
-45
-9
-1
42
-98
-62
9
24
3
8
-2
0
0
0
0
0
1
104
-36
-41
-69
-48
-41
-26
-4
1
0
0
0
0
0
0
0
0
139
67
-15
18
31
-1
-5
0
1
0
0
0
0
0
0
86
87
-12
-3
4
47
-35
0
0
0
0
0
0
0
0
0
0
-33
-10
22
4
1
-23
-12
7
0
0
0
0
0
0
0
0
0
117
39
-129
-27
15
-4
69
-42
-95
0
0
0
0
0
0
0
0
43
27
9
26
16
3
-78
17
-1
1
0
0
0
0
0
0
0
-45
-1
-127
45
106
11
14
-2
0
-1
0
0
0
0
0
0
0
-35
2
55
19
1
-8
-40
1
10
0
0
0
-1
0
0
0
0
99
-8
21
-9
-85
-20
-29
0
6
-1
0
0
0
0
0
0
0
-21
48
84
3
-16
-5
-27
-1
-1
0
0
0
0
0
0
0
0
-43
-14
19
13
0
-1
0
-2
0
0
0
0
0
0
0
0
0
20
-4
62
-30
36
-43
-4
5
0
-1
-3
0
0
0
0
0
0
70
6
-20
-64
-35
5
0
-21
0
0
0
-4
0
0
0
0
0
-41
-22
29
-75
30
106
-65
-42
39
0
0
0
0
0
0
0
0
-18
-5
99
25
34
-47
-65
-87
19
0
5
0
0
0
0
0
0
16
112
-99
113
-99
-129
20
57
0
-1
0
1
0
0
0
0
0
-1
-4
70
81
30
-85
-10
-23
0
0
0
-1
0
0
0
0
0
8
-5
102
-25
5
-4
17
-28
-28
0
0
1
0
0
0
0
0
102
48
20
-9
-16
-3
0
8
-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
1
21
-64
14
-23
15
59
0
0
15
0
15
0
-1
0
0
0
20
-29
-68
53
106
-75
53
0
23
0
-1
30
3
-13
3
7
0
27
17
36
-87
93
2
67
-8
35
183
-6
74
43
-6
-1
0
0
3
7
22
29
-18
78
67
140
45
110
-11
-4
0
3
0
0
0
2
-24
91
-5
-5
16
39
-63
24
-6
72
-14
23
3
0
0
0
0
-27
-21
25
55
-56
-42
-4
30
-8
-51
8
29
-5
1
0
0
13
-14
21
-88
26
-87
24
1
14
-57
1
17
9
0
0
0
0
0
0
13
1
-5
-2
5
-3
-13
-35
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-15
63
-21
-129
-17
1
0
0
32
10
0
0
0
0
0
0
0
50
-10
-24
17
-4
1
0
3
0
-12
-28
0
0
0
0
0
-4
18
19
0
-37
47
-14
15
1
277
5
-33
3
0
1
0
0
0
68
8
-49
-54
-130
16
10
112
128
71
-6
0
3
0
2
0
0
-3
-27
-6
-46
-71
98
47
60
-21
-14
-1
0
0
-1
0
0
-4
42
6
60
-16
16
41
-25
69
4
1
-1
-2
3
-2
0
0
-3
-1
63
-80
-153
-4
-133
-13
-82
82
-3
2
0
-3
0
0
0
0
0
0
-45
6
64
50
-20
-42
6
0
0
0
0
0
0
0
0
15
0
0
0
0
-5
0
-9
0
0
0
0
0
0
0
0
0
0
-27
8
-12
-6
0
0
0
0
-2
0
0
0
0
0
0
0
-4
19
-10
-11
-24
0
0
0
-3
18
3
0
0
0
0
0
0
-3
28
-2
18
21
1
0
6
48
12
-1
0
0
0
0
0
0
16
2
13
-13
6
-13
0
61
-33
2
0
-2
0
0
0
0
0
0
7
0
-20
6
-2
18
-34
100
42
-3
0
0
0
0
0
0
0
-2
7
-3
73
0
4
59
94
45
2
0
0
0
0
0
0
0
0
0
-1
-10
-17
-29
-19
-13
14
0
0
0
0
0
0
0
0
25
3
1
0
0
16
38
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
66
0
0
0
0
0
0
0
0
0
0
-5
0
-5
-2
-15
6
48
0
0
0
0
0
0
0
0
0
0
0
-1
-7
64
76
132
-204
0
0
0
0
0
0
0
0
0
0
0
-3
-17
40
145
-1
-100
77
-1
0
0
0
0
0
0
0
0
0
0
-18
-63
-107
-14
-8
52
0
0
0
0
0
0
0
0
0
0
0
-54
-124
-99
29
-14
24
0
0
0
0
0
0
0
0
0
0
0
2
-12
-150
-29
27
3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-41
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
75
-21
23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
61
6
0
0
0
0
0
0
0
0
0
0
0
0
6
7
46
103
9
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-140
15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
28
21
-75
0
0
0
0
0
0
0
0
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
65
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-87
-91
36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-18
71
-7
0
0
0
0
0
0
0
0
0
0
0
0
-79
-48
-8
-78
13
0
0
0
0
0
0
0
0
0
0
0
2
-54
-63
-35
-21
-5
0
0
0
0
0
0
0
0
0
0
0
16
1
2
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
3
47
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
5
23
-51
-160
-95
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
57
-1
-116
-14
0
0
0
0
0
0
0
0
0
0
0
0
7
37
-78
-87
-37
0
0
0
0
0
0
0
0
0
0
0
-3
33
-19
18
78
-13
0
0
0
0
0
0
0
0
0
0
0
0
-28
-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
15
-17
13
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
81
-16
-4
130
44
-13
0
0
0
0
0
0
0
4
-8
-45
65
-59
-75
-31
-32
-87
0
0
0
0
0
0
0
0
-2
50
65
15
55
-91
-30
-149
33
-19
0
0
0
0
0
0
0
-1
-70
49
-106
53
-77
-9
45
1
1
0
0
0
0
0
0
0
4
-42
23
72
4
72
-139
-15
-21
0
0
0
0
0
0
0
0
0
-34
112
29
0
-183
27
-59
2
0
0
0
0
0
0
0
0
10
76
7
30
46
-41
-8
38
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
5
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
-22
-2
-2
8
0
6
0
0
0
0
0
0
0
-1
-4
-1
0
-9
0
0
0
-10
0
0
0
0
0
0
0
0
0
-47
-29
4
-6
-3
3
-1
0
-6
0
0
0
0
0
0
0
-4
67
11
10
25
0
-14
-6
0
9
0
0
0
0
0
0
0
0
14
-29
14
8
26
-6
-5
-7
0
0
0
0
0
0
0
0
0
-24
-22
40
0
-14
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-9
32
-12
33
0
0
0
0
0
1
-1
-2
0
0
10
-63
-17
59
91
-42
118
0
0
0
0
-1
0
2
65
-13
-64
31
-57
-42
27
49
50
-93
0
0
0
0
0
0
3
-41
-37
53
-30
-30
-27
22
-6
25
-46
0
0
0
0
0
0
0
-1
-88
-51
-9
59
-34
45
4
33
61
0
0
0
0
0
0
0
2
0
-121
-62
-113
-22
-17
47
-5
53
0
0
0
0
0
2
1
-15
-10
-20
-62
-23
-65
-36
-60
29
7
0
0
0
0
0
0
0
0
-8
2
5
-18
-67
18
41
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
4
54
-42
-56
-30
71
2
0
0
0
0
0
0
-12
-3
187
-18
-8
-32
-42
-51
-72
-39
9
0
0
0
0
-1
2
5
114
58
122
-38
-36
-29
-24
-38
3
10
0
0
0
0
0
-1
-23
61
259
118
28
-39
-60
-49
-19
-43
35
0
0
0
0
0
1
2
0
66
52
14
-34
-48
-17
-3
85
56
0
0
0
0
0
0
11
84
60
71
-1
-19
-20
-6
14
85
51
0
0
0
0
0
5
-9
79
40
65
28
-31
-21
-10
-41
119
-7
0
0
0
0
0
0
0
1
54
77
-46
-13
-8
-44
-54
-45
14
0
0
0
0
0
0
1
1
2
-9
53
-16
-108
-18
-6
-37
0
0
0
0
0
0
0
0
0
0
0
-42
-85
102
-36
63
-16
1
0
0
0
0
0
0
0
-1
1
-100
-31
60
7
67
-32
-48
-12
0
0
0
0
0
0
0
1
1
13
94
-37
-38
-102
-70
176
-5
0
0
0
0
0
0
0
0
20
21
-74
-83
-83
73
95
33
-2
0
0
0
0
0
0
0
-14
-8
-35
6
-11
-1
76
48
-50
-10
0
0
0
0
0
0
0
0
34
53
-11
-35
86
53
156
-21
37
0
0
0
0
0
0
0
-2
73
-57
63
-20
-40
98
8
38
68
0
0
0
0
0
0
0
0
13
44
-2
102
138
137
34
-44
0
0
0
0
0
0
0
0
0
0
0
10
-29
-11
38
83
59
0
0
0
0
0
0
0
0
0
0
7
15
-112
4
-26
30
-153
4
0
0
0
0
0
0
0
1
-10
72
0
-28
33
44
-45
103
55
0
0
0
0
0
0
0
0
-35
92
14
-13
-35
21
23
87
32
0
0
0
0
0
0
0
0
54
-83
6
-36
-63
131
83
-25
105
0
0
0
0
0
0
0
0
15
64
-136
-53
88
69
135
-112
-16
0
0
0
0
0
0
0
-1
45
34
37
-37
32
74
137
-20
-33
0
0
0
0
0
0
0
11
13
-87
-65
52
-74
112
97
-29
35
0
0
0
0
0
0
0
0
0
77
-70
-121
6
128
67
55
-31
0
0
0
0
0
0
0
0
0
4
-1
-5
-6
9
147
0
0
0
0
0
0
0
0
6
0
0
0
16
-29
-8
-49
-24
135
-25
0
0
0
0
0
-1
-33
0
94
0
51
-8
-20
-6
25
-17
6
0
0
0
0
0
0
35
-144
64
-1
-116
-39
-23
70
67
-20
54
0
0
0
0
0
0
10
-31
132
-87
-137
20
-20
-11
17
72
19
0
0
0
0
0
0
5
143
-53
47
-6
46
-26
23
49
35
-32
0
0
0
0
0
1
4
110
103
-121
-51
-45
-46
50
-5
15
-80
0
0
0
0
0
0
-4
11
9
-79
13
-47
71
-34
37
3
25
0
0
0
0
0
0
0
18
6
-13
-98
29
-42
-88
20
-7
0
0
0
0
0
0
0
0
0
0
0
-11
0
-12
-4
-16
0
0
0
0
0
0
0
0
-2
0
0
0
28
-35
55
52
0
-16
-3
0
0
0
0
0
-2
1
0
16
0
-16
-25
59
-22
-2
-120
2
0
0
0
0
0
-2
11
96
77
105
-25
-40
-48
-35
-17
18
26
0
0
0
0
0
0
20
128
145
-47
52
-25
-81
12
29
99
27
0
0
0
0
0
0
18
-9
59
-43
13
-16
-77
8
126
149
-71
0
0
0
0
0
2
13
24
122
99
123
-63
-87
11
117
89
3
0
0
0
0
0
0
0
3
19
25
69
-78
30
30
79
37
-8
0
0
0
0
0
0
0
9
-4
9
25
114
-19
9
87
13
0
0
0
0
0
0
0
0
0
0
0
0
-49
73
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
-61
-22
-12
-15
112
0
0
0
0
0
0
0
-1
-1
0
0
5
5
-2
13
77
-9
-5
0
0
0
0
0
0
0
1
0
-3
20
-98
60
136
-134
-36
1
0
0
0
0
0
0
0
-1
1
0
-2
27
149
-13
23
-140
-2
0
0
0
0
0
0
0
33
-11
1
60
18
-62
59
32
-91
-2
0
0
0
0
0
0
0
1
9
-2
9
-81
-38
59
-111
18
-26
0
0
0
0
0
0
0
33
-16
3
-42
106
100
-61
48
-146
-3
0
0
0
0
0
0
0
0
0
-3
0
12
20
89
0
75
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
9
-69
150
38
-13
0
0
0
0
0
0
0
9
3
-2
38
28
35
-24
-17
30
13
0
0
0
0
0
0
0
-13
3
1
6
-39
68
-10
121
-54
66
0
0
0
0
0
0
0
0
0
0
-3
-2
-1
26
132
22
-62
0
0
0
0
0
0
0
0
0
0
0
7
122
-23
54
-32
38
0
0
0
0
0
0
0
0
0
0
3
98
114
-4
-6
57
-89
0
0
0
0
0
0
0
0
0
0
0
13
57
110
77
-59
43
0
0
0
0
0
0
0
0
0
0
0
2
8
64
131
21
124
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-11
-25
62
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-67
-43
-81
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-70
-42
51
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
81
7
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
22
-14
104
-18
0
0
0
0
0
0
0
0
0
0
0
0
-17
123
60
175
132
0
0
0
0
0
0
0
0
0
0
0
0
-17
95
116
43
-9
0
0
0
0
0
0
0
0
0
0
0
0
-15
132
-122
82
11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-63
-15
0
0
0
0
0
0
0
0
0
0
0
1
5
34
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
-31
36
-119
15
-38
-16
0
0
0
0
0
0
0
0
0
0
0
16
37
3
-39
11
16
0
0
0
0
0
0
0
0
0
0
0
1
-6
11
7
65
9
0
0
0
0
0
0
0
0
0
0
0
6
59
-9
38
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
90
92
-39
-38
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
47
21
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
4
16
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
0
0
0
0
-3
29
3
28
-52
0
0
0
0
0
0
0
0
0
0
0
-4
19
-8
106
196
49
0
0
0
0
0
0
0
0
0
0
0
0
65
98
-25
-10
33
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-12
72
88
52
-1
0
0
0
0
0
0
0
0
0
0
0
2
-110
7
-62
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
56
124
83
110
-11
0
0
0
0
0
0
0
0
0
0
0
-1
38
83
84
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
51
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
15
54
21
62
73
58
25
-2
0
0
0
0
0
0
0
-4
-63
46
1
-118
-15
132
18
-16
3
0
0
0
0
0
0
0
-14
-7
1
86
16
-42
177
12
9
17
0
0
0
0
0
0
0
0
-31
-36
-167
39
75
133
72
61
39
0
0
0
0
0
0
0
-19
-114
-64
2
-7
38
103
148
95
-8
0
0
0
0
0
0
1
13
30
81
39
40
75
86
73
51
10
0
0
0
0
0
0
0
-20
6
10
-5
142
96
55
72
34
-5
0
0
0
0
0
0
0
0
-3
0
-46
-17
49
57
94
140
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
6
-5
0
0
0
0
0
0
0
0
0
-1
7
-14
15
-4
-21
39
7
1
0
0
0
0
0
0
0
-5
-5
-15
1
0
-7
8
-6
-1
-6
0
0
0
0
0
0
0
0
-9
2
62
21
54
-49
29
-23
2
0
0
0
0
0
0
0
7
3
-31
92
-7
83
-17
113
-16
0
0
0
0
0
0
0
0
0
17
13
40
-22
69
31
3
-57
-51
0
0
0
0
0
0
0
0
-3
-7
-19
22
22
13
-23
70
-27
0
0
0
0
0
0
0
0
4
0
0
0
2
11
2
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
49
0
32
-65
48
70
29
11
10
0
0
0
0
0
6
-25
28
25
-19
-13
-7
24
114
140
133
-32
1
0
0
0
0
13
6
-61
7
-5
-7
6
37
110
-87
-104
-12
5
0
0
0
0
0
54
49
0
-31
-29
12
38
51
18
-14
-28
6
0
0
0
0
0
42
-58
-30
0
24
12
63
62
133
19
-3
-4
0
0
0
0
0
-3
-22
-63
-1
-8
61
75
70
74
13
-32
0
0
0
0
0
0
0
-3
-52
-20
44
21
-27
126
-40
-14
-25
0
0
0
0
0
0
0
0
-40
31
-41
22
-33
-2
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
-15
-6
-9
0
54
19
16
6
63
-116
-2
0
0
0
0
0
2
-40
-19
-82
18
15
31
18
14
49
100
-48
0
0
0
0
0
0
-8
14
-38
20
18
26
14
17
43
161
-54
0
0
0
0
0
0
4
6
-9
-20
0
2
4
11
67
135
193
0
0
0
0
0
-8
42
35
-6
15
-15
-7
-11
23
64
155
-55
0
0
0
0
0
-1
3
11
-63
-35
-8
0
8
25
72
93
87
0
0
0
0
0
0
-35
22
44
24
-13
-3
3
26
16
92
70
0
0
0
0
0
0
26
-24
11
-111
-59
-41
-8
11
40
78
-89
0
0
0
0
0
1
1
4
4
57
34
-23
-51
-63
-89
-13
8
0
0
0
0
0
1
-25
-4
2
0
-66
78
-69
16
57
0
0
0
0
0
0
0
7
23
11
16
20
27
157
21
29
-47
-1
0
0
0
0
0
0
0
31
-44
-30
36
82
187
131
6
22
0
0
0
0
0
0
0
0
-31
-68
-12
-31
69
87
93
92
-33
-11
0
0
0
0
0
0
0
9
7
-38
-34
52
0
-120
147
-32
22
0
0
0
0
0
0
0
-10
-28
-57
-32
118
160
101
-8
58
-2
0
0
0
0
0
-2
13
-49
-3
-18
-12
31
74
83
45
6
-1
0
0
0
0
0
7
34
-29
-31
38
15
14
40
55
-17
-88
1
0
0
0
0
0
0
22
-46
24
-5
56
19
-5
82
-12
7
5
0
0
0
0
0
0
-8
-14
-39
-38
0
-26
-15
38
-36
-22
4
0
0
0
0
0
0
-6
72
33
-32
-64
5
-9
9
20
89
31
0
0
0
0
0
-1
-2
-85
-5
-16
34
13
16
10
-10
-8
-4
0
0
0
0
0
0
-10
-2
-27
-22
-1
-3
11
58
-65
188
-22
0
0
0
0
0
0
10
1
4
7
6
30
4
21
29
-112
-5
0
0
0
0
0
-3
39
2
1
8
3
-6
-31
57
11
-5
5
0
0
0
0
0
-8
-3
-21
23
7
1
-36
-17
55
-24
29
-1
0
0
0
0
0
-1
-11
10
-4
9
15
24
-133
31
57
-14
0
0
0
0
0
0
0
0
0
0
0
5
-30
-7
0
0
0
0
0
0
0
0
0
0
0
-3
90
34
0
-14
-80
54
21
83
-104
-3
-32
0
0
0
0
-1
-19
17
-21
-30
-11
11
39
33
86
-71
112
-18
0
0
0
0
1
-3
6
-27
-9
-42
17
15
43
-41
132
10
-7
0
0
0
0
0
-7
24
24
-3
-67
-9
3
59
12
-24
-25
10
0
0
0
0
0
4
-2
8
-26
-37
10
21
31
147
41
-13
-8
0
0
0
0
0
-3
27
-9
-129
-72
34
49
86
90
277
164
1
0
0
0
0
0
-1
-18
56
-4
-26
-3
51
95
100
110
28
7
0
0
0
0
0
0
-2
-15
28
-66
0
137
123
92
19
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
-2
20
-26
0
-35
-51
69
99
7
-9
8
-4
0
0
0
0
0
0
-48
12
-14
25
-17
-9
13
207
120
15
12
0
0
0
0
0
2
-18
-18
-109
-63
-3
-13
103
32
25
86
37
0
0
0
0
0
0
17
36
-87
-16
-11
5
36
42
0
-38
-1
0
0
0
0
0
1
3
9
-84
9
-13
7
-16
127
96
60
8
0
0
0
0
0
6
5
-37
-1
12
-17
33
163
121
-55
146
22
0
0
0
0
0
-6
-18
12
-13
10
42
72
21
66
130
-10
9
0
0
0
0
0
0
1
57
-19
-30
-87
52
-11
106
25
45
0
0
0
0
0
0
0
0
0
17
0
-55
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
45
43
0
-2
-2
-4
0
0
0
0
0
0
0
8
-7
17
19
21
144
3
0
2
-96
0
0
0
0
0
0
3
0
-39
-43
-68
-6
40
45
4
8
-6
-8
0
0
0
0
0
0
-17
-14
70
-54
-10
-21
34
14
16
-39
-5
0
0
0
0
0
0
5
80
-58
-21
-5
-2
-40
-11
-13
19
-4
0
0
0
0
0
0
0
-19
-45
-34
-63
-80
-46
21
-28
-3
-34
0
0
0
0
0
0
-2
12
-36
45
14
1
-29
2
-12
8
11
0
0
0
0
0
0
0
12
-3
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
21
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
-54
-5
-14
0
0
15
0
0
0
0
0
0
0
0
0
0
8
-28
-45
8
21
129
22
0
0
0
0
0
0
0
0
0
0
0
31
-14
32
73
52
12
9
0
0
0
0
0
0
0
0
0
-2
45
74
70
7
43
37
62
0
0
0
0
0
0
0
0
0
0
17
-65
-24
-51
-6
119
-23
0
0
0
0
0
0
0
0
0
0
0
0
-50
-130
46
74
-16
0
0
0
0
0
0
0
0
0
0
1
5
-57
-76
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
35
-55
33
5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
25
67
5
151
1
0
0
0
0
0
0
0
0
0
0
0
-4
15
-9
-42
1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-51
66
69
10
0
0
0
0
0
0
0
0
0
0
0
0
-19
-21
-23
-65
11
0
0
0
0
0
0
0
0
0
0
0
0
13
81
9
-60
14
0
0
0
0
0
0
0
0
0
0
0
0
7
12
7
4
1
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
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
26
0
0
0
14
1
0
0
0
0
0
0
0
0
0
-3
-2
-6
2
-87
56
67
-5
0
0
0
0
0
0
0
0
0
0
0
-32
63
233
-37
-13
-1
0
0
0
0
0
0
0
0
0
0
0
3
47
-15
-94
-22
-10
0
0
0
0
0
0
0
0
0
0
4
6
-30
73
195
-32
-12
0
0
0
0
0
0
0
0
0
0
2
39
91
-16
-77
19
0
0
0
0
0
0
0
0
0
0
0
0
6
7
20
-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
6
-1
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-14
-5
0
0
-33
7
0
0
0
0
0
0
0
0
0
0
-1
-11
1
70
-11
-9
11
0
0
0
0
0
0
0
0
0
0
0
5
27
29
134
-20
58
0
0
0
0
0
0
0
0
0
0
0
8
-35
-31
73
54
-21
0
0
0
0
0
0
0
0
0
0
0
-9
15
85
7
97
7
0
0
0
0
0
0
0
0
0
0
0
2
2
82
53
5
12
0
0
0
0
0
0
0
0
0
0
0
-4
-12
-18
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
-2
3
0
0
0
6
-31
8
11
6
8
0
0
0
0
0
0
6
56
0
0
0
-19
20
10
-76
10
13
0
0
0
0
0
0
0
38
54
64
34
-36
-5
109
-22
-27
53
-2
0
0
0
0
0
-2
14
1
65
-50
80
69
50
-8
-17
17
0
0
0
0
0
0
-14
-10
13
-178
-8
65
115
-9
-1
41
0
0
0
0
0
0
0
0
-57
121
-81
-56
96
-109
-8
-9
-18
0
0
0
0
0
0
0
-2
-13
88
39
-98
116
-48
-50
0
0
-4
0
0
0
0
0
0
-2
-31
-50
-104
-48
-52
-1
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
1
1
0
-9
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
33
-35
-35
0
-14
-31
0
0
0
0
0
0
0
0
0
0
-5
7
17
8
2
0
0
0
0
-1
0
0
0
0
0
0
0
-1
25
17
47
-37
16
0
0
0
0
0
0
0
0
0
0
0
-5
-93
30
2
25
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-75
-108
-35
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
2
5
0
0
0
5
81
26
97
24
108
53
0
0
0
1
-2
8
46
115
0
0
98
11
50
89
39
30
42
0
0
0
0
-1
1
6
173
19
-8
-17
104
64
43
49
25
55
0
0
0
0
1
0
7
64
178
182
65
144
171
129
-12
5
51
0
0
0
0
0
0
13
24
-35
-98
98
145
19
3
55
54
-103
0
0
0
0
0
-4
5
41
6
30
94
103
150
18
37
-55
-118
0
0
0
0
0
0
0
5
-114
6
43
11
13
91
88
42
-16
0
0
0
0
0
0
0
-16
-1
0
1
1
2
5
7
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
15
31
0
0
-83
30
0
40
-65
28
-80
0
0
0
0
0
-5
3
27
153
140
-42
30
-3
50
-38
-220
-25
0
0
0
0
0
-2
15
89
-194
17
-40
48
-7
54
38
-33
-26
0
0
0
0
0
8
-23
-3
25
18
21
40
-10
13
108
-163
-100
0
0
0
0
0
4
4
-6
-3
48
58
38
-6
-20
-28
-104
-117
0
0
0
0
0
0
-37
-129
-87
50
33
56
-12
25
77
19
-75
0
0
0
0
0
0
0
34
-24
-21
122
56
17
-29
-30
-57
-10
0
0
0
0
0
0
2
-15
37
-1
63
54
39
175
76
12
25
0
0
0
0
0
0
0
0
0
-7
-7
-29
39
39
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
-13
-7
-7
-52
52
0
0
0
0
0
0
0
0
-7
64
85
18
-13
-57
52
30
11
0
0
0
0
0
0
0
0
52
-108
-17
35
63
2
62
62
-5
0
0
0
0
0
0
0
-8
94
17
49
53
84
32
-26
22
-5
0
0
0
0
0
0
0
0
-3
-21
126
-13
-5
53
25
7
-9
0
0
0
0
0
0
0
1
32
-104
-41
137
-76
129
32
-54
-53
0
0
0
0
0
0
0
0
29
-6
96
90
-63
39
-70
-10
44
0
0
0
0
0
0
0
0
28
8
11
-17
177
-9
55
3
94
0
0
0
0
0
0
0
0
-13
-1
-2
1
40
-41
20
5
-42
0
0
0
0
0
0
0
0
0
-31
47
115
42
4
-125
20
80
0
0
0
0
0
0
0
0
6
17
0
60
-17
-59
-11
120
11
0
0
0
0
0
0
0
0
1
35
160
39
90
53
-43
39
64
0
0
0
0
0
0
0
0
-5
110
115
32
108
19
-36
-31
-112
0
0
0
0
0
0
0
0
-16
33
24
118
4
-82
87
106
57
0
0
0
0
0
0
0
0
2
81
33
83
-25
31
18
105
8
0
0
0
0
0
0
0
0
-19
31
-42
150
95
17
69
113
-82
0
0
0
0
0
0
0
0
17
13
57
6
45
60
1
44
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
63
0
0
-15
97
8
-15
84
-13
116
0
0
0
0
-7
-4
14
0
22
0
58
210
34
-24
-46
111
40
0
0
0
0
0
-4
149
-86
65
-61
113
133
26
75
38
-22
-38
0
0
0
0
0
-1
56
-6
124
72
-22
84
36
72
20
104
122
0
0
0
0
0
0
-40
95
123
98
44
131
18
-3
64
-150
-123
0
0
0
0
0
0
1
-51
-40
46
76
55
62
45
-42
80
43
0
0
0
0
0
0
16
-49
-134
72
50
82
66
63
-90
-1
-5
0
0
0
0
0
0
0
73
26
-30
-17
-7
79
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
0
0
0
0
0
0
0
0
0
0
2
-7
0
5
48
153
-96
65
37
-23
17
0
0
0
0
0
0
45
0
-5
0
-51
32
-51
-55
15
-89
2
0
0
0
0
0
0
19
-70
-14
-47
-53
36
-164
-124
-37
7
60
0
0
0
0
0
1
15
115
40
70
22
72
-61
171
26
44
-24
0
0
0
0
0
0
-20
-7
127
158
103
89
-52
96
20
43
105
0
0
0
0
0
0
23
11
73
161
150
76
-94
-27
158
16
-10
0
0
0
0
0
0
0
117
107
-11
112
25
164
-35
-71
-43
13
0
0
0
0
0
0
0
7
2
4
-15
-2
-63
26
-19
-28
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
2
4
2
-8
4
-1
-7
0
0
0
0
0
0
2
0
0
0
-12
17
-60
-2
-13
-26
-11
0
0
0
0
0
0
-2
29
47
0
14
76
25
10
-3
-66
4
0
0
0
0
0
0
0
41
63
-1
18
26
-52
-16
-3
-15
-14
0
0
0
0
0
0
0
11
100
0
15
-10
-33
3
-3
-9
13
0
0
0
0
0
0
0
4
43
0
-19
73
36
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
39
-1
-30
0
0
0
0
0
0
0
0
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
15
-12
-4
5
0
0
0
0
0
0
0
2
0
0
6
-1
0
-12
54
1
-17
0
0
0
0
0
0
0
0
0
0
-4
-1
-11
22
108
42
25
0
0
0
0
0
0
0
0
0
2
-1
11
1
105
51
40
-83
0
0
0
0
0
0
0
0
0
-1
8
0
-53
2
94
42
27
0
0
0
0
0
0
0
0
0
0
1
-6
-9
-45
82
106
29
0
0
0
0
0
0
0
0
0
0
0
0
10
-50
57
-13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
94
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
31
36
26
0
0
0
0
0
0
0
0
0
0
0
0
0
12
44
156
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
57
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-6
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
-4
-11
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
-82
47
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-35
3
-63
0
0
0
0
0
0
0
0
0
0
0
0
12
2
92
66
10
0
0
0
0
0
0
0
0
0
0
0
0
1
33
-74
131
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
15
-1
8
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
-7
0
-39
0
0
0
0
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
2
-1
-10
23
-1
0
0
0
0
0
0
0
0
0
0
1
-7
-7
55
-14
21
101
33
0
0
0
0
0
0
0
0
0
0
-5
8
-10
25
-46
156
-1
0
0
0
0
0
0
0
0
0
0
0
-2
50
-39
-16
25
-5
0
0
0
0
0
0
0
0
0
0
0
2
-26
6
121
17
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-11
29
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-6
0
-16
40
113
-37
49
27
40
-63
0
0
0
0
0
0
9
-3
-21
-85
-56
40
-6
-14
-19
-62
-9
0
0
0
0
0
0
0
-119
-73
18
4
-39
-66
-107
-30
84
5
0
0
0
0
0
0
-2
122
-88
11
40
-42
5
22
27
136
105
0
0
0
0
0
0
0
-24
97
44
-18
10
8
-26
79
18
18
0
0
0
0
0
0
0
0
17
-23
-94
-83
-71
43
-43
124
-32
0
0
0
0
0
0
0
-33
-41
-7
12
15
-22
49
95
15
-3
0
0
0
0
0
0
0
0
6
1
12
-21
12
-28
12
57
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
15
0
0
0
0
0
0
0
0
0
9
1
0
0
8
-3
-32
0
0
0
0
0
0
0
0
-2
-2
-21
0
26
0
-6
5
133
20
0
0
0
0
0
0
1
32
0
-45
-6
-4
4
0
14
88
-37
0
0
0
0
0
0
0
-12
7
1
54
6
0
3
13
-12
13
0
0
0
0
0
0
0
-4
0
31
25
0
-20
-8
12
23
-11
0
0
0
0
0
0
0
1
3
1
-40
8
12
-5
-10
97
14
0
0
0
0
0
0
0
0
0
0
-8
3
18
0
25
2
-78
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
-13
-56
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
-36
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
-2
0
9
5
112
-34
0
-10
15
15
0
0
0
1
11
32
-45
2
-5
8
24
58
102
1
-69
42
1
0
0
0
-2
-50
-20
-54
-3
-4
-10
45
48
50
2
70
193
32
0
0
0
1
1
54
-21
-2
16
32
43
63
-57
-26
64
-10
77
0
0
0
0
0
-27
9
22
22
41
38
111
59
-38
31
65
55
0
0
0
0
0
6
-48
-13
-9
34
14
103
67
-19
31
23
-1
0
0
0
0
0
0
-1
-84
-80
-61
81
-16
19
-1
19
13
4
0
0
0
0
0
0
0
-1
-37
-26
-22
-55
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
-4
0
-16
-53
-51
0
-17
-32
8
12
50
-48
0
0
0
0
0
0
2
33
-18
-46
28
-17
-18
23
-62
96
-23
51
0
0
0
0
0
1
-32
20
-130
-69
-36
-4
22
-15
0
-8
9
0
0
0
0
-1
-5
42
-81
-28
6
-9
11
0
-24
-99
193
16
0
0
0
0
3
-1
18
97
-70
20
-22
18
15
-12
66
1
0
0
0
0
0
1
0
-15
1
-68
-9
-32
26
30
-10
-69
-91
3
0
0
0
0
0
0
0
-6
21
-25
1
8
27
22
3
-27
-9
0
0
0
0
0
0
3
3
-67
-25
0
-15
24
18
43
-25
17
0
0
0
0
0
0
-1
3
-20
42
-17
25
-11
-13
43
0
0
0
0
0
0
2
-17
-15
-41
88
0
5
-84
92
24
0
-2
0
0
0
0
1
-7
10
22
-1
-8
-45
-34
-108
-17
-32
-21
4
0
0
0
0
0
-1
-12
47
5
-19
1
-101
-109
4
88
-20
-4
0
0
0
0
0
3
-16
22
-3
26
-54
-85
-61
39
79
-3
0
0
0
0
0
0
1
-5
-18
-3
37
13
-23
-94
-15
-129
5
0
0
0
0
0
0
-1
19
-6
4
-2
10
-50
115
-110
-131
-15
0
0
0
0
0
3
6
-9
25
-6
3
-7
71
-32
-35
-43
6
0
0
0
0
0
0
0
-5
8
6
9
-22
-27
-36
-49
3
0
0
0
0
0
0
-6
7
18
-47
3
-12
-36
-45
82
-82
-2
0
0
0
0
0
0
0
0
-12
-43
34
-9
0
-133
34
-43
-35
0
0
0
0
0
0
0
-41
4
-38
-11
8
-30
-7
-41
15
34
80
0
0
0
0
0
0
0
-1
-4
9
58
-49
-3
2
-134
-49
17
0
0
0
0
0
0
0
-1
30
-14
38
-10
-14
-41
-35
-19
-45
0
0
0
0
0
0
0
14
-22
-35
-10
24
34
47
-25
-5
4
0
0
0
0
0
0
0
9
21
-15
0
41
32
113
98
34
0
0
0
0
0
0
0
1
-10
29
-9
1
-30
81
54
82
-105
3
0
0
0
0
0
0
0
-3
14
-56
-62
-29
-36
-67
30
-84
-2
0
0
0
0
0
0
0
0
0
0
0
6
-83
-58
-3
1
0
0
0
0
0
0
0
0
0
-27
-36
15
0
-6
21
7
-6
-132
17
8
34
0
0
0
0
-2
-50
51
8
-3
-15
-2
54
38
22
108
200
38
0
0
0
0
1
17
11
-18
0
18
8
26
51
-59
9
72
-25
0
0
0
0
-2
-4
47
52
33
-4
17
44
0
71
15
-69
33
0
0
0
0
1
13
13
16
29
-8
27
12
-30
-24
99
119
-3
0
0
0
0
0
30
-87
61
-9
-17
41
47
129
123
4
-49
15
0
0
0
0
0
0
-21
-48
36
-66
1
-58
65
-43
22
26
-2
0
0
0
0
0
0
-1
5
-60
-59
-10
46
1
-10
-2
-10
1
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
-8
0
0
0
0
0
0
-9
-98
16
0
-33
29
24
85
33
8
16
10
0
0
0
0
0
3
-24
-72
-11
-10
4
44
28
-39
7
20
34
0
0
0
0
-5
45
-60
20
-10
-52
18
42
-4
6
-9
45
104
0
0
0
0
1
-27
33
61
11
9
33
52
-63
-70
-13
42
-39
0
0
0
0
0
1
-52
5
-7
57
44
-46
56
42
-10
3
-5
0
0
0
0
0
11
-67
50
-45
19
-35
55
-35
-9
-5
-96
8
0
0
0
0
0
3
3
-19
-17
68
-34
19
-31
1
0
-18
-2
0
0
0
0
0
0
34
-38
41
-9
39
-26
0
32
0
-5
0
0
0
0
0
0
0
-1
-29
74
-10
58
0
20
0
0
0
0
0
0
0
0
0
0
1
6
0
-7
-12
-6
0
0
0
-4
0
0
0
0
0
0
0
-26
-54
-54
-65
-84
-11
0
0
0
4
0
0
0
0
0
0
0
0
-41
-97
76
14
-2
-4
-4
0
-3
0
0
0
0
0
0
0
0
7
-78
-14
28
-1
1
0
-2
11
0
0
0
0
0
0
0
0
30
27
-61
20
7
-6
0
-6
-72
0
0
0
0
0
0
0
7
-36
18
-73
40
16
-5
0
-21
0
4
0
0
0
0
0
0
-1
-7
0
-22
-4
-4
-1
0
-8
60
1
0
0
0
0
0
0
0
2
-22
13
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-6
0
0
-12
0
0
0
0
0
0
0
0
0
0
-3
0
10
47
65
29
32
0
0
0
0
0
0
0
0
0
0
2
3
3
42
91
-49
-12
0
0
0
0
0
0
0
0
0
0
3
-2
29
-47
1
81
88
11
0
0
0
0
0
0
0
0
1
0
0
-7
123
-55
-73
50
-8
0
0
0
0
0
0
0
0
-1
1
0
-47
7
28
126
76
0
0
0
0
0
0
0
0
0
0
-1
0
0
19
-175
-60
22
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
0
0
0
0
0
0
0
0
0
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
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-61
48
5
0
0
0
0
0
0
0
0
0
0
0
0
0
93
53
-33
-11
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
-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
2
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
-16
8
-66
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
6
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
-28
-17
9
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
22
28
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
1
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
3
42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
33
7
0
0
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
0
1
-1
-29
-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
-2
11
58
2
-7
0
0
0
0
-3
0
4
0
0
0
0
-21
-22
-16
25
-19
1
0
0
0
0
0
0
1
0
-28
8
5
-21
-11
-153
-39
34
1
0
0
0
0
0
0
0
1
78
38
-49
67
25
8
-70
9
13
0
0
0
0
0
-1
2
1
127
-97
4
-18
18
29
-21
-7
-4
0
0
0
0
0
0
0
2
-57
-35
116
-19
40
67
-17
23
0
0
0
0
0
0
0
0
6
36
-39
-32
-26
37
10
3
10
0
0
0
0
0
0
0
0
0
-3
-69
46
5
0
-38
-7
-2
0
0
0
0
0
0
0
0
0
0
-1
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
1
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
-6
7
-1
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-13
4
2
0
0
0
0
0
0
0
0
0
0
0
0
32
16
12
18
12
-1
1
0
0
0
0
0
0
0
0
0
0
3
-9
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-9
-37
-160
-61
0
0
0
0
0
-2
-6
1
0
0
-12
-18
-53
145
4
-56
80
0
0
0
0
0
0
0
2
-57
17
6
-28
161
-48
204
-20
5
0
0
0
0
0
-2
3
86
-5
-19
51
71
44
50
66
-72
2
0
0
0
0
0
0
4
-2
-26
5
-69
49
59
51
4
-118
8
0
0
0
0
0
1
-6
1
53
-7
30
28
16
-15
-17
11
21
0
0
0
0
0
0
-6
9
14
23
9
73
-55
-78
9
-54
-10
0
0
0
0
0
-1
-6
10
0
2
1
0
-2
7
-6
-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
110
-97
95
-54
-18
104
3
0
0
0
0
0
35
-3
7
24
-3
-29
18
12
-6
-95
-16
33
0
0
0
0
1
29
-22
-12
121
130
62
-18
104
-4
-14
62
33
0
0
0
3
0
0
-16
47
21
121
41
37
-3
-29
2
18
-3
0
0
0
0
1
-3
4
16
25
55
-4
2
-19
-36
15
-5
35
0
0
0
0
0
-3
-2
-38
37
72
86
108
52
7
89
126
29
0
0
0
0
-3
12
12
26
-35
91
120
-19
-19
19
15
-12
-10
0
0
0
0
0
-1
1
29
-63
73
96
-4
33
36
84
59
-14
0
0
0
0
1
6
5
3
1
10
-52
-16
54
50
33
-4
0
0
0
0
0
0
0
0
0
0
0
41
-72
-41
-37
66
-96
-3
0
0
0
0
0
0
0
-1
2
1
72
-22
105
-61
-9
74
7
0
0
0
0
0
0
0
1
0
-15
23
35
21
82
33
-2
-4
0
0
0
0
0
0
0
0
-1
-10
4
-19
-4
84
42
-29
-1
0
0
0
0
0
0
0
0
0
11
49
20
29
74
58
1
20
0
0
0
0
0
0
-2
1
4
11
-22
60
12
91
96
57
8
0
0
0
0
0
0
0
0
-1
0
43
15
-1
96
-33
-3
5
0
0
0
0
0
0
0
0
2
0
-71
25
46
-33
-31
3
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
-3
7
-3
1
0
0
0
0
0
0
0
0
0
11
54
22
11
90
-176
-100
-3
0
0
0
0
1
0
0
0
1
8
0
-35
70
29
-57
16
-50
0
0
0
0
0
1
0
0
-6
-20
-136
-66
-88
10
57
129
9
0
0
0
0
0
0
0
0
6
3
-42
-7
96
5
39
-17
-7
0
0
0
0
0
0
0
0
0
-45
-97
52
49
121
-9
-28
62
0
0
0
0
0
0
0
0
6
43
-98
53
33
48
129
47
6
0
0
0
0
0
0
0
0
-12
42
32
68
31
6
-8
-5
112
0
0
0
0
0
0
0
0
0
0
1
21
-52
-9
22
7
61
0
0
0
0
0
0
0
0
0
0
0
16
1
12
-42
0
0
0
0
0
0
0
0
0
0
0
0
18
-20
-46
41
6
30
-12
0
0
0
0
-2
4
0
0
3
0
-12
71
167
-35
-18
-73
16
0
0
0
0
0
-1
-1
-27
-32
1
-32
-100
-128
76
112
-79
-61
0
0
0
0
0
2
5
-48
0
18
91
80
-193
115
54
-41
-26
0
0
0
0
0
0
0
67
35
54
206
149
51
0
7
-16
-16
0
0
0
0
0
3
1
7
18
40
73
107
-12
155
-41
-111
-2
0
0
0
0
-1
0
-3
3
26
37
16
44
18
65
-35
122
71
0
0
0
0
0
0
-2
-5
-2
-7
65
-52
6
23
14
-60
0
0
0
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
-59
54
-67
68
-3
0
0
0
0
0
0
0
0
-3
0
4
4
40
45
0
92
7
0
0
0
0
0
0
0
-2
2
0
19
94
-99
47
79
60
-63
0
0
0
0
0
0
2
11
0
-26
3
-27
21
-87
-88
80
-4
0
0
0
0
0
0
-3
2
5
9
40
39
26
30
17
50
-14
0
0
0
0
0
0
1
3
24
38
84
-8
60
-44
56
4
1
0
0
0
0
0
0
0
-22
57
23
-2
29
108
-37
-22
56
-1
0
0
0
0
0
0
0
0
2
0
-2
118
42
182
12
109
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-44
-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
3
-7
39
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-48
-5
0
0
0
0
0
0
0
0
6
0
0
0
1
7
37
-67
77
0
0
0
0
0
0
0
0
-19
2
-4
0
7
36
-35
17
10
0
0
0
0
0
0
0
0
8
10
-1
11
9
-5
7
50
70
0
0
0
0
0
0
0
0
-8
3
-4
1
-13
24
6
-27
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
-17
53
22
-1
0
0
0
0
0
0
0
-2
29
-26
-41
1
-14
-56
36
93
-6
0
0
0
0
0
0
0
6
-3
-5
0
24
-20
-8
8
56
-26
0
0
0
0
0
0
0
-6
-1
-2
0
-11
-24
3
-85
-30
-124
0
0
0
0
0
0
0
-4
-1
-1
4
7
21
56
133
-22
-61
0
0
0
0
0
0
0
0
-1
-1
2
-9
67
62
36
-45
-110
0
0
0
0
0
0
0
0
0
0
0
22
-12
-34
96
138
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-128
102
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-28
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
49
26
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-56
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
37
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
132
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
6
50
-77
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
69
-66
-33
39
0
0
0
0
0
0
0
0
0
0
0
0
-2
80
-86
115
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-99
94
111
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
10
0
0
0
0
0
0
0
0
0
-4
1
6
-2
28
-16
2
0
0
0
0
0
0
0
0
2
2
2
1
3
17
-48
54
-70
-15
0
0
0
0
0
0
0
0
-2
-4
-2
0
-1
-90
-12
40
7
0
0
0
0
0
0
0
0
-1
0
0
-1
-32
28
51
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
13
1
117
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
16
12
-32
24
5
0
0
0
0
0
0
0
0
0
0
0
0
-11
134
51
48
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-17
-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
1
2
5
70
-35
-8
0
0
0
0
0
0
0
-4
-1
2
0
-2
4
9
109
39
23
0
0
0
0
0
0
0
0
8
-1
-2
-1
-1
33
76
-7
0
7
0
0
0
0
0
0
0
0
-1
0
-5
-12
-61
-12
-81
-62
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
44
156
92
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-6
-38
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-86
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
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
-7
8
-21
-67
19
-18
97
17
0
0
0
0
0
0
-2
-1
3
1
46
-26
35
43
11
53
-2
0
0
0
0
0
0
0
4
35
33
-45
-4
-8
25
-96
39
29
0
0
0
0
0
0
0
3
-5
-1
42
-27
-11
62
94
-62
44
0
0
0
0
0
0
0
1
-8
-14
-4
25
-86
-20
37
-75
15
0
0
0
0
0
0
0
-1
0
-2
3
-36
89
39
-69
-20
-17
0
0
0
0
0
0
0
0
-4
13
-42
-4
43
56
34
-33
-24
0
0
0
0
0
0
0
0
0
0
4
63
-45
-64
-27
7
50
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-13
55
-5
-8
0
0
0
0
0
0
0
0
0
1
2
5
6
4
2
8
0
0
0
0
0
0
0
0
0
0
0
3
2
17
-7
-28
-9
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
0
-22
0
0
0
0
0
0
0
0
-2
0
0
1
2
3
50
-45
46
-3
0
0
0
0
0
0
0
10
3
-1
14
5
1
45
0
21
50
0
0
0
0
0
0
0
0
-2
-2
-10
-10
0
-27
-111
-8
4
0
0
0
0
0
0
0
-6
-1
-1
-5
1
-2
-10
-52
18
5
0
0
0
0
0
0
0
0
8
9
0
-3
-5
-9
-11
64
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
7
3
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
1
-10
0
133
-146
-74
-16
8
-15
4
0
0
0
0
0
1
14
-22
-19
7
-39
-21
38
-5
-5
104
14
-4
0
0
0
0
2
2
-7
-78
-21
-29
-16
76
-18
67
-25
-64
-1
0
0
0
0
-1
2
104
-32
-123
26
-8
13
-51
-38
92
41
-1
0
0
0
0
0
-1
18
-92
-26
57
83
-65
-7
117
-103
-69
-9
0
0
0
0
0
0
-2
-61
176
29
49
-95
43
-44
30
34
31
0
0
0
0
0
-2
0
43
62
-100
1
-57
-14
-25
1
-20
-1
0
0
0
0
0
0
5
105
1
-3
12
-1
-24
-7
-11
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
5
6
0
0
70
-18
-42
98
-14
3
0
0
0
0
1
14
29
13
20
29
-80
-34
-65
-92
-65
66
32
13
0
0
0
0
-2
1
-34
-7
13
26
13
-22
-59
-33
-110
39
-5
0
0
0
0
0
-2
5
-62
-83
-49
52
-30
7
37
26
-35
47
0
0
0
0
0
0
-3
32
22
21
11
19
-20
-5
155
75
-57
0
0
0
0
0
0
-1
41
-35
20
74
47
-33
19
120
107
58
0
0
0
0
0
0
0
-2
21
-44
24
-13
-41
-7
98
-21
-8
0
0
0
0
0
0
0
-10
-41
132
29
20
-17
-62
21
-72
122
0
0
0
0
0
0
0
0
-1
-21
-8
-26
-16
6
-53
0
0
0
0
0
0
0
0
0
0
0
0
-20
-16
-8
22
-9
1
0
0
0
0
0
-1
1
-3
31
-39
-66
66
26
-8
86
-7
6
0
0
0
0
0
0
0
0
5
111
54
-19
-20
-80
-16
25
0
0
0
0
0
0
0
0
0
1
-27
21
47
-8
-23
21
12
-1
0
0
0
0
0
0
0
0
4
-49
19
-46
42
-53
14
-3
0
0
0
0
0
0
0
0
0
-6
14
143
-47
-44
-48
-9
-9
0
0
0
0
0
0
0
0
0
4
-84
9
59
-63
-38
-15
-5
-1
0
0
0
0
0
0
0
0
55
-101
78
17
-48
14
62
-22
-12
0
0
0
0
0
0
0
0
-2
-42
-15
8
-14
0
0
6
-1
0
0
0
0
0
0
0
4
2
0
0
-37
-35
-76
48
4
-2
0
0
0
0
0
1
-10
15
28
-17
23
-30
28
-62
99
39
1
0
0
0
0
0
0
1
-6
9
37
13
-39
68
-3
-93
34
9
0
0
0
0
0
0
0
0
26
-4
36
-2
98
26
-16
73
6
0
0
0
0
0
0
0
-8
-14
-81
20
28
51
160
-16
-2
68
0
0
0
0
0
0
0
-1
58
82
9
48
91
76
6
91
15
0
0
0
0
0
0
0
31
13
25
-66
13
-5
46
-97
78
0
0
0
0
0
0
0
0
0
-51
-44
-8
12
-19
-34
46
-82
-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
11
0
46
-33
8
103
29
72
-11
-14
0
0
0
0
0
19
2
29
-93
9
-71
116
-51
77
-21
34
-19
0
0
0
15
-4
-1
-14
-88
2
-89
98
146
-99
-17
86
-9
-22
0
0
0
0
0
-6
9
78
-83
-33
-1
3
111
-61
113
10
-93
0
0
0
0
0
0
-2
15
25
25
28
-14
-47
53
95
-13
18
0
0
0
0
0
0
5
-23
-16
-155
-77
-10
-10
37
-110
-32
2
0
0
0
0
0
0
0
50
2
8
-54
24
-48
53
-50
49
-14
0
0
0
0
0
0
-2
-1
-7
3
7
6
-5
3
6
6
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
24
68
-54
-84
27
11
6
-13
0
0
0
0
0
-1
-3
45
-14
-63
78
-44
28
64
32
-19
8
0
0
0
0
0
0
0
-41
55
102
70
25
20
103
-47
-18
0
0
0
0
0
0
0
0
40
28
54
-33
57
8
57
65
-23
5
0
0
0
0
0
-2
0
17
83
104
22
121
47
15
93
55
-8
0
0
0
0
0
0
1
-92
-87
60
9
5
-26
80
38
3
2
0
0
0
0
0
0
0
-48
-60
-27
-19
46
2
-111
-65
40
1
0
0
0
0
0
0
0
19
-39
-2
-106
81
56
96
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
1
4
-2
0
0
0
0
0
0
0
0
0
0
-1
0
2
-1
-2
-4
-9
1
0
0
0
0
0
-3
0
10
7
0
29
-2
-5
7
24
11
-2
0
0
0
0
0
0
-7
-23
18
-13
19
-3
-4
4
-7
21
1
0
0
0
0
0
0
0
-39
82
12
53
18
-22
0
-2
-33
4
0
0
0
0
0
0
0
12
17
23
85
-45
10
-3
-62
154
2
0
0
0
0
0
0
0
37
53
2
-10
-4
9
-12
-75
43
2
0
0
0
0
0
0
0
-5
-17
-17
0
31
-9
25
18
-15
4
0
0
0
0
0
0
0
-9
-2
-34
0
-2
-4
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
13
-9
-7
2
0
0
0
0
0
0
0
0
0
0
0
3
0
72
37
92
78
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-75
60
88
0
0
0
0
0
0
0
0
0
0
0
0
2
-49
22
-48
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-63
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-10
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
0
2
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
14
-21
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
167
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
66
53
-48
2
0
0
0
0
0
-1
0
0
0
0
8
-19
-75
-177
51
91
-9
0
0
0
0
0
-1
0
19
6
21
-2
-94
-54
-10
-71
1
7
0
0
0
0
0
0
8
60
-15
6
0
38
70
44
-42
12
-14
0
0
0
0
0
0
0
8
41
-37
100
27
41
-2
8
5
0
0
0
0
0
0
0
0
-13
-7
112
-10
10
39
44
28
55
-3
0
0
0
0
0
0
0
-13
-25
-36
-35
-4
9
-4
4
-25
1
0
0
0
0
0
0
0
60
-20
-12
0
1
0
1
-4
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
2
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
2
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
5
0
0
0
0
-4
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-16
-19
143
0
0
0
0
0
0
0
0
0
0
63
84
0
-33
65
9
9
0
0
0
0
0
-3
4
17
79
-4
-12
37
-68
10
40
62
67
0
0
0
0
0
0
2
27
7
37
-5
109
86
5
-12
-13
46
0
0
0
0
0
-3
-8
1
67
165
76
42
81
25
-13
28
30
0
0
0
0
0
0
0
24
-9
28
53
62
52
-14
27
61
96
0
0
0
0
0
0
0
-26
17
-17
8
-34
-5
14
36
8
37
0
0
0
0
0
0
0
0
0
2
0
-9
0
-2
31
-47
-7
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
0
0
-24
35
18
15
69
-76
-27
0
0
0
0
0
0
7
6
-5
28
39
-31
10
19
-8
-82
-210
0
0
0
0
0
0
16
-16
67
-56
73
11
15
53
52
-91
-162
0
0
0
0
0
0
16
9
143
63
-15
9
15
37
87
-53
44
0
0
0
0
0
0
-4
-7
-6
15
35
-19
38
10
12
-44
-96
0
0
0
0
0
0
-13
25
77
-1
32
43
-44
25
-19
-84
-113
0
0
0
0
0
-2
-3
-1
20
89
88
69
-87
6
-54
-106
-110
0
0
0
0
0
-2
2
0
3
-76
115
-42
75
0
34
70
-90
0
0
0
0
0
0
0
0
0
1
-33
94
17
70
-15
19
0
0
0
0
0
0
0
0
0
0
0
-11
101
-17
-18
-102
-2
39
0
0
0
0
0
0
0
0
-7
-4
6
-46
-95
-76
7
-1
37
0
0
0
0
0
0
0
0
0
-25
104
6
44
-84
-73
29
12
0
0
0
0
0
0
0
0
0
13
24
39
-50
-1
87
-2
21
0
0
0
0
0
0
0
0
-3
9
5
36
-26
-102
37
76
-8
0
0
0
0
0
0
0
0
5
5
-3
-11
-11
-69
-19
158
-12
0
0
0
0
0
0
0
0
-9
6
-10
32
24
-3
4
39
30
0
0
0
0
0
0
0
0
10
24
9
19
38
84
6
-12
-2
0
0
0
0
0
0
0
0
-5
12
16
-18
21
-40
34
-80
4
0
0
0
0
0
0
0
0
0
6
-60
109
49
-6
-58
22
27
0
0
0
0
0
0
0
1
0
-48
0
-22
110
-49
13
-31
49
0
0
0
0
0
0
0
1
0
40
95
103
9
124
112
-47
-55
0
0
0
0
0
0
0
-1
2
20
-47
17
-15
54
22
-1
-49
0
0
0
0
0
0
0
1
-7
10
189
92
70
43
-30
-7
62
0
0
0
0
0
0
-7
-3
0
9
-4
54
-107
89
110
133
83
0
0
0
0
0
0
0
3
10
-34
51
-95
-8
62
145
55
32
0
0
0
0
0
0
0
0
5
7
-6
16
-12
14
29
-53
81
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
57
-1
51
-14
57
-46
51
0
0
0
0
0
0
2
0
3
0
40
105
36
77
92
23
-60
0
0
0
0
0
2
5
21
-13
41
-61
31
-79
96
46
-20
18
0
0
0
0
0
0
-7
6
66
46
251
183
41
-9
14
77
44
0
0
0
0
0
0
0
7
-2
19
45
4
-51
83
86
52
103
0
0
0
0
0
0
3
16
23
32
3
37
158
11
55
43
-70
0
0
0
0
0
0
0
26
-82
-13
-2
-22
196
55
17
48
-57
0
0
0
0
0
0
0
0
0
0
-4
0
12
9
29
32
-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
3
0
-47
-46
21
138
-8
0
0
0
0
0
0
2
0
0
0
0
132
-55
94
99
70
104
0
0
0
0
0
0
0
8
-1
3
-66
56
29
-30
98
59
26
0
0
0
0
0
0
5
-10
0
-9
17
33
115
-64
-46
-34
133
0
0
0
0
0
0
0
-18
-5
-14
76
8
82
25
18
95
155
0
0
0
0
0
0
0
-3
53
1
82
133
-52
29
-61
66
7
0
0
0
0
0
0
0
0
11
10
-34
42
1
47
115
-81
63
0
0
0
0
0
0
0
0
0
-5
2
14
58
-134
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
-42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
26
84
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
-26
-17
-45
62
0
0
0
0
0
0
0
0
0
0
4
9
-17
97
-23
22
-32
0
0
0
0
0
0
0
0
0
0
0
0
24
25
-1
100
25
0
0
0
0
0
0
0
0
3
0
0
24
3
-1
12
97
57
0
0
0
0
0
0
0
0
0
0
-2
6
0
27
38
-111
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-47
6
18
38
8
141
0
0
0
0
0
0
4
17
6
-50
-6
9
40
-12
46
29
17
0
0
0
0
0
0
1
0
-12
24
48
-63
-32
-12
241
232
36
0
0
0
0
0
0
0
-3
7
-2
0
-12
-78
23
-46
166
64
0
0
0
0
0
0
0
0
-3
2
1
-50
14
46
126
111
147
0
0
0
0
0
0
0
0
0
0
2
17
-4
-12
24
200
25
0
0
0
0
0
0
0
0
0
0
0
0
4
-142
37
113
139
0
0
0
0
0
0
0
0
0
0
0
0
-15
46
33
8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-80
-76
-46
0
0
0
0
0
0
0
0
0
0
0
0
-1
-51
9
5
41
0
0
0
0
0
0
0
0
0
-2
-4
6
3
-35
68
58
52
0
0
0
0
0
0
0
0
0
0
20
-1
16
32
54
57
16
0
0
0
0
0
0
0
0
0
-1
-8
-6
0
-32
65
264
82
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-51
41
51
69
0
0
0
0
0
0
0
0
0
0
0
0
-2
-65
-90
24
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-18
-84
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
4
-62
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
-3
0
0
0
0
0
0
0
0
0
8
0
1
-12
-29
-63
-42
-16
0
0
0
0
0
0
0
1
1
-1
2
5
24
-39
-14
2
-8
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-52
122
49
91
0
0
0
0
0
0
0
0
1
0
3
1
-38
19
49
-46
73
0
0
0
0
0
0
0
0
0
0
0
0
-22
40
-29
165
27
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
-36
-43
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-7
-40
-21
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
26
32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-22
0
0
0
0
0
0
0
0
0
0
0
1
-4
-8
-18
2
-1
0
0
0
0
0
0
0
0
0
-1
1
-10
4
-24
33
2
-27
0
0
0
0
0
0
0
0
0
1
0
0
-11
-5
79
55
32
0
0
0
0
0
0
0
0
0
0
-4
-10
61
-42
66
57
34
0
0
0
0
0
0
0
0
0
0
0
0
9
-46
-44
-4
4
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
-35
-34
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-44
-45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-65
58
-22
37
-1
20
3
18
0
0
0
0
0
0
1
1
0
51
100
-12
18
-9
-61
37
54
0
0
0
0
0
0
0
-2
-1
95
-16
31
105
-60
108
82
13
0
0
0
0
0
0
0
-1
-22
-86
-41
-4
-58
-2
47
46
74
0
0
0
0
0
0
0
1
3
-5
40
11
10
76
28
28
-24
0
0
0
0
0
0
0
0
2
0
-8
-12
80
6
37
-43
52
0
0
0
0
0
0
0
0
-4
1
0
4
-12
-75
-8
56
63
0
0
0
0
0
0
0
0
-2
0
0
-5
-9
1
22
-63
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
-34
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
2
44
-28
48
0
0
0
0
0
0
0
0
0
0
2
9
0
7
56
120
98
0
0
0
0
0
0
0
0
0
0
0
15
8
-19
28
28
-75
0
0
0
0
0
0
0
0
0
0
-2
1
19
-9
97
-57
6
0
0
0
0
0
0
0
0
3
1
0
0
-18
-6
-71
72
-14
0
0
0
0
0
0
0
0
5
-2
0
3
-18
26
13
74
-38
0
0
0
0
0
0
0
0
0
0
0
-4
1
32
-32
28
49
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-45
63
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-49
84
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
-1
-23
-10
0
54
-8
9
-6
50
-26
29
75
0
0
0
0
0
-6
-53
34
-15
65
15
74
30
-40
-31
82
-6
0
0
0
0
0
7
45
-14
33
-6
34
-14
84
11
49
-22
54
0
0
0
0
0
0
-41
-6
4
5
116
-4
-80
-49
84
78
-29
0
0
0
0
0
0
-9
-30
133
45
100
-45
-3
23
83
83
17
0
0
0
0
0
0
-3
-10
-16
-5
-84
5
3
1
19
35
-23
0
0
0
0
0
0
-3
1
27
-31
-49
-2
67
8
66
-21
6
0
0
0
0
0
0
0
6
0
11
-1
3
10
25
-33
-17
23
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
1
5
-12
-49
0
28
-24
-55
-96
-52
-76
13
0
0
0
0
2
0
1
20
-49
54
14
-17
13
-25
-37
-22
95
0
0
0
0
0
1
5
-32
-120
-27
66
2
-4
36
2
-22
85
0
0
0
0
0
0
4
-22
23
45
-28
53
-39
85
43
-83
-12
0
0
0
0
0
0
0
-20
51
110
18
-34
17
67
79
158
64
0
0
0
0
0
0
0
-11
63
-99
81
-7
-55
104
64
90
-54
0
0
0
0
0
0
-1
5
-67
-6
-10
-29
-61
121
-122
-45
-31
0
0
0
0
0
0
-3
1
7
-37
50
29
-16
-33
-10
-40
-7
0
0
0
0
0
0
0
0
1
-19
-17
57
-71
23
3
0
0
0
0
0
0
0
0
1
15
-23
0
-68
59
6
14
-7
12
0
0
0
0
0
0
0
0
3
1
1
129
-21
-50
-53
-16
-74
0
0
0
0
0
0
0
1
20
-3
-16
-19
-24
28
54
-15
-16
1
0
0
0
0
0
0
2
-3
21
-17
62
53
105
104
-18
-6
-1
0
0
0
0
0
0
0
0
-9
10
53
-14
-25
26
6
-2
2
0
0
0
0
0
0
2
24
71
0
15
20
37
16
-4
0
-1
0
0
0
0
0
0
0
-35
0
91
-34
-52
-7
-126
-4
-6
0
0
0
0
0
0
0
0
-20
-4
-46
-40
-10
-53
-2
0
0
0
0
0
0
0
0
0
1
-53
-37
-21
91
-1
-8
6
0
0
0
0
0
0
0
0
0
-2
-28
34
0
17
-49
-36
-23
49
0
0
0
0
0
0
0
0
-5
-34
39
-42
-3
-89
-29
59
70
-10
0
0
0
0
0
0
0
2
-10
16
110
98
34
52
-97
-55
-6
0
0
0
0
0
0
0
-6
13
-31
52
-37
61
-40
-137
65
-4
0
0
0
0
0
0
0
2
2
15
82
-16
-32
37
2
55
-29
0
0
0
0
0
0
0
-7
29
159
-12
-108
-56
-37
-60
-32
-2
0
0
0
0
0
0
0
0
-40
66
12
19
67
-95
-1
37
0
0
0
0
0
0
0
0
0
4
-38
40
34
6
-9
-19
-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
-4
-16
160
0
-24
56
-56
2
22
87
84
-55
0
0
0
0
0
3
19
-14
31
16
26
-84
32
10
129
25
-38
0
0
0
0
0
0
-23
-37
-61
25
12
76
133
68
44
48
-38
0
0
0
0
0
0
25
-91
10
-5
42
-34
50
-30
33
188
44
0
0
0
0
0
-1
0
43
-8
-91
42
26
-70
29
31
34
-32
0
0
0
0
0
0
0
-8
32
-48
14
-17
43
17
76
-38
22
0
0
0
0
0
0
0
17
-1
6
15
4
-54
-18
-20
-56
-15
0
0
0
0
0
0
0
1
-2
-5
5
27
0
11
2
-35
-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
40
0
2
28
5
-3
19
-13
-44
6
0
0
0
0
0
0
3
9
16
44
-4
-53
-51
158
49
23
74
0
0
0
0
0
0
0
23
2
-50
-30
-66
7
0
66
166
-32
0
0
0
0
0
0
0
-4
-80
43
1
-19
-58
-10
-22
61
3
0
0
0
0
0
0
0
50
10
-71
14
-141
-84
63
-18
-17
-19
0
0
0
0
0
0
0
-3
10
44
-116
5
28
-9
179
22
218
0
0
0
0
0
0
0
0
26
-4
17
-28
59
44
-109
-43
-44
0
0
0
0
0
0
0
0
38
29
-1
33
-3
-35
-14
-14
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
1
7
-3
-2
0
-8
-6
-2
0
0
0
0
0
0
2
11
4
-5
17
-13
3
-10
-4
41
16
0
0
0
0
0
0
0
-3
-6
-3
2
3
-13
0
-22
48
31
0
0
0
0
0
0
0
-1
3
-2
-25
4
10
3
45
33
63
0
0
0
0
0
0
0
-8
1
-6
-2
47
12
8
33
19
-42
0
0
0
0
0
0
0
0
-1
6
5
-3
-12
0
0
72
-42
0
0
0
0
0
0
0
0
3
-4
-18
23
0
-10
17
-11
-11
0
0
0
0
0
0
0
0
-3
0
0
-3
-7
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-44
4
68
18
-51
12
0
5
0
0
0
0
0
0
0
57
20
-58
-127
-124
25
30
118
51
19
0
0
0
0
0
0
0
88
-47
69
-14
16
28
-24
8
15
2
0
0
0
0
0
0
0
-10
51
41
-46
17
65
-3
-2
0
0
0
0
0
0
0
0
0
-87
15
-64
-5
18
2
7
0
0
0
0
0
0
0
0
0
0
-32
-83
85
-6
-16
23
-9
0
0
0
0
0
0
0
0
0
0
-34
-13
-66
19
-24
-22
0
0
0
0
0
0
0
0
0
0
0
-13
78
1
92
-24
-1
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
11
-7
9
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-57
0
-18
-9
2
0
0
0
0
0
0
0
0
0
0
12
-62
-41
-71
4
0
1
0
0
0
0
0
0
0
0
0
0
-27
7
42
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
20
9
81
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
43
41
-66
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
30
96
20
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
3
-49
-59
53
-36
9
-1
0
0
0
0
0
0
0
0
0
0
-10
45
-48
63
-55
-2
-3
9
4
0
0
0
0
0
0
0
0
-32
25
-182
37
106
23
8
-7
4
2
0
0
0
0
0
0
0
3
42
107
-114
46
-2
0
0
0
0
0
0
0
0
0
0
0
1
36
80
-70
-74
1
-2
0
0
0
0
0
0
0
0
0
0
-20
-74
75
-16
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-51
135
32
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
-2
-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
11
41
-110
-71
-14
4
-13
0
0
0
0
0
0
0
0
0
42
71
-24
28
-85
-83
-3
29
-1
0
0
0
0
0
0
0
0
10
30
-66
112
-17
-1
6
-7
0
0
0
0
0
0
0
0
0
-2
3
-115
-157
-6
-26
1
0
0
0
0
0
0
0
0
0
0
9
-14
164
151
-33
-9
0
0
0
0
0
0
0
0
0
0
0
2
5
1
-22
79
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-85
33
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
-4
-31
-17
133
137
-22
-162
-103
0
-3
0
0
0
0
0
0
0
-51
-86
110
31
-6
70
-45
-5
-104
1
0
0
0
0
0
0
0
-2
-17
-41
39
-67
-168
-126
34
-16
-8
0
0
0
0
0
0
0
55
23
7
152
102
85
25
63
77
0
-1
0
0
0
0
0
0
-11
24
-69
12
-71
107
-47
-6
3
-17
0
0
0
0
0
0
0
2
-107
-78
81
58
-44
36
73
3
0
0
0
0
0
0
0
0
40
16
79
-44
78
-52
148
-33
5
1
0
0
0
0
0
0
0
-35
13
-9
-55
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
1
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
38
-20
-10
-12
0
-5
-1
-5
0
0
0
0
0
0
0
0
-27
68
33
36
-5
7
0
-12
-7
0
0
0
0
0
0
0
0
0
-36
-17
35
11
-3
6
3
1
-14
0
0
0
0
0
0
0
0
-3
55
2
13
-10
3
19
2
-2
0
0
0
0
0
0
0
-2
40
1
43
-2
-9
4
-2
0
-26
0
0
0
0
0
0
0
0
-92
-21
2
-8
-4
0
0
-2
-2
0
0
0
0
0
0
0
-2
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
-3
53
-39
-55
-88
-9
-118
-68
0
114
-1
0
0
0
0
0
0
8
94
132
176
128
40
-33
64
-4
77
-203
-69
8
-1
0
0
0
-4
-7
116
-22
148
6
-79
-37
-68
-137
21
-13
0
-2
0
0
0
6
51
26
-12
55
33
49
116
97
-68
-17
-37
8
-2
0
0
0
-76
72
59
-18
-44
78
45
129
12
111
-91
22
0
0
0
0
0
1
84
-76
-103
-47
155
8
24
187
48
8
0
0
0
0
0
0
0
24
-145
26
81
19
57
35
45
23
0
0
0
0
0
0
0
0
0
-6
13
3
9
-25
50
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
16
1
84
-19
-18
-125
-10
0
-254
-150
-3
25
15
-1
0
0
0
103
43
-3
-17
-34
-89
-22
36
68
60
51
-26
57
-3
0
0
0
96
-21
61
2
4
-52
-21
21
-16
-64
-51
-10
96
-2
0
0
0
26
29
21
11
-9
5
32
86
-31
65
-24
34
15
5
0
0
0
39
62
64
32
1
14
-2
1
30
-82
40
-25
-9
12
0
0
0
62
32
40
18
13
-3
-21
3
-95
-50
72
-17
3
0
0
0
0
-2
81
-5
35
22
-7
10
-18
-126
18
-13
16
7
0
0
0
0
13
109
-21
116
-1
8
-7
-34
14
-68
-1
-1
0
0
0
0
0
1
3
15
-46
21
13
-109
36
15
-3
0
1
-7
0
0
0
0
0
38
26
74
-88
-20
11
0
-53
8
-3
0
0
0
0
0
0
-1
-51
-34
-107
66
-55
127
138
78
69
-33
0
0
0
0
0
0
1
-15
-62
50
-15
50
-21
-46
-62
-73
4
0
0
0
0
0
0
0
30
-166
-54
78
47
145
54
59
-15
-7
2
0
0
0
0
0
6
0
-32
52
109
164
60
33
28
16
0
0
0
0
0
0
0
0
7
23
-53
243
29
-25
-30
-23
-6
2
0
0
0
0
0
0
0
2
131
96
4
-1
132
-74
-7
-3
0
0
0
0
0
0
0
45
1
-16
20
38
13
29
42
-41
0
0
0
0
0
0
0
0
0
0
6
-4
81
-92
105
-1
1
0
0
0
0
0
0
0
0
0
-154
-116
-46
16
-83
90
0
-4
-22
-6
11
6
0
0
0
0
0
42
-4
19
20
-51
59
33
-29
-54
-96
-33
-12
0
0
0
0
0
54
-5
25
35
-47
19
58
27
56
54
66
2
-1
0
0
0
0
19
2
-38
94
-28
43
190
106
-9
-28
-53
-6
-1
0
0
0
0
-36
58
-24
71
42
106
197
141
-19
-21
12
1
7
0
0
0
0
-35
-60
45
34
65
55
171
113
27
98
-19
-2
0
0
0
0
0
-8
-17
-51
-58
67
127
157
101
7
32
47
-2
0
0
0
0
0
2
-10
112
-10
-88
54
137
140
-27
0
-7
0
0
0
0
0
0
0
0
0
-7
27
-7
1
0
0
0
0
0
0
0
0
53
7
-8
66
-20
-50
-111
16
0
43
50
16
0
0
0
0
0
108
-13
-17
-2
-126
-3
-46
27
57
46
-21
-25
2
2
0
0
0
-125
79
72
-52
52
35
-10
-23
-108
-100
78
-4
1
-1
0
0
0
12
120
0
86
84
84
45
46
62
76
35
59
0
0
0
0
0
-33
58
7
87
39
84
35
23
129
-37
46
-23
0
0
0
0
0
3
11
82
95
-39
89
103
24
2
8
19
-3
0
0
0
0
0
23
20
1
-92
33
46
109
-3
-140
-3
7
-9
0
0
0
0
0
-9
2
-21
-120
5
31
103
-58
-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
73
59
18
38
62
93
-74
43
0
66
20
0
0
0
0
0
0
28
40
183
46
-26
54
133
22
33
-26
14
9
0
0
0
0
0
12
88
38
99
25
28
-58
77
-92
-12
5
14
0
0
0
0
0
43
3
-80
143
52
33
-45
63
29
76
-35
-3
0
0
0
0
0
4
-147
116
51
55
-38
18
108
-31
-59
-45
0
0
0
0
0
0
35
0
30
83
43
-22
-2
40
75
-2
-27
1
0
0
0
0
0
-20
-19
53
24
46
67
54
-12
-9
55
0
0
0
0
0
0
0
0
-2
6
104
7
-73
-17
18
-14
-9
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
-3
0
-5
6
46
55
45
0
1
0
0
0
0
0
0
0
11
1
2
-2
5
21
-90
223
16
-52
4
0
0
0
0
0
0
1
6
0
-17
44
-56
44
37
31
22
1
0
0
0
0
0
0
0
2
-3
18
-16
-59
42
-71
61
-26
-6
0
0
0
0
0
0
0
23
-23
29
98
50
-114
-49
-118
-29
0
0
0
0
0
0
0
0
12
-20
-24
-15
74
-76
10
-29
9
-12
0
0
0
0
0
0
0
12
-3
-2
23
-56
-57
-59
26
1
-2
0
0
0
0
0
0
0
10
0
7
3
3
-1
-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
0
0
0
0
0
0
0
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
0
0
9
14
-1
0
0
0
0
0
0
0
0
0
71
101
0
0
115
69
-19
-11
0
-1
0
0
0
0
0
0
0
1
105
142
150
75
117
-10
7
-8
0
0
0
0
0
0
0
0
45
1
54
74
-14
-71
94
1
0
0
0
0
0
0
0
0
0
5
38
10
-2
7
-24
13
5
1
0
0
0
0
0
0
0
0
-72
-45
-77
-62
94
56
66
-7
9
0
0
0
0
0
0
0
0
-44
-54
-20
-82
-33
-19
4
-2
0
0
0
0
0
0
0
0
0
-14
-88
-111
-67
44
19
-2
0
0
0
0
0
0
0
0
0
0
0
-13
-9
57
2
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
0
0
0
0
-18
-116
0
0
11
-26
4
14
-1
0
0
0
0
0
0
0
0
5
161
226
100
90
-66
-2
0
0
0
0
0
0
0
0
0
0
-1
-33
33
56
18
-58
-5
0
0
0
0
0
0
0
0
0
0
0
-109
-8
35
41
13
0
-1
0
0
0
0
0
0
0
0
0
0
17
69
-79
67
4
-13
0
0
0
0
0
0
0
0
0
0
0
-17
-111
-115
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
109
0
0
102
135
47
0
0
0
0
0
0
0
0
0
0
36
37
99
73
-20
13
16
4
0
0
0
0
0
0
0
0
0
-1
56
89
20
2
11
-2
-2
0
0
0
0
0
0
0
0
0
-3
87
4
12
67
21
0
0
0
0
0
0
0
0
0
0
0
3
-80
-78
53
45
3
0
0
0
0
0
0
0
0
0
0
0
0
-36
-43
42
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-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
3
-93
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
68
89
0
0
14
-8
0
0
0
0
0
0
0
0
0
0
0
13
80
114
66
12
39
0
2
0
0
0
0
0
0
0
0
-2
1
100
4
56
-4
-17
8
4
0
0
0
0
0
0
0
0
0
80
-114
7
-15
98
14
0
0
0
0
0
0
0
0
0
0
0
21
-78
-25
29
-34
-1
0
0
0
0
0
0
0
0
0
0
0
12
6
25
5
159
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
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
-6
-21
-57
151
183
108
0
0
0
118
-5
0
0
0
0
0
0
20
-57
9
-73
252
116
0
0
0
43
24
-3
1
0
0
0
0
-8
-61
-26
39
154
173
120
177
65
-3
2
-2
0
0
0
0
0
3
5
-29
14
-6
9
11
25
83
-69
-1
0
0
0
0
0
0
1
5
34
117
33
-21
-28
-29
7
-5
0
0
0
0
0
0
0
-14
-37
-54
61
-44
-53
-98
-12
49
-49
14
1
0
0
0
0
0
-2
34
22
39
-33
15
-32
47
-30
-7
-4
-4
0
0
0
0
0
-1
0
-42
28
77
-33
-48
19
-15
-4
10
0
0
0
0
0
0
0
0
0
-6
-4
-11
10
69
-3
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
-5
-5
41
0
0
0
28
37
18
-5
0
0
0
0
0
0
-4
-6
3
58
30
60
49
-18
1
-6
-4
-4
0
0
0
-5
3
-20
-7
2
86
19
14
-135
10
-8
-2
0
0
0
0
0
-1
-7
-49
-95
59
-29
42
-57
41
-52
-11
0
0
0
0
0
0
-7
14
-19
-4
12
-166
-70
17
-16
-5
0
0
0
0
0
0
0
0
41
-57
-23
53
-51
-30
-1
-73
29
0
0
0
0
0
0
0
0
-7
-5
-8
2
-22
3
-83
-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
195
16
-48
8
52
54
0
0
0
0
0
0
0
0
0
0
0
-32
20
8
27
20
37
25
0
0
0
0
0
0
0
0
0
0
29
4
5
-53
31
77
-16
-2
0
0
0
0
0
0
0
0
0
-20
90
6
58
-52
29
-77
1
2
1
0
0
0
0
0
0
0
63
45
7
52
-47
-33
3
-73
24
-11
1
0
0
0
0
0
0
-14
62
93
-28
2
94
-85
-49
24
5
-11
0
0
0
0
0
0
56
-7
-75
35
-2
60
-30
54
-10
1
-11
22
0
0
0
0
0
3
-41
1
56
-52
54
54
24
-15
-5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
2
-28
-95
-26
72
183
230
0
0
0
0
3
0
0
0
0
0
-18
-38
-37
-40
9
130
196
0
0
47
30
-17
-1
0
0
0
0
-33
6
-22
0
15
-8
62
134
136
27
-13
51
-1
4
-1
0
0
6
-37
-14
-20
-41
23
57
36
184
-64
-72
11
0
0
0
0
0
-70
20
-7
12
-17
-16
53
111
17
6
13
31
40
-2
0
0
0
68
22
3
-5
-34
-92
-6
41
-22
-53
20
1
0
0
0
0
0
48
-1
-19
-18
23
-7
41
-55
-30
76
-17
9
0
0
0
0
0
0
22
9
5
-42
-52
-55
2
0
0
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-107
28
-43
30
99
193
0
0
11
0
0
-2
0
0
0
0
-16
-52
5
-19
22
82
87
102
32
9
-121
-18
10
0
0
0
0
-35
10
-26
-19
-7
38
42
58
35
-88
46
-59
-11
0
0
0
0
-19
-21
-24
-66
-28
-24
10
62
48
44
34
-63
4
0
0
0
0
6
40
-19
-27
-45
-7
25
12
-5
-6
-101
1
4
0
0
0
0
-30
-60
-65
-21
-41
-39
-13
-1
1
4
-25
48
3
0
0
0
0
26
-75
-38
-46
-38
-10
-5
-67
-60
45
42
-18
0
0
0
0
0
6
-69
-2
-15
-39
-121
-88
20
-48
35
-3
21
0
0
0
0
0
0
0
-46
81
26
-71
20
3
-9
0
3
0
0
0
0
0
0
43
165
200
166
294
350
117
0
0
0
0
0
0
0
0
0
0
172
53
60
89
195
164
129
-3
-52
0
0
0
0
0
0
0
0
81
-11
-21
-11
40
37
28
-77
2
-1
0
0
0
0
0
0
0
16
-99
-66
-41
23
91
51
-57
-19
-1
2
0
0
0
0
0
0
38
-59
-32
-107
-17
-81
-35
64
-16
3
0
4
0
0
0
0
0
-31
-21
-79
-3
-32
-29
-23
-27
-2
0
0
0
0
0
0
0
0
-20
-15
-59
-81
-131
-95
-21
-36
42
-24
0
0
0
0
0
0
0
18
-50
9
92
12
-90
-81
10
-65
0
0
0
0
0
0
0
0
-16
-28
-1
-18
-49
-37
2
32
0
0
0
0
0
0
0
0
0
-33
-39
-30
23
105
140
250
78
0
-2
0
0
0
0
0
0
0
-5
-32
-14
25
77
180
0
28
63
15
0
-8
0
0
0
0
0
32
14
15
25
109
142
69
85
-109
14
1
0
0
0
0
0
0
1
1
-14
8
-15
-7
147
37
36
21
-11
0
0
0
0
0
0
-24
-32
-1
27
-11
7
14
-21
30
3
-7
0
0
0
0
0
0
-44
-40
-43
-6
10
-96
-62
8
-14
-2
0
0
0
0
0
0
0
-63
-15
-59
-3
-52
-60
1
-72
-47
0
0
0
0
0
0
0
0
6
-32
3
52
-58
-26
-85
-14
0
0
0
0
0
0
0
0
0
0
0
-23
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
-50
-58
-52
-34
53
193
250
0
0
79
6
-1
0
0
0
0
0
-39
11
-9
-26
27
183
236
0
269
0
134
-56
8
-12
0
0
0
-66
-96
-34
-10
33
72
134
162
158
66
132
-20
0
0
0
0
0
120
-54
-30
-16
7
-17
33
24
36
-23
-12
-56
-3
0
0
0
0
-13
99
-4
2
12
-5
11
-29
-36
24
20
0
0
0
0
0
0
-44
43
20
25
51
-20
-37
-162
-98
121
13
2
1
0
0
0
0
7
-91
-99
-83
-28
7
36
-19
-140
-73
2
2
1
0
0
0
0
-2
13
38
-40
-9
-187
45
-26
-4
-4
25
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
64
-47
-41
86
80
224
172
309
0
0
0
0
0
0
0
0
0
35
-20
-119
10
33
51
151
0
-44
0
43
-4
0
0
0
0
0
82
39
-29
-103
-81
90
67
54
199
46
27
0
1
0
0
0
0
129
-22
-65
-49
28
138
46
53
95
58
-34
10
20
1
0
0
0
-56
17
17
-29
89
35
11
-165
31
36
51
-1
0
0
0
0
0
20
-12
90
-39
-19
61
64
-141
-61
-50
0
0
0
0
0
0
0
3
14
-14
-84
16
-81
-11
1
5
8
2
0
0
0
0
0
0
59
-33
19
60
-125
17
-30
-33
-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
10
87
-28
111
177
62
0
0
0
0
0
0
0
0
0
0
0
8
71
111
135
108
133
86
18
0
76
20
0
0
0
0
0
0
-2
48
-21
69
26
-18
14
52
81
-41
0
0
0
0
0
0
0
12
-20
-58
89
-37
-26
38
43
-20
-13
-16
0
0
0
0
0
0
-6
-24
-49
-122
29
-65
29
2
-66
1
4
1
0
0
0
0
0
-95
-111
-74
-18
-95
-89
-43
-27
-3
-61
7
0
0
0
0
0
0
-8
-113
-39
-86
-90
-80
-66
43
19
-24
5
0
0
0
0
0
0
-1
42
30
-40
-2
-17
7
-8
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
49
-73
10
-39
-15
-84
-43
0
0
0
0
0
0
0
0
0
13
44
64
-26
-7
-29
-30
53
-20
3
0
0
0
0
0
0
0
22
70
60
-7
-2
-5
36
0
-13
0
0
0
0
0
0
0
0
122
63
24
61
-1
-5
6
0
3
0
0
0
0
0
0
0
0
74
76
46
-43
165
-32
0
0
0
0
0
0
0
0
0
0
0
12
67
35
-3
-116
-1
0
0
0
0
0
0
0
0
0
0
0
7
-40
-1
-62
-20
21
0
0
0
0
0
0
0
0
0
0
0
-53
8
-58
66
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
81
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
49
-28
54
-56
3
0
0
0
0
0
0
0
0
0
0
0
8
128
-25
19
-62
10
0
0
0
0
0
0
0
0
0
0
0
13
79
68
7
-9
3
-2
1
0
0
0
0
0
0
0
0
0
-56
111
155
-45
-29
0
0
0
0
0
0
0
0
0
0
0
0
-29
60
-129
19
-8
9
0
0
0
0
0
0
0
0
0
0
0
4
34
16
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
-17
15
-38
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
26
-2
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
3
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-29
-43
-11
-85
-12
2
0
0
0
0
0
0
0
0
0
-41
54
91
-16
62
17
-40
-1
0
0
0
0
0
0
0
0
0
59
-102
11
52
-8
-33
-5
0
0
0
0
0
0
0
0
0
0
-59
37
-27
120
24
2
0
0
0
0
0
0
0
0
0
0
0
-51
170
15
94
34
-1
0
0
0
0
0
0
0
0
0
0
0
-9
38
38
110
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
22
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-93
16
-15
0
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
0
0
-79
-28
21
19
-23
-23
-1
0
0
0
0
0
0
0
0
0
-17
61
60
74
-2
-39
-28
15
3
0
0
0
0
0
0
0
0
36
58
89
-37
100
-44
-1
-4
0
0
0
0
0
0
0
0
0
-6
49
75
69
32
-22
0
0
0
0
0
0
0
0
0
0
0
1
75
42
55
21
26
4
0
0
0
0
0
0
0
0
0
0
-2
27
-27
-13
-49
3
0
0
0
0
0
0
0
0
0
0
0
-6
50
-21
-3
-15
-8
0
0
0
0
0
0
0
0
0
0
0
9
-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
0
0
0
0
0
0
7
-37
56
51
119
43
-17
-35
0
12
3
0
0
0
0
0
0
-111
43
-10
-48
42
-20
61
-129
16
-11
0
0
0
0
0
0
0
-5
79
14
-58
5
90
-8
75
50
8
0
0
0
0
0
0
0
-15
77
137
166
-89
-29
48
-20
9
16
-2
0
0
0
0
0
0
47
41
5
118
22
-46
-8
0
-3
4
0
0
0
0
0
0
0
-3
0
23
72
38
-12
8
-5
3
-6
0
0
0
0
0
0
0
-6
55
-30
10
12
4
-2
0
-7
10
0
0
0
0
0
0
0
-12
-10
1
41
-5
-1
1
-1
-55
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
-41
11
-5
-18
-1
0
0
0
0
0
0
0
0
0
0
0
4
-72
-35
14
-21
-2
0
-2
11
0
0
0
0
0
0
0
0
2
133
32
4
-3
-1
0
0
2
0
0
0
0
0
0
0
0
85
82
-71
87
0
2
-29
0
-1
0
0
0
0
0
0
0
0
-54
-48
-15
63
-44
-3
0
1
7
-7
0
0
0
0
0
0
0
0
66
50
-23
-6
2
5
0
0
0
0
0
0
0
0
0
0
31
-84
156
-14
4
-9
0
0
0
0
0
0
0
0
0
0
0
-60
-40
22
-41
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
199
26
74
-33
123
46
-28
0
-20
1
97
9
0
0
0
0
123
180
98
60
206
14
18
22
-1
76
-17
96
38
0
0
0
0
75
106
149
177
131
145
-59
-57
-60
13
37
-81
22
-3
-1
0
0
-68
147
91
50
73
-4
176
140
77
93
38
58
5
5
0
0
0
30
84
50
33
121
89
62
-97
159
-106
-43
22
-6
0
0
0
0
8
-46
12
140
-2
-21
99
7
-71
27
-22
0
0
0
0
0
0
20
43
-24
37
-38
-47
13
45
98
-32
-15
0
0
0
0
0
0
41
1
-36
0
3
-4
0
11
-50
10
0
0
0
0
0
0
0
3
0
1
1
0
0
0
10
1
1
0
0
0
0
0
0
0
0
-43
-23
-14
24
31
-22
48
0
-118
-54
77
-20
0
0
0
0
0
-33
-71
0
10
-2
-42
-22
-46
-118
83
11
68
-14
12
0
0
0
-5
13
51
0
12
-14
-116
-170
-103
-10
101
-12
6
0
0
0
0
-105
-8
0
29
0
9
-17
-106
-35
-22
73
-7
-9
0
0
0
0
-22
17
-40
-2
-5
-4
-53
-73
-8
99
33
-25
34
0
0
0
0
-43
-126
-39
-34
-33
22
-48
-23
63
-38
80
-16
1
10
0
0
0
-61
-76
-17
38
21
2
-64
-75
19
11
5
-5
0
0
0
0
0
-62
-29
25
-43
-80
-54
-18
-95
36
-40
9
-5
0
0
0
0
0
-1
3
-26
36
-104
-48
78
-23
121
15
0
0
0
0
0
0
0
-22
-75
-6
143
39
-104
179
0
7
55
36
-1
6
12
-5
0
0
39
60
59
164
0
-80
-97
-12
16
-72
133
32
8
18
6
6
0
61
-90
126
77
20
53
-78
-117
-11
-35
6
-81
7
-4
-7
0
0
13
91
122
-110
-64
-7
31
48
67
6
15
-42
-15
0
-1
0
0
-7
29
34
31
9
61
63
71
39
-48
-69
14
-3
-4
0
0
0
-5
-61
44
66
26
-44
68
-14
3
2
40
-90
-14
0
-1
0
0
1
-48
45
64
8
4
72
-79
-21
-36
15
-47
-18
-8
-8
0
0
0
1
-1
36
-55
-23
-38
19
15
3
67
46
-4
1
-4
7
0
0
0
11
71
18
37
53
-32
-20
-2
-31
-24
-1
-9
3
0
0
0
29
90
119
136
17
-20
0
38
-18
-13
-9
-1
0
0
0
0
0
9
148
148
98
-44
-13
-8
87
29
116
59
-17
4
0
0
0
0
-48
61
31
71
-27
-154
-96
-15
6
-10
-35
-1
0
0
0
0
0
-1
37
34
98
-103
-54
-1
-10
21
3
-61
0
2
0
0
0
0
6
6
-1
24
96
-23
49
19
-74
-7
29
2
0
0
0
0
0
3
51
90
-18
-20
37
-16
8
-4
11
52
6
-5
0
0
0
0
-1
25
64
1
40
4
-27
-8
24
-40
-25
7
-2
0
0
0
0
-2
1
24
-35
44
-37
-95
-45
-109
-33
-8
5
0
0
0
0
0
0
0
0
-1
36
3
0
0
0
0
0
0
0
0
0
11
110
104
85
52
64
-7
93
0
-26
59
97
-1
0
0
0
0
13
47
140
37
0
32
-7
-25
16
47
54
80
33
4
0
0
0
68
64
46
86
-14
11
51
-43
-26
65
43
-50
29
-4
4
0
0
189
75
103
83
72
23
36
79
68
-12
-59
-81
7
-1
0
0
0
6
29
63
86
-12
58
-36
107
138
57
-18
35
-3
-1
0
0
0
50
32
112
47
4
0
-52
31
32
119
-43
-7
0
0
0
0
0
-2
-74
205
92
139
30
-26
-49
-3
59
-2
-1
0
0
0
0
0
1
72
-87
13
2
-64
-6
-27
55
27
4
0
0
0
0
0
0
0
14
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
107
-81
16
74
28
83
-43
135
0
-36
4
2
0
0
0
0
0
72
20
164
183
44
115
121
-27
8
-65
20
3
2
0
0
0
0
56
183
100
36
0
141
30
-93
-114
55
-3
-5
0
0
0
0
0
48
63
175
83
-95
-16
22
84
27
11
19
-8
1
0
0
0
0
12
69
158
37
-65
-44
68
2
55
23
26
-1
2
0
0
0
0
-79
28
128
-3
62
-8
73
45
-83
2
-1
-8
0
0
0
0
0
9
3
29
-54
7
21
76
-45
-57
18
0
7
0
0
0
0
0
0
12
5
6
4
-38
-6
-8
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
0
10
0
15
-5
-18
1
21
9
0
23
0
0
0
0
0
0
0
22
-15
52
0
35
1
14
-2
-109
-107
18
0
0
0
0
0
0
-3
21
16
-64
59
-61
-12
7
-18
-33
-18
0
0
0
0
0
0
12
34
-25
23
69
-13
-52
1
-4
1
0
0
0
0
0
0
0
-4
24
24
35
20
-17
13
4
-35
0
0
0
0
0
0
0
0
-1
7
9
-2
14
-12
20
0
-1
-5
0
0
0
0
0
0
0
0
6
1
0
-1
16
-11
2
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-77
38
0
-1
0
0
0
0
0
0
0
0
0
12
0
0
65
-6
56
33
-3
4
0
0
0
0
0
0
0
2
27
329
329
111
17
-101
2
4
0
0
0
0
0
0
0
0
0
-79
71
277
151
32
-12
14
0
0
0
0
0
0
0
0
0
-8
-22
64
149
63
-40
-84
-4
-2
0
0
0
0
0
0
0
0
-8
-70
30
-60
1
46
-36
7
1
0
0
0
0
0
0
0
0
4
-27
74
-30
15
-59
58
-1
0
0
0
0
0
0
0
0
0
0
0
-25
-23
66
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
74
51
-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
8
-59
-12
-2
0
0
0
0
0
0
0
0
0
0
0
205
202
40
6
17
0
0
0
0
0
0
0
0
0
0
0
0
37
203
-193
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
31
-42
-7
2
0
0
0
0
0
0
0
0
0
0
0
9
3
-8
56
-1
2
0
0
0
0
0
0
0
0
0
0
0
9
3
-124
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
56
-6
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
35
65
9
0
0
0
0
0
0
0
0
0
0
0
25
234
198
79
-15
70
1
5
0
0
0
0
0
0
0
0
0
8
-41
255
13
-26
8
15
0
0
0
0
0
0
0
0
0
0
6
-3
28
-90
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-65
110
54
13
0
0
0
0
0
0
0
0
0
0
0
0
2
13
32
6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
46
0
0
0
0
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
8
10
0
0
0
28
-4
4
0
0
0
0
0
0
0
0
0
-10
2
0
0
33
7
0
8
-1
0
0
0
0
0
0
0
0
0
96
260
226
141
-56
2
3
0
0
0
0
0
0
0
0
0
7
-3
9
173
-74
-18
11
1
0
0
0
0
0
0
0
0
0
12
-44
-91
74
-40
62
-4
0
0
0
0
0
0
0
0
0
0
1
53
-43
-47
-78
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-15
-178
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-59
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
38
-31
11
21
-44
50
0
0
0
-19
-8
0
0
0
0
0
-9
-84
-30
14
-32
0
12
0
0
0
73
0
-6
-13
0
0
0
8
-66
142
87
-12
32
14
138
215
137
3
19
-11
1
0
0
0
-1
44
24
58
-17
26
-43
86
290
94
-77
56
0
0
0
0
0
-1
-79
72
41
-61
-116
-27
57
155
-22
70
18
0
5
0
0
0
0
-28
116
29
39
-23
29
-10
3
-17
81
-33
-1
0
0
0
0
0
58
21
-10
-20
-53
7
-63
-92
-101
-118
-29
-1
0
0
0
0
0
0
42
-5
-14
91
0
-19
-84
-14
-92
0
6
0
0
0
0
0
0
0
0
0
0
13
-2
-89
9
-12
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-23
-3
-2
0
0
0
0
0
4
0
1
6
24
5
0
0
0
-21
-28
-3
14
0
0
0
0
9
-1
6
-14
-6
-1
-23
-56
51
-19
31
-2
0
0
0
0
0
-4
-19
35
11
-26
17
61
71
282
-92
-2
-6
0
0
0
0
0
-4
75
-2
17
-31
14
106
107
90
-40
-11
-2
0
0
0
0
0
0
-19
3
-18
-25
26
67
39
198
-65
6
0
0
0
0
0
0
0
29
4
6
18
-18
220
49
114
-49
10
0
0
0
0
0
0
-2
-2
0
0
0
-8
27
153
23
61
5
0
0
0
0
0
0
0
0
0
0
0
0
4
115
-25
4
0
0
0
0
0
0
47
18
26
-12
-10
-58
-5
0
0
0
0
0
0
0
0
0
0
-57
-16
28
-1
67
57
16
0
0
0
0
0
0
0
0
0
0
-16
14
17
1
33
-51
-23
7
0
3
0
0
0
0
0
0
0
41
2
-8
31
16
86
45
16
-1
-1
0
0
0
0
0
0
0
50
21
14
11
-59
-91
17
46
-17
8
0
0
0
0
0
0
0
6
-22
0
14
0
57
-6
5
-7
7
0
0
0
0
0
0
0
-70
-23
-12
32
27
17
94
-22
5
0
-8
0
0
0
0
0
0
-22
-89
-10
25
110
60
4
-6
12
2
14
0
0
0
0
0
0
0
46
-2
-28
-11
8
8
0
0
0
0
0
0
0
0
0
0
-35
-9
13
6
61
17
118
0
0
0
88
-46
-5
0
0
0
0
37
8
10
16
32
124
110
0
0
261
-40
3
0
1
-5
0
0
3
0
17
30
55
83
83
159
203
96
2
93
-1
0
-16
0
0
-1
14
17
7
43
61
71
-25
277
79
35
-23
0
0
0
0
0
-23
8
-5
-19
-10
3
-9
-142
-13
-57
-33
-34
-5
0
0
0
0
-26
-14
-32
-17
-3
-31
-2
45
-81
-54
0
1
0
0
0
1
0
-36
-24
-49
-33
83
103
-27
-50
-62
-22
-40
2
0
0
0
0
0
-2
-52
62
50
-53
-28
-1
9
-71
-1
-27
0
0
0
0
0
0
0
32
-8
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
-120
20
2
33
27
44
99
0
0
52
-68
-16
0
0
0
0
0
31
5
15
1
37
16
62
117
-14
-9
52
41
0
0
0
0
0
-118
-33
3
19
28
8
-4
51
58
176
20
15
0
0
0
0
0
-73
27
6
0
26
2
-38
-72
-19
95
-80
-20
1
0
0
0
0
41
-27
0
-22
-24
-23
-1
-75
78
-48
-4
12
-2
0
0
0
0
-33
-46
-35
-40
-35
-33
-18
14
101
-123
0
4
0
0
0
0
0
-11
-23
-30
-34
-26
-7
-50
7
-162
30
25
0
0
0
0
0
0
-38
7
50
2
-30
-20
9
-38
-89
-93
1
0
0
0
0
0
0
-7
-18
15
-8
-8
57
81
46
-16
0
12
0
0
0
0
0
0
25
5
77
83
152
144
-38
0
0
0
0
0
0
0
0
0
0
34
25
3
69
81
78
-21
-4
-1
0
0
0
0
0
0
0
0
-26
5
-1
-4
65
22
-42
-55
-9
0
0
0
0
0
0
0
0
-24
-7
17
91
39
41
35
-44
0
0
3
0
0
0
0
0
0
-20
-30
-2
-7
99
46
24
-47
-5
-1
0
0
0
0
0
0
0
-7
-17
-1
-50
30
72
124
-44
-32
-7
-3
0
0
0
0
0
0
-6
9
9
22
-21
107
-15
51
-18
23
0
0
0
0
0
0
0
44
22
-10
-7
78
-26
73
-7
-13
0
0
0
0
0
0
0
0
-13
-46
-6
15
38
-73
-23
48
1
0
0
0
0
0
0
0
0
-2
25
30
56
76
75
137
47
0
0
-1
0
0
0
0
0
0
-31
-13
-11
44
65
58
0
-33
153
-14
-2
0
0
0
0
0
0
-8
-6
16
40
80
9
74
-45
-1
-1
1
0
0
0
0
0
0
-47
28
-17
-35
-57
21
47
17
-40
-4
-5
0
0
0
0
0
0
30
-24
26
26
0
-65
44
-22
112
0
0
0
0
0
0
0
0
-14
-13
-17
-7
14
-68
-112
-121
-33
4
0
0
0
0
0
0
0
-10
-5
-20
-74
83
14
-177
-55
-66
-1
0
0
0
0
0
0
0
-9
39
2
-83
-30
56
-55
44
9
0
0
0
0
0
0
0
0
0
6
-37
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-59
-12
25
27
20
90
191
0
0
-33
-10
64
5
0
0
0
0
-92
3
21
19
46
38
141
0
182
0
74
42
7
-1
0
0
0
10
-18
5
33
60
44
46
7
176
11
-47
1
2
0
0
0
0
69
23
9
31
14
-46
-2
-60
226
-43
-52
57
4
0
-1
0
0
51
1
1
-3
51
-12
-26
88
61
44
-88
-1
0
3
0
0
0
-74
2
46
-55
20
21
-19
-40
14
-129
19
-23
0
0
0
0
0
39
-95
7
-104
75
-56
-32
5
-80
-85
-4
0
0
0
0
0
0
-9
-35
-157
-47
36
-48
-54
1
-9
-13
12
0
0
0
0
0
0
0
-1
-1
-1
-2
0
0
0
-14
16
-1
0
0
0
0
0
0
-33
-80
37
72
89
-82
-83
-4
0
106
50
3
-15
0
0
0
0
73
-78
17
48
24
75
8
0
116
0
-11
16
0
0
0
0
0
-56
40
-37
-56
36
-4
25
114
231
97
57
22
-5
0
0
0
0
-50
5
-27
-17
77
9
102
103
143
72
34
13
-7
0
0
0
0
-25
-17
76
-48
17
-9
3
-79
88
135
0
-2
2
0
0
0
0
7
-58
4
-119
-34
-19
-18
-1
33
-70
-24
1
0
0
0
0
0
49
31
-81
-137
94
77
-15
-23
-44
-56
-4
0
0
0
0
0
0
-1
-48
37
33
-75
-16
9
-21
9
-24
0
0
0
0
0
0
0
1
-13
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
-100
19
-40
11
0
0
0
0
0
0
0
0
0
0
0
-10
1
-18
-65
13
-3
-2
0
0
0
5
0
0
0
0
0
0
0
54
-6
6
-54
-1
-9
0
-9
54
-4
0
0
0
0
0
0
0
-26
6
32
8
-6
-2
0
25
94
1
0
0
0
0
0
0
-3
74
-113
16
40
-4
-1
-35
17
9
-3
0
0
0
0
0
0
-16
-22
-58
24
-15
-1
-2
-7
67
193
5
0
0
0
0
0
0
-3
-1
-5
-2
17
-5
0
-13
-48
167
2
0
0
0
0
0
0
-2
-18
-42
0
-5
-1
0
-5
95
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
4
0
0
0
0
0
31
4
0
0
0
0
0
0
0
-31
29
-58
43
13
-32
11
116
-9
10
0
0
0
0
0
0
-30
6
-8
62
91
4
-6
-30
-22
-20
7
0
0
0
0
0
0
73
-32
75
32
41
-79
44
4
3
12
2
0
0
0
0
0
0
-42
-56
-61
47
26
-4
-1
-7
1
0
0
0
0
0
0
0
0
-60
135
112
1
57
-28
1
13
0
0
0
0
0
0
0
0
0
-85
-29
17
-24
31
-12
4
0
0
0
0
0
0
0
0
0
0
65
45
35
-117
-12
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-4
0
-2
0
-1
3
-9
-3
3
-6
0
0
0
0
0
0
0
1
-13
-36
-49
7
1
-1
0
-4
0
0
0
0
0
0
0
0
1
-28
-33
-46
-11
-1
0
0
-2
0
0
0
0
0
0
0
0
-2
27
-9
18
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
16
59
64
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
30
36
20
4
0
0
0
0
0
0
0
0
0
0
0
0
8
55
-94
-22
-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
-14
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
1
16
-7
1
21
2
47
4
15
8
0
0
0
0
0
0
9
-41
27
-6
-8
-5
2
-1
-7
-2
0
0
0
0
0
0
0
-6
25
-55
-47
-46
8
-12
0
6
0
0
0
0
0
0
0
0
0
13
-29
12
-24
-12
1
0
0
0
0
0
0
0
0
0
0
3
-6
54
90
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-19
-24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
3
0
-1
-53
22
-17
-7
0
0
0
0
0
0
0
-9
138
4
12
-16
-4
-2
5
1
0
0
0
0
0
0
0
0
13
-36
64
-52
-38
-1
0
0
0
0
0
0
0
0
0
0
0
-74
66
66
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
-14
-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
-1
0
-1
-3
4
-5
0
0
123
-6
0
0
0
0
0
0
0
-14
-33
-50
-76
-103
-92
75
51
129
3
0
0
0
0
0
0
-3
-10
-46
73
-35
79
-129
-73
-96
-133
3
-3
0
0
0
0
0
-114
-3
63
-4
18
49
39
122
47
-49
1
0
0
0
0
0
0
26
65
40
16
27
13
-70
-61
15
12
0
0
0
0
0
0
0
30
51
-5
-7
-20
27
15
-46
6
-2
0
0
0
0
0
0
0
-13
14
-6
1
47
-61
27
-1
-20
-3
0
0
0
0
0
0
0
0
-35
-12
18
10
18
1
8
0
-6
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
6
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
1
3
-4
0
0
0
0
0
0
0
0
-15
-2
0
2
-1
0
12
0
0
0
0
0
0
0
0
0
0
25
15
-5
-1
-2
1
5
2
0
0
0
0
0
0
0
0
-1
55
-81
43
-7
2
-8
-1
0
0
0
0
0
0
0
0
0
-7
9
-1
28
-5
-12
-1
0
0
0
0
0
0
0
0
0
0
3
51
1
32
6
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-16
-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
-2
0
0
1
11
-6
77
0
29
41
48
-13
17
0
0
0
0
0
8
-11
43
88
-1
-1
-74
110
0
85
-15
34
-8
0
0
4
6
-103
-14
87
36
-62
-16
-138
-75
-158
56
20
-14
0
0
0
-5
16
30
-49
-41
27
-23
37
141
64
-76
1
7
0
0
0
0
-14
41
-146
36
22
41
57
80
53
108
-63
-88
0
0
-7
0
0
-40
-1
38
130
18
78
51
150
-69
-32
32
-1
0
0
0
0
0
0
-22
-5
-93
109
69
-11
61
16
41
0
0
0
0
0
0
0
0
1
4
-4
-76
-92
-16
60
1
-3
3
-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
-50
-24
-3
-16
-69
-3
0
-68
-119
-119
-115
-9
4
0
0
0
3
73
-34
47
27
-84
-65
-19
-53
-166
-16
58
81
-63
10
0
0
178
156
43
57
-4
4
-2
44
26
17
-10
-36
-28
12
0
0
0
36
153
39
46
35
1
1
15
10
43
-80
-67
-13
20
0
0
0
50
-6
6
15
3
-23
4
32
-71
-59
-38
7
-46
-3
1
0
0
101
41
-5
30
-2
-8
-9
-5
-52
-2
-63
8
45
-1
0
0
0
28
59
-14
49
-17
-49
-4
7
26
48
112
139
-27
1
0
0
0
92
104
-48
-49
-50
-8
-4
1
56
-20
-14
-44
-2
-9
0
0
0
0
-14
-7
55
-9
46
53
23
23
-49
-38
2
-8
0
0
0
0
0
0
0
-3
4
14
83
0
-13
13
23
9
0
0
0
0
0
0
-1
19
-11
22
72
162
25
-39
-10
70
42
12
1
0
0
0
0
0
-24
-9
46
73
123
5
-56
19
-36
-1
-6
-4
0
0
0
0
14
6
105
8
33
65
-55
101
-40
11
7
0
1
0
0
0
0
3
65
134
49
173
-18
52
15
-3
-18
-1
-2
0
0
0
0
0
0
-34
-19
25
5
-63
-3
89
0
1
0
-1
0
0
0
0
0
1
-4
-29
30
-65
-74
-16
-37
-6
0
0
0
0
0
0
0
0
-32
1
-38
-71
-43
35
12
16
-21
0
0
0
0
0
0
0
2
0
0
0
-42
8
-68
3
1
-4
0
0
0
0
0
0
0
0
0
-5
34
-19
-100
-28
0
4
47
-5
51
-2
1
2
0
0
0
-10
70
194
-30
23
109
10
33
-67
123
102
29
42
-1
0
0
0
-11
152
-51
15
6
31
24
60
24
85
92
16
-5
3
0
0
0
2
42
62
-37
-38
2
110
0
24
35
7
-4
-2
8
0
0
0
-18
118
211
-21
23
86
127
-34
-17
-18
-10
3
0
0
0
0
0
-1
58
60
-2
25
56
77
33
-114
76
87
1
0
0
0
0
0
-1
1
48
-38
-11
-10
71
24
38
-105
-35
-2
0
0
0
0
0
0
-5
-63
71
140
29
62
-20
-108
28
-1
1
0
0
0
0
0
0
-2
0
-2
56
-16
45
0
0
0
0
0
0
0
0
-9
0
0
0
-11
-30
-57
96
0
-30
28
-29
10
6
0
0
0
16
-3
42
-2
10
26
-115
-96
-10
33
89
97
-24
-10
19
0
0
-5
45
81
-18
14
-68
-60
0
-47
-44
-64
55
17
7
0
0
0
-10
119
73
83
43
-65
7
80
-9
57
59
28
19
0
0
0
0
-3
-8
-30
-66
145
19
58
124
4
82
-48
7
-1
-5
0
0
0
1
16
18
24
68
52
159
124
89
41
0
0
-4
0
-4
0
0
0
-1
20
0
55
52
-26
5
90
-1
8
0
6
0
0
0
0
0
8
-3
-27
202
-4
79
105
54
-5
1
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
-4
35
-31
28
-53
0
8
-65
11
-1
10
-3
0
0
8
5
0
-55
52
2
3
20
62
16
-36
56
10
-2
4
0
0
-7
-2
-23
-65
8
29
-140
-8
47
88
24
-31
-11
0
0
0
0
0
-120
-36
74
126
77
-124
141
163
44
12
-6
0
0
0
0
0
8
60
176
-83
68
-76
40
106
90
106
19
0
0
0
0
0
0
0
42
40
68
100
-89
69
73
57
47
14
0
0
0
0
0
0
1
1
-13
1
-33
64
-59
10
40
24
2
0
0
0
0
0
0
-1
-14
4
45
71
30
-66
-34
-110
-7
1
0
0
0
0
0
0
0
0
0
0
0
-17
-22
-18
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
52
1
0
0
0
0
0
0
0
0
0
-2
1
32
-2
67
9
88
-2
0
0
0
0
0
0
0
0
5
-1
0
-9
-2
-39
-75
7
-10
0
0
0
0
0
0
0
0
0
5
4
7
43
130
-41
-2
7
0
0
0
0
0
0
0
78
-5
1
-17
17
1
-13
-23
-1
0
0
0
0
0
0
0
-8
-9
17
-6
-4
9
-2
-42
-6
-6
0
0
0
0
0
0
0
3
11
17
-3
-2
-3
-7
3
-29
0
0
0
0
0
0
0
0
0
0
1
0
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
11
9
4
0
0
0
0
0
0
0
0
71
0
0
92
104
31
22
-53
-1
11
0
0
0
0
0
0
19
118
66
117
92
5
132
99
-30
-1
0
0
0
0
0
0
0
-17
9
25
1
67
48
20
37
-17
8
-3
0
0
0
0
0
0
41
15
-7
-55
64
-37
-69
-32
-8
-9
0
0
0
0
0
0
0
-51
80
-34
-78
45
-38
-10
6
-7
0
0
0
0
0
0
0
0
32
-30
4
32
-12
-40
-32
-7
0
-1
0
0
0
0
0
0
0
8
-92
-16
-86
73
-51
4
0
0
0
0
0
0
0
0
0
0
0
-6
6
17
-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
0
0
0
0
0
3
-1
2
5
-1
1
0
0
0
0
0
0
0
0
65
237
38
89
44
-15
-3
-4
-3
0
0
0
0
0
0
0
0
-44
-3
74
48
53
-12
0
0
0
0
0
0
0
0
0
0
0
89
4
-139
-14
-29
3
0
0
0
0
0
0
0
0
0
0
0
-44
-113
-57
-22
-83
5
0
0
0
0
0
0
0
0
0
0
0
-27
-46
15
31
-79
-3
0
0
0
0
0
0
0
0
0
0
0
11
-91
9
-64
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
49
78
7
12
1
0
0
0
0
0
0
0
0
-41
0
0
6
65
-5
-10
-13
-12
0
0
0
0
0
0
0
0
6
46
146
192
46
-4
-5
-5
4
0
0
0
0
0
0
0
20
20
9
104
15
-67
16
4
0
0
0
0
0
0
0
0
0
-26
-30
31
-58
9
-87
15
0
0
0
0
0
0
0
0
0
0
0
-72
79
-20
-65
-25
-5
-3
1
0
0
0
0
0
0
0
0
0
-2
-11
-7
-29
0
-7
-3
0
0
0
0
0
0
0
0
0
0
12
-7
-10
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
2
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
54
20
9
10
-2
0
0
0
0
0
0
0
0
6
176
72
173
66
71
5
-4
-1
0
0
0
0
0
0
0
0
3
-59
-41
-8
9
80
-18
5
-2
11
0
0
0
0
0
0
0
-6
-44
81
141
82
16
4
1
0
0
0
0
0
0
0
0
0
-15
-121
41
-77
-59
14
0
0
0
0
0
0
0
0
0
0
0
-9
-9
-30
-87
19
-21
3
-2
0
0
0
0
0
0
0
0
0
0
-51
78
-8
-55
5
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
-2
0
10
0
0
0
87
21
0
5
0
0
0
0
0
0
0
-14
-8
10
0
0
0
144
29
-2
-8
-1
0
0
0
0
0
-15
147
26
85
173
115
225
54
13
6
9
0
0
0
0
0
22
-88
-138
0
62
34
158
2
54
-10
44
-13
-1
0
0
0
0
-16
4
60
53
-4
-71
62
-25
69
-33
1
-6
11
0
0
0
17
-45
1
29
77
5
92
52
-48
-28
4
3
-3
0
0
0
0
0
2
54
-59
115
-39
10
-24
18
-37
-1
15
8
0
0
0
0
0
0
30
-2
10
16
35
67
95
-54
2
-4
0
0
0
0
0
0
0
0
-1
12
-2
21
-73
-1
-3
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
5
14
12
-3
11
0
0
0
0
0
0
0
2
-8
92
109
-33
54
3
0
-2
0
0
0
0
3
0
0
-1
-6
24
39
102
28
16
-10
0
5
-1
0
0
0
5
42
91
-8
2
-47
-41
-109
-44
-6
6
-10
0
0
0
0
0
0
23
3
-61
64
45
-23
-32
58
-47
0
0
0
0
0
0
0
0
-20
-4
2
-1
-23
-59
46
-94
-6
1
0
0
0
0
0
0
9
0
0
-4
-1
1
-91
56
19
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
11
-5
41
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
42
-73
88
28
-3
37
-1
0
0
0
0
0
0
0
0
0
0
-19
-51
55
-37
-98
-69
29
0
1
0
0
0
0
0
0
0
0
14
25
1
-153
-32
28
5
10
-13
-2
3
0
0
0
0
0
0
55
-22
34
21
4
-20
4
25
40
-2
-1
0
0
0
0
0
0
-2
139
-16
58
26
0
16
52
45
16
2
-5
-4
-7
0
0
0
-4
-44
65
54
66
95
58
-5
-45
60
-5
25
-13
4
2
0
0
0
44
-35
52
37
-2
22
30
-95
-8
8
-5
0
3
-2
0
0
0
0
0
0
22
3
16
-19
-1
-18
0
0
0
0
0
0
0
10
-46
-117
-14
-25
26
2
0
0
0
160
-3
3
8
-1
0
0
-120
-92
-64
-54
-9
-4
9
0
0
321
106
12
83
-21
-4
2
0
145
-69
-54
-46
43
-89
139
188
124
107
8
46
18
-2
-10
0
0
-76
-35
-15
-30
-18
82
32
41
40
39
2
31
0
-3
6
1
0
-53
-58
2
-16
-26
32
78
25
59
-72
-16
26
34
0
0
0
0
55
-41
-100
4
78
10
-12
-36
8
-71
-49
95
-2
0
0
0
0
20
9
129
32
-62
-50
-1
-104
-126
-53
-18
-16
0
0
0
0
0
0
-23
40
12
-25
34
-54
-3
20
-17
1
-9
0
0
0
0
0
0
0
0
0
0
4
-2
-1
-5
19
0
14
0
0
0
0
0
0
-17
-15
-33
13
124
125
0
0
33
-47
29
0
-10
0
0
0
-19
-16
-78
-3
3
59
181
49
43
-64
-29
-7
-28
0
0
0
0
-70
46
-10
3
13
35
78
74
29
56
-55
-67
99
-2
0
0
0
80
-10
30
31
15
13
19
-13
63
47
-115
4
-12
10
13
0
0
-35
-10
-2
-19
10
4
14
35
51
88
4
-16
-45
-3
-1
0
0
41
-35
-11
-15
-13
-7
19
-16
-62
28
112
-89
30
0
-1
0
0
-55
50
4
16
6
-61
14
-1
14
-26
1
-44
-3
11
0
0
0
37
45
62
14
-32
-8
19
75
-131
-58
-34
3
-5
0
0
0
0
0
16
18
22
73
-13
-164
-54
-81
-5
-15
5
0
0
0
0
0
-78
136
38
43
71
0
-10
0
0
-3
5
0
0
0
0
0
0
122
53
-9
278
173
189
64
30
-66
0
2
0
0
0
0
0
0
21
92
24
-1
-57
-75
-64
-8
-45
-7
-1
-3
0
0
0
0
0
83
-72
-43
-25
-3
-32
27
72
-18
-17
-1
-5
0
0
0
0
0
-43
-92
-80
-61
96
66
-90
-17
-34
5
0
0
0
0
0
0
0
-51
-59
-43
-25
13
-125
-21
-99
-9
0
0
0
0
-1
-2
0
0
26
16
-89
-95
15
-78
-2
-104
-38
-1
0
0
0
-9
0
0
0
0
129
-41
-26
-67
15
-58
3
-56
-3
21
0
0
0
0
0
0
-8
-36
-12
5
-1
14
-19
10
-2
0
-2
0
0
0
0
0
0
1
5
-56
29
-23
66
97
13
0
3
-4
3
0
0
0
0
0
52
34
67
-13
40
171
0
-30
-47
-25
3
-26
2
0
0
0
0
39
-2
77
42
22
-22
141
9
-22
-50
-5
0
0
0
0
0
0
5
18
17
39
-6
35
71
53
-52
-8
0
-1
0
0
0
0
0
-20
23
41
90
9
9
-36
117
70
-17
10
-1
0
0
0
0
0
-3
-35
-35
43
15
-81
-4
-158
-6
-2
37
0
0
0
0
0
0
-141
-7
-20
32
-23
-17
-6
-94
21
8
10
-1
0
0
0
0
0
-74
-51
-41
78
85
14
-43
-67
-2
0
1
0
-8
0
0
0
0
0
0
-3
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
70
60
81
54
-1
0
0
238
19
-63
15
52
0
0
0
-11
-18
-27
-87
17
42
97
0
61
0
42
33
-14
-8
8
0
0
-108
-56
-62
-91
-13
-33
76
117
172
9
113
-20
29
3
0
0
0
-43
84
-4
53
3
-13
19
104
117
30
52
-51
-17
4
0
0
0
-17
54
62
-5
32
-13
39
35
56
0
-139
-13
29
0
0
0
0
-36
-88
-34
-33
127
-44
-11
1
-15
-55
-12
8
-23
-2
0
0
0
-3
-81
-41
33
-19
28
-53
-99
-60
-88
-12
40
10
1
0
0
0
0
2
-14
-40
-95
-87
-22
-83
-8
-25
14
9
15
0
0
0
0
0
0
0
0
-2
0
-3
-3
26
0
0
0
0
0
0
0
0
0
-12
-7
14
-6
1
11
0
0
4
28
4
0
0
0
0
0
0
14
-40
-60
57
49
61
0
-5
0
1
26
11
0
0
0
0
-7
41
-52
35
38
28
14
33
39
10
104
58
2
3
-7
0
0
8
-43
-19
94
23
115
56
51
45
-69
9
39
17
-2
0
0
0
76
63
-32
-13
-4
43
56
-26
27
-39
-20
89
-2
6
0
0
0
6
1
74
-14
-4
-27
0
-27
9
-68
51
1
2
0
0
0
0
-3
-14
73
20
-6
-52
-27
-103
-58
-56
-6
-2
0
-4
0
0
0
0
-85
-11
-62
-135
16
-106
61
-85
-18
-1
0
0
0
0
0
0
0
0
0
0
3
-1
11
5
3
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
-7
3
11
-2
20
1
1
-1
0
33
26
51
0
0
0
0
0
0
62
19
24
-5
-43
-13
-7
135
-40
-13
3
-1
0
0
0
0
0
72
3
-43
-24
-93
-19
-60
55
-35
63
-5
0
0
0
0
0
-1
-138
0
-29
147
63
-99
-78
66
-79
5
-2
-4
0
0
0
0
7
9
-85
-23
-126
-51
-79
-118
-48
4
23
0
0
0
0
0
0
14
26
-44
-2
-51
13
-2
-5
-34
23
-2
0
0
0
0
0
0
-11
72
63
19
-30
-12
105
-26
-69
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-49
-26
-8
7
0
2
0
0
0
0
0
0
0
0
78
-2
59
35
8
4
13
34
6
0
0
0
0
0
0
0
0
-61
-87
12
10
-16
11
0
0
0
0
0
0
0
0
0
0
0
50
16
55
-6
-15
0
0
0
0
0
0
0
0
0
0
0
2
17
12
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-70
7
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
65
29
6
0
0
0
0
0
0
0
0
0
0
0
0
-11
17
13
13
0
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
3
11
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
0
0
0
0
0
0
0
-7
-3
-3
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
-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
-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
5
-8
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
26
-31
-10
-1
-8
3
10
-15
0
0
0
0
0
0
0
-2
2
-1
56
-12
0
3
-2
0
0
0
0
0
0
0
0
0
0
2
3
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-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
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
-4
0
2
0
6
-16
0
0
0
0
0
0
0
0
0
0
-1
2
10
3
-5
-3
0
20
1
0
0
0
0
0
0
0
0
17
17
69
14
-23
-2
0
0
5
0
0
0
0
0
0
0
0
0
-4
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
10
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
46
56
10
-35
0
16
-38
14
0
0
0
0
0
0
70
35
115
123
38
-16
15
-42
-34
-9
-11
8
0
0
0
0
-2
44
-15
52
8
73
-53
-77
23
-116
-11
23
0
0
0
0
0
0
74
17
11
41
24
-16
36
-7
29
20
0
0
0
0
0
0
20
6
33
17
22
-57
-77
12
47
16
11
14
0
0
0
0
0
0
-10
32
23
17
-43
-110
-33
56
4
0
-1
0
0
0
0
0
-2
-12
-23
-17
34
-16
-5
-87
-22
11
0
0
0
0
0
0
0
15
20
11
-11
0
0
10
-28
-123
6
0
0
0
0
0
0
0
7
-8
4
0
0
0
0
3
1
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
-7
-2
5
-6
7
0
27
17
0
0
0
0
0
0
0
0
0
-5
-4
0
12
0
1
-7
11
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-18
9
0
0
0
0
0
0
0
0
0
-1
3
0
0
-7
1
1
-11
0
0
0
0
0
0
0
0
3
1
0
0
0
0
8
-4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-63
-22
43
0
55
1
44
-42
-2
-4
0
0
0
71
77
39
40
65
-92
7
13
107
43
0
-16
17
56
0
0
-9
65
-99
123
64
72
-36
-55
-53
28
32
7
0
82
29
0
0
37
228
152
29
-16
-31
59
77
122
56
43
10
22
-8
11
0
0
0
-26
42
-72
1
-31
-43
41
121
62
-44
57
32
1
-4
0
0
0
0
-70
42
19
-37
48
-105
-107
-131
-69
-13
-2
42
2
2
0
0
1
-14
0
9
10
32
-74
-61
-149
53
-3
0
0
-2
0
0
0
0
0
0
-5
-7
-28
-51
22
-8
-8
-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
13
-18
12
97
-77
46
0
-45
17
109
82
21
34
-1
0
0
-4
-35
4
65
62
-45
27
46
44
19
58
4
2
100
1
0
0
-95
-82
2
11
19
-52
-76
-78
-45
-45
51
-27
34
-74
21
0
0
9
-11
-56
40
-15
7
7
-31
-16
-20
-24
-39
-85
29
4
-1
0
-38
-211
15
-13
62
21
-24
-26
-85
-10
39
105
-96
-12
5
0
0
-6
-130
-16
-9
26
-36
-42
-73
-42
-4
-15
59
43
-4
2
0
0
-6
-35
10
89
9
-26
-33
-79
-59
-9
18
30
18
10
0
0
0
7
3
64
-6
-83
-29
-44
-54
-39
-30
-62
80
0
-15
0
0
0
0
2
0
162
22
-63
23
-46
-38
27
10
14
-11
3
0
0
0
0
0
-10
-1
52
2
157
0
58
24
4
50
-96
-50
47
-3
0
0
-22
-41
2
55
-16
65
23
23
29
96
53
73
81
18
13
0
0
0
-3
-123
240
67
-56
-60
15
-30
-6
12
-43
40
23
-2
0
0
15
-9
86
85
170
-52
56
17
-9
36
27
-34
-3
2
-2
0
0
0
0
53
-65
-85
51
45
24
18
0
-60
-28
40
0
-2
0
0
0
0
-10
-30
61
-87
39
-13
-17
-7
-54
-72
-1
27
0
0
0
0
0
12
70
168
2
-27
-24
-7
1
-12
11
-30
43
-6
0
0
0
0
-32
65
-99
-7
29
-12
12
61
-30
-24
50
13
16
0
0
0
0
8
-26
-101
-7
1
50
36
55
-40
105
-1
-1
0
0
0
0
-16
62
105
21
147
0
58
23
113
78
27
-14
-1
-2
0
0
-3
-72
47
-21
21
17
2
66
49
21
59
54
-26
7
2
0
0
0
53
70
-99
-45
-26
-120
-17
32
98
-17
-2
33
2
0
0
0
1
13
38
-60
4
27
19
7
4
-19
7
-10
-8
-9
0
0
0
-4
26
41
-29
30
-7
98
-6
21
20
-37
27
5
-5
0
0
0
0
-8
-135
-11
78
-65
-39
11
7
55
-26
-12
-45
7
0
0
0
0
17
-21
-11
-55
-50
-10
11
-5
-36
82
31
14
2
0
0
0
0
0
60
-6
-15
-76
-102
-41
89
100
-35
-23
-1
3
0
0
0
0
0
0
13
7
75
-4
-8
0
0
0
0
0
0
0
0
3
10
-2
66
87
-107
43
0
2
53
1
13
-29
1
1
0
-4
35
74
39
116
8
-37
-17
22
46
-4
-20
34
14
-14
0
0
38
78
103
24
82
36
-25
-59
-17
28
38
24
-23
-11
-6
1
0
26
67
68
122
-61
80
-5
94
27
43
43
38
-26
-15
18
4
0
0
44
0
126
43
-1
91
25
61
0
1
6
-29
-6
5
-1
0
0
13
-6
64
-15
137
-35
70
-72
51
-42
53
0
1
0
0
0
0
0
10
10
-20
12
43
-56
-22
-20
118
-11
-9
-1
0
-2
0
0
1
17
0
-109
2
82
-80
-21
-92
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
0
0
0
0
0
0
0
-7
0
0
20
51
-23
-13
-4
0
-26
-19
-30
0
4
0
0
0
7
-11
17
48
103
29
-26
-85
34
-4
72
36
-15
0
0
0
0
-1
50
-11
56
-55
-28
-55
-46
25
45
18
56
10
6
0
0
0
18
-45
48
25
-61
-53
28
127
71
86
106
88
-1
0
0
0
0
0
8
-14
22
22
105
84
78
74
30
160
7
0
0
0
0
0
0
0
-9
70
-57
-63
-4
-79
-7
150
168
5
6
0
0
0
0
0
9
9
9
62
5
-41
23
-55
-64
-15
0
0
0
0
0
0
0
0
0
17
9
29
9
-30
-17
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
-34
-72
-20
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
54
0
54
4
0
0
0
0
0
0
0
0
0
0
0
1
-7
40
111
159
-69
1
0
0
0
0
0
0
0
0
20
0
4
-8
20
-79
-43
-9
0
0
0
0
0
0
0
2
6
1
0
2
12
-68
-12
-9
0
0
0
0
0
0
0
0
0
10
0
0
0
3
28
-36
5
1
0
0
0
0
0
0
0
1
-1
-1
0
-3
2
-33
21
3
10
0
0
0
0
0
0
0
1
0
0
0
-3
0
-3
8
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-89
109
-55
42
-9
0
0
0
0
0
0
0
0
58
0
0
195
-39
28
9
-28
-53
-1
0
0
0
0
0
0
0
16
223
263
123
19
-61
-60
62
-23
0
0
0
0
0
0
0
19
7
140
258
148
-2
-14
45
26
22
-1
0
0
0
0
0
0
4
61
65
148
41
15
17
-5
73
-20
1
0
0
0
0
0
0
0
63
-31
-14
-23
35
53
44
-4
3
-8
0
0
0
0
0
0
0
-54
-90
-18
-19
-102
-111
-127
12
-8
10
0
0
0
0
0
0
0
-20
27
-11
-17
-13
-37
-1
-7
8
1
0
0
0
0
0
0
0
9
-43
-38
-41
-48
-2
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
100
46
-1
1
0
0
0
0
0
0
0
0
0
-18
0
0
74
7
15
-6
-20
6
0
0
0
0
0
0
0
0
77
155
261
167
-12
-65
-10
-7
-17
0
0
0
0
0
0
0
0
12
170
139
-17
115
-66
-10
-10
-1
0
0
0
0
0
0
0
0
119
-39
-57
96
-64
2
1
0
-5
0
0
0
0
0
0
0
0
37
49
-23
34
-50
-10
-5
-1
0
0
0
0
0
0
0
0
0
-6
-28
-102
125
22
45
-3
0
0
0
0
0
0
0
0
0
0
0
64
-31
3
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
120
-59
-9
0
2
0
0
0
0
0
0
0
0
28
0
0
-1
52
23
37
-19
0
-5
0
0
0
0
0
0
0
30
95
228
-9
40
-12
4
-14
-2
4
0
0
0
0
0
0
0
-137
54
148
46
-66
105
10
-14
1
0
0
0
0
0
0
0
0
77
-96
-83
52
-11
29
-18
-13
-4
-2
0
0
0
0
0
0
0
83
-151
1
67
-37
14
3
0
4
0
0
0
0
0
0
0
0
-72
-52
-9
-39
61
23
-5
0
0
0
0
0
0
0
0
0
0
9
-15
-25
-20
-51
9
4
0
7
0
0
0
0
0
0
0
0
4
-11
46
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
86
0
0
0
38
-52
66
5
0
0
0
0
0
0
0
0
-9
52
0
0
142
58
-13
22
-7
0
0
0
0
0
0
0
0
0
88
157
151
95
31
-54
-4
0
-6
0
0
0
0
0
0
0
5
-110
-92
321
114
8
0
14
0
-19
0
0
0
0
0
0
0
0
34
-45
45
-46
-56
-85
8
11
-4
0
0
0
0
0
0
0
0
-7
63
-78
-9
32
-13
2
-1
1
0
0
0
0
0
0
0
0
-24
-103
-104
87
-59
23
0
0
0
0
0
0
0
0
0
0
0
0
6
-69
-33
-56
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
6
12
-2
0
-8
0
0
0
33
6
15
0
0
-5
0
0
8
0
-25
-29
-59
32
0
0
0
12
40
-13
-52
-1
2
0
0
0
-7
19
39
-10
-62
222
223
110
-14
53
11
8
3
0
0
0
8
-3
-43
41
-43
-21
185
290
153
57
-51
-41
5
-12
0
0
0
19
15
-5
6
-3
-69
-71
81
36
17
-57
24
32
11
-4
0
0
0
0
-3
10
-9
-15
-32
-42
71
-63
-51
9
13
-9
-9
0
0
0
0
0
31
-18
-61
-23
0
-95
-9
90
20
-41
-3
-15
0
0
0
0
0
0
62
-22
-39
-77
-63
59
-38
-15
-2
-5
0
1
0
0
0
0
0
0
-57
28
-128
41
-56
27
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-10
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-28
-31
6
-9
0
-20
0
0
0
0
0
0
0
13
41
-78
57
-43
2
-3
-3
-4
0
0
0
0
0
0
0
0
0
26
141
166
66
-44
-14
4
-8
0
0
0
0
0
0
0
1
55
123
149
118
-34
-9
-4
2
0
0
0
0
0
0
0
0
19
-20
33
63
169
-110
38
0
-12
0
0
0
0
0
0
0
0
18
-11
9
153
148
-13
75
-14
-4
0
0
0
0
0
0
0
0
0
2
142
15
158
-183
13
0
0
0
0
0
0
0
0
0
0
0
0
8
46
-22
-6
-2
0
0
0
0
0
-65
-10
-3
-38
98
-3
1
0
0
0
0
0
0
0
0
0
0
-3
-36
-41
20
92
2
2
0
0
0
0
0
0
0
0
0
0
35
19
13
6
-22
11
-4
0
0
0
0
0
0
0
0
0
0
-43
-10
46
129
89
-35
0
0
0
0
0
1
0
0
0
0
0
58
33
-1
52
97
-15
-36
-55
6
3
1
6
-1
0
0
0
0
-1
51
20
12
-21
-61
-25
-38
-3
-25
-2
9
9
3
0
0
0
0
3
40
-43
-45
36
7
13
7
-54
2
-13
8
0
2
0
0
0
0
66
35
-29
-18
-29
-7
-41
23
-17
5
8
-3
-1
0
0
0
0
0
4
0
0
1
13
7
-4
0
0
0
-6
0
0
0
-7
-29
-10
-9
-53
-13
8
0
0
0
49
16
-1
-7
-25
0
0
-87
-95
-54
-74
-43
-156
-11
0
0
188
32
-2
-9
-15
-16
-3
0
-33
-131
-63
-17
-55
32
169
171
406
293
0
-47
90
48
22
-1
0
-104
40
78
12
-11
-44
10
121
297
50
26
-14
26
7
-2
0
0
42
25
28
11
60
-29
-41
-113
167
-90
52
-28
43
-10
0
0
0
3
59
-59
23
69
26
-20
-46
-77
-63
23
51
18
-48
-12
-2
0
0
-7
2
29
109
73
-4
-33
-62
-123
-98
-32
-22
10
-7
0
0
0
0
-3
-20
-9
-4
23
-22
-12
-133
4
-12
0
13
0
-2
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
2
0
0
0
0
0
3
-7
32
65
87
70
0
0
52
20
-17
-12
9
0
0
0
-2
73
41
-24
3
25
70
32
210
-28
86
30
-13
29
0
0
0
-2
8
-53
4
22
21
-58
9
80
30
50
36
-46
-4
2
0
0
-28
16
-109
-36
-5
-42
12
69
28
39
-13
56
1
-1
-4
0
0
33
-8
-27
-27
-47
69
-11
-93
-115
4
-4
-36
57
6
0
0
0
-15
16
-109
9
26
3
-38
-47
16
86
63
19
-34
-1
0
0
0
-2
-42
44
-35
-29
26
76
26
-40
36
0
18
2
0
0
0
0
0
10
34
48
14
-12
-25
19
-33
42
2
-1
0
0
0
0
0
0
0
6
-27
30
-73
98
-52
-12
-38
2
0
0
0
0
0
0
155
68
-77
86
101
76
-186
0
0
0
-1
0
0
0
0
0
0
-4
-20
-27
1
-48
48
170
56
42
-2
0
-1
6
0
0
0
0
74
-44
-41
-1
-29
92
29
52
42
1
-19
7
0
0
0
0
0
-62
43
-14
-51
45
-33
-75
44
-9
2
0
0
1
0
0
0
0
17
48
-14
-19
-1
-14
18
80
-26
-8
0
1
0
0
2
0
0
-11
-45
4
-6
-18
83
44
35
39
-2
-5
0
-4
12
0
0
0
-3
108
-33
-55
-10
-95
-36
-7
24
-6
-2
0
0
5
-1
0
0
-51
0
15
-63
8
-35
-74
-5
-2
1
0
0
0
0
0
0
0
41
-37
19
-63
39
2
9
-10
0
0
0
0
0
0
0
0
0
-4
18
83
-14
25
134
-52
51
0
-1
4
9
0
0
0
0
0
-19
45
49
31
64
87
0
69
-8
-11
-8
-15
0
0
0
0
0
-39
-52
-100
-61
148
106
12
-23
23
0
0
-4
-5
0
0
0
0
-37
-74
-46
41
-19
108
94
-11
-8
0
0
-6
0
0
0
0
0
26
146
22
12
-60
106
20
75
-53
-10
1
36
0
0
0
0
0
14
47
33
80
123
-7
-19
-45
-17
-3
-4
-2
0
0
0
0
0
9
-5
137
42
37
89
-26
-54
-64
9
-15
1
0
0
0
0
0
-11
-30
-34
-44
9
52
-3
-15
-22
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
23
-80
-5
17
61
47
244
0
0
-27
51
89
2
25
-4
0
0
10
-2
-56
82
9
-5
188
0
241
0
54
26
-44
-64
-9
11
0
-17
41
17
67
-67
84
104
45
218
126
-117
78
62
-28
5
-2
0
45
52
50
-13
68
15
231
16
190
100
-100
-39
-50
16
0
0
0
5
-47
41
24
-22
-16
80
57
67
-149
40
-44
16
27
-9
0
0
0
-129
102
-14
-22
-81
-35
-23
-11
-25
-69
-3
69
-16
0
0
0
6
-21
83
79
-6
-55
10
2
-86
-89
-14
28
62
-13
0
0
0
0
0
54
-10
-22
-38
-38
-26
-40
-2
-54
-3
5
0
0
0
0
0
0
0
0
0
0
1
-7
-1
-40
0
-1
0
0
0
0
0
0
-6
25
-4
-46
-4
45
7
0
84
-37
0
-6
-2
6
0
0
0
17
8
-80
-223
-60
149
0
74
0
-15
-27
3
-2
0
3
0
2
39
113
-96
-29
66
-62
180
253
160
2
-31
-41
-1
8
0
0
0
-13
-9
-75
68
121
43
110
118
61
56
-12
-1
4
0
6
0
-1
-4
-33
-16
56
-27
-3
20
-45
-45
-94
-28
50
10
-4
0
0
-6
36
28
-102
119
-10
-54
19
-42
-1
-106
-4
5
15
-5
0
0
-7
-1
-65
-66
-111
-50
-111
-117
63
28
22
4
0
-5
0
0
0
0
-3
0
-16
35
18
-29
-40
-24
-36
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-14
2
-25
0
0
0
0
0
0
0
0
0
2
-24
18
-9
15
0
0
0
0
-20
-6
-4
0
0
0
0
0
-1
52
-17
28
-13
29
14
0
-7
-47
-44
2
0
0
0
0
0
-1
30
-27
14
-13
16
0
57
157
7
-2
-4
0
0
0
0
0
12
-1
8
-26
2
10
-12
171
229
-130
1
-2
0
0
0
0
0
0
12
-4
-23
-7
-4
26
76
177
17
-22
0
8
0
0
0
0
-1
-3
5
-2
21
-9
100
123
145
-88
10
-2
-5
0
0
0
0
0
0
0
11
-28
-11
58
12
-1
-6
2
-10
0
0
0
0
0
0
4
8
10
0
0
83
95
15
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
0
0
0
0
0
0
0
0
4
0
-2
8
7
-19
0
0
63
0
0
0
0
0
0
0
0
0
0
0
-1
0
111
14
80
173
-2
0
0
0
0
0
0
0
0
-3
-3
11
-53
-65
31
142
101
20
0
0
0
0
0
0
0
0
0
8
2
33
3
15
43
65
6
1
0
0
0
0
0
0
0
0
10
-2
-42
-31
-101
43
-105
76
0
0
0
0
0
0
0
0
0
0
10
-12
-91
-90
-43
-12
-2
0
0
0
0
0
0
0
0
0
0
-6
12
124
63
-65
54
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
-73
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
0
4
-25
-34
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
7
8
-55
37
38
0
0
0
0
0
0
0
0
0
0
0
0
18
59
102
-39
48
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
21
-24
-38
0
0
0
0
0
0
0
0
0
0
0
0
4
-39
-51
114
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
-97
-93
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-39
-90
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
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-1
1
-17
33
0
0
-37
0
0
0
0
0
0
0
0
0
0
-1
9
-13
-23
-140
17
182
0
0
0
0
0
0
0
0
0
0
0
-3
1
-27
-27
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-30
14
39
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-29
-60
75
172
6
0
0
0
0
0
0
0
0
0
0
-2
2
-64
-38
-80
-49
-1
0
0
0
0
0
0
0
0
0
0
0
13
6
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
4
0
0
0
21
-43
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
14
98
0
0
0
0
0
0
0
0
0
0
0
-2
-21
86
-28
110
-6
0
0
0
0
0
0
0
0
0
0
0
13
-13
-83
49
-27
-47
0
0
0
0
0
0
0
0
0
0
0
0
-47
17
-46
-36
3
0
0
0
0
0
0
0
0
0
0
0
-1
6
2
-33
-36
4
0
0
0
0
0
0
0
0
0
0
0
-9
56
-44
-10
-41
-4
0
0
0
0
0
0
0
0
0
0
0
-2
23
2
6
-3
-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
-6
0
0
0
124
19
41
-23
-13
-1
0
0
0
0
0
-4
-3
47
0
0
0
27
67
-92
86
6
-23
0
0
0
0
0
-4
-13
-4
16
-99
-6
15
48
26
-21
-103
0
0
0
0
0
0
0
23
27
-35
16
50
74
-98
-75
-58
114
3
0
0
0
0
0
0
6
6
13
-38
59
40
-57
99
67
-3
-2
0
0
0
0
0
0
0
12
-40
-71
5
-103
-159
20
-37
-26
0
0
0
0
0
0
0
0
0
21
-5
40
61
-5
51
-67
13
0
0
0
0
0
0
0
0
4
36
28
-58
6
3
-8
1
5
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
0
0
0
48
-2
4
0
0
0
0
0
0
0
0
0
-16
-18
0
0
0
-104
-14
-18
7
0
5
0
0
0
0
0
0
16
-1
128
83
-1
-62
0
0
0
-1
0
0
0
0
0
0
0
-5
0
-118
8
43
-46
3
-10
0
-9
0
0
0
0
0
0
0
0
0
-30
-10
11
58
1
-10
-17
-21
5
0
0
0
0
0
0
0
0
45
97
32
4
24
1
-16
-2
0
0
0
0
0
0
0
0
0
14
-31
-12
0
-7
0
2
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
80
-76
-10
-62
15
0
0
0
0
0
21
-30
-30
0
0
60
38
9
-3
-74
-20
-109
0
0
0
0
-2
-1
-22
-5
56
-33
64
105
56
16
13
-39
-70
0
0
0
0
0
0
47
43
-24
146
96
53
66
27
27
70
112
0
0
0
-3
0
0
-14
-39
80
-34
114
15
77
7
4
29
40
0
0
0
0
0
-10
-1
-3
-17
14
-61
-3
22
48
-11
5
57
0
0
0
0
0
3
1
6
55
-9
59
74
13
78
41
-33
25
0
0
0
0
0
0
43
-2
-84
-20
66
25
-24
143
67
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
-6
-17
-7
0
0
6
-32
11
-18
-17
-65
8
0
0
0
2
-3
-26
-97
-44
-19
37
-16
8
-16
-10
16
-26
45
0
0
0
0
8
-6
-24
53
60
-1
18
-3
-26
-8
-13
-19
44
0
0
0
0
3
-12
42
8
-44
-53
25
-23
-20
14
11
-12
176
0
0
0
0
-21
-8
90
-45
-5
-59
-25
-19
-8
13
37
34
7
0
0
0
0
0
0
46
75
-17
-93
-57
-34
-20
-7
23
53
114
0
0
0
0
-1
23
90
19
-26
-41
-88
-34
-29
3
11
-15
-38
0
0
0
0
0
1
60
-12
50
46
-52
-18
2
-12
37
-28
15
0
0
0
0
0
0
1
15
11
-8
-85
-32
-109
-177
-83
-9
0
0
0
0
0
0
0
0
0
0
0
-36
-32
-65
40
-6
-79
-1
0
0
0
0
0
0
0
2
34
-29
76
23
19
24
70
-11
-10
0
0
0
0
0
0
6
0
19
101
-89
92
47
-22
24
-14
-1
0
0
0
0
0
0
-5
-7
21
-24
-12
2
-157
39
120
30
3
0
0
0
0
0
0
0
-15
-44
-48
82
24
18
17
-106
4
-9
0
0
0
0
0
0
0
-1
0
58
-10
-9
31
-66
63
125
-55
0
0
0
0
0
0
-1
-3
58
52
80
-100
20
29
111
35
4
0
0
0
0
0
0
0
3
-2
48
-9
-30
-44
205
159
-39
0
0
0
0
0
0
0
0
1
4
-1
33
-12
37
26
138
110
-1
0
0
0
0
0
0
0
0
0
52
49
76
71
34
-7
45
83
0
0
0
0
0
0
1
-4
-54
118
0
67
49
-35
23
0
49
0
0
0
0
-8
1
-8
13
119
56
-1
8
6
-31
7
-33
28
0
0
0
0
0
-3
-1
3
49
41
-32
14
36
62
100
41
74
0
0
0
0
0
1
5
8
-18
5
13
-10
17
19
38
74
51
0
0
0
0
0
0
25
-17
56
-35
-5
-3
16
14
58
45
34
0
0
0
0
-2
0
-4
23
65
-141
-71
-14
48
39
74
39
33
0
0
0
0
0
0
0
0
-10
52
-49
52
59
30
83
35
113
0
0
0
0
0
0
0
-1
-17
31
-4
-13
-6
-25
-16
0
0
0
0
0
0
0
-1
14
6
0
0
28
67
-49
8
-4
55
-44
0
0
0
0
-2
-27
-8
0
67
0
102
89
-31
-4
1
-81
-23
0
0
0
0
-8
-12
14
-59
109
26
14
49
31
36
29
-32
-54
0
0
0
0
0
-5
17
78
86
16
-7
39
44
58
33
-31
66
0
0
0
0
5
-4
7
-18
65
54
0
23
37
7
55
76
111
0
0
0
0
0
3
20
72
84
-25
-76
9
26
-1
6
1
-72
0
0
0
0
0
0
-1
63
-90
-47
57
-35
-3
-1
10
95
-16
0
0
0
0
0
-16
0
47
12
-33
-26
6
-35
18
-30
-69
0
0
0
0
0
0
0
0
0
0
2
-3
2
-34
-23
-7
0
0
0
0
0
0
0
0
-3
0
0
28
81
38
41
-12
-16
39
-58
0
0
0
0
0
0
37
0
53
0
66
-18
36
23
66
-30
-9
0
0
0
0
0
-10
68
2
28
7
-2
90
49
37
-14
3
-3
0
0
0
0
8
-12
88
20
36
-9
101
27
40
42
-46
-44
-2
0
0
0
0
0
-4
74
-31
62
0
51
-45
-7
4
-26
-79
-55
0
0
0
0
0
2
-4
16
76
6
44
-48
20
-3
-89
44
-11
0
0
0
0
0
0
-4
8
12
93
42
-38
63
-2
35
60
19
0
0
0
0
0
0
0
-1
4
13
-48
20
-106
56
9
119
0
0
0
0
0
0
0
0
0
0
0
0
0
30
6
-1
0
0
0
0
0
0
0
0
-1
0
0
0
7
-16
-4
-37
-55
55
0
0
0
0
0
0
23
-12
1
0
-1
80
-89
-50
-169
-170
68
-5
0
0
0
0
0
0
0
17
-1
2
24
-108
16
45
-44
-15
1
0
0
0
0
0
0
-10
-10
14
-1
-27
18
32
-23
42
-40
4
0
0
0
0
0
0
0
62
-9
-4
1
65
-86
-13
37
27
7
0
0
0
0
0
0
-1
-5
29
-2
-3
29
-28
-81
91
47
-3
0
0
0
0
0
0
0
4
-5
1
44
-3
47
38
20
-2
-2
0
0
0
0
0
0
0
0
0
0
-10
2
-7
0
3
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
-4
87
25
116
36
52
-14
52
0
0
0
0
0
0
0
22
-46
-12
-2
5
8
-6
-17
49
63
0
0
0
0
0
0
3
-19
22
19
-10
34
-26
57
8
-63
-31
0
0
0
0
0
0
0
0
7
1
-60
-73
32
45
-16
13
-48
0
0
0
0
0
0
0
0
0
0
1
-77
133
110
9
159
19
0
0
0
0
0
0
0
0
0
0
11
-46
-64
31
7
-57
152
0
0
0
0
0
0
0
0
0
-6
-14
2
-1
20
45
29
-15
0
0
0
0
0
0
0
0
0
0
0
19
-8
5
11
-36
-61
0
0
0
0
0
0
0
0
0
0
0
-4
-3
26
-51
36
24
0
0
0
0
0
0
0
0
0
0
-3
-13
12
-47
-95
-59
-4
0
0
0
0
0
0
0
0
3
-1
4
-1
-84
-113
148
-47
-6
0
0
0
0
0
0
0
0
0
0
0
0
-47
21
10
-126
27
0
0
0
0
0
0
0
0
0
0
0
1
-7
16
4
-60
-1
0
0
0
0
0
0
0
0
0
0
0
7
62
10
83
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-96
65
-31
88
39
0
0
0
0
0
0
0
0
0
0
0
-21
30
54
99
-4
60
0
0
0
0
0
0
0
0
0
0
0
1
-33
-32
8
-35
53
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
18
-4
-7
0
0
0
0
0
0
0
0
0
-1
-1
6
26
105
-6
70
0
0
0
0
0
0
0
0
0
-4
4
13
23
32
24
48
8
-18
0
0
0
0
0
0
0
-7
-6
4
-2
-43
37
81
108
15
-4
0
0
0
0
0
0
0
0
0
0
-13
-38
76
15
-64
-31
11
0
0
0
0
0
0
0
0
0
0
-32
13
66
-29
38
97
11
0
0
0
0
0
0
0
0
0
0
0
-5
12
137
58
-15
-13
0
0
0
0
0
0
0
0
0
0
0
-3
63
58
-58
39
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
-87
59
-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
-1
9
39
15
-50
27
-29
0
0
0
0
0
0
0
0
0
-3
17
-1
67
132
-8
22
164
-17
0
0
0
0
0
0
0
0
-2
-2
-12
134
44
-8
49
64
-1
0
0
0
0
0
0
0
0
0
-1
-3
22
-47
2
-4
98
-3
0
0
0
0
0
0
0
0
0
0
-5
-34
-94
74
58
43
7
0
0
0
0
0
0
0
0
0
0
0
-40
-19
-1
46
-33
-6
0
0
0
0
0
0
0
0
0
0
-5
-3
22
85
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-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
77
19
-178
38
66
32
-47
41
0
0
0
0
0
0
-1
8
53
-3
-21
-25
94
108
-101
33
-21
0
0
0
0
0
0
0
-37
-96
-98
-7
51
78
55
155
27
73
0
0
0
0
0
0
0
2
67
29
43
-16
72
39
57
-38
-57
0
0
0
0
0
0
-4
-10
74
99
89
-7
-19
79
67
90
2
0
0
0
0
0
0
0
0
116
16
-5
-49
24
109
48
109
33
0
0
0
0
0
0
0
55
-67
-89
-83
25
7
66
-52
14
-1
0
0
0
0
0
0
0
0
-1
-72
64
-41
87
7
18
23
65
0
0
0
0
0
0
0
0
0
0
-12
-7
0
-2
52
27
3
0
0
0
0
0
0
0
0
0
-2
-10
11
-25
-34
87
25
-4
0
0
0
0
0
0
0
0
-7
-12
-56
12
-17
-24
113
8
75
0
0
0
0
0
0
0
-7
-12
0
5
15
-71
-10
27
-84
-14
0
0
0
0
0
0
0
1
-18
18
-11
64
-42
-59
59
-29
23
0
0
0
0
0
0
0
0
6
-35
14
-57
69
-3
-56
13
-49
0
0
0
0
0
0
0
0
10
11
-21
51
84
15
-105
48
-76
0
0
0
0
0
0
0
0
-6
-39
11
-29
85
-89
-8
-99
-41
0
0
0
0
0
0
0
0
16
0
0
0
62
-40
4
65
-68
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-19
0
41
37
-2
95
-63
31
27
-8
0
0
0
19
47
33
19
42
29
45
28
71
51
57
17
-23
13
0
0
-2
-3
-70
-8
0
-8
11
13
34
8
130
183
70
-171
11
0
0
0
-13
20
101
-3
-51
-36
42
32
51
50
44
-63
0
57
0
0
0
0
0
3
-90
-5
12
19
20
-97
79
-70
-7
-31
3
0
0
0
0
0
-5
-27
-14
-14
-50
-39
26
23
59
90
2
0
0
0
0
0
0
1
-20
-188
-32
-90
-82
31
56
-18
-7
-49
0
0
0
0
0
0
1
-1
-79
-30
10
-43
33
-54
93
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-30
-77
-38
0
3
5
46
103
31
-45
-7
0
0
0
0
-12
-99
-204
-38
-4
-33
8
-12
20
-6
21
-6
33
0
0
0
-1
-1
-3
-30
-39
-11
-60
-43
2
-5
40
58
-57
-17
0
0
0
-2
4
-15
14
-38
42
3
-13
-32
15
80
45
15
-2
0
0
0
0
-2
7
-43
-82
58
32
-28
-17
2
21
42
-19
139
0
0
0
0
-4
1
52
70
-23
-46
-25
-14
-11
37
71
-8
84
0
0
0
0
0
-5
-44
-13
-37
-40
-29
-31
-6
27
72
42
5
0
0
0
0
4
-7
9
-146
10
28
16
-15
11
57
84
76
-49
0
0
0
0
-1
5
-34
50
89
13
-24
27
-31
13
-37
2
4
0
0
0
0
15
102
-53
-53
-101
0
-5
9
36
11
89
0
0
0
0
0
-1
0
-2
-35
83
27
-15
-20
31
-11
4
68
0
0
0
0
0
0
1
6
66
16
48
-3
23
76
-29
120
20
0
0
0
0
0
0
0
6
-79
15
-4
124
34
117
-57
153
-81
-6
0
0
0
0
-1
5
-1
55
38
8
18
-21
-4
62
26
32
-1
0
0
0
0
8
11
-60
-25
23
27
45
-33
42
7
10
66
-3
0
0
0
1
9
-29
6
36
0
11
12
-140
-44
16
-29
99
-3
0
0
0
2
3
45
38
12
-48
21
-127
-113
-21
-67
109
11
1
0
0
0
0
4
-12
32
-97
-35
-38
-6
-47
-2
32
-82
-69
10
0
0
0
0
1
-7
10
39
42
-4
0
35
79
-30
74
31
22
0
0
0
0
0
4
100
-72
-2
103
25
50
-3
39
-33
-33
71
0
0
0
0
0
35
-11
54
36
2
-3
-26
-17
57
97
116
-66
0
0
0
0
-1
-3
10
-79
-3
-37
-29
13
24
92
85
44
-36
0
0
0
0
-6
11
9
-42
12
-16
-7
58
-2
60
81
74
5
0
0
0
-3
2
-64
45
-8
13
-12
-20
1
13
35
-12
57
-5
0
0
0
0
-4
-76
-24
-54
3
-22
3
-29
-15
52
-47
-49
11
0
0
0
0
-2
-22
-21
-108
0
-37
-20
-1
20
-55
8
21
0
0
0
0
0
0
0
0
0
1
-29
24
24
103
2
-1
-1
0
0
0
0
0
0
0
0
9
-26
-64
0
16
69
40
44
6
-2
76
-21
0
0
0
0
-4
-29
-119
-39
72
77
55
2
53
-3
21
42
-52
0
0
0
-2
24
17
-32
17
-12
63
96
57
123
-53
52
43
23
0
0
0
0
-8
15
25
-58
24
-12
44
19
39
-3
36
5
31
0
0
0
4
0
24
37
100
-11
31
25
47
30
95
15
9
-15
0
0
0
0
0
3
8
-74
-11
-17
-9
14
36
-20
146
16
16
0
0
0
0
0
-3
11
-61
-135
-43
38
18
-53
-33
94
82
11
0
0
0
0
0
0
-13
-20
40
0
-26
-23
53
-132
89
5
0
0
0
0
0
3
0
0
-4
0
-54
-3
0
0
0
31
-6
0
0
0
0
0
0
-3
27
32
0
104
7
-3
49
-63
-93
33
-7
0
0
0
0
0
0
17
-71
43
35
15
57
121
23
50
-104
-46
0
0
0
0
2
-1
9
-83
33
93
119
-3
74
133
46
15
11
0
0
0
0
0
0
78
-47
82
101
104
-7
69
94
76
142
-23
0
0
0
0
0
-44
-100
-60
-95
17
-36
37
93
140
91
14
73
0
0
0
0
3
5
-24
1
-44
-43
16
27
99
44
75
25
55
0
0
0
0
0
-44
-10
103
-17
22
44
55
84
96
-16
32
1
0
0
0
0
0
0
-1
-69
-52
-95
-161
59
161
-55
50
8
0
0
0
0
0
0
0
0
0
16
0
-45
-1
4
-2
11
0
0
0
0
0
0
0
0
0
0
0
35
23
-55
0
-6
3
4
-2
0
0
0
0
0
0
-4
22
83
57
10
180
60
44
59
52
-38
0
0
0
0
0
7
-3
19
24
-9
80
15
11
68
61
42
12
0
0
0
0
0
0
-24
-51
86
-71
-4
30
76
9
42
45
21
0
0
0
0
0
0
11
22
-96
-90
15
-2
-30
1
6
46
-29
0
0
0
0
0
0
3
-7
-14
-91
-25
-105
-10
0
-6
-72
-104
0
0
0
0
0
0
7
-23
-28
-24
-6
49
80
-10
-21
52
0
0
0
0
0
0
0
63
-30
-46
90
74
-42
-6
0
3
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
78
0
0
0
34
0
0
0
0
0
0
0
0
1
2
81
-6
58
-45
0
0
-3
0
0
0
0
0
0
0
0
0
0
-26
-24
0
29
56
41
202
-3
0
0
0
0
0
0
0
0
4
-22
-33
-107
56
39
62
102
27
0
0
0
0
0
0
0
1
-2
-27
-9
40
-40
-11
66
14
47
0
0
0
0
0
0
0
0
0
-43
84
-9
-42
-2
75
23
2
0
0
0
0
0
0
0
0
1
2
-8
-35
-66
-22
46
0
0
0
0
0
0
0
0
0
0
0
-1
50
-107
6
20
6
56
0
0
0
0
0
0
0
0
0
0
0
-11
25
40
14
-22
6
0
0
0
0
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
-25
30
0
0
8
0
0
0
0
0
0
0
0
0
0
0
12
-48
110
-46
48
1
0
0
0
0
0
0
0
0
0
0
2
-45
-20
83
-82
62
53
0
0
0
0
0
0
0
0
0
0
-3
1
-16
31
105
17
47
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-24
10
-113
-4
0
0
0
0
0
0
0
0
0
0
0
0
29
-31
43
-61
4
0
0
0
0
0
0
0
0
0
0
0
7
6
4
19
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-71
49
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-3
15
-5
116
0
0
70
1
0
0
0
0
0
0
0
0
-3
3
23
-115
-73
-86
-27
37
-31
0
0
0
0
0
0
0
0
1
-2
1
3
114
14
16
39
9
0
0
0
0
0
0
0
0
0
0
-1
98
-12
86
53
-7
-6
0
0
0
0
0
0
0
0
0
0
42
1
-38
67
-1
-14
-3
0
0
0
0
0
0
0
0
0
0
-4
61
23
9
-34
-20
-15
0
0
0
0
0
0
0
0
0
0
0
-25
54
48
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-13
5
-18
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
32
-19
-48
0
0
53
75
0
0
0
0
0
0
0
0
0
-1
-3
-21
46
128
81
0
2
0
0
0
0
0
0
0
0
0
0
2
63
-15
74
31
-14
20
0
0
0
0
0
0
0
0
0
0
0
16
0
43
-16
10
-33
0
0
0
0
0
0
0
0
0
0
2
-8
73
79
35
36
-7
0
0
0
0
0
0
0
0
0
0
-21
-46
-18
-11
-42
-41
23
0
0
0
0
0
0
0
0
0
0
0
2
-51
-5
5
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
-8
-10
0
0
0
78
-14
16
-2
-2
-31
0
0
0
0
0
0
-41
40
0
0
0
0
-7
0
-16
70
27
0
0
0
0
0
0
10
57
20
181
89
-44
49
4
-117
48
165
-2
0
0
0
0
-2
-3
53
-19
117
-56
55
51
80
28
-16
-11
0
0
0
0
0
0
-18
35
46
-92
72
6
131
23
-23
66
9
0
0
0
0
0
0
0
-45
50
58
38
-33
-103
23
14
1
-4
0
0
0
0
0
0
-32
43
-27
96
40
77
-17
-66
0
0
3
0
0
0
0
0
0
-5
-57
9
-24
-74
-26
-3
0
0
-31
0
0
0
0
0
0
0
0
-3
-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
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-5
-61
124
-25
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
68
17
-13
-4
-1
-7
-20
-8
-20
0
0
0
0
0
0
0
-4
54
50
-55
-15
1
0
0
0
0
0
0
0
0
0
0
0
-3
-40
-103
171
-4
17
3
1
0
0
0
0
0
0
0
0
0
-9
-131
-6
77
8
0
0
7
-4
0
0
0
0
0
0
0
0
-2
-23
-54
-33
3
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
1
1
47
100
0
0
0
93
135
44
131
56
-11
66
0
0
0
1
-23
66
-18
54
0
0
187
147
5
40
34
15
101
0
0
0
-5
-8
-12
-4
105
46
115
234
58
55
39
40
42
-1
0
0
0
0
1
5
-31
-9
85
136
-23
43
31
63
57
53
95
0
0
0
-8
5
7
-68
89
130
-4
-38
98
84
11
12
4
56
0
0
0
1
-3
-9
28
-58
1
42
73
60
-52
-33
7
24
-77
0
0
0
0
0
-1
-8
107
-68
29
-98
14
47
-18
7
70
-30
0
0
0
0
0
0
-3
-36
47
23
5
-1
2
-16
12
-37
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
24
24
51
49
0
0
83
41
2
42
29
-46
-15
0
0
0
2
-23
16
-22
39
-77
44
27
35
11
-13
-9
-9
-42
0
0
0
0
-12
47
59
116
-1
-8
51
10
-21
5
-36
-43
-145
0
0
0
0
-6
-76
-70
-98
-96
-32
26
-5
-32
-39
-50
-26
-100
0
0
0
0
-1
-7
20
-83
-100
-86
-40
-10
-14
7
-32
-21
-28
0
0
0
0
0
11
30
-91
-105
-109
-66
-29
-4
18
31
-10
-80
0
0
0
0
11
1
-81
102
-64
-49
-34
-42
1
5
-38
15
-28
0
0
0
0
0
0
18
-39
-21
-102
83
-10
11
-7
34
-32
63
0
0
0
0
0
0
-2
0
1
-18
-32
14
97
91
33
0
0
0
0
0
0
0
0
0
0
0
0
-72
23
41
9
61
47
9
0
0
0
0
0
0
0
-3
13
6
166
39
-12
-14
3
16
-11
0
0
0
0
0
0
0
-13
33
-20
119
85
39
-61
-42
6
-12
0
0
0
0
0
0
2
6
87
16
19
-10
-2
-136
67
14
25
0
0
0
0
0
0
2
1
13
-76
57
-32
-33
19
-21
16
44
0
0
0
0
0
0
0
6
43
26
-72
43
21
-74
-51
-34
59
0
0
0
0
0
0
0
3
13
20
-26
86
-46
-40
-39
14
77
0
0
0
0
0
0
0
3
26
83
58
-7
-8
-26
41
15
23
0
0
0
0
0
0
0
2
-46
17
-2
66
39
19
1
-35
40
0
0
0
0
0
0
0
0
0
-30
26
47
64
40
-62
-34
58
0
0
0
0
0
-5
-1
7
12
155
0
56
17
-36
-53
-5
9
0
0
0
0
0
0
0
1
-1
231
46
28
-36
76
-14
-25
-35
0
0
0
0
0
0
0
-11
18
54
87
-2
64
-6
20
-4
12
0
0
0
0
0
0
0
-1
63
-25
61
-23
-7
56
-67
-41
9
0
0
0
0
0
0
12
6
-14
47
-41
99
8
-40
30
16
-14
0
0
0
0
0
0
0
0
-40
20
126
12
-88
13
-15
-31
5
0
0
0
0
0
0
0
0
60
74
90
70
-14
65
-10
-52
43
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
5
3
0
0
0
0
0
-1
-31
64
-13
0
0
90
39
30
93
-4
68
-16
0
0
0
0
-28
16
91
0
37
0
145
28
73
51
26
-16
8
0
0
3
-3
-2
8
117
130
133
100
102
56
41
17
7
36
-16
0
0
0
-2
-7
-88
12
71
146
163
77
64
20
51
54
-1
-83
0
0
0
0
0
-29
-69
167
23
138
119
38
-12
68
36
45
-4
0
0
0
0
-24
-9
-36
43
49
1
35
8
-30
46
21
55
44
0
0
0
0
0
0
18
56
86
56
-30
29
17
-45
85
123
78
0
0
0
0
0
0
1
65
83
73
-54
29
0
-54
64
21
13
0
0
0
0
0
0
0
0
1
1
-4
9
-3
0
0
0
0
0
0
0
0
-5
5
3
-48
0
0
-33
114
-42
8
-43
-133
-17
0
0
0
0
-2
19
-12
0
0
0
-47
95
5
15
-47
-43
23
0
0
0
0
0
28
122
53
138
56
51
143
105
37
20
45
-53
0
0
0
0
-3
5
58
93
57
38
-33
82
32
31
-13
-76
-55
0
0
0
0
0
0
-3
238
158
47
26
-41
-49
-87
97
-24
105
0
0
0
0
0
0
17
165
103
140
62
-9
-28
-144
103
25
-51
0
0
0
-3
0
0
2
114
103
63
57
51
29
-122
29
-70
25
0
0
0
0
0
0
0
3
2
13
-22
0
29
56
-52
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
9
3
-18
-15
-5
-22
0
0
0
0
0
0
0
1
0
-3
4
99
-35
66
-12
-47
-10
0
0
0
0
0
0
-6
16
34
8
-58
31
17
51
14
-25
2
0
0
0
0
0
0
-14
127
-9
-6
2
-33
-66
-8
-30
96
-22
0
0
0
0
0
0
20
28
-5
-17
-5
2
-4
1
-5
-4
19
0
0
0
0
0
0
0
-2
66
0
-1
16
-2
-1
-18
-10
0
0
0
0
0
0
0
0
0
3
-4
2
3
-15
-1
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
11
-6
68
96
157
89
0
0
0
0
0
0
0
5
2
47
-1
-26
-70
-26
-35
-69
-71
0
0
0
0
0
0
0
0
4
1
-4
-90
61
-62
35
84
-11
0
0
0
0
0
0
0
0
0
14
-4
-12
57
86
17
-76
6
0
0
0
0
0
0
0
0
0
-7
9
75
-34
41
104
86
77
0
0
0
0
0
0
0
0
0
-2
11
7
59
-21
-87
100
19
0
0
0
0
0
0
0
0
0
0
-1
-4
-22
8
-19
27
149
0
0
0
0
0
0
0
0
0
0
0
0
-3
56
29
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
52
-188
20
0
0
0
0
0
0
0
0
0
0
15
-4
-21
-7
83
-93
-11
0
0
0
0
0
0
0
0
0
-1
-10
-1
11
-8
69
-72
-20
0
0
0
0
0
0
0
0
0
0
0
-2
6
113
112
68
-6
0
0
0
0
0
0
0
0
0
0
0
18
12
-25
64
103
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
-40
-62
-10
33
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
55
18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
20
0
0
0
0
0
0
0
0
0
0
2
0
-12
113
-12
-16
108
0
0
0
0
0
0
0
0
0
-2
-7
-1
-30
91
15
-122
103
0
0
0
0
0
0
0
0
0
0
-1
-1
-27
117
-13
139
72
0
0
0
0
0
0
0
0
0
0
-5
0
5
29
10
57
20
0
0
0
0
0
0
0
0
0
0
-4
0
13
-21
-25
-53
70
0
0
0
0
0
0
0
0
0
0
0
1
1
8
20
69
68
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
26
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-78
0
0
0
0
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
21
-3
10
41
-96
8
0
0
0
0
0
0
0
0
0
3
-3
29
36
-17
-108
-54
29
0
0
0
0
0
0
0
0
0
2
0
43
-51
-9
127
197
-105
0
0
0
0
0
0
0
0
0
0
18
-7
-3
79
46
56
14
0
0
0
0
0
0
0
0
0
0
0
1
-38
47
44
74
27
0
0
0
0
0
0
0
0
0
0
0
8
10
-71
8
53
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-52
69
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
-1
4
0
10
-18
68
-68
22
-27
-98
-48
0
0
0
0
0
0
-49
29
-61
67
76
-1
-40
75
83
5
36
0
0
0
0
0
0
3
14
-7
6
3
14
-36
21
74
109
52
0
0
0
0
0
0
-7
35
97
91
73
-104
-1
54
8
-7
13
0
0
0
0
0
0
-4
-15
88
3
48
223
-30
-69
48
24
-51
0
0
0
0
0
0
6
-35
-19
-8
-6
-11
-14
74
110
33
-44
0
0
0
0
0
0
0
64
-27
-31
-48
-35
58
92
-96
96
72
0
0
0
0
0
0
0
0
66
-4
1
-32
0
-24
86
39
32
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
-62
-1
0
0
0
0
0
0
0
0
0
-28
24
-7
2
70
-52
-112
-4
0
0
0
0
0
0
0
-6
0
-41
0
-1
-27
14
161
68
22
0
0
0
0
0
0
1
-5
1
-30
49
-27
20
-45
96
-11
-41
0
0
0
0
0
0
0
-4
7
44
79
13
-33
50
-11
14
106
0
0
0
0
0
0
0
-3
3
3
18
1
-33
-71
89
-18
-84
0
0
0
0
0
0
0
2
7
-1
-33
-9
32
88
-46
-33
117
0
0
0
0
0
0
0
-1
0
13
-10
-22
12
-3
35
58
41
0
0
0
0
0
0
0
0
0
-1
0
5
0
-10
90
70
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-34
121
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-16
-20
0
61
27
-8
-21
92
57
-39
-57
0
0
3
43
-77
50
-67
-19
0
50
51
34
10
107
-4
-5
81
0
0
-4
-17
-12
-84
-64
6
10
9
50
19
52
-70
104
91
-26
0
0
-2
-20
-25
80
-12
-41
39
73
53
28
91
50
117
9
34
0
0
-1
3
-7
-114
-29
13
44
-26
18
-3
113
-62
-10
23
60
0
0
0
0
-2
-8
-98
-14
-46
6
7
-17
136
106
-83
51
-59
0
0
0
0
0
6
-44
-114
-22
-159
-94
-48
8
22
82
17
-1
0
0
0
0
0
0
-2
-33
-101
-38
11
70
-11
0
-3
-63
-1
0
0
0
0
0
0
0
-2
-1
-15
0
0
0
0
0
0
0
0
0
0
13
-27
-102
0
-15
0
4
17
52
93
11
-60
12
0
0
0
-3
36
-59
28
-47
-23
-27
25
16
23
23
59
56
10
0
0
0
0
-25
-34
-29
-78
10
24
15
31
-2
27
86
-88
81
0
0
0
0
-10
-12
-97
-48
-46
-2
-6
-3
-22
-2
112
17
65
0
0
0
0
27
-58
42
-110
-53
-11
-18
26
-11
40
-6
-16
2
0
0
0
6
-3
-34
-66
-17
-14
-14
-28
-13
-20
-8
86
73
21
0
0
0
0
0
7
-14
-78
-48
14
-44
-28
-13
1
-21
-6
-6
0
0
0
0
0
-6
49
-84
67
80
-16
-8
-15
-27
-25
-6
-13
0
0
0
0
0
0
-11
45
-82
33
42
-25
-55
6
31
0
0
0
1
-1
1
14
14
32
-51
-15
0
14
12
-82
50
-29
2
0
0
0
10
3
42
6
26
-8
-21
0
50
15
-33
-50
-26
1
0
0
0
0
-4
-26
-10
-19
11
13
-35
0
54
1
-114
21
-4
0
0
0
0
-10
16
18
27
-15
-18
-3
69
73
-8
-159
-3
0
0
0
0
0
2
-39
27
-30
5
-8
-38
79
-15
44
39
25
0
0
0
0
2
-10
6
33
22
-33
11
20
-79
-58
-23
-66
24
0
0
0
0
0
5
37
37
-25
23
-2
28
-35
55
35
59
-12
0
0
0
0
6
-2
1
97
58
25
-4
-34
-122
-47
53
-81
-24
0
0
0
0
-7
-8
40
49
-8
40
13
-10
-78
-33
22
15
-1
0
0
0
0
0
5
-12
-38
56
64
17
0
7
48
88
11
-43
0
0
0
0
2
-2
-34
26
16
22
46
24
-10
-15
72
43
-8
-1
0
0
0
0
3
-49
9
-65
19
-22
45
-26
2
68
68
-8
0
0
0
0
0
2
1
-13
5
-29
35
40
-5
15
40
-24
91
0
0
0
0
0
-3
15
50
-1
-73
-27
-37
-31
-19
-28
-38
-21
0
0
0
0
0
0
-25
18
25
-2
-39
-56
-55
-17
-124
50
7
0
0
0
0
0
-2
14
1
5
-54
-39
29
-52
-92
-89
57
16
0
0
0
0
0
0
11
-82
-48
2
27
-35
-147
-59
-65
51
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
51
-14
0
0
0
0
0
0
0
0
1
20
3
-12
22
0
34
60
97
100
-78
56
66
-12
0
0
0
-6
-12
32
-44
13
8
42
26
50
15
64
-44
41
15
0
0
-2
0
-17
-61
-50
-30
19
12
41
23
37
-30
24
-75
-14
0
0
-3
1
-24
-27
-47
-45
25
-41
-10
41
26
79
52
178
-4
0
0
0
1
2
66
-35
-65
-34
-30
-17
20
72
72
154
75
-55
0
0
0
0
0
-44
-44
-91
-63
23
-69
-22
-92
7
6
-23
93
0
0
0
0
0
-1
-12
-47
-104
-14
49
-7
-71
-67
36
84
-85
0
0
0
0
0
0
14
-31
-27
-41
-8
-58
-11
-21
4
32
10
0
0
0
0
0
0
0
0
-1
-6
0
-1
-1
6
-7
-1
3
0
0
0
0
-3
19
-58
14
0
-25
-28
-1
-2
-48
97
71
89
0
0
0
0
-5
-29
-4
-6
23
51
7
61
-92
-108
91
2
29
0
0
0
0
19
15
-15
3
5
3
-46
-103
40
-11
-48
6
155
0
0
0
0
-4
-18
45
42
11
47
66
42
1
34
85
-77
115
0
0
0
1
5
-33
98
2
54
18
0
-131
13
-3
133
2
-56
0
0
0
0
7
2
-89
-49
22
-7
-58
-91
-16
-62
-91
47
101
0
0
0
0
3
29
19
-2
49
-67
-3
-42
-3
10
-1
-70
-5
0
0
0
0
0
0
46
12
-33
-49
-34
55
1
82
-1
-39
0
0
0
0
0
0
0
-2
49
16
-20
18
-7
13
0
0
0
0
0
0
0
0
0
0
3
-28
0
10
-10
-8
1
0
-1
68
0
0
0
0
0
0
0
-50
4
-23
-86
-120
-50
1
30
-11
71
0
0
0
0
0
0
1
-3
76
29
-62
26
5
-5
23
-7
-34
0
0
0
0
0
0
1
-1
-24
45
31
35
13
-1
4
40
-20
-12
0
0
0
0
0
1
1
29
-50
-43
-44
-60
-7
-1
20
126
27
0
0
0
0
0
0
-19
-143
102
-65
41
-82
-7
0
10
-18
-11
0
0
0
0
0
0
-2
-26
20
-24
3
-2
-5
-4
18
102
-3
0
0
0
0
0
0
0
-29
-54
18
-1
-1
0
0
-1
-1
-11
0
0
0
0
0
0
0
2
-2
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-12
-12
12
81
-26
0
0
86
0
0
0
0
0
0
0
0
2
-13
-6
31
-21
80
48
92
-64
-1
0
0
0
0
0
0
0
4
-3
0
1
-1
4
2
56
107
-5
0
0
0
0
0
0
0
0
-1
0
7
92
-36
-21
4
121
8
0
0
0
0
0
0
0
0
1
4
33
42
-42
-52
16
54
-1
0
0
0
0
0
0
0
0
-13
17
8
50
-130
-47
-23
1
0
0
0
0
0
0
0
0
0
19
-16
3
3
19
-9
-61
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
8
-2
-12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
81
-75
31
-21
0
0
0
0
0
0
0
0
0
0
0
0
-1
-98
34
-37
21
0
0
0
0
0
0
0
0
0
0
0
0
0
37
26
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
62
59
0
0
0
0
0
0
0
0
0
0
0
0
1
66
-36
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-47
16
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
14
-47
-64
-95
123
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-75
-59
72
0
0
0
0
0
0
0
0
0
0
0
0
0
26
12
89
82
-3
0
0
0
0
0
0
0
0
0
6
0
4
-62
-42
41
88
0
0
0
0
0
0
0
0
0
0
0
-5
10
6
15
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
20
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
6
-8
0
0
0
0
0
0
0
0
0
0
-7
-20
10
0
0
57
-1
0
0
0
0
0
0
0
0
0
-1
5
1
26
-2
-24
-6
-3
0
0
0
0
0
0
0
0
0
0
2
-7
-57
14
-47
100
-5
0
0
0
0
0
0
0
0
0
0
0
6
1
53
73
32
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-68
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-11
-5
-6
-34
-47
0
0
0
0
-19
-2
1
-14
0
0
0
22
-8
-24
-92
-67
12
-2
0
0
0
-2
6
-1
24
-82
71
22
-17
-4
-37
8
147
14
0
0
0
0
1
1
-1
36
-38
-19
-137
15
5
-38
-83
-23
-1
0
0
0
2
0
1
10
-31
25
91
47
31
-29
-60
74
167
-11
0
0
0
0
0
-2
1
2
-114
-84
-43
-103
91
35
45
2
0
0
0
0
0
0
0
-8
-2
51
-130
-2
23
-109
110
-11
11
0
0
0
0
0
0
0
0
9
3
-71
20
18
21
34
-9
5
0
0
0
0
0
0
0
0
0
0
-1
0
12
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
-11
15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
-1
3
0
0
0
11
0
0
0
0
0
0
0
0
0
1
-13
-12
-12
0
-15
-8
2
0
0
0
0
0
0
0
0
0
0
45
-47
-7
8
-16
-4
-3
0
0
0
0
0
0
0
0
0
4
51
45
7
16
3
-2
0
0
0
0
0
0
0
0
0
0
0
21
-8
-3
1
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
39
84
170
-3
-19
-130
0
0
0
0
-1
-12
-136
10
0
0
7
64
-72
18
-76
43
-194
0
0
0
-1
0
2
-30
49
-24
-9
5
38
13
7
-49
6
-25
0
0
11
-1
0
18
12
87
-51
97
48
-32
79
-2
70
111
174
0
0
0
0
-10
-3
22
-16
112
-6
-13
148
27
-15
39
120
-69
0
0
0
0
0
2
1
-2
64
56
103
50
121
86
-9
-60
-65
0
0
0
2
3
1
-3
-60
49
39
93
88
-24
69
-82
-46
33
0
0
0
0
-2
-4
-7
29
-24
-11
14
-15
36
-50
87
2
0
0
0
0
0
0
0
0
-20
0
0
0
0
-3
1
2
0
0
0
0
0
0
0
-1
4
-2
0
0
75
-29
-48
-28
64
102
71
0
0
7
0
-34
97
-42
-16
27
63
-38
-7
-8
-31
12
77
55
0
0
0
4
-8
49
-30
73
75
23
19
-5
-23
-12
-24
131
150
0
0
0
5
4
-4
-5
47
-38
16
-51
-28
-7
16
5
78
-82
0
0
0
4
9
32
57
-29
14
-35
6
11
-19
-6
45
24
101
0
0
0
0
2
-54
-19
-80
63
-59
5
-6
10
26
4
-47
68
0
0
0
-7
-7
-33
16
85
14
15
-15
9
-9
-4
23
8
184
0
0
0
-4
4
-35
2
10
-16
-10
47
-17
-26
-19
-39
-91
10
0
0
0
0
0
3
8
-8
6
28
-2
11
1
14
28
-13
0
0
0
0
0
0
0
0
0
0
0
31
-14
-160
58
-54
-90
-5
0
0
0
0
0
0
0
-25
1
6
-9
63
-44
-4
-10
-2
17
0
0
0
0
-4
0
0
2
2
25
43
79
84
-65
4
11
14
0
0
0
0
-3
5
1
0
-22
59
-29
-48
42
18
32
45
3
0
0
0
0
0
0
0
-4
2
-17
66
-28
59
11
-6
99
25
0
0
0
0
0
0
-7
6
-22
48
37
8
11
-5
77
71
7
0
0
0
0
0
0
0
4
4
13
11
-16
-4
96
24
-43
13
0
0
0
0
0
0
4
-4
29
13
-115
-61
2
-33
-46
4
0
0
0
0
0
0
0
0
-13
0
11
7
1
8
-19
20
24
4
0
0
0
0
0
0
0
0
0
36
131
67
-96
14
16
-76
-27
0
0
0
0
5
2
0
3
-31
36
0
16
20
-27
6
66
58
0
0
0
0
0
2
0
-11
1
-22
-34
11
-8
82
-41
6
77
0
0
0
0
4
0
-3
3
-15
-43
76
19
102
103
42
-39
-10
0
0
0
0
0
0
2
-3
9
-31
1
103
32
27
61
162
6
0
0
0
0
0
3
0
9
-22
111
43
65
25
20
22
77
59
0
0
0
0
0
0
0
2
8
14
22
50
52
-70
-26
34
-9
0
0
0
0
0
0
14
0
-5
14
19
-11
35
13
31
19
-35
0
0
0
0
0
0
0
0
0
0
0
-11
0
28
9
0
0
0
0
0
0
0
-1
-1
0
0
0
-30
54
-53
18
-5
-19
-11
0
0
0
0
-17
13
2
0
-2
0
-180
33
52
59
19
22
-26
0
0
0
14
7
-14
9
53
-50
29
29
83
72
-14
30
19
-69
0
0
0
0
-1
9
85
-23
-1
133
46
91
135
21
52
25
-34
0
0
0
0
-3
0
20
66
118
89
45
46
46
58
53
34
37
0
0
0
0
2
27
5
23
-8
6
74
53
25
24
27
119
0
0
0
0
0
2
2
61
49
-13
37
-37
-5
45
17
10
26
15
0
0
0
0
0
0
-1
-57
0
-17
86
95
10
-59
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-32
1
0
0
0
0
0
0
0
0
0
0
-23
-45
20
42
175
13
119
-8
0
0
0
0
-1
2
4
0
-5
0
104
-47
-1
32
-1
-7
6
0
0
0
0
0
0
-1
-5
35
14
75
133
82
98
-15
-22
15
0
0
0
0
0
0
-8
-1
33
73
49
-54
-42
12
12
4
70
0
0
0
0
0
0
-12
39
100
-159
11
69
-38
-9
45
-33
-14
0
0
0
0
0
-2
11
-13
30
76
-33
98
139
-15
-56
39
0
0
0
0
0
0
0
1
-1
54
95
50
-73
54
1
24
68
3
0
0
0
0
0
0
0
1
12
1
-2
51
90
-72
-124
-90
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-23
-16
4
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
4
5
-20
0
0
0
0
0
0
0
2
7
0
0
6
10
14
41
31
11
0
0
0
0
0
0
0
0
-1
0
0
0
9
11
-35
-14
17
0
0
0
0
0
0
0
0
59
-3
-2
0
-7
8
3
-42
-40
0
0
0
0
0
0
0
0
10
-68
0
3
2
16
-38
-25
6
0
0
0
0
0
0
0
0
18
49
-10
13
0
-24
32
-2
20
0
0
0
0
0
0
0
0
-1
52
-1
7
-9
-7
-3
-1
3
0
0
0
0
0
0
0
0
0
-2
2
-1
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-58
19
54
-4
192
-50
-52
0
0
0
0
0
0
2
34
6
3
-119
1
54
72
32
-28
29
0
0
0
0
0
0
-6
11
-44
35
30
-49
-46
74
-47
39
11
0
0
0
0
0
0
0
-10
10
-10
68
-107
40
20
9
5
-4
0
0
0
0
0
0
0
0
-3
-4
8
92
58
51
-20
28
71
0
0
0
0
0
0
0
0
-2
2
41
27
54
-31
14
27
16
0
0
0
0
0
0
0
0
0
6
1
59
-1
-28
97
-99
-6
0
0
0
0
0
0
0
0
0
0
-1
25
-18
-1
-176
-160
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
-43
71
0
0
0
0
0
0
0
0
0
0
1
-1
-12
-87
-42
99
0
0
0
0
0
0
0
0
0
-8
-10
-28
-34
54
98
100
-52
-22
0
0
0
0
0
0
0
0
-2
0
0
8
40
-46
81
-52
12
0
0
0
0
0
0
0
0
0
0
0
0
-4
54
7
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
29
-27
-94
-53
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-50
-76
-108
19
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
-25
143
57
0
0
0
0
0
0
0
0
0
0
0
0
3
75
3
31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
-4
0
0
0
0
0
0
0
0
0
2
4
39
14
13
12
103
-5
0
0
0
0
0
0
0
-2
-18
2
-54
-37
104
-8
22
-41
-1
0
0
0
0
0
0
0
4
-13
1
0
-14
46
-148
26
32
-14
0
0
0
0
0
0
0
0
-3
0
0
2
-52
114
91
-19
6
0
0
0
0
0
0
0
1
0
0
0
-29
60
-34
83
98
65
0
0
0
0
0
0
0
0
0
0
-7
0
-36
-147
-10
77
-11
0
0
0
0
0
0
0
0
0
0
0
0
39
152
87
-48
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-4
-12
-34
-4
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
11
12
62
10
0
-33
9
-3
0
0
0
0
0
0
-8
-3
9
-25
31
26
31
160
-1
-79
-3
0
0
0
0
0
0
0
6
-3
-6
18
-27
67
-80
92
76
17
0
0
0
0
0
0
0
20
-2
0
-14
-23
-117
19
128
94
-11
0
0
0
0
0
0
0
0
0
0
-1
-18
57
104
72
30
33
0
0
0
0
0
0
0
0
0
0
0
104
-14
31
-29
67
1
0
0
0
0
0
0
0
0
0
0
0
2
-78
8
35
-48
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
59
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
4
16
58
-60
81
1
139
32
0
0
0
0
0
0
-2
-5
6
2
162
111
3
-42
28
-15
94
0
0
0
0
0
0
-1
10
39
91
-21
-7
75
-2
-123
143
88
0
0
0
0
0
0
0
4
13
119
42
17
-3
55
18
0
46
0
0
0
0
0
0
-4
10
-59
-72
34
9
-15
14
-15
78
62
0
0
0
0
0
0
-6
2
26
-87
60
7
31
-29
48
46
-15
0
0
0
0
0
0
0
0
-15
19
73
79
42
79
6
-28
-148
0
0
0
0
0
0
0
0
0
0
-9
57
4
-42
-68
3
40
0
0
0
0
0
0
0
0
0
0
13
-4
10
19
-14
-11
-8
0
0
0
0
0
0
0
0
0
-7
-29
17
-23
43
50
-22
0
0
0
0
0
0
0
0
0
0
-1
3
51
70
73
-67
38
-42
0
0
0
0
0
0
0
0
-2
-7
0
-12
35
92
20
-41
28
0
0
0
0
0
0
-1
-10
3
45
34
3
11
-31
18
62
-2
0
0
0
0
0
0
0
18
7
15
15
-4
-22
-9
-18
40
79
0
0
0
0
0
0
0
-2
7
0
-9
18
-3
-38
-14
13
-3
0
0
0
0
0
0
0
-14
-2
-9
12
58
59
-76
-48
-38
16
0
0
0
0
0
0
0
0
19
26
-1
4
67
-14
73
-56
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
14
15
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
9
2
-26
0
85
-38
92
36
-38
-58
34
-45
0
0
0
0
23
-39
-65
-21
52
39
1
-64
-51
27
119
-35
21
0
0
0
4
2
31
39
26
-21
5
-25
-7
171
29
-132
-20
-30
0
0
0
-1
-2
-7
-71
-28
62
42
17
8
5
26
52
112
17
0
0
0
0
-1
-27
38
-135
-12
37
-65
-130
9
33
118
-97
35
0
0
0
0
0
6
-23
68
5
22
42
-45
106
-19
-32
33
59
0
0
0
0
10
-12
-14
49
-101
24
-37
78
-81
-87
38
77
-3
0
0
0
0
0
0
6
132
15
16
46
-10
-9
24
-73
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
6
19
-10
0
-66
-52
-64
-149
-166
-49
71
0
0
0
2
65
-2
37
-68
41
35
-33
-48
29
33
-57
104
74
0
0
-6
0
-14
-25
-27
39
-5
41
-23
8
23
13
7
149
-53
0
0
0
0
-1
-4
-14
-40
-7
29
-17
-38
-24
6
-3
29
103
0
0
0
0
1
-62
-23
46
70
60
3
2
23
-29
-28
-3
69
0
0
0
0
-6
-6
-138
41
2
-14
11
2
0
4
-11
16
148
0
0
0
0
4
3
7
93
-15
39
-8
-63
-20
-30
23
58
56
0
0
0
0
0
0
-8
-15
-74
-5
-7
-75
-20
-49
28
-25
-37
0
0
0
0
0
0
-20
21
55
77
-15
-5
11
49
68
0
0
0
0
0
0
0
0
0
0
0
0
6
20
6
71
-17
31
0
0
0
0
-4
-1
4
2
3
-23
62
41
79
54
43
11
52
-1
0
0
0
0
-5
0
-11
77
83
21
-50
-3
65
-42
63
-46
0
0
0
0
0
0
0
-11
12
-112
85
55
0
-1
-31
1
3
0
0
0
0
0
0
-5
-13
11
-37
-109
28
-35
-67
115
-5
-4
0
0
0
0
0
0
0
0
-68
13
21
-86
-18
-51
-6
-70
-1
0
0
0
0
0
0
0
-2
31
-54
28
-22
-44
-94
76
-61
-13
0
0
0
0
0
-1
-1
-5
10
5
23
17
71
-75
-119
-38
-15
0
0
0
0
0
0
0
0
63
-115
52
5
-7
-2
-7
16
-1
0
0
0
0
0
1
-1
3
16
0
0
42
-11
-34
-30
-87
-32
0
0
0
-2
-1
-1
-9
84
-36
-18
-34
0
-43
5
85
25
27
0
0
0
0
0
-3
-9
-118
39
3
143
101
34
38
-20
102
10
0
0
0
0
0
-2
0
-28
-4
6
19
22
-6
31
-1
92
108
0
0
0
0
0
-4
4
-15
9
16
-24
-21
-48
-35
29
70
23
0
0
0
0
0
-2
-10
-18
23
0
-82
36
-12
-37
25
-10
-12
0
0
0
0
0
-9
47
-9
1
-35
-19
-13
5
12
63
7
2
0
0
0
0
0
0
3
-24
3
-87
-3
-30
-48
14
-12
-78
-1
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-5
0
2
0
0
0
0
0
0
0
1
-20
8
0
13
-26
98
25
8
66
68
6
0
0
-2
0
1
104
42
6
56
15
-17
98
14
-103
63
51
-62
0
0
0
34
-7
-7
150
-19
-23
55
26
82
17
-76
35
66
-103
0
0
0
0
-2
-61
-47
66
16
18
-21
37
35
-72
77
50
-102
0
0
0
0
37
-12
-36
-211
-102
19
79
51
12
58
69
3
10
0
0
0
0
3
0
-42
1
-53
-7
1
29
-6
-44
50
36
2
0
0
0
0
0
0
-8
84
50
-143
-67
-19
-62
-110
0
-4
42
0
0
0
0
0
0
-11
-8
-2
23
14
61
-34
91
-13
-39
-2
0
0
0
0
0
0
0
0
-1
0
6
-2
4
0
-6
14
0
0
0
0
0
0
0
0
1
0
76
-40
22
17
-33
110
78
-13
0
0
0
0
0
-10
-50
11
58
-38
-59
38
22
-17
70
17
-34
0
0
0
0
0
6
13
-31
54
12
7
-21
12
12
-106
-42
-14
0
0
0
0
0
0
6
54
30
1
34
10
30
-7
78
-142
-63
0
0
0
0
1
-11
-39
11
-2
6
-26
93
66
8
88
32
44
0
0
0
0
0
0
-8
42
-124
39
-39
153
47
-7
27
88
-66
0
0
0
0
0
0
12
-29
-23
-41
35
-10
40
-8
82
21
20
0
0
0
0
0
0
0
0
-34
-48
-66
-50
11
25
17
43
0
0
0
0
0
0
0
0
0
0
0
1
-4
-12
12
5
-2
-2
0
0
0
0
0
0
0
0
0
25
-4
0
-4
-14
-27
8
1
0
0
0
0
0
-8
-2
-70
-23
42
97
26
-52
-2
138
-32
-5
0
0
0
0
0
0
-8
-14
-24
-27
90
-152
-27
-42
13
61
38
0
0
0
0
0
0
0
2
8
-15
99
39
59
-16
30
-120
-4
0
0
0
0
0
0
0
-20
-16
-22
69
-56
-23
-66
-19
62
-31
0
0
0
0
0
0
-2
0
55
-25
-5
-4
141
-87
73
18
-37
0
0
0
0
0
0
6
-85
79
44
-34
-59
-47
50
-96
-76
4
0
0
0
0
0
0
14
6
6
-21
-9
-3
25
-43
-9
41
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
14
-68
-10
15
23
1
0
0
0
0
0
0
0
0
0
0
7
-5
46
-88
230
54
0
0
0
0
0
0
0
0
0
0
0
-6
-16
64
-77
-27
66
0
0
0
0
0
0
0
0
0
0
0
0
5
8
7
62
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-60
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-16
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
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
19
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
0
0
0
0
-1
0
-4
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
0
0
0
-10
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
2
0
14
10
56
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
25
-36
-24
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
4
-2
-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
1
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
9
3
17
24
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
32
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
70
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
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
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
9
0
0
0
2
-15
17
53
33
82
9
0
0
0
0
-2
-7
-29
0
0
0
10
76
-84
-31
-14
7
-61
0
0
0
0
0
-5
10
-28
30
37
129
-37
8
49
-75
-155
50
0
0
0
0
21
0
27
154
-7
24
-8
-67
-13
-12
7
20
0
0
0
0
0
0
0
3
-3
18
34
71
-8
28
68
-9
-55
-11
0
0
0
0
0
0
0
9
-21
20
8
-75
-23
-21
132
-66
1
0
0
0
0
0
0
1
38
9
53
-60
45
-26
0
-48
10
8
0
0
0
0
0
0
2
111
12
-27
0
3
5
4
9
0
-2
0
0
0
0
0
0
0
0
8
0
1
0
0
-11
0
-31
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-4
-1
4
1
0
0
0
0
0
0
0
2
-12
2
7
-9
-15
1
2
1
-10
0
0
0
0
0
0
0
0
1
-7
0
6
5
-2
1
-6
0
0
0
0
0
0
0
0
-9
1
4
1
0
0
-1
0
-12
-10
0
0
0
0
0
0
0
-1
8
0
0
0
0
-7
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
8
4
25
3
95
0
0
0
0
0
-3
15
-47
0
0
76
112
32
53
19
-2
51
0
0
0
0
0
-2
-8
194
335
46
-26
119
122
18
25
36
-4
0
0
0
8
0
-11
12
59
56
179
65
-16
37
14
51
42
63
0
0
0
0
0
-5
-5
-50
45
50
101
14
-6
49
37
14
29
0
0
0
0
3
0
-6
25
26
-99
-61
-48
31
48
-20
-23
102
0
0
0
0
-1
3
0
-3
35
-44
-59
-65
-35
-11
-29
-11
0
0
0
0
0
0
0
0
-14
-19
-14
-25
-60
57
41
-75
-79
-9
0
0
0
0
0
0
0
0
10
2
0
1
0
0
1
-17
2
0
0
0
0
0
-4
20
31
0
0
9
8
23
-29
-15
-117
-20
0
0
0
0
0
0
15
-103
17
50
59
41
37
12
-21
-29
-20
0
0
0
0
1
-1
-9
-24
20
-72
22
13
23
-7
-3
4
-9
0
0
0
0
7
-2
64
-54
19
70
-56
-8
-33
-24
6
-18
-19
0
0
0
0
-1
10
10
19
-34
-19
37
-13
-27
5
-23
-35
-101
0
0
0
0
1
0
-57
98
-34
-5
15
-46
24
1
-14
-81
-44
0
0
0
0
6
2
-78
17
-43
-97
-125
-67
4
9
-3
-110
-55
0
0
0
0
0
-15
16
-40
-11
57
5
23
-22
2
14
56
-212
0
0
0
0
0
0
-1
1
-1
91
-40
58
-77
35
1
47
0
0
0
0
0
0
0
0
0
0
0
43
148
-28
11
20
90
59
0
0
0
0
0
0
0
0
-38
70
8
32
-54
-39
9
4
-14
0
0
0
0
0
0
0
0
-14
-42
82
-14
49
-63
-17
-11
10
0
0
0
0
0
0
0
0
6
82
9
-18
53
-19
3
21
17
0
0
0
0
0
0
0
0
-28
57
11
-52
0
-28
14
4
31
0
0
0
0
0
0
0
0
55
14
-48
-50
81
12
-10
46
24
0
0
0
0
0
0
0
0
0
-29
-35
48
52
-6
13
23
30
0
0
0
0
0
0
0
11
-49
-62
78
-64
46
15
34
-7
-29
0
0
0
0
0
0
0
0
16
26
-1
9
131
5
-53
-14
20
0
0
0
0
0
0
0
0
0
38
83
80
43
-17
32
27
24
0
0
0
0
1
0
0
3
-1
36
0
9
53
-12
41
9
0
0
0
0
0
0
0
1
0
-18
93
114
86
-20
-18
16
4
61
0
0
0
0
0
0
0
3
11
10
65
155
132
45
10
11
46
0
0
0
0
0
0
-13
-10
7
45
-42
10
59
-12
10
43
78
0
0
0
0
0
-1
-8
3
3
-69
27
-32
-10
60
-1
15
26
0
0
0
0
0
0
0
5
20
44
130
70
54
-8
-10
-23
-47
0
0
0
0
0
0
0
0
42
-33
-11
-19
15
8
-4
-133
-38
0
0
0
0
0
0
0
0
-1
0
0
0
-15
-64
9
-5
1
0
0
0
0
9
3
0
-5
0
0
-33
70
49
16
13
47
38
0
0
0
0
1
0
20
0
159
0
93
60
52
50
38
-16
111
0
0
0
0
0
6
37
210
75
67
-59
102
98
10
48
29
-40
0
0
0
0
0
0
-6
0
71
-59
65
-29
70
45
54
22
10
0
0
0
0
0
-2
-3
4
55
48
28
-25
-26
61
61
40
33
0
0
0
0
0
0
18
4
66
44
20
127
19
23
32
34
-34
0
0
0
0
1
0
-16
65
-90
9
7
-6
179
16
27
65
39
0
0
0
0
0
0
0
-6
0
-1
17
-30
-32
5
-92
8
-31
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-3
23
0
0
0
0
0
0
0
0
-2
0
1
103
114
-9
112
-16
-69
-5
0
0
0
0
0
5
1
0
0
0
115
24
57
-17
24
63
111
0
0
0
0
0
0
9
60
-26
62
116
-19
153
-7
-53
121
62
0
0
0
0
0
0
15
9
40
-32
159
-23
-13
88
57
66
4
0
0
0
0
0
0
-1
-82
-9
25
-25
39
-14
40
29
57
113
0
0
0
0
0
0
0
-10
24
-21
124
38
-25
-62
50
-42
42
0
0
0
0
0
0
0
0
8
4
3
12
-89
-77
-88
-38
27
0
0
0
0
0
0
0
0
0
1
19
36
40
-6
-15
85
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
10
-58
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-68
-50
-19
0
0
0
0
0
0
0
0
0
2
0
4
37
-86
-59
0
42
0
0
0
0
0
0
0
0
-1
0
25
14
11
90
-93
4
-31
0
0
0
0
0
0
0
7
0
-10
5
1
25
82
39
168
17
0
0
0
0
0
0
0
1
8
12
-1
1
9
-23
31
129
60
0
0
0
0
0
0
0
0
-1
2
-1
0
4
-58
38
-101
-1
0
0
0
0
0
0
0
0
0
0
-1
1
0
-8
-23
-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
5
0
27
50
-68
49
58
9
27
87
0
0
0
0
0
0
8
46
87
35
19
79
97
-19
43
-51
-65
0
0
0
0
0
0
0
-13
-13
95
95
18
-62
55
6
39
69
0
0
0
0
0
0
0
-4
-24
-89
-47
198
-11
13
23
78
125
0
0
0
0
0
0
0
0
-22
-14
46
-85
-21
3
-9
-32
78
0
0
0
0
0
0
0
0
7
9
-2
0
56
4
-17
-78
-96
0
0
0
0
0
0
0
0
0
0
-3
-48
-41
-9
55
72
21
0
0
0
0
0
0
0
0
0
0
-10
-2
-2
3
72
7
8
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
-14
-99
50
0
0
0
0
0
0
0
0
0
2
-1
-38
-18
-176
23
88
36
0
0
0
0
0
0
0
0
-5
-6
5
114
-26
-35
110
-68
-6
0
0
0
0
0
0
0
0
0
4
22
-3
87
24
86
175
93
0
0
0
0
0
0
0
0
0
-1
-17
-37
-2
-10
-64
79
43
0
0
0
0
0
0
0
0
0
0
0
-24
15
45
99
89
190
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-46
-26
174
-31
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-27
57
90
82
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
-34
-22
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
49
2
0
0
0
0
0
0
0
0
0
24
-16
-2
-36
-74
-110
55
27
0
0
0
0
0
0
0
4
2
-21
67
23
93
-112
63
-81
32
0
0
0
0
0
0
0
0
0
1
7
19
39
-9
39
101
236
0
0
0
0
0
0
0
-1
-2
-3
-7
20
-50
112
58
129
65
0
0
0
0
0
0
0
1
0
1
1
2
-18
-104
-52
146
44
0
0
0
0
0
0
0
0
0
0
-3
-1
26
-21
-83
-15
-105
0
0
0
0
0
0
0
0
0
0
0
0
-27
10
63
-50
-93
0
0
0
0
0
0
0
0
0
0
0
0
-9
23
-47
-2
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-1
0
0
0
0
0
0
0
0
0
7
4
-7
20
98
-36
-50
34
0
0
0
0
0
0
1
0
2
37
-35
18
69
-16
67
59
59
0
0
0
0
0
0
0
0
-2
-2
-2
20
26
17
189
29
2
0
0
0
0
0
0
0
0
1
-3
-13
-41
43
-66
58
59
11
0
0
0
0
0
0
0
0
0
1
1
16
94
-78
-37
-12
-39
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-5
-95
9
4
0
0
0
0
0
0
0
0
0
0
0
-12
8
-111
-26
-11
54
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
10
0
0
0
0
0
0
0
15
0
121
63
25
64
13
39
39
6
0
0
0
0
0
0
1
1
3
-43
22
33
-50
2
93
-50
80
0
0
0
0
0
0
0
-4
5
67
-37
-204
99
66
65
5
-8
0
0
0
0
0
0
0
2
-7
-14
-89
65
28
34
25
50
47
0
0
0
0
0
0
-1
27
17
-7
32
94
26
-64
-140
31
30
0
0
0
0
0
0
0
3
5
5
59
-93
37
91
3
61
19
0
0
0
0
0
0
0
0
-5
3
-20
-97
7
22
38
7
17
0
0
0
0
0
0
0
0
-4
1
0
45
-68
-89
19
-75
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
-32
-67
0
0
0
0
0
0
0
0
0
11
1
-22
-4
97
58
-50
76
0
0
0
0
0
0
0
0
0
3
3
-10
-12
74
33
10
61
0
0
0
0
0
0
0
0
0
3
11
-16
66
41
59
20
-12
0
0
0
0
0
0
0
0
0
-2
-3
15
49
17
81
41
93
0
0
0
0
0
0
0
0
0
-1
0
-11
-7
-8
-61
71
8
0
0
0
0
0
0
0
6
0
10
4
18
-10
87
17
30
35
0
0
0
0
0
0
0
0
0
-1
0
-7
12
-46
-13
92
61
0
0
0
0
0
0
0
0
0
0
-3
0
8
-7
-62
49
95
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-53
-37
60
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
-32
0
21
55
-1
-58
46
34
88
122
0
0
0
-10
-4
-10
-112
-64
22
128
41
-23
39
9
31
-58
68
0
0
0
1
4
39
9
-78
-54
44
65
95
122
13
10
57
-73
0
0
0
2
7
2
-50
-125
4
-48
-102
38
-94
3
57
100
110
0
0
0
0
0
6
-7
127
-42
-103
-32
-42
42
-10
92
0
22
0
0
0
0
0
0
8
12
122
-5
-16
32
-50
50
-128
-63
-55
0
0
0
0
0
5
3
-1
73
-13
-5
-45
-70
27
-74
2
-26
0
0
0
0
0
0
0
15
-4
-21
-22
-19
-30
65
67
29
13
0
0
0
0
0
0
0
0
9
6
0
0
0
0
8
-2
-2
0
0
0
-2
9
-35
-104
-74
0
-23
-21
70
107
53
6
45
0
0
0
0
-8
19
42
80
-86
-78
20
39
12
-1
5
14
187
0
0
0
0
9
-8
19
-117
-103
-7
-67
30
-6
-5
65
41
159
0
0
0
0
1
0
-28
-51
-10
75
25
-13
44
31
63
123
31
0
0
0
0
0
5
-23
-33
13
-5
-34
-30
-30
-81
21
-9
-20
0
0
0
0
0
1
0
-58
61
-44
-40
2
-46
12
10
19
-129
0
0
0
0
0
1
-3
39
-4
-125
-17
-50
4
-23
10
36
11
0
0
0
0
0
-4
-3
21
-44
33
-54
-39
1
26
98
-96
-20
0
0
0
0
0
0
0
8
24
-38
-89
-55
-9
4
-3
11
0
0
0
0
0
-2
0
-12
-30
-38
0
-19
-62
121
-24
-16
64
-6
0
0
0
0
-1
11
-36
22
-60
-12
28
-92
145
-82
-3
60
0
0
0
0
0
-2
-1
22
31
0
77
122
-78
-28
3
-30
-84
7
0
0
0
0
0
0
9
38
104
-13
102
0
-39
-8
-1
0
1
0
0
0
0
0
0
-9
1
-3
18
14
-8
17
59
1
-9
2
0
0
0
0
-4
0
72
88
32
110
43
16
15
29
-5
5
0
0
0
0
0
0
5
-26
54
-53
-167
24
-58
86
-69
-2
-19
2
0
0
0
0
0
2
6
-14
18
-110
-30
4
-34
-8
-1
-1
0
0
0
0
0
0
0
12
-74
-74
3
55
-1
-4
25
0
0
0
0
0
0
0
0
0
35
-35
-22
0
-3
99
100
-4
90
-5
0
0
0
0
0
0
1
-15
29
13
76
39
111
-43
112
34
-10
0
0
0
0
0
0
0
37
59
-5
-23
-9
114
82
68
170
3
0
0
0
0
0
0
0
7
-6
28
109
-8
-40
-20
9
108
20
0
0
0
0
0
0
5
-17
-14
13
-137
79
-97
-18
-2
-39
-50
0
0
0
0
0
0
2
-34
4
31
-22
-50
36
-61
26
-65
-10
0
0
0
0
0
0
-1
-3
39
-90
-2
177
-10
-33
5
41
0
0
0
0
0
0
0
0
1
-5
-13
92
15
-43
-63
-24
2
-1
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
-10
40
0
-10
82
91
6
4
8
14
22
0
0
0
0
0
39
55
58
-46
46
60
62
-48
4
-48
66
-17
0
0
0
15
19
15
-76
25
3
19
-7
-9
5
76
2
-49
-31
0
0
0
0
-1
-1
75
67
-13
58
-9
29
19
-17
120
64
-69
0
0
0
0
0
-6
11
42
4
-43
168
33
128
86
55
-31
-25
0
0
0
0
0
-6
8
63
-12
-19
67
-64
17
21
25
90
44
0
0
0
0
0
0
3
21
4
20
-4
-63
8
-45
-9
-38
-68
0
0
0
0
0
0
0
-8
-2
53
4
-57
-32
18
-14
-12
8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
-3
-1
0
0
0
0
0
0
0
21
0
-15
1
-10
7
-112
-102
-52
8
0
0
0
0
0
0
19
42
-33
7
2
36
67
83
135
39
168
0
0
0
0
0
0
1
-6
22
40
39
-74
36
-27
120
64
0
0
0
0
0
0
0
0
-17
-77
-24
1
61
-86
16
-7
71
32
0
0
0
0
0
0
1
43
37
-42
54
95
-74
-18
-80
83
96
0
0
0
0
0
0
2
-3
7
-85
-193
28
-16
-30
-40
-56
125
0
0
0
0
0
0
0
0
-50
33
35
-35
-47
84
-34
-96
-88
0
0
0
0
0
0
0
0
180
-31
-15
-33
-22
-27
-77
-75
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
-4
-14
0
0
0
0
0
0
0
0
0
27
25
0
-14
-2
35
-75
16
0
0
0
0
0
0
3
1
6
15
20
-79
17
17
71
44
71
0
0
0
0
0
0
0
-11
-7
-8
-46
0
-4
35
53
-56
17
0
0
0
0
0
0
0
2
2
-35
10
-2
-11
105
138
91
119
0
0
0
0
0
0
0
0
7
-1
70
49
0
0
-50
19
5
0
0
0
0
0
0
0
-3
1
-14
3
-8
9
-1
24
51
77
0
0
0
0
0
0
0
-3
6
-17
-7
12
-17
-15
55
-10
-48
0
0
0
0
0
0
0
0
-3
1
0
12
-8
20
-21
29
30
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-46
2
73
16
-49
12
0
5
0
0
0
0
0
0
0
57
19
-44
-122
-121
22
35
120
54
19
0
0
0
0
0
0
0
89
-46
68
-1
10
31
-24
8
15
2
0
0
0
0
0
0
0
-10
57
42
-55
14
67
-3
-2
0
0
0
0
0
0
0
0
0
-97
26
-74
-12
14
5
7
0
0
0
0
0
0
0
0
0
0
-28
-78
96
-6
-19
20
-9
0
0
0
0
0
0
0
0
0
0
-38
-6
-64
7
-26
-25
0
0
0
0
0
0
0
0
0
0
0
-11
78
6
97
-21
-1
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
11
-7
10
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-56
1
-17
-10
2
0
0
0
0
0
0
0
0
0
0
12
-63
-40
-71
4
0
1
0
0
0
0
0
0
0
0
0
0
-27
7
40
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
20
5
77
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
38
-65
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
36
94
23
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
-48
-63
49
-31
9
-1
0
0
0
0
0
0
0
0
0
0
-10
45
-40
67
-54
-2
-3
9
4
0
0
0
0
0
0
0
0
-29
20
-181
39
109
21
8
-7
4
2
0
0
0
0
0
0
0
3
42
104
-117
48
-2
0
0
0
0
0
0
0
0
0
0
0
1
36
82
-70
-69
1
-2
0
0
0
0
0
0
0
0
0
0
-20
-74
77
-24
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-51
138
32
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
-2
-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
10
32
-114
-66
-14
4
-13
0
0
0
0
0
0
0
0
0
41
75
-22
31
-82
-83
-3
31
-1
0
0
0
0
0
0
0
0
10
30
-62
111
-25
-1
6
-7
0
0
0
0
0
0
0
0
0
-2
2
-121
-149
0
-25
1
0
0
0
0
0
0
0
0
0
0
9
-14
162
152
-30
-11
0
0
0
0
0
0
0
0
0
0
0
2
5
8
-27
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-87
33
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
-4
-33
-14
137
132
-13
-158
-99
0
-3
0
0
0
0
0
0
0
-52
-92
105
31
-7
76
-41
-10
-102
1
0
0
0
0
0
0
0
-2
-19
-44
36
-67
-170
-117
30
-14
-8
0
0
0
0
0
0
0
52
25
2
147
104
86
19
64
74
0
-1
0
0
0
0
0
0
-15
11
-72
3
-74
109
-48
1
3
-17
0
0
0
0
0
0
0
3
-107
-82
81
56
-50
39
74
3
0
0
0
0
0
0
0
0
39
15
76
-48
71
-58
146
-33
5
1
0
0
0
0
0
0
0
-33
10
-9
-54
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
1
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
37
-21
-10
-12
0
-5
-1
-5
0
0
0
0
0
0
0
0
-29
71
31
35
-5
7
0
-12
-7
0
0
0
0
0
0
0
0
4
-37
-15
27
11
-3
6
3
1
-14
0
0
0
0
0
0
0
0
1
58
1
13
-10
3
19
2
-2
0
0
0
0
0
0
0
-2
43
0
44
-2
-9
4
-2
0
-26
0
0
0
0
0
0
0
0
-92
-20
0
-8
-4
0
0
-2
-2
0
0
0
0
0
0
0
-2
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
-3
52
-40
-60
-84
0
-122
-59
0
108
-2
0
0
0
0
0
0
7
93
135
184
140
17
-19
70
-18
87
-202
-67
8
-1
0
0
0
-5
-7
115
-19
161
3
-96
-59
-65
-150
18
-14
0
-2
0
0
0
6
48
32
-4
48
16
41
135
127
-75
-20
-38
8
-2
0
0
0
-76
72
67
-24
-46
82
59
114
7
108
-91
22
0
0
0
0
0
1
80
-75
-105
-52
154
10
20
197
48
8
0
0
0
0
0
0
0
27
-145
24
79
23
56
40
37
19
0
0
0
0
0
0
0
0
0
-6
13
5
9
-23
50
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
14
4
123
-21
-29
-141
-22
0
-247
-151
-2
26
15
-1
0
0
0
103
45
-14
-7
-17
-90
-22
27
55
47
46
-25
55
-3
0
0
0
98
-14
38
-2
32
-26
-7
32
-27
-65
-53
-9
95
-2
0
0
0
21
10
35
7
25
-12
27
83
-37
73
-20
34
15
5
0
0
0
35
60
96
45
4
15
1
-17
29
-82
43
-24
-9
12
0
0
0
65
26
28
42
28
13
-40
-16
-99
-46
71
-19
3
0
0
0
0
0
88
-7
40
46
10
9
-35
-136
12
-14
14
7
0
0
0
0
15
101
-26
125
-8
21
-24
-35
18
-68
-1
-1
0
0
0
0
0
1
3
15
-44
7
4
-110
38
16
-3
0
1
-7
0
0
0
0
0
35
26
59
-88
-21
10
0
-47
8
-3
0
0
0
0
0
0
-1
-52
-37
-104
70
-74
149
139
83
64
-33
0
0
0
0
0
0
1
-10
-51
46
-18
58
-18
-48
-65
-76
4
0
0
0
0
0
0
0
29
-175
-75
93
36
157
50
54
-15
-7
2
0
0
0
0
0
6
0
-29
50
107
166
57
33
26
16
0
0
0
0
0
0
0
0
7
23
-55
247
30
-29
-33
-20
-6
2
0
0
0
0
0
0
0
2
132
100
4
-8
133
-80
-4
-3
0
0
0
0
0
0
0
44
1
-16
28
30
13
33
45
-45
0
0
0
0
0
0
0
0
0
0
6
-8
81
-92
105
-5
2
0
0
0
0
0
0
0
0
0
-152
-123
-49
28
-121
80
0
1
-22
-6
11
6
0
0
0
0
0
42
1
10
35
-66
63
55
-19
-65
-99
-37
-13
0
0
0
0
0
56
-7
17
23
-67
10
90
39
54
49
65
2
-1
0
0
0
0
21
-3
-52
115
-38
57
186
119
-8
-35
-53
-6
-1
0
0
0
0
-35
61
-26
60
36
122
191
154
-15
-26
12
1
7
0
0
0
0
-33
-67
47
20
66
41
168
116
23
95
-20
-2
0
0
0
0
0
-8
-16
-47
-58
91
129
164
96
6
35
44
-2
0
0
0
0
0
2
-11
126
-12
-80
55
151
141
-41
-1
-7
0
0
0
0
0
0
0
0
0
-7
27
-7
1
0
0
0
0
0
0
0
0
58
9
7
71
-29
-46
-151
26
0
39
54
15
0
0
0
0
0
103
-25
-13
-2
-166
-21
-45
-4
59
37
-23
-24
2
2
0
0
0
-129
84
81
-48
62
59
-12
-18
-138
-97
83
-5
1
-1
0
0
0
6
114
-8
88
83
76
74
45
70
78
41
58
0
0
0
0
0
-33
49
4
82
57
71
52
36
123
-38
45
-23
0
0
0
0
0
3
16
83
100
-45
107
116
18
-3
13
19
-3
0
0
0
0
0
22
17
5
-94
28
57
109
-7
-143
-5
7
-9
0
0
0
0
0
-9
2
-19
-120
6
34
99
-54
-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
68
56
17
43
53
95
-63
36
0
61
21
0
0
0
0
0
0
17
33
191
43
-10
60
138
37
39
-22
13
9
0
0
0
0
0
8
83
35
108
43
23
-66
114
-93
-22
6
14
0
0
0
0
0
40
1
-80
145
55
24
-51
56
31
76
-39
-3
0
0
0
0
0
0
-157
108
52
72
-47
6
118
-43
-66
-47
0
0
0
0
0
0
35
1
36
73
35
-6
-5
47
76
0
-25
1
0
0
0
0
0
-16
-18
55
27
42
73
62
-16
-15
54
0
0
0
0
0
0
0
0
-2
6
102
6
-77
-16
16
-9
-8
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
-3
0
-5
6
49
58
50
0
1
0
0
0
0
0
0
0
11
1
2
-2
3
19
-87
223
15
-52
4
0
0
0
0
0
0
1
6
0
-17
39
-55
46
39
30
22
1
0
0
0
0
0
0
0
2
-3
18
-14
-65
46
-71
55
-24
-6
0
0
0
0
0
0
0
23
-23
31
96
53
-115
-47
-120
-28
0
0
0
0
0
0
0
0
12
-20
-24
-13
76
-76
9
-29
7
-12
0
0
0
0
0
0
0
12
-3
-2
19
-55
-55
-59
23
1
-2
0
0
0
0
0
0
0
10
0
7
3
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
14
-1
0
0
0
0
0
0
0
0
0
71
111
0
0
118
69
-16
-11
0
-1
0
0
0
0
0
0
0
1
109
156
144
68
113
-11
8
-8
0
0
0
0
0
0
0
0
45
-7
62
52
-11
-64
93
1
0
0
0
0
0
0
0
0
0
-2
44
-11
10
7
-23
12
5
1
0
0
0
0
0
0
0
0
-71
-48
-117
-81
112
56
64
-7
9
0
0
0
0
0
0
0
0
-47
-60
-58
-88
-52
-22
4
-2
0
0
0
0
0
0
0
0
0
-12
-98
-112
-85
43
14
-2
0
0
0
0
0
0
0
0
0
0
0
-13
-9
60
2
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
-18
-118
0
0
11
-29
6
14
-1
0
0
0
0
0
0
0
0
5
158
225
98
88
-64
-2
0
0
0
0
0
0
0
0
0
0
-1
-30
32
58
9
-57
-5
0
0
0
0
0
0
0
0
0
0
0
-113
-19
33
35
12
0
-1
0
0
0
0
0
0
0
0
0
0
23
72
-80
67
5
-13
0
0
0
0
0
0
0
0
0
0
0
-16
-121
-115
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
114
0
0
103
134
46
0
0
0
0
0
0
0
0
0
0
35
23
96
61
-17
10
16
4
0
0
0
0
0
0
0
0
0
-1
63
100
37
7
13
-2
-2
0
0
0
0
0
0
0
0
0
-3
100
3
7
61
21
0
0
0
0
0
0
0
0
0
0
0
3
-82
-76
67
43
3
0
0
0
0
0
0
0
0
0
0
0
0
-41
-41
44
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-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
3
-95
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
63
96
0
0
14
-8
0
0
0
0
0
0
0
0
0
0
0
16
88
119
69
7
42
0
2
0
0
0
0
0
0
0
0
-2
0
90
7
56
-6
-19
8
4
0
0
0
0
0
0
0
0
0
78
-116
-4
-19
100
12
0
0
0
0
0
0
0
0
0
0
0
20
-84
-35
28
-37
-1
0
0
0
0
0
0
0
0
0
0
0
12
8
24
1
166
-5
0
0
0
0
0
0
0
0
0
0
0
0
28
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
-6
-19
-61
173
184
113
0
0
0
118
-5
0
0
0
0
0
0
19
-58
-5
-92
271
120
0
0
0
45
28
-3
1
0
0
0
0
-6
-61
-20
39
153
177
126
167
61
-3
2
-2
0
0
0
0
0
3
0
-31
2
-13
-18
5
22
81
-70
-1
0
0
0
0
0
0
1
5
33
118
43
2
-34
-26
-1
-10
0
0
0
0
0
0
0
-14
-39
-58
50
-26
-63
-99
-22
42
-48
14
1
0
0
0
0
0
-2
35
28
41
-39
12
-34
43
-42
-6
-4
-4
0
0
0
0
0
-1
0
-44
26
83
-31
-51
14
-12
-4
10
0
0
0
0
0
0
0
0
0
-6
-4
-11
10
69
-3
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
-5
-5
42
0
0
0
30
37
19
-5
0
0
0
0
0
0
-4
-6
1
59
22
63
47
-18
1
-6
-4
-4
0
0
0
-5
3
-20
-7
-3
85
20
12
-145
11
-9
-2
0
0
0
0
0
0
-7
-52
-95
56
-32
39
-70
55
-51
-11
0
0
0
0
0
0
-8
14
-19
-3
9
-172
-69
16
-11
-1
0
0
0
0
0
0
0
0
44
-63
-24
47
-49
-37
0
-74
26
0
0
0
0
0
0
0
0
-7
-5
-8
2
-21
0
-89
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
215
29
-65
13
58
53
0
0
0
0
0
0
0
0
0
0
0
-40
-2
4
27
14
37
25
0
0
0
0
0
0
0
0
0
0
32
-14
21
-42
29
74
-14
-2
0
0
0
0
0
0
0
0
0
-31
91
9
58
-39
39
-76
-2
5
1
0
0
0
0
0
0
0
67
41
-1
54
-43
-46
2
-71
25
-10
1
0
0
0
0
0
0
-14
60
111
-51
6
91
-82
-46
28
5
-11
0
0
0
0
0
0
57
-4
-82
19
4
43
-27
56
-8
1
-11
22
0
0
0
0
0
3
-37
-2
64
-47
58
52
21
-15
-5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
-46
-100
-25
71
199
234
0
0
0
0
3
0
0
0
0
0
-21
-11
-47
-53
0
103
189
0
0
48
29
-17
0
0
0
0
0
-66
77
0
24
14
-23
61
121
134
30
-15
51
-1
4
-1
0
0
59
-66
15
12
-41
31
50
23
177
-69
-73
12
0
0
0
0
0
-67
9
14
0
-47
-21
62
118
13
-2
12
31
40
-2
0
0
0
74
39
31
11
-34
-99
-6
34
-21
-46
21
2
0
0
0
0
0
49
-2
-26
-28
9
-6
54
-70
-25
76
-17
9
0
0
0
0
0
0
22
5
-2
-39
-50
-56
2
0
0
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-122
43
-52
10
113
252
0
0
11
0
0
-2
0
0
0
0
-17
-61
25
-32
20
108
126
119
34
18
-114
-17
11
0
0
0
0
-35
37
-27
-44
6
37
29
42
39
-78
41
-58
-11
0
0
0
0
-16
-8
0
-50
-6
-47
-10
55
42
40
38
-64
4
0
0
0
0
19
60
11
-25
-49
-16
14
-24
-15
2
-103
2
4
0
0
0
0
-35
-81
-102
-19
-40
-32
-25
3
-8
-4
-20
52
3
0
0
0
0
30
-89
-38
-47
-70
-12
-45
-86
-68
50
42
-18
0
0
0
0
0
5
-67
-26
1
-51
-129
-104
22
-42
36
-4
21
0
0
0
0
0
0
0
-65
92
30
-77
21
-2
-9
0
3
0
0
0
0
0
0
29
205
210
155
310
362
137
0
0
0
0
0
0
0
0
0
0
174
76
73
92
211
175
117
-5
-53
0
0
0
0
0
0
0
0
79
-6
-42
-11
29
38
31
-79
2
-1
0
0
0
0
0
0
0
-9
-112
-84
-51
24
91
49
-59
-13
-1
3
0
0
0
0
0
0
53
-56
-36
-108
-27
-76
-32
67
-13
2
0
4
0
0
0
0
0
-34
-25
-78
-4
-42
-31
-25
-27
-2
0
0
0
0
0
0
0
0
-19
11
-56
-80
-133
-97
-28
-34
39
-24
0
0
0
0
0
0
0
21
-54
6
96
19
-91
-85
9
-65
0
0
0
0
0
0
0
0
-2
-34
5
-20
-51
-38
2
29
0
0
0
0
0
0
0
0
0
-36
-44
-30
38
107
179
274
81
0
-2
0
0
0
0
0
0
0
-1
-25
-37
28
71
200
0
16
65
15
0
-8
0
0
0
0
0
35
12
5
47
130
204
80
84
-111
15
1
0
0
0
0
0
0
-5
6
-23
-4
-33
1
154
28
36
22
-11
0
0
0
0
0
0
-17
-29
-26
40
-18
-17
19
-17
28
3
-7
0
0
0
0
0
0
-48
-44
-54
-14
-14
-103
-61
1
-15
-2
0
0
0
0
0
0
0
-50
-46
-66
-29
-52
-63
-2
-70
-47
0
0
0
0
0
0
0
0
4
-30
-1
60
-59
-43
-82
-14
0
0
0
0
0
0
0
0
0
0
0
-23
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
-48
-60
-41
-12
32
181
285
0
0
80
6
-1
0
0
0
0
0
-34
8
2
-9
14
178
254
0
266
0
125
-57
8
-12
0
0
0
-67
-95
-56
-42
35
66
146
158
149
67
130
-22
0
0
0
0
0
124
-70
-35
-18
7
-61
39
34
55
-24
-15
-60
-3
0
0
0
0
-2
118
1
8
20
-7
-15
-27
-49
23
18
0
0
0
0
0
0
-39
48
33
29
44
-40
-35
-176
-85
122
13
2
1
0
0
0
0
7
-92
-87
-97
-24
13
39
-20
-145
-73
2
2
1
0
0
0
0
-2
12
29
-36
-10
-185
41
-26
-4
-4
25
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
62
-44
-52
108
72
242
207
304
0
0
0
0
0
0
0
0
0
40
-42
-109
22
38
57
155
0
-47
0
45
-4
0
0
0
0
0
82
41
-25
-114
-97
85
72
45
184
40
26
0
1
0
0
0
0
132
-38
-56
-59
24
150
46
57
93
60
-34
10
20
1
0
0
0
-58
20
32
-32
107
51
16
-173
30
26
53
-1
0
0
0
0
0
20
-11
88
-39
-13
65
59
-147
-64
-53
0
0
0
0
0
0
0
4
14
-10
-83
12
-91
15
-2
2
8
2
0
0
0
0
0
0
58
-26
18
69
-127
5
-29
-33
-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
10
88
-28
112
173
62
0
0
0
0
0
0
0
0
0
0
0
7
69
106
136
109
141
89
18
0
76
20
0
0
0
0
0
0
-2
48
-20
68
30
-19
15
54
84
-44
0
0
0
0
0
0
0
12
-18
-54
93
-38
-19
38
49
-15
-15
-17
0
0
0
0
0
0
-6
-29
-49
-130
27
-64
22
2
-62
-5
4
1
0
0
0
0
0
-96
-111
-76
-19
-90
-87
-44
-30
-8
-58
7
0
0
0
0
0
0
-8
-108
-41
-79
-94
-76
-65
47
26
-25
5
0
0
0
0
0
0
-1
42
31
-39
-2
-16
7
-8
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
4
-30
-15
-84
-41
0
0
0
0
0
0
0
0
0
12
73
66
-15
-15
-27
-28
52
-19
3
0
0
0
0
0
0
0
15
50
63
-15
6
-9
33
0
-13
0
0
0
0
0
0
0
0
131
77
7
55
-6
-4
6
0
3
0
0
0
0
0
0
0
0
71
64
39
-53
174
-27
0
0
0
0
0
0
0
0
0
0
0
12
84
28
0
-121
-2
0
0
0
0
0
0
0
0
0
0
0
2
-57
-5
-73
-22
21
0
0
0
0
0
0
0
0
0
0
0
-68
24
-54
68
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
87
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
47
-31
54
-56
2
0
0
0
0
0
0
0
0
0
0
0
10
131
-34
26
-61
9
0
0
0
0
0
0
0
0
0
0
0
13
84
62
4
-8
3
-2
1
0
0
0
0
0
0
0
0
0
-53
110
155
-43
-27
0
0
0
0
0
0
0
0
0
0
0
0
-27
56
-125
17
-8
9
0
0
0
0
0
0
0
0
0
0
0
4
35
18
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
-17
12
-42
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
26
-3
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
3
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
-33
-43
-7
-89
-12
2
0
0
0
0
0
0
0
0
0
-42
55
102
-23
66
15
-39
-1
0
0
0
0
0
0
0
0
0
59
-96
13
49
-10
-34
-5
0
0
0
0
0
0
0
0
0
0
-56
32
-33
122
26
2
0
0
0
0
0
0
0
0
0
0
0
-48
170
6
90
35
-1
0
0
0
0
0
0
0
0
0
0
0
-9
40
36
112
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-118
25
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-95
16
-15
0
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
0
0
-74
-27
23
19
-23
-24
0
0
0
0
0
0
0
0
0
0
-17
48
69
80
-1
-38
-25
15
3
0
0
0
0
0
0
0
0
38
67
91
-31
102
-44
-1
-4
0
0
0
0
0
0
0
0
0
-6
41
85
68
37
-22
0
0
0
0
0
0
0
0
0
0
0
0
81
37
48
24
26
4
0
0
0
0
0
0
0
0
0
0
-2
28
-24
-14
-50
3
0
0
0
0
0
0
0
0
0
0
0
-4
50
-24
-3
-15
-8
0
0
0
0
0
0
0
0
0
0
0
9
-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
0
0
0
0
0
0
6
-52
58
48
117
52
-23
-39
0
12
3
0
0
0
0
0
0
-111
49
-2
-45
47
-13
59
-127
18
-12
0
0
0
0
0
0
0
-7
83
7
-66
11
84
-4
76
42
8
0
0
0
0
0
0
0
-16
88
155
165
-94
-25
50
-19
11
15
-2
0
0
0
0
0
0
45
50
7
123
18
-45
-7
0
-3
4
0
0
0
0
0
0
0
-2
-4
28
65
37
-9
8
-5
3
-6
0
0
0
0
0
0
0
-5
59
-39
7
12
4
-2
0
-7
10
0
0
0
0
0
0
0
-11
-13
2
41
-5
0
1
-1
-55
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
-42
10
-5
-18
-1
0
0
0
0
0
0
0
0
0
0
0
4
-73
-35
14
-22
-2
0
-2
11
0
0
0
0
0
0
0
0
2
136
28
9
-3
-1
0
0
2
0
0
0
0
0
0
0
0
85
85
-73
88
0
2
-29
0
-1
0
0
0
0
0
0
0
0
-55
-47
-16
62
-44
-3
0
1
7
-7
0
0
0
0
0
0
0
-1
72
41
-24
-6
2
5
0
0
0
0
0
0
0
0
0
0
32
-90
154
-14
4
-9
0
0
0
0
0
0
0
0
0
0
0
-59
-42
19
-38
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
203
35
82
-41
126
45
-25
0
-9
13
94
9
0
0
0
0
126
175
93
60
209
-9
21
36
-14
138
-38
91
40
0
0
0
0
72
107
144
168
133
154
-70
-58
-53
22
23
-79
18
-3
-1
0
0
-69
154
99
57
75
-2
189
162
97
85
34
53
5
5
0
0
0
31
78
50
29
116
86
61
-109
171
-111
-50
25
-6
0
0
0
0
8
-44
9
144
2
-22
98
5
-74
29
-23
0
0
0
0
0
0
20
50
-27
40
-39
-48
13
47
97
-36
-15
0
0
0
0
0
0
42
1
-38
0
3
-4
0
11
-52
10
0
0
0
0
0
0
0
3
0
1
1
0
0
0
10
1
1
0
0
0
0
0
0
0
0
-57
-47
-23
45
26
-23
41
0
-113
-53
73
-24
0
0
0
0
0
-40
-102
8
39
3
-46
-55
-54
-120
80
10
69
-14
12
0
0
0
6
-29
35
7
17
-29
-137
-177
-117
-18
102
-13
6
0
0
0
0
-133
-47
-14
34
15
-2
-24
-127
-52
-9
72
-7
-10
0
0
0
0
-30
-17
-70
-10
-3
5
-58
-91
11
96
34
-25
34
0
0
0
0
-52
-161
-58
-52
-2
34
-53
-23
61
-45
83
-16
1
10
0
0
0
-57
-75
-20
46
15
8
-58
-68
13
10
5
-6
0
0
0
0
0
-62
-35
24
-53
-97
-63
-23
-88
35
-40
9
-5
0
0
0
0
0
-1
3
-23
40
-114
-50
70
-18
122
17
0
0
0
0
0
0
0
-23
-74
-11
146
30
-104
180
0
-2
59
42
2
6
12
-5
0
0
36
54
54
168
6
-79
-104
-8
7
-68
131
32
11
18
6
6
0
61
-87
127
90
15
55
-94
-132
-12
-35
12
-85
6
-4
-7
0
0
10
86
124
-120
-69
-8
30
35
62
11
18
-41
-15
0
-1
0
0
-7
31
36
29
3
57
63
73
28
-28
-72
17
-3
-4
0
0
0
-5
-62
46
67
28
-40
72
-1
-3
-9
48
-89
-14
0
-1
0
0
1
-49
45
64
7
3
72
-58
-20
-45
14
-49
-21
-8
-8
0
0
0
1
-1
37
-54
-25
-40
24
-7
-15
70
41
-3
1
-4
7
0
0
0
11
71
16
37
59
-46
-13
-6
-28
-25
-1
-9
3
0
0
0
28
93
125
130
21
-15
0
39
-17
-10
-9
-1
0
0
0
0
0
8
154
157
113
-43
0
-19
81
29
115
58
-18
4
0
0
0
0
-50
81
9
94
-31
-154
-83
-18
10
-10
-35
-1
0
0
0
0
0
-1
43
44
96
-103
-56
-11
-5
21
1
-62
0
2
0
0
0
0
6
7
7
35
94
-25
27
13
-71
-8
26
2
0
0
0
0
0
3
47
93
-23
-24
36
-25
-5
3
7
53
6
-5
0
0
0
0
-1
27
60
-6
44
1
-26
-26
26
-48
-27
7
-2
0
0
0
0
-2
1
27
-35
45
-30
-100
-55
-108
-29
-8
5
0
0
0
0
0
0
0
0
-1
35
3
0
0
0
0
0
0
0
0
0
9
111
106
98
53
75
5
84
0
-20
58
98
-1
0
0
0
0
20
66
144
35
17
32
10
4
10
67
42
81
31
4
0
0
0
68
57
60
83
0
-10
50
-29
-11
39
40
-49
28
-4
4
0
0
195
84
100
85
78
4
42
76
69
-17
-65
-83
7
-1
0
0
0
-1
35
83
91
-6
36
-60
103
152
52
-20
35
-3
-1
0
0
0
46
36
107
48
5
-16
-59
17
36
112
-45
-7
0
0
0
0
0
2
-79
204
91
142
29
-26
-49
-1
63
-2
-1
0
0
0
0
0
1
69
-85
17
1
-63
-6
-26
53
27
4
0
0
0
0
0
0
0
14
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
109
-89
20
75
17
96
-20
134
0
-42
6
2
0
0
0
0
0
68
8
161
185
41
137
112
-20
2
-67
13
4
2
0
0
0
0
60
190
106
31
-15
135
46
-100
-127
59
-5
-5
0
0
0
0
0
51
65
186
88
-100
-19
31
106
20
15
17
-8
1
0
0
0
0
13
62
163
50
-66
-43
80
-1
49
17
26
-1
2
0
0
0
0
-67
29
127
0
64
-3
70
51
-80
-2
-1
-8
0
0
0
0
0
9
4
32
-53
5
21
76
-44
-58
20
0
7
0
0
0
0
0
0
11
5
5
4
-39
-5
-9
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
0
10
0
15
-5
-18
1
21
9
0
23
0
0
0
0
0
0
0
22
-14
51
0
35
0
15
-2
-107
-104
18
0
0
0
0
0
0
-2
22
14
-64
61
-61
-10
7
-20
-34
-18
0
0
0
0
0
0
12
34
-26
22
65
-12
-52
1
-3
1
0
0
0
0
0
0
0
-4
24
24
34
16
-15
13
4
-35
0
0
0
0
0
0
0
0
-1
7
9
-2
9
-12
20
0
-1
-5
0
0
0
0
0
0
0
0
6
1
0
-1
16
-7
2
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-76
41
0
-1
0
0
0
0
0
0
0
0
0
11
0
0
59
-9
54
31
-3
4
0
0
0
0
0
0
0
2
29
321
322
105
15
-102
2
4
0
0
0
0
0
0
0
0
0
-79
69
288
143
20
-19
14
0
0
0
0
0
0
0
0
0
-8
-20
51
143
53
-43
-84
-4
-2
0
0
0
0
0
0
0
0
-8
-67
38
-57
-5
46
-38
7
1
0
0
0
0
0
0
0
0
4
-27
84
0
30
-55
60
-1
0
0
0
0
0
0
0
0
0
0
0
-30
-18
78
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
74
60
-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
12
-59
-12
-2
0
0
0
0
0
0
0
0
0
0
0
207
194
31
6
17
0
0
0
0
0
0
0
0
0
0
0
0
37
197
-191
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
24
-53
-8
2
0
0
0
0
0
0
0
0
0
0
0
9
4
-4
51
-1
2
0
0
0
0
0
0
0
0
0
0
0
9
4
-125
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-47
1
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
-4
0
0
0
53
-6
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
33
54
8
0
0
0
0
0
0
0
0
0
0
0
25
232
191
63
-17
66
1
5
0
0
0
0
0
0
0
0
0
8
-44
254
17
-30
8
15
0
0
0
0
0
0
0
0
0
0
7
-4
26
-92
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-64
107
57
13
0
0
0
0
0
0
0
0
0
0
0
0
2
13
35
13
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
10
0
0
0
29
-4
4
0
0
0
0
0
0
0
0
0
-10
2
0
0
27
7
0
8
-1
0
0
0
0
0
0
0
0
0
95
260
226
135
-56
2
3
0
0
0
0
0
0
0
0
0
7
-2
9
173
-74
-18
11
1
0
0
0
0
0
0
0
0
0
12
-44
-91
65
-46
60
-4
0
0
0
0
0
0
0
0
0
0
1
51
-43
-44
-84
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-8
-174
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-62
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
43
-29
11
18
-46
53
0
0
0
-19
-8
0
0
0
0
0
-9
-83
-25
22
-32
6
12
0
0
0
64
-1
-6
-13
0
0
0
9
-65
146
86
-12
31
15
138
215
156
2
18
-11
1
0
0
0
-1
45
19
61
-11
28
-43
86
320
106
-78
57
0
0
0
0
0
-1
-76
83
43
-59
-116
-30
54
165
-30
70
18
0
5
0
0
0
0
-23
125
25
38
-23
26
-8
-8
-16
80
-33
-1
0
0
0
0
0
58
22
-9
-15
-52
5
-67
-90
-120
-121
-30
-1
0
0
0
0
0
0
40
-5
-14
92
0
-18
-102
-23
-91
0
6
0
0
0
0
0
0
0
0
0
0
13
-2
-77
11
-11
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-24
-3
-2
0
0
0
0
0
4
0
1
6
24
5
0
0
0
-17
-27
-3
14
0
0
0
0
9
-1
6
-14
-6
-1
-21
-52
49
-22
31
-2
0
0
0
0
0
-4
-19
39
10
-28
17
63
66
279
-94
-2
-6
0
0
0
0
0
-4
74
-2
17
-32
14
103
113
93
-43
-11
-2
0
0
0
0
0
0
-20
3
-17
-24
22
65
55
205
-67
6
0
0
0
0
0
0
0
28
4
6
15
-18
224
56
121
-52
11
0
0
0
0
0
0
-2
-2
0
0
0
-8
34
161
36
52
5
0
0
0
0
0
0
0
0
0
0
0
0
4
120
-27
0
0
0
0
0
0
0
61
45
35
-18
-7
-59
-6
0
0
0
0
0
0
0
0
0
0
-69
-24
35
20
58
51
15
0
0
0
0
0
0
0
0
0
0
-28
6
52
-7
43
-43
-24
7
0
3
0
0
0
0
0
0
0
34
2
5
34
15
81
37
19
-1
-1
0
0
0
0
0
0
0
72
1
19
26
-62
-92
23
44
-16
7
0
0
0
0
0
0
0
8
-31
24
5
4
52
-6
8
-7
6
0
0
0
0
0
0
0
-72
-35
-51
30
27
17
95
-22
5
1
-8
0
0
0
0
0
0
-19
-94
9
20
114
57
3
-6
12
2
14
0
0
0
0
0
0
0
48
-4
-32
-13
8
8
0
0
0
0
0
0
0
0
0
0
-67
-28
28
10
80
21
116
0
0
0
85
-49
-5
0
0
0
0
16
12
13
30
42
127
104
0
0
257
-40
3
0
1
-5
0
0
13
-9
21
26
39
75
74
172
208
88
-6
95
-1
0
-16
0
0
2
23
39
-19
50
75
67
-18
292
72
38
-23
0
0
0
0
0
-32
46
-5
-24
-34
4
-10
-140
-16
-64
-35
-34
-5
0
0
0
0
-24
2
-26
-7
1
-29
-5
51
-78
-53
0
1
0
0
0
1
0
-34
2
-44
-41
95
108
-28
-53
-58
-16
-38
2
0
0
0
0
0
-1
-48
63
48
-56
-27
-1
6
-71
0
-25
0
0
0
0
0
0
0
30
-8
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
-115
26
-4
24
27
66
102
0
0
51
-70
-15
0
0
0
0
0
28
16
-4
-4
38
43
70
114
-11
-8
56
46
0
0
0
0
0
-122
-36
-16
19
39
9
8
57
47
184
21
15
0
0
0
0
0
-60
11
38
2
23
-5
-36
-65
-22
92
-79
-21
1
0
0
0
0
38
-40
-9
-35
-34
-43
-2
-63
83
-50
-3
12
-2
0
0
0
0
-23
-37
-46
-73
-53
-17
-38
22
113
-123
0
4
0
0
0
0
0
-10
-29
-39
-25
-33
-7
-53
11
-170
35
25
0
0
0
0
0
0
-35
17
58
17
-14
-32
-7
-45
-85
-96
1
0
0
0
0
0
0
-7
-18
23
-34
-23
63
85
45
-15
0
12
0
0
0
0
0
0
36
-6
65
106
148
146
-40
0
0
0
0
0
0
0
0
0
0
31
12
18
49
75
92
-24
-3
-1
0
0
0
0
0
0
0
0
-31
-2
7
-9
82
15
-39
-55
-10
0
0
0
0
0
0
0
0
-21
12
23
95
25
45
32
-43
0
0
3
0
0
0
0
0
0
-35
-3
-27
1
107
41
24
-45
-5
-1
0
0
0
0
0
0
0
-15
-15
11
-62
28
71
121
-44
-30
-7
-3
0
0
0
0
0
0
-18
-4
5
19
-25
110
-14
52
-18
23
0
0
0
0
0
0
0
59
23
-14
-6
70
-25
77
-8
-13
0
0
0
0
0
0
0
0
-15
-33
-14
18
32
-76
-24
49
1
0
0
0
0
0
0
0
0
5
-1
36
58
85
95
147
46
0
0
-1
0
0
0
0
0
0
-18
-48
-7
49
55
47
0
-27
153
-14
-2
0
0
0
0
0
0
-9
6
6
52
104
2
85
-45
-1
0
1
0
0
0
0
0
0
-22
32
-25
-49
-52
21
57
15
-39
-5
-5
0
0
0
0
0
0
35
-14
32
30
8
-71
43
-25
111
0
0
0
0
0
0
0
0
-19
-50
-12
-13
18
-75
-110
-118
-34
4
0
0
0
0
0
0
0
-5
17
-6
-74
87
10
-181
-49
-64
-1
0
0
0
0
0
0
0
2
41
-6
-100
-30
53
-56
46
9
0
0
0
0
0
0
0
0
0
6
-40
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-54
-11
29
20
-1
90
198
0
0
-32
-10
65
5
0
0
0
0
-96
-8
22
33
59
31
148
0
185
0
66
40
7
-1
0
0
0
18
-12
8
49
94
53
38
4
162
8
-54
2
2
0
0
0
0
73
9
16
42
0
-53
-9
-59
233
-39
-53
56
4
0
-1
0
0
49
10
21
-1
49
-5
-21
97
61
40
-89
-1
0
3
0
0
0
-77
15
52
-61
23
3
-26
-43
14
-133
20
-23
0
0
0
0
0
38
-96
5
-119
83
-57
-28
6
-85
-89
-4
0
0
0
0
0
0
-9
-38
-159
-51
32
-43
-50
1
-9
-16
12
0
0
0
0
0
0
0
-1
-1
-1
-2
0
0
0
-15
16
-1
0
0
0
0
0
0
-38
-85
30
75
99
-85
-84
-4
0
95
50
3
-15
0
0
0
0
81
-83
6
75
26
84
4
0
116
0
-6
16
0
0
0
0
0
-56
33
-37
-71
53
9
26
111
238
102
59
19
-5
0
0
0
0
-58
-21
-41
-15
96
14
106
107
151
78
35
13
-7
0
0
0
0
-37
-25
84
-58
23
-5
-1
-76
85
126
-1
-2
2
0
0
0
0
6
-62
7
-113
-31
-25
-14
2
30
-67
-26
1
0
0
0
0
0
51
37
-91
-135
103
79
-14
-23
-42
-56
-4
0
0
0
0
0
0
-1
-41
36
33
-85
-17
9
-21
11
-26
0
0
0
0
0
0
0
1
-16
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-95
17
-37
11
0
0
0
0
0
0
0
0
0
0
0
-10
6
-15
-70
8
-3
-3
0
0
0
5
0
0
0
0
0
0
0
55
-3
6
-58
-1
-9
0
-9
54
-4
0
0
0
0
0
0
0
-25
12
25
4
-6
-2
0
24
99
1
0
0
0
0
0
0
-3
73
-112
14
40
-4
-1
-33
18
11
-2
0
0
0
0
0
0
-16
-21
-56
22
-15
-1
-2
-7
67
197
3
0
0
0
0
0
0
-3
-1
-5
-2
17
-5
0
-13
-47
178
2
0
0
0
0
0
0
-2
-18
-43
0
-6
-1
0
-5
93
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
4
0
0
0
0
0
33
4
0
0
0
0
0
0
0
-31
31
-58
41
12
-35
8
114
8
9
0
0
0
0
0
0
-28
8
-18
62
91
4
-6
-30
-25
-22
7
0
0
0
0
0
0
70
-29
76
30
45
-82
44
4
3
12
2
0
0
0
0
0
0
-44
-62
-51
49
30
-5
-1
-7
1
0
0
0
0
0
0
0
0
-73
124
117
-6
53
-27
1
13
0
0
0
0
0
0
0
0
0
-87
-34
19
-26
33
-12
4
0
0
0
0
0
0
0
0
0
0
68
48
29
-126
-13
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-4
0
-2
0
-1
3
-9
-4
1
-6
0
0
0
0
0
0
0
1
-14
-35
-47
7
1
-1
0
-4
0
0
0
0
0
0
0
0
0
-27
-34
-48
-11
-1
0
0
-2
0
0
0
0
0
0
0
0
-3
25
-5
26
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
16
62
60
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
31
32
17
4
0
0
0
0
0
0
0
0
0
0
0
0
8
58
-96
-24
-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
-14
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
1
17
-7
1
21
2
48
2
15
8
0
0
0
0
0
0
9
-38
28
-5
-8
-8
2
-1
-7
-2
0
0
0
0
0
0
0
-6
21
-54
-50
-49
8
-12
0
6
0
0
0
0
0
0
0
0
0
13
-30
27
-22
-12
1
0
0
0
0
0
0
0
0
0
0
3
-5
49
91
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
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
12
0
0
0
0
0
0
0
0
1
0
1
3
0
-1
-53
22
-17
-7
0
0
0
0
0
0
0
-9
138
6
6
-17
-4
-2
5
1
0
0
0
0
0
0
0
0
13
-32
57
-52
-38
-1
0
0
0
0
0
0
0
0
0
0
0
-74
65
65
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
-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
-1
0
-1
-3
4
-5
0
0
124
-6
0
0
0
0
0
0
0
-13
-34
-50
-77
-103
-94
82
57
132
3
0
0
0
0
0
0
-3
-10
-39
77
-38
72
-129
-72
-90
-135
3
-3
0
0
0
0
0
-114
-11
57
-8
26
51
45
122
48
-50
1
0
0
0
0
0
0
24
59
48
31
30
17
-69
-62
13
13
0
0
0
0
0
0
0
31
57
-9
-11
-23
29
12
-46
6
-2
0
0
0
0
0
0
0
-13
16
-8
-12
46
-61
30
0
-20
-3
0
0
0
0
0
0
0
0
-35
-13
18
10
18
1
8
0
-6
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
6
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
1
3
-4
0
0
0
0
0
0
0
0
-15
-2
0
2
-1
0
12
0
0
0
0
0
0
0
0
0
0
25
15
-5
-1
-2
1
5
2
0
0
0
0
0
0
0
0
-1
50
-80
43
-7
2
-8
-1
0
0
0
0
0
0
0
0
0
-7
13
-4
28
-5
-12
-1
0
0
0
0
0
0
0
0
0
0
3
50
1
32
6
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-16
-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
-2
0
0
0
12
-7
89
0
27
49
44
-13
17
0
0
0
0
0
8
-11
42
87
11
4
-75
108
1
81
-15
38
-8
0
0
4
6
-101
-15
81
34
-63
-7
-171
-75
-165
55
18
-14
0
0
0
-5
16
29
-43
-38
17
-36
43
148
83
-76
1
7
0
0
0
0
-14
42
-149
44
30
42
62
74
47
113
-69
-89
0
0
-7
0
0
-44
7
39
126
19
79
57
147
-78
-33
31
-1
0
0
0
0
0
0
-22
-4
-93
110
73
-5
61
15
39
0
0
0
0
0
0
0
0
1
4
-4
-74
-89
-15
57
1
-3
3
-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
-49
-23
4
-3
-70
5
0
-67
-115
-118
-119
-1
5
0
0
0
3
70
-39
58
27
-90
-27
-55
-46
-174
-13
64
76
-60
10
0
0
179
147
42
54
-24
2
20
31
33
21
-9
-38
-28
12
0
0
0
30
162
29
16
27
26
-1
4
15
49
-81
-63
-14
20
0
0
0
51
-12
-19
-15
21
-35
29
48
-88
-59
-45
10
-49
-3
1
0
0
96
40
-13
39
-9
-15
-30
-13
-43
-6
-62
9
45
-1
0
0
0
33
60
-28
55
-8
-41
-13
15
33
49
110
140
-27
1
0
0
0
96
96
-57
-37
-61
-1
-18
13
59
-12
-12
-47
-2
-9
0
0
0
0
-14
-7
63
-13
57
43
11
20
-54
-37
2
-8
0
0
0
0
0
0
0
-3
4
12
88
0
-23
14
22
9
0
0
0
0
0
0
-1
19
-14
17
70
157
24
-42
-12
67
40
12
1
0
0
0
0
0
-24
-10
42
57
133
4
-53
23
-38
-1
-6
-4
0
0
0
0
14
4
108
17
27
65
-62
98
-41
16
7
0
1
0
0
0
0
3
60
134
47
175
-30
50
17
-2
-18
-1
-2
0
0
0
0
0
0
-33
-20
26
8
-61
-5
83
3
1
0
-1
0
0
0
0
0
1
-4
-34
29
-66
-74
-15
-39
-6
0
0
0
0
0
0
0
0
-33
1
-33
-72
-43
39
4
17
-21
0
0
0
0
0
0
0
2
0
0
-3
-43
9
-67
3
1
-4
0
0
0
0
0
0
0
0
0
-5
36
-9
-96
-29
0
16
44
-2
53
-2
1
2
0
0
0
-10
77
197
-22
19
121
8
54
-54
122
98
33
38
-1
0
0
0
-11
160
-54
25
-7
45
16
77
22
90
93
17
-7
3
0
0
0
2
43
65
-42
-45
-1
121
-5
15
35
8
-5
-2
8
0
0
0
-20
117
227
-12
28
95
124
-55
-20
-19
-10
3
0
0
0
0
0
-1
63
58
9
29
54
78
19
-120
79
87
1
0
0
0
0
0
-1
1
43
-16
-20
-11
68
23
44
-99
-35
-2
0
0
0
0
0
0
-5
-61
70
137
33
54
-31
-108
28
-1
1
0
0
0
0
0
0
-2
0
-2
47
-11
44
0
0
0
0
0
0
0
0
-9
0
0
0
-12
-31
-52
111
0
-43
23
-27
10
6
0
0
0
19
-3
38
-2
15
28
-115
-98
1
45
80
99
-25
-9
19
0
0
-5
43
82
-22
16
-82
-88
1
-10
-40
-73
52
17
7
0
0
0
-11
117
70
85
44
-60
13
60
-10
53
65
29
19
0
0
0
0
-4
-7
-26
-69
158
14
53
164
-10
85
-47
7
-2
-5
0
0
0
1
14
14
24
69
48
159
135
90
44
0
0
-4
0
-4
0
0
0
-1
20
1
61
61
-27
3
89
0
8
0
6
0
0
0
0
0
8
-1
-21
209
-5
76
104
53
-5
1
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
-4
34
-31
29
-53
0
10
-58
12
-1
10
-3
0
0
8
5
0
-55
52
-2
10
29
65
23
-36
56
10
-2
4
0
0
-7
-2
-27
-64
8
23
-138
-17
75
90
26
-33
-11
0
0
0
0
0
-122
-34
73
141
79
-113
153
175
37
12
-7
0
0
0
0
0
8
61
174
-85
79
-85
35
90
77
110
19
0
0
0
0
0
0
0
49
35
73
109
-97
65
68
49
49
14
0
0
0
0
0
0
1
1
-13
-1
-33
64
-79
19
32
23
2
0
0
0
0
0
0
-1
-14
4
42
68
29
-74
-38
-115
-9
1
0
0
0
0
0
0
0
0
0
0
0
-17
-27
-18
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
51
1
0
0
0
0
0
0
0
0
0
-2
1
32
-2
74
9
87
-2
0
0
0
0
0
0
0
0
5
-1
0
-11
-2
-39
-75
7
-10
0
0
0
0
0
0
0
1
0
5
4
5
43
131
-47
-2
7
0
0
0
0
0
0
0
78
-5
1
-17
17
2
-13
-15
-1
0
0
0
0
0
0
0
-8
-9
17
-6
-4
7
-2
-45
-6
-6
0
0
0
0
0
0
0
3
11
17
-3
-2
-3
-7
3
-25
0
0
0
0
0
0
0
0
0
0
1
0
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
56
-82
10
9
4
0
0
0
0
0
0
0
0
72
0
0
88
102
28
24
-52
-1
11
0
0
0
0
0
0
19
106
72
113
97
-3
137
94
-29
-1
0
0
0
0
0
0
0
-15
13
34
1
80
51
16
35
-15
8
-3
0
0
0
0
0
0
39
22
-32
-81
68
-45
-70
-35
-7
-9
0
0
0
0
0
0
0
-53
92
-28
-99
54
-35
-10
6
-7
0
0
0
0
0
0
0
0
32
-18
21
37
0
-41
-37
-7
0
-1
0
0
0
0
0
0
0
8
-102
-17
-84
75
-50
4
0
0
0
0
0
0
0
0
0
0
0
-7
4
16
-30
0
0
0
0
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
3
-2
2
5
-1
1
0
0
0
0
0
0
0
0
65
240
45
89
49
-14
-3
-4
-3
0
0
0
0
0
0
0
0
-52
8
82
46
60
-12
0
0
0
0
0
0
0
0
0
0
0
91
0
-159
-18
-27
2
0
0
0
0
0
0
0
0
0
0
0
-43
-111
-58
-21
-86
5
0
0
0
0
0
0
0
0
0
0
0
-26
-51
16
38
-79
-3
0
0
0
0
0
0
0
0
0
0
0
11
-93
4
-65
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
50
77
7
12
1
0
0
0
0
0
0
0
0
-41
0
0
4
66
-6
-9
-13
-12
0
0
0
0
0
0
0
0
5
52
145
198
55
-4
-4
-5
4
0
0
0
0
0
0
0
20
21
14
84
18
-68
13
4
0
0
0
0
0
0
0
0
0
-26
-33
29
-58
9
-86
15
0
0
0
0
0
0
0
0
0
0
0
-71
72
-22
-65
-23
-5
-3
1
0
0
0
0
0
0
0
0
0
-6
-4
-6
-29
0
-7
-3
0
0
0
0
0
0
0
0
0
0
10
-3
-10
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
52
20
10
9
-2
0
0
0
0
0
0
0
0
6
178
69
186
75
73
4
-4
-1
0
0
0
0
0
0
0
0
3
-53
-31
-13
14
78
-18
5
-2
11
0
0
0
0
0
0
0
-6
-42
84
144
84
16
4
1
0
0
0
0
0
0
0
0
0
-14
-131
36
-74
-62
13
0
0
0
0
0
0
0
0
0
0
0
-9
-10
-31
-81
18
-20
3
-2
0
0
0
0
0
0
0
0
0
0
-53
77
-8
-55
5
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
-2
0
10
0
0
0
87
25
0
5
0
0
0
0
0
0
0
-14
-8
12
0
0
0
148
30
-3
-8
-1
0
0
0
0
0
-14
144
28
84
166
111
225
51
15
6
9
0
0
0
0
0
25
-89
-137
-8
65
42
152
8
50
-10
44
-13
-1
0
0
0
0
-16
3
63
54
14
-79
66
-19
71
-33
1
-6
11
0
0
0
17
-43
11
21
86
1
106
50
-51
-27
5
3
-3
0
0
0
0
0
2
54
-56
132
-40
-5
-28
25
-38
-1
15
8
0
0
0
0
0
0
28
-2
14
18
40
58
93
-53
2
-4
0
0
0
0
0
0
0
0
-1
12
6
27
-72
-1
-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
5
13
12
-3
11
0
0
0
0
0
0
0
2
-8
88
109
-30
57
4
0
-2
0
0
0
0
3
0
0
-1
-6
22
32
101
22
16
-10
0
5
-1
0
0
0
5
39
86
-8
2
-48
-40
-106
-41
-5
7
-10
0
0
0
0
0
0
23
2
-60
64
41
-20
-37
51
-47
0
0
0
0
0
0
0
0
-20
-4
2
0
-22
-61
42
-99
-6
1
0
0
0
0
0
0
9
0
0
-4
-1
1
-92
55
18
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
10
-8
41
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
40
-80
102
30
-2
40
-1
0
0
0
0
0
0
0
0
0
0
-27
-46
52
-42
-95
-67
35
-2
1
0
0
0
0
0
0
0
0
17
27
6
-154
-30
26
9
8
-17
-2
3
0
0
0
0
0
0
58
-24
34
20
1
-26
4
28
43
-2
-1
0
0
0
0
0
0
-2
143
-12
72
38
3
13
47
45
16
3
-5
-4
-7
0
0
0
-4
-37
66
52
69
93
62
-5
-48
66
-5
25
-13
4
2
0
0
0
42
-37
42
36
-2
23
27
-96
-8
8
-5
0
3
-2
0
0
0
0
0
0
22
3
16
-19
-1
-18
0
0
0
0
0
0
0
10
-55
-113
-12
-22
21
2
0
0
0
158
-3
3
8
-1
0
0
-121
-86
-51
-50
-8
-4
10
0
0
313
101
12
82
-20
-4
2
0
144
-100
-39
-60
51
-98
138
188
114
108
19
47
21
-2
-9
0
0
-81
-29
-17
-40
-26
94
22
41
52
40
-5
34
0
-3
6
1
0
-46
-64
12
-35
-16
25
79
13
45
-79
-16
25
33
0
0
0
0
62
-34
-105
25
67
9
-20
-35
9
-66
-50
93
-2
0
0
0
0
20
8
125
24
-63
-46
-3
-106
-125
-59
-20
-15
0
0
0
0
0
0
-22
37
15
-25
35
-51
-6
17
-15
0
-6
0
0
0
0
0
0
0
0
0
0
4
-2
-1
-4
19
0
14
0
0
0
0
0
0
-17
-8
-17
18
125
116
0
0
39
-47
30
0
-10
0
0
0
-20
-17
-88
6
19
58
196
32
41
-74
-29
-9
-30
0
0
0
0
-70
46
-18
24
26
26
74
68
28
54
-57
-68
99
-2
0
0
0
81
-13
24
17
27
25
8
-12
55
47
-115
4
-9
10
13
0
0
-33
-25
18
-21
-14
9
6
27
60
92
1
-17
-47
-3
-1
0
0
50
-58
6
-11
-36
-2
25
-18
-62
22
105
-92
29
0
-1
0
0
-52
56
-15
19
-16
-67
0
-8
18
-22
-2
-43
-3
11
0
0
0
41
44
100
17
-44
-2
36
77
-141
-57
-42
3
-5
0
0
0
0
0
16
16
17
81
-6
-163
-56
-82
-5
-15
5
0
0
0
0
0
-73
134
38
43
70
0
-10
0
0
-3
5
0
0
0
0
0
0
119
58
-11
286
175
187
66
26
-65
0
2
0
0
0
0
0
0
33
85
26
-6
-51
-73
-69
-13
-46
-8
-1
-3
0
0
0
0
0
91
-63
-44
-24
-12
-29
20
71
-18
-17
-1
-5
0
0
0
0
0
-43
-96
-88
-60
100
73
-97
-14
-36
5
0
0
0
0
0
0
0
-51
-59
-46
-28
20
-127
-14
-103
-9
0
0
0
0
-1
-2
0
0
24
11
-92
-97
15
-75
-4
-104
-38
-1
0
0
0
-9
0
0
0
0
120
-51
-28
-68
10
-57
1
-52
-3
18
0
0
0
0
0
0
-11
-38
-11
6
-1
14
-18
10
-2
0
-2
0
0
0
0
0
0
2
4
-59
26
-23
69
95
13
0
3
-4
3
0
0
0
0
0
45
35
68
-1
37
176
0
-16
-50
-25
3
-28
2
0
0
0
0
31
-2
93
39
26
-19
124
-4
-23
-48
-5
0
0
0
0
0
0
20
25
17
46
0
31
67
50
-55
-9
0
-1
0
0
0
0
0
-12
17
37
103
-9
12
-39
119
71
-17
10
-1
0
0
0
0
0
23
-35
-39
43
6
-127
-7
-163
-6
-2
36
0
0
0
0
0
0
-146
12
-16
26
-28
-37
7
-98
23
8
10
-1
0
0
0
0
0
-83
-60
-41
74
93
14
-49
-67
-2
0
1
0
-8
0
0
0
0
0
0
-3
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
79
61
85
54
-1
0
0
238
22
-60
15
53
0
0
0
-11
-17
-15
-89
26
49
90
0
60
0
48
24
-12
-7
8
0
0
-109
-67
-58
-102
-12
-25
79
131
169
10
110
-22
28
3
0
0
0
-42
85
13
89
9
-20
20
121
125
32
54
-46
-18
4
0
0
0
-16
59
77
-31
33
-40
47
38
56
-6
-141
-13
25
0
0
0
0
-35
-86
-41
-37
143
-53
-25
12
-15
-55
-13
9
-23
-2
0
0
0
-3
-79
-31
40
-15
20
-52
-110
-65
-84
-12
41
10
1
0
0
0
0
3
-14
-42
-97
-91
-24
-83
-7
-25
14
9
15
0
0
0
0
0
0
0
0
-2
0
-3
-3
24
0
0
0
0
0
0
0
0
0
-12
-7
10
-6
1
11
0
0
4
26
4
0
0
0
0
0
0
13
-40
-61
56
49
60
0
0
0
1
29
11
0
0
0
0
-7
39
-54
44
25
27
18
25
39
11
98
56
2
2
-7
0
0
6
-44
-15
98
30
132
67
66
44
-72
4
39
18
-2
0
0
0
75
62
-49
-24
4
50
71
-34
30
-52
-25
87
-2
6
0
0
0
5
12
82
-20
-14
-15
-9
-31
23
-77
50
1
2
0
0
0
0
-3
-12
78
5
-4
-66
-21
-109
-59
-58
-6
-2
0
-4
0
0
0
0
-87
-8
-63
-142
23
-109
67
-85
-14
-1
0
0
0
0
0
0
0
0
0
0
3
-1
11
5
3
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
-7
3
10
-2
20
1
1
-2
0
33
26
52
0
0
0
0
0
0
61
20
24
-7
-42
-13
-7
128
-40
-13
3
-1
0
0
0
0
0
67
4
-39
-24
-94
-22
-63
54
-38
61
-5
0
0
0
0
0
-1
-139
5
-27
144
62
-98
-81
72
-97
6
-2
-4
0
0
0
0
7
4
-85
-22
-127
-53
-80
-112
-45
1
22
0
0
0
0
0
0
14
20
-50
-2
-50
11
-8
-1
-39
24
-2
0
0
0
0
0
0
-12
68
61
19
-31
-12
104
-25
-71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-50
-25
-8
7
0
2
0
0
0
0
0
0
0
0
74
0
60
34
8
4
14
33
6
0
0
0
0
0
0
0
0
-59
-90
9
9
-16
11
0
0
0
0
0
0
0
0
0
0
0
53
13
53
-6
-15
0
0
0
0
0
0
0
0
0
0
0
2
16
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-70
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
61
31
6
0
0
0
0
0
0
0
0
0
0
0
0
-11
13
13
12
0
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
3
11
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
0
0
0
0
0
0
0
-7
-3
-3
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
-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
-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
5
-8
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
25
-31
-10
-1
-8
3
10
-15
0
0
0
0
0
0
0
-2
2
-1
53
-12
0
3
-2
0
0
0
0
0
0
0
0
0
0
2
3
-74
0
0
0
0
0
0
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
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
-4
0
2
0
6
-16
0
0
0
0
0
0
0
0
0
0
-1
2
10
3
-5
-3
0
20
1
0
0
0
0
0
0
0
0
17
16
69
14
-26
-2
0
0
5
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
-7
11
10
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
47
57
9
-42
0
15
-38
14
0
0
0
0
0
0
72
37
115
123
36
-4
16
-48
-27
-10
-11
8
0
0
0
0
-2
42
-17
50
4
76
-40
-76
35
-116
-11
23
0
0
0
0
0
0
71
19
8
43
21
-28
37
-6
32
20
0
0
0
0
0
0
20
6
34
18
19
-61
-80
16
52
13
11
14
0
0
0
0
0
0
-10
31
21
18
-43
-112
-31
59
4
0
-1
0
0
0
0
0
-2
-11
-21
-16
32
-16
-5
-84
-18
11
0
0
0
0
0
0
0
15
17
11
-11
0
0
10
-28
-127
6
0
0
0
0
0
0
0
7
-8
4
0
0
0
0
3
1
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
-7
-2
5
-6
7
0
26
17
0
0
0
0
0
0
0
0
0
-5
-4
0
12
0
1
-7
11
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-18
9
0
0
0
0
0
0
0
0
0
-1
3
0
0
-7
1
1
-11
0
0
0
0
0
0
0
0
3
1
0
0
0
0
8
-4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-66
-21
45
0
58
6
39
-39
-1
-4
0
0
0
71
81
38
37
66
-132
29
12
150
18
2
-14
19
53
0
0
-9
68
-107
125
64
67
-17
-46
-23
44
35
23
11
83
26
0
0
34
230
155
26
-17
-30
59
78
170
74
29
13
18
-12
10
0
0
0
-27
43
-70
1
-30
-48
20
98
55
-44
53
33
1
-4
0
0
0
0
-70
42
19
-37
44
-123
-126
-132
-67
-13
-2
44
2
2
0
0
1
-14
0
6
10
33
-73
-56
-145
52
-3
0
0
-2
0
0
0
0
0
0
-5
-7
-27
-50
20
-3
-8
-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
13
-15
8
91
-80
37
0
-42
9
100
85
22
34
-1
0
0
-6
-34
5
67
86
-32
17
64
28
23
62
8
9
96
2
0
0
-92
-83
1
18
42
-58
-125
-87
-41
-31
50
-29
33
-72
20
0
0
9
-17
-54
48
-17
6
1
-18
-36
-5
-16
-41
-82
29
4
-1
0
-41
-215
21
-14
65
27
-10
-14
-88
-7
41
101
-95
-13
5
0
0
-9
-128
-7
-14
26
-19
-41
-65
-47
-21
-25
66
37
-6
2
0
0
-6
-35
23
91
4
-32
-22
-78
-63
-12
17
27
18
9
0
0
0
7
3
65
0
-99
-12
-36
-57
-37
-31
-59
86
1
-15
0
0
0
0
2
0
162
24
-70
10
-64
-37
28
17
11
-11
3
0
0
0
0
0
-10
-1
56
1
146
0
50
26
7
49
-98
-53
57
-3
0
0
-22
-42
0
39
-18
56
19
42
28
96
52
74
79
18
13
0
0
0
-3
-124
246
63
-43
-51
13
-35
-3
8
-52
42
19
-2
0
0
15
-9
84
79
179
-71
67
26
-3
42
18
-37
0
3
-2
0
0
0
0
57
-66
-81
41
46
16
5
1
-67
-24
42
0
-2
0
0
0
0
-13
-29
63
-86
19
-12
-15
-6
-59
-74
0
27
0
0
0
0
0
12
76
164
8
-38
-18
0
3
-17
12
-30
44
-6
0
0
0
0
-32
67
-101
-11
31
3
12
62
-35
-23
52
13
16
0
0
0
0
6
-26
-102
-1
15
56
34
50
-48
106
5
-2
0
0
0
0
-18
63
118
24
137
0
56
20
113
70
32
-15
-1
-2
0
0
-3
-71
54
-21
30
16
-17
81
43
20
62
51
-23
6
2
0
0
0
54
69
-108
-47
-16
-131
-20
41
89
-19
-1
32
2
0
0
0
1
16
35
-63
2
31
4
5
3
-24
6
-11
-8
-9
0
0
0
-4
27
48
-26
34
-6
98
7
24
26
-40
30
8
-5
0
0
0
0
-8
-131
-13
68
-89
-50
37
1
50
-21
-7
-45
7
0
0
0
0
17
-19
-11
-63
-50
-9
-2
-13
-34
84
35
13
2
0
0
0
0
0
68
-6
-16
-76
-113
-56
75
96
-32
-20
-1
3
0
0
0
0
0
0
13
2
75
-5
-9
0
0
0
0
0
0
0
0
3
10
-2
62
87
-91
27
0
7
57
-2
10
-28
1
1
0
-4
33
73
40
123
12
-40
-26
25
54
6
-28
30
15
-15
0
0
38
79
104
23
92
18
-50
-50
-9
41
40
23
-29
-10
-6
1
0
26
61
68
129
-61
92
21
121
26
34
47
35
-27
-14
18
4
0
0
45
0
127
43
4
91
11
43
3
2
0
-30
-6
5
-1
0
0
13
-6
63
-9
137
-39
66
-86
51
-52
52
0
1
0
0
0
0
0
10
12
-21
12
45
-61
-22
-16
118
-12
-8
-1
0
-2
0
0
1
16
0
-110
2
82
-74
-19
-93
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
0
0
0
0
0
0
0
-7
0
0
20
47
-34
1
-4
0
-41
-21
-30
0
4
0
0
0
7
-12
16
47
115
29
-44
-71
35
-13
74
31
-19
0
0
0
0
-1
52
-11
55
-56
-28
-70
-47
29
49
15
54
10
6
0
0
0
18
-45
48
26
-60
-66
57
160
61
118
96
90
-1
0
0
0
0
0
8
-14
20
29
102
96
97
88
25
159
6
0
0
0
0
0
0
0
-9
67
-59
-66
-4
-95
0
159
170
6
6
0
0
0
0
0
9
9
9
59
8
-36
26
-65
-69
-15
0
0
0
0
0
0
0
0
0
16
9
25
6
-43
-19
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
-34
-70
-19
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
57
0
54
4
0
0
0
0
0
0
0
0
0
0
0
1
-7
45
111
168
-68
1
0
0
0
0
0
0
0
0
20
0
4
-8
15
-84
-42
-9
0
0
0
0
0
0
0
2
6
1
0
2
12
-68
-19
-8
0
0
0
0
0
0
0
0
0
10
0
0
0
3
26
-35
5
1
0
0
0
0
0
0
0
1
-1
-1
0
-3
2
-34
21
3
10
0
0
0
0
0
0
0
1
0
0
0
-3
0
-3
8
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-92
107
-53
43
-9
0
0
0
0
0
0
0
0
61
0
0
187
-52
30
5
-24
-54
-1
0
0
0
0
0
0
0
14
232
264
103
30
-65
-59
59
-25
0
0
0
0
0
0
0
19
6
147
267
112
-21
-20
51
28
12
-1
0
0
0
0
0
0
4
66
80
130
30
31
28
1
75
-20
1
0
0
0
0
0
0
0
73
-35
-6
-41
28
49
46
-3
3
-8
0
0
0
0
0
0
0
-53
-97
-12
-10
-107
-111
-126
13
-8
10
0
0
0
0
0
0
0
-18
40
13
-2
-15
-32
-1
-7
8
1
0
0
0
0
0
0
0
9
-43
-39
-38
-51
-2
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
96
48
-1
1
0
0
0
0
0
0
0
0
0
-19
0
0
71
4
13
-6
-19
6
0
0
0
0
0
0
0
0
77
163
272
151
-12
-60
-8
-7
-17
0
0
0
0
0
0
0
0
9
178
137
-36
103
-70
-12
-10
-1
0
0
0
0
0
0
0
0
121
-47
-60
96
-61
3
1
0
-5
0
0
0
0
0
0
0
0
35
48
-21
39
-50
-10
-6
-1
0
0
0
0
0
0
0
0
0
-6
-28
-103
129
21
47
-3
0
0
0
0
0
0
0
0
0
0
0
63
-33
17
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
115
-61
-10
0
2
0
0
0
0
0
0
0
0
25
0
0
5
58
30
36
-19
0
-5
0
0
0
0
0
0
0
25
97
222
-14
46
-20
10
-14
-2
4
0
0
0
0
0
0
0
-135
61
143
38
-71
101
10
-17
1
0
0
0
0
0
0
0
0
77
-105
-96
46
-14
29
-18
-13
-4
-2
0
0
0
0
0
0
0
86
-161
9
60
-36
14
3
0
4
0
0
0
0
0
0
0
0
-69
-48
-17
-40
56
23
-5
0
0
0
0
0
0
0
0
0
0
8
-14
-26
-16
-48
9
4
0
7
0
0
0
0
0
0
0
0
4
-11
39
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
37
-53
65
5
0
0
0
0
0
0
0
0
-9
52
0
0
138
58
-14
23
-7
0
0
0
0
0
0
0
0
0
92
162
153
101
31
-54
-4
0
-6
0
0
0
0
0
0
0
5
-112
-89
330
115
9
0
14
0
-19
0
0
0
0
0
0
0
0
30
-44
40
-47
-57
-84
8
11
-4
0
0
0
0
0
0
0
0
-7
72
-76
-10
34
-13
2
-1
1
0
0
0
0
0
0
0
0
-23
-103
-101
83
-58
22
0
0
0
0
0
0
0
0
0
0
0
0
6
-68
-30
-57
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
6
12
-2
0
-7
0
0
0
35
7
16
0
0
-5
0
0
8
0
-22
-31
-61
33
0
0
0
4
33
-12
-52
-1
2
0
0
0
-7
19
38
-3
-61
226
220
120
-16
52
12
7
3
0
0
0
8
-3
-42
26
-49
-25
176
298
150
57
-50
-42
5
-12
0
0
0
19
15
-5
7
3
-76
-69
95
43
18
-67
25
32
11
-4
0
0
0
0
-3
10
-16
-19
-23
-44
82
-63
-54
12
13
-9
-9
0
0
0
0
0
31
-17
-60
-26
4
-109
-13
90
25
-38
-3
-15
0
0
0
0
0
0
63
-19
-40
-78
-89
57
-37
-14
-2
-5
0
1
0
0
0
0
0
0
-53
29
-151
42
-55
27
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-10
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-31
-29
6
-9
0
-20
0
0
0
0
0
0
0
14
41
-86
53
-37
11
-3
-3
-4
0
0
0
0
0
0
0
0
0
24
138
163
67
-45
-14
4
-8
0
0
0
0
0
0
0
1
54
128
161
127
-43
-16
-4
2
0
0
0
0
0
0
0
0
18
-19
31
74
183
-114
40
0
-12
0
0
0
0
0
0
0
0
18
-10
13
164
174
-16
75
-14
-4
0
0
0
0
0
0
0
0
0
1
144
18
157
-188
12
0
0
0
0
0
0
0
0
0
0
0
0
8
44
-21
-3
-2
0
0
0
0
0
-65
-4
-8
-33
97
-3
1
0
0
0
0
0
0
0
0
0
0
-3
-52
-28
21
91
1
2
0
0
0
0
0
0
0
0
0
0
39
14
24
-2
-25
14
-4
0
0
0
0
0
0
0
0
0
0
-47
-13
51
130
89
-34
0
0
0
0
0
1
0
0
0
0
0
57
39
1
53
98
-16
-38
-56
5
3
1
6
-1
0
0
0
0
-1
38
30
9
-25
-65
-26
-36
3
-24
-2
8
9
3
0
0
0
0
3
42
-44
-44
34
8
13
5
-58
2
-13
8
0
2
0
0
0
0
66
34
-26
-16
-27
-5
-39
25
-17
5
8
-3
-1
0
0
0
0
0
4
0
0
1
13
7
-4
0
0
0
-6
0
0
0
-3
-32
-3
-10
-54
-11
11
0
0
0
47
8
2
-12
-26
0
0
-88
-107
-75
-82
-48
-159
-6
0
0
185
40
-6
-10
-15
-17
-3
0
-32
-166
-55
-12
-69
22
161
173
412
289
18
-49
90
45
26
-1
0
-101
48
77
18
-20
-42
24
112
304
35
36
-11
27
7
-2
0
0
43
34
40
1
69
-36
-42
-111
161
-95
49
-28
45
-11
0
0
0
3
59
-55
16
73
30
-14
-47
-82
-60
20
51
16
-47
-12
-2
0
0
-7
-2
26
108
73
-8
-27
-61
-120
-97
-30
-22
9
-7
0
0
0
0
-3
-17
-9
-4
23
-23
-12
-132
1
-12
0
13
0
-2
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
2
0
0
0
0
0
1
-5
63
87
89
55
0
0
51
21
-15
-12
8
0
0
0
-2
75
60
-16
-7
6
68
33
213
-30
88
26
-14
26
0
0
0
-2
7
-42
-14
74
19
-44
14
74
28
51
36
-43
-4
2
0
0
-28
19
-116
-46
-5
-59
11
79
28
42
-17
55
1
-1
-4
0
0
33
-2
-35
-42
-42
65
-14
-106
-103
0
-4
-35
58
6
0
0
0
-15
14
-136
36
43
6
-29
-35
20
84
65
17
-36
-1
0
0
0
-2
-47
48
-43
-36
34
75
33
-35
37
2
21
2
0
0
0
0
0
10
30
27
31
5
-25
11
-30
37
2
-1
0
0
0
0
0
0
0
-8
-30
33
-71
97
-49
-9
-39
2
0
0
0
0
0
0
159
63
-82
90
104
74
-185
0
0
0
-1
0
0
0
0
0
0
-9
-16
-37
5
-50
45
176
51
41
-2
0
-1
6
0
0
0
0
70
-47
-33
2
-36
93
17
58
51
1
-19
7
0
0
0
0
0
-67
43
-16
-53
42
-37
-73
37
-10
2
0
0
1
0
0
0
0
17
52
-7
-18
4
-13
17
80
-26
-8
0
1
0
0
2
0
0
-8
-53
5
-6
-17
81
39
35
40
-2
-5
0
-4
12
0
0
0
-4
109
-31
-58
-9
-91
-34
-8
26
-6
-2
0
0
5
-1
0
0
-52
11
1
-73
14
-35
-72
-5
-1
1
0
0
0
0
0
0
0
53
-30
16
-64
44
2
9
-10
0
0
0
0
0
0
0
0
0
-6
21
89
-23
28
134
-62
46
0
-1
4
9
0
0
0
0
0
-28
63
50
35
62
101
0
67
-6
-11
-8
-16
0
0
0
0
0
-38
-47
-103
-55
163
112
16
-22
21
-1
0
-4
-5
0
0
0
0
-37
-78
-56
42
-24
114
90
-4
-10
0
2
-6
0
0
0
0
0
26
147
28
10
-61
113
19
80
-53
-10
1
29
0
0
0
0
0
8
51
28
75
117
1
-24
-45
-17
-3
-4
-2
0
0
0
0
0
3
-6
143
51
28
92
-28
-53
-61
9
-17
1
0
0
0
0
0
-9
-34
-36
-45
11
52
0
-14
-22
0
0
0
0
0
0
0
0
0
0
11
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
-86
0
18
64
47
239
0
0
-22
46
91
2
22
-4
0
0
9
10
-71
89
4
-6
188
0
240
0
43
24
-43
-60
-9
11
0
-19
59
24
90
-81
76
108
65
247
118
-111
71
64
-28
5
-2
0
47
62
38
-7
74
12
235
3
195
77
-102
-43
-53
14
0
0
0
5
-49
48
18
-39
-19
90
59
56
-146
36
-42
15
26
-9
0
0
0
-128
105
-12
-29
-93
-39
-27
-16
-36
-73
-7
63
-16
0
0
0
6
-21
85
81
-7
-59
10
-2
-85
-86
-19
31
65
-13
0
0
0
0
0
52
-10
-22
-37
-37
-27
-41
-9
-52
1
5
0
0
0
0
0
0
0
0
0
0
1
-7
-1
-41
0
-1
0
0
0
0
0
0
-6
24
-4
-45
-5
47
7
0
82
-40
0
-6
-2
6
0
0
0
16
11
-79
-224
-61
146
0
70
0
-14
-25
3
-2
0
3
0
2
44
119
-99
-29
64
-54
178
268
148
3
-24
-43
-1
8
0
0
0
-15
-8
-75
69
126
46
111
125
39
52
-6
2
4
0
6
0
-1
-4
-34
-22
60
-29
-21
15
-54
-53
-99
-28
54
10
-4
0
0
-6
35
20
-109
129
-12
-59
24
-44
-5
-109
-4
5
15
-5
0
0
-7
-1
-61
-66
-118
-50
-106
-119
67
28
23
4
0
-5
0
0
0
0
-4
0
-15
38
18
-29
-39
-24
-39
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-14
2
-25
0
0
0
0
0
0
0
0
0
2
-24
18
-8
15
0
0
0
0
-22
-5
-4
0
0
0
0
0
-1
50
-16
28
-13
29
14
0
-9
-48
-44
2
0
0
0
0
0
-1
30
-28
14
-13
16
0
59
152
6
-2
-4
0
0
0
0
0
11
-1
8
-24
2
10
-12
172
233
-130
1
-2
0
0
0
0
0
0
12
-4
-23
-9
-4
26
83
201
8
-21
0
8
0
0
0
0
-1
-3
5
-2
20
-8
103
140
155
-99
10
-2
-5
0
0
0
0
0
0
0
11
-28
-11
62
14
6
-9
2
-10
0
0
0
0
0
0
4
8
10
0
0
81
106
8
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
0
0
0
0
0
0
0
0
4
0
-2
8
8
-12
0
0
47
0
0
0
0
0
0
0
0
0
0
0
-1
-1
106
19
75
181
-2
0
0
0
0
0
0
0
0
-3
-3
11
-58
-58
39
141
121
20
0
0
0
0
0
0
0
0
0
8
2
35
0
-10
52
68
8
1
0
0
0
0
0
0
0
0
10
-2
-40
-18
-110
64
-119
74
0
0
0
0
0
0
0
0
0
0
9
-9
-82
-91
-37
0
-1
0
0
0
0
0
0
0
0
0
0
-6
12
118
67
-59
50
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
-75
0
3
0
0
0
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
4
-26
-33
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
10
12
-51
44
39
0
0
0
0
0
0
0
0
0
0
0
0
18
59
97
-44
45
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
15
-29
-37
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
-52
110
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
-94
-95
-16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-42
-87
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
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-1
1
-17
30
0
0
-37
0
0
0
0
0
0
0
0
0
0
-1
9
-14
-20
-136
20
181
0
0
0
0
0
0
0
0
0
0
0
-3
1
-29
-36
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-34
5
38
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-27
-58
88
170
6
0
0
0
0
0
0
0
0
0
0
-2
2
-60
-37
-79
-51
-1
0
0
0
0
0
0
0
0
0
0
0
13
6
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
4
0
0
0
26
-43
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
14
97
0
0
0
0
0
0
0
0
0
0
0
-2
-22
84
-31
110
-4
0
0
0
0
0
0
0
0
0
0
0
13
-19
-87
53
-29
-48
0
0
0
0
0
0
0
0
0
0
0
0
-48
22
-49
-32
3
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
-28
-35
3
0
0
0
0
0
0
0
0
0
0
0
-9
55
-45
-12
-39
-4
0
0
0
0
0
0
0
0
0
0
0
-2
25
2
6
-4
-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
-6
0
0
0
122
23
35
-22
-12
-1
0
0
0
0
0
-4
-3
49
0
0
0
15
71
-91
89
4
-23
0
0
0
0
0
-4
-13
-4
4
-97
-12
19
54
36
-16
-103
0
0
0
0
0
0
0
23
28
-36
12
56
61
-101
-76
-51
112
3
0
0
0
0
0
0
6
6
16
-47
61
40
-66
105
73
-4
-2
0
0
0
0
0
0
0
11
-49
-72
1
-115
-165
21
-39
-25
0
0
0
0
0
0
0
0
0
21
-13
34
54
17
51
-66
13
0
0
0
0
0
0
0
0
4
31
27
-59
6
3
-8
1
5
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
0
0
0
48
-2
4
0
0
0
0
0
0
0
0
0
-16
-18
0
0
0
-105
-14
-18
7
0
5
0
0
0
0
0
0
16
-1
129
77
-2
-62
0
0
0
-1
0
0
0
0
0
0
0
-5
0
-117
13
46
-45
3
-10
0
-9
0
0
0
0
0
0
0
0
0
-37
-12
9
58
1
-10
-17
-21
5
0
0
0
0
0
0
0
0
50
101
32
4
24
1
-16
-2
0
0
0
0
0
0
0
0
0
16
-29
-13
0
-7
0
2
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
90
-90
-10
-82
19
0
0
0
0
0
21
-30
-27
0
0
62
56
11
4
-92
-35
-114
0
0
0
0
-2
-1
-22
-6
59
-34
61
99
54
11
-7
-36
-62
0
0
0
0
0
0
48
42
-14
150
114
58
75
-5
32
76
109
0
0
0
-3
0
0
-14
-39
85
-36
115
-25
103
12
24
37
39
0
0
0
0
0
-10
-1
-2
-17
8
-72
0
25
66
-27
3
59
0
0
0
0
0
3
1
6
54
-12
56
73
14
85
45
-29
25
0
0
0
0
0
0
43
-2
-86
-19
65
28
-23
141
69
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
-6
-17
-8
0
0
29
-31
17
-49
-18
-67
8
0
0
0
2
-3
-26
-89
-50
-31
78
-14
2
-7
-33
18
-29
48
0
0
0
0
8
-3
-28
57
70
1
6
33
-6
-8
-20
-31
49
0
0
0
0
3
-12
46
2
-58
-72
-1
-29
4
22
4
-12
176
0
0
0
0
-21
-9
96
-39
7
-40
-26
25
-18
2
31
27
0
0
0
0
0
0
0
53
73
3
-102
-45
-37
-17
-26
6
37
119
0
0
0
0
-1
23
95
20
-17
-51
-89
-47
-31
5
24
-16
-37
0
0
0
0
0
1
61
-14
53
40
-56
-22
7
-6
60
-39
15
0
0
0
0
0
0
1
15
12
-10
-85
-34
-103
-186
-89
-9
0
0
0
0
0
0
0
0
0
0
0
-30
-34
-76
48
-2
-84
-1
0
0
0
0
0
0
0
3
29
-22
80
19
33
21
62
-9
-10
0
0
0
0
0
0
6
0
17
103
-103
100
50
-27
35
-21
-2
0
0
0
0
0
0
-5
-7
21
-28
-21
5
-160
39
120
22
3
0
0
0
0
0
0
0
-15
-39
-46
79
22
27
4
-110
2
-9
0
0
0
0
0
0
0
-1
-1
60
-5
-1
20
-75
64
124
-55
0
0
0
0
0
0
-1
-3
58
58
79
-103
21
35
117
33
4
0
0
0
0
0
0
0
3
-1
47
-9
-41
-44
223
157
-39
0
0
0
0
0
0
0
0
1
4
-1
36
-14
37
23
134
114
-1
0
0
0
0
0
0
0
0
0
50
56
76
82
65
-11
56
80
0
0
0
0
0
0
1
-4
-61
112
0
57
65
-39
13
-7
53
0
0
0
0
-8
1
-8
13
118
45
-10
2
-7
-58
-25
-48
38
0
0
0
0
0
-3
-1
3
49
32
-44
-8
20
67
105
47
84
0
0
0
0
0
1
5
7
-19
1
18
4
13
19
34
58
73
0
0
0
0
0
0
26
-15
62
-35
8
2
10
34
50
71
34
0
0
0
0
-2
0
-4
20
65
-133
-61
-4
47
32
89
61
21
0
0
0
0
0
0
0
0
-6
51
-44
56
54
18
93
26
133
0
0
0
0
0
0
0
-1
-17
32
-5
-13
-6
-20
-16
0
0
0
0
0
0
0
-1
13
6
0
0
25
67
-48
-4
0
49
-43
0
0
0
0
-2
-28
-7
0
60
0
115
102
-39
18
11
-85
-17
0
0
0
0
-8
-12
13
-68
109
22
12
22
17
44
40
-47
-52
0
0
0
0
0
-5
16
88
86
21
-6
68
27
57
50
-30
69
0
0
0
0
5
-4
7
-19
65
43
2
12
38
3
28
74
115
0
0
0
0
0
3
21
76
87
-18
-92
28
28
-11
21
-1
-73
0
0
0
0
0
0
-1
62
-95
-43
69
-34
-18
-20
-5
105
-17
0
0
0
0
0
-16
0
51
10
-35
-27
-1
-36
20
-31
-69
0
0
0
0
0
0
0
0
0
0
2
-3
2
-34
-23
-7
0
0
0
0
0
0
0
0
-3
0
0
29
79
34
41
-18
1
37
-58
0
0
0
0
0
0
38
0
54
0
69
-21
46
27
81
-30
-9
0
0
0
0
0
-10
69
-3
13
-4
13
81
35
51
-18
4
-3
0
0
0
0
8
-12
91
9
24
-11
108
33
55
16
-39
-43
-2
0
0
0
0
0
-4
72
-46
58
13
55
-62
-27
-14
-31
-54
-49
0
0
0
0
0
2
-3
14
75
0
56
-29
25
27
-82
42
-11
0
0
0
0
0
0
-4
11
12
89
34
-39
70
6
49
57
18
0
0
0
0
0
0
0
-1
4
13
-44
22
-109
61
11
116
0
0
0
0
0
0
0
0
0
0
0
0
0
29
6
-1
0
0
0
0
0
0
0
0
-1
0
0
0
7
-17
-7
-38
-56
55
0
0
0
0
0
0
23
-12
1
0
-1
79
-89
-52
-171
-168
76
-5
0
0
0
0
0
0
0
17
-1
2
21
-107
19
47
-42
-12
1
0
0
0
0
0
0
-10
-10
14
-1
-25
22
29
-18
40
-40
4
0
0
0
0
0
0
0
62
-9
-4
1
68
-84
-13
33
23
7
0
0
0
0
0
0
-1
-5
29
-2
-3
29
-28
-79
87
48
-3
0
0
0
0
0
0
0
4
-5
1
43
-3
50
37
21
-1
-2
0
0
0
0
0
0
0
0
0
0
-10
2
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
85
24
110
37
50
-18
53
0
0
0
0
0
0
0
22
-43
-9
1
0
2
6
-16
50
63
0
0
0
0
0
0
3
-19
22
18
-10
34
-38
54
9
-55
-35
0
0
0
0
0
0
0
0
7
1
-58
-73
31
52
-29
6
-44
0
0
0
0
0
0
0
0
0
0
0
-79
122
102
-1
176
13
0
0
0
0
0
0
0
0
0
0
12
-46
-77
-9
14
-65
159
0
0
0
0
0
0
0
0
0
-6
-14
-1
15
34
17
30
-14
0
0
0
0
0
0
0
0
0
0
0
17
-3
-10
-4
-59
-63
0
0
0
0
0
0
0
0
0
0
0
-4
-4
26
-56
38
24
0
0
0
0
0
0
0
0
0
0
-3
-13
11
-44
-92
-61
-4
0
0
0
0
0
0
0
0
3
-1
2
-2
-79
-109
153
-47
-2
0
0
0
0
0
0
0
0
0
0
0
0
-43
32
12
-122
29
0
0
0
0
0
0
0
0
0
0
0
1
-4
12
-3
-65
-4
0
0
0
0
0
0
0
0
0
0
0
7
61
8
94
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-98
67
-35
79
37
0
0
0
0
0
0
0
0
0
0
0
-21
32
53
97
-7
61
0
0
0
0
0
0
0
0
0
0
0
1
-33
-48
12
-45
52
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
18
-6
-9
0
0
0
0
0
0
0
0
0
-1
-1
6
26
110
-4
75
0
0
0
0
0
0
0
0
0
-4
4
12
26
26
33
45
5
-18
0
0
0
0
0
0
0
-7
-6
4
-2
-36
33
89
123
23
-4
0
0
0
0
0
0
0
0
0
0
-13
-37
83
25
-62
-40
11
0
0
0
0
0
0
0
0
0
0
-32
13
62
-26
37
97
12
0
0
0
0
0
0
0
0
0
0
0
-5
11
143
53
-14
-14
0
0
0
0
0
0
0
0
0
0
0
-3
62
51
-59
38
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
-93
56
-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
-1
9
41
13
-48
24
-26
0
0
0
0
0
0
0
0
0
-3
17
-2
69
137
-19
18
162
-18
0
0
0
0
0
0
0
0
-2
-2
-12
131
53
-10
43
60
-1
0
0
0
0
0
0
0
0
0
-1
-3
17
-43
0
-8
101
-3
0
0
0
0
0
0
0
0
0
0
-5
-31
-101
70
57
41
7
0
0
0
0
0
0
0
0
0
0
0
-40
-20
-10
47
-29
-6
0
0
0
0
0
0
0
0
0
0
-5
-3
21
87
12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-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
71
17
-185
39
87
32
-54
41
0
0
0
0
0
0
-1
8
60
-10
-25
-17
99
116
-102
34
-20
0
0
0
0
0
0
0
-38
-100
-102
-8
44
76
46
169
27
68
0
0
0
0
0
0
0
2
71
31
49
-16
73
40
49
-45
-69
0
0
0
0
0
0
-4
-9
70
100
103
0
-19
63
71
86
2
0
0
0
0
0
0
0
-1
117
16
-8
-52
28
132
42
100
33
0
0
0
0
0
0
0
58
-69
-95
-91
12
-10
57
-58
-6
2
0
0
0
0
0
0
0
0
-1
-71
67
-43
85
3
17
26
60
0
0
0
0
0
0
0
0
0
0
-12
-7
0
-3
52
27
1
0
0
0
0
0
0
0
0
0
-2
-11
11
-30
-34
89
24
-4
0
0
0
0
0
0
0
0
-7
-13
-56
20
-13
-21
115
10
74
0
0
0
0
0
0
0
-6
-12
0
6
12
-71
-7
30
-87
-15
0
0
0
0
0
0
0
0
-15
17
-16
66
-49
-55
58
-28
25
0
0
0
0
0
0
0
0
4
-34
9
-56
67
-7
-64
9
-49
0
0
0
0
0
0
0
0
9
10
-18
49
78
16
-109
46
-70
0
0
0
0
0
0
0
0
-5
-39
10
-32
81
-95
-13
-104
-41
0
0
0
0
0
0
0
0
16
0
0
0
61
-42
-1
67
-62
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-16
0
52
25
-2
92
-64
29
29
-8
0
0
0
20
44
40
25
25
46
66
15
77
38
53
13
-20
13
0
0
-2
-3
-76
-3
24
-5
32
33
36
-14
132
196
74
-174
11
0
0
0
-13
21
93
-5
-52
-19
44
53
47
43
48
-64
5
59
0
0
0
0
0
4
-88
21
16
37
15
-107
87
-75
-8
-30
3
0
0
0
0
0
-5
-23
-23
-16
-53
-57
19
17
61
89
0
0
0
0
0
0
0
1
-19
-195
-33
-86
-80
30
58
-25
-5
-48
0
0
0
0
0
0
1
-1
-79
-32
8
-47
31
-56
85
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-26
-84
-40
0
-3
7
36
92
30
-43
-6
0
0
0
0
-15
-102
-206
-43
0
-6
-3
-26
-4
16
6
-25
31
0
0
0
-1
-1
-5
-32
-33
0
-52
-54
20
24
50
54
-71
-18
0
0
0
-2
4
-12
10
-35
59
-3
-5
-35
8
101
58
3
-2
0
0
0
0
-2
5
-42
-85
53
28
-25
-30
4
35
34
-33
138
0
0
0
0
-4
-1
54
66
-28
-60
-18
-21
-5
37
77
-10
85
0
0
0
0
0
-5
-39
-16
-55
-56
-16
-27
-16
20
59
33
2
0
0
0
0
4
-11
12
-147
3
45
8
-18
10
48
85
75
-53
0
0
0
0
-1
5
-35
43
95
7
-39
31
-22
18
-35
1
4
0
0
0
0
15
103
-49
-50
-108
0
5
13
39
12
88
0
0
0
0
0
-1
0
-5
-42
82
21
-1
-7
30
-3
4
66
1
0
0
0
0
0
1
6
70
18
55
3
22
78
-43
122
28
0
0
0
0
0
0
0
6
-79
16
-8
142
31
111
-67
152
-79
-6
0
0
0
0
-1
3
-6
53
40
1
30
-21
10
49
26
34
-1
0
0
0
0
8
13
-60
-29
31
45
66
-29
38
14
24
67
-3
0
0
0
1
9
-29
7
36
-8
24
16
-140
-69
10
-31
106
-3
0
0
0
2
3
45
36
12
-48
25
-121
-126
-21
-58
122
7
1
0
0
0
0
4
-13
33
-96
-39
-53
-16
-48
-14
34
-82
-70
10
0
0
0
0
1
-7
8
32
46
-4
0
45
71
-29
80
34
22
0
0
0
0
0
5
103
-76
-16
91
36
48
-20
58
-31
-25
73
0
0
0
0
0
38
-8
58
32
24
-27
-39
-22
66
100
128
-66
0
0
0
0
-1
-5
10
-87
2
-25
-31
12
12
104
103
32
-38
0
0
0
0
-6
18
10
-53
22
-11
7
72
-10
77
89
85
5
0
0
0
-3
2
-63
33
-13
18
-3
-27
-19
38
30
9
60
-5
0
0
0
0
-3
-74
-23
-58
-13
-23
16
-28
-31
65
-46
-54
11
0
0
0
0
-2
-25
-24
-106
2
-39
-45
-10
28
-70
-1
19
0
0
0
0
0
0
0
0
0
1
-29
23
21
103
2
-1
-1
0
0
0
0
0
0
0
0
8
-27
-66
0
3
84
46
43
10
11
78
-19
0
0
0
0
-3
-34
-130
-14
88
70
51
-20
46
-4
16
34
-48
0
0
0
-2
23
19
-33
31
-2
83
87
34
120
-53
46
38
26
0
0
0
0
-8
15
30
-50
9
-16
27
5
16
-8
45
10
32
0
0
0
4
0
23
41
106
-8
38
-8
43
40
91
17
13
-17
0
0
0
0
0
3
8
-73
-8
-8
22
8
22
-33
153
13
16
0
0
0
0
0
-3
8
-60
-137
-53
41
10
-45
-31
91
79
11
0
0
0
0
0
0
-13
-20
43
2
-31
-20
51
-132
91
5
0
0
0
0
0
3
0
0
-4
0
-54
-3
0
0
0
31
-6
0
0
0
0
0
0
-3
27
33
0
111
4
1
52
-64
-92
29
-7
0
0
0
0
0
0
19
-71
67
33
40
57
136
20
43
-108
-46
0
0
0
0
2
-1
8
-77
44
97
142
4
75
149
41
13
8
0
0
0
0
0
0
82
-59
77
139
100
12
87
88
66
145
-22
0
0
0
0
0
-45
-100
-68
-100
-6
-26
18
93
143
87
14
73
0
0
0
0
3
5
-24
25
-54
-34
21
13
117
40
79
19
50
0
0
0
0
0
-45
-11
101
-17
5
40
57
93
101
-15
33
1
0
0
0
0
0
0
-1
-70
-48
-106
-164
37
166
-50
43
7
0
0
0
0
0
0
0
0
0
16
0
-44
-1
4
-2
11
0
0
0
0
0
0
0
0
0
0
0
35
22
-49
0
-6
3
5
-2
0
0
0
0
0
0
-4
21
83
62
13
180
60
41
63
62
-38
0
0
0
0
0
7
-3
18
28
-8
78
12
10
70
59
40
12
0
0
0
0
0
0
-24
-46
85
-69
1
31
78
9
44
48
20
0
0
0
0
0
0
11
18
-95
-95
13
1
-29
2
8
44
-29
0
0
0
0
0
0
3
-4
-13
-89
-27
-109
-11
0
-9
-75
-102
0
0
0
0
0
0
7
-27
-31
-28
-5
51
80
-10
-23
48
0
0
0
0
0
0
0
64
-30
-42
89
74
-43
-6
0
3
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
80
0
0
0
34
0
0
0
0
0
0
0
0
1
2
83
-15
59
-52
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
-26
2
27
51
26
207
-3
0
0
0
0
0
0
0
0
4
-22
-34
-124
71
38
84
116
26
0
0
0
0
0
0
0
1
-2
-30
-13
45
-51
-15
52
15
49
0
0
0
0
0
0
0
0
0
-43
87
-9
-60
-20
78
20
2
0
0
0
0
0
0
0
0
1
2
-3
-39
-73
-28
50
4
0
0
0
0
0
0
0
0
0
0
-1
52
-108
14
18
2
55
0
0
0
0
0
0
0
0
0
0
0
-11
25
47
15
-25
6
0
0
0
0
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
-22
31
0
0
8
0
0
0
0
0
0
0
0
0
0
0
11
-53
117
-49
43
1
0
0
0
0
0
0
0
0
0
0
2
-44
-25
83
-85
57
52
0
0
0
0
0
0
0
0
0
0
-3
1
-15
32
105
19
49
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-26
11
-110
-4
0
0
0
0
0
0
0
0
0
0
0
0
27
-30
41
-57
4
0
0
0
0
0
0
0
0
0
0
0
7
7
-6
17
34
-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
-7
-72
54
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-2
15
-10
123
0
0
69
1
0
0
0
0
0
0
0
0
-3
3
23
-120
-77
-82
-38
35
-29
0
0
0
0
0
0
0
0
1
-2
1
2
110
9
17
37
9
0
0
0
0
0
0
0
0
0
0
-1
100
-12
93
59
-3
-6
0
0
0
0
0
0
0
0
0
0
41
1
-37
61
-1
-13
-3
0
0
0
0
0
0
0
0
0
0
-4
63
12
14
-32
-22
-15
0
0
0
0
0
0
0
0
0
0
0
-27
58
51
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-13
5
-15
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
29
-21
-48
0
0
57
79
0
0
0
0
0
0
0
0
0
-1
-3
-20
47
129
91
-11
3
0
0
0
0
0
0
0
0
0
0
2
63
-21
76
11
-1
18
0
0
0
0
0
0
0
0
0
0
0
16
7
48
-13
9
-33
0
0
0
0
0
0
0
0
0
0
2
-7
71
79
37
41
-7
0
0
0
0
0
0
0
0
0
0
-21
-43
-17
-13
-36
-40
23
0
0
0
0
0
0
0
0
0
0
0
2
-51
-5
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
-8
-8
0
0
0
78
-12
16
-2
-2
-30
0
0
0
0
0
0
-42
42
0
0
0
0
-6
-2
-10
67
28
0
0
0
0
0
0
9
56
20
181
90
-46
48
0
-120
49
168
-2
0
0
0
0
-2
-3
56
-15
121
-52
55
62
81
27
-11
-12
0
0
0
0
0
0
-18
35
46
-90
77
-1
138
26
-23
68
8
0
0
0
0
0
0
0
-44
51
51
50
-34
-106
20
15
1
-4
0
0
0
0
0
0
-32
44
-36
95
39
78
-18
-64
0
0
3
0
0
0
0
0
0
-5
-55
1
-20
-78
-24
-3
1
0
-31
0
0
0
0
0
0
0
0
-3
-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
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-5
-60
129
-27
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
65
19
-10
-4
-1
-7
-20
-8
-20
0
0
0
0
0
0
0
-4
54
50
-56
-15
1
0
0
0
0
0
0
0
0
0
0
0
-3
-52
-102
167
-5
17
3
1
0
0
0
0
0
0
0
0
0
-9
-129
-9
80
8
0
0
7
-4
0
0
0
0
0
0
0
0
-2
-22
-50
-33
3
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
1
1
46
97
0
0
0
99
143
57
139
80
-22
53
0
0
0
1
-23
61
-14
41
0
0
181
148
-7
37
38
19
124
0
0
0
-5
-8
-12
-3
97
60
130
247
49
54
39
36
57
-4
0
0
0
0
1
6
-39
-22
90
174
-39
49
19
64
60
48
107
0
0
0
-8
5
8
-71
87
127
5
-50
101
93
27
6
-3
78
0
0
0
1
-3
-8
25
-55
0
47
71
59
-68
-31
10
42
-76
0
0
0
0
0
-1
-3
112
-68
32
-103
11
45
-27
-6
70
-32
0
0
0
0
0
0
-3
-37
47
22
4
-2
2
-18
10
-39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
27
24
53
56
0
0
79
46
-7
31
28
-46
-21
0
0
0
2
-23
15
-26
43
-97
11
16
48
6
-27
-9
-3
-44
0
0
0
0
-12
44
57
113
-23
-17
44
28
-1
-9
-62
-69
-161
0
0
0
0
-6
-81
-72
-98
-155
-92
41
-16
-43
-39
-84
-28
-99
0
0
0
0
-1
-6
16
-88
-136
-85
-50
-22
14
24
-38
6
-35
0
0
0
0
0
11
28
-97
-148
-135
-87
-53
14
48
34
-28
-77
0
0
0
0
11
1
-82
105
-71
-56
-44
-52
1
4
-42
20
-26
0
0
0
0
0
0
17
-39
-23
-107
94
-17
-15
-18
26
-36
64
0
0
0
0
0
0
-2
0
1
-21
-28
16
101
104
27
0
0
0
0
0
0
0
0
0
0
0
0
-73
27
48
2
68
39
21
0
0
0
0
0
0
0
-3
12
7
175
51
-22
-19
-12
10
-9
0
0
0
0
0
0
0
-14
32
-18
112
75
30
-72
-57
-7
-13
0
0
0
0
0
0
2
8
83
22
10
-14
-5
-135
68
28
24
0
0
0
0
0
0
2
1
12
-75
59
-26
-38
21
-38
19
39
0
0
0
0
0
0
0
6
42
29
-71
40
17
-74
-45
-28
71
0
0
0
0
0
0
0
3
13
17
-28
88
-39
-52
-32
9
69
0
0
0
0
0
0
0
3
24
84
58
-11
-7
-40
33
17
21
0
0
0
0
0
0
0
2
-47
17
-1
65
41
19
2
-44
58
0
0
0
0
0
0
0
0
0
-39
30
48
70
35
-48
-35
59
0
0
0
0
0
-5
-1
7
15
156
0
73
21
-33
-35
-22
5
0
0
0
0
0
0
0
1
-3
238
57
17
-29
69
5
-30
-33
0
0
0
0
0
0
0
-11
17
52
102
-20
73
-7
19
12
-6
0
0
0
0
0
0
0
-1
63
-23
60
-28
-6
50
-58
-85
0
0
0
0
0
0
0
12
6
-14
51
-33
112
4
-33
42
-5
-31
0
0
0
0
0
0
0
0
-40
22
130
13
-106
11
-18
-53
8
0
0
0
0
0
0
0
0
61
79
92
75
-10
67
-8
-54
37
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
5
3
0
0
0
0
0
-1
-31
59
-20
0
0
93
36
37
82
-10
77
-25
0
0
0
0
-26
24
90
0
27
0
153
36
59
69
14
-21
-11
0
0
3
-3
-1
6
109
148
127
100
108
35
58
19
11
40
-13
0
0
0
-2
-7
-89
18
82
158
171
80
64
12
32
55
1
-89
0
0
0
0
0
-30
-71
159
29
148
141
32
-16
63
37
64
-2
0
0
0
0
-23
-9
-35
41
48
2
35
10
-46
49
14
40
42
0
0
0
0
0
0
16
56
89
59
-28
15
24
-53
108
120
87
0
0
0
0
0
0
1
65
81
74
-52
27
0
-55
63
21
13
0
0
0
0
0
0
0
0
1
1
-4
10
-3
0
0
0
0
0
0
0
0
-5
5
6
-49
0
3
-36
121
-47
7
-52
-135
-16
0
0
0
0
-2
19
-12
0
2
0
-46
113
8
32
-60
-37
26
0
0
0
0
0
27
125
54
141
55
39
146
126
54
22
46
-61
0
0
0
0
-3
5
58
93
54
36
-39
105
51
26
-17
-84
-58
0
0
0
0
0
0
-3
244
165
42
1
-49
-47
-84
99
-28
107
0
0
0
0
0
0
17
170
96
142
62
4
-24
-155
96
31
-51
0
0
0
-3
0
0
2
113
104
63
53
54
31
-122
45
-70
24
0
0
0
0
0
0
0
3
2
13
-22
-2
29
54
-51
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
9
3
-18
-13
-5
-22
0
0
0
0
0
0
0
1
0
-3
3
99
-37
65
-10
-49
-11
0
0
0
0
0
0
-6
15
38
8
-55
31
20
50
16
-25
2
0
0
0
0
0
0
-14
126
-14
-6
-2
-33
-64
-8
-27
95
-22
0
0
0
0
0
0
20
28
-5
-17
-9
2
-4
1
-5
-5
19
0
0
0
0
0
0
0
-2
65
0
-1
14
-4
-1
-18
-10
0
0
0
0
0
0
0
0
0
3
-4
2
3
-14
-1
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-7
67
111
164
94
0
0
0
0
0
0
0
5
2
44
-3
-25
-71
-22
-54
-67
-72
0
0
0
0
0
0
0
0
4
1
-4
-89
62
-71
14
87
-16
0
0
0
0
0
0
0
0
0
14
-4
-12
53
82
5
-88
12
0
0
0
0
0
0
0
0
0
-7
9
74
-35
34
116
95
82
0
0
0
0
0
0
0
0
0
-2
11
8
53
-15
-95
118
14
0
0
0
0
0
0
0
0
0
0
-1
-4
-21
13
-5
20
158
0
0
0
0
0
0
0
0
0
0
0
0
-3
56
43
9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
4
52
-190
18
0
0
0
0
0
0
0
0
0
0
15
-4
-21
-7
81
-101
-10
0
0
0
0
0
0
0
0
0
-1
-10
-1
11
-11
63
-70
-22
0
0
0
0
0
0
0
0
0
0
0
-2
6
113
115
52
-3
0
0
0
0
0
0
0
0
0
0
0
18
12
-25
67
105
-9
0
0
0
0
0
0
0
0
0
0
0
0
5
-40
-60
-11
28
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
56
15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
20
0
0
0
0
0
0
0
0
0
0
2
0
-12
116
-13
-16
108
0
0
0
0
0
0
0
0
0
-2
-7
-1
-29
88
12
-112
99
0
0
0
0
0
0
0
0
0
0
-1
-1
-28
108
-11
135
74
0
0
0
0
0
0
0
0
0
0
-5
0
3
28
0
54
22
0
0
0
0
0
0
0
0
0
0
-4
0
13
-23
-29
-64
71
0
0
0
0
0
0
0
0
0
0
0
1
1
4
21
69
66
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
29
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-75
0
0
0
0
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
21
-3
16
38
-101
8
0
0
0
0
0
0
0
0
0
3
-3
32
32
-12
-117
-64
27
0
0
0
0
0
0
0
0
0
2
0
43
-52
-11
128
202
-109
0
0
0
0
0
0
0
0
0
0
18
-5
0
81
44
52
13
0
0
0
0
0
0
0
0
0
0
0
1
-37
44
37
72
25
0
0
0
0
0
0
0
0
0
0
0
8
10
-69
3
51
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-51
70
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
-1
7
0
11
-20
65
-72
15
-27
-102
-44
0
0
0
0
0
0
-50
27
-58
78
81
1
-45
83
83
12
32
0
0
0
0
0
0
3
21
-3
10
-6
18
-38
29
92
96
48
0
0
0
0
0
0
-7
32
105
98
76
-114
-5
50
13
-6
9
0
0
0
0
0
0
-4
-12
95
7
48
228
-28
-73
51
26
-41
0
0
0
0
0
0
3
-34
-11
-12
-6
-10
-15
75
107
25
-41
0
0
0
0
0
0
0
70
-30
-29
-50
-32
56
89
-104
90
67
0
0
0
0
0
0
0
0
67
-4
1
-32
1
-19
87
49
36
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
-62
-6
0
0
0
0
0
0
0
0
0
-28
25
-7
2
71
-53
-123
-4
0
0
0
0
0
0
0
-6
0
-45
2
0
-28
12
165
56
22
0
0
0
0
0
0
1
-5
1
-29
50
-29
18
-46
99
-16
-41
0
0
0
0
0
0
0
-4
7
44
78
13
-33
51
-14
20
106
0
0
0
0
0
0
0
-3
3
3
17
1
-33
-66
99
-10
-85
0
0
0
0
0
0
0
2
7
-1
-34
-9
31
88
-39
-40
114
0
0
0
0
0
0
0
-1
0
13
-10
-25
11
-6
32
72
46
0
0
0
0
0
0
0
0
0
-1
0
5
0
-11
91
105
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
127
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-7
0
84
11
-21
-26
90
54
-36
-57
0
0
3
41
-79
34
-68
-27
1
80
53
38
10
108
4
3
78
0
0
-4
-17
-11
-86
-86
4
42
40
55
13
48
-73
103
88
-23
0
0
-2
-23
-23
80
-4
-57
25
102
85
30
94
46
112
7
43
0
0
-1
3
-6
-109
-26
21
42
-51
16
-20
108
-64
-5
9
59
0
0
0
0
-2
-8
-96
-10
-71
4
9
-16
133
104
-87
53
-59
0
0
0
0
0
6
-41
-107
-24
-163
-100
-50
9
27
82
16
-1
0
0
0
0
0
0
-2
-32
-101
-40
11
69
-11
0
-3
-63
-1
0
0
0
0
0
0
0
-2
-1
-16
0
0
0
0
0
0
0
0
0
0
16
-29
-102
-3
-12
0
14
24
38
102
12
-60
13
0
0
0
-3
34
-67
30
-57
-36
-8
6
41
35
56
66
57
8
0
0
0
0
-27
-34
-27
-103
33
19
13
21
-22
13
89
-88
83
0
0
0
0
-10
-15
-96
-43
-49
-27
-31
0
-21
-8
127
12
65
0
0
0
0
26
-58
45
-114
-62
-25
7
13
-13
33
-27
-11
3
0
0
0
6
-3
-33
-63
-6
-5
-12
-34
-25
-42
-23
85
82
23
0
0
0
0
0
8
-15
-75
-41
21
-44
-25
34
2
-32
-3
-4
0
0
0
0
0
-6
52
-86
70
86
-9
-25
18
-33
-40
-5
-14
0
0
0
0
0
0
-11
37
-81
32
36
-50
-79
14
29
0
0
0
1
-1
1
14
11
36
-48
-24
0
4
20
-93
48
-30
2
0
0
0
10
3
45
4
28
9
-16
9
52
9
-36
-47
-27
1
0
0
0
0
-4
-23
-4
-21
7
2
-47
5
68
14
-115
21
-4
0
0
0
0
-9
18
14
16
-13
-52
1
68
85
-4
-165
-4
0
0
0
0
0
2
-36
24
-40
18
-36
-32
85
-5
45
40
22
0
0
0
0
2
-8
7
31
21
-29
0
16
-83
-54
-18
-66
24
0
0
0
0
0
5
37
41
-35
17
-7
18
-48
75
31
60
-11
0
0
0
0
6
-2
-1
91
63
4
12
-20
-119
-53
61
-80
-21
0
0
0
0
-7
-8
40
47
3
48
15
-12
-105
-41
23
14
-1
0
0
0
0
0
5
-12
-42
63
58
20
0
16
63
92
20
-43
0
0
0
0
2
-2
-36
31
17
29
49
28
-35
-1
76
36
-2
-1
0
0
0
0
3
-49
13
-62
29
-10
67
-13
3
83
74
-8
0
0
0
0
0
2
1
-18
5
-37
26
27
12
31
49
-28
92
0
0
0
0
0
-3
15
48
-6
-80
-33
-68
-28
-10
-37
-29
-22
0
0
0
0
0
0
-24
25
25
1
-26
-58
-75
-12
-126
52
7
0
0
0
0
0
-2
14
5
-1
-59
-28
56
-59
-96
-119
62
15
0
0
0
0
0
0
11
-78
-47
3
37
-30
-152
-60
-64
55
0
0
0
0
0
0
0
0
0
0
0
-3
-6
2
50
-14
0
0
0
0
0
0
0
0
1
21
5
-5
35
0
64
85
118
100
-69
52
70
-19
0
0
0
-6
-12
39
-56
23
-13
68
31
78
22
59
-49
16
12
0
0
-2
0
-14
-59
-54
-39
26
9
62
19
29
-31
30
-87
-8
0
0
-3
1
-25
-24
-46
-52
54
-46
-13
47
33
76
57
174
-4
0
0
0
1
2
67
-30
-82
-54
-26
-38
-2
73
83
142
83
-55
0
0
0
0
0
-44
-40
-113
-64
19
-90
-23
-105
4
5
-26
94
0
0
0
0
0
-1
-11
-46
-110
-13
58
1
-78
-63
35
82
-79
0
0
0
0
0
0
13
-32
-27
-41
-12
-60
-12
-21
4
36
10
0
0
0
0
0
0
0
0
-1
-6
0
-1
-1
6
-7
0
3
0
0
0
0
-3
20
-70
6
0
-29
-35
6
0
-50
92
73
91
0
0
0
0
-6
-26
3
-6
18
45
38
75
-90
-104
91
8
24
0
0
0
0
20
8
0
-9
-16
10
-53
-114
37
-8
-48
4
150
0
0
0
0
-4
-13
35
34
48
31
95
54
14
41
91
-81
125
0
0
0
1
5
-30
94
9
78
18
33
-141
6
-7
141
-2
-57
0
0
0
0
7
2
-93
-59
17
-4
-59
-103
-24
-56
-92
54
95
0
0
0
0
3
31
14
-1
28
-74
3
-47
-4
9
-1
-70
-6
0
0
0
0
0
0
44
11
-45
-53
-36
64
1
79
-1
-39
0
0
0
0
0
0
0
-2
53
4
-20
18
-7
13
0
0
0
0
0
0
0
0
0
0
3
-26
0
9
-10
-8
1
0
-1
69
0
0
0
0
0
0
0
-51
12
-22
-86
-119
-50
0
31
-10
73
0
0
0
0
0
0
1
-3
78
31
-60
27
4
-5
24
-7
-34
0
0
0
0
0
0
1
-1
-20
47
31
33
13
-1
4
42
-17
-12
0
0
0
0
0
1
1
33
-50
-39
-45
-60
-7
-1
22
138
27
0
0
0
0
0
0
-19
-144
102
-64
38
-80
-7
0
12
-13
-11
0
0
0
0
0
0
-2
-22
20
-24
3
-2
-5
-4
22
106
-3
0
0
0
0
0
0
0
-28
-54
14
-1
-1
0
0
-1
-1
-11
0
0
0
0
0
0
0
2
-2
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-12
-12
12
83
-30
0
0
89
0
0
0
0
0
0
0
0
2
-13
-6
27
-24
71
41
103
-68
-1
0
0
0
0
0
0
0
4
-3
0
2
-4
-3
-13
43
108
-5
0
0
0
0
0
0
0
0
-1
0
7
92
-37
-13
-9
130
8
0
0
0
0
0
0
0
0
1
4
32
47
-32
-45
18
60
-1
0
0
0
0
0
0
0
0
-13
17
8
60
-147
-47
-20
-2
0
0
0
0
0
0
0
0
0
19
-16
3
4
14
-5
-60
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
8
-2
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
81
-73
37
-23
0
0
0
0
0
0
0
0
0
0
0
0
-1
-99
33
-37
20
0
0
0
0
0
0
0
0
0
0
0
0
0
36
25
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
59
59
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-45
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-49
16
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
16
-44
-68
-94
127
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-78
-58
72
0
0
0
0
0
0
0
0
0
0
0
0
0
24
12
87
78
-3
0
0
0
0
0
0
0
0
0
6
0
4
-61
-43
48
88
0
0
0
0
0
0
0
0
0
0
0
-5
10
6
12
61
8
0
0
0
0
0
0
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
0
0
-3
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
-7
-20
10
0
0
57
-1
0
0
0
0
0
0
0
0
0
-1
5
1
25
-3
-29
-7
-3
0
0
0
0
0
0
0
0
0
0
2
-7
-56
14
-52
97
-5
0
0
0
0
0
0
0
0
0
0
0
6
3
53
74
32
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
-7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-69
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-8
-2
-6
-34
-47
0
0
0
0
-19
-2
1
-12
0
0
0
30
1
-26
-97
-64
12
-2
0
0
0
-2
6
-1
21
-79
73
20
-13
-6
-31
9
146
14
0
0
0
0
1
1
-1
38
-45
-24
-137
1
0
-38
-79
-24
-2
0
0
0
2
0
1
10
-31
22
98
50
23
-41
-59
78
169
-11
0
0
0
0
0
-2
1
-6
-116
-87
-49
-107
98
42
46
1
0
0
0
0
0
0
0
-8
-2
54
-125
-2
25
-114
108
-11
10
0
0
0
0
0
0
0
0
9
3
-69
13
20
21
33
-9
5
0
0
0
0
0
0
0
0
0
0
-1
0
11
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
-11
15
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
-1
3
0
0
0
11
0
0
0
0
0
0
0
0
0
1
-13
-12
-12
0
-15
-8
2
0
0
0
0
0
0
0
0
0
0
47
-47
-7
8
-16
-4
-3
0
0
0
0
0
0
0
0
0
4
51
43
7
16
3
-2
0
0
0
0
0
0
0
0
0
0
0
16
-8
-3
1
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
39
83
178
-3
-27
-139
0
0
0
0
-1
-11
-133
10
0
0
7
63
-70
13
-84
36
-203
0
0
0
-1
0
2
-31
49
-13
-6
-3
50
-2
11
-62
30
-31
0
0
11
-1
0
19
12
82
-56
98
36
-38
77
-26
80
114
185
0
0
0
0
-10
-3
22
-16
122
-5
-13
143
36
-16
45
127
-74
0
0
0
0
0
2
1
-3
62
64
105
59
123
91
-4
-57
-70
0
0
0
2
3
1
0
-57
46
37
97
91
-17
81
-80
-47
33
0
0
0
0
-2
-4
-7
27
-27
-11
14
-14
36
-52
82
2
0
0
0
0
0
0
0
0
-20
0
0
0
0
-3
1
2
1
0
0
0
0
0
0
-1
4
-2
0
0
66
-13
-59
-12
53
106
72
0
0
7
0
-31
95
-41
-17
31
54
-37
-28
-13
-2
9
82
49
0
0
0
4
-7
50
-19
77
74
14
4
-21
-42
-39
-16
128
148
0
0
0
5
4
-6
2
43
-39
13
-58
-35
-22
26
34
100
-89
0
0
0
4
9
30
67
-29
15
-42
16
31
-10
-7
52
-21
109
0
0
0
0
2
-55
-21
-86
66
-65
9
-11
-27
28
-9
-63
70
0
0
0
-7
-7
-33
16
88
32
30
-29
2
2
-11
38
12
189
0
0
0
-4
4
-33
1
12
-5
-4
52
-7
-10
-30
-48
-93
13
0
0
0
0
0
3
8
-8
5
28
-9
26
6
10
35
-12
0
0
0
0
0
0
0
0
0
0
0
30
-7
-155
59
-59
-88
-5
0
0
0
0
0
0
0
-27
1
1
-12
72
-61
-14
-9
-3
17
0
0
0
0
-4
0
0
2
2
25
42
76
78
-80
1
21
14
0
0
0
0
-3
5
1
0
-23
60
-30
-47
38
15
28
49
3
0
0
0
0
0
0
0
-4
2
-16
76
-32
58
7
-9
102
25
0
0
0
0
0
0
-7
6
-22
46
33
1
18
-6
68
70
7
0
0
0
0
0
0
0
4
4
12
15
-10
1
98
20
-46
14
0
0
0
0
0
0
4
-4
30
13
-116
-63
1
-32
-46
2
0
0
0
0
0
0
0
0
-13
0
11
7
1
8
-19
20
24
4
0
0
0
0
0
0
0
0
0
35
133
81
-92
15
23
-79
-26
0
0
0
0
5
2
0
3
-29
36
0
19
22
-2
25
67
78
0
0
0
0
0
2
0
-11
0
-20
-16
35
-1
85
-47
5
81
0
0
0
0
4
0
-3
4
-20
-44
81
28
110
104
37
-56
-6
0
0
0
0
0
0
2
-3
9
-30
4
108
41
21
47
173
10
0
0
0
0
0
3
0
9
-21
115
48
64
12
7
14
86
52
0
0
0
0
0
0
0
3
10
12
20
59
44
-77
-25
35
-17
0
0
0
0
0
0
14
0
-5
12
17
-12
46
9
22
19
-50
0
0
0
0
0
0
0
0
0
0
0
-10
0
20
12
-1
0
0
0
0
0
0
-1
-1
0
0
0
-32
51
-59
18
-6
-19
-11
0
0
0
0
-18
12
2
0
1
0
-171
25
44
58
34
27
-27
0
0
0
14
7
-14
8
59
-49
25
25
95
92
-20
29
30
-70
0
0
0
0
-1
9
85
-21
2
134
38
99
134
8
38
42
-31
0
0
0
0
-3
0
23
61
116
102
32
33
20
69
77
30
35
0
0
0
0
2
27
5
22
-8
7
78
58
31
16
32
127
0
0
0
0
0
2
2
57
49
-13
34
-32
-2
48
9
-4
26
15
0
0
0
0
0
0
-1
-56
0
-17
87
97
11
-63
37
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-32
1
0
0
0
0
0
0
0
0
0
0
-23
-44
24
45
171
19
117
-8
0
0
0
0
-1
2
4
0
-5
0
101
-52
9
27
13
-2
5
0
0
0
0
0
0
-1
-6
34
16
75
143
80
97
-14
-22
18
0
0
0
0
0
0
-8
-2
32
80
47
-56
-58
24
22
1
76
0
0
0
0
0
0
-12
35
99
-161
15
92
-49
-23
55
-30
-12
0
0
0
0
0
-2
11
-14
24
73
-37
115
139
-32
-57
34
1
0
0
0
0
0
0
1
-1
54
92
48
-74
38
-1
21
73
3
0
0
0
0
0
0
0
1
12
1
-2
47
87
-80
-146
-97
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-22
-16
4
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
4
5
-20
0
0
0
0
0
0
0
2
7
0
0
6
10
14
45
29
9
0
0
0
0
0
0
0
0
-1
0
0
0
9
11
-35
-16
18
0
0
0
0
0
0
0
0
58
-3
-2
0
-7
6
5
-40
-41
0
0
0
0
0
0
0
0
9
-68
0
3
0
16
-38
-22
6
0
0
0
0
0
0
0
0
16
48
-10
13
0
-24
31
-3
18
0
0
0
0
0
0
0
0
-1
51
-1
7
-9
-7
-3
-3
3
0
0
0
0
0
0
0
0
0
-2
2
-1
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
54
-8
203
-49
-52
0
0
0
0
0
0
2
48
5
13
-119
5
62
88
39
-38
30
0
0
0
0
0
0
-6
11
-51
34
30
-53
-50
85
-55
32
9
0
0
0
0
0
0
0
-10
10
-11
64
-110
41
22
16
16
0
0
0
0
0
0
0
0
0
-3
-4
9
93
54
36
-41
25
70
0
0
0
0
0
0
0
0
-2
2
43
29
47
-47
15
38
24
0
0
0
0
0
0
0
0
0
6
1
59
6
-32
112
-120
-7
0
0
0
0
0
0
0
0
0
0
-1
25
-20
6
-199
-169
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
-37
77
0
0
0
0
0
0
0
0
0
0
1
-1
-11
-89
-44
102
0
0
0
0
0
0
0
0
0
-8
-10
-24
-37
50
96
105
-49
-22
0
0
0
0
0
0
0
0
-2
0
0
8
41
-46
84
-54
12
0
0
0
0
0
0
0
0
0
0
0
0
-5
57
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
20
-15
-97
-53
0
0
0
0
0
0
0
0
0
0
0
-2
-28
-48
-72
-108
17
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-23
147
56
0
0
0
0
0
0
0
0
0
0
0
0
3
71
-4
33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
-4
0
0
0
0
0
0
0
0
0
2
4
37
16
10
12
98
-5
0
0
0
0
0
0
0
-2
-18
2
-56
-40
105
9
15
-40
-1
0
0
0
0
0
0
0
4
-13
1
0
-9
44
-142
40
37
-14
0
0
0
0
0
0
0
0
-3
0
0
2
-44
116
79
-32
6
0
0
0
0
0
0
0
1
0
0
0
-29
65
-38
85
96
60
0
0
0
0
0
0
0
0
0
0
-7
0
-35
-166
-9
76
-12
0
0
0
0
0
0
0
0
0
0
0
0
42
154
95
-49
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-3
-14
-38
-4
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
11
9
64
9
-4
-28
8
-3
0
0
0
0
0
0
-8
-3
9
-25
34
25
27
160
9
-80
-3
0
0
0
0
0
0
0
6
-3
-6
20
-28
65
-79
86
80
19
0
0
0
0
0
0
0
20
-2
0
-14
-25
-110
21
132
109
-11
0
0
0
0
0
0
0
0
0
0
-1
-19
63
114
62
32
32
0
0
0
0
0
0
0
0
0
0
0
106
-14
27
-26
67
0
0
0
0
0
0
0
0
0
0
0
0
2
-78
5
31
-48
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
58
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
6
14
58
-59
70
-1
138
34
0
0
0
0
0
0
-2
-6
2
5
170
127
5
-41
28
-17
93
0
0
0
0
0
0
-1
10
36
86
-19
-5
81
-21
-119
139
84
0
0
0
0
0
0
0
4
15
119
40
16
-1
52
20
7
47
0
0
0
0
0
0
-4
11
-59
-70
37
14
-8
19
-20
89
65
0
0
0
0
0
0
-6
2
24
-84
63
10
25
-28
48
57
-17
0
0
0
0
0
0
0
0
-15
19
79
94
41
104
-10
-24
-153
0
0
0
0
0
0
0
0
0
0
-8
60
2
-36
-65
9
38
0
0
0
0
0
0
0
0
0
0
13
-4
10
21
-13
-11
-8
0
0
0
0
0
0
0
0
0
-7
-29
17
-23
41
51
-24
0
0
0
0
0
0
0
0
0
0
-1
7
52
70
72
-68
36
-42
0
0
0
0
0
0
0
0
-2
-7
0
-12
35
96
20
-32
30
0
0
0
0
0
0
-1
-10
3
44
35
3
12
-31
25
62
-2
0
0
0
0
0
0
0
18
7
14
14
-4
-22
-15
-22
36
77
0
0
0
0
0
0
0
-2
6
0
-9
18
-2
-33
-6
15
-2
0
0
0
0
0
0
0
-14
-2
-9
10
60
59
-79
-51
-45
16
0
0
0
0
0
0
0
0
19
26
-1
4
66
-13
68
-62
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
14
15
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
9
2
-26
0
72
-27
87
34
-37
-61
36
-45
0
0
0
0
22
-41
-63
-31
59
63
-28
-82
-51
33
101
-37
21
0
0
0
4
2
32
34
21
-40
11
-35
-17
166
25
-137
-6
-27
0
0
0
-1
-2
-7
-75
-30
71
48
21
4
-3
23
55
95
18
0
0
0
0
-1
-28
38
-128
-3
43
-67
-140
10
29
118
-102
37
0
0
0
0
0
6
-25
75
3
34
44
-41
106
-11
-29
23
58
0
0
0
0
10
-12
-14
48
-105
27
-35
78
-83
-88
37
79
-3
0
0
0
0
0
0
6
129
15
16
47
-10
-7
23
-70
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
6
21
-12
0
-70
-51
-51
-164
-167
-55
71
0
0
0
2
62
-6
33
-65
51
36
-62
-34
36
38
-67
111
70
0
0
-6
0
-14
-22
-27
42
-13
51
-12
11
15
11
6
144
-55
0
0
0
0
-1
-1
-14
-35
-3
33
-37
-38
-47
-5
-22
26
103
0
0
0
0
1
-61
-17
48
57
74
22
25
23
5
-58
-8
72
0
0
0
0
-6
-6
-134
36
4
-19
22
8
28
-16
-36
9
155
0
0
0
0
4
3
7
94
-15
73
-42
-65
-22
-33
25
63
54
0
0
0
0
0
0
-8
-12
-73
-18
-16
-71
-16
-41
21
-22
-34
0
0
0
0
0
0
-20
21
55
78
-9
-5
18
50
68
0
0
0
0
0
0
0
0
0
0
0
0
10
18
13
73
-15
31
0
0
0
0
-4
-1
4
5
4
-17
68
52
75
55
34
8
47
-1
0
0
0
0
-5
0
-11
75
78
15
-50
-17
76
-47
63
-46
0
0
0
0
0
0
0
-11
11
-106
81
51
1
1
-36
-1
3
0
0
0
0
0
0
-5
-13
11
-44
-108
30
-41
-62
116
-7
-4
0
0
0
0
0
0
0
0
-68
13
23
-83
-16
-54
-7
-74
-1
0
0
0
0
0
0
0
-2
24
-62
31
-23
-44
-93
79
-61
-13
0
0
0
0
0
-1
-1
-5
8
14
25
18
66
-76
-119
-38
-15
0
0
0
0
0
0
0
0
56
-116
45
5
-7
-2
-7
16
-1
0
0
0
0
0
1
-1
3
16
0
0
41
-7
-27
-30
-94
-32
0
0
0
-2
-1
-1
-11
82
-43
-12
-26
26
-43
5
83
20
27
0
0
0
0
0
-3
-12
-114
43
3
154
109
37
40
-32
104
7
0
0
0
0
0
-2
0
-25
-12
12
35
20
0
31
8
101
110
0
0
0
0
0
-4
4
-11
17
31
-35
-29
-47
-54
26
63
19
0
0
0
0
0
-2
-9
-21
24
-18
-87
26
-26
-49
19
-17
-11
0
0
0
0
0
-9
45
-14
11
-39
-23
-15
10
-16
62
1
2
0
0
0
0
0
0
3
-18
1
-85
-4
-23
-46
13
-13
-75
-1
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-5
0
2
0
0
0
0
0
0
0
1
-20
8
0
15
-48
100
18
8
64
70
4
0
0
-2
0
1
104
42
-1
91
25
-27
94
15
-106
59
60
-60
0
0
0
34
-7
-5
157
-16
-14
67
32
91
14
-79
33
70
-98
0
0
0
0
-2
-61
-49
64
23
-1
-21
39
34
-78
95
59
-96
0
0
0
0
37
-13
-34
-215
-108
28
89
65
13
62
73
6
8
0
0
0
0
3
0
-39
2
-61
-4
-3
28
-2
-51
63
30
4
0
0
0
0
0
0
-9
84
52
-143
-63
-17
-58
-107
0
-7
42
0
0
0
0
0
0
-11
-8
-2
23
15
59
-30
83
-18
-37
-2
0
0
0
0
0
0
0
0
-1
0
6
-2
4
0
-6
14
0
0
0
0
0
0
0
0
1
0
75
-40
26
19
-31
108
77
-13
0
0
0
0
0
-10
-50
6
52
-35
-71
42
31
-17
66
17
-35
0
0
0
0
0
6
13
-34
62
4
12
-27
13
10
-103
-54
-17
0
0
0
0
0
0
7
56
26
-8
48
1
36
-10
84
-143
-65
0
0
0
0
1
-11
-39
7
-8
6
-23
99
81
23
82
35
41
0
0
0
0
0
0
-8
45
-124
33
-38
163
50
-4
24
71
-66
0
0
0
0
0
0
12
-24
-26
-45
27
-28
43
-4
79
21
19
0
0
0
0
0
0
0
-4
-33
-49
-67
-63
3
28
20
43
0
0
0
0
0
0
0
0
0
0
0
1
-6
-12
12
5
-2
-2
0
0
0
0
0
0
0
0
0
23
-4
0
-4
-13
-28
7
1
0
0
0
0
0
-8
-2
-68
-24
44
100
30
-47
-7
144
-28
-6
0
0
0
0
0
0
-8
-13
-24
-30
91
-155
-27
-42
13
61
39
0
0
0
0
0
0
0
1
1
-17
97
38
60
-16
28
-116
-5
0
0
0
0
0
0
0
-18
-16
-24
65
-61
-22
-66
-11
45
-35
0
0
0
0
0
0
-3
-7
54
-22
-10
-4
141
-87
80
12
-37
0
0
0
0
0
0
6
-88
79
43
-32
-62
-47
46
-100
-81
4
0
0
0
0
0
0
14
3
7
-22
-9
-3
26
-44
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-1
14
-71
-7
16
23
1
0
0
0
0
0
0
0
0
0
0
7
-5
44
-95
229
50
0
0
0
0
0
0
0
0
0
0
0
-6
-16
68
-70
-36
64
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-1
67
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-61
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-16
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
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
-2
-15
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
-4
0
3
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
-2
0
0
0
0
0
0
0
0
0
0
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
-3
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
10
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
24
-38
-24
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
4
-2
-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
1
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
9
3
17
26
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
27
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
69
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
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
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
9
0
0
0
2
-15
16
61
41
82
9
0
0
0
0
-2
-7
-28
0
0
0
4
77
-79
-25
-11
1
-59
0
0
0
0
0
-5
10
-31
29
36
129
-34
15
48
-80
-161
51
0
0
0
0
21
0
27
154
-8
19
-8
-71
-16
-8
11
19
0
0
0
0
0
0
0
3
-3
17
37
69
-4
24
73
0
-55
-11
0
0
0
0
0
0
0
9
-25
18
10
-75
-23
-20
133
-67
1
0
0
0
0
0
0
1
37
9
54
-60
46
-26
0
-46
9
8
0
0
0
0
0
0
2
109
12
-26
0
3
5
4
6
0
-2
0
0
0
0
0
0
0
0
8
0
1
0
0
-11
0
-31
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-4
-1
4
1
0
0
0
0
0
0
0
2
-12
2
7
-9
-15
1
2
1
-10
0
0
0
0
0
0
0
0
1
-7
0
6
5
-2
1
-6
0
0
0
0
0
0
0
0
-9
1
4
1
0
0
-1
0
-12
-10
0
0
0
0
0
0
0
-1
8
0
0
0
0
-7
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-14
49
6
12
36
14
82
0
0
0
0
0
-3
14
-45
0
0
65
101
37
79
29
19
64
0
0
0
0
0
-2
-9
198
336
41
-21
116
137
41
30
22
4
0
0
0
8
0
-11
11
62
58
181
75
-33
43
4
52
54
72
0
0
0
0
0
-5
-1
-52
37
54
91
12
-15
69
47
41
23
0
0
0
0
3
0
-7
23
28
-108
-70
-50
34
46
-17
-31
109
0
0
0
0
-1
3
0
-2
38
-44
-55
-68
-31
-13
-21
-22
-3
0
0
0
0
0
0
0
-14
-18
-13
-25
-60
61
43
-79
-70
-9
0
0
0
0
0
0
0
0
10
2
0
1
0
0
1
-17
2
0
0
0
0
0
-4
19
35
0
0
5
7
47
-15
-19
-109
-23
0
0
0
0
0
0
14
-101
14
63
82
78
29
-4
-32
-45
-9
0
0
0
0
1
0
-9
-24
18
-68
21
13
24
-15
-8
13
-19
0
0
0
0
7
-2
65
-53
2
65
-40
-5
-48
-17
-1
-23
-38
0
0
0
0
-1
10
19
7
-43
-17
29
-14
-22
16
-13
-65
-114
0
0
0
0
1
0
-62
99
-34
-2
17
-57
31
7
18
-91
-55
0
0
0
0
6
2
-78
18
-43
-101
-119
-46
21
0
16
-122
-52
0
0
0
0
0
-15
16
-38
-5
57
2
38
-26
2
12
54
-218
0
0
0
0
0
0
-1
1
-1
90
-35
52
-97
42
31
48
0
0
0
0
0
0
0
0
0
0
0
44
151
-21
25
34
87
63
0
0
0
0
0
0
0
0
-38
73
7
42
-47
-41
0
5
-23
0
0
0
0
0
0
0
0
-14
-51
81
-13
52
-52
0
-15
8
0
0
0
0
0
0
0
0
6
78
7
-25
58
-21
-1
11
15
0
0
0
0
0
0
0
0
-32
59
10
-55
7
-24
-3
0
48
0
0
0
0
0
0
0
0
55
14
-48
-60
89
32
6
10
0
0
0
0
0
0
0
0
0
1
-27
-32
43
53
-11
16
37
36
0
0
0
0
0
0
0
11
-50
-64
85
-67
47
8
43
0
-45
0
0
0
0
0
0
0
0
17
29
-2
4
129
11
-62
0
19
0
0
0
0
0
0
0
0
0
45
90
93
31
-3
41
20
44
0
0
0
0
1
0
0
3
-1
40
0
13
48
-1
33
2
-11
0
0
0
0
0
0
1
0
-18
97
120
64
-20
-27
15
14
47
0
0
0
0
0
0
0
3
11
12
70
135
147
42
15
9
65
0
0
0
0
0
0
-13
-10
10
47
-51
17
57
-24
-6
47
61
0
0
0
0
0
-1
-8
3
4
-73
28
-32
-17
44
5
-2
35
0
0
0
0
0
0
0
5
19
46
129
69
58
-6
-26
-36
-53
0
0
0
0
0
0
0
0
39
-32
-11
-15
10
9
-12
-114
-55
0
0
0
0
0
0
0
0
-1
0
0
0
-13
-61
5
-5
1
0
0
0
0
9
3
-3
-5
0
0
-31
68
51
16
-11
70
44
0
0
0
0
1
0
20
0
159
0
90
63
35
31
33
18
144
0
0
0
0
0
6
35
210
77
62
-49
108
112
11
66
10
-47
0
0
0
0
0
0
-6
-1
67
-62
58
-30
80
48
39
-3
27
0
0
0
0
0
-2
-3
5
55
54
35
-24
-23
53
20
65
23
0
0
0
0
0
0
18
-1
64
39
17
125
11
20
7
41
-34
0
0
0
0
1
0
-16
59
-93
14
10
-6
171
20
26
66
42
0
0
0
0
0
0
0
-6
0
-1
18
-27
-30
10
-90
7
-30
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-3
25
0
0
0
0
0
0
0
0
-2
0
1
100
116
-9
107
-25
-92
-5
0
0
0
0
0
5
1
0
0
0
118
17
65
-40
26
63
114
0
0
0
0
0
0
9
59
-26
62
114
-27
157
-11
-73
132
67
0
0
0
0
0
0
15
12
39
-31
156
-13
-6
102
85
79
0
0
0
0
0
0
0
-1
-83
-7
26
-33
34
-13
61
55
52
122
0
0
0
0
0
0
0
-10
24
-21
125
41
-21
-55
55
-40
46
0
0
0
0
0
0
0
0
8
4
4
11
-94
-83
-107
-30
28
0
0
0
0
0
0
0
0
0
1
19
35
37
-1
-21
82
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
5
-58
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-61
-46
-19
0
0
0
0
0
0
0
0
0
2
0
4
37
-84
-56
-3
39
0
0
0
0
0
0
0
0
-1
0
25
14
11
90
-90
-1
-26
0
0
0
0
0
0
0
7
0
-10
5
1
26
82
40
158
16
0
0
0
0
0
0
0
1
8
12
-1
1
9
-23
30
131
61
0
0
0
0
0
0
0
0
-1
2
-1
0
4
-64
36
-98
-1
0
0
0
0
0
0
0
0
0
0
-1
1
0
-8
-21
-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
5
0
36
57
-74
50
57
10
32
85
0
0
0
0
0
0
8
41
91
37
14
83
90
-29
48
-69
-67
0
0
0
0
0
0
0
-13
-14
97
95
25
-55
42
2
11
59
0
0
0
0
0
0
0
-4
-24
-91
-46
200
-11
34
43
90
125
0
0
0
0
0
0
0
0
-22
-15
47
-87
-26
5
0
-51
78
0
0
0
0
0
0
0
0
7
9
-1
-6
61
13
-8
-101
-111
0
0
0
0
0
0
0
0
0
0
-3
-46
-48
-6
67
74
8
0
0
0
0
0
0
0
0
0
0
-10
-2
3
3
82
16
20
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
-13
-88
50
0
0
0
0
0
0
0
0
0
2
1
-40
-18
-178
20
93
31
0
0
0
0
0
0
0
0
-5
-5
4
114
-26
-33
107
-71
-9
0
0
0
0
0
0
0
0
0
5
23
-3
84
29
90
180
96
0
0
0
0
0
0
0
0
0
-1
-17
-37
-4
-14
-69
65
39
0
0
0
0
0
0
0
0
0
0
0
-21
12
45
105
92
183
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-40
-29
169
-29
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-29
57
83
84
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-38
-20
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
48
3
0
0
0
0
0
0
0
0
0
24
-16
-2
-36
-70
-115
57
31
0
0
0
0
0
0
0
4
2
-22
67
22
85
-109
61
-94
32
0
0
0
0
0
0
0
0
0
1
6
21
36
-4
33
81
239
0
0
0
0
0
0
0
-1
-2
-3
-7
21
-50
118
66
130
59
0
0
0
0
0
0
0
1
0
1
1
-2
-21
-113
-52
154
44
0
0
0
0
0
0
0
0
0
0
-3
-1
25
-22
-79
-16
-103
0
0
0
0
0
0
0
0
0
0
0
0
-26
7
60
-53
-91
0
0
0
0
0
0
0
0
0
0
0
0
-9
25
-46
-4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-1
0
0
0
0
0
0
0
0
0
7
4
-7
21
100
-33
-51
34
0
0
0
0
0
0
1
0
2
37
-33
20
69
-15
66
53
55
0
0
0
0
0
0
0
0
-2
-3
-2
21
22
20
198
31
0
0
0
0
0
0
0
0
0
1
-3
-13
-43
41
-70
63
57
11
0
0
0
0
0
0
0
0
0
1
1
16
95
-80
-46
-9
-36
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-6
-93
14
3
0
0
0
0
0
0
0
0
0
0
0
-12
8
-110
-27
1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
8
0
0
0
0
0
0
0
15
0
122
65
28
61
10
37
44
9
0
0
0
0
0
0
1
1
3
-51
23
33
-52
-1
107
-53
78
0
0
0
0
0
0
0
-4
4
65
-34
-216
102
72
64
12
-11
0
0
0
0
0
0
0
2
-7
-13
-90
54
26
28
23
48
48
0
0
0
0
0
0
-1
27
17
-8
32
95
17
-64
-137
45
44
0
0
0
0
0
0
0
3
5
5
56
-92
39
99
-1
60
18
0
0
0
0
0
0
0
0
-5
3
-20
-96
12
25
38
-2
-2
0
0
0
0
0
0
0
0
-4
1
0
48
-68
-90
17
-84
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-34
-82
0
0
0
0
0
0
0
0
0
11
1
-22
-6
100
66
-45
66
0
0
0
0
0
0
0
0
0
3
-1
-9
-15
76
34
-7
57
0
0
0
0
0
0
0
0
0
3
11
-19
70
36
66
13
-2
0
0
0
0
0
0
0
0
0
-2
-4
14
48
16
94
41
94
0
0
0
0
0
0
0
0
0
-1
0
-11
-8
-4
-56
82
18
0
0
0
0
0
0
0
6
0
10
4
18
-10
85
19
16
43
0
0
0
0
0
0
0
0
0
-1
0
-7
15
-49
2
101
58
0
0
0
0
0
0
0
0
0
0
-3
0
8
-5
-59
45
102
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-54
-34
58
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-35
0
19
49
-9
-52
48
31
75
122
0
0
0
-10
-4
-9
-120
-68
26
141
35
-34
33
9
28
-65
77
0
0
0
1
4
41
10
-81
-74
49
71
99
125
12
16
65
-67
0
0
0
2
7
3
-51
-123
-2
-57
-117
34
-89
8
44
124
129
0
0
0
0
0
6
-8
130
-39
-109
-31
-36
49
-10
85
-1
17
0
0
0
0
0
0
8
10
122
-9
-16
30
-50
48
-130
-73
-58
0
0
0
0
0
5
3
-1
71
-14
-4
-47
-73
25
-75
-5
-30
0
0
0
0
0
0
0
15
-4
-19
-22
-19
-31
67
67
33
13
0
0
0
0
0
0
0
0
9
6
0
0
0
0
8
-2
-2
0
0
0
-2
9
-34
-103
-70
0
-7
-5
94
118
53
10
41
0
0
0
0
-8
19
44
83
-95
-83
43
51
-5
-17
25
29
185
0
0
0
0
9
-8
18
-119
-98
7
-100
54
9
-32
68
53
157
0
0
0
0
1
0
-32
-48
-13
70
26
-9
56
26
63
127
30
0
0
0
0
0
5
-24
-32
12
-12
-46
-6
-39
-96
25
-17
-17
0
0
0
0
0
1
0
-61
61
-58
-41
-13
-38
20
9
14
-131
0
0
0
0
0
1
-3
37
-3
-125
-2
-63
7
-43
11
41
12
0
0
0
0
0
-4
-3
21
-43
32
-75
-20
-11
26
97
-100
-19
0
0
0
0
0
0
0
8
23
-32
-91
-67
-2
4
-3
10
0
0
0
0
0
-2
0
-12
-32
-34
0
-30
-58
123
-31
-16
64
-6
0
0
0
0
-1
11
-37
25
-59
-9
25
-100
154
-80
-1
62
0
0
0
0
0
-2
-1
20
20
7
82
121
-76
-30
1
-26
-84
7
0
0
0
0
0
0
11
42
114
-12
102
8
-45
-16
-5
-1
1
0
0
0
0
0
0
-9
3
-15
21
11
-5
20
58
1
-6
2
0
0
0
0
-4
0
69
88
39
109
42
17
14
29
-5
5
0
0
0
0
0
0
5
-25
55
-58
-180
23
-58
85
-67
0
-19
2
0
0
0
0
0
2
3
-15
39
-120
-35
4
-31
-8
-1
-1
0
0
0
0
0
0
0
12
-72
-75
7
53
-2
-4
25
0
0
0
0
0
0
0
0
0
33
-29
-23
0
-3
108
111
-1
83
-5
0
0
0
0
0
0
1
-15
35
23
70
55
118
-45
115
39
-10
0
0
0
0
0
0
0
36
63
-6
-34
-15
123
66
63
176
5
0
0
0
0
0
0
0
7
-8
29
109
-12
-45
-11
-1
102
21
0
0
0
0
0
0
5
-16
-14
19
-137
73
-95
-20
-9
-41
-47
0
0
0
0
0
0
2
-34
5
33
-31
-52
34
-60
35
-64
-9
0
0
0
0
0
0
-1
-3
41
-108
0
183
-13
-28
5
39
0
0
0
0
0
0
0
0
1
-5
-10
88
15
-45
-58
-23
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-9
-6
44
0
-18
90
92
-1
-1
18
8
32
0
0
0
0
0
38
59
50
-55
51
40
52
-47
-2
-43
76
-10
0
0
0
15
19
16
-76
24
-4
25
-17
-28
8
78
-4
-55
-26
0
0
0
0
-1
-1
77
76
6
67
-12
27
24
-20
115
36
-73
0
0
0
0
0
-6
11
42
7
-54
163
30
127
83
56
-32
-31
0
0
0
0
0
-6
8
65
-11
-18
67
-62
13
30
19
90
48
0
0
0
0
0
0
3
21
5
18
-4
-62
9
-50
-7
-40
-69
0
0
0
0
0
0
0
-8
-2
54
3
-53
-32
17
-15
-8
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
-3
-1
0
0
0
0
0
0
0
21
0
-10
2
-9
7
-109
-100
-47
6
0
0
0
0
0
0
19
42
-29
8
6
41
70
75
123
32
175
0
0
0
0
0
0
1
-7
22
49
36
-79
32
-32
118
63
4
0
0
0
0
0
0
0
-14
-76
-19
0
70
-88
16
-10
64
39
0
0
0
0
0
0
1
42
38
-38
54
95
-69
-25
-83
83
100
0
0
0
0
0
0
2
-3
5
-87
-198
26
-18
-31
-46
-73
130
0
0
0
0
0
0
0
0
-58
31
36
-38
-50
77
-34
-98
-88
0
0
0
0
0
0
0
0
179
-29
-15
-34
-22
-26
-76
-76
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
-4
-14
0
0
0
0
0
0
0
0
0
27
25
0
-14
-1
35
-75
18
0
0
0
0
0
0
3
1
6
15
19
-80
16
15
69
41
68
0
0
0
0
0
0
0
-11
-7
-7
-47
0
-4
41
59
-65
19
0
0
0
0
0
0
0
2
2
-35
15
-2
-11
103
139
84
118
0
0
0
0
0
0
0
0
7
-1
69
48
0
-4
-57
38
-2
0
0
0
0
0
0
0
-3
1
-13
3
-8
9
0
30
77
85
0
0
0
0
0
0
0
-3
6
-17
-7
12
-17
-11
60
2
-41
0
0
0
0
0
0
0
0
-3
0
0
12
-8
20
-23
19
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-25
16
13
-1
0
2
0
0
0
0
0
0
0
0
0
-1
4
-21
-52
11
3
15
10
5
0
0
0
0
0
0
0
0
0
-4
-47
4
-15
8
-9
0
2
1
0
0
0
0
0
0
0
-7
15
30
-96
-13
39
0
0
0
0
0
0
0
0
0
0
0
-2
26
-34
-33
-23
3
0
0
0
0
0
0
0
0
0
0
0
4
26
11
-1
-3
-31
0
0
0
0
0
0
0
0
0
0
0
-1
8
29
10
-6
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-3
42
-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
2
0
-13
-2
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
-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
2
10
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
14
8
-20
-2
2
-1
0
0
0
0
0
0
0
0
0
0
-1
-35
35
5
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
-6
74
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
5
3
19
-8
0
1
-2
0
0
0
0
0
0
0
0
0
0
-8
11
-21
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-4
-15
10
7
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
7
-3
1
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
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
-4
1
0
0
0
0
0
0
0
0
0
0
0
23
-1
-1
-11
-7
15
15
0
0
0
0
0
0
0
0
0
-1
5
4
19
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
-22
-43
-2
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
2
-10
-21
-12
-25
0
0
0
0
0
0
0
0
0
0
1
14
10
-16
7
-17
-4
-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
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-1
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
-4
-6
2
4
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
-1
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
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
2
-41
-13
68
0
21
0
0
0
0
0
0
0
-1
-4
15
47
-41
-69
40
10
-31
6
-2
-8
-6
-1
0
0
0
-2
2
-27
-32
31
-2
-16
-108
124
32
3
-29
0
0
0
0
0
0
-4
52
12
-20
-53
25
51
16
-31
-15
-2
6
0
0
0
0
-16
-1
31
3
-11
22
16
-27
-14
-8
3
-2
0
0
0
0
0
0
0
13
-17
-4
-51
45
-13
-12
-2
2
0
0
0
0
0
0
0
2
4
5
6
5
3
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
1
-139
34
40
-54
0
-23
-7
-2
0
3
0
0
0
0
-6
40
-4
-54
43
62
112
116
-13
-20
9
3
-2
-1
0
0
0
5
24
42
53
27
48
45
1
19
9
0
-8
0
0
0
0
0
5
8
78
25
49
36
-62
-26
-7
41
-14
9
6
1
0
0
0
-3
6
44
86
-60
-20
-3
67
-1
-10
1
-3
0
0
0
0
0
14
25
-79
60
7
-72
-69
-73
44
17
2
-3
0
0
0
0
0
1
32
35
-172
-58
54
-55
-99
-14
-1
18
-2
1
0
0
0
0
0
5
-12
-3
-83
23
23
-3
21
-31
0
0
0
0
0
0
0
0
0
0
-7
-49
18
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
24
14
-24
16
0
6
3
-3
0
0
0
0
0
0
0
-1
-13
12
28
41
-26
-19
13
-9
-6
0
0
0
0
0
0
0
0
2
18
-18
43
-1
-50
7
-13
0
0
0
0
0
0
0
0
0
-1
7
-17
-19
39
-15
-3
-2
0
3
0
0
0
0
0
0
0
0
2
37
17
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-37
29
0
6
3
8
-4
0
0
0
0
0
0
0
0
0
0
15
14
4
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
16
17
9
9
-11
1
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
1
-6
-35
18
-10
-21
0
34
-2
3
-1
0
0
0
0
0
0
-1
-32
15
59
-43
-23
56
-36
9
-29
14
2
0
0
0
0
0
7
13
-3
-36
-38
-10
20
55
25
15
12
0
0
0
0
0
0
6
28
-32
27
64
-7
-34
-14
-15
-33
6
0
-1
0
0
0
0
0
1
10
-19
15
12
-4
-7
-15
-8
3
0
0
0
0
0
0
0
0
-19
35
-12
-74
-14
-12
12
-1
0
0
0
0
0
0
0
0
-7
-10
57
-12
41
14
0
27
22
1
0
0
0
0
0
0
0
3
34
5
-8
45
16
-80
-43
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
3
-11
9
40
-116
6
0
-5
3
5
0
0
0
0
0
-2
21
23
-21
-26
32
-50
18
43
49
-7
23
-3
0
0
0
0
-2
1
20
9
50
-39
-34
-42
-12
54
8
0
0
0
0
0
0
1
-55
-29
-37
11
-58
50
64
30
9
24
5
0
0
0
0
0
0
0
26
-18
48
-14
70
37
-29
-32
3
-3
0
0
0
0
0
0
-2
-8
19
-9
8
-42
25
-13
0
6
-1
0
0
0
0
0
0
0
8
1
21
23
-14
-26
-2
-2
0
-1
0
0
0
0
0
0
0
0
19
-1
-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
1
1
3
17
18
79
22
0
-14
1
0
0
0
0
0
0
2
5
15
-27
-60
-26
-13
25
12
6
-4
1
0
0
0
0
0
-3
5
-11
6
3
-27
11
42
-1
-20
5
2
0
0
0
0
0
0
1
-5
-19
19
-76
21
-25
-16
-14
-3
0
0
0
0
0
0
0
0
-5
-11
-2
-11
20
-9
-4
-2
-7
0
0
0
0
0
0
0
0
-2
-11
-7
-10
-2
23
-4
8
0
0
0
0
0
0
0
0
0
0
0
-7
-1
9
-5
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
2
3
0
0
0
0
0
0
0
0
0
2
0
-1
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
28
12
-19
0
0
0
0
0
0
0
0
0
0
0
18
97
0
-19
39
-8
0
-2
0
0
0
0
0
0
0
0
-4
-63
41
-24
74
38
-11
0
0
0
0
0
0
0
0
0
0
-1
19
-111
35
16
31
14
1
0
0
0
0
0
0
0
0
0
0
40
-54
-23
19
18
0
-1
0
0
0
0
0
0
0
0
0
0
42
-36
34
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
-23
7
0
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
42
42
17
-2
7
1
0
0
0
0
0
0
0
0
0
0
0
-4
16
-12
9
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-3
3
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
0
2
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
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
-20
0
0
-14
40
2
0
0
0
0
0
0
0
0
0
0
0
2
31
0
10
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
50
44
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-2
-24
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
40
5
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
-3
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
-3
16
18
-15
1
3
0
0
0
0
0
0
0
0
0
0
0
4
16
-4
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-39
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
1
-1
-5
24
27
0
0
0
4
0
0
0
0
0
0
0
0
4
0
-6
31
47
0
0
0
32
2
1
0
0
0
0
0
0
0
7
9
10
-6
48
29
20
0
-1
-1
0
0
0
0
0
0
0
0
8
13
-9
-19
-25
15
-16
5
0
0
0
0
0
0
0
0
-1
-9
97
56
45
-1
15
-13
0
0
0
0
0
0
0
0
0
0
1
24
-4
34
-3
-40
12
0
0
0
0
0
0
0
0
0
0
-1
-6
-3
-25
-19
-5
0
-1
0
0
0
0
0
0
0
0
0
0
3
4
-5
-2
-7
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
19
10
-3
-1
0
0
0
0
0
0
0
0
4
7
-66
20
14
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
48
-46
-19
-4
-2
0
0
0
0
0
0
0
0
0
0
-2
-4
24
9
-8
2
-3
0
0
0
0
0
0
0
0
0
0
1
-4
13
-27
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
56
-27
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
4
50
-15
13
31
38
0
0
0
0
0
0
0
0
0
0
0
50
-125
32
7
-60
6
10
0
0
0
0
0
0
0
0
0
0
31
-24
2
26
2
0
13
-2
0
0
0
0
0
0
0
0
0
6
27
4
-8
51
19
-1
2
0
1
0
0
0
0
0
0
0
2
-47
34
39
-9
12
-40
-24
11
-2
0
0
0
0
0
0
0
13
-19
17
-46
0
4
-20
6
3
1
0
0
0
0
0
0
0
4
-84
6
-33
43
-44
12
-5
0
0
0
0
0
0
0
0
0
0
14
-6
16
7
50
-1
2
-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
-15
20
55
43
-20
73
-1
0
0
0
0
0
0
0
0
0
0
27
88
-81
-39
-39
-108
-26
0
0
28
-13
-20
6
-1
0
0
0
-20
76
-58
32
38
-28
21
9
27
36
-8
-4
-1
0
0
0
0
38
-52
-1
49
-12
121
-60
-7
-6
-31
5
2
0
0
0
0
0
3
5
13
-51
-70
97
23
-51
-12
3
10
0
0
0
0
0
0
4
-12
-18
-17
67
57
18
-10
-5
3
-1
0
0
0
0
0
0
-4
3
41
-17
-30
-26
59
-2
-17
0
0
0
0
0
0
0
0
0
0
4
-8
-15
-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
-13
-48
5
-3
-124
-62
-13
0
0
1
0
0
0
0
0
0
0
3
-21
-22
15
99
64
20
33
27
48
19
2
-5
0
0
0
0
-3
62
-5
-79
14
79
-6
-52
10
5
11
-3
0
0
0
0
0
-14
46
-98
132
135
-51
-3
50
-39
34
12
3
0
0
0
0
0
0
-43
-42
53
83
36
-109
25
90
17
-38
7
0
0
0
0
0
-2
23
-48
23
115
-65
52
30
-50
21
5
-1
0
0
0
0
0
-1
-126
-37
28
-22
-16
35
-27
-20
18
-7
0
0
0
0
0
0
0
14
9
-14
-88
21
-72
26
-25
-10
-1
0
0
0
0
0
0
0
0
-73
-51
23
-7
35
-2
-6
0
0
0
0
0
0
0
0
-82
-20
-31
68
36
4
62
0
0
0
0
0
0
0
0
0
0
28
70
88
78
37
-20
-21
23
-15
0
0
0
0
0
0
0
0
-11
29
12
22
-14
33
-17
22
-2
0
0
0
0
0
0
0
0
-86
5
59
66
-16
-30
-7
-12
6
0
0
0
0
0
0
0
0
19
38
-37
5
2
13
-12
3
2
5
0
0
0
0
0
0
0
7
2
-41
-9
-13
-40
-2
0
0
4
0
0
0
0
0
0
0
-5
-12
2
50
16
1
0
0
0
0
0
0
0
0
0
0
0
-53
-59
-30
-12
6
1
2
-1
0
0
0
0
0
0
0
0
0
-55
-3
2
8
-12
-5
0
0
0
0
0
0
0
0
0
0
0
11
-10
-25
-34
-4
41
6
43
0
-3
0
0
0
0
0
0
0
-44
12
-44
39
-88
8
0
-21
20
3
0
-2
0
0
0
0
0
-50
103
-23
20
-83
8
92
-30
-36
3
0
0
0
0
0
0
0
-62
7
29
-27
48
79
1
-9
38
5
-1
-1
0
0
0
0
0
51
30
1
32
40
-37
6
7
1
0
-2
0
0
0
0
0
0
11
-12
-3
19
-65
94
-39
-29
12
2
0
0
0
0
0
0
0
58
12
40
-74
-9
11
10
9
0
0
0
0
0
0
0
0
0
9
-44
20
-35
-14
-20
-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
12
-19
29
-34
-69
108
0
0
-2
0
-2
0
0
0
0
0
-4
-6
12
-1
9
-47
46
0
24
0
-29
-18
1
1
0
0
0
0
31
-49
-42
-31
-7
98
-31
25
-21
69
-8
0
0
0
0
0
5
2
-54
-14
76
77
-1
-64
23
-22
-5
-3
-2
0
0
0
0
1
13
-17
5
71
27
23
-15
-2
9
-4
0
0
0
0
0
0
0
-1
-23
25
-18
11
-28
-26
27
13
-3
0
0
0
0
0
0
-1
-10
50
-69
-13
-22
-9
16
-11
2
0
0
0
0
0
0
0
0
3
1
15
5
-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
0
0
0
0
6
2
-14
2
-2
-13
102
15
0
0
2
0
0
0
0
0
0
-9
-15
10
7
-46
-1
-37
0
-28
0
14
-2
0
0
0
0
0
0
18
-1
5
-46
-22
-9
-3
-8
2
-6
-3
1
0
0
0
0
-3
-38
2
-6
14
-11
36
6
0
-1
-8
1
12
0
0
0
0
-2
2
7
-17
-39
40
27
0
9
5
2
0
0
0
0
0
0
1
-9
-6
29
51
-5
-51
19
-11
0
0
0
0
0
0
0
0
0
-5
-15
-17
4
-22
34
-5
-1
0
0
0
0
0
0
0
0
0
18
0
32
6
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
33
19
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-4
2
4
0
0
-3
5
0
0
0
0
0
0
0
0
-2
-1
1
-4
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
-1
3
-2
-3
-2
-3
5
-15
-2
0
0
0
0
0
0
0
-2
-1
1
2
2
0
-1
5
8
0
0
0
0
0
0
0
-2
4
0
0
-6
-6
0
0
-7
-3
0
0
0
0
0
0
0
0
13
7
22
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
1
37
4
0
-5
0
0
0
0
0
0
0
0
0
0
4
86
4
2
-55
5
8
3
-4
1
0
0
0
0
0
0
0
9
18
-34
-58
-2
5
-2
0
0
0
0
0
0
0
0
0
0
5
43
-72
-41
24
-1
0
0
0
0
0
0
0
0
0
0
0
12
-45
-23
15
13
-2
0
0
0
0
0
0
0
0
0
0
0
-23
-52
7
-45
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
-59
70
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
21
-5
-1
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
3
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-18
-1
-3
-2
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
0
0
4
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
10
43
2
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
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
-16
2
5
2
0
3
0
0
0
0
0
0
0
0
0
0
-31
9
-31
3
2
0
-4
0
0
0
0
0
0
0
0
0
0
-27
27
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
74
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-51
-9
5
-3
0
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
-11
1
-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
6
2
-3
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
-11
19
-11
-13
0
3
-1
2
0
0
0
0
0
0
0
0
5
14
-7
23
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-11
20
27
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
20
-11
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
0
0
0
-7
9
48
-9
-38
11
6
11
-8
3
0
0
0
0
0
0
0
-2
0
-20
9
-12
-16
-4
0
-3
0
0
0
0
0
0
0
0
0
-10
13
20
-6
5
1
-1
0
0
0
0
0
0
0
0
0
0
4
27
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-2
0
0
0
0
-4
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
3
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
-4
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
-10
4
1
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
-2
-18
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
34
-15
-4
5
47
0
36
51
22
0
0
0
0
0
0
26
8
-21
-10
2
-9
-5
-34
243
-14
-47
17
0
0
0
0
-1
44
-7
28
-7
-12
-14
52
35
96
-70
-13
-31
0
0
0
0
2
16
31
16
18
-1
-20
0
81
-3
-6
6
2
3
0
0
0
-1
-20
-40
-10
-1
-9
-2
-33
6
-8
-50
1
0
0
0
0
0
1
1
-7
32
-4
-1
-7
-6
16
-6
11
-1
0
0
0
0
0
0
3
30
12
1
0
0
0
7
5
0
0
0
0
0
0
0
0
1
3
1
0
0
0
1
-3
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
6
-58
-1
101
-91
121
8
0
0
-12
0
-6
0
0
0
0
0
11
-31
-41
38
-51
-58
-94
-100
1
19
11
25
4
0
0
0
0
-60
-104
-16
36
50
60
-7
-188
61
91
82
28
0
0
0
0
0
-53
-38
-11
65
25
-4
-40
-7
-45
74
-7
6
0
0
0
0
0
-18
-8
41
50
46
37
2
39
-17
22
17
-1
1
0
0
0
0
-72
-6
-96
60
60
-26
-25
9
19
38
15
-3
0
0
0
0
0
23
25
-12
16
-12
-26
50
18
-4
-14
0
2
0
0
0
0
0
0
-10
15
52
44
-37
47
-24
-35
-4
0
1
0
0
0
0
0
0
0
0
-4
-84
-30
-36
40
8
-4
0
0
0
0
0
0
0
1
0
2
-2
5
-4
71
0
-33
47
18
-1
-3
0
0
0
0
2
-18
5
-2
-9
-11
15
-9
30
-3
-13
0
-4
7
0
0
0
1
1
7
0
4
2
-34
-62
97
26
50
-9
-1
-1
-2
0
0
0
1
17
-21
-11
15
-6
-19
40
-21
57
-10
-6
2
0
0
0
0
1
0
3
-2
1
1
-23
-14
-18
-6
14
4
-4
0
0
0
0
-3
0
0
-4
0
15
-4
-33
-45
8
-25
-2
2
0
0
0
0
0
0
2
0
0
-5
20
-70
-51
17
7
4
-1
-1
0
0
0
0
-1
-7
6
2
8
52
-91
-49
20
4
10
0
0
0
0
0
0
-3
0
0
0
111
-14
-74
28
6
-3
1
0
0
0
0
0
0
2
-9
-5
33
1
0
-27
64
-41
0
-1
0
0
0
0
0
0
37
13
-19
-52
51
-69
-45
-35
90
33
2
0
0
0
0
0
0
42
24
-12
18
-27
139
96
-45
-35
-3
4
0
0
0
0
0
0
-25
-17
20
-17
10
41
-43
-29
-9
-14
0
1
0
0
0
0
0
3
7
-10
-8
19
-27
33
-1
12
-7
0
0
0
0
0
0
1
-1
4
-17
7
8
-44
-32
36
-10
5
2
0
0
0
0
0
0
0
3
23
3
1
-22
37
-1
12
-9
1
0
0
0
0
0
0
0
-4
0
11
45
156
37
-47
-12
-3
4
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
-2
16
21
23
42
4
1
28
0
33
55
-30
1
0
0
0
0
2
-57
42
5
-1
26
-111
62
4
69
12
16
1
5
0
0
0
11
-63
64
-10
-8
6
17
68
95
-77
-31
15
-12
1
0
0
0
12
16
-14
-2
20
-55
8
0
6
-15
-21
6
0
0
0
0
0
-3
24
7
27
18
-22
-20
-39
31
27
-7
-1
0
-1
0
0
0
2
-12
-46
-7
-42
0
-56
-20
8
8
-13
-1
0
0
0
0
0
0
3
6
-1
-1
4
17
-3
-16
12
0
0
0
0
0
0
0
0
0
0
5
3
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
-7
1
-1
0
2
3
-10
0
1
8
0
0
0
0
0
0
3
20
15
10
18
-32
23
27
-14
63
-7
2
0
0
0
0
0
2
12
8
-1
-10
-1
-4
29
48
38
5
-3
0
0
0
0
0
5
-5
13
-3
-49
15
37
-35
18
8
7
2
0
0
0
0
0
-11
6
4
10
3
3
39
-4
-11
-12
-4
0
0
0
0
0
0
1
0
-1
-2
1
-3
13
12
51
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
1
0
2
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
0
0
0
0
0
0
0
6
0
-5
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-2
3
0
0
0
0
0
0
0
0
-1
-7
0
0
0
-3
3
-1
-9
-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
10
-1
1
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
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
8
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-38
-15
-5
-1
0
0
0
0
0
0
0
0
0
0
-1
-51
-30
-56
4
-22
1
0
0
0
0
0
0
0
0
0
0
9
26
-20
-50
-9
-26
-3
0
0
0
0
0
0
0
0
0
-1
0
-16
-20
10
-11
-5
1
0
0
0
0
0
0
0
0
0
0
-1
98
-41
25
-10
4
3
0
0
0
0
0
0
0
0
0
0
1
66
72
-15
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
74
1
1
0
0
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
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
22
3
-49
0
2
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
-4
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-7
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
0
0
0
0
0
0
0
-8
-2
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
67
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
77
-53
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-33
38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-25
-1
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
-1
2
11
1
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
1
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-35
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
13
41
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-11
-33
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-9
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
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
12
9
2
0
-4
0
0
0
-5
0
0
0
0
0
0
0
2
-8
-8
-2
-7
-5
0
0
0
-5
14
0
-2
0
0
0
0
0
-2
1
-4
0
3
27
-19
95
-17
1
-1
0
0
0
0
0
-5
0
0
2
15
15
20
44
-10
8
4
0
0
0
0
0
0
0
0
-4
2
8
7
-34
19
29
-11
-3
0
0
0
0
0
0
0
-2
0
-1
1
18
-6
-50
-9
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
-43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
-65
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
8
-2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
36
-10
-2
0
0
0
0
0
0
0
0
0
0
0
4
1
6
-51
-5
3
0
0
0
0
0
0
0
0
0
0
-1
3
-5
40
-54
-5
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
43
40
22
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
18
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
5
0
0
0
0
0
0
-9
70
65
-86
-5
-50
3
0
0
0
0
0
0
0
0
0
0
35
-122
56
-1
36
10
12
0
0
0
0
0
0
0
0
0
0
-29
-32
30
-20
52
-8
-17
8
0
3
0
0
0
0
0
0
0
-16
-1
99
13
-18
-37
37
9
-1
0
0
0
0
0
0
0
0
-28
9
-26
-1
-4
-13
25
-9
-2
1
0
0
0
0
0
0
0
-29
35
102
-40
24
14
14
8
0
-4
0
0
0
0
0
0
0
-21
26
-73
-56
20
4
11
-3
0
1
0
0
0
0
0
0
0
2
-7
-21
-14
16
14
-1
0
1
0
0
0
0
0
0
0
0
0
2
-91
-20
2
4
0
0
0
0
0
0
0
0
0
0
0
3
138
-20
70
46
41
21
0
0
0
3
-5
8
0
0
0
0
31
22
-92
7
19
-35
-16
0
0
-52
1
-36
0
0
0
0
0
-15
-58
-5
32
-43
-3
-17
90
38
18
23
18
-1
0
0
0
0
-25
-75
107
2
-8
28
-6
-3
29
12
-8
-5
0
0
0
0
0
-8
-20
69
-7
31
13
45
-3
-10
-41
-11
-1
0
0
0
0
0
-1
-35
-31
1
0
39
-32
27
3
-10
-1
1
0
0
0
0
0
-1
-15
56
2
41
-15
-2
2
-3
-4
0
0
0
0
0
0
0
0
1
20
-29
0
1
0
4
-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
5
3
8
-35
-50
8
-28
0
0
-27
-8
-1
0
0
0
0
0
-13
22
-57
-53
-34
23
-50
40
24
0
16
18
0
0
0
0
0
-25
67
-70
-102
67
34
-28
-24
-24
58
13
5
0
0
0
0
0
-23
-35
-32
65
37
-20
44
-5
-26
-13
-26
2
-1
0
0
0
0
-18
-36
-1
59
-36
-14
-31
66
43
-33
1
2
0
0
0
0
0
11
-3
-58
-41
41
-9
53
-14
-33
-21
0
-1
0
0
0
0
0
-5
53
-4
156
-67
-25
58
13
31
0
4
0
0
0
0
0
0
0
14
-98
24
-15
-41
-83
13
2
-17
-2
0
0
0
0
0
0
0
0
59
0
79
1
19
14
1
-7
0
0
0
0
0
0
0
45
-44
-23
63
-12
21
24
0
0
0
0
0
0
0
0
0
0
-117
-60
60
-3
-46
19
-24
5
0
0
0
0
0
0
0
0
0
20
-43
-31
74
8
-4
-16
2
-1
0
0
0
0
0
0
0
0
0
35
-35
-43
17
26
-6
0
0
0
5
0
0
0
0
0
0
14
17
-33
37
10
-1
8
6
10
0
0
0
0
0
0
0
0
-14
40
47
-40
12
-24
-8
-1
-4
-3
0
0
0
0
0
0
0
-53
-108
-19
41
-6
-8
-11
5
0
2
0
0
0
0
0
0
0
-23
-65
6
91
-1
-21
12
2
-3
0
0
0
0
0
0
0
0
41
-13
1
42
-12
1
0
1
0
0
0
0
0
0
0
0
0
32
-84
52
16
30
19
31
-12
0
0
3
0
0
0
0
0
0
52
67
27
4
-87
-85
0
50
33
0
-2
0
0
0
0
0
0
28
73
-51
68
-18
5
-2
-37
0
0
1
0
0
0
0
0
0
58
-9
72
3
86
21
39
-8
1
1
0
0
0
0
0
0
0
-26
-65
0
-19
7
49
-16
17
8
0
0
0
0
0
0
0
0
25
5
32
15
-17
7
7
3
1
1
0
0
0
0
0
0
0
-57
55
36
-75
-5
18
-14
12
-1
0
0
0
0
0
0
0
0
-45
27
-15
-13
-11
14
12
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
-9
11
26
4
30
15
45
0
0
-13
-21
5
0
0
0
0
0
-6
43
51
41
92
12
39
0
44
0
-27
3
0
0
0
0
0
-9
1
46
82
-61
-13
-7
-9
64
105
-47
10
-2
0
0
0
0
-12
-22
-15
52
-26
-17
20
38
-48
-26
-27
9
-2
0
-3
0
0
2
-16
28
-9
-28
41
-19
55
-22
41
-3
0
0
0
0
0
0
3
-10
43
-21
-54
-41
-9
0
13
-14
7
0
0
0
0
0
0
0
-14
19
-67
10
12
8
-26
-8
-14
-1
0
0
0
0
0
0
0
4
-16
-1
-11
3
0
1
7
-16
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
-14
11
-14
-22
1
-1
-3
0
12
-1
0
0
0
0
0
0
-3
-49
42
6
-6
-23
-9
0
8
0
19
-1
0
0
0
0
0
-1
-49
-14
-9
72
53
16
-2
13
24
-16
1
0
0
0
0
0
-22
-26
-11
42
91
-22
23
21
22
-17
-12
-3
0
0
0
0
0
-40
26
-33
-11
27
7
-7
-2
1
49
-3
-1
0
0
0
0
0
0
-18
-10
27
16
11
-4
-2
23
-11
-6
0
0
0
0
0
0
0
-2
-29
26
-12
0
-1
0
-4
-2
0
0
0
0
0
0
0
0
-2
-18
0
-15
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
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
1
-2
0
0
0
1
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
1
0
0
0
-1
8
-2
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
-2
-2
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
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
-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
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-16
-10
-1
41
26
0
0
0
0
0
0
0
0
0
-22
-60
-19
20
-43
-9
-1
-1
-1
0
0
0
0
0
0
0
-1
44
86
2
14
-6
0
0
0
0
0
0
0
0
0
0
0
20
-39
55
0
55
-3
0
0
0
0
0
0
0
0
0
0
0
-2
31
12
-15
25
1
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
58
-16
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
-14
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
29
1
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
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
2
0
0
0
0
0
0
0
0
0
0
-1
0
8
-1
3
1
-1
0
0
0
0
0
0
0
-1
-1
-8
7
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
-3
16
-24
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-10
-4
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
-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
1
0
1
0
7
0
0
0
0
0
0
0
0
0
0
4
16
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-62
-11
-3
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
13
-2
-15
-20
33
58
4
-1
0
0
0
0
0
0
0
-2
-9
-27
-38
15
5
-3
13
-4
0
0
0
0
0
0
0
-5
-52
-47
-10
16
6
13
-2
-7
0
0
0
0
0
0
0
0
0
-5
1
31
64
-4
-18
0
0
0
0
0
0
0
0
0
0
0
-1
3
16
-7
15
-11
-4
0
0
0
0
0
0
0
0
0
0
1
1
-2
4
2
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
-1
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
87
0
-103
10
4
-1
1
0
0
0
0
0
3
0
0
-1
22
70
118
71
21
-1
3
1
0
0
0
0
-1
-6
21
-2
-21
-43
38
-113
-84
-9
-24
-9
0
0
0
0
0
-10
-7
-40
-38
-17
-67
24
3
1
2
1
4
0
0
0
0
0
-2
-18
76
3
-19
-5
0
0
-2
-26
-4
-1
0
0
0
0
0
0
1
15
-17
10
5
-17
-2
1
0
0
0
0
0
0
0
0
-1
0
-1
11
20
15
-2
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
60
13
36
0
96
-22
-11
-15
7
-1
0
0
0
0
0
0
13
15
-16
7
-78
31
-90
-10
-11
-1
1
0
0
0
5
-11
-2
-41
20
-47
87
11
8
-31
30
-52
-6
0
0
0
0
-4
12
5
-134
-3
43
-47
-86
0
-8
-27
-11
-4
1
0
0
0
4
-16
-2
15
-7
-6
111
16
-33
-11
-19
10
6
1
0
0
0
3
7
-5
-52
-19
-52
78
4
14
-4
1
4
1
0
0
0
0
0
-1
-44
34
-93
84
98
-29
-65
27
-20
5
-3
0
0
0
0
0
-3
42
26
54
61
24
-20
-1
45
1
3
-1
0
0
0
0
0
0
0
8
15
-2
7
26
-10
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
-23
12
-2
2
0
0
0
0
0
0
0
0
0
-11
-15
55
14
23
14
-5
0
-1
0
0
0
0
0
0
-1
20
4
-23
89
27
-18
-1
1
0
0
0
0
0
0
0
6
0
19
98
-48
-1
-7
14
-18
29
3
0
0
0
0
0
0
0
2
12
13
11
4
-18
11
9
1
0
-1
0
0
0
0
0
0
4
-2
-7
3
-19
3
1
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
10
-8
-7
0
0
0
0
0
0
0
0
0
0
0
6
1
-2
1
-18
1
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
1
-2
6
-1
6
0
-16
15
17
9
4
0
0
0
0
0
-1
31
37
5
-56
67
-33
142
7
3
-11
34
-7
1
0
0
0
-1
55
-28
15
57
30
2
85
0
32
23
9
-1
0
0
0
0
0
33
7
-38
122
39
45
-12
-40
-20
-6
2
-3
1
0
0
0
1
0
50
-30
7
36
49
11
-6
-1
-2
1
0
0
0
0
0
0
-10
19
-25
61
9
20
-95
-3
0
34
1
0
0
0
0
0
0
0
-3
22
-26
-10
14
-8
18
-6
-1
2
0
0
0
0
0
0
0
2
-2
12
11
-93
7
-5
-8
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
-4
1
12
0
-4
17
11
0
0
0
0
0
-3
0
1
2
12
-1
32
-45
-52
16
-65
8
-2
3
0
0
0
0
-4
12
9
37
-75
-29
7
239
13
16
15
-1
2
0
0
0
-3
-6
-37
11
-39
93
-64
55
93
-81
-4
2
0
0
0
0
0
2
-3
9
-37
5
-126
5
16
19
6
12
0
-1
0
0
0
0
0
5
-25
-12
-14
-40
-11
51
7
10
0
0
0
0
0
0
0
0
0
1
1
-1
10
10
-5
20
0
0
0
0
0
0
0
0
0
1
3
2
4
-8
-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
5
0
-1
-14
0
-28
4
2
0
0
0
0
0
0
0
0
-2
-7
-3
11
-8
-2
47
5
0
1
0
0
0
0
0
0
0
8
12
3
7
-86
57
39
16
3
-1
0
0
0
0
0
-2
1
8
15
0
32
8
28
-41
-8
-6
0
0
0
0
0
0
0
0
3
43
-11
-16
11
-5
4
2
0
0
0
0
0
0
0
0
0
3
-2
-34
-29
-1
11
0
-2
0
0
0
0
0
0
0
0
0
0
4
-4
13
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
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
-2
0
13
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
-4
11
-5
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
0
6
1
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
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
3
0
0
0
0
0
0
0
0
0
6
0
0
5
-3
22
9
-1
-2
0
0
0
0
0
0
0
2
-1
15
-11
-24
-42
0
-2
0
1
0
0
0
0
0
0
0
-1
33
53
37
43
9
-9
3
0
0
0
0
0
0
0
0
0
-2
44
-83
-70
-16
6
3
0
0
0
0
0
0
0
0
0
0
0
20
27
-21
-2
27
0
-1
0
0
0
0
0
0
0
0
0
1
-3
-20
13
-22
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
32
-10
17
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
98
23
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
30
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-24
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-5
-3
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-18
20
17
3
-3
-1
0
0
0
0
0
0
0
0
-6
-2
69
42
-19
-1
0
2
0
0
0
0
0
0
0
0
0
-7
-10
-66
-17
1
6
-1
0
0
0
0
0
0
0
0
0
0
-9
18
31
11
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
13
-6
-1
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
0
0
0
0
0
0
0
0
0
0
0
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
6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
19
64
152
42
6
0
0
0
0
0
0
0
0
0
0
0
1
21
37
-37
7
1
0
0
0
0
0
0
0
0
0
0
0
2
-5
-33
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
-4
-9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
11
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
0
0
16
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
76
45
-7
0
0
0
0
0
0
0
1
-3
-5
-15
4
73
42
-6
-1
0
0
0
0
0
0
0
0
3
9
-21
-46
27
-21
39
7
-4
5
0
0
0
0
0
0
0
1
-7
-57
-31
-45
-26
-8
6
2
0
0
0
0
0
0
0
0
0
3
-27
-41
33
-26
4
1
1
0
0
0
0
0
0
0
0
5
0
-1
1
-21
-7
6
-3
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
-11
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
31
5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-8
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-16
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-6
-24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
-18
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
-1
0
0
0
0
0
0
0
0
-2
4
5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-18
-17
45
-21
-13
13
-1
0
0
0
0
0
0
0
0
0
0
7
59
39
-50
-42
-10
11
0
4
0
0
0
0
0
0
0
0
17
-1
10
-3
-13
18
-16
2
-5
0
0
0
0
0
0
0
0
-4
-2
29
12
1
-54
-4
7
11
0
0
0
0
0
0
0
0
-1
-5
-12
32
-11
-21
-16
-1
4
0
0
0
0
0
0
0
0
4
17
-23
26
32
-7
19
13
-3
-1
3
0
0
0
0
0
0
0
6
-7
-39
-3
-33
-9
-5
2
-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
-1
0
0
-2
1
0
0
0
-2
-4
-3
2
0
0
0
1
12
23
23
26
-21
-28
0
0
40
-33
24
-2
-12
0
0
0
-2
-54
69
-88
66
-16
13
56
-40
9
41
23
-1
1
1
0
0
-3
4
-18
13
46
-4
80
69
-12
-18
-13
-27
0
-1
2
0
0
0
-12
-7
-68
38
-63
44
-54
-46
-13
-7
2
0
0
0
0
0
1
10
24
16
50
-8
6
-10
0
-14
2
0
0
0
0
0
0
0
5
20
-11
-41
6
-16
-8
-4
-6
0
0
0
0
0
0
0
0
0
-1
13
-20
1
5
-6
-1
-3
-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
-1
20
19
45
-15
-7
0
0
11
-5
2
2
0
0
0
0
-2
-9
43
-1
38
59
65
-10
46
-36
1
-2
11
0
0
0
0
4
-43
57
3
-18
2
89
41
-28
65
5
6
-7
0
0
0
0
-31
-40
121
-48
9
129
43
-2
7
2
-5
4
3
0
-1
0
0
18
-8
-9
-83
-171
177
-30
108
66
2
1
0
-2
0
1
0
0
6
-46
-52
-37
-59
-17
-6
-21
3
-20
-9
-7
0
0
0
0
0
-31
-8
-42
-4
-19
-26
-95
57
-30
5
21
-2
0
0
0
0
0
0
18
-4
76
-104
16
33
-28
-20
-1
0
0
0
0
0
0
0
0
0
5
-32
82
-1
-40
2
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
-8
8
5
12
-4
3
14
17
-8
1
0
0
0
0
0
0
-1
-25
22
26
29
15
-9
-25
-2
1
0
-1
0
0
0
0
0
9
-15
-12
-5
-5
24
-11
14
-13
-12
0
0
0
0
0
0
0
6
11
-11
22
46
0
-13
11
-1
0
0
0
0
0
0
0
0
-1
0
-26
-3
-2
-11
2
-3
0
0
0
0
0
0
0
0
0
-10
4
1
-5
-6
5
0
-1
1
0
0
0
0
0
0
0
0
0
13
-16
-15
1
-6
-3
-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
-5
-9
-10
1
1
2
-1
-1
0
5
0
0
0
0
0
0
0
-50
1
-17
13
-39
62
0
17
-9
-13
-3
1
0
0
0
0
0
61
14
49
18
63
36
-124
-18
-11
-16
-3
0
0
0
0
0
0
19
22
-65
49
10
7
-83
15
-48
-4
-3
-1
0
0
0
0
0
12
0
-4
3
-54
45
13
-1
-11
0
0
0
0
0
0
0
0
15
63
-100
-30
24
-37
-25
-17
-3
0
1
0
0
0
0
0
0
17
-65
6
-28
6
-5
-14
0
-1
0
0
0
0
0
0
0
0
35
10
-17
29
-6
-8
-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
1
-1
-3
-1
4
0
0
62
14
8
-1
1
0
0
0
0
18
15
-23
12
11
8
0
23
0
12
10
-1
7
0
0
0
-14
1
30
-8
70
9
-9
-40
83
40
81
2
7
5
0
0
0
3
39
-12
45
0
-121
-1
-4
-74
-9
-32
42
-13
0
0
0
0
-5
-27
5
-60
40
-60
-8
-13
-41
-1
-18
-1
0
0
0
0
0
-1
-4
-13
18
3
-17
-16
38
-31
20
8
-2
0
0
0
0
0
0
3
25
-12
-35
-52
3
0
-4
-3
2
0
2
0
0
0
0
0
0
0
-1
1
-31
-8
-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
2
-3
0
0
0
0
0
0
0
0
0
0
-12
-12
6
0
22
0
1
13
5
0
0
0
0
0
-8
1
-3
-32
28
14
-34
-39
32
-8
10
-1
0
0
0
0
0
13
41
-1
56
108
13
70
6
-14
1
18
0
0
0
0
0
8
1
24
-19
-35
-27
-9
-65
-4
-39
-4
10
0
0
0
0
0
0
27
-14
7
-22
-6
19
-7
8
-6
3
0
0
0
0
0
0
0
0
11
-4
-33
-23
35
0
-3
0
0
0
0
0
0
0
0
0
1
0
7
-18
-3
-16
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
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
10
1
-2
0
0
0
0
0
0
0
0
2
-6
-12
12
-3
-23
-13
2
-1
0
0
0
0
0
0
0
0
1
0
0
-4
-35
14
-8
-2
0
0
0
0
0
0
0
-2
0
1
2
-5
11
-4
-18
-8
0
0
0
0
0
0
0
0
0
5
0
0
0
1
-11
38
-27
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
37
-1
12
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-3
0
0
1
8
-2
0
0
0
0
0
0
0
0
3
7
-5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-24
-2
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-21
-20
0
-12
0
2
0
0
0
0
0
0
-8
-1
5
0
9
25
44
18
42
1
0
-2
0
0
0
0
0
1
0
0
-1
2
1
19
17
2
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
-4
-1
0
3
0
0
0
0
0
0
0
0
2
0
-1
0
-3
0
0
0
0
1
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
-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
-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
-1
-6
0
1
0
4
-14
15
0
-30
21
31
3
-2
0
0
0
0
0
-6
-2
3
1
-94
135
35
159
-112
3
-23
11
0
0
0
0
8
2
-1
1
2
4
21
88
61
-22
47
-11
-2
0
0
0
0
2
-2
1
4
2
-2
11
85
-14
-37
21
6
-10
0
0
0
0
-3
0
-9
-7
5
19
-82
34
-30
-3
-16
-3
0
0
0
0
0
0
0
0
0
-2
-2
-24
-35
-30
-27
-4
5
0
0
0
0
0
0
0
0
0
1
1
7
-11
0
27
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
-5
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
-5
-69
-6
-7
0
75
-58
-2
38
-9
-3
0
0
0
0
0
-16
14
66
16
-5
114
34
22
20
24
25
9
1
0
0
-4
-6
-27
6
72
5
-77
114
-44
77
69
8
-12
-7
0
0
0
0
-6
-16
-13
-13
31
21
94
84
-68
79
34
1
2
0
0
0
3
-11
-13
57
2
-14
53
-59
52
71
-14
25
-25
0
0
0
0
-1
0
-4
22
12
17
-21
-53
-16
-36
-19
0
6
0
0
0
0
0
0
-14
17
-125
75
29
66
-1
20
-19
-15
0
-2
0
0
0
0
0
1
26
-28
49
15
-3
29
-28
22
-1
0
4
0
0
0
0
0
0
2
66
-22
81
-30
-55
-7
4
0
0
0
0
0
0
0
0
0
0
-1
-4
-44
0
-26
91
32
32
-7
1
0
0
0
0
0
0
-1
16
40
-46
-23
-28
1
65
-35
-15
-7
0
2
0
0
0
0
-29
-13
-9
68
19
-65
-22
29
0
-45
3
3
0
0
0
0
0
0
0
68
-25
59
72
30
-21
-11
-11
2
0
0
0
0
0
0
0
2
-15
32
52
-113
-30
-3
-23
24
-2
2
-1
0
0
0
0
2
0
2
4
-32
40
33
-17
-35
-61
3
0
0
0
0
0
0
0
6
-1
-9
-36
-11
49
-30
-11
-10
-5
2
0
0
0
0
0
0
4
-9
21
-132
70
-40
21
6
-21
-6
1
0
0
0
0
0
0
-4
-6
-15
-13
35
30
-11
34
4
6
0
0
0
0
0
-2
7
56
-73
-61
0
-21
16
27
14
3
1
0
0
0
0
0
0
0
42
22
19
-3
132
-81
87
54
18
0
0
0
0
0
0
2
-13
-12
85
4
-67
-9
-5
6
-42
-33
0
0
0
0
0
0
0
0
-27
-31
-51
25
49
4
24
10
-7
-3
-1
0
0
0
1
-1
1
13
44
-6
36
23
-35
28
-36
-6
-1
0
0
0
0
0
-1
-9
-5
-27
-57
-5
4
-33
16
41
19
0
0
0
0
0
0
0
0
43
0
-1
-66
-61
20
29
0
5
2
0
0
0
0
0
0
2
0
-24
-21
-15
-47
-14
4
19
0
1
0
0
0
0
0
0
0
0
27
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
-4
-77
171
-83
0
-70
75
19
5
-4
0
0
0
-2
-5
1
1
2
2
-71
-21
26
149
-4
-5
3
5
-4
0
0
0
6
7
8
9
16
-5
54
48
33
-39
0
-31
0
-2
0
0
-1
-6
4
2
-11
23
72
54
-13
-57
16
-19
-18
-3
0
0
0
0
3
-2
0
-2
3
-10
96
-40
30
-28
-37
-4
-7
0
0
0
0
0
1
3
3
2
59
41
29
30
-67
12
1
0
0
0
0
0
0
0
1
0
2
2
-49
17
4
5
0
-2
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
-4
4
12
0
14
23
8
0
0
0
0
0
0
0
0
0
-1
12
-50
56
3
24
-13
-9
-17
0
0
0
0
0
0
0
3
-3
-2
-46
-12
-18
-10
-28
-5
0
0
0
0
0
0
-5
0
0
0
-6
-15
31
4
-7
-2
1
0
0
0
0
0
0
0
0
0
-7
4
-34
7
51
8
1
-4
0
0
0
0
0
0
0
-1
0
0
8
13
-3
-2
-25
-4
-2
0
0
0
0
0
0
0
0
0
0
1
-8
-7
-29
-16
-1
-2
0
0
0
0
0
0
0
0
0
0
-2
1
-6
-2
-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
22
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-15
3
0
0
0
0
0
0
0
0
0
57
0
0
51
-5
-10
-13
7
-4
0
0
0
0
0
0
0
0
-22
0
84
-213
24
-15
-31
-2
-1
0
0
0
0
0
0
0
0
19
19
22
-62
-35
0
21
2
1
0
0
0
0
0
0
0
0
-7
-20
65
-34
54
7
14
0
0
0
0
0
0
0
0
0
0
5
-50
21
22
12
27
0
0
0
0
0
0
0
0
0
0
0
-15
2
49
56
-22
-12
-1
1
3
0
0
0
0
0
0
0
0
-6
55
-16
-39
10
7
-2
0
0
0
0
0
0
0
0
0
0
0
11
49
11
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-8
-10
4
-1
0
0
0
0
0
0
0
0
0
0
9
-20
41
4
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
26
0
-40
-25
-24
2
0
0
0
0
0
0
0
0
0
0
0
-53
-9
49
26
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
15
41
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
55
-12
-2
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
0
0
0
19
-12
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-11
45
21
-3
-1
0
0
0
0
0
0
0
0
0
7
19
25
12
33
-37
1
-1
0
0
0
0
0
0
0
0
0
-11
8
-49
-26
-18
1
0
0
0
0
0
0
0
0
0
0
0
-6
-50
-29
-65
-20
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
13
-6
-9
0
-1
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
1
23
-2
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
47
0
0
0
14
-5
0
0
0
0
0
0
0
0
0
0
0
52
0
0
13
-5
-17
-1
0
0
0
0
0
0
0
0
0
0
-20
-29
75
-30
-21
-1
0
0
0
0
0
0
0
0
0
0
0
-9
32
-31
-16
15
1
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-5
1
8
0
-1
0
0
0
0
0
0
0
0
0
0
-1
11
4
3
35
0
2
0
0
0
0
0
0
0
0
0
0
0
-18
29
10
-6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
35
6
-1
0
0
0
0
0
0
0
0
2
0
11
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
-2
-6
16
-44
114
26
24
1
-3
0
0
0
0
0
0
0
0
0
-11
52
39
38
-16
-66
12
0
0
0
0
0
0
0
0
0
2
-10
11
-41
25
1
0
0
4
0
0
0
0
0
0
0
0
5
-6
-8
48
27
-51
-2
-3
0
0
0
0
0
0
0
0
0
0
-5
-11
23
10
-9
-2
1
0
0
0
0
0
0
0
0
0
0
-4
11
16
-49
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-59
-11
0
0
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
-1
0
0
0
33
-39
2
-1
0
0
0
0
0
0
0
0
0
1
-6
-27
-8
29
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
-35
-7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
47
51
21
-31
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
31
8
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
21
54
7
12
-5
1
0
0
0
0
0
0
0
0
0
0
0
28
6
56
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-10
0
0
0
0
0
0
-1
3
2
-4
12
8
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-3
5
-2
1
0
0
0
0
0
0
0
0
0
0
-2
-2
19
3
16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
-15
0
0
0
0
0
0
0
0
0
0
0
-10
1
-5
3
-9
-5
-10
1
0
-1
0
0
0
0
0
0
0
7
-2
-2
0
4
-1
-2
9
-1
0
0
0
0
0
0
0
0
0
-1
0
-4
-2
4
-3
0
-2
1
0
0
0
0
0
0
0
0
-3
-2
-2
7
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
11
5
0
9
76
0
0
0
86
-4
15
-5
0
0
0
5
-1
28
-21
4
-29
13
0
0
9
-34
-58
-7
-1
3
0
0
0
-18
24
23
0
-5
9
113
120
-63
-12
-34
3
-2
8
0
0
0
25
72
-4
24
-6
33
2
-103
-101
45
-12
2
7
0
0
0
0
1
-3
0
10
-2
-2
7
17
25
-6
-6
7
12
1
0
0
0
0
-6
-6
-3
-6
1
2
-22
21
-36
-3
-6
0
0
0
0
0
5
-2
3
0
13
3
8
-1
10
2
0
2
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
0
0
0
0
0
0
0
0
0
0
0
2
96
-33
-30
-48
0
0
31
8
-2
1
0
0
0
0
0
-8
-18
27
-52
7
-73
-17
70
-55
18
-14
0
0
0
0
0
0
17
58
5
51
-12
32
-47
-32
-22
8
-4
0
0
0
0
0
-2
6
-32
-29
24
-18
60
-14
-13
10
8
10
1
3
0
0
0
-1
0
-7
-26
-40
-15
83
-25
-12
-38
2
5
4
4
0
0
0
0
-1
-4
70
-17
36
18
-33
53
27
43
15
-4
0
0
0
0
0
-1
-3
17
32
16
-38
87
47
5
7
-1
-1
0
0
0
0
0
0
39
-28
25
12
-17
-51
33
-12
4
0
0
0
0
0
0
0
0
-24
2
18
0
12
-10
7
-5
0
0
0
0
0
0
0
4
14
10
-1
0
-12
-7
0
0
0
0
0
0
0
0
0
0
0
18
-2
-1
5
-8
11
4
1
2
0
0
0
0
0
0
0
-19
13
1
3
3
-1
-86
1
0
0
0
0
0
0
0
0
0
9
-16
-12
-2
1
-1
0
-5
0
0
-1
0
0
0
0
0
0
1
1
-4
-1
6
0
3
6
2
0
0
0
0
0
0
0
0
-2
-8
-2
-3
3
0
-1
-2
1
0
-3
0
0
0
0
0
0
-1
6
15
3
-1
-4
9
-7
2
-2
0
0
0
0
0
0
0
-2
35
-19
-7
0
3
-17
0
1
-1
0
0
0
0
0
0
0
4
11
-25
-3
4
0
2
1
0
0
0
0
0
0
0
0
0
2
25
0
-12
-3
-51
-37
70
0
12
6
10
0
0
0
0
0
6
33
-42
2
-3
44
0
-20
-7
-7
3
-27
0
0
0
0
0
0
0
-78
-4
44
45
-20
-21
-1
2
-1
1
0
0
0
0
0
1
-5
1
-3
-26
67
-6
1
2
-2
0
0
0
0
0
0
0
2
-10
-3
-7
-1
40
20
13
-9
0
0
0
0
0
0
0
0
-1
2
-3
-34
0
-8
-22
-3
1
-1
0
0
0
0
0
0
0
-3
-9
0
0
-5
2
1
-4
0
0
0
0
0
0
0
0
0
0
-16
-5
-6
-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
-4
5
7
-7
5
2
0
0
66
-8
38
4
1
0
0
0
0
-5
12
13
-39
43
71
0
53
0
-55
-2
11
-8
0
0
0
0
1
4
28
19
-1
-27
56
70
55
9
-42
12
-2
0
0
0
2
-6
-10
5
42
-10
-16
-25
-63
-47
-64
-11
-4
4
0
0
0
0
0
2
-34
-60
1
19
0
-45
-39
-22
2
-5
2
0
0
0
0
0
6
17
-34
-3
-15
22
6
-10
-2
1
-3
0
0
0
0
0
0
0
6
12
6
1
-1
7
-31
3
2
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
4
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
-5
1
-4
4
0
0
-57
33
11
1
0
0
0
0
0
0
0
-1
-32
-1
13
0
2
0
13
24
-2
0
0
0
0
0
0
4
0
2
6
11
43
18
61
105
35
-5
0
-1
0
0
0
0
0
0
2
-8
24
-6
25
-14
-12
23
-3
1
0
0
0
0
0
0
0
4
8
-29
32
-11
-13
19
13
-1
0
0
0
0
0
0
0
0
3
-8
-18
9
5
-2
4
2
0
-1
0
0
0
0
0
0
0
-3
0
-4
-8
-3
-1
5
0
0
0
0
0
0
0
0
0
0
6
0
2
-1
-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
3
10
-1
0
0
0
0
0
0
0
0
0
1
5
0
0
-28
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-5
0
-1
0
0
0
0
0
0
0
0
0
0
1
-5
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
67
-22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
69
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
22
-2
0
0
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
15
16
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
-3
1
22
-10
-43
-1
0
0
0
0
0
0
0
0
0
0
0
1
-15
-18
-43
-64
71
0
0
0
0
0
0
0
0
0
0
0
0
5
54
-28
9
10
1
0
0
0
0
0
0
0
0
0
0
0
4
0
39
40
-5
0
0
0
0
0
0
0
0
0
0
0
3
1
13
-22
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
-13
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
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
4
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
-1
18
-4
-2
0
0
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
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
-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
-2
7
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-3
0
-11
-10
32
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
-42
28
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
2
-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
5
-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
-2
-6
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
-1
-33
5
19
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
11
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
-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
26
6
-4
0
1
0
0
0
0
0
0
0
0
18
0
0
0
-20
12
-7
0
0
0
0
0
0
0
0
0
-7
-1
-28
1
-39
-4
22
0
1
0
0
0
0
0
0
0
0
0
0
-21
-10
18
-34
-2
0
1
0
0
0
0
0
0
0
0
0
0
-6
-15
31
-21
-4
0
1
0
0
0
0
0
0
0
0
0
1
-15
18
-1
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
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
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
-2
-7
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
0
0
-2
0
0
-6
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-18
35
-5
-42
-2
0
0
0
0
0
0
22
-7
0
0
4
-28
-60
-24
40
-8
5
0
0
0
0
0
0
-2
-27
-35
-19
-11
-5
-35
-67
11
-26
18
0
0
0
0
0
0
2
-33
23
-7
35
49
6
-15
15
38
-7
0
0
0
0
0
0
1
-31
31
-35
-14
-22
-13
60
44
26
-1
0
0
0
0
0
-1
0
0
-15
-8
-3
8
10
26
-9
-2
0
0
0
0
0
0
2
0
0
6
-6
-42
-32
25
36
38
3
0
0
0
0
0
0
0
0
0
5
0
7
25
-1
-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
-3
-4
0
0
1
-62
-22
-194
20
-13
0
0
0
0
0
0
-1
45
-54
25
89
29
-22
32
-93
-33
-44
4
0
0
0
0
0
2
-19
5
92
16
71
129
1
-4
38
6
-1
0
0
0
0
0
-2
-2
27
63
24
-39
-9
-26
77
-24
8
-3
0
0
0
0
0
-1
27
-12
45
78
62
122
15
-12
-9
-62
1
0
0
0
0
0
0
2
-26
-6
19
42
-41
70
-20
-35
-24
3
0
0
0
0
0
0
19
21
-32
-68
-23
8
94
-36
1
40
0
0
0
0
0
0
0
8
0
-1
-20
-67
-60
0
53
7
2
0
0
0
0
0
0
0
-3
5
2
-26
-3
-1
-32
2
-46
0
0
0
0
0
0
0
0
0
0
0
0
53
24
16
-20
18
-10
0
0
0
0
0
0
0
0
3
-2
17
5
2
56
-2
-76
-39
0
0
0
0
0
0
0
2
0
-2
-1
31
44
-15
-18
8
-8
0
0
0
0
0
0
0
-2
0
-1
6
19
-1
-15
-3
8
1
0
0
0
0
0
0
0
0
0
-1
10
-1
-17
35
-24
-12
1
0
0
0
0
0
0
0
0
2
-5
1
1
17
5
-7
4
0
1
0
0
0
0
0
0
0
0
1
3
2
-1
10
4
19
-1
-1
0
0
0
0
0
0
0
1
-2
1
-37
18
-1
-27
-6
9
0
0
0
0
0
0
0
0
0
0
0
13
0
6
0
-15
4
0
0
0
0
0
0
0
0
0
0
-3
-33
21
-2
19
16
37
-28
0
0
0
0
0
0
0
0
-18
7
0
96
98
-26
-15
-4
-64
0
0
0
0
0
0
0
5
10
30
-20
0
-45
-73
-34
-3
-14
0
0
0
0
0
-2
1
9
-5
17
-48
-97
37
-12
7
8
54
0
0
0
0
0
0
0
6
-1
-14
23
60
32
-21
-39
-54
11
0
0
0
0
0
0
0
-5
12
-41
-8
-27
-31
55
-10
10
88
0
0
0
0
0
0
0
0
-6
-47
0
106
-26
-74
-5
30
-9
0
0
0
0
0
0
0
0
2
-16
16
-21
-40
-23
30
11
35
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
-4
-45
-30
31
-26
0
0
0
0
0
1
10
-13
0
-32
0
68
-19
49
-49
38
-18
3
0
0
0
0
0
0
-22
-32
-9
-50
56
37
-60
173
58
-16
4
0
0
0
0
0
0
2
26
18
30
98
87
-21
71
10
-9
-1
0
0
0
0
0
0
-3
13
23
3
3
-5
-20
-77
12
-42
1
0
0
0
0
0
0
0
-1
18
24
-60
46
-15
-11
12
-11
0
0
0
0
0
0
0
1
1
-4
-17
63
-14
-35
-110
-22
3
0
0
0
0
0
0
-3
0
5
-5
14
-17
-31
27
11
-2
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
11
-1
-1
-2
9
17
1
6
0
0
0
0
0
0
2
0
-2
0
50
-2
33
19
50
-8
0
0
0
0
0
0
0
-2
-32
0
-22
-25
-56
6
-14
-47
-3
-1
0
0
0
0
0
0
9
-12
-6
3
-35
43
-1
-39
10
22
0
0
0
0
0
0
0
3
4
31
-4
6
-15
-28
-54
1
5
0
0
0
0
0
0
0
0
2
2
-20
-32
-10
-50
65
8
0
-2
0
0
0
0
0
0
2
0
1
-4
-3
9
-28
38
-6
-4
0
0
0
0
0
0
0
0
0
2
0
0
1
-20
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
1
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
2
0
0
0
0
0
0
0
-1
-1
0
0
0
1
-1
5
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
-4
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
27
27
-1
2
0
0
0
0
0
0
0
0
2
10
-8
-2
-18
-3
9
37
7
0
0
0
0
0
0
0
1
0
-1
-2
1
-7
21
10
65
7
0
0
0
0
0
0
0
0
0
0
5
-14
17
-36
63
8
14
0
0
0
0
0
0
0
0
0
0
0
-24
35
-42
-22
40
-14
0
0
0
0
0
0
0
0
0
0
3
-18
44
-8
-17
50
2
0
0
0
0
0
0
0
0
0
-1
-4
-16
39
19
-68
19
0
0
0
0
0
0
0
0
0
0
0
-1
3
-8
-61
0
-12
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
-1
1
11
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
42
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
22
9
26
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-19
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
15
18
3
-6
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
8
-5
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-9
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
2
0
1
-18
39
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
26
-12
23
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
38
13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
72
33
-15
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
0
1
-5
-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
3
0
0
1
16
6
0
0
0
0
0
0
0
0
0
0
-1
-1
10
-1
2
-29
-2
-2
0
0
0
0
0
0
0
0
0
0
-1
0
34
-41
25
1
0
0
0
0
0
0
0
0
0
0
1
0
4
17
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
21
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-19
-7
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
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
13
-1
56
44
-12
-9
12
0
0
0
0
0
0
0
0
17
-17
-10
7
39
0
-19
42
-5
0
0
0
0
0
0
0
0
-5
-2
4
-20
-9
24
93
-28
5
0
0
0
0
0
0
0
0
4
11
33
-9
35
58
8
-28
-3
0
0
0
0
0
0
0
-1
1
-6
6
-15
31
20
39
-3
2
0
0
0
0
0
0
0
-1
1
3
33
12
-14
49
-9
-10
-1
0
0
0
0
0
0
0
0
6
1
-4
-32
12
9
-10
4
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-10
-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
1
-2
-5
15
-1
2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-3
0
-38
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
7
29
1
0
0
0
0
0
0
0
0
0
0
0
1
1
21
-2
24
6
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-12
-5
2
-7
0
0
0
0
0
0
0
0
-1
0
0
3
3
11
-3
-7
-5
0
0
0
0
0
0
0
0
0
0
1
5
-3
-1
-2
-8
-1
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
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
-6
0
-10
0
4
-30
-25
23
-5
11
10
-1
0
0
0
0
6
10
-4
-36
244
91
-23
19
-37
46
-9
-38
0
0
0
0
0
-17
-23
23
83
-17
-31
70
10
-27
17
-9
14
2
0
0
0
-1
1
-8
-19
-26
47
-18
1
-13
18
52
-12
-1
-1
0
0
0
0
0
-1
-14
-7
48
-30
-45
26
-11
-10
-1
2
4
0
0
0
0
0
0
35
-27
-45
9
-5
-21
-11
-7
0
3
0
0
0
0
0
0
1
-5
17
17
-10
-5
13
-12
-32
-3
-1
0
0
0
0
0
0
0
0
1
-4
8
2
-2
-6
-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
1
-1
-2
0
2
31
-26
7
-2
-15
0
0
0
0
0
0
-2
-14
-54
23
9
-57
37
-9
33
-1
15
-2
0
0
0
0
-1
-7
-20
-38
-41
7
48
108
-36
-35
-7
-33
2
0
0
0
0
0
1
-27
40
-41
31
-18
-64
80
126
58
11
0
0
0
0
0
0
2
7
-14
-45
-5
25
-20
7
16
8
33
-7
0
0
0
0
-1
2
15
52
-12
21
-37
35
-170
19
99
19
0
0
0
0
0
0
-3
-35
-13
26
-111
-21
103
-21
26
105
-41
0
0
0
0
0
0
-1
25
12
-16
7
-76
45
48
-87
50
-10
0
0
0
0
0
0
-2
2
-25
21
-13
5
3
15
-5
-2
0
0
0
0
0
0
0
1
3
-5
-8
0
13
-25
87
2
10
0
0
0
0
0
0
0
-12
-65
-37
15
76
115
-50
-21
-50
1
-1
0
0
0
0
0
0
4
10
18
-7
33
50
17
13
-12
-2
0
0
0
0
0
0
0
6
-5
1
-1
95
37
-39
-5
4
-1
0
0
0
0
0
0
4
0
45
-43
-45
57
8
-3
-7
-28
7
0
0
0
0
0
1
0
-2
5
31
-39
38
-14
7
-5
41
-3
-1
0
0
0
0
0
-13
6
-22
20
45
28
10
13
-23
-31
1
0
0
0
0
0
1
13
2
-14
-9
-106
-25
15
4
40
14
2
0
0
0
0
0
1
1
8
-24
61
-51
9
-20
-12
-5
2
0
0
0
0
0
0
0
-2
3
-24
63
-8
0
-11
-29
-6
-11
6
3
0
0
0
0
0
0
26
25
-42
14
-65
-77
-61
37
2
109
2
0
0
0
0
0
6
-16
23
62
-7
3
-59
-10
53
18
16
-1
0
0
0
0
-2
-3
-3
-26
-64
-35
34
-6
93
23
5
12
6
0
0
0
0
-1
3
19
-17
25
23
-14
37
-10
25
19
-25
0
0
0
0
0
0
9
-18
-29
61
104
-106
27
40
-93
77
1
0
0
0
0
0
0
-18
4
-32
-51
-17
18
14
21
19
-16
-3
-2
0
0
0
0
-4
2
-3
4
14
-79
-12
-29
-10
-58
22
0
0
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
-5
-22
0
10
-20
-19
-58
-10
11
-2
1
0
0
0
0
-1
-1
-55
77
135
32
-9
17
-13
13
-14
-27
-7
0
0
0
0
-2
3
38
-46
6
-30
75
-2
-46
3
-18
-19
8
0
0
0
0
0
0
4
26
-19
42
-9
-28
-28
16
20
-13
2
0
0
0
0
0
0
24
3
-52
-14
-17
51
47
-6
3
-5
-3
0
0
0
0
0
-1
-7
-34
29
-8
-6
47
-107
19
-5
-10
8
0
0
0
0
0
0
1
3
7
-33
8
18
8
22
-1
-1
0
0
0
0
0
0
0
0
0
-10
-1
-42
6
4
7
7
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
11
8
5
-5
-2
1
6
0
0
0
0
0
0
0
-2
3
8
12
16
-13
14
13
27
-10
-1
0
0
0
0
0
0
-9
-8
14
41
-2
74
52
39
6
-6
-2
0
0
0
0
0
0
10
10
-11
26
-35
8
42
-4
-9
-1
-2
0
0
0
0
0
-7
-6
-22
-25
-81
32
-67
-48
-10
-17
2
11
0
0
0
0
0
1
16
-1
-21
-12
-9
-20
-4
13
4
0
0
0
0
0
0
0
-1
5
-27
9
17
4
12
13
3
0
0
0
0
0
0
0
0
0
0
-1
21
-28
-6
2
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
4
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
3
14
-5
-4
7
-1
18
34
-1
0
0
0
0
0
0
0
0
0
1
-1
-3
-5
6
3
-6
2
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-2
-5
1
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
3
-1
2
0
8
1
0
3
0
0
0
0
0
0
0
0
3
18
0
-8
0
0
1
0
-6
-1
0
0
0
0
0
0
0
3
4
9
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
-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
3
-4
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
2
-17
0
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
-12
-27
9
-23
-3
0
0
0
0
0
0
0
0
0
0
0
-20
-34
-21
-88
80
26
0
0
0
0
0
0
0
0
0
-2
0
-3
23
17
32
-25
-14
0
0
0
0
0
0
0
0
0
0
-1
-6
17
1
-21
-17
-2
0
0
0
0
0
0
0
0
0
0
0
9
11
-8
2
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-15
-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
1
0
0
0
0
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
2
-18
2
-10
-18
-1
0
0
0
0
0
0
0
0
0
0
0
6
-2
11
-5
1
2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
0
-17
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
-2
-7
-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
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-14
15
2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
3
14
-19
-10
-69
-4
0
0
0
0
0
0
0
0
0
0
6
0
-7
24
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
13
-2
3
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
-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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
21
24
26
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
28
20
44
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
12
-14
3
-1
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
-3
5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-1
0
0
0
0
0
0
-4
-5
0
0
0
-6
-9
1
11
4
0
0
0
0
0
0
0
2
2
18
12
-28
-1
-9
0
-2
-1
1
0
0
0
0
0
0
0
-3
-2
14
18
-3
3
2
0
-3
-1
0
0
0
0
0
0
0
2
3
8
-14
-1
-2
3
-5
-2
3
0
0
0
0
0
0
0
1
11
3
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
-7
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-27
58
37
-24
30
-12
0
0
0
0
4
7
18
-20
0
0
-61
0
0
91
6
27
110
0
0
0
0
-1
-7
17
12
49
134
44
-37
7
-54
21
71
18
0
0
0
0
0
2
-28
-19
-22
83
4
19
17
7
-14
32
-18
0
0
0
-1
1
2
0
25
-16
-51
-24
3
1
38
48
75
48
0
0
0
0
0
0
1
-1
6
24
-11
19
-66
-35
-21
58
10
0
0
0
0
0
0
0
3
-2
-1
-2
-31
-1
58
-116
8
2
0
0
0
0
0
0
-9
0
0
1
0
-1
-1
-21
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
40
35
0
0
-46
11
5
1
-33
42
-18
0
0
0
1
-1
13
11
3
-132
-33
90
-67
8
79
-26
25
-15
0
0
0
0
-3
8
21
37
-25
-79
-73
-17
-17
-73
50
-11
-83
0
0
0
0
0
-44
13
16
-42
-69
-7
17
34
132
-23
-124
7
0
0
0
0
0
14
7
-33
-54
28
67
127
25
44
-11
121
3
0
0
0
0
0
4
-11
-25
-149
16
-73
-28
153
109
1
-62
-6
0
0
0
0
0
0
-1
55
0
-39
32
16
72
-76
18
4
17
0
0
0
0
0
0
1
4
-15
14
14
56
-36
13
-41
-4
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-47
29
13
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
41
6
65
-102
45
0
0
0
0
0
0
0
0
0
13
0
4
-64
-63
-105
43
77
0
0
0
0
0
0
0
0
-1
11
24
-18
-7
17
10
-76
-99
0
0
0
0
0
0
0
0
-1
22
-15
-24
32
-17
40
-8
33
0
0
0
0
0
0
0
0
-1
-7
-8
-19
10
-31
-52
-37
-78
0
0
0
0
0
0
0
-5
0
-1
2
15
13
-23
24
-25
18
0
0
0
0
0
0
0
0
0
2
3
-8
-6
-4
37
44
-14
0
0
0
0
0
0
0
0
0
3
-5
7
1
-89
-47
44
52
0
0
0
0
0
0
0
1
0
0
0
-2
5
82
6
-7
51
0
0
0
0
0
0
0
0
0
-26
13
-18
6
9
19
8
-39
0
0
0
0
0
0
-4
1
11
18
0
-91
15
63
157
-49
65
0
0
0
0
0
0
0
-2
-3
41
63
79
-8
-100
22
34
83
0
0
0
0
0
0
0
0
3
29
41
-25
-4
12
2
44
-125
0
0
0
0
0
0
0
0
13
11
-11
16
1
-27
2
-18
23
0
0
0
0
0
0
0
1
2
12
0
9
27
70
34
-113
-50
0
0
0
0
0
0
0
0
0
1
-4
8
-134
-2
-21
-49
24
0
0
0
0
0
0
0
0
0
5
2
45
-1
-10
23
-38
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
-12
0
0
-9
-13
74
-12
-20
27
20
0
0
0
0
0
54
37
0
-24
0
-17
27
-84
-27
-35
69
4
0
0
0
-4
33
15
32
21
55
-30
62
-12
10
36
66
-56
-17
0
0
0
0
0
-9
-20
40
59
60
-12
15
-25
-14
2
-19
-9
0
0
0
0
0
-3
-20
-15
-45
-10
52
0
-44
-9
11
92
12
0
0
0
0
0
-3
-7
-2
-34
-9
17
-9
-43
12
2
-62
-11
0
0
0
0
0
0
0
9
-2
0
-12
-24
1
-22
43
37
16
0
0
0
0
0
0
0
-1
1
0
-3
0
-1
-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
2
1
1
0
5
1
15
-25
23
16
21
-5
0
0
0
0
0
5
0
0
5
0
23
-18
26
0
62
5
-1
0
0
0
0
0
7
7
21
11
8
27
3
37
62
-25
0
1
0
0
0
0
-3
0
1
6
15
20
-35
49
47
-23
31
-15
8
0
0
0
0
0
0
3
2
-6
-2
-14
8
14
8
29
4
11
0
0
0
0
0
0
-2
-1
-1
0
2
-26
-1
-3
27
1
-7
0
0
0
0
0
0
-2
0
0
1
-4
0
4
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
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
-1
1
11
1
0
0
0
0
0
0
0
0
-4
2
0
0
0
3
0
-4
-9
0
0
0
0
0
0
0
0
0
-12
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
9
-2
-8
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
9
-21
-7
17
0
0
0
0
0
0
0
0
0
-2
1
11
-16
-47
-61
58
-15
0
0
0
0
0
0
0
0
0
0
0
-11
-17
-105
-19
-30
-16
0
0
0
0
0
0
0
0
0
1
0
0
38
-28
20
15
10
0
0
0
0
0
0
0
0
0
0
0
-8
5
-2
33
-31
5
0
0
0
0
0
0
0
0
0
0
0
7
-4
-30
-33
51
-12
0
0
0
0
0
0
0
0
0
0
0
-1
4
12
21
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
70
3
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
22
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-10
-2
0
0
0
0
0
0
0
0
0
0
0
1
-3
23
4
-34
-1
0
0
0
0
0
0
0
0
0
0
0
9
1
0
16
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-11
5
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
-4
6
-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
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-9
18
0
0
0
0
0
0
0
0
0
0
0
-3
0
-15
21
10
20
-2
0
0
0
0
0
0
0
0
0
0
0
1
5
3
22
20
15
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
-19
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-31
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
-3
2
-3
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
-3
3
-1
6
-22
-8
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-5
4
-27
-25
-1
0
0
0
0
0
0
0
0
0
0
2
0
8
-23
16
-23
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
40
51
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
17
5
-4
-13
-10
14
0
0
0
0
0
0
-3
-1
0
9
7
11
-2
2
-18
16
8
0
0
0
0
0
0
0
5
6
0
-6
13
1
24
88
-12
-14
0
0
0
0
0
0
0
-1
0
0
0
-9
-11
8
-49
-24
-25
0
0
0
0
0
0
0
0
-2
1
2
8
-23
-8
-48
19
5
0
0
0
0
0
0
0
0
8
-1
0
-4
14
32
-15
1
5
0
0
0
0
0
0
0
-2
-8
0
0
-1
0
-10
-4
29
3
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
33
7
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
2
-20
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
-18
-29
-13
0
0
0
0
0
0
0
0
0
0
0
-1
6
5
10
-25
11
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
17
-15
10
0
0
0
0
0
0
0
0
0
0
1
2
-4
0
10
4
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
34
1
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-16
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
52
25
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
45
0
128
-34
-4
11
19
-2
-52
-5
0
0
0
1
-27
-52
-43
36
77
51
34
2
-37
14
108
-34
-9
0
0
0
0
-21
-16
-66
0
223
106
-29
-43
21
-30
-7
59
-5
0
0
0
-3
11
4
-46
-9
-20
-17
20
0
21
-7
-5
-10
24
0
0
0
0
0
3
-22
24
7
1
2
-22
10
-31
4
-44
0
0
0
0
0
0
0
-10
24
-18
17
-18
-4
-6
-26
-24
-14
2
0
0
0
0
0
0
5
5
-34
-18
-7
2
-2
-3
44
2
2
0
0
0
0
0
0
0
-1
4
9
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
0
0
-1
-25
-44
-6
0
126
-72
-71
79
-10
0
0
0
0
0
0
-4
-5
5
-29
-22
34
-72
44
-33
92
-22
14
-1
0
0
0
0
1
-4
13
-77
9
1
-25
32
72
-75
-30
-4
-10
0
0
0
0
0
-29
-14
29
-121
0
23
82
23
-4
1
-13
4
0
0
0
0
0
-2
23
-44
67
-99
62
21
22
19
16
20
2
0
0
0
0
0
-10
-24
42
-21
-31
-136
19
14
-8
-39
35
-1
0
0
0
0
0
0
-12
1
36
-61
26
-12
75
-44
-8
9
0
0
0
0
0
0
0
7
-9
31
38
173
-109
6
30
10
1
4
0
0
0
0
0
0
-1
9
-54
-2
-64
-75
29
-5
0
0
0
0
0
0
1
2
0
39
35
45
0
-55
23
-7
9
3
0
0
0
0
0
0
-9
-17
36
99
-42
-15
-47
-22
9
1
-2
0
0
0
0
0
0
5
-28
-27
-41
-24
-32
12
3
-6
0
0
0
0
0
0
0
-2
-4
9
34
41
-81
-21
-40
18
1
-8
0
0
0
0
0
0
2
-7
23
-13
60
-32
35
-6
25
0
-1
0
0
0
0
0
0
-2
5
31
10
-21
-12
-27
-37
10
-1
2
-1
0
0
0
0
0
2
-7
-13
-62
27
-16
-12
-6
-2
-1
1
3
0
0
0
0
0
0
-21
-12
19
-57
12
-91
64
-11
-5
0
0
0
0
0
0
0
0
0
24
14
-39
80
-47
40
-1
0
0
0
0
0
0
0
0
5
-4
-3
-3
53
61
0
-7
36
64
45
-2
0
0
0
0
0
-2
20
-2
-67
27
19
18
76
-10
-17
-41
0
0
0
0
0
0
2
-9
7
24
34
54
3
9
-39
7
66
-13
0
0
0
0
0
0
2
-34
5
-78
25
-35
-14
12
-16
-22
7
0
0
0
0
0
-2
-2
4
-44
-5
-2
43
5
-19
-12
8
-1
0
0
0
0
0
0
-7
-10
26
-21
15
-53
31
-22
1
0
0
0
0
0
0
0
-1
1
18
-9
-17
33
-34
-6
-2
24
16
6
0
0
0
0
0
0
5
-14
2
12
60
15
-21
-4
0
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
2
5
48
12
0
230
91
19
5
0
-23
11
0
0
0
0
1
4
-1
6
-18
-106
149
-131
34
-9
5
-99
-55
-19
0
0
0
0
-5
16
47
3
-30
65
45
22
-12
21
-10
-52
7
0
0
0
0
-1
6
-28
-39
-38
-59
-41
-9
-21
17
37
27
9
0
0
0
0
-1
-3
-25
-49
-15
-23
56
-27
-26
58
10
-21
20
0
0
0
0
0
-2
3
15
-16
-34
10
107
-34
-5
25
0
2
0
0
0
0
0
0
4
4
-26
-4
56
-1
-4
17
1
-8
-7
0
0
0
0
0
0
0
6
-5
-1
0
1
0
-12
1
8
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-1
-5
0
0
0
0
0
0
-1
-17
4
0
2
-5
3
0
-5
-7
-1
-1
0
0
0
0
0
-3
-39
-20
-3
63
20
-18
26
-11
-2
42
-5
0
0
0
0
0
-15
-13
6
-9
11
-7
-55
25
14
11
-17
-18
0
0
0
0
-1
6
-52
11
21
-41
39
80
8
5
6
-26
32
0
0
0
0
0
1
-4
5
2
-11
-32
10
-5
2
11
11
-17
0
0
0
0
0
3
11
-20
-6
-5
-12
-4
2
-3
-7
18
1
0
0
0
0
1
0
1
38
20
-11
4
-1
1
1
0
1
-1
0
0
0
0
0
0
0
1
-5
-19
-4
9
0
0
0
-1
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
2
0
1
0
0
4
0
0
0
0
0
0
0
0
1
-3
1
-1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
5
4
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
-3
3
-5
2
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
-65
25
88
-39
0
0
0
0
0
0
0
0
0
0
2
-5
23
11
40
7
-4
0
0
0
0
0
0
0
0
0
0
0
2
21
3
49
-9
36
0
0
0
0
0
0
0
0
0
0
0
-3
41
-8
-12
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-42
35
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
33
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
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
-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
-3
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
7
27
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-6
-2
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
5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-38
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
14
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-6
0
0
0
0
0
0
0
0
-2
0
0
0
7
-20
-4
-24
-2
0
0
0
0
0
0
0
0
0
-9
47
-2
1
-10
48
0
2
0
0
0
0
0
0
0
0
0
-27
-13
42
-20
0
3
3
-2
0
0
0
0
0
0
0
0
0
-13
29
-24
35
-19
-14
1
2
0
0
0
0
0
0
0
0
4
-27
1
11
15
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
6
0
2
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
0
0
0
0
0
0
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
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
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
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
3
-18
-4
44
-23
-30
3
0
0
0
0
-1
-1
-3
-14
0
0
-27
-80
21
-69
-48
0
15
0
0
0
0
0
0
-8
-19
35
-20
-10
93
-43
-37
-36
-10
18
0
0
0
0
0
-1
1
-5
-12
40
14
11
-47
-54
60
-18
28
0
0
0
0
-2
0
0
-3
5
-15
9
5
67
90
25
0
-9
0
0
0
0
0
0
0
0
-10
51
64
-36
-66
5
53
-27
-1
0
0
0
0
0
0
0
0
6
-1
11
6
38
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
2
1
8
-27
-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
61
-48
78
84
22
-44
3
0
0
0
0
0
-5
38
14
60
-30
-38
-19
115
115
83
-26
9
0
0
0
0
0
8
13
43
-28
-66
-49
-40
42
-27
11
-5
26
0
0
0
0
-1
-6
-13
14
-25
-136
-14
56
-59
-51
-9
18
-32
0
0
0
0
1
-1
16
-14
-75
44
33
2
7
32
-46
-36
22
0
0
0
0
0
-2
3
-20
-13
-15
37
-12
18
26
-37
36
6
0
0
0
0
0
0
-9
-1
13
13
-58
-66
-43
45
-5
1
-2
0
0
0
0
0
0
2
22
-11
-28
43
61
-22
9
116
3
0
0
0
0
0
0
0
0
-3
4
-41
20
36
31
36
-74
0
0
0
0
0
0
0
0
0
0
0
0
18
23
-13
43
-1
12
1
0
0
0
0
0
0
0
-1
-5
-12
-24
-5
-50
-20
58
11
0
0
0
0
0
0
0
0
0
1
18
-17
67
-32
-38
-27
14
2
0
0
0
0
0
0
0
0
-1
4
7
16
42
-27
35
15
0
0
0
0
0
0
0
0
-3
0
0
10
14
10
-6
-15
20
1
0
0
0
0
0
0
0
0
1
0
-1
9
-3
8
-12
7
0
0
0
0
0
0
0
0
0
-3
0
3
-5
40
-3
9
12
3
0
0
0
0
0
0
0
0
0
11
21
-11
-7
2
4
5
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
38
-20
36
-39
-38
46
52
5
0
0
0
0
0
0
0
0
-49
-1
0
18
43
114
57
-46
-34
0
0
0
0
0
0
0
3
-8
29
160
41
38
20
9
48
23
0
0
0
0
0
0
-1
0
-10
18
-1
29
36
-20
46
58
97
0
0
0
0
0
0
0
0
-3
-18
4
-23
6
39
-21
30
21
0
0
0
0
0
0
0
0
5
-7
18
-8
-1
-29
6
-41
46
0
0
0
0
0
0
0
0
2
-1
6
-2
-26
-15
-20
-26
-12
0
0
0
0
0
0
0
0
-2
0
1
6
12
-11
-21
-28
-20
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
4
0
0
0
0
0
0
0
0
0
0
0
0
-34
5
-10
30
-23
6
1
0
0
0
0
2
-2
-3
0
-21
0
-8
29
75
-20
37
-25
2
0
0
0
0
2
1
11
2
-44
42
10
-5
40
47
35
56
-14
0
0
0
0
0
0
-5
11
19
1
-33
8
-36
-8
-60
118
3
0
0
0
0
0
0
6
-11
26
60
-39
-9
-4
35
34
23
-1
0
0
0
0
0
0
0
1
-22
4
14
18
-1
-70
-38
-33
0
0
0
0
0
0
0
1
2
-9
-2
12
22
13
-13
52
-4
0
0
0
0
0
0
0
0
0
1
-2
8
-9
7
-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
-7
0
0
-6
26
-9
28
0
0
0
0
0
0
0
0
0
-2
0
-31
-52
39
4
37
3
-2
0
0
0
0
0
0
-2
1
-6
-33
41
6
0
-73
14
34
13
0
0
0
0
0
0
-1
-1
1
3
10
20
-14
102
34
-25
0
0
0
0
0
0
0
0
-6
-5
15
-21
134
35
17
-21
15
1
0
0
0
0
0
-1
0
0
3
-1
-1
-13
79
-72
33
-51
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-21
20
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-12
-1
-31
0
0
0
0
0
0
0
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
-5
1
0
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
4
4
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
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
4
-27
-5
7
-14
-8
0
0
0
0
0
0
0
1
0
27
10
-7
69
69
41
-5
-8
0
0
0
0
0
0
0
0
0
2
1
-4
-114
20
4
-37
-32
0
0
0
0
0
0
0
0
0
0
-1
4
38
18
29
-55
25
0
0
0
0
0
0
0
0
0
0
4
11
-12
-10
55
-39
10
0
0
0
0
0
0
0
0
0
1
0
26
-49
-30
-2
-7
8
0
0
0
0
0
0
0
0
0
0
-2
11
3
-47
47
17
5
0
0
0
0
0
0
0
0
0
0
0
2
8
-55
-38
31
-8
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
-3
-6
2
5
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-16
99
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-21
-17
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-13
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
11
25
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
15
-15
-21
-29
0
0
0
0
0
0
0
0
0
-2
0
1
2
20
89
-8
2
1
0
0
0
0
0
0
0
0
0
0
-1
15
-1
-33
68
22
-3
0
0
0
0
0
0
0
0
0
0
0
-3
29
57
-72
-26
3
0
0
0
0
0
0
0
0
0
0
0
-4
16
-23
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-10
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-2
7
-3
0
0
0
0
0
0
0
0
0
1
0
0
-5
1
4
5
6
0
0
0
0
0
0
0
0
0
0
0
4
8
-19
51
-3
86
0
0
0
0
0
0
0
0
0
0
0
0
3
1
7
13
14
0
0
0
0
0
0
0
0
0
0
0
-2
-2
21
-9
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
31
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
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
-4
-4
-6
-62
5
-3
0
0
0
0
0
0
0
0
1
-3
24
37
-21
-50
-4
-1
5
0
0
0
0
0
0
0
0
1
-6
10
-3
20
-63
-15
51
3
0
0
0
0
0
0
0
0
0
1
12
45
-20
5
-28
9
-3
0
0
0
0
0
0
0
0
0
-1
-13
-3
14
20
-62
33
4
0
0
0
0
0
0
0
0
3
0
6
15
-39
-22
-10
-33
0
0
0
0
0
0
0
0
0
0
0
63
0
9
14
9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
12
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
2
1
4
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
7
-9
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
4
4
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
32
3
3
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
-3
4
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
1
3
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
54
21
28
-32
23
-7
-12
0
0
0
0
0
19
-9
-25
135
62
-94
-38
22
29
-57
5
9
0
0
0
0
0
2
10
-15
76
13
-56
-28
-56
32
-35
-42
5
0
0
0
0
0
-2
-25
23
6
21
40
-68
-39
30
31
39
0
0
0
0
0
0
-4
-4
28
-18
-53
68
0
-24
12
23
-29
-5
0
0
0
0
0
1
-1
38
-61
8
24
12
17
36
42
-26
0
0
0
0
0
0
-1
0
-2
-2
0
-18
-2
0
-32
-17
7
0
0
0
0
0
0
0
0
0
1
-6
-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
-1
-2
0
0
55
31
48
34
3
-10
7
0
0
0
0
-2
-10
14
-1
-2
-55
14
-7
-52
14
-19
-10
-1
0
0
0
0
0
7
7
52
34
100
14
-92
34
0
123
-31
4
0
0
0
0
-1
2
-39
4
44
-13
47
42
90
-34
-47
19
17
0
0
0
0
0
-2
-3
-69
7
39
-22
-1
-98
57
38
-41
31
0
0
0
0
-2
0
5
-10
-2
-20
-13
-14
36
-45
29
51
2
0
0
0
0
0
1
0
-12
9
57
-38
17
17
17
64
13
11
0
0
0
0
0
1
0
-26
-61
8
58
-42
13
-40
-9
14
-2
0
0
0
0
0
0
0
-4
3
23
-3
33
-34
2
1
0
0
0
0
0
0
0
0
0
0
0
0
11
8
9
3
2
6
0
0
0
0
0
0
-1
7
3
18
26
-4
29
-10
11
-26
-2
0
0
0
0
0
0
0
0
21
-5
17
21
-23
25
-35
-3
-13
0
0
0
0
0
0
0
2
4
-23
20
-15
-5
17
-21
-1
1
0
0
0
0
0
0
0
-1
2
-50
19
12
-9
6
-1
2
0
0
0
0
0
0
0
0
0
3
2
18
0
6
-2
-12
0
0
0
0
0
0
0
0
0
0
10
-24
23
2
2
0
2
0
0
0
0
0
0
0
0
0
0
-8
-22
-4
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
-3
-21
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
19
-44
-12
-15
-5
-3
0
0
0
0
0
-1
-3
0
-47
22
17
108
50
21
24
-17
-2
0
0
0
0
0
0
-5
-32
22
14
20
-13
15
39
-88
-13
-5
0
0
0
0
0
0
0
10
-1
24
-46
1
3
-63
0
-14
2
0
0
0
0
0
-1
3
-1
-17
-2
-14
55
-1
-2
-54
-14
-12
0
0
0
0
0
2
-5
4
4
-29
150
-103
-15
-12
-34
-4
1
0
0
0
0
0
-1
5
-24
-6
-17
46
-32
-12
-36
28
-2
0
0
0
0
0
0
0
-1
24
-28
33
-76
13
-13
3
-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
-49
-58
-57
35
0
-34
-5
26
0
0
0
0
-1
1
-1
-34
17
-1
15
-19
-35
-59
40
63
-23
0
0
0
0
0
2
0
15
67
-62
-12
46
-35
-32
47
8
-7
0
0
0
0
0
0
2
-6
-49
-48
21
-55
41
-11
12
25
63
0
0
0
0
8
2
8
-2
35
65
48
24
71
-38
-47
0
25
0
0
0
0
0
0
4
-1
17
-20
-26
52
10
12
50
-35
4
0
0
0
0
0
0
0
-1
13
14
-10
-7
11
-4
-19
-19
-1
0
0
0
0
0
0
0
-2
-3
-1
6
-2
2
-22
13
-4
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
-19
-1
10
-17
-7
-14
9
0
0
0
0
0
0
4
-2
0
12
24
40
9
10
-7
10
63
1
0
0
0
0
0
0
2
-2
10
-25
27
0
73
-14
-11
-59
-22
0
0
0
0
0
0
0
-10
-1
31
68
-68
-4
-13
53
-28
12
0
0
0
0
0
0
-5
40
32
23
-32
25
12
-17
-17
19
2
0
0
0
0
0
0
2
1
5
-3
-35
-43
61
-18
-3
-17
0
0
0
0
0
0
0
0
2
-9
11
-51
6
2
-2
1
8
9
0
0
0
0
0
0
0
-2
4
-5
-1
-18
-5
-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
9
0
-2
0
1
-4
1
0
0
0
0
0
0
0
0
0
-5
5
8
2
-6
-5
-1
-1
-10
0
0
0
0
0
0
0
0
-2
6
7
-1
1
-3
-4
-3
13
0
0
0
0
0
0
0
0
1
-9
1
1
11
-13
19
54
0
0
0
0
0
0
0
0
1
0
-1
1
-10
7
-6
11
-25
-4
0
0
0
0
0
0
0
0
-1
-9
-1
1
13
-2
17
1
0
0
0
0
0
0
0
5
3
-7
-2
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-1
-1
-1
16
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-21
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
3
0
0
0
0
0
0
-1
-3
0
0
0
-2
12
0
21
22
5
-2
0
0
0
0
0
0
0
-4
-2
2
-2
3
16
-7
12
-24
0
0
0
0
0
0
0
0
3
1
-14
-1
-3
8
0
1
11
0
0
0
0
0
0
0
0
0
-1
5
-4
1
0
17
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
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
-6
0
0
0
-12
62
7
97
75
-30
-60
0
0
0
0
0
0
2
6
0
0
-49
-41
14
39
114
42
-6
0
0
0
0
0
0
0
6
4
-18
-24
-1
-116
141
30
3
104
0
0
0
0
0
-3
-3
1
-1
-10
47
8
12
-24
3
79
37
0
0
0
0
0
0
4
0
-5
-10
-17
-45
-24
9
26
49
-26
0
0
0
0
0
0
0
-5
2
-6
1
-15
32
16
-28
3
-4
0
0
0
0
0
0
0
0
5
-7
-5
-40
63
-160
-25
45
13
0
0
0
0
0
0
0
0
0
1
-3
-4
17
2
-16
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
1
0
0
34
114
91
-50
-7
27
1
0
0
0
0
0
0
-1
-7
-26
-15
14
-29
53
119
20
-73
34
0
0
0
0
0
0
-1
-5
15
1
70
46
52
29
33
24
24
0
0
0
0
0
-2
0
5
-73
-16
56
10
-17
12
20
-123
-77
0
0
0
0
0
0
4
9
-16
-15
52
-93
47
42
-45
-91
77
0
0
0
0
0
-1
0
-3
-11
-45
-53
15
-17
11
50
25
-57
0
0
0
0
0
0
-1
0
-15
-7
-30
93
11
128
36
55
28
0
0
0
0
0
0
0
0
10
18
-25
44
70
-65
5
19
-4
0
0
0
0
0
0
0
0
2
17
20
-23
-58
82
59
7
0
0
0
0
0
0
0
0
0
0
0
1
4
-42
128
-12
60
66
0
0
0
0
0
0
0
0
-1
25
26
7
12
5
43
-93
28
0
0
0
0
0
0
0
0
0
-10
-11
17
-25
13
23
4
97
0
0
0
0
0
0
0
0
0
-20
-8
20
3
-88
14
-76
53
0
0
0
0
0
0
0
0
-1
15
4
26
-27
40
-13
2
-78
0
0
0
0
0
0
0
0
1
6
9
-16
42
-77
124
-122
27
0
0
0
0
0
0
0
0
1
-8
1
-33
-27
38
-58
-49
44
0
0
0
0
0
0
0
0
-1
-10
-4
-29
-4
5
88
35
-56
0
0
0
0
0
0
0
0
7
8
-5
-64
6
-51
30
74
-50
0
0
0
0
0
0
0
0
0
3
18
9
-101
18
2
31
-3
0
0
0
0
0
0
0
0
0
13
0
-5
-24
-18
42
-67
0
0
0
0
0
0
0
0
-2
4
18
26
-9
-4
90
59
-21
-35
0
0
0
0
0
0
0
0
0
9
52
-96
29
-58
53
25
-22
0
0
0
0
0
0
0
-2
6
22
-110
74
65
-45
-63
-61
58
0
0
0
0
0
0
0
0
2
14
32
21
-11
-44
45
-19
-21
0
0
0
0
0
0
0
0
2
-9
82
41
17
-26
-54
-51
-33
0
0
0
0
0
0
0
0
-1
-11
32
31
-68
22
-80
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
18
-14
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
-64
13
71
-35
-63
0
0
0
0
0
0
2
0
11
0
10
129
-46
1
145
62
49
0
0
0
0
0
0
0
-6
37
-98
15
-9
8
-11
187
-22
-44
0
0
0
0
0
0
0
3
4
7
25
39
-2
-2
-84
-79
-7
0
0
0
0
0
0
0
1
8
-4
17
27
-5
18
-37
42
-41
0
0
0
0
0
0
0
-4
3
-20
-22
-17
11
-56
-57
140
-1
0
0
0
0
0
0
0
0
-3
15
37
11
55
-12
-30
23
4
0
0
0
0
0
0
0
3
0
0
17
4
9
3
-10
-16
3
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
1
4
9
-7
-56
-11
4
4
0
0
0
0
0
0
0
0
1
0
22
-16
20
-39
-2
-46
-17
0
0
0
0
0
0
0
1
1
3
13
6
5
20
-32
42
-20
0
0
0
0
0
0
0
0
-1
-2
32
67
18
-25
51
8
26
0
0
0
0
0
0
0
0
0
-5
0
-16
-49
1
37
-44
0
0
0
0
0
0
0
0
0
0
0
8
12
-18
5
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
17
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
5
0
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-11
6
-1
0
0
0
0
0
0
0
0
-1
-3
0
2
1
-2
12
3
-1
0
0
0
0
0
0
0
0
-1
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
11
-65
-14
3
12
0
0
0
0
0
0
0
-1
-1
-17
-27
-5
-8
-49
-2
-102
27
0
0
0
0
0
0
0
0
2
1
20
24
-14
-48
62
-43
13
0
0
0
0
0
0
0
0
0
0
-10
-9
85
-38
-50
41
-74
0
0
0
0
0
0
0
0
0
0
19
-56
-26
37
90
6
-9
0
0
0
0
0
0
0
0
0
0
1
22
5
59
-16
30
-60
0
0
0
0
0
0
0
0
0
0
-1
-6
-19
24
32
0
11
0
0
0
0
0
0
0
0
0
0
0
0
15
40
30
27
37
0
0
0
0
0
0
0
0
0
0
0
0
6
7
26
12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
29
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-21
-10
21
-7
-17
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-21
-41
67
6
0
0
0
0
0
0
0
0
0
0
-1
-2
-4
-12
40
-24
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-7
62
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
17
12
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
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
-3
53
-7
12
-6
0
0
0
0
0
0
0
0
0
-2
0
-14
-47
-82
-12
-33
40
0
0
0
0
0
0
0
0
0
0
1
33
-4
6
65
-24
-3
0
0
0
0
0
0
0
0
0
0
-1
0
14
-33
-32
-25
-23
0
0
0
0
0
0
0
0
0
0
0
-2
-13
10
-31
-30
3
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-10
20
-45
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
1
-2
2
-1
57
17
6
3
0
0
0
0
0
0
0
0
0
2
6
0
22
4
-39
4
-11
0
0
0
0
0
0
0
0
0
0
-4
18
12
41
-3
-68
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-53
-4
-34
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
5
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-19
13
54
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
1
10
10
7
-2
3
61
-29
0
0
0
0
0
0
0
0
0
0
16
17
39
19
80
-62
-25
0
0
0
0
0
0
0
0
0
1
-1
-38
-20
79
9
-7
-10
0
0
0
0
0
0
0
0
0
0
-5
-1
-7
-21
1
16
34
0
0
0
0
0
0
0
0
0
1
4
17
-25
-38
4
6
44
0
0
0
0
0
0
0
0
0
-2
4
-2
-11
33
-15
-11
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
29
22
-1
-8
7
0
0
0
0
0
0
0
0
0
0
0
7
-2
4
-38
4
28
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-20
-16
0
0
0
0
0
0
0
0
0
0
0
-4
2
13
54
-6
-25
0
0
0
0
0
0
0
0
0
0
0
-3
-2
26
-29
3
-19
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
6
-20
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
50
1
18
0
0
0
0
0
0
0
0
0
0
0
-2
0
27
3
-56
67
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-31
-16
-16
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
72
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
60
-12
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
10
5
-13
-7
-15
-8
0
0
0
0
-2
4
0
71
49
14
-14
-8
41
18
-82
80
-7
0
0
0
0
1
-2
-7
7
-1
45
52
3
-10
11
14
-47
37
0
0
0
0
0
-1
1
23
5
20
17
7
43
-26
-52
53
-32
0
0
0
0
0
1
0
7
0
9
-5
76
42
18
24
-1
-31
0
0
0
0
0
0
2
0
-3
2
3
-2
19
-13
-70
31
1
0
0
0
0
0
0
0
-6
14
2
0
-2
-9
10
5
26
-6
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-2
-11
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
-2
-2
-1
7
0
-49
18
-81
46
-8
68
-8
0
0
0
0
0
6
0
3
-6
57
117
-62
35
-58
73
96
32
0
0
0
0
0
0
0
-28
11
32
-16
-15
115
29
-35
26
18
0
0
0
0
0
0
0
4
2
-86
27
80
76
-61
-40
-8
-16
0
0
0
0
0
0
-1
1
-15
-25
2
53
-39
-39
-37
45
11
0
0
0
0
0
0
0
-9
38
-23
4
-15
-7
44
-38
-47
-13
0
0
0
0
0
0
2
3
-2
7
48
7
-73
-104
-39
-15
8
0
0
0
0
0
0
0
0
-11
-16
27
22
-69
42
8
16
6
0
0
0
0
0
0
0
0
-2
34
-38
-43
15
-7
0
0
0
0
0
0
0
0
0
-2
-1
-16
0
-47
3
-6
1
0
1
0
0
0
0
0
0
2
2
-4
1
0
-2
18
28
5
2
-3
0
0
0
0
0
0
0
0
-14
1
-14
-5
-32
1
-21
13
0
0
0
0
0
0
0
-1
2
-2
21
-1
4
8
0
-10
-5
0
0
0
0
0
0
0
0
0
1
3
11
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
15
0
-11
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
3
-8
-1
-1
0
0
-1
1
-1
0
0
0
0
0
0
1
6
3
21
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
-3
14
-6
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
3
8
36
-6
1
0
0
0
0
0
0
0
0
-1
2
9
8
-44
-21
-56
36
42
-2
0
0
0
0
0
0
0
1
6
-3
-13
13
13
-20
3
27
-1
0
0
0
0
0
0
0
-1
-3
7
0
-24
38
-1
-44
-28
0
0
0
0
0
0
0
0
0
0
0
-10
-28
-3
14
-16
-6
0
0
0
0
0
0
0
0
0
-3
7
-14
8
-12
10
33
-4
0
0
0
0
0
0
0
0
1
-5
-6
-15
0
-14
5
3
0
0
0
0
0
0
0
0
0
0
-9
-18
-9
-4
-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
-5
0
-12
-21
6
-6
4
21
-27
22
0
0
0
0
0
1
-2
-19
-12
3
-27
36
-51
-55
-8
103
-14
0
0
0
0
1
0
-2
-13
-10
63
21
-1
-7
15
-19
-3
53
0
0
0
0
0
-1
0
1
11
50
57
8
72
-33
-91
-6
-68
0
0
0
0
0
-2
1
0
15
-8
-23
-19
-26
38
2
-40
29
0
0
0
0
0
0
0
0
-1
-3
-45
-48
10
20
0
-2
60
0
0
0
0
0
0
0
0
-3
-6
5
2
5
-15
7
-17
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
-1
-2
7
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
5
0
8
0
2
1
-15
-7
24
35
0
0
0
0
0
0
0
1
-1
-6
16
-4
47
-2
5
-30
-26
0
0
0
0
0
0
0
0
0
2
-9
-19
-54
-33
44
3
26
0
0
0
0
0
0
0
0
0
1
-4
13
31
-3
33
6
-13
0
0
0
0
0
0
0
0
0
-7
-5
10
41
9
0
18
33
0
0
0
0
0
0
0
0
0
0
4
-2
10
21
-18
-27
39
0
0
0
0
0
0
0
0
0
1
3
-8
15
0
3
-23
-2
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
-3
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
13
10
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
11
8
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
35
-25
6
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
-20
-10
23
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
-22
11
-6
0
0
0
0
0
0
0
0
0
0
1
0
1
-3
17
-26
16
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
22
38
-11
17
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
62
-25
-25
-32
-16
0
0
0
-1
0
0
0
0
0
0
0
-39
-11
82
-119
-20
16
0
2
3
0
0
0
0
0
0
0
0
-25
-115
45
-58
-23
2
0
0
0
0
0
0
0
0
0
0
0
26
33
-114
-99
-11
-10
0
0
0
0
0
0
0
0
0
0
0
8
-17
50
165
72
-3
0
0
0
0
0
0
0
0
0
0
0
-222
-29
-116
49
-17
8
0
0
0
0
0
0
0
0
0
0
0
26
48
-6
30
-46
-7
0
0
0
0
0
0
0
0
0
0
0
-113
-132
-9
-104
-20
0
0
0
0
0
0
0
0
0
0
0
0
-42
-25
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
-26
14
-12
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
11
-96
-14
11
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
9
-26
7
15
0
0
0
0
0
0
0
0
0
0
0
0
1
45
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-69
-6
-25
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
0
0
0
8
-10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-92
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
131
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
-34
71
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-41
-15
60
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
12
-75
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
27
76
-230
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-58
-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
70
20
8
3
1
0
0
0
0
0
0
0
0
0
0
0
6
26
-94
-51
42
23
-2
0
0
0
0
0
0
0
0
0
0
-2
10
3
-9
-45
0
0
0
0
0
0
0
0
0
0
0
0
7
-66
9
72
61
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-108
1
87
0
0
0
0
0
0
0
0
0
0
0
0
2
3
2
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
7
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-10
-12
-22
5
29
-9
-1
0
0
0
0
0
0
0
0
0
0
-29
82
-55
91
12
-28
-4
0
0
0
0
0
0
0
0
0
-2
-36
-4
53
-42
10
78
8
20
0
0
0
0
0
0
0
0
-25
-39
32
-25
22
32
0
-37
0
0
0
0
0
0
0
0
0
14
-52
-35
-41
-24
-1
-12
0
0
0
0
0
0
0
0
0
0
-21
-68
21
28
9
0
0
0
0
0
0
0
0
0
0
0
0
-31
9
-79
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-8
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
11
18
-29
4
0
2
7
-4
0
0
0
0
0
0
0
0
0
-14
-8
59
-2
1
51
10
14
1
0
0
0
0
0
0
0
0
-2
-3
74
-21
0
-9
28
-4
-31
1
0
0
0
0
0
0
0
35
-22
-19
138
1
8
-1
4
-28
10
0
0
0
0
0
0
0
-34
56
25
-93
2
-1
-42
41
-6
0
0
0
0
0
0
0
0
21
-65
87
-158
-29
7
29
10
0
0
0
0
0
0
0
0
0
-14
28
1
71
-86
-12
3
10
0
0
0
0
0
0
0
0
0
-16
68
-10
33
0
3
-1
0
0
0
0
0
0
0
0
0
0
-26
-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
2
5
14
56
-20
72
9
-60
0
-62
-28
1
0
0
0
0
0
-1
-39
-18
-25
19
111
13
-9
29
33
-29
0
0
0
0
0
0
-14
22
-26
-10
14
115
-1
17
77
30
-48
51
0
0
0
0
0
-29
-37
-64
44
23
88
130
93
3
24
12
-5
0
0
0
0
0
4
23
10
-30
70
141
118
108
74
-27
0
3
0
0
0
0
0
-20
-13
-44
20
31
-26
151
149
159
-9
2
0
0
0
0
0
0
2
7
25
1
62
105
-35
25
-19
0
0
0
0
0
0
0
0
-1
0
1
-4
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
32
51
-60
-29
34
-16
-11
0
-63
-3
0
0
0
0
0
0
0
47
-30
78
-8
-19
-7
-14
0
46
-13
0
-7
0
0
0
0
0
34
-26
59
4
2
-5
4
24
203
40
1
-4
2
0
0
0
0
-10
6
11
-3
-19
-18
9
-108
27
-5
6
-1
2
0
0
0
0
89
-55
16
-14
10
19
7
5
154
74
14
4
0
0
0
0
0
25
67
19
-23
21
52
45
34
153
16
0
0
3
0
0
0
0
-25
27
-212
1
22
30
40
91
-58
3
3
-3
1
0
0
0
0
-8
67
16
-59
31
53
56
34
-19
-2
3
-2
0
0
0
0
0
0
26
-21
-37
8
77
1
48
0
0
0
0
0
0
0
0
0
0
20
-6
-65
-29
19
-1
0
-15
7
2
0
0
0
0
0
0
6
31
0
57
47
-36
79
0
-24
10
0
0
0
0
0
0
0
0
-31
3
28
43
17
15
-29
56
2
4
0
0
0
0
0
0
8
-1
-14
-36
63
11
102
59
63
0
0
0
0
0
0
0
0
0
17
99
33
65
-15
-32
154
23
-1
0
0
0
0
0
0
0
0
-2
130
53
43
115
-149
35
16
0
0
0
0
0
0
0
0
0
-6
-102
68
25
229
35
32
-1
0
0
0
0
0
0
0
0
0
0
-8
-9
38
70
60
26
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-13
81
0
19
0
0
0
0
0
0
0
0
0
14
78
70
186
39
54
0
69
3
-4
0
0
0
0
0
0
0
44
-103
-13
23
-24
7
31
108
9
-10
1
0
0
0
0
0
0
-127
66
-8
43
22
16
4
26
43
3
0
0
0
0
0
0
0
34
154
94
67
46
81
25
139
61
0
0
0
0
0
0
0
0
39
76
29
-146
38
106
137
73
0
0
0
0
0
0
0
0
0
-6
72
138
-73
164
64
63
119
0
0
0
0
0
0
0
0
0
10
-53
-19
61
104
176
15
-67
0
0
0
0
0
0
0
0
0
0
11
38
-25
-6
44
35
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
47
-88
47
116
88
43
63
24
0
9
4
1
0
0
0
0
0
-27
-2
-41
-138
35
28
13
-30
25
167
109
1
0
0
0
0
0
-3
61
23
130
-44
27
-5
-24
78
97
-55
-2
0
0
0
0
0
-55
21
-43
124
-11
-7
18
41
34
67
31
0
0
0
0
0
0
3
14
-44
-21
100
29
45
71
108
26
0
-1
0
0
0
0
0
1
-49
56
82
-2
43
114
60
-59
0
1
0
0
0
0
0
0
-1
-64
-61
122
14
-117
24
90
-1
0
0
0
0
0
0
0
0
0
-31
2
-13
1
20
-6
1
0
0
0
0
0
0
0
0
0
0
7
0
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-54
-12
6
23
105
155
0
7
0
0
0
0
0
0
0
0
50
43
0
191
65
-5
-39
-39
142
-27
0
0
0
0
0
0
0
-13
62
-32
113
-6
27
55
4
3
0
0
0
0
0
0
0
0
25
19
59
17
9
58
-213
35
-28
0
0
0
0
0
0
0
0
6
10
-1
77
-5
3
18
-72
0
0
0
0
0
0
0
0
0
6
1
-29
-9
-52
45
81
2
0
0
0
0
0
0
0
0
0
-5
39
10
-21
1
162
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
8
15
-43
3
149
0
26
4
0
0
0
0
0
0
3
9
6
18
189
-29
132
-42
-38
84
-9
0
0
0
0
0
0
3
-1
7
93
185
28
22
43
32
-100
-81
3
0
0
0
0
0
-7
8
6
324
125
69
80
-48
63
-65
3
0
0
0
0
0
0
2
-29
-6
143
-3
107
72
133
-42
-71
-60
1
0
0
0
0
0
0
-27
43
97
32
-5
7
55
-37
26
10
0
0
0
0
0
0
0
7
32
0
172
-1
-6
185
33
-126
16
0
0
0
0
0
0
0
-31
0
26
-59
-25
-29
1
36
-7
0
0
0
0
0
0
0
0
0
0
0
0
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
0
0
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
-16
100
63
-98
33
0
0
0
0
0
0
0
0
0
0
0
112
99
121
146
101
-8
0
0
1
0
0
0
0
0
0
0
0
14
196
58
-26
-35
-16
0
0
0
0
0
0
0
0
0
0
0
21
149
-5
-42
70
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
7
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
2
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
-39
34
11
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-66
20
-7
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
22
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
106
76
-39
-4
0
0
0
0
0
0
0
0
0
0
0
2
37
73
20
20
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
99
23
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
38
57
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
17
0
0
-10
-6
0
0
0
0
0
0
0
0
0
0
0
22
13
38
45
-11
0
0
0
0
0
0
0
0
0
0
0
7
53
107
122
-34
64
0
0
0
0
0
0
0
0
0
0
0
3
6
34
67
-66
-6
0
0
0
0
0
0
0
0
0
0
0
0
23
-80
62
-31
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
3
8
48
37
5
0
0
0
0
0
0
0
0
0
0
0
11
-1
-46
0
-6
57
0
0
0
-5
0
0
0
0
0
0
0
0
2
31
86
90
-8
38
-15
-77
-1
0
0
0
0
0
0
0
-4
12
55
-75
32
61
68
76
16
1
0
0
0
0
0
0
0
-1
-4
5
34
5
120
-55
-24
-2
0
0
0
0
0
0
0
0
0
0
-6
-41
56
-6
3
-21
-20
0
0
0
0
0
0
0
0
0
0
0
-50
8
-11
-30
-6
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
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-33
-3
5
-2
-1
0
0
0
5
-4
0
0
0
0
0
0
10
-63
-12
-27
48
73
-5
-28
9
0
-2
0
0
0
0
0
0
52
2
4
24
94
23
80
-11
-84
-20
0
0
0
0
0
0
0
-1
8
-54
116
-34
33
-22
-17
35
-1
0
0
0
0
0
0
0
37
-39
63
-32
46
18
-99
-95
3
0
0
0
0
0
0
0
3
12
97
-1
-10
-76
93
1
-33
2
0
0
0
0
0
0
0
0
10
2
2
10
-12
7
58
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
33
6
20
66
-63
0
0
0
0
0
0
0
0
0
0
0
0
6
20
12
91
16
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
35
-22
-18
-5
0
0
0
0
0
0
0
0
0
0
0
1
-16
-25
57
-19
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-19
8
-53
40
-4
0
0
0
0
0
0
0
0
0
0
0
-16
-23
-69
27
-61
-12
0
-1
0
0
0
0
0
0
0
0
0
23
14
-10
12
-1
33
14
-1
0
0
0
0
0
0
0
0
0
0
4
-67
-78
-42
4
0
8
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
-48
-19
-30
-84
61
97
59
0
0
0
5
0
0
0
0
0
0
-44
-16
-29
-11
-22
25
107
0
0
-41
-3
1
0
0
0
0
0
19
-27
-6
-24
43
110
-54
16
-16
-45
-5
0
0
0
0
0
0
-17
-9
-47
-30
-14
141
53
89
65
-41
-9
0
0
0
0
0
0
-14
11
-27
-26
53
-56
188
69
45
10
1
0
0
0
0
0
0
-76
-86
-78
35
72
-18
3
-51
77
-1
0
0
0
0
0
0
0
-145
-56
-42
-91
-102
0
-41
-33
4
2
0
0
0
0
0
0
0
1
-37
-43
-7
-29
-1
1
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
-20
47
-1
8
6
25
-33
0
0
-2
0
0
0
0
0
0
0
-100
-15
8
10
-9
22
31
-12
-82
-9
-2
0
1
0
0
0
0
-88
-78
2
8
-6
-5
76
-21
-159
7
-2
0
0
0
0
0
0
-29
-78
-2
-3
0
27
7
6
-103
-21
10
2
0
0
0
0
0
22
-64
3
-36
-20
-8
43
23
-23
7
5
-1
0
0
0
0
0
-91
-87
-36
-28
-18
-4
21
-28
161
21
-1
1
0
0
0
0
0
-149
67
-48
-39
-24
-15
-57
-1
-48
-11
1
0
2
0
0
0
0
-4
-65
-83
-38
-35
-61
124
-56
-20
-5
-1
-7
0
0
0
0
0
0
0
-36
-103
35
-160
9
56
-1
0
0
0
0
0
0
0
0
-8
75
-150
21
-156
19
-64
0
0
0
0
0
0
0
0
0
0
121
6
-1
-26
-107
58
-38
2
0
0
0
0
0
0
0
0
0
12
1
-30
-10
93
-18
100
-1
0
0
0
0
0
0
0
0
0
34
-9
91
45
6
-30
-26
-12
1
0
0
0
0
0
0
0
0
7
40
62
55
28
-32
65
2
-1
0
0
0
0
0
0
0
0
-6
10
43
-16
-81
-63
29
-4
0
0
0
0
0
0
0
0
0
-7
-30
57
-25
28
-56
6
-13
0
0
0
0
0
0
0
0
0
-59
-10
-18
-19
-17
-37
-28
0
1
0
0
0
0
0
0
0
0
-35
-35
58
-36
62
39
3
2
0
0
0
0
0
0
0
0
0
101
-10
19
8
39
67
-146
0
0
0
0
0
0
0
0
0
0
63
-75
9
-10
-18
4
0
-45
2
0
0
0
0
0
0
0
0
-2
-35
14
-16
26
-103
-139
-49
0
0
0
0
0
0
0
0
0
36
-14
2
-9
24
50
122
-115
26
0
0
0
0
0
0
0
0
97
-1
-3
2
40
-32
153
56
-3
0
0
0
0
0
0
0
0
21
27
-115
24
-17
-116
150
102
0
0
0
0
0
0
0
0
0
-63
-43
-45
-27
44
29
15
-12
0
-1
0
0
0
0
0
0
0
0
51
-1
19
-109
40
1
0
0
0
0
0
0
0
0
0
0
0
0
65
22
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-19
7
-2
9
31
-25
0
0
12
-4
0
0
0
0
0
0
58
12
-8
5
27
68
122
0
-37
0
-10
0
0
0
0
0
0
-24
7
26
10
26
18
153
85
32
20
-9
-6
0
0
0
0
0
26
12
14
15
-2
62
109
115
-52
-28
2
0
0
0
0
0
0
6
-16
12
-11
24
11
61
51
-17
7
1
0
0
0
0
0
0
-25
20
-55
12
4
-61
18
-60
5
19
-5
0
0
0
0
0
0
-170
-67
-23
-37
-14
-101
-24
-19
-26
0
1
0
0
0
0
0
0
0
-82
66
-32
31
-6
1
9
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
-1
-65
-89
-43
36
-12
-65
-1
0
0
0
0
0
0
0
0
0
34
-30
-99
-42
-28
40
-43
0
-12
0
-6
0
0
0
0
0
0
-1
-93
-172
102
159
86
78
76
-32
105
0
0
0
0
0
0
0
5
92
48
-25
82
-3
115
-35
60
10
9
0
0
0
0
0
0
-22
164
-71
92
-19
148
67
9
68
-6
0
0
0
0
0
0
0
-1
81
-10
61
73
128
45
31
-3
-6
0
0
0
0
0
0
0
10
161
-58
38
162
84
17
0
-6
0
0
0
0
0
0
0
0
-1
101
191
61
43
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
47
-3
-20
73
95
3
0
0
0
0
0
0
0
0
0
0
79
4
4
-42
-6
38
-69
-3
0
-3
2
0
0
0
0
0
0
-5
26
-14
-64
-11
-12
148
4
1
-50
0
0
0
0
0
0
0
109
62
33
-17
14
-11
30
3
38
-4
0
0
0
0
0
0
0
34
41
35
24
53
47
22
-1
9
57
-1
0
0
0
0
0
0
-57
46
-2
-3
-39
55
77
25
-54
-45
0
0
0
0
0
0
0
34
37
-11
-30
-23
31
-26
-6
-21
0
0
0
0
0
0
0
0
32
11
-7
-37
-15
55
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
-69
2
-2
0
0
0
0
0
0
0
0
0
0
0
-86
-86
-1
12
-17
3
-2
0
-3
-2
0
0
0
0
0
0
0
62
35
-59
-68
17
2
0
0
0
6
0
0
0
0
0
0
0
13
12
42
72
122
0
-4
0
0
0
0
0
0
0
0
0
0
5
98
101
69
-11
1
0
0
0
0
0
0
0
0
0
0
0
-3
-65
-94
-76
-87
-12
14
0
0
0
0
0
0
0
0
0
0
0
4
22
-78
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-70
-20
0
0
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
-7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-28
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-9
17
0
0
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
-20
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
16
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
22
-18
68
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
50
188
-35
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
48
-73
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-31
-28
75
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
36
-50
87
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
139
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
36
-96
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
12
39
3
15
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-19
38
-36
-6
-1
0
0
0
0
0
0
0
0
0
0
-9
-4
-25
121
10
3
0
0
0
0
0
0
0
0
0
0
0
0
-24
34
-113
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-32
-24
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
7
0
-6
-38
24
23
0
0
0
0
0
0
0
0
0
-33
9
22
63
-9
81
107
5
-4
0
0
0
0
0
0
0
0
13
1
-2
54
39
-10
-25
11
0
0
0
0
0
0
0
0
0
0
4
-26
-4
46
45
45
20
0
0
0
0
0
0
0
0
0
-1
5
-26
45
-27
-18
34
5
1
0
0
0
0
0
0
0
0
0
14
1
-12
-58
9
-54
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
16
2
0
-11
-10
-6
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
4
-10
-14
-45
-18
-4
-18
2
0
0
0
0
0
0
0
0
0
-13
-55
4
11
10
-51
-41
-2
5
0
0
0
0
0
0
0
0
28
-5
0
-12
24
-38
-31
2
6
0
0
0
0
0
0
0
0
-24
47
34
-11
29
-22
13
-14
10
0
0
0
0
0
0
0
0
74
-39
-25
3
4
2
-24
-20
0
0
0
0
0
0
0
0
0
3
-12
-30
52
11
4
-38
-172
-39
10
0
0
0
0
0
0
0
-1
-2
-3
14
11
-13
12
1
5
3
0
0
0
0
0
0
0
0
0
0
4
-1
-5
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
119
50
-53
-49
0
60
20
-2
0
0
0
0
0
25
27
-1
90
-6
153
43
-136
-119
-14
-33
-2
0
0
0
0
0
-1
52
90
70
68
70
0
42
41
69
7
0
1
0
0
0
0
0
28
-10
149
89
18
56
66
70
-144
42
0
0
0
0
0
0
-1
-16
21
97
-21
75
81
19
33
121
0
0
0
0
0
0
0
0
2
8
29
54
42
18
54
177
-25
15
0
0
0
0
0
0
0
0
6
-1
-147
-3
-50
120
199
-18
0
0
0
0
0
0
0
0
0
0
0
0
25
2
35
-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
8
-49
-40
-27
-3
-30
6
0
24
-3
-1
1
0
0
0
0
0
-149
32
77
-40
-2
-11
-4
68
-81
7
1
0
0
0
0
0
0
142
32
42
-18
-7
15
5
-17
128
-6
15
-1
0
0
0
0
0
3
62
29
62
5
-11
-13
-83
-37
-35
2
2
0
0
0
0
0
42
-65
-101
42
-2
17
-19
-8
-58
-14
43
-2
-2
0
0
0
0
-43
0
-32
-34
14
-20
-8
75
85
0
-4
-1
0
0
0
0
0
2
-43
-1
-38
-16
-11
-28
18
87
0
2
-1
0
0
0
0
0
14
-22
-143
-67
-13
-35
-11
-1
145
19
0
0
0
0
0
0
0
0
0
4
-51
-38
-13
4
-28
76
0
0
0
0
0
0
0
0
0
21
-9
15
-53
-82
33
0
29
13
1
0
3
0
0
0
0
0
6
122
18
-20
-5
3
-65
-29
-75
9
-5
0
0
0
0
0
0
-14
-8
19
-42
-97
26
-47
12
11
56
2
0
0
0
0
0
1
-57
142
111
69
6
159
97
93
-29
6
0
0
0
0
0
0
0
49
15
117
79
39
66
5
51
-7
3
0
0
0
0
0
0
0
0
78
114
-22
83
59
41
9
61
-18
0
0
0
0
0
0
0
2
3
23
28
101
40
-44
-33
32
-11
0
0
0
0
0
0
0
0
-20
-47
101
-42
74
33
-9
60
-23
0
0
0
0
0
0
0
0
0
-102
24
95
125
-17
62
50
-11
-3
1
0
-1
0
0
0
7
-44
89
-36
-53
7
0
27
-43
10
0
1
0
0
0
0
0
22
5
-222
28
26
14
-97
4
-54
3
-2
0
0
0
0
0
0
33
43
-16
23
25
42
9
-31
7
-8
0
0
0
0
0
0
0
26
-43
18
77
14
47
37
38
18
1
0
0
0
0
0
0
0
20
86
-37
60
-16
31
33
-83
-17
0
0
0
0
0
0
0
0
14
42
-72
164
29
-7
-26
49
59
-2
0
0
0
0
0
0
0
-1
3
25
74
10
99
76
6
-68
3
0
0
0
0
0
0
0
0
15
28
101
13
124
64
0
2
-2
0
0
0
0
0
0
0
0
0
5
0
93
-36
11
0
0
0
0
0
0
0
0
1
-38
-21
-144
-34
6
-4
-29
0
-8
45
0
0
0
0
0
0
-10
-49
-102
-67
47
23
-34
10
74
27
-63
-5
0
0
0
0
0
-19
79
3
2
44
27
-27
-28
25
26
1
-5
0
0
0
0
0
4
30
-22
17
105
40
54
11
-1
35
-5
0
0
0
0
0
0
-5
-14
-11
42
139
75
44
133
-40
-30
0
0
0
0
0
0
0
-1
-9
-4
-68
41
40
-6
35
85
-78
5
0
0
0
0
0
0
0
0
1
-57
79
44
-34
29
12
-8
0
0
0
0
0
0
0
0
0
0
-96
-3
136
9
0
-21
-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
6
25
33
388
18
61
14
0
-61
0
0
0
0
0
0
0
10
4
-8
66
9
100
-109
-49
70
17
1
0
0
0
0
0
0
0
1
5
58
8
70
-47
49
-1
3
0
0
0
0
0
0
0
0
0
-12
24
0
-50
59
27
73
-1
0
0
0
0
0
0
0
0
-6
1
-114
-62
-37
90
-7
-1
4
0
0
0
0
0
0
0
0
-22
0
115
-26
31
-31
50
-59
-16
0
0
0
0
0
0
0
0
0
0
-7
-120
-58
0
-75
-114
-3
0
0
0
0
0
0
0
0
0
0
-52
-107
-170
30
108
19
-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
1
-5
6
29
9
-55
27
0
-48
-8
0
0
0
0
0
0
-12
-2
-10
1
126
156
180
170
152
35
5
0
0
0
0
0
0
0
-3
6
47
267
93
55
36
-31
-19
3
0
0
0
0
0
0
-1
78
5
207
179
95
110
-19
53
-71
-14
0
0
0
0
0
0
-4
-27
19
173
48
85
8
86
-39
-12
3
0
0
0
0
0
0
0
1
-3
-19
-17
83
-42
-17
-10
-71
21
0
0
0
0
0
0
7
-7
0
1
44
-26
-96
-17
-57
-67
-24
6
0
0
0
0
0
0
0
0
-43
16
-53
-224
-15
-136
102
11
0
0
0
0
0
0
0
0
0
0
0
0
-44
16
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
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
-9
-6
34
-1
12
0
3
0
0
0
0
0
0
0
0
0
0
20
152
-43
115
-19
-9
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
69
49
0
-2
0
0
0
0
0
0
0
0
0
0
17
50
7
-53
112
-2
-2
0
0
0
0
0
0
0
0
0
0
-1
71
22
100
-41
21
4
0
0
0
0
0
0
0
0
0
0
-2
44
-15
-74
58
76
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-13
-36
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-42
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
36
38
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
34
47
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
27
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
-39
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
54
1
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-63
-11
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
24
-29
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
35
-26
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
18
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
65
58
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
6
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
78
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
132
-31
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
137
-19
87
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-108
72
-5
0
0
0
0
0
0
0
0
0
0
0
0
12
30
86
-47
33
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-71
8
-19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
1
-66
32
49
5
2
0
0
0
0
0
0
0
0
0
0
0
-12
79
-69
-44
-11
-34
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
42
29
-22
17
12
7
0
0
0
0
0
0
0
0
-1
-22
-20
-36
-71
-6
-31
39
-35
0
0
0
0
0
0
0
0
0
28
1
-52
-11
-71
-27
122
-4
-2
2
0
0
0
0
0
0
-2
0
8
-13
-26
-31
12
57
-30
4
0
0
0
0
0
0
0
0
0
-9
11
15
-54
-68
-74
-55
-6
0
0
0
0
0
0
0
0
0
0
0
64
-11
-54
28
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
-41
-8
1
0
0
0
0
0
0
0
0
-4
0
-6
1
-9
0
0
0
0
-3
0
0
0
0
0
0
10
24
-11
28
-14
54
0
0
0
0
0
0
0
0
0
0
0
-52
42
-3
-5
-57
19
31
-1
0
0
0
0
0
0
0
0
0
33
17
-53
95
-3
16
24
39
-2
2
0
0
0
0
0
0
0
-13
-22
-45
-126
-27
1
162
3
57
-1
0
0
0
0
0
0
0
50
14
-4
71
32
25
33
57
33
-19
0
0
0
0
0
0
0
0
58
-1
-3
44
28
-68
-99
-68
17
0
0
0
0
0
0
0
0
0
0
0
-13
-23
-77
-43
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
10
35
-2
0
0
0
0
0
0
15
14
16
92
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
7
38
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
12
30
-16
46
-4
0
0
0
0
0
0
0
0
0
0
0
-17
30
-116
12
-38
0
0
0
0
0
0
0
0
0
0
0
0
32
13
78
-34
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-5
27
38
28
-31
12
1
0
0
0
0
0
0
0
0
0
0
49
-63
2
-95
-11
6
-3
0
0
0
0
0
0
0
0
0
0
0
-59
12
-40
23
-31
-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
31
-55
-21
-64
22
37
154
0
0
0
-3
0
0
0
0
0
0
-40
-37
-11
-9
28
-2
-77
0
0
6
4
3
0
0
0
0
0
-23
-13
-25
21
21
92
79
106
-1
-5
0
0
0
0
0
0
0
-30
2
5
25
52
95
34
87
-43
2
19
0
0
0
0
0
0
-8
-10
-2
30
46
-25
182
-10
11
2
-3
0
0
0
0
0
0
-75
-55
18
13
9
-6
31
-12
-4
27
0
0
0
0
0
0
0
11
-10
38
44
75
-18
-8
-16
-14
2
0
0
0
0
0
0
0
0
0
0
31
23
-122
-50
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
0
33
-45
24
-20
4
11
-46
0
0
0
2
0
0
0
0
0
0
-26
121
20
0
4
23
-35
93
10
2
7
0
0
0
0
0
0
-33
-80
4
20
1
3
-25
80
24
-3
0
0
0
0
0
0
0
-73
-17
19
9
19
18
10
-40
-38
4
-4
0
0
0
0
0
0
-18
-35
8
6
18
-3
39
57
-99
-22
0
-1
0
0
0
0
0
44
-28
1
-1
-51
6
0
42
184
-35
0
-1
-6
0
0
0
0
78
69
1
1
-19
7
-9
60
59
-45
0
2
0
0
0
0
0
0
24
-36
-31
4
11
46
-65
0
-9
0
0
0
0
0
0
0
0
0
21
-51
-6
136
104
26
0
0
1
0
0
0
0
0
0
-19
101
-83
-57
-42
13
161
0
0
0
0
0
0
0
0
0
0
10
7
68
-51
8
10
-80
2
19
0
0
0
0
0
0
0
0
15
-45
-15
17
80
85
49
47
16
0
0
0
0
0
0
0
0
-3
31
-152
-79
-49
40
68
-12
-4
0
0
0
0
0
0
0
0
37
82
-36
-30
-51
41
-81
0
0
0
0
0
0
0
0
0
0
0
-27
23
32
-151
4
-63
55
3
0
0
0
0
0
0
0
0
0
-2
25
-126
-17
45
-40
-3
-14
0
0
0
0
0
0
0
0
0
0
25
-100
33
5
-15
-34
3
0
0
0
0
0
0
0
0
0
18
-81
-12
-95
18
3
0
0
0
0
0
0
0
0
0
0
6
22
-15
-28
-52
42
-8
-74
0
-4
0
0
0
0
0
0
0
16
-10
-14
-2
16
118
0
61
-11
0
0
0
0
0
0
0
0
-49
-147
11
15
-19
29
119
-38
2
0
0
0
0
0
0
0
0
-109
-11
9
6
78
65
76
36
-10
0
0
0
0
0
0
0
0
-19
20
22
21
16
136
-15
25
1
0
0
0
0
0
0
0
0
-26
92
6
10
-16
68
-29
-112
-2
0
0
0
0
0
0
0
0
52
-4
0
-5
8
-47
32
-31
0
-10
0
0
0
0
0
0
0
-36
10
37
-148
33
31
-26
29
0
0
0
0
0
0
0
0
0
0
0
-115
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
65
30
-6
-14
6
69
66
0
0
-14
3
0
0
0
0
0
0
10
9
22
3
4
49
19
0
7
0
20
0
0
0
0
0
0
-30
-10
34
34
-2
19
84
121
44
-9
0
0
0
0
0
0
0
-1
16
21
15
23
23
197
194
0
0
1
0
0
0
0
0
0
1
7
3
28
13
16
132
-38
16
50
0
0
0
0
0
0
0
7
-5
6
2
6
45
-17
106
-155
9
0
0
0
0
0
0
0
-55
-75
21
83
24
-66
40
-43
-16
22
3
0
0
0
0
0
0
0
-8
4
14
95
113
-10
-70
-1
-15
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
28
59
27
97
-8
-63
-3
0
-11
0
0
0
0
0
0
0
58
-67
-108
-27
-43
-68
-44
0
2
0
0
0
0
0
0
0
0
17
-47
-115
44
-28
-46
-68
5
-19
1
0
0
0
0
0
0
0
-9
-31
-53
-56
-51
-111
8
62
7
0
0
0
0
0
0
0
0
-23
-37
16
42
1
-156
-105
-23
-17
42
0
0
0
0
0
0
0
0
-65
50
-52
-149
-30
-26
-10
-8
27
4
0
0
0
0
0
0
0
0
-37
85
26
-76
-70
-4
-19
-54
0
0
0
0
0
0
0
0
0
0
-8
-30
-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
67
68
45
-68
25
77
-164
0
0
0
0
0
0
0
0
0
0
-4
13
6
-5
-35
128
19
11
0
0
0
0
0
0
0
0
0
38
30
11
20
50
-85
72
13
2
-8
0
0
0
0
0
0
0
29
67
33
58
46
38
-16
-1
75
-1
6
0
0
0
0
0
0
60
14
9
18
3
-16
39
-42
-28
-22
2
0
0
0
0
0
0
91
-30
-3
-1
-20
43
-80
-19
34
-34
-1
0
0
0
0
0
0
29
-1
-5
-58
-1
-37
32
-29
172
97
0
0
0
0
0
0
0
-1
16
39
-107
-128
19
21
41
37
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
10
-2
-4
-2
0
0
0
0
0
0
0
0
0
2
71
23
-27
35
-4
0
0
2
-2
-1
0
0
0
0
0
0
11
8
14
-86
38
2
0
0
0
1
0
0
0
0
0
0
0
3
-12
32
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
-20
-17
-53
117
22
0
0
0
0
0
0
0
0
0
0
0
0
18
22
-41
17
-9
1
0
0
0
0
0
0
0
0
0
0
0
53
-54
-68
-125
-50
0
0
0
0
0
0
0
0
0
0
0
0
17
107
69
-25
1
0
0
0
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
0
10
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-43
35
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
6
2
0
0
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
2
3
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-62
0
0
0
0
0
0
0
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
-24
5
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
-110
25
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
40
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
-64
68
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
118
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-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
2
-1
-3
-28
4
9
0
0
0
-7
0
0
0
0
0
0
0
-5
-11
-20
14
-1
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-16
77
17
0
0
0
0
0
0
0
0
0
0
0
0
0
11
40
14
-1
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
10
12
0
-1
0
0
0
0
0
0
0
0
0
0
-10
6
-1
0
8
6
-14
0
0
0
0
0
0
0
0
0
-4
2
3
0
1
-2
15
5
0
0
0
0
0
0
0
0
0
0
-5
1
-7
1
-1
11
-15
0
0
0
0
0
0
0
0
0
0
6
5
-2
-3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-5
4
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
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
-2
-20
-23
1
-1
5
3
0
-1
0
0
0
0
0
0
0
-21
-50
34
8
2
-8
11
0
-34
0
0
0
0
0
0
0
0
-1
28
25
-6
0
0
10
7
-15
-15
0
0
0
0
0
0
0
8
-55
34
0
1
-6
-12
2
-25
-4
0
0
0
0
0
0
0
-49
21
89
15
-6
3
0
10
-49
1
0
0
0
0
0
0
0
36
-30
12
124
0
0
9
0
-1
1
0
0
0
0
0
0
0
-75
-8
-24
-19
-14
-47
7
-4
0
0
0
0
0
0
0
0
0
-2
17
-3
-78
28
0
0
0
0
0
0
0
0
0
0
0
0
-45
-20
-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
3
-5
41
39
-56
-27
5
0
37
16
4
-1
2
0
0
0
8
-14
35
0
42
-34
16
18
-10
-39
38
-4
3
1
0
0
0
0
14
-74
35
-23
-8
-101
35
-63
-47
98
-7
9
2
0
0
0
0
-6
38
32
-28
66
66
-41
-6
-19
62
23
6
-6
0
0
0
0
-1
33
-31
-13
136
19
95
79
103
-7
-2
0
0
0
0
0
0
25
-3
-21
145
67
99
121
-23
9
3
1
0
0
0
0
0
0
-32
12
8
33
84
-4
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
166
48
-16
-15
-27
-2
0
35
-60
27
0
2
0
0
0
0
62
-35
49
78
-17
1
18
141
-9
-9
-8
-15
-8
0
0
0
0
-37
-76
107
0
-35
37
46
11
-28
-26
3
12
1
0
0
0
0
-2
94
35
-40
78
43
-43
19
54
-60
5
42
2
0
0
0
0
-75
12
-46
53
-72
-3
9
-43
103
7
53
28
1
0
0
0
0
-5
-76
122
59
11
15
58
-78
18
-14
-13
1
4
2
0
0
0
25
-10
-110
123
32
49
12
103
-24
-33
-8
25
1
-1
0
0
0
20
-140
68
32
27
25
-21
39
33
9
-12
-8
0
0
0
0
0
0
-11
-9
-57
4
2
-102
34
31
0
3
4
0
0
0
0
0
0
1
0
-2
-40
-63
-48
0
-34
-17
0
0
0
0
0
0
0
0
0
15
-76
-50
-58
-30
6
-60
15
2
-1
4
0
0
0
0
0
-5
20
62
0
94
-53
-15
-31
18
1
0
0
0
0
0
0
0
-2
71
129
31
-38
-79
146
71
-20
1
0
0
0
0
0
0
0
2
-3
43
-95
-81
40
3
-37
35
0
0
0
0
0
0
0
0
0
1
15
24
-10
-43
183
-21
-1
-1
0
0
0
0
0
0
0
0
6
-14
-22
60
-76
1
-4
0
-1
0
0
0
0
0
0
0
0
1
80
-24
78
109
-1
15
0
0
0
0
0
0
0
0
0
0
0
6
60
133
104
-64
-3
-1
0
0
0
0
0
0
0
0
1
-9
11
1
-72
160
0
-60
19
-1
0
0
0
0
0
0
0
1
-14
48
-47
-17
-53
-44
12
71
0
18
-1
0
0
0
0
0
-4
29
-38
-62
-10
79
102
95
33
-2
0
0
-2
0
0
0
0
0
55
-64
96
-3
139
139
160
21
-2
1
-2
0
0
0
0
0
4
10
51
171
76
108
104
34
-2
7
-1
-2
0
0
0
0
0
0
5
12
-139
53
76
-71
-12
3
0
-1
0
0
0
0
0
0
6
-6
7
55
47
-20
16
22
-66
0
3
0
0
0
0
0
0
0
0
82
-104
51
45
-18
13
-3
0
0
0
0
0
0
0
0
0
0
2
1
58
1
-4
0
0
0
0
0
0
0
0
0
1
40
43
30
58
251
16
0
-6
-14
0
0
0
0
0
0
0
3
107
32
-7
-15
24
43
35
1
13
11
0
0
0
0
0
-2
-38
37
-3
-79
71
43
-4
51
-42
-26
1
0
4
0
0
0
0
19
-1
40
149
-7
-16
44
116
80
-12
-5
4
0
0
0
0
0
8
10
42
24
56
59
55
-8
-28
0
2
1
0
0
0
0
0
-3
1
71
-219
44
6
84
63
-1
0
0
0
0
0
0
0
-4
-2
-13
-41
117
75
145
33
1
5
0
0
0
0
0
0
0
0
0
0
4
25
46
8
18
-10
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
2
-13
32
-5
0
1
0
0
0
0
0
0
0
0
0
4
-11
24
-45
-31
7
-30
1
1
0
0
0
0
0
0
0
0
0
-4
6
19
18
33
17
-9
0
0
0
0
0
0
0
0
0
-6
1
-1
57
-26
132
0
-27
0
0
0
0
0
0
0
0
0
-1
21
20
-6
111
27
7
1
0
0
0
0
0
0
0
0
0
1
0
2
-22
-58
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
71
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
7
-7
16
11
0
-14
-2
0
0
0
0
0
0
0
0
1
2
20
97
70
-9
-77
159
-13
0
0
0
0
0
0
0
-2
0
41
8
106
26
-86
62
-29
-13
-4
0
0
0
0
0
0
-1
0
-10
74
142
-39
31
3
29
18
3
0
0
0
0
0
0
-24
-4
14
83
-3
117
127
-52
-71
-4
1
0
0
0
0
0
0
3
0
26
-15
18
-25
-12
-14
27
42
0
0
0
0
0
0
0
9
-58
-56
25
51
-39
59
75
-31
5
3
0
0
0
0
0
0
0
0
4
-62
34
92
-24
-14
31
-4
0
0
0
0
0
0
0
0
0
0
-6
19
11
-38
-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
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
39
-8
10
-2
-3
1
0
0
0
0
0
0
0
0
10
48
-52
95
48
-34
-1
-6
-7
0
0
0
0
0
0
0
0
25
76
134
50
-16
-11
0
0
1
0
0
0
0
0
0
0
0
172
-76
48
65
-24
-5
-4
-16
0
0
0
0
0
0
0
0
8
55
47
54
21
21
4
0
-7
0
0
0
0
0
0
0
0
-3
64
33
113
-4
6
0
0
0
0
0
0
0
0
0
0
0
1
-16
-31
-63
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-31
66
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
21
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-49
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
57
-3
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
-2
1
0
-1
0
0
0
0
0
0
0
0
0
16
50
-53
-19
7
3
0
-13
0
0
0
0
0
0
0
0
0
43
96
12
-25
-1
0
0
10
0
0
0
0
0
0
0
0
0
17
63
26
34
5
-8
-4
0
4
0
0
0
0
0
0
0
0
-11
5
25
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
-38
51
-16
24
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
-1
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
1
-55
6
-19
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-18
38
-35
38
0
0
0
0
0
0
0
0
0
0
0
0
13
2
115
-36
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-48
76
-11
1
0
0
0
0
0
0
0
0
0
0
0
-16
40
-97
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
0
0
13
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-11
-3
-16
2
0
0
0
-3
0
0
0
0
0
0
0
0
-2
2
-27
-2
0
2
5
-24
-1
0
0
0
0
0
0
0
0
10
-16
-1
8
16
22
-38
9
0
0
0
0
0
0
0
0
-1
-27
0
0
24
46
36
-28
29
0
-10
0
-1
0
0
0
0
0
12
2
0
-1
62
-9
34
-2
-1
0
0
2
0
0
0
0
0
0
1
8
7
-18
27
-6
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-12
-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
6
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
9
-9
0
-1
0
0
0
0
14
1
1
0
0
0
0
0
-5
-2
0
8
0
0
12
9
23
10
4
0
0
-5
0
0
0
0
0
4
-2
6
50
22
7
9
-28
4
0
0
0
2
0
0
-10
-1
-28
-25
-9
93
-14
20
-35
-6
-3
0
0
0
0
0
0
0
-16
-9
-43
-39
6
-8
114
115
31
0
0
0
0
0
0
0
-7
23
-2
-20
69
61
63
2
-42
1
0
0
0
0
0
0
0
10
0
0
-7
-3
-81
30
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
0
-1
0
0
0
0
0
0
0
-3
74
19
65
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
27
-40
-57
0
0
0
0
0
0
0
0
0
0
0
0
47
-24
131
-21
20
0
0
0
0
0
0
0
0
0
0
0
0
175
-30
67
94
-14
0
0
0
0
0
0
0
0
0
0
0
0
-67
-44
108
34
-33
-3
0
0
0
0
0
0
0
0
0
0
0
28
133
-21
-32
-92
-15
35
5
0
-1
0
-2
-2
0
0
0
0
2
-94
42
74
-30
33
33
21
2
4
-5
1
-2
0
0
0
0
0
14
6
60
-32
16
-5
2
0
-5
2
0
-1
0
0
0
0
0
0
0
0
1
0
-7
0
1
-3
0
0
0
0
0
0
0
53
112
3
65
16
-58
-28
0
0
0
-21
2
0
0
0
0
0
-42
59
52
-93
-4
100
68
0
0
30
-32
21
-3
-1
1
0
0
110
15
-16
-66
48
100
207
21
68
78
24
7
0
0
0
0
0
-29
-61
-16
-13
53
148
62
53
-128
-3
-6
9
-2
0
0
0
0
-25
13
-29
-54
130
161
77
142
51
32
5
-20
-2
-4
0
0
0
-25
13
-38
-28
85
-1
-17
-29
21
52
-5
6
-8
4
0
0
0
0
23
-30
42
-35
-78
34
9
15
13
-12
-4
-1
0
0
0
0
0
-6
-2
31
17
47
34
3
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
-28
-64
15
20
11
-90
41
0
0
9
2
-1
0
0
0
0
0
-22
54
45
11
67
35
5
-89
65
-26
-4
9
4
0
0
0
0
-20
189
31
33
32
11
54
-21
-22
10
-15
-7
-3
0
0
0
0
51
-127
64
3
-46
61
-14
49
-135
-52
9
7
-4
3
-2
0
0
74
-64
47
20
-92
-11
-5
125
153
10
1
-16
5
0
0
0
0
19
43
-20
-41
-8
-33
14
-74
20
-32
59
19
0
0
0
0
0
75
10
19
-22
-52
3
-37
45
-115
-62
-1
13
-6
0
0
0
0
0
5
1
1
-19
-106
-23
-39
-55
-1
8
0
1
0
0
0
0
0
1
12
-94
98
-15
-3
-21
-6
3
0
-4
0
0
0
0
0
-90
-28
-179
46
-34
28
-8
0
0
0
0
0
0
0
0
0
0
64
7
63
-63
143
-7
53
0
-6
0
0
0
0
0
0
0
0
32
-22
-21
96
166
21
24
29
3
0
0
0
0
0
0
0
0
-30
-56
18
-138
-59
18
17
47
-2
0
0
0
0
0
0
0
0
37
21
-40
88
-12
85
85
-2
7
4
0
0
0
0
0
0
0
-41
25
-3
-55
-116
-13
19
-40
-22
0
-2
0
0
0
0
0
0
-6
2
41
-73
-16
66
-98
-42
-14
0
0
0
0
0
0
0
0
8
36
59
-1
71
12
-46
-9
-3
0
2
2
0
0
0
0
0
29
6
95
83
-24
3
-5
0
0
0
0
0
0
0
0
0
0
-76
2
21
49
70
36
-81
66
0
0
0
0
0
0
0
0
0
-18
70
115
-25
-11
95
0
10
5
0
0
0
0
0
0
0
0
29
58
-69
16
103
28
63
-83
0
0
0
0
0
0
0
0
0
-58
14
-89
51
-171
-153
130
23
-6
1
1
0
0
0
0
0
0
18
-22
-14
-69
-26
-80
-59
-20
-1
0
-2
-2
-1
0
0
0
0
-90
55
-35
-24
77
40
47
82
6
1
-1
0
0
0
0
0
0
-105
-25
9
-72
-2
65
7
-66
-5
-1
-2
0
0
0
0
0
0
125
-27
-21
-63
-112
-27
-2
-15
32
6
0
0
0
0
0
0
0
0
0
95
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
17
8
-15
-36
-16
35
-24
0
0
14
-24
0
0
0
0
0
0
27
19
3
-35
89
-28
-63
0
31
0
9
2
0
0
0
0
0
88
107
23
-52
61
2
83
108
-19
-148
-16
-5
0
0
0
0
0
-18
48
-25
0
-21
40
241
-21
103
-64
11
-2
0
0
0
0
0
-45
42
51
-31
55
40
-4
55
-71
-77
2
0
-2
2
0
0
0
-2
-18
101
-51
-103
14
-58
-77
14
-25
-50
-5
0
0
0
0
0
-1
26
-24
12
-46
85
-79
21
1
-23
-6
0
-1
0
0
0
0
0
1
-12
79
66
51
52
0
3
1
-7
-1
0
0
0
0
0
0
0
-5
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
11
1
58
-36
7
2
0
0
0
0
0
0
0
0
0
0
3
-29
-55
-2
10
-25
1
0
-4
0
29
0
0
0
0
0
0
15
3
92
47
45
23
4
-1
-50
-55
-5
0
0
0
0
0
0
0
-41
22
26
19
-27
28
20
-55
21
0
0
0
0
0
0
0
0
19
-27
-1
-27
34
-17
20
33
-22
0
0
0
0
0
0
0
0
42
79
47
166
47
-17
-9
-15
-8
0
0
0
0
0
0
0
0
8
38
-65
112
-37
9
-9
-31
0
0
0
0
0
0
0
0
0
0
13
94
-11
1
-9
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
-42
-59
-50
102
-52
2
7
0
0
0
0
0
0
0
0
0
0
6
-4
-41
-53
108
41
-1
0
0
-27
-31
0
0
0
0
0
0
18
36
-5
35
59
-3
2
0
1
-21
-1
0
0
0
0
0
0
81
-53
-62
53
-75
38
6
-10
-53
-23
16
0
0
0
0
0
0
26
-39
58
-114
-32
38
-13
-15
-50
-9
0
0
0
0
0
0
0
68
13
-97
51
-54
12
-29
88
27
94
0
0
0
0
0
0
0
14
-26
-4
63
27
42
-40
-12
36
32
0
0
0
0
0
0
0
-8
72
14
-38
-8
51
9
0
8
0
0
0
0
0
0
0
0
8
-3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
10
-122
21
58
-25
-54
0
-1
-7
-1
0
0
0
0
0
0
0
-24
-82
-5
-12
18
3
-1
-3
-4
0
0
0
0
0
0
0
0
31
50
112
19
-15
0
0
-8
2
0
0
0
0
0
0
0
0
29
-38
67
68
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-6
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
-1
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
5
0
16
-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
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
-89
19
0
0
0
6
-1
0
0
0
0
0
0
0
0
-6
3
39
1
-3
0
0
1
2
0
0
0
0
0
0
0
0
-5
57
10
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
61
-1
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
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-37
16
0
8
2
4
-4
2
0
0
0
0
0
0
0
0
5
-66
37
6
-2
-5
-4
9
0
0
0
0
0
0
0
0
5
5
44
63
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
20
6
-6
4
-19
0
-1
0
0
0
0
0
0
0
0
-8
0
-1
-18
-4
10
8
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-10
52
-2
0
0
0
0
0
0
0
0
0
0
0
2
5
-4
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-20
2
1
0
0
0
0
0
0
0
0
0
0
5
6
-8
-15
24
-6
1
-4
0
0
0
0
0
0
0
0
0
-10
-1
-9
1
24
-7
-28
-1
13
0
0
0
0
0
0
0
0
0
10
0
6
2
-22
-19
-11
0
0
0
0
0
0
0
0
0
-15
-9
4
9
52
13
-12
-2
1
0
0
0
0
0
0
0
-5
0
3
-3
-22
12
-17
3
12
-33
0
0
0
0
0
0
0
0
0
0
-18
-6
0
-14
-6
11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-9
2
5
-13
-45
39
44
0
-83
40
-1
0
0
0
0
0
1
18
14
-28
160
-12
-5
-130
6
48
38
-42
0
1
0
0
0
0
16
-16
24
27
178
50
-17
-8
-77
-27
32
6
-2
0
0
0
0
-6
25
52
52
168
102
20
-88
-12
-19
1
0
0
0
0
0
0
1
45
-32
112
159
181
44
77
25
-12
0
1
0
0
0
0
0
0
0
-16
5
4
-37
177
105
-30
2
-7
0
0
0
0
0
0
0
0
0
0
26
90
-44
64
9
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
44
30
92
45
-22
35
0
-94
22
3
2
1
0
0
0
0
25
-46
5
37
22
-5
-37
-60
22
12
3
-3
2
3
0
0
0
0
153
68
4
14
16
18
-5
12
17
21
-15
1
0
0
0
0
-10
7
75
10
47
35
-17
-11
-84
7
57
6
12
3
0
0
0
1
-2
88
78
21
17
16
-8
129
35
15
4
-2
0
0
0
0
0
24
67
16
68
28
-29
-73
-31
14
20
5
-5
-9
0
0
0
-12
-8
54
28
15
35
-18
-82
-86
-28
-5
-1
3
1
0
0
0
0
0
21
118
84
-11
10
22
45
-4
1
5
0
0
0
0
0
0
0
0
-61
11
119
-76
17
17
0
0
0
0
0
0
0
0
0
0
0
8
36
-144
-22
0
-72
-21
-11
2
1
-3
-3
0
0
0
13
40
-16
53
101
63
-20
-28
40
31
-2
-6
1
-3
-3
0
0
4
-49
15
24
-104
32
130
69
18
-28
8
0
0
0
0
0
0
2
57
60
-11
15
88
20
-57
55
-8
1
0
0
0
0
0
0
0
20
-8
10
99
9
114
115
35
7
0
0
0
3
0
0
0
0
3
3
56
121
188
57
-61
69
-23
0
-1
0
0
0
0
0
0
0
-6
-9
117
-8
-77
-11
25
-73
3
-4
-3
-3
0
0
0
0
0
-3
42
19
49
-47
-75
-7
76
-20
0
1
-2
0
0
0
0
0
0
-5
45
62
-68
-60
-8
-30
-19
1
19
-1
-1
0
0
0
38
72
118
-75
-20
0
90
-3
15
-5
0
0
0
0
0
0
-2
-5
25
25
-98
-135
-35
-45
19
-11
7
0
0
0
0
0
0
-11
-1
124
-19
-15
-49
69
43
37
3
0
2
0
0
0
0
0
-6
69
132
-78
27
86
75
5
25
3
0
0
0
0
0
0
0
-12
2
79
53
83
141
-65
-97
61
16
3
1
0
0
0
0
0
0
4
-39
82
142
54
-47
-61
-47
-43
3
4
0
0
0
0
0
0
0
24
102
123
-38
108
-11
-39
13
-1
-2
0
0
0
0
0
0
0
-2
18
4
109
-77
40
11
-9
5
5
-4
-2
0
0
0
0
0
0
0
53
-15
3
0
0
0
0
0
0
0
0
-1
0
-5
-3
95
11
5
43
0
52
-18
-4
0
0
0
0
0
0
29
2
80
10
-10
62
-10
-196
6
18
-1
0
0
0
0
0
1
-52
9
39
59
16
4
60
43
7
20
3
7
0
0
0
0
0
0
-9
-6
243
3
-26
31
97
0
-5
0
0
0
0
0
0
0
-3
15
-1
148
43
69
46
108
56
0
-2
0
0
0
0
0
0
0
0
-3
56
127
24
83
-6
-56
-4
0
0
0
0
0
0
0
0
0
0
3
-118
-97
-86
-92
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
64
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
3
17
109
1
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-47
39
-1
-46
76
-26
0
0
0
0
0
0
0
0
0
5
-21
78
118
134
9
34
-5
0
0
0
0
0
0
0
0
0
0
-14
27
2
97
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-27
-40
14
-46
0
0
0
0
0
0
0
0
0
0
0
29
-3
38
27
-22
20
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
26
2
-14
2
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
-25
66
-3
10
0
-43
-14
0
0
0
0
0
0
-1
0
-9
3
66
-21
22
137
51
10
0
0
2
0
0
0
0
0
-3
-6
-2
-26
90
218
76
61
32
3
8
0
0
0
0
0
0
0
0
21
41
167
56
-17
78
-78
-7
-4
0
0
0
0
0
0
2
0
12
100
164
136
89
47
-57
-42
0
0
0
0
0
0
0
0
1
19
53
81
11
24
-17
-32
1
-2
-3
0
0
0
0
0
0
0
-1
5
45
-20
-42
-162
-4
-1
-1
0
0
0
0
0
0
0
0
0
3
-40
-49
54
-128
11
22
1
0
0
0
0
0
0
0
0
0
0
0
-7
-67
-78
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
12
0
0
0
4
-3
0
-3
-1
0
0
0
0
0
0
0
0
29
28
36
44
-9
0
-1
-3
-1
0
0
0
0
0
0
0
0
86
39
-92
50
-4
5
0
0
-7
0
0
0
0
0
0
0
9
15
97
9
54
-1
20
-8
2
-7
0
0
0
0
0
0
0
-6
79
88
8
13
-16
-12
-17
-2
0
0
0
0
0
0
0
0
-11
34
37
-101
-95
52
0
7
6
-2
0
0
0
0
0
0
0
0
10
34
-78
22
-33
-1
0
-3
0
0
0
0
0
0
0
0
0
-15
-1
-22
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-95
66
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-33
-12
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-129
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-32
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
-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
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
80
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
58
28
13
-3
0
0
5
0
0
0
0
0
0
0
0
5
-35
58
-4
29
16
1
-8
0
0
0
0
0
0
0
0
0
18
9
46
-65
-38
-4
-1
-3
0
0
0
0
0
0
0
0
0
0
62
-39
52
-10
-1
1
1
1
0
0
0
0
0
0
0
0
0
0
-29
-16
12
-8
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-12
92
-5
0
0
1
2
0
0
0
0
0
0
0
0
0
-3
-25
6
-53
3
0
0
-6
0
0
0
0
0
0
0
0
0
-4
0
19
54
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
44
-87
15
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-63
-81
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-47
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
6
0
72
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
16
15
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
24
53
-65
8
71
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
10
3
39
14
6
-3
7
0
0
0
0
0
0
0
0
0
14
-10
-24
-39
47
-24
14
1
8
0
18
0
0
0
0
0
0
0
5
-36
-60
15
-65
-20
-2
7
4
1
0
0
0
0
0
0
0
-1
3
-15
-26
-9
-104
5
0
0
0
0
0
0
0
0
0
0
0
0
9
18
-29
51
9
1
0
0
0
0
0
0
0
0
0
0
0
0
13
39
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
-2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
14
101
1
20
2
5
0
0
20
12
0
0
-1
0
0
0
-2
21
-34
0
-2
-6
16
-15
1
0
1
0
0
0
0
0
0
0
-14
-82
-9
94
53
-11
-16
-1
0
-1
-2
1
0
0
0
0
0
0
71
-6
-76
-26
-78
-33
-17
0
0
-2
9
0
0
0
0
0
0
12
96
-36
4
-15
-50
6
-2
-2
-1
-5
-1
0
0
0
0
0
0
-2
-37
-6
-34
-4
17
3
0
0
0
0
0
0
0
0
0
0
0
0
68
27
41
-7
2
0
0
0
0
0
-9
53
89
17
-31
0
0
0
0
0
0
0
0
0
0
0
0
23
-34
31
4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
26
73
-1
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
-36
74
-19
8
34
1
0
0
0
0
0
0
0
0
0
0
0
-23
1
49
-12
31
2
0
0
0
0
0
0
0
-1
0
0
0
0
45
32
-3
-19
-6
8
0
2
0
-1
0
-2
0
0
0
0
0
7
64
7
-1
9
-1
1
4
-7
0
0
1
0
0
0
0
0
2
0
1
0
0
0
6
-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
-56
86
-33
-77
54
63
2
0
0
0
0
1
0
0
0
0
0
116
-78
27
-18
-82
-46
-23
0
0
2
3
9
2
0
0
0
0
2
-31
5
-29
21
17
12
108
73
29
-2
-1
0
0
0
0
0
91
-4
-7
22
-57
43
-38
85
-5
-1
3
3
0
0
-1
0
0
79
-28
81
38
1
1
-19
34
-72
-25
6
-9
-4
0
0
0
0
0
-5
157
-67
-19
-60
-73
-58
42
6
1
-9
-2
0
0
0
0
0
-1
-6
-70
117
5
-13
-60
-47
-32
1
-2
1
0
-2
0
0
0
0
0
2
5
0
-1
0
-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
14
21
15
76
-1
-39
0
0
14
-4
-1
0
0
0
0
0
-22
26
57
5
27
-4
-39
66
-24
4
-6
0
0
0
0
0
0
-18
37
6
28
-18
7
32
1
7
-18
-1
-5
-9
0
0
0
0
-11
27
78
27
-7
40
58
14
76
-6
-52
4
-1
0
0
0
0
8
-92
36
11
9
-22
42
77
10
-54
12
-27
0
1
0
0
0
0
8
35
0
5
-2
47
-31
-28
-7
40
-6
-3
0
0
0
0
0
-3
13
-11
-1
-56
-83
-54
33
-33
-5
0
0
0
0
0
0
0
0
241
15
38
-7
80
-21
-113
-1
0
0
0
0
0
0
0
0
0
23
147
25
-44
0
0
0
0
0
0
0
0
0
0
0
-44
76
-56
-4
86
81
-42
0
0
0
0
0
0
0
0
0
0
2
54
39
7
-31
72
43
79
16
0
0
0
0
0
0
0
0
-3
14
47
61
53
3
131
32
5
0
0
0
0
0
0
0
0
13
-45
16
4
35
19
52
20
82
2
0
0
0
0
0
0
0
0
-4
21
-8
-72
61
-34
-4
-33
0
0
0
0
0
0
0
0
0
9
-3
42
-4
47
71
-75
-21
0
0
1
0
0
0
0
0
0
0
0
0
7
-42
80
23
55
9
0
0
2
0
0
0
0
0
0
0
15
0
-25
-27
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-19
41
-24
41
132
-40
-90
-7
0
0
0
0
0
0
0
0
0
-71
100
68
-24
9
9
0
41
-1
0
0
0
0
0
0
0
0
61
-1
-19
-13
18
45
-36
20
-5
-1
0
-1
0
0
0
0
0
98
-94
45
27
165
80
37
1
-5
0
-13
0
-1
0
0
0
0
1
-1
3
-5
-39
27
123
-64
22
0
0
0
-3
0
0
0
0
8
-14
10
41
44
41
8
71
1
0
0
0
0
0
0
0
0
0
6
68
-2
-47
-3
-52
-38
1
0
0
0
0
2
0
0
0
-6
0
0
12
-20
0
1
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
15
16
51
48
-26
157
148
0
0
-21
2
-3
1
-1
0
0
0
17
-5
-16
-26
4
166
64
0
48
0
1
-7
0
0
0
0
0
16
12
-6
28
23
12
-10
-37
33
-7
15
3
-1
0
0
0
0
160
-59
118
-15
-66
35
7
47
18
36
0
-8
0
0
0
0
0
0
-9
73
-29
-55
62
-22
1
37
-53
42
2
-2
0
0
0
0
0
26
6
-48
14
11
53
108
-56
26
0
-2
0
0
0
0
0
0
0
-9
45
20
45
45
-127
-93
-54
-6
0
-2
-1
0
0
0
0
0
0
0
-23
-4
0
-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
139
-28
-24
-1
3
0
0
0
0
0
0
0
0
0
0
0
-55
-72
-74
-52
13
-47
0
0
0
0
0
0
0
0
0
0
-9
17
49
18
-84
41
-61
-2
8
0
0
0
0
0
0
0
0
0
-14
-19
-71
31
-82
11
68
40
-5
0
0
0
0
0
0
0
0
0
26
-26
-54
-106
-61
57
38
31
0
0
0
0
0
0
0
0
0
-5
51
-6
-6
-18
-70
-27
-7
0
0
0
0
0
0
0
0
0
0
0
32
-9
-23
67
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
-7
32
57
-77
-27
-2
0
0
0
0
0
0
0
0
0
0
0
-18
43
24
-42
-28
55
3
0
0
0
0
0
0
0
0
0
0
-28
-13
26
-41
159
110
0
9
6
0
0
0
0
0
0
0
0
-13
129
82
17
76
34
-33
-5
62
-3
0
0
0
0
0
0
0
0
20
-33
27
-42
-41
86
20
-46
52
0
2
0
0
0
0
0
0
-16
63
-17
-10
-34
-10
-105
-28
38
13
0
0
0
0
0
0
0
0
0
41
92
68
16
-42
40
25
9
0
0
0
0
0
0
0
-5
-8
4
-12
-58
-4
-82
75
-53
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
6
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
9
0
-105
20
85
-55
0
0
0
0
0
0
0
0
0
0
0
0
-53
9
2
40
-95
27
0
0
0
0
0
0
0
0
0
0
0
-43
-108
-20
-51
57
12
0
0
0
0
0
0
0
0
0
0
0
-66
-35
-50
-39
-19
-5
0
0
0
0
0
0
0
0
0
0
0
31
-18
-4
16
-234
0
0
0
0
0
0
0
0
0
0
0
0
48
-42
-62
-37
-43
2
0
0
0
0
0
0
0
0
0
0
0
-1
21
-132
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
-109
24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
22
85
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-25
-19
37
0
0
0
0
0
0
0
0
0
0
0
0
7
8
103
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-4
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-44
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
0
2
0
0
0
144
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-32
-74
-22
5
0
0
0
0
0
0
0
0
0
0
0
-2
-32
-74
14
-7
-1
0
0
0
0
0
0
0
0
0
0
15
-9
18
-131
-91
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
126
-64
109
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
61
20
26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-207
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
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
-3
-48
-27
120
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-38
-15
145
123
0
0
0
0
0
0
0
0
0
0
0
0
10
-32
32
-12
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
2
-34
15
3
4
4
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
18
-2
-32
-32
-1
0
0
0
0
0
0
0
-1
5
0
0
0
7
-7
6
77
-9
0
0
0
0
0
0
0
0
42
-60
-84
0
7
0
53
15
16
0
0
0
0
0
0
0
-1
7
-133
-14
39
44
12
-14
-4
0
0
0
0
0
0
0
0
-7
1
-51
50
27
14
-18
15
7
-1
0
0
0
0
0
0
0
0
14
-27
-55
-18
29
-11
0
1
0
0
0
0
0
0
0
0
0
2
-121
32
-20
-34
0
-10
0
0
0
0
0
0
0
0
0
0
-23
-138
0
-2
0
0
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
5
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
3
10
-47
12
-4
3
0
0
0
0
0
0
-3
-1
-8
68
73
-3
41
-21
5
-39
2
0
0
0
0
0
0
-6
18
-41
8
47
-96
14
9
16
1
1
0
0
0
0
0
0
0
-15
-179
56
59
4
-31
8
-2
9
-1
0
0
0
0
0
0
-1
-23
-62
-102
-24
-34
-32
38
14
-1
0
0
0
0
0
0
0
0
-12
25
34
-20
-71
2
4
14
2
0
0
0
0
0
0
0
0
-1
5
8
19
-9
-1
-9
0
0
0
0
0
0
0
0
0
0
-6
-3
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
20
10
-7
9
-14
90
-21
0
0
0
0
0
0
4
0
0
0
36
57
65
38
33
-25
124
0
0
0
0
0
0
-8
33
-36
41
260
124
30
-5
-17
-32
-74
0
0
0
0
0
0
-1
-35
-7
123
2
46
-43
28
-14
75
5
0
0
0
0
0
-1
-6
-7
-35
136
79
-39
66
53
8
80
-4
0
0
0
0
0
0
2
-55
12
-86
42
-54
-41
60
-22
-75
11
0
0
0
0
0
0
1
-27
27
-8
-28
60
-15
-49
29
108
0
0
0
0
0
0
0
-4
-13
0
0
-5
52
-11
-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
-4
6
7
0
0
1
-10
-24
-43
-46
49
15
0
0
0
0
0
0
1
4
-38
-39
-40
-8
-9
-4
-21
20
13
0
0
0
0
0
-1
0
45
-140
-180
5
-11
-8
-2
-36
-36
14
0
0
0
0
0
-1
2
40
-16
-2
42
-24
-26
5
12
58
10
0
0
0
0
0
-3
37
-72
2
-27
37
-79
-12
-13
-4
30
87
0
0
0
0
0
-5
-12
13
32
-102
10
-38
-27
-11
5
-28
24
0
0
0
0
0
0
1
-8
-92
-68
-46
-158
-84
-44
-40
95
0
0
0
0
0
0
0
0
2
12
-82
-77
-83
-38
-124
66
27
0
0
0
0
0
0
0
0
0
0
-1
81
-25
-15
18
-99
0
0
0
0
0
0
0
0
0
0
0
0
15
126
-143
-52
-41
97
-85
0
0
0
0
0
0
0
0
94
-76
-29
53
7
-55
-18
6
-6
0
0
0
0
0
0
0
0
-48
-48
20
122
74
-42
-115
131
19
0
0
0
0
0
0
0
0
-18
26
37
128
80
-70
45
76
17
0
0
0
0
0
0
0
0
1
-9
127
81
39
-20
53
49
-17
0
0
0
0
0
0
0
0
0
5
-54
-6
27
71
-9
-57
0
0
0
0
0
0
0
0
0
-7
1
-27
-43
-37
-127
112
56
0
0
0
0
0
0
0
0
0
0
-6
-4
-8
-25
-15
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
53
75
0
0
0
0
0
0
0
0
3
0
154
146
80
125
-14
-8
73
-37
0
0
0
0
0
0
0
0
26
221
0
4
13
44
42
-84
73
0
0
0
0
0
0
0
0
7
-13
53
55
-51
19
17
-61
25
0
0
0
0
0
0
0
0
7
-84
64
-11
-76
98
16
57
144
0
0
0
0
0
0
0
1
18
-12
-51
-22
-182
51
41
96
120
0
0
0
0
0
0
0
0
0
-51
-114
-106
103
22
17
61
-47
0
0
0
0
0
0
0
0
0
-78
-48
117
38
53
22
29
0
0
0
0
0
0
0
0
0
0
1
16
-9
-46
31
-5
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
17
13
0
0
18
31
11
-16
-21
-46
-7
0
0
0
0
-5
-10
-13
0
-110
0
90
63
13
-6
-11
30
11
0
0
0
0
0
-1
-2
-29
99
201
15
24
-14
7
-29
-29
20
0
0
0
0
0
1
0
16
19
11
48
58
27
13
-12
17
-61
0
0
0
0
0
0
-11
-90
17
-4
111
35
11
12
-8
2
-7
0
0
0
0
0
0
-2
40
59
-52
-47
63
69
76
19
137
0
0
0
0
0
0
0
-1
5
60
3
42
-90
28
18
25
0
0
0
0
0
0
0
0
0
-33
2
-8
3
-20
-59
-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
7
-54
-114
88
-152
5
13
0
0
0
0
0
0
0
0
-4
0
-28
-53
-12
-26
33
43
8
0
0
0
0
0
0
-9
5
32
12
23
-12
16
19
-30
16
-4
0
0
0
0
0
0
0
4
39
274
203
-4
-32
-99
1
-46
-4
0
0
0
0
0
0
0
-20
1
53
24
21
7
169
77
19
-91
0
0
0
0
0
0
0
4
-11
-18
-17
-112
44
64
22
28
0
0
0
0
0
0
0
0
0
28
10
5
-22
111
37
96
0
0
0
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
3
-7
24
15
-34
35
25
0
0
0
0
0
0
0
0
0
1
15
123
151
42
-2
-1
40
0
0
0
0
0
0
0
5
-5
-2
183
199
113
122
-61
-87
14
0
0
0
0
0
0
-3
55
2
1
183
150
-15
34
1
115
123
0
0
0
0
0
0
0
1
-15
9
111
-21
-43
48
-68
-5
-43
0
0
0
0
0
0
0
42
-16
-3
-19
68
73
153
-38
-46
28
0
0
0
0
0
0
0
6
93
-3
80
128
2
30
-34
-119
-1
0
0
0
0
0
0
0
0
11
2
0
49
-135
-127
23
-82
14
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
40
10
25
-50
3
0
0
0
0
0
0
0
-2
-3
-10
12
67
61
50
48
220
9
0
0
0
0
0
0
0
0
0
0
6
-5
41
117
-47
157
0
0
0
0
0
0
0
0
0
0
0
0
1
43
-83
126
77
-3
0
0
0
0
0
0
0
0
0
0
0
2
92
67
95
-58
47
0
0
0
0
0
0
0
0
0
0
0
-2
26
47
-3
148
6
0
0
0
0
0
0
0
0
0
0
0
0
65
65
33
72
0
0
0
0
0
0
0
0
0
0
0
0
0
5
39
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-26
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
34
10
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
9
28
-2
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
-5
-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
5
-18
10
-2
-20
-26
0
0
0
0
0
0
0
0
0
0
0
3
0
11
46
-16
32
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
14
-24
44
0
0
0
0
0
0
0
0
0
0
0
0
1
80
-59
53
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
113
8
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-99
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-105
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
99
-108
86
3
-5
0
0
0
0
0
0
0
0
0
0
0
-13
133
179
28
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
23
2
15
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
99
158
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
98
16
10
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
5
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-9
28
9
81
-52
52
-20
0
0
0
0
0
0
0
0
0
56
-72
1
56
-29
-50
6
-48
2
0
0
0
0
0
0
0
0
-13
50
73
-20
41
22
8
-4
-1
0
0
0
0
0
0
0
0
-4
-60
-45
-87
93
-13
-16
13
0
0
0
0
0
0
0
0
0
44
-8
8
35
-41
34
9
-17
0
0
0
0
0
0
0
0
0
11
39
-6
-8
1
60
67
13
-4
0
0
0
0
0
0
0
0
15
4
7
-3
6
52
-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
-2
2
27
-2
-7
53
48
-1
0
0
0
0
0
0
-1
0
0
38
-53
2
-3
0
-23
5
2
0
0
0
0
0
0
0
0
-47
5
-3
10
-22
84
1
37
0
0
0
0
0
0
0
-5
9
-28
-36
-23
0
-15
5
-61
-53
0
0
0
0
0
0
0
0
129
85
27
-50
-79
133
-26
28
-34
13
0
0
0
0
0
0
0
-17
67
-101
20
50
50
70
33
25
19
0
0
0
0
0
0
0
2
-28
17
-45
-32
15
45
74
-25
-2
0
0
0
0
0
0
0
-4
1
9
0
0
52
-11
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
-18
-38
88
113
-32
-28
15
0
0
0
0
0
0
-14
-27
0
-8
-27
-29
15
31
79
0
13
-1
0
0
0
0
0
-85
-54
-41
-40
3
13
58
-3
23
63
-12
0
0
0
0
0
0
-6
56
-22
13
-19
43
-66
33
17
-61
12
6
0
0
0
0
0
-5
-49
5
28
-21
-8
-86
92
-3
79
-6
0
0
0
0
0
0
0
16
-15
32
23
115
-2
-65
107
-4
0
0
0
0
0
0
0
0
-2
-6
-34
-38
32
24
20
4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-25
0
-36
-44
16
33
-99
-13
28
0
0
0
0
0
-6
-2
-89
-13
1
-1
6
2
-18
44
102
-18
0
0
0
0
0
-1
17
-10
105
-3
1
-6
21
8
-13
-167
16
0
0
0
0
0
1
12
-8
16
-3
-16
18
-6
30
-5
62
-49
0
0
0
0
0
1
16
104
-10
2
-3
21
11
34
60
20
-13
0
0
0
0
-1
6
3
-17
-15
-19
-23
26
14
29
67
18
15
0
0
0
0
0
0
-2
-52
86
0
-25
5
8
7
25
63
1
0
0
0
0
0
0
-1
1
-40
-18
13
10
10
6
-32
-43
0
0
0
0
0
0
0
0
1
-10
-20
19
22
-52
-36
0
0
0
0
0
0
0
0
0
1
-2
-22
0
-40
38
-2
65
-8
0
0
0
0
0
0
0
45
-42
14
0
-10
34
64
69
-82
29
24
0
0
0
0
0
3
-62
-65
14
9
0
-33
-77
10
20
-38
4
0
0
0
0
0
0
-7
57
15
-5
7
4
-58
-68
95
-52
-9
0
0
0
0
0
0
7
-10
-41
13
-2
77
-51
-14
3
3
0
0
0
0
0
0
0
14
31
-69
-1
5
-10
-96
-87
61
49
0
0
0
0
0
0
-13
15
23
10
10
4
-113
-22
-24
-192
0
0
0
0
0
0
-4
-3
6
27
25
-1
-61
-83
-59
-3
56
0
0
0
0
0
0
0
-2
-5
51
4
0
17
-6
-119
-7
11
0
0
0
0
0
0
0
0
0
-28
-21
-27
0
12
-58
13
-57
128
-1
0
0
0
0
0
0
0
-7
-54
69
-14
-19
-24
-2
-7
-101
45
0
0
0
0
0
0
0
-1
-13
77
45
-31
14
25
8
-14
6
0
0
0
0
0
0
4
10
-54
-3
50
-20
54
-2
-7
-4
13
0
0
0
0
0
0
-1
-28
38
45
15
-23
28
156
37
-19
23
0
0
0
0
0
0
0
-16
47
-2
21
52
2
33
-53
-5
42
0
0
0
0
0
0
0
-12
-86
13
-15
-13
-50
-26
12
13
0
0
0
0
0
0
0
0
-2
-67
-22
-58
-6
8
-11
-84
-3
0
0
0
0
0
0
0
0
0
0
0
4
-17
-24
0
0
0
0
0
0
0
0
0
0
0
-69
-27
-27
0
2
9
30
94
150
4
-41
0
0
0
0
0
0
-29
-8
-17
0
-6
-16
21
90
42
-5
-135
19
0
0
0
3
0
-27
-2
14
-6
-21
-5
6
47
58
222
37
45
0
0
0
0
0
-2
-23
0
8
-25
-2
-11
-22
41
8
-35
-11
0
0
0
0
0
0
7
-112
-61
-29
2
-27
82
-37
157
3
-7
0
0
0
0
-1
-5
19
-17
-132
-24
105
-12
152
76
6
0
0
0
0
0
0
0
-2
4
-36
-123
-32
-20
-26
137
97
-38
-8
0
0
0
0
0
0
0
0
-18
4
-85
-7
42
-5
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
-40
0
-8
-55
6
-67
-8
-9
3
7
0
0
0
0
0
0
-26
0
5
-72
67
38
-56
9
20
-47
2
0
0
0
0
0
0
0
10
-62
80
-114
177
30
19
-6
12
-4
0
0
0
0
0
0
1
-87
59
65
72
-85
88
72
0
-4
0
0
0
0
0
0
0
-1
-88
31
71
-29
170
11
-44
-1
1
0
0
0
0
0
0
0
45
-6
119
20
9
64
-5
-35
5
0
0
0
0
0
0
0
0
0
46
48
63
-18
54
-13
4
0
0
0
0
0
0
0
0
0
0
2
-3
23
15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
6
0
-31
0
43
-72
33
5
6
-27
-28
0
0
0
0
0
0
-11
-42
-1
-19
-48
-30
34
-56
-94
-1
-16
-2
0
0
0
0
0
-10
-7
-53
-51
19
-49
91
19
27
7
51
1
0
0
0
0
0
-3
-39
-57
-85
47
53
25
-12
52
19
12
0
0
0
0
0
0
3
33
-61
-7
11
-18
-4
87
14
33
13
11
0
0
0
0
0
-10
-51
25
5
32
62
13
-2
83
-31
-8
-1
0
0
0
0
0
10
54
22
-2
-24
-6
-18
-35
13
7
-3
0
0
0
0
0
0
-1
2
20
4
-2
48
32
5
9
-1
0
0
0
0
0
0
0
0
2
0
-21
-5
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-3
5
-29
0
0
58
0
0
0
0
0
0
0
0
0
0
0
-2
-8
18
19
17
-43
0
0
0
0
0
0
0
0
0
0
0
0
-13
-73
-107
24
5
-6
0
0
0
0
0
0
0
0
0
0
-1
-8
103
4
122
64
-1
0
0
0
0
0
0
0
0
0
0
0
0
41
8
4
-22
25
0
0
0
0
0
0
0
0
0
0
0
0
3
82
-32
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-79
22
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
0
0
0
0
0
0
0
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
-11
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-7
64
-32
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
0
9
-2
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
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
106
0
0
0
0
0
0
0
0
0
0
0
0
11
8
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-58
-23
137
1
0
0
0
0
0
0
0
0
0
0
0
0
-62
42
178
85
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-116
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
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
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
-3
0
0
0
0
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
71
42
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-41
-49
36
-39
-113
0
0
0
0
0
0
0
0
0
0
0
0
0
9
24
-26
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-103
-19
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
9
18
-6
2
0
0
0
0
0
0
0
0
0
-11
7
50
32
29
-17
-32
1
0
0
0
0
0
0
0
0
-1
10
9
23
-34
-52
-127
11
-3
0
0
0
0
0
0
0
0
0
6
42
28
-93
38
-24
-1
-3
0
0
0
0
0
0
0
0
0
7
0
-75
4
-62
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
29
1
-15
15
0
3
0
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
-1
0
0
0
0
-14
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-3
16
-11
0
0
0
0
0
0
0
0
0
6
35
95
10
35
-59
-39
7
-24
0
0
0
0
0
0
0
0
2
37
31
5
27
35
136
-63
11
2
0
0
0
0
0
0
0
0
8
63
-32
48
-20
38
-15
11
3
0
0
0
0
0
0
0
1
-14
-65
71
7
-31
-31
-52
-52
-5
0
0
0
0
0
0
0
0
2
6
-49
9
-3
-36
-15
-52
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-9
-8
-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
1
0
0
0
13
37
146
12
-21
128
172
0
0
0
0
0
0
74
23
0
0
87
98
149
37
31
50
-13
0
0
0
0
0
0
0
13
164
-36
-46
70
129
53
61
49
46
0
0
0
0
0
0
-1
-43
52
-4
3
-72
28
112
9
48
27
0
0
0
0
0
0
1
2
-58
19
142
66
79
132
31
73
32
0
0
0
0
0
0
-1
-8
3
21
-37
77
38
85
151
-43
10
0
0
0
0
0
0
0
0
7
6
87
93
-36
10
54
-126
3
0
0
0
0
0
0
0
0
-1
0
8
-48
-93
31
-12
-51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
-2
0
0
12
-19
-12
-34
-30
43
-3
0
0
0
0
0
0
1
-78
-69
58
-37
-15
8
-30
-30
-44
83
0
0
0
0
0
-1
-3
6
54
-64
-82
14
17
21
62
-141
-55
0
0
0
0
0
-1
23
-4
2
-32
13
-28
39
23
13
46
34
0
0
0
0
0
3
1
-31
-18
-40
-38
-9
11
62
-4
145
25
0
0
0
0
0
0
-2
-4
136
72
-75
-12
-4
2
15
-96
14
0
0
0
0
0
0
0
-113
-18
-12
-42
6
-12
-5
4
-22
-15
0
0
0
0
0
0
1
0
15
108
9
11
-8
7
48
-20
0
0
0
0
0
0
0
0
1
1
-52
48
-18
19
2
11
0
0
0
0
0
0
0
0
0
2
0
0
59
95
12
159
119
63
37
0
0
0
0
0
0
0
0
2
16
7
-52
-45
-60
-4
-28
-44
0
0
0
0
0
0
0
0
27
-64
82
-41
52
168
60
-9
-6
0
0
0
0
0
0
0
0
-1
64
116
176
32
-19
70
8
25
0
0
0
0
0
0
0
-4
-5
0
53
22
32
209
118
71
10
0
0
0
0
0
0
0
0
-3
-9
20
-13
102
133
10
86
62
0
0
0
0
0
0
0
0
0
0
105
-45
35
109
12
-17
39
0
0
0
0
0
0
0
0
0
1
12
7
104
77
10
-19
-9
0
0
0
0
0
0
0
0
0
1
0
-5
22
-34
67
-1
19
0
0
0
0
0
0
0
0
0
68
37
165
98
-39
29
25
3
0
0
0
0
0
0
0
0
-11
92
0
47
38
9
-27
14
1
0
0
0
0
0
0
0
0
49
85
-57
75
-91
41
21
129
3
0
0
0
0
0
0
0
2
-39
30
-12
43
180
53
15
-19
69
0
0
0
0
0
0
0
-2
-10
10
-125
-11
-10
94
26
-54
88
0
0
0
0
0
0
0
0
1
82
-31
-97
26
46
52
2
-49
0
0
0
0
0
0
0
0
3
13
79
58
-34
59
50
-3
-119
0
0
0
0
0
0
0
0
0
3
0
65
143
45
27
-43
-15
0
0
0
0
0
0
0
0
0
0
0
0
2
66
95
0
0
0
0
0
0
0
-5
0
2
0
0
118
95
55
-18
6
131
79
0
0
0
0
0
-1
17
0
33
0
115
41
79
20
1
-29
14
0
0
0
0
0
0
-12
21
-58
109
-59
46
49
57
-42
-26
10
0
0
0
0
0
0
1
24
49
-6
109
16
68
33
37
51
28
0
0
0
0
0
0
0
-23
-3
-38
75
70
0
12
59
24
128
0
0
0
0
0
0
0
0
-9
138
16
-17
49
23
-50
-7
1
0
0
0
0
0
0
0
0
-7
-7
-19
-138
26
-37
2
-7
22
0
0
0
0
0
0
0
0
0
0
9
-44
-89
59
-72
23
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
33
22
-10
0
0
0
0
0
0
0
0
0
0
-3
-39
60
361
-20
44
-42
-1
0
0
0
0
0
0
0
0
4
0
-109
217
-121
-16
-52
7
0
0
0
0
0
0
0
0
0
-4
-22
-14
192
43
-45
-51
-38
-3
0
0
0
0
0
0
0
0
-7
-4
101
-24
-5
-17
31
-114
-14
0
0
0
0
0
0
0
0
0
-22
12
-38
-33
-31
-5
-37
-6
0
0
0
0
0
0
0
0
0
-5
26
74
-113
2
-76
121
0
0
0
0
0
0
0
0
0
0
-17
-125
63
144
-13
17
19
0
0
0
0
0
0
0
0
0
0
0
0
51
7
80
53
-15
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
244
-53
117
-128
12
65
0
0
0
0
0
0
0
0
0
0
51
70
75
-166
41
-27
-106
0
0
0
0
0
0
0
8
0
-2
4
142
105
-18
32
-107
38
0
0
0
0
0
0
0
50
-9
6
176
111
149
104
70
18
-38
0
0
0
0
0
0
0
-12
120
4
7
43
-11
141
48
110
79
0
0
0
0
0
0
0
19
-7
-5
85
127
93
83
38
51
-14
0
0
0
0
0
0
0
0
7
0
-129
-17
-63
115
38
71
18
0
0
0
0
0
0
0
0
0
0
-1
70
89
-156
40
152
78
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-40
-77
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-29
89
-50
0
0
0
0
0
0
0
0
-3
2
0
-6
-58
-84
87
130
-32
13
0
0
0
0
0
0
0
0
0
1
1
-27
51
-32
122
127
-39
0
0
0
0
0
0
0
0
-2
0
-4
23
-22
17
52
-133
-3
0
0
0
0
0
0
0
0
0
0
0
-6
52
25
69
5
-25
0
0
0
0
0
0
0
0
0
0
0
43
-53
28
12
-30
-43
0
0
0
0
0
0
0
0
0
0
0
3
90
-10
46
66
66
0
0
0
0
0
0
0
0
0
0
0
0
-4
40
-48
16
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-60
0
7
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-27
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
71
69
-2
-8
0
0
0
0
0
0
0
0
0
0
0
12
6
-22
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
90
115
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-94
36
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-100
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-38
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-2
0
13
0
0
0
0
0
0
0
0
0
1
0
-2
0
40
81
-7
1
0
0
0
0
0
0
0
0
0
0
0
5
28
32
128
70
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-28
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
17
82
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-10
18
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-16
-103
-20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
113
0
0
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
-22
0
-119
45
-27
0
0
0
0
0
0
0
0
0
0
0
28
6
3
-35
67
-25
5
0
0
0
0
0
0
0
0
0
0
0
3
29
16
-41
-7
49
0
0
0
0
0
0
0
0
0
0
0
0
42
74
-60
-3
3
0
0
0
0
0
0
0
0
0
0
0
-27
67
56
128
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-92
110
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
3
74
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
39
-10
44
15
4
-21
0
0
0
0
0
0
0
0
0
-1
-17
17
-152
-7
-61
27
-79
-17
1
0
0
0
0
0
0
0
0
-131
-23
13
0
78
39
5
20
-44
0
0
0
0
0
0
0
0
-63
-85
4
-58
88
-5
-92
-26
-7
0
0
0
0
0
0
0
0
8
-20
-111
11
-61
-31
3
-96
-3
0
0
0
0
0
0
0
0
-6
30
-3
152
43
-129
43
-16
44
0
0
0
0
0
0
0
0
0
41
29
-11
23
-21
154
41
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
-19
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-26
3
7
0
0
0
0
0
0
0
-1
0
-17
18
2
34
27
-18
0
-13
0
0
0
0
0
0
2
-3
8
0
29
-31
-2
36
9
46
6
0
0
0
0
0
0
0
-20
71
59
55
64
81
-46
30
-43
-18
0
0
0
0
0
0
0
-59
11
-71
-81
3
80
-64
-1
27
-5
0
0
0
0
0
0
0
0
142
70
-68
-94
-71
-72
62
0
98
0
0
0
0
0
0
0
-4
0
-35
49
-35
-77
31
-74
13
-23
0
0
0
0
0
0
0
0
9
-3
66
-35
-1
-33
34
147
38
0
0
0
0
0
0
0
0
0
0
0
-21
3
-109
-85
-5
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-48
-22
0
-38
-90
-14
61
-81
35
4
0
0
0
0
0
0
31
-41
-27
-5
-16
-43
0
100
-98
16
19
0
0
0
0
0
2
-15
-43
-17
-10
-32
-28
34
179
0
55
-26
1
0
0
0
0
0
-4
13
4
-6
-22
3
9
43
83
10
-29
-8
0
0
0
0
0
-6
-4
-96
6
-30
0
-58
16
25
54
-9
0
0
0
0
0
0
0
-2
-78
10
-47
-81
48
-43
11
70
65
0
0
0
0
0
0
0
0
73
-205
-42
-59
-43
-131
10
6
-3
0
0
0
0
0
0
0
0
0
0
3
0
-13
-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
4
-44
-42
0
-14
-24
-2
-8
16
30
43
0
0
0
0
0
3
15
19
-93
10
8
-23
2
29
27
107
-42
0
0
0
0
0
0
12
-25
-56
-25
5
6
32
34
73
-22
39
0
0
0
0
0
0
4
-74
-92
-61
1
19
11
44
60
81
-1
0
0
0
0
0
0
0
-3
-71
-42
14
18
34
34
73
-33
7
0
0
0
0
0
0
-2
-2
-103
16
-3
18
12
48
32
109
-154
0
0
0
0
0
0
-1
2
-101
2
-5
33
-3
23
52
-19
-27
0
0
0
0
0
2
0
24
-62
-41
5
39
-20
-33
32
89
-63
0
0
0
0
0
0
0
0
7
-43
-38
-37
28
-12
74
89
0
0
0
0
0
0
11
29
15
-10
0
-27
-63
45
-62
3
-4
0
0
0
0
0
0
0
-1
22
-148
51
28
31
-60
28
1
-5
0
0
0
0
0
0
0
0
14
53
-10
-24
-48
22
29
25
19
0
0
0
0
0
0
0
0
-20
20
15
6
-52
66
-38
42
12
0
0
0
0
0
0
0
0
1
-96
-20
-2
-74
68
-20
-27
-2
0
0
0
0
0
0
0
0
0
-37
60
-64
78
-34
21
-38
-1
0
0
0
0
0
0
0
0
-1
-1
-58
-72
-125
-87
-20
-4
29
0
0
0
0
0
0
0
0
0
2
51
10
95
9
-22
-27
1
0
0
0
0
0
0
0
0
0
0
11
9
-82
-9
22
-2
0
0
0
0
0
0
0
1
-55
8
-84
0
16
-54
33
129
89
-2
0
0
0
0
0
0
-7
12
12
-87
-61
46
-20
3
-118
-5
-7
0
0
0
0
0
0
0
2
14
-42
71
-1
13
23
23
88
-6
0
0
0
0
0
0
0
0
6
-69
-20
-11
21
-11
56
-34
43
0
0
0
0
0
0
0
0
-47
-16
-62
-18
30
-14
-51
-45
77
0
0
0
0
0
0
0
-1
-27
89
2
-9
6
-34
54
-140
-8
0
0
0
0
0
0
1
-4
-47
9
-35
38
0
-28
-51
-38
-3
0
0
0
0
0
0
0
0
-5
-8
-106
-11
-87
113
-27
163
0
0
0
0
0
0
0
0
0
0
0
3
-3
-12
0
-3
0
-2
0
0
0
0
0
0
0
-2
4
17
0
-3
-25
24
73
-205
38
6
1
0
0
0
0
-1
25
-75
8
-9
-15
18
-2
40
77
-7
117
-1
0
0
0
0
0
27
58
19
-5
31
-8
77
49
139
7
-72
4
0
0
0
0
-1
0
4
10
20
-19
47
33
72
9
-20
139
21
0
0
0
0
0
0
0
-16
-12
35
41
-1
34
103
81
33
21
0
0
0
0
0
2
4
5
-29
-54
-35
2
-63
-31
-42
-73
-4
0
0
0
0
0
-4
1
-8
-5
-76
-37
-16
-26
78
-2
-3
0
0
0
0
0
0
0
0
0
0
40
57
-23
-14
35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
14
-3
0
0
0
0
0
0
0
0
13
0
11
12
22
39
0
52
-2
0
0
0
0
0
0
0
-1
-75
-77
29
97
48
178
-35
5
-7
-2
0
0
0
0
0
0
3
85
-87
-89
41
13
77
-22
44
-4
-2
0
0
0
0
0
0
19
-84
-66
-37
-130
28
5
-31
20
-12
0
0
0
0
0
0
0
0
-8
37
-98
117
-82
27
-63
-4
26
0
0
0
0
0
0
0
0
-23
52
-39
-31
26
-67
-27
-2
-12
0
0
0
0
0
0
0
0
0
31
35
-31
-15
-4
-4
-7
0
19
0
0
0
0
0
0
0
0
0
-8
-11
-55
0
-13
0
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
-15
-58
0
-137
41
27
-18
29
22
7
0
0
0
0
0
0
-18
-43
-8
-38
-44
-36
35
84
150
8
0
-8
0
0
0
0
0
17
23
-1
-26
13
-34
76
96
46
38
71
-7
0
0
0
0
0
4
-7
-30
-40
10
23
55
60
55
51
-39
1
0
0
0
0
0
13
3
-7
-7
7
6
25
34
14
-11
107
-2
0
0
0
0
0
-9
49
-32
-22
-6
-45
-15
-5
10
37
21
0
0
0
0
0
0
0
-9
-29
-8
-43
-4
21
74
96
89
-72
-6
0
0
0
0
0
0
-6
-12
22
-5
23
33
59
-23
6
62
9
0
0
0
0
0
0
0
0
0
0
67
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-67
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
77
67
-16
-53
1
0
0
0
0
0
0
0
0
-2
0
-2
-20
131
-169
161
-99
0
0
0
0
0
0
0
0
0
0
1
0
0
13
-24
-25
-58
-1
0
0
0
0
0
0
0
0
-10
0
1
11
32
40
-57
16
-1
0
0
0
0
0
0
0
0
0
0
-1
15
-9
114
0
-104
0
0
0
0
0
0
0
0
0
0
0
0
4
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
4
-2
-12
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
55
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-45
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-18
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
34
-39
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-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
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
-17
7
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
47
20
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
4
45
124
-42
0
0
0
0
0
0
0
0
0
0
-7
-1
1
-3
15
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-82
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
-2
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
-10
0
0
0
0
0
0
0
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
-6
3
0
0
0
0
0
0
0
0
0
-3
0
0
-6
31
135
-7
-5
0
0
0
0
0
0
0
0
0
0
-5
-8
22
35
20
78
3
0
0
0
0
0
0
0
0
0
-5
-5
0
-11
-85
32
21
-3
0
0
0
0
0
0
0
0
0
3
-1
2
14
-76
-49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
14
0
0
0
0
0
0
0
0
0
1
3
-3
0
0
4
5
1
0
0
0
0
0
0
0
0
0
1
-1
1
-5
-15
1
13
8
0
0
0
0
0
0
0
0
0
-2
-21
-13
8
11
0
2
4
0
0
0
0
0
0
0
0
0
-8
43
-24
-27
16
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-12
3
-1
3
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
0
0
0
0
0
0
0
0
0
0
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
2
0
0
2
0
0
0
0
0
0
0
0
-1
-1
-33
6
3
-10
10
1
-1
5
0
0
0
0
0
0
0
0
8
6
-17
32
-5
18
13
8
-24
3
0
0
0
0
0
0
0
3
-56
-86
-41
-33
-50
-14
-4
-4
0
0
0
0
0
0
0
0
-16
-19
156
-39
53
3
-11
0
7
1
0
0
0
0
1
0
1
1
0
-15
-24
-5
-18
26
-4
0
0
0
0
0
0
0
0
0
7
-4
-45
-31
1
1
0
0
0
0
0
0
0
0
0
0
-3
-6
-4
13
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
8
0
0
0
19
13
-167
48
46
-82
64
0
0
0
0
0
3
-3
0
0
0
-24
-24
-18
126
50
-11
-11
0
0
0
0
0
2
-2
7
71
-40
106
64
79
75
68
37
-43
0
0
0
0
-2
-2
13
-12
26
-2
2
-64
-50
53
60
2
92
0
0
0
0
2
-42
-16
-4
34
-29
100
32
123
162
-9
24
68
0
0
0
0
12
-28
-11
30
62
-19
16
110
21
0
46
-13
1
0
0
0
-4
0
-11
-9
52
1
6
11
69
-28
-55
12
9
0
0
0
0
0
0
-1
-1
1
0
2
-18
32
-1
26
4
1
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
12
0
0
-5
13
-7
28
-22
35
8
0
0
0
0
1
-2
11
0
31
-3
-1
-7
-16
1
-7
39
0
0
0
0
0
2
-1
1
-72
57
81
42
-1
41
72
26
-46
-5
0
0
0
0
2
-10
9
43
156
-95
56
-38
8
39
13
-62
16
0
0
0
0
-2
2
-26
-4
104
30
63
-23
21
57
6
75
79
0
0
0
0
11
-3
-18
38
-27
76
130
68
9
4
24
35
22
0
0
0
0
4
6
-8
53
115
3
141
-23
6
77
68
-60
-48
0
0
0
0
0
0
-1
9
-65
-14
40
44
-24
22
84
-21
0
0
0
0
0
0
0
0
0
0
0
-5
40
-17
6
22
0
0
0
0
0
0
0
0
0
0
0
0
40
-86
114
-151
-33
10
-91
0
0
0
0
0
0
0
0
2
9
-16
19
-75
-24
-33
19
32
0
0
0
0
0
0
0
1
17
-21
33
46
-86
-4
-70
-84
-2
0
0
0
0
0
0
0
-1
1
8
-77
126
12
107
101
51
16
0
0
0
0
0
0
0
12
13
56
-5
119
93
-5
3
-113
6
0
0
0
0
0
2
0
0
-2
16
22
12
42
20
-38
99
0
0
0
0
0
0
0
0
0
1
-2
7
83
-36
4
36
-1
0
0
0
0
0
0
0
0
0
0
0
12
17
49
-37
93
9
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-2
-42
72
0
0
0
0
0
0
0
0
0
0
-45
121
15
17
-24
40
-61
34
0
0
0
0
0
0
1
0
-22
-26
0
8
50
62
23
89
-70
0
0
0
0
0
0
0
-4
-12
91
12
-25
14
51
84
-100
-39
0
0
0
0
0
0
-3
-1
-31
-73
160
30
-28
-62
61
86
-24
0
0
0
0
0
3
-2
-9
0
16
-130
27
-7
89
57
-11
8
0
0
0
0
0
0
0
2
0
75
-9
-58
51
103
63
74
11
0
0
0
0
0
0
0
-3
0
-1
50
41
12
88
48
77
-1
0
0
0
0
0
0
0
0
0
10
-1
69
46
34
52
22
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
1
0
0
0
10
-15
137
-32
-108
66
-3
0
0
0
0
0
-6
3
0
23
0
-22
77
88
5
-8
-15
-12
0
0
0
0
0
-3
1
73
8
6
-78
16
26
45
0
104
-35
0
0
0
0
1
0
-1
2
66
158
-50
132
16
9
-2
119
-90
0
0
0
0
0
-8
50
61
66
-5
-16
3
33
14
7
-76
2
0
0
0
0
1
-10
-25
11
-37
-15
105
-100
6
39
81
-2
0
0
0
0
0
-1
0
-1
12
30
17
58
55
-133
-58
32
-1
0
0
0
0
0
0
0
0
-4
9
-5
-3
-3
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
2
-5
-1
30
2
-2
0
0
0
0
0
0
0
0
0
0
0
-18
3
-99
-18
101
21
0
0
0
0
0
0
0
0
1
0
-7
-3
64
-58
-3
55
71
0
0
0
0
0
0
0
0
2
10
-13
5
20
-32
103
-3
-22
-2
0
0
0
0
0
0
0
0
-4
-2
13
10
133
74
3
0
0
0
0
0
0
0
0
0
0
-3
-4
8
1
4
59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-14
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
-17
-9
90
47
60
0
0
0
0
0
0
0
0
0
-1
85
-4
31
-19
-24
50
67
0
0
0
0
0
0
0
2
1
4
-95
105
71
142
59
141
37
0
0
0
0
0
0
0
-4
14
-10
39
69
119
116
101
35
87
0
0
0
0
0
0
0
-29
7
-6
-19
-76
-25
29
107
98
1
0
0
0
0
0
0
-7
32
-12
5
-47
59
23
54
32
58
-31
0
0
0
0
0
0
0
1
3
7
-91
-43
63
76
-15
36
-2
0
0
0
0
0
0
0
0
0
0
2
-22
-21
-101
27
37
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-12
12
-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
-7
57
25
-17
-8
115
22
7
0
0
0
0
0
0
4
6
53
4
-22
119
9
20
4
-28
0
0
0
0
0
0
0
0
2
-6
8
-10
-11
-6
-10
173
-1
-1
0
0
0
0
0
0
2
-2
-2
2
2
0
11
92
104
-13
68
0
0
0
0
0
0
0
0
-3
-5
4
-5
22
94
-57
5
15
0
0
0
0
0
0
0
0
0
0
0
-1
-27
29
0
50
3
0
0
0
0
0
0
0
0
0
0
0
-3
66
-34
194
64
33
0
0
0
0
0
0
0
0
0
0
0
1
-6
-32
-60
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-29
-73
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
48
43
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
7
52
-40
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
25
82
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-22
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
34
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
1
2
8
38
16
-49
-10
0
0
0
0
0
0
0
0
0
-6
-4
16
11
-3
-38
-62
-38
0
0
0
0
0
0
0
0
-1
2
0
2
0
-11
88
157
8
0
0
0
0
0
0
0
0
0
-3
0
-4
-1
72
139
33
7
11
0
0
0
0
0
0
0
0
0
0
0
0
17
79
82
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
154
-20
7
7
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
-4
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
-1
-2
1
-8
44
-51
-16
6
0
0
0
0
0
0
0
0
-3
0
-2
1
69
-105
-16
64
0
0
0
0
0
0
0
0
-2
-1
4
2
0
11
-3
24
3
0
0
0
0
0
0
0
0
1
0
0
0
-4
44
56
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
14
19
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
8
-18
-1
34
-15
18
0
0
0
0
0
0
0
0
0
-12
22
-10
0
4
17
-15
1
0
0
0
0
0
0
0
0
0
-1
-5
-29
-22
-20
-13
-3
35
0
0
0
0
0
0
0
0
-2
1
-34
-24
4
16
24
-2
-2
0
0
0
0
0
0
0
0
0
-6
50
-6
2
-8
-2
47
9
0
0
0
0
0
0
0
0
0
18
0
-4
-14
32
-5
-4
4
0
0
0
0
0
0
0
0
0
0
-3
0
-7
12
-3
-5
0
-3
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
1
0
2
19
13
-10
-34
45
-10
-1
0
0
0
0
0
0
0
0
-1
20
-1
17
50
15
-3
-2
0
0
0
0
0
0
0
0
-1
-13
-6
-16
86
-9
15
27
-4
10
0
0
0
0
0
0
0
7
60
-56
-16
-3
-9
66
4
-22
-1
0
0
0
0
0
0
0
-10
11
19
-19
-21
-29
16
19
-15
-13
0
0
0
0
0
0
0
0
10
-6
9
13
-7
-28
166
97
11
0
0
0
0
0
0
0
1
26
-9
1
36
51
-4
53
63
64
0
0
0
0
0
0
0
0
0
0
-7
-4
-55
65
-13
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
-15
20
70
-49
15
-5
11
-3
0
0
0
-1
5
2
-7
0
-18
8
-35
155
-23
12
46
-47
-1
0
0
0
0
1
-14
-1
-114
-22
-48
27
-6
-50
-9
47
26
-18
0
0
0
0
-2
8
-20
-47
25
78
40
-137
16
32
24
-70
65
0
0
0
0
0
-11
-2
-4
-17
36
38
-59
134
64
-16
-13
0
0
0
0
0
4
-7
5
-50
27
-122
-43
-4
-11
10
25
-3
0
0
0
0
0
0
1
-7
-3
-24
46
-14
11
15
-6
6
0
0
0
0
0
0
0
0
0
0
2
-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
1
-3
-42
0
2
36
3
-34
38
-53
36
0
0
0
0
0
-2
-50
-36
0
-2
23
-34
-11
39
-60
48
4
0
0
0
0
-2
3
10
14
-9
-2
9
-15
-32
-15
99
-144
44
0
0
0
0
-2
2
-4
22
-12
24
7
32
-8
80
56
-52
-70
0
0
0
0
0
0
54
-118
-11
-15
0
2
23
9
-17
38
145
0
0
0
0
4
17
47
-28
-6
12
11
61
70
45
-77
113
-4
0
0
0
0
0
1
-5
-3
0
133
32
-19
-3
94
55
20
-77
0
0
0
0
0
0
-7
29
-38
78
11
-27
-28
-48
-117
-115
-10
0
0
0
0
0
0
0
0
0
-1
-65
14
95
14
-7
0
0
0
0
0
0
0
0
0
-40
60
0
163
57
95
92
116
6
0
0
0
0
0
-1
2
15
62
0
-5
71
26
51
93
-27
13
-4
0
0
0
0
0
1
28
1
8
-37
-14
37
-26
81
-51
-6
0
0
0
0
0
0
-2
0
14
51
54
-91
-80
-55
16
-11
-1
2
0
0
0
0
0
0
-27
58
-45
3
-1
-71
76
-10
-7
29
0
0
0
0
0
0
-11
-103
26
-7
69
-23
-1
-54
-3
-38
0
0
0
0
0
0
-2
-23
31
-46
29
-6
9
-93
-86
-31
0
0
0
0
0
0
-1
6
-8
19
-36
-17
68
151
-104
-2
36
0
0
-9
0
0
1
-2
-1
10
-7
25
-134
-142
-114
69
12
-5
0
0
0
0
0
0
0
0
0
6
11
76
0
-12
31
-66
93
-1
-1
0
0
0
0
0
0
2
-19
22
0
12
17
-81
-116
-75
124
-1
0
0
0
0
0
0
0
10
1
-25
102
45
48
34
-136
104
-1
0
0
0
0
0
0
-1
4
-44
84
-53
-10
-53
23
-28
71
-3
0
0
0
0
0
0
0
12
-10
28
-20
-15
-77
-91
94
-63
-7
0
0
0
0
0
0
-4
2
109
-46
7
-10
31
131
-115
3
-4
0
0
0
0
0
21
7
-2
48
-2
-20
25
-46
-116
65
2
-5
0
0
0
0
0
0
0
-1
-8
0
-40
43
11
-50
12
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
1
0
0
0
0
0
0
0
0
0
0
0
43
-11
0
57
8
88
49
-35
22
13
-9
0
0
0
0
0
-10
22
1
-18
3
6
30
-73
49
1
-40
-1
0
0
0
0
-1
0
11
-145
34
-15
40
66
97
107
41
28
0
0
0
0
0
0
2
-32
20
4
13
36
32
38
62
143
-22
-39
0
0
0
0
0
8
29
7
2
-4
-44
60
-112
-23
-2
62
-17
0
0
0
0
6
-3
-2
89
106
2
13
3
-38
42
-3
28
0
0
0
0
0
-3
-2
25
-5
15
-84
-99
-34
-30
17
48
0
0
0
0
0
0
0
0
0
-1
-15
-12
-7
16
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
-9
0
-3
56
3
23
-2
4
-16
5
0
0
0
0
0
0
5
0
-63
39
-19
31
-6
25
-9
-62
0
0
0
0
0
0
0
0
5
-78
118
-13
-57
27
77
18
5
2
0
0
0
0
0
0
-2
-50
2
44
-53
96
67
-54
-6
20
13
0
0
0
0
0
0
0
37
61
82
-36
-47
-50
-3
23
13
4
0
0
0
0
0
0
0
31
-2
53
-24
-37
40
22
-14
-3
-1
0
0
0
0
0
0
0
-15
15
17
142
29
28
3
0
-12
0
0
0
0
0
0
0
0
0
-2
-13
-1
3
-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
1
35
0
18
39
37
79
13
-115
20
1
0
0
0
0
0
0
110
0
60
60
-10
77
-23
11
40
67
-17
0
0
0
0
0
0
0
-92
90
83
-10
53
8
87
-48
50
-9
0
0
0
0
0
0
3
-39
63
35
80
168
-51
8
-6
60
-2
0
0
0
0
0
1
-51
-41
57
-46
-30
24
72
7
59
-142
76
0
0
0
0
0
0
72
55
-26
27
2
-29
88
-2
56
49
-7
0
0
0
0
0
-1
-51
23
-43
-47
24
-32
-38
2
34
7
-8
0
0
0
0
0
0
-58
-129
25
-106
-65
24
-14
-36
14
7
0
0
0
0
0
0
0
0
-3
-10
21
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
19
-73
-44
7
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-32
119
45
-19
1
0
0
0
0
0
0
0
0
0
0
0
1
-34
88
-115
77
16
0
0
0
0
0
0
0
0
0
0
0
0
7
-50
10
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
125
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
14
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
-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
-3
6
57
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
50
22
-57
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
57
79
22
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
4
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
1
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
34
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
2
14
-19
-13
0
0
0
0
0
0
0
0
0
0
0
-1
4
10
4
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
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
1
-13
-1
0
3
0
-3
4
-14
0
0
0
0
0
0
0
0
0
13
-13
1
13
6
20
-5
20
0
0
0
0
0
0
0
0
0
-5
2
28
20
-15
-17
-43
-11
-1
0
0
0
0
0
0
0
0
1
-8
-6
5
-26
51
7
1
8
0
0
0
0
0
0
0
0
0
0
1
-25
-9
-13
0
-1
9
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
9
0
0
0
8
60
65
4
-47
-50
30
0
0
0
0
1
0
-2
4
0
0
54
174
157
73
133
-136
-29
0
0
0
0
0
0
0
21
45
75
69
189
34
79
37
48
-23
0
0
0
0
0
-1
-1
2
19
71
122
140
115
70
5
-80
35
0
0
0
0
0
0
0
-2
6
-19
21
106
-19
19
-80
104
7
0
0
0
0
0
0
0
0
-1
-67
59
-48
109
-57
85
36
-11
0
0
0
0
0
0
0
0
-1
-6
-11
44
14
21
31
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
4
-3
0
0
0
135
-9
3
-44
30
71
5
0
0
0
0
0
-1
7
-28
26
-11
0
-14
18
35
-36
-32
29
0
0
0
0
0
1
0
-31
-35
68
92
39
8
44
33
32
-27
0
0
0
0
3
-9
7
-21
49
119
94
2
47
20
9
36
13
0
0
0
0
0
6
1
12
30
-9
36
36
18
21
14
55
-39
0
0
0
0
0
2
1
-1
-4
-40
94
-25
16
3
1
110
76
0
0
0
0
0
0
0
2
-23
-4
-35
-4
-4
15
-44
-74
19
0
0
0
0
0
0
0
-1
-3
9
43
0
52
23
-23
-114
35
0
0
0
0
0
0
0
0
0
0
4
28
37
-3
-38
0
0
0
0
0
0
0
-2
0
0
0
0
-5
-69
-9
92
-64
71
23
0
0
0
0
0
0
0
0
4
-4
41
50
-76
52
-44
-1
-15
0
0
0
0
0
0
-2
0
0
-20
52
58
149
-23
-94
10
3
0
0
0
0
0
0
0
0
4
5
-47
120
115
-62
-10
42
63
0
0
0
0
0
0
0
0
0
1
-3
58
120
-32
-9
-17
31
0
0
0
0
0
0
0
0
0
0
13
-19
48
30
76
5
-52
0
0
0
0
0
0
0
0
0
1
-14
16
53
84
31
83
58
0
0
0
0
0
0
0
0
0
0
0
16
43
64
49
-42
2
0
0
0
0
0
0
0
0
0
0
0
-4
-17
131
-62
-22
133
0
0
0
0
0
0
0
0
0
-56
-132
37
-12
-6
-28
-28
13
0
0
0
0
0
0
0
0
1
74
0
75
61
27
-11
-21
-47
0
0
0
0
0
0
0
0
3
6
89
82
19
95
166
80
59
0
0
0
0
0
0
1
0
-14
0
45
49
81
66
29
50
45
0
0
0
0
0
0
0
0
4
-12
-89
-16
109
33
-6
-33
12
0
0
0
0
0
0
0
0
-8
-14
73
-20
78
-30
48
97
-50
0
0
0
0
0
0
0
0
-3
0
-8
64
48
-68
-23
43
33
0
0
0
0
0
0
0
0
0
0
6
-5
-8
-68
39
-32
-158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
3
2
0
0
-8
146
52
37
-43
45
7
0
0
0
0
0
0
3
0
4
0
0
113
77
115
-72
-57
70
0
0
0
0
0
0
-11
-2
35
26
23
6
82
91
70
67
74
0
0
0
0
0
0
-3
8
16
103
-259
207
110
-1
77
169
-34
0
0
0
0
0
0
0
0
-4
42
207
128
36
67
-88
105
28
0
0
0
0
0
0
0
2
0
0
16
20
26
77
7
-16
0
0
0
0
0
0
0
0
0
2
3
-48
-69
58
76
28
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-57
16
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
-2
78
23
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
40
-82
-28
10
-7
0
0
0
0
0
0
0
0
0
0
1
-3
19
-113
-64
80
13
-3
0
0
0
0
0
0
0
0
0
12
3
107
-14
82
3
-39
0
0
0
0
0
0
0
0
0
0
-3
-29
19
-34
10
22
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
24
-29
145
-11
13
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
137
-6
-39
-8
-30
22
0
0
0
0
0
0
0
0
0
0
72
-66
120
40
84
16
87
0
0
0
0
0
0
0
-4
1
1
-44
93
60
157
45
-19
73
0
0
0
0
0
0
0
0
0
7
90
75
55
-25
39
-22
-40
0
0
0
0
0
0
0
-3
4
-6
55
29
14
179
-58
-51
21
0
0
0
0
0
0
0
0
2
0
31
64
42
48
-34
105
43
0
0
0
0
0
0
0
0
0
0
-11
22
-61
57
-100
-27
-23
0
0
0
0
0
0
0
0
0
0
17
-6
-25
-38
-61
-70
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-3
33
70
-83
-25
-4
0
0
0
0
0
0
0
-4
-4
0
31
72
27
111
1
51
-27
0
0
0
0
0
0
0
-4
0
-2
2
0
55
117
-134
47
-14
0
0
0
0
0
0
0
-2
2
6
-5
23
17
105
61
-11
-37
0
0
0
0
0
0
0
0
-6
-3
-2
-8
169
-116
52
-25
20
0
0
0
0
0
0
0
0
1
-2
-1
-7
-11
71
-80
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
-31
-40
53
62
64
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-34
11
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
34
-155
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-28
3
0
0
0
0
0
0
0
0
-1
0
0
-1
1
11
-22
33
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
76
69
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
8
-43
-66
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-76
9
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
44
-67
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
-5
2
0
0
0
0
0
0
0
0
-6
-4
0
8
-8
78
3
9
-7
2
0
0
0
0
0
0
0
-1
-3
11
-2
0
4
-11
-19
25
-1
0
0
0
0
0
0
0
0
-9
0
-5
0
0
10
39
29
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-13
-75
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
-73
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
-39
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-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
-22
94
-40
100
-38
0
0
0
0
0
0
0
0
0
2
0
8
3
22
-15
70
27
29
0
0
0
0
0
0
0
0
-2
0
0
-1
-17
-144
8
24
15
0
0
0
0
0
0
0
0
0
0
0
16
85
3
-52
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
-116
34
-38
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-20
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
13
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
-36
6
-34
-2
-11
-13
0
0
0
0
0
0
0
0
0
13
35
-12
-24
46
40
24
19
23
0
0
0
0
0
0
0
0
-1
-19
61
-33
0
-32
26
28
5
3
0
0
0
0
0
0
0
0
23
55
34
16
-33
12
13
8
-2
0
0
0
0
0
0
0
0
0
11
4
46
35
93
1
-31
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-31
-119
5
-3
0
0
0
0
0
0
0
0
0
0
0
3
-4
5
-10
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
116
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-7
0
0
0
0
0
0
0
0
0
2
-1
29
1
7
-31
7
-3
0
0
0
0
0
0
0
0
-22
0
-40
6
-16
-24
0
7
34
0
0
0
0
0
0
0
-2
32
63
-37
20
11
37
-1
13
-25
0
0
0
0
0
0
0
0
8
-16
-5
88
6
-10
38
90
-15
0
0
0
0
0
0
0
0
2
-19
-19
-1
82
-20
-45
-66
-72
0
0
0
0
0
0
0
0
0
0
-62
3
-137
70
-36
-7
31
0
0
0
0
0
0
0
0
0
0
1
-13
8
-8
-52
43
25
0
0
0
0
0
0
0
0
0
0
0
7
-11
-113
119
-106
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
38
131
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
-2
-3
-13
19
0
-7
-87
57
73
37
34
-13
1
0
0
0
1
-1
-6
-5
50
14
46
-29
0
206
47
47
-35
0
0
0
0
0
8
-4
-27
28
-4
-27
70
-3
-23
62
35
20
0
0
0
0
0
0
5
45
101
-8
108
51
52
23
48
-38
-45
-6
0
0
0
0
0
0
10
11
-22
-62
15
85
21
46
-26
-2
4
0
0
0
0
0
0
0
3
2
63
104
-58
8
-9
-24
-53
12
0
0
0
0
0
0
0
0
0
1
37
-25
-7
-18
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
3
33
62
7
0
-24
42
54
73
83
67
0
0
0
0
0
-1
0
-3
28
37
54
11
-24
-22
27
-30
-41
-140
0
0
0
0
0
0
-4
5
-84
-44
47
-3
-2
63
44
-115
-16
0
0
0
0
0
0
-1
12
-110
12
3
37
49
76
39
-60
-2
0
0
0
0
0
0
0
-12
-110
-54
70
-20
26
53
115
31
9
0
0
0
0
0
0
0
6
36
-80
-22
-47
51
94
71
-70
-22
0
0
0
0
0
0
-1
0
-2
-16
83
35
-18
73
39
17
-35
0
0
0
0
0
0
0
0
-8
23
34
-20
38
-96
62
-98
-95
0
0
0
0
0
0
0
0
0
0
0
-81
-50
18
10
0
0
0
0
0
0
3
3
-2
-35
-13
0
10
-28
32
26
20
41
0
0
0
0
0
0
0
1
-82
63
-61
53
30
24
101
97
48
0
0
0
0
0
0
0
0
18
66
131
-52
101
63
86
-25
23
-3
0
0
0
0
0
0
0
0
121
-46
100
-6
69
131
55
40
0
0
0
0
0
0
0
0
-1
59
13
8
-48
-87
-88
-33
-3
1
0
0
0
0
0
0
0
0
8
0
7
-13
80
28
-81
-1
0
0
0
0
0
0
0
0
0
0
0
19
-4
49
57
3
-21
0
0
0
0
0
0
0
0
0
0
-7
24
-21
-33
-68
-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
9
76
-54
0
53
134
-5
38
60
26
0
0
0
0
0
0
0
14
-31
-24
-47
92
-27
-30
-59
44
-23
0
0
0
0
0
0
0
0
-4
105
9
-48
46
-11
-175
109
-18
0
0
0
0
0
0
0
0
-2
-25
18
-71
-32
14
-56
-31
22
0
0
0
0
0
0
0
0
0
-4
-18
65
14
-14
-62
-15
-1
0
0
0
0
0
0
0
0
0
-15
-15
14
-9
-28
65
24
-9
0
0
0
0
0
0
0
0
0
-16
-6
5
-68
28
33
-6
4
0
0
0
0
0
0
0
0
0
26
0
-34
-4
35
-7
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
1
3
-57
-25
0
-5
55
-67
102
36
-10
-88
14
0
0
0
0
-8
9
75
-46
32
0
17
23
136
-57
-44
-61
27
0
0
0
0
0
0
22
3
0
2
67
131
0
-19
10
-46
-19
0
0
0
0
0
0
8
44
8
16
38
54
70
182
-53
-43
-39
0
0
0
0
0
0
0
-2
-19
40
19
51
63
-83
-34
-195
-3
0
0
0
0
0
0
0
1
12
59
26
-37
-12
26
-65
6
2
0
0
0
0
0
0
0
0
11
-9
-35
-10
14
-59
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-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
-3
-2
0
-115
13
-21
42
-5
-3
-7
0
0
0
0
0
0
0
-8
-63
-61
56
119
-36
-18
-52
3
-52
1
0
0
0
0
0
0
0
-2
18
-17
16
106
59
-16
-10
-38
-1
0
0
0
0
0
0
0
15
-38
-5
69
23
0
15
-22
29
-3
0
0
0
0
0
0
0
3
22
-21
3
5
-114
16
-10
-12
5
0
0
0
0
0
0
0
0
18
-15
-10
-62
-20
-38
18
18
-1
0
0
0
0
0
0
0
0
0
0
-3
-5
-64
33
-4
-4
0
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
0
0
0
0
0
0
0
0
0
0
4
17
0
65
9
11
-3
-6
19
-3
6
0
0
0
0
0
0
33
-99
81
147
7
-57
-63
27
50
85
-11
0
0
0
0
0
0
14
-20
-75
-26
54
54
-41
-16
79
-6
18
0
0
0
0
0
0
-1
4
-10
2
77
-47
-34
0
-43
-25
63
0
0
0
0
0
0
3
52
34
94
64
-76
-39
55
38
-29
38
0
0
0
0
0
0
0
-5
8
9
-1
-17
2
13
-3
-59
96
0
0
0
0
0
0
0
8
14
65
82
37
26
-8
-146
-28
83
0
0
0
0
0
0
0
0
-1
0
-9
-2
-8
-65
4
-21
-2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
68
-60
32
19
44
0
-6
0
0
0
0
0
0
0
-12
-8
-83
41
-24
7
5
40
-6
0
0
0
0
0
0
0
0
-81
9
-81
-4
1
52
8
-2
0
2
0
0
0
0
0
0
0
-45
-126
25
3
-31
-49
0
0
-3
0
0
0
0
0
0
0
0
33
-170
-130
-179
110
22
-2
0
0
0
0
0
0
0
0
0
0
13
65
13
28
5
-24
5
0
0
0
0
0
0
0
0
0
0
-13
-65
38
-61
29
15
0
0
0
0
0
0
0
0
0
0
0
-24
91
51
-49
10
-10
0
0
0
0
0
0
0
0
0
0
0
6
33
-33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-63
69
6
1
-1
-2
0
0
0
0
0
0
0
0
0
6
-135
65
18
57
-4
4
0
0
0
0
0
0
0
0
0
0
-21
48
4
68
0
0
0
0
0
0
0
0
0
0
0
0
0
17
11
-32
-61
4
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
10
23
20
0
0
0
0
0
0
0
0
0
0
0
0
9
10
4
-23
-13
-1
0
0
0
0
0
0
0
0
0
0
0
4
-8
-43
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-173
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-7
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-80
-48
-51
8
0
-3
0
0
0
0
0
0
0
0
0
2
75
-153
-15
-44
-2
0
0
0
4
0
0
0
0
0
0
0
-7
83
98
-7
2
-4
0
0
0
0
0
0
0
0
0
0
0
10
6
-133
23
43
0
0
0
0
0
0
0
0
0
0
0
0
-1
-61
7
16
-15
1
0
0
0
0
0
0
0
0
0
0
0
7
14
-51
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-9
-79
11
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
-34
-24
-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
-27
-72
2
33
-1
-2
-3
0
0
0
0
0
0
0
0
0
-67
-29
-31
-74
55
33
-1
-7
-2
0
0
0
0
0
0
0
0
9
7
59
91
-27
-6
0
0
0
0
0
0
0
0
0
0
0
2
-148
37
-19
92
-4
0
0
0
0
0
0
0
0
0
0
0
3
16
-111
49
-21
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-74
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-47
5
-8
8
-3
0
-5
0
0
0
0
0
0
0
0
0
7
-40
78
-53
53
77
91
5
4
0
0
0
0
0
0
0
0
-2
-1
-148
-32
-44
-5
96
-10
8
0
0
0
0
0
0
0
0
-23
34
-31
47
19
66
28
31
0
0
0
0
0
0
0
0
0
-22
-15
-40
-212
42
1
-1
0
-9
0
0
0
0
0
0
0
0
-19
-76
49
-98
39
6
0
2
0
0
0
0
0
0
0
0
0
-28
-74
-151
-5
6
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-114
-38
-18
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
-6
-3
-63
37
38
3
-61
-35
0
0
0
0
0
0
0
0
0
-56
-25
19
-85
62
57
9
-27
0
7
0
0
0
0
0
0
0
1
23
16
-91
-60
35
96
55
-39
-7
0
0
0
0
0
0
0
36
-124
30
204
-41
48
-44
-14
15
7
0
0
0
0
0
0
0
-74
36
15
57
22
-25
-88
-2
2
0
0
0
0
0
0
0
0
-67
-70
-57
-105
26
50
19
6
-18
0
0
0
0
0
0
0
0
-46
40
-69
28
-53
-50
2
10
0
0
0
0
0
0
0
0
0
-23
-112
45
88
7
-1
-3
0
3
0
0
0
0
0
0
0
0
-44
-104
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
86
-60
41
-60
19
0
26
35
-40
0
0
0
0
0
-3
-54
-70
2
-16
19
-19
16
21
100
98
-93
-11
1
-3
0
0
-24
-34
48
1
69
12
-6
17
11
13
152
50
12
0
0
0
0
7
-154
42
-57
-41
84
42
54
85
43
10
-10
0
14
0
0
0
-2
25
1
-39
-40
28
68
103
43
67
16
20
7
0
0
0
0
6
53
53
-36
51
-124
36
13
-38
-40
22
0
0
0
0
0
0
-3
4
35
46
58
-84
-128
29
1
-3
0
0
0
0
0
0
0
-4
49
-1
-43
6
6
-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
48
-3
-66
16
8
-87
-22
0
-69
32
-36
-8
-8
0
0
0
0
-178
-61
-43
-61
-10
-109
38
7
136
-6
10
62
15
0
0
0
0
3
-45
-13
0
-51
-28
-70
-71
2
-63
48
-66
5
0
0
0
0
-125
-24
-71
-69
-5
-36
-5
36
75
85
24
26
-12
0
0
0
0
6
-66
-97
-8
-28
-29
43
11
10
-41
24
25
11
0
0
0
0
37
7
-45
-6
-54
-24
-5
10
77
-34
31
11
7
0
0
0
0
-15
-21
43
-14
-32
-8
64
3
-23
45
-35
31
15
0
0
0
0
73
17
127
51
-40
24
-30
-1
9
-8
9
8
0
0
0
0
0
0
11
5
-2
39
6
18
-45
3
45
5
-1
0
0
0
0
0
0
12
27
-87
2
-126
-75
0
37
21
-11
0
0
0
0
0
0
6
19
-23
54
-15
-21
-43
-77
175
-11
-7
2
0
0
0
0
0
2
-122
60
-63
-12
-23
-129
-1
72
48
10
1
0
0
0
0
0
6
-17
-100
114
54
-67
-94
119
75
0
1
2
0
0
0
0
0
0
-21
20
56
21
21
187
129
99
30
10
0
0
0
0
0
0
1
-18
130
51
125
55
10
-15
3
-1
0
0
0
0
0
0
0
0
-5
-144
32
6
12
26
14
21
0
0
0
0
0
0
0
0
0
0
-15
5
-13
-38
43
-27
18
2
7
0
0
0
0
0
0
0
0
0
1
-2
21
-13
0
23
0
0
0
0
0
0
0
0
0
18
38
5
-177
-105
-55
0
75
-36
-17
-3
0
0
0
0
0
0
-66
34
18
43
-92
-14
32
100
-33
-43
27
0
-3
0
0
0
0
-5
-85
18
-7
-14
-39
-48
-4
98
22
0
0
0
0
0
0
0
97
41
34
122
78
114
59
-33
39
-4
3
0
0
0
0
0
0
-17
49
15
48
18
98
19
104
7
-1
0
0
0
0
0
0
0
-13
38
-18
-128
-6
55
14
113
0
5
0
0
0
0
0
0
0
-16
-31
-59
-26
103
-62
-61
41
-3
0
0
0
0
0
0
0
0
0
3
0
106
-4
41
-9
1
0
0
0
0
0
0
0
0
0
-19
1
4
-2
-20
0
0
0
0
0
0
0
0
0
0
52
-109
46
-20
-119
-22
-55
56
0
-24
46
17
2
0
0
0
0
12
76
-75
27
-36
36
-41
-5
41
96
-8
66
2
0
2
0
0
145
4
48
85
-13
21
14
24
43
7
71
2
-1
4
0
0
0
-14
8
-44
-33
-117
100
115
38
133
-31
-36
2
0
0
0
0
0
91
49
-152
78
50
94
76
45
51
-54
0
-2
-1
0
0
0
0
-7
-115
51
45
152
60
-14
-1
-12
-18
4
-1
0
0
0
0
0
5
-57
25
-75
63
-69
71
91
-2
0
-9
0
0
0
0
0
0
0
-64
9
-14
-64
4
-2
25
0
0
0
0
0
0
0
0
0
0
10
-1
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-7
-8
-47
-31
25
119
0
30
-3
0
0
0
0
0
0
0
25
20
-13
-34
30
60
-23
87
65
1
0
0
0
0
0
0
0
-19
42
-9
73
129
-24
57
26
71
0
0
0
0
0
0
0
0
-14
35
-44
161
34
51
78
-66
10
1
0
0
0
0
0
0
3
7
-20
-92
166
59
-4
51
-3
0
0
0
0
0
0
0
0
0
4
18
-94
4
-10
2
82
0
0
0
0
0
0
0
0
0
1
-13
-2
8
-35
-3
16
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
-1
31
6
27
-7
-73
20
0
18
-116
4
0
0
0
0
0
8
73
14
12
21
-45
14
105
91
97
43
42
10
0
0
0
0
13
62
-10
-5
33
129
140
44
-24
-102
31
8
-14
0
0
0
0
-3
18
-15
3
147
127
57
67
6
89
-10
0
0
0
0
0
0
-1
-45
-3
35
204
94
-20
-37
-47
34
-37
10
0
0
0
0
0
1
33
24
73
11
60
-146
-30
15
-46
74
-3
0
0
0
0
0
0
22
41
-7
-23
-21
104
17
44
29
31
-1
0
0
0
0
0
9
27
-12
-66
-35
11
-61
67
-25
11
-9
-1
0
0
0
0
0
0
0
0
0
0
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
13
0
0
0
0
0
0
0
0
0
0
4
170
0
0
66
-105
17
7
1
0
0
0
0
0
0
0
0
-1
152
214
74
-82
0
2
8
-4
0
0
0
0
0
0
0
0
83
167
128
85
52
26
-6
0
0
0
0
0
0
0
0
0
0
2
57
21
-2
-161
-12
-1
-4
0
0
0
0
0
0
0
0
0
7
-79
15
45
-24
2
0
1
3
0
0
0
0
0
0
0
0
3
-128
82
-52
8
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
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
-54
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
2
-37
-7
-8
0
0
0
0
0
0
0
0
0
0
77
-115
66
-14
11
1
0
0
0
0
0
0
0
0
0
0
0
-68
208
70
-93
-2
2
0
0
0
0
0
0
0
0
0
0
0
-25
-3
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
-24
5
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
41
8
0
0
0
0
0
0
0
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
14
10
0
0
0
0
0
0
0
0
0
0
10
255
0
0
21
-46
21
0
0
0
0
0
0
0
0
0
0
0
210
212
82
16
39
-2
0
0
0
0
0
0
0
0
0
0
4
-64
87
66
-40
-14
-3
0
0
0
0
0
0
0
0
0
0
-11
54
-21
-83
-73
0
-6
0
0
0
0
0
0
0
0
0
0
0
7
10
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-4
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
166
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
70
185
0
0
-39
-10
0
0
0
0
0
0
0
0
0
0
0
28
160
162
180
-64
19
0
0
0
0
0
0
0
0
0
0
5
173
7
28
19
173
-6
0
0
0
0
0
0
0
0
0
0
0
70
44
9
-90
-3
0
0
0
0
0
0
0
0
0
0
0
0
96
-60
-1
-72
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
10
-4
-108
-28
14
0
0
0
11
4
0
0
0
0
0
0
-1
17
-78
-43
-68
87
0
0
0
21
-7
0
0
0
0
0
0
0
45
-68
197
94
104
204
-43
-22
-12
2
0
0
0
0
0
0
1
9
42
65
174
94
50
10
-37
-10
0
0
0
0
0
0
0
-2
-23
35
164
19
139
57
-42
-1
0
1
0
0
0
0
0
0
0
1
-24
12
131
-79
-35
-90
-26
0
0
0
0
0
0
0
0
0
0
0
39
-37
-89
-60
-32
-8
0
0
0
0
0
0
0
0
0
0
9
-5
-6
-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
6
4
0
0
0
0
0
0
26
-5
1
0
0
0
0
0
25
31
-4
-2
-34
137
0
0
0
23
33
-27
0
0
0
0
0
-34
-13
-28
-34
115
166
-71
106
-58
-52
23
-3
0
-1
0
0
0
-97
-15
5
84
224
-43
176
-26
24
18
10
0
1
0
0
0
0
10
-62
-28
159
53
96
10
-100
7
0
-15
3
0
0
0
0
0
31
4
76
-65
203
11
-79
16
-101
0
0
0
0
0
0
0
-5
-11
50
-17
-39
-68
94
58
18
14
0
0
0
0
0
0
0
0
35
-10
-4
2
16
-5
-9
40
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
86
25
11
-39
14
-107
0
0
0
0
0
0
0
0
0
0
0
60
14
1
20
-18
62
16
0
0
0
0
0
0
0
0
0
0
-3
-24
-12
-53
-72
-30
1
7
0
0
0
0
0
0
0
0
0
-45
-6
37
5
-53
21
5
37
-3
-2
0
0
0
0
0
0
0
-16
-33
46
-38
-42
14
4
-12
-13
2
0
0
0
0
0
0
0
24
-19
18
-2
12
-17
53
-63
33
1
0
0
0
0
0
0
0
-48
-22
-37
39
-83
-8
38
29
0
1
0
0
0
0
0
0
0
-1
125
65
95
13
31
33
-2
12
0
0
0
0
0
0
0
0
4
2
-35
-51
3
-7
-7
0
0
-1
0
0
0
0
0
0
0
126
13
-14
38
147
63
-6
0
0
0
-60
-20
0
0
0
0
0
74
16
-10
-37
46
75
181
0
0
8
44
36
2
0
0
0
0
27
-16
13
16
25
119
282
187
2
6
-74
-6
0
0
0
0
0
116
31
13
-10
83
108
103
120
30
-37
4
0
0
0
0
0
0
20
-11
-38
-9
-71
24
57
-43
6
-19
7
0
-3
0
0
0
0
-54
12
16
-31
-63
-38
31
-213
42
17
-19
0
-1
-3
0
0
0
-9
-49
10
57
-9
-68
-76
-97
-1
49
0
0
0
0
0
0
0
-1
19
-10
-4
-24
-27
18
-5
4
7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
23
-117
-35
-14
7
13
93
0
0
-112
-21
33
0
0
0
0
0
-59
-13
-35
-32
15
30
72
79
130
8
-32
0
11
0
0
0
0
-42
83
-29
-1
-1
33
98
71
140
-34
11
3
3
0
0
0
0
-12
25
-11
-43
-53
-3
84
53
73
-7
40
7
-1
0
0
0
0
-58
-95
-30
-37
-61
10
-16
64
-69
63
84
3
-3
0
0
0
0
40
54
-13
-27
-36
-36
-39
-92
-54
-27
-30
-4
0
0
0
0
0
-36
-21
-10
-13
-33
-32
-15
39
-4
18
-58
4
-10
0
0
0
0
0
-95
59
19
-1
-31
-22
2
-114
-26
-6
-10
0
0
0
0
0
0
0
-16
74
32
6
-18
47
-38
-3
0
0
0
0
0
0
0
7
16
22
-96
5
9
5
0
0
2
0
0
0
0
0
0
0
-64
-25
15
-4
-97
39
26
83
4
0
6
-1
0
0
0
0
0
-45
-35
15
44
-33
-114
29
-28
-41
-1
0
0
0
0
0
0
0
-22
-2
-30
76
33
71
49
-89
8
0
-2
0
0
0
0
0
0
8
-8
40
-98
73
-154
-19
3
-40
3
0
0
0
0
0
0
0
42
11
32
7
-11
-34
103
-46
-3
0
0
0
0
0
0
0
0
3
16
13
37
-89
21
-35
-2
10
-2
0
0
0
0
0
0
0
69
21
63
40
-24
0
21
0
13
1
-4
0
0
0
0
0
0
30
10
15
-13
27
0
15
4
0
0
0
0
0
0
0
0
0
114
3
-24
-27
5
9
101
-67
0
-7
0
0
0
0
0
0
0
23
5
-38
-16
39
80
0
-92
-34
10
0
0
0
0
0
0
0
81
-53
-35
36
-12
108
26
-10
-51
35
2
0
0
0
0
0
0
23
5
37
40
-94
138
64
123
48
2
0
0
0
0
0
0
0
74
-35
-19
26
-56
56
30
73
-19
-4
0
0
0
0
0
0
0
-41
13
-61
-20
-45
-84
34
52
24
-4
0
0
0
0
0
0
0
90
-27
-8
-21
-6
17
-50
-46
-1
-6
0
0
0
0
0
0
0
-42
-29
28
-63
-73
24
18
6
2
0
0
0
0
0
0
0
0
0
0
-28
48
0
0
0
0
0
0
0
0
0
0
0
0
0
49
5
-20
43
26
67
95
0
0
1
-31
13
0
0
0
0
0
67
23
17
7
44
123
174
0
160
0
-59
0
-3
3
0
0
0
-72
62
16
13
41
178
218
110
153
48
-117
148
-15
0
0
0
0
39
27
24
30
19
95
93
186
40
2
-21
-9
-2
0
0
0
0
-8
26
26
-41
29
21
102
-46
-40
-19
1
1
-8
0
0
0
0
15
-38
42
-34
-60
-13
-51
-40
-68
48
2
0
0
0
0
0
0
-46
19
38
-15
-16
-101
-55
-92
21
-4
-1
0
0
0
0
0
0
0
-66
62
45
17
-51
-22
14
0
-12
0
0
0
0
0
0
0
0
2
-1
0
17
0
1
0
0
0
0
0
0
0
0
0
0
-1
25
-110
-14
-61
-12
-49
8
0
-9
-3
-1
0
0
0
0
0
-2
-17
-55
-83
28
49
-50
0
78
0
18
13
0
0
0
0
0
2
-28
-173
11
86
258
85
174
-105
41
-21
14
0
0
0
0
0
20
23
146
85
224
108
261
51
-52
-35
15
0
0
0
0
0
0
-29
49
31
160
170
39
124
-52
-24
-8
0
-6
0
0
0
0
0
-13
180
64
97
178
60
-110
11
-8
-18
-6
0
0
0
0
0
0
53
87
125
132
123
-50
-16
0
-21
0
0
0
0
0
0
0
0
-1
97
219
156
-70
-18
1
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
71
-19
-3
-27
40
58
-22
0
0
0
-3
0
0
0
0
0
0
59
-21
-29
7
17
38
28
165
0
5
-25
-14
0
0
0
0
0
21
-23
27
89
99
197
157
90
115
-142
2
0
0
0
0
0
0
-33
-107
5
58
2
218
60
187
-34
8
0
0
0
0
0
0
0
-83
-35
-4
-21
74
69
117
16
-80
39
-3
0
0
0
0
0
0
75
37
-60
34
-10
126
82
100
-9
-3
0
0
0
0
0
0
0
-61
-36
-8
-22
20
-75
-13
24
27
-3
0
0
0
0
0
0
0
86
17
-2
56
-25
-22
-1
0
18
0
0
0
0
0
0
0
0
12
37
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
71
39
10
-18
9
-16
0
0
0
0
0
0
0
0
0
-76
-16
-85
92
-6
23
123
48
-58
1
0
0
0
0
0
0
0
11
-65
23
16
4
-2
-6
0
7
10
0
0
0
0
0
0
0
2
5
91
18
93
-41
-3
0
1
0
0
0
0
0
0
0
0
21
-87
-25
14
72
-13
0
2
0
0
0
0
0
0
0
0
0
-11
116
-85
15
41
30
4
0
0
0
0
0
0
0
0
0
0
1
-23
-31
-74
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
27
-34
0
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
-2
-16
-2
14
12
0
0
0
0
0
0
0
0
0
0
0
0
-31
-90
-29
74
-6
-12
0
1
0
0
0
0
0
0
0
0
10
40
38
-29
-23
0
0
0
0
0
0
0
0
0
0
0
0
-5
56
41
96
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
7
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-59
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
-8
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
-2
29
-47
59
-18
7
0
0
0
0
0
0
0
0
0
0
0
-20
-26
162
-16
78
-9
2
1
-2
-10
0
0
0
0
0
0
0
-18
42
46
137
92
32
2
1
0
0
0
0
0
0
0
0
0
-5
22
42
-54
53
-3
0
0
0
0
0
0
0
0
0
0
0
0
-58
53
118
53
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
-38
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
20
-5
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
-14
0
90
32
-45
-1
5
-1
0
0
0
0
0
0
0
0
0
-9
50
68
-122
45
-53
-33
9
6
2
0
0
0
0
0
0
0
5
-24
81
-28
-19
30
-4
0
0
0
0
0
0
0
0
0
0
-10
89
68
92
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
-12
33
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-12
33
-5
7
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
6
18
65
-5
-3
-2
2
0
-1
0
0
0
0
0
0
0
-14
-38
58
31
37
18
42
0
-2
0
0
0
0
0
0
0
0
9
9
-78
78
-19
45
79
-21
1
0
0
0
0
0
0
0
0
-4
-31
-64
32
-10
77
-24
0
-1
0
0
0
0
0
0
0
0
-2
22
-51
17
38
89
48
18
-2
0
0
0
0
0
0
0
0
0
14
-5
-61
-6
97
6
1
-3
0
0
0
0
0
0
0
0
0
1
-1
1
21
-2
2
-1
-8
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
-7
-6
10
-11
-28
13
-34
-20
0
0
0
0
0
0
0
0
0
-26
-72
88
50
-13
-61
-40
-15
14
0
0
0
0
0
0
0
0
52
81
-11
13
65
36
64
21
31
-2
0
0
0
0
0
0
0
-51
98
30
11
-13
-13
-36
-17
-21
0
0
0
0
0
0
0
0
150
24
1
-23
17
-33
32
-58
5
0
0
0
0
0
0
0
0
-21
4
54
-58
-31
-42
11
-32
-32
12
0
0
0
0
0
0
0
3
-3
-28
13
-4
-5
-17
2
4
2
0
0
0
0
0
0
0
0
0
0
5
-1
-8
0
-1
-17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-127
52
164
22
2
23
0
-10
19
24
9
0
0
0
0
67
8
35
-61
140
6
-3
21
-65
92
0
14
-40
0
0
0
0
3
8
-29
94
58
93
25
70
32
-5
48
16
-21
-4
0
0
0
-5
128
55
88
150
127
93
96
21
-97
-40
-14
-10
0
0
0
0
0
-68
166
96
49
152
128
169
100
-83
0
1
0
0
0
0
0
0
32
21
-20
-6
-25
92
-25
-77
-33
-3
0
0
0
0
0
0
0
0
2
33
-63
73
-32
-21
-107
-47
-7
5
0
0
0
0
0
0
0
0
0
-8
64
3
-55
21
3
-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
28
-23
68
-18
10
-90
-12
0
9
-105
-53
10
-8
0
0
0
0
-31
-16
-56
-35
-25
-72
4
-87
-144
-12
30
10
-7
13
0
0
0
22
-29
21
-5
13
-25
-10
-45
-37
-123
-45
16
-10
1
0
0
0
-20
96
-24
-23
39
-6
-13
-23
14
-137
107
34
-29
-6
0
0
0
8
80
21
14
4
5
17
16
49
-29
89
100
-11
2
0
0
0
-1
-192
17
25
-6
26
-19
-10
116
37
-34
-18
-5
0
0
0
0
3
-81
-125
-4
-15
16
9
25
-112
6
-62
-6
-11
0
0
0
0
7
2
56
17
-3
31
11
-66
25
-58
-44
3
7
5
0
0
0
0
1
4
84
25
-30
-34
-57
69
-112
-1
0
-2
0
0
0
0
1
7
-15
51
47
-61
26
0
7
4
41
8
3
-17
-6
0
0
1
3
-14
67
9
-57
59
-28
-62
19
-13
10
3
5
0
-1
0
-15
5
105
85
25
88
16
35
-27
5
39
37
-13
-1
7
0
0
0
-37
71
59
95
34
63
26
78
-27
37
10
-13
0
0
0
0
0
41
21
118
46
25
-54
82
23
-63
17
33
-5
0
-1
0
0
0
2
120
74
49
18
-39
6
-41
-2
12
-69
1
14
-7
0
0
0
2
-4
-59
-52
-119
42
-19
-1
-11
33
93
-50
8
1
0
0
0
0
-13
36
-69
8
29
-15
20
-40
-30
27
-31
-14
0
1
0
0
0
0
42
-14
-57
-116
-25
-2
-36
10
-13
11
7
-1
0
0
0
22
35
8
55
2
33
0
63
-61
-17
9
6
0
0
0
0
0
64
92
91
30
-58
25
-39
-62
-17
-34
-38
-2
0
0
0
0
0
81
6
80
-3
24
61
-37
19
72
56
3
-8
0
0
0
0
0
86
38
18
80
41
117
24
120
46
17
0
0
1
0
0
0
0
17
74
-12
162
71
54
25
32
22
2
0
-8
0
0
0
0
0
8
26
149
-32
29
56
19
-45
-10
-18
-5
0
-6
0
0
0
0
6
-25
-80
16
4
10
70
-24
-89
66
-60
-3
0
0
0
0
0
0
8
27
73
63
36
-46
-35
-40
-11
1
16
0
0
0
0
0
0
0
3
-6
32
1
-10
0
0
0
0
0
0
0
0
-4
70
-26
-14
75
-7
-42
40
0
-3
-57
-22
-3
-1
0
0
0
6
129
4
50
-10
39
5
-17
-59
35
-58
44
-3
7
0
0
0
29
40
64
33
-15
-2
77
35
40
7
55
-15
1
2
0
0
0
0
24
47
59
102
26
8
86
61
-23
-66
0
3
0
0
0
0
2
-117
-57
41
41
35
90
55
117
74
-6
9
1
-1
0
0
0
-3
2
-46
142
-45
99
2
107
42
160
-3
0
1
0
0
0
0
0
4
15
49
88
17
-38
-126
6
-3
9
0
-2
0
0
0
0
0
0
0
-8
19
-25
-27
13
-24
-3
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-14
32
14
-59
13
-118
0
-18
0
0
0
0
0
0
0
6
5
-12
18
85
109
143
-24
-2
42
2
0
0
0
0
0
0
0
-16
28
88
20
17
-125
32
142
46
0
0
0
0
0
0
0
1
15
-23
-67
55
82
69
8
-2
-1
-2
0
0
0
0
0
0
0
0
11
63
42
141
-72
60
33
14
0
0
0
0
0
0
0
0
-8
0
-68
12
-175
-92
-104
54
-101
-1
0
0
0
0
0
0
0
0
0
3
-12
54
-170
-57
57
-4
0
0
0
0
0
0
0
0
0
0
-58
-9
-37
36
10
10
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
-5
3
-4
14
8
19
2
78
0
-14
5
0
0
0
0
0
0
-3
13
-22
96
126
55
-76
98
54
80
-8
19
0
0
0
0
0
-5
65
-13
4
-26
8
-36
57
1
-108
34
3
-5
0
0
0
0
-3
105
12
-8
75
-18
75
-48
-49
2
5
0
-2
0
0
0
0
-7
-83
16
23
85
-66
-4
19
-63
-26
-52
-1
6
0
0
0
0
-3
-8
-2
44
63
-45
-126
11
-52
-38
-104
8
5
0
0
0
0
3
-10
0
0
48
-35
29
-113
-63
40
-49
4
0
1
0
0
0
0
0
0
-11
4
-36
-50
-83
-37
-99
-26
3
0
0
0
0
0
0
0
0
0
0
0
-28
-134
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-26
-5
0
3
0
0
0
0
0
0
0
0
5
88
0
0
52
-52
0
3
1
0
0
0
0
0
0
0
0
-85
28
37
177
8
7
9
10
4
0
0
0
0
0
0
0
0
16
-17
30
-9
-139
20
0
-1
5
0
0
0
0
0
0
0
0
11
-67
-1
-57
-88
18
-9
2
-1
0
0
0
0
0
0
0
0
3
-72
-32
65
-8
-65
1
0
0
0
0
0
0
0
0
0
0
10
-115
-40
-27
91
89
13
-3
0
0
0
0
0
0
0
0
0
9
-14
-57
53
-32
55
3
0
0
0
0
0
0
0
0
0
0
0
-8
-14
42
-106
2
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
76
0
0
3
-10
-1
0
0
0
0
0
0
0
0
0
0
20
77
-64
-13
18
2
-12
0
0
0
0
0
0
0
0
0
0
0
-50
55
89
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-42
-52
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
43
26
-17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
194
-17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
-55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
15
-1
0
2
0
0
0
0
0
0
0
0
2
89
0
0
17
-38
-5
0
-2
0
0
0
0
0
0
0
0
6
-32
43
8
125
-40
-2
0
0
0
0
0
0
0
0
0
0
8
-65
30
-65
14
-32
0
-7
0
0
0
0
0
0
0
0
0
-6
-37
-43
-2
-129
3
-5
0
0
0
0
0
0
0
0
0
0
0
-34
-80
-49
44
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
-60
15
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-68
-12
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-23
-2
1
0
0
0
0
0
0
0
0
0
0
0
-70
66
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
40
8
0
0
-49
13
13
0
0
0
0
0
0
0
0
0
4
-6
10
88
76
-20
19
0
0
0
0
0
0
0
0
0
0
0
-39
-106
108
132
3
-13
1
0
0
0
0
0
0
0
0
0
0
-49
1
-101
13
-15
9
1
0
0
0
0
0
0
0
0
0
0
-60
-32
-93
-89
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
-64
-3
-27
-97
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-36
-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
1
-27
143
18
12
-45
0
0
0
3
0
0
0
0
0
0
0
-13
102
-36
-83
-86
-46
0
0
0
32
2
0
0
0
0
0
1
-2
108
45
-108
-57
-50
-55
73
82
-20
10
-6
0
0
0
0
0
-2
-41
-87
-34
-42
28
53
-29
64
-29
5
0
0
0
0
0
0
0
31
35
-20
-87
-80
-141
-31
-13
0
6
0
14
0
0
0
0
0
0
72
0
-73
-67
86
-27
-50
-18
0
0
0
0
0
0
0
0
0
-11
-20
-33
-86
31
-145
-34
-13
-6
0
0
0
0
0
0
0
0
0
0
10
-3
-18
-64
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-91
-24
-2
0
0
0
0
0
0
0
0
15
-1
-7
3
-13
0
0
0
-5
-15
-3
12
0
0
0
0
25
24
-17
-20
26
93
0
0
0
89
32
9
6
0
0
0
0
-37
58
-12
-101
-83
89
66
113
155
70
-4
38
-1
0
0
0
0
33
18
33
-22
7
79
-32
116
7
-50
-15
0
0
0
0
0
0
4
-3
1
-41
41
8
0
-64
-75
-39
-14
0
1
0
0
0
0
58
-3
29
-88
-47
-32
42
-6
16
-17
1
0
0
0
0
0
0
0
1
-6
54
-27
-12
-82
-23
-3
3
4
-3
-1
0
0
0
0
0
0
-2
0
25
8
-20
-30
5
-106
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-32
-9
19
-6
-2
0
0
0
0
0
-5
-19
26
26
-26
-64
3
0
0
0
0
0
0
0
0
0
0
-16
33
13
11
48
46
0
0
0
0
0
0
0
0
0
0
0
-7
51
17
45
56
-37
-43
-6
0
0
0
0
0
0
0
0
0
44
44
74
27
17
-5
9
10
-2
2
0
0
0
0
0
0
0
49
-21
-55
13
10
-42
-19
58
5
3
1
0
0
0
0
0
0
17
39
-22
23
93
38
197
-8
4
21
3
0
0
0
0
0
0
73
-36
45
132
-33
-105
-60
39
-10
5
8
0
0
0
0
0
0
0
-20
1
75
-49
-8
-51
-2
-4
-2
0
0
0
0
0
0
0
0
0
-4
-3
3
6
2
0
0
0
0
0
0
0
0
0
0
42
48
-8
65
88
126
111
0
0
0
18
-11
0
0
0
0
0
13
-15
-38
-13
-25
51
13
0
0
118
-83
51
-4
10
0
0
0
53
13
26
24
-19
24
-54
-58
66
-9
-28
-4
8
0
0
0
0
-5
17
25
46
26
-36
63
126
-50
23
2
4
0
0
0
0
0
139
63
10
-6
-26
-46
-49
-39
-25
-51
9
17
-6
0
0
0
0
1
4
-13
-9
-14
-55
16
-62
-100
59
3
19
1
0
0
0
0
11
-4
16
39
-86
-108
-9
-112
-125
-55
-2
-1
0
0
0
0
0
0
-3
12
-37
22
-179
-70
-50
-9
-5
0
0
0
0
0
0
0
0
0
-6
0
0
-32
-1
2
0
0
0
0
0
0
0
0
0
12
-58
-45
-9
3
44
60
0
0
-73
12
-14
0
0
0
0
0
-57
-4
-15
-14
-8
3
20
-26
133
55
-25
-14
1
0
0
0
0
-84
61
30
-3
-25
-26
-43
2
-27
-4
-7
52
-5
0
0
0
0
32
7
19
-7
3
-5
13
31
-10
58
-16
12
-1
0
0
0
0
41
91
-36
0
-49
5
-44
19
-36
-19
-29
-47
3
0
0
0
0
-20
-37
-63
-23
-17
-46
-37
-99
-88
-36
95
-41
-8
0
0
0
0
-55
-26
9
9
-5
-46
-72
-59
-115
-41
111
9
0
0
0
0
0
0
24
-11
5
13
15
-15
12
12
42
0
0
0
0
0
0
0
0
0
102
-38
-10
-28
101
-10
-2
1
12
0
0
0
0
0
0
-40
-36
36
17
-53
-43
139
0
0
-4
0
0
0
0
0
0
0
4
99
1
47
-32
28
30
25
96
-5
0
2
0
0
0
0
0
123
76
-10
-37
-46
-51
-23
54
14
0
0
0
0
0
0
0
0
104
120
17
-7
59
63
80
-52
8
14
-3
0
0
0
0
0
0
73
77
63
42
-20
-56
-15
55
-13
-11
0
0
0
0
0
0
0
0
-72
29
9
-27
-66
-72
6
-3
-1
0
0
0
0
0
0
0
0
-2
-83
78
66
80
8
-1
-2
0
0
0
0
0
0
0
0
0
0
32
109
27
-58
26
-18
8
0
0
0
0
0
0
0
0
0
23
-14
-36
3
1
-3
9
-6
0
0
0
0
0
0
0
0
71
23
-11
-11
78
57
64
22
0
10
0
0
0
0
0
0
0
21
9
0
-4
6
29
0
67
-93
4
-5
0
0
0
0
0
0
13
58
-2
60
64
44
-86
-14
51
-25
0
8
0
0
0
0
0
-24
-19
-13
-29
18
17
-40
-26
-14
0
1
0
1
0
0
0
0
-67
61
-36
74
25
-97
123
-85
58
22
7
21
0
0
0
0
0
-61
-70
-4
20
4
-18
7
9
-8
-1
0
0
0
0
0
0
0
96
29
53
-29
97
33
-26
24
4
-8
0
0
0
0
0
0
0
46
75
13
43
59
-28
48
27
0
0
0
0
0
0
0
0
0
0
0
92
13
6
16
-5
0
0
0
0
0
0
0
0
0
0
-103
83
3
49
113
79
95
0
0
1
19
23
5
0
0
0
0
45
-10
-15
-10
15
61
-3
0
133
0
119
-40
-9
0
0
0
0
75
29
9
27
31
17
7
44
100
147
56
-17
0
0
0
0
0
0
28
43
65
-1
41
-7
-49
51
-57
44
-5
-15
0
0
0
0
-12
69
19
-5
11
-24
-97
-28
-47
45
5
1
0
0
0
0
0
3
66
13
-3
42
-90
-54
-61
-159
31
-10
0
0
0
0
0
0
-6
-24
-14
-83
0
-27
30
-54
-34
-35
114
0
0
0
0
0
0
0
-2
26
-9
66
-48
-1
-81
-6
-46
0
0
0
0
0
0
0
0
0
38
5
-23
0
18
-1
0
0
0
0
0
0
0
0
0
0
-76
-52
-92
-95
-113
20
37
0
-95
0
-2
0
0
0
0
0
60
-17
-30
-118
-78
-63
-21
0
53
0
-23
0
0
0
0
0
0
43
-102
-106
11
48
-14
-176
-84
59
14
0
-6
0
0
0
0
0
-21
66
13
4
-31
18
-73
-1
23
9
-4
0
0
0
0
0
0
44
-56
-11
-137
-53
-38
-72
-39
-10
11
0
0
0
0
0
0
0
0
-107
-27
39
-117
-104
13
-115
-18
-30
9
0
0
0
0
0
0
0
0
4
48
44
-10
1
28
-14
-9
0
0
0
0
0
0
0
0
0
0
0
5
-40
0
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
0
0
-95
1
38
84
25
-28
-77
0
0
0
-3
0
0
0
0
0
0
-19
29
-32
-41
-2
106
77
56
0
0
66
11
0
0
0
0
0
27
-3
40
66
38
53
131
45
114
-17
0
-2
0
0
0
0
0
33
-112
37
-32
22
75
49
-41
91
-96
29
0
0
0
0
0
0
-4
-75
8
45
26
-52
43
-153
-94
-7
4
7
0
0
0
0
0
-46
-41
-29
24
-95
30
72
83
68
62
3
0
0
0
0
0
0
48
-63
69
38
15
-34
38
-35
-34
-87
0
0
0
0
0
0
0
-13
-8
13
18
9
32
-30
-87
-24
-25
4
0
0
0
0
0
0
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-103
28
22
170
-33
37
0
32
-5
0
0
0
0
0
0
32
55
-5
1
36
70
89
0
10
10
-3
0
0
0
0
0
0
-13
53
-12
53
79
9
0
2
0
-5
0
0
0
0
0
0
0
-6
-83
66
46
-64
0
-3
0
1
-2
0
0
0
0
0
0
0
69
6
32
44
11
72
2
-2
0
0
0
0
0
0
0
0
0
-55
-49
-49
25
-13
-14
2
0
0
0
0
0
0
0
0
0
0
-42
34
-46
21
-125
14
0
0
0
0
0
0
0
0
0
0
0
-95
40
-9
-36
-40
0
1
0
0
0
0
0
0
0
0
0
0
-57
2
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-15
-3
7
13
1
9
0
-8
0
0
0
0
0
0
0
4
38
-107
103
27
5
0
0
0
0
0
0
0
0
0
0
0
-12
23
-5
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
0
-73
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
21
59
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-7
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
-84
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
-32
91
-40
13
-5
4
-2
0
6
0
0
0
0
0
0
0
-1
-75
14
-87
17
0
2
0
2
14
0
0
0
0
0
0
0
2
-30
69
30
-30
0
0
0
0
6
0
0
0
0
0
0
0
13
-28
-24
-95
-77
0
3
0
0
0
0
0
0
0
0
0
0
-12
13
18
39
-17
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
46
12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-67
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
-44
4
-60
34
-17
-1
-31
0
-9
0
0
0
0
0
0
0
-4
-43
-20
34
-69
33
-13
0
12
0
-1
0
0
0
0
0
0
12
-5
-131
72
-22
-9
0
-5
0
-7
0
0
0
0
0
0
0
0
-36
-78
31
38
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
10
58
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-27
-62
65
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-2
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
-21
1
5
18
5
9
2
0
0
0
0
0
0
0
0
0
0
-46
-13
-12
3
13
-4
12
2
0
0
0
0
0
0
0
0
-1
-18
9
9
-4
-13
10
14
-1
4
0
0
0
0
0
0
0
-1
26
2
-12
3
-15
0
-4
-10
-2
0
0
0
0
0
0
0
0
-9
10
-7
-13
-4
-21
4
0
0
0
0
0
0
0
0
0
0
-12
5
-14
-33
10
9
0
0
0
0
0
0
0
0
0
0
1
-11
14
-8
13
10
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
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
-67
46
52
6
13
-133
-69
0
-1
0
0
0
0
0
0
0
-17
9
143
-16
-8
-22
-22
13
-40
43
0
0
0
0
0
0
0
-92
10
27
-43
16
3
5
1
-76
-38
0
0
0
0
0
0
0
21
28
190
-11
18
-40
6
2
-25
-8
0
0
0
0
0
0
0
-114
68
30
-11
16
4
24
20
-26
-8
-1
0
0
0
0
0
0
25
-19
-28
115
-18
-88
24
0
0
3
0
0
0
0
0
0
0
34
-36
62
-31
-54
-42
2
-7
0
0
0
0
0
0
0
0
0
31
59
-1
-19
60
-3
1
-5
0
0
0
0
0
0
0
0
0
-69
45
-35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
145
-90
-82
18
0
33
-62
24
-23
-6
0
0
0
-1
63
56
-38
213
132
-58
-32
13
69
-1
4
53
3
0
0
0
-2
34
21
69
-105
26
30
-20
-24
0
7
-8
17
-1
0
-1
0
-3
85
162
50
-8
9
81
114
98
65
32
11
-11
6
0
0
0
0
12
-19
42
-46
-64
57
103
77
30
-62
-3
-7
-2
0
0
0
-17
-4
-23
-38
135
-32
145
-41
97
94
40
1
0
-17
0
0
0
0
0
15
-20
-5
44
10
19
30
-1
2
5
0
0
0
0
0
0
0
3
2
-3
-138
12
18
-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
175
-21
63
5
-36
24
0
-50
-83
64
64
27
1
0
0
0
6
8
30
2
32
-69
21
29
44
80
21
58
-77
-6
6
0
0
-68
53
35
35
42
-24
-64
-13
-28
27
7
80
14
0
0
0
0
-11
57
17
83
-26
10
30
-21
85
70
137
33
12
1
0
0
0
-64
-22
46
-7
33
4
8
-1
-10
-69
71
70
17
-1
0
0
0
-38
2
39
4
-21
16
26
14
73
-12
-12
119
40
2
0
0
0
33
-19
52
-35
0
7
10
5
60
-23
31
40
-8
-5
0
0
0
0
-7
-38
-53
-23
-19
20
-3
3
73
-27
-11
0
8
0
0
0
0
-18
1
57
29
19
-22
-93
66
16
65
2
0
0
0
0
0
0
8
14
-53
71
-117
34
0
106
46
21
-16
0
0
0
0
0
0
2
144
76
-32
-34
50
32
94
-105
-5
-2
5
0
0
0
0
0
3
71
31
14
64
-59
-7
43
44
-2
7
3
0
0
0
0
0
-35
20
107
80
9
-35
112
138
45
19
0
0
2
0
0
0
0
1
21
28
-2
-59
136
118
35
69
10
0
0
-4
0
0
0
0
0
1
20
43
111
37
75
82
-16
-18
31
0
0
0
0
0
0
0
58
72
85
-43
119
-58
-87
-11
-3
0
0
0
0
0
0
0
0
1
156
-32
33
105
28
-134
8
0
-2
0
0
0
0
0
0
0
0
-4
-2
109
-49
-2
30
-8
0
0
0
0
0
0
0
0
3
151
159
-20
-43
190
0
14
-34
24
-2
-3
-1
0
0
0
0
4
46
16
80
-106
-51
61
56
34
-49
36
20
0
3
0
0
0
36
-40
94
27
-39
-88
27
100
13
-1
5
5
-1
0
0
0
0
8
2
187
87
113
104
62
108
57
-24
-27
1
0
0
0
0
0
-178
35
-105
151
23
60
47
78
26
-4
6
-3
0
0
0
0
0
2
43
-17
-48
46
28
33
4
24
-2
-10
0
0
0
0
0
0
4
-31
115
-52
-26
15
56
-9
-47
2
8
0
0
0
0
0
0
0
8
119
113
-105
-7
74
66
-7
-2
0
0
0
0
0
0
0
0
0
0
5
15
2
-5
0
0
0
0
0
0
0
0
-8
65
27
73
106
45
-26
-16
0
13
-36
15
-2
0
0
0
0
-6
55
146
30
124
80
-69
-14
7
99
50
-21
-38
0
1
0
0
-5
-76
5
130
-54
32
-31
-35
-2
44
92
-14
5
-6
0
0
0
-1
76
26
-58
88
34
29
136
44
69
-29
-10
1
0
-2
0
0
0
45
-35
10
30
27
94
61
70
41
11
-6
1
0
0
0
0
9
23
-24
80
-9
2
46
80
22
11
0
-1
0
0
0
0
0
6
-15
-31
-13
92
-37
-47
-36
1
35
-12
3
10
0
0
0
0
0
0
-14
48
-9
20
-60
50
-2
0
0
0
0
0
0
0
0
0
0
5
0
-5
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
69
23
-99
0
12
0
0
0
0
0
0
0
0
0
6
-2
53
-26
28
-38
-3
-39
9
0
0
0
0
0
0
0
0
0
-5
-15
3
34
49
42
5
2
0
0
0
0
0
0
0
0
-34
-8
-1
72
-43
57
-3
-5
0
0
0
0
0
0
0
0
0
0
-2
-10
-15
-8
6
-4
2
0
0
0
0
0
0
0
0
0
7
0
9
-137
-37
19
-21
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
65
2
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
6
-4
-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
-10
9
22
-21
-18
59
0
-54
-25
12
0
0
0
0
0
0
4
33
18
95
-11
-46
-36
58
168
-14
3
0
11
0
0
0
0
5
11
31
17
64
-17
35
40
1
-30
4
0
-11
0
0
0
0
41
-34
-7
18
100
-55
20
46
-1
-24
-8
0
0
0
0
0
0
-42
-41
17
29
139
-15
54
-5
66
24
10
-11
0
0
0
0
0
-23
4
36
-92
-8
63
-2
74
-38
-4
1
-2
0
0
0
0
1
11
-70
3
-45
-13
89
-50
13
21
-2
7
0
0
0
0
0
0
3
1
6
-43
46
-41
67
-82
71
0
10
0
0
0
0
0
0
0
0
0
-7
8
18
8
11
-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
61
0
0
0
47
-13
0
19
0
0
0
0
0
0
0
0
0
221
0
0
176
149
8
-39
3
7
0
0
0
0
0
0
0
6
106
151
107
102
37
-40
-8
-6
-1
0
0
0
0
0
0
0
1
73
89
118
84
-39
-39
21
-23
-1
-1
0
0
0
0
0
0
-6
89
55
-20
31
-8
-33
-7
-19
-1
0
0
0
0
0
0
0
-8
38
56
12
3
47
15
0
-11
0
0
0
0
0
0
0
0
5
-47
14
42
-61
11
-1
12
1
0
0
0
0
0
0
0
0
2
-12
-47
-64
-8
4
0
0
0
0
0
0
0
0
0
0
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
0
0
-8
0
0
-1
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
21
97
-3
6
0
0
0
0
0
0
0
0
0
0
0
53
-41
61
-78
-47
-1
0
0
0
0
0
0
0
0
0
0
0
-1
76
-103
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
10
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
99
0
0
110
-33
37
2
-7
0
0
0
0
0
0
0
0
1
66
152
28
58
128
5
0
-12
0
0
0
0
0
0
0
0
0
86
-6
-23
156
-14
-10
1
13
-1
-4
0
0
0
0
0
0
21
-3
54
-47
-96
4
4
-12
-1
3
0
0
0
0
0
0
0
2
-21
-22
11
66
-6
6
-1
-5
0
0
0
0
0
0
0
0
0
-21
32
-43
13
-4
0
-2
0
0
0
0
0
0
0
0
0
0
12
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
1
-20
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
5
46
0
0
149
27
-13
0
0
0
0
0
0
0
0
0
0
1
31
54
93
6
-76
12
0
0
0
0
0
0
0
0
0
0
-10
26
81
73
-19
-6
0
0
0
0
0
0
0
0
0
0
0
35
21
31
-163
51
0
0
0
0
0
0
0
0
0
0
0
0
-9
-28
89
-25
-14
1
0
0
0
0
0
0
0
0
0
0
0
4
27
-15
3
4
0
0
0
0
0
0
0
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
-3
0
-4
41
-6
-34
0
0
0
-2
11
0
0
0
0
0
0
0
-18
25
-32
14
27
0
0
0
16
-1
0
0
0
0
0
0
0
5
3
38
11
-27
38
-21
-18
-1
-11
0
0
0
0
0
0
0
3
79
-11
29
94
94
39
2
-2
0
0
0
0
0
0
0
7
-6
0
-3
47
44
38
-18
111
8
-14
0
-5
4
0
0
0
0
0
10
13
4
-24
-12
34
8
6
0
0
12
0
0
0
0
0
0
8
3
0
-26
73
36
-20
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
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
8
0
9
0
0
0
0
0
4
6
-1
3
0
0
0
0
-2
24
2
0
-7
5
0
0
0
-13
-52
54
3
-1
-2
0
0
-1
9
-4
15
-62
26
97
39
-26
127
25
-5
6
-12
0
0
0
0
-16
9
1
-10
138
56
19
99
-47
20
0
0
0
1
0
0
-2
-5
-23
24
-72
1
76
-115
34
-28
3
-5
1
0
-2
0
0
7
25
-14
1
-146
27
-57
-67
-112
25
0
0
0
0
0
0
0
-10
12
46
-12
48
14
35
-13
33
-1
0
0
0
0
0
0
0
-5
0
0
5
2
-27
28
11
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
3
-3
-4
0
0
0
0
0
0
0
38
49
47
170
-47
1
-2
0
0
0
0
0
0
0
0
0
0
-60
78
49
-11
37
38
-6
0
0
0
0
0
0
0
0
0
0
54
76
34
-31
33
57
0
0
0
2
0
0
0
0
0
0
0
59
69
60
53
-8
-62
34
-9
22
-2
-2
0
0
0
0
0
0
-10
21
79
-77
-40
98
14
-61
16
-22
5
-2
2
0
0
0
0
16
-2
67
-71
-50
-29
-61
7
15
4
3
-7
-6
0
0
0
0
60
-44
-5
63
-64
-24
47
25
52
12
0
0
-3
-2
0
0
0
0
73
17
-85
-40
59
3
75
-22
-11
1
1
-10
0
0
0
0
0
0
6
-44
-5
-1
-13
-1
5
-2
0
0
0
0
0
0
0
-74
-29
23
-22
-9
37
32
0
0
0
-103
17
-1
0
0
0
0
78
38
-26
49
90
60
345
0
0
79
40
10
-24
-2
2
0
0
8
-5
8
36
59
166
183
176
13
-70
-17
-68
-1
0
0
0
0
-18
20
21
-8
-114
90
182
55
136
64
-39
37
-4
0
0
0
0
3
-10
6
-58
-58
8
27
81
-2
53
-17
-15
58
-9
0
0
0
-45
-119
-45
-93
38
-34
36
-2
52
14
64
-19
-33
16
0
0
0
-1
-70
-20
-85
7
-31
86
-15
-138
-40
-21
-3
-2
5
0
0
0
0
-23
-84
21
-40
40
125
-12
81
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
-15
-2
-49
-34
-7
26
35
0
0
11
39
-107
-2
2
0
0
0
31
-75
-30
-12
-4
23
39
-27
103
25
6
7
40
-2
0
0
0
37
-64
11
4
0
96
-15
23
42
-11
2
-5
-1
0
0
0
0
127
40
-11
-8
22
-61
80
80
-12
-135
-72
-30
5
7
-3
0
0
47
103
-46
-30
-29
77
15
-29
-39
65
46
-23
38
-2
0
0
0
-18
42
0
10
-29
-31
-11
-24
30
-3
53
94
0
-1
0
0
0
-8
-72
3
-62
-4
-75
-21
-39
-79
58
-79
82
-5
0
0
0
0
23
-49
12
2
-38
-12
40
-38
97
19
21
34
-3
0
0
0
0
0
-13
0
42
-5
51
-12
-4
-32
14
13
2
0
0
0
0
0
-11
-12
124
24
98
79
68
0
0
0
0
0
0
0
0
0
0
-58
24
21
54
75
5
76
67
-16
0
0
0
0
0
0
0
0
36
15
53
89
47
22
-9
-5
143
0
0
0
0
0
0
0
0
3
-4
-2
-3
13
17
72
43
-89
0
0
0
0
0
0
0
0
21
-22
-21
23
-78
32
28
-72
-20
-9
0
0
0
0
0
0
0
10
-42
20
-48
-15
-8
-82
-89
-13
7
-11
0
0
-1
0
0
0
-54
-8
59
-4
47
79
-37
-87
-27
-41
0
-1
0
0
0
0
0
11
17
7
-3
-39
30
-93
8
-57
42
2
5
0
0
0
0
0
41
-12
-31
-25
5
-29
-15
-38
9
0
6
0
0
0
0
0
0
20
32
-1
11
37
139
-132
94
0
-7
0
0
0
0
0
0
0
-41
-24
-108
67
91
96
0
138
29
42
-1
0
0
0
0
0
0
-21
2
7
43
56
92
89
-108
45
1
-3
-3
0
0
0
0
0
-54
-28
-48
15
26
-102
42
99
22
11
-8
0
0
0
0
0
0
38
25
-46
-3
19
43
48
-41
-25
-3
7
-1
3
0
0
0
0
-46
-62
-132
-4
-2
20
65
-12
37
-4
-51
0
0
0
0
0
0
-103
-21
32
-119
39
-44
-65
1
-70
18
-3
0
0
0
0
0
0
20
-83
-109
30
-4
-121
-106
-6
89
9
0
0
0
0
0
0
0
0
0
-35
22
-18
-1
0
0
0
0
0
0
0
0
0
0
0
-50
26
28
41
51
81
71
0
0
193
74
-12
-14
0
0
0
0
-11
-9
24
69
27
3
106
0
87
0
-4
-53
29
0
0
0
0
-9
-91
3
-6
-2
88
199
25
115
79
-53
-14
4
0
0
0
0
-72
-49
32
18
-29
22
138
-26
-60
-72
42
-31
-1
0
0
0
0
-25
15
56
-8
17
48
-60
-77
-70
45
-10
49
-7
4
0
0
0
3
-75
-64
-38
-10
-16
30
17
-42
-131
-121
-47
-1
0
0
0
0
-3
-8
120
7
27
-10
-78
-60
53
-46
-72
4
-4
0
0
0
0
0
8
-122
-24
39
58
35
43
32
5
21
-1
0
0
0
0
0
0
0
-22
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-36
-6
-104
-43
-24
17
0
45
-25
6
0
0
0
0
0
26
22
5
-71
56
4
11
0
-10
0
14
0
7
0
0
0
0
13
12
72
-72
-19
10
16
37
-33
-78
-60
16
0
0
0
0
0
0
-74
29
119
48
81
76
150
-42
-91
-27
-16
0
0
0
0
0
-3
-75
-11
2
166
316
89
-47
-71
-47
0
0
0
0
0
0
0
0
32
207
160
169
-1
22
-49
-15
-23
-7
0
0
0
0
0
0
0
23
54
58
79
80
-1
-36
-31
10
0
0
0
0
0
0
0
0
-1
9
224
-50
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
14
2
0
-10
0
0
0
0
0
0
0
0
0
0
0
-122
47
5
22
14
39
65
0
0
0
3
2
4
0
0
0
0
-25
30
7
56
38
67
132
2
0
-4
14
1
-2
0
0
0
0
22
-28
22
-82
41
31
6
31
19
-18
-28
-2
0
6
0
0
0
29
160
100
20
1
27
36
13
-81
-64
64
0
0
2
0
0
0
10
-108
-67
27
56
100
-29
14
-13
22
-1
0
0
0
0
0
0
23
-19
10
3
46
-51
-178
66
-62
102
-2
1
0
0
0
0
0
27
-120
-23
22
6
0
85
-70
52
-83
-4
0
0
0
0
0
0
-10
144
-11
-19
0
99
27
3
75
0
0
0
0
0
0
0
0
1
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-10
25
6
2
0
-1
0
0
0
0
0
0
0
0
60
-117
83
1
-15
-17
-66
29
73
-1
0
0
0
0
0
0
-14
-145
-52
69
49
109
-12
-53
7
-8
0
0
0
0
0
0
0
0
62
-44
114
-74
-19
0
-1
-9
11
0
0
0
0
0
0
0
0
34
-5
92
-33
-3
14
0
0
0
0
0
0
0
0
0
0
0
36
-89
-32
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-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
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
57
-19
0
-1
4
2
-4
0
0
0
0
0
0
0
0
1
25
37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-95
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
12
-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
5
-16
-17
17
13
-1
0
0
0
0
0
0
0
0
0
0
0
13
84
-73
44
59
-34
-3
15
4
0
0
0
0
0
0
0
0
122
85
-8
-6
-29
-3
-4
5
5
0
0
0
0
0
0
0
0
-10
26
-13
25
0
0
0
4
0
0
0
0
0
0
0
0
0
0
70
87
14
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-11
0
6
4
0
0
0
0
0
0
0
0
0
0
0
-15
50
26
-3
-44
24
-23
-29
6
6
0
0
0
0
0
0
0
0
13
-83
64
64
-6
-13
-7
11
0
0
0
0
0
0
0
0
41
-30
53
271
-16
1
0
1
1
0
0
0
0
0
0
0
0
0
-35
3
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
9
-3
0
0
0
0
0
0
0
0
0
0
4
19
16
-16
-25
-83
-61
22
8
1
0
0
0
0
0
0
0
-1
-1
-33
6
29
-35
-12
0
0
2
0
0
0
0
0
0
0
0
0
-2
-13
115
58
-11
0
0
0
0
0
0
0
0
0
0
-9
12
12
-8
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-11
1
0
83
23
-46
0
0
2
0
0
0
0
0
0
8
36
52
-19
21
120
-16
10
-9
0
0
0
0
0
0
0
0
7
-64
-9
101
2
-53
-109
-70
-22
11
0
-1
0
0
0
0
0
1
36
109
-30
43
-43
9
-44
-11
0
0
0
0
0
0
0
0
1
-3
25
-27
23
67
-11
-26
-1
2
0
0
0
0
0
0
0
-1
5
-2
-10
-43
8
9
-7
17
-44
0
0
0
0
0
0
0
0
0
0
-2
1
0
-7
-12
7
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
11
-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
-3
27
16
12
14
17
36
0
-32
-115
27
4
-1
1
0
0
-11
11
85
-70
80
105
-28
5
-34
-8
30
84
-4
12
0
0
0
0
130
-25
47
43
31
-18
48
22
48
57
47
-27
-13
1
0
0
0
20
152
157
-41
70
141
173
104
-22
-15
-26
-6
9
-2
0
0
5
1
-19
-55
19
205
149
198
2
-55
-24
-6
8
0
0
0
0
0
0
-15
15
-14
-19
-40
68
-102
-74
33
15
0
0
0
0
0
0
0
-2
-12
0
9
26
34
44
-5
11
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
109
9
-14
-10
-50
83
0
26
48
-31
-51
-28
0
0
0
0
1
16
76
22
7
-49
29
51
31
-32
-21
56
112
17
0
0
0
1
-12
-28
50
24
-1
-4
-5
-48
-26
45
-75
-41
-3
0
0
0
-4
8
14
19
17
36
-2
-35
52
64
-4
34
26
12
0
0
0
-13
79
-46
36
-24
-3
-30
-70
-107
-9
-16
46
28
35
0
0
0
0
11
-3
24
-16
27
-36
-48
12
30
28
72
40
-13
0
0
0
-17
-39
-47
50
22
-3
1
-53
28
-22
22
18
-4
6
0
0
0
0
0
29
-5
39
6
-12
-83
-36
-32
-8
0
0
0
0
0
0
0
0
0
-6
113
-35
-99
-28
28
-52
-2
0
0
0
0
0
0
0
1
24
52
15
-8
-38
0
-47
-97
-14
-93
85
4
-5
-1
0
0
4
-66
-165
-3
-57
55
65
0
-23
78
-34
106
-64
-1
-21
0
0
5
-1
55
33
16
93
-40
65
5
-10
-4
-6
16
-3
0
0
0
21
89
72
210
-6
37
46
63
107
-45
-11
20
-8
1
0
0
0
0
-12
-66
-18
116
20
26
35
47
-25
-53
-10
1
10
0
0
0
0
4
19
-25
117
-53
-30
6
-68
38
11
-38
-16
-1
0
0
0
0
0
-14
-19
-28
-34
19
-37
19
-29
55
-82
-14
1
7
0
0
0
0
-6
50
-12
76
9
-19
-31
45
40
61
27
-3
-28
0
0
0
0
0
-12
52
-68
-37
-37
-3
9
3
53
46
-1
-2
0
0
1
119
-93
45
-13
68
0
-21
14
26
48
52
-4
0
0
0
0
15
25
44
89
-14
41
14
110
-6
59
103
-4
11
-2
0
0
0
12
98
78
42
25
8
41
30
-8
-82
84
56
-2
0
0
0
0
8
79
15
112
97
52
111
22
32
15
-2
17
0
0
0
0
0
-2
53
74
-7
-3
-10
-34
36
128
67
-5
-10
-4
0
0
0
0
0
12
53
17
99
21
24
-3
60
-86
66
63
-2
0
0
0
0
0
0
-26
-12
-19
-10
-1
-23
-88
-44
-9
58
-7
0
0
0
0
0
0
35
21
48
-19
36
-50
1
27
-35
24
-2
-24
0
0
0
0
0
0
0
71
-78
16
1
0
0
0
0
0
0
0
1
-38
-120
68
53
-87
-45
-2
0
-20
-23
-75
0
2
0
0
0
-6
6
-11
-5
33
18
-51
-14
-64
34
-30
-4
-13
0
0
0
0
-6
83
54
174
33
44
54
19
61
49
4
31
55
-7
0
0
0
0
-26
-28
155
22
147
89
147
-10
63
80
-19
2
-7
13
0
0
0
5
13
42
53
63
-23
12
52
71
25
-15
-1
0
0
0
0
0
0
21
20
37
-43
135
50
75
-32
-76
-4
-1
0
8
0
0
0
0
0
0
1
-102
-80
6
-4
42
-2
0
1
0
0
0
0
0
0
0
11
0
6
5
-39
19
16
0
9
3
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
26
-17
-74
0
-4
0
0
0
0
0
0
0
0
0
-3
-10
-2
34
-7
92
89
-13
1
0
0
0
0
0
0
0
0
8
-14
110
65
7
15
-59
-8
-5
0
0
0
0
0
0
0
0
-10
6
77
25
111
115
-2
1
0
0
0
0
0
0
0
0
0
0
14
134
50
31
-16
-21
7
0
3
0
0
0
0
0
0
0
0
31
4
69
17
140
24
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
23
-3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
18
-1
1
81
25
-42
0
-71
-48
-2
0
0
0
0
0
-4
0
-21
99
105
200
49
8
43
-55
-51
7
38
2
0
0
0
0
-12
-19
18
48
169
36
-59
-75
-30
6
20
3
1
0
0
0
0
0
2
24
-20
84
62
105
111
-45
26
-6
-13
0
0
0
0
0
1
0
26
137
4
1
-27
-127
-58
40
0
0
0
0
0
0
0
0
0
6
33
-3
-64
-86
-54
-1
14
-16
-3
0
0
0
0
0
0
0
1
29
25
74
-32
-98
-64
31
-18
0
6
0
0
0
0
0
0
0
-1
-28
-80
28
-68
36
-31
-8
2
0
0
0
0
0
0
0
0
0
-6
-11
2
-105
-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
102
0
0
0
-22
-13
-7
-10
0
0
0
0
0
0
0
0
0
-11
0
0
-8
104
-39
33
-8
-10
0
0
0
0
0
0
0
-10
45
-32
38
14
42
88
21
-3
-4
0
0
0
0
0
0
0
17
7
74
58
8
-45
-21
-10
-3
-10
0
0
0
0
0
0
0
-1
95
8
-6
163
21
47
5
-5
-21
0
0
0
0
0
0
0
-12
-83
-2
-77
28
3
-51
7
-3
-9
0
0
0
0
0
0
0
-8
-107
14
-52
46
47
-70
14
4
-4
2
0
0
0
0
0
0
0
-27
-64
-30
27
-16
-9
1
-4
2
0
0
0
0
0
0
0
0
-21
3
16
-6
-58
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
99
0
0
0
9
-3
0
3
0
0
0
0
0
0
0
0
0
-58
78
54
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
-17
39
9
-2
-3
0
0
0
0
0
0
0
0
0
0
0
21
-45
57
10
0
0
0
0
0
0
0
0
0
0
0
0
0
34
24
102
-63
-2
7
0
0
-2
0
0
0
0
0
0
0
0
-1
-62
-110
4
-5
-11
0
-4
0
0
0
0
0
0
0
0
0
0
47
-21
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
62
0
0
-37
9
-3
0
0
0
0
0
0
0
0
0
0
0
127
20
115
61
3
11
8
-1
1
0
0
0
0
0
0
0
0
35
94
12
-3
14
-5
0
17
-3
0
0
0
0
0
0
0
6
-44
-4
84
72
42
5
-9
-7
-3
0
0
0
0
0
0
0
6
-30
-34
-8
-68
-41
3
-8
5
3
0
0
0
0
0
0
0
0
2
-27
4
182
-73
2
4
-2
8
0
0
0
0
0
0
0
0
0
-3
-17
57
-3
0
-19
27
1
0
0
0
0
0
0
0
0
0
0
29
9
0
0
0
0
0
0
0
0
0
0
0
0
9
49
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
-3
-29
0
0
7
-7
-8
-4
-1
0
0
0
0
0
0
0
0
0
-111
73
115
15
2
0
3
0
0
0
0
0
0
0
0
0
-21
-6
-28
-76
40
29
1
15
0
0
0
0
0
0
0
0
0
-5
-22
161
-60
67
-8
5
-6
0
0
0
0
0
0
0
0
0
0
-73
-21
-8
2
14
0
12
-6
0
0
0
0
0
0
0
0
0
64
-138
76
-65
22
0
0
0
3
0
0
0
0
0
0
0
0
0
5
-6
-44
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
-2
-16
36
24
-9
0
0
0
-24
2
0
0
0
0
0
0
-13
6
92
-19
-32
-71
0
0
0
-1
4
0
0
0
0
0
0
-11
9
42
7
-19
106
-106
44
13
3
0
6
0
0
0
0
0
0
-8
-4
-6
-23
32
-57
22
108
72
-10
-13
3
0
0
0
0
0
0
19
21
-22
-100
-47
27
68
-10
16
0
20
0
0
0
0
0
0
0
-2
-40
0
28
-59
68
-10
6
5
13
4
0
0
0
0
0
0
-3
-16
44
-57
-32
30
-16
32
0
0
0
0
0
0
0
0
0
0
0
15
-6
-35
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
20
41
-3
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
13
95
7
0
4
0
0
0
0
0
4
8
6
67
0
0
0
48
56
4
13
0
-1
0
0
-2
1
14
121
35
65
-55
86
68
3
28
9
-3
0
-2
0
0
0
-1
14
55
59
30
164
83
-75
28
12
-16
-8
0
0
0
0
0
0
-10
-28
10
86
-54
15
25
7
37
-2
-1
1
1
0
0
0
0
0
-60
8
-86
-121
32
78
-59
35
-2
-10
-2
0
0
0
0
0
0
24
78
146
43
-59
-69
-59
-7
-6
2
-17
-1
0
0
0
0
0
0
7
2
-73
-24
-31
-32
-32
-1
-4
0
0
0
0
0
0
0
0
0
-6
110
49
27
56
14
-8
0
0
0
0
43
-13
12
41
-82
-9
2
0
0
0
0
0
0
0
0
0
0
-7
50
85
-9
75
21
5
0
0
0
0
0
0
0
0
0
0
-3
64
170
5
128
72
-13
-2
0
0
0
0
0
0
0
0
0
-24
-139
69
-7
71
43
2
-5
5
0
0
-2
0
0
0
0
0
-49
-14
6
-17
36
31
1
-7
32
-1
0
0
0
-7
0
0
0
0
-21
69
11
-22
64
67
38
-5
-6
-11
-1
-7
2
0
0
0
0
-10
87
-68
-14
-27
21
-11
18
-5
-2
19
-1
0
0
0
0
0
3
6
-16
0
0
3
49
12
-5
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
46
11
-58
33
78
-24
164
0
0
0
49
-35
21
29
0
0
0
-57
-2
-1
-13
142
-103
-22
0
0
50
122
-3
65
11
0
-1
0
10
16
-10
25
87
57
-59
0
131
165
140
67
22
-9
-4
0
0
-63
-22
70
-10
78
4
-8
-36
134
-8
-55
11
-5
-2
-12
2
0
5
-15
69
29
30
-79
-27
25
17
-121
17
-48
12
-1
0
-2
0
0
-6
-76
78
-55
-155
-15
-87
-90
23
-5
-11
-9
3
-4
0
0
0
-1
-16
-33
-10
-13
1
-115
-40
-34
-6
-12
-4
0
-5
0
0
0
0
0
-11
4
0
-2
17
-6
-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
-4
-3
36
-13
-12
8
116
0
0
114
-17
-51
43
0
0
0
0
11
79
-34
8
3
4
-8
49
137
-46
-94
25
-3
0
0
0
0
80
-36
-31
-8
12
13
4
16
66
-18
-50
-9
-32
3
0
0
0
38
70
-55
20
-19
35
34
12
-39
-66
-27
41
14
-5
0
0
0
51
-24
11
12
-37
18
2
-25
-70
-115
18
8
-2
4
0
0
0
0
77
0
10
-15
-27
-37
-4
-126
-70
88
-13
-21
0
0
0
0
0
-1
-30
53
69
-38
53
-15
21
123
-83
-22
0
0
0
0
0
0
0
74
156
-3
57
55
-86
-125
12
23
0
0
0
0
0
0
0
0
140
40
72
-59
-6
-22
0
-1
0
0
0
0
0
0
0
-6
-73
97
10
-19
8
15
0
0
8
0
0
0
0
0
0
0
-8
-97
77
18
25
84
103
92
22
0
0
0
0
0
0
0
0
-14
-42
-42
-12
-3
16
-29
-21
-37
0
0
0
1
0
0
0
0
8
27
-34
114
-50
8
34
-4
48
1
0
-6
0
0
0
0
0
0
29
-3
14
-47
44
-84
-46
-40
-11
0
5
-1
0
0
0
0
0
4
-3
9
-10
23
27
-67
-87
3
0
14
0
0
0
0
0
0
0
2
0
-16
-24
-23
-47
7
3
0
-1
2
2
0
0
0
0
0
0
7
1
1
-54
3
-8
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
82
65
35
4
26
61
6
27
0
0
0
0
0
0
0
0
0
94
-48
-57
53
60
34
0
-35
-8
3
-1
1
0
3
0
0
0
131
-71
27
119
46
16
-28
-73
-21
-1
0
-3
0
0
0
0
0
90
-78
39
56
55
72
-39
-125
-8
-20
-8
-2
-5
0
0
0
0
11
21
-52
-32
-25
43
-136
-2
16
-10
0
12
-1
0
0
0
0
-9
-27
9
-19
-9
184
-44
-128
1
8
-4
0
0
0
0
0
0
0
18
54
-40
-3
-11
-69
-75
11
-21
0
0
0
1
0
0
0
7
0
2
-9
-35
0
-7
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
18
118
-19
-41
55
71
118
0
0
123
-65
-8
-17
-5
0
0
0
-11
18
28
62
50
-34
49
0
264
0
31
13
-8
0
0
0
0
76
52
52
1
-15
-21
31
83
214
221
42
-20
-16
0
1
0
0
121
13
-99
41
34
30
54
23
22
110
3
-17
4
5
0
0
0
-3
47
-32
128
33
-89
-34
-110
-21
-34
55
31
3
0
-2
0
0
0
-20
5
75
-5
106
7
-86
-35
10
-9
-9
0
0
0
0
0
0
0
-13
-6
-15
84
-116
-61
-123
4
5
-1
0
-2
0
0
0
0
0
0
-1
-55
-2
39
-18
-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
-11
-33
13
-98
-76
15
11
0
-8
-5
7
-2
0
0
0
0
0
-35
96
-35
-126
-78
-91
0
-32
0
0
2
3
0
0
0
0
1
-26
-16
-79
-94
-20
-52
-41
34
-3
0
0
1
0
0
0
0
0
-20
31
-76
-56
-36
30
38
32
-59
20
-13
8
0
0
0
0
0
0
17
-20
12
-137
-70
-12
70
-8
87
2
0
0
0
0
0
0
0
-7
-16
-51
-3
-105
-87
-46
47
-2
0
7
0
0
0
0
0
0
0
0
47
34
-7
106
-16
40
0
0
0
0
0
0
0
0
0
0
0
0
3
-26
-8
7
-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
-32
23
-81
2
-26
0
0
0
0
-6
-34
-15
0
0
0
0
14
26
53
68
82
-1
57
-28
0
-6
15
9
0
0
0
0
0
-56
115
-123
40
13
60
9
-2
51
42
0
0
-1
0
0
0
0
-3
-147
59
27
27
151
-128
-75
48
4
-15
22
0
0
0
0
0
0
-1
56
138
68
96
30
10
-57
-37
9
10
0
-1
0
0
0
0
0
69
4
-8
74
-1
-60
-71
-57
67
3
-1
0
0
0
0
0
11
4
6
-19
1
-52
-27
33
6
1
0
0
0
0
0
0
0
1
-3
-2
-4
-26
-3
-19
-89
72
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
0
0
0
0
0
0
0
0
0
0
6
14
-20
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-1
-77
-14
-112
19
51
12
-1
0
0
0
0
0
0
0
0
0
1
3
44
70
54
28
30
65
0
0
0
0
0
0
0
0
0
0
-27
-49
74
43
3
-16
1
0
0
0
0
0
0
0
0
0
4
12
34
5
-54
26
-71
-3
0
0
0
0
0
0
0
0
0
0
-3
9
11
27
99
118
0
0
0
0
0
0
0
0
0
0
0
-27
40
56
-45
25
-15
11
0
0
0
0
0
0
0
0
0
0
0
12
-20
-34
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
15
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-12
50
57
-121
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
8
67
26
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
29
25
67
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
25
-153
-6
0
0
0
0
0
0
0
0
0
0
0
-1
5
-16
11
100
11
0
0
0
0
0
0
0
0
0
0
0
-6
2
-164
-1
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
102
0
0
0
0
0
0
0
0
0
0
-13
1
52
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
14
0
122
89
-76
-16
4
0
0
0
0
0
0
0
0
0
-3
0
-53
0
-30
-62
-30
0
0
0
0
0
0
0
0
0
0
0
17
-63
4
-76
25
49
0
0
0
0
0
0
0
0
0
0
0
0
-5
73
-41
-8
-61
0
0
0
0
0
0
0
0
0
0
0
-2
0
19
-62
-36
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-81
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
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
0
-8
-7
0
0
0
117
4
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-25
90
-82
-20
0
0
0
0
0
0
0
0
0
0
0
10
-31
-31
100
101
12
0
0
0
0
0
0
0
0
0
0
1
23
-80
-68
-39
-7
31
0
0
0
0
0
0
0
0
0
0
0
6
24
-26
-60
-74
2
0
0
0
0
0
0
0
0
0
0
0
0
-92
45
-39
11
3
0
0
0
0
0
0
0
0
0
0
1
0
-123
13
14
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
-4
0
0
0
-15
-8
-7
-25
1
0
0
0
0
0
0
0
-5
-3
0
0
0
56
11
6
46
-14
0
0
0
0
0
0
0
-10
58
-23
-66
-63
6
56
85
6
-1
0
0
0
0
0
0
0
-20
59
-20
-17
10
30
-2
-3
18
3
0
0
0
0
0
0
0
-10
1
-129
-90
41
28
-5
6
27
-1
0
0
0
0
0
0
-3
14
15
-50
-45
-57
25
-10
0
3
0
0
0
0
0
0
0
0
1
0
-146
-142
-105
-185
0
-22
0
0
0
0
0
0
0
0
0
0
-24
-172
-25
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
38
-138
0
0
0
70
-15
-59
43
-5
-1
0
0
0
0
-6
3
-18
-36
-149
-7
121
131
39
-38
26
-68
-4
0
0
0
0
0
0
-7
3
5
-33
-14
-128
10
52
-24
-62
-2
-8
0
0
0
0
1
-4
-63
-40
-106
141
9
-179
47
22
-56
-1
12
0
0
0
0
0
-18
-35
11
19
-90
-101
-101
142
29
-2
0
0
0
0
0
0
4
5
-85
-50
-102
-4
-88
-4
9
-1
3
0
0
0
0
0
0
0
-2
-48
-19
162
88
-3
-17
-6
0
0
0
0
0
0
0
0
0
0
0
-8
140
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
127
112
47
56
10
-15
24
0
0
0
0
12
-34
156
5
0
0
120
52
123
48
35
7
0
0
0
0
0
-4
7
-65
-44
34
121
118
84
28
34
18
26
-17
0
0
0
6
0
2
-44
93
-37
166
32
-36
44
49
67
26
109
0
0
0
0
-1
13
-87
57
-78
-16
-43
-7
-16
26
44
40
92
0
0
0
0
0
-15
21
66
-43
48
-119
-63
-26
-29
20
34
-3
0
0
0
0
0
0
5
-86
-30
-24
-17
53
-44
-102
48
-54
0
0
0
0
0
0
-4
-2
-10
-70
-11
67
77
-55
-38
-14
0
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
-66
0
0
46
6
-6
44
26
-156
139
0
0
0
0
0
-29
-22
-106
29
-20
0
-12
14
-3
-16
85
71
0
0
0
1
2
-74
-5
38
-18
14
-31
4
2
-13
-4
-69
130
0
0
0
0
0
10
-39
-47
-72
-18
10
-26
-27
19
-32
-19
-42
0
0
0
2
0
-11
25
-21
-83
-17
-52
-18
-37
3
-26
44
92
0
0
0
0
-2
-38
-53
56
-32
-58
-55
-77
-35
-74
34
22
23
0
0
0
0
0
-4
-13
27
61
0
-94
-95
-24
-18
-131
24
-1
0
0
0
0
0
2
1
53
-80
-50
-57
-51
4
-32
-31
8
0
0
0
0
0
0
0
0
0
0
31
-6
-6
-50
-91
27
0
0
0
0
0
0
0
0
0
-1
0
0
-17
260
72
21
-10
-82
52
0
0
0
0
0
0
0
0
43
-27
131
53
-16
-34
20
76
75
0
0
0
0
0
0
0
-4
-49
88
47
17
-23
-74
-56
57
48
0
0
0
0
0
0
3
17
-84
-96
41
65
-10
-104
-115
-11
13
0
0
0
0
0
0
-1
16
8
4
1
156
-96
47
2
-3
-22
0
0
0
0
0
0
0
0
3
-124
19
45
52
-154
6
-46
0
0
0
0
0
0
0
0
0
-14
32
-108
-1
-34
62
85
63
0
0
0
0
0
0
0
0
1
-3
42
15
-55
-68
-50
10
0
0
0
0
0
0
0
0
0
1
0
0
-2
16
-3
5
31
2
0
0
0
0
0
0
1
0
23
0
153
59
31
57
17
46
-14
-133
0
0
0
0
0
0
12
14
21
9
0
69
32
33
-24
6
42
0
0
0
0
0
0
0
7
25
70
-28
46
82
28
8
48
-13
0
0
0
0
0
0
-5
-3
41
2
40
57
11
47
35
-50
-41
0
0
0
0
0
0
-7
18
33
-13
-29
60
84
5
-25
84
43
0
0
0
0
0
0
0
1
11
-27
-54
-16
-78
-15
4
128
-41
0
0
0
0
0
0
0
-76
1
-140
-46
-35
-32
-24
9
34
0
0
0
0
0
0
0
0
-1
4
-49
94
32
95
-17
5
10
24
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-4
0
0
0
0
0
0
0
-1
50
123
0
0
101
112
52
65
10
88
3
0
0
0
0
0
-39
106
0
-63
0
88
60
105
64
31
10
-20
0
0
-8
0
2
2
-33
71
96
82
103
131
67
78
51
-21
-57
0
0
0
0
-4
5
37
-45
81
82
69
92
76
79
-13
99
288
0
0
0
-13
0
23
-25
-57
23
-36
-50
49
33
43
40
-14
-8
0
0
0
0
2
8
-6
31
67
-51
-150
-81
-40
-39
20
77
0
0
0
0
-1
0
-12
-26
-10
-4
32
144
-94
-26
0
30
0
0
0
0
0
0
0
-1
7
-51
-2
17
-33
-69
-22
15
-6
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
1
0
0
-11
84
7
-51
-88
64
25
6
0
0
0
0
0
0
8
0
-60
0
-42
-5
-84
-67
-47
69
11
0
0
0
0
0
-1
-13
34
-45
-31
81
91
-7
51
228
90
-2
0
0
0
0
-1
3
4
18
63
15
133
-70
4
-73
-31
4
0
0
0
0
0
-5
0
8
-7
25
5
20
-38
128
-8
34
4
4
0
0
0
0
0
0
0
9
-18
-9
-41
-60
-19
42
5
5
0
0
0
0
0
0
0
0
0
1
20
0
-31
17
-6
58
0
0
0
0
0
0
0
0
0
7
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
-1
0
0
0
25
59
-75
-76
-103
-73
-39
0
0
0
0
0
4
6
0
0
4
-91
86
55
-48
-26
-41
-60
0
0
0
0
0
0
0
-79
8
39
70
49
56
10
91
119
-64
0
0
0
0
0
-1
0
-25
-42
-29
0
120
69
149
109
-153
-35
0
0
0
0
0
-10
-7
45
68
23
100
46
-48
2
78
21
-35
0
0
0
0
0
0
1
62
-33
-17
32
-56
37
12
7
63
-13
0
0
0
0
0
0
0
31
114
2
-11
56
-4
-45
4
19
-5
0
0
0
0
0
0
0
3
72
1
5
-6
16
-101
41
72
12
0
0
0
0
0
0
0
0
1
0
3
-5
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-21
22
11
-77
-56
77
85
-8
0
0
0
0
0
0
-2
5
7
-38
75
64
127
-49
-54
-81
7
0
0
0
0
0
0
0
0
1
-4
14
-55
103
75
59
-7
3
0
0
0
0
0
0
0
0
0
0
43
86
123
171
66
55
-22
0
0
0
0
0
0
0
0
0
0
-1
-18
56
29
17
11
133
0
0
0
0
0
0
0
0
0
0
-3
-27
8
-23
-66
88
-7
0
0
0
0
0
0
0
0
0
0
10
-42
44
-132
58
77
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
65
17
-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
-10
-1
0
95
-12
-18
-2
0
0
0
0
0
0
0
0
0
0
0
3
58
-20
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
12
2
64
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
151
34
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-35
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-5
16
-41
1
9
-38
-12
13
0
0
0
0
0
0
0
0
6
0
1
-15
40
10
-37
58
-1
0
0
0
0
0
0
0
-3
-1
0
-5
-10
69
125
-33
81
-25
0
0
0
0
0
0
0
0
0
0
-4
26
35
163
-46
78
11
0
0
0
0
0
0
0
0
0
0
5
7
-53
125
-95
20
0
0
0
0
0
0
0
0
0
0
0
0
-4
58
12
114
16
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
62
-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
-9
-50
27
-1
60
-21
1
0
0
0
0
0
0
0
0
-2
2
9
-111
110
-17
70
-47
0
0
0
0
0
0
0
0
0
17
0
0
40
125
48
35
90
-21
0
0
0
0
0
0
0
0
0
-1
6
-31
-71
95
53
-14
0
0
0
0
0
0
0
0
0
0
0
0
41
96
58
-7
-19
0
0
0
0
0
0
0
0
0
0
0
-5
0
-20
172
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
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
59
113
-104
25
-35
-85
0
0
0
0
0
0
0
2
0
82
4
-29
-108
-90
-32
-16
-61
6
0
0
0
0
0
0
0
-1
-24
-44
130
0
-11
22
9
-11
-10
0
0
0
0
0
0
0
-3
-6
21
22
93
65
33
-33
-20
4
0
0
0
0
0
0
0
2
30
-24
-39
43
34
-9
-43
-61
0
0
0
0
0
0
0
0
17
-18
12
1
43
-69
57
-26
41
-5
0
0
0
0
0
0
0
0
13
7
6
8
-1
32
-47
0
0
0
0
0
0
0
0
0
0
0
44
6
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
-42
26
56
-11
-14
52
-26
-5
0
0
0
0
0
0
-12
0
-26
25
52
54
-8
108
-15
81
20
0
0
0
0
0
0
0
-4
-47
-54
-17
-15
-24
48
-47
15
12
0
0
0
0
0
0
-2
-5
-7
33
53
30
47
193
-20
41
0
0
0
0
0
0
0
-11
-3
-8
-62
2
-63
50
62
190
-96
18
0
0
0
0
0
0
0
10
8
24
-32
65
-92
31
112
-123
8
0
0
0
0
0
0
0
21
-48
22
-14
47
-23
26
-46
48
0
0
0
0
0
0
0
5
3
6
-2
0
2
15
18
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
14
0
33
-27
145
89
19
-26
32
-4
0
0
-17
6
34
-26
-3
5
7
16
34
36
57
54
-38
68
-18
0
0
0
-1
-1
-66
32
-66
-16
45
2
25
53
114
112
43
-88
0
0
0
0
8
-13
-90
-22
-23
-27
-30
106
31
102
160
127
-26
0
0
0
2
-7
-3
-100
29
-29
-24
-62
95
61
19
20
127
0
0
0
0
0
0
0
42
-75
71
-65
-43
-14
5
-168
-74
1
0
0
0
0
0
0
1
-20
2
-21
0
75
-126
-48
16
-35
0
0
0
0
0
0
0
7
0
-17
-19
61
-5
1
3
-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
-6
-11
45
-7
0
-7
-13
14
37
70
-60
-23
0
0
0
0
-10
59
-25
-36
-31
-23
-15
0
-4
44
36
-43
29
0
0
0
0
-19
-86
73
-8
-22
9
-2
8
-6
53
89
63
103
0
0
0
0
-3
48
46
-36
9
-14
3
3
34
50
74
-10
100
0
0
0
0
-12
-14
24
2
-52
3
-9
-33
-15
65
-38
91
-87
0
0
0
-2
-10
-74
-8
39
-23
29
-39
-17
-36
17
6
56
7
0
0
0
0
-3
7
-25
-33
6
49
-54
-18
-56
16
49
-79
-3
0
0
0
0
0
0
6
8
96
65
4
-26
-84
-70
46
-75
-1
0
0
0
0
0
0
0
-7
9
65
12
-33
-10
-27
0
0
0
0
0
0
0
0
-10
-43
-6
-8
0
3
-47
10
-67
28
-7
0
0
0
-1
0
19
59
8
1
-4
-14
14
47
26
156
-60
-5
0
0
0
0
0
55
0
4
-46
-2
31
15
70
-50
-24
19
-1
0
0
0
0
-3
14
81
47
24
5
-3
105
-140
32
63
15
-9
0
0
0
0
0
-14
101
-36
10
-32
-11
-4
-37
99
6
17
0
0
0
0
-2
5
-16
78
-10
35
-49
-68
-43
-118
10
-53
-48
0
0
0
0
-2
0
26
44
-6
-6
30
-66
-86
-27
4
-194
0
0
0
0
0
3
15
21
-17
-4
13
13
4
5
-58
-24
137
2
0
0
0
0
0
-2
81
9
10
-81
12
-15
-18
-91
-3
11
0
0
0
0
0
0
0
0
8
-15
24
86
0
51
4
59
-18
203
3
0
0
0
0
0
0
-42
2
43
-4
30
16
-17
2
20
-35
27
0
0
0
0
0
0
-19
34
32
14
41
-5
22
-15
56
104
8
0
0
0
0
-1
-2
-8
-46
-85
2
-40
-68
-27
26
76
56
4
0
0
0
0
0
3
-11
-58
21
-22
-25
-21
-33
-35
-13
119
21
0
0
0
0
0
0
-19
1
-47
-7
-27
-13
-72
-37
-41
-87
46
0
0
0
0
0
1
-16
28
-63
-36
-22
-100
-34
-28
-94
-32
0
0
0
0
0
0
0
-7
-35
41
-35
75
43
-24
-18
-80
-6
0
0
0
0
0
0
0
0
0
0
0
25
5
-75
0
-7
0
0
0
0
0
0
0
0
7
-30
51
12
0
21
39
-19
48
79
-110
156
2
0
0
0
0
27
-49
-78
-41
19
-11
-1
-12
77
54
-47
36
62
0
0
0
7
-10
102
32
-61
-21
-32
8
77
57
158
15
1
96
0
0
-1
0
3
-49
-36
-110
-6
11
2
94
68
100
65
42
51
0
0
0
4
-4
1
118
-28
2
-1
23
43
108
142
-43
-64
37
0
0
0
0
-15
-23
5
-61
-88
-67
13
70
16
73
-18
-5
0
0
0
0
0
0
-10
24
6
67
28
-65
-32
-63
86
-46
2
0
0
0
0
0
0
0
-7
-13
-5
-122
-31
-45
24
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
-3
-60
0
-88
4
71
33
-37
-20
64
50
0
0
0
0
0
0
7
-11
-57
-77
65
95
-32
7
63
-13
-66
0
0
0
0
0
6
-11
-83
-44
-31
2
15
-77
22
57
127
-67
0
0
0
0
0
0
-15
63
-39
-130
-29
99
121
-141
176
15
-1
0
0
0
0
0
0
-11
-28
-20
77
78
15
91
50
0
7
0
0
0
0
0
0
-1
26
-70
66
49
1
-76
18
-44
35
0
0
0
0
0
0
0
0
-5
60
60
-15
25
-34
-84
19
0
0
0
0
0
0
0
0
0
2
-12
39
210
20
26
-2
0
0
0
0
0
0
0
0
0
0
0
1
12
5
2
0
0
0
0
0
0
0
0
0
0
0
-63
-39
78
0
-79
54
45
19
114
-15
-80
7
0
0
0
0
-14
-37
-28
-26
-78
135
47
118
-11
16
20
-29
-2
0
0
0
0
-4
-25
-42
40
79
-56
102
65
94
96
-40
81
2
0
0
0
0
-10
8
-131
-22
7
-30
106
62
50
-47
84
52
23
0
0
0
0
0
43
-58
-50
-92
-84
101
4
-24
117
116
57
11
0
0
0
0
0
39
-1
-24
-22
-74
80
83
-33
37
-83
68
6
0
0
0
0
-6
70
93
-5
-57
14
-36
14
-33
105
2
-3
0
0
0
0
0
-4
2
47
17
1
-16
32
35
-1
1
-1
0
0
0
0
0
0
0
6
6
18
21
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
46
0
0
0
0
0
0
0
0
0
0
-4
8
3
-43
0
0
85
0
0
0
0
0
0
0
0
0
0
0
-27
-1
-46
0
-46
193
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-83
55
2
66
15
0
0
0
0
0
0
0
0
0
0
-3
4
-71
-83
14
103
4
0
0
0
0
0
0
0
0
0
0
0
0
20
44
-10
18
-51
0
0
0
0
0
0
0
0
0
0
0
-3
-21
32
-36
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
3
3
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
34
0
0
0
0
0
0
0
0
0
0
0
1
-11
-19
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-19
-57
49
0
0
0
0
0
0
0
0
0
0
0
-7
2
18
-26
92
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-3
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
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
1
1
0
0
0
137
0
0
0
0
0
0
0
0
0
0
0
-1
24
-14
0
0
109
0
0
0
0
0
0
0
0
0
0
0
0
32
98
44
2
-26
0
0
0
0
0
0
0
0
0
0
0
-2
18
23
83
-41
15
1
0
0
0
0
0
0
0
0
0
0
0
0
-175
47
106
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
2
14
0
0
0
0
0
0
0
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
-4
0
0
0
9
18
0
0
0
0
0
0
0
0
0
0
-3
3
63
0
0
7
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-28
44
104
153
54
0
0
0
0
0
0
0
0
0
0
0
-6
-85
-17
47
12
-34
6
0
0
0
0
0
0
0
0
0
0
0
26
3
-13
-60
4
1
0
0
0
0
0
0
0
0
0
0
2
0
-1
-39
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
10
0
19
1
8
0
0
0
0
0
0
0
0
-19
0
0
0
118
35
37
-14
-1
-1
0
0
0
0
0
0
0
0
10
47
77
77
42
4
12
0
0
0
0
0
0
0
0
0
-2
-6
-35
58
33
69
-19
-30
-7
7
0
0
0
0
0
0
0
0
18
-5
80
41
36
-67
-2
8
0
0
0
0
0
0
0
0
0
14
1
-29
0
121
-2
-19
0
0
0
0
0
0
0
0
0
0
0
5
7
-2
4
21
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
0
0
0
0
0
0
0
0
0
-4
0
0
-11
0
0
0
0
-7
7
0
0
0
0
0
0
0
2
8
-81
-11
0
0
0
53
25
7
0
0
0
0
0
0
0
0
0
-3
49
-5
108
114
163
-148
-100
2
-12
0
-1
0
0
0
0
0
-4
-24
50
-11
36
33
-13
47
-54
49
4
0
0
0
0
0
0
0
-1
78
69
-57
-43
-28
40
56
-15
2
0
0
0
0
0
0
0
1
-9
48
-63
49
-17
-64
-26
-50
8
0
0
0
0
0
0
0
1
4
13
-34
10
-14
11
-51
18
1
0
0
0
0
0
0
0
0
0
0
2
-7
0
-11
-8
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
10
49
-64
44
33
15
20
0
0
0
0
6
-4
127
-61
0
0
95
94
72
5
71
28
60
0
0
0
0
0
0
-7
133
37
84
177
128
-12
11
53
24
57
0
0
0
0
0
2
-3
-220
98
25
113
31
16
3
48
71
-7
0
0
0
0
7
1
14
57
2
-36
-5
110
-1
-32
4
14
107
0
0
0
0
0
0
2
-34
6
17
35
5
-2
-2
20
110
41
0
0
0
0
0
0
0
0
-8
33
173
126
27
-50
-52
33
-1
0
0
0
0
0
0
0
0
-2
15
2
24
-65
43
66
-38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-60
0
0
87
31
-14
16
24
5
39
0
0
0
0
6
13
10
-86
6
9
12
21
-2
-9
-16
-11
169
0
0
0
0
0
-32
22
-93
-53
-28
-20
-16
-24
-19
-26
76
124
0
0
0
0
0
-6
-53
-42
-35
-69
-5
-17
-17
-22
-28
-42
145
0
0
0
0
0
45
11
-47
-121
-109
-54
-23
-26
-47
-19
52
138
0
0
0
0
0
-3
-28
40
-42
-138
-37
-28
-42
-55
-58
-28
-10
0
0
0
0
0
7
8
-45
-74
-43
-46
5
7
5
-37
31
4
0
0
0
0
0
0
-15
-4
43
159
7
15
-4
-5
-78
40
0
0
0
0
0
0
0
0
5
-8
15
14
-62
6
-10
4
0
0
0
0
0
0
0
0
0
-12
0
0
50
79
-72
31
104
28
10
0
0
0
0
0
0
-1
6
-26
131
142
35
-10
19
37
-29
27
0
0
0
0
0
0
-7
-11
-18
-2
-23
61
13
-44
-27
-19
4
0
0
0
0
0
0
1
0
16
29
23
11
15
-57
-14
45
37
0
0
0
0
0
0
0
-16
2
1
13
85
165
11
-15
24
44
0
0
0
0
0
0
0
0
-38
58
-8
39
-73
-107
-22
63
-29
0
0
0
0
0
0
0
0
0
5
-47
71
18
-23
20
24
12
0
0
0
0
0
0
0
0
0
0
63
38
103
-2
26
-11
34
0
0
0
0
0
0
0
0
-2
-6
27
6
34
21
-4
34
23
0
0
0
0
0
-2
0
4
0
98
79
49
9
64
67
-13
-27
0
0
0
0
0
0
-7
33
-46
14
0
17
83
55
69
22
96
0
0
0
0
0
1
12
-19
30
120
57
41
13
13
31
-65
119
0
0
0
0
-1
0
-4
-16
-74
41
-114
38
-38
23
40
1
-106
0
0
0
0
0
0
0
-16
-152
54
-71
35
21
-35
31
97
39
0
0
0
0
0
0
-5
0
-10
-55
-8
-58
-31
-40
-4
22
51
0
0
0
0
0
0
0
0
12
30
25
31
40
10
80
27
-29
0
0
0
0
0
0
0
-3
17
0
0
-38
49
52
-54
18
24
0
0
0
0
0
0
0
0
0
0
0
0
-11
46
-55
0
0
0
0
0
0
0
2
-16
22
0
0
59
131
50
4
4
17
-147
0
0
0
6
-5
-12
149
0
-39
0
115
127
24
29
23
16
11
0
0
0
-3
-8
-6
-60
114
58
138
120
124
42
-1
37
-55
-26
0
0
0
0
0
0
3
-25
150
11
-8
64
16
42
-29
55
-18
0
0
0
0
0
-2
2
-89
-38
-91
72
-46
10
-28
6
27
-9
0
0
0
0
0
0
0
-21
-18
24
-40
-33
-62
-32
32
7
4
0
0
0
0
-3
0
5
0
2
-107
-18
-25
-20
34
-53
-30
125
0
0
0
0
0
0
0
0
-3
-5
2
41
-27
104
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
28
48
-6
0
0
0
0
0
0
0
-2
-3
0
-12
88
67
-88
47
123
-3
14
0
0
0
0
0
0
-6
0
-6
0
27
37
54
-15
1
21
0
0
0
0
0
0
0
0
0
-9
-42
53
-149
-5
77
99
-19
0
0
0
0
0
0
0
0
-3
-14
47
11
111
77
24
-77
98
-1
0
0
0
0
0
0
0
0
8
3
42
-16
-81
-129
37
-32
-7
0
0
0
0
0
0
0
0
0
-2
85
-12
-67
-186
40
-15
0
0
0
0
0
0
0
0
0
0
-4
-77
-28
-96
-97
175
37
0
0
0
0
0
0
0
0
0
0
0
0
-63
-6
40
32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-5
-11
0
0
0
-3
25
13
83
-10
-25
-7
0
0
0
0
0
-12
9
22
0
-2
-24
68
-63
9
56
-108
-82
0
0
0
0
0
0
0
-10
6
-26
132
-37
58
-52
-8
78
-46
0
0
0
0
0
-2
1
86
42
-69
-105
-57
-66
16
-37
-20
-20
0
0
0
0
0
0
0
52
161
44
-9
40
-65
54
34
-11
-13
0
0
0
0
0
0
0
59
13
16
98
-42
43
-101
-21
55
45
0
0
0
0
0
0
-2
0
10
4
51
26
25
-54
-145
59
64
0
0
0
0
0
0
0
0
0
0
0
-32
133
59
-69
-22
-134
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
-116
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
31
56
30
-66
-47
0
0
0
0
0
0
0
0
2
-20
2
-112
24
-7
35
5
-46
-8
0
0
0
0
0
0
0
0
-4
-16
3
-7
45
7
-4
40
-21
0
0
0
0
0
0
0
0
-7
0
-19
-74
20
35
68
29
-31
0
0
0
0
0
0
0
0
1
19
-7
11
-83
0
42
-20
-35
0
0
0
0
0
0
0
0
0
-2
-13
95
-13
9
-38
3
0
0
0
0
0
0
0
0
0
0
0
0
6
22
-17
-24
54
46
0
0
0
0
0
0
0
0
0
0
-1
-3
10
-58
-7
-30
-32
0
0
0
0
0
0
0
0
0
0
0
1
6
-22
86
-27
80
0
0
0
0
0
0
0
0
0
7
0
0
-6
137
27
25
0
0
0
0
0
0
0
0
0
0
0
-4
10
60
61
-30
-26
0
0
0
0
0
0
0
0
0
0
0
3
-4
48
93
118
32
0
0
0
0
0
0
0
0
0
0
0
-1
34
65
-88
-54
-34
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
-201
10
28
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-62
-62
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-86
-106
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-11
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
22
25
20
126
-49
0
0
0
0
0
0
0
0
0
-11
0
-3
-90
8
11
-30
-50
0
0
0
0
0
0
0
0
0
4
-7
-2
43
-32
-34
49
61
-36
0
0
0
0
0
0
0
0
0
0
-12
-4
29
61
71
3
-6
0
0
0
0
0
0
0
0
0
3
-22
-4
48
43
114
-36
-16
0
0
0
0
0
0
0
0
0
0
0
-5
-28
27
-8
-48
7
0
0
0
0
0
0
0
0
0
0
0
0
44
-79
-68
44
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-56
4
-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
1
43
-19
-35
-82
-99
0
-1
0
0
0
0
0
0
0
0
-2
2
66
23
31
-24
-2
38
-2
0
0
0
0
0
0
0
0
-2
-8
9
43
95
17
60
-79
24
0
0
0
0
0
0
0
0
0
0
6
0
-13
-34
53
-25
2
0
0
0
0
0
0
0
0
0
0
0
-12
72
105
158
-63
0
0
0
0
0
0
0
0
0
0
0
0
-17
-83
-45
79
16
4
0
0
0
0
0
0
0
0
0
0
0
-1
-60
-52
-39
36
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-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
-9
-3
0
84
-41
-74
63
98
-14
-22
1
0
0
0
0
0
0
0
3
-9
46
-123
19
-5
58
-96
-213
-5
0
0
0
0
0
0
0
-4
-14
-30
18
64
76
-49
132
26
-124
0
0
0
0
0
0
0
0
-14
21
51
-43
180
61
-49
27
-29
0
0
0
0
0
0
0
0
-30
-66
78
33
-44
-59
-114
-99
38
0
0
0
0
0
0
0
0
-13
-22
7
64
11
-9
-67
39
30
0
0
0
0
0
0
0
0
0
53
-48
11
-9
-117
51
-41
20
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
-28
-12
99
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
31
2
4
0
0
0
0
0
0
0
2
0
72
38
37
103
102
-159
-18
-18
0
0
0
0
0
0
10
2
-47
-56
-79
-26
-1
52
10
3
73
0
0
0
0
0
0
-1
-9
55
-7
159
35
21
44
56
82
-71
0
0
0
0
0
0
13
-7
-1
-67
88
143
53
-142
-118
-7
-41
0
0
0
0
0
0
0
-25
101
-8
-24
9
-83
-175
-56
-21
133
0
0
0
0
0
0
1
0
-5
43
14
37
-26
118
-2
2
21
0
0
0
0
0
0
0
2
10
-4
-108
98
-64
20
24
-107
85
0
0
0
0
0
0
0
0
9
0
-1
5
-132
18
-40
13
14
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
68
5
-54
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
13
23
0
59
33
128
87
113
-46
-34
-20
0
0
2
11
18
-23
-28
-12
33
-31
4
25
91
44
83
10
-21
0
0
0
-3
44
5
7
-32
-8
6
27
-65
42
-28
77
-10
-13
0
0
0
-2
5
-23
-47
-9
18
10
95
63
-46
-11
10
-95
-9
0
0
0
0
-7
-24
39
-21
13
-47
-18
121
34
-67
55
5
-1
0
0
0
0
0
0
-21
-54
17
43
9
4
49
-19
-31
167
6
0
0
0
0
0
0
0
-46
-24
-23
-85
68
-29
-115
-46
65
-9
0
0
0
0
0
0
0
-4
-3
6
20
-35
29
-59
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
-3
12
-116
-15
73
0
-12
-7
15
39
-19
60
43
0
0
0
-3
0
-4
11
-81
-11
6
-41
-4
9
16
22
27
-64
0
0
0
0
-1
14
-81
33
-92
-10
-30
-23
-4
28
38
-23
-5
0
0
0
-2
-3
4
36
-20
-35
-47
-30
-17
12
26
24
-24
-46
0
0
0
-2
-4
26
-18
-11
-12
-21
-6
-8
-17
35
4
15
1
0
0
0
0
3
-10
-100
-73
60
-57
-5
-24
-15
-40
3
-5
-21
0
0
0
0
-3
-7
18
-26
-33
-31
-23
-7
12
7
13
33
35
0
0
0
0
0
-1
-11
11
-86
28
4
-3
-22
-34
15
205
53
0
0
0
0
0
-3
-1
-41
-30
33
-17
-96
18
17
32
-67
0
0
0
-2
0
-1
33
2
-40
42
0
73
-97
23
74
-59
-3
0
0
0
0
0
0
0
3
123
42
8
-1
-17
21
109
117
33
1
0
0
0
0
0
0
3
63
6
-6
80
4
21
-6
44
47
8
0
0
0
0
0
0
0
43
15
-58
48
29
87
116
110
28
0
0
0
0
0
0
0
0
1
-26
-129
-77
95
-25
29
-52
-6
0
0
0
0
0
0
0
0
3
-120
-11
39
-149
76
19
74
3
0
0
0
0
0
0
0
0
-7
-4
-73
-26
28
51
100
4
26
0
0
0
0
0
0
-2
-1
0
2
22
-51
7
14
58
13
0
0
0
0
0
0
0
0
0
0
0
-5
48
10
50
-33
-2
0
0
0
0
0
0
-1
0
-50
-14
-1
0
-3
20
51
-73
105
-3
0
0
0
0
0
0
16
103
58
-8
45
42
22
48
23
-144
-36
0
0
0
0
0
0
-1
111
32
14
70
37
-75
-1
45
17
-19
0
0
0
0
0
0
1
-43
50
117
85
6
7
26
24
-8
88
0
0
0
0
0
0
0
8
85
6
88
0
10
-59
119
-37
56
0
0
0
0
0
0
11
19
44
5
45
-17
20
55
-12
-41
2
0
0
0
0
0
0
0
-51
-109
-74
41
-92
-34
111
9
18
-4
0
0
0
0
0
0
0
4
-8
-45
85
149
-52
-38
-13
94
4
0
0
0
0
0
0
0
0
0
9
0
-11
53
2
-21
0
-3
0
0
0
0
0
0
1
-72
-72
-33
0
17
11
36
17
79
8
-25
-4
0
0
0
2
32
-86
-112
32
63
-1
13
18
53
26
15
-146
-5
0
0
0
-2
-2
-60
8
-38
-17
24
20
16
70
119
9
96
9
0
0
1
6
-2
-2
108
-12
-58
18
21
34
81
96
-57
160
169
0
0
0
0
8
4
-48
-74
39
-14
-14
62
-3
20
-25
-24
8
0
0
0
0
0
2
-60
-21
-79
65
20
62
-59
-10
25
-80
39
0
0
0
0
0
7
5
47
-9
26
-31
11
32
6
52
20
-3
0
0
0
0
0
0
0
0
0
11
67
33
-25
-98
-36
76
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
18
0
-65
-19
37
41
-33
79
-46
-4
0
0
0
0
0
0
23
-47
137
135
-2
30
116
-46
16
74
-21
0
0
0
0
0
0
4
15
15
102
29
-2
136
-22
-32
-31
5
0
0
0
0
0
0
25
62
-67
-1
-66
-11
-33
19
105
7
9
0
0
0
0
0
0
0
-28
-13
8
-139
-88
-40
-20
-51
-9
2
0
0
0
0
0
0
0
-32
-38
-80
9
30
62
-161
42
-121
0
0
0
0
0
0
0
0
0
-59
-36
45
-97
13
23
7
-1
4
0
0
0
0
0
0
0
0
0
-80
-6
0
1
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
34
54
-9
0
33
33
-39
-18
-4
9
-51
-7
0
0
0
0
0
-59
84
-46
51
38
66
101
86
143
-8
0
-50
0
0
0
0
0
26
31
38
-24
-63
65
78
11
-40
47
-29
8
0
0
0
0
0
1
122
-22
-58
-42
-5
92
77
99
-13
-22
10
0
0
0
4
-6
50
0
2
-54
67
0
2
72
19
17
114
49
0
0
0
0
-7
34
2
31
-8
1
-96
77
-39
51
57
24
11
0
0
0
0
0
10
-55
94
20
18
11
-21
-2
-35
30
-94
26
0
0
0
0
0
6
11
4
-78
-42
-55
64
-11
-25
7
-110
8
0
0
0
0
0
0
0
0
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-16
6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-14
5
-82
-22
-13
-96
0
0
0
0
0
0
0
0
0
0
1
0
-84
87
-31
144
35
-5
0
0
0
0
0
0
0
0
-3
0
-74
-89
66
31
29
125
-2
0
0
0
0
0
0
0
7
-5
-4
38
81
-31
30
-8
34
-4
0
0
0
0
0
0
0
-3
-9
4
-28
9
-35
46
-130
-15
-2
0
0
0
0
0
0
0
4
7
3
-2
58
-25
81
19
4
-5
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
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
-2
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-56
-24
-82
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
119
-119
-17
1
0
0
0
0
0
0
0
0
0
0
0
9
47
-17
-12
17
0
0
0
0
0
0
0
0
0
0
0
1
-16
9
-5
-50
1
0
0
0
0
0
0
0
0
0
0
0
-10
6
177
63
-40
14
0
0
0
0
0
0
0
0
0
0
0
0
1
120
-44
-54
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
1
0
-70
43
-74
-30
0
0
0
0
0
0
0
0
0
0
1
0
17
30
76
72
34
-13
0
0
0
0
0
0
0
0
0
-1
-9
9
-73
44
25
-41
0
0
0
0
0
0
0
0
0
0
2
10
-2
-1
-13
-97
-26
0
0
0
0
0
0
0
0
0
0
3
0
-6
-20
-31
-31
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
23
-3
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
2
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
4
2
-3
0
0
0
41
16
0
0
0
0
0
0
0
0
0
-5
-6
0
44
-100
-25
-31
26
0
0
0
0
0
0
0
0
0
5
0
1
-76
34
130
-1
21
0
0
0
0
0
0
0
0
0
-1
3
-66
11
-59
-57
160
24
0
0
0
0
0
0
0
0
0
0
-1
32
-80
18
-1
94
-6
0
0
0
0
0
0
0
0
0
3
-3
17
-23
-79
-41
5
0
0
0
0
0
0
0
0
0
0
0
2
0
57
-80
-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
0
0
0
0
0
0
0
0
-2
0
0
-4
2
0
0
0
0
0
0
0
0
-6
0
0
0
-5
-10
-3
0
0
0
0
0
0
0
0
0
-7
-6
-73
-17
122
8
4
4
-1
2
0
0
0
0
0
0
0
0
-6
48
8
-15
9
0
66
15
0
0
0
0
0
0
0
0
0
-5
-15
31
-5
13
18
-2
0
0
0
0
0
0
0
0
2
0
-10
27
-8
-81
76
-26
-9
0
12
0
0
0
0
0
0
7
0
0
-14
11
-48
-2
-2
0
0
0
0
0
0
0
0
0
0
4
-6
-7
2
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
7
-7
0
0
0
0
-2
-3
0
3
0
0
0
0
0
-5
-8
-1
-17
0
0
0
-2
6
5
4
0
0
0
0
0
0
0
0
2
-14
-112
63
174
105
-26
3
3
52
1
0
0
0
0
-5
-1
-3
10
-118
-79
-30
-44
80
1
13
-20
-2
0
0
0
0
0
0
12
-41
-70
10
-46
-11
-86
-93
-3
-13
6
0
0
0
0
0
0
2
72
-18
108
-74
35
-82
-53
2
15
2
0
0
0
0
5
1
1
-9
161
113
-59
-26
40
89
-2
0
0
0
0
0
0
-2
1
-6
35
-26
20
-18
8
3
0
0
0
0
0
0
0
0
0
0
-20
-16
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
162
30
45
-18
17
34
118
0
0
0
0
0
13
-42
0
0
0
138
32
86
-4
-22
19
103
0
0
0
0
-1
12
-24
101
274
50
24
55
74
64
56
61
-6
0
0
0
0
-3
-8
6
-10
-85
83
53
50
71
45
58
62
78
0
0
0
3
-5
-122
27
-14
164
-6
64
9
50
-12
74
45
88
0
0
0
0
34
-80
-31
2
66
-68
25
-37
13
-23
24
41
16
0
0
0
-1
7
-36
-90
-82
-24
67
-78
94
-4
50
2
251
-2
0
0
0
0
-12
-25
-3
21
-14
8
-40
-21
20
-18
21
11
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
10
-1
70
0
0
89
-11
-3
8
30
53
30
0
0
0
0
1
-11
30
-1
122
48
23
20
19
20
-15
18
74
0
0
0
0
9
-11
27
37
17
-5
38
20
16
15
42
-34
-15
0
0
0
0
2
-59
-53
69
8
-11
-8
0
1
14
43
40
238
0
0
0
1
-9
0
-76
-9
62
-21
25
3
-20
26
-13
-6
39
0
0
0
-3
46
-37
-65
-8
162
6
-28
-35
-6
-1
109
85
54
0
0
0
3
13
43
89
47
-26
0
13
13
24
5
-34
22
-40
0
0
0
0
0
6
-9
37
18
70
55
22
3
15
-53
-29
0
0
0
0
0
0
-1
2
-3
-3
25
58
-14
-15
33
38
0
0
0
0
0
0
0
0
0
0
0
0
87
24
-26
124
-21
93
12
0
0
0
0
0
0
0
0
-6
47
-111
22
93
-23
1
24
160
0
0
0
0
-1
0
0
19
69
47
52
28
58
60
29
15
21
0
0
0
0
0
4
-12
-8
27
174
12
136
29
-58
-4
-29
52
0
0
0
0
0
-9
0
27
8
66
64
-39
-52
95
3
-65
-20
0
0
0
0
0
2
-39
0
-73
-24
-56
4
50
54
69
52
0
0
0
0
0
0
9
0
5
24
-80
63
-10
32
65
80
-85
0
0
0
0
0
0
0
0
0
6
-27
42
99
126
37
23
-4
0
0
0
0
0
0
0
0
0
0
0
15
-25
-61
89
-21
2
0
0
0
0
0
0
0
0
-3
0
45
24
11
58
-17
19
13
32
0
0
0
0
0
0
2
0
-37
26
0
89
26
27
61
9
13
0
0
0
0
0
0
-2
36
-51
69
89
63
-63
-30
45
64
-6
0
0
0
0
-3
1
2
-60
-57
73
1
10
7
124
99
56
90
0
0
0
0
0
-11
-21
-21
0
-111
-16
51
80
46
86
-61
101
0
0
0
0
0
-1
-32
12
-17
64
-28
78
3
-33
56
100
-80
0
0
0
0
0
5
0
-16
1
16
-65
-23
151
110
50
10
1
0
0
0
0
0
0
-4
0
-1
80
-28
5
13
-43
31
13
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
8
24
19
0
0
79
8
-85
96
91
-10
12
0
0
0
0
9
4
-56
0
-27
0
185
6
-8
78
36
26
73
0
0
0
0
10
28
9
-54
152
137
69
124
63
49
41
43
85
0
0
0
0
23
0
88
-73
79
22
5
5
8
41
46
-25
-13
0
0
0
0
1
-10
-30
-19
-49
4
-31
33
45
63
104
65
10
0
0
0
2
37
-12
-129
-21
-9
9
53
84
-24
21
21
44
0
0
0
0
1
-3
-6
-5
18
-11
108
42
-10
59
-27
31
12
0
0
0
0
0
2
1
-5
-12
0
42
-10
-1
63
17
-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
2
5
-5
1
-65
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-4
63
-55
-17
97
31
-2
0
0
0
0
0
0
0
10
6
8
13
5
-37
-9
20
23
-5
0
0
0
0
0
0
-3
8
8
0
-8
104
-26
136
-23
0
-11
0
0
0
0
0
0
1
0
0
-4
65
14
43
11
82
16
-1
0
0
0
0
0
0
0
0
-5
-6
4
-78
-10
41
-6
0
0
0
0
0
0
0
0
0
0
2
-47
0
2
24
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
55
-104
-47
-43
-9
58
0
0
0
0
0
0
0
0
0
-27
-3
140
52
-30
-69
52
-16
0
0
0
0
0
0
0
16
35
91
7
100
82
129
76
53
-19
0
0
0
0
0
0
-7
31
-31
-101
27
10
-130
111
-10
45
125
0
0
0
0
0
1
0
-80
27
9
-7
-32
22
52
-29
62
74
0
0
0
0
0
0
-15
41
-45
-22
-116
21
3
-76
47
-63
8
0
0
0
0
0
0
1
12
-4
73
-58
-125
-100
-88
25
64
7
0
0
0
0
0
0
0
1
9
-2
4
-40
-95
100
-77
10
0
0
0
0
0
0
0
0
0
1
0
0
-10
2
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
66
146
120
164
48
0
4
-6
0
0
0
0
0
0
18
7
-30
117
-22
48
54
-30
-48
-7
-1
0
0
0
0
0
0
0
18
-31
36
7
161
80
43
52
-17
2
0
0
0
0
0
0
18
-4
-3
10
37
25
-81
-53
-19
-98
-112
0
0
0
0
0
0
0
13
-2
-8
16
-10
52
2
-8
-25
-52
0
0
0
0
0
0
0
0
-4
-4
7
4
-22
19
64
-14
15
0
0
0
0
0
0
0
0
0
0
1
-10
-12
73
-167
19
18
0
0
0
0
0
0
0
0
0
0
0
4
-27
-13
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
-1
1
-20
-35
22
-41
20
0
0
0
0
0
0
0
0
0
-4
-4
-1
-3
-6
111
21
3
0
0
0
0
0
0
0
0
0
2
0
-3
2
34
15
-85
69
-19
0
0
0
0
0
0
0
0
0
0
0
-3
17
89
63
2
5
0
0
0
0
0
0
0
0
0
0
0
0
-53
46
63
28
-10
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
23
-88
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-9
-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
2
0
-2
22
50
-12
93
61
110
0
0
0
0
0
0
0
0
0
5
22
8
25
-24
28
-45
-78
8
0
0
0
0
0
0
0
21
-24
18
32
-3
-70
84
112
-103
6
0
0
0
0
0
0
0
1
-7
-3
3
-1
23
44
79
51
26
0
0
0
0
0
0
0
0
0
0
0
15
58
116
-2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
49
84
-2
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-1
3
-26
-8
117
97
-15
3
0
0
0
0
0
0
-4
0
10
26
-36
57
-94
-12
-53
165
-6
0
0
0
0
0
0
0
0
2
1
3
10
-20
71
6
-20
0
0
0
0
0
0
0
0
1
0
0
0
-3
64
45
15
28
0
0
0
0
0
0
0
0
0
0
0
0
3
33
109
25
-101
2
0
0
0
0
0
0
0
0
0
0
0
-12
-20
2
-55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-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
39
-47
-44
1
112
-71
-1
3
0
0
0
0
0
0
0
0
58
81
15
-17
-3
25
114
92
9
0
0
0
0
0
0
0
2
1
-30
68
47
-9
-116
69
21
-3
0
0
0
0
0
0
0
4
-3
22
13
1
-6
67
25
-9
0
0
0
0
0
0
0
0
0
-7
41
32
0
65
49
145
21
0
0
0
0
0
0
0
0
0
-10
0
-7
-17
69
-3
-1
-22
0
0
0
0
0
0
0
0
-2
0
-1
0
-40
157
-1
23
0
3
0
0
0
0
0
0
0
0
-13
-4
4
5
0
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
1
0
13
23
2
70
-42
67
-28
-4
0
0
0
0
0
0
0
0
8
87
12
94
174
-90
-11
20
-43
0
0
0
0
0
0
0
-2
18
-26
-23
145
-73
40
40
123
34
0
0
0
0
0
0
1
4
5
5
93
-40
-32
155
4
-25
-58
0
0
0
0
0
0
0
-12
37
45
-61
-13
-64
28
51
-1
-22
0
0
0
0
0
0
0
0
31
13
-81
58
5
-24
-31
-4
-76
0
0
0
0
0
0
3
9
34
-8
12
65
22
-20
17
52
46
0
0
0
0
0
0
0
0
-1
0
-4
-7
3
95
-6
-8
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
77
0
0
62
91
-100
65
59
13
-17
18
0
0
0
1
-1
-50
-43
-11
105
88
71
-65
74
-45
137
-60
51
0
0
0
0
8
1
-7
-47
21
77
40
91
109
67
97
63
-39
0
0
0
0
-5
23
-109
-40
-78
68
-47
-92
25
66
34
101
44
0
0
0
0
14
-10
-30
1
-99
-47
-26
-6
110
44
60
-42
-15
0
0
0
0
-1
-20
51
-37
-36
40
-57
99
-24
19
-27
-7
0
0
0
0
0
0
1
-23
-6
-77
35
68
-55
-19
14
-3
-1
0
0
0
0
0
0
-2
-1
5
42
9
-11
-48
37
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-5
11
0
0
0
0
0
0
0
0
0
0
-4
2
8
12
0
-3
17
51
63
-17
138
-89
0
0
0
0
5
64
-127
-21
79
27
5
21
24
16
54
-36
36
0
0
0
-1
-7
56
-126
20
83
32
15
37
13
-13
45
57
113
0
0
0
0
-2
31
-34
-50
23
-19
2
-17
4
-25
40
106
-54
0
0
0
-27
8
-8
69
37
-36
31
-12
-15
-11
4
10
-17
54
0
0
0
9
5
-16
19
-12
-6
-23
27
3
-3
-17
-50
32
-18
0
0
0
0
6
37
41
33
31
-1
10
4
-22
-54
48
15
11
0
0
0
0
-6
-1
-4
64
91
0
14
24
13
37
-31
-68
-11
0
0
0
0
0
-5
12
17
-92
47
54
12
51
114
-25
0
0
0
0
0
0
0
0
-29
49
105
0
125
-42
-20
38
-67
62
0
0
0
0
-1
-2
29
-46
27
0
-4
-71
108
-82
43
-85
27
-2
0
0
0
0
14
1
-45
2
23
56
60
157
73
-11
-97
-14
6
0
0
0
0
0
-75
-7
-36
-33
-3
18
174
50
16
-18
5
2
0
0
0
0
-6
0
-12
54
-11
47
-42
-12
46
20
-1
19
0
0
0
2
1
0
-19
-60
-40
-33
-10
-87
131
-197
-72
65
0
0
0
0
-9
0
-56
-106
0
-45
-14
-24
-33
11
-35
-64
22
-34
0
0
0
-1
3
-10
-91
-90
-20
-12
-8
45
51
-32
9
-1
0
3
0
0
2
-3
-12
-28
10
3
6
44
-63
33
5
-13
0
0
0
0
0
0
0
0
5
44
104
-2
0
-8
43
54
-45
-9
2
0
0
0
0
0
0
-42
-108
70
0
70
-3
49
43
56
-136
-72
0
0
0
0
0
5
0
19
20
58
58
-27
72
6
125
4
-6
0
0
0
0
0
5
-16
3
43
57
57
28
64
21
-46
27
-8
0
0
0
0
0
-4
-1
-29
-84
-7
69
-14
5
82
113
12
-7
0
0
0
0
0
0
-31
-12
-27
25
-35
10
13
-182
-112
-4
-3
0
0
0
0
0
18
1
16
-20
8
-41
-59
-50
-11
-16
-1
-6
0
0
0
0
-2
0
-3
-84
-14
11
3
116
-149
19
44
6
0
0
0
0
0
0
0
0
0
0
0
-43
-8
35
5
-1
0
0
0
0
0
0
0
0
0
6
116
165
0
47
46
35
107
29
-41
28
-56
0
0
0
0
-12
3
109
2
57
62
90
69
10
-74
84
-44
-4
0
0
0
0
-5
7
42
42
55
15
31
7
80
92
6
83
-7
0
0
0
-1
-1
4
46
48
-64
-5
-29
-29
-70
43
52
85
-27
0
0
0
-4
0
15
39
65
-46
5
5
-45
-43
88
-124
68
37
0
0
0
0
5
28
1
45
4
-47
-86
-10
81
19
-1
43
0
0
0
0
-7
-12
-6
30
-31
-116
-144
-113
-58
-13
-40
54
-8
0
0
0
0
0
0
1
1
-9
5
-21
-18
7
-43
-22
0
0
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
-3
0
-4
81
-79
112
-12
-47
-26
10
0
0
0
0
0
0
-6
0
-88
-40
-23
136
-51
-42
18
26
3
0
0
0
0
0
0
0
-41
-63
-22
20
75
-69
-2
100
-129
44
0
0
0
0
0
0
-1
-40
-2
-21
169
20
-26
26
-112
-38
-30
0
0
0
0
0
0
-2
28
123
113
12
33
-73
47
17
17
1
0
0
0
0
0
-4
2
-40
-11
-21
66
108
98
-3
-17
-10
0
0
0
0
0
0
0
0
-29
112
28
32
124
-102
4
-4
-10
0
0
0
0
0
0
0
0
1
-8
44
6
-13
-57
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
34
68
0
182
43
95
-25
-104
-8
10
66
0
0
0
0
0
-4
25
0
51
141
-82
-2
67
5
47
75
60
0
0
0
0
0
0
0
-92
74
16
15
49
15
173
15
39
20
0
0
0
0
0
0
18
-100
48
84
20
83
-63
-4
35
-24
-46
0
0
0
0
0
-31
-71
-6
40
27
-65
42
-82
71
-105
-16
43
0
0
0
0
-1
31
31
-98
35
-13
72
-17
109
-20
94
50
-24
0
0
0
0
-4
-44
42
-79
34
-29
92
-11
56
-9
26
-33
-2
0
0
0
0
2
3
-146
-22
93
64
-89
62
-9
-17
3
2
0
0
0
0
0
0
0
0
-2
-18
21
-15
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
0
0
0
0
0
0
0
5
-1
-60
0
0
84
0
0
0
0
0
0
0
0
0
-6
0
2
28
-68
-55
93
51
3
0
0
0
0
0
0
0
0
0
6
0
-8
34
4
40
95
0
0
0
0
0
0
0
0
0
0
-3
0
17
77
-35
31
43
16
0
0
0
0
0
0
0
0
0
0
0
-4
44
-78
-20
54
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
135
-23
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-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
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
-39
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
7
-74
-8
306
28
0
0
0
0
0
0
0
0
0
0
0
0
0
47
63
65
-90
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
89
21
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
9
4
0
0
41
-16
0
0
0
0
0
0
0
0
0
0
0
-8
-16
148
11
9
20
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
10
32
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
-70
25
41
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
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
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
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
15
-1
-61
6
0
0
0
0
0
0
0
0
0
2
3
-12
0
69
-29
0
-12
0
0
0
0
0
0
0
0
0
0
0
28
64
51
-5
-6
0
-4
0
0
0
0
0
0
0
0
0
-2
-2
-8
18
-10
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
-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
-1
5
7
0
0
0
0
7
11
-1
0
0
0
0
0
0
1
-1
-6
1
0
0
0
-9
44
3
-18
3
3
0
0
0
0
0
0
-7
23
-62
2
38
-16
0
-44
25
-36
2
6
0
0
0
0
0
0
-2
11
45
-14
114
-57
45
-31
-18
6
0
0
0
0
0
0
0
0
9
3
55
4
-57
-2
3
-11
-8
0
0
0
0
0
0
0
0
2
12
-11
6
-93
7
10
25
23
0
0
0
0
0
0
0
0
0
0
6
11
-11
-40
-4
3
0
-3
0
0
0
0
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
2
-22
0
0
0
104
117
52
64
-38
-18
65
0
0
0
-3
1
1
31
32
0
0
59
20
40
27
-20
34
71
0
0
0
0
0
1
-22
-108
107
123
239
84
-29
-12
-23
3
25
0
0
0
0
0
-3
0
73
77
214
158
113
33
1
77
44
129
0
0
0
0
0
-1
-2
7
-117
29
37
-38
35
5
13
-33
-33
0
0
0
0
0
-1
0
-11
-13
-87
20
126
-62
-11
-28
109
-21
0
0
0
0
0
0
0
-5
-14
-16
112
32
-83
41
-34
74
-9
0
0
0
0
0
0
0
0
0
0
0
-8
3
59
-16
46
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
3
-6
0
0
4
1
-3
-21
27
19
-16
0
0
0
2
6
0
-69
-30
39
77
44
28
-8
-22
10
111
157
0
0
0
0
-2
7
37
0
23
85
62
-8
-13
-17
-14
67
90
0
0
0
0
5
-23
60
-28
-76
16
-25
12
-9
-11
-8
69
139
0
0
0
0
0
-7
19
112
-32
-28
-47
-48
-28
-22
-24
65
83
0
0
0
0
0
7
-8
13
17
39
-104
-84
-28
-83
-51
-13
30
0
0
0
0
0
1
0
-7
-67
6
-19
-72
-58
-49
-65
3
69
0
0
0
0
0
0
15
-6
-16
62
5
-36
-23
-2
-46
-108
47
0
0
0
0
0
0
2
0
-9
0
13
50
29
54
95
10
0
0
0
0
0
0
-3
1
0
0
0
86
-47
23
60
34
37
-20
0
0
0
0
0
0
0
0
47
-32
123
18
40
-47
27
-1
53
0
0
0
0
0
0
-2
-2
9
-49
19
18
30
-11
38
-33
36
0
0
0
0
0
0
0
0
4
48
-51
49
-41
0
-27
-43
31
0
0
0
0
0
1
2
0
-60
-21
81
-71
10
36
-10
-6
-30
0
0
0
0
0
0
0
0
5
13
9
61
97
-59
46
-3
44
0
0
0
0
0
0
0
-2
0
10
-39
-17
-11
8
-19
7
22
0
0
0
0
0
0
0
0
0
5
1
78
26
10
20
11
51
0
0
0
0
0
0
0
0
0
-3
-5
0
-48
51
-61
44
61
0
0
0
0
0
0
0
7
0
119
98
101
-71
19
134
29
42
0
0
0
0
0
0
1
3
99
180
0
47
62
51
-32
31
22
0
0
0
0
0
0
0
-1
81
37
-1
-14
3
23
-37
-19
89
0
0
0
0
0
0
-22
0
27
-64
30
62
79
18
-45
4
34
0
0
0
0
0
0
0
0
51
-13
24
62
71
1
-41
4
23
0
0
0
0
0
0
0
0
-16
-31
31
-21
-30
27
39
53
-11
0
0
0
0
0
0
0
0
-6
8
-41
-43
94
95
7
-22
-82
0
0
0
0
0
0
0
0
0
0
20
52
41
-19
-2
56
93
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
85
0
0
0
0
0
0
0
15
57
-22
0
0
51
88
-15
45
-42
25
-34
0
0
0
7
-4
-17
-22
0
97
0
121
96
26
89
52
94
36
0
0
0
0
-5
9
-85
-66
181
-53
97
23
33
16
43
-16
-49
0
0
0
0
0
3
-7
-18
91
185
22
91
66
24
-45
-34
-6
0
0
0
0
0
0
-4
-7
29
21
114
-29
68
37
-15
-17
-9
0
0
0
0
0
0
2
15
-49
42
47
43
3
-32
-11
-15
4
0
0
0
0
0
0
3
0
-14
-4
-86
-40
2
109
-130
-45
-27
0
0
0
0
0
0
0
0
0
0
1
-6
-4
7
70
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-34
0
1
0
0
0
0
0
0
0
0
0
0
1
10
-9
-20
-1
33
-8
0
0
0
0
0
0
0
0
0
0
0
-19
60
10
87
9
-40
0
0
0
0
0
0
0
0
0
-7
1
8
49
-33
53
-15
17
-2
0
0
0
0
0
0
0
0
0
16
-58
112
27
18
-24
7
0
0
0
0
0
0
0
0
0
0
-7
11
86
83
60
3
21
-4
0
0
0
0
0
0
0
0
0
5
-2
11
-62
74
-33
2
0
0
0
0
0
0
0
0
0
0
0
10
2
-7
-5
20
4
0
0
0
0
0
0
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
0
0
-10
29
37
107
-34
78
66
0
0
0
0
0
0
-3
4
0
6
16
38
96
-72
-30
47
-21
0
0
0
0
0
0
0
-4
1
18
99
31
-45
77
-17
47
72
0
0
0
0
0
0
8
-4
-15
-20
129
76
-70
-8
75
125
-21
0
0
0
0
0
0
0
9
46
-15
176
19
18
-24
4
85
115
0
0
0
0
0
0
0
-2
-1
0
69
6
75
-6
-51
15
16
0
0
0
0
0
0
0
0
0
24
21
-59
39
96
1
-101
-51
0
0
0
0
0
0
0
0
0
8
-4
-4
-6
-44
-25
-20
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
101
7
77
51
-80
62
29
4
0
0
0
0
0
0
0
-2
-4
-1
54
11
-78
0
81
-65
33
0
0
0
0
0
0
0
-4
18
82
64
73
80
40
27
-38
-38
0
0
0
0
0
0
0
-1
0
17
-71
-18
113
-9
-64
11
85
0
0
0
0
0
0
0
0
8
3
2
-57
47
72
-13
52
140
0
0
0
0
0
0
0
0
2
0
-2
35
-53
10
-22
31
-47
0
0
0
0
0
0
0
0
0
-5
0
-4
0
-60
-5
-59
87
0
0
0
0
0
0
0
0
0
0
0
-11
-21
17
12
-59
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
68
2
0
0
0
0
0
0
0
0
0
0
0
10
20
122
-134
-8
-1
0
0
0
0
0
0
0
-4
-3
0
-40
3
33
15
-61
-10
8
0
0
0
0
0
0
0
0
0
-3
0
4
3
84
85
-52
-1
0
0
0
0
0
0
0
0
0
0
1
0
-27
75
22
-74
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
-29
43
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-49
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
61
-40
9
0
0
0
0
0
0
0
0
0
0
0
0
0
12
13
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
4
0
0
7
-2
-10
14
-36
4
0
0
0
0
0
0
0
0
-9
-2
0
26
10
99
64
-51
2
6
0
0
0
0
0
0
0
2
-5
5
-4
-1
-32
8
5
117
4
0
0
0
0
0
0
0
0
-8
0
-12
18
125
-61
66
-52
9
0
0
0
0
0
0
0
0
0
0
0
10
81
51
-21
57
7
0
0
0
0
0
0
0
0
0
0
0
-3
12
21
-18
18
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
-68
50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
49
-118
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
-2
13
121
-1
110
-34
0
0
0
0
0
0
0
0
-1
0
0
68
-86
31
0
46
-112
79
0
0
0
0
0
0
0
0
-1
0
-1
0
-20
-19
-112
22
21
0
0
0
0
0
0
0
0
0
0
5
9
167
-59
22
-75
28
0
0
0
0
0
0
0
0
0
0
0
0
-6
45
151
38
18
0
0
0
0
0
0
0
0
0
0
0
0
15
-102
33
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-9
-25
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
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
-7
0
106
-17
-79
30
-23
-15
46
0
0
0
0
0
0
0
-6
56
100
-1
-66
-10
87
-9
95
-12
-15
0
0
0
0
0
0
-1
-2
51
-50
-1
41
-18
49
43
-15
9
0
0
0
0
0
0
0
-4
4
147
42
54
58
33
-75
-29
4
0
0
0
0
0
0
0
0
-4
-5
-2
168
110
41
97
-4
42
0
0
0
0
0
0
0
0
0
-2
-12
-30
84
74
-72
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
-31
16
83
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
-11
20
38
-80
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
4
0
0
0
0
0
0
0
2
0
15
-5
-36
15
28
-41
9
55
0
0
0
0
0
0
0
0
76
1
-46
69
90
43
101
8
96
0
0
0
0
0
0
0
-8
14
32
-9
38
87
33
-10
-30
-75
0
0
0
0
0
0
0
0
4
-41
24
88
22
-60
-50
-46
25
0
0
0
0
0
0
0
0
9
-20
-72
-18
46
45
11
16
68
0
0
0
0
0
0
0
0
0
0
-2
-10
-94
-21
-13
-10
141
0
0
0
0
0
0
0
0
0
0
1
-11
-74
106
-9
31
-27
0
0
0
0
0
0
0
0
0
0
0
16
-6
43
-90
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
4
59
-54
-35
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
29
0
107
138
20
64
-74
17
-151
50
0
0
0
4
3
24
-98
19
70
92
38
55
-1
-87
52
-4
-21
0
0
0
1
15
-8
-80
-3
-4
45
34
34
100
-37
42
-131
-2
0
0
0
0
0
8
-31
-29
37
-18
22
35
84
61
-13
-77
2
0
0
0
0
0
12
-6
-4
-21
11
-53
54
43
85
-25
2
-1
0
0
0
0
0
0
0
13
33
-13
-7
-30
-84
-47
77
-59
11
0
0
0
0
0
0
0
-5
-1
20
8
3
-47
48
-63
-4
-12
0
0
0
0
0
0
0
0
0
0
0
-2
10
20
1
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
13
15
37
-39
-40
0
-5
-4
54
31
-6
-59
-43
0
0
0
0
-14
-47
85
67
-137
31
10
18
44
1
11
-18
66
0
0
0
0
1
0
-62
-17
-38
-84
-48
-11
14
-18
43
-45
-34
0
0
0
0
1
-2
-56
81
-61
23
-25
-37
-13
-11
34
-46
11
0
0
0
0
-1
8
6
55
44
31
-81
29
-77
-8
-25
42
-189
0
0
0
0
0
-2
1
28
-22
38
42
-63
-45
-41
-1
49
-12
0
0
0
0
0
0
0
-5
-47
-94
-62
-37
-74
-71
-16
-41
8
0
0
0
0
0
2
0
0
-54
38
-100
69
-4
55
-68
-7
-153
0
0
0
0
0
0
0
0
0
33
23
-42
-50
-64
-1
0
0
0
0
0
-3
-5
27
57
15
80
0
84
34
34
156
-54
56
0
0
0
0
0
0
0
-5
-7
-28
75
9
21
98
-39
95
10
7
0
0
0
0
0
0
0
45
79
-32
-24
98
-37
98
-22
-66
-4
0
0
0
0
0
0
-8
-1
62
108
-16
-50
51
34
-43
-42
0
0
0
0
0
0
0
0
-3
-18
-15
15
-49
-44
-76
-69
43
3
0
0
0
0
0
0
0
0
1
0
-2
-24
29
-33
-66
-1
-1
0
0
0
0
0
0
0
0
0
0
16
10
0
25
-2
-109
0
0
0
0
0
0
0
0
0
0
22
10
9
44
5
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
-5
-28
41
2
0
23
14
60
-55
11
69
0
0
0
0
0
0
2
20
-36
34
90
30
-18
-22
5
98
-76
0
0
0
0
0
0
4
-9
20
138
-13
-73
21
6
24
124
-28
0
0
0
0
0
0
0
0
-12
-57
72
48
-100
56
39
149
73
0
0
0
0
0
0
0
0
-11
17
35
-58
-64
-32
53
108
16
0
0
0
0
0
0
0
0
0
-28
-48
-89
-56
-21
-71
-85
-15
0
0
0
0
0
0
0
0
0
-42
-30
-34
-6
61
-48
-4
2
0
0
0
0
0
0
0
0
0
6
-4
-16
-1
-54
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
2
45
-7
-32
0
97
31
60
-65
73
-7
-52
52
0
0
0
0
3
165
86
43
67
73
49
80
-35
72
-30
27
131
0
0
0
0
0
29
33
-17
14
38
76
20
7
-24
-8
23
-154
0
0
0
0
0
2
9
-19
-6
17
-56
51
-27
-8
24
-125
-98
0
0
0
0
0
0
0
-71
100
56
38
-17
-20
-20
-82
-28
13
0
0
0
0
0
0
0
-2
-48
87
-30
-105
34
-87
-88
114
14
0
0
0
0
0
0
0
0
7
-11
8
-41
-36
-81
-40
-22
-2
0
0
0
0
0
0
0
0
0
-2
-2
-6
-2
-3
26
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-3
0
0
0
0
0
0
-4
-57
0
43
-26
-23
51
-50
-50
-39
1
0
0
0
0
0
0
-9
-5
-104
-13
28
20
25
34
-24
18
4
0
0
0
0
0
0
-7
23
77
-1
128
77
165
-52
23
-92
-32
0
0
0
0
0
0
8
-25
-87
134
74
-29
-56
19
14
-40
21
0
0
0
0
0
0
0
9
0
-16
14
-14
27
20
-27
-28
-2
0
0
0
0
0
0
0
0
5
-41
14
1
31
-95
74
24
2
0
0
0
0
0
0
0
0
0
-2
-11
33
-28
-3
10
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
38
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
1
-9
63
0
23
-27
-79
32
-25
-19
44
75
0
0
0
0
0
0
84
1
114
205
-3
92
40
-12
100
60
-17
0
0
0
0
0
0
43
-16
47
-26
89
98
-59
58
-107
-53
12
0
0
0
0
0
0
-3
-47
-66
64
53
138
23
23
-45
31
-15
0
0
0
0
0
0
-2
43
2
83
112
-46
28
34
8
-42
73
0
0
0
0
0
0
-1
-28
93
34
67
34
-131
-57
28
-68
124
0
0
0
0
0
0
0
6
27
64
20
1
51
-47
-117
0
60
0
0
0
0
0
0
0
0
-9
0
-2
-4
-8
26
-47
-78
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
64
-56
33
20
43
0
-6
0
0
0
0
0
0
0
-5
-13
-85
43
-28
6
6
40
-6
0
0
0
0
0
0
0
0
-77
13
-81
4
9
52
8
-2
0
2
0
0
0
0
0
0
0
-53
-133
31
-3
-31
-48
0
0
-3
0
0
0
0
0
0
0
0
31
-179
-129
-180
103
21
-2
0
0
0
0
0
0
0
0
0
0
14
67
10
52
4
-24
5
0
0
0
0
0
0
0
0
0
0
-10
-67
24
-60
29
14
0
0
0
0
0
0
0
0
0
0
0
-18
112
49
-48
8
-10
0
0
0
0
0
0
0
0
0
0
0
9
34
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-62
74
6
1
-1
-2
0
0
0
0
0
0
0
0
0
6
-135
63
19
55
-4
4
0
0
0
0
0
0
0
0
0
0
-21
49
9
69
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
-30
-61
4
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
9
22
20
0
0
0
0
0
0
0
0
0
0
0
0
9
10
3
-23
-13
-1
0
0
0
0
0
0
0
0
0
0
0
5
-7
-44
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-179
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-7
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-85
-50
-50
9
0
-3
0
0
0
0
0
0
0
0
0
2
79
-152
-18
-43
-2
0
0
0
4
0
0
0
0
0
0
0
-7
85
99
-15
2
-4
0
0
0
0
0
0
0
0
0
0
0
9
3
-135
24
46
0
0
0
0
0
0
0
0
0
0
0
0
-1
-59
6
12
-14
1
0
0
0
0
0
0
0
0
0
0
0
7
7
-52
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
-74
11
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
-34
-27
-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
-29
-71
0
33
-1
-2
-3
0
0
0
0
0
0
0
0
0
-68
-27
-25
-75
59
31
-1
-7
-2
0
0
0
0
0
0
0
0
9
5
66
97
-27
-6
0
0
0
0
0
0
0
0
0
0
0
2
-148
39
-27
92
-3
0
0
0
0
0
0
0
0
0
0
0
3
16
-105
51
-24
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-68
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-11
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-21
0
0
0
0
0
0
0
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
3
-10
8
-6
0
-5
0
0
0
0
0
0
0
0
0
7
-45
77
-51
55
76
86
8
4
0
0
0
0
0
0
0
0
-2
1
-147
-34
-42
-4
101
-10
8
0
0
0
0
0
0
0
0
-23
35
-27
46
20
63
28
31
0
0
0
0
0
0
0
0
0
-22
-11
-40
-210
40
1
-1
0
-9
0
0
0
0
0
0
0
0
-19
-74
51
-100
39
6
0
2
0
0
0
0
0
0
0
0
0
-28
-80
-152
-5
6
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-115
-38
-18
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
-6
1
-65
35
38
3
-65
-37
0
0
0
0
0
0
0
0
0
-57
-24
9
-81
61
54
9
-29
0
7
0
0
0
0
0
0
0
7
25
10
-91
-58
36
111
60
-36
-7
0
0
0
0
0
0
0
40
-119
32
199
-41
47
-44
-14
15
7
0
0
0
0
0
0
0
-80
28
11
65
22
-25
-89
-2
2
0
0
0
0
0
0
0
0
-65
-74
-62
-102
30
48
18
6
-18
0
0
0
0
0
0
0
0
-44
51
-70
24
-50
-50
2
10
0
0
0
0
0
0
0
0
0
-22
-114
44
86
9
-1
-3
0
3
0
0
0
0
0
0
0
0
-46
-105
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
85
-67
29
-65
53
0
39
36
-40
0
0
0
0
0
-3
-54
-75
0
-23
21
-16
46
67
146
88
-90
-11
1
-3
0
0
-22
-33
51
0
69
1
5
-20
-49
10
156
49
11
0
0
0
0
6
-156
43
-66
-42
76
34
63
97
42
8
-13
0
14
0
0
0
-2
24
3
-36
-50
28
63
113
41
65
15
20
7
0
0
0
0
6
55
48
-46
50
-132
27
-3
-49
-40
22
0
0
0
0
0
0
-3
3
36
43
61
-93
-136
24
1
-3
0
0
0
0
0
0
0
-4
49
-1
-41
6
6
-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
48
-10
-75
37
8
-110
-54
0
-55
29
-33
-8
-8
0
0
0
0
-179
-70
-45
-80
-2
-100
30
0
143
-6
10
65
15
0
0
0
0
4
-42
-7
8
-78
-91
-84
-73
-3
-71
48
-66
6
0
0
0
0
-130
-18
-83
-44
-46
-28
-2
54
70
86
24
24
-12
0
0
0
0
8
-62
-106
2
-30
-5
49
1
10
-44
22
25
11
0
0
0
0
39
18
-79
15
-55
-22
0
15
69
-30
34
12
7
0
0
0
0
-14
-24
79
-19
-26
-42
73
-15
-26
45
-36
32
15
0
0
0
0
81
13
144
69
-28
43
-85
-27
14
-9
7
9
0
0
0
0
0
0
12
6
-6
33
12
15
-50
3
45
5
-1
0
0
0
0
0
0
10
27
-87
15
-135
-87
0
40
21
-13
0
0
0
0
0
0
6
17
-16
62
-26
-16
-51
-78
169
-13
-7
2
0
0
0
0
0
2
-121
76
-68
-11
-44
-149
7
70
50
10
1
0
0
0
0
0
6
-17
-101
117
64
-78
-99
110
55
0
1
2
0
0
0
0
0
0
-20
20
51
15
18
187
130
100
31
10
0
0
0
0
0
0
1
-16
140
57
124
56
9
-15
0
-1
0
0
0
0
0
0
0
0
-5
-145
34
2
9
12
8
21
0
0
0
0
0
0
0
0
0
0
-15
6
-10
-41
38
-23
18
2
7
0
0
0
0
0
0
0
0
0
1
-2
17
-13
0
23
0
0
0
0
0
0
0
0
0
18
35
12
-206
-121
-64
0
66
-32
-14
-3
0
0
0
0
0
0
-67
33
15
67
-104
-20
29
103
-35
-40
26
0
-3
0
0
0
0
-2
-94
26
-10
-4
-58
-58
-10
92
23
0
0
0
0
0
0
0
93
36
41
132
73
129
47
-44
44
-4
3
0
0
0
0
0
0
-14
54
2
61
18
81
17
106
7
-1
0
0
0
0
0
0
0
-13
42
-26
-130
-18
80
8
110
0
5
0
0
0
0
0
0
0
-13
-31
-50
-51
96
-64
-62
37
-3
0
0
0
0
0
0
0
0
0
0
5
126
-6
37
-12
1
0
0
0
0
0
0
0
0
0
-19
1
4
-2
-20
0
0
0
0
0
0
0
0
0
0
51
-111
41
-24
-134
-27
-75
74
0
-8
44
17
2
0
0
0
0
18
75
-77
28
-41
36
-29
-5
34
105
-14
62
2
0
2
0
0
147
6
58
64
-5
12
36
50
37
-8
74
3
-1
4
0
0
0
-14
6
-42
-37
-130
109
121
32
137
-40
-43
2
0
0
0
0
0
91
51
-155
85
53
103
76
41
52
-57
0
-2
-1
0
0
0
0
-7
-111
48
38
156
60
-8
-4
-17
-17
4
-1
0
0
0
0
0
5
-56
29
-79
55
-75
73
86
-2
0
-9
0
0
0
0
0
0
0
-66
9
-11
-64
3
-2
25
0
0
0
0
0
0
0
0
0
0
10
-1
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-8
-8
-49
-33
29
118
0
32
-3
0
0
0
0
0
0
0
24
19
-14
-31
29
55
-34
85
64
1
0
0
0
0
0
0
0
-19
41
-7
71
130
-24
57
23
69
0
0
0
0
0
0
0
0
-14
39
-42
162
38
53
79
-70
9
1
0
0
0
0
0
0
3
7
-19
-91
168
60
-5
50
3
0
0
0
0
0
0
0
0
0
4
18
-87
4
-5
2
80
0
0
0
0
0
0
0
0
0
1
-13
-2
8
-37
-3
17
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
-1
29
6
25
0
-67
14
0
16
-118
4
0
0
0
0
0
8
72
14
11
5
-39
15
110
78
97
39
43
10
0
0
0
0
13
63
-10
-5
36
134
174
48
-19
-105
35
8
-14
0
0
0
0
-3
15
-15
5
148
138
74
57
21
100
-13
0
0
0
0
0
0
-1
-40
-4
38
217
103
-27
-50
-43
29
-35
10
0
0
0
0
0
1
42
25
72
24
57
-148
-23
12
-43
71
-3
0
0
0
0
0
0
22
35
-7
-28
-25
103
13
82
30
32
-1
0
0
0
0
0
9
27
-12
-65
-34
10
-60
76
-24
11
-9
-1
0
0
0
0
0
0
0
0
0
0
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
13
0
0
0
0
0
0
0
0
0
0
4
183
0
0
65
-106
18
7
1
0
0
0
0
0
0
0
0
-1
157
226
77
-75
1
2
8
-4
0
0
0
0
0
0
0
0
79
189
116
85
52
28
-6
0
0
0
0
0
0
0
0
0
0
2
58
32
-13
-162
-10
-1
-4
0
0
0
0
0
0
0
0
0
7
-88
-8
51
-32
2
0
1
3
0
0
0
0
0
0
0
0
3
-130
85
-51
8
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
71
4
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
2
-37
-7
-8
0
0
0
0
0
0
0
0
0
0
73
-108
65
-21
12
1
0
0
0
0
0
0
0
0
0
0
0
-59
210
71
-95
-3
2
0
0
0
0
0
0
0
0
0
0
0
-25
-1
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-24
5
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
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
-36
0
0
0
14
10
0
0
0
0
0
0
0
0
0
0
10
254
0
0
26
-51
21
0
0
0
0
0
0
0
0
0
0
0
212
207
74
16
43
-2
0
0
0
0
0
0
0
0
0
0
4
-69
74
67
-39
-16
-3
0
0
0
0
0
0
0
0
0
0
-11
46
-30
-77
-72
0
-6
0
0
0
0
0
0
0
0
0
0
0
7
9
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-2
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
171
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
75
185
0
0
-41
-10
0
0
0
0
0
0
0
0
0
0
0
24
162
170
175
-71
18
0
0
0
0
0
0
0
0
0
0
5
174
11
24
17
174
-6
0
0
0
0
0
0
0
0
0
0
0
70
38
2
-89
-3
0
0
0
0
0
0
0
0
0
0
0
0
95
-63
-4
-71
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-4
-108
-31
16
0
0
0
11
4
0
0
0
0
0
0
-1
17
-73
-47
-70
85
0
0
0
23
-7
0
0
0
0
0
0
0
45
-66
203
99
109
200
-39
-24
-12
2
0
0
0
0
0
0
1
9
44
74
182
98
47
7
-43
-10
0
0
0
0
0
0
0
-2
-22
35
172
17
152
70
-47
-1
0
1
0
0
0
0
0
0
0
1
-22
10
136
-75
-45
-92
-25
0
0
0
0
0
0
0
0
0
0
0
41
-49
-89
-57
-32
-8
0
0
0
0
0
0
0
0
0
0
9
-5
-6
-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
6
4
0
0
0
0
0
0
27
-5
1
0
0
0
0
0
25
28
-4
-2
-34
142
0
0
0
21
31
-27
0
0
0
0
0
-34
-12
-27
-33
112
169
-61
100
-63
-56
24
-3
0
-1
0
0
0
-98
-14
6
82
226
-43
179
-21
26
18
10
0
1
0
0
0
0
10
-62
-27
158
58
93
13
-101
0
1
-15
3
0
0
0
0
0
31
6
73
-67
220
10
-75
30
-104
0
0
0
0
0
0
0
-5
-10
50
-17
-40
-69
94
55
15
15
0
0
0
0
0
0
0
0
28
-10
-4
2
13
-5
-9
40
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
85
42
-9
-57
21
-108
0
0
0
0
0
0
0
0
0
0
0
72
0
-8
23
-9
63
15
0
0
0
0
0
0
0
0
0
0
-22
-32
-13
-57
-72
-32
2
7
0
0
0
0
0
0
0
0
0
-49
-2
17
-3
-49
24
7
42
-2
-2
0
0
0
0
0
0
0
-3
-35
82
-34
-42
12
2
-7
-14
2
0
0
0
0
0
0
0
24
-14
33
-5
6
-17
50
-62
29
1
0
0
0
0
0
0
0
-51
-28
-52
61
-76
-7
34
28
0
1
0
0
0
0
0
0
0
-1
127
66
97
8
36
28
-5
12
0
0
0
0
0
0
0
0
4
2
-39
-42
3
-7
-7
0
0
-1
0
0
0
0
0
0
0
124
26
-7
52
133
52
-5
0
0
0
-59
-19
0
0
0
0
0
77
30
-14
-35
56
73
172
0
0
12
35
37
2
0
0
0
0
30
-9
5
14
3
107
300
188
6
7
-75
-5
0
0
0
0
0
119
44
39
11
101
116
85
112
19
-39
4
0
0
0
0
0
0
16
-38
-34
-9
-82
26
60
-51
-3
-23
7
0
-3
0
0
0
0
-55
35
14
-50
-69
-35
31
-213
43
17
-19
0
-1
-3
0
0
0
-7
-40
-5
54
-2
-75
-72
-100
-4
51
0
0
0
0
0
0
0
-1
18
-13
-5
-22
-24
18
-5
4
7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
21
-129
-36
-4
-14
8
108
0
0
-112
-20
34
0
0
0
0
0
-65
-19
-59
-55
31
32
71
74
136
12
-30
1
11
0
0
0
0
-44
98
-31
3
-15
21
65
89
150
-28
13
-4
3
0
0
0
0
-13
20
-19
-45
-54
-18
110
34
92
-5
39
7
-1
0
0
0
0
-80
-100
-28
-36
-37
16
-20
67
-75
63
82
5
-3
0
0
0
0
44
93
9
-23
-24
-43
-47
-97
-50
-30
-30
-4
0
0
0
0
0
-27
-26
-7
-16
-56
-59
-4
45
-2
20
-62
4
-10
0
0
0
0
0
-98
55
13
9
-25
-21
8
-111
-27
-6
-10
0
0
0
0
0
0
0
-25
78
39
4
-18
42
-38
-3
0
0
0
0
0
0
0
15
11
13
-98
-1
9
5
0
0
2
0
0
0
0
0
0
0
-75
3
11
10
-92
50
28
82
5
0
6
-1
0
0
0
0
0
-53
-23
7
62
-46
-115
20
-22
-41
-1
0
0
0
0
0
0
0
-21
12
-34
76
27
59
46
-96
6
0
-2
0
0
0
0
0
0
17
-23
50
-91
72
-157
-25
12
-45
3
0
0
0
0
0
0
0
48
-5
21
15
-15
-35
105
-44
-4
0
0
0
0
0
0
0
0
11
35
-6
41
-96
28
-39
-3
10
-2
0
0
0
0
0
0
0
80
8
91
46
-26
4
18
0
13
1
-4
0
0
0
0
0
0
43
29
25
-3
29
-1
15
4
0
0
0
0
0
0
0
0
0
117
23
-43
-42
5
-7
108
-60
0
-7
0
0
0
0
0
0
0
32
8
-34
-20
59
96
0
-96
-34
11
0
0
0
0
0
0
0
85
-58
-25
50
-28
125
41
-6
-52
35
2
0
0
0
0
0
0
26
12
30
52
-103
151
57
121
41
3
0
0
0
0
0
0
0
76
-45
-25
41
-57
44
36
68
-18
-4
0
0
0
0
0
0
0
-51
9
-70
-14
-49
-90
25
52
24
-4
0
0
0
0
0
0
0
98
-36
-8
-16
-3
14
-50
-43
-1
-6
0
0
0
0
0
0
0
-42
-27
39
-66
-75
25
17
6
2
0
0
0
0
0
0
0
0
0
0
-34
48
0
0
0
0
0
0
0
0
0
0
0
0
0
44
6
-9
58
14
70
97
0
0
4
-30
10
0
0
0
0
0
68
49
17
10
40
127
181
0
179
0
-57
0
-3
3
0
0
0
-81
74
36
42
22
182
238
110
166
33
-117
149
-15
0
0
0
0
36
28
6
33
-5
90
73
186
46
-4
-22
-9
-2
0
0
0
0
-13
16
39
-52
26
37
99
-42
-37
-26
1
1
-8
0
0
0
0
17
-54
81
-46
-40
4
-61
-44
-73
49
2
0
0
0
0
0
0
-44
20
33
-23
-12
-102
-56
-88
21
-4
-1
0
0
0
0
0
0
0
-66
57
49
15
-52
-21
13
0
-12
0
0
0
0
0
0
0
0
2
-1
0
18
0
1
0
0
0
0
0
0
0
0
0
0
-1
25
-106
-15
-63
-13
-49
8
0
-8
-3
-1
0
0
0
0
0
-3
-14
-57
-87
29
56
-49
0
78
0
16
13
0
0
0
0
0
1
-34
-171
15
91
294
80
173
-91
29
-27
14
0
0
0
0
0
19
15
158
92
250
127
269
56
-56
-42
15
0
0
0
0
0
0
-28
53
36
193
192
17
124
-60
-24
-8
0
-6
0
0
0
0
0
-12
170
63
89
181
60
-117
10
-8
-18
-6
0
0
0
0
0
0
53
87
130
142
128
-59
-15
0
-20
0
0
0
0
0
0
0
0
-1
94
218
154
-72
-18
1
0
0
0
0
0
0
0
0
0
0
0
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-18
-28
-17
43
60
-18
0
0
0
-3
0
0
0
0
0
0
58
-68
-28
17
26
43
35
159
0
15
-25
-14
0
0
0
0
0
26
-27
17
92
121
205
158
89
117
-138
2
0
0
0
0
0
0
-40
-142
-7
77
10
234
55
186
-39
12
0
0
0
0
0
0
0
-87
-42
15
-18
89
66
115
7
-93
35
-3
0
0
0
0
0
0
85
46
-91
33
-8
138
82
96
-1
-4
0
0
0
0
0
0
0
-56
-41
-12
-26
22
-81
-14
28
31
-3
0
0
0
0
0
0
0
85
12
1
53
-31
-22
-1
0
18
0
0
0
0
0
0
0
0
11
36
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
40
8
-17
9
-16
0
0
0
0
0
0
0
0
0
-72
-17
-94
84
-5
23
122
49
-59
1
0
0
0
0
0
0
0
11
-69
26
30
-9
-4
-6
0
7
10
0
0
0
0
0
0
0
1
7
82
26
91
-41
-3
0
1
0
0
0
0
0
0
0
0
20
-94
-45
13
74
-13
0
2
0
0
0
0
0
0
0
0
0
-11
115
-83
24
41
28
4
0
0
0
0
0
0
0
0
0
0
1
-22
-32
-71
11
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
28
-34
0
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
-2
-16
-2
14
12
0
0
0
0
0
0
0
0
0
0
0
0
-36
-89
-28
73
-6
-12
0
1
0
0
0
0
0
0
0
0
10
42
37
-26
-23
0
0
0
0
0
0
0
0
0
0
0
0
-5
57
42
88
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
6
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-59
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
28
-51
53
-18
7
0
0
0
0
0
0
0
0
0
0
0
-19
-26
160
-18
76
-9
-1
1
-2
-10
0
0
0
0
0
0
0
-18
45
44
135
94
32
2
1
0
0
0
0
0
0
0
0
0
-5
27
42
-64
51
-3
0
0
0
0
0
0
0
0
0
0
0
0
-56
51
125
51
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
18
-5
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
-14
0
87
28
-42
-1
5
-1
0
0
0
0
0
0
0
0
0
-9
51
63
-129
43
-57
-31
10
6
2
0
0
0
0
0
0
0
4
-30
83
-23
-18
30
-4
0
0
0
0
0
0
0
0
0
0
-10
88
64
89
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
-7
32
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-13
33
-5
7
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
6
17
64
-5
-3
-2
2
0
-1
0
0
0
0
0
0
0
-14
-40
57
28
37
16
44
0
-2
0
0
0
0
0
0
0
0
9
9
-74
72
-19
43
79
-21
1
0
0
0
0
0
0
0
0
-4
-31
-62
21
-10
79
-25
-1
-1
0
0
0
0
0
0
0
0
-2
21
-52
16
40
91
51
18
-2
0
0
0
0
0
0
0
0
0
14
-5
-59
-5
97
5
1
-3
0
0
0
0
0
0
0
0
0
1
-1
1
21
-2
2
-1
-8
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
-5
-5
11
-11
-28
13
-36
-19
0
0
0
0
0
0
0
0
0
-26
-80
86
49
-17
-60
-41
-17
14
0
0
0
0
0
0
0
0
57
83
-9
12
63
34
61
18
31
-2
0
0
0
0
0
0
0
-51
97
24
9
-10
-15
-32
-14
-20
0
0
0
0
0
0
0
0
148
21
7
-28
14
-33
37
-57
5
0
0
0
0
0
0
0
0
-20
14
54
-57
-32
-41
15
-24
-31
12
0
0
0
0
0
0
0
3
-3
-27
13
-4
-5
-15
2
4
2
0
0
0
0
0
0
0
0
0
0
5
-1
-8
0
-1
-17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-129
52
165
26
-5
56
0
-22
14
24
11
0
0
0
0
69
7
41
-70
143
-25
-1
56
-22
96
-1
15
-40
1
0
0
0
-2
0
-43
100
62
93
52
80
31
-13
50
15
-21
-4
0
0
0
-5
118
49
94
152
143
103
83
12
-93
-49
-14
-10
0
0
0
0
0
-68
161
90
47
151
111
171
94
-96
-2
1
0
0
0
0
0
0
33
20
-24
-7
-24
93
-29
-93
-39
-3
0
0
0
0
0
0
0
0
2
33
-61
71
-39
-22
-124
-48
-7
5
0
0
0
0
0
0
0
0
0
-8
64
3
-51
20
3
-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
27
-24
83
-12
38
-110
-18
0
13
-115
-51
9
-8
0
0
0
0
-23
-30
-64
7
-36
-79
-11
-103
-139
-16
30
17
-7
13
0
0
0
20
-47
13
-36
2
-25
-36
-36
-43
-124
-48
17
-11
1
0
0
0
-19
100
-40
-48
35
-13
-18
-11
14
-131
109
37
-29
-6
0
0
0
5
86
30
17
28
5
37
24
57
-27
85
101
-10
2
0
0
0
2
-202
33
43
13
44
-23
-20
132
40
-36
-19
-5
0
0
0
0
3
-91
-132
27
-24
42
14
31
-120
5
-61
-7
-11
0
0
0
0
7
2
61
18
9
53
-1
-71
23
-60
-43
3
7
5
0
0
0
0
1
4
86
21
-20
-11
-56
67
-113
-1
0
-2
0
0
0
0
1
7
-13
55
50
-57
25
0
-8
5
39
8
3
-17
-6
0
0
1
2
-18
66
31
-57
54
-26
-57
25
-17
14
4
5
0
-1
0
-15
4
108
95
29
105
12
41
-45
3
28
29
-10
-1
7
0
0
0
-39
76
60
101
37
58
20
88
-31
36
11
-13
0
0
0
0
0
40
19
123
37
19
-55
66
27
-60
15
33
-5
0
-1
0
0
0
2
119
82
43
15
-57
27
-51
-11
5
-72
1
15
-7
0
0
0
2
-4
-65
-51
-121
41
-2
16
-4
33
90
-50
8
1
0
0
0
0
-13
38
-74
5
26
-39
34
-54
-27
28
-29
-14
0
1
0
0
0
0
47
-13
-61
-120
-20
-12
-36
6
-13
11
7
-1
0
0
0
23
35
13
51
15
31
0
55
-69
-14
7
6
0
0
0
0
0
67
94
105
48
-78
29
-35
-65
-7
-36
-35
-2
0
0
0
0
0
83
9
92
-8
42
70
-44
15
66
57
5
-8
0
0
0
0
0
86
44
13
89
39
109
20
125
37
16
-1
0
1
0
0
0
0
18
76
-31
180
64
66
31
36
19
1
0
-8
0
0
0
0
0
7
18
157
-40
25
80
30
-62
-20
-15
-6
0
-6
0
0
0
0
6
-25
-89
9
-4
6
61
-47
-90
66
-61
-3
0
0
0
0
0
0
8
24
71
62
49
-56
-35
-38
-11
1
16
0
0
0
0
0
0
0
3
-8
25
1
-10
0
0
0
0
0
0
0
0
-4
72
-30
-11
71
-6
-33
22
0
-16
-58
-23
-3
-1
0
0
0
4
142
7
59
-28
31
20
-4
-72
36
-53
50
-3
7
0
0
0
25
46
63
21
-13
-14
124
39
28
18
56
-15
1
2
0
0
0
0
21
48
57
116
26
-22
109
51
-23
-65
0
3
0
0
0
0
2
-122
-60
47
34
29
106
25
143
79
-7
9
1
-1
0
0
0
-3
3
-43
153
-51
106
-19
114
37
160
-6
0
1
0
0
0
0
0
4
16
53
84
14
-62
-137
14
-3
9
0
-2
0
0
0
0
0
0
0
-7
19
-23
-28
16
-21
-4
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-14
33
17
-58
16
-116
0
-9
0
0
0
0
0
0
0
6
3
-12
16
89
112
152
-18
-1
41
2
0
0
0
0
0
0
0
-16
28
86
19
23
-124
31
142
45
0
0
0
0
0
0
0
1
15
-23
-60
57
80
72
6
-6
-1
-2
0
0
0
0
0
0
0
0
11
62
32
147
-76
62
37
15
0
0
0
0
0
0
0
0
-8
0
-63
12
-180
-94
-114
55
-96
-1
0
0
0
0
0
0
0
0
0
3
-10
51
-177
-59
53
-4
0
0
0
0
0
0
0
0
0
0
-56
-9
-34
35
8
10
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
-5
3
-4
14
10
24
3
81
0
-8
5
0
0
0
0
0
0
-3
15
-23
93
129
52
-90
94
46
75
-5
20
0
0
0
0
0
-5
71
-14
5
-26
2
-25
55
13
-103
35
3
-5
0
0
0
0
-3
106
9
-11
82
-31
95
-62
-73
-5
4
0
-2
0
0
0
0
-7
-82
16
20
86
-86
-1
-10
-51
-28
-52
-1
6
0
0
0
0
-3
-7
-2
44
68
-40
-134
22
-87
-23
-102
8
5
0
0
0
0
3
-10
0
0
52
-33
18
-126
-99
30
-49
2
0
1
0
0
0
0
0
0
-11
4
-40
-53
-101
-34
-106
-25
3
0
0
0
0
0
0
0
0
0
0
0
-29
-134
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-26
-6
0
3
0
0
0
0
0
0
0
0
5
87
0
0
49
-51
2
4
1
0
0
0
0
0
0
0
0
-84
22
55
186
6
4
9
10
4
0
0
0
0
0
0
0
0
16
-28
32
-15
-141
26
0
-1
5
0
0
0
0
0
0
0
0
13
-80
2
-79
-89
15
-9
2
-1
0
0
0
0
0
0
0
0
2
-70
-38
74
-12
-64
1
0
0
0
0
0
0
0
0
0
0
10
-118
-40
-29
92
89
13
-3
0
0
0
0
0
0
0
0
0
9
-16
-56
65
-25
48
3
0
0
0
0
0
0
0
0
0
0
0
-4
-14
46
-99
2
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
78
0
0
3
-10
-1
0
0
0
0
0
0
0
0
0
0
20
72
-63
-21
18
2
-12
0
0
0
0
0
0
0
0
0
0
0
-59
57
90
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-43
-53
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
41
20
-15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
198
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
-55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
15
-1
0
2
0
0
0
0
0
0
0
0
2
87
0
0
17
-38
-5
0
-2
0
0
0
0
0
0
0
0
6
-45
48
2
127
-40
-2
0
0
0
0
0
0
0
0
0
0
9
-69
30
-68
11
-31
0
-7
0
0
0
0
0
0
0
0
0
-6
-30
-37
4
-126
3
-5
0
0
0
0
0
0
0
0
0
0
0
-30
-97
-50
47
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
-56
9
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-64
-12
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-23
-2
1
0
0
0
0
0
0
0
0
0
0
0
-70
66
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
45
22
0
0
-50
13
13
0
0
0
0
0
0
0
0
0
4
-6
-5
93
82
-20
19
0
0
0
0
0
0
0
0
0
0
0
-40
-110
109
137
7
-13
1
0
0
0
0
0
0
0
0
0
0
-50
-9
-103
18
-15
9
1
0
0
0
0
0
0
0
0
0
0
-61
-34
-92
-87
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
-63
1
-32
-97
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-36
-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
1
-24
146
17
9
-43
0
0
0
3
0
0
0
0
0
0
0
-12
94
-39
-86
-87
-43
0
0
0
30
2
0
0
0
0
0
1
-2
106
46
-123
-62
-60
-61
81
88
-20
10
-6
0
0
0
0
0
-1
-40
-90
-35
-45
34
50
-38
63
-29
5
0
0
0
0
0
0
0
29
37
-20
-90
-81
-148
-30
-16
0
6
0
14
0
0
0
0
0
0
72
-1
-73
-63
95
-23
-49
-17
0
0
0
0
0
0
0
0
0
-11
-20
-31
-87
36
-147
-30
-13
-6
0
0
0
0
0
0
0
0
0
0
9
-3
-23
-66
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-90
-25
-2
0
0
0
0
0
0
0
0
15
-1
-7
3
-13
0
0
0
-1
-14
-3
12
0
0
0
0
23
24
-18
-19
26
95
0
0
0
87
34
9
6
0
0
0
0
-35
56
-11
-102
-81
92
61
116
149
72
-1
38
-1
0
0
0
0
32
19
32
-31
-1
75
-35
118
8
-49
-15
0
0
0
0
0
0
4
-4
2
-40
39
8
5
-57
-85
-41
-14
0
1
0
0
0
0
53
-3
23
-92
-44
-37
32
-23
9
-10
1
0
0
0
0
0
0
0
1
-6
56
-25
-24
-95
2
-2
9
4
-3
-1
0
0
0
0
0
0
-2
0
26
12
-9
-31
-15
-110
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-33
-7
17
-6
-2
0
0
0
0
0
-5
-29
34
1
-21
-64
3
0
0
0
0
0
0
0
0
0
0
-1
47
24
16
44
37
2
0
0
0
0
0
0
0
0
0
0
-14
64
16
39
60
-31
-44
-6
0
0
0
0
0
0
0
0
0
59
34
101
28
23
-8
10
11
-3
2
0
0
0
0
0
0
0
40
-19
-64
17
10
-46
-16
58
5
3
1
0
0
0
0
0
0
15
19
-10
25
95
38
202
-8
6
21
3
0
0
0
0
0
0
72
-39
52
135
-36
-104
-61
39
-9
5
8
0
0
0
0
0
0
0
-17
5
83
-56
-1
-50
-2
-4
-2
0
0
0
0
0
0
0
0
0
-4
-3
4
6
2
0
0
0
0
0
0
0
0
0
0
50
48
-11
64
90
136
111
0
0
0
21
-10
0
0
0
0
0
30
-5
-56
-3
-25
30
21
0
0
115
-83
49
-4
10
0
0
0
61
38
50
28
-38
6
-61
-67
78
-5
-27
-4
8
0
0
0
0
-15
25
16
43
6
-65
71
124
-50
21
0
4
0
0
0
0
0
140
70
40
-30
-53
-57
-62
-42
-27
-52
10
16
-6
0
0
0
0
5
13
5
-9
-8
-53
17
-57
-99
62
3
19
1
0
0
0
0
11
3
6
39
-100
-109
-9
-114
-124
-46
-2
-1
0
0
0
0
0
0
-5
12
-36
19
-179
-69
-50
-9
-5
0
0
0
0
0
0
0
0
0
-6
0
0
-31
-1
2
0
0
0
0
0
0
0
0
0
15
-53
-55
-31
14
55
113
0
0
-71
10
-14
0
0
0
0
0
-56
-5
-31
-9
2
14
6
-18
124
55
-20
-14
1
0
0
0
0
-80
59
32
-9
-17
-26
-58
-8
-19
-3
-7
52
-5
0
0
0
0
23
18
15
-12
-21
-5
10
31
-13
61
-8
12
-1
0
0
0
0
45
113
-57
1
-71
-9
-24
5
-18
-24
-28
-47
3
0
0
0
0
-19
-46
-92
-53
-11
-58
-29
-105
-96
-36
93
-39
-8
0
0
0
0
-53
-25
31
-9
-5
-68
-77
-61
-126
-36
108
9
0
0
0
0
0
0
21
-14
-8
9
28
-30
13
6
43
0
0
0
0
0
0
0
0
0
111
-31
-18
-36
98
-10
-2
1
12
0
0
0
0
0
0
-33
-31
38
22
-47
-49
145
0
0
-4
0
0
0
0
0
0
0
3
103
6
44
-41
33
43
27
94
-5
0
2
0
0
0
0
0
142
78
-7
-30
-66
-45
-35
53
14
0
0
0
0
0
0
0
0
97
114
16
-7
63
72
76
-53
8
13
-3
0
0
0
0
0
0
74
76
69
36
-27
-62
-10
53
-13
-11
0
0
0
0
0
0
0
0
-72
26
11
-25
-69
-71
7
-2
-1
0
0
0
0
0
0
0
0
-2
-81
83
65
75
8
-1
-2
0
0
0
0
0
0
0
0
0
0
32
113
28
-65
25
-19
8
0
0
0
0
0
0
0
0
0
22
-14
-34
1
1
-6
9
-6
0
0
0
0
0
0
0
0
74
17
-2
-14
82
52
71
25
0
11
0
0
0
0
0
0
0
31
7
-9
27
-4
23
0
64
-87
5
-5
0
0
0
0
0
0
12
59
-32
60
89
40
-88
-12
59
-26
0
8
0
0
0
0
0
-19
-17
-24
-46
-5
20
-60
-28
-15
0
1
0
1
0
0
0
0
-66
59
-46
71
37
-106
133
-87
56
22
7
21
0
0
0
0
0
-61
-71
-10
42
-8
-17
8
12
-8
-1
0
0
0
0
0
0
0
94
31
53
-24
94
43
-27
26
4
-8
0
0
0
0
0
0
0
43
74
14
47
57
-27
47
26
0
0
0
0
0
0
0
0
0
0
0
96
13
5
16
-5
0
0
0
0
0
0
0
0
0
0
-113
89
2
67
115
61
107
0
0
7
20
25
5
0
0
0
0
42
-20
7
-19
13
37
0
0
139
0
117
-40
-9
0
0
0
0
84
30
37
26
54
-9
21
16
107
143
60
-18
0
0
0
0
0
-12
20
57
95
2
14
-10
-75
50
-58
37
-5
-15
0
0
0
0
-20
82
23
-8
10
-24
-132
-37
-46
41
5
1
0
0
0
0
0
2
69
11
-41
40
-111
-48
-64
-159
28
-10
0
0
0
0
0
0
-6
-25
-14
-114
10
-29
43
-49
-22
-35
114
0
0
0
0
0
0
0
-2
26
-11
67
-61
-1
-81
-6
-48
0
0
0
0
0
0
0
0
0
38
5
-24
0
18
-1
0
0
0
0
0
0
0
0
0
0
-77
-49
-97
-91
-117
24
35
0
-95
0
-2
0
0
0
0
0
60
-31
-31
-129
-92
-60
-19
0
51
0
-23
0
0
0
0
0
0
38
-101
-115
3
54
-18
-185
-92
65
14
0
-6
0
0
0
0
0
-21
66
6
-1
-27
16
-74
-4
20
10
-4
0
0
0
0
0
0
47
-54
-16
-151
-67
-36
-77
-35
-11
11
0
0
0
0
0
0
0
0
-111
-24
45
-119
-110
15
-116
-16
-34
9
0
0
0
0
0
0
0
0
-4
47
51
-8
-2
29
-14
-8
0
0
0
0
0
0
0
0
0
0
-1
5
-40
0
26
-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
-92
-5
57
88
36
-27
-77
0
0
0
-3
0
0
0
0
0
0
-17
30
-39
-35
1
113
81
57
0
0
69
11
0
0
0
0
0
27
-5
47
56
55
58
136
44
120
-13
0
-2
0
0
0
0
0
40
-111
32
-50
30
73
40
-41
97
-95
29
0
0
0
0
0
0
-1
-65
21
45
46
-55
41
-150
-86
-8
5
7
0
0
0
0
0
-49
-33
-18
28
-101
17
77
77
66
61
3
0
0
0
0
0
0
50
-62
72
35
8
-34
34
-33
-37
-98
0
0
0
0
0
0
0
-13
-7
12
15
7
35
-28
-87
-27
-25
4
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-114
28
22
169
-32
30
0
22
-5
0
0
0
0
0
0
32
59
-10
8
32
72
88
0
13
10
-3
0
0
0
0
0
0
-13
56
-4
56
76
9
0
2
0
-5
0
0
0
0
0
0
0
-6
-85
74
51
-67
0
-3
0
1
-2
0
0
0
0
0
0
0
72
5
31
44
11
74
2
-2
0
0
0
0
0
0
0
0
0
-57
-51
-51
21
-11
-15
2
0
0
0
0
0
0
0
0
0
0
-48
41
-48
25
-124
14
0
0
0
0
0
0
0
0
0
0
0
-97
41
-13
-36
-39
0
1
0
0
0
0
0
0
0
0
0
0
-59
-3
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-15
-3
6
13
1
9
0
-8
0
0
0
0
0
0
0
4
37
-107
103
26
5
0
0
0
0
0
0
0
0
0
0
0
-12
24
-5
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
34
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-39
1
-73
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
23
59
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-7
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
-84
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
-34
91
-41
13
-5
4
-2
0
6
0
0
0
0
0
0
0
-1
-77
15
-79
17
0
2
0
2
14
0
0
0
0
0
0
0
2
-25
68
29
-28
0
0
0
0
6
0
0
0
0
0
0
0
13
-28
-26
-94
-76
0
3
0
0
0
0
0
0
0
0
0
0
-12
13
19
42
-17
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
47
19
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-67
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
35
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
-50
1
-55
33
-19
-3
-28
0
-9
0
0
0
0
0
0
0
-4
-46
-21
34
-70
33
-13
0
12
0
-1
0
0
0
0
0
0
12
-5
-130
72
-22
-9
0
-5
0
-7
0
0
0
0
0
0
0
0
-38
-80
25
39
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
9
56
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-28
-62
63
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-2
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
-21
1
5
18
5
9
2
0
0
0
0
0
0
0
0
0
0
-49
-12
-12
3
12
-4
14
2
0
0
0
0
0
0
0
0
-1
-18
9
9
-4
-13
10
14
0
4
0
0
0
0
0
0
0
-1
26
2
-11
3
-15
0
-4
-10
-2
0
0
0
0
0
0
0
0
-9
10
-6
-13
-4
-21
4
0
0
0
0
0
0
0
0
0
0
-12
5
-14
-32
10
9
0
0
0
0
0
0
0
0
0
0
1
-11
14
-8
13
10
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
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
-65
47
50
5
12
-135
-70
0
-1
0
0
0
0
0
0
0
-17
11
133
-15
-7
-21
-23
13
-38
45
0
0
0
0
0
0
0
-91
9
25
-45
14
3
5
-1
-75
-39
0
0
0
0
0
0
0
23
29
188
-14
18
-40
6
2
-23
-7
0
0
0
0
0
0
0
-111
71
25
-13
16
4
25
20
-24
-8
-1
0
0
0
0
0
0
25
-16
-31
112
-15
-89
23
0
0
3
0
0
0
0
0
0
0
39
-40
70
-36
-55
-38
2
-7
0
0
0
0
0
0
0
0
0
33
64
-1
-19
60
-3
1
-5
0
0
0
0
0
0
0
0
0
-66
50
-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
48
40
87
143
-80
-93
14
0
10
-61
25
-24
-6
0
0
0
-1
65
56
-36
220
122
-67
-21
25
96
3
2
52
3
0
0
0
-2
40
20
69
-111
12
51
-30
-20
0
-2
-10
16
-2
0
-1
0
-3
82
161
55
-8
9
95
106
99
86
24
10
-10
6
0
0
0
0
11
-20
42
-51
-67
62
102
78
27
-63
-1
-7
-2
0
0
0
-17
-6
-21
-37
127
-35
137
-33
97
95
40
1
0
-17
0
0
0
0
3
12
-21
-7
42
14
20
28
-1
2
5
0
0
0
0
0
0
0
3
2
-3
-136
13
18
-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
176
-23
68
0
-26
37
0
-59
-81
63
63
29
1
0
0
0
3
-1
36
9
55
-75
37
11
60
76
19
64
-76
-6
6
0
0
-67
54
33
38
46
-55
-103
-17
-47
39
11
78
12
0
0
0
0
-10
54
28
99
-26
10
60
-31
91
73
143
28
9
1
0
0
0
-56
-27
66
-8
38
9
22
16
-9
-79
65
70
15
-1
0
0
0
-40
18
42
-39
-16
30
21
29
65
-14
-15
118
39
2
0
0
0
33
-16
56
-52
-17
-15
1
10
64
-19
38
39
-8
-5
0
0
0
0
-5
-38
-59
-56
-29
44
-6
0
71
-29
-7
0
8
0
0
0
0
-18
0
65
50
21
-22
-104
63
18
60
2
0
0
0
0
0
0
8
15
-55
82
-124
39
0
111
44
17
-17
0
0
0
0
0
0
3
145
78
-32
-35
56
47
106
-108
-3
-2
5
0
0
0
0
0
3
64
33
15
66
-62
-2
41
46
-2
8
2
0
0
0
0
0
-37
19
105
82
3
-50
106
152
46
19
0
0
2
0
0
0
0
1
21
23
2
-51
138
114
35
65
9
0
0
-4
0
0
0
0
0
1
21
46
116
40
76
82
-16
-18
31
0
0
0
0
0
0
0
59
75
88
-42
134
-63
-85
-10
-3
0
0
0
0
0
0
0
0
1
159
-39
31
112
27
-140
8
0
-2
0
0
0
0
0
0
0
0
-1
-3
106
-54
-1
33
-8
0
0
0
0
0
0
0
0
3
151
160
-20
-42
188
0
8
-34
32
-4
-3
-1
0
0
0
0
4
39
5
92
-118
-56
59
39
39
-56
31
20
0
3
0
0
0
35
-45
107
33
-44
-88
16
82
8
-2
5
5
-1
0
0
0
0
8
5
197
102
117
101
48
110
60
-24
-26
1
0
0
0
0
0
-177
44
-112
151
29
65
38
74
25
-4
6
-3
0
0
0
0
0
2
43
3
-37
46
19
29
4
24
-2
-10
0
0
0
0
0
0
4
-28
122
-53
-34
14
55
-10
-47
2
8
0
0
0
0
0
0
0
5
128
106
-109
4
74
66
-7
-2
0
0
0
0
0
0
0
0
0
0
5
12
2
-5
0
0
0
0
0
0
0
0
-8
62
26
75
104
47
-53
-18
0
23
-38
15
-2
0
0
0
0
-6
56
146
31
114
94
-70
-29
34
118
50
-23
-38
0
1
0
0
-5
-74
5
134
-48
30
-17
-37
22
48
91
-14
5
-6
0
0
0
-1
67
26
-64
94
35
35
141
42
75
-27
-9
1
0
-2
0
0
0
43
-38
4
30
29
87
59
73
40
10
-6
1
0
0
0
0
9
27
-30
81
5
-2
43
82
22
11
0
-1
0
0
0
0
0
2
-15
-31
-13
92
-36
-47
-35
1
34
-12
3
10
0
0
0
0
0
0
-14
50
-10
24
-64
53
-2
0
0
0
0
0
0
0
0
0
0
5
0
-5
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
67
21
-100
0
14
0
0
0
0
0
0
0
0
0
6
-2
51
-27
24
-38
-2
-39
9
0
0
0
0
0
0
0
0
0
-5
-13
1
27
50
47
5
2
0
0
0
0
0
0
0
0
-34
-8
-1
68
-40
51
-3
-6
0
0
0
0
0
0
0
0
0
0
-2
-10
-15
-10
9
-4
2
0
0
0
0
0
0
0
0
0
7
0
9
-137
-35
21
-21
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
64
2
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
6
-4
-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
-10
9
23
-19
-20
55
0
-50
-26
11
0
0
0
0
0
0
4
32
18
94
-23
-43
-35
74
171
-18
3
0
11
0
0
0
0
5
11
28
17
72
-14
41
36
18
-30
7
0
-11
0
0
0
0
40
-33
-8
22
100
-54
22
54
-31
-23
-8
0
0
0
0
0
0
-43
-41
17
31
138
-20
52
6
80
24
11
-11
0
0
0
0
0
-23
4
35
-100
4
68
14
85
-43
-9
1
-2
0
0
0
0
1
11
-70
6
-49
-16
90
-49
5
14
-2
7
0
0
0
0
0
0
3
1
7
-42
42
-52
79
-87
70
0
10
0
0
0
0
0
0
0
0
0
-7
9
17
14
13
-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
56
0
0
0
47
-13
0
19
0
0
0
0
0
0
0
0
0
222
0
0
169
152
8
-34
3
7
0
0
0
0
0
0
0
6
107
177
82
103
33
-37
-8
-6
-1
0
0
0
0
0
0
0
1
86
110
113
83
-54
-39
17
-23
-1
-1
0
0
0
0
0
0
-5
90
67
-40
17
-8
-28
-7
-19
-1
0
0
0
0
0
0
0
-8
30
51
-5
4
43
12
0
-11
0
0
0
0
0
0
0
0
5
-57
13
48
-67
13
-1
12
1
0
0
0
0
0
0
0
0
2
-12
-45
-60
-8
4
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
24
90
-3
6
0
0
0
0
0
0
0
0
0
0
0
54
-44
61
-81
-46
-1
0
0
0
0
0
0
0
0
0
0
0
-1
83
-109
50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
27
20
0
0
0
0
0
0
0
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
2
-6
0
0
0
0
0
0
0
0
0
0
0
101
0
0
103
-30
39
2
-7
0
0
0
0
0
0
0
0
1
68
156
25
71
127
4
0
-12
0
0
0
0
0
0
0
0
0
86
1
-26
163
-14
-10
1
13
-1
-4
0
0
0
0
0
0
21
-2
58
-48
-101
5
4
-12
-1
3
0
0
0
0
0
0
0
2
-21
-31
16
67
-6
6
-1
-5
0
0
0
0
0
0
0
0
0
-20
29
-42
13
-4
0
-2
0
0
0
0
0
0
0
0
0
0
12
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
1
-20
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
5
44
0
0
145
25
-13
0
0
0
0
0
0
0
0
0
0
1
24
59
99
10
-75
13
0
0
0
0
0
0
0
0
0
0
-11
24
85
74
-22
-6
0
0
0
0
0
0
0
0
0
0
0
34
21
25
-160
51
0
0
0
0
0
0
0
0
0
0
0
0
-8
-26
88
-31
-14
1
0
0
0
0
0
0
0
0
0
0
0
4
31
-10
3
3
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
-3
0
-4
42
-6
-36
0
0
0
-2
11
0
0
0
0
0
0
0
-18
23
-31
16
27
0
0
0
21
-2
0
0
0
0
0
0
0
5
3
39
11
-27
40
-21
-10
-1
-11
0
0
0
0
0
0
0
3
79
-11
29
99
89
45
3
-3
0
0
0
0
0
0
0
7
-6
0
-4
44
46
40
-18
107
7
-14
0
-5
4
0
0
0
0
0
10
13
5
-27
-9
27
6
6
0
0
12
0
0
0
0
0
0
8
3
-1
-24
71
36
-19
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
17
0
0
0
0
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
0
9
0
0
0
0
0
5
6
-1
3
0
0
0
0
-2
24
2
0
-7
5
0
0
0
-17
-55
54
3
-1
-2
0
0
-1
8
-4
15
-62
25
94
40
-37
124
26
-5
6
-12
0
0
0
0
-16
9
1
-10
137
53
37
111
-49
20
0
0
0
1
0
0
-2
-5
-22
24
-74
-7
76
-112
42
-28
3
-5
1
0
-2
0
0
7
24
-15
7
-144
26
-64
-78
-115
26
0
0
0
0
0
0
0
-10
12
45
-12
46
11
32
-10
37
-1
0
0
0
0
0
0
0
-5
0
0
6
1
-32
28
12
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
2
-3
-4
0
0
0
0
0
0
0
34
43
64
171
-46
4
-2
0
0
0
0
0
0
0
0
0
0
-66
93
60
11
42
42
-6
0
0
0
0
0
0
0
0
0
0
59
61
39
-22
31
59
0
0
0
2
0
0
0
0
0
0
0
57
72
58
45
-10
-61
33
-10
26
-2
-2
0
0
0
0
0
0
-10
30
81
-86
-40
94
14
-62
15
-22
5
-2
2
0
0
0
0
16
-1
60
-68
-56
-25
-73
3
15
4
1
-7
-6
0
0
0
0
60
-35
-11
68
-59
-26
45
16
54
15
1
0
-3
-2
0
0
0
0
72
20
-84
-28
56
2
80
-25
-11
1
1
-10
0
0
0
0
0
0
6
-44
-8
-1
-13
-1
5
-2
0
0
0
0
0
0
0
-75
-24
37
-19
-13
43
34
0
0
0
-96
18
-1
0
0
0
0
85
48
-29
71
107
55
351
0
0
76
43
9
-24
-2
2
0
0
7
-17
4
44
59
172
183
174
5
-74
-14
-67
-1
0
0
0
0
-17
17
24
16
-133
90
184
54
139
59
-40
37
-5
0
0
0
0
2
11
24
-81
-59
-1
16
79
-7
58
-26
-16
58
-9
0
0
0
-44
-134
-40
-105
34
-33
44
-6
47
22
63
-22
-33
16
0
0
0
-1
-69
-16
-85
4
-25
85
-10
-139
-41
-19
-3
-2
5
0
0
0
0
-23
-84
19
-40
40
126
-12
81
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
-15
-1
-80
-49
-19
20
39
0
0
10
38
-113
-2
2
0
0
0
30
-66
-50
-5
11
15
36
-18
86
25
7
10
39
-2
0
0
0
38
-66
-7
-8
5
91
-35
23
36
-15
5
-4
-1
0
0
0
0
127
57
-34
5
22
-103
95
66
-7
-143
-75
-31
4
7
-3
0
0
50
130
-56
-11
-12
72
2
-28
-39
69
52
-23
37
-2
0
0
0
-19
45
-21
8
-11
-53
-22
-21
38
-1
39
98
0
-1
0
0
0
-8
-70
-16
-65
0
-61
-28
-36
-83
59
-82
79
-5
0
0
0
0
23
-49
3
4
-30
27
39
-31
92
20
18
33
-3
0
0
0
0
0
-13
4
65
-32
38
-6
-19
-32
16
15
2
0
0
0
0
0
-12
-10
145
29
101
83
69
0
0
0
0
0
0
0
0
0
0
-66
23
9
56
70
0
74
66
-17
0
0
0
0
0
0
0
0
54
22
69
85
50
34
-9
-8
149
0
0
0
0
0
0
0
0
11
3
-2
-3
10
19
75
46
-86
0
0
0
0
0
0
0
0
19
-46
-16
19
-81
26
22
-73
-24
-9
0
0
0
0
0
0
0
14
-37
28
-43
-13
-6
-84
-91
-10
7
-11
0
0
-1
0
0
0
-37
-20
53
4
51
83
-36
-85
-24
-41
0
-1
0
0
0
0
0
13
6
9
-5
-50
38
-93
6
-56
44
2
5
0
0
0
0
0
53
-12
-50
-26
9
-29
-19
-38
5
0
6
0
0
0
0
0
0
25
38
15
13
29
133
-131
92
0
-7
0
0
0
0
0
0
0
-43
-31
-118
70
95
102
0
142
25
41
-1
0
0
0
0
0
0
-30
1
15
46
59
102
97
-106
45
1
-3
-3
0
0
0
0
0
-45
-41
-54
4
40
-98
26
101
21
12
-8
0
0
0
0
0
0
41
17
-48
6
18
58
52
-44
-22
-1
7
-1
3
0
0
0
0
-56
-71
-128
-2
-5
12
65
-18
35
-2
-52
0
0
0
0
0
0
-96
-9
43
-109
36
-58
-70
-3
-69
18
-3
0
0
0
0
0
0
9
-86
-109
35
-1
-125
-105
-6
86
8
0
0
0
0
0
0
0
0
0
-33
26
-28
-1
0
0
0
0
0
0
0
0
0
0
0
-53
22
53
80
46
82
60
0
0
184
77
-11
-16
0
0
0
0
-9
-8
27
79
34
-1
109
0
84
0
-3
-56
26
0
0
0
0
-12
-120
13
13
-3
87
198
17
112
91
-58
-18
4
0
0
0
0
-71
-53
39
19
-35
23
120
-37
-81
-69
45
-32
-2
0
0
0
0
-17
15
48
-1
21
52
-73
-74
-67
50
-12
50
-7
4
0
0
0
3
-67
-70
-47
5
1
32
19
-52
-134
-117
-50
0
0
0
0
0
-3
-7
121
15
23
-18
-77
-51
57
-43
-69
4
-4
0
0
0
0
0
7
-122
-32
39
54
36
40
29
5
22
-1
0
0
0
0
0
0
0
-21
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-41
-7
-99
-42
-24
17
0
46
-25
6
0
0
0
0
0
24
22
7
-79
60
9
11
0
-7
0
14
0
7
0
0
0
0
12
12
71
-79
-20
9
16
38
-30
-66
-59
15
0
0
0
0
0
0
-72
29
126
44
77
73
156
-50
-97
-28
-16
0
0
0
0
0
-3
-81
-5
18
185
328
93
-49
-78
-47
0
0
0
0
0
0
0
0
31
212
171
163
3
24
-49
-13
-23
-7
0
0
0
0
0
0
0
23
53
53
86
82
-3
-37
-29
10
0
0
0
0
0
0
0
0
-1
8
226
-52
-35
-3
0
0
0
0
0
0
0
0
0
0
0
0
14
2
0
-10
0
0
0
0
0
0
0
0
0
0
0
-125
54
16
18
21
38
66
0
0
0
3
2
4
0
0
0
0
-21
26
4
52
36
68
132
2
0
-11
10
1
-2
0
0
0
0
25
-34
13
-86
34
32
6
31
21
-19
-28
-2
0
6
0
0
0
27
161
118
26
-3
28
37
9
-79
-63
64
0
0
2
0
0
0
10
-114
-78
29
58
100
-30
14
-20
21
-1
0
0
0
0
0
0
22
-16
14
7
50
-58
-177
69
-73
95
-2
1
0
0
0
0
0
27
-122
-28
28
-4
-1
91
-67
63
-81
-4
0
0
0
0
0
0
-10
138
-10
-14
4
102
26
3
76
0
0
0
0
0
0
0
0
1
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
41
-9
23
6
2
0
-1
0
0
0
0
0
0
0
0
58
-117
87
-10
-17
-20
-60
27
78
-1
0
0
0
0
0
0
-14
-144
-53
67
54
109
-14
-53
7
-7
0
0
0
0
0
0
0
0
58
-44
111
-76
-19
0
-1
-9
11
0
0
0
0
0
0
0
0
36
-7
95
-36
-3
14
0
0
0
0
0
0
0
0
0
0
0
34
-87
-29
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-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
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
57
-19
-1
-1
4
2
-4
0
0
0
0
0
0
0
0
1
21
37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-94
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
12
-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
5
-15
-17
18
13
-1
0
0
0
0
0
0
0
0
0
0
0
13
85
-79
44
58
-35
-3
15
4
0
0
0
0
0
0
0
0
130
87
-9
-3
-30
-3
-4
5
5
0
0
0
0
0
0
0
0
-12
25
-25
25
0
0
0
4
0
0
0
0
0
0
0
0
0
0
69
87
14
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-11
0
6
4
0
0
0
0
0
0
0
0
0
0
0
-15
52
32
-8
-41
20
-22
-24
6
6
0
0
0
0
0
0
0
0
17
-87
65
69
-6
-13
-7
11
0
0
0
0
0
0
0
0
41
-26
49
286
-17
1
0
1
1
0
0
0
0
0
0
0
0
0
-35
3
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
9
-3
0
0
0
0
0
0
0
0
0
0
4
17
16
-14
-25
-84
-61
22
8
1
0
0
0
0
0
0
0
-1
-1
-32
9
28
-34
-12
0
0
2
0
0
0
0
0
0
0
0
0
-2
-12
116
59
-11
0
0
0
0
0
0
0
0
0
0
-9
12
12
-8
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-9
1
0
83
22
-47
0
0
2
0
0
0
0
0
0
8
33
48
-18
22
117
-21
10
-10
0
0
0
0
0
0
0
0
7
-68
-10
113
-2
-60
-110
-69
-22
11
0
-1
0
0
0
0
0
1
35
109
-30
41
-43
9
-41
-11
0
0
0
0
0
0
0
0
1
-3
25
-28
21
65
-12
-26
-1
2
0
0
0
0
0
0
0
-1
5
-2
-10
-43
8
9
-7
17
-43
0
0
0
0
0
0
0
0
0
0
-2
1
0
-7
-13
7
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
11
-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
-3
27
20
11
14
18
37
0
-25
-121
29
4
-1
1
0
0
-11
11
86
-68
67
102
-31
30
1
-11
22
87
-4
11
0
0
0
0
134
-16
47
41
16
-20
52
51
66
52
47
-20
-13
1
0
0
0
17
149
159
-43
50
155
204
99
-32
-12
-25
-5
10
-2
0
0
5
1
-22
-54
20
207
157
198
-1
-56
-25
-7
8
0
0
0
0
0
0
-15
18
-18
-21
-40
56
-103
-79
33
15
0
0
0
0
0
0
0
-2
-12
0
9
25
31
40
-9
11
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
109
8
-29
7
-49
63
0
31
46
-33
-53
-28
0
0
0
0
1
17
92
29
-33
-43
36
46
22
-32
-17
58
116
17
0
0
0
1
-15
-48
54
18
33
0
3
-57
-33
42
-74
-39
-3
0
0
0
-4
10
0
-6
12
42
9
-35
73
61
-8
42
22
12
0
0
0
-13
71
-59
25
-32
-36
-62
-93
-106
-12
-20
57
32
35
0
0
0
0
11
-2
39
-29
32
-20
-38
14
28
26
73
39
-13
0
0
0
-17
-40
-49
46
36
-15
27
-56
38
-16
20
16
-3
6
0
0
0
0
0
28
-8
42
-1
-3
-82
-43
-32
-8
-1
0
0
0
0
0
0
0
0
-8
123
-30
-83
-30
20
-52
-2
0
0
0
0
0
0
0
1
24
49
23
3
-29
0
-39
-95
-10
-97
82
5
-5
-1
0
0
4
-68
-162
-8
-72
60
58
-4
-31
72
-32
107
-64
-1
-21
0
0
5
2
57
21
18
96
-35
65
7
-20
-7
-6
16
-3
0
0
0
20
89
71
224
-6
37
49
70
108
-44
-11
17
-8
1
0
0
0
0
-11
-66
-15
123
25
17
33
39
-28
-54
-9
1
10
0
0
0
0
4
19
-27
121
-73
-20
19
-65
36
8
-41
-14
-1
0
0
0
0
0
-14
-18
-26
-32
16
-64
5
-25
52
-78
-14
2
7
0
0
0
0
-5
50
-12
69
9
-10
-35
45
35
64
29
-3
-28
0
0
0
0
0
-12
48
-57
-40
-24
3
5
6
56
45
-1
-2
0
0
1
124
-84
38
-8
88
0
-9
19
18
50
54
-4
0
0
0
0
15
27
66
73
-6
67
10
120
-9
57
105
-3
11
-2
0
0
0
12
96
84
45
30
11
48
26
-6
-88
82
57
-2
0
0
0
0
8
79
8
123
135
34
113
15
36
15
-2
17
0
0
0
0
0
-2
51
80
-19
-10
-15
-67
27
133
63
-5
-13
-4
0
0
0
0
0
12
49
12
103
1
24
12
61
-89
69
61
-3
0
0
0
0
0
0
-27
-13
-12
-6
-7
-21
-92
-44
-8
55
-7
0
0
0
0
0
0
26
21
48
-37
44
-69
2
30
-38
26
-2
-24
0
0
0
0
0
0
0
77
-78
15
1
0
0
0
0
0
0
0
1
-38
-121
68
48
-99
-33
1
0
-11
-19
-76
0
2
0
0
0
-6
3
-14
-15
35
41
-65
-16
-32
30
-30
-6
-11
0
0
0
0
-5
81
54
179
28
56
53
26
37
53
7
33
50
-7
0
0
0
0
-26
-26
155
21
162
90
173
-1
64
76
-19
2
-7
13
0
0
0
5
11
45
63
71
-34
11
45
68
23
-15
-1
0
0
0
0
0
0
21
16
41
-48
126
46
78
-31
-75
-4
-1
0
8
0
0
0
0
0
0
1
-97
-76
9
-5
42
-2
0
1
0
0
0
0
0
0
0
11
0
6
5
-38
19
19
0
9
3
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
25
-16
-72
0
-4
0
0
0
0
0
0
0
0
0
-3
-10
-5
40
-7
92
89
-12
1
0
0
0
0
0
0
0
0
8
-14
110
66
14
11
-60
-8
-5
0
0
0
0
0
0
0
0
-10
7
76
35
107
116
-3
1
0
0
0
0
0
0
0
0
0
0
14
134
50
41
-18
-21
7
0
3
0
0
0
0
0
0
0
0
31
4
69
17
137
24
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
23
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
18
-1
1
80
26
-39
0
-70
-53
-3
0
0
0
0
0
-4
0
-21
98
103
203
53
17
45
-55
-52
6
37
2
0
0
0
0
-12
-19
15
50
174
40
-85
-73
-30
6
20
3
1
0
0
0
0
0
2
21
-12
77
57
122
105
-41
28
-6
-13
0
0
0
0
0
1
0
25
135
7
-4
-25
-153
-60
46
-1
0
0
0
0
0
0
0
0
6
33
0
-66
-97
-46
0
14
-18
-4
0
0
0
0
0
0
0
1
27
23
85
-32
-107
-81
31
-20
0
6
0
0
0
0
0
0
0
-1
-27
-73
23
-73
41
-33
-8
2
0
0
0
0
0
0
0
0
0
-6
-11
6
-103
-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
96
0
0
0
-19
-13
-6
-10
0
0
0
0
0
0
0
0
0
-7
0
0
-5
106
-38
35
-8
-10
0
0
0
0
0
0
0
-10
54
-41
33
15
45
87
20
-3
-4
0
0
0
0
0
0
0
18
8
87
55
6
-43
-21
-9
-3
-10
0
0
0
0
0
0
0
-1
93
8
7
171
19
43
5
-5
-21
0
0
0
0
0
0
0
-12
-102
12
-107
20
6
-52
4
-3
-9
0
0
0
0
0
0
0
-8
-114
18
-57
59
44
-69
14
4
-4
2
0
0
0
0
0
0
0
-24
-65
-35
30
-16
-9
1
-4
2
0
0
0
0
0
0
0
0
-21
4
10
-4
-56
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
99
0
0
0
9
-3
0
3
0
0
0
0
0
0
0
0
0
-60
85
63
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
-23
29
9
-2
-3
0
0
0
0
0
0
0
0
0
0
0
21
-52
53
13
0
0
0
0
0
0
0
0
0
0
0
0
0
33
23
98
-58
-2
7
0
0
-2
0
0
0
0
0
0
0
0
-1
-63
-110
-2
-5
-11
0
-4
0
0
0
0
0
0
0
0
0
0
51
-20
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
62
0
0
-38
9
-3
0
0
0
0
0
0
0
0
0
0
0
128
17
110
55
3
11
8
-1
1
0
0
0
0
0
0
0
0
38
96
1
0
15
-5
0
17
-3
0
0
0
0
0
0
0
6
-37
-2
93
68
45
6
-9
-7
-3
0
0
0
0
0
0
0
6
-28
-32
-3
-66
-39
1
-8
5
3
0
0
0
0
0
0
0
0
-2
-27
7
182
-74
2
4
-2
8
0
0
0
0
0
0
0
0
0
3
-16
62
-4
0
-19
27
1
0
0
0
0
0
0
0
0
0
0
26
9
0
0
0
0
0
0
0
0
0
0
0
0
9
50
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
-3
-34
0
0
7
-7
-8
-4
-1
0
0
0
0
0
0
0
0
0
-113
66
114
16
2
0
3
0
0
0
0
0
0
0
0
0
-21
-4
-24
-74
42
29
1
15
0
0
0
0
0
0
0
0
0
-5
-36
160
-65
65
-8
5
-6
0
0
0
0
0
0
0
0
0
0
-69
-16
-7
2
14
0
12
-6
0
0
0
0
0
0
0
0
0
64
-137
85
-64
21
0
0
0
3
0
0
0
0
0
0
0
0
0
5
-6
-42
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
-2
-16
31
23
-9
0
0
0
-25
2
0
0
0
0
0
0
-13
3
93
-14
-34
-70
0
0
0
-1
4
0
0
0
0
0
0
-11
8
44
8
-21
100
-99
40
13
3
0
6
0
0
0
0
0
0
-8
-3
-2
-20
31
-61
26
110
67
-10
-13
3
0
0
0
0
0
0
19
16
-20
-99
-46
27
73
-10
16
0
20
0
0
0
0
0
0
0
-2
-41
9
30
-55
62
-11
6
5
13
4
0
0
0
0
0
0
-3
-11
44
-64
-31
36
-14
32
0
0
0
0
0
0
0
0
0
0
0
15
-5
-42
-27
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
20
39
-3
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
13
93
7
0
4
0
0
0
0
0
4
7
6
66
0
0
0
43
54
0
13
0
-1
0
0
-2
1
14
119
35
64
-55
83
69
2
31
9
-3
0
-2
0
0
0
-1
12
55
58
27
163
85
-75
28
12
-16
-8
0
0
0
0
0
0
-13
-25
9
89
-61
20
21
9
32
-2
-1
1
1
0
0
0
0
0
-64
14
-89
-116
42
97
-57
44
-2
-10
-2
0
0
0
0
0
0
24
79
151
42
-75
-69
-62
-7
-6
2
-17
-1
0
0
0
0
0
0
6
3
-68
-8
-9
-41
-29
-1
-4
0
0
0
0
0
0
0
0
0
-6
114
44
26
58
14
-8
0
0
0
0
28
3
-9
39
-84
-9
2
0
0
0
0
0
0
0
0
0
0
-9
63
96
-15
80
23
9
0
0
0
0
0
0
0
0
0
0
-5
68
174
8
117
74
-14
-2
0
0
0
0
0
0
0
0
0
-24
-145
74
-8
70
47
0
-5
5
0
0
-2
0
0
0
0
0
-48
-15
5
-22
40
33
0
-7
34
-1
0
0
0
-7
0
0
0
0
-20
69
16
-22
64
69
40
-5
-6
-11
-1
-7
2
0
0
0
0
-10
83
-70
-15
-28
23
-13
18
-5
-2
19
-1
0
0
0
0
0
3
6
-16
0
0
3
49
12
-5
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
44
19
-53
43
81
-24
162
0
0
0
47
-32
21
26
0
0
0
-65
10
-15
-3
178
-92
-23
0
0
48
118
0
64
11
0
-1
0
8
19
-27
29
113
44
-49
-9
126
159
141
65
22
-8
-4
0
0
-67
-38
102
-33
84
-12
-10
-48
130
-5
-54
11
-5
-2
-12
2
0
3
-9
86
19
26
-89
-32
32
18
-121
16
-45
12
-1
0
-2
0
0
-7
-80
85
-59
-162
-13
-93
-95
22
-5
-8
-9
3
-4
0
0
0
-1
-15
-28
-13
-14
1
-111
-41
-35
-8
-12
-4
0
-5
0
0
0
0
0
-10
4
0
-2
16
-6
-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
-4
-1
35
17
-1
16
125
0
0
115
-15
-53
44
0
0
0
0
13
80
-58
9
10
-24
14
41
133
-46
-92
25
-3
0
0
0
0
84
-43
21
-30
9
-21
-13
-6
70
-18
-49
-8
-33
3
0
0
0
35
74
-75
20
-35
34
17
-8
-42
-74
-30
43
11
-5
0
0
0
49
-24
22
-2
-42
1
-1
-26
-75
-108
23
8
-2
4
0
0
0
0
75
4
12
-28
-50
-49
8
-133
-69
92
-11
-21
0
0
0
0
0
-1
-30
41
80
-46
71
-21
29
128
-80
-22
0
0
0
0
0
0
0
75
175
-10
70
47
-96
-128
12
21
0
0
0
0
0
0
0
0
151
37
72
-58
-6
-20
0
-1
0
0
0
0
0
0
0
-2
-84
104
9
-24
13
16
0
0
8
0
0
0
0
0
0
0
-8
-108
74
20
19
74
92
94
25
0
0
0
0
0
0
0
0
-15
-40
-48
-13
-8
24
-33
-20
-41
0
0
0
1
0
0
0
0
8
27
-38
110
-52
2
37
-4
47
1
0
-6
0
0
0
0
0
0
29
-9
14
-52
42
-91
-46
-38
-11
0
5
-1
0
0
0
0
0
4
-3
6
-11
22
26
-67
-87
3
0
14
0
0
0
0
0
0
0
2
0
-14
-24
-27
-48
8
3
0
-1
2
2
0
0
0
0
0
0
7
1
0
-53
3
-8
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
86
75
27
1
18
55
-1
29
0
0
0
0
0
0
0
0
0
111
-69
-65
59
60
36
0
-37
-9
3
-1
1
0
3
0
0
0
132
-71
9
146
47
19
-46
-77
-23
1
0
-3
0
0
0
0
0
88
-79
39
50
45
83
-50
-133
-7
-19
-6
-2
-5
0
0
0
0
11
20
-55
-32
-31
41
-149
0
16
-10
0
12
-1
0
0
0
0
-7
-25
9
-32
-8
181
-45
-131
1
8
-4
0
0
0
0
0
0
0
17
54
-38
6
-7
-66
-74
11
-20
0
0
0
1
0
0
0
7
0
2
-9
-35
0
-7
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
21
120
-37
-50
72
69
104
0
0
127
-66
-12
-17
-5
0
0
0
-12
11
45
92
40
-38
42
0
269
0
30
16
-8
0
0
0
0
73
53
61
3
4
-35
27
79
226
229
43
-23
-18
0
1
0
0
120
9
-110
81
65
4
50
22
14
101
3
-12
4
5
0
0
0
-3
43
-31
149
29
-109
-39
-117
-22
-25
49
33
3
0
-2
0
0
0
-20
12
80
-18
110
8
-85
-36
10
-12
-9
0
0
0
0
0
0
0
-12
-9
-15
84
-117
-58
-126
2
4
-1
0
-2
0
0
0
0
0
0
-1
-56
-2
37
-17
-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
-11
-42
12
-97
-73
15
11
0
-8
-4
7
-2
0
0
0
0
0
-34
93
-37
-127
-83
-102
0
-33
0
0
2
3
0
0
0
0
1
-26
-20
-78
-92
-25
-45
-44
32
-3
0
0
1
0
0
0
0
0
-18
31
-78
-59
-37
32
36
29
-60
20
-13
8
0
0
0
0
0
0
19
-18
18
-125
-74
-11
70
-12
89
2
0
0
0
0
0
0
0
-7
-19
-51
-10
-107
-85
-48
46
-2
0
7
0
0
0
0
0
0
0
0
49
32
-5
104
-16
42
0
0
0
0
0
0
0
0
0
0
0
0
3
-26
-8
7
-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
-35
26
-87
2
-27
0
0
0
0
-6
-36
-15
0
0
0
0
13
37
61
66
89
-7
49
-26
0
-6
15
9
0
0
0
0
0
-57
113
-120
46
2
59
16
-1
49
42
0
0
-1
0
0
0
0
-3
-145
65
28
31
156
-123
-74
36
3
-15
22
0
0
0
0
0
0
-3
58
142
70
93
33
11
-57
-41
9
10
0
-1
0
0
0
0
-4
69
3
-11
75
0
-56
-79
-58
65
3
-1
0
0
0
0
0
11
4
5
-14
-1
-56
-28
27
-13
-1
0
0
0
0
0
0
0
1
-3
-2
-4
-24
-3
-12
-98
66
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
0
0
0
0
0
0
0
0
0
0
6
15
-22
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-1
-73
-14
-105
15
50
34
-1
0
0
0
0
0
0
0
0
0
1
3
45
69
59
16
46
64
0
0
0
0
0
0
0
0
0
0
-27
-46
76
36
-1
-10
1
0
0
0
0
0
0
0
0
0
4
12
36
3
-62
21
-74
-3
0
0
0
0
0
0
0
0
0
0
-3
5
3
28
104
128
0
0
0
0
0
0
0
0
0
0
0
-27
42
63
-53
23
-15
11
0
0
0
0
0
0
0
0
0
0
0
11
-24
-30
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
15
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-12
51
58
-122
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
10
65
30
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
23
23
65
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
24
-154
-6
0
0
0
0
0
0
0
0
0
0
0
-1
6
-16
11
99
9
0
0
0
0
0
0
0
0
0
0
0
-6
2
-168
-1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
92
0
0
0
0
0
0
0
0
0
0
-13
1
50
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
14
0
117
96
-80
-17
4
0
0
0
0
0
0
0
0
0
-3
0
-55
0
-27
-67
-33
0
0
0
0
0
0
0
0
0
0
0
17
-63
5
-71
19
46
0
0
0
0
0
0
0
0
0
0
0
0
-6
64
-41
-3
-64
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
-65
-35
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-78
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
115
3
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-21
95
-88
-20
0
0
0
0
0
0
0
0
0
0
0
11
-26
-30
103
86
12
0
0
0
0
0
0
0
0
0
0
1
20
-81
-57
-39
-9
31
0
0
0
0
0
0
0
0
0
0
0
6
25
-19
-62
-74
2
0
0
0
0
0
0
0
0
0
0
0
0
-88
43
-40
11
3
0
0
0
0
0
0
0
0
0
0
1
0
-121
13
14
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
-4
0
0
0
-15
-8
-7
-25
1
0
0
0
0
0
0
0
-5
-3
0
0
0
57
10
7
44
-14
0
0
0
0
0
0
0
-10
57
-18
-63
-62
6
56
82
6
-1
0
0
0
0
0
0
0
-20
57
-16
-15
4
29
-1
-3
18
3
0
0
0
0
0
0
0
-10
1
-130
-92
43
23
-4
6
27
-1
0
0
0
0
0
0
-3
14
15
-53
-38
-64
21
-10
0
3
0
0
0
0
0
0
0
0
1
0
-147
-140
-105
-184
0
-22
0
0
0
0
0
0
0
0
0
0
-24
-185
-25
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
37
-141
0
0
0
69
-15
-58
43
-5
-1
0
0
0
0
-6
3
-19
-34
-153
-11
110
127
39
-42
25
-68
-4
0
0
0
0
0
0
-7
4
5
-33
-17
-126
11
56
-24
-62
-2
-8
0
0
0
0
1
-4
-65
-40
-108
139
19
-184
43
23
-54
-1
12
0
0
0
0
0
-18
-33
1
41
-97
-101
-101
141
26
-2
0
0
0
0
0
0
4
5
-85
-58
-116
-6
-87
-6
9
-1
3
0
0
0
0
0
0
0
-2
-49
-8
172
86
-3
-17
-5
0
0
0
0
0
0
0
0
0
0
0
-8
144
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
120
102
41
45
6
-28
18
0
0
0
0
14
-36
157
5
0
0
115
52
139
44
18
14
1
0
0
0
0
-4
7
-67
-55
37
114
94
62
30
30
55
56
-18
0
0
0
6
0
2
-43
94
-36
168
28
-47
60
82
67
34
127
0
0
0
0
-1
14
-87
50
-72
-25
-50
-3
-42
39
50
46
94
0
0
0
0
0
-14
20
64
-39
51
-120
-72
-43
-38
36
40
-3
0
0
0
0
0
0
5
-86
-31
-25
-18
60
-43
-102
48
-58
0
0
0
0
0
0
-4
-2
-10
-69
-11
66
77
-55
-40
-15
0
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
-67
0
0
73
25
-16
58
45
-166
141
0
0
0
0
0
-29
-24
-107
11
-33
-1
10
3
1
5
99
70
0
0
0
1
2
-76
-4
29
-2
5
-36
-5
2
-32
-6
-72
134
0
0
0
0
0
10
-34
-51
-75
-16
-11
-34
-41
11
-55
-19
-38
0
0
0
2
0
-11
22
-16
-88
-24
-65
-22
-59
-20
-43
34
89
0
0
0
0
-2
-37
-54
52
-25
-72
-96
-92
-29
-79
36
22
21
0
0
0
0
0
-4
-12
30
65
12
-73
-94
-5
-15
-167
20
-1
0
0
0
0
0
2
3
54
-75
-49
-63
-34
-27
-32
-48
8
0
0
0
0
0
0
0
0
0
0
31
-16
-2
-54
-78
22
0
0
0
0
0
0
0
0
0
-1
0
0
-8
270
87
40
-7
-85
63
0
0
0
0
0
0
0
0
43
-29
135
48
-22
-48
23
80
73
0
0
0
0
0
0
0
-4
-44
89
37
10
-41
-94
-42
48
45
0
0
0
0
0
0
3
17
-87
-90
50
79
-9
-107
-127
-19
11
0
0
0
0
0
0
-1
16
8
6
9
150
-93
37
2
0
-22
0
0
0
0
0
0
0
0
3
-123
24
41
51
-159
5
-45
0
0
0
0
0
0
0
0
0
-14
33
-106
1
-30
55
91
62
0
0
0
0
0
0
0
0
1
-3
42
15
-58
-70
-51
7
0
0
0
0
0
0
0
0
0
1
0
0
-2
16
-5
5
28
-1
0
0
0
0
0
0
1
0
23
0
155
42
12
73
32
37
-52
-134
0
0
0
0
0
0
12
14
20
4
0
88
16
26
-35
12
44
0
0
0
0
0
0
0
7
26
74
-25
46
75
1
-3
53
-11
0
0
0
0
0
0
-5
-4
43
6
78
76
20
34
36
-52
-48
0
0
0
0
0
0
-7
17
34
-10
-45
71
81
-4
-14
80
44
0
0
0
0
0
0
0
1
10
-22
-50
-37
-85
-11
3
125
-42
0
0
0
0
0
0
0
-76
1
-138
-34
-49
-38
-36
11
24
0
0
0
0
0
0
0
0
-1
4
-49
94
27
95
-18
5
10
24
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-5
0
0
0
0
0
0
0
-1
45
124
0
0
94
116
41
89
15
106
3
0
0
0
0
0
-35
107
0
-50
0
79
61
106
77
45
11
-17
0
0
-8
0
2
4
-33
77
95
84
102
137
93
78
45
-47
-54
0
0
0
0
-4
5
39
-57
84
98
69
94
89
105
6
92
294
0
0
0
-13
0
23
-24
-57
12
-46
-63
44
22
45
51
-9
-8
0
0
0
0
2
8
-6
32
76
-51
-157
-89
-42
-56
13
76
0
0
0
0
-1
0
-12
-24
-10
-6
34
143
-99
-11
-3
35
0
0
0
0
0
0
0
-1
7
-50
-2
16
-34
-71
-15
9
-6
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
1
0
0
-11
86
6
-50
-88
66
26
6
0
0
0
0
0
0
8
0
-60
0
-39
-5
-90
-79
-52
71
11
0
0
0
0
0
-1
-13
34
-50
-25
81
88
1
46
241
87
-2
0
0
0
0
-1
3
4
18
61
10
133
-57
8
-69
-29
3
0
0
0
0
0
-5
0
8
-7
25
4
29
-34
134
-9
39
4
4
0
0
0
0
0
0
0
9
-18
-6
-41
-58
-16
41
5
4
0
0
0
0
0
0
0
0
0
1
19
0
-31
12
-6
58
0
0
0
0
0
0
0
0
0
7
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
-1
0
0
0
26
54
-72
-94
-129
-83
-38
0
0
0
0
0
4
7
0
0
4
-99
83
66
-62
-25
-19
-61
0
0
0
0
0
0
0
-80
9
40
73
52
67
9
110
123
-65
0
0
0
0
0
-1
0
-27
-45
-30
3
128
71
162
114
-164
-37
0
0
0
0
0
-10
-7
47
72
24
104
46
-55
4
89
26
-38
0
0
0
0
0
0
1
62
-32
-16
35
-43
33
9
5
62
-12
0
0
0
0
0
0
0
28
101
2
-7
58
-7
-55
27
21
-5
0
0
0
0
0
0
0
3
72
1
5
-8
15
-103
43
72
12
0
0
0
0
0
0
0
0
1
0
3
-5
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-22
21
7
-80
-66
87
95
-8
0
0
0
0
0
0
-2
5
5
-36
71
69
126
-61
-44
-84
7
0
0
0
0
0
0
0
0
1
-4
16
-55
105
80
72
-7
5
0
0
0
0
0
0
0
0
0
0
46
88
123
205
71
58
-21
0
0
0
0
0
0
0
0
0
0
-2
-19
54
15
6
9
132
0
0
0
0
0
0
0
0
0
0
-3
-23
0
-32
-73
75
-6
0
0
0
0
0
0
0
0
0
0
10
-43
39
-134
44
77
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
65
14
-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
-10
-2
0
97
-13
-18
-2
0
0
0
0
0
0
0
0
0
0
0
3
56
-17
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
12
3
63
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
148
37
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-35
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-5
16
-40
-5
2
-39
-14
13
0
0
0
0
0
0
0
0
6
0
1
-15
39
6
-54
51
-1
0
0
0
0
0
0
0
-3
-1
0
-5
-10
72
130
-42
75
-25
0
0
0
0
0
0
0
0
0
0
-4
26
35
154
-50
82
12
0
0
0
0
0
0
0
0
0
0
5
7
-56
131
-105
18
0
0
0
0
0
0
0
0
0
0
0
0
-4
58
12
112
17
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
57
-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
-9
-51
27
5
58
-24
1
0
0
0
0
0
0
0
0
-2
2
9
-113
112
-29
70
-44
0
0
0
0
0
0
0
0
0
17
0
0
41
136
56
35
87
-21
0
0
0
0
0
0
0
0
0
-1
6
-26
-74
95
47
-14
0
0
0
0
0
0
0
0
0
0
0
0
41
99
67
-7
-22
0
0
0
0
0
0
0
0
0
0
0
-5
0
-18
171
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
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
55
116
-104
25
-39
-81
0
0
0
0
0
0
0
2
0
81
10
-24
-120
-89
-32
-31
-61
6
0
0
0
0
0
0
0
-1
-24
-43
138
10
-9
22
14
-7
-10
0
0
0
0
0
0
0
-3
-5
21
23
104
55
45
-34
-28
4
0
0
0
0
0
0
0
2
25
-19
-48
40
55
-10
-41
-60
0
0
0
0
0
0
0
0
16
-15
13
1
41
-72
60
-24
41
-5
0
0
0
0
0
0
0
0
11
7
6
14
1
19
-47
0
0
0
0
0
0
0
0
0
0
0
44
6
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
-42
24
61
-9
-16
49
-29
-5
0
0
0
0
0
0
-12
0
-24
25
56
51
-6
105
-13
81
23
0
0
0
0
0
0
0
-4
-49
-56
-16
-15
-22
47
-47
11
12
0
0
0
0
0
0
-2
-4
-5
37
56
26
51
203
-22
37
0
0
0
0
0
0
0
-11
-4
-7
-64
2
-52
46
56
202
-97
17
0
0
0
0
0
0
0
10
5
25
-36
63
-93
28
115
-124
7
0
0
0
0
0
0
0
18
-46
20
-13
45
-24
20
-51
51
0
0
0
0
0
0
0
5
3
6
-5
0
1
14
18
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-26
40
12
0
42
-31
135
95
23
-25
28
-4
0
0
-17
6
33
-28
-5
10
17
49
45
46
62
59
-31
66
-18
0
0
0
-1
-1
-63
33
-53
-7
95
-45
-4
59
109
105
46
-94
0
0
0
0
9
-13
-90
-26
-24
-39
-34
103
26
104
166
134
-28
0
0
0
2
-7
-2
-100
40
-41
-27
-67
99
59
16
16
129
0
0
0
0
0
0
0
44
-84
64
-75
-48
-22
2
-175
-75
1
0
0
0
0
0
0
1
-20
3
-33
-3
68
-129
-48
20
-36
0
0
0
0
0
0
0
7
0
-16
-18
56
-5
1
3
-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
-6
-15
56
-12
0
20
-21
8
9
90
-63
-21
0
0
0
0
-10
60
-20
-21
-29
6
-39
-16
-4
51
36
-43
32
0
0
0
0
-19
-86
71
-4
-25
17
7
-1
-23
42
108
93
106
0
0
0
0
-2
47
47
-28
-15
-4
-11
-29
39
60
47
-8
109
0
0
0
0
-12
-17
16
0
-64
0
-3
-33
-18
83
-31
93
-85
0
0
0
-2
-10
-76
-5
40
-11
32
-24
-40
-79
21
3
53
7
0
0
0
0
-3
7
-23
-27
12
58
-25
-6
-68
8
52
-80
-3
0
0
0
0
0
0
6
12
101
62
21
-40
-96
-64
52
-76
-1
0
0
0
0
0
0
0
-8
11
59
34
-19
-1
-26
0
0
0
0
0
0
0
0
-10
-45
-11
-1
0
-1
-59
8
-67
27
-7
0
0
0
-1
0
22
60
8
-9
-4
9
9
43
24
166
-67
-6
0
0
0
0
0
53
0
8
-51
4
41
15
87
-60
-28
19
-1
0
0
0
0
-3
14
88
44
37
2
-8
105
-144
22
56
6
-8
0
0
0
0
0
-15
102
-32
12
-12
14
-13
-42
96
-6
18
0
0
0
0
-2
5
-16
73
-15
38
-40
-78
-30
-120
9
-55
-52
0
0
0
0
-2
0
31
50
-3
7
41
-64
-76
-30
11
-193
0
0
0
0
0
3
14
19
-16
-11
18
14
13
2
-57
-13
137
2
0
0
0
0
0
-2
81
11
9
-75
26
-18
-12
-92
-3
10
0
0
0
0
0
0
0
0
8
-14
24
111
0
69
-1
68
-7
202
3
0
0
0
0
0
0
-40
-1
52
-7
20
38
1
37
21
-42
25
0
0
0
0
0
0
-20
33
36
17
40
20
24
-21
49
101
7
0
0
0
0
-1
-2
-8
-47
-89
-7
-63
-80
-61
5
70
58
3
0
0
0
0
0
3
-11
-51
23
-24
-29
-28
-37
-32
-34
129
22
0
0
0
0
0
0
-22
-4
-55
2
-35
-34
-92
-39
-49
-89
41
0
0
0
0
0
1
-17
34
-59
-34
-31
-116
-56
-39
-91
-32
0
0
0
0
0
0
0
-7
-37
50
-32
63
41
-28
-16
-77
-6
0
0
0
0
0
0
0
0
0
0
0
24
5
-76
0
-7
0
0
0
0
0
0
0
0
7
-28
53
7
0
37
42
-27
47
74
-104
157
2
0
0
0
0
27
-52
-83
-41
50
-25
9
-17
67
57
-53
31
59
0
0
0
7
-10
107
31
-67
-12
-27
20
84
37
172
-12
13
88
0
0
-1
0
3
-50
-33
-119
-17
39
10
86
66
97
69
45
53
0
0
0
4
-4
-1
118
-29
14
0
20
42
102
136
-36
-67
38
0
0
0
0
-15
-23
5
-67
-99
-66
3
83
4
81
-17
-5
0
0
0
0
0
0
-10
21
7
75
33
-75
-35
-57
83
-45
2
0
0
0
0
0
0
0
-7
-13
-5
-121
-31
-45
23
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
-3
-58
0
-87
0
67
37
-39
-19
63
53
0
0
0
0
0
0
5
-11
-61
-70
74
98
-34
5
62
-14
-68
0
0
0
0
0
6
-11
-84
-45
-37
-2
25
-71
23
53
121
-66
0
0
0
0
0
0
-15
70
-40
-144
-27
139
125
-142
174
15
-1
0
0
0
0
0
0
-11
-24
-15
80
105
15
89
51
-4
7
0
0
0
0
0
0
0
25
-72
62
76
10
-72
17
-49
36
0
0
0
0
0
0
0
0
-5
58
65
-19
25
-31
-98
18
0
0
0
0
0
0
0
0
0
2
-14
43
208
20
29
-2
0
0
0
0
0
0
0
0
0
0
0
1
12
5
2
0
0
0
0
0
0
0
0
0
0
0
-63
-39
83
0
-86
58
40
20
114
-9
-80
7
0
0
0
0
-14
-35
-28
-26
-80
145
58
125
-8
16
13
-31
-2
0
0
0
0
-4
-25
-43
36
82
-66
121
73
101
97
-39
75
2
0
0
0
0
-10
9
-133
-10
10
-54
133
67
51
-48
83
54
22
0
0
0
0
0
41
-53
-48
-111
-99
114
8
-25
113
115
67
6
0
0
0
0
0
41
-9
-30
-31
-89
79
84
-29
36
-84
69
6
0
0
0
0
-6
65
96
-9
-61
2
-45
18
-32
102
5
-3
0
0
0
0
0
-4
2
48
8
-25
-28
31
37
-1
1
-1
0
0
0
0
0
0
0
6
6
15
20
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-4
8
-1
-38
0
0
85
0
0
0
0
0
0
0
0
0
0
0
-27
2
-48
-5
-54
194
0
0
0
0
0
0
0
0
0
0
0
-3
-45
-78
43
-5
74
14
0
0
0
0
0
0
0
0
0
0
-3
3
-76
-89
18
113
4
0
0
0
0
0
0
0
0
0
0
0
0
20
50
-10
14
-54
0
0
0
0
0
0
0
0
0
0
0
-3
-25
32
-37
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
3
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
34
0
0
0
0
0
0
0
0
0
0
0
1
-11
-19
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
-21
-61
51
0
0
0
0
0
0
0
0
0
0
0
-7
2
20
-28
88
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-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
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
1
1
0
0
0
132
0
0
0
0
0
0
0
0
0
0
0
-1
28
-20
0
0
103
0
0
0
0
0
0
0
0
0
0
0
0
33
102
52
2
-36
0
0
0
0
0
0
0
0
0
0
0
-2
18
24
90
-48
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-176
48
111
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
2
14
0
0
0
0
0
0
0
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
-4
0
0
0
9
18
0
0
0
0
0
0
0
0
0
0
-3
3
64
0
0
11
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-35
43
100
151
54
0
0
0
0
0
0
0
0
0
0
0
-6
-86
-10
31
12
-34
6
0
0
0
0
0
0
0
0
0
0
0
23
1
-13
-63
4
1
0
0
0
0
0
0
0
0
0
0
2
0
-1
-38
-14
8
0
0
0
0
0
0
0
0
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
-2
0
0
0
10
0
19
1
8
0
0
0
0
0
0
0
0
-19
0
0
0
124
34
45
-14
-1
-1
0
0
0
0
0
0
0
0
9
49
66
74
44
6
10
0
0
0
0
0
0
0
0
0
-2
-5
-37
58
32
79
-18
-29
-7
7
0
0
0
0
0
0
0
0
18
-6
76
41
37
-62
-2
8
0
0
0
0
0
0
0
0
0
14
1
-25
0
122
-2
-18
0
0
0
0
0
0
0
0
0
0
0
5
7
-2
4
21
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
0
0
0
0
0
0
0
0
0
-4
0
0
-10
0
0
0
0
-7
7
0
0
0
0
0
0
0
2
8
-81
-12
0
0
0
52
24
7
0
0
0
0
0
0
0
0
0
-3
49
-14
106
113
158
-147
-92
2
-11
0
-1
0
0
0
0
0
-4
-22
50
-13
36
29
-16
50
-47
50
4
0
0
0
0
0
0
0
-1
80
80
-60
-44
-28
43
60
-15
2
0
0
0
0
0
0
0
1
-5
44
-63
47
-15
-64
-25
-49
8
0
0
0
0
0
0
0
1
4
13
-33
9
-14
13
-50
19
1
0
0
0
0
0
0
0
0
0
0
2
-7
0
-11
-8
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
1
53
-67
51
24
7
14
0
0
0
0
6
-4
123
-68
0
0
95
109
58
17
81
23
60
0
0
0
0
0
0
-6
128
28
79
177
150
-34
-25
93
19
63
0
0
0
0
0
2
-5
-224
97
16
110
23
4
-9
74
69
-12
0
0
0
0
7
1
14
57
3
-40
-3
103
-7
-19
0
16
115
0
0
0
0
0
0
2
-32
5
13
35
3
-1
26
8
108
44
0
0
0
0
0
0
0
0
-8
32
171
123
23
-52
-57
28
-1
0
0
0
0
0
0
0
0
-2
16
2
27
-65
39
68
-39
-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
-60
0
0
107
50
8
19
65
-2
42
0
0
0
0
6
11
5
-76
16
9
32
18
16
-39
-11
-15
170
0
0
0
0
0
-33
24
-100
-70
-49
-30
-42
-14
-12
-52
79
123
0
0
0
0
0
-6
-51
-42
-44
-70
10
0
-22
-29
-40
-50
146
0
0
0
0
0
45
12
-41
-127
-106
-70
-1
-31
-37
9
81
137
0
0
0
0
0
-3
-28
43
-45
-142
-27
-29
-26
-57
-72
-24
-6
0
0
0
0
0
7
8
-45
-78
-52
-40
22
-14
21
-1
34
3
0
0
0
0
0
0
-15
-4
41
151
5
24
-1
-9
-99
42
0
0
0
0
0
0
0
0
5
-8
18
15
-61
15
-22
2
0
0
0
0
0
0
0
0
0
-12
0
0
51
81
-76
-1
96
18
12
0
0
0
0
0
0
-1
6
-28
132
147
40
2
16
29
-16
18
0
0
0
0
0
0
-7
-11
-19
-2
-23
70
14
-56
-34
-13
2
0
0
0
0
0
0
1
0
15
31
19
8
-1
-77
-24
58
45
0
0
0
0
0
0
0
-17
2
1
23
83
171
-1
-27
31
53
0
0
0
0
0
0
0
0
-38
56
-9
40
-81
-119
-10
45
-86
0
0
0
0
0
0
0
0
0
5
-42
70
19
-32
13
56
2
0
0
0
0
0
0
0
0
0
0
62
45
115
3
48
-16
31
0
0
0
0
0
0
0
0
-2
-6
29
5
43
21
-10
9
33
0
0
0
0
0
-2
0
4
0
90
77
39
25
62
72
-17
-25
0
0
0
0
0
0
-7
34
-39
16
0
1
96
50
66
1
110
0
0
0
0
0
1
11
-20
26
124
68
50
26
22
50
-59
116
0
0
0
0
-1
0
-4
-16
-64
51
-126
56
-46
13
58
-8
-130
0
0
0
0
0
0
0
-16
-153
53
-85
47
19
-29
51
100
32
0
0
0
0
0
0
-5
0
-9
-55
-9
-61
-40
-41
-2
-1
60
0
0
0
0
0
0
0
0
12
29
22
30
38
9
99
13
-18
0
0
0
0
0
0
0
-3
16
0
0
-38
57
41
-58
12
35
0
0
0
0
0
0
0
0
0
0
0
0
-11
43
-57
0
0
0
0
0
0
0
2
-19
24
0
0
52
130
47
2
15
21
-158
0
0
0
6
-5
-12
147
0
-38
0
117
150
39
10
3
26
7
0
0
0
-3
-8
-6
-58
113
68
136
127
124
42
-2
72
-77
-32
0
0
0
0
0
0
4
-25
149
2
-14
78
-15
70
-39
62
-19
0
0
0
0
0
-2
2
-90
-45
-96
77
-66
-5
-48
9
27
-10
0
0
0
0
0
0
0
-21
-19
23
-38
-61
-84
-34
34
3
4
0
0
0
0
-3
0
5
0
2
-105
-21
-24
-33
39
-60
-31
124
0
0
0
0
0
0
0
0
-3
-5
1
39
-27
110
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
28
49
-6
0
0
0
0
0
0
0
-2
-3
0
-12
87
66
-86
48
129
-3
14
0
0
0
0
0
0
-6
0
-6
0
22
34
55
-18
-4
19
0
0
0
0
0
0
0
0
0
-9
-52
58
-150
-10
73
105
-17
0
0
0
0
0
0
0
0
-3
-14
44
0
114
74
25
-68
98
0
0
0
0
0
0
0
0
0
8
5
49
-10
-88
-129
33
-47
-7
0
0
0
0
0
0
0
0
0
-2
85
-17
-67
-189
41
-18
0
0
0
0
0
0
0
0
0
0
-4
-74
-27
-94
-99
176
37
0
0
0
0
0
0
0
0
0
0
0
0
-62
-5
34
32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-5
-11
0
0
0
-3
28
28
95
10
-25
-8
0
0
0
0
0
-12
9
22
0
-2
-27
64
-59
12
54
-105
-80
0
0
0
0
0
0
0
-8
6
-30
139
-38
66
-75
-22
90
-50
0
0
0
0
0
-2
1
84
42
-71
-104
-59
-65
-4
-63
-17
-17
0
0
0
0
0
0
0
56
155
41
-15
40
-57
69
25
-30
-14
0
0
0
0
0
0
0
56
10
17
96
-42
45
-104
-35
45
48
0
0
0
0
0
0
-2
0
12
4
54
26
12
-61
-187
64
64
0
0
0
0
0
0
0
0
0
0
0
-32
132
61
-66
-30
-131
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
-115
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
52
25
34
48
46
-74
-44
0
0
0
0
0
0
0
0
2
-13
2
-115
29
-22
46
4
-48
-8
0
0
0
0
0
0
0
0
-4
-16
2
-11
45
21
-12
37
-23
0
0
0
0
0
0
0
0
-7
0
-21
-74
22
52
71
37
-31
0
0
0
0
0
0
0
0
1
19
-7
14
-95
-19
44
-12
-37
0
0
0
0
0
0
0
0
0
-2
-13
100
-15
6
-40
4
2
0
0
0
0
0
0
0
0
0
0
0
5
11
-18
-38
53
36
0
0
0
0
0
0
0
0
0
0
-1
-3
11
-62
4
-24
-31
0
0
0
0
0
0
0
0
0
0
0
1
7
-14
85
-26
88
0
0
0
0
0
0
0
0
0
7
0
0
-6
133
28
25
0
0
0
0
0
0
0
0
0
0
0
-4
9
55
54
-33
-31
0
0
0
0
0
0
0
0
0
0
0
3
-4
49
94
118
32
0
0
0
0
0
0
0
0
0
0
0
-1
34
67
-85
-55
-34
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-201
10
29
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-62
-56
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-92
-118
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-10
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
22
22
23
130
-49
0
0
0
0
0
0
0
0
0
-11
0
1
-93
13
7
-39
-51
0
0
0
0
0
0
0
0
0
4
-7
-2
45
-33
-43
47
54
-35
0
0
0
0
0
0
0
0
0
0
-12
-10
27
56
68
5
-6
0
0
0
0
0
0
0
0
0
3
-22
-5
48
45
124
-38
-14
0
0
0
0
0
0
0
0
0
0
0
-5
-32
34
-7
-44
7
0
0
0
0
0
0
0
0
0
0
0
0
41
-79
-69
45
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-54
4
-11
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
1
42
-20
-35
-76
-112
1
-1
0
0
0
0
0
0
0
0
-2
2
67
20
37
-25
-6
22
-2
0
0
0
0
0
0
0
0
-2
-8
9
41
93
8
57
-80
23
0
0
0
0
0
0
0
0
0
0
6
0
-5
-32
51
-25
2
0
0
0
0
0
0
0
0
0
0
0
-13
66
98
158
-65
0
0
0
0
0
0
0
0
0
0
0
0
-16
-83
-44
80
16
4
0
0
0
0
0
0
0
0
0
0
0
-1
-61
-51
-43
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-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
-9
-3
0
82
-41
-77
64
103
-10
-22
1
0
0
0
0
0
0
0
5
-9
44
-115
31
-3
60
-89
-213
-5
0
0
0
0
0
0
0
-4
-5
-27
7
66
84
-50
135
22
-119
0
0
0
0
0
0
0
0
-11
20
49
-45
184
70
-52
32
-32
0
0
0
0
0
0
0
0
-31
-64
83
32
-47
-61
-127
-98
37
0
0
0
0
0
0
0
0
-13
-22
2
59
8
-11
-71
38
28
0
0
0
0
0
0
0
0
0
53
-48
11
-14
-116
51
-49
19
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
-26
-10
99
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
28
2
1
0
0
0
0
0
0
0
2
0
73
39
42
103
104
-150
-21
-18
0
0
0
0
0
0
10
2
-47
-54
-89
-27
-2
53
15
-9
69
0
0
0
0
0
0
-1
-9
57
-6
160
30
15
47
58
91
-72
0
0
0
0
0
0
13
-6
-1
-70
93
139
55
-147
-121
-9
-37
0
0
0
0
0
0
0
-25
97
-7
-28
10
-87
-184
-65
-27
133
0
0
0
0
0
0
1
0
-5
42
11
40
-22
124
4
-6
27
0
0
0
0
0
0
0
2
10
-4
-103
102
-65
18
20
-123
86
0
0
0
0
0
0
0
0
9
0
-1
5
-142
14
-37
20
16
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
76
5
-50
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
39
0
52
58
134
89
111
-43
-32
-20
0
0
2
11
21
-31
-24
-6
39
-28
37
19
85
57
81
6
-22
0
0
0
-3
48
7
5
-29
1
9
32
-95
20
-12
75
-11
-13
0
0
0
-2
5
-25
-54
-18
53
5
100
62
-40
-25
12
-92
-10
0
0
0
0
-7
-25
37
-18
12
-65
-36
128
21
-72
53
2
-1
0
0
0
0
0
0
-21
-50
21
38
10
13
45
-25
-34
157
6
0
0
0
0
0
0
0
-46
-27
-16
-83
65
-41
-117
-49
67
-9
0
0
0
0
0
0
0
-4
-3
5
20
-35
27
-62
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
-3
12
-119
-9
86
0
-26
12
25
39
-30
62
44
0
0
0
-3
0
-6
15
-74
-6
-4
-63
-5
5
3
36
13
-68
0
0
0
0
-1
14
-87
37
-84
-21
-35
-42
-10
15
39
-27
-6
0
0
0
-2
-3
5
32
-20
-48
-18
-45
-20
-10
20
16
-31
-46
0
0
0
-2
-4
27
-17
-4
-13
-16
14
-30
-37
33
15
3
4
0
0
0
0
3
-8
-98
-77
46
-47
-13
-34
-4
-34
-1
-20
-24
0
0
0
0
-3
-7
18
-24
-35
-32
-34
11
16
17
9
36
31
0
0
0
0
0
-1
-11
15
-84
27
-14
-22
-32
-17
-3
205
50
0
0
0
0
0
-3
-1
-36
-27
35
-20
-97
10
21
29
-68
0
0
0
-2
0
-1
38
-1
-42
70
0
67
-90
14
77
-59
-2
0
0
0
0
0
0
0
3
129
49
-6
-4
-18
-3
106
118
34
1
0
0
0
0
0
0
3
63
8
-5
71
13
10
-1
43
44
8
0
0
0
0
0
0
0
44
23
-56
54
31
88
121
113
27
0
0
0
0
0
0
0
0
1
-24
-129
-73
95
-27
30
-55
-6
0
0
0
0
0
0
0
0
3
-119
-12
44
-152
74
17
72
3
0
0
0
0
0
0
0
0
-7
-4
-71
-25
27
59
109
4
26
0
0
0
0
0
0
-2
-1
0
2
15
-52
8
14
52
11
0
0
0
0
0
0
0
0
0
0
0
-5
46
10
53
-31
-2
0
0
0
0
0
0
-1
-1
-37
-19
28
0
13
34
56
-74
104
-3
0
0
0
0
0
0
17
97
56
-3
60
31
31
42
40
-136
-34
0
0
0
0
0
0
-1
112
27
24
69
40
-82
-8
61
15
-21
0
0
0
0
0
0
1
-43
50
125
100
21
3
24
34
-6
84
0
0
0
0
0
0
0
8
88
7
96
19
12
-70
127
-36
53
0
0
0
0
0
0
11
18
44
7
40
-22
14
58
-21
-41
2
0
0
0
0
0
0
0
-53
-110
-81
38
-106
-52
121
21
18
-4
0
0
0
0
0
0
0
4
-10
-48
88
161
-52
-39
-11
88
4
0
0
0
0
0
0
0
0
0
9
0
-11
59
2
-20
0
-3
0
0
0
0
0
0
1
-73
-82
-44
0
14
23
22
21
109
3
-26
-7
0
0
0
2
30
-91
-115
50
47
3
10
5
23
21
12
-158
-4
0
0
0
-2
1
-61
4
-54
-16
55
28
-10
91
137
16
111
12
0
0
1
6
-2
-1
115
-10
-74
63
21
20
78
71
-64
163
175
0
0
0
0
8
4
-52
-72
50
-20
-47
66
3
31
-25
-29
3
0
0
0
0
0
2
-56
-27
-89
63
25
62
-67
-28
25
-77
38
0
0
0
0
0
7
5
46
-10
22
-43
9
37
2
48
24
-3
0
0
0
0
0
0
0
0
0
13
64
35
-24
-96
-33
76
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
15
0
-68
-27
41
44
-34
77
-45
-4
0
0
0
0
0
0
21
-53
137
135
-10
23
113
-39
15
77
-21
0
0
0
0
0
0
2
1
2
106
18
-3
141
-21
-31
-31
5
0
0
0
0
0
0
24
63
-67
-16
-74
-9
-38
21
103
6
9
0
0
0
0
0
0
0
-26
-16
9
-154
-89
-40
-20
-47
-16
1
0
0
0
0
0
0
0
-31
-36
-90
4
20
63
-166
39
-123
0
0
0
0
0
0
0
0
0
-63
-37
43
-96
10
23
9
-1
4
0
0
0
0
0
0
0
0
0
-78
-6
1
1
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
34
52
-16
0
40
36
-33
-18
-3
7
-54
-7
0
0
0
0
0
-58
98
-52
45
57
82
105
98
151
-13
3
-52
0
0
0
0
0
25
34
35
-18
-76
85
90
-1
-37
47
-36
8
0
0
0
0
0
3
127
-16
-72
-32
-16
105
76
109
-16
-29
9
0
0
0
4
-6
51
0
22
-60
64
0
1
77
21
17
120
50
0
0
0
0
-7
36
-3
36
-10
10
-98
86
-50
56
59
16
11
0
0
0
0
0
10
-56
100
10
20
19
-17
-19
-35
36
-97
28
0
0
0
0
0
6
12
4
-85
-33
-56
60
-9
-22
8
-110
8
0
0
0
0
0
0
0
0
0
0
19
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-16
8
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-14
5
-79
-16
-22
-108
0
0
0
0
0
0
0
0
0
0
1
0
-87
84
-28
148
30
-5
0
0
0
0
0
0
0
0
-3
0
-75
-89
68
30
25
133
0
0
0
0
0
0
0
0
7
-5
-4
37
83
-39
32
-5
34
-4
0
0
0
0
0
0
0
-3
-9
4
-28
9
-53
46
-138
-12
-2
0
0
0
0
0
0
0
4
7
3
-2
55
-17
80
20
5
-5
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
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
-2
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-54
-25
-85
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
120
-115
-16
1
0
0
0
0
0
0
0
0
0
0
0
9
52
-16
-15
18
0
0
0
0
0
0
0
0
0
0
0
1
-16
9
-6
-50
1
0
0
0
0
0
0
0
0
0
0
0
-10
6
182
63
-38
14
0
0
0
0
0
0
0
0
0
0
0
0
1
122
-49
-52
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
86
0
0
0
0
0
0
0
0
0
0
0
1
0
-69
45
-73
-29
0
0
0
0
0
0
0
0
0
0
1
0
18
25
71
76
37
-13
0
0
0
0
0
0
0
0
0
-1
-9
10
-73
52
30
-36
0
0
0
0
0
0
0
0
0
0
2
10
-2
-9
-17
-99
-24
0
0
0
0
0
0
0
0
0
0
3
0
-6
-21
-32
-26
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
21
-3
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
2
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
4
2
-3
0
0
0
41
16
0
0
0
0
0
0
0
0
0
-5
-6
0
45
-101
-30
-27
26
0
0
0
0
0
0
0
0
0
5
0
1
-79
36
124
-1
20
0
0
0
0
0
0
0
0
0
-1
3
-66
11
-61
-63
162
24
0
0
0
0
0
0
0
0
0
0
-1
32
-83
27
3
97
-6
0
0
0
0
0
0
0
0
0
3
-3
17
-22
-70
-38
5
0
0
0
0
0
0
0
0
0
0
0
2
0
56
-83
-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
0
0
0
0
0
0
0
0
-2
0
0
-4
2
0
0
0
0
0
0
0
0
-6
0
0
0
-5
-10
-3
0
0
0
0
0
0
0
0
0
-7
-6
-72
-18
122
8
4
4
-1
2
0
0
0
0
0
0
0
0
-6
48
8
-11
8
0
65
15
0
0
0
0
0
0
0
0
0
-5
-15
29
-6
11
18
-2
0
0
0
0
0
0
0
0
2
0
-10
24
-10
-81
75
-26
-9
0
12
0
0
0
0
0
0
7
0
0
-14
9
-49
-2
-2
0
0
0
0
0
0
0
0
0
0
4
-6
-7
2
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
7
-7
0
0
0
0
-2
-3
0
3
0
0
0
0
0
-5
-8
-1
-18
0
0
0
-2
6
5
4
0
0
0
0
0
0
0
0
1
-14
-105
53
173
105
-26
3
3
51
1
0
0
0
0
-5
-1
-3
13
-121
-77
-34
-44
83
1
12
-19
-1
0
0
0
0
0
0
12
-43
-71
8
-40
-13
-85
-93
-3
-13
6
0
0
0
0
0
0
2
73
-18
113
-75
33
-81
-51
2
15
2
0
0
0
0
5
1
1
-9
169
118
-62
-25
43
89
-2
0
0
0
0
0
0
-2
1
-6
34
-22
26
-15
6
3
0
0
0
0
0
0
0
0
0
0
-20
-16
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
166
29
46
-13
11
41
120
0
0
0
0
0
14
-40
0
0
0
140
30
92
-27
-62
38
101
0
0
0
0
-1
12
-24
96
277
55
29
46
73
63
79
66
-11
0
0
0
0
-3
-8
8
-6
-83
85
46
60
73
61
52
64
91
0
0
0
3
-5
-122
31
-11
173
-8
53
10
20
-25
96
55
89
0
0
0
0
34
-78
-25
1
66
-65
22
-37
8
-31
32
36
16
0
0
0
-1
7
-37
-90
-84
-27
69
-76
90
7
56
3
256
-2
0
0
0
0
-12
-24
-3
22
-14
8
-35
-21
25
-18
21
9
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
10
-1
66
0
0
85
20
3
25
39
47
26
0
0
0
0
1
-10
28
-1
123
44
23
-18
20
11
-6
20
78
0
0
0
0
9
-5
26
36
20
-13
62
7
24
-10
41
-39
-14
0
0
0
0
2
-60
-52
64
4
10
1
20
-13
31
43
48
245
0
0
0
1
-9
-3
-69
-14
80
-7
23
4
-24
17
-1
-14
44
0
0
0
-3
48
-38
-60
-18
166
6
-27
-47
-7
-9
116
94
50
0
0
0
3
13
38
92
41
-27
22
0
18
15
-11
-34
23
-41
0
0
0
0
0
6
-9
36
14
60
63
22
15
4
-69
-29
0
0
0
0
0
0
-1
2
-3
-3
24
65
-14
0
54
42
0
0
0
0
0
0
0
0
0
0
0
0
86
33
-39
125
-35
85
13
0
0
0
0
0
0
0
0
-7
47
-114
31
111
-34
15
18
165
0
0
0
0
-1
0
0
21
71
50
59
31
59
78
28
24
28
0
0
0
0
0
4
-11
-8
27
174
8
135
36
-68
-10
-42
54
0
0
0
0
0
-9
0
24
6
67
68
-42
-62
98
6
-55
-19
0
0
0
0
0
2
-39
0
-74
-24
-58
9
49
54
65
55
0
0
0
0
0
0
9
0
5
25
-80
67
-20
33
68
73
-84
0
0
0
0
0
0
0
0
0
6
-29
41
92
127
50
24
-2
0
0
0
0
0
0
0
0
0
0
0
14
-28
-55
88
-17
-2
0
0
0
0
0
0
0
0
-4
0
42
12
13
68
-32
30
3
28
0
0
0
0
0
0
2
0
-37
26
0
100
35
40
68
3
19
0
0
0
0
0
0
-2
33
-52
71
97
63
-62
-45
44
60
-4
0
0
0
0
-3
1
2
-59
-65
76
7
3
10
136
104
60
83
0
0
0
0
0
-11
-22
-17
-1
-111
-2
55
86
51
89
-60
98
0
0
0
0
0
-1
-32
12
-17
62
-32
100
10
-37
56
96
-81
0
0
0
0
0
5
0
-16
1
16
-71
-23
149
118
43
10
1
0
0
0
0
0
0
-4
0
-1
78
-29
5
10
-48
31
14
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
0
0
0
0
0
0
8
24
19
0
0
79
18
-82
107
110
-15
14
0
0
0
0
9
4
-59
0
-29
0
198
6
-28
99
41
47
74
0
0
0
0
10
28
9
-58
151
133
70
128
71
39
39
44
97
0
0
0
0
23
0
84
-82
86
12
5
-1
0
37
43
-37
-13
0
0
0
0
1
-9
-33
-19
-50
3
-30
29
46
69
109
73
10
0
0
0
2
34
-12
-129
-20
-2
5
45
102
-35
7
17
46
0
0
0
0
1
-3
-9
-6
21
-11
112
45
-2
67
-19
27
12
0
0
0
0
0
2
1
-5
-12
1
42
-13
-1
62
17
-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
2
5
-5
0
-64
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-5
64
-51
-15
95
35
-2
0
0
0
0
0
0
0
10
6
12
13
6
-41
-10
18
21
-5
0
0
0
0
0
0
-3
8
8
-2
-8
108
-23
135
-20
-1
-11
0
0
0
0
0
0
1
0
0
-4
68
14
38
11
82
17
-1
0
0
0
0
0
0
0
0
-5
-6
4
-74
-8
45
-6
0
0
0
0
0
0
0
0
0
0
2
-47
0
2
24
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
52
-100
-57
-54
-21
60
0
0
0
0
0
0
0
0
0
-27
-11
156
54
-10
-68
44
-22
0
0
0
0
0
0
0
17
35
95
5
102
91
139
91
51
-18
0
0
0
0
0
0
-7
27
-32
-106
27
6
-131
126
-23
29
127
0
0
0
0
0
1
0
-78
27
11
-4
-37
32
55
-30
64
81
0
0
0
0
0
0
-15
39
-44
-23
-117
16
-5
-81
45
-69
7
0
0
0
0
0
0
1
12
-3
72
-55
-124
-110
-98
30
64
7
0
0
0
0
0
0
0
1
9
-2
4
-35
-96
107
-81
15
0
0
0
0
0
0
0
0
0
1
0
0
-10
2
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
64
147
123
175
58
-4
9
-4
0
0
0
0
0
0
18
7
-32
118
-20
39
56
-27
-42
-2
-1
0
0
0
0
0
0
0
18
-31
37
8
166
82
53
46
-18
2
0
0
0
0
0
0
18
-4
-3
10
38
25
-80
-63
-38
-98
-115
0
0
0
0
0
0
0
13
-2
-8
16
-8
47
6
-2
-20
-56
0
0
0
0
0
0
0
0
-4
-4
7
5
-17
21
61
-13
15
0
0
0
0
0
0
0
0
0
0
1
-10
-15
76
-173
17
18
0
0
0
0
0
0
0
0
0
0
0
4
-25
-15
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
-1
1
-20
-37
24
-38
24
0
0
0
0
0
0
0
0
0
-4
-4
-1
-3
-4
123
20
4
0
0
0
0
0
0
0
0
0
2
0
-3
2
35
16
-88
64
-19
0
0
0
0
0
0
0
0
0
0
0
-3
16
87
65
4
5
0
0
0
0
0
0
0
0
0
0
0
0
-54
46
65
24
-10
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
26
-89
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-9
-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
2
0
-2
21
55
-20
97
60
109
0
0
0
0
0
0
0
0
0
5
26
6
29
-31
33
-40
-77
8
0
0
0
0
0
0
0
21
-24
18
31
-6
-68
83
107
-101
6
0
0
0
0
0
0
0
1
-7
-3
3
-1
21
42
74
50
26
0
0
0
0
0
0
0
0
0
0
0
15
49
119
-3
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
52
84
3
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-1
5
-27
-7
121
97
-15
3
0
0
0
0
0
0
-4
0
10
27
-34
59
-98
-10
-48
158
-6
0
0
0
0
0
0
0
0
2
1
3
7
-24
64
-2
-25
0
0
0
0
0
0
0
0
1
0
0
0
-3
61
43
13
29
0
0
0
0
0
0
0
0
0
0
0
0
3
29
110
23
-101
2
0
0
0
0
0
0
0
0
0
0
0
-12
-23
11
-55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-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
35
-45
-42
1
116
-69
-6
3
0
0
0
0
0
0
0
0
58
80
17
-18
-2
21
118
95
9
0
0
0
0
0
0
0
2
1
-31
67
47
-9
-113
64
21
-3
0
0
0
0
0
0
0
4
-2
23
9
-4
-16
70
23
-5
0
0
0
0
0
0
0
0
0
-7
38
34
2
68
49
145
17
0
0
0
0
0
0
0
0
0
-10
0
-7
-20
68
1
-1
-22
0
0
0
0
0
0
0
0
-2
0
-1
0
-40
159
-2
22
0
3
0
0
0
0
0
0
0
0
-13
-4
4
5
0
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
1
0
15
30
1
72
-44
62
-23
-4
0
0
0
0
0
0
0
0
9
86
11
97
172
-92
-15
18
-46
0
0
0
0
0
0
0
-2
13
-20
-23
149
-72
35
34
123
33
0
0
0
0
0
0
1
4
3
9
98
-40
-32
158
5
-28
-59
0
0
0
0
0
0
0
-12
37
43
-61
-9
-66
23
59
-4
-21
0
0
0
0
0
0
0
0
29
14
-82
52
2
-30
-37
-4
-79
0
0
0
0
0
0
3
9
35
-8
11
61
14
-19
29
58
44
0
0
0
0
0
0
0
0
-1
0
-4
-7
3
95
-4
-13
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
76
3
0
68
86
-107
68
62
11
-19
19
0
0
0
1
-1
-48
-50
-9
122
109
79
-76
77
-49
139
-64
52
0
0
0
0
8
1
-7
-45
54
106
35
94
105
65
91
55
-39
0
0
0
0
-5
22
-112
-31
-87
86
-69
-93
25
55
27
109
45
0
0
0
0
14
-8
-30
7
-95
-59
-26
-4
103
43
57
-40
-15
0
0
0
0
-1
-20
50
-33
-33
46
-65
108
-19
21
-33
-6
0
0
0
0
0
0
1
-23
-6
-83
36
67
-51
-18
15
-3
-1
0
0
0
0
0
0
-2
-1
4
38
9
-11
-48
40
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-5
11
0
0
0
0
0
0
0
0
0
0
-4
2
8
19
0
20
22
62
77
-30
145
-93
0
0
0
0
5
63
-127
-29
80
32
-12
31
22
-1
74
-42
39
0
0
0
-1
-7
54
-137
20
82
47
24
38
4
-22
35
56
117
0
0
0
0
-2
26
-36
-56
37
-16
15
-3
2
-32
14
115
-55
0
0
0
-27
6
-7
68
46
-34
42
-13
-11
-10
-20
25
-12
54
0
0
0
9
5
-15
15
-20
17
-11
19
14
17
-4
-53
35
-18
0
0
0
0
5
35
46
31
39
-7
-1
-19
-4
-73
36
14
10
0
0
0
0
-6
-1
-5
60
101
-6
16
30
0
47
-33
-74
-12
0
0
0
0
0
-5
12
14
-92
46
38
-17
65
107
-21
0
0
0
0
0
0
0
0
-28
48
110
0
123
-38
-27
44
-64
61
0
0
0
0
-1
-2
20
-36
12
0
-30
-80
121
-91
37
-91
27
-2
0
0
0
0
14
0
-49
2
17
57
55
166
78
-19
-93
-14
6
0
0
0
0
0
-75
-7
-33
-20
4
23
184
52
18
-19
5
2
0
0
0
0
-6
0
-11
59
-7
63
-43
-20
35
20
-1
19
0
0
0
2
1
0
-12
-56
-40
-49
-9
-88
133
-198
-72
67
0
0
0
0
-9
0
-56
-114
-4
-31
-13
-27
-40
14
-28
-62
22
-34
0
0
0
-1
3
-8
-79
-95
-17
-7
-24
38
58
-33
12
-1
0
3
0
0
2
-3
-12
-30
5
8
19
54
-57
31
5
-13
0
0
0
0
0
0
0
0
5
45
115
-22
0
-19
39
58
-46
-6
2
0
0
0
0
0
0
-43
-107
69
0
70
1
50
64
69
-158
-71
0
0
0
0
0
5
0
18
20
58
64
-28
86
0
146
3
-4
0
0
0
0
0
5
-15
3
50
45
62
28
71
31
-51
21
-8
0
0
0
0
0
-4
-1
-30
-90
-11
72
-9
12
86
109
17
-7
0
0
0
0
0
0
-29
-13
-29
33
-30
1
11
-189
-116
-5
-3
0
0
0
0
0
18
2
7
-27
24
-38
-60
-47
-16
-18
-4
-6
0
0
0
0
-2
0
-3
-85
-22
10
3
116
-149
23
36
6
0
0
0
0
0
0
0
0
0
0
0
-46
-7
41
5
-1
0
0
0
0
0
0
0
0
0
5
116
158
0
23
57
8
109
26
-62
26
-55
0
0
0
0
-12
5
114
2
63
89
108
67
1
-72
88
-46
-2
0
0
0
0
-5
8
41
63
41
23
5
27
86
90
-5
89
-6
0
0
0
-1
-1
4
52
49
-82
-11
-26
-26
-79
37
48
84
-21
0
0
0
-4
0
14
38
61
-49
19
35
-43
-40
92
-129
60
36
0
0
0
0
5
28
2
43
15
-58
-92
-19
83
21
4
34
0
0
0
0
-7
-12
-6
32
-31
-114
-143
-113
-64
-5
-39
48
-8
0
0
0
0
0
0
1
1
-9
5
-19
-18
9
-41
-19
0
0
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
-1
81
-79
110
-12
-47
-27
10
0
0
0
0
0
0
-6
0
-101
-40
-23
142
-47
-45
21
33
3
0
0
0
0
0
0
0
-42
-68
-17
24
78
-79
-17
97
-128
48
0
0
0
0
0
0
-1
-39
-4
-29
175
14
-28
31
-112
-39
-40
0
0
0
0
0
0
-2
28
133
115
25
25
-70
54
11
18
1
0
0
0
0
0
-4
2
-39
-8
-22
65
122
102
-1
-17
-10
0
0
0
0
0
0
0
0
-27
112
25
35
123
-98
4
-4
-10
0
0
0
0
0
0
0
0
1
-8
46
6
-13
-57
7
0
0
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
60
0
181
43
98
-24
-103
-7
3
65
0
0
0
0
0
-4
23
0
51
141
-87
-3
66
5
50
62
64
0
0
0
0
0
0
0
-106
75
30
8
57
13
175
18
37
19
0
0
0
0
0
0
18
-106
53
90
20
87
-65
-5
34
-17
-47
0
0
0
0
0
-31
-71
-8
40
19
-82
47
-79
73
-112
-14
33
0
0
0
0
-1
33
34
-107
37
-11
78
-16
110
-18
109
54
-23
0
0
0
0
-4
-41
40
-79
29
-28
98
-27
55
-10
20
-35
-2
0
0
0
0
2
3
-151
-7
107
73
-90
62
-8
-18
3
2
0
0
0
0
0
0
0
0
-2
-17
19
-15
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
0
5
-1
-59
0
0
83
0
0
0
0
0
0
0
0
0
-6
0
2
27
-68
-51
90
52
3
0
0
0
0
0
0
0
0
0
6
0
-8
37
-4
34
100
0
0
0
0
0
0
0
0
0
0
-3
0
17
77
-37
30
43
16
0
0
0
0
0
0
0
0
0
0
0
-4
44
-77
-23
55
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
134
-22
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
-39
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
7
-74
-14
304
33
0
0
0
0
0
0
0
0
0
0
0
0
0
41
61
73
-87
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
84
18
23
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
9
4
0
0
41
-16
0
0
0
0
0
0
0
0
0
0
0
-8
-16
148
12
16
20
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
5
36
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-71
21
41
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
6
-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
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
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
13
-1
-60
6
0
0
0
0
0
0
0
0
0
2
3
-12
0
68
-28
0
-12
0
0
0
0
0
0
0
0
0
0
0
28
63
50
-6
-6
0
-4
0
0
0
0
0
0
0
0
0
-2
-2
-10
18
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
-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
-1
5
7
0
0
0
0
7
11
-1
0
0
0
0
0
0
1
-1
-6
2
0
0
0
-9
44
3
-18
3
3
0
0
0
0
0
0
-7
23
-61
3
42
-17
0
-46
26
-37
2
6
0
0
0
0
0
0
-2
10
45
-12
110
-55
41
-28
-17
6
0
0
0
0
0
0
0
0
9
3
53
4
-55
-2
9
-11
-7
0
0
0
0
0
0
0
0
2
12
-11
6
-91
6
9
25
22
0
0
0
0
0
0
0
0
0
0
6
11
-11
-39
-4
3
0
-3
0
0
0
0
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
2
-23
0
0
0
103
106
55
70
-29
6
58
0
0
0
-3
1
1
30
30
0
0
62
1
33
39
-9
47
77
0
0
0
0
0
0
-22
-111
105
110
241
78
-21
-26
-25
9
28
0
0
0
0
0
-3
0
74
78
221
148
111
27
13
77
65
126
0
0
0
0
0
-1
-2
4
-116
29
32
-43
26
6
29
-30
-31
0
0
0
0
0
-1
0
-12
-12
-89
13
128
-60
5
-42
113
-20
0
0
0
0
0
0
0
-5
-14
-16
123
30
-94
31
-38
74
-10
0
0
0
0
0
0
0
0
0
0
0
-8
3
54
-16
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
5
-8
0
0
-5
-1
10
-19
12
19
-17
0
0
0
2
6
0
-69
-29
45
86
40
15
-8
-31
28
129
157
0
0
0
0
-2
7
37
3
17
84
31
-22
-21
-15
-5
76
96
0
0
0
0
5
-23
63
-25
-75
20
-51
-15
-6
-23
-7
58
132
0
0
0
0
0
-7
19
115
-39
-16
-42
-64
-44
-11
-52
76
92
0
0
0
0
0
7
-10
15
19
42
-118
-111
-30
-90
-61
-17
32
0
0
0
0
0
1
0
-13
-59
12
-24
-52
-47
-19
-86
13
69
0
0
0
0
0
0
15
-6
-17
62
5
-38
-31
-7
-48
-112
49
0
0
0
0
0
0
2
0
-9
0
13
41
21
64
101
10
0
0
0
0
0
0
-3
1
0
0
0
91
-47
19
66
35
35
-25
0
0
0
0
0
0
0
0
48
-33
117
13
57
-73
42
8
43
0
0
0
0
0
0
-2
-2
9
-50
20
10
26
2
48
-24
49
0
0
0
0
0
0
0
0
4
49
-47
54
-45
-5
-32
-33
27
0
0
0
0
0
1
2
0
-57
-21
82
-69
9
35
-16
-15
-31
0
0
0
0
0
0
0
0
5
13
9
63
88
-59
53
-3
36
0
0
0
0
0
0
0
-2
0
10
-36
-20
-7
13
-20
-5
14
0
0
0
0
0
0
0
0
0
5
1
78
28
24
-19
30
45
0
0
0
0
0
0
0
0
0
-3
-5
2
-53
42
-47
54
64
0
0
0
0
0
0
0
7
0
125
116
104
-49
10
120
2
39
0
0
0
0
0
0
1
3
98
186
0
41
60
31
-41
39
11
0
0
0
0
0
0
0
-1
82
39
4
-13
8
32
-55
-22
84
0
0
0
0
0
0
-22
0
30
-64
29
73
72
26
-45
9
20
0
0
0
0
0
0
0
0
51
-10
24
46
89
2
-40
-7
23
0
0
0
0
0
0
0
0
-13
-32
33
-29
-28
8
30
45
-14
0
0
0
0
0
0
0
0
-6
8
-42
-51
95
97
3
-32
-80
0
0
0
0
0
0
0
0
0
0
19
54
43
-17
-6
55
124
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
83
0
0
0
0
0
0
0
14
57
-21
0
0
66
100
-26
38
-45
27
-28
0
0
0
7
-4
-17
-21
0
98
0
114
97
28
80
66
116
34
0
0
0
0
-5
9
-83
-65
178
-61
98
38
41
14
56
-19
-51
0
0
0
0
0
3
-6
-20
93
185
30
90
59
39
-40
-39
-4
0
0
0
0
0
0
-4
-7
29
18
109
-30
67
41
-18
-27
-8
0
0
0
0
0
0
2
15
-47
47
45
43
9
-31
3
-19
4
0
0
0
0
0
0
3
0
-14
-4
-80
-31
20
108
-144
-50
-27
0
0
0
0
0
0
0
0
0
0
1
-6
-4
9
68
3
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-31
0
1
0
0
0
0
0
0
0
0
0
0
1
10
-9
-21
1
33
-8
0
0
0
0
0
0
0
0
0
0
0
-19
59
2
88
8
-40
0
0
0
0
0
0
0
0
0
-7
1
8
56
-31
52
-14
17
-2
0
0
0
0
0
0
0
0
0
16
-60
112
29
17
-25
8
0
0
0
0
0
0
0
0
0
0
-7
11
85
85
57
2
19
-4
0
0
0
0
0
0
0
0
0
5
-2
10
-60
74
-28
2
0
0
0
0
0
0
0
0
0
0
0
10
2
-7
-5
20
4
0
0
0
0
0
0
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
0
0
-18
27
35
120
-40
102
67
0
0
0
0
0
0
-3
4
0
6
17
37
103
-85
-30
57
-17
0
0
0
0
0
0
0
-4
1
19
98
41
-63
82
-25
39
69
0
0
0
0
0
0
8
-4
-15
-19
134
72
-72
-10
77
140
-21
0
0
0
0
0
0
0
9
48
-15
171
21
20
-21
-2
98
116
0
0
0
0
0
0
0
-2
-1
0
66
2
89
-11
-62
-6
13
0
0
0
0
0
0
0
0
0
24
20
-61
49
95
11
-113
-50
0
0
0
0
0
0
0
0
0
8
-4
-4
-3
-43
-28
-27
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
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
-4
0
98
6
75
52
-91
66
33
3
0
0
0
0
0
0
0
-5
-1
-1
54
7
-81
-8
83
-83
32
0
0
0
0
0
0
0
-4
17
85
63
76
82
53
35
-27
-41
0
0
0
0
0
0
0
-1
0
17
-79
-21
113
-17
-76
-5
94
0
0
0
0
0
0
0
0
8
3
-2
-56
52
76
-27
52
141
0
0
0
0
0
0
0
0
2
0
-2
35
-58
7
-24
42
-46
0
0
0
0
0
0
0
0
0
-5
0
-4
2
-68
-3
-65
80
0
0
0
0
0
0
0
0
0
0
0
-11
-20
24
10
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
68
5
0
0
0
0
0
0
0
0
0
0
0
9
18
115
-131
-8
-1
0
0
0
0
0
0
0
-4
-3
0
-41
1
35
17
-57
-9
8
0
0
0
0
0
0
0
0
0
-3
0
3
0
87
83
-53
-1
0
0
0
0
0
0
0
0
0
0
1
0
-26
75
30
-75
0
0
0
0
0
0
0
0
0
0
0
0
-5
59
-32
48
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-50
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
57
-43
9
0
0
0
0
0
0
0
0
0
0
0
0
0
11
17
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
4
0
0
7
-1
-4
12
-33
4
0
0
0
0
0
0
0
0
-9
-2
0
26
8
94
67
-56
1
6
0
0
0
0
0
0
0
2
-5
5
-4
-1
-34
4
10
118
4
0
0
0
0
0
0
0
0
-8
0
-12
16
133
-54
73
-47
9
0
0
0
0
0
0
0
0
0
0
0
10
80
69
-25
56
7
0
0
0
0
0
0
0
0
0
0
0
-3
14
23
-17
18
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
-68
49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
-119
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
-3
12
122
6
109
-38
0
0
0
0
0
0
0
0
-1
0
0
71
-84
32
3
46
-114
78
0
0
0
0
0
0
0
0
-1
0
-1
2
-20
-21
-117
21
20
0
0
0
0
0
0
0
0
0
0
5
9
165
-69
37
-75
29
0
0
0
0
0
0
0
0
0
0
0
0
-8
49
163
46
18
0
0
0
0
0
0
0
0
0
0
0
0
15
-101
35
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-9
-27
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
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
-7
0
110
-18
-73
29
-20
-15
47
0
0
0
0
0
0
0
-6
56
95
-1
-58
-13
87
-14
94
-10
-15
0
0
0
0
0
0
-1
-2
52
-55
-4
40
-20
50
41
-17
8
0
0
0
0
0
0
0
-4
4
148
40
49
60
30
-76
-27
4
0
0
0
0
0
0
0
0
-4
-5
-2
171
107
41
98
1
44
0
0
0
0
0
0
0
0
0
-2
-12
-31
88
82
-74
-37
6
0
0
0
0
0
0
0
0
0
0
0
0
-31
20
85
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
-11
21
29
-82
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
2
0
0
0
0
0
0
0
2
0
15
-3
-34
15
26
-40
10
58
0
0
0
0
0
0
0
0
82
0
-40
70
97
50
104
8
94
0
0
0
0
0
0
0
-8
13
27
-6
41
87
31
-5
-42
-79
0
0
0
0
0
0
0
0
4
-41
24
85
28
-59
-48
-46
32
0
0
0
0
0
0
0
0
9
-22
-72
-18
46
44
15
36
72
0
0
0
0
0
0
0
0
0
0
-2
-11
-92
-21
-5
3
139
0
0
0
0
0
0
0
0
0
0
1
-11
-76
100
-23
36
-30
0
0
0
0
0
0
0
0
0
0
0
16
-6
56
-84
22
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
4
58
-59
-45
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-81
-32
25
0
104
157
7
61
-73
12
-149
45
0
0
0
4
3
26
-106
30
70
117
63
65
-7
-88
50
-1
-21
0
0
0
1
15
-8
-85
-26
0
77
30
29
95
-52
53
-138
0
0
0
0
0
0
8
-38
-30
40
-44
29
25
72
70
-24
-79
1
0
0
0
0
0
12
-6
-5
-20
12
-51
54
39
77
-20
0
0
0
0
0
0
0
0
0
13
32
-10
-7
-30
-82
-49
76
-59
11
0
0
0
0
0
0
0
-5
-1
20
11
3
-47
41
-64
-7
-12
0
0
0
0
0
0
0
0
0
0
0
-2
10
19
1
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
13
13
29
-45
-55
0
21
-11
47
25
-8
-66
-39
0
0
0
0
-14
-46
86
61
-150
10
3
13
48
-3
21
-22
72
0
0
0
0
1
0
-61
-12
-21
-88
-70
-39
0
-14
29
-46
-45
0
0
0
0
1
-2
-57
80
-63
9
-35
-45
-11
-20
40
-48
11
0
0
0
0
-1
8
6
58
45
27
-80
32
-78
-24
-38
46
-190
0
0
0
0
0
-2
1
28
-22
37
44
-59
-61
-59
-4
31
-6
0
0
0
0
0
0
0
-5
-48
-94
-62
-59
-75
-94
-5
-51
7
0
0
0
0
0
2
0
0
-52
31
-95
73
-2
55
-72
-6
-152
0
0
0
0
0
0
0
0
0
38
24
-49
-54
-69
-1
0
0
0
0
0
-3
-5
27
51
27
86
0
85
33
29
152
-54
56
0
0
0
0
0
0
0
-6
-8
-36
75
6
35
107
-49
99
8
7
0
0
0
0
0
0
0
43
73
-36
-23
98
-49
102
-22
-66
-4
0
0
0
0
0
0
-8
-1
66
111
-17
-52
43
38
-50
-51
0
0
0
0
0
0
0
0
-3
-18
-13
15
-48
-46
-86
-69
45
3
0
0
0
0
0
0
0
0
1
0
2
-24
26
-31
-67
-1
-1
0
0
0
0
0
0
0
0
0
0
13
14
0
24
-2
-109
0
0
0
0
0
0
0
0
0
0
20
3
9
43
5
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
-5
-29
31
-18
0
20
8
72
-56
11
64
0
0
0
0
0
0
2
23
-40
33
110
-5
-11
-13
10
93
-77
0
0
0
0
0
0
4
-10
22
133
-4
-86
24
3
19
112
-30
0
0
0
0
0
0
0
0
-12
-63
81
51
-104
64
26
152
75
0
0
0
0
0
0
0
0
-11
18
44
-65
-71
-28
54
111
16
0
0
0
0
0
0
0
0
0
-27
-51
-93
-58
-23
-71
-90
-15
0
0
0
0
0
0
0
0
0
-41
-32
-35
-8
66
-47
-4
2
0
0
0
0
0
0
0
0
0
6
-4
-13
-1
-52
7
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
2
48
-3
-36
0
123
21
72
-77
76
-14
-50
52
0
0
0
0
3
162
84
35
90
103
45
78
-38
70
-30
23
136
0
0
0
0
0
28
29
-22
27
82
99
20
4
-18
-13
36
-161
0
0
0
0
0
2
11
-25
-3
20
-70
60
-41
-23
23
-127
-97
0
0
0
0
0
0
0
-70
99
59
42
4
-41
-22
-89
-34
10
0
0
0
0
0
0
0
-3
-50
85
-25
-112
38
-94
-83
113
15
0
0
0
0
0
0
0
0
8
-11
8
-40
-33
-85
-40
-22
-2
0
0
0
0
0
0
0
0
0
-2
-2
-6
-2
-3
26
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-3
0
0
0
0
0
0
-4
-57
0
44
-22
-26
51
-50
-49
-39
1
0
0
0
0
0
0
-10
-6
-103
-29
27
27
27
35
-29
21
4
0
0
0
0
0
0
-8
23
77
-3
125
76
173
-52
23
-94
-30
0
0
0
0
0
0
8
-24
-85
142
72
-35
-59
17
17
-40
22
0
0
0
0
0
0
0
9
1
-16
15
-10
26
19
-24
-27
-2
0
0
0
0
0
0
0
0
5
-40
14
2
31
-95
80
18
2
0
0
0
0
0
0
0
0
0
-2
-11
33
-33
-4
12
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
36
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
1
-9
65
0
19
-24
-79
32
-22
-14
43
74
0
0
0
0
0
0
79
7
115
202
-25
95
34
-14
89
60
-21
0
0
0
0
0
0
42
-21
41
-15
92
96
-56
53
-123
-55
7
0
0
0
0
0
0
-3
-51
-63
76
54
158
24
22
-42
29
-17
0
0
0
0
0
0
-2
38
-5
81
114
-43
26
31
1
-32
67
0
0
0
0
0
0
-1
-26
93
38
66
35
-131
-58
24
-70
125
0
0
0
0
0
0
0
4
25
61
28
3
55
-42
-112
-4
52
0
0
0
0
0
0
0
0
-9
0
-1
-4
-8
24
-47
-83
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
19
21
4
15
4
-2
0
0
0
0
0
0
0
0
0
0
17
19
-36
-12
-8
1
0
4
0
0
0
0
0
0
0
0
2
45
-82
-16
-21
1
0
0
0
0
0
0
0
0
0
0
0
-8
18
40
27
-15
-4
0
0
0
0
0
0
0
0
0
0
0
4
-43
-97
68
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
22
-2
4
8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-40
-66
-19
-8
2
0
0
0
0
0
0
0
0
0
0
0
-1
-36
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-12
0
0
0
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
-6
1
6
6
-3
2
0
0
0
0
0
0
0
0
0
0
0
9
-4
13
-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
2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
7
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
-19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
9
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
-2
-3
-23
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
11
2
-2
2
-1
0
-4
-1
0
0
0
0
0
0
0
0
2
-1
4
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-28
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
-3
11
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-3
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
2
0
-3
0
0
0
0
0
0
0
0
0
4
4
0
-2
-1
-1
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
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
-3
-3
7
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
8
0
-5
19
0
1
0
0
0
0
0
0
0
-2
-7
-15
2
-2
0
4
0
1
0
0
0
0
0
0
0
0
-1
-13
9
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
1
-5
5
5
0
-2
0
0
0
0
0
0
0
0
0
0
2
11
-13
1
23
3
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-5
-1
-2
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
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
2
0
-4
29
-20
-51
-39
85
0
22
21
-4
0
0
0
0
0
0
-6
-66
-54
-38
-46
-27
83
157
221
23
-1
-1
0
2
0
0
0
6
-2
-47
1
-101
45
-71
-210
39
23
12
0
0
0
0
0
1
40
-5
21
19
-5
36
-6
-51
-31
7
2
0
1
0
0
0
-3
4
-1
-32
-14
-13
31
-26
-4
18
0
0
-1
0
0
0
0
0
4
-39
-57
-4
-34
45
23
-4
3
0
0
0
0
0
0
0
0
-2
2
5
-15
-51
-5
-1
-5
-1
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
1
-17
-49
21
97
-33
-48
0
53
9
-7
0
1
0
0
0
0
-4
-52
50
-22
-102
116
-145
59
-65
69
65
31
4
0
0
0
0
-13
-14
-41
-76
-107
-86
-21
48
71
46
32
-6
-2
0
0
0
0
-26
2
118
194
-66
73
-20
39
-75
-8
-6
5
0
0
0
0
0
5
-9
4
-134
-3
105
77
53
13
10
-31
-2
0
0
0
0
0
1
33
-20
213
85
25
-26
-17
0
13
32
0
1
0
0
0
0
0
22
49
-109
-36
-160
-28
27
-1
27
-5
1
0
0
0
0
0
0
-7
10
171
49
-41
-47
-12
10
-6
0
0
0
0
0
0
0
0
0
-2
-2
-25
1
-39
-26
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-13
-30
0
5
-27
-10
0
0
0
0
0
0
0
-3
1
23
-48
24
-28
-47
28
-1
-6
1
0
0
0
0
0
0
1
15
-21
25
-11
-10
17
7
0
-3
2
0
0
0
0
0
0
2
0
6
13
8
-8
-3
-34
0
0
0
0
0
0
0
0
0
0
-2
3
-1
-17
13
15
-1
1
4
0
0
0
0
0
0
0
0
5
2
2
-2
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
10
0
2
-2
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-27
-51
-36
0
46
21
31
-2
0
0
0
0
0
0
-3
9
-58
12
-34
18
96
80
-77
13
-4
0
0
0
0
0
0
2
15
85
-16
-54
-97
-3
-26
0
3
0
0
0
0
0
0
0
8
-14
-9
18
-91
-15
-21
5
4
0
0
0
0
0
0
0
0
-14
3
-73
26
25
19
8
6
-1
0
0
0
0
0
0
0
0
0
-2
53
-58
-43
-8
5
15
-1
3
0
0
0
0
0
0
0
0
1
25
-2
-2
18
9
1
0
0
0
0
0
0
0
0
0
0
-1
2
80
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
5
-25
-39
-40
1
-3
58
0
85
-7
0
0
0
0
0
0
0
13
1
27
2
-3
-100
-17
33
115
-9
0
0
0
0
0
0
17
4
33
-23
29
-11
53
34
-1
-70
72
3
0
0
0
0
0
-10
-16
45
-14
-44
-23
-38
-9
-55
-2
-5
1
0
0
0
0
0
-1
6
-9
18
74
21
17
-15
12
6
0
0
0
0
0
0
0
0
1
14
-6
-14
9
12
47
0
8
3
0
0
0
0
0
0
6
-2
7
1
-26
23
-4
24
0
2
-2
0
0
0
0
0
0
0
1
-6
-4
-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
-2
-2
0
0
0
-3
1
0
0
7
0
0
0
0
0
0
0
0
0
-9
-3
-2
6
-3
-6
23
0
1
0
0
0
0
0
0
0
0
-1
1
0
3
32
0
4
0
0
0
0
0
0
0
0
0
0
3
5
-2
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
6
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
12
-5
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-15
0
-3
-5
-2
0
0
0
0
0
0
-2
0
-1
-2
21
1
19
-7
39
-26
7
0
0
0
0
0
0
2
0
-2
-2
-7
4
9
2
0
0
-2
-1
0
0
0
0
0
-1
0
-10
-3
-9
28
-42
53
-2
-1
0
0
0
0
0
0
0
0
0
3
0
-5
-9
-9
16
34
-2
9
0
0
0
0
0
0
1
-1
-2
1
-1
0
-6
-23
-21
2
0
0
0
0
0
0
0
1
5
0
1
0
-7
-1
-10
-1
2
0
0
0
0
0
0
0
-1
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
35
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
-2
1
2
0
0
0
0
0
0
0
0
0
0
0
21
81
-38
38
-9
-3
0
0
0
0
0
0
0
0
0
0
-2
12
-86
25
28
15
0
0
0
0
0
0
0
0
0
0
0
0
6
43
1
-10
-1
2
0
0
0
0
0
0
0
0
0
0
0
-10
-11
-35
-7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
38
20
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
9
-7
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
-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
-12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
11
-13
-1
0
0
0
0
0
0
0
0
0
0
0
34
-44
-13
1
32
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
15
11
-18
3
0
0
0
0
0
0
0
0
0
0
0
-15
0
16
1
0
-2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
10
-5
-9
8
-50
-4
0
0
0
0
0
0
0
0
0
0
0
2
3
-50
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
-4
-9
0
0
0
-7
0
0
0
0
0
0
0
0
0
1
-2
1
6
74
-12
30
-3
0
0
0
0
0
0
0
0
0
1
1
0
65
3
2
-8
-3
0
0
0
0
0
0
0
0
0
0
9
15
81
44
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-3
-3
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
9
-7
2
0
0
0
0
0
0
0
0
0
-2
19
0
0
0
-61
2
0
0
0
0
0
0
-1
2
2
1
0
18
34
16
-76
1
9
-1
0
0
0
0
0
1
0
-1
0
0
19
37
7
-45
0
1
0
0
0
0
0
0
0
0
0
-2
8
-20
38
-10
27
-1
-1
1
0
0
0
0
0
0
0
0
-5
44
-7
41
-2
-2
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
2
-7
-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
0
0
0
0
0
0
0
0
0
-17
44
-5
31
25
-27
0
0
0
0
0
0
0
0
0
0
0
-9
4
41
-60
52
68
14
0
0
0
0
0
0
0
0
0
0
-35
-67
67
-15
-71
-24
-5
5
0
0
0
0
0
0
0
0
0
50
13
-45
22
21
-2
-41
51
2
-1
0
0
0
0
0
0
0
79
-24
-50
23
26
-42
10
29
3
-2
0
0
0
0
0
0
0
42
-18
27
20
-35
-16
25
5
4
0
0
0
0
0
0
0
0
15
-9
64
23
-1
28
-6
5
-1
0
0
0
0
0
0
0
0
-3
15
-52
14
0
13
-3
0
4
0
0
0
0
0
0
0
0
0
0
-2
16
-2
-3
-5
0
0
0
0
0
0
0
0
0
0
-3
38
30
59
-35
7
59
0
0
0
-8
5
0
0
0
0
0
-9
-4
-72
185
45
-5
-33
0
0
103
20
6
1
0
0
0
0
29
60
45
62
-37
31
21
37
20
-6
-22
-2
0
0
0
0
0
-14
-66
-94
-17
-51
16
-18
-42
103
1
19
0
0
0
0
0
0
6
-69
-16
-11
38
3
-41
-4
-24
-14
0
0
0
0
0
0
0
2
32
-17
-66
-23
49
-7
18
14
-5
1
0
0
0
0
0
0
0
19
-23
17
81
43
-1
-7
-10
-1
0
0
0
0
0
0
0
0
0
-4
3
-5
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
-24
76
-61
38
24
11
0
0
-17
-10
5
0
0
0
0
0
-5
-7
-37
-93
26
18
36
-24
88
14
40
-2
0
0
0
0
0
15
-27
-86
3
115
37
-102
-76
8
37
19
-3
0
0
0
0
0
-10
-33
24
55
68
-4
-43
12
-6
38
41
-1
0
0
0
0
0
-3
-38
82
-142
48
83
-29
-5
8
-9
15
1
0
0
0
0
0
8
14
11
-107
-18
-18
63
-4
-10
13
3
-1
0
0
0
0
0
19
-31
-51
-9
-29
37
-63
27
-60
15
1
0
0
0
0
0
0
0
-43
67
11
-64
12
91
23
8
2
0
0
0
0
0
0
0
0
0
-52
-6
42
36
-7
-7
3
0
0
0
0
0
0
0
0
15
8
0
-51
8
-15
-11
0
0
-3
0
0
0
0
0
0
0
3
75
-18
-53
-15
17
29
17
-5
0
0
0
0
0
0
0
0
0
27
-26
-24
12
32
-8
-13
0
0
0
0
0
0
0
0
0
58
86
-69
19
6
11
-23
-24
14
1
0
0
0
0
0
0
0
27
55
-2
-24
26
-32
-20
7
-14
-3
0
0
0
0
0
0
0
-94
21
-53
10
-28
-18
-1
-6
10
0
0
0
0
0
0
0
0
-5
21
3
-27
-72
46
0
2
-1
0
0
0
0
0
0
0
0
35
20
60
20
-30
41
-2
0
0
0
0
0
0
0
0
0
0
-19
52
62
44
-10
1
0
0
0
0
0
0
0
0
0
0
0
6
-47
-71
66
46
5
79
-73
0
0
0
0
0
0
0
0
0
-9
-6
-56
-30
77
-10
0
35
-18
11
0
0
0
0
0
0
0
14
-13
-11
-6
-24
51
110
34
-25
2
0
0
0
0
0
0
0
0
13
28
-7
-31
85
44
-45
-16
-1
0
0
0
0
0
0
0
-32
-21
-1
54
-5
-34
54
-19
-1
-1
0
0
0
0
0
0
0
-10
-24
-65
49
26
3
13
-1
-3
0
0
0
0
0
0
0
0
56
3
87
-12
-6
-11
18
5
-3
0
0
0
0
0
0
0
0
73
-27
17
4
28
9
-2
0
1
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
2
6
-32
-11
-18
-12
27
0
0
-1
-14
0
0
0
0
0
0
16
53
-35
-32
-19
-75
61
0
21
0
2
5
1
0
0
0
0
-8
-54
-15
116
-55
-9
47
67
72
-75
-13
43
-3
0
0
0
0
-22
-81
-23
-53
-8
-111
-74
50
45
-20
42
-1
0
0
0
0
0
-6
-39
-20
-8
-24
-20
-16
18
53
-6
12
0
0
0
0
0
0
6
17
58
69
115
20
0
2
1
1
1
3
0
0
0
0
0
0
-9
-33
2
0
4
24
0
9
0
-1
0
0
0
0
0
0
0
-12
3
-1
4
-4
-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
-1
2
-1
4
-2
1
0
-18
0
1
0
0
0
0
0
0
0
1
-5
-22
10
19
0
-43
0
3
5
0
0
0
0
0
0
0
-2
-2
4
-7
-2
11
15
-49
-4
0
0
0
0
0
0
0
-1
-1
2
28
-22
130
35
-5
9
0
0
0
0
0
0
0
-2
-3
5
-2
-16
-3
-2
16
0
0
0
0
0
0
0
0
0
0
-2
10
-1
29
22
18
1
0
0
-1
0
0
0
0
0
0
0
0
-4
52
-1
8
10
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-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
-10
-41
-137
27
-6
6
0
0
0
0
0
0
0
0
0
0
0
1
-8
71
2
7
23
23
13
0
59
-5
1
0
0
0
0
0
1
-12
-33
13
-26
-1
-5
20
0
-22
-2
0
0
0
0
0
0
0
6
2
41
35
0
2
9
2
38
0
0
0
0
0
0
0
0
-44
4
19
30
6
-3
-26
-63
-6
0
0
0
0
0
0
0
0
18
-27
-5
-15
-2
10
-18
29
1
0
0
0
0
0
0
0
0
-49
-41
37
7
-20
10
0
28
-2
0
0
0
0
0
0
0
0
11
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
16
-11
-19
3
0
-2
0
0
0
0
0
0
0
0
0
3
-20
21
22
4
16
20
1
-2
1
0
0
0
0
0
0
0
-3
-26
25
43
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-63
-4
20
-11
2
0
0
0
0
0
0
0
0
0
0
0
-10
85
-31
3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
-6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-41
-7
-1
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
-1
0
0
0
0
0
0
0
0
0
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
-4
0
40
0
17
-1
3
3
0
0
0
0
0
0
0
0
0
-5
-1
65
-7
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
38
-20
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
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
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
1
1
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
-17
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-14
12
-4
-12
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
0
0
-11
12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
-9
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
2
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
3
-1
0
0
0
0
0
0
0
0
0
0
-13
-16
3
-7
8
-9
2
5
0
0
0
0
0
0
0
0
0
9
29
5
1
-2
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
0
0
10
3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
-1
0
1
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
-13
5
33
47
9
-40
172
0
-63
-43
17
0
-1
0
0
0
-2
-45
-11
-71
57
4
55
108
40
28
-55
3
-15
0
0
0
0
-3
0
9
-12
6
22
118
-7
-67
-84
61
7
3
-4
0
0
0
7
7
-12
24
26
50
-5
-31
-11
-35
-24
-2
-2
0
0
0
0
0
0
3
-6
-22
2
-18
-27
12
-49
-2
0
0
0
0
0
0
0
0
0
-28
-4
1
4
-31
2
-25
-1
0
0
0
0
0
0
0
0
0
3
1
-1
7
-7
-39
10
-5
4
0
0
0
0
0
0
0
0
0
0
-1
5
-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
8
7
-43
-16
138
10
0
-14
-34
0
0
0
0
0
0
0
0
-50
140
20
-56
4
-41
68
-65
-18
-57
20
-3
0
0
0
0
-3
16
-58
-73
16
156
-19
44
-74
-14
-6
6
-5
1
0
0
0
33
-41
-93
14
-149
42
-64
-10
37
23
33
7
-8
0
0
0
0
-1
-7
21
-49
12
-37
-11
38
29
7
-17
18
8
0
0
0
0
-1
-1
-40
23
9
-20
-16
-42
44
6
-1
8
-4
0
0
0
0
0
14
-17
18
-99
-23
-74
-14
-54
16
6
-3
5
0
0
0
0
0
0
1
57
-49
59
-32
0
54
-5
14
0
0
0
0
0
0
0
0
0
17
-51
51
14
87
-11
-9
1
0
0
0
0
0
0
0
-2
-1
-7
12
38
-42
0
108
-48
9
1
0
0
0
0
0
0
0
7
29
-16
23
-62
49
30
70
-3
-10
1
1
0
0
0
0
0
5
4
26
-18
-42
34
-8
-7
-62
16
6
0
0
0
0
0
0
8
-1
22
1
-17
-38
18
-40
4
-14
3
0
0
0
0
0
0
0
-5
5
-11
5
-24
39
-17
-19
4
-11
1
-2
0
0
0
0
1
1
-2
8
-9
72
-28
24
-54
-16
0
1
0
0
0
0
0
1
-4
-4
3
11
6
74
7
-30
34
-17
2
-1
0
0
0
0
-1
0
-43
-3
-24
12
67
-6
19
7
1
-3
0
0
0
0
0
0
0
0
4
-18
-54
-11
13
10
-4
1
1
0
0
0
0
2
-5
-4
24
-9
-39
0
-47
3
-8
-1
0
0
0
0
0
0
5
15
24
-25
-61
9
-29
19
127
-6
10
1
0
0
0
0
0
1
-5
33
-4
-27
-13
-65
16
-6
38
3
-1
0
0
0
0
0
-3
10
47
2
-29
-8
20
42
-10
12
7
0
2
0
0
0
0
-1
0
50
13
-4
-31
32
67
17
-1
0
-1
0
0
0
0
0
0
11
26
-53
-36
54
-14
-32
2
-7
-1
0
0
0
0
0
0
0
6
-7
-16
18
-12
-2
-51
13
21
-2
0
0
0
0
0
0
0
0
4
-1
5
-24
10
3
-8
1
0
0
0
0
0
0
0
0
0
0
-2
9
1
-3
0
0
0
0
0
0
0
0
0
-8
2
27
-4
12
-57
-60
0
-12
-23
-2
-1
-1
0
0
0
-6
68
30
41
12
-11
-100
21
29
32
-20
44
1
0
0
0
0
15
14
-9
-61
0
67
17
-99
-21
-49
6
8
2
-2
0
0
0
0
-1
1
4
-1
50
-27
-28
-54
13
-26
0
5
1
0
0
0
0
-3
-7
-13
-5
-28
-63
-4
37
-11
15
-2
0
-4
0
0
0
0
-3
6
5
-1
-8
-32
64
-22
1
-17
0
1
0
0
0
0
0
0
1
-3
0
-13
-25
-15
48
5
4
0
0
0
0
0
0
0
0
0
0
1
0
1
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
-12
-2
-2
8
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
4
-27
16
-5
0
0
0
0
0
0
0
0
1
-1
1
-11
-2
1
-4
-2
0
0
0
0
0
0
0
0
-1
-4
-8
5
-1
7
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-10
-2
-1
-1
-1
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
-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
5
3
4
0
33
0
6
16
11
0
0
0
0
0
0
4
1
6
-6
3
18
8
5
-18
1
2
0
0
0
0
0
-1
3
0
1
3
5
12
-4
38
-23
0
0
0
0
0
0
0
0
0
-4
0
1
-8
13
-44
-16
-24
8
0
-1
0
0
0
0
0
0
-2
0
0
-12
4
-32
5
-12
-1
-1
4
0
0
0
0
0
0
0
0
0
0
-6
-1
21
-37
-2
0
1
0
0
0
0
0
0
0
0
5
0
1
17
-35
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
-5
-10
37
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-10
-5
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
-27
21
4
-2
1
0
0
0
0
0
0
0
0
1
-34
24
58
21
1
-5
1
0
0
0
0
0
0
0
0
0
0
-13
-22
72
-26
8
0
0
0
0
0
0
0
0
0
0
0
3
-9
-32
-54
14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
39
-49
-69
-35
-2
-2
0
0
0
0
0
0
0
0
0
0
0
14
-5
7
-48
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
18
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
6
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
-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
-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
-25
0
0
17
0
-1
1
0
0
0
0
0
0
0
0
0
0
-27
35
7
64
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
-64
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-26
52
-2
-2
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
0
-6
-14
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
-1
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-45
5
61
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
29
41
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-27
13
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
12
1
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
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
-1
0
0
-2
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
18
0
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
3
0
-17
-46
55
-4
0
2
-1
0
0
0
0
0
0
0
-1
9
-5
-2
-14
-37
28
-5
0
0
0
0
0
0
0
0
0
2
-1
-2
3
-8
-33
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
10
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-8
-1
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
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
2
0
0
0
0
0
0
0
0
0
2
14
0
0
0
5
22
1
-3
0
0
0
0
0
0
0
0
-2
13
31
14
7
-1
11
2
-2
0
0
0
0
0
0
0
-3
0
-25
15
-35
-25
-6
0
1
0
0
0
0
0
0
0
0
2
1
-14
-6
53
-72
-6
-3
0
0
0
0
0
0
0
-1
0
0
0
7
-18
10
-6
14
5
0
0
0
0
0
0
0
0
0
0
0
-9
-3
54
16
-3
-3
-1
0
0
0
0
0
0
0
0
0
0
2
11
2
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
0
0
0
0
0
0
0
-7
1
-62
26
-15
-27
3
0
0
0
0
0
0
0
0
0
0
-15
-74
-20
-7
34
-34
33
0
0
0
0
0
0
0
0
0
0
-13
20
-30
-36
-14
-7
-11
-4
0
0
0
0
0
0
0
0
0
37
-18
-17
-19
44
-6
28
3
-1
2
0
0
0
0
0
0
0
17
24
5
17
20
-19
13
15
0
2
0
0
0
0
0
0
0
2
-44
25
-28
4
1
34
-5
-1
0
1
0
0
0
0
0
0
0
-32
-9
49
-19
7
-8
-2
2
1
0
0
0
0
0
0
0
0
4
-8
19
2
17
-1
-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
-4
23
-11
-96
-16
16
9
0
0
0
-21
4
1
0
0
0
0
-2
17
-30
-47
17
25
-1
0
0
63
-20
1
-3
2
0
0
0
-10
-8
31
8
-46
-72
31
-2
61
41
-1
-1
4
0
0
0
0
21
-79
-82
0
-46
-18
0
94
1
12
18
0
0
0
0
0
0
-6
-71
-9
-10
-41
13
-4
3
-45
10
-2
0
0
0
0
0
0
0
-25
-16
18
42
-18
1
-6
-8
3
9
7
1
0
0
0
0
0
11
3
10
2
18
18
-24
-18
1
0
0
0
0
0
0
0
0
0
0
47
-2
-7
1
1
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
1
2
-97
0
-43
-90
121
0
0
-52
1
-1
0
0
0
0
0
-40
6
15
51
-52
25
85
82
-18
0
20
-4
-1
0
0
0
0
4
-16
-93
58
-10
113
174
46
31
21
-10
7
-2
0
0
0
0
-12
-92
-3
-6
-69
13
-87
-9
-8
51
30
1
0
0
0
0
0
-2
-8
52
26
-47
-19
47
-14
75
-44
4
5
0
0
0
0
0
0
-18
11
-63
-21
-22
81
-58
17
-14
2
3
-2
0
0
0
0
0
0
-6
-67
-99
46
52
-16
3
41
21
-1
0
0
0
0
0
0
0
-20
37
9
-59
14
24
4
15
0
0
0
0
0
0
0
0
0
-16
38
-10
-82
3
3
2
1
0
0
0
0
0
0
0
-11
38
40
-11
26
-3
28
0
0
0
0
0
0
0
0
0
0
-2
-35
58
29
-44
47
58
-7
6
-2
0
1
0
0
0
0
0
32
2
-3
-10
49
-75
8
9
-2
0
0
0
0
0
0
0
0
1
-35
-8
17
23
10
-9
-4
3
0
1
0
0
0
0
0
0
0
-1
27
4
-13
12
7
0
-2
0
0
0
0
0
0
0
0
0
1
11
-7
-19
-9
-1
1
2
0
0
0
0
0
0
0
0
0
0
2
-18
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
9
-2
0
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
10
74
17
-18
7
-65
22
20
0
5
0
0
0
0
0
0
0
77
-93
-83
-37
-94
-5
0
7
26
1
-4
0
0
0
0
0
0
28
1
57
-34
29
93
67
24
21
9
0
1
0
0
0
0
0
12
-42
-56
-14
11
15
-28
26
0
2
3
0
0
0
0
0
0
-38
-19
-19
5
-47
11
9
-37
-2
2
0
0
0
0
0
0
0
1
-9
-41
48
-7
11
-21
17
0
0
0
0
0
0
0
0
0
-2
-28
-18
13
26
12
-3
0
-1
0
0
0
0
0
0
0
0
-1
0
2
-28
12
2
1
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
-4
-27
7
61
-67
-53
106
0
0
5
8
11
0
0
0
0
0
21
-15
79
-22
5
-60
75
0
32
0
-18
1
-2
0
0
0
0
37
-76
-107
-23
-23
127
-16
-24
-24
-17
3
-1
0
0
0
0
0
-23
-86
40
25
38
-65
42
-62
61
-51
-29
0
-4
0
0
0
0
6
-44
63
42
-55
9
1
-75
8
19
6
4
0
0
0
0
0
0
-11
-16
-47
13
-89
9
-7
-19
-15
-2
0
0
0
0
0
0
0
-1
52
13
35
-19
41
16
-9
-3
1
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
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
-3
0
-2
-1
-1
0
0
0
0
0
-3
-1
-1
-32
-23
20
-12
0
4
0
-13
0
0
0
0
0
0
0
-4
-1
-19
21
3
-32
-8
17
-11
0
-9
0
0
0
0
0
0
-5
-4
9
-15
-42
4
10
7
-3
0
0
0
0
0
0
0
0
0
5
-4
42
-20
-65
4
3
-2
0
0
0
0
0
0
0
0
0
4
9
-4
38
-1
-15
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
-1
13
9
4
18
5
0
0
0
-1
0
0
0
0
0
0
-1
28
-21
1
23
13
14
42
0
0
10
-1
0
0
0
0
0
-1
-16
19
-6
-23
-9
7
19
19
21
0
0
0
0
0
0
0
0
20
-9
-12
27
-12
-19
1
22
-6
-2
0
0
0
0
0
0
2
-11
43
1
2
4
3
3
17
20
-2
2
0
0
0
0
0
0
-12
2
-13
-6
14
1
-30
-32
8
0
0
0
0
0
0
0
0
0
3
-9
-10
-5
-6
-1
-63
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-3
-16
12
4
-17
-4
-3
0
-2
0
0
0
0
0
0
0
0
19
15
11
1
21
-1
0
0
2
0
0
0
0
0
0
0
0
14
3
-12
-4
3
0
1
-1
0
0
0
0
0
0
0
0
0
0
57
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
28
87
3
2
0
1
0
0
0
0
0
0
0
0
0
3
5
-48
-53
3
4
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
3
16
23
3
0
0
0
0
0
0
0
0
0
0
0
-2
12
2
-5
-2
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
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-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
6
-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
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
-1
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-14
3
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
3
-20
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-8
2
-1
0
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
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
-3
2
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
-1
0
-8
-4
-2
0
0
0
2
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
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
-4
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
0
0
0
0
0
0
0
0
7
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
-4
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
-4
4
-1
-9
-8
0
0
0
0
0
0
0
0
0
0
-1
-15
-4
-9
6
0
0
-1
-1
0
0
0
0
0
0
0
-1
4
0
5
3
0
0
-1
2
0
0
0
0
0
0
0
0
1
13
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
3
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
2
0
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
-2
0
-4
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
1
2
-2
-44
53
-54
-80
0
-9
-25
6
-1
0
0
0
0
0
15
20
10
10
60
32
64
42
52
-8
16
1
0
0
0
0
0
31
12
-4
20
-16
50
-59
4
-9
25
-7
-1
-1
0
0
0
0
7
-9
5
18
23
11
-30
-61
-38
-44
-10
3
1
0
0
0
0
0
-4
16
-4
-12
32
68
39
-26
-11
-1
-1
0
0
0
0
0
0
0
-5
11
-13
-10
65
17
0
0
0
0
0
0
0
0
0
0
0
-2
5
-1
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
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
-1
26
-18
37
-54
33
0
35
18
22
21
3
0
0
0
0
0
4
19
-15
87
-74
9
6
65
27
33
-13
-1
0
0
0
0
0
-5
-20
42
-63
73
-85
46
-136
-35
18
10
-8
0
0
0
0
1
9
61
25
-10
111
88
76
65
36
67
-5
-2
0
0
0
0
1
-21
-55
6
-100
10
1
-27
29
-32
1
7
-1
0
0
0
0
0
1
-61
-50
-1
21
48
53
33
-1
3
1
-2
0
0
0
0
0
0
67
-36
-38
-34
-10
52
7
-4
6
-1
0
0
0
0
0
0
20
16
-31
15
31
205
-40
-3
22
-1
3
0
0
0
0
0
0
0
0
8
86
13
10
-57
24
-2
1
0
0
0
0
0
0
0
0
-4
-4
18
-26
-17
0
77
-30
-34
0
0
0
0
0
0
0
0
-5
59
-14
-15
-75
20
86
5
0
0
0
0
0
0
0
0
0
7
-26
-25
14
-51
-57
-7
7
-2
0
0
0
0
0
0
0
-12
1
54
17
-2
-3
-21
51
-7
0
0
0
0
0
0
0
0
0
2
-1
8
0
9
-10
1
-4
3
0
0
0
0
0
0
0
0
0
35
11
-17
-7
31
8
0
1
3
0
0
0
0
0
0
0
0
18
15
17
-1
-31
2
0
0
0
0
0
0
0
0
0
0
0
-1
-53
-6
-50
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-1
2
-11
-16
3
1
0
0
0
0
0
0
0
0
0
0
3
27
43
67
4
0
26
-58
91
10
0
0
0
0
0
0
0
29
-35
5
-52
4
34
-37
32
-31
-3
2
0
0
0
0
0
0
-78
22
6
-61
-16
-32
4
-17
2
1
1
0
0
0
0
0
1
5
26
-5
56
59
-29
-7
-1
3
0
0
0
0
0
0
0
-9
15
17
-9
-10
75
-41
-20
0
0
0
0
0
0
0
0
0
0
2
15
61
23
-58
-38
-5
1
0
0
0
0
0
0
0
0
0
5
26
45
13
-16
17
-4
0
0
0
0
0
0
0
0
0
0
-4
11
23
1
-22
11
0
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
-2
-8
7
-93
9
67
0
-36
30
-7
0
0
0
0
0
-8
0
-28
17
-17
16
37
26
122
97
-14
-11
-3
0
0
0
0
0
-5
-13
-10
39
17
40
40
68
-31
3
0
-2
0
0
0
0
0
-1
38
-15
2
-27
32
-46
21
22
-1
0
0
0
0
0
0
0
0
-8
6
-26
25
-15
37
-5
0
0
-3
0
0
0
0
0
0
14
0
3
63
22
-13
19
12
0
0
0
0
0
0
0
0
0
0
1
19
-1
-46
2
1
0
0
-4
0
0
0
0
0
0
0
0
0
7
-1
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
-1
1
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
24
2
5
-1
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
-6
0
0
-5
0
4
1
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
-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
-2
0
0
0
0
0
0
0
0
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
37
0
14
-10
-2
0
0
0
0
0
0
0
-1
-3
0
-47
-2
-7
30
113
-14
0
0
0
0
0
0
0
2
0
1
4
3
1
10
53
34
16
1
0
0
0
0
0
0
0
-1
0
-7
0
-29
26
21
-4
-20
0
0
0
0
0
0
0
0
0
0
0
-8
-26
-2
-29
-45
0
0
0
0
0
0
0
0
-1
0
0
-22
-9
-10
-13
3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
3
5
-19
-1
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
0
-3
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
-2
25
-1
-3
0
0
0
0
0
0
0
0
0
0
35
74
0
41
-18
15
0
0
0
0
0
0
0
0
0
0
0
-6
75
19
-17
10
-2
0
0
0
0
0
0
0
0
0
0
0
-8
47
-35
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-25
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
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
-5
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
0
0
-8
16
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-23
13
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
37
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
-1
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-4
0
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
59
74
3
13
0
0
0
0
0
0
0
0
0
0
0
-14
59
-18
-1
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
11
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-4
2
-15
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
3
-11
27
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
4
-14
1
-1
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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-11
-4
-1
0
0
0
0
0
0
0
0
-1
0
-1
5
-31
-4
-16
0
2
0
0
0
0
0
0
0
0
-1
-6
22
21
27
-39
-5
0
0
0
0
0
0
0
0
0
8
3
-1
0
39
55
1
0
0
0
0
0
0
0
0
0
0
3
16
1
-3
-70
-25
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
-8
54
11
0
0
0
0
0
0
0
0
0
0
0
1
-1
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
-4
-5
85
12
-52
-12
-2
0
0
0
0
0
0
0
0
0
0
-24
13
-43
23
15
30
-8
0
0
0
0
0
0
0
0
0
0
-5
-10
-38
95
1
12
0
0
0
1
0
0
0
0
0
0
0
8
4
-27
19
-14
-3
21
9
17
-2
0
0
0
0
0
0
0
1
75
-12
-32
-2
-36
30
-3
5
0
0
0
0
0
0
0
0
-2
-43
-16
-8
37
34
-34
-18
1
0
-3
0
0
0
0
0
0
1
43
-12
-41
6
-18
17
-7
2
2
0
0
0
0
0
0
0
0
1
7
40
-17
5
8
-9
1
0
0
0
0
0
0
0
0
0
0
3
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
6
-44
-14
12
34
0
0
0
14
-5
-1
0
0
0
0
2
-18
-40
20
36
1
29
0
0
43
31
4
-4
0
0
0
0
5
63
-5
40
50
35
61
-2
-28
-17
-8
-14
0
0
0
0
0
5
-23
6
4
40
16
-5
-34
13
-6
6
-1
0
0
0
0
0
0
26
68
-14
23
-22
-43
-31
-55
24
3
2
1
0
0
0
0
1
-52
-2
39
14
-33
76
3
-19
17
-25
-1
0
0
0
0
0
0
6
3
38
-11
46
-49
-3
1
0
0
0
0
0
0
0
0
0
1
-20
-2
-27
-26
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
-86
34
0
-55
-12
0
0
35
15
2
0
0
0
0
0
0
8
3
22
11
-15
-4
23
-12
39
5
4
0
0
0
0
0
-1
-31
-25
-50
72
-47
-58
30
-74
-17
-1
0
1
0
0
0
0
0
1
-51
92
33
-46
-96
-38
85
-48
-11
1
0
0
0
0
0
-1
-16
28
57
-89
-82
-56
43
58
15
8
2
0
0
0
0
0
-2
-8
-36
-3
156
-164
-72
64
15
18
-11
1
0
0
0
0
0
0
-33
-33
-12
73
-77
41
31
-16
1
-18
-5
0
0
0
0
0
0
-1
-7
90
91
30
8
-36
-12
-9
0
1
0
0
0
0
0
0
0
64
13
-111
8
41
-55
6
1
0
0
0
0
0
0
0
-32
-37
-14
-43
38
50
51
0
0
0
0
0
0
0
0
0
0
-40
-62
-15
46
15
45
0
1
9
0
0
0
0
0
0
0
0
52
-22
57
70
-57
46
0
0
20
0
0
0
0
0
0
0
0
12
-32
-30
5
12
4
50
5
-6
0
0
0
0
0
0
0
0
-13
-36
-27
-30
0
11
-16
-3
-12
0
0
0
0
0
0
0
0
20
28
43
-1
0
-35
-14
2
-1
0
0
0
0
0
0
0
0
25
-57
-20
3
-15
46
-3
0
1
0
0
0
0
0
0
0
0
49
24
25
22
-87
26
3
15
0
9
0
0
0
0
0
0
0
1
-4
-39
-44
-24
25
2
0
0
0
0
0
0
0
0
0
0
9
25
46
0
64
5
-32
-13
0
-2
0
0
0
0
0
0
0
-31
-13
3
-30
40
-20
0
11
11
12
-3
0
0
0
0
0
0
5
25
1
-21
-1
-51
-21
-7
5
3
0
0
0
0
0
0
0
11
-24
-62
1
44
-3
-1
-5
-23
-4
0
0
0
0
0
0
0
-2
-26
48
-9
13
51
-4
45
2
0
0
0
0
0
0
0
0
-18
-43
9
75
-28
-56
2
-14
-2
0
0
0
0
0
0
0
0
4
5
67
117
-9
-2
-9
-17
-2
0
0
0
0
0
0
0
0
48
0
-23
-12
-4
-12
-1
0
1
0
0
0
0
0
0
0
0
0
0
-7
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
27
-61
3
-6
12
0
0
15
28
-15
0
0
0
0
0
-2
22
-24
2
96
15
73
0
28
0
37
-8
0
0
0
0
0
3
-4
-18
124
-4
-68
-19
26
16
-34
-60
6
0
0
0
0
0
-2
-6
40
4
-11
-32
2
-9
-37
26
-16
-1
0
0
0
0
0
1
-13
7
21
36
17
-2
-27
-59
-1
0
8
0
0
0
0
0
0
17
-18
-17
53
128
24
-18
-3
-2
0
0
0
0
0
0
0
0
-6
10
53
67
-11
45
-6
0
2
0
-1
0
0
0
0
0
0
0
1
-18
45
-7
9
1
1
-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
0
1
0
4
-19
0
2
0
4
-8
0
0
0
0
0
0
0
0
1
1
2
19
2
0
1
0
-4
-4
0
0
0
0
0
0
-3
4
-28
2
-2
0
10
-7
58
-9
-3
0
0
0
0
0
0
0
4
-2
-29
15
23
15
7
-32
-2
0
0
0
0
0
0
0
-6
-1
6
38
101
4
-6
-2
0
0
0
0
0
0
0
0
0
1
-1
10
9
37
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
-3
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
28
-15
2
-10
3
0
0
0
2
2
0
0
0
0
0
0
-11
28
-14
-16
4
1
1
0
-30
-18
3
-3
0
0
0
0
0
-26
19
16
11
-6
0
3
-6
-29
-2
0
0
0
0
0
0
0
-3
11
4
-4
0
0
-8
33
-10
-3
0
0
0
0
0
0
0
-11
-12
20
0
0
6
34
6
7
0
0
0
0
0
0
0
0
8
7
0
29
-29
10
39
-37
-25
0
0
0
0
0
0
0
0
5
6
-4
-9
0
16
-4
32
4
-1
0
0
0
0
0
0
0
0
-5
32
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-2
1
-5
0
-7
0
0
0
0
0
0
0
0
0
0
-7
-25
52
-25
-8
39
7
1
3
0
0
0
0
0
0
0
-4
-6
-17
-45
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
24
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-17
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
-2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-4
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
16
-34
0
-3
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
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
2
2
0
0
0
0
0
0
0
0
0
0
0
3
5
7
11
2
0
0
0
2
0
0
0
0
0
0
0
0
0
18
-4
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
-5
1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
0
-2
1
-10
6
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-5
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
-2
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
13
2
14
-1
113
0
61
-49
36
1
0
0
0
0
-5
3
-14
11
-12
13
-32
136
57
28
-2
8
-6
-1
0
0
0
0
16
-7
38
-2
-14
51
-6
-42
0
17
15
8
0
0
0
0
0
-6
20
-1
-39
-25
12
-79
-39
-35
11
0
-3
0
0
0
0
0
0
0
17
-3
26
7
-15
-34
9
-3
7
0
0
0
0
0
0
0
0
9
0
1
4
-24
-15
25
-2
2
0
0
0
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
0
0
0
0
0
0
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
104
84
-75
0
15
4
7
-17
-2
0
0
0
0
0
5
42
-2
-109
25
114
30
53
-15
40
42
9
-4
0
0
0
0
7
-1
-25
66
165
128
95
-44
-44
16
-18
15
0
0
0
0
0
-3
-44
-93
-41
68
4
-5
46
-31
4
-20
9
1
0
0
0
0
-19
-21
-101
45
-90
5
-50
57
19
24
2
15
5
0
0
0
0
0
-1
-34
-60
-50
59
7
34
-34
-37
-19
-2
0
0
0
0
0
0
-4
24
-14
29
-22
19
22
11
24
-2
-2
0
0
0
0
0
0
0
-11
-35
11
-21
48
-9
-5
-4
0
0
0
0
0
0
0
0
0
0
-16
52
86
10
-21
-1
0
0
0
0
0
0
0
0
1
4
2
5
3
2
0
-40
29
32
-46
-1
-2
-1
0
0
0
-4
-1
11
-11
17
-54
0
-48
32
21
25
-5
-1
0
0
0
0
0
-12
-21
-7
-47
-1
30
-3
-1
11
-8
8
0
1
0
0
0
2
-4
-9
-3
31
-32
-3
72
-26
-3
-9
-37
1
0
0
0
0
0
-5
7
5
3
-5
-51
-16
37
-18
-12
-25
0
-1
0
0
0
0
0
0
2
-5
-7
43
-43
34
-34
7
2
10
0
0
0
0
0
0
1
0
1
-11
1
3
-56
17
-15
2
0
-2
1
0
0
0
0
0
1
2
5
21
34
27
-18
34
16
-1
1
-2
0
0
0
0
0
0
2
44
18
28
-43
20
23
0
2
-3
0
0
0
0
10
-5
-44
41
99
0
27
-11
30
12
6
0
0
0
0
0
1
-24
20
-86
139
42
120
-4
21
15
-20
-12
2
0
0
0
0
1
48
-1
79
-4
-45
34
-7
-7
-69
21
15
0
0
0
0
0
0
23
-2
55
4
-44
-9
-91
-28
0
0
3
0
0
0
0
0
0
3
25
-16
-11
-40
-126
36
-10
11
-1
0
3
0
0
0
0
0
8
-3
-2
-3
-25
10
19
54
17
35
1
0
0
0
0
0
0
0
0
-9
97
-2
-47
14
-46
-48
-5
12
0
0
0
0
0
0
0
1
1
0
-8
-12
-1
22
8
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-5
4
-8
-19
-64
-7
0
26
8
-7
0
0
0
0
0
1
-18
5
-20
-20
51
66
-56
60
21
-6
1
-18
-1
0
0
0
0
15
0
9
-19
-34
19
126
-38
7
-12
3
-2
-2
0
0
0
0
-1
-48
-1
29
61
14
-33
11
-16
2
0
0
1
0
0
0
0
0
-5
8
-14
-7
2
13
5
-2
10
-1
0
0
0
0
0
0
0
3
0
-1
8
-6
-12
5
0
-5
-1
0
0
0
0
0
0
0
0
0
0
-1
14
6
6
0
-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
-1
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-7
-35
6
-2
5
0
0
0
0
0
0
0
0
0
0
0
15
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-5
0
3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-41
0
-26
3
-7
0
0
0
0
0
0
0
0
0
-1
-4
-23
36
52
23
21
-2
-5
0
0
0
0
0
0
0
0
0
-6
-19
6
26
-14
0
-1
0
0
0
0
0
0
0
0
-1
-1
1
-5
2
-27
9
-9
0
2
0
0
0
0
0
0
0
0
3
-2
11
-23
-33
36
7
2
0
0
0
0
0
0
0
0
0
-2
-2
0
-5
-47
-23
5
-14
1
0
0
0
0
0
0
0
0
0
0
0
3
-19
-4
22
9
0
0
0
0
0
0
0
0
0
0
0
0
5
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
4
3
0
0
0
0
0
0
0
0
0
0
-45
0
0
-2
11
-7
1
0
0
0
0
0
0
0
0
0
0
27
-21
60
-2
0
-6
4
0
0
0
0
0
0
0
0
0
0
24
-10
-37
49
13
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
-13
31
-20
-1
0
0
0
0
0
0
0
0
0
0
0
-28
6
7
-15
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-2
20
-70
24
-12
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-9
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-13
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
6
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
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
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
-24
4
-1
0
0
0
0
0
0
0
0
0
0
0
51
35
-11
-7
-2
1
1
0
0
0
0
0
0
0
0
0
0
-1
5
-23
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
1
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-28
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
6
1
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
-2
0
0
0
0
0
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
-1
-43
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
28
-52
24
-1
0
0
-5
0
0
0
0
0
0
0
0
0
1
8
11
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
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
8
-18
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-17
-2
0
0
0
0
0
0
0
0
0
-1
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-10
8
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
6
-4
7
1
0
0
0
0
0
0
0
0
0
0
3
0
-7
-31
22
22
3
1
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
6
11
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
0
-3
2
14
0
0
0
-2
-13
1
0
0
0
0
0
0
0
0
0
0
-3
-5
20
26
1
2
0
-1
0
0
0
0
0
0
0
0
0
8
47
26
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
18
-27
-8
5
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-23
4
-9
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
18
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
3
53
12
38
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-12
2
0
0
0
0
0
0
-43
139
34
58
49
-6
3
0
0
0
0
0
0
0
0
0
0
2
0
82
-52
-4
13
5
0
0
0
0
0
0
0
0
0
0
-2
-14
-17
-26
8
5
-14
-5
0
0
0
0
0
0
0
0
0
0
-9
0
10
-3
12
-12
-7
6
1
0
0
0
0
0
0
0
0
-3
-5
-17
3
-12
-10
-3
9
3
0
0
0
0
0
0
0
0
1
0
-13
-6
-2
4
0
-2
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
-1
-1
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
0
0
0
0
0
-2
42
-27
41
-1
-1
28
0
0
0
-2
-4
3
0
0
0
0
-9
-35
9
-11
53
33
105
0
0
8
-7
15
-2
-1
0
0
0
-2
-2
-9
-30
-8
-45
32
-106
-34
0
10
-6
-2
0
0
0
0
5
-10
-18
-44
50
-63
35
-38
6
-15
-17
2
0
0
0
0
0
0
3
-3
11
-41
5
-15
11
5
-15
9
0
2
0
-1
0
0
0
0
-9
3
-23
0
-1
-3
-9
-1
0
3
0
0
0
0
0
0
0
0
-1
0
-1
8
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
-49
56
2
77
29
0
0
6
-5
-2
0
0
0
0
0
0
-7
-149
47
68
-50
103
55
-20
-9
-6
3
1
0
0
0
0
0
-23
40
39
-104
-41
-3
-111
-8
-13
5
1
-2
0
0
0
0
0
6
-35
-83
46
-75
11
-113
-47
-7
-8
2
-2
0
0
0
0
0
4
-30
76
56
-12
48
26
14
3
33
-6
1
0
0
0
0
0
0
-2
-41
-41
59
-33
21
0
-17
13
-3
0
0
0
0
0
0
0
-16
-41
140
21
56
-13
-6
25
-3
1
0
0
0
0
0
0
0
-7
72
2
0
-12
-12
-1
4
7
0
0
0
0
0
0
0
0
0
-6
7
-2
-1
0
0
0
0
0
0
0
0
0
0
55
-10
-4
-15
21
7
3
0
0
0
0
0
0
0
0
0
0
0
-23
0
40
12
-58
-45
-38
-1
0
0
0
0
0
0
0
0
12
-4
9
3
20
9
-38
5
-1
0
0
0
0
0
0
0
0
0
-2
2
21
-4
5
2
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
-3
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
-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
0
0
0
0
0
1
0
0
0
0
0
0
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
12
15
-37
16
19
0
0
0
0
0
0
0
0
0
40
-80
-52
-96
-71
56
0
6
3
4
0
1
0
0
0
0
0
1
1
12
-41
5
-52
9
-24
-6
3
0
0
0
0
0
0
0
0
1
-1
7
-37
86
2
-12
2
-7
0
0
0
0
0
0
0
0
0
10
5
-36
-42
38
3
-5
0
0
0
0
0
0
0
0
0
0
0
-18
-10
-1
0
-12
0
2
-1
0
0
0
0
0
0
0
0
1
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
-15
-34
-48
50
8
-38
0
0
20
-28
6
-9
0
0
0
0
0
45
39
7
-82
51
-47
0
46
0
-2
31
-12
0
0
0
0
1
-20
71
35
111
44
39
-7
51
38
33
-8
-1
0
0
0
0
0
2
34
25
44
-58
-14
-32
40
47
18
-1
1
-1
0
0
0
0
0
-26
10
-16
-53
-49
3
-26
-14
-8
-4
4
0
0
0
0
0
0
2
-37
3
-18
0
-1
4
-12
1
0
0
0
0
0
0
0
0
0
0
-5
-5
-8
-1
1
-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
-5
0
-13
1
0
-2
0
4
-3
-1
0
0
0
0
0
0
-3
-7
4
-12
-18
-18
0
-8
0
0
0
0
0
0
0
0
0
0
1
8
-10
0
-33
-16
21
0
0
0
0
0
0
0
0
0
0
2
9
3
10
15
6
13
1
0
0
2
0
0
0
0
0
0
1
0
15
-23
-12
-1
-1
-7
4
1
0
0
0
0
0
0
0
0
0
0
-5
10
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-1
23
-2
12
-8
-32
5
0
1
1
1
0
0
0
0
0
0
-2
8
0
4
2
3
6
0
7
0
0
0
0
0
0
0
0
0
0
7
1
8
3
-7
-32
5
4
-3
0
0
0
0
0
0
0
0
-3
0
4
0
7
-6
10
-2
-1
0
0
0
0
0
0
0
3
2
0
0
4
4
48
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
-73
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-22
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
-5
29
-37
40
19
0
0
0
0
0
0
0
0
0
0
0
0
10
19
72
-50
70
0
0
0
0
0
0
0
0
0
0
0
-4
6
-20
64
-27
16
0
0
0
0
0
0
0
0
0
0
0
6
6
20
-46
-30
-20
0
0
0
0
0
0
0
0
0
0
0
1
-51
-14
11
65
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-3
55
-25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-12
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-12
11
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-3
0
0
0
-4
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
8
53
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-12
47
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
8
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
5
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
10
15
46
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
8
2
0
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
-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
2
0
0
0
9
0
3
6
0
0
0
0
0
0
0
0
0
-6
8
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
5
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
-2
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
0
0
0
0
2
0
1
1
-73
-17
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-48
-15
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-10
-10
14
2
-2
0
0
0
0
0
0
0
0
0
0
0
2
8
11
-10
-5
1
-1
0
0
0
0
0
0
0
0
0
1
0
1
-23
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
-6
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-39
-30
-30
-9
5
0
0
0
0
0
-4
32
3
0
0
13
-42
3
-70
-3
104
39
0
0
0
0
-1
-1
1
-31
5
-36
-84
10
3
26
80
-3
-123
0
0
0
0
0
1
-7
35
-50
61
-25
-16
-55
76
-83
-69
12
0
0
0
0
0
-4
0
-1
0
-18
-16
36
44
24
-76
22
1
0
0
0
0
0
0
0
10
-23
12
24
-20
-40
-19
-81
22
0
0
0
0
0
0
0
0
0
2
-7
-12
17
24
48
-14
-3
0
0
0
0
0
0
0
0
-1
0
-2
0
-22
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
2
4
-10
0
0
94
-33
-65
-130
-45
-10
6
0
0
0
0
0
-1
-6
-23
-26
-58
-72
84
39
47
48
9
4
0
0
0
0
0
-3
-3
-37
-18
-70
6
63
34
18
-35
51
5
0
0
0
0
0
-1
25
-55
-45
-49
-58
142
-41
-11
47
-12
2
0
0
0
0
0
10
-8
-9
-26
141
20
60
28
-17
29
-49
0
0
0
0
0
0
1
6
10
-16
6
-50
17
151
-13
45
5
0
0
0
0
0
0
0
-6
7
-15
47
3
-64
-4
-36
-34
0
0
0
0
0
0
0
1
1
10
18
-6
-25
48
-86
71
-47
0
0
0
0
0
0
0
0
0
0
0
-9
-36
-6
18
-36
42
0
0
0
0
0
0
0
0
0
0
0
0
6
49
4
59
49
-50
29
0
0
0
0
0
0
0
0
16
16
40
3
-53
16
30
16
3
0
0
0
0
0
0
0
1
10
5
-67
-61
30
-70
-27
-13
0
0
0
0
0
0
0
-3
0
-16
7
-6
74
8
-51
-4
-26
-6
0
0
0
0
0
0
0
0
4
8
51
-2
8
-15
15
-9
0
0
0
0
0
0
0
0
0
3
-3
27
-8
3
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
9
6
-1
3
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
27
-56
31
16
125
-47
10
-2
0
0
0
0
0
0
5
2
10
-7
0
83
1
16
-49
9
-36
0
0
0
0
0
0
0
12
18
-11
88
1
2
-2
45
17
0
0
0
0
0
0
0
0
0
2
18
51
-14
-26
-4
-3
-8
2
0
0
0
0
0
0
0
-1
-5
4
-11
37
-9
-51
-27
-3
0
0
0
0
0
0
0
0
0
1
3
3
-23
28
-14
-12
11
-1
0
0
0
0
0
0
0
-2
0
2
-14
-45
-54
-57
-12
0
0
0
0
0
0
0
0
0
0
5
-4
7
-8
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
-6
4
0
0
-14
2
25
-25
35
59
-1
0
0
0
1
-2
4
27
0
43
0
39
-61
-31
-5
55
-25
-2
0
0
0
0
0
8
8
0
59
40
58
-45
10
-11
-88
-44
1
0
0
0
0
-2
3
-2
-50
13
14
24
89
-36
-42
107
-26
0
0
0
0
0
0
3
-2
7
5
-28
-38
-3
11
-79
-71
2
0
0
0
0
0
0
2
-6
0
10
6
-66
2
-17
7
-26
2
0
0
0
0
0
0
0
-4
-4
22
2
-14
-4
66
-37
7
0
0
0
0
0
0
0
0
0
0
-5
0
-3
-3
15
-16
-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
4
1
-1
0
1
-5
0
0
0
0
0
0
0
3
0
-1
0
2
1
11
3
3
1
2
0
0
0
0
0
-1
-20
-10
-3
1
11
0
0
1
7
4
0
0
0
0
0
0
3
0
0
0
0
0
2
1
0
3
0
0
0
0
0
0
0
0
2
-1
1
0
0
0
2
1
3
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
-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
-1
-4
-17
-24
16
2
0
0
0
0
0
1
1
0
0
0
-3
-15
-20
-25
19
3
1
0
0
0
0
0
0
0
1
1
0
-7
-45
64
37
-31
18
0
0
0
0
0
0
0
0
-2
-6
-6
-4
-9
19
69
-4
0
0
0
0
0
0
0
-1
-2
1
-1
2
-1
-20
-15
6
1
28
0
0
0
0
0
0
0
0
3
3
-4
-1
-2
3
25
10
-1
0
0
0
0
0
0
0
0
1
-13
1
-2
3
-14
-5
-17
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
15
-21
-4
5
0
0
0
0
0
0
0
0
0
0
-1
-1
8
8
30
-23
-21
0
0
0
0
0
0
0
0
0
0
0
1
13
-21
-55
33
1
-2
0
0
0
0
0
0
0
0
0
0
0
26
-10
-2
-35
42
5
0
0
0
0
0
0
0
0
0
0
-1
-11
38
-25
-48
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-29
5
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-30
-35
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
-3
-5
0
-6
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
15
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-3
9
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
-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
3
-2
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
1
-16
-6
-6
-3
1
0
0
0
0
0
0
0
0
-2
0
1
14
12
72
-27
5
1
0
0
0
0
0
0
0
0
0
0
0
-6
29
2
-20
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
17
-16
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-11
-10
31
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-6
6
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
1
-4
-15
16
1
0
0
0
0
0
0
0
0
0
0
-1
1
-10
-5
-11
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
33
-25
-2
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
14
5
-22
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
12
26
-3
0
0
0
0
0
0
0
0
0
0
0
1
4
-7
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
-1
-1
-2
0
5
3
1
0
0
0
0
0
0
0
0
0
-2
8
5
-24
-22
-18
-61
-9
0
0
0
0
0
0
0
0
0
0
0
5
18
-12
17
0
2
0
0
0
0
0
0
0
0
0
0
-1
1
-6
-22
63
14
6
0
0
0
0
0
0
0
0
0
0
0
0
23
72
32
54
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
-4
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
10
0
0
0
0
0
0
0
0
0
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
-22
7
-9
-3
0
0
0
0
0
0
0
0
-3
-5
-11
-1
9
-18
-37
-10
-17
0
0
0
0
0
0
0
1
0
3
3
8
-34
9
-47
-17
-4
0
0
0
0
0
0
0
0
0
5
-1
-4
12
32
-38
-8
3
0
0
0
0
0
0
0
0
0
-12
-1
5
12
8
63
7
0
0
0
0
0
0
0
0
0
-2
1
7
20
-1
18
3
-6
-2
0
0
0
0
0
0
0
0
1
0
0
4
10
0
4
-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
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
2
0
-19
11
0
-51
5
25
29
33
-29
1
-7
0
0
0
4
-9
14
-43
29
-41
93
21
-15
19
23
2
-1
5
0
0
0
0
2
0
33
20
29
8
-14
-5
-7
5
48
34
-19
0
0
0
0
0
0
14
-50
7
-76
9
17
30
28
170
34
-3
0
0
0
0
0
5
-26
12
15
-45
-52
26
67
7
31
14
0
0
0
0
0
0
0
-4
9
18
-41
17
15
3
-62
-27
0
0
0
0
0
0
0
0
0
-1
-11
4
-39
-27
2
9
-2
0
0
0
0
0
0
0
0
0
0
2
7
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
-3
36
52
0
-15
33
69
15
52
7
-1
0
0
0
0
-5
-6
5
57
-17
138
-4
-20
99
-24
66
15
8
0
0
0
0
-2
-4
-16
1
10
53
-20
-7
-2
-87
45
8
3
0
0
0
0
-2
-2
12
-18
-56
-53
-14
-37
35
53
-48
-4
9
0
0
0
0
0
-1
7
-49
-63
-132
-26
169
-71
53
-3
5
-1
0
0
0
0
0
-14
-6
-62
4
0
19
-118
32
-29
-19
-5
0
0
0
0
0
0
1
-4
57
31
12
-3
-24
53
-29
-33
-8
0
0
0
0
0
0
0
-1
28
10
24
2
-54
40
-10
12
0
0
0
0
0
0
0
0
0
-19
23
-69
12
21
-13
-20
0
0
0
0
0
0
0
0
-2
-6
-3
-27
0
-37
-47
-2
28
14
-3
-1
0
0
0
0
3
-1
-54
-25
0
138
-21
-2
-22
19
0
0
0
0
0
0
0
-1
28
-1
51
-16
89
29
-19
8
-19
-1
0
0
0
0
0
-1
26
22
-23
26
-13
-2
10
-14
5
8
12
-5
0
0
0
0
0
-16
20
13
46
-44
-28
-4
-13
2
9
1
0
0
0
0
0
3
-3
13
-43
1
53
56
3
-24
-1
-3
0
0
0
0
0
-1
0
49
26
-2
18
22
74
-35
-10
-1
0
0
0
0
0
0
0
1
-12
2
-15
-18
-3
28
-34
-1
4
-1
0
0
0
0
0
1
0
3
-6
46
50
26
-38
14
-2
0
1
0
0
0
0
0
0
0
0
0
31
5
-59
0
35
-26
35
58
1
0
0
0
0
0
0
0
-5
-4
31
-39
-21
59
-21
110
20
-43
1
0
0
0
0
0
0
0
-24
4
-81
-76
-38
-76
32
19
47
0
0
0
0
0
0
-3
-2
-4
4
2
-12
56
-70
-47
15
19
-1
0
0
0
0
0
1
0
17
-4
-12
37
0
-67
-37
56
43
-4
0
0
0
0
0
0
-2
-5
-19
-9
-46
23
-39
18
-40
5
0
0
0
0
0
0
0
-3
48
4
27
-22
-56
-42
18
-3
0
0
0
0
0
0
0
0
-1
-5
40
2
33
-28
-17
-11
5
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
-4
-4
3
0
54
-30
25
59
7
38
23
0
0
0
0
0
0
-26
-82
-4
-31
-3
48
64
63
4
-45
42
10
0
0
0
1
0
2
-3
-73
-18
35
56
-59
-70
-12
-86
-12
-1
0
0
0
0
-4
0
32
-81
27
10
7
-41
22
78
43
-31
2
0
0
0
0
-2
-5
-13
-52
-3
-26
16
38
-76
8
24
-11
0
0
0
0
0
-2
2
1
0
28
42
-4
51
-21
3
25
0
0
0
0
0
0
0
0
0
-14
-17
4
11
-5
13
1
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
2
12
4
-1
-1
3
0
-2
0
0
0
0
0
-1
3
0
-7
2
14
-10
-42
7
1
12
-1
0
0
0
0
0
0
0
2
2
-9
21
-13
7
2
-22
6
1
0
0
0
0
0
0
0
5
4
-8
0
27
28
-27
4
2
0
0
0
0
0
0
0
0
0
14
4
14
17
23
0
4
0
0
0
0
0
0
0
0
0
1
-1
-4
2
25
-29
8
0
0
0
0
0
0
0
0
0
0
6
14
0
8
5
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
12
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
-4
9
0
3
14
6
-1
0
4
-5
0
0
0
0
0
-9
0
-13
-4
-12
-7
-7
16
0
12
-35
-5
0
0
0
0
0
-1
4
-1
-34
-31
-52
-13
24
-15
9
26
4
0
0
0
0
0
0
3
4
21
12
-10
50
20
-8
-5
6
-6
2
0
0
0
0
0
-3
-18
53
-17
9
0
29
2
1
35
15
0
0
0
0
0
0
10
2
-65
-3
7
23
10
0
-5
13
1
0
0
0
0
0
2
-1
21
-42
-112
-6
-29
10
0
0
1
0
0
0
0
0
0
0
0
8
-16
-54
35
0
10
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
2
1
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-17
-45
-3
-94
31
0
0
0
0
0
0
0
0
0
0
0
0
-12
-29
11
37
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-18
-10
96
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
4
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
21
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
0
0
9
-20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
4
-34
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
25
9
35
-9
0
0
0
0
0
0
0
0
0
0
0
-5
0
-19
-14
-1
-20
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
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-18
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-22
1
-44
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-5
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-2
-2
-6
0
0
0
0
0
0
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
-3
1
4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
12
-1
8
-1
3
-3
0
0
0
0
0
0
0
0
0
0
-3
5
-1
6
0
0
1
0
0
0
0
0
0
0
0
0
5
2
-3
-6
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
4
1
0
2
0
0
-5
3
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
20
40
6
69
-19
-27
7
0
0
0
0
5
-4
9
-59
0
0
86
69
24
111
5
32
5
0
0
0
0
0
0
0
-44
-90
40
15
65
-27
-52
12
-30
18
0
0
0
0
0
-1
1
-14
86
-94
-37
17
-75
-113
4
-6
-5
0
0
0
0
0
0
0
-2
13
-25
19
-3
31
-5
-41
60
5
0
0
0
0
0
0
0
-3
1
-7
-2
8
35
37
93
9
3
0
0
0
0
0
0
0
0
0
5
-1
-3
-24
48
2
1
-6
0
0
0
0
0
0
0
0
0
-1
0
-2
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
-1
2
-14
0
0
4
-38
21
-58
83
-8
3
0
0
0
0
0
-1
-11
61
76
25
25
23
14
-96
-17
11
1
0
0
0
0
0
0
17
12
39
-98
-24
-89
113
-98
5
-13
27
0
0
0
0
0
2
-1
-68
-9
-80
68
25
-16
40
-54
14
7
0
0
0
0
0
6
2
-9
38
23
-94
39
61
-9
3
83
3
0
0
0
0
0
0
0
5
6
-31
-2
7
-38
-1
-26
-46
0
0
0
0
0
0
0
0
-3
-5
13
-20
-41
25
18
-6
-10
1
0
0
0
0
0
0
-1
1
-5
2
7
-6
98
-22
-34
-2
0
0
0
0
0
0
0
0
0
1
3
-23
16
-26
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
21
-22
55
-61
-24
7
2
0
0
0
0
0
0
1
0
-9
16
-39
-14
48
-33
-81
49
-45
0
0
0
0
0
0
0
0
-11
-79
11
-14
-12
-77
-24
8
2
0
0
0
0
0
0
0
0
-1
6
-32
-13
21
-14
-10
-24
41
0
0
0
0
0
0
0
0
-6
3
28
13
-19
13
-2
-39
25
0
0
0
0
0
0
0
0
-6
11
-15
22
-24
-5
50
85
-74
0
0
0
0
0
0
0
0
0
0
-6
25
18
-5
12
37
25
0
0
0
0
0
0
0
0
0
6
-5
-47
-7
-37
77
32
6
0
0
0
0
0
0
0
0
0
0
3
3
21
-9
32
-62
62
0
0
0
0
0
0
0
-3
0
0
9
-18
-85
-96
5
45
4
0
0
0
0
0
0
-5
10
25
-12
0
-1
-65
-46
21
-34
93
0
0
0
0
0
0
10
-14
0
24
-31
26
-5
71
-65
22
3
0
0
0
0
0
0
5
2
6
-21
-44
25
46
-13
1
-42
12
0
0
0
0
0
0
0
0
5
8
-11
28
3
70
24
25
-33
0
0
0
0
0
0
0
0
0
7
19
-8
-32
1
-37
-9
54
0
0
0
0
0
0
0
0
0
-2
-6
14
-15
-2
-32
15
34
0
0
0
0
0
0
0
0
0
-1
0
-1
9
-30
52
-32
48
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-1
0
0
0
0
0
0
0
4
20
-15
0
0
31
-1
-43
17
-37
-9
-19
0
0
0
0
0
0
-1
0
-33
0
59
50
22
40
16
87
-17
0
0
0
-2
0
0
27
-1
69
87
89
-71
-21
-48
65
-94
-2
0
0
0
0
0
0
8
5
-7
5
-14
-1
-46
19
39
-4
0
0
0
0
0
0
-1
0
-1
-15
-34
-38
-46
-10
1
53
-9
-1
0
0
0
0
0
0
0
-1
-3
14
2
-4
21
63
54
-32
0
0
0
0
0
0
0
0
0
0
0
-12
3
-51
35
-41
-9
-1
0
0
0
0
0
0
0
0
0
-1
2
4
16
-11
-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
-1
-1
0
7
0
3
1
-4
-2
0
0
0
0
0
0
0
0
-1
0
-1
0
15
-3
-1
-2
2
-1
0
0
0
0
0
0
0
0
0
1
-16
-13
18
-8
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
48
-3
7
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-5
-59
2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-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
4
2
11
38
13
0
0
0
0
0
0
0
0
0
6
0
-1
14
-10
33
8
7
-70
13
0
0
0
0
0
0
0
0
0
4
11
-38
-12
-29
-42
-35
-5
0
0
0
0
0
0
0
1
4
-1
-6
-14
0
-12
38
15
5
0
0
0
0
0
0
0
2
1
0
-3
5
-14
10
-27
8
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
24
-10
-2
0
0
0
0
0
0
0
0
0
0
4
-2
0
-18
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
21
-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
3
-1
-14
-27
14
11
6
0
0
0
0
0
0
0
0
0
0
1
2
-26
-48
-9
-29
-15
0
0
0
0
0
0
0
0
0
-2
-1
2
-18
-38
12
43
2
-14
0
0
0
0
0
0
0
0
0
1
-3
-5
61
-70
39
67
3
0
0
0
0
0
0
0
0
0
-1
1
15
0
-17
10
8
0
0
0
0
0
0
0
0
0
0
1
-7
4
-18
-13
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
12
-42
5
0
0
0
0
0
0
0
0
0
0
0
-1
4
-5
-23
3
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-9
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-34
-6
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
-6
-2
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
0
0
0
0
0
0
3
-8
0
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
52
8
-2
0
0
0
0
0
0
0
0
0
0
0
2
-7
-6
-48
-51
-11
0
0
0
0
0
0
0
0
0
0
0
0
7
1
37
-29
5
0
0
0
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
1
2
-35
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-3
-1
1
0
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
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
1
1
1
7
-11
-27
6
-1
0
0
0
0
0
0
0
0
8
2
5
5
3
64
25
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
-3
-25
5
1
0
0
0
0
0
0
0
0
0
0
0
5
-2
8
-10
13
1
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
-3
-4
18
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
4
-15
5
6
24
13
0
0
0
0
0
0
0
0
0
0
0
1
-5
-6
3
37
-2
-6
4
0
0
0
0
0
0
0
0
1
1
4
20
14
-3
31
-2
-1
0
0
0
0
0
0
0
0
0
5
3
0
-19
5
1
11
1
0
0
0
0
0
0
0
0
0
0
12
-15
-28
-24
-27
21
8
0
0
0
0
0
0
0
0
0
0
-2
25
-10
-21
8
-5
1
0
0
0
0
0
0
0
0
0
0
1
0
-9
-2
1
2
-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
-4
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-7
17
-7
-8
1
0
0
0
0
0
0
0
0
-1
-1
-9
8
-15
-4
-13
-17
5
0
0
0
0
0
0
0
0
-2
3
1
-37
-4
48
43
43
3
0
0
0
0
0
0
0
0
1
-2
6
11
-29
0
-22
12
3
0
0
0
0
0
0
0
0
0
2
0
0
-41
-62
19
-41
4
0
0
0
0
0
0
0
0
0
0
-1
11
5
43
-20
29
-20
0
0
0
0
0
0
0
0
0
0
0
4
4
3
-49
-50
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
4
28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
7
-1
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
-2
8
51
70
0
-95
48
6
35
13
-12
-13
-3
0
0
0
2
15
-66
-7
61
16
84
-11
20
-4
37
30
-24
5
0
0
0
-3
3
-2
-20
85
-51
-43
20
35
-36
-2
21
10
0
0
0
0
0
3
-1
1
-10
26
-20
-42
-84
52
0
27
-3
-2
0
0
0
0
-5
-3
7
-17
-29
-5
-53
11
-35
-19
9
4
1
0
0
0
0
0
0
-2
24
-9
-26
16
11
76
-26
-23
22
0
0
0
0
0
0
0
0
0
-1
1
-1
7
4
-27
4
22
0
0
0
0
0
0
0
0
2
-1
0
5
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
6
2
-41
-18
0
22
63
13
98
11
0
-2
0
0
0
0
0
5
12
6
5
-2
-80
16
-54
18
25
6
-10
0
0
0
0
0
-1
-8
4
14
41
-11
-2
32
73
11
9
-7
0
0
0
-2
-1
0
-9
58
-46
-2
27
-59
-3
-27
-119
-16
-1
0
0
0
0
0
-6
14
47
-122
3
125
-30
-84
-17
22
-1
14
0
0
0
0
3
2
-23
-26
13
8
40
-31
41
80
-52
8
-12
0
0
0
0
-1
-1
0
20
-33
-11
13
32
-55
38
53
19
3
0
0
0
0
0
-1
1
-8
-9
-14
66
-20
2
28
10
3
-1
0
0
0
0
0
0
0
-1
9
0
-68
51
-45
8
0
0
0
0
0
0
0
1
10
-33
-21
-25
0
-18
-34
9
2
4
0
0
0
0
0
0
0
0
1
13
-6
52
16
-18
-3
11
-6
3
0
0
0
0
0
0
0
0
-2
-24
7
16
-26
13
14
-3
1
0
0
0
0
0
0
0
0
-1
1
-7
-16
-9
-32
19
-1
-1
0
0
0
0
0
0
0
0
0
1
-9
29
10
-23
2
18
-1
0
0
0
0
0
0
0
0
0
0
5
-6
1
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
15
-12
0
0
0
0
0
0
0
0
0
0
0
2
-4
4
-1
2
1
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
3
7
-50
166
0
105
31
62
12
14
2
0
0
0
0
0
0
-4
-27
-20
31
5
45
14
35
77
20
4
0
0
0
0
0
0
-3
10
-2
34
36
-23
36
30
38
-61
0
0
0
0
0
0
0
0
-12
-14
-38
-19
28
47
-2
21
-23
0
0
0
0
0
0
0
0
1
-2
-13
16
-13
8
-47
-4
10
0
0
0
0
0
0
0
0
0
34
40
-32
-17
-38
27
-6
-1
0
0
0
0
0
0
0
0
-1
3
-42
-22
42
39
-8
11
0
0
0
0
0
0
0
0
0
0
-4
-5
13
-13
-5
31
13
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
3
0
0
0
0
0
0
0
0
0
3
-15
10
0
-29
-19
-19
-41
84
-61
22
5
0
0
0
-5
-4
4
-8
71
-84
-2
62
-24
-116
5
-47
-61
14
0
0
0
-1
5
-1
6
20
-27
149
34
-15
7
-38
23
69
5
0
0
0
0
0
7
-12
-29
-16
-124
61
-36
10
-23
13
57
16
0
0
0
0
1
-1
-13
9
18
12
52
51
63
-4
-42
-21
-4
0
0
0
0
0
0
1
-5
-32
-2
2
-73
-36
7
56
-9
0
0
0
0
0
0
0
3
0
2
-21
-9
23
2
-22
-9
6
-2
0
0
0
0
0
0
0
0
0
-1
0
-4
4
-1
-4
3
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
5
0
-18
6
-3
4
0
-1
0
-2
0
0
0
0
0
0
3
-6
18
-5
-7
-22
26
-9
-3
5
-2
0
0
0
0
0
0
0
-23
1
34
-28
-2
40
22
0
-1
3
0
0
0
0
0
0
0
1
8
-44
5
-1
-11
11
-1
2
0
0
0
0
0
0
0
0
0
0
4
5
11
1
3
-5
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-17
-15
-8
1
-2
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
0
0
0
0
0
0
0
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
-9
3
3
1
-1
0
-9
0
0
0
0
0
0
2
15
11
8
-22
-14
-4
23
1
-24
-1
0
0
0
0
0
0
0
3
13
-46
21
11
-23
-8
1
18
-8
0
0
0
0
0
0
-4
17
2
6
12
33
39
3
39
-15
-2
2
0
0
0
0
0
0
8
-7
-38
-55
-14
24
-4
18
-2
18
0
0
0
0
0
0
3
0
0
21
9
8
-7
1
2
-7
-1
0
0
0
0
0
0
0
0
-9
-12
17
5
0
-1
-10
13
-9
2
0
0
0
0
0
-2
0
2
-10
3
0
-9
-4
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
-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
3
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
3
0
-18
-11
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
65
50
0
0
0
0
0
0
0
0
0
0
0
-3
-8
3
33
16
-25
0
0
0
0
0
0
0
0
0
0
-3
-1
3
-4
-8
3
6
0
0
0
0
0
0
0
0
0
-1
0
3
-1
-33
-27
14
29
0
0
0
0
0
0
0
0
0
0
0
-3
-3
71
-8
27
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
0
0
0
0
0
0
0
0
0
0
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
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
9
2
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
0
1
1
-2
4
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
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-6
-1
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
2
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
4
4
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
-1
3
1
10
1
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
6
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
10
-18
18
15
1
0
2
0
0
0
0
0
0
0
0
0
-3
-6
-1
11
-2
6
0
-1
0
0
0
0
0
0
0
0
2
4
2
0
0
-10
-11
0
0
0
0
0
0
0
0
0
0
0
8
-2
8
1
5
-2
7
0
0
0
0
0
0
0
0
0
-1
1
12
8
-5
1
7
3
0
0
0
0
0
0
0
0
0
0
-3
-11
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
20
15
-26
4
-50
-30
24
0
0
0
0
0
3
-16
0
0
0
82
74
-7
-51
-67
30
20
0
0
0
0
0
1
0
17
32
49
43
-8
-80
-68
-12
-28
-53
0
0
0
0
0
0
-1
-19
11
-8
-33
24
101
47
-19
19
16
0
0
0
0
0
-2
-1
-1
26
-20
51
-38
21
-22
-87
1
3
0
0
0
0
0
1
3
9
11
-1
-73
-15
-58
14
1
17
0
0
0
0
0
0
0
0
-1
-9
39
12
-13
48
-13
59
11
0
0
0
0
0
0
0
0
0
-2
0
1
-8
5
-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
-1
-5
0
0
5
141
60
153
-34
14
1
0
0
0
0
0
0
4
-3
36
-2
-58
3
139
-47
-58
-19
2
0
0
0
0
-1
4
-1
25
51
70
64
134
58
21
-47
3
-3
0
0
0
0
0
0
37
-6
-37
-35
89
7
-50
41
13
23
11
0
0
0
0
0
-1
-29
-18
33
71
-31
34
25
99
97
7
-1
0
0
0
0
-1
-1
-14
-3
3
17
-37
87
10
80
-110
-3
5
0
0
0
0
0
0
2
-11
-11
75
-28
48
-57
51
-8
7
0
0
0
0
0
0
0
-1
-8
11
-17
12
27
21
83
-53
0
0
0
0
0
0
0
0
0
0
0
-15
-18
64
50
18
3
0
0
0
0
0
0
0
0
0
0
0
0
-38
-2
-5
-65
-15
-87
-4
0
0
0
0
0
0
0
0
-11
8
38
11
67
-37
-59
-7
20
0
0
0
0
0
0
0
-3
-7
5
13
39
-17
-33
-74
-14
1
0
0
0
0
0
0
0
0
-2
22
10
9
32
-14
-23
-2
0
0
0
0
0
0
0
0
0
0
-1
58
-7
-52
57
25
8
0
0
0
0
0
0
0
0
0
-1
-9
-19
-4
0
16
2
0
0
0
0
0
0
0
0
0
0
15
1
26
-23
-4
-14
-31
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-69
23
19
7
1
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-5
15
0
-2
0
0
0
0
0
0
0
0
-2
0
-23
-37
57
25
-69
46
-54
19
0
0
0
0
0
0
0
0
-13
-6
0
-4
88
14
-26
69
20
0
0
0
0
0
0
0
-17
-24
-19
-17
8
113
102
-55
-13
11
0
0
0
0
0
0
1
0
-33
34
2
-29
-16
40
-19
1
-12
0
0
0
0
0
0
-1
-2
34
-15
-24
-46
41
-2
58
-10
0
0
0
0
0
0
0
-1
0
-1
2
-2
21
28
0
18
7
1
0
0
0
0
0
0
0
0
0
25
12
8
21
56
-12
-4
0
0
0
0
0
0
0
0
0
0
-5
-6
-29
17
-27
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
1
10
0
0
5
-28
15
97
-2
15
0
0
0
0
0
3
0
-3
0
14
0
68
38
-80
-33
-17
71
18
0
0
0
0
2
1
0
-92
59
13
23
16
-43
11
51
36
7
0
0
0
0
0
0
2
-16
60
-44
25
-39
45
-28
33
-21
0
0
0
0
0
0
-3
5
16
-19
-14
9
-69
17
49
21
35
1
0
0
0
0
0
0
8
0
-6
13
-17
-3
5
-72
-14
2
0
0
0
0
0
0
0
-5
-1
3
11
11
26
18
54
1
-2
0
0
0
0
0
0
0
0
-1
8
3
4
-1
9
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
-3
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
-1
3
-1
0
-6
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
-6
-3
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
-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
-1
0
0
0
0
0
0
0
0
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
4
-6
-23
16
0
0
0
0
0
0
0
0
0
-1
-4
7
11
-18
20
23
-4
0
0
0
0
0
0
0
1
3
0
21
3
-75
-1
29
37
1
0
0
0
0
0
0
0
2
-9
-7
3
4
-50
-26
2
11
1
0
0
0
0
0
0
0
0
2
1
3
-1
16
5
-8
2
1
0
0
0
0
0
0
0
-1
-1
-2
1
-3
-16
-4
-4
0
0
0
0
0
0
0
0
0
2
-1
4
3
-6
-33
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
33
-1
-50
1
-1
0
0
0
0
0
0
0
0
3
8
4
8
-10
25
46
-50
-2
0
0
0
0
0
0
0
0
0
-5
5
6
24
48
-31
2
1
0
0
0
0
0
0
0
0
0
0
1
-5
49
29
-64
13
2
0
0
0
0
0
0
0
0
0
0
2
9
-31
24
-27
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
48
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
3
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
-2
-19
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-3
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
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
1
0
6
-16
18
-17
9
0
0
0
0
0
0
0
0
0
7
3
2
16
-6
38
-9
-7
-1
0
0
0
0
0
0
0
0
-1
0
-1
12
-1
-68
34
-10
-9
0
0
0
0
0
0
0
0
0
0
-2
0
-3
4
-17
26
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
17
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
7
19
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
3
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
3
0
5
2
-5
0
0
0
0
0
0
0
0
0
0
1
1
-2
-5
-11
20
-27
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
9
11
-40
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-17
-31
13
1
0
0
0
0
0
0
0
0
0
0
0
1
5
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-47
20
0
0
0
0
0
0
0
0
0
0
0
2
9
-15
-55
2
23
-3
0
0
0
0
0
0
0
0
1
0
0
5
-9
-5
-50
16
1
0
0
0
0
0
0
0
0
0
6
2
-2
39
9
-3
22
10
0
0
0
0
0
0
0
0
0
0
-1
1
-2
17
-5
5
-16
0
0
0
0
0
0
0
0
0
0
0
7
-18
2
20
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
39
4
-2
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
-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
-3
1
-25
0
14
-58
2
5
-7
-20
-10
3
0
0
0
0
0
-12
3
0
42
24
-7
-12
64
-18
42
19
4
0
0
0
0
1
1
0
40
71
22
24
-21
28
5
-50
60
-2
0
0
0
0
0
0
-20
-3
-31
3
51
15
13
-85
-14
34
-5
0
0
0
0
0
0
1
38
-28
-36
-37
-10
-17
-6
-33
-16
-1
0
0
0
0
1
0
0
-1
10
37
-11
-26
1
-8
-3
0
0
0
0
0
0
0
0
1
0
-19
6
23
-24
2
1
0
0
0
0
0
0
0
0
2
1
0
-3
4
2
-15
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
1
-15
82
0
114
-95
-21
-8
-12
39
-3
0
0
0
0
0
7
-14
5
1
-24
-120
-34
14
-27
-14
-20
-13
0
0
0
0
0
-3
21
0
-22
40
-48
135
70
54
-71
25
35
0
0
0
0
0
4
1
-98
5
-5
27
105
-95
-96
-24
20
-2
0
0
0
0
0
2
-4
-3
19
-32
57
89
110
-26
-55
15
0
0
0
0
0
1
-11
17
-27
-21
87
38
6
-42
71
59
9
0
0
0
0
0
0
-4
21
-41
74
-142
25
-33
66
-52
32
4
0
0
0
0
0
0
0
5
-11
68
14
134
-37
-105
22
2
0
0
0
0
0
0
0
0
5
-3
-44
-58
2
-93
-7
1
2
0
0
0
0
0
0
0
0
-2
8
-92
0
-17
-21
44
17
1
0
0
0
0
0
0
3
-33
1
-64
0
-40
-28
0
23
-12
-7
1
0
0
0
0
0
0
-7
17
0
-39
-65
-7
-14
50
11
26
-2
0
0
0
0
0
0
-11
0
0
114
58
6
-11
-32
20
-12
0
0
0
0
0
0
-3
0
2
-22
35
7
26
1
-26
-2
0
0
0
0
0
0
0
0
1
43
-32
-11
15
-18
13
7
3
9
0
0
0
0
0
0
4
-51
-32
20
-75
29
-14
5
8
0
0
-1
0
0
0
0
0
-6
-9
43
34
-42
-62
-15
13
-3
0
0
0
0
0
0
0
0
0
0
-13
43
33
29
38
-7
0
0
0
0
0
0
0
0
0
0
0
-6
7
-66
0
-12
1
-67
-29
3
0
0
0
0
0
0
0
-1
-35
10
0
51
21
101
92
-54
-16
1
0
0
0
0
0
0
0
15
-1
37
-41
-46
79
-11
22
20
1
0
0
0
0
0
0
0
0
16
-17
31
52
-73
-5
1
-27
0
0
0
0
0
0
0
0
9
-12
33
18
-51
6
33
-24
23
0
0
0
0
0
0
0
0
3
-34
10
32
-37
62
-35
-35
1
0
0
0
0
0
0
0
-3
-42
-51
62
49
8
-26
-4
-9
0
0
0
0
0
0
0
0
3
1
-19
-12
49
57
-31
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
-29
-2
-20
-1
0
0
0
0
0
0
0
0
0
0
2
0
-23
0
-7
131
-25
-13
-9
-22
-6
-2
0
0
0
0
0
2
-2
-4
66
67
-19
-31
-54
73
35
-45
-3
0
0
0
0
0
1
0
2
104
52
-104
38
21
-11
-7
11
39
0
0
0
0
0
0
5
10
20
9
-56
44
-47
-7
29
10
1
0
0
0
0
0
0
-3
-9
29
-2
32
-59
16
57
-35
-20
0
0
0
0
0
0
2
2
-7
22
-37
41
2
44
-17
8
9
0
0
0
0
0
0
0
3
4
18
-13
6
1
75
2
0
0
0
0
0
0
0
0
0
2
-4
10
0
-5
2
7
0
0
0
0
0
0
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
6
0
2
1
-1
5
0
0
0
0
0
0
0
-1
0
-8
-3
5
29
12
-13
12
-2
-4
0
0
0
0
0
0
0
-5
-22
10
-13
34
-8
-6
20
-34
18
0
0
0
0
0
0
0
1
3
5
13
-10
0
-4
9
-1
-2
0
0
0
0
0
0
0
-9
3
5
4
-28
-8
0
0
-1
0
0
0
0
0
0
0
1
0
0
11
1
95
24
3
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
12
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
1
-1
0
-5
-16
-1
-2
0
0
0
0
0
0
0
0
13
18
0
8
-14
-32
-10
-36
-4
0
0
0
0
0
0
0
-17
12
1
44
34
20
49
1
-24
8
0
0
0
0
0
0
1
-4
-13
0
-12
11
-8
-6
54
-5
9
0
0
0
0
0
-2
8
-4
-4
-9
-39
13
-8
24
-3
1
0
0
0
0
0
0
-1
20
5
-32
14
18
-9
-8
8
7
-1
0
0
0
0
0
0
0
9
-3
28
-14
-16
-2
-1
2
1
0
0
0
0
0
0
0
0
-2
60
52
35
-5
-3
0
3
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-65
-16
29
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
18
-36
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
22
12
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
-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
1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
47
3
13
8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
1
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
2
3
3
0
-4
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
-1
0
0
0
0
-1
0
-3
-4
0
0
0
0
0
0
0
0
-1
1
3
2
-2
-17
0
0
-1
-4
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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-28
136
68
-18
0
0
0
0
0
-2
-10
-16
0
0
21
24
-29
109
77
-61
-10
0
0
0
0
0
0
4
-33
-17
-41
37
-16
73
18
50
89
-8
0
0
0
0
0
0
-2
27
46
79
6
-29
86
104
-124
-7
-16
0
0
0
0
0
0
1
9
-1
-9
77
1
-39
19
77
17
6
0
0
0
0
0
0
0
-4
-2
-16
-21
-2
40
14
10
-32
11
0
0
0
0
0
0
0
0
0
1
10
11
-34
-37
46
5
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
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
4
1
26
0
0
-79
-55
67
-122
-44
16
-4
0
0
0
0
0
0
-10
7
65
-14
-13
-51
18
52
49
59
6
0
0
0
0
0
3
5
5
-73
2
-133
32
-80
71
139
-5
18
0
0
0
0
0
-1
3
-34
-6
79
-21
11
121
-87
19
32
-22
0
0
0
0
0
-1
1
-1
9
-18
-60
-118
57
145
-64
-14
43
0
0
0
0
0
1
0
-3
-15
22
-14
-62
32
-3
-54
-9
12
0
0
0
0
0
0
0
-1
21
47
-50
78
0
122
-4
61
-2
0
0
0
0
0
0
1
-1
0
20
-18
-12
-62
-4
8
12
0
0
0
0
0
0
0
0
0
0
1
1
15
-29
58
-35
0
0
0
0
0
0
0
0
0
0
0
0
24
20
17
16
48
52
-15
0
0
0
0
0
0
0
0
4
-2
-48
54
51
-6
-37
6
-90
0
0
0
0
0
0
0
0
0
-2
-53
-39
40
-38
23
-93
121
0
0
0
0
0
0
0
0
0
0
-1
22
-1
14
-19
102
36
0
0
0
0
0
0
0
0
0
-1
1
-44
22
-14
-58
24
12
0
0
0
0
0
0
0
0
0
0
-6
24
16
21
20
23
3
0
0
0
0
0
0
0
0
0
3
1
-11
16
10
23
-26
-42
0
0
0
0
0
0
0
0
-1
1
-2
13
-25
-51
-98
51
-71
0
0
0
0
0
0
0
0
0
0
-5
-4
-49
-10
87
82
8
0
0
0
0
0
0
0
5
0
24
-33
41
80
-30
1
-56
15
0
0
0
0
0
0
0
-1
5
63
0
-75
-2
47
60
-4
1
0
0
0
0
0
0
0
0
13
22
24
-37
-7
-26
-33
23
14
0
0
0
0
0
0
-4
0
32
-34
17
12
10
71
28
-25
-29
0
0
0
0
0
0
0
-1
-1
10
7
-8
51
1
-11
-101
-9
0
0
0
0
0
0
0
0
1
-2
-4
4
-1
-16
18
59
-6
0
0
0
0
0
0
0
0
0
0
0
13
22
-2
47
59
-2
0
0
0
0
0
0
0
0
0
0
0
2
4
6
14
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
5
0
0
45
40
-63
-58
-72
-8
14
0
0
0
0
1
0
-1
0
12
0
-28
-40
31
-23
-23
6
10
0
0
0
0
0
2
2
18
17
-45
9
126
3
43
10
19
4
0
0
0
0
0
-1
-1
-5
-1
-3
4
27
53
57
13
35
-6
0
0
0
0
0
0
0
0
-1
-2
-51
22
-44
-1
-27
-35
1
0
0
0
0
0
0
0
0
-5
32
-5
15
41
-35
6
-34
1
0
0
0
0
0
0
0
0
0
0
0
2
14
-49
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-3
-1
2
-1
0
0
0
0
0
0
0
0
0
-7
-1
0
-1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
21
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
4
-1
-1
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
1
42
0
0
0
0
0
0
0
-1
0
0
0
-42
32
-1
67
-57
-3
17
0
0
0
0
0
0
0
0
0
6
3
10
-37
20
24
-41
-13
0
0
0
0
0
0
0
0
0
-1
15
-3
-9
-11
24
15
-10
0
0
0
0
0
0
0
0
1
0
1
4
8
-13
-12
16
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
-12
26
9
7
0
0
0
0
0
0
0
0
0
7
0
4
0
10
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-42
16
-13
0
0
0
0
0
0
0
0
0
1
-1
-18
-34
-14
10
-40
-9
-12
0
0
0
0
0
0
0
0
1
6
4
24
23
-70
33
65
-2
0
0
0
0
0
0
0
0
0
0
0
-5
10
19
16
4
67
0
0
0
0
0
0
0
0
0
0
-1
25
21
24
-26
-33
11
0
0
0
0
0
0
0
0
0
0
0
10
-19
-46
-49
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
25
-34
17
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
-2
-27
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
14
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
10
-7
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
6
-3
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
-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
3
24
3
4
2
0
0
0
0
0
0
0
0
0
0
0
5
-11
8
12
29
2
0
0
0
0
0
0
0
0
0
0
-3
0
4
6
10
24
6
-3
0
0
0
0
0
0
0
0
0
0
2
1
-11
14
-17
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
-3
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
0
7
-5
2
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
0
0
0
0
0
0
0
0
0
0
0
1
3
3
20
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
43
2
-1
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
-2
3
23
24
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
15
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
-32
11
37
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
28
0
0
0
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
1
0
0
0
0
0
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
2
8
3
0
0
0
0
0
0
0
0
4
0
-1
17
10
45
-16
-7
5
-5
0
0
0
0
0
0
0
0
0
0
-19
8
-6
6
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-3
-5
-9
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
11
9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
-8
4
12
0
0
0
0
0
0
0
0
0
-3
0
18
17
55
4
-8
28
-1
0
0
0
0
0
0
0
0
0
0
25
7
43
-35
5
-58
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
-10
-17
4
0
0
0
0
0
0
0
0
0
0
2
7
-2
35
37
3
7
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-9
31
65
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
-11
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
17
62
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
11
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
11
8
0
42
7
-47
8
-26
5
-10
-5
0
0
0
0
0
25
-44
50
-13
210
28
152
-10
-28
17
18
0
0
0
0
0
0
0
-15
4
-3
-25
2
-11
-19
-5
86
-66
-2
0
0
0
0
0
-2
-33
0
-64
-16
4
-2
-50
14
-5
-33
3
0
0
0
0
0
0
-1
-1
0
1
-24
-14
-31
-60
27
-8
-3
0
0
0
0
0
0
0
0
0
-5
-8
-2
6
-31
82
-20
-5
0
0
0
0
0
0
0
0
0
-1
-5
0
-6
-28
1
2
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
0
0
0
0
0
0
0
0
-2
-6
-9
-26
0
49
122
32
-7
15
-11
1
0
0
0
0
0
-7
2
32
-98
-29
8
-73
63
-15
14
-37
11
0
0
0
0
0
1
1
-25
54
10
65
-144
-91
78
-39
0
-26
0
0
0
0
0
-3
12
-12
-23
-23
-17
88
15
-37
-75
16
6
0
0
0
0
0
-2
3
6
-6
-21
-42
-68
21
-36
-25
28
5
0
0
0
0
0
-1
0
-1
26
17
41
23
-17
-9
-9
-46
1
0
0
0
0
0
0
0
0
-3
-9
34
-34
4
-8
39
-28
0
0
0
0
0
0
0
0
0
2
-42
-15
44
50
17
-9
3
0
0
0
0
0
0
0
0
0
0
1
1
-16
-1
-4
0
0
0
0
0
0
0
0
-2
-1
66
115
0
39
-6
-9
-13
-5
0
0
0
0
0
0
0
0
-2
3
-44
-35
18
31
5
-18
-13
-8
0
0
0
0
0
0
0
0
-1
27
42
-5
0
-4
-14
6
-1
0
0
0
0
0
0
0
-1
0
5
16
3
3
7
18
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-2
0
0
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
-57
0
13
8
12
-23
12
-7
0
0
0
0
0
0
0
1
-2
20
-57
-102
12
-11
60
59
-1
0
0
0
0
0
0
0
-2
19
-14
43
-11
31
2
-20
6
7
0
0
0
0
0
0
0
0
0
-1
-6
22
-5
-56
-31
9
0
0
0
0
0
0
0
0
0
0
0
8
4
-28
5
-34
9
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-3
-19
-14
15
0
0
0
0
0
0
0
0
0
0
0
1
-5
-5
31
-3
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
7
-25
0
34
24
5
-73
2
-6
-16
1
0
0
0
0
0
1
12
3
95
111
47
-3
-6
46
60
16
4
0
0
0
0
0
7
8
-24
187
-5
161
67
6
-31
2
22
-58
0
0
0
0
0
0
0
-24
13
-50
-9
-21
-53
-105
-42
32
12
0
0
0
0
0
0
0
-3
0
-10
49
16
-15
10
-49
-100
-7
0
0
0
0
0
0
0
0
0
-10
0
-25
14
-26
27
13
-4
0
0
0
0
0
0
0
0
0
0
-6
-6
15
3
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
1
3
0
0
-2
2
0
0
0
0
0
0
0
0
0
-12
-35
-7
-10
2
10
-2
3
-1
0
0
0
0
0
0
0
1
7
4
-34
3
24
-2
18
-5
3
0
0
0
0
0
0
0
0
-6
11
0
-51
-16
-9
28
-2
1
0
0
0
0
0
0
0
0
0
-2
5
-2
35
-4
-2
-5
5
0
0
0
0
0
0
0
0
0
1
0
0
12
-9
14
-2
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
-2
0
-1
1
-18
-1
-34
0
8
-3
0
0
0
0
0
0
0
8
4
-4
12
-3
-8
-7
-38
-4
9
0
0
0
0
0
0
0
0
3
6
-1
-1
-6
0
-22
-28
6
0
0
0
0
0
0
0
0
0
-2
-2
45
12
15
45
5
-3
0
0
0
0
0
0
0
0
0
0
0
14
-14
-16
-11
-9
-10
0
0
0
0
0
0
0
0
5
0
0
-3
0
-15
-16
38
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-8
3
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
0
0
2
-39
0
0
0
0
8
-7
35
2
0
-6
0
0
0
0
0
0
-3
0
0
-22
0
0
0
0
0
0
0
0
0
11
0
0
-21
0
-189
-219
-179
-47
-13
37
0
0
7
67
0
-133
-144
93
-39
17
0
14
71
40
22
0
-79
-97
-17
36
0
-1
-15
89
39
-59
0
-64
-24
23
0
39
-72
47
27
-8
-82
0
-139
34
0
-24
46
64
33
15
-103
124
0
-14
0
16
-5
20
14
-2
80
-6
-29
-11
0
0
-2
1
3
29
-23
-4
2
45
0
0
0
58
-1
-4
-47
0
0
0
0
84
164
0
-164
-144
-25
-84
-47
-64
0
206
37
-14
0
-144
-62
-73
-38
-36
0
-20
4
10
-22
0
-39
-102
25
-23
0
-111
33
-47
-52
-53
0
15
-77
-2
0
-61
85
24
13
-8
-30
0
-23
7
0
-3
42
15
19
-1
-30
-66
0
20
0
32
73
19
-42
4
-2
9
-41
-14
0
0
43
92
-68
30
25
-22
-41
121
0
0
0
-1
-3
84
-10
13
1
-26
0
24
89
0
-51
-113
-30
-56
-1
-20
0
-108
41
38
0
-76
-20
-19
13
0
0
-72
-48
21
-23
0
13
-76
-139
-23
0
-90
33
12
-74
-27
0
-90
17
2
0
28
9
38
6
-1
-2
0
-23
-1
0
-76
-56
9
-12
-20
-53
-123
0
47
0
-70
133
207
24
-4
43
26
-26
33
0
0
39
60
15
-24
-13
-18
-50
143
0
0
0
-2
22
68
17
13
19
6
0
-142
69
0
13
6
51
40
41
18
0
-6
22
87
0
-137
77
-115
26
18
0
37
1
53
-2
0
37
34
-29
-8
0
-32
-66
8
-33
-17
0
22
73
0
0
-81
-50
35
-22
-27
-7
0
-4
-27
0
-77
-47
-14
-59
-46
-63
-165
0
64
0
-49
66
53
52
81
83
28
9
-30
0
0
-38
37
-122
42
15
115
42
-58
0
9
0
-4
-4
-43
92
18
31
62
0
7
23
0
-54
123
75
138
25
29
0
100
32
23
0
47
-17
-39
-55
14
0
65
22
88
11
0
25
-9
-132
41
0
85
-73
-8
-48
18
0
28
-94
8
0
-63
-2
27
-12
-22
3
0
-22
-4
0
-49
-48
27
-19
-37
-30
-101
0
24
0
-1
-37
-67
21
16
-81
36
119
85
0
0
-21
17
44
-31
78
-63
111
35
0
0
0
6
8
-33
7
-14
-1
120
0
71
-1
0
128
83
126
-18
76
21
0
1
-71
-8
0
-28
59
-43
47
-6
0
-12
-47
30
-11
0
49
-74
-2
46
0
9
35
46
-29
-16
0
-52
-27
18
0
-28
41
45
-7
-39
-11
0
-66
38
0
41
24
40
1
-19
10
-100
0
81
0
119
-61
-89
-43
54
34
12
-60
0
0
0
-15
-94
-24
17
-57
57
34
9
0
22
0
-6
-5
-18
22
-13
-3
74
0
48
-153
0
43
191
76
-15
-17
10
0
-135
-171
-74
0
56
65
67
-66
-18
0
-51
-41
19
-2
0
35
66
-113
3
0
-17
-9
-38
-53
-56
0
58
-7
2
0
-23
9
20
-8
-64
-31
0
83
17
0
-9
-110
-5
-22
-26
9
50
0
38
0
0
-2
-33
25
55
104
-27
72
6
0
0
23
-72
75
-25
0
7
-7
-24
0
0
0
0
10
4
-56
-15
0
6
0
-77
-103
0
-12
97
-27
-20
0
-10
0
-37
30
-62
0
37
1
-10
0
-8
0
-1
-106
-14
2
0
83
-47
23
64
0
6
33
-60
19
-3
0
-15
0
-4
0
60
-15
78
10
-13
3
0
-25
-14
0
-49
49
-56
-23
19
34
54
0
33
0
0
0
0
-20
56
18
0
0
36
0
0
0
0
-2
9
107
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
-39
5
-4
0
-38
0
0
0
8
0
10
-83
8
0
-19
0
10
0
-37
73
0
-20
0
0
-15
0
0
0
-10
64
-69
0
0
0
38
0
0
0
29
17
-37
58
0
0
16
0
0
0
-4
-19
4
15
0
0
33
0
0
0
0
67
51
79
28
4
57
0
0
0
0
0
21
3
0
0
24
0
0
0
-1
1
-33
0
5
0
-112
0
0
0
0
-6
-14
-6
0
0
2
0
0
0
16
0
-58
65
-2
0
85
0
0
0
5
7
0
35
0
0
-76
0
0
0
-5
-1
-19
0
0
0
38
0
0
0
15
47
19
-26
0
0
96
0
0
0
7
19
-17
39
0
0
-45
0
-1
-7
55
29
-54
87
12
3
39
0
0
0
20
8
11
6
1
1
-75
0
13
0
-28
-25
-34
-31
11
0
30
0
0
34
0
-29
-87
-8
8
-44
114
0
7
9
-28
0
-79
124
6
-13
45
0
-11
16
-31
32
0
-24
7
4
169
0
0
-7
78
34
-53
0
9
1
15
0
4
-16
48
12
14
30
0
0
27
0
0
7
57
29
-19
-74
-13
0
2
0
-21
27
94
-40
53
-25
-4
13
34
0
0
5
32
70
-17
-10
-14
23
109
0
-43
0
37
-132
-34
-14
56
7
28
0
-14
51
0
-108
118
7
26
-39
-47
0
-2
24
70
0
36
4
48
-13
-56
0
10
38
-77
7
0
69
15
-31
54
0
-1
-27
-6
28
50
0
-25
-9
100
0
3
-9
62
90
140
7
0
-14
16
0
-2
13
-33
-24
-53
-46
-34
0
17
0
-45
123
83
-57
0
-45
7
-34
43
0
0
-1
128
112
3
38
-20
43
-13
0
-7
0
11
59
16
15
-11
43
19
0
24
7
0
38
-84
54
-61
90
41
0
45
-72
-69
0
72
15
57
15
-47
0
18
-29
68
-28
0
-38
0
115
-25
0
1
-86
-29
17
28
0
-36
-27
61
0
-42
26
-4
99
-31
-15
0
26
32
0
-15
-5
23
12
29
-24
-1
0
33
0
1
139
3
45
-13
60
-4
26
25
0
0
-10
62
10
39
22
43
21
10
0
-42
0
-33
5
78
68
-16
59
108
0
37
-6
0
26
63
42
66
13
45
0
-27
26
-80
0
104
17
-59
153
106
0
49
-13
36
-19
0
91
14
10
53
0
19
137
-27
-27
-24
0
-24
-2
3
0
24
-5
-47
-129
-27
-25
0
-15
5
0
21
-4
-45
14
-41
-36
22
0
36
0
89
-103
-47
-3
98
70
34
40
43
0
0
6
-120
-9
28
30
58
-29
63
0
27
0
-111
0
117
53
123
-6
55
0
43
-63
0
-41
16
27
43
-67
42
0
22
61
-16
0
51
-28
-5
-110
14
0
28
15
41
22
0
16
62
-26
33
0
2
10
-62
-27
-9
0
-25
-35
-4
0
-6
67
29
-53
-54
31
0
-4
57
0
6
21
52
-39
-73
70
-3
0
16
0
-35
-16
-118
17
60
29
-52
-36
-22
0
0
2
9
-75
13
43
-76
-11
14
0
-47
0
71
46
-14
-62
-87
7
60
0
66
25
0
-62
-25
35
-49
73
96
0
3
-15
67
0
-73
-92
-3
42
48
0
-10
10
45
26
0
50
-9
-19
31
0
-81
-44
15
-62
40
0
32
147
25
0
62
-26
-7
-52
-5
15
0
-3
27
0
-1
-1
-13
45
120
3
0
0
68
0
-25
-86
-81
-28
36
4
8
14
5
0
0
42
-131
-50
38
36
-52
-13
88
0
80
0
10
18
39
29
17
-48
15
0
0
-1
0
65
26
-114
-13
-3
64
0
0
1
-5
0
57
22
-25
-1
64
0
0
-10
2
42
0
-20
-57
0
23
0
6
0
2
28
38
0
10
4
42
0
0
0
0
11
67
-65
0
0
47
0
0
3
0
2
42
41
0
0
-16
0
0
0
0
57
-88
23
6
0
-13
0
0
0
-7
36
31
65
0
0
-57
0
0
0
0
-17
-24
-13
0
0
8
0
0
0
0
5
-30
35
0
0
-43
0
0
0
0
0
-8
-49
0
0
34
0
0
0
0
0
0
-15
0
0
35
0
0
0
0
0
-1
0
0
0
59
0
0
0
0
0
-4
19
0
0
23
0
0
0
0
0
0
7
0
0
86
0
-3
0
-7
-72
73
-10
-58
-7
43
0
0
0
14
-37
40
8
-4
0
2
0
0
0
0
5
-55
-34
0
0
-32
0
-6
34
0
84
50
10
-43
0
-4
0
15
-11
22
0
85
28
-12
0
19
0
13
69
68
54
0
-13
14
0
-86
0
36
23
-81
-30
-62
0
3
0
75
0
42
89
115
30
-16
-84
0
0
-9
0
124
-14
117
-41
9
-11
0
0
-34
0
-7
74
-38
122
73
63
-116
105
64
0
0
22
-45
-54
-29
7
52
-46
-37
0
0
0
3
10
-10
-14
-9
15
9
0
-49
-281
0
-14
-31
47
-31
-7
1
0
-20
-5
-23
0
-92
30
1
-29
37
0
-21
29
43
21
0
-3
-170
-51
40
0
-1
34
8
-92
-44
0
-95
45
71
0
33
66
66
12
-26
-55
0
-2
17
0
12
-44
-29
-15
-34
-17
6
0
61
0
40
41
17
-34
59
15
27
-103
-28
0
0
-20
56
14
-2
47
-65
8
81
0
0
0
25
27
25
-13
-3
-37
49
0
-55
39
0
-61
1
-27
-27
13
-11
0
69
43
-89
0
-78
-2
-40
-22
6
0
16
-66
13
-10
0
-9
-73
-2
-17
0
55
-8
25
9
-65
0
-190
-48
18
0
25
-26
7
-2
-60
-103
0
-150
-10
0
-18
-64
-11
-13
-60
-58
-40
0
43
0
7
11
-68
127
17
65
-23
-8
33
0
0
-19
132
43
20
-55
34
50
118
0
8
0
-3
-6
31
57
22
19
34
0
17
-23
0
-138
44
-68
-25
-89
24
0
-134
-18
5
0
-3
-49
38
19
16
0
60
-120
15
-1
0
-1
-56
-100
11
0
-102
47
-20
15
-76
0
-83
-59
22
0
-39
14
19
13
-21
-55
0
-36
20
0
-39
-4
4
26
1
-25
-79
0
4
0
-34
158
84
-57
-55
-55
3
57
-9
0
0
50
-11
-70
71
47
2
-44
-58
0
-1
0
4
54
23
-51
16
29
2
0
-71
31
0
-104
-52
-55
26
51
5
0
-45
-92
54
0
-32
-59
-142
-53
1
0
-181
-35
-1
18
0
-41
13
-34
12
0
-20
4
-29
23
-45
0
32
-27
-12
0
-77
-21
-4
-3
-6
-6
0
-25
-2
0
-161
-34
-28
2
4
-16
27
0
21
0
94
-31
22
80
29
-17
107
-19
86
0
0
-47
53
10
-21
111
-81
107
96
0
5
0
-4
7
0
-129
13
-12
9
0
118
43
0
45
-108
-30
51
26
2
0
57
-89
30
0
-140
-72
27
-2
-15
0
-21
-51
-59
10
0
-62
11
15
-16
0
-66
-109
-33
-19
-29
0
35
-29
-12
0
-9
-23
-22
1
1
40
0
9
-21
0
-53
-10
-42
-11
-24
-18
-111
0
52
0
5
-13
53
-70
10
60
82
87
-36
0
0
65
-23
43
-62
60
39
26
18
0
0
0
-5
-18
-48
145
-13
0
-8
0
-22
107
0
-67
-53
50
37
-26
-38
0
-56
-13
35
0
-96
-85
50
-11
14
0
-27
8
16
7
0
-9
-12
-32
-9
0
80
-83
43
7
43
0
-10
-4
-7
0
-86
-65
9
-10
7
43
0
-49
18
0
-124
40
-7
-1
23
10
19
0
61
0
0
-21
-4
-49
41
40
16
-5
122
0
0
-4
-111
-42
8
60
40
-4
6
0
0
0
0
23
37
54
0
0
29
0
51
144
0
-14
-122
3
-77
3
-51
0
45
153
2
0
-56
-108
11
0
15
0
69
44
23
-6
0
-25
16
-22
-1
0
-107
78
73
-1
78
0
109
7
3
0
-21
23
27
-17
26
95
0
23
-71
0
-79
33
-32
-17
10
-29
-55
0
57
0
0
0
0
-8
-50
10
0
0
51
0
0
0
0
-1
53
-7
0
0
-3
0
0
0
0
0
0
0
0
0
-33
0
0
1
0
0
2
3
0
0
27
0
0
10
-19
0
-9
-31
0
0
-3
0
6
19
-28
-20
0
40
0
0
94
0
0
-2
-46
-70
0
0
0
0
36
0
1
-98
16
-14
21
76
0
0
-10
0
8
-9
-7
-11
-4
9
0
0
33
0
0
-19
44
70
138
46
61
1
-81
0
0
0
62
-72
73
21
22
-15
84
0
-4
0
8
173
195
-22
-1
3
-61
0
0
0
0
4
34
-44
-4
0
-104
0
-3
2
62
0
-103
-73
24
0
-24
0
-2
4
55
-26
0
38
10
0
-138
0
1
0
-20
-35
50
0
0
2
-41
0
0
0
1
23
76
5
0
0
33
0
0
0
4
16
0
-3
0
0
73
0
31
112
-25
36
-3
31
-10
75
24
0
0
0
27
-7
90
60
-4
0
22
0
-8
0
25
49
67
103
-4
-5
-15
0
8
49
0
-51
69
0
-11
15
13
0
-7
-66
73
0
-22
-38
5
-51
13
0
-9
-98
-39
144
0
72
-16
-41
-50
0
-7
-9
-6
-81
10
0
-3
-45
-81
0
2
-9
117
34
-20
-18
0
13
90
0
0
26
80
-86
19
-61
0
0
98
0
2
-7
-57
-62
-30
54
15
43
68
0
0
14
-70
-43
-27
149
8
-33
-22
0
-28
0
8
94
26
-79
64
61
10
0
26
-17
0
-19
-202
36
11
-3
9
0
8
-40
-91
0
38
19
-11
-22
52
0
20
11
13
17
0
-13
-87
78
-72
0
8
-15
53
50
-10
0
-30
-11
89
0
-6
20
56
-40
73
60
0
-21
-47
0
-2
16
8
29
-34
79
-39
0
-7
0
-24
75
-80
-17
8
27
46
15
11
0
0
31
34
68
70
80
41
-14
-62
0
-80
0
14
10
-49
-114
38
-33
10
0
33
24
0
-75
-86
18
-25
-81
111
0
-5
-75
-28
0
53
74
86
4
97
0
-12
93
-33
14
0
107
14
42
182
0
-16
-52
-2
38
12
0
29
-69
-48
0
-15
77
22
-31
-76
-28
0
4
-22
0
56
-9
-42
111
-19
2
18
0
-6
0
-13
14
105
37
-33
69
42
24
35
0
0
-27
-93
43
7
79
20
86
36
0
-52
0
-63
16
-28
70
-30
130
40
0
-10
22
0
25
-98
101
112
29
70
0
11
-22
-50
0
20
31
70
-16
42
0
-9
38
18
7
0
28
49
61
93
0
-8
36
-27
63
-128
0
-38
-21
109
0
6
22
12
67
11
26
0
-65
32
0
12
24
81
-74
49
9
14
0
17
0
-46
-114
18
9
23
-35
14
-66
3
0
0
41
48
-3
18
-13
-30
54
68
0
23
0
-17
-56
62
-46
-22
-53
95
0
48
42
0
80
40
38
12
-8
40
0
30
84
-5
0
45
-57
-68
35
79
0
33
-14
-70
43
0
-29
-66
-173
87
0
27
-2
36
72
-14
0
47
28
31
0
82
19
-92
35
28
4
0
28
21
0
-4
-50
-66
-17
27
-19
21
0
65
0
42
93
-30
-58
43
18
-10
-69
26
0
0
29
-120
41
-36
-35
3
-4
47
0
100
0
6
-151
2
64
39
-32
41
0
-4
-41
0
26
19
0
-15
73
13
0
12
9
50
0
58
99
-31
45
42
0
17
-2
-64
-33
0
39
16
58
-23
0
-63
0
-1
-34
88
0
-6
82
85
0
8
-9
-58
-8
24
-67
0
0
35
0
-9
11
-20
18
0
28
0
0
20
0
-44
-49
26
3
53
39
-48
68
75
0
0
-5
73
-29
-19
53
-70
-53
22
0
42
0
-11
-158
-17
-37
-6
-3
79
0
20
-5
0
-7
59
50
-12
14
29
0
0
-4
25
0
-6
0
-20
0
22
0
0
0
24
-25
0
48
-6
0
63
0
0
0
0
-2
42
0
-1
0
79
0
17
-2
-4
-40
-48
13
0
0
101
0
0
0
-1
-2
-10
15
0
0
-31
0
0
0
-39
-57
56
33
0
0
171
0
0
0
-11
57
22
-106
0
0
-52
0
0
0
0
0
-82
53
0
0
135
0
0
0
0
0
83
-59
0
0
27
0
0
0
0
0
0
-69
0
0
5
0
0
0
0
0
0
-19
0
0
16
0
0
0
0
0
-3
0
0
0
49
0
0
0
0
0
0
-18
0
0
34
0
0
0
0
0
-6
1
0
0
96
0
0
0
0
6
-9
105
29
6
-45
0
0
10
0
0
-4
17
-7
0
-5
0
0
0
-4
4
13
-11
0
0
-75
0
0
53
0
-132
12
-20
-1
-18
-12
0
0
37
129
0
-45
59
-18
-7
6
0
3
66
13
-33
0
29
35
-14
18
0
2
43
16
-42
-46
0
-29
30
-1
0
45
65
60
14
-20
-9
0
11
20
0
-9
-26
71
5
-18
-67
25
0
32
0
69
139
23
94
46
83
-17
-12
12
0
0
-49
33
126
27
-25
-5
38
64
0
-2
0
37
15
42
49
-1
-35
-5
0
25
176
0
-75
-11
26
-13
53
-24
0
36
90
84
0
-92
16
-21
-47
21
0
13
-71
100
-2
0
6
5
36
37
0
-121
55
35
-2
-94
0
-11
-140
2
0
-21
69
78
11
-17
-40
0
-4
7
0
9
47
59
-1
-16
-66
-75
0
10
0
-54
90
-7
-8
48
33
-30
-52
-8
0
0
6
198
-45
-1
18
-28
-92
62
0
0
0
116
53
184
149
13
28
47
0
-78
17
0
-33
18
11
212
24
-4
0
-24
-61
5
0
2
-61
53
73
-9
0
44
-12
71
-19
0
22
0
3
23
0
-12
-46
-5
-33
-24
0
-40
-45
-29
0
-37
11
16
-15
-24
-17
0
-41
-19
0
-16
77
14
-1
13
1
38
0
49
0
-3
18
102
63
46
54
104
26
42
0
0
87
-69
-54
15
14
-5
91
72
0
3
0
-21
27
44
63
103
23
52
0
79
-109
0
167
-7
60
-63
-20
-9
0
-6
-98
-35
0
64
2
83
-59
-16
0
52
-5
48
31
0
40
18
-52
-3
0
17
88
13
-5
21
0
-12
-17
-52
0
-39
-5
-26
-25
-22
-8
0
-20
-30
0
20
19
-42
-25
-16
46
-71
0
40
0
-19
49
48
43
49
35
73
22
48
0
0
-23
10
-60
3
42
73
26
-37
0
43
0
-26
-39
-25
-1
-51
23
-36
0
28
-48
0
0
-54
76
101
-55
-45
0
-9
-50
-88
0
-12
76
-132
-26
-8
0
-72
-44
-94
7
0
43
-77
-45
6
0
90
44
-8
-35
27
0
-28
68
-23
0
-47
-90
3
-37
22
-23
0
-3
-17
0
-66
-90
-45
-18
22
47
-4
0
-9
0
34
-199
-84
-30
0
16
-26
-58
31
0
0
-130
-29
-48
33
-11
45
-15
-33
0
0
0
26
-9
-105
-39
-42
-12
24
0
48
-24
0
32
2
-24
-146
60
0
0
-48
-53
-39
0
-6
-62
36
-25
15
0
-45
73
-32
23
0
21
-9
11
-4
0
17
-32
-71
51
82
0
-52
32
-17
0
-79
-56
-69
-34
51
20
0
-30
-6
0
-13
-73
-109
-12
25
13
26
0
-37
0
15
-115
-87
-55
-16
-36
-41
35
42
0
0
42
-98
0
15
30
-66
14
-40
0
7
0
-4
-18
-110
-123
-8
13
62
0
-109
-48
0
-37
2
63
-34
-36
-5
0
-14
50
-53
0
20
-18
-43
82
3
0
-107
-86
-96
12
0
-1
-6
-61
0
0
-14
-110
-54
0
82
0
43
62
-41
0
-4
-91
-123
-54
47
34
0
25
-55
0
-43
-2
-126
-46
23
-1
-12
0
-51
0
-2
-9
-50
-20
-31
-159
0
115
14
0
0
39
29
7
-53
12
90
-14
-46
0
0
0
-1
-5
-92
-96
-15
0
40
0
-46
-36
0
25
58
-137
-2
0
45
0
-10
-9
-16
0
-28
-58
-17
0
-30
0
-52
-35
-45
88
0
47
-30
14
-106
0
-15
-79
-37
23
30
0
41
0
-91
0
-28
-141
-207
26
76
38
0
1
-20
0
15
-11
-41
33
80
6
-122
0
-34
0
0
0
1
-12
3
-175
0
0
82
0
0
0
0
35
30
39
-5
0
-8
0
0
0
0
0
-4
0
0
0
-14
0
0
0
0
0
-38
11
-12
0
-65
0
0
0
-12
0
4
-30
10
0
-15
0
5
0
3
-1
0
-20
0
0
-46
0
0
0
-11
104
-6
0
0
0
-28
0
0
0
-32
-25
16
42
0
0
159
0
0
0
-2
57
-42
-55
-1
0
66
0
8
27
-5
59
7
23
14
54
55
0
0
12
-15
7
141
7
78
1
24
0
0
0
-16
-2
17
-40
-5
-12
19
0
0
0
0
18
16
-168
39
-8
165
0
2
0
37
0
192
94
-12
0
137
0
-1
0
75
10
0
22
0
-11
77
0
0
0
-82
-36
37
0
7
0
85
0
0
0
12
19
-44
-30
0
0
59
0
0
0
21
18
23
8
0
0
34
0
-20
15
100
0
33
98
-4
116
30
0
0
1
60
24
37
61
36
-25
-3
0
-37
0
46
-40
-29
-42
0
-26
56
0
-2
57
0
-15
106
112
29
-21
76
0
-4
57
37
0
6
49
79
31
78
0
-3
92
106
49
0
42
4
-10
42
0
-1
-5
134
30
-85
0
35
37
-1
0
-1
69
-2
50
-60
-51
0
-7
38
0
-2
21
27
23
-53
16
-3
0
-6
0
-40
0
-5
-7
-17
-19
27
-48
38
0
0
52
28
32
74
55
-54
-1
63
0
67
0
59
-3
104
44
-45
-29
43
0
-51
19
0
-25
-32
12
71
52
63
0
6
46
6
0
4
-15
6
-92
38
0
-8
-52
84
-15
0
-18
89
-3
14
0
21
11
60
113
58
0
-21
-13
39
0
-15
17
46
-66
176
-19
0
41
44
0
48
2
-4
5
73
-109
-40
0
35
0
-72
116
36
94
16
31
17
-8
25
0
0
8
56
45
-12
37
34
-51
55
0
52
0
34
39
37
43
62
69
68
0
12
-7
0
-83
11
61
-28
59
88
0
59
-106
-17
0
-66
-28
45
58
41
0
111
54
-14
9
0
64
56
83
24
0
12
2
-66
30
17
0
-46
35
100
0
-27
-33
71
-73
7
78
0
-55
89
0
1
-17
-12
-90
-78
49
-39
0
43
0
-5
-41
52
42
23
23
-18
-9
37
0
0
-61
31
42
24
51
-21
54
46
0
-1
0
-120
19
34
48
1
-8
68
0
46
41
0
-46
8
28
-23
46
28
0
-81
21
36
0
-30
-19
9
23
16
0
-35
9
-32
-90
0
-25
2
152
-2
0
-57
66
-36
-70
-18
0
42
59
54
0
27
-40
-75
-9
-42
41
0
40
-3
0
-4
-19
-23
44
-68
-16
-3
0
38
0
46
-37
-44
40
19
30
-9
0
25
0
0
-111
38
18
-28
29
-53
40
-1
0
0
0
-118
5
-12
25
30
19
23
0
-99
-22
0
-26
11
27
-28
-80
34
0
46
26
4
0
26
49
-1
2
38
0
-10
-28
-34
-9
0
16
-37
-27
14
0
19
16
53
-64
98
0
-106
-68
82
0
-4
4
-8
35
63
-54
0
35
69
0
-18
2
41
24
42
27
-3
0
22
0
87
-78
-7
54
17
0
-8
-64
16
0
0
-86
-21
20
1
-8
-106
28
-42
0
-57
0
-17
-24
0
-43
70
64
-20
0
48
0
0
72
-59
3
-32
-90
15
0
8
16
-32
0
-8
45
-27
79
17
0
-1
3
-110
137
0
9
-25
-50
-22
0
-29
1
-3
-45
-24
0
-20
-8
19
0
24
-5
0
111
-9
47
0
-1
61
0
-5
16
-48
-10
43
29
0
0
-16
0
-35
-121
18
24
-24
-31
-61
-44
-13
0
0
42
-162
59
19
-12
78
50
-44
0
-79
0
61
-81
44
-3
-29
-21
13
0
-1
-3
0
65
45
71
-23
4
-51
0
0
1
-86
0
-45
-46
-62
-10
-4
0
0
-6
0
-29
0
-62
-46
-6
-24
0
7
0
-1
36
-16
0
-3
21
0
0
0
1
0
-49
60
11
0
0
-50
0
0
-5
-5
10
31
13
0
0
-73
0
0
0
-131
-51
19
-18
21
1
-45
0
0
0
-31
-85
33
0
6
0
-151
0
0
0
0
120
-126
13
0
0
-18
0
0
0
0
30
-66
84
6
0
-98
0
0
0
0
0
-22
-101
-2
0
3
0
0
0
0
-2
0
18
0
0
92
0
0
0
0
0
-11
0
0
0
29
0
0
0
0
0
-24
40
0
0
-5
0
0
0
0
0
4
-6
0
0
86
0
-7
-102
-46
-33
56
62
21
-56
57
0
0
-17
21
12
20
-6
-34
-8
49
0
0
0
22
157
-82
88
-22
1
69
0
-2
59
0
-54
36
57
-3
8
102
0
-1
-84
111
0
-39
48
-21
-4
42
0
121
-20
-4
30
0
3
-17
0
-28
0
81
-46
-12
-48
-42
0
5
0
22
0
49
113
-45
9
23
15
0
2
-5
0
20
26
-87
-26
6
-24
1
0
43
0
-3
45
-28
25
6
55
50
49
37
0
0
49
-10
-50
-2
6
68
56
8
0
3
0
37
132
61
68
-22
17
-12
0
-92
92
0
-64
-2
-22
81
17
19
0
-20
95
41
0
3
16
-123
21
37
0
-73
2
66
55
0
-63
65
50
-13
0
-42
49
-33
-33
-45
0
-17
75
2
0
-164
26
-8
-8
7
53
0
-51
5
0
39
-68
50
-8
-5
0
-51
0
24
0
-82
88
-25
36
7
64
19
4
24
0
0
74
-48
33
23
32
-35
66
-10
0
-1
0
50
-14
-7
-118
-127
-50
15
0
165
-105
0
36
-31
76
51
54
17
0
55
-1
43
0
-72
-1
79
-139
34
0
17
-8
15
43
0
49
-59
44
24
0
0
-69
20
62
35
0
-41
-4
-27
0
4
-47
-25
-15
-16
19
0
33
-8
0
-96
-70
-19
-12
-16
-1
14
0
19
0
27
-10
64
14
13
1
-3
26
34
0
0
-39
55
45
19
-28
15
-64
35
0
33
0
-105
-14
-28
31
74
77
-13
0
16
60
0
-51
-18
39
38
-103
-17
0
-159
31
-22
0
-8
30
146
-8
24
0
-43
46
5
56
0
56
-4
-87
4
0
-97
-19
25
-11
39
0
47
-77
-8
0
-3
-41
-25
-33
19
43
0
-21
7
0
22
-15
-11
-29
1
17
16
0
23
0
99
82
-40
47
13
3
0
29
2
0
0
-153
15
-54
-5
-2
-79
8
-11
0
25
0
54
-40
101
-91
47
62
22
0
69
-49
0
48
-1
13
-78
13
-11
0
-36
-49
-31
0
6
-65
-1
-44
-9
0
64
13
-40
14
0
1
31
92
18
0
-38
-67
39
65
15
0
-100
-64
-26
0
7
-96
-11
0
-20
30
0
-4
-2
0
-17
-53
22
-35
33
-17
3
0
25
0
-4
-58
-9
33
-12
17
-3
-8
17
0
0
-65
15
58
17
43
-26
45
-54
0
-1
0
5
-122
-114
79
38
3
6
0
-71
-8
0
-8
19
44
-65
17
-8
0
26
-42
-34
0
-33
42
-58
80
-1
0
-66
7
-19
11
0
28
-19
-37
10
0
34
4
0
23
30
0
88
-18
-20
0
-9
-30
-31
-26
-29
-18
0
5
19
0
-28
13
-8
9
3
19
-19
0
4
0
7
-51
52
26
11
11
-16
64
32
0
0
88
-34
-29
24
56
16
-49
53
0
-5
0
-16
-52
-47
67
16
2
3
0
-99
-64
0
94
-37
-44
-54
-71
-15
0
-60
-71
-46
0
58
-38
-47
20
-24
0
-98
-73
-39
-16
0
-30
38
-16
-6
0
-103
58
-1
-26
-24
0
11
93
-22
0
7
13
-12
-11
6
-19
0
55
9
0
-39
15
-10
17
41
-34
-93
0
14
0
-1
-18
-66
-29
-39
-47
-62
41
-16
0
0
0
-20
-123
8
-9
105
-7
-42
0
0
0
0
52
67
-97
15
0
-12
0
-43
99
0
-39
15
-90
-2
1
16
0
82
12
-13
0
-75
-41
5
0
-7
0
-71
4
31
4
0
66
-29
-40
-5
0
24
7
-94
-60
-48
0
-24
8
-36
0
-35
-50
-19
4
-34
-21
0
-83
-1
0
-27
-3
-25
33
-8
-19
-42
0
-21
0
0
0
0
-13
50
-38
3
0
-81
0
0
-3
0
85
-13
72
0
0
30
0
0
0
0
0
0
-10
0
0
23
0
-3
-1
0
0
10
8
0
0
-55
0
0
0
9
0
-18
-41
0
0
-22
0
4
-1
-125
-19
0
45
0
0
-27
0
0
-2
-30
-26
-14
0
0
0
4
0
0
-99
106
-62
11
47
0
0
4
0
13
0
8
12
-41
16
0
0
28
0
7
-19
79
35
47
22
84
-53
-3
0
0
-43
17
6
75
59
90
-138
-12
0
-31
0
18
-15
-53
7
12
-10
-39
0
1
-24
0
122
39
12
149
16
59
0
5
76
34
0
31
55
71
-9
18
0
-4
-4
91
65
0
32
63
26
-11
0
5
-2
-10
-16
-2
0
7
10
-25
0
0
0
15
45
-51
-30
0
0
72
0
0
5
10
52
-45
10
0
0
26
0
2
-17
-8
8
20
30
-13
-27
15
0
0
-30
122
46
8
15
-52
15
5
0
-17
0
-57
-33
62
32
-25
-69
90
0
95
138
0
-77
-21
28
-30
-10
65
0
-2
-80
89
0
28
47
28
192
28
0
-14
29
51
123
0
74
-53
12
14
0
-21
46
25
-52
26
0
-101
37
-5
0
-6
25
28
56
-29
65
0
-5
35
0
-1
4
46
34
76
-11
44
0
39
0
22
-24
35
8
35
44
46
11
34
0
0
103
-24
32
62
31
-21
16
15
0
-107
0
69
-13
35
38
112
51
46
0
-24
69
0
-103
13
52
27
54
105
0
14
-51
16
0
-62
57
-9
-31
104
0
2
-43
-31
21
0
127
-59
20
74
0
42
-5
-41
46
22
0
-22
-16
8
0
27
-10
69
21
4
-26
0
39
34
0
31
12
83
5
-78
-34
-49
0
22
0
-138
-5
30
27
49
34
5
33
18
0
0
7
2
16
48
52
-36
32
7
0
114
0
-62
-73
47
43
34
-11
11
0
-18
30
0
-62
25
35
-14
-40
18
0
24
-89
35
0
-66
16
172
-34
75
0
-2
25
62
10
0
119
-21
-20
45
0
-17
-14
-56
153
15
0
34
31
57
0
-1
-4
-136
-31
80
30
0
-18
81
0
60
7
-9
-3
34
-59
1
0
-8
0
-35
-45
-28
10
18
-15
-30
-35
42
0
0
-50
-3
44
64
60
6
34
17
0
10
0
-82
18
80
8
5
66
68
0
-42
-21
0
41
-1
16
-9
59
55
0
2
40
-51
0
51
-16
-114
-3
95
0
-10
42
-34
-86
0
80
69
53
117
0
0
62
153
-20
-93
0
-9
-31
44
0
-4
-21
30
-49
73
-15
0
62
-2
0
68
7
-34
50
34
-5
-51
0
-15
0
97
-1
-32
17
18
-17
-20
-43
31
0
0
-15
-34
35
64
13
47
80
20
0
-18
0
-77
52
43
88
36
98
9
0
-49
-65
0
64
-53
-18
5
38
16
0
-32
73
-39
0
37
-60
-72
-126
40
0
14
41
-6
22
0
-85
-67
-20
87
0
12
15
-18
-88
38
0
18
18
135
0
-9
9
-7
64
-46
-57
0
-2
101
0
-11
-18
-38
15
61
13
52
0
-8
0
18
-18
24
44
9
1
-22
-7
27
0
0
-3
19
47
41
43
97
30
29
0
-2
0
84
2
28
26
-31
-33
14
0
6
-36
0
59
-50
-1
-11
-7
23
0
39
22
-16
0
-48
-169
-74
102
46
0
-1
-7
-72
-18
0
-64
61
-35
48
0
-18
0
-1
-47
-5
0
-3
-19
53
0
-10
11
28
24
-77
43
0
4
3
0
-16
-4
34
-22
-15
17
0
0
-6
0
-111
65
-35
-3
-12
3
10
130
39
0
0
-5
-46
-10
4
21
2
-57
51
0
-11
0
24
87
47
-7
-44
-4
46
0
11
-15
0
-16
-46
-60
17
-35
44
0
0
-15
-60
0
20
3
-10
-1
2
0
0
0
-8
-47
0
-53
-13
0
-61
0
0
0
-2
12
59
0
-18
0
-4
0
4
-6
-15
-35
46
7
0
-16
15
0
0
0
-6
-2
5
-16
0
0
9
0
0
0
17
23
-10
5
-7
0
10
0
0
0
-51
98
-44
30
0
0
45
0
0
0
0
-43
61
-18
0
0
72
0
0
0
0
-4
100
25
0
0
-47
0
0
0
0
0
7
-38
0
0
-79
0
0
0
0
0
0
-53
0
0
55
0
0
0
0
0
-20
0
0
0
15
0
0
0
0
-1
0
41
0
0
16
0
0
0
0
0
-15
16
0
0
98
0
0
0
0
-1
-6
103
29
8
-39
0
0
10
0
0
-4
16
-7
0
-6
0
0
0
-4
4
13
-11
0
0
-67
0
0
55
0
-129
14
-18
0
-14
0
0
0
34
136
0
-38
74
-16
-5
6
0
3
69
29
-38
0
51
46
-15
22
0
2
43
2
-27
-52
0
-23
27
-7
0
47
67
88
21
-20
-9
0
6
26
0
-10
-27
112
-6
-33
-81
11
0
35
0
70
144
25
87
47
97
-17
-5
2
0
0
-59
29
128
21
-15
-7
37
51
0
-2
0
32
16
39
56
-2
-34
-16
0
24
190
0
-68
-3
54
-10
51
3
0
36
93
77
0
-89
37
-20
-52
31
0
18
-71
125
-12
0
-1
11
32
13
0
-124
52
50
-4
-99
0
-13
-137
-3
0
-9
66
111
-15
-32
-3
0
-9
26
0
-15
33
80
-14
-18
-77
-75
0
-7
0
-56
100
-9
8
41
51
-26
-56
-6
0
0
-3
198
-33
3
15
-28
-90
58
0
0
0
121
59
177
157
11
30
73
0
-71
25
0
-37
17
3
207
20
8
0
-26
-61
6
0
-7
-90
57
76
-7
0
44
-4
65
-16
0
33
-3
24
37
0
-14
-61
-19
-51
-3
0
-42
-47
-34
0
-28
3
4
-21
-38
6
0
-29
-13
0
-9
96
4
-18
22
37
48
0
40
0
-4
10
91
66
60
44
105
28
24
0
0
90
-67
-46
28
17
-8
107
40
0
3
0
-23
25
37
60
105
23
51
0
83
-130
0
180
-12
73
-71
-28
-12
0
-14
-96
-43
0
83
1
89
-51
-26
0
49
1
43
26
0
58
29
-44
6
0
29
81
6
-15
27
0
-18
-13
-47
0
-48
-1
-40
-23
-14
3
0
-6
-41
0
29
24
-53
-14
-24
48
-73
0
49
0
-12
33
62
35
46
-3
78
22
54
0
0
-20
9
-63
5
38
76
20
-25
0
42
0
-24
-40
-28
3
-54
22
-48
0
29
-64
0
0
-52
76
103
-55
-57
0
-17
-50
-102
0
-24
104
-134
-24
-8
0
-82
-44
-135
39
0
51
-81
-32
-4
0
91
49
-16
-31
35
0
-27
80
-51
0
-51
-82
2
-42
54
-8
0
1
-31
0
-69
-95
-58
-1
46
33
-9
0
1
0
32
-200
-97
-39
-10
35
-24
-63
27
0
0
-127
-24
-80
19
-21
43
-7
-15
0
0
0
25
-6
-98
-46
-39
-12
23
0
44
-21
0
29
11
-37
-145
61
-12
0
-51
-45
-30
0
-5
-75
34
-23
24
0
-45
86
-53
20
0
-2
-12
8
2
0
17
-35
-70
61
64
0
-47
38
20
0
-91
-67
-95
-32
55
3
0
-36
-18
0
-8
-80
-144
9
49
20
28
0
-41
0
10
-122
-90
-58
-21
-59
-35
33
49
0
0
42
-96
27
19
28
-82
5
-28
0
7
0
-4
-21
-114
-128
-8
13
57
0
-112
-48
0
-40
-17
56
-35
-37
-22
0
-18
57
-64
0
20
-29
-44
81
12
0
-107
-87
-103
-10
0
-12
-6
-59
-3
0
-11
-113
-45
9
89
0
51
58
-32
0
0
-81
-142
-68
72
42
0
20
-71
0
-47
-1
-141
-59
27
5
-12
0
-44
0
-2
-9
-54
-12
-39
-183
8
113
24
0
0
37
25
12
-60
6
94
-14
-55
0
0
0
-1
-5
-91
-93
-15
0
44
0
-43
-35
0
25
56
-148
-2
0
56
0
-10
-9
-25
0
-30
-59
-17
0
-33
0
-51
-34
-51
108
0
41
-37
14
-107
0
-16
-76
-43
31
29
0
40
0
-79
0
-22
-141
-233
24
90
31
0
0
-25
0
15
-12
-47
52
90
6
-121
0
-33
0
0
0
1
-12
-3
-175
0
0
79
0
0
0
0
37
28
28
-5
0
-8
0
0
0
0
0
-4
0
0
0
-12
0
0
0
0
0
-38
12
-12
0
-67
0
0
0
-10
0
4
-31
10
0
-15
0
5
0
4
-8
0
-22
0
0
-45
0
0
0
-11
105
1
0
0
0
-29
0
0
0
-34
-23
35
24
0
0
163
0
0
0
-2
57
-50
-56
-1
0
63
0
7
27
-5
59
9
33
11
52
49
0
0
12
-15
7
138
7
81
1
19
0
0
0
-17
-4
23
-26
-5
-13
48
0
0
0
0
24
11
-167
39
-10
143
0
2
0
42
0
197
99
-12
0
151
0
-1
0
73
11
0
33
0
-11
78
0
0
0
-83
-34
48
0
7
0
89
0
0
0
8
19
-55
-34
0
0
56
0
0
0
21
16
27
9
0
0
51
0
-22
14
84
-12
41
89
-5
115
13
0
0
2
58
13
35
59
36
-23
14
0
-41
0
45
-37
-19
-28
1
-25
56
0
-2
56
0
-10
113
115
26
-18
97
0
-4
58
44
0
14
37
76
38
90
0
-3
95
110
54
0
42
2
-13
48
0
-1
-6
138
30
-84
0
33
34
-6
0
-2
65
2
56
-64
-56
0
-7
35
0
-2
22
35
29
-48
23
-4
0
6
0
-42
5
-15
-10
-27
-3
12
-53
28
0
0
66
25
32
61
50
-41
-5
48
0
74
0
58
-1
92
42
-53
-26
36
0
-47
14
0
-31
-55
38
68
55
86
0
5
46
-1
0
0
0
6
-90
55
0
-11
-57
90
-10
0
-30
89
2
7
0
21
12
62
112
65
0
-18
-13
39
0
-17
17
40
-80
197
-19
0
44
40
0
48
3
-9
4
71
-114
-44
0
33
0
-71
122
21
65
40
48
-1
4
17
0
0
12
44
43
-2
31
28
-50
51
0
53
0
39
46
46
57
59
71
77
0
11
-6
0
-97
32
57
-26
68
76
0
57
-105
-29
0
-70
-34
48
57
49
0
107
53
-19
14
0
60
63
78
41
0
12
6
-71
30
14
0
-42
40
93
0
-26
-36
68
-69
6
88
0
-52
104
0
1
-14
-12
-101
-77
50
-38
0
36
0
0
-69
58
67
36
9
-12
-14
39
0
0
-63
26
41
28
83
-14
58
67
0
1
0
-114
18
29
41
4
-20
59
0
42
42
0
-48
6
4
-28
41
22
0
-80
19
51
0
-36
-39
3
19
-4
0
-39
7
-43
-102
0
-9
4
158
-5
0
-56
62
-37
-80
-16
0
39
58
64
0
27
-38
-83
3
-42
44
0
41
-4
0
-4
-20
-21
44
-67
-16
-3
0
41
0
47
-30
-41
78
-20
-7
-11
-2
30
0
0
-117
60
21
-21
25
-77
32
1
0
-9
0
-120
7
-28
16
25
13
11
0
-102
-21
0
-17
1
38
-28
-82
38
0
44
22
-7
0
35
56
1
-2
35
0
-10
-33
-28
-23
0
18
-46
-23
31
0
19
16
57
-63
98
0
-110
-67
87
0
-4
4
-7
31
60
-56
0
35
59
0
-18
2
43
32
40
16
-3
0
30
0
91
-67
7
52
15
12
4
-63
22
0
0
-91
-36
3
27
-42
-114
32
-48
0
-66
0
-24
-25
9
-50
67
75
-5
0
47
-1
0
81
-66
-27
-26
-95
27
0
11
15
-38
0
-16
63
-30
79
5
0
-1
3
-117
137
0
5
-29
-47
-43
0
-27
2
-8
-42
-28
0
-23
-11
25
0
22
-5
2
115
-23
50
0
0
62
0
-5
16
-51
-17
46
29
0
0
-53
0
-33
-126
41
40
-41
-45
-64
-45
-7
0
0
43
-164
97
0
-1
93
57
-77
0
-81
0
65
-87
49
-5
-24
-21
5
0
-1
-3
0
65
50
73
-23
4
-66
0
0
1
-85
0
-46
-36
-65
-5
-7
0
0
-6
0
-29
0
-77
-48
-6
-25
0
7
0
-1
33
-13
0
-4
21
6
0
0
1
0
-50
64
16
0
0
-41
0
0
-5
-5
10
29
10
0
0
-80
0
0
0
-136
-62
41
-15
24
1
-27
0
0
0
-31
-91
13
-7
6
0
-147
0
0
0
0
124
-135
7
0
0
-17
0
0
0
0
29
-71
87
6
0
-94
0
0
0
0
0
-20
-104
-2
0
2
0
0
0
0
-2
0
21
0
0
94
0
0
0
0
0
-11
0
0
0
27
0
0
0
0
0
-24
39
0
0
-5
0
0
0
0
0
4
-6
0
0
93
0
-7
-101
-46
-16
36
74
24
-64
62
0
0
-19
17
8
13
-10
-29
-6
54
0
0
0
24
162
-76
90
-22
1
58
0
-2
55
0
-55
30
70
-1
8
118
0
0
-88
111
0
-47
42
-22
-4
85
0
120
-29
7
22
0
9
-17
0
-29
0
80
-53
-21
-46
-51
0
5
0
8
0
43
119
-51
-9
34
18
0
2
28
0
17
19
-108
-5
2
-20
1
0
57
0
-3
39
-23
25
5
29
78
38
15
0
0
38
-4
-38
-1
10
58
70
25
0
3
0
36
135
58
68
-19
18
3
0
-89
90
0
-58
0
-43
88
19
18
0
-24
99
42
0
-4
17
-132
26
52
0
-66
12
67
41
0
-83
87
70
-35
0
-41
51
-52
-19
-51
0
-13
90
-8
0
-168
27
-18
20
14
58
0
-45
5
0
42
-67
58
-17
0
4
-59
0
31
0
-84
92
-29
29
-5
55
28
2
29
0
0
76
-43
51
16
7
-30
68
-23
0
-1
0
46
-18
-10
-119
-121
-48
26
0
172
-116
0
51
-29
80
50
52
31
0
57
-10
50
0
-66
-1
85
-144
45
0
18
-18
11
38
0
65
-64
47
35
0
2
-76
0
70
51
0
-43
-4
-30
0
6
-64
-53
-8
-7
36
0
51
-17
0
-107
-67
-32
-36
37
-14
8
0
26
0
24
-14
72
7
-6
-3
0
36
33
0
0
-37
47
42
21
-20
15
-68
18
0
33
0
-105
-9
-33
32
71
81
0
0
15
60
0
-51
-18
57
35
-107
-10
0
-171
36
-30
0
-10
38
151
3
20
0
-54
73
25
68
0
29
-3
-78
-6
0
-94
-31
46
-23
61
0
49
-70
18
0
2
-51
6
-47
20
61
0
-14
-38
0
36
-9
-13
-39
18
50
24
0
23
0
99
76
-49
42
30
0
-8
16
-7
0
0
-158
21
-52
0
-12
-86
14
-1
0
24
0
53
-44
103
-86
42
60
33
0
67
-58
0
42
-2
9
-79
12
-43
0
-40
-35
-49
0
5
-61
5
-45
-17
0
66
27
-64
18
0
28
32
93
35
0
-41
-82
40
64
40
0
-103
-70
-8
0
10
-95
-24
4
-20
33
0
-5
7
0
-20
-55
45
-33
6
-20
2
0
16
0
-3
-64
-11
29
-9
40
-20
-1
-1
0
0
-65
20
61
22
48
-32
44
-65
0
0
0
5
-123
-115
85
38
2
3
0
-71
-1
0
-13
43
52
-68
14
-19
0
25
-50
-36
0
-32
39
-61
78
-4
0
-73
13
-13
-1
0
31
-14
-39
30
0
41
2
-6
36
40
0
96
-15
-18
0
6
-32
-27
-50
-12
-6
0
-8
17
0
-31
19
-4
20
-1
29
-22
0
-37
0
5
-50
47
14
36
9
-9
66
64
0
0
88
-43
-32
33
73
18
-54
51
0
-5
0
-16
-51
-48
63
16
2
-9
0
-98
-65
0
98
-66
-65
-52
-69
0
0
-61
-62
-64
0
67
-42
-49
20
-33
0
-105
-76
-57
-18
0
-32
34
-15
-14
0
-104
68
27
-38
-28
0
4
94
-30
0
8
35
-6
-19
5
-16
0
48
38
0
-47
13
-30
30
19
-52
-90
0
22
0
-1
-18
-68
-23
-55
-64
-61
40
-16
0
0
0
-23
-131
3
-29
109
-7
-53
0
0
0
0
51
63
-105
15
0
-17
0
-44
107
0
-41
12
-90
-3
1
40
0
78
13
-2
0
-70
-41
6
0
-19
0
-70
2
11
14
0
69
-27
-38
-20
0
24
11
-120
-55
-58
0
-26
7
-43
0
-47
-42
-48
7
-32
-17
0
-86
6
0
-26
-5
-28
45
-9
-24
-40
0
-25
0
0
0
0
-13
59
-40
3
0
-85
0
0
-3
0
82
-20
77
0
0
29
0
0
0
0
0
0
-10
0
0
29
0
-3
-1
0
0
12
8
0
0
-59
0
0
0
12
0
-18
-39
0
0
-19
0
4
-1
-132
-14
0
53
0
0
-25
0
0
-2
-32
-23
-29
0
0
0
-23
0
0
-99
117
-59
7
33
0
0
11
0
13
0
9
13
-45
19
0
0
30
0
9
-14
66
40
20
4
79
-58
26
0
0
-42
18
17
50
70
88
-136
-15
0
-31
0
25
-24
-68
15
13
-10
-44
0
1
-24
0
126
29
13
149
16
75
0
7
75
30
0
37
76
71
-9
36
0
-6
-4
91
69
0
27
65
28
2
0
5
-2
-7
-17
-4
0
7
10
-21
0
0
0
13
41
-51
-32
0
0
63
0
0
5
10
52
-50
10
0
0
23
0
2
-18
-11
-13
23
19
-15
-30
28
0
0
-31
124
50
16
-3
-51
14
11
0
-23
0
-61
-42
45
18
-25
-80
120
0
92
131
0
-80
-17
55
-31
-24
94
0
-1
-82
100
0
40
51
30
197
33
0
-13
29
63
119
0
64
-51
23
21
0
-18
47
19
-48
31
0
-97
36
5
0
-6
25
29
53
-30
67
0
-4
30
0
-1
5
42
31
82
-10
45
0
30
0
22
-21
39
-22
63
25
50
12
21
0
0
113
-30
32
79
21
-15
15
-13
0
-114
0
64
-32
37
75
110
48
44
0
-28
71
0
-98
18
72
25
56
108
0
13
-50
20
0
-67
56
-14
-23
111
0
1
-41
-33
13
0
129
-58
12
108
0
41
-5
-41
44
33
0
-25
-17
-19
0
26
-10
65
25
-7
-27
0
42
44
0
31
14
83
8
-79
-37
-52
0
15
0
-139
-11
43
43
48
36
-1
41
11
0
0
11
8
7
51
42
-49
30
15
0
119
0
-62
-82
54
61
24
-8
20
0
-21
33
0
-69
39
33
-20
-34
3
0
23
-85
23
0
-80
8
179
-32
76
0
-6
20
58
7
0
126
-19
-24
40
0
-17
-12
-60
153
7
0
36
35
82
0
-1
-6
-144
-33
83
33
0
-14
90
0
59
7
-12
-12
38
-63
0
0
9
0
-34
-57
-34
16
57
-1
-34
-29
36
0
0
-42
-5
31
66
33
10
33
14
0
9
0
-81
23
93
4
12
63
62
0
-37
-30
0
42
8
-4
-14
72
52
0
2
40
-44
0
46
-2
-126
-12
77
0
-10
38
-38
-97
0
88
72
57
126
0
0
66
158
-29
-93
0
-11
-33
50
0
-4
-24
24
-47
82
-15
0
63
1
0
68
7
-33
59
37
-7
-52
0
-11
0
110
2
-46
45
3
-6
-39
-49
0
0
0
-27
-41
28
83
24
54
92
21
0
-33
0
-77
55
51
94
31
101
-8
0
-52
-62
0
63
-69
-24
11
39
13
0
-31
71
-51
0
50
-58
-78
-129
50
0
14
38
-8
28
0
-82
-68
-12
74
0
10
16
-19
-84
39
0
16
15
146
0
-7
10
-11
68
-51
-59
0
-2
96
0
-11
-19
-33
11
62
14
50
0
-3
0
19
-21
25
63
-1
9
-11
-11
47
0
0
-4
25
58
50
61
97
26
16
0
-2
0
91
29
11
-8
-36
-27
15
0
7
-34
0
66
-54
-3
-7
-11
26
0
38
21
-19
0
-54
-194
-74
106
47
0
-1
-7
-73
-16
0
-71
59
-34
33
0
-16
0
0
-52
0
0
-4
-18
49
0
-10
10
32
26
-83
49
0
6
7
0
-16
-4
32
-21
-16
15
0
0
-9
0
-109
72
-25
-3
-5
-1
12
129
25
0
0
-5
-57
-6
-16
13
6
-53
67
0
-5
0
20
99
57
-11
-46
-4
57
0
8
-15
0
-16
-63
-94
15
-37
33
0
0
-15
-62
0
20
10
-8
-1
-6
0
0
0
-8
-48
0
-57
-13
0
-69
0
0
0
-2
12
59
0
-18
0
-15
0
4
-6
-14
-33
47
8
0
-16
16
0
0
0
-6
-2
7
-18
0
0
-7
0
0
0
17
30
-6
6
-7
0
3
0
0
0
-52
92
-63
48
0
0
41
0
0
0
0
-46
76
-22
0
0
69
0
0
0
0
-4
107
27
0
0
-44
0
0
0
0
0
6
-36
0
0
-80
0
0
0
0
0
0
-52
0
0
54
0
0
0
0
0
-19
0
0
0
17
0
0
0
0
-1
0
41
0
0
15
0
0
0
0
0
-15
16
0
0
-21
0
0
0
0
-1
16
9
4
-4
12
0
0
1
0
0
-1
-13
-1
0
1
0
0
0
-1
0
3
-2
0
0
22
0
0
-3
0
0
7
-29
2
0
90
0
0
1
-49
0
-4
49
10
0
-20
0
0
-2
-34
110
0
35
0
-1
68
0
3
1
-44
75
18
0
45
-10
32
0
-4
7
0
-45
-68
-61
0
-43
56
0
0
7
78
-59
-14
9
-33
0
-36
0
2
2
6
45
50
11
-33
67
5
0
0
-12
-3
13
-31
-28
3
-2
-18
0
0
0
-22
1
8
38
8
-2
160
0
-2
21
0
-2
2
1
11
-9
43
0
4
14
-47
0
19
28
-19
19
41
0
-23
-3
105
-70
0
-119
33
-12
-87
0
0
-23
5
0
78
0
-5
-10
33
0
18
-20
86
-78
-65
42
0
1
54
0
-73
-20
-38
38
-30
61
10
0
35
0
-1
19
9
32
11
-27
-18
3
26
0
0
-12
79
44
13
53
7
-18
-14
0
0
0
51
21
13
2
-10
4
-56
0
6
-14
0
-19
5
-1
-16
8
18
0
6
-10
18
0
-13
-55
-12
-2
93
0
-8
-22
-19
0
0
-3
36
14
26
0
6
-8
-16
-67
-56
0
-6
-17
13
0
43
90
-110
66
101
18
0
46
11
0
8
6
-12
-29
61
19
42
0
6
0
2
-4
-20
38
14
-14
-9
19
-21
0
0
-34
0
70
73
11
15
29
-23
0
0
0
-1
-9
-108
25
3
-2
-19
0
-1
29
0
21
-34
31
-43
-6
-10
0
-3
-1
42
0
20
7
15
-12
71
0
1
-18
-74
-46
0
113
-37
-1
2
0
-3
-3
-24
-24
50
0
5
9
49
0
-7
-40
70
41
35
-55
0
15
11
0
2
9
10
16
-4
-32
-51
0
23
0
33
-18
2
-76
65
36
-5
-24
6
0
0
19
-2
-32
45
70
-49
34
84
0
2
0
0
9
-4
-62
20
-9
14
0
0
-3
0
-4
-13
-50
4
2
-7
0
1
-5
-14
0
-50
-24
-16
-1
-12
0
0
-8
12
77
0
-40
1
0
60
0
5
-3
19
-3
17
0
-13
-7
-53
0
1
3
9
92
28
28
0
-43
18
0
-29
0
6
131
-32
-101
6
0
46
0
-3
-2
-17
-60
-149
8
57
-36
-43
0
0
-1
7
-56
-56
-53
-2
32
18
0
0
0
0
-3
25
3
-9
0
-2
0
-10
2
0
-8
34
1
0
-5
18
0
0
-6
31
0
10
-35
0
-8
-27
0
-1
-5
10
75
0
34
-10
-3
-145
0
1
2
49
-45
-18
0
9
2
97
0
8
3
17
18
-111
9
0
14
43
0
7
1
-11
-1
14
-15
-2
0
28
0
-2
0
7
-11
-41
-86
8
-52
-1
0
0
0
-15
5
-33
-69
4
-48
36
0
0
0
-3
-1
1
43
-3
0
-78
0
-7
-17
0
0
0
0
19
2
-79
0
3
1
1
0
10
5
9
-1
23
0
0
1
-31
-139
0
39
0
0
22
0
1
-6
35
-46
-58
0
0
-1
45
0
-1
52
-33
48
77
77
0
1
-77
0
-1
-33
-13
-40
69
47
1
0
-9
0
0
0
0
21
-13
-11
2
8
58
0
0
-2
0
-15
-30
-32
9
0
-56
0
0
0
0
0
-1
12
0
0
-18
0
5
0
0
5
6
-14
0
0
51
0
0
-2
3
0
1
22
0
0
-33
0
0
7
-5
-13
0
-19
0
0
74
0
1
0
-1
4
-31
0
0
0
3
0
5
-4
-8
-90
-6
8
0
0
-66
0
2
0
4
80
-29
-15
2
0
-4
0
0
0
0
0
-24
-6
0
0
-10
0
0
0
0
3
3
13
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
7
0
-38
0
0
2
0
0
0
0
15
-14
0
0
0
-12
0
0
0
0
1
-13
-62
0
0
-3
0
0
0
0
1
-12
0
0
0
54
0
-1
7
5
-8
15
1
-13
-20
12
0
0
-1
-2
0
-14
0
10
-4
34
0
0
0
5
-10
28
89
-2
-6
65
0
0
0
0
6
6
37
-1
-3
-22
0
0
0
0
0
41
-42
0
0
59
0
0
0
-1
-16
0
19
0
0
19
0
0
0
0
1
0
0
0
0
27
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-2
4
4
0
0
36
0
-1
23
-35
54
43
16
41
0
106
0
0
4
-16
-11
-5
-50
-23
3
74
0
-1
0
12
7
14
82
-16
-19
87
0
0
-15
0
46
5
-40
-8
-11
94
0
-5
0
7
0
41
-15
15
2
88
0
0
0
-8
24
0
-6
-5
-3
47
0
0
2
6
-2
2
0
-1
0
-77
0
0
0
1
15
2
1
0
-1
49
0
0
0
5
2
3
4
0
0
-1
0
5
41
57
-174
11
46
-91
-7
-62
0
0
6
-37
34
40
99
6
55
50
0
23
0
26
47
-17
-25
3
7
29
0
-3
-18
0
-34
-35
91
2
34
105
0
0
0
-2
0
-71
18
6
-15
23
0
1
-4
27
35
0
42
0
18
3
0
0
5
-2
-9
-13
0
7
-5
-1
0
-3
0
-3
7
32
1
0
1
-4
0
-2
0
-2
-2
6
-7
0
0
-15
0
5
-29
-68
-102
-3
61
12
6
36
0
0
33
23
-31
-1
101
48
-15
-12
0
39
0
11
10
-39
-3
-7
13
9
0
-2
23
0
-15
17
53
27
5
-69
0
1
0
31
0
40
-59
-9
2
14
0
-2
1
-7
16
0
-57
31
3
18
0
0
1
-1
14
0
0
-2
0
-36
0
0
0
0
0
6
12
0
-4
31
0
0
0
0
-2
12
-4
0
0
22
0
11
-18
2
129
6
-63
55
87
-28
0
0
2
77
-66
-105
31
19
-39
-20
0
7
0
-14
75
27
-135
-13
-24
-8
0
-1
1
0
51
30
-93
-17
-22
47
0
0
0
6
0
-13
28
-19
0
-24
0
1
0
2
6
0
14
-43
0
3
0
0
0
1
-10
29
0
-13
2
74
0
0
0
0
-2
3
0
0
0
-75
0
-1
0
0
-2
-3
-2
1
0
-15
0
8
-65
-20
128
-40
-161
-20
-7
7
0
0
-1
56
5
13
-30
-58
-16
-26
0
-8
0
25
-41
76
-6
-41
-7
-23
0
-1
0
0
19
-12
-5
1
-5
-29
0
0
0
15
0
14
-50
10
-9
-41
0
0
0
-12
-2
0
-9
-12
7
-5
0
0
0
0
-2
-13
0
0
-5
-1
0
0
0
0
1
13
-12
0
0
-11
0
0
0
0
-3
3
4
0
0
28
0
15
28
-67
128
-31
6
-7
-14
-33
0
0
0
-29
-61
65
-58
4
23
19
0
-41
0
-4
-57
68
25
13
0
-2
0
0
0
0
-24
-39
-43
-3
-2
-11
0
0
0
0
0
-39
1
1
3
-10
0
0
0
0
-10
0
-7
-5
-4
-34
0
3
-2
0
0
-10
0
4
1
32
0
0
0
0
0
-24
9
0
0
-17
0
0
0
0
0
0
-1
0
0
-98
0
-1
3
19
11
74
-1
44
-43
10
0
0
0
-3
96
-36
-79
14
27
-61
0
2
0
0
-20
-64
64
9
0
-32
0
0
0
0
5
-18
9
0
0
-10
0
0
0
0
0
-1
35
0
0
-19
0
0
0
0
0
0
-19
0
0
10
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
-3
-2
0
0
49
0
0
0
0
0
0
2
0
0
13
0
0
0
-5
0
-28
26
-4
0
-12
0
0
0
0
1
64
8
0
0
38
0
0
0
0
0
-59
-84
0
0
0
0
0
0
0
0
-18
4
0
0
3
0
0
0
0
0
0
16
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
6
0
0
-4
-7
57
0
79
12
-1
-27
0
0
-13
23
-46
-2
79
32
-5
0
0
0
0
21
11
-10
47
-6
-1
-33
0
0
-9
0
11
-60
15
-1
2
5
0
0
0
-10
0
27
-5
0
-1
59
0
1
-2
-3
15
0
-14
-3
0
-11
0
2
1
12
-4
0
0
0
0
-62
0
0
19
-59
-89
51
-17
0
0
116
0
1
3
-6
47
-25
2
0
0
-6
0
6
-9
54
-54
17
-2
30
-43
-54
0
0
-17
27
28
-81
1
-63
34
105
0
0
0
-16
8
6
4
5
-1
62
0
1
-10
0
-13
74
-4
-11
-8
46
0
4
-4
-7
0
4
-44
-28
-1
21
0
6
20
6
-39
0
10
2
59
-1
0
-14
4
19
5
-4
0
27
17
30
0
-23
-52
21
97
14
-85
0
28
-79
0
9
15
-60
11
38
110
3
0
133
0
0
4
-61
-52
33
-11
4
34
-29
0
0
2
35
92
17
-62
-4
-15
-42
0
0
0
-9
4
-3
-40
21
6
111
0
1
4
0
1
-32
-7
21
-2
73
0
1
-3
-52
0
-9
17
9
8
34
0
-2
-10
16
-42
0
111
-1
-20
124
0
4
2
20
-19
13
0
9
-43
-36
0
11
4
-30
-14
-66
1
0
26
58
0
-43
-18
44
-120
94
23
-52
0
58
0
-4
5
38
55
-59
-11
3
49
66
0
0
33
0
-19
-11
-12
-20
-3
-24
0
0
0
-4
21
4
-49
12
-5
-44
0
5
27
0
6
-10
-12
-7
15
85
0
-1
-15
16
0
-28
1
1
-12
14
0
-12
45
-5
45
0
-42
34
-10
-26
0
-2
-21
-8
58
36
0
11
1
182
0
21
60
0
88
-12
2
0
-10
-59
0
-12
-13
12
90
68
-71
38
0
18
0
-14
-2
-20
-61
13
-64
-59
0
17
0
0
-15
3
49
61
-26
-23
16
45
0
2
0
9
-26
-10
49
-12
0
51
0
-1
10
0
3
-24
-43
-18
0
-68
0
-1
10
26
0
-26
37
11
-11
-68
0
8
-34
0
47
0
16
-6
0
1
0
-2
-25
-25
-55
88
0
0
-2
61
0
13
67
83
26
59
-65
0
-18
4
0
-17
34
2
-3
-71
-15
-7
0
-4
0
41
-2
-16
32
7
65
-14
-25
-20
0
0
5
24
-20
-35
-64
15
3
21
0
0
0
2
-15
-18
47
-1
2
20
0
0
-9
0
-17
23
21
0
-1
-57
0
-1
11
2
0
3
5
-11
0
-7
0
-21
-7
35
-56
0
25
4
-3
57
0
19
3
43
-113
5
0
14
0
38
0
-27
18
-22
-75
-98
107
0
2
-7
0
33
-6
20
11
-79
-13
-8
0
-139
0
0
0
-3
32
-64
-40
41
-25
48
0
0
-7
-41
-30
23
-12
14
0
-26
0
0
0
-5
0
4
2
0
0
-30
0
-1
3
0
23
-18
-19
12
0
9
0
0
9
-20
0
48
-11
5
0
26
0
-4
-4
-33
-16
0
-19
5
0
-29
0
0
-11
-4
29
-8
0
5
0
-51
0
62
45
39
61
54
10
0
-12
125
0
-6
-61
-17
30
-25
-51
-3
0
-22
0
0
0
-1
-4
-18
-88
-1
3
33
0
0
0
5
-20
-7
-29
0
-2
-58
0
0
0
-1
0
4
0
0
0
-4
0
2
-1
0
0
2
-1
0
0
54
0
1
-2
28
0
6
-2
7
0
81
0
1
-18
-48
80
0
-56
0
0
-98
0
0
8
-60
21
-35
0
-1
0
10
0
3
-80
20
-92
-39
115
0
-4
-66
0
-1
3
22
1
50
-21
3
0
-19
0
0
0
0
0
4
5
0
0
-23
0
0
0
0
0
35
-5
0
0
-1
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
32
0
0
0
26
0
0
0
-4
0
-1
0
0
0
-19
0
0
0
1
-8
0
-5
0
0
-17
0
0
0
0
4
-58
0
0
0
23
0
0
0
-4
33
32
-49
0
0
-39
0
0
0
-1
18
-26
5
0
0
50
0
-8
10
-29
68
12
23
-47
-5
-20
0
0
-4
-3
66
-32
66
35
2
57
0
1
0
0
84
-1
-27
-12
-9
-72
0
0
0
0
20
-83
2
24
0
97
0
2
0
11
0
72
-72
0
-2
20
0
1
0
1
0
0
7
4
0
-53
0
0
0
3
1
-12
0
0
0
43
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
0
29
0
12
-82
-36
-35
20
-105
23
0
177
0
0
2
5
82
71
-27
-29
53
6
0
-4
0
-32
-20
-44
22
20
-21
112
0
0
6
0
-4
39
63
-36
-45
42
0
0
-1
9
0
20
-30
-14
15
26
0
3
0
5
-4
0
-6
-12
-13
51
0
0
3
-4
-3
-10
0
24
-7
-19
0
0
0
-2
1
-4
8
0
2
45
0
0
0
0
-5
2
-12
0
0
59
0
10
18
73
-112
-28
-61
-2
-31
51
0
0
55
-48
-22
64
60
33
2
-40
0
-33
0
-1
8
78
36
18
-8
44
0
0
-2
0
57
-33
74
30
24
40
0
-1
0
27
0
20
-28
20
-4
46
0
-4
0
0
-2
0
-25
-15
3
-39
0
-1
1
2
-2
-1
0
-4
-6
-70
0
0
0
1
14
27
-11
0
0
42
0
-1
0
3
1
32
5
0
0
-70
0
-4
-1
-26
53
-32
54
5
46
137
0
0
11
100
-48
56
-71
-47
55
64
0
18
0
-8
43
10
66
-28
4
-75
0
-10
8
0
-15
31
-64
26
24
39
0
-1
0
-14
0
-67
27
10
4
-40
0
0
0
-26
22
0
10
-5
-2
106
0
0
0
0
0
2
0
3
1
37
0
0
0
-6
2
3
3
0
0
-5
0
0
0
3
2
9
0
0
0
55
0
-11
42
-12
156
52
-35
63
38
16
0
0
27
-27
22
26
-23
53
-53
48
0
12
0
1
-55
-24
-6
-31
16
107
0
-2
-7
0
-15
-33
-7
-62
-16
64
0
-3
0
35
0
19
-19
-13
-11
8
0
1
-3
7
-6
0
-5
-4
-1
25
0
1
-2
1
-1
-7
0
-12
0
68
0
0
0
0
0
0
0
0
0
-26
0
0
0
-5
2
4
-2
0
0
-3
0
34
-50
-13
64
-6
100
-83
6
-82
0
0
-7
-22
-111
-11
-58
14
20
0
0
-6
0
78
30
147
-24
-8
-19
29
0
-3
9
0
-57
-16
-43
32
-7
-54
0
1
0
-15
0
-36
-5
-13
0
13
0
0
0
3
13
0
5
-3
4
0
0
0
0
0
1
0
0
2
0
-27
0
0
0
0
0
9
0
0
0
-58
0
0
0
0
-6
-4
0
0
0
45
0
16
37
20
35
-76
27
32
-21
5
0
0
-9
35
8
-49
51
7
-45
29
0
-11
0
40
-12
-14
-17
7
3
75
0
3
3
0
39
-5
28
-13
0
-1
0
0
0
0
0
-24
31
3
0
-20
0
0
0
-5
1
0
-18
0
0
-72
0
0
0
1
-1
1
0
0
0
8
0
0
0
0
0
-4
-1
0
0
7
0
0
0
0
0
-2
0
0
0
-78
0
-7
7
-78
18
43
3
39
-1
-38
0
0
0
2
32
-57
52
-7
0
73
0
16
0
-3
-45
-55
30
-1
0
-56
0
0
0
0
1
51
-80
0
0
-70
0
0
0
0
0
-1
19
0
0
20
0
0
0
0
0
0
4
0
0
39
0
0
0
0
0
1
0
2
0
-52
0
0
0
0
7
2
0
0
0
31
0
0
0
0
0
-1
-2
0
0
-66
0
0
0
-12
-44
128
32
0
0
-21
0
0
0
5
-20
-35
10
0
0
-47
0
0
0
0
-5
-20
-28
0
0
-7
0
0
0
0
0
-9
3
0
0
6
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
0
0
7
0
0
0
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
0
0
0
0
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
-11
9
-2
4
30
3
3
8
38
3
34
0
0
0
0
0
0
0
0
0
0
0
20
4
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
174
0
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
7
4
0
71
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
0
166
0
-21
0
7
2
105
0
0
0
0
0
0
0
0
0
0
0
42
-7
0
0
0
6
3
0
0
0
0
0
28
-28
33
21
-8
9
-5
-1
-45
0
0
0
0
0
0
0
0
1
0
0
0
13
2
0
0
1
-2
0
16
0
-8
0
-3
-10
-12
6
-54
13
-2
0
-66
0
0
0
0
0
0
0
0
0
0
0
11
-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
-64
0
0
0
0
60
17
-3
89
62
42
-24
73
142
194
-38
0
0
0
0
0
0
0
0
0
0
7
8
16
0
0
0
131
-8
-27
-6
-13
26
121
145
19
0
0
44
36
129
-1
-18
0
-52
8
-13
-71
40
-54
0
23
0
-72
-63
-44
-67
87
0
-30
0
0
0
0
36
1
-38
187
28
-42
77
179
165
32
27
0
-1
0
6
0
33
-5
6
-6
0
-39
-50
-61
-50
35
0
34
0
0
0
0
155
45
199
177
23
221
159
168
175
82
35
0
-22
0
-1
-63
35
38
0
-64
0
-33
36
-37
-11
16
0
46
-1
0
0
0
17
6
8
-47
0
-33
73
60
147
105
50
0
1
0
14
6
52
104
0
25
0
8
163
-13
157
64
0
21
0
0
0
0
0
3
-24
-4
27
88
95
-34
43
11
37
0
0
0
0
0
2
35
0
1
0
0
46
89
-5
-7
0
57
0
0
0
0
0
0
-81
77
52
171
-66
100
-11
-15
-50
0
0
0
0
0
0
0
0
0
0
4
4
19
-16
0
0
-12
29
-18
-68
54
22
95
32
5
0
70
5
5
23
7
-15
0
13
29
37
18
0
-6
0
4
0
-130
-7
-20
-4
-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
-39
0
0
0
0
0
0
0
2
-21
78
-5
23
0
-21
-92
0
-2
0
-1
-7
102
44
-5
22
0
0
0
7
15
-8
0
-68
0
0
0
0
0
0
0
-2
-2
0
2
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
22
1
2
0
-8
5
2
-4
0
-39
0
0
-3
33
0
0
-5
0
0
1
0
16
0
0
-2
0
0
0
0
0
0
0
62
-160
1
43
14
4
0
-36
0
75
0
35
4
-22
5
2
0
0
0
3
-2
-6
0
0
-8
0
0
0
0
-5
-59
0
-49
-17
91
-31
4
137
12
31
0
45
0
-39
6
-74
-16
19
-43
0
-46
-29
0
-9
18
0
-50
0
0
0
0
-2
0
0
53
23
7
-64
190
-7
16
-45
0
-4
0
-3
0
4
0
0
-15
0
112
4
-12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
5
0
-57
0
17
0
-5
-10
54
16
0
-49
0
47
-11
-10
-23
24
0
-37
-29
-19
-37
29
-13
40
0
173
-25
76
40
88
80
-1
-20
0
-12
0
-4
-81
-25
-60
49
-1
0
-13
1
19
-40
-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
1
0
1
-3
-21
15
0
98
15
224
53
264
141
80
-11
0
2
0
-2
3
-153
-13
-41
-53
0
22
-11
-35
57
-89
0
0
4
13
0
94
74
178
45
57
-8
253
-8
48
-54
10
-10
0
1
1
1
72
-51
59
-42
-21
0
-100
27
-3
-23
-77
0
-63
-11
27
3
-1
1
-1
0
109
8
285
0
-18
127
68
-2
0
37
-2
65
-49
3
15
-51
25
0
75
-21
35
-4
-16
0
37
-7
0
-1
7
21
164
62
-30
-14
125
27
-62
-8
38
-2
0
57
-8
-38
17
-49
38
-11
-54
0
12
-36
21
3
-7
0
-5
-24
0
0
0
-70
3
0
-6
-27
71
24
-90
-2
-7
-21
0
136
0
-1
-7
-115
0
0
11
0
-23
-50
11
10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
-283
-41
33
48
23
6
3
127
-17
12
-8
0
0
0
0
0
0
0
0
3
0
-2
-59
-12
-2
0
0
0
0
0
0
0
-5
2
0
0
-14
0
-2
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
-4
0
6
9
16
0
-15
1
20
2
-58
0
0
0
0
0
0
0
0
3
0
6
27
-9
0
0
0
0
-2
0
0
0
-10
0
8
0
35
0
-165
-1
4
8
21
0
0
0
0
0
0
0
0
0
0
-1
-12
-35
0
0
0
0
1
0
-3
0
-1
0
176
114
30
5
2
3
-25
28
2
0
0
0
0
0
0
0
0
1
0
-9
-38
55
10
0
0
-14
-11
1
12
3
4
0
110
41
-72
3
26
120
-10
0
-16
0
0
0
0
0
0
0
0
0
0
0
4
-92
-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
-70
-4
6
-1
25
90
44
91
54
28
111
-4
27
91
141
-47
0
6
-19
0
0
-4
1
0
12
0
12
-63
42
-11
-1
0
64
-5
7
-17
21
46
115
83
62
0
84
52
14
40
14
-5
0
19
-3
21
110
15
35
18
-17
0
59
-52
17
-14
7
0
41
0
0
10
0
61
-5
25
20
4
-21
-18
109
104
35
20
0
18
0
6
4
49
-11
-30
20
0
-22
-94
4
-88
-80
0
1
0
0
0
0
170
69
84
97
5
65
-47
22
80
107
-17
0
18
0
-6
-111
27
-72
2
107
0
15
-29
-17
-70
-18
0
-26
-1
0
3
0
137
-12
153
84
26
-25
-15
142
146
110
11
0
-35
0
13
-17
-63
80
-1
-27
0
-56
91
-30
-46
-37
0
-20
-4
0
0
0
3
11
144
46
18
107
38
103
58
-8
9
0
-2
0
0
-5
6
-5
1
-1
0
-3
-30
-64
-2
-15
0
5
0
0
0
0
21
-2
43
86
6
229
61
45
23
-9
25
0
0
0
-5
0
0
0
0
0
0
3
5
2
-37
0
0
-38
-43
-85
-90
-42
68
102
24
0
0
45
-5
7
10
19
1
0
1
1
44
-29
-11
12
13
-28
0
-50
-10
-3
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
-85
0
0
0
0
0
0
0
-20
-14
143
-57
23
0
-10
-3
0
-42
0
-41
-5
43
2
-24
-7
0
0
0
42
70
-11
0
-33
0
0
0
0
0
0
0
1
14
14
14
22
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
-39
-14
2
0
-13
1
-1
-50
0
16
0
-1
11
48
-41
8
-6
0
0
14
1
-2
-7
0
20
0
0
0
0
0
0
0
-25
-27
0
1
83
17
-5
19
0
42
0
-34
2
1
-5
3
1
0
0
-4
-33
-13
0
0
-27
0
0
0
0
-15
-65
0
-94
-13
118
16
94
3
3
6
0
-44
-10
-2
12
102
1
93
-42
0
-27
-18
11
22
17
0
-19
0
0
0
0
-21
0
0
79
78
194
-51
38
-33
-29
33
0
-8
3
6
1
7
0
-7
-111
0
69
108
-49
-134
9
0
-14
0
0
0
0
0
0
0
0
0
0
-1
0
39
0
-11
0
44
-1
1
21
12
-26
0
-24
0
26
13
15
6
13
0
-9
51
6
-40
-59
-21
17
0
-10
9
156
16
34
-139
87
-18
0
0
-4
-92
-1
-17
-47
66
26
0
-42
5
-15
42
-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
66
13
3
-12
28
35
0
-12
9
132
-35
21
10
-75
-27
0
-50
0
0
11
-35
34
58
-2
0
60
-57
-52
15
46
0
0
-23
-12
10
-91
33
57
-120
13
15
145
4
38
-9
46
-4
0
-70
69
-83
-21
-47
-1
16
-111
0
4
6
-8
-14
-34
0
-2
41
-27
15
-4
140
171
0
33
6
135
-8
13
43
79
-5
0
-119
-2
-64
43
-73
7
-24
-62
0
-9
10
-4
6
47
0
-22
-28
0
39
5
60
91
29
35
39
199
2
-78
22
149
8
0
28
-45
39
-24
-51
-47
-24
-26
0
-37
-7
-45
-22
-31
0
1
-31
0
-8
-1
-61
9
0
-8
27
93
-24
16
-45
0
-7
0
125
4
-6
-10
-112
-2
-23
-46
0
-85
23
-52
-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
45
-15
2
1
-289
-38
33
47
30
6
3
125
-14
14
-39
0
0
0
0
0
0
0
0
3
0
-2
-58
-14
-2
0
0
0
0
0
0
0
-5
2
0
0
-16
0
-2
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
-4
0
6
9
19
0
-15
1
20
2
-81
0
0
0
0
0
0
0
0
3
0
6
28
-10
0
0
0
0
-2
0
0
0
-10
0
8
0
36
0
-164
-1
4
8
15
0
0
0
0
0
0
0
0
0
0
-1
-13
-33
0
0
0
0
1
0
-3
0
-1
0
177
127
51
8
-1
6
-25
29
11
0
0
0
0
0
0
0
0
1
0
-9
-38
54
10
0
0
-15
-11
1
12
3
4
0
110
45
-71
3
37
121
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
-89
-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
-74
-4
6
-1
25
90
43
84
71
-7
116
-8
23
83
148
-39
0
6
-19
0
0
-4
1
0
12
0
12
-64
34
-11
-1
0
65
-5
7
-17
21
56
117
73
25
0
61
17
-7
5
-8
27
0
34
-1
23
103
23
48
25
-14
0
76
-58
18
12
9
0
25
0
0
10
0
59
-5
32
23
-28
-19
-18
108
101
34
6
0
18
0
6
4
50
-8
-30
20
0
-16
-100
7
-92
-82
0
-51
0
0
0
0
174
68
76
59
-19
54
-53
11
70
101
-45
0
17
0
-6
-107
29
-74
2
113
0
12
-28
-19
-68
-18
0
-43
-1
0
3
0
134
-11
143
91
5
-37
-25
159
155
112
-16
0
-34
0
12
-18
-67
79
-1
-31
0
-51
84
-39
-49
-41
0
-23
-4
0
0
0
3
11
140
54
2
107
38
128
58
-7
-19
0
-2
0
0
-5
6
-6
1
-1
0
-3
-28
-69
-2
-15
0
4
0
0
0
0
21
-2
40
100
23
227
81
47
18
-9
38
0
0
0
-5
0
0
0
0
0
0
3
4
2
-33
0
0
-17
-59
-79
-87
-56
66
85
52
5
0
22
-9
7
10
6
4
0
-8
-10
28
-23
-6
-1
-4
4
0
-24
7
9
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
-93
0
0
0
0
0
0
0
-17
-21
145
-54
24
0
-10
19
0
-39
0
-43
-5
44
-1
-23
-8
0
0
0
40
69
-11
0
-33
0
0
0
0
0
0
0
1
16
14
14
22
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
-48
-16
2
0
-12
1
-1
-45
0
17
0
-1
11
48
-42
8
-6
0
0
14
1
-2
-5
0
18
0
0
0
0
0
0
0
-23
-27
0
3
87
17
-5
1
0
39
0
-34
2
2
-5
3
1
0
0
-4
-33
-13
0
0
-28
0
0
0
0
-15
-64
0
-100
-35
107
-2
108
3
8
21
0
-34
-8
-5
10
104
8
89
-47
0
-31
-12
13
28
19
0
-4
0
0
0
0
-21
0
0
80
77
192
-45
40
-37
-28
35
0
-8
3
6
1
10
0
-7
-114
0
65
120
-48
-132
9
0
-15
0
0
0
0
0
0
0
0
0
0
-4
0
38
0
-1
0
51
-1
1
27
10
-24
0
-4
0
37
10
17
13
15
0
1
50
8
-39
-59
-19
17
0
-39
46
156
-13
41
-166
90
-18
0
-2
-4
-91
2
4
-39
57
20
0
-51
-21
-41
54
-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
65
13
3
-11
47
53
0
-8
43
141
-58
9
6
-89
-27
0
-48
0
0
11
-30
39
69
11
0
62
-53
-41
19
53
0
0
-25
-12
9
-99
23
47
-137
8
39
141
-14
18
-4
83
-9
0
-76
68
-86
-18
-44
4
23
-130
0
7
-2
-1
-10
-26
0
-1
50
-27
16
-4
142
176
0
-9
28
139
-7
11
51
84
-3
0
-114
-5
-76
44
-95
-1
-25
-31
0
-35
15
-19
16
49
0
-34
-28
0
39
5
55
102
37
55
56
213
-19
-82
16
178
7
0
22
-45
36
-31
-69
-76
-23
-28
0
-38
-2
-32
-31
-29
0
-3
-31
0
-8
-1
-55
9
0
-15
9
96
-21
24
-72
0
7
0
128
4
-4
-10
-116
-2
-23
-54
0
-88
46
-60
-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
-3
11
-1
1
21
0
1
1
10
0
-54
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
-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
-7
0
-2
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
-3
0
4
0
1
0
0
2
-22
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
-1
0
0
0
0
0
12
-1
-75
0
5
-2
0
-2
-29
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
1
0
0
0
0
0
0
16
8
-7
0
3
14
0
0
-70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-122
-2
0
0
0
1
0
-32
-25
-59
15
-38
32
31
-15
-89
0
0
-7
0
0
-1
0
0
0
0
0
6
13
1
0
0
13
-1
0
0
0
41
5
-48
-126
0
-70
16
-151
-71
11
124
0
40
0
28
3
61
52
-22
-1
0
-34
48
35
-33
33
0
-26
0
0
0
0
-1
0
-10
73
-23
-5
16
-16
7
4
-1
0
-2
0
-2
-1
-8
22
-3
9
0
-1
-19
2
-24
-2
0
-162
0
0
0
0
9
0
22
-209
39
1
-52
-42
-23
-71
54
0
-2
0
0
9
16
-5
-1
63
0
23
7
-55
3
2
0
-26
4
0
0
0
-1
-3
12
-95
-25
-11
-93
-38
-57
0
-37
0
0
0
1
0
2
-3
2
-49
0
20
-21
-50
-40
-14
0
-43
0
0
0
0
0
0
-11
7
-29
4
20
-6
0
0
-122
0
0
0
0
-1
0
0
-1
-1
0
0
-23
-22
0
0
0
-57
0
0
0
0
0
0
17
-19
-2
-1
16
9
0
0
-128
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
66
-63
122
17
-38
91
29
76
38
0
22
-5
61
160
-3
15
0
-6
17
-3
-29
49
-49
14
7
0
15
6
-46
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
-11
0
0
0
0
0
0
0
12
-21
-6
0
0
0
0
71
0
2
0
0
0
-8
-14
-1
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
1
2
0
0
3
0
0
18
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
7
0
0
3
0
0
39
0
1
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-1
9
0
0
0
-107
0
0
0
0
0
-1
-2
0
-2
0
0
0
1
0
0
0
3
0
0
0
0
-1
0
0
6
75
1
-36
11
11
0
26
0
-17
3
9
-1
19
18
4
-12
0
-4
0
0
4
-3
0
27
0
0
0
0
0
0
0
2
8
0
-10
12
-2
0
10
0
0
0
0
1
4
0
0
-4
0
-5
34
-1
15
9
0
2
0
0
0
0
0
0
0
0
0
0
-27
0
27
0
11
0
28
0
22
17
-22
-1
0
41
0
19
-24
-27
56
15
0
-9
-67
32
-1
4
-10
3
0
-71
66
33
-105
-3
-44
16
-22
0
11
0
14
-21
4
-10
10
-26
0
19
-21
27
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
45
34
-38
-24
-25
-6
-37
-23
0
-2
0
-1
0
25
-29
33
32
0
26
33
18
-13
10
0
0
3
0
0
-10
87
-43
-37
11
-31
9
-97
-85
-16
64
-3
0
-35
4
-22
16
23
-13
64
-31
0
26
-42
-10
72
50
0
-13
4
-4
0
0
-6
2
0
-84
47
44
58
-119
29
-6
14
0
-2
9
-27
0
-36
27
-26
14
0
-75
-50
39
-62
-12
0
-29
0
0
0
0
-22
-21
-14
90
32
21
-24
14
23
45
-27
0
-7
-8
3
18
-12
-40
-10
2
0
-34
-24
14
-50
-16
0
26
2
0
0
0
0
0
0
3
2
1
-31
22
-8
0
-20
0
15
0
-4
-2
-7
0
0
-27
0
3
19
15
6
0
-59
-59
22
-56
-26
-54
-59
0
17
-130
-70
-97
-61
-39
-41
-40
-36
-30
-125
-47
-100
-89
-56
-61
-20
-15
-32
34
0
62
-3
54
-92
-33
-47
-33
0
0
0
0
0
5
24
0
0
0
69
69
-40
-40
-2
5
2
0
0
0
0
0
9
81
0
0
9
24
79
96
-9
42
15
-5
0
0
0
0
8
99
35
152
61
102
26
19
27
-29
-24
-9
-1
0
0
0
0
65
-43
-26
25
-11
-64
-9
-60
-4
-28
83
-2
0
0
0
0
0
-55
-6
-22
-40
-42
-14
-10
-19
27
35
15
13
0
0
0
0
0
-20
-48
-18
-22
-53
10
30
31
5
16
-11
4
0
0
0
0
0
-12
-65
-23
-51
5
19
-32
-90
48
9
6
0
0
0
0
0
0
0
-110
-59
-26
56
24
17
54
-24
-1
-5
-1
0
0
0
0
0
0
1
-92
-33
10
-17
-22
27
-5
6
0
0
0
0
0
0
0
0
4
72
0
0
0
27
34
106
10
7
0
0
0
0
0
0
0
9
-46
0
0
34
153
50
1
44
-1
5
0
0
0
0
0
-2
15
50
49
-2
22
-79
23
12
28
-2
-1
0
0
0
0
0
0
32
55
23
151
-67
-102
-86
-13
-13
-1
0
0
0
0
0
0
0
49
152
-66
-42
-83
-93
4
4
2
-2
1
0
0
0
0
0
0
-38
0
45
29
0
-39
-12
2
-12
0
2
0
0
0
0
0
0
11
39
11
-34
-38
-11
30
6
3
-2
0
0
0
0
0
0
0
-10
-119
-56
73
86
-33
-44
-1
-4
0
2
0
0
0
0
0
0
0
-16
42
88
11
-2
-8
0
1
1
0
0
0
0
0
0
0
-92
-125
0
0
0
9
-1
38
-26
5
5
0
0
0
0
0
2
24
140
0
0
68
108
-19
19
-28
-5
12
0
0
0
0
0
-10
-30
57
119
101
134
-23
-2
2
-52
37
-1
0
0
0
0
0
2
55
-58
47
9
38
9
-15
-13
-4
1
14
0
0
0
0
0
-6
67
-27
45
7
-40
24
29
-7
9
-2
0
0
0
0
0
0
0
-35
80
10
31
17
-61
15
27
-7
1
1
0
0
0
0
0
0
-51
-86
-45
-76
43
36
29
17
0
-2
26
0
0
0
0
0
0
1
-73
-18
-16
43
-92
7
-1
2
1
0
0
0
0
0
0
0
19
-155
-17
-74
-37
17
20
-7
2
-1
12
0
0
0
0
0
0
81
-38
0
0
0
27
-3
8
-1
-4
0
0
0
0
0
0
20
-1
-21
0
0
-33
56
-39
51
47
0
0
0
0
0
0
0
58
133
59
93
183
60
-45
74
16
6
-5
-1
0
0
0
0
0
58
-51
-31
55
69
16
-30
46
4
-2
5
0
0
0
0
0
0
-52
35
59
20
-43
-19
-11
-8
-6
-7
17
0
0
0
0
0
0
41
40
-25
-26
-67
-16
-14
19
12
2
1
0
0
0
0
0
0
0
30
-83
25
-5
-25
20
-44
-3
5
-1
0
0
0
0
0
0
0
-11
-26
-32
-40
-40
-6
44
18
-5
0
0
0
0
0
0
0
0
1
0
-10
-74
44
-58
19
-4
0
0
0
0
3
22
36
70
6
-49
50
0
0
0
-47
13
27
48
13
-2
1
13
-49
-24
19
7
-34
-14
0
0
0
8
22
-29
17
23
-13
-3
-56
22
-8
3
28
5
46
-29
-53
16
-25
48
5
-68
67
-2
2
-12
-1
-1
-14
-30
-17
37
-13
83
23
-31
103
24
37
-15
9
-3
-29
48
-54
54
-78
0
0
-4
-27
30
51
77
30
-44
41
17
0
-3
-80
61
-13
6
-21
14
-21
-38
-19
18
-46
-13
15
9
1
-2
41
54
-17
34
-3
-72
25
-21
-7
-25
30
65
-31
-5
-2
0
-1
11
19
32
99
-116
-4
9
18
-41
-13
103
40
-38
-9
11
11
7
-2
124
-55
-42
-52
-27
-26
23
-26
16
-26
-33
9
19
0
-3
0
-9
129
64
-15
63
6
-32
0
0
0
-5
70
-80
-18
11
24
-4
42
34
64
-10
61
-45
-58
0
0
0
25
-32
-3
10
15
-40
-2
33
-27
47
-8
-103
45
23
-89
71
-13
74
34
-62
-22
30
35
0
-80
-54
-4
66
-41
-12
33
39
75
-25
14
-25
-59
-34
85
49
12
-13
82
84
53
-35
21
-19
-53
31
2
52
11
-4
-8
-11
18
0
2
-18
49
28
46
113
-12
-15
-60
38
26
-20
24
44
42
3
6
-82
-16
40
56
32
18
67
-74
8
25
-17
-13
-29
-33
-13
0
-3
57
43
25
-31
46
51
45
-38
29
4
36
29
37
38
37
-19
2
34
16
51
-19
79
-4
43
50
61
26
-35
9
18
9
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
-65
-26
11
13
25
-28
-115
0
0
0
53
-47
31
27
48
-8
0
-20
-21
1
4
31
5
-2
0
0
-36
15
-23
8
-36
2
-5
1
7
-6
1
3
16
21
-44
-1
-61
-40
30
-17
-34
-2
19
0
0
-8
-5
-4
10
9
-13
27
-70
-7
77
-32
-49
-5
-23
0
-3
0
-10
15
2
7
-5
-81
-44
41
20
-57
4
-16
-4
41
8
0
0
18
9
9
-13
18
-14
53
-30
-24
13
2
42
-15
-5
10
-4
0
-7
-27
12
-38
21
37
-89
-56
-81
33
-56
-7
-11
2
-7
0
0
-42
18
28
-38
50
-8
-39
-112
-77
-2
46
41
-13
23
56
2
0
0
-13
-32
17
-49
-45
-8
-18
-31
-79
5
-4
0
-1
0
0
2
-95
-43
5
-7
0
2
47
0
0
-36
-46
-78
-23
-27
-5
0
0
-54
-75
-18
-10
5
-1
54
68
47
0
2
-43
-92
-42
10
-2
0
-93
-59
-19
-7
-6
-9
37
50
123
25
-37
38
32
12
-9
0
0
-117
-34
-10
-5
-5
-11
-23
-34
-91
-120
-17
-17
-14
-19
-1
0
0
45
-31
-19
-5
-15
-14
6
-25
-52
-47
-34
-12
42
16
-2
0
0
-23
-24
0
-1
-14
-21
16
-78
-20
-35
54
14
-8
-15
0
0
0
-57
-24
-15
-5
-8
-8
-10
27
-12
-31
-33
15
55
-1
-1
0
0
43
-71
25
-8
-10
-41
3
-56
-108
-32
78
-31
4
-2
0
0
0
43
-69
7
17
-45
-40
-88
-51
-3
-33
-28
14
4
0
0
0
0
-27
-17
104
30
-26
-131
-15
0
0
-5
20
23
-1
2
0
0
0
43
6
-10
6
-73
-52
-64
-95
-116
-8
10
-2
-4
-1
0
0
0
-14
-2
6
25
-14
-2
-71
62
-117
-42
12
-7
-7
-1
0
0
0
0
-1
21
14
-51
72
-36
-114
-113
-5
1
4
13
0
0
0
0
10
12
11
-67
-14
-19
-33
-64
-91
-32
0
-2
2
0
0
0
0
6
1
28
14
23
-22
-32
-43
-57
-6
21
-8
0
6
0
0
0
8
-5
39
-13
-42
74
10
42
-111
-18
-19
2
28
0
0
0
0
2
-2
29
-35
10
6
-21
20
13
-9
17
-2
0
12
0
0
0
-9
-13
-2
39
30
135
-20
3
56
4
-3
-4
19
0
0
0
0
-12
-16
2
4
-65
-36
26
-17
0
-9
1
-1
-1
-1
0
0
0
-31
-26
-3
-2
-7
11
0
-98
5
-5
-9
-23
-19
22
0
0
0
-5
-8
10
-9
-12
-37
-7
134
108
-34
-15
-35
0
0
0
0
0
-12
-9
2
0
-12
7
38
-6
-49
-33
1
0
-7
0
0
0
0
-7
7
-1
-4
36
14
-44
-40
-40
-14
-34
1
12
-1
0
0
0
-9
6
-3
5
-2
37
10
70
-85
-5
-3
-12
-1
0
0
0
0
-26
-24
2
-26
-8
9
-55
38
-28
-3
-4
8
1
1
0
0
0
-24
-16
-48
-1
-21
-24
-8
14
-110
-38
8
23
10
0
0
0
0
-24
-15
13
-64
-81
-51
21
-4
25
6
-5
0
0
0
0
0
0
-8
-12
-7
-20
23
7
12
0
0
-9
60
14
15
5
-7
-3
1
-20
-6
-18
-7
26
14
20
0
123
0
-2
-28
13
25
-2
44
0
-31
-23
-10
-14
-2
-27
56
4
43
82
10
50
-20
-2
24
-2
0
-44
-35
-13
-13
-8
-5
61
145
-27
14
-70
55
-31
2
-1
-1
0
-1
-16
-18
-21
-24
-32
2
75
-63
-120
26
-15
10
-34
0
0
0
32
-23
-12
-12
-10
-26
47
44
-15
42
-69
-4
-64
22
0
0
2
-93
-46
7
-14
-49
-11
16
45
-118
-66
-45
-32
0
-21
-1
0
0
2
-51
42
35
28
-3
-32
-40
-22
-38
19
-56
-26
-14
0
0
0
1
-4
-27
92
13
1
-21
-52
-1
-10
2
-1
-8
-5
0
0
0
52
-8
20
-73
-30
10
59
-72
0
56
-73
-47
0
1
0
0
0
3
2
-29
-16
-15
2
51
0
-168
0
-97
59
2
-2
1
2
0
-22
-22
-14
-13
-2
6
23
-61
9
-2
-28
-10
-13
18
0
4
0
16
-22
17
3
-5
0
57
39
-6
-49
-11
-16
-2
3
-1
0
0
-8
-34
23
4
-48
14
15
19
-39
-57
15
-12
-33
3
1
0
0
71
-18
-2
-10
-24
7
-72
37
66
-21
-55
12
-10
-6
1
-1
0
15
5
-17
-14
4
24
37
35
12
35
11
23
4
-2
1
1
0
-97
-44
-17
-10
-98
-7
30
77
93
107
-24
8
1
2
0
0
0
14
-114
-63
-16
32
-178
-16
142
179
-2
-1
0
0
0
0
0
0
-6
-13
-12
-28
39
34
69
0
0
0
-52
0
17
-5
3
0
1
-13
-7
5
-21
25
46
30
-75
0
10
-29
-2
50
3
3
-3
0
-16
-10
1
-7
31
19
26
-23
-15
3
129
-6
-1
8
0
4
0
25
14
12
9
15
-17
-8
-46
-30
-22
105
34
29
1
-2
0
0
25
0
-16
16
10
8
15
144
-39
-20
8
-27
0
-1
-4
0
0
-18
-14
-6
-5
2
-22
-33
34
44
63
-4
-2
0
3
0
0
0
46
29
-2
17
15
-18
16
58
42
88
3
24
2
0
0
9
0
4
35
33
-33
44
81
85
-20
61
65
-42
-18
4
-2
0
0
0
30
44
121
18
-34
-84
-54
52
-22
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
40
79
15
15
38
109
-43
0
0
0
0
0
0
13
0
0
0
-32
-5
58
-22
3
-61
-3
0
0
0
0
0
0
1
90
63
2
-8
153
-50
-41
-37
-7
-10
0
0
0
0
0
0
0
7
-1
35
72
-41
21
-28
-24
-42
-44
0
0
0
0
0
0
-1
-3
-6
-15
-31
80
-27
12
43
-102
-32
0
0
0
0
0
0
-1
-1
20
34
75
-26
82
9
-1
3
52
0
0
0
0
0
0
0
-2
0
2
25
-163
-107
36
31
15
42
0
0
0
0
0
0
0
1
2
7
18
-14
60
64
88
-15
1
0
0
0
0
0
0
0
-1
0
-4
4
-2
6
-30
6
-35
68
0
0
0
0
0
0
0
0
0
0
-16
77
24
50
-45
-92
106
0
0
0
0
0
0
2
0
0
0
-49
1
109
28
-4
52
-60
0
0
0
0
0
0
0
-4
-5
-33
-12
90
-36
-37
-24
-93
-84
0
0
0
0
0
0
0
0
0
7
0
81
-43
12
-54
38
-34
0
0
0
0
0
0
0
2
1
2
1
74
4
66
76
196
138
0
0
0
0
0
0
0
0
0
2
3
58
104
-44
-8
-25
5
0
0
0
0
0
0
0
0
0
0
-5
1
-53
42
26
-6
84
0
0
0
0
0
0
0
0
2
4
0
-7
-19
60
75
49
79
0
0
0
0
0
0
0
0
0
7
0
0
-7
-13
23
13
14
0
0
0
0
0
0
3
0
0
0
34
102
59
112
-10
25
-30
0
0
0
0
0
0
0
0
0
0
22
15
-19
-12
-49
-42
49
0
0
0
0
0
0
-4
8
-20
37
-58
75
38
11
1
54
-53
0
0
0
0
0
0
2
19
14
-11
27
-19
-1
-24
7
-4
-122
0
0
0
0
0
0
0
0
-2
-2
-11
71
-32
-4
0
-26
-110
0
0
0
0
0
0
0
0
-1
-1
-4
28
45
24
22
62
52
0
0
0
0
0
0
0
0
-5
4
15
0
104
66
44
20
41
0
0
0
0
0
0
0
0
0
0
0
-3
82
-52
12
-18
-14
0
0
0
0
0
0
0
0
0
0
0
3
-3
-58
-92
-4
36
0
0
0
0
0
0
-1
0
0
0
10
154
82
15
32
9
-41
0
0
0
0
0
0
-2
0
0
0
17
81
32
-37
55
-29
29
0
0
0
0
0
0
-5
2
-7
-49
-41
23
63
4
87
77
-15
0
0
0
0
0
0
0
-2
4
1
-16
58
-61
-17
29
80
-22
0
0
0
0
0
0
-7
10
0
0
86
166
-42
70
-54
-64
28
0
0
0
0
0
0
0
0
5
0
-2
52
-5
55
60
61
85
0
0
0
0
0
0
0
0
4
1
-3
-46
-39
62
23
-12
44
0
0
0
0
0
0
0
0
-1
0
0
1
31
-20
5
55
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-58
-50
0
0
0
0
0
22
31
0
0
0
30
15
-33
10
-14
-22
42
0
0
0
4
7
-38
66
0
0
0
-96
-3
-40
24
74
-21
71
0
0
0
-1
-2
66
-46
7
13
-62
-33
-22
-15
9
36
3
-1
0
0
0
0
0
-6
78
38
0
-36
-9
-35
13
-5
-18
-24
-34
0
0
0
0
-1
26
-2
62
-2
-34
36
100
-41
-7
-18
6
45
0
0
0
0
0
-32
-39
-26
-45
71
11
17
-12
39
29
-51
-4
0
0
0
0
3
-2
34
126
-4
-26
28
-9
64
-13
34
-23
-43
0
0
0
0
0
2
41
-34
-93
-36
-44
10
18
-14
14
-19
69
0
0
0
0
0
0
0
15
35
4
25
24
-71
36
33
68
0
0
0
0
0
3
-24
27
0
0
0
122
133
83
3
-31
104
52
0
4
1
7
-1
-28
-3
0
0
0
13
41
44
9
-25
-39
48
0
1
-1
2
2
27
-22
89
-54
26
30
88
-27
-8
14
-12
10
0
0
6
0
3
5
-9
72
-20
-83
-45
-50
8
131
-25
-4
30
0
0
0
-1
0
10
51
-96
27
30
-43
113
0
2
13
5
-60
0
0
0
0
1
35
0
61
2
-4
-27
22
-8
23
21
-24
7
0
0
0
0
0
-2
58
0
18
13
65
-7
27
50
48
35
30
0
0
0
0
0
-2
2
27
-12
22
130
5
42
29
59
-3
3
0
0
0
0
0
0
1
-16
68
100
-13
27
-86
-29
-86
26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-52
37
-15
0
0
0
-25
-12
-18
17
24
-34
-94
0
22
-20
9
-60
-51
-12
0
0
0
-22
-40
-27
41
-51
-11
-51
0
4
39
-10
-26
8
13
-5
1
-7
2
-15
-44
-13
-86
-52
64
3
-2
-45
21
-31
38
-30
-4
-16
16
11
2
39
-19
-75
7
-46
1
-24
-7
-23
-39
-62
-27
-17
-4
-7
-10
-13
-86
-4
-81
-11
-44
8
-15
-1
6
-1
31
-116
-3
-9
-8
-12
-72
-12
5
33
-92
-44
0
1
0
-2
1
21
-12
-121
-8
-28
-21
-52
-104
28
-35
-84
-71
0
0
1
0
0
-9
-16
-75
-87
114
-120
75
38
-77
17
4
20
0
0
0
0
0
0
15
-3
-11
-7
1
-22
-23
9
-19
-64
14
0
-7
-45
29
-30
-102
-57
0
0
0
2
-5
-23
-37
-89
-12
0
-6
-25
-70
-25
-5
-13
-31
0
0
0
2
-13
-30
-22
-71
-109
0
3
-25
-86
-35
-24
37
-14
-24
-22
-2
12
-5
-28
-24
-77
-96
0
0
18
-33
-20
-20
-60
-135
-23
-3
10
-6
-8
-15
-57
-69
-5
0
0
-12
0
-38
-113
-151
-72
-98
2
0
3
6
-2
-12
-19
-69
0
2
-61
-51
-50
56
-19
91
-81
-37
6
9
7
-8
-8
16
21
0
0
-18
42
6
86
86
-83
-131
-3
7
12
0
-11
-10
-37
-33
0
0
-1
41
29
53
-27
4
8
74
19
-4
30
-20
-26
-53
-96
0
0
0
4
30
-76
32
7
-46
47
50
3
36
45
-67
-179
-69
0
9
-17
80
-23
-8
76
-1
0
0
0
110
-41
103
-50
12
-64
0
14
66
-34
18
18
13
2
0
0
0
-22
-31
4
-40
-163
-95
0
-15
-20
6
-57
54
-2
2
4
1
-51
-12
-38
-19
-147
-83
-115
0
1
-4
-12
-1
6
21
14
-1
-6
-65
-32
-25
-52
-63
-48
13
0
7
13
-14
14
-6
-72
-2
-11
3
-57
-14
-14
-12
-19
-19
34
0
-7
-9
7
-16
-48
-38
5
0
3
-13
-9
-25
-19
-54
-75
-36
0
0
6
-24
17
-33
-31
-5
-2
-2
25
-29
-23
28
-32
-121
-61
0
55
28
15
-55
-27
-27
-5
-3
-18
-7
5
9
-51
-78
-76
-10
0
11
45
-20
2
-43
-3
1
-6
-31
-22
-39
2
-36
-153
-39
-5
0
0
-18
-43
23
29
-69
3
0
0
0
23
-31
2
53
-76
0
0
16
-21
44
26
16
-9
-1
0
0
0
-48
14
-6
-13
-129
0
0
0
-6
-26
59
-69
-16
7
5
9
48
-10
-61
1
42
-185
0
0
0
-9
-7
3
-27
-89
17
6
-24
-23
-10
-10
-27
104
-139
0
0
0
12
19
-25
-42
0
9
-43
-36
-12
-4
-7
-55
-123
-133
0
0
-4
17
17
-10
-9
-22
-3
-17
-20
-9
-17
8
-34
-201
24
0
0
-8
25
-42
31
34
-46
-19
-14
-15
-4
6
-49
-20
-64
-112
0
0
-2
-21
19
-2
3
2
16
-6
-16
-72
108
-9
12
-80
-96
0
0
0
0
0
-1
-3
-2
-3
-4
-34
10
-2
-47
-26
-135
-119
0
0
0
2
0
-41
29
-66
-57
0
0
0
-11
-13
-16
17
-28
-152
-68
0
1
-31
-15
4
-25
23
0
0
0
3
-4
-27
-8
-69
-105
-74
0
19
-30
-8
-38
-120
22
19
-11
-15
-5
-3
17
-52
-160
3
-80
0
0
-16
1
-91
-19
71
19
6
-3
-17
3
3
27
-74
-36
34
0
0
15
-27
46
-9
16
14
6
-5
-10
-10
13
48
5
81
27
0
0
5
-8
-32
-27
14
-28
-39
-33
16
8
12
-34
51
-71
-79
0
0
12
0
32
-18
-68
-84
-24
-41
-9
-5
51
-7
17
-52
-15
0
1
-2
-27
14
0
10
-17
-81
-10
57
18
-35
-115
-170
151
11
0
1
0
0
0
0
-1
-5
-32
-7
-31
-13
-110
-114
-81
-7
-22
0
2
0
-1
0
89
-28
0
0
0
36
-36
-57
-24
-13
57
-34
0
0
-1
-1
-29
-131
-56
0
0
0
22
-16
16
79
12
10
-7
0
0
0
-1
0
16
55
-37
9
37
-1
30
12
33
20
-14
-31
-1
0
-10
1
13
-20
0
9
13
10
2
-2
-30
37
-13
-6
24
0
-1
6
-43
-32
0
-28
47
-3
-5
12
-8
-15
21
-31
-9
-27
3
0
0
1
4
-2
6
-19
11
16
-19
5
-31
-1
-38
-26
-157
0
0
0
1
1
-66
44
45
-3
-22
27
38
-19
31
4
-36
-61
0
0
0
0
0
-2
-16
52
-60
10
-75
-14
29
17
60
-13
5
0
0
0
0
0
0
18
-14
-43
-4
72
26
-30
-1
34
-21
-17
0
0
-3
-13
-31
-63
19
0
0
0
17
-85
-67
-18
6
-45
-1
0
-2
0
-21
-19
-1
9
0
0
0
-26
-37
-69
-94
20
64
52
0
0
-14
14
-41
-54
26
-5
18
-33
-11
25
-32
-22
11
15
16
0
-2
0
8
-40
-31
49
-11
-17
-5
-1
-6
-15
-5
161
15
14
0
1
0
8
-6
-84
7
-9
-16
-2
8
2
9
-57
50
28
53
0
0
5
-16
-15
22
16
-4
-5
3
-19
4
-2
72
-34
29
-48
0
-5
-1
50
17
29
-13
-5
8
7
9
3
41
30
51
13
39
0
0
-6
24
14
-70
3
23
-10
-2
26
-13
-8
56
-61
-30
23
0
0
0
0
0
-14
-21
-65
-48
100
-28
-4
-97
-34
38
-33
-42
0
0
0
0
0
73
191
0
0
0
40
4
1
-26
-48
44
11
0
0
0
0
1
28
74
0
0
20
21
-33
7
13
14
49
-13
0
0
0
0
51
42
48
65
52
72
11
-22
18
-10
-2
-10
-5
0
0
0
0
65
107
-5
-7
47
16
-22
-5
-69
45
56
61
0
0
0
0
0
-83
19
-28
-22
-37
37
27
-13
-35
71
17
41
0
0
0
0
0
-92
5
-37
-24
-10
29
-2
-27
36
45
17
25
0
0
0
0
0
21
-57
-78
-33
-36
25
12
-7
9
49
-72
-5
0
0
0
0
0
0
-57
-74
-12
-47
11
24
30
53
-25
1
-5
0
0
0
0
0
0
-31
-27
-111
-59
2
-11
-35
28
9
-1
0
0
0
0
0
0
0
30
18
0
0
0
10
-61
19
-9
29
-7
0
0
0
0
0
10
32
4
0
0
26
71
79
-13
32
5
57
0
0
0
0
0
6
80
1
73
-3
29
18
49
-13
-13
8
-32
0
0
0
0
0
0
-9
78
70
-2
59
49
19
-43
2
-40
-21
1
0
0
0
0
0
-140
-29
-78
33
14
-43
-10
-5
-4
-14
-15
-1
0
0
0
0
0
-11
-37
34
-27
-11
-85
-34
36
12
-33
-7
0
0
0
0
0
0
2
9
33
64
9
57
5
8
-24
-15
1
-1
0
0
0
0
0
-13
-11
13
66
27
-84
-8
-28
65
4
19
-1
0
0
0
0
0
0
-4
-63
-13
-23
7
-46
31
-4
-10
5
0
0
0
0
0
0
3
33
0
0
0
64
97
48
21
-63
4
-1
0
0
0
0
5
9
35
0
0
31
54
8
45
-8
24
64
2
0
0
0
0
-9
-17
3
65
71
24
-23
69
-29
-23
-1
-9
3
0
0
0
0
9
-42
19
18
7
15
51
-7
-46
57
-15
28
-2
0
0
0
0
-25
47
-68
-30
-33
14
18
-2
36
25
-15
-8
-4
0
0
0
0
-1
-8
1
-38
3
-13
-54
-8
80
-60
-37
2
0
0
0
0
0
0
-51
23
-80
61
-40
62
-23
36
18
-6
40
-2
0
0
0
0
0
4
-23
-60
7
2
-71
-8
-53
3
5
-3
-2
0
0
0
0
0
12
-143
-61
-36
40
-23
60
3
10
-6
7
0
0
0
0
0
0
105
73
0
0
0
-5
-9
24
-30
-27
1
0
0
0
0
0
67
76
51
0
0
30
72
17
-36
15
-17
1
0
0
0
0
0
102
68
-45
63
23
74
32
12
17
-44
9
-9
0
0
0
0
0
-38
66
60
-29
41
-28
-14
124
-10
40
-2
0
0
0
0
0
0
-90
56
-9
1
2
43
-19
63
67
15
22
0
0
0
0
0
0
0
-76
-31
-21
50
53
-48
-22
29
-72
3
-2
0
0
0
0
0
0
-16
-64
-53
-52
-16
12
32
-45
13
-8
-10
0
0
0
0
0
0
-16
-131
2
10
23
5
18
-6
-58
0
0
0
0
0
0
0
0
-25
-28
-59
27
28
57
8
-11
1
0
0
0
2
30
-3
-11
8
30
-69
0
0
0
-20
23
61
59
56
-3
6
-62
-11
-12
-42
-6
-6
-94
0
0
0
32
11
-47
20
30
5
-5
63
-9
31
3
-1
17
49
-57
-14
-36
-6
18
40
38
17
57
8
-105
-81
-1
3
-46
18
-13
28
24
15
4
-20
18
24
60
-33
-7
-23
32
18
-61
-1
44
-8
17
9
0
11
79
-63
74
-62
20
15
24
-22
32
14
56
29
0
18
1
11
33
-3
16
21
111
60
-25
43
-116
-75
-10
-32
5
3
10
-38
17
8
18
-125
-21
1
-40
2
15
36
37
-11
-31
-15
3
22
44
-6
24
12
-28
-18
29
43
39
-22
-46
-74
-79
-52
-159
23
-57
42
-43
33
-47
-34
72
21
-8
6
20
55
90
102
-68
35
-15
0
0
0
-26
13
12
3
52
81
16
26
-52
98
32
61
-44
-96
0
0
0
-19
-2
31
63
40
-69
12
-26
-38
17
-25
41
-43
-45
-84
-2
-10
22
3
10
90
66
66
2
-41
-74
-40
-17
1
20
-8
26
-6
14
-27
-8
77
-74
-20
104
-3
-13
-36
22
-37
56
0
17
28
-14
-8
-42
9
-37
-33
-7
37
-4
62
52
-64
65
-9
-48
31
-13
-5
9
-11
5
-10
23
100
-50
-1
-42
21
-44
50
-4
-33
36
35
22
17
9
40
-16
66
-5
-39
1
64
11
-46
21
-85
17
17
30
46
33
30
41
-63
25
73
-28
14
-5
24
28
-2
-116
-15
17
75
-3
70
-91
-10
10
59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-16
29
19
49
0
0
0
32
-9
-1
90
83
-22
-1
-16
-44
-37
-21
18
52
50
0
0
-58
20
-32
50
47
-15
34
-1
-37
-38
-28
-18
0
7
43
93
76
85
-8
-47
-57
-20
47
-14
-8
-32
-31
-18
-21
3
8
72
27
75
25
-91
-53
-60
-42
-33
-5
32
-64
-32
-37
-24
5
5
50
17
-13
10
4
-27
-28
146
37
15
4
-64
-53
-28
-14
2
-17
6
-60
-25
-54
-68
35
-36
-84
-28
43
0
17
-27
-41
20
14
19
-36
1
23
15
-25
44
7
-15
-35
-6
2
-63
-29
61
-44
-10
-92
21
-69
34
40
44
69
-27
49
29
29
-1
-39
-85
-123
-76
-17
-53
-140
-17
-88
-34
53
-44
-18
-13
-8
0
3
-78
-74
0
-2
12
16
69
0
0
26
94
-17
-22
-81
-45
0
0
-52
-19
2
-5
3
22
79
55
73
28
40
-55
-137
-68
3
-16
0
-97
-26
-5
-11
-2
3
43
51
60
59
20
-43
-28
-33
-7
3
0
-21
-12
-13
-15
-14
-4
-4
8
-3
13
23
0
25
-139
-36
4
0
-55
-34
-15
-23
-9
-12
-12
0
-19
-68
-45
-104
6
19
-22
0
0
-70
-46
-36
-14
-8
-18
-23
-6
-47
-12
-49
-95
-64
-94
0
0
0
-41
-94
-4
-5
-5
-14
-11
-10
-53
-41
-10
-65
61
54
3
0
0
-73
-3
-12
6
-2
-10
-22
-16
-46
-22
-65
76
-29
-25
0
0
0
30
-22
23
12
-21
7
39
2
8
-6
-24
15
17
1
0
0
0
-6
14
7
-9
13
-37
-19
0
0
61
-1
-4
16
15
0
0
0
-4
10
0
-6
-16
-10
10
8
-41
-2
48
-98
10
0
-1
0
0
-16
-3
-18
-10
-49
-11
53
12
84
-53
22
2
-9
-2
0
0
0
-13
-22
-16
-34
-9
48
58
33
-151
14
44
-4
-61
34
0
0
0
-13
-19
-15
5
20
7
-43
16
-57
-20
-31
-100
-7
14
-1
0
0
2
-14
-9
1
36
23
21
7
24
-57
-91
-77
6
53
0
0
0
-6
-7
-1
19
-3
22
7
-47
-27
-6
-74
26
8
-16
1
0
0
3
-6
-7
37
35
35
41
49
21
-23
50
-14
20
43
0
0
0
-11
-23
8
8
29
12
35
7
50
2
-42
33
68
-7
0
0
0
-25
-22
9
27
27
26
63
-17
0
-3
-20
-121
11
-18
3
0
0
-20
-30
-16
6
38
42
0
-4
34
-47
33
-59
-127
23
0
0
0
-1
-13
-20
-5
3
43
66
67
49
18
-58
-62
-7
-15
0
0
0
-46
-27
14
-3
26
26
45
13
-12
24
22
-21
-36
5
0
0
0
-39
-19
5
13
-10
35
11
9
-18
6
-72
-71
17
33
0
0
0
-43
-17
-16
21
6
-12
29
-8
-140
-32
56
-60
-92
-27
0
0
0
-41
-29
-2
-17
-23
-16
-17
-36
-93
-126
-28
23
2
-50
0
0
0
-98
-42
-6
10
-7
0
71
-45
-57
-122
-14
8
-38
-1
0
0
0
-71
-66
-55
25
-47
-112
-79
-57
31
-13
6
0
0
2
0
0
0
-25
-37
-35
-7
6
29
37
0
0
-26
83
-46
-25
-130
-20
27
6
-10
-26
-21
-27
-10
19
58
0
12
0
10
33
-17
39
22
62
1
-44
-48
-33
-25
2
31
36
112
76
46
2
-26
48
-71
14
-4
3
-35
-23
-36
-5
-24
-12
39
26
19
34
28
-58
-136
-30
24
-63
6
-42
-17
-33
-16
4
-8
-2
-40
10
-15
-55
-31
34
-54
28
-4
0
-59
-52
-2
-36
-13
-9
-22
-39
-48
-68
-38
-45
-149
-25
-8
1
12
-50
-41
-10
-3
8
39
3
-19
-73
-12
-152
-80
-95
6
-18
-20
0
34
25
-32
-53
6
-33
1
-9
-19
-60
20
-123
-80
-30
-2
0
0
-15
-131
19
-68
-75
0
-69
-101
-37
-92
-35
-69
24
-15
0
0
0
-9
3
-31
7
13
-9
45
-69
0
51
-12
42
-8
29
-8
0
0
-43
-70
3
3
-5
-14
-6
0
-21
0
22
46
-79
-11
50
4
0
10
-10
10
8
-19
2
-67
28
72
21
-67
-2
-92
47
13
2
0
10
0
-51
-10
12
-1
-7
22
32
8
-2
-86
-36
-83
1
-8
0
-6
-1
-49
-19
7
-5
-5
27
11
52
-28
34
44
-24
29
3
-2
3
-17
24
-14
7
-28
23
14
-16
38
-8
53
27
-34
-1
10
0
-2
31
-46
-29
38
-42
-24
-31
53
2
-86
-1
-10
-64
-6
0
0
-9
-14
14
-41
18
24
23
18
-62
1
-77
-12
4
-11
0
0
0
-21
-97
-38
15
-24
-21
-64
46
62
-88
4
1
0
0
0
0
0
0
-16
9
-17
-37
6
-30
0
0
0
-63
-5
42
-35
31
-1
1
10
3
-3
-19
-20
-46
-77
-47
0
-9
15
43
130
-12
-24
-4
-1
-10
16
-13
-23
0
18
-15
79
20
31
95
105
13
-14
5
18
-4
-19
-3
-13
-19
-33
20
7
46
24
-12
-5
13
65
14
29
31
0
-11
-7
-21
-56
-7
15
70
40
-26
-15
-50
5
0
-10
-8
-3
0
-18
-26
-16
-46
-36
-45
-1
3
22
34
-20
36
3
34
-2
0
13
-67
-51
-44
-15
6
36
49
4
-7
22
24
-7
23
1
-7
6
0
11
-57
-54
-18
-40
21
-99
-32
-11
81
-28
-32
32
-8
0
0
0
24
-103
70
-26
11
-89
-13
-22
16
-59
-34
-1
0
-2
-2
0
0
0
0
0
0
0
4
3
0
0
0
73
53
36
0
13
52
-6
0
0
0
0
0
15
-45
0
0
0
74
33
15
2
-12
-10
-19
0
0
0
0
0
7
19
76
27
82
-24
28
-11
20
-17
2
51
0
0
0
0
0
0
23
-20
76
-54
74
-16
1
34
9
-2
-17
0
0
0
0
0
0
-8
76
-33
-13
66
-57
31
47
19
30
-14
0
0
0
0
0
0
-20
62
12
43
-28
30
-8
18
-9
19
-30
0
0
0
0
0
0
-1
-13
24
7
-35
-14
-12
-6
9
39
41
0
0
0
0
0
0
10
-3
-4
-69
-13
-7
-31
-1
1
11
51
0
0
0
0
0
0
0
3
1
4
21
-110
-23
-53
-26
38
28
0
0
0
0
0
0
4
0
0
0
10
63
21
-24
30
60
-17
0
0
0
0
0
0
4
0
0
0
14
29
-29
-23
16
1
-16
0
0
0
0
0
0
7
-4
2
-53
-40
-20
-1
-17
11
41
11
0
0
0
0
0
0
-3
-1
18
43
15
-42
-13
-16
29
-25
55
0
0
0
0
0
0
0
23
26
31
-53
-56
14
82
-57
2
14
0
0
0
0
0
0
0
-3
-8
-4
54
-21
11
38
57
22
60
0
0
0
0
0
0
0
0
8
42
-24
12
-12
-7
33
63
19
0
0
0
0
0
0
0
0
2
7
17
-1
-28
-75
26
5
24
0
0
0
0
0
0
0
0
-5
-7
1
-28
-37
-72
-17
-41
-23
0
0
0
0
0
0
5
0
0
0
133
-54
16
33
-9
-33
-37
0
0
0
0
0
0
-2
0
0
0
88
-34
30
8
8
3
-1
0
0
0
0
0
0
-5
30
-64
26
-91
16
33
13
25
54
-34
0
0
0
0
0
0
-10
25
25
-95
-19
-39
14
42
60
24
-65
0
0
0
0
0
0
3
-19
-1
-11
-30
45
49
21
50
31
-22
0
0
0
0
0
0
3
-11
34
0
81
35
20
58
34
49
63
0
0
0
0
0
0
6
16
-17
-8
22
-51
-77
22
-16
40
10
0
0
0
0
0
0
0
0
6
7
3
6
36
49
-34
86
-6
0
0
0
0
0
0
0
0
0
0
14
-42
37
-53
58
-40
19
0
0
0
0
0
-4
9
0
0
0
58
-7
30
-52
20
19
-7
0
0
0
0
0
7
1
0
0
0
124
-46
-14
7
42
74
5
0
0
0
0
0
-1
-1
71
-89
73
23
27
60
-17
4
-52
82
0
0
0
0
0
2
13
54
37
-9
-99
-31
9
17
17
42
79
0
0
0
0
0
0
-23
25
17
-49
63
-36
-25
48
38
-20
105
0
0
0
0
0
0
-4
11
-24
43
52
-29
36
85
18
-41
11
0
0
0
0
0
0
3
-1
5
-20
-17
-27
15
53
25
-9
-46
0
0
0
0
0
0
0
4
-15
-6
27
-31
47
-19
77
-4
97
0
0
0
0
0
0
0
0
0
0
0
0
-17
7
-48
-143
81
0
0
3
12
-31
111
39
0
0
0
23
-11
-25
8
5
-7
-28
0
0
0
6
-21
57
6
0
0
0
36
-32
-19
24
-2
-32
-18
0
0
0
-12
-34
15
48
-16
-46
21
0
-18
-14
12
24
-1
16
0
0
-3
-1
7
-71
13
41
18
-12
2
2
13
11
-6
-18
-6
0
0
-4
11
-7
-47
30
-21
5
-25
38
-24
24
4
3
-55
-57
0
0
5
8
4
58
-20
19
-21
16
-33
-5
55
-21
-6
16
25
0
0
1
6
20
-47
71
-37
10
-77
-39
8
-11
31
11
-6
85
0
0
0
0
0
-19
20
44
-53
-10
-29
-7
-4
-94
32
-19
45
0
0
0
0
0
-43
18
83
17
-5
-81
5
-25
33
22
27
44
0
6
9
1
40
-87
-12
0
0
0
-3
-46
-7
3
31
4
22
0
7
2
-20
-9
7
-3
0
0
0
28
-19
1
2
12
19
-36
0
-6
-12
12
55
30
53
20
-21
10
-3
-45
-19
-33
22
19
-18
0
-4
12
-1
60
10
53
33
21
81
9
-14
9
-36
20
-4
23
0
1
2
-22
-4
18
69
92
-28
39
-7
-4
-23
4
1
5
10
0
0
0
4
-13
23
-18
32
-15
21
23
3
-40
15
-1
17
24
0
0
0
-9
18
42
40
8
-57
49
13
-84
-31
24
-5
12
8
0
0
0
-4
-11
2
29
15
-16
45
58
-82
31
-63
24
28
61
0
0
0
0
7
-8
35
30
-39
56
-5
16
8
-45
-3
59
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
55
-49
-37
4
0
0
0
-31
1
-2
-18
84
13
19
-10
53
-32
-80
-88
13
22
0
0
0
6
-23
-7
-35
51
-21
15
5
-57
45
0
-51
-20
-13
7
5
-6
-14
-52
-23
-6
-4
33
-32
-5
-52
-95
-52
-8
-97
15
-28
8
-1
-16
5
1
29
14
53
-7
-13
-72
1
-100
-49
-59
-66
-41
3
-19
-27
8
-16
24
11
-5
39
39
-76
-64
-12
28
-29
-57
2
3
-4
-45
0
-55
31
36
33
-4
-12
37
-18
-24
23
-95
24
-52
-15
-54
17
-86
-31
49
-14
-16
16
0
-1
13
-17
-29
-133
-132
-47
-81
-46
15
-56
-30
-18
-74
-46
-37
0
0
0
-4
-4
0
45
-68
-33
9
12
-95
-31
7
-71
-48
-120
-1
-21
-111
7
-76
-90
39
0
0
0
19
0
15
-14
21
17
0
-59
-143
-2
-34
3
-7
5
0
0
0
33
-6
0
8
6
27
0
-14
-34
-4
-11
-19
-46
24
13
24
20
20
-8
-12
20
7
-34
0
2
-60
-62
4
-88
-49
-30
6
-6
-2
-20
-10
-7
10
-2
23
0
-4
-71
-50
-65
-90
-84
-8
-8
-17
-29
-3
-11
-3
12
-13
-9
0
8
74
-95
50
-35
10
-9
-18
-31
-7
-7
-14
-6
17
14
-12
0
0
29
38
-14
-14
-2
-30
-24
-31
-10
-6
-9
-22
18
21
85
0
0
29
41
-16
113
-1
1
-5
-12
18
15
20
-16
41
30
-36
0
0
1
13
90
-36
58
22
-14
48
15
9
29
1
24
-29
-19
0
-3
-44
30
-14
11
34
-3
0
0
0
-2
44
1
-25
-84
-30
0
-19
22
-5
-24
-3
21
-5
0
0
0
37
-42
23
-60
0
-46
0
-32
-61
20
-29
-16
26
-6
0
1
-3
47
42
10
-78
-48
-25
0
22
7
-2
-27
-10
-6
-11
-5
-10
-8
-20
-6
-59
-16
-111
-52
0
57
29
-51
-27
-41
-24
-9
-15
-13
-18
-26
47
-24
-12
-150
-6
0
1
53
-20
-5
-35
-34
-14
-15
-13
-39
27
-53
39
-18
-132
-36
0
-3
-9
20
-22
-33
-16
-13
-4
-6
13
-12
39
-66
10
-96
-68
0
69
-48
18
-51
-30
-10
-4
0
-17
10
-18
48
-81
-16
-75
-36
0
70
7
-63
-12
-31
14
5
-8
2
-17
10
8
-32
-37
-49
-33
0
28
-87
-64
25
14
16
1
0
0
0
8
23
-18
14
34
0
0
-2
37
37
12
42
52
16
0
0
0
4
15
-19
7
6
0
0
-2
-71
-52
20
43
20
7
17
-17
-18
-2
11
-3
56
-52
0
0
-46
8
12
21
-29
-10
-11
-17
-41
19
-22
-8
-23
14
68
0
0
11
-28
54
-98
-23
-40
0
-21
-24
-12
0
0
22
-36
47
0
0
-8
-62
19
-26
-20
-29
-22
-35
-40
6
14
14
-19
-53
-45
0
0
-48
11
-44
-43
-55
-37
-36
-36
-35
-39
16
16
15
5
-54
0
0
-1
-40
-59
-42
-26
-25
0
-36
12
-16
-9
0
2
-52
-78
0
0
0
0
0
1
-10
-8
-10
-48
-45
-14
-13
14
25
-61
-27
0
0
-1
-18
-13
-100
-21
-80
-26
0
0
0
15
-8
-2
-25
42
14
32
0
-71
-16
53
-50
18
20
0
0
0
21
-21
-31
24
16
6
-13
-5
45
-51
-2
-17
-1
51
30
-9
13
-13
-16
-2
30
-22
-6
26
0
-24
-72
-29
-28
15
-30
-14
-20
-30
-40
-10
-6
-13
22
30
0
0
-16
26
-164
-74
-3
-32
-23
-6
-38
-17
-1
7
21
22
-12
-31
0
0
3
-58
-82
-70
25
-2
2
-4
-39
28
16
13
55
14
-61
-1
-52
-52
-46
-55
-34
-76
-48
-9
-8
21
-56
-26
0
31
-3
37
-1
-7
50
-28
-9
-87
-6
-80
-64
-46
8
-20
-22
-76
-75
-84
-57
0
2
21
-1
-12
-9
-22
-42
-41
-46
-77
93
-11
-81
-71
-131
-99
0
6
1
-14
-17
-5
24
0
0
0
0
-35
-49
-23
9
-27
-50
-2
-2
-1
-75
-25
9
34
0
0
0
-13
12
32
-18
-22
-5
18
2
-1
-8
-15
-18
51
40
-4
33
-2
24
-16
-19
13
6
-25
-17
-1
-2
-14
49
72
-51
-24
-28
-41
-2
17
-23
-2
-6
24
-35
-50
-3
-7
-2
32
44
-60
2
-71
-20
7
-4
30
32
-25
15
-38
-26
13
-6
12
1
-57
36
62
-49
-31
-23
-39
-5
18
-85
-5
15
-41
0
-2
-12
30
27
-51
16
36
-13
-18
-1
33
28
42
-16
-27
-3
0
0
2
-1
13
-108
-22
-13
-55
-3
-7
59
-17
-60
-24
-58
18
0
0
0
0
0
4
-27
-38
-28
16
53
37
30
40
-1
13
-60
-3
-15
-2
-87
11
2
-19
0
0
0
-53
-49
0
-6
-46
9
-13
-2
27
-45
-78
-8
-1
17
0
0
0
-32
12
19
6
48
16
39
1
40
-63
35
-62
-45
-26
0
-12
-28
14
17
-17
-27
23
28
22
8
4
-1
9
-16
40
8
-3
-18
-5
-42
-33
29
-33
23
7
-27
-1
-12
10
-90
-17
-75
5
-30
-13
1
-37
7
43
-22
-4
-5
-3
1
-16
40
-4
-8
-47
24
-17
8
3
-25
13
16
7
6
14
-6
0
-11
-16
-34
-42
-13
-1
12
3
0
28
-9
4
-21
12
-21
44
0
17
-37
6
-8
-45
-29
-1
-4
28
26
46
-16
-53
61
-41
-18
0
0
-2
-2
-29
-45
50
9
-33
-59
-35
34
-29
37
-8
-14
-86
0
0
0
0
0
69
181
0
0
0
28
7
7
-25
-42
37
11
0
0
0
0
1
26
34
0
0
20
30
-35
-6
17
3
52
-13
0
0
0
0
53
42
26
35
51
39
11
-10
13
2
7
-10
-5
0
0
0
0
60
106
-14
-22
50
34
-6
2
-56
47
36
64
0
0
0
0
0
-81
8
-33
-23
-28
68
25
-3
-39
65
27
42
0
0
0
0
0
-94
12
-41
-6
15
54
-7
-37
34
53
23
25
0
0
0
0
0
21
-71
-41
0
-22
28
19
-6
4
54
-76
-5
0
0
0
0
0
0
-47
-69
2
-28
2
24
29
55
-23
1
-5
0
0
0
0
0
0
-31
-28
-104
-46
-18
-4
-41
37
9
-1
0
0
0
0
0
0
0
27
20
0
0
0
17
-58
14
-6
27
-7
0
0
0
0
0
10
35
10
0
0
23
62
84
-16
28
10
51
0
0
0
0
0
6
79
9
83
5
12
25
46
-16
-16
7
-30
0
0
0
0
0
0
-9
72
50
-22
80
65
20
-30
0
-40
-21
1
0
0
0
0
0
-149
-49
-94
57
19
-42
-11
-12
-4
-17
-14
-1
0
0
0
0
0
-9
-39
16
-31
-9
-77
-29
37
12
-34
-7
0
0
0
0
0
0
4
8
38
71
12
50
7
6
-29
-14
1
-1
0
0
0
0
0
-13
-8
29
64
33
-82
-4
-32
69
3
19
-1
0
0
0
0
0
0
-14
-64
-19
-21
2
-44
29
-4
-10
5
0
0
0
0
0
0
3
32
0
0
0
52
88
53
18
-66
4
-1
0
0
0
0
5
10
33
0
0
21
49
14
48
0
26
70
2
0
0
0
0
-9
-24
7
37
52
-2
-10
71
-23
-22
2
-9
3
0
0
0
0
9
-43
10
26
35
3
64
-5
-41
51
-14
28
-2
0
0
0
0
-25
50
-97
-16
-32
44
24
-8
39
27
-12
-8
-4
0
0
0
0
-1
-9
-11
-45
-4
-7
-62
-4
70
-53
-35
2
0
0
0
0
0
0
-50
25
-84
64
-34
51
-21
37
19
-4
40
-2
0
0
0
0
0
4
-21
-48
7
-9
-68
-1
-51
2
5
-3
-2
0
0
0
0
0
12
-143
-59
-40
45
-24
60
2
9
-6
7
0
0
0
0
0
0
110
88
0
0
0
-5
-12
31
-31
-23
1
0
0
0
0
0
67
55
42
0
0
35
64
25
-45
14
-14
1
0
0
0
0
0
105
67
-41
47
21
64
25
-1
16
-47
8
-9
0
0
0
0
0
-38
65
82
-45
35
-29
-23
112
-3
43
-6
0
0
0
0
0
0
-92
44
-47
1
-10
59
-20
64
62
14
23
0
0
0
0
0
0
-2
-75
-36
-14
53
51
-42
-12
25
-69
7
-2
0
0
0
0
0
0
-4
-59
-40
-55
-39
14
40
-44
16
-8
-10
0
0
0
0
0
0
-16
-130
6
16
34
9
18
-4
-62
0
0
0
0
0
0
0
0
-25
-27
-54
31
20
62
16
-11
1
0
0
0
3
22
-7
-17
10
35
-84
0
0
0
-11
12
51
58
54
-5
6
-66
-2
7
-68
7
7
-87
0
0
0
26
3
-46
19
35
9
-5
76
8
41
0
19
24
27
-40
-11
-47
-18
21
27
45
4
60
8
-102
-100
17
-10
-63
36
-3
31
12
18
19
-21
7
18
65
-33
-7
-20
38
15
-95
1
50
-38
25
15
-3
6
65
-66
79
-60
16
15
25
-23
28
20
41
14
-13
19
11
10
14
7
15
14
115
61
-25
48
-118
-73
-14
-34
15
-12
9
-52
17
-6
1
-129
-29
5
-47
2
15
41
34
-13
-18
-4
4
24
53
14
15
18
-28
-19
29
37
39
-22
-53
-67
-74
-60
-177
16
-63
48
-47
41
-45
-37
67
22
-8
6
20
53
100
101
-82
23
8
0
0
0
-20
19
30
-1
51
81
14
23
-61
118
32
79
-38
-89
0
0
0
-23
14
29
77
39
-73
14
-44
-29
1
-22
74
-43
-50
-88
-3
-8
3
-5
18
102
73
77
6
-41
-72
-35
-10
14
24
-18
3
-24
28
-25
-10
68
-75
-30
106
-2
-11
-49
34
-36
63
16
19
14
-5
-23
-39
13
-28
-32
1
34
-5
69
42
-66
71
-13
-75
28
-18
0
2
-18
6
-13
21
99
-47
-1
-42
8
-56
45
-13
-44
25
41
27
17
5
44
-17
66
-6
-41
1
68
18
-44
26
-104
45
21
10
35
45
36
42
-69
22
71
-27
14
-2
22
24
2
-121
-24
10
72
8
68
-96
-8
9
59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
-32
-42
9
2
91
0
0
0
45
0
-5
94
80
-24
-1
-10
-45
-57
-42
10
58
46
0
0
-62
-4
-18
39
40
-15
35
-1
-38
-33
-31
-14
11
11
49
108
93
93
-16
-27
-49
-14
43
-14
-7
-34
-29
-23
-3
0
24
83
44
51
20
-87
-48
-61
-40
-33
-7
32
-68
-10
-48
2
-6
32
61
22
1
12
-5
-33
-35
146
37
16
4
-99
-56
-25
-21
3
-13
1
-41
-39
-74
-72
19
-37
-85
-27
45
0
6
-49
-42
12
21
0
-60
5
46
0
-29
39
3
-13
-35
-6
2
-69
-27
65
-46
-7
-85
21
-60
38
32
42
69
-25
46
27
29
-1
-39
-85
-124
-79
-15
-52
-140
-23
-91
-31
52
-48
-19
-13
-8
0
3
-89
-83
9
-7
22
19
63
0
0
10
84
-13
-26
-77
-43
0
0
-48
-28
-16
3
5
16
77
38
65
34
50
-55
-129
-62
3
-17
0
-120
-30
7
-8
5
8
38
52
58
54
32
-44
-31
-33
-7
3
0
-7
-25
-19
-10
-13
-4
-2
20
19
10
13
11
24
-141
-35
4
0
-63
-61
-8
-14
-15
-3
-14
-3
-22
-56
-25
-106
-5
16
-21
0
0
-83
-51
-50
-25
-17
-8
-17
-20
-45
-2
-43
-101
-71
-93
0
0
0
-46
-94
-42
-20
-21
-24
-2
-20
-41
-51
-23
-61
61
53
3
0
0
-101
15
-24
6
-1
10
-10
6
-50
-17
-83
78
-25
-25
0
0
0
23
-26
37
8
-21
-7
41
4
9
-5
-11
1
17
1
0
0
0
-22
4
-1
-42
7
-38
-21
0
0
64
-5
-14
15
16
0
0
0
10
6
-1
-10
-4
-5
32
31
-29
-3
51
-99
12
-1
-1
0
0
-13
-17
-8
-22
-32
-41
50
15
84
-55
26
3
-5
-2
0
0
0
-4
-20
-11
-16
0
61
79
37
-122
15
47
-8
-64
37
0
0
0
-4
-16
-15
16
33
-18
-64
14
-63
-22
-29
-100
-9
14
-1
0
0
7
-9
-21
-7
24
16
24
6
19
-58
-90
-75
7
53
0
0
0
-5
-3
3
15
1
11
3
-55
-22
-10
-74
23
8
-16
1
0
0
2
-5
-6
32
36
36
53
55
18
-30
51
-14
20
38
0
0
0
-6
-34
0
1
33
-5
25
-5
49
5
-46
33
66
-7
0
0
0
-36
-10
3
15
45
42
68
-21
0
-3
-20
-123
12
-20
3
0
0
-16
-26
-29
4
51
54
0
2
35
-41
33
-56
-128
20
0
0
0
-18
-18
-4
3
-2
69
75
61
61
23
-50
-63
-6
-14
0
0
0
-35
-10
20
24
33
16
42
14
-16
19
19
-17
-35
6
0
0
0
-51
-15
-4
15
-3
45
22
-3
-11
2
-69
-71
21
35
0
0
0
-42
-16
-37
18
19
3
18
-19
-146
-31
48
-60
-93
-26
0
0
0
-24
-34
0
-22
-20
-29
-9
-25
-101
-124
-27
24
2
-49
0
0
0
-110
-23
-10
12
-7
-7
68
-60
-54
-112
-16
7
-41
-1
0
0
0
-71
-67
-63
31
-52
-110
-80
-57
35
-12
5
0
0
2
0
0
0
-12
-22
-46
-1
26
51
54
0
0
-19
87
-48
-28
-129
-21
25
6
-5
-10
-10
-14
-22
41
63
0
-32
0
24
37
-23
37
17
60
1
-57
-80
-26
3
-5
49
33
122
75
70
5
-21
55
-67
13
-7
3
-46
-23
-28
13
-10
18
28
16
10
35
25
-73
-131
-29
26
-63
6
-50
-7
-27
7
30
13
6
-61
4
-27
-54
-38
38
-48
26
-4
0
-64
-31
-8
-24
-13
-9
-41
-13
-54
-71
-47
-52
-141
-22
-10
1
12
-54
-21
-34
-11
-25
22
18
-3
-84
-12
-164
-82
-95
6
-20
-20
0
37
18
-29
-63
0
-25
-6
-11
-14
-59
9
-122
-79
-29
-2
0
0
-14
-129
21
-70
-77
-8
-68
-108
-40
-91
-35
-68
25
-15
0
0
0
-2
-1
-34
13
29
-10
24
-72
0
47
-9
43
-8
23
-8
0
0
-43
-75
14
-3
27
4
3
0
-13
0
36
36
-91
-10
49
4
0
20
-21
21
20
-32
3
-61
45
61
38
-41
-6
-93
51
12
2
0
34
4
-41
-2
4
-8
-34
29
26
46
7
-96
-39
-82
3
-6
0
-5
31
-66
-17
8
-34
-9
40
12
68
-28
37
44
-25
27
2
-2
4
-6
17
-17
16
-58
11
17
-64
38
-10
47
22
-30
-3
9
0
-3
30
-35
-26
25
-59
-68
-42
54
-33
-97
-4
-9
-66
-7
0
0
-3
-9
34
-35
13
21
17
16
-70
-26
-75
-10
4
-13
0
0
0
-21
-98
-30
21
-31
-22
-67
41
58
-90
5
1
0
0
0
0
0
-21
-9
25
3
-51
-5
-41
0
0
0
-57
-1
40
-37
36
-1
1
14
15
-2
-19
-35
-52
-81
-39
0
-2
25
42
136
-6
-26
-5
-1
-3
13
-36
-41
41
36
-15
91
27
44
88
111
11
-15
5
18
-4
-58
-18
-22
-31
-24
34
28
54
10
3
-22
4
65
11
29
31
0
14
-32
-12
-56
-33
13
74
34
-13
-16
-66
5
1
-10
-8
-3
0
-8
-43
-18
-44
-30
-35
-9
-13
27
4
-10
37
5
35
-2
0
13
-68
-56
-46
-11
6
34
40
16
6
17
29
-8
22
1
-7
6
0
10
-48
-60
-7
-50
27
-102
-30
-43
94
-26
-25
28
-7
0
0
0
16
-101
72
-25
11
-90
-9
-34
2
-60
-35
-1
0
-2
-2
0
0
0
0
0
0
0
4
8
0
0
0
67
59
36
-12
11
46
0
0
0
0
0
0
15
-41
0
0
0
67
21
7
1
-4
-14
-30
0
0
0
0
0
7
16
69
22
78
-23
17
13
18
3
13
59
0
0
0
0
0
0
22
-26
78
-48
67
-2
-9
23
27
2
-8
0
0
0
0
0
0
-7
80
-29
-19
75
-83
54
58
16
32
0
0
0
0
0
0
0
-20
61
13
36
-26
30
-11
30
-20
36
-17
0
0
0
0
0
0
-1
-13
30
2
-35
-8
0
2
10
34
49
0
0
0
0
0
0
10
-3
-2
-68
-16
3
-35
-7
5
5
47
0
0
0
0
0
0
0
3
1
4
21
-110
-24
-54
-23
61
28
0
0
0
0
0
0
4
0
0
0
15
58
33
-12
33
56
-28
0
0
0
0
0
0
4
0
0
0
12
34
-34
-25
6
-5
7
0
0
0
0
0
0
7
-4
6
-56
-41
-22
8
-32
9
65
27
0
0
0
0
0
0
-3
-1
17
44
17
-37
-12
0
27
-3
68
0
0
0
0
0
0
0
23
25
35
-54
-62
22
83
-91
-15
3
0
0
0
0
0
0
0
-3
-8
-4
52
-22
3
49
83
15
52
0
0
0
0
0
0
0
0
8
42
-22
11
-7
-33
25
44
21
0
0
0
0
0
0
0
0
2
7
16
-4
-17
-86
33
-10
20
0
0
0
0
0
0
0
0
-5
-7
1
-28
-36
-74
-3
-35
-19
0
0
0
0
0
0
5
0
0
0
118
-62
13
22
-16
-24
-38
0
0
0
0
0
0
-2
0
0
0
85
-37
18
15
21
-4
21
0
0
0
0
0
0
-5
32
-65
23
-95
10
32
0
28
69
-34
0
0
0
0
0
0
-10
32
19
-97
-19
-37
-11
48
58
37
-64
0
0
0
0
0
0
3
-19
-2
-9
-27
47
55
20
47
17
-21
0
0
0
0
0
0
3
-11
33
-4
86
37
28
51
34
57
67
0
0
0
0
0
0
6
16
-18
-11
20
-57
-66
35
-32
46
3
0
0
0
0
0
0
0
0
6
7
-2
4
33
68
-33
90
-7
0
0
0
0
0
0
0
0
0
0
14
-43
39
-50
59
-41
15
0
0
0
0
0
-4
9
0
0
0
59
-17
12
-33
28
-4
-11
0
0
0
0
0
7
2
0
0
0
124
-45
-20
8
71
100
9
0
0
0
0
0
-1
-1
70
-92
74
23
25
34
-2
-12
-41
103
0
0
0
0
0
2
13
53
32
-7
-97
-34
18
16
3
23
77
0
0
0
0
0
0
-23
26
17
-47
55
-48
-17
23
29
-12
104
0
0
0
0
0
0
-4
11
-24
41
50
-38
35
67
19
-70
14
0
0
0
0
0
0
3
-1
5
-20
-16
-23
19
57
24
-8
-61
0
0
0
0
0
0
0
4
-15
-6
26
-31
48
-26
79
-4
97
0
0
0
0
0
0
0
0
0
0
0
0
-17
11
-47
-147
80
0
0
3
12
-32
106
35
0
0
0
33
-6
-27
4
-7
-10
-14
0
0
0
6
-21
58
13
0
0
0
30
-31
-6
40
-30
-20
-25
0
0
0
-12
-35
10
60
-22
-81
43
22
-5
-19
20
14
3
15
0
0
-3
-1
8
-74
11
42
30
-14
3
21
19
4
-7
-7
15
0
0
-4
10
-6
-58
37
-30
15
-14
25
-65
31
-7
21
-66
-82
0
0
5
8
6
63
-17
38
-16
15
-28
-10
51
-23
13
13
20
0
0
1
6
20
-45
80
-43
1
-89
-40
-7
-8
39
-7
-7
91
0
0
0
0
0
-18
15
49
-45
-3
-37
-12
-17
-97
44
-37
30
0
0
0
0
0
-43
17
83
15
-9
-81
-2
-29
45
25
13
58
0
6
9
1
40
-88
-16
0
0
0
-6
-45
9
7
30
-1
20
0
7
2
-16
-7
6
-7
0
0
0
22
-13
-17
-20
13
32
-53
0
-6
-12
12
54
30
59
10
-27
16
-3
-40
-11
-12
4
15
-16
0
-4
12
-1
57
13
53
35
-9
99
15
-15
9
-47
14
-19
27
0
1
2
-22
-2
19
68
115
-18
45
-6
-20
-24
21
-20
-14
18
0
0
0
4
-15
21
-19
36
-15
22
38
-7
-43
31
-10
9
13
0
0
0
-9
17
43
34
16
-66
43
17
-79
-37
25
3
-5
27
0
0
0
-4
-11
2
28
21
-16
55
64
-92
28
-61
27
27
61
0
0
0
0
7
-8
36
34
-43
58
1
17
9
-34
-10
64
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
1
80
-6
64
-41
-25
-1
0
0
0
-48
15
-8
-12
94
15
28
-8
50
-36
-97
-97
13
14
0
0
0
-18
-32
-4
-38
46
-22
7
5
-59
39
-1
-50
-17
-12
8
2
-3
-7
-31
-5
-1
4
32
-34
-4
-52
-91
-49
-2
-102
15
-45
1
-11
-38
-18
-8
6
29
45
-20
-13
-72
9
-92
-52
-54
-58
-65
-19
-27
-13
4
3
37
28
-6
22
39
-70
-62
-13
24
-20
-69
-5
-13
-24
-54
17
-45
65
38
46
-10
-12
40
-13
-24
26
-98
27
-53
2
-64
24
-77
-32
43
-13
-20
15
0
-1
13
-17
-29
-134
-131
-58
-68
-48
24
-54
-38
-10
-90
-37
-36
0
0
0
-4
-4
0
44
-67
-33
11
11
-95
-32
6
-72
-53
-122
-1
-24
-105
-4
-55
-74
45
0
0
0
20
-2
24
-29
10
29
0
-53
-144
-9
-29
-8
-24
22
0
0
0
34
-1
22
5
24
45
0
-14
-34
-1
-10
-20
-64
22
14
19
28
11
-9
-10
31
27
-31
0
2
-60
-65
0
-106
-46
-27
-14
-25
1
-8
-11
15
49
19
25
0
-4
-68
-60
-62
-106
-62
-14
-4
-16
-32
-4
-19
-3
1
6
-25
0
8
80
-98
57
-39
-2
-31
-24
-16
-7
-13
-8
-15
-3
31
-29
0
0
28
36
-12
-35
-46
-1
-27
-38
1
-6
-1
12
30
3
72
0
0
29
42
-12
118
-2
-9
-18
-7
14
17
15
-5
57
23
-34
0
0
1
8
97
-23
62
26
-20
50
6
-3
27
5
34
-40
-18
0
-10
-72
26
-20
19
30
4
0
0
0
-16
62
-1
-15
-94
-27
0
-26
16
-7
-19
-3
20
-7
0
0
0
50
-32
10
-68
9
-38
0
-30
-58
14
-22
-17
18
-4
1
-3
16
59
73
34
-62
-47
-17
0
24
5
-4
-31
-9
7
-13
-1
-20
16
-30
6
-22
-18
-114
-50
0
61
15
-49
-41
-46
-14
-9
-19
-15
-29
-13
67
-30
-20
-156
-9
0
2
48
-23
2
-33
-25
-14
-10
-20
-23
6
-67
29
-35
-134
-36
0
6
-11
15
-33
-37
-7
-14
-4
-8
17
0
20
-89
22
-102
-67
0
63
-58
6
-32
-30
5
0
3
-19
14
-31
44
-113
-10
-76
-36
0
75
7
-60
-21
-29
18
-6
-19
6
5
25
0
-40
-46
-49
-33
0
25
-81
-62
30
11
27
7
0
0
0
21
34
-8
16
32
0
0
-6
48
31
-3
35
54
18
0
0
0
21
14
-26
-12
11
0
0
-3
-65
-49
8
44
25
7
19
-12
-26
-10
4
-1
48
-42
0
0
-46
1
12
25
-28
-1
-10
-12
-32
23
-15
-2
-21
0
77
0
0
14
-31
54
-94
-23
-30
-6
-28
-16
-36
0
2
15
-27
49
0
0
-8
-65
21
-27
-28
-36
-22
-37
-29
20
26
15
-20
-43
-40
0
0
-43
9
-39
-44
-61
-19
-24
-24
-30
-32
18
8
-15
8
-56
0
0
1
-42
-55
-44
-37
-36
-11
-38
27
-15
2
0
-3
-46
-77
0
0
0
0
0
2
-10
-6
-10
-48
-47
-19
-7
21
25
-53
-24
0
0
-1
-18
-11
-94
-21
-70
-18
0
0
0
12
-4
9
-26
45
14
31
0
-71
-14
46
-38
28
23
0
0
0
21
-8
-21
18
30
28
2
-5
47
-60
-3
-11
-1
40
14
3
14
-21
-5
9
10
7
-22
16
0
-23
-80
-31
-16
6
-50
-30
-29
-31
9
-4
-6
-26
10
34
21
0
-16
25
-163
-77
-1
-32
-41
-21
-29
9
16
8
12
15
16
-48
0
0
3
-61
-80
-70
22
10
8
2
-32
31
35
-1
44
22
-74
-1
-53
-56
-51
-54
-33
-80
-46
3
25
12
-24
-39
-1
26
-15
37
-1
-6
51
-24
-8
-90
-5
-78
-58
-58
1
-23
-32
-71
-99
-108
-61
0
2
21
-1
-12
-9
-22
-39
-41
-47
-77
85
-12
-79
-59
-135
-100
0
6
1
-14
-16
2
31
0
0
0
18
-48
-62
-38
3
-25
-45
-2
-2
-1
-76
-29
14
54
0
0
0
-8
15
21
-12
-23
4
28
2
-1
-8
-14
-16
53
36
9
30
-1
67
11
-29
9
14
-12
-8
-1
-2
-13
47
76
-55
-16
-10
-62
5
31
-16
-10
-27
36
-16
-39
-3
-7
-2
35
46
-63
7
-82
-37
13
-2
32
36
-58
29
-53
-43
13
-6
12
0
-57
42
74
-44
-29
-14
-49
-1
21
-87
-17
25
-48
0
-2
-12
28
25
-46
8
28
6
-19
-15
33
-9
42
-13
-38
-28
0
0
2
-3
8
-108
-18
-16
-65
9
8
63
-28
-59
-38
-71
10
0
0
0
0
0
6
-35
-44
-28
24
57
35
20
41
-3
12
-62
-3
-15
-5
-85
12
4
-29
0
0
0
-48
-41
-4
8
-46
30
-7
-2
30
-47
-76
-2
8
26
0
0
0
-21
46
20
2
37
28
42
1
40
-64
34
-56
-52
-36
-2
-20
-14
1
4
8
-20
29
33
13
8
5
-1
1
-17
38
4
13
-26
-5
-42
-54
29
-30
26
21
-20
-1
-11
12
-99
-15
-81
2
-38
3
4
-32
34
37
-7
13
-29
0
1
-16
41
8
-16
-64
34
-6
14
-6
-25
4
8
-12
-10
23
-7
0
-8
-19
-29
-46
-10
-11
22
16
-10
16
-46
2
-36
-6
-36
56
0
17
-35
10
-22
-36
-18
-9
-10
20
27
38
-11
-55
59
-42
-24
0
0
-2
-2
-32
-38
62
12
-33
-72
-38
39
-32
40
-18
-7
-89
0
0
0
0
0
-21
101
0
0
0
16
-18
59
-8
4
3
0
0
0
0
0
0
-26
-125
0
0
-89
-35
-6
12
-25
18
22
0
0
0
0
0
0
-14
-29
-53
2
9
-8
-27
25
0
12
12
0
0
0
0
0
-1
-1
6
51
38
-56
36
-5
70
16
-72
0
0
0
0
0
0
-2
17
-82
18
30
117
53
-13
-16
-27
31
-1
0
0
0
0
0
-5
-10
51
22
193
113
-5
-28
40
-12
-1
0
0
0
0
0
0
0
-45
80
30
-1
-13
-23
-8
-41
-4
0
0
0
0
0
0
0
0
0
-17
2
-12
-39
8
10
-25
0
3
0
0
0
0
0
0
0
0
-6
46
-113
-96
-5
5
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
12
21
-24
6
0
-5
0
0
0
0
0
0
1
6
0
0
31
-60
10
-20
1
-3
0
0
0
0
0
0
0
9
9
-108
56
-105
11
78
28
3
3
0
0
0
0
0
0
0
4
-16
-7
16
-8
54
49
19
2
1
-3
1
0
0
0
0
0
-3
-26
22
95
23
-23
36
1
-4
-1
1
0
0
0
0
0
0
-5
7
-5
-92
0
40
52
5
5
-7
-3
0
0
0
0
0
0
2
-46
39
-10
-15
-43
-4
6
-5
2
0
0
0
0
0
0
0
0
26
-73
-120
-59
23
-12
-20
0
11
7
0
0
0
0
0
0
0
3
-20
-6
16
1
4
0
0
0
0
0
0
0
0
0
0
5
65
0
0
0
-1
32
61
-13
-7
0
0
0
0
0
0
0
0
28
0
0
-54
62
31
30
48
17
-2
0
0
0
0
0
0
-41
-34
0
-47
52
45
66
1
6
9
5
0
0
0
0
0
0
-12
-55
50
81
60
47
39
10
3
0
0
-1
0
0
0
0
0
7
-78
-60
109
43
40
2
31
8
1
-1
0
0
0
0
0
0
0
-80
-54
26
10
-20
12
-10
12
0
0
0
0
0
0
0
0
-1
-22
-27
-18
-10
-23
27
-9
-1
1
0
0
0
0
0
0
0
0
-2
31
-34
7
-33
12
2
1
0
0
0
0
0
0
0
0
0
-3
20
-73
-10
-24
-2
-2
0
0
0
0
0
0
0
0
0
11
21
0
0
0
64
26
3
-13
5
0
0
0
0
0
0
0
7
-60
0
0
5
-10
-2
-6
13
-6
0
0
0
0
0
0
0
-1
77
44
73
30
10
-12
-18
-31
0
0
0
0
0
0
0
0
-2
53
-91
2
53
-14
-30
21
4
0
0
0
0
0
0
0
0
-50
-23
-74
5
-27
-47
60
44
-4
-2
0
0
0
0
0
0
0
9
-52
56
-21
59
-18
-8
-11
11
0
0
0
0
0
0
0
0
3
-39
-16
-40
-48
24
17
-2
4
1
0
0
0
0
0
0
0
2
-15
51
6
-66
1
-11
-4
-1
0
0
0
0
0
0
0
0
0
0
-2
10
-11
-6
0
-4
0
0
0
0
0
19
12
-2
26
-40
0
0
0
0
6
-68
-15
-3
-3
-1
-1
-10
19
1
-111
129
-15
-35
0
0
0
-78
-54
26
15
-10
0
0
11
32
-14
-10
89
-51
-21
-67
-62
-57
8
52
19
40
-32
0
-1
31
-15
21
-14
-47
-23
-15
-36
53
-39
60
17
20
10
3
-3
0
-11
0
40
-53
7
-6
16
49
112
36
51
-32
7
5
7
0
0
1
-19
-28
13
30
-48
47
-130
36
19
2
-6
73
-21
-13
16
0
-1
8
68
-24
31
-46
-6
25
-9
-7
-108
-7
10
-2
1
-4
-1
0
-7
-33
-47
19
0
-91
-52
-10
7
41
40
-9
-5
-1
2
-2
4
3
8
4
1
-31
-2
14
22
38
32
28
12
3
1
0
0
-20
-15
20
-21
-17
5
73
0
0
0
-64
28
9
27
8
10
2
22
6
52
-2
48
44
-45
0
0
0
-22
31
18
69
-35
-18
7
-48
-36
-79
18
59
23
81
-6
13
-6
-13
-43
37
23
14
12
2
-12
11
-29
68
34
11
57
-17
-37
24
-8
67
-68
-26
-28
0
0
1
-74
30
-19
-65
19
26
-61
-58
-30
17
53
80
-15
13
-9
0
6
-3
-30
-33
-22
-27
67
-14
-56
31
-71
-31
11
-21
-2
-1
0
-14
-18
-57
4
38
-25
-59
53
-19
22
-122
11
29
5
2
2
2
5
37
-17
-4
-16
6
11
-45
15
42
-50
-32
19
-16
5
0
0
0
-5
1
0
3
14
-51
28
56
29
3
2
-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
18
-37
54
-86
40
15
142
0
0
0
28
45
-51
-3
2
-28
0
-70
41
13
39
5
75
74
0
0
4
-10
-2
-12
27
8
18
0
-42
8
12
8
78
20
15
85
41
-84
-38
101
49
-6
-7
-3
0
-44
41
-25
107
18
-48
-3
-6
-86
110
-49
-27
5
9
-20
-6
0
-13
92
51
90
-29
-45
-28
22
75
19
-72
-15
-13
-28
14
1
0
-64
-7
87
30
-10
37
9
63
-44
-33
26
61
-6
-31
2
8
0
-66
-30
69
-103
32
-105
-72
-11
18
-14
16
1
-23
-1
-1
0
0
-23
-12
-12
-30
-13
5
-17
-15
-68
-17
-28
25
-9
10
0
0
0
0
-11
11
-20
5
14
-56
-10
-13
24
9
-13
-6
1
0
0
0
-27
31
-64
23
9
28
71
0
0
-37
18
-21
48
15
-2
0
0
-23
-133
-87
48
-1
8
48
-64
27
48
-28
4
-58
-28
0
0
0
37
-130
-3
-9
-4
42
-32
26
59
39
37
-31
-8
-10
1
-1
0
-64
-55
-77
17
5
-58
-48
-9
26
-9
17
-63
15
-14
-1
0
0
-23
17
38
67
-27
28
50
-4
3
103
24
22
-48
4
0
0
0
49
-134
-73
22
-4
-22
-26
2
117
-31
-33
29
-13
2
1
0
0
-16
58
-114
-66
-26
-45
-27
-27
47
-26
-35
30
-41
-6
0
0
0
4
78
-22
1
-5
-32
51
-20
140
80
-74
48
-17
0
0
0
0
-42
-24
41
-12
-57
-159
-37
5
-7
-3
15
2
1
0
0
0
0
-21
-35
1
19
150
-2
-26
0
0
-1
6
-9
0
2
0
0
0
73
4
-1
26
48
5
68
1
24
-13
33
-22
-3
0
0
0
0
-75
-37
28
-7
14
11
37
-1
-9
-18
35
-4
0
0
0
0
0
40
-41
21
14
46
59
-19
6
53
-6
-10
0
2
2
0
0
0
-5
-11
7
-19
22
-86
-25
68
18
3
6
-2
-3
0
0
0
0
23
9
-6
-4
5
17
10
-37
18
0
-11
3
2
1
0
0
0
13
27
16
14
18
-43
-1
-86
12
-7
-12
-4
-3
0
0
0
0
-8
6
-37
-20
3
14
82
-74
-15
-14
-1
-2
0
-1
0
0
0
-9
-43
-6
-31
5
-49
-72
-1
-36
4
-1
0
4
0
0
0
0
-28
4
-110
51
-72
80
-18
-29
0
57
0
-17
8
1
0
0
0
1
34
20
-13
47
36
0
8
-11
-9
-17
52
13
-9
0
0
0
-11
-50
31
-27
49
95
20
38
62
28
31
18
-4
1
0
0
0
-2
44
35
52
-77
-65
20
-74
21
-2
-15
2
3
-4
0
0
0
8
20
-3
40
34
60
1
103
-16
-21
2
-11
-2
2
0
0
0
2
-15
-35
40
22
87
6
-34
-28
16
-5
-7
-13
-1
0
0
0
9
-10
32
8
-22
-64
135
-27
-48
-2
1
-6
-1
0
0
0
0
-35
26
-51
90
7
-7
6
-49
25
-15
0
-1
0
0
0
0
0
0
0
-66
25
-25
35
-21
-3
3
0
0
0
0
0
0
0
0
12
-17
-9
75
49
141
67
0
0
-44
14
-36
-10
-78
-5
9
-1
-19
29
100
57
51
44
21
0
-121
0
82
17
5
3
-16
-12
6
5
-21
-23
35
-43
-9
30
-36
-57
89
10
26
15
1
-37
-23
-2
11
-83
115
82
41
52
-112
24
-5
-15
10
-82
-40
4
-37
-2
0
-11
28
25
111
29
29
-71
12
-65
-22
-13
9
0
9
5
0
0
-24
30
-118
-90
-27
-58
-23
39
-37
-23
-49
-24
9
-11
0
1
0
-8
-17
-167
-50
-121
-140
-75
70
19
91
-10
37
-37
6
-2
0
0
22
-6
41
37
-57
15
-3
-104
-9
-12
-34
-1
-15
12
0
0
0
5
-22
26
-38
10
7
34
-26
-1
-9
2
-19
5
0
0
0
0
-14
-27
19
-26
9
112
-13
-52
0
7
-29
10
31
0
2
0
0
-21
-22
28
-87
130
40
135
0
0
0
54
8
-55
-22
0
0
0
10
-72
-36
-4
-2
-83
52
96
76
43
81
60
-13
42
7
0
0
21
-7
59
142
-53
-25
96
-50
-111
-23
26
-46
-22
-20
7
0
0
-16
40
8
38
38
43
-63
-18
-72
-60
11
63
-7
-13
3
0
0
-23
7
79
18
34
-137
-107
-5
-7
-54
-32
-7
-4
-6
0
2
0
3
3
7
54
47
14
-22
-56
-18
-43
-27
-3
-1
-1
-1
-1
0
14
0
29
70
-82
8
-49
43
-39
-4
7
1
0
0
0
0
0
-2
2
20
11
-13
1
3
-1
2
-14
14
1
0
0
0
0
0
-48
36
185
85
-38
49
-111
0
0
0
1
22
23
-21
2
0
0
-49
37
-2
36
70
-47
-34
-48
0
-8
28
-5
41
47
-12
-2
3
-21
-106
1
-13
85
-20
-32
35
-98
95
19
24
-4
-1
5
0
0
-81
98
7
56
96
-17
118
68
-107
112
-5
1
-1
-5
-1
0
0
31
-15
55
50
1
-59
-81
48
-22
-18
46
27
-1
0
-1
0
0
46
5
19
-7
-28
92
-21
-84
35
-93
16
3
17
6
0
0
0
-22
21
82
6
11
-28
-33
9
60
-44
15
-36
3
0
-10
0
0
-22
62
-4
-23
25
52
29
-19
-22
-7
-49
23
-5
0
0
0
0
5
-36
-12
-4
5
2
-3
-15
-28
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
61
107
8
-43
20
37
67
0
0
0
0
0
0
-5
0
0
0
-33
-21
20
31
-11
-63
58
0
0
0
0
0
0
-1
-10
-30
54
-34
38
56
85
-14
-53
-30
0
0
0
0
0
0
0
-20
23
8
1
-52
15
-5
-17
50
17
0
0
0
0
0
0
-1
-1
0
18
-1
-43
-29
36
-12
-9
55
0
0
0
0
0
0
0
3
7
-46
13
-88
1
6
20
-10
82
0
0
0
0
0
0
0
1
5
-18
-6
-24
21
1
35
-92
30
0
0
0
0
0
0
0
0
0
0
-26
10
-30
-77
34
72
-8
0
0
0
0
0
0
0
0
0
-2
-1
-35
-1
30
14
-24
-111
0
0
0
0
0
0
0
0
0
0
-32
-41
6
7
69
-29
-67
0
0
0
0
0
0
0
0
0
0
22
23
116
-13
-39
6
-4
0
0
0
0
0
0
0
0
-2
-6
19
-81
-4
-13
-5
77
2
0
0
0
0
0
0
0
-1
3
5
41
-32
-2
20
40
-144
100
0
0
0
0
0
0
0
1
2
-3
1
-34
-8
-20
-106
32
-9
0
0
0
0
0
0
0
-2
1
-6
-20
39
-6
104
88
-48
-25
0
0
0
0
0
0
0
0
-1
0
-16
-11
5
-118
-12
-5
53
0
0
0
0
0
0
0
0
0
-1
1
-11
-30
11
-39
-9
-18
0
0
0
0
0
0
0
0
0
0
-1
-9
16
-4
18
76
-64
0
0
0
0
0
0
2
0
0
0
-24
-20
-40
-53
34
28
9
0
0
0
0
0
0
1
0
0
0
-27
-7
-15
33
99
-28
69
0
0
0
0
0
0
1
2
-5
21
-51
-84
-13
3
-1
67
33
0
0
0
0
0
0
-1
1
-3
23
-35
11
34
81
75
19
-46
0
0
0
0
0
0
-1
0
6
1
4
-1
49
-79
11
-25
15
0
0
0
0
0
0
-1
0
0
4
22
50
16
-55
110
111
6
0
0
0
0
0
0
-1
-1
2
0
2
-6
-38
-23
10
9
-32
0
0
0
0
0
0
0
0
-3
2
0
-17
5
15
55
51
-20
0
0
0
0
0
0
0
0
0
0
3
-6
-9
-12
-32
-17
-2
0
0
0
0
0
0
-1
0
0
0
63
-60
13
12
-45
-4
-31
0
0
0
0
0
1
5
0
0
0
-28
30
-46
-94
30
90
24
0
0
0
0
0
0
0
34
-39
1
11
34
-23
166
5
47
72
0
0
0
0
0
0
0
0
5
14
-63
-45
50
-76
-29
-92
-22
0
0
0
0
0
0
0
0
-2
-9
5
-97
32
29
12
-2
71
0
0
0
0
0
0
0
0
2
2
18
-36
-29
16
-26
-51
10
0
0
0
0
0
0
0
0
1
-4
-31
73
29
70
24
-13
-26
0
0
0
0
0
0
0
0
0
0
1
-10
0
8
16
20
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-6
10
0
0
0
1
-5
15
-3
0
0
0
101
-111
50
20
-13
34
-3
0
0
0
-2
-29
28
6
0
0
0
-16
96
37
3
-112
108
39
0
0
0
-1
2
-16
10
51
-98
33
54
0
-13
51
-51
-12
-30
0
0
0
0
3
-4
19
-27
21
-23
17
62
-66
2
-94
-19
71
0
0
2
3
1
-40
43
-40
24
66
4
-52
27
4
128
-43
-12
0
0
-1
2
0
17
49
43
43
-32
82
-93
-41
-29
95
93
-24
0
0
0
4
1
0
15
-33
-52
-52
75
-62
-53
37
7
-25
-14
0
0
0
0
0
-1
2
61
-4
-4
-17
-10
-43
4
35
-43
22
0
0
0
0
0
0
0
0
-1
0
14
14
-26
34
-8
6
-4
0
0
0
0
0
-5
10
0
0
0
-11
-46
69
31
43
-19
19
0
0
1
-3
2
5
-2
0
0
0
10
20
30
11
-40
23
-66
0
0
0
-1
27
5
8
34
-26
36
-17
108
-6
137
-30
42
-15
0
0
0
-1
-2
-9
42
15
27
5
-82
-17
-71
10
-5
-33
2
0
0
0
-2
6
5
-44
-22
28
22
45
-72
29
-65
-69
-58
86
0
0
0
6
-12
-41
-44
17
-53
47
34
-42
18
53
-12
-15
-78
0
0
0
-1
0
11
-24
45
-78
23
-11
80
28
33
5
-5
81
0
0
0
0
-4
-2
9
-29
-49
-3
34
0
2
86
16
-40
-51
0
0
0
0
7
-5
3
-2
-5
18
-7
24
-4
-38
-3
-30
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
8
-2
-5
-4
15
21
0
0
0
31
66
54
50
13
81
-23
0
19
-45
-37
-6
28
5
0
0
0
-126
-42
-69
-100
-114
18
26
0
-3
-31
0
10
0
-21
-38
14
53
64
10
14
104
80
-58
24
1
-7
51
-5
41
-108
-65
-48
25
58
57
-33
-6
-7
10
-46
-18
-1
7
2
-14
-3
12
-52
-118
-79
-169
39
-42
7
37
33
26
-59
3
-5
0
-10
-30
-9
-60
-7
-41
-24
115
87
-136
106
-19
22
-15
0
-1
1
-10
-3
-59
16
-8
80
36
-44
-17
-13
16
-16
-3
25
0
0
2
-4
0
0
4
-6
2
42
26
62
13
-1
-11
37
-26
0
0
0
0
0
0
-5
6
2
4
-1
-34
-19
-8
-24
-8
-1
0
-9
-2
-29
67
33
-11
0
0
0
0
37
-45
-29
-22
5
0
0
-10
-73
-52
-55
-47
40
0
0
0
-21
-12
2
-1
-29
104
0
2
-2
21
25
68
-84
5
-40
-19
6
8
-51
-48
78
4
-31
0
2
-3
-1
-4
-20
5
4
-10
-23
-8
21
45
35
-13
-48
-123
0
-1
-6
-6
47
-81
95
37
22
23
-19
-50
-44
-50
-64
-43
-10
0
0
13
-15
-41
61
-44
13
-19
-12
-61
7
31
-86
-75
20
-3
0
0
2
5
-36
-20
-66
-1
-5
23
54
55
-32
10
0
20
-66
0
0
11
3
-20
10
73
-30
10
58
-41
-57
20
-42
-33
-72
22
0
0
0
1
-3
-29
56
-16
-40
65
-73
-77
75
-49
-27
3
6
0
-12
-57
12
-22
7
10
16
0
0
0
31
51
0
-44
5
2
0
-11
12
-8
5
12
15
2
0
0
0
40
76
-7
24
3
26
0
19
-20
-41
8
-2
-10
10
4
-3
-18
74
-24
80
138
-78
11
0
23
44
-4
-18
-10
1
-22
4
-35
36
-7
-4
160
-31
-4
0
0
-18
-21
3
-16
-28
6
23
-16
-52
-86
116
39
85
-57
-34
-1
0
4
-10
6
-12
-14
-31
-6
20
9
73
-104
-18
-116
-37
-22
0
0
39
70
-10
-8
0
19
3
11
-18
11
60
-35
-29
48
-17
0
0
-2
-10
-33
35
25
19
14
26
-34
-5
30
-5
-123
-8
-5
0
0
12
-47
-62
19
-7
-12
-7
-24
54
34
-31
-77
-23
1
8
0
0
-3
28
6
31
4
47
-3
0
0
0
4
104
6
-19
1
0
0
5
-8
-27
-42
25
12
12
0
0
0
47
19
-18
-10
43
0
0
6
9
-2
-26
48
40
2
-1
10
-5
-42
-80
46
88
131
0
0
-4
-23
0
22
29
9
22
7
49
-38
-58
48
-72
24
40
0
0
1
11
48
-12
-3
-52
-23
-51
-37
-41
-41
-136
-13
-28
41
0
0
2
-13
56
2
0
-43
-32
-3
33
15
14
-4
-75
-18
36
0
0
1
8
-3
19
-28
23
9
-24
43
24
31
-52
-34
5
-11
0
0
3
-22
15
-98
-23
-46
-5
0
31
54
-24
-20
-20
11
0
0
0
0
0
0
2
1
1
-3
-8
30
11
58
82
10
9
-2
0
0
0
0
-3
-18
-38
-23
-8
0
0
0
38
22
96
9
62
-1
-54
0
-4
21
19
26
-41
-31
0
0
0
99
105
18
-27
86
-34
-2
0
-10
-12
-4
-13
-66
-10
37
12
20
1
29
48
-7
13
-103
-114
0
0
-28
28
21
24
34
-99
143
-35
175
9
4
-15
-2
-16
-77
0
0
10
-9
-58
27
28
10
-55
29
-42
19
39
-45
-11
9
-95
0
0
-9
-15
-12
-27
0
49
0
33
81
-78
43
-73
-164
32
41
2
-1
6
-10
-13
12
-11
5
-69
113
-61
40
-63
-30
-76
14
-45
0
-1
8
20
-17
2
-24
-28
0
-43
-45
-47
-32
-35
-51
15
-8
0
0
1
0
-1
-2
0
-6
-13
-18
-16
-34
-19
-5
-7
-24
-2
0
0
0
-2
-33
-10
40
0
0
0
-22
9
-6
-42
82
-25
-29
-1
0
-1
-14
6
-28
126
0
0
0
138
10
-22
-29
5
-97
40
2
0
-3
0
1
35
3
22
29
-25
142
165
-63
-119
-20
4
24
0
0
0
10
35
18
7
27
-24
64
96
51
45
-36
66
-64
29
0
0
0
14
5
-19
-8
-32
74
-84
-12
-8
56
-58
13
-78
-54
0
-1
-1
3
4
-10
-27
3
26
12
13
-4
54
-44
-26
-95
7
0
0
0
-14
-11
-1
-34
5
131
-87
61
33
-80
-41
79
-22
-60
0
0
0
-3
0
-9
4
31
-29
-19
12
-40
11
-50
-28
50
-10
0
0
0
0
0
0
-15
-14
-21
30
-9
-18
23
9
1
7
0
0
0
2
10
-17
22
-26
0
0
0
26
92
17
-4
-5
14
58
0
2
-38
-35
14
65
82
0
0
0
-15
66
-30
10
33
62
60
0
-1
3
-3
-18
-25
-36
71
51
119
-11
-29
104
42
-9
48
-35
0
-2
-6
-41
-25
-42
33
51
-7
65
-3
-9
-21
26
28
-56
41
0
2
-8
-58
20
-25
-23
0
127
-47
85
1
47
-7
-19
-26
-49
0
0
-6
56
-1
-10
22
-35
28
-51
8
-41
-1
51
-115
-10
49
0
-1
14
-18
-32
-2
-44
16
23
55
110
-130
16
-77
4
-5
-33
0
-1
-1
19
8
-32
-9
-90
75
-55
43
2
29
39
-33
-55
-50
0
0
0
0
-3
23
22
-29
-77
-7
-2
77
22
2
-4
26
0
0
0
128
-19
20
-33
-183
-210
0
11
0
-33
7
9
-37
-121
0
0
41
68
64
63
-118
-129
0
9
0
36
-1
-19
-14
-132
0
0
3
-145
-131
-169
-234
-210
0
-83
0
-66
-49
-108
-150
-159
0
0
41
25
26
-55
-324
-227
0
-121
0
-5
14
-100
-281
-276
0
0
43
-29
50
-26
-152
-253
0
-20
0
-32
-15
0
-85
-192
0
0
85
116
104
73
-12
-85
0
-10
0
44
0
-2
-40
-128
0
0
82
-98
-77
-117
-173
-247
0
-91
0
-28
-37
-105
-183
-227
0
0
62
82
71
53
-97
-57
0
-16
0
4
2
12
-46
-138
0
0
5
-33
7
-47
-152
-243
0
-22
0
-18
-9
-3
-45
-171
0
0
78
93
120
43
-33
-85
0
-12
0
51
14
2
-23
-74
0
0
67
-75
-48
-100
-171
-214
0
-36
0
9
28
-43
-104
-160
0
0
44
70
54
22
-54
-64
0
33
0
1
15
54
40
-12
0
0
-51
-111
-120
-72
52
95
0
10
0
-23
20
12
206
166
0
0
58
74
162
-41
-39
74
0
-27
0
58
51
50
27
60
0
0
-25
19
-39
-47
149
135
0
147
0
10
70
173
204
358
0
0
-22
80
57
-147
7
-50
0
31
0
-5
30
15
103
197
0
0
0
0
0
0
0
0
47
-21
38
64
133
-37
-3
-6
0
0
115
1
-1
-4
7
-13
44
-12
0
0
0
-70
-19
19
0
0
0
0
0
0
-1
-8
98
-17
-18
27
38
84
-6
7
0
0
-46
-8
-7
-25
24
-6
0
81
1
0
0
22
3
4
0
0
0
0
0
0
-3
0
-58
46
177
53
-30
41
-16
0
0
0
89
10
40
-4
12
38
0
64
26
1
-11
-16
-1
4
0
0
0
0
0
0
31
-26
-5
2
-13
50
103
-1
22
3
0
0
2
0
0
0
10
-8
0
2
123
-31
-16
20
1
1
0
0
3
0
0
0
-29
-16
1
28
0
47
79
67
-13
0
0
0
0
0
0
0
-2
2
0
-44
122
-45
35
2
8
-1
0
0
-7
0
-2
0
4
-32
4
72
-36
20
117
52
2
0
0
0
0
0
0
0
1
3
0
3
93
4
0
-9
-4
0
0
0
-12
3
-135
-31
-6
-40
-3
28
23
11
24
66
-9
-6
0
0
0
0
0
0
0
0
0
-10
46
42
-38
-13
-5
-3
0
0
29
7
-101
7
84
-25
0
35
58
2
0
49
0
-16
0
0
0
0
0
0
0
2
0
-5
-38
3
2
-16
1
-3
0
0
26
23
-34
2
62
11
0
20
0
0
0
14
4
-1
0
0
0
0
0
0
0
0
0
33
-70
21
-39
-7
0
-1
0
0
0
0
0
0
0
-3
100
9
11
43
-15
46
24
63
0
0
8
-6
6
13
5
15
0
-20
0
0
0
-73
11
43
0
0
0
0
0
0
3
4
81
67
64
95
29
79
-4
-21
0
0
-23
19
50
-3
44
47
31
-42
9
0
0
7
10
17
0
0
0
0
0
0
18
-16
-27
2
112
-18
87
100
14
-8
0
0
7
26
31
30
128
16
0
76
101
-12
-9
-23
-16
1
0
0
2
0
0
0
54
2
-23
5
84
-9
52
-81
68
-5
0
0
38
0
4
64
-21
-14
0
38
65
-29
15
152
28
5
0
0
-6
0
-1
1
-6
-23
-4
-9
73
-21
25
-73
-16
3
0
0
0
0
0
0
19
-5
0
87
105
-53
-20
-3
-6
4
0
0
14
-3
9
-41
-88
-52
-13
63
-11
79
55
-64
31
-2
0
0
0
0
0
0
7
1
0
-43
42
-41
23
11
-18
2
0
0
11
57
38
43
26
1
1
49
75
5
-41
103
-4
3
0
0
0
0
0
0
0
5
0
34
-53
-35
-51
-41
5
-5
0
0
53
-46
49
49
-19
51
0
51
84
33
0
66
-15
7
0
0
0
0
0
0
0
-2
0
-69
-71
24
-42
-44
-12
5
0
0
11
-1
14
20
-56
99
0
87
0
0
0
45
-6
-14
0
0
0
0
0
0
1
11
0
-84
-98
30
-29
-11
-4
-22
0
0
0
0
0
0
2
-7
19
97
41
14
36
29
-6
23
0
0
2
12
26
-1
64
36
0
-23
0
0
0
-19
-25
-17
0
0
0
0
0
0
-7
-1
42
14
25
19
63
83
5
18
0
0
-9
-12
16
6
-9
-14
0
-11
27
11
0
-36
-7
17
0
0
0
0
0
0
-1
-12
-2
-52
103
59
75
-1
7
-18
0
0
23
0
37
44
3
8
26
-13
17
22
27
74
13
1
0
0
1
0
0
0
-50
-23
19
-29
42
71
5
-34
43
4
0
0
-4
-5
-10
39
46
35
0
5
130
-15
-61
11
-42
-5
0
0
-9
0
0
0
0
21
-42
-14
-6
13
65
29
4
25
0
0
0
0
0
0
-2
-14
0
11
79
-22
11
31
-41
-4
0
0
-10
1
8
-9
27
-34
6
-3
54
79
64
13
-37
14
0
0
0
0
0
0
24
-8
0
34
51
-32
-69
29
7
26
0
0
10
-31
16
12
-9
45
0
-10
-2
22
25
11
-50
5
0
0
0
0
0
0
-11
4
0
95
13
-55
1
-28
4
2
0
0
73
12
14
4
-9
32
-1
9
26
8
0
53
-12
15
0
0
0
0
0
0
3
2
0
-21
-21
-75
-34
-17
-25
-16
0
0
32
-14
73
6
10
4
3
47
0
0
0
27
43
14
0
0
0
0
0
0
0
-3
0
-71
-37
13
-42
1
12
-13
0
0
0
0
0
0
3
10
-10
24
9
33
53
47
-16
-27
0
0
46
-2
-9
-8
77
22
0
7
0
0
0
-66
-12
23
0
0
0
0
0
0
7
-17
83
-3
90
9
20
14
54
9
0
0
74
59
2
1
-38
-29
0
19
6
-17
0
-84
29
28
0
0
0
0
0
0
-11
-12
-61
16
83
33
28
-31
-56
26
0
0
39
-13
76
1
29
27
0
-62
-32
-24
2
-39
59
-6
0
0
0
0
0
0
5
7
-16
148
75
20
51
8
-24
-20
0
0
5
0
-14
13
-48
86
12
-21
105
-37
52
21
21
-5
0
0
9
0
0
0
32
-21
3
-18
-12
84
-13
82
-7
-18
0
0
4
0
0
0
13
10
0
51
10
34
45
31
-70
-20
0
0
-22
3
25
-34
27
20
0
-2
35
-8
1
-30
25
-10
0
0
0
0
0
0
-37
7
0
26
32
-75
-65
-15
32
42
0
0
-2
48
5
13
-32
-12
-6
0
-20
8
20
52
-37
7
0
0
0
0
0
0
19
1
0
-47
24
-19
-73
-46
-23
-35
0
0
-9
-24
85
-2
23
-45
13
8
34
11
0
23
-9
-15
0
0
0
0
0
0
8
2
0
-20
-91
-9
-50
43
-18
-39
0
0
36
3
-30
-4
-12
20
-4
6
0
0
0
24
-10
-2
0
0
0
0
0
0
1
1
0
-20
7
-6
-29
21
-62
3
0
0
0
0
0
0
-11
-20
-2
-116
12
-16
23
41
25
13
0
0
-36
14
-11
31
59
21
0
21
0
0
0
-31
49
40
0
0
0
0
0
0
16
13
16
-6
-90
147
18
1
29
25
0
0
-20
4
100
29
42
10
0
22
18
-4
0
-27
-44
-1
0
0
0
0
0
0
-8
-4
-20
37
14
22
-40
35
68
107
0
0
-7
-37
-5
72
18
15
0
37
130
-23
57
81
39
22
0
0
0
0
0
0
-18
35
-6
60
25
35
3
-12
41
-19
0
0
-48
-2
-48
-21
22
6
0
28
0
55
45
-6
-26
-5
0
0
1
0
0
0
10
59
0
0
12
37
27
21
-12
20
0
0
3
0
0
0
-72
16
4
2
35
12
-11
52
33
18
0
0
35
2
-48
-23
72
-78
-3
4
-15
7
-2
-47
16
-12
0
0
0
0
0
0
0
1
0
11
-4
39
-8
16
36
-48
0
0
-6
2
19
48
61
-18
42
-88
-18
5
6
21
-7
12
0
0
0
0
0
0
6
-18
0
44
32
-17
3
-25
4
56
0
0
157
-4
-10
63
-95
14
4
71
-12
17
0
35
11
-10
0
0
0
0
0
0
-25
-17
0
-14
-49
-13
6
-3
-62
50
0
0
22
18
34
-35
-73
16
-1
32
0
0
0
-98
26
-41
0
0
0
0
0
0
4
-1
0
-16
10
6
-14
14
-58
-61
0
0
0
0
0
0
47
-7
-9
-13
-56
-6
4
-50
-1
22
0
0
-51
-149
-62
-8
75
-30
0
-42
0
0
0
-81
-4
76
0
0
0
0
0
0
-48
-70
5
12
-8
86
-109
-11
-25
30
0
0
35
-8
24
100
20
-35
0
73
-6
-68
0
69
57
-37
0
0
0
0
0
0
-2
-80
5
54
-20
68
41
34
52
-53
0
0
41
81
75
-15
-9
-22
0
0
29
-43
-43
-20
86
-73
0
0
0
0
0
0
38
99
0
24
62
40
101
49
84
-6
0
0
47
-13
21
-9
-37
-6
0
39
47
1
0
12
14
-58
0
0
-2
0
0
-14
-74
-106
6
-32
25
33
5
65
44
38
0
0
29
1
-1
-7
27
1
0
10
37
80
67
49
-19
16
0
0
41
11
13
51
-3
-22
16
-26
0
-7
-16
-62
15
-10
0
0
0
0
0
0
-32
-11
6
37
25
45
15
27
-58
72
0
0
74
14
48
-27
-21
26
-19
53
30
48
93
-26
-35
56
0
0
0
0
0
0
-29
-36
0
5
15
16
-39
-46
-13
-79
0
0
8
104
-56
33
13
53
23
51
-17
37
0
51
-44
32
0
0
0
0
0
0
20
56
0
-5
-46
10
-22
-21
-9
-22
0
0
27
42
-54
-64
10
-6
5
13
0
0
0
47
0
7
0
0
0
0
0
0
-36
28
0
-6
6
-4
-7
-80
-50
4
0
0
0
0
0
0
-6
78
-9
5
11
-1
-6
-2
18
-9
0
0
-41
-97
-44
-10
-22
-3
0
48
0
0
0
-16
49
14
0
0
0
0
0
0
-2
45
-4
-3
-4
24
-7
-10
-11
42
0
0
-1
10
-45
7
-9
-4
0
-76
-21
-27
0
5
46
5
0
0
0
0
0
0
24
85
0
7
-5
14
10
2
21
-10
0
0
55
39
31
73
33
-3
0
64
6
24
-20
25
134
-14
0
0
1
0
0
0
38
-79
-9
-3
-15
-25
-13
12
27
-8
0
0
65
157
110
29
-8
-17
0
66
42
82
-40
36
29
9
0
0
42
-1
33
26
70
-7
23
-2
22
-7
22
17
40
39
0
0
26
26
-26
-36
-41
-3
0
27
-5
-25
-5
9
-47
-54
0
0
-72
-8
-49
76
2
-4
61
8
-25
7
11
18
16
10
0
0
-13
0
0
0
-17
-26
0
2
-2
-21
-24
0
-30
-5
0
0
-15
-41
-50
10
3
23
2
25
-50
38
66
-52
-8
-86
0
0
0
0
0
0
-65
-16
-1
-2
-8
-49
-12
-8
-21
-9
0
0
30
118
27
-66
-24
49
28
-12
20
71
0
16
-55
14
0
0
0
0
0
0
5
-5
0
-5
-24
-41
-15
-23
-7
-8
0
0
11
67
-7
92
2
-7
58
74
0
0
0
22
9
-10
0
0
0
0
0
0
12
-23
0
-12
-26
-1
-4
-42
-11
-1
0
0
0
0
0
0
67
21
0
1
32
0
0
11
20
28
0
0
-47
8
-35
-3
-31
-7
0
-62
0
0
0
-14
-20
1
0
0
0
0
0
0
37
48
0
0
4
19
49
1
3
0
0
0
-20
-54
-39
-44
-27
0
0
-78
22
-16
0
-2
-14
10
0
0
0
0
0
0
38
76
7
0
2
11
0
-1
4
24
0
0
-6
-18
-32
-23
-6
-19
0
-51
14
-62
-74
-16
-21
65
0
0
-19
0
0
-91
-7
18
-2
3
2
0
-6
-3
8
8
0
0
-1
-23
-28
-11
-12
-39
0
-34
35
-2
-10
3
2
2
0
0
-100
124
79
-42
11
37
-14
-29
2
17
-5
-7
19
25
0
0
-28
58
68
42
11
-18
0
38
0
36
16
7
8
-2
0
0
-67
73
-21
27
-2
52
-82
8
-8
-3
0
0
15
4
0
0
-18
10
41
20
7
-23
0
11
2
17
47
3
1
0
0
0
-14
8
-4
-14
6
19
-33
-26
-6
-18
-23
-28
6
42
0
0
26
0
0
0
-8
-8
0
-1
0
7
0
0
-5
18
0
0
-10
-3
4
23
20
-1
-81
-55
-8
56
0
-6
12
9
0
0
0
0
0
0
-4
-27
0
0
32
-5
30
-3
-6
-3
0
0
24
-1
56
74
23
13
-98
-14
0
0
0
14
0
-5
0
0
0
0
0
0
-46
-33
0
-3
34
1
0
-13
-11
-5
0
0
0
0
0
0
45
17
0
11
-24
-1
0
23
29
8
0
0
-34
-33
-21
-90
-13
6
0
-72
0
0
0
3
68
33
0
0
0
0
0
0
90
-4
0
-2
-29
-3
24
8
10
6
0
0
15
-30
7
-20
-7
32
0
-8
64
-104
0
34
49
56
0
0
0
0
0
0
-3
33
12
-6
1
-1
0
-3
2
-35
0
0
4
-35
-14
-45
-20
21
0
16
65
-69
-50
36
37
55
0
0
4
0
0
-9
-3
47
11
-4
-3
-14
-68
-7
-12
-16
0
0
26
21
11
9
38
27
0
-7
26
40
19
11
-8
0
0
0
-78
-43
-87
-113
6
7
4
-40
-13
-67
-9
-30
-10
-7
0
0
-14
-24
-43
110
20
28
0
-8
2
-23
6
19
-6
10
0
0
7
-97
-51
-19
21
69
10
-37
-68
28
2
2
-5
-4
0
0
1
0
0
12
54
53
0
24
0
-36
-19
4
0
6
0
0
-21
22
2
4
18
13
-19
32
-23
21
81
-2
-35
-52
0
0
0
0
0
0
43
14
0
1
-3
-11
1
2
-5
-2
0
0
16
-59
60
10
6
-31
-100
9
-41
23
0
-3
-24
-12
0
0
0
0
0
0
-21
-57
0
-1
15
-23
33
-2
-3
-1
0
0
53
62
103
51
25
-18
-47
75
0
0
0
134
26
-46
0
0
0
0
0
0
39
-13
0
-2
15
0
-1
-11
-12
-7
0
0
0
0
0
0
0
1
65
-87
113
-15
83
-72
0
-31
0
0
142
-4
52
-83
-9
-5
33
191
0
0
0
-19
6
99
0
0
0
0
0
0
14
-27
50
-41
107
42
77
11
-5
-9
0
0
99
69
82
96
57
43
0
66
138
5
0
1
80
-32
0
0
0
0
0
0
-111
15
7
-111
75
65
30
-19
-70
-31
0
0
58
-21
43
1
45
88
0
7
122
-17
10
96
73
28
0
0
0
0
0
0
31
-72
-18
-38
13
132
86
33
-27
24
0
0
69
0
4
1
56
28
0
86
211
66
-5
87
104
7
0
0
-1
0
0
0
-21
-86
-51
9
63
58
100
98
34
0
0
0
0
0
0
0
-36
24
0
-4
116
69
32
25
-27
25
0
0
-2
0
-9
-29
18
-91
-20
-31
-34
44
191
86
2
40
0
0
0
0
0
0
-16
6
0
-26
39
34
-2
64
-91
9
0
0
47
-53
-44
20
-51
-6
6
76
148
84
142
201
-46
-24
0
0
0
0
0
0
1
-2
0
77
14
-20
-60
5
-49
-10
0
0
123
72
-16
31
71
42
2
84
152
28
0
9
-17
-2
0
0
0
0
0
0
-2
2
0
-103
-103
-38
-37
-68
-57
-60
0
0
89
49
-32
24
14
10
0
116
0
0
0
35
6
-17
0
0
0
0
0
0
0
-4
0
67
-142
-51
-122
-125
-29
-77
0
0
0
0
0
0
-21
-75
89
40
44
88
-8
52
52
10
0
0
47
20
57
-33
103
56
0
53
0
0
0
17
87
55
0
0
0
0
0
0
-71
30
79
0
87
150
34
45
38
-175
0
0
77
98
52
40
-9
63
14
4
114
-29
0
45
3
-38
0
0
0
0
0
0
48
-82
20
-32
81
-1
29
-27
16
28
0
0
46
5
63
2
106
36
0
115
132
14
20
50
-30
-41
0
0
-22
0
0
0
-1
15
-33
-11
65
-11
42
-39
54
53
0
0
78
-1
4
85
31
60
0
76
144
-28
89
120
-15
5
0
0
-11
0
-4
-7
27
-57
9
-7
10
-26
87
-44
76
0
0
0
2
0
0
-2
57
54
0
81
35
7
37
95
-37
-13
0
0
-53
6
9
-83
5
24
27
-55
13
39
118
-1
60
55
0
0
0
0
0
0
-29
30
0
65
39
-8
9
39
-91
63
0
0
64
50
-21
17
-13
-80
-14
56
156
-25
21
82
-72
41
0
0
0
0
0
0
-13
3
0
-22
-29
32
-32
-40
15
-27
0
0
95
67
65
58
8
-52
0
32
55
89
0
95
-48
30
0
0
0
0
0
0
-7
7
0
-67
-139
-67
6
-50
-69
-29
0
0
62
-52
73
65
-9
35
-2
77
0
0
0
48
-32
29
0
0
0
0
0
0
-6
-3
0
-72
-73
-47
-116
-100
-101
-1
0
0
0
0
0
0
30
-60
33
23
-13
13
16
18
-23
-28
0
0
30
15
-91
49
58
55
0
31
0
0
0
-53
92
6
0
0
0
0
0
0
-73
-8
24
54
79
9
158
31
-121
-52
0
0
107
33
17
9
9
15
0
-30
135
37
0
110
14
22
0
0
0
0
0
0
12
-73
-26
-21
68
13
40
-14
31
21
0
0
-4
-33
27
36
-8
11
18
-40
74
37
2
11
-6
66
0
0
1
0
0
0
-5
-160
-45
27
37
-6
-42
-38
64
-10
0
0
-47
-3
-15
56
87
7
0
-1
130
-26
33
-1
-36
-61
0
0
-16
0
-13
5
10
-33
-35
17
21
-11
52
16
-35
-10
0
0
16
0
0
-1
2
-39
0
77
80
-70
16
-8
49
34
0
0
-31
6
126
-49
-41
-22
10
21
27
6
161
14
73
14
0
0
0
0
0
0
1
16
0
81
36
-7
0
22
-103
-33
0
0
64
-41
18
54
18
-23
0
-42
41
49
91
9
-27
-46
0
0
0
0
0
0
-11
27
0
9
-16
-62
-37
-5
-68
-111
0
0
97
11
58
-1
-5
41
14
11
93
38
0
48
-12
1
0
0
0
0
0
0
28
38
0
-51
-106
-21
-36
-48
-41
-48
0
0
37
0
-2
-11
9
67
-6
64
0
0
0
127
76
19
0
0
0
0
0
0
1
-3
0
-98
-61
-9
-53
-86
-27
-10
0
0
0
0
0
0
-45
-108
2
-29
10
32
2
27
-68
-97
0
0
90
9
-5
-44
85
52
0
30
0
0
0
-34
20
98
0
0
0
0
0
0
-18
-49
27
20
74
94
69
-10
-17
18
0
0
54
20
-3
41
47
11
0
88
62
-3
0
31
36
-60
0
0
0
0
0
0
-87
-46
23
1
60
63
40
40
-65
-1
0
0
13
52
-5
17
-26
46
0
42
55
64
16
22
13
54
0
0
0
0
0
0
-33
-35
-19
4
43
57
24
-29
93
-69
0
0
-1
11
-3
13
-16
59
20
-56
102
-28
-17
9
-4
-56
0
0
6
0
2
6
-47
2
-22
8
9
25
33
9
55
14
0
0
6
0
0
-6
-28
37
0
-1
14
17
6
21
-79
-60
0
0
29
-21
30
-16
-36
-22
0
7
10
56
96
-48
176
96
0
0
0
0
0
0
-57
-66
0
45
43
2
-13
44
-19
24
0
0
15
23
13
66
-38
-37
-10
28
63
60
47
137
-110
23
0
0
0
0
0
0
-22
-84
0
1
16
-35
-14
-1
-18
-26
0
0
57
14
70
38
-51
1
-27
101
70
58
0
16
-17
-29
0
0
0
0
0
0
76
19
0
-15
-47
-30
-6
-66
-17
-84
0
0
-1
24
18
43
8
32
20
73
0
0
0
109
64
49
0
0
0
0
0
0
25
-25
0
-74
-97
-21
-41
-73
-64
12
0
0
0
0
0
0
-54
-69
9
-9
-39
-12
-9
25
26
-2
0
0
-25
23
11
72
85
53
0
-6
0
0
0
18
18
18
0
0
0
0
0
0
87
6
-4
5
-16
74
-4
-5
11
-7
0
0
15
-39
34
37
78
10
0
47
12
-25
0
-8
1
-42
0
0
0
0
0
0
-35
73
3
-20
27
40
46
-26
-6
5
0
0
16
33
-12
11
9
6
0
91
44
-23
2
90
-40
-44
0
0
0
0
0
0
-16
13
-8
22
14
52
1
-4
37
16
0
0
-21
-60
2
-18
-11
-42
0
-19
30
-49
-21
7
-39
64
0
0
26
0
-1
8
-13
69
0
39
17
42
10
20
34
21
0
0
-53
0
-3
18
-16
-33
8
53
22
-17
-8
62
-27
-13
0
0
23
-21
0
17
-33
-70
22
84
17
76
104
49
31
3
0
0
0
0
0
0
8
10
0
-9
22
1
13
-3
-26
-30
0
0
18
23
47
23
-1
33
35
17
44
82
107
43
27
-6
0
0
0
0
0
0
-71
16
0
21
-16
17
10
-9
-2
-68
0
0
20
103
39
68
-14
4
-9
65
98
125
0
31
-38
-55
0
0
0
0
0
0
-84
28
0
-10
-16
-9
60
-63
-14
-12
0
0
35
28
8
13
-3
25
51
65
0
0
0
56
-14
23
0
0
0
0
0
0
0
50
0
-43
-71
-9
-18
-77
37
-8
0
0
0
0
0
0
49
38
4
23
56
13
-3
18
12
-26
0
0
-20
-52
-30
-2
-39
-25
0
-40
0
0
0
8
-12
-5
0
0
0
0
0
0
-76
53
5
12
1
33
-22
9
17
13
0
0
-22
-21
-1
-40
14
9
0
33
-19
-138
0
29
35
5
0
0
0
0
0
0
-6
-42
10
17
11
47
10
29
37
-3
0
0
17
46
-1
7
-21
9
0
31
23
-7
-70
27
0
-1
0
0
0
0
0
0
-19
35
0
-15
33
35
50
-9
11
-5
0
0
34
-17
100
8
-29
-26
0
48
43
5
-20
9
-6
-73
0
0
-32
2
11
5
-24
20
8
-3
30
43
33
28
58
5
0
0
4
0
2
-20
-21
-13
0
22
35
-37
4
9
-27
-27
0
0
-8
-29
-20
29
16
-1
19
15
17
11
60
-5
30
-56
0
0
8
0
0
0
0
-47
9
19
19
44
-4
19
-10
-26
0
0
42
12
32
-2
6
3
45
52
76
92
101
69
-21
-25
0
0
0
0
0
0
-72
-62
0
-33
1
-22
-1
-7
-9
-50
0
0
15
23
7
-12
17
8
33
31
47
193
0
7
-41
62
0
0
0
0
0
0
27
-59
0
-11
-12
-19
-25
-21
-11
-11
0
0
28
52
28
45
24
33
18
74
0
0
0
44
-13
41
0
0
0
0
0
0
-79
-55
0
-50
-50
4
-30
-51
5
19
0
0
0
0
0
0
112
81
0
19
16
-4
-1
2
27
2
0
0
-45
-14
-41
-18
-26
-11
0
-31
0
0
0
-30
-8
-10
0
0
0
0
0
0
44
17
-2
-4
3
10
-17
3
46
19
0
0
-18
9
-22
-1
-14
-8
0
-15
-20
-96
0
-12
10
2
0
0
0
0
0
0
23
70
0
9
-15
31
-6
1
53
31
0
0
-6
-12
11
12
-2
-19
0
-16
-14
-91
-36
11
18
13
0
0
2
0
0
0
26
23
-10
-4
-9
-8
14
17
39
11
0
0
41
-1
-49
-10
8
-5
0
-10
19
-9
-14
0
6
-18
0
0
-8
-9
-8
4
12
34
-3
7
7
11
6
9
-7
17
0
0
7
22
67
55
6
-45
0
-10
-5
1
-24
-10
-33
-48
0
0
-17
-3
-26
6
14
0
-23
21
-3
14
21
24
19
-2
0
0
-7
0
0
0
-7
-30
0
-22
-1
-32
-24
-11
-15
-14
0
0
1
30
8
26
4
-11
26
16
6
171
105
-8
11
-72
0
0
0
0
0
0
14
11
-2
-16
-6
-12
-23
-18
-12
-38
0
0
22
6
-1
39
-11
42
-19
20
-3
52
0
28
-17
-7
0
0
0
0
0
0
-34
23
0
-10
-40
-31
-31
-22
-4
-7
0
0
13
31
35
-8
8
1
-7
8
0
0
0
2
-18
0
0
0
0
0
0
0
-24
24
0
-17
-51
-3
-13
-33
-25
-4
0
0
0
0
0
0
82
123
1
3
6
0
0
20
43
35
0
0
-57
-34
-49
-35
-39
-11
0
-71
0
0
0
-36
-7
4
0
0
0
0
0
0
102
40
0
0
8
3
34
1
36
10
0
0
-38
-49
-15
-50
-38
-28
0
-90
-24
-90
0
-60
-35
-12
0
0
0
0
0
0
37
64
4
0
-1
24
6
3
31
24
0
0
-8
-5
-21
-15
-22
-31
0
-57
-1
-55
-51
-34
4
-51
0
0
43
0
26
-52
34
90
-2
14
0
20
-10
3
10
22
0
0
-58
36
-23
-36
-24
-25
0
-60
9
8
-3
-52
-4
-24
0
0
111
46
6
-19
35
82
4
5
4
7
-16
8
17
31
0
0
-74
25
-93
-35
-3
-1
0
-1
0
15
18
2
7
-4
0
0
6
40
-5
8
31
60
-27
20
-8
1
-9
10
20
37
0
0
-17
7
8
-46
11
-22
0
-3
0
0
18
-3
1
-2
0
0
-4
3
4
23
30
24
-24
-3
-12
-23
1
-4
21
73
0
0
28
0
0
0
0
-44
0
0
0
-8
-5
0
-5
-1
0
0
1
-9
0
-9
52
13
-76
-12
-1
-27
0
-10
29
1
0
0
0
0
0
0
-46
-62
0
0
20
-5
34
-4
-9
-5
0
0
29
17
9
37
39
5
-48
-5
0
0
0
4
23
-15
0
0
0
0
0
0
18
11
0
-1
26
0
0
-7
0
-13
0
0
0
0
0
0
55
58
0
3
-3
1
3
21
76
27
0
0
-51
-40
-36
-24
-53
-18
0
-63
0
0
0
-55
6
-4
0
0
0
0
0
0
59
32
-1
0
-8
-13
12
10
29
9
0
0
-47
-37
-13
-23
-55
-11
0
-54
-29
-71
0
-62
-11
28
0
0
0
0
0
0
66
65
5
6
1
-12
22
-1
23
17
0
0
-25
-9
-23
-33
-22
-24
0
-46
15
-11
-58
-52
-26
15
0
0
8
0
0
16
-9
46
-4
3
0
-33
-56
4
-7
25
0
0
-53
-11
24
-23
3
-7
0
-41
-2
11
13
-38
-13
-34
0
0
108
-15
-6
64
5
125
-8
-17
-10
-4
7
-22
-5
53
0
0
-79
-14
-12
41
14
-4
0
-51
-9
-11
10
-35
-28
-43
0
0
66
29
58
23
30
102
-2
-32
-46
-28
-60
-29
-21
25
0
0
0
0
0
13
29
11
0
-45
-2
0
-19
-16
-7
-24
0
0
-36
-32
-29
-29
41
30
-33
-36
-28
-56
-5
-27
22
185
0
0
0
0
0
0
11
-4
0
-20
-1
-22
-15
-8
-23
0
0
0
-17
7
13
-49
23
-20
-91
-49
-36
-25
0
-25
22
8
0
0
0
0
0
0
-13
-71
0
1
9
-11
7
5
-38
-13
0
0
33
27
29
56
27
-25
-65
2
0
0
0
3
-21
-39
0
0
0
0
0
0
8
-29
0
-4
12
0
-2
13
-11
-53
0
0
0
0
0
0
0
0
60
-100
112
-27
50
-83
2
-32
0
0
152
0
50
-83
-2
-5
26
202
0
0
0
-14
8
91
0
0
0
0
0
0
14
-27
38
-32
93
38
69
-4
-9
-12
0
0
102
66
89
106
59
50
0
61
128
6
0
-3
80
-31
0
0
0
0
0
0
-111
7
16
-126
51
56
25
-33
-65
-32
0
0
61
-22
44
16
36
87
0
4
115
-18
18
93
80
27
0
0
0
0
0
0
21
-75
-28
-32
13
136
79
28
-24
22
0
0
69
0
4
0
61
26
0
94
213
68
1
81
103
7
0
0
-1
0
0
0
-15
-96
-52
8
54
55
99
100
34
-1
0
0
0
0
0
0
-44
20
0
4
80
76
31
34
-31
26
0
0
-4
0
-9
-30
26
-81
-22
-40
-34
52
182
95
1
40
0
0
0
0
0
0
-15
7
0
-15
29
30
-3
62
-90
7
0
0
35
-45
-34
11
-61
-7
8
72
154
84
145
206
-46
-21
0
0
0
0
0
0
1
-2
0
80
-2
-23
-59
2
-49
-10
0
0
134
81
-16
32
62
47
2
85
155
27
0
7
-17
-2
0
0
0
0
0
0
-2
2
0
-108
-95
-39
-34
-65
-57
-52
0
0
102
45
-29
28
12
28
0
111
0
0
0
36
7
-15
0
0
0
0
0
0
0
-4
0
66
-143
-60
-114
-122
-30
-75
0
0
0
0
0
0
-23
-79
84
37
49
76
-9
45
39
0
0
0
52
24
53
-36
129
55
0
50
0
0
0
19
96
61
0
0
0
0
0
0
-74
36
70
0
90
146
30
33
35
-178
0
0
94
113
53
35
-14
57
7
10
130
-27
0
42
3
-35
0
0
0
0
0
0
52
-79
21
-48
57
-5
11
-44
13
25
0
0
47
4
54
1
106
28
0
111
133
8
16
58
-26
-41
0
0
-22
0
0
0
-12
15
-29
-3
33
-8
41
-33
49
55
0
0
83
-1
1
94
26
74
0
66
139
-42
80
129
-21
6
0
0
-12
0
-4
-7
18
-60
5
-7
21
-9
91
-48
85
1
0
0
2
0
0
-2
55
66
0
62
14
6
44
105
-33
-13
0
0
-65
6
8
-95
31
16
34
-66
41
37
116
7
61
51
0
0
0
0
0
0
-30
35
0
61
3
-9
1
41
-89
60
0
0
69
46
-26
17
-15
-87
-8
68
170
-28
34
80
-67
40
0
0
0
0
0
0
-13
2
0
-16
-29
36
-36
-42
14
-28
0
0
100
72
51
60
5
-47
0
37
51
91
0
99
-40
28
0
0
0
0
0
0
-7
6
0
-49
-147
-75
6
-61
-70
-35
0
0
56
-46
84
65
-3
31
-2
79
0
0
0
47
-30
35
0
0
0
0
0
0
-6
-3
0
-71
-61
-100
-125
-100
-101
11
0
0
0
0
0
0
28
-55
26
15
-29
1
8
9
-19
-31
0
0
32
5
-93
55
60
54
0
34
0
0
0
-53
94
4
0
0
0
0
0
0
-73
-12
8
44
71
12
142
19
-118
-51
0
0
109
40
18
9
10
26
0
-32
136
36
0
116
12
22
0
0
0
0
0
0
10
-76
-17
-3
44
4
22
-22
37
28
0
0
8
-18
24
34
-2
15
11
-40
77
34
-16
3
-4
63
0
0
1
0
0
0
-1
-162
-35
25
21
-10
-44
-26
57
-12
0
0
-45
-3
-12
50
82
-7
0
2
117
-37
24
-5
-37
-61
0
0
-15
0
-13
5
12
-33
-29
28
30
-21
45
23
-33
-13
0
0
16
0
0
-1
-1
-32
0
100
42
-58
7
-1
47
30
0
0
-26
6
130
-43
-39
-24
16
25
32
0
163
22
75
18
0
0
0
0
0
0
-13
17
0
71
20
-8
5
13
-105
-31
0
0
67
-43
23
54
15
-28
0
-42
56
47
91
10
-29
-43
0
0
0
0
0
0
-10
23
0
-16
-9
-62
-41
8
-67
-114
0
0
79
9
56
1
-2
39
8
9
94
38
0
35
-18
-2
0
0
0
0
0
0
30
35
0
-54
-100
-26
-44
-49
-30
-46
0
0
29
5
-6
-16
16
71
-8
57
0
0
0
134
81
20
0
0
0
0
0
0
1
-3
0
-84
-57
-30
-47
-86
-24
-15
0
0
0
0
0
0
-46
-109
2
-52
7
23
2
7
-61
-104
0
0
71
18
2
-41
76
54
0
23
0
0
0
-28
22
92
0
0
0
0
0
0
-21
-53
0
27
65
86
65
-18
-17
21
0
0
13
3
0
40
63
15
0
93
67
-3
0
37
33
-69
0
0
0
0
0
0
-87
-45
40
13
47
66
41
37
-58
-22
0
0
21
38
-1
39
-34
41
0
52
33
65
11
16
15
62
0
0
0
0
0
0
-44
-37
-4
-7
29
46
14
-12
98
-59
0
0
10
8
-5
15
-19
59
13
-47
91
-30
-29
-7
-13
-56
0
0
4
0
2
6
-53
4
-19
-8
30
31
47
3
51
18
0
0
6
0
0
-6
-31
39
0
-3
0
15
-3
31
-71
-64
0
0
29
-22
19
-21
-43
-7
0
9
-2
72
95
-37
171
102
0
0
0
0
0
0
-45
-69
0
45
34
17
-2
49
-23
27
0
0
-1
25
9
63
-15
-26
-16
23
69
64
49
129
-110
24
0
0
0
0
0
0
-30
-84
0
8
-3
-26
-6
-3
-15
-27
0
0
58
15
55
33
-39
0
-34
96
82
57
0
13
-14
-27
0
0
0
0
0
0
79
18
0
-5
-28
-33
1
-58
-19
-88
0
0
-11
21
24
55
18
28
22
75
0
0
0
109
66
56
0
0
0
0
0
0
27
-24
0
-64
-108
-15
-43
-78
-58
14
0
0
0
0
0
0
-61
-77
3
1
-31
0
-15
14
22
0
0
0
-33
18
3
72
67
47
0
-9
0
0
0
27
14
2
0
0
0
0
0
0
73
3
-10
1
-7
47
-15
-7
15
-3
0
0
31
-29
32
51
74
1
0
57
-4
-24
0
-13
12
-44
0
0
0
0
0
0
-33
72
4
-17
12
43
59
-18
-9
-8
0
0
46
38
-12
-3
12
8
0
73
19
-29
3
60
-38
-46
0
0
0
0
0
0
-16
15
4
10
19
51
7
-16
35
20
0
0
-36
-56
9
-15
-21
-33
0
-23
-3
-73
-21
4
-36
73
0
0
32
0
-1
9
-6
61
0
33
10
29
19
12
29
17
0
0
-58
0
-3
18
-10
-33
4
62
8
-37
-13
46
-34
-12
0
0
29
-25
16
15
-35
-64
19
83
8
84
119
47
42
13
0
0
0
0
0
0
1
11
0
-21
13
7
-7
-12
-35
-21
0
0
8
15
46
29
-8
30
29
36
39
79
109
51
30
0
0
0
0
0
0
0
-74
17
0
8
-14
13
12
-9
-6
-93
0
0
11
86
34
58
6
14
-5
50
77
126
0
43
-32
-38
0
0
0
0
0
0
-84
30
0
-6
-6
-27
58
-46
-13
-13
0
0
34
33
-7
18
-3
36
52
82
0
0
0
51
-9
28
0
0
0
0
0
0
-2
48
0
-56
-58
-12
-30
-74
43
-7
0
0
0
0
0
0
47
41
2
23
55
19
-13
23
1
-19
0
0
-16
-26
-23
2
-45
-11
0
-45
0
0
0
0
-8
-11
0
0
0
0
0
0
-69
51
0
16
-15
44
-8
-1
20
-6
0
0
-44
-30
-14
-52
14
14
0
14
-20
-129
0
6
32
15
0
0
0
0
0
0
-7
-29
18
7
8
29
37
19
24
-2
0
0
19
36
-8
15
2
-1
0
25
18
-3
-59
14
-12
0
0
0
0
0
0
0
-23
30
0
-26
25
26
49
-17
12
9
0
0
14
-13
105
0
-34
-31
0
36
31
6
-26
-10
4
-73
0
0
-24
2
8
-5
-17
14
-4
0
28
41
31
26
67
-10
0
0
8
0
1
-18
-37
-13
0
31
25
-46
-13
-2
-35
-13
0
0
-10
-31
-20
35
11
-8
4
23
14
4
74
15
30
-50
0
0
8
0
0
0
-22
-50
8
26
23
27
-6
12
-10
-49
0
0
24
16
22
8
17
0
35
50
69
86
88
76
-13
-34
0
0
0
0
0
0
-63
-61
0
-32
3
-38
-1
-7
-6
-43
0
0
20
17
2
-14
26
27
29
6
50
192
0
4
-45
75
0
0
0
0
0
0
25
-67
0
-25
-6
-40
-34
-25
-10
-14
0
0
27
38
46
41
20
34
28
79
0
0
0
43
0
35
0
0
0
0
0
0
-75
-64
0
-54
-75
8
-24
-48
18
13
0
0
0
0
0
0
116
83
1
20
30
-4
2
30
34
1
0
0
-48
-9
-32
-18
-20
-14
0
-59
0
0
0
-31
-25
-9
0
0
0
0
0
0
60
1
-2
2
16
6
2
15
56
22
0
0
-15
0
-12
11
-16
-16
0
-23
-52
-107
0
-18
6
-1
0
0
0
0
0
0
17
60
0
5
-15
36
3
3
61
40
0
0
-20
-2
-10
-6
-14
-28
0
-26
-6
-113
-38
0
4
12
0
0
2
0
0
0
8
60
-18
14
-10
6
9
25
32
16
0
0
30
-5
-69
-26
8
-1
0
-14
13
1
-6
-1
9
-5
0
0
-17
-9
-9
4
-3
39
-4
0
1
12
7
7
17
16
0
0
7
23
73
67
23
-35
0
-9
-6
-4
-16
-1
-19
-33
0
0
-21
-4
-18
-7
31
17
-40
32
-2
15
26
20
24
8
0
0
-7
0
0
0
-4
-29
0
-25
-5
-22
-30
-14
-15
-12
0
0
19
26
12
23
6
-19
17
34
17
180
124
0
18
-70
0
0
0
0
0
0
16
22
-2
-15
0
-19
-29
-25
-26
-62
0
0
27
9
16
52
-2
36
-20
36
1
61
0
28
-7
6
0
0
0
0
0
0
-33
14
0
-15
-42
-25
-35
-22
-11
-18
0
0
18
27
29
-7
4
3
-16
5
0
0
0
13
-16
20
0
0
0
0
0
0
-14
21
0
-31
-48
-2
-10
-43
-23
-11
0
0
0
0
0
0
91
125
0
5
0
2
0
22
52
38
0
0
-62
-48
-51
-38
-43
-21
0
-72
0
0
0
-34
-11
-9
0
0
0
0
0
0
119
48
0
8
10
11
20
6
48
7
0
0
-46
-49
-22
-66
-39
-31
0
-78
-33
-134
0
-83
-64
-19
0
0
0
0
0
0
37
65
4
10
1
26
5
7
31
19
0
0
-25
-17
-13
-21
-33
-27
0
-64
6
-48
-55
-35
5
-52
0
0
39
0
26
-50
47
77
3
32
1
18
1
13
14
20
0
0
-76
35
-26
-31
-28
-14
0
-73
4
12
3
-53
5
-32
0
0
112
44
5
-17
29
82
10
17
4
11
-18
21
-2
33
0
0
-49
21
-105
-47
1
1
0
-10
3
21
14
-6
4
-12
0
0
36
38
2
15
21
50
0
32
0
11
6
16
15
29
0
0
-1
7
8
-52
18
-24
0
-3
1
-1
4
-7
-4
-7
0
0
19
18
11
23
38
37
-8
-4
7
2
3
26
20
83
0
0
28
0
0
0
6
-61
0
-2
1
-5
-8
-1
-3
-4
0
0
16
-2
12
-9
65
14
-67
30
19
3
0
3
54
12
0
0
0
0
0
0
-68
-70
0
-3
15
-4
39
-8
-15
2
0
0
41
31
2
51
38
12
-36
39
0
0
0
6
16
1
0
0
0
0
0
0
11
38
0
-10
19
1
1
-10
-14
-14
0
0
0
0
0
0
51
67
0
10
-9
1
2
13
64
32
0
0
-47
-38
-35
-30
-61
-14
0
-58
0
0
0
-41
10
-12
0
0
0
0
0
0
54
60
0
4
3
-6
38
16
26
18
0
0
-61
-42
-16
-32
-67
-15
0
-67
-22
-62
0
-42
-30
10
0
0
0
0
0
0
78
63
4
11
4
11
40
1
30
23
0
0
-43
-10
-15
-34
-29
-24
0
-52
-10
5
-47
-18
-27
5
0
0
8
0
0
19
28
63
-2
7
1
-30
-29
9
13
21
0
0
-46
-15
13
-6
12
-12
0
-52
0
-3
6
-50
-16
-23
0
0
103
-16
-7
71
18
143
-2
9
-6
-5
13
-26
-12
57
0
0
-89
-13
-10
41
9
-21
0
-79
-6
-18
12
-52
-20
-43
0
0
76
33
53
42
29
83
-2
-4
-21
-42
-96
-11
-27
8
0
0
0
0
0
13
21
1
0
-68
3
-3
-5
-31
-6
-22
0
0
-15
-28
-17
-27
46
34
-26
-24
-44
-73
-26
-41
34
191
0
0
0
0
0
0
-12
17
0
-30
-4
-24
-17
-23
-16
25
0
0
-18
13
17
-43
18
-21
-86
-53
-33
-27
0
-25
27
-8
0
0
0
0
0
0
-14
-53
0
-3
2
-7
-1
-3
-44
-13
0
0
26
13
34
25
34
-29
-60
-29
0
0
0
-27
-18
-33
0
0
0
0
0
0
7
-53
1
2
30
0
-6
21
-7
-50
0
0
0
0
0
0
1
-3
-27
-5
11
12
12
-29
-2
2
0
0
42
1
6
2
39
-9
16
55
0
0
0
-2
22
-9
0
0
0
0
0
0
-2
-4
12
-37
54
-54
1
-83
-8
-2
0
0
68
4
8
51
24
12
0
-19
33
1
0
24
5
-2
0
0
0
0
0
0
-104
-24
14
14
37
23
-8
-44
-34
-4
0
0
63
-2
-2
-5
1
2
0
22
-2
-3
29
20
-1
0
0
0
0
0
0
0
-3
-3
15
-21
31
8
-3
29
33
10
0
0
2
0
0
1
1
-2
0
39
43
-10
41
15
23
0
0
0
0
0
0
0
-2
-25
-7
-1
47
0
6
-29
15
-1
0
0
0
0
0
0
-8
5
0
36
7
18
-43
48
-4
-1
0
0
0
0
2
2
26
-10
0
12
0
-3
9
39
-13
3
0
0
0
0
0
0
1
-2
0
12
-48
-15
0
-24
-8
-5
0
0
-52
-1
20
5
30
-6
3
-2
12
-1
1
25
2
3
0
0
0
0
0
0
-1
0
0
-8
-7
-41
10
-54
0
-2
0
0
-14
2
25
0
-12
18
-1
13
14
0
0
4
1
1
0
0
0
0
0
0
0
0
0
-14
-18
-43
-2
-27
0
6
0
0
29
7
9
2
32
25
0
8
0
0
0
16
2
1
0
0
0
0
0
0
0
-1
0
7
19
13
13
-1
1
3
0
0
0
0
0
0
-2
-11
22
20
1
-8
-23
-26
-27
-51
0
0
51
-10
-3
25
44
89
0
33
0
0
0
-1
11
34
0
0
0
0
0
0
-14
-12
-13
28
38
-41
-11
7
0
-15
0
0
-2
33
49
11
0
-13
3
36
-44
7
0
0
1
-6
0
0
0
0
0
0
-25
-20
12
28
8
-23
-42
43
-2
-1
0
0
65
58
10
41
4
-21
0
-28
62
1
0
53
33
0
0
0
0
0
0
0
-29
-21
-37
-10
-54
8
29
-33
-26
17
0
0
-5
0
0
4
8
-17
0
5
34
3
-17
20
5
0
0
0
1
0
0
0
-35
25
-17
27
48
-12
-46
-42
30
-13
0
0
0
0
0
0
2
13
0
-4
-10
19
4
2
10
9
0
0
15
0
-1
-17
29
13
1
-5
14
-8
21
-10
14
-23
0
0
0
0
0
0
8
-1
0
3
-2
-9
-1
-43
2
-23
0
0
22
31
2
7
-21
-4
-3
16
11
-5
21
18
-12
3
0
0
0
0
0
0
1
-1
0
5
-29
6
-41
-45
8
1
0
0
-5
27
8
35
23
43
0
-16
57
-1
0
18
13
0
0
0
0
0
0
0
2
0
0
-63
-49
-47
18
-57
-8
-15
0
0
-25
-41
32
-15
29
12
1
1
0
0
0
20
7
16
0
0
0
0
0
0
0
1
0
-31
-4
12
-21
-12
-3
-7
0
0
0
0
0
0
1
-7
-47
-12
-25
-9
-20
-33
0
-16
0
0
38
7
-13
26
22
-8
0
-25
0
0
0
-42
33
33
0
0
0
0
0
0
4
-3
-34
-24
12
12
12
2
-46
-55
0
0
44
-1
63
-8
24
31
0
-13
18
-2
0
-4
-5
38
0
0
0
0
0
0
11
-37
84
56
-16
18
15
-14
-38
11
0
0
74
38
17
-9
5
44
3
-6
-28
3
-37
19
-7
12
0
0
0
0
0
0
1
-35
15
36
14
-12
-27
-30
11
14
0
0
-15
0
1
-4
16
-11
0
41
38
-30
-39
-13
-38
17
0
0
-2
0
0
0
1
-26
19
18
39
-24
-21
30
3
-7
0
0
-3
0
0
0
53
9
0
30
-39
24
-60
-23
-20
2
0
0
33
2
1
13
-1
15
-16
-49
-31
-35
36
28
35
9
0
0
0
0
0
0
-25
-4
0
-17
-16
20
43
-2
6
0
0
0
4
34
-32
-3
-64
4
0
-2
37
3
20
27
-37
-7
0
0
0
0
0
0
15
0
0
-21
-2
23
-2
-25
-7
-42
0
0
-12
-20
-17
-35
-30
-9
3
-37
50
-1
0
-41
-2
-28
0
0
0
0
0
0
5
-1
0
34
-2
-2
-61
22
-31
12
0
0
25
-21
-18
-26
60
-31
-3
-29
0
0
0
110
-23
59
0
0
0
0
0
0
0
0
0
9
8
-29
9
-5
-8
-7
0
0
0
0
0
0
6
-24
-12
-118
-26
-4
-18
-124
-32
-13
0
0
-9
-17
51
26
35
4
0
8
0
0
0
21
30
-27
0
0
0
0
0
0
-25
-3
-50
-33
98
-35
-8
-9
-21
3
0
0
-45
10
-14
16
78
-19
0
-35
21
8
0
87
35
-15
0
0
0
0
0
0
-13
36
63
28
9
73
3
9
-34
-88
0
0
61
-25
44
15
-43
-56
0
22
68
22
-18
2
-25
29
0
0
0
0
0
0
-18
-46
72
-54
37
-61
-7
29
38
-15
0
0
-47
1
-12
-15
-10
-6
8
72
27
21
-20
-115
-21
45
0
0
0
0
1
1
-34
-8
-17
-34
56
-3
72
-5
-7
0
0
0
1
0
0
-4
-34
-11
0
31
6
25
53
47
-50
-18
0
0
-6
-5
27
-47
-42
41
0
-1
-54
11
19
23
-5
50
0
0
0
0
0
0
29
-35
0
49
1
83
8
41
-36
-16
0
0
7
34
-3
13
40
-33
16
35
3
19
30
23
-38
-32
0
0
0
0
0
0
-1
-10
0
11
26
9
-17
-66
73
7
0
0
16
-26
-67
-60
3
-14
-1
16
60
13
0
15
-18
4
0
0
0
0
0
0
2
-7
0
-67
33
-9
-19
-41
-37
8
0
0
-10
17
-6
15
11
19
0
62
0
0
0
-7
20
9
0
0
0
0
0
0
1
-7
0
46
-120
-12
1
-43
3
-17
0
0
0
0
0
0
-16
-5
-8
-12
-9
6
9
-13
22
9
0
0
-62
-1
-87
-19
4
24
0
-16
0
0
0
15
6
-57
0
0
0
0
0
0
-16
-29
-10
-4
-44
43
31
-17
40
-71
0
0
11
16
56
12
-3
-1
0
29
-40
3
0
68
65
-8
0
0
0
0
0
0
17
-18
11
-10
-15
4
19
-23
11
-8
0
0
20
10
1
-11
83
72
0
-51
-3
-12
-32
-83
19
-13
0
0
0
0
0
0
-62
-41
76
-24
33
69
15
-12
32
-6
0
0
11
-17
10
-25
9
-6
0
-25
-11
41
-7
40
6
0
0
0
1
0
0
1
-55
-55
0
-6
4
-29
17
-32
-31
21
0
0
-1
0
0
3
-22
-37
0
-47
-3
-24
-40
-6
5
39
0
0
30
20
37
0
-13
23
17
-63
-17
63
1
75
15
42
0
0
0
0
0
0
-31
34
0
33
-1
-67
24
-15
19
-21
0
0
-62
-38
58
60
-13
44
-19
38
0
23
42
-13
-66
-19
0
0
0
0
0
0
-23
7
0
-27
8
2
-34
26
-75
-47
0
0
4
11
-17
39
-25
86
17
-1
12
20
0
50
-20
55
0
0
0
0
0
0
-13
0
0
-25
3
-11
3
-15
-36
16
0
0
3
18
-19
27
-3
11
7
55
0
0
0
-9
52
40
0
0
0
0
0
0
-16
-9
0
-2
10
-6
-18
19
-20
-23
0
0
0
0
0
0
4
18
7
31
22
15
13
49
-13
-19
0
0
16
72
-51
-28
-11
31
0
-7
0
0
0
-19
23
-39
0
0
0
0
0
0
22
-36
5
-5
-4
44
4
22
-15
18
0
0
-57
-51
-33
-27
-18
-13
0
9
-11
16
0
-18
35
26
0
0
0
0
0
0
22
31
42
-10
13
-3
46
26
-22
33
0
0
-45
6
55
1
36
-17
0
-22
-24
26
-47
-57
-20
60
0
0
0
0
0
0
-17
-31
0
-39
30
-113
-21
-37
-4
-32
0
0
-43
0
-34
-28
-23
-37
0
-76
31
-17
-23
-20
-5
-92
0
0
6
0
1
-24
-21
-36
-76
16
-2
14
29
19
39
-9
0
0
-8
0
0
13
-6
-58
0
45
10
4
26
-41
-34
-16
0
0
13
-2
-16
7
-18
-47
-72
21
28
-24
1
-17
3
-36
0
0
0
0
0
0
-35
-50
4
-8
14
-35
51
13
4
-68
0
0
18
16
-21
41
-24
18
-15
14
43
54
-1
55
61
-14
0
0
0
0
0
0
34
-43
0
4
9
-68
8
5
-39
-8
0
0
71
20
7
-18
28
38
37
-11
-45
19
0
14
-78
37
0
0
0
0
0
0
-7
-38
0
-31
35
-93
15
1
37
27
0
0
2
-60
-14
12
-4
35
-15
34
0
0
0
-60
-38
-35
0
0
0
0
0
0
20
-28
0
-27
-57
10
1
22
-9
21
0
0
0
0
0
0
36
96
16
65
13
-3
-6
32
-49
23
0
0
-33
-77
37
20
-1
-7
0
-92
0
0
0
19
-19
53
0
0
0
0
0
0
41
-8
6
29
59
2
42
18
27
1
0
0
-12
-1
-18
-7
-26
-53
0
13
-23
-69
0
-50
-28
-11
0
0
0
0
0
0
20
37
0
8
-13
-18
6
14
29
35
0
0
-2
13
-76
-13
-12
-61
0
-12
-58
-70
-48
-53
-37
-83
0
0
0
0
0
0
17
22
-43
15
-17
58
2
41
-34
46
0
0
-3
-9
-76
18
-27
61
0
-43
-6
39
29
-46
27
-15
0
0
-10
0
-4
11
-16
70
-12
-25
10
16
-14
-16
56
43
0
0
5
0
1
3
73
52
0
-2
-19
-77
-14
-12
7
4
0
0
-35
29
63
-35
104
62
-59
39
-22
-16
22
8
28
14
0
0
3
0
0
0
22
-13
0
-7
-9
27
-23
-46
-41
47
0
0
36
-50
-8
29
7
24
-80
45
-6
17
32
28
6
1
0
0
0
0
0
0
1
17
-3
-36
2
-18
-15
2
-24
-101
0
0
25
64
61
42
6
-10
-12
40
-3
39
0
13
23
-9
0
0
0
0
0
0
51
17
0
-3
-29
-7
-39
1
-2
-41
0
0
16
38
31
35
-2
6
-14
5
0
0
0
36
5
35
0
0
0
0
0
0
15
15
0
-51
-51
-1
-2
-51
-20
-22
0
0
0
0
0
0
-2
-70
8
47
7
3
7
31
42
20
0
0
-52
-60
-9
-73
-40
-37
0
-29
0
0
0
-16
-9
-28
0
0
0
0
0
0
111
-44
0
13
12
35
47
42
105
15
0
0
-29
-55
-83
-80
17
-41
0
-62
-99
-178
0
-64
-58
-51
0
0
0
0
0
0
24
-66
-3
26
5
9
-20
28
46
-15
0
0
1
-23
-21
-39
-36
-34
0
-40
18
38
-79
13
57
53
0
0
0
0
0
0
51
59
-5
50
5
-29
28
30
16
-1
0
0
12
-11
-26
-41
-21
19
0
-69
-4
-72
-10
9
64
20
0
0
-7
-2
4
-15
35
53
11
38
-14
-2
-10
57
-35
63
0
0
69
0
-65
21
20
-18
0
-14
27
-32
7
11
-59
-40
0
0
-6
3
44
73
13
40
52
39
0
95
30
-21
15
19
0
0
5
0
0
-1
-43
-2
0
25
8
6
-26
19
-4
-44
0
0
12
0
-12
1
14
3
34
-16
42
37
22
14
-26
28
0
0
0
0
0
0
15
-23
0
-6
-6
-54
-5
16
9
-12
0
0
-3
14
-9
-37
52
17
13
63
42
85
0
21
53
47
0
0
0
0
0
0
-88
41
1
4
-59
-3
40
-32
-75
-4
0
0
57
38
29
64
20
21
-12
84
0
0
0
19
-76
18
0
0
0
0
0
0
1
24
0
-17
7
-5
-13
-13
13
3
0
0
0
0
0
0
-15
106
0
43
4
3
10
56
18
28
0
0
-20
-63
-45
-98
-117
-15
0
-114
0
0
0
-36
7
-12
0
0
0
0
0
0
-42
184
-9
-8
-46
6
45
34
-38
79
0
0
-42
-11
-13
-3
-34
-6
0
-29
-46
1
0
-22
-12
-29
0
0
0
0
0
0
8
16
-15
21
-13
55
19
-4
50
117
0
0
-72
-44
-14
-19
-39
17
0
-7
-17
-113
-40
-14
45
-31
0
0
0
0
0
0
57
145
-8
-19
-17
35
78
31
22
28
0
0
17
-22
4
57
21
-53
0
-78
-47
6
-26
-36
-67
-2
0
0
-10
2
4
-2
50
-3
11
111
-4
88
11
-5
25
-33
0
0
-16
-2
-2
2
14
12
0
-104
-11
24
-18
-29
18
19
0
0
53
15
24
47
7
-60
12
76
19
-57
-64
-11
-55
-75
0
0
0
0
0
0
75
7
0
-17
-5
-87
-64
10
32
22
0
0
7
-6
3
-55
105
-11
47
29
-107
3
67
22
2
152
0
0
0
0
0
0
-27
43
0
-6
-14
66
-40
-41
10
120
0
0
19
-27
7
51
-55
-26
-22
-32
-34
20
0
-20
69
-47
0
0
0
0
0
0
41
-25
0
-2
16
-30
-32
-29
61
-15
0
0
29
31
110
17
28
-28
27
-37
0
0
0
-54
50
-47
0
0
0
0
0
0
-36
-56
-4
-31
40
-12
-10
-12
51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-30
0
0
0
0
0
0
0
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
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
21
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
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
-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
-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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
-98
-97
9
-24
-18
-58
-143
65
-222
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
56
-23
0
36
-25
110
0
41
106
0
2
0
0
0
0
3
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
-208
-12
15
0
-44
2
-1
3
189
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
-63
4
3
1
6
0
190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-84
-24
11
209
1
-19
-3
45
0
0
0
0
0
0
4
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-21
17
-3
20
39
11
0
0
31
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-27
-162
-22
-5
-152
12
-25
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
38
-59
-153
-123
10
-27
-205
1
155
7
0
7
85
57
91
16
-47
0
81
0
0
0
74
74
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
-2
-59
29
2
0
0
-21
-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
3
0
0
0
0
0
0
0
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
-3
0
0
23
0
0
0
-103
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
-15
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
-1
-6
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
44
-8
-5
-8
4
0
-1
-105
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
12
23
90
-4
-25
0
2
-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
93
-26
142
-28
0
-1
87
-140
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
-8
1
0
0
50
0
0
36
-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
-49
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
56
6
0
0
0
0
4
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
-4
-1
0
0
-12
0
0
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-30
-39
-63
-16
78
74
20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-9
24
-22
-84
0
-132
147
-10
418
-96
74
0
-74
21
-79
27
-26
-110
0
16
0
0
0
61
-22
-8
0
0
0
0
0
0
0
0
156
73
141
2
0
29
2
6
44
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
4
177
62
47
96
17
86
201
70
183
0
-1
0
0
-42
-18
7
0
0
0
0
0
-3
11
-3
0
0
0
0
0
0
-28
0
-42
-31
-93
43
-2
37
96
23
40
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-30
-84
-42
-37
0
-111
0
-88
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
60
21
22
0
109
24
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
102
50
17
-60
-29
-23
38
136
47
87
0
80
79
139
117
107
83
52
45
0
-59
0
12
97
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
11
94
34
-3
19
0
0
-133
0
7
0
1
-2
38
11
-5
-1
0
0
0
8
-6
-7
0
0
0
0
0
0
0
0
0
-3
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
22
-12
1
0
-3
5
1
-27
0
-4
0
0
-1
3
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
24
-8
-2
0
-23
0
0
-40
0
13
0
8
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-30
-41
6
-33
12
0
-30
-21
0
14
0
-1
0
2
-3
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
13
-8
0
0
0
3
4
-19
0
0
0
0
0
0
0
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
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
32
-123
43
-20
68
100
-13
-77
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
208
30
-4
129
2
-206
-177
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
0
0
0
0
0
0
0
0
2
87
7
-49
117
8
-68
-42
-67
-90
0
-1
0
0
-1
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-9
0
0
88
-2
97
-1
-92
204
-103
22
0
-27
0
-14
0
-1
0
0
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
47
116
2
0
2
-56
0
66
-79
0
0
0
0
-2
0
0
0
-9
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
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
-188
-95
0
-38
34
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
-1
34
0
-1
4
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
-1
0
36
213
21
23
167
19
13
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
176
55
198
67
0
-4
69
47
21
-47
16
0
-4
-11
48
-33
-140
21
-1
-33
0
-29
-144
-92
40
-7
0
0
0
0
0
0
12
0
4
126
89
0
40
140
2
-4
-86
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
19
0
12
292
103
14
67
280
4
7
-72
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
60
49
-19
-89
29
-34
-23
-9
-30
0
0
0
13
1
-2
0
0
-6
0
0
0
-18
-4
0
0
0
0
0
0
0
0
0
5
46
1
1
74
27
0
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
-4
53
-84
10
13
-141
-64
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-50
-40
47
-8
53
33
22
30
76
8
0
-101
-23
-17
12
-40
-39
29
19
0
-208
8
50
21
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
2
0
0
0
0
0
39
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
0
24
16
-2
0
-7
0
9
0
19
2
7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-1
-16
29
-3
-1
-55
0
36
0
-12
5
0
9
0
-1
0
0
5
46
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-6
-13
-4
0
-31
0
0
0
0
0
0
0
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
-3
0
-3
0
2
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
-3
-1
0
97
-55
0
8
51
65
7
-70
0
-39
0
7
-2
29
1
1
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
-23
-8
0
54
-135
-29
-61
108
73
17
-32
0
0
0
-1
0
2
0
0
0
0
0
3
5
-1
0
0
0
0
0
0
0
-82
0
-7
91
-16
64
157
38
-132
-78
-45
0
44
0
-5
-37
76
-1
0
4
0
0
-5
17
-1
0
0
0
0
0
0
0
-8
3
0
150
-163
-29
84
107
70
-31
29
0
-28
0
23
21
19
27
-3
-50
0
-3
-32
-118
55
6
0
0
0
0
0
0
0
-5
19
-69
-231
103
89
-92
17
122
7
0
3
-3
-29
88
-1
8
0
38
0
0
-4
1
-12
0
0
0
0
0
0
0
0
0
0
13
-121
-8
39
-55
-27
0
-47
0
140
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-39
0
0
-11
4
0
-119
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
2
-3
0
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
19
-4
-5
138
93
48
24
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-94
-42
35
32
0
-21
-31
-2
-66
-18
-28
0
-4
-2
17
-45
116
11
3
-1
0
1
-76
22
-5
-22
0
0
0
0
0
0
-5
0
-1
30
147
-50
24
42
8
0
-66
0
-1
0
0
0
53
0
0
0
0
1
11
-15
2
0
0
0
0
0
0
0
-28
0
-2
-16
26
7
36
-69
-6
-63
-25
0
-1
0
0
8
42
3
0
-2
0
-26
-7
-28
-55
-2
0
0
0
0
0
0
12
2
-2
78
36
-5
-114
-1
-2
-10
-2
0
0
0
0
5
-2
4
0
1
0
-2
-3
-26
58
0
0
0
0
0
0
0
0
0
0
-35
40
-3
11
-71
3
40
61
0
0
0
0
0
0
0
0
0
0
-1
-13
1
0
0
0
0
0
0
0
0
0
0
-1
17
60
0
-3
89
-16
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
16
36
-49
3
25
0
79
63
31
32
-32
-2
0
-43
-41
-70
-32
-2
-61
-38
-82
0
0
-60
-9
15
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
62
54
36
22
35
33
5
18
0
-3
0
0
0
-1
-7
0
-56
0
8
37
-14
-2
0
0
0
0
0
0
0
0
0
0
3
38
-9
6
15
56
0
-27
0
0
0
0
0
0
0
0
-3
0
0
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-15
0
3
0
0
-1
15
0
0
-14
0
1
-3
15
1
0
0
0
0
0
0
0
32
0
0
-40
2
20
91
-206
-54
-3
-14
0
2
0
0
9
19
-1
7
-29
0
102
17
6
-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
96
1
0
-19
-126
-11
88
68
37
46
-141
0
0
0
0
0
-64
1
0
70
0
8
103
-37
53
10
0
0
0
0
0
0
-43
11
-1
59
14
50
-6
41
19
-81
5
0
-32
-3
-10
85
-28
19
-4
86
0
-118
125
154
15
19
0
0
0
0
0
0
-88
-21
0
23
-1
72
23
-30
-24
19
-20
0
36
0
12
-21
24
38
48
158
0
26
-33
88
-85
51
0
0
0
0
0
0
85
-42
-9
-73
0
-65
103
125
-45
-37
-6
0
13
0
-11
-27
40
89
-3
64
0
-7
88
-5
68
-27
0
0
0
0
0
0
0
0
0
5
-33
25
147
-177
25
0
3
0
-5
0
0
0
-11
0
0
-8
0
-4
-40
43
-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
8
0
1
0
0
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
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
4
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
46
0
-24
0
0
-1
54
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
2
-26
5
-42
-17
0
-13
-73
0
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
0
0
0
-6
0
-70
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
1
58
0
-27
4
4
0
146
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
-27
0
8
0
73
-76
59
-25
206
-51
0
0
0
0
0
139
45
0
44
0
1
273
-45
-52
191
0
0
0
0
0
0
-9
-1
0
-2
162
-1
38
-20
18
3
-39
0
0
0
0
0
-16
0
0
-2
0
-7
15
23
-44
0
0
0
0
0
0
0
2
2
1
-12
46
59
-42
46
-17
33
-68
0
0
0
0
0
0
0
0
1
0
0
29
2
-7
-4
0
0
0
0
0
0
0
0
0
17
198
2
3
-53
102
9
119
0
0
0
0
0
0
0
0
0
0
0
176
25
4
-1
0
0
0
0
0
0
0
0
0
0
258
-1
-24
0
0
0
155
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
136
0
-76
11
-23
0
-98
0
0
0
0
0
0
0
0
0
0
2
4
4
-3
0
0
0
3
-8
34
57
-11
-54
-11
10
7
68
-51
-25
-17
-30
-11
0
57
0
-49
-41
-6
-3
2
-21
0
-7
-6
-8
3
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
3
114
98
102
-27
72
-3
-4
0
0
0
0
0
-7
0
0
6
0
-73
-94
-22
1
7
0
0
0
0
0
0
-2
0
0
19
-28
1
-52
16
-61
0
-14
0
0
0
0
0
5
0
0
-4
0
9
55
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
6
0
-22
0
0
0
0
0
34
-17
0
6
0
51
-17
17
23
10
0
0
0
0
0
0
-40
-8
0
-15
23
159
71
-4
14
-137
18
0
0
0
0
0
74
-28
-1
-59
0
-71
105
-1
48
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
35
-3
0
124
-67
48
105
-28
22
130
8
0
0
0
0
0
-39
-20
-7
-73
0
85
-91
18
-114
-110
0
0
0
0
0
0
53
87
41
-79
-77
213
-127
-87
-135
-53
-3
0
0
0
0
0
-35
8
0
36
0
-1
-55
8
-2
-110
0
0
0
0
0
0
-93
-39
0
-97
34
52
-5
-48
16
74
6
0
17
0
0
0
25
-4
-48
-1
0
-124
-21
4
15
11
0
0
0
0
0
0
-47
-28
0
-66
14
64
-52
-64
11
-30
9
0
1
0
0
0
-47
15
2
110
0
36
-25
-21
29
49
0
0
0
0
0
0
-24
0
0
-15
112
118
-99
77
16
-5
-11
0
0
0
0
0
-75
0
0
-63
0
27
14
-6
-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
-2
0
0
-1
-85
3
0
4
25
-17
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
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
13
0
0
9
5
0
54
0
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
8
1
-66
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
47
0
14
12
0
-1
14
0
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
32
0
0
0
0
0
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
3
0
0
0
127
0
1
-8
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-8
12
0
0
-14
0
6
0
-124
-1
-39
-120
0
0
0
0
0
0
0
0
7
0
-65
-31
81
-3
11
0
0
0
0
0
0
0
0
0
0
-201
0
0
0
0
0
404
0
0
0
0
0
0
0
0
2
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
-4
0
0
168
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
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
38
-140
-38
-78
-129
0
-123
83
-59
22
17
-103
-90
-104
0
0
0
0
0
77
-39
-16
-6
0
46
-2
-54
-61
-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
-6
0
0
0
0
0
60
0
0
0
0
0
0
0
0
13
0
0
1
2
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
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-33
0
0
0
0
0
-3
1
0
-10
0
-7
15
1
-6
0
0
0
0
0
0
0
0
0
0
47
68
20
-21
2
4
57
-79
0
0
0
0
0
-80
48
-23
-4
0
-8
-75
-35
78
-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
-4
5
0
-8
-132
0
-3
33
3
68
-11
0
0
0
0
0
-8
0
0
-52
0
-4
0
20
34
0
0
0
0
0
0
72
130
49
0
20
-24
-107
-4
92
51
189
2
0
0
0
0
0
-40
31
-1
-139
0
-10
31
-171
-86
12
0
0
0
0
0
0
5
4
0
4
106
-1
-9
-10
-51
13
-73
0
0
0
0
0
-13
-5
-25
0
0
79
52
6
-46
-11
0
0
0
0
0
-1
9
44
0
-5
55
18
42
13
0
-141
49
0
0
0
0
0
0
-1
1
-106
0
-8
0
16
-2
10
0
0
0
0
0
0
0
0
0
0
-21
0
8
2
0
0
-34
0
0
0
0
0
0
0
0
82
0
7
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
0
0
0
0
0
0
0
0
0
0
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
2
11
0
0
64
0
0
0
0
0
-26
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
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
4
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
0
0
0
22
0
0
0
0
0
2
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
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
-20
0
0
0
0
0
0
0
0
3
0
0
0
-57
0
-8
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
26
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
-56
-20
-35
-108
-35
-18
-16
-153
163
-25
56
42
-179
-149
-110
0
0
0
0
0
-43
84
-61
-98
0
-11
-165
-100
-144
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
56
0
0
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
-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
-2
0
0
0
-112
0
0
0
0
0
0
2
0
-48
0
24
-22
-42
-7
0
0
0
-28
-18
-27
17
-4
-1
0
-18
-5
-112
-49
99
1
0
-14
0
0
0
0
0
-49
-62
34
118
0
-23
-28
11
-68
-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
-1
1
0
0
-4
-7
0
0
-12
0
0
0
0
0
36
0
0
0
0
0
0
0
-1
62
0
-14
5
-18
-7
0
0
0
2
0
1
-1
3
0
0
-8
63
0
-2
8
0
0
8
0
0
0
0
0
1
-1
0
-14
0
0
-1
-80
21
4
0
0
-6
9
1
-1
0
5
0
-5
27
-1
-3
-1
0
0
-16
0
0
0
0
0
-8
-4
-12
-106
0
83
16
5
73
-5
0
0
-7
0
0
2
7
100
0
1
3
0
0
-15
0
0
-6
0
0
0
0
0
0
0
0
-107
0
0
-8
-27
0
0
0
0
-24
0
0
0
0
3
0
0
23
-7
-1
-2
0
0
-89
0
0
0
0
0
1
0
1
33
0
-2
99
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
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
-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
-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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
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
18
-87
-22
50
-54
-127
-19
102
-22
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-43
109
0
44
-31
10
0
19
108
0
9
0
0
0
3
36
0
2
0
0
0
-67
3
0
0
0
0
0
0
0
0
0
-87
-23
100
1
46
-25
-1
5
153
0
0
0
0
0
0
-31
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
24
-10
6
7
57
-6
7
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
-47
-140
67
-22
-106
-1
-16
-3
45
0
0
0
0
0
-1
14
0
-8
0
0
0
2
9
-4
0
0
0
0
0
0
0
0
-1
-7
1
6
-39
23
0
0
58
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-8
-71
20
71
79
16
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
41
5
-97
-70
-92
-5
-95
99
67
-24
0
-20
-32
54
-33
-43
-32
18
-10
0
0
0
-7
-54
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
-2
-15
22
38
0
0
-9
-8
0
0
0
0
0
1
-21
0
0
0
0
0
0
48
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
-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
-10
0
1
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
5
0
0
-30
3
0
0
0
0
0
0
0
0
0
7
0
18
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
-12
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
-64
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-42
-20
6
47
0
46
13
0
-3
0
0
0
-28
71
0
-7
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
-32
60
73
-4
-35
0
2
-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
105
-23
-32
-64
32
-5
55
-83
0
0
0
0
0
14
-5
0
-31
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
59
-16
-2
0
26
0
0
9
-36
0
0
0
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
40
0
11
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
7
0
0
32
0
-1
-114
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
1
0
8
-10
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
40
64
71
-13
-7
116
51
13
38
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
104
22
122
35
0
-39
187
96
-71
88
29
0
-83
-28
-28
81
-49
-66
0
-24
0
-1
0
-44
-19
-41
0
0
0
0
0
0
0
0
119
5
43
19
0
-24
17
-40
83
0
0
0
1
0
2
12
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
-8
60
2
21
-50
65
77
76
11
69
0
13
0
0
-67
-10
-56
0
23
0
0
0
-39
0
-36
0
0
0
0
0
0
5
0
16
35
30
-28
20
60
15
-65
72
0
3
0
7
-12
-8
-11
0
3
0
0
0
28
0
11
0
0
0
0
0
0
0
0
43
-12
5
-61
0
-46
0
18
-31
0
-2
0
0
-3
0
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
6
52
-30
34
0
51
7
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
4
51
-15
-46
-13
-3
-11
122
45
31
0
31
58
63
30
80
75
62
24
0
-111
0
17
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
1
32
74
-31
33
0
0
-39
0
4
0
-24
-4
31
-33
-28
4
0
0
0
41
21
3
0
0
0
0
0
0
0
0
0
1
28
0
0
21
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
-32
-10
-1
0
1
2
0
20
0
21
0
0
12
9
0
1
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-46
54
-4
-29
33
0
0
-45
0
20
0
-7
0
-2
-2
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-45
-16
6
34
97
0
39
-81
0
10
0
-40
6
7
29
2
-26
0
0
0
-58
0
-6
0
0
0
0
0
0
0
0
0
44
-11
10
0
0
4
-9
-1
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
-17
0
2
0
0
0
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-84
-25
202
-21
-54
36
-74
-37
0
32
0
18
-5
-52
-1
-10
-5
0
5
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
-1
0
0
-31
42
70
-14
23
17
-42
-115
0
-2
0
0
0
0
0
0
-4
0
0
0
-22
-14
0
0
0
0
0
0
0
0
4
18
-40
-19
127
-4
32
-59
-7
-143
0
-1
0
0
-11
30
14
0
-1
0
0
0
-17
0
3
0
0
0
0
0
0
-17
-7
0
30
109
166
4
32
143
-66
-32
0
-27
0
-34
-11
-34
-4
24
-78
0
0
0
-4
-21
21
0
0
0
0
0
0
0
0
68
-38
12
0
4
-36
0
48
-81
0
-10
0
-1
-18
0
0
0
-3
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-2
-2
0
17
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
1
22
-35
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
0
-2
65
0
17
31
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
100
45
27
54
42
37
89
35
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
76
109
78
103
0
23
61
102
107
76
1
0
37
27
50
3
6
-43
-20
-69
0
-12
-128
33
-6
-12
0
0
0
0
0
0
11
0
-24
80
52
1
9
64
8
21
-6
0
-5
0
0
5
14
-6
0
0
0
0
-5
-9
-1
0
0
0
0
0
0
0
16
0
38
154
51
20
4
-78
1
3
20
0
-1
0
1
-2
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
51
2
106
113
24
-9
174
42
110
113
21
0
-1
1
5
-2
8
3
0
2
0
25
-4
-53
-19
-2
0
0
0
0
0
0
0
0
62
34
29
2
-5
119
0
1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
24
17
5
10
-25
-3
-14
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-42
-56
50
-23
21
10
24
62
12
-16
0
-16
-62
-3
-1
-15
30
-35
4
0
-185
-45
-23
31
-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
43
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-57
0
0
0
0
0
13
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
3
-55
0
42
17
1
1
45
0
0
0
-12
2
0
-2
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
34
0
-47
-94
-13
-1
27
0
40
2
54
-9
8
9
-2
-12
0
-1
16
1
0
0
0
0
0
0
0
0
0
0
0
0
28
0
6
-21
-8
0
20
0
0
0
0
1
0
0
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
28
2
-15
-2
4
0
0
-3
0
-10
-3
5
3
0
0
0
0
0
0
0
-2
-15
0
96
-35
-1
7
53
-33
5
1
0
-79
3
-54
-55
15
-9
0
49
0
2
6
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
-41
1
0
68
-12
-44
-48
88
21
-32
17
0
-2
0
-4
0
-3
6
0
8
0
0
4
-28
-5
0
0
0
0
0
0
0
-38
1
-85
-6
15
23
-4
-13
-19
55
-14
0
-16
8
-83
70
4
-15
9
-82
0
15
-54
18
42
0
0
0
0
0
0
0
-15
6
0
62
-5
-15
-18
-74
103
81
-47
0
-69
-2
26
78
72
1
-11
-8
0
23
55
-7
14
23
0
0
0
0
0
0
0
-1
59
-55
-14
46
16
-54
40
59
-25
0
-36
-3
-5
49
12
49
0
-21
0
0
-8
4
12
0
0
0
0
0
0
0
0
0
0
-50
36
-7
-46
81
39
0
-81
0
92
0
-2
-1
2
0
0
5
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
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
-13
6
3
-21
-1
-4
67
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
-9
0
-40
0
0
0
3
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-15
-53
-27
-7
13
1
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
0
41
11
-106
-39
0
33
9
14
43
-44
-2
0
48
-3
29
-56
16
105
25
33
0
39
12
61
34
88
0
0
0
0
0
0
47
0
77
-71
43
3
-3
64
24
14
-35
0
1
0
0
0
32
0
-11
11
0
41
116
-13
-26
0
0
0
0
0
0
0
51
1
19
139
11
74
-40
26
5
77
-26
0
5
0
0
-8
9
-3
0
-18
0
13
-42
-17
-93
19
0
0
0
0
0
0
25
-7
106
-26
28
20
-86
67
9
2
-23
0
0
0
0
4
-13
5
0
-19
0
-10
58
-69
-54
-1
0
0
0
0
0
0
0
0
-1
14
-3
9
15
-16
6
31
39
0
0
0
0
0
0
0
1
0
0
-1
-12
-4
0
0
0
0
0
0
0
0
0
0
-7
17
-15
0
7
-36
19
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
-14
-25
2
56
0
45
25
27
35
41
-4
0
-10
68
11
33
8
44
-23
-12
0
-14
16
27
-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
-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
-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
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
-6
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
-9
0
-83
26
98
51
70
-23
1
19
0
-8
0
0
-7
42
-2
-11
-24
0
63
-7
-12
35
-9
0
0
0
0
0
0
0
0
0
-1
41
39
-5
32
-38
0
-41
0
0
0
0
0
4
0
0
-19
0
0
-21
26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
28
0
-35
0
-13
0
-3
15
44
11
0
-1
0
66
-20
16
-1
-3
0
0
0
0
0
0
21
0
0
-72
-6
13
-52
-59
14
-10
-44
0
49
0
-2
48
-28
-60
24
25
0
54
-38
-78
-23
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
116
1
0
13
-18
-1
104
-57
9
-21
-46
0
0
0
0
9
21
6
-4
23
0
5
69
-136
69
6
0
0
0
0
0
0
17
46
31
21
12
4
1
20
24
64
12
0
-23
-6
-41
-33
5
-17
-27
98
0
-58
-52
7
-5
-49
0
0
0
0
0
0
-76
-33
0
34
46
58
8
44
-3
-33
-4
0
49
0
-38
-27
-35
-6
68
-50
0
-91
7
100
53
-1
0
0
0
0
0
0
-46
16
-77
21
51
118
-55
-48
7
-42
-1
0
103
-9
-23
57
-14
62
41
17
0
-31
36
-63
-2
-43
0
0
0
0
0
0
0
0
0
13
30
-8
46
76
-59
0
4
0
-2
0
0
-2
-5
0
0
-10
0
-3
-73
55
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
0
6
-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
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
-2
0
0
0
-1
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
2
0
57
0
-63
0
0
-3
-86
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
5
2
-27
4
-115
-17
-1
-5
-39
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
-10
0
-28
0
-3
0
-10
0
-82
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
7
0
-2
4
51
2
26
27
-8
-6
9
0
0
0
0
0
0
0
0
0
0
0
25
46
-1
0
0
0
0
0
0
0
-69
-124
-116
-110
0
46
-43
-174
33
-81
19
0
0
0
0
0
48
75
-21
11
0
106
79
-12
91
-11
0
0
0
0
0
0
0
-5
9
-2
16
-59
7
28
-28
-4
-62
0
0
0
0
0
-27
-1
-4
-63
0
-17
-70
55
-25
-25
0
0
0
0
0
0
3
5
-6
-71
8
132
-144
-104
51
-17
8
0
0
0
0
0
11
6
0
59
0
7
19
35
7
3
0
0
0
0
0
0
-1
0
-31
10
37
-19
25
-1
21
5
22
0
0
0
0
0
-1
-1
0
16
0
-54
34
16
6
-25
0
0
0
0
0
0
0
0
0
10
30
-2
55
-16
2
0
49
0
0
0
0
0
0
0
0
0
0
0
2
-45
0
0
0
0
0
0
0
0
0
0
0
5
-30
0
-33
-18
-7
0
-34
0
0
0
0
0
0
0
0
0
0
1
-3
14
-5
0
0
0
51
-26
-102
-102
-3
-11
-18
60
24
37
8
29
7
27
12
0
-32
-3
-54
-52
37
34
-7
-5
0
23
14
-8
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
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
-20
29
-10
-19
-13
38
-2
46
0
0
0
0
0
-18
1
0
-7
0
-56
-9
72
28
-16
0
0
0
0
0
0
-4
0
0
9
-61
31
-18
4
-21
0
28
0
0
0
0
0
0
0
0
-2
0
15
95
-82
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-37
0
-5
0
0
0
0
0
-10
-31
0
-26
0
-50
8
5
-19
13
0
0
0
0
0
0
107
23
0
33
-4
34
4
-50
-71
-63
12
0
0
0
0
0
59
-72
40
-22
0
-128
-62
-52
-54
-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
40
-20
0
5
-18
-30
-17
12
-9
93
22
0
0
0
0
0
-80
47
39
-76
0
51
-32
117
-91
17
0
0
0
0
0
0
22
-44
-64
3
-21
82
-25
-20
-39
-98
39
0
0
0
0
6
-73
-7
14
32
0
7
10
85
45
9
0
0
0
0
0
0
70
-35
0
11
34
43
21
68
-2
-41
3
0
4
0
0
0
-10
-32
-65
-35
0
-16
9
-41
-61
11
0
0
0
0
0
0
31
41
-122
90
24
66
-18
45
6
-39
27
0
0
0
0
0
5
-56
12
-91
0
26
10
-4
3
27
0
0
0
0
0
0
-14
0
0
78
19
112
-12
-92
-4
2
12
0
0
0
0
0
-22
-2
0
-49
0
30
-2
-50
-35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
4
-28
5
10
45
-47
-4
25
0
0
0
0
0
0
0
0
3
0
-1
-18
2
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
-1
0
0
0
-27
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
12
0
-14
-4
4
-1
-57
0
0
0
0
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
0
0
12
0
3
0
-51
0
0
-7
6
13
-91
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-12
20
0
-4
-3
0
-2
26
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
11
0
0
17
0
0
-35
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
2
0
0
0
27
0
1
-11
-1
0
16
0
0
0
0
0
0
0
0
15
0
0
0
30
4
0
0
0
-1
0
0
3
-7
0
-9
-29
0
-49
-6
-142
-2
20
4
0
0
0
0
0
23
1
0
-6
0
-32
-66
141
-22
12
0
0
0
0
0
0
0
0
0
0
-27
0
-26
1
0
0
74
0
0
0
0
0
0
0
0
1
0
1
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
-2
0
-3
-17
0
0
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-3
0
-80
0
0
-20
0
0
-41
0
0
0
0
0
0
0
0
-1
0
-19
5
-17
0
3
0
0
0
0
0
0
0
0
0
0
-12
-3
-12
0
0
0
64
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
67
-32
19
-19
-94
-11
-1
61
15
-87
-25
-20
21
-28
0
0
0
0
0
28
5
-4
-20
0
16
-11
18
23
-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
-7
-19
0
-3
0
0
-10
0
0
0
0
0
0
0
0
28
0
1
-15
-9
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
1
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
22
0
2
0
26
0
0
0
0
0
-36
-2
0
26
0
12
23
-2
48
0
0
0
0
0
0
0
-5
0
0
94
-44
-31
10
88
-42
36
-16
0
0
0
0
0
-12
111
-13
16
0
-65
12
24
-10
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
-17
5
0
-15
-37
1
5
19
-3
-43
-34
0
0
0
0
0
0
0
0
6
0
-16
0
12
76
0
0
0
-3
-2
0
4
24
81
-5
-36
16
-130
132
-27
0
18
19
0
0
0
0
0
-5
-33
40
10
0
35
37
-51
-37
-11
0
0
0
0
0
0
21
19
0
-34
-22
4
5
-27
-64
68
-22
0
0
0
0
0
41
8
-29
32
0
38
16
-79
58
-7
0
0
0
0
0
-1
33
73
0
12
3
19
-4
19
0
89
1
0
0
0
0
0
0
-8
-4
-43
0
7
11
-27
4
-1
0
0
0
0
0
0
0
0
0
0
31
0
1
1
0
0
18
0
0
0
0
0
0
0
0
-6
0
6
1
-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
21
-16
2
0
0
-26
-3
0
21
0
2
0
8
0
-37
0
0
0
0
0
0
0
0
0
0
0
-48
-32
-1
0
0
0
0
0
0
0
0
2
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
15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
3
0
5
-1
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
9
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
12
2
2
0
0
0
12
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-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
-5
5
-1
23
13
0
0
0
42
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
-3
0
0
3
10
0
0
0
0
2
0
-4
0
-34
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
7
0
-3
-5
-64
0
6
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-16
28
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
5
1
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
-21
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-21
-37
73
-13
-130
-128
31
-82
96
-69
12
-145
-91
-194
-31
0
0
0
0
0
-70
-30
7
-53
0
-13
-14
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-37
0
0
0
-6
0
0
0
0
0
0
10
0
16
0
7
-21
-14
-26
0
0
0
55
15
-22
-29
25
-21
0
-31
22
-77
115
-11
18
0
26
0
0
0
0
0
104
-14
-27
-43
0
87
58
37
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
53
0
-1
-4
-21
-4
0
-7
-94
0
1
-8
0
0
47
0
0
0
0
0
0
0
-10
5
0
-3
-45
-41
-15
0
0
0
12
0
8
-20
-6
-39
0
18
-6
-9
3
-30
0
0
56
0
0
0
0
0
6
1
-2
-120
0
0
35
22
-14
10
0
0
33
-28
24
-2
4
-15
0
-116
-63
2
33
-25
9
0
39
0
0
0
0
0
-11
14
43
154
0
30
-60
-14
29
4
0
0
-28
0
0
0
10
-10
0
-28
-1
0
0
-10
0
0
27
0
0
0
0
0
0
0
3
93
0
0
-64
73
0
0
0
0
-31
0
-8
-1
0
11
0
0
-16
-7
-49
-1
1
0
-4
0
0
0
0
0
1
0
4
8
0
-6
121
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
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
-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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
18
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-99
-26
51
-66
-129
-20
103
36
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-50
113
0
43
-35
7
0
19
105
0
9
0
0
0
3
36
0
2
0
0
0
-67
3
0
0
0
0
0
0
0
0
0
-86
-17
104
1
49
-23
-1
5
140
0
0
0
0
0
0
-27
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
24
-10
10
7
55
-6
7
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
-46
-134
73
-22
-111
-1
-14
-3
62
0
0
0
0
0
-1
14
0
-8
0
0
0
2
9
-4
0
0
0
0
0
0
0
0
0
-6
1
6
-41
23
0
0
63
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-15
-63
24
73
86
15
-10
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
50
39
-76
-53
-131
4
-97
104
45
-39
0
-26
-44
53
-41
-49
-50
21
-8
0
0
0
-21
-62
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
-2
-20
24
39
0
0
-9
-3
0
0
0
0
0
1
-22
0
0
0
0
0
0
48
0
0
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
-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
-10
0
1
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
5
0
0
-30
3
0
0
3
0
0
0
0
0
0
7
0
18
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
-12
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
-67
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-50
-14
11
47
0
46
15
0
-3
0
0
0
-28
75
0
-7
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
-33
56
75
-4
-35
0
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
0
0
0
0
0
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
-23
-49
-68
31
-5
58
-73
0
0
0
0
0
14
-5
0
-31
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
60
-15
-2
0
25
0
0
8
-44
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
7
0
0
33
0
-1
-118
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
1
0
8
-10
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
29
88
67
-10
-7
121
49
18
21
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
101
22
125
61
0
-55
183
123
-102
90
-2
0
-80
-29
-29
74
-47
-58
0
-25
0
-1
0
-51
-15
-44
0
0
0
0
0
0
0
0
122
3
36
19
0
-27
17
-41
84
0
0
0
1
0
2
12
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
-8
52
-37
25
-59
66
79
75
5
35
0
12
0
0
-65
-2
-55
0
24
0
0
0
-39
0
-34
0
0
0
0
0
0
5
0
11
35
39
-33
20
64
19
-61
66
0
3
0
7
-12
-8
-11
0
3
0
0
0
28
0
10
0
0
0
0
0
0
0
0
44
-3
-4
-64
0
-39
0
19
-86
0
-2
0
0
-3
0
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
6
54
-31
34
0
51
7
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
1
55
11
-18
-20
-11
3
146
29
21
0
17
44
38
11
41
61
56
12
0
-108
0
8
-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
1
30
73
-31
34
0
0
-34
0
7
0
-24
-4
33
-34
-27
4
0
0
0
39
20
2
0
0
0
0
0
0
0
0
0
1
28
0
0
21
0
0
21
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
-1
0
2
2
0
19
0
21
0
0
12
9
0
1
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-44
52
-4
-29
37
0
0
-63
0
18
0
-7
0
-2
-2
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-46
-13
6
34
99
0
43
-77
0
12
0
-41
5
7
29
2
-26
0
0
0
-54
0
-6
0
0
0
0
0
0
0
0
0
45
-11
10
0
0
4
-9
-8
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
-24
0
2
0
0
0
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-99
-20
203
-19
-55
26
-76
-60
0
32
0
18
-5
-50
-1
-10
-5
0
5
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
-1
0
0
-30
42
76
-14
24
19
-36
-105
0
-2
0
0
0
0
0
0
-4
0
0
0
-22
-14
0
0
0
0
0
0
0
0
4
15
-38
-14
134
-4
34
-58
-11
-176
0
-1
0
0
-9
30
13
0
-1
0
0
0
-17
0
3
0
0
0
0
0
0
-17
-7
0
5
121
174
4
34
145
-74
-55
0
-27
0
-34
-11
-34
-4
24
-74
0
0
0
-4
-19
21
0
0
0
0
0
0
0
0
74
-32
12
0
4
-36
0
39
-78
0
-11
0
-1
-18
0
0
0
-3
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-2
-2
0
14
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
23
-34
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
-2
61
0
17
29
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
106
24
28
58
35
39
89
14
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
83
109
57
60
0
9
23
69
112
75
-1
0
50
29
47
5
18
-45
-20
-68
0
-6
-121
37
3
-13
0
0
0
0
0
0
11
0
-23
81
24
1
4
70
8
21
6
0
-5
0
0
5
17
-7
0
0
0
0
-5
-8
-1
0
0
0
0
0
0
0
16
0
39
154
45
19
0
-96
0
3
22
0
-1
0
1
-1
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
50
2
99
124
-2
-11
168
56
115
115
-3
0
-1
1
5
-2
1
3
0
2
0
25
-4
-53
-19
-2
0
0
0
0
0
0
0
0
57
31
40
2
-3
136
0
1
-2
0
0
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
24
19
29
10
-10
-2
-13
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-51
-42
24
-17
27
25
14
53
-7
0
0
-10
-47
11
24
-9
42
-47
5
0
-178
-28
-38
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
0
0
0
0
2
0
0
0
0
0
52
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-59
0
0
0
0
0
13
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
3
-52
0
44
18
1
1
42
0
0
0
-13
2
0
-2
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-54
-87
-12
-1
50
0
46
2
49
-9
8
9
-2
-12
0
-1
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
27
0
7
-21
-8
0
29
0
0
0
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
-14
0
32
2
-17
-2
5
0
0
-3
0
-10
-3
8
3
0
0
0
0
0
0
0
-2
-15
0
97
-40
-1
7
57
-30
4
-5
0
-77
3
-51
-55
18
-9
0
47
0
2
6
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
-41
2
0
62
-3
-47
-66
85
18
-33
38
0
-2
0
-4
0
-2
5
0
8
0
0
4
-26
-5
0
0
0
0
0
0
0
-39
2
-94
-7
35
18
-6
-31
-9
59
-20
0
-20
8
-85
76
1
-17
9
-85
0
16
-54
17
39
0
0
0
0
0
0
0
-11
6
0
55
-19
-16
-37
-75
109
88
-54
0
-68
-2
25
77
73
0
-11
-2
0
23
52
5
10
23
0
0
0
0
0
0
0
-1
62
-52
-4
45
9
-51
42
61
-18
0
-47
-3
-8
46
0
49
0
-21
0
0
-8
0
11
0
0
0
0
0
0
0
0
0
0
-50
40
-7
-42
81
34
0
-73
0
91
0
0
-1
2
0
0
5
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-12
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
-7
6
3
-17
-1
-4
76
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
-9
0
-40
0
0
0
3
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-54
-31
-12
12
-17
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
0
50
16
-91
-51
0
43
23
-4
44
-55
24
0
46
-3
31
-52
17
115
25
35
0
40
17
64
35
92
0
0
0
0
0
0
47
0
78
-75
33
3
-5
64
24
15
-45
0
2
0
0
0
32
0
-11
10
0
40
117
-15
-26
0
0
0
0
0
0
0
57
1
13
136
0
66
-40
33
-10
78
-28
0
4
0
0
-8
7
-3
0
-15
0
14
-39
-14
-93
19
0
0
0
0
0
0
19
-7
105
-31
15
17
-87
70
8
0
-55
0
0
0
0
4
-14
5
0
-19
0
-10
55
-74
-58
-1
0
0
0
0
0
0
0
0
-1
19
-12
9
13
-13
6
32
50
0
0
0
0
0
0
0
1
0
0
-1
-11
-4
0
0
0
0
0
0
0
0
0
0
-7
17
-20
0
7
-31
19
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
-28
-7
1
42
0
40
-14
7
46
46
5
0
2
71
8
43
19
46
-27
-9
0
0
23
20
-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
-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
-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
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
-6
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
-9
0
-82
21
94
50
74
-29
1
14
0
-8
0
0
-7
43
-2
-11
-26
0
61
-3
-16
34
-9
0
0
0
0
0
0
0
0
0
-2
41
38
-2
32
-41
0
-43
0
0
0
0
0
4
0
0
-19
0
0
-15
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
26
0
-19
0
-12
0
-3
17
47
9
0
4
0
67
-20
19
0
-3
0
0
0
0
0
0
21
0
0
-71
11
11
-65
-56
5
1
-39
0
47
0
-2
52
-22
-58
21
28
0
51
-35
-86
-28
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
118
2
0
19
-7
2
101
-80
2
-26
-23
0
0
0
0
9
19
6
-5
23
0
3
70
-138
68
6
0
0
0
0
0
0
20
39
25
19
21
-1
-28
9
2
90
10
0
-22
-6
-42
-35
8
-9
-17
84
0
-54
-57
16
6
-45
0
0
0
0
0
0
-74
-29
0
36
60
60
5
31
-6
-32
-5
0
51
0
-41
-26
-35
-13
71
-58
0
-105
3
117
65
-2
0
0
0
0
0
0
-50
22
-76
22
62
119
-73
-60
4
-32
11
0
104
-9
-26
55
-28
48
42
25
0
-39
31
-68
2
-46
0
0
0
0
0
0
0
0
0
12
34
-5
44
72
-74
0
5
0
-2
0
0
-2
-5
0
0
-13
0
-3
-67
57
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
11
-2
0
1
6
0
6
-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
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
-2
0
0
0
-1
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
2
0
54
0
-62
0
0
-3
-95
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
5
2
-26
4
-115
-17
-1
-5
-51
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
-10
0
-27
0
-3
0
-10
0
-92
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
7
0
-2
4
56
2
32
27
-8
-6
-18
0
0
0
0
0
0
0
0
0
0
0
28
50
-1
0
0
0
0
0
0
0
-69
-124
-111
-116
0
44
-50
-175
9
-89
43
0
0
0
0
0
45
74
-17
11
0
118
61
-10
99
-8
0
0
0
0
0
0
0
-5
10
-1
8
-58
8
24
-27
-4
-74
0
0
0
0
0
-31
-1
-4
-59
0
-15
-76
59
-25
-25
0
0
0
0
0
0
3
5
-4
-68
-12
133
-146
-116
54
-20
13
0
0
0
0
0
11
6
0
59
0
4
16
32
7
3
0
0
0
0
0
0
-1
0
-30
10
53
-19
22
-2
22
5
6
0
0
0
0
0
-1
-1
0
16
0
-51
30
15
3
-25
0
0
0
0
0
0
0
0
0
10
22
-2
57
-14
2
0
55
0
0
0
0
0
0
0
0
0
0
0
3
-48
0
0
0
0
0
0
0
0
0
0
0
5
-33
0
-28
-17
-7
0
-20
0
0
0
0
0
0
0
0
0
0
1
-3
14
-5
0
0
0
44
-26
-102
-110
29
-8
-31
56
18
45
6
44
10
45
13
0
-43
-3
-52
-59
58
50
-7
4
0
35
24
15
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
-24
15
-20
-26
-11
45
-2
47
0
0
0
0
0
-18
1
0
-10
0
-59
-5
84
28
-16
0
0
0
0
0
0
-4
0
0
9
-57
31
-16
2
-23
0
20
0
0
0
0
0
0
0
0
-2
0
15
100
-80
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-38
0
4
0
0
0
0
0
-15
-23
0
-22
0
-46
6
-5
-16
14
0
0
0
0
0
0
101
23
0
28
17
36
-15
-53
-78
-64
30
0
0
0
0
0
51
-74
41
-19
0
-127
-83
-62
-48
-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
45
-12
0
2
7
-29
-25
24
-5
83
-1
0
0
0
0
0
-76
54
42
-61
0
52
-35
119
-89
19
0
0
0
0
0
0
24
-50
-61
-2
-14
89
-13
-22
-25
-94
26
0
0
0
0
6
-68
-3
15
33
0
8
9
80
39
8
0
0
0
0
0
0
66
-29
0
19
61
52
15
86
8
-36
13
0
4
0
0
0
-30
-30
-67
-45
0
-24
15
-74
-68
15
0
0
0
0
0
0
38
43
-122
102
14
79
-25
44
1
-21
3
0
0
0
0
0
12
-72
13
-101
0
27
18
8
-10
35
0
0
0
0
0
0
-13
0
0
74
-4
115
-15
-84
-13
2
34
0
0
0
0
0
-22
-2
0
-46
0
30
8
-67
-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
-85
0
6
4
-26
5
10
45
-46
-2
11
0
0
0
0
0
0
0
0
3
0
-1
-18
2
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
-1
0
0
0
-27
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
16
0
-14
-4
4
-1
-74
0
0
0
0
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
0
0
12
0
3
0
-50
0
0
-7
6
13
-85
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-12
17
0
-4
-3
0
-2
31
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
11
0
0
17
0
0
-41
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
2
0
0
0
21
0
1
-11
-1
0
29
0
0
0
0
0
0
0
0
15
0
0
0
30
4
0
0
0
-1
0
0
3
-7
0
-9
-29
0
-49
-6
-140
-2
18
16
0
0
0
0
0
23
1
0
-4
0
-30
-67
146
-24
12
0
0
0
0
0
0
0
0
0
0
-28
0
-25
1
0
0
70
0
0
0
0
0
0
0
0
1
0
1
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-2
0
-3
-15
0
0
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-3
0
-93
0
0
-20
0
0
-26
0
0
0
0
0
0
0
0
-1
0
-19
5
-17
0
3
0
0
0
0
0
0
0
0
0
0
-12
-3
-12
0
0
0
61
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
69
-33
14
-39
-104
-16
19
33
18
-74
-50
-37
34
-15
0
0
0
0
0
39
10
-3
6
0
13
-18
48
38
-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
-7
-19
0
-3
0
0
-10
0
0
0
0
0
0
0
0
28
0
1
-15
-10
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
1
0
0
1
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
25
0
2
0
22
0
0
0
0
0
-34
-3
0
28
0
15
17
3
53
0
0
0
0
0
0
0
-5
0
0
93
-39
-32
5
90
-42
34
-17
0
0
0
0
0
-11
113
-19
30
0
-72
11
22
-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
-17
5
0
-10
-31
1
7
18
-3
-43
-43
0
0
0
0
0
0
0
0
9
0
-16
0
8
73
0
0
0
-3
-2
0
-3
14
82
-5
-43
13
-128
136
-34
2
24
29
0
0
0
0
0
-5
-31
41
12
0
33
35
-53
-39
-7
0
0
0
0
0
0
20
20
0
-33
-30
8
8
-27
-63
67
-11
0
0
0
0
0
41
7
-29
39
0
33
15
-86
57
-5
0
0
0
0
0
-1
31
74
0
10
12
19
-8
15
0
103
18
0
0
0
0
0
0
-8
-4
-42
0
7
10
-24
4
-1
0
0
0
0
0
0
0
0
0
0
32
0
1
1
0
0
28
0
0
0
0
0
0
0
0
-11
0
6
1
-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
21
-16
2
0
0
-22
-3
0
26
0
2
0
8
0
-61
0
0
0
0
0
0
0
0
0
0
0
-50
-32
-1
0
0
0
0
0
0
0
0
2
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
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
9
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
12
2
2
0
0
0
12
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
-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
-5
5
-1
23
13
0
0
0
50
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
-3
0
0
3
10
0
0
0
0
2
0
-4
0
-34
5
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
7
0
-3
-5
-68
0
6
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-16
28
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
5
1
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
-20
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-19
-33
75
-14
-154
-154
32
-52
76
-71
-2
-158
-85
-199
-46
0
0
0
0
0
-70
-44
5
-39
0
-14
-1
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
-2
0
0
0
0
0
0
10
0
20
0
10
-18
-16
-23
0
0
0
54
16
-22
-29
26
-23
0
-32
26
-81
118
-3
16
0
19
0
0
0
0
0
116
-10
-26
-61
0
95
51
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
53
0
-1
-4
-21
-4
0
-7
-98
0
1
-8
0
0
42
0
0
0
0
0
0
0
-10
0
0
-3
-42
-34
-14
0
0
0
10
0
8
-20
-5
-40
0
20
-10
-9
3
-26
0
0
57
0
0
0
0
0
6
1
-2
-123
0
0
37
27
-15
10
0
0
43
-27
25
-2
4
-13
0
-121
-69
0
37
-29
9
0
28
0
0
0
0
0
-11
14
42
190
0
31
-54
-18
32
4
0
0
-28
0
0
0
10
-10
0
-28
-1
0
0
-10
0
0
20
0
0
0
0
0
0
0
3
98
0
0
-61
78
0
0
0
0
-31
0
-8
-1
0
11
0
0
-20
-7
-49
-1
1
0
-6
0
0
0
0
0
1
0
4
3
0
-6
125
65
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
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
-162
0
0
0
0
0
0
0
0
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
-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
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
2
1
3
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
-22
7
0
7
6
2
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
-8
0
-11
0
3
0
0
0
-44
0
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
-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
2
-1
0
-1
1
0
0
0
28
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
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
-17
0
0
0
8
2
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
-13
0
-43
46
-49
-43
1
-66
-148
17
0
-57
-55
-23
-15
16
-16
0
33
0
0
0
40
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
-1
-2
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
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
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
5
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
2
-11
3
0
0
-21
0
0
0
0
0
-7
-1
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-4
34
-4
0
-3
87
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
0
0
-13
0
0
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-27
47
-50
10
3
16
8
-11
29
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
39
-89
0
-101
-48
-94
-13
-2
43
0
-20
0
22
-1
43
66
0
-40
0
0
0
-11
-1
-1
0
0
0
0
0
0
0
0
-6
0
-21
0
0
1
2
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
13
-99
34
35
-2
-62
0
-12
-107
0
0
0
0
6
0
-2
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
-100
20
24
-1
0
2
-19
0
78
0
0
0
0
0
0
0
0
1
0
0
0
8
0
1
0
0
0
0
0
0
0
0
2
9
-2
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
-1
-7
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
12
-16
43
6
26
-113
-13
33
-20
-121
41
0
43
92
-40
-28
-3
-7
-22
-3
0
-10
0
30
-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
4
-19
-1
0
0
0
0
-16
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
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
-1
5
0
0
2
0
0
26
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
-4
0
0
0
0
0
-106
0
0
0
0
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
8
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
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
0
-18
-12
6
-51
0
-5
0
6
-3
-15
-11
0
1
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
41
17
7
1
19
0
0
-26
0
0
0
0
0
0
0
0
3
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
-11
-37
24
13
0
-1
-1
-12
-83
0
0
0
0
-3
-2
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-21
11
44
-1
-39
49
5
-100
0
0
0
-8
0
-1
1
0
11
0
0
0
3
3
2
0
0
0
0
0
0
0
0
44
26
0
0
5
5
0
0
13
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-59
9
0
0
-210
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
22
2
-63
-120
0
-24
6
-76
-10
-9
80
0
90
-3
1
-12
63
-9
-11
2
0
11
1
-26
-15
-3
0
0
0
0
0
0
0
0
1
34
-14
-2
-7
-5
0
-1
2
0
-2
0
-1
0
0
1
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
39
-4
-39
0
-5
-16
0
0
75
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-114
-110
-1
-28
-28
17
0
-152
0
0
0
0
0
11
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
1
-33
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-3
6
0
11
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
-4
-5
0
-46
4
-16
56
32
112
-22
17
0
-39
-24
134
46
10
31
27
-29
0
-18
-42
-89
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
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
-33
0
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
-12
0
1
0
-13
0
7
2
6
-4
-1
0
0
0
0
0
-13
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-27
0
28
0
2
-1
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-36
0
-23
11
-15
1
-25
0
1
0
8
0
12
-1
0
-4
0
1
6
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
-11
-63
-7
-24
-20
0
0
90
0
0
0
-1
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
2
0
9
1
-27
-1
-11
39
59
5
-64
0
-27
3
-8
25
9
-13
0
-2
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
-17
-42
-2
-10
-20
15
1
-2
0
7
0
-4
3
-1
-3
0
1
0
3
3
42
5
-1
0
0
0
0
0
0
0
0
20
5
-2
0
-42
-3
-1
0
-3
0
-4
0
-6
9
-2
1
0
8
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
2
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
2
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
-2
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
9
0
-33
0
4
0
9
0
-95
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
-13
42
0
42
72
-25
-37
9
-14
0
-7
0
4
-15
-42
0
5
42
0
-68
39
59
-1
51
0
0
0
0
0
0
0
0
15
2
-3
4
-7
-21
2
0
-68
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
-30
-27
86
-42
-6
38
-37
-41
40
0
0
0
0
0
-8
5
0
0
0
12
-7
-26
-4
0
0
0
0
0
0
0
0
0
61
-13
4
0
-13
8
-22
0
-160
0
0
0
0
0
-1
0
0
-2
0
-10
8
-40
-4
-1
0
0
0
0
0
0
0
0
-1
5
-19
0
0
-2
0
0
-2
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
15
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
12
38
24
10
0
55
-91
-44
93
64
19
0
27
0
-85
-31
42
18
-12
-30
0
81
-14
-50
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
0
-51
0
0
0
21
0
0
0
0
0
2
0
3
2
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
6
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
31
0
-8
0
-1
0
0
9
8
1
0
5
0
-4
-9
13
12
-1
0
0
0
0
0
0
-2
0
0
-8
36
0
-22
-26
-1
0
-28
0
-3
0
0
-4
3
-1
-10
0
0
-13
18
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
-1
6
0
-18
-23
0
-5
-17
0
0
0
0
3
2
-1
-5
39
0
7
-2
1
-6
2
0
0
0
0
0
0
-8
0
-30
-1
-82
-22
2
-25
-43
72
-3
0
1
0
0
-7
-15
-16
-1
21
0
2
25
56
31
-4
0
0
0
0
0
0
0
0
0
14
4
0
38
-12
-18
-8
-19
0
-2
0
0
0
10
-2
2
-2
0
-23
-25
66
15
-2
0
0
0
0
0
0
0
0
-39
45
20
0
13
27
-9
18
51
0
3
0
0
4
-11
-9
0
-18
0
-6
-38
-12
1
-6
0
0
0
0
0
0
0
0
0
0
-15
0
-10
0
-12
0
31
0
0
0
0
0
1
0
0
1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
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
4
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
7
0
39
0
5
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
0
5
0
14
19
0
0
-30
84
-8
-1
91
0
0
0
0
0
-8
-6
-1
-26
0
22
19
0
-13
0
0
0
0
0
0
0
-1
0
3
-1
70
-6
19
-1
-1
0
97
0
0
0
0
0
2
-1
-2
-8
0
-2
-9
31
-12
-4
0
0
0
0
0
0
0
0
8
-38
27
6
-34
3
24
-1
93
0
0
0
0
0
0
4
0
4
0
3
-8
-2
0
0
0
0
0
0
0
0
0
0
-11
-1
45
0
-26
-1
-2
2
67
0
0
0
0
0
-2
-1
0
0
0
5
-33
1
-13
0
0
0
0
0
0
0
0
0
1
-2
2
-2
16
0
0
0
-98
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
-6
0
2
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
3
1
48
51
-30
-11
4
42
14
19
74
166
17
0
-18
0
0
-4
23
-32
14
-22
0
-8
7
19
80
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
38
0
0
0
19
0
0
0
0
0
0
0
0
0
0
1
14
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
-23
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
0
-23
0
10
0
0
0
0
0
-10
-8
0
27
0
26
-19
-48
4
16
0
0
0
0
0
0
-7
2
0
-3
50
-2
-62
2
2
0
21
0
0
0
0
0
5
-5
25
45
0
42
-30
-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
1
0
0
6
14
-17
28
7
-7
-11
-33
0
0
0
0
0
2
-9
9
-32
0
25
28
-21
1
1
0
0
0
0
0
0
69
-4
-11
33
43
21
-67
-62
-24
-21
-69
0
0
0
0
0
15
16
17
-3
0
16
-40
-36
18
21
0
0
0
0
0
0
-3
0
0
44
113
9
-26
34
-19
1
79
0
0
0
0
0
-38
6
-20
-45
0
-44
2
-85
-47
0
0
0
0
0
0
0
-5
-1
-49
6
35
6
58
-12
34
12
-77
0
0
0
0
0
3
-1
0
15
0
-2
22
11
-13
7
0
0
0
0
0
0
0
0
0
0
-6
0
-23
0
-8
0
16
0
0
0
0
0
0
0
0
-1
0
0
-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
-3
0
2
0
19
0
1
1
9
0
20
0
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
-30
0
0
0
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
-52
0
0
0
0
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
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
-1
0
59
0
0
0
0
0
0
0
0
3
0
0
0
-6
2
0
0
0
0
0
0
0
-1
0
0
1
0
-1
-1
-8
0
2
-11
0
0
0
0
0
0
0
0
21
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-11
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
-9
0
0
0
0
0
20
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
22
6
-37
22
-1
0
39
-15
-11
46
11
-60
-13
-70
0
0
0
0
0
10
-58
-14
11
0
-22
-31
12
-47
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
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
0
0
0
-2
1
0
-4
0
-9
-7
12
20
0
0
0
0
0
0
0
4
0
0
0
50
0
-25
-3
0
0
-28
0
0
0
0
0
0
-4
-28
13
0
-18
-13
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
-1
22
0
-1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
1
9
0
-2
-8
-31
-10
-18
-33
-5
44
79
0
0
0
0
0
2
0
3
-19
0
1
-15
-2
7
-1
0
0
0
0
0
0
0
0
0
-26
-21
-3
20
-2
-3
2
-23
0
0
0
0
0
1
1
0
7
0
-15
2
33
-6
0
0
0
0
0
0
0
0
0
0
-1
2
0
-28
0
0
9
17
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
60
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
1
0
0
0
0
0
-59
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
2
0
0
0
0
0
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
-2
0
0
0
3
0
0
0
-6
0
0
0
0
0
48
0
0
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
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
24
0
0
0
0
0
32
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
71
8
1
-57
-64
28
52
-35
13
-12
22
5
-28
-131
0
0
0
0
0
35
-40
-31
9
0
-6
0
-38
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
0
0
3
0
1
12
-22
13
0
0
0
-67
31
-1
3
-1
-1
0
-2
-20
0
29
-12
1
0
37
0
0
0
0
0
-2
2
41
-73
0
34
-23
-24
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
11
0
0
-2
0
0
-11
0
0
0
0
0
0
0
0
0
0
-2
8
20
0
0
0
0
2
0
0
-2
0
1
0
5
6
0
0
0
0
0
26
0
0
0
0
0
0
0
3
-9
0
0
-5
6
0
0
0
0
3
-4
0
0
-1
0
0
-8
0
0
3
1
1
0
-39
0
0
0
0
0
0
0
-2
55
0
-3
-17
13
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
-32
-34
6
41
70
-15
12
21
21
-31
4
7
3
0
14
16
0
-8
-14
-11
-17
-9
-13
-3
-7
1
0
-3
-5
23
61
6
-7
-3
27
-1
-7
-32
-39
7
4
3
15
11
86
4
-37
-24
-46
9
-46
-26
2
-4
23
-15
-10
-27
-6
-9
-10
-2
-19
11
-30
-26
-4
-14
-3
-11
3
3
2
23
-3
1
5
15
23
18
1
1
2
6
5
17
-4
18
36
-26
3
-19
4
18
5
-10
5
4
4
0
5
2
1
1
-3
-16
-4
-1
-4
0
2
-1
-3
4
0
4
0
5
-13
-21
6
3
1
4
8
7
0
4
5
14
24
7
18
39
21
-2
-4
5
6
-8
-22
-26
-28
8
12
-21
1
-6
-6
9
-11
-3
-12
-6
-3
-5
0
-3
-6
-16
14
1
-4
12
-10
8
5
5
10
-7
9
4
2
4
0
16
9
14
6
-18
2
-16
5
24
9
-9
3
7
3
1
5
-3
3
1
5
-15
-4
-3
3
4
8
2
-2
-4
-10
-1
0
7
-10
-13
4
2
0
4
15
12
-1
2
8
21
24
8
23
32
15
-9
-8
8
13
4
-18
-23
-30
4
4
-21
-3
-5
-2
4
-11
-3
-14
-10
-15
-3
-1
1
1
-5
11
2
3
5
-2
2
5
5
12
-2
7
6
2
7
-9
13
18
20
-4
-19
-17
-12
-17
33
-6
-11
3
6
-41
-18
28
-13
-6
33
-4
-17
5
-7
0
6
0
-1
9
-14
-13
-26
3
-2
-24
-3
-11
1
3
-15
-16
18
-5
15
23
33
4
12
11
7
-6
-49
19
-54
20
61
-30
5
-2
-13
29
-28
-23
23
30
6
30
14
1
-9
-3
12
-4
5
18
49
-13
-16
8
-10
-1
10
13
15
8
-10
-8
7
1
22
-28
10
40
15
-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
15
-8
-1
-11
-3
0
6
0
-73
-8
-9
-6
66
35
0
45
-20
-34
3
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
4
1
0
0
5
0
-1
0
2
0
12
0
0
18
11
14
13
84
85
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-3
0
0
0
9
0
0
-7
-32
1
4
2
0
1
0
-21
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
9
4
0
1
14
-6
0
0
-28
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
38
0
0
0
0
0
0
0
0
2
6
-45
2
-77
12
13
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
27
1
-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
0
3
0
0
0
0
0
0
0
0
29
84
-59
13
89
0
-1
0
28
2
-23
-33
12
-21
0
1
-5
22
10
7
-29
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
3
-1
-2
-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
-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
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
9
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
42
0
4
0
0
0
0
0
0
-37
-23
7
0
-158
0
2
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
39
0
0
0
0
0
0
0
0
43
-5
0
-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
33
0
0
0
0
0
0
0
0
43
-10
17
62
63
0
4
0
0
0
0
0
109
-19
0
0
12
36
10
36
-16
-16
0
-20
0
0
0
0
0
0
0
0
-110
2
63
-18
-14
0
-15
0
-2
0
0
0
-92
-9
0
0
-21
86
4
37
-22
63
0
-6
0
0
0
0
0
0
0
0
2
0
0
21
3
0
-7
0
0
0
0
0
-16
-11
0
2
-100
-26
-34
13
12
-34
0
26
0
0
0
0
0
0
0
0
-49
-4
1
-5
-85
0
1
0
0
0
0
0
1
78
0
0
0
-26
-105
15
12
7
0
50
0
0
0
0
0
0
0
0
2
56
0
10
-1
0
2
0
0
0
0
0
-56
-7
0
8
-24
-22
78
8
12
25
0
-10
0
0
0
0
0
0
0
0
107
-5
0
60
0
0
-3
0
0
0
0
0
0
0
0
-3
-102
-36
36
-7
-49
-41
0
63
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-13
0
53
-85
-24
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
38
0
-6
-2
1
0
5
5
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
27
0
0
0
0
0
-14
0
0
90
-73
101
-62
26
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-3
5
-21
46
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
-2
0
0
0
0
0
0
0
0
-4
13
22
-45
46
0
-1
0
29
-3
14
50
40
30
0
-3
-57
-6
-5
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-35
0
7
0
0
0
-1
0
0
5
17
-3
3
-18
-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
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
-7
0
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
14
0
2
1
0
0
-45
0
0
0
0
0
0
0
0
0
54
55
40
35
-6
3
0
51
0
0
0
0
0
0
0
0
-15
0
0
-5
0
0
-62
0
-3
0
0
0
-2
0
0
3
16
-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
2
0
0
0
0
0
0
0
0
54
0
0
-8
-6
0
-3
0
0
0
0
0
-28
0
0
20
-49
8
10
9
9
39
0
-28
0
0
0
0
0
0
0
0
-16
3
0
38
-69
0
-2
0
0
0
0
0
35
-8
0
-2
0
20
2
6
8
-17
0
8
0
0
0
0
0
0
0
0
-6
0
0
-23
1
0
8
0
0
0
0
0
0
0
0
68
47
-15
56
-22
-23
95
0
-23
0
0
0
0
0
0
0
0
0
0
0
-25
34
0
8
0
0
0
0
0
-3
0
0
0
-11
-34
46
6
9
-87
0
6
0
0
0
0
0
0
0
0
-15
5
3
79
-4
0
-2
0
0
0
0
0
-42
-1
0
6
-10
-95
16
-53
-9
-27
0
-1
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
-7
0
0
0
0
0
0
0
0
-11
-23
-24
17
8
3
-32
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
-9
24
-3
-20
-53
3
0
0
0
0
0
0
0
0
0
0
0
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
70
-17
4
0
0
0
-37
74
-9
3
0
0
-14
3
0
36
-10
8
5
26
0
0
7
-57
-84
10
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
-3
0
0
0
13
-8
0
3
0
0
-1
14
0
2
0
0
0
-1
-10
0
-4
-60
-2
23
-7
-73
41
0
105
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
50
0
0
0
0
0
-1
1
0
61
15
-27
-96
-27
6
-3
0
-118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
-41
35
209
60
30
-108
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
17
-2
-3
-11
0
0
5
0
0
8
-79
33
7
0
0
0
-31
16
18
-7
0
0
-62
1
0
-5
2
13
-11
-8
20
0
-10
-15
0
-6
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
24
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-14
0
2
0
0
0
1
0
0
8
19
0
4
-14
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
2
0
0
3
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
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
-20
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
3
14
0
0
0
0
0
13
0
0
0
0
0
0
0
0
133
32
-46
8
15
0
77
0
65
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-46
0
-4
0
0
0
-1
0
0
-48
21
-27
-26
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
-45
66
-27
8
0
0
0
-7
27
0
0
0
0
-13
10
0
0
0
0
0
0
0
0
-53
-88
-1
-1
7
-31
31
0
13
-70
16
-16
-95
0
0
0
-38
4
7
3
0
0
-47
1
0
0
0
0
0
11
16
0
-15
-51
12
5
-1
16
35
0
-7
7
0
0
3
0
0
0
9
4
0
0
0
0
1
9
0
0
0
0
0
0
0
0
25
-35
47
-24
-1
6
-69
0
3
-13
-27
-23
1
0
0
0
70
15
0
0
0
0
44
-3
0
0
0
0
0
5
1
0
45
-27
0
-38
2
-56
-18
0
1
87
-25
7
0
0
0
0
-10
-1
0
0
0
0
-32
-4
0
0
0
0
0
-16
-26
0
-9
-68
3
-1
25
-80
-12
0
1
-10
-11
-10
0
0
0
0
0
25
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
-54
-48
-5
-37
-31
0
70
0
0
1
1
0
0
0
0
0
1
-1
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-33
54
-16
17
-39
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
-15
-71
33
-58
3
0
-9
0
23
3
17
41
-13
55
0
15
33
47
11
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
12
46
-58
-29
0
-6
0
22
0
4
-6
-8
1
0
-17
37
-60
-45
52
50
40
0
104
0
0
0
0
0
0
0
0
20
0
-3
-1
0
0
23
0
-8
0
0
0
6
0
0
138
10
-7
-25
46
-2
5
0
53
0
0
0
0
0
0
0
0
-11
0
-2
-1
0
0
-38
0
0
0
0
0
1
1
0
64
18
-7
16
-6
22
4
0
-5
0
0
0
0
0
0
0
0
-16
1
-11
-2
0
0
-8
0
0
0
0
0
-27
0
0
-20
54
-28
-14
69
-8
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
58
-58
9
39
-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
-12
0
0
0
0
0
0
0
0
7
-33
-38
-11
27
0
1
0
-76
-63
-1
-23
-41
36
0
1
22
3
-8
12
-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
3
0
0
0
0
0
0
0
0
58
0
-1
-6
0
0
-61
0
5
-2
-7
-7
12
0
0
7
50
0
-1
-11
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
65
0
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
30
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
-5
0
0
0
0
0
-47
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
40
8
-3
0
1
0
-36
0
4
0
0
0
0
0
0
-8
29
-12
20
-33
1
4
0
-57
0
0
0
0
0
0
0
0
23
0
-5
0
0
0
-23
0
1
0
0
0
0
0
0
-32
-71
-2
-23
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
-33
0
0
0
0
0
0
0
0
61
-65
-22
16
17
0
-5
0
3
0
0
2
19
-18
0
-18
74
-2
6
34
15
9
0
-24
0
0
0
0
0
0
0
0
-23
52
-40
-36
103
0
3
0
-6
0
2
0
24
-96
0
53
6
54
16
31
-37
58
0
66
0
0
0
0
0
0
0
0
-38
8
9
28
-60
0
-10
0
0
0
0
0
102
-38
0
-9
6
38
-2
81
-8
71
0
-21
0
0
0
0
0
0
0
0
-68
-12
37
-88
-18
0
-2
0
0
0
0
0
48
56
0
29
7
-27
-5
-29
3
-23
0
15
0
0
0
0
0
0
0
0
10
51
-13
54
-14
0
-2
0
-1
0
0
0
-51
16
0
25
37
20
27
15
17
40
0
26
0
0
0
0
0
0
0
0
-26
-3
8
-3
0
0
-9
0
0
0
0
0
15
0
0
32
88
105
5
51
-47
74
0
-70
0
0
0
0
0
0
0
0
5
0
0
-85
-1
0
18
0
0
0
0
0
0
0
0
16
70
-32
94
-43
-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
-41
9
0
-50
0
0
-20
0
38
-7
2
7
-4
-2
0
51
-14
2
0
57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-6
-45
22
0
-23
0
0
0
0
0
-15
-14
0
12
-1
28
17
1
-123
-23
0
0
0
0
0
0
0
0
0
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
7
0
9
-1
0
0
31
0
0
0
0
0
0
0
0
-30
39
-16
-51
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
-8
0
0
0
0
0
0
0
0
16
11
13
-20
26
0
-2
0
45
16
28
-11
-10
-24
0
-20
-11
7
-12
0
-56
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
6
0
0
0
-5
0
0
58
44
-1
40
-50
9
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
-1
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
4
0
0
37
0
-5
0
0
0
0
0
0
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-5
0
0
36
0
0
0
0
0
0
0
0
-21
21
20
0
-10
-4
0
0
21
0
0
0
0
0
0
0
0
81
0
-3
-17
0
0
-18
0
1
0
0
0
0
0
0
22
12
74
-7
-12
-11
-58
0
-37
0
0
0
0
0
0
0
0
-24
0
0
-17
0
0
-66
0
-5
0
4
0
-6
0
0
36
-26
7
43
155
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
47
0
4
-26
-19
0
7
0
0
0
0
0
-47
-1
0
16
-24
20
18
28
12
-21
0
18
0
0
0
0
0
0
0
0
-13
-1
3
-3
-98
0
0
0
0
0
0
0
102
8
0
22
0
-7
3
26
4
1
0
-5
0
0
0
0
0
0
0
0
64
0
0
10
-63
0
10
0
0
0
0
0
8
0
0
30
26
37
39
20
56
66
0
14
0
0
0
0
0
0
0
0
27
-3
0
-100
-14
0
22
0
0
0
0
0
-19
0
0
28
13
25
16
7
53
1
0
11
0
0
0
0
0
0
0
0
45
10
5
44
83
0
10
0
0
0
0
0
130
84
0
51
15
-26
10
14
60
10
0
-2
0
0
0
0
0
0
0
0
25
0
3
54
-4
0
-2
0
0
0
0
0
0
-1
0
96
6
-5
21
0
42
-32
0
5
0
0
0
0
0
0
0
0
-5
0
0
10
0
0
-35
0
-1
0
0
0
0
0
0
-2
13
-29
-48
-31
-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
-1
-65
-9
-69
4
0
0
0
-5
51
72
13
0
0
-35
2
0
14
11
-7
73
-34
-11
0
17
-5
39
11
17
-2
-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
-23
66
48
-4
22
0
0
0
5
38
4
-19
0
0
-45
-7
0
2
0
0
0
54
-11
0
-35
-22
-7
27
-46
-68
-89
0
-57
-9
0
0
0
0
0
0
8
33
-2
5
0
0
-3
-10
0
3
0
0
0
0
8
0
-71
54
-7
-100
-24
13
29
0
1
-7
-6
6
-10
0
0
0
12
93
1
-5
0
0
55
9
0
-4
0
0
0
15
1
0
-22
-30
56
3
-10
-217
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
-20
0
0
0
0
0
0
0
11
-28
0
7
0
0
0
-55
0
12
0
0
0
0
0
0
-25
29
14
29
-89
-18
6
0
-1
10
40
29
-30
0
0
0
24
34
50
39
0
0
13
0
0
7
17
37
1
5
-74
0
7
-5
-1
3
-4
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
-39
0
0
0
0
0
0
0
13
-27
1
-5
0
0
-4
6
0
2
0
2
0
3
-4
0
22
-31
-6
10
36
0
14
0
37
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
14
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
7
3
-5
-12
0
0
0
26
0
0
0
0
0
0
0
-17
-6
0
3
0
0
0
-41
0
0
0
0
0
0
0
0
-2
-23
6
0
0
3
0
0
-18
-17
1
1
0
0
0
0
-7
-11
0
21
0
0
0
4
0
-19
0
0
0
0
0
0
51
-1
-14
21
77
0
13
0
-21
4
0
0
0
0
0
0
-4
21
0
3
0
0
0
14
0
0
0
-1
0
0
0
0
-22
104
10
-79
101
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
2
-1
22
-23
-15
0
0
0
-27
28
1
13
0
0
-43
-5
0
0
0
0
0
-3
-20
0
21
16
13
-1
-4
54
33
0
19
-63
-24
-36
-42
0
0
0
-24
-29
-30
-48
0
0
-1
0
0
0
0
0
0
4
-21
0
13
11
11
15
10
-24
23
0
21
-53
-48
-20
-3
0
0
0
-158
27
-1
0
0
0
3
27
0
0
0
0
0
17
0
0
28
-3
3
14
3
54
-55
0
18
-28
-16
-84
-13
0
0
0
-37
62
4
0
0
0
-5
-1
0
0
0
0
0
16
54
0
-30
-35
6
35
-5
-50
44
0
-5
-28
-100
-7
-89
0
0
0
9
21
0
2
0
0
-34
4
0
0
0
0
0
-45
-2
0
-18
-5
14
5
13
93
7
0
-18
-46
-7
-24
1
0
0
0
-7
153
0
7
0
0
0
-5
0
0
0
0
0
0
4
0
-13
40
12
71
8
5
-42
0
-7
-1
1
4
1
0
0
0
-14
-22
0
-3
0
0
0
-31
0
0
0
0
0
0
0
0
-3
10
-65
-19
59
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
-27
-61
33
-44
3
0
-4
0
45
4
30
37
-28
51
0
12
32
30
20
30
-20
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
52
12
43
-59
-33
0
-11
0
24
0
4
-6
-13
1
0
-13
50
-54
-37
53
48
36
0
92
0
0
0
0
0
0
0
0
23
0
-3
-1
0
0
17
0
-8
0
0
0
6
0
0
145
14
-7
-23
47
-2
5
0
57
0
0
0
0
0
0
0
0
-8
0
-2
-1
0
0
-31
0
0
0
0
0
1
1
0
63
10
-7
16
-5
22
4
0
-4
0
0
0
0
0
0
0
0
-19
1
-12
-2
0
0
-26
0
0
0
0
0
-30
0
0
-10
53
-23
-15
77
-10
-8
0
-7
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
60
-54
9
35
-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
-16
0
0
0
0
0
0
0
0
7
-28
-32
-5
20
0
0
0
-72
-65
-5
-25
-32
56
0
-1
17
5
-12
8
-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
3
0
0
0
0
0
0
0
0
56
0
-1
-6
0
0
-57
0
5
-2
-7
-7
12
0
0
7
50
0
-1
-11
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
78
0
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
37
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
-5
0
0
0
0
0
-47
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
40
8
-3
0
1
0
-43
0
4
0
0
0
0
0
0
-7
34
-11
19
-35
1
4
0
-56
0
0
0
0
0
0
0
0
24
0
-5
0
0
0
-36
0
1
0
0
0
0
0
0
-34
-73
-2
-21
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
-28
0
0
0
0
0
0
0
0
61
-73
-21
3
18
0
-6
0
3
0
0
2
19
-18
0
-13
90
-18
4
27
24
13
0
-11
0
0
0
0
0
0
0
0
-9
51
-39
-17
104
0
5
0
-6
0
2
0
26
-100
0
58
12
55
26
31
-37
41
0
77
0
0
0
0
0
0
0
0
-34
8
9
27
-57
0
3
0
0
0
0
0
103
-37
0
-8
17
29
-12
78
-10
83
0
-36
0
0
0
0
0
0
0
0
-66
-12
34
-88
-16
0
-5
0
0
0
0
0
47
54
0
26
25
-25
-6
-22
1
-24
0
7
0
0
0
0
0
0
0
0
12
47
-12
66
-14
0
-12
0
-1
0
0
0
-44
18
0
32
38
36
36
47
18
26
0
26
0
0
0
0
0
0
0
0
-31
-3
7
-9
0
0
-17
0
0
0
0
0
14
0
0
54
89
99
1
79
-45
78
0
-65
0
0
0
0
0
0
0
0
5
0
0
-86
-1
0
1
0
0
0
0
0
0
0
0
8
74
-44
104
-46
-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
-43
9
0
-51
0
0
-24
0
35
-7
2
12
0
-2
0
49
-15
2
0
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-8
-44
22
0
-27
0
0
0
0
0
-15
-14
0
-1
-4
32
22
14
-123
-23
0
0
0
0
0
0
0
0
0
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
7
0
9
-1
0
0
32
0
0
0
0
0
0
0
0
-34
38
-17
-56
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
-1
0
0
0
0
0
0
0
0
29
12
13
-1
31
0
-3
0
45
15
21
-14
-16
-36
0
-24
-1
16
-20
-9
-52
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
1
0
6
0
0
0
-5
0
0
57
51
-1
37
-47
10
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
4
0
0
36
0
-5
0
0
0
0
0
0
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-5
0
0
33
0
0
0
0
0
0
0
0
-20
27
20
0
-10
-4
0
0
33
0
0
0
0
0
0
0
0
82
0
-2
-17
0
0
-25
0
1
0
0
0
0
0
0
29
10
77
-7
-5
-11
-59
0
-37
0
0
0
0
0
0
0
0
-25
0
0
-17
0
0
-72
0
-5
0
4
0
-6
0
0
43
-24
7
40
157
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
43
0
4
-27
-25
0
4
0
0
0
0
0
-47
-1
0
8
-4
29
11
6
15
-24
0
24
0
0
0
0
0
0
0
0
-2
2
3
-19
-92
0
-1
0
0
0
0
0
99
10
0
26
0
-10
1
46
-8
10
0
-7
0
0
0
0
0
0
0
0
69
0
0
8
-65
0
1
0
0
0
0
0
8
0
0
32
37
31
33
26
64
68
0
24
0
0
0
0
0
0
0
0
25
-3
0
-93
-19
0
23
0
0
0
0
0
-19
0
0
21
10
24
14
21
39
7
0
-2
0
0
0
0
0
0
0
0
50
10
4
37
91
0
6
0
0
0
0
0
130
85
0
65
17
-8
5
23
73
13
0
1
0
0
0
0
0
0
0
0
25
0
3
58
-4
0
3
0
0
0
0
0
0
-1
0
100
13
-3
26
0
42
-39
0
0
0
0
0
0
0
0
0
0
-5
0
0
10
0
0
-49
0
-1
0
0
0
0
0
0
-2
15
-31
-47
-31
-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
1
-63
-11
-70
2
0
0
0
-17
58
75
6
0
0
-27
-2
0
20
6
-11
79
-45
-4
0
6
10
66
8
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
50
-2
26
0
0
0
13
46
4
-15
0
0
-46
-8
0
2
0
0
0
55
-10
0
-21
-24
-31
15
-38
-73
-100
0
-58
-9
0
0
0
0
0
0
9
35
-2
6
0
0
-3
-15
0
3
0
0
0
0
8
0
-86
50
-5
-98
-42
13
28
0
22
-9
-6
5
-10
0
0
0
12
90
1
-6
0
0
55
-5
0
-4
0
0
0
17
1
0
-21
-24
64
-10
-17
-216
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
-19
0
0
0
0
0
0
0
11
-29
0
7
0
0
0
-57
0
12
0
0
0
0
0
0
-29
29
14
30
-94
-18
6
0
0
-2
52
39
-30
0
0
0
28
25
48
35
0
0
22
0
0
15
20
41
-5
-3
-71
0
19
0
4
8
8
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
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
13
-32
0
-5
0
0
-4
23
0
2
0
2
0
3
-4
0
23
-33
-5
10
33
0
14
0
41
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
13
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
30
0
0
0
0
0
0
0
0
1
7
3
-5
-12
0
0
0
20
0
0
0
0
0
0
0
-17
-8
0
3
0
0
0
-21
0
0
0
0
0
0
0
0
-2
-19
6
0
0
3
0
0
-29
-17
1
1
0
0
0
0
-7
-16
0
22
0
0
0
-3
0
-19
0
0
0
0
0
0
40
1
7
23
83
0
9
0
-33
4
0
0
0
0
0
0
-4
20
0
3
0
0
0
26
0
0
0
-1
0
0
0
0
-26
114
7
-89
101
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
3
-4
20
-24
-11
0
0
0
-18
28
1
13
0
0
-43
-14
0
0
0
0
0
-3
-18
0
36
15
5
3
0
49
25
0
24
-59
-28
-24
-33
0
0
0
-11
-35
-27
-47
0
0
5
-6
0
0
0
0
0
8
-23
0
17
27
-3
13
19
-36
14
0
21
-51
-48
-17
-4
0
0
0
-161
27
-1
0
0
0
3
26
0
0
0
0
0
17
0
0
25
-3
-8
22
5
61
-55
0
25
-22
-17
-84
-13
0
0
0
-38
63
4
0
0
0
-14
-12
0
0
0
0
0
15
53
0
-35
-36
7
41
-2
-53
61
0
-7
-44
-109
-15
-92
0
0
0
15
28
0
2
0
0
-34
1
0
0
0
0
0
-47
2
0
-17
4
10
-11
18
101
2
0
-11
-45
-7
-23
1
0
0
0
-7
155
0
7
0
0
0
6
0
0
0
0
0
0
4
0
-2
46
8
74
7
5
-45
0
3
2
1
4
1
0
0
0
-12
-23
0
-3
0
0
0
-40
0
0
0
0
0
0
0
0
-9
0
-54
-13
59
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
-46
36
10
6
17
0
14
0
41
5
6
7
-23
-25
0
8
-1
-96
60
-41
10
-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
-2
0
0
0
0
0
0
0
0
-60
-4
9
-24
-11
0
3
0
12
0
2
-1
-35
1
0
60
-46
23
46
6
25
4
0
-38
0
0
0
0
0
0
0
0
14
0
-1
-1
0
0
-37
0
0
0
0
0
-1
0
0
10
-23
0
-24
-11
3
0
0
21
0
0
0
0
0
0
0
0
23
0
-1
0
0
0
-13
0
0
0
0
0
0
0
0
-6
-61
-3
-4
-8
0
1
0
19
0
0
0
0
0
0
0
0
10
0
12
-1
0
0
-72
0
0
0
0
0
-4
0
0
-53
-18
16
31
-41
13
-11
0
-5
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
21
-6
-2
-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
-15
0
0
0
0
0
0
0
0
23
21
-27
-14
28
0
-3
0
-6
2
47
13
90
69
0
29
3
-41
-13
51
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
2
0
0
0
0
0
0
0
0
-5
0
-2
-3
0
0
35
0
0
0
0
-2
2
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
17
-2
1
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
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
70
0
0
0
0
0
0
0
0
81
-5
-4
-18
-18
0
10
0
0
0
0
0
3
0
0
1
-23
22
-43
-44
-46
-28
0
26
0
0
0
0
0
0
0
0
29
-23
20
10
50
0
17
0
0
0
0
0
-21
0
0
86
-43
70
41
6
11
-21
0
5
0
0
0
0
0
0
0
0
26
0
0
13
-12
0
18
0
0
0
0
0
-13
-1
0
46
11
-41
-20
30
20
-13
0
-74
0
0
0
0
0
0
0
0
16
0
1
4
-56
0
-11
0
0
0
0
0
0
-2
0
36
90
21
44
-37
-55
-9
0
-4
0
0
0
0
0
0
0
0
25
26
-5
12
8
0
-6
0
0
0
0
0
25
1
0
76
-17
-117
67
21
-33
-12
0
-2
0
0
0
0
0
0
0
0
-4
0
2
-4
0
0
-73
0
0
0
0
0
0
0
0
92
-39
-20
-10
61
0
3
0
82
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-46
0
0
0
0
0
0
0
0
-14
-21
-13
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
19
0
-2
0
2
1
-1
0
0
2
2
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
33
3
-10
8
6
0
-7
0
0
0
0
0
2
0
0
1
-27
26
15
82
-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
25
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-32
27
2
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
-5
0
0
0
0
0
0
0
0
-72
-1
-17
70
23
0
-21
0
21
10
1
5
-18
3
0
0
11
4
-17
-12
-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
-10
0
0
1
-1
0
20
0
3
0
0
0
0
0
0
18
28
0
3
-13
0
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
22
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
0
0
1
17
-1
0
-2
0
0
0
30
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
-9
0
0
0
0
0
0
0
0
62
-22
29
12
22
0
0
0
24
0
0
0
0
0
0
0
0
23
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
-1
0
-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
24
0
0
0
0
0
0
0
0
-2
0
0
-29
-16
0
28
0
0
0
0
0
2
0
0
5
41
28
-32
39
15
-2
0
-8
0
0
0
0
0
0
0
0
20
-3
-18
-66
37
0
-13
0
0
0
0
0
-7
2
0
-11
0
-14
-13
37
-13
11
0
4
0
0
0
0
0
0
0
0
5
0
0
34
3
0
-14
0
0
0
0
0
0
0
0
29
19
2
-8
-17
10
-2
0
20
0
0
0
0
0
0
0
0
18
-2
0
-16
-15
0
-1
0
0
0
0
0
2
0
0
-54
-24
-73
12
63
-35
15
0
-55
0
0
0
0
0
0
0
0
60
0
-9
-70
5
0
24
0
0
0
0
0
1
-1
0
13
-27
24
58
-72
13
-3
0
-8
0
0
0
0
0
0
0
0
0
0
2
22
0
0
-58
0
0
0
0
0
0
0
0
18
56
-1
-41
56
1
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
60
15
0
-18
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
10
-31
-18
-57
-43
0
0
0
-16
40
20
-26
0
0
40
-3
0
42
3
-6
1
25
3
0
-67
43
36
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-22
34
0
0
0
8
23
10
5
0
0
-3
-36
0
-3
0
0
0
0
0
0
-5
-2
22
-69
26
-17
34
0
-36
-5
0
1
0
0
0
0
16
12
0
1
0
0
-1
44
0
0
0
0
0
0
0
0
-21
-13
-35
88
-41
-1
-9
0
5
-12
-1
3
0
0
0
0
7
-46
0
4
0
0
1
10
0
0
0
0
0
0
0
0
-28
-11
87
-46
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
21
1
0
0
0
0
0
0
1
5
0
4
0
0
0
13
0
0
0
0
0
0
0
0
-39
-10
-8
22
-13
-3
1
0
-8
-10
-22
-65
3
0
0
0
10
-66
31
32
0
0
-23
1
0
17
0
-5
-3
-56
1
0
75
-50
-5
14
69
-3
-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
33
0
0
0
0
0
0
0
2
-8
1
-7
0
0
0
-5
0
0
0
0
0
0
0
0
-2
17
1
-3
-14
0
0
0
-13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-24
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
8
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
-20
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
-5
-2
0
1
0
0
0
77
0
0
0
0
0
0
0
0
0
-11
0
0
0
1
0
0
-29
0
0
0
0
0
0
0
-16
-3
0
2
0
0
0
60
0
0
0
0
0
0
0
0
-4
-13
20
2
-15
0
0
0
-57
0
0
0
0
0
0
0
-2
4
0
1
0
0
0
69
0
0
0
0
0
0
0
0
5
12
11
-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
12
-60
0
-6
0
0
0
0
18
26
0
-3
0
0
21
-19
0
0
0
0
0
0
0
0
52
-51
-22
-8
-8
6
21
0
23
-21
-65
132
38
0
0
0
24
6
-22
-42
0
0
-2
-21
0
0
0
0
0
33
5
0
25
12
-1
-4
-19
6
44
0
1
20
0
-1
-5
0
0
0
-22
-4
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
4
-59
28
13
40
10
-8
0
-1
50
16
-21
0
0
0
0
3
1
0
0
0
0
-44
-10
0
0
0
0
0
0
0
0
42
18
5
67
-6
5
9
0
13
23
-9
14
-9
0
0
0
3
66
0
-2
0
0
-2
19
0
0
0
0
0
0
-1
0
56
-23
13
-65
-2
12
4
0
12
-1
0
-1
0
0
0
0
-12
0
0
4
0
0
0
19
0
0
0
0
0
0
0
0
-14
11
15
1
9
1
-14
0
-34
1
1
0
0
0
0
0
-10
-1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
22
35
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
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
-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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
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
24
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
27
0
0
0
0
0
0
0
0
0
-24
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
43
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
17
4
-36
14
0
17
0
-3
-1
6
0
-2
-14
0
-112
116
3
-23
-45
-56
-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
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-93
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
0
0
0
0
0
76
0
0
0
0
0
0
0
0
-1
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-1
-58
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
49
0
0
4
-2
0
-6
0
0
0
0
0
0
0
0
69
0
24
-125
-28
-6
2
0
9
0
0
0
0
0
0
0
0
-5
0
0
-14
1
0
-37
0
0
0
0
0
0
0
0
23
-5
-27
-23
1
3
54
0
-98
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-98
0
0
0
0
0
0
0
0
0
1
-55
24
-1
-4
0
0
-76
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
-15
-3
-5
4
4
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
-3
-7
2
0
0
0
0
-14
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
6
13
70
-17
4
0
0
0
-27
73
-1
8
0
0
-14
4
0
52
-11
-2
10
1
2
0
11
-44
-84
10
7
-44
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-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
10
0
0
0
0
0
0
0
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
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
-13
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
-1
22
4
5
-10
0
-1
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
-6
1
0
1
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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-19
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
4
65
-19
0
-5
0
5
-12
0
1
-24
65
0
-52
-7
1
-44
-108
-45
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
0
0
0
0
47
0
0
0
0
0
0
0
0
0
-119
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
39
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
0
0
0
0
0
0
0
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
2
-65
63
0
1
0
0
0
0
0
-19
3
0
-58
-47
-6
105
71
-22
34
0
0
0
0
0
0
0
0
0
0
-36
-42
-19
-1
0
0
-128
0
0
0
0
0
0
0
0
10
-57
-48
-29
-21
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-63
0
0
0
0
0
0
0
0
0
-11
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
3
0
0
18
0
0
0
0
0
0
0
0
-6
6
-39
-3
-8
3
-3
0
0
0
0
0
0
0
0
0
0
-22
60
2
-53
-8
0
6
0
0
0
0
0
7
-2
0
-43
11
17
-80
-43
-72
-39
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
26
-20
17
9
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
-45
-11
-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
1
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-5
-11
0
-72
66
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
-67
2
4
4
32
0
26
0
2
0
0
2
-7
-9
0
42
-54
-67
-5
-43
-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
-1
0
0
0
0
0
10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
0
0
4
40
0
25
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
-1
0
0
0
0
0
0
5
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
-51
0
0
0
0
0
0
0
0
18
0
0
-3
0
0
20
0
0
0
0
0
0
0
0
82
-20
6
1
40
-7
28
0
-73
0
0
0
0
0
0
0
0
-85
1
0
42
-89
0
-10
0
0
0
0
0
69
-1
0
-75
0
-51
2
-35
1
-17
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
11
55
0
73
-7
1
3
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
47
0
10
-12
72
22
5
0
22
0
0
0
0
0
0
0
0
9
4
0
8
2
0
1
0
0
0
0
0
-34
-1
0
33
-38
-38
4
-102
5
-92
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-20
7
0
0
-16
0
-11
0
53
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
-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
-4
0
-2
0
0
0
0
41
0
0
-3
4
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
-101
-3
1
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-72
-58
-20
-44
-12
-92
71
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
34
18
-27
-57
-29
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
96
0
0
0
0
0
0
0
0
-37
48
212
0
-63
-82
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
-17
-31
-57
0
-28
0
0
0
-159
-18
8
6
0
0
-183
0
0
-76
1
3
0
-15
36
0
8
-54
-1
-83
-42
17
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
-17
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
-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
-28
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
128
45
-40
2
4
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
-4
0
0
0
0
0
0
-2
54
-28
-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
2
-53
51
2
0
0
0
0
0
20
0
0
0
0
3
36
0
0
0
0
0
0
5
0
-55
18
8
-69
27
-9
-98
0
19
-15
84
8
2
0
0
0
-1
-13
5
0
0
0
-18
1
0
0
0
0
0
-23
52
0
31
-99
12
-4
20
6
38
0
27
3
0
0
0
0
0
0
5
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-38
-43
35
-75
-61
-17
-17
0
13
10
-5
-22
0
0
0
0
6
0
0
0
0
0
37
-16
0
0
0
0
0
2
0
0
48
-56
0
-78
-42
-66
-44
0
-6
62
9
-4
1
0
0
0
-10
14
0
0
0
0
0
11
0
0
0
0
0
0
0
0
49
-36
3
-2
-26
-26
41
0
-8
-3
-10
-4
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-45
7
-4
4
-9
0
2
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-5
-9
-12
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
-1
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-24
-92
-1
-1
42
58
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
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
9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-19
9
0
9
11
15
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
-1
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
168
7
-49
-96
80
0
-1
0
3
0
-1
1
27
-54
0
74
-9
3
0
14
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
14
56
0
-11
-36
0
1
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
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-11
0
-41
-30
0
3
0
0
0
0
0
75
10
0
-76
-2
22
8
-4
-11
-18
0
0
0
0
0
0
0
0
0
0
14
0
-13
22
-1
0
-1
0
0
0
0
0
0
0
0
61
6
62
-103
35
-107
43
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
-14
-1
-6
9
14
-33
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
68
0
0
0
0
0
0
0
0
19
-55
-2
-46
-16
-25
21
0
0
0
0
0
0
0
0
0
0
-18
0
0
-11
17
0
29
0
0
0
0
0
-50
0
0
5
-6
51
19
17
3
68
0
0
0
0
0
0
0
0
0
0
72
0
0
-14
0
0
24
0
0
0
0
0
0
0
0
82
-50
-24
-72
3
-5
6
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
-44
131
22
-11
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-17
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
1
0
0
0
0
0
0
0
0
14
0
0
-56
-41
0
-2
0
-8
0
-1
1
41
58
0
36
-27
-71
46
1
-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
1
0
0
0
0
0
26
0
0
0
0
0
0
0
0
2
-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
-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
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-24
0
0
0
0
0
0
0
0
-72
26
-1
35
28
0
-1
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-15
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
6
0
0
-9
15
0
-26
0
0
0
0
0
0
0
0
24
-9
22
53
-7
-14
14
0
-93
0
0
0
0
0
0
0
0
-60
0
0
-23
9
0
0
0
0
0
0
0
-2
9
0
-14
0
-47
23
9
-97
66
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
49
5
0
-20
-38
0
-2
0
68
0
0
0
0
0
0
0
0
0
0
0
-43
19
0
12
0
0
0
0
0
-3
0
0
2
-12
-34
3
-6
29
-66
0
5
0
0
0
0
0
0
0
0
-2
0
0
67
10
0
1
0
0
0
0
0
1
-2
0
-63
30
-25
-4
26
-13
133
0
-56
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
-126
-9
0
39
6
-1
52
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-23
1
0
0
-23
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-3
0
0
0
0
-1
10
0
0
0
0
0
14
0
0
0
0
0
-1
0
0
22
-68
26
36
63
-22
-33
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
20
-5
0
-16
25
1
-1
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
-31
9
-1
60
2
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-14
-7
0
0
5
0
0
0
1
58
21
28
38
0
0
0
34
-22
10
0
0
0
50
6
0
50
0
1
-6
5
51
0
9
2
-25
-5
5
23
-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
-4
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
-1
0
1
-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
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-9
0
0
0
0
0
0
0
2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
47
-2
0
11
-1
0
-10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
1
-7
0
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
11
-32
17
-12
10
0
0
0
-11
-3
0
0
0
0
-8
33
0
0
0
0
0
0
-8
0
-14
-63
33
-1
62
-18
12
0
-5
-115
-58
-17
-50
0
0
0
38
54
-2
0
0
0
14
-13
0
0
0
0
0
20
-62
0
15
22
-15
4
-28
46
-41
0
103
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
67
-24
10
-17
-20
47
-26
0
3
-5
-1
0
0
0
0
0
0
7
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
28
-6
-4
83
-8
-2
-4
0
4
25
-27
10
0
0
0
0
-19
8
0
0
0
0
-9
18
0
0
0
0
0
-1
0
0
-43
-73
11
-4
24
-45
-13
0
1
1
0
0
0
0
0
0
-1
9
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-47
-18
-3
-2
-7
0
97
0
-15
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-42
15
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-46
0
9
50
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
9
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
23
0
0
0
0
0
0
0
0
83
2
0
-2
-5
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
-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
-105
-8
15
40
60
0
0
0
-1
0
0
1
-32
33
0
5
0
-44
21
0
-2
-163
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
53
-5
0
11
-7
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
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
93
0
0
40
5
0
-3
0
0
0
0
0
-18
3
0
3
-15
28
81
6
-64
-15
0
0
0
0
0
0
0
0
0
0
41
1
7
-3
0
0
9
0
0
0
0
0
3
-1
0
-34
-90
4
58
-36
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
-90
-1
0
1
42
80
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
-61
0
0
0
0
0
0
0
0
-61
17
-5
-6
-3
40
4
0
0
0
0
0
0
0
0
0
0
-65
0
-3
6
1
0
-35
0
0
0
0
0
19
-2
0
13
-24
2
9
-24
-97
-20
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
-72
17
-3
35
-55
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-52
-1
0
-38
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
37
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
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
-1
0
0
0
0
0
0
0
0
55
0
0
33
28
0
-11
0
0
0
0
0
1
29
0
-8
-95
-11
34
-22
8
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
-14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
53
2
0
0
-8
-8
-2
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
9
0
0
0
0
0
0
0
0
3
0
0
-7
-2
0
16
0
0
0
0
0
-7
0
0
19
-39
0
9
10
13
-23
0
24
0
0
0
0
0
0
0
0
3
0
0
-9
20
0
1
0
0
0
0
0
-4
0
0
-1
0
-36
-45
-52
-13
1
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
-23
6
0
0
13
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
-56
6
0
0
-4
-6
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
9
10
-3
-8
-27
-7
1
0
1
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
29
0
0
0
0
0
0
0
0
79
-5
0
-2
6
0
-20
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
78
0
0
0
0
0
0
0
0
-42
3
10
-35
-20
37
51
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
0
0
0
0
0
0
0
0
39
6
0
-1
-28
0
3
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
-4
-3
0
1
104
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
12
0
0
-9
0
0
6
0
-6
-46
-19
19
-32
0
0
0
51
98
0
-5
0
0
12
-1
0
0
0
0
0
18
-23
0
-16
-21
-31
-19
15
-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
-2
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
23
-1
-3
-2
49
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
2
-12
0
0
0
0
0
0
0
0
-19
-56
-18
-20
-30
43
71
0
3
-2
-3
-2
-22
0
0
0
-52
-70
0
0
0
0
-45
7
0
0
0
0
0
-1
-17
0
-31
-19
-155
37
-7
-70
52
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
45
29
0
-10
81
-1
0
0
-76
-14
-1
0
0
0
0
0
27
1
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-42
41
-10
-70
54
5
50
0
-46
13
0
3
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
40
109
-2
9
18
0
-36
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
58
-14
12
-26
-15
1
24
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-121
0
0
0
0
0
0
0
0
69
41
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
-14
0
0
0
0
0
0
0
0
-43
12
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-43
0
0
0
0
0
0
0
0
50
-4
0
0
2
0
3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
-5
99
0
17
0
0
0
0
0
34
-15
0
-9
3
-2
-58
-13
42
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
-51
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
-14
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
4
0
-29
0
0
0
0
0
0
0
0
-1
41
36
46
-100
-15
63
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
61
0
0
0
0
0
-1
0
0
26
-4
6
-2
12
7
-14
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
63
8
0
0
-16
-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
14
-13
0
0
-39
5
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-5
0
0
37
0
0
0
0
0
0
0
0
-16
0
-17
34
33
-8
-72
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
17
-28
1
0
20
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
12
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
-55
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
4
1
0
-1
0
0
0
0
0
-4
-3
0
-62
-51
-65
34
42
-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
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-6
-2
0
0
-4
0
0
0
21
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
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
12
0
0
0
0
0
0
0
0
72
17
2
47
-6
18
29
0
49
0
0
0
0
0
0
0
0
14
0
0
9
13
0
-1
0
0
0
0
0
-5
0
0
2
0
-43
9
-120
59
-45
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-23
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
38
-21
0
80
22
7
-10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-9
-3
0
-3
59
0
-11
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
82
48
0
17
-9
-1
3
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
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
55
0
0
0
0
0
0
0
0
25
-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
-4
0
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
0
0
0
-1
12
-4
0
17
0
0
0
25
-22
-2
0
0
0
40
7
0
0
0
0
0
0
-16
0
-77
11
-50
-1
-79
-38
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
11
-13
-43
-31
-38
20
23
0
33
53
1
-3
0
0
0
0
-11
4
0
0
0
0
-13
43
0
0
0
0
0
0
1
0
-90
17
24
14
-47
-60
-29
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-21
1
0
0
4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-14
-6
0
-2
12
1
1
0
-6
0
0
-2
0
0
0
0
4
1
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-24
7
41
-68
-6
-2
-23
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
-6
0
-1
-3
4
0
14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-17
-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
4
0
1
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
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
1
0
5
5
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-6
-3
-1
0
0
0
35
0
10
-2
4
-3
-6
2
0
12
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
1
0
0
0
0
67
0
-22
-5
0
-3
-13
2
0
2
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
7
0
-1
-1
-5
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
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
18
-3
16
22
1
-6
0
-24
6
0
-1
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
6
-5
-2
4
7
-1
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
1
0
0
0
-5
0
-12
3
8
-14
9
-3
0
16
-49
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
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
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
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
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
1
0
0
0
0
0
10
0
-5
1
-4
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
-3
2
-1
0
-6
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
21
0
0
0
0
0
0
-1
0
4
15
3
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
5
0
0
-1
19
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
4
-5
0
0
0
14
0
-7
0
0
0
1
-2
0
-24
39
7
-6
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
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-19
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
-2
1
-1
0
-6
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
2
0
0
40
0
11
0
0
1
4
0
0
9
22
-7
2
12
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
20
0
0
0
0
0
0
0
0
21
57
-11
7
8
-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
14
0
0
0
0
0
0
0
0
-1
-3
-2
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
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
1
0
0
0
0
0
0
0
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
34
-6
2
0
0
0
-25
0
0
0
0
0
5
2
0
1
-14
9
2
-33
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
-1
0
-7
5
-1
22
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
-29
0
0
0
0
0
0
0
0
0
29
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
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-12
0
-2
-1
0
0
-31
0
0
0
0
0
11
3
0
-3
-32
-3
-13
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-2
0
0
0
0
0
0
0
0
-9
0
-2
-1
0
0
81
0
0
0
0
0
0
0
0
-9
60
0
-4
-25
-1
0
0
0
0
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
1
0
0
0
0
0
19
0
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
11
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
3
3
0
6
-15
0
2
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
0
0
0
0
0
0
0
0
0
-27
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
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
-3
0
0
0
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
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
0
1
4
-10
-1
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
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
4
15
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
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
-39
0
0
0
0
0
0
0
0
16
29
-1
6
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
58
0
0
0
0
0
0
0
0
3
0
0
0
0
0
49
0
0
0
0
0
0
0
0
4
11
0
-7
10
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
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
5
-18
-12
-6
0
0
0
-12
0
0
0
0
0
-1
-2
0
-1
43
20
-12
44
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-30
0
0
0
0
0
0
0
0
0
-10
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
0
0
0
0
0
0
0
0
0
-38
0
0
13
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-1
11
-1
1
-5
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
1
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
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
7
0
-1
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-21
0
0
0
0
0
0
1
0
25
-17
50
-12
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
7
23
0
-3
61
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-21
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
-3
0
0
-4
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-9
25
-27
12
-1
0
21
0
0
0
0
0
27
20
0
-10
21
-26
15
29
-114
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
1
0
0
-74
0
0
0
0
0
0
0
0
-6
-46
0
0
-50
-5
0
0
-51
0
0
0
0
0
0
0
0
12
0
5
-13
-1
0
-20
0
0
0
0
0
2
-1
0
23
2
35
34
12
-9
39
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
3
-30
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
29
0
0
-2
6
0
0
50
0
0
0
0
0
0
0
0
-40
1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
-28
-11
3
7
-9
-4
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
3
-27
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-46
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
-21
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
3
-3
2
0
-4
0
0
0
0
0
-1
2
0
-11
-22
7
58
41
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
-11
0
0
0
0
0
0
0
0
4
34
0
0
1
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
6
0
6
-13
-3
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
2
0
0
11
0
0
0
0
0
-1
1
0
18
0
14
-38
-72
18
-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
-1
51
0
-2
0
2
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
17
-17
0
-50
-12
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
11
17
0
8
25
-49
-2
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
23
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-47
-47
3
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
19
0
0
0
0
0
0
0
0
38
1
8
-25
15
19
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
0
-6
0
-33
-7
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
2
17
-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
14
0
0
0
0
0
0
0
0
0
3
0
-9
2
0
0
0
-25
-9
-34
-2
13
0
0
0
19
11
2
2
0
0
-1
7
0
0
0
0
0
-17
-3
0
-3
-7
-56
25
56
-36
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-4
-4
0
3
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
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
0
0
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-39
-6
9
60
-6
0
-7
0
54
-8
-4
-7
0
0
0
0
-4
-28
0
1
0
0
0
-1
0
0
0
0
0
-1
-1
0
59
-9
-48
-45
-16
-5
17
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
0
0
4
20
0
-17
-23
0
0
0
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
44
20
12
0
11
-1
0
0
-29
-3
0
0
0
0
0
0
-2
3
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-36
27
-7
33
19
-4
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
19
1
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-1
12
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
-3
-1
0
-2
0
0
-14
0
0
0
0
0
0
0
0
64
-10
-34
87
-26
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
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
22
18
-1
3
-2
22
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
-1
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
8
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-44
1
0
2
-12
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
-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
9
0
0
0
0
0
0
0
0
61
6
-40
10
-7
0
-9
0
0
0
0
0
-64
-1
0
-26
27
7
19
2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
10
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
15
0
0
0
0
0
2
0
0
-27
39
9
48
-26
-11
7
0
-2
0
0
0
0
0
0
0
0
-74
0
20
0
0
0
-13
0
0
0
0
0
-40
1
0
11
-8
-10
27
2
62
-1
0
50
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-53
0
0
0
0
0
1
0
0
-34
-7
0
-36
-48
28
0
0
16
0
0
0
0
0
0
0
0
13
-4
1
-4
0
0
19
0
0
0
0
0
6
0
0
41
10
10
-39
43
55
-18
0
-20
0
0
0
0
0
0
0
0
34
0
0
-1
0
0
-6
0
0
0
0
0
-7
0
0
27
-9
-21
-38
3
-72
-2
0
-4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
57
-10
1
36
47
0
2
0
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
1
-22
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
13
0
0
0
0
0
-12
0
0
-46
-11
4
-1
-2
-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
-23
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
0
0
0
0
0
0
0
0
0
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
-47
2
0
-1
0
0
0
0
0
4
3
0
-10
-33
-41
47
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-3
1
0
48
-6
-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
6
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
34
0
0
-1
0
0
25
0
0
0
0
0
-6
0
0
81
-10
25
-54
22
38
34
0
0
0
0
0
0
0
0
0
0
1
-3
0
32
-12
0
-10
0
0
0
0
0
110
1
0
20
0
-23
66
6
-12
-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
85
-7
-3
8
16
19
-2
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
-55
15
3
8
42
73
-5
0
0
0
0
0
0
0
0
0
0
-15
4
0
5
0
0
22
0
0
0
0
0
6
-2
0
70
1
-6
2
1
46
15
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
-31
0
0
0
0
0
0
0
0
12
-6
0
1
-22
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
17
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
12
-2
0
0
0
0
24
-2
0
0
0
5
3
0
0
0
0
0
-7
0
0
12
-15
-55
-33
18
-22
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
5
-1
1
0
0
0
0
0
3
-4
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-25
-71
-8
54
-10
-65
13
0
71
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-110
0
0
0
0
0
0
0
0
21
6
4
-1
-8
1
-3
0
-37
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-47
20
-36
-1
11
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
34
0
0
0
3
0
5
0
9
45
-4
39
-19
0
0
0
-36
-30
16
0
0
0
6
-1
0
0
0
0
0
26
7
0
-1
-13
47
-38
-5
41
-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
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
103
1
-13
0
-16
0
-1
0
31
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
-1
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
-39
-4
0
2
0
0
0
0
0
11
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
73
-55
-73
-40
-3
46
0
6
-94
17
-61
-5
0
0
0
40
9
-5
0
0
0
-11
-3
0
0
0
0
0
-12
34
0
18
3
-31
-7
3
-29
32
0
53
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
66
4
6
-14
-15
-10
-4
0
-54
-4
0
0
1
0
0
0
0
11
0
0
0
0
0
85
0
0
0
0
0
0
0
0
33
-4
9
3
-16
-1
16
0
-69
27
8
16
0
0
0
0
15
-19
0
0
0
0
0
16
0
0
0
0
0
-1
0
0
36
-49
48
104
-8
-48
-57
0
-47
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
8
0
0
0
0
0
0
0
0
7
-21
2
-16
-33
2
-21
0
10
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
60
-2
-7
0
32
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
26
2
0
-8
-3
0
8
0
0
0
0
0
77
-6
0
-7
-133
-48
21
15
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
33
-104
3
7
9
49
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-33
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
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
32
4
-6
0
-50
-13
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
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
-5
0
0
0
0
0
0
0
0
-5
49
0
-52
26
0
-1
0
0
0
0
0
66
7
0
0
-57
5
-40
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
28
1
9
0
-114
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
28
-5
-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
70
0
0
0
0
0
0
0
0
24
-36
0
71
27
0
9
0
0
0
0
0
94
1
0
0
14
45
-22
32
46
17
0
43
0
0
0
0
0
0
0
0
-18
-6
0
3
0
0
-82
0
0
0
0
0
-28
-1
0
-61
-142
44
-107
-13
-39
1
0
-21
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-3
0
0
0
0
0
3
-2
0
5
44
-29
37
2
60
-31
0
29
0
0
0
0
0
0
0
0
-27
0
0
1
0
0
-42
0
0
0
0
0
0
0
0
79
-33
-8
0
-54
0
0
0
113
0
0
0
0
0
0
0
0
7
47
0
19
-6
0
1
0
0
0
0
0
-10
-4
0
-6
5
-82
27
26
20
58
0
31
0
0
0
0
0
0
0
0
56
0
0
35
0
0
0
0
0
0
0
0
0
0
0
-6
-56
-57
4
-9
-6
-12
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
18
51
10
1
3
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
134
0
0
0
0
0
0
0
0
200
-2
29
-58
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
7
0
0
0
0
0
0
0
0
0
0
-21
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
-11
27
0
-2
0
0
0
0
0
55
42
0
-2
-112
-1
-8
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
85
0
0
0
0
0
0
0
0
-50
0
46
62
-39
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
-2
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
-20
2
0
5
0
0
0
0
0
0
0
0
18
-48
-25
9
0
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-63
0
-1
0
0
0
0
0
-82
-2
0
-4
0
18
2
4
48
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
-17
0
0
0
0
0
0
0
0
-14
24
-7
56
-16
-17
94
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
24
0
11
0
0
0
0
0
-3
0
0
30
-22
-48
52
2
2
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-5
0
1
0
0
0
0
0
-30
0
0
3
-42
-85
18
-18
-11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-8
0
0
0
0
0
0
0
0
-45
-7
-50
52
8
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-36
0
0
-10
-16
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
17
71
-31
2
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
-16
-10
10
-60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-15
-63
-22
-10
-28
-40
28
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
244
0
0
0
0
0
0
0
0
51
0
-52
-39
-7
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
204
0
0
0
0
0
0
0
0
-5
-2
262
59
33
-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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
16
-54
6
7
0
0
0
-41
0
0
0
0
0
-68
1
0
0
0
0
0
-104
62
0
-39
-30
0
-9
3
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
70
-2
-30
13
47
0
75
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-13
-1
-31
-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
9
-20
56
-30
11
0
0
0
-8
0
0
0
0
0
-12
20
0
0
0
0
0
0
9
0
-36
-111
2
-2
31
-20
25
0
-4
17
12
60
-75
0
0
0
-75
0
0
0
0
0
-30
1
0
0
0
0
0
38
0
0
-21
-48
13
5
0
25
5
0
19
2
0
0
0
0
0
0
2
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-46
-59
12
12
56
30
-73
0
-6
-1
-19
-25
0
0
0
0
49
0
0
0
0
0
43
-4
0
0
0
0
0
3
-2
0
-12
-21
-2
-36
-9
-41
-16
0
8
68
-45
6
3
0
0
0
-31
0
0
0
0
0
-24
-3
0
0
0
0
0
-4
-15
0
15
-87
3
-5
5
-3
-1
0
49
-8
-11
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-39
10
-4
-25
2
-1
119
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-84
17
-7
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
-9
0
0
0
0
0
0
0
0
48
24
-10
0
-37
-93
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
11
0
-19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
63
76
0
-1
0
0
0
0
0
14
12
0
-2
-148
4
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
-12
4
0
-2
0
0
0
0
0
0
0
0
-2
-30
23
9
-86
-83
-89
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
-11
23
40
-71
-75
6
3
0
11
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
7
0
0
0
0
0
0
0
0
5
-74
-3
-13
46
-25
-12
0
25
0
0
0
0
0
0
0
0
0
0
0
24
-97
0
1
0
0
0
0
0
6
29
0
-12
-54
-11
-45
-49
-2
17
0
9
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-4
0
0
0
0
0
0
0
0
59
-71
137
19
-68
-4
19
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
-31
-7
23
-10
-25
-1
-29
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-59
0
36
-76
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
18
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
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
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
7
5
0
0
-1
0
0
18
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-3
0
0
0
0
0
0
0
0
-1
96
20
6
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
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
50
104
-14
-45
-96
0
-6
0
-1
-3
-1
3
39
33
0
-102
-43
1
18
-5
34
-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
6
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
-1
-3
12
-1
2
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
9
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
11
39
90
-15
0
0
0
0
20
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
2
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-37
0
0
0
0
0
0
0
0
0
-160
29
-4
5
6
0
0
82
0
0
0
0
0
0
0
0
40
0
-16
23
-33
0
22
0
0
0
0
0
-2
3
0
48
0
-22
-30
53
18
58
0
-3
0
0
0
0
0
0
0
0
31
0
0
28
-25
0
-9
0
0
0
0
0
1
0
0
32
-45
-60
3
-23
28
41
0
60
0
0
0
0
0
0
0
0
-1
-2
0
15
0
0
51
0
0
0
0
0
0
0
0
6
-23
10
7
-1
-8
0
0
-10
0
0
0
0
0
0
0
0
11
0
0
-7
-2
0
16
0
0
0
0
0
0
0
0
-46
-18
12
-6
-12
-13
39
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
-5
-13
20
3
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-32
-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
-1
-65
-9
-69
4
0
0
0
35
18
52
2
0
0
-51
1
0
86
-12
-1
-9
-91
-18
0
62
-3
18
11
27
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
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
0
2
0
0
0
0
0
0
0
-73
-103
-18
-14
3
-1
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
-5
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
95
14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
22
0
0
0
0
0
-1
0
0
0
-54
39
0
38
7
-19
0
0
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
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
-12
44
-37
84
-7
0
-4
0
-32
-24
-2
-7
-17
76
0
-95
14
-29
11
-39
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
-3
-6
0
0
0
0
-16
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
5
0
0
0
0
0
0
0
0
0
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
-2
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
14
9
0
0
0
0
76
0
0
0
0
0
0
0
0
0
4
14
1
19
7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
7
0
0
0
0
0
0
0
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
-52
77
20
-90
14
0
4
0
0
0
0
0
6
15
0
-66
4
-19
-83
-4
38
-18
0
0
0
0
0
0
0
0
0
0
9
0
-94
16
4
0
1
0
0
0
0
0
-25
-6
0
87
34
-23
84
46
8
9
0
0
0
0
0
0
0
0
0
0
81
0
0
18
0
0
83
0
0
0
0
0
0
0
0
4
-123
57
11
-5
-2
0
0
0
0
0
0
0
0
0
0
0
28
11
7
33
15
0
6
0
0
0
0
0
-1
0
0
20
2
-1
4
-5
-38
-15
0
0
0
0
0
0
0
0
0
0
-100
-61
-63
-7
-19
0
6
0
0
0
0
0
26
0
0
23
37
-18
2
-67
-45
-72
0
0
0
0
0
0
0
0
0
0
73
-1
0
4
0
0
10
0
0
0
0
0
0
0
0
-5
16
10
22
6
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
-1
47
-17
-9
-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
-1
0
0
2
0
0
-10
0
-5
-8
0
13
-4
-2
0
-15
-1
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
35
0
0
2
3
0
37
0
0
0
0
0
-8
0
0
-43
-49
-5
75
59
-86
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
21
0
-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
-21
0
0
0
0
0
0
0
0
-29
-19
-46
41
1
0
18
0
-5
10
13
-12
48
-23
0
43
-7
11
-12
22
-7
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
3
0
0
-1
0
0
100
0
0
0
0
0
0
0
0
-2
-8
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
1
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
21
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
-9
0
0
-1
0
0
28
0
0
0
0
0
0
0
0
-20
-15
2
62
-110
0
-5
0
84
0
0
0
0
0
0
0
0
-16
0
0
-1
0
0
-45
0
-7
0
0
0
0
0
0
0
2
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
42
0
0
0
0
0
0
0
0
-20
0
0
-12
0
0
11
0
0
0
0
0
0
0
0
37
35
-5
19
21
-32
-14
0
30
0
0
0
0
0
0
0
0
-112
-11
5
-17
-94
0
-28
0
0
0
0
0
4
2
0
7
0
34
3
45
48
-58
0
-19
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
-11
96
5
19
6
25
26
0
23
0
0
0
0
0
0
0
0
3
0
0
5
-14
0
-40
0
0
0
0
0
0
0
0
14
40
10
-40
48
-5
-7
0
-30
0
0
0
0
0
0
0
0
9
10
0
102
-29
0
-10
0
0
0
0
0
20
-1
0
3
29
-38
11
1
46
13
0
60
0
0
0
0
0
0
0
0
4
0
0
2
0
0
-7
0
0
0
0
0
0
0
0
55
-72
-7
55
-80
0
44
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
2
42
0
-15
-20
-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
-3
14
1
0
0
0
0
30
0
-5
-1
24
-6
-4
3
0
-5
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-61
8
0
0
0
-87
-47
7
23
0
0
-34
-43
0
0
0
0
0
7
-14
0
-62
20
-41
30
-31
-131
-116
0
-36
-7
0
0
0
0
0
0
2
7
-2
8
0
0
0
-3
0
3
0
0
0
0
0
0
-41
6
-6
-67
-48
5
-2
0
0
0
-1
1
0
0
0
0
0
25
0
0
0
0
0
59
0
0
0
0
0
0
0
0
-23
48
20
-42
-106
-177
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-27
37
18
2
2
0
0
0
-15
-20
30
74
-33
0
0
0
-58
40
-10
-2
0
0
-63
2
0
29
-11
2
6
-9
32
0
17
-17
-2
44
-6
-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
1
52
1
0
0
0
0
-17
0
1
0
0
0
0
0
0
0
-56
-4
3
31
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
9
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
-8
0
0
0
0
0
0
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
9
0
0
0
0
0
0
78
0
0
0
0
0
0
0
-17
7
0
0
0
0
0
44
0
0
0
0
0
0
0
0
100
-10
-14
21
-2
0
0
0
43
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
44
0
2
0
0
0
0
0
0
-2
105
10
-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
12
28
17
-17
0
0
0
0
5
21
0
0
0
0
13
40
0
0
0
0
0
0
4
0
9
96
17
77
-66
-17
72
0
5
-25
34
47
33
0
0
0
-24
-68
-7
-20
0
0
49
-2
0
0
0
0
0
11
11
0
18
29
8
40
8
7
30
0
-6
-23
-11
-2
-5
0
0
0
-17
-1
0
0
0
0
10
45
0
0
0
0
0
11
0
0
40
-38
28
9
45
-38
25
0
54
-80
-7
9
1
0
0
0
-159
1
0
0
0
0
95
9
0
0
0
0
0
3
0
0
-45
0
9
10
13
30
117
0
-5
24
-100
55
2
0
0
0
-46
16
0
0
0
0
-88
9
0
0
0
0
0
-9
-2
0
15
-20
12
-56
13
114
-14
0
-60
-2
10
-10
0
0
0
0
0
1
0
0
0
0
0
33
0
0
0
0
0
0
0
0
37
84
21
-6
-1
0
-33
0
31
2
1
0
0
0
0
0
-8
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
-32
-69
-51
0
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
10
0
0
-33
0
3
0
0
0
-4
-1
0
-59
-15
-10
2
152
-13
9
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
36
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
0
0
-2
0
-86
0
0
0
0
0
0
0
0
2
-41
0
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
0
0
0
-12
0
-1
0
0
0
0
0
0
64
72
1
-14
146
67
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
1
-33
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
52
-5
92
8
21
0
-3
0
14
0
10
-18
-65
-55
0
8
0
-12
-6
-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
2
0
0
0
0
0
-41
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-5
-4
0
0
-31
0
0
0
0
0
0
0
0
19
4
0
11
37
0
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
-11
0
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
29
-71
15
-43
-57
0
0
0
0
0
0
0
77
-51
0
68
16
-10
18
14
9
-9
0
0
0
0
0
0
0
0
0
0
19
10
-74
68
50
0
32
0
0
0
0
0
10
-5
0
13
-4
146
51
40
1
-3
0
0
0
0
0
0
0
0
0
0
-4
0
2
-13
-1
0
86
0
0
0
0
0
0
0
0
-24
-33
-14
-15
132
26
-17
0
0
0
0
0
0
0
0
0
0
-40
1
8
-4
0
0
-7
0
0
0
0
0
0
0
0
-64
21
-5
2
-71
71
61
0
0
0
0
0
0
0
0
0
0
37
49
-12
105
33
0
-5
0
0
0
0
0
-35
8
0
-17
38
32
47
42
-10
-62
0
0
0
0
0
0
0
0
0
0
-7
-1
1
-61
0
0
-31
0
0
0
0
0
0
0
0
-79
-55
-9
20
25
-15
-12
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
-39
0
0
0
0
0
0
0
0
-57
39
20
48
47
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
0
0
0
0
0
0
0
-1
-77
-2
-62
-53
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
13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
48
26
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
-18
0
0
0
0
0
0
0
0
-45
-21
5
-14
57
0
-3
0
41
0
3
-3
-57
-81
0
2
42
48
6
-1
22
-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
2
0
0
9
0
0
44
0
0
0
0
0
0
0
0
-5
40
0
-1
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
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
-9
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
12
0
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
-6
0
0
-34
0
0
17
0
0
0
0
0
0
0
0
-46
0
-5
4
60
0
-10
0
-22
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
147
0
0
0
0
0
0
0
0
-52
-22
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
3
0
0
0
0
0
0
0
0
20
0
0
0
3
0
13
0
0
0
0
0
0
0
0
12
28
-9
-44
41
-5
-26
0
52
0
0
0
0
0
0
0
0
-13
-1
-6
-10
-64
0
-1
0
0
0
0
0
16
-5
0
24
0
87
31
-16
16
22
0
13
0
0
0
0
0
0
0
0
0
0
0
5
0
0
28
0
0
0
0
0
0
0
0
-15
-37
-4
23
-4
2
-3
0
-43
0
0
0
0
0
0
0
0
4
0
0
-111
-31
0
15
0
0
0
0
0
-10
0
0
-44
-27
-15
15
-5
19
18
0
-4
0
0
0
0
0
0
0
0
11
0
-1
26
102
0
3
0
0
0
0
0
12
-1
0
65
-56
16
61
-34
35
-31
0
7
0
0
0
0
0
0
0
0
0
0
0
-23
-1
0
-7
0
0
0
0
0
0
0
0
43
17
-3
-87
-9
-5
-55
0
17
0
0
0
0
0
0
0
0
0
0
0
9
0
0
22
0
0
0
0
0
0
0
0
-19
3
0
-1
44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
13
0
-1
2
0
0
-1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
1
-14
0
0
0
46
25
-15
-12
0
0
54
11
0
-2
0
0
0
-1
-4
0
4
-22
19
-39
-25
-38
53
0
37
0
0
0
0
0
0
0
0
7
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-38
-8
-3
-53
29
4
18
0
0
-1
-5
1
-8
0
0
0
0
-5
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
47
-43
16
46
102
-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
21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
-17
44
-2
41
-65
-15
1
0
-4
14
64
-3
-63
0
0
0
10
34
-20
-26
0
0
32
4
0
16
16
-2
1
-41
13
0
-22
2
-14
1
11
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
3
-45
0
7
0
0
0
-41
0
0
0
0
0
0
0
0
-1
2
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
-7
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-81
-15
0
0
0
0
0
0
7
5
0
9
0
0
0
64
0
0
0
0
0
0
0
0
54
-12
0
14
14
0
-19
0
29
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
52
-17
0
-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
37
-89
-21
-70
7
0
0
0
-120
-11
0
2
0
0
-102
-6
0
0
0
0
0
-1
-20
0
-68
0
-43
1
-12
7
4
0
9
-57
95
-20
-8
0
0
0
-83
18
-2
-20
0
0
59
6
0
0
0
0
0
16
-47
0
-4
14
50
5
14
-36
39
0
16
7
0
0
2
0
0
0
-38
7
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-49
-96
-1
19
-44
48
27
0
-38
-3
9
0
2
0
0
0
18
39
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
-44
-80
20
-38
-21
-20
-22
0
-9
-138
-13
-1
-36
0
0
0
-55
53
-1
0
0
0
5
4
0
0
0
0
0
-1
2
0
-44
-33
12
15
-3
79
28
0
-21
-14
0
1
0
0
0
0
-6
74
0
4
0
0
0
41
0
0
0
0
0
0
0
0
76
13
-3
53
65
1
-4
0
-4
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-15
-29
-1
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
53
0
-4
0
0
0
-3
0
0
29
-33
0
18
-36
-8
0
0
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
-18
0
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
131
0
0
0
0
0
0
0
0
2
-46
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
24
0
1
0
0
0
-54
0
-3
0
0
0
0
0
0
-3
-3
0
-32
-33
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
0
0
0
0
0
0
0
0
-44
-16
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-25
99
0
-2
0
-49
0
1
25
-16
27
0
6
24
-43
13
-17
14
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
-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
-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
-5
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
-16
-2
0
14
-23
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
-1
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
29
-7
1
73
35
0
2
0
0
0
0
0
-5
9
0
2
-44
31
64
8
70
154
0
0
0
0
0
0
0
0
0
0
22
-2
19
-12
16
0
17
0
0
0
0
0
17
-9
0
-2
41
136
-17
-18
8
35
0
0
0
0
0
0
0
0
0
0
-10
0
-8
-15
0
0
116
0
0
0
0
0
0
0
0
82
27
0
51
-74
-32
3
0
0
0
0
0
0
0
0
0
0
-72
-2
0
-7
0
0
27
0
0
0
0
0
0
-1
0
7
-3
-11
46
24
30
50
0
0
0
0
0
0
0
0
0
0
-43
6
34
-95
35
0
37
0
0
0
0
0
-14
-1
0
44
-19
56
20
21
39
-39
0
0
0
0
0
0
0
0
0
0
26
0
0
12
0
0
-98
0
0
0
0
0
0
0
0
32
39
50
-82
103
-2
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
-7
-1
0
-11
0
0
0
0
0
0
0
0
42
22
2
-82
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
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
9
0
0
-34
0
0
0
0
0
2
0
0
-3
-37
5
-33
33
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
10
-11
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-13
-38
63
92
35
0
-6
0
-2
0
0
0
-45
30
0
-13
-13
32
-8
20
22
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
-30
0
0
0
0
0
0
0
0
7
-8
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
14
66
0
0
54
3
-2
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
55
-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
43
0
0
0
0
0
0
0
0
8
0
-2
-18
-36
0
-25
0
0
0
0
0
-3
0
0
-31
-42
-32
17
-4
-65
-30
0
-6
0
0
0
0
0
0
0
0
38
1
0
-22
18
0
8
0
0
0
0
0
21
-1
0
-4
0
2
65
18
-26
-19
0
7
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-104
0
0
0
0
0
0
0
0
38
60
0
0
33
0
1
0
29
0
0
0
0
0
0
0
0
2
0
0
-4
1
0
-17
0
0
0
0
0
0
0
0
102
-61
0
6
-11
72
9
0
5
0
0
0
0
0
0
0
0
48
0
0
-10
-2
0
20
0
0
0
0
0
14
0
0
-52
-1
-29
91
54
1
36
0
-50
0
0
0
0
0
0
0
0
-8
0
0
-12
0
0
8
0
0
0
0
0
0
0
0
-66
46
0
-21
37
11
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
49
-8
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
1
0
0
0
0
0
-1
-17
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
1
3
20
0
0
0
8
3
-1
-21
0
0
-2
-1
0
0
0
0
0
2
0
0
8
16
89
-38
13
84
1
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
25
3
0
-8
-7
0
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
-1
0
-22
61
-2
-26
12
16
-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
135
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
-12
0
-8
2
-1
7
0
0
-13
-5
-37
89
0
0
0
37
-22
56
46
0
0
-10
3
0
-17
0
2
1
24
-52
0
11
-11
-6
53
17
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
3
-13
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-1
28
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
0
0
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
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
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-3
-14
2
-21
102
0
0
0
35
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-8
-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
-4
-24
5
33
-12
0
0
0
6
14
0
0
0
0
-28
50
0
0
0
0
0
0
21
0
52
-34
86
46
49
80
-68
0
8
35
-35
7
-85
0
0
0
-39
-6
14
6
0
0
-33
5
0
0
0
0
0
-45
-41
0
41
-14
10
16
-10
54
-53
0
122
5
0
1
0
0
0
0
4
-5
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-10
87
-6
-27
20
-5
-9
0
12
-4
-1
-34
0
0
0
0
33
-13
1
0
0
0
-94
0
0
0
0
0
0
0
-7
0
-4
-6
58
34
-12
-28
-16
0
35
105
11
-32
-8
0
0
0
-73
-82
0
-2
0
0
23
5
0
0
0
0
0
0
0
0
71
28
113
38
-30
-53
32
0
-5
0
0
0
0
0
0
0
10
18
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-65
-28
15
9
-35
3
-37
0
10
-11
0
0
1
0
0
0
13
1
0
0
0
0
0
107
0
0
0
0
0
0
0
0
44
62
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
-12
0
0
49
0
0
0
0
0
0
0
0
-13
-7
0
5
110
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
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-87
0
0
0
0
0
0
0
0
-2
41
0
0
3
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
35
-57
3
0
-66
0
-17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
57
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
53
-103
0
-5
0
0
0
-1
0
70
51
0
0
-17
-64
-11
19
-42
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-7
8
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
4
-20
40
0
18
0
0
0
0
0
0
0
0
1
-62
-67
68
34
43
-57
0
0
0
0
0
0
0
0
0
0
133
-1
34
-63
-32
0
15
0
0
0
0
0
28
0
0
-15
13
-3
-25
31
-38
11
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-6
57
0
-2
38
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-121
0
0
0
0
0
0
0
0
-41
-28
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
23
7
-5
-25
-1
0
16
0
0
0
0
0
0
0
0
86
-1
34
-51
18
-90
42
0
0
0
0
0
0
0
0
0
0
-32
0
0
-5
0
0
45
0
0
0
0
0
0
0
0
-3
-29
6
-6
-2
0
19
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
-45
-32
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
-53
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
0
0
33
-2
0
-9
-28
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
16
-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
-1
0
0
0
0
0
0
0
0
67
0
-5
-104
-58
0
5
0
0
0
0
0
13
-8
0
25
12
-11
-26
-13
-22
-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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-26
-71
0
0
-5
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-5
0
0
-47
0
0
7
0
0
0
0
0
0
0
0
38
69
32
-48
-18
28
62
0
-61
0
0
0
0
0
0
0
0
72
0
0
18
42
0
0
0
0
0
0
0
-9
0
0
8
0
21
-44
59
-49
6
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
12
-52
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
0
0
9
43
-1
3
21
1
-5
0
20
0
0
0
0
0
0
0
0
9
0
1
-17
0
0
4
0
0
0
0
0
0
0
0
-28
17
19
7
22
26
-20
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
67
4
0
39
23
7
10
0
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
2
3
0
0
0
0
13
55
0
-5
0
0
-3
7
0
0
0
0
0
0
-1
0
34
-59
-8
21
72
-1
-12
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-15
14
0
0
1
0
-10
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
26
-83
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
-178
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
-3
1
0
0
-6
0
0
0
-2
-14
-87
-2
-32
0
0
0
76
-41
21
29
0
0
25
-11
0
12
0
0
0
5
-65
0
-8
-21
81
42
-37
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
27
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
-48
36
0
0
3
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
19
0
-8
0
0
0
0
-2
0
0
2
0
0
12
-23
0
0
0
0
0
0
0
0
-9
1
-62
-40
28
-7
-9
0
-59
-81
-109
-50
-14
0
0
0
84
-11
-3
0
0
0
-102
23
0
0
0
0
0
0
68
0
4
-6
52
25
20
-43
-25
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
11
45
-1
0
8
6
0
0
-66
-3
0
0
0
0
0
0
3
-5
0
0
0
0
0
35
0
0
0
0
0
0
0
0
61
0
1
-1
50
2
1
0
2
-25
0
-8
0
0
0
0
81
4
0
0
0
0
24
-12
0
0
0
0
0
0
0
0
13
21
16
-79
47
-35
-34
0
-28
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-48
-38
11
9
-17
2
34
0
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
-22
20
0
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
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
6
-2
0
0
-1
0
1
0
0
2
-2
-8
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
9
0
-50
0
0
-20
0
38
-7
2
7
-4
-2
0
51
-14
2
0
57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
40
-2
-1
0
0
10
2
0
4
0
10
30
-13
-1
0
49
85
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-26
0
0
-3
-1
6
-6
8
0
-8
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
38
5
5
6
0
0
-1
0
18
0
6
-23
-27
13
0
36
20
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
-67
-95
-3
0
-9
0
43
3
36
-13
-46
11
0
31
-64
0
25
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
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-27
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
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
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
-9
67
-1
2
0
0
0
0
0
-11
-8
0
7
15
1
0
-11
-15
-3
-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
13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
111
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
1
0
1
0
0
0
50
0
3
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
4
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-7
23
11
-16
0
0
-3
-2
0
-5
22
-2
20
-55
-23
0
11
48
0
11
-58
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
69
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
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
-5
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-7
0
7
2
4
8
0
-4
0
-15
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
6
0
3
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
28
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-40
-23
2
0
1
0
-27
4
-53
46
13
0
0
-5
52
24
3
-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
0
0
0
0
-2
0
0
0
0
0
0
0
0
13
0
0
-6
0
0
-36
0
6
0
-3
-1
0
0
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
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
-2
0
0
0
0
0
-12
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
46
-17
0
-12
0
-1
0
0
-5
12
4
0
-49
-17
46
-6
-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
3
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
4
2
0
9
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
-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
10
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
0
-1
0
0
0
-8
0
1
0
0
4
8
2
0
3
144
-24
-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
19
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
2
5
0
0
3
0
0
0
0
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
0
0
0
0
0
0
9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
8
23
48
12
0
0
-13
17
0
20
0
0
4
12
-13
0
4
-86
4
-69
36
-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
9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
18
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
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
100
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
1
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
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
3
0
0
0
0
0
9
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-92
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
1
8
-35
0
0
-25
0
-6
0
0
-1
-12
2
0
8
34
-2
-13
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
-7
0
0
0
0
0
0
0
0
7
-1
2
-1
-2
0
19
0
-1
0
0
-2
8
0
0
-40
87
0
0
15
-10
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
-3
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-61
0
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
-46
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
5
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-79
68
0
3
0
-22
0
-7
-6
-24
-6
0
21
26
25
13
25
-61
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-38
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-38
1
2
-9
0
0
39
0
0
0
0
0
0
0
0
3
-34
1
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
37
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
-53
3
0
-1
0
0
-4
0
0
0
0
0
0
0
0
6
36
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
1
0
0
0
-85
0
0
0
0
0
0
0
0
0
24
-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
0
0
0
0
0
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
-39
-20
41
14
23
0
-2
0
0
0
0
0
13
-8
0
18
-1
-56
16
-21
-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
5
0
0
8
0
0
-6
0
0
0
0
0
0
0
0
-26
28
1
4
-18
5
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
2
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
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
23
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
-56
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
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
-1
0
-5
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
20
0
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
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
-2
0
0
0
0
0
52
0
0
0
0
0
0
0
0
-4
5
0
0
-5
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-82
0
13
0
0
0
14
0
0
0
0
0
0
-2
0
40
24
8
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-10
30
3
4
0
0
-11
-4
0
0
0
0
0
4
-3
0
-6
-34
9
-18
33
6
0
0
-5
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-16
0
4
-1
0
0
0
18
0
0
0
0
0
0
0
0
-12
0
-3
0
0
0
-52
0
0
0
0
0
0
0
0
0
51
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
84
-11
-30
4
0
0
-14
4
0
0
0
0
0
-41
-50
0
2
40
-30
-13
-31
-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
10
0
0
0
0
0
0
0
8
7
0
-7
0
0
0
-3
0
0
0
0
0
3
0
0
-35
-18
-3
13
35
0
12
0
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-24
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
-3
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-17
0
-5
-1
0
0
0
-69
0
0
0
0
0
0
0
0
-7
0
4
0
0
0
47
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
5
0
0
0
7
0
0
0
0
0
0
0
0
2
22
0
12
-8
0
0
0
14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-27
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
-9
0
0
0
0
0
0
0
0
12
0
7
0
0
0
-25
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-6
3
0
-14
0
0
0
24
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
45
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
5
0
0
0
0
0
14
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
-5
0
-1
0
0
0
-8
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
-3
0
0
0
0
0
27
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
9
-17
-1
0
-24
0
0
0
0
0
-5
-11
0
-2
40
-31
-6
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
-109
0
0
0
0
0
0
0
0
-2
2
-37
-19
0
0
-57
0
0
0
0
0
1
0
0
1
-5
49
-5
27
-12
0
0
-1
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
-23
0
0
0
0
0
0
0
0
0
-66
0
0
-14
0
0
0
25
0
0
0
0
0
0
0
0
8
0
0
0
0
0
43
0
0
0
0
0
0
0
0
1
52
0
2
25
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
-1
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-13
19
-16
103
0
-23
0
0
0
0
0
31
86
0
-96
35
-41
78
-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
-12
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
0
34
0
0
0
0
0
0
0
0
-1
55
0
7
-5
-6
0
0
91
0
0
0
0
0
0
0
0
32
-2
4
-103
1
0
-4
0
0
0
0
0
-20
-1
0
34
6
55
-31
-23
-5
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
57
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
-11
0
0
-2
0
0
34
0
0
0
0
0
0
0
0
2
35
4
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-7
0
0
-5
-7
0
68
0
0
0
0
0
2
0
0
5
-7
10
9
12
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
-23
0
0
0
0
0
0
0
0
0
-30
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
2
0
0
108
6
1
-6
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
57
21
0
-11
0
0
0
0
0
28
-2
0
-13
-35
65
36
58
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
8
0
0
0
0
0
0
0
0
10
-13
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
-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
-2
0
0
0
0
0
41
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
-8
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-4
44
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-1
-6
0
25
19
0
0
0
0
0
0
0
0
0
0
0
11
0
-62
8
0
0
36
0
0
0
0
0
0
0
0
-139
0
27
59
61
-25
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-3
-20
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-2
0
0
0
29
0
0
0
0
0
0
0
0
7
16
4
-3
-89
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-56
0
0
0
0
0
0
0
0
-20
-1
0
0
4
0
0
0
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
-14
0
0
3
0
0
0
97
34
6
-12
0
0
0
-9
0
0
0
0
0
0
0
0
44
-6
16
39
14
-42
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
0
0
-6
-3
3
-6
0
0
-47
21
0
0
0
0
0
4
0
0
55
12
7
21
-1
30
-19
0
-49
0
0
0
0
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
0
0
0
-29
-2
3
6
0
0
0
-14
0
0
0
0
0
0
0
0
35
0
0
0
0
0
47
0
0
0
0
0
0
0
0
11
-82
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
5
0
5
0
0
0
15
0
0
0
0
0
0
0
0
0
-40
1
3
0
0
0
0
-30
-58
7
18
8
0
0
0
10
-16
-46
1
0
0
-16
7
0
0
0
0
0
1
4
0
29
-21
-25
-1
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
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-1
56
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-3
-54
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
-29
0
0
7
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
66
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-77
0
0
0
0
0
0
0
0
0
33
0
2
4
0
0
0
7
0
0
0
-1
0
0
0
34
39
1
-10
0
0
1
24
0
0
0
0
0
0
0
0
-1
18
-28
-50
61
0
9
0
50
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
4
-10
0
1
-3
0
0
0
-11
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
-55
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
20
-32
0
-4
23
0
0
0
24
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-59
0
0
0
0
0
0
0
0
-6
-31
0
0
-7
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
-55
-12
-38
-37
1
0
12
0
0
0
0
0
-3
21
0
14
-22
-47
-144
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
25
0
47
-13
0
0
-10
0
0
0
0
0
-1
0
0
49
29
10
-42
37
3
6
0
38
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
23
0
0
0
0
0
0
0
0
5
27
0
2
-26
0
0
0
7
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
-49
0
0
0
0
0
0
0
0
15
89
-11
4
19
10
0
0
-4
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
19
0
0
0
0
0
0
0
0
-26
-52
-5
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-10
-3
36
0
-5
0
0
0
0
0
34
-91
0
40
4
-75
-26
9
-98
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-92
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
22
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-30
4
-3
3
0
0
18
0
0
0
0
0
0
0
0
-68
-4
-6
-3
25
-39
0
0
-56
0
0
0
0
0
0
0
0
1
34
-67
-4
-24
0
2
0
0
0
0
0
-15
-15
0
19
14
-44
-35
20
-20
-80
0
-56
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
-21
0
0
0
0
0
0
0
0
30
37
0
0
38
4
0
0
-3
0
0
0
0
0
0
0
0
29
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-1
-81
0
0
-2
7
0
0
56
0
0
0
0
0
0
0
0
15
31
-19
-9
0
0
5
0
0
0
0
0
20
-1
0
-111
-56
-38
-32
-10
-15
0
0
-17
0
0
0
0
0
0
0
0
-12
0
0
8
0
0
-8
0
0
0
0
0
0
0
0
13
24
0
-1
34
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
-1
0
0
-1
-16
10
-12
-58
-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
3
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-6
-37
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-66
14
-56
-1
0
7
0
0
0
0
0
-1
-35
0
-17
-5
-110
19
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
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-66
0
0
0
0
0
0
0
0
-11
-10
0
2
-33
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
-5
-31
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-104
0
0
0
0
0
0
0
0
5
-26
0
47
12
48
5
0
0
0
0
0
0
0
0
0
0
-26
-2
-1
26
5
0
1
0
0
0
0
0
5
3
0
-11
0
72
54
24
14
-34
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
12
0
0
0
0
0
0
0
0
-10
-50
-1
-23
-3
3
3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
-18
0
0
0
0
0
0
0
0
6
8
10
8
-71
-1
3
0
0
0
0
0
0
0
0
0
0
56
0
4
-5
0
0
-13
0
0
0
0
0
0
0
0
-59
5
-14
55
-1
38
19
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
66
-19
-3
-56
12
-1
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
-2
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
-54
4
-50
0
0
0
0
45
38
4
8
0
0
4
-14
0
0
0
0
0
0
-6
0
8
-33
72
109
-45
-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
55
17
8
43
4
0
0
0
-26
-14
0
-10
0
0
1
34
0
0
0
0
0
-4
-2
0
57
8
63
24
38
-76
11
0
45
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
19
31
0
-29
5
-3
0
0
-27
0
-5
3
-7
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-63
-61
-14
-42
-115
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-11
19
0
-13
-9
0
0
0
3
-7
-2
-61
-50
0
0
0
-12
32
40
47
0
0
-139
-2
0
0
0
0
0
-7
16
0
-4
-4
-41
7
12
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
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
61
-11
0
-24
-11
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-1
-23
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
35
7
0
-3
0
0
0
0
11
5
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-49
-71
-9
-8
-19
0
-18
0
25
18
-68
68
-3
0
0
0
22
-102
-6
5
0
0
-23
24
0
0
0
0
0
-2
0
0
44
-71
0
12
-38
-25
31
0
-52
2
0
0
-4
0
0
0
-1
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
-57
-17
0
-15
52
-4
0
0
-16
35
9
-10
0
0
0
0
24
-39
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-72
17
30
8
25
-14
-1
0
-16
5
7
-18
0
0
0
0
32
42
0
-1
0
0
-14
-17
0
0
0
0
0
0
0
0
-46
-92
22
102
-44
-15
2
0
-41
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-40
-4
3
40
15
-1
-7
0
19
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-1
-11
-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
-31
46
3
-62
-4
0
-2
0
0
0
0
0
29
35
0
10
-7
-76
11
45
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
2
0
0
0
-24
0
0
0
0
0
0
0
0
-78
70
5
20
-50
41
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
1
15
0
4
19
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
50
0
0
0
0
0
0
0
0
6
-79
0
3
-43
0
0
0
67
0
0
0
0
0
0
0
0
0
0
1
0
0
0
92
0
0
0
0
0
0
0
0
-108
18
2
18
89
9
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
3
-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
-7
0
0
0
0
0
0
0
0
24
-5
-30
56
-71
0
-4
0
0
0
0
0
33
8
0
31
-17
25
7
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-4
55
0
0
-7
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
70
-33
0
49
0
0
0
0
0
-1
0
0
65
24
-67
88
25
35
35
0
-14
0
0
0
0
0
0
0
0
23
-6
116
-54
45
0
2
0
0
0
0
0
58
-53
0
7
-18
-1
12
23
-39
-1
0
70
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
-12
0
0
0
0
0
13
0
0
72
-41
2
45
43
-26
-1
0
-64
0
0
0
0
0
0
0
0
5
-10
8
-42
-2
0
-23
0
0
0
0
0
-4
0
0
6
-2
5
60
-19
-49
18
0
12
0
0
0
0
0
0
0
0
-5
1
1
-16
-4
0
33
0
0
0
0
0
-1
0
0
24
-13
78
50
-1
72
48
0
113
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
10
0
0
0
0
0
0
0
0
1
-31
-1
-45
30
0
5
0
-28
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-18
66
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
-11
-5
0
-38
22
-33
-93
-2
-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
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-8
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
68
23
0
22
-6
0
-2
0
0
0
0
0
-57
4
0
-4
26
-20
16
-9
-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
-2
0
0
0
0
0
41
0
0
0
0
0
0
0
0
10
-36
13
0
-61
6
-2
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
11
-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
41
0
0
25
-1
0
-3
0
0
0
0
0
-3
0
0
13
26
-4
0
58
-45
29
0
0
0
0
0
0
0
0
0
0
-26
-16
0
57
-42
0
5
0
0
0
0
0
3
-8
0
14
0
48
24
11
-9
32
0
0
0
0
0
0
0
0
0
0
-30
0
0
6
0
0
-2
0
0
0
0
0
0
0
0
24
12
-1
53
-2
-1
2
0
0
0
0
0
0
0
0
0
0
3
0
0
-8
0
0
-18
0
0
0
0
0
0
0
0
57
23
7
19
65
25
-17
0
0
0
0
0
0
0
0
0
0
-9
8
0
57
-2
0
-10
0
0
0
0
0
9
10
0
11
-2
20
90
70
56
-12
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
-21
0
0
0
0
0
0
0
0
-15
48
-17
-29
40
27
22
0
0
0
0
0
0
0
0
0
0
2
0
0
13
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
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
49
29
-26
-102
0
0
0
80
-49
-26
0
0
0
-64
3
0
0
0
0
0
-27
-3
0
-18
55
-6
-15
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-15
13
0
0
0
30
-9
0
0
0
0
6
-28
0
0
0
0
0
0
-1
0
-30
-7
-50
-2
-84
-101
-17
0
113
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-46
45
-1
-18
-63
2
11
0
9
-3
-1
0
-1
0
0
0
1
4
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
-33
19
-36
14
45
-87
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
5
2
-6
0
-75
-15
7
0
-3
-15
13
21
42
0
0
0
-8
-11
61
0
0
0
68
-2
0
0
0
0
0
27
19
0
-8
8
29
48
16
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
-28
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
1
-4
-14
0
31
0
1
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-38
1
2
16
35
0
7
0
0
0
0
0
0
0
0
0
0
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
5
69
-12
0
0
0
0
-18
0
0
0
0
5
2
0
0
0
0
0
0
0
0
9
43
36
37
-18
49
76
0
-15
-45
74
-88
27
0
0
0
-26
-1
-10
0
0
0
83
5
0
0
0
0
0
-68
-2
0
-4
0
13
23
2
42
-70
0
-16
0
0
3
-1
0
0
0
0
17
0
0
0
0
-3
-3
0
0
0
0
0
11
0
0
-21
50
-13
-27
17
24
-36
0
-13
1
0
0
3
0
0
0
-1
8
1
0
0
0
0
-38
0
0
0
0
0
0
0
0
22
19
19
1
57
-4
14
0
40
49
10
57
5
0
0
0
-27
-6
0
0
0
0
20
7
0
0
0
0
0
-1
2
0
-30
24
-15
-52
23
23
-6
0
15
1
0
-6
1
0
0
0
4
86
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
38
54
27
61
0
2
27
0
-13
-3
1
0
0
0
0
0
-5
1
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
22
8
0
3
86
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
-86
-148
0
78
-45
0
-4
0
0
0
0
0
30
-39
0
30
133
86
18
-25
-46
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
29
0
0
0
0
0
0
0
0
37
-11
-124
-42
15
30
10
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
38
2
-3
4
16
0
6
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
-4
0
0
86
68
29
-7
-73
-33
7
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
58
-14
-1
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
-7
0
0
0
0
0
0
0
0
-25
21
0
83
30
0
-3
0
0
0
0
0
-18
34
0
3
26
17
11
17
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
30
4
-4
0
-21
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
50
22
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
3
0
0
0
0
0
0
0
0
-16
-61
0
-44
94
0
0
0
0
0
0
0
14
12
0
4
60
3
49
18
4
-9
0
85
0
0
0
0
0
0
0
0
-20
-11
0
171
0
0
13
0
0
0
0
0
-31
-1
0
58
90
37
18
99
17
27
0
72
0
0
0
0
0
0
0
0
-13
0
0
108
0
0
-8
0
0
0
0
0
7
-3
0
-13
113
99
-11
-10
-75
2
0
-16
0
0
0
0
0
0
0
0
-28
0
0
6
0
0
-21
0
0
0
0
0
0
0
0
-83
61
4
-18
-3
-20
-1
0
-39
0
0
0
0
0
0
0
0
-12
-25
0
127
-29
0
-3
0
0
0
0
0
15
2
0
-19
71
27
34
-32
13
-13
0
-69
0
0
0
0
0
0
0
0
11
0
0
22
0
0
6
0
0
0
0
0
0
0
0
7
82
-22
131
-2
-9
13
0
63
0
0
0
0
0
0
0
0
8
0
0
-19
-1
0
15
0
0
0
0
0
0
0
0
-38
61
-59
16
-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
5
0
0
6
0
0
0
0
0
0
0
0
-1
-37
58
47
122
-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
-31
0
0
0
0
0
0
0
0
8
0
-11
-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
23
-30
0
-1
0
0
0
0
0
45
-40
0
-1
-6
16
-17
7
46
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
16
0
52
4
57
0
-21
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
15
10
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
-94
18
0
10
0
0
0
0
0
0
0
0
-29
16
75
17
-46
-34
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-58
0
-3
0
0
0
0
0
107
-14
0
18
0
-10
3
-3
-55
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-42
0
-25
0
0
0
0
0
0
0
0
26
7
4
1
69
9
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-14
0
5
0
0
0
0
0
-4
0
0
-15
-21
19
-12
16
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
50
0
9
0
0
0
0
0
74
-4
0
21
-14
-22
1
77
-22
-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
60
-26
43
71
-117
-3
-40
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
-54
0
8
-20
-6
-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
59
-21
-4
99
0
0
0
-100
0
0
0
0
0
43
-7
0
0
0
0
0
-22
4
0
-11
-97
-34
9
77
39
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
6
-57
0
0
0
0
0
0
0
0
-110
-120
-14
-86
-89
56
-63
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
-35
0
-25
-77
-7
0
1
0
63
5
0
2
0
0
0
0
0
0
0
0
0
0
18
20
0
0
0
0
0
0
0
0
88
37
105
3
26
-131
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
0
0
0
0
0
0
0
13
0
6
11
0
0
0
0
-22
34
21
31
-5
0
0
0
-12
0
0
0
0
0
57
-1
0
0
0
0
0
-7
13
0
-4
-27
1
7
-29
-28
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-23
-20
17
-3
65
0
-11
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-7
-4
4
-89
9
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-57
1
0
0
0
-19
0
0
0
0
0
-30
12
0
0
0
0
0
0
2
0
54
76
13
-2
-16
-23
25
0
13
-16
-20
6
-58
0
0
0
-37
0
0
0
0
0
-79
-2
0
0
0
0
0
71
-8
0
6
18
10
12
2
-3
15
0
-49
-59
-35
0
2
0
0
0
-69
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
55
42
57
57
-28
-13
-20
0
29
-80
-21
-54
1
0
0
0
-62
0
0
0
0
0
16
8
0
0
0
0
0
10
40
0
42
3
6
8
-37
43
22
0
-3
-49
-114
-35
-64
0
0
0
-43
0
0
0
0
0
-41
-5
0
0
0
0
0
-15
3
0
-19
28
11
11
-1
57
-23
0
-145
-24
-6
-13
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
82
29
20
-24
-31
-1
-43
0
11
4
0
0
0
0
0
0
25
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-30
-1
-20
-32
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
50
-3
0
-19
0
0
0
0
0
8
0
0
7
31
36
-1
76
73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-1
-13
4
32
6
-11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
3
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
-28
0
0
0
0
0
0
0
0
0
0
0
-9
-25
0
-2
0
0
0
0
0
-73
70
0
-7
4
-24
-12
-4
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
0
0
1
0
-2
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
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
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
-48
-3
0
-47
0
0
0
0
0
0
0
0
4
-63
85
1
-43
39
-27
0
24
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-16
0
0
0
0
0
0
0
0
93
11
-10
45
8
17
74
0
-26
0
0
0
0
0
0
0
0
0
0
0
-69
-33
0
-1
0
0
0
0
0
11
0
0
15
20
-14
-39
-40
2
67
0
-15
0
0
0
0
0
0
0
0
0
0
0
-20
-13
0
0
0
0
0
0
0
6
35
0
29
18
-26
5
45
153
-15
0
-62
0
0
0
0
0
0
0
0
0
0
0
-25
-12
0
-13
0
0
0
0
0
0
0
0
-8
43
100
-41
70
-12
13
0
-14
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
42
9
101
-39
30
-1
35
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
88
-5
-2
30
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
14
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
7
5
0
0
-1
0
0
18
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-5
0
0
0
0
0
0
0
0
-3
87
29
3
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
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
42
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
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
61
103
-15
-50
-91
0
-33
0
0
-3
-1
3
39
33
0
-99
-40
7
12
-8
34
-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
-42
0
0
0
0
0
0
0
0
0
-1
-3
12
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
11
40
94
-15
0
0
0
0
20
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
2
25
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
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
-3
0
0
-28
0
0
0
0
0
0
0
0
0
-156
39
-4
5
6
0
0
89
0
0
0
0
0
0
0
0
34
0
-18
22
-31
0
23
0
0
0
0
0
-2
3
0
49
0
-27
-29
53
18
60
0
-2
0
0
0
0
0
0
0
0
35
0
0
26
-25
0
-23
0
0
0
0
0
1
0
0
28
-36
-59
6
-23
33
36
0
66
0
0
0
0
0
0
0
0
-1
-2
0
15
0
0
82
0
0
0
0
0
0
0
0
6
-26
12
6
-1
-6
0
0
-11
0
0
0
0
0
0
0
0
14
0
0
-7
-2
0
13
0
0
0
0
0
0
0
0
-44
-18
20
-6
-9
-13
38
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
-5
-13
23
3
-1
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-33
-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
1
-63
-11
-70
2
0
0
0
19
21
54
-5
0
0
-41
-4
0
89
-11
0
-9
-97
-15
0
48
13
49
8
18
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
-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
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-60
0
2
0
0
0
0
0
0
0
-71
-96
-18
-12
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-93
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
13
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
87
14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
19
0
0
0
0
0
-1
0
0
0
-43
47
0
41
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
9
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
2
43
-37
89
-8
0
-2
0
-27
-14
-2
-7
-14
73
0
-96
9
-44
-8
-32
14
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
-6
0
0
0
0
-21
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
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
13
9
0
0
0
0
68
0
0
0
0
0
0
0
0
0
4
17
1
19
7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-86
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
19
-85
16
0
-2
0
0
0
0
0
6
15
0
-61
29
-19
-101
10
48
-16
0
0
0
0
0
0
0
0
0
0
6
1
-98
13
4
0
8
0
0
0
0
0
-25
-6
0
94
60
-20
84
47
12
8
0
0
0
0
0
0
0
0
0
0
81
0
0
18
0
0
89
0
0
0
0
0
0
0
0
1
-121
50
11
-5
-2
0
0
0
0
0
0
0
0
0
0
0
29
11
7
33
15
0
0
0
0
0
0
0
-1
0
0
20
5
-5
5
-6
-42
-15
0
0
0
0
0
0
0
0
0
0
-108
-62
-63
4
-20
0
2
0
0
0
0
0
30
0
0
26
33
-18
10
-66
-41
-73
0
0
0
0
0
0
0
0
0
0
76
-1
0
4
0
0
11
0
0
0
0
0
0
0
0
-5
15
4
20
6
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
45
-18
-9
-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
-1
0
0
2
0
0
-15
0
-5
-8
0
13
-4
-2
0
-15
-1
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
34
0
0
2
3
0
33
0
0
0
0
0
-8
0
0
-39
-40
-5
83
55
-85
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-24
22
0
-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
-16
0
0
0
0
0
0
0
0
-20
-18
-50
55
4
0
10
0
-2
10
13
-12
45
-27
0
6
6
16
-16
13
-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
0
0
3
0
0
-1
0
0
99
0
0
0
0
0
0
0
0
-2
-8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
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
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
24
0
0
0
0
0
0
0
0
-17
-20
2
66
-114
0
-5
0
83
0
0
0
0
0
0
0
0
-16
0
0
-1
0
0
-43
0
-7
0
0
0
0
0
0
1
3
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
51
0
0
0
0
0
0
0
0
-21
0
0
-15
0
0
-17
0
0
0
0
0
0
0
0
43
45
-5
17
10
-34
-17
0
28
0
0
0
0
0
0
0
0
-102
-9
5
-21
-79
0
-22
0
0
0
0
0
-2
2
0
17
0
34
1
54
46
-48
0
-25
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-17
0
0
0
0
0
0
0
0
-10
92
5
7
6
26
31
0
24
0
0
0
0
0
0
0
0
3
0
0
5
-14
0
-62
0
0
0
0
0
0
0
0
12
35
10
-36
49
0
-8
0
-40
0
0
0
0
0
0
0
0
15
10
0
104
-30
0
-5
0
0
0
0
0
21
-1
0
-2
31
-35
9
11
53
27
0
71
0
0
0
0
0
0
0
0
4
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
60
-74
-7
63
-75
0
43
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
43
0
-16
-20
-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
-3
14
1
0
0
0
0
27
0
-10
-1
24
-6
-4
3
0
-5
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
47
-16
-62
8
0
0
0
-83
-40
7
26
0
0
-34
-36
0
0
0
0
0
7
-13
0
-55
11
-66
35
-22
-135
-121
0
-38
-7
0
0
0
0
0
0
2
8
-2
8
0
0
0
-13
0
3
0
0
0
0
0
0
-51
4
-4
-66
-57
5
-2
0
0
0
-1
1
0
0
0
0
0
24
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-11
56
23
-41
-105
-176
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-31
38
18
2
2
0
0
0
-3
-26
51
84
-30
0
0
0
-51
31
-11
-6
0
0
-45
3
0
36
-11
2
6
-23
33
0
7
9
1
42
5
-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
1
48
1
0
0
0
0
-13
0
1
0
0
0
0
0
0
0
-55
-4
3
31
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
76
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
38
0
0
0
0
0
0
0
0
101
-13
4
21
-3
0
0
0
43
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
54
0
2
0
0
0
0
0
0
-2
105
6
-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
8
28
13
-17
0
0
0
0
5
20
0
0
0
0
13
56
0
0
0
0
0
0
4
0
11
87
12
85
-64
-15
76
0
-16
-31
25
49
37
0
0
0
-19
-70
-7
-21
0
0
50
-5
0
0
0
0
0
14
6
0
18
36
-2
29
13
3
20
0
-15
-21
-11
0
-5
0
0
0
-19
1
0
0
0
0
10
46
0
0
0
0
0
11
0
0
50
-40
20
10
39
-32
21
0
57
-80
-9
9
1
0
0
0
-159
1
0
0
0
0
93
4
0
0
0
0
0
3
0
0
-57
15
10
29
23
32
136
0
0
17
-106
54
2
0
0
0
-49
14
0
0
0
0
-86
4
0
0
0
0
0
-9
-2
0
19
-24
8
-59
14
122
-15
0
-53
-2
10
-9
0
0
0
0
0
1
0
0
0
0
0
31
0
0
0
0
0
0
0
0
37
78
16
-6
-2
0
-32
0
32
2
1
0
0
0
0
0
-8
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
-35
-73
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
8
0
0
-47
0
3
0
0
0
-4
-1
0
-63
-4
-10
1
167
-15
9
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
36
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
0
0
-2
0
-75
0
0
0
0
0
0
0
0
2
-40
0
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
0
0
0
1
0
-1
0
0
0
0
0
0
65
78
1
-14
141
64
-3
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
1
-32
0
-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
19
-2
92
-4
17
0
2
0
15
0
10
-17
-68
-55
0
31
12
-22
-7
-32
-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
0
2
0
0
0
0
0
-37
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-5
-4
0
0
-31
0
0
0
0
0
0
0
0
18
2
0
11
37
0
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
-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
28
-70
14
-49
-55
0
-19
0
0
0
0
0
77
-53
0
102
29
-10
17
3
14
-9
0
0
0
0
0
0
0
0
0
0
24
11
-73
69
50
0
44
0
0
0
0
0
10
-5
0
6
-12
146
85
65
2
-5
0
0
0
0
0
0
0
0
0
0
-4
0
2
-13
-1
0
100
0
0
0
0
0
0
0
0
-26
-32
-14
-18
129
27
-18
0
0
0
0
0
0
0
0
0
0
-38
1
8
-4
0
0
-23
0
0
0
0
0
0
0
0
-66
28
-5
-5
-82
76
61
0
0
0
0
0
0
0
0
0
0
52
49
-12
108
33
0
-8
0
0
0
0
0
-41
8
0
-14
18
45
63
49
-12
-72
0
0
0
0
0
0
0
0
0
0
-10
-1
1
-63
0
0
-17
0
0
0
0
0
0
0
0
-85
-51
-11
20
30
-15
-13
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
-50
0
0
0
0
0
0
0
0
-64
26
22
52
47
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
69
0
0
0
0
0
0
0
0
-1
-68
-2
-63
-43
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
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
50
30
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
-8
0
0
0
0
0
0
0
0
-44
-22
2
-5
61
0
-1
0
46
0
3
-3
-60
-86
0
-6
22
56
7
3
16
-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
2
0
0
9
0
0
41
0
0
0
0
0
0
0
0
-6
44
0
-1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
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
-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
5
11
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
-6
0
0
-36
0
0
11
0
0
0
0
0
0
0
0
-45
1
-5
4
66
0
-10
0
-23
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
141
0
0
0
0
0
0
0
0
-49
-24
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
16
0
0
4
-1
0
16
0
0
0
0
0
0
0
0
3
35
-9
-51
34
5
-23
0
63
0
0
0
0
0
0
0
0
-8
-1
-6
-17
-66
0
-1
0
0
0
0
0
18
-6
0
23
0
90
21
-11
19
13
0
8
0
0
0
0
0
0
0
0
0
0
0
5
0
0
35
0
0
0
0
0
0
0
0
-11
-37
-4
26
-1
2
-3
0
-42
0
0
0
0
0
0
0
0
4
0
0
-108
-34
0
7
0
0
0
0
0
-10
0
0
-51
-22
-14
12
10
-1
24
0
-19
0
0
0
0
0
0
0
0
11
0
-1
19
108
0
-13
0
0
0
0
0
12
-1
0
91
-53
19
58
-32
41
-38
0
5
0
0
0
0
0
0
0
0
0
0
0
-23
-1
0
-3
0
0
0
0
0
0
0
0
52
20
-3
-91
-12
-5
-56
0
14
0
0
0
0
0
0
0
0
0
0
0
9
0
0
17
0
0
0
0
0
0
0
0
-15
3
0
-1
43
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
14
0
-1
2
0
0
-1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
1
-13
0
0
0
50
27
-15
-12
0
0
54
16
0
-2
0
0
0
-1
-4
0
17
-19
18
-46
-37
-40
41
0
43
0
0
0
0
0
0
0
0
7
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-44
-10
-3
-55
23
4
18
0
0
-1
-5
1
-8
0
0
0
0
-5
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
47
-41
16
38
99
-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
21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
-18
47
-2
41
-65
-15
1
0
-6
7
53
5
-63
0
0
0
17
41
-21
-25
0
0
24
8
0
18
16
-2
-1
-36
10
0
-21
-2
-7
6
6
-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
3
-43
0
7
0
0
0
-37
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
-9
0
0
0
0
0
-24
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
-16
-7
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-82
-15
0
0
0
0
0
0
7
4
0
9
0
0
0
67
0
0
0
0
0
0
0
0
47
-5
0
14
14
0
-19
0
27
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
51
-12
0
-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
37
-94
-23
-72
7
0
0
0
-115
-9
0
2
0
0
-102
-28
0
0
0
0
0
-1
-20
0
-60
-1
-40
-1
-7
6
0
0
20
-55
92
-18
-8
0
0
0
-80
11
-2
-20
0
0
67
3
0
0
0
0
0
16
-47
0
-11
7
46
19
26
-38
55
0
31
8
0
0
2
0
0
0
-37
7
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-59
-95
-2
30
-36
48
33
0
-53
-3
9
0
2
0
0
0
20
39
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
-43
-84
19
-51
-20
-20
-18
0
-2
-145
-13
-3
-37
0
0
0
-47
53
-1
0
0
0
5
-1
0
0
0
0
0
-1
2
0
-49
-24
2
4
-3
81
26
0
-16
-14
0
1
0
0
0
0
-6
76
0
4
0
0
0
51
0
0
0
0
0
0
0
0
83
18
-3
60
70
1
-5
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-18
-29
-1
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
28
17
0
0
54
0
-4
0
0
0
-3
0
0
36
-25
0
21
-39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-21
0
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
127
0
0
0
0
0
0
0
0
2
-44
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
26
0
1
0
0
0
-55
0
-3
0
0
0
0
0
0
-13
-2
0
-33
-30
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
0
0
0
0
0
0
0
0
-41
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-18
-19
97
0
-5
0
-51
0
1
26
-13
28
0
16
2
-39
8
-26
14
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
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
-1
0
0
0
0
0
15
0
0
0
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
13
0
0
0
0
0
0
0
0
-14
1
0
14
-23
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
-1
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
30
-8
2
72
36
0
18
0
0
0
0
0
-3
9
0
-4
-53
29
64
16
76
154
0
0
0
0
0
0
0
0
0
0
18
-2
19
-11
20
0
29
0
0
0
0
0
20
-9
0
-6
37
140
-23
-15
6
32
0
0
0
0
0
0
0
0
0
0
-10
0
-8
-15
0
0
127
0
0
0
0
0
0
0
0
81
32
0
52
-84
-31
3
0
0
0
0
0
0
0
0
0
0
-72
-2
0
-7
0
0
25
0
0
0
0
0
0
-1
0
18
-7
-11
49
23
26
52
0
0
0
0
0
0
0
0
0
0
-41
6
36
-96
35
0
34
0
0
0
0
0
-13
-1
0
42
-11
63
22
34
51
-41
0
0
0
0
0
0
0
0
0
0
29
0
0
12
0
0
-129
0
0
0
0
0
0
0
0
47
41
51
-80
115
-2
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
-9
-1
0
-12
0
0
0
0
0
0
0
0
42
23
2
-77
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
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-25
0
0
0
0
0
2
0
0
-12
-46
5
-34
52
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
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
9
-12
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-23
-38
66
88
33
0
-3
0
-2
0
0
0
-47
26
0
-5
-4
26
-14
26
32
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
-26
0
0
0
0
0
0
0
0
7
-8
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
65
0
0
55
3
-2
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
55
-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
45
0
0
0
0
0
0
0
0
9
0
-2
-19
-37
0
-24
0
0
0
0
0
-3
0
0
-29
-45
-31
15
-9
-68
-32
0
-10
0
0
0
0
0
0
0
0
39
1
2
-25
15
0
2
0
0
0
0
0
22
-1
0
8
0
-4
71
18
-25
-14
0
10
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-105
0
0
0
0
0
0
0
0
41
58
0
0
36
0
1
0
29
0
0
0
0
0
0
0
0
3
0
0
-4
1
0
-10
0
0
0
0
0
0
0
0
107
-61
0
6
-12
70
9
0
25
0
0
0
0
0
0
0
0
48
0
0
-9
-2
0
27
0
0
0
0
0
14
0
0
-52
-1
-23
100
53
-4
28
0
-50
0
0
0
0
0
0
0
0
-8
0
0
-12
0
0
13
0
0
0
0
0
0
0
0
-72
48
0
-21
39
11
-6
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
46
-8
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
1
0
0
0
0
0
-1
-23
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
4
20
0
0
0
12
7
-1
-21
0
0
-2
-9
0
0
0
0
0
2
0
0
11
15
92
-38
15
87
5
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
23
4
0
-7
-8
0
19
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
3
-39
0
0
0
0
0
0
-1
0
-31
56
-2
-28
10
11
-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
128
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
-14
0
-8
2
-1
7
0
1
-9
-4
-40
89
0
0
0
27
-31
56
46
0
0
-10
2
0
-18
0
2
1
25
-52
0
33
-18
-3
60
21
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
3
-13
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-1
28
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
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
-77
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
-2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-5
-12
2
-21
104
0
0
0
35
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-8
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
-4
-22
5
33
-12
0
0
0
8
14
0
0
0
0
-30
28
0
0
0
0
0
0
21
0
61
-27
84
46
45
76
-74
0
35
40
-33
15
-84
0
0
0
-34
-6
14
6
0
0
-33
4
0
0
0
0
0
-43
-41
0
36
3
5
10
-12
47
-72
0
131
5
0
1
0
0
0
0
4
-5
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-17
87
-6
-27
22
-5
-9
0
12
-3
-1
-35
0
0
0
0
28
-13
1
0
0
0
-98
5
0
0
0
0
0
0
-7
0
-3
-16
56
41
-18
-28
-23
0
23
105
11
-33
-8
0
0
0
-72
-75
0
-2
0
0
25
14
0
0
0
0
0
0
0
0
72
29
120
44
-28
-55
30
0
-23
0
0
0
0
0
0
0
10
18
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-62
-26
16
4
-35
3
-39
0
1
-11
0
0
1
0
0
0
13
1
0
0
0
0
0
99
0
0
0
0
0
0
0
0
43
59
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-12
0
0
50
0
0
0
0
0
0
0
0
-9
-7
0
5
100
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
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
-2
40
0
0
3
6
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
40
-58
3
0
-62
0
-17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
54
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
52
-101
0
-11
0
0
0
-1
0
65
58
0
-3
-41
-50
-3
27
-62
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
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
-43
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
4
-21
40
0
27
0
0
0
0
0
0
0
0
1
-65
-67
64
48
38
-53
0
0
0
0
0
0
0
0
0
0
136
-1
35
-62
-32
0
-16
0
0
0
0
0
28
0
0
-14
24
2
-25
32
-41
13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-11
57
0
-2
47
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
-38
-29
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
18
7
-5
-26
-1
0
11
0
0
0
0
0
0
0
0
69
1
35
-53
30
-92
40
0
0
0
0
0
0
0
0
0
0
-32
0
0
-5
0
0
38
0
0
0
0
0
0
0
0
2
-29
6
-6
0
0
19
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
-46
-29
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
-45
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
23
2
0
-9
-30
-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
34
0
0
0
0
0
0
0
0
16
-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
-13
0
0
0
0
0
0
0
0
65
0
-6
-98
-60
0
11
0
0
0
0
0
16
-8
0
56
13
-6
-24
-32
-19
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-26
-69
0
0
-5
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-47
0
0
15
0
0
0
0
0
0
0
0
32
65
32
-53
-22
26
62
0
-58
0
0
0
0
0
0
0
0
71
0
0
16
41
0
-3
0
0
0
0
0
-9
0
0
4
0
23
-42
75
-63
10
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
12
-50
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
9
40
-1
3
21
1
-5
0
11
0
0
0
0
0
0
0
0
9
0
1
-17
0
0
18
0
0
0
0
0
0
0
0
-38
16
19
8
18
30
-20
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
65
8
0
37
20
7
9
0
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
-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
102
4
2
3
0
0
0
0
14
55
0
-6
0
0
-3
9
0
0
0
0
0
0
-1
0
28
-53
-8
14
81
-1
-11
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-13
14
0
0
1
0
-10
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
26
-82
0
0
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
-179
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
-3
1
0
0
-6
0
0
0
-4
-14
-85
-8
-35
0
0
0
73
-41
21
29
0
0
21
-4
0
12
0
0
0
7
-59
0
8
-27
77
31
-25
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
0
0
0
4
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
-48
37
0
0
3
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-5
-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
94
19
0
-8
0
0
0
0
-2
0
0
2
0
0
12
-9
0
0
0
0
0
0
0
0
-12
-1
-62
-38
27
-7
-10
0
-46
-86
-109
-52
-10
0
0
0
80
-6
-3
0
0
0
-105
13
0
0
0
0
0
0
67
0
25
-7
57
28
17
-48
-18
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
12
44
-1
0
6
6
0
0
-67
-3
0
0
0
0
0
0
3
-5
0
0
0
0
0
16
0
0
0
0
0
0
0
0
62
4
1
-1
51
2
1
0
-2
-25
0
-10
0
0
0
0
82
3
0
0
0
0
24
-36
0
0
0
0
0
0
0
0
13
24
16
-84
49
-33
-35
0
-33
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
-49
-35
11
9
-20
2
34
0
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-22
20
0
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
-1
0
-1
0
0
0
-8
0
0
0
0
0
-4
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
6
-2
0
0
-12
0
1
0
0
2
-2
-8
0
1
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
9
0
-51
0
0
-24
0
35
-7
2
12
0
-2
0
49
-15
2
0
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-52
45
-2
-1
0
0
9
-6
0
7
-2
8
38
-16
6
0
49
80
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-36
0
4
-3
-1
6
-6
8
0
-8
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
38
5
5
4
0
0
2
0
18
0
6
-24
-27
13
0
36
22
-3
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
13
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
54
-68
-98
-3
0
-14
0
49
2
30
-17
-44
11
0
32
-67
-1
22
6
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
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-40
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
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
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
5
0
-7
-8
0
8
15
1
0
-8
-16
-3
-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
15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
109
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
1
0
1
0
0
0
49
0
3
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
15
12
-18
0
0
-3
-16
0
1
21
8
17
-52
-22
0
6
59
0
7
-51
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
72
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
0
0
-1
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
-5
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
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-19
0
18
2
4
9
0
-4
0
-13
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
3
0
3
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
29
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-11
3
-40
-24
1
0
-10
0
-21
4
-50
47
14
1
0
-12
53
23
3
-33
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-36
0
6
0
-3
-1
0
0
0
4
1
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-2
0
0
0
0
0
-12
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
24
49
-19
0
-22
0
-1
0
0
-5
13
4
0
-53
-24
48
-8
-66
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
2
0
9
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
-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
10
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-4
0
-1
0
0
0
-16
0
1
0
0
4
8
2
0
7
149
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
2
5
0
0
3
0
0
0
0
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
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
9
17
44
15
0
0
-13
4
0
19
0
0
3
9
-13
0
3
-93
4
-67
31
-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
9
0
0
0
0
0
0
0
0
29
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
18
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
3
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
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
61
0
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
101
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
1
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
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
3
0
0
0
0
0
14
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-93
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
1
8
-34
0
0
-25
0
-6
0
0
-1
-13
2
0
12
31
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
9
-1
4
-1
-2
0
23
0
-1
0
0
-2
8
0
0
-42
87
0
0
10
-10
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
-3
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-61
0
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
-41
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
5
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
-13
0
0
0
0
0
0
0
0
-16
-37
-8
-80
72
0
-10
0
-22
0
-7
-7
-21
-4
0
20
26
26
14
24
-62
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-40
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-39
1
2
-9
0
0
34
0
0
0
0
0
0
0
0
3
-35
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
37
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
-54
3
0
-1
0
0
-1
0
0
0
0
0
0
0
0
6
36
0
0
-12
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
1
0
0
0
-86
0
0
0
0
0
0
0
0
0
23
-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
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
-33
-22
45
15
22
0
-20
0
0
0
0
0
12
-8
0
25
-14
-55
27
-15
-46
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-7
0
0
0
0
0
0
0
0
-30
32
1
4
-16
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
6
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
-6
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
28
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
-60
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
37
0
0
0
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
0
0
48
0
0
0
0
0
0
0
0
-1
0
-5
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
20
0
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
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
-2
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-4
8
0
0
-5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
0
0
0
16
0
0
0
0
0
0
-2
0
35
27
9
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
31
3
4
0
0
-11
-2
0
0
0
0
0
4
-3
0
-7
-32
9
-21
35
6
0
0
-5
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
-16
0
0
0
0
0
0
0
0
-1
-15
0
4
-1
0
0
0
18
0
0
0
0
0
0
0
0
-17
0
-3
0
0
0
-53
0
0
0
0
0
0
0
0
0
50
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
-4
0
0
0
0
0
0
78
-11
-28
2
0
0
-13
-1
0
0
0
0
0
-40
-50
0
6
37
-24
-11
-21
-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
15
0
0
0
0
0
0
0
8
5
0
-5
0
0
0
8
0
0
0
0
0
3
0
0
-36
-14
-3
13
30
0
12
0
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-34
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
-3
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
-16
0
-5
-1
0
0
0
-71
0
0
0
0
0
0
0
0
-7
0
4
0
0
0
59
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
5
0
0
0
-3
0
0
0
0
0
0
0
0
2
24
0
12
-8
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-26
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
-8
0
0
0
0
0
0
0
0
11
0
7
0
0
0
-26
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-6
3
0
-14
0
0
0
21
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
46
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
5
0
0
0
0
0
14
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
-5
0
-1
0
0
0
-7
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
0
0
0
0
0
26
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
9
-17
-1
0
-9
0
0
0
0
0
-5
-11
0
3
46
-38
-2
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
-108
0
0
0
0
0
0
0
0
1
2
-37
-23
0
0
-60
0
0
0
0
0
1
0
0
2
-5
49
-3
23
-12
0
0
-1
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
-26
0
0
0
0
0
0
0
0
0
-66
0
0
-14
0
0
0
28
0
0
0
0
0
0
0
0
10
0
0
0
0
0
46
0
0
0
0
0
0
0
0
1
47
0
2
25
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
-1
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-12
20
-17
101
0
-13
0
0
0
0
0
30
86
0
-101
53
-41
77
-5
-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
-12
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
0
29
0
0
0
0
0
0
0
0
-1
58
0
7
-5
-6
0
0
87
0
0
0
0
0
0
0
0
35
-1
6
-99
0
0
-11
0
0
0
0
0
-20
-1
0
41
-6
53
-36
-23
-5
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-12
0
0
-2
0
0
27
0
0
0
0
0
0
0
0
2
36
4
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-6
0
0
-5
-7
0
65
0
0
0
0
0
2
0
0
6
-2
10
9
12
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
-21
0
0
0
0
0
0
0
0
0
-33
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
2
0
0
110
7
1
-6
-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
106
0
0
0
0
0
0
0
0
0
26
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-6
56
21
0
-19
0
0
0
0
0
27
-2
0
-8
-19
69
33
60
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
4
0
0
0
0
0
0
0
0
10
-12
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
-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
-2
0
0
0
0
0
31
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
-8
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-4
47
0
0
-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
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
1
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
4
-6
0
25
19
0
0
0
0
0
0
0
0
0
0
0
13
0
-63
8
0
0
30
0
0
0
0
0
0
0
0
-141
0
27
58
63
-27
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-9
67
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-3
-20
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
7
19
4
-4
-88
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-55
0
0
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
0
0
0
20
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
96
33
6
-12
0
0
0
-8
0
0
0
0
0
0
0
0
33
-1
22
35
22
-45
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
0
0
-5
2
3
-1
0
0
-47
15
0
0
0
0
0
4
0
0
64
10
8
18
-13
35
-21
0
-49
0
0
0
0
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
0
0
0
-31
-2
3
6
0
0
0
-12
0
0
0
0
0
0
0
0
35
0
0
0
0
0
48
0
0
0
0
0
0
0
0
11
-76
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
16
0
0
0
0
0
0
0
0
0
-35
1
3
0
0
0
0
-26
-52
7
18
8
0
0
0
4
-1
-42
3
0
0
-16
6
0
0
0
0
0
2
4
0
30
-15
-30
-9
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
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-1
57
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-3
-54
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
-31
0
0
7
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
65
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
9
0
-3
0
0
0
-84
0
0
0
0
0
0
0
0
0
35
0
2
2
0
0
0
6
0
0
0
-1
0
0
0
35
38
1
-11
0
0
1
28
0
0
0
0
0
0
0
0
-6
12
-30
-49
55
0
9
0
50
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
4
-8
0
1
-3
0
0
0
-7
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-1
-48
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
17
-31
0
-4
21
0
0
0
23
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-60
0
0
0
0
0
0
0
0
-6
-33
0
0
-7
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
-52
-8
-36
-38
1
0
16
0
0
0
0
0
-3
22
0
3
-22
-56
-145
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
27
0
45
-13
0
0
-26
0
0
0
0
0
-1
0
0
49
25
13
-39
39
3
6
0
36
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
21
0
0
0
0
0
0
0
0
5
34
0
2
-26
0
0
0
8
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
-46
0
0
0
0
0
0
0
0
14
89
-11
4
18
10
0
0
-6
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
19
0
0
0
0
0
0
0
0
-23
-50
-5
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
38
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
-10
0
0
0
0
0
0
0
0
6
22
-8
-6
40
0
-1
0
0
0
0
0
35
-94
0
39
-8
-76
-22
15
-92
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-98
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
22
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-29
4
-3
3
0
0
30
0
0
0
0
0
0
0
0
-67
0
-8
-3
30
-35
0
0
-48
0
0
0
0
0
0
0
0
-4
34
-71
4
-22
0
6
0
0
0
0
0
-14
-20
0
24
20
-47
-38
25
-15
-93
0
-51
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
-25
0
0
0
0
0
0
0
0
28
36
0
0
36
4
0
0
-4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-1
-83
0
0
-2
7
0
0
52
0
0
0
0
0
0
0
0
25
28
-19
-9
0
0
8
0
0
0
0
0
20
-1
0
-110
-38
-38
-33
-10
-16
0
0
-17
0
0
0
0
0
0
0
0
-12
0
0
8
0
0
-10
0
0
0
0
0
0
0
0
13
19
0
-1
37
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
0
-18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
-1
0
0
-3
-13
10
-12
-50
-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
3
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-6
-38
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-65
12
-53
-1
0
5
0
0
0
0
0
-1
-34
0
-32
4
-108
9
-10
-14
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-62
0
0
0
0
0
0
0
0
-10
-15
0
1
-33
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
-5
-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
-12
0
0
4
0
0
-101
0
0
0
0
0
0
0
0
1
-22
0
44
16
49
5
0
0
0
0
0
0
0
0
0
0
-24
-2
-1
28
4
0
-11
0
0
0
0
0
8
3
0
-17
0
74
42
39
12
-36
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
16
0
0
0
0
0
0
0
0
-10
-46
-1
-17
-3
3
3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
-19
0
0
0
0
0
0
0
0
-1
6
10
11
-71
0
3
0
0
0
0
0
0
0
0
0
0
56
0
4
-5
0
0
-15
0
0
0
0
0
0
0
0
-53
-5
-14
59
-1
43
19
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
64
-16
-3
-52
13
-1
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
-2
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
-55
4
-46
-1
0
0
0
39
39
4
8
0
0
4
-13
0
0
0
0
0
0
-6
0
9
-19
68
106
-47
-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
74
24
8
47
4
0
0
0
-21
-12
0
-10
0
0
1
25
0
0
0
0
0
-4
-2
0
57
2
60
18
48
-78
11
0
44
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
19
27
0
-26
0
-3
0
0
-18
0
-5
3
-7
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-55
-63
-14
-45
-110
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-11
18
0
-13
-9
0
0
0
11
-17
-5
-64
-48
0
0
0
-15
26
37
47
0
0
-139
6
0
0
0
0
0
-13
17
0
-7
-5
-37
-8
-6
53
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
58
-14
0
-22
-10
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-1
-22
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
30
6
0
-3
0
0
0
0
12
6
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-45
-77
-9
-6
-16
0
-18
0
1
11
-67
68
-1
0
0
0
22
-103
-6
5
0
0
-23
34
0
0
0
0
0
-2
0
0
42
-56
5
17
-41
-21
29
0
-52
2
0
0
-4
0
0
0
-1
0
-1
0
0
0
0
-20
0
0
0
0
0
0
0
0
-56
-24
0
-14
53
-4
0
0
-13
35
9
-10
0
0
0
0
21
-40
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-72
4
26
10
28
-15
-1
0
-13
4
7
-18
0
0
0
0
33
43
0
-1
0
0
-14
-14
0
0
0
0
0
0
0
0
-39
-97
20
105
-45
-16
2
0
-41
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-39
1
3
38
14
-1
-7
0
24
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-1
-12
-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
-37
47
3
-61
-4
0
-2
0
0
0
0
0
22
32
0
4
-6
-69
1
49
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
77
0
0
0
0
0
0
0
0
-12
0
2
0
0
0
-24
0
0
0
0
0
0
0
0
-81
81
5
26
-44
45
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
2
15
0
4
19
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
49
0
0
0
0
0
0
0
0
6
-81
0
3
-41
0
0
0
75
0
0
0
0
0
0
0
0
0
0
1
0
0
0
85
0
0
0
0
0
0
0
0
-109
17
2
21
89
9
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
-11
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
29
-4
-27
69
-76
0
4
0
0
0
0
0
40
10
0
25
-23
28
4
17
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-4
56
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-12
0
0
0
0
0
0
0
0
11
15
-3
71
-32
0
47
0
0
0
0
0
-1
0
0
79
22
-65
82
26
34
33
0
-13
0
0
0
0
0
0
0
0
34
-7
115
-50
46
0
-4
0
0
0
0
0
60
-53
0
16
-15
0
14
13
-37
-6
0
73
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
-2
0
0
0
0
0
13
0
0
75
-42
2
41
46
-27
-1
0
-65
0
0
0
0
0
0
0
0
8
-10
8
-44
-2
0
-21
0
0
0
0
0
-4
0
0
1
-4
6
65
-23
-55
21
0
16
0
0
0
0
0
0
0
0
0
1
1
-16
-4
0
35
0
0
0
0
0
-1
0
0
37
-32
72
66
2
78
44
0
114
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
6
-32
-1
-44
40
0
5
0
-28
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-17
71
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
-11
-5
0
-37
25
-32
-92
2
-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
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-11
2
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
30
-1
0
-8
0
0
0
0
0
-64
3
0
-1
22
-35
19
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
36
0
0
0
0
0
0
0
0
12
-34
13
0
-63
6
-2
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
13
-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
41
0
0
24
-1
0
-24
0
0
0
0
0
-3
0
0
5
28
-4
1
47
-49
26
0
0
0
0
0
0
0
0
0
0
-20
-14
0
51
-43
0
4
0
0
0
0
0
-6
-7
0
16
0
50
11
16
1
40
0
0
0
0
0
0
0
0
0
0
-29
0
0
6
0
0
2
0
0
0
0
0
0
0
0
24
15
-1
51
4
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
-8
0
0
-20
0
0
0
0
0
0
0
0
62
17
6
21
68
27
-17
0
0
0
0
0
0
0
0
0
0
-4
8
0
53
-2
0
4
0
0
0
0
0
9
10
0
14
3
24
85
80
55
-15
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
-9
0
0
0
0
0
0
0
0
-17
53
-16
-28
43
27
20
0
0
0
0
0
0
0
0
0
0
2
0
0
13
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
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
59
32
-23
-103
0
0
0
72
-46
-26
0
0
0
-56
-1
0
0
0
0
0
-28
-3
0
-22
53
2
1
8
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
-40
13
12
-14
16
0
0
0
33
-3
0
0
0
0
7
-14
0
0
0
0
0
0
-1
0
-34
2
-42
-3
-86
-102
-14
0
117
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-59
47
-1
-18
-77
3
10
0
21
-3
-1
0
-1
0
0
0
1
4
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
-41
22
-36
14
40
-86
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
4
2
-6
0
-75
-15
7
0
-6
-26
13
25
43
0
0
0
-8
-17
60
0
0
0
71
-6
0
0
0
0
0
34
23
0
3
10
25
59
30
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
-26
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-3
-4
-12
0
29
0
1
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-41
1
2
16
35
0
7
0
0
0
0
0
0
0
0
0
0
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
4
68
-10
0
0
0
0
-18
0
0
0
0
5
2
0
0
0
0
0
0
0
0
18
36
35
42
-14
47
83
0
-8
-38
72
-79
29
0
0
0
-15
-2
-8
0
0
0
84
1
0
0
0
0
0
-69
-5
0
3
3
15
17
13
38
-82
0
-25
2
0
3
-1
0
0
0
-1
16
0
0
0
0
-3
1
0
0
0
0
0
11
0
0
-19
56
-17
-26
15
23
-34
0
-3
3
0
0
3
0
0
0
-1
8
1
0
0
0
0
-63
0
0
0
0
0
0
0
0
22
27
23
2
58
-4
16
0
40
50
12
56
5
0
0
0
-25
-1
0
0
0
0
20
7
0
0
0
0
0
-1
2
0
-37
29
-13
-58
18
24
-5
0
21
1
0
-6
1
0
0
0
4
89
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
42
52
28
60
-1
2
28
0
-22
-3
1
0
0
0
0
0
-4
1
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
19
6
0
3
86
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
-90
-149
0
84
-45
0
-6
0
0
0
0
0
28
-40
0
26
120
79
19
-31
-45
-151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
42
0
0
0
0
0
0
0
0
40
-8
-120
-41
17
27
8
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
46
2
-3
4
17
0
6
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
-4
0
0
93
68
32
-7
-64
-35
6
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
61
-14
-1
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
1
0
0
0
0
0
0
0
0
-29
23
0
89
29
0
-1
0
0
0
0
0
-20
42
0
-2
33
9
9
16
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
32
4
-4
0
-23
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
49
22
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
-8
0
0
0
0
0
0
0
0
-16
-67
0
-52
93
0
-3
0
0
0
0
0
14
11
0
2
66
3
50
3
1
-6
0
89
0
0
0
0
0
0
0
0
-17
-11
0
173
0
0
41
0
0
0
0
0
-29
-1
0
44
103
35
20
118
12
35
0
74
0
0
0
0
0
0
0
0
-12
0
0
107
0
0
0
0
0
0
0
0
7
-3
0
-8
107
96
-13
9
-76
11
0
-7
0
0
0
0
0
0
0
0
-28
0
0
6
0
0
-22
0
0
0
0
0
0
0
0
-100
62
8
-18
-1
-23
-1
0
-50
0
0
0
0
0
0
0
0
-20
-26
0
137
-28
0
-5
0
0
0
0
0
21
3
0
-20
64
46
28
-13
14
-20
0
-68
0
0
0
0
0
0
0
0
11
0
0
17
0
0
-4
0
0
0
0
0
0
0
0
19
85
-21
132
1
-9
18
0
70
0
0
0
0
0
0
0
0
8
0
0
-19
-1
0
8
0
0
0
0
0
0
0
0
-47
57
-65
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-31
0
0
0
0
0
0
0
0
-18
-37
62
51
120
-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
-41
0
0
0
0
0
0
0
0
9
0
-11
-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
29
-29
0
0
0
0
0
0
0
43
-46
0
4
-2
28
-22
8
37
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-76
0
0
0
0
0
0
0
0
17
0
52
10
65
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
10
0
0
0
0
0
0
0
0
15
10
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
-93
14
0
17
0
0
0
0
0
0
0
0
-26
20
87
10
-57
-27
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-50
0
3
0
0
0
0
0
110
-14
0
29
0
-16
4
2
-80
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-43
0
-27
0
0
0
0
0
0
0
0
29
10
-3
-8
68
13
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-20
0
4
0
0
0
0
0
-4
0
0
-19
-18
22
-18
26
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
17
59
0
6
0
0
0
0
0
77
-4
0
31
-16
-9
-1
74
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
-14
0
0
0
0
0
0
0
0
66
-23
45
70
-124
-3
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
-57
0
5
-23
-6
-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
55
-24
-11
96
0
0
0
-99
0
0
0
0
0
43
-5
0
0
0
0
0
-23
4
0
-13
-92
-20
6
76
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-43
0
0
0
0
0
-1
0
0
0
0
0
6
-66
0
0
0
0
0
0
0
0
-96
-124
-37
-88
-78
48
-77
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-114
0
0
0
0
0
0
0
0
-39
0
-22
-76
-7
0
2
0
60
5
0
2
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
0
93
38
109
-9
26
-130
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
0
0
11
0
6
11
0
0
0
0
-22
37
33
37
-6
0
0
0
-1
0
0
0
0
0
64
3
0
0
0
0
0
-15
12
0
-5
-12
4
13
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-27
-18
37
-1
66
0
-12
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-7
-4
2
-95
9
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-58
1
0
0
0
-16
0
0
0
0
0
-30
9
0
0
0
0
0
0
2
0
63
89
7
-2
-20
-26
8
0
21
-17
-26
5
-54
0
0
0
-38
0
0
0
0
0
-71
-7
0
0
0
0
0
72
-10
0
12
15
-6
15
-7
-19
19
0
-44
-58
-37
0
2
0
0
0
-70
0
0
0
0
0
8
14
0
0
0
0
0
0
0
0
55
43
49
62
-27
-8
-24
0
29
-75
-23
-54
1
0
0
0
-65
0
0
0
0
0
13
10
0
0
0
0
0
10
40
0
34
-3
8
8
-36
44
38
0
-13
-62
-124
-40
-65
0
0
0
-44
0
0
0
0
0
-39
-14
0
0
0
0
0
-15
6
0
-15
31
9
3
13
64
-30
0
-152
-23
-6
-12
0
0
0
0
1
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
89
27
16
-14
-31
-1
-47
0
3
4
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-32
-6
-8
-32
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
50
-3
0
-15
0
0
0
0
0
7
0
0
11
30
35
8
83
80
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
22
-1
-10
5
33
6
-11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
4
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
-34
0
0
0
0
0
0
0
0
0
0
0
-13
-25
0
-1
0
0
0
0
0
-77
70
0
-16
3
-11
-18
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
1
0
-2
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
-54
-4
0
-32
0
0
0
0
0
0
0
0
7
-65
72
1
-39
44
-24
0
25
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-41
0
0
0
0
0
0
0
0
95
9
-6
64
6
20
70
0
-23
0
0
0
0
0
0
0
0
0
0
0
-62
-32
0
6
0
0
0
0
0
11
0
0
8
40
-24
-43
-60
6
72
0
-29
0
0
0
0
0
0
0
0
0
0
0
-20
-13
0
-5
0
0
0
0
0
7
34
0
49
40
-28
-3
52
156
-21
0
-63
0
0
0
0
0
0
0
0
0
0
0
-26
-12
0
-37
0
0
0
0
0
0
0
0
-9
54
100
-42
74
-13
10
0
-17
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-11
0
0
0
0
0
0
0
0
43
17
100
-42
44
-1
32
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
87
-5
-5
37
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
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
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
19
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-8
0
0
0
0
0
0
0
0
1
-5
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
-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
-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
-42
0
0
0
0
0
0
0
0
21
7
-19
34
-9
0
-20
0
0
0
0
0
1
0
0
-12
-11
15
-34
-72
-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
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
4
-4
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
4
22
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-42
0
-12
-14
-1
0
22
0
0
0
0
0
0
0
0
-7
0
-14
10
19
-23
2
0
7
0
0
0
0
0
0
0
0
9
0
0
10
-1
0
-98
0
0
0
0
0
0
0
0
4
17
2
6
6
-1
-4
0
-13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
89
0
0
0
0
0
0
0
0
2
-32
-41
7
0
0
0
0
55
0
0
0
0
0
0
0
0
18
0
0
2
0
0
56
0
0
0
0
0
0
0
0
-9
-2
4
-13
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-2
-14
-1
0
0
0
0
38
0
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
10
-31
-18
-57
-43
0
0
0
-10
11
25
-32
0
0
40
-7
0
12
2
1
-2
14
-16
0
-45
59
45
0
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
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
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
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
-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
-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
-55
0
-4
0
0
0
32
0
0
0
0
0
0
0
0
0
-96
27
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
45
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
43
0
0
0
0
0
27
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
-3
-1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-6
64
0
-6
2
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
-21
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
-75
-51
18
17
10
0
9
0
9
1
-2
1
-16
-24
0
-9
48
-63
-29
85
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
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
-9
0
8
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
-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
-22
-1
-1
12
1
0
-12
0
0
0
0
0
-1
0
0
6
-25
35
22
0
-43
0
0
0
0
0
0
0
0
0
0
0
5
-20
-37
7
0
0
-7
0
0
0
0
0
0
0
0
28
17
33
28
13
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
62
0
0
0
0
0
0
0
0
-1
-57
-63
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
-1
0
19
0
0
0
0
0
0
0
0
1
69
13
1
-32
3
0
0
0
0
0
0
0
0
0
0
0
33
-5
-17
6
0
0
-21
0
0
0
0
0
5
0
0
8
33
-49
6
-11
28
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
15
-9
0
2
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
-43
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
-23
-32
1
41
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-8
8
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-44
0
-5
45
5
0
-15
0
-1
0
-2
-4
8
2
0
-74
45
-13
-30
-65
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
2
0
0
0
0
0
25
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
4
-16
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
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
73
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
-64
0
0
0
0
0
0
0
0
20
24
0
-22
28
-1
20
0
-1
0
0
0
0
0
0
0
0
45
-1
0
12
58
0
-34
0
0
0
0
0
-3
2
0
101
0
0
-13
-37
-4
46
0
-55
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
13
0
0
0
0
0
0
0
0
-4
-10
0
-17
1
0
0
0
-26
0
0
0
0
0
0
0
0
9
0
0
1
1
0
-112
0
0
0
0
0
0
0
0
-20
20
0
32
6
-5
-1
0
-3
0
0
0
0
0
0
0
0
54
0
0
22
-9
0
25
0
0
0
0
0
0
0
0
-12
56
1
73
62
-5
28
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
6
-15
0
-23
3
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
11
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
7
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-7
5
0
0
0
-44
5
2
9
0
0
-5
-20
0
0
0
0
0
1
0
0
14
-16
6
-10
38
-4
9
0
14
-4
0
1
0
0
0
0
4
-6
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
-24
2
-27
38
-24
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
47
20
82
-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
40
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
5
-1
0
-1
0
0
0
6
-23
31
60
-34
0
0
0
26
37
18
25
0
0
19
6
0
-1
0
3
0
-40
12
0
-84
17
-6
-40
-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
0
0
0
-14
1
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
1
-21
21
6
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
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
-34
-5
-4
-1
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
23
5
-29
8
7
0
10
0
-50
14
-50
108
23
0
0
0
17
3
-6
-11
0
0
14
-24
0
0
0
0
0
37
-3
0
72
-67
33
-125
-11
33
21
0
-11
2
0
-1
-5
0
0
0
-10
0
0
0
0
0
2
-63
0
0
0
0
0
0
0
0
52
-36
35
54
24
7
-8
0
20
9
11
0
0
0
0
0
-33
0
0
0
0
0
1
-72
0
0
0
0
0
0
0
0
-65
79
-1
2
2
6
19
0
33
-29
1
17
0
0
0
0
2
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
18
-75
9
1
-5
-1
7
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
7
25
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
3
0
0
31
0
0
0
0
0
-1
0
0
-5
102
-1
4
-14
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
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
-2
0
-26
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
-5
0
6
0
0
0
-24
0
0
0
0
0
0
0
0
10
22
0
-1
-17
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
53
0
0
0
0
0
0
0
0
1
-13
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
-51
19
-2
-68
-6
0
7
0
0
0
-3
2
-6
4
0
93
-39
4
-24
61
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-23
0
-1
-1
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-43
-6
0
49
0
0
0
0
0
-1
0
0
40
84
37
11
-22
53
-2
0
0
0
0
0
0
0
0
0
0
13
7
10
-9
8
0
0
0
0
0
0
0
-1
4
0
-40
-36
43
61
34
-29
-3
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
-2
3
0
-6
-15
1
-1
0
0
0
0
0
0
0
0
0
0
-5
-4
1
0
0
0
-2
0
0
0
0
0
0
0
0
-14
29
1
19
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
11
4
7
7
0
0
-9
0
0
0
0
0
0
0
0
31
-67
20
24
21
12
-27
0
0
0
0
0
0
0
0
0
0
-3
2
0
-5
0
0
-4
0
0
0
0
0
0
0
0
-3
23
0
-34
-20
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
0
0
0
-8
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
39
13
1
-25
55
-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
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
34
0
3
78
73
0
9
0
2
0
1
-4
-3
0
0
-23
-62
-10
-8
108
-69
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
9
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
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
7
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
1
0
0
68
0
0
0
0
0
0
0
0
-6
-7
0
2
5
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
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
-24
0
0
0
0
0
0
0
0
6
0
0
-18
-8
0
-2
0
0
0
0
0
0
0
0
27
23
-2
-19
5
13
0
0
13
0
0
0
0
0
0
0
0
42
-1
-4
-50
1
0
12
0
0
0
0
0
-2
0
0
9
0
-30
-38
37
42
-21
0
-27
0
0
0
0
0
0
0
0
0
0
0
2
0
0
53
0
0
0
0
0
0
0
0
13
-2
0
0
3
0
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
-31
-20
0
-3
0
0
0
0
0
0
0
0
-25
20
-8
-11
92
-39
0
0
22
0
0
0
0
0
0
0
0
-13
0
0
-41
-5
0
-69
0
0
0
0
0
0
0
0
9
-121
14
-17
-34
12
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
26
0
-20
18
-1
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
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
-2
1
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
4
0
0
0
0
32
-4
2
-5
0
0
20
-14
0
0
0
0
0
0
0
0
-58
-30
1
-78
-82
0
8
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
78
0
0
0
0
0
0
0
0
-7
-10
0
45
-4
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
0
0
34
0
0
0
0
0
0
0
0
-47
2
1
-48
-45
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
-4
23
-3
7
-2
0
1
0
1
-29
-33
-64
34
0
0
0
1
-34
1
-17
0
0
-31
-4
0
0
0
-2
0
-21
1
0
64
-37
12
32
41
-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
-1
0
-2
0
0
0
17
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
-3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
24
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
-26
0
0
0
0
0
0
0
0
-4
14
0
-7
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
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
9
-33
-7
0
0
0
0
0
-6
3
0
0
0
0
11
-8
0
0
0
0
0
0
0
0
61
-12
-7
-24
-1
17
19
0
25
2
-13
-7
-7
0
0
0
22
25
1
-4
0
0
-14
-28
0
0
0
0
0
0
2
0
20
41
-27
47
-28
-23
0
0
56
-1
0
0
0
0
0
0
7
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
-10
0
-27
0
2
0
0
-99
3
0
0
0
0
0
0
1
-2
0
0
0
0
0
47
0
0
0
0
0
0
0
0
30
-55
3
65
-1
-1
0
0
6
48
-8
-6
-2
0
0
0
-13
9
0
0
0
0
-6
-31
0
0
0
0
0
0
0
0
40
17
-23
-61
34
-3
14
0
30
0
0
0
0
0
0
0
0
2
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
11
0
-9
11
0
-4
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
8
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
92
0
-2
0
0
0
-3
0
0
54
-98
0
59
15
-1
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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
19
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
2
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-24
3
0
8
-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
2
-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
91
0
-76
73
19
0
-12
0
1
0
2
3
-1
-1
0
63
-38
15
-46
-33
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
7
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
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
58
-1
-1
-5
-8
0
-19
0
0
0
0
0
2
0
0
-24
2
12
-13
35
27
3
0
0
0
0
0
0
0
0
0
0
-24
0
-18
-9
15
0
3
0
0
0
0
0
8
1
0
0
-12
17
-41
2
10
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-2
0
0
18
0
0
0
0
0
0
0
0
-9
27
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
4
0
0
82
0
0
0
0
0
0
0
0
3
-9
0
14
27
-1
-1
0
0
0
0
0
0
0
0
0
0
-27
6
6
-3
0
0
-12
0
0
0
0
0
2
0
0
-56
11
11
-1
29
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
43
0
0
0
0
0
0
0
0
8
-31
0
-10
-7
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
-21
-3
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
5
-43
3
-18
65
-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
23
0
0
0
0
0
0
0
0
-6
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
-2
0
0
0
0
0
0
0
0
-37
-1
23
-40
0
0
-24
0
-2
0
0
0
-18
1
0
49
7
-48
10
60
35
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
8
-9
0
0
-4
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
10
-5
0
24
0
0
0
0
0
0
0
0
-37
12
2
0
19
-4
6
0
-2
0
0
0
0
0
0
0
0
-32
0
12
23
2
0
-17
0
0
0
0
0
2
0
0
-33
0
-1
-23
-8
27
-24
0
63
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
4
18
0
0
-1
0
0
0
36
0
0
0
0
0
0
0
0
1
0
0
0
0
0
91
0
0
0
0
0
0
0
0
-5
-18
0
0
-9
0
0
0
-52
0
0
0
0
0
0
0
0
26
0
-1
7
1
0
-23
0
0
0
0
0
0
0
0
3
-10
1
10
-69
-3
-11
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-3
37
0
0
7
0
0
0
-62
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
14
0
0
0
11
15
0
-3
0
0
-3
-30
0
0
0
0
0
0
0
0
-9
14
40
18
54
-9
21
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
6
-21
0
4
-5
0
4
0
0
-2
0
0
0
0
0
0
0
-19
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
-31
-8
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
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-5
-4
0
0
1
0
0
0
-1
78
-14
-40
10
0
0
0
-44
-48
12
35
0
0
-1
18
0
2
0
1
-2
2
4
0
71
3
23
-86
13
-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
0
1
1
0
0
0
0
0
55
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
27
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-2
7
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
-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
0
0
0
0
0
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
1
-7
0
0
0
0
9
6
0
0
0
0
-10
-30
0
0
0
0
0
0
0
0
4
-32
11
17
-1
-1
0
0
73
-28
-2
52
-1
0
0
0
-4
-14
-3
-1
0
0
5
-20
0
0
0
0
0
0
1
0
-36
17
-27
-9
5
8
11
0
-26
0
0
1
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-22
-4
0
0
31
0
0
0
-7
6
3
-3
0
0
0
0
-2
-1
0
0
0
0
-5
14
0
0
0
0
0
0
0
0
66
-28
-9
8
-27
-6
-5
0
-89
12
3
6
0
0
0
0
1
42
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
10
25
12
16
-16
2
-20
0
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-11
12
0
8
-9
0
-1
0
-27
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-6
0
0
-51
0
0
0
0
0
0
0
0
3
23
0
5
15
0
0
0
0
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
2
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
-9
0
0
0
0
0
0
0
0
7
-9
0
0
-3
-1
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
-16
0
-9
-5
-6
0
6
0
0
0
0
3
17
21
0
-15
-27
67
-28
36
-72
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
-16
4
0
-61
0
0
0
0
0
0
0
0
2
-13
5
-11
43
9
2
0
0
0
0
0
0
0
0
0
0
62
0
-16
-24
-2
0
37
0
0
0
0
0
0
0
0
18
-5
14
-13
25
1
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
12
0
0
0
0
0
0
0
0
9
3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
24
0
0
0
0
0
0
0
0
11
39
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
5
1
0
13
0
0
0
0
0
0
0
0
-5
-40
-8
3
-29
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
-12
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
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
13
0
-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
5
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-37
0
-23
-20
-38
0
6
0
0
0
0
0
-2
0
0
43
14
22
43
-100
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
43
0
0
0
0
0
0
0
0
-3
-20
0
0
-16
3
2
0
8
0
0
0
0
0
0
0
0
3
0
0
-22
-1
0
25
0
0
0
0
0
1
0
0
-69
0
28
-7
-2
-31
4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-17
0
0
0
0
0
0
0
0
3
-4
0
0
-1
1
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
1
0
0
116
0
0
0
0
0
0
0
0
2
20
0
11
-11
3
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
0
0
0
0
8
0
-1
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
13
0
-3
0
0
2
-10
0
0
0
0
0
0
0
0
37
13
-3
-18
26
3
1
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
3
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
3
-7
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
3
-4
0
0
-6
0
0
0
-11
-20
-22
0
-17
0
0
0
30
-12
2
-6
0
0
-2
0
0
2
0
0
0
2
-3
0
51
-12
-56
-11
36
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
0
0
0
1
0
0
0
0
0
-25
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-6
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
0
3
16
0
0
0
0
0
0
0
0
-20
-18
-3
4
-9
0
2
0
-16
2
-6
-13
9
0
0
0
-3
0
0
0
0
0
-10
-59
0
0
0
0
0
0
2
0
9
41
-36
-13
-3
-4
16
0
13
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
24
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
8
20
0
0
10
0
0
0
-11
-2
0
-1
0
0
0
0
1
0
0
0
0
0
3
61
0
0
0
0
0
0
0
0
-6
-1
0
-15
-7
1
3
0
6
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
74
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-64
0
0
0
0
0
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
19
0
-2
0
2
1
-1
0
0
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-19
24
-2
0
0
0
-5
-17
0
14
3
-8
0
0
0
0
-8
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
1
0
0
-13
0
1
0
0
1
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
20
2
0
-10
0
0
6
0
1
0
0
0
0
0
0
-6
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-24
10
-2
0
-43
0
19
9
-1
-5
-1
0
0
8
5
0
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
22
0
2
0
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
26
-6
3
-3
0
0
1
-67
0
22
0
0
1
0
0
0
12
6
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
-1
1
0
0
-8
0
-1
0
7
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
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-18
0
0
0
1
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
-10
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
11
0
-15
15
3
0
-10
0
27
0
4
2
4
4
0
-28
6
-1
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
-3
0
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
3
2
0
10
0
0
0
0
-3
1
0
0
0
8
18
-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
5
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
2
12
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
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
12
0
21
-15
0
0
3
-38
0
0
0
-1
-2
-1
-1
0
44
-72
3
18
-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
2
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
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
21
0
0
0
0
0
0
0
0
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
-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
-3
0
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
3
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-12
1
0
0
0
0
0
0
0
3
0
0
1
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
1
0
-4
0
0
0
0
0
0
0
1
0
0
-1
-13
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
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-24
0
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
-8
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
7
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-10
-3
-2
39
0
-7
0
-1
0
0
4
0
4
0
-15
43
9
-24
24
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
-5
0
0
-50
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
6
0
0
0
0
0
5
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
-11
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
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-3
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
21
6
0
-35
0
0
0
0
0
-2
0
0
-10
-27
12
70
13
-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
1
0
0
-8
0
0
0
0
0
0
0
0
-1
28
0
3
-5
0
0
0
0
0
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
11
0
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
5
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
21
0
0
0
0
0
0
0
0
0
-16
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
-3
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
9
0
0
0
0
0
11
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
9
0
0
0
0
0
0
0
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
-95
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
6
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-28
0
3
0
0
1
6
0
0
0
0
0
0
0
0
2
-31
2
12
21
4
0
0
2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
28
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
-7
0
0
0
0
0
0
0
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
0
0
0
0
0
0
0
22
-9
-3
29
0
0
-18
-6
0
0
0
0
0
-3
1
0
-8
-10
-3
10
4
-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
33
0
0
0
0
0
0
0
2
-6
-1
-4
0
0
0
1
0
0
0
0
0
0
0
0
-5
-10
0
0
-6
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
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
0
0
0
0
0
0
-1
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
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
24
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
-2
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
0
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
0
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
-9
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-37
-3
0
9
0
0
0
0
0
-2
-1
0
12
43
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
2
-3
-1
0
0
5
0
0
0
0
0
-5
0
0
5
-80
1
31
-4
2
0
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
-10
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
-24
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
21
3
25
-6
36
0
2
0
0
0
0
0
21
0
0
-32
22
-30
10
-34
-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
-10
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
13
0
0
0
0
0
0
0
0
0
16
0
2
-4
0
0
0
42
0
0
0
0
0
0
0
0
12
2
-6
-22
0
0
39
0
0
0
0
0
0
0
0
6
-66
6
1
-10
3
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-58
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
-20
0
0
-1
0
0
20
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
3
0
3
0
-3
0
-38
0
0
0
0
0
0
0
0
1
4
0
-1
-1
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
0
0
0
0
0
0
0
0
25
26
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
45
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
0
0
0
0
0
0
0
0
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
8
1
-16
10
0
1
0
0
0
0
0
-3
1
0
-28
-8
-21
10
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
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
9
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
1
8
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
0
-8
-1
0
0
48
0
0
0
0
0
0
0
0
-13
0
-22
-10
-21
2
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
-4
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
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
11
0
0
0
0
0
0
0
0
3
13
3
0
0
0
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
12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
18
9
14
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
-22
0
0
0
2
0
0
0
-7
59
-1
4
0
0
-3
15
0
0
0
0
0
1
0
0
27
6
-10
16
-34
19
5
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
0
-32
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
-2
0
5
6
0
0
0
-35
6
5
-25
0
0
3
-9
0
0
0
0
0
-4
2
0
22
13
-2
-2
12
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
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
-7
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
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
0
0
0
0
0
0
0
0
0
46
0
1
-2
0
0
0
-33
1
0
0
0
0
0
0
4
-8
1
-18
0
0
0
-8
0
0
0
0
0
0
0
0
-1
-2
12
-2
-18
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
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
5
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-42
0
0
0
0
0
0
0
0
-1
6
0
0
-1
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-7
-1
0
-5
0
0
0
0
0
-3
3
0
-70
-19
-29
-3
14
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
-3
0
0
0
0
0
0
0
0
-10
0
6
-3
0
0
-143
0
0
0
0
0
0
0
0
3
18
1
0
-14
-4
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-7
-3
0
-1
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
6
0
0
0
0
0
0
0
0
-2
-41
-1
9
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
5
3
-19
15
0
16
0
0
0
0
0
3
-12
0
16
-24
-12
-36
46
-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
2
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
27
0
-2
1
0
0
10
0
0
0
0
0
0
0
0
-2
-3
2
1
-27
1
0
0
-18
0
0
0
0
0
0
0
0
-15
7
-21
81
-4
0
27
0
0
0
0
0
-2
0
0
11
10
-16
-4
18
15
-12
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-18
0
0
-27
0
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
-20
0
0
-1
2
0
0
23
0
0
0
0
0
0
0
0
33
5
-4
-4
0
0
1
0
0
0
0
0
0
0
0
27
35
-7
0
-10
-2
0
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
-2
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
18
0
0
0
0
0
1
0
0
-5
-4
0
-26
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
47
0
0
0
0
0
0
0
0
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
25
1
-9
-17
-8
0
-14
0
0
0
0
0
-11
0
0
-33
10
-65
22
-47
-50
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-3
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
2
27
0
-2
19
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
-4
-1
0
-13
0
0
0
0
0
4
0
0
-24
0
-11
-99
16
-17
5
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
18
0
0
0
0
0
0
0
0
1
26
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
37
0
0
0
0
0
0
0
0
-25
-19
0
5
2
-5
0
0
0
0
0
0
0
0
0
0
0
16
0
2
1
0
0
20
0
0
0
0
0
0
0
0
19
-48
-3
1
4
3
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
2
4
0
2
4
0
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
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
-22
-2
-8
-4
0
0
0
-15
7
2
0
0
0
1
-5
0
0
0
0
0
0
2
0
-29
17
-17
-53
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
4
0
0
0
7
11
0
-6
0
0
0
13
0
0
0
0
0
0
0
0
15
2
4
-39
45
-19
1
0
-24
-5
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
34
-7
-1
0
0
28
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-15
12
-6
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
-21
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
-7
0
0
0
23
10
-31
-34
-7
0
0
0
-17
-33
-7
28
0
0
-45
20
0
0
0
0
0
-12
-2
0
27
-7
17
-78
-48
-61
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
-1
-10
0
1
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
6
4
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-27
-4
0
1
-1
0
0
-43
-4
-21
8
1
0
0
0
21
-3
-2
0
0
0
-2
-34
0
0
0
0
0
-3
1
0
-12
-12
25
-45
-13
18
9
0
-24
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-12
0
-5
12
-1
0
0
-52
5
4
0
0
0
0
0
0
-1
0
0
0
0
0
66
0
0
0
0
0
0
0
0
21
-8
0
-18
9
6
-1
0
9
-10
0
-3
0
0
0
0
0
1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
-17
2
28
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-10
3
-11
0
0
0
0
-16
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
7
1
0
9
0
0
0
0
0
1
0
0
41
5
-16
-11
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
13
33
0
8
27
1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
31
0
0
0
0
0
0
0
0
-2
-7
0
0
-3
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-6
20
0
4
6
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
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
-19
0
0
0
0
0
0
0
0
44
1
-41
9
-26
0
4
0
0
0
0
0
72
4
0
8
8
53
35
-6
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
18
0
0
-22
0
0
0
0
0
0
0
0
21
-7
-10
-15
-12
-2
0
0
30
0
0
0
0
0
0
0
0
38
-6
37
-48
0
0
-12
0
0
0
0
0
-4
-1
0
47
9
-8
-11
-27
25
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
58
0
0
0
0
0
0
0
0
-1
2
1
1
2
-10
0
0
-28
0
0
0
0
0
0
0
0
19
0
1
8
-2
0
-42
0
0
0
0
0
0
0
0
35
8
-4
27
-25
-26
1
0
9
0
0
0
0
0
0
0
0
5
0
0
-3
-3
0
-6
0
0
0
0
0
0
0
0
5
5
-25
21
-18
-3
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
-20
0
20
18
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
88
0
0
0
0
0
0
0
0
8
-31
3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
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
56
24
0
-12
0
0
0
0
0
3
0
0
4
-14
-23
-9
-20
62
-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
-1
0
0
1
0
0
-28
0
0
0
0
0
0
0
0
31
-2
9
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
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
6
0
0
11
0
0
-10
0
0
0
0
0
0
0
0
0
-4
-1
-15
-8
-11
5
0
0
0
0
0
0
0
0
0
0
9
-2
0
-19
-8
0
-1
0
0
0
0
0
-35
1
0
6
0
30
-12
-11
5
18
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
10
-9
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
5
-7
0
1
8
-1
-1
0
0
0
0
0
0
0
0
0
0
46
0
0
2
-3
0
30
0
0
0
0
0
-1
0
0
4
12
22
1
-15
-5
-22
0
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
20
0
1
23
0
-1
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
37
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
-7
-2
-22
-45
0
0
0
22
43
0
0
0
0
33
1
0
0
0
0
0
6
1
0
32
-33
3
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
14
0
0
0
19
8
0
0
0
0
-1
-18
0
0
0
0
0
0
0
0
-45
31
17
-33
-33
-1
42
0
29
0
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-13
4
-3
-1
-25
0
4
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
0
-33
-1
7
-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
39
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
-2
0
0
0
1
0
10
-15
-56
-2
40
0
0
0
-46
-18
4
0
0
0
-1
-4
0
0
0
0
0
21
-5
0
1
6
17
55
0
23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
7
0
0
0
0
0
0
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
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
-6
0
0
0
0
2
1
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
40
-40
8
12
6
23
4
0
-24
-7
0
63
23
0
0
0
-21
28
-4
0
0
0
8
-5
0
0
0
0
0
-1
2
0
104
-55
12
-29
30
-26
9
0
-40
-1
0
2
0
0
0
0
-1
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
0
-28
-6
-4
1
18
1
-2
0
107
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
16
24
31
0
31
0
0
0
-22
13
1
9
0
0
0
0
15
14
0
0
0
0
-1
42
0
0
0
0
0
0
0
0
13
-21
-8
-40
2
-3
-12
0
-9
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-5
1
-1
0
11
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-1
3
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
60
-5
0
38
-6
0
-4
0
0
0
0
0
-2
1
0
15
-67
-59
36
-92
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
0
0
0
0
0
0
0
2
-2
11
2
31
-1
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
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-4
0
6
0
-23
11
-7
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
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
33
0
0
0
0
0
0
0
0
-38
17
0
10
-11
0
-1
0
0
0
0
0
-6
10
0
20
-27
-63
-14
-25
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
0
0
-5
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
-3
0
0
0
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
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
25
2
0
-31
3
0
-44
0
0
0
0
0
-1
0
0
-55
-25
59
-20
-40
-20
-25
0
-31
0
0
0
0
0
0
0
0
11
0
0
9
0
0
23
0
0
0
0
0
1
0
0
11
-13
21
24
30
-34
-3
0
1
0
0
0
0
0
0
0
0
-6
0
0
3
0
0
17
0
0
0
0
0
0
0
0
62
-34
-11
-12
37
15
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-21
0
0
0
0
0
0
0
0
-6
32
13
0
26
0
-1
0
-16
0
0
0
0
0
0
0
0
5
0
0
29
2
0
19
0
0
0
0
0
6
0
0
8
-67
-13
4
40
7
-11
0
-38
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-60
0
0
0
0
0
0
0
0
68
-13
-3
-9
0
0
-2
0
53
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-111
0
0
0
0
0
0
0
0
-43
-3
38
25
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
-54
0
0
0
0
0
0
0
0
4
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
31
10
0
1
0
0
0
0
0
7
0
0
-22
32
15
-38
37
-37
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
-6
0
0
0
0
0
0
0
0
0
0
-10
20
-2
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
-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
-62
-12
0
45
0
0
0
0
0
0
0
0
13
3
33
-22
29
17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
44
0
-10
0
0
0
0
0
1
0
0
7
0
-6
0
39
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-37
0
0
0
0
0
0
0
0
26
1
-1
-18
-6
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-25
0
30
0
0
0
0
0
0
0
0
-34
12
-61
10
52
-36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-7
0
25
0
0
0
0
0
0
0
0
-22
-22
7
36
-62
11
22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-46
0
0
0
0
0
0
0
0
9
13
-8
-59
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
-1
-19
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
-20
17
0
0
0
-40
0
0
0
0
0
32
-9
0
0
0
0
0
2
5
0
-72
28
39
10
-5
-12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-5
0
0
0
0
0
2
-52
0
0
0
0
0
0
0
0
-2
-19
14
-46
22
-19
5
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-1
0
-24
41
-3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
5
-1
95
-51
26
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
6
0
0
0
0
-22
6
61
-11
-34
0
0
0
41
0
0
0
0
0
31
4
0
0
0
0
0
-22
7
0
-9
19
-5
39
129
29
-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
-16
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
38
-7
-1
0
0
0
27
0
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
-8
-45
5
0
0
0
0
0
-3
0
0
0
0
0
21
25
0
0
0
0
0
0
0
0
22
25
-12
-14
-8
0
6
0
32
7
-30
48
15
0
0
0
52
0
0
0
0
0
-8
-3
0
0
0
0
0
25
-1
0
-54
64
-9
48
-50
10
26
0
27
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
42
-18
35
9
-11
7
-3
0
-20
16
1
-4
0
0
0
0
-20
0
0
0
0
0
-21
-20
0
0
0
0
0
0
0
0
13
-28
-14
85
-50
-4
3
0
-9
10
5
2
-2
0
0
0
-52
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
32
6
16
-68
-7
-1
6
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-9
8
20
15
-2
0
-5
0
-58
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
12
-2
40
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
-7
0
0
-43
-10
8
55
92
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
6
0
11
6
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-6
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-22
0
0
0
0
0
1
32
0
35
24
-5
-19
100
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-10
0
26
0
0
0
0
0
0
0
0
56
-19
-47
12
8
0
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-40
0
0
0
0
0
0
0
0
1
24
38
45
3
-1
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
26
0
0
16
0
0
0
0
0
0
0
0
-28
59
-38
24
6
26
-29
0
-58
0
0
0
0
0
0
0
0
0
0
0
-13
-51
0
-2
0
0
0
0
0
0
0
0
3
35
4
20
-28
-13
-4
0
-47
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-16
0
0
0
0
0
0
0
0
10
-21
-30
41
6
0
1
0
20
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
-14
-13
6
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
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
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
16
28
-25
3
0
-1
23
45
-1
0
-43
19
13
-1
7
1
-57
-82
-27
9
25
39
55
12
-18
-104
-31
-21
-14
-11
-15
-86
-25
8
-65
0
0
0
0
0
14
2
1
-1
0
11
24
-35
-4
0
-5
25
-21
0
0
34
-10
32
8
-1
-40
40
-112
-25
-24
80
-22
22
73
78
76
-23
-56
-17
23
-125
-34
6
-27
-82
20
14
-3
0
0
-7
-18
-33
0
0
0
8
12
2
0
24
-5
-6
0
0
7
15
-25
-38
0
-12
28
27
29
-44
9
-57
-68
18
46
-8
-44
8
-106
-36
-26
0
4
7
0
-3
9
-1
0
0
-7
-5
-6
0
0
9
-14
3
0
0
19
0
3
2
0
-17
9
-9
7
-4
2
68
16
60
5
-69
17
8
-19
10
-13
1
7
9
1
0
0
0
0
0
-2
-8
5
0
0
15
11
10
0
0
5
20
2
0
0
-33
44
-10
4
1
-9
-16
21
52
0
-55
-8
57
-48
-15
75
5
-3
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
19
-23
-3
0
-6
-12
0
-10
0
-21
29
4
7
18
-86
45
-85
-76
30
-28
117
4
-88
38
-18
-73
1
18
-20
-60
-76
-34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-4
16
0
0
3
-35
10
0
0
19
-13
-1
2
0
-19
5
34
45
-5
-23
-44
-18
-10
-20
1
18
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
34
0
0
0
-10
37
1
0
20
-4
-12
-12
-4
-58
-3
-36
-49
-17
1
10
26
47
-19
-8
23
-28
18
21
39
-46
-82
-139
-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
70
2
0
0
0
-29
-27
3
0
0
-31
-10
2
0
0
3
-16
19
-1
0
-7
44
-6
8
-4
27
12
-65
5
4
0
-7
3
13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
1
0
0
58
-6
-5
0
0
23
45
-13
0
0
-20
-37
-13
10
0
-32
5
50
-15
0
33
-13
-19
44
0
151
-49
-141
-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
-4
0
0
0
0
-39
23
0
0
0
12
-7
-1
0
0
-18
26
-10
0
0
26
-5
45
-3
0
7
31
-30
-25
0
-31
-9
16
-1
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
-8
-11
0
0
0
-11
-33
-7
0
0
36
-37
-22
0
0
-9
9
-75
0
0
34
40
28
0
0
61
-4
-72
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-1
-6
0
0
0
9
-51
3
0
0
-20
21
17
0
0
-10
-8
18
0
0
29
7
33
0
0
-25
-5
-95
0
0
0
-1
0
0
0
14
0
0
0
0
-6
-1
0
0
0
-47
12
1
0
0
44
18
6
0
0
-7
4
-89
0
0
11
-20
124
0
0
20
6
-40
0
0
-43
-8
3
0
0
2
0
0
0
0
-1
0
0
0
0
-4
2
0
0
0
-14
-3
0
0
0
-11
22
5
0
0
-4
-89
-56
0
0
5
-3
-10
0
0
-13
1
-5
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
25
1
0
0
0
-13
2
0
0
0
3
-4
6
0
0
60
42
-63
0
0
-1
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-41
54
1
0
-40
35
19
2
0
26
-60
19
1
-5
-8
-25
11
33
-26
-28
-7
23
-35
-13
-17
-5
5
6
38
-23
-27
8
6
-5
0
0
0
0
0
10
21
-27
-1
0
-7
-6
32
2
0
-10
-8
6
-2
1
-41
41
-36
-12
-6
-62
-35
66
53
-13
26
0
-8
-3
30
-4
-3
5
7
-20
0
-10
3
-12
-11
-21
28
10
0
0
3
54
34
0
0
7
-17
14
0
0
-12
2
-53
3
1
3
-49
80
13
22
-3
-36
-38
-46
27
3
-7
0
3
16
-18
-6
-2
-20
-32
-2
-42
3
14
-6
1
-1
4
0
0
1
-39
0
0
0
-39
20
5
2
0
16
-27
11
-1
0
-27
2
20
-34
-2
-8
-3
46
-3
-13
-33
-19
2
38
-25
0
9
2
-6
-1
0
0
0
0
0
4
25
-1
0
0
-64
3
3
0
0
-42
-36
-5
0
0
-14
-43
25
-5
1
-2
3
-50
-2
10
40
-50
-23
-23
-12
16
-3
4
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
20
36
0
0
68
41
-7
0
1
-8
15
-19
11
-21
-38
-38
-24
-37
-12
23
-4
22
29
-22
-21
-1
1
-5
-12
5
26
-31
-7
1
0
0
0
0
0
4
9
-15
5
0
15
14
-11
5
0
5
11
14
0
0
31
1
-17
4
1
-21
-10
25
-41
-12
-36
-15
-22
-29
48
-23
-13
8
-34
22
-75
13
4
7
-52
4
39
-3
-1
0
-10
4
-7
-1
0
1
-1
1
-8
0
-22
11
18
-1
0
13
16
-41
12
10
-36
-9
-90
3
12
-44
-19
-68
-2
95
1
-8
-53
-5
19
32
-28
0
-9
-1
-2
0
-2
0
0
28
3
3
0
0
22
-10
-10
6
0
-52
-4
18
6
0
6
8
13
-3
4
-3
-29
-55
-15
1
44
-26
-13
-13
-10
-11
-5
-10
-4
36
0
0
0
0
0
20
-21
-3
-1
0
2
20
-15
0
0
-3
-11
28
3
0
16
-18
-13
8
0
28
16
-61
-13
19
-53
18
28
-84
37
-7
6
-12
8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-8
-3
2
0
54
13
-57
-2
0
-6
21
25
-3
29
19
12
-14
-97
19
-53
12
2
-46
-12
21
4
1
-3
-16
-60
-48
-12
-8
-17
0
0
0
0
0
55
-26
9
0
0
-2
21
-5
-2
0
-32
17
-8
-3
0
-19
-21
32
14
7
4
42
11
19
-39
5
-11
-2
-10
-14
-19
3
-34
-6
-2
8
5
-29
-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
0
0
0
-1
2
-2
0
0
-34
-2
-5
0
0
-2
5
5
-2
0
-9
-22
-20
-1
0
-24
-5
-8
31
1
26
18
-74
-23
4
-7
15
9
-31
-15
12
-3
-1
-3
-3
0
0
0
0
0
11
27
0
0
0
-66
36
-6
-1
0
-1
-5
2
3
0
9
-9
-15
-2
0
49
-44
21
0
-8
-37
5
38
-31
3
-2
-2
0
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-15
1
1
0
-57
-24
29
0
0
-2
61
-33
-8
0
44
-4
70
-88
0
-2
13
-25
-10
0
5
2
0
7
0
12
5
12
16
0
0
0
0
0
0
3
-1
-1
0
0
-6
25
1
0
0
6
-12
-2
0
0
-74
-12
18
-2
0
4
-28
32
-10
0
7
10
38
63
0
4
-6
-18
5
0
-33
3
-10
36
0
7
-1
-4
0
0
12
1
0
0
0
2
-28
0
0
0
-25
37
-6
0
0
-53
-21
-32
-2
0
-17
15
-16
-38
0
31
9
67
13
0
9
-10
-17
-43
0
-17
-4
22
11
0
-7
1
0
0
0
-19
4
0
0
0
-37
14
0
0
0
-25
30
6
0
0
21
36
13
4
0
-3
8
-10
-19
0
-7
14
-14
-70
0
-15
-3
7
-4
0
0
0
0
0
0
55
1
0
0
0
34
50
0
0
0
20
2
-13
0
0
-24
-7
18
0
0
68
31
45
8
0
9
-25
-30
-29
0
-85
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
-5
-15
0
0
0
-15
-2
1
0
0
-38
-8
-2
0
0
-9
15
-50
0
0
8
15
72
0
0
8
-3
22
0
0
-6
-10
-22
0
0
0
0
0
0
0
-4
-1
0
0
0
6
-4
0
0
0
46
12
0
0
0
30
21
-24
0
0
15
-14
-38
0
0
7
2
11
0
0
-17
-3
25
0
0
4
1
-35
0
0
-5
2
0
0
0
-15
-1
0
0
0
-1
4
0
0
0
17
3
0
0
0
-23
2
4
0
0
25
14
-18
0
0
16
33
42
0
0
4
6
-37
0
0
-109
-9
4
0
0
-4
0
0
0
0
-7
0
0
0
0
-9
4
0
0
0
-3
-2
0
0
0
46
68
2
0
0
42
28
-25
0
0
2
-2
-12
0
0
-62
-20
7
0
0
0
0
0
0
0
-1
0
0
0
0
-22
0
0
0
0
53
-1
0
0
0
49
-13
0
0
0
-19
40
-15
0
0
-2
-26
-4
0
0
6
38
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
28
-8
0
0
3
-3
-20
1
0
-1
10
11
1
-1
-18
-6
-13
8
-8
-9
15
-26
-10
49
2
4
8
6
33
-9
-19
8
32
-10
0
0
0
0
0
-15
-17
-6
0
0
2
2
10
-1
0
7
-39
10
1
0
42
26
27
17
-3
0
42
-101
-31
-21
-14
27
-7
-27
21
-7
5
15
14
-41
0
-8
1
8
19
12
17
-2
0
0
6
-64
4
0
0
12
7
-3
0
0
-66
-31
54
0
0
29
-43
6
14
-6
-66
-4
63
-10
-53
-16
-4
16
-19
-15
-6
2
-1
6
46
22
-46
-1
-7
3
14
27
0
0
0
0
26
15
0
0
21
-24
8
0
0
24
-22
-22
-2
0
113
-42
25
-24
-1
-18
-43
13
-35
-4
-48
8
5
-12
-47
8
19
6
2
1
0
0
0
0
0
15
-19
-1
0
0
31
5
3
0
0
19
20
-3
0
0
-2
-15
-14
1
0
-20
12
-10
1
5
48
5
-17
-28
32
-1
-2
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-7
25
1
0
19
-25
26
14
0
22
-43
48
35
1
14
-30
-55
-17
-15
-20
-35
34
6
33
14
15
12
4
3
61
17
3
4
10
0
0
0
0
0
-35
-45
25
-9
0
-8
-11
33
-15
0
-3
-8
-19
-14
1
19
-4
20
-10
23
-15
-10
-77
21
23
2
1
9
-6
7
23
-3
0
3
-3
-4
-34
0
1
1
65
-31
-4
0
0
87
43
12
-1
0
-6
13
21
8
0
9
21
-33
-1
0
-32
-6
30
47
-22
-47
29
-18
-33
-55
7
1
7
30
13
5
-8
0
-2
5
18
10
-3
0
11
36
3
-5
0
0
-1
7
-17
0
-1
25
-16
25
9
0
17
-15
16
5
0
-45
51
-60
-8
19
-14
0
4
44
-6
-4
-1
-1
-9
9
-22
1
8
0
10
0
0
0
0
0
-14
5
0
0
0
-96
15
-13
0
0
32
34
-6
0
0
-25
8
-12
0
0
-18
-16
27
-14
1
53
-31
7
-7
-21
-5
0
-21
11
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
4
-2
0
-34
-28
16
6
1
-40
47
-25
-10
-1
6
24
25
-28
-22
7
-7
4
-28
-8
28
-12
23
4
-4
-2
26
-6
5
3
0
0
0
0
0
-1
69
5
-13
0
4
6
13
1
0
18
0
22
2
0
21
-7
-22
4
18
-4
-30
60
-37
10
7
12
9
12
-15
3
6
-5
-8
14
2
-14
-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
42
18
-7
-1
0
45
8
-23
-1
0
-43
17
19
-4
0
22
15
-10
16
-2
39
-3
-8
-16
9
32
-17
-2
-36
36
3
-14
-8
9
-14
-2
5
-2
-4
-2
0
0
0
0
0
-1
4
1
0
0
45
-43
3
0
0
-10
-2
-15
-1
0
-10
21
5
12
0
-28
17
-20
24
2
12
27
-8
-16
5
6
-50
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-34
-12
0
0
-25
31
-31
0
0
-19
24
7
0
0
25
-22
-32
66
0
32
3
30
22
0
9
-4
-11
-2
0
7
35
3
6
0
0
0
0
0
0
9
43
-26
0
0
19
5
-10
0
0
4
3
26
0
0
-28
26
4
14
0
-22
36
-10
-49
0
7
11
32
-18
0
2
34
-3
-21
0
6
2
14
2
0
18
-13
0
0
0
-7
-29
-3
0
0
15
29
-23
0
0
-11
46
21
2
0
-4
-62
31
10
0
18
-1
-23
-27
0
0
-12
-11
-8
0
1
4
0
-7
0
-23
14
2
-19
0
37
-10
-2
0
0
-7
-9
-5
0
0
1
16
16
0
0
13
-3
-1
0
0
6
-2
62
-6
0
6
4
-34
-7
0
-5
4
5
3
0
2
-4
4
-20
0
0
0
0
0
0
-5
-2
0
0
0
-1
3
0
0
0
-4
14
-4
0
0
22
7
4
0
0
27
13
-14
-5
0
-39
76
-2
44
0
18
-18
-3
-66
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
-8
12
0
0
0
11
24
-2
0
0
-46
69
26
0
0
-47
71
59
0
0
-19
6
9
0
0
3
-8
8
0
0
0
0
0
0
0
-5
0
0
0
0
1
1
0
0
0
-10
-4
0
0
0
-25
4
-2
0
0
-63
62
-9
0
0
41
21
80
0
0
-2
10
14
0
0
11
-2
7
0
0
0
0
0
0
0
14
0
0
0
0
-1
1
0
0
0
38
0
0
0
0
-17
-26
-1
0
0
-81
-6
15
0
0
0
15
14
0
0
-6
2
2
0
0
-11
-51
3
0
0
1
0
0
0
0
3
-1
0
0
0
1
1
0
0
0
16
0
0
0
0
-50
1
-1
0
0
-37
-22
-26
0
0
5
21
13
0
0
-30
-48
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
2
0
0
0
8
3
0
0
0
27
-12
-4
0
0
-18
21
-32
0
0
1
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
-4
24
3
0
-25
51
25
-33
-21
32
-43
41
-51
32
13
20
-19
-19
-83
13
-70
17
14
-81
3
1
-198
48
169
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
1
-2
17
2
0
-1
-14
50
11
0
9
30
-25
12
-35
35
18
-21
67
-14
12
-125
38
-22
7
-56
-1
-84
12
24
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
3
-15
0
0
2
8
-14
1
0
12
11
33
35
-9
-17
5
-23
-14
-44
-72
-62
-10
-56
87
-55
-186
32
59
41
0
0
0
0
0
-2
0
-11
0
0
7
14
-2
0
0
-1
14
-3
2
0
-4
-22
-8
12
0
10
-18
38
-17
-1
-31
60
-26
20
27
8
-96
-2
26
38
0
0
0
0
0
1
7
-2
0
0
0
2
-1
0
0
14
14
19
0
0
23
20
2
2
0
-12
72
5
-14
6
-35
28
18
50
-19
30
-12
-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
1
0
0
0
-41
-7
-10
5
-61
-15
18
-23
1
7
55
13
-20
-23
11
-79
-69
21
3
-2
-23
-50
-30
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
-1
0
0
3
-19
0
0
0
-6
-11
1
0
0
-5
11
2
-3
0
-47
32
-14
68
-25
-9
-39
68
-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
1
-7
12
-7
-2
-31
-67
9
-27
3
28
-33
56
-54
-5
-54
63
-158
23
47
-1
5
-19
-5
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-3
7
1
0
0
0
9
-2
0
0
0
-2
-18
-1
0
-25
-6
4
21
-10
7
30
3
-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
20
-8
29
-6
0
19
-33
33
-91
0
-13
27
77
15
0
-2
71
-79
69
0
-79
14
-34
-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
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
-11
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-1
0
0
0
3
-1
0
0
0
-18
-9
1
0
0
-55
-78
17
3
0
-24
42
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
-10
0
0
0
0
19
7
5
0
0
10
-18
7
0
0
26
-6
11
0
0
-56
25
-12
0
0
-57
-89
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-15
-3
0
0
0
15
7
-16
0
0
-30
-27
53
0
0
-18
-109
-105
0
0
-3
31
48
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
-2
-11
-17
0
0
75
1
2
0
0
-1
-39
60
0
0
-1
1
20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
-3
-1
0
0
15
-38
-4
0
0
25
22
-9
0
0
38
-62
-29
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
0
0
1
-10
-1
0
0
-19
27
-28
0
0
-40
-32
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-6
-12
0
0
14
42
-56
-5
-3
-21
8
-5
82
1
-29
-11
24
-18
-32
-2
2
16
15
39
-74
-37
-12
20
-3
13
14
-48
-112
50
0
0
0
0
0
-6
0
12
0
0
5
12
-5
-1
0
-10
-3
-4
-12
0
-35
26
-28
-29
-1
-36
-18
-60
29
-17
20
-23
0
70
9
-60
-32
8
-9
36
-67
-38
-8
-34
-30
-2
1
-1
0
0
-3
6
-5
0
0
12
11
-4
0
0
-11
9
13
-5
0
-11
20
-3
-9
10
2
24
-22
11
-18
20
-10
40
6
-20
-115
-73
18
-8
2
-42
18
-39
44
53
-2
2
-4
0
0
-6
-11
10
2
0
-42
24
16
1
0
15
23
17
2
0
31
55
-2
-8
10
23
-42
20
-52
-42
34
32
-33
83
-65
-64
-13
3
3
108
0
0
0
0
0
20
-14
-2
0
0
59
-19
3
-1
0
6
-39
8
-7
0
-21
39
57
7
0
-8
-17
42
23
3
-43
23
-44
4
10
40
-26
4
-6
9
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
2
-11
-18
-2
0
-8
-31
28
-39
-11
37
-78
3
-19
39
-34
23
-6
-36
6
-114
-18
11
34
-12
-82
-77
-115
80
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
8
0
-11
4
25
-7
-10
-2
-24
-17
-9
2
-1
-27
-52
-26
-60
0
-3
12
-9
3
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
5
-6
-8
3
9
-4
-27
-12
-9
-28
-85
3
-40
63
0
0
-23
80
-101
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
0
24
14
-4
-2
-7
-34
-43
24
-10
-19
-67
-64
-76
-44
0
0
0
0
0
-5
3
0
2
0
-34
-5
26
0
0
-30
63
4
-2
0
-15
6
17
13
0
9
13
-11
-48
-14
24
-17
-22
11
-1
-55
-10
8
-51
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
-10
0
-10
-1
0
-1
-55
17
22
22
57
-52
30
-27
18
-53
9
2
-10
-9
-46
3
-44
17
9
-67
-30
51
-105
-99
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
15
-44
15
6
11
69
1
-4
13
-13
22
-86
-40
-77
0
0
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
-2
0
0
0
0
0
-4
-1
0
37
-47
0
8
1
0
11
-3
-20
-1
0
0
0
0
0
-7
-5
0
0
0
-37
18
27
0
0
13
-42
14
1
0
6
-38
-28
2
0
-10
11
50
-10
2
-29
-50
31
-52
-18
-36
25
-10
11
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
-8
2
0
0
0
20
-5
50
11
0
-35
4
29
16
0
11
17
34
46
0
-6
-1
-12
10
0
-71
-41
-3
-20
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
-28
-12
18
4
0
-6
-24
9
15
0
6
-94
-58
76
0
1
99
-23
-39
0
0
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
-61
8
0
0
-34
33
-45
3
0
-27
92
-98
-38
0
6
62
49
-25
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
-2
-9
-4
0
0
-3
-7
10
0
0
44
-31
-40
33
0
10
70
125
-37
0
0
0
0
0
0
3
0
0
0
0
11
-26
0
0
0
-18
-3
0
0
0
39
-3
-3
0
0
39
27
-3
4
0
-41
-26
13
-35
0
15
-16
-71
52
0
0
0
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
0
14
-60
6
0
0
-32
4
8
0
0
7
0
-34
0
0
-4
28
40
0
0
18
-119
-80
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
7
2
0
0
0
14
21
0
0
0
31
2
-12
0
0
-18
7
62
0
0
-17
-87
-36
0
0
-5
14
-81
0
0
0
0
0
0
0
12
0
0
0
0
1
0
0
0
0
3
1
0
0
0
16
-3
1
0
0
-34
-13
-1
0
0
-10
12
-17
0
0
17
25
-39
0
0
-78
5
5
0
0
1
0
0
0
0
14
0
0
0
0
19
2
0
0
0
-13
-8
0
0
0
19
8
2
0
0
-44
-2
48
0
0
15
-35
40
0
0
-49
31
-39
0
0
0
0
0
0
0
2
0
0
0
0
-37
0
0
0
0
32
0
0
0
0
-4
7
0
0
0
-13
11
14
0
0
-2
-34
-11
0
0
19
7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
28
-1
0
57
-41
-12
-1
0
-9
76
-51
-5
1
-69
21
41
-37
-37
-11
12
1
34
-10
-16
-7
0
13
26
-25
-54
16
24
-26
0
0
0
0
0
-8
19
-11
0
0
-39
40
-1
0
0
-9
49
-8
0
-1
3
-42
42
-4
-5
-4
-46
27
8
18
107
-29
16
-5
-63
-73
-5
-10
-38
-33
-42
-11
-13
26
67
1
-5
0
0
0
1
-5
1
0
0
-35
11
7
-1
0
-12
-18
14
7
0
1
39
6
-24
2
-44
-98
122
-72
-5
58
-23
20
48
34
-31
24
-9
-4
44
25
54
6
72
-63
-14
-9
1
0
0
39
47
-25
0
0
-21
39
25
-1
0
-9
-22
-35
2
0
-26
16
-13
52
3
-38
5
-74
36
40
26
-40
-7
8
65
-43
16
15
-4
-28
0
0
0
0
0
-33
7
-3
0
0
-25
-10
22
0
0
-7
15
11
-3
0
84
-8
2
-4
0
13
-62
27
19
-19
-13
-4
-49
13
-14
-4
-12
16
-28
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
9
0
0
-47
27
-25
-4
0
-19
17
20
-20
-7
24
-86
-28
6
2
-5
9
-4
12
19
-46
-13
-4
3
13
-53
-69
-17
23
-27
0
0
0
0
0
0
3
3
0
0
0
0
1
0
0
0
-3
19
-4
0
-8
-38
44
0
12
20
72
48
47
-68
127
25
48
-9
-16
-73
-136
-117
-3
92
-106
-28
-60
-19
22
0
-1
0
0
0
0
0
1
0
0
0
14
-2
5
0
4
6
-4
0
0
-8
10
14
1
-1
-7
-141
25
38
-21
-51
23
-36
6
23
-58
-68
-27
20
-22
79
42
13
41
30
-3
0
0
0
0
0
-2
-3
0
0
-1
2
0
-2
0
-5
10
7
-1
0
2
-42
-7
6
-1
-34
-14
56
-61
18
-31
10
62
30
-38
35
-17
-32
1
34
0
0
0
0
0
-11
-12
-1
0
0
38
-37
-9
0
0
4
-7
9
-1
0
7
53
-1
-1
0
-21
-28
41
16
-4
47
-27
-28
-26
-22
3
8
22
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-17
-6
0
0
-10
-8
1
0
0
-68
-28
-12
-2
8
-53
42
38
-1
-28
-17
9
3
-19
6
-5
0
-17
-15
-6
-79
13
-23
45
-23
0
0
0
0
0
-3
0
2
0
0
-2
0
1
0
0
2
9
4
0
0
-15
9
-2
0
-5
21
-93
11
-48
44
100
5
-42
-56
12
-2
19
-27
8
-48
-162
-74
-40
207
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
7
-5
-2
0
0
-1
13
10
0
0
-8
11
16
4
6
-40
-14
-60
2
-29
15
24
-32
29
35
40
-34
24
-21
-8
0
0
0
0
0
6
-8
2
0
0
16
1
3
0
0
40
21
-14
3
0
-2
4
13
14
0
13
75
8
-49
7
-46
-4
11
9
17
76
-33
-7
-2
13
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
-15
-16
1
0
0
-45
-14
-19
1
0
-16
22
-42
4
0
-1
5
-12
69
0
-7
-10
5
-24
0
-13
-17
-7
61
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
-8
4
0
0
0
-6
-7
6
6
0
-23
-37
-39
-63
0
-45
-5
-60
-10
0
4
5
25
-9
0
-12
-4
74
111
0
0
0
0
0
0
-1
0
0
0
0
-13
-2
0
0
0
24
-25
0
0
0
-9
17
18
0
0
-72
13
61
-14
0
61
-3
-40
20
0
-2
31
37
49
0
-77
-31
2
-13
0
2
0
0
0
0
2
2
0
0
0
-21
1
0
0
0
44
-6
0
0
0
-12
19
-27
-9
0
-17
-27
-10
57
0
11
-31
15
-16
0
-26
-26
22
2
0
0
0
0
0
0
-7
0
0
0
0
-9
6
0
0
0
6
14
1
0
0
-12
14
-6
0
0
-35
2
-12
1
0
0
-40
37
-6
0
48
28
9
-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
0
33
0
0
0
0
-8
61
3
0
0
25
18
46
0
0
1
18
12
0
0
7
-5
9
0
0
11
-16
-17
0
0
0
0
0
0
0
-3
0
0
0
0
22
1
0
0
0
25
0
0
0
0
-36
-7
1
0
0
-15
-16
-45
0
0
18
16
-70
0
0
-8
-11
22
0
0
-7
-16
44
0
0
0
0
0
0
0
5
0
0
0
0
14
-1
0
0
0
-21
-3
0
0
0
17
28
-19
0
0
37
-6
38
0
0
-11
2
43
0
0
-19
0
15
0
0
-11
43
-31
0
0
0
0
0
0
0
-8
0
0
0
0
-11
-1
0
0
0
19
11
-3
0
0
-17
-41
8
0
0
14
-30
-22
0
0
-17
32
12
0
0
18
3
29
0
0
0
0
0
0
0
-2
0
0
0
0
31
0
0
0
0
6
-1
0
0
0
-50
-5
0
0
0
58
-23
4
0
0
-28
-48
63
0
0
62
40
-12
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
-80
-11
15
0
0
23
23
13
0
0
-55
46
-10
-24
12
-6
12
-5
19
61
20
6
2
17
44
-4
-34
11
19
9
0
0
0
0
0
10
-1
5
0
0
-31
-5
0
0
0
15
-19
16
0
0
18
-69
-25
-3
0
-67
48
0
-25
29
-18
4
7
14
15
-12
11
0
19
-37
47
46
-7
-5
97
-4
-10
0
0
0
64
1
2
0
0
7
27
4
0
0
45
-61
4
0
0
-19
29
23
6
-1
88
59
-44
-19
-14
20
-33
2
-45
32
-4
20
-4
8
38
-82
-80
50
96
-10
13
7
0
0
0
-45
-14
10
0
0
-24
-15
-3
0
0
5
4
-35
0
0
-4
-19
-3
1
-1
-6
41
55
-51
13
-6
-38
13
10
3
-56
137
6
24
27
0
0
0
0
0
16
-7
2
0
0
-15
1
-1
0
0
4
-12
0
0
0
-1
35
-1
0
0
-16
5
8
6
1
-40
-50
-6
11
-10
-6
107
16
-15
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
0
0
-22
-4
13
0
0
74
-19
-14
17
-1
34
-97
21
-50
-12
26
2
15
42
0
-7
16
6
1
-2
22
-71
12
13
16
0
0
0
0
0
14
1
-7
0
0
-32
9
6
5
0
3
14
-1
2
0
-41
5
10
-11
-9
44
10
28
-35
-13
78
26
9
-21
-20
-38
-25
0
-48
28
-134
-32
5
1
-13
2
-1
0
0
0
-6
-3
-10
0
0
14
-21
-1
2
0
-40
1
6
14
0
37
36
-32
18
2
12
-14
-25
46
21
-6
-51
-60
-6
-104
29
4
28
18
24
-145
-39
24
19
97
9
-5
0
0
0
-17
2
4
1
0
-29
34
2
0
0
8
-12
-8
-7
0
-1
-16
-19
-11
4
22
-44
19
47
6
-11
15
-1
51
-9
-109
5
17
-11
38
0
0
0
0
0
1
7
-1
0
0
19
-12
-1
0
0
0
8
-1
-2
0
23
-11
7
0
0
-2
-23
39
16
1
-31
66
-57
38
-4
16
29
-9
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
10
-18
10
-1
0
13
32
10
5
-3
36
-9
-58
24
11
-8
6
20
26
50
56
-2
-3
6
2
-46
-58
-10
55
8
0
0
0
0
0
6
2
3
0
0
9
-3
-6
1
0
8
-3
-21
0
0
9
-42
7
37
-5
-34
-12
-51
5
-37
-34
15
10
-18
2
-15
-9
8
67
-13
-117
-32
34
-38
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
4
0
0
0
0
-13
-1
15
0
0
-20
2
8
1
0
-23
-12
44
0
0
5
31
35
3
-1
-8
-6
-32
35
-67
59
5
-7
-46
-19
19
-10
-33
49
10
0
0
0
0
0
-1
9
0
0
0
-3
-5
1
0
0
7
-3
0
0
0
-5
-25
2
3
0
-5
13
-9
13
0
12
-47
-46
37
32
-6
88
24
-36
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
19
0
0
0
-3
37
-11
-2
0
48
20
-18
-2
0
-37
4
-5
24
0
-10
-7
22
-19
0
20
7
28
90
0
0
0
0
0
0
3
4
0
0
0
4
2
0
0
0
-23
-58
1
0
0
56
-22
-10
-21
0
-11
-5
14
44
0
9
-12
6
-29
0
10
-3
-15
-34
0
-73
19
21
49
0
1
1
0
0
0
22
-7
0
0
0
-22
12
0
0
0
17
-10
-1
0
0
5
-14
-23
1
0
40
-22
-61
9
0
42
44
-10
81
0
-6
11
32
-17
0
-90
-46
4
65
0
-12
0
0
0
0
42
-25
0
0
0
15
15
3
0
0
-26
19
-3
0
0
-26
-37
11
9
0
-94
-44
-15
-66
0
32
11
5
9
0
29
-21
-37
14
0
0
0
0
0
0
2
0
0
0
0
7
-4
0
0
0
-1
-3
0
0
0
0
-9
0
0
0
-5
2
-8
0
0
21
26
-53
40
0
-2
35
27
-27
0
0
0
0
0
0
0
0
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
-4
0
0
0
-32
-45
-5
0
0
80
39
-12
0
0
-2
3
22
0
0
-7
46
5
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
10
0
0
0
0
4
-8
0
0
0
-17
-21
-25
0
0
-46
-14
-5
0
0
11
47
13
0
0
32
-31
34
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
12
16
6
0
0
-10
-7
61
0
0
47
4
-1
0
0
7
27
69
0
0
0
54
-42
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-2
0
0
0
-7
-11
29
0
0
65
60
14
0
0
-114
23
47
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
2
0
0
0
29
19
-2
0
0
1
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
4
-4
0
0
0
3
-1
1
0
0
7
45
-10
-11
0
9
25
32
43
-36
-81
13
11
8
-3
-6
30
10
58
-8
0
0
0
0
0
-2
0
0
0
0
-4
-4
0
0
0
1
0
2
0
0
1
40
0
-1
0
-44
-4
-1
-9
10
34
43
37
1
1
-12
29
11
34
22
24
-90
-14
-6
-34
0
0
0
0
0
-2
0
0
0
0
-13
0
0
0
0
1
1
0
0
0
-5
16
-8
-3
0
-2
17
21
-21
0
35
-1
36
24
-15
36
20
25
-8
46
-74
-2
75
0
40
0
4
0
0
0
5
0
0
0
0
22
0
0
0
0
-6
1
-5
0
0
0
-8
-8
-5
0
2
-85
-2
5
2
9
-20
66
-22
28
47
192
-46
21
-97
0
0
0
0
0
-6
-1
0
0
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
-9
0
0
0
2
1
5
-1
0
0
4
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
0
-1
-1
4
0
0
-6
-54
5
0
0
-11
59
38
-34
-1
116
0
28
26
-5
-65
45
4
12
3
-1
-24
14
-7
137
0
0
0
0
0
2
-2
-1
0
0
17
-2
2
0
0
-18
31
-37
0
0
-17
20
-51
4
-3
-96
59
-27
10
-40
-2
52
11
2
-7
21
-9
51
-14
71
18
-43
-19
25
-29
-2
0
0
0
0
-5
8
0
0
0
13
-5
3
0
0
1
15
-8
0
0
-25
-36
34
-5
-6
-18
74
62
-32
-17
-1
-2
51
28
22
-52
-3
-48
34
77
21
-4
97
-9
-110
0
3
1
0
0
0
14
-1
0
0
-41
-17
0
0
0
17
18
0
1
0
4
18
67
-1
-1
-19
-31
-19
0
-10
-35
66
16
-34
-11
87
-49
56
9
-18
0
0
0
0
0
5
-10
0
0
0
12
-1
0
0
0
0
1
0
0
0
0
0
3
0
0
0
2
-1
-2
0
1
9
8
-6
-13
0
33
-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
-2
0
0
0
0
0
1
8
1
0
0
-4
17
-14
1
6
-17
55
-13
59
-47
1
-11
23
3
6
107
2
67
-29
0
0
0
0
0
0
3
0
0
0
-4
10
-2
0
0
4
23
12
0
0
1
24
39
0
-2
-22
-48
-23
36
9
-9
74
-28
-15
26
-97
15
-1
83
-8
-1
-111
13
-35
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
5
2
0
0
0
3
1
5
0
0
1
-10
4
0
0
1
-11
-42
0
0
3
-5
35
1
0
-23
29
58
-10
12
-12
-76
17
46
77
0
81
-98
6
-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
14
3
0
0
0
3
-25
0
0
0
-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
3
0
0
0
0
-2
1
0
0
0
3
1
5
0
22
-39
-35
-22
0
76
21
-49
-28
0
-92
-20
17
136
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
9
-2
0
0
2
18
8
-1
0
37
8
-15
30
0
8
43
5
68
0
-9
-17
19
-37
0
121
-9
-24
24
0
0
0
0
0
0
2
4
0
0
0
1
-1
0
0
0
-1
-3
0
0
0
64
25
14
-1
0
-31
19
25
1
0
-34
12
9
-81
0
202
-53
58
25
0
0
25
-22
98
0
4
0
0
0
0
-8
-3
0
0
0
8
0
1
0
0
-6
-2
1
0
0
8
-7
-5
-4
0
50
-75
55
14
0
-21
9
-2
-55
0
0
-3
5
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
5
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-18
0
0
2
-10
-15
0
0
-4
42
37
0
0
0
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
-20
2
0
0
-24
-43
-49
0
0
-18
24
22
0
0
1
77
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
-3
0
0
0
-16
-27
8
0
0
0
49
-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
10
1
7
0
0
0
17
-1
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
10
-3
-2
0
0
42
-18
6
0
0
23
-1
-8
0
0
23
-1
-32
-10
-34
46
-51
-20
5
-30
-21
-19
14
-26
-16
-147
32
-20
12
-28
0
0
0
0
0
-1
11
1
0
0
10
-13
9
0
0
-33
-3
-4
0
0
-49
-8
20
-2
0
11
-18
3
0
-14
-60
30
10
-63
-23
-74
4
-8
4
-51
10
-20
-6
-12
0
-3
-2
0
0
0
6
1
3
0
0
-6
7
0
0
0
37
-17
24
0
0
42
-46
21
-14
-10
-16
16
-27
-44
40
65
26
-41
12
-5
-24
-6
-7
-14
-8
-27
18
10
-3
-23
-11
-3
0
0
0
38
9
0
0
0
61
-27
1
0
0
-39
26
6
-1
0
15
-34
10
-15
15
-30
-11
-14
-40
8
-16
55
-13
-17
4
-35
-9
-9
-3
-24
0
0
0
0
0
-3
7
0
0
0
18
4
-2
0
0
23
-17
-1
0
0
12
-37
15
0
0
58
-16
19
-23
-2
-56
2
-6
67
-42
-9
-5
-5
-7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
11
0
0
10
-17
-6
0
0
35
70
-24
7
-1
-44
39
26
89
10
-10
-4
15
-74
24
4
-13
-8
2
-29
-16
-141
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
-47
10
1
0
0
-7
-21
21
0
0
1
22
18
39
0
47
-67
-65
-33
-2
-3
12
18
8
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-3
-7
0
0
-17
2
0
-1
0
14
-12
-9
8
0
2
35
20
-26
11
-5
2
-30
-25
-5
-30
14
13
-17
9
-22
-2
-55
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
-51
24
1
0
0
25
0
4
0
0
20
-15
4
20
0
-16
-51
21
-6
-3
36
-32
38
31
5
-24
16
2
0
-28
-26
9
-19
-2
0
-11
0
0
17
-18
20
-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
-6
-1
4
0
0
-16
5
1
0
0
-5
54
-4
-4
0
21
10
15
-2
0
20
-30
-9
-3
-4
2
2
-6
15
-52
3
2
3
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
17
0
0
0
15
-8
0
0
0
-48
2
2
0
0
26
16
-40
-12
0
35
-4
-2
27
0
21
15
4
-7
0
-103
-17
-149
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-2
0
0
0
-9
-1
0
0
0
13
17
7
0
0
-56
-13
-5
1
0
-37
-17
-13
38
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
-4
0
0
0
0
-1
0
0
0
0
25
-10
1
0
0
10
34
14
0
0
134
4
24
0
0
-6
10
-11
0
0
4
-27
-52
0
0
0
0
0
0
0
-11
0
0
0
0
-2
0
0
0
0
21
0
0
0
0
-1
10
16
0
0
58
-42
27
0
0
1
15
-15
0
0
-44
10
-31
0
0
-9
6
-36
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
24
40
2
0
0
22
-32
-1
0
0
-4
-19
23
0
0
-11
-5
10
0
0
2
9
38
0
0
0
0
0
0
0
-2
0
0
0
0
13
0
0
0
0
26
0
0
0
0
-4
-15
-4
0
0
-37
67
-49
0
0
12
23
25
0
0
5
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-21
0
0
0
0
6
0
-1
0
0
6
25
-14
0
0
-2
-13
4
0
0
2
11
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-14
4
0
0
-10
-40
-9
0
0
49
-26
2
0
1
123
-13
-55
1
-5
30
15
4
-16
-12
2
5
11
12
-4
4
14
4
-10
6
0
0
0
0
0
-22
9
1
0
0
-6
11
-7
0
0
-11
1
8
0
0
30
-16
-17
11
-1
38
-37
19
-82
-9
-5
13
9
24
-12
12
4
4
-1
-1
15
1
2
1
3
3
1
0
0
0
-29
16
-7
0
0
19
-43
-3
0
0
2
14
-48
0
0
-53
9
-42
7
1
26
26
-43
51
-3
31
12
5
3
38
7
-9
8
0
-4
44
21
5
46
-30
-5
18
1
0
0
64
20
-1
0
0
-56
-54
-4
0
0
9
-2
14
0
0
-63
26
56
20
-11
-80
7
-54
-51
34
4
22
-23
-10
-8
15
15
-8
2
9
0
0
0
0
0
-18
12
0
0
0
9
1
-1
0
0
28
-71
5
-1
0
-60
36
-11
-1
0
72
37
-6
20
-9
28
-92
-48
-3
20
-1
15
31
-35
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
-3
0
0
-8
19
-7
-1
0
8
85
-46
-26
0
28
-12
-39
46
-20
-74
2
-2
13
26
7
10
18
4
3
32
-24
6
2
1
0
0
0
0
0
68
-9
10
0
0
-24
-5
15
0
0
19
24
31
0
0
14
-42
31
-8
-2
-8
-63
62
-29
-28
-38
-1
-24
32
31
0
10
0
2
-13
10
28
-10
-12
-21
11
-7
0
0
0
-21
-3
-2
0
0
18
20
9
0
0
-18
11
13
-1
0
22
14
24
11
-3
-21
-15
10
47
25
7
-49
34
24
-48
31
3
10
-28
-34
-2
-43
-24
-21
0
7
-5
5
0
0
4
-4
-1
0
0
3
-23
-6
-2
0
0
3
-18
0
0
43
-22
58
-12
-3
-15
-46
60
-71
-3
-62
9
-22
32
-43
-7
-1
17
-26
29
0
0
0
0
0
11
8
0
0
0
43
5
0
0
0
-32
-1
-10
0
0
30
-9
7
0
0
1
5
2
13
9
23
30
49
5
-56
-13
-3
-7
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
40
2
2
0
32
-25
-35
1
0
21
-42
21
11
0
6
-6
59
-34
-39
-21
-28
23
48
58
16
15
5
-2
18
28
24
-13
2
-7
0
0
0
0
0
-2
0
-2
0
0
-1
2
7
0
0
-34
16
-27
1
0
7
41
47
-16
7
44
6
-9
36
18
21
-1
7
-13
-12
-8
-7
4
-2
-16
6
19
4
14
-51
105
-33
-3
-3
0
12
31
-37
-2
0
-29
26
26
-48
0
22
73
-18
8
1
-1
22
-37
7
-8
36
-6
6
0
-8
1
2
-17
-8
-5
-2
-2
1
-1
4
-7
-8
-2
17
-7
2
-2
-1
0
0
-20
33
-10
0
0
-31
33
7
4
0
15
24
-9
10
0
3
-36
3
31
2
-6
28
-16
-1
2
14
11
-28
23
78
5
1
24
-2
10
0
0
0
0
0
5
5
-2
0
0
-4
-10
9
0
0
22
37
5
8
0
-4
74
1
-4
0
23
9
-46
19
20
-11
-17
27
13
-29
-10
6
19
-42
40
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
0
7
6
5
0
0
34
-19
-3
1
0
-30
25
10
9
0
40
-18
0
-17
0
3
28
2
12
0
16
6
-24
-9
0
0
0
0
0
0
23
-5
0
0
0
3
-3
-1
0
0
0
45
-3
0
0
4
10
-21
-8
0
-7
-2
-18
38
0
11
6
-4
21
0
13
4
-31
-37
0
-33
-33
4
5
0
4
0
0
0
0
1
9
0
0
0
-29
-22
-1
0
0
1
-21
1
0
0
16
60
23
-20
0
-30
-41
-22
-12
0
96
1
-7
72
0
-10
16
-1
11
0
-1
1
18
-2
0
2
0
0
0
0
1
-2
0
0
0
9
-2
0
0
0
4
17
0
0
0
-61
-9
28
16
0
27
-30
47
33
0
8
-8
-10
45
0
1
4
-50
0
0
0
0
0
0
0
-3
-4
0
0
0
-6
-2
0
0
0
22
-4
0
0
0
-45
-69
0
-1
0
58
23
-26
-3
0
-7
39
-30
-2
0
12
24
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
5
0
0
0
0
37
14
0
0
0
-20
-65
-13
0
0
-54
-1
-38
0
0
2
18
13
0
0
36
4
-5
0
0
0
0
0
0
0
-1
0
0
0
0
-1
2
0
0
0
-6
0
0
0
0
16
-9
-1
0
0
46
-32
8
0
0
0
20
-2
0
0
13
-6
5
0
0
-3
-2
-4
0
0
0
0
0
0
0
9
0
0
0
0
-1
0
0
0
0
-5
-1
0
0
0
-11
-23
-2
0
0
-22
47
-31
0
0
6
1
0
0
0
4
-7
-22
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-17
-39
-12
0
0
41
4
26
0
0
4
27
52
0
0
-5
-10
-13
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-41
2
0
0
0
-54
26
15
0
0
3
-17
45
0
0
4
-5
-52
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
-4
0
0
-36
-15
0
0
0
-68
-3
6
-1
-2
2
7
-41
-53
23
15
13
6
13
-55
16
-15
8
-14
8
0
0
0
0
0
7
-7
0
0
0
34
0
0
0
0
59
-5
-10
0
0
-29
-3
-1
-1
0
1
-51
-2
-16
-1
12
7
-25
16
60
-6
5
14
1
-4
18
7
-6
9
14
4
1
0
0
0
30
-6
0
0
0
-37
6
-5
0
0
-8
29
-2
0
0
18
5
-14
2
0
-48
52
-70
-10
4
7
-4
2
-50
-6
34
1
12
-4
22
31
18
-28
43
-14
-3
-5
0
0
0
27
-14
0
0
0
-4
-6
0
0
0
-20
10
3
0
0
1
-32
-42
-2
-4
51
23
-46
4
-18
29
1
7
2
-24
23
31
12
-19
-15
0
0
0
0
0
17
-2
0
0
0
3
-2
0
0
0
-3
0
0
0
0
11
-26
-14
0
0
-32
16
-2
-22
1
-56
12
48
-68
5
-34
21
-43
6
9
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
-13
-15
1
0
0
4
-31
-9
0
0
-10
21
16
-24
3
-34
-9
25
25
-24
15
7
6
-10
-13
27
7
7
-6
6
0
0
0
0
0
-52
13
-2
0
0
5
32
-14
2
0
-28
-1
14
0
0
14
31
-22
12
-8
-15
5
39
-44
14
14
6
6
-5
64
7
2
2
1
16
13
11
4
-5
-13
-6
8
-1
0
0
27
-23
20
0
0
-23
-11
-5
-1
0
30
-12
-2
10
-2
42
-4
-37
-6
12
-57
25
32
5
2
0
3
-3
-22
42
3
3
-2
4
-5
35
20
19
-1
-2
-6
20
-6
0
0
7
-22
26
0
0
-32
19
16
-1
0
-4
-14
0
0
0
54
-15
0
35
-8
-115
47
2
-16
-33
-74
9
10
37
-3
26
-2
-2
-26
86
0
0
0
0
0
-4
0
-1
0
0
7
2
1
0
0
8
1
-1
0
0
-4
-37
-15
-1
0
38
33
4
-3
-6
-43
-66
-17
56
27
26
16
46
-40
18
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
-7
35
38
0
0
8
-5
-6
2
0
-4
-30
15
57
17
31
15
-5
7
-12
117
6
16
18
31
20
49
7
-2
10
0
0
0
0
0
-3
-21
2
0
0
17
-32
9
1
0
3
-23
-14
-6
0
-17
33
-10
10
0
-17
11
-21
-23
-15
4
10
-9
23
36
10
1
3
1
-12
17
-20
2
-1
13
-24
42
0
0
0
7
-9
46
-5
0
35
3
26
5
0
-9
-4
7
5
2
-24
-2
18
-28
10
-20
-11
13
-7
47
6
-35
8
4
30
7
2
-4
0
37
-1
3
10
39
-6
13
17
0
-1
0
28
-26
7
-1
0
-8
-35
-8
1
0
-2
10
26
-11
0
-44
60
16
-9
3
-41
45
-2
14
-42
61
-7
32
-20
15
10
1
-3
6
-45
0
0
0
0
0
3
-6
-1
0
0
-6
17
0
0
0
2
-3
5
-1
0
8
7
-22
-1
0
-23
-3
65
2
-3
38
41
57
14
32
-40
8
23
13
-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
3
-10
0
0
0
0
13
4
0
0
11
19
-11
0
0
59
-33
47
-54
0
-5
31
-24
17
0
73
-2
-3
-23
0
0
0
0
0
0
-3
1
0
0
0
-8
3
0
0
0
-14
-21
-5
0
0
8
-45
-18
4
0
-22
-13
-37
-25
0
-2
-34
-43
-2
0
-4
-3
2
-25
0
29
3
7
-7
0
1
0
0
0
0
0
5
0
0
0
5
9
-5
0
0
-19
-17
4
0
0
-12
-6
10
29
0
-7
81
30
33
0
1
21
9
-15
0
-6
-11
3
-4
0
22
9
-13
4
0
-9
0
0
0
0
0
0
0
0
0
5
-4
-1
0
0
6
9
6
0
0
45
10
2
-6
0
-8
30
-25
32
0
-19
-6
30
21
0
-26
-15
-1
39
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
2
0
0
0
0
56
-12
-1
0
0
-22
-17
11
0
0
-33
41
14
23
0
-6
-18
-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
1
0
0
0
0
0
-1
0
0
0
0
2
1
0
0
-76
-12
-20
0
0
-57
37
25
0
0
1
-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
2
0
0
0
23
7
7
0
0
-19
30
-23
0
0
6
9
12
0
0
8
4
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-4
4
0
0
0
22
40
-26
0
0
2
38
8
0
0
-86
-23
19
0
0
-72
-102
-53
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
23
19
0
0
0
-15
10
-3
0
0
70
16
-20
0
0
-50
-42
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
-2
-1
-1
0
0
29
-14
7
0
0
-21
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
-2
0
0
0
0
29
-6
-1
-1
14
45
48
29
11
-48
-68
-21
84
-34
-8
3
-157
-148
-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
-1
-14
-10
0
0
3
-21
-11
39
-12
2
-35
13
-14
-23
-35
0
-14
-37
2
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
-6
9
3
-3
0
13
-9
18
7
-4
-87
-60
-35
1
0
1
-65
-47
37
0
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
-11
4
0
0
1
-5
10
0
0
1
-5
40
-17
-26
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
-2
0
0
0
1
-22
-3
0
0
4
-18
-20
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
-1
4
-2
0
-1
-65
-45
24
-5
-97
37
-77
-11
53
-15
-1
-9
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
1
-3
0
0
-1
19
-61
-49
-36
-11
-38
-28
16
-24
7
-3
-32
6
-17
-164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
-2
-6
0
0
-63
43
-13
-2
0
-39
-28
106
-70
0
-19
-69
-48
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
1
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
-6
0
0
0
0
-56
-17
-6
0
0
-21
0
-3
0
0
92
-8
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
-1
-9
0
0
0
-29
26
2
0
0
-61
-53
44
0
0
2
-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
-1
-14
0
0
0
11
24
6
0
0
0
-9
-1
0
0
3
-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
6
0
0
0
-2
-2
0
0
0
1
0
0
0
0
-17
-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
-5
0
0
0
0
1
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
-3
1
0
0
-53
-12
31
-12
13
-67
37
-37
-25
-13
-9
-10
14
8
10
-13
-85
-13
-20
-105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
3
5
3
-1
0
-72
49
-66
-7
0
20
18
-47
66
-26
-28
-33
53
-24
-6
80
-65
3
-125
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
1
-1
0
0
27
33
3
0
0
-34
-36
25
52
5
-20
25
40
-14
-35
-23
12
-50
-19
-15
23
-70
-45
-55
-93
-2
5
0
0
0
1
0
0
0
0
-5
-1
0
0
0
78
-20
-31
0
0
-1
-10
4
-8
0
59
-24
44
17
14
-60
-35
-48
53
-36
44
-29
-60
-135
-10
0
0
0
0
0
0
-2
0
0
0
7
-3
0
0
0
3
-24
0
0
0
-40
12
-12
0
0
-3
-18
0
-13
-1
0
7
7
9
-27
-12
-35
-33
-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
1
4
-2
0
0
-31
-87
-25
-11
-54
-76
46
-78
-31
59
-30
-31
5
-19
17
-18
-7
-27
13
-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
-4
6
-23
12
0
-22
-101
-14
42
49
-53
-113
124
-54
-33
33
44
-96
-62
-61
0
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
3
-3
-1
0
2
17
5
-31
-1
27
71
-39
-51
-19
-7
-1
-45
-55
-48
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
9
0
-3
0
0
-61
-61
-6
-4
-11
97
2
-13
3
0
0
0
0
0
0
1
0
0
0
2
2
-1
0
0
-3
16
0
0
0
11
-3
-2
0
0
-27
26
26
2
0
-13
-23
-37
-28
0
-4
-28
-92
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
-1
-10
8
-1
0
39
-121
-76
76
-4
-50
33
-58
-82
23
-48
12
-11
-27
-118
-75
-67
-96
-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
1
0
-8
20
-42
-1
0
54
-55
33
-122
10
-28
-75
-56
61
6
11
5
39
-28
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
-14
4
-1
-2
21
5
-9
-4
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
1
1
0
0
0
-2
-4
8
3
0
17
-38
11
-1
0
-14
22
-43
32
-23
30
-101
58
-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
-3
0
0
0
0
21
6
-2
-7
0
48
-38
-54
-10
0
-33
3
0
62
0
-22
-25
-70
-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
-8
12
1
0
0
-23
24
-61
-7
0
-113
-57
-4
-13
0
0
-22
47
-14
0
0
0
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
2
0
0
3
10
7
-4
0
0
-116
-72
8
0
0
51
-30
-21
0
0
0
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
-5
0
0
0
16
-6
2
0
-2
-120
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
6
7
0
0
0
-8
-9
-10
0
0
-5
25
-19
-2
0
-5
-19
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
-5
0
0
0
0
0
0
0
0
0
8
-42
-8
0
0
48
-7
-4
0
0
13
35
16
0
0
82
-52
-65
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
0
0
-9
54
10
0
0
16
15
25
0
0
12
-15
-136
0
0
47
-65
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
0
-10
-20
-13
0
0
0
-25
-63
0
0
35
-111
-19
0
0
-5
23
-25
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
4
4
0
0
0
-22
-37
-3
0
0
-24
-13
-57
0
0
27
-5
-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
0
0
37
2
0
0
0
-4
11
7
0
0
17
-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
5
-2
0
0
0
-55
18
2
4
0
16
-72
-57
-13
2
57
4
-33
3
33
-10
2
-1
16
46
-32
-50
27
-29
-10
0
0
0
0
0
5
-1
0
0
0
7
0
0
0
0
-45
21
-10
0
0
4
27
-14
5
0
26
-19
62
44
1
61
12
38
-1
-22
-11
14
3
-15
23
22
72
-10
18
16
2
0
0
0
0
5
-3
0
0
0
-9
-4
0
0
0
-2
38
3
0
0
8
29
17
14
-1
28
3
-37
19
-42
9
25
-11
-18
-39
-129
-6
-5
7
91
16
-125
74
-39
-45
3
-9
0
0
0
-31
0
-3
0
0
17
1
0
0
0
-57
10
49
-1
0
25
64
-3
-3
0
11
-5
-68
3
-125
-17
12
75
-2
86
-17
23
3
42
11
0
0
0
0
0
-2
-1
0
0
0
14
-3
0
0
0
-18
49
-1
0
0
40
-82
13
0
0
-39
57
-5
-26
0
19
-11
-6
3
5
7
-31
9
53
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
-3
4
-4
0
0
6
29
8
-1
0
1
127
-46
68
0
-8
-62
14
1
2
-37
-2
2
-16
-16
50
-3
-7
-21
-17
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
3
-6
6
0
0
-4
6
-20
-7
1
-5
37
-43
-10
19
-52
-17
-83
-39
-38
47
35
-8
-10
-44
43
19
107
18
25
-1
4
0
0
0
3
0
0
0
0
-1
-2
0
0
0
-19
-19
-10
0
0
-37
-15
1
-9
4
12
-2
-37
-13
3
-21
-59
-6
0
-51
38
46
18
16
-69
47
-123
-71
-58
-22
-1
1
0
0
0
1
4
0
0
0
2
-7
2
0
0
29
-8
-21
0
0
-20
-7
-11
-27
0
-9
29
-17
-17
-14
13
-18
-25
33
-70
-27
28
-5
-11
5
0
0
0
0
0
-1
-4
0
0
0
3
11
-13
0
0
-1
5
2
0
0
-8
16
-8
-1
0
16
-67
-7
-12
-2
-62
24
41
-18
-21
-5
-18
-3
33
39
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
1
-2
0
0
-19
22
-39
1
0
18
-33
10
-15
21
2
26
58
-4
-45
52
10
3
-3
-10
-32
4
-54
-4
3
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
-3
1
0
0
0
-10
-21
-29
-4
-2
-147
22
-59
-10
-11
-51
26
35
8
-88
92
-7
-28
40
29
171
110
26
-110
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
8
0
0
8
9
1
0
0
6
12
-14
0
0
-10
-13
5
2
-1
-27
-124
50
-43
13
-5
51
18
-75
-70
13
19
-102
-25
70
0
0
0
0
0
2
0
0
0
0
-4
2
-5
0
0
-8
-8
14
0
0
21
-25
-11
3
0
3
-3
2
4
5
-9
16
-74
-29
-17
14
-18
51
30
-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
-7
0
0
0
-8
-2
-18
0
0
-33
-78
-21
20
0
25
31
8
7
0
-5
8
15
3
0
-35
7
-20
-9
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
22
31
1
0
0
7
-56
-45
-83
0
-14
7
84
-5
0
-27
6
-105
46
0
-71
3
-14
-40
0
-1
0
0
0
0
0
-1
0
0
0
0
10
0
0
0
-2
-8
-2
0
0
27
-21
9
0
0
23
-47
-37
14
0
-40
-60
-10
-4
0
-49
52
6
-66
0
45
-27
-25
18
0
-2
0
0
0
0
-1
1
0
0
0
0
1
0
0
0
-3
-14
0
0
0
-2
5
-64
7
0
27
-42
-40
-35
0
-52
-24
4
-5
0
-3
7
-7
-55
0
0
0
0
0
0
0
1
0
0
0
-1
-3
0
0
0
3
0
0
0
0
-14
20
1
0
0
29
-16
-3
0
0
24
-19
-28
-34
0
5
-10
28
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
-6
1
0
0
0
-2
34
25
0
0
-42
15
-77
0
0
8
26
11
0
0
26
1
-4
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
-83
25
-32
0
0
22
-67
-57
0
0
56
12
42
0
0
-34
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
-3
-12
0
0
0
9
33
-25
0
0
-30
51
13
0
0
44
-24
-40
0
0
46
-5
62
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
31
0
0
0
0
6
-18
0
0
0
10
-28
-25
0
0
44
32
-55
0
0
-54
-29
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-21
-7
-3
0
0
-23
-4
-6
0
0
51
-27
22
0
0
0
0
0
0
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
2
-24
-5
0
0
20
41
-41
33
22
43
18
8
14
54
16
67
60
-20
4
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
-1
-5
-1
0
0
0
21
0
0
0
-32
-60
12
-13
0
-90
10
2
16
-16
60
29
9
18
6
55
7
199
-49
61
1
0
0
0
0
2
0
0
0
0
12
6
0
0
0
-1
-3
0
0
0
-14
29
2
1
0
-50
-16
5
13
1
58
26
25
57
7
110
-3
7
-7
-7
-45
43
36
-27
114
-2
5
0
0
0
-14
-5
0
0
0
8
-2
0
0
0
-1
2
-1
0
0
2
7
13
-2
0
-46
15
-22
-69
3
62
59
-86
-10
27
35
-2
39
148
-38
0
0
0
0
0
1
-4
0
0
0
-1
0
0
0
0
1
0
0
0
0
10
7
1
0
0
-1
-3
-2
0
0
33
69
-3
-3
-12
17
-121
46
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
3
-10
1
0
0
-11
-2
18
70
3
-1
-31
7
89
-17
-36
20
13
-14
-8
83
77
20
-20
35
0
0
0
0
0
0
2
0
0
0
-3
-2
0
0
0
21
10
7
0
0
-8
58
7
5
0
60
7
-5
26
16
27
-3
28
64
-18
-20
-9
0
-5
18
27
-22
1
-87
-22
-1
-1
0
0
0
-3
3
1
0
0
-11
-4
0
0
0
16
-10
32
1
0
17
28
32
-14
2
90
-98
-55
-34
14
-8
-6
64
-7
78
-8
-8
12
-18
-85
-4
1
23
58
-8
-1
0
0
0
0
49
2
-2
0
0
-4
-1
3
0
0
-9
24
7
-1
0
-4
7
6
3
0
34
-139
-32
37
25
19
-15
50
12
18
-14
72
-5
-36
-100
0
0
0
0
0
1
1
0
0
0
-10
2
0
0
0
3
-3
0
0
0
-1
3
1
0
0
0
42
-1
0
0
-3
-9
4
-29
10
11
42
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
5
3
-3
1
0
-10
36
1
48
3
39
28
93
68
15
29
-1
17
-5
17
30
50
0
17
51
0
0
0
0
0
6
0
0
0
0
-9
-2
0
0
0
2
-16
-12
0
0
-8
3
-17
23
3
-9
-16
72
-52
7
-98
30
14
62
85
22
7
27
-10
13
92
39
42
5
-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
4
3
0
0
0
9
-11
11
0
0
0
-7
0
-2
0
5
14
-57
0
0
6
-2
-26
-16
-1
-33
10
41
-2
-20
-29
49
-3
19
-2
-62
-23
30
32
13
0
0
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
-3
-5
0
-4
1
-1
-27
-27
-6
5
54
1
52
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-15
10
-20
-8
0
-91
148
16
3
0
22
11
18
-3
0
125
-11
16
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-3
0
0
0
-17
-20
8
0
0
-32
-23
-45
-11
0
73
-44
20
-84
0
5
25
2
22
0
7
41
-14
9
0
1
0
0
0
0
-4
-1
0
0
0
4
0
0
0
0
13
-7
0
0
0
7
16
-4
-3
0
-23
80
9
-52
0
-78
-27
5
16
0
174
43
-24
54
0
-1
-142
-9
-58
0
0
0
0
0
0
0
-1
0
0
0
-7
-2
0
0
0
-9
1
0
0
0
40
0
3
-1
0
38
-3
89
0
0
106
-40
-29
24
0
-90
-4
-34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-4
1
0
0
0
-32
1
-2
0
0
9
-4
3
-2
0
-1
-23
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
1
-2
0
0
-11
-48
3
0
0
-11
48
113
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
-1
0
0
0
-10
16
11
0
0
66
23
-2
0
0
33
6
21
0
0
-89
-20
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-15
0
0
0
-43
-70
-2
0
0
4
15
-5
0
0
0
6
-47
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
24
-10
-1
0
0
-6
-11
50
0
0
3
132
-9
0
0
0
0
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
-4
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
-56
12
-22
73
0
14
20
13
0
-19
43
53
77
-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
-13
-41
-6
1
0
-67
-10
44
58
10
18
37
33
35
-6
147
-48
-20
-117
-2
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
-21
6
5
0
-78
60
64
5
68
-43
19
-51
42
0
35
-6
14
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
-98
2
3
0
1
-3
3
5
-7
0
29
70
-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
1
0
0
0
0
0
1
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
-2
0
0
0
0
1
2
0
0
2
37
29
-11
-1
7
17
-7
31
-6
50
12
10
24
45
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-6
-14
2
0
0
-1
12
1
0
0
40
-15
12
45
-16
-110
47
54
-11
17
-15
21
-15
33
-2
34
3
-34
28
-13
0
0
0
0
0
-6
2
0
0
0
5
-6
0
0
0
1
3
-3
0
0
3
1
6
-2
0
2
9
-14
-21
-9
113
3
4
19
-30
-81
-6
8
23
83
59
-48
10
-47
43
7
-2
0
0
0
13
1
0
0
0
0
2
-2
0
0
5
1
0
0
0
0
14
8
3
2
40
-43
-11
10
2
33
-70
77
-48
32
-14
4
29
39
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
25
54
-11
-11
-29
-15
15
16
32
1
13
2
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
-5
-1
-4
0
6
21
7
24
21
14
2
-11
38
-10
-11
-11
34
-7
-33
72
62
-72
-33
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
-4
0
0
0
-2
2
1
0
0
0
-2
0
0
0
0
0
2
0
0
0
-2
0
3
0
16
-50
-10
-16
32
2
64
11
34
-1
0
3
-78
21
25
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
9
0
60
-22
-74
38
0
-7
80
-2
-85
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
-20
-24
26
11
0
3
69
83
-21
0
9
-38
-12
53
0
13
18
-57
-140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
12
-6
-3
0
58
10
-10
6
0
18
-15
14
-3
0
-2
87
-41
-11
0
0
-21
3
20
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
-23
2
-21
-7
0
-1
15
36
-20
0
0
0
-77
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
64
0
0
7
50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
9
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
20
3
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
15
0
0
16
-6
-7
-14
3
-74
23
52
57
24
-40
-15
43
-4
1
-2
-12
25
13
-31
28
30
44
-72
33
0
0
0
0
0
1
0
-1
0
0
-2
-2
0
0
0
2
-8
-14
-1
0
-19
-1
0
21
-7
29
13
-17
-27
19
-70
35
-3
15
110
49
-60
19
-26
69
-35
-39
-3
42
-165
-4
-2
0
0
0
0
0
-2
0
0
0
8
0
0
0
-11
-13
33
0
0
-1
-52
-10
0
0
19
-67
62
15
18
-2
66
42
-35
-29
35
17
-32
128
27
-165
-64
6
-53
-36
0
-3
0
0
0
1
-1
0
0
0
-13
0
0
2
0
-5
17
3
0
0
8
23
-6
-9
1
-31
41
-17
36
22
39
-105
69
33
-27
-63
-32
-33
-44
-35
0
0
0
0
0
0
3
0
0
0
-22
5
5
0
0
-17
42
-1
0
0
21
11
-4
0
0
-2
21
18
-21
0
24
-38
11
-33
26
-51
-31
-19
-23
28
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
-6
2
0
0
-34
1
7
0
2
39
24
43
54
-67
56
-87
-38
-40
-44
-45
-16
14
-14
101
-166
51
-48
90
-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
-2
0
0
0
0
-1
4
0
0
0
11
18
2
0
0
-10
17
5
0
0
-17
23
2
2
0
6
-7
12
-13
-14
12
-85
-13
60
-29
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
-2
0
0
-4
-14
9
10
1
-45
41
-27
43
50
-36
-13
42
-10
3
-14
-12
-7
12
-33
42
-79
26
-147
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
42
-1
1
0
0
3
-10
0
0
0
-40
15
6
0
0
21
-35
2
2
0
-24
-74
10
-44
3
-4
6
-34
21
-24
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
-6
0
0
0
0
8
17
2
-2
0
-25
-11
-30
-5
0
0
79
76
29
0
-15
-30
-1
36
0
-30
34
57
-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
-4
0
0
0
0
-4
-2
0
0
0
-10
-1
0
0
0
0
9
0
0
0
6
32
-5
4
0
13
-15
9
-19
0
9
16
-50
-11
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
-4
0
0
0
0
-12
-9
-3
0
0
-61
-33
-2
0
0
20
-24
114
0
0
2
56
-6
0
0
-56
-45
-69
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
-14
0
0
0
0
-9
-6
2
0
0
-26
-54
39
0
0
29
48
-49
0
0
-58
-36
-65
0
0
-52
9
92
0
0
0
0
0
0
0
-3
0
0
0
0
7
0
0
0
0
-25
-2
0
0
0
16
7
-8
0
0
-12
-49
29
0
0
42
16
-36
0
0
-101
19
-56
0
0
-26
-31
92
0
0
0
0
0
0
0
2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
12
2
1
0
0
-15
-22
-35
0
0
-8
-33
-7
0
0
9
28
-58
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
1
0
0
0
0
10
3
0
0
0
-34
4
-11
0
0
7
-48
18
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
9
1
0
0
0
-20
27
-23
-1
0
40
17
-64
-76
-33
-31
20
17
74
-10
3
1
40
-53
64
-48
-9
106
0
2
0
0
0
0
0
7
1
0
0
0
-4
0
0
0
0
0
7
-6
0
0
-6
-1
18
-7
11
31
16
-55
22
-9
-15
-41
107
-32
25
-20
8
33
-54
-12
34
17
-53
129
5
0
1
0
0
0
2
2
0
0
0
4
5
0
0
0
16
34
14
0
0
3
5
-26
-1
0
-8
-23
-25
4
16
-100
-127
-6
62
7
-33
58
22
34
10
-45
62
40
28
-116
0
1
0
0
0
0
-11
0
0
0
5
2
1
0
0
-1
-8
-4
0
0
3
4
2
-2
0
-19
-107
0
-10
-3
26
-65
46
-24
28
-169
113
77
141
-110
0
0
0
0
0
-1
0
0
0
0
5
-5
0
0
0
3
2
0
0
0
-6
-1
-9
0
0
0
-4
2
-1
0
-38
-26
-4
9
2
-22
36
64
59
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
-2
7
2
0
0
2
28
13
6
0
-8
-20
2
-56
5
0
-59
-32
86
65
22
-7
1
30
14
-78
0
27
-42
28
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-1
-12
0
0
0
42
14
-35
2
25
-19
39
-4
3
40
-1
4
-65
-6
-42
-95
24
43
36
-17
4
0
172
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
0
0
18
-1
2
-5
2
4
-9
-27
-1
4
11
1
-2
-8
-2
-7
85
-52
78
10
0
-3
49
-39
5
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
3
-6
0
0
1
-1
4
0
0
20
-2
20
-2
2
45
31
-13
-20
14
-26
-55
-16
67
0
0
0
0
0
0
2
2
0
0
0
0
2
0
0
0
-1
3
-4
0
0
1
-8
-1
0
0
3
-5
5
-1
0
-12
47
7
-49
0
97
-99
29
52
21
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
1
-4
0
0
1
4
6
1
1
-81
-37
-1
52
-31
30
-10
-25
34
24
24
13
46
-56
41
-161
-52
39
19
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
5
0
0
-13
-50
-42
-1
-6
-18
23
1
73
-25
-47
37
9
-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
0
0
0
0
0
0
0
-1
0
0
0
0
25
-3
-1
0
0
-4
1
0
0
0
-2
9
0
0
0
-3
8
-1
1
0
9
-28
32
-4
-5
-3
81
-40
19
6
0
0
0
0
0
12
-5
0
0
0
1
1
3
0
0
1
0
0
0
0
1
0
8
0
0
-5
12
-1
1
0
-3
10
-19
14
3
-38
38
-31
-35
29
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
1
0
0
0
26
-1
-3
2
0
3
103
29
2
0
-19
51
4
-55
0
81
8
22
-98
0
-48
-26
45
69
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
-2
6
0
0
0
1
33
-7
0
0
-25
26
21
-22
0
-25
6
-2
41
0
113
-66
0
6
0
-44
-34
70
3
0
1
0
0
0
0
-2
0
0
0
0
4
2
0
0
0
4
-2
0
0
0
-18
3
2
-1
0
52
-25
-12
0
0
45
-17
-51
-16
0
-56
-55
70
23
0
-81
172
18
86
0
-1
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
3
-6
0
0
0
1
0
-4
0
0
-25
20
-3
-3
0
-49
-5
49
0
0
-17
29
-47
51
0
0
0
0
0
0
1
0
0
0
0
2
4
0
0
0
-2
-2
0
0
0
-6
0
0
0
0
-4
-17
-4
0
0
-7
-61
-13
-1
0
9
46
51
-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
0
6
0
0
0
0
-22
17
0
0
0
70
8
0
0
0
40
-46
-1
0
0
16
97
-5
0
0
-121
3
39
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
-12
-2
0
0
0
5
16
-3
0
0
-15
-36
-4
0
0
-94
108
-3
0
0
-16
-54
127
0
0
113
36
-93
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
41
-1
0
0
0
32
-6
-3
0
0
-50
22
9
0
0
75
15
0
0
0
142
120
-52
0
0
-137
82
198
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
2
1
0
0
0
-14
20
-6
0
0
29
-20
28
0
0
1
14
42
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
8
0
0
0
0
1
0
0
0
0
-1
-11
-6
0
0
-53
31
-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
-2
0
0
0
0
-1
18
0
0
0
-27
15
35
3
0
29
-63
49
101
21
-94
27
15
-20
38
89
-80
72
46
122
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
3
0
0
0
2
-2
0
-2
0
7
-28
-7
-7
0
-43
-4
-56
88
-3
141
76
52
-26
5
131
1
295
111
4
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
8
5
-1
0
0
0
4
-2
0
0
-1
49
-14
4
0
-5
3
-91
-4
22
-60
60
83
64
1
31
1
25
0
-3
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
17
-1
0
0
0
0
-3
1
0
0
0
-15
7
1
-2
2
90
-25
-5
1
9
-15
1
-3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-8
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
1
0
0
0
0
0
0
2
0
0
-5
24
-15
13
1
3
51
-2
61
4
-69
-2
77
-110
6
66
2
43
115
27
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-1
-4
-10
0
0
39
-20
-12
-5
0
1
-9
-103
-11
9
90
-90
-87
26
-4
-69
103
44
11
13
17
-3
345
108
-69
0
0
0
0
0
3
0
0
0
0
-9
-2
2
0
0
0
-24
0
-1
0
-25
29
13
-6
0
25
-25
67
37
-35
-4
33
-20
-91
22
47
-17
90
217
-21
0
1
-72
12
-4
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-3
8
0
0
0
-1
0
-2
0
0
1
-22
-14
-1
3
-11
99
47
-36
11
53
-12
12
-14
26
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
1
0
0
0
3
0
0
0
0
0
1
0
0
0
0
-1
-7
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
-1
0
0
0
0
0
0
0
0
3
1
0
0
0
4
44
18
15
0
-11
-30
30
40
10
-50
10
45
14
24
57
14
79
90
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
1
0
6
-23
-14
-11
0
31
53
-55
3
-4
29
17
146
18
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
3
0
0
0
0
6
-1
0
0
0
-6
5
0
0
0
0
3
2
4
0
-1
-4
-4
4
-5
11
35
1
51
-19
1
-18
-49
-1
4
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
-2
0
0
0
0
0
5
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
-3
-2
0
0
0
-1
-6
0
0
0
-16
-2
19
0
0
8
-16
-20
12
0
162
84
103
0
0
-15
-16
80
-20
0
0
0
0
0
0
6
1
0
0
0
1
0
0
0
0
53
15
0
0
0
27
16
-5
1
0
23
-17
34
-2
0
6
9
-69
27
0
8
213
34
-26
0
-3
-127
170
61
0
6
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
12
0
1
0
0
-8
-17
-12
0
0
-12
-18
-4
2
0
10
72
28
1
0
13
-77
44
103
0
0
7
32
0
0
-2
0
0
0
0
0
1
0
0
0
12
1
0
0
0
4
-11
0
0
0
-7
-1
1
0
0
0
15
6
-1
0
27
4
11
14
0
-73
8
-11
-3
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
-6
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
-1
0
0
0
0
3
0
0
0
0
-4
-15
0
0
0
-20
51
-17
0
0
38
217
80
0
0
-61
-50
47
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
-6
3
-3
0
0
27
43
-17
0
0
-5
39
50
0
0
-23
-87
3
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
8
1
0
0
0
-57
25
9
0
0
50
85
57
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
8
0
0
0
0
0
6
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
-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
3
-21
-2
-22
0
-18
7
38
10
4
61
-9
25
-6
18
29
-36
-12
66
-40
0
11
-30
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
0
0
-3
-9
-11
0
3
-47
1
1
1
5
3
-37
-16
-2
0
-37
2
22
48
0
0
51
0
-1
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
-1
5
0
0
-2
5
-21
-2
0
-21
3
-32
43
1
7
-24
-2
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
21
-5
0
0
-14
-4
-20
15
2
21
-48
-38
-17
-18
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
-2
34
17
0
-1
-21
5
-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
7
-10
-2
-5
-10
-57
-61
20
-3
20
26
28
35
2
-13
-36
14
-133
-15
-11
0
-3
9
-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
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
14
0
-1
0
0
5
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
4
4
-24
0
0
1
5
23
-7
-27
92
-43
-73
-25
15
-62
10
34
3
17
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
0
0
0
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
9
0
0
0
0
0
0
0
0
0
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
20
2
-7
0
-56
-27
11
8
0
15
-102
-11
13
0
50
68
65
-35
0
1
-7
-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
3
1
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
-1
10
-4
0
0
-23
14
-1
0
0
-17
-31
13
0
0
70
-6
48
0
0
3
89
-57
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
9
-4
0
0
0
27
-21
-4
0
0
-56
-2
-47
0
0
-5
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
0
0
0
0
0
0
0
0
0
-1
-39
-1
0
0
-19
58
-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
-1
9
0
0
0
2
-2
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
0
0
0
0
0
0
0
-1
2
0
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
-3
-3
6
0
0
-9
-56
57
-11
-3
34
1
-2
-63
7
12
-21
74
-8
128
-24
-8
7
38
-99
-28
-6
29
57
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-3
8
0
-10
-12
-12
10
0
-19
63
11
-4
-22
-10
-79
43
-54
61
-50
-3
25
-15
-18
-27
19
-67
68
-67
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
10
-6
-40
2
0
-1
5
-2
9
0
-40
13
1
-54
-11
-8
57
70
52
17
-15
-138
5
78
30
36
38
-88
-42
4
0
2
0
0
0
0
2
-5
0
0
5
11
6
-2
0
-13
3
23
0
0
-8
2
-9
-4
0
-19
42
7
40
7
42
-18
3
-13
38
-145
-23
46
16
-7
0
0
0
0
0
-4
1
0
0
0
-2
-5
-7
0
0
13
6
-2
0
0
-55
32
-18
2
0
-4
-24
6
9
0
-17
3
-1
-8
-15
8
-38
11
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
1
0
0
-1
37
11
15
5
-79
86
-2
-55
-43
27
-65
8
6
68
-115
-43
-75
6
-49
-116
32
5
96
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
-3
1
-2
-5
-55
-28
-1
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
-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
5
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-16
0
0
0
2
-3
-2
0
0
-9
-2
-2
0
0
4
-3
-10
-4
0
-29
-69
18
4
13
20
-52
0
16
-9
0
0
0
0
0
0
0
0
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
-13
-21
40
-8
-40
-38
-16
144
-100
-64
39
-46
-104
-2
78
-43
20
-3
44
-24
-97
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
-1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
-4
-4
3
0
0
0
6
12
0
0
-10
-20
-3
1
0
16
-58
-6
6
-6
-23
3
-10
46
17
0
0
0
0
0
0
0
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
-80
-3
-3
0
9
-34
-77
22
0
13
-19
-6
93
0
-21
33
26
14
0
-132
-71
139
-99
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
-8
1
0
0
0
14
58
35
0
0
-2
-29
-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
8
-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
-4
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
7
0
0
0
5
1
0
0
0
2
0
0
0
0
-6
2
1
0
0
-23
24
23
2
0
-49
-17
62
22
0
0
0
0
0
0
0
0
0
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
0
0
0
12
-82
-21
0
0
-17
-10
44
0
0
19
19
-9
0
0
-104
-60
-28
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
13
0
0
0
14
29
21
0
0
33
-1
-8
0
0
21
3
-61
0
0
-133
60
79
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
-7
-27
0
0
0
12
27
-6
0
0
1
-79
-29
0
0
-94
62
4
0
0
-42
3
-11
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
-9
0
0
0
0
-3
-2
0
0
0
-101
23
-21
0
0
6
-21
-1
0
0
12
45
52
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-38
-37
3
0
0
-62
53
-6
0
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
31
-5
-13
7
0
-60
20
-74
87
25
-12
7
28
17
-34
67
15
37
12
-2
-102
-71
44
-80
157
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
3
4
7
0
0
5
27
-19
-10
2
21
-60
100
-37
-11
5
21
-27
-73
-52
-22
-54
-8
-29
20
-44
69
152
65
15
0
0
0
0
0
0
0
0
0
0
1
1
4
0
0
-6
-1
-16
0
0
-2
-9
19
-2
0
-7
-101
9
-44
-10
47
27
-21
43
-14
-38
65
33
11
-11
-64
-64
-31
24
6
0
3
0
0
0
4
9
3
0
0
2
-4
0
0
0
-1
15
-1
-2
0
-5
11
1
5
0
35
-13
-32
-20
-4
2
-46
48
-16
19
-158
18
-38
18
35
0
0
0
0
0
1
3
0
0
0
-3
2
4
0
0
4
-3
0
0
0
1
-15
-4
0
0
1
0
-3
2
0
-10
-5
-5
16
-1
-31
-17
35
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
-4
-1
0
0
-3
-3
8
-1
-5
-3
-28
6
-47
-5
-56
-45
-13
43
-35
63
14
-30
-93
-26
-135
-56
29
159
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
11
-27
28
-3
-101
-43
-24
-31
42
-19
52
-34
19
-11
22
-4
145
-23
15
0
0
35
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-19
1
0
8
-4
-3
-12
6
-4
-10
18
7
-2
12
23
26
5
4
1
-13
-52
17
-72
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
-4
24
0
-50
68
18
-42
11
-19
-45
-44
47
-50
0
0
0
0
0
-1
1
0
0
0
-2
7
0
0
0
-2
0
0
0
0
3
-11
-7
0
0
-1
1
-14
5
0
-10
-42
3
38
0
32
-93
-38
-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
-7
0
0
-10
0
25
0
-4
-19
-32
-68
22
-19
76
57
-48
-46
51
-77
-20
60
-27
3
-61
-102
-44
50
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
0
-3
0
16
24
-6
-7
-8
-6
-16
-14
45
32
-18
5
12
-5
-2
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
3
0
0
0
0
0
4
0
0
0
0
1
2
0
0
0
-5
0
0
0
0
15
0
-1
0
4
-118
41
9
9
-3
-62
-63
10
14
0
0
0
0
0
6
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
1
0
0
1
-27
30
15
-2
5
-61
14
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
1
0
0
0
37
3
0
-1
0
-29
-4
-14
-17
0
48
-71
116
-110
0
39
51
-29
69
0
-25
-34
19
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
21
4
0
-1
0
82
-1
-8
14
0
-37
43
81
48
0
-72
-180
24
-31
0
-19
-98
-51
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-2
0
0
0
20
16
-2
0
0
36
-3
-31
0
0
8
35
-18
5
0
-105
-85
-25
10
0
32
51
40
33
0
0
0
0
0
0
2
0
0
0
0
2
-1
0
0
0
1
0
0
0
0
5
2
0
0
0
-15
-31
11
11
0
-13
-44
27
-6
0
-30
59
-111
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
2
0
0
0
0
-4
1
1
0
0
-6
38
17
-11
0
37
-27
-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
8
-12
0
0
0
17
63
-68
0
0
41
-2
-28
0
0
-13
12
19
0
0
-39
-46
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
4
-1
0
0
0
-24
-54
25
0
0
95
53
44
0
0
-14
1
50
0
0
-158
48
-144
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-18
4
0
0
0
113
-104
1
0
0
-36
46
26
0
0
-189
-22
4
0
0
104
-78
45
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
50
-33
20
0
0
16
-8
33
0
0
-96
31
-57
0
0
0
0
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
-17
0
5
0
0
54
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
2
0
1
0
0
50
12
-62
-6
1
28
23
-53
24
-21
-129
34
156
-22
69
133
14
22
46
92
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
1
6
0
0
0
22
0
1
0
51
36
9
-3
0
0
-58
-24
-6
20
3
-9
73
52
-73
-28
-2
-59
100
55
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
2
2
1
0
0
0
3
-1
-1
0
2
-1
8
-7
0
-28
7
61
-22
3
-28
-37
94
20
-5
-52
-1
-13
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
11
4
3
7
0
-23
102
-44
3
-2
6
15
-60
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
-2
2
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
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
0
3
72
-69
3
-1
-13
-28
65
55
-14
76
27
-28
-54
-26
-42
-97
73
18
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-5
6
-3
2
-12
-45
-6
-44
-19
-34
-51
-14
36
4
35
48
48
67
19
-1
4
69
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-9
0
5
1
0
-74
-6
1
-27
-4
7
-2
-50
28
26
33
-91
30
0
-40
0
-10
-2
1
11
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
-1
0
0
0
-2
-1
0
0
8
-1
-2
-8
4
-7
5
62
8
-1
7
-126
-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
1
0
0
0
12
-1
-2
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
-2
-16
-4
-2
-29
-8
29
33
-18
-24
9
20
-37
75
31
75
-82
4
69
48
-4
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
4
26
2
12
-2
-8
-71
7
13
-3
28
-53
-62
35
60
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
2
-13
0
0
3
-7
-6
12
1
0
1
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
-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
1
0
0
0
0
-13
-3
-5
0
0
103
20
-88
3
0
15
-1
173
-12
0
-5
-11
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
50
-2
3
0
0
46
-13
-17
12
0
31
34
88
-26
0
-80
-124
9
15
0
-12
26
-143
43
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-9
1
0
0
0
14
10
1
0
0
89
-2
-20
-6
0
89
-42
40
-6
0
-285
148
50
2
0
0
-2
8
-2
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-5
-16
-4
0
0
-35
-11
3
4
0
2
18
-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
-1
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
2
3
8
0
0
92
14
2
0
0
-42
-56
35
0
0
-93
-81
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
0
-10
5
-3
0
0
29
36
3
0
0
-18
-90
66
0
0
-10
55
-33
0
0
0
0
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
-13
6
0
0
0
-3
80
29
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
-11
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
86
-29
0
32
-13
108
-69
-8
-63
5
69
-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
1
-3
0
-1
49
43
0
0
-94
60
89
-18
9
5
-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
1
-9
6
0
0
4
121
9
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
18
-1
-1
142
-26
-73
-10
-35
6
71
128
11
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
-13
13
10
-27
-2
8
48
-35
-23
19
-62
-34
31
146
31
-3
5
126
-75
17
0
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
3
9
-2
0
-12
14
-10
-5
3
5
-28
52
-14
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
1
0
0
0
-11
0
0
0
14
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
7
3
0
0
-85
111
-20
-29
-5
0
-21
146
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
57
-7
2
0
-45
-29
45
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
-4
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
1
0
0
0
39
19
-15
2
0
4
-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
23
-15
0
0
0
8
58
-47
-2
0
-75
3
131
-6
0
-5
-33
4
75
0
0
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
0
0
0
-12
5
11
2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
62
-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
9
0
0
0
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
53
26
2
7
-43
15
-24
-7
-36
-49
-24
-16
-29
-3
51
-10
44
-8
2
9
1
2
-36
-3
3
4
9
-49
-4
10
3
52
0
0
0
0
0
-3
81
-27
38
0
13
38
-58
3
-28
-42
32
27
14
7
15
-11
-19
19
63
-52
5
-32
17
24
42
-5
6
27
-21
-31
-29
-3
4
1
-84
28
10
-12
1
25
47
16
-59
-1
-38
-77
-34
37
6
-17
35
3
43
-26
-13
-37
-44
29
91
12
-39
21
4
136
-93
8
-11
16
13
35
3
-12
23
-9
-51
-51
-6
-12
-12
1
26
-2
-5
-29
-90
37
13
8
4
55
-43
-1
34
11
92
-9
-73
58
-22
44
-64
-35
68
-9
28
9
62
-39
22
-55
18
-1
26
40
-24
10
13
13
0
2
4
-5
-1
-4
0
0
0
0
0
51
-69
-11
1
3
62
-19
-42
18
3
-75
42
-84
41
-22
-53
-15
8
8
70
-57
3
-4
9
-26
-81
-34
-8
-13
17
18
5
-5
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-80
-20
-31
51
5
-3
44
2
-50
-5
-1
37
-96
-30
-24
50
36
20
10
-27
12
18
19
-18
-42
-47
-13
34
29
-40
-16
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
9
4
55
-57
-21
26
3
38
-52
57
-86
47
33
-28
-80
-56
-27
44
-12
5
-17
-36
-41
-13
29
1
-2
8
25
-1
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-6
-32
-53
-12
31
-7
26
-12
-31
16
43
-25
-35
-82
-18
9
-24
56
-56
-3
-16
28
12
18
1
-10
-3
43
-1
-57
-89
-18
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
32
-27
-8
8
6
19
3
25
6
-29
-58
-14
-30
30
9
-34
20
24
-31
17
-3
29
-43
22
-6
25
-2
-25
-39
12
-1
-12
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
45
-37
4
0
22
-10
6
-10
0
45
38
22
33
0
-106
-27
-31
-26
0
-4
2
-16
-1
0
3
-1
22
12
0
52
5
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
-8
-48
-1
-2
0
-47
-20
-51
8
0
68
21
-58
-12
0
41
7
30
-2
0
54
-12
-7
64
0
-10
14
16
16
0
-7
-5
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
-43
0
0
37
-11
-15
0
0
-37
25
19
0
0
25
-21
-8
0
0
12
3
33
0
0
-9
20
23
0
0
-22
1
-9
0
0
0
0
0
0
0
-82
-31
15
0
0
-12
-38
-8
0
0
59
-4
-28
0
0
-39
-29
22
0
0
19
-24
28
0
0
-15
14
-10
0
0
30
12
15
0
0
32
5
2
0
0
4
9
-17
0
0
7
34
12
0
0
-68
37
-2
0
0
-13
-75
-38
0
0
40
-34
85
0
0
-46
5
-5
0
0
20
10
14
0
0
10
16
-9
0
0
27
-4
-5
0
0
-15
-4
-2
0
0
-3
-22
4
0
0
7
21
-16
0
0
3
-11
13
0
0
-70
29
46
0
0
-21
3
13
0
0
-7
-5
-8
0
0
34
-1
-4
0
0
0
0
0
0
0
-18
-5
0
0
0
42
-61
-6
0
0
8
8
47
0
0
-58
24
27
0
0
-10
14
32
0
0
-9
-1
-6
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
32
-13
-81
9
-12
-39
-24
35
5
48
-8
-12
-25
24
-2
-43
17
-23
-25
-23
-3
-4
17
5
-35
-12
21
10
4
30
-10
22
6
-3
-1
0
0
0
0
0
22
7
-36
-99
41
28
-60
9
48
54
17
12
-16
-62
-41
-18
-30
4
35
85
-56
-23
-12
-21
32
22
-9
5
11
-22
14
11
3
11
31
24
23
12
-7
-29
26
-32
-30
28
-1
0
-13
-14
-44
22
-4
40
-4
-40
18
-3
-23
-43
-59
-6
-30
3
22
11
-63
-58
-30
-6
6
32
-1
22
11
11
30
47
2
3
0
19
21
32
12
-12
5
-14
24
-5
-6
-4
-13
-9
-35
37
5
43
-10
37
76
12
-22
32
20
-67
-56
-32
-50
44
-47
-19
35
-38
-8
8
18
-3
-6
-2
-1
-3
32
26
2
9
14
0
0
0
0
0
25
-53
-20
-1
0
10
4
23
3
-7
25
-46
55
-37
-26
10
-33
23
12
15
-15
7
-40
-7
58
24
-5
-6
-27
9
7
14
-7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
58
3
92
-68
-13
43
-28
-35
-4
60
-17
-24
111
14
11
-1
-17
-55
-7
21
-2
1
6
28
32
7
0
8
12
39
29
10
22
-22
0
0
0
0
0
62
3
29
5
22
38
-10
-91
25
5
-2
-18
-2
-14
9
28
-27
4
-45
-87
-5
35
0
21
11
8
9
0
25
-11
-2
-30
-4
0
-19
-53
-24
28
20
50
-61
76
-34
-56
3
-36
-21
-27
33
8
-18
18
-3
31
8
-2
38
4
-7
-7
-1
-32
18
-3
3
32
-30
22
21
27
1
30
15
19
41
-27
-11
4
-9
-7
-4
-32
-1
4
-15
-79
-24
-63
-5
1
-16
-9
31
35
-4
37
-14
-44
52
-44
-52
-24
36
-26
5
29
14
15
26
-16
4
-51
18
15
7
-2
-1
-14
7
17
-16
-5
-1
-16
-4
0
0
0
0
0
71
16
-45
-5
0
-2
-22
33
71
-5
6
5
-13
65
-51
10
-15
34
-12
-2
6
18
2
23
58
31
-11
-5
-33
-19
-15
16
-1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-5
20
11
68
6
14
-2
-46
6
-54
73
18
54
51
-1
3
7
-10
-5
-7
-13
6
4
13
19
4
-5
11
3
40
3
-21
4
26
0
0
0
0
0
-54
43
-28
-30
-17
2
13
-37
7
29
-47
-3
-17
7
-7
16
9
-4
-20
-42
12
4
9
18
-27
-2
-2
-8
-3
22
28
-7
-22
10
-11
3
5
-1
-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
-65
39
-40
4
-6
-2
-37
7
30
5
28
15
-23
-46
-13
-4
42
-23
40
-9
24
8
7
69
-33
-5
-3
-34
-13
30
-18
9
3
-3
6
9
1
3
4
15
0
0
0
0
0
-3
40
33
-12
1
39
-18
-42
-31
5
14
24
-29
-35
-34
-10
-34
20
15
16
57
29
2
-36
-53
-51
-9
32
14
-3
9
14
2
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
2
23
10
0
25
-32
46
41
0
16
22
-18
-10
0
31
18
13
-54
0
4
-3
-18
-1
0
0
7
18
18
0
71
33
-5
-7
0
0
0
0
0
0
3
-3
-6
-54
0
-54
66
41
-24
0
-9
18
76
-29
0
31
1
39
59
0
25
14
27
20
0
5
17
25
34
0
-3
11
-5
1
0
-14
-10
8
45
0
9
-14
-6
-1
0
-22
53
25
0
0
-60
45
-9
-22
0
-139
-2
7
50
0
-33
22
-24
27
0
-21
-11
40
37
0
-38
-9
10
21
0
-10
3
5
-17
0
13
-20
-15
-3
0
10
13
34
-4
0
-28
-30
-20
-9
0
-43
-10
-16
10
0
41
-44
26
-3
0
-7
-15
-5
41
0
0
3
-11
-3
0
3
5
-12
-5
0
2
-3
3
7
0
0
0
0
0
0
-15
-5
3
1
0
25
-15
38
-6
0
21
37
9
-4
0
9
11
3
-8
0
21
14
7
2
0
6
-7
-11
2
0
5
18
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
17
32
0
0
20
-11
8
0
0
27
-3
47
0
0
-22
48
-6
0
0
11
38
-3
0
0
4
6
12
0
0
11
37
-22
0
0
0
0
0
0
0
-2
87
0
0
0
-6
-30
8
0
0
-19
-54
20
0
0
-5
44
-1
0
0
3
-33
-14
0
0
-1
7
2
0
0
8
16
6
0
0
1
8
11
0
0
-8
-10
7
0
0
13
76
-13
0
0
12
15
6
0
0
20
55
37
0
0
32
0
-77
0
0
-12
-3
-22
0
0
8
-5
34
0
0
1
19
36
0
0
59
-3
12
0
0
28
22
-1
0
0
-18
61
-6
0
0
-29
5
1
0
0
42
29
-22
0
0
30
10
-2
0
0
-1
-15
22
0
0
-2
2
2
0
0
11
19
11
0
0
0
0
0
0
0
15
-2
0
0
0
-3
37
2
0
0
31
-15
-21
0
0
-56
41
26
0
0
-9
13
-76
0
0
-4
-26
20
0
0
40
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
14
-30
-37
7
-27
8
-6
-2
-22
-34
28
-36
9
56
-40
-2
32
13
51
8
-10
29
20
2
25
13
9
-8
14
31
2
-5
-7
-31
0
0
0
0
0
92
-8
-91
-9
6
17
-11
15
6
-5
-4
-52
-21
45
49
-44
-19
-19
-6
46
-39
-48
-41
9
12
7
2
-14
14
-90
17
29
10
-6
-5
71
31
2
4
-16
39
-71
1
-2
0
22
-61
40
0
1
2
19
-69
68
2
-44
-55
-26
15
50
24
-54
-12
-39
86
14
-28
-9
14
-103
13
23
6
12
10
35
8
8
10
58
41
6
1
11
-12
71
-81
6
-2
0
-31
86
-18
4
-6
20
-18
8
-33
1
-32
-104
-2
2
12
-2
-9
32
-8
-90
12
-34
-2
17
-17
37
2
-13
14
15
31
71
13
33
12
0
0
0
0
0
-5
-58
-4
0
0
-59
69
-2
0
0
45
18
-27
6
0
-57
-23
-39
-18
-3
69
-51
7
-77
-29
-4
-8
39
12
-35
31
-15
6
4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-3
-26
3
53
-56
24
62
37
33
33
-37
60
-50
27
44
-20
-9
46
36
-12
14
-13
53
8
31
15
27
7
78
29
11
-4
-6
0
0
0
0
0
20
39
20
-3
-56
24
-5
16
-14
-44
-5
-32
-39
-34
57
-18
26
25
5
65
8
14
-15
29
38
8
27
5
14
-10
35
0
15
-14
6
21
33
6
16
7
42
7
-52
-1
3
54
35
-29
-2
2
14
-49
7
-1
9
-24
18
-25
15
75
-1
-27
-7
62
-11
2
5
7
11
-21
24
-3
3
22
11
0
3
-5
4
11
13
15
29
6
26
17
-8
-81
-1
-1
37
12
-22
-49
32
-12
-2
24
53
30
20
-38
29
15
58
-37
13
-10
1
33
19
-8
-10
-2
21
6
16
1
4
-15
-9
0
15
11
7
0
0
0
0
0
19
15
-11
0
0
11
30
-87
-4
10
-5
35
60
35
-1
56
46
-32
-82
-12
-16
30
-1
-56
-33
27
-16
-8
2
-29
-37
-4
-3
37
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-15
26
3
10
0
38
0
-46
51
78
97
-69
-39
19
27
23
15
46
40
16
24
0
1
-16
-7
19
16
3
51
76
0
20
2
0
0
0
0
0
30
-33
13
30
-22
40
-2
1
19
-2
-7
4
13
26
24
24
-10
46
21
38
7
17
43
7
26
-5
4
33
13
3
-8
15
-6
7
15
58
19
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
40
-15
-7
-4
-1
-4
-5
23
-57
22
-46
-18
31
10
-12
-32
18
2
-12
13
4
23
6
-10
1
-2
4
-9
2
19
2
8
7
-5
-22
23
-4
4
4
6
0
0
0
0
0
-9
86
-3
3
0
23
-70
-10
37
-4
8
-29
-54
50
4
-27
-23
38
-37
2
-24
57
5
11
-66
-4
15
13
19
-21
97
-14
-7
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
14
-1
0
-11
18
17
4
0
2
95
70
47
0
18
43
-49
-32
0
37
13
-21
48
0
-7
5
24
12
0
34
56
-11
-4
0
0
0
0
0
0
-1
33
32
33
0
39
47
27
-36
0
3
12
33
11
0
3
16
64
53
0
-25
7
38
-9
0
-23
2
29
21
0
5
47
-1
35
0
-1
3
8
0
0
22
15
-34
-3
0
2
-45
0
-4
0
58
-12
-5
44
0
21
-10
-41
-41
0
-1
-22
-19
47
0
0
7
7
-9
0
-11
3
24
32
0
1
28
12
11
0
29
-1
5
-4
0
34
31
-19
2
0
57
-1
-18
4
0
-18
10
-23
34
0
-56
21
43
2
0
-17
29
58
-39
0
15
1
-3
11
0
-2
4
14
-5
0
60
6
6
10
0
0
0
0
0
0
5
16
0
0
0
58
28
4
0
0
-42
13
-33
0
0
-7
-53
56
3
0
17
93
-1
-8
0
-15
-37
48
6
0
-6
-13
-19
-35
0
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
-14
57
39
0
0
45
21
-32
0
0
-65
25
-20
0
0
17
16
6
0
0
1
1
-18
0
0
4
23
-12
0
0
0
0
0
0
0
34
0
-1
0
0
15
78
5
0
0
23
-5
21
0
0
-5
27
22
0
0
-46
40
-10
0
0
-16
4
-10
0
0
11
45
-15
0
0
16
-1
14
0
0
0
0
0
0
0
54
-19
3
0
0
-42
2
-1
0
0
67
-2
-6
0
0
-95
-34
27
0
0
67
-1
-14
0
0
7
-11
-29
0
0
-12
-16
14
0
0
33
147
-23
0
0
1
-8
0
0
0
1
1
0
0
0
45
-1
-4
0
0
-17
47
25
0
0
1
46
32
0
0
8
43
-20
0
0
8
14
4
0
0
-45
19
7
0
0
0
0
0
0
0
6
11
0
0
0
-17
0
0
0
0
-13
43
2
0
0
72
8
-4
0
0
83
9
-20
0
0
-11
-61
-8
0
0
-9
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-49
-3
-31
-1
-63
-58
-35
-26
-40
35
44
55
-58
-42
-111
-1
-38
-11
-11
12
43
-12
-11
31
-16
16
4
23
21
-66
23
30
58
40
0
0
0
0
0
-9
1
-13
0
0
-5
-36
12
25
2
-41
-41
49
-13
0
-40
-54
68
-24
20
21
26
3
7
-9
17
51
4
-9
-17
-9
-43
-31
61
21
-174
-27
-3
1
-3
-4
0
-2
-1
0
4
-50
52
20
0
-9
-14
15
32
-5
-21
63
-20
90
-43
-23
70
-35
61
-57
9
37
28
-124
-8
-13
-1
-4
21
102
-51
-34
-23
-28
-2
-88
-58
80
-10
-18
-38
14
7
-6
-5
-21
-48
0
110
-6
109
-49
36
-31
-7
1
5
84
13
-38
64
-23
-9
52
88
-60
12
-62
36
-1
-9
43
-6
8
40
-22
-13
22
-39
57
0
0
0
0
0
-6
13
-95
-4
1
-7
41
-10
-1
4
-40
-58
20
64
-1
21
15
-13
-61
14
12
-37
24
25
-7
-37
-38
39
-12
-59
-16
1
11
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
12
-10
0
-51
-55
-44
-36
24
-35
-80
-70
37
10
24
-74
26
-6
-60
-43
7
2
23
34
-31
-18
-10
47
6
-182
-19
-51
-33
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-19
2
-18
-1
2
5
-13
14
18
0
0
2
7
0
0
1
-10
-27
-1
0
-3
1
-8
-48
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
-2
0
0
-1
-1
0
0
-13
0
0
-1
6
-11
-6
0
0
-10
23
14
-7
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
-5
4
1
0
-2
-6
-26
11
-3
2
-82
-20
75
-26
-17
14
-10
-33
-5
3
0
0
0
0
0
3
-12
-6
6
-4
47
-1
4
-5
-7
31
-83
29
-41
-6
-6
22
-25
60
19
-48
10
94
52
30
2
7
-38
-29
-32
-15
-9
-4
41
33
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
3
-42
1
-40
-12
-55
-56
-29
36
77
38
-8
-25
-24
-20
-46
56
18
53
-15
7
-48
-51
-23
49
41
-46
-36
-58
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-38
-2
0
0
-9
5
-62
0
0
-33
-11
13
-7
0
-3
0
9
0
0
1
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
8
0
1
0
0
0
0
2
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-2
-2
2
11
11
-60
14
0
1
-26
7
29
-11
2
-57
43
-51
11
-82
-14
16
32
21
-18
-44
-32
6
8
12
92
27
-39
-49
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
-76
19
28
19
0
9
62
-42
55
0
-54
10
-27
13
0
-31
-21
16
-27
0
23
-102
44
45
0
41
-63
71
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-25
-2
0
0
0
7
2
0
0
-8
0
4
0
-3
0
3
-8
0
0
-1
-7
0
0
0
1
49
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
0
0
2
-1
0
0
0
0
-6
1
0
0
-36
31
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
-4
3
0
0
0
0
0
10
0
0
-1
0
7
0
0
0
5
8
-7
0
0
0
0
0
0
2
-2
14
1
0
-47
-47
81
-3
0
19
16
18
0
0
-32
-10
24
29
0
-85
-66
-53
41
0
81
35
-8
-30
0
27
36
-63
16
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
-23
7
0
0
-5
5
-18
0
0
47
-4
30
0
0
-87
34
30
0
0
28
1
38
0
0
45
-3
-14
0
0
0
0
0
0
0
0
-2
-5
0
0
-94
-49
-9
0
0
-80
-68
5
0
0
15
4
18
0
0
8
-25
-117
0
0
11
-4
22
0
0
6
45
47
0
0
26
24
53
0
0
0
0
-1
0
0
-3
-4
1
0
0
-46
-37
9
0
0
-56
2
4
0
0
-37
21
21
0
0
-3
-9
-15
0
0
25
13
-43
0
0
29
1
32
0
0
0
50
-1
0
0
-7
11
-2
0
0
-53
12
11
0
0
-53
40
-17
0
0
-90
-31
32
0
0
25
18
-54
0
0
70
28
-18
0
0
40
6
58
0
0
22
-35
-18
0
0
0
0
0
0
0
-1
1
0
0
0
-1
-11
5
0
0
-26
-9
1
0
0
48
-100
0
0
0
31
-86
64
0
0
-48
34
2
0
0
8
45
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
33
-11
16
-31
-15
2
36
-31
-49
-79
-20
47
42
-27
13
-6
3
-8
-31
-22
2
-1
-17
21
-11
12
7
45
-8
-100
-30
0
8
10
0
0
0
0
0
-82
7
89
-15
-21
40
21
-26
-59
5
-20
-8
26
35
-46
29
41
-14
-7
-9
0
-3
-15
16
30
19
26
6
10
-26
-71
-17
-13
20
17
-117
-33
9
-13
-12
-81
12
-48
80
-8
-74
19
-3
40
24
-20
64
-17
26
-10
-46
32
12
5
29
15
20
-38
7
56
-79
26
-8
-30
-29
-10
-11
-15
-3
25
-48
-55
-35
7
-24
-35
5
31
-2
-3
4
-56
42
-9
-2
22
42
-42
-7
-14
-48
99
-12
19
-56
24
-10
-2
-8
16
-17
41
30
23
52
27
-32
3
-2
-51
-25
23
-13
26
14
-5
-2
-1
-3
2
0
0
0
0
0
14
-70
70
7
-6
37
-1
47
32
-32
29
-9
-50
-41
51
-66
11
95
15
39
-39
80
27
44
-22
-14
4
-5
15
38
15
-14
23
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-34
-45
39
13
10
10
-37
-2
-88
-23
-47
38
-29
75
-64
-17
-1
-33
-9
-28
1
-11
-1
6
-12
-23
2
26
-34
-183
-8
-13
17
-6
0
0
0
0
0
0
-1
0
0
0
8
5
-7
-6
-1
-15
-48
-7
-68
22
-99
-88
-2
15
-53
-17
-23
59
-30
-34
-14
51
5
52
23
-145
-58
-119
-19
-26
42
-110
-99
-25
-44
0
-5
0
0
0
-3
0
0
0
-5
3
26
3
29
-1
8
-11
7
72
-22
49
74
-68
19
63
52
-2
-39
-124
-17
-87
-67
-28
19
-43
-128
-77
42
-33
17
-145
-44
14
-52
-55
13
0
1
-6
0
6
-4
-12
-10
0
-16
11
-49
4
1
-12
29
-66
-11
-4
65
50
27
-98
5
-5
-27
34
29
-27
-55
-38
-12
38
-9
-40
-107
-62
-26
-8
0
0
0
0
0
-85
88
-4
84
-4
16
22
68
69
1
56
16
-129
8
49
90
-21
52
-26
-8
-48
-14
69
-35
43
-15
-21
-23
20
67
22
5
13
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-3
26
8
31
-107
-89
71
-19
-36
-2
-76
-27
21
0
-29
-8
-27
18
-23
45
12
1
24
10
-23
29
-5
26
42
-100
7
-36
-47
28
0
0
0
0
0
0
0
0
0
0
0
-4
5
19
-2
-81
-35
-15
-42
19
-64
-113
-13
28
-23
-6
-1
-46
7
-42
44
34
18
-85
26
92
-117
-62
-37
-54
-28
19
-65
-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
-7
0
0
0
-2
-1
4
0
0
-4
16
-9
-5
1
1
10
-18
-29
1
11
-35
-9
33
-9
29
-10
-46
-49
-39
-42
-49
21
-7
-31
-15
-46
-27
20
47
0
0
0
0
0
15
11
-14
-5
-15
-35
12
58
-3
51
-46
10
92
-10
28
50
6
-24
-6
-21
14
-22
21
42
-20
-31
5
-11
-24
-7
5
6
1
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-67
4
18
0
15
-34
-48
-54
0
-94
-4
21
-10
0
-22
-13
-7
-8
0
3
2
-6
-14
0
23
9
8
12
0
0
-34
42
-14
0
0
0
0
0
0
0
0
0
0
0
-9
2
-38
-9
0
18
3
-1
9
0
45
-4
2
-64
0
-77
-43
-31
-13
0
2
-61
2
-80
0
-24
-43
0
-1
0
35
7
-49
31
0
0
0
-6
0
0
-8
5
-1
-3
0
-18
2
16
16
0
-99
37
-10
15
0
-71
-37
-54
-10
0
70
-106
-32
-12
0
113
67
-65
26
0
-5
-14
-61
2
0
23
-6
82
-28
0
-8
0
6
2
0
-3
-14
12
-1
0
35
14
-19
-6
0
-47
21
-4
-7
0
-78
-31
-70
48
0
-151
-31
0
-56
0
58
-31
-20
-10
0
130
38
25
5
0
0
0
0
0
0
18
6
-53
-5
0
-5
25
29
-65
0
-32
16
-27
60
0
10
17
-31
-76
0
22
25
5
40
0
-12
-30
12
6
0
-2
8
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
18
65
0
0
5
8
29
0
0
-11
-44
-82
0
0
-9
-5
2
0
0
-6
21
-2
0
0
14
3
17
0
0
33
11
-30
0
0
0
0
0
0
0
-26
-2
13
0
0
24
-13
33
0
0
-15
35
4
0
0
26
-46
-44
0
0
9
-34
10
0
0
-7
27
1
0
0
-24
-5
-19
0
0
3
7
15
0
0
-3
-7
-5
0
0
-20
10
-18
0
0
-33
25
8
0
0
60
-36
65
0
0
7
-22
-47
0
0
21
-5
-28
0
0
15
6
3
0
0
12
-2
-16
0
0
-2
8
-43
0
0
5
25
1
0
0
0
29
-1
0
0
6
-12
-56
0
0
-4
-50
-27
0
0
-3
-25
4
0
0
-8
7
42
0
0
0
2
22
0
0
7
-7
-2
0
0
0
0
0
0
0
-2
42
-13
0
0
-19
42
3
0
0
43
45
21
0
0
-6
-63
-19
0
0
-11
-1
78
0
0
13
2
-10
0
0
24
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
7
83
24
-5
2
-7
18
-25
22
15
6
22
20
-25
-12
-9
6
13
-83
8
18
2
7
11
37
8
4
4
-1
-38
7
-1
-35
18
0
0
0
0
0
-39
14
98
-3
2
-24
68
-64
9
22
1
-48
54
-15
9
5
-41
-3
-28
33
22
-6
-11
-11
-43
41
17
10
29
-8
-25
3
-1
15
4
-8
-9
6
13
-5
-31
69
-20
-3
-2
35
-4
96
-65
-18
-107
-2
32
8
6
30
43
-32
11
-15
-53
-9
6
-18
36
-9
-38
-10
11
-52
23
23
-4
13
22
55
5
-3
-4
-11
6
-27
19
5
19
-11
-75
-21
20
4
26
-18
-59
-24
21
-24
37
25
-3
-21
-57
-75
23
10
35
-101
10
-5
30
-9
7
-32
-5
-25
36
-3
2
7
13
41
34
16
-21
10
-11
0
0
0
0
0
-9
-11
0
3
-2
0
-15
-26
26
24
67
-9
4
-40
-22
9
2
43
63
-42
2
5
26
27
-17
-47
-8
-28
-50
20
10
18
0
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
40
-8
-7
-34
-58
-7
-72
-79
1
21
98
74
-83
12
-6
2
-58
-73
34
-5
-6
9
34
-25
0
-4
-2
-20
-34
0
-15
7
33
0
0
0
0
0
-61
34
49
17
-18
-132
-14
32
20
-35
-32
14
78
1
-42
-30
12
-53
60
53
-46
60
19
-20
14
1
-10
5
-22
-28
-107
-81
-39
7
6
22
-103
-45
-8
-15
-31
-31
-13
14
-11
-57
-47
30
13
1
-133
96
-52
23
-22
6
23
-9
52
-3
-43
53
25
17
6
-2
-56
6
-19
32
-59
-36
-20
-6
21
2
-30
-9
-4
-2
-113
36
8
24
33
-190
50
-23
-5
3
-73
-91
7
79
19
14
51
3
-67
-28
-68
78
-14
-7
21
20
-12
58
20
-32
-40
-19
-1
8
-17
-4
1
-13
1
15
-10
-21
0
7
24
0
0
0
0
0
1
-79
20
-27
1
5
8
-25
16
-6
41
54
-12
-11
35
-3
-13
-4
72
-3
20
-32
11
-1
29
-9
18
25
34
-62
32
-18
20
-25
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
20
6
29
16
-79
-24
14
12
41
38
-169
1
6
57
21
-41
-2
-5
-10
24
-5
12
7
-10
-38
15
-6
-15
19
-45
-27
-10
-11
4
0
0
0
0
0
-113
-22
-10
-58
8
-128
-19
-30
6
-6
-18
18
-119
-20
-18
-12
-19
-64
-20
35
-52
-20
2
-16
20
-24
-12
-11
23
-3
19
-36
-9
-20
-14
-7
-5
-27
-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
-21
13
-27
-23
-7
102
-32
-15
11
-1
-47
-20
-9
53
22
44
44
-81
24
-13
-32
16
8
-8
1
-56
-18
29
16
-71
4
-12
-2
-11
28
-79
-21
1
-10
0
0
0
0
0
0
-7
23
4
7
-1
-12
32
54
-49
-3
14
39
-71
-16
-35
1
-47
-32
33
-55
-27
38
25
22
27
-6
-11
-10
-4
-6
102
13
-15
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
6
-13
0
-24
-49
63
3
0
-75
30
-20
-35
0
-9
-12
1
7
0
-6
-7
-2
3
0
4
24
10
-6
0
23
21
13
-6
0
0
0
0
0
0
-3
-80
-4
-5
0
42
17
-66
2
0
-117
-29
-91
49
0
-12
3
-3
-22
0
12
-24
-34
-80
0
-11
38
-23
-11
0
-21
-37
6
23
0
-9
15
31
-11
0
-2
16
0
3
0
3
-10
49
-18
0
1
-41
-22
-48
0
13
-26
-30
-20
0
83
-50
-2
-4
0
-61
38
-58
33
0
49
-2
-9
-9
0
-13
1
4
-12
0
-9
17
1
-4
0
49
-15
-15
11
0
-64
-16
12
-11
0
-16
-22
47
-28
0
114
-65
-71
-56
0
-26
-8
-64
-24
0
-21
-7
-21
21
0
-6
-2
16
27
0
-38
9
22
-12
0
0
0
0
0
0
37
3
-9
-3
0
10
13
-11
-11
0
-16
-4
29
-94
0
-18
-27
-34
-60
0
18
-26
-52
64
0
-23
28
14
50
0
-43
-12
28
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
9
0
0
73
50
-22
0
0
42
43
21
0
0
2
-5
-6
0
0
-3
14
-13
0
0
-14
0
10
0
0
32
10
-2
0
0
0
0
0
0
0
-18
6
-9
0
0
10
53
11
0
0
66
-46
-47
0
0
36
30
-70
0
0
0
6
-14
0
0
4
-4
-5
0
0
-3
-9
-1
0
0
-8
19
13
0
0
-3
2
1
0
0
42
2
2
0
0
28
26
-29
0
0
13
-45
-62
0
0
12
59
17
0
0
-12
20
45
0
0
1
21
17
0
0
18
2
9
0
0
8
21
-24
0
0
-23
43
-1
0
0
28
5
-9
0
0
2
-29
-6
0
0
-4
24
-60
0
0
21
13
35
0
0
-9
2
-35
0
0
-5
12
41
0
0
-16
-7
-2
0
0
0
0
0
0
0
1
4
3
0
0
77
-4
-2
0
0
-26
30
10
0
0
-11
-22
-65
0
0
1
82
-45
0
0
4
-12
49
0
0
20
17
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
22
-1
-3
0
-150
-40
37
86
10
-57
-27
74
-34
-12
15
9
42
-54
6
50
27
-18
41
35
36
16
14
2
-58
27
-15
9
-52
-30
0
0
0
0
0
-62
27
5
1
0
-39
37
79
-36
-1
47
-35
-24
-93
-20
7
-5
-33
35
17
-34
-37
-33
7
45
15
-14
8
13
43
-16
21
6
12
-22
67
3
18
21
18
-4
-6
1
0
0
17
-13
16
-17
9
79
66
-40
0
1
115
-142
-13
-5
23
-24
-71
49
-23
-102
-1
-23
-41
-36
69
-28
28
3
45
-56
6
17
1
23
46
23
36
-1
51
35
41
1
-1
-4
0
-28
-73
50
-7
-6
-115
65
38
3
2
-93
-12
-36
11
-28
-25
4
-4
-7
38
-13
-50
-5
54
35
-10
3
27
-35
17
36
9
-19
26
24
0
0
0
0
0
19
32
6
0
0
-12
16
6
-1
-1
11
-10
-77
-17
-2
-13
63
-32
38
2
39
8
62
40
-18
-33
-15
-15
-20
-17
-12
7
14
-13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-152
69
2
-8
2
-20
-39
-12
-14
21
41
-8
-51
33
21
5
-64
-18
24
-30
46
-28
-6
10
27
-4
24
13
16
-7
58
46
15
2
38
0
0
0
0
0
-39
-45
-42
-6
7
-14
21
-4
6
33
-71
5
6
63
-18
0
-21
-7
1
-18
-37
-9
6
-9
-17
18
16
-4
-15
2
-7
-23
-7
22
1
21
6
-7
-23
-8
42
-9
9
0
2
22
-52
59
22
-4
33
-64
2
-85
25
-68
4
84
-59
-53
17
-2
25
-22
-21
-59
8
56
7
-14
15
6
-8
-3
-25
23
4
-12
0
18
-33
35
30
-6
35
94
-72
41
16
-8
122
-57
-24
40
-8
-77
131
11
-42
-52
31
-37
0
9
-17
-43
1
40
-54
47
4
3
11
31
16
18
38
-5
-24
25
-10
3
4
-1
-1
0
0
0
0
0
16
-55
7
-3
0
-8
-36
48
2
-4
36
-17
-25
-42
-3
-34
-32
-48
-15
20
-7
33
-41
48
-20
-39
29
-42
-26
8
-23
33
56
45
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
7
0
25
-49
-74
3
47
19
-12
-3
22
-47
119
-33
-31
0
-47
-10
-5
10
25
12
-13
10
-8
-5
28
63
78
23
28
14
0
0
0
0
0
18
30
-14
-2
2
-32
-9
67
-100
-6
-28
-35
31
-96
26
-55
-67
-27
89
47
-28
-54
-47
1
-27
-105
-2
-4
4
-39
-23
-26
23
10
10
-111
3
-4
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
19
-31
21
3
2
-49
-3
50
53
-3
-36
22
-66
9
-6
-68
-82
55
-48
-19
28
30
-21
-21
-48
17
-30
0
4
-35
1
-32
-11
8
42
-38
52
13
0
-25
0
0
0
0
0
0
3
-3
0
2
13
34
14
-12
-1
-7
-19
29
-26
0
-28
-1
-22
-43
22
77
47
-43
26
-4
-55
-28
25
-6
28
-13
37
20
47
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
1
0
8
45
28
10
0
104
56
-17
-93
0
32
34
57
27
0
-4
-15
-30
21
0
-12
4
-7
-5
0
90
16
22
-42
0
0
0
0
0
0
12
-24
45
16
0
30
-162
-19
14
0
-125
-113
81
89
0
34
9
-40
-43
0
-17
-14
-7
-2
0
31
-1
-30
-44
0
-11
17
-3
-21
0
5
31
12
35
0
1
2
2
0
0
70
13
-106
-37
0
-16
31
-32
19
0
27
-19
80
-91
0
-1
-7
-14
33
0
-39
-11
-11
-17
0
-7
8
21
6
0
16
3
10
26
0
-4
31
13
27
0
-32
-21
14
1
0
59
47
-33
-28
0
-7
6
16
20
0
-14
-7
-31
35
0
-31
-23
18
7
0
-1
-23
-18
33
0
8
4
42
-12
0
21
21
-19
-14
0
0
0
0
0
0
4
5
0
0
0
10
-10
1
-6
0
-2
-6
13
-3
0
3
-17
8
-8
0
2
-22
30
-30
0
30
42
22
6
0
-25
-68
17
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-5
-28
-2
0
0
56
30
-16
0
0
38
-74
-17
0
0
-18
-12
-50
0
0
-37
25
27
0
0
16
31
51
0
0
0
0
0
0
0
2
4
0
0
0
74
-6
-7
0
0
49
-10
18
0
0
-18
-81
-14
0
0
-33
-28
-18
0
0
-4
-8
16
0
0
27
-21
0
0
0
-58
13
3
0
0
0
0
0
0
0
-1
-4
0
0
0
-1
7
4
0
0
-41
-8
-10
0
0
-4
58
-25
0
0
-38
-31
41
0
0
41
-11
30
0
0
-49
-7
26
0
0
0
5
-20
0
0
-3
-2
0
0
0
6
2
0
0
0
4
-27
0
0
0
-13
82
10
0
0
-18
43
-19
0
0
-6
-66
-68
0
0
-22
5
4
0
0
11
-39
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-18
-5
0
0
0
-31
54
-4
0
0
-16
-3
-41
0
0
32
70
4
0
0
2
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
0
10
15
-4
-3
0
94
52
-56
3
1
60
-80
-1
-64
-5
-13
16
17
58
-5
92
1
34
10
7
25
12
12
-32
-17
0
0
0
0
0
0
0
0
0
0
-24
-8
0
0
0
-12
-34
-9
1
-3
-12
-64
12
10
2
78
-7
18
-79
-31
30
42
-10
74
10
1
62
46
-51
-40
116
2
9
-3
159
0
0
0
0
0
49
3
1
0
0
20
-1
0
0
0
2
-25
-3
1
0
-43
89
-137
55
0
-23
29
56
-89
0
23
94
0
-78
35
-21
24
42
1
-64
125
-14
-73
4
-2
3
12
0
0
0
28
-2
-2
0
0
16
0
0
0
0
16
26
-35
0
-2
-1
-17
14
21
0
16
-21
-34
-34
77
106
-22
57
-71
11
-60
40
46
2
-129
0
0
0
0
0
-3
-2
0
0
0
14
0
0
0
0
1
5
-1
0
0
0
3
-5
0
0
-1
18
-16
3
4
-13
21
39
36
-1
18
11
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
0
-1
-19
4
-1
0
-42
10
50
-14
11
41
25
-25
-152
-33
14
-8
5
47
-35
-12
36
33
36
11
133
53
53
-39
15
0
0
0
0
0
-17
10
-9
0
0
-14
0
19
-2
-4
-39
68
31
26
-38
-78
25
-8
-4
31
-20
-34
-20
-29
-104
-14
12
-19
6
23
75
14
2
32
-8
21
64
14
2
13
-9
-12
0
0
0
10
16
-3
-2
-7
41
-38
49
25
-5
20
-15
-57
1
5
-51
-58
78
-8
81
-53
5
1
-3
74
40
15
30
8
0
86
18
-11
15
-30
104
32
19
-5
10
5
56
8
2
1
42
104
5
-3
1
12
-72
-3
19
-3
23
-75
-48
-50
-28
-19
25
-25
52
-69
-34
12
-31
-7
24
36
60
13
12
6
68
23
4
-9
-6
0
0
0
0
0
11
-14
0
0
0
29
-1
0
0
0
-1
10
0
2
0
0
1
9
2
0
0
1
-12
-36
0
8
9
3
48
-29
-4
19
-16
-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
9
4
-1
-3
0
-4
-4
19
19
48
13
-85
-2
-24
2
9
7
-4
1
28
-45
-10
-17
-4
4
90
81
9
27
-18
0
0
0
0
0
0
18
4
0
0
-6
-58
-83
16
5
99
-35
-8
36
11
23
47
81
-25
-70
32
-19
8
-26
-16
-12
-12
-37
16
29
-49
-8
19
0
20
-23
17
-6
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
13
12
8
-1
0
5
42
-33
1
-3
3
-57
0
5
-1
-28
-40
16
31
35
-50
-50
43
-36
75
47
71
-16
21
40
-5
-28
72
10
-48
0
215
-36
-3
-54
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-10
4
3
0
8
-9
10
15
1
0
0
-13
-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
-2
-6
-5
-1
0
1
-9
37
3
0
-5
-16
73
-16
0
62
-28
-10
27
0
-25
-5
-66
-14
0
26
123
30
-15
0
0
0
0
0
0
0
-1
-6
0
0
-10
-6
-1
11
0
-19
-8
-54
-95
0
19
5
20
8
0
-43
42
-19
63
0
43
-11
9
-65
0
17
20
31
-16
0
56
17
34
0
0
0
8
0
0
0
-42
27
2
19
0
5
-25
59
-1
0
24
7
68
-2
0
-31
27
16
-33
0
-86
-42
-72
-2
0
7
-10
9
-72
0
87
-3
-12
-19
0
0
74
-66
40
0
-7
-3
2
0
0
-23
81
-36
-4
0
42
-3
-5
0
0
-34
53
-2
27
0
11
-8
-43
-11
0
24
-32
39
-65
0
-10
-90
25
12
0
0
14
-20
-3
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
-23
-1
0
0
0
-6
0
-9
-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
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-2
-1
0
0
0
1
0
0
0
13
-4
-65
0
0
-13
57
6
0
0
21
44
-26
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
-60
14
0
0
0
-36
-62
-8
0
0
57
10
-35
0
0
-27
36
75
0
0
0
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
-8
-2
0
0
28
23
-26
0
0
0
27
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
-25
0
0
0
25
-1
-52
0
0
3
53
0
0
0
0
0
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
-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
-5
6
-12
21
-2
92
-2
-21
24
25
127
-33
-18
42
40
3
5
45
-33
-52
54
10
-16
-15
-15
-43
3
12
-12
28
-26
14
-5
21
-10
0
0
0
0
0
-45
-108
44
16
-2
148
-35
-3
-7
-7
10
12
-54
-57
12
-94
57
-4
-18
-23
-11
-48
-33
4
-44
6
23
9
10
-3
-37
-17
13
-12
57
15
31
42
30
3
-5
-29
3
1
0
72
-1
23
2
-1
52
-108
-2
25
1
-3
109
-79
-29
-28
-43
49
-26
-53
-30
-41
-17
-4
-13
3
-10
-15
-2
-3
-41
11
-13
18
5
17
25
7
17
39
50
2
-41
0
0
2
131
77
-39
-24
-8
39
-36
-22
-49
2
48
3
-90
55
-44
-2
26
0
15
4
-17
7
-3
-24
-48
22
19
-8
14
5
-9
6
21
22
68
0
0
0
0
0
2
18
-2
1
0
78
33
-31
0
-3
50
-61
0
42
1
-22
-102
42
-15
-57
-1
-29
5
-60
37
8
-45
43
3
0
18
7
5
19
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-38
-116
16
-13
38
-10
73
33
101
15
-48
-8
-26
-41
-16
-32
45
63
-34
-12
38
0
17
-25
-5
-6
3
-14
4
-10
-9
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
-16
6
-2
0
0
17
68
-48
-5
2
-26
33
14
19
4
-68
-6
15
-18
22
-33
7
-9
21
-42
-57
-10
50
-28
8
37
13
11
7
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
22
37
46
-18
36
18
-59
2
-24
-4
50
-35
-43
20
-24
-13
-15
30
9
39
6
-2
3
-2
8
4
6
-17
-2
-55
9
-47
-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
20
5
-62
33
-45
-4
-62
4
9
28
36
0
3
-22
10
-14
-8
7
-29
39
-5
3
-13
26
30
-13
13
3
-5
-27
-9
-4
-22
3
8
11
-4
7
8
0
-1
-5
7
-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
55
-4
4
-5
0
-21
70
34
-1
-6
7
3
13
50
-8
5
73
-97
38
31
41
-18
-14
-41
14
-5
31
-13
-11
-23
-3
7
40
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
56
24
10
0
63
-62
-108
15
0
-25
-13
-17
-10
0
38
-41
0
-6
0
-22
-6
40
-20
0
2
-3
2
-10
0
-29
-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
-2
-6
0
0
0
4
51
-3
-9
0
-70
-24
-10
3
0
53
-71
20
-65
0
-10
-3
-13
-55
0
3
40
16
15
0
-7
-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
70
46
-4
0
0
-87
1
-7
0
0
83
-2
-1
0
0
-25
48
-103
0
0
-15
-12
84
0
0
19
-3
-11
0
0
-3
16
40
0
0
0
0
0
0
0
57
8
0
0
0
-7
-56
2
0
0
27
70
-6
0
0
50
70
16
0
0
71
-1
37
0
0
-26
22
7
0
0
16
-18
16
0
0
22
-3
50
0
0
-9
1
0
0
0
6
2
-1
0
0
-14
-16
-1
0
0
-20
7
65
0
0
7
6
-47
0
0
12
-2
-4
0
0
1
6
-5
0
0
-16
-22
-19
0
0
-1
-7
93
0
0
-4
0
0
0
0
-28
-1
-1
0
0
-7
20
-3
0
0
5
15
-14
0
0
-14
-2
-43
0
0
54
30
-44
0
0
-10
-5
24
0
0
3
7
78
0
0
0
0
0
0
0
-3
0
0
0
0
17
5
0
0
0
-24
-6
1
0
0
13
10
0
0
0
31
16
-17
0
0
-1
-24
-44
0
0
-5
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-29
27
-1
0
-13
-35
-41
21
-3
-7
51
10
32
-61
-5
16
-55
-71
1
24
18
13
19
-14
5
9
22
7
19
28
31
11
42
23
0
0
0
0
0
9
94
5
10
0
7
12
-18
0
7
-12
29
-32
44
25
37
63
-36
54
-67
38
28
-7
-43
-9
-1
6
-13
21
20
-4
5
7
-4
16
30
19
18
56
14
9
21
8
2
0
37
21
-49
2
0
-2
16
-23
-1
0
-11
23
-7
-30
16
75
44
6
-38
-46
-19
9
-26
-27
22
25
-7
8
-9
11
47
13
26
6
-27
15
-16
2
53
39
-3
25
2
0
-2
55
-50
32
-1
0
2
-13
0
12
0
-12
6
-9
-46
73
31
-50
-13
33
-4
-55
13
0
-43
-11
34
5
-2
3
-25
-27
5
28
44
6
0
0
0
0
0
-57
43
2
0
0
-55
0
1
-3
0
-21
44
-7
13
-2
14
-6
-60
3
27
79
5
-5
-6
-12
51
-4
-19
-9
28
2
-2
-12
58
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
26
24
0
11
-65
43
49
51
93
49
17
0
38
5
-26
16
22
-24
12
5
39
-11
34
32
16
21
-9
23
46
31
26
44
25
0
0
0
0
0
18
-53
-6
-9
14
-39
3
84
19
-1
52
3
136
-24
44
21
20
98
37
37
27
35
23
6
-42
5
2
10
33
-3
8
-32
-14
-5
-26
-14
-17
16
62
34
-56
-30
-5
12
3
11
79
-38
17
-1
12
-24
58
-2
-19
15
14
27
-24
27
20
-1
-12
51
26
6
-9
-10
-34
-20
1
35
-10
1
43
-33
-16
19
18
4
19
-1
11
4
1
9
-9
9
8
0
-21
45
4
14
1
28
-6
25
-11
-2
31
-68
31
-25
-20
50
-23
18
0
-67
-18
-34
-29
-16
-9
16
5
11
-1
70
-15
31
-2
18
-2
0
0
0
0
0
13
10
1
0
0
53
32
-2
11
2
-8
-26
45
-80
1
-24
-15
13
70
4
-2
16
-34
32
66
104
47
-27
22
-3
-8
-19
14
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-26
-2
5
-1
55
17
-10
28
-7
24
23
46
53
-5
79
57
-9
-21
-19
12
36
35
0
-3
11
15
14
11
10
6
6
21
1
18
0
0
0
0
0
-3
-10
16
4
1
48
-39
-22
11
0
25
48
-22
-8
-55
22
-18
-21
39
45
17
32
-15
4
-20
-3
6
10
-6
-17
31
-24
-8
5
12
-5
28
7
-14
20
2
11
86
-40
-2
-1
52
1
-16
17
-21
35
-58
27
-52
42
14
-35
19
-42
10
26
14
-12
-52
6
-6
-14
2
26
-4
4
-11
-4
2
3
4
0
0
14
-4
-3
-2
-4
-9
-26
6
7
-6
2
-32
25
16
27
0
-58
3
8
35
2
12
34
-4
6
46
97
-9
32
11
54
35
10
5
-9
-51
7
-1
-16
34
22
-5
2
2
-2
22
0
0
0
0
0
3
3
-7
1
0
39
-11
26
7
15
64
12
-38
-2
-3
13
7
20
-1
2
-33
6
47
-18
-28
11
7
5
-51
-17
15
12
-9
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-36
5
-4
0
19
53
6
2
0
26
-20
101
24
0
48
13
8
18
0
38
-13
28
-15
0
9
6
-15
1
0
0
15
26
58
0
0
0
0
0
0
59
-35
-2
-15
0
10
-11
16
5
0
-87
18
-105
-24
0
36
-66
-34
-15
0
-32
-16
6
0
0
35
4
-1
35
0
-9
7
-8
7
0
-15
-40
-1
-3
0
59
10
6
-2
0
21
-39
9
0
0
33
16
11
13
0
29
-46
-1
19
0
-62
24
4
-64
0
28
16
-10
6
0
1
13
3
-8
0
-1
-31
1
10
0
-9
0
-4
4
0
5
-6
1
0
0
-18
23
4
5
0
42
-40
34
0
0
43
29
-27
23
0
34
31
10
-10
0
72
17
-14
18
0
3
-3
-26
-33
0
0
7
30
3
0
0
0
0
0
0
-4
-12
-17
0
0
-16
7
0
2
0
-3
29
110
3
0
-45
-4
-4
4
0
-15
-42
22
-58
0
-57
-28
-16
1
0
11
-6
-5
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
-1
0
0
36
12
1
0
0
37
38
31
0
0
18
-58
-39
0
0
24
-9
13
0
0
6
5
-5
0
0
-10
2
30
0
0
0
0
0
0
0
-29
-1
0
0
0
2
44
0
0
0
29
8
-17
0
0
36
77
-123
0
0
27
-6
-6
0
0
15
-11
33
0
0
-27
-11
35
0
0
-8
23
5
0
0
7
0
0
0
0
18
12
0
0
0
50
8
0
0
0
-26
24
-10
0
0
-2
61
-29
0
0
7
5
-43
0
0
13
-11
10
0
0
-17
-26
-7
0
0
-33
41
125
0
0
1
0
0
0
0
17
-9
0
0
0
5
0
-2
0
0
-3
-57
15
0
0
54
4
-104
0
0
29
0
12
0
0
-10
16
-15
0
0
-19
22
26
0
0
0
0
0
0
0
-4
-14
0
0
0
-2
-5
0
0
0
-22
0
0
0
0
-5
57
0
0
0
-35
53
3
0
0
-45
8
-24
0
0
2
-5
56
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
28
1
-83
-3
0
-28
-47
9
27
5
-9
22
-45
-22
-45
60
-38
-4
-1
45
18
3
29
-24
43
63
56
5
27
-8
0
0
0
0
0
8
-10
-6
0
0
-5
-18
10
0
0
19
-11
-45
3
-2
29
56
-42
-2
4
-50
-40
-34
64
29
9
6
-27
-11
7
46
7
6
13
8
45
32
31
117
70
11
4
0
0
0
-34
-16
12
0
0
25
17
7
0
0
-31
63
-17
2
0
33
-92
69
-62
0
17
7
-48
-17
19
14
-3
-18
8
-33
66
20
26
-6
41
-4
37
-49
1
171
1
18
1
0
0
54
-14
2
0
0
2
34
0
-1
0
21
-54
-77
23
4
86
-16
-18
-26
4
-29
-25
18
7
16
23
17
5
-84
-38
-63
24
32
94
9
0
0
0
0
0
29
-17
0
0
0
23
-3
0
0
0
-14
0
4
-1
0
31
-5
-9
-14
0
-34
-13
38
16
5
-17
32
-21
-139
16
-55
43
22
39
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
3
-4
0
61
-14
51
2
3
23
5
-34
-58
11
-35
-60
-10
55
144
-6
-10
-32
18
-5
34
20
34
4
2
47
27
19
19
3
0
0
0
0
0
20
-32
-8
-2
-2
38
32
-41
12
1
-34
-41
-33
-58
76
1
-31
-16
-17
10
-40
8
8
-9
-11
13
3
1
-14
-16
25
4
12
9
1
5
9
38
28
14
35
-3
-4
0
2
14
42
8
0
4
71
52
-34
-43
3
36
-24
-27
59
-34
75
-30
-49
-29
-55
-10
-12
-30
5
7
8
13
-11
-23
-2
3
7
44
7
16
15
8
-19
10
68
15
72
-7
-4
0
108
-28
6
-3
14
-12
17
40
-76
3
61
-51
-38
11
57
-29
-6
3
-39
59
13
15
-17
-17
-7
75
5
7
9
2
-39
39
6
64
-55
0
0
0
0
0
-9
18
0
0
0
-12
-1
-3
0
0
14
-15
-3
0
0
-9
-63
3
-9
-3
33
-10
-2
22
-31
58
-7
38
5
52
-16
23
-7
50
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-2
-3
0
21
15
61
-8
0
43
81
-35
-20
20
-45
-7
106
-61
-41
110
56
-6
-4
6
44
15
14
1
-9
16
22
24
37
31
0
0
0
0
0
-27
-18
59
2
-3
-59
17
67
-9
3
-94
-6
4
51
81
-84
91
-3
44
-1
29
-3
51
-70
10
46
8
-9
-3
13
15
3
13
6
-12
3
0
4
46
26
44
-12
-41
-14
0
11
50
4
-9
-11
-2
10
4
35
35
-49
36
11
12
37
20
2
-22
-2
37
-12
-3
7
18
42
9
-19
9
-4
-4
-17
11
-1
7
25
91
0
-1
-1
-38
15
1
0
-5
-2
32
-17
20
-7
-6
27
-73
62
33
-1
-17
17
46
22
-55
-16
15
40
-11
17
27
-13
-6
-25
27
15
-18
12
9
-9
-4
10
-9
-9
17
0
0
0
0
0
4
-11
10
0
0
19
12
3
0
0
-13
-5
7
0
0
29
20
50
-38
-7
-55
-20
69
8
1
-36
8
-33
32
-1
12
31
0
-89
-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
17
3
-14
2
0
64
-11
51
8
0
6
52
-66
20
0
82
20
0
46
0
-4
-13
4
-31
0
-24
6
17
70
0
0
0
0
0
0
-39
16
0
17
0
-24
20
-7
0
0
21
9
49
35
0
-72
8
51
60
0
56
-38
-23
-18
0
9
0
-7
-16
0
-2
25
4
21
0
-22
-31
0
23
0
-31
0
3
0
0
4
-23
6
-4
0
3
60
35
0
0
3
-29
-9
86
0
19
75
29
17
0
21
-11
15
-12
0
3
20
35
-5
0
2
-8
-1
34
0
29
23
-19
32
0
-10
8
0
0
0
38
-10
-10
0
0
1
-13
21
4
0
-45
80
-65
42
0
21
9
33
-21
0
-29
6
-18
1
0
38
20
24
-14
0
6
-7
20
38
0
0
0
0
0
0
-15
3
17
0
0
16
-11
0
0
0
12
2
-11
0
0
60
-55
-2
7
0
4
1
40
-30
0
-81
-8
-21
-12
0
-77
36
-82
-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
0
4
0
0
0
0
0
-2
-3
0
0
1
-10
20
0
0
32
-7
-26
0
0
3
69
-13
0
0
1
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
-11
0
0
0
0
3
2
5
0
0
-19
-11
96
0
0
14
48
-33
0
0
-1
-4
-3
0
0
9
-32
-37
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
0
0
0
-5
0
0
0
0
8
-36
0
0
0
21
17
-36
0
0
3
0
-28
0
0
-8
-50
5
0
0
-43
-19
95
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-11
10
0
0
0
19
32
-32
0
0
-27
-8
4
0
0
44
12
-16
0
0
-68
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-21
2
0
0
0
-29
-10
23
0
0
36
62
5
0
0
-23
-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
-4
-3
4
0
-42
9
59
-34
0
-6
-2
22
26
21
-30
-46
-41
10
-32
-12
20
-15
-52
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
-4
0
6
3
12
-4
1
44
-34
12
-13
19
51
6
16
36
-37
-2
-77
-107
-56
25
-266
-6
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
14
-61
88
-13
-3
13
16
95
-57
-40
-191
-67
5
70
86
-28
-89
-69
-94
24
-67
65
-101
-33
-94
0
0
0
0
0
0
1
0
0
0
-10
-7
0
-4
0
-1
1
-14
0
0
-10
-20
68
18
-7
31
-51
44
8
-31
23
9
21
-5
13
-121
23
-69
-18
40
0
0
0
0
0
0
0
0
0
0
-1
5
0
-2
0
-13
33
0
-2
0
-70
-2
-10
-4
4
11
-71
-38
43
2
40
-35
-80
4
22
-13
63
17
-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
1
-4
-3
-5
-3
8
28
-2
-144
8
5
0
-48
12
19
-37
-82
-13
59
29
-226
-56
8
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
0
-21
1
0
0
0
0
-5
0
0
-12
2
-5
6
-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
-6
0
8
0
-12
-2
-7
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
0
0
4
0
0
0
1
0
1
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
3
0
0
9
0
8
8
19
-4
-8
-5
45
-3
30
-45
3
-23
37
18
17
0
30
-47
-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
9
-6
-3
0
0
-38
-93
-20
-24
49
-37
-45
69
-44
-61
15
-17
3
11
-39
-126
-36
-132
44
-4
0
0
0
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
0
0
-3
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
4
0
0
0
0
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
7
-1
-1
0
-20
47
-22
-1
-10
-58
-48
1
1
5
26
-5
-1
-1
-16
23
-52
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
-4
1
-6
-2
0
-24
-67
6
-11
0
-9
97
3
-92
0
74
-84
-53
66
0
-51
-61
9
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-4
14
0
-8
-7
16
-4
0
31
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
-8
0
0
0
0
-40
17
-27
0
0
-39
-26
-1
0
0
41
-33
-12
0
0
-8
39
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
-3
0
0
-4
-43
-14
0
0
-37
-26
-4
0
0
-46
29
94
0
0
64
33
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
7
3
0
0
-3
-51
24
0
0
8
13
74
0
0
0
-18
-62
0
0
12
80
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
0
0
-49
18
25
0
0
14
-53
6
0
0
25
-5
-17
0
0
30
25
20
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
3
-44
7
0
0
2
27
-1
0
0
-1
-24
14
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
16
2
-1
-4
0
56
-39
8
-20
6
-78
-39
89
-17
-16
49
44
-18
13
21
0
1
9
13
21
-31
-39
-2
22
97
0
0
0
0
0
-1
-1
1
1
0
-8
33
4
0
-2
-27
10
-22
-2
-3
68
12
59
9
-75
-68
34
-24
-81
42
30
21
33
-26
21
-55
-55
-9
15
31
-57
27
-16
26
19
13
-2
0
0
0
-5
8
2
3
0
-20
-12
-6
-6
0
-17
-67
25
6
-2
32
-12
38
14
16
85
0
10
-26
30
-17
-20
-2
41
-122
-75
-5
-27
-39
27
-38
-25
-33
72
29
-25
7
0
0
0
-8
1
4
1
0
-33
22
4
-15
-1
8
69
24
-40
-11
17
75
-44
6
-54
14
12
14
-42
35
-8
-73
38
22
27
-80
-73
-41
29
14
0
0
0
0
0
1
-7
0
0
0
30
-21
-5
21
0
-78
-8
36
0
1
42
3
-106
6
-7
-74
27
32
-94
-66
-31
-4
9
56
-41
-2
-56
26
-49
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-21
7
42
-8
2
69
-35
-10
-31
-2
39
-64
-13
-26
-44
19
-14
-33
-12
-33
-7
3
8
6
17
-12
-88
-3
44
31
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
-2
-2
0
-5
31
-5
-4
1
-81
-145
-43
-61
-20
-26
-84
12
0
35
-93
-77
5
54
-3
72
-15
-183
-61
-52
0
0
0
0
0
-12
0
0
0
0
-1
5
0
0
0
-2
2
-2
1
-1
-77
84
-15
41
0
-31
-88
-45
-5
43
7
-85
-56
28
19
65
-37
-38
-140
-58
-1
-14
-84
-69
-161
3
0
0
0
0
-6
0
0
0
0
-7
0
0
0
0
-7
6
-20
8
0
-55
-2
-4
13
0
-69
-113
23
38
28
-40
-85
-103
-69
-50
16
17
-37
-86
-23
0
0
0
0
0
-3
-5
0
2
0
5
-50
9
-2
0
-27
32
15
-5
1
-94
14
6
-69
3
51
50
82
18
101
-17
-8
-38
74
-29
34
-20
-35
-34
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
0
0
0
50
9
-7
4
-5
-53
-138
70
38
-6
-92
18
-120
-46
62
-43
20
2
1
-1
-9
-24
15
2
31
6
6
-64
-15
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
2
2
0
0
-7
1
-58
-14
0
-109
39
-72
-17
-27
97
-67
-79
-14
72
-31
-33
-15
-4
-136
36
-67
-13
-84
-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
2
2
-6
0
0
-3
12
8
1
0
-2
0
2
-1
3
-11
38
-21
11
7
-53
-49
18
10
-107
-56
-31
-79
-75
17
71
-78
15
-128
-12
0
0
0
0
0
-1
2
-4
0
0
21
-18
9
1
-2
-18
26
-15
1
8
-75
-78
16
79
27
68
11
-10
-58
-38
-57
45
-67
12
-31
18
-33
35
-48
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
3
9
-1
6
0
20
19
-35
13
0
70
70
-113
-58
0
-28
2
-25
-24
0
-40
-16
5
-37
0
38
-45
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
-1
-11
-1
0
0
1
-7
-19
115
0
35
-3
-49
16
0
-37
-112
-78
-88
0
1
41
-16
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
13
-23
4
0
-84
34
55
15
0
-68
17
-61
-49
0
8
-36
-107
-63
0
0
-79
-56
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
-5
0
-2
3
65
2
0
-76
6
-82
-25
0
-3
8
50
3
0
70
-63
-151
14
0
0
0
0
0
0
-9
0
0
0
0
-9
-2
-3
-4
0
-10
-48
29
-1
0
16
25
29
17
0
-20
10
-42
21
0
-5
2
-29
-18
0
2
-5
22
67
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
0
0
0
0
-20
1
-6
0
0
-70
24
-4
0
0
24
6
29
0
0
53
-3
28
0
0
-15
3
27
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
0
-17
-7
2
0
0
-2
5
16
0
0
11
30
-19
0
0
-37
12
17
0
0
8
-39
5
0
0
89
-11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
53
-19
-35
0
0
-62
28
43
0
0
-70
-20
-92
0
0
52
5
40
0
0
-15
-5
4
0
0
-10
35
120
0
0
0
0
0
0
0
0
5
0
0
0
-7
-15
7
0
0
65
24
-6
0
0
74
-36
56
0
0
-11
-63
-65
0
0
-45
7
-7
0
0
5
7
4
0
0
0
0
0
0
0
1
0
0
0
0
-7
-8
0
0
0
20
1
1
0
0
35
-37
-19
0
0
52
60
30
0
0
-94
-46
-5
0
0
1
5
12
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
-12
-17
-44
0
6
-36
36
24
-8
6
-44
-2
-118
-37
-23
63
32
28
-6
19
8
2
15
12
-7
17
-37
-6
-13
39
0
0
0
0
0
28
-8
-3
0
0
-5
-38
-10
-1
0
4
-1
42
4
0
114
-13
91
21
-37
-18
32
15
-72
-72
-35
24
8
22
79
-17
16
-4
38
22
75
-8
-3
55
35
28
-16
0
0
0
46
-5
-3
-2
0
-9
47
-22
-7
0
-9
52
88
13
-11
37
-7
3
66
-11
-22
-8
10
-75
5
40
4
-20
-20
39
5
6
12
23
7
-1
-43
26
166
94
20
-2
3
0
0
41
12
6
-7
-3
-14
22
-17
-1
0
-93
-25
23
63
17
69
62
-44
5
-25
18
-6
-8
25
-52
13
-3
24
-6
61
1
-20
35
38
51
0
0
0
0
0
-2
14
-2
0
0
12
1
0
-5
0
9
38
-12
-5
0
-21
-66
-10
-18
7
-5
84
-14
16
31
12
11
-4
53
-12
29
-46
30
26
39
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
21
-8
-32
34
21
-37
-24
-11
-64
97
-22
-86
-100
114
-99
31
-10
-6
-38
9
4
27
14
-1
9
52
11
11
6
17
0
0
0
0
0
54
-3
-3
3
-1
-28
80
-50
-54
3
-49
-57
-54
43
-15
-53
32
-9
38
27
-35
-4
19
-38
21
-2
13
-8
32
22
18
-40
5
21
-4
44
-15
-55
-21
-67
-20
28
0
0
-1
128
-11
29
-1
0
-12
9
7
-7
2
8
-1
-8
-74
8
12
37
75
-30
20
-32
-3
-60
21
16
8
1
-4
12
-62
42
3
-44
3
-39
10
-53
-3
21
57
-11
15
-5
1
0
2
24
-24
-21
-2
42
-38
29
4
-2
-6
-36
-9
-32
19
3
-19
47
61
34
-45
16
-19
53
-49
-55
-4
-28
5
6
30
1
-23
-81
-101
0
0
0
0
0
34
6
0
2
0
-6
-31
-13
10
0
-13
-17
-15
33
-3
-52
32
46
-17
11
49
-34
58
-51
-56
-31
15
-25
-21
14
-32
-17
-24
7
-26
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
-20
-32
45
64
0
87
-32
23
4
53
54
-17
-53
-84
17
-19
29
-19
-32
5
-23
0
16
-1
24
14
11
-1
12
2
0
0
0
0
0
9
-11
0
1
0
48
36
-11
6
-7
-54
1
20
-26
-12
-52
-98
-48
82
24
-46
15
-20
66
39
14
12
26
8
79
4
-5
-4
35
35
72
-7
12
-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
4
-69
-3
7
0
-71
52
17
-54
3
-17
58
-97
5
0
44
-74
-17
59
-6
-20
12
0
39
18
37
-34
15
5
-33
-29
-14
-12
-55
-8
9
8
-35
-46
-18
0
0
0
0
0
7
20
0
10
0
-2
39
0
-13
-2
-28
2
44
-6
5
-68
19
-40
72
25
49
-75
21
118
26
-13
14
37
-42
-7
2
-21
-30
-16
-29
0
0
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
-11
-18
2
0
-4
-13
-32
-5
0
-20
-52
8
32
0
14
20
3
30
0
-19
-2
-18
-16
0
34
13
27
47
0
0
0
0
0
0
-14
11
-2
-3
0
-26
-3
-15
1
0
102
87
26
-49
0
118
-28
-31
-61
0
-40
4
18
-90
0
-24
-3
28
27
0
-88
-28
-43
-19
0
70
-45
14
-30
0
0
1
-1
0
0
2
-33
-16
-8
0
25
-77
-54
2
0
-25
25
16
-59
0
94
-83
-13
-41
0
14
13
48
-91
0
-38
-8
-36
-4
0
5
7
-2
-28
0
-51
1
26
-4
0
-3
0
-3
0
0
4
-4
9
-3
0
16
28
-84
3
0
46
-57
46
-9
0
-46
3
-38
14
0
-7
-35
46
89
0
108
-37
-15
3
0
2
-9
69
-67
0
0
0
0
0
0
4
5
2
0
0
2
6
-5
-1
0
-27
22
-35
2
0
-102
25
54
21
0
0
-8
4
16
0
-35
-39
47
-13
0
9
-15
19
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
1
1
-2
0
0
-12
30
-19
0
0
62
45
46
0
0
7
7
-24
0
0
-18
30
-13
0
0
17
1
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
2
0
0
6
-19
8
0
0
29
1
34
0
0
10
9
-4
0
0
-3
10
12
0
0
20
58
32
0
0
0
0
0
0
0
-7
-1
0
0
0
-6
8
0
0
0
-29
-14
-7
0
0
28
20
-34
0
0
-2
-26
51
0
0
-22
28
63
0
0
135
16
30
0
0
-85
70
-1
0
0
0
0
0
0
0
4
0
0
0
0
-2
4
-2
0
0
38
-17
-1
0
0
-37
-23
34
0
0
-9
11
-102
0
0
35
-12
83
0
0
-34
-32
61
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-29
8
-1
0
0
86
-38
-4
0
0
-6
-18
28
0
0
-77
30
-10
0
0
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
-4
1
4
0
0
63
-5
-3
3
-1
-55
-22
-2
-23
0
-60
24
42
-8
31
48
-1
10
31
15
68
0
-45
45
16
0
0
0
0
0
9
0
0
0
0
19
-12
0
0
0
-25
17
8
0
2
-29
11
-1
1
0
4
-44
42
-90
-13
-16
39
-6
-10
14
6
33
26
6
32
99
0
-19
68
-19
-1
0
0
0
0
-6
0
0
0
0
-9
6
0
0
0
-10
11
0
-3
0
-4
-11
6
-17
-1
-105
1
-30
-16
1
20
19
-54
-9
17
39
27
44
-26
98
1
-147
58
117
-31
-1
-21
0
0
0
19
6
6
0
0
0
-2
0
0
0
-5
23
-32
-4
-1
-94
18
5
14
-2
-19
31
-43
-83
18
15
36
-37
8
6
0
-9
74
64
-56
0
0
0
0
0
1
-18
0
0
0
4
0
0
0
0
-3
5
2
0
0
-41
-6
20
0
0
19
14
-15
-26
3
-59
50
7
61
-2
24
16
48
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
-5
11
5
-4
0
74
28
43
-17
3
21
-10
21
26
-2
-6
24
-16
36
79
3
25
20
-14
57
90
36
11
22
-51
0
0
0
0
0
-32
4
0
0
0
-60
-22
3
-6
1
29
-58
41
48
-22
82
37
29
23
-29
80
46
-3
16
67
0
30
-11
13
61
47
-12
30
9
3
33
34
-4
8
-10
-3
-4
1
0
0
-13
-3
-2
-1
-1
12
13
-8
63
-5
-11
-13
10
15
1
-50
15
3
5
-10
-24
1
5
-44
11
14
11
28
15
44
90
15
18
15
-1
-18
8
12
44
91
-35
9
23
0
0
65
16
-34
1
3
-31
-63
55
0
-1
-74
15
44
47
-65
0
1
15
-17
43
-1
14
-9
-6
-30
139
7
-36
31
-10
-35
16
-13
34
27
0
0
0
0
0
-6
9
0
0
0
-3
-3
8
0
0
10
-10
1
-2
0
2
76
16
-21
-3
-20
-44
-65
92
1
59
12
-59
-36
34
-33
-14
15
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
12
-1
-9
0
32
46
-57
30
-9
-46
33
-108
113
-3
22
22
1
28
75
-83
17
48
-6
-14
75
3
42
23
14
0
0
0
0
0
-8
6
0
0
0
11
29
5
-15
3
116
-55
57
-25
-32
1
60
21
9
-22
19
-3
-24
-33
-9
-30
36
30
53
53
-14
17
32
44
18
15
47
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
2
16
-4
2
0
22
-34
9
4
7
22
-53
2
-48
1
-50
-53
-15
-43
18
12
-15
4
-4
42
-45
12
21
10
-56
-22
41
10
-11
86
-74
-42
9
37
-16
0
0
0
0
0
0
-5
10
0
0
0
-11
-5
0
0
-5
1
-9
-7
0
0
8
2
-11
0
45
46
6
-68
-7
8
-16
65
-23
-4
13
58
-70
109
20
0
0
0
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
-17
6
-9
3
0
-35
-72
64
-141
0
11
-26
-41
-20
0
-21
3
-32
25
0
13
45
52
102
0
0
0
0
0
0
-2
0
0
0
0
-3
7
0
-3
0
65
-12
-29
-26
0
-106
9
73
-85
0
-14
-4
-41
-4
0
-33
31
58
26
0
-4
17
39
12
0
103
22
10
44
0
2
0
0
0
0
-2
-1
-2
34
0
-51
34
2
0
0
-57
-20
-6
38
0
-14
71
12
66
0
18
19
-21
-79
0
3
21
20
-31
0
-5
52
18
-26
0
16
-48
55
130
0
0
0
0
0
0
-5
-3
-1
1
0
-19
9
59
-6
0
28
-67
63
-10
0
93
57
-85
-31
0
25
-35
-1
-8
0
-50
60
-13
85
0
-41
-115
-21
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-34
-2
-3
1
0
-36
35
92
-1
0
92
-22
-46
-26
0
-5
53
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
17
6
-15
0
0
67
56
-55
0
0
-51
22
-46
0
0
15
4
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
-3
0
0
49
100
21
0
0
3
53
49
0
0
4
-22
6
0
0
-98
74
-22
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
28
-27
10
0
0
-28
46
9
0
0
1
-68
41
0
0
0
66
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
-7
19
0
0
0
-5
-4
-59
0
0
-14
27
58
0
0
6
-91
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
29
0
-40
0
0
0
-4
-3
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
5
0
0
24
-62
34
1
0
30
30
33
-55
-11
91
52
-51
21
43
0
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
-29
29
24
0
-13
73
-78
21
5
19
35
34
48
-60
169
-65
-26
-33
17
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
2
-23
4
-1
0
48
53
-62
8
-21
75
52
59
25
0
37
-6
3
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
13
6
0
0
-34
25
4
0
9
4
-1
10
-8
0
65
-19
18
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
4
-6
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
-7
-8
0
0
0
4
4
0
0
-6
48
37
-15
1
20
13
-1
-47
4
129
38
-3
69
10
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
58
-17
-42
3
0
-3
-7
41
-11
-5
-114
-5
44
18
-79
14
19
23
38
32
104
39
-1
44
8
3
44
39
39
90
0
-2
0
0
0
-35
1
0
0
0
-8
17
1
0
0
-17
15
21
11
-16
28
-96
-36
5
-4
-7
-17
-28
26
-42
-32
-8
30
27
66
57
28
41
1
-40
-49
71
-7
34
79
24
-39
0
0
0
-4
22
1
0
0
12
1
-6
0
0
13
8
-70
-13
0
-7
-18
54
-6
7
-91
25
45
21
23
-9
51
37
12
19
-28
47
-86
60
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
13
2
-10
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
0
0
0
0
0
-2
-2
0
0
0
-5
-7
2
0
14
7
41
-14
-3
-6
-31
-31
51
-48
87
10
50
4
39
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
11
0
-45
-4
-1
0
7
30
-32
0
53
-32
6
-72
13
38
-16
0
96
67
-34
20
24
32
21
50
-60
122
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
7
0
0
0
6
1
3
0
0
0
-8
0
1
0
0
-10
-22
6
0
15
7
-7
19
-3
-110
-21
2
-25
88
23
37
35
51
-31
0
19
26
-35
-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
2
0
-7
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
-2
0
0
-14
-5
-9
8
0
31
-6
-46
19
0
-33
10
32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
2
0
0
-13
-9
0
0
-30
3
54
-55
0
-50
26
46
-30
0
25
58
58
-52
0
-23
-11
-36
178
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
0
0
3
-1
0
0
7
80
16
18
0
-28
-28
-84
4
0
-2
-37
11
61
0
65
16
2
-8
0
0
-35
58
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
9
8
3
0
12
-35
11
2
0
-37
-23
-29
-35
0
5
6
110
-31
0
0
-1
-51
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-59
4
58
0
0
4
-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
-1
0
0
0
-2
-11
0
0
0
14
48
-28
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
3
3
16
0
0
0
-18
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
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
36
12
-16
-9
-38
-21
21
-6
2
2
6
55
-20
-6
34
-1
-19
31
48
-2
14
36
41
28
-53
-19
-19
5
27
-129
-33
-13
-15
55
0
0
0
0
0
21
0
44
-17
-2
-13
-17
-46
42
-3
-49
-28
-15
86
70
92
-2
30
-24
-7
-80
58
-28
67
-48
6
-19
23
29
39
-193
-69
-3
-37
16
-19
-15
-46
20
-22
-17
-11
9
-5
1
38
39
-10
-9
2
13
-20
-34
22
6
4
-36
53
68
-18
-55
50
0
9
0
-35
71
66
14
-13
74
-38
28
38
15
-42
-47
-47
-50
25
-71
-18
-24
17
2
-9
10
13
3
-3
-53
-8
9
11
2
-21
44
-72
11
29
14
29
-32
67
-17
20
-48
28
-29
-47
33
-4
-17
-8
75
-16
39
20
33
5
-91
-43
27
-23
-2
0
0
0
0
0
-16
-21
7
5
2
-4
-6
19
5
-1
-51
89
14
36
-2
-10
-37
24
8
39
68
17
16
86
-10
-32
-35
-18
-61
20
-25
0
-12
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-26
54
71
-24
-82
-12
5
32
7
-123
33
47
-30
40
22
25
31
-11
129
74
36
57
35
14
-8
-39
-28
-7
9
-110
-49
-103
-31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-3
-1
16
-2
-20
8
-15
-33
60
72
16
1
-19
-60
11
42
-28
-12
-108
-17
65
49
-68
-2
-4
-19
1
-34
-45
-39
-13
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-65
-12
-19
-123
42
-40
-5
3
-67
17
-5
6
-9
-36
-9
26
43
15
10
7
21
-7
-13
-63
-17
9
24
21
-57
-129
-44
-111
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
-53
17
2
0
-2
25
22
-6
-24
-8
14
-21
27
33
1
-90
28
-28
46
-28
31
-44
12
-63
50
-79
-59
39
-31
-22
-18
-11
-10
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-57
-63
5
0
4
-60
-1
50
0
20
88
-62
-58
0
-22
59
16
30
0
15
55
25
31
0
-36
13
25
-9
0
-32
-38
-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
44
0
0
0
0
33
-33
12
5
0
33
-65
-9
20
0
21
47
-60
-66
0
3
59
-27
-2
0
-60
-17
42
-5
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
-22
8
6
0
0
-43
25
29
0
0
-23
-92
22
0
0
44
-22
9
0
0
-13
5
8
0
0
12
11
26
0
0
-23
21
-62
0
0
0
0
0
0
0
37
11
-10
0
0
37
0
11
0
0
-41
48
-32
0
0
31
-15
13
0
0
56
14
-1
0
0
27
16
74
0
0
-12
29
28
0
0
-49
26
-83
0
0
35
0
0
0
0
-33
2
-3
0
0
45
-29
1
0
0
29
11
-39
0
0
-69
42
16
0
0
-92
-81
55
0
0
-2
-13
9
0
0
18
24
24
0
0
-25
9
-44
0
0
12
-6
-4
0
0
-10
-7
6
0
0
45
-11
13
0
0
72
-78
8
0
0
-4
29
50
0
0
-75
-49
40
0
0
10
37
9
0
0
0
15
-7
0
0
0
0
0
0
0
-12
-3
-6
0
0
-37
-5
8
0
0
32
6
5
0
0
11
17
20
0
0
-48
-86
-55
0
0
65
12
29
0
0
-2
-16
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
68
-13
-19
2
90
19
-12
8
1
18
-14
-66
53
10
23
-1
9
-27
6
-15
24
41
9
-20
-12
-4
-15
-12
13
-87
8
25
13
63
0
0
0
0
0
27
0
6
-5
0
-37
17
3
0
3
-5
-16
6
-112
17
-36
36
48
-7
-39
22
29
-124
17
34
-9
-25
8
10
145
-37
-36
-20
3
-89
37
24
28
77
-16
-5
8
-4
0
0
-23
4
6
4
1
71
-4
22
-6
-7
-20
-70
52
-44
4
11
28
-15
1
-1
-12
-21
-40
-9
-4
-33
57
34
-13
31
32
-49
-25
-28
-1
-55
24
101
61
-57
-12
-3
0
0
0
-17
-32
-2
-1
1
-12
24
-36
-18
0
18
53
-16
-40
-2
-71
56
-88
14
25
6
-75
42
76
-57
107
2
1
-93
-13
-102
12
-29
45
30
0
0
0
0
0
4
13
0
0
0
7
4
3
2
0
21
-43
19
-16
0
-14
15
12
2
-1
-43
40
5
-37
-12
78
-53
-94
27
-8
7
-2
49
8
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
21
-11
-3
4
-14
-95
-9
-38
-31
40
-8
67
15
-79
-67
31
75
26
7
33
35
27
0
-11
-34
-6
-53
-72
65
-39
-42
-42
26
-32
0
0
0
0
0
-11
3
1
0
0
6
-19
1
3
3
-25
90
12
1
-39
0
43
-34
-16
61
-15
-78
54
-22
-40
17
-36
-16
-12
38
-87
-168
-27
44
50
-70
45
44
-10
-27
-2
0
0
0
0
0
8
10
0
0
-31
25
-42
26
1
-17
-64
-14
80
23
6
25
41
-43
8
48
-56
19
34
27
-36
20
-8
-1
-45
53
19
-61
36
-18
22
45
54
-101
-66
0
-1
4
0
0
-3
-1
7
-4
-1
2
-16
-58
-3
-2
-6
24
10
20
10
-56
67
55
-35
-20
54
-34
-29
18
-31
34
-36
-7
117
21
32
-127
-17
-62
-28
0
0
0
0
0
-20
15
-3
0
0
4
62
15
9
2
-10
6
-9
1
0
-6
-81
-11
-2
3
-49
11
21
3
-13
-33
22
22
-90
6
123
-95
-14
20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
11
-18
24
-6
65
6
-40
-19
-1
64
-38
4
-42
10
-95
9
5
66
-47
-4
11
13
1
17
-23
-31
17
-1
15
-88
0
2
-79
91
0
0
0
0
0
0
2
-3
0
0
-5
0
1
0
0
-10
8
19
3
-10
-33
30
7
-45
7
38
-4
-78
26
11
35
65
-25
44
-4
-20
-135
91
70
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
-6
0
0
0
32
-14
-2
17
0
42
18
20
-70
-23
-29
20
49
7
1
13
34
-12
-24
19
-27
44
-25
20
-6
-23
-10
-20
45
49
-27
-7
-21
-16
-11
0
0
0
0
0
15
-5
-6
0
0
-60
-2
21
-2
0
-13
0
-2
-3
0
-10
19
54
0
2
-2
-34
52
9
16
-9
-136
-24
28
11
66
-1
-103
29
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-14
21
4
0
48
20
63
-13
0
81
-35
-59
38
0
-19
-4
5
23
0
21
65
5
-19
0
-12
-73
9
-6
0
-38
-47
-7
89
0
0
0
0
0
0
43
3
10
-1
0
-12
-47
3
1
0
-25
45
-18
-14
0
12
63
-17
31
0
-1
28
-2
44
0
-18
10
-21
3
0
-27
-15
3
35
0
-27
-51
174
-18
0
-19
2
-6
0
0
-7
-1
1
0
0
-10
-28
25
-1
0
25
62
2
-17
0
16
38
-7
5
0
-52
-67
57
3
0
89
141
-12
-43
0
-1
-59
-4
4
0
-55
19
-68
-4
0
1
-5
0
0
0
-26
-5
2
0
0
47
-1
-3
1
0
-55
-12
19
9
0
38
-17
-66
9
0
-21
29
30
-3
0
21
20
-16
8
0
-5
5
-46
8
0
0
0
0
0
0
1
0
3
0
0
-49
15
1
-1
0
51
-10
26
0
0
-22
-3
15
3
0
42
-8
-22
3
0
-7
-25
-5
32
0
-73
45
10
-22
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
-32
-36
-13
0
0
4
-48
24
0
0
-13
46
-57
0
0
37
9
37
0
0
17
-19
27
0
0
-65
25
-29
0
0
0
0
0
0
0
20
7
2
0
0
-27
18
0
0
0
5
49
-1
0
0
32
22
25
0
0
24
-25
5
0
0
45
8
-6
0
0
-45
44
-11
0
0
-2
-30
-51
0
0
2
-8
0
0
0
-1
0
0
0
0
-41
0
1
0
0
-23
-10
49
0
0
63
10
-32
0
0
-78
-29
75
0
0
23
-57
17
0
0
44
-76
26
0
0
88
135
-44
0
0
0
0
0
0
0
-3
-2
0
0
0
14
-1
1
0
0
-65
-1
-13
0
0
25
-43
25
0
0
-78
56
-29
0
0
65
45
56
0
0
30
-43
-19
0
0
0
0
0
0
0
6
-2
0
0
0
4
-3
-1
0
0
11
-11
4
0
0
14
8
-6
0
0
2
9
19
0
0
-15
-12
-82
0
0
20
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
-31
5
4
1
0
40
-45
30
-11
0
-7
122
49
-35
-26
85
72
18
33
-34
29
-7
-9
-94
34
-39
-15
24
90
36
0
0
0
0
0
-2
1
0
0
0
-3
8
-1
-9
0
-36
38
14
2
0
0
-1
-2
-6
-15
22
-64
104
21
14
-3
27
6
45
50
10
-10
30
39
9
132
26
-56
-35
3
3
11
0
0
0
9
0
0
0
0
-13
-19
0
0
0
-4
-14
43
3
0
9
49
14
6
4
10
53
-63
-40
-6
-150
-40
44
39
50
32
-28
17
38
5
136
59
-119
-3
13
1
9
0
0
0
8
-12
0
0
0
3
-1
1
0
0
49
35
3
-2
0
-8
5
0
3
0
-63
0
15
10
-5
-6
12
-10
-58
-6
72
-67
26
-7
0
0
0
0
0
0
1
0
0
0
0
2
0
-6
0
0
2
-2
0
0
0
0
9
0
0
0
13
3
-1
0
0
0
-84
4
3
0
-15
-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
7
-5
2
0
-2
1
-27
46
8
-37
61
49
17
-23
8
-42
94
85
58
-23
-4
16
-47
21
103
57
77
-7
-74
25
0
0
0
0
0
69
10
2
5
2
-44
-29
12
-7
0
56
-15
9
32
-4
61
74
-63
45
-46
22
40
-64
-8
13
11
45
21
-51
-11
-12
-47
46
46
96
-74
-8
40
27
26
8
-18
0
0
0
9
0
9
0
0
-15
-15
-21
-17
1
10
-38
61
-64
5
-10
96
39
-95
77
-98
0
-58
68
-23
37
42
-20
-5
83
-23
17
39
52
-101
2
36
-84
87
-29
2
6
5
0
0
-23
8
51
-4
0
-6
-25
-13
39
1
-12
50
-39
-17
-10
38
-8
-97
16
1
-32
23
-14
-1
-8
2
29
72
-13
62
64
-264
-8
-7
42
0
0
0
0
0
0
-1
0
0
0
-1
1
-1
0
0
0
5
6
-1
0
21
0
-6
0
0
0
15
-9
0
0
-1
2
3
7
0
0
-36
3
2
-6
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
-14
-20
52
-2
0
56
-55
9
-1
5
18
20
58
-29
-91
37
68
-33
49
38
-40
33
-56
9
49
-77
-42
20
39
38
0
0
0
0
0
0
2
-4
0
0
4
0
0
0
0
-27
-1
16
-1
0
-11
-36
61
12
-1
70
-79
68
-66
-44
-1
-23
-42
82
40
-30
54
42
-41
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
9
0
0
0
6
1
0
-6
0
-11
3
0
18
7
-9
14
27
26
3
-13
44
31
-10
-2
-25
-21
44
-2
-19
61
-42
8
95
-19
8
-64
-7
-45
5
0
0
0
0
0
-8
1
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
5
-4
0
0
13
19
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
7
0
1
0
0
-6
-14
0
0
0
-24
28
-1
-1
0
-5
-36
24
48
0
-20
51
0
-41
0
30
-28
69
-24
0
15
3
-38
29
0
0
0
0
0
0
-19
6
1
0
0
27
12
16
0
0
16
-18
-11
0
0
20
59
24
-20
0
48
-8
41
19
0
35
-29
36
20
0
-32
4
-85
-14
0
22
41
78
2
0
18
1
0
0
0
17
15
0
0
0
22
0
-6
0
0
-18
51
35
-7
0
-32
-29
43
-19
0
7
57
-13
11
0
21
42
33
10
0
18
-99
-38
111
0
-11
-9
58
-22
0
-4
0
0
0
0
-35
-1
-2
0
0
49
-17
2
0
0
-20
-8
-17
2
0
8
17
59
-21
0
-45
34
-5
-26
0
66
-52
-32
65
0
-16
11
31
37
0
0
0
0
0
0
3
0
0
0
0
-6
2
0
0
0
0
0
-4
0
0
2
0
0
5
0
-27
0
0
0
0
-4
-43
-8
1
0
4
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
-3
-1
0
0
0
-9
19
0
0
0
-2
-14
-1
0
0
-51
105
-4
0
0
8
-7
90
0
0
77
-49
-55
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
33
-5
0
0
0
14
33
19
0
0
-3
17
-73
0
0
81
18
0
0
0
11
-5
9
0
0
-7
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
-1
0
0
0
7
-11
3
0
0
4
-19
0
0
0
-18
55
38
0
0
90
-88
5
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-2
-2
0
0
-5
-1
-4
0
0
-7
5
-2
0
0
3
10
-3
0
0
-8
-87
23
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
9
20
4
-39
34
-49
4
-41
38
26
-43
-9
17
-35
3
-1
14
-5
40
126
-2
-39
-59
-11
-64
-67
42
24
-33
35
0
0
0
0
0
-1
0
0
-2
0
2
4
29
52
0
33
-49
40
-27
7
59
-46
3
27
58
-5
47
20
4
8
55
-24
56
-61
0
-101
-25
3
-34
-28
-299
46
2
106
10
0
0
0
0
0
0
1
-10
20
0
-2
4
-14
-12
8
-12
21
-11
-22
3
22
-35
-33
1
-2
52
-78
39
9
-21
15
60
42
-28
-73
-172
49
15
-8
10
-99
-95
-44
84
16
0
-1
-6
0
0
-4
4
-6
-25
8
-6
17
47
25
8
15
-33
87
-34
0
45
91
-29
-20
0
-92
-21
-60
-29
-20
21
84
-12
54
-16
-78
-77
-27
-10
11
0
0
0
0
0
6
8
-12
-9
0
-17
-8
18
-2
-5
15
-12
-1
4
5
26
-67
-23
3
0
34
-53
51
49
-1
-118
21
13
41
26
-33
56
-49
-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
2
44
-7
-54
-9
9
53
-36
61
-15
-99
0
37
-7
4
17
21
18
64
55
-72
-95
23
-56
-50
-60
-138
-57
-61
108
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
0
0
7
-5
27
-2
0
-3
0
-1
0
0
-1
11
-17
0
0
11
42
-46
-4
3
61
-99
-53
16
3
-55
-12
71
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
2
24
-66
-1
31
40
-41
64
-94
-60
-12
106
-19
-50
25
26
-80
89
27
-110
-74
93
-63
32
1
-101
-152
17
-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
-3
0
0
0
0
-5
0
-3
0
-2
0
-4
-7
0
0
5
23
42
17
-8
0
-16
61
1
7
17
15
-30
-36
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
1
5
-17
2
0
41
-58
32
-33
0
5
-8
24
-29
0
21
37
15
0
0
16
-37
-1
4
0
-11
-39
2
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
17
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
2
2
0
16
-1
2
-4
0
0
0
-8
5
0
-2
3
35
-18
0
9
45
2
1
0
-25
-17
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
-1
0
0
-10
5
7
0
0
-14
-7
58
0
0
0
19
8
0
0
-55
-28
-1
0
0
37
64
18
0
0
102
36
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-92
13
4
0
0
-45
-56
-24
0
0
-80
-75
-24
0
0
97
28
46
0
0
90
-37
-26
0
0
-19
101
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
42
0
0
27
8
-27
0
0
-13
-3
11
0
0
11
-8
2
0
0
81
-35
-11
0
0
-68
47
-74
0
0
0
-37
14
0
0
0
0
7
0
0
9
-1
6
0
0
4
-1
2
0
0
-22
32
-7
0
0
-2
-1
4
0
0
47
8
-6
0
0
-47
-60
-1
0
0
-135
4
-43
0
0
0
0
0
0
0
8
2
-2
0
0
-5
2
-6
0
0
2
-3
-2
0
0
0
0
0
0
0
-9
5
2
0
0
-29
-71
-13
0
0
13
37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
59
52
4
-101
18
34
61
14
82
48
46
39
-69
0
1
14
-3
-14
-22
-12
-10
-2
67
-41
-23
-36
-40
20
-228
-30
45
-13
87
0
0
0
0
0
22
-18
-48
2
0
11
25
72
-12
4
-64
57
-51
55
-130
41
36
7
44
-1
46
-2
-26
-20
-7
-39
-18
14
0
15
-69
-74
1
-9
-21
-213
-63
4
-9
61
4
-5
-5
-3
0
-12
7
-35
-20
-1
-31
-42
48
-51
-72
-1
27
-4
-31
32
104
69
33
34
56
2
-35
-86
29
-120
-12
-61
-25
16
38
-128
-55
-1
-63
-45
-92
-55
46
15
-1
-8
10
-25
2
-3
-36
0
36
-42
-11
29
-24
6
-17
27
14
83
25
-25
20
9
11
1
33
-50
3
-51
-3
25
-11
-57
-33
-16
32
-14
-72
-64
9
34
5
0
0
0
0
0
2
-14
-2
-7
-4
-68
25
-14
70
4
-77
12
-3
-28
-1
-58
42
15
9
-42
-17
-63
7
56
72
-36
4
-1
-8
-41
-2
-57
39
-8
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-23
-8
0
-9
-40
11
9
42
16
1
-31
-47
-30
-50
8
21
36
19
57
24
8
-5
21
-57
-66
-11
23
25
-327
-44
-14
-15
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-31
-76
16
-1
42
-13
51
39
0
21
131
-5
-55
13
-52
-57
9
-3
-13
-78
-94
-8
-5
6
0
4
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
5
10
19
13
0
0
-11
-72
23
0
3
13
-12
0
0
24
-24
-20
69
-2
-201
-50
39
-13
11
0
-19
29
0
0
0
0
0
0
0
0
2
4
0
0
0
6
0
1
0
8
4
-2
2
0
0
-2
-7
0
0
0
-40
34
26
0
5
21
4
-22
0
-27
-94
-43
-3
0
0
0
0
0
0
-22
25
-8
-4
-1
17
-14
50
-32
3
6
-6
-38
51
8
-18
14
2
-6
33
59
45
19
-31
-59
-88
-3
-50
41
84
22
-65
-21
-8
-78
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
-89
-11
-34
0
26
23
40
15
-44
-71
-135
-58
-18
24
-11
47
-8
44
8
-13
12
-45
13
29
104
-106
-16
-120
-112
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-17
0
0
2
77
-40
-12
-8
-69
1
-18
-22
34
4
-21
29
25
-19
-6
-8
0
9
11
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
3
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-3
2
-2
0
-1
-1
-2
0
0
-1
-18
5
-1
0
0
-28
0
0
0
0
0
0
0
-2
-6
1
5
1
36
-31
-3
14
-2
-18
13
-3
-2
-1
-2
1
-15
9
-22
-53
-27
-71
20
21
-45
-18
15
-53
-13
3
17
4
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
12
-2
0
-87
21
-94
-29
0
55
-57
-2
16
0
-11
-2
7
-29
0
28
32
10
12
0
-56
-3
-2
9
0
-36
-49
-25
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-22
-31
41
0
43
-41
14
-3
0
-64
-7
-6
-5
0
19
-10
104
9
0
-3
35
39
10
0
1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
11
-1
-2
-1
0
7
20
-4
0
0
-8
2
4
16
0
-4
-4
4
3
0
9
85
-6
-5
0
0
-7
35
-6
0
0
0
0
0
0
5
0
0
-3
0
-2
0
0
0
0
-2
2
-4
0
0
0
-2
0
0
0
6
-4
-14
1
0
-4
6
-49
0
0
4
11
3
0
0
0
0
0
0
0
0
3
8
-1
0
57
-25
-96
-2
0
54
-3
50
-11
0
53
-74
-31
26
0
-58
1
17
4
0
-104
24
-12
-4
0
-62
23
-33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-54
-1
0
0
-112
-43
-35
0
0
21
-58
-68
0
0
-11
-19
18
0
0
10
38
-6
0
0
-1
23
43
0
0
20
70
-4
0
0
0
0
0
0
0
-34
9
-3
0
0
-16
-64
2
0
0
30
-50
-15
0
0
-4
-5
-1
0
0
-62
-6
35
0
0
7
23
-60
0
0
28
23
44
0
0
-2
45
-3
0
0
-3
5
0
0
0
-7
8
48
0
0
27
21
10
0
0
-67
-17
20
0
0
-89
-60
2
0
0
15
19
-48
0
0
-18
-7
-34
0
0
21
-14
71
0
0
22
-17
-105
0
0
2
-3
-7
0
0
26
-14
-3
0
0
2
-31
33
0
0
-73
-35
0
0
0
-65
-44
-2
0
0
-24
14
14
0
0
20
29
17
0
0
2
29
-83
0
0
0
0
0
0
0
51
4
3
0
0
-12
-26
11
0
0
25
21
-14
0
0
38
-36
50
0
0
-64
90
15
0
0
-67
-45
11
0
0
9
11
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
4
-4
0
8
6
34
57
-38
-89
37
-7
-34
64
84
-15
0
34
-64
22
-26
18
5
65
-37
1
-25
-16
-30
-59
-24
19
-21
52
0
0
0
0
0
2
-11
-13
0
0
36
-11
17
35
0
5
56
-118
28
-24
-17
74
-36
3
-20
-53
5
-16
-5
-24
28
-30
-35
-20
57
-19
-53
19
11
4
6
29
-22
-46
51
5
2
4
0
0
16
-3
5
8
0
-30
-5
13
-36
1
-5
-69
6
-11
-50
-8
17
10
32
-12
19
-36
28
-19
-63
-7
-31
-50
0
-35
-64
2
2
-45
-52
-2
31
-37
47
48
4
1
-1
-2
0
88
-14
22
2
5
-14
-13
58
-16
2
-27
4
26
-40
0
-9
-53
106
68
10
54
17
-14
-125
-35
-26
23
-70
-43
56
-58
-4
28
116
-9
0
0
0
0
0
-1
-8
6
7
0
26
-14
75
-19
-7
52
5
14
-23
1
50
43
-115
-33
-7
-21
38
-7
14
-43
-106
6
-25
18
95
-43
-56
45
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-1
-8
0
-52
-37
-27
11
-27
-20
31
58
-34
39
14
-79
15
51
-137
3
26
15
0
74
-53
-9
-54
23
-9
-35
4
-16
-19
44
0
0
0
0
0
0
-1
-5
0
0
3
1
-2
3
0
-24
-17
32
-23
15
80
31
4
-17
-8
-31
-27
-3
26
-16
15
-37
-20
3
6
-122
6
-9
50
17
-115
11
-34
12
-20
7
-1
1
0
0
-5
3
-8
0
0
-5
8
-21
47
2
0
19
17
-38
9
-24
88
-48
53
-61
20
-46
45
4
4
-11
-17
-20
44
3
-61
-100
118
-39
30
12
63
-47
-91
-41
-1
0
0
1
0
7
-19
4
0
-4
-13
72
27
28
6
-76
-44
60
14
4
141
-94
-14
34
-7
43
-50
-54
-1
9
-17
25
6
1
-54
-64
-43
-47
-18
-3
0
0
0
0
0
2
-8
-3
0
0
-6
30
-35
-2
5
20
-4
51
15
5
44
-11
-91
5
-2
77
-12
-17
30
-6
-2
-11
-4
9
-115
-76
-82
37
19
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-7
7
-1
-24
-18
-110
41
24
-90
5
24
-43
3
28
17
-82
48
-83
-17
-9
1
-13
18
8
-15
18
8
70
-73
-19
-91
-57
17
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
63
-2
46
2
2
67
-66
61
-70
24
5
-1
-21
-20
-18
-49
35
-40
67
5
-23
36
-28
-1
-21
-7
51
-5
-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
0
0
0
0
0
-3
2
-5
0
0
-1
26
-13
-9
0
15
33
12
10
-4
21
33
-40
-29
2
12
10
26
35
4
-27
-111
107
87
-87
21
-13
39
-2
67
-143
-92
-29
30
8
0
0
0
0
0
10
-7
-2
-1
0
11
1
-9
-6
0
0
-8
0
-8
2
3
-7
-49
-34
-2
-48
107
-41
34
25
14
-3
0
-28
2
-49
-108
32
47
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
-4
0
24
61
-34
14
0
30
4
62
-8
0
43
-7
-45
55
0
42
40
-17
36
0
-22
-4
48
-36
0
-78
-50
-20
-104
0
0
0
0
0
0
1
-7
0
0
0
-1
3
5
-4
0
44
-40
8
35
0
-6
12
-20
81
0
36
7
-25
-68
0
-50
38
-37
43
0
-59
10
37
-60
0
2
-5
40
64
0
13
-2
0
0
0
0
8
-9
0
0
1
10
-28
-4
0
-23
15
-7
-17
0
23
11
-16
-29
0
-33
41
-56
-8
0
-9
23
64
19
0
-105
-78
-10
84
0
11
28
61
-12
0
1
-3
-4
-4
0
49
-1
3
6
0
-15
-2
-19
-4
0
-47
18
28
-11
0
5
-71
45
35
0
-120
-18
-26
-2
0
-44
85
-9
11
0
114
25
-52
-18
0
0
0
0
0
0
-11
3
0
0
0
6
7
1
0
0
-56
7
7
-10
0
0
27
10
14
0
-10
-20
-37
1
0
93
-30
-8
-35
0
38
-56
-8
32
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
0
0
-37
-19
-44
0
0
-6
89
25
0
0
-52
9
40
0
0
59
-46
-23
0
0
-60
-15
30
0
0
-60
26
-7
0
0
0
0
0
0
0
-8
10
0
0
0
5
6
13
0
0
-46
-11
31
0
0
5
-79
51
0
0
86
-36
-24
0
0
-27
30
-37
0
0
-38
-6
-17
0
0
51
10
-18
0
0
0
0
0
0
0
0
-6
4
0
0
34
-33
1
0
0
-14
39
18
0
0
-80
23
-5
0
0
-9
-121
-8
0
0
-9
20
7
0
0
12
-15
-34
0
0
-40
64
16
0
0
-3
0
3
0
0
-37
-1
0
0
0
12
-2
3
0
0
44
-53
15
0
0
-50
-55
-7
0
0
-18
-79
30
0
0
3
57
15
0
0
-101
50
-59
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
-6
0
0
0
0
2
0
0
13
5
1
0
0
11
-80
7
0
0
31
-36
10
0
0
8
-85
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
-5
5
-7
0
54
78
28
-3
-2
25
-59
-46
5
29
103
-25
18
116
-39
-63
-10
-32
-60
-59
-135
95
81
-47
33
0
0
0
0
0
-2
0
1
0
0
-15
-1
0
-1
0
-9
67
-52
-9
2
-48
14
-52
0
0
29
24
46
-149
1
71
-47
-56
-46
-54
-3
-29
64
-10
-13
-8
-21
-66
156
164
0
0
0
0
0
-2
6
0
0
0
-28
2
0
-1
0
9
29
7
-12
0
71
14
18
6
0
-51
-43
-46
0
0
73
-40
-24
85
10
-3
4
102
26
-59
27
3
-6
0
0
-1
-10
0
0
0
-18
9
0
0
0
4
-2
6
-3
0
-16
-2
-3
-4
0
6
-44
-2
5
0
-62
99
-23
17
-16
-30
27
14
-11
3
89
-110
-1
0
-24
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
-2
-2
0
0
0
0
2
0
0
0
6
-2
-1
-5
0
20
-104
12
0
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
3
2
3
-3
-71
57
-3
26
-4
7
10
-19
-22
-72
-18
7
19
-38
28
88
-19
-16
49
4
-8
-33
20
-19
95
0
0
0
0
0
0
0
0
0
0
3
0
4
-3
0
20
16
14
2
-6
-44
-87
60
65
-38
-36
5
-38
70
20
-17
33
-31
-49
30
18
-77
31
-8
3
-119
95
63
77
77
-1
2
0
0
0
4
0
-4
0
0
-7
-4
8
-8
0
33
-67
-62
-4
-10
23
14
-33
0
-49
-35
-10
-57
-10
-15
-75
86
-38
32
-17
-34
71
64
52
71
0
-84
13
-37
20
-1
0
-9
0
0
6
3
-3
0
0
-3
-21
0
5
-1
-2
27
-11
3
2
-89
-9
-18
29
-15
44
70
11
-89
1
-87
66
41
-17
40
85
-142
-144
61
-5
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
-12
4
-6
0
0
0
2
7
1
0
-4
-1
-9
-3
6
-5
-4
17
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
4
-4
-1
-2
1
-5
-4
-21
-5
9
10
-75
42
-5
-27
64
-13
115
-113
21
12
-31
-27
99
13
-187
149
-79
89
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-28
8
0
2
48
9
-4
-17
0
-41
8
20
24
43
-9
12
-4
-22
80
-27
-82
-114
86
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
-6
-3
2
3
0
0
1
2
0
-1
2
-17
15
-23
0
-1
-14
15
-10
-9
-2
5
-52
17
20
13
0
-59
60
0
1
28
43
-33
13
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
1
0
0
0
-3
-1
-34
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
5
0
-7
0
22
-40
33
11
0
81
49
-73
29
0
-15
-9
141
12
0
33
-47
-5
-103
0
-81
91
-47
65
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
38
-16
1
-18
0
88
-59
-24
5
0
-53
1
-37
61
0
-9
-31
-7
52
0
-89
33
91
-2
0
3
-17
-53
-99
0
-2
0
0
0
0
1
-13
0
0
0
67
-6
-5
-1
0
65
38
-3
-3
0
-5
-26
63
22
0
-24
-16
-17
56
0
27
3
-30
17
0
-197
-47
11
-127
0
-10
-3
11
7
0
0
0
0
0
0
-1
3
0
2
0
-10
-1
1
-1
0
40
-14
-17
18
0
2
-6
59
0
0
19
-110
20
-53
0
-29
63
-54
-15
0
8
23
-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
-1
2
0
0
0
-5
-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
1
0
0
0
-28
15
2
0
0
22
35
8
0
0
-14
-35
37
0
0
152
129
-55
0
0
-61
-19
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
1
0
0
0
32
6
0
0
0
-99
12
53
0
0
42
0
-13
0
0
-20
-87
-66
0
0
-32
47
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
1
-3
0
0
0
-19
-14
0
0
0
9
37
22
0
0
13
-45
-7
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-5
0
4
0
0
2
-1
0
0
0
0
-9
-4
0
0
4
9
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-12
0
1
0
46
-30
127
-104
7
81
14
-76
-42
-10
-76
27
-76
6
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
-3
9
-8
0
-47
16
21
-8
0
0
-40
-70
-15
-4
57
-19
25
16
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
0
0
0
56
-2
18
0
0
14
-21
54
-5
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
3
0
0
-1
5
0
0
0
-6
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
1
-6
-3
3
0
15
-68
18
-4
-8
-8
4
8
53
-45
-22
125
-36
-78
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
5
-1
2
1
26
-37
53
-48
0
-29
58
-19
-50
28
68
69
-12
-70
-24
65
-42
-47
126
32
-102
35
83
45
49
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
-1
5
-1
0
-6
-2
12
-12
-11
19
-15
32
-24
2
142
-76
-24
-16
-5
-19
-3
28
-4
56
0
0
-2
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
6
0
0
0
9
0
0
0
-1
-8
0
0
-1
-64
20
-2
1
10
33
-37
-6
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
7
-6
37
-39
67
0
78
56
-76
-94
-147
-4
34
91
58
0
0
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
-1
-30
-12
0
-28
-48
-4
8
-34
-8
-33
107
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-3
-14
1
0
9
0
-42
2
1
0
-6
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
-11
0
0
0
0
-22
1
7
-7
0
73
-2
7
9
0
7
8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
-1
0
35
-19
1
-3
0
71
-31
-31
-29
0
84
9
-28
-16
0
-103
16
54
33
0
-29
-42
71
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
0
0
0
-15
-6
7
-13
0
88
-40
9
-3
0
-45
35
23
7
0
1
-16
14
-2
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
-2
0
-4
0
1
10
-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
0
0
0
0
0
0
0
0
0
0
0
-3
87
0
0
0
-1
3
0
0
0
-41
-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
-1
5
0
0
0
16
-17
63
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
55
26
4
6
-46
20
-25
-20
-27
-45
-25
-13
-15
3
52
-15
39
-6
-11
12
9
13
-33
4
5
11
5
-48
2
11
-1
74
0
0
0
0
0
-8
90
-30
40
-1
9
32
-48
3
-30
-44
24
31
12
8
13
-22
-23
16
64
-34
-7
-25
19
25
25
8
-8
27
-6
-42
-22
-8
9
-8
-62
19
4
-9
13
26
45
12
-63
-1
-39
-71
-32
34
4
-16
39
4
46
-25
-16
-37
-47
28
95
7
-25
26
10
137
-89
-4
-10
24
6
34
19
12
15
-19
-40
-55
-13
-23
8
-4
27
-10
-1
-26
-90
34
15
8
4
57
-44
0
38
11
93
-2
-77
56
-22
44
-67
-29
69
-7
25
18
72
-31
22
-57
22
-3
25
38
-6
-17
9
28
-8
-15
8
7
-9
-7
0
0
0
0
0
59
-73
-12
1
3
73
-15
-37
15
3
-72
45
-83
40
-22
-43
-21
10
8
70
-57
11
-6
3
-28
-85
-43
-18
-3
12
9
10
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-81
-15
-28
56
3
-5
39
6
-49
-2
-4
35
-89
-26
-24
43
47
13
12
-11
15
16
17
-19
-33
-20
-30
24
30
-41
-27
-38
63
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
-39
-38
54
9
4
40
-62
-25
26
4
43
-42
55
-84
50
35
-22
-76
-54
-29
41
-29
10
-5
-39
-49
-1
35
3
6
9
8
1
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-5
-27
-54
-17
28
-15
19
-13
-41
7
40
-22
-30
-85
-28
11
-7
61
-57
-7
-14
24
26
20
11
-7
-6
26
-4
-67
-84
1
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
18
-29
-7
8
6
13
10
26
-5
-28
-53
-11
-25
33
13
-36
29
24
-36
13
6
13
-36
8
-1
21
4
-21
-46
9
2
-1
9
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
46
-43
2
0
14
-11
10
-8
0
33
28
28
29
0
-94
-18
-28
-28
0
-5
-6
-8
-8
0
-6
9
15
25
0
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
0
-41
-12
-51
8
0
66
18
-56
-16
0
35
3
30
-5
0
47
4
-23
60
0
-14
-2
24
23
0
-1
-9
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
-46
0
0
34
-9
-15
0
0
-34
37
11
0
0
27
-25
1
0
0
20
-11
40
0
0
-12
15
33
0
0
-33
17
-17
0
0
0
0
0
0
0
-81
-24
14
0
0
-18
-41
-9
0
0
66
2
-26
0
0
-41
-27
15
0
0
16
-23
36
0
0
-21
11
4
0
0
0
17
19
0
0
44
1
-25
0
0
3
3
-17
0
0
5
37
11
0
0
-70
34
-2
0
0
-5
-75
-36
0
0
37
-35
79
0
0
-53
-9
5
0
0
6
22
6
0
0
19
10
-5
0
0
34
4
-4
0
0
-14
-6
-2
0
0
1
-21
4
0
0
5
13
-18
0
0
5
-16
13
0
0
-77
27
51
0
0
-36
7
19
0
0
6
-3
10
0
0
31
-2
-12
0
0
0
0
0
0
0
-18
-11
0
0
0
45
-59
-6
0
0
2
13
46
0
0
-69
24
30
0
0
-4
21
36
0
0
-3
-1
4
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
39
-10
-96
14
-9
-40
-21
27
12
49
4
-1
-44
28
6
-38
5
-25
-21
-21
2
17
12
7
-32
10
26
25
0
40
-44
8
16
-8
1
0
0
0
0
0
25
14
-35
-98
40
26
-62
4
48
57
24
8
-29
-60
-42
-30
-26
5
33
83
-46
-22
-7
-28
43
-4
-3
13
22
-37
18
8
15
7
27
20
27
14
5
-10
14
-30
-30
31
-1
-3
-16
-13
-46
23
-6
40
-6
-42
19
-2
-21
-48
-58
-8
-22
17
6
9
-62
-66
-22
1
9
30
8
22
7
7
21
24
1
11
12
7
33
26
19
-5
23
-17
24
-10
-7
-4
2
-10
-34
36
5
60
-12
39
77
13
-28
40
11
-64
-61
-33
-49
31
-42
-19
22
-31
-9
9
26
-1
8
-3
-5
3
18
13
11
22
15
0
0
0
0
0
15
-53
-21
-1
0
10
8
24
2
-8
38
-48
50
-38
-29
7
-35
22
14
12
-15
14
-33
-8
56
31
4
-4
-25
7
13
14
-1
-3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
60
1
89
-68
-20
42
-19
-33
-3
62
-14
-31
119
16
10
14
-25
-45
-5
25
-14
-1
0
39
23
15
11
19
14
40
12
11
31
-19
0
0
0
0
0
59
4
29
-5
21
35
-13
-81
25
5
-5
-18
-4
-11
8
13
-19
1
-43
-82
8
36
9
30
12
14
18
-7
23
-11
1
-36
1
-7
-14
-62
-38
12
13
45
-68
70
-37
-56
3
-30
-20
-31
28
6
-23
17
-4
34
7
-2
35
7
-1
-6
1
-31
21
10
6
34
-33
27
16
17
7
36
17
21
24
-25
-17
-5
-15
-13
-23
-22
-4
5
6
-82
-27
-63
-4
1
-14
-11
33
34
-3
30
-15
-47
54
-43
-46
-24
40
-30
8
34
5
7
29
-13
-5
-41
27
22
4
-10
-4
-16
6
-6
-33
-15
3
-15
-6
0
0
0
0
0
67
7
-48
-5
0
-9
-29
42
68
-6
4
6
-25
65
-49
4
-4
38
-10
-5
5
9
0
31
52
37
-18
-25
-23
-22
-23
16
3
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
3
6
5
73
1
14
7
-37
11
-48
55
18
69
42
-5
2
25
5
-8
-8
-13
4
21
22
18
6
-7
14
15
21
7
-4
2
21
0
0
0
0
0
-62
50
-29
-31
-21
-6
7
-37
6
29
-54
-4
-16
1
-3
15
11
-5
-16
-41
7
-11
-6
12
-6
-2
3
-10
-3
15
20
-11
-11
17
-8
16
2
1
-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
-75
36
-40
2
-6
2
-40
6
34
4
17
15
-26
-45
-11
-3
43
-24
30
-9
22
3
6
66
-37
-7
-12
-22
-4
34
-20
0
4
-5
7
9
3
-6
9
10
0
0
0
0
0
1
36
32
-13
1
60
-19
-43
-31
5
16
37
-30
-31
-36
-18
-29
34
9
17
40
42
-6
-28
-53
-43
-5
21
19
-4
13
7
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-10
22
16
0
32
-24
35
42
0
20
21
-10
-3
0
17
21
4
-28
0
17
-8
-21
9
0
3
15
26
1
0
62
45
2
-17
0
0
0
0
0
0
-3
-1
-6
-56
0
-49
61
36
-26
0
-12
19
73
-25
0
34
16
30
55
0
12
5
27
23
0
19
2
26
22
0
-7
11
-1
14
0
9
-7
22
39
0
7
-12
-11
-1
0
-24
59
32
2
0
-68
47
-18
-23
0
-147
-17
13
51
0
-24
23
-20
24
0
-7
2
42
36
0
-28
-6
-16
33
0
1
4
3
-10
0
5
-14
-15
-14
0
5
12
32
-4
0
-28
-23
-22
-8
0
-41
-17
-12
7
0
46
-40
27
-8
0
-10
-11
-18
33
0
-7
7
-13
-3
0
5
9
-10
-5
0
16
-3
11
5
0
0
0
0
0
0
-21
1
3
1
0
18
-23
35
-6
0
26
34
7
-6
0
9
27
3
-13
0
17
16
8
1
0
4
1
-22
6
0
7
14
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
25
39
0
0
26
-9
8
0
0
32
5
50
0
0
-25
63
1
0
0
-2
38
3
0
0
5
-3
22
0
0
19
39
-12
0
0
0
0
0
0
0
4
84
1
0
0
-13
-34
12
0
0
-21
-60
21
0
0
-8
54
-4
0
0
6
-39
-9
0
0
5
23
2
0
0
22
5
1
0
0
-2
19
22
0
0
-5
-10
7
0
0
19
73
-13
0
0
11
17
7
0
0
19
48
37
0
0
35
-5
-73
0
0
-14
-2
-17
0
0
6
-2
38
0
0
1
24
35
0
0
81
2
0
0
0
30
23
-1
0
0
-21
56
-6
0
0
-31
2
1
0
0
47
29
-24
0
0
31
6
-4
0
0
-5
-2
19
0
0
-3
2
1
0
0
41
17
12
0
0
0
0
0
0
0
15
-2
0
0
0
-4
31
2
0
0
28
-20
-24
0
0
-52
41
26
0
0
4
7
-72
0
0
-8
-8
17
0
0
38
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
7
-31
-37
7
-16
11
7
1
-20
-24
31
-28
13
55
-45
2
35
14
57
8
-3
44
19
-3
20
-1
19
-12
-3
39
17
-13
-6
-23
0
0
0
0
0
98
-8
-93
-9
6
25
-2
4
6
-5
-4
-55
-19
48
46
-45
-22
-23
-2
46
-51
-53
-29
17
-1
18
-11
-8
16
-92
9
17
8
-7
8
77
35
17
-6
-34
44
-76
1
-2
0
21
-54
46
0
1
9
17
-74
68
2
-43
-49
-20
14
49
26
-54
-17
-37
87
25
-20
-5
14
-102
10
20
-7
5
19
24
-4
11
9
57
33
10
14
16
-24
74
-88
6
-2
0
-22
90
-18
4
-6
16
-13
5
-31
1
-33
-104
-1
4
15
-14
6
26
-5
-86
10
-31
-3
23
-18
28
4
-9
12
21
12
64
-2
22
27
0
0
0
0
0
-2
-58
-4
0
0
-69
69
-2
0
0
40
20
-22
6
0
-58
-21
-42
-20
-3
65
-60
6
-79
-31
-11
1
35
20
-32
35
-13
8
-2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-3
-21
5
57
-57
29
55
33
22
48
-37
47
-50
32
40
-11
2
40
35
1
3
-10
67
20
30
31
28
-8
66
16
7
0
1
0
0
0
0
0
27
45
29
-5
-63
37
2
9
-9
-41
-7
-29
-33
-32
53
-16
10
16
2
70
4
15
-15
22
43
18
21
9
26
4
30
1
22
4
16
26
41
9
23
14
34
3
-50
0
4
38
36
-33
-1
-2
16
-52
3
6
12
-19
-1
-27
24
76
4
-28
-3
47
-8
3
6
22
15
-21
28
-10
13
17
9
-4
2
0
19
32
14
5
36
5
20
14
-9
-82
0
-1
42
6
-16
-46
26
-15
6
22
46
30
20
-35
25
26
54
-30
12
-14
0
31
29
-11
-9
-12
17
-7
16
5
8
-9
12
1
11
15
23
0
0
0
0
0
30
16
-11
0
0
27
40
-89
-4
10
-7
33
63
38
-1
54
41
-27
-84
-11
-19
35
-4
-57
-32
17
-18
-4
-5
-25
-40
-6
-1
33
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-12
26
3
19
9
42
-1
-51
62
83
94
-73
-40
24
31
12
12
65
42
9
24
1
-1
-29
7
24
23
-7
64
83
-4
18
7
0
0
0
0
0
34
-41
19
25
-29
45
-11
8
19
5
-9
6
10
31
20
21
-8
53
9
39
13
2
44
11
32
-4
5
40
19
7
4
18
-5
22
22
60
20
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
38
-14
-6
-4
-1
6
0
24
-54
24
-41
-11
27
18
-14
-36
14
-1
-11
12
-7
27
17
-16
13
1
-1
-15
13
21
7
9
6
-8
-21
25
-5
13
1
16
0
0
0
0
0
-16
85
-4
3
0
15
-68
-5
37
-4
7
-34
-56
49
4
-39
-23
42
-37
6
-17
60
8
12
-73
-4
24
16
17
-24
102
-16
-5
-23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
23
-1
0
-16
18
17
4
0
10
102
66
44
0
10
41
-47
-41
0
29
18
-20
43
0
-17
7
34
10
0
46
65
-9
-2
0
0
0
0
0
0
8
39
29
35
0
32
48
30
-35
0
10
15
29
10
0
10
6
65
59
0
-18
-4
49
3
0
-28
2
18
23
0
10
66
19
26
0
-2
3
4
24
0
10
19
-37
-3
0
6
-34
7
-4
0
55
-22
-2
45
0
13
1
-47
-37
0
14
-10
-16
38
0
-10
-6
15
-15
0
-3
12
18
45
0
2
28
28
18
0
46
-6
8
26
0
38
33
-11
2
0
72
2
-16
5
0
-17
8
-19
32
0
-71
32
41
3
0
-17
22
62
-33
0
16
1
9
18
0
-2
-3
17
4
0
54
27
6
6
0
0
0
0
0
0
14
16
0
0
0
60
32
4
0
0
-49
13
-32
0
0
-5
-53
56
4
0
25
88
1
-6
0
-12
-30
50
1
0
-9
-14
-19
-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
4
0
0
-5
48
37
0
0
39
19
-30
0
0
-62
14
-24
0
0
23
8
0
0
0
-3
12
-10
0
0
6
19
-12
0
0
0
0
0
0
0
28
-1
-1
0
0
15
88
5
0
0
28
-8
22
0
0
-8
32
22
0
0
-42
27
-9
0
0
-7
-5
-13
0
0
9
60
-6
0
0
22
-4
9
0
0
0
0
0
0
0
51
-19
3
0
0
-44
3
-1
0
0
65
-4
-4
0
0
-103
-26
24
0
0
68
-1
-20
0
0
29
-21
-27
0
0
-11
-6
22
0
0
33
151
-25
0
0
0
-8
0
0
0
4
1
0
0
0
46
-1
-4
0
0
-19
47
26
0
0
1
46
35
0
0
6
46
-23
0
0
13
13
9
0
0
-48
29
14
0
0
0
0
0
0
0
6
11
0
0
0
-17
0
0
0
0
-13
43
2
0
0
75
4
-4
0
0
73
12
-21
0
0
-9
-72
-4
0
0
-10
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-48
-4
-30
-1
-66
-54
-35
-34
-37
36
38
51
-58
-44
-126
2
-36
3
-11
10
36
-7
8
31
-7
25
-35
7
44
-70
14
52
61
16
0
0
0
0
0
-9
1
-15
0
0
-1
-40
13
32
1
-44
-36
59
-17
4
-35
-50
51
-22
20
21
19
12
8
-11
7
59
7
-9
-10
2
-30
-33
45
17
-158
-31
-6
-2
-4
-4
0
-2
-1
0
3
-52
55
14
0
-7
-14
16
33
-6
-21
55
-12
90
-49
-20
75
-28
60
-50
14
27
12
-119
2
-4
-3
-6
34
104
-18
-37
-18
-27
-6
-84
-40
77
-13
-35
-42
17
9
-5
-5
-22
-50
2
109
-5
106
-45
42
-28
-8
3
4
82
10
-38
62
-11
-10
51
85
-61
9
-70
29
-5
-11
25
2
10
46
-14
-4
24
-33
63
0
0
0
0
0
-4
11
-91
-4
1
-10
40
-6
1
4
-39
-69
13
70
-1
20
14
-4
-55
16
14
-36
22
43
-14
-32
-39
35
-28
-50
-26
0
21
-18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
12
-11
0
-55
-54
-41
-42
25
-43
-71
-64
38
9
39
-67
11
-9
-67
-47
11
1
21
30
-29
-35
2
51
0
-181
-7
-37
-15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-1
0
-19
2
-19
-1
2
5
-14
16
20
0
0
2
7
0
0
1
-11
-28
0
0
-3
1
-8
-42
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
-2
0
0
-1
-1
0
0
-13
0
0
-1
7
-11
-6
0
0
-11
25
15
-7
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
-5
4
1
0
-2
-6
-24
11
-3
2
-79
-18
78
-27
-17
14
-7
-35
-6
3
0
0
0
0
0
1
-13
-6
6
-4
45
-2
4
-6
-7
32
-87
23
-43
-8
-2
26
-26
63
20
-43
15
93
44
30
6
1
-36
-42
-25
-22
10
-5
37
48
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
3
-44
1
-36
-12
-60
-57
-31
41
74
35
-4
-16
-31
-29
-48
54
16
47
-13
6
-47
-63
-18
51
48
-49
-32
-56
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-38
-2
0
0
-8
5
-62
0
0
-31
-9
14
-7
0
-3
0
9
0
0
1
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
8
0
1
0
0
0
0
2
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-2
-2
2
8
11
-60
16
0
1
-36
7
32
-12
0
-58
47
-45
12
-83
-19
21
34
19
-21
-34
-36
2
13
18
95
29
-35
-48
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
-76
21
35
20
0
-3
66
-40
58
0
-61
5
-31
9
0
-25
-15
7
-21
0
38
-107
47
50
0
52
-58
72
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-26
-2
0
0
0
7
2
0
0
-8
0
4
0
-3
0
3
-8
0
0
-1
-7
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
2
0
0
4
2
0
0
0
2
-1
0
0
0
0
-6
1
0
0
-34
32
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
-4
3
0
0
0
0
0
10
0
0
-1
0
9
0
0
0
5
8
-7
0
0
0
0
0
0
2
-2
15
1
0
-51
-47
82
-3
0
25
12
16
3
0
-36
-11
26
34
0
-85
-62
-49
38
0
90
44
-10
-31
0
29
38
-61
16
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
6
-26
7
0
0
-7
1
-18
0
0
43
3
34
0
0
-87
26
20
0
0
32
7
40
0
0
70
-12
-16
0
0
0
0
0
0
0
0
-2
-5
0
0
-95
-50
-9
0
0
-80
-65
7
0
0
19
4
21
0
0
7
-19
-108
0
0
7
8
19
0
0
-2
42
58
0
0
28
25
44
0
0
0
0
-1
0
0
-3
-4
1
0
0
-44
-36
10
0
0
-58
3
2
0
0
-35
20
23
0
0
0
-15
-15
0
0
26
15
-42
0
0
22
6
19
0
0
-1
49
5
0
0
-7
11
-2
0
0
-55
11
8
0
0
-58
41
-18
0
0
-92
-23
35
0
0
24
23
-56
0
0
75
40
-15
0
0
40
10
61
0
0
13
-34
-24
0
0
0
0
0
0
0
-1
1
0
0
0
1
-11
5
0
0
-25
-4
0
0
0
48
-102
0
0
0
30
-82
63
0
0
-49
31
4
0
0
17
53
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
33
-13
12
-32
-13
-9
38
-31
-48
-73
-30
47
37
-31
20
-9
-8
-5
-33
-20
-1
1
-20
14
-2
7
11
29
14
-100
-26
7
17
16
0
0
0
0
0
-84
7
91
-24
-25
38
20
-24
-57
6
-16
-6
27
37
-50
39
42
1
1
-7
4
24
-10
9
19
12
27
7
10
-25
-72
-14
-17
23
19
-99
-37
2
-6
-22
-81
0
-49
80
-8
-71
21
-14
46
22
-32
55
-17
22
-14
-41
36
13
9
27
16
16
-39
9
55
-77
14
-3
-34
-26
1
-15
-18
-7
43
-24
-46
-38
-5
-21
-34
10
35
-12
-21
9
-57
42
-12
-2
22
37
-39
-12
-15
-53
99
-9
10
-55
24
-12
3
-3
21
-24
32
31
15
47
24
-35
-2
2
-40
-19
22
0
21
21
-7
3
-12
1
-1
0
0
0
0
0
11
-73
72
3
-6
29
-10
49
35
-30
28
1
-51
-40
55
-70
3
91
13
36
-33
79
18
38
-20
-9
-1
5
6
25
1
0
11
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-36
-46
47
13
10
12
-33
1
-85
-17
-50
37
-19
78
-73
-8
12
-19
-14
-36
-4
-25
0
8
-8
-20
14
17
-29
-167
3
-3
5
-16
0
0
0
0
0
0
-1
0
0
0
8
2
-10
-5
-1
-15
-50
-4
-70
23
-96
-87
7
14
-55
-17
-22
49
-22
-38
-12
50
4
41
24
-135
-41
-105
-10
-25
49
-92
-106
-33
-47
0
-5
0
0
0
-3
0
0
0
-5
3
27
3
32
-1
8
-11
5
68
-23
53
70
-69
19
60
55
-8
-43
-119
-20
-81
-63
-23
20
-43
-101
-41
35
-23
11
-145
-47
16
-66
-56
13
0
1
-6
0
6
-4
-12
-10
0
-17
11
-47
5
1
-10
20
-66
-11
-4
63
45
28
-97
5
-3
-26
29
36
-25
-39
-36
-6
34
-6
-29
-105
-53
-18
-1
0
0
0
0
0
-93
83
-3
81
-4
16
21
68
67
-1
57
3
-132
11
50
89
-26
45
-23
-9
-48
-11
59
-28
47
-22
-16
-23
26
61
35
-5
11
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-7
26
6
30
-114
-88
78
-18
-34
-3
-66
-24
17
4
-26
-5
-25
12
-33
57
-7
-4
18
3
-19
20
-11
20
45
-96
22
-47
-20
26
0
0
0
0
0
0
0
0
0
0
0
-4
5
19
-2
-82
-30
-12
-43
19
-62
-107
-10
30
-26
-6
-2
-41
10
-44
41
35
12
-96
25
98
-128
-51
-37
-59
-31
25
-67
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
-7
0
0
0
-2
-1
4
0
0
-4
16
-9
-4
1
1
14
-17
-32
1
9
-34
-10
32
-9
28
-6
-40
-55
-38
-43
-47
25
-3
-33
-16
-48
-31
20
51
0
0
0
0
0
15
15
-15
-9
-15
-34
8
61
-10
51
-55
11
84
-11
30
48
4
-37
1
-19
9
-21
11
46
-18
-10
7
-25
-16
-9
6
12
8
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-65
3
17
0
15
-39
-36
-51
0
-81
1
13
-12
0
-21
-8
-4
-18
0
-3
5
-10
-24
0
14
1
22
16
0
6
-30
34
-5
0
0
0
0
0
0
0
0
0
0
0
-12
2
-38
-8
0
19
3
-2
9
0
38
-1
3
-63
0
-75
-40
-30
-17
0
5
-59
2
-83
0
-26
-38
2
-19
0
33
-8
-44
42
0
0
0
-6
0
0
-8
5
-1
-3
0
-18
2
11
15
0
-102
40
-9
15
0
-70
-33
-50
-13
0
71
-96
-34
-10
0
112
72
-63
31
0
-6
-43
-48
-1
0
23
-13
84
-26
0
-9
0
6
2
0
-3
-14
14
-1
0
35
14
-20
-7
0
-50
22
-5
-7
0
-82
-31
-63
45
0
-154
-34
-1
-53
0
57
-29
-22
-8
0
130
21
15
5
0
0
0
0
0
0
15
6
-54
-5
0
-8
21
24
-64
0
-28
17
-23
64
0
5
23
-21
-79
0
18
16
5
38
0
4
-32
11
-1
0
-9
9
18
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
17
63
0
0
3
5
29
0
0
-2
-38
-89
0
0
-16
2
-10
0
0
-13
12
5
0
0
14
-1
8
0
0
29
23
-52
0
0
0
0
0
0
0
-29
-5
7
0
0
29
-15
35
0
0
-24
24
0
0
0
25
-41
-36
0
0
-4
-35
14
0
0
-10
26
1
0
0
-31
4
-25
0
0
4
14
27
0
0
-3
-7
-5
0
0
-19
7
-19
0
0
-31
32
12
0
0
58
-33
62
0
0
16
-14
-51
0
0
29
1
-25
0
0
7
-9
-5
0
0
14
-10
-12
0
0
13
27
-30
0
0
2
21
1
0
0
-8
31
-1
0
0
7
-10
-55
0
0
1
-44
-32
0
0
-5
-22
2
0
0
-11
11
33
0
0
6
3
5
0
0
25
-21
5
0
0
0
0
0
0
0
-1
42
-13
0
0
0
38
4
0
0
45
44
18
0
0
-6
-58
-25
0
0
-15
-5
66
0
0
10
1
-3
0
0
30
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
4
89
26
-4
-4
-11
21
-29
23
14
1
22
15
-31
-8
-16
-3
-3
-84
13
32
-5
0
7
29
22
15
1
-8
-31
0
7
-18
28
0
0
0
0
0
-33
12
102
-7
2
-20
67
-68
6
23
-8
-55
48
-12
11
2
-30
-7
-18
36
19
17
-8
-8
-51
31
11
12
20
-18
-15
-3
0
15
4
-13
-2
-5
17
6
-29
75
-17
-3
-2
37
0
99
-67
-19
-101
1
33
10
8
31
50
-31
4
-14
-48
-10
-11
-14
32
5
-21
-26
9
-57
13
27
-7
9
30
21
-13
-4
3
-9
26
-15
18
-3
21
-15
-77
-20
21
4
17
-21
-58
-27
21
-23
27
29
-2
-23
-55
-64
25
7
36
-95
-6
7
31
-8
5
-30
10
-30
30
-14
20
-1
14
31
37
10
-30
19
5
0
0
0
0
0
-8
-13
0
3
-2
5
-13
-28
23
23
59
-8
2
-39
-21
1
-1
42
60
-40
10
11
29
19
-9
-58
-17
-35
-32
26
17
23
12
-13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
32
-11
-7
-33
-66
-6
-65
-81
-1
15
84
77
-78
-8
-1
11
-55
-85
27
-9
0
6
40
-18
-1
-1
10
-4
-20
-7
-19
4
39
0
0
0
0
0
-66
35
50
19
-18
-134
-14
34
18
-34
-35
12
76
0
-40
-19
8
-48
60
51
-41
28
14
-27
19
-30
-15
4
-18
-20
-98
-77
-22
2
-11
43
-78
-24
-22
-16
-31
-31
-9
15
-11
-58
-52
31
15
2
-140
99
-49
17
-24
1
21
-13
48
1
-34
48
25
19
6
5
-42
3
-23
24
-51
-28
-17
-8
23
0
-15
-12
-26
4
-80
4
8
33
23
-193
47
-22
-8
3
-73
-94
10
78
21
6
50
7
-68
-30
-67
75
-24
-11
20
18
-13
58
21
-44
-19
-28
-8
17
-15
-15
9
-6
-6
13
-15
-36
-5
9
32
0
0
0
0
0
12
-84
21
-28
1
-1
15
-30
13
-10
45
56
-7
-14
35
-8
-22
-4
66
-3
14
-33
4
-4
29
-1
14
22
34
-57
27
-6
13
-24
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
20
8
32
17
-80
-30
11
20
33
41
-165
0
18
59
17
-17
-16
-1
-13
28
19
1
10
-14
-50
6
10
-21
33
-44
-28
1
-27
8
0
0
0
0
0
-116
-22
-9
-61
7
-128
-18
-31
-4
-10
-19
18
-112
-12
-14
-2
-21
-64
-9
41
-35
-10
-7
-30
-3
-43
-24
-16
20
7
16
-51
-11
-29
-24
-16
1
-7
-41
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
-22
14
-26
-24
-7
100
-39
-11
8
-3
-46
-24
-8
54
24
42
49
-80
23
-18
-32
7
0
-18
-1
-57
-25
28
26
-74
-4
-13
5
12
30
-82
-15
-14
3
-21
0
0
0
0
0
-14
20
4
9
-1
-2
32
53
-47
-3
10
36
-66
-15
-36
3
-46
-34
29
-58
-9
25
14
35
24
-7
-13
-7
-8
-8
99
4
-9
35
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
1
7
-12
0
-29
-49
69
0
0
-73
32
-11
-33
0
10
-22
-6
7
0
-10
2
-4
-3
0
-1
0
-1
6
0
15
23
17
-19
0
0
0
0
0
0
-2
-82
-4
-5
0
34
19
-72
1
0
-128
-25
-87
52
0
-7
9
-3
-26
0
19
-25
-19
-81
0
-5
33
-1
3
0
-25
-65
-8
26
0
-12
13
5
-28
0
-3
19
2
3
0
1
-12
43
-18
0
-4
-38
-21
-43
0
22
-20
-32
-29
0
67
-53
5
-7
0
-57
37
-67
33
0
41
-12
-4
-26
0
-25
2
-9
-12
0
10
23
4
-8
0
50
-16
-14
11
0
-65
-20
13
-13
0
-10
-18
44
-29
0
111
-63
-63
-54
0
-27
-9
-57
-21
0
-4
-25
-17
11
0
-10
15
3
28
0
-26
14
8
-15
0
0
0
0
0
0
35
5
-9
-3
0
7
14
-3
-10
0
-22
-4
27
-94
0
-21
-33
-41
-61
0
26
-26
-55
64
0
-21
32
24
52
0
-45
-15
21
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
8
0
0
61
56
-23
0
0
42
40
21
0
0
8
2
-16
0
0
-1
9
0
0
0
-23
-9
0
0
0
38
11
-4
0
0
0
0
0
0
0
-15
8
-9
0
0
7
50
9
0
0
63
-41
-46
0
0
34
29
-61
0
0
-5
3
-18
0
0
10
-6
7
0
0
13
-14
-9
0
0
-3
25
-2
0
0
-3
2
1
0
0
44
-1
3
0
0
32
24
-32
0
0
14
-34
-59
0
0
16
53
19
0
0
-7
13
37
0
0
3
25
25
0
0
19
4
13
0
0
4
17
-29
0
0
-22
43
-1
0
0
31
7
-9
0
0
5
-25
-6
0
0
-8
26
-60
0
0
26
21
30
0
0
-17
9
-31
0
0
3
10
43
0
0
-11
-24
0
0
0
0
0
0
0
0
1
4
3
0
0
79
-7
-2
0
0
-22
28
10
0
0
-5
-15
-64
0
0
4
82
-44
0
0
0
-11
43
0
0
8
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
25
-1
-3
0
-155
-40
32
93
10
-57
-41
71
-34
-14
15
13
44
-64
9
60
12
-13
49
32
34
11
32
-3
-78
12
10
-12
-68
14
0
0
0
0
0
-71
23
5
1
0
-36
36
82
-37
-1
42
-37
-17
-92
-17
4
3
-36
37
16
-29
-53
-31
21
54
22
6
-13
5
51
-10
13
12
-8
-43
78
-10
12
16
24
-6
-6
1
0
0
20
-6
15
-17
9
70
68
-43
0
1
117
-143
-13
0
22
-28
-75
54
-26
-101
-21
-37
-44
-33
70
-20
51
14
58
-57
11
11
-8
14
52
22
43
-10
45
39
41
6
-1
-4
0
-27
-66
46
-7
-6
-107
63
35
2
2
-98
-17
-30
11
-28
-36
6
-6
-13
34
-13
-56
-21
58
31
6
19
19
-38
12
63
-36
-13
29
10
0
0
0
0
0
27
33
6
0
0
-16
14
6
-1
-1
8
-9
-78
-16
-2
-8
70
-32
38
2
44
13
62
43
-20
-36
-9
-23
-9
-22
-16
4
11
-15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-152
70
2
-8
2
-23
-47
-7
-15
23
19
-16
-43
38
20
4
-46
-9
30
-28
55
-38
-6
6
29
1
31
1
16
-21
43
68
20
-9
55
0
0
0
0
0
-44
-45
-41
-9
7
-10
20
-9
4
32
-76
1
14
68
-27
7
-14
-24
17
-11
-28
5
-4
-16
-19
1
2
10
-19
1
-17
-27
-21
11
-4
28
-1
-12
-17
-16
37
-9
8
0
2
17
-45
61
26
-4
29
-64
5
-82
25
-68
0
86
-62
-55
7
0
25
-21
-16
-57
2
45
14
3
4
18
-15
-2
-21
25
7
-4
-25
3
-46
28
6
-1
27
85
-67
43
18
-8
122
-63
-25
36
-9
-72
126
6
-43
-49
28
-39
9
9
-17
-40
3
39
-47
42
-12
17
8
26
11
36
37
-12
-14
30
-8
1
-6
0
-9
0
0
0
0
0
18
-56
7
-3
0
-8
-36
48
2
-4
36
-14
-24
-42
-3
-37
-33
-43
-13
22
-9
32
-45
52
-23
-33
35
-45
-24
8
-23
39
62
35
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
7
0
26
-55
-75
2
49
17
-19
-21
17
-47
117
-39
-23
0
-49
-15
-8
22
22
8
-10
13
-14
-7
28
81
79
25
19
10
0
0
0
0
0
15
34
-10
-3
2
-27
-12
66
-94
-5
-33
-42
27
-88
28
-59
-68
-28
88
46
-37
-34
-47
5
-25
-99
-1
-5
14
-45
-33
-39
19
-3
5
-116
-10
-6
-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
0
0
0
16
-33
22
3
2
-58
-3
53
51
-4
-37
25
-63
8
-9
-71
-75
48
-44
-18
38
25
-24
-12
-46
14
-36
4
-4
-34
-3
-21
-13
22
43
-45
36
27
-22
-22
0
0
0
0
0
0
2
-3
0
2
14
34
16
-12
-1
-3
-19
28
-30
0
-30
-2
-20
-50
21
76
44
-51
25
0
-43
-24
22
-5
19
-13
28
10
48
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
1
0
11
41
28
7
0
104
52
-18
-93
0
31
26
55
20
0
1
-18
-35
25
0
-12
12
-6
1
0
85
11
17
-58
0
0
0
0
0
0
12
-23
46
16
0
30
-166
-19
16
0
-127
-108
78
86
0
41
4
-45
-47
0
-10
-1
-15
-16
0
25
-5
-43
-36
0
-23
5
-4
-10
0
7
18
22
0
0
0
1
2
0
0
70
15
-107
-40
0
-11
34
-26
21
0
18
-18
75
-89
0
-6
-7
-13
36
0
-30
3
-1
-13
0
-17
1
37
-6
0
20
-9
-14
10
0
-4
51
7
34
0
-34
-21
12
1
0
54
48
-37
-31
0
-4
6
18
22
0
-11
-19
-25
35
0
-27
-20
19
2
0
7
0
-23
35
0
-4
-11
41
-8
0
7
18
-23
-5
0
0
0
0
0
0
4
5
0
0
0
10
-10
1
-6
0
-7
-6
15
-3
0
5
-23
8
-8
0
5
-20
28
-31
0
35
39
17
-1
0
-24
-69
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
-9
0
0
-6
-27
-2
0
0
56
30
-10
0
0
39
-77
-10
0
0
-32
-21
-54
0
0
-50
48
36
0
0
33
15
40
0
0
0
0
0
0
0
2
4
0
0
0
75
-5
-7
0
0
51
-12
20
0
0
-23
-85
-14
0
0
-39
-12
-21
0
0
-9
-17
10
0
0
42
-36
-8
0
0
-75
7
-9
0
0
0
0
0
0
0
-1
-4
0
0
0
-1
6
4
0
0
-43
-8
-10
0
0
-12
60
-25
0
0
-50
-30
37
0
0
31
-8
17
0
0
-50
-9
22
0
0
0
5
-19
0
0
-3
-2
0
0
0
6
2
0
0
0
4
-27
0
0
0
-5
81
8
0
0
-19
51
-20
0
0
6
-66
-70
0
0
-31
4
-1
0
0
17
-40
40
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-18
-5
0
0
0
-30
52
-4
0
0
-16
-8
-42
0
0
30
70
1
0
0
2
69
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
7
12
-4
-3
0
93
48
-56
3
1
62
-81
-1
-66
-5
-10
18
7
54
-1
85
11
46
-5
10
27
13
3
-27
-72
0
0
0
0
0
0
0
0
0
0
-25
-8
0
0
0
-11
-34
-9
1
-3
-14
-71
11
10
2
80
-8
11
-78
-34
30
35
-15
71
11
-5
59
32
-79
-46
123
-6
25
-13
171
0
0
0
0
0
50
3
1
0
0
18
-1
0
0
0
2
-21
-3
1
0
-43
83
-135
55
0
-21
32
57
-90
0
21
96
-6
-82
35
-22
15
27
-7
-61
144
-12
-86
4
-3
3
12
0
0
0
27
-2
-2
0
0
16
0
0
0
0
16
27
-35
0
-2
-1
-17
17
22
0
25
-16
-40
-38
74
105
-32
56
-72
11
-62
43
62
-1
-133
0
0
0
0
0
-3
-2
0
0
0
14
0
0
0
0
1
5
-1
0
0
0
3
-5
0
0
-2
16
-14
3
4
-11
21
35
39
-1
13
7
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
0
-3
-17
3
-1
0
-38
21
45
-17
11
39
15
-40
-150
-35
23
-8
-9
46
-39
1
29
43
26
5
139
56
44
-35
6
0
0
0
0
0
-17
9
-9
0
0
-18
-6
16
-3
-4
-37
65
37
22
-38
-76
22
-5
-5
26
-32
-38
0
-35
-96
-2
13
-37
10
23
66
15
-21
21
-16
8
67
5
6
5
-9
-12
0
0
0
5
20
0
-2
-7
39
-37
42
24
-5
12
-15
-50
-2
6
-44
-57
83
-7
81
-52
2
-10
13
70
28
11
25
7
16
113
24
-12
-3
-55
102
44
25
-4
14
7
55
8
2
1
46
103
6
-3
1
19
-72
-3
21
-3
24
-74
-46
-46
-31
-28
21
-30
56
-63
-36
20
-21
-6
24
36
50
5
11
10
59
42
-3
-20
-5
0
0
0
0
0
11
-14
0
0
0
29
-1
0
0
0
-1
10
0
2
0
0
1
9
2
0
0
-2
-12
-35
0
8
10
-3
49
-24
-4
14
-15
-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
9
6
-1
-3
0
-4
-4
21
18
48
13
-84
-13
-27
2
6
15
-15
2
28
-36
-17
-9
-1
-6
87
80
7
27
-17
0
0
0
0
0
0
18
4
0
0
-5
-62
-81
20
5
96
-40
-16
34
14
24
41
75
-23
-70
31
-22
16
-28
-13
-5
-9
-54
20
29
-49
2
17
-1
40
-25
35
-13
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
13
10
8
-1
0
5
43
-32
1
-3
3
-57
-1
5
-1
-31
-41
23
28
32
-46
-46
36
-37
73
46
75
-30
18
43
5
-17
82
-7
-65
0
218
-28
-6
-54
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-10
1
3
0
8
-9
10
13
1
0
0
-9
-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
-2
-5
-5
-1
0
1
-9
37
3
0
-2
-17
70
-16
0
68
-24
6
25
0
-27
4
-75
-10
0
24
123
28
-11
0
0
0
0
0
0
0
-1
-6
0
0
-10
-7
0
11
0
-20
-4
-50
-97
0
19
9
22
13
0
-53
28
-16
61
0
35
-11
9
-71
0
24
22
27
-15
0
60
19
44
8
0
0
8
0
0
0
-43
32
2
19
0
5
-26
55
-1
0
21
14
67
-5
0
-43
26
17
-28
0
-90
-44
-80
1
0
14
-23
22
-72
0
93
6
-21
-26
0
0
76
-79
43
0
-9
-3
2
0
0
-24
77
-38
-4
0
41
-3
-6
0
0
-37
53
0
29
0
11
-12
-42
-5
0
12
-28
33
-65
0
-13
-82
22
12
0
0
15
-16
-4
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
-24
-1
1
0
0
-6
0
-8
-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
-7
0
0
0
0
-2
-1
0
0
0
1
0
0
0
18
-7
-60
0
0
-20
47
6
0
0
20
51
-21
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
-52
14
1
0
0
-35
-63
-8
0
0
73
10
-32
0
0
-24
31
82
0
0
0
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
-9
-2
0
0
22
21
-21
0
0
0
36
34
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
26
-1
-54
0
0
5
53
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
-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
-1
2
-10
20
-2
89
2
-19
24
21
122
-33
-23
42
40
-8
8
44
-37
-53
46
33
-7
-31
-9
-36
4
9
2
26
-14
3
7
11
-10
0
0
0
0
0
-41
-108
44
19
-2
144
-29
-8
-6
-7
7
23
-56
-57
12
-92
49
-3
-18
-24
-15
-33
-40
-1
-49
26
-1
11
5
-11
-43
-18
16
3
85
-6
35
35
36
12
-4
-26
3
1
0
72
-2
24
2
-1
55
-116
-5
31
1
-6
110
-82
-26
-28
-53
51
-33
-47
-24
-36
-18
5
-4
6
-24
-21
13
-14
-53
6
-8
11
13
13
40
-10
13
18
73
3
-40
0
0
2
124
79
-41
-24
-8
31
-40
-23
-47
2
45
10
-85
50
-48
0
19
-7
25
8
-20
2
-5
-5
-47
28
17
3
1
2
0
11
10
26
64
0
0
0
0
0
3
16
-2
1
0
82
37
-29
0
-3
49
-65
-2
41
1
-20
-104
40
-19
-58
-8
-42
6
-50
35
8
-40
39
0
1
9
8
1
24
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-41
-117
16
-8
43
-16
70
34
101
-2
-47
-4
-29
-45
-16
-37
30
68
-26
-14
25
14
26
-31
-2
-10
-3
-5
13
-2
-6
54
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
23
68
-50
-5
2
-23
37
12
20
4
-64
0
15
-16
23
-19
3
-6
12
-47
-52
-9
64
-35
8
32
12
10
6
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
16
43
47
-17
38
21
-63
-6
-22
-8
50
-36
-48
17
-17
-34
-32
29
18
28
19
3
-4
-8
9
1
13
-18
-3
-37
-6
-68
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
11
-6
-61
31
-44
-1
-67
2
1
19
22
-4
5
-28
9
-25
-17
2
-28
42
-17
5
-23
23
25
4
3
-1
-7
-27
-12
-6
-32
9
15
22
-3
-9
-21
-2
0
-17
6
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
56
-4
4
-5
0
-18
75
38
-2
-6
5
-2
8
51
-8
-5
70
-97
46
32
33
-16
-6
-36
14
-4
16
-22
2
-15
4
-2
48
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
58
24
9
0
65
-66
-101
16
0
-26
-16
-21
-12
0
47
-48
4
-5
0
-14
0
52
-38
0
8
0
3
-7
0
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
52
-3
-9
0
-70
-22
-11
3
0
58
-72
20
-65
0
-9
-9
-5
-50
0
-8
49
28
5
0
-6
-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
70
43
-4
0
0
-89
0
-7
0
0
84
-4
-4
0
0
-32
50
-104
0
0
-23
-4
83
0
0
46
-2
-10
0
0
-20
14
31
0
0
0
0
0
0
0
63
8
0
0
0
-7
-48
2
0
0
24
67
-6
0
0
52
71
11
0
0
82
-8
29
0
0
-12
37
8
0
0
25
-24
5
0
0
14
4
55
0
0
-8
1
0
0
0
6
3
-1
0
0
-14
-19
-1
0
0
-19
2
66
0
0
0
5
-44
0
0
6
0
-5
0
0
16
10
-16
0
0
6
-17
-42
0
0
-4
-3
104
0
0
-4
0
0
0
0
-29
-1
-1
0
0
-7
28
-3
0
0
-3
9
-10
0
0
-16
-8
-41
0
0
59
22
-43
0
0
-21
-12
14
0
0
6
2
82
0
0
0
0
0
0
0
-3
0
0
0
0
17
5
0
0
0
-25
-4
1
0
0
23
12
-2
0
0
26
10
-17
0
0
-1
-19
-43
0
0
-4
-3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-27
27
0
0
-11
-31
-35
23
-3
-5
46
7
26
-55
-10
20
-41
-66
-1
26
4
9
13
-14
1
7
15
-4
8
11
23
8
45
24
0
0
0
0
0
17
101
5
10
0
7
8
-17
0
7
-10
24
-32
45
26
30
62
-40
57
-68
26
30
-7
-40
-12
4
-9
-7
26
25
1
8
8
-2
-7
20
35
17
47
16
15
19
8
2
0
55
15
-49
2
0
-8
25
-21
-2
0
-4
13
-7
-27
19
82
42
8
-36
-46
-29
-4
-15
-41
24
17
-11
-3
-5
16
43
18
25
-6
-23
14
-11
3
67
16
3
23
2
0
-2
37
-55
35
-1
0
-1
-10
2
12
0
-12
0
-13
-46
75
36
-75
-14
27
-5
-42
2
19
-51
0
26
4
-9
2
-33
-6
12
18
52
-9
0
0
0
0
0
-51
48
2
0
0
-55
-2
1
-3
0
-22
51
-7
12
-2
16
-14
-56
2
26
70
-5
-14
-9
-9
41
12
-7
-8
25
4
-18
-14
55
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
30
23
0
9
-69
42
53
50
96
24
21
-9
33
2
-33
16
23
-19
30
5
23
0
28
30
9
29
-22
17
43
34
26
58
35
0
0
0
0
0
8
-57
-6
-9
14
-34
7
85
16
-1
48
-6
142
-22
43
33
26
103
34
36
12
44
10
18
-46
9
-14
19
25
-11
10
-43
-20
-3
-7
-1
-20
9
42
12
-59
-33
-4
12
3
20
79
-36
13
-1
17
-33
52
-8
-18
14
11
21
-23
25
13
-6
-20
38
30
0
17
-18
-30
-25
0
43
-14
7
42
-4
-19
18
19
0
21
7
12
21
-14
8
-10
9
8
0
-20
64
5
15
1
31
-7
20
-8
-2
37
-69
29
-27
-22
50
-28
17
9
-66
-23
-46
-32
-14
-3
10
5
8
-3
79
-10
46
13
9
-6
0
0
0
0
0
10
13
1
0
0
53
36
1
11
2
-12
-24
49
-79
1
-24
-17
8
66
5
0
27
-40
24
66
104
35
-42
32
4
9
-13
12
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-38
-3
4
-1
59
24
-5
29
-12
9
33
54
54
-4
86
55
-16
-21
-19
27
31
46
-9
1
8
19
11
9
-7
21
26
-3
5
36
0
0
0
0
0
-15
-5
19
5
1
50
-41
-25
12
0
37
48
-12
-8
-61
16
-33
-28
47
42
19
34
-25
5
-24
5
0
12
-7
-22
12
-29
-1
5
10
11
36
-8
-47
26
-12
22
86
-42
-3
-5
55
5
-12
18
-13
31
-64
31
-53
51
10
-18
13
-48
12
22
23
0
-46
-10
-2
-8
-3
32
1
3
-8
-5
2
6
6
12
11
10
-1
17
1
-12
-3
-20
11
7
-6
2
-26
22
14
29
0
-50
0
7
38
2
12
33
-5
7
49
100
-2
33
12
54
36
6
-5
-19
-42
10
-4
-12
30
24
-5
2
22
-11
11
0
0
0
0
0
14
2
-7
1
0
33
-8
18
7
15
62
13
-40
-6
-3
21
-2
20
-2
-4
-46
16
48
-16
-27
1
4
0
-52
-18
16
12
-4
22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-37
7
-4
0
19
59
-4
3
0
28
-20
107
24
0
33
0
0
20
0
17
12
33
-24
0
13
5
-21
0
0
-4
5
24
60
0
0
0
0
0
0
54
-37
-5
-15
0
15
-11
20
5
0
-87
19
-106
-26
0
37
-65
-36
-21
0
-34
-10
14
0
0
56
3
8
25
0
-29
8
-14
18
0
-13
-37
2
-14
0
65
10
6
-2
0
23
-38
8
0
0
36
22
10
13
0
34
-48
-2
21
0
-63
10
0
-64
0
24
22
-2
5
0
-9
5
1
-8
0
5
-23
-6
-6
0
-7
1
20
16
0
5
-6
1
0
0
-17
23
4
5
0
41
-45
30
0
0
43
28
-26
21
0
34
34
10
-9
0
67
26
-18
11
0
11
-16
-28
-46
0
0
2
43
19
0
0
0
0
0
0
-6
-12
-17
0
0
-15
5
0
2
0
-7
22
114
3
0
-43
2
-8
7
0
-19
-43
35
-57
0
-54
-43
-4
3
0
13
-14
-14
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
7
-1
0
0
41
9
1
0
0
36
40
29
0
0
22
-58
-37
0
0
43
-13
25
0
0
6
12
-21
0
0
-7
1
33
0
0
0
0
0
0
0
-27
-1
0
0
0
2
44
0
0
0
32
10
-18
0
0
38
74
-120
0
0
15
3
-7
0
0
24
-18
36
0
0
-36
2
32
0
0
-13
23
5
0
0
7
0
0
0
0
18
12
0
0
0
52
5
0
0
0
-23
25
-11
0
0
-6
58
-25
0
0
15
3
-44
0
0
8
-8
11
0
0
-29
-21
-24
0
0
-20
34
154
0
0
1
0
0
0
0
15
-9
0
0
0
5
1
-2
0
0
3
-52
14
0
0
56
16
-102
0
0
25
-2
12
0
0
-15
15
-6
0
0
-27
36
4
0
0
0
0
0
0
0
-4
-14
0
0
0
-2
-5
0
0
0
-23
4
0
0
0
-3
56
-2
0
0
-30
56
2
0
0
-38
15
-31
0
0
-2
9
60
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
25
0
-86
-3
0
-25
-52
9
26
5
-9
25
-46
-22
-48
71
-43
-8
16
48
19
4
-11
-46
59
67
54
30
38
-40
0
0
0
0
0
8
-10
-6
0
0
-3
-11
10
0
0
13
-12
-41
3
-2
40
61
-42
-10
4
-51
-49
-38
61
32
9
20
-23
-16
6
36
8
0
23
5
42
28
27
142
82
11
4
0
0
0
-34
-16
12
0
0
37
21
7
0
0
-38
61
-17
2
0
35
-99
76
-66
0
34
-13
-51
-15
17
7
-12
-18
17
-41
69
16
29
-13
38
-10
45
-36
-5
182
6
21
1
0
0
53
-16
2
0
0
4
37
0
-1
0
23
-57
-74
24
4
87
-9
-15
-24
4
-32
-36
12
25
10
16
11
-4
-88
-30
-60
22
34
93
10
0
0
0
0
0
28
-17
0
0
0
23
-3
0
0
0
-12
1
4
-1
0
39
-3
1
-15
0
-28
-15
40
19
5
-14
27
-25
-137
13
-50
28
24
37
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
3
-4
0
69
-10
48
2
3
28
9
-33
-55
13
-33
-68
-12
58
145
-16
0
-36
29
-20
28
12
13
-3
9
44
38
29
15
7
0
0
0
0
0
30
-33
-5
-2
-2
34
29
-40
17
1
-31
-36
-38
-54
79
-13
-29
-16
-18
8
-44
6
14
5
-25
17
-5
-20
-10
-24
31
2
15
-7
-2
9
24
59
27
42
45
-3
-4
0
2
30
41
13
0
4
83
59
-32
-39
3
34
-27
-26
63
-39
85
-33
-50
-20
-58
-9
-29
-42
-3
9
5
19
-18
-25
-3
-5
2
50
8
24
22
19
-7
2
80
23
74
-7
-4
0
125
-18
5
-5
14
-13
19
39
-75
3
56
-44
-34
12
57
-36
-3
-4
-51
61
29
-6
-18
-18
-1
89
-3
15
-3
-8
-47
66
-8
73
-59
0
0
0
0
0
-6
20
0
0
0
-12
-1
-3
0
0
12
-16
-3
0
0
-5
-58
12
-8
-4
28
-19
-4
22
-31
61
3
45
2
47
-24
17
-11
51
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-2
-3
0
24
8
60
-9
0
42
86
-33
-23
18
-46
-14
117
-71
-38
116
68
-15
6
-2
28
22
32
-11
-10
19
18
22
26
35
0
0
0
0
0
-12
-14
55
2
-3
-61
32
58
-3
3
-93
-10
6
51
73
-86
93
-12
43
-3
35
-5
49
-67
10
37
7
-8
-6
14
28
3
0
2
-11
-11
16
22
53
31
60
-18
-36
-14
0
8
53
13
-13
-10
8
14
3
37
38
-58
46
8
22
36
27
0
-31
-1
33
-15
10
-7
33
32
9
-11
12
-2
-14
-31
7
7
12
36
100
3
0
-6
-41
20
-6
-1
-5
-2
22
-19
25
-8
-6
33
-71
62
27
-1
-21
21
44
21
-57
-11
6
45
1
10
25
-17
0
-19
18
6
4
10
7
-6
-8
11
-5
8
25
0
0
0
0
0
4
-10
10
0
0
19
12
3
0
0
-13
-3
7
0
0
36
28
49
-40
-7
-47
-29
69
9
2
-42
2
-46
32
1
15
31
0
-88
-64
0
0
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
5
-15
2
0
66
-16
50
11
0
7
48
-72
21
0
76
12
6
57
0
3
-7
18
-62
0
-30
0
8
85
0
0
0
0
0
0
-36
19
0
17
0
-24
20
-8
0
0
17
4
49
34
0
-76
5
56
54
0
45
-39
-32
-21
0
14
6
3
1
0
-5
29
-9
24
0
-29
-43
-10
29
0
-31
0
3
0
0
9
-31
6
-4
0
5
54
42
0
0
6
-26
-6
84
0
15
78
30
18
0
28
-11
18
-11
0
0
17
28
0
0
5
2
13
35
0
26
26
-23
10
0
-10
8
0
0
0
42
-6
-10
0
0
-3
-14
19
4
0
-37
87
-73
40
0
13
3
40
-19
0
-30
-12
-12
-2
0
51
22
15
-10
0
21
6
13
38
0
0
0
0
0
0
-15
3
17
0
0
16
-11
0
0
0
13
2
-11
0
0
54
-57
-2
8
0
-1
1
41
-30
0
-81
-13
-18
-12
0
-79
43
-83
-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
0
4
0
0
0
0
0
-2
-3
0
0
1
-11
20
0
0
47
-2
-33
0
0
26
71
-10
0
0
-10
-48
16
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
-11
0
0
0
0
3
2
5
0
0
-14
-6
95
0
0
14
42
-32
0
0
-10
0
-9
0
0
8
-75
-55
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
0
0
0
-5
0
0
0
0
7
-32
0
0
0
10
20
-32
0
0
3
-13
-24
0
0
2
-61
17
0
0
-39
-23
94
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-10
9
0
0
0
19
29
-35
0
0
-16
-15
-5
0
0
40
9
-11
0
0
-67
48
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-20
2
0
0
0
-30
-7
25
0
0
31
59
4
0
0
-27
-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
-4
-3
4
0
-44
3
61
-36
-2
-10
2
21
23
16
-27
-32
-25
8
-25
-8
10
-6
-38
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
-4
0
6
3
16
-4
1
37
-32
10
-15
19
60
19
16
31
-38
2
-65
-105
-51
29
-248
-5
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
14
-65
88
-13
-3
7
14
93
-61
-39
-174
-67
9
69
82
-25
-67
-59
-92
29
-69
63
-100
-31
-99
0
0
0
0
0
0
1
0
0
0
-10
-7
0
-4
0
-2
4
-13
0
0
-8
-26
70
17
-7
31
-30
32
5
-31
29
8
16
-7
15
-111
24
-70
-21
43
0
0
0
0
0
0
0
0
0
0
-1
5
0
-2
0
-13
32
0
-2
0
-71
-1
-10
-4
4
12
-70
-40
45
2
42
-31
-74
5
22
-16
66
25
-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
1
-4
-3
-5
-3
10
32
1
-147
7
-3
-1
-43
11
19
-33
-87
-2
65
31
-209
-52
13
80
4
0
0
0
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
-5
0
0
-12
3
-5
10
-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
-6
0
8
0
-12
-2
-7
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
0
0
4
0
0
0
1
0
1
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
3
0
0
9
0
8
8
21
-4
-8
-7
44
-3
34
-46
5
-21
39
19
17
-1
29
-48
-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
9
-6
-3
0
0
-37
-87
-18
-24
48
-40
-43
68
-44
-60
19
-15
-5
15
-38
-124
-31
-125
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
-5
-2
-3
0
0
-3
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
4
0
0
0
0
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
7
-1
-1
0
-20
46
-23
-1
-8
-53
-46
0
1
5
32
2
-1
-1
-4
29
-49
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
-4
1
-6
-2
0
-25
-69
8
-10
0
-12
94
4
-90
0
81
-98
-55
81
0
-47
-54
11
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-4
14
0
-8
-7
17
-4
0
33
10
-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
-8
0
0
0
0
-39
18
-27
0
0
-34
-28
-2
0
0
36
-28
-4
0
0
-13
54
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
-3
0
0
-6
-47
-15
0
0
-42
-28
-6
0
0
-45
30
90
0
0
65
40
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
7
3
0
0
-3
-53
25
0
0
10
11
71
0
0
0
-15
-62
0
0
12
90
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
0
0
-49
20
25
0
0
15
-54
6
0
0
27
-4
-18
0
0
31
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
4
4
0
0
3
-42
7
0
0
2
26
-1
0
0
1
-30
13
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
16
1
-2
-4
0
57
-36
10
-19
8
-73
-26
85
-7
-21
36
61
-7
22
20
7
-16
21
27
17
-14
-26
-18
2
110
0
0
0
0
0
-1
-1
1
1
0
-8
33
4
0
-2
-29
9
-19
-2
-3
70
7
58
5
-77
-55
30
-23
-79
46
24
17
38
-31
36
-43
-37
-22
21
29
-96
40
-8
31
10
13
-2
0
0
0
-6
8
2
3
0
-19
-12
-6
-6
0
-15
-67
24
5
-2
32
-15
33
12
14
74
17
4
-39
28
10
-15
-10
47
-119
-77
-17
-22
-35
18
-53
-25
-9
80
51
-25
7
0
0
0
-6
1
4
1
0
-36
21
4
-15
-1
4
72
25
-43
-13
27
86
-49
3
-51
17
22
12
-52
32
-2
-67
37
27
37
-80
-80
-41
35
13
0
0
0
0
0
-1
-7
0
0
0
33
-21
-5
21
0
-76
-6
35
1
1
37
6
-107
2
-4
-73
35
26
-89
-66
-18
-13
12
54
-38
6
-48
38
-49
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-22
7
42
-7
2
67
-37
-7
-31
-3
43
-61
-11
-34
-36
31
-26
-16
-14
-38
-3
10
3
14
14
-4
-91
-4
48
32
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
-2
-2
0
-5
32
-6
-3
1
-83
-138
-41
-63
-15
-28
-88
9
5
33
-85
-72
-6
65
-2
62
-32
-170
-51
-49
0
0
0
0
0
-12
0
0
0
0
-1
5
0
0
0
-2
2
-2
1
-1
-78
85
-15
42
0
-35
-87
-48
-4
44
8
-85
-51
36
24
57
-76
-30
-137
-47
-6
-10
-82
-63
-161
3
0
0
0
0
-6
0
0
0
0
-7
0
0
0
0
-8
7
-19
8
0
-52
-3
-5
15
0
-69
-102
25
40
31
-34
-69
-89
-70
-50
29
-3
-42
-84
-24
0
0
0
0
0
-3
-5
0
2
0
-1
-53
9
-2
0
-26
29
16
-5
1
-92
20
5
-68
8
45
51
89
11
100
-15
11
-35
73
-34
31
-15
-24
-38
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
0
0
0
52
7
-7
4
-5
-49
-128
71
37
-4
-90
22
-123
-41
63
-41
-5
-5
17
7
-11
-31
13
22
31
7
23
-40
-34
41
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
2
2
0
0
-7
3
-56
-14
0
-111
37
-69
-11
-25
87
-72
-90
-5
70
-26
-43
-12
-12
-154
31
-68
-14
-71
-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
2
2
-6
0
0
-3
12
8
1
0
-2
1
2
-1
3
-11
38
-17
12
7
-52
-46
20
13
-103
-59
-31
-71
-78
19
81
-76
17
-128
-16
0
0
0
0
0
-1
2
-4
0
0
20
-19
9
1
-2
-19
26
-16
-1
8
-72
-72
11
76
27
67
16
-9
-56
-34
-55
44
-61
5
-28
7
-20
33
-36
9
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
14
-1
6
0
15
22
-35
16
0
68
69
-102
-62
0
-39
-14
-16
-18
0
-28
-1
-1
-45
0
31
-32
12
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
-1
-11
-2
0
0
3
-6
-10
117
0
39
-6
-44
15
0
-35
-112
-71
-90
0
0
34
-24
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-11
12
-23
4
0
-86
32
58
15
0
-68
14
-57
-42
0
8
-23
-106
-65
0
0
-75
-59
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
-5
0
-2
3
66
2
0
-74
2
-82
-23
0
-3
5
46
5
0
69
-70
-142
21
0
0
0
0
0
0
-9
0
0
0
0
-9
-2
-3
-4
0
-8
-49
32
-1
0
17
21
31
17
0
-13
13
-46
22
0
-5
6
-25
-19
0
4
2
33
59
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
0
0
0
0
-20
1
-6
0
0
-68
23
-8
0
0
8
8
28
0
0
74
-16
24
0
0
-23
24
44
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
0
-18
-7
2
0
0
-3
5
16
0
0
12
33
-22
0
0
-46
15
14
0
0
-2
-49
31
0
0
108
9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
52
-21
-37
0
0
-63
26
40
0
0
-70
-9
-94
0
0
45
4
48
0
0
-8
-8
10
0
0
-12
4
126
0
0
0
0
0
0
0
0
5
0
0
0
-7
-15
7
0
0
66
26
-7
0
0
73
-38
58
0
0
-19
-60
-63
0
0
-43
7
-6
0
0
15
1
9
0
0
0
0
0
0
0
1
0
0
0
0
-7
-8
0
0
0
21
-4
1
0
0
34
-36
-20
0
0
44
62
27
0
0
-96
-45
-10
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
-1
2
2
0
-11
-16
-45
1
6
-36
42
26
-6
6
-38
3
-123
-33
-25
54
14
35
-13
25
-3
1
21
23
-10
19
-39
-12
-5
67
0
0
0
0
0
27
-8
-3
0
0
-9
-38
-10
-1
0
8
7
43
6
0
121
-17
92
17
-37
-29
27
3
-75
-64
-45
37
4
12
81
-9
8
2
32
37
66
-12
14
71
24
28
-16
0
0
0
44
-5
-3
-2
0
-6
42
-23
-8
0
-15
45
86
13
-12
35
4
-1
61
-11
-21
3
13
-71
6
40
-13
-14
-11
42
17
20
32
-8
0
-7
-36
29
202
103
14
-1
3
0
0
41
17
6
-7
-3
-13
23
-17
-2
0
-91
-26
18
65
17
72
53
-38
4
-24
24
-8
-3
29
-46
7
-2
28
-9
57
-14
-17
57
24
48
0
0
0
0
0
-2
14
-2
0
0
9
4
0
-5
0
15
33
-12
-5
0
-30
-53
-10
-8
8
-4
84
-9
24
29
19
-1
-2
54
-18
33
-43
36
32
37
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
23
-6
-31
31
21
-38
-18
-9
-62
99
-14
-114
-105
113
-97
17
6
3
-34
9
4
22
8
-1
17
29
-3
8
22
23
0
0
0
0
0
53
-3
-3
3
-1
-34
83
-49
-54
3
-47
-63
-56
46
-13
-58
30
-11
36
28
-38
-12
31
-32
26
12
29
3
55
24
-8
-63
2
22
-12
1
-32
-87
-24
-73
-21
28
0
0
-1
130
-10
29
-1
0
-11
11
9
-6
2
12
6
-5
-73
10
9
45
73
-24
16
-19
-15
-57
24
17
7
-4
8
-6
-40
-10
-28
-68
-2
-56
-9
-51
0
9
51
-11
14
-5
1
0
2
19
-22
-23
-2
43
-42
27
3
-2
-9
-34
-5
-23
23
9
-18
70
56
41
-38
13
-31
47
-43
-61
-8
-30
9
10
37
-34
-24
-89
-105
0
0
0
0
0
27
15
0
2
0
3
-29
-13
10
0
-16
-17
-16
31
-3
-57
29
42
-19
9
42
-13
66
-49
-51
-29
-2
-30
-16
7
-33
-6
-27
1
-36
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
-22
-34
46
67
0
88
-29
32
3
55
50
-16
-53
-90
15
-13
31
-23
-23
19
-18
7
28
-10
15
27
2
-17
10
-14
0
0
0
0
0
11
-11
0
1
0
48
37
-14
5
-7
-55
0
16
-34
-9
-54
-92
-42
91
31
-31
15
-5
74
35
23
8
26
16
99
5
-14
8
32
20
42
-4
-16
-26
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
4
-69
-3
7
0
-71
50
19
-50
3
-24
55
-101
6
0
50
-85
-19
63
-5
-19
20
1
42
21
40
-10
13
5
-38
-24
-42
-14
-46
-4
15
4
-33
-54
-26
0
0
0
0
0
7
23
0
10
0
1
44
0
-13
-2
-24
6
43
-9
5
-67
17
-40
75
30
50
-83
20
111
21
-3
5
50
-43
-11
-10
-22
-35
-18
-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
31
-13
-19
1
0
-4
-13
-29
-6
0
-30
-49
9
38
0
19
24
-22
20
0
-22
14
-12
-33
0
46
1
52
49
0
0
0
0
0
0
-14
11
-2
-3
0
-26
-3
-15
1
0
99
89
33
-50
0
116
-36
-39
-56
0
-33
7
12
-79
0
-40
15
9
39
0
-85
-30
-31
-16
0
75
-18
25
-36
0
0
1
-1
0
0
2
-33
-17
-8
0
25
-80
-53
2
0
-23
24
22
-60
0
98
-81
-18
-37
0
11
10
46
-83
0
-36
7
-34
-16
0
31
21
-3
10
0
-54
0
38
-16
0
-3
0
-3
0
0
4
-4
9
-3
0
16
29
-84
3
0
40
-55
46
-9
0
-44
1
-33
11
0
-1
-24
54
93
0
107
-27
3
4
0
1
0
47
-70
0
0
0
0
0
0
4
5
2
0
0
2
6
-5
-1
0
-34
23
-33
2
0
-94
29
54
20
0
-10
-5
9
10
0
-40
-39
45
-8
0
5
-5
17
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
1
1
-2
0
0
-12
29
-20
0
0
70
42
41
0
0
14
11
-26
0
0
-34
24
-11
0
0
10
-4
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
2
0
0
3
-18
8
0
0
47
5
37
0
0
-3
8
-3
0
0
-15
10
17
0
0
20
52
46
0
0
0
0
0
0
0
-7
-1
0
0
0
-6
9
0
0
0
-28
-14
-7
0
0
24
25
-36
0
0
-8
-21
50
0
0
-17
21
63
0
0
141
9
37
0
0
-105
63
5
0
0
0
0
0
0
0
4
0
0
0
0
-2
2
-2
0
0
29
-17
-1
0
0
-36
-19
35
0
0
-11
13
-95
0
0
41
-9
87
0
0
-20
-37
68
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-29
9
-1
0
0
78
-38
-4
0
0
-12
-16
29
0
0
-78
30
-5
0
0
29
-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
-4
1
4
0
0
60
-5
-3
3
-1
-56
-18
-1
-27
0
-61
30
50
-11
27
64
1
1
44
17
58
-10
-38
57
28
0
0
0
0
0
9
0
0
0
0
19
-12
0
0
0
-30
15
8
0
2
-32
8
-1
1
0
4
-39
44
-91
-12
5
32
-8
-1
12
-5
29
57
1
35
101
20
-44
56
-39
-1
0
0
0
0
-8
0
0
0
0
-11
6
0
0
0
-10
10
0
-3
0
-7
-15
9
-17
-1
-103
-3
-33
-15
1
5
41
-65
-3
19
25
26
56
-24
97
16
-154
59
117
-39
-1
-21
0
0
0
29
6
6
0
0
0
-2
0
0
0
-5
21
-32
-4
-1
-94
16
7
15
-2
-14
24
-34
-88
13
10
29
-39
14
-1
-5
18
63
59
-60
0
0
0
0
0
-1
-18
0
0
0
4
0
0
0
0
-3
5
2
0
0
-41
-8
17
0
0
23
13
-16
-26
3
-65
47
6
56
0
12
35
50
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
-9
11
5
-4
0
76
32
38
-17
3
24
-3
16
22
-3
-6
39
-9
37
83
24
24
21
-30
87
75
11
13
25
-81
0
0
0
0
0
-32
4
0
0
0
-62
-21
3
-6
1
26
-57
41
47
-24
84
29
29
29
-29
83
42
-7
9
65
4
35
-3
9
61
27
-9
21
15
-2
37
23
-6
45
3
-2
-4
1
0
0
-20
-2
-1
-1
-1
10
14
-6
63
-5
-14
-8
11
18
2
-52
7
-17
8
-10
-39
3
21
-36
17
13
-16
20
21
39
93
13
15
18
2
-12
13
7
45
98
-33
8
23
0
0
58
18
-35
1
3
-30
-62
57
-6
-1
-78
9
45
45
-66
2
8
7
-20
40
-1
33
1
7
-37
137
16
-42
19
-7
-44
7
-6
26
37
0
0
0
0
0
-6
9
0
0
0
-3
-3
8
0
0
10
-10
1
-2
0
2
74
18
-23
-3
-21
-46
-62
91
1
62
10
-68
-33
29
-32
-12
16
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
12
-1
-9
0
32
44
-59
31
-9
-45
35
-108
113
-2
15
16
2
23
71
-79
34
29
-17
-11
70
0
38
14
-3
0
0
0
0
0
-8
6
0
0
0
9
31
5
-18
3
114
-54
66
-30
-34
4
62
22
5
-22
25
-2
-25
-36
-11
-31
46
36
34
65
1
24
29
61
19
22
20
-15
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
0
0
2
14
-4
2
0
22
-22
10
4
7
22
-55
5
-48
1
-51
-56
-8
-34
19
12
-14
6
-2
41
-43
1
23
16
-53
-22
28
-1
-11
81
-68
-33
-17
23
-1
0
0
0
0
0
0
-5
10
0
0
0
-11
-5
0
0
-5
1
-9
-7
0
0
6
3
-9
0
48
44
3
-67
-7
8
-15
67
-25
-4
13
73
-80
108
23
0
0
0
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
-18
6
-10
3
0
-35
-74
68
-140
0
26
-28
-53
-16
0
-22
-20
-41
29
0
7
67
62
108
0
0
0
0
0
0
-2
0
0
0
0
-3
7
0
-3
0
68
-15
-29
-28
0
-104
7
76
-86
0
1
-3
-36
-8
0
-55
41
62
21
0
3
24
41
-5
0
94
32
-9
50
0
2
0
0
0
0
-2
0
-2
34
0
-51
36
5
0
0
-60
-20
-3
39
0
-10
74
14
62
0
11
12
-24
-83
0
13
24
30
-28
0
-13
48
16
-22
0
14
-59
46
127
0
0
0
0
0
0
-5
-3
-1
1
0
-19
9
58
-6
0
25
-69
63
-8
0
84
54
-93
-33
0
18
-49
-14
-5
0
-47
59
1
80
0
-41
-104
-13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-34
-2
-3
1
0
-31
33
93
-1
0
89
-22
-46
-28
0
-5
51
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
17
6
-15
0
0
72
53
-54
0
0
-49
19
-58
0
0
-5
-5
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
-3
0
0
46
99
19
0
0
-7
43
51
0
0
2
-57
15
0
0
-100
99
-33
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
0
31
-27
10
0
0
-34
54
0
0
0
1
-68
43
0
0
0
63
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-6
18
0
0
0
-7
-2
-61
0
0
-13
23
56
0
0
6
-91
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
27
1
-41
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
5
0
0
24
-70
36
3
0
33
26
33
-46
-11
84
56
-72
20
66
0
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
-22
29
23
0
-9
81
-86
23
5
17
39
45
47
-68
173
-77
-24
-32
19
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
2
-23
4
-1
0
57
55
-62
7
-24
80
49
40
23
0
26
-6
1
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
13
6
0
0
-32
25
4
0
9
8
12
10
-8
0
68
-25
33
0
0
0
0
0
0
0
0
0
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
-6
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
-7
-8
0
0
0
4
4
0
0
0
47
44
-16
0
8
2
2
-55
11
138
45
6
77
12
0
0
0
0
0
0
0
0
0
0
15
2
0
0
0
60
-14
-43
3
0
1
-8
39
-11
-5
-122
4
50
17
-83
11
23
20
28
33
135
33
5
35
7
2
55
53
48
101
0
-2
0
0
0
-31
1
0
0
0
-7
15
1
0
0
-14
14
20
11
-16
25
-97
-26
4
-6
-3
-9
-25
34
-44
-34
2
26
32
80
77
25
46
15
-38
-64
69
-15
28
75
24
-39
0
0
0
-16
22
1
0
0
11
3
-6
0
0
13
9
-69
-13
0
-10
-18
54
-9
7
-100
26
41
22
23
-7
53
26
23
19
-29
55
-96
58
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
13
2
-10
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
0
0
0
0
0
-2
-2
0
0
0
-5
-7
2
0
15
15
44
-18
-2
-7
-28
-31
48
-43
83
4
30
7
31
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
11
-1
-40
-4
-1
0
7
31
-34
0
53
-43
-2
-69
16
33
-13
-8
101
71
-42
39
25
22
43
56
-67
138
82
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-8
0
1
0
0
-10
-19
6
0
15
8
-5
17
-3
-114
-16
-2
-33
83
17
39
32
53
-27
0
24
30
-40
-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
2
0
-7
0
0
0
0
0
29
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-10
9
0
33
-4
-46
18
0
-32
-8
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
2
0
0
-13
-9
0
0
-27
8
51
-57
0
-51
10
46
-29
0
32
85
57
-81
0
-25
-17
-32
193
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
0
0
3
-1
0
0
4
79
19
22
0
-20
-35
-89
6
0
-1
-44
4
66
0
66
26
-10
-10
0
0
-37
61
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
9
8
3
0
13
-36
10
2
0
-32
-25
-29
-35
0
4
6
111
-26
0
0
-1
-53
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-59
3
58
0
0
-4
-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
-1
0
0
0
-2
-11
0
0
0
4
55
-49
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
5
3
17
0
0
0
-21
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
38
13
-18
-8
-44
-25
22
-4
0
-9
16
60
-10
-5
48
7
-31
39
48
-15
25
26
38
26
-48
-24
-14
11
15
-124
-33
4
-13
59
0
0
0
0
0
19
-3
44
-18
-2
-14
-19
-49
44
-3
-49
-22
-14
86
69
88
2
21
-23
-4
-68
48
-26
68
-47
12
-1
15
50
34
-188
-68
4
-36
18
-18
-7
-60
4
-12
-17
-11
9
-5
1
37
38
-8
-9
2
10
-22
-29
22
6
6
-32
55
74
-16
-54
52
8
5
-2
-35
82
52
10
-16
74
-47
32
36
17
-48
-47
-48
-48
12
-42
-23
-34
27
-7
-10
9
13
3
-3
-50
-4
9
11
2
-17
49
-77
6
31
15
25
-24
69
-17
22
-44
25
-24
-49
41
1
-20
7
71
-29
55
21
38
14
-94
-49
51
-32
-9
0
0
0
0
0
-19
-22
7
5
2
0
-11
23
2
-1
-52
87
13
34
-2
-14
-42
26
10
39
72
24
12
82
-9
-31
-16
-16
-64
22
-25
-4
-20
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-25
58
70
-25
-87
-17
8
27
7
-118
31
41
-38
39
27
19
29
-21
138
69
31
61
32
21
-7
-27
-36
4
7
-112
-46
-83
-34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
4
-3
-1
20
1
-18
6
-15
-34
53
71
17
1
-18
-63
13
49
-31
-7
-106
-18
62
52
-64
-4
-9
-19
4
-33
-37
-43
-16
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
-66
-12
-20
-121
45
-41
-4
7
-60
21
-8
4
-9
-36
-10
17
54
12
6
18
20
-9
-18
-63
-27
20
18
23
-74
-127
-38
-81
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
-51
18
2
0
-2
28
19
-9
-24
-7
14
-23
25
33
1
-81
24
-26
52
-30
28
-41
17
-66
45
-76
-55
52
-26
-23
-37
-5
-13
-13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-61
-61
5
0
3
-62
-8
49
0
24
78
-59
-58
0
-23
64
33
39
0
20
50
30
42
0
-41
16
14
-16
0
-30
-50
-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
41
0
0
0
0
34
-36
13
5
0
38
-66
-12
22
0
20
47
-58
-64
0
3
46
-30
-3
0
-48
-24
35
-6
0
-19
9
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
7
6
0
0
-39
26
28
0
0
-22
-88
23
0
0
43
-33
13
0
0
-13
23
2
0
0
10
5
31
0
0
-19
28
-73
0
0
0
0
0
0
0
37
11
-10
0
0
37
0
15
0
0
-39
48
-32
0
0
30
-19
14
0
0
57
13
-10
0
0
26
18
78
0
0
-13
23
22
0
0
-46
17
-76
0
0
34
0
0
0
0
-32
2
-3
0
0
38
-27
1
0
0
33
14
-40
0
0
-66
49
21
0
0
-103
-70
56
0
0
-1
-13
13
0
0
33
20
35
0
0
-15
13
-77
0
0
12
-6
-4
0
0
-5
-13
6
0
0
45
-10
14
0
0
71
-77
7
0
0
-5
31
45
0
0
-79
-64
49
0
0
10
42
17
0
0
-8
15
-12
0
0
0
0
0
0
0
-12
-3
-6
0
0
-36
-6
8
0
0
33
-3
6
0
0
6
13
20
0
0
-50
-82
-53
0
0
61
1
36
0
0
-8
1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
66
-13
-19
2
93
20
-14
11
1
21
-23
-59
52
10
13
-1
1
-13
8
-10
21
45
5
-17
-26
-2
-5
0
3
-89
6
14
17
60
0
0
0
0
0
22
0
6
-5
0
-37
12
3
0
3
-5
-13
6
-112
17
-32
37
53
-7
-40
21
34
-123
10
32
-12
-26
16
6
145
-25
-41
-28
16
-97
37
25
34
84
-14
-5
7
-4
0
0
-25
4
6
4
1
72
-2
26
-8
-7
-24
-72
55
-46
4
11
34
-8
3
0
-10
-5
-43
-7
-10
-16
61
38
-23
37
45
-36
-24
-52
-5
-71
12
103
60
-56
-12
-3
0
0
0
-17
-34
-2
-1
1
-14
24
-38
-18
0
15
53
-16
-34
-2
-74
55
-93
13
23
4
-75
43
79
-55
107
27
-9
-92
-11
-78
-18
-31
39
26
0
0
0
0
0
4
12
0
0
0
3
7
2
2
0
20
-46
21
-15
0
-14
17
14
2
-1
-41
36
2
-39
-13
80
-43
-96
25
-6
9
-12
47
6
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
19
-11
-4
4
-13
-98
-9
-39
-30
39
-1
72
13
-77
-60
40
72
22
13
33
55
38
5
-15
-47
-12
-79
-75
65
-31
-46
-62
37
-35
0
0
0
0
0
-11
5
1
0
0
6
-18
1
3
3
-26
89
18
-1
-40
0
35
-32
-14
58
-12
-79
45
-19
-44
19
-25
-11
-6
48
-83
-167
-30
33
46
-67
44
43
-12
-31
-2
0
0
0
0
0
8
10
0
0
-31
24
-43
30
0
-16
-61
-8
74
25
3
32
36
-34
9
50
-60
24
30
30
-43
21
-7
4
-45
53
22
-60
24
-18
22
49
52
-99
-71
0
-1
4
0
0
-3
-1
6
-4
-1
2
-16
-55
-4
-2
-7
21
15
19
10
-58
69
53
-36
-20
58
-31
-30
10
-33
32
-42
-4
130
23
18
-113
-21
-77
-32
0
0
0
0
0
-19
15
-3
0
0
4
62
17
9
2
-10
6
-13
1
0
-6
-82
-8
-2
3
-49
10
17
7
-13
-28
21
28
-86
5
117
-95
-21
19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
9
-19
27
-6
58
-4
-38
-19
-2
66
-39
-5
-37
6
-93
26
4
61
-50
-3
23
6
0
21
-10
-51
35
8
16
-84
8
0
-83
86
0
0
0
0
0
0
2
-3
0
0
-5
0
1
0
0
-12
8
23
3
-10
-34
29
6
-46
4
26
9
-64
19
14
51
55
-18
51
-4
-14
-141
87
64
41
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
29
-16
-2
19
0
41
17
18
-71
-23
-37
13
52
7
0
17
33
-10
-25
18
-24
50
-20
19
-9
-23
5
-25
47
50
-26
-8
-17
-19
-12
0
0
0
0
0
17
-5
-6
0
0
-67
-2
21
-2
0
-13
0
-2
-3
0
-10
18
54
0
1
-4
-31
48
8
16
-12
-136
-27
30
9
77
-9
-102
25
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-13
22
4
0
49
17
63
-14
0
79
-32
-58
38
0
-26
-6
8
27
0
22
69
-1
-9
0
-9
-89
18
12
0
-28
-40
-7
63
0
0
0
0
0
0
41
1
9
-1
0
-11
-46
3
1
0
-27
42
-20
-15
0
5
58
-3
27
0
11
21
-6
42
0
-20
10
-15
-6
0
-26
-21
5
40
0
-23
-51
174
-16
0
-19
2
-6
0
0
-7
-1
1
0
0
-6
-30
28
-1
0
27
59
2
-16
0
13
37
-7
7
0
-57
-72
64
5
0
90
158
-12
-47
0
16
-63
-12
3
0
-55
2
-70
4
0
1
-5
0
0
0
-30
-5
2
0
0
50
-2
-5
1
0
-55
-14
17
9
0
43
-18
-62
5
0
-15
31
29
-2
0
17
21
-10
9
0
1
-10
-40
4
0
0
0
0
0
0
1
0
3
0
0
-47
14
1
-1
0
50
-11
26
0
0
-22
-1
16
3
0
42
-7
-20
2
0
-9
-26
-2
32
0
-63
40
7
-16
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
-37
-35
-13
0
0
11
-53
27
0
0
-19
44
-49
0
0
27
14
33
0
0
26
-9
26
0
0
-48
26
-28
0
0
0
0
0
0
0
22
7
2
0
0
-27
21
0
0
0
9
52
-1
0
0
29
22
22
0
0
26
-17
6
0
0
50
-1
-5
0
0
-31
49
-14
0
0
-16
-46
-47
0
0
2
-8
0
0
0
-1
0
0
0
0
-41
0
1
0
0
-23
-9
50
0
0
58
1
-33
0
0
-75
-34
73
0
0
16
-61
20
0
0
38
-89
26
0
0
95
138
-60
0
0
0
0
0
0
0
3
-2
0
0
0
12
0
1
0
0
-57
-2
-13
0
0
23
-43
26
0
0
-80
62
-31
0
0
57
57
56
0
0
35
-45
-17
0
0
0
0
0
0
0
6
-2
0
0
0
4
-3
-1
0
0
10
-12
4
0
0
14
8
-6
0
0
3
9
19
0
0
-19
-9
-84
0
0
27
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
-30
5
4
1
0
42
-49
31
-10
0
-8
116
48
-41
-25
87
68
19
30
-32
21
2
-17
-94
32
-50
-19
33
91
43
0
0
0
0
0
-4
1
0
0
0
-4
8
-1
-9
0
-38
37
14
2
0
2
-1
-2
-6
-13
21
-57
105
24
13
4
32
12
38
46
5
-1
15
20
13
134
17
-65
-31
2
3
11
0
0
0
9
0
0
0
0
-12
-20
0
0
0
-3
-14
44
3
0
9
46
11
6
4
12
52
-65
-46
-6
-155
-35
43
43
45
32
-51
11
43
5
135
57
-117
-3
13
1
9
0
0
0
8
-12
0
0
0
3
-1
1
0
0
47
37
3
-2
0
-6
2
0
3
0
-61
1
14
10
-5
-9
9
-14
-56
-6
71
-71
24
-6
0
0
0
0
0
0
1
0
0
0
0
2
0
-6
0
0
2
-2
0
0
0
0
9
0
0
0
13
3
-1
0
0
0
-84
4
3
0
-15
2
-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
8
-4
2
0
-2
0
-25
50
9
-36
57
51
19
-22
6
-41
104
88
56
-26
7
-1
-38
29
99
55
82
-15
-96
25
0
0
0
0
0
72
10
2
5
2
-47
-27
12
-8
0
55
-18
0
34
-2
48
78
-61
49
-53
26
39
-67
-3
13
6
61
38
-56
-20
-5
-55
49
60
106
-75
-9
37
26
23
8
-16
0
0
0
9
0
9
0
0
-15
-15
-20
-17
1
8
-29
68
-62
5
-15
90
37
-93
73
-104
-1
-56
63
-16
40
37
-21
7
78
-20
25
43
47
-106
2
35
-81
87
-32
2
6
5
0
0
-23
8
52
-4
0
-7
-30
-13
38
1
-14
49
-36
-18
-10
37
-8
-97
21
1
-34
26
-18
-4
-9
3
31
69
-18
63
61
-252
-3
-11
42
0
0
0
0
0
0
-1
0
0
0
-1
1
-1
0
0
0
5
6
-1
0
21
0
-6
0
0
0
15
-9
0
0
-1
4
4
7
0
0
-35
4
2
-6
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
-14
-20
52
-1
0
56
-57
7
-3
5
19
16
51
-31
-90
32
75
-23
51
34
-42
14
-57
10
58
-88
-41
17
43
37
0
0
0
0
0
0
2
-4
0
0
4
0
0
0
0
-29
-1
17
-1
0
-11
-36
61
9
-1
68
-77
71
-68
-43
-1
-25
-24
82
37
-34
65
38
-43
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-6
0
-14
2
0
19
7
-4
15
36
26
3
-12
42
25
-11
-2
-24
-21
41
-4
-20
62
-41
16
95
-16
8
-67
-3
-46
5
0
0
0
0
0
-8
1
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-25
0
5
-4
0
0
13
19
-1
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
7
0
1
0
0
-6
-14
0
0
0
-21
29
-1
-1
0
-5
-36
24
43
0
-14
47
6
-42
0
25
-30
58
-27
0
17
14
-31
27
0
0
0
0
0
0
-20
5
1
0
0
28
12
17
0
0
9
-18
-11
2
0
17
60
30
-17
0
44
10
44
22
0
41
-41
41
20
0
-48
-12
-99
-20
0
23
55
70
-2
0
19
1
0
0
0
13
15
0
0
0
22
0
-6
0
0
-19
56
27
-11
0
-34
-30
41
-16
0
4
62
-13
8
0
25
40
29
18
0
12
-80
-35
114
0
-11
-9
60
-22
0
-4
0
0
0
0
-38
-1
-2
0
0
36
-17
2
0
0
-19
-8
-16
-3
0
7
21
58
-21
0
-38
35
-2
-27
0
70
-51
-31
64
0
-14
7
30
36
0
0
0
0
0
0
3
0
0
0
0
-6
2
0
0
0
0
0
-4
0
0
2
0
0
5
0
-27
0
0
0
0
-4
-43
-8
1
0
4
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
-3
-1
0
0
0
-9
19
0
0
0
-9
-12
-2
0
0
-56
105
-3
0
0
6
-6
95
0
0
90
-52
-55
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
29
-5
0
0
0
16
33
19
0
0
-8
8
-73
0
0
86
13
1
0
0
36
-1
6
0
0
-3
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
-1
0
0
0
9
-11
3
0
0
5
-19
0
0
0
-10
55
43
0
0
88
-97
4
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-2
-2
0
0
-5
-1
-4
0
0
-9
5
-2
0
0
3
10
-3
0
0
-8
-87
23
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
11
19
6
-37
34
-37
8
-36
41
24
-28
-11
23
-40
9
-12
12
-4
27
126
-6
-31
-64
-17
-60
-69
32
29
-27
35
0
0
0
0
0
-1
0
0
-2
0
2
2
29
42
0
33
-55
38
-29
7
66
-37
6
33
61
1
44
15
5
9
53
-28
61
-64
-2
-98
-22
-1
-31
-27
-290
48
-11
106
9
0
0
0
0
0
0
1
-10
19
0
-2
3
-15
-12
9
-9
23
-16
-26
3
13
-32
-30
0
-2
57
-73
39
7
-21
11
61
36
-24
-74
-157
54
20
-3
8
-107
-91
-49
78
15
0
-1
-6
0
0
-4
4
-8
-26
8
-7
17
45
25
8
15
-36
82
-31
0
49
88
-29
-23
0
-93
-27
-48
-26
-17
29
85
-3
58
-14
-77
-67
-19
-10
10
0
0
0
0
0
6
8
-12
-9
0
-17
-9
15
-2
-5
15
-13
-1
3
5
26
-67
-23
3
0
38
-52
51
44
0
-115
20
20
37
33
-18
51
-46
-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
3
48
-13
-55
-9
10
45
-35
61
-16
-92
10
23
0
6
5
15
28
63
51
-73
-114
19
-56
-50
-61
-136
-54
-53
112
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
0
0
7
-5
27
-2
0
-3
0
-1
0
0
-1
11
-19
0
0
12
45
-46
-4
3
60
-93
-51
12
3
-49
-11
67
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
5
24
-68
-1
44
35
-39
58
-95
-63
-13
111
-18
-52
22
30
-72
83
31
-110
-101
87
-60
33
1
-101
-153
16
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
-3
0
0
0
0
-5
0
-3
0
-2
0
-4
-6
0
0
5
23
41
19
-7
0
-21
63
1
8
17
13
-30
-38
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
1
5
-21
1
0
47
-64
12
-33
0
11
5
15
-37
0
27
44
14
11
0
5
-29
-4
2
0
-15
-40
11
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
22
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
2
2
0
16
-1
2
-4
0
0
0
-8
5
0
-2
3
36
-18
0
7
50
3
0
0
-26
-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
-1
0
0
-12
7
9
0
0
-14
-17
58
0
0
-2
11
-4
0
0
-59
-32
13
0
0
41
73
16
0
0
93
31
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-88
18
5
0
0
-48
-60
-22
0
0
-77
-68
-29
0
0
92
33
47
0
0
90
-45
-20
0
0
-22
101
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
43
0
0
26
8
-29
0
0
-12
-3
11
0
0
11
-8
2
0
0
81
-36
-11
0
0
-68
39
-74
0
0
0
-41
14
0
0
0
0
7
0
0
10
-1
5
0
0
5
-1
2
0
0
-25
32
-7
0
0
-2
-1
4
0
0
49
4
-11
0
0
-49
-64
-2
0
0
-134
10
-41
0
0
0
0
0
0
0
8
2
-2
0
0
-4
2
-6
0
0
2
-3
-2
0
0
0
0
0
0
0
-9
5
2
0
0
-30
-67
-14
0
0
8
35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
60
54
4
-103
17
39
59
12
81
57
44
43
-63
-4
-19
33
13
-18
-25
-19
-17
-4
58
-51
-3
-23
-46
33
-202
-24
26
-12
88
0
0
0
0
0
23
-21
-47
4
0
10
24
71
-10
5
-68
58
-47
56
-131
36
30
10
39
-1
37
-10
-32
-8
-5
-25
-31
22
0
21
-75
-61
1
-8
-27
-226
-55
0
-2
55
4
-5
-5
-3
0
-13
7
-34
-22
-1
-31
-42
50
-49
-76
-15
21
-1
-36
32
96
56
27
39
51
12
-27
-84
32
-117
-17
-70
-25
13
34
-128
-42
-2
-58
-30
-112
-62
47
26
7
-8
10
-24
1
-3
-43
-5
40
-40
-11
19
-27
2
-18
30
12
78
26
-28
21
11
16
5
38
-43
10
-49
-10
10
-12
-57
-26
-4
44
-9
-81
-60
2
24
6
0
0
0
0
0
5
-17
1
-8
-4
-71
32
-16
68
4
-81
15
3
-24
-1
-56
41
14
7
-40
-30
-64
9
54
78
-36
-4
5
-11
-40
6
-44
33
-14
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-24
-9
0
-10
-39
11
12
44
25
7
-31
-49
-38
-50
-9
37
48
19
42
41
11
-15
16
-61
-67
1
32
8
-311
-55
-20
-43
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
-80
15
-2
45
-15
45
43
0
27
135
1
-55
13
-54
-55
16
-3
-13
-77
-96
-4
-5
6
0
4
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
5
10
19
13
0
1
-9
-73
25
0
3
12
-12
-1
0
29
-23
-22
68
-2
-201
-41
39
-13
13
0
-18
28
0
0
0
0
0
0
0
0
2
4
0
0
0
6
0
1
0
8
4
-3
2
0
0
-1
-7
0
0
0
-42
34
28
0
10
22
8
-21
0
-23
-92
-41
-3
0
0
0
0
0
0
-21
25
-8
-4
-1
19
-16
48
-29
3
7
-4
-36
46
9
-19
7
3
-10
33
67
43
20
-32
-58
-85
-5
-40
41
82
20
-63
-20
4
-79
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
-94
-9
-34
2
32
14
36
24
-35
-70
-123
-46
-6
25
-13
27
-5
62
11
-3
15
-73
0
40
103
-106
-17
-134
-113
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-18
0
0
3
76
-40
-10
-8
-70
-8
-17
-21
33
4
-23
33
27
-20
-6
-8
0
9
11
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
3
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-3
4
-2
0
-1
-1
-2
0
0
-1
-18
5
-1
0
0
-29
0
0
0
0
0
0
0
-1
-8
1
5
1
31
-33
-2
15
-3
-16
14
-3
1
-1
-4
-5
-20
12
-23
-48
-10
-72
18
19
-45
-15
16
-43
-13
1
20
-7
-6
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
10
-2
0
-86
25
-92
-24
0
49
-52
6
18
0
-7
4
10
-36
0
21
30
13
5
0
-61
0
2
11
0
-40
-40
-41
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-21
-31
43
0
47
-43
13
-3
0
-70
-1
-9
-4
0
19
-6
99
10
0
-3
35
37
10
0
1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
13
-1
-2
-1
0
7
22
-4
1
0
-8
2
4
16
0
-4
-4
4
3
0
9
86
-6
-5
0
0
-7
34
-6
0
0
0
0
0
0
4
0
0
-3
0
-3
0
0
0
0
-2
2
-4
0
0
0
-2
0
0
0
6
-4
-14
1
0
-3
7
-53
0
0
4
11
3
0
0
0
0
0
0
0
1
3
8
-1
0
56
-20
-98
-4
0
50
0
52
-13
0
49
-78
-30
25
0
-59
-4
16
8
0
-99
14
-26
3
0
-51
27
-35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-55
-1
0
0
-110
-41
-38
0
0
9
-57
-63
0
0
-10
-9
17
0
0
11
58
-11
0
0
-8
10
46
0
0
21
56
-12
0
0
0
0
0
0
0
-36
5
-3
0
0
-18
-66
0
0
0
27
-45
-21
0
0
3
-11
-6
0
0
-53
-6
39
0
0
1
26
-69
0
0
36
30
52
0
0
-2
35
10
0
0
-3
5
0
0
0
-10
8
47
0
0
26
19
10
0
0
-63
-14
24
0
0
-84
-56
-5
0
0
13
28
-46
0
0
-13
-1
-23
0
0
5
-21
84
0
0
11
-30
-92
0
0
2
-3
-7
0
0
34
-20
-1
0
0
11
-30
35
0
0
-70
-36
-1
0
0
-64
-39
2
0
0
-16
12
16
0
0
34
21
8
0
0
-5
17
-86
0
0
0
0
0
0
0
52
6
3
0
0
-16
-27
9
0
0
20
20
-12
0
0
38
-36
50
0
0
-66
90
14
0
0
-55
-37
6
0
0
19
1
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
4
-5
0
11
10
35
58
-38
-95
36
-14
-38
61
74
-13
8
28
-61
20
-35
14
11
79
-40
2
-19
-15
-35
-45
-9
24
-13
33
0
0
0
0
0
3
-11
-14
0
0
35
-11
16
34
0
5
51
-121
32
-27
-19
74
-35
1
-23
-50
0
-43
8
-22
30
-26
-19
-25
60
-26
-59
35
12
-5
3
23
-38
-42
34
5
2
4
0
0
12
-3
5
8
0
-29
-3
12
-36
1
-3
-67
2
-8
-49
-3
13
10
38
-10
13
-28
30
-13
-60
-2
-27
-44
-5
-36
-66
-2
-20
-29
-59
-13
32
-39
35
46
4
1
-1
-2
0
85
-17
22
2
5
-13
-13
58
-11
2
-26
5
26
-42
2
-12
-52
100
69
10
45
26
-13
-122
-33
-30
32
-76
-43
51
-55
-7
29
119
-8
0
0
0
0
0
-2
-8
6
7
0
26
-14
75
-19
-7
52
3
14
-26
1
48
48
-114
-33
-7
-25
39
-8
12
-44
-106
13
-27
16
97
-45
-62
45
-26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-1
-8
0
-52
-39
-31
12
-30
-14
34
58
-30
42
13
-66
-1
50
-139
10
36
26
-4
77
-69
-22
-45
23
-6
-23
14
-9
-29
45
0
0
0
0
0
0
-1
-5
0
0
3
1
-2
3
0
-22
-17
36
-30
20
82
32
4
-19
-8
-21
-24
-17
25
-21
11
-44
-8
0
4
-121
14
-27
49
20
-109
12
-46
3
-13
7
-1
1
0
0
-5
3
-8
0
0
-4
10
-22
47
3
1
20
14
-42
13
-23
93
-43
51
-63
30
-51
48
8
5
-14
-19
-13
39
4
-58
-99
117
-34
28
10
67
-51
-99
-39
-1
0
0
1
0
8
-21
6
0
-4
-14
69
27
31
5
-76
-44
59
14
5
139
-88
-13
32
-9
38
-53
-52
7
5
-12
26
7
-4
-44
-61
-43
-47
-18
-1
0
0
0
0
0
2
-8
-3
0
0
-7
29
-35
-2
5
23
-5
51
16
5
43
-14
-96
5
-2
75
-15
-15
31
-6
-8
-3
3
8
-118
-77
-74
35
26
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-7
7
-1
-24
-19
-108
41
27
-91
7
21
-41
4
32
19
-84
46
-87
-14
-30
6
-4
8
24
-1
-3
-7
71
-97
-34
-70
-32
-2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
62
-4
35
2
2
68
-67
59
-66
20
8
12
-26
-12
-17
-55
36
-28
63
0
-21
30
-39
-6
-21
-7
47
-5
-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
0
0
0
0
0
-3
2
-5
0
0
-3
26
-12
-9
0
18
32
12
8
-4
23
29
-45
-29
2
12
12
26
31
2
-26
-105
105
81
-86
24
-3
33
1
69
-144
-82
-29
25
8
0
0
0
0
0
10
-7
-2
-1
0
13
1
-9
-6
0
0
-8
0
-9
2
3
-8
-48
-37
-2
-49
106
-42
40
26
17
-4
2
-30
1
-50
-99
27
41
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
-4
0
23
61
-33
12
0
25
3
62
-7
0
48
1
-41
56
0
39
46
-30
55
0
-45
-8
67
-39
0
-77
-74
-28
-108
0
0
0
0
0
0
1
-7
0
0
0
-1
3
5
-4
0
51
-41
10
37
0
-14
9
-7
85
0
23
7
-21
-66
0
-41
36
-53
39
0
-63
22
27
-65
0
-2
-8
53
63
0
15
-2
0
0
0
0
8
-9
0
0
-2
10
-25
-5
0
-25
14
0
-16
0
20
3
-22
-31
0
-32
39
-54
-7
0
-15
33
70
16
0
-98
-86
1
85
0
8
17
60
-20
0
1
-3
-4
-4
0
51
0
3
5
0
-20
-2
-22
-4
0
-47
18
29
-10
0
3
-70
44
35
0
-119
-16
-23
-3
0
-39
99
-14
10
0
114
24
-52
-26
0
0
0
0
0
0
-11
3
0
0
0
6
7
1
0
0
-56
7
7
-10
0
0
28
10
15
0
-10
-21
-36
1
0
90
-34
-11
-32
0
37
-62
-2
29
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
0
0
-35
-19
-45
0
0
-17
90
23
0
0
-54
14
51
0
0
65
-38
-30
0
0
-66
-18
19
0
0
-66
38
-4
0
0
0
0
0
0
0
-8
10
0
0
0
5
8
13
0
0
-40
-10
31
0
0
2
-76
50
0
0
97
-25
-26
0
0
-39
21
-40
0
0
-51
6
-31
0
0
68
-2
-5
0
0
0
0
0
0
0
0
-6
4
0
0
34
-34
2
0
0
-16
39
20
0
0
-77
19
-6
0
0
-15
-113
-8
0
0
-11
16
7
0
0
30
-18
-38
0
0
-35
66
14
0
0
-3
0
3
0
0
-38
-1
0
0
0
9
-2
3
0
0
41
-50
16
0
0
-47
-54
-7
0
0
-28
-81
25
0
0
-5
54
20
0
0
-100
58
-57
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
-6
0
0
0
0
2
0
0
12
5
1
0
0
11
-75
7
0
0
33
-39
8
0
0
2
-89
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
-5
5
-7
0
51
81
25
-3
-3
18
-61
-51
2
29
108
-16
26
122
-44
-66
-16
-39
-60
-66
-142
96
68
-52
27
0
0
0
0
0
-2
0
1
0
0
-15
-1
0
-1
0
-7
67
-53
-8
2
-46
12
-51
0
0
28
25
45
-150
5
67
-39
-66
-57
-52
-4
-42
66
-18
20
-11
-22
-58
142
164
0
0
0
0
0
-2
6
0
0
0
-28
2
0
-1
0
9
29
8
-11
0
71
13
19
6
0
-49
-46
-41
2
0
71
-32
-26
91
13
-2
-12
104
30
-58
26
3
-7
0
0
-1
-10
0
0
0
-18
9
0
0
0
4
-2
6
-3
0
-16
-2
-3
-4
0
6
-44
-2
6
0
-66
95
-22
16
-17
-32
23
17
-9
2
89
-114
5
0
-22
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
-2
-2
0
0
0
0
2
0
0
0
6
-2
-1
-5
0
20
-104
12
0
0
-26
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
3
2
3
-3
-71
60
-2
26
-4
5
2
-4
-21
-72
-20
12
17
-38
32
93
-32
-14
42
4
-17
-28
0
0
92
0
0
0
0
0
0
0
0
0
0
3
0
4
-3
0
20
20
12
0
-6
-46
-83
59
68
-38
-32
3
-39
80
24
-15
52
-32
-64
33
4
-90
25
-11
9
-114
92
69
74
65
-1
2
0
0
0
4
0
-4
0
0
-7
-6
9
-9
0
29
-64
-65
-6
-11
24
14
-31
1
-48
-29
-8
-57
-12
-15
-72
96
-45
34
-18
-41
75
55
59
79
0
-80
15
-36
20
-1
0
-9
0
0
6
3
-3
0
0
-3
-21
0
2
-1
-2
26
-10
3
2
-91
-8
-14
29
-15
44
66
13
-88
1
-82
62
29
-10
42
86
-141
-149
63
-5
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
-12
4
-6
0
0
0
2
7
1
0
-4
-4
-7
-3
6
-5
-4
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
4
-4
-1
-2
1
-5
-4
-23
-9
9
17
-80
45
-2
-28
58
-9
116
-134
22
7
-37
-27
117
11
-202
153
-105
98
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-27
8
0
2
49
9
-6
-17
-3
-41
10
19
24
46
1
18
-2
-21
76
-30
-79
-123
76
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
-6
-3
2
3
0
0
1
2
0
-1
2
-18
15
-23
0
-1
-10
12
-8
-9
-2
5
-50
18
15
13
9
-64
57
-1
1
27
42
-36
13
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
1
0
0
0
-3
-1
-34
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
5
0
-7
0
22
-38
35
11
0
84
54
-73
30
0
-16
-12
147
16
0
31
-49
-12
-106
0
-83
98
-54
62
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
33
-17
6
-18
0
79
-59
-23
4
0
-48
0
-45
57
0
-15
-37
-15
54
0
-98
42
106
-1
0
3
-13
-54
-97
0
-2
0
0
0
0
1
-13
0
0
0
67
-6
-10
-1
0
63
36
-2
-3
0
4
-29
63
21
0
-32
-18
-13
59
0
28
0
-30
17
0
-191
-54
5
-129
0
-10
-3
12
7
0
0
0
0
0
0
-1
3
0
2
0
-5
-1
1
-1
0
38
-15
-19
21
0
4
-6
59
0
0
21
-110
20
-52
0
-30
74
-52
-17
0
8
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
-1
2
0
0
0
-5
-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
1
0
0
0
-29
15
2
0
0
21
35
8
0
0
-12
-38
38
0
0
159
140
-61
0
0
-55
-10
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
1
0
0
0
32
6
0
0
0
-102
12
53
0
0
41
3
-13
0
0
-22
-93
-79
0
0
-33
62
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
1
-3
0
0
0
-19
-11
0
0
0
8
38
22
0
0
13
-51
-7
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-5
0
4
0
0
2
-1
0
0
0
0
-9
-4
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
47
-32
127
-105
7
84
11
-87
-44
-10
-81
28
-83
5
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
-3
9
-8
0
-47
12
21
-8
0
-2
-56
-83
-15
-9
61
-18
26
16
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
0
0
0
53
-2
18
0
0
14
-31
56
-5
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
3
0
0
-1
5
0
0
0
-8
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
1
-6
-3
3
0
15
-67
16
-5
-8
-6
5
12
56
-45
-21
128
-44
-73
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
5
-1
2
1
27
-36
55
-49
0
-28
53
-17
-51
26
71
61
-9
-67
-27
69
-63
-48
127
30
-102
35
72
51
60
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
-2
5
-1
0
-6
-2
13
-10
-11
15
-17
28
-24
2
146
-73
-19
-19
-5
-19
1
25
-3
57
0
0
-2
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
6
0
0
0
9
0
0
0
-1
-8
0
0
-1
-64
19
-2
1
10
33
-38
-6
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
7
-5
39
-39
67
0
91
58
-81
-97
-161
-4
38
89
60
0
0
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
-1
-28
-12
0
-28
-61
1
9
-34
-3
-39
106
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-3
-14
1
0
9
0
-40
2
1
0
-6
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
-11
0
0
0
0
-21
1
7
-7
0
70
-2
7
9
0
7
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
-1
0
34
-19
1
-3
0
70
-32
-31
-28
0
84
-1
-28
-16
0
-96
12
42
37
0
-29
-47
67
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
0
0
0
-15
-7
8
-13
0
90
-35
9
-3
0
-48
32
28
7
0
1
-16
14
-2
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
-2
0
-4
0
1
10
-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
0
0
0
0
0
0
0
0
0
0
0
-3
87
0
0
0
-1
3
-1
0
0
-44
-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
-1
5
0
0
0
20
-17
67
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-24
47
1
15
-55
28
18
-37
28
-28
-44
-1
-28
18
-7
36
33
13
25
72
-16
0
20
-50
-53
21
-9
-114
86
24
-18
-26
0
0
0
0
0
-42
2
-17
9
-4
-6
-10
40
-35
-2
-1
2
-6
-41
17
-7
-11
-1
-10
43
4
-24
2
25
-48
-58
14
-34
69
3
11
-13
-74
-4
62
123
8
42
-7
-74
-1
19
-5
-12
-1
1
-6
19
7
2
-41
-10
18
-17
3
-8
28
-56
-6
32
8
40
16
61
68
-56
-31
19
3
41
-1
-5
42
-29
-28
-22
-33
-3
-66
13
72
19
-2
16
-49
-1
3
10
3
1
1
-2
8
2
1
33
15
-8
-2
-9
-25
-44
16
53
-9
-11
20
49
-22
13
-10
-69
-9
-16
-57
45
-118
-55
30
40
-27
4
19
-14
-43
0
0
0
0
0
3
-1
-2
-3
1
-12
16
20
8
-3
4
-1
-19
13
-4
16
-14
36
-41
13
-9
62
13
5
-32
-12
-93
-14
15
-13
2
-12
-12
17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-3
-2
-18
35
-25
37
22
50
-6
59
-10
32
-61
-30
10
-15
14
13
30
40
-34
27
38
55
-16
140
-64
-7
-47
-6
-12
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
-24
5
-4
-7
-2
-5
-6
15
-6
9
-1
5
2
-16
-3
-1
-46
9
44
-55
22
3
15
14
57
23
-40
2
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
23
16
-15
-15
-32
14
-3
-10
-8
-26
-17
69
30
26
-47
0
3
-10
-30
36
-34
5
24
42
-11
41
29
-19
-35
-13
41
79
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-17
21
9
-57
-2
5
-24
12
44
-2
10
16
3
-110
-3
-18
-44
12
-34
15
-45
35
5
-32
23
3
-7
8
15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
5
2
0
19
-37
15
-17
0
-40
22
50
22
0
-1
-31
12
-3
0
-35
-10
34
-17
0
-46
5
-40
-28
0
18
97
-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
-5
-3
1
-2
0
-9
5
17
2
0
1
-5
-4
-11
0
-20
-27
14
-7
0
-20
32
-23
38
0
-12
-10
-33
12
0
39
-12
-36
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-17
-25
0
0
-17
20
7
0
0
36
26
9
0
0
-72
-32
-1
0
0
50
-5
-8
0
0
49
-23
30
0
0
-69
141
-43
0
0
0
0
0
0
0
15
17
2
0
0
-32
-15
-11
0
0
15
23
10
0
0
17
8
-19
0
0
3
12
-9
0
0
22
-12
52
0
0
-9
42
-32
0
0
47
-16
9
0
0
-2
-6
-17
0
0
-11
35
4
0
0
-9
41
10
0
0
3
-5
-23
0
0
13
-42
9
0
0
31
-33
23
0
0
27
22
-24
0
0
-19
23
-7
0
0
9
29
-8
0
0
-4
-13
-1
0
0
-5
39
0
0
0
17
1
1
0
0
18
18
-19
0
0
6
3
-2
0
0
17
-40
25
0
0
35
-7
27
0
0
-88
-2
5
0
0
0
0
0
0
0
1
-7
0
0
0
-6
16
-5
0
0
-18
38
48
0
0
-19
-2
12
0
0
55
7
-10
0
0
57
1
-17
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
39
15
-43
-29
1
30
13
48
0
19
0
-31
-20
65
26
-86
-19
41
42
-13
45
86
-33
-1
1
-16
24
4
-85
5
26
0
54
21
-34
0
0
0
0
0
43
5
-8
-31
-6
-7
-20
-10
-8
14
14
-37
-7
-21
-10
-9
10
13
1
-12
10
-42
13
-6
39
-15
58
-9
28
-22
-22
19
65
11
-52
24
-10
74
9
-1
-3
5
2
6
-1
20
-20
-15
-18
1
25
6
-27
-1
-6
49
1
40
-33
-27
14
33
20
-14
-15
-39
33
30
-26
-64
36
-58
-17
-2
2
-60
45
2
62
28
-33
-62
26
11
75
4
9
-4
1
1
3
-7
-20
-2
6
1
-10
40
13
3
23
17
-50
-65
-27
57
-67
-5
21
33
-21
24
-3
-17
59
-58
4
37
28
-31
40
-17
25
72
-65
0
0
0
0
0
0
-2
1
1
-2
27
5
7
1
2
48
26
0
-13
-11
-6
-3
14
41
-12
-31
-35
17
-39
2
17
11
-29
-8
-5
18
32
62
-22
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
18
26
-31
-24
7
5
14
28
-18
-5
-8
-16
46
5
4
14
-46
-4
-4
16
12
76
16
-5
-47
17
-60
29
12
-7
65
-40
-82
60
0
0
0
0
0
-27
-1
-16
-18
1
-12
6
4
-12
24
-60
15
-9
-10
32
20
-25
13
26
-40
34
-6
77
23
27
43
20
10
0
-7
-9
18
-14
-83
20
-99
-49
-78
49
-77
-1
-8
-14
-10
2
15
-19
-28
-17
3
-27
8
15
36
24
1
36
3
-32
25
-9
26
58
22
49
19
12
-5
-11
-62
-67
40
-3
13
-29
23
-37
-42
-25
-56
-64
-8
10
17
54
4
-12
0
1
-1
4
-12
16
10
-2
-17
-1
2
4
-32
5
6
10
-27
-3
89
11
-10
-17
1
-34
50
1
51
54
-5
34
-22
0
-67
-42
-52
-1
28
1
0
0
0
0
0
1
1
1
2
0
-61
-23
20
6
3
7
-21
-42
9
3
-14
52
-26
8
-21
26
-29
5
4
-9
-35
11
6
-36
-32
10
1
65
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
12
-16
-57
63
-16
24
29
26
22
36
-1
65
32
20
-41
-8
44
-34
-38
4
9
-14
13
34
-29
6
17
-4
20
-52
-52
5
82
-46
0
0
0
0
0
-40
17
-3
-16
-31
-25
25
2
-27
28
-51
74
-27
-42
7
20
-34
-11
30
1
-55
-51
1
26
34
-6
18
-3
-3
70
-32
-17
45
80
-67
94
-1
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
-18
0
-8
-3
-1
-17
-14
19
27
-5
1
-47
3
5
-22
-3
-25
6
-39
-32
15
-67
12
9
-19
-54
-24
-7
9
44
2
-12
-15
-16
-2
17
1
-16
8
-5
0
0
0
0
0
0
-7
3
3
3
14
2
-14
34
3
-16
12
-19
-4
8
-46
-92
60
22
14
29
55
-45
4
-14
8
-44
16
42
4
17
-15
-23
-38
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-14
-21
14
0
-9
35
-9
57
0
57
-26
56
38
0
-51
-24
-117
52
0
40
-25
-28
14
0
26
-8
13
-77
0
3
79
32
3
0
0
0
0
0
0
-23
11
-7
-2
0
8
35
16
-4
0
-35
2
20
-2
0
9
27
-12
24
0
-61
1
-11
-15
0
67
-27
43
-1
0
58
-20
-20
20
0
31
42
6
-62
0
-28
5
6
-5
0
-19
37
29
6
0
-23
10
-16
-15
0
-53
-50
58
36
0
27
-19
-7
-12
0
6
10
9
62
0
-40
-8
-36
26
0
35
23
11
-4
0
-1
2
-44
-28
0
-17
4
-7
-3
0
-32
6
3
0
0
-17
19
33
1
0
-6
34
14
2
0
-38
61
-53
-5
0
-116
-19
21
3
0
36
-14
18
5
0
36
7
-4
9
0
0
0
0
0
0
1
-1
0
0
0
-19
5
-17
4
0
40
4
15
-2
0
-28
-16
-21
-13
0
-34
4
35
3
0
10
19
-26
-13
0
32
-33
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
34
20
0
0
4
-11
0
0
0
-10
6
5
0
0
23
18
30
0
0
-26
-66
51
0
0
2
-4
-39
0
0
27
18
-24
0
0
0
0
0
0
0
-10
-4
4
0
0
-17
25
11
0
0
-39
-45
17
0
0
1
20
-1
0
0
-4
-47
17
0
0
-2
12
23
0
0
33
21
9
0
0
-28
-4
23
0
0
-2
0
7
0
0
50
12
-2
0
0
20
4
-1
0
0
0
4
-2
0
0
23
12
-37
0
0
-13
-44
0
0
0
-19
29
82
0
0
-4
-22
43
0
0
14
67
9
0
0
4
2
-1
0
0
-6
-8
3
0
0
-5
-13
-5
0
0
3
21
3
0
0
-9
-10
-2
0
0
-6
-18
-44
0
0
13
48
-16
0
0
36
-25
33
0
0
0
0
0
0
0
-5
-2
0
0
0
-2
-13
0
0
0
-1
19
-16
0
0
-33
40
2
0
0
-7
16
-2
0
0
11
-23
15
0
0
-19
-35
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-15
-2
7
-2
20
-68
63
21
6
-3
57
-3
-21
0
1
-36
-4
11
30
10
54
10
-12
30
22
-61
-8
75
-76
56
117
-14
-11
20
0
0
0
0
0
9
-2
1
1
1
9
-3
-5
5
-2
-7
15
9
4
10
-40
13
19
-4
6
-61
10
62
32
-9
-8
-13
19
-22
-48
-81
-22
-44
67
27
138
62
41
-14
69
-2
1
0
0
0
0
6
2
-1
-1
5
35
-7
1
1
18
21
28
3
-5
-5
0
-10
-24
34
5
-43
-6
51
-6
-49
-5
-31
33
-10
40
0
-15
-11
-42
-4
-44
49
-15
27
-5
2
0
0
0
0
3
-2
0
-1
5
4
0
9
1
-2
-9
6
7
-4
13
46
-33
2
-10
-81
2
1
61
-60
-57
49
42
-7
-24
37
-66
-20
-78
121
0
0
0
0
0
0
2
0
0
0
-1
2
1
1
0
2
-2
5
0
-4
-5
37
-45
1
-2
-17
-63
-13
-9
-38
35
64
-17
0
-19
17
-28
-6
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
59
-9
33
-18
-2
34
-10
-43
27
-74
-11
4
-49
3
78
30
15
5
62
47
-34
11
72
-11
-21
22
15
61
20
18
-18
42
0
0
0
0
0
55
-8
11
14
-12
50
34
-12
-6
3
4
23
-18
26
9
-20
8
-28
13
41
11
1
-58
-5
24
18
-2
25
12
18
-27
-32
39
-64
-10
82
33
-1
-9
2
1
17
-12
7
0
-17
35
-18
16
-5
19
-25
3
-19
16
-9
-24
0
11
31
45
-32
19
-52
19
-16
21
-10
-3
-8
62
-7
11
-13
-19
-62
35
66
70
39
92
-6
-11
0
-77
-3
19
11
11
0
8
11
2
-42
1
21
37
-2
40
23
22
12
-19
7
33
24
18
-44
-47
-7
59
-12
36
-44
-14
-106
-35
5
12
19
18
38
-9
3
-6
0
0
0
0
0
-5
3
2
0
0
-1
-3
1
-1
0
0
11
2
8
-1
-33
0
-11
1
-20
57
1
2
-42
14
-92
15
10
-44
-48
-29
30
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-21
-9
11
0
11
-10
57
-5
-5
65
48
-24
-3
17
-14
23
-29
20
25
-31
-21
16
-18
9
-60
29
-74
26
7
98
36
-20
-5
23
0
0
0
0
0
57
-40
14
25
8
41
-7
27
6
17
35
-35
3
53
3
21
38
60
-60
59
23
-19
27
22
-13
-10
27
-14
-9
-12
-1
39
0
-9
-17
-63
-16
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
-5
12
-7
-10
-7
-7
-35
11
18
21
-18
9
10
3
12
7
16
-12
29
14
36
-48
49
26
-7
-28
12
30
-9
-46
6
18
-76
-25
14
40
-33
10
0
0
0
0
0
0
0
-1
1
0
-1
-2
-1
4
0
-3
-15
-6
-1
0
-15
27
-9
-18
-4
-18
25
34
-31
-26
-11
-11
-29
-54
-8
29
25
0
52
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
23
0
0
1
11
8
9
0
52
38
8
-9
0
-13
-10
32
-59
0
9
-77
13
-7
0
-25
36
-12
52
0
33
65
-11
-7
0
0
0
0
0
0
-9
21
50
8
0
6
8
2
-4
0
7
15
27
-26
0
33
-25
-10
31
0
-63
-21
6
-3
0
4
12
-48
39
0
18
53
32
1
0
0
17
15
15
0
-10
28
-3
0
0
7
-5
-9
8
0
-14
-9
10
13
0
-9
24
-26
-17
0
43
-1
18
-37
0
-15
-42
1
-42
0
25
16
-39
25
0
-5
-5
71
25
0
24
85
-8
13
0
26
18
11
-2
0
22
5
-3
4
0
13
-8
-53
-3
0
-28
19
-8
18
0
16
-30
38
19
0
19
-25
-24
23
0
-10
6
36
-34
0
-102
77
-22
-63
0
0
0
0
0
0
4
5
0
0
0
0
-1
-1
0
0
0
0
1
-1
0
7
-1
14
-6
0
27
-18
7
3
0
54
-9
-6
-24
0
-22
-11
7
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
0
0
8
-7
-14
0
0
-25
24
-15
0
0
14
-69
-25
0
0
10
-3
-33
0
0
-54
36
8
0
0
27
-39
32
0
0
0
0
0
0
0
0
0
0
0
0
8
68
1
0
0
-5
-18
8
0
0
-30
5
38
0
0
-26
-25
-5
0
0
80
-6
-6
0
0
5
69
60
0
0
-30
-4
53
0
0
0
0
0
0
0
-1
1
5
0
0
-2
1
-2
0
0
-15
-15
0
0
0
-42
-17
8
0
0
-44
-27
-18
0
0
65
24
18
0
0
49
56
-16
0
0
0
35
-12
0
0
0
-1
0
0
0
1
-1
0
0
0
5
-1
0
0
0
-23
-4
5
0
0
-17
52
-5
0
0
5
-13
-21
0
0
-7
18
5
0
0
11
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
18
-9
-2
0
0
21
9
-2
0
0
25
3
-9
0
0
-1
15
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-3
-8
-1
23
-1
14
-51
-21
34
-17
-68
30
-18
-90
13
-1
34
-39
4
55
-14
44
27
-12
12
-52
-14
2
-21
-57
66
-26
-7
0
0
0
0
0
-4
-1
-2
0
0
-10
-31
18
30
4
-16
2
8
9
-14
-23
30
-27
-32
28
-8
7
5
16
13
52
2
13
16
3
-41
51
-40
-77
-52
-62
-1
19
-1
57
-1
0
0
0
0
0
-13
0
-50
-1
-2
-15
15
-25
3
13
-17
-65
2
-22
-24
45
5
14
-8
23
-57
-56
-37
43
2
-21
29
106
-55
-2
-35
-17
47
27
-34
56
19
-7
-16
-6
1
-2
-2
-5
2
3
29
-16
0
0
-13
29
8
-7
-29
-43
22
-57
-23
0
-17
24
30
15
-73
-22
-35
0
3
13
8
-17
-4
-50
-4
-17
11
76
34
0
0
0
0
0
2
-2
-1
0
0
6
8
3
1
4
-13
5
-35
47
0
1
44
-39
15
31
73
-43
5
57
-30
-87
10
-1
-103
10
-11
-10
76
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
-7
0
-61
10
-4
-33
5
-2
-64
-6
15
-17
29
15
-10
-52
-39
-3
51
-68
27
10
-28
-17
49
-30
-12
-29
15
63
22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
0
0
-7
-4
2
2
2
3
-6
3
0
0
0
4
0
0
0
4
-2
-4
0
-1
-5
3
-5
-11
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
-2
0
0
-2
0
0
0
-7
0
0
-3
7
-3
-3
0
2
-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
2
0
3
0
-3
-1
0
-1
1
-4
4
14
-3
0
22
-25
17
-15
-4
6
-6
-1
-2
3
0
0
0
0
0
4
-2
3
1
-3
3
7
-22
-8
-3
21
20
-26
-22
-2
3
6
-24
23
14
32
8
53
-27
0
15
-57
10
-5
-22
-73
54
-22
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
3
-24
1
-17
-3
-99
-82
-15
3
7
-14
21
-4
-25
-44
16
68
30
-6
46
-55
43
-43
3
6
11
-45
30
13
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
-5
2
0
0
-15
6
-5
-4
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
1
0
0
0
0
1
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
-2
1
-1
1
-1
-7
0
0
-35
-8
34
-7
-5
-29
38
11
6
-33
-22
10
-5
2
-9
80
-17
-22
-46
-22
11
-31
13
54
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
-47
-2
18
-12
0
-7
38
-42
18
0
-34
-44
-84
-1
0
29
56
29
10
0
63
-9
25
-14
0
7
-30
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-19
0
0
0
0
0
1
0
0
0
0
6
0
-1
0
0
-8
0
0
-3
0
0
0
0
2
37
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
0
0
0
0
-3
0
0
0
0
-3
0
0
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
1
0
0
0
0
0
2
1
0
-1
0
8
0
0
0
2
1
-2
0
0
0
0
0
0
1
0
6
-4
0
-12
4
-8
0
0
16
1
-9
3
0
-15
9
8
-6
0
-18
-29
17
25
0
19
7
-37
-6
0
-4
19
-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
1
-1
0
0
-23
-35
-7
0
0
17
-23
-25
0
0
15
40
39
0
0
-51
-9
-63
0
0
-45
-19
44
0
0
35
-97
73
0
0
0
0
0
0
0
0
-2
-2
0
0
-15
16
-2
0
0
4
-15
-8
0
0
-12
22
26
0
0
11
-22
-23
0
0
7
39
15
0
0
6
-7
54
0
0
47
-61
-44
0
0
0
0
0
0
0
3
6
0
0
0
-2
-21
-1
0
0
-1
0
12
0
0
-11
-14
0
0
0
1
-4
8
0
0
-4
20
-3
0
0
-25
-23
-13
0
0
-5
25
35
0
0
-1
1
-3
0
0
3
1
-9
0
0
-10
34
-4
0
0
-12
9
28
0
0
-4
-13
18
0
0
19
66
-30
0
0
-34
17
57
0
0
-3
-36
-60
0
0
0
0
0
0
0
1
1
5
0
0
10
-1
-2
0
0
3
14
-8
0
0
-14
-75
-5
0
0
18
-1
21
0
0
6
-39
9
0
0
-20
74
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-19
9
-15
-68
-50
-30
-26
-57
2
13
88
-16
-22
-20
-19
0
-25
-32
-8
-17
2
83
-18
-36
51
-31
-30
96
69
74
-11
-46
66
0
0
0
0
0
11
10
29
-50
0
-17
31
-39
3
6
57
50
-28
12
-51
28
-4
16
-30
-21
-58
-49
3
-27
-20
-132
59
-5
26
16
18
-15
19
-1
-46
20
-12
1
22
64
-1
-18
-12
-1
-6
4
17
-35
32
7
-6
6
-31
27
-24
7
-96
13
5
-2
29
30
-4
-52
-29
-16
-9
5
-20
-28
-20
44
28
-11
59
41
-1
-27
0
-28
0
17
-70
22
36
32
-21
12
-10
-2
1
21
-1
-24
-20
1
28
-18
23
-11
35
6
-15
41
-1
-76
36
-39
20
-15
18
-53
26
23
22
-21
-8
64
4
46
34
-2
-44
13
-27
0
0
0
0
0
-4
22
-2
8
-4
-22
-7
-20
20
1
21
54
12
9
16
-73
-23
49
-7
-11
-23
27
-45
-43
7
-35
-17
20
-21
-7
3
1
-7
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-51
-23
17
-7
-31
22
8
-22
-6
-8
-49
29
9
-10
-28
11
44
7
-73
-36
-12
-68
-14
48
63
44
22
-48
-14
35
98
-60
-16
37
0
0
0
0
0
0
-1
0
0
0
5
-15
-40
-5
-2
-4
-66
-6
-29
-5
-18
-31
18
-8
-26
-41
-47
-41
39
-51
-8
5
35
-92
-7
-9
73
31
71
-44
-14
-78
-111
2
49
0
-1
0
0
0
0
-1
0
1
-2
6
-5
-4
13
0
14
-4
-22
38
-15
26
10
40
9
8
12
-66
-38
29
-43
-77
-28
-9
-20
-15
-54
51
-91
95
21
-22
-33
-18
-77
73
0
0
0
-1
0
0
-4
-1
0
0
1
-12
-14
0
0
19
-39
-14
-13
8
-13
-22
-21
-11
-4
-50
6
5
39
-29
-56
-35
38
35
54
58
-12
17
-44
50
0
0
0
0
0
-19
13
11
13
-1
-16
20
9
8
-17
-20
-25
-18
23
15
8
-30
6
-24
-8
-119
21
-12
-7
20
-55
4
-22
6
17
47
12
-16
15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-27
-27
14
-1
-7
-13
12
-15
-24
-13
55
-12
-7
1
-14
-8
21
-40
15
70
-50
6
39
-60
44
-54
-29
-34
48
-66
72
-16
164
-80
0
0
0
0
0
0
0
0
0
0
-1
3
11
7
0
-25
2
-15
-48
15
-3
-59
-9
23
-15
-30
-55
26
-2
-44
8
-15
5
10
-17
-15
-17
37
-34
10
-31
37
-29
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
-2
0
-1
0
0
1
1
0
1
0
2
-1
-3
1
0
12
6
-57
1
4
-24
-13
13
2
8
-6
3
-16
-4
-123
10
79
21
-5
-5
-9
-15
-41
4
0
0
0
0
0
-4
20
-2
-17
-10
28
-38
18
-27
0
-37
-36
1
-8
4
4
50
-49
-4
-1
38
-38
-59
59
18
4
-39
-57
25
6
-60
39
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-16
22
0
20
-50
-1
-2
0
18
8
-6
-12
0
20
14
6
8
0
-11
27
-12
14
0
-39
29
9
-37
0
11
37
-12
-37
0
0
0
0
0
0
0
0
0
0
0
-5
3
-19
-5
0
19
30
-38
-7
0
-36
13
13
-14
0
-55
39
-31
53
0
-11
12
-14
-28
0
70
-11
38
-106
0
-34
-36
20
18
0
0
0
-4
0
0
-6
2
-4
-3
0
-1
1
-10
0
0
-27
9
12
24
0
-20
27
-17
-20
0
30
33
-13
-4
0
-11
49
31
2
0
54
-56
10
-9
0
0
-5
39
-51
0
0
0
3
1
0
-4
2
-3
-1
0
4
0
0
-7
0
-2
45
-14
-15
0
-32
30
-10
-16
0
-89
-13
6
-1
0
-4
18
52
-10
0
27
-56
-53
-48
0
0
0
0
0
0
12
3
-20
-4
0
24
19
19
-19
0
-19
-26
20
0
0
-24
46
6
-28
0
-46
14
1
-19
0
-22
-35
30
-40
0
35
34
20
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
18
0
0
54
23
8
0
0
6
53
-39
0
0
-48
30
-59
0
0
-35
-27
-29
0
0
14
-10
49
0
0
-4
-61
-14
0
0
0
0
0
0
0
0
-40
-3
0
0
42
-14
-4
0
0
-113
-28
6
0
0
34
-1
23
0
0
-2
-22
10
0
0
-34
29
-10
0
0
40
48
-32
0
0
13
2
-6
0
0
-1
1
-2
0
0
-25
-9
-8
0
0
13
16
-4
0
0
75
-50
11
0
0
4
34
-20
0
0
-24
90
0
0
0
-59
18
-57
0
0
-41
-30
-41
0
0
-7
22
70
0
0
11
21
2
0
0
-47
39
2
0
0
-21
-7
-28
0
0
13
-8
2
0
0
-8
-27
-38
0
0
9
10
-1
0
0
31
-22
-5
0
0
-43
55
-4
0
0
0
0
0
0
0
0
13
-7
0
0
46
1
-2
0
0
-22
-28
10
0
0
38
-5
-33
0
0
36
24
-29
0
0
-18
0
13
0
0
32
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
14
101
1
-18
-48
-17
24
-13
8
8
-12
0
-17
56
6
8
-90
-18
-7
20
-20
-3
57
-28
42
-19
2
-77
67
47
8
-12
-34
0
0
0
0
0
-10
-5
10
-24
3
17
22
-24
30
8
-52
-36
-9
11
28
-11
-11
30
18
21
-29
4
-14
24
-20
67
-86
8
-49
-1
18
-12
12
23
-8
30
101
14
21
14
1
-2
-2
-3
0
19
21
3
21
-4
-11
-3
-3
30
-5
5
88
-22
18
-10
-29
-8
-55
10
-2
78
49
-117
-31
-37
-35
79
33
-3
49
-3
0
51
-60
-41
115
1
3
41
-27
-3
-10
6
-4
1
-3
-29
-12
1
5
13
-67
-15
30
-6
-50
0
41
-53
25
-29
-36
51
-2
17
-46
-21
11
-29
-38
59
90
-40
-3
-39
33
15
-61
9
10
0
0
0
0
0
-7
-5
4
0
0
11
23
1
-7
6
-25
-4
26
-8
22
-5
-56
17
-4
-8
27
9
-17
-34
78
-32
-10
-19
33
-7
18
-37
36
-38
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-12
-16
-7
4
-76
29
-9
-26
-26
8
-17
-17
45
1
5
15
-4
-104
-19
-7
-1
-11
9
-1
-18
27
-35
65
-22
93
3
105
-11
0
0
0
0
0
-34
20
1
7
-1
-45
-20
48
-23
-20
-44
-14
-10
-16
0
5
2
-14
-1
8
-39
-34
26
-40
-8
-47
-7
-20
-3
5
6
20
40
41
-4
-15
-2
18
-27
52
3
-10
-6
-1
-9
-33
-29
23
-12
-8
-54
16
-19
15
-18
-50
-12
-16
21
2
44
-50
-16
17
-38
13
-15
-43
-6
-8
-1
11
-5
-13
-16
16
12
-11
-52
14
40
-68
12
1
-52
-10
2
-39
-13
2
-41
14
2
38
16
-14
-18
72
-35
-13
-58
46
-24
33
23
-4
1
51
-40
13
35
-37
-13
7
-16
-19
50
2
-11
-10
-13
-27
-4
-14
13
0
0
0
0
0
1
-25
1
-8
1
-9
-19
-8
19
-3
43
26
23
13
9
-14
-45
-49
-10
17
38
14
-14
-39
-23
21
-27
-5
22
-8
-45
76
-17
-21
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
3
32
6
-14
-6
-13
11
-18
77
-63
22
-50
1
-5
112
-27
6
5
-8
18
-23
13
18
-72
-15
19
20
-72
43
-54
84
-24
72
0
0
0
0
0
-5
-24
-14
-24
2
-3
-21
-34
-34
-6
26
-24
-10
-8
26
-19
-12
-20
24
-14
33
58
-44
-84
-42
24
-27
3
-6
18
-8
-57
29
-63
-49
-70
-21
14
48
-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
-7
19
-6
-12
-8
5
0
-3
11
-3
-15
-1
-5
43
-5
20
-16
-63
9
-15
-2
-3
37
-46
-34
-14
-13
15
16
-62
-25
7
-14
-11
76
25
-16
-48
13
-10
0
0
0
0
0
0
-17
-4
4
-1
-16
8
4
-9
-2
1
8
18
-27
-2
18
19
-28
31
-43
7
2
-39
3
14
-27
8
-78
-4
-10
25
-20
57
8
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-17
-5
0
-31
-3
37
-62
0
-66
2
-18
-12
0
23
-57
16
-39
0
23
40
-14
-33
0
-44
0
1
79
0
-91
-25
20
-1
0
0
0
0
0
0
0
-25
-13
-2
0
-13
0
-49
-6
0
-11
-33
-17
83
0
-19
37
-21
-44
0
1
23
22
-27
0
11
19
29
4
0
1
-72
-37
2
0
17
5
-30
2
0
-1
1
8
0
0
-2
-5
20
-14
0
-13
-19
10
-13
0
37
27
1
-58
0
-17
-33
49
27
0
14
0
-96
18
0
-15
-8
24
-13
0
23
-7
-38
-34
0
49
35
24
46
0
10
-10
-6
5
0
7
-27
9
-26
0
-1
-12
15
-19
0
37
-60
-30
-28
0
-76
-31
-7
22
0
16
-45
11
-23
0
6
19
-15
-7
0
-67
-17
1
10
0
0
0
0
0
0
2
0
-1
-2
0
2
3
-12
-2
0
-6
-1
-14
-22
0
50
-20
-3
-30
0
-19
-47
-19
34
0
-50
14
29
-7
0
-4
25
16
-9
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
-17
59
-10
0
0
-5
-64
23
0
0
19
-5
-3
0
0
46
4
18
0
0
-24
-81
-90
0
0
2
105
35
0
0
0
0
0
0
0
1
14
-1
0
0
-15
-20
-8
0
0
8
1
-3
0
0
-1
27
24
0
0
4
-86
-12
0
0
11
-15
-27
0
0
3
32
-36
0
0
-11
34
38
0
0
0
0
2
0
0
0
-9
0
0
0
-14
2
-10
0
0
-44
34
-57
0
0
25
-6
10
0
0
9
29
-39
0
0
-37
-50
18
0
0
-11
15
41
0
0
-6
-30
-18
0
0
-2
-6
0
0
0
5
16
-3
0
0
15
0
-4
0
0
8
4
-29
0
0
-10
-12
38
0
0
-15
10
-22
0
0
-28
-37
-42
0
0
-4
0
54
0
0
0
0
0
0
0
1
0
1
0
0
-8
1
3
0
0
-1
10
-7
0
0
17
-12
-4
0
0
-11
-3
7
0
0
-30
8
-25
0
0
4
-2
-14
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
-6
17
-76
34
-1
-46
-60
11
-16
3
-3
20
-26
-4
-4
20
-78
-56
24
-4
9
-48
105
-17
-61
36
73
-28
-20
67
0
0
0
0
0
-5
2
-1
0
0
-7
5
24
-12
-1
-27
-20
34
-50
-6
-21
3
10
-1
10
75
11
-40
19
-20
39
44
-41
15
15
46
-16
46
-112
-26
58
52
-46
6
29
0
0
0
0
0
-15
-7
0
-4
0
-4
9
-4
1
0
14
-28
-19
14
0
-25
-35
-19
14
7
-44
-111
-19
34
40
63
51
8
40
-46
87
25
24
15
-2
73
1
23
-37
-14
2
0
0
0
0
-4
1
1
-6
0
-5
-1
7
-8
2
32
-35
-19
-17
2
-40
26
-8
-8
3
3
12
-95
4
-12
52
24
-11
15
11
38
-16
92
6
-33
0
0
0
0
0
-2
4
-3
0
0
1
-1
0
-1
-4
2
-5
-2
0
-1
2
9
-5
-2
0
-24
39
7
26
-7
41
-13
-1
4
-6
13
33
-18
7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
2
-19
-23
4
-7
-14
-1
9
24
30
26
-65
60
-16
-15
50
59
-57
-16
13
-19
-35
149
-31
13
6
48
-50
61
12
16
0
0
0
0
0
2
25
-2
-6
4
26
-18
17
-45
-11
-29
-64
17
4
-39
63
16
10
-44
52
36
59
-49
-10
-1
-8
-104
50
52
2
-5
25
-15
-33
12
14
23
2
43
-109
-2
3
-1
0
3
3
17
6
44
0
-5
35
-10
-45
-6
-1
-11
20
-45
-27
-47
-6
-35
-37
0
-33
-35
-11
-47
-21
-16
76
18
55
44
49
-7
69
-107
-20
-75
38
-68
40
-37
-6
-19
47
-6
-4
41
-24
-1
-13
-9
-5
-32
-50
-8
-14
-23
8
-31
40
-6
-1
15
-3
-10
22
-22
2
28
-44
2
58
-11
-12
57
-10
-50
9
6
42
-39
0
0
0
0
0
0
1
0
1
0
1
0
-2
1
-1
-2
6
3
-26
1
-4
0
49
-1
-15
-59
8
-29
39
36
15
-21
-25
-17
-20
-31
-22
84
28
-8
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
-14
2
-40
22
0
-28
45
-50
54
-18
45
-65
-6
-55
-6
-9
47
12
-5
15
-22
-2
32
-10
36
12
55
32
4
-79
0
0
0
0
0
1
7
-3
2
0
9
-21
9
29
20
-18
-16
39
13
-41
0
-26
15
-3
-36
-35
-12
9
15
-1
-16
12
-12
10
15
-13
-19
6
9
-10
-15
7
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
-5
4
2
-10
-21
5
1
23
23
-26
-9
-12
-26
-3
1
8
24
-9
7
-35
66
11
1
-65
-1
35
24
22
69
-28
15
-42
-38
-45
67
-129
42
0
0
0
0
0
0
2
0
0
2
1
3
0
-1
0
-1
0
0
-6
0
-10
18
-6
-42
5
13
-15
-79
12
-24
40
-4
2
37
-65
-3
-13
-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
1
4
1
0
21
-15
61
-19
0
-6
-12
10
2
0
41
-15
-35
-5
0
-8
16
-25
-31
0
-22
57
-29
-30
0
-13
9
33
-69
0
0
0
0
0
0
1
0
8
2
0
10
-29
-18
15
0
-8
38
-5
4
0
7
-28
-16
-36
0
16
29
-36
-48
0
-24
-8
-32
41
0
-45
-34
60
-26
0
-4
-9
57
48
0
-1
0
0
0
0
33
14
-46
-10
0
10
10
11
30
0
-40
-6
31
-67
0
27
-5
8
24
0
-9
-16
39
-5
0
13
-9
31
-30
0
9
4
-74
-21
0
-24
36
20
68
0
-1
-7
6
4
0
-4
11
-8
-13
0
-2
-15
21
12
0
25
-28
-40
15
0
-10
29
18
-23
0
21
29
44
30
0
-16
12
-30
21
0
-51
-73
33
48
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
12
8
1
1
0
10
-58
9
-31
0
-3
-2
-15
-16
0
0
-7
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
-1
-5
0
0
-6
-1
4
0
0
8
12
7
0
0
1
26
8
0
0
62
52
41
0
0
1
-1
3
0
0
-5
13
-46
0
0
0
0
0
0
0
0
0
0
0
0
2
28
-3
0
0
3
-7
5
0
0
-22
-22
-5
0
0
-79
25
-36
0
0
-2
-8
-14
0
0
71
-39
33
0
0
8
50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
1
0
0
-28
36
-17
0
0
-16
-5
-55
0
0
39
3
-6
0
0
27
-58
-15
0
0
0
0
-38
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-11
17
3
0
0
13
51
-4
0
0
16
29
11
0
0
-11
-16
1
0
0
-3
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-11
4
2
0
0
0
-8
-19
0
0
-2
-9
-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
-3
0
0
0
-3
8
2
0
1
-16
6
-15
0
-31
51
54
-14
19
20
82
-34
-11
0
5
-23
-36
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
1
-8
-4
6
0
26
7
35
-12
-10
5
-38
-1
-11
0
68
57
-97
-20
-17
22
38
2
-40
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
7
-1
1
0
0
-5
-8
-7
0
10
13
18
3
21
-55
-19
-21
18
0
-17
0
-2
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
0
70
-1
-15
0
-20
28
-8
-10
20
0
-7
-24
-15
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
-4
5
0
-1
0
-1
0
-2
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
4
5
-3
-7
3
-8
-24
-61
1
1
36
49
-16
-50
-16
-16
27
-26
-7
10
5
30
83
44
-19
0
0
0
0
0
2
1
0
0
0
-20
-9
-7
18
-2
-2
18
57
-5
-16
42
7
0
5
12
-20
-102
56
29
-5
36
42
-141
-25
19
-36
44
-44
-53
-63
51
2
126
-2
35
0
-5
0
0
0
12
0
-1
1
-4
-14
-8
-12
20
-1
24
-26
13
-30
-16
-56
39
26
-9
11
-60
7
44
64
3
6
-31
-17
10
39
80
56
-73
-55
2
17
18
92
30
1
0
0
-3
2
0
10
-4
-1
1
0
1
-5
1
3
1
24
-34
10
2
-14
-58
-43
7
46
23
1
9
-32
11
-23
29
42
53
-15
-18
-4
131
62
-50
-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
6
-1
4
0
0
0
-6
2
-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
0
4
-5
0
-3
0
-13
-21
11
-2
12
-4
3
-7
5
6
3
20
-1
14
9
20
42
-12
48
-28
17
-1
-14
0
0
0
0
0
0
1
0
0
0
-1
-4
-3
12
6
12
-37
-1
9
3
-9
32
-5
13
-12
-2
-77
60
-39
-36
13
19
-62
42
-34
-3
88
14
-65
103
9
119
-28
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
-2
2
0
0
0
2
-1
0
0
0
-1
0
4
1
0
-2
3
-3
-35
-32
-7
13
23
33
-9
8
0
14
-7
52
0
-9
-37
23
0
19
-8
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
-9
0
0
0
-5
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
-3
-1
0
0
0
-1
-2
4
0
3
-1
-1
4
0
-3
-15
60
8
0
25
86
-47
-23
0
14
-19
-79
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
16
2
0
4
16
1
-40
0
8
9
14
23
0
-37
-10
-2
17
0
-7
-7
-11
-6
0
-37
-11
36
2
0
0
-2
42
-64
0
0
0
0
0
0
1
-1
1
0
0
0
-2
-1
-1
0
-18
-1
0
3
0
-37
11
-47
-1
0
-14
-1
-10
-12
0
1
-20
54
8
0
-26
-48
-60
43
0
0
0
-87
4
0
-1
-1
1
0
0
0
0
-3
-1
0
0
0
-6
0
0
-8
27
11
19
0
17
1
8
2
0
-7
5
11
-46
0
-33
14
4
-10
0
0
0
-16
-21
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
4
-4
0
0
-16
-33
-1
0
0
17
0
15
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
-6
-2
0
0
-1
-28
9
0
0
-24
2
-48
0
0
0
0
6
0
0
0
0
0
0
0
0
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
9
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
-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
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
4
-4
-3
-29
46
12
25
-5
1
-16
-21
34
-17
4
-42
-96
62
-44
-41
53
122
-89
30
-3
-30
18
-8
-12
18
51
2
23
-47
0
0
0
0
0
1
4
-1
12
3
1
7
-10
-12
-5
42
10
-1
-16
3
-26
-14
-15
23
1
-17
24
-23
-29
18
16
-57
21
-57
-18
-27
28
-35
36
-26
44
26
-32
37
23
0
1
3
-1
0
3
2
-1
0
1
-20
-23
-8
7
1
-69
10
5
10
-10
-74
-17
-27
67
10
18
27
5
13
-6
16
-13
24
10
14
28
148
-1
-28
-16
12
-20
-11
-49
-29
0
2
0
0
0
2
1
-1
-4
-7
1
10
-5
-11
0
9
27
-7
-6
-43
4
-5
-3
23
54
-44
-21
-15
30
-27
15
-14
75
-11
32
-27
-13
-49
-36
8
0
0
0
0
0
-1
1
0
0
0
-4
2
-2
1
-1
-9
-34
18
-8
-1
11
0
1
-25
2
-17
-3
6
25
-3
-10
31
29
-19
-13
-51
14
9
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
-9
-17
7
-26
11
-39
15
18
-22
10
22
45
4
-53
-26
-19
-49
2
-35
20
-3
65
20
25
-1
-14
-64
0
100
9
42
43
-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
-5
0
0
0
9
4
0
-9
1
4
-2
-12
23
2
36
7
2
0
19
3
6
-21
0
33
-9
-13
-18
-6
-8
-18
-9
-8
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
34
29
-5
69
-14
15
-12
-44
2
-11
12
20
-6
42
-106
-21
-4
-24
18
75
-54
-86
9
-9
-7
27
-16
6
-2
-26
-11
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
0
0
0
0
0
22
-45
-21
20
-15
-23
-34
-13
15
-36
-30
-29
2
-46
13
-2
-44
-10
-15
27
-36
3
7
5
-5
80
-25
10
-5
-1
-32
-6
-36
-4
18
26
-3
-37
-31
5
17
9
12
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
3
1
0
0
0
-2
-3
-2
0
-3
3
25
4
17
-5
-16
-19
9
-12
-10
-28
-11
0
25
20
14
-4
-10
32
-14
16
-18
-13
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
-8
2
0
12
-48
-8
8
0
20
2
-54
-74
0
36
-27
-11
35
0
10
26
19
-3
0
-2
-51
34
-103
0
-15
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
1
0
-9
-2
-1
3
0
37
-30
-18
-37
0
17
51
-9
-40
0
-20
-1
31
-55
0
-4
-10
10
-18
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
-2
-7
0
0
0
-1
6
-5
0
0
5
43
-19
0
0
12
27
14
0
0
64
-9
47
0
0
-97
-52
-21
0
0
0
0
0
0
0
21
2
1
0
0
4
-7
2
0
0
19
5
-7
0
0
5
1
-63
0
0
27
-32
-10
0
0
75
-11
19
0
0
-16
5
-3
0
0
-107
71
-10
0
0
4
1
0
0
0
0
0
0
0
0
2
6
-1
0
0
-21
10
52
0
0
0
12
24
0
0
63
-21
-26
0
0
11
-37
-40
0
0
-43
90
-46
0
0
-3
17
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
0
0
-23
-6
-4
0
0
-4
4
16
0
0
26
-3
-17
0
0
-47
0
-3
0
0
3
-13
-51
0
0
0
0
0
0
0
0
-1
0
0
0
-1
2
0
0
0
0
1
1
0
0
12
-24
11
0
0
-24
-12
29
0
0
-43
19
-5
0
0
5
-15
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
2
0
11
-9
-10
0
0
-27
0
55
15
11
-56
64
41
-4
6
47
-19
-36
-70
-17
-83
-16
-22
10
46
171
-122
-2
-17
-8
0
0
0
0
0
1
-3
-2
6
0
12
14
-1
-1
2
-5
-22
-30
54
2
27
13
-20
26
14
-22
-4
5
-50
23
11
-21
39
56
3
22
21
-58
-127
-76
-2
22
47
22
-17
0
0
0
0
0
1
0
-2
2
0
7
-4
7
3
0
51
17
7
12
7
-8
-9
6
16
3
-44
-11
10
-13
-22
0
57
-66
-25
11
11
6
3
4
32
29
25
8
-19
-18
1
1
-2
0
0
-2
-2
0
0
0
3
13
3
3
0
8
32
6
7
57
0
-72
2
2
-24
120
17
36
-72
10
-42
23
-57
-20
17
23
5
-51
-31
-2
0
0
0
0
0
0
1
0
0
0
-1
3
0
0
0
2
-1
2
-6
-2
-18
6
-19
-11
2
30
-25
0
4
26
-26
26
8
-15
-50
60
-20
-2
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-10
1
-1
0
22
10
26
2
5
0
-48
45
-55
5
-41
36
-10
-14
22
44
-13
-62
18
-16
-4
-29
27
-11
-11
15
49
-40
35
-43
0
0
0
0
0
-9
-4
0
1
-2
0
-3
-9
19
-7
2
-53
-4
0
8
35
54
20
-43
-9
-46
10
-47
12
-36
-17
10
55
-44
-46
-26
12
-42
26
4
151
-52
-1
18
81
-1
0
-2
0
1
11
1
3
-8
0
9
10
0
-13
-16
-7
-29
-6
-15
-7
29
-29
-30
-8
-10
-10
-4
9
17
25
-17
44
13
-46
-8
90
6
15
50
-43
33
62
-5
48
43
1
2
0
2
0
-2
-1
0
3
1
3
2
9
9
-1
13
6
4
-4
-8
8
-25
2
50
-19
-66
-70
-57
13
32
73
12
11
-19
41
38
65
118
-15
-38
0
0
0
0
0
0
2
0
0
0
4
4
0
-1
1
-2
4
9
0
-5
-28
-24
49
17
-10
-72
39
3
5
15
58
-48
-74
29
25
50
-71
-4
-52
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-9
1
20
0
16
10
-50
14
-2
-27
71
17
-9
-1
-12
-25
6
40
-21
89
-27
14
16
14
2
42
-12
-34
-32
-12
48
1
-28
27
0
0
0
0
0
-35
-3
5
6
2
-2
5
-17
-5
-1
65
23
7
-33
-70
36
50
-13
35
22
-20
28
-47
-30
-13
-9
20
12
3
-75
-60
-16
-16
-2
13
113
-9
-104
-25
-14
-24
47
26
-42
4
30
25
-14
-20
48
31
42
-13
72
-46
-3
60
8
-11
-45
-23
25
-8
-4
1
-52
22
-5
-9
-1
40
3
11
1
-10
13
-1
46
42
-39
-5
-31
-3
-25
53
-4
2
3
-1
1
1
33
10
5
0
-3
3
-7
13
3
-12
12
-22
27
61
41
26
-7
-19
34
-50
-8
0
-54
16
13
22
6
-17
64
-3
-7
21
-3
-27
0
0
0
0
0
0
-1
1
0
0
0
-2
0
3
0
5
-11
1
-24
0
23
-49
3
14
-6
7
28
69
-45
-19
9
-15
-63
33
-10
-19
7
9
-1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
13
-3
0
9
21
-29
-3
0
37
-29
30
24
0
-14
-41
-30
3
0
52
17
6
42
0
27
69
21
-2
0
-15
-91
18
-17
0
0
0
0
0
0
0
-6
2
-1
0
4
1
7
3
0
-12
-5
-17
-9
0
2
-3
15
-14
0
8
0
-17
-38
0
51
60
36
-25
0
0
-9
-16
14
0
-7
38
-79
23
0
0
0
2
0
0
-3
-1
9
1
0
-1
-8
-11
1
0
59
-21
-7
20
0
28
-7
-33
-12
0
-15
27
-16
-74
0
-3
-17
-25
-27
0
-26
43
30
9
0
-19
-2
44
59
0
1
-1
0
0
0
0
-1
5
2
0
3
-14
-1
0
0
-7
-5
-8
3
0
56
71
18
2
0
-34
49
-54
-35
0
64
-13
-45
11
0
-9
-4
32
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-4
-16
0
0
-45
1
-15
14
0
-12
-6
27
-47
0
2
-2
3
14
0
-3
30
63
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
-1
0
0
5
-12
0
0
0
-12
-6
10
0
0
2
3
-17
0
0
79
2
21
0
0
4
54
1
0
0
27
59
19
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
0
0
0
7
16
-3
0
0
4
-2
-13
0
0
-66
8
14
0
0
25
-15
-16
0
0
20
-12
-18
0
0
-6
31
-35
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-2
-10
-6
0
0
0
3
6
0
0
24
22
24
0
0
-14
45
21
0
0
-4
-37
-20
0
0
86
-35
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-31
0
0
0
18
23
-19
0
0
-7
-17
-2
0
0
-20
42
15
0
0
-15
14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
-1
20
-7
0
0
-34
23
20
0
0
-13
5
-26
0
0
-9
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
-1
0
1
5
-1
2
0
-11
-12
5
3
0
16
-23
-13
-10
3
-12
-31
25
51
-11
94
-1
-88
25
41
-39
18
13
42
33
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
6
-1
3
0
0
1
23
-2
-1
0
19
-56
-38
17
3
1
65
81
-8
-22
-38
0
-1
49
66
-36
-13
-2
32
-12
0
0
0
0
0
-1
1
0
0
0
1
2
0
0
0
0
0
0
1
0
14
-51
25
-24
6
-4
-58
-1
6
8
-11
6
82
-9
-8
9
20
-15
-6
6
69
-33
-12
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
1
6
3
0
5
6
8
-47
-15
10
-26
-28
-17
-37
35
19
-5
-43
5
96
27
-72
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
3
2
15
5
-2
30
-15
5
17
3
-3
29
-37
-16
0
-7
-54
-18
0
-11
0
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
-8
-11
1
1
7
58
4
15
9
-19
2
18
35
6
16
67
-5
11
-36
-52
-43
-39
-7
17
-45
49
44
-23
-18
0
0
0
0
0
1
0
-1
0
0
9
-19
0
38
-1
18
9
-7
-7
44
-5
-21
-8
-7
3
-50
50
39
24
-55
17
6
-84
-4
-16
46
7
-32
-7
-6
8
86
125
0
24
1
0
-2
0
0
1
-3
0
4
0
56
-4
11
10
3
25
-23
27
18
-27
8
6
-13
-41
0
14
1
-76
-58
-3
25
38
-20
27
-52
-15
7
83
4
53
84
-20
21
40
2
0
-4
0
0
0
-3
0
-2
-1
5
0
-25
-3
-4
1
25
-26
8
-7
3
16
19
-28
-56
19
-18
-23
-3
-12
-52
103
7
12
-4
-5
-21
132
-70
25
-22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
2
-1
-6
17
4
-3
-14
3
-1
-11
4
7
49
4
-31
4
-5
-37
-23
-6
-1
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
-9
-24
1
0
18
25
22
-25
-5
-12
5
20
-61
18
40
53
-20
10
13
4
-53
30
13
42
20
26
27
-39
-36
0
0
0
0
0
5
2
0
1
0
-3
18
-2
50
0
-42
-22
-48
11
26
31
-10
-27
0
-35
-20
-7
-8
76
-36
-23
-16
-6
-31
-6
33
16
-65
-34
47
-4
37
112
12
-9
-1
-1
2
-1
4
-5
20
37
-4
-2
9
20
-16
16
27
-1
-11
5
55
5
56
-44
-6
-4
39
11
-4
-88
23
-1
-20
13
19
-26
-48
-57
25
69
-51
42
32
0
-13
23
-65
0
-3
-1
1
-1
2
-2
1
-3
-2
1
-4
-1
-26
2
-3
-48
40
6
-5
12
-50
-3
9
-1
-20
51
-14
91
-48
55
13
45
-74
2
-43
2
10
43
-33
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-1
12
-11
-1
15
-29
-21
42
6
-12
-19
10
-15
7
26
56
-25
-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
1
0
10
-1
-8
3
0
13
-16
-23
-25
0
-23
-10
-1
20
0
36
-32
49
83
0
-14
59
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
-29
-16
29
11
0
-14
-8
25
-16
0
26
6
-1
-61
0
19
-14
-6
19
0
-31
-22
-70
28
0
-11
48
-46
10
0
0
0
0
0
0
0
-1
4
0
0
7
-2
18
1
0
-18
-1
-22
24
0
-21
44
-11
29
0
14
7
-70
15
0
8
-24
-14
-20
0
-19
42
-32
-50
0
43
-9
69
-9
0
0
1
0
0
0
0
0
-2
0
0
-1
0
0
1
0
-23
24
-30
-10
0
18
-82
73
15
0
-5
-33
-54
-17
0
9
-2
35
-11
0
19
25
-42
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
4
-2
-2
0
4
-1
23
0
0
-18
-8
-20
0
0
-12
-7
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
-1
0
0
-2
-6
5
0
0
7
-4
7
0
0
-28
-9
-11
0
0
-25
6
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
1
0
0
4
10
23
0
0
-13
-55
8
0
0
-70
29
-27
0
0
-32
32
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
34
0
0
0
-37
-22
35
0
0
20
-13
-17
0
0
-24
17
-4
0
0
-3
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-4
7
0
0
0
11
-21
9
0
0
-35
-13
10
0
0
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
-7
0
0
0
0
22
-10
5
0
0
-1
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
-2
3
1
4
0
-26
-39
33
-5
0
11
27
5
-32
-4
-28
14
30
6
41
19
-28
9
45
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
1
5
-1
-1
-18
13
16
-58
-1
-13
42
-18
9
-27
14
20
12
-14
26
-22
10
59
31
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
7
-3
-1
-4
-2
-3
-42
38
-14
-10
-62
-27
19
42
0
-22
36
-29
43
12
-87
8
-21
43
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
-2
0
5
-50
32
-1
2
11
79
-10
37
-4
6
-1
3
13
23
-36
-27
39
-21
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
-7
17
1
2
-1
5
0
-25
21
1
14
-7
3
42
5
-23
4
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
1
0
-3
13
6
13
-23
1
-51
-1
11
-8
9
10
-33
43
-4
-9
-18
-9
52
61
4
0
0
0
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
-2
0
0
-4
-4
7
-2
-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
0
0
0
0
0
0
0
0
5
0
-11
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
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
-1
9
16
-16
0
6
1
-11
10
-10
6
-17
7
5
9
27
-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
5
-2
1
0
0
7
2
-4
8
8
-26
50
-17
-12
-4
28
-3
27
8
-14
-2
41
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-6
3
0
0
0
6
0
12
3
0
15
7
-9
4
10
27
-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
-2
2
-10
-2
0
4
-24
-1
-3
0
14
-48
12
-13
0
11
-12
-53
63
0
11
-32
60
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
6
0
-3
2
17
-4
0
30
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
-1
0
0
0
0
1
-9
-4
0
0
-3
8
-7
0
0
-2
13
19
0
0
2
8
8
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
0
0
-1
-9
-10
0
0
-12
47
-19
0
0
-16
11
12
0
0
1
27
4
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
-1
-11
-10
0
0
0
4
2
0
0
0
0
2
0
0
0
50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-10
6
13
0
0
8
-81
6
0
0
15
0
-6
0
0
15
-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
1
0
0
-3
-21
0
0
0
0
0
-1
0
0
28
-16
-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
-1
4
0
0
17
12
32
-13
5
-2
28
23
-50
-12
-52
40
-30
130
-14
-23
-83
-19
73
-9
61
-22
-52
-36
49
0
0
0
0
0
0
2
0
1
0
-1
1
1
0
0
-1
3
15
3
2
18
-13
36
-11
-29
54
-29
-19
19
-14
-37
38
4
-3
40
-41
32
-25
27
-27
-9
0
23
25
-11
0
0
0
0
0
1
-4
3
1
0
4
-4
0
-3
0
-22
5
-3
0
-2
5
-38
-20
-33
-15
-29
63
-19
-7
24
99
30
16
-12
-27
17
-19
9
28
-23
-93
22
106
81
38
0
0
0
0
0
0
-2
0
0
0
2
1
2
-11
-1
-32
28
22
-17
3
-38
55
-34
-30
-25
20
-17
19
-30
1
39
28
10
21
-30
11
-51
-50
31
23
0
0
0
0
0
-1
1
0
0
0
0
-2
-2
4
0
20
-3
-13
-10
2
76
-21
-66
-6
35
-52
-15
9
3
-21
44
-49
22
-27
25
28
107
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
-5
2
-2
0
-3
-6
-6
28
25
0
58
-12
-24
-75
41
15
20
59
17
-41
-46
-10
-13
29
33
76
-119
-85
38
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
-40
13
-1
0
1
-31
-6
32
-63
1
-73
-6
-7
29
7
-18
-173
10
37
26
-111
-97
-13
56
15
0
0
0
0
0
-7
0
0
0
0
0
4
0
0
0
-1
0
0
0
-1
-12
23
-3
12
-1
-38
9
-11
-8
-13
13
-26
-9
26
-4
-108
-198
15
-2
40
-105
41
78
20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-2
0
2
12
-15
5
-3
-49
-22
13
-39
7
-31
-14
18
-17
5
-15
-35
72
-8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
1
0
6
-5
8
0
-17
10
19
-21
-8
-13
-19
-42
-27
47
12
46
30
-2
-25
4
79
18
18
10
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
-2
0
-3
-25
2
-2
-5
9
-63
-2
-21
-84
40
28
-34
27
61
-1
-25
40
7
12
-93
10
-6
52
-9
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
4
0
0
11
9
0
-1
2
-68
-9
15
16
7
-25
35
-29
-2
22
-3
-182
63
1
37
-36
-54
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
1
-1
0
-2
-3
0
3
1
-6
16
22
0
-27
-16
-40
4
28
0
36
-20
7
-10
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
-1
7
-3
3
2
-8
-16
-27
70
2
31
-2
50
20
-14
-48
10
33
-18
22
-10
-17
-16
1
13
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
24
-4
5
0
-14
-2
-16
6
0
-57
17
12
-38
0
-16
-31
75
-23
0
-106
41
-53
76
0
132
7
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-4
-2
1
0
2
11
14
25
0
23
-11
-10
4
0
-2
61
15
-6
0
0
-66
39
31
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
-56
-4
50
-3
0
1
10
4
29
0
0
12
-39
-11
0
0
45
-13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-2
1
16
2
0
-3
-23
12
24
0
0
-14
-1
-2
0
15
-1
-2
16
0
0
0
0
0
0
-3
0
0
0
0
-1
-1
-4
0
0
-1
0
27
-2
0
-14
28
3
31
0
46
26
-17
24
0
40
9
-46
10
0
-4
-33
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
0
0
0
0
0
-1
-8
1
0
0
37
-20
13
0
0
-74
21
17
0
0
36
4
16
0
0
32
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
4
0
0
-11
3
14
0
0
-9
-8
20
0
0
15
-3
3
0
0
19
-52
-29
0
0
51
67
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
9
1
-23
0
0
-17
-9
6
0
0
-15
23
-76
0
0
-51
-20
16
0
0
4
-63
34
0
0
21
-104
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-10
-7
4
0
0
56
1
14
0
0
7
8
-29
0
0
1
5
20
0
0
9
-36
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-8
-5
0
0
8
-27
-17
0
0
-13
4
-7
0
0
-6
-38
-13
0
0
1
-3
15
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
-1
1
8
11
4
40
62
33
-9
0
-24
-47
-55
26
-15
18
-48
-13
-19
-1
-50
8
62
-15
22
62
-41
77
31
-21
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
33
20
0
0
-1
20
3
6
-52
-7
4
-23
-5
-18
-6
7
4
-22
-9
0
6
28
32
-55
58
47
-10
80
-3
-40
0
0
0
0
0
0
0
-3
0
0
2
-3
0
-5
0
-13
12
8
4
-3
51
-8
12
-5
-15
-11
-20
34
-22
-8
16
56
-70
32
4
-21
21
95
-48
-7
19
64
17
70
15
0
0
0
0
0
1
1
-3
0
0
0
-1
1
1
0
6
-1
-37
33
-12
15
8
5
-23
-16
-32
6
18
21
18
5
-22
28
-15
23
82
33
44
-8
-48
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
13
4
-2
0
-18
7
-29
29
-6
14
7
51
-1
10
3
-43
59
10
-47
4
14
11
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
7
-14
-19
-9
11
13
1
-6
4
21
-30
-124
-2
22
24
39
44
32
49
-37
-21
-19
0
19
14
-43
33
52
-11
58
0
0
0
0
0
-2
0
0
1
0
-4
29
-7
-15
2
5
-19
-26
20
-8
-14
-5
41
2
-3
-36
-44
46
-9
60
84
42
37
51
-11
-68
-93
12
6
-1
-143
-36
-146
19
-24
-1
-1
2
0
0
16
-4
-6
4
1
-2
-31
-3
-8
0
49
3
32
-25
7
62
14
12
66
-13
21
-5
-12
25
33
-34
3
4
-66
138
-167
-82
-11
39
5
-39
-58
-7
-49
-63
0
0
0
1
0
5
-6
3
-2
-1
3
11
-11
-10
-2
43
-47
58
2
-3
27
4
45
80
13
13
29
-46
-25
-26
-100
28
-3
-6
14
4
-98
-17
46
-1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-2
-8
1
-7
-2
-1
17
8
-19
-1
25
43
22
3
-9
-20
-67
3
17
-38
75
34
32
-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
8
1
6
0
48
7
43
18
-7
34
22
-91
19
-16
47
49
-11
-30
-11
-35
-38
12
-15
0
-8
-12
-1
-18
30
0
0
0
0
0
0
0
0
2
0
6
9
2
-7
-9
-49
-16
-13
-6
31
-44
-26
1
24
37
-81
72
-28
47
-10
57
-32
-15
61
27
-73
29
45
9
10
-13
-38
31
-57
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-8
-1
2
9
-2
11
-1
6
-22
-25
12
15
-55
54
-8
36
17
10
-11
-28
-42
-40
38
-90
-1
3
-1
3
45
-46
-12
16
0
0
0
0
0
0
0
2
1
0
2
-1
0
-5
0
-1
2
0
1
-2
-13
9
-19
-2
3
-4
-35
44
16
13
43
-37
-27
-32
7
-56
-13
13
-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
3
1
-4
2
0
3
-13
17
-13
0
-33
60
39
-17
0
-20
46
-25
17
0
59
-66
-51
-23
0
8
-52
54
118
0
0
0
0
0
0
1
0
-2
-2
0
-4
-1
-5
2
0
23
52
20
-32
0
-9
16
-35
2
0
42
-77
-45
-10
0
-93
12
2
28
0
-39
76
-35
39
0
7
67
127
3
0
1
0
0
0
0
-1
0
-3
-2
0
3
-11
-11
0
0
-6
-13
10
-50
0
4
-61
-64
13
0
37
-62
-60
-4
0
-142
99
58
67
0
127
-28
34
42
0
4
-7
-7
75
0
0
0
-6
0
0
1
0
3
-1
0
0
2
-18
0
0
-5
-7
24
-9
0
-16
-16
-30
-11
0
19
-5
66
5
0
32
23
60
-36
0
-21
28
-33
-21
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
-18
1
0
7
7
31
9
0
20
3
-21
8
0
-14
-60
-10
13
0
-45
14
-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
3
-2
0
0
1
5
-19
0
0
58
-6
-22
0
0
-8
48
23
0
0
-48
-50
-54
0
0
-17
-8
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
15
11
16
0
0
41
-19
12
0
0
-43
16
33
0
0
-56
-47
-8
0
0
57
-30
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
-2
0
0
-19
34
0
0
0
34
4
18
0
0
-28
-14
0
0
0
-14
-54
-12
0
0
-16
-54
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
-11
-2
0
0
-39
21
-7
0
0
-29
-34
19
0
0
20
8
-33
0
0
24
-106
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
-17
0
-5
0
0
8
-5
23
0
0
-31
-6
18
0
0
-23
-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
-1
1
0
0
5
-1
0
2
0
-3
27
13
-5
0
-52
33
46
-3
0
26
66
-95
-33
-3
96
-6
73
12
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
5
-4
1
-2
0
-11
-33
17
-39
0
75
-4
4
13
4
21
62
-31
9
-59
-11
-7
-59
3
19
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-2
0
3
-7
7
-3
0
41
10
1
-15
-1
-19
18
36
2
47
12
-43
-20
-15
-1
-2
59
-16
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
1
-9
-3
5
-1
-47
-20
12
-4
9
-16
-43
13
16
0
1
95
21
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
-3
0
0
39
-8
-3
-6
0
0
-8
-5
0
0
-14
-12
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
-1
-7
0
8
9
-7
2
0
-2
-32
-18
9
0
-45
-22
-7
8
8
52
33
66
-42
-35
40
-28
-36
78
-87
0
0
0
0
0
0
0
0
0
0
-2
1
1
-5
1
-5
-9
47
18
-4
-4
26
-30
37
-10
-18
17
-50
-40
-36
-28
-17
22
37
23
-36
-16
-96
54
-1
84
76
100
11
-28
1
1
0
0
0
12
-4
0
0
0
13
22
0
14
-3
-10
2
-11
3
3
1
-40
-31
-4
18
-27
-93
3
19
-5
94
-52
45
42
-37
-11
34
-56
-12
-19
56
110
82
-1
-3
1
-1
2
0
0
-4
1
1
-1
-2
3
5
12
0
0
-43
3
16
13
-16
-40
54
5
-2
-10
75
-22
10
47
18
27
-20
27
25
-11
3
30
-55
-23
-4
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
1
-32
5
-6
-1
-2
-22
1
-3
-3
-5
24
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
2
0
-8
0
3
1
-23
2
1
1
-19
1
11
1
1
-48
8
14
23
-14
43
-91
31
-18
68
44
2
-48
-31
0
0
0
0
0
1
0
0
0
0
0
-3
0
-1
3
7
-6
2
-40
-12
-19
14
-25
-59
-26
65
-18
34
-57
-12
-5
3
26
20
44
52
90
-19
-6
-21
-41
-33
-84
86
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
-1
0
0
1
1
1
4
-1
2
-2
0
-1
1
-2
6
15
1
5
6
-2
-38
2
-4
20
-6
60
-43
62
-66
-10
24
28
-66
14
-47
-27
43
-37
0
0
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
11
2
0
1
1
6
-5
0
-2
-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
2
0
0
0
-3
1
-1
0
0
8
1
25
-6
0
29
36
-3
2
0
8
-116
-5
12
0
20
29
37
6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
14
-66
4
-6
0
-28
-24
8
-20
0
84
36
5
43
0
-3
18
15
-39
0
-17
15
-9
-8
0
-40
-53
-51
-69
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
-14
-2
20
13
0
-36
-2
57
30
0
-4
-10
39
17
0
27
-8
-3
-33
0
12
-5
-21
-18
0
33
-68
-33
-50
0
0
0
0
0
0
-1
0
0
0
0
-1
2
3
-2
0
-15
-13
16
0
0
15
3
-48
-12
0
-38
-66
-40
23
0
46
-24
-1
11
0
-12
57
10
-22
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
18
-5
2
0
0
0
0
6
-6
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
0
0
27
-33
0
0
0
38
-4
22
0
0
-107
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
-2
0
0
-12
6
0
0
0
-21
25
-5
0
0
-15
-63
15
0
0
-7
-3
-39
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
8
2
-1
0
0
13
7
-22
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
-1
1
0
0
0
4
1
0
0
0
-12
-3
-25
0
0
-4
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
-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
3
-9
0
0
0
6
-64
6
-1
0
0
-44
-37
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
-2
0
0
0
1
6
1
2
0
-30
10
60
2
1
-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
1
0
0
0
58
1
-1
0
0
0
26
-1
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
16
-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
8
0
6
-1
0
-11
-2
-24
0
2
33
8
0
-20
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
-6
-6
2
0
4
-11
-1
3
1
-8
-56
24
11
0
-37
46
-8
-6
-2
65
32
112
39
-21
146
15
-20
-29
-8
0
0
0
0
0
1
0
0
0
0
-2
-4
1
0
0
1
2
-3
-2
-3
-15
1
26
22
1
7
40
36
-19
6
47
50
13
53
19
67
95
-66
-12
-16
-13
-56
7
4
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
-2
-6
0
0
-39
11
4
0
-27
51
18
-7
4
7
-1
21
8
6
-34
32
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
24
3
11
0
-63
-10
-39
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
7
-2
-1
0
0
0
2
0
19
-12
-48
-45
14
-39
13
-29
38
-26
3
47
12
-18
-13
32
-22
73
72
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
2
2
1
0
-5
-19
-12
-76
-35
-2
-9
37
-3
6
-2
0
3
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-3
0
1
0
-33
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
-2
0
0
11
6
3
-18
0
-4
-27
-2
16
0
12
20
-82
-103
0
-3
6
-21
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
14
38
-6
0
28
13
-26
-7
0
22
-34
-25
0
0
4
-3
-40
-33
0
0
-2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
3
0
0
-7
-8
-23
3
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
1
0
0
0
0
0
0
0
0
37
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-2
-8
10
-45
-19
-7
-20
8
-7
11
43
-12
-17
60
-32
22
29
-26
-59
-3
50
-31
-51
24
58
-22
27
-22
-40
-67
-16
106
0
0
0
0
0
9
9
0
-11
-1
8
-18
-33
4
-2
-22
30
-22
14
18
57
41
6
-16
-33
-30
-69
6
59
8
22
117
3
-4
27
-30
7
-20
0
6
-83
-114
-27
-23
82
4
-4
0
0
1
-2
11
5
-4
2
-1
23
0
2
5
1
-4
2
62
8
13
-15
7
-31
-12
-20
-43
-91
-7
-15
-6
37
23
-22
35
-39
-14
32
17
-81
40
9
-6
42
1
-2
-1
4
-1
-5
-4
11
-2
-2
-1
-39
0
-14
3
26
-12
-21
-1
32
-26
45
23
12
6
-22
37
37
-114
-21
-32
-62
23
19
40
22
-58
-15
54
-38
-1
0
0
0
0
0
0
-6
0
2
1
32
4
-3
-8
-1
1
-10
-6
9
0
-2
-41
-3
-3
-14
1
58
-32
10
25
-39
3
-7
-34
36
-14
-29
17
-28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
29
12
-11
-12
-31
3
-10
-18
-31
13
23
-12
5
6
12
-70
-46
50
67
40
16
4
0
-12
-58
19
10
-40
-6
-35
-14
-20
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
8
1
-2
-2
-1
4
-3
-3
7
3
-24
-12
5
22
-1
26
-28
14
36
-14
19
-53
-4
40
27
7
-10
11
-31
7
-22
9
32
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-28
-18
-10
-47
-3
-21
17
38
-65
-7
-56
61
-8
38
-7
-53
30
15
-1
-4
46
-8
-46
33
-14
-39
-61
19
-111
6
-13
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
-2
3
-1
-1
0
11
0
0
-12
-2
-2
15
5
1
1
6
-5
-33
48
5
-3
25
0
-39
10
1
-26
57
-6
-37
-74
0
18
23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
8
-4
0
-10
-40
13
26
0
-37
8
32
-30
0
-81
38
19
29
0
27
-26
-9
16
0
-76
27
8
-13
0
58
-92
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
0
0
0
0
0
0
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
-2
0
-9
-6
16
0
0
11
-32
1
6
0
-5
-20
-14
-11
0
-35
-37
-1
-18
0
8
-5
-34
11
0
-6
50
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
72
5
0
0
-1
-5
31
0
0
-1
3
17
0
0
-16
-86
0
0
0
-38
92
-15
0
0
-32
3
-53
0
0
30
31
72
0
0
0
0
0
0
0
1
8
-1
0
0
1
-16
12
0
0
39
40
-4
0
0
-29
-4
9
0
0
-11
47
-34
0
0
-44
10
-16
0
0
-83
-10
-22
0
0
155
-30
13
0
0
16
-1
0
0
0
-2
-6
-1
0
0
-6
34
-2
0
0
-3
-6
14
0
0
15
3
22
0
0
-35
-2
45
0
0
12
-36
-28
0
0
45
0
39
0
0
-5
64
-38
0
0
1
-1
0
0
0
28
-25
2
0
0
9
15
8
0
0
13
-32
3
0
0
-6
11
-40
0
0
-62
61
55
0
0
43
17
-32
0
0
70
-7
-30
0
0
0
0
0
0
0
-1
-2
-3
0
0
2
1
2
0
0
8
18
1
0
0
-20
40
-4
0
0
-65
-50
13
0
0
-41
8
74
0
0
44
-58
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
-6
1
8
9
3
13
1
-14
-26
-6
3
52
-37
11
35
-7
-34
40
1
-11
31
-11
19
0
28
10
-36
-80
59
-16
84
-50
0
0
0
0
0
-1
-4
3
0
0
0
5
1
4
2
20
-10
-5
-30
8
23
19
30
-1
12
10
24
-12
-50
1
-12
-68
5
13
0
-30
63
-34
43
-3
59
68
10
20
-76
0
0
-2
0
0
-2
-3
0
4
1
15
2
1
-9
1
-9
-48
33
-5
7
-39
24
55
-1
-3
-20
51
-16
37
-10
59
-55
-22
57
9
-23
24
-86
0
-3
92
-46
40
-50
-52
0
-5
0
0
0
-1
-1
0
0
0
-1
0
-8
-3
0
3
3
-13
-4
-2
-24
10
-37
3
6
-38
-57
37
27
3
58
72
-22
-20
-35
18
59
-36
22
17
0
0
0
0
0
0
1
0
0
0
-2
0
0
1
0
0
-3
-1
-3
0
-4
5
4
1
0
3
3
-11
-22
-2
15
-2
-49
8
6
31
-25
9
9
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
3
-1
-18
0
15
-3
-28
24
-3
15
-45
11
-26
40
-10
4
1
12
5
91
29
3
-25
-121
9
-12
12
-32
-15
32
-40
0
0
0
0
0
0
-4
-2
0
0
2
-3
2
5
0
-47
38
40
-3
-42
-9
10
5
42
9
-77
-4
-24
-4
-3
75
-37
4
61
50
48
-33
39
-70
-11
16
17
13
16
-11
3
0
0
0
0
0
2
0
0
0
-13
-4
11
-3
-7
4
12
-41
51
13
-36
13
37
15
-12
12
-47
46
-55
15
-8
-16
-8
13
1
-16
48
11
-36
-18
0
26
10
33
6
0
0
0
0
0
-4
0
-7
0
-1
0
4
-13
-1
0
-3
-2
15
3
8
9
22
0
-37
7
17
-30
11
-12
-20
-16
-26
5
9
14
17
-13
6
-45
-2
0
0
0
0
0
-1
0
0
0
0
1
0
0
3
0
-2
-3
1
0
0
0
-10
13
-6
1
-6
-22
-7
12
-3
23
-5
-2
1
-14
-16
50
-41
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
-1
-6
9
-45
7
0
-7
32
20
-18
-19
-32
-68
34
-9
-32
53
-91
85
33
71
-16
61
-210
67
-15
16
10
48
-28
23
-51
0
0
0
0
0
0
1
1
0
0
0
0
2
0
0
8
-1
29
0
-4
-18
-13
-10
-5
0
-71
13
57
-13
-2
86
38
-14
2
2
17
-16
-18
37
-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
2
-2
0
0
0
6
6
3
6
0
-11
23
3
-12
-6
-42
-22
39
21
-19
5
-21
13
-26
0
10
7
12
-1
-41
-14
45
-19
36
12
-5
24
-24
-34
0
0
0
0
0
0
-1
-1
-1
0
0
3
0
1
0
0
1
0
0
6
0
-4
-6
-9
2
-3
-4
3
0
7
6
-3
-35
-18
16
-3
81
-2
31
-6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
1
-1
3
0
25
4
-7
-3
0
-1
14
1
53
0
-39
19
4
14
0
-31
53
19
-8
0
68
-37
10
14
0
66
15
-30
-38
0
0
0
0
0
0
21
-2
2
-1
0
-5
-6
1
-1
0
7
-30
-2
-11
0
-5
-24
42
-11
0
83
-16
-32
3
0
20
32
-17
1
0
-56
27
-8
12
0
5
-54
-7
-1
0
1
2
-5
0
0
0
2
1
0
0
4
-15
29
-1
0
-10
-21
-35
-10
0
-14
92
-30
-6
0
-26
-72
45
3
0
7
69
-9
-11
0
61
-15
8
18
0
-13
-14
-38
0
0
0
0
0
0
0
-2
-2
2
-1
0
18
-2
15
2
0
-5
-16
-1
3
0
-18
1
-4
0
0
9
35
5
1
0
-13
31
12
39
0
24
-56
18
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
-1
1
0
0
0
-1
7
-6
-1
0
4
17
-5
3
0
21
10
29
1
0
-16
-8
-10
7
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
0
0
-6
-5
-9
0
0
28
-44
9
0
0
-40
3
12
0
0
-36
14
1
0
0
35
37
22
0
0
13
17
-41
0
0
0
0
0
0
0
-3
1
0
0
0
1
12
0
0
0
19
5
-3
0
0
-34
-2
-16
0
0
28
17
3
0
0
-16
5
34
0
0
-6
-64
-20
0
0
15
-47
-7
0
0
1
-1
0
0
0
0
0
0
0
0
-6
14
1
0
0
-28
-5
2
0
0
-6
-10
-13
0
0
23
-22
0
0
0
-29
6
41
0
0
78
17
14
0
0
-10
6
-14
0
0
0
0
0
0
0
-1
0
0
0
0
-3
1
1
0
0
13
-9
-4
0
0
-9
-23
15
0
0
-17
14
-8
0
0
-10
11
13
0
0
-16
43
-17
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-1
0
0
0
0
2
0
0
-2
8
-4
0
0
2
4
4
0
0
-17
-7
-19
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
-4
0
0
0
0
-1
1
0
1
0
25
-31
8
-7
0
37
-41
-10
-35
-1
13
-21
28
-1
-7
-11
105
0
4
20
-27
8
58
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
6
2
0
-2
0
-4
-8
-1
-20
-23
4
37
-12
53
5
17
1
5
-25
71
15
3
-24
71
-19
16
37
-1
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
-3
0
4
0
1
-12
1
1
2
5
1
-3
-18
-3
-5
-18
1
-1
5
9
54
16
0
0
38
1
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
-1
1
0
0
-5
4
4
0
1
-23
40
-7
0
-1
-4
-26
-4
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
1
5
0
0
0
1
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
-1
-1
0
0
-2
9
1
11
-2
0
-39
-8
1
-14
-4
-18
-1
47
19
-14
31
3
50
-48
-3
18
15
-5
55
-10
0
0
0
0
0
0
1
0
1
0
1
-1
1
-1
0
4
-13
-28
39
1
-33
6
-12
19
-8
46
-5
19
21
-36
-63
73
27
-31
-25
26
21
42
16
50
-58
16
48
37
-10
0
0
0
0
0
2
1
2
0
0
-1
1
3
0
3
-16
-7
16
-16
-7
-19
7
20
-24
13
-41
-9
-14
18
0
57
-30
45
55
21
42
80
42
-13
-13
0
0
-17
-1
-1
0
1
1
0
0
2
-1
-1
-1
0
-1
-1
0
3
1
0
-6
-14
-1
-2
-3
22
-31
18
1
-23
35
-10
-23
0
-2
-17
9
-15
-3
-6
23
20
11
0
0
0
0
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
-2
1
2
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
-1
0
0
-1
6
0
0
4
-16
0
-3
1
-16
0
-40
20
-9
-3
-23
17
-6
-9
18
-32
6
-25
40
31
0
-6
41
8
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
1
-1
2
-2
0
0
0
11
-10
0
17
19
16
-81
-11
2
-22
62
56
5
15
8
3
16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
0
4
4
-6
7
20
-6
0
-14
-11
-10
-2
-3
-7
14
10
18
8
9
21
0
-1
0
0
-1
11
-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
2
0
2
-10
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
0
0
0
0
0
3
2
-4
1
0
-9
-3
13
-3
0
25
-37
43
-4
0
-34
-6
-9
32
0
38
9
28
1
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
0
1
-12
-45
1
0
6
36
17
49
0
28
-4
7
-6
0
-33
-40
38
-1
0
21
-11
-18
-15
0
4
8
19
10
0
0
2
0
0
0
-2
0
0
0
0
5
2
-3
0
0
-24
52
13
-6
0
-26
-18
10
-11
0
14
17
23
-19
0
-4
-22
-22
12
0
15
61
40
9
0
-2
-5
-1
0
0
0
0
0
0
0
0
3
-1
0
0
-3
-1
0
0
0
4
-1
4
-3
0
20
5
-3
8
0
4
3
5
5
0
17
-2
12
-13
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
1
0
0
5
0
-2
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
-1
0
0
0
0
0
0
0
0
-3
15
-2
0
0
-4
11
-8
0
0
-27
-42
3
0
0
14
-22
-3
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
9
-25
-1
0
0
4
-1
-2
0
0
70
9
17
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
1
0
0
4
-6
0
0
0
5
-4
-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
-2
-2
-1
0
0
-4
0
-2
0
0
2
1
-1
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
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
-5
11
-13
-6
19
-6
-38
-22
11
27
28
-8
28
-42
20
-82
7
29
-11
38
-2
14
-18
-34
-20
-71
-66
21
102
-6
0
0
0
0
0
-2
0
0
-1
0
-2
-10
-4
-8
0
-34
-68
12
-15
21
-2
7
-32
60
-9
32
7
4
3
10
31
-17
6
-11
12
-12
20
-20
41
-35
-91
-13
-45
45
69
0
0
0
0
0
0
-1
1
2
0
-1
-1
-1
14
7
9
-5
-18
-48
2
-15
-29
16
32
-2
6
15
0
-3
-2
-16
-2
-30
-2
-3
-57
15
-21
39
9
-111
-64
-7
-17
3
0
0
-1
0
0
0
2
-3
2
10
3
2
2
-14
4
-3
-8
-18
4
1
25
15
-1
6
0
-39
10
32
-7
9
67
-7
7
-8
-6
-110
29
74
-4
12
0
0
0
0
0
0
0
-3
-1
0
0
-5
2
0
-4
6
-5
0
-6
-3
-2
-10
-4
2
0
22
-29
-5
6
1
-26
28
-6
11
22
62
14
32
-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
36
-24
-9
-6
8
-22
-23
37
2
-65
-19
-31
5
-14
11
-37
58
-18
0
34
8
-39
22
-12
-52
-42
5
16
53
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-2
0
0
3
-6
-8
4
1
-14
4
-6
-16
-4
2
17
13
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
12
4
-38
1
40
-4
-14
-9
-13
-7
-44
9
45
-7
-49
-50
16
12
-7
-40
7
-71
-13
-27
23
-18
-11
-50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
7
13
-13
-3
0
-31
24
6
-4
1
12
-17
-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
1
0
-37
-2
0
15
-43
-37
-32
0
9
92
-31
-22
0
4
-8
-14
-14
0
25
-45
7
6
0
-13
-28
49
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
1
0
-6
0
0
0
-5
0
0
0
0
4
-4
0
0
9
-12
-4
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
-6
-16
21
0
0
-41
-14
11
0
0
4
-28
-21
0
0
-5
-17
57
0
0
8
51
-3
0
0
13
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
5
-6
0
0
-45
-35
-21
0
0
-62
20
9
0
0
20
26
10
0
0
7
-63
7
0
0
12
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
33
0
0
-21
4
2
0
0
-1
0
16
0
0
2
-5
2
0
0
6
13
12
0
0
3
-34
-4
0
0
0
6
0
0
0
0
0
4
0
0
1
-1
4
0
0
9
1
-1
0
0
-1
21
-2
0
0
0
2
2
0
0
4
-24
-9
0
0
-9
-10
-15
0
0
-5
4
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
-1
-2
0
0
0
-1
0
0
0
0
0
-1
0
0
0
8
-1
0
0
0
-18
-4
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
-2
-28
7
41
0
-49
48
5
-8
16
-5
32
12
-19
-44
11
-59
-37
-18
37
-4
-15
17
-53
6
-40
43
-9
-18
-113
18
-79
-7
77
26
0
0
0
0
0
10
-1
1
2
0
21
6
12
-49
-2
-53
28
-16
-7
-63
-10
-51
-13
26
-9
-51
80
-38
-26
9
31
-19
28
4
3
-63
-46
47
11
74
-126
-44
-10
11
8
2
-2
-3
0
0
-13
-4
2
-18
1
22
-8
-5
-11
-57
-95
-16
15
-30
35
20
10
-3
-8
12
30
-14
9
-10
4
-9
-45
10
16
-20
-32
2
-2
-10
64
-109
8
33
82
77
-2
-2
1
4
3
-13
20
1
8
-6
-42
35
-33
-35
29
38
-11
22
-13
41
13
-10
9
21
-2
-21
-36
25
-54
8
-22
-11
40
22
12
-105
-4
-67
0
-22
0
0
0
0
0
3
-6
1
0
0
-29
-7
3
21
0
-50
22
5
11
-1
-7
-40
25
-21
8
12
6
27
30
-1
-17
-18
-1
-1
-9
-13
67
-15
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-18
-4
1
-9
11
-15
-18
20
31
26
-28
3
-8
63
-99
-3
38
8
-62
13
25
-54
8
37
41
49
15
-71
-35
-31
11
-47
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
-27
4
-1
0
-29
-12
5
0
24
12
-18
-7
0
-7
-17
27
-16
0
-23
-3
10
6
3
0
4
-3
-8
0
0
0
0
0
0
4
0
0
0
0
0
3
-2
0
0
5
7
4
8
0
-7
-2
-18
2
0
0
-18
23
-1
0
32
-10
1
8
0
-33
60
8
-9
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-8
1
0
0
0
-2
-1
0
0
-13
16
11
0
33
9
-1
3
0
2
-11
7
-2
0
0
0
0
0
0
0
0
0
-2
-1
-1
1
3
12
0
5
-10
-7
7
3
1
-36
-4
-34
3
71
-5
11
24
-23
-36
-29
-46
13
-19
18
-23
-4
25
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
4
1
-1
-63
-25
2
-14
-2
-71
-13
-16
3
-10
25
45
16
11
-33
-65
-15
-24
17
-2
-23
-39
6
44
2
87
-64
-130
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-16
0
0
-4
42
-6
23
-1
-7
-88
-26
19
10
1
-29
47
10
-4
0
4
-1
-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
2
0
0
0
0
-3
2
0
0
0
0
-4
0
0
-4
-6
2
-1
0
0
1
0
0
0
0
0
0
0
3
-2
1
3
1
2
-8
3
8
-2
1
20
-26
6
-2
-3
8
2
5
-2
19
15
10
-17
-1
-4
3
48
-5
-31
-73
11
-29
7
6
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
-10
26
-63
8
0
-27
37
58
32
0
26
10
6
-20
0
-29
26
55
30
0
-10
-9
-5
-48
0
-37
31
-48
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-49
4
15
0
32
-31
8
-8
0
-16
-3
-6
40
0
12
16
14
4
0
0
-7
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-1
0
-4
0
-2
-1
0
-11
26
-1
0
0
-2
1
-2
5
0
0
1
0
0
0
0
2
2
-3
0
0
0
1
0
0
0
0
0
0
0
1
0
0
2
0
1
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
0
2
0
0
0
4
-12
0
0
0
3
0
0
0
0
0
0
0
0
-3
-2
1
7
0
39
0
-23
-1
0
-12
27
36
-6
0
2
-24
-29
-8
0
-26
20
-18
-22
0
-10
11
13
30
0
-47
15
53
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-3
0
0
-25
-7
-10
0
0
-20
20
33
0
0
-12
-33
21
0
0
2
4
-1
0
0
5
20
-54
0
0
17
-11
-4
0
0
0
0
0
0
0
-10
-1
-3
0
0
-3
-49
8
0
0
15
-23
-14
0
0
36
44
-36
0
0
41
17
23
0
0
-49
13
-9
0
0
1
-6
-5
0
0
36
43
57
0
0
0
2
0
0
0
-7
5
5
0
0
-23
-37
25
0
0
19
-6
27
0
0
-2
-22
-43
0
0
-49
21
-31
0
0
27
53
40
0
0
-1
-21
8
0
0
-37
-27
38
0
0
-1
-1
-4
0
0
7
-13
-4
0
0
-11
-15
30
0
0
34
-35
-8
0
0
9
29
24
0
0
14
-75
15
0
0
-10
25
-35
0
0
-14
23
4
0
0
0
0
0
0
0
6
4
-1
0
0
-42
-8
6
0
0
8
23
-2
0
0
1
-13
22
0
0
-18
34
0
0
0
12
2
-43
0
0
6
-35
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
-2
0
13
0
23
28
-18
6
-7
-8
-35
36
52
-14
-27
-66
-38
58
-58
3
43
-2
-74
56
45
44
42
-154
115
-30
-18
11
0
0
0
0
0
0
-2
-5
0
0
-9
-2
-1
46
-1
15
-7
-15
7
-20
-51
-30
29
41
6
-57
-24
-48
17
-11
-34
18
69
2
-6
-26
-11
86
-16
17
143
-15
-79
-47
-66
1
0
-1
0
0
1
1
0
7
0
1
2
3
-15
2
30
-16
-4
-2
-5
14
12
-2
24
3
-5
-6
29
-12
4
-15
-86
-8
17
16
-18
-30
-19
13
-11
-36
5
0
-17
9
0
0
-3
-2
0
-1
-5
0
-1
-1
3
0
8
28
-3
-22
17
14
-1
-3
-1
8
-24
28
-2
22
-29
-41
-8
18
-21
46
-1
-31
15
-109
70
5
-2
14
0
0
0
0
0
0
-1
0
0
0
3
1
2
0
-1
2
-12
0
-1
1
1
6
-4
-10
-2
0
-5
0
12
-20
-21
-19
-20
-17
32
21
-28
9
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
0
8
-18
-14
4
-34
46
45
-18
-22
50
32
52
-59
1
-17
48
12
-40
-13
-19
-151
6
31
-11
41
-20
63
-20
-33
1
0
0
0
0
0
0
-1
1
0
0
1
-1
1
1
0
26
9
50
-20
48
23
12
-33
-16
-28
-10
-21
-21
-9
-27
5
33
7
21
4
-51
38
-63
-23
-14
5
15
-33
-49
17
0
-1
1
0
0
-5
1
-6
0
0
10
-14
9
33
1
8
22
-6
-22
4
-32
30
-38
16
-18
17
-3
7
14
4
-41
19
-13
8
13
11
-89
12
17
-8
-3
34
20
-110
35
1
0
0
0
0
1
-3
9
-1
-3
1
15
8
-4
1
4
15
5
-40
5
-10
-9
6
-10
-19
-10
-9
-23
53
-25
-1
-12
38
-16
13
-49
-21
-58
37
27
0
0
0
0
0
0
-1
-2
0
0
-1
-1
-2
0
1
3
1
2
0
1
1
10
-15
-2
0
2
-16
16
-24
3
-20
64
27
-23
-35
-73
18
-39
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
4
-2
3
7
-29
10
6
-46
15
36
-34
9
11
-44
16
20
-71
-26
15
55
50
-22
7
0
-29
-41
11
-137
-46
77
29
-7
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
11
8
4
6
2
-17
-21
-14
-8
7
129
-14
-48
1
15
-47
49
61
12
0
-5
14
-49
-44
-3
0
-34
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
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
-3
1
0
-6
7
14
-11
-5
5
13
-35
1
-1
-3
6
20
-28
-14
0
-10
-12
-8
-26
5
52
-28
29
25
-5
24
10
-12
-50
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
5
3
0
0
4
-22
0
0
0
-8
12
-3
7
-29
22
2
2
1
7
20
-3
3
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
0
-3
15
3
-3
0
26
-23
3
16
0
-28
-16
18
10
0
38
13
-8
35
0
-93
-40
-40
-20
0
-10
0
13
-68
0
0
0
0
0
0
-7
-3
0
0
0
-2
-1
5
-3
0
2
-11
-2
6
0
-5
-14
70
56
0
-30
-30
-24
-35
0
-60
41
-17
-11
0
43
30
-57
-15
0
31
-20
23
-2
0
0
-1
0
0
0
0
0
-4
0
0
3
-11
9
-2
0
24
-41
18
29
0
-8
-5
0
-25
0
-71
-4
-1
-15
0
-35
64
49
-21
0
32
-43
17
15
0
1
-36
43
-9
0
0
0
-1
-8
0
2
3
2
-1
0
-2
-1
-20
-3
0
-16
-16
-4
-6
0
-9
-48
31
13
0
26
27
-63
-9
0
8
-11
31
28
0
31
26
-6
-25
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-1
0
3
-3
0
-1
-4
0
4
0
8
-4
-10
0
0
6
-2
-30
5
0
3
-16
18
4
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
-3
-50
0
0
1
34
4
0
0
6
26
39
0
0
0
7
15
0
0
-52
-40
-47
0
0
40
37
-19
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
7
0
0
17
-4
29
0
0
-10
-45
31
0
0
-6
51
-18
0
0
-8
49
-10
0
0
-65
14
-59
0
0
-46
40
20
0
0
0
0
0
0
0
0
-2
4
0
0
4
-19
0
0
0
-9
31
13
0
0
-36
-28
19
0
0
-28
-49
10
0
0
5
8
-17
0
0
17
-1
5
0
0
-4
15
-20
0
0
0
0
1
0
0
-1
0
0
0
0
-8
-5
-7
0
0
-12
-1
9
0
0
46
-29
-8
0
0
-16
-14
-1
0
0
-14
10
13
0
0
-3
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
-5
1
0
0
0
2
1
0
0
3
0
-1
0
0
6
-1
-9
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
-2
0
-7
0
4
55
-11
8
0
-3
-73
2
1
0
45
65
12
-24
-5
-48
30
27
-19
-1
-22
11
-5
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
7
-5
0
1
3
-23
-21
-2
0
8
8
12
4
1
37
18
2
-39
1
-78
-43
20
43
39
-12
-4
3
-11
2
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
2
0
-5
0
-1
-1
-1
-8
0
-2
7
14
7
0
-3
10
11
9
5
10
-49
59
5
-6
44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-1
1
-7
0
0
0
-10
-7
12
-1
-16
4
10
-2
2
0
-9
-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
1
0
0
0
0
13
0
3
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
1
1
-1
-33
19
-4
6
1
-1
2
52
-28
-10
-12
25
3
37
8
-50
-36
-44
12
-11
4
-17
6
3
1
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
20
-1
-58
3
0
24
-9
-3
28
21
6
-43
10
-3
24
-12
9
40
-32
13
26
38
-76
-59
-5
-19
2
26
28
-15
0
0
0
0
0
0
0
-1
0
0
-3
-9
-1
-6
1
-4
-13
-8
33
-6
-13
2
8
23
-12
5
-22
27
-34
-3
-3
10
33
38
13
29
-31
-45
39
-11
0
0
-34
-5
0
0
0
-2
0
0
1
2
-3
0
0
-1
0
0
-2
-1
0
-2
17
0
3
-14
7
5
0
2
15
-20
-6
-20
-11
36
27
-60
5
-10
5
19
-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
-7
0
0
0
2
0
-3
0
0
-1
-5
-1
1
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
-1
-1
-3
1
1
-1
-9
7
5
25
-52
15
-10
2
32
61
0
-51
17
20
-31
-20
20
3
-11
16
-40
27
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
3
0
0
-6
0
34
0
-18
-7
13
2
15
-5
-13
-4
17
-10
-7
-21
-28
-22
-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
-1
-1
0
0
0
0
0
1
3
12
-4
1
0
2
5
1
17
1
0
4
22
0
-7
3
24
-25
12
-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
5
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
-2
0
-1
-4
11
0
0
15
8
-3
17
0
54
31
13
-2
0
41
12
-6
-5
0
14
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
8
12
24
-11
0
-27
7
3
12
0
67
-68
2
-33
0
29
-31
-24
14
0
-62
10
-8
-4
0
-4
22
-53
-4
0
0
0
0
0
0
0
0
0
0
0
-4
0
-27
0
0
-4
21
0
-8
0
27
-29
32
1
0
-46
-9
-5
-1
0
26
-4
10
14
0
-5
-23
-28
-12
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
12
-6
-3
6
0
6
4
5
-2
0
8
4
-14
2
0
3
17
-10
-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
-1
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
-2
0
0
0
0
1
0
0
5
4
-5
0
0
-7
-36
-3
0
0
6
32
-1
0
0
13
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
1
0
0
0
-21
4
2
0
0
18
7
-1
0
0
-5
3
7
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
4
-4
0
0
0
-1
4
0
0
0
14
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
3
-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
-1
0
20
-3
0
4
0
3
-3
2
0
0
-58
-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
-4
0
-3
0
0
0
0
-1
0
-32
15
13
-1
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
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-10
-3
1
0
0
1
-7
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
1
-8
17
-9
0
-11
61
13
16
1
16
-37
-5
5
-1
-8
-24
5
7
0
0
2
2
6
7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
0
1
0
-1
8
-2
-5
0
6
0
1
1
39
1
7
-3
12
38
-5
0
-8
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
-3
0
0
0
-11
-3
3
0
-9
10
-23
-1
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
-2
0
0
0
0
0
-1
0
0
-3
0
0
0
0
10
0
-5
0
-23
0
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
0
4
0
0
0
0
-2
0
0
-1
-2
2
0
0
4
11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-1
0
0
0
1
-2
0
-54
-4
-1
-1
0
-25
-7
-1
-1
0
43
0
6
0
0
3
-13
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
0
0
-3
-5
3
-3
0
10
1
3
-1
0
-15
-2
17
2
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
-1
0
0
0
0
-1
0
1
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
-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
-205
-107
-176
-116
7
-78
-6
36
28
-93
-13
-38
-47
40
-3
0
50
41
59
-17
-22
-8
-5
-8
-2
33
-5
-11
-32
-17
0
0
-9
-48
-13
-37
62
-34
0
-53
-16
21
-17
-91
40
32
-9
0
18
7
10
-9
-8
0
-17
-44
-11
67
-36
-23
12
-18
0
0
1
-42
-10
-14
71
-22
-4
-63
-15
31
-9
-93
36
52
1
0
-2
4
20
4
-7
3
-5
-39
-3
60
-27
-37
10
-12
0
0
7
50
-46
32
-113
11
-27
46
93
9
97
-44
-6
102
25
0
-12
-107
8
66
37
35
15
7
21
-127
-7
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-19
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-318
-49
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
68
-17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
63
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
3
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-53
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-12
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-90
-51
105
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
-37
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-45
62
0
0
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
73
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-84
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
1
54
16
-108
-25
-8
6
-4
0
0
0
0
0
0
0
0
0
-2
-8
209
-138
-41
1
-8
-1
0
0
0
0
0
0
0
0
0
0
4
-2
-43
-53
-83
1
0
0
0
0
0
0
0
0
0
0
0
0
-38
20
77
20
0
4
0
0
0
0
0
0
0
0
0
0
0
-37
45
-6
-45
-3
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
50
3
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-59
-3
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-34
-63
-21
2
2
0
0
0
0
0
0
0
0
0
0
-5
-4
5
-12
-22
-40
0
0
0
0
0
0
0
0
0
-2
0
14
9
46
-52
-40
-41
-1
0
0
0
0
0
0
0
0
0
-2
0
-27
-9
-23
-48
13
2
0
0
0
0
0
0
0
0
0
0
-10
-2
74
-5
-1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
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
-1
-19
-56
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-19
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-20
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
-6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
76
-95
9
-80
-69
0
0
0
-1
0
0
0
0
0
0
0
-14
-14
-128
-22
66
119
0
0
0
0
0
0
0
0
0
0
0
-16
-63
-23
-19
-7
-106
13
39
0
0
0
0
0
0
0
0
2
31
121
29
2
-45
-3
-87
-14
0
0
0
0
0
0
0
0
0
0
107
12
48
111
40
-43
1
0
0
0
0
0
0
0
0
0
-8
23
1
173
-16
-157
-61
0
0
0
0
0
0
0
0
0
0
0
-20
163
-5
330
-34
-34
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
-118
-82
36
35
-53
0
0
0
0
0
0
0
0
0
0
0
-3
-243
64
30
48
13
0
0
0
0
0
0
0
0
0
0
0
0
-111
-2
48
-62
-3
-4
3
2
0
0
0
0
0
0
0
0
-2
78
-59
-8
21
21
-54
25
0
0
0
0
0
0
0
0
0
-1
-1
156
57
-91
-34
173
24
-2
0
0
0
0
0
0
0
0
0
82
73
-79
-54
-150
117
-45
0
0
0
0
0
0
0
0
0
0
5
-56
13
-84
-62
219
0
0
0
0
0
0
0
0
0
0
0
-98
-6
-49
53
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
57
75
23
-76
0
0
0
0
0
0
0
0
0
0
0
-17
8
37
27
-90
60
0
0
0
0
0
0
0
0
0
0
0
13
-3
-46
86
6
-114
-20
0
0
0
0
0
0
0
0
0
0
9
-16
45
-36
-107
0
-6
2
0
0
0
0
0
0
0
0
-2
0
0
59
18
-10
-19
-19
0
0
0
0
0
0
0
0
0
0
-1
10
-7
-48
-17
-10
0
0
0
0
0
0
0
0
0
0
-4
-1
3
42
37
18
-2
-5
0
0
0
0
0
0
0
0
0
0
-4
-2
7
11
3
-14
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
-11
120
-23
-51
-118
3
32
0
0
0
0
0
0
0
0
0
0
10
48
-27
-36
-65
41
0
0
0
0
0
0
0
0
0
0
0
208
125
-12
-123
0
40
178
-100
-9
0
0
0
0
0
0
0
0
42
105
-105
39
-7
-15
97
-36
-6
0
0
0
0
0
0
0
0
82
-16
83
10
-2
57
19
-31
0
0
0
0
0
0
0
0
0
95
90
89
47
45
19
1
2
0
0
0
0
0
0
0
0
0
-115
124
89
51
101
9
-23
6
0
0
0
0
0
0
0
0
0
153
3
-1
-57
12
-32
23
0
0
0
0
0
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
-74
41
-28
84
0
0
0
-1
0
0
0
0
0
0
0
-2
62
-15
2
107
30
0
0
0
-1
0
0
0
0
0
0
0
13
34
18
72
98
151
-78
55
11
0
0
0
0
0
0
0
0
0
33
-83
33
67
-28
-264
31
0
0
0
0
0
0
0
0
0
0
15
-29
67
50
-103
-277
6
0
0
0
0
0
0
0
0
0
0
40
87
-102
25
-115
-42
-119
0
0
0
0
0
0
0
0
0
0
-2
24
-2
12
55
-226
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-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
-67
33
101
34
80
0
0
0
0
0
0
0
0
0
0
0
-8
-48
-99
12
-80
42
0
0
0
0
0
0
0
0
0
0
0
10
12
43
-68
115
106
0
0
0
0
0
0
0
0
0
0
0
0
20
-67
-89
16
28
0
0
0
0
0
0
0
0
0
0
0
3
22
2
32
47
143
-3
-3
0
0
0
0
0
0
0
0
0
17
2
-131
-30
73
52
-15
0
0
0
0
0
0
0
0
0
0
0
11
-43
4
36
79
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
0
-23
0
0
0
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
8
-118
1
-91
27
0
0
0
0
0
0
0
0
0
0
26
35
6
148
-31
-3
53
0
0
0
0
0
0
0
0
0
0
-3
-21
195
43
54
-69
-3
-3
-2
0
0
0
0
0
0
0
0
0
126
5
-3
98
20
178
9
-98
-1
0
0
0
0
0
0
0
-1
27
-22
-9
-21
161
-62
-41
-16
0
0
0
0
0
0
0
0
20
9
-42
-67
-62
-130
145
-9
-27
3
0
0
0
0
0
0
0
19
-4
-144
7
1
14
-30
-122
54
0
0
0
0
0
0
0
0
-10
2
51
-28
1
-55
-7
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
0
96
-38
1
-22
-32
6
-72
0
0
0
-18
0
-1
0
3
0
0
93
24
-34
13
-4
-6
5
0
0
0
-9
25
0
-1
0
0
0
-18
68
3
-6
16
-27
-26
-55
7
17
-8
5
0
0
0
0
0
-67
38
-4
-1
12
-17
-53
-62
2
52
-15
-1
-18
1
0
-3
0
14
30
5
12
-41
9
-13
0
-26
-9
-4
-25
-9
2
-1
0
0
-41
17
-13
-2
-9
-13
-17
-13
32
-68
4
6
-4
0
-1
3
0
34
71
16
4
31
-11
-31
11
28
-5
13
0
0
-1
0
0
0
79
31
78
122
1
47
-16
-35
-22
33
-2
0
-1
0
0
0
0
-6
-5
10
127
37
-24
-21
6
-36
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
1
-41
53
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
160
40
33
-4
0
0
0
0
0
0
0
0
0
0
0
5
3
-10
105
-5
0
0
0
0
0
0
0
0
0
0
0
0
-13
25
9
87
-40
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-43
96
-72
122
-1
0
0
0
0
0
0
0
0
0
0
0
5
-45
-91
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-39
-81
-9
0
0
0
0
0
0
0
0
0
0
0
0
-9
108
-90
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
5
0
0
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
-2
-3
-1
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
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
7
0
0
0
0
0
0
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
3
3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
56
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
-49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
38
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
-38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
17
-33
44
5
1
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-17
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-64
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
67
67
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-64
-2
10
0
0
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
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
10
0
1
0
0
0
0
0
0
0
0
0
0
-1
4
41
-16
0
46
39
0
0
0
0
0
0
0
0
0
0
-2
-2
5
-6
-26
19
14
-5
0
0
0
0
0
0
0
0
0
6
0
1
-1
24
11
48
0
6
0
0
0
0
0
0
0
0
0
-3
4
-65
31
-93
-3
0
0
0
0
0
0
0
0
0
0
-1
49
10
-17
-20
2
-12
0
-19
0
0
0
0
0
0
0
0
0
-13
-26
-13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
37
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
6
28
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
-2
-31
-20
-8
0
0
0
0
0
0
0
0
0
0
13
55
-1
11
22
-5
-8
1
0
0
0
0
0
0
0
0
0
-64
-12
50
-2
-14
3
-4
0
0
0
0
0
0
0
0
0
-1
0
53
48
-36
-7
21
-12
-3
0
0
0
0
0
0
0
0
0
42
-40
4
6
-4
0
-29
0
0
0
0
0
0
0
0
0
-1
7
-11
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
-34
0
0
0
-2
0
0
0
0
0
0
0
2
29
41
5
76
21
0
0
0
18
6
0
0
0
0
0
0
0
-24
5
-4
-32
-46
-28
-11
40
-7
0
0
0
0
0
0
0
0
-12
39
47
-48
-5
-38
-12
13
0
0
0
0
0
0
0
0
2
-7
-44
50
90
6
13
-3
-28
-11
0
0
0
0
0
0
0
-1
-3
5
17
-54
77
48
24
-19
-1
0
0
0
0
0
0
0
0
0
7
0
56
-2
122
-39
-2
0
0
0
0
0
0
0
0
0
0
0
4
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
3
-108
-66
26
-24
0
0
0
23
0
0
0
0
0
0
0
-3
40
48
-24
-23
9
0
0
0
-1
0
0
0
0
0
0
0
-1
-62
-45
41
-1
-10
16
4
19
0
0
0
0
0
0
0
0
0
-9
-13
22
20
22
-4
-68
5
0
1
0
0
0
0
0
0
2
146
-57
-51
19
4
11
-25
-21
9
0
0
0
0
0
0
0
15
-38
-105
-21
-28
-10
23
-131
66
0
-4
0
0
0
0
0
0
0
4
-47
-80
-31
4
41
-1
5
3
0
1
0
0
0
0
0
0
149
26
-42
-48
34
20
37
20
0
0
0
0
0
0
0
0
0
0
24
-52
19
-10
-43
-54
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
4
15
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
69
50
-22
-28
0
0
0
0
0
0
0
0
0
0
0
0
2
20
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-1
14
32
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
-15
-10
53
1
0
0
0
0
0
0
0
0
0
0
6
-2
-10
-24
120
2
0
0
0
0
0
0
0
0
0
0
0
0
121
-7
120
-93
-59
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-97
11
0
0
0
0
0
0
0
0
0
0
0
6
116
-80
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-70
51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-103
-46
-42
102
-40
0
0
0
0
0
0
0
0
0
0
0
21
-91
100
38
75
77
0
0
0
0
0
0
0
0
0
0
0
39
-16
-152
38
30
13
0
0
0
0
0
0
0
0
0
0
0
0
13
44
-71
24
1
0
0
0
0
0
0
0
0
0
0
0
24
-45
42
18
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-51
-5
1
-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
-1
-3
-21
53
20
50
27
0
0
0
0
0
0
0
0
0
0
0
-4
43
90
39
-4
14
0
0
0
6
0
0
0
0
0
0
0
4
5
70
-8
30
29
-7
-38
12
0
0
0
0
0
0
0
0
-1
-7
-14
7
-61
6
4
-1
20
0
0
0
0
0
0
0
0
-10
0
-92
-135
24
32
10
35
6
0
0
0
0
0
0
0
0
-1
-12
3
33
-58
-20
71
-16
-2
0
0
0
0
0
0
0
0
0
-8
48
15
0
25
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-20
119
21
82
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
14
150
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-38
3
-52
26
-1
0
0
0
0
0
0
0
0
0
0
8
-16
-61
12
-18
-39
-5
0
0
0
0
0
0
0
0
0
0
0
0
75
-51
36
-4
17
0
0
0
0
0
0
0
0
0
0
-2
-1
-39
25
-8
-7
13
0
0
0
0
0
0
0
0
0
0
0
11
0
34
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
-1
107
77
-16
0
0
0
0
0
0
0
0
0
0
0
6
0
29
-109
113
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
-38
4
-103
25
-21
24
4
0
0
0
0
0
0
0
0
8
23
4
-26
17
-23
86
3
-45
0
0
0
0
0
0
0
0
8
0
3
76
62
-4
-22
-86
-14
1
0
0
0
0
0
0
0
-9
0
2
41
-25
39
-41
10
13
7
0
0
0
0
0
0
0
-22
0
-9
-2
-41
48
45
-13
-15
0
0
0
0
0
0
0
0
0
-23
0
0
-2
95
-102
12
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
33
28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-60
-29
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-74
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
132
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
-15
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
-21
-41
2
-1
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-39
34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
18
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-24
23
-58
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-48
-96
-11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
55
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
102
-71
0
0
0
1
0
0
0
0
0
0
0
0
-8
29
-88
44
-126
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-48
20
-53
-139
75
-12
0
0
0
0
0
0
0
0
0
-2
31
58
-132
-3
110
-77
-8
-7
0
0
0
0
0
0
0
0
0
-2
5
53
-30
-57
5
0
0
0
0
0
0
0
0
0
0
0
0
77
17
12
17
-4
4
0
0
0
0
0
0
0
0
0
0
1
-10
11
3
-43
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
8
9
-66
45
0
0
0
-11
0
0
0
0
0
0
0
0
0
11
-32
17
-26
0
0
0
2
0
0
0
0
0
0
0
0
0
14
-35
-48
-23
-1
4
-98
3
0
0
0
0
0
0
0
0
1
-21
-15
-13
5
45
-72
32
5
0
0
0
0
0
0
0
-2
0
37
5
50
-4
5
-81
3
0
0
0
0
0
0
0
0
0
2
0
38
13
52
32
-20
2
0
0
0
0
0
0
0
0
0
0
-3
3
-10
-21
-30
-7
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
-13
43
-21
-14
-50
24
0
0
0
0
0
0
0
0
0
0
-32
-141
45
-45
-75
-4
18
0
0
0
0
0
0
0
0
0
0
9
50
-18
39
62
11
-5
0
0
0
0
0
0
0
0
0
0
-1
-55
70
-63
12
-55
5
4
0
0
0
0
0
0
0
0
0
1
68
98
24
-41
-30
-2
4
0
0
0
0
0
0
0
0
0
0
36
-1
-22
15
5
-7
-1
0
0
0
0
0
0
0
0
0
0
-6
-30
91
14
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
67
3
19
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
31
-53
-11
19
21
-37
0
0
0
-4
0
0
0
0
0
0
-2
-53
38
-31
-2
-55
35
0
0
0
1
-18
0
0
0
0
0
-4
22
40
-127
-44
-128
25
28
122
5
0
0
0
0
0
0
0
-13
52
69
106
19
-18
-14
8
-66
-5
0
0
0
0
0
0
0
0
-22
51
106
51
-10
37
2
7
0
0
0
0
0
0
0
0
0
-10
66
-102
-137
-62
44
-39
0
0
0
0
0
0
0
0
0
0
0
-7
11
14
71
-14
8
2
0
0
0
0
0
0
0
0
0
0
-6
-6
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
-84
-38
-82
-71
-115
0
0
0
-9
-8
0
0
0
0
0
0
-4
-117
84
33
12
-71
0
0
0
0
0
0
0
0
0
0
0
0
-72
-125
75
-35
-71
71
19
3
0
0
0
0
0
0
0
0
-26
108
9
-33
6
68
102
39
0
0
0
0
0
0
0
0
0
-2
48
-116
-13
51
63
-23
-27
-7
0
0
0
0
0
0
0
1
0
19
55
-24
-18
47
-73
7
0
0
0
0
0
0
0
0
0
0
19
-123
-133
124
31
-62
0
0
0
0
0
0
0
0
0
0
0
-20
26
43
46
22
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
32
3
0
0
0
0
0
0
0
0
0
0
-1
-9
-16
55
-44
-51
-127
0
0
0
0
0
0
0
0
0
0
0
-7
6
41
14
97
113
0
0
0
0
0
0
0
0
0
0
-2
-9
-6
85
55
50
-135
-52
0
0
0
0
0
0
0
0
0
0
-2
-6
86
5
-54
-44
5
-1
0
0
0
0
0
0
0
0
-4
-1
-2
52
43
0
52
-31
0
0
0
0
0
0
0
0
0
-1
-1
5
3
-1
-26
30
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-5
5
-20
-3
5
0
0
0
0
0
0
0
0
0
0
0
-1
5
-28
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
6
0
9
-1
0
0
0
0
0
0
0
0
0
0
-5
101
10
78
71
-63
191
0
0
0
0
0
0
0
0
0
0
43
108
-5
47
15
27
0
0
0
0
0
0
0
0
0
0
0
-65
-52
17
72
22
58
46
-100
-87
0
0
0
0
0
0
0
0
-15
-8
-56
-36
46
-71
-69
109
-8
0
0
0
0
0
0
0
0
34
-152
49
72
-53
-48
108
-34
11
-10
0
0
0
0
0
0
0
1
-41
-44
-34
18
67
92
-41
1
0
0
0
0
0
0
0
0
50
169
1
-3
42
-4
6
34
0
0
0
0
0
0
0
0
0
56
-26
-10
-4
-74
-12
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
8
20
7
-58
12
-74
0
0
0
13
0
0
0
0
0
0
0
3
-59
7
-64
-29
-19
0
0
0
-13
0
0
0
0
0
0
0
10
98
4
-94
-74
-44
33
103
2
0
0
0
0
0
0
0
0
-2
66
-83
121
-173
-5
-77
-117
-11
-1
0
0
0
0
0
0
0
0
1
107
91
107
14
-125
3
0
0
0
0
0
0
0
0
0
0
43
33
-75
-12
92
30
-73
0
0
0
0
0
0
0
0
0
0
3
-124
23
-54
4
-49
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
2
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
-57
-34
87
-144
-12
0
0
0
0
0
0
0
0
0
0
0
-12
-15
-2
24
-6
50
0
0
0
0
0
0
0
0
0
0
11
2
41
119
3
67
12
-2
-7
0
0
0
0
0
0
0
0
0
0
0
170
45
-60
53
13
0
0
0
0
0
0
0
0
0
0
0
2
-32
-1
-52
-61
-3
0
0
0
0
0
0
0
0
0
0
19
0
28
-85
-45
44
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-9
49
-19
20
-27
16
61
0
0
0
0
0
0
0
0
0
0
13
-125
-39
48
-13
114
-57
0
0
0
-3
0
0
0
0
0
0
-6
-90
-26
-79
64
51
51
28
-7
-4
0
0
0
0
0
0
0
0
85
7
-23
78
38
71
38
-61
24
0
0
0
0
0
0
0
-1
-9
-8
-40
84
67
2
2
-62
-1
0
0
0
0
0
0
0
7
-3
-66
22
7
75
-35
-38
-55
0
0
0
0
0
0
0
0
2
4
-7
36
43
-43
52
-21
56
0
0
0
0
0
0
0
0
-3
0
8
-13
19
2
-55
1
10
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
-6
-9
38
16
16
-25
-93
0
0
0
14
-43
12
0
6
0
0
-69
44
20
-5
2
5
-23
0
0
0
11
28
-34
-3
-7
-2
0
-8
16
41
13
-26
2
-5
-32
1
50
-18
-28
-17
-18
-1
3
0
-5
6
-7
1
-2
20
36
28
39
69
27
19
-26
-3
1
0
0
-40
39
34
7
20
8
22
37
27
64
-65
-69
54
1
-4
-3
0
-79
37
57
-5
21
14
62
21
-3
-54
-83
-29
-48
23
-6
12
0
-82
2
71
27
26
-13
-1
-83
-31
9
17
74
13
-10
6
0
0
35
36
34
67
14
6
-59
-8
-1
27
-87
-17
-16
0
0
0
0
25
-11
-26
-2
13
35
-81
-29
47
-67
86
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
-104
100
-51
26
0
0
0
0
0
0
0
0
0
0
-1
19
-65
36
2
57
54
0
0
0
0
0
0
0
0
0
0
-1
37
145
-81
30
-12
0
0
3
0
0
0
0
0
0
0
0
8
3
9
-24
38
3
0
0
0
0
0
0
0
0
0
0
0
-18
-108
49
-23
101
72
0
0
0
0
0
0
0
0
0
0
0
17
-19
8
-7
97
0
3
0
0
0
0
0
0
0
0
0
0
-2
-99
-138
-118
32
-6
0
0
0
0
0
0
0
0
0
0
0
-7
137
-80
-4
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
17
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-10
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-1
-10
0
0
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
-1
-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
6
6
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
-9
52
28
-67
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-13
70
-8
0
0
0
0
0
0
0
0
0
0
0
0
-11
-40
112
7
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
108
-34
88
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
66
-27
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-23
-11
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
-7
-23
-57
-20
6
15
0
0
0
0
0
0
0
0
0
0
8
-11
-84
40
-18
-31
-1
0
0
0
0
0
0
0
0
0
0
0
-1
58
50
-59
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
70
92
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-63
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
47
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
64
6
14
0
0
0
0
0
0
0
0
0
0
-2
5
54
-6
-3
69
66
0
0
0
0
0
0
0
0
0
0
-11
-4
65
20
-64
-55
17
17
0
0
0
0
0
0
0
0
0
20
0
14
-212
-24
-19
-56
5
0
0
0
0
0
0
0
0
0
-4
2
-3
28
84
82
-17
0
0
0
0
0
0
0
0
0
0
1
3
-11
11
-28
23
-13
0
-4
0
0
0
0
0
0
0
0
0
11
-6
9
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
8
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
2
0
-6
6
-4
31
25
0
0
0
0
0
0
0
0
0
0
0
-1
90
-55
68
-84
56
0
0
0
0
0
0
0
0
0
0
0
-38
-8
-3
-27
-22
-19
38
0
0
0
0
0
0
0
0
0
-3
29
52
11
-4
60
13
-17
-1
0
0
0
0
0
0
0
0
0
67
-7
-15
-18
47
24
-42
2
-1
0
0
0
0
0
0
0
68
9
56
-4
-43
-44
51
-1
2
0
0
0
0
0
0
0
0
0
10
15
18
-31
11
1
-10
0
0
0
0
0
0
0
0
0
-1
-4
7
4
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
-1
-17
-44
20
-1
0
0
0
2
-4
-2
0
0
0
0
0
26
85
29
27
75
-23
0
0
0
-26
23
0
0
0
0
0
12
11
-15
37
51
33
-6
25
3
-65
22
2
0
0
0
0
0
0
-18
-9
2
22
-60
-16
-26
29
31
11
0
0
0
0
0
0
0
15
-46
18
-85
-49
-26
-128
12
-24
-3
7
0
0
0
0
0
0
-5
21
140
-25
-35
60
33
154
86
8
0
0
0
0
0
0
0
0
0
-146
24
43
-3
46
17
-1
0
0
0
0
0
0
0
0
-10
0
0
2
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
73
23
14
-5
27
0
0
0
103
9
0
-1
0
0
0
0
-1
3
3
46
86
24
0
0
0
-43
-33
0
0
0
0
0
0
-4
48
-77
6
28
24
-30
-69
-33
27
48
1
0
0
0
0
0
-3
-16
-67
27
42
20
22
49
38
5
34
0
3
0
0
0
0
2
-15
21
33
26
33
54
-27
6
-17
-6
0
0
0
0
0
0
22
-98
-2
3
-21
63
73
-19
86
30
10
1
0
0
0
0
0
0
5
124
61
-19
13
-68
-43
25
47
-8
0
0
0
0
0
0
0
-21
34
111
5
-79
-38
13
26
0
-2
0
0
0
0
0
0
0
0
53
-40
-7
-40
-15
-98
14
9
0
0
0
0
0
0
0
0
0
0
-7
87
116
0
0
0
9
0
0
0
0
0
0
0
0
0
-3
7
-142
7
0
0
0
-2
1
0
0
0
0
0
0
0
0
-14
0
38
-63
74
54
38
0
0
0
0
0
0
0
0
0
0
2
-14
19
-7
-8
-2
-10
0
0
0
0
0
0
0
0
0
0
0
-3
19
-17
63
37
0
0
0
0
0
0
0
0
0
0
0
-7
32
9
-34
12
-1
0
0
0
0
0
0
0
0
0
0
0
-17
18
-12
-43
12
-4
-1
0
0
0
0
0
0
0
0
0
0
17
-11
35
-37
-41
-6
33
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-35
43
0
0
0
0
0
0
0
0
0
0
0
21
65
84
-43
0
0
0
2
0
0
0
0
0
0
0
0
-4
-90
-48
105
-7
0
0
0
-1
0
0
0
0
0
0
0
0
-5
-27
140
132
20
36
-127
30
-6
0
0
0
0
0
0
0
0
4
3
60
-85
-21
27
27
2
0
0
0
0
0
0
0
0
0
0
5
-69
88
-13
-1
0
2
0
0
0
0
0
0
0
0
0
0
15
59
-38
-78
-76
4
0
0
0
0
0
0
0
0
0
0
0
38
-16
86
-23
-69
14
0
0
0
0
0
0
0
0
0
0
0
1
-9
-15
25
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
-9
-30
-61
85
13
118
52
0
0
0
11
0
0
0
0
0
0
13
-10
55
81
51
27
29
0
0
0
45
0
0
0
0
0
0
19
27
96
-39
16
60
43
44
-57
78
-2
0
0
0
0
0
0
0
1
-62
9
-127
12
2
-100
59
49
0
0
0
0
0
0
0
0
8
-23
-55
37
-7
-49
-13
25
12
3
0
0
0
0
0
0
0
25
-24
73
15
15
-59
53
73
7
0
0
0
0
0
0
0
0
1
-18
-2
26
35
-94
59
8
0
0
0
0
0
0
0
0
0
0
4
0
8
-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
2
1
0
-20
23
30
0
0
0
0
0
0
0
0
0
0
0
3
0
-32
-33
-61
197
8
0
0
0
0
0
0
0
0
0
0
0
-20
2
51
22
12
18
65
11
9
0
0
0
0
0
0
0
0
0
23
-44
-89
102
62
13
-3
0
0
0
0
0
0
0
0
0
0
10
-24
44
-15
-100
-8
1
0
0
0
0
0
0
0
0
0
0
19
-1
-109
43
35
-8
7
0
0
0
0
0
0
0
0
0
0
0
-5
-1
19
-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
-1
-2
-1
68
180
-31
0
0
0
0
0
0
0
0
0
0
3
19
-5
72
19
6
-18
0
0
0
-4
0
0
0
0
0
0
0
-7
-4
-16
63
110
-6
20
38
1
0
0
0
0
0
0
0
-5
32
26
98
12
-19
-17
-91
85
25
0
0
0
0
0
0
0
0
18
-4
3
-39
66
-122
123
-9
-2
-4
0
0
0
0
0
0
0
-12
-9
1
-104
-21
-35
-73
15
-41
6
0
0
0
0
0
0
0
-3
0
-18
-3
-10
12
13
62
-4
0
0
0
0
0
0
0
0
0
-7
0
12
-39
-10
16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
45
28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-60
-33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-72
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
134
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-41
2
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-39
34
17
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
0
0
0
0
0
-1
-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
18
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-23
28
-58
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-41
-93
-11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
59
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
26
104
-77
0
0
0
1
0
0
0
0
0
0
0
0
-8
27
-90
40
-124
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
20
-52
-136
77
-12
0
0
0
0
0
0
0
0
0
-2
31
56
-129
-2
113
-75
-8
-7
0
0
0
0
0
0
0
0
0
-2
3
57
-28
-53
5
0
0
0
0
0
0
0
0
0
0
0
0
78
17
12
17
-4
4
0
0
0
0
0
0
0
0
0
0
1
-10
11
3
-41
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
8
9
-68
48
0
0
0
-11
0
0
0
0
0
0
0
0
0
10
-34
14
-23
0
0
0
2
0
0
0
0
0
0
0
0
0
15
-33
-45
-18
-4
5
-97
3
0
0
0
0
0
0
0
0
1
-21
-17
-12
0
46
-66
33
6
0
0
0
0
0
0
0
-2
0
37
9
53
-1
4
-88
3
0
0
0
0
0
0
0
0
0
2
0
38
12
55
36
-24
2
0
0
0
0
0
0
0
0
0
0
-3
3
-11
-21
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
45
-14
-13
-51
24
0
0
0
0
0
0
0
0
0
0
-31
-144
42
-47
-74
-4
18
0
0
0
0
0
0
0
0
0
0
8
49
-20
37
62
12
-5
0
0
0
0
0
0
0
0
0
0
-1
-55
73
-60
11
-55
5
4
0
0
0
0
0
0
0
0
0
1
68
98
26
-42
-27
-2
4
0
0
0
0
0
0
0
0
0
0
34
0
-22
14
5
-8
-1
0
0
0
0
0
0
0
0
0
0
-6
-27
88
14
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
67
3
19
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
29
-52
-7
21
21
-31
0
0
0
-4
0
0
0
0
0
0
-2
-53
31
-34
11
-41
25
0
0
0
1
-18
0
0
0
0
0
-4
24
46
-141
-52
-136
31
30
121
5
0
0
0
0
0
0
0
-13
52
67
117
6
-28
-15
7
-72
-5
0
0
0
0
0
0
0
0
-20
49
109
55
-7
34
1
7
0
0
0
0
0
0
0
0
0
-10
61
-100
-152
-60
47
-39
0
0
0
0
0
0
0
0
0
0
0
-7
11
13
72
-13
8
2
0
0
0
0
0
0
0
0
0
0
-6
-6
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
-84
-47
-93
-74
-107
0
0
0
-9
-8
0
0
0
0
0
0
-4
-117
88
42
3
-63
0
0
0
0
0
0
0
0
0
0
0
0
-73
-135
76
-54
-69
69
19
3
0
0
0
0
0
0
0
0
-26
106
18
-37
5
75
98
40
0
0
0
0
0
0
0
0
0
-2
45
-124
-13
46
67
-21
-25
-7
0
0
0
0
0
0
0
1
0
21
56
-29
-9
53
-76
6
0
0
0
0
0
0
0
0
0
0
18
-128
-129
136
32
-62
0
0
0
0
0
0
0
0
0
0
0
-20
30
47
45
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
3
0
0
0
0
0
0
0
0
0
0
-1
-9
-16
55
-46
-50
-117
0
0
0
0
0
0
0
0
0
0
0
-8
4
32
4
105
118
0
0
0
0
0
0
0
0
0
0
-2
-9
-6
82
57
53
-131
-51
0
0
0
0
0
0
0
0
0
0
-2
-6
85
7
-51
-42
5
-1
0
0
0
0
0
0
0
0
-4
-1
-2
51
43
-3
50
-28
0
0
0
0
0
0
0
0
0
-1
-1
5
3
-5
-25
28
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-5
5
-18
-3
5
0
0
0
0
0
0
0
0
0
0
0
-1
5
-33
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
6
0
9
-1
0
0
0
0
0
0
0
0
0
0
-5
90
2
69
96
-68
200
0
0
0
0
0
0
0
0
0
0
42
119
-3
50
17
13
0
0
0
0
0
0
0
0
0
0
0
-69
-61
18
95
32
62
31
-96
-87
0
0
0
0
0
0
0
0
-23
-13
-58
-42
68
-66
-67
114
-10
0
0
0
0
0
0
0
0
29
-159
43
69
-65
-50
106
-32
11
-10
0
0
0
0
0
0
0
2
-35
-48
-36
33
71
93
-40
1
0
0
0
0
0
0
0
0
48
185
-10
-2
42
-10
10
31
0
0
0
0
0
0
0
0
0
50
-27
-7
-3
-72
-11
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
8
21
7
-65
25
-75
0
0
0
13
0
0
0
0
0
0
0
3
-62
10
-60
-33
-14
0
0
0
-12
0
0
0
0
0
0
0
10
105
11
-112
-69
-54
36
97
5
-1
0
0
0
0
0
0
0
-2
64
-89
117
-183
5
-74
-126
-11
-1
0
0
0
0
0
0
0
0
1
102
92
104
16
-127
3
0
0
0
0
0
0
0
0
0
0
42
35
-71
-10
95
32
-72
0
0
0
0
0
0
0
0
0
0
3
-126
18
-53
4
-49
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
2
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
-55
-33
88
-146
-10
0
0
0
0
0
0
0
0
0
0
0
-12
-15
-8
29
-12
52
0
0
0
0
0
0
0
0
0
0
11
2
44
127
9
62
11
-2
-7
0
0
0
0
0
0
0
0
0
0
0
176
47
-81
51
13
0
0
0
0
0
0
0
0
0
0
0
2
-43
-9
-41
-63
-3
0
0
0
0
0
0
0
0
0
0
19
0
34
-83
-44
43
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-10
48
-23
26
-35
16
69
0
0
0
0
0
0
0
0
0
0
13
-135
-46
43
-16
122
-66
0
0
0
-3
0
0
0
0
0
0
-6
-89
-32
-80
59
65
50
29
-7
-4
0
0
0
0
0
0
0
0
81
5
-25
92
42
82
40
-53
27
0
0
0
0
0
0
0
-1
-7
-9
-48
86
78
2
8
-57
-1
0
0
0
0
0
0
0
7
-1
-61
23
0
86
-53
-40
-56
0
0
0
0
0
0
0
0
2
4
-7
40
41
-57
51
-15
56
0
0
0
0
0
0
0
0
-3
0
8
-13
17
2
-55
1
10
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
-12
-18
25
22
34
-33
-78
0
0
0
23
-43
12
0
6
0
0
-77
10
23
8
1
38
-12
0
0
0
12
21
-34
-3
-7
-2
0
-9
13
36
12
7
13
1
7
22
55
-14
-25
-17
-19
-1
3
0
-7
-7
-16
10
1
47
72
33
69
72
25
21
-23
-3
1
0
0
-32
45
31
-5
30
-3
11
32
36
50
-60
-68
57
1
-4
-3
0
-78
39
63
-9
16
16
70
12
-19
-48
-76
-28
-47
22
-6
12
0
-87
-10
84
35
29
-20
-16
-57
-34
-3
18
73
13
-10
6
0
0
29
33
26
61
10
-1
-74
-13
11
32
-86
-20
-15
0
0
0
0
26
-9
-26
-21
12
46
-92
-35
47
-72
87
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
-111
96
-53
28
0
0
0
0
0
0
0
0
0
0
-1
17
-73
31
-1
63
55
0
0
0
0
0
0
0
0
0
0
-1
40
159
-108
30
-12
0
0
3
0
0
0
0
0
0
0
0
8
1
5
-41
40
4
0
0
0
0
0
0
0
0
0
0
0
-18
-110
52
-13
99
69
0
0
0
0
0
0
0
0
0
0
0
17
-16
12
-6
105
0
3
0
0
0
0
0
0
0
0
0
0
-2
-96
-134
-120
33
-6
0
0
0
0
0
0
0
0
0
0
0
-7
135
-78
-4
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
17
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-10
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
-10
0
0
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
-1
-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
7
5
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
53
30
-71
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-23
72
-8
0
0
0
0
0
0
0
0
0
0
0
0
-11
-41
114
6
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
112
-31
86
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
66
-27
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-22
-11
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
-7
-23
-52
-22
5
15
0
0
0
0
0
0
0
0
0
0
8
-11
-87
43
-23
-28
-1
0
0
0
0
0
0
0
0
0
0
0
-1
59
46
-57
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
70
90
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-63
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
48
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
22
1
66
7
13
0
0
0
0
0
0
0
0
0
0
-2
7
54
-10
-4
70
68
0
0
0
0
0
0
0
0
0
0
-11
-4
64
28
-69
-56
17
17
0
0
0
0
0
0
0
0
0
19
0
14
-220
-29
-20
-58
5
0
0
0
0
0
0
0
0
0
-4
2
-4
35
78
86
-17
0
0
0
0
0
0
0
0
0
0
1
2
-10
16
-25
23
-13
0
-4
0
0
0
0
0
0
0
0
0
10
-6
9
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
7
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
2
0
-6
6
-4
29
27
0
0
0
0
0
0
0
0
0
0
0
-1
89
-54
69
-88
55
0
0
0
0
0
0
0
0
0
0
0
-39
-8
-2
-28
-23
-19
39
0
0
0
0
0
0
0
0
0
-3
35
52
8
-5
65
11
-17
-1
0
0
0
0
0
0
0
0
0
65
-2
-17
-17
44
25
-42
1
-1
0
0
0
0
0
0
0
66
7
59
-7
-38
-44
50
-3
2
0
0
0
0
0
0
0
0
0
9
15
24
-32
9
1
-10
0
0
0
0
0
0
0
0
0
-1
-4
8
4
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
21
1
0
0
0
3
-4
-2
0
0
0
0
0
25
80
25
20
85
-3
0
0
0
-30
21
0
0
0
0
0
12
7
-16
45
53
33
-10
9
-4
-68
16
2
0
0
0
0
0
0
-18
-6
-1
23
-60
-22
-13
35
38
12
0
0
0
0
0
0
0
15
-47
29
-87
-50
-23
-147
8
-22
-3
7
0
0
0
0
0
0
-5
19
139
-22
-33
66
37
161
81
8
0
0
0
0
0
0
0
0
0
-142
28
42
-4
42
16
-1
0
0
0
0
0
0
0
0
-10
0
0
2
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
77
31
28
-12
19
0
0
0
102
9
0
-1
0
0
0
0
-1
-5
3
61
96
10
0
0
0
-43
-34
0
0
0
0
0
0
-4
51
-95
13
24
41
-42
-74
-31
29
48
1
0
0
0
0
0
-3
-14
-71
38
48
14
16
43
38
7
34
0
3
0
0
0
0
2
-26
5
18
30
34
56
-22
9
-19
-6
0
0
0
0
0
0
22
-93
0
-15
-30
68
89
-6
81
32
10
1
0
0
0
0
0
0
5
144
56
15
19
-92
-42
29
49
-8
0
0
0
0
0
0
0
-21
36
116
16
-83
-50
12
29
0
-2
0
0
0
0
0
0
0
0
55
-41
-12
-38
-18
-96
14
9
0
0
0
0
0
0
0
0
0
0
-7
84
116
0
0
0
9
0
0
0
0
0
0
0
0
0
-3
6
-144
12
0
0
0
-2
1
0
0
0
0
0
0
0
0
-14
1
37
-63
75
53
39
0
0
0
0
0
0
0
0
0
0
2
-13
16
-8
-8
-2
-10
0
0
0
0
0
0
0
0
0
0
0
-3
19
-17
63
35
0
0
0
0
0
0
0
0
0
0
0
-7
34
8
-34
10
-1
0
0
0
0
0
0
0
0
0
0
0
-17
17
-11
-42
9
-4
-1
0
0
0
0
0
0
0
0
0
0
17
-9
38
-42
-42
-12
33
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-36
43
0
0
0
0
0
0
0
0
0
0
0
22
56
81
-44
0
0
0
2
0
0
0
0
0
0
0
0
-4
-89
-48
110
-7
0
0
0
-1
0
0
0
0
0
0
0
0
-5
-25
151
143
20
37
-126
29
-6
0
0
0
0
0
0
0
0
4
3
53
-95
-21
27
28
1
0
0
0
0
0
0
0
0
0
0
6
-73
106
-13
-3
0
2
0
0
0
0
0
0
0
0
0
0
15
64
-39
-81
-73
4
0
0
0
0
0
0
0
0
0
0
0
39
-16
83
-20
-70
14
0
0
0
0
0
0
0
0
0
0
0
1
-13
-15
24
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
-9
-31
-67
91
4
117
62
0
0
0
10
0
0
0
0
0
0
13
-8
59
74
55
27
40
0
0
0
46
0
0
0
0
0
0
19
22
95
-39
20
54
39
63
-70
79
-2
0
0
0
0
0
0
0
1
-59
7
-134
24
-5
-108
55
47
0
0
0
0
0
0
0
0
8
-24
-48
46
-3
-52
-6
19
13
3
0
0
0
0
0
0
0
28
-24
76
12
11
-72
50
77
7
0
0
0
0
0
0
0
0
1
-18
-4
28
23
-93
59
8
0
0
0
0
0
0
0
0
0
0
4
0
8
-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
2
1
0
-20
21
26
1
0
0
0
0
0
0
0
0
0
0
3
0
-32
-28
-67
194
5
0
0
0
0
0
0
0
0
0
0
0
-20
2
51
21
20
16
65
11
9
0
0
0
0
0
0
0
0
0
22
-46
-90
102
59
14
-5
0
0
0
0
0
0
0
0
0
0
10
-21
42
-15
-100
-6
1
0
0
0
0
0
0
0
0
0
0
19
-1
-103
42
32
-8
7
0
0
0
0
0
0
0
0
0
0
0
-6
-1
17
-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
-1
-2
-1
70
175
-31
0
0
0
0
0
0
0
0
0
0
3
17
-5
73
27
6
-22
0
0
0
-4
0
0
0
0
0
0
0
-7
-4
-15
67
119
1
27
39
1
0
0
0
0
0
0
0
-4
28
22
96
13
-18
-8
-96
83
23
0
0
0
0
0
0
0
0
18
-4
3
-37
68
-135
118
-12
-3
-4
0
0
0
0
0
0
0
-12
-9
1
-111
-23
-27
-73
28
-40
6
0
0
0
0
0
0
0
-3
0
-19
-3
-11
8
8
65
-3
0
0
0
0
0
0
0
0
0
-7
0
11
-39
-8
15
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
4
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
23
9
-3
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
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
14
-16
-38
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
41
-2
3
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
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
-15
-11
21
-39
-16
4
0
0
0
0
0
0
0
0
0
0
3
-11
-37
0
-5
5
13
0
0
0
0
0
0
0
0
0
0
-3
-2
29
8
14
-9
1
-1
0
0
0
0
0
0
0
0
0
-2
0
20
3
-25
-13
-1
5
0
0
0
0
0
0
0
0
0
0
2
35
17
-15
6
0
4
1
0
0
0
0
0
0
0
0
0
-2
7
-10
4
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
3
-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
0
0
4
1
1
1
28
28
0
0
0
0
0
0
0
0
0
0
-2
-1
3
7
41
-12
-99
0
0
0
0
0
0
0
0
0
0
-1
1
24
-17
-17
-5
13
0
-13
1
0
0
0
0
0
0
0
0
0
-5
60
15
1
-2
5
-5
8
0
0
0
0
0
0
0
0
0
0
11
5
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
-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
3
-22
7
31
0
0
0
0
0
0
0
0
0
0
0
0
4
26
28
-45
23
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-3
1
18
-3
1
0
0
0
0
0
0
0
0
0
0
1
4
-5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
0
-14
-5
0
2
0
0
0
0
0
0
0
0
0
0
-1
9
23
7
0
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
-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
6
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
13
3
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-26
54
25
-2
0
0
0
0
0
0
0
0
0
0
23
59
-3
35
76
-87
0
0
0
0
0
0
0
0
0
0
0
0
2
38
35
-55
7
-97
31
-2
0
0
0
0
0
0
0
0
-2
4
-5
5
26
27
48
12
0
0
0
0
0
0
0
0
0
-21
0
-50
-22
-8
5
-1
10
0
0
0
0
0
0
0
0
0
-1
-7
-5
37
31
34
-3
-6
-1
0
0
0
0
0
0
0
0
0
22
1
23
41
-2
-2
6
0
0
0
0
0
0
0
0
0
5
-4
1
5
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
-1
-3
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
34
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
2
12
1
-3
-18
-60
33
-12
-5
0
0
0
0
0
0
0
0
1
-9
-5
-5
-8
-15
-8
2
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
5
1
0
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
0
10
0
-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
0
-3
0
1
-2
-1
-1
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
-2
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-21
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
21
15
11
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
4
-6
10
0
0
-3
0
0
0
0
0
0
0
0
0
7
-3
2
4
-2
1
26
0
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
1
0
0
1
4
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
71
-16
-18
46
70
83
0
0
0
-11
-53
3
0
0
0
0
20
-106
19
70
-37
19
61
0
0
0
-12
-3
-3
-1
0
-1
0
35
94
-54
-48
163
62
154
45
-1
34
9
0
6
-2
0
2
0
-44
27
57
0
19
43
-81
28
12
-3
3
11
-8
0
1
0
0
-41
-112
-12
-14
-27
-74
-55
-12
-26
-32
33
-10
2
0
0
0
0
-50
4
-34
-34
-38
27
-4
-8
-69
-27
-29
-2
2
1
-1
0
0
-15
9
-22
34
-52
20
-27
81
23
-71
-4
5
-7
0
0
0
0
0
-59
-18
27
23
-14
17
-28
57
-5
-14
-3
-2
0
0
0
0
2
0
6
16
-44
-17
4
-73
-3
-43
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
8
-38
1
1
0
0
0
0
0
0
0
0
0
0
0
0
57
-17
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
-42
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
116
48
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
-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
-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
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
-3
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
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
-8
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-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
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
2
1
8
0
3
4
0
0
0
0
0
0
0
0
0
0
-1
0
4
-50
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
14
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
2
14
4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-11
-7
0
3
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-16
0
0
0
0
-1
0
0
0
0
0
0
2
-13
1
-21
12
47
0
0
0
0
1
0
0
0
0
0
0
-3
7
48
20
-28
-2
14
4
-47
0
0
0
0
0
0
0
0
-2
11
-10
-24
5
8
-27
9
-5
-3
0
0
0
0
0
0
0
0
-3
28
20
-16
14
-11
0
4
0
0
0
0
0
0
0
0
0
0
10
-24
-2
8
0
6
0
-1
0
0
0
0
0
0
0
0
0
12
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
63
-28
-50
0
0
0
8
1
0
0
0
0
0
0
0
-12
-25
-26
-86
-23
0
0
0
5
-1
0
0
0
0
0
0
0
14
9
-45
-48
7
7
-27
-8
10
10
1
0
0
0
0
0
0
-12
50
19
9
25
29
3
-71
12
-4
0
0
0
0
0
0
0
0
-35
-84
105
61
21
67
33
-12
0
0
0
0
0
0
0
0
-6
-5
17
-27
-46
4
27
20
14
3
0
0
0
0
0
0
0
0
20
19
88
-53
-11
7
21
11
-1
0
0
0
0
0
0
0
0
-3
-31
17
25
76
-27
-4
2
-1
0
0
0
0
0
0
0
0
1
0
-7
-15
-10
-4
-1
2
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
-3
4
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-1
1
2
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
0
0
0
0
0
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
-1
-4
-1
0
-4
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
-24
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
39
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
-14
9
8
-1
2
0
0
0
0
0
0
0
0
0
0
3
-13
-8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
5
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
-1
19
3
-27
-37
0
0
0
1
0
0
0
0
0
0
0
4
-11
-24
2
-29
-21
0
0
0
-1
0
0
0
0
0
0
4
0
-1
13
-7
-14
-29
28
-27
31
0
0
0
0
0
0
0
0
2
2
1
-7
13
-26
-4
9
2
0
0
0
0
0
0
0
0
0
7
25
29
15
11
-2
-2
1
2
0
0
0
0
0
0
0
1
-1
24
-1
-10
-5
-9
7
1
0
0
0
0
0
0
0
0
2
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
4
-3
0
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
3
-7
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-2
-1
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
0
1
-8
0
3
-8
0
1
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
22
96
-4
-31
5
87
0
0
95
-3
13
-23
-49
-30
74
0
0
99
13
19
-29
-50
-27
64
0
0
-1
12
33
-7
-17
-18
-118
0
0
10
-2
92
31
12
27
4
0
0
-2
-1
4
-3
1
-27
-3
0
0
-7
-4
-26
-24
-9
-9
-1
0
0
36
-6
-14
53
-6
36
19
0
0
0
0
0
0
0
0
0
0
0
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
-6
-117
-31
-103
0
-69
-11
-28
24
-94
-90
-23
0
0
0
0
0
0
-43
0
0
-1
0
0
1
-7
10
-4
0
0
-91
0
12
35
-54
117
0
8
-28
0
0
-244
18
60
0
0
-26
0
0
1
-106
0
0
1
-51
-7
-2
-63
-45
11
0
0
0
-7
-1
-1
-11
-11
-58
-121
-137
-28
-120
-17
44
-40
0
0
0
0
0
0
5
0
0
-34
-25
0
-1
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
1
13
46
42
-39
-4
-28
80
89
68
78
59
0
0
-193
-135
-54
-90
-1
-68
-12
-16
0
-75
6
-19
22
55
0
0
-10
10
7
4
-118
-51
-24
-24
31
-97
165
8
-9
185
0
0
-13
-5
-4
-94
73
193
-2
29
-23
41
-5
140
147
98
0
0
50
12
25
-29
99
12
19
45
-55
-6
91
91
104
82
0
0
253
0
-13
-79
134
14
-136
34
-13
-105
62
119
72
17
0
0
0
0
0
0
82
0
-1
122
64
-8
-125
134
279
0
0
0
0
0
0
0
0
0
0
0
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
19
-151
-40
21
2
8
34
-119
-162
8
-14
3
0
0
4
0
0
0
-38
3
-1
-44
0
0
4
-22
2
-4
0
0
57
-29
3
60
14
93
-3
41
20
0
-1
-100
-36
12
0
0
-22
0
-5
18
-40
-34
-24
-5
42
-27
12
17
-49
-68
0
0
-33
-4
-5
-1
-98
-50
-83
28
21
-33
39
-14
88
-40
0
0
-1
0
0
0
-1
0
-4
-11
37
0
3
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-1
-4
35
162
36
0
66
-7
56
18
57
94
21
0
0
-59
-26
-134
-90
-54
-56
5
-13
0
-56
-62
-46
-40
-54
0
0
-21
14
3
4
7
-2
144
-35
-39
11
-151
55
-42
-238
0
0
34
-6
-17
-143
33
-21
-31
-25
-58
-132
-67
-11
-38
-26
0
0
23
-14
83
94
59
-9
-11
44
12
18
-44
36
59
49
0
0
142
0
-19
-2
2
147
160
82
4
-86
-17
101
85
45
0
0
0
0
0
1
93
0
129
54
113
8
83
103
-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
0
0
0
0
0
0
0
0
0
-35
-6
20
-149
-37
22
2
13
35
-122
-161
18
-11
-7
0
0
4
0
0
0
-39
3
-1
-44
0
0
4
-21
2
-4
0
0
60
-29
3
61
14
95
-3
44
16
0
-1
-94
-32
12
0
0
-23
0
-5
15
-41
-33
-23
-4
49
-25
12
16
-42
-67
0
0
-32
-4
-5
-1
-97
-50
-80
34
23
-34
36
-10
89
-35
0
0
-1
0
0
0
-1
0
-4
-11
37
0
3
3
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-1
-4
38
184
35
20
92
-8
57
19
54
93
24
0
0
-47
-27
-141
-95
-34
-43
-12
-13
0
-28
-43
-53
-39
-65
0
0
-21
14
3
4
4
2
158
-41
-50
12
-162
63
-45
-251
0
0
31
-6
-17
-145
40
-25
-30
-27
-57
-133
-65
-38
-56
-39
0
0
32
-14
81
93
63
-17
-5
37
21
17
-44
19
50
55
0
0
145
0
-18
-1
5
146
185
115
14
-80
-12
85
90
34
0
0
0
0
0
1
93
0
135
55
105
8
80
113
-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
9
1
4
-2
-2
33
0
4
-2
-4
-12
2
9
-17
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
16
-2
-1
-6
0
0
0
-1
3
0
0
0
1
0
0
0
-8
0
-2
-1
0
0
0
0
-1
2
0
0
-1
0
0
0
0
1
0
2
3
0
1
1
-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
-1
0
0
9
-12
2
86
-136
21
4
-6
-25
-52
-9
0
0
15
0
7
-4
118
61
-57
-1
0
94
60
-93
21
73
0
0
0
0
0
0
3
0
19
-27
71
-1
6
-5
6
1
0
0
1
0
0
0
39
10
44
45
4
-13
-19
-4
-49
15
0
0
19
0
4
0
0
-3
83
-76
-64
-10
86
12
-4
-19
0
0
3
0
0
0
13
6
50
14
-37
5
21
-72
3
-18
0
0
0
0
0
0
2
0
22
-5
1
0
0
5
0
0
6
-1
-1
-1
-5
-2
-2
-18
-2
0
1
-2
-2
0
6
5
5
7
16
8
6
-5
1
-11
-4
-7
-15
7
3
1
0
4
3
-2
-6
-5
12
6
3
-7
0
-10
-6
-10
-20
6
2
0
-1
3
2
-3
-5
-11
9
0
-13
-23
3
-10
26
13
1
14
-11
4
6
-1
-10
2
10
20
35
17
29
-1
-37
46
10
18
32
32
42
2
2
14
-9
-11
3
-1
0
5
-2
-1
7
-2
18
-7
-19
-20
-12
-40
-28
-2
-2
-8
-16
8
-1
9
10
22
-2
-2
-6
-6
-46
37
71
59
16
-16
35
15
16
13
16
21
10
0
2
12
-11
-1
-6
-24
11
0
1
15
0
35
3
-3
-21
-3
-23
8
-5
-15
4
-25
11
7
14
13
22
7
-19
-9
-24
-10
13
13
-5
2
24
34
13
0
-3
9
8
18
11
7
2
5
6
12
1
14
8
1
5
10
26
-4
0
5
1
6
-2
1
3
6
4
-10
-3
3
3
0
-15
7
18
21
17
24
16
-2
-2
3
33
16
27
7
0
29
1
-1
1
15
-2
4
5
7
24
0
4
11
14
4
-3
6
6
11
4
-2
7
9
8
6
0
3
-6
-2
17
-5
2
-9
12
23
18
14
-1
-1
29
17
9
0
-1
2
9
5
9
6
-5
-5
1
10
4
8
8
3
5
8
15
6
0
5
4
7
-5
-2
8
5
2
-16
-2
8
8
-7
-20
12
15
28
-3
13
9
-1
24
14
30
19
17
-2
-8
22
2
6
-7
12
-7
3
4
6
22
-1
2
10
17
9
-3
6
11
-2
10
-3
6
10
6
7
-7
3
-4
-4
4
-11
9
-7
5
32
16
18
-40
39
-21
-46
9
16
-29
-38
12
1
13
46
2
28
7
16
4
-11
-1
6
20
6
-15
4
7
-5
-5
-39
8
6
31
-24
-31
20
3
13
21
-17
1
0
9
22
-37
-36
-8
-50
45
44
3
5
5
-3
-14
-6
-29
26
23
-4
-22
11
-3
-6
22
-12
5
45
-9
46
-11
-18
26
-20
-21
-8
14
35
18
-19
-3
2
-14
18
-24
20
33
9
4
-39
-13
-42
1
-15
-10
-3
10
3
4
-14
17
27
26
31
15
-11
7
-7
-52
-3
45
23
-37
-2
7
2
0
-30
27
47
10
2
-20
16
-3
15
-37
-54
5
10
-7
10
5
-3
9
-21
3
-3
-3
7
-23
12
0
9
-55
-21
15
0
-19
-20
-7
3
-20
-50
-11
17
-9
-6
0
-16
6
4
0
25
-9
5
-10
-13
-32
14
-1
-3
7
44
29
44
-4
-9
12
-5
26
46
-5
12
15
-1
-16
-1
-5
-29
45
18
41
22
0
-15
3
-4
37
47
35
-12
20
31
-10
1
4
26
40
24
-3
24
21
15
0
2
69
1
26
35
1
-12
9
3
6
47
24
13
19
-1
-8
15
4
-10
-47
17
6
-3
-10
-23
0
2
-17
18
26
48
-19
5
5
24
-6
-64
8
15
-35
-21
3
-1
10
11
13
25
29
29
14
6
5
1
6
3
17
44
-28
-7
1
-8
-2
2
6
44
37
33
-2
8
6
6
0
7
-18
-82
-13
-27
-11
1
-7
1
1
-27
-31
33
10
-2
-14
-4
0
2
-31
3
-2
6
16
1
-7
-2
15
6
-18
8
-65
-2
-43
1
3
-3
4
-20
-65
-45
-15
-15
-16
21
4
2
3
9
3
1
-1
-2
2
2
43
6
12
-16
-5
12
-13
4
1
37
37
13
-9
-1
2
-6
0
2
14
18
14
-8
8
14
6
0
1
66
-12
2
-28
21
4
8
3
4
9
36
56
21
5
4
-1
0
1
-5
19
-4
5
24
7
4
1
3
74
27
-1
22
3
1
-4
-1
9
-37
-15
-25
-5
-17
41
-10
-3
20
0
15
-37
-12
9
1
4
6
7
33
20
26
5
0
10
-4
1
-3
17
48
-33
-8
0
-12
1
-1
2
33
42
32
-6
5
6
4
-2
2
-15
-63
-25
-27
-7
2
-3
-1
4
-36
-28
35
18
9
-12
4
-1
5
-25
5
4
7
25
-5
-6
-2
17
13
-18
8
-47
-11
-48
0
-6
1
12
-16
-74
-47
-17
-27
-10
13
10
20
1
10
-7
-13
4
-2
3
4
63
-12
11
-23
-20
27
-7
5
-1
49
19
13
-23
-9
6
-1
-1
3
13
12
13
-8
11
4
5
1
0
77
-19
19
-24
20
5
2
3
2
-7
39
51
22
9
3
0
1
4
-11
28
-5
8
13
2
5
2
7
71
27
6
14
19
-1
-2
-3
8
-44
-30
-32
3
-7
36
-8
-21
40
-51
-19
-9
15
6
3
-7
10
-3
-2
-56
10
-15
12
16
3
5
0
-4
-12
37
-17
11
-8
4
-5
23
-41
-22
32
-28
9
0
14
-1
-14
4
-6
3
15
3
8
28
-14
-14
-28
20
71
4
23
-2
5
-21
20
30
-13
-22
-11
73
-24
12
19
-16
47
0
-37
25
50
-33
7
-12
20
-4
-20
-43
13
2
29
31
-11
6
2
-3
-9
13
-11
2
3
-26
14
58
-11
-1
-2
-10
8
-16
-16
-2
-9
-31
22
-13
-13
-4
2
12
-21
-4
24
-5
-3
13
-5
12
8
-12
16
-16
-3
6
-12
16
-8
-5
-7
-17
-38
-11
10
26
-9
27
-7
-16
-15
22
-26
19
-16
-8
13
19
-14
1
-29
77
-34
30
21
4
5
22
-4
22
36
18
38
-12
-25
-46
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
100
43
145
0
0
0
0
0
0
2
-16
28
0
0
0
0
0
0
5
-29
-43
0
0
0
0
0
0
-158
85
-61
0
0
-5
-69
90
-33
29
90
64
0
0
9
-26
99
-66
-39
28
28
0
0
-177
20
28
1
-14
0
2
0
0
-113
-39
78
111
100
58
156
0
0
14
1
62
-28
158
-80
55
0
0
-93
-90
17
-84
169
-34
-233
0
0
-58
-9
40
-36
109
73
0
0
0
-9
-15
13
-15
34
16
92
0
0
-76
37
44
62
46
-21
42
0
0
-32
14
25
4
8
2
-57
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
16
22
0
0
0
0
0
0
-10
8
4
0
0
0
0
0
0
0
-106
75
0
0
0
0
0
-3
-102
-91
-11
0
0
-2
-49
-59
23
-12
47
38
0
0
46
29
18
-35
11
67
1
0
0
14
42
1
-12
-60
12
-20
0
0
2
31
15
108
82
5
86
0
0
9
6
19
62
-32
-162
-44
0
0
-25
-64
-40
95
26
121
-120
0
0
11
1
15
15
-3
31
0
0
0
-181
-14
-15
42
-5
59
39
0
0
-6
-5
-46
-1
18
37
24
0
0
-89
-18
-63
89
18
9
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-44
11
4
0
0
0
0
0
0
-10
12
7
0
0
0
0
0
0
2
-101
79
0
0
0
0
0
-3
-92
-90
-20
0
0
-3
-60
-46
4
-41
51
24
0
0
45
29
21
-48
20
59
-4
0
0
45
16
-8
1
-57
17
-21
0
0
11
60
-3
136
88
1
51
0
0
9
9
11
78
0
-161
-21
0
0
-4
-78
-47
132
46
127
-114
0
0
11
25
7
28
-43
34
0
0
0
-196
-15
-36
77
28
63
53
0
0
7
-21
-84
16
-10
39
49
0
0
-93
-22
-53
107
25
9
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
2
-58
-35
0
0
0
0
0
0
0
26
-23
0
0
0
0
0
0
0
-57
-17
0
0
0
0
0
0
78
-38
-76
0
0
0
68
-20
86
-44
28
-52
0
0
9
-10
16
-27
33
-5
-54
0
0
95
-55
-2
27
5
38
-25
0
0
-41
114
-5
44
-26
4
21
0
0
-21
-2
58
1
110
32
119
0
0
-4
11
-53
115
119
51
43
0
0
15
58
104
-9
-109
2
0
0
0
-117
90
91
-26
89
-6
24
0
0
51
-11
-12
-3
-69
-12
5
0
0
-25
-14
96
-8
107
0
19
11
-29
8
44
-17
1
-29
-25
10
-14
-1
-44
-22
4
-16
5
3
17
-55
-20
11
0
0
0
0
2
0
0
0
0
-73
0
0
0
0
-27
2
2
-1
0
-42
6
-14
29
0
-2
-32
-9
-12
3
-1
12
-5
30
11
-2
19
11
56
-52
9
-33
-12
-3
-5
1
-41
6
1
7
-5
-3
1
0
-3
-11
-78
-4
-21
-28
8
-13
15
-41
-29
-26
34
-25
-31
10
-8
-17
-89
-22
-69
-34
-71
-5
8
-8
-5
69
50
19
23
13
-28
0
-12
28
-6
-40
6
1
7
-5
-3
1
0
-3
-13
-83
0
-22
-33
0
-11
14
-37
-30
-23
37
-16
-34
8
-12
-20
-86
-21
-72
-29
-84
-11
3
-7
-7
65
47
25
28
16
-15
7
-12
19
-8
1
-1
-1
7
-7
0
0
1
-3
-5
-41
-4
4
-35
37
-17
-12
33
-17
-47
38
-17
12
1
-17
-21
8
-42
-36
22
-62
-69
-47
9
-17
69
21
-19
27
20
9
57
-48
18
0
-4
96
66
-66
4
0
0
0
0
0
0
0
0
0
0
0
-107
42
-73
-9
-55
-41
0
0
-1
0
0
0
0
0
0
0
0
-2
11
-63
3
34
6
-12
0
-101
0
0
0
0
0
0
0
0
2
-13
-50
83
58
115
13
3
-75
0
0
0
0
0
0
0
0
61
7
-36
-20
0
-1
43
4
44
0
0
0
0
0
0
0
0
-27
-16
77
-15
-44
-86
-3
-16
15
0
0
0
0
0
0
0
0
0
24
32
25
30
8
-12
4
3
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
-25
0
67
60
-24
34
39
0
0
0
0
0
0
0
0
0
0
153
37
37
14
5
25
-122
0
7
0
0
0
0
0
0
0
0
-45
-15
-2
35
5
76
-79
-23
-39
42
0
0
0
0
0
0
0
74
0
16
25
85
3
-22
23
105
128
0
0
0
0
0
0
0
19
33
39
-31
-15
132
-6
-29
13
106
0
0
0
0
0
0
0
-66
76
-24
-8
34
13
-47
-36
-129
201
0
0
0
0
0
0
0
-9
-9
1
54
-6
-3
77
-41
36
27
0
0
0
0
0
0
0
0
-168
41
50
-19
36
0
0
-36
-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
18
0
91
5
2
-141
-9
0
1
3
0
0
0
0
0
0
44
112
45
38
5
64
-17
0
-6
0
14
0
0
0
0
0
0
6
4
-13
34
10
114
-122
-28
55
40
-53
0
0
0
0
0
0
25
41
0
40
0
-48
-14
-18
5
18
8
0
0
0
0
0
0
34
17
10
-4
-28
72
-6
-54
-96
-24
-4
0
0
0
0
0
0
-15
61
-45
14
42
31
4
-19
-134
127
24
0
0
0
0
0
0
0
0
45
-28
-31
12
51
-80
-32
156
0
0
0
0
0
0
0
0
-17
-52
33
44
18
-2
-15
16
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
-26
52
0
46
-7
-141
11
0
0
3
0
0
0
0
0
0
12
26
123
105
68
-10
-23
0
6
0
-1
0
0
0
0
0
0
59
-32
9
-13
26
-53
-119
-34
-35
33
61
0
0
0
0
0
0
57
-28
-29
28
4
-95
127
63
-13
-125
-7
0
0
0
0
0
0
127
45
13
28
89
36
-24
-9
93
37
9
0
0
0
0
0
0
3
15
25
-54
3
66
1
79
-53
-7
-101
0
0
0
0
0
0
0
27
4
48
89
-95
-132
40
-74
0
0
0
0
0
0
0
0
0
0
2
-22
-17
46
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
-28
56
32
0
29
-111
-5
0
2
0
0
0
0
0
0
0
29
115
44
42
63
67
66
0
-1
0
0
0
0
0
0
0
0
-32
68
21
54
52
101
80
-17
10
91
3
0
0
0
0
0
0
91
-8
22
63
101
6
-82
65
-155
88
6
0
0
0
0
0
0
-18
49
35
5
14
15
58
89
51
170
0
0
0
0
0
0
0
-1
42
16
10
-8
-17
26
-6
-75
52
0
0
0
0
0
0
0
0
-56
8
-33
40
36
-15
-41
32
4
0
0
0
0
0
0
0
0
33
20
49
-21
9
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
-8
-8
-35
-24
80
0
8
-23
0
0
0
0
0
0
0
0
0
0
25
77
-52
105
6
44
0
0
0
0
0
0
0
0
0
0
0
-25
-14
-46
-45
-18
-34
-11
3
-45
-5
0
0
0
0
0
0
0
139
7
-45
57
-6
-24
13
-10
47
2
0
0
0
0
0
0
-59
46
-57
-18
-49
41
67
9
26
111
6
0
0
0
0
0
0
0
-104
50
43
-6
56
-68
0
2
20
0
0
0
0
0
0
0
0
2
54
23
-127
0
-9
-27
-14
0
0
0
0
0
0
0
0
0
0
11
-9
-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
18
-134
-38
6
2
0
-1
0
0
0
0
0
0
0
0
0
0
18
-82
-29
-4
13
-7
0
0
0
0
0
0
0
0
0
0
0
-35
24
-65
10
-84
-2
0
-6
-37
2
0
0
0
0
0
0
0
-13
37
56
88
-52
-17
-2
0
1
0
0
0
0
0
0
0
0
1
-20
-9
-66
-2
22
37
0
-24
0
0
0
0
0
0
0
0
-39
1
26
52
-37
0
0
0
10
0
0
0
0
0
0
0
0
-2
-5
-91
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
21
-43
9
0
0
0
0
0
0
0
0
0
0
0
182
12
49
13
86
-46
-15
0
-32
0
0
0
0
0
0
0
0
5
-19
-22
4
3
91
23
63
-176
0
0
0
0
0
0
0
0
97
0
104
-10
34
-2
-23
9
152
0
0
0
0
0
0
0
0
3
23
16
42
16
-21
-99
-72
118
0
0
0
0
0
0
0
0
19
49
-2
44
62
48
-62
-16
26
0
0
0
0
0
0
0
0
-35
37
-12
-53
-50
0
-9
3
44
0
0
0
0
0
0
0
0
0
-26
-3
45
0
-69
18
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
42
-14
-22
9
33
-2
-27
0
0
-1
0
0
0
0
0
0
0
9
-11
20
0
29
14
75
0
-47
0
0
0
0
0
0
0
0
7
25
3
38
12
63
-98
-70
34
27
0
0
0
0
0
0
0
18
-6
68
-19
7
-29
-27
-54
-43
70
0
0
0
0
0
0
0
28
35
12
34
-44
10
16
9
97
-55
0
0
0
0
0
0
0
76
21
60
31
33
40
90
15
146
53
0
0
0
0
0
0
0
33
-51
13
63
-113
97
103
15
-49
-51
0
0
0
0
0
0
0
0
111
29
-1
-55
-21
41
-9
-4
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
25
2
47
26
30
116
30
-5
0
10
8
0
0
0
0
0
0
-82
-34
24
59
11
47
18
0
7
0
17
0
0
0
0
0
0
-26
48
-23
36
-8
69
-1
-7
56
143
45
0
0
0
0
0
0
43
9
45
31
10
46
50
-85
12
-18
-3
0
0
0
0
0
0
-32
74
-12
37
-32
98
13
-54
123
-14
3
0
0
0
0
0
0
0
23
41
8
49
29
-74
-117
-86
35
0
0
0
0
0
0
0
-21
-157
-16
44
-7
122
16
-74
60
-77
0
0
0
0
0
0
0
0
-19
32
75
104
53
45
67
2
-9
0
0
0
0
0
0
0
0
0
0
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
33
96
24
102
-9
-12
-80
6
0
0
-4
0
0
0
0
0
0
-72
6
52
64
154
-53
121
0
60
0
0
0
0
0
0
0
0
-60
36
-2
27
33
23
-29
81
25
-20
13
-4
0
0
0
0
0
28
-2
33
30
33
68
-39
-116
21
-95
25
-1
0
0
0
0
0
-22
13
-13
54
-118
-66
-119
134
146
44
-19
0
0
0
0
0
0
0
-11
20
6
26
-35
88
-51
-107
54
-4
0
0
0
0
0
0
-24
-95
27
-13
-24
109
-4
-78
-105
67
1
0
0
0
0
0
0
0
-45
-24
22
1
22
14
-2
2
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
-31
69
86
-24
59
43
44
6
0
0
0
0
0
0
0
0
0
6
-48
34
25
38
70
45
0
1
0
-4
-2
0
0
0
0
0
-87
39
-5
28
49
132
-14
96
4
-35
3
0
0
0
0
0
0
-51
43
42
33
35
-26
38
213
-47
73
12
0
0
0
0
0
0
-30
2
3
-30
22
36
-71
-46
-168
-19
0
0
0
0
0
0
0
5
38
-14
-33
57
241
32
-81
-95
30
-5
-1
0
0
0
0
0
0
58
-82
-7
14
5
12
-10
17
10
0
0
0
0
0
0
0
0
-1
-84
45
-14
-18
4
0
-4
41
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
78
26
-3
175
16
34
-5
0
0
0
0
0
0
0
0
0
124
-73
32
93
113
15
97
0
-51
0
-23
0
0
0
0
0
0
61
-52
43
28
47
106
-60
-3
47
-26
1
0
0
0
0
0
0
73
98
135
5
-95
-76
-97
121
-118
-59
-18
0
0
0
0
0
0
105
71
7
-15
-125
80
-66
93
-195
-39
11
0
0
0
0
0
0
0
83
56
-41
42
-56
-25
-37
6
1
-1
0
0
0
0
0
0
0
-34
-131
-53
25
-51
13
10
5
4
0
0
0
0
0
0
0
0
0
13
-3
33
-27
0
0
0
0
0
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
-55
-51
191
33
33
2
0
0
2
0
0
0
0
0
0
0
-46
-3
-19
-63
66
-16
0
0
0
5
0
0
0
0
0
0
0
5
-133
29
88
108
-139
0
-2
-29
17
1
0
0
0
0
0
0
-13
61
66
10
-114
-1
3
51
10
-3
0
0
0
0
0
0
0
-5
38
2
34
58
39
12
-1
-13
-6
0
0
0
0
0
0
0
148
-102
90
-25
-37
0
-3
5
16
0
0
0
0
0
0
0
0
0
6
76
23
9
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
2
0
2
2
-13
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
6
9
0
0
0
0
0
0
0
0
0
0
0
-5
7
5
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
-2
-4
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
1
0
0
0
0
0
0
0
0
1
5
-1
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
5
-1
-8
0
0
-3
0
0
0
0
0
0
0
0
0
-14
-1
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-108
7
24
127
104
0
0
0
0
0
0
0
0
0
0
0
5
10
1
11
3
-130
19
0
13
0
0
0
0
0
0
0
0
50
18
20
32
-6
25
8
24
63
0
0
0
0
0
0
0
0
67
27
38
93
-47
-50
-54
60
-19
0
0
0
0
0
0
0
0
27
13
34
5
-54
38
41
-63
60
0
0
0
0
0
0
0
0
-17
65
-13
-38
99
-160
76
4
38
0
0
0
0
0
0
0
0
-21
70
-24
-2
-30
0
0
0
-22
0
0
0
0
0
0
0
0
0
-62
0
13
0
2
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
-79
-17
-7
14
11
57
59
14
0
3
0
0
0
0
0
0
0
-7
-19
14
-18
43
-3
-36
0
30
0
0
0
0
0
0
0
0
-4
-12
-39
78
31
14
121
-56
-46
71
0
0
0
0
0
0
0
-5
7
24
6
-5
-45
8
-57
34
24
0
0
0
0
0
0
0
-16
39
10
-7
-35
64
-54
-5
58
50
0
0
0
0
0
0
0
-12
18
20
11
67
85
56
-11
12
-20
0
0
0
0
0
0
0
7
-84
-8
111
-46
-3
22
-18
30
46
0
0
0
0
0
0
0
0
-73
-39
-145
-46
-34
-2
2
0
0
0
0
0
0
0
0
0
0
0
-1
11
9
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-3
32
-30
-27
94
-11
0
5
0
0
0
0
0
0
0
8
-5
32
-20
8
21
2
0
-3
0
1
0
0
0
0
0
0
-37
19
-67
72
23
94
-24
55
119
-76
9
0
0
0
0
0
0
3
-21
7
65
-2
18
25
-117
-20
-13
4
0
0
0
0
0
0
-40
23
6
21
-14
43
-3
-12
-121
19
-2
0
0
0
0
0
0
0
101
41
5
67
65
47
-120
14
99
0
0
0
0
0
0
0
0
7
62
84
3
63
3
-10
-4
13
0
0
0
0
0
0
0
0
31
8
57
-19
176
2
-1
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
-47
85
54
77
-18
-225
-21
8
0
-1
0
0
0
0
0
0
0
-32
0
66
50
13
76
-106
0
-23
0
-13
1
0
0
0
0
0
12
56
6
101
100
66
-99
27
-122
50
5
1
0
0
0
0
0
10
5
15
39
166
5
5
11
42
83
-29
-2
0
0
0
0
0
60
-6
1
7
-94
9
4
34
-75
-100
33
0
0
0
0
0
0
-4
-22
31
-53
123
-13
-175
56
-116
-57
11
0
0
0
0
0
0
-8
35
5
146
28
94
-2
-58
-5
0
0
0
0
0
0
0
0
0
0
-16
8
45
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
-20
32
72
8
29
65
2
7
0
0
0
0
0
0
0
0
0
66
-25
29
22
19
-27
-110
0
3
0
1
0
0
0
0
0
0
50
92
24
50
-1
87
-32
120
18
-111
2
-1
0
0
0
0
0
142
35
25
1
-26
-30
7
-17
-84
118
-1
5
0
0
0
0
0
-32
55
-20
5
-88
-31
-86
-15
-59
25
0
1
0
0
0
0
0
2
150
71
14
-56
59
-79
-104
-32
-158
0
0
0
0
0
0
0
0
34
-13
88
47
108
-29
153
5
32
0
0
0
0
0
0
0
0
34
4
36
2
3
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
3
111
44
9
57
48
-59
1
0
-2
0
0
0
0
0
0
0
139
20
-5
-17
-13
153
51
0
1
0
0
0
0
0
0
0
0
-13
35
1
-12
90
63
78
-16
-278
96
-12
0
0
0
0
0
0
11
-14
115
6
-44
46
-3
17
-38
72
10
0
0
0
0
0
0
101
33
-25
-9
-43
-6
76
47
-73
-65
1
0
0
0
0
0
0
0
60
82
-40
101
-23
39
12
-4
19
-3
0
0
0
0
0
0
0
2
-49
-32
41
13
2
-3
-11
23
0
0
0
0
0
0
0
0
7
6
-37
-3
0
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
-43
-108
-46
-1
73
0
0
0
0
0
0
0
0
0
0
0
0
89
29
71
18
-46
-8
0
0
0
-2
0
0
0
0
0
0
0
114
18
65
55
125
3
-43
-2
-18
-17
9
0
0
0
0
0
0
4
80
78
-72
-36
111
-70
1
-35
0
0
0
0
0
0
0
0
-20
101
-74
-60
133
60
-3
-107
9
0
0
0
0
0
0
0
0
0
179
41
-14
-35
-8
2
0
5
0
0
0
0
0
0
0
0
0
-7
70
-13
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
-2
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
10
-2
3
8
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
10
9
-38
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
2
-2
-5
1
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
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
-4
12
10
7
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
13
1
-35
12
-10
-3
0
0
0
0
0
0
0
0
0
0
0
-25
23
22
9
16
-3
1
0
0
0
0
0
0
0
0
0
-13
7
22
5
2
41
-6
-1
0
0
0
0
0
0
0
0
0
0
18
8
0
0
4
1
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
-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
7
54
65
-6
0
0
0
1
0
0
0
0
0
0
0
0
1
12
40
14
1
43
0
0
0
0
0
0
0
0
0
0
0
-15
105
-5
42
-6
-8
-2
-12
1
0
0
0
0
0
0
0
0
0
21
16
12
-29
10
-1
0
0
0
0
0
0
0
0
0
0
3
94
39
-75
-5
2
0
-5
3
0
0
0
0
0
0
0
0
-11
-1
-22
17
-14
9
-3
0
2
0
0
0
0
0
0
0
0
0
10
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
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
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
124
27
31
11
49
0
0
0
0
0
0
0
0
0
0
0
41
64
-3
-8
-55
-22
0
0
-23
0
0
0
0
0
0
0
0
-24
27
53
20
107
12
0
0
-42
0
0
0
0
0
0
0
0
16
59
-60
-18
96
44
-20
69
4
0
0
0
0
0
0
0
0
76
-75
76
43
-98
-18
7
-26
59
0
0
0
0
0
0
0
0
2
62
55
61
-9
11
28
-10
23
0
0
0
0
0
0
0
0
-7
14
-4
-15
12
-4
17
0
11
0
0
0
0
0
0
0
0
0
37
-12
-97
0
7
-10
-10
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
-25
12
4
32
70
90
-63
0
0
0
0
0
0
0
0
0
0
4
-55
-24
29
16
33
48
0
131
0
0
0
0
0
0
0
0
-21
3
31
27
10
25
29
-80
281
-55
0
0
0
0
0
0
0
-16
33
3
-13
-28
21
68
-111
66
49
0
0
0
0
0
0
0
96
19
22
29
17
8
-7
-55
55
36
0
0
0
0
0
0
0
94
40
88
16
110
108
7
112
-106
51
0
0
0
0
0
0
0
23
22
7
72
-5
6
119
-111
-6
10
0
0
0
0
0
0
0
0
32
105
1
61
-30
-5
-20
-3
-7
0
0
0
0
0
0
0
0
-39
-53
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
2
38
19
-8
31
-83
109
2
0
6
0
0
0
0
0
0
0
7
-12
-29
14
-3
47
66
0
6
0
-3
0
0
0
0
0
0
80
-54
-15
13
-6
59
-21
34
64
87
1
0
0
0
0
0
0
-16
21
5
1
-9
-27
-68
-117
100
81
-6
0
0
0
0
0
0
9
168
13
-9
-13
-1
-52
113
-10
71
1
0
0
0
0
0
0
0
0
13
11
7
45
9
3
-103
-70
-6
0
0
0
0
0
0
-39
-53
26
56
8
137
-11
-138
-62
-18
0
0
0
0
0
0
0
0
-51
65
-34
54
-85
29
-21
3
0
0
0
0
0
0
0
0
0
0
-9
-23
-2
2
0
0
0
0
0
0
0
0
0
0
0
106
35
-16
76
45
-53
21
4
0
0
0
0
0
0
0
0
0
-54
48
90
104
35
-53
-18
0
4
0
15
0
0
0
0
0
0
29
86
29
120
104
6
-41
72
65
83
-45
-1
0
0
0
0
0
26
7
72
30
6
117
37
-60
-130
58
-6
4
0
0
0
0
0
61
58
52
39
-11
25
-38
75
32
-2
-21
0
0
0
0
0
0
4
-4
73
-27
83
-157
74
-17
-22
39
1
0
0
0
0
0
0
3
-44
-20
52
58
40
35
-1
-55
2
0
0
0
0
0
0
0
0
-15
-31
-46
75
15
-64
-7
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
-21
-26
0
-24
-30
-77
-69
1
0
-2
1
0
0
0
0
0
0
-11
28
58
-12
3
7
-68
0
-1
0
0
0
0
0
0
0
0
-51
-24
36
23
25
4
-72
0
94
52
-2
0
0
0
0
0
0
1
38
5
76
-41
38
13
-97
-57
31
15
0
0
0
0
0
0
-11
6
46
-16
111
111
104
69
-208
-168
-2
0
0
0
0
0
0
0
65
-38
41
49
-70
-42
-78
94
-17
0
0
0
0
0
0
0
0
19
52
33
9
-3
56
-22
-19
16
0
0
0
0
0
0
0
0
-22
26
54
-7
-11
0
-2
3
-10
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
46
-14
5
84
59
11
0
0
0
0
0
0
0
0
0
0
11
-15
50
71
-4
7
-38
0
-16
0
0
0
0
0
0
0
0
44
-11
20
26
26
-33
-115
49
48
-7
-2
0
0
0
0
0
0
-26
3
63
89
48
-35
79
-86
-201
-19
0
0
0
0
0
0
0
-15
-34
75
14
92
7
-113
25
17
61
-6
0
0
0
0
0
0
0
49
-40
36
41
43
-3
-111
-54
8
-18
0
0
0
0
0
0
0
-6
97
103
52
105
5
1
17
0
0
0
0
0
0
0
0
0
0
1
69
-28
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
-13
59
60
136
65
6
1
0
0
0
0
0
0
0
0
0
0
59
-29
-48
-64
249
26
0
0
0
0
0
0
0
0
0
0
0
-14
79
38
-54
208
41
6
1
12
7
0
0
0
0
0
0
0
-12
-14
106
-45
13
4
-6
1
-49
-1
0
0
0
0
0
0
0
-8
77
-112
151
144
-131
4
-6
-20
0
0
0
0
0
0
0
0
44
-7
102
-105
49
-2
-7
0
-1
3
0
0
0
0
0
0
0
0
48
36
47
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
10
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-7
0
-7
-9
-98
-2
1
0
0
0
0
0
0
0
0
0
0
0
-12
-11
16
5
13
0
-5
-4
0
-2
0
0
0
0
0
0
0
-1
-2
-3
20
-3
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
-34
-10
-35
-9
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
59
2
3
0
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
0
0
0
0
0
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
45
-25
-19
5
-2
0
0
0
0
0
0
0
0
0
0
15
31
44
-40
-57
-66
-34
0
0
0
0
0
0
0
0
0
0
-3
65
21
-19
-118
13
14
-34
3
-17
0
0
0
0
0
0
0
-16
59
3
122
-40
149
12
-1
0
1
0
0
0
0
0
0
0
29
-22
7
-18
-52
20
6
6
-28
0
0
0
0
0
0
0
0
0
-12
-74
-110
-15
12
0
-1
3
0
0
0
0
0
0
0
0
0
0
-26
0
1
0
4
0
1
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
47
48
6
-21
-18
-7
0
0
4
0
0
0
0
0
0
0
0
43
101
-165
-165
28
-4
0
2
0
0
0
0
0
0
0
0
0
46
-22
120
49
55
-142
4
1
-74
0
0
0
0
0
0
0
0
48
-20
41
-27
28
151
-14
-19
0
0
0
0
0
0
0
0
0
-14
116
36
-14
-43
-7
8
9
0
0
0
0
0
0
0
0
0
10
44
38
36
-37
-65
2
0
0
0
0
0
0
0
0
0
0
10
-27
-34
-10
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
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
-2
8
0
-1
-3
0
0
0
2
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
2
-1
0
-4
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
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-73
-49
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
-55
115
-59
-62
42
-23
0
0
-18
0
0
0
0
0
0
0
0
42
-2
-29
3
42
12
5
-2
-29
0
0
0
0
0
0
0
0
0
-46
-49
63
47
-33
3
6
-38
0
0
0
0
0
0
0
0
0
-14
-103
11
55
11
40
-6
5
0
0
0
0
0
0
0
0
-51
18
57
35
-28
-9
56
-24
13
0
0
0
0
0
0
0
0
17
-38
34
22
-15
0
1
-5
-15
0
0
0
0
0
0
0
0
0
31
6
24
0
-3
-5
-11
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
189
-15
-13
8
72
-20
212
0
0
0
0
0
0
0
0
0
0
-8
24
-23
33
39
29
-18
0
3
0
0
0
0
0
0
0
0
-10
-16
6
90
31
69
62
11
87
-5
0
0
0
0
0
0
0
-50
-4
54
12
-46
-19
-84
-76
94
-19
0
0
0
0
0
0
0
-37
0
-25
-5
34
3
-92
-123
11
138
0
0
0
0
0
0
0
-32
56
33
29
-16
62
-2
25
14
49
0
0
0
0
0
0
0
45
48
30
54
33
-61
0
-86
-59
-42
0
0
0
0
0
0
0
0
96
-15
70
7
90
-6
-8
-6
16
0
0
0
0
0
0
0
0
7
-139
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-5
23
-19
17
21
8
99
-1
0
-4
0
0
0
0
0
0
0
18
14
17
0
-9
102
-51
0
0
0
-13
0
0
0
0
0
0
11
-40
22
18
25
41
-5
116
110
130
3
0
0
0
0
0
0
42
56
-22
87
-16
38
-70
-45
-60
-29
5
0
0
0
0
0
0
-104
-4
0
-5
26
-39
89
63
-117
13
-8
0
0
0
0
0
0
0
28
54
-4
12
3
2
-29
11
118
10
0
0
0
0
0
0
0
14
75
44
-14
-38
-79
-128
-56
-38
0
0
0
0
0
0
0
0
20
-17
8
72
38
38
-41
-2
-2
0
0
0
0
0
0
0
0
0
17
42
0
-41
0
0
0
0
0
0
0
0
0
0
0
-42
-1
69
-36
-32
20
26
0
0
0
1
0
0
0
0
0
0
-9
-46
11
55
33
30
6
0
0
0
4
0
0
0
0
0
0
-101
47
-30
-17
-4
-77
29
-13
-86
24
8
0
0
0
0
0
0
39
-20
3
61
0
107
60
73
-64
43
3
0
0
0
0
0
0
-2
-14
12
0
54
-18
24
-5
7
-30
3
0
0
0
0
0
0
0
14
77
26
5
-4
-21
16
135
41
-8
0
0
0
0
0
0
16
70
6
33
35
6
-46
66
-48
-14
0
0
0
0
0
0
0
0
-80
17
40
-51
-30
171
-2
0
0
0
0
0
0
0
0
0
5
-18
-22
0
-31
0
5
0
0
0
0
0
0
0
0
0
0
0
87
51
1
16
-74
20
2
0
-5
0
0
0
0
0
0
0
6
-17
-31
31
-18
-40
-128
0
-1
0
0
0
0
0
0
0
0
6
-3
10
-7
38
-10
-109
28
4
24
5
0
0
0
0
0
0
29
22
9
-35
-41
111
-78
40
-72
160
-2
0
0
0
0
0
0
-117
-19
-1
75
6
66
10
-54
-55
-24
0
0
0
0
0
0
0
0
43
31
29
28
-69
-185
-103
39
-31
0
0
0
0
0
0
0
0
13
46
10
161
45
-54
-50
-10
0
0
0
0
0
0
0
0
0
27
-7
47
30
40
0
24
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
-1
37
-11
82
20
22
-8
-8
0
0
0
0
0
0
0
0
0
-6
77
71
41
31
-39
-28
0
-1
0
2
0
0
0
0
0
0
28
-109
44
-35
27
-16
27
-6
27
5
1
0
0
0
0
0
0
-11
-15
-27
38
23
116
89
22
13
20
0
0
0
0
0
0
0
10
-87
-73
86
43
-2
-82
-2
-30
26
-1
0
0
0
0
0
0
0
189
107
16
-15
32
-9
-12
-36
-96
0
0
0
0
0
0
0
0
22
14
8
-20
-95
58
5
21
5
0
0
0
0
0
0
0
0
10
13
61
51
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
17
87
-11
77
-3
0
1
0
0
0
0
0
0
0
0
0
0
114
118
59
-66
91
18
0
0
0
0
0
0
0
0
0
0
0
-17
71
95
127
44
30
0
-14
9
0
0
0
0
0
0
0
0
44
-9
52
-62
0
-14
-4
-3
-88
0
0
0
0
0
0
0
0
43
96
106
-49
-64
0
8
-49
-20
0
0
0
0
0
0
0
0
-41
185
-121
37
23
-14
-8
0
-6
0
0
0
0
0
0
0
0
0
34
64
9
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
0
0
0
0
13
0
0
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
31
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
37
55
-19
0
0
0
0
0
0
0
0
0
0
0
1
1
31
23
14
-9
-3
-7
0
0
0
0
0
0
0
0
0
12
15
28
-12
-8
4
1
0
-4
0
0
0
0
0
0
0
0
10
-75
-34
-81
10
63
-10
0
0
-2
0
0
0
0
0
0
0
0
5
-21
-17
-49
1
3
0
0
0
0
0
0
0
0
0
0
-14
-1
4
1
1
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
44
-168
15
-40
0
0
0
0
0
0
0
0
0
0
0
27
-46
76
26
64
-11
2
0
0
0
0
0
0
0
0
0
0
-31
1
-20
-47
43
-10
-4
0
16
-54
0
0
0
0
0
0
0
-10
-2
11
-6
-26
-15
-17
8
-11
-2
0
0
0
0
0
0
0
54
49
56
138
87
141
52
-11
0
-22
0
0
0
0
0
0
0
0
-38
36
75
-57
-31
9
2
1
8
0
0
0
0
0
0
0
-7
2
31
29
-28
-3
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-5
33
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
-37
-36
-18
-28
12
0
0
6
0
0
0
0
0
0
0
0
24
71
-57
148
-22
-32
0
1
0
0
0
0
0
0
0
0
0
40
6
125
-62
-29
-38
1
-17
-59
0
0
0
0
0
0
0
0
-14
86
-46
-94
-4
-17
0
-9
-15
0
0
0
0
0
0
0
0
-23
-10
91
92
44
-25
56
-11
0
0
0
0
0
0
0
0
0
-29
124
-10
-2
87
69
17
-3
45
0
0
0
0
0
0
0
0
-5
71
67
24
35
61
-17
86
0
0
0
0
0
0
0
0
0
-8
-23
-5
1
7
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
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
5
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
3
-11
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
9
38
-2
-45
-6
37
9
0
0
0
0
0
0
0
0
0
0
-35
-37
4
26
-132
8
0
-12
6
0
0
0
0
0
0
0
0
-9
10
5
75
10
-72
8
0
-163
0
0
0
0
0
0
0
0
-48
15
75
-18
-20
3
3
24
23
0
0
0
0
0
0
0
0
0
33
-6
2
-34
-134
-1
39
-102
0
0
0
0
0
0
0
0
23
-29
12
-27
-5
12
37
-5
4
0
0
0
0
0
0
0
0
0
34
-5
79
0
-10
-10
7
0
0
0
0
0
0
0
0
0
0
0
76
0
9
0
0
0
13
0
0
0
0
0
0
0
0
41
34
-10
-1
36
99
70
4
0
0
0
0
0
0
0
0
0
-10
29
-20
4
15
74
-2
0
0
0
0
0
0
0
0
0
0
-13
-5
-6
-15
40
142
110
-21
17
15
0
0
0
0
0
0
0
-22
39
19
99
23
138
-66
52
125
13
0
0
0
0
0
0
0
-45
56
73
31
35
49
51
-111
85
-21
0
0
0
0
0
0
0
-63
0
102
-17
78
49
51
-84
43
-18
0
0
0
0
0
0
0
-11
6
7
78
-53
2
64
-65
-27
9
0
0
0
0
0
0
0
0
93
87
13
10
-33
53
89
10
0
0
0
0
0
0
0
0
17
14
-47
0
76
7
0
0
0
0
0
0
0
0
0
0
0
-30
-6
31
-41
36
62
62
32
0
0
0
0
0
0
0
0
0
0
41
10
15
-6
64
3
0
2
0
1
0
0
0
0
0
0
-63
12
39
-5
26
-3
55
-11
8
22
6
0
0
0
0
0
0
2
-24
-41
81
-11
-2
23
-50
4
33
0
0
0
0
0
0
0
32
-79
-19
8
39
13
10
-35
11
103
-16
0
0
0
0
0
0
-10
-4
0
4
-30
25
84
18
53
-104
0
0
0
0
0
0
0
-14
17
113
44
20
90
43
-45
-44
92
0
0
0
0
0
0
0
0
-33
16
-4
88
15
-12
0
0
-14
0
0
0
0
0
0
0
0
0
7
-8
26
-27
0
0
0
0
0
0
0
0
0
0
0
-62
54
29
-36
20
61
0
3
0
0
0
0
0
0
0
0
0
3
21
59
-2
39
-19
124
0
0
0
4
0
0
0
0
0
0
1
105
10
62
50
59
-46
-19
0
-57
4
0
0
0
0
0
0
11
35
5
59
-24
29
53
-6
86
11
-3
0
0
0
0
0
0
-74
47
13
29
60
-18
-20
-209
-32
-49
6
0
0
0
0
0
0
63
-32
49
0
3
137
41
-94
98
-6
3
0
0
0
0
0
0
1
-49
-1
59
21
4
22
-80
16
-7
0
0
0
0
0
0
0
0
-17
17
12
10
4
-74
-14
0
6
0
0
0
0
0
0
0
0
0
32
0
18
0
0
0
0
0
0
0
0
0
0
0
0
33
10
-14
-20
23
26
91
1
0
0
0
0
0
0
0
0
0
0
54
6
24
-36
118
148
0
0
0
0
0
0
0
0
0
0
21
4
0
46
-12
38
65
3
-17
31
0
0
0
0
0
0
0
0
14
10
36
40
4
118
81
-28
-176
1
0
0
0
0
0
0
-15
-49
38
75
28
109
92
-90
-16
2
0
0
0
0
0
0
0
0
5
70
3
0
52
-7
-92
15
95
1
0
0
0
0
0
0
0
61
49
-9
93
0
82
34
22
73
0
0
0
0
0
0
0
0
-20
26
2
-33
93
6
2
0
-11
0
0
0
0
0
0
0
0
0
10
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-66
36
-63
25
34
-18
0
0
0
0
0
0
0
0
0
0
1
104
16
33
-37
33
-33
0
0
0
6
0
0
0
0
0
0
21
-225
31
-54
-17
-104
25
0
0
13
-2
0
0
0
0
0
0
-6
-11
-41
81
16
33
75
-5
11
2
2
0
0
0
0
0
0
9
-25
-32
41
49
12
5
3
-9
55
-2
0
0
0
0
0
0
0
136
-1
41
79
0
28
-54
4
-36
0
0
0
0
0
0
0
-16
3
39
30
55
6
13
93
-48
-14
0
0
0
0
0
0
0
0
19
-10
48
63
-80
-26
0
-4
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
61
20
53
-70
-38
-6
0
0
0
0
0
0
0
0
0
0
0
-13
102
-38
18
-2
7
0
0
0
0
0
0
0
0
0
0
0
-19
-81
-65
3
-53
65
0
0
1
0
0
0
0
0
0
0
0
-1
-78
59
116
-17
14
7
0
-43
0
0
0
0
0
0
0
-1
43
22
67
-34
1
36
7
-13
-22
0
0
0
0
0
0
0
0
-58
-20
-30
76
15
0
12
1
-138
0
0
0
0
0
0
0
0
0
249
-128
17
-18
-71
0
-29
0
0
0
0
0
0
0
0
0
3
32
79
2
-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
-6
-16
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-20
-103
-22
4
0
0
0
0
0
0
0
0
0
0
0
5
9
-62
21
0
14
2
0
0
0
0
0
0
0
0
0
0
0
3
-49
-5
-24
-13
7
-5
1
0
0
0
0
0
0
0
0
-4
2
10
9
-4
-48
4
0
-53
0
0
0
0
0
0
0
0
0
-6
12
-8
15
-38
17
0
-9
0
0
0
0
0
0
0
0
0
0
-2
8
14
10
0
11
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
7
5
17
14
37
4
0
0
0
0
0
0
0
0
0
0
0
54
54
96
-30
-20
23
0
0
0
0
0
0
0
0
0
0
-12
-8
-112
-22
-20
28
14
0
8
-38
0
0
0
0
0
0
0
1
-62
-48
87
-16
42
-64
-39
-12
23
0
0
0
0
0
0
0
16
-101
-45
22
-52
-33
-52
31
-1
17
0
0
0
0
0
0
0
-4
39
-10
23
90
101
24
-3
0
-13
0
0
0
0
0
0
0
0
-21
10
8
22
-37
-10
31
6
0
0
0
0
0
0
0
0
0
-11
6
-6
-45
-74
-6
0
16
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
3
94
9
4
8
1
0
0
0
0
0
0
0
0
0
0
0
98
-89
-49
-128
16
-5
0
0
0
0
0
0
0
0
0
0
0
12
-42
-23
111
-7
8
5
0
33
0
0
0
0
0
0
0
0
-3
0
34
34
-79
7
-34
0
2
0
0
0
0
0
0
0
0
-53
-25
11
-19
62
16
5
24
-24
1
0
0
0
0
0
0
0
75
40
20
187
160
115
-5
13
0
0
0
0
0
0
0
0
0
0
-40
-5
-87
2
-83
-1
15
0
0
0
0
0
0
0
0
0
-3
29
-18
25
31
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-6
0
10
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
-16
0
-9
-2
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
8
2
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
-3
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
150
5
0
0
0
0
0
0
0
0
0
0
0
0
27
-27
11
15
4
5
0
0
0
0
0
0
0
0
0
0
0
9
27
10
-2
-9
31
0
0
7
0
0
0
0
0
0
0
0
21
-1
47
38
31
6
0
-11
3
0
0
0
0
0
0
0
0
0
-39
-70
-47
40
59
-9
2
4
0
0
0
0
0
0
0
0
0
0
82
0
15
-21
0
0
-2
0
0
0
0
0
0
0
0
0
84
-4
58
0
-11
2
-6
0
0
0
0
0
0
0
0
0
0
0
-18
4
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-164
16
104
54
37
91
-1
0
0
0
0
0
0
0
0
0
21
30
-78
25
3
48
52
0
0
0
0
0
0
0
0
0
0
20
5
8
-44
26
54
22
-2
1
123
0
0
0
0
0
0
0
-13
39
35
63
24
116
-42
38
43
-50
0
0
0
0
0
0
0
-28
-7
71
-3
82
-102
62
-69
-24
-59
0
0
0
0
0
0
0
-24
-3
46
20
-33
77
-7
123
-61
151
0
0
0
0
0
0
0
38
0
14
-12
-62
-5
146
19
51
-9
0
0
0
0
0
0
0
0
91
26
36
-46
118
22
-26
68
9
0
0
0
0
0
0
0
0
-7
10
10
71
0
0
0
0
0
0
0
0
0
0
0
0
0
63
38
-26
32
122
-116
-6
0
0
0
0
0
0
0
0
0
0
55
45
-10
25
43
55
0
2
0
0
0
0
0
0
0
0
-12
-9
11
31
33
50
39
-21
5
110
-24
0
0
0
0
0
0
0
30
39
35
30
-9
-15
35
-70
15
0
0
0
0
0
0
0
28
-39
-10
102
34
42
-7
56
59
65
0
0
0
0
0
0
0
0
-22
36
27
28
72
-37
67
-67
87
0
0
0
0
0
0
0
-67
114
0
-59
-48
-57
125
5
60
14
0
0
0
0
0
0
0
0
-83
99
64
79
-46
-1
-6
7
-8
0
0
0
0
0
0
0
0
0
-12
-26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
66
8
37
51
-15
2
0
0
0
0
0
0
0
0
0
1
-50
3
-41
-78
105
-15
0
4
0
7
0
0
0
0
0
0
42
-2
-31
62
-12
2
-8
-7
-7
-25
-14
0
0
0
0
0
0
-7
-32
8
-24
32
-29
-39
99
-2
-15
4
0
0
0
0
0
0
-24
7
32
-7
-34
-40
81
31
29
-87
23
0
0
0
0
0
0
-9
17
57
-81
-4
99
-12
-53
21
128
46
0
0
0
0
0
0
-23
10
-5
0
-102
2
-4
53
13
16
0
0
0
0
0
0
0
-2
-7
-19
2
-3
136
81
3
-3
1
0
0
0
0
0
0
0
0
0
-48
-1
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
16
23
26
-9
32
15
0
0
0
0
0
0
0
0
0
0
-7
-2
10
19
-92
36
1
0
0
0
0
0
0
0
0
0
0
-72
-21
-4
-10
-21
60
-68
0
-6
-68
0
0
0
0
0
0
0
1
-1
-83
26
1
20
-66
-36
15
92
0
0
0
0
0
0
0
-50
14
29
64
17
64
65
-23
-29
130
0
0
0
0
0
0
0
0
-51
71
43
72
68
-10
-12
-143
106
0
0
0
0
0
0
0
9
53
34
40
0
-33
43
70
-38
4
0
0
0
0
0
0
0
0
4
52
-44
69
-8
31
1
-55
-116
0
0
0
0
0
0
0
0
0
-41
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
74
-33
36
1
0
0
0
0
0
0
0
0
0
8
-121
-93
-13
-26
10
21
0
0
0
0
0
0
0
0
0
0
-31
4
-36
37
-45
-44
-38
0
0
8
0
0
0
0
0
0
0
-13
8
-64
-72
21
-57
23
12
-19
-65
0
0
0
0
0
0
0
6
-16
-29
-51
-38
42
55
-44
-1
-34
5
0
0
0
0
0
0
2
44
31
13
52
-7
42
-36
-10
-21
-2
0
0
0
0
0
0
0
4
-41
56
-24
0
118
22
-4
-51
0
0
0
0
0
0
0
0
10
-2
-127
-31
-45
-21
0
0
0
0
0
0
0
0
0
0
0
0
109
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
3
-83
-13
-6
0
0
0
0
0
0
0
0
0
0
0
-52
104
16
140
66
0
0
0
0
0
0
0
0
0
0
0
0
16
42
101
-15
15
78
0
0
-12
0
0
0
0
0
0
0
0
-29
25
47
37
15
7
-1
0
2
0
0
0
0
0
0
0
0
8
45
4
52
25
-9
-34
0
0
0
0
0
0
0
0
0
0
-48
29
-24
16
-106
-43
43
5
-65
0
0
0
0
0
0
0
0
-3
8
-19
-82
8
0
5
-78
-67
0
0
0
0
0
0
0
0
0
18
-29
-76
4
0
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
-4
-71
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
53
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
-11
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
63
2
-49
20
9
3
0
0
0
0
0
0
0
0
0
0
0
0
31
6
16
-33
6
0
-8
0
0
0
0
0
0
0
0
0
7
-11
26
-16
-65
0
0
-2
-6
0
0
0
0
0
0
0
0
0
-44
0
32
0
-1
0
-26
0
0
0
0
0
0
0
0
0
2
0
-54
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
74
9
-23
-16
0
0
0
0
0
0
0
0
0
0
0
0
-54
2
119
-16
-39
0
0
0
0
0
0
0
0
0
0
0
-12
-29
-39
-43
-137
0
15
5
2
-70
0
0
0
0
0
0
0
0
-170
-49
-102
-132
-69
-47
4
13
-2
0
0
0
0
0
0
0
-6
-9
-27
45
35
5
-79
2
4
-5
0
0
0
0
0
0
0
0
-24
1
-8
-26
-153
-13
3
-15
24
0
0
0
0
0
0
0
0
2
-5
20
-56
16
9
0
0
0
0
0
0
0
0
0
0
0
68
-22
39
-34
-36
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
37
8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-6
3
-50
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
73
-35
47
-37
8
0
0
5
0
0
0
0
0
0
0
0
6
23
-12
35
-31
0
-5
0
1
0
0
0
0
0
0
0
0
-1
65
13
12
-14
-83
-12
0
-50
0
0
0
0
0
0
0
0
1
-19
-6
-21
-15
-110
1
-14
-8
0
0
0
0
0
0
0
0
3
-101
26
70
-6
161
-13
-2
0
0
0
0
0
0
0
0
0
0
2
11
7
10
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
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
-1
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
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
118
2
2
0
0
0
0
0
0
0
0
0
0
0
13
0
-15
6
26
22
0
0
0
0
0
0
0
0
0
0
0
-12
32
5
73
-3
54
-1
0
-14
0
0
0
0
0
0
0
0
-25
34
2
-11
49
-75
-16
-1
6
0
0
0
0
0
0
0
0
4
9
15
37
3
16
-39
-19
29
0
0
0
0
0
0
0
0
28
9
-66
-66
160
-1
-25
-33
56
0
0
0
0
0
0
0
0
0
3
3
-38
-17
9
0
19
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
71
-19
51
-2
0
0
0
0
0
0
0
0
0
0
0
3
86
53
33
-26
-83
0
0
0
0
0
0
0
0
0
0
0
102
4
-9
-21
95
19
-4
4
-4
1
0
0
0
0
0
0
0
26
36
-4
73
-72
87
41
2
115
-12
0
0
0
0
0
0
0
27
-28
65
-20
45
-35
-44
75
144
-4
0
0
0
0
0
0
0
40
-6
61
11
75
9
-93
1
264
-32
0
0
0
0
0
0
0
-63
67
7
54
59
19
73
-74
40
0
0
0
0
0
0
0
0
4
0
11
25
20
75
-28
-27
-32
-15
0
0
0
0
0
0
0
0
-42
-6
-26
98
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-6
-54
-47
0
0
0
0
0
0
0
0
0
0
0
0
106
25
19
-90
22
10
0
0
0
0
0
0
0
0
0
0
76
78
34
-122
-48
47
43
0
0
-32
0
0
0
0
0
0
0
0
-11
-48
116
-72
49
85
28
-1
-4
0
0
0
0
0
0
0
34
4
41
108
62
-81
15
5
12
17
0
0
0
0
0
0
0
0
48
5
144
3
136
-143
2
-21
9
0
0
0
0
0
0
0
-17
-9
36
46
-14
18
11
-44
-36
26
0
0
0
0
0
0
0
0
-36
0
28
21
26
-107
-37
14
7
0
0
0
0
0
0
0
0
-8
4
5
34
10
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-7
33
0
-45
0
0
0
0
0
0
0
0
0
0
0
52
-2
-26
-8
30
0
0
0
0
0
0
0
0
0
0
0
-28
-20
-35
-44
-8
18
0
4
0
0
0
0
0
0
0
0
0
0
-24
53
17
76
-92
0
0
9
0
0
0
0
0
0
0
0
26
-32
17
33
20
8
94
-13
9
0
0
0
0
0
0
0
0
0
1
-39
-33
172
-69
-70
6
-8
0
0
0
0
0
0
0
0
0
-2
-26
-11
61
0
-17
-80
-11
0
0
0
0
0
0
0
0
0
-130
-6
0
-79
81
-52
47
0
4
0
0
0
0
0
0
0
0
0
-35
12
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
50
0
-20
-22
-11
1
0
0
0
0
0
0
0
0
0
0
76
-9
-4
14
40
0
0
0
0
0
0
0
0
0
0
0
10
-20
48
-135
-102
-6
7
0
1
1
0
0
0
0
0
0
0
0
-2
-72
-5
-12
-39
20
4
0
0
0
0
0
0
0
0
0
78
-9
-12
81
-10
53
-112
34
14
-14
0
0
0
0
0
0
0
0
-40
55
-33
78
-54
-12
-4
6
19
0
0
0
0
0
0
0
-9
-3
9
6
-28
-12
26
-22
-4
-29
0
0
0
0
0
0
0
0
28
12
54
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-8
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
0
0
0
0
0
158
-16
9
17
11
0
0
0
0
0
0
0
0
0
0
0
-121
0
26
-32
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
-4
18
58
-14
0
0
0
0
0
0
0
0
0
0
-43
0
-98
-51
-65
9
38
-11
-2
4
0
0
0
0
0
0
0
0
-19
4
31
5
25
19
-2
8
0
0
0
0
0
0
0
0
6
0
-81
12
9
0
3
-1
-11
0
0
0
0
0
0
0
0
0
-4
-9
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-9
37
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
-53
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
-1
0
0
0
0
0
0
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
-27
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-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
2
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
16
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
6
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
-2
-21
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
-17
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
14
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
59
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-19
0
1
0
0
1
0
0
0
0
0
0
0
0
26
-5
27
7
2
0
0
-1
0
0
0
0
0
0
0
0
6
21
-46
0
-90
-41
6
-1
-13
0
0
0
0
0
0
0
0
0
18
12
47
8
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
-26
18
1
0
0
2
0
0
0
0
0
0
0
0
7
0
-10
-2
-10
-7
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
14
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-49
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-9
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
-6
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
1
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
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
187
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
52
-25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-7
9
-13
-33
3
0
-4
0
0
0
0
0
0
0
0
50
0
17
0
7
7
-8
0
0
0
0
0
0
0
0
0
0
0
53
0
89
3
19
16
0
0
0
0
0
0
0
0
0
0
0
0
246
0
-45
0
3
0
-28
0
0
0
0
0
0
0
0
0
15
0
-19
0
-5
0
-43
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
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
5
-3
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-34
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
4
0
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
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
104
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-173
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
-43
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-15
0
-57
-1
0
-2
0
0
0
0
0
0
0
0
4
0
-49
0
-43
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
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
-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
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
57
-1
-10
-48
-81
0
0
0
0
0
0
0
0
0
2
110
-128
38
-73
77
-119
84
-33
0
0
0
0
0
0
0
0
2
-61
1
-16
23
37
-3
-37
-15
0
0
0
0
0
0
0
0
-6
-1
10
-3
108
68
-9
22
60
0
0
0
0
0
0
0
0
2
5
-2
44
-66
-81
20
-25
-5
0
0
0
0
0
0
0
0
0
-1
0
-32
-28
125
-20
98
-2
0
0
0
0
0
0
0
0
0
-6
-12
-67
4
0
58
47
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
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
-96
0
-74
39
-62
-95
-26
-24
0
-16
0
0
0
0
0
0
0
86
70
92
-13
-44
-48
-11
3
37
-210
0
0
0
0
0
0
0
-18
2
-20
75
-28
-9
0
-28
-16
66
0
0
0
0
0
0
0
-54
-66
108
-169
15
8
-17
-13
4
23
0
0
0
0
0
0
0
-36
-26
-66
26
29
-15
-7
-12
23
-24
0
0
0
0
0
0
0
0
-18
2
49
35
-8
64
25
33
-13
0
0
0
0
0
0
0
0
60
-16
41
14
31
31
-15
36
-33
0
0
0
0
0
0
0
0
19
0
-26
24
-101
13
-1
54
42
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
69
0
46
-49
-101
-102
-101
0
-42
15
0
0
0
0
0
0
-23
-26
-115
157
-70
-18
-30
-12
-27
12
-26
0
0
0
0
0
0
13
-29
13
-24
119
-116
-22
21
10
-54
2
0
0
0
0
0
0
-1
56
49
101
-94
-15
19
2
2
4
-22
0
0
0
0
0
0
0
152
0
-23
33
-76
54
26
-2
-21
0
0
0
0
0
0
0
0
-36
25
-42
109
51
1
49
-10
3
-90
0
0
0
0
0
0
0
-18
4
37
9
30
34
-39
65
46
0
0
0
0
0
0
0
0
-58
-31
-91
-53
2
-102
-18
51
111
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
-13
0
-103
46
-4
65
0
-40
-4
1
0
0
0
0
0
43
-75
84
-47
16
-19
-28
11
7
-20
-31
0
0
0
0
0
0
9
28
-53
-21
-69
72
27
65
19
44
-21
1
0
0
0
0
0
-73
86
-35
-25
-61
6
144
34
-31
34
-20
0
0
0
0
0
0
-44
81
-92
-3
-27
7
-31
168
-41
26
3
0
0
0
0
0
0
-1
-7
0
-5
9
-11
64
-4
-24
75
13
-5
0
0
0
0
0
0
4
-3
-1
19
-53
18
8
7
92
-2
0
0
0
0
0
0
0
-1
4
-1
10
-29
-53
61
-41
-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
-1
1
0
-13
0
15
48
-94
0
-31
-4
-3
0
0
0
0
0
-8
-49
-14
113
42
30
-59
53
20
-121
36
1
0
0
0
0
0
-5
-94
69
44
16
40
104
-43
51
-61
-41
3
0
0
0
0
0
0
-43
32
97
-19
-29
-67
30
-71
11
1
0
0
0
0
0
0
0
155
-39
-15
-23
-5
-13
-5
74
-91
-3
-1
0
0
0
0
0
0
10
-41
12
-43
-22
-92
26
-113
55
-14
1
0
0
0
0
0
0
-14
38
3
65
16
15
-85
-5
-44
0
0
0
0
0
0
0
0
1
6
0
2
98
-79
-39
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
11
0
-10
0
4
-156
0
24
21
0
0
0
0
0
0
-1
-11
-117
48
97
132
-30
47
-51
55
-16
0
0
0
0
0
0
0
-28
-56
26
-62
9
6
71
78
-5
-5
0
0
0
0
0
0
9
8
87
0
-2
-79
70
18
-88
70
65
0
0
0
0
0
0
3
54
-18
3
-89
87
3
-57
22
111
-29
0
0
0
0
0
0
0
-8
1
-19
13
95
99
25
45
-35
12
0
0
0
0
0
0
0
0
6
-2
37
-88
-68
91
1
-4
0
0
0
0
0
0
0
0
0
0
0
8
-69
-4
65
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
-91
0
-8
0
0
0
0
0
0
0
0
198
55
14
-1
0
-18
-2
-76
-63
2
0
0
0
0
0
0
0
72
-1
93
1
-48
41
43
-193
-5
6
0
0
0
0
0
0
0
0
12
0
37
126
-84
46
-115
-23
0
0
0
0
0
0
0
0
17
-3
1
-4
2
26
-46
19
-134
4
0
0
0
0
0
0
0
21
3
-3
0
-16
-38
24
-99
55
6
0
0
0
0
0
0
0
0
27
0
7
-25
20
-224
-135
7
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-47
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
2
-1
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
1
4
-1
3
3
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
-3
5
0
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-180
83
-229
66
-33
-37
-38
2
0
0
0
0
0
0
0
0
0
-3
-139
-153
33
-93
-18
-30
2
12
0
0
0
0
0
0
0
0
-27
-18
-60
124
2
-2
3
-60
11
0
0
0
0
0
0
0
0
-40
-24
2
25
143
-19
17
37
40
0
0
0
0
0
0
0
0
-16
-7
32
67
77
18
-45
80
95
0
0
0
0
0
0
0
0
-2
60
5
16
-24
-13
41
7
1
0
0
0
0
0
0
0
0
-22
-48
11
-19
-51
8
-20
-58
-18
0
0
0
0
0
0
0
0
0
21
0
11
1
-58
68
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-90
25
0
0
0
0
0
0
0
0
0
-64
-101
217
-100
-52
-75
-21
-19
0
-48
0
0
0
0
0
0
0
-87
16
-71
-21
-2
-42
-19
15
-39
-158
0
0
0
0
0
0
0
-61
123
104
-116
-24
-7
-3
-34
26
-23
0
0
0
0
0
0
0
3
78
-142
-28
-26
47
-19
4
-32
25
0
0
0
0
0
0
0
-55
75
-17
64
63
-22
8
14
21
32
0
0
0
0
0
0
0
-48
100
-64
-20
70
13
-20
44
-40
-69
0
0
0
0
0
0
0
88
-10
-3
-48
-58
3
0
-30
4
-37
0
0
0
0
0
0
0
-2
4
0
-34
31
-4
-27
8
34
66
0
0
0
0
0
0
0
0
0
-4
0
48
0
-9
-9
13
0
0
0
0
0
0
0
0
31
52
28
90
5
-18
-18
-83
0
-13
1
0
0
0
0
0
0
141
-60
-12
-32
3
-51
-46
-18
-19
-78
85
0
0
0
0
0
0
-7
0
-53
13
-73
-15
-38
-48
-7
-14
-18
0
0
0
0
0
0
2
-3
120
-148
34
-39
-9
8
-42
-39
-15
0
0
0
0
0
0
-5
-28
-59
30
-56
-50
4
-4
-14
-34
-28
0
0
0
0
0
0
0
65
51
182
-39
-40
19
0
-7
20
2
0
0
0
0
0
0
0
6
20
-4
-6
-61
-6
-33
20
-15
-5
0
0
0
0
0
0
0
4
0
-3
19
22
-71
-22
24
85
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
3
0
0
0
0
0
0
0
57
-199
105
20
89
-36
-3
29
0
-61
-40
0
0
0
0
0
0
-99
152
-4
55
-58
80
21
25
-23
-136
-33
0
0
0
0
0
0
120
-29
200
-77
-101
-69
28
-20
24
-64
30
-7
0
0
0
0
0
28
-3
-103
-18
-106
-42
-4
20
-67
-4
-38
0
0
0
0
0
0
90
-157
116
79
79
-111
-23
-32
54
-35
21
-11
0
0
0
0
0
-4
1
-25
-26
-55
-32
-7
-28
-13
135
51
0
0
0
0
0
0
-2
11
-20
-2
30
-56
9
-5
-60
-70
11
0
0
0
0
0
0
6
-2
9
-16
-45
-142
-101
-97
-74
-17
0
0
0
0
0
0
0
0
-1
0
0
0
-9
-102
-45
-1
0
0
0
0
0
0
0
0
106
-125
-87
120
64
-15
0
47
0
3
-17
0
0
0
0
0
0
71
80
22
-34
-268
41
53
-11
38
-175
-6
-5
0
0
0
0
0
29
-54
25
53
-68
17
-30
35
34
-70
34
0
0
0
0
0
0
26
27
118
-14
21
50
-29
22
55
40
13
-6
0
0
0
0
0
41
85
17
18
41
2
-13
22
-30
37
3
27
0
0
0
0
0
-6
17
84
109
65
24
-49
-3
-24
45
-13
-1
0
0
0
0
0
0
-9
-10
2
-78
31
-5
-78
-5
43
-1
0
0
0
0
0
0
0
0
0
0
0
20
-7
12
-41
38
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-6
0
0
0
0
0
0
0
0
33
39
-10
27
32
97
-11
4
0
-9
-37
0
0
0
0
0
0
6
-5
63
-4
81
86
-24
140
60
97
17
1
0
0
0
0
0
7
24
65
94
-130
-7
-22
18
86
74
12
-2
0
0
0
0
0
32
-52
-43
130
-27
-74
-17
-21
87
84
22
-2
0
0
0
0
0
7
-49
110
76
-4
-93
45
-20
-32
-60
19
9
-3
0
0
0
0
0
68
85
8
-65
-11
-17
-35
48
-42
22
2
0
0
0
0
0
-9
0
0
4
11
-73
87
-11
-39
13
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
8
18
21
0
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
-17
-9
29
-9
62
-6
0
55
-9
0
0
0
0
0
0
0
-5
-22
-10
95
-52
-15
-48
-40
12
38
-1
0
0
0
0
0
0
122
13
-66
-91
73
80
137
-14
34
-53
0
0
0
0
0
0
0
4
-1
-19
19
94
-58
14
30
44
3
0
0
0
0
0
0
0
7
0
-2
21
20
-88
73
77
-118
-9
-4
0
0
0
0
0
0
0
-16
-1
-4
61
-23
37
-81
-47
-1
0
0
0
0
0
0
0
0
0
0
-6
-15
26
1
57
-44
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-55
-39
-5
-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
6
0
7
-2
0
0
0
0
0
0
0
0
-2
1
1
0
4
0
-11
3
1
0
0
0
0
0
0
0
0
0
-1
-14
-2
0
-2
2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
8
1
0
0
0
0
0
0
0
0
1
0
0
1
-2
4
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
4
2
3
-1
55
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-27
-6
-25
-21
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
0
3
0
0
-4
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
-1
0
-3
-9
17
-7
1
31
0
0
0
0
0
0
0
0
0
0
-2
0
-2
4
0
0
13
-7
0
0
0
0
0
0
0
0
-2
1
0
0
-3
8
2
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
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
0
0
-2
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
-1
3
2
-1
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
124
-3
-55
-1
20
6
-10
0
0
0
0
0
0
0
0
0
21
-157
-51
-89
-99
-5
-36
17
19
0
0
0
0
0
0
0
0
15
-46
29
38
90
-41
1
16
-129
0
0
0
0
0
0
0
0
-8
27
28
-34
-14
-16
-26
1
26
0
0
0
0
0
0
0
0
13
-15
21
152
1
-26
-48
-7
34
0
0
0
0
0
0
0
0
-6
-18
13
-77
-38
-45
-40
33
0
0
0
0
0
0
0
0
0
0
-32
0
0
2
21
70
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-22
0
0
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
25
128
-41
-38
21
12
0
65
0
0
0
0
0
0
0
-79
-7
114
5
-17
25
19
37
34
-52
0
0
0
0
0
0
0
-115
-38
-6
38
-21
29
37
27
9
-51
0
0
0
0
0
0
0
144
113
110
-29
19
-9
19
-2
30
-85
0
0
0
0
0
0
0
-24
20
-7
51
-29
36
-26
21
25
-20
0
0
0
0
0
0
0
39
116
-108
-5
22
37
-11
9
90
-27
0
0
0
0
0
0
0
31
1
-141
-29
-6
54
39
44
21
-19
0
0
0
0
0
0
0
0
0
-10
39
-117
26
34
66
-84
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
-4
-67
3
-69
57
-21
4
4
0
-7
-11
0
0
0
0
0
0
-82
6
-41
80
-101
26
-15
13
23
5
-66
0
0
0
0
0
0
-7
-29
12
-142
71
-65
7
17
-22
18
-3
0
0
0
0
0
0
-38
-2
58
42
-25
-12
-12
-11
-20
-28
10
0
0
0
0
0
0
-3
28
198
-4
98
-1
18
-18
19
-43
10
0
0
0
0
0
0
0
12
-175
-39
16
-23
13
-7
-23
-11
4
0
0
0
0
0
0
0
-85
-27
44
-13
-155
50
-6
-10
29
0
0
0
0
0
0
0
0
-3
-9
0
47
-25
-112
86
125
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-33
0
2
0
0
0
0
0
0
0
0
0
-41
49
90
24
-177
132
33
37
0
8
37
0
0
0
0
0
0
2
-83
81
122
-14
-3
29
44
3
-160
20
2
0
0
0
0
0
20
-35
37
86
4
-5
-16
12
60
-5
-19
0
0
0
0
0
0
38
26
88
-114
48
-47
-11
-4
-17
5
-43
0
0
0
0
0
0
-100
28
47
-15
-75
19
-38
42
-53
94
-2
2
0
0
0
0
0
0
68
-47
14
-77
-98
-147
-12
40
41
-24
1
0
0
0
0
0
0
-7
41
3
-169
9
17
6
126
26
-5
0
0
0
0
0
0
0
0
0
0
10
3
-27
5
-19
45
0
0
0
0
0
0
0
0
0
0
0
12
-9
2
0
0
-1
0
0
0
0
0
0
0
2
-202
62
238
-24
25
96
46
0
-9
41
37
0
0
0
0
0
-25
-118
3
-8
-34
-18
-38
0
72
-121
-50
-16
0
0
0
0
0
4
39
19
-159
-48
-34
-7
-6
27
-30
13
0
0
0
0
0
0
18
-43
19
67
46
-43
-86
-31
-104
-22
-31
8
0
0
0
0
0
27
-165
130
-58
-87
0
32
-20
-31
16
-40
0
0
0
0
0
0
3
-56
136
91
-10
38
-129
29
-79
-102
6
0
0
0
0
0
0
0
10
8
78
8
25
5
4
47
63
4
0
0
0
0
0
0
0
0
0
0
0
-11
18
43
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
9
-32
99
79
70
76
140
-129
0
60
34
0
0
0
0
0
0
47
94
54
93
16
69
58
92
41
-71
-69
0
0
0
0
0
0
-5
23
41
28
-16
1
132
117
96
-9
-18
0
0
0
0
0
0
-4
-31
18
-14
57
81
134
50
-72
128
-5
0
0
0
0
0
0
-53
-17
57
75
18
43
45
-93
62
-61
-17
1
0
0
0
0
0
0
-3
15
7
43
-177
-53
-35
6
-29
-3
0
0
0
0
0
0
0
0
2
-5
-8
-16
35
-10
106
48
-4
0
0
0
0
0
0
0
0
3
1
0
-28
0
34
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
-3
-8
0
0
-133
102
45
0
107
12
5
0
0
0
0
0
0
4
1
-5
-48
143
15
43
83
-28
25
1
0
0
0
0
0
0
5
-3
27
-44
77
61
14
56
-2
4
0
0
0
0
0
0
0
-38
76
-41
-105
87
25
-24
-31
45
-9
1
0
0
0
0
0
0
2
5
-1
-10
-86
-17
-3
77
50
8
0
0
0
0
0
0
0
1
8
1
24
-21
-27
28
-24
1
-5
1
0
0
0
0
0
0
0
-8
7
0
0
-61
64
0
24
-9
0
0
0
0
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
-16
11
6
0
-2
-6
0
0
0
0
0
0
0
0
-2
10
0
16
-3
6
-5
-5
-2
0
0
0
0
0
0
0
0
0
0
-9
0
34
4
27
31
-1
0
0
0
0
0
0
0
0
0
-1
11
-2
0
10
0
3
5
0
0
0
0
0
0
0
0
0
0
3
0
-1
18
-23
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
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
-4
-2
0
0
17
-18
0
8
0
1
0
0
0
0
0
0
0
-2
0
1
-3
22
-58
40
-12
-29
1
0
0
0
0
0
0
0
1
-2
4
1
-3
70
1
-16
-11
-1
0
0
0
0
0
0
0
0
-3
-2
6
-22
19
29
-9
-43
-1
0
0
0
0
0
0
0
1
0
1
-4
-4
1
1
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
14
-11
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
2
-2
0
-13
48
13
57
0
19
0
0
0
0
0
0
0
0
-2
4
-12
-7
-21
-35
24
44
143
0
0
0
0
0
0
0
0
-50
12
-17
98
-20
78
4
116
-18
0
0
0
0
0
0
0
0
-13
6
-10
-2
-53
-1
-59
-34
20
0
0
0
0
0
0
0
0
9
-7
-3
-21
17
6
-3
31
24
0
0
0
0
0
0
0
0
-7
8
18
0
-10
0
70
-25
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-5
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
-7
0
11
0
0
0
0
0
0
0
0
0
0
0
1
0
13
0
2
-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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
44
0
-9
-34
-104
-72
-37
0
0
0
0
0
0
0
0
0
2
-17
41
-84
102
-8
-67
14
20
0
0
0
0
0
0
0
0
-3
41
-14
134
74
-44
28
93
-75
0
0
0
0
0
0
0
0
0
0
6
-4
9
-11
-89
14
-17
0
0
0
0
0
0
0
0
0
11
-3
-35
26
97
-36
119
-39
0
0
0
0
0
0
0
0
0
-7
18
-7
47
-71
18
110
-5
0
0
0
0
0
0
0
0
0
1
9
94
51
102
-41
-31
-13
0
0
0
0
0
0
0
0
0
0
0
20
0
-25
-7
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-21
0
0
0
0
0
0
0
0
0
0
-35
-10
59
-66
-46
39
20
38
0
51
0
0
0
0
0
0
0
-59
142
112
-17
-72
32
38
61
28
-15
0
0
0
0
0
0
0
140
213
50
-33
54
-66
24
-17
33
-64
0
0
0
0
0
0
0
-18
-40
134
86
-74
3
-34
14
-11
7
0
0
0
0
0
0
0
33
-1
-34
-53
-46
61
18
-16
74
-4
0
0
0
0
0
0
0
-14
11
-13
76
2
14
-14
19
11
54
0
0
0
0
0
0
0
-2
39
91
167
93
-47
37
-69
-32
13
0
0
0
0
0
0
0
0
10
-12
-48
-24
124
32
52
6
-8
0
0
0
0
0
0
0
0
0
0
-13
0
-3
-1
13
0
0
0
0
0
0
0
0
0
1
-173
66
206
26
-32
11
28
0
-4
17
0
0
0
0
0
0
72
-37
58
98
54
-13
55
28
54
-56
103
0
0
0
0
0
0
-28
50
52
-88
-51
59
12
31
-20
-12
-2
0
0
0
0
0
0
0
142
8
-37
-69
-165
-64
-19
-15
-36
-9
0
0
0
0
0
0
44
30
24
-150
-30
28
-19
-10
-55
-8
0
0
0
0
0
0
0
-9
16
91
-70
-9
1
-58
-22
-85
-58
-3
0
0
0
0
0
0
0
-48
60
107
-80
76
49
3
-15
-6
-4
0
0
0
0
0
0
0
-20
0
-28
2
-8
55
10
119
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
21
8
0
0
0
0
0
0
0
0
60
15
7
58
9
-34
149
57
0
-5
22
0
0
0
0
0
0
-80
7
-40
6
-14
69
19
68
37
-60
-36
0
0
0
0
0
0
-114
-37
152
-45
-62
-19
-9
-24
-21
-58
-5
0
0
0
0
0
0
34
49
-10
-7
-105
-3
-75
13
34
29
-2
0
0
0
0
0
0
72
100
-9
-84
-200
15
32
-55
3
28
2
0
0
0
0
0
0
5
86
120
-4
5
98
81
33
-1
45
27
-3
0
0
0
0
0
0
39
-62
7
13
-5
166
22
71
-34
1
0
0
0
0
0
0
0
5
-10
6
22
8
-44
-30
-77
20
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-10
-8
0
0
0
0
0
0
0
0
28
82
5
-131
-3
-10
69
0
4
16
-9
0
0
0
0
0
40
-112
53
-40
-37
63
58
41
93
13
15
-1
0
0
0
0
0
-11
84
-84
85
-63
4
-9
17
-3
-73
1
1
0
0
0
0
0
-5
39
-4
13
-23
-102
-9
-31
-45
-20
-21
4
0
0
0
0
0
2
-115
11
-105
-117
9
-18
-29
-49
-105
0
-4
0
0
0
0
0
-1
-75
116
-8
-45
90
143
64
74
47
0
0
0
0
0
0
0
0
16
6
-24
36
-42
36
150
-63
5
0
0
0
0
0
0
0
0
-3
0
-4
0
-61
9
-23
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
6
1
-6
-105
-82
-42
-34
0
42
-54
0
0
0
0
0
0
16
64
-52
14
-71
73
44
61
92
27
130
0
0
0
0
0
0
0
-37
-13
58
46
-47
69
-1
-25
-1
33
0
0
0
0
0
0
0
-14
0
-22
54
-48
-40
15
-68
11
18
0
0
0
0
0
0
90
25
28
-44
-62
-16
43
-67
51
-64
21
-17
0
0
0
0
0
0
5
-5
30
-107
8
-15
111
40
117
6
0
0
0
0
0
0
0
2
-18
-8
8
-49
70
-37
-94
29
4
0
0
0
0
0
0
0
0
17
0
0
32
-22
13
48
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
-3
0
3
-56
-32
-65
0
118
14
0
0
0
0
0
0
0
-17
0
-5
-17
20
123
100
-24
-89
112
5
0
0
0
0
0
0
-19
2
-16
-94
36
-147
175
190
24
25
0
0
0
0
0
0
0
8
0
-22
-3
-16
6
-49
71
-11
10
0
0
0
0
0
0
0
-2
-8
-13
32
8
-138
137
137
-87
0
0
0
0
0
0
0
0
-22
-2
-2
-7
124
-24
100
5
0
-4
0
0
0
0
0
0
0
0
0
0
-35
4
21
-8
65
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
19
-21
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
37
8
-24
0
81
0
0
0
0
0
0
0
0
3
0
0
-1
67
-64
127
-43
2
9
0
0
0
0
0
0
0
0
0
-3
21
27
3
9
13
37
0
0
0
0
0
0
0
-3
2
0
1
-3
-88
-1
12
-70
-1
-1
0
0
0
0
0
0
0
0
0
-17
-2
-2
4
1
3
0
-1
0
0
0
0
0
0
0
0
1
11
0
0
-24
5
-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
-19
16
3
13
-52
-18
9
-82
0
-17
1
0
0
0
0
0
0
-10
-51
-26
34
2
2
1
47
-14
-26
0
0
0
0
0
0
0
0
-2
-10
2
-52
-42
199
-17
20
-3
0
0
0
0
0
0
0
-82
8
0
4
27
-195
-64
58
-6
-107
0
0
0
0
0
0
0
2
-29
-7
11
12
24
69
-11
50
0
0
0
0
0
0
0
0
0
0
-2
17
29
-61
-1
-23
-3
0
0
0
0
0
0
0
0
0
11
-8
3
7
0
45
-8
-10
0
0
0
0
0
0
0
0
0
6
0
-6
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
0
0
0
0
34
2
1
-6
49
-47
-81
0
13
0
0
0
0
0
0
0
0
-109
-6
-20
-85
-15
-83
18
0
-22
-1
0
0
0
0
0
0
0
-39
2
-40
21
-136
15
63
106
4
0
0
0
0
0
0
0
0
21
-11
-5
-42
-13
-142
98
97
0
-1
0
0
0
0
0
0
0
23
1
-19
5
-63
-19
36
-1
-13
0
0
0
0
0
0
0
0
-8
-17
3
15
-2
3
36
28
-7
0
0
0
0
0
0
0
0
0
20
-6
-12
3
1
18
64
16
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
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
-3
0
0
-8
-10
0
0
0
0
0
0
0
0
0
0
-2
-8
-8
10
-6
2
-10
0
0
0
0
0
0
0
0
5
0
-1
1
1
3
24
-5
2
0
0
0
0
0
0
0
0
2
0
0
0
-3
12
9
10
0
0
0
0
0
0
0
0
0
4
0
0
-2
-2
2
6
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
-123
7
14
0
0
0
0
0
0
0
0
0
0
-14
10
-11
-72
-39
6
40
95
0
0
0
0
0
0
0
0
0
3
1
-147
-165
-68
43
63
0
0
0
0
0
0
0
0
0
0
86
0
-29
80
-10
102
7
-26
0
0
0
0
0
0
0
0
0
1
0
-32
29
13
-30
-106
-2
0
0
0
0
0
0
0
0
-2
-14
-96
12
59
49
-43
39
-2
0
0
0
0
0
0
0
0
0
18
-1
4
71
-50
8
4
56
0
0
0
0
0
0
0
0
0
-4
-2
-29
0
10
-31
27
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
60
4
0
0
0
0
0
0
0
0
0
-21
-32
-231
-34
-47
46
-2
-1
0
56
0
0
0
0
0
0
0
57
4
-48
123
-75
5
17
24
-11
48
0
0
0
0
0
0
0
23
53
78
-42
-10
1
25
13
-16
-65
0
0
0
0
0
0
0
18
46
1
-54
-20
-48
19
-37
35
-18
0
0
0
0
0
0
0
-8
0
-6
51
26
25
-35
56
-27
49
0
0
0
0
0
0
0
85
-69
-8
-20
176
1
-31
-48
-105
-18
0
0
0
0
0
0
0
-51
0
64
42
-54
23
4
68
-4
-2
0
0
0
0
0
0
0
0
0
-2
-12
35
42
18
-2
18
-35
0
0
0
0
0
0
0
0
0
0
0
-16
1
79
-11
-29
0
0
0
0
0
0
0
0
1
-28
-43
-63
133
-81
43
8
0
-3
1
0
0
0
0
0
0
0
4
-14
90
-37
21
20
33
37
-29
48
0
0
0
0
0
0
0
-57
70
54
62
-58
13
-15
25
-17
-4
0
0
0
0
0
0
-14
81
-16
-132
-34
6
-49
8
-59
-26
-61
0
0
0
0
0
0
0
57
0
-22
-65
-18
-11
-54
-1
-48
0
0
0
0
0
0
0
21
101
-8
11
-6
-1
16
-25
-67
28
-12
0
0
0
0
0
0
6
97
-38
27
-36
3
8
-41
-57
-56
0
0
0
0
0
0
0
0
-14
38
-29
7
73
-9
-43
-66
-43
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
28
0
0
0
0
0
0
0
0
0
-1
-3
-9
52
-41
2
87
0
39
14
0
0
0
0
0
0
-11
-5
41
0
-65
-18
43
17
0
-94
72
0
0
0
0
0
0
-3
103
53
-46
17
-44
77
-7
0
112
23
0
0
0
0
0
0
55
-33
0
39
-61
45
79
48
86
-9
31
0
0
0
0
0
0
-21
10
-3
0
-47
-34
-29
-58
-21
-55
-2
0
0
0
0
0
0
-16
33
18
26
-76
97
138
-18
-29
-104
14
0
0
0
0
0
0
-5
162
124
0
-67
9
107
35
-39
-30
20
0
0
0
0
0
0
4
-9
0
79
-69
-70
10
7
88
27
0
0
0
0
0
0
0
0
0
0
0
-19
0
-170
-3
-29
3
0
0
0
0
0
0
0
0
19
4
-15
-91
64
-8
-27
0
32
-1
-1
0
0
0
0
0
0
84
102
-3
-83
21
7
59
15
36
48
9
0
0
0
0
0
3
56
-76
71
62
20
73
41
35
-12
26
0
0
0
0
0
0
0
-138
19
-52
-113
-128
22
57
21
-71
-2
0
0
0
0
0
0
-1
34
-25
-8
0
9
15
11
-34
-108
2
4
0
0
0
0
0
-14
-1
39
74
-44
25
28
-26
46
-2
-44
0
0
0
0
0
0
20
-5
160
62
27
-30
120
-27
-71
-12
0
0
0
0
0
0
0
0
-6
-12
3
-4
13
177
4
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
0
0
0
0
0
0
0
0
5
-1
4
5
-61
-67
-15
48
0
74
17
0
0
0
0
0
0
0
9
-26
25
93
-80
8
-34
71
-10
75
0
0
0
0
0
0
0
39
-7
58
20
-50
-13
55
125
-63
-16
0
0
0
0
0
0
-8
62
-39
-7
-109
150
-31
20
82
-39
0
0
0
0
0
0
0
0
-55
16
-2
-61
0
-6
-71
31
35
0
0
0
0
0
0
0
10
20
-48
-93
-16
11
25
61
-3
-71
4
0
0
0
0
0
0
13
9
16
55
36
-12
85
-23
93
2
0
0
0
0
0
0
0
0
-11
0
-69
0
-95
29
-63
-3
-19
0
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
-34
0
-5
4
-24
-68
0
45
-11
0
0
0
0
0
0
0
-12
-5
0
-25
-41
64
26
74
-14
2
0
0
0
0
0
0
0
109
11
1
22
132
-93
37
186
-112
-2
0
0
0
0
0
0
0
13
-26
-2
-134
-58
39
-26
17
-116
-7
0
0
0
0
0
0
0
0
1
-10
-4
4
0
3
51
-10
2
-9
0
0
0
0
0
0
2
-7
5
27
-15
-87
114
149
-6
-4
0
0
0
0
0
0
0
0
-28
0
0
-11
8
-11
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
-43
7
-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
10
-12
25
44
-7
0
-19
0
0
0
0
0
0
0
0
4
0
17
5
25
69
-75
-26
11
0
0
0
0
0
0
0
-4
0
-5
12
18
5
-39
73
7
22
0
0
0
0
0
0
0
6
0
3
-63
-11
-48
4
-40
3
-8
0
0
0
0
0
0
0
3
0
0
3
14
-14
9
0
-46
-8
0
0
0
0
0
0
0
-3
5
-2
-10
2
-19
4
-71
2
0
17
0
0
0
0
0
0
0
0
14
0
55
2
-6
14
6
0
1
0
0
0
0
0
0
0
0
0
2
0
-85
0
-23
0
0
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
26
58
25
-62
-110
31
0
-8
0
0
0
0
0
0
0
-14
-3
-8
100
-47
27
13
24
-64
-31
2
0
0
0
0
0
0
3
-26
2
-16
-9
-22
41
105
-73
14
0
0
0
0
0
0
0
47
11
-10
-12
-106
-22
-162
-40
-48
0
0
0
0
0
0
0
0
-13
6
4
-41
49
-122
-71
-80
0
-11
0
0
0
0
0
0
0
1
-22
-15
-6
-23
60
13
45
18
15
0
0
0
0
0
0
0
4
-7
0
0
64
-35
44
12
28
-4
0
0
0
0
0
0
0
0
-10
-2
10
-13
11
-3
21
-22
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
1
-4
13
-18
14
-52
-6
0
-7
0
0
0
0
0
0
0
0
56
-11
-38
-92
124
132
65
86
-74
0
0
0
0
0
0
0
0
-24
19
-39
112
12
155
5
-90
-5
0
0
0
0
0
0
0
0
22
19
-43
21
87
63
-1
-5
-68
0
0
0
0
0
0
0
0
10
-1
38
-73
8
51
178
104
0
0
0
0
0
0
0
0
0
-66
23
5
-122
36
-11
-46
-1
-80
0
0
0
0
0
0
0
0
16
24
-10
-23
14
-88
1
-14
2
0
0
0
0
0
0
0
0
0
-1
0
-1
-75
-23
33
78
10
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
9
0
-1
0
39
1
-88
0
0
0
0
0
0
0
0
-6
-3
0
0
2
-8
0
19
4
0
0
0
0
0
0
0
0
0
0
0
-3
20
-25
-31
0
-5
0
0
0
0
0
0
0
0
0
0
2
3
2
14
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-4
-4
-55
-21
44
0
0
0
0
0
0
0
0
0
0
6
-3
-10
24
-13
50
-25
-14
0
0
0
0
0
0
0
0
1
-11
0
-2
-8
-12
17
-104
-49
0
0
0
0
0
0
0
0
0
-5
-5
-55
-20
-3
-22
-18
4
0
0
0
0
0
0
0
0
0
-18
-25
37
-39
24
-14
66
-43
0
0
0
0
0
0
0
0
0
19
9
26
-6
-37
-17
38
0
0
0
0
0
0
0
0
0
0
31
25
-12
-84
-14
-23
-1
28
0
0
0
0
0
0
0
0
0
-72
-6
72
0
-5
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
70
-20
-2
0
0
0
0
0
0
0
0
2
0
55
69
-24
-25
-5
-13
0
39
0
0
0
0
0
0
0
-75
53
-60
-80
-64
0
-14
26
24
87
0
0
0
0
0
0
0
-38
10
-7
-2
26
12
11
12
14
45
0
0
0
0
0
0
0
20
-6
55
159
30
-38
-6
7
10
3
0
0
0
0
0
0
0
115
157
-37
-80
39
-71
4
13
-9
28
0
0
0
0
0
0
0
1
0
-26
62
-72
-29
-6
-5
31
23
0
0
0
0
0
0
0
-6
-7
-65
-134
-13
6
8
-130
85
-9
0
0
0
0
0
0
0
-5
18
55
-193
14
-9
-47
-19
5
26
0
0
0
0
0
0
0
0
0
0
0
159
-2
-53
0
0
0
0
0
0
0
0
0
0
0
19
11
-4
70
88
36
33
0
-77
-11
0
0
0
0
0
0
0
-17
73
16
-74
-16
68
20
64
39
-13
0
0
0
0
0
0
0
-21
22
50
-72
7
14
-6
27
32
-12
0
0
0
0
0
0
4
101
-4
27
-9
-54
-46
-11
6
-53
26
0
0
0
0
0
0
33
-57
-33
40
24
-3
-33
20
-118
-7
-3
0
0
0
0
0
0
0
-33
0
-20
-40
-138
-5
-41
-13
-103
0
0
0
0
0
0
0
-2
19
0
13
-52
-24
-4
-5
-70
-15
0
0
0
0
0
0
0
0
4
0
-84
-80
-58
38
-21
-120
74
0
0
0
0
0
0
0
0
0
0
0
-29
0
-17
42
0
0
0
0
0
0
0
0
0
0
-13
0
-63
4
-129
38
-10
0
9
-7
0
0
0
0
0
0
-1
-11
10
66
32
-22
-21
20
11
51
39
0
0
0
0
0
0
9
9
17
-3
-86
-67
60
-2
17
31
7
0
0
0
0
0
0
-44
-12
25
-44
29
24
-88
3
-2
-29
-37
0
0
0
0
0
0
-35
-122
25
8
-80
51
3
-7
-68
75
13
0
0
0
0
0
0
-9
2
39
0
-98
-108
-96
29
-1
15
4
0
0
0
0
0
0
1
57
35
-14
-227
-96
9
-24
3
-12
0
0
0
0
0
0
0
0
-24
8
33
21
145
-60
44
-39
-16
0
0
0
0
0
0
0
0
0
0
0
15
-49
35
-13
0
0
0
0
0
0
0
0
0
2
-7
21
-50
-14
-23
5
15
0
53
19
0
0
0
0
0
0
0
31
-38
23
-32
-10
-9
13
21
47
38
-1
0
0
0
0
0
0
-20
4
32
-56
-88
-15
56
44
7
0
1
0
0
0
0
0
24
42
46
-160
-31
-6
48
28
49
-41
0
0
0
0
0
0
0
-11
-60
45
-58
5
-78
41
30
-53
-6
-1
0
0
0
0
0
0
0
-26
102
0
0
-46
13
-22
1
-128
10
0
0
0
0
0
0
0
-15
80
-71
-85
208
33
-26
2
-67
0
0
0
0
0
0
0
0
-16
60
-13
0
-16
67
-18
-184
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
-2
14
-12
-53
16
-44
62
0
-52
1
0
0
0
0
0
0
0
77
-2
-45
-1
-75
-107
-9
-48
130
17
0
0
0
0
0
0
5
4
37
-6
85
-21
-28
-41
217
16
52
0
0
0
0
0
0
-5
-3
3
13
56
38
104
161
-27
-42
63
0
0
0
0
0
0
8
-133
-13
27
-30
14
-50
149
12
-73
5
0
0
0
0
0
0
0
0
14
0
3
0
-12
-39
49
-17
-10
0
0
0
0
0
0
0
3
35
91
-31
-47
-54
18
-19
41
1
0
0
0
0
0
0
0
0
-7
0
5
-27
44
31
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-13
0
-23
1
0
0
0
0
0
0
0
0
0
0
0
1
3
5
-58
-30
-33
0
-97
-9
0
0
0
0
0
0
0
-11
-2
-2
33
28
-64
-26
-148
31
2
0
0
0
0
0
0
0
-16
-2
0
35
25
18
-108
50
-1
4
0
0
0
0
0
0
1
-96
5
-1
-52
72
-94
38
110
-70
-8
0
0
0
0
0
0
0
-52
-5
-3
83
-3
1
-54
-48
20
0
0
0
0
0
0
0
0
5
-1
-15
-47
-98
0
-44
21
27
3
0
0
0
0
0
0
0
1
65
30
-70
-6
36
6
123
-25
0
0
0
0
0
0
0
0
0
0
3
0
9
-24
-77
-12
-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
3
0
0
3
4
-5
-48
12
0
-42
0
0
0
0
0
0
0
0
-11
0
0
1
5
42
-14
25
-21
7
0
0
0
0
0
0
0
-2
0
1
-1
17
4
-15
-129
-18
0
0
0
0
0
0
0
0
0
0
1
24
2
15
0
-61
0
0
0
0
0
0
0
0
0
0
13
1
-24
2
1
-55
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-17
-7
-5
0
13
15
-7
0
0
0
0
0
0
0
0
0
2
-7
50
0
-7
0
0
0
0
0
0
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
12
-5
-26
0
51
-56
-31
-10
0
-23
-2
0
0
0
0
0
0
4
-39
-17
-6
66
-30
-2
-73
-99
-30
4
0
0
0
0
0
0
-4
32
-3
14
-45
46
-22
-202
-136
-9
0
0
0
0
0
0
0
48
-74
4
19
-8
-16
174
-89
-123
-55
0
0
0
0
0
0
0
-24
67
-44
-38
37
-7
47
3
41
-1
0
0
0
0
0
0
0
31
-62
-95
-63
-50
-91
53
-34
0
-21
0
0
0
0
0
0
0
9
-16
-17
26
47
-13
8
10
60
0
0
0
0
0
0
0
0
0
10
-3
-23
39
-25
2
32
-1
0
0
0
0
0
0
0
0
0
-1
0
0
13
0
13
-4
0
0
0
0
0
0
0
0
0
0
5
11
12
-2
-4
-7
6
0
62
-11
0
0
0
0
0
0
0
-13
27
19
-51
14
-37
67
-15
52
-7
0
0
0
0
0
0
0
-77
2
-20
-143
61
64
-59
-60
53
0
0
0
0
0
0
0
0
38
-4
-92
-7
-53
-31
45
51
-94
0
0
0
0
0
0
0
0
-72
-4
149
-27
-16
-38
52
4
-40
0
0
0
0
0
0
0
0
-45
-14
-6
-20
-81
-122
59
36
0
3
0
0
0
0
0
0
0
0
34
11
-142
3
-11
-68
5
-2
0
0
0
0
0
0
0
0
6
1
0
3
-6
12
67
-20
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
11
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
5
4
-81
0
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
5
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
-9
4
-1
3
-20
1
0
4
0
0
0
0
0
0
0
0
0
1
0
0
-8
1
-15
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
-110
-32
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
52
-1
-4
0
0
0
0
0
0
0
0
13
0
0
3
14
50
-7
23
-8
0
0
0
0
0
0
0
0
0
0
3
0
-3
-30
-57
-11
-29
0
0
0
0
0
0
0
0
0
10
-50
42
-27
108
-11
-36
0
0
0
0
0
0
0
0
0
0
19
0
0
13
-21
78
-5
4
0
0
0
0
0
0
0
0
0
-1
13
-14
7
20
21
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
49
0
0
0
0
0
0
0
0
0
0
0
-2
-95
-4
-1
-85
27
132
0
49
0
0
0
0
0
0
0
-4
-1
-19
-96
76
16
-38
14
1
29
0
0
0
0
0
0
0
15
2
25
12
-47
63
25
-84
10
-89
0
0
0
0
0
0
0
-20
0
-11
153
-77
27
-85
8
-26
36
0
0
0
0
0
0
0
-30
-4
-54
10
-59
-42
-20
-19
-27
64
0
0
0
0
0
0
0
-16
-45
-10
-14
-41
-8
37
12
7
10
0
0
0
0
0
0
0
-63
0
-7
164
-18
-69
-22
-21
43
20
0
0
0
0
0
0
0
-10
0
-49
-207
6
37
-98
-34
-111
-41
0
0
0
0
0
0
0
0
0
-1
0
-25
0
9
2
-7
0
0
0
0
0
0
0
0
0
8
34
-1
41
-99
88
11
0
23
1
0
0
0
0
0
0
0
48
-20
20
-38
68
13
53
56
-14
-9
0
0
0
0
0
0
0
34
-6
43
62
-23
55
57
5
9
0
0
0
0
0
0
0
1
0
14
126
-110
-15
4
-9
-20
31
48
0
0
0
0
0
0
-14
29
12
35
31
1
-7
-27
3
4
0
0
0
0
0
0
0
0
-54
-23
122
-76
-11
16
47
-48
23
-11
0
0
0
0
0
0
0
11
0
-155
-80
30
17
-140
19
-30
0
0
0
0
0
0
0
0
258
-14
4
-98
35
-51
32
-34
-1
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
-5
3
0
0
0
0
0
0
0
0
0
0
1
-8
-96
-77
21
-49
0
105
0
0
0
0
0
0
0
0
-1
0
-32
-63
14
-115
35
94
-44
-41
0
0
0
0
0
0
8
54
25
14
-10
-86
-27
139
-12
-24
1
0
0
0
0
0
0
-8
9
8
-79
-108
5
54
-1
-62
63
47
0
0
0
0
0
0
6
118
-10
-3
-30
-99
-11
-41
-72
40
-2
0
0
0
0
0
0
-57
-84
-16
-49
-87
-26
-96
30
50
-77
-93
0
0
0
0
0
0
13
15
-2
0
-48
-49
-15
-48
-4
-76
-13
0
0
0
0
0
0
2
-110
-29
38
3
-100
-65
24
-13
14
0
0
0
0
0
0
0
0
0
4
0
-50
0
20
11
33
0
0
0
0
0
0
0
0
0
0
-36
-11
64
-25
62
8
0
-68
1
0
0
0
0
0
0
2
-19
6
-3
-174
-37
-94
79
15
107
101
0
0
0
0
0
0
0
-64
18
-7
-118
-75
43
-34
121
-52
-4
0
0
0
0
0
0
15
54
53
68
-32
8
-32
126
-25
55
-20
0
0
0
0
0
0
0
-49
58
112
-163
-15
94
-22
46
-67
0
0
0
0
0
0
0
0
27
-152
-133
-7
105
39
27
-101
57
-7
-1
0
0
0
0
0
0
0
-6
2
0
8
-49
-196
29
17
0
0
0
0
0
0
0
0
-19
0
-4
0
10
42
10
-178
-52
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
-3
0
-18
6
-121
-26
0
39
0
0
0
0
0
0
0
0
0
0
-16
-19
-30
-211
-54
46
35
97
0
0
0
0
0
0
0
20
0
-15
10
-13
-46
-39
-3
28
8
0
0
0
0
0
0
-3
0
-8
-19
82
-8
15
48
52
39
-12
0
0
0
0
0
0
0
-29
23
10
-33
-6
-39
21
-87
78
-1
0
0
0
0
0
0
-1
8
-59
-59
-19
-66
-4
90
-37
-110
25
0
0
0
0
0
0
0
0
-7
16
-11
0
-1
-106
119
37
-4
0
0
0
0
0
0
33
0
11
18
0
29
6
34
-6
-14
0
0
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
5
-11
-1
-5
18
0
-11
-1
0
0
0
0
0
0
0
-4
0
-1
-143
4
6
-58
21
58
7
0
0
0
0
0
0
0
9
0
0
192
9
93
-57
45
12
0
0
0
0
0
0
0
0
26
0
11
44
147
-80
-34
46
156
2
0
0
0
0
0
0
0
74
62
-38
29
-10
-32
-100
142
4
0
0
0
0
0
0
0
0
39
19
25
-86
-5
23
25
71
95
0
0
0
0
0
0
0
0
0
23
-2
-13
-3
0
48
126
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-7
27
12
59
-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
3
-3
-1
-6
0
2
0
0
0
0
0
0
0
0
0
-22
-2
0
-16
-3
-93
9
14
13
0
0
0
0
0
0
-4
0
0
0
-24
-5
37
-11
-89
0
0
0
0
0
0
0
0
10
0
0
8
-4
-98
19
-77
-15
-62
0
0
0
0
0
0
0
2
0
5
10
31
-13
9
-93
14
0
0
0
0
0
0
0
0
0
0
0
-3
-4
87
0
22
0
-2
0
0
0
0
0
0
0
0
0
2
1
-122
-3
9
0
-108
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
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
-3
0
16
0
5
8
-96
-55
0
-72
0
0
0
0
0
0
0
0
-12
10
2
37
27
180
6
-188
3
-1
0
0
0
0
0
0
0
-29
-21
-2
2
50
36
-30
43
-5
0
0
0
0
0
0
0
-6
-19
-10
-26
4
4
17
-178
-148
-55
0
0
0
0
0
0
0
-13
7
22
27
-23
-54
97
-26
-126
-14
0
0
0
0
0
0
0
-8
27
27
7
161
136
205
-10
-30
0
0
0
0
0
0
0
0
-15
-51
2
40
-84
-78
-40
-32
0
53
0
0
0
0
0
0
0
0
-18
0
-26
-16
28
60
0
26
2
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
-4
0
-20
-8
-21
43
0
13
1
0
0
0
0
0
0
0
6
-14
1
0
41
9
63
-62
-27
-23
0
0
0
0
0
0
0
26
-1
27
-36
-5
1
32
72
-4
0
0
0
0
0
0
0
0
-54
0
18
27
-52
-7
-112
-29
93
0
0
0
0
0
0
0
0
13
1
-50
-66
-21
17
5
-31
-24
0
0
0
0
0
0
0
0
23
0
0
1
-1
-50
62
1
2
0
0
0
0
0
0
0
0
0
-2
-2
-30
-9
-112
14
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-159
-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
8
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
0
0
0
0
0
0
0
0
1
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
-1
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
16
0
34
-11
-4
-3
0
0
0
0
0
0
0
0
-1
-2
0
0
41
1
-19
27
-149
0
0
0
0
0
0
0
0
0
0
0
-4
8
-60
3
-35
-2
0
0
0
0
0
0
0
0
-5
-22
4
-5
-51
25
-109
5
74
0
0
0
0
0
0
0
0
0
-53
6
-12
-6
-24
-7
-35
-2
0
0
0
0
0
0
0
0
0
14
4
-11
-35
-23
29
-4
48
0
0
0
0
0
0
0
0
0
-16
0
38
-2
27
-2
85
-3
0
0
0
0
0
0
0
0
0
14
0
0
-19
16
-62
21
0
0
0
0
0
0
0
0
0
0
0
-20
0
14
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
-2
57
-59
106
2
92
-23
10
0
0
0
0
0
0
0
-24
0
-7
-32
13
-68
38
-67
-69
-3
0
0
0
0
0
0
0
-8
0
2
114
-51
42
-23
-48
21
-52
0
0
0
0
0
0
0
-80
13
105
-11
8
54
-62
-8
35
16
0
0
0
0
0
0
0
-33
0
109
-19
-35
-16
-36
47
-9
-1
0
0
0
0
0
0
0
-86
-2
-60
-43
-9
-56
63
-53
17
0
0
0
0
0
0
0
0
0
0
1
-110
-21
15
4
30
-16
0
0
0
0
0
0
0
0
45
0
0
0
-91
8
40
79
32
0
0
0
0
0
0
0
0
0
0
0
9
-13
-9
70
38
0
-4
0
0
0
0
0
0
0
0
-2
13
0
-84
62
5
42
122
49
0
0
0
0
0
0
0
-1
88
0
0
-16
-31
-4
-1
96
-62
-1
0
0
0
0
0
0
19
0
0
60
18
-65
57
-83
-44
95
0
0
0
0
0
0
0
3
-27
0
31
-87
73
-71
-107
75
23
0
0
0
0
0
0
0
-8
-197
1
-60
-48
-44
48
110
53
109
0
0
0
0
0
0
0
12
-9
9
13
-22
45
50
49
59
-14
0
0
0
0
0
0
0
0
7
0
-14
47
-6
-31
-52
25
-32
0
0
0
0
0
0
0
0
0
0
0
3
28
-65
61
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-42
15
0
-36
0
0
0
0
0
0
0
0
0
1
-31
1
43
-67
-11
-71
1
31
0
0
0
0
0
0
0
0
0
0
15
-4
-15
-39
24
-25
-10
0
0
0
0
0
0
55
0
-35
-28
-8
-54
39
48
6
38
0
0
0
0
0
0
0
37
93
-12
-4
-116
10
90
9
36
16
55
0
0
0
0
0
0
-32
-5
81
7
51
118
78
51
13
60
8
0
0
0
0
0
0
68
-8
-50
-1
-85
-77
24
-20
27
-5
9
0
0
0
0
0
0
0
-5
0
0
-28
-25
1
-53
8
-16
0
0
0
0
0
0
0
0
0
0
0
-45
-11
-81
11
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-35
-4
0
0
-25
0
0
0
0
0
0
0
0
0
-7
-1
-20
-25
38
28
17
0
0
0
0
0
0
0
0
11
0
1
6
6
-5
-44
27
-11
0
-2
0
0
0
0
0
0
-3
4
82
-23
133
30
-10
-9
126
0
0
0
0
0
0
0
0
11
-8
22
11
34
-20
-9
-1
35
-5
0
0
0
0
0
0
0
3
72
18
-3
8
41
21
-21
-78
0
0
0
0
0
0
0
0
2
2
-71
-9
34
58
-14
47
-20
0
0
0
0
0
0
0
0
0
0
-21
0
7
-17
61
-10
0
2
0
0
0
0
0
0
0
2
0
0
0
0
-16
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
11
0
0
0
0
0
0
0
0
0
0
4
2
-2
1
-39
2
17
5
0
0
0
0
0
0
0
0
0
0
70
0
-38
-3
-12
0
0
0
0
0
0
0
0
-47
0
0
-6
0
68
0
-31
-3
31
1
0
0
0
0
0
0
0
-24
8
0
-31
-31
-109
-17
9
-3
-4
0
0
0
0
0
0
0
-6
4
-38
1
-31
-3
0
4
19
0
0
0
0
0
0
0
19
-26
0
34
-22
-7
33
10
-8
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
-60
-62
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-9
-16
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
6
-10
40
0
0
0
0
0
0
0
0
0
-7
0
0
9
-47
4
41
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
73
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
2
3
-1
0
0
0
0
0
0
0
-3
0
2
0
1
6
9
-2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
8
10
25
1
-85
-3
-2
0
0
0
0
0
0
0
0
4
0
0
-3
0
-85
86
-50
0
0
0
0
0
0
0
0
-1
0
0
4
0
20
21
-130
3
-41
0
0
0
0
0
0
0
0
-31
6
0
28
-6
72
0
-22
2
0
0
0
0
0
0
0
0
3
-5
-21
10
7
0
81
0
8
0
0
0
0
0
0
0
0
-4
0
3
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
18
5
-28
-3
6
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
3
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-5
-16
0
9
0
0
0
0
0
0
0
0
3
0
0
0
0
11
-77
-45
2
5
0
0
0
0
0
0
0
0
0
-2
0
1
12
64
-54
0
0
0
0
0
0
0
0
0
-4
0
-1
10
-3
1
-2
-48
0
0
0
0
0
0
0
0
0
-18
11
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-4
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
45
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
0
37
0
19
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
16
0
0
28
0
-72
0
99
-1
0
0
0
0
0
0
0
0
22
0
-3
0
-22
0
-13
0
119
0
0
0
0
0
0
0
0
-11
0
1
-46
0
-10
0
18
0
0
0
0
0
0
0
0
0
-35
0
0
-4
-81
0
77
0
18
0
0
0
0
0
0
0
0
11
0
5
17
0
17
0
109
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
58
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
-2
35
-7
0
0
0
0
0
0
0
0
0
0
1
2
-16
-3
0
0
0
0
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
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
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
0
0
0
0
-3
0
0
95
20
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
-15
0
0
0
0
0
0
0
0
0
-3
0
0
0
19
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-74
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
-19
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
-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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-34
-13
7
3
0
0
0
0
0
0
0
0
0
0
0
19
12
0
26
35
-9
0
0
42
0
0
0
0
0
0
0
0
-2
-20
-13
-1
-24
0
-2
0
19
0
0
0
0
0
0
0
0
0
26
2
-2
0
-10
0
0
-7
0
0
0
0
0
0
0
0
-1
-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
42
48
50
-32
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-1
59
27
2
0
0
0
0
0
0
0
0
0
0
0
-72
-16
5
96
19
-3
0
1
-31
0
0
0
0
0
0
0
-1
74
8
39
7
-38
-6
-22
32
75
0
0
0
0
0
0
0
-2
1
113
-5
-61
-8
-70
-10
23
34
0
0
0
0
0
0
0
0
19
4
45
-11
16
0
-5
0
6
0
0
0
0
0
0
0
0
0
-13
-3
10
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
-3
0
12
34
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
21
4
62
3
2
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-16
-2
-1
0
-2
2
-1
0
0
0
0
0
0
0
1
45
21
-1
-20
4
19
7
7
0
0
0
0
0
0
0
1
-2
24
38
-74
34
-1
-1
0
-9
0
0
0
0
0
0
0
0
11
-1
-25
-4
-10
2
-3
-11
37
0
0
0
0
0
0
0
0
2
20
-1
4
0
-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
-6
0
-9
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
205
-2
-35
-14
42
0
0
0
0
0
0
0
0
0
0
0
34
-2
-23
-73
9
6
-2
0
-1
0
5
1
0
0
0
0
0
0
59
-27
28
7
-5
0
-2
-1
0
0
0
0
0
0
0
0
-17
-134
26
10
-6
62
1
0
0
0
0
0
0
0
0
0
0
0
53
39
4
1
6
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
-7
8
61
24
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
105
14
-65
-1
1
0
0
0
0
0
0
0
0
0
0
-64
-58
1
70
11
107
0
1
-6
0
0
-2
0
0
0
0
0
-18
-34
65
5
165
5
51
-2
-6
-13
0
0
0
0
0
0
0
0
-124
46
35
-52
39
-46
78
0
9
0
0
0
0
0
0
0
0
-9
31
-14
19
7
0
12
0
-3
0
0
0
0
0
0
0
0
0
-5
-6
-1
4
3
-4
-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
49
5
12
-24
-81
0
0
0
0
0
0
0
0
0
0
0
0
53
61
6
-54
53
36
-9
0
0
0
0
0
0
0
0
0
0
25
81
-29
-67
-12
-27
-13
34
6
-42
0
0
0
0
0
0
0
-58
-113
-4
-67
82
97
-41
-22
95
-4
0
0
0
0
0
0
0
-26
-11
118
27
33
14
-11
0
50
-2
0
0
0
0
0
0
0
0
50
-80
30
-22
45
-33
-82
5
5
0
0
0
0
0
0
0
0
-2
62
49
0
-22
-2
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
1
56
-46
66
46
-43
0
0
0
0
0
0
0
0
0
0
0
15
-25
75
-16
62
94
-16
0
-1
0
0
0
0
0
0
0
0
-3
-26
36
-10
-70
24
85
40
-39
73
-2
0
0
0
0
0
0
3
-51
-13
-36
-74
32
-1
-11
63
81
0
0
0
0
0
0
0
1
-142
-11
49
3
-18
69
-29
60
-79
0
0
0
0
0
0
0
0
-71
67
-54
-79
80
-35
-36
1
16
0
0
0
0
0
0
0
0
0
-125
-13
-82
21
12
0
-33
-11
0
0
0
0
0
0
0
0
0
-12
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
36
16
-33
-99
-9
-12
4
0
0
0
0
0
0
0
0
0
0
-13
86
-35
-13
14
-103
-53
0
5
0
0
0
0
0
0
0
0
-4
-172
-8
58
60
-116
42
-1
156
8
4
0
0
0
0
0
0
-135
4
35
-1
-50
-155
90
37
-30
0
0
0
0
0
0
0
0
11
-200
37
-94
157
69
-90
-18
74
-9
0
0
0
0
0
0
0
-1
-22
27
8
18
-2
-3
-3
-4
-4
0
0
0
0
0
0
0
0
0
-51
-35
-19
1
-7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-8
-14
3
0
0
0
-2
0
0
0
0
0
0
0
100
-163
9
-47
-16
15
0
0
0
10
0
0
0
0
0
0
0
17
-42
-59
104
-88
-14
-20
8
-1
2
0
0
0
0
0
0
0
-24
-123
-23
-97
66
105
35
11
-4
40
0
0
0
0
0
0
0
-1
-76
-46
-88
107
-15
-7
14
1
2
0
0
0
0
0
0
0
-22
-67
47
-52
71
50
-4
-4
0
-1
0
0
0
0
0
0
0
-22
17
-47
-73
0
56
32
-61
0
0
0
0
0
0
0
0
0
0
0
-60
0
1
1
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
74
18
-1
0
0
0
2
4
0
0
0
0
0
0
0
-1
-90
7
-2
6
0
-3
15
0
7
0
0
0
0
0
0
0
-5
4
75
53
22
-10
-3
-27
0
-2
0
0
0
0
0
0
0
2
41
-20
-24
9
-14
-11
-17
0
0
0
0
0
0
0
0
0
4
1
-27
-9
20
-5
-11
-4
0
0
0
0
0
0
0
0
0
0
2
-6
-79
0
1
0
-11
0
0
0
0
0
0
0
0
0
0
-3
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
-3
-1
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-45
38
-2
0
0
0
0
0
0
0
0
0
0
0
-13
49
48
6
-40
-42
-2
0
0
0
0
0
0
0
0
0
0
12
40
12
-34
-32
-33
5
3
-52
0
0
0
0
0
0
0
0
-9
25
53
83
-34
10
-41
-4
-28
0
0
0
0
0
0
0
0
7
-1
-71
1
2
-15
-9
3
-35
0
0
0
0
0
0
0
0
0
48
-1
3
5
-24
-9
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
0
0
0
0
0
0
0
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
87
49
8
0
0
0
0
0
0
0
0
0
0
-1
-6
12
113
26
-56
-24
0
-5
0
0
0
0
0
0
0
0
0
-71
-27
6
-7
-43
13
17
-2
-16
0
0
0
0
0
0
0
-10
102
102
-67
-44
0
-33
48
-25
32
0
0
0
0
0
0
0
16
63
-114
-47
47
39
-14
-22
17
34
0
0
0
0
0
0
0
-1
5
64
54
87
-26
-2
7
0
20
0
0
0
0
0
0
0
0
0
-32
-4
0
3
0
-2
0
2
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
-17
0
-35
6
4
-4
0
0
0
0
0
0
0
0
0
0
47
-8
-86
24
-36
1
0
-1
0
3
0
0
0
0
0
0
0
-16
10
11
13
37
-32
1
3
3
13
0
0
0
0
0
0
0
1
-132
13
10
18
-7
9
-8
-14
6
0
0
0
0
0
0
0
16
69
22
-77
-32
19
0
24
12
3
0
0
0
0
0
0
0
40
-27
-12
-59
1
6
13
15
-2
-9
0
0
0
0
0
0
0
0
-18
0
0
4
-3
21
33
0
0
0
0
0
0
0
0
0
0
-2
6
-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
-9
-24
-7
-49
-3
-1
3
0
0
0
0
0
0
0
0
0
0
-37
-159
-165
-107
10
5
-4
0
0
0
1
0
0
0
0
0
0
1
33
-32
-9
39
37
-8
0
1
1
-1
1
0
0
0
0
0
-39
-57
64
-11
-18
-18
4
3
11
0
1
0
0
0
0
0
0
-20
147
-32
41
5
39
32
-12
-1
0
3
0
0
0
0
0
0
0
33
26
19
17
9
-7
0
4
0
0
0
0
0
0
0
0
0
0
-16
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
-13
-17
27
-2
-54
-24
8
0
0
0
0
0
0
0
0
0
0
-12
120
39
-30
39
8
11
0
-4
0
0
0
0
0
0
0
0
-31
-23
3
-106
118
54
8
3
21
13
0
0
0
0
0
0
0
11
-93
5
25
-21
16
120
60
12
5
0
0
0
0
0
0
0
-45
-89
154
28
-74
31
-39
-31
-70
-15
0
0
0
0
0
0
0
0
21
-11
-55
64
25
-43
-45
1
11
0
0
0
0
0
0
0
4
0
44
5
6
12
-3
-1
3
-4
0
0
0
0
0
0
0
0
0
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
-70
20
-74
25
-39
-5
0
0
0
0
0
0
0
0
0
0
0
8
-10
-13
45
81
83
38
0
5
0
-1
0
0
0
0
0
0
8
20
-89
-60
-48
21
-39
-54
-66
8
0
0
0
0
0
0
0
-56
-83
-7
-37
4
19
93
43
56
-13
0
0
0
0
0
0
0
23
-20
70
34
95
49
-136
-80
19
9
0
0
0
0
0
0
0
0
6
41
73
115
24
8
27
14
-4
0
0
0
0
0
0
0
-3
-1
79
40
71
14
17
6
-17
0
0
0
0
0
0
0
0
0
8
3
-12
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
11
3
57
70
37
24
-15
1
0
0
0
0
0
0
0
0
0
-3
-19
93
29
-43
115
1
0
2
0
-2
0
0
0
0
0
0
44
18
56
-38
37
23
148
0
83
-43
10
0
0
0
0
0
0
-39
68
-24
23
-72
135
48
135
-12
-67
0
0
0
0
0
0
0
10
36
62
28
35
-44
-48
-52
-7
48
0
0
0
0
0
0
0
0
91
-15
-39
95
5
72
44
-75
-30
0
0
0
0
0
0
0
0
0
49
-16
33
-76
27
28
-4
39
0
0
0
0
0
0
0
0
0
-2
-7
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
50
92
-32
14
-109
26
128
0
0
0
0
0
0
0
0
0
0
51
-49
42
-11
56
10
68
0
-1
0
-8
0
0
0
0
0
0
-33
60
20
-6
35
119
111
-27
42
-47
5
0
0
0
0
0
0
63
34
31
30
-5
-15
54
-299
122
0
1
-1
0
0
0
0
0
12
19
18
-104
-38
140
187
-25
32
34
0
0
0
0
0
0
0
2
15
5
66
117
-13
194
42
88
-16
-2
0
0
0
0
0
0
-7
13
17
14
76
22
4
2
65
0
0
0
0
0
0
0
0
0
-2
0
14
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
-18
14
9
-40
-36
-53
-166
0
0
0
2
0
0
0
0
0
0
-153
18
-14
41
30
207
-1
0
0
0
-3
0
0
0
0
0
0
-11
22
23
-54
-63
56
3
4
73
67
9
0
0
0
0
0
0
41
-4
42
21
42
138
60
-91
14
-252
-13
0
0
0
0
0
0
9
-102
22
64
-131
-99
-40
196
-107
47
-7
0
0
0
0
0
0
0
-92
102
-40
46
95
-1
86
17
-106
0
0
0
0
0
0
0
4
-17
-175
52
-122
-109
-124
-2
-71
10
0
0
0
0
0
0
0
0
0
12
-54
11
0
-20
0
0
0
0
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
17
53
-90
14
27
4
0
-5
-3
0
0
0
0
0
0
0
-20
9
-48
-10
39
13
0
9
0
63
0
0
0
0
0
0
0
-7
-22
28
-28
74
-30
98
-14
-50
-51
-1
0
0
0
0
0
0
-92
-19
-102
55
-40
-17
-135
-35
105
5
0
0
0
0
0
0
0
-67
-76
32
5
-17
50
21
-12
-9
-5
0
0
0
0
0
0
0
28
55
-52
34
0
-21
119
53
-106
5
0
0
0
0
0
0
0
-12
-182
56
27
-9
79
11
-37
0
0
0
0
0
0
0
0
0
-1
32
-7
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
8
-36
85
-23
-3
-2
0
0
0
0
0
0
0
0
0
0
0
9
-43
22
-119
7
0
0
0
0
-4
0
0
0
0
0
0
0
62
98
-55
41
-55
0
12
13
0
-3
0
0
0
0
0
0
0
-85
18
6
-5
-47
0
-14
-43
0
0
0
0
0
0
0
0
0
-8
-33
1
48
52
-28
11
48
1
0
0
0
0
0
0
0
0
-1
27
-39
22
27
-37
0
9
0
0
0
0
0
0
0
0
0
-3
29
-28
-89
-1
-17
0
-2
0
0
0
0
0
0
0
0
0
0
0
-14
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
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-2
1
-1
-4
0
0
0
0
0
0
0
0
0
0
12
-3
1
2
2
1
-11
0
0
0
0
0
0
0
0
0
0
1
4
-2
3
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
8
-2
7
12
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
1
0
-11
-9
-2
4
0
0
0
0
0
0
0
0
0
0
0
24
0
4
-49
-34
5
6
0
-1
0
0
0
0
0
0
0
0
0
-74
-52
13
-10
18
1
0
9
0
0
0
0
0
0
0
0
20
23
-38
-73
50
-19
-3
0
-6
0
0
0
0
0
0
0
0
-2
15
-5
-2
-17
-5
-1
-5
2
0
0
0
0
0
0
0
0
0
6
-3
-2
5
19
-6
0
0
0
0
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
16
-38
-2
-1
-4
-18
0
0
0
0
0
0
0
0
0
0
-1
19
26
-83
-37
46
-2
0
0
0
0
0
0
0
0
0
0
-1
-56
-207
-51
110
-5
-28
4
2
31
0
0
0
0
0
0
0
-53
16
29
94
-25
163
4
-5
13
21
0
0
0
0
0
0
0
9
-36
49
-24
-56
-9
26
28
70
49
0
0
0
0
0
0
0
0
4
82
24
117
1
-55
12
-6
4
0
0
0
0
0
0
0
0
0
-38
-6
6
2
-12
1
6
-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
23
-33
5
16
0
-1
0
0
0
0
0
0
0
0
0
0
2
-117
8
-89
-15
-40
0
-2
0
0
0
0
0
0
0
0
0
32
-3
17
-53
34
-19
6
3
38
4
0
0
0
0
0
0
2
2
61
6
-99
27
15
-23
-5
-5
0
0
0
0
0
0
0
0
8
13
4
-4
2
5
-1
-5
-1
0
0
0
0
0
0
0
0
-1
9
-24
2
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
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
10
1
5
134
-68
0
3
0
0
0
0
0
0
0
0
0
0
-3
-27
13
-50
-83
-71
22
0
0
0
0
0
0
0
0
0
0
-21
144
108
47
57
58
-1
0
12
0
-12
0
0
0
0
0
0
29
129
50
86
-61
22
146
300
-16
0
0
0
0
0
0
0
0
-36
93
-179
-7
28
8
-6
-39
29
0
0
0
0
0
0
0
0
0
-42
14
11
14
16
0
14
11
0
0
0
0
0
0
0
0
0
0
-50
0
-6
6
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
60
25
-21
-29
4
24
0
0
0
0
0
0
0
0
0
0
0
-57
40
-68
-48
-70
-94
15
0
-2
0
0
0
0
0
0
0
0
-93
-50
3
-22
-122
-28
25
0
-7
37
0
0
0
0
0
0
0
32
34
66
101
117
-12
30
13
27
2
0
0
0
0
0
0
0
-19
75
-102
132
137
166
57
-51
-39
12
0
0
0
0
0
0
0
0
-14
-83
39
27
-61
-27
-23
-11
5
0
0
0
0
0
0
0
0
24
41
18
27
-16
4
10
34
0
0
0
0
0
0
0
0
0
-25
0
-7
-12
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
85
-24
-32
-145
-51
124
47
0
0
0
0
0
0
0
0
0
0
-41
56
-44
12
11
24
-34
0
8
0
0
0
0
0
0
0
0
101
-113
42
66
97
35
34
0
-152
13
0
0
0
0
0
0
0
-127
84
28
34
52
154
-99
39
-5
-92
0
0
0
0
0
0
0
-24
-59
59
-71
78
-62
-33
33
29
38
0
0
0
0
0
0
0
0
25
87
8
-112
77
-30
-159
4
27
0
0
0
0
0
0
0
-35
0
113
-4
80
-1
-12
8
-46
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
124
-2
29
-109
119
38
1
0
1
0
0
0
0
0
0
0
38
-33
75
-34
50
10
35
0
0
0
-10
0
0
0
0
0
0
-32
40
-80
98
97
69
-8
50
19
184
0
0
0
0
0
0
0
-2
56
67
67
43
99
7
-93
62
-165
0
0
0
0
0
0
0
5
15
8
81
-19
140
-42
35
-73
90
0
0
0
0
0
0
0
0
58
-15
-109
-29
33
104
-6
4
-24
0
0
0
0
0
0
0
0
-17
-22
-64
72
55
24
-12
0
-60
0
0
0
0
0
0
0
0
37
13
-75
-24
6
-4
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
65
19
-4
7
46
29
-18
3
0
0
0
0
0
0
0
0
0
84
39
26
17
34
-4
-90
0
-6
0
-7
0
0
0
0
0
0
39
39
47
21
126
66
2
-58
128
9
1
0
0
0
0
0
0
86
65
35
51
48
-117
18
-37
6
-82
-1
0
0
0
0
0
0
17
-33
20
73
-33
84
-17
74
56
-68
-2
0
0
0
0
0
0
57
22
37
10
-118
-143
-33
7
-80
-97
0
0
0
0
0
0
0
-1
56
31
62
56
-79
6
2
26
14
0
0
0
0
0
0
0
0
-6
-6
-47
12
32
1
0
0
-1
0
0
0
0
0
0
0
0
-3
3
3
-3
0
0
0
8
0
0
0
0
0
0
0
0
-16
16
-31
25
29
20
-13
-3
0
1
0
0
0
0
0
0
0
39
29
12
-5
71
4
-66
0
-4
0
3
0
0
0
0
0
0
28
6
20
36
24
117
74
-33
21
6
0
0
0
0
0
0
0
43
55
7
-2
39
49
44
-45
-80
12
0
0
0
0
0
0
0
-55
16
27
8
46
-27
5
56
-94
-94
7
0
0
0
0
0
0
5
-39
52
-8
46
21
-26
-54
171
26
0
0
0
0
0
0
0
0
8
-94
-55
38
75
-41
36
-12
20
0
0
0
0
0
0
0
0
-14
28
-8
-13
42
3
18
11
-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
124
-5
40
107
-34
284
-7
0
0
15
0
0
0
0
0
0
0
36
21
42
47
34
151
0
-1
0
-9
0
0
0
0
0
0
0
1
30
18
38
14
66
83
21
-30
37
0
0
0
0
0
0
0
40
68
-4
-11
2
63
3
-102
-81
-38
0
0
0
0
0
0
0
99
44
15
-13
50
29
40
116
-3
-44
0
0
0
0
0
0
0
45
25
5
7
-80
-27
92
201
97
-36
0
0
0
0
0
0
0
-58
-109
34
-28
-51
50
30
231
0
0
0
0
0
0
0
0
0
0
90
27
-21
15
-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
-1
-99
-15
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-49
25
-1
-4
-5
0
0
0
4
1
0
0
0
0
0
0
0
0
105
31
59
-32
-47
1
5
0
-7
0
0
0
0
0
0
0
25
-58
-46
-12
94
-61
2
-50
0
-2
0
0
0
0
0
0
0
-11
64
-40
112
-16
-81
5
-14
0
0
0
0
0
0
0
0
0
-1
36
44
-24
3
21
4
0
0
3
0
0
0
0
0
0
0
0
55
13
2
-12
-32
0
0
0
0
0
0
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
2
0
0
2
0
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
1
12
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
10
3
-4
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
66
8
14
0
0
0
0
0
0
0
0
0
0
0
0
9
112
-23
163
0
6
0
0
2
0
0
0
0
0
0
0
0
-16
6
-56
42
-32
0
1
0
22
0
0
0
0
0
0
0
0
0
-144
-1
90
2
-9
-2
-5
58
0
0
0
0
0
0
0
0
-9
-1
-76
11
32
4
1
0
1
0
0
0
0
0
0
0
0
0
13
4
-51
-1
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
43
0
8
0
-15
0
0
0
0
0
0
0
0
0
0
0
-3
0
-24
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
59
-11
-45
28
62
-10
0
0
0
0
0
0
0
0
0
0
0
-44
-39
-7
-137
32
-44
0
4
0
0
0
0
0
0
0
0
4
83
6
-50
15
58
60
-5
45
3
0
0
0
0
0
0
0
0
8
-81
30
83
73
120
40
-12
4
0
0
0
0
0
0
0
0
-3
6
65
37
25
105
104
20
148
0
0
0
0
0
0
0
0
-31
-63
-42
29
-52
-84
-15
28
17
0
0
0
0
0
0
0
0
1
-88
-86
-7
89
5
12
3
2
0
0
0
0
0
0
0
0
0
4
-2
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
5
6
39
15
-3
-11
0
0
0
0
0
0
0
0
0
0
0
6
-39
105
-34
-47
3
0
0
0
-3
0
0
0
0
0
0
0
-1
-49
-2
-16
6
-13
5
-5
-1
-16
0
0
0
0
0
0
0
58
3
-21
47
-9
-29
-3
-12
48
1
0
0
0
0
0
0
0
0
48
0
49
-42
14
-14
4
-1
0
0
0
0
0
0
0
0
0
83
-35
-6
-25
2
6
-2
5
0
0
0
0
0
0
0
0
1
10
-6
53
0
-1
0
0
-22
0
0
0
0
0
0
0
0
0
3
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
-5
5
139
-42
-29
5
-1
-2
0
0
0
0
0
0
0
0
0
28
126
-69
-15
158
-4
-4
0
0
0
0
0
0
0
0
0
0
59
52
-29
-188
-144
-28
4
-7
8
0
0
0
0
0
0
0
0
-97
-68
-91
7
33
53
24
-10
45
-1
0
0
0
0
0
0
0
53
-92
-13
64
85
-4
61
23
-53
0
0
0
0
0
0
0
0
0
20
0
12
41
0
17
7
1
0
0
0
0
0
0
0
0
0
0
41
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-18
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
-20
20
12
75
20
32
0
0
0
0
0
0
0
0
0
0
87
48
-47
-35
-6
-18
-48
0
5
0
0
0
0
0
0
0
0
-23
138
116
107
104
-37
-27
15
38
17
0
0
0
0
0
0
0
-51
61
14
-7
17
151
33
-62
-26
48
0
0
0
0
0
0
0
8
-63
14
1
-20
-33
-51
-63
10
29
0
0
0
0
0
0
0
-23
-46
-9
144
-1
-31
1
-48
16
5
0
0
0
0
0
0
0
4
0
84
21
-54
3
36
-3
-13
-2
0
0
0
0
0
0
0
0
-11
2
-50
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
5
-74
112
47
2
42
0
0
-1
0
0
0
0
0
0
0
63
-32
74
-78
128
81
69
0
19
0
0
0
0
0
0
0
0
-23
146
12
30
-23
-2
-18
43
35
-91
3
0
0
0
0
0
0
96
-23
62
37
67
32
-25
-71
109
53
0
0
0
0
0
0
0
204
84
-36
7
-30
152
153
40
-215
11
0
0
0
0
0
0
0
0
-71
23
-112
-23
-18
46
81
-3
-1
0
0
0
0
0
0
0
-10
94
-119
44
1
55
-94
-58
-10
0
0
0
0
0
0
0
0
0
11
-109
24
-9
12
0
-5
-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
108
76
21
10
1
159
5
1
0
-2
0
0
0
0
0
0
0
0
57
59
25
114
143
25
0
-7
0
-16
0
0
0
0
0
0
46
-44
45
41
64
151
-5
-93
168
109
29
0
0
0
0
0
0
24
31
50
69
61
44
12
64
-57
176
0
0
0
0
0
0
0
125
-51
58
17
17
95
22
84
34
7
0
0
0
0
0
0
0
7
33
16
-5
-39
99
4
-217
-22
65
0
0
0
0
0
0
0
7
-44
-65
-156
112
-24
-51
-10
1
6
0
0
0
0
0
0
0
0
-34
-8
-11
46
21
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
-78
144
-61
17
-45
27
-178
13
0
0
3
0
0
0
0
0
0
136
-18
58
-24
54
41
-54
0
35
0
0
0
0
0
0
0
0
-22
36
-38
67
42
139
-11
-175
-49
174
2
3
0
0
0
0
0
24
19
106
1
44
169
-68
89
46
16
0
0
0
0
0
0
0
24
57
-18
50
-25
83
75
90
-84
60
0
0
0
0
0
0
0
38
-48
50
10
96
54
217
-106
22
-1
0
0
0
0
0
0
0
26
73
-40
41
-93
16
98
3
-42
-34
0
0
0
0
0
0
0
0
-70
-16
-43
23
-194
98
-3
-29
9
0
0
0
0
0
0
0
0
-61
-22
3
2
0
0
0
0
0
0
0
0
0
0
0
0
35
-25
11
-15
25
17
115
3
0
0
0
0
0
0
0
0
0
152
19
6
18
52
117
-104
0
-6
0
0
0
0
0
0
0
0
25
29
17
27
43
30
37
-59
-90
-18
1
-4
0
0
0
0
0
43
36
48
69
2
41
-93
-42
-66
55
0
0
0
0
0
0
0
15
48
36
24
30
42
-22
80
38
-54
3
0
0
0
0
0
0
-3
37
38
2
81
27
9
93
20
114
0
0
0
0
0
0
0
44
87
-18
-8
21
56
107
-152
-53
49
0
0
0
0
0
0
0
0
-6
22
-51
-47
-17
32
19
0
-20
0
0
0
0
0
0
0
0
0
-81
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
-40
-7
-35
123
-28
45
0
-1
0
0
0
0
0
0
0
0
30
22
-12
23
37
80
0
-14
0
0
0
0
0
0
0
0
0
80
12
32
58
87
-12
18
27
39
-10
0
0
0
0
0
0
0
7
69
21
86
64
144
-61
73
10
30
0
0
0
0
0
0
0
40
44
29
6
84
16
79
14
-77
-11
0
0
0
0
0
0
0
70
-17
-35
57
40
-66
-58
99
-72
-114
0
0
0
0
0
0
0
106
-65
11
72
-67
-9
-80
199
-66
0
0
0
0
0
0
0
0
1
-74
6
-36
125
5
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
5
-7
44
12
0
-12
0
0
0
0
0
0
0
0
0
0
0
73
27
-75
32
70
0
0
0
0
-3
0
0
0
0
0
0
0
3
147
-2
24
2
-5
1
6
-2
6
0
0
0
0
0
0
0
84
30
-14
-59
-8
20
0
8
0
0
0
0
0
0
0
0
0
-3
-43
10
-37
111
18
8
-6
-4
0
0
0
0
0
0
0
0
-27
11
-56
14
36
-41
3
-2
4
0
0
0
0
0
0
0
0
0
5
-1
-16
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
65
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
-18
-4
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
0
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-7
-65
2
0
0
0
0
0
0
0
0
0
0
0
0
7
13
8
38
-41
16
0
-1
1
0
0
0
0
0
0
0
0
-27
-6
-21
40
-31
-5
0
0
-13
0
0
0
0
0
0
0
0
0
6
-4
20
11
27
-2
4
-8
0
0
0
0
0
0
0
0
0
0
29
-1
1
-9
2
0
-1
0
0
0
0
0
0
0
0
0
-1
4
0
2
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-62
51
5
0
1
0
0
0
0
0
0
0
0
0
-4
85
128
11
109
0
72
0
0
0
0
0
0
0
0
0
0
6
81
-6
-6
-17
140
28
1
3
95
0
0
0
0
0
0
0
0
-8
-7
-21
-95
-10
14
127
12
75
0
0
0
0
0
0
0
0
0
-70
-132
72
-37
69
-65
-40
59
0
0
0
0
0
0
0
0
-19
15
-44
-18
14
15
5
-35
-63
0
0
0
0
0
0
0
0
0
-9
-27
36
-21
-73
41
-3
-28
0
0
0
0
0
0
0
0
0
-83
19
17
-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
4
-1
-77
9
17
0
0
0
0
0
0
0
0
0
0
0
0
27
153
57
-56
80
-2
0
0
0
0
0
0
0
0
0
0
0
44
-71
42
-39
-5
21
-1
9
29
-6
0
0
0
0
0
0
0
-2
47
5
-95
-42
24
1
-1
0
0
0
0
0
0
0
0
0
3
0
-42
-10
33
53
29
-1
-4
-3
0
0
0
0
0
0
0
0
46
0
4
-50
10
-1
0
5
0
0
0
0
0
0
0
0
0
-37
116
1
20
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-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
-96
13
67
71
-28
10
0
0
0
0
0
0
0
0
0
0
0
-86
198
-53
191
114
41
-21
0
-2
0
-5
0
0
0
0
0
0
87
-68
-44
-2
12
-72
-7
-13
-56
0
0
0
0
0
0
0
0
42
-23
-80
-20
12
-50
-1
-22
-50
0
0
0
0
0
0
0
0
27
-40
100
0
-40
1
13
-20
-12
0
0
0
0
0
0
0
0
0
224
-49
24
-7
-19
13
3
15
0
0
0
0
0
0
0
0
-5
0
97
3
-81
0
7
0
-1
0
0
0
0
0
0
0
0
0
63
0
20
1
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
-26
263
-9
-19
13
-4
-35
0
0
0
0
0
0
0
0
0
0
-72
69
53
17
54
119
4
0
2
0
0
0
0
0
0
0
0
-3
-38
-24
-40
-1
41
-9
4
79
31
0
0
0
0
0
0
0
93
47
15
80
147
214
20
64
-7
38
0
0
0
0
0
0
0
-60
55
-76
30
0
152
20
-82
6
-9
0
0
0
0
0
0
0
-11
35
61
-160
15
-51
61
-119
-128
4
0
0
0
0
0
0
0
6
11
-44
1
15
-9
-14
-6
56
2
0
0
0
0
0
0
0
0
0
21
18
-25
101
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-63
-132
-30
-12
30
152
38
0
0
0
0
0
0
0
0
0
0
-63
15
-51
-19
43
-24
66
0
-40
0
1
0
0
0
0
0
0
66
-30
19
-24
76
8
-102
20
171
-132
18
0
0
0
0
0
0
-48
21
-5
11
104
-30
158
111
40
-1
1
0
0
0
0
0
0
49
8
-7
20
-6
0
104
-84
6
-1
0
0
0
0
0
0
0
2
42
26
8
-148
229
-82
-237
-27
10
0
0
0
0
0
0
0
-80
9
-30
-107
52
-29
68
-339
-132
-10
0
0
0
0
0
0
0
0
-133
0
-61
21
-6
-4
32
0
-1
0
0
0
0
0
0
0
-2
0
-21
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-18
61
-9
31
18
162
128
0
0
0
0
0
0
0
0
0
0
-45
-27
51
-16
75
12
24
0
-2
0
1
0
0
0
0
0
0
85
34
3
51
-8
109
40
44
22
16
0
0
0
0
0
0
0
11
10
76
5
116
16
83
-73
120
246
0
0
0
0
0
0
0
-9
10
-2
83
107
84
0
-10
20
157
0
0
0
0
0
0
0
-28
-50
62
-53
49
109
-20
-52
-75
142
0
0
0
0
0
0
0
-4
8
-69
49
-95
114
-44
-55
-49
16
0
0
0
0
0
0
0
0
-15
-13
-130
-13
72
0
0
-17
-13
0
0
0
0
0
0
0
0
0
9
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
62
3
41
-56
70
82
39
7
0
0
1
0
0
0
0
0
0
-25
61
-38
44
17
161
53
0
52
0
-6
0
0
0
0
0
0
66
-31
63
8
101
23
92
-13
64
-93
16
0
0
0
0
0
0
5
54
0
64
56
28
-57
8
-16
12
-23
0
0
0
0
0
0
10
57
86
39
88
10
-3
0
107
-7
0
0
0
0
0
0
0
-1
47
41
22
5
131
-87
4
65
-39
0
0
0
0
0
0
0
-114
-82
8
57
152
-84
136
10
146
-11
0
0
0
0
0
0
0
0
-17
52
19
-12
116
6
0
-22
-10
0
0
0
0
0
0
0
0
0
-37
-4
-162
0
0
0
0
0
0
0
0
0
0
0
0
-88
128
-12
15
-28
-44
54
-20
0
2
0
0
0
0
0
0
0
13
-12
50
-18
74
-11
92
0
-1
0
1
0
0
0
0
0
0
-34
34
-18
46
26
16
-25
-15
-40
62
-2
0
0
0
0
0
0
38
8
27
-5
31
36
18
-135
44
-20
-1
0
0
0
0
0
0
21
6
5
64
37
132
-10
45
0
-25
0
0
0
0
0
0
0
-2
53
40
-12
96
20
50
53
-19
-17
0
0
0
0
0
0
0
-9
125
-57
73
27
-21
78
90
-84
51
0
0
0
0
0
0
0
0
-37
97
-44
-2
16
-64
-13
2
38
0
0
0
0
0
0
0
0
2
-18
39
-13
47
0
0
0
0
0
0
0
0
0
0
0
0
9
47
-43
71
108
-44
2
0
0
4
0
0
0
0
0
0
0
47
-22
63
-36
138
173
0
0
0
79
0
0
0
0
0
0
0
11
17
-18
52
20
67
-19
127
-128
4
0
0
0
0
0
0
0
62
18
29
45
75
-37
196
50
119
31
0
0
0
0
0
0
0
23
37
20
51
129
-89
-46
-56
0
18
0
0
0
0
0
0
0
59
34
14
54
92
70
130
-15
97
7
0
0
0
0
0
0
0
7
-46
31
92
25
17
3
124
8
1
0
0
0
0
0
0
0
-14
126
-18
38
-49
-9
-7
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
-2
-72
31
20
-6
3
0
-1
0
0
0
0
0
0
0
0
0
-67
41
139
-24
25
0
0
0
-4
5
0
0
0
0
0
0
0
3
-60
-4
112
-23
44
3
0
1
-2
0
0
0
0
0
0
0
51
-5
-5
-56
-19
21
3
11
1
0
0
0
0
0
0
0
0
-2
35
-20
75
-1
6
0
0
0
0
0
0
0
0
0
0
0
5
-2
-9
-39
-20
-14
10
-1
0
0
0
0
0
0
0
0
0
0
57
32
-21
0
-3
7
-3
0
0
0
0
0
0
0
0
0
0
48
17
-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
-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
-2
5
0
2
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
6
-1
-17
-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
-1
0
125
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
31
0
0
0
0
1
0
0
0
0
0
0
0
0
-34
10
-55
0
4
7
0
0
0
0
0
0
0
0
0
0
0
-8
-143
-6
-16
64
8
0
0
-38
0
0
0
0
0
0
0
0
92
0
45
-98
-51
-6
-19
0
-17
0
0
0
0
0
0
0
0
0
24
-70
103
18
17
-3
-1
-7
0
0
0
0
0
0
0
0
7
0
-7
47
-59
-2
0
0
-1
0
0
0
0
0
0
0
0
0
60
0
5
-3
-19
1
-9
1
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
54
11
61
-9
0
0
0
0
0
0
0
0
0
0
0
1
184
-2
-9
172
-42
-9
0
0
0
0
0
0
0
0
0
0
0
-20
131
-34
-76
-51
47
-6
0
6
0
0
0
0
0
0
0
0
82
99
-41
62
103
-12
57
-10
3
0
0
0
0
0
0
0
0
-7
6
-26
-17
59
6
17
67
16
0
0
0
0
0
0
0
0
0
-26
46
80
96
-12
4
8
-30
0
0
0
0
0
0
0
0
-5
2
48
62
11
-14
2
-19
-10
0
0
0
0
0
0
0
0
-1
-6
-33
-32
-6
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
-3
17
65
58
-47
-2
0
0
0
0
0
0
0
0
0
0
0
42
251
111
26
8
13
0
0
0
0
0
0
0
0
0
0
0
92
55
72
89
-74
39
-1
0
-25
1
0
0
0
0
0
0
0
48
26
31
-56
-58
-134
-19
-6
2
-5
0
0
0
0
0
0
0
2
-43
0
-29
142
16
-2
-56
10
0
0
0
0
0
0
0
0
0
0
33
-7
56
78
-5
2
63
0
0
0
0
0
0
0
0
-13
-29
0
45
28
-4
2
2
71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-8
38
20
-22
0
1
0
0
0
-5
0
0
0
0
0
0
2
-7
82
-69
21
-28
2
0
0
0
0
0
0
0
0
0
0
56
70
1
64
-45
40
6
8
12
0
5
0
0
0
0
0
0
51
-82
44
51
73
-111
-23
3
-185
0
0
0
0
0
0
0
0
-45
-163
6
49
-4
60
-14
33
-97
0
0
0
0
0
0
0
0
0
-126
-144
0
-48
4
20
0
0
0
0
0
0
0
0
0
0
-11
-42
-4
-28
0
12
-3
-8
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-138
98
-9
10
-13
21
3
0
0
0
0
0
0
0
0
0
1
91
22
-8
80
78
-82
0
-1
0
0
0
0
0
0
0
0
16
-2
-53
2
15
-65
8
43
-53
-95
0
0
0
0
0
0
0
6
-21
-21
21
8
-25
119
-31
-47
127
0
0
0
0
0
0
0
-14
24
16
-52
93
82
11
64
-16
-31
0
0
0
0
0
0
0
0
66
-15
48
0
5
-1
5
-14
-1
0
0
0
0
0
0
0
3
177
-7
-38
-39
18
4
-60
55
-3
0
0
0
0
0
0
0
0
-86
0
-50
-6
1
0
18
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
62
45
-74
12
4
-39
-3
0
0
0
0
0
0
0
0
0
68
25
57
26
-6
150
11
0
60
0
0
0
0
0
0
0
0
62
-79
60
21
58
257
96
6
-65
-22
0
0
0
0
0
0
0
110
26
-38
10
30
-97
56
-148
58
67
-1
0
0
0
0
0
0
-18
-25
55
17
167
139
156
-54
144
17
0
0
0
0
0
0
0
6
69
22
81
79
0
18
9
6
1
0
0
0
0
0
0
0
76
189
62
131
-13
-41
-22
-29
-48
0
0
0
0
0
0
0
0
0
-76
66
11
20
-77
-17
-24
0
0
0
0
0
0
0
0
0
0
23
-6
2
14
0
0
0
0
0
0
0
0
0
0
0
0
24
-23
49
36
35
-3
113
-6
0
0
0
0
0
0
0
0
0
21
32
38
37
80
46
53
0
7
0
0
0
0
0
0
0
0
59
10
21
2
31
30
98
-45
78
-22
-1
0
0
0
0
0
0
55
55
72
21
2
55
93
103
-187
-29
0
0
0
0
0
0
0
-1
-10
33
-9
37
44
-90
66
-8
271
-1
0
0
0
0
0
0
0
-4
88
71
95
194
0
29
-70
-60
0
0
0
0
0
0
0
63
3
63
36
73
99
-102
3
-119
100
0
0
0
0
0
0
0
0
2
123
108
-73
76
-20
-57
-50
-2
0
0
0
0
0
0
0
0
0
76
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-19
96
-64
90
3
27
-88
3
0
-1
0
0
0
0
0
0
0
123
-6
114
-34
64
-16
-80
0
13
0
31
0
0
0
0
0
0
-43
113
-18
64
-16
112
82
-16
-69
89
31
0
0
0
0
0
0
58
-12
46
13
96
-8
-125
-10
44
-103
11
0
0
0
0
0
0
0
18
23
4
89
74
94
8
100
90
12
0
0
0
0
0
0
-26
49
54
40
101
153
-3
0
-54
0
0
0
0
0
0
0
0
10
79
24
123
82
-48
-107
-2
22
-12
0
0
0
0
0
0
0
-23
-23
63
31
112
20
89
25
-17
-53
0
0
0
0
0
0
0
0
1
59
-29
-37
0
0
0
0
0
0
0
0
0
0
0
0
145
26
41
-38
51
-60
2
1
0
18
-1
0
0
0
0
0
0
3
57
-3
41
7
84
-75
0
-147
0
-9
0
0
0
0
0
0
21
-42
39
-24
61
-20
63
-122
0
245
-2
0
0
0
0
0
0
59
40
-21
44
28
8
-20
102
-5
14
-2
0
0
0
0
0
0
22
10
18
4
18
69
48
73
80
91
-1
0
0
0
0
0
0
-42
47
61
43
124
150
-79
-34
0
9
0
0
0
0
0
0
0
80
-21
15
38
33
38
103
46
20
-247
0
0
0
0
0
0
0
0
0
55
19
-49
58
-37
17
0
22
0
0
0
0
0
0
0
0
19
-55
-11
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
88
-14
38
-154
91
106
-12
0
0
2
0
0
0
0
0
0
0
52
44
36
26
-45
97
0
-9
0
-69
0
0
0
0
0
0
0
53
20
70
21
66
-49
-32
-51
74
-48
0
0
0
0
0
0
0
4
12
49
53
16
62
2
49
-22
42
0
0
0
0
0
0
0
44
16
-10
54
58
25
48
17
15
-23
0
0
0
0
0
0
0
-37
20
39
55
94
91
-15
-16
0
7
0
0
0
0
0
0
0
21
-24
57
-2
29
-119
193
-5
8
0
0
0
0
0
0
0
0
0
15
-78
85
-64
-12
15
1
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
-6
-57
-3
-5
-7
0
5
3
0
0
0
0
0
0
0
0
-37
-18
24
-27
-41
0
-2
0
-2
-42
0
0
0
0
0
0
0
-16
128
-73
107
14
-15
13
1
-10
14
0
0
0
0
0
0
0
32
18
80
-20
-54
-4
0
-34
0
-12
0
0
0
0
0
0
0
-7
24
83
91
-6
21
1
5
-7
2
0
0
0
0
0
0
0
-79
4
-1
110
-113
-1
0
0
0
2
0
0
0
0
0
0
0
1
-17
-5
98
16
11
-6
0
0
0
0
0
0
0
0
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
1
-2
0
0
0
0
1
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
-4
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
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-102
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
18
3
7
0
4
0
0
22
0
0
0
0
0
0
0
0
50
0
0
6
-18
-9
-1
16
16
0
0
0
0
0
0
0
0
-4
0
-14
2
5
-19
11
0
6
0
0
0
0
0
0
0
0
0
0
-43
-1
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
-25
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
1
-52
4
79
-3
0
0
0
0
0
0
0
0
0
0
0
0
13
-12
-6
54
52
-6
0
0
0
0
0
0
0
0
0
0
-11
-10
49
-19
-103
1
21
0
1
21
0
0
0
0
0
0
0
0
-18
68
95
-9
-160
12
42
-14
19
0
0
0
0
0
0
0
6
7
29
3
-11
-30
25
66
-6
49
0
0
0
0
0
0
0
0
0
0
-87
-16
-14
21
0
-16
-18
0
0
0
0
0
0
0
2
0
17
10
196
11
1
13
17
0
0
0
0
0
0
0
0
0
0
0
25
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
0
0
0
0
0
102
34
102
1
-4
0
0
0
0
0
0
0
0
0
0
0
73
90
48
45
22
1
0
0
0
0
0
0
0
0
0
0
0
-11
44
60
146
15
-2
0
1
5
0
0
0
0
0
0
0
0
38
-69
194
22
16
-4
-3
-2
-3
0
0
0
0
0
0
0
0
-12
46
52
-65
24
64
29
0
2
0
0
0
0
0
0
0
0
0
72
0
-59
-13
-104
0
-3
-4
0
0
0
0
0
0
0
0
26
0
42
120
21
-22
2
24
0
0
0
0
0
0
0
0
0
0
-16
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
86
0
-24
2
0
0
0
0
0
0
0
0
0
0
0
-34
93
2
-4
-3
4
6
0
0
0
0
0
0
0
0
0
0
-56
3
-45
-13
-31
-8
-2
0
0
0
1
0
0
0
0
0
0
0
24
8
12
0
12
-9
0
-2
0
0
0
0
0
0
0
0
60
0
-67
59
3
-3
-5
-12
63
-1
0
0
0
0
0
0
0
-2
136
1
-26
0
-98
-1
11
-3
6
0
0
0
0
0
0
0
12
20
-85
0
10
0
-6
-3
3
0
0
0
0
0
0
0
0
0
60
1
16
0
-7
0
0
-33
0
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
4
19
25
12
5
-3
0
0
0
0
0
0
0
0
0
0
0
65
-2
49
-5
15
-6
0
0
0
0
0
0
0
0
0
0
0
-47
37
-27
-68
-67
28
0
-17
-20
0
0
0
0
0
0
0
1
109
-31
76
99
119
51
-17
3
-48
0
0
0
0
0
0
0
-31
34
3
130
11
2
-144
-22
57
-84
0
0
0
0
0
0
0
0
15
-164
-33
53
-79
24
-51
-13
11
0
0
0
0
0
0
0
-53
12
1
-85
0
-2
9
-7
-4
0
0
0
0
0
0
0
0
0
65
28
6
-35
-7
-1
14
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
21
11
32
-115
-44
24
6
0
0
0
0
0
0
0
0
0
0
-10
68
47
45
16
113
41
0
0
0
0
0
0
0
0
0
0
-11
124
45
27
31
14
3
2
-6
41
8
0
0
0
0
0
0
-197
3
16
11
-14
55
-45
10
-156
45
0
0
0
0
0
0
0
4
-6
20
-6
-29
75
-7
-45
-51
94
0
0
0
0
0
0
0
-7
52
-36
70
-51
-69
45
89
-45
-16
-12
0
0
0
0
0
0
76
52
77
82
88
0
-2
-8
-8
0
0
0
0
0
0
0
0
0
98
62
-3
36
32
-1
8
-3
-3
0
0
0
0
0
0
0
-8
0
-19
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-13
87
30
19
27
54
-69
-1
0
0
0
0
0
0
0
0
0
-4
33
80
43
-34
13
10
0
2
0
0
0
0
0
0
0
0
10
38
5
50
10
14
-5
-12
9
39
0
0
0
0
0
0
0
-9
44
-8
-19
18
-80
50
-41
13
-120
0
0
0
0
0
0
0
-13
-40
41
-52
-76
132
212
13
-179
10
0
0
0
0
0
0
0
-6
14
-27
-8
63
112
43
325
108
-22
2
0
0
0
0
0
0
0
66
96
113
90
15
0
3
8
0
0
0
0
0
0
0
0
0
99
53
40
156
-189
2
-17
50
1
0
0
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-66
56
-49
7
56
-26
-3
0
0
-1
0
0
0
0
0
0
-40
39
12
50
47
63
-123
0
-8
0
2
0
0
0
0
0
0
3
12
47
26
30
102
86
4
55
-91
11
0
0
0
0
0
0
-10
64
28
18
-18
59
-26
-2
-52
-60
0
0
0
0
0
0
0
22
-2
1
40
33
49
45
7
8
-14
30
0
0
0
0
0
0
128
-18
35
-4
-18
39
-65
16
-77
34
0
0
0
0
0
0
0
3
58
23
104
163
33
275
0
-141
-7
0
0
0
0
0
0
0
0
-30
117
53
40
56
78
-16
0
22
0
0
0
0
0
0
0
0
4
15
32
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
28
-9
48
-4
6
58
7
0
2
-2
0
0
0
0
0
0
67
-17
36
-30
107
63
158
0
0
0
5
0
0
0
0
0
0
93
90
3
25
5
-10
-68
-44
-14
102
-1
-4
0
0
0
0
0
-19
17
11
-14
95
-37
13
-15
149
116
-8
0
0
0
0
0
0
34
19
-2
-19
6
106
3
-1
-35
57
1
0
0
0
0
0
0
33
41
-19
20
24
-2
87
11
-51
37
8
0
0
0
0
0
0
20
63
43
83
83
80
147
7
0
24
0
0
0
0
0
0
0
0
-122
24
21
128
50
82
-147
9
-235
0
0
0
0
0
0
0
0
0
-39
-110
0
1
0
0
0
0
0
0
0
0
0
0
0
0
114
38
23
14
-2
148
10
0
-1
-3
0
0
0
0
0
0
0
34
45
17
-41
40
39
0
-1
0
63
0
0
0
0
0
0
0
12
32
-69
9
-87
-87
14
26
28
12
0
0
0
0
0
0
0
55
-39
29
-44
7
177
158
29
-21
22
0
0
0
0
0
0
0
-26
10
-56
-6
9
42
-88
14
48
41
0
0
0
0
0
0
0
62
5
-1
17
23
28
53
117
129
25
0
0
0
0
0
0
0
45
22
80
99
58
50
-64
78
0
0
0
0
0
0
0
0
0
2
12
2
59
167
87
-52
93
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
62
0
-13
0
0
2
0
0
0
0
0
0
0
0
15
5
-6
-73
9
0
0
0
6
-4
0
0
0
0
0
0
0
0
15
-16
-32
10
14
1
0
0
10
0
0
0
0
0
0
0
9
27
50
-16
68
4
-1
6
12
1
0
0
0
0
0
0
0
0
-155
-106
73
58
18
-4
1
0
46
0
0
0
0
0
0
0
18
-5
-31
56
88
-22
7
-19
0
-15
0
0
0
0
0
0
0
-4
-4
7
190
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
2
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
2
5
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-40
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
-16
0
-13
0
25
1
-3
0
0
0
0
0
0
0
0
0
0
0
13
0
-42
0
2
8
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
23
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-41
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
-38
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
142
-37
7
-10
0
3
0
0
0
0
0
0
0
0
27
0
29
15
-21
-14
-7
3
0
0
0
0
0
0
0
0
0
0
17
0
0
3
22
5
0
-13
0
0
0
0
0
0
0
0
0
0
25
-13
85
-1
3
12
0
-7
0
0
0
0
0
0
0
0
0
4
-11
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
0
0
0
0
0
0
104
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
98
-5
4
-6
0
0
0
0
0
0
0
0
0
0
-1
1
-38
66
39
-4
0
0
0
5
0
0
0
0
0
0
0
0
-5
-3
12
-3
54
4
0
0
5
0
0
0
0
0
0
0
0
0
7
-27
-66
12
-6
0
0
0
0
0
0
0
0
0
0
0
4
0
-96
0
2
0
0
-1
10
0
0
0
0
0
0
0
0
0
-3
0
9
0
-3
-3
0
0
0
0
0
0
0
0
0
0
-8
0
16
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
22
-3
5
41
0
0
0
0
0
0
0
0
0
0
0
0
90
8
20
3
-130
0
0
37
0
0
0
0
0
0
0
0
36
19
-150
-2
-147
2
2
0
19
0
0
0
0
0
0
0
0
0
-27
0
-82
1
-19
-5
-21
-22
0
0
0
0
0
0
0
0
1
-21
7
1
-7
0
0
0
-67
0
0
0
0
0
0
0
0
0
18
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-38
-11
26
-2
-67
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
-37
29
2
-5
0
0
7
0
0
0
0
0
0
0
0
-28
-3
41
-7
-35
-2
0
-15
-19
0
0
0
0
0
0
0
36
0
-70
-31
-43
-129
-66
0
0
0
0
0
0
0
0
0
0
-4
-96
7
27
-3
-10
9
0
-2
0
0
0
0
0
0
0
0
-17
-18
16
-8
13
11
28
-16
3
0
0
0
0
0
0
0
0
0
20
-41
35
0
21
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
1
42
19
5
12
-15
0
0
0
0
0
0
0
0
0
0
0
113
7
3
21
84
-12
0
0
0
0
0
0
0
0
0
0
60
0
50
5
1
73
4
0
1
-23
1
0
0
0
0
0
0
-9
37
-3
0
6
-17
2
9
-61
-7
0
0
0
0
0
0
0
43
-41
13
62
-10
-36
9
-73
-58
0
0
0
0
0
0
0
0
1
84
-3
-5
20
-33
8
-83
9
0
0
0
0
0
0
0
0
11
72
-19
-91
59
6
83
38
10
0
0
0
0
0
0
0
0
0
129
55
120
-58
0
0
-17
0
0
0
0
0
0
0
0
0
-11
1
90
-46
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
26
5
1
17
0
0
0
0
0
0
0
0
0
0
0
81
-13
16
-9
-35
-1
0
0
0
0
0
0
0
0
0
0
33
-4
11
-28
17
14
4
0
0
-42
0
0
0
0
0
0
0
1
59
-13
43
113
75
38
-17
-18
-104
-1
0
0
0
0
0
0
-30
52
34
-92
-91
-129
82
-34
21
7
0
0
0
0
0
0
0
0
-41
-2
24
92
17
2
136
-105
-16
0
0
0
0
0
0
0
-1
17
-74
69
62
18
5
48
27
-11
0
0
0
0
0
0
0
0
-23
100
129
64
78
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-14
83
0
0
0
0
0
0
0
0
0
0
0
0
0
98
9
-25
-116
18
20
0
0
0
0
0
0
0
0
0
0
54
-6
159
-11
41
46
-4
0
0
0
0
0
0
0
0
0
0
-39
88
-57
99
10
63
-9
4
28
5
0
0
0
0
0
0
0
-41
3
74
-46
87
25
-17
0
151
3
0
0
0
0
0
0
0
-36
-43
-18
19
6
-40
-56
2
156
-46
3
0
0
0
0
0
0
-40
9
-102
-15
-37
-55
98
0
-11
-101
0
0
0
0
0
0
0
27
-70
7
-102
23
-4
166
-3
122
8
0
0
0
0
0
0
0
5
17
17
94
160
34
-18
0
0
0
0
0
0
0
0
0
0
25
29
42
-40
36
13
0
0
-39
0
0
0
0
0
0
0
0
0
7
51
70
44
24
-35
-15
0
0
0
0
0
0
0
0
0
0
69
64
54
-110
117
-21
0
0
0
0
0
0
0
0
0
0
4
-87
20
-123
76
123
35
10
4
-79
0
0
0
0
0
0
0
-2
23
-22
34
-9
70
14
13
-8
-84
0
0
0
0
0
0
0
-7
-41
48
-138
-16
-24
33
-38
26
-126
0
0
0
0
0
0
0
2
18
-33
-38
45
-83
5
103
0
75
0
0
0
0
0
0
0
-5
-145
15
19
29
174
-55
-51
21
14
0
0
0
0
0
0
0
0
32
62
217
3
-31
4
5
0
8
0
0
0
0
0
0
0
0
15
33
122
136
63
0
-34
0
0
0
0
0
0
0
0
0
0
0
-52
-12
46
-47
11
0
0
0
1
0
0
0
0
0
0
0
-2
-35
-24
60
5
32
0
0
0
3
0
0
0
0
0
0
0
-55
-1
39
-91
192
-15
-10
0
2
-19
0
0
0
0
0
0
0
-74
57
8
18
28
-18
1
13
0
-28
0
0
0
0
0
0
0
-3
14
28
37
90
-43
27
-63
-11
49
0
0
0
0
0
0
0
-3
-36
-4
-36
65
-40
-42
-77
-4
-42
0
0
0
0
0
0
0
9
-92
-6
-2
71
-71
183
40
0
3
0
0
0
0
0
0
0
0
18
-75
-25
-50
-43
-2
-7
0
0
0
0
0
0
0
0
0
0
0
5
-16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-11
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
5
-14
7
0
0
-2
0
0
0
0
0
0
0
0
-4
-9
0
-6
9
-2
0
0
0
0
0
0
0
0
0
0
0
20
-31
-15
6
4
1
2
0
0
0
0
0
0
0
0
0
0
0
-15
10
9
-2
16
-4
0
0
0
0
0
0
0
0
0
0
0
7
33
-25
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
27
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-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
1
0
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-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
-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
0
0
0
0
-10
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
9
-41
2
1
-12
23
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
99
4
-4
0
0
0
0
0
0
0
0
0
0
0
-15
0
11
0
-20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
32
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
4
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
-1
-25
13
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-2
18
22
0
0
0
0
0
0
0
0
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
83
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
-162
0
5
0
0
0
0
0
0
0
0
0
0
0
-24
0
18
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
48
0
-9
2
0
0
0
0
0
0
0
0
0
0
-143
0
56
0
87
-29
23
0
0
0
0
0
0
0
0
0
0
0
57
0
-42
7
30
-34
0
-66
0
0
0
0
0
0
0
0
3
-1
-56
0
-15
74
0
0
-53
0
0
0
0
0
0
0
0
0
-78
0
11
0
-12
-34
0
-18
0
0
0
0
0
0
0
0
0
0
54
0
-18
0
0
0
0
0
0
0
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
41
0
6
0
0
0
0
0
0
0
0
0
0
-12
-2
-24
59
0
12
0
0
0
0
0
0
0
0
0
0
0
0
16
-10
-1
111
-2
4
-1
0
7
0
0
0
0
0
0
0
0
41
43
-11
2
54
-9
0
0
0
0
0
0
0
0
0
0
0
44
-114
21
-73
6
77
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-18
-50
-11
2
0
0
-74
0
0
0
0
0
0
0
0
-49
60
13
29
-14
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-51
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
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
23
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
-3
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-10
-48
-14
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
-2
-17
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-11
0
1
0
0
0
0
0
0
0
0
-3
-2
-13
8
-1
-56
56
-101
-2
0
0
0
0
0
0
0
0
0
0
-1
-4
2
29
-27
56
-2
0
0
0
0
0
0
0
0
-6
0
-1
-3
-1
1
-46
-2
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
51
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-20
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
41
-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
12
1
8
26
0
-3
0
0
0
0
0
0
0
0
5
0
1
23
-1
-14
-7
24
-3
-1
0
0
0
0
0
0
0
0
0
7
1
2
18
8
18
-5
0
0
0
0
0
0
0
0
0
0
-1
0
17
12
-13
-10
-6
-3
0
0
0
0
0
0
0
-5
0
0
0
0
-50
-26
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
-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
2
-6
-11
-17
0
0
0
0
0
0
0
0
0
-5
0
-2
0
-8
36
-15
15
-2
1
1
0
0
0
0
0
0
0
0
0
0
25
15
-58
-72
8
6
0
0
0
0
0
0
0
0
0
0
40
-1
17
0
84
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
16
51
2
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
108
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
0
0
0
0
0
0
0
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
0
0
0
91
92
-1
0
-39
0
0
0
0
0
0
0
0
0
0
15
-12
-13
-44
-20
32
12
-2
0
0
0
0
0
0
0
0
-7
10
-11
88
70
44
-58
7
0
0
0
0
0
0
0
0
0
0
2
1
46
101
26
-72
3
0
0
0
0
0
0
0
0
0
0
0
-1
-25
42
86
-52
-5
0
0
0
0
0
0
0
0
0
0
0
11
-26
3
-6
-67
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
29
85
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
-6
4
0
53
96
0
-30
-8
0
37
0
0
0
0
0
0
0
-16
7
2
48
-18
-33
2
-14
-13
48
0
0
0
0
0
0
0
18
92
-34
56
-76
-28
-30
79
-54
-43
0
0
0
0
0
0
0
-28
25
3
-8
-58
-46
-40
40
27
-132
0
0
0
0
0
0
0
6
0
8
2
-4
19
82
126
78
68
0
0
0
0
0
0
0
0
0
0
3
-5
-7
31
39
-15
0
0
0
0
0
0
0
0
0
0
14
0
-10
0
62
-25
-63
11
0
0
0
0
0
0
0
0
0
0
0
0
53
-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
4
0
23
133
-17
0
-84
0
7
0
0
0
0
0
0
0
18
22
-7
0
16
-25
-75
76
-21
15
0
0
0
0
0
0
0
-2
157
8
6
17
25
48
65
-146
-45
0
0
0
0
0
0
0
0
-12
98
-39
183
-16
49
9
-33
46
0
0
0
0
0
0
0
0
-5
-8
-19
47
-1
15
5
-36
58
-4
0
0
0
0
0
0
0
-22
12
1
-2
8
27
-29
-68
14
0
0
0
0
0
0
0
0
-40
0
-1
0
-7
0
-34
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
42
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
-3
-7
-6
59
-45
-54
-32
0
0
3
-1
0
0
0
0
0
0
15
-5
48
-80
-33
9
66
25
-137
-1
-1
0
0
0
0
0
0
120
-7
22
-165
7
-69
1
-78
-53
26
0
0
0
0
0
0
0
22
-43
79
-23
-61
-1
-82
-2
-54
-30
-1
0
0
0
0
0
0
5
8
0
-28
-31
-21
39
29
55
0
-3
0
0
0
0
0
0
0
-4
1
0
3
84
-24
-96
13
-4
11
0
0
0
0
0
0
0
0
0
-9
-7
0
-20
13
-19
-4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
27
8
-1
24
-27
-32
0
0
18
0
0
0
0
0
0
0
25
-18
1
-8
52
4
-24
24
69
3
0
0
0
0
0
0
0
-13
24
0
-24
-13
-99
-71
-16
-19
2
0
0
0
0
0
0
0
98
-4
-2
51
49
-92
-65
-62
-73
17
0
0
0
0
0
0
0
68
16
15
20
48
-13
-110
-43
17
0
0
0
0
0
0
0
0
32
4
-1
-39
9
-18
-21
-41
1
0
0
0
0
0
0
0
0
-7
0
0
-8
23
-53
-4
-76
38
3
0
0
0
0
0
0
0
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
17
0
0
6
-32
-29
0
-23
0
-2
0
0
0
0
0
0
0
0
2
0
24
34
-16
-22
-16
45
0
0
0
0
0
0
0
0
7
0
1
0
-5
32
10
-43
-2
0
0
0
0
0
0
0
0
2
0
1
8
-9
-12
-45
-10
-14
0
0
0
0
0
0
0
0
10
0
0
20
12
-5
-32
-53
7
0
0
0
0
0
0
0
0
-3
0
0
-1
8
2
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-21
-3
-16
0
0
0
0
0
0
0
0
0
-3
0
0
-23
-3
-58
-1
80
-24
0
0
0
0
0
0
0
0
2
0
0
-32
7
-18
-15
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-35
-1
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
0
12
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-25
39
-17
0
13
0
0
0
0
0
0
0
7
1
4
2
44
21
-15
-22
-55
-22
0
0
0
0
0
0
0
0
-2
-3
-8
31
65
68
-9
46
-17
0
0
0
0
0
0
0
2
-4
0
8
-6
48
-47
88
-72
-18
0
0
0
0
0
0
0
0
1
0
0
-1
13
14
32
-7
6
0
0
0
0
0
0
0
0
2
0
0
0
-15
-22
20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
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
-9
-6
-7
14
0
-6
0
0
0
0
0
0
0
0
5
0
0
20
69
11
46
1
-8
0
0
0
0
0
0
0
0
9
0
-7
-17
44
7
-82
19
-22
0
0
0
0
0
0
0
0
-5
0
0
-6
5
-45
-1
29
-11
-1
0
0
0
0
0
0
0
9
1
-1
-5
-3
30
24
-2
3
1
0
0
0
0
0
0
0
1
0
0
0
1
-6
49
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-10
0
0
3
0
11
-10
-62
0
5
1
0
0
0
0
0
0
-35
0
0
-19
-1
83
19
72
-53
4
-3
0
0
0
0
0
0
0
0
0
-26
-2
45
126
22
18
20
0
0
0
0
0
0
0
0
0
0
0
1
88
-6
235
-14
-4
0
0
0
0
0
0
0
0
0
0
3
0
1
-32
0
-17
0
0
0
0
0
0
0
0
0
0
0
-2
0
23
0
6
0
0
13
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
-1
0
0
0
0
0
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
3
-50
40
42
-14
0
-12
-1
0
0
0
0
0
0
27
-1
-2
10
-3
31
11
-77
-27
19
5
0
0
0
0
0
0
-5
1
2
5
-24
-71
-4
58
56
35
0
0
0
0
0
0
0
0
0
21
11
-6
87
47
-31
16
-58
0
0
0
0
0
0
0
-3
-32
0
-7
-38
34
89
-71
31
0
0
0
0
0
0
0
0
0
0
-3
-26
-3
-55
-3
65
-75
-28
0
0
0
0
0
0
0
0
0
0
6
-4
7
-98
37
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
-7
-3
17
-107
56
14
-25
12
0
-28
0
0
0
0
0
0
0
84
101
26
37
30
-4
13
-52
-13
10
-1
0
0
0
0
0
0
56
60
31
-59
-4
0
23
56
70
-165
0
0
0
0
0
0
0
10
-21
-15
-51
109
-50
92
-15
58
-10
0
0
0
0
0
0
0
19
19
18
-26
114
-29
36
19
55
-27
0
0
0
0
0
0
0
-5
-29
0
12
10
-50
60
-12
-38
-44
0
0
0
0
0
0
0
0
-9
0
-10
-23
24
1
-59
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
191
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
-5
-79
-6
11
53
78
66
24
0
-179
-5
0
0
0
0
0
0
33
29
11
62
-19
95
10
10
-42
-21
-5
0
0
0
0
0
0
35
193
-29
57
63
108
-18
56
-45
-56
0
0
0
0
0
0
0
8
60
-126
152
105
36
79
28
43
13
0
0
0
0
0
0
0
0
-41
51
73
10
-7
-26
-7
42
-44
-3
0
0
0
0
0
0
0
-9
8
20
2
4
-37
26
-75
53
0
0
0
0
0
0
0
0
-2
0
10
-69
3
30
11
2
2
0
0
0
0
0
0
0
0
4
0
0
0
88
32
35
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
-53
-49
61
16
-17
-71
96
26
0
79
4
0
0
0
0
0
0
3
-23
-156
151
-55
-17
-31
83
-27
25
18
0
0
0
0
0
0
-145
18
3
21
19
-8
4
8
-44
42
3
0
0
0
0
0
0
174
-1
114
-21
-56
-11
0
-13
41
-26
-7
0
0
0
0
0
0
-52
16
-18
45
-56
-1
-39
-81
-56
22
-1
0
0
0
0
0
0
0
-13
14
-12
-102
44
-5
13
-28
171
16
0
0
0
0
0
0
-1
0
0
-1
-76
67
-60
-38
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
23
-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
-49
99
13
55
18
-33
74
-50
0
74
9
-2
0
0
0
0
0
45
98
-70
44
67
35
-90
9
35
6
11
0
0
0
0
0
0
-7
-70
-184
-47
-48
17
-15
22
-23
-96
-4
0
0
0
0
0
0
-5
52
49
-80
-29
32
-41
-7
-23
66
4
0
0
0
0
0
0
2
61
52
9
-18
39
-22
38
19
18
-1
0
0
0
0
0
0
0
44
79
82
-21
-76
-122
-13
-11
21
2
0
0
0
0
0
0
23
-3
9
-19
16
-9
-10
8
-15
-20
0
0
0
0
0
0
0
0
0
-15
0
0
24
10
-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
-4
58
28
163
-65
-14
45
0
-24
4
0
0
0
0
0
0
0
40
-66
128
-124
-43
-17
-74
-67
-19
37
1
0
0
0
0
0
0
63
34
-139
3
-43
10
-27
-56
-53
19
0
0
0
0
0
0
0
-65
143
-36
35
-60
-39
-18
15
-125
-15
0
0
0
0
0
0
0
-106
-26
-71
-23
105
-22
-10
20
-28
-6
0
0
0
0
0
0
0
-35
11
47
-186
-19
35
41
12
63
5
0
0
0
0
0
0
0
69
-15
-11
-65
61
79
-69
-121
4
0
0
0
0
0
0
0
0
0
0
-18
5
-83
2
-79
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
-19
4
0
16
-21
-94
0
6
-7
-3
0
0
0
0
0
0
0
1
-7
1
7
-33
23
-29
-38
42
-2
0
0
0
0
0
0
0
0
12
3
5
33
-9
-21
-52
23
0
0
0
0
0
0
0
0
59
-1
-5
23
-4
-31
-77
20
56
0
0
0
0
0
0
0
0
-13
19
-2
-8
-3
49
94
105
3
0
0
0
0
0
0
0
0
-2
2
-19
49
-1
35
17
26
-27
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
23
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
1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
7
-37
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
-9
0
1
6
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-20
0
0
0
0
0
0
0
0
0
17
7
0
24
53
22
22
55
18
0
0
0
0
0
0
0
0
0
0
-4
5
0
-7
9
4
-1
0
0
0
0
0
0
0
0
0
1
3
0
-1
-19
-31
-11
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
11
16
-23
0
-18
0
-3
0
0
0
0
0
0
0
0
38
0
3
-24
6
36
-6
-28
0
0
0
0
0
0
0
0
0
0
0
4
-51
12
44
-24
-95
12
0
0
0
0
0
0
0
0
4
-2
7
4
48
35
-76
-20
-11
0
0
0
0
0
0
0
0
-11
0
0
7
21
-25
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
20
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-15
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
-8
10
-1
-1
25
0
1
4
0
0
0
0
0
0
0
0
-1
5
0
-31
10
25
-45
-11
-4
0
0
0
0
0
0
0
27
0
0
10
-18
40
18
-26
0
5
0
0
0
0
0
0
0
-2
0
2
-5
4
-32
-45
-29
1
0
0
0
0
0
0
0
0
-6
-2
0
11
0
9
-5
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
21
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
4
-16
-5
-10
57
0
-15
0
0
0
0
0
0
0
0
-1
3
-10
169
135
71
-33
52
0
6
0
0
0
0
0
0
0
-5
0
4
45
-49
73
30
-68
-1
4
0
0
0
0
0
0
-9
1
-19
-50
11
50
131
125
1
4
0
0
0
0
0
0
0
0
0
0
0
-70
12
105
-3
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-47
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
-15
0
0
31
72
18
47
0
-71
0
0
0
0
0
0
0
-2
11
-7
8
115
69
49
87
-59
35
0
0
0
0
0
0
0
-1
-14
29
56
78
-25
-33
136
47
27
0
0
0
0
0
0
0
-7
39
0
-1
-5
13
79
10
83
10
0
0
0
0
0
0
0
0
9
3
8
3
21
47
74
-27
1
0
0
0
0
0
0
0
0
-6
0
7
1
77
-9
-87
-28
10
0
0
0
0
0
0
0
-1
0
-15
0
-17
0
-15
87
13
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
-26
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
44
-6
-12
-15
-63
-36
42
0
0
1
0
0
0
0
0
0
0
24
75
54
136
-25
-51
-19
-25
-26
55
0
0
0
0
0
0
0
20
88
0
-27
60
-2
-3
-7
19
-60
0
0
0
0
0
0
0
56
-165
-51
-64
67
-91
-91
6
78
-10
0
0
0
0
0
0
0
-97
-4
-41
71
34
-39
132
-14
37
-17
0
0
0
0
0
0
0
-2
29
37
-17
-25
19
68
33
98
43
0
0
0
0
0
0
0
7
1
7
0
-17
-67
-4
-61
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-3
11
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
8
0
0
0
0
0
0
0
0
7
-34
-27
6
136
-6
-11
-16
0
8
-1
0
0
0
0
0
0
34
-69
-2
56
39
-69
-38
-32
-7
2
1
0
0
0
0
0
0
0
-164
38
7
-73
-21
82
-5
-40
-5
0
0
0
0
0
0
0
1
-23
-37
51
-29
-75
-19
-102
-12
22
0
0
0
0
0
0
0
-3
-9
-17
-159
-75
16
-102
24
4
-35
-3
0
0
0
0
0
0
0
-71
-41
50
56
-91
73
-12
46
16
0
0
0
0
0
0
0
0
0
72
22
25
-48
-79
13
-72
5
0
0
0
0
0
0
0
0
0
0
0
0
-37
-23
-10
5
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
41
-40
20
18
25
59
42
0
37
-14
0
0
0
0
0
0
-103
82
47
48
22
-2
67
49
42
-46
4
0
0
0
0
0
0
-65
-81
138
-46
-12
15
4
4
146
44
19
0
0
0
0
0
0
-16
41
-28
-57
-21
61
0
20
-70
37
4
0
0
0
0
0
0
-29
-41
32
-107
56
60
91
-52
9
-39
-22
0
0
0
0
0
0
-13
97
77
16
-4
14
57
12
42
66
-1
0
0
0
0
0
0
45
38
-9
-4
1
49
-8
92
83
1
0
0
0
0
0
0
0
0
-17
-2
-42
-2
51
22
-62
7
-2
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
4
0
0
0
0
0
0
0
0
-66
16
129
13
-39
7
39
54
0
30
0
0
0
0
0
0
0
-91
-12
-99
55
100
-41
0
57
-18
-112
87
0
0
0
0
0
0
-59
-62
77
88
71
-30
-72
17
20
57
-1
5
0
0
0
0
0
55
-35
9
89
74
-36
-12
-8
-28
-39
1
0
0
0
0
0
0
7
21
-20
60
-36
-23
51
24
-25
6
0
0
0
0
0
0
0
-4
-34
-72
112
62
-90
71
-28
36
37
0
0
0
0
0
0
0
6
-11
-112
-10
-2
-77
-84
-1
-1
54
0
0
0
0
0
0
0
0
11
-1
3
0
33
-31
-6
27
-6
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
34
-21
7
34
46
2
13
0
-89
11
0
0
0
0
0
0
0
14
59
64
7
-81
-23
86
-24
-4
-71
0
0
0
0
0
0
0
38
210
-65
-90
-26
-26
-52
-54
-37
-10
0
0
0
0
0
0
0
-66
-39
-94
-24
-51
-30
-3
-50
-66
-52
0
0
0
0
0
0
0
-43
32
85
-119
128
29
-53
6
24
44
0
0
0
0
0
0
0
117
-64
32
-86
55
11
37
24
17
38
0
0
0
0
0
0
0
11
25
19
65
-44
105
-19
5
16
0
0
0
0
0
0
0
0
0
-24
0
0
-76
-35
21
-107
-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
-4
1
-1
3
-20
1
0
-81
-22
0
0
0
0
0
0
0
0
21
50
67
-13
1
26
8
-15
-97
-1
0
0
0
0
0
0
0
-21
1
-1
-6
-1
4
-39
-9
0
0
0
0
0
0
0
0
0
-3
-5
0
-1
3
13
-23
9
-3
0
0
0
0
0
0
0
0
2
-1
-5
1
2
-41
19
73
-2
7
0
0
0
0
0
0
0
-2
-8
18
39
-18
14
-14
-15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-3
60
18
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
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
-1
0
0
1
-3
2
-14
-11
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
6
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
12
-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
2
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
0
-2
-11
6
-42
-15
2
0
0
0
0
0
0
0
0
0
0
0
4
-17
10
-3
-18
-12
0
0
0
0
0
0
0
0
0
0
0
5
-10
50
12
-87
-15
0
0
0
0
0
0
0
0
0
0
0
0
50
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-18
-8
-3
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
0
0
0
0
0
0
0
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
40
95
22
0
56
0
0
0
0
0
0
0
0
17
0
-7
110
7
34
-48
-153
-30
0
0
0
0
0
0
0
4
3
2
-4
-42
-84
38
-55
87
60
0
0
0
0
0
0
0
0
0
9
-34
-170
-31
104
-50
-72
-22
0
0
0
0
0
0
0
0
2
14
0
-4
78
24
70
94
4
0
0
0
0
0
0
0
0
-10
0
1
-33
-27
-1
4
-27
-8
0
0
0
0
0
0
0
0
-2
-3
3
-15
0
-44
32
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-40
-1
0
-19
-4
0
0
0
0
0
0
0
2
0
0
8
-52
9
2
28
-61
2
0
0
0
0
0
0
0
0
0
4
-3
-4
44
83
-28
5
0
0
0
0
0
0
0
0
0
0
42
-2
-35
11
-33
-15
-55
0
0
0
0
0
0
0
0
0
3
-2
1
0
60
7
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-4
27
0
0
0
0
0
0
0
0
0
0
0
-4
0
9
0
-9
-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
20
-21
64
-1
-68
0
0
0
0
0
0
0
0
0
13
0
3
-16
75
68
77
-24
-139
-1
0
0
0
0
0
0
0
2
0
0
19
-92
-91
60
-30
101
-1
-7
0
0
0
0
0
0
-5
-2
1
0
-53
-138
-92
17
-25
-3
0
0
0
0
0
0
0
5
10
5
3
69
19
-141
-45
12
0
0
0
0
0
0
0
0
0
0
-1
0
-5
30
0
60
0
0
0
0
0
0
0
0
0
0
-7
0
8
-7
-4
-41
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
68
78
57
-85
0
26
0
0
0
0
0
0
0
141
9
13
-37
-139
15
94
40
125
8
0
0
0
0
0
0
0
-10
4
10
17
-44
39
24
56
5
-33
0
0
0
0
0
0
0
-5
-35
-32
79
7
-64
-176
-35
16
15
0
0
0
0
0
0
0
7
9
0
-19
-68
-88
-10
-2
-4
0
0
0
0
0
0
0
0
7
6
115
39
73
-44
33
-3
129
-19
0
0
0
0
0
0
0
-9
0
0
0
-48
-7
-32
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
-2
0
94
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
13
0
-2
-57
115
-69
116
-9
0
-33
0
0
0
0
0
0
0
-84
-26
-167
34
-52
-17
26
2
-89
12
-26
0
0
0
0
0
0
-49
-4
58
-34
23
-34
-21
-1
-27
39
0
0
0
0
0
0
0
-123
-7
73
71
-17
32
66
7
-12
-70
0
0
0
0
0
0
0
-9
-77
53
7
-36
99
48
5
117
21
0
0
0
0
0
0
0
5
-29
-23
59
57
134
12
-14
-15
-35
6
0
0
0
0
0
0
-3
-18
-21
-14
41
42
-84
82
18
-2
0
0
0
0
0
0
0
0
0
0
2
-15
55
89
47
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
10
0
0
0
0
0
0
0
0
0
-3
3
4
-3
78
20
-39
48
0
-2
0
0
0
0
0
0
0
-17
-63
20
8
2
22
-42
-10
80
-44
-1
0
0
0
0
0
0
3
-57
30
87
106
-39
-77
-12
-31
46
0
0
0
0
0
0
0
-17
154
172
216
-31
-45
4
-1
14
24
0
0
0
0
0
0
0
-3
-38
131
-6
-6
-16
1
-40
7
47
-1
0
0
0
0
0
0
3
81
142
55
1
95
5
14
36
6
-2
0
0
0
0
0
0
11
-40
-7
-29
-15
84
32
83
20
-7
0
0
0
0
0
0
0
0
-4
0
-3
9
-3
-42
19
95
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
34
46
150
-128
-35
-2
47
46
0
-3
0
0
0
0
0
0
0
-81
-76
95
2
-85
-14
18
8
20
-23
25
0
0
0
0
0
0
-53
-1
-56
45
-4
26
-19
19
-9
-30
-1
0
0
0
0
0
0
-118
42
30
44
-44
-38
-3
-10
4
-9
-4
0
0
0
0
0
0
-42
-46
-53
-30
29
-16
19
-43
-73
-13
6
0
0
0
0
0
0
-47
130
145
-116
11
70
38
44
42
-55
-10
0
0
0
0
0
0
122
22
104
-20
10
61
46
23
55
-13
0
0
0
0
0
0
0
0
7
14
58
0
8
-1
-8
21
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
6
0
10
0
0
0
0
0
0
0
0
-276
-45
-43
-15
84
20
22
28
0
-8
-2
0
0
0
0
0
0
80
-45
-101
-36
40
-30
35
3
29
-37
-53
3
0
0
0
0
0
-76
83
7
-17
14
12
20
37
-9
61
9
7
0
0
0
0
0
-21
22
-53
-6
72
10
-28
2
1
-38
1
0
0
0
0
0
0
-39
-2
-55
29
-25
14
19
30
8
-113
0
0
0
0
0
0
0
-13
-37
10
-130
-62
49
66
36
18
24
0
0
0
0
0
0
0
66
-17
50
-32
-74
-38
41
58
24
-9
0
0
0
0
0
0
0
0
-6
-44
28
-12
-23
14
-2
55
4
0
0
0
0
0
0
0
0
0
0
0
0
22
12
-1
0
0
0
0
0
0
0
0
0
0
-25
33
-58
-120
-72
21
26
0
11
6
0
0
0
0
0
0
0
117
133
39
30
13
-30
-22
-3
1
59
0
0
0
0
0
0
0
45
94
72
104
-57
65
-22
-12
11
-51
0
0
0
0
0
0
0
-81
-45
76
-12
-79
-52
-83
-20
-1
40
0
0
0
0
0
0
0
-99
124
-59
-21
-9
7
67
16
-51
-5
0
0
0
0
0
0
0
11
-76
-156
-34
-4
47
38
63
-9
-18
0
0
0
0
0
0
0
-33
135
46
9
-143
69
44
6
73
0
0
0
0
0
0
0
0
-5
6
4
0
-81
-34
14
-77
105
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-2
0
0
0
0
0
0
0
0
0
8
4
0
6
-7
68
0
-12
11
-8
0
0
0
0
0
0
0
8
6
-4
3
34
31
-97
29
-19
5
0
0
0
0
0
0
0
-37
0
2
17
6
38
25
-16
-16
-3
0
0
0
0
0
0
0
-6
-3
19
4
58
-21
104
-18
7
0
0
0
0
0
0
0
0
103
0
12
3
-2
-68
62
78
-18
0
0
0
0
0
0
0
0
0
0
-6
6
0
-37
-25
8
14
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-39
-3
0
2
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
6
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
-1
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-40
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-2
-2
-42
0
0
0
0
0
0
0
0
1
0
0
-10
0
-55
-14
35
5
0
0
0
0
0
0
0
0
0
0
0
23
31
3
-4
34
2
0
0
0
0
0
0
0
0
0
0
0
3
14
-36
-10
15
2
0
0
0
0
0
0
0
0
-2
0
0
2
0
5
4
-1
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
-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
-6
0
29
-24
62
-47
0
-62
0
0
0
0
0
0
0
0
3
0
8
65
-33
70
42
-47
144
0
0
0
0
0
0
0
0
24
6
25
68
-18
67
5
-76
14
0
0
0
0
0
0
0
0
16
-14
27
-14
153
79
19
-34
30
0
0
0
0
0
0
0
7
0
10
-23
-98
53
25
-12
5
21
0
0
0
0
0
0
0
0
1
-16
1
14
-60
73
19
-53
8
0
0
0
0
0
0
0
0
0
-14
7
65
-6
55
-7
4
19
0
0
0
0
0
0
0
0
0
0
-2
0
-72
21
-112
13
0
0
0
0
0
0
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
27
28
0
51
13
0
0
0
0
0
0
0
0
0
0
0
-18
-53
-1
-3
-7
36
0
0
0
0
0
0
0
-10
2
0
12
-15
-24
49
-3
40
10
0
0
0
0
0
0
0
1
0
-2
-4
53
31
-25
-10
-39
5
0
0
0
0
0
0
0
7
0
2
-15
-55
38
-7
-21
3
0
0
0
0
0
0
0
0
0
0
1
0
20
-28
13
10
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-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
41
-19
26
-2
13
-49
-108
3
0
25
-2
0
0
0
0
0
0
-14
0
21
-11
-78
54
29
-120
61
-54
0
0
0
0
0
0
0
8
0
1
-32
-123
-35
58
1
56
0
-7
0
0
0
0
0
0
17
0
0
41
-110
-81
-68
-72
20
-2
0
0
0
0
0
0
0
29
0
1
0
2
-34
4
-1
-18
0
0
0
0
0
0
0
0
0
-5
0
10
6
31
-8
38
0
0
0
0
0
0
0
0
0
-4
0
0
-1
-1
2
56
2
1
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
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
21
-7
0
-33
111
26
99
28
0
55
0
0
0
0
0
0
0
-19
5
89
19
-56
-17
-13
27
2
-118
0
0
0
0
0
0
0
27
-19
78
85
-22
-35
17
49
35
-50
0
0
0
0
0
0
0
1
-10
0
101
-20
-71
17
-26
-76
4
0
0
0
0
0
0
0
-8
149
25
54
0
21
-106
28
9
-6
0
0
0
0
0
0
0
0
52
-8
3
68
-103
16
53
-32
185
0
0
0
0
0
0
0
4
18
0
-2
-66
58
-9
29
141
0
0
0
0
0
0
0
0
0
-13
0
-2
0
-88
-2
12
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
-77
-19
-49
54
10
-46
24
30
0
50
0
0
0
0
0
0
0
-21
65
-87
63
-68
-87
21
16
20
25
2
0
0
0
0
0
0
-81
125
111
81
3
-36
19
31
15
-70
6
0
0
0
0
0
0
35
-44
55
28
2
-21
7
2
-36
-51
0
0
0
0
0
0
0
26
36
-5
-1
-63
0
-7
12
20
4
-6
0
0
0
0
0
0
52
-46
87
73
-73
10
-84
15
37
-1
0
0
0
0
0
0
0
10
-14
14
-3
-4
50
2
14
17
0
0
0
0
0
0
0
0
0
1
-18
-62
0
-31
34
-19
-3
6
0
0
0
0
0
0
0
0
0
0
0
8
0
47
18
-4
0
0
0
0
0
0
0
0
-42
64
-109
-108
-45
-62
7
9
0
-51
-1
0
0
0
0
0
0
103
-17
-169
5
-124
28
-1
29
-20
-21
18
0
0
0
0
0
0
-20
-88
-65
31
-40
-41
5
-78
-7
-56
0
0
0
0
0
0
0
-12
17
143
28
-34
51
-46
-12
-40
-35
0
0
0
0
0
0
0
-60
125
-87
313
113
-30
0
17
20
-26
1
0
0
0
0
0
0
0
-68
-105
42
28
12
34
-5
-10
-32
0
0
0
0
0
0
0
5
65
-43
50
-90
37
97
6
8
21
0
0
0
0
0
0
0
0
1
-5
0
-1
-51
-45
-18
-56
43
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
33
0
1
0
0
0
0
0
0
0
-67
-126
55
37
-17
-39
24
3
0
35
-11
0
0
0
0
0
0
-38
19
-10
12
-12
44
1
25
19
-48
-29
0
0
0
0
0
0
79
-48
14
84
-19
-2
19
13
-49
39
43
0
0
0
0
0
0
31
53
-88
0
-13
45
2
-52
-114
55
22
0
0
0
0
0
0
51
150
91
-47
21
17
1
0
122
33
4
0
0
0
0
0
0
13
-40
-92
24
40
55
14
25
22
56
2
0
0
0
0
0
0
-49
73
-28
-89
24
34
61
45
29
6
3
0
0
0
0
0
0
0
-10
-9
-5
-4
44
-8
50
-60
54
0
0
0
0
0
0
0
0
0
0
0
-34
0
-3
-8
-37
0
0
0
0
0
0
0
0
16
61
10
181
27
-27
12
-38
0
15
3
0
0
0
0
0
0
107
-106
67
57
-60
9
8
26
31
-10
45
0
0
0
0
0
0
35
13
65
-15
68
15
22
-3
-5
7
0
-3
0
0
0
0
0
44
-92
-26
-85
3
70
-35
2
-15
-104
3
0
0
0
0
0
0
4
-28
81
-133
1
-12
11
1
0
34
0
0
0
0
0
0
0
23
-29
156
77
-71
-21
1
25
33
-47
-6
0
0
0
0
0
0
48
91
14
16
12
24
32
70
38
-35
-1
0
0
0
0
0
0
0
34
62
-45
1
14
49
3
15
59
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-46
42
-8
0
0
0
0
0
0
0
0
0
6
-85
80
32
-32
42
84
0
18
2
0
0
0
0
0
0
0
-9
175
63
-69
42
38
60
-10
16
-29
0
0
0
0
0
0
0
10
-78
77
-24
33
-50
-17
7
-26
22
0
0
0
0
0
0
0
-112
-29
84
-114
-20
-3
18
26
-4
-19
0
0
0
0
0
0
0
6
120
12
72
-104
-49
-8
52
0
8
0
0
0
0
0
0
0
-57
51
-12
128
-104
-83
20
17
-6
7
0
0
0
0
0
0
0
-18
-79
27
-64
19
47
37
42
-40
-1
0
0
0
0
0
0
0
6
8
0
1
15
78
24
1
53
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
5
-1
0
38
-1
72
0
-94
36
29
0
0
0
0
0
0
0
-6
-8
11
59
-33
-18
-54
-49
-55
-10
0
0
0
0
0
0
0
2
-12
6
-11
-9
-11
-48
-13
-14
1
0
0
0
0
0
0
0
-10
4
0
4
-8
-31
15
81
-118
4
0
0
0
0
0
0
0
0
1
-2
8
2
-42
63
-42
0
1
0
0
0
0
0
0
0
-1
-10
0
0
-18
-1
39
13
14
0
0
0
0
0
0
0
0
0
0
0
5
0
53
-23
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
-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
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-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
3
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
-13
0
38
9
3
0
0
0
0
0
0
0
0
-8
0
0
-19
-1
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
1
-12
52
6
59
2
14
0
0
0
0
0
0
0
0
0
0
5
-1
-5
-90
0
-8
0
0
0
0
0
0
0
0
0
0
3
0
-3
32
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
15
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
-5
-1
0
0
14
23
2
0
14
0
0
0
0
0
0
0
0
-31
0
0
-15
41
-106
43
-104
-11
0
0
0
0
0
0
0
0
0
2
4
8
0
-78
31
-11
1
0
0
0
0
0
0
0
2
-27
0
11
-13
70
-17
49
44
91
0
0
0
0
0
0
0
0
39
1
-17
103
-20
-67
86
128
15
0
0
0
0
0
0
0
0
0
-10
45
-134
-2
-59
25
46
-33
0
0
0
0
0
0
0
0
-9
-2
-2
7
-11
-76
-2
-68
0
0
0
0
0
0
0
0
0
0
0
0
3
-78
0
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
52
38
7
0
55
0
0
0
0
0
0
0
0
0
0
0
-7
-3
80
0
-25
-17
-4
0
0
0
0
0
0
0
0
0
0
1
17
66
75
85
-4
0
0
0
0
0
0
0
0
7
0
10
26
-3
18
-121
2
61
0
0
0
0
0
0
0
0
4
-7
-33
20
-47
-16
98
37
0
0
0
0
0
0
0
0
0
7
0
-2
43
17
-4
-99
11
0
0
0
0
0
0
0
0
0
-8
0
-12
-39
78
19
-3
12
14
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
-16
0
0
0
12
-8
-87
-64
0
11
2
0
0
0
0
0
0
36
-1
-22
-95
-4
-155
-139
-23
-160
8
9
0
0
0
0
0
0
3
0
0
7
-7
14
-137
-110
-76
27
0
0
0
0
0
0
0
-7
0
0
-42
6
-36
-6
-180
-6
0
0
0
0
0
0
0
0
1
0
14
18
-28
68
-84
41
-59
0
0
0
0
0
0
0
0
0
0
1
0
2
-24
11
0
-3
-7
0
0
0
0
0
0
0
-5
-9
0
6
2
2
198
11
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
-27
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
59
5
4
1
-88
-57
53
-41
0
17
0
0
0
0
0
0
0
12
41
-3
30
-100
82
-94
-114
13
0
0
0
0
0
0
0
0
0
-22
0
-16
-11
-9
-66
-69
-91
-61
0
0
0
0
0
0
0
-10
224
8
-33
-32
-103
-5
-77
-18
16
0
0
0
0
0
0
0
3
42
-19
-47
105
19
-34
-77
-5
-17
0
0
0
0
0
0
0
3
98
13
29
0
15
129
-104
-3
1
0
0
0
0
0
0
0
8
42
37
0
66
-11
1
17
-29
0
0
0
0
0
0
0
0
0
1
0
4
0
51
18
34
45
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
-86
63
-110
-58
-61
-38
20
25
0
-45
0
0
0
0
0
0
0
-17
-39
41
65
-21
-59
63
-1
25
-34
22
0
0
0
0
0
0
-13
26
2
29
-65
19
16
-27
-31
19
1
0
0
0
0
0
0
39
-59
0
-39
52
-48
66
-3
-28
-13
0
0
0
0
0
0
0
44
-16
0
68
11
-29
26
-46
7
-22
0
0
0
0
0
0
0
-3
36
73
-27
56
0
-71
-9
20
-83
0
0
0
0
0
0
0
1
80
-3
-18
-4
74
-3
-52
29
-2
0
0
0
0
0
0
0
0
14
0
-12
0
102
-34
-35
-12
-20
0
0
0
0
0
0
0
0
0
0
0
11
0
37
0
0
0
0
0
0
0
0
0
0
-37
78
18
10
-52
-53
-98
18
0
-16
39
0
0
0
0
0
0
-40
-80
81
13
50
15
-25
-15
14
-6
17
0
0
0
0
0
0
3
-113
0
-23
108
5
-16
14
9
-124
0
0
0
0
0
0
0
40
42
94
-122
18
-7
9
4
-48
33
0
0
0
0
0
0
0
11
129
-64
138
-36
-138
-64
23
-19
113
0
0
0
0
0
0
0
15
20
14
128
39
-82
0
-9
-25
8
0
0
0
0
0
0
0
-11
156
78
-40
33
33
23
-31
-6
-89
0
0
0
0
0
0
0
0
-7
1
-18
5
61
35
17
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
43
2
0
0
0
0
0
0
0
0
0
-118
9
144
16
-20
-30
-17
-12
0
-15
96
0
0
0
0
0
0
-135
-45
56
-54
-18
-26
-17
-1
35
-49
51
0
0
0
0
0
0
-129
-37
62
33
-39
19
-14
-56
-2
-53
12
0
0
0
0
0
0
-9
-53
2
37
13
13
5
-6
-16
27
3
0
0
0
0
0
0
137
-79
46
4
10
-50
1
-24
-10
-40
0
0
0
0
0
0
0
-118
-16
83
56
-34
41
-38
0
-33
64
-12
0
0
0
0
0
0
-20
39
-111
209
29
-11
22
-70
24
-14
0
0
0
0
0
0
0
0
15
-17
-33
110
16
94
20
49
-4
0
0
0
0
0
0
0
0
0
0
0
-6
0
-34
26
-16
0
0
0
0
0
0
0
0
-34
-57
-23
43
47
7
9
0
0
21
-13
0
0
0
0
0
0
-126
-71
45
35
24
-48
4
17
20
28
30
0
0
0
0
0
0
7
77
58
55
38
-27
4
-5
30
32
42
0
0
0
0
0
0
-9
52
128
38
76
77
17
27
-58
19
0
-1
0
0
0
0
0
84
27
82
63
35
26
6
7
10
-48
-11
-6
0
0
0
0
0
53
-53
135
69
-62
-30
23
11
0
-8
-2
0
0
0
0
0
0
63
13
89
164
17
14
46
13
15
-7
0
0
0
0
0
0
0
0
3
-7
-2
10
16
23
0
-43
56
0
0
0
0
0
0
0
0
0
0
0
-42
0
17
-3
0
1
0
0
0
0
0
0
0
0
-84
93
15
2
30
56
-23
0
6
58
0
0
0
0
0
0
0
0
12
-19
-6
-10
-40
-33
-22
2
28
0
0
0
0
0
0
0
7
-139
-15
-16
-42
-36
-93
25
42
-18
0
0
0
0
0
0
0
-58
-60
-11
-87
-18
22
47
-34
-2
29
0
0
0
0
0
0
0
33
142
62
17
49
59
19
12
-46
-9
0
0
0
0
0
0
0
-1
103
-80
-83
54
-37
-31
-157
0
9
0
0
0
0
0
0
0
-24
-21
47
-123
-56
59
66
-17
-69
0
0
0
0
0
0
0
0
0
-2
-9
0
28
14
21
103
-2
0
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
1
-1
0
-3
-2
0
-115
-14
0
0
0
0
0
0
0
0
26
15
34
24
-8
78
-1
-64
34
-4
0
0
0
0
0
0
0
-3
0
1
-12
11
49
94
20
-6
-14
0
0
0
0
0
0
0
-4
0
11
1
52
-21
-44
-17
-10
0
0
0
0
0
0
0
0
-1
-1
-12
19
-13
16
-91
-34
-12
20
0
0
0
0
0
0
0
-5
3
0
7
-15
-14
-14
-11
0
6
0
0
0
0
0
0
0
0
0
0
3
9
0
-22
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
5
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
-7
0
-8
0
-3
-1
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
154
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
65
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
1
-41
1
6
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
4
0
0
0
0
0
0
0
0
0
0
5
0
-1
-78
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-12
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
82
-40
0
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-96
-1
30
-12
0
0
0
0
0
0
0
0
7
0
0
2
0
-36
-3
95
54
0
0
0
0
0
0
0
0
17
0
-2
-1
-6
-17
98
-26
-60
0
0
0
0
0
0
0
0
0
0
7
-34
13
7
-10
-44
0
0
0
0
0
0
0
0
0
0
18
19
-14
-43
17
8
16
-1
0
0
0
0
0
0
0
0
0
-23
-24
-61
-64
-53
-4
-41
0
0
0
0
0
0
0
0
0
-4
0
6
-22
48
-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
-14
0
14
-8
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-9
-26
-38
-73
-16
-6
0
0
0
0
0
0
0
10
0
0
5
0
43
13
-39
-5
0
0
0
0
0
0
0
0
3
0
0
1
38
-18
-95
-3
77
0
0
0
0
0
0
0
0
-3
-2
1
-2
-23
-20
-2
-15
16
0
0
0
0
0
0
0
0
7
0
0
-2
34
38
-93
-13
2
0
0
0
0
0
0
0
0
-2
0
0
53
-5
-63
-6
-59
2
0
0
0
0
0
0
0
0
0
0
0
0
99
43
68
-1
0
0
0
0
0
0
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
-45
-11
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
87
1
-134
46
-1
-9
0
0
0
0
0
0
0
0
0
0
2
0
36
34
16
3
-1
0
0
0
0
0
0
0
0
0
0
22
-65
-21
98
-6
-2
0
0
0
0
0
0
0
-2
0
-1
-1
-19
35
100
-6
171
0
0
0
0
0
0
0
0
0
5
1
-18
-1
65
74
151
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
36
-10
77
-4
0
0
0
0
0
0
0
0
0
0
4
0
-77
-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
1
0
0
-35
31
23
-74
0
29
0
0
0
0
0
0
0
0
-11
0
-20
2
-49
2
17
84
-32
0
0
0
0
0
0
0
0
-23
3
-16
-18
-1
29
66
-48
27
0
0
0
0
0
0
0
-26
7
0
-6
-8
51
-18
62
-119
-41
0
0
0
0
0
0
0
5
-65
-1
27
-58
-52
-18
53
-106
-6
0
0
0
0
0
0
0
0
-40
42
14
-27
76
-70
-95
-96
54
0
0
0
0
0
0
0
-1
139
31
17
0
17
-18
-40
-14
2
0
0
0
0
0
0
0
0
2
0
0
0
0
69
-64
4
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
0
0
0
0
0
0
0
0
0
0
11
0
-8
-3
-19
60
-27
80
0
117
0
0
0
0
0
0
0
1
47
-2
-43
-12
-76
-14
0
-14
-59
55
0
0
0
0
0
0
0
-42
-1
1
67
35
39
-23
12
25
0
0
0
0
0
0
0
4
50
-17
27
47
-13
90
39
34
-21
10
0
0
0
0
0
0
-24
-111
-8
10
-16
-64
11
-12
32
-16
0
0
0
0
0
0
0
9
11
67
-18
-33
-79
-70
27
-32
-40
0
0
0
0
0
0
0
35
37
8
-17
91
0
-6
-40
15
-9
0
0
0
0
0
0
0
0
-10
0
44
0
5
-16
27
-39
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
21
1
6
0
0
0
0
0
0
0
0
16
9
44
30
77
-43
-1
-5
0
7
10
0
0
0
0
0
0
10
-102
-25
-124
-88
-33
-90
7
22
-2
-49
0
0
0
0
0
0
4
50
29
54
13
45
36
8
-2
22
0
0
0
0
0
0
0
61
11
-80
-28
102
2
115
64
-12
-24
0
0
0
0
0
0
0
-1
-113
-56
-32
79
13
9
52
15
80
0
0
0
0
0
0
0
4
-62
61
101
118
-28
-1
26
-53
-35
0
0
0
0
0
0
0
0
10
-12
28
146
-54
0
-18
-24
-44
0
0
0
0
0
0
0
0
27
-20
-29
-51
-61
45
-1
2
32
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
0
0
0
0
0
0
0
0
0
-153
-9
-34
-96
3
60
-72
-118
0
49
7
0
0
0
0
0
0
85
106
-89
82
-38
-9
-50
17
58
-32
42
0
0
0
0
0
0
-18
58
-54
-13
-36
-46
27
0
14
39
1
0
0
0
0
0
0
-62
79
-15
23
8
32
31
45
-54
-20
17
0
0
0
0
0
0
-37
13
-48
18
97
-26
3
-64
-10
64
-6
0
0
0
0
0
0
-69
-4
42
92
-8
10
-46
-44
74
50
5
0
0
0
0
0
0
-25
-3
44
37
25
25
-36
0
-56
34
2
0
0
0
0
0
0
0
1
-58
11
-46
5
-162
-28
37
17
0
0
0
0
0
0
0
0
0
0
0
14
0
-43
23
33
0
0
0
0
0
0
0
0
0
40
60
-33
-41
-11
7
-9
0
32
-14
0
0
0
0
0
0
11
-77
156
64
-22
4
33
-9
14
17
-10
0
0
0
0
0
0
-19
-32
-81
-31
33
36
18
1
2
45
2
3
0
0
0
0
0
-14
58
53
-33
-143
-12
10
7
24
11
-18
0
0
0
0
0
0
9
7
-73
77
-56
4
27
36
63
-17
0
0
0
0
0
0
0
0
2
108
171
99
18
79
11
-19
6
-4
0
0
0
0
0
0
6
-32
91
48
79
-20
-4
-5
0
-22
0
0
0
0
0
0
0
0
-95
3
-16
65
-6
-18
-19
-73
-12
0
0
0
0
0
0
0
0
-6
0
0
0
-15
19
33
-8
1
0
0
0
0
0
0
0
0
-6
-36
-108
35
-42
3
-3
0
17
2
0
0
0
0
0
0
0
-34
-65
-60
-16
-1
-104
-30
-64
-35
27
0
0
0
0
0
0
0
88
131
10
83
-212
2
-91
-26
29
-68
0
0
0
0
0
0
0
73
-11
86
53
-90
20
38
-11
-3
32
0
0
0
0
0
0
0
-143
-101
-63
-36
32
60
20
-42
-14
-49
0
0
0
0
0
0
0
7
27
119
87
-8
-8
-8
-67
-33
-56
0
0
0
0
0
0
0
-60
141
-5
-27
31
2
-22
7
0
-15
0
0
0
0
0
0
0
62
-40
-14
14
-7
58
-29
1
49
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-7
0
0
0
0
0
0
0
0
0
0
1
1
25
-5
19
0
-63
59
0
0
0
0
0
0
0
0
0
10
-5
4
-1
-5
-31
7
-28
-27
0
0
0
0
0
0
0
0
4
-19
5
-6
9
-48
1
25
0
0
0
0
0
0
0
0
0
9
9
0
-17
8
16
7
88
-2
0
0
0
0
0
0
0
0
0
4
7
0
4
-6
64
-29
-3
0
0
0
0
0
0
0
0
-3
0
0
-16
-32
7
25
8
2
0
0
0
0
0
0
0
0
-4
-7
6
0
-67
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
-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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
15
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
28
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-6
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
3
0
6
0
0
1
-1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
31
0
0
0
0
0
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
4
0
-34
0
0
0
0
0
0
0
0
0
0
-12
-1
0
63
0
7
0
22
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
0
0
24
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
-2
0
-18
-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
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
-1
8
0
14
14
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-45
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
6
4
-28
1
0
0
0
0
0
0
0
0
0
0
-7
5
8
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
47
-1
9
0
0
0
0
0
0
0
0
0
0
0
19
0
-24
-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
-30
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
76
-6
3
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-122
-1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-59
10
-57
1
-1
0
0
0
0
0
0
0
0
0
0
-32
-1
0
36
1
79
-1
0
0
0
0
0
0
0
0
38
2
0
-1
64
0
-29
12
4
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
-77
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
-21
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
76
53
61
-10
-168
0
0
0
0
0
0
0
0
0
0
0
10
1
0
32
-4
10
0
0
0
0
0
0
0
0
0
-3
4
-4
-1
13
58
21
22
0
0
0
0
0
0
0
0
0
0
0
-33
-7
86
-7
-56
0
0
0
0
0
0
0
0
-4
-6
0
-12
0
-26
0
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
88
-22
-10
0
0
0
0
0
0
0
0
0
2
0
-29
0
-6
0
47
1
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
-5
50
-3
53
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-29
-3
1
6
120
-5
19
1
0
0
0
0
0
0
0
5
6
0
-33
9
23
-80
1
-32
0
0
0
0
0
0
0
-4
0
5
-87
0
-21
-3
25
-20
-69
0
0
0
0
0
0
0
-50
88
-5
-5
12
-42
42
2
-68
-4
0
0
0
0
0
0
0
1
17
-44
85
18
25
-34
-44
38
31
0
0
0
0
0
0
0
-54
-22
-38
13
-26
0
-21
-37
-69
4
0
0
0
0
0
0
0
8
-23
11
26
2
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-130
5
0
0
0
0
0
0
0
0
0
0
10
-5
10
42
-51
-48
29
-44
-20
0
0
0
0
0
0
0
0
-4
-17
-7
26
-20
-21
-66
-42
-51
-4
0
0
0
0
0
0
3
-16
8
3
3
-60
-44
8
-22
40
0
0
0
0
0
0
0
0
67
-2
-7
112
13
59
-59
-9
-16
0
0
0
0
0
0
0
47
8
-13
135
1
60
37
-5
-15
38
0
0
0
0
0
0
0
-11
20
32
-9
47
17
63
44
25
-5
0
0
0
0
0
0
0
0
-15
1
13
-13
-10
0
8
58
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
80
5
-1
0
0
0
0
0
0
0
0
0
-21
0
9
-6
-79
-19
-39
0
-33
0
0
0
0
0
0
0
-2
40
-33
-81
28
-17
-15
34
54
-68
-14
0
0
0
0
0
0
8
-12
101
-25
-1
9
-20
-33
49
-81
0
0
0
0
0
0
0
-29
1
-4
98
-33
-35
41
16
43
14
-1
0
0
0
0
0
0
68
-26
101
64
-128
-25
50
-130
-11
-17
0
0
0
0
0
0
0
-31
-17
-62
34
-87
27
-25
-14
-202
88
-3
0
0
0
0
0
0
-99
66
-17
45
36
1
-8
-3
-80
-6
0
0
0
0
0
0
0
27
59
-9
44
14
-18
47
0
-46
21
0
0
0
0
0
0
0
39
-1
32
0
7
-48
-28
-41
25
0
0
0
0
0
0
0
0
0
3
-27
60
35
1
-54
24
0
-20
0
0
0
0
0
0
0
0
-76
-77
10
-250
49
27
-33
18
8
5
0
0
0
0
0
0
0
40
-72
-4
-158
48
-58
-31
13
50
0
0
0
0
0
0
0
0
-99
95
-79
-117
108
84
10
13
11
0
0
0
0
0
0
0
-4
-21
-13
32
50
98
8
54
-13
-34
8
0
0
0
0
0
0
124
55
-1
148
103
45
48
7
11
-6
-1
0
0
0
0
0
0
-57
-42
3
82
95
-11
-92
-8
25
41
0
0
0
0
0
0
0
-1
0
49
-63
-15
61
3
22
0
10
0
0
0
0
0
0
0
0
-16
0
-3
16
36
42
-2
17
0
0
0
0
0
0
0
0
0
0
9
16
70
-6
-66
-33
0
-12
0
0
0
0
0
0
0
0
-64
3
26
57
-8
119
-56
-40
-10
-37
0
0
0
0
0
0
0
99
-25
-14
118
-7
-7
-41
4
-79
-27
0
0
0
0
0
0
0
55
15
-7
-2
-37
-70
2
8
22
27
0
0
0
0
0
0
0
-10
0
0
-36
-79
42
-14
26
-7
-8
0
0
0
0
0
0
0
-9
-42
0
6
-30
78
0
31
-55
24
0
0
0
0
0
0
0
-5
0
-11
-44
40
-2
-1
5
2
-11
0
0
0
0
0
0
0
-4
-8
0
10
0
13
-59
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-52
-1
-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
0
-10
-22
0
0
0
0
0
0
0
0
-9
0
0
-5
0
-6
-1
-16
22
-1
0
0
0
0
0
0
0
-1
2
-1
0
7
57
-1
-26
20
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-22
-18
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
13
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
1
-28
0
0
0
0
0
0
0
0
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
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
-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
0
0
-9
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-42
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
36
0
-46
-10
0
0
0
0
0
0
0
0
0
0
0
0
35
0
25
0
24
0
0
0
0
0
0
0
0
0
0
0
-1
0
30
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-34
0
-13
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
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
12
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
0
-6
8
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
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
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-21
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
-1
22
0
0
0
0
0
0
0
0
0
0
0
18
0
5
0
35
1
0
0
0
0
0
0
0
0
0
0
0
-13
10
-1
-13
0
5
0
0
0
0
0
0
0
0
-4
0
9
25
-6
77
0
-40
0
0
0
0
0
0
0
0
0
-5
-18
0
19
16
0
-11
-1
-11
0
0
0
0
0
0
0
0
2
-15
-7
-42
0
-43
0
35
0
0
0
0
0
0
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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-4
-33
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-22
-6
-42
0
0
0
0
0
0
0
0
0
0
0
3
-2
-4
5
-57
1
0
0
0
0
0
0
0
0
0
0
1
4
1
-12
24
12
-46
0
0
0
0
0
0
0
0
5
0
0
-14
11
7
16
20
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-11
86
0
13
0
0
0
0
0
0
0
0
0
0
-3
0
4
-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
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
54
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-5
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
0
-17
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
3
-31
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
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
-7
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-5
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
-2
0
-7
-3
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
4
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-15
-2
2
0
0
0
0
0
0
0
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
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
-3
-1
0
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
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
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-5
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
-15
16
0
-5
-4
0
0
0
0
0
0
0
0
0
-1
1
2
2
7
4
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
0
20
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
0
0
1
35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
-9
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-12
34
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
3
-32
0
0
-2
0
0
0
0
0
0
0
0
0
-3
8
9
2
-2
0
0
0
2
0
0
0
0
0
0
0
0
-28
-6
-2
0
-11
0
-5
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
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
-25
3
-13
0
9
-3
0
0
0
0
0
0
0
0
0
2
-9
-7
5
22
0
0
0
-6
0
0
0
0
0
0
0
0
1
-28
0
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-1
-1
-4
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
26
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
9
0
-1
-1
-10
0
0
0
0
0
0
0
0
0
29
-4
-9
10
7
0
0
0
4
0
0
0
0
0
0
0
3
-2
-2
1
-8
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
49
-18
9
0
0
1
0
0
0
0
0
0
0
0
2
-38
0
-1
-2
2
-2
0
0
0
0
0
0
0
0
0
0
-2
-83
-3
-19
5
17
-1
0
0
0
0
0
0
0
0
0
0
1
-44
-40
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
45
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-1
0
0
0
0
0
0
0
0
14
1
22
26
-2
0
0
0
-5
0
0
0
0
0
0
0
0
-1
-5
-18
-10
0
0
0
0
17
0
0
0
0
0
0
0
0
2
-25
12
8
3
0
0
0
-2
0
0
0
0
0
0
0
0
-7
2
0
-23
-2
2
0
0
3
0
0
0
0
0
0
0
0
0
-7
9
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
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
2
3
0
0
0
0
0
0
0
0
-1
-2
-4
3
0
3
0
0
6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
5
1
51
-10
-16
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-8
3
2
-23
0
0
0
0
0
0
0
0
0
0
0
22
3
0
4
21
-4
-1
0
5
0
0
0
0
0
0
0
-33
0
-1
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
0
0
-28
-7
1
0
0
0
0
0
0
0
0
0
0
0
17
-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
1
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
28
6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
-1
0
6
0
0
0
0
0
0
0
0
2
-50
-2
-1
-33
-3
1
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-67
-4
4
7
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-9
5
3
0
11
0
0
0
0
0
0
0
0
0
0
3
-29
-21
1
3
1
0
-1
-20
0
0
0
0
0
0
0
0
0
-1
-2
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
1
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
11
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
4
16
13
4
2
0
0
0
0
0
0
0
0
0
0
0
6
-22
26
5
62
-1
-27
0
0
0
0
0
0
0
0
0
0
0
24
-2
31
0
-2
-1
1
9
0
0
0
0
0
0
0
0
0
14
58
31
8
1
-2
50
0
0
0
0
0
0
0
0
0
0
0
2
-13
-38
13
4
0
10
-1
0
0
0
0
0
0
0
0
0
-4
4
-3
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
-12
12
-2
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
-40
20
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
4
-63
-37
0
-10
0
-13
-2
0
0
0
0
0
0
0
1
-26
-21
-66
-6
5
-1
4
-2
0
0
0
0
0
0
0
0
0
5
10
8
-22
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
1
6
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
-8
0
0
0
0
0
0
0
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
39
18
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
7
-52
7
70
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-47
-14
-53
9
0
2
5
3
0
0
0
0
0
0
0
29
-22
-25
0
39
-7
4
1
-2
1
0
0
0
0
0
0
0
6
35
-3
-21
-5
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
-62
-2
17
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
0
0
0
0
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
8
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
11
0
8
-27
-8
-1
0
-9
0
0
0
0
0
0
0
0
6
-39
-12
9
-21
-2
1
4
-9
4
0
0
0
0
0
0
0
0
44
-26
39
1
6
0
0
-9
0
0
0
0
0
0
0
0
3
-3
0
-49
-6
6
0
0
-3
0
0
0
0
0
0
0
0
0
-20
4
2
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-12
8
-4
26
4
-2
0
0
0
1
0
0
0
0
0
0
27
14
5
-16
-5
18
65
0
0
4
-1
0
0
0
0
0
0
-51
1
-38
-116
-43
-9
5
0
33
0
0
0
0
0
0
0
0
-1
28
-27
-45
0
-3
-5
-5
1
0
0
0
0
0
0
0
0
0
-25
2
2
17
1
-16
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
-1
-52
-12
-15
-5
0
0
0
-19
0
0
0
0
0
0
0
0
-29
-51
70
9
-6
4
0
0
0
0
0
0
0
0
0
0
0
17
-108
-50
88
23
14
-7
-1
21
-4
0
0
0
0
0
0
0
-28
24
84
50
-24
5
24
3
10
-7
0
0
0
0
0
0
0
-5
48
82
11
18
-1
11
0
0
1
0
0
0
0
0
0
0
0
-18
-53
21
-38
28
1
0
11
0
0
0
0
0
0
0
0
-5
0
0
-5
-3
12
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
0
0
0
0
0
0
0
-4
-10
5
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-48
6
1
0
0
0
4
0
0
0
0
0
0
0
0
0
14
-12
0
-15
-1
-1
1
9
0
0
0
0
0
0
0
0
5
-38
-1
-1
-2
9
1
0
0
0
0
0
0
0
0
0
0
0
9
4
3
20
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
2
-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
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-15
1
2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
5
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
23
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
4
2
5
-5
-1
0
0
0
0
0
0
0
0
0
0
-3
39
5
-16
0
0
11
0
0
0
0
0
0
0
0
0
0
-7
-10
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
-17
4
50
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
50
13
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
2
17
-24
2
0
0
0
0
0
0
0
0
0
0
-4
24
0
-8
13
-18
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-2
-65
42
0
26
0
0
0
0
0
0
0
0
-10
0
-24
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
22
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-77
27
12
-81
-1
0
0
0
0
0
0
0
0
0
0
0
0
-65
25
-24
-34
-18
-5
0
6
1
0
0
0
0
0
0
0
-9
20
-1
1
4
31
0
45
3
0
0
0
0
0
0
0
0
-9
17
5
4
-15
25
-17
-4
-7
0
0
0
0
0
0
0
0
0
0
7
0
-1
4
-9
-3
0
-3
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
4
0
0
0
0
0
0
0
0
0
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
50
56
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
-15
80
50
10
0
0
0
0
0
0
0
0
0
0
0
-15
-9
60
-91
2
-50
2
0
2
1
0
0
0
0
0
0
0
2
62
-6
5
0
32
6
-1
2
9
0
0
0
0
0
0
0
0
-1
-31
5
2
0
-2
-40
14
0
0
0
0
0
0
0
0
0
-5
2
5
7
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-6
0
12
0
-2
0
11
-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
-4
-21
-66
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-37
43
13
-18
-1
0
0
0
0
0
0
0
0
0
0
-1
70
-49
-20
-21
-51
1
0
0
4
0
0
0
0
0
0
0
-2
-43
16
-17
32
0
5
1
9
0
0
0
0
0
0
0
0
2
5
-14
-12
-21
16
14
-2
0
1
0
0
0
0
0
0
0
0
-7
11
-20
1
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
-21
-52
-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
-1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
45
-117
-38
37
-1
0
0
0
0
0
0
0
0
0
0
38
4
57
-83
37
-42
14
-4
3
-5
0
0
0
0
0
0
0
3
-50
45
-11
-114
10
-2
1
6
0
0
0
0
0
0
0
0
56
-50
30
-45
-42
-3
-11
-13
3
0
0
0
0
0
0
0
0
0
-23
5
26
16
-7
4
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
-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
0
0
0
0
0
0
0
-49
-57
-78
-22
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
2
46
-21
-23
0
0
0
0
-2
0
0
0
0
0
0
2
108
35
1
104
-2
-18
0
7
-61
0
0
0
0
0
0
0
131
41
5
-51
-103
5
25
0
-7
0
0
0
0
0
0
0
0
0
-1
-61
36
-25
-65
15
4
-1
-11
0
0
0
0
0
0
0
0
22
63
-32
14
9
-6
0
-1
-3
0
0
0
0
0
0
0
0
0
-2
-83
1
16
0
0
0
0
0
0
0
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
4
-4
-29
-94
17
0
0
0
0
0
0
0
0
0
0
0
9
115
-87
-83
-8
7
5
0
0
0
0
0
0
0
0
0
0
-37
-8
-89
-102
-84
5
0
-7
10
-28
-4
0
0
0
0
0
0
-111
56
-7
-78
-81
-7
-34
47
0
12
2
0
0
0
0
0
0
-2
34
-30
-69
86
6
93
8
-4
-8
0
0
0
0
0
0
0
0
7
-26
80
-10
-62
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-24
-56
-8
-2
-19
0
0
0
0
0
0
0
0
0
0
0
8
0
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
-50
-27
0
-11
37
-4
0
0
-28
0
0
0
0
0
0
0
0
133
-58
40
-159
-75
-4
0
0
0
-7
0
0
0
0
0
0
0
69
-57
-5
-38
40
-43
-15
-3
27
45
0
0
0
0
0
0
0
46
38
-63
-3
-4
-32
-45
9
3
0
0
0
0
0
0
0
0
-11
41
64
-10
-59
5
-31
8
42
0
0
0
0
0
0
0
0
21
-12
19
-35
36
-57
7
0
9
0
0
0
0
0
0
0
0
15
-14
-46
31
31
-11
0
13
0
0
0
0
0
0
0
0
0
0
1
5
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
-12
3
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
10
16
-12
2
4
0
0
0
12
0
0
0
0
0
0
0
0
3
53
11
-4
0
0
-2
1
-13
0
0
0
0
0
0
0
0
-1
28
12
7
5
-9
0
1
-3
0
0
0
0
0
0
0
0
-1
1
1
5
0
1
-1
16
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-5
4
0
0
0
4
0
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
-1
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-147
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
39
7
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
2
2
0
4
0
1
0
0
0
0
0
0
0
0
0
0
27
11
-1
-35
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
-39
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
101
18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
20
0
0
0
-1
1
0
0
0
0
0
0
0
1
0
-2
11
33
-36
-21
0
0
0
0
0
0
0
0
0
0
0
-48
0
23
-45
0
7
0
0
0
0
0
0
0
0
0
0
0
-10
-1
18
0
9
2
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
0
0
0
0
-6
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
40
14
-21
-6
13
0
0
0
0
0
0
0
0
0
0
11
0
-67
-35
-70
6
1
0
0
-2
0
0
0
0
0
0
0
2
95
9
-42
25
7
0
-1
0
22
0
0
0
0
0
0
0
-12
53
-3
0
42
-29
29
-41
14
0
0
0
0
0
0
0
0
0
0
-1
-11
-26
-29
7
0
3
-1
0
0
0
0
0
0
0
-1
0
7
12
-81
0
2
8
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
75
32
-103
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
-30
41
22
-3
0
0
1
0
0
0
0
0
0
0
0
0
125
66
25
-124
16
-14
0
-8
6
0
0
0
0
0
0
0
16
-41
83
31
-49
-9
3
1
0
0
0
0
0
0
0
0
0
-6
-23
-85
4
0
3
-36
3
-16
0
0
0
0
0
0
0
0
0
3
-5
-91
13
-2
-79
40
-12
-3
0
0
0
0
0
0
0
0
0
-5
-41
7
0
0
40
6
-2
0
0
0
0
0
0
0
0
0
-14
-23
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
-21
2
34
-1
-113
0
8
0
0
0
0
0
0
0
0
0
0
-7
32
-34
-9
24
-14
1
0
-6
0
0
0
0
0
0
0
0
-9
42
-44
69
18
-46
8
0
-1
4
0
0
0
0
0
0
0
1
-29
136
2
-47
41
11
12
-3
0
0
0
0
0
0
0
0
5
-15
-44
-14
-92
0
-33
-5
0
1
0
0
0
0
0
0
0
0
-24
9
-52
-46
13
-10
0
0
1
0
0
0
0
0
0
0
0
-9
32
12
-25
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
10
0
-8
0
0
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
16
-52
-9
5
0
-3
0
0
0
0
0
0
0
0
0
0
-2
23
-36
72
-5
56
1
0
0
0
0
0
0
0
0
0
0
5
15
-105
45
-6
-18
-6
3
-4
-7
0
0
0
0
0
0
0
0
126
-14
-64
9
4
-20
-1
-5
0
0
0
0
0
0
0
0
-19
-49
22
-35
-26
29
0
-3
29
2
0
0
0
0
0
0
0
1
-12
-9
-83
-56
13
27
0
-1
10
0
0
0
0
0
0
0
-1
0
-57
-31
-68
-1
24
-2
0
0
0
0
0
0
0
0
0
0
1
-15
21
-5
0
3
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
-1
26
-27
-69
-103
-9
0
0
0
0
0
0
0
0
0
0
0
3
-27
-46
-74
150
-66
1
0
0
0
0
0
0
0
0
0
0
-53
17
-68
48
-125
-17
-24
-1
38
15
-3
0
0
0
0
0
0
-1
-211
8
66
6
15
29
32
13
-2
0
0
0
0
0
0
0
-34
-26
-21
43
-34
32
6
0
-45
-61
0
0
0
0
0
0
0
0
-36
-19
-106
-25
-29
-4
-48
-9
-59
0
0
0
0
0
0
0
2
3
-150
-54
-42
0
13
2
2
0
0
0
0
0
0
0
0
0
0
-3
13
-21
-2
0
15
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-50
28
9
49
-13
12
0
0
0
0
0
0
0
0
0
0
-1
-116
5
60
22
-21
-6
0
0
0
3
0
0
0
0
0
0
-66
-73
-92
-128
-34
79
-15
5
-43
-15
0
0
0
0
0
0
0
43
-112
-40
99
-41
-72
85
-10
-49
-52
-2
0
0
0
0
0
0
9
65
-75
-16
35
-18
3
39
0
-109
0
0
0
0
0
0
0
1
0
-62
-55
-16
-119
-71
-9
15
-2
0
0
0
0
0
0
0
3
-12
-71
-7
-31
-24
24
-3
-3
0
0
0
0
0
0
0
0
0
0
12
17
-2
3
-21
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
-13
57
51
70
49
-8
0
0
7
0
0
0
0
0
0
0
0
-10
73
-38
-73
-116
-46
0
0
0
5
0
0
0
0
0
0
0
-3
76
9
-1
-8
5
-8
13
-71
1
0
0
0
0
0
0
0
-47
-62
12
-108
79
57
13
-27
61
-1
0
0
0
0
0
0
0
-10
-45
-103
-99
5
2
-45
32
0
-2
0
0
0
0
0
0
0
-45
71
36
-80
-119
8
-31
-56
18
0
0
0
0
0
0
0
0
2
17
-60
-189
22
45
40
18
0
0
0
0
0
0
0
0
0
0
5
42
-10
8
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
5
-7
-23
7
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
19
-94
14
0
0
0
0
-14
0
0
0
0
0
0
0
0
-7
9
-7
5
1
0
0
0
-25
0
0
0
0
0
0
0
0
17
45
11
2
33
0
0
-1
-34
0
0
0
0
0
0
0
0
1
10
35
22
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-31
0
1
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
-3
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
12
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
38
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
-1
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
-23
-1
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
-22
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-44
-46
-6
-3
-8
-1
0
-1
6
0
0
0
0
0
0
0
0
-113
5
-6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
-25
-18
-72
-1
0
-17
0
0
0
0
0
0
0
0
0
0
-3
-6
1
5
0
-5
-4
0
0
0
0
0
0
0
0
0
-36
-2
-5
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
4
95
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
16
-1
-8
23
1
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-4
28
-4
-7
0
2
0
0
0
0
0
0
0
0
0
5
-19
-53
5
-42
0
0
-3
0
0
0
0
0
0
0
0
-16
17
14
-11
10
20
1
0
0
0
0
0
0
0
0
0
0
0
45
71
0
7
0
0
18
-1
2
0
0
0
0
0
0
0
0
17
-51
31
2
-12
2
-26
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
0
0
52
-8
42
4
1
0
0
0
0
0
0
0
0
0
0
0
7
0
-28
-18
2
0
0
0
0
0
0
0
0
0
0
0
-11
-15
49
1
71
5
-1
0
0
0
0
0
0
0
0
0
0
0
-55
2
60
10
-28
0
0
-2
-75
0
0
0
0
0
0
0
-5
-56
-5
-4
66
-13
-2
-13
1
4
0
0
0
0
0
0
0
0
19
18
-6
0
26
13
0
-4
0
0
0
0
0
0
0
0
0
6
-41
16
96
-14
-6
-5
-5
0
0
0
0
0
0
0
0
0
-6
2
0
-6
-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
3
-43
48
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
-74
47
55
44
12
0
0
0
0
1
0
0
0
0
0
0
-4
-82
-35
26
-33
-14
0
0
2
-14
0
0
0
0
0
0
0
0
-26
-58
-27
84
39
-5
-5
2
0
0
0
0
0
0
0
0
-16
8
-9
30
20
37
73
-9
0
-16
0
0
0
0
0
0
0
0
-6
-138
26
-34
0
23
2
0
-11
0
0
0
0
0
0
0
-2
0
-3
73
-34
-6
0
14
1
0
0
0
0
0
0
0
0
0
1
8
0
5
-75
0
0
0
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
-1
21
50
-147
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-7
-64
18
12
1
0
0
0
0
0
0
0
0
0
0
50
-91
-57
49
21
52
-13
0
-6
6
0
0
0
0
0
0
0
-35
59
-79
-101
13
85
1
-13
-20
5
0
0
0
0
0
0
0
67
-27
1
37
51
17
-22
4
6
0
0
0
0
0
0
0
0
0
17
-15
-71
47
-31
0
0
12
-58
0
0
0
0
0
0
0
-2
-33
-155
-16
31
8
11
0
0
21
0
0
0
0
0
0
0
0
36
8
-19
-2
3
-1
-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
11
40
-3
1
72
9
-16
2
0
0
0
0
0
0
0
0
0
0
14
60
24
-137
-89
16
0
0
0
0
0
0
0
0
0
0
-10
60
68
-32
37
63
60
0
3
16
0
0
0
0
0
0
0
-1
-37
-28
-36
-65
-31
-71
2
21
6
0
0
0
0
0
0
0
-60
-33
-153
-13
5
-23
45
25
6
28
0
0
0
0
0
0
0
-4
20
33
19
-10
35
-72
0
45
25
0
0
0
0
0
0
0
3
-32
-101
-28
-98
-1
16
2
5
-75
0
0
0
0
0
0
0
0
5
-34
13
-28
24
0
0
-16
0
0
0
0
0
0
0
0
0
-5
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-107
10
1
-53
-19
62
0
0
0
0
0
0
0
0
0
0
-29
43
136
-22
1
120
-4
0
-1
0
0
0
0
0
0
0
0
17
-38
-115
-187
-5
-36
29
0
75
-10
0
0
0
0
0
0
0
-41
64
37
34
-1
47
87
61
19
21
0
0
0
0
0
0
0
-49
80
97
-12
-20
-29
10
-172
-6
-3
0
0
0
0
0
0
0
2
-70
43
30
-101
-57
-91
-15
0
16
0
0
0
0
0
0
0
1
-30
-276
34
-47
-20
-174
72
14
-1
0
0
0
0
0
0
0
0
-11
-7
49
15
-119
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
81
77
54
-38
-42
0
0
17
3
0
0
0
0
0
0
0
89
-30
-71
75
-15
73
0
20
0
0
0
0
0
0
0
0
0
-33
124
30
159
34
117
-11
43
-98
-3
0
0
0
0
0
0
0
90
89
35
-47
37
-17
-87
4
23
0
0
0
0
0
0
0
0
-1
70
-4
22
5
14
86
-7
-72
0
0
0
0
0
0
0
0
24
-63
51
9
28
-16
-64
-39
0
0
0
0
0
0
0
0
0
-13
-81
-72
71
-73
24
52
19
6
0
0
0
0
0
0
0
0
0
2
20
-45
-8
-45
0
0
4
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
2
15
-10
13
0
1
0
0
-38
0
0
0
0
0
0
0
0
4
-8
-45
9
13
0
0
0
9
0
0
0
0
0
0
0
0
14
-49
13
66
7
1
0
0
14
0
0
0
0
0
0
0
0
-38
20
19
50
9
-28
4
0
-1
0
0
0
0
0
0
0
0
-4
4
8
-25
2
-18
2
0
2
0
0
0
0
0
0
0
0
0
-1
10
16
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
8
18
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-11
37
0
3
-17
0
0
0
0
0
0
0
0
0
0
0
-2
-20
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
2
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-79
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-16
-27
7
0
0
0
4
0
0
0
0
0
0
0
0
39
5
7
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
3
10
2
1
0
0
6
0
0
0
0
0
0
0
0
-33
2
-7
16
0
6
0
0
0
0
0
0
0
0
0
0
0
-14
0
-5
1
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
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
2
20
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-75
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-1
44
19
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
0
-15
4
0
0
-7
0
0
0
0
0
0
0
0
-5
46
0
5
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
4
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
60
4
71
-54
5
3
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-100
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
34
-65
2
3
-5
0
0
0
0
0
0
0
0
0
-31
5
-10
0
0
4
-8
3
0
0
0
0
0
0
0
0
0
1
-11
-17
0
0
15
0
-18
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
65
-5
6
-7
0
0
0
0
0
0
0
0
0
0
-4
1
-41
-47
4
5
0
0
0
0
0
0
0
0
0
0
0
0
55
47
-91
10
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-35
-42
4
-2
-4
19
0
0
0
0
0
0
0
0
0
0
-13
-21
3
17
-48
29
0
0
1
0
0
0
0
0
0
0
0
0
-124
13
-62
0
-6
0
11
0
0
0
0
0
0
0
0
0
0
0
8
9
-28
0
-8
0
0
0
0
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
0
-47
0
6
0
0
0
0
0
0
0
0
0
0
0
73
-15
-95
-53
14
8
0
0
0
0
0
0
0
0
0
0
-24
-28
-32
97
3
11
5
0
0
-2
0
0
0
0
0
0
0
0
97
9
-15
18
25
-1
0
0
0
0
0
0
0
0
0
0
67
-5
-6
-82
-37
-144
13
8
-7
10
0
0
0
0
0
0
0
0
128
47
26
-29
-134
-54
7
4
-4
0
0
0
0
0
0
0
11
0
-5
-40
-82
-25
0
0
-27
0
0
0
0
0
0
0
0
0
1
-2
26
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-3
-64
-13
29
0
0
0
0
0
0
0
0
0
0
0
-59
47
-74
42
7
-5
0
0
0
0
0
0
0
0
0
0
14
6
-40
99
-14
-63
47
6
0
-71
0
0
0
0
0
0
0
2
71
-37
9
7
-44
-37
0
26
6
0
0
0
0
0
0
0
-56
32
-46
-12
70
-17
22
-88
-1
56
0
0
0
0
0
0
0
-13
32
7
5
-58
-67
-26
-3
-4
-1
0
0
0
0
0
0
0
0
3
21
-90
59
-25
-70
0
-10
4
0
0
0
0
0
0
0
0
-6
8
-50
0
2
-16
1
0
-12
0
0
0
0
0
0
0
0
22
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
0
-6
78
11
-18
-2
0
0
0
0
0
0
0
0
0
-1
-11
52
34
25
-100
-11
0
-1
0
-1
0
0
0
0
0
0
94
3
1
41
-23
108
-69
3
0
-10
0
0
0
0
0
0
0
26
58
39
-93
46
80
45
38
-59
38
0
0
0
0
0
0
0
-128
64
28
15
20
-138
-103
26
-23
3
0
0
0
0
0
0
0
-8
-165
-86
-49
-14
-46
-49
32
-42
20
0
0
0
0
0
0
0
1
-26
-65
32
75
-5
24
2
0
66
0
0
0
0
0
0
0
0
-22
50
-38
-46
13
0
0
1
-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
38
14
45
-91
-87
50
0
0
10
0
0
0
0
0
0
0
0
107
36
-48
-104
-18
-42
0
0
0
0
0
0
0
0
0
0
0
117
-15
-14
60
-30
13
-4
4
-4
5
0
0
0
0
0
0
0
-71
-1
105
57
-13
-27
47
8
-102
-11
0
0
0
0
0
0
0
85
-1
33
85
-57
98
46
-70
38
0
0
0
0
0
0
0
0
-49
-73
-68
-31
129
-175
-75
-18
20
0
0
0
0
0
0
0
0
-47
35
8
5
-26
54
-5
-14
0
0
0
0
0
0
0
0
0
0
57
67
-6
-38
-11
2
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
3
1
-29
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
-13
50
4
4
0
0
0
27
0
0
0
0
0
0
0
0
-20
100
3
-29
7
0
0
0
15
0
0
0
0
0
0
0
0
-48
-5
74
35
-37
-1
-2
0
0
0
0
0
0
0
0
0
0
-17
-32
20
12
3
-21
-4
0
8
0
0
0
0
0
0
0
0
16
-3
8
8
-8
1
11
-9
1
0
0
0
0
0
0
0
0
2
-12
3
54
15
-2
6
0
0
0
0
0
0
0
0
0
0
-6
0
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
0
0
0
0
0
0
0
0
0
-1
-10
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
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
-8
1
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
-21
0
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
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
1
57
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
8
-1
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-107
-3
-29
-9
-3
-9
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
-17
0
21
0
7
7
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-121
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
6
0
0
0
0
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
-7
1
-11
-17
40
-1
4
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
1
-2
0
-1
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
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
0
0
0
0
0
0
0
0
0
-31
2
6
0
9
0
0
0
0
0
0
0
0
0
0
0
37
0
37
-22
26
4
-6
0
0
1
0
0
0
0
0
0
0
-6
1
0
-52
-1
-2
0
0
0
0
0
0
0
0
0
0
0
6
0
42
2
20
1
11
0
1
0
0
0
0
0
0
0
0
0
-1
-19
31
-9
-8
-7
0
0
0
0
0
0
0
0
0
0
-26
8
-12
0
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-2
-73
0
9
-14
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
19
-4
38
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
8
1
42
1
0
0
0
0
0
0
0
0
0
0
4
1
12
-19
-35
-15
-27
0
0
-6
0
0
0
0
0
0
0
1
101
8
-53
-25
49
-9
-2
-9
0
0
0
0
0
0
0
0
57
-2
48
-44
-15
-89
-97
-2
-1
9
0
0
0
0
0
0
0
0
-38
0
54
20
15
31
0
0
-7
0
0
0
0
0
0
0
-9
2
5
4
5
24
-71
9
-13
0
0
0
0
0
0
0
0
0
-17
2
16
40
-16
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
-5
36
9
9
16
1
0
0
0
0
0
0
0
0
0
0
-4
-51
-36
25
-123
-17
-10
0
-5
0
0
0
0
0
0
0
0
-26
5
-6
64
-79
-48
-2
1
-3
-28
0
0
0
0
0
0
0
-1
30
23
-43
70
17
-21
11
-60
1
0
0
0
0
0
0
0
-77
-6
32
-45
-14
-113
-112
-68
-53
-2
0
0
0
0
0
0
0
2
80
76
-93
57
22
41
-76
65
-79
0
0
0
0
0
0
0
-8
35
-95
18
-137
-105
-33
-5
48
0
0
0
0
0
0
0
0
0
-81
8
-9
-32
-16
-18
0
0
2
0
0
0
0
0
0
0
0
3
2
4
-28
0
0
-7
7
0
0
0
0
0
0
0
0
0
0
53
-58
7
-7
1
1
0
0
0
0
0
0
0
0
0
0
73
-11
-26
-12
33
-95
0
0
0
0
0
0
0
0
0
0
0
18
-12
-69
29
-26
-41
0
0
-39
0
0
0
0
0
0
0
0
60
0
-76
-139
5
-9
-2
22
-58
-4
0
0
0
0
0
0
0
0
18
-99
19
1
39
92
11
-63
-1
0
0
0
0
0
0
0
-68
-87
90
63
49
28
-109
47
-47
0
0
0
0
0
0
0
0
-7
-11
58
-78
-18
-18
0
-31
-1
0
0
0
0
0
0
0
0
-1
40
51
-62
-14
29
-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
-3
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
11
-19
4
0
0
0
-43
0
0
0
0
0
0
0
0
-4
25
21
28
0
14
0
0
-5
0
0
0
0
0
0
0
0
58
-3
-86
-24
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
81
-1
-33
2
5
2
4
-24
0
0
0
0
0
0
0
0
3
10
73
0
10
-44
6
0
-2
0
0
0
0
0
0
0
0
0
-10
-3
5
-11
-35
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
0
0
0
0
1
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
4
0
0
2
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
-1
0
-1
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
-21
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
-1
0
-11
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
11
0
12
-18
0
0
0
0
0
0
0
0
0
0
-5
4
31
-12
17
1
-1
0
0
0
0
0
0
0
0
0
0
0
-25
0
-13
0
21
-8
0
-10
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
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
-12
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-11
130
1
-1
0
0
0
0
0
0
0
0
0
0
0
-34
-2
-65
-16
-130
-3
0
0
0
0
0
0
0
0
0
0
0
8
33
12
-43
54
21
-2
0
-7
0
0
0
0
0
0
0
0
-30
-7
87
23
-35
-58
77
-5
19
0
0
0
0
0
0
0
0
0
62
-13
-82
-8
-133
-19
-4
-8
0
0
0
0
0
0
0
0
-14
0
78
-20
-31
23
-10
0
-5
0
0
0
0
0
0
0
0
0
5
-6
30
-8
58
-38
4
0
0
0
0
0
0
0
0
0
-4
0
15
-19
-68
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
9
0
-2
0
0
0
-27
0
0
0
0
0
0
0
0
0
23
-8
-9
-11
-9
0
0
-2
0
0
0
0
0
0
0
0
-6
0
16
0
-22
-1
-1
0
1
0
0
0
0
0
0
0
0
0
-7
4
-96
3
-23
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-2
-1
-3
0
0
6
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
50
0
1
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
10
-8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
67
4
19
0
0
0
0
0
0
0
0
0
0
0
-3
-1
10
7
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
-15
1
5
-4
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
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
-3
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
-3
0
-37
61
0
0
0
0
0
0
0
0
0
0
0
0
19
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
37
6
-19
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
2
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
17
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-18
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
20
0
-10
0
0
0
0
0
0
0
0
0
-4
-2
1
-3
-13
-7
17
2
7
0
0
0
0
0
0
0
0
7
12
12
4
16
15
9
18
2
0
0
0
0
0
0
0
0
0
0
1
0
5
12
1
-10
-1
0
0
0
0
0
0
0
0
-2
0
0
-1
7
32
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-9
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
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
-2
-4
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
5
3
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-1
-17
-66
-12
20
0
0
0
0
0
0
0
0
0
0
0
3
16
12
-12
15
-28
0
0
0
0
0
0
0
0
0
0
0
14
-3
94
-1
1
9
0
0
0
0
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
-10
0
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
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-28
2
4
0
0
0
0
0
0
0
0
0
0
0
-8
5
13
5
-6
43
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
-14
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
-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
0
0
0
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
-41
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-10
12
-1
92
-63
11
0
0
0
0
0
0
0
0
-2
0
5
-2
-34
-37
-17
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-13
32
27
-5
8
0
0
0
0
0
0
0
0
0
-1
0
3
12
-3
1
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-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
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
17
76
12
2
0
0
0
0
0
0
0
0
0
0
1
0
-25
-8
-49
10
5
-14
0
0
0
0
0
0
0
0
0
0
6
-22
-21
-5
89
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-35
-4
3
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
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
17
0
-151
-9
53
0
0
0
0
0
0
0
0
0
1
3
0
0
-13
-16
12
4
9
0
0
0
0
0
0
0
0
0
-1
-1
-4
1
-20
69
23
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
30
8
-11
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
-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
6
0
-2
0
31
0
80
-11
0
0
0
0
0
0
0
0
0
4
0
0
-18
2
-17
-5
-32
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-14
3
-28
59
-21
-17
0
0
0
0
0
0
0
0
-3
0
0
-2
87
6
-6
16
-1
0
0
0
0
0
0
0
-1
0
0
0
-1
1
-48
50
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
45
-3
18
2
0
-1
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
42
-58
0
0
-16
0
0
0
0
0
0
0
0
2
3
-14
-5
-31
31
11
45
6
0
0
0
0
0
0
0
0
-11
1
20
3
1
-1
-5
-28
7
0
0
0
0
0
0
0
0
-1
0
1
11
25
34
-5
-63
0
0
0
0
0
0
0
0
0
1
5
0
-5
-11
-19
-3
-6
-1
0
0
0
0
0
0
0
0
-2
1
0
2
5
22
-8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
8
0
-1
1
-8
0
-40
-2
0
0
0
0
0
0
0
0
0
0
1
2
11
2
58
2
8
0
0
0
0
0
0
0
0
0
3
1
0
-4
1
55
13
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
5
-14
0
-1
0
0
0
0
0
0
0
0
-1
0
0
2
0
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
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
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-7
0
0
0
0
0
0
0
0
0
1
0
0
-10
-21
22
0
-60
13
0
0
0
0
0
0
0
0
0
0
0
-2
34
27
-54
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-7
4
14
0
0
0
0
0
0
0
0
0
0
0
-1
-44
1
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-7
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
0
0
0
0
0
0
0
0
0
0
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
-18
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
53
3
19
41
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-10
64
-34
0
0
0
0
0
0
0
0
0
0
1
-2
10
14
2
-22
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
3
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
5
0
-11
-7
4
-14
-51
0
-18
0
0
0
0
0
0
0
-4
0
0
-48
4
74
93
-92
72
-3
0
0
0
0
0
0
0
0
2
0
0
17
21
-13
52
-56
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-6
-59
37
6
0
0
0
0
0
0
0
0
0
0
-19
0
-6
5
-26
-5
-24
10
0
0
0
0
0
0
0
0
-1
0
4
0
-45
-1
80
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
0
0
0
0
0
0
0
0
0
0
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
27
18
0
7
0
0
0
0
0
0
0
0
-74
6
-5
49
-50
-35
0
-36
-12
0
0
0
0
0
0
0
-7
0
-4
0
0
4
-2
-49
-1
-4
0
0
0
0
0
0
0
0
0
-3
0
14
-8
-101
43
18
0
0
0
0
0
0
0
0
0
0
-6
-2
4
2
-2
-55
50
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-9
1
-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
2
0
0
11
-40
-45
0
0
7
0
0
0
0
0
0
0
-2
0
0
0
3
-46
49
8
114
6
0
0
0
0
0
0
0
-3
-3
-29
4
-11
1
-56
66
-6
1
2
0
0
0
0
0
0
-6
0
2
-1
-12
-92
23
30
-34
0
2
0
0
0
0
0
0
0
0
0
3
2
12
65
27
-38
-3
0
0
0
0
0
0
0
-3
0
0
0
0
1
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
10
0
0
-1
0
99
-12
-2
0
42
0
0
0
0
0
0
0
-1
-2
-1
12
2
47
-117
122
-36
78
-2
0
0
0
0
0
0
0
10
0
11
-15
-54
1
2
96
3
0
0
0
0
0
0
0
-3
0
0
-6
-8
-15
12
-62
-53
-7
0
0
0
0
0
0
0
7
-11
0
-2
-7
-36
34
-29
15
-1
0
0
0
0
0
0
0
0
0
10
0
-1
1
-39
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
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
5
3
-17
54
34
-12
0
2
0
0
0
0
0
0
0
-2
0
1
-10
-4
-6
-31
54
-108
22
0
0
0
0
0
0
0
2
0
0
0
-50
-53
64
-63
-18
-33
1
0
0
0
0
0
0
0
0
-1
5
-41
62
-12
-54
24
6
0
0
0
0
0
0
0
3
0
11
5
-2
2
23
6
73
-1
0
0
0
0
0
0
0
0
0
0
-7
3
10
-4
7
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
-9
23
-18
105
9
-55
0
17
1
-4
0
0
0
0
0
4
24
15
11
6
-7
-20
45
139
3
-11
0
0
0
0
0
0
3
3
0
8
-18
-9
49
-77
-7
-9
0
0
0
0
0
0
0
0
4
8
18
63
52
-91
-98
-65
8
0
0
0
0
0
0
0
-1
0
-9
-18
-13
3
60
18
-107
-4
0
0
0
0
0
0
0
4
1
-8
-4
2
7
-11
-41
-5
0
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
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
15
-3
-3
84
15
41
16
0
-53
-6
0
0
0
0
0
0
0
-47
-2
-12
-33
-38
-11
-95
51
16
-1
2
0
0
0
0
0
0
19
-3
-18
-15
7
-47
62
143
-12
-6
0
0
0
0
0
0
0
-1
-18
-9
-10
32
-79
16
-52
-15
0
0
0
0
0
0
0
0
-16
-1
-3
14
-3
41
33
20
4
-2
0
0
0
0
0
0
0
11
3
0
4
24
0
15
60
17
0
0
0
0
0
0
0
0
0
2
0
-17
-3
-4
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
2
-5
3
3
5
47
0
33
-5
0
0
0
0
0
0
0
0
-9
-7
0
-8
-31
7
-70
76
-32
0
0
0
0
0
0
0
0
-22
0
-5
-4
-24
41
39
-28
-8
0
0
0
0
0
0
0
0
0
-3
-37
-21
-63
65
-25
-5
-8
0
0
0
0
0
0
0
0
0
0
9
-4
-1
9
5
15
-7
0
0
0
0
0
0
0
0
0
0
0
7
-7
15
-1
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
-1
1
0
-14
8
2
0
0
0
0
0
0
0
0
0
-1
-2
-1
4
-35
-17
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
5
-29
0
-6
0
0
0
0
0
0
0
19
7
0
8
-74
-41
3
-89
3
-5
0
0
0
0
0
0
0
0
2
0
4
-24
-8
158
7
14
8
0
0
0
0
0
0
0
0
0
0
10
-2
0
-51
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
7
0
2
0
0
0
0
0
0
0
0
0
0
14
-2
0
8
1
4
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
6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
6
-34
-8
68
-4
16
0
0
0
0
0
0
0
0
0
0
-1
-3
70
40
50
49
-9
0
0
0
0
0
0
0
0
0
0
0
-4
8
44
-25
-7
0
0
0
0
0
0
0
0
0
0
1
0
-48
-1
16
2
21
0
0
0
0
0
0
0
0
0
0
0
-3
-12
20
-23
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
3
-52
54
25
0
-13
0
0
0
0
0
0
0
0
14
-2
10
-41
-61
18
224
-35
-1
-1
0
0
0
0
0
0
-1
3
-1
1
19
71
-28
36
-66
-10
0
0
0
0
0
0
0
0
-2
1
0
-5
67
10
-94
1
0
0
0
0
0
0
0
0
0
5
0
0
1
14
29
-38
9
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-19
-10
156
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
3
-26
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-21
-12
40
0
25
0
0
0
0
0
0
0
-1
-7
-2
-87
-82
-44
69
30
19
7
1
0
0
0
0
0
0
0
-21
0
-5
2
37
-48
-19
-68
2
1
0
0
0
0
0
0
0
-1
-4
-3
-3
15
-14
-16
12
0
0
0
0
0
0
0
0
2
0
-3
2
2
0
121
-35
2
-22
0
0
0
0
0
0
0
0
0
14
1
1
-63
13
52
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-33
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-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
-2
0
0
2
52
65
-95
-40
0
-1
0
0
0
0
0
0
0
5
3
-3
-2
74
-87
7
42
50
14
2
0
0
0
0
0
0
0
-48
-21
-43
-5
-4
-17
2
-33
-6
5
0
0
0
0
0
0
1
2
-14
-2
-15
0
62
15
-15
0
0
0
0
0
0
0
0
0
-2
-5
-7
0
-12
39
-11
11
-12
0
0
0
0
0
0
0
0
0
3
7
-3
53
-13
48
7
-2
0
0
0
0
0
0
0
0
0
6
31
-9
-16
-36
33
-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
3
-1
5
-33
-37
-9
-31
0
26
2
0
0
0
0
0
0
0
-37
-16
-15
-24
-17
10
77
-130
3
-4
0
0
0
0
0
0
2
-6
-3
12
2
-32
39
-48
211
22
0
0
0
0
0
0
0
2
34
2
-7
-32
-63
-186
-14
1
6
0
0
0
0
0
0
0
-2
0
0
-12
86
14
-10
-3
43
0
4
0
0
0
0
0
0
0
0
0
4
3
3
-15
-45
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
47
-52
-3
-1
7
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
-20
-9
-2
-7
95
0
7
3
0
0
0
0
0
0
-7
-9
-14
41
-18
-18
10
-15
-69
-2
1
0
0
0
0
0
0
-4
-5
-8
-64
-16
78
-55
96
-19
-89
2
0
0
0
0
0
0
1
4
0
10
101
-23
-95
9
-13
-23
0
0
0
0
0
0
0
5
-12
-1
31
-28
-3
-6
75
22
-1
0
0
0
0
0
0
0
0
-1
0
-2
19
7
26
134
-26
10
0
0
0
0
0
0
0
0
-1
-11
-2
2
0
37
10
-33
9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
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
37
-19
-10
63
-73
130
-69
76
0
46
-8
0
0
0
0
0
0
10
73
-1
-21
-82
44
-65
-45
-58
-2
-14
3
0
0
0
0
0
7
37
-34
-80
56
26
-96
-61
136
-4
-1
0
0
0
0
0
0
36
16
-37
-14
-105
-5
-33
135
-71
22
-1
0
0
0
0
0
0
13
-6
7
-16
-31
-112
167
-19
115
-1
0
0
0
0
0
0
0
-1
23
-10
1
-47
93
19
28
21
-5
0
0
0
0
0
0
0
0
1
18
-1
-14
0
-67
20
-47
-3
0
0
0
0
0
0
0
0
0
0
2
0
23
8
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
-14
35
-8
95
6
-32
-35
0
-43
-64
0
0
0
0
0
0
0
-23
78
37
47
-6
-36
-10
115
1
61
-1
0
0
0
0
0
0
79
-11
-18
-93
-72
92
85
-13
107
-2
0
0
0
0
0
0
0
-2
22
-9
92
-49
163
56
-83
-5
4
0
0
0
0
0
0
0
-21
-8
15
37
-1
64
-58
-57
-43
0
0
0
0
0
0
0
0
-7
-4
1
82
-15
-47
241
63
-47
-6
0
0
0
0
0
0
0
0
-1
-14
10
-25
161
46
49
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
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
-6
5
1
-34
-10
35
0
38
13
0
0
0
0
0
0
0
0
-15
1
1
-28
-10
-29
2
-20
55
-1
0
0
0
0
0
0
0
-2
-5
-8
7
44
52
3
16
-1
0
0
0
0
0
0
0
0
0
-10
0
0
-1
-4
9
1
0
0
0
0
0
0
0
0
0
4
0
0
-5
16
-22
50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
1
-17
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
-6
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
0
0
0
0
0
0
0
0
-4
0
0
-16
-7
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-9
5
-26
-7
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
2
0
0
0
0
6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
26
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-11
-49
1
-61
25
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-2
22
-142
65
0
0
0
0
0
0
0
0
0
0
0
4
-8
-49
0
10
0
0
0
0
0
0
0
0
0
0
0
-2
3
-11
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
0
-8
0
0
0
0
0
0
0
0
0
0
14
-4
0
47
-2
-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
23
-12
-1
0
0
0
0
0
0
0
0
0
-3
-11
0
-1
34
-59
29
2
58
-33
0
0
0
0
0
0
0
0
-1
-3
-6
4
-98
2
-43
49
-44
0
0
0
0
0
0
0
0
0
-6
0
28
104
47
-41
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
5
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
6
70
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-22
8
-23
0
-13
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
-25
-2
-37
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-12
-21
40
26
65
-20
61
0
0
0
0
0
0
0
4
-16
2
0
49
9
-49
54
-50
22
0
0
0
0
0
0
0
17
0
0
0
10
-26
-9
36
5
1
0
0
0
0
0
0
0
-1
-7
-1
0
16
-6
-25
6
-18
0
0
0
0
0
0
0
0
0
-12
0
2
0
-72
126
-103
-17
0
0
0
0
0
0
0
0
1
0
0
-4
-81
5
23
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-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
5
17
47
38
37
0
-15
0
0
0
0
0
0
0
0
87
4
40
50
74
-119
37
-42
5
0
0
0
0
0
0
0
0
-6
2
-7
20
-48
-43
-35
-58
-1
0
0
0
0
0
0
0
0
10
10
0
11
3
-61
-138
-16
47
0
0
0
0
0
0
0
0
1
-8
14
0
2
11
-32
-9
0
0
0
0
0
0
0
0
0
18
-97
-1
6
0
10
6
-4
-13
0
0
0
0
0
0
0
0
-3
-19
-1
-26
-76
29
101
23
0
0
0
0
0
0
0
0
0
0
0
1
-7
1
9
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
-4
-3
2
5
58
-6
26
-72
0
35
0
0
0
0
0
0
0
0
-51
1
-8
-46
-5
-10
85
52
40
-5
0
0
0
0
0
0
0
8
0
0
-27
112
21
30
15
0
0
0
0
0
0
0
0
44
0
-11
7
-1
9
-14
13
-79
-12
0
0
0
0
0
0
0
-1
-9
0
-3
-92
0
3
-20
-79
-10
0
0
0
0
0
0
0
0
-31
-22
35
0
-99
0
49
-64
4
0
0
0
0
0
0
0
0
16
0
-11
-54
2
-15
2
33
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
-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
4
0
2
-33
57
32
-29
13
0
-48
0
0
0
0
0
0
0
-3
29
-3
-19
-14
5
-2
-137
-8
10
0
0
0
0
0
0
0
5
-15
0
2
25
-41
27
53
37
25
-6
0
0
0
0
0
0
6
-5
2
-34
13
1
108
14
47
16
0
0
0
0
0
0
0
0
1
-5
-5
-63
-74
0
-52
71
7
0
0
0
0
0
0
0
0
1
5
-16
13
-4
35
-9
26
0
-1
0
0
0
0
0
0
0
9
5
-9
7
-53
57
-32
1
-3
0
0
0
0
0
0
0
0
-2
-9
0
2
-5
6
24
-17
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
1
-2
-1
8
164
-20
-6
-3
0
-28
-2
0
0
0
0
0
0
-2
-59
-23
9
153
2
-20
82
-98
31
-5
0
0
0
0
0
0
0
-31
16
12
82
83
127
-152
40
-2
0
0
0
0
0
0
0
-42
-17
-26
49
8
-80
-28
-36
2
-98
0
0
0
0
0
0
0
-1
3
-39
20
170
-50
-77
0
-8
6
0
0
0
0
0
0
0
-1
10
-16
-32
62
-179
-21
-104
0
-3
0
0
0
0
0
0
0
0
-10
38
57
66
27
-6
-128
-47
0
0
0
0
0
0
0
0
0
-2
-2
-4
42
199
-18
7
28
0
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
5
17
-5
163
-17
116
33
0
-114
14
0
0
0
0
0
0
74
-25
-45
60
146
59
-66
31
-32
-2
-39
1
0
0
0
0
0
-14
-13
-5
-73
63
-102
-2
-66
-27
-6
0
0
0
0
0
0
0
-6
102
-39
2
-18
-18
15
-56
-147
2
11
0
0
0
0
0
0
-18
-17
18
65
50
-61
8
23
0
-18
0
0
0
0
0
0
0
41
33
-39
-46
-30
53
77
-4
-69
0
-3
0
0
0
0
0
0
-4
-5
17
-24
-96
-75
-28
6
151
3
0
0
0
0
0
0
0
0
-6
2
73
-2
-23
-1
25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-7
0
0
0
0
0
0
0
0
0
0
-37
-17
-6
17
24
-49
-151
0
48
5
-2
0
0
0
0
0
0
130
26
17
143
-16
88
-26
65
-85
-3
0
0
0
0
0
0
0
-67
-17
-9
-87
102
64
-70
2
3
4
0
0
0
0
0
0
0
-67
1
17
1
21
30
-26
31
-150
0
0
0
0
0
0
0
0
60
-4
-7
-75
45
-119
99
152
0
-1
0
0
0
0
0
0
0
101
-60
24
28
-6
57
142
3
50
0
0
0
0
0
0
0
0
-7
-14
23
-42
-32
-70
48
114
13
0
0
0
0
0
0
0
0
0
0
0
-2
-41
140
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
7
33
0
16
7
-5
0
0
0
0
0
0
0
-7
0
1
41
-27
13
41
49
-57
0
0
0
0
0
0
0
0
15
6
-1
16
10
-22
2
-17
-2
0
0
0
0
0
0
0
0
1
0
0
0
-28
8
-33
-1
14
0
0
0
0
0
0
0
0
0
0
0
-17
28
-14
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
5
7
9
45
0
-15
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
-3
0
0
-1
-19
0
0
0
0
0
0
0
0
0
-1
0
0
-1
2
-5
-4
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
-1
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
-13
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
33
-22
22
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
-79
27
60
-1
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
20
55
-1
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
0
6
-60
-31
-5
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
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-13
16
-4
53
-2
0
0
0
0
0
0
0
0
9
0
-1
5
0
-50
48
-16
0
0
0
0
0
0
0
0
-2
0
-1
3
-2
28
8
-40
47
7
0
0
0
0
0
0
0
0
0
0
0
0
-38
-65
35
9
0
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-9
0
-24
-3
-13
-20
-36
3
0
0
0
0
0
0
0
0
0
0
11
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
4
9
-34
4
0
-3
0
0
0
0
0
0
0
14
3
0
17
4
-72
-39
9
-2
-10
0
0
0
0
0
0
0
0
-4
0
0
-28
-134
97
33
-40
-9
0
0
0
0
0
0
0
4
2
-3
-3
-17
-62
-19
-17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
-3
46
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
-1
-5
0
0
0
-7
-4
-48
-3
-1
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
17
0
18
-18
-96
-49
0
1
3
0
0
0
0
0
0
0
1
1
-13
-119
-49
-3
-64
-91
102
-23
0
0
0
0
0
0
0
63
6
6
25
-91
53
18
83
-8
3
0
0
0
0
0
0
2
5
25
13
31
-80
4
27
-44
-5
0
0
0
0
0
0
0
2
3
14
0
-17
-21
24
84
-94
0
0
0
0
0
0
0
0
0
5
3
0
0
-46
65
-50
0
0
0
0
0
0
0
0
0
0
0
-3
0
-39
0
62
-21
-18
3
0
0
0
0
0
0
0
0
0
-1
-15
0
1
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
2
27
-46
15
-81
0
-45
0
0
0
0
0
0
0
0
1
9
2
-55
-41
-109
-131
2
-37
0
0
0
0
0
0
0
0
23
0
0
-16
34
71
21
-19
68
0
0
0
0
0
0
0
-4
-1
-5
-4
3
-62
47
-4
5
-27
0
0
0
0
0
0
0
0
-18
-27
19
-2
22
1
-12
-16
0
0
0
0
0
0
0
0
0
2
-82
4
4
0
0
11
-5
-8
0
0
0
0
0
0
0
0
0
7
-10
0
37
0
-76
0
-1
0
0
0
0
0
0
0
0
0
12
0
0
6
2
4
-34
0
0
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
1
1
-89
-10
3
-45
0
-161
5
0
0
0
0
0
0
0
53
1
1
59
-86
10
-89
-76
-1
0
0
0
0
0
0
0
11
2
-5
0
84
30
-33
-135
26
-3
0
0
0
0
0
0
0
-1
24
-35
90
-2
-108
72
-67
99
-33
0
0
0
0
0
0
0
-2
-27
-32
5
-44
-4
92
0
51
-1
0
0
0
0
0
0
0
-4
9
-32
2
-29
-72
0
-24
3
29
0
0
0
0
0
0
0
-3
19
5
21
-114
18
75
0
-162
-10
0
0
0
0
0
0
0
0
-11
0
-50
-12
-40
18
-48
-5
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
-1
-4
24
-16
85
-100
26
0
-116
3
0
0
0
0
0
0
14
-13
0
-3
0
61
45
-7
17
-11
-3
0
0
0
0
0
0
8
76
-2
11
34
-49
26
-33
-65
-4
0
0
0
0
0
0
0
-39
-49
-3
-45
-15
-51
-92
-16
-82
47
0
0
0
0
0
0
0
3
-21
-20
-13
9
-88
-38
-49
4
-20
0
0
0
0
0
0
0
0
92
1
-1
-42
-117
-50
0
-45
40
0
0
0
0
0
0
0
0
-6
8
-9
99
21
3
-57
0
1
0
0
0
0
0
0
0
0
-3
-1
9
-7
10
35
-93
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
22
-1
-48
-9
-16
-52
5
-1
0
-42
0
0
0
0
0
0
0
5
54
22
41
130
46
-73
81
56
51
12
0
0
0
0
0
0
3
-8
-61
-111
-5
2
55
-69
-8
9
18
0
0
0
0
0
0
9
-67
-67
47
-16
-32
31
15
-91
-60
0
0
0
0
0
0
0
78
-32
-15
-76
-16
52
-58
-22
44
0
0
0
0
0
0
0
0
2
22
-43
-47
-109
-62
26
38
0
26
1
0
0
0
0
0
0
-21
8
-111
22
58
55
136
4
-11
0
0
0
0
0
0
0
0
-11
14
10
-46
9
-48
-41
8
27
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
2
27
0
0
0
0
0
0
0
0
0
0
22
31
19
42
158
-30
-33
0
-45
7
0
0
0
0
0
0
0
-15
-15
-6
98
115
51
-107
32
56
-59
0
0
0
0
0
0
0
-133
43
29
-40
-86
165
-39
95
-160
0
0
0
0
0
0
0
0
-16
53
48
-21
-99
7
59
32
54
-4
0
0
0
0
0
0
0
60
22
28
11
-26
6
-60
-40
-4
0
0
0
0
0
0
0
0
-51
-57
80
-57
43
101
-16
41
0
2
0
0
0
0
0
0
0
-22
-22
-56
-1
24
-239
-8
8
-18
0
0
0
0
0
0
0
0
0
-17
-31
4
-94
-155
14
-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
3
-11
25
2
0
16
7
0
0
0
0
0
0
0
0
25
8
21
62
35
-1
4
49
5
0
0
0
0
0
0
0
0
1
-2
0
-27
-10
-26
6
120
-5
0
0
0
0
0
0
0
0
-3
0
0
-14
-3
12
-33
55
-7
0
0
0
0
0
0
0
0
-15
0
0
1
4
-60
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-12
15
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
8
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
2
0
0
3
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
1
-1
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
12
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-22
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
33
3
66
0
4
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
-11
0
-34
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
12
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
51
31
0
0
0
0
0
0
0
0
0
0
0
0
7
3
46
-23
4
0
0
0
0
0
0
0
0
0
0
0
-5
-10
6
4
64
36
-29
0
0
0
0
0
0
0
0
18
2
-4
0
-31
-51
-14
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
113
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
30
0
60
2
11
0
0
0
0
0
0
0
0
0
0
0
9
-15
51
-33
-16
0
0
0
0
0
0
0
0
0
0
-21
-5
8
-40
-15
68
23
-47
0
0
0
0
0
0
0
0
1
-1
0
-60
9
-89
5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-51
0
0
0
0
0
0
0
0
0
9
0
-22
0
-48
-29
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
-16
5
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
82
6
-139
3
-2
0
0
0
0
0
0
0
0
-2
0
0
6
-50
-117
3
91
2
0
0
0
0
0
0
0
4
0
0
-3
0
113
2
99
-5
-2
0
0
0
0
0
0
0
0
-4
0
-37
-6
28
41
-6
-10
-2
0
0
0
0
0
0
0
0
-40
10
0
-2
-1
-25
68
-67
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-4
8
0
0
0
0
0
0
0
0
0
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
8
6
0
-12
29
0
0
0
0
0
0
0
0
0
0
-33
0
1
29
42
-17
-111
-23
39
0
0
0
0
0
0
0
0
5
0
3
3
-3
-16
8
-44
-1
0
0
0
0
0
0
0
-14
0
2
-5
2
-9
36
-21
2
-38
0
0
0
0
0
0
0
0
-10
0
9
-34
-20
-11
34
47
0
0
0
0
0
0
0
0
0
3
-3
0
0
-39
0
-59
7
-6
0
0
0
0
0
0
0
0
0
8
0
4
0
80
8
4
0
0
0
0
0
0
0
0
0
-7
0
9
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
17
5
-76
116
0
-36
0
0
0
0
0
0
0
0
28
-1
-21
88
0
60
87
-64
24
0
0
0
0
0
0
0
-2
4
0
-5
-58
-19
-22
13
-10
-20
0
0
0
0
0
0
0
-1
0
6
87
-50
31
-102
9
-4
2
0
0
0
0
0
0
0
0
14
-1
98
-91
-32
36
-5
12
0
0
0
0
0
0
0
0
-2
0
17
-82
30
2
-2
0
5
3
0
0
0
0
0
0
0
0
-33
-2
0
-14
-7
0
-2
14
0
0
0
0
0
0
0
0
0
11
7
-24
25
0
16
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
2
0
-9
-3
43
-11
67
-84
0
10
0
0
0
0
0
0
0
-2
22
19
2
-50
52
22
-3
49
26
2
0
0
0
0
0
0
-7
-8
0
-13
-45
-89
11
-60
32
11
0
0
0
0
0
0
0
34
-6
2
15
47
154
94
11
111
-47
0
0
0
0
0
0
0
-10
-4
-86
54
-19
58
-48
-47
-20
0
0
0
0
0
0
0
0
0
3
36
4
-7
22
3
-51
0
7
0
0
0
0
0
0
0
0
3
-34
24
-36
-1
-10
0
-83
0
0
0
0
0
0
0
0
0
9
-2
-7
-15
-131
17
95
0
11
0
0
0
0
0
0
0
0
0
0
0
7
0
-17
22
0
0
0
0
0
0
0
0
0
5
0
-32
25
-10
-60
54
-38
0
18
0
0
0
0
0
0
0
-54
40
-70
-17
67
34
12
13
-99
-38
-6
0
0
0
0
0
0
-1
-26
12
-55
-8
-95
50
39
83
-51
6
0
0
0
0
0
0
-1
-74
-26
19
63
43
67
-26
39
21
-7
0
0
0
0
0
0
34
-23
-106
138
17
-66
133
-89
60
-37
0
0
0
0
0
0
0
-41
-22
-114
-19
-41
33
83
-1
-46
0
0
0
0
0
0
0
0
5
6
-9
0
22
-16
-44
-69
0
0
0
0
0
0
0
0
0
0
10
-4
8
-5
22
-47
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-8
5
-3
0
0
0
0
0
0
0
0
0
-15
23
-23
16
-23
71
52
0
-20
-4
0
0
0
0
0
0
0
47
67
-42
67
95
48
78
82
31
-28
0
0
0
0
0
0
0
17
19
2
18
38
90
40
40
12
-41
0
0
0
0
0
0
0
-144
-31
-27
24
70
75
-22
-32
21
4
0
0
0
0
0
0
0
157
-108
-45
100
69
-13
-5
-63
-25
0
0
0
0
0
0
0
0
61
103
-2
84
-76
-25
27
0
-103
0
0
0
0
0
0
0
0
-6
7
-32
107
94
-17
102
196
0
0
0
0
0
0
0
0
0
-1
42
-3
1
-75
63
129
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
51
-5
11
0
0
-19
0
0
0
0
0
0
0
0
-3
2
2
3
16
3
-11
-22
-24
0
0
0
0
0
0
0
0
-14
0
0
-9
6
1
77
12
50
0
0
0
0
0
0
0
0
-2
0
17
-4
18
50
-31
5
-25
0
0
0
0
0
0
0
0
2
-5
13
13
48
28
0
37
3
0
0
0
0
0
0
0
0
7
3
0
13
-18
-7
-24
-1
16
0
0
0
0
0
0
0
0
0
1
7
-7
1
-10
4
-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
8
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
-32
2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-2
7
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
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
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-38
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
-6
0
1
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-17
0
-6
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
0
-22
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
86
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-110
0
0
0
0
0
0
0
0
0
0
7
0
0
10
4
-5
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
7
-19
0
-5
0
0
0
0
0
0
0
0
0
0
0
-7
0
15
45
-116
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-6
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-46
-6
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
4
14
0
0
0
0
0
0
0
0
0
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
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-35
-5
160
2
-6
0
0
0
0
0
0
0
0
-18
0
0
6
-2
24
-39
63
40
0
0
0
0
0
0
0
-9
-1
0
-19
0
-7
7
-203
15
-19
0
0
0
0
0
0
0
0
0
8
0
17
16
-52
-67
52
0
0
0
0
0
0
0
0
15
4
20
-6
-20
40
-6
18
15
0
0
0
0
0
0
0
0
0
15
3
0
36
0
-27
0
15
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-61
11
0
0
0
0
0
0
0
0
0
0
10
0
0
47
-119
10
-145
13
-22
0
0
0
0
0
0
0
5
9
0
1
-65
33
-91
48
17
-4
0
0
0
0
0
0
0
-16
-1
0
-24
6
-101
20
-15
-12
-62
0
0
0
0
0
0
0
0
-20
9
-11
17
76
-44
68
-53
0
0
0
0
0
0
0
0
0
21
-9
3
-21
67
-71
42
-4
2
0
0
0
0
0
0
0
0
1
29
41
61
-21
1
17
0
0
0
0
0
0
0
0
0
0
4
0
-7
0
-38
26
0
23
0
0
0
0
0
0
0
0
0
0
5
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
1
-48
-94
-14
0
59
0
0
0
0
0
0
0
0
-21
-4
51
-12
56
-17
-13
20
-73
4
0
0
0
0
0
0
11
49
-8
12
12
-40
-23
-42
13
-20
0
0
0
0
0
0
0
39
69
-10
-56
-32
32
91
-45
91
-135
-2
0
0
0
0
0
0
10
66
59
53
-23
16
-25
40
-106
-14
-1
0
0
0
0
0
0
48
-4
26
-24
-24
-158
-42
-41
48
2
0
0
0
0
0
0
0
10
-20
54
-42
50
15
-25
0
-329
0
0
0
0
0
0
0
0
34
-12
-13
-76
-14
-13
-34
-35
0
-17
0
0
0
0
0
0
0
0
0
0
0
-20
-6
-25
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-16
-53
-3
0
-7
0
0
0
0
0
0
0
0
0
-34
1
7
-94
-18
67
134
-108
2
0
0
0
0
0
0
0
-123
-25
-2
-15
147
28
-64
-114
-3
0
0
0
0
0
0
0
0
-142
-61
14
165
91
41
28
-60
-23
0
0
0
0
0
0
0
0
65
-37
-55
-65
-93
63
-17
61
3
2
0
0
0
0
0
0
0
-14
-55
-44
82
-19
-51
23
107
72
0
0
0
0
0
0
0
0
-16
-108
-98
27
-121
-69
6
-28
-11
0
0
0
0
0
0
0
0
0
-20
19
29
52
-73
-28
-31
0
0
0
0
0
0
0
0
0
0
17
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
13
0
36
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-9
-39
5
-50
0
0
0
0
0
0
0
0
-11
8
0
8
37
4
7
11
-4
0
0
0
0
0
0
0
0
1
5
-1
8
-10
14
-45
-28
-39
0
0
0
0
0
0
0
0
0
-1
-3
40
-11
-12
-5
6
-2
0
0
0
0
0
0
0
0
-7
0
0
-11
20
37
1
-4
0
0
0
0
0
0
0
0
0
0
-7
0
-19
0
-11
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
-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
-4
6
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
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
37
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
7
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
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
24
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-19
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
48
7
0
0
0
0
0
0
0
0
28
-11
14
9
32
-48
-51
0
-5
0
0
0
0
0
0
0
0
6
-4
-5
-12
0
23
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
4
1
0
0
0
0
0
0
0
0
0
0
0
-21
-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
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-35
-26
6
10
0
0
0
0
0
0
0
0
5
0
0
-7
55
0
36
-15
-16
-2
0
0
0
0
0
0
0
23
0
0
63
-1
51
64
86
-69
0
0
0
0
0
0
0
0
-1
27
40
11
-64
36
42
9
-17
1
0
0
0
0
0
0
0
126
-29
-1
52
50
-37
23
35
0
1
0
0
0
0
0
0
0
25
-3
-1
15
-66
0
-22
3
0
0
0
0
0
0
0
0
0
1
-14
-8
32
16
-47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
42
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
41
1
-38
0
0
0
0
0
0
0
0
0
0
0
0
9
-45
14
-32
8
-2
-1
0
0
0
0
0
0
0
0
0
0
1
8
29
3
-110
10
0
0
0
0
0
0
0
0
5
0
-8
6
-2
23
-3
9
-4
0
0
0
0
0
0
0
0
1
0
-10
-2
-1
5
-10
16
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
4
0
1
0
-28
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
0
0
0
0
0
0
0
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
1
-16
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
24
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
-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
-4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-4
40
27
-13
3
0
0
0
0
0
0
0
0
0
0
0
1
-59
-2
39
-12
-1
0
0
15
0
0
0
0
0
0
0
0
18
3
-58
1
1
12
1
-1
-15
0
0
0
0
0
0
0
0
-1
86
-12
-22
-2
1
-5
0
-3
0
0
0
0
0
0
0
0
0
1
4
-29
2
-7
3
0
0
0
0
0
0
0
0
0
0
1
0
9
-4
-20
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
22
32
9
1
0
0
0
0
0
0
0
0
0
0
0
0
104
3
9
56
43
-6
0
-2
0
0
0
0
0
0
0
0
-9
-11
46
-20
-78
33
27
-1
-1
-96
0
0
0
0
0
0
0
0
-10
52
79
19
85
-2
16
8
-19
0
0
0
0
0
0
0
0
-6
-45
4
-27
-41
51
24
-49
-42
0
0
0
0
0
0
0
0
35
3
-85
88
-54
-22
3
-2
10
0
0
0
0
0
0
0
0
0
5
-24
17
-28
-35
-3
-16
0
0
0
0
0
0
0
0
0
0
4
2
1
-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
25
0
12
-7
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
67
0
-75
-7
6
0
0
0
0
0
0
0
0
0
0
0
-60
-37
16
-57
-31
-2
10
0
-2
-22
0
0
0
0
0
0
3
-57
39
-7
94
-112
-18
-20
3
15
0
0
0
0
0
0
0
0
-10
73
64
101
75
4
-10
4
5
3
0
0
0
0
0
0
0
13
-70
37
-43
73
-10
0
-11
0
0
0
0
0
0
0
0
0
0
1
-1
2
1
2
-57
34
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
-8
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
57
0
40
-8
0
0
0
-1
0
0
0
0
0
0
0
4
-38
-40
73
-8
1
0
3
0
0
0
0
0
0
0
0
-15
-10
62
-25
-5
67
-6
3
-3
0
0
0
0
0
0
0
0
-14
11
63
-31
28
16
5
0
-5
9
0
0
0
0
0
0
0
-3
0
-37
24
-4
-6
5
24
-24
1
0
0
0
0
0
0
0
0
0
0
-7
-2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
72
6
17
0
-7
0
0
0
0
0
0
0
0
0
0
0
-9
-7
69
15
-3
0
3
-5
-18
1
0
0
0
0
0
0
6
20
-23
47
25
9
-5
0
-2
0
0
0
0
0
0
0
0
0
29
19
38
2
3
-21
6
0
-2
0
0
0
0
0
0
0
0
-18
-9
-13
28
60
-4
10
0
-31
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-53
-3
-57
0
0
0
0
0
0
0
0
0
0
0
-19
17
21
-62
-94
-29
-7
1
0
7
0
0
0
0
0
0
0
6
-101
-1
-24
-42
12
8
6
-3
13
1
0
0
0
0
0
0
0
3
-65
51
16
13
60
8
5
3
-1
0
0
0
0
0
0
0
0
13
-21
-13
55
1
-31
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
7
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
5
-1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-2
4
-13
14
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
-80
49
8
-1
0
-32
0
-1
0
0
0
0
0
0
-35
-77
-17
-28
2
-14
-1
12
-6
-4
0
0
0
0
0
0
0
5
-14
17
7
32
33
5
0
-1
0
0
0
0
0
0
0
0
0
2
1
0
1
12
0
-2
-3
0
0
0
0
0
0
0
0
0
0
14
-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
9
13
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-23
0
0
2
0
0
1
0
0
0
0
0
0
0
0
2
4
-1
4
-7
11
3
-4
0
1
0
0
0
0
0
0
0
0
0
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-6
8
1
0
0
0
0
0
0
0
0
0
0
0
0
131
-25
54
14
-7
1
0
-2
0
0
0
0
0
0
0
0
-8
116
37
38
-2
-52
-2
0
22
0
0
0
0
0
0
0
0
-4
5
47
6
-52
0
16
0
-31
0
0
0
0
0
0
0
0
-34
-61
-66
-55
44
-50
-9
-1
-67
0
0
0
0
0
0
0
0
0
-8
-1
-60
4
-5
-16
2
0
0
0
0
0
0
0
0
0
0
13
25
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
9
116
-2
-7
0
0
1
0
0
0
0
0
0
0
12
9
-1
-120
-31
22
29
0
1
0
0
0
0
0
0
0
0
-8
-48
-10
65
-116
68
27
3
-21
-8
0
0
0
0
0
0
0
0
8
9
70
9
-110
-25
62
52
-21
0
0
0
0
0
0
0
3
118
-8
87
-71
50
0
13
-14
-22
0
0
0
0
0
0
0
-2
-19
-28
-60
-56
-19
26
4
10
9
0
0
0
0
0
0
0
0
11
-10
60
51
-53
6
27
-51
28
0
0
0
0
0
0
0
0
-11
-4
-2
-37
-18
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
-85
-1
83
-12
0
0
0
0
1
0
0
0
0
0
0
-6
26
-120
21
-17
-38
0
0
3
0
4
0
0
0
0
0
0
-14
18
44
-3
128
-47
15
2
7
-34
7
0
0
0
0
0
0
4
52
43
-50
5
51
10
-9
-4
-21
0
0
0
0
0
0
0
3
58
-27
0
29
-39
-36
-68
22
-77
-19
0
0
0
0
0
0
0
17
26
37
36
-128
-17
12
-32
37
0
0
0
0
0
0
0
0
2
-34
-10
23
-7
38
21
0
-10
0
0
0
0
0
0
0
0
0
0
3
0
0
-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
1
-4
-20
0
-45
-1
0
0
0
0
0
0
0
0
0
0
4
12
28
67
25
6
1
0
-1
0
0
1
0
0
0
0
0
1
-16
23
-21
71
14
20
6
32
-2
12
0
0
0
0
0
0
2
-21
174
-32
-6
53
23
28
-9
14
-1
0
0
0
0
0
0
-6
28
23
38
67
60
-32
4
50
4
-4
0
0
0
0
0
0
-1
-59
-54
26
27
-19
-25
-2
-11
-3
0
0
0
0
0
0
0
0
0
4
-5
-6
-23
8
5
-3
0
0
0
0
0
0
0
0
0
0
2
-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
1
6
-67
0
-35
0
-19
2
0
1
0
0
0
0
0
0
0
-3
17
-27
5
0
35
1
0
0
0
-1
0
0
0
0
0
0
19
-34
11
-32
-44
-7
19
2
13
5
2
0
0
0
0
0
0
-4
27
-54
3
10
26
15
8
-11
5
6
0
0
0
0
0
0
-5
-56
117
36
-3
64
-61
-56
3
54
0
0
0
0
0
0
0
0
23
-8
8
-27
19
-22
14
0
14
0
0
0
0
0
0
0
0
0
-1
13
-7
-1
-5
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
0
0
9
46
29
3
-17
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-67
16
-38
4
6
0
0
0
1
0
0
0
0
0
0
14
63
-67
66
4
73
3
29
21
-20
0
2
0
0
0
0
0
3
35
-70
44
43
-73
-41
-6
-9
11
2
0
0
0
0
0
0
1
51
-13
16
61
24
-6
-14
-59
-5
0
0
0
0
0
0
0
0
-23
-79
-53
-7
18
19
-6
-4
1
0
0
0
0
0
0
0
0
0
12
-9
-34
0
3
-32
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
12
-43
-10
34
2
1
0
0
0
0
0
0
0
0
0
0
0
75
-6
23
-5
19
28
0
-1
0
0
2
0
0
0
0
0
-1
6
-37
35
21
40
29
6
7
4
2
1
0
0
0
0
0
-1
17
59
-26
7
89
10
3
-26
-18
1
0
0
0
0
0
0
0
-5
19
-78
-49
35
73
9
6
7
-5
0
0
0
0
0
0
0
10
8
28
12
8
11
-12
0
-32
0
0
0
0
0
0
0
0
0
1
48
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
-10
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
-45
0
0
0
0
0
4
0
0
0
0
0
0
0
-13
26
19
4
5
1
-3
-2
13
0
0
0
0
0
0
0
0
5
-39
-29
-2
8
-4
2
-4
2
2
0
0
0
0
0
0
0
0
54
6
21
-2
52
6
0
3
-1
0
0
0
0
0
0
0
11
14
-17
0
9
-1
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
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
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-1
-1
1
0
0
0
0
0
0
0
1
2
1
6
-4
-1
-1
-7
0
0
0
0
0
0
0
0
0
0
9
-5
7
2
4
0
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-76
-50
18
-15
4
0
0
0
0
0
0
0
0
0
0
0
-9
-76
-30
19
37
59
1
0
-2
0
0
0
0
0
0
0
0
-3
47
-46
-66
-15
-22
-1
-1
-13
0
0
0
0
0
0
0
0
-7
56
67
27
-96
-20
45
1
24
0
0
0
0
0
0
0
0
-14
-105
21
18
17
-37
44
-3
94
0
0
0
0
0
0
0
0
0
52
20
-43
-10
-13
-25
-15
0
0
0
0
0
0
0
0
0
0
0
16
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
36
18
-85
-3
51
-24
0
0
1
0
0
0
0
0
0
0
-4
37
22
12
-78
96
51
0
0
0
0
0
0
0
0
0
0
-16
-24
-30
0
65
34
51
3
-61
10
0
0
0
0
0
0
0
0
-85
-12
179
15
-63
-50
127
7
-21
0
0
0
0
0
0
0
4
51
37
-22
-36
-78
67
32
-11
-40
0
0
0
0
0
0
0
0
127
-88
-48
-108
12
-65
20
-3
19
0
0
0
0
0
0
0
0
0
16
-12
8
6
19
15
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
-71
20
97
-3
4
0
0
0
0
0
0
0
0
0
-10
-1
3
44
13
-77
35
0
0
0
3
0
0
0
0
0
0
3
0
-6
1
-101
-45
45
-15
2
-59
-10
0
0
0
0
0
0
2
8
-34
-16
45
99
20
17
-8
-11
-2
0
0
0
0
0
0
5
-13
62
43
67
-53
43
11
-13
-4
0
0
0
0
0
0
0
0
-6
54
-28
-8
-39
-16
-41
-2
-5
0
0
0
0
0
0
0
0
0
8
-10
31
-9
-5
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
2
55
38
67
2
10
0
0
0
-2
0
0
0
0
0
0
0
112
60
97
88
-31
-1
0
-4
0
0
0
0
0
0
0
0
0
-29
160
8
23
-12
12
1
2
-14
2
0
0
0
0
0
0
0
35
20
-150
84
83
-7
29
-12
4
0
0
0
0
0
0
0
1
7
-2
-18
-1
4
19
12
21
6
0
0
0
0
0
0
0
0
-31
-19
51
11
-19
-2
29
0
0
0
0
0
0
0
0
0
0
1
-50
-9
-20
-1
-51
9
2
0
0
0
0
0
0
0
0
0
0
-6
3
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
1
11
-10
-38
-13
0
0
0
0
0
0
0
0
0
0
0
0
26
-112
-79
-21
7
13
0
0
0
-1
0
0
0
0
0
0
0
8
35
-114
11
7
20
5
-2
-1
4
0
0
0
0
0
0
-3
32
74
0
35
-17
-14
17
3
0
0
0
0
0
0
0
0
8
-34
58
16
-62
-33
13
6
4
-8
0
0
0
0
0
0
0
0
0
-80
51
6
13
22
-5
0
-1
0
0
0
0
0
0
0
0
0
3
-3
39
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
-29
9
6
66
11
9
0
0
0
0
0
0
0
0
0
0
4
-40
-22
54
8
50
2
0
6
0
0
0
0
0
0
0
0
-3
-1
83
-6
53
0
42
2
17
-10
1
0
0
0
0
0
0
0
-22
51
-73
-7
31
-1
-7
-2
-38
0
0
0
0
0
0
0
0
-8
45
29
8
39
52
1
3
2
0
0
0
0
0
0
0
0
-10
24
17
26
-16
-12
3
-2
0
0
0
0
0
0
0
0
0
0
-28
-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
-4
13
34
66
-25
1
0
0
0
1
0
0
0
0
0
0
-4
57
24
-36
31
18
-2
0
-5
0
0
0
0
0
0
0
0
0
16
-58
47
31
120
-29
1
1
25
3
0
0
0
0
0
0
0
25
-1
10
-27
3
42
-5
1
9
1
0
0
0
0
0
0
-9
27
-2
1
-61
-28
-8
-5
0
2
0
0
0
0
0
0
0
0
-2
33
-11
11
-3
6
-7
0
-3
0
0
0
0
0
0
0
0
0
16
-4
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
20
83
15
-2
2
0
0
0
0
0
0
0
0
0
0
0
-11
17
89
-12
-33
0
0
1
0
1
0
0
0
0
0
0
-3
-7
22
22
32
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-6
50
33
-3
-3
0
-1
2
0
0
0
0
0
0
0
-6
-43
-85
-11
-14
-2
1
-31
-2
0
0
0
0
0
0
0
0
-6
4
53
-2
31
-27
0
1
12
0
0
0
0
0
0
0
0
0
6
2
-8
-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
-11
20
61
-5
2
0
0
0
0
0
0
0
0
0
0
0
7
32
42
28
-3
1
0
0
0
0
0
0
0
0
0
0
0
29
7
-1
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
-31
6
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-14
-44
4
25
-13
-12
23
0
0
0
0
0
0
0
0
0
82
-15
-65
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
-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
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
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
14
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
38
-2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
18
5
-9
-10
7
1
-2
0
0
0
0
0
0
0
0
0
-5
-8
-1
-8
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-6
0
-8
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-101
-30
1
0
0
0
0
0
0
0
0
0
0
0
57
-142
10
-52
41
62
-2
0
-10
0
0
0
0
0
0
0
0
-3
22
131
63
-37
43
0
0
-10
0
0
0
0
0
0
0
0
11
-12
-6
-45
40
-19
11
17
52
0
0
0
0
0
0
0
0
13
-28
-342
10
-16
-104
15
0
20
0
0
0
0
0
0
0
0
-2
-15
-1
58
-10
3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-76
2
-55
0
0
0
5
0
0
0
0
0
0
0
0
0
-22
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
65
-67
-36
71
-41
0
0
0
0
0
0
0
0
0
0
78
-92
-150
-73
-17
-69
-13
0
-4
0
0
0
0
0
0
0
0
-2
-69
34
25
20
17
25
6
-97
23
0
0
0
0
0
0
0
-2
22
47
-85
-56
85
156
-43
-40
38
0
0
0
0
0
0
0
0
93
-36
2
-188
92
-40
-3
1
15
0
0
0
0
0
0
0
0
97
-19
-38
116
19
-111
-32
33
-4
0
0
0
0
0
0
0
0
3
-72
-54
-60
71
18
3
-4
0
0
0
0
0
0
0
0
0
0
-7
37
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
-7
8
44
-44
8
-70
21
0
0
0
0
0
0
0
0
0
0
-10
-29
20
-27
-25
-32
3
0
1
0
6
0
0
0
0
0
0
1
-5
91
83
-6
40
31
-8
8
17
9
0
0
0
0
0
0
0
204
21
3
156
-98
14
-4
8
5
0
0
0
0
0
0
0
0
-10
0
27
-108
38
-15
-40
-9
15
0
0
0
0
0
0
0
0
13
-1
18
-17
27
103
-80
8
0
0
0
0
0
0
0
0
0
1
9
2
-11
-59
87
-4
0
1
0
0
0
0
0
0
0
0
0
7
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
51
-48
81
6
42
0
0
0
-3
0
0
0
0
0
0
0
4
-47
-36
13
-69
-2
-17
0
0
0
0
0
0
0
0
0
0
0
-4
5
-11
37
-4
33
-16
1
39
5
0
0
0
0
0
0
4
24
-77
3
115
9
-9
5
1
-4
0
0
0
0
0
0
0
0
83
-15
-20
21
-81
96
-11
4
-4
1
0
0
0
0
0
0
0
-12
-33
27
128
-2
-45
-40
2
0
0
0
0
0
0
0
0
0
0
28
-16
44
-181
-1
4
2
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
34
104
-10
68
3
0
0
0
0
0
0
0
0
0
0
0
20
-39
72
50
11
-7
0
0
0
0
0
0
0
0
0
0
0
-30
-17
-4
-5
23
-64
-1
4
-9
-1
0
0
0
0
0
0
0
-13
-43
-108
0
-23
-8
0
-4
-1
0
0
0
0
0
0
0
0
-10
-14
0
39
2
30
0
4
10
0
0
0
0
0
0
0
0
-26
0
72
-59
3
-19
0
-6
6
0
0
0
0
0
0
0
0
0
10
-59
-34
10
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
21
-32
-26
7
5
0
0
0
0
0
0
0
0
0
0
0
-180
-33
30
6
-17
6
0
0
0
0
0
0
0
0
0
0
0
10
24
14
-14
9
-15
-2
-7
17
-8
0
0
0
0
0
0
0
40
68
-10
64
0
-41
5
0
2
0
0
0
0
0
0
0
0
6
246
37
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-12
-10
24
32
0
-15
0
0
0
0
0
0
0
0
0
-2
-50
22
-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
-2
-77
19
47
12
13
0
0
0
0
0
0
0
0
0
0
0
34
5
-10
3
-55
2
0
0
0
0
0
0
0
0
0
0
0
-20
52
-111
-10
-35
0
4
0
-8
0
0
0
0
0
0
0
1
4
68
9
-12
28
0
-7
-2
3
0
0
0
0
0
0
0
0
0
-17
-4
-78
0
12
-6
0
-2
0
0
0
0
0
0
0
0
2
-55
-38
-4
86
3
0
-16
6
0
0
0
0
0
0
0
0
0
27
15
54
1
4
0
-31
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
19
-7
-62
4
-24
0
0
0
0
0
0
0
0
0
0
-9
32
73
20
-47
-47
20
0
0
0
0
0
0
0
0
0
0
0
40
-22
-3
5
-10
1
0
0
0
0
0
0
0
0
0
0
0
-8
52
-17
-4
-7
-7
0
0
-1
0
0
0
0
0
0
0
0
-62
-1
-9
31
59
0
-12
0
-1
0
0
0
0
0
0
0
0
0
1
14
-12
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
13
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
17
17
6
14
-15
9
1
0
0
0
0
0
0
0
0
0
0
12
-40
-19
-10
3
-3
0
0
0
0
0
0
0
0
0
0
0
11
48
62
16
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
26
21
-21
14
9
-28
0
0
0
0
0
0
0
0
0
0
-4
5
6
-34
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
32
-11
19
5
0
5
0
0
0
0
0
0
0
0
0
-6
0
-72
13
15
-14
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
-16
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
36
6
23
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-46
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
6
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
8
11
18
24
0
0
0
0
0
0
0
0
0
0
0
-10
45
-2
-9
2
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
71
-25
11
0
0
0
0
0
0
0
0
0
0
0
1
-14
13
23
-106
78
6
0
1
0
0
0
0
0
0
0
0
77
-61
-19
-3
-33
-5
2
-17
8
0
0
0
0
0
0
0
0
109
-31
66
87
-32
59
44
-6
26
0
0
0
0
0
0
0
0
0
-45
51
79
-24
-54
-4
0
-26
0
0
0
0
0
0
0
0
0
-2
-132
-96
-15
31
-1
0
-31
0
0
0
0
0
0
0
0
0
-50
-29
32
9
2
2
0
0
0
0
0
0
0
0
0
0
0
6
-2
11
0
-25
-4
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
87
-83
8
-122
53
-76
0
0
1
0
0
0
0
0
0
0
6
19
34
91
48
31
0
0
0
0
0
0
0
0
0
0
0
43
175
62
-93
-8
-49
-167
-31
-36
1
0
0
0
0
0
0
0
0
24
93
-84
54
-2
-4
-1
6
-51
0
0
0
0
0
0
0
1
0
-197
4
21
-44
98
2
0
-22
0
0
0
0
0
0
0
0
-61
-3
50
-43
-24
-52
89
18
-18
0
0
0
0
0
0
0
0
2
-40
22
60
118
-61
-27
-6
-2
0
0
0
0
0
0
0
0
3
-28
43
-27
17
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
2
47
112
99
42
-18
0
-1
0
0
0
0
0
0
0
0
0
-13
125
16
2
108
-206
-24
0
4
0
1
0
0
0
0
0
0
0
122
111
33
-61
26
3
18
32
-13
6
0
0
0
0
0
0
-49
5
-47
-106
115
-73
66
37
1
24
10
0
0
0
0
0
0
-3
63
0
-44
13
46
33
13
-18
-85
-3
0
0
0
0
0
0
0
0
8
15
42
-31
112
-68
43
1
0
0
0
0
0
0
0
0
6
5
-37
-64
-67
-54
37
-22
-5
0
0
0
0
0
0
0
0
2
3
-39
35
-8
0
2
1
0
0
0
0
0
0
0
0
0
0
-4
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
49
139
-36
-37
-18
21
0
0
2
0
0
0
0
0
0
0
0
47
-60
4
-25
20
-2
0
-1
0
5
0
0
0
0
0
0
3
13
137
-26
-1
68
6
-21
18
51
12
0
0
0
0
0
0
0
-87
13
80
12
76
-6
23
17
42
0
0
0
0
0
0
0
-12
2
27
0
-65
25
-24
3
2
0
0
0
0
0
0
0
0
0
36
0
-47
-19
112
-57
13
-33
5
0
0
0
0
0
0
0
0
0
38
53
-79
-2
4
2
-1
7
0
0
0
0
0
0
0
0
0
-3
3
-62
0
0
-25
0
0
0
0
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
159
111
-8
3
-2
0
0
0
0
0
0
0
0
0
-2
-23
41
185
-5
-82
-4
0
-2
0
0
0
0
0
0
0
0
0
-9
-56
-7
-136
67
4
-1
-1
3
0
0
0
0
0
0
0
0
48
-45
-3
100
-3
3
2
4
15
-6
0
0
0
0
0
0
0
-17
48
71
0
6
31
3
1
-31
0
0
0
0
0
0
0
0
12
-84
0
-110
-6
1
13
-2
5
0
0
0
0
0
0
0
0
-4
-1
-26
-20
42
13
4
17
-1
0
0
0
0
0
0
0
0
-7
2
-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
0
0
0
13
-18
-81
35
7
-16
0
0
0
0
0
0
0
0
0
0
0
-55
-29
111
-96
-14
-9
0
0
0
0
0
0
0
0
0
0
0
-23
99
-35
-9
53
-31
0
-13
1
0
0
0
0
0
0
0
0
7
-19
36
0
18
0
16
10
5
0
0
0
0
0
0
0
0
28
13
-16
51
0
29
0
1
-11
0
0
0
0
0
0
0
0
0
5
81
0
147
5
24
-14
0
0
0
0
0
0
0
0
0
0
80
-27
-6
-3
-35
0
-5
0
0
0
0
0
0
0
0
0
0
0
46
-7
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-62
-47
-137
62
20
0
0
0
0
0
0
0
0
0
0
0
-18
105
26
23
-53
35
0
0
0
0
0
0
0
0
0
0
-3
103
-21
-43
83
89
-19
2
4
-6
0
0
0
0
0
0
0
0
31
-13
-32
12
-1
13
0
-15
1
-1
0
0
0
0
0
0
0
-4
-24
35
-27
17
0
0
0
8
0
0
0
0
0
0
0
0
0
-27
-91
155
3
1
0
53
-21
0
0
0
0
0
0
0
0
0
13
101
0
100
2
-2
17
3
0
0
0
0
0
0
0
0
0
-12
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
-13
-55
13
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
95
61
-50
0
2
0
0
0
0
0
0
0
0
0
0
0
86
46
-26
12
-28
21
2
-2
5
0
0
0
0
0
0
0
0
98
-89
62
58
95
0
-2
0
0
-18
0
0
0
0
0
0
0
2
7
-21
4
0
0
0
0
31
0
0
0
0
0
0
0
0
1
-47
100
-5
6
0
0
0
10
0
0
0
0
0
0
0
0
0
-26
-8
-19
0
-11
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
-8
2
-15
35
2
0
0
0
0
0
0
0
0
0
0
0
-35
36
-38
14
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
46
31
-3
0
-16
0
0
0
0
0
0
0
0
0
0
-1
11
24
86
-42
1
0
0
0
0
0
0
0
0
0
0
0
-5
48
0
96
-8
2
-5
0
0
0
0
0
0
0
0
0
0
0
-29
5
0
4
-18
6
0
0
0
0
0
0
0
0
0
0
0
2
15
-12
-2
17
-2
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
0
0
0
0
0
0
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
9
53
-31
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
8
60
-15
7
-3
-4
0
1
0
0
0
0
0
0
0
0
0
0
-17
-42
36
63
0
10
0
-1
0
0
0
0
0
0
0
0
0
-4
-8
-2
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
7
19
4
17
-4
-22
0
0
0
0
0
0
0
0
0
0
9
-5
22
0
-1
8
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-5
49
-9
0
0
0
0
0
0
0
0
0
0
0
59
97
-3
1
-3
-3
-2
0
0
0
0
0
0
0
0
0
0
-105
-5
118
-66
11
14
2
2
-27
0
0
0
0
0
0
0
0
22
9
-1
47
88
28
51
-12
-97
0
0
0
0
0
0
0
0
-93
-2
-74
-18
94
79
-2
-48
-82
0
0
0
0
0
0
0
0
0
70
22
-99
27
-8
23
-18
12
0
0
0
0
0
0
0
0
4
0
101
11
-51
-2
1
5
-12
0
0
0
0
0
0
0
0
0
6
-1
17
1
19
0
0
0
0
0
0
0
0
0
0
0
0
-60
14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
24
87
95
-50
-27
0
0
1
0
0
0
0
0
0
0
-4
18
-67
44
31
4
-4
0
42
0
0
0
0
0
0
0
0
-21
62
-10
24
66
15
60
43
-21
103
0
0
0
0
0
0
0
34
28
-51
90
-29
30
26
-109
88
57
0
0
0
0
0
0
0
0
-52
8
46
-36
-7
4
11
-56
65
0
0
0
0
0
0
0
0
0
0
58
115
-102
-50
11
10
-14
0
0
0
0
0
0
0
0
-14
1
-1
-10
59
-24
-14
14
12
0
0
0
0
0
0
0
-1
-5
-3
-33
6
-19
0
-4
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
20
50
-22
25
15
3
0
0
0
0
0
0
0
0
0
0
-3
149
100
30
19
21
24
0
0
0
-2
0
0
0
0
0
0
-100
-4
6
-131
48
107
-47
13
-43
40
7
0
0
0
0
0
0
-3
-53
21
32
-117
114
-71
106
7
5
4
0
0
0
0
0
0
8
2
58
-38
72
5
-53
-108
19
0
2
0
0
0
0
0
0
0
-65
0
-97
-80
35
57
46
-72
-29
0
0
0
0
0
0
0
0
0
131
8
40
-85
-30
47
-55
-4
0
0
0
0
0
0
0
0
7
-144
105
-16
15
-2
-9
4
0
0
0
0
0
0
0
0
0
0
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-31
-61
-14
25
99
0
0
0
0
0
0
0
0
0
0
0
-116
114
-50
2
69
-21
0
0
0
8
0
0
0
0
0
0
-5
108
108
-33
5
41
-92
-20
16
54
-28
0
0
0
0
0
0
4
9
29
-41
-45
94
24
29
-4
-65
0
0
0
0
0
0
0
-4
-15
-4
6
1
-102
62
1
75
-29
0
0
0
0
0
0
0
0
40
-11
0
-17
14
54
1
41
-3
1
0
0
0
0
0
0
0
-8
0
-84
10
66
76
-3
21
2
0
0
0
0
0
0
0
0
0
-5
-49
59
-4
-12
-3
-2
0
0
0
0
0
0
0
0
0
25
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-33
2
9
10
-22
0
0
0
0
0
0
0
0
0
0
0
-18
130
14
67
53
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
46
-17
-2
43
0
0
-5
0
0
0
0
0
0
0
0
-65
-12
176
27
8
7
10
0
-5
0
0
0
0
0
0
0
-1
-7
-126
-4
-21
9
160
107
-30
-24
0
0
0
0
0
0
0
0
3
-108
82
0
74
30
17
9
6
0
0
0
0
0
0
0
0
8
32
0
-53
0
21
-17
-11
0
0
0
0
0
0
0
0
0
-7
0
72
-10
26
0
7
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
-12
60
-33
7
11
1
0
0
0
0
0
0
0
0
0
0
0
5
103
94
-112
-1
6
0
0
0
5
0
0
0
0
0
0
0
7
-27
128
-8
76
-51
1
-3
7
0
0
0
0
0
0
0
0
8
28
18
27
58
59
-1
5
-6
2
0
0
0
0
0
0
0
-7
-31
49
1
-41
-3
-7
0
31
0
0
0
0
0
0
0
0
-2
2
25
4
0
6
0
62
0
0
0
0
0
0
0
0
0
0
88
19
0
3
0
0
-1
2
0
0
0
0
0
0
0
0
0
-10
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
101
29
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-2
98
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
23
48
-35
24
12
1
3
4
9
0
0
0
0
0
0
0
1
17
13
141
70
-106
-2
23
3
0
0
0
0
0
0
0
0
0
-43
121
-71
-86
0
-9
0
-12
0
0
0
0
0
0
0
0
0
-4
12
86
-63
30
0
0
0
0
0
0
0
0
0
0
0
0
0
25
30
-1
0
4
0
-13
10
0
0
0
0
0
0
0
0
0
19
14
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
-24
7
0
7
6
7
0
0
0
0
0
0
0
0
0
0
0
25
107
-31
3
89
0
0
0
0
0
0
0
0
0
0
0
0
13
-102
-19
19
-19
-2
0
0
7
0
0
0
0
0
0
0
0
24
-17
8
-40
41
61
-5
0
-10
-1
0
0
0
0
0
0
0
-16
-25
-61
-6
-4
-10
0
0
0
0
0
0
0
0
0
0
0
41
78
6
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
6
8
-38
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
-13
-1
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
6
-1
13
-6
0
0
0
0
0
0
0
0
0
0
0
-10
23
63
-7
1
-8
0
-1
-3
0
0
0
0
0
0
0
0
48
130
-13
-47
15
1
2
0
-1
0
0
0
0
0
0
0
0
-6
-17
-15
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
33
12
-1
-1
0
0
0
9
0
0
0
0
0
0
0
0
-1
18
6
9
17
-1
0
8
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
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
0
0
-2
-13
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
2
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-2
-37
2
0
0
0
0
0
0
0
0
0
0
0
-3
49
-57
-45
34
8
0
0
-2
0
0
0
0
0
0
0
0
-20
-67
-74
7
-36
-21
2
4
-22
0
0
0
0
0
0
0
0
0
-39
-42
-15
-19
28
-25
0
24
0
0
0
0
0
0
0
0
-2
5
-3
-31
-61
-27
-17
13
-57
0
0
0
0
0
0
0
0
0
14
3
70
2
39
-1
5
-51
0
0
0
0
0
0
0
0
0
0
12
-6
91
-9
3
0
4
0
0
0
0
0
0
0
0
0
1
1
-9
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-8
11
113
45
66
0
0
0
0
0
0
0
0
0
0
0
123
100
10
65
-132
17
0
0
0
0
0
0
0
0
0
0
8
-135
6
36
77
-59
-49
-2
3
93
0
0
0
0
0
0
0
0
17
-6
25
-115
-53
-109
-18
-75
38
0
0
0
0
0
0
0
72
83
-64
-136
-55
-15
54
75
-3
56
0
0
0
0
0
0
0
0
126
0
80
-2
-21
49
98
22
-8
0
0
0
0
0
0
0
-1
0
-187
63
76
-26
64
-31
72
-24
0
0
0
0
0
0
0
0
-38
3
184
28
-13
0
-27
-10
4
0
0
0
0
0
0
0
0
-31
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
29
31
7
24
0
0
0
-7
0
0
0
0
0
0
-2
70
34
-25
-2
-81
19
0
0
0
-21
0
0
0
0
0
0
-5
-25
72
20
22
18
21
-9
0
-27
15
0
0
0
0
0
0
0
32
-56
67
37
-62
33
-28
-38
-17
0
0
0
0
0
0
0
0
29
-2
0
-34
-185
-9
52
-31
113
-15
0
0
0
0
0
0
0
1
5
10
-66
-76
35
5
71
-34
0
0
0
0
0
0
0
-10
38
0
44
-49
33
7
-9
54
-5
0
0
0
0
0
0
0
9
0
66
1
-22
24
-10
-7
0
0
0
0
0
0
0
0
0
0
17
-9
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
83
13
-10
81
4
-18
0
0
0
0
0
0
0
0
0
0
0
23
-10
96
54
32
-9
0
0
0
-1
-4
0
0
0
0
0
0
4
28
-1
-33
-1
40
0
0
5
5
0
0
0
0
0
0
0
-26
45
-10
70
-31
-1
-4
12
50
0
0
0
0
0
0
0
0
-2
8
75
53
-41
-48
9
-22
-20
0
0
0
0
0
0
0
0
71
2
90
-6
-29
-11
-38
-27
54
0
0
0
0
0
0
0
0
0
2
0
17
-10
7
4
4
0
0
0
0
0
0
0
0
0
-1
0
-67
0
72
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
27
-3
-20
-1
10
-1
0
0
0
0
0
0
0
0
0
0
46
92
27
-11
3
-12
0
0
0
0
0
0
0
0
0
0
10
5
-14
-60
43
16
-2
-4
0
-40
-3
0
0
0
0
0
0
0
28
34
110
-6
-23
-1
-1
-11
0
0
0
0
0
0
0
0
-18
-16
-25
0
77
-27
45
-37
27
0
1
0
0
0
0
0
0
0
5
-4
-4
79
11
18
0
-20
-3
-4
0
0
0
0
0
0
0
0
0
-35
0
7
0
2
2
0
0
0
0
0
0
0
0
0
0
12
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
180
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
1
4
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-49
28
27
-69
0
-2
51
0
0
0
0
0
0
0
0
17
0
-46
-34
87
1
0
-1
0
0
0
0
0
0
0
0
0
-5
-5
-6
-2
3
7
-1
1
0
0
0
0
0
0
0
0
0
14
-4
37
0
39
0
-1
5
-17
0
0
0
0
0
0
0
0
0
3
0
13
0
2
0
21
0
0
0
0
0
0
0
0
0
0
11
79
0
11
0
0
0
0
0
0
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
17
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
128
-13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-11
66
5
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-36
2
33
10
-7
0
0
0
0
0
0
0
0
0
0
3
6
-3
-32
-31
16
-9
12
0
0
0
0
0
0
0
0
0
14
34
11
-8
0
2
0
0
29
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
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
41
17
-6
0
0
0
0
0
0
0
0
0
0
0
2
0
96
1
-8
0
-1
0
7
0
0
0
0
0
0
0
0
0
48
-18
2
-1
48
-3
0
4
0
0
0
0
0
0
0
0
0
4
2
10
60
2
-7
7
0
-11
0
0
0
0
0
0
0
0
0
0
15
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
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-2
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
24
-5
-1
2
0
0
9
0
0
0
0
0
0
0
0
-1
-14
-2
-9
3
8
5
0
0
0
0
0
0
0
0
0
0
0
21
18
38
8
-1
42
0
-31
0
0
0
0
0
0
0
0
-4
0
-197
-7
-20
-2
0
27
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
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
5
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
20
0
74
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-5
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
-3
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-1
-24
0
2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
2
81
-2
50
2
3
0
0
0
0
0
0
0
0
0
0
0
14
-12
29
5
-74
-1
-1
0
-1
0
0
0
0
0
0
0
0
-6
-16
18
105
-18
83
0
-3
-25
0
0
0
0
0
0
0
0
104
1
-21
-10
45
-72
34
17
25
0
0
0
0
0
0
0
0
5
-27
0
-18
-10
-32
33
25
-41
0
0
0
0
0
0
0
0
8
0
43
-33
13
-21
13
-28
22
0
0
0
0
0
0
0
0
0
11
1
11
0
-54
3
45
0
0
0
0
0
0
0
0
0
0
0
-55
16
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
3
140
-10
127
7
-22
0
0
0
0
0
0
0
0
0
0
0
106
31
43
2
-3
-82
0
2
0
0
0
0
0
0
0
0
9
-57
42
-85
-10
73
-80
2
-3
116
0
0
0
0
0
0
0
-1
141
71
22
33
-22
-26
-49
39
53
0
0
0
0
0
0
0
-75
89
42
-34
-81
-54
57
-12
62
-117
0
0
0
0
0
0
0
0
-48
17
-19
40
88
-86
70
36
-22
0
0
0
0
0
0
0
0
-19
12
-66
96
99
-36
136
-55
-26
0
0
0
0
0
0
0
0
0
22
2
-23
-40
-1
-16
3
0
0
0
0
0
0
0
0
0
-5
0
-15
9
-1
0
0
-20
0
0
0
0
0
0
0
0
0
0
22
25
-13
10
8
1
0
0
0
0
0
0
0
0
0
0
-13
-20
-43
24
2
10
0
0
0
-50
0
0
0
0
0
0
42
-4
112
21
126
22
-125
3
-10
-79
-24
0
0
0
0
0
0
5
-7
22
10
-85
-26
-16
-37
5
-22
4
0
0
0
0
0
0
-51
7
16
14
-47
94
-21
-23
35
-51
13
0
0
0
0
0
0
0
63
-45
85
53
-17
-95
63
0
84
0
0
0
0
0
0
0
0
0
102
0
0
85
60
69
-29
6
0
0
0
0
0
0
0
0
63
0
54
-11
9
4
0
0
4
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
-25
3
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
32
26
57
-16
0
0
0
0
0
0
0
0
0
0
0
68
-25
31
117
-11
-51
0
0
9
0
0
0
0
0
0
0
0
45
1
-3
-15
12
-17
7
8
19
0
0
0
0
0
0
0
0
0
-3
-61
67
-120
13
-22
-2
11
1
0
0
0
0
0
0
0
-6
-21
-98
116
-6
-5
-19
-6
0
0
0
0
0
0
0
0
0
-1
0
95
0
-21
-36
-2
8
-7
0
0
0
0
0
0
0
0
0
17
0
16
-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
1
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
8
3
1
3
0
0
0
0
0
0
0
0
0
0
-12
0
-93
-23
90
1
-4
0
0
21
0
0
0
0
0
0
0
0
66
8
7
2
18
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-5
78
-22
-21
-16
6
0
0
0
0
0
0
0
0
0
0
-23
0
-48
4
-21
5
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
3
0
0
-1
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
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-50
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-17
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
3
9
78
0
13
2
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
-41
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-48
0
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-7
0
0
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
-5
8
0
25
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
-1
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
3
6
9
9
0
16
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
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
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
2
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
73
11
52
1
-14
0
0
0
0
0
0
0
0
0
0
0
-6
-24
18
12
77
-20
0
0
-4
0
0
0
0
0
0
0
0
0
-11
16
51
-121
38
4
0
-8
0
0
0
0
0
0
0
0
88
16
-72
-63
-45
-43
-28
-20
4
0
0
0
0
0
0
0
0
2
-65
42
57
-71
-98
11
3
-48
0
0
0
0
0
0
0
0
1
-77
79
-25
46
-12
-14
-8
8
0
0
0
0
0
0
0
0
0
0
-21
-62
-3
51
2
34
0
0
0
0
0
0
0
0
0
0
3
-50
2
-30
0
0
0
0
0
0
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
15
21
9
0
0
0
0
0
0
0
0
0
0
0
0
35
3
64
11
-19
1
0
0
0
-9
0
0
0
0
0
0
0
0
-44
-21
-17
13
-6
-3
0
8
2
0
0
0
0
0
0
0
-20
-38
59
-15
-43
1
-55
0
-27
1
0
0
0
0
0
0
0
0
-33
-6
-80
-7
22
40
6
10
-1
0
0
0
0
0
0
0
1
0
5
7
61
11
0
6
6
0
0
0
0
0
0
0
0
0
0
0
-18
5
-2
14
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
11
10
40
1
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-44
-1
-20
-2
0
-1
0
0
0
0
0
0
0
0
35
1
32
14
26
8
-27
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-37
0
-11
-17
-26
-11
0
0
0
0
0
0
0
0
0
-4
18
1
7
1
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
-4
0
-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
0
0
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
0
0
0
0
0
0
-1
0
1
-1
-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
10
-14
1
0
0
1
-1
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-14
0
-1
3
2
-18
-31
6
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
-2
11
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-10
15
-16
0
-7
0
0
0
0
0
0
0
0
-32
25
-2
2
40
8
-43
-12
57
0
0
0
0
0
0
0
0
35
0
6
0
7
-86
-108
25
1
0
0
0
0
0
0
0
0
4
1
2
-25
51
-8
25
-14
57
0
0
0
0
0
0
0
0
-19
0
0
-1
-9
29
4
35
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-71
-4
17
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-11
0
0
0
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
8
-6
21
5
0
23
0
0
0
0
0
0
0
0
0
6
-2
-11
-1
74
-53
4
53
0
0
0
0
0
0
0
0
-9
0
3
-16
49
-37
-35
-35
10
0
0
0
0
0
0
0
0
-2
1
0
-5
41
47
44
-17
5
0
0
0
0
0
0
0
0
0
0
0
-8
-1
44
29
-2
3
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
11
-10
-1
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
6
0
21
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
-9
-1
-3
1
0
-2
-1
0
0
0
0
0
0
0
2
-2
1
-1
-39
-61
-70
-42
-5
-1
0
0
0
0
0
0
0
-1
0
0
0
12
-29
-49
-16
2
0
0
0
0
0
0
0
0
2
0
0
0
-11
8
2
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-57
10
4
3
0
0
0
0
0
0
0
0
0
0
0
1
-9
52
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-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
2
4
0
8
0
0
0
0
0
0
0
0
10
-16
0
-8
-2
34
2
9
-1
-2
0
0
0
0
0
0
0
0
1
9
7
-15
4
18
-33
-3
0
0
0
0
0
0
0
0
-2
0
1
4
1
6
10
2
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
18
4
7
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
-2
0
0
0
0
0
0
0
0
-2
2
7
-1
5
-13
-7
-20
-4
0
0
0
0
0
0
0
0
0
19
-3
7
-19
-3
23
-17
6
0
0
0
0
0
0
0
0
0
0
13
0
-19
-2
-3
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
0
0
2
-1
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
2
0
0
0
0
0
0
0
0
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
-1
10
-8
-1
-20
10
-70
0
1
0
0
0
0
0
0
0
0
0
0
-4
-7
11
25
-31
11
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
-1
12
14
0
0
0
0
0
0
0
0
0
0
0
0
1
1
12
-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
-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
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
8
6
-3
1
-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
-3
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
-41
21
0
0
0
0
0
0
0
0
0
24
0
8
-24
11
19
9
-27
69
0
0
0
0
0
0
0
0
-8
0
0
11
-39
28
-68
56
12
0
0
0
0
0
0
0
0
-5
0
0
-2
-4
-2
-11
-82
-3
0
0
0
0
0
0
0
0
-5
0
0
0
31
-2
21
0
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
16
2
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
4
-4
-34
50
67
-2
2
0
22
0
0
0
0
0
0
0
-3
7
-2
105
21
114
-29
-156
17
44
0
0
0
0
0
0
0
0
23
-12
0
-8
142
49
82
53
9
0
0
0
0
0
0
0
0
23
-2
-19
-29
6
5
44
0
35
0
0
0
0
0
0
0
0
71
0
9
9
-3
-14
-4
25
-4
0
0
0
0
0
0
0
0
-12
2
0
-6
-49
12
-8
-9
24
0
0
0
0
0
0
0
0
0
0
3
-9
-1
-21
10
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
33
-10
0
0
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
5
-4
-32
33
-34
0
-24
10
0
0
0
0
0
0
4
31
0
72
59
113
101
-42
-28
39
-1
0
0
0
0
0
0
0
-1
-6
2
-1
-56
85
93
28
-18
0
0
0
0
0
0
0
-1
-1
-8
-3
1
3
4
71
12
-11
-2
0
0
0
0
0
0
0
-18
1
0
1
-2
39
62
-20
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-7
5
-47
22
3
2
0
0
0
0
0
0
0
0
0
0
8
-13
3
3
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
133
15
-2
-8
0
-31
-4
0
0
0
0
0
0
0
-2
-18
1
-12
10
99
-52
-96
2
14
0
0
0
0
0
0
0
2
0
9
-7
64
-61
16
-20
-28
-2
0
0
0
0
0
0
1
-1
-9
-7
-11
-5
17
-62
-15
7
0
0
0
0
0
0
0
0
-17
0
3
2
-8
9
-17
4
3
-3
0
0
0
0
0
0
0
0
1
0
0
2
-6
-11
7
-2
0
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
-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
6
-20
0
0
0
-8
-13
-13
0
-12
-1
0
0
0
0
0
0
12
-1
-9
-11
-2
31
-40
48
23
32
-5
2
0
0
0
0
0
0
1
-1
2
14
30
32
17
93
-2
0
0
0
0
0
0
0
0
-2
0
2
0
-5
3
48
-12
26
0
0
0
0
0
0
0
0
0
0
0
-5
-11
7
-12
-5
0
-1
0
0
0
0
0
0
0
5
-5
0
0
-8
23
14
16
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-16
4
105
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
1
-1
-6
0
2
22
13
-37
0
1
-4
0
0
0
0
0
0
0
11
1
-10
19
-19
43
-60
104
24
-9
0
0
0
0
0
0
-4
-2
-34
73
-4
-25
-13
-72
-1
-5
0
0
0
0
0
0
0
0
5
0
-2
1
-54
12
-20
23
13
0
0
0
0
0
0
0
0
3
2
4
-1
1
27
7
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
2
12
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
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
4
0
-1
6
-12
8
13
0
-23
-1
0
0
0
0
0
0
0
-1
6
-2
31
39
33
18
114
10
-3
0
0
0
0
0
0
0
2
10
-10
10
21
19
-35
-107
-4
0
0
0
0
0
0
0
0
5
0
5
0
-50
81
62
5
59
0
0
0
0
0
0
0
0
1
0
-1
0
2
15
1
-2
3
-2
1
0
0
0
0
0
0
-3
0
0
0
-1
49
20
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
7
-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
-1
2
2
-4
0
-11
3
0
0
0
0
0
0
-1
0
2
-18
-16
-7
-21
-1
52
3
-8
0
0
0
0
0
0
0
3
0
1
-1
-1
14
-56
-1
3
-2
0
0
0
0
0
0
0
0
4
0
-3
-2
-2
-2
-6
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
-59
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
-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
18
0
0
6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-5
14
2
0
1
-2
0
0
0
0
0
0
-2
0
-1
5
-8
83
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
20
1
0
0
0
0
0
0
0
0
0
2
0
20
1
0
4
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
26
28
-4
0
0
0
0
0
0
0
0
0
-4
0
-10
-34
58
-4
91
-73
-65
0
0
0
0
0
0
0
0
0
0
0
2
-11
22
108
21
-11
0
0
0
0
0
0
0
0
-7
0
5
3
-1
1
-8
9
1
0
0
0
0
0
0
0
0
-3
0
0
-8
-2
-19
-30
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-2
25
13
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
-1
-6
3
0
114
76
-56
-23
0
-54
0
0
0
0
0
0
0
-17
20
-2
-15
-73
-31
59
-70
70
14
0
0
0
0
0
0
0
0
-4
-8
56
1
-42
2
43
-16
-1
0
0
0
0
0
0
0
0
44
32
9
14
29
-13
70
39
18
0
0
0
0
0
0
0
0
12
0
9
-7
-17
-45
-13
4
1
0
0
0
0
0
0
0
0
1
0
0
-2
40
-118
-5
12
8
0
0
0
0
0
0
0
0
0
0
0
-5
10
-35
5
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
2
-2
-13
-8
48
70
0
-3
-3
0
0
0
0
0
0
0
-10
-2
-4
43
103
-32
19
-42
-5
-21
0
0
0
0
0
0
0
16
0
2
-38
-6
7
-44
-71
56
-7
0
0
0
0
0
0
-2
0
0
-6
-27
-107
11
-22
62
-14
-2
0
0
0
0
0
0
0
-1
-1
-2
0
0
13
24
9
9
0
0
0
0
0
0
0
0
0
0
3
1
41
-12
6
6
-1
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
1
0
0
0
0
0
0
0
0
0
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
23
12
0
-16
-2
0
0
0
0
0
0
-4
1
21
8
-23
-43
-40
18
24
-82
-4
0
0
0
0
0
0
0
1
-11
0
-1
-22
-13
42
97
8
0
0
0
0
0
0
0
0
6
12
-4
32
-11
11
-35
30
-25
0
0
0
0
0
0
0
-1
2
0
0
8
-1
55
49
9
19
0
0
0
0
0
0
0
0
0
0
0
0
2
2
97
-2
-3
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
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
-8
0
0
-1
2
-2
6
0
-17
0
0
0
0
0
0
0
1
7
0
-1
0
55
-25
-7
1
-8
-2
0
0
0
0
0
0
0
-3
-8
-3
0
-12
41
48
83
-4
0
0
0
0
0
0
0
0
1
-2
0
4
-23
20
16
-9
-3
-2
0
0
0
0
0
0
0
-8
0
0
0
19
10
-8
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
2
0
1
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
-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
-1
-4
-61
18
0
62
0
0
0
0
0
0
0
5
0
0
6
1
-17
24
103
63
59
0
0
0
0
0
0
0
0
19
-1
4
51
0
6
-51
110
-41
0
0
0
0
0
0
0
0
-1
0
3
24
56
-28
-19
-7
-17
0
0
0
0
0
0
0
0
0
4
0
-2
-5
-24
-4
-18
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
15
-31
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
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
4
0
4
0
0
0
0
0
0
0
0
0
-10
3
1
-2
-5
18
16
14
0
0
0
0
0
0
0
0
0
-50
-3
-1
-6
-3
16
-13
-17
0
0
0
0
0
0
0
0
31
7
0
2
-20
93
-1
25
13
0
0
0
0
0
0
0
0
12
-9
0
-1
-2
19
-18
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
1
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-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
2
0
8
34
0
3
0
0
0
0
0
0
0
0
3
0
10
-33
7
17
-20
8
2
0
0
0
0
0
0
0
0
0
0
2
-55
-3
77
0
-28
-16
0
0
0
0
0
0
0
0
-1
0
45
-7
31
34
-7
27
3
0
0
0
0
0
0
0
0
-2
-5
-4
-1
0
-35
-4
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
2
0
0
0
0
0
0
0
0
0
7
4
10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
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
50
0
50
0
0
0
0
0
0
0
0
0
0
-5
7
-18
-99
-12
15
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
59
106
0
0
0
0
0
0
0
0
0
0
0
0
-39
18
15
-3
-20
-1
0
0
0
0
0
0
0
0
0
10
0
-2
0
0
0
2
0
4
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
12
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
-2
0
0
0
0
0
0
0
0
0
0
0
1
13
0
-2
0
13
-29
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
-2
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
6
-1
5
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-1
0
1
17
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
87
43
-80
11
0
0
0
0
0
0
0
0
0
-3
4
-4
-4
125
68
10
-23
-18
0
0
0
0
0
0
0
0
-5
-5
-2
-43
0
5
39
19
-107
0
0
0
0
0
0
0
0
0
0
-25
11
5
-56
22
-61
0
0
0
0
0
0
0
0
0
-10
0
0
-15
43
-8
-24
-21
0
0
0
0
0
0
0
0
0
-1
0
0
-3
4
10
2
17
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
1
0
0
0
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
-3
0
-2
6
43
-12
0
-64
0
0
0
0
0
0
0
0
41
3
-37
51
92
53
108
-29
146
0
0
0
0
0
0
0
5
27
39
-1
-20
-29
-8
16
-25
-9
0
0
0
0
0
0
0
1
0
65
50
157
-2
22
65
-60
-4
0
0
0
0
0
0
0
-5
-53
-5
13
10
-1
89
82
2
-1
0
0
0
0
0
0
0
0
-7
9
-22
-1
-17
20
-22
-56
-18
0
0
0
0
0
0
0
0
0
-1
0
-1
0
33
-1
-27
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
1
0
6
-11
59
-70
0
-40
0
0
0
0
0
0
0
0
31
12
1
-6
131
80
20
71
3
6
0
0
0
0
0
0
0
7
0
10
-20
-40
36
94
67
-41
0
0
0
0
0
0
0
0
17
0
49
28
49
-25
329
-23
-26
4
0
0
0
0
0
0
0
0
-8
-8
-22
38
123
65
34
1
0
0
0
0
0
0
0
0
45
-6
-5
-2
0
-19
101
-24
1
0
0
0
0
0
0
0
0
0
1
0
21
-1
8
0
0
2
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
1
0
18
0
-6
-106
30
0
-105
-7
0
0
0
0
0
0
0
-4
0
4
-50
59
48
87
-2
-16
4
0
0
0
0
0
0
0
29
-1
2
-22
-59
46
-39
19
3
0
0
0
0
0
0
0
0
-7
18
0
7
34
44
36
44
24
3
0
0
0
0
0
0
0
0
0
0
-9
-11
112
54
41
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
6
92
-24
-3
0
0
0
0
0
0
0
0
0
0
1
6
0
-8
2
21
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
3
0
0
-5
-9
2
0
-10
-3
0
0
0
0
0
0
0
0
0
7
3
44
46
50
23
10
-17
0
0
0
0
0
0
0
-8
2
-37
-7
-48
-117
48
134
42
0
0
0
0
0
0
0
0
0
-6
8
0
9
-38
-90
-17
52
0
0
0
0
0
0
0
0
-6
0
0
-17
0
5
-68
3
3
0
0
0
0
0
0
0
0
0
0
0
3
-35
3
-6
2
1
0
0
0
0
0
0
0
0
0
2
19
0
1
3
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
48
0
-1
0
0
0
0
0
0
0
0
-4
0
0
-15
20
-46
-11
-3
8
0
0
0
0
0
0
0
0
0
0
-1
-9
-8
-9
7
68
-4
0
0
0
0
0
0
0
0
0
-8
0
-8
0
11
12
16
44
0
0
0
0
0
0
0
0
0
0
13
9
-24
3
-14
-9
3
0
0
0
0
0
0
0
0
0
-1
0
3
5
19
-1
2
10
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-5
6
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
32
10
-32
34
0
3
-5
0
0
0
0
0
0
0
-1
0
9
-32
-4
-3
-17
-30
-9
0
0
0
0
0
0
0
0
0
2
12
-1
12
-71
-97
-67
21
0
0
0
0
0
0
0
0
0
-15
-2
-2
9
0
-29
107
22
0
0
0
0
0
0
0
0
0
-19
-6
4
4
-59
1
18
-4
0
0
0
0
0
0
0
0
6
12
0
0
13
-25
64
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
10
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
-7
0
0
5
-23
2
-2
0
27
0
0
0
0
0
0
0
0
8
-5
0
-1
0
-11
79
-52
-11
0
0
0
0
0
0
0
0
-26
3
0
3
-69
-8
126
-10
-25
0
0
0
0
0
0
0
0
0
0
0
4
-50
-12
0
11
-62
0
0
0
0
0
0
0
0
0
0
5
-40
-11
-12
10
0
6
0
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
0
-1
0
0
0
0
-8
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-1
-1
-25
12
0
0
0
0
0
0
0
0
2
0
1
4
-1
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
34
-15
-3
8
0
0
0
0
0
0
0
0
-26
0
-4
0
0
-49
-28
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
20
21
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
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
6
7
0
0
0
0
0
0
0
0
0
6
0
0
0
-5
10
-16
3
-21
0
0
0
0
0
0
0
0
-1
10
0
-1
2
0
0
7
0
0
0
0
0
0
0
0
0
33
0
0
0
0
2
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
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
-3
0
-7
0
-2
19
-5
-29
0
0
0
0
0
0
0
0
0
-7
-4
0
18
83
-3
-22
29
-40
0
0
0
0
0
0
0
0
22
-3
110
-34
166
172
-89
-63
3
0
0
0
0
0
0
0
0
14
-1
-35
-3
-22
53
-64
24
-2
0
0
0
0
0
0
0
0
0
-5
-6
28
29
3
-79
9
3
0
0
0
0
0
0
0
0
6
0
0
-28
22
-39
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
89
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
8
23
114
-112
0
1
0
0
0
0
0
0
0
5
-40
0
-10
41
106
-32
36
-54
34
0
0
0
0
0
0
0
-5
-54
-4
-61
102
-107
24
53
-113
-54
0
0
0
0
0
0
0
3
6
-19
28
-27
-69
-38
37
-12
77
0
0
0
0
0
0
0
8
0
13
90
-47
102
127
96
-21
-41
0
0
0
0
0
0
0
0
-75
-12
32
-68
76
-29
37
10
0
0
0
0
0
0
0
0
0
2
-4
0
78
-23
70
-3
-20
0
0
0
0
0
0
0
0
0
0
-3
9
0
12
91
21
-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
17
0
-4
0
-5
30
-71
-83
0
26
-19
0
0
0
0
0
0
-1
-4
-3
-6
-8
3
41
-46
66
6
35
0
0
0
0
0
0
-1
-6
23
19
17
20
41
135
-44
-24
-29
0
0
0
0
0
0
0
8
-18
47
-93
15
-56
50
140
210
10
0
0
0
0
0
0
2
5
0
-2
59
47
122
-51
12
21
0
0
0
0
0
0
0
0
1
28
14
3
47
-43
50
21
-1
0
0
0
0
0
0
0
0
0
0
4
6
33
45
-6
20
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
1
0
0
0
0
0
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
23
50
18
0
14
6
0
0
0
0
0
0
0
2
15
8
-34
67
-19
-165
-17
58
22
0
0
0
0
0
0
0
0
-1
0
9
-15
65
-10
112
52
13
0
0
0
0
0
0
0
-2
-1
-2
-27
5
-9
6
-34
13
-1
0
0
0
0
0
0
2
12
34
0
24
16
-12
-18
-28
4
0
0
0
0
0
0
0
0
1
0
5
-11
-13
29
90
11
33
0
0
0
0
0
0
0
0
0
0
0
-16
2
168
0
67
0
0
0
0
0
0
0
0
0
0
0
-16
0
-6
6
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
2
-1
35
-60
0
4
0
0
0
0
0
0
0
0
0
0
0
2
-22
-65
-21
-29
-40
22
0
0
0
0
0
0
0
-1
0
3
-4
-52
-32
-20
74
37
0
0
0
0
0
0
0
0
0
-1
1
-4
15
2
13
-37
3
0
0
0
0
0
0
0
1
0
0
-5
0
-3
88
45
23
-3
0
0
0
0
0
0
0
0
0
2
0
2
31
-10
12
-3
84
0
0
0
0
0
0
0
0
0
0
0
79
1
1
-1
0
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
18
-52
-3
0
-2
18
0
0
0
0
0
0
0
0
0
-1
25
131
33
35
55
5
-14
0
0
0
0
0
0
0
0
0
0
19
-24
44
-3
-33
7
0
0
0
0
0
0
0
0
-20
0
0
-12
-35
-8
29
45
-38
0
0
0
0
0
0
0
-9
36
9
0
5
0
-1
-16
37
0
0
0
0
0
0
0
0
0
0
0
6
-2
30
-35
20
1
-16
0
0
0
0
0
0
0
0
0
0
0
13
-28
-24
-2
17
0
0
0
0
0
0
0
0
0
0
5
16
0
6
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
-64
61
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
-22
-91
47
23
3
3
0
0
0
0
0
0
0
0
0
0
-2
0
63
-50
-37
12
0
0
0
0
0
0
0
0
0
2
0
-3
-77
11
27
-3
29
0
0
0
0
0
0
0
0
14
1
0
9
-7
0
-2
35
0
0
0
0
0
0
0
0
0
11
11
26
16
20
-4
33
44
-6
0
0
0
0
0
0
0
0
0
0
-1
-4
12
28
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
-4
22
-20
0
9
0
0
0
0
0
0
0
0
0
0
18
-7
23
-74
-41
-97
1
-1
0
0
0
0
0
0
0
0
2
0
2
27
18
39
33
0
-1
0
0
0
0
0
0
0
0
0
-1
18
-46
0
42
62
74
0
0
0
0
0
0
0
0
7
0
0
0
0
56
0
-8
0
0
0
0
0
0
0
0
0
0
0
8
-9
24
-2
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
26
0
0
0
0
0
0
0
0
0
0
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
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
-10
33
-12
-7
45
110
0
0
0
0
0
0
0
0
0
0
3
0
-1
-16
-24
5
11
-1
0
0
0
0
0
0
0
6
0
0
38
59
50
-13
8
41
0
0
0
0
0
0
0
0
6
0
-16
-12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
3
22
10
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-21
-1
59
-3
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-12
67
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
9
3
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-21
31
74
52
0
0
0
0
0
0
0
0
0
-52
0
0
-15
42
-94
-12
-11
59
0
0
0
0
0
0
0
0
9
0
1
-9
14
-49
-19
-25
12
0
0
0
0
0
0
0
0
11
-1
10
77
-14
25
114
183
-27
0
0
0
0
0
0
0
0
-9
1
-2
51
-53
9
-124
0
28
0
0
0
0
0
0
0
0
0
4
3
134
-41
-11
-2
80
0
0
0
0
0
0
0
0
0
-14
16
7
0
72
2
124
35
45
0
0
0
0
0
0
0
0
0
0
0
13
6
27
0
-6
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
1
3
-3
3
-75
15
-115
0
-37
0
0
0
0
0
0
0
-8
26
-11
10
-66
-36
-7
48
-6
-29
0
0
0
0
0
0
0
12
147
-18
-29
51
81
51
85
61
92
0
0
0
0
0
0
0
-5
11
18
32
-56
8
-80
-34
-162
99
0
0
0
0
0
0
0
5
31
75
136
94
147
62
66
50
29
0
0
0
0
0
0
0
-1
0
-13
-91
67
-12
23
-1
-43
-38
0
0
0
0
0
0
0
2
-1
10
-3
42
-8
-43
10
-89
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-16
32
40
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
-2
0
-19
57
-81
49
0
0
-13
0
0
0
0
0
0
3
-3
4
-9
-21
105
-23
-55
-25
136
-67
0
0
0
0
0
0
0
-12
-4
-7
35
60
37
138
26
-6
-6
0
0
0
0
0
0
-2
0
-1
9
-55
57
-30
-33
26
-43
3
0
0
0
0
0
0
0
-21
-27
45
-29
64
-115
76
119
98
0
0
0
0
0
0
0
16
-72
0
29
-77
25
69
-76
-4
117
0
0
0
0
0
0
0
0
4
-38
1
60
-73
98
80
64
-7
0
0
0
0
0
0
0
0
0
0
-1
0
87
48
-4
-7
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-11
1
0
0
0
0
0
0
0
0
0
0
3
0
0
1
87
-42
-24
0
39
1
-2
0
0
0
0
0
1
4
0
0
41
59
79
51
-11
-62
-79
0
0
0
0
0
0
0
11
0
-2
-40
-14
113
-49
62
58
0
0
0
0
0
0
0
0
8
-6
7
21
33
64
41
-8
-23
0
0
0
0
0
0
0
0
-18
2
-24
13
11
105
50
52
2
2
0
0
0
0
0
0
0
-15
5
0
53
-14
99
-9
53
19
4
0
0
0
0
0
0
0
45
10
-5
55
-10
-13
41
28
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
34
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
-4
53
31
0
-4
-2
0
0
0
0
0
0
0
0
0
0
-4
-98
-41
-31
20
-20
-27
0
0
0
0
0
0
0
0
0
-3
12
-48
82
29
85
-20
0
0
0
0
0
0
0
0
0
0
1
-11
32
80
30
-11
-25
0
0
0
0
0
0
0
0
0
0
9
-9
-83
21
9
1
0
0
0
0
0
0
0
0
0
65
63
-15
0
21
-42
90
24
-1
0
0
0
0
0
0
0
-4
0
1
0
27
3
40
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-39
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
-1
4
-25
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
29
-39
8
77
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-2
26
36
-26
3
0
0
0
0
0
0
0
0
0
0
18
2
11
-58
25
-9
-6
1
0
0
0
0
0
0
5
19
11
10
-3
-2
27
9
78
-1
0
0
0
0
0
0
0
0
-1
-14
0
4
0
-26
-29
12
-2
0
0
0
0
0
0
0
-2
0
-13
0
0
-13
28
1
-11
6
0
0
0
0
0
0
0
0
-22
-24
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
4
7
-23
0
-19
0
0
0
0
0
0
0
0
-2
0
0
0
-16
22
-2
-52
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
-86
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
95
-7
-42
0
0
0
0
0
0
0
0
-13
-3
0
-6
0
41
3
62
0
0
0
0
0
0
0
0
0
0
39
0
1
9
0
25
-4
4
0
0
0
0
0
0
0
0
-1
0
-2
6
0
-9
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
2
-7
-31
48
7
0
0
0
0
0
0
0
0
0
0
0
6
56
-21
-6
-25
23
0
0
0
0
0
0
0
0
0
0
1
-5
-6
-4
59
22
0
1
0
0
0
0
0
0
0
6
0
0
0
-35
-64
-23
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
18
8
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
-3
-7
0
-8
-4
0
0
0
0
0
0
0
0
0
0
-1
-9
42
-6
78
-4
0
0
0
0
0
0
0
0
-3
0
0
-1
12
-48
-8
16
-1
0
0
0
0
0
0
0
0
0
0
0
-6
10
-5
-9
-4
28
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
1
0
0
0
0
-2
0
-3
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
37
0
0
0
0
0
0
0
0
0
0
45
0
1
5
28
-91
20
-40
-25
0
0
0
0
0
0
0
0
2
0
0
-3
-11
-3
109
-41
43
0
0
0
0
0
0
0
0
-13
-1
-6
50
3
-2
19
-48
28
0
0
0
0
0
0
0
0
-1
-16
2
-13
-22
-19
6
1
157
0
0
0
0
0
0
0
0
21
3
-13
3
17
4
-11
70
-6
0
0
0
0
0
0
0
0
0
0
-4
4
-59
2
-108
8
-13
0
0
0
0
0
0
0
0
0
-2
3
38
8
-7
-2
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
10
4
50
139
113
0
-29
0
0
0
0
0
0
0
0
-25
-2
-5
64
-24
61
-86
9
28
0
0
0
0
0
0
0
0
39
4
-7
8
122
92
-54
-135
-29
0
0
0
0
0
0
0
-6
-12
35
-8
39
92
-52
16
107
74
0
0
0
0
0
0
0
0
-1
-35
28
-178
42
-10
-21
98
-1
0
0
0
0
0
0
0
12
72
-41
12
27
8
47
58
-34
80
0
0
0
0
0
0
0
-7
0
49
27
20
86
95
-76
-18
-22
0
0
0
0
0
0
0
0
0
-26
35
3
105
-23
-9
-17
6
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
8
-23
10
6
30
166
0
-24
13
0
0
0
0
0
0
-4
-7
-10
-4
-38
-13
54
-20
-45
73
35
0
0
0
0
0
0
0
37
4
-2
12
-53
-35
-19
-32
62
-2
0
0
0
0
0
0
0
6
4
64
-2
54
33
17
67
-51
4
0
0
0
0
0
0
0
-6
-1
38
1
122
-137
-38
-17
3
0
0
0
0
0
0
0
-10
17
-2
80
79
14
17
-35
68
25
-6
0
0
0
0
0
0
4
16
0
-43
-20
-91
-18
-33
7
10
0
0
0
0
0
0
0
0
0
0
6
-1
7
61
-58
21
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
5
0
0
0
0
0
0
0
0
0
0
0
-1
1
-9
-1
-30
54
0
107
1
0
0
0
0
0
0
0
5
0
-3
60
-63
2
55
-7
61
-41
0
0
0
0
0
0
0
-1
0
-4
0
-77
101
-48
14
1
1
0
0
0
0
0
0
0
-16
0
1
22
-37
-12
173
129
-77
-1
0
0
0
0
0
0
0
8
-1
89
27
10
71
-26
30
35
0
0
0
0
0
0
0
0
-4
11
43
17
-2
107
-9
-4
6
0
0
0
0
0
0
0
0
-7
-32
0
3
-2
-103
4
2
-7
0
0
0
0
0
0
0
0
11
0
-1
0
-12
3
-16
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
-4
-4
3
2
0
50
-2
0
0
0
0
0
0
0
0
0
0
-1
19
44
-47
-1
12
-45
0
0
0
0
0
0
0
0
0
1
10
-6
61
-9
64
-48
3
0
0
0
0
0
0
0
-9
0
0
-6
4
-22
151
-26
102
2
0
0
0
0
0
0
0
0
0
0
-7
-6
29
-25
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
8
4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
1
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-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
-60
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-21
-23
-43
-34
0
0
0
0
0
0
0
0
0
0
0
0
-1
72
-2
11
0
0
0
0
0
0
0
0
0
0
-4
0
0
34
8
5
24
-79
0
0
0
0
0
0
0
0
0
0
0
4
18
-3
14
123
0
0
0
0
0
0
0
0
0
0
0
0
-19
-11
0
77
1
8
0
0
0
0
0
0
0
0
2
0
0
0
0
35
0
9
0
0
0
0
0
0
0
0
0
0
0
6
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
-13
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
5
21
6
37
0
0
0
0
0
0
0
0
0
0
2
0
0
64
-14
-35
0
0
0
0
0
0
0
0
0
0
0
6
0
8
-4
59
5
9
0
0
0
0
0
0
0
0
66
-2
4
-9
13
-2
-10
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
-15
-1
3
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
2
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
14
0
0
14
0
0
0
0
0
0
0
0
6
0
1
-1
-9
-12
-39
-81
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
33
0
4
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-21
5
-2
0
0
0
0
0
0
0
0
2
0
0
-2
-1
37
-1
16
-1
0
0
0
0
0
0
0
0
0
0
1
0
9
-3
27
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
35
-8
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
15
53
0
-9
0
0
0
0
0
0
0
0
-21
0
0
0
-5
-17
0
17
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-4
-4
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-8
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
-31
0
0
0
0
0
0
0
0
0
-17
0
0
-2
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
-12
0
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-13
24
50
0
0
0
0
0
0
0
0
-18
0
0
0
122
16
-48
-18
-79
0
0
0
0
0
0
0
0
3
-2
-3
44
-35
-98
15
1
-6
0
0
0
0
0
0
0
0
34
-3
0
-10
-131
64
-3
-7
-14
0
0
0
0
0
0
0
0
33
14
-10
-52
-15
-25
-15
-39
-13
0
0
0
0
0
0
0
0
-1
15
-59
-12
73
-19
-63
7
23
0
0
0
0
0
0
0
0
0
-1
-1
-82
10
23
-5
34
0
0
0
0
0
0
0
0
0
-6
-2
0
0
49
0
-12
0
7
0
0
0
0
0
0
0
0
0
0
-10
11
-22
-30
-51
53
0
2
0
0
0
0
0
0
0
0
50
6
6
44
61
-38
-79
35
17
0
0
0
0
0
0
0
0
-96
-1
0
87
-13
-58
-58
-36
7
0
0
0
0
0
0
0
-1
5
0
-95
-12
74
149
83
-48
-24
0
0
0
0
0
0
0
-1
41
1
-52
-65
55
-29
-39
-88
-82
0
0
0
0
0
0
0
4
-42
-49
48
49
23
-70
84
24
29
0
0
0
0
0
0
0
-4
2
33
69
148
9
-39
-16
84
0
0
0
0
0
0
0
0
0
0
7
5
-8
39
-15
82
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-42
3
0
-48
0
0
0
0
0
0
0
0
0
-7
0
-9
-4
62
-91
-22
-16
10
0
0
0
0
0
0
0
0
6
0
20
79
31
-32
38
-30
2
0
0
0
0
0
0
0
5
0
-2
62
-55
-50
-25
41
48
-12
0
0
0
0
0
0
0
0
7
-14
32
7
-2
38
12
-11
16
0
0
0
0
0
0
0
28
48
61
76
-91
-16
-41
8
11
0
0
0
0
0
0
0
-1
-1
-5
0
97
-39
107
2
1
3
0
0
0
0
0
0
0
0
0
0
29
-6
78
-5
2
3
1
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
-1
17
-1
0
58
0
0
0
0
0
0
0
0
0
-2
0
0
69
-13
-55
-13
28
15
0
0
0
0
0
0
0
0
0
0
-3
13
-70
-30
-29
68
1
0
0
0
0
0
0
0
-7
0
0
0
8
18
-150
-39
-119
-1
0
0
0
0
0
0
0
-6
0
-5
9
0
-7
3
-52
9
0
0
0
0
0
0
0
0
0
-5
0
11
-4
49
24
14
15
0
0
0
0
0
0
0
0
0
5
29
-54
-12
42
-5
3
0
-1
0
0
0
0
0
0
0
-4
-7
0
8
31
-13
2
15
-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
-10
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
30
0
16
5
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
84
2
-136
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
15
2
11
-2
0
0
0
0
0
0
0
0
0
2
-5
-15
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
-11
0
10
5
37
12
0
0
0
0
0
0
0
0
0
-4
0
13
11
-1
-26
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
49
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
-5
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-11
0
0
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
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
-2
0
2
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
10
-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
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
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
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
4
34
10
-20
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-5
-44
45
-18
0
0
0
0
0
0
0
0
13
0
0
16
1
61
-25
-86
-23
0
0
0
0
0
0
0
0
5
4
4
0
20
-14
15
14
-67
0
0
0
0
0
0
0
0
45
21
-42
31
-4
14
5
99
0
0
0
0
0
0
0
0
0
-11
0
0
1
1
49
-60
-13
13
0
0
0
0
0
0
0
0
0
0
51
45
-10
14
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
16
34
55
0
1
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-13
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-30
-44
4
3
0
0
0
0
0
0
0
0
1
0
-13
2
-13
8
63
14
4
0
0
0
0
0
0
0
-5
0
-2
0
1
9
-7
1
-20
0
0
0
0
0
0
0
0
0
0
4
-52
-5
68
-33
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-47
-20
-31
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
0
0
14
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
-5
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
32
2
-45
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
1
7
-5
0
0
0
0
0
0
0
0
0
0
0
-6
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
17
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
42
2
-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
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-1
-25
5
0
0
0
0
0
0
0
0
0
0
0
0
13
9
-8
-9
-7
-47
-2
0
0
0
0
0
0
0
0
0
-16
-1
49
17
5
-31
-76
5
0
0
0
0
0
0
0
0
0
-1
0
-23
-41
-83
24
95
48
0
0
0
0
0
0
0
0
0
0
0
0
-22
-74
-81
-30
-9
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
-99
-16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-2
-25
-30
37
-15
0
0
0
0
0
0
0
0
0
0
0
103
-35
98
-122
17
134
0
0
0
0
0
0
0
0
0
0
0
17
23
-95
-35
-94
169
-71
-44
-19
0
0
0
0
0
0
0
0
-136
21
-153
-75
-50
-65
-81
70
-115
0
0
0
0
0
0
0
0
-38
-18
-55
57
-79
-2
-50
-143
-21
0
0
0
0
0
0
0
0
-3
-1
1
-8
5
-20
-22
-41
-31
0
0
0
0
0
0
0
0
0
0
41
73
18
-24
0
-24
14
0
0
0
0
0
0
0
0
0
0
16
41
-8
131
123
-96
-77
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
35
-8
80
72
0
0
0
0
0
0
0
0
0
0
0
-11
28
-128
15
-99
-111
0
0
0
13
0
0
0
0
0
0
0
-54
-5
-49
-79
93
49
-111
-12
-60
14
0
0
0
0
0
0
0
-70
-95
-3
-123
-43
-48
-18
40
-50
23
0
0
0
0
0
0
0
3
-120
-28
-13
18
-58
-44
-52
4
-79
0
0
0
0
0
0
0
-36
19
-21
-66
-13
4
-145
-41
-49
-5
0
0
0
0
0
0
0
0
-23
109
-33
39
-54
-72
29
-73
17
0
0
0
0
0
0
0
0
-7
-86
41
-59
3
90
-45
-98
12
0
0
0
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
6
30
0
0
0
-2
0
0
0
0
0
0
0
0
-36
-23
67
29
0
0
0
0
17
-2
0
0
0
0
0
0
0
-58
10
-3
-64
-5
-23
-49
85
23
-1
0
0
0
0
0
0
-13
1
-87
47
96
-6
-14
8
43
-26
0
0
0
0
0
0
0
0
-31
-11
-9
50
-71
33
-75
-13
-17
0
0
0
0
0
0
0
0
0
-25
-137
101
-22
-9
-36
-28
48
0
0
0
0
0
0
0
0
0
-2
15
2
-15
-131
-30
-12
-22
0
0
0
0
0
0
0
0
0
8
29
18
-22
1
30
-23
15
0
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
-58
0
-25
-45
0
0
0
0
0
0
0
0
0
0
0
-32
-80
42
41
-105
5
0
0
0
-6
-5
0
0
0
0
0
0
0
-11
-2
-66
18
23
-104
48
-100
0
0
0
0
0
0
0
0
0
2
127
-57
-5
45
-37
-4
-138
1
0
0
0
0
0
0
0
0
14
3
-81
-58
0
-157
-6
-45
-6
0
0
0
0
0
0
0
0
0
-10
-96
-72
133
80
-25
-38
-4
0
0
0
0
0
0
0
0
10
-2
48
-45
-74
-80
-28
-92
-31
0
0
0
0
0
0
0
0
0
-17
-29
-8
4
-77
73
-88
-1
1
0
0
0
0
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
0
0
0
0
0
0
2
29
6
-4
20
0
0
0
6
0
0
0
0
0
0
0
0
8
3
2
1
0
28
-22
-32
3
0
0
0
0
0
0
0
0
0
7
42
-9
-32
-79
-24
92
5
0
0
0
0
0
0
0
0
0
-9
18
18
23
-14
4
-32
-7
0
0
0
0
0
0
0
0
0
3
1
11
-102
8
-12
-159
-4
0
0
0
0
0
0
0
0
0
0
0
-3
6
2
73
-76
4
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
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-35
19
-2
0
-3
-6
-7
0
0
0
0
0
0
0
0
0
0
-8
0
-5
20
16
-18
-1
0
0
0
0
0
0
0
0
0
0
1
1
0
-5
22
-9
-14
-5
0
0
0
0
0
0
0
0
0
0
5
0
14
21
4
-22
0
0
0
0
0
0
0
0
0
0
0
-9
-22
0
-5
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
26
15
4
0
0
0
0
0
0
0
0
0
0
0
4
-55
57
-37
45
13
0
0
0
0
0
0
0
0
0
0
0
-20
110
-29
50
23
59
37
-153
0
0
0
0
0
0
0
0
0
4
2
-16
-107
-60
40
-89
-81
0
0
0
0
0
0
0
0
0
1
25
-19
3
-45
-96
-11
-61
0
0
0
0
0
0
0
0
0
0
0
0
98
-8
-64
-52
25
0
0
0
0
0
0
0
0
0
0
0
-11
-19
56
51
22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-42
-19
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
-41
0
0
0
0
0
0
0
0
5
-32
-46
52
-35
-98
-2
0
0
0
0
0
0
0
0
0
0
-22
-14
-114
-70
-28
-148
-32
0
0
0
0
0
0
0
0
0
0
8
15
16
-42
-12
-67
-45
85
103
39
0
0
0
0
0
0
0
0
35
-20
9
-2
29
7
-18
94
68
0
0
0
0
0
0
0
0
10
65
39
54
44
-32
-98
-63
38
0
0
0
0
0
0
0
-1
18
-75
-20
19
-33
-45
-146
-94
-76
0
0
0
0
0
0
0
0
0
10
-17
80
96
52
-7
-80
8
0
0
0
0
0
0
0
0
0
0
0
26
-9
-91
85
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
-90
-3
0
0
0
0
0
0
0
0
0
-19
39
0
-100
22
0
0
0
13
0
0
0
0
0
0
0
-12
-11
-52
-54
-47
-181
0
0
0
-8
0
0
0
0
0
0
0
10
23
31
4
18
64
-34
36
-70
-9
0
0
0
0
0
0
0
3
50
33
44
25
-17
96
-22
23
-10
0
0
0
0
0
0
0
-12
-62
9
-143
-5
-11
-156
27
18
2
0
0
0
0
0
0
0
-11
-61
2
-88
-54
-57
-41
33
-64
-69
0
0
0
0
0
0
0
1
-24
38
68
-61
-100
30
-72
25
7
0
0
0
0
0
0
0
0
0
11
73
-170
-36
-3
-26
49
3
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-9
-41
-1
0
0
0
0
0
0
0
0
-8
-51
-67
9
87
0
0
0
9
0
0
0
0
0
0
0
2
-28
9
26
-61
-55
0
0
0
128
-3
0
0
0
0
0
0
-58
-63
73
-85
-18
43
27
-69
1
-96
-5
0
0
0
0
0
0
-22
-18
-34
1
-3
-44
-2
-115
87
-31
-1
0
0
0
0
0
0
-12
21
12
-51
-63
132
-59
-57
-60
7
-9
0
0
0
0
0
0
0
57
-1
17
-24
116
-88
-10
98
10
-6
0
0
0
0
0
0
0
0
10
11
-8
60
-109
-140
-53
22
-1
0
0
0
0
0
0
0
0
0
3
9
4
-60
-56
-108
-52
0
0
0
0
0
0
0
0
0
0
0
-19
0
10
-10
23
2
0
0
0
0
0
0
0
0
10
25
46
22
16
0
0
0
0
-1
0
0
0
0
0
0
0
6
-130
70
84
-72
0
0
0
-15
11
0
0
0
0
0
0
11
-10
26
108
75
102
-73
-40
-17
-4
-9
0
0
0
0
0
0
0
48
12
69
39
82
-27
-30
-3
-2
-2
0
0
0
0
0
0
0
41
-123
70
50
-57
-41
-123
67
10
-3
0
0
0
0
0
0
0
0
-2
-38
-32
-91
-81
21
-58
6
-2
0
0
0
0
0
0
0
0
0
8
4
92
18
-191
15
-26
-6
0
0
0
0
0
0
0
0
0
-1
0
2
-54
64
72
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
6
0
0
0
0
0
0
0
0
0
-3
13
19
-1
0
0
0
1
0
0
0
0
0
0
0
0
-5
-7
17
13
-63
0
0
0
-32
0
0
0
0
0
0
0
0
-15
-46
-23
-50
3
25
-110
40
-8
0
0
0
0
0
0
0
0
2
-5
61
-20
-159
16
-15
-41
26
0
0
0
0
0
0
0
0
0
4
-26
-8
-37
-23
11
-188
-15
0
0
0
0
0
0
0
0
1
-17
-33
2
59
21
58
-90
-1
0
0
0
0
0
0
0
0
0
2
-5
32
4
17
7
26
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
60
-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
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
26
0
-17
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
32
0
-21
-4
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-25
-4
12
11
1
0
0
0
0
0
0
0
0
2
-3
15
22
-33
42
26
1
0
0
0
0
0
0
0
0
0
0
11
4
18
-4
-33
-16
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
38
5
16
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
-4
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
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
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
-13
-60
-84
22
-14
-8
0
0
0
0
0
0
0
0
0
0
0
-2
45
43
-61
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-5
110
-165
131
-33
-19
48
-126
0
0
0
0
0
0
0
0
0
0
7
-81
55
51
39
53
-186
0
0
0
0
0
0
0
0
0
-12
5
6
-11
-25
-59
90
-95
0
0
0
0
0
0
0
0
0
0
0
0
-1
65
-57
-69
-53
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
19
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
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
-12
-71
-99
66
-36
66
-17
0
0
0
0
0
0
0
0
0
0
-3
-107
-44
-60
46
-14
-78
0
0
0
0
0
0
0
0
0
0
0
8
31
48
-129
-105
-40
-9
39
60
0
0
0
0
0
0
0
-2
-15
34
-3
54
-35
61
-42
14
-19
0
0
0
0
0
0
0
0
4
-18
132
48
33
-20
-114
-159
1
0
0
0
0
0
0
0
-7
-4
40
-15
-24
104
39
-31
-83
-25
0
0
0
0
0
0
0
0
0
0
-37
-19
-17
-20
-2
60
54
0
0
0
0
0
0
0
0
0
0
2
-18
92
21
-53
-43
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-14
0
0
0
0
0
0
0
0
-25
18
-8
2
-56
23
0
0
0
-5
0
0
0
0
0
0
0
-1
-23
12
-70
-77
-14
0
0
0
1
0
0
0
0
0
0
0
0
-7
42
37
-47
94
-25
-3
4
2
0
0
0
0
0
0
0
-3
7
2
97
-76
-51
44
-147
-50
-45
0
0
0
0
0
0
0
-3
-22
-97
-34
-58
-39
-75
-44
-8
-11
0
0
0
0
0
0
0
1
0
60
7
16
41
-14
34
7
-2
0
0
0
0
0
0
0
0
0
8
-55
-5
-28
-75
1
-35
43
0
0
0
0
0
0
0
0
0
0
26
27
3
4
-76
-143
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-28
24
0
0
0
0
0
0
0
0
0
-38
-3
-72
31
25
0
0
0
6
-2
0
0
0
0
0
0
-12
-39
-28
-60
-66
28
0
0
0
38
-20
0
0
0
0
0
0
18
-5
-14
-86
103
18
-114
50
-34
41
1
0
0
0
0
0
0
-15
87
41
8
17
-103
-9
-123
-41
21
0
0
0
0
0
0
0
2
-50
2
20
-15
34
-6
69
-69
-18
-1
0
0
0
0
0
0
0
-47
-60
-19
-152
9
-82
-81
-125
-14
0
0
0
0
0
0
0
0
0
0
-3
-22
19
13
-118
28
-13
0
0
0
0
0
0
0
0
0
0
0
-10
4
-27
65
30
-88
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
-10
-37
-13
-52
-48
0
0
0
0
8
0
0
0
0
0
0
0
7
-47
-73
44
-11
0
0
0
-2
4
0
0
0
0
0
0
4
20
-57
33
30
24
-11
-9
-48
-6
6
0
0
0
0
0
0
6
6
-25
46
16
-75
15
-37
-48
-7
0
0
0
0
0
0
0
0
2
-8
-41
-23
-234
28
110
-42
-1
-2
0
0
0
0
0
0
0
0
-43
19
-84
36
72
9
-47
-1
16
0
0
0
0
0
0
0
0
-2
-14
0
-14
152
23
-76
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-26
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
5
-4
-3
1
2
0
0
0
7
0
0
0
0
0
0
0
0
-28
27
52
-8
21
0
0
0
-20
2
0
0
0
0
0
0
0
0
-17
-2
18
-39
-47
22
-86
-12
1
0
0
0
0
0
0
1
-11
-4
17
41
29
-26
-25
-26
-19
-1
0
0
0
0
0
0
0
0
4
-14
-29
-128
-5
15
40
-8
0
0
0
0
0
0
0
0
0
-6
7
-1
-40
-9
-16
43
-37
2
0
0
0
0
0
0
0
0
0
0
0
-5
-54
-7
11
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
2
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
-4
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
19
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
24
5
3
-1
-22
-26
2
2
0
0
0
0
0
0
0
6
0
0
-3
6
9
-16
-11
-2
0
0
0
0
0
0
0
0
0
0
0
9
-4
82
8
24
-3
0
0
0
0
0
0
0
0
0
0
2
-21
6
-4
-3
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
-18
-3
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
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
-5
-1
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
0
0
0
0
0
0
0
-6
0
-5
13
0
-1
0
0
0
0
0
0
0
0
0
0
-3
7
5
-19
7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-16
23
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
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
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
19
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
0
32
-8
2
0
0
0
0
0
0
0
0
-4
0
0
4
-17
13
-10
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
45
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
3
-60
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-33
63
-29
-18
26
0
0
0
0
0
0
0
0
0
0
0
15
-6
67
40
-29
-10
0
-30
0
0
0
0
0
0
0
0
0
-5
0
66
74
-11
51
-5
-15
0
0
0
0
0
0
0
0
0
0
0
5
-6
49
-20
-12
-66
0
0
0
0
0
0
0
0
0
0
0
-1
-25
29
36
-28
102
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-84
-73
-29
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
27
14
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
2
40
-13
-7
-122
52
0
0
0
0
0
0
0
0
0
0
-9
55
11
24
-101
-116
56
0
0
0
0
0
0
0
0
0
0
0
21
-27
-46
57
-85
-25
37
-56
-42
0
0
0
0
0
0
0
0
-33
26
-96
-68
-88
-103
80
-3
-13
0
0
0
0
0
0
0
0
5
36
-36
-67
-31
-76
-36
54
20
0
0
0
0
0
0
0
0
0
22
37
74
-77
-134
-10
-32
-92
0
0
0
0
0
0
0
0
0
22
-4
-26
-12
-132
-29
-4
-51
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-82
10
-46
-121
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
65
-1
0
0
0
0
0
0
0
0
-1
-65
-69
-46
-125
-41
0
0
0
0
0
0
0
0
0
0
0
-11
-28
-15
26
-54
6
0
0
0
-22
0
0
0
0
0
0
0
-15
70
44
26
-44
-129
-23
45
92
-15
0
0
0
0
0
0
0
0
0
19
45
-15
40
-32
93
28
50
0
0
0
0
0
0
0
0
-23
65
23
-44
-7
-156
-22
37
4
0
0
0
0
0
0
0
8
4
-19
-40
-15
-15
-9
-5
14
-14
0
0
0
0
0
0
0
0
2
4
-78
37
19
-97
-73
27
-15
0
0
0
0
0
0
0
0
0
-1
2
-28
-54
-63
56
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-59
2
0
0
0
0
0
0
0
0
-10
6
54
-189
-130
-19
0
0
0
5
0
0
0
0
0
0
0
-42
-1
141
22
47
-30
0
0
0
38
5
0
0
0
0
0
-14
1
7
-53
3
-91
36
-43
-18
8
6
0
0
0
0
0
0
4
25
0
-1
-39
40
11
-9
-51
-47
-21
0
0
0
0
0
0
0
0
1
0
-5
-50
9
11
3
9
8
-3
0
0
0
0
0
0
0
0
4
36
5
15
-51
141
-25
-28
0
0
0
0
0
0
0
0
0
0
1
25
1
27
61
-59
0
0
0
0
0
0
0
0
0
0
1
0
0
10
-7
86
39
-7
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
21
11
-70
74
24
0
0
0
0
2
0
0
0
0
0
0
0
-6
-79
95
-36
103
0
0
0
-4
3
0
0
0
0
0
0
5
-14
-61
27
39
14
64
36
58
-6
-13
0
0
0
0
0
0
3
-10
20
-23
103
8
65
-14
3
1
2
0
0
0
0
0
0
0
3
23
-27
26
122
32
82
-27
1
0
0
0
0
0
0
0
0
13
2
19
19
7
24
-10
-25
-8
0
0
0
0
0
0
0
0
0
-14
0
-3
74
-33
21
6
2
0
0
0
0
0
0
0
0
0
0
0
12
13
42
-75
-67
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
-12
-39
1
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-42
-79
76
22
0
0
0
-49
0
0
0
0
0
0
0
0
29
13
52
78
-1
-59
25
33
1
0
0
0
0
0
0
0
0
0
-23
-1
0
-186
-77
96
-90
21
0
0
0
0
0
0
0
0
-6
0
-4
-40
-80
11
-52
-49
11
0
0
0
0
0
0
0
0
0
0
0
1
-41
69
24
6
-2
-4
0
0
0
0
0
0
0
0
0
-1
-1
-10
-8
5
57
3
1
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
-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
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-14
-1
2
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
0
-5
1
-6
19
0
-6
0
0
0
0
0
0
0
3
0
11
1
0
-32
-68
-27
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
-28
22
-23
-6
0
0
0
0
0
0
0
0
0
0
-8
-14
-1
-53
-8
9
1
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
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
-4
-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
0
0
0
0
0
0
0
0
0
0
-2
0
-27
1
-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
-6
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
-5
9
2
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-20
4
21
-22
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
5
-9
-3
9
2
0
0
0
0
0
0
0
0
0
-2
-9
4
-40
22
-3
2
14
0
0
0
0
0
0
0
0
-1
-1
2
-19
8
6
1
-142
-2
0
0
0
0
0
0
0
0
0
0
3
0
1
4
-32
-48
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-24
11
6
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
17
0
0
0
0
0
0
0
0
0
0
0
-7
-32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
34
-2
-4
0
0
0
-2
0
0
0
0
0
0
0
0
2
-23
22
7
-8
2
-14
-21
0
0
0
0
0
0
0
0
0
-5
0
-57
-17
-62
-17
-45
-3
-6
0
0
0
0
0
0
0
0
6
-1
10
0
-1
33
-18
172
0
0
0
0
0
0
0
0
0
0
-14
6
2
83
15
-97
79
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
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
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
6
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
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
26
1
-2
0
0
-2
0
0
0
0
0
0
0
0
0
-10
0
37
-4
-18
-3
0
40
0
0
0
0
0
0
0
0
0
0
0
13
20
60
-62
38
-4
0
0
0
0
0
0
0
0
0
0
0
0
39
-55
28
-103
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
46
-35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
22
80
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
1
23
21
18
-53
0
0
0
0
0
0
0
0
0
0
0
-32
-3
-37
-122
28
-48
0
0
0
0
0
0
0
0
0
0
0
-40
-13
-12
3
-99
-38
-47
30
-79
0
0
0
0
0
0
0
0
15
-6
82
-58
-30
147
7
-72
18
0
0
0
0
0
0
0
0
0
13
-15
25
24
41
55
-22
-143
0
0
0
0
0
0
0
0
-1
-6
-250
57
12
-52
-158
77
-17
0
0
0
0
0
0
0
0
0
-25
-18
0
-79
-84
-111
-63
-62
0
0
0
0
0
0
0
0
0
-14
17
-18
-29
17
104
-21
25
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
4
53
-6
0
0
0
0
0
0
0
0
12
-15
-33
-13
22
2
0
0
0
8
0
0
0
0
0
0
0
-20
36
-10
-68
117
52
0
0
0
20
0
0
0
0
0
0
0
-23
-90
49
-48
10
-161
80
23
-19
4
0
0
0
0
0
0
0
0
-12
38
46
-8
22
78
65
94
-8
0
0
0
0
0
0
0
0
0
-90
-162
-50
-25
17
-19
25
0
0
0
0
0
0
0
0
2
61
45
14
-101
-36
-57
-95
5
-20
0
0
0
0
0
0
0
2
0
15
-140
20
-142
-81
36
-96
40
0
0
0
0
0
0
0
0
0
0
-24
-92
-2
20
21
-66
16
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-125
-43
0
0
0
0
0
0
0
0
0
-3
7
-93
68
10
0
0
0
7
0
0
0
0
0
0
0
1
16
81
-75
18
9
0
0
0
11
0
0
0
0
0
0
0
0
13
8
56
-51
37
4
33
6
2
0
0
0
0
0
0
0
0
29
63
36
-20
-82
25
11
-106
-18
0
0
0
0
0
0
0
-28
-1
0
-9
-161
-103
-43
74
-21
-21
0
0
0
0
0
0
0
-2
10
-7
44
-86
-90
-23
52
84
-80
17
0
0
0
0
0
0
0
1
0
10
-170
-111
-16
34
0
-33
-1
0
0
0
0
0
0
0
0
0
-17
23
-10
17
-23
22
129
1
0
0
0
0
0
0
0
0
0
0
0
1
-50
-1
-20
-7
0
0
0
0
0
0
0
0
3
27
-67
-17
1
0
0
0
-1
0
0
0
0
0
0
0
-7
18
36
-143
-99
-30
0
0
0
0
0
0
0
0
0
0
0
7
30
65
26
51
50
65
-13
-63
6
-2
0
0
0
0
0
0
0
14
25
2
-6
-95
82
-76
100
-4
0
0
0
0
0
0
0
0
0
10
0
22
-61
-106
-66
-168
5
-1
0
0
0
0
0
0
0
8
0
3
-35
95
-14
0
80
1
0
0
0
0
0
0
0
0
0
0
9
55
-72
58
-10
-50
-33
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-15
34
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
-3
0
0
0
0
0
0
0
0
0
0
12
11
-6
5
0
0
0
-6
0
0
0
0
0
0
0
-20
1
50
3
33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
11
8
7
-8
24
-33
4
1
0
0
0
0
0
0
0
-6
8
-1
-30
-11
-29
49
5
13
1
0
0
0
0
0
0
0
-25
2
0
0
63
-22
-46
68
-23
-2
0
0
0
0
0
0
0
2
-1
-25
-26
16
-68
-33
32
-25
0
0
0
0
0
0
0
0
0
-2
4
-1
-42
-21
-42
-87
-13
-1
0
0
0
0
0
0
0
0
0
19
6
-10
57
2
48
1
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
-5
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
2
0
0
0
0
0
0
0
0
22
-18
12
-3
-7
-8
29
0
-2
0
0
0
0
0
0
0
0
0
8
10
11
12
-14
-3
-1
0
0
0
0
0
0
0
0
0
3
-2
-5
0
90
-24
-33
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
3
1
-79
44
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-20
-31
31
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
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
-4
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
4
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
-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
1
0
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-21
-7
-77
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
27
2
4
3
-14
-29
0
0
0
0
0
0
0
0
1
-2
-54
-10
-4
76
-50
13
-39
0
0
0
0
0
0
0
0
1
2
-4
4
27
-63
117
0
2
0
0
0
0
0
0
0
0
0
0
-3
1
-113
-37
63
-22
3
0
0
0
0
0
0
0
0
0
0
0
14
16
-13
-54
-24
31
0
0
0
0
0
0
0
0
0
0
-4
1
7
6
3
-37
60
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
-9
8
-70
-10
0
0
0
0
0
0
0
0
0
0
0
0
-11
16
17
-10
-51
9
0
0
0
-4
0
0
0
0
0
0
0
0
14
-17
89
-28
-9
0
0
4
2
0
0
0
0
0
0
0
0
4
-5
-3
-72
6
-13
-61
-26
-1
0
0
0
0
0
0
0
0
-12
-19
77
37
49
-42
30
0
-5
0
0
0
0
0
0
0
0
0
-3
-14
-57
-30
-62
44
-77
0
0
0
0
0
0
0
0
0
0
2
3
-28
27
-15
39
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-40
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
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
-1
3
5
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
-4
4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-15
-11
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
-7
4
-12
-55
33
-28
0
0
0
0
0
0
0
0
0
0
0
5
-7
2
100
24
-18
0
0
0
0
0
0
0
0
0
0
0
0
4
-104
-82
4
61
0
0
0
0
0
0
0
0
0
0
-2
0
0
-48
42
-42
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-6
0
0
0
0
0
0
0
0
0
0
-33
14
-23
21
5
0
0
0
0
0
0
0
0
0
0
0
-21
16
5
-36
102
-16
0
0
0
0
0
0
0
0
0
0
0
0
117
-18
90
-11
49
-8
-18
-28
0
0
0
0
0
0
0
0
-20
-77
-88
-73
-27
-97
-64
90
52
0
0
0
0
0
0
0
0
0
12
-15
-104
-1
-23
36
-120
-43
0
0
0
0
0
0
0
0
0
13
-32
22
-23
36
9
-49
-102
0
0
0
0
0
0
0
0
-13
-1
-66
3
-137
-31
-44
-110
16
0
0
0
0
0
0
0
0
0
-2
0
-41
-48
78
76
-26
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-83
5
0
0
0
0
0
0
0
0
0
48
-90
-20
-43
31
0
0
0
2
0
0
0
0
0
0
0
0
-33
-23
-10
-108
-7
0
0
0
-6
0
0
0
0
0
0
0
-4
-36
1
82
-14
-175
-2
24
61
5
0
0
0
0
0
0
0
-48
-13
-10
-89
-25
-12
99
5
-14
1
0
0
0
0
0
0
0
11
-35
-194
-51
-83
-99
20
75
17
2
0
0
0
0
0
0
0
14
0
-10
9
18
-74
-15
-76
-66
14
0
0
0
0
0
0
0
0
-17
-54
54
28
11
-13
-152
-87
-35
0
0
0
0
0
0
0
0
0
0
10
60
-4
-163
-4
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
37
49
0
0
0
0
0
0
0
0
0
-5
13
-31
-4
-8
0
0
0
41
0
0
0
0
0
0
0
1
8
-43
-11
45
5
0
0
0
-6
0
0
0
0
0
0
0
-20
-10
6
20
-32
-26
16
36
41
0
0
0
0
0
0
0
0
0
-19
10
-101
54
-80
64
-127
-25
19
0
0
0
0
0
0
0
0
10
18
-40
56
-46
93
-123
2
26
0
0
0
0
0
0
0
-6
-2
0
35
-164
22
-38
51
-38
-39
-4
0
0
0
0
0
0
1
0
-3
4
-5
23
183
-64
-19
-47
-8
0
0
0
0
0
0
0
0
0
0
-2
17
-73
11
-42
-5
8
0
0
0
0
0
0
0
0
0
0
0
-2
-25
67
2
-16
0
0
0
0
0
0
0
0
-44
21
-19
65
22
0
0
0
0
0
0
0
0
0
0
0
0
55
-58
5
114
42
0
0
0
2
0
0
0
0
0
0
0
-3
0
-11
-153
-29
2
-21
57
-26
0
4
0
0
0
0
0
0
0
0
46
12
11
93
6
28
-49
3
0
0
0
0
0
0
0
0
10
-5
43
100
-152
65
-20
-168
0
2
0
0
0
0
0
0
0
8
33
0
4
7
41
92
-26
0
-2
0
0
0
0
0
0
0
-12
-16
-14
43
50
-65
-122
-70
0
0
0
0
0
0
0
0
0
0
0
-16
0
-35
59
59
-6
-5
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
1
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
8
4
84
12
2
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
18
-35
-15
37
-2
0
16
-3
0
0
0
0
0
0
0
0
0
5
-20
-10
-3
-12
50
28
-1
0
0
0
0
0
0
0
0
-3
16
22
27
-37
-28
-163
-19
-1
0
0
0
0
0
0
0
0
-13
-24
-10
0
69
-12
77
26
-13
0
0
0
0
0
0
0
0
0
-7
0
0
-11
-23
21
-71
11
1
0
0
0
0
0
0
0
0
0
0
0
0
49
61
-15
-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
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-54
-9
0
0
0
0
10
-2
0
0
0
0
0
0
0
0
0
-10
-1
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
8
-16
14
0
-29
3
0
-3
0
0
0
0
0
0
0
0
0
-11
1
0
15
-16
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
93
-6
-74
32
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
33
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-5
0
0
0
-2
0
0
0
0
0
0
0
0
1
-20
2
-12
1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-50
3
-16
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
5
-2
-13
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
4
0
23
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
9
38
17
11
-7
0
0
0
0
0
0
0
0
0
0
0
-16
-57
84
4
-40
33
21
-8
2
0
0
0
0
0
0
0
0
9
1
-20
34
-69
21
-164
-21
-40
0
0
0
0
0
0
0
0
1
-18
-100
-105
-8
-68
-80
39
-51
0
0
0
0
0
0
0
0
1
14
1
15
38
20
-47
0
-125
0
0
0
0
0
0
0
0
0
0
-2
41
-2
-87
-23
-77
75
0
0
0
0
0
0
0
0
0
0
0
5
8
29
-39
-30
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
76
0
0
0
0
0
0
0
0
0
0
-41
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-18
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
-24
-37
-20
-3
-1
-3
1
0
0
0
0
0
0
0
0
17
33
39
-14
-33
-25
-53
9
-8
0
0
0
0
0
0
0
0
0
-6
22
-3
-100
-16
-92
-55
0
0
0
0
0
0
0
0
0
-1
0
-14
-9
110
-56
-20
0
18
0
0
0
0
0
0
0
0
0
0
2
1
18
-23
-54
-47
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-20
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
0
0
0
0
0
0
0
0
0
0
0
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
0
1
2
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
1
0
-8
0
0
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
-6
0
0
-24
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-38
10
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-1
-35
1
24
-75
-31
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
13
-98
-6
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
59
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
12
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
30
0
0
0
0
0
0
0
0
0
0
1
-8
63
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
117
-9
-18
12
45
0
0
0
0
0
0
0
0
0
0
0
-3
-107
95
62
6
72
13
-24
79
0
0
0
0
0
0
0
0
13
20
14
-17
-171
20
28
132
58
0
0
0
0
0
0
0
0
-1
-12
-10
95
-13
-48
101
-85
-123
0
0
0
0
0
0
0
0
-12
4
4
-15
43
-14
-41
-11
72
0
0
0
0
0
0
0
0
0
19
7
-7
-56
-105
20
12
14
0
0
0
0
0
0
0
0
0
0
-2
0
10
-36
-54
-9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
-7
13
0
0
0
0
0
0
0
0
0
-48
-12
12
23
38
0
0
0
0
0
0
0
0
0
0
0
41
-37
26
1
87
38
0
0
0
-1
0
0
0
0
0
0
0
0
-31
-18
120
33
36
48
12
50
2
0
0
0
0
0
0
0
44
-22
65
-12
53
58
105
6
-132
4
0
0
0
0
0
0
0
10
13
18
32
37
71
-19
-92
-102
11
0
0
0
0
0
0
0
9
-67
21
13
-67
16
61
-31
3
1
0
0
0
0
0
0
0
0
0
-15
88
32
-34
31
12
-28
-33
0
0
0
0
0
0
0
0
-3
-1
2
10
25
-55
37
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-32
1
0
0
0
0
0
0
0
0
-6
0
24
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-4
11
-31
29
35
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
10
74
10
-51
-1
3
13
-5
0
0
0
0
0
0
0
0
-17
74
1
-50
-75
3
8
-14
-1
0
0
0
0
0
0
0
-11
24
22
-53
72
-122
22
99
-7
-3
3
0
0
0
0
0
0
0
0
8
-22
-19
73
4
-103
-37
-14
0
0
0
0
0
0
0
0
0
0
-92
13
-60
-73
-143
-47
-20
0
0
0
0
0
0
0
0
0
0
0
-43
-3
-58
-66
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
74
-43
0
0
0
0
0
0
0
0
0
-9
0
5
3
28
0
0
0
-3
0
0
0
0
0
0
0
6
-1
-93
79
52
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
32
39
-3
-12
-6
8
0
0
0
0
0
0
0
0
6
-8
-57
28
30
99
-110
-6
0
-1
0
0
0
0
0
0
0
0
-3
54
57
14
-220
-50
23
-26
0
0
0
0
0
0
0
0
0
25
-53
-23
88
-51
-27
-47
25
0
0
0
0
0
0
0
0
0
0
0
0
4
-92
93
-60
71
3
0
0
0
0
0
0
0
0
0
0
0
0
-50
103
-2
-123
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
4
-2
0
0
0
0
0
0
0
0
0
9
-15
3
26
0
0
0
0
0
0
0
0
0
0
0
0
-8
38
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
26
-6
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-12
0
-1
-7
-11
43
8
-31
0
0
0
0
0
0
0
0
0
-10
1
82
29
-74
-3
16
0
0
0
0
0
0
0
0
0
0
-5
-4
-19
2
-5
-66
-18
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-89
-30
-58
-92
-28
0
0
0
0
0
0
0
0
0
2
-3
12
-5
-73
-15
78
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-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
-3
22
26
38
15
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-41
-20
-4
1
0
0
-6
0
0
0
0
0
0
0
0
0
8
-11
-35
3
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-56
12
8
14
2
0
0
0
0
0
0
0
0
0
-2
0
-44
8
-75
19
73
64
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
36
75
0
4
0
0
0
0
0
0
0
0
0
0
0
0
15
15
-9
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
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
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
-14
0
12
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-14
-62
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
42
0
-54
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
9
0
0
0
0
0
0
0
0
0
0
-14
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
38
-52
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-53
67
-12
0
-1
11
0
0
0
0
0
0
0
0
0
0
32
88
-52
-76
-41
-12
-31
0
0
0
0
0
0
0
0
-6
-2
-10
13
-26
-15
17
-23
-19
0
0
0
0
0
0
0
0
0
0
0
52
-70
-44
7
90
-10
0
0
0
0
0
0
0
0
0
0
-2
-10
-3
70
-89
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
31
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
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-11
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
39
-6
-1
0
0
5
0
0
0
0
0
0
0
0
0
3
-26
19
-52
-13
-1
9
-8
1
0
0
0
0
0
0
0
0
0
0
4
1
-35
-5
-10
-15
0
0
0
0
0
0
0
0
0
0
-11
1
-5
29
-7
-49
-1
1
0
0
0
0
0
0
0
0
0
0
-18
9
14
59
47
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
-33
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
1
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
12
10
5
-12
0
-2
0
0
0
0
0
0
0
0
0
0
19
-13
-4
52
11
-43
-1
0
0
0
0
0
0
0
0
0
0
0
-40
-9
24
-18
32
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-44
2
-129
31
68
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
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
0
0
1
-57
10
14
19
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
-12
13
-9
0
1
1
0
0
0
0
0
0
0
0
4
-2
-41
-57
-84
5
-51
4
-3
0
0
0
0
0
0
0
0
0
-80
-61
-121
72
-28
17
65
-3
0
0
0
0
0
0
0
0
0
0
22
40
-18
-100
33
-119
-5
0
0
0
0
0
0
0
0
0
0
-16
-15
-30
91
-62
1
5
0
0
0
0
0
0
0
0
0
-31
-35
-1
-91
81
19
-106
-23
0
0
0
0
0
0
0
0
0
0
0
1
4
14
-2
-47
28
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
-14
-31
-54
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-58
0
22
0
0
-4
0
0
0
0
0
0
0
0
0
-44
-11
95
-90
140
-30
-14
-23
0
0
0
0
0
0
0
0
0
-35
2
50
-73
-37
-119
-24
-10
-7
0
0
0
0
0
0
0
1
-11
4
54
-20
-28
-85
13
-121
1
0
0
0
0
0
0
0
0
0
-7
-50
38
-60
-6
-95
-84
-2
0
0
0
0
0
0
0
0
0
0
0
-19
26
-74
-44
25
4
0
0
0
0
0
0
0
0
0
0
0
0
11
-24
-54
-23
-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
-20
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
3
-1
47
0
0
4
-1
0
0
0
0
0
0
0
0
0
2
-57
-12
5
-8
-1
14
5
0
0
0
0
0
0
0
0
0
0
-5
0
-40
66
-22
12
-10
0
0
0
0
0
0
0
0
0
0
0
26
-36
74
47
-145
-60
-1
0
0
0
0
0
0
0
0
0
12
-5
36
-171
-140
-18
-57
-2
0
0
0
0
0
0
0
0
0
0
-2
-21
-58
14
-72
-92
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-112
-12
-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
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
12
-31
-42
2
26
0
0
0
0
0
0
0
0
0
0
3
-6
6
21
12
-25
-2
0
0
0
0
0
0
0
0
0
-5
6
0
-2
86
-116
-20
47
0
0
0
0
0
0
0
0
0
0
10
1
-15
-38
20
17
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
-29
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
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
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
105
0
1
14
0
0
0
0
0
0
0
0
0
0
0
1
11
-6
-47
19
-31
-14
0
0
0
0
0
0
0
0
0
1
14
0
-3
4
-33
-81
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-2
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-2
1
0
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
0
0
0
0
0
0
0
-9
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
2
-14
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
5
1
0
-5
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
20
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-40
-5
0
-5
1
0
0
0
0
0
0
0
0
0
2
0
-4
0
1
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
9
2
-70
-34
4
-2
0
0
0
0
0
0
0
0
0
0
0
41
-16
-23
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-16
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-7
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
-38
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
5
65
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-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
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
0
0
0
0
0
0
10
-8
5
7
0
0
0
0
0
0
0
0
0
0
0
0
2
2
13
3
68
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-45
-43
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-51
-60
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
9
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-12
0
-3
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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-3
1
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
22
10
0
0
0
0
0
0
0
0
0
0
4
126
-6
5
6
-5
-61
0
0
0
0
0
0
0
0
0
0
43
13
-55
51
-2
-63
-32
-33
1
0
0
0
0
0
0
0
0
5
27
1
-2
-1
45
20
0
0
0
0
0
0
0
0
0
0
2
16
0
-8
-1
0
12
-1
0
0
0
0
0
0
0
0
0
-18
-69
6
-4
-4
0
-3
-1
0
0
0
0
0
0
0
0
0
-1
-5
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
49
-57
14
66
0
0
0
0
0
0
0
0
0
46
-8
60
66
84
-6
5
0
7
0
0
0
0
0
0
0
0
169
9
48
28
-39
2
-56
-4
-21
0
0
0
0
0
0
0
0
19
36
-59
137
-10
-5
87
86
-19
-2
0
0
0
0
0
0
0
116
-76
42
-49
-63
18
88
-14
7
0
0
0
0
0
0
0
0
-11
16
92
76
11
22
29
59
-64
-21
0
0
0
0
0
0
0
-20
5
85
-70
77
-23
-21
0
-50
0
0
0
0
0
0
0
0
34
67
-52
-36
-4
-65
0
-6
0
0
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
-7
-36
-267
-45
-56
0
-15
0
0
0
0
0
0
0
0
73
-7
112
52
-44
-105
68
36
-12
0
0
0
0
0
0
0
17
208
131
-21
50
26
74
67
71
-18
0
0
0
0
0
0
0
54
48
-21
39
-70
141
126
4
72
-44
0
0
0
0
0
0
0
-8
-14
47
-14
-47
-196
115
-50
63
-18
0
0
0
0
0
0
0
3
-39
-88
-29
-58
146
-41
10
31
6
0
0
0
0
0
0
0
-1
-42
-73
-29
39
-1
57
-69
19
48
0
0
0
0
0
0
0
-4
103
17
-89
20
32
-47
-11
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
-3
4
0
0
-5
-28
-163
-52
0
1
0
0
0
0
0
0
0
93
7
109
-18
-20
70
-31
-29
-16
0
0
0
0
0
0
0
0
106
7
74
54
-137
-45
5
-66
-38
0
0
0
0
0
0
0
0
97
61
83
27
30
-87
-48
57
-8
2
0
0
0
0
0
0
0
116
17
-3
4
-83
-25
67
48
33
8
0
0
0
0
0
0
0
-36
81
28
-24
3
7
5
-80
0
-3
0
0
0
0
0
0
0
12
44
42
16
-16
-9
-39
-2
-14
0
0
0
0
0
0
0
0
-16
-123
-45
-52
-3
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
8
13
-43
2
0
0
96
-31
0
0
0
0
0
0
0
0
0
-1
-39
32
-50
5
95
-22
-8
-33
0
0
0
0
0
0
0
0
38
-23
138
81
-89
-22
0
20
26
2
0
0
0
0
0
0
0
8
-83
-42
47
-15
-11
-68
-94
27
10
0
0
0
0
0
0
0
14
32
42
-63
4
23
-20
3
-38
22
0
0
0
0
0
0
0
18
26
-3
30
-42
16
-83
-12
25
33
0
0
0
0
0
0
0
5
0
-39
14
0
8
4
-27
-11
0
0
0
0
0
0
0
0
2
35
15
-13
2
-12
0
0
0
0
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
-6
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
18
176
123
21
114
0
8
22
4
0
0
0
0
0
0
0
0
-115
103
12
17
-5
111
31
-20
18
0
0
0
0
0
0
0
0
0
59
37
-116
-10
-16
-34
-30
1
0
0
0
0
0
0
0
0
-5
-14
55
-12
-25
48
84
29
-4
0
0
0
0
0
0
0
0
0
10
-11
4
11
-6
-3
7
-3
-4
0
0
0
0
0
0
0
14
-45
22
8
0
5
1
34
18
0
0
0
0
0
0
0
0
0
16
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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
129
45
51
34
-2
0
0
-3
0
0
0
0
0
0
0
0
0
-1
7
21
8
39
3
1
0
0
0
0
0
0
0
0
0
0
-1
-3
5
0
-12
1
-11
-2
0
0
0
0
0
0
0
0
0
-19
1
2
7
10
-7
0
25
-1
0
0
0
0
0
0
0
0
17
-2
1
3
-3
-3
0
-4
0
0
0
0
0
0
0
0
0
13
-1
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
1
86
36
-5
0
0
0
0
0
0
0
0
0
27
68
121
29
-15
81
-55
22
0
0
0
0
0
0
0
0
0
-19
89
-25
4
-116
47
-11
17
28
0
0
0
0
0
0
0
0
57
94
26
23
-14
1
-53
17
0
0
0
0
0
0
0
0
0
-9
3
16
7
-34
23
50
3
0
0
0
0
0
0
0
0
0
-70
8
62
-65
-6
94
2
-3
0
0
0
0
0
0
0
0
0
-223
67
-5
-12
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
17
79
58
-10
1
-44
0
0
0
0
0
0
0
0
0
65
134
45
64
5
5
-28
-100
84
0
0
0
0
0
0
0
0
-50
66
1
18
87
-94
53
-45
75
5
0
0
0
0
0
0
0
149
148
3
25
146
72
3
-65
-11
0
0
0
0
0
0
0
0
47
-30
120
15
41
-3
24
-124
-68
3
0
0
0
0
0
0
0
-65
99
-37
1
17
-15
20
106
43
0
0
0
0
0
0
0
0
-39
-61
-60
17
38
2
1
-34
-19
0
0
0
0
0
0
0
0
15
-75
-22
70
14
6
0
3
0
0
0
0
0
0
0
0
0
-14
-4
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
81
249
7
41
28
-8
-54
61
0
4
0
0
0
0
0
0
0
124
117
32
102
-132
-22
56
32
146
-1
0
0
0
0
0
0
0
12
106
-161
-31
-104
155
-11
-20
-122
-18
0
0
0
0
0
0
0
53
92
142
-4
-79
-82
23
-1
-60
-31
0
0
0
0
0
0
0
51
57
-33
-39
145
-10
49
30
-3
-25
0
0
0
0
0
0
0
-23
9
26
121
-52
-120
62
-77
70
26
0
0
0
0
0
0
0
-66
34
19
-56
-20
40
-89
66
-57
-1
0
0
0
0
0
0
0
0
20
-13
-69
70
101
-2
-53
-12
0
0
0
0
0
0
0
0
0
12
1
1
23
0
3
0
0
0
0
0
0
0
0
0
0
-16
-37
75
-8
105
11
-32
59
0
-2
0
0
0
0
0
0
0
-66
-41
119
-1
-25
-7
-74
109
30
0
-2
0
0
0
0
0
0
33
-21
242
-200
-38
61
33
-20
-9
-9
0
0
0
0
0
0
0
-50
-58
111
-65
-5
-5
102
44
65
-5
1
0
0
0
0
0
0
106
-45
8
-49
-26
-106
-40
-88
-3
-2
0
0
0
0
0
0
0
-226
-44
137
34
-60
-6
-12
140
-27
1
0
0
0
0
0
0
0
14
89
133
-56
21
-40
-42
20
-10
0
0
0
0
0
0
0
0
14
-13
-81
-15
-4
6
-11
-2
0
0
0
0
0
0
0
0
0
-14
0
-49
0
7
3
0
0
0
0
0
0
0
0
0
0
0
-10
28
19
11
-8
41
34
-30
0
0
0
0
0
0
0
0
0
40
157
-13
69
84
40
109
-54
-107
0
0
0
0
0
0
0
0
73
32
5
129
-4
57
-26
59
21
12
0
0
0
0
0
0
0
-73
97
42
4
-24
-92
-58
30
14
22
0
0
0
0
0
0
0
37
-59
-86
-17
-43
-79
-69
-77
103
-21
0
0
0
0
0
0
0
-24
16
8
-19
-33
-42
-4
-122
13
1
0
0
0
0
0
0
0
25
-40
38
-59
2
-13
2
-3
14
-9
0
0
0
0
0
0
0
1
-84
27
40
0
0
0
-3
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
99
19
31
-88
-29
4
-117
54
0
4
0
0
0
0
0
0
0
45
72
97
44
134
33
66
131
-10
0
0
0
0
0
0
0
0
33
129
91
40
149
-57
6
-114
29
1
0
0
0
0
0
0
0
98
70
32
-48
-79
86
-26
48
-48
0
0
0
0
0
0
0
0
107
-4
31
-29
81
7
-45
10
-10
2
0
0
0
0
0
0
0
12
26
90
49
26
50
54
-37
-3
0
0
0
0
0
0
0
0
-22
115
21
70
40
5
-18
-8
-5
0
0
0
0
0
0
0
0
0
32
-11
6
0
0
0
0
0
0
0
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
-53
15
57
50
0
-6
0
-19
0
0
0
0
0
0
0
0
57
-38
-1
183
15
51
-7
14
0
0
0
0
0
0
0
0
0
47
28
-43
169
33
16
5
1
1
0
0
0
0
0
0
0
0
83
22
27
28
20
6
51
-2
0
0
0
0
0
0
0
0
0
51
11
83
1
25
-6
30
11
0
0
0
0
0
0
0
0
0
36
-8
-81
13
12
-13
-2
-1
-4
0
0
0
0
0
0
0
0
0
29
2
3
0
0
8
0
0
0
0
0
0
0
0
0
0
43
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
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
-6
0
0
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
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-11
8
-1
8
0
0
0
0
0
0
0
0
0
0
3
0
24
-2
3
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
2
0
-4
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
-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
1
2
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
86
94
35
67
-32
1
-7
0
0
0
0
0
0
0
0
0
-6
74
69
-129
-127
153
-26
-9
10
0
0
0
0
0
0
0
0
-56
-35
17
-29
26
-34
33
53
-24
0
0
0
0
0
0
0
0
-37
25
131
-33
20
55
31
-4
25
0
0
0
0
0
0
0
0
-32
79
1
121
-3
56
17
0
0
0
0
0
0
0
0
0
0
35
9
53
16
-9
-12
0
-5
0
0
0
0
0
0
0
0
0
14
6
-47
-18
-2
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-17
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
-12
35
61
126
54
73
-19
92
0
0
0
0
0
0
0
0
0
96
158
78
101
-47
56
38
-124
73
0
0
0
0
0
0
0
0
-24
129
-3
128
43
-79
-9
-13
-77
4
0
0
0
0
0
0
0
68
-37
-25
-23
108
79
152
22
10
0
0
0
0
0
0
0
0
97
-6
116
44
50
33
4
126
29
2
0
0
0
0
0
0
0
101
-64
14
103
-120
118
82
122
17
0
0
0
0
0
0
0
0
62
68
-14
-4
4
49
52
-22
-2
0
0
0
0
0
0
0
0
27
-20
-5
20
31
-3
0
0
0
0
0
0
0
0
0
0
0
-43
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
129
54
65
-46
45
-39
40
0
2
0
0
0
0
0
0
0
-77
-42
1
116
22
-52
10
-107
-32
0
0
0
0
0
0
0
0
-44
106
45
94
67
-58
-56
-55
3
-7
0
0
0
0
0
0
0
18
46
-32
63
27
26
-36
97
26
1
0
0
0
0
0
0
0
29
56
102
-34
70
-115
-13
-43
2
20
0
0
0
0
0
0
0
63
-15
19
37
-11
42
-36
-77
6
-20
0
0
0
0
0
0
0
7
22
3
23
-14
-65
-11
111
-55
1
0
0
0
0
0
0
0
3
92
127
47
-18
-5
7
0
0
0
0
0
0
0
0
0
0
4
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
-25
108
45
80
-21
-25
64
0
0
0
0
0
0
0
0
0
-117
-39
5
158
2
3
-36
-176
-5
0
0
0
0
0
0
0
0
18
-39
-12
22
-104
23
-61
95
46
2
0
0
0
0
0
0
0
33
-149
-1
10
-29
124
17
-24
13
-2
0
0
0
0
0
0
0
7
39
13
54
3
69
-9
-35
15
0
0
0
0
0
0
0
0
247
52
-53
-60
-107
54
103
-54
2
0
0
0
0
0
0
0
0
27
32
-17
43
-46
-70
1
-1
18
0
0
0
0
0
0
0
0
76
-97
-9
-8
-11
0
0
-13
0
0
0
0
0
0
0
0
0
-113
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
98
124
-52
-38
16
29
72
0
0
0
0
0
0
0
0
0
-222
-34
-26
132
36
138
-44
-62
58
-50
0
0
0
0
0
0
0
-27
-5
75
-29
59
69
45
-35
-42
3
0
0
0
0
0
0
0
-11
140
19
-112
-3
-9
-2
23
-9
1
0
0
0
0
0
0
0
43
21
159
18
69
34
-30
-19
-2
-9
0
0
0
0
0
0
0
53
92
12
59
11
35
-127
-42
15
0
0
0
0
0
0
0
0
-6
-17
49
-4
-3
33
16
0
2
0
0
0
0
0
0
0
0
15
104
6
-26
0
0
22
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
0
-1
-32
-98
-23
12
116
228
16
0
0
0
0
0
0
0
0
0
39
-115
-70
66
150
24
168
13
-26
0
0
0
0
0
0
0
0
-161
-5
38
-4
34
-17
-18
-49
1
-1
0
0
0
0
0
0
0
-12
116
93
40
92
-14
-69
58
-6
0
0
0
0
0
0
0
0
83
27
-33
15
-75
-8
-27
-1
44
1
0
0
0
0
0
0
0
-12
-92
6
-57
16
14
49
-1
0
0
0
0
0
0
0
0
0
5
83
66
6
-35
0
0
5
1
0
0
0
0
0
0
0
0
0
-115
9
9
0
0
0
1
0
0
0
0
0
0
0
0
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
-2
-45
113
4
-7
0
0
0
0
0
0
0
0
0
0
64
101
-37
-27
33
2
-8
-3
0
0
0
0
0
0
0
0
0
-31
-13
66
10
-11
2
12
-9
0
0
0
0
0
0
0
0
0
90
23
10
34
4
2
-1
-3
0
0
0
0
0
0
0
0
0
-170
22
9
-3
-4
47
10
0
0
0
0
0
0
0
0
0
0
-64
-49
-6
13
1
1
0
0
0
0
0
0
0
0
0
0
0
74
-2
16
-9
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
-4
-13
5
5
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
34
-2
8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
-2
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
-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
1
-28
12
-2
0
3
0
0
0
0
0
0
0
0
0
3
-3
7
8
1
-9
39
1
-2
0
0
0
0
0
0
0
0
10
6
7
-1
2
-11
0
-2
0
0
0
0
0
0
0
0
0
-13
-13
-4
-2
-4
-19
0
0
0
0
0
0
0
0
0
0
0
1
-10
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
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
-2
0
31
-2
19
19
7
0
0
0
0
0
0
0
0
0
0
47
-6
45
23
-25
-39
19
-6
0
0
0
0
0
0
0
0
0
54
8
62
27
22
73
-44
3
0
0
0
0
0
0
0
0
0
-130
22
26
-8
-8
-33
4
-4
0
0
0
0
0
0
0
0
0
12
24
43
-5
0
-4
0
21
0
0
0
0
0
0
0
0
0
6
2
-38
-9
-4
0
-1
-1
-1
0
0
0
0
0
0
0
0
33
16
9
1
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
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
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
31
-11
52
4
8
0
0
0
0
0
0
0
0
0
-17
-81
-38
17
18
0
5
21
0
0
0
0
0
0
0
0
0
49
-2
61
-24
-20
-26
0
20
4
0
0
0
0
0
0
0
0
-13
4
39
10
12
81
1
-2
1
0
0
0
0
0
0
0
0
-1
43
86
-34
62
-37
5
6
0
0
0
0
0
0
0
0
0
49
54
29
-33
11
6
0
0
0
0
0
0
0
0
0
0
0
7
-101
80
-12
23
-26
0
0
0
0
0
0
0
0
0
0
0
15
25
59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-91
88
119
119
136
54
8
0
0
0
0
0
0
0
0
0
101
89
100
86
21
-46
62
110
43
-2
0
0
0
0
0
0
0
132
-16
168
139
52
57
30
42
-46
-5
0
0
0
0
0
0
0
207
-20
79
98
148
-56
27
99
28
0
0
0
0
0
0
0
0
-102
-42
22
187
47
-21
84
91
0
0
0
0
0
0
0
0
0
-19
-149
16
-19
13
1
-4
-64
-48
-6
0
0
0
0
0
0
0
-99
32
49
-83
-68
11
-16
23
46
0
0
0
0
0
0
0
0
-26
-26
-34
30
-41
24
11
-10
0
0
0
0
0
0
0
0
0
22
-19
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
17
238
-31
-91
-25
-3
0
-3
0
0
0
0
0
0
0
-6
125
-48
-3
86
48
94
2
23
-7
0
0
0
0
0
0
0
-12
197
9
-110
-18
-20
-26
2
-37
-5
0
0
0
0
0
0
0
-15
102
-7
9
-60
-66
-58
-22
94
-1
0
0
0
0
0
0
0
-41
69
4
13
110
-21
-11
18
48
13
0
0
0
0
0
0
0
3
43
40
134
-68
29
42
-81
6
0
0
0
0
0
0
0
0
7
120
139
7
-74
-60
-40
2
43
0
0
0
0
0
0
0
0
-69
137
-98
-84
64
1
0
2
0
0
0
0
0
0
0
0
0
-82
-19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
71
92
-27
87
4
172
27
0
0
0
0
0
0
0
0
0
-59
-12
12
19
134
113
14
-37
-2
0
0
0
0
0
0
0
0
-9
-42
-63
0
39
-30
10
42
-7
0
0
0
0
0
0
0
0
-65
122
45
-4
19
70
-53
93
-34
3
0
0
0
0
0
0
0
-255
-150
-53
39
-38
52
6
75
-9
-2
0
0
0
0
0
0
0
-75
149
28
-47
122
41
15
46
1
0
0
0
0
0
0
0
0
21
104
64
-5
15
1
0
0
-3
0
0
0
0
0
0
0
0
-16
137
11
16
22
7
0
0
-3
0
0
0
0
0
0
0
0
54
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
93
0
14
31
88
98
57
0
0
0
0
0
0
0
0
0
-25
36
-41
-20
-28
54
-34
59
-27
18
0
0
0
0
0
0
0
-14
43
27
135
-7
159
59
-54
-85
-10
0
0
0
0
0
0
0
53
189
-67
-74
11
50
49
-35
-37
-52
0
0
0
0
0
0
0
-3
122
24
132
50
99
60
-34
36
3
0
0
0
0
0
0
0
15
6
-3
220
-7
-30
4
33
2
0
0
0
0
0
0
0
0
23
86
99
136
-25
3
-40
0
7
0
0
0
0
0
0
0
0
-4
32
41
18
-11
-6
2
0
2
0
0
0
0
0
0
0
0
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
1
33
-15
83
34
3
0
0
0
0
0
0
0
0
0
-25
48
31
-39
-42
-96
62
33
66
1
0
0
0
0
0
0
0
-4
-62
-28
8
45
-13
-108
11
40
12
0
0
0
0
0
0
0
-37
-38
8
-60
-16
25
11
-27
-27
0
0
0
0
0
0
0
0
124
-25
-51
46
4
19
3
16
70
0
0
0
0
0
0
0
0
-13
19
19
44
133
2
-5
3
1
0
0
0
0
0
0
0
0
-14
39
47
-5
21
-1
-8
13
0
0
0
0
0
0
0
0
0
3
-72
2
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
16
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
6
-7
10
10
-34
45
0
0
0
0
0
0
0
0
0
0
27
-13
15
78
-32
108
-28
0
0
0
0
0
0
0
0
0
0
64
-55
53
-20
22
-6
-8
-1
0
0
0
0
0
0
0
0
0
-54
3
-102
-28
0
0
0
1
0
0
0
0
0
0
0
0
0
61
115
-112
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
117
-13
56
1
0
3
-1
0
0
0
0
0
0
0
0
0
0
23
42
-4
4
0
2
0
-7
0
0
0
0
0
0
0
0
0
102
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
-8
0
1
-7
-1
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
5
21
-2
4
0
0
0
0
0
0
0
0
0
0
0
4
-9
12
-6
-8
0
0
0
0
0
0
0
0
0
0
0
2
9
-6
-1
2
0
0
0
0
0
0
0
0
0
0
0
-11
1
-3
-1
-1
0
-4
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
5
-15
0
17
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
17
22
2
-33
10
0
0
0
0
0
0
0
0
0
-8
-14
-53
-60
17
37
-65
26
-18
0
0
0
0
0
0
0
0
6
39
-31
39
-24
8
3
20
0
0
0
0
0
0
0
0
0
-67
-11
10
3
15
47
10
0
0
0
0
0
0
0
0
0
0
-70
4
-71
44
25
6
1
0
0
0
0
0
0
0
0
0
0
-22
-14
18
15
-39
-1
0
0
0
0
0
0
0
0
0
0
0
-17
6
22
-2
4
-6
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
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-25
97
-29
-12
14
76
0
0
0
0
0
0
0
0
0
0
2
59
-2
101
-26
14
-4
17
0
0
0
0
0
0
0
0
0
-11
-13
-49
-64
52
36
39
1
0
0
0
0
0
0
0
0
0
27
19
-110
48
-27
-40
82
0
0
0
0
0
0
0
0
0
0
3
-95
43
-74
-70
-6
-16
0
0
0
0
0
0
0
0
0
0
-77
100
-32
-5
2
-4
3
4
0
0
0
0
0
0
0
0
0
5
11
16
5
0
3
-3
28
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
-1
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
10
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
-2
-8
-8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-144
-5
14
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-68
121
-29
8
-97
21
2
0
0
0
0
0
0
0
0
0
-6
58
-56
2
14
13
17
-15
0
0
0
0
0
0
0
0
0
-23
45
-76
10
23
47
-2
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
-27
-14
-15
-1
0
0
0
0
0
0
0
0
0
-2
38
51
24
-15
0
-25
-11
0
0
0
0
0
0
0
0
0
20
9
-1
10
-25
0
0
0
0
0
0
0
0
0
0
0
0
-18
29
0
7
32
-2
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
-76
-35
21
85
70
-42
-16
37
0
0
0
0
0
0
0
0
0
-55
-58
-49
-54
0
44
40
-39
-18
0
0
0
0
0
0
0
0
149
32
-15
128
39
53
-90
-1
-2
0
0
0
0
0
0
0
0
3
-33
-31
-84
180
88
-8
86
48
0
0
0
0
0
0
0
0
9
-13
-1
27
40
-54
60
-73
3
0
0
0
0
0
0
0
0
38
-14
48
85
1
-60
11
19
-50
0
0
0
0
0
0
0
0
93
-28
74
-12
-23
97
26
3
15
0
0
0
0
0
0
0
0
-31
39
-36
-61
-12
-51
2
-20
0
0
0
0
0
0
0
0
0
44
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-52
-5
106
44
15
180
-11
0
-2
0
0
0
0
0
0
0
1
62
-72
77
52
75
127
77
-104
0
0
0
0
0
0
0
0
1
-54
48
-3
-18
-96
174
-31
-36
4
0
0
0
0
0
0
0
39
-57
-26
141
28
19
-24
-61
-1
-14
0
0
0
0
0
0
0
0
-10
0
-2
8
69
31
18
-39
5
0
0
0
0
0
0
0
-55
-9
-24
14
33
-96
-12
37
-20
0
0
0
0
0
0
0
0
10
0
54
-29
47
126
-97
12
50
0
0
0
0
0
0
0
0
26
92
-18
48
-4
71
-13
-18
-6
0
0
0
0
0
0
0
0
0
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
37
-6
-2
-3
96
21
0
0
0
0
0
0
0
0
0
-5
55
90
6
-66
-12
-2
151
-3
0
0
0
0
0
0
0
0
29
31
43
73
44
47
27
68
2
1
0
0
0
0
0
0
0
67
-9
-28
-18
19
0
17
3
-9
-3
0
0
0
0
0
0
0
-35
80
3
0
12
-54
25
17
-8
0
0
0
0
0
0
0
0
-70
92
119
-9
129
18
68
-17
-10
0
0
0
0
0
0
0
0
113
35
178
62
30
-2
-20
0
2
0
0
0
0
0
0
0
0
41
67
64
-43
2
-10
-5
0
-5
0
0
0
0
0
0
0
0
-9
-13
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-34
-16
-1
-8
51
36
0
4
0
0
0
0
0
0
0
5
103
44
-62
-81
-26
-30
72
32
-20
0
0
0
0
0
0
0
-3
-62
-109
115
18
-100
-55
63
47
-8
0
0
0
0
0
0
0
24
-21
-105
-95
-6
-24
98
70
6
-3
0
0
0
0
0
0
0
-10
-82
-10
-3
0
9
64
-10
-74
0
0
0
0
0
0
0
0
-1
-48
122
-113
9
3
2
-7
76
-2
0
0
0
0
0
0
0
-43
71
72
-36
5
26
-10
10
4
0
0
0
0
0
0
0
0
-5
93
-6
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-26
76
-22
-14
8
19
0
0
0
0
0
0
0
0
0
0
-73
-34
-65
-20
-127
132
-7
-72
0
0
0
0
0
0
0
0
12
17
22
8
3
78
-73
4
14
-4
0
0
0
0
0
0
0
26
-25
82
154
-105
-1
6
33
-14
0
0
0
0
0
0
0
0
-13
-52
-20
36
-4
0
0
9
6
0
0
0
0
0
0
0
0
4
71
-15
68
79
0
0
1
4
0
0
0
0
0
0
0
0
-23
16
-75
21
17
5
-11
0
0
0
0
0
0
0
0
0
0
-22
39
-31
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-92
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-24
1
-55
5
-8
0
-3
0
0
0
0
0
0
0
0
-81
53
32
-28
-60
-94
38
-6
0
0
0
0
0
0
0
0
0
-6
6
47
6
97
122
9
14
0
0
0
0
0
0
0
0
0
-60
-34
-22
-29
-24
0
3
1
0
0
0
0
0
0
0
0
0
-27
40
-14
10
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
7
13
38
-4
0
0
-2
0
0
0
0
0
0
0
0
0
41
2
-32
0
8
0
0
0
0
0
0
0
0
0
0
0
-11
90
75
0
3
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
7
0
5
-1
5
6
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-10
-16
0
-11
-7
8
1
0
0
0
0
0
0
0
0
3
0
9
0
-25
-7
36
-3
5
0
0
0
0
0
0
0
0
-1
-43
-5
17
-2
-60
-6
0
-2
0
0
0
0
0
0
0
0
6
-7
-2
6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-24
-1
0
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
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-79
12
85
0
-24
-14
14
0
0
0
0
0
0
0
0
0
-16
-17
19
25
-5
-23
-28
-5
-2
0
0
0
0
0
0
0
0
65
4
-38
81
-49
105
38
-79
-31
-1
0
0
0
0
0
0
0
-8
-102
14
68
-69
21
-67
3
-1
0
0
0
0
0
0
0
0
11
-55
-133
-25
-50
-5
-1
0
0
0
0
0
0
0
0
0
0
-28
-66
-42
-29
-14
52
-5
0
0
0
0
0
0
0
0
0
0
-53
-76
-42
-37
21
-6
0
0
-51
0
0
0
0
0
0
0
0
-22
-25
9
-16
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
7
-7
-59
18
18
51
39
0
0
0
0
0
0
0
0
0
0
-88
28
-87
-132
39
42
18
-56
0
0
0
0
0
0
0
0
0
10
5
36
-23
3
-12
29
29
0
0
0
0
0
0
0
0
0
49
-2
-21
-30
-71
-21
101
-5
0
0
0
0
0
0
0
0
0
-22
9
-1
49
-131
-80
7
0
0
0
0
0
0
0
0
0
0
-88
-31
-60
54
104
-49
23
-5
0
0
0
0
0
0
0
0
0
44
-163
-28
15
-11
2
0
-12
0
0
0
0
0
0
0
0
0
-11
42
31
3
-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
6
-11
-4
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
1
7
0
1
0
0
0
0
0
0
0
0
0
0
3
0
6
10
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
-3
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-7
0
0
21
0
0
0
0
0
0
0
0
0
0
-4
-49
-20
-3
-12
-13
1
11
0
0
0
0
0
0
0
0
0
4
-5
2
30
-6
0
7
0
0
0
0
0
0
0
0
0
0
-2
-5
15
-13
-43
3
0
-2
0
0
0
0
0
0
0
0
0
0
-28
151
-14
-4
6
11
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-21
116
-67
17
0
-3
0
0
0
0
0
0
0
0
0
0
34
36
2
-38
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
-23
-14
-43
-79
185
15
75
44
0
0
0
0
0
0
0
0
0
-15
-60
-35
6
-81
3
30
-36
-8
-8
0
0
0
0
0
0
0
40
-8
-58
42
9
19
93
20
-7
-1
0
0
0
0
0
0
0
128
22
193
31
-9
75
-16
40
13
14
0
0
0
0
0
0
0
-22
4
-23
30
90
25
4
-15
40
0
0
0
0
0
0
0
0
0
0
0
-30
-205
50
-56
-78
-137
0
0
0
0
0
0
0
0
29
-10
81
-53
-129
-55
25
-3
-25
0
0
0
0
0
0
0
0
-22
77
-10
20
48
31
0
0
0
0
0
0
0
0
0
0
0
52
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
90
73
24
-70
196
-15
67
0
0
0
0
0
0
0
0
0
-8
105
3
107
38
84
77
-1
-46
10
0
0
0
0
0
0
0
-4
-98
18
52
-22
-4
46
40
-10
20
0
0
0
0
0
0
0
0
-42
49
159
33
-58
-4
18
-63
-2
0
0
0
0
0
0
0
21
8
-2
-68
66
21
94
-5
-19
-7
0
0
0
0
0
0
0
-6
9
0
-25
31
-59
-44
0
-68
0
0
0
0
0
0
0
0
-48
166
-13
25
-32
-31
53
4
-9
0
0
0
0
0
0
0
0
33
152
49
16
4
-8
-1
3
0
0
0
0
0
0
0
0
0
-9
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-50
-51
7
45
96
9
0
0
0
0
0
0
0
0
0
-2
27
47
77
-112
35
-50
38
-5
0
0
0
0
0
0
0
0
39
33
56
-103
63
28
14
-32
13
4
0
0
0
0
0
0
0
17
79
-21
-28
-41
-60
-48
29
-11
3
0
0
0
0
0
0
0
-32
-124
37
-3
-11
-38
-10
19
14
0
0
0
0
0
0
0
0
-10
5
4
0
0
-9
3
2
-1
0
0
0
0
0
0
0
0
72
214
94
1
14
-38
56
0
3
0
0
0
0
0
0
0
0
18
30
-58
-2
21
0
-8
0
4
0
0
0
0
0
0
0
0
-37
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
1
47
6
-42
15
68
0
0
0
0
0
0
0
0
0
2
-88
-19
-78
32
-18
75
147
-8
0
0
0
0
0
0
0
0
47
14
35
46
13
37
23
-44
41
-3
0
0
0
0
0
0
0
4
19
5
83
-14
-68
-56
26
15
0
0
0
0
0
0
0
0
-2
94
33
-72
-8
-1
-30
-60
-56
0
0
0
0
0
0
0
0
-2
42
185
-5
0
4
26
26
-37
0
0
0
0
0
0
0
0
-39
119
-17
-10
20
13
12
3
-19
0
0
0
0
0
0
0
0
41
74
151
88
0
-2
0
12
0
0
0
0
0
0
0
0
0
32
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
10
-40
-25
-2
-100
-108
-17
0
1
0
0
0
0
0
0
0
10
32
81
19
-2
-71
-82
-80
-3
0
0
0
0
0
0
0
0
0
11
-63
-80
74
-18
65
1
2
-1
0
0
0
0
0
0
0
-15
-20
12
67
46
8
-37
-35
47
-9
0
0
0
0
0
0
0
2
50
-33
1
23
8
7
63
51
0
0
0
0
0
0
0
0
0
-84
-4
-33
9
0
0
-32
0
0
0
0
0
0
0
0
0
55
-79
101
1
8
-5
0
1
17
0
0
0
0
0
0
0
0
-36
62
-41
29
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-10
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
8
-2
4
100
-28
0
0
0
0
0
0
0
0
0
0
-49
-14
9
-97
-34
17
-21
-7
-1
0
0
0
0
0
0
0
0
-6
-4
-16
32
-19
71
0
19
0
0
0
0
0
0
0
0
0
-36
-39
105
27
-43
76
-13
-8
0
0
0
0
0
0
0
0
0
-31
86
70
-61
-21
0
0
-14
0
0
0
0
0
0
0
0
0
-19
18
-71
14
0
0
0
9
1
0
0
0
0
0
0
0
15
130
-57
-36
57
12
0
0
-4
0
0
0
0
0
0
0
0
5
50
-35
38
0
-2
0
-24
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
3
5
-2
0
-5
0
-29
0
0
0
0
0
0
0
0
0
0
2
3
6
6
4
-8
29
-15
4
0
0
0
0
0
0
0
0
-6
5
-23
-22
-38
25
1
-1
11
0
0
0
0
0
0
0
0
-2
-1
1
10
5
10
7
6
-1
0
0
0
0
0
0
0
0
0
-22
3
-12
-6
1
3
0
0
0
0
0
0
0
0
0
0
4
-4
-18
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
38
4
8
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-8
27
15
-2
-32
3
33
-43
0
0
0
0
0
0
0
0
0
14
22
74
-77
-47
-68
-85
-45
11
0
0
0
0
0
0
0
0
16
-67
-6
79
9
18
83
-9
5
-1
0
0
0
0
0
0
0
50
26
13
-91
-37
32
81
37
21
0
0
0
0
0
0
0
0
4
41
-1
32
-6
-11
36
1
0
0
0
0
0
0
0
0
0
-5
52
3
-64
-117
-84
-6
0
0
0
0
0
0
0
0
0
0
34
43
-21
-29
15
-22
0
0
0
0
0
0
0
0
0
0
0
107
-70
75
60
-1
0
0
0
0
0
0
0
0
0
0
0
0
-74
-2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-11
60
-47
-27
61
-18
-6
0
-4
0
0
0
0
0
0
0
0
82
17
-4
-105
88
-41
-5
-10
0
0
0
0
0
0
0
0
0
36
28
76
-15
-40
72
0
55
3
0
0
0
0
0
0
0
0
193
-112
74
51
-23
83
-7
51
-1
0
0
0
0
0
0
0
0
78
-47
4
32
67
-9
-14
0
0
0
0
0
0
0
0
0
0
-43
-106
5
35
-9
-86
-36
0
0
0
0
0
0
0
0
0
0
-51
-101
49
-30
-17
0
0
0
0
0
0
0
0
0
0
0
0
36
80
17
-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
-4
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-7
-13
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
-3
-10
-1
0
-25
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-12
0
0
0
0
0
0
0
0
0
0
0
18
0
-4
3
-3
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
-1
-3
-19
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
-40
-5
0
0
0
0
0
0
0
0
0
0
0
0
51
-1
-34
-21
-24
6
0
0
0
0
0
0
0
0
0
0
0
5
65
-40
-74
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
-16
9
0
0
0
0
0
0
0
0
0
0
0
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
8
-36
-95
16
-18
154
-1
0
0
0
0
0
0
0
0
0
4
-82
31
37
-45
33
11
11
31
0
0
0
0
0
0
0
0
-31
14
-48
-1
57
-140
-2
-24
37
10
0
0
0
0
0
0
0
-13
-2
49
-58
28
89
38
38
-12
0
0
0
0
0
0
0
0
116
-28
126
36
-19
20
4
20
26
0
0
0
0
0
0
0
0
-17
-1
18
215
-32
-28
-9
27
-8
1
0
0
0
0
0
0
0
0
0
0
12
19
3
23
2
0
0
0
0
0
0
0
0
0
44
0
13
-30
15
11
-9
5
0
0
0
0
0
0
0
0
0
32
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-16
-14
-69
1
-29
22
0
0
0
0
0
0
0
0
0
0
52
-36
9
72
97
-42
-12
-4
0
0
0
0
0
0
0
0
0
-36
-53
41
15
1
88
86
8
0
0
0
0
0
0
0
0
2
20
88
52
11
-19
96
47
49
14
0
0
0
0
0
0
0
0
88
94
-81
81
-92
-106
14
69
21
0
0
0
0
0
0
0
4
52
9
102
-56
22
29
76
36
-5
0
0
0
0
0
0
0
0
0
0
-1
11
45
-29
-38
21
-2
0
0
0
0
0
0
0
39
-33
0
-64
-67
10
42
45
16
0
0
0
0
0
0
0
0
-3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
17
-14
-19
0
-66
10
0
0
0
0
0
0
0
0
0
7
18
-33
-24
-71
68
-17
75
0
0
0
0
0
0
0
0
0
3
-12
33
1
24
-4
75
23
4
9
0
0
0
0
0
0
0
0
81
100
-52
27
-15
38
-45
4
0
0
0
0
0
0
0
0
-11
2
86
-13
20
-7
146
-1
26
-5
0
0
0
0
0
0
0
-14
-38
39
3
46
45
13
1
17
17
0
0
0
0
0
0
0
-35
1
10
0
-4
10
0
31
0
0
0
0
0
0
0
0
0
97
-71
28
3
0
4
0
15
0
0
0
0
0
0
0
0
0
79
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
-1
-8
-36
-101
6
-12
0
0
0
0
0
0
0
0
0
0
71
-15
-5
-93
71
1
10
-25
0
0
0
0
0
0
0
0
2
12
61
-19
-42
-50
23
5
-20
-44
0
0
0
0
0
0
0
8
-50
50
62
63
18
78
11
6
0
0
0
0
0
0
0
0
0
46
77
79
-59
16
-17
-63
-48
0
0
0
0
0
0
0
0
-21
86
34
14
0
-53
-6
27
34
21
0
0
0
0
0
0
0
-1
-35
-48
0
0
17
-8
3
-13
0
0
0
0
0
0
0
0
-7
-17
102
34
0
4
49
18
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
17
-6
5
1
0
-58
5
0
0
0
0
0
0
0
0
0
0
-93
-26
10
-32
13
-85
-36
-8
0
0
0
0
0
0
0
0
0
1
4
-12
-9
13
-27
-14
-15
0
0
0
0
0
0
0
0
-2
-11
16
40
-67
-28
-33
2
-14
0
0
0
0
0
0
0
0
1
37
-2
-45
91
-12
59
-1
9
0
0
0
0
0
0
0
0
0
-42
40
77
-14
0
-7
-4
-34
1
0
0
0
0
0
0
0
16
88
32
-2
0
0
0
-23
0
0
0
0
0
0
0
0
0
-50
-6
-47
-22
3
0
0
-1
0
0
0
0
0
0
0
0
0
91
-17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-7
-15
0
0
0
0
0
0
0
0
0
0
0
157
18
1
-65
1
6
-8
-1
0
0
0
0
0
0
0
0
0
-3
0
8
25
7
-16
-3
1
0
0
0
0
0
0
0
0
0
-5
-3
65
40
-27
-91
23
1
0
0
0
0
0
0
0
0
0
1
-101
-23
-66
140
4
-5
-7
-12
0
0
0
0
0
0
0
-1
94
50
6
43
-12
0
-11
28
0
0
0
0
0
0
0
0
0
8
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
11
3
2
0
0
0
0
0
0
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
1
0
-8
-6
0
0
0
0
0
0
0
0
0
0
27
-1
0
10
-17
2
-5
0
0
0
0
0
0
0
0
0
1
0
0
1
7
21
-17
13
0
0
0
0
0
0
0
0
0
-5
-7
0
-18
3
37
-9
-1
0
0
0
0
0
0
0
0
0
0
0
14
8
21
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
8
64
6
2
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
1
7
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-44
55
48
3
39
3
0
0
0
0
0
0
0
0
0
-11
-27
13
63
97
55
82
35
-13
0
0
0
0
0
0
0
0
0
-54
7
60
-74
-18
88
-13
-50
0
0
0
0
0
0
0
0
0
39
54
-30
-12
-44
-9
50
10
0
0
0
0
0
0
0
0
20
9
20
13
16
70
29
149
2
0
0
0
0
0
0
0
0
-11
-17
102
-11
-77
26
-17
0
0
0
0
0
0
0
0
0
0
27
80
-59
-50
43
-27
9
0
0
0
0
0
0
0
0
0
0
-94
-51
10
26
4
0
0
0
0
0
0
0
0
0
0
0
0
79
19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
4
5
20
-1
0
0
0
0
0
0
0
0
0
0
0
-23
15
-2
-6
8
-37
21
5
0
0
0
0
0
0
0
0
0
-8
-18
-17
-5
25
58
-110
-6
-25
0
0
0
0
0
0
0
0
5
11
39
19
14
68
65
-13
0
0
0
0
0
0
0
0
0
-58
43
-28
31
-39
-14
1
7
0
0
0
0
0
0
0
0
0
56
20
9
-38
39
1
-20
0
0
0
0
0
0
0
0
0
0
-67
-18
47
-14
-3
3
0
0
0
0
0
0
0
0
0
0
0
73
108
-27
-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
-3
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
10
0
-4
0
0
0
0
0
0
0
0
0
0
0
14
-10
-4
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
14
0
7
0
0
0
0
0
0
0
0
0
0
0
104
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
7
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
12
0
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
1
-54
25
-124
35
0
0
0
0
0
0
0
0
0
0
-1
0
5
52
18
72
-53
0
0
0
0
0
0
0
0
0
0
-76
-10
-10
-1
14
-1
3
-19
0
0
0
0
0
0
0
0
0
133
1
137
102
0
15
-5
5
-8
0
0
0
0
0
0
0
0
189
26
40
26
-2
0
-9
-2
0
0
0
0
0
0
0
0
0
27
0
-8
10
-26
-15
16
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
16
5
-17
19
23
0
0
0
0
0
0
0
0
0
0
-1
-2
17
-9
-77
2
-47
37
0
0
0
0
0
0
0
0
0
0
-6
0
-16
106
-51
-11
9
0
0
0
0
0
0
0
0
0
0
19
-39
-109
-23
126
-23
6
9
0
0
0
0
0
0
0
0
0
7
-44
40
-20
18
-5
-5
5
0
0
0
0
0
0
0
0
-5
63
-1
-81
16
-25
39
22
-10
0
0
0
0
0
0
0
0
7
64
21
57
20
-7
-33
-33
0
0
0
0
0
0
0
0
0
2
-20
0
0
6
4
18
2
0
0
0
0
0
0
0
0
0
149
-4
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
10
0
-2
-11
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
-75
34
-8
0
-1
0
0
0
0
0
0
0
0
0
3
19
-5
14
-9
4
13
0
0
0
0
0
0
0
0
0
0
-42
61
99
8
8
-1
-22
0
0
0
0
0
0
0
0
0
0
-49
-10
29
-95
25
31
15
3
-3
0
0
0
0
0
0
0
-2
-18
-116
0
-37
8
-27
7
-14
0
0
0
0
0
0
0
0
13
19
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
118
42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
5
0
-31
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
0
7
18
-6
0
0
0
0
0
0
0
0
0
0
-22
7
2
-21
-27
-67
6
0
0
0
0
0
0
0
0
0
-2
1
0
38
-19
13
10
9
0
0
0
0
0
0
0
0
0
0
-20
-5
96
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
4
21
65
0
14
3
-18
12
0
0
0
0
0
0
0
0
-8
59
-29
42
0
3
-6
0
0
0
0
0
0
0
0
0
0
12
-82
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-29
-31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-21
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
103
2
0
0
0
0
0
0
0
0
0
0
-5
3
2
-4
-6
5
0
0
0
0
0
0
0
0
0
0
-4
1
6
39
-13
0
12
0
-2
0
0
0
0
0
0
0
0
0
-1
7
-32
27
2
12
0
0
0
0
0
0
0
0
0
0
-5
-1
34
26
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
0
0
0
0
0
-160
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
5
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
11
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
4
-30
0
0
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
6
6
8
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
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
3
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
0
0
0
9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-5
0
0
5
0
0
0
0
0
0
0
0
0
1
-8
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
32
-43
49
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-8
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
17
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
4
9
-13
4
-2
0
1
0
0
0
0
0
0
0
0
0
0
3
-2
28
-15
32
6
3
0
0
0
0
0
0
0
0
-7
3
2
5
-3
-26
28
-4
-1
0
0
0
0
0
0
0
0
1
-1
-40
-26
-14
1
7
0
1
0
0
0
0
0
0
0
0
0
37
8
-18
21
-7
0
10
0
0
0
0
0
0
0
0
0
0
52
-15
-7
-48
0
0
0
0
0
0
0
0
0
0
0
0
21
43
-6
14
6
1
0
0
0
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
-5
-1
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-6
2
0
0
0
0
0
0
0
0
0
0
-3
0
2
-1
0
13
1
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
-5
4
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
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
-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
-20
0
26
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-27
-44
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-16
0
-77
53
-2
0
0
0
0
0
0
0
0
0
0
0
0
-36
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
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
-1
0
0
-10
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
8
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-12
-15
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
9
0
5
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
1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-24
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
-2
-6
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
18
-5
2
3
-17
0
0
0
0
0
0
0
0
0
0
-8
5
1
8
18
12
-8
0
0
0
0
0
0
0
0
0
0
8
1
1
24
18
41
-13
0
0
0
0
0
0
0
0
0
0
0
0
-5
27
7
-19
15
0
0
0
0
0
0
0
0
0
0
0
7
-11
-13
-5
-38
-37
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
-5
0
0
0
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
0
-8
0
0
0
11
-18
-6
49
-6
0
0
0
0
0
0
0
0
0
-3
-1
7
-1
15
-4
13
-2
0
0
0
0
0
0
0
0
0
0
2
-4
-6
3
16
18
3
0
0
0
0
0
0
0
0
0
0
1
-2
-26
-48
1
-32
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-18
50
-2
-39
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
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
1
1
0
2
1
0
0
0
0
0
0
0
0
0
1
4
-1
4
-2
-16
-7
4
-1
0
0
0
0
0
0
0
0
0
-2
0
-4
-6
1
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
11
23
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
2
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
25
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-20
0
0
-3
-6
0
-3
0
0
0
0
0
0
0
9
-8
4
-10
-48
-5
17
11
1
0
0
0
0
0
0
0
4
0
2
3
-9
-11
66
-2
2
0
0
0
0
0
0
0
0
0
0
0
20
2
0
-26
-7
-7
1
0
0
0
0
0
0
0
0
0
0
-3
0
-18
0
24
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
0
0
0
0
0
0
0
0
0
0
51
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-14
47
-18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
10
0
-18
-10
-66
0
0
0
0
0
0
0
0
0
0
0
20
8
-33
-15
118
-68
9
2
0
0
0
0
0
0
0
-4
0
0
7
5
-79
59
91
-17
0
0
0
0
0
0
0
0
0
0
0
6
-1
-51
-90
37
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
26
7
69
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
15
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
-4
41
39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
32
-34
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
89
-93
18
51
50
-40
0
-6
0
0
0
0
0
0
0
-3
-10
36
57
-31
-35
0
70
13
0
0
0
0
0
0
0
0
0
-6
23
-12
-33
-72
-58
27
-1
2
0
0
0
0
0
0
0
0
0
-42
44
57
37
-32
-185
0
0
0
0
0
0
0
0
0
0
13
6
1
-7
-6
-126
-145
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
15
-161
3
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
60
-131
57
-32
0
0
0
2
0
0
0
0
0
0
0
0
-4
40
-168
-12
20
-6
53
2
0
0
0
0
0
0
0
0
0
-2
-94
-45
-32
41
26
-111
-3
-21
0
0
0
0
0
0
0
0
3
-8
-18
48
155
-53
-98
7
1
-4
0
0
0
0
0
0
0
0
0
6
2
-35
25
-2
-60
0
0
0
0
0
0
0
0
0
0
0
23
1
9
-5
21
22
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-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
-1
-58
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
60
-101
18
12
0
0
0
38
0
0
0
0
0
0
0
0
1
-19
-22
-42
112
-78
8
29
1
0
0
0
0
0
0
0
0
0
5
50
-38
-12
-33
28
-10
-3
0
0
0
0
0
0
0
0
0
0
22
21
30
25
45
14
1
0
0
0
0
0
0
0
0
0
-1
-15
-88
114
59
5
64
16
0
0
0
0
0
0
0
0
0
0
1
37
41
74
32
45
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
36
-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
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
5
5
33
0
0
0
0
0
0
0
0
0
0
0
-1
8
56
13
-118
34
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-21
68
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-46
45
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-13
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
1
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
-1
-9
-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
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
100
7
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
-9
21
-13
-7
0
0
0
0
0
0
0
0
0
0
3
2
0
-20
21
-6
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
24
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
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
48
44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
27
14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-21
-22
-58
-34
27
0
0
0
0
0
0
0
0
0
3
0
-7
24
-23
-9
-2
-10
0
0
0
0
0
0
0
0
0
-7
-2
-1
78
-3
14
-74
-50
0
0
0
0
0
0
0
0
0
0
0
-2
9
-94
-12
91
2
0
0
0
0
0
0
0
0
0
0
0
18
2
0
-16
63
34
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
-4
10
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
6
18
1
-53
18
1
0
0
0
0
0
0
0
0
-14
10
-1
-28
-27
18
-16
-26
4
0
0
0
0
0
0
0
0
-4
0
-8
32
66
102
-8
20
0
0
0
0
0
0
0
0
0
1
0
3
12
38
40
-5
91
0
0
0
0
0
0
0
0
0
0
0
-13
0
9
-29
5
-18
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
-51
0
0
0
0
0
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
-15
0
-1
-17
0
0
0
0
0
3
13
0
0
0
0
0
0
0
0
1
-1
-3
8
3
13
1
-4
0
0
0
0
0
0
0
0
0
15
-2
-23
11
-1
-62
6
-5
1
0
0
0
0
0
0
2
0
0
6
8
-11
-3
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
26
157
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-51
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
0
0
0
0
0
0
0
0
0
-1
-5
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-12
3
-35
-3
7
-3
0
0
0
4
0
0
0
0
0
0
0
0
8
-10
8
-52
-68
-13
-73
-9
0
2
0
0
0
0
0
0
0
0
5
-20
4
29
-21
-49
78
3
0
0
0
0
0
0
0
0
-4
14
-15
51
-8
-60
-50
5
-1
0
0
0
0
0
0
0
0
0
0
-2
24
24
-129
-121
59
2
0
0
0
0
0
0
0
0
0
0
0
2
13
-4
7
-85
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-38
0
0
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
-88
45
0
-12
0
0
0
0
0
0
0
0
0
0
0
-5
-10
-65
45
33
77
0
0
0
0
1
0
0
0
0
0
0
-6
-11
72
-142
-4
-2
9
-11
30
-1
1
0
0
0
0
0
0
0
4
30
25
28
-19
144
56
-2
2
0
0
0
0
0
0
0
-29
7
1
3
57
90
29
-19
50
-3
1
0
0
0
0
0
0
0
0
0
-21
9
40
-51
154
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
-41
65
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
15
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
0
0
0
0
0
0
0
0
0
-35
16
-58
74
0
0
0
0
0
0
0
0
0
0
0
0
38
90
61
-28
-73
7
0
0
0
2
0
0
0
0
0
0
0
4
-3
-82
14
79
-20
-23
-9
-69
1
0
0
0
0
0
0
0
-31
-9
42
-77
92
-59
-159
71
134
-15
0
0
0
0
0
0
0
0
6
152
47
134
83
58
-41
18
5
-4
0
0
0
0
0
0
0
0
-14
-4
5
172
3
-48
-76
-3
1
0
0
0
0
0
0
0
0
0
17
-8
68
-3
41
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
11
60
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
26
23
46
45
-48
-51
0
0
0
0
0
0
0
0
0
0
12
2
26
-11
-60
-60
1
0
0
0
3
-5
0
0
0
0
0
0
9
-79
18
63
-121
17
-65
23
10
-1
0
0
0
0
0
0
0
-7
24
-125
48
-92
-78
5
-67
31
-13
0
0
0
0
0
0
0
-35
26
-15
7
-38
1
-6
-104
-87
-3
-2
0
0
0
0
0
0
-10
8
-1
-43
23
72
-17
89
86
15
-1
0
0
0
0
0
0
0
0
0
3
15
-136
65
56
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-85
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
1
0
0
0
0
0
0
0
0
11
69
9
38
132
0
0
0
11
0
0
0
0
0
0
0
0
23
-13
102
-132
-27
0
0
0
-6
-12
0
0
0
0
0
0
45
-11
-2
9
52
94
99
-39
52
-2
0
0
0
0
0
0
0
6
22
-37
-68
84
42
-38
-139
-63
-2
-1
0
0
0
0
0
0
2
23
81
-110
49
-18
45
2
-97
-5
-2
0
0
0
0
0
0
-6
6
-80
32
-49
-49
-27
-26
34
-6
0
0
0
0
0
0
0
0
0
-1
59
-26
-21
-85
3
68
12
0
0
0
0
0
0
0
0
0
0
4
2
0
3
28
-69
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-47
-43
-112
-8
9
0
0
0
0
0
0
0
0
0
0
0
-9
-21
-67
-136
82
11
0
0
0
-40
-3
0
0
0
0
0
0
-13
-5
-102
-20
76
-20
-12
-30
-70
-59
-1
0
0
0
0
0
0
-17
48
-24
15
-30
-39
21
32
-20
26
0
0
0
0
0
0
0
0
-58
2
52
26
-63
-140
98
112
-6
0
0
0
0
0
0
0
9
2
24
-56
-45
-86
-21
153
74
-11
0
0
0
0
0
0
0
-6
1
1
-39
40
132
147
-27
-9
-60
1
0
0
0
0
0
0
0
0
0
0
-86
-2
117
-5
-97
-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
-1
21
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-25
34
-4
0
0
0
11
-22
0
0
0
0
0
0
0
0
0
-9
-12
1
15
56
34
0
-28
-1
0
0
0
0
0
0
0
-1
37
5
10
4
-38
-9
34
9
0
0
0
0
0
0
0
0
-1
3
-3
32
20
43
105
-34
5
0
0
0
0
0
0
0
0
0
0
-3
23
-9
-40
95
24
18
0
0
0
0
0
0
0
0
0
5
0
0
-17
62
-5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-24
-6
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
-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
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
0
0
2
23
-60
0
0
0
0
0
0
0
0
0
0
7
3
-4
7
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-12
14
22
0
0
0
0
0
0
0
0
0
0
0
0
1
10
22
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
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
0
0
0
0
0
0
0
0
0
0
-1
-12
6
-4
6
-1
0
0
0
0
0
0
0
0
0
0
0
9
6
-25
0
-32
-15
0
0
0
0
0
0
0
0
0
0
0
0
8
-59
-37
17
-4
45
-4
40
0
0
0
0
0
0
0
0
1
3
0
11
61
17
-59
-37
-2
0
0
0
0
0
0
0
0
-3
-4
0
-9
-37
78
-53
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-28
19
17
0
0
0
0
0
0
0
0
0
0
0
6
-5
-6
24
28
-88
0
0
0
0
0
0
0
0
0
0
0
2
7
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
-9
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-2
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
2
-2
3
0
7
-1
0
0
0
0
0
0
0
0
0
8
6
16
28
29
68
-19
-9
0
0
0
0
0
0
0
0
12
0
0
-4
8
-48
-11
2
5
0
0
0
0
0
0
0
0
1
0
0
0
-12
8
-6
-52
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-66
-10
-14
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
5
8
0
0
0
0
0
0
0
0
-2
2
0
2
29
-9
-9
-12
-1
4
0
0
0
0
0
0
0
0
0
-1
1
0
-3
-59
103
0
-4
0
0
0
0
0
0
0
0
0
-2
0
0
-14
6
47
6
2
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-2
44
-4
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
6
0
0
0
0
0
0
0
0
0
5
0
-49
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
-53
-1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-8
5
49
-18
-10
-43
-14
-3
0
0
0
0
0
0
0
0
23
0
2
-12
-8
182
-94
6
0
0
0
0
0
0
0
0
8
0
-27
10
-40
-55
43
-27
27
0
0
0
0
0
0
0
0
0
0
0
-6
-10
80
-11
1
137
0
0
0
0
0
0
0
0
0
0
8
-3
0
-7
-32
51
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
25
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
10
-26
-48
40
7
210
0
0
0
-2
0
0
0
0
0
0
0
-24
-4
32
-45
-7
-80
0
0
0
1
0
0
0
0
0
0
0
0
30
-52
119
4
4
-51
82
12
-1
0
0
0
0
0
0
0
4
78
90
-52
-24
44
66
62
-31
3
0
0
0
0
0
0
0
16
-7
-1
89
-59
33
-47
155
-19
16
0
0
0
0
0
0
0
0
-4
23
-1
21
-157
60
47
26
0
0
0
0
0
0
0
0
0
-2
-4
7
-12
-31
-27
-41
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-139
45
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
-22
29
34
-117
15
0
0
0
0
0
0
0
0
0
0
0
-4
105
23
28
-64
2
0
0
0
-5
0
0
0
0
0
0
0
0
2
3
-23
48
-13
50
-37
-33
0
0
0
0
0
0
0
0
2
-12
-11
-123
-21
51
-15
-54
-57
-10
0
0
0
0
0
0
0
0
-22
-27
-54
14
52
146
-4
103
0
0
0
0
0
0
0
0
3
0
27
73
6
30
30
1
-103
3
0
0
0
0
0
0
0
0
0
3
-59
-31
48
-70
-2
14
-1
0
0
0
0
0
0
0
0
0
0
-14
0
43
76
-47
-70
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
-16
59
-2
-17
25
23
0
0
0
1
0
0
0
0
0
0
4
14
50
-51
-147
92
-126
0
0
0
0
0
0
0
0
0
0
0
5
10
195
36
-22
-15
0
50
-9
-1
0
0
0
0
0
0
0
87
-3
77
35
-149
111
53
-23
12
-38
0
0
0
0
0
0
0
0
-40
-59
-130
-40
-96
-48
-152
-3
13
-3
0
0
0
0
0
0
0
-2
-13
76
83
-8
64
-106
-44
-9
4
0
0
0
0
0
0
0
0
-2
-21
-58
112
16
112
18
-17
0
0
0
0
0
0
0
0
0
-8
-15
22
10
75
-8
31
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-2
68
0
0
0
0
0
0
0
0
0
0
74
-24
50
-43
-13
0
0
0
1
-1
0
0
0
0
0
0
-24
-42
58
-27
94
-19
0
0
0
4
0
0
0
0
0
0
0
-9
191
11
-58
32
46
28
-53
-15
0
0
0
0
0
0
0
0
23
40
41
-12
102
-181
9
25
-10
-3
-3
0
0
0
0
0
0
-6
-4
140
-13
20
7
-66
-86
-85
-2
5
0
0
0
0
0
0
0
-32
27
67
-78
-63
12
54
-18
-4
0
0
0
0
0
0
0
0
-15
-45
-21
20
-36
-44
-29
50
12
0
0
0
0
0
0
0
0
0
-2
-26
-49
-43
-7
38
-143
12
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
2
11
0
0
0
0
0
0
0
0
0
-43
-65
14
-43
98
0
0
0
66
-1
0
0
0
0
0
0
-15
26
-23
-31
-6
40
0
0
0
6
2
0
0
0
0
0
0
0
36
26
8
89
48
18
46
-12
-2
0
0
0
0
0
0
0
4
132
25
70
-2
33
-169
-29
64
-52
0
0
0
0
0
0
0
-15
-71
-17
36
9
-145
12
-117
-38
19
0
1
0
0
0
0
0
-16
5
-61
-35
-110
60
-56
-49
11
36
-1
0
0
0
0
0
0
0
0
31
-15
-75
31
-130
57
19
7
0
0
0
0
0
0
0
0
0
-11
-20
-3
-35
32
19
-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
-1
8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
-8
-13
0
0
0
3
-5
0
0
0
0
0
0
0
0
3
2
17
4
-38
15
20
5
-4
0
0
0
0
0
0
0
0
1
6
-12
46
30
-15
47
0
-3
0
0
0
0
0
0
0
0
0
8
15
-4
-20
-22
7
12
-18
0
0
0
0
0
0
0
0
0
0
-4
-4
-13
34
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
1
-54
27
34
52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
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
2
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
1
1
-1
-1
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-8
-5
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-1
3
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
52
-23
14
-2
6
0
0
0
0
0
0
0
0
0
0
8
12
0
-8
-15
-1
-7
0
0
0
0
0
0
0
0
0
0
1
1
-13
14
-11
-2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
51
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
0
-5
0
0
0
0
0
0
0
0
0
0
-16
7
-27
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
-31
-20
48
-54
44
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-58
58
-34
52
3
34
0
0
0
0
0
0
0
0
0
0
-8
17
20
-32
29
79
-51
0
0
0
0
0
0
0
0
0
3
0
44
7
35
-73
32
85
0
0
0
0
0
0
0
0
0
0
0
-18
-7
-50
71
-27
95
0
0
0
0
0
0
0
0
0
0
0
0
-10
-28
-78
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
98
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-7
-15
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
2
43
-21
-6
26
0
0
0
0
0
0
0
0
0
0
0
-4
-3
26
27
24
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
34
10
60
54
3
0
0
0
0
0
0
0
0
0
0
0
1
0
5
1
28
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-2
45
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
-10
-4
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-7
5
2
18
0
0
0
-4
3
0
0
0
0
0
0
0
7
23
7
1
9
37
9
-10
0
0
0
0
0
0
0
0
-1
0
0
0
5
7
25
43
-1
0
0
0
0
0
0
0
0
0
2
0
-5
23
60
25
6
18
0
0
0
0
0
0
0
0
0
2
-7
-1
0
-2
0
-101
1
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
2
-4
10
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-11
0
0
0
0
0
0
0
0
0
0
55
38
17
-7
-6
0
0
0
0
0
0
0
0
0
0
0
10
-18
-59
-5
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
-140
-3
-1
43
33
-116
-54
-29
1
0
0
0
0
0
0
0
0
-1
0
1
-5
30
-27
-38
-25
0
0
0
0
0
0
0
0
9
48
-14
0
29
0
66
-92
31
0
0
0
0
0
0
0
0
0
0
64
-16
20
-103
-23
5
-8
0
0
0
0
0
0
0
0
0
6
10
22
7
39
13
-19
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
-49
-21
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
-6
-13
-74
-14
23
-6
0
0
0
0
0
0
0
0
0
0
1
23
-28
-118
158
4
61
0
0
0
0
0
0
0
0
0
0
0
3
-71
74
17
54
18
-52
99
34
0
0
0
0
0
0
0
0
7
89
121
25
-4
34
130
-15
-41
-3
0
0
0
0
0
0
0
13
16
131
-62
-7
-66
-23
59
-86
10
0
0
0
0
0
0
0
-2
1
-12
56
-3
-34
35
-74
102
-2
0
0
0
0
0
0
0
0
0
-18
-7
-17
65
-57
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-23
-54
-129
2
0
0
0
0
0
0
0
0
0
0
0
0
14
-23
-78
2
0
0
0
0
0
0
0
0
0
-7
33
-50
51
42
0
0
0
0
0
0
0
0
0
0
0
31
-77
-47
63
-33
97
0
0
0
0
0
0
0
0
0
0
0
-21
53
-25
123
-55
33
-28
12
-10
11
-1
0
0
0
0
0
0
12
8
-49
-15
-122
51
-43
101
102
3
0
0
0
0
0
0
0
-6
36
56
85
-64
-99
-137
-112
47
18
3
0
0
0
0
0
0
-23
5
-45
-69
-76
48
-22
-103
-66
-6
0
0
0
0
0
0
0
5
12
-16
-14
-5
65
-95
-57
-28
-1
0
0
0
0
0
0
0
0
0
0
19
29
1
3
-152
-26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
6
-5
-109
-104
-103
135
-76
0
0
0
-1
0
0
0
0
0
0
2
-8
-98
37
-37
-31
-20
0
0
0
2
0
0
0
0
0
0
-33
85
10
-11
-87
108
-76
-70
-62
79
1
-3
0
0
0
0
0
0
-56
11
-23
84
132
128
62
-201
55
14
0
0
0
0
0
0
0
-15
-134
33
87
48
83
-116
16
-3
34
3
0
0
0
0
0
0
0
-10
-8
49
-60
-155
-39
-174
-117
24
0
0
0
0
0
0
0
1
0
15
-23
26
13
41
-28
-98
-29
0
0
0
0
0
0
0
0
0
0
30
59
-79
50
118
-86
4
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-89
6
0
0
0
0
0
0
0
0
23
89
2
-41
-118
42
0
0
0
0
0
0
0
0
0
0
0
-23
17
-53
-16
0
49
0
0
0
-12
0
0
0
0
0
0
0
13
12
30
-6
-5
-53
5
13
7
-1
-1
0
0
0
0
0
0
-45
14
-3
-19
121
36
-64
-8
-72
-1
0
0
0
0
0
0
0
-3
91
-44
-38
9
-11
87
-63
75
0
0
0
0
0
0
0
-7
0
9
41
47
-37
35
-99
68
-79
-10
0
0
0
0
0
0
0
0
11
20
85
91
-44
-176
34
-68
24
0
0
0
0
0
0
0
0
6
-15
-21
-65
-1
152
65
-24
21
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-54
17
0
0
0
0
0
0
0
0
-11
53
88
-76
77
27
0
0
0
-3
0
0
0
0
0
0
0
0
44
-12
-24
66
86
0
0
0
-15
1
0
0
0
0
0
0
4
-56
-33
2
120
24
38
26
-27
3
2
0
0
0
0
0
0
21
-21
-50
-2
-8
184
-13
-80
-44
-26
0
0
0
0
0
0
0
0
43
-48
-29
43
-19
34
-15
33
38
-2
0
0
0
0
0
0
0
43
-16
28
36
-3
-26
-166
-11
45
0
0
0
0
0
0
0
0
0
-9
118
-128
-24
-12
-17
-46
-68
0
0
0
0
0
0
0
0
-2
1
-27
-16
46
-42
19
5
77
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
-7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
8
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
6
47
4
-2
29
-26
2
-6
0
0
0
0
0
0
0
0
0
-3
2
-24
-35
-29
0
7
0
0
0
0
0
0
0
0
0
0
-5
-6
37
32
-22
-38
-11
14
0
0
0
0
0
0
0
0
0
0
-1
-2
7
18
-58
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-12
-49
12
29
1
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
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
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
-11
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-6
-1
26
-4
29
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-60
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
112
15
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
41
0
0
0
0
0
0
0
0
0
4
-3
0
39
3
-22
0
0
0
0
0
0
0
0
0
0
0
10
91
14
-57
73
2
0
0
0
0
0
0
0
0
0
0
0
0
-141
-8
-145
25
21
-1
-11
-57
0
0
0
0
0
0
0
0
0
0
18
13
-66
21
2
38
-44
0
0
0
0
0
0
0
0
0
0
-9
-24
81
25
-8
27
-13
0
0
0
0
0
0
0
0
0
0
-16
-10
-75
-7
-23
125
77
0
0
0
0
0
0
0
0
0
2
0
-3
3
-7
22
101
51
0
0
0
0
0
0
0
0
0
0
-8
2
0
5
-7
62
-60
0
0
0
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
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-19
-4
-10
0
0
0
20
0
0
0
0
0
0
0
0
-1
5
-13
39
39
-5
-25
-24
3
0
0
0
0
0
0
0
0
0
-1
5
-18
8
-59
44
-3
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
-31
29
20
0
0
0
0
0
0
0
0
0
0
0
-4
12
22
-13
37
45
0
0
0
0
0
0
0
0
0
0
1
0
3
-7
-6
-54
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
6
2
-20
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
8
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-11
-7
-3
-21
0
0
0
-2
0
0
0
0
0
0
0
0
1
-41
21
0
-10
20
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
84
-2
-27
13
0
0
0
0
0
0
0
0
0
4
0
0
0
-6
4
-11
-56
9
0
0
0
0
0
0
0
0
0
0
0
0
13
5
50
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-7
-42
-1
1
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-6
18
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
20
1
1
-10
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
89
-2
-80
-45
-132
0
0
0
0
0
0
0
0
0
0
0
0
19
25
-179
20
-11
-5
-33
-12
0
0
0
0
0
0
0
0
4
-1
-7
5
-44
-47
-26
109
-98
0
0
0
0
0
0
0
0
-17
-9
0
0
0
-7
60
127
-26
0
0
0
0
0
0
0
0
-19
0
1
-12
-7
-34
-14
-104
-169
0
0
0
0
0
0
0
0
0
0
17
8
-40
-50
-19
-49
-100
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-66
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
7
-48
30
39
-91
16
0
0
0
1
0
0
0
0
0
0
0
3
-34
-18
-19
-68
-28
0
0
0
0
0
0
0
0
0
0
0
-2
36
-98
-76
-77
-192
-87
12
-62
0
0
0
0
0
0
0
0
-25
12
43
45
-34
-107
30
58
-6
0
0
0
0
0
0
0
0
13
74
13
-14
0
0
21
-1
-50
-1
0
0
0
0
0
0
0
-5
-2
19
0
0
59
-112
-114
-41
0
0
0
0
0
0
0
0
0
0
0
-15
-59
-143
-54
-52
10
4
0
0
0
0
0
0
0
0
0
-12
0
0
21
37
-43
-65
-6
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
-183
0
0
0
0
0
0
0
0
0
-18
6
-7
-13
-22
21
0
0
0
0
0
0
0
0
0
0
0
0
-33
-66
-14
-25
69
0
0
0
4
0
0
0
0
0
0
0
0
-3
-82
64
7
-84
-14
22
190
-9
0
0
0
0
0
0
0
0
7
-17
-89
30
8
74
155
-65
-1
0
0
0
0
0
0
0
7
7
8
19
4
0
9
71
93
0
0
0
0
0
0
0
0
48
-62
-20
2
-94
24
-36
-31
36
3
0
0
0
0
0
0
0
-14
-7
-18
-14
-26
-178
-121
-148
-71
-10
0
0
0
0
0
0
0
0
0
0
-37
1
-12
-69
8
-125
-11
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-80
41
0
0
0
0
0
0
0
1
-26
-122
-62
17
84
85
0
0
0
-4
0
0
0
0
0
0
-19
64
-35
-54
-64
99
42
0
0
0
0
0
0
0
0
0
0
0
2
5
-14
90
-2
35
63
-161
37
0
-2
0
0
0
0
0
53
8
59
-82
-161
-3
-103
4
-14
38
37
0
0
0
0
0
0
0
-29
-16
-1
68
72
9
0
9
-30
-18
0
0
0
0
0
0
0
45
20
-46
35
20
57
-34
4
23
14
0
0
0
0
0
0
0
0
6
-5
85
56
65
-57
-51
-29
-72
0
0
0
0
0
0
0
0
0
-1
0
-51
21
42
-18
27
5
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
-30
1
0
0
0
0
0
0
0
0
-10
113
-43
54
28
-24
0
0
0
0
0
0
0
0
0
0
-1
1
-23
-33
43
-153
-19
0
0
0
-9
0
0
0
0
0
0
0
12
47
65
3
157
4
-72
-3
-146
-1
0
0
0
0
0
0
0
-40
47
-59
-53
-69
-55
-24
-33
-44
15
0
0
0
0
0
0
0
61
39
190
40
115
-67
-39
0
-2
3
0
0
0
0
0
0
0
10
142
44
-62
22
79
32
9
83
8
0
0
0
0
0
0
0
0
-64
31
39
-8
-40
12
-117
-102
0
0
0
0
0
0
0
0
1
0
70
42
-83
-15
-107
-81
26
9
0
0
0
0
0
0
0
0
0
0
0
4
2
39
-104
-59
0
0
0
0
0
0
0
0
10
2
21
-76
28
-7
0
0
0
-42
0
0
0
0
0
0
0
-1
-5
-17
27
209
117
0
0
0
-26
0
0
0
0
0
0
0
8
-113
65
27
52
-23
-61
-133
-8
-84
0
0
0
0
0
0
0
0
-82
16
104
127
39
-30
-4
93
-27
0
0
0
0
0
0
0
-1
-17
99
88
121
146
-93
-1
0
-4
0
0
0
0
0
0
0
0
4
-67
130
-8
-9
51
-52
3
-5
0
0
0
0
0
0
0
0
-3
50
69
3
81
161
-77
-122
9
0
0
0
0
0
0
0
6
0
9
7
12
48
46
-23
38
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
2
0
-24
4
40
0
0
0
22
9
0
0
0
0
0
0
0
0
0
0
24
-4
4
15
-29
1
-23
0
0
0
0
0
0
0
0
0
10
-15
12
-5
-76
50
10
0
0
0
0
0
0
0
0
0
0
0
-18
2
-23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
17
-52
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-29
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-45
-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
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-3
-8
-4
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
10
0
-15
6
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
47
-55
-15
-32
-11
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
-26
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
81
111
6
53
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-20
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-131
0
0
0
0
0
0
0
0
0
2
11
-9
24
-7
5
0
0
0
0
0
0
0
0
0
0
0
13
23
-14
-34
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-112
-43
18
65
2
13
3
0
0
0
0
0
0
0
0
0
-12
-1
25
41
-28
-101
-51
-4
0
0
0
0
0
0
0
0
0
-2
25
47
-23
29
6
2
-95
0
0
0
0
0
0
0
0
0
0
-6
-14
1
5
85
26
89
0
0
0
0
0
0
0
0
0
0
1
-10
-26
64
7
-88
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-21
-106
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
16
0
0
0
0
0
0
0
0
0
0
7
27
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-32
4
-3
0
0
0
1
0
0
0
0
0
0
0
0
-3
-10
62
12
10
0
-10
-15
-5
0
0
0
0
0
0
0
0
0
8
-40
-9
-59
-38
-27
-32
-6
0
0
0
0
0
0
0
0
0
0
20
-60
7
-3
-65
38
0
0
0
0
0
0
0
0
0
0
0
5
0
23
14
54
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
53
46
15
52
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
51
103
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-37
77
18
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
19
-12
-6
8
-54
67
-4
5
0
0
0
0
0
0
0
0
-1
-11
6
-12
56
26
-7
2
-2
0
0
0
0
0
0
0
-26
0
0
-3
4
-13
-45
-131
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-2
13
1
0
0
0
0
0
0
0
0
0
0
0
0
40
-7
11
-38
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-22
7
4
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
-42
-28
-18
6
58
0
0
0
0
0
0
0
0
0
0
0
-9
-33
-1
31
42
13
0
0
0
0
0
0
0
0
0
0
0
1
8
45
172
-26
39
4
-123
-53
0
0
0
0
0
0
0
0
-25
1
58
-47
-77
16
-192
96
54
0
0
0
0
0
0
0
0
21
51
10
0
-70
76
-69
-112
-24
0
0
0
0
0
0
0
0
-1
4
-1
0
2
-39
125
133
53
0
0
0
0
0
0
0
0
0
0
0
0
-31
17
-19
-17
-86
0
0
0
0
0
0
0
0
0
0
1
0
-24
4
-46
-32
-20
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
1
8
12
30
49
3
0
0
0
0
0
0
0
0
0
0
40
-2
12
38
45
-66
103
0
0
0
0
0
0
0
0
0
0
-11
3
5
-110
21
34
-65
16
-7
37
0
0
0
0
0
0
0
0
25
20
23
-3
-6
-17
-78
-21
-8
0
0
0
0
0
0
0
0
-12
1
-68
-9
-2
-25
-12
-84
88
0
0
0
0
0
0
0
0
-5
5
-2
-3
0
-1
-3
11
28
-3
0
0
0
0
0
0
0
0
-3
-55
0
-10
27
-96
-136
0
1
0
0
0
0
0
0
0
0
-1
0
-7
-2
-70
-50
37
-44
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-30
0
0
0
0
0
0
0
0
0
-6
53
-10
50
-41
3
0
0
0
0
0
0
0
0
0
0
0
-26
-18
21
99
25
2
0
0
0
0
0
0
0
0
0
0
0
4
-71
97
14
-58
-2
-60
44
-6
0
0
0
0
0
0
0
0
-15
-9
-57
-20
-90
133
-33
183
156
0
0
0
0
0
0
0
0
-25
11
-22
-69
68
-3
54
27
-80
9
0
0
0
0
0
0
0
0
100
-40
-88
3
0
-9
1
24
-8
0
0
0
0
0
0
0
0
0
-50
-17
-17
5
-83
-95
46
2
0
0
0
0
0
0
0
0
0
-5
-1
-38
-10
-106
-182
-40
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
65
0
0
0
0
0
0
0
0
13
-3
27
1
-91
-35
7
0
0
0
1
0
0
0
0
0
0
2
-68
-114
-53
142
44
102
0
0
0
8
0
0
0
0
0
0
13
-14
26
-49
54
-136
-32
48
29
-49
-9
-2
0
0
0
0
0
0
11
-32
5
27
-1
-33
-45
-20
6
0
0
0
0
0
0
0
4
54
-71
-73
140
-72
-28
52
-67
-14
-1
0
0
0
0
0
0
2
20
-37
25
97
40
1
0
-5
-23
1
0
0
0
0
0
0
0
0
-13
-45
-39
-35
23
2
76
-53
-7
0
0
0
0
0
0
0
0
-1
0
15
17
-80
-29
-108
-234
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-75
13
0
0
0
0
0
0
0
0
20
-52
3
45
4
43
0
0
0
0
0
0
0
0
0
0
-15
41
110
-35
-13
15
-131
0
0
0
-1
0
0
0
0
0
0
1
-32
11
24
-3
15
-7
-20
171
-29
-4
-6
0
0
0
0
0
0
38
43
-48
-69
8
-94
69
0
-62
-4
0
0
0
0
0
0
0
-34
8
149
29
-51
-37
-71
48
-67
16
0
0
0
0
0
0
0
2
33
146
50
61
-5
100
0
0
-5
0
0
0
0
0
0
0
0
27
-3
3
-4
-60
-5
138
-99
-17
0
0
0
0
0
0
0
0
0
46
6
53
72
-88
3
-176
-1
0
0
0
0
0
0
0
0
0
0
4
-14
-16
22
115
11
-1
0
0
0
0
0
0
0
1
-8
-44
-104
81
-14
0
0
0
-46
0
0
0
0
0
0
0
0
29
-124
-4
-14
-35
0
0
0
28
0
0
0
0
0
0
0
5
94
14
-13
68
94
31
34
129
-1
0
0
0
0
0
0
0
-3
0
86
36
7
-13
-62
-145
-9
-68
0
0
0
0
0
0
0
-5
87
12
47
16
22
-127
-8
1
-11
0
0
0
0
0
0
0
0
-6
15
66
46
63
-47
-4
0
0
0
0
0
0
0
0
0
0
0
63
15
66
-100
33
27
39
5
0
0
0
0
0
0
0
0
0
0
-62
-113
62
4
-44
-15
-123
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
-4
5
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
0
-33
7
0
0
0
0
0
0
0
0
0
5
-13
4
-1
-19
-10
14
-23
0
0
0
0
0
0
0
0
0
-2
39
64
-6
9
-58
2
2
0
0
0
0
0
0
0
0
0
0
-4
10
6
-77
10
0
-1
0
0
0
0
0
0
0
0
0
0
-18
-7
22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
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
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
20
-16
32
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-7
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-141
0
0
0
0
0
0
0
0
0
0
11
-17
12
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-13
-2
-21
-4
0
0
0
0
0
0
0
0
0
0
0
3
13
48
-58
15
28
8
0
21
0
0
0
0
0
0
0
0
0
0
69
-9
-10
-103
-22
-4
-19
0
0
0
0
0
0
0
0
0
-27
0
-17
61
-7
-21
-49
-54
0
0
0
0
0
0
0
0
0
0
1
-3
12
-14
-55
-21
-65
0
0
0
0
0
0
0
0
0
0
0
14
-11
107
-38
104
-62
0
0
0
0
0
0
0
0
0
0
0
0
5
21
28
-52
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-44
12
-3
-4
0
0
0
5
0
0
0
0
0
0
0
0
1
-19
-20
113
2
0
-1
16
0
0
0
0
0
0
0
0
0
0
38
-2
13
-32
-53
22
14
0
0
0
0
0
0
0
0
0
0
-71
-2
-14
-1
-13
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
-13
70
-34
-2
33
-3
0
0
0
0
0
0
0
0
0
0
0
-20
0
-20
168
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
26
-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
7
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-47
-1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
11
-28
34
-12
9
-13
-2
0
0
0
0
0
0
0
0
0
-3
-5
-1
91
28
-23
0
0
0
0
0
0
0
0
0
0
0
0
5
68
-32
6
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-7
-16
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-11
12
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
33
0
0
0
0
0
0
0
0
0
0
1
-2
-16
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
62
29
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
23
66
14
-1
0
23
0
0
0
0
0
0
0
0
0
-1
32
129
-78
-106
-14
-32
-104
0
0
0
0
0
0
0
0
0
12
3
-48
-69
-112
-16
-66
13
0
0
0
0
0
0
0
0
0
-18
-9
0
4
87
145
-104
38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-22
40
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-96
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
0
0
0
0
0
0
0
0
0
0
6
9
76
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
50
-27
0
0
0
1
0
0
0
0
0
0
0
0
3
-34
-66
-32
-67
65
0
-13
0
0
0
0
0
0
0
0
0
11
92
-4
102
-59
64
-21
-57
-1
0
0
0
0
0
0
0
13
-44
15
-81
-48
-64
-149
-39
-31
0
0
0
0
0
0
0
0
0
0
3
11
0
101
-85
-114
95
0
0
0
0
0
0
0
0
0
19
-4
5
0
-2
27
-37
-12
0
0
0
0
0
0
0
0
8
3
-10
0
6
-41
-134
-92
-58
-22
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
136
4
0
0
0
0
0
0
0
0
0
-12
29
-24
19
-16
0
0
0
0
0
0
0
0
0
0
0
0
-6
92
8
100
-75
0
0
0
0
0
0
0
0
0
0
0
-1
-9
108
-16
27
58
17
10
91
0
0
0
0
0
0
0
0
2
-7
-137
28
-57
4
-50
-72
112
0
0
0
0
0
0
0
0
-5
-5
-122
-24
36
-46
-96
-118
44
0
0
0
0
0
0
0
0
0
35
38
-4
59
3
59
-106
-8
-1
0
0
0
0
0
0
0
0
-4
-78
-55
-12
0
1
2
42
0
0
0
0
0
0
0
0
0
0
0
-43
-5
0
-160
-41
-23
34
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-87
0
0
0
0
0
0
0
0
1
-61
41
-3
73
-7
0
0
0
17
0
0
0
0
0
0
0
0
-49
15
30
127
28
0
0
0
50
-3
0
0
0
0
0
-9
10
-28
-7
64
-90
165
-13
-1
-89
0
0
0
0
0
0
0
-6
2
-52
46
-18
91
-67
129
84
-30
-12
0
0
0
0
0
0
0
-37
71
15
-53
11
-83
-38
-67
28
-48
0
0
0
0
0
0
0
4
-62
-72
-49
-46
-102
34
-28
-110
42
0
0
0
0
0
0
0
0
-2
48
29
-50
-1
0
-7
1
0
0
0
0
0
0
0
0
0
0
28
-15
-29
-57
0
61
-1
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-60
0
-3
0
0
0
0
0
0
0
2
-68
-29
-35
41
-52
0
0
0
-5
0
0
0
0
0
0
0
21
49
-2
26
-24
0
0
0
0
5
0
0
0
0
0
0
0
10
6
-36
45
-10
-162
52
32
39
-2
-2
0
0
0
0
0
0
-13
19
-43
-10
-14
49
-156
18
-36
6
0
0
0
0
0
0
0
-13
42
-22
43
-143
-94
-52
-14
36
0
0
0
0
0
0
0
0
16
-42
-19
4
-15
10
-35
-10
-44
7
0
0
0
0
0
0
0
23
-5
33
101
93
-141
27
0
0
17
0
0
0
0
0
0
0
0
-4
14
-55
-7
-98
-5
-1
-47
68
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-59
-22
0
0
0
0
0
0
0
0
0
-84
10
28
6
-10
0
0
0
-16
0
0
0
0
0
0
0
1
-8
-29
-83
36
-66
0
0
0
-4
0
0
0
0
0
0
0
0
76
1
40
32
53
12
-50
13
49
0
0
0
0
0
0
0
31
13
-80
-60
106
12
-13
-17
42
34
0
0
0
0
0
0
0
-2
-24
-120
61
-64
-83
-19
-88
-74
-50
0
0
0
0
0
0
0
0
3
0
13
-49
-21
-52
2
0
-20
0
0
0
0
0
0
0
0
-1
13
133
-40
-64
-111
4
0
0
0
0
0
0
0
0
0
0
0
-109
-37
120
-7
76
47
-2
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
10
0
-6
-1
0
0
0
-2
-47
0
0
0
0
0
0
0
0
0
-4
0
-15
0
0
0
8
-110
0
0
0
0
0
0
0
0
0
0
19
-8
-11
0
4
-2
32
0
0
0
0
0
0
0
0
0
2
0
-14
19
-42
15
-5
-1
0
0
0
0
0
0
0
0
0
0
6
-2
11
-26
-105
0
-10
0
0
0
0
0
0
0
0
0
0
11
-34
2
41
14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
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
-1
0
2
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
-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
0
0
0
0
0
0
0
-28
0
-34
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
0
0
9
-7
0
0
0
0
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
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-20
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
45
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
31
-34
51
-14
5
0
0
0
0
0
0
0
0
0
0
3
1
10
-12
3
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
10
0
0
0
0
0
0
0
0
0
-5
3
-33
20
-3
3
6
1
0
0
0
0
0
0
0
0
0
8
0
0
-3
-4
20
8
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-26
2
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
0
0
0
0
0
0
0
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
3
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
6
9
-16
-15
24
10
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
19
12
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
7
8
-26
16
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
76
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
24
0
-2
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
2
0
-1
5
-4
3
-7
0
0
0
0
0
0
0
0
0
-2
-10
2
45
-67
81
109
16
0
0
0
0
0
0
0
0
0
0
-9
0
-5
-16
7
62
-3
0
0
0
0
0
0
0
0
0
0
-7
0
8
-41
-24
-42
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-23
54
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
23
-29
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-57
-18
-4
0
0
0
-10
0
0
0
0
0
0
0
0
8
13
47
-50
-73
-8
-8
4
0
0
0
0
0
0
0
0
0
0
-14
3
-83
38
4
-13
-141
-29
0
0
0
0
0
0
0
0
0
0
2
-16
4
-126
-41
-93
23
0
0
0
0
0
0
0
0
0
4
11
-3
0
25
-14
-70
54
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-10
-48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
35
27
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
-52
54
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-32
-12
25
-3
2
11
0
0
0
0
0
0
0
0
0
0
22
62
-37
7
1
-9
-100
0
0
0
0
0
0
0
0
3
7
1
-77
-20
43
-28
-70
14
0
0
0
0
0
0
0
0
0
0
-17
15
-24
-78
-57
15
33
0
0
0
0
0
0
0
0
0
0
-3
74
4
0
-63
-48
-64
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
-6
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
7
0
0
0
0
0
0
0
0
0
0
23
5
-3
17
0
0
0
0
0
0
0
0
0
0
0
0
-3
-56
19
-48
-6
0
0
0
0
0
0
0
0
0
0
0
0
-13
-46
-116
13
52
13
26
-1
0
0
0
0
0
0
0
0
14
0
-23
-14
110
-48
34
26
26
2
0
0
0
0
0
0
0
-6
-59
34
-53
63
-149
55
27
-22
0
0
0
0
0
0
0
0
0
0
2
40
7
18
-50
-238
76
-11
0
0
0
0
0
0
0
0
-6
6
-12
-79
41
-6
15
42
5
0
0
0
0
0
0
0
-13
0
-48
0
1
0
0
-1
-6
1
0
0
0
0
0
0
0
0
-17
0
0
0
-7
0
0
-22
0
0
0
0
0
0
0
0
0
31
33
7
-1
-32
0
0
0
-1
0
0
0
0
0
0
0
16
-19
104
110
-62
-60
0
0
0
-7
0
0
0
0
0
0
0
-2
-31
-28
113
92
8
-6
-3
-117
0
0
0
0
0
0
0
0
-51
-22
-60
-60
47
-53
151
-61
5
1
0
0
0
0
0
0
0
0
3
48
-9
-55
-17
-101
-13
16
0
0
0
0
0
0
0
0
0
4
-108
28
-124
32
-16
11
-84
-8
0
0
0
0
0
0
0
0
-10
-6
-50
-40
-57
-20
-16
58
-5
0
0
0
0
0
0
0
0
4
32
36
-58
8
0
0
19
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
-15
2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-33
-10
24
0
0
0
-29
0
0
0
0
0
0
0
0
-3
5
2
-52
8
15
-1
5
14
0
0
0
0
0
0
0
0
0
-2
0
15
-31
18
7
1
-35
0
0
0
0
0
0
0
0
0
12
-4
-6
-19
-129
-34
3
24
0
0
0
0
0
0
0
0
0
4
-47
45
-91
-19
-19
-25
25
0
0
0
0
0
0
0
0
0
0
-4
-4
40
35
0
0
-12
0
0
0
0
0
0
0
0
0
0
-4
-27
5
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
8
0
-7
-7
-34
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
15
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-38
-2
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
0
5
25
-18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-18
0
-14
-11
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
-5
9
-70
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
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-41
-6
-82
21
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-60
75
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
-51
0
51
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
122
2
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
54
7
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
-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
35
0
0
13
0
0
0
0
0
0
0
0
0
0
0
2
-15
-9
-33
0
-10
0
0
0
0
0
0
0
0
0
0
0
-3
3
40
-72
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
12
-23
0
-57
0
0
0
0
0
0
0
0
0
0
0
1
0
3
17
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-23
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
4
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
35
-6
-24
-2
15
0
0
0
0
0
0
0
0
0
0
-1
-3
-16
82
-21
4
-1
0
0
0
0
0
0
0
0
0
0
-2
3
4
1
50
12
2
0
-19
0
0
0
0
0
0
0
0
8
3
-1
1
0
20
0
2
-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
-2
0
0
4
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
4
0
0
0
0
0
0
0
0
0
0
0
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
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
9
-79
49
6
13
0
1
0
0
0
0
0
0
0
0
0
-28
-4
-7
22
-15
11
4
0
0
0
0
0
0
0
0
0
0
2
-2
2
3
0
17
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
25
2
-11
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
9
-6
0
7
9
0
0
0
0
0
0
0
0
4
-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
4
27
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
5
-1
3
-17
2
56
0
0
0
0
0
0
0
0
0
0
4
0
4
0
-1
0
0
12
0
0
0
0
0
0
0
0
0
4
0
0
6
2
-2
0
0
-1
0
0
0
0
0
0
0
0
7
-1
-5
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
-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
-22
-11
-11
17
61
0
5
0
0
0
0
0
0
0
0
0
0
11
13
69
32
-26
-1
-3
2
-2
0
0
0
0
0
0
0
0
5
-22
50
-3
1
5
-49
29
0
0
0
0
0
0
0
0
0
-132
62
-3
-67
-2
2
0
0
-1
0
0
0
0
0
0
0
0
-35
38
-9
6
-14
-12
-15
0
0
0
0
0
0
0
0
0
0
3
11
11
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
26
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
-1
0
0
0
0
0
0
0
0
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
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
61
21
63
78
48
19
0
33
0
0
0
0
0
0
0
0
0
46
28
-25
33
-82
-37
7
-1
0
0
0
0
0
0
0
0
10
106
-66
70
-67
3
-23
-17
-12
0
0
0
0
0
0
0
0
-16
94
45
-5
-68
3
22
4
3
0
0
0
0
0
0
0
0
-4
-4
-7
5
-12
5
0
0
0
0
0
0
0
0
0
0
0
-7
-75
-1
53
38
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-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
1
-5
54
24
-29
12
21
0
0
0
0
0
0
0
0
0
0
5
-50
-86
83
-20
-35
-5
14
-1
0
0
0
0
0
0
0
0
-17
-4
-45
61
108
53
12
19
38
4
0
0
0
0
0
0
0
-8
30
126
21
1
47
-41
-38
1
0
0
0
0
0
0
0
0
-4
-6
4
49
73
-15
117
-3
1
0
0
0
0
0
0
0
0
24
12
67
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
49
7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-43
43
-77
3
0
0
0
0
0
0
0
0
0
0
4
1
154
29
25
-71
-51
-15
5
0
0
0
0
0
0
0
0
25
67
29
56
7
4
55
8
0
0
0
0
0
0
0
0
0
44
-17
-25
38
2
-49
16
5
0
0
0
0
0
0
0
0
0
33
68
57
19
63
71
5
0
-2
0
0
0
0
0
0
0
0
59
2
129
9
-3
2
0
0
0
0
0
0
0
0
0
0
0
161
16
-92
65
1
0
9
0
0
0
0
0
0
0
0
0
0
-59
-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
-8
12
-1
-15
8
-2
0
0
0
0
0
0
0
0
0
0
0
14
7
20
18
7
-6
1
-2
0
0
0
0
0
0
0
0
0
0
3
32
38
11
7
5
0
0
0
0
0
0
0
0
0
0
0
5
-60
18
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
13
-2
-10
-1
-1
8
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
9
-13
-17
-2
0
0
0
0
0
0
0
0
0
0
0
-34
-11
26
-16
4
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-37
-17
0
0
1
0
0
0
0
0
0
0
0
0
11
-73
-35
28
21
-28
-5
-3
0
0
0
0
0
0
0
0
0
0
99
39
-3
15
-12
-7
0
0
0
0
0
0
0
0
0
0
-3
61
5
-15
-13
5
2
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
3
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
0
0
0
0
0
0
0
0
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
8
21
8
-9
-1
0
0
0
0
0
0
0
0
0
0
-4
-2
10
138
-5
-5
-4
3
0
0
0
0
0
0
0
0
0
2
-27
55
11
-8
-1
-5
-3
0
0
0
0
0
0
0
0
0
-2
4
6
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
16
2
0
1
-1
-15
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-7
25
27
-21
0
-1
0
0
0
0
0
0
0
0
-1
0
3
-6
1
-16
0
-2
0
0
0
0
0
0
0
0
0
-18
4
2
1
4
1
10
0
0
0
0
0
0
0
0
0
0
5
-5
13
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-31
-19
38
0
0
0
0
0
0
0
0
0
0
-20
-24
6
72
0
38
13
-3
3
0
0
0
0
0
0
0
0
3
7
-5
10
-6
-36
12
-15
-2
0
0
0
0
0
0
0
0
13
11
12
-13
5
8
-1
2
0
0
0
0
0
0
0
0
0
3
-14
-13
35
2
-14
-1
0
0
0
0
0
0
0
0
0
0
4
-1
-15
7
-2
0
0
-5
0
0
0
0
0
0
0
0
0
1
19
-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
-16
-1
20
-55
-7
48
14
15
0
0
0
0
0
0
0
0
0
33
42
39
29
21
55
-57
0
-11
0
0
0
0
0
0
0
0
-58
120
-76
-4
55
18
18
4
0
0
0
0
0
0
0
0
0
-30
215
18
6
52
34
-44
-2
0
0
0
0
0
0
0
0
0
-45
45
-47
37
-13
-18
-14
5
0
0
0
0
0
0
0
0
0
45
-40
63
55
22
-5
60
-2
0
0
0
0
0
0
0
0
0
60
-47
1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
52
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
9
16
80
-34
56
7
-8
0
0
0
0
0
0
0
0
0
0
-19
19
28
-20
-90
31
-19
37
-1
0
0
0
0
0
0
0
0
-36
-12
58
-102
14
166
-36
12
-27
1
0
0
0
0
0
0
0
12
83
193
-1
-61
-32
-26
69
0
0
0
0
0
0
0
0
0
3
69
149
63
74
-5
-2
-15
-6
0
0
0
0
0
0
0
0
58
102
35
10
-7
3
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
-13
-2
-14
-5
29
-4
0
0
0
0
0
0
0
0
0
84
29
-1
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
148
-3
57
36
-8
-18
27
-16
0
0
0
0
0
0
0
0
0
37
-56
-83
61
47
-94
-56
3
-21
0
0
0
0
0
0
0
0
93
109
23
-38
9
-35
-64
-28
5
-3
0
0
0
0
0
0
0
41
-23
18
59
28
-14
-11
96
-17
-1
0
0
0
0
0
0
0
-47
45
6
38
13
57
-18
13
0
-7
0
0
0
0
0
0
0
105
-46
7
-18
-60
-11
-2
-11
1
0
0
0
0
0
0
0
0
-42
47
65
-7
5
-2
8
5
0
0
0
0
0
0
0
0
0
6
-16
-10
-25
-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
139
13
-6
-6
-30
31
50
59
0
0
0
0
0
0
0
0
0
-43
66
-57
48
100
-28
115
-15
2
0
0
0
0
0
0
0
0
-44
-6
112
10
23
75
-81
-79
12
5
0
0
0
0
0
0
0
-12
162
7
11
-7
3
28
153
-4
-4
0
0
0
0
0
0
0
-45
72
-58
58
12
74
-8
90
19
0
0
0
0
0
0
0
0
-46
103
-2
0
-31
53
65
19
0
0
0
0
0
0
0
0
0
20
60
96
33
-3
26
0
0
1
0
0
0
0
0
0
0
0
3
107
76
148
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
38
14
-56
9
60
109
0
1
0
0
0
0
0
0
0
0
81
81
38
88
32
-153
73
2
0
0
0
0
0
0
0
0
0
3
57
9
-146
81
-115
-44
21
-15
0
0
0
0
0
0
0
0
165
25
58
18
20
-49
31
117
0
0
0
0
0
0
0
0
0
20
103
-56
-85
5
-43
52
70
0
0
0
0
0
0
0
0
0
22
-57
-43
-20
-35
60
1
0
0
0
0
0
0
0
0
0
0
-17
45
-13
94
-2
-3
3
0
0
0
0
0
0
0
0
0
0
-30
-41
-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
0
0
0
-1
-18
3
-8
-8
-34
0
7
0
0
0
0
0
0
0
0
0
45
57
81
32
-12
-56
-1
-4
0
0
0
0
0
0
0
0
0
6
29
25
1
-9
29
-47
8
0
0
0
0
0
0
0
0
0
-66
50
-32
62
9
33
4
0
0
0
0
0
0
0
0
0
0
12
1
-31
0
11
0
-1
1
0
0
0
0
0
0
0
0
0
9
1
8
1
-3
-17
-3
0
0
0
0
0
0
0
0
0
0
-46
-2
-2
6
3
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
-1
0
-6
10
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
-8
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-11
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
0
0
0
0
0
0
0
0
0
0
0
12
11
-4
-1
-2
16
0
-1
0
0
0
0
0
0
0
0
0
0
-6
3
-3
6
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
-5
0
-8
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-8
3
4
6
-4
0
0
0
0
0
0
0
0
0
5
-22
22
-47
4
-9
67
2
0
0
0
0
0
0
0
0
0
7
1
-69
57
63
23
-20
-2
0
0
0
0
0
0
0
0
0
0
104
24
-4
-18
8
-15
2
10
0
0
0
0
0
0
0
0
0
-2
49
37
-6
1
-5
-2
2
0
0
0
0
0
0
0
0
0
0
26
7
-1
-1
-1
14
9
0
0
0
0
0
0
0
0
0
6
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
67
-5
-17
3
0
0
0
0
0
0
0
0
0
0
-1
-11
12
-4
0
20
1
0
0
0
0
0
0
0
0
0
0
4
0
3
-15
-13
-7
4
0
0
0
0
0
0
0
0
0
0
0
10
-39
10
0
-13
3
0
0
0
0
0
0
0
0
0
0
-4
-32
0
-1
0
-2
-4
4
0
0
0
0
0
0
0
0
0
-3
40
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
1
0
6
-2
10
0
1
0
0
0
0
0
0
0
0
0
4
-2
12
0
-2
-3
10
-3
0
0
0
0
0
0
0
0
0
11
0
43
-2
7
1
0
0
3
0
0
0
0
0
0
0
0
-6
7
-2
-2
-3
-12
0
0
0
0
0
0
0
0
0
0
0
63
-2
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
2
6
2
49
-2
4
0
0
0
0
0
0
0
0
0
15
-32
81
-39
-4
-39
25
0
0
0
0
0
0
0
0
0
0
-4
6
-17
8
-5
61
-17
-1
0
0
0
0
0
0
0
0
0
-84
101
-12
-25
5
-2
-23
15
-6
0
0
0
0
0
0
0
0
-68
-6
0
0
-2
-4
0
0
0
1
0
0
0
0
0
0
0
11
7
-1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
-14
13
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
11
-48
-97
-45
122
85
-1
8
0
0
0
0
0
0
0
0
0
-3
-29
64
-85
-74
5
13
4
-3
0
0
0
0
0
0
0
0
-110
39
67
147
16
2
-55
0
1
0
0
0
0
0
0
0
0
48
53
60
-35
-70
-35
-16
-4
7
0
0
0
0
0
0
0
0
49
0
16
-23
65
19
8
4
0
0
0
0
0
0
0
0
0
-70
59
64
-23
3
-5
0
-14
0
0
0
0
0
0
0
0
0
23
21
9
38
0
-2
25
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
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
-50
-43
-6
-55
-140
8
0
0
0
0
0
0
0
0
0
12
-30
171
19
5
89
-61
-28
-39
-2
0
0
0
0
0
0
0
33
44
38
93
-48
1
12
-31
-9
0
0
0
0
0
0
0
0
7
108
8
-42
-46
-58
-43
15
11
-5
0
0
0
0
0
0
0
-6
-14
122
-45
46
36
97
-8
0
0
0
0
0
0
0
0
0
-24
73
158
29
13
48
-8
14
0
0
0
0
0
0
0
0
0
2
0
135
8
4
-5
-7
0
0
0
0
0
0
0
0
0
0
9
85
16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
16
27
125
43
-58
59
52
0
0
0
0
0
0
0
0
0
60
77
-57
-90
-76
115
-100
42
-26
1
0
0
0
0
0
0
0
79
-77
-39
-12
91
54
11
-2
9
-2
0
0
0
0
0
0
0
120
13
59
-87
137
-40
-44
-11
0
7
0
0
0
0
0
0
0
27
24
91
-57
133
78
105
43
52
0
0
0
0
0
0
0
0
112
-87
19
-37
179
78
38
-15
54
0
0
0
0
0
0
0
0
-49
83
33
-30
-27
-26
-8
1
0
0
0
0
0
0
0
0
0
15
57
-25
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
90
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
57
-138
-38
34
53
-16
0
0
0
0
0
0
0
0
0
-63
68
112
117
-53
-24
-69
27
-21
0
0
0
0
0
0
0
0
47
-36
85
127
135
-110
-35
17
7
-7
0
0
0
0
0
0
0
23
-56
14
85
50
13
9
54
-61
0
0
0
0
0
0
0
0
-12
8
64
-66
16
213
57
70
87
-1
0
0
0
0
0
0
0
35
49
0
151
-48
31
1
-82
7
13
0
0
0
0
0
0
0
-78
5
-70
-46
-20
-1
-45
11
106
-3
0
0
0
0
0
0
0
-9
119
-8
-77
33
12
-9
16
0
0
0
0
0
0
0
0
0
68
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
5
50
-61
-5
-107
-81
0
9
0
0
0
0
0
0
0
0
79
81
49
2
103
-34
17
24
0
4
0
0
0
0
0
0
0
92
155
48
-21
50
19
-79
-12
-3
0
0
0
0
0
0
0
0
-71
44
17
67
8
84
53
33
2
0
0
0
0
0
0
0
0
34
68
8
-53
4
-14
-41
23
2
0
0
0
0
0
0
0
0
-125
37
29
28
-30
47
64
-32
0
0
0
0
0
0
0
0
0
154
-44
-9
-10
33
26
12
0
4
0
0
0
0
0
0
0
0
-48
74
21
-3
-1
26
-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
40
-6
-5
40
-20
7
0
0
0
0
0
0
0
0
0
0
0
-19
-31
-7
4
-26
27
-1
0
10
0
0
0
0
0
0
0
0
60
32
2
15
0
24
59
-6
0
0
0
0
0
0
0
0
0
-24
53
7
-39
19
-22
-20
8
0
0
0
0
0
0
0
0
0
2
56
56
16
-14
27
-1
2
0
0
0
0
0
0
0
0
0
18
8
24
0
0
1
2
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
0
0
0
16
-6
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
6
0
-3
7
26
-75
0
0
0
0
0
0
0
0
0
8
0
0
0
3
9
-1
0
0
0
0
0
0
0
0
0
0
0
10
-2
2
-5
0
3
-1
0
0
0
0
0
0
0
0
0
-12
-3
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
16
0
0
0
0
0
0
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
21
-28
0
0
4
-8
-9
0
0
0
0
0
0
0
0
0
-6
21
13
-23
-12
-37
-114
-14
-1
0
0
0
0
0
0
0
0
12
0
-14
-52
-75
-51
-51
34
0
0
0
0
0
0
0
0
0
4
0
-21
50
18
33
65
8
-1
0
0
0
0
0
0
0
0
0
-74
3
78
97
-29
3
0
-6
0
0
0
0
0
0
0
0
0
100
113
19
-7
29
-2
15
-2
0
0
0
0
0
0
0
0
0
-4
5
-8
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
6
4
1
0
0
0
0
0
0
0
0
0
0
0
32
2
9
9
-8
-14
18
-1
0
0
0
0
0
0
0
0
0
12
-7
-16
42
3
-16
0
0
0
0
0
0
0
0
0
0
0
-21
0
-7
-1
-1
-23
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
14
0
-10
0
0
0
0
0
0
0
0
0
0
0
71
-2
-2
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
9
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
0
0
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
6
-2
0
0
0
0
0
0
0
0
0
0
-1
-3
7
1
2
19
2
5
0
0
0
0
0
0
0
0
0
3
0
0
-94
6
0
6
-1
-13
0
0
0
0
0
0
0
0
52
-50
80
0
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
50
-2
0
2
24
-5
0
0
0
0
0
0
0
0
0
0
0
3
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
2
0
25
0
1
-18
-6
2
0
0
0
0
0
0
0
0
0
9
-47
9
1
38
-77
5
6
0
0
0
0
0
0
0
0
0
-16
16
-14
22
-22
-33
9
-3
0
0
0
0
0
0
0
0
0
21
100
56
45
3
-13
0
0
-3
0
0
0
0
0
0
0
0
19
-18
36
2
21
0
43
0
1
0
0
0
0
0
0
0
0
6
-9
-4
38
4
17
0
0
0
0
0
0
0
0
0
0
0
-7
-13
7
19
4
0
0
0
0
0
0
0
0
0
0
0
0
12
76
0
0
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
3
108
43
4
-44
8
4
0
0
0
0
0
0
0
0
0
126
-35
56
29
-50
25
-22
15
-8
0
0
0
0
0
0
0
0
11
-21
-46
19
4
7
-68
3
53
0
0
0
0
0
0
0
0
33
-22
-11
-4
99
-1
-31
15
0
0
0
0
0
0
0
0
0
-22
-87
5
-9
-19
102
48
6
22
0
0
0
0
0
0
0
0
-76
-11
6
47
59
-41
-1
0
0
0
0
0
0
0
0
0
0
39
-13
-16
9
-2
1
-4
0
0
0
0
0
0
0
0
0
0
5
45
-26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
28
-20
-19
-118
52
-18
56
0
0
0
0
0
0
0
0
0
20
37
36
-26
99
143
-70
76
2
0
0
0
0
0
0
0
0
22
162
94
-25
0
72
-90
-26
-48
-16
0
0
0
0
0
0
0
5
30
-22
-170
-11
-43
4
-11
-7
0
0
0
0
0
0
0
0
-35
-84
49
21
-26
-15
-5
19
14
-1
0
0
0
0
0
0
0
10
70
-49
61
27
72
-47
-3
0
0
0
0
0
0
0
0
0
78
32
-10
74
-52
13
14
-1
1
0
0
0
0
0
0
0
0
33
135
136
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
-62
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
20
59
66
45
89
-58
52
0
0
0
0
0
0
0
0
0
111
30
56
100
77
-41
-7
-21
8
0
0
0
0
0
0
0
0
34
59
125
71
71
155
-42
63
-17
11
0
0
0
0
0
0
0
195
-27
134
76
75
128
66
19
-2
0
0
0
0
0
0
0
0
-53
91
-32
212
33
-49
27
4
2
0
0
0
0
0
0
0
0
-10
102
18
52
-34
37
-14
0
-2
0
0
0
0
0
0
0
0
11
48
-85
-30
111
43
-8
0
-2
0
0
0
0
0
0
0
0
-10
-21
11
42
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
27
-45
0
-24
142
137
21
0
0
0
0
0
0
0
0
0
98
44
-10
-65
-14
-35
42
69
-3
-12
0
0
0
0
0
0
0
-80
12
23
-105
99
80
-72
68
103
-4
0
0
0
0
0
0
0
-57
-11
33
-18
84
45
4
39
0
0
0
0
0
0
0
0
0
-84
71
80
54
78
11
60
-91
-58
0
0
0
0
0
0
0
0
-15
4
-25
47
-3
-40
76
118
-21
5
0
0
0
0
0
0
0
98
46
72
-51
-65
92
-55
169
56
5
0
0
0
0
0
0
0
-46
17
20
-56
5
-11
-11
69
0
0
0
0
0
0
0
0
0
-4
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
127
37
-68
72
-54
-48
0
0
0
0
0
0
0
0
0
0
-11
-7
57
79
-110
-20
-99
-17
0
0
0
0
0
0
0
0
0
14
67
37
22
54
5
-16
63
5
0
0
0
0
0
0
0
0
80
-45
94
34
-24
27
-18
-18
0
0
0
0
0
0
0
0
0
9
102
27
15
-53
56
-11
-37
-4
0
0
0
0
0
0
0
0
51
-26
62
32
36
122
18
-33
0
0
0
0
0
0
0
0
0
45
-24
112
169
-28
-4
-5
-4
0
0
0
0
0
0
0
0
0
-14
-8
-57
8
16
-2
-12
25
0
0
0
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
1
-2
23
-58
-2
0
0
0
0
0
0
0
0
0
0
0
-17
-25
67
11
-11
-16
0
0
0
0
0
0
0
0
0
0
0
80
0
2
-34
17
58
2
-2
0
0
0
0
0
0
0
0
0
-6
-1
5
-8
32
-4
-7
0
0
0
0
0
0
0
0
0
0
-1
53
70
-16
-16
0
0
0
0
0
0
0
0
0
0
0
0
82
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-14
-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
-4
1
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
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
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
6
1
-2
-8
-1
18
5
0
0
0
0
0
0
0
0
0
0
-11
7
-12
-21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
10
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
8
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
4
1
-15
14
2
0
0
0
0
0
0
0
0
0
0
-22
-21
-50
29
81
3
38
-3
0
0
0
0
0
0
0
0
-3
33
0
-22
25
41
10
-9
-5
0
0
0
0
0
0
0
0
1
-16
12
-3
77
60
127
-1
-1
0
0
0
0
0
0
0
0
23
0
64
-144
-26
43
-9
-17
15
0
0
0
0
0
0
0
0
0
84
-19
7
73
107
-4
0
-2
0
0
0
0
0
0
0
0
2
-46
-57
-65
-38
0
2
0
0
0
0
0
0
0
0
0
0
0
-112
45
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
-7
-1
-4
0
0
0
0
0
0
0
0
0
0
-9
0
0
1
-7
-7
-13
2
0
0
0
0
0
0
0
0
0
20
-1
6
4
5
23
-13
0
0
0
0
0
0
0
0
0
0
-8
-14
11
25
-19
-9
0
0
0
0
0
0
0
0
0
0
0
90
0
-13
7
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
-39
70
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
1
6
-7
0
0
8
0
0
0
0
0
0
0
0
0
0
-3
-1
13
13
1
37
-4
-2
0
0
0
0
0
0
0
0
0
-2
8
-41
2
-9
11
26
5
0
0
0
0
0
0
0
0
0
-6
6
-3
1
-15
0
0
0
3
0
0
0
0
0
0
0
0
-11
-4
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-25
-8
-29
-3
8
3
0
0
0
0
0
0
0
0
0
43
14
-49
-54
-18
137
-23
-1
0
0
0
0
0
0
0
0
0
-10
12
-28
-10
68
55
25
-71
9
0
0
0
0
0
0
0
0
-100
24
13
107
-52
-24
-31
6
0
0
0
0
0
0
0
0
0
-7
-33
56
-69
0
0
-14
0
0
0
0
0
0
0
0
0
0
-277
77
31
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-53
-21
-14
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-41
-94
-86
-13
2
12
-15
0
0
0
0
0
0
0
0
0
29
-89
59
24
39
108
70
91
-8
0
0
0
0
0
0
0
0
-1
49
17
-1
-93
-28
85
60
-22
0
0
0
0
0
0
0
0
88
-103
-52
11
-74
7
-16
17
4
0
0
0
0
0
0
0
0
-40
176
11
51
-128
0
-22
-1
-8
0
0
0
0
0
0
0
0
-6
79
195
-81
-2
40
12
10
-3
0
0
0
0
0
0
0
0
-12
74
-128
74
5
-2
15
1
0
0
0
0
0
0
0
0
0
5
107
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
101
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
21
-35
-41
70
-67
-72
-26
0
0
0
0
0
0
0
0
0
-37
56
-24
49
38
71
73
20
157
0
0
0
0
0
0
0
0
21
1
-117
-18
64
127
37
5
-43
4
0
0
0
0
0
0
0
-57
4
99
85
14
-48
-24
-27
3
0
0
0
0
0
0
0
0
5
-54
-7
63
87
-53
0
-10
17
0
0
0
0
0
0
0
0
65
62
-44
10
-46
24
32
-2
-17
0
0
0
0
0
0
0
0
88
-32
73
25
63
-24
75
-1
0
0
0
0
0
0
0
0
0
-7
62
-42
-14
-1
2
0
0
0
0
0
0
0
0
0
0
0
-83
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
140
-40
220
50
43
11
89
0
0
0
0
0
0
0
0
0
18
58
43
-52
10
15
73
83
27
0
0
0
0
0
0
0
0
-7
79
-10
-16
96
127
55
183
23
-5
0
0
0
0
0
0
0
66
-50
116
-24
-21
91
40
-61
-28
0
0
0
0
0
0
0
0
-64
81
30
-31
65
118
-30
0
1
0
0
0
0
0
0
0
0
-195
-5
95
123
40
38
-33
24
-10
-1
0
0
0
0
0
0
0
26
7
26
47
-24
15
27
-1
0
0
0
0
0
0
0
0
0
-51
-35
-79
77
8
-2
8
0
0
0
0
0
0
0
0
0
0
65
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-29
-37
173
71
35
67
-66
0
0
0
0
0
0
0
0
0
8
-62
-59
59
0
-42
3
13
40
0
0
0
0
0
0
0
0
40
38
-36
67
78
-10
30
-72
3
109
0
0
0
0
0
0
0
-40
133
12
84
152
-25
50
17
85
-3
0
0
0
0
0
0
0
27
-35
50
58
-20
32
87
43
0
-2
0
0
0
0
0
0
0
110
30
-10
51
83
43
121
-36
82
0
0
0
0
0
0
0
0
31
21
233
78
39
89
92
-1
-20
-1
0
0
0
0
0
0
0
-38
41
7
-33
3
42
121
-6
13
0
0
0
0
0
0
0
0
-1
-16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
-32
33
115
32
-80
0
0
0
0
0
0
0
0
0
0
-33
62
11
167
-4
-73
-86
-24
-3
0
0
0
0
0
0
0
0
20
18
74
26
9
40
104
16
-3
0
0
0
0
0
0
0
0
42
80
-9
-129
94
54
-23
126
1
0
0
0
0
0
0
0
0
-69
61
-20
-15
58
94
-12
1
0
0
0
0
0
0
0
0
0
13
15
26
-55
-9
64
17
9
25
0
0
0
0
0
0
0
0
59
-20
-52
31
56
107
34
58
0
0
0
0
0
0
0
0
0
54
52
-33
7
-8
3
-10
0
0
0
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
22
40
-3
33
35
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
48
9
-56
-10
0
0
0
0
0
0
0
0
0
0
0
-18
-11
-3
4
-5
-8
-7
0
0
0
0
0
0
0
0
0
0
71
-53
-21
13
-10
-10
2
2
0
0
0
0
0
0
0
0
0
-43
29
37
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
3
25
-7
0
0
-6
3
0
0
0
0
0
0
0
0
0
-6
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
15
-8
24
-8
0
0
0
0
0
0
0
0
0
17
0
-4
0
0
-1
-5
-3
0
0
0
0
0
0
0
0
0
15
58
43
31
0
8
5
0
0
0
0
0
0
0
0
0
0
0
51
14
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
17
1
27
-3
6
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
99
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
3
-14
22
0
0
0
0
0
0
0
0
0
0
-8
6
0
-22
4
71
6
6
0
0
0
0
0
0
0
0
-1
-11
0
0
67
30
-129
-11
0
0
0
0
0
0
0
0
0
10
-7
52
61
26
52
-1
3
0
0
0
0
0
0
0
0
0
-9
45
-79
-34
-37
-10
-29
-2
-1
0
0
0
0
0
0
0
0
1
0
20
-43
-22
17
0
0
0
0
0
0
0
0
0
0
0
0
44
47
-15
-32
9
0
0
0
0
0
0
0
0
0
0
0
-11
-5
53
-2
-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
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
-7
-28
-5
0
0
0
0
0
0
0
0
0
-5
0
2
7
-1
15
14
7
0
0
0
0
0
0
0
0
0
5
-7
61
-24
5
-12
19
0
0
0
0
0
0
0
0
0
0
60
-16
50
15
16
10
-4
0
0
0
0
0
0
0
0
0
0
-62
0
-22
-1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
23
117
0
-53
12
-4
0
0
0
0
0
0
0
0
0
0
0
-61
0
31
-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
9
0
2
-5
-8
0
1
6
0
0
0
0
0
0
0
0
0
0
1
23
0
37
-23
-15
-4
0
0
0
0
0
0
0
0
0
3
-2
-18
0
-3
-13
-5
0
4
0
0
0
0
0
0
0
0
1
0
-1
2
15
-2
6
0
0
0
0
0
0
0
0
0
0
0
29
-2
-10
0
-1
11
-13
0
0
0
0
0
0
0
0
0
0
-16
-16
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
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
-2
-22
-11
-38
-19
0
0
0
0
0
0
0
0
0
3
51
-21
-48
0
22
18
116
33
0
0
0
0
0
0
0
0
2
0
3
84
-4
-50
74
2
0
-6
0
0
0
0
0
0
0
0
-18
-9
47
-46
33
61
-16
0
0
0
0
0
0
0
0
0
0
54
-6
28
36
-7
0
10
-2
0
0
0
0
0
0
0
0
23
11
7
-28
0
-10
0
20
0
0
0
0
0
0
0
0
0
10
51
8
-5
-22
7
-7
0
0
0
0
0
0
0
0
0
0
17
123
-7
22
3
1
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
-47
174
18
105
-74
-10
83
8
0
0
0
0
0
0
0
0
0
6
98
33
122
88
-64
9
38
-4
0
0
0
0
0
0
0
0
9
94
155
-37
-40
86
133
-7
0
0
0
0
0
0
0
0
0
101
35
-55
21
43
-62
-9
-3
-3
0
0
0
0
0
0
0
0
-3
33
-10
-46
28
-14
-34
-49
4
0
0
0
0
0
0
0
0
-38
24
57
49
-58
0
-5
20
9
0
0
0
0
0
0
0
0
-85
56
-38
123
14
-3
13
-3
0
0
0
0
0
0
0
0
0
-7
-18
-56
0
0
-8
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
42
-12
103
-85
-73
-73
10
-2
0
0
0
0
0
0
0
0
0
40
150
-97
82
5
78
92
38
55
0
0
0
0
0
0
0
0
39
-72
-11
-5
-88
9
-52
-53
-16
0
0
0
0
0
0
0
0
-2
87
-83
22
8
-11
-55
-53
-3
0
0
0
0
0
0
0
0
41
124
13
85
95
26
-44
98
58
0
0
0
0
0
0
0
0
5
47
7
-58
33
31
0
25
-4
0
0
0
0
0
0
0
0
35
-40
135
-17
45
-22
2
3
1
0
0
0
0
0
0
0
0
-5
126
-3
-131
-23
-7
21
-8
0
0
0
0
0
0
0
0
0
-47
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-178
16
162
55
65
43
-100
0
0
0
0
0
0
0
0
0
-33
54
-1
36
56
58
59
18
-10
0
0
0
0
0
0
0
0
-49
-22
-44
-30
-5
72
-17
7
114
0
0
0
0
0
0
0
0
100
-14
105
38
-17
116
38
82
120
0
0
0
0
0
0
0
0
-6
-15
-76
-25
27
65
-2
-83
-20
0
0
0
0
0
0
0
0
24
180
-24
101
4
49
-28
0
19
0
0
0
0
0
0
0
0
-7
100
127
101
15
-62
48
-6
0
0
0
0
0
0
0
0
0
62
-41
21
25
-12
-2
0
0
0
0
0
0
0
0
0
0
0
152
-37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
137
59
-49
-10
148
69
98
75
0
0
0
0
0
0
0
0
0
37
24
-7
86
23
28
77
31
117
-3
0
0
0
0
0
0
0
19
52
143
116
136
59
37
-9
170
105
0
0
0
0
0
0
0
-50
98
-13
24
-38
32
32
30
-93
-20
0
0
0
0
0
0
0
8
9
63
77
75
-55
-11
128
47
-3
0
0
0
0
0
0
0
-31
69
-51
39
105
-18
80
55
0
9
0
0
0
0
0
0
0
54
27
79
47
1
1
90
39
4
0
0
0
0
0
0
0
0
-40
9
112
22
52
148
25
8
0
0
0
0
0
0
0
0
0
7
-12
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
47
47
38
-13
-88
-35
-103
0
0
0
0
0
0
0
0
0
0
-48
-25
-27
4
17
71
-178
17
-5
0
0
0
0
0
0
0
0
-88
-85
205
36
-8
-66
-5
194
0
0
0
0
0
0
0
0
0
34
-91
32
4
12
54
48
-8
116
0
0
0
0
0
0
0
0
-38
-7
93
78
-84
88
11
18
-38
-1
0
0
0
0
0
0
0
99
19
-9
58
90
-53
41
1
0
0
0
0
0
0
0
0
0
24
-17
83
-9
26
-9
53
4
0
0
0
0
0
0
0
0
0
-17
-40
-6
53
-2
6
3
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
-2
11
0
28
-20
32
0
0
0
0
0
0
0
0
0
0
0
-19
-1
44
16
-66
-24
0
0
0
0
0
0
0
0
0
0
0
1
-61
17
-13
0
-22
-6
2
0
0
0
0
0
0
0
0
0
-3
-6
-6
-1
2
-4
-5
0
0
0
0
0
0
0
0
0
0
5
6
7
-7
1
7
20
0
0
0
0
0
0
0
0
0
0
7
-13
-7
0
12
-42
0
0
0
0
0
0
0
0
0
0
0
-4
20
-5
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
1
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
14
-1
4
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-7
-9
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
-1
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
23
9
-3
3
0
12
6
19
0
0
0
0
0
0
0
0
0
-2
-2
-1
1
15
21
31
0
0
0
0
0
0
0
0
0
0
3
-6
1
1
42
9
-4
3
0
0
0
0
0
0
0
0
-3
0
-5
7
18
-18
5
0
0
0
0
0
0
0
0
0
0
-15
22
-9
36
42
31
4
0
0
0
0
0
0
0
0
0
0
14
0
-77
-18
20
-1
-3
0
0
0
0
0
0
0
0
0
0
0
80
21
41
2
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
-1
10
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
0
-17
0
1
0
0
0
0
0
0
0
0
0
-11
0
0
0
41
9
2
8
0
0
0
0
0
0
0
0
0
2
9
-28
85
4
-47
-5
0
0
0
0
0
0
0
0
0
0
13
133
64
-13
4
-2
1
-1
0
0
0
0
0
0
0
0
0
-12
47
78
-11
-2
-11
0
0
0
0
0
0
0
0
0
0
0
45
0
24
31
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
3
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
5
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-27
0
17
0
0
0
0
0
0
0
0
0
0
0
3
-2
-24
0
16
2
0
0
0
0
0
0
0
0
0
0
-14
-2
-17
2
-4
-3
5
0
0
0
0
0
0
0
0
0
0
4
57
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
-18
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
-4
0
3
2
18
-29
1
0
0
0
0
0
0
0
0
0
-5
13
-15
-80
7
-54
-9
-12
-17
0
0
0
0
0
0
0
0
0
0
10
-3
-9
-27
68
-1
1
0
0
0
0
0
0
0
0
0
-19
0
-8
-3
-10
14
23
0
0
0
0
0
0
0
0
0
0
0
8
-25
4
-4
-16
2
13
0
0
0
0
0
0
0
0
0
26
19
-39
-25
0
25
-2
-2
0
0
0
0
0
0
0
0
0
-9
89
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-39
-13
0
0
-3
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
1
-4
-28
37
-40
-3
27
-1
0
0
0
0
0
0
0
0
0
-26
36
-39
32
28
0
-64
73
-3
0
0
0
0
0
0
0
0
14
-55
-1
13
-91
9
-3
-49
-8
0
0
0
0
0
0
0
0
0
29
21
37
-15
-1
14
-15
7
0
0
0
0
0
0
0
0
5
46
90
0
11
-5
-20
19
-13
0
0
0
0
0
0
0
0
0
183
19
-24
12
17
-2
-24
0
0
0
0
0
0
0
0
0
-17
-80
31
90
-24
0
0
0
5
0
0
0
0
0
0
0
0
44
108
13
-46
0
0
0
13
0
0
0
0
0
0
0
0
0
66
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
15
-41
17
-23
66
52
0
0
0
0
0
0
0
0
0
-4
64
-63
-7
80
74
35
106
-50
0
0
0
0
0
0
0
0
19
147
-11
44
-45
16
-69
25
-42
16
0
0
0
0
0
0
0
0
-39
26
125
25
-68
-2
5
2
0
0
0
0
0
0
0
0
0
28
58
78
47
-41
-21
30
67
0
0
0
0
0
0
0
0
15
87
-72
144
16
-10
7
-19
-4
35
0
0
0
0
0
0
0
16
29
74
143
-11
-4
0
-39
-17
0
0
0
0
0
0
0
0
21
-86
-18
-15
-8
6
0
0
1
0
0
0
0
0
0
0
0
-23
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-49
16
33
-69
51
-3
-4
0
0
0
0
0
0
0
0
0
-17
92
23
-34
-71
148
92
8
-33
0
0
0
0
0
0
0
0
40
-29
70
49
28
166
77
101
0
4
0
0
0
0
0
0
0
5
110
-79
-82
97
-59
23
73
-5
0
0
0
0
0
0
0
0
63
22
63
-17
-28
-38
-47
28
136
0
0
0
0
0
0
0
0
-75
-33
80
-41
-68
73
86
8
18
0
0
0
0
0
0
0
0
78
65
84
-125
14
11
90
0
0
0
0
0
0
0
0
0
0
25
83
31
146
15
11
0
1
0
0
0
0
0
0
0
0
0
132
22
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
45
93
3
1
-84
-1
19
0
0
0
0
0
0
0
0
0
1
41
-17
70
31
94
45
25
58
77
0
0
0
0
0
0
0
11
14
88
27
62
34
29
-6
120
-8
0
0
0
0
0
0
0
10
44
36
4
18
25
60
55
143
20
0
0
0
0
0
0
0
-4
20
139
-23
96
100
56
3
-46
3
0
0
0
0
0
0
0
13
16
-72
29
94
-56
161
180
86
3
0
0
0
0
0
0
0
-30
38
-30
23
98
113
27
31
0
0
0
0
0
0
0
0
0
48
-10
99
117
52
-48
-143
-4
-14
0
0
0
0
0
0
0
0
-18
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
226
147
9
-130
45
61
0
0
0
0
0
0
0
0
0
0
-5
135
48
-47
17
28
-31
-42
-7
0
0
0
0
0
0
0
0
15
-108
8
13
-85
4
39
31
-7
0
0
0
0
0
0
0
0
3
-4
104
-49
34
-47
-42
-62
-23
0
0
0
0
0
0
0
0
50
-21
28
13
-56
43
69
45
12
0
0
0
0
0
0
0
0
104
-61
25
-55
47
30
-66
136
-8
0
0
0
0
0
0
0
0
63
-27
38
125
46
42
10
7
0
0
0
0
0
0
0
0
0
-27
51
148
19
11
-9
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
-48
1
33
-59
-4
0
0
0
0
0
0
0
0
0
0
0
-7
40
-16
-2
-100
6
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
52
15
1
6
2
0
0
0
0
0
0
0
0
0
-3
-11
14
-14
1
-21
-14
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-7
-18
-8
0
0
0
0
0
0
0
0
0
0
-5
-4
12
-4
-6
2
-8
0
0
0
0
0
0
0
0
0
-26
-16
-14
12
50
5
0
0
0
0
0
0
0
0
0
0
0
48
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
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
-5
0
4
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
20
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
-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
2
1
-1
0
14
0
0
0
0
0
0
0
0
0
3
0
-3
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
6
4
14
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
18
-5
-15
18
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-20
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
10
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
1
0
11
11
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
0
24
0
-7
0
0
0
0
0
0
0
0
0
0
0
90
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-37
-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
-8
-46
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
-45
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
-3
0
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
-8
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
-1
-1
7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
-1
10
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
6
13
0
1
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
-9
2
-6
0
4
-15
0
0
0
0
0
0
0
0
0
0
0
1
12
-2
-39
-4
55
0
13
0
0
0
0
0
0
0
0
0
-1
-9
10
-5
16
-21
7
-2
0
0
0
0
0
0
0
0
0
5
0
0
23
-12
8
1
2
2
0
0
0
0
0
0
0
0
0
0
-8
75
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-46
-13
13
0
-2
0
0
0
0
0
0
0
0
0
0
78
21
8
6
-16
-9
1
4
0
0
0
0
0
0
0
0
0
-72
6
66
58
3
0
0
0
0
0
0
0
0
0
0
0
0
-59
-5
-113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
81
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
49
7
-1
-20
-1
29
6
-11
0
0
0
0
0
0
0
0
0
23
22
-19
-11
-21
31
23
6
0
0
0
0
0
0
0
0
0
-11
0
13
22
45
50
21
2
0
0
0
0
0
0
0
0
-1
7
-27
17
-89
-39
-1
0
0
0
0
0
0
0
0
0
0
0
-36
24
125
36
-7
-14
7
0
0
0
0
0
0
0
0
0
0
31
87
-1
-2
-13
0
7
0
0
0
0
0
0
0
0
0
50
10
54
86
2
-3
0
0
0
0
0
0
0
0
0
0
0
59
83
-1
6
10
0
0
0
0
0
0
0
0
0
0
0
0
-80
29
52
45
-17
-5
-6
10
0
0
0
0
0
0
0
0
0
62
63
57
58
64
-19
54
9
0
0
0
0
0
0
0
0
0
-10
-62
52
10
-85
15
-16
-1
6
0
0
0
0
0
0
0
0
-69
-92
0
-76
-40
-27
20
63
-2
0
0
0
0
0
0
0
0
78
13
78
-19
-14
21
-19
-6
-8
0
0
0
0
0
0
0
0
22
12
133
-26
35
14
-10
-5
1
0
0
0
0
0
0
0
0
41
23
-96
84
112
48
17
0
0
0
0
0
0
0
0
0
0
-18
113
79
-37
1
-15
0
0
0
0
0
0
0
0
0
0
0
-73
-1
-30
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
35
32
11
14
55
-120
-6
0
0
0
0
0
0
0
0
0
0
-46
40
44
17
-1
-99
-47
-1
-5
0
0
0
0
0
0
0
0
98
-26
-13
-62
-63
-69
35
-51
-8
0
0
0
0
0
0
0
-3
-50
79
-4
-12
214
96
-89
-1
-2
0
0
0
0
0
0
0
-5
168
53
101
28
-10
68
148
22
0
0
0
0
0
0
0
0
-11
14
136
6
107
-66
121
185
-15
-3
0
0
0
0
0
0
0
-6
69
13
107
65
-4
-37
20
-14
-1
0
0
0
0
0
0
0
-12
185
-39
16
-76
107
-9
0
0
0
0
0
0
0
0
0
0
-26
99
41
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
127
-1
11
50
-21
-17
3
0
0
0
0
0
0
0
0
0
0
27
105
-37
-5
34
26
-18
-1
0
0
0
0
0
0
0
0
0
-17
36
10
13
25
35
-28
4
9
0
0
0
0
0
0
0
0
0
40
11
-3
-69
4
-13
-1
0
0
0
0
0
0
0
0
0
42
53
-3
12
49
-56
5
0
0
0
0
0
0
0
0
0
0
13
-49
0
16
11
-3
-6
2
0
0
0
0
0
0
0
0
0
17
-4
70
-12
-11
16
-6
2
0
0
0
0
0
0
0
0
0
74
-33
-10
-10
-2
0
3
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
0
0
-2
0
9
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
46
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
8
1
0
-10
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
-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
-9
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
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
-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
-20
0
25
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
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
21
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
6
1
0
-9
-1
0
17
0
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
2
5
-19
12
-26
-1
0
0
0
0
0
0
0
0
0
0
0
25
-2
-8
50
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
10
14
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-12
10
0
0
0
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
0
73
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
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
18
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
12
0
17
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
-6
-11
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
1
24
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
-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
-2
-9
-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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
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
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
2
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
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
2
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
-26
0
0
0
0
0
0
0
0
0
0
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
-2
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
-28
0
0
-1
3
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
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-12
1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-6
-5
-7
-3
0
0
0
0
0
0
0
0
0
1
0
0
6
11
4
0
4
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
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
-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
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
-4
-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
-1
1
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
2
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
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
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
23
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-15
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
34
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-12
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
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
4
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
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-6
9
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
39
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
-3
0
0
0
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
0
0
0
0
0
0
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
1
-4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
2
0
5
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
-1
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
0
-4
2
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
-8
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-18
-8
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-7
4
0
-23
0
0
0
0
0
0
0
0
2
0
1
0
11
21
-9
-45
-5
0
0
0
0
0
0
0
0
0
-7
0
-1
3
2
1
1
3
0
0
0
0
0
0
0
0
0
0
0
4
-3
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
-38
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
10
0
18
1
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
1
-39
24
17
0
0
0
0
0
0
0
0
0
0
4
1
0
-1
2
0
4
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-5
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
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
-7
0
8
0
-9
-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
-6
-12
-1
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
-1
-5
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-4
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
13
2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-5
6
-19
0
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
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-48
71
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
13
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-3
5
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
7
15
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
2
-8
-31
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-4
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-3
-5
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-28
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-19
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
-1
0
0
0
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
3
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
26
0
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
2
31
-2
1
18
-9
-3
0
0
0
0
0
0
0
0
0
6
0
-1
-12
6
0
-39
3
0
0
0
0
0
0
0
0
0
0
0
-7
5
2
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-9
0
0
0
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
-1
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
0
1
-1
2
-1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
0
2
20
0
-41
8
0
0
0
0
0
0
0
0
0
0
-1
3
7
-8
-2
-8
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
9
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
-49
3
0
0
0
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
6
-8
6
-4
4
-7
0
0
0
0
0
0
0
0
0
0
0
-27
14
81
-8
-26
-3
0
0
0
0
0
0
0
0
0
0
0
-20
31
2
-23
9
3
-11
21
-7
-2
0
0
0
0
0
0
0
0
14
22
28
-3
-11
20
4
-1
0
0
0
0
0
0
0
0
0
8
-23
10
5
13
4
-34
41
3
0
0
0
0
0
0
0
0
0
0
19
6
-7
-27
2
2
0
6
0
0
0
0
0
0
0
0
2
8
0
-42
7
78
6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-23
-8
-11
0
0
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
16
22
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-3
-24
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-3
23
-1
-24
-7
6
18
-53
0
0
0
0
0
0
0
0
0
-2
-8
13
-16
3
-32
-68
-8
-3
5
0
0
0
0
0
0
0
-11
5
11
-25
87
51
11
3
2
0
0
0
0
0
0
0
0
0
-3
-2
-33
-25
-20
23
57
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
-13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-47
0
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
0
0
0
29
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
1
-11
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
-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
-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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
8
1
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
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
0
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-12
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
2
0
-10
6
2
-3
3
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
1
40
-45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-64
-31
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-27
0
9
0
0
1
1
0
0
0
0
0
0
0
0
0
0
12
6
17
-52
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
5
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
74
8
11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-22
-49
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-11
0
0
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
25
0
17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
0
22
0
-2
-1
-1
13
0
0
0
0
0
0
0
0
0
0
14
-8
12
3
50
-24
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
-9
-21
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-38
-21
-70
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
15
-13
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-26
0
-9
1
1
-8
0
0
0
0
0
0
0
0
0
0
-4
0
-9
-13
1
-13
9
0
0
0
0
0
0
0
0
0
1
0
-11
0
16
1
17
-22
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
6
45
39
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-4
-32
27
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
-13
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
-13
2
-133
0
9
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-2
-9
20
14
0
0
0
1
0
0
0
0
0
0
0
0
0
5
-4
0
0
-27
17
0
1
0
0
0
0
0
0
0
0
15
-3
0
-19
0
4
5
-17
-1
0
0
0
0
0
0
0
0
0
-1
0
-18
0
6
-7
-35
-1
0
0
0
0
0
0
0
0
0
3
-10
0
-2
13
7
-48
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-34
-24
0
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
-2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
60
13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
11
39
-12
7
2
-7
-16
-4
0
0
0
0
0
0
0
0
0
5
20
58
32
-7
-51
16
19
1
0
0
0
0
0
0
0
0
-9
1
-7
5
51
0
-19
12
0
0
0
0
0
0
0
0
0
0
-2
7
23
51
94
-6
33
0
0
0
0
0
0
0
0
0
0
0
5
-1
4
65
-30
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
48
-41
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
-4
8
-46
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
107
86
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-29
-47
-38
45
-17
8
32
0
0
0
0
0
0
0
0
-1
32
56
-1
-1
-53
-74
9
-24
0
-1
0
0
0
0
0
0
-1
-34
26
-59
93
27
81
-7
62
1
0
0
0
0
0
0
0
1
-1
26
-5
-3
-20
-27
42
23
-3
0
0
0
0
0
0
0
0
0
0
4
9
37
-60
-6
47
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
-83
21
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-31
0
0
0
0
0
0
0
0
0
0
15
-2
89
18
-4
0
0
0
0
0
0
0
0
0
0
0
-20
41
109
-20
69
-9
0
0
0
1
0
0
0
0
0
0
0
-4
9
7
2
-2
71
-12
-18
-60
0
0
0
0
0
0
0
0
0
4
68
-32
29
1
31
64
-13
1
0
0
0
0
0
0
0
-2
18
-31
-16
28
-83
34
-20
21
3
0
0
0
0
0
0
0
0
1
0
-18
-70
23
-5
10
-32
-4
0
0
0
0
0
0
0
0
0
0
-43
2
22
46
-39
-38
26
0
0
0
0
0
0
0
0
0
0
5
-6
2
-104
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
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
9
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
15
0
0
0
0
0
0
0
0
0
1
0
3
0
-3
4
4
1
9
-1
0
0
0
0
0
0
0
0
-3
0
0
3
7
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
4
2
-2
0
0
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
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
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
-2
1
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
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
0
0
-7
-10
0
3
0
0
8
0
0
0
0
0
0
0
0
0
0
1
7
-1
-2
2
0
3
0
0
0
0
0
0
0
0
0
0
1
10
0
16
33
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
-26
6
-9
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
11
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-83
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
-2
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
5
0
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-67
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-33
0
0
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
0
0
0
0
2
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-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
-6
1
31
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
0
4
2
1
0
-1
0
0
0
0
0
0
0
0
0
0
8
-7
-1
0
15
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
33
63
-18
56
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
74
-21
-80
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
8
-1
31
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-16
0
50
0
-1
4
0
2
0
0
0
0
0
0
0
0
0
-8
34
-1
-5
-14
81
-18
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
-64
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
93
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
96
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
38
28
0
3
0
0
1
6
0
0
0
0
0
0
0
0
1
10
-67
2
79
21
21
0
2
-3
0
0
0
0
0
0
0
0
3
-85
-54
3
-8
7
-11
1
0
0
0
0
0
0
0
0
0
3
21
-38
-18
0
-57
-30
-25
0
0
0
0
0
0
0
0
4
0
0
13
6
12
0
-33
62
7
0
0
0
0
0
0
0
0
0
0
0
0
8
-49
7
-37
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
-7
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-22
80
16
18
12
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
-1
-16
17
9
0
1
-3
0
0
0
0
0
0
0
0
3
-5
12
8
-31
-37
-20
1
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
57
49
45
-16
91
0
0
0
0
0
0
0
0
0
-2
-24
-11
3
-78
0
-21
25
0
0
0
0
0
0
0
0
0
0
11
0
-48
-14
-47
21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
10
-84
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-2
0
0
0
0
0
0
0
0
-16
-64
-10
5
8
-14
0
0
0
0
0
0
0
0
0
0
2
-60
-34
32
8
4
-11
0
0
0
9
0
0
0
0
0
0
0
2
-24
-80
-11
-5
21
-20
1
57
0
0
0
0
0
0
0
0
-5
-23
51
69
37
14
-101
-31
21
0
0
0
0
0
0
0
0
4
-39
35
-103
-63
-11
12
52
-53
-1
0
0
0
0
0
0
0
0
13
-18
-7
100
-32
7
0
-64
0
0
0
0
0
0
0
0
0
0
22
-8
15
72
-51
-31
26
2
0
0
0
0
0
0
0
0
0
0
9
35
-2
48
19
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
-73
0
0
0
0
0
0
0
0
0
0
-5
16
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
71
-21
51
6
0
0
0
4
-2
0
0
0
0
0
0
0
8
-27
-102
32
-4
4
2
5
5
0
0
0
0
0
0
0
2
-16
-13
25
-54
-30
-23
68
-91
4
0
0
0
0
0
0
0
0
1
14
-4
57
62
32
28
46
1
0
0
0
0
0
0
0
0
-2
-3
-20
-17
88
108
-22
0
0
0
0
0
0
0
0
0
0
0
-4
-20
-13
-5
-88
-30
-80
0
0
0
0
0
0
0
0
0
0
0
-1
19
-15
-53
15
-66
-15
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
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
5
8
-6
0
-8
2
5
0
0
0
0
0
0
0
0
0
0
0
-12
-22
16
-1
-17
0
0
0
0
0
0
0
0
0
0
-18
0
0
-3
22
1
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-11
20
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
0
-1
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
0
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
0
0
0
0
0
0
0
0
0
0
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
2
5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-37
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
35
-27
-3
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
0
-2
-51
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
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
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
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-17
-10
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-39
-1
10
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
-16
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
10
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
19
2
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-10
7
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-12
3
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
-18
0
-37
-38
-2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
72
-6
8
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-9
-34
-33
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
-41
109
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-6
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-31
15
2
1
0
4
0
0
0
0
0
0
0
0
0
0
6
-7
34
-4
2
-13
-15
0
0
0
0
0
0
0
0
0
3
-11
0
2
-20
29
2
-42
0
0
0
0
0
0
0
0
0
0
0
2
-12
14
-42
21
-13
0
0
0
0
0
0
0
0
0
0
0
3
7
0
11
-35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
29
-24
-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
14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-109
22
-3
0
0
0
0
0
0
0
0
0
0
0
2
14
35
-41
15
-11
6
0
-1
0
0
0
0
0
0
0
0
-3
5
-54
-43
15
-2
50
-25
-23
0
0
0
0
0
0
0
0
0
-3
26
37
0
-25
-32
-133
-17
0
0
0
0
0
0
0
0
0
0
1
-4
49
49
12
-11
14
0
0
0
0
0
0
0
0
0
0
3
-34
-50
25
0
99
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-35
-43
29
0
0
0
0
0
0
0
0
0
0
0
0
0
32
25
-29
0
0
0
0
0
0
0
0
0
0
23
-2
-24
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
18
-7
-38
4
14
0
0
0
0
0
0
0
0
0
0
0
2
42
-51
-17
-12
1
16
9
6
0
0
0
0
0
0
0
0
18
-37
-28
79
-42
37
-81
-57
-22
0
0
0
0
0
0
0
0
4
-43
-47
120
27
-4
-38
-49
50
0
0
0
0
0
0
0
0
0
-2
35
-64
47
-48
-90
-26
33
0
0
0
0
0
0
0
0
0
0
3
8
-47
-137
-79
0
10
1
0
0
0
0
0
0
0
0
0
0
5
0
-23
0
12
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
-45
-1
-77
-1
0
0
0
0
0
0
0
0
0
53
-11
-109
2
-27
0
0
0
0
0
0
0
0
0
0
0
3
-20
-50
-34
145
-15
0
0
0
-11
0
0
0
0
0
0
0
6
148
49
-19
1
-20
-4
-5
17
0
0
0
0
0
0
0
0
-1
54
-10
61
44
47
-28
-25
70
0
0
0
0
0
0
0
0
2
-25
-11
9
89
-170
41
-83
-62
0
0
0
0
0
0
0
0
5
-14
17
12
26
32
-141
-62
25
-4
0
0
0
0
0
0
0
0
0
-4
57
0
3
113
-21
0
0
0
0
0
0
0
0
0
0
0
1
-13
9
-7
18
20
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
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
-1
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-7
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
28
1
4
-24
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
6
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
2
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
5
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-12
1
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
-1
-8
-1
1
3
0
10
0
0
0
0
0
0
0
0
0
0
0
4
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
13
0
-20
-28
-78
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
11
-26
13
-23
2
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
-2
46
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-43
-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
46
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
34
23
1
0
0
0
1
0
0
0
0
0
0
0
0
0
13
-43
5
-13
-18
0
-1
10
0
0
0
0
0
0
0
0
0
0
-21
5
-5
43
-21
42
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
0
-37
18
-2
0
0
0
0
0
0
0
0
0
0
0
-14
-44
-2
4
-22
-83
0
0
0
0
0
0
0
0
0
0
1
0
-8
24
0
70
-22
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
-29
1
-77
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-59
-43
-16
0
0
0
0
0
0
0
0
0
0
0
0
-4
40
-38
66
23
-1
0
-2
-16
0
0
0
0
0
0
0
0
6
-5
-78
-17
13
1
11
-12
-32
0
0
0
0
0
0
0
0
0
-76
15
21
-96
13
34
-78
-12
0
0
0
0
0
0
0
0
0
0
35
50
6
69
-7
-26
-31
0
0
0
0
0
0
0
0
0
1
5
34
-1
-17
20
10
-35
0
0
0
0
0
0
0
0
0
0
4
1
-34
-3
45
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-11
4
20
0
0
0
0
0
0
0
0
0
0
1
-2
133
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
23
-3
-22
62
7
0
0
0
0
0
0
0
0
0
0
0
1
-18
16
65
29
-49
2
2
22
0
0
0
0
0
0
0
0
0
0
31
27
-86
2
-34
-88
-26
0
0
0
0
0
0
0
0
0
-3
-36
95
-133
43
112
-74
-1
0
0
0
0
0
0
0
0
0
24
12
-12
-51
-44
-87
11
-98
0
0
0
0
0
0
0
0
0
7
-4
-75
15
-105
-29
82
-13
0
0
0
0
0
0
0
0
0
0
-5
-41
12
1
-30
26
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
-3
10
12
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-32
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
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
-17
64
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
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
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
0
0
0
0
0
0
0
-27
2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
77
41
14
0
0
18
0
0
0
0
0
0
0
0
0
0
3
-17
5
-43
47
4
-42
0
0
0
0
0
0
0
0
0
0
0
-10
-23
14
-3
76
-43
0
0
0
0
0
0
0
0
0
0
0
0
14
37
-43
-25
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
41
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
12
0
0
0
0
0
0
0
0
0
0
0
-26
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
-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
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
6
0
0
-2
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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
3
13
0
-3
-1
-7
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
0
3
0
5
0
0
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-16
2
15
0
2
0
0
0
0
0
0
0
0
0
-26
5
5
-3
9
16
7
0
0
0
0
0
0
0
0
0
0
5
2
-6
8
-5
-13
0
0
0
0
0
0
0
0
0
0
0
12
-3
-9
0
-4
12
3
-11
0
0
0
0
0
0
0
0
0
-11
0
-2
2
0
1
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
0
-2
0
0
0
-1
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
2
1
-4
-6
4
0
1
0
0
0
0
0
0
0
0
0
0
3
-4
8
12
4
-6
1
0
0
0
0
0
0
0
0
0
0
8
0
-1
3
-11
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
3
-5
-23
-8
1
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
6
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
-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
-1
2
0
0
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
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
8
12
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
7
-5
1
-7
0
2
0
6
0
0
0
0
0
0
0
0
0
-2
0
28
-3
-3
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-21
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
-4
2
-16
0
0
1
9
-1
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
4
0
-4
0
0
0
0
0
0
0
0
0
-6
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
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
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
9
0
0
0
0
0
0
0
0
0
-2
-7
5
22
2
0
-11
0
0
0
0
0
0
0
0
0
0
8
-12
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
12
-2
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
34
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
-4
-1
-10
3
2
0
0
0
0
0
0
0
0
0
14
2
9
-5
2
-5
0
0
0
0
0
0
0
0
0
0
0
33
4
38
3
0
-2
0
-1
0
0
0
0
0
0
0
0
0
28
13
-26
-1
0
-1
1
-1
0
0
0
0
0
0
0
0
0
12
-4
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
-4
-17
-12
0
-1
0
0
0
0
0
0
0
0
0
-7
-16
99
-60
-18
-19
0
-1
0
0
0
0
0
0
0
0
0
-35
-18
-12
4
0
-55
2
-2
0
0
0
0
0
0
0
0
0
5
-12
-10
-15
2
-1
1
7
0
0
0
0
0
0
0
0
0
12
12
-26
8
-2
1
2
1
0
0
0
0
0
0
0
0
0
16
-7
-3
2
0
1
-4
-2
0
0
0
0
0
0
0
0
0
14
1
1
3
0
3
-3
0
0
0
0
0
0
0
0
0
0
17
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
1
-1
21
-2
-10
0
-4
0
0
0
0
0
0
0
0
0
0
12
-13
23
22
18
-21
-5
-1
0
0
0
0
0
0
0
0
0
5
-17
-3
38
-16
-31
-7
0
0
0
0
0
0
0
0
0
0
-13
3
-3
-5
3
1
0
1
0
0
0
0
0
0
0
0
0
-6
-1
0
-3
0
6
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
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
-2
-2
-6
0
-1
-4
0
0
0
0
0
0
0
0
0
0
1
1
22
11
1
18
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
14
-3
-11
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
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
2
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
-1
-1
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
3
0
0
0
0
0
0
0
0
0
0
8
8
0
-15
9
-4
6
-8
0
0
0
0
0
0
0
0
0
-13
0
-6
1
16
-4
-62
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
-18
0
4
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
2
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
1
-43
2
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
-1
9
-3
0
0
0
0
0
0
0
0
0
2
0
0
-1
-22
-6
0
16
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
7
4
0
-1
1
4
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
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
-5
0
-2
7
10
-1
0
0
0
0
0
0
0
0
0
1
23
-28
-1
4
29
-84
0
0
0
0
0
0
0
0
0
0
-1
-14
6
-6
-3
-5
16
0
0
0
0
0
0
0
0
0
0
10
-8
2
2
16
1
0
-6
0
0
0
0
0
0
0
0
0
21
-1
-3
0
-8
0
-2
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
19
-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
12
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
-3
14
18
-25
-6
-4
-18
-9
0
0
0
0
0
0
0
0
0
0
11
2
1
1
1
-5
14
0
0
0
0
0
0
0
0
0
1
-35
19
6
0
-4
15
0
0
0
0
0
0
0
0
0
0
-8
26
0
6
-1
-21
23
2
0
0
0
0
0
0
0
0
0
-3
0
6
17
0
2
0
0
5
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
11
0
0
0
0
0
0
0
0
0
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
2
4
-15
-50
0
0
0
0
0
0
0
0
0
0
-10
20
-2
-20
26
3
-32
-16
-3
0
0
0
0
0
0
0
0
-4
-13
-8
33
-7
3
6
-51
0
0
0
0
0
0
0
0
0
1
11
-52
-2
2
0
-12
-2
8
0
0
0
0
0
0
0
0
3
-28
9
8
-12
-1
3
-2
0
0
0
0
0
0
0
0
0
-1
7
49
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
44
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
5
-26
-12
-2
-91
15
11
0
0
0
0
0
0
0
0
0
8
66
75
-34
61
6
-63
0
2
0
0
0
0
0
0
0
0
-1
-4
-28
-18
-12
7
0
-1
0
0
0
0
0
0
0
0
0
6
-14
13
39
-28
0
-1
0
3
0
0
0
0
0
0
0
0
0
51
-11
-26
-2
13
21
-1
0
0
0
0
0
0
0
0
0
33
-5
52
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
5
55
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
15
-53
0
0
0
0
0
0
0
0
0
-2
-1
-28
18
-8
-73
-16
4
1
0
0
0
0
0
0
0
0
-1
18
26
7
-14
4
-7
0
0
0
0
0
0
0
0
0
0
-29
117
23
1
24
-1
-1
4
-2
0
0
0
0
0
0
0
0
-19
-2
-22
6
7
0
-21
7
0
0
0
0
0
0
0
0
0
5
19
-5
0
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
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
-1
3
-13
-17
-19
-3
37
-38
0
0
0
0
0
0
0
0
0
-13
13
-111
-68
19
11
-96
-6
-20
0
0
0
0
0
0
0
0
-53
-31
8
14
33
7
69
11
1
0
0
0
0
0
0
0
0
39
2
23
-22
3
-19
-10
-2
-1
0
0
0
0
0
0
0
0
-4
51
-28
7
-11
21
-1
0
0
1
0
0
0
0
0
0
0
2
-16
-39
2
-5
6
1
5
0
0
0
0
0
0
0
0
0
2
1
24
-7
1
0
0
12
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
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
-25
-48
34
32
-5
0
0
0
0
0
0
0
0
0
0
-23
63
-27
-26
29
9
37
-13
13
0
0
0
0
0
0
0
0
5
-84
-18
35
14
6
-36
-14
0
0
0
0
0
0
0
0
0
4
33
-15
-10
-2
-20
1
0
0
0
0
0
0
0
0
0
0
-68
-35
-21
-5
-3
74
29
1
0
0
0
0
0
0
0
0
0
61
7
-18
-66
37
0
-16
2
0
0
0
0
0
0
0
0
0
9
13
-48
7
-3
0
0
21
0
0
0
0
0
0
0
0
0
-38
-1
-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
-4
4
9
-51
13
1
0
0
-1
0
0
0
0
0
0
0
0
-28
8
33
-26
-5
-2
-14
6
-2
0
0
0
0
0
0
0
0
15
14
7
13
13
49
24
-1
0
0
0
0
0
0
0
0
0
-2
2
20
-10
28
-8
2
0
0
0
0
0
0
0
0
0
0
-5
-33
-4
11
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
1
10
2
0
1
0
2
0
0
0
0
0
0
0
0
0
19
-2
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
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
-11
-1
-35
22
-4
0
0
5
0
0
0
0
0
0
0
0
0
5
-5
22
22
-12
-10
0
1
0
0
0
0
0
0
0
0
0
-2
3
-2
-3
-16
21
2
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
-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
-1
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-5
0
-6
-14
4
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
15
-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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
1
-1
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
-3
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
4
13
0
3
-9
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
-21
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-4
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
2
2
-16
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
-6
0
0
0
0
0
0
0
0
0
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
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-3
-1
35
-5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
-104
28
0
0
0
0
0
0
0
0
0
7
0
0
22
0
-8
0
14
2
0
0
0
0
0
0
0
0
18
6
-2
0
46
-2
-3
0
-4
0
0
0
0
0
0
0
0
0
20
4
26
-13
-4
9
-2
0
0
0
0
0
0
0
0
0
-10
-7
-7
21
5
-22
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-11
-3
71
0
0
0
0
0
0
0
0
0
0
0
-1
10
-67
15
-100
0
159
-4
-7
0
0
0
0
0
0
0
0
-15
19
0
4
-8
-3
-39
47
0
0
0
0
0
0
0
0
0
-26
-20
7
0
4
-3
0
0
9
0
0
0
0
0
0
0
0
-14
-124
2
0
7
-8
9
-28
0
0
0
0
0
0
0
0
0
4
6
-5
7
34
0
0
2
-1
0
0
0
0
0
0
0
0
1
-107
-4
4
-8
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-10
-7
11
-35
0
0
0
0
0
0
0
0
0
0
-2
-1
58
19
-53
-1
1
-8
3
0
0
0
0
0
0
0
0
4
-36
-12
-3
0
5
27
73
0
0
0
0
0
0
0
0
0
-8
26
-23
4
0
-15
-26
22
3
0
0
0
0
0
0
0
0
-9
93
-45
1
0
0
-43
-1
0
0
0
0
0
0
0
0
0
-32
-17
-5
45
-7
-1
0
-3
12
0
0
0
0
0
0
0
0
-11
2
21
52
-3
-14
0
0
0
0
0
0
0
0
0
0
0
1
20
15
-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
-17
-9
20
4
-14
1
-5
3
0
0
0
0
0
0
0
0
0
-8
31
10
-68
-7
-25
51
4
-7
0
0
0
0
0
0
0
0
-25
9
22
-4
1
0
-1
22
8
0
0
0
0
0
0
0
0
8
24
112
20
10
0
3
-33
-14
0
0
0
0
0
0
0
0
-8
-80
-38
-21
0
0
9
-10
0
0
0
0
0
0
0
0
0
-57
-83
-2
3
-5
-5
9
0
0
0
0
0
0
0
0
0
0
5
27
0
8
20
0
0
-2
0
0
0
0
0
0
0
0
0
0
32
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
4
-3
-99
6
1
16
-17
16
0
0
0
0
0
0
0
0
0
-14
148
-1
48
60
-3
20
54
2
0
0
0
0
0
0
0
0
86
57
12
-63
1
-9
-3
-10
15
0
0
0
0
0
0
0
0
72
-18
-4
-78
-26
0
2
0
-4
0
0
0
0
0
0
0
0
-16
0
40
-25
31
0
0
0
1
0
0
0
0
0
0
0
0
12
105
-30
-13
-2
-2
2
0
0
0
0
0
0
0
0
0
0
-3
41
35
3
2
4
0
0
-3
0
0
0
0
0
0
0
0
4
33
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-37
-7
26
13
-13
32
0
-6
0
0
0
0
0
0
0
-3
-12
-30
84
-17
-49
-7
-74
-2
0
0
0
0
0
0
0
0
-3
9
24
-29
-74
-72
2
6
0
16
0
0
0
0
0
0
0
-49
6
-23
6
4
12
1
0
-3
1
0
0
0
0
0
0
0
31
38
6
35
25
8
-2
0
0
-1
0
0
0
0
0
0
0
-14
19
-21
51
5
7
3
15
-3
0
0
0
0
0
0
0
0
-8
-18
73
-40
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
80
-3
-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
0
0
0
-7
117
-26
78
-29
32
13
-12
0
8
0
0
0
0
0
0
0
-16
-37
64
92
-18
-42
34
-38
23
-1
0
0
0
0
0
0
0
-72
-32
20
53
20
-7
-31
-96
0
0
0
0
0
0
0
0
0
39
104
-19
-54
7
24
66
0
4
0
0
0
0
0
0
0
0
-69
-32
-60
-30
-79
21
43
0
0
0
0
0
0
0
0
0
0
69
64
7
27
7
-9
-9
-2
2
0
0
0
0
0
0
0
0
-28
-3
85
22
-5
0
1
0
4
0
0
0
0
0
0
0
0
34
68
-12
4
3
0
0
0
0
0
0
0
0
0
0
0
0
59
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-49
-7
-65
85
111
-47
0
33
0
0
0
0
0
0
0
0
-114
1
7
32
-69
130
21
-60
-17
0
0
0
0
0
0
0
0
26
-17
118
6
-3
10
-33
4
0
0
0
0
0
0
0
0
0
-131
-17
-96
72
-76
-30
23
-49
0
0
0
0
0
0
0
0
0
35
-143
-68
-6
-61
-77
50
1
0
0
0
0
0
0
0
0
0
-63
-19
-28
44
56
-8
7
17
0
0
0
0
0
0
0
0
0
9
-61
72
4
-19
2
0
17
0
0
0
0
0
0
0
0
0
-21
14
-34
6
0
-1
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
7
1
2
-11
11
38
0
0
-3
0
0
0
0
0
0
0
0
11
-1
14
-48
6
-3
-1
12
6
0
0
0
0
0
0
0
0
-9
26
-20
-14
-2
-13
-18
8
0
0
0
0
0
0
0
0
0
25
8
6
-3
-5
3
5
0
0
0
0
0
0
0
0
0
0
82
-2
8
5
3
-15
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
14
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-26
4
-8
-1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
1
-13
0
1
1
0
0
0
0
0
0
0
0
0
-4
-5
-12
16
-1
-4
0
-1
0
0
0
0
0
0
0
0
0
-6
17
-1
-1
6
-9
-2
0
0
0
0
0
0
0
0
0
0
-15
3
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
1
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-11
1
-8
-6
1
0
2
4
0
0
0
0
0
0
0
0
0
0
9
-5
-12
3
4
-4
0
0
0
0
0
0
0
0
0
0
1
0
-9
-5
-14
-15
-12
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
1
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
65
11
9
17
-4
-23
0
0
0
0
0
0
0
0
-22
-9
18
-1
-1
-19
0
-7
0
0
0
0
0
0
0
0
0
9
48
3
-6
0
0
15
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
18
-31
38
0
-31
0
-8
0
0
0
0
0
0
0
0
0
11
13
26
-4
-2
23
14
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
-4
7
-9
8
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
2
0
57
-7
8
2
0
0
0
0
0
0
0
0
0
0
34
-5
1
0
-2
1
13
-12
0
0
0
0
0
0
0
0
6
-17
-10
-10
4
0
0
25
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
-10
5
25
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
-63
-44
16
-2
28
6
-1
0
0
0
0
0
0
0
0
26
4
47
-29
-55
-22
46
-12
5
0
0
0
0
0
0
0
0
-39
13
0
0
0
-39
29
40
3
0
0
0
0
0
0
0
0
-5
-42
0
0
0
-9
-1
0
28
0
0
0
0
0
0
0
0
-12
-55
0
0
2
-67
-6
14
0
0
0
0
0
0
0
0
0
19
33
-85
18
2
0
-28
-8
0
0
0
0
0
0
0
0
0
2
43
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
49
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-8
3
3
16
15
0
0
0
0
0
0
0
0
0
0
26
-32
9
21
60
2
0
0
0
0
0
0
0
0
0
0
-2
7
-24
24
-18
16
-16
-1
2
0
0
0
0
0
0
0
0
5
-3
-11
1
6
-2
-49
-16
-18
0
0
0
0
0
0
0
0
0
26
-81
0
0
3
8
0
13
0
0
0
0
0
0
0
0
-15
14
62
0
0
0
23
-6
14
0
0
0
0
0
0
0
0
-6
20
-10
84
-8
-4
0
-13
0
0
0
0
0
0
0
0
0
0
4
29
-23
0
0
0
0
0
0
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
-13
18
-50
-10
-8
22
0
0
0
0
0
0
0
0
0
-3
19
-59
8
-73
-37
-38
-15
3
0
0
0
0
0
0
0
0
12
58
-10
-35
32
103
-32
-3
68
-3
0
0
0
0
0
0
0
0
7
62
-42
1
1
-2
-5
32
0
0
0
0
0
0
0
0
-17
-37
96
-30
0
0
0
-4
-9
0
0
0
0
0
0
0
0
32
-3
-63
-78
2
1
0
-26
5
-33
0
0
0
0
0
0
0
5
24
124
-9
-2
37
1
0
0
0
0
0
0
0
0
0
0
-21
183
-15
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
-8
22
-2
-35
4
20
0
0
0
0
0
0
0
0
0
-1
-53
31
-5
-13
-29
-40
-12
24
0
0
0
0
0
0
0
0
14
-2
22
58
-11
-43
-41
87
-3
0
0
0
0
0
0
0
0
-14
-49
-3
-85
42
2
0
0
2
-2
0
0
0
0
0
0
0
29
13
28
-5
20
4
0
0
-19
0
0
0
0
0
0
0
0
5
77
124
16
-79
12
0
0
12
4
0
0
0
0
0
0
0
53
90
-3
-37
-4
6
-4
-11
0
0
0
0
0
0
0
0
0
12
-16
29
0
-10
-13
-20
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
-13
-16
62
-78
13
-6
-38
45
0
0
0
0
0
0
0
0
0
20
1
-28
-28
-42
22
20
66
18
0
0
0
0
0
0
0
0
-32
34
51
27
-127
123
101
117
-1
-3
0
0
0
0
0
0
0
-12
-31
63
14
99
50
-8
-4
0
-4
0
0
0
0
0
0
0
-42
52
1
62
0
-11
0
0
0
0
0
0
0
0
0
0
0
31
-6
-125
-2
-67
-45
6
0
0
-9
0
0
0
0
0
0
0
11
88
42
4
13
31
0
23
-9
0
0
0
0
0
0
0
0
49
-16
2
154
6
0
0
10
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
0
-11
-38
100
-22
70
-40
69
98
0
0
0
0
0
0
0
0
0
107
27
-62
110
-72
-13
-81
52
-54
-2
-2
0
0
0
0
0
0
64
-47
-57
-64
-14
-38
114
65
2
3
0
0
0
0
0
0
0
51
57
73
4
-128
56
-42
-2
-1
0
0
0
0
0
0
0
0
-57
81
24
66
6
-51
-38
0
0
0
0
0
0
0
0
0
0
36
-22
13
12
19
-25
-25
0
0
0
0
0
0
0
0
0
0
61
63
20
-40
20
65
17
61
11
0
0
0
0
0
0
0
0
-56
-27
26
-203
2
-7
7
0
-1
0
0
0
0
0
0
0
0
61
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-78
-7
-118
-33
70
-66
0
-11
-10
0
0
0
0
0
0
0
122
-100
-12
-18
8
116
33
52
4
0
0
0
0
0
0
0
0
19
-26
-36
-24
83
105
53
-42
-19
0
0
0
0
0
0
0
0
78
-70
56
-66
-54
-88
101
-26
-3
0
0
0
0
0
0
0
0
-25
14
-30
-85
88
23
-20
0
0
0
0
0
0
0
0
0
0
37
126
-49
33
1
73
-14
0
0
0
0
0
0
0
0
0
0
-23
-17
-98
84
-39
116
-25
-21
1
0
0
0
0
0
0
0
0
5
-61
35
-23
-38
0
0
2
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
14
-8
-13
-12
35
0
3
-6
0
0
0
0
0
0
0
0
0
-13
73
-60
-7
-12
-6
0
-3
0
0
0
0
0
0
0
0
9
20
14
47
3
97
20
4
0
0
0
0
0
0
0
0
0
-5
29
-1
-26
-1
5
17
0
0
0
0
0
0
0
0
0
0
-50
-6
-14
3
-33
9
0
0
0
0
0
0
0
0
0
0
0
31
-1
-41
-12
7
1
0
0
0
0
0
0
0
0
0
0
0
-31
-31
-5
-6
0
-2
0
0
0
0
0
0
0
0
0
0
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
1
0
-5
0
0
-2
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
-2
7
0
0
-1
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
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
-5
0
0
0
7
0
0
0
0
0
0
0
0
0
4
8
0
0
0
-7
4
-8
0
0
0
0
0
0
0
0
0
-1
0
-2
6
-27
33
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-61
4
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
21
5
0
0
0
0
0
0
0
0
0
0
0
0
13
2
-11
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-1
-2
-1
1
20
42
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
0
-2
2
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
-15
-13
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
-1
0
0
0
11
-12
-4
-19
0
0
0
0
0
0
0
0
0
-3
73
-15
7
0
4
-20
-18
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
-1
13
2
0
0
21
-38
0
0
0
0
0
0
0
0
0
0
7
-23
8
-29
6
58
4
-1
4
0
0
0
0
0
0
0
0
-6
-2
-3
20
-1
-1
13
-87
0
0
0
0
0
0
0
0
0
5
0
4
-11
-50
0
0
-1
2
0
0
0
0
0
0
0
0
0
14
0
-17
0
9
-22
4
5
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
31
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-2
13
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-32
2
8
2
5
0
0
0
0
0
0
0
0
0
0
-6
-19
7
-74
-31
-33
23
1
0
0
0
0
0
0
0
0
15
-4
18
54
-1
61
-43
10
0
0
0
0
0
0
0
0
0
7
-34
4
63
-63
23
2
12
8
0
0
0
0
0
0
0
0
-1
-47
-44
0
-1
13
-66
4
-13
0
0
0
0
0
0
0
0
3
6
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
24
0
5
0
-7
0
0
0
0
0
0
0
0
0
0
26
-16
0
-3
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
-56
2
8
-8
38
-43
-28
0
0
0
0
0
0
0
0
0
0
-26
86
-56
49
-6
67
-5
-3
0
0
0
0
0
0
0
0
3
38
-7
25
-64
-1
40
-54
-4
0
0
0
0
0
0
0
0
0
-5
-39
4
85
-42
-5
-11
25
0
0
0
0
0
0
0
0
0
37
-23
-78
-4
0
0
74
-20
0
0
0
0
0
0
0
0
40
-40
-13
85
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-48
190
37
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
78
-2
-2
-3
0
8
0
0
0
0
0
0
0
0
0
0
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
37
-22
22
7
53
59
-5
0
0
0
0
0
0
0
0
0
-5
-61
11
13
-31
-33
-26
17
11
0
0
0
0
0
0
0
0
-13
-55
-54
9
17
-33
39
34
-38
0
0
0
0
0
0
0
0
75
45
-7
-64
42
43
-17
-15
0
0
0
0
0
0
0
0
0
-2
-14
-31
36
-123
0
0
0
7
0
0
0
0
0
0
0
0
64
61
-71
23
-75
-2
0
0
3
0
0
0
0
0
0
0
0
41
69
-16
-99
-42
0
0
0
5
-1
0
0
0
0
0
0
0
0
32
-7
12
-17
-9
1
-3
0
0
0
0
0
0
0
0
0
29
5
5
10
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
-43
35
41
30
20
82
24
0
0
0
0
0
0
0
0
0
4
-112
-16
-59
-11
-89
-12
-11
-62
0
0
0
0
0
0
0
0
33
46
-52
49
12
-41
42
29
-14
0
0
0
0
0
0
0
0
-34
45
-19
62
5
-68
62
0
-86
0
0
0
0
0
0
0
0
-3
-11
-9
34
37
20
21
-10
-3
-1
0
0
0
0
0
0
0
21
123
25
14
113
28
0
0
0
0
0
0
0
0
0
0
0
-30
-25
-52
-107
40
39
-7
0
0
0
0
0
0
0
0
0
0
-10
-57
-57
-37
-14
1
-7
3
0
0
0
0
0
0
0
0
0
61
-57
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-77
-75
-20
70
21
46
-47
0
-22
0
0
0
0
0
0
0
-68
-3
17
42
-136
19
-34
32
-36
10
1
0
0
0
0
0
0
10
-12
15
90
31
39
45
-133
-43
-26
1
0
0
0
0
0
0
36
-33
14
-8
86
-23
-54
18
-42
0
0
0
0
0
0
0
0
-116
78
6
82
19
-20
13
-21
-1
0
0
0
0
0
0
0
0
91
-5
-124
-39
105
-61
-138
0
0
0
0
0
0
0
0
0
0
40
49
-61
43
-66
1
-21
-3
0
0
0
0
0
0
0
0
0
2
19
-23
-31
39
-19
0
7
9
0
0
0
0
0
0
0
0
14
-12
-1
8
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
63
-27
-46
43
-50
38
111
0
-3
0
0
0
0
0
0
0
0
32
-19
24
131
25
95
-9
65
3
0
0
0
0
0
0
0
0
-68
122
9
7
-81
-17
29
-27
-34
0
0
0
0
0
0
0
0
-31
-76
-22
-1
101
-3
73
-49
19
0
0
0
0
0
0
0
0
-95
-136
144
5
2
207
41
7
0
0
0
0
0
0
0
0
0
-22
-89
-24
-14
-69
-103
-19
9
0
0
0
0
0
0
0
0
0
-49
-11
17
65
-5
55
9
0
0
0
0
0
0
0
0
0
0
-21
-29
-2
-24
4
27
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
0
0
4
6
14
13
9
-16
0
6
0
0
0
0
0
0
0
0
0
3
18
34
10
19
-10
41
8
-7
0
0
0
0
0
0
0
0
-7
1
15
-10
31
13
15
-8
0
0
0
0
0
0
0
0
0
43
-17
40
1
-9
-29
8
-2
0
0
0
0
0
0
0
0
0
10
-21
-18
29
-2
9
2
0
0
0
0
0
0
0
0
0
0
-6
1
65
-11
10
0
-5
0
0
0
0
0
0
0
0
0
0
-96
2
-17
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
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
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-11
9
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
-2
-4
-2
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
3
0
-18
0
0
0
0
0
0
0
0
0
0
0
-20
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
-2
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
-9
-2
5
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
-27
22
23
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
68
0
-5
0
0
0
0
0
0
0
0
0
0
0
14
-8
6
0
-14
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
1
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-3
9
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
1
0
0
0
0
0
0
0
0
0
0
0
4
-13
-2
9
7
-4
-2
0
0
0
0
0
0
0
0
0
-9
-9
7
13
1
29
2
-17
0
0
0
0
0
0
0
0
0
107
0
0
0
-14
5
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
10
13
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
-3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
79
16
-3
6
22
-12
1
4
0
0
0
0
0
0
0
0
0
-19
1
-13
-1
23
36
-13
0
0
0
0
0
0
0
0
0
0
0
14
-12
-27
-6
18
15
-4
0
0
0
0
0
0
0
0
0
76
0
2
-27
12
-11
14
-20
0
0
0
0
0
0
0
0
0
-48
-7
17
0
0
4
-1
2
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
25
-23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-5
-5
1
5
14
0
0
0
0
0
0
0
0
0
-5
-86
26
-76
136
24
-85
0
1
0
0
0
0
0
0
0
0
31
0
0
2
-76
-17
-10
-16
-19
0
0
0
0
0
0
0
0
0
24
1
31
107
-25
-26
-68
15
-3
0
0
0
0
0
0
0
0
15
11
-33
36
-16
-27
-6
18
-1
0
0
0
0
0
0
0
3
-75
106
26
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-18
37
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-1
2
59
0
0
0
-7
0
0
0
0
0
0
0
0
0
-34
20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
10
-2
26
17
-43
0
0
0
0
0
0
0
0
0
0
55
57
-15
-73
-18
79
23
-19
0
0
0
0
0
0
0
0
3
-33
0
1
26
-36
-24
25
-17
0
0
0
0
0
0
0
0
-7
15
-15
-37
71
96
10
21
-4
0
0
0
0
0
0
0
0
-1
81
33
-1
-34
36
18
-166
-27
0
0
0
0
0
0
0
0
-6
113
-51
57
27
1
0
0
0
0
0
0
0
0
0
0
0
-68
25
-121
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
51
6
0
0
0
0
0
0
0
0
0
0
0
0
48
-1
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
9
-41
59
20
87
16
0
21
0
0
0
0
0
0
0
2
38
-39
-37
39
28
26
12
28
0
0
0
0
0
0
0
0
-2
37
-15
51
8
14
1
-67
-24
-8
0
0
0
0
0
0
0
6
55
39
31
89
95
-18
12
-6
0
0
0
0
0
0
0
0
-1
48
122
-66
27
-26
154
101
61
0
0
0
0
0
0
0
0
61
-43
-22
53
37
-81
0
0
0
-2
0
0
0
0
0
0
0
19
-15
-13
-65
-23
-17
0
0
0
0
0
0
0
0
0
0
0
17
-9
73
92
4
13
0
0
0
0
0
0
0
0
0
0
0
37
-20
-19
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
46
-14
49
-114
-9
79
47
17
0
28
0
0
0
0
0
0
0
19
45
-55
46
-43
22
18
31
18
0
0
0
0
0
0
0
0
11
-53
-19
86
-81
1
22
26
-88
-5
0
0
0
0
0
0
0
-14
-23
1
35
39
-5
78
-86
54
7
0
0
0
0
0
0
0
12
72
9
18
25
-26
-65
18
-34
18
0
0
0
0
0
0
0
-115
-74
86
-63
46
-73
-107
0
-3
0
0
0
0
0
0
0
0
38
8
28
-119
59
70
15
0
0
0
0
0
0
0
0
0
0
-117
-13
48
10
-21
68
-14
0
0
0
0
0
0
0
0
0
0
40
5
61
-13
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-38
50
19
-15
-41
-60
-41
0
-3
0
0
0
0
0
0
0
0
-26
-2
47
23
34
56
6
-66
-81
4
0
0
0
0
0
0
0
-43
26
-66
-57
-119
74
149
125
-74
0
0
0
0
0
0
0
0
11
68
43
-1
2
21
22
-31
-4
0
0
0
0
0
0
0
0
-62
51
51
30
-18
64
-17
-16
6
0
0
0
0
0
0
0
0
23
6
-67
10
125
-32
23
3
0
0
0
0
0
0
0
0
0
-28
62
-13
17
40
31
-13
0
0
0
0
0
0
0
0
0
0
3
-24
-45
-23
-54
-33
-3
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
-14
5
9
19
-3
5
0
-5
0
0
0
0
0
0
0
0
0
-1
-17
43
21
19
0
-31
1
0
0
0
0
0
0
0
0
0
24
13
2
15
-15
28
17
-49
0
0
0
0
0
0
0
0
0
3
-1
-27
-34
35
3
8
2
0
0
0
0
0
0
0
0
0
18
-8
-42
20
1
-21
3
-7
0
0
0
0
0
0
0
0
0
28
13
36
-8
1
-1
-3
0
0
0
0
0
0
0
0
0
0
-24
30
6
19
0
8
0
0
0
0
0
0
0
0
0
0
0
-7
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
1
-1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
1
0
2
0
1
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-4
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
-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
-2
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
0
-1
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
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
6
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-15
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
5
16
3
0
0
0
0
0
0
0
0
0
0
0
-11
5
-7
-4
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
35
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
23
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
5
2
-1
0
0
0
0
0
0
0
0
0
-10
0
37
3
0
0
13
0
0
0
0
0
0
0
0
0
0
-7
-49
1
16
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
37
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
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
1
-12
-3
-2
7
0
4
0
0
0
0
0
0
0
0
0
0
0
36
16
-4
24
35
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
27
-36
-23
2
0
0
0
0
0
0
0
0
0
4
-7
2
25
72
-55
33
12
0
0
0
0
0
0
0
0
3
-4
17
2
-22
12
-43
2
1
0
0
0
0
0
0
0
0
0
-100
-77
70
10
7
-5
1
0
0
0
0
0
0
0
0
0
6
-2
-13
-71
9
0
0
0
5
0
0
0
0
0
0
0
0
3
-3
38
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
3
-2
4
0
0
0
0
0
0
0
0
0
0
0
-21
-3
18
70
54
-43
18
5
0
0
0
0
0
0
0
0
-2
0
-1
-12
-27
-16
-93
42
-63
-4
0
0
0
0
0
0
0
5
7
-8
13
-18
11
66
45
4
0
0
0
0
0
0
0
0
40
-10
-10
-51
-2
-6
115
-127
-9
0
0
0
0
0
0
0
0
4
-40
-4
-80
20
-6
12
1
21
0
0
0
0
0
0
0
0
6
-32
2
-87
9
5
0
0
0
0
0
0
0
0
0
0
0
-9
60
-48
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-15
48
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
1
-13
-22
-18
7
-72
-11
0
0
0
0
0
0
0
0
0
-3
3
-62
-61
73
20
8
13
32
6
0
0
0
0
0
0
0
-6
-41
-45
8
106
67
43
-57
70
-3
0
0
0
0
0
0
0
1
-25
-52
-38
92
90
24
76
62
-14
0
0
0
0
0
0
0
-23
72
-59
129
-2
-56
-9
-51
23
0
0
0
0
0
0
0
0
-78
4
-90
84
81
-15
52
56
3
3
0
0
0
0
0
0
0
-10
7
-16
52
-16
64
5
0
0
0
0
0
0
0
0
0
0
84
-62
7
100
53
0
-9
0
0
0
0
0
0
0
0
0
0
-22
-60
1
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
97
37
86
-40
-23
-64
0
0
0
0
0
0
0
0
0
0
26
-27
149
157
30
-5
44
93
-7
-4
0
0
0
0
0
0
0
-16
-7
-3
-91
-178
38
-2
48
18
0
0
0
0
0
0
0
0
2
6
-8
-26
44
35
-4
-24
-6
0
0
0
0
0
0
0
0
-92
43
20
0
14
-116
41
14
0
0
0
0
0
0
0
0
0
12
35
46
44
11
79
-22
34
0
0
0
0
0
0
0
0
0
48
18
-177
83
59
76
68
0
0
0
0
0
0
0
0
0
0
-17
57
16
-34
61
18
-6
0
0
0
0
0
0
0
0
0
0
10
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
-14
-2
-13
1
0
-8
0
0
0
0
0
0
0
0
0
-12
20
-12
22
48
-1
-23
-5
0
0
0
0
0
0
0
0
0
17
0
-3
-14
-39
-21
5
9
0
0
0
0
0
0
0
0
0
0
5
6
7
4
19
9
2
0
0
0
0
0
0
0
0
0
14
1
-21
29
9
2
7
-4
0
0
0
0
0
0
0
0
0
3
-7
34
-6
-9
21
0
0
0
0
0
0
0
0
0
0
0
-78
1
-30
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
25
-11
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
-2
1
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-16
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
8
0
3
0
0
0
0
0
0
0
0
0
0
0
1
10
1
-2
-2
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
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-48
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
5
0
0
0
0
0
0
0
0
0
-8
2
7
6
-18
0
-5
1
0
0
0
0
0
0
0
0
0
16
26
-38
65
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-67
-1
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
74
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
6
-81
13
22
0
0
0
0
0
0
0
0
0
-5
0
0
-55
-24
3
-54
-13
9
0
0
0
0
0
0
0
0
-21
33
-4
37
47
38
45
17
17
0
0
0
0
0
0
0
0
75
22
-29
-8
111
70
-14
3
0
0
0
0
0
0
0
0
0
-19
12
-24
-75
4
-11
0
5
0
0
0
0
0
0
0
0
0
-31
-64
-95
79
-31
0
0
0
0
0
0
0
0
0
0
0
0
61
26
-36
-25
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-83
-29
-71
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
31
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
7
21
-5
0
0
0
0
0
0
0
0
0
0
28
-7
0
0
4
0
6
-4
0
0
0
0
0
0
0
0
0
-1
-1
-7
7
-6
6
-4
3
0
0
0
0
0
0
0
0
0
-8
0
13
-4
-7
-2
-2
-2
0
0
0
0
0
0
0
0
0
21
-2
-9
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-40
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
3
10
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-3
-3
1
0
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
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
39
2
7
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-10
1
9
0
0
0
0
0
0
0
0
0
-7
-11
-14
0
35
28
7
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-15
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-2
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-12
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
1
-9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-5
-78
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
-1
6
-62
45
-2
60
71
0
0
0
0
0
0
0
0
8
-13
6
13
-11
-39
-39
-11
-53
0
0
0
0
0
0
0
0
8
-12
-1
40
34
3
-82
55
33
0
0
0
0
0
0
0
0
0
0
3
-35
-59
9
-27
72
-72
0
0
0
0
0
0
0
0
0
0
0
13
1
-6
27
-100
2
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
18
-25
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
8
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
178
2
7
0
0
0
-9
0
0
0
0
0
0
0
2
2
-16
-11
54
2
4
-4
-23
-1
0
0
0
0
0
0
0
3
5
10
29
-12
47
-37
-29
11
2
0
0
0
0
0
0
0
0
-1
23
-29
0
-16
-128
-80
62
-1
0
0
0
0
0
0
0
0
-1
-4
2
25
-21
-21
-75
26
-4
0
0
0
0
0
0
0
0
0
0
-1
6
7
3
-13
5
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-36
12
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
19
9
0
0
0
-5
10
0
0
0
0
0
0
0
12
-4
3
1
-2
2
-22
-3
1
-6
0
0
0
0
0
0
0
-1
-17
2
4
-8
1
29
-31
1
0
0
0
0
0
0
0
0
0
0
0
33
-8
0
-58
2
-13
0
0
0
0
0
0
0
0
0
0
9
31
-6
22
-108
16
-2
-1
0
0
0
0
0
0
0
0
0
-3
-22
5
-13
23
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
3
-1
27
0
15
0
-5
0
-1
0
0
0
0
0
0
0
0
13
21
6
-14
-47
-17
16
1
0
0
0
0
0
0
0
0
0
-1
-9
-2
12
-18
11
15
1
1
0
0
0
0
0
0
0
0
0
0
-5
73
-4
8
-6
6
3
0
0
0
0
0
0
0
0
0
0
-35
-4
-18
-23
-8
-4
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
10
-31
1
0
-2
7
-2
0
0
0
0
0
0
0
0
0
1
3
19
28
-14
21
7
23
0
0
0
0
0
0
0
0
0
-3
1
1
2
7
-50
6
6
0
0
0
0
0
0
0
0
0
0
-2
2
-145
-51
-11
-72
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
-5
76
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
-2
0
0
0
0
0
-1
-1
-6
0
0
0
0
0
0
0
0
-1
5
1
-18
-13
-1
4
-4
0
0
0
0
0
0
0
0
0
-2
-1
-2
51
-24
-6
-10
1
0
0
0
0
0
0
0
0
0
0
1
39
3
44
-2
8
4
1
0
0
0
0
0
0
0
0
0
-5
-3
-61
6
-9
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
9
-14
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
6
0
13
0
0
0
0
5
0
0
-2
0
0
0
0
0
0
0
1
-1
-1
1
-18
-15
1
0
1
0
0
0
0
0
0
0
0
1
0
0
7
-8
17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
15
1
7
0
0
0
0
0
0
0
0
0
0
0
-3
3
2
-2
-4
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
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
41
3
2
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-18
-24
31
4
15
8
0
0
0
0
0
0
0
0
0
4
5
-21
-22
40
-99
19
36
0
0
0
0
0
0
0
0
0
-6
-2
0
-20
34
28
35
21
0
0
0
0
0
0
0
0
0
0
1
-1
-22
-10
-63
14
7
0
0
0
0
0
0
0
0
0
0
0
-9
-1
7
-33
-9
-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
0
0
4
0
0
0
0
0
0
0
0
0
0
0
28
-18
86
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-17
155
68
-71
28
0
0
0
0
0
0
0
0
0
0
0
-1
12
-31
15
34
-8
-2
74
26
0
0
0
0
0
0
0
0
23
16
-59
-88
28
35
71
-25
46
0
0
0
0
0
0
0
0
2
-44
21
62
62
52
35
14
-18
0
0
0
0
0
0
0
0
0
-26
-43
71
-31
56
-3
124
78
0
0
0
0
0
0
0
0
0
0
0
19
-14
-15
57
-73
59
0
0
0
0
0
0
0
0
0
0
0
2
-16
1
51
-87
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
-4
-37
-70
0
0
0
0
-4
0
0
0
0
0
0
0
-3
-16
27
-46
24
-11
0
0
0
-8
0
0
0
0
0
0
0
0
-48
-29
17
-55
-40
9
-9
17
5
0
0
0
0
0
0
0
-1
37
124
-7
-21
39
-31
-21
-11
16
0
0
0
0
0
0
0
0
38
-7
-10
-129
16
-61
112
91
-3
0
0
0
0
0
0
0
0
0
0
9
-51
33
5
15
44
-11
0
0
0
0
0
0
0
0
0
0
-6
-21
-17
32
87
11
11
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
-31
6
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-3
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
3
39
-9
2
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-1
73
-106
2
-22
-18
29
7
0
0
0
0
0
0
0
0
-1
63
-91
-29
-57
-56
-60
-43
34
0
0
0
0
0
0
0
0
-1
-22
54
9
36
-12
-8
-41
-6
-1
0
0
0
0
0
0
0
0
-3
1
-41
28
-53
-175
-121
42
5
0
0
0
0
0
0
0
0
0
0
15
-26
0
31
9
-34
9
0
0
0
0
0
0
0
0
0
1
-1
0
18
-2
-137
-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
18
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-1
-9
-5
0
0
0
3
-2
0
0
0
0
0
0
-1
-6
0
-32
5
-4
15
-142
34
1
-1
-1
0
0
0
0
0
0
0
25
38
16
12
-43
26
-35
-8
0
-2
0
0
0
0
0
0
0
-1
-20
-15
-57
63
-4
33
9
1
0
0
0
0
0
0
0
0
0
-9
38
3
-20
127
42
14
-1
0
0
0
0
0
0
0
0
0
0
3
-1
-36
0
12
-50
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
11
-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
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
-31
22
6
-17
0
0
0
13
3
0
-1
0
0
0
0
0
-1
-96
13
-4
-18
17
-13
-8
3
-28
1
0
0
0
0
0
0
0
9
0
-62
-38
34
-21
29
22
1
0
0
0
0
0
0
0
0
2
57
-5
10
-21
1
59
28
6
-4
-5
0
0
0
0
0
0
9
2
-2
27
-33
-63
-15
-51
19
0
0
0
0
0
0
0
0
0
6
24
36
29
-65
-27
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
3
-6
-26
6
1
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
1
-17
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
82
-9
5
0
0
0
0
5
0
2
-2
0
0
0
0
0
0
41
24
0
9
-31
24
-15
4
10
-2
0
0
0
0
0
0
0
-6
-50
-7
-26
-67
-38
26
-3
-1
0
0
0
0
0
0
0
0
3
11
-94
40
34
-103
50
18
16
-2
6
0
0
0
0
0
0
0
-1
13
-18
7
27
-2
4
-2
-1
2
-1
0
0
0
0
0
0
0
0
-11
-27
31
-43
-17
0
3
0
0
0
0
0
0
0
0
0
1
0
0
-22
-43
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
19
0
-1
0
0
0
0
-4
0
0
-4
0
0
0
0
0
2
-4
-4
3
0
0
0
0
9
-8
-1
5
0
0
0
0
0
0
-28
0
-5
0
0
0
-19
-6
5
1
1
-1
0
0
0
0
0
0
8
2
-10
11
-7
10
54
1
-2
4
4
0
0
0
0
0
0
-6
-8
75
0
-38
3
-15
5
4
-1
2
0
0
0
0
0
0
0
-12
-6
0
38
-1
-1
1
0
1
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
1
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
-1
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
1
0
0
0
0
0
0
0
0
10
13
0
0
0
2
4
2
1
2
0
0
0
0
0
0
0
3
2
14
-1
-3
-1
0
1
5
3
0
0
0
0
0
0
0
-2
0
4
-20
0
-7
0
-1
-2
2
-1
0
0
0
0
0
0
0
-2
0
10
0
3
1
4
0
-2
0
0
0
0
0
0
0
0
0
0
8
-7
0
-6
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
-8
0
0
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
9
-3
-3
0
0
3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
3
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
7
42
17
-7
1
0
0
0
0
0
0
0
0
0
0
0
-14
15
34
-22
33
14
0
0
0
0
0
0
0
0
0
0
0
-15
57
2
-20
16
-38
57
-66
0
0
0
0
0
0
0
0
0
0
13
-28
-14
20
-35
50
114
0
0
0
0
0
0
0
0
0
-1
0
12
-24
24
7
49
18
0
0
0
0
0
0
0
0
0
0
0
0
47
-14
-57
-7
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-76
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
-1
0
0
0
0
0
0
0
0
0
-27
37
-4
-18
-14
-17
0
0
0
0
0
0
0
0
0
0
0
-41
-8
-111
14
22
27
0
0
0
0
0
0
0
0
0
0
0
0
18
-18
-44
-78
-67
-17
-34
44
0
0
0
0
0
0
0
0
0
15
56
-45
6
-28
-16
32
157
0
0
0
0
0
0
0
0
1
76
26
-160
52
21
84
-21
-5
0
0
0
0
0
0
0
0
2
-2
14
-66
0
-68
-32
-36
-26
0
0
0
0
0
0
0
0
0
0
0
1
4
40
48
55
33
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-49
-17
-64
0
0
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
11
-8
8
3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
66
3
47
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
-51
33
-1
22
-25
11
7
0
0
0
0
0
0
0
0
0
-1
23
30
42
-7
-81
-69
-9
0
0
0
0
0
0
0
0
0
1
-8
-50
-55
23
63
-110
-9
0
0
0
0
0
0
0
0
0
0
6
9
-26
-33
-76
-14
18
0
0
0
0
0
0
0
0
0
0
0
10
-16
-10
18
-32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-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
11
-41
33
1
1
0
0
0
1
0
0
0
0
0
0
0
4
1
16
-1
22
2
0
0
0
1
-1
0
0
0
0
0
0
0
-5
3
1
-39
0
2
51
-35
1
2
0
0
0
0
0
0
0
0
0
4
9
15
-25
-73
-39
6
0
0
0
0
0
0
0
0
-7
1
21
-37
-21
-70
-10
6
-7
3
0
0
0
0
0
0
0
0
0
2
-27
48
-25
-18
58
-2
-3
0
0
0
0
0
0
0
0
0
0
7
4
5
45
39
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-3
50
-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
-2
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-5
2
-11
0
0
0
-7
0
0
0
0
0
0
0
0
1
-10
6
-8
23
-20
-39
15
0
1
0
0
0
0
0
0
0
-6
0
0
-9
52
17
28
-37
3
0
2
0
0
0
0
0
0
0
0
-11
-8
-22
-68
30
-2
-1
-6
0
0
0
0
0
0
0
0
0
31
5
20
54
9
99
10
2
0
0
0
0
0
0
0
0
0
0
5
-11
-32
-11
-29
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
20
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
-1
4
66
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-21
-12
22
17
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
53
26
-2
3
-43
44
-4
0
-1
0
0
0
0
0
0
0
41
0
-8
-2
-2
-17
-47
-8
-4
3
0
0
0
0
0
0
-70
22
1
19
-71
14
39
10
10
-1
0
0
0
0
0
0
0
0
0
0
-20
25
-17
-29
-99
5
-1
0
0
0
0
0
0
0
0
0
0
2
6
-153
-31
-58
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
1
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
-11
0
11
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
2
-5
3
0
0
0
0
1
3
0
0
0
0
0
0
1
0
0
-1
-3
0
-3
4
42
-4
1
0
0
0
0
0
0
0
11
-23
40
1
2
-6
-103
57
-4
0
-2
0
0
0
0
0
0
1
0
-6
49
10
5
12
80
2
0
0
0
0
0
0
0
0
1
0
3
8
-6
27
34
-68
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-12
4
-6
-79
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
7
-1
3
3
0
0
0
0
0
2
0
0
0
0
0
0
0
22
18
-3
2
0
0
0
20
0
-22
3
0
0
0
0
0
0
1
12
0
-1
13
0
-57
1
4
4
1
0
0
0
0
0
0
13
0
-10
6
4
11
1
25
0
0
0
-1
0
0
0
0
0
-2
14
1
-44
-18
-12
18
-17
-2
0
0
0
0
0
0
0
0
0
0
14
3
48
27
-5
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
102
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-77
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
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-25
0
-3
0
0
0
0
0
-1
0
5
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
2
-12
-18
0
-4
7
-1
0
0
0
0
0
0
0
0
35
16
24
-30
-64
-3
-1
-9
0
4
0
0
0
0
0
0
0
0
0
15
-21
10
-2
6
0
-1
0
0
0
0
0
0
0
0
0
-8
8
-21
-6
-29
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
4
2
4
0
-8
0
0
0
0
0
0
0
0
0
0
-5
1
3
3
0
-7
-1
0
0
0
0
0
0
0
0
0
0
10
-6
-7
6
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-9
24
0
0
0
0
0
0
0
0
0
0
0
42
20
-17
-55
-50
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
12
-22
-17
45
-67
0
0
0
0
0
0
0
0
0
0
2
-64
-35
4
2
-123
-48
0
0
0
0
0
0
0
0
0
0
17
26
56
21
-3
-13
18
0
0
0
0
0
0
0
0
0
0
0
11
20
-4
-21
5
115
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-24
-1
13
0
0
0
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
-2
0
-4
0
0
0
0
0
0
0
0
0
16
6
27
24
-25
-31
0
0
0
0
0
0
0
0
0
0
0
45
-33
-97
-7
-92
70
0
0
0
0
0
0
0
0
0
0
0
-1
6
17
46
-6
-56
2
23
17
0
0
0
0
0
0
0
0
0
4
7
68
8
1
-66
101
53
0
0
0
0
0
0
0
0
0
0
2
72
14
-11
77
-2
23
0
0
0
0
0
0
0
0
0
-14
-2
13
-51
-14
46
60
66
0
0
0
0
0
0
0
0
0
0
2
0
13
69
-3
-12
-50
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-12
-84
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-7
-25
5
-47
-12
6
0
0
0
0
0
0
0
0
0
0
0
4
-20
-12
40
7
33
0
0
0
9
0
0
0
0
0
0
0
0
-15
-21
-26
-89
-35
-14
-52
-22
-2
0
0
0
0
0
0
0
0
0
0
-11
-32
36
2
41
-26
-43
0
0
0
0
0
0
0
0
0
-3
-18
-1
20
-8
-13
-49
1
0
0
0
0
0
0
0
0
-1
10
0
-12
-59
-45
-93
-45
12
0
0
0
0
0
0
0
0
0
1
4
2
34
-29
27
-64
-4
0
0
0
0
0
0
0
0
0
0
3
-3
9
14
-2
40
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
-2
-22
5
53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-148
-11
-6
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
2
-4
-46
-7
-39
16
0
0
0
0
0
0
0
0
0
0
0
23
-12
-37
7
37
-70
20
0
0
0
0
0
0
0
1
0
0
8
18
-29
-41
9
11
9
4
0
0
0
0
0
0
0
3
1
2
-1
-29
-44
-35
-94
7
1
0
0
0
0
0
0
0
0
0
6
-3
-35
-49
-37
-106
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-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
2
10
-13
12
3
0
0
0
0
0
0
0
0
0
0
0
0
2
140
40
29
-13
0
0
0
1
0
0
0
0
0
0
0
0
-39
0
-25
7
3
6
93
-43
2
0
0
0
0
0
0
0
0
20
-1
0
0
50
1
-118
64
1
0
0
0
0
0
0
0
-6
-9
0
-6
4
-37
28
-13
32
4
-1
0
0
0
0
0
0
0
0
0
0
19
-7
-42
-23
31
6
0
0
0
0
0
0
0
0
0
0
15
3
5
27
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-11
-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
29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
13
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
6
0
0
27
15
64
0
0
0
0
0
0
0
0
0
10
0
25
0
-1
25
-18
5
-38
0
0
0
0
0
0
0
-4
-2
0
2
3
0
55
68
-27
4
0
0
0
0
0
0
0
0
0
0
0
17
0
-9
-41
-69
1
0
0
0
0
0
0
0
0
0
-15
3
0
-58
24
2
-60
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-13
-31
0
0
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
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
13
19
-13
0
0
0
0
-1
0
0
0
0
0
0
0
-16
-1
-39
5
-1
1
25
-21
0
0
0
0
0
0
0
0
0
0
8
4
-3
0
-11
67
36
-3
0
0
0
0
0
0
0
0
0
0
-5
-13
3
-4
-42
-40
1
0
0
-1
0
0
0
0
0
0
0
-3
-69
-1
-40
26
28
-2
0
0
0
0
0
0
0
0
0
0
0
14
14
102
-10
41
0
3
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
-59
0
0
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
24
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
32
9
-1
2
0
0
0
4
0
-1
-1
0
0
0
0
0
4
19
-71
21
0
1
17
-12
-2
-1
0
0
0
0
0
0
0
-23
0
-8
4
2
0
1
-2
5
0
1
0
0
0
0
0
0
0
7
5
21
-2
-3
6
-9
2
-2
0
0
-1
0
0
0
0
0
2
20
2
15
38
9
-43
0
-4
0
0
0
0
0
0
0
0
0
0
-11
7
4
13
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
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
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
11
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
97
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-10
10
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-4
-15
-45
-2
-2
0
0
-4
0
0
0
0
0
0
0
10
12
8
-14
63
24
-6
14
8
1
0
0
0
0
0
0
0
0
-12
-27
18
17
-78
-73
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
-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
18
0
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
0
0
0
0
0
0
0
-1
4
6
6
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
33
0
0
1
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
-9
2
-9
14
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-35
-6
-3
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-13
24
7
0
0
0
0
0
0
0
0
0
0
1
74
-31
45
-16
60
-13
0
0
0
0
0
0
0
0
0
0
0
5
33
0
-7
-19
-14
-1
-46
0
0
0
0
0
0
0
0
0
6
0
6
38
-13
-24
-25
93
0
0
0
0
0
0
0
0
0
0
0
18
26
29
52
-40
-32
0
0
0
0
0
0
0
0
0
0
0
17
-38
36
115
10
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-34
41
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-37
0
0
0
0
0
0
0
0
0
-1
15
11
-33
14
7
0
0
0
0
0
0
0
0
0
0
0
-20
12
37
-137
5
8
0
0
0
0
0
0
0
0
0
0
0
14
-38
-38
-80
80
-88
-17
-33
-39
0
0
0
0
0
0
0
0
0
-1
70
-59
-184
6
-143
105
-70
0
0
0
0
0
0
0
0
0
0
-27
74
58
91
15
32
1
0
0
0
0
0
0
0
0
0
-1
34
-37
128
10
-74
19
47
0
0
0
0
0
0
0
0
-12
2
8
-29
-18
-58
-21
4
-49
0
0
0
0
0
0
0
0
0
0
2
-13
41
-20
-48
47
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-107
-4
0
0
0
0
0
0
0
0
2
8
-85
-25
-16
-4
0
0
0
6
0
0
0
0
0
0
0
-4
8
-8
-76
-28
-65
0
0
0
-33
0
0
0
0
0
0
0
23
9
-50
-71
-140
-151
-20
-43
3
8
0
0
0
0
0
0
0
0
1
-2
-88
-6
67
55
5
-12
5
0
0
0
0
0
0
0
0
0
0
70
-11
-47
-21
-55
67
3
0
0
0
0
0
0
0
0
0
0
-21
97
-55
-35
60
-1
11
0
0
0
0
0
0
0
10
-5
2
-14
-52
47
97
25
-45
-10
0
0
0
0
0
0
0
0
0
0
-9
-3
-12
61
1
52
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
2
0
0
0
0
0
0
0
2
9
9
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
-12
-39
48
-2
0
0
0
-7
0
0
0
0
0
0
0
-1
-9
20
-14
18
100
21
-107
8
-6
0
0
0
0
0
0
0
6
0
0
3
45
-6
2
-29
10
-1
0
0
0
0
0
0
0
-4
0
0
0
23
-5
11
-15
-79
0
0
0
0
0
0
0
0
1
0
0
0
-58
62
-39
-98
63
11
0
0
0
0
0
0
0
0
-1
-3
0
0
19
50
3
30
-8
0
0
0
0
0
0
0
0
0
0
4
0
-21
-48
61
-62
3
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
-9
-50
5
20
14
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-30
-26
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
65
30
-4
-7
-59
15
20
3
0
0
0
0
0
0
0
0
12
0
-1
4
-3
65
-16
21
-8
0
0
0
0
0
0
0
15
0
0
0
-2
64
133
50
-79
1
0
0
0
0
0
0
0
0
0
0
0
0
-27
-29
7
32
-15
0
0
0
0
0
0
0
0
0
-8
-6
-1
-5
118
23
-88
10
0
0
0
0
0
0
0
0
0
0
0
2
15
0
-21
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
-11
3
-7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
11
17
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-47
-2
-7
-18
-22
3
0
0
0
0
0
0
0
0
0
0
91
-15
1
1
-32
44
15
0
0
0
0
0
0
0
0
0
0
25
-8
0
0
-14
61
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
85
67
7
0
0
0
0
0
0
0
0
0
0
0
0
-25
-51
0
-107
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-67
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
-49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
13
15
8
0
0
0
-6
0
0
0
0
0
0
0
0
-1
27
0
-60
11
-45
29
-51
0
-1
0
0
0
0
0
0
0
-1
-40
-57
0
0
0
24
-4
0
0
0
0
0
0
0
0
0
0
-13
-4
11
0
-3
-25
-4
0
0
0
0
0
0
0
0
0
0
6
-1
0
-8
0
93
-43
6
0
0
0
0
0
0
0
0
0
15
0
34
-9
-66
47
20
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-69
-1
-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
-10
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
-14
-7
-23
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-4
-71
44
0
-4
-26
87
0
1
1
0
0
0
0
0
0
0
0
60
38
-5
0
0
-11
18
-1
0
0
0
0
0
0
0
0
0
0
10
-6
0
0
0
3
0
-1
-2
0
0
0
0
0
0
0
0
-13
4
0
-6
0
85
0
1
0
0
0
0
0
0
0
0
1
0
0
-37
-4
18
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-8
-38
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
31
-5
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
-1
4
8
-16
-2
-9
0
0
0
0
0
0
0
0
0
-1
-1
70
2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-15
-11
-22
0
0
0
4
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
1
0
-6
16
-43
-9
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
11
-17
0
-6
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
11
9
4
-1
-39
-40
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
12
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-83
-1
-31
20
37
-19
0
0
0
0
0
0
0
0
0
0
0
-18
-26
-60
-7
-25
-11
-23
-54
0
0
0
0
0
0
0
0
0
-16
-11
-33
-40
1
-16
17
51
0
0
0
0
0
0
0
0
0
0
-62
-56
106
15
-38
18
22
0
0
0
0
0
0
0
0
0
0
1
-6
-16
19
49
27
5
0
0
0
0
0
0
0
0
0
0
0
-10
-2
22
79
-3
-13
0
0
0
0
0
0
0
0
0
0
0
-26
0
4
5
18
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
7
-7
0
0
0
0
0
0
0
0
0
-2
43
90
-38
-6
-19
0
0
0
0
0
0
0
0
0
0
0
120
58
-46
-95
35
6
0
0
0
0
0
0
0
0
0
0
0
23
1
29
-82
52
32
27
-130
19
0
0
0
0
0
0
0
0
2
54
-25
70
23
-70
-5
56
15
0
0
0
0
0
0
0
0
0
-1
-33
-50
-50
-79
-92
92
22
0
0
0
0
0
0
0
0
0
0
-6
85
-47
-59
45
27
-15
0
0
0
0
0
0
0
0
0
0
-8
-12
30
6
21
-64
20
0
0
0
0
0
0
0
0
0
0
0
-2
-40
12
51
14
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
101
-25
0
0
0
0
0
0
0
0
3
-15
-39
1
-64
44
0
0
0
-1
0
0
0
0
0
0
0
17
45
39
-36
-14
-14
0
0
0
-9
0
0
0
0
0
0
0
-2
40
47
38
35
-21
51
28
-14
-24
0
0
0
0
0
0
0
-22
-10
-123
17
-27
-54
56
6
-33
1
0
0
0
0
0
0
0
0
2
1
-30
-45
-17
20
5
-43
-3
0
0
0
0
0
0
0
0
0
0
14
-10
52
-17
-24
2
-8
0
0
0
0
0
0
0
0
0
0
20
5
19
60
-76
-85
-52
0
0
0
0
0
0
0
0
0
3
1
-6
29
20
27
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
-63
-22
-17
-17
6
0
0
0
0
0
0
0
0
-18
-25
-50
3
2
0
0
0
2
0
0
0
0
0
0
0
8
36
-72
21
-5
78
0
0
0
3
0
0
0
0
0
0
0
-1
-12
-57
-42
-2
-6
-7
-28
-29
5
0
0
0
0
0
0
0
0
1
-70
-32
-48
-9
-58
20
-49
0
2
0
0
0
0
0
0
-2
0
6
0
-38
-166
45
2
-92
0
0
0
0
0
0
0
0
0
0
0
0
-25
28
6
-104
-57
-2
0
0
0
0
0
0
0
0
0
0
3
-1
53
41
-13
4
-28
2
0
0
0
0
0
0
0
0
0
-4
2
11
-26
-7
-60
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-75
9
4
0
0
0
0
0
0
0
0
-9
-8
-7
1
5
0
0
0
0
0
0
0
0
0
0
0
0
21
8
-6
32
0
0
0
0
-1
0
0
0
0
0
0
0
2
50
-21
18
12
-38
-1
-14
28
0
0
0
0
0
0
0
0
0
10
91
-63
102
7
-66
-14
18
1
0
0
0
0
0
0
0
-24
-1
0
0
4
62
-91
13
-61
2
0
0
0
0
0
0
0
0
0
0
0
0
47
-53
-112
9
-3
0
0
0
0
0
0
0
0
5
0
0
0
119
-81
11
-78
4
0
0
0
0
0
0
0
0
0
0
-3
0
10
-56
9
-14
6
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
5
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
4
5
8
0
0
0
-1
0
0
0
0
0
0
0
0
-28
1
-39
-13
50
0
-3
-23
0
0
0
0
0
0
0
0
-5
-19
-4
5
45
-5
6
-7
-26
0
2
0
0
0
0
0
0
12
12
-41
0
0
0
35
-76
-43
-3
3
0
0
0
0
0
0
0
0
0
0
0
4
-14
-1
3
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
36
-16
-66
0
3
0
0
0
0
0
0
0
0
0
9
1
0
-7
37
32
-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
-2
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-43
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
34
-14
-19
0
9
0
0
0
0
0
0
0
0
0
0
0
-24
14
-12
-2
-35
4
19
0
0
0
0
0
0
0
0
1
0
-16
35
0
0
-18
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
6
9
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-35
-3
0
0
0
0
0
0
0
0
0
5
0
0
0
-40
-6
-12
-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
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
9
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
51
-2
-1
-16
3
12
0
0
0
0
0
0
0
0
0
0
0
2
28
3
-1
-17
-14
3
0
0
0
0
0
0
0
0
1
-5
-12
7
23
0
0
0
-99
0
0
0
0
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
10
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-49
-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
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
-14
10
7
-7
0
0
0
0
0
0
0
0
0
0
0
-2
98
-5
60
4
-20
0
0
0
0
0
0
0
0
-1
0
3
-29
52
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-61
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
-1
0
0
0
0
0
0
0
0
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
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
-5
-14
-14
11
8
5
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-18
-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
-1
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-26
5
-38
111
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-45
-20
17
35
-3
3
-14
0
0
0
0
0
0
0
0
0
6
-51
2
10
-12
53
-35
17
0
0
0
0
0
0
0
0
0
2
6
41
9
-47
72
-101
23
0
0
0
0
0
0
0
0
0
0
-3
52
35
53
74
-45
56
0
0
0
0
0
0
0
0
0
0
9
-1
-25
55
-89
-55
31
0
0
0
0
0
0
0
0
0
0
-2
-12
-2
7
-56
-17
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
54
0
0
0
0
0
0
0
0
0
0
-23
-32
-82
-6
-15
0
0
0
0
0
0
0
0
0
0
0
21
-38
74
-3
-41
16
0
0
0
0
0
0
0
0
0
0
0
32
-12
-53
-113
18
-38
87
-58
-29
0
0
0
0
0
0
0
0
1
55
-36
-18
-98
-40
72
-58
-12
0
0
0
0
0
0
0
0
-2
55
-96
60
-39
32
67
-8
-41
0
0
0
0
0
0
0
0
0
0
-55
0
22
47
-29
64
-59
0
0
0
0
0
0
0
0
0
0
34
-56
-108
102
63
-53
-21
0
0
0
0
0
0
0
0
0
0
0
52
65
-22
12
-52
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
6
-4
0
0
0
0
0
0
0
0
0
-43
27
18
21
-26
0
0
0
-1
0
0
0
0
0
0
0
29
-20
21
-104
37
31
0
0
0
-43
0
0
0
0
0
0
0
0
-6
5
-14
77
44
-2
44
44
10
0
0
0
0
0
0
0
-4
-19
0
43
-19
-21
-93
-74
-37
-1
0
0
0
0
0
0
0
-19
-25
21
176
51
25
-36
17
145
2
0
0
0
0
0
0
0
0
0
-4
30
56
-54
-33
3
-1
-16
0
0
0
0
0
0
0
0
0
0
18
11
56
52
-38
-138
-30
0
0
0
0
0
0
0
0
0
0
0
4
7
-38
-29
73
-69
0
0
0
0
0
0
0
0
0
0
0
0
3
11
41
2
1
0
0
0
0
0
0
0
0
-3
-19
-58
1
2
0
0
0
1
0
0
0
0
0
0
0
-2
-4
-19
21
-47
57
0
0
0
-8
-3
0
0
0
0
0
0
-4
2
-7
22
11
19
-7
0
-26
2
-8
0
0
0
0
0
0
-2
-3
53
-42
18
67
30
34
-47
-3
0
0
0
0
0
0
0
23
-68
-37
-131
60
57
97
-62
3
0
0
0
0
0
0
0
0
1
0
-1
0
-150
24
-53
48
71
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
20
-45
-53
2
0
0
0
0
0
0
0
0
0
0
0
2
-8
-57
-2
14
78
0
0
0
0
0
0
0
0
0
0
0
0
22
14
5
10
2
0
0
0
0
0
0
0
0
0
0
-11
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
25
53
39
15
-29
0
0
0
7
1
0
0
0
0
0
0
0
-7
-57
-17
14
11
0
0
-11
0
0
0
0
0
0
0
0
0
-10
-37
34
16
-38
-3
9
16
0
0
0
0
0
0
0
0
-21
0
65
3
-38
-4
18
38
-7
0
0
0
0
0
0
0
0
18
2
0
0
0
-54
45
-30
-52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-50
-50
-14
0
0
0
0
0
0
0
0
0
0
0
0
17
-115
-4
28
22
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
0
-5
0
0
0
0
0
0
0
0
4
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-39
-51
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
40
-11
1
1
1
0
0
0
0
0
0
0
0
0
-4
69
-7
-8
33
-53
0
-6
1
0
0
0
0
0
0
0
0
-1
0
45
42
-138
6
67
-23
2
0
0
0
0
0
0
0
-10
0
0
0
0
0
66
-76
84
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-19
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
50
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
-11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
15
-6
27
33
0
0
0
0
0
0
0
0
0
0
0
28
16
23
-1
47
-29
1
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
87
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-19
-10
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-27
-84
11
9
15
5
0
0
0
0
0
0
0
0
0
18
-4
13
1
17
-34
0
1
0
0
0
0
0
0
0
0
0
0
0
24
44
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
0
0
0
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
1
-2
0
10
0
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
0
-7
1
7
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
7
-10
-6
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-43
-14
3
0
0
0
0
0
0
0
0
0
0
0
1
-5
-28
-12
-20
50
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-34
-156
-19
-76
1
-13
34
0
0
0
0
0
0
0
0
0
7
-80
14
48
7
-15
-33
-37
0
0
0
0
0
0
0
0
0
-15
4
-38
-3
-58
-109
46
8
0
0
0
0
0
0
0
0
0
0
0
20
-31
-47
-27
31
128
0
0
0
0
0
0
0
0
0
0
0
-17
14
29
-22
49
-118
0
0
0
0
0
0
0
0
0
0
-4
0
0
-9
65
24
78
0
0
0
0
0
0
0
0
0
0
22
-74
138
13
16
0
0
0
0
0
0
0
0
0
0
0
-20
-136
-58
3
167
25
0
0
0
0
0
0
0
0
0
0
0
-5
36
37
19
80
-105
9
-7
21
0
0
0
0
0
0
0
0
-12
67
8
-39
20
23
26
19
-3
0
0
0
0
0
0
0
0
0
38
-50
-37
81
58
120
-4
142
0
0
0
0
0
0
0
0
19
-34
-8
-30
-1
89
44
36
97
0
0
0
0
0
0
0
0
0
0
5
-29
2
64
104
3
-41
0
0
0
0
0
0
0
0
0
0
3
-37
-2
7
50
-81
68
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
14
30
-14
0
0
0
0
0
0
0
0
0
-3
-2
-6
-1
5
0
0
0
0
0
0
0
0
0
0
0
-25
0
77
-3
7
9
0
0
0
-4
0
0
0
0
0
0
0
0
-11
7
86
-50
0
0
2
-31
-5
0
0
0
0
0
0
0
0
-15
-5
-71
27
8
-86
32
-3
0
0
0
0
0
0
0
0
-6
-2
11
-35
-99
-9
-39
-3
-103
0
0
0
0
0
0
0
0
0
12
-9
-4
-23
-8
34
7
-8
17
0
0
0
0
0
0
0
0
0
0
22
-65
19
105
115
-101
-4
0
0
0
0
0
0
0
0
0
0
2
22
-29
9
43
167
-87
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
10
1
3
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
-5
-17
56
1
4
0
0
0
0
-2
0
0
0
0
0
0
-11
-13
21
-54
37
13
5
0
35
0
0
0
0
0
0
0
0
2
-6
0
-62
27
-62
-37
10
-8
0
0
0
0
0
0
0
0
0
3
16
-15
-6
18
42
-50
10
1
0
0
0
0
0
0
0
-1
-24
-8
-66
99
30
4
25
-1
0
0
0
0
0
0
0
0
-1
0
0
0
42
-6
66
-24
41
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
25
16
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
-34
18
2
1
0
0
0
0
0
0
0
0
0
0
0
1
-35
-11
37
1
3
2
0
0
0
0
0
0
0
0
0
0
-4
-7
20
-89
1
-13
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-18
-34
103
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
11
-2
-45
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
57
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-1
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
-35
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
4
5
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
5
1
-7
-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
4
-13
-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
0
0
0
0
0
0
0
0
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
-14
1
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
3
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-26
7
-51
-7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
2
-40
39
-36
-17
0
0
15
0
0
0
0
0
0
0
0
-8
20
-85
-2
83
-24
-23
-28
71
0
0
0
0
0
0
0
0
5
-11
31
-10
-49
-1
10
27
-80
0
0
0
0
0
0
0
0
0
-5
19
13
-122
-83
-19
-37
9
0
0
0
0
0
0
0
0
0
0
0
2
35
-32
123
-43
-23
0
0
0
0
0
0
0
0
0
0
0
6
-10
38
58
-6
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-83
-50
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
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
25
-12
-5
4
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
-13
16
11
-1
3
-18
0
0
0
0
0
0
0
0
-1
17
-52
-60
-47
44
-15
-2
-4
0
0
0
0
0
0
0
0
0
-13
-2
17
-13
28
85
-41
0
0
0
0
0
0
0
0
0
0
0
-28
3
-8
23
110
-3
0
0
0
0
0
0
0
0
0
0
0
0
16
10
18
0
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
2
3
27
0
-2
0
0
0
0
0
0
0
0
0
0
3
-5
7
-39
13
-2
-3
-3
0
0
0
0
0
0
0
0
0
8
0
-8
10
-30
23
-3
1
0
0
0
0
0
0
0
0
0
0
5
0
-14
26
-9
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
11
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
26
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
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
-24
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
3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-8
-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
4
0
2
9
-22
-10
-1
-2
0
0
0
0
0
0
0
0
0
5
8
5
-4
-85
-11
8
0
0
0
0
0
0
0
0
0
0
5
-7
71
2
-24
22
3
13
0
0
0
0
0
0
0
0
0
0
25
-2
2
5
1
11
-17
2
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
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
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
5
-6
-9
2
0
0
0
0
0
0
0
0
0
-5
-1
-22
17
38
-32
2
0
0
0
0
0
0
0
0
0
0
0
-2
13
-16
-11
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
7
-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
-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
-8
2
0
1
-21
0
-9
0
0
0
0
0
0
0
0
0
0
-2
2
-2
2
-9
8
0
0
0
0
0
0
0
0
0
0
-15
0
-9
0
11
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
8
5
6
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
-11
2
-2
1
10
18
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-10
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-1
-2
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
2
0
-6
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
-18
1
2
22
8
-5
-4
3
0
0
0
0
0
0
0
0
4
-2
8
-6
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
14
-1
0
-9
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
1
4
-15
-45
8
-1
8
0
-3
0
0
0
0
0
0
0
0
-1
4
-12
0
0
-23
2
-1
-3
0
0
0
0
0
0
0
0
0
9
-5
0
1
0
0
2
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
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
4
0
0
2
6
10
9
0
0
0
0
0
0
0
0
0
0
-3
0
0
31
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
15
-7
4
2
0
0
0
0
0
0
0
0
0
0
-22
0
-13
-18
0
1
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
-2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
33
28
-28
5
-14
-8
0
0
0
0
0
0
0
0
0
9
-26
71
63
57
14
21
11
4
0
0
0
0
0
0
0
0
-6
2
-48
-11
16
51
-29
22
-3
0
0
0
0
0
0
0
0
-2
-18
-1
48
5
-45
37
14
-18
0
0
0
0
0
0
0
0
0
6
0
-6
-1
3
18
0
5
-2
0
0
0
0
0
0
0
0
-1
2
27
0
-12
1
0
-4
0
0
0
0
0
0
0
0
0
-6
-1
1
-14
-1
-3
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
38
-56
81
-24
40
-2
0
0
0
0
0
0
0
0
0
-1
53
4
-50
27
-64
8
-1
-7
0
0
0
0
0
0
0
0
10
-2
-33
-16
-49
99
1
-3
-2
0
0
0
0
0
0
0
0
0
-4
11
10
-5
-8
5
-1
-4
0
0
0
0
0
0
0
0
0
-3
-2
3
-7
5
6
8
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-13
49
-1
12
0
0
0
0
0
0
0
0
0
0
9
3
39
-5
-13
41
1
-3
0
0
0
0
0
0
0
0
1
-25
0
5
28
27
-8
1
-4
0
0
0
0
0
0
0
0
4
-3
1
-9
-22
5
0
1
-7
0
0
0
0
0
0
0
0
0
2
-2
2
0
9
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
9
50
-1
24
-5
-12
4
0
0
0
0
0
0
0
0
0
-3
113
-2
2
1
4
-13
-5
-3
0
0
0
0
0
0
0
0
-3
7
1
6
28
-5
-14
2
-14
0
0
0
0
0
0
0
0
-1
-3
1
2
-1
-28
12
0
-1
0
0
0
0
0
0
0
0
1
4
3
-2
-2
12
-13
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
30
41
0
4
1
-4
0
0
0
0
0
0
0
0
0
0
-40
-13
14
-20
-11
-53
32
8
0
0
0
0
0
0
0
0
11
26
3
32
9
-27
6
12
0
0
0
0
0
0
0
0
0
7
10
-6
-1
-8
0
20
-2
-3
0
0
0
0
0
0
0
0
0
-5
0
7
0
-9
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
-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
0
11
4
61
-13
-32
4
0
-3
0
0
0
0
0
0
0
0
21
18
2
53
-11
-7
-5
-11
-1
0
0
0
0
0
0
0
0
-6
-52
-8
16
-1
-13
-6
2
-11
0
0
0
0
0
0
0
-1
-5
6
-11
-1
-1
-27
-3
-5
-1
0
0
0
0
0
0
0
0
2
20
0
1
-2
-3
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
35
-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
-2
35
-7
0
-1
0
-1
0
0
0
0
0
0
0
0
-6
0
10
19
0
6
-1
0
-4
0
0
0
0
0
0
0
1
-1
-1
2
-6
-3
0
-8
7
-1
0
0
0
0
0
0
0
1
0
11
1
3
0
6
0
-1
0
0
0
0
0
0
0
0
0
14
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
2
-3
0
9
-3
0
0
0
0
0
0
0
0
0
0
5
0
-1
11
-3
1
-18
2
-1
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
10
4
-25
0
0
0
0
0
0
0
0
0
0
0
10
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
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
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
2
2
-34
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
39
44
-3
-8
20
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
-10
-16
0
-16
0
0
0
0
0
0
0
0
0
0
0
10
0
7
0
23
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-22
21
26
5
0
0
0
0
0
0
0
0
0
-7
56
94
28
39
28
-33
-17
-11
0
0
0
0
0
0
0
0
5
1
-9
1
-12
-39
40
9
6
0
0
0
0
0
0
0
0
1
38
1
-7
4
28
-50
9
-10
0
0
0
0
0
0
0
0
0
-13
0
-25
-10
8
0
-14
-1
0
0
0
0
0
0
0
0
0
-1
2
4
5
0
0
-2
0
0
0
0
0
0
0
0
0
-5
-42
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
22
91
-12
-1
0
0
0
0
0
0
0
0
0
0
-12
-54
81
-40
11
26
3
-1
0
0
0
0
0
0
0
0
3
6
0
1
-8
1
0
-3
0
0
0
0
0
0
0
0
0
0
-22
36
-1
-5
1
-2
6
0
0
0
0
0
0
0
0
0
0
28
4
-5
1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
1
24
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
3
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
-6
0
6
5
20
-1
0
0
0
0
0
0
0
0
0
0
11
-11
4
-19
-64
-7
-4
0
0
0
0
0
0
0
0
0
0
27
-8
0
1
7
-11
-4
11
0
0
0
0
0
0
0
0
0
5
0
-5
-2
7
-11
-1
0
0
0
0
0
0
0
0
0
0
2
10
-2
0
0
6
0
13
0
0
0
0
0
0
0
0
0
8
-10
-12
0
2
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
2
0
0
0
0
0
0
0
0
0
-3
-6
2
3
-12
-17
-46
14
0
0
0
0
0
0
0
0
0
0
12
7
-2
0
11
10
9
0
0
0
0
0
0
0
0
0
0
-14
0
-2
5
-3
3
0
2
0
0
0
0
0
0
0
0
0
5
0
5
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
16
0
0
0
0
0
0
0
0
0
0
11
-4
13
34
-29
-16
-1
1
0
0
0
0
0
0
0
0
1
0
1
2
-14
0
0
3
-1
0
0
0
0
0
0
0
0
-5
1
-3
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
3
-14
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-1
0
0
0
0
0
0
0
0
0
0
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
11
1
34
-1
0
0
0
0
0
0
0
0
0
0
19
5
13
27
6
50
-3
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
-5
-8
0
0
0
0
0
0
0
0
0
-24
32
-22
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-4
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
-2
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
0
0
0
0
0
0
0
0
0
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
-1
1
13
-7
0
0
0
0
0
0
0
0
0
0
5
2
-25
99
34
-17
9
3
16
-5
0
0
0
0
0
0
2
0
12
4
2
-13
2
2
11
1
0
0
0
0
0
0
0
0
0
12
-2
-5
-7
10
-4
0
0
0
0
0
0
0
0
0
0
4
-4
15
1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
0
17
-7
-6
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
20
0
-3
0
-1
0
0
0
0
0
0
0
0
16
-1
-24
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-11
0
33
0
0
0
0
0
0
0
0
0
0
0
15
-3
5
8
0
0
0
3
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
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-1
4
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
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-8
0
0
0
0
0
0
0
0
0
0
0
-12
35
-6
-6
-5
23
-18
37
0
0
0
0
0
0
0
0
0
-1
-25
-45
0
16
13
10
-1
0
0
0
0
0
0
0
0
0
2
-6
31
35
4
-17
0
0
0
0
0
0
0
0
0
0
0
45
3
-62
-2
6
9
0
0
0
0
0
0
0
0
0
0
0
-7
3
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
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
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-14
-25
-13
29
0
0
0
0
0
0
0
0
0
0
7
-20
-24
64
-9
-63
-41
6
0
0
0
0
0
0
0
0
4
0
43
-29
-37
-37
152
-68
1
0
0
0
0
0
0
0
0
-5
3
32
1
-50
13
-102
12
-4
0
0
0
0
0
0
0
0
0
-23
-6
-97
-6
8
19
-13
26
0
0
0
0
0
0
0
0
3
-26
-2
-19
-41
2
-5
0
3
0
0
0
0
0
0
0
0
0
-15
-4
76
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
-20
0
-4
0
0
0
0
0
0
0
0
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
-3
-2
45
-25
-50
0
0
0
0
0
0
0
0
0
5
-8
45
10
-7
-44
70
-1
-5
0
0
0
0
0
0
0
0
2
12
53
7
-18
24
-1
-17
13
0
0
0
0
0
0
0
0
-4
54
0
-32
-22
18
49
6
4
0
0
0
0
0
0
0
0
0
-31
-6
-32
39
-1
7
0
1
0
0
0
0
0
0
0
0
0
25
-10
-84
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
-5
33
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-5
0
0
0
0
0
0
0
0
0
0
11
-7
-1
-49
1
13
3
1
0
0
0
0
0
0
0
0
0
1
3
6
7
-24
-16
5
0
0
0
0
0
0
0
0
0
0
-26
-54
0
-2
-9
15
1
-9
0
0
0
0
0
0
0
0
0
2
3
-61
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-6
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
1
3
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
0
0
0
0
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
-9
14
-3
21
-71
0
0
0
0
0
0
0
0
0
0
-13
-10
-3
43
4
-10
-2
-19
0
0
0
0
0
0
0
0
0
-1
-10
-2
0
17
-39
-8
0
0
0
0
0
0
0
0
0
0
3
42
-9
8
12
4
0
0
0
0
0
0
0
0
0
0
0
6
-6
10
-2
7
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
6
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-6
5
0
0
0
0
0
0
0
0
0
6
0
-10
0
4
0
27
4
22
0
0
0
0
0
0
0
0
0
-4
-1
29
13
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
24
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-13
-12
70
-7
0
0
0
0
0
0
0
0
0
-2
-3
47
-2
6
2
0
-3
0
0
0
0
0
0
0
0
0
0
2
25
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
7
-26
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
-3
-1
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
1
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
8
1
4
4
-31
51
6
0
0
0
0
0
0
0
0
0
0
-5
-3
0
48
5
-15
22
0
-1
0
0
0
0
0
0
0
0
0
27
-1
10
-2
-4
0
0
0
0
0
0
0
0
0
0
0
14
13
15
-1
0
0
0
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
45
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
10
0
-17
-1
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
-19
-1
-7
3
-21
1
-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
-3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
20
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-4
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-18
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
-9
3
0
0
0
0
0
0
0
0
0
0
0
49
0
3
-6
35
-13
-25
-24
0
0
0
0
0
0
0
0
0
9
-5
12
-10
6
-24
-8
-1
0
0
0
0
0
0
0
0
0
-12
0
-44
-3
3
-1
-2
0
0
0
0
0
0
0
0
0
0
-7
4
-49
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
47
-5
18
6
4
0
0
0
0
0
0
0
0
0
0
0
0
-16
7
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
-2
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
-2
-14
-34
28
38
0
0
0
0
0
0
0
0
0
0
81
0
-1
-8
-62
-4
16
-6
9
0
0
0
0
0
0
0
1
88
-13
21
-43
58
-51
-9
-34
0
0
0
0
0
0
0
0
-11
2
-1
-79
14
-36
-72
121
-6
0
0
0
0
0
0
0
0
-8
2
56
7
50
-15
-40
5
11
2
0
0
0
0
0
0
0
-5
23
-55
75
-14
20
27
0
6
0
0
0
0
0
0
0
0
6
48
54
42
2
-3
13
0
0
0
0
0
0
0
0
0
0
5
-121
-29
96
0
0
0
2
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
-7
-2
-4
1
35
-53
0
3
0
0
0
0
0
0
0
0
3
0
-1
17
-2
7
33
0
0
0
0
0
0
0
0
0
-1
12
13
-10
-57
-38
-42
-9
1
2
0
0
0
0
0
0
0
-1
-3
22
-10
47
95
-42
2
13
0
0
0
0
0
0
0
0
0
-43
0
-71
24
19
-3
0
-2
0
0
0
0
0
0
0
0
3
3
9
8
16
11
1
-1
0
0
0
0
0
0
0
0
0
2
-106
-28
54
4
5
-1
0
0
0
0
0
0
0
0
0
0
0
68
-14
24
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
-1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
4
2
-15
1
6
-23
-6
0
0
0
0
0
0
0
0
0
0
-3
-28
13
32
17
-73
13
0
0
0
0
0
0
0
0
-4
-5
11
-15
2
-16
-26
-3
-2
0
0
0
0
0
0
0
0
0
-36
-13
0
-1
3
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-41
2
26
0
0
0
0
0
0
0
0
0
0
0
-5
2
106
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-7
-24
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
4
0
-12
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
39
-27
-9
0
0
0
0
0
0
0
0
0
0
-2
9
-14
26
-8
-11
-4
0
0
0
0
0
0
0
0
0
0
7
0
1
-10
-2
50
0
0
0
0
0
0
0
0
0
0
7
4
66
0
75
13
-16
2
0
0
0
0
0
0
0
0
0
-5
-31
2
3
-3
-12
0
0
0
0
0
0
0
0
0
0
0
-29
13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
4
26
-2
0
0
0
0
0
0
0
0
0
1
0
-4
0
18
1
-1
-3
0
0
0
0
0
0
0
0
0
0
13
2
0
-5
0
5
-1
15
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
5
0
0
0
0
0
0
0
0
0
0
-2
-7
26
-55
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
76
4
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
-4
0
-6
-13
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-13
2
0
0
0
0
0
0
0
0
0
0
2
-2
1
31
0
-4
0
0
0
0
0
0
0
0
0
0
0
-15
11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
19
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
3
28
-13
-11
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
2
0
0
-6
20
4
5
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
2
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
-2
52
82
9
0
-1
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
0
0
0
11
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
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
2
4
0
2
0
4
0
1
0
0
0
0
0
0
0
0
0
1
-2
-4
2
6
0
-10
0
0
0
0
0
0
0
0
0
0
0
-14
-5
-8
0
-7
12
0
0
0
0
0
0
0
0
0
0
8
-6
4
13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
48
3
0
0
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
-2
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
0
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-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
-1
0
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
1
0
0
0
0
0
0
0
0
0
0
1
1
-1
-1
-2
48
-8
0
0
0
0
0
0
0
0
0
0
-5
1
-11
12
2
24
3
-6
0
0
0
0
0
0
0
0
0
-31
-14
-3
1
-4
9
3
0
0
0
0
0
0
0
0
0
0
23
-12
-33
-31
10
-8
2
0
0
0
0
0
0
0
0
0
0
0
5
8
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-88
23
-3
39
-6
0
0
0
0
0
0
0
0
0
0
0
0
67
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
6
-18
-119
-23
-53
0
0
0
0
0
0
0
0
0
0
21
-5
-27
84
46
-173
25
2
0
0
0
0
0
0
0
0
-2
44
55
22
0
-161
-15
59
-12
0
0
0
0
0
0
0
0
-3
93
19
-31
90
-62
80
46
14
-4
0
0
0
0
0
0
0
-6
-81
70
67
61
43
-28
3
-15
0
0
0
0
0
0
0
0
-7
0
-10
21
111
-23
-35
10
-19
0
0
0
0
0
0
0
0
0
41
7
21
19
57
-4
1
0
0
0
0
0
0
0
0
0
19
-77
-64
87
1
-1
0
0
0
0
0
0
0
0
0
0
0
-27
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
-66
13
0
-3
0
0
0
0
0
0
0
2
-44
4
9
25
21
-28
-36
-5
0
0
0
0
0
0
0
0
1
-33
18
43
-24
-40
9
33
26
0
0
0
0
0
0
0
0
0
-21
-44
57
75
56
49
-49
-2
0
0
0
0
0
0
0
0
0
34
-3
-110
41
14
-17
-6
-16
0
0
0
0
0
0
0
0
0
1
0
28
2
73
85
0
2
0
0
0
0
0
0
0
0
-19
52
72
68
-126
21
-6
-12
0
0
0
0
0
0
0
0
0
0
-146
44
-41
32
-17
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-53
75
0
-12
0
0
0
0
0
0
0
0
0
0
2
-8
-28
-15
-22
-13
0
0
0
0
0
0
0
0
0
9
1
-32
-21
-13
63
-26
0
0
0
0
0
0
0
0
0
-5
3
-14
-6
-51
0
-32
7
-3
0
0
0
0
0
0
0
0
0
-16
-14
28
0
-9
-12
-3
0
0
0
0
0
0
0
0
0
0
-62
-115
0
56
-2
-5
0
0
0
0
0
0
0
0
0
0
-14
-1
-1
-11
6
-24
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
29
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
5
1
-4
37
56
13
0
0
0
0
0
0
0
0
0
0
0
0
1
32
-12
31
55
-18
0
0
0
0
0
0
0
0
-1
6
0
-7
-10
-20
0
15
2
0
0
0
0
0
0
0
0
0
24
-6
-33
-1
-5
9
0
-19
0
0
0
0
0
0
0
0
0
1
82
-24
0
2
-5
0
0
0
0
0
0
0
0
0
0
2
4
23
-15
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
57
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
6
25
-9
-3
1
0
0
0
0
0
0
0
0
0
4
0
0
-2
4
-48
13
-9
0
0
0
0
0
0
0
0
0
0
2
0
-53
0
-5
8
-18
0
0
0
0
0
0
0
0
0
4
0
-39
48
6
0
-1
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
-31
48
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-44
-19
0
1
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
37
-1
-1
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
-7
0
-1
8
0
-18
9
5
0
0
0
0
0
0
0
0
0
3
3
9
-2
2
2
-10
0
0
0
0
0
0
0
0
0
0
0
-16
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
85
43
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
-2
-6
1
-2
0
3
0
0
0
0
0
0
0
0
0
0
6
0
8
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
26
13
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-9
14
79
7
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-4
-1
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-3
22
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
6
2
0
0
0
0
0
0
0
0
0
16
1
2
-4
3
-12
-49
13
1
0
0
0
0
0
0
0
0
15
0
0
0
-18
28
-4
0
0
0
0
0
0
0
0
0
0
-7
12
41
33
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-44
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
17
-20
15
36
51
0
0
0
0
0
0
0
0
0
0
4
37
-19
-20
-77
-63
-57
23
0
0
0
0
0
0
0
0
0
-7
-6
-5
56
85
95
-47
-32
10
0
0
0
0
0
0
0
0
-20
-42
-62
-51
31
4
-3
-23
0
0
0
0
0
0
0
0
1
117
31
115
-33
4
-20
-4
-1
1
0
0
0
0
0
0
0
0
-68
-30
79
5
23
42
-28
-6
0
0
0
0
0
0
0
0
-7
0
111
-88
-134
-48
-24
5
0
0
0
0
0
0
0
0
0
2
49
65
0
-28
2
-1
4
0
0
0
0
0
0
0
0
0
88
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
2
-4
2
24
0
0
0
0
0
0
0
0
0
0
-12
9
5
26
-14
14
15
-25
-1
0
0
0
0
0
0
0
-2
-3
-11
-14
-15
57
-19
42
31
0
0
0
0
0
0
0
0
0
-40
1
-7
-20
-9
-23
77
-22
0
0
0
0
0
0
0
0
0
-17
27
140
12
78
-83
-20
40
1
0
0
0
0
0
0
0
0
43
45
-71
64
-36
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
24
11
42
-20
10
0
0
0
0
0
0
0
0
0
0
-10
65
33
37
-7
-9
-13
0
0
0
0
0
0
0
0
0
0
-1
-9
42
0
0
0
0
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
-7
0
0
-11
-13
-3
-36
-5
0
0
0
0
0
0
0
0
0
1
0
2
7
-3
-12
4
2
-1
0
0
0
0
0
0
0
0
34
21
93
-78
4
-7
9
20
0
0
0
0
0
0
0
0
0
-1
20
57
20
-4
38
-2
0
0
0
0
0
0
0
0
0
0
-1
31
11
-52
22
12
0
0
0
0
0
0
0
0
0
0
0
-55
-2
0
27
-10
0
2
0
0
0
0
0
0
0
0
0
0
98
0
-17
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
12
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-3
-2
0
-10
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
-25
-43
0
3
0
0
0
0
0
0
0
0
3
32
0
-3
-25
38
-1
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
25
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
50
-17
13
13
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
20
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
4
20
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
4
3
0
0
0
0
0
0
0
0
0
10
0
0
-5
-9
-10
-7
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
-33
-6
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
0
-39
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-2
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
-4
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
8
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
-1
0
0
0
0
-3
0
-17
13
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
1
0
0
-7
0
1
-10
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
9
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
1
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
0
0
0
4
0
-9
17
-1
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
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
52
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
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
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
6
1
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
7
-13
22
-2
0
0
0
0
0
0
0
0
14
-1
1
0
4
111
10
-10
0
0
0
0
0
0
0
0
0
31
2
33
12
31
-16
-3
0
1
0
0
0
0
0
0
0
0
-6
4
-14
12
-1
19
-3
0
0
0
0
0
0
0
0
0
0
-6
8
-13
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-26
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-2
-28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-2
0
19
-23
6
0
0
0
0
0
0
0
0
0
0
5
10
-23
83
-8
18
-12
9
10
0
0
0
0
0
0
0
0
19
-6
-18
-6
-120
18
-31
-57
0
0
0
0
0
0
0
0
0
-64
-9
-12
21
9
0
17
58
0
0
0
0
0
0
0
0
-2
-17
34
-44
-28
0
58
64
-9
-2
0
0
0
0
0
0
0
0
-1
70
31
88
55
19
-6
-13
-1
0
0
0
0
0
0
0
3
8
25
-139
11
-37
16
-3
0
0
0
0
0
0
0
0
0
7
0
-3
158
16
-10
25
1
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
1
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
2
47
-1
0
0
0
0
0
0
0
0
0
10
6
1
-2
28
-47
-1
11
10
0
0
0
0
0
0
0
0
0
-2
-4
4
60
25
-42
-21
0
0
0
0
0
0
0
0
0
-1
23
1
49
12
60
-1
0
0
0
0
0
0
0
0
0
0
-2
6
-47
-52
-20
5
0
-1
0
0
0
0
0
0
0
0
0
-20
-2
85
-136
49
-10
1
0
0
0
0
0
0
0
0
0
-2
14
0
-79
-40
58
0
-5
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
1
0
1
0
-1
38
-32
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
29
-47
-3
1
0
0
0
0
0
0
0
0
-1
0
0
-2
-12
-15
-38
10
0
0
0
0
0
0
0
0
0
0
-3
-2
4
13
5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
28
10
-23
-7
0
0
0
0
0
0
0
0
0
0
0
-2
31
11
10
3
8
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
-4
23
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
3
4
15
0
0
0
0
0
0
0
0
0
0
0
-3
-12
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
53
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-1
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
15
-9
-5
-16
-2
0
0
0
0
0
0
0
0
2
0
0
8
-3
3
10
0
0
0
0
0
0
0
0
0
0
8
-5
-47
15
4
8
-18
0
0
0
0
0
0
0
0
0
0
-2
37
11
17
4
-12
0
0
0
0
0
0
0
0
0
0
0
33
-11
-12
38
38
-2
0
0
0
0
0
0
0
0
0
0
0
8
78
26
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
39
-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
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
0
0
2
-2
0
0
0
1
-12
-3
0
0
0
0
0
0
0
0
0
35
0
13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-34
2
-6
0
0
0
0
0
0
0
0
0
0
0
9
0
3
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
-2
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
-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
-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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-121
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-31
-31
50
40
-38
-18
0
-5
0
0
0
0
0
0
0
0
17
-36
7
28
-16
23
-7
-7
47
0
0
0
0
0
0
0
0
14
4
-15
-34
16
-66
83
37
-2
0
0
0
0
0
0
0
0
-20
87
-83
-9
65
13
12
9
-19
0
0
0
0
0
0
0
0
-21
-12
-58
48
-23
-4
163
1
-1
0
0
0
0
0
0
0
0
0
45
-114
-42
26
9
0
-1
15
0
0
0
0
0
0
0
0
0
13
-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
-19
0
104
8
61
-88
-55
-14
0
0
0
0
0
0
0
0
0
-1
35
62
-15
-41
-125
35
0
22
0
0
0
0
0
0
0
0
59
48
55
-9
13
-21
-22
-44
-29
18
0
0
0
0
0
0
0
-70
54
77
94
-80
12
-38
-73
-53
-55
0
0
0
0
0
0
0
-33
17
-15
58
62
-119
0
-17
-10
-48
0
0
0
0
0
0
0
-11
-63
108
73
62
12
12
74
83
-160
0
0
0
0
0
0
0
-13
-37
-97
21
88
-8
-73
43
53
3
0
0
0
0
0
0
0
0
-15
-42
15
19
48
0
0
-40
-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
-3
-13
0
-20
20
-49
-42
-34
0
1
-3
0
0
0
0
0
0
41
-112
75
-37
-61
-73
13
0
-54
0
-24
0
0
0
0
0
0
5
-35
21
-2
-19
-113
48
1
-73
13
-63
0
0
0
0
0
0
-16
-11
122
-23
31
23
-7
8
76
-49
11
0
0
0
0
0
0
15
-15
60
-30
23
-108
-21
106
27
-106
8
0
0
0
0
0
0
-7
-57
57
28
3
-5
-44
-13
115
-55
48
0
0
0
0
0
0
0
-33
-10
73
109
-37
-75
-72
16
49
0
0
0
0
0
0
0
0
-24
5
154
-26
36
-50
-3
16
26
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
16
4
0
-61
-48
-122
48
0
0
1
0
0
0
0
0
0
54
114
10
1
21
-54
-3
0
16
0
36
0
0
0
0
0
0
-25
29
11
-78
-36
-21
-114
-54
-69
-19
27
-1
0
0
0
0
0
61
144
-17
-100
66
14
-64
17
134
-88
99
0
0
0
0
0
0
-6
-28
50
32
-14
-28
-31
12
4
-113
12
0
0
0
0
0
0
2
84
-31
141
-94
3
73
37
-74
64
7
0
0
0
0
0
0
0
47
54
-11
7
61
-77
28
-32
5
0
0
0
0
0
0
0
0
0
20
4
3
-22
49
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-103
18
0
-121
-153
0
0
-9
0
0
0
0
0
0
0
4
21
55
41
3
36
56
0
-18
0
-16
-3
0
0
0
0
0
0
64
127
4
-30
-71
135
22
-64
-78
68
-16
0
0
0
0
0
57
106
58
81
-89
-77
-5
-109
-226
-88
7
0
0
0
0
0
0
-51
33
61
57
57
30
-45
63
38
-67
-38
-2
0
0
0
0
0
-8
25
99
57
-171
-63
-70
-67
-8
21
0
-9
0
0
0
0
0
0
18
60
85
1
-4
-39
52
-94
7
0
0
0
0
0
0
0
0
39
25
-54
-23
52
0
-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
-7
-12
-133
63
49
0
-71
-81
0
-1
0
0
0
0
0
0
0
-4
25
16
144
4
-56
40
0
0
0
12
1
0
0
0
0
0
2
29
-36
109
-3
-53
-29
15
58
-18
13
0
0
0
0
0
0
0
-36
-2
149
5
-92
13
-31
17
-81
0
0
0
0
0
0
0
-50
47
23
-11
-88
96
56
25
3
-8
12
0
0
0
0
0
0
0
-151
-13
126
25
104
3
2
5
0
0
0
0
0
0
0
0
0
0
40
17
-31
-54
-7
-51
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-39
4
-21
2
0
-112
0
-17
4
0
0
0
0
0
0
0
18
-15
95
-23
101
9
0
0
0
7
-3
0
0
0
0
0
0
-26
143
-92
-67
-121
23
-1
-4
-3
63
0
0
0
0
0
0
0
-1
-6
32
104
-9
-132
17
-1
-30
0
0
0
0
0
0
0
0
-1
24
-39
-63
29
29
12
0
26
0
0
0
0
0
0
0
0
-35
87
62
-43
44
-15
0
-9
-50
0
0
0
0
0
0
0
0
-1
-6
28
-3
-1
-2
11
0
3
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-7
11
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
27
14
32
0
2
3
0
-24
0
0
0
0
0
0
0
0
0
5
-4
8
6
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
3
-24
-11
1
1
0
0
0
0
0
0
0
0
0
0
7
1
-4
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
120
129
-48
46
1
0
0
0
0
0
0
0
0
0
0
12
-37
36
14
-44
54
2
0
34
0
0
0
0
0
0
0
0
39
-6
115
81
-56
-33
26
106
4
0
0
0
0
0
0
0
0
59
72
-7
96
79
84
10
5
-70
0
0
0
0
0
0
0
0
13
65
-32
-9
35
63
32
-45
-216
0
0
0
0
0
0
0
0
52
-7
32
4
86
-15
3
5
-19
0
0
0
0
0
0
0
0
-95
-17
4
55
15
0
18
35
-12
0
0
0
0
0
0
0
0
0
-2
0
37
0
7
15
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
-34
96
21
-24
-21
109
78
-11
0
-14
0
0
0
0
0
0
0
-1
-35
50
16
19
-77
-80
0
44
0
0
0
0
0
0
0
0
-64
130
48
55
-14
56
38
69
-29
20
0
0
0
0
0
0
0
57
26
106
81
-14
30
59
-35
51
-31
0
0
0
0
0
0
0
-73
18
5
61
0
11
-63
34
-14
-120
0
0
0
0
0
0
0
8
48
-69
55
-32
46
-12
-17
-49
71
0
0
0
0
0
0
0
-39
15
-9
-28
43
14
11
9
-20
9
0
0
0
0
0
0
0
0
-4
-20
-1
31
-82
50
-10
6
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
3
19
33
27
7
9
-134
4
0
55
46
0
0
0
0
0
0
71
-4
70
22
15
-111
54
0
36
0
35
0
0
0
0
0
0
-49
-69
43
12
-17
-31
-78
17
71
36
1
0
0
0
0
0
0
106
-27
-10
13
15
-34
12
-10
-72
63
-37
0
0
0
0
0
0
82
-40
80
47
-41
-42
5
-13
47
-67
32
0
0
0
0
0
0
0
-15
-39
31
41
-22
15
48
-22
-81
-4
0
0
0
0
0
0
-21
47
75
70
16
-93
-113
0
73
-2
-1
0
0
0
0
0
0
0
-29
-35
-62
108
74
21
-9
5
-19
0
0
0
0
0
0
0
0
0
-1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
-71
-43
-26
6
-6
3
-149
-46
0
0
57
0
0
0
0
0
0
-35
65
-23
16
-36
-75
-52
0
-2
0
20
1
0
0
0
0
0
-25
96
69
24
34
38
3
-8
150
-10
98
21
0
0
0
0
0
-39
33
41
29
-3
-113
92
-40
16
39
32
4
0
0
0
0
0
-9
-2
28
-11
-6
-100
0
-13
-23
-31
-29
1
0
0
0
0
0
-2
-72
3
4
14
165
168
-53
44
16
0
0
0
0
0
0
0
-19
1
18
25
72
93
-51
60
-55
-1
7
-3
0
0
0
0
0
0
-4
13
5
1
18
-7
-3
-8
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
43
12
-54
8
-9
6
-19
-37
0
5
15
0
0
0
0
0
0
-3
9
16
-2
-83
-6
-3
0
-24
0
-84
19
0
0
0
0
0
-26
13
-9
89
-50
-15
-149
2
28
8
177
-6
1
0
0
0
0
21
-4
101
101
7
4
-48
-8
6
-92
-3
-36
0
0
0
0
0
-11
-51
-32
-80
-76
-52
27
36
51
-38
8
1
0
0
0
0
0
1
83
12
19
-48
-147
-66
26
-1
62
-33
-13
0
0
0
0
0
0
-45
76
-32
-25
8
12
21
0
54
0
13
0
0
0
0
0
0
-6
30
89
5
-37
-1
2
-12
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
3
92
22
8
138
31
67
9
0
0
3
0
0
0
0
0
0
-34
37
-118
22
94
-90
-26
0
-73
0
-82
1
0
0
0
0
0
46
41
87
0
55
-68
-32
90
67
-7
-29
2
0
0
0
0
0
-17
-27
-19
16
121
-7
64
-51
6
-10
-3
0
4
0
0
0
0
-29
50
8
61
22
35
102
80
-39
-8
67
-5
0
0
0
0
0
0
-64
-30
4
-20
-64
48
-39
50
50
0
0
0
0
0
0
0
0
-26
15
-45
-4
11
-4
1
0
3
0
0
0
0
0
0
0
0
0
17
-33
-24
-5
-1
0
-4
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
14
17
-62
143
40
61
3
0
0
26
16
0
0
0
0
0
0
-28
19
-5
-68
-218
-118
0
12
0
6
11
0
0
0
0
0
0
7
22
28
-15
41
-197
-3
-95
-60
15
31
1
0
0
0
0
0
65
-50
123
-67
-123
-37
-15
37
36
10
0
0
0
0
0
0
0
-9
25
11
62
-67
8
-10
-16
-44
-6
0
0
0
0
0
0
0
-45
54
37
152
-77
-29
-26
-11
29
-19
0
0
0
0
0
0
0
0
-42
-18
45
14
9
10
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-4
1
-44
-8
-47
-8
0
0
0
0
0
0
0
0
0
0
1
-6
31
11
53
-2
0
-5
0
-1
-12
0
0
0
0
0
0
0
26
-105
-5
86
-133
3
-50
6
0
0
0
0
0
0
0
0
-26
15
30
29
-73
1
-5
14
-12
-5
1
0
0
0
0
0
0
0
20
39
9
1
-26
-1
3
-5
4
0
0
0
0
0
0
0
0
0
8
-4
2
6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
0
1
0
-11
5
0
0
0
0
0
0
0
7
17
-8
-100
48
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
12
-3
33
-1
-20
0
0
0
0
0
0
0
0
0
8
-6
3
-48
2
0
6
0
6
-2
0
0
0
0
0
0
0
-7
-3
5
5
-33
18
-3
-7
-5
-4
0
0
0
0
0
0
0
0
0
13
-6
14
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
0
0
0
0
0
3
27
22
2
-1
0
0
1
0
0
0
0
0
0
0
0
10
-17
7
23
-66
0
-2
0
-2
2
1
0
0
0
0
0
0
3
22
-111
-32
-85
-37
-4
5
-75
22
0
0
0
0
0
0
0
-2
-27
8
2
11
-60
21
0
3
1
0
0
0
0
0
0
0
2
-55
-8
6
-55
64
0
0
-2
6
0
0
0
0
0
0
0
-1
3
-9
-48
-11
-4
0
0
5
0
0
0
0
0
0
0
0
0
3
1
-5
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-7
4
7
0
0
0
0
0
0
0
-13
-11
-25
-22
1
3
0
5
7
0
0
0
0
0
0
0
0
0
0
-17
-3
3
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
19
-1
-2
0
0
10
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
33
-22
15
0
0
0
0
0
0
0
0
0
0
0
-44
-6
129
72
64
24
10
0
-53
0
0
0
0
0
0
0
0
-43
-48
-39
-55
3
-7
72
16
-19
0
0
0
0
0
0
0
0
30
96
-63
32
45
25
-151
80
-56
0
0
0
0
0
0
0
0
-61
-79
1
-82
40
147
36
-24
-20
0
0
0
0
0
0
0
0
-9
105
50
-3
18
-66
11
1
-33
0
0
0
0
0
0
0
0
0
11
27
4
18
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
-59
0
-12
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
107
-28
36
-57
-14
-72
-83
33
0
-4
0
0
0
0
0
0
0
-71
-22
24
73
-48
1
-20
0
185
0
0
0
0
0
0
0
0
63
104
26
-63
-75
68
-26
28
35
-133
0
0
0
0
0
0
0
-22
40
23
-29
7
3
-8
31
21
-52
0
0
0
0
0
0
0
118
-23
14
21
60
-35
-41
-30
-127
-32
0
0
0
0
0
0
0
-22
2
-34
4
-6
-66
43
-51
75
-36
0
0
0
0
0
0
0
1
31
33
3
-28
-98
-39
-21
-9
-2
0
0
0
0
0
0
0
0
-2
-29
47
-55
-20
11
6
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
5
30
23
10
66
-107
16
-63
0
80
3
0
0
0
0
0
0
-98
-36
55
58
-19
13
22
0
30
0
63
0
0
0
0
0
0
-27
157
170
-10
1
43
57
128
-68
-12
40
0
0
0
0
0
0
-23
43
17
28
-15
18
-1
-74
-36
48
-4
0
0
0
0
0
0
-65
32
50
31
4
-1
-91
14
79
-53
-14
0
0
0
0
0
0
0
-35
15
10
53
-14
2
58
54
13
5
0
0
0
0
0
0
0
-111
72
25
41
-22
23
-171
26
-23
0
0
0
0
0
0
0
0
15
13
-7
12
85
-31
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
47
-1
73
16
29
-19
16
-4
0
-3
-20
0
0
0
0
0
0
58
-29
150
31
49
-57
-89
0
-60
0
102
3
0
0
0
0
0
-67
-50
-21
-8
-16
20
74
73
35
-4
-69
-1
0
0
0
0
0
-21
-32
89
61
-62
20
74
24
31
-172
-52
-3
0
0
0
0
0
-12
44
3
21
61
-2
111
63
47
57
-115
0
0
0
0
0
0
0
-31
-41
-8
85
97
-51
33
-51
55
0
0
0
0
0
0
0
0
61
9
6
-85
79
-7
-69
8
0
0
0
0
0
0
0
0
0
1
-21
45
-9
16
13
3
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
2
106
49
-72
-18
-16
50
-5
0
9
-2
0
0
0
0
0
0
-12
-29
-59
33
-112
-69
7
0
2
0
27
-23
0
0
0
0
0
43
-39
-58
87
59
90
-58
88
-65
104
13
-12
0
0
0
0
0
-165
52
38
-41
100
-36
-48
97
-55
-50
-19
-3
0
0
0
0
0
8
-80
35
-43
-45
46
-12
1
-42
63
-16
-7
0
0
0
0
0
5
134
-160
-151
24
-23
-124
21
-6
-69
0
0
0
0
0
0
0
0
33
-10
5
70
3
45
29
5
-5
0
0
0
0
0
0
0
0
0
-1
-109
-13
24
-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
3
-1
-89
-90
-39
-64
-24
-27
0
-7
34
0
0
0
0
0
0
42
-1
-14
45
13
17
69
0
3
0
23
0
0
0
0
0
0
-55
72
-53
-7
-192
-9
64
80
31
91
6
3
0
0
0
0
0
171
168
-96
-47
-82
-76
-46
33
-33
24
16
3
0
0
0
0
0
21
76
-55
-91
51
47
9
6
-17
-44
5
4
-4
0
0
0
0
0
28
38
-83
-111
-60
38
13
-3
21
-7
0
0
0
0
0
0
0
10
66
32
22
4
-15
2
-8
26
0
0
0
0
0
0
0
0
7
0
58
1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-65
31
-89
19
-50
23
0
-3
-20
0
0
0
0
0
0
0
-37
22
-40
67
-138
-25
0
14
0
-11
12
0
0
0
0
0
0
67
63
58
40
-6
12
-57
-10
-46
-73
3
0
0
0
0
0
0
5
97
-72
26
-32
95
92
10
-8
-6
0
-2
0
0
0
0
0
-7
-26
-20
20
26
24
21
-69
14
0
2
0
0
0
0
0
0
-5
34
-82
-8
-6
-33
44
0
5
0
0
0
0
0
0
0
0
0
-8
76
-23
-21
6
0
7
-1
0
0
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
0
0
0
0
0
0
0
0
2
7
-12
27
-3
66
5
-3
0
3
-9
-1
0
0
0
0
0
0
0
27
29
-21
-88
-20
0
4
0
5
1
1
0
0
0
0
3
4
65
15
6
-137
-77
4
-39
-14
-66
1
-1
0
0
0
0
-23
3
-35
-131
-19
20
-141
24
28
4
0
10
0
0
0
0
0
0
-1
13
-3
8
12
-2
7
-5
10
8
0
0
0
0
0
0
0
-3
-2
1
-5
-37
-5
-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
-5
0
0
0
0
0
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
48
53
4
-3
18
0
0
0
2
0
0
0
0
0
0
-33
37
83
46
135
0
-25
0
-10
0
-3
-1
0
0
0
0
0
3
-55
100
124
-54
-22
-59
-42
7
-40
6
0
0
0
0
0
0
65
53
-20
-117
57
14
31
-50
52
-15
-4
7
0
0
0
0
0
0
12
7
24
42
70
9
-33
-11
-7
0
0
0
0
0
0
0
0
-14
3
1
32
2
17
-4
5
0
0
0
0
0
0
0
0
0
-10
0
-1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
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
44
-16
-36
-64
17
0
-97
6
0
0
0
0
0
0
0
107
6
-83
-50
90
-57
0
-2
0
2
-1
4
0
0
0
0
0
-76
-63
44
8
74
116
65
-82
-54
25
0
7
0
0
0
0
0
-19
-6
-142
13
-58
-21
-130
53
9
-47
-5
0
0
0
0
0
0
-40
17
-59
-91
1
23
49
-44
37
0
0
0
0
0
0
0
0
-35
-22
25
26
-120
28
3
8
-14
7
0
0
0
0
0
0
0
0
46
2
-88
8
21
1
0
7
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
1
-3
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
-11
2
4
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-4
15
2
1
0
0
-5
0
0
0
0
0
0
0
0
8
0
-5
0
2
-34
0
-3
0
0
0
0
0
0
0
0
0
0
2
2
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
2
-55
23
0
0
0
0
0
0
0
0
0
0
0
18
89
-45
54
-34
-80
26
0
-73
0
0
0
0
0
0
0
0
51
39
9
-64
-4
-52
1
39
-20
0
0
0
0
0
0
0
0
-7
83
14
76
75
2
67
-3
20
0
0
0
0
0
0
0
0
-7
-60
-11
-59
57
-80
9
-53
-85
0
0
0
0
0
0
0
0
-3
13
47
9
76
-2
89
1
3
0
0
0
0
0
0
0
0
4
33
26
-25
-42
0
0
0
7
0
0
0
0
0
0
0
0
0
-10
22
57
0
6
-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
72
-9
51
41
-92
-28
151
-13
0
-7
0
0
0
0
0
0
0
-38
58
56
-14
29
-92
61
0
68
0
0
0
0
0
0
0
0
-52
67
-2
68
3
-103
-36
3
-38
55
0
0
0
0
0
0
0
61
1
-21
68
35
56
119
4
-80
-99
0
0
0
0
0
0
0
16
7
-43
55
-61
47
-83
6
-95
-44
0
0
0
0
0
0
0
40
20
-76
-82
-37
-9
35
13
-66
-65
0
0
0
0
0
0
0
0
3
-54
107
-4
60
-82
-25
24
-17
0
0
0
0
0
0
0
0
-2
-83
-118
-38
18
-8
-9
-5
0
0
0
0
0
0
0
0
0
63
18
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
96
85
-20
6
-45
7
0
10
-5
0
0
0
0
0
0
16
-59
248
10
11
-58
104
0
0
0
54
0
0
0
0
0
0
-3
27
-1
120
1
84
-1
-15
81
4
19
0
0
0
0
0
0
-69
-39
-66
-48
-5
44
-12
46
-73
13
2
0
0
0
0
0
0
-124
5
3
69
21
-61
34
4
3
19
-3
0
0
0
0
0
0
0
-29
3
22
44
-108
0
-34
-125
31
2
0
0
0
0
0
0
-28
-53
157
-149
-54
-137
117
-67
43
-12
-2
0
0
0
0
0
0
0
-42
-74
-68
5
-21
3
1
1
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
6
1
80
64
17
33
-142
-11
0
3
12
2
0
0
0
0
0
-72
-117
-38
31
149
21
90
0
30
0
-75
0
0
0
0
0
0
-61
-82
43
24
55
24
-32
-55
41
-42
3
5
0
0
0
0
0
135
-48
35
84
65
20
-42
127
2
64
42
14
0
0
0
0
0
-38
9
-92
53
104
-7
5
-44
15
-20
-1
0
0
0
0
0
0
8
-24
0
-96
-54
-90
-33
-12
-49
-72
7
0
0
0
0
0
0
1
-12
-83
156
11
57
-33
-26
8
0
-3
0
0
0
0
0
0
0
0
2
3
9
9
-24
-3
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
2
37
-86
111
-21
85
-3
14
0
-5
12
0
0
0
0
0
0
0
-12
-20
14
-103
-27
-9
0
65
0
41
0
0
0
0
0
0
-83
-29
65
31
-15
17
-27
6
102
75
-31
-26
0
0
0
0
0
-30
-134
41
76
-23
73
10
32
115
-57
46
0
0
0
0
0
0
-6
-69
-74
-4
46
45
-93
-95
38
-95
-3
-1
0
0
0
0
0
0
-162
-61
5
66
37
3
-71
-71
-13
-3
0
0
0
0
0
0
0
0
-85
-99
-80
35
21
-19
73
3
0
0
0
0
0
0
0
0
-34
-54
-116
58
-5
-6
-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
9
78
116
37
32
102
37
2
0
0
6
0
0
0
0
0
0
1
64
-9
-39
146
-24
-51
0
14
0
-27
0
0
0
0
0
0
53
-16
-12
-30
-16
-126
-30
13
32
38
-48
-1
0
0
0
0
0
-31
143
-32
-11
-147
-65
67
-27
-92
-71
0
-7
0
0
0
0
0
-4
20
-93
-126
-151
-26
-48
-1
73
-83
-6
3
0
0
0
0
0
0
-55
-21
-89
35
72
73
-45
-47
-1
-15
0
0
0
0
0
0
0
-15
-51
13
-58
74
-12
73
-1
0
14
0
0
0
0
0
0
0
-8
-37
13
-27
43
0
0
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
11
11
-7
-9
-44
21
-1
0
0
0
0
0
0
0
0
0
1
36
28
71
54
55
48
0
-1
0
9
0
0
0
0
0
0
0
-43
-8
-13
82
31
10
-29
24
-73
8
-14
0
0
0
0
0
0
-53
5
-29
51
-48
-2
0
-6
-23
-4
0
0
0
0
0
0
0
-1
-17
87
-4
42
67
-51
-1
-29
0
6
0
0
0
0
0
0
71
-21
-8
-32
45
23
-8
2
16
8
0
0
0
0
0
0
0
0
4
-35
14
-15
-24
19
0
0
0
0
0
0
0
0
0
0
0
-8
2
-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
-6
-60
-17
4
0
-11
-1
0
0
-1
0
0
0
0
0
0
0
29
-13
-48
-33
19
81
0
0
0
-15
0
0
0
0
0
0
-26
-3
-155
-2
-32
31
-20
3
-28
26
1
0
2
0
0
0
0
0
-36
-41
-29
39
14
71
0
-26
0
3
-6
0
0
0
0
0
0
-13
-8
-57
-10
-65
-15
15
4
0
-6
0
0
0
0
0
0
0
0
-13
-1
45
-17
15
-10
0
0
0
0
0
0
0
0
0
0
7
0
-2
-19
5
0
2
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
-50
15
50
-26
72
-30
-38
0
0
0
4
0
0
0
0
0
0
25
-5
50
47
48
36
-26
0
3
0
4
0
0
0
0
0
0
-39
31
28
129
-54
90
-70
-56
11
14
-13
0
0
0
0
0
0
45
-79
-31
65
97
-117
25
28
5
16
4
0
0
0
0
0
0
-51
45
-25
-82
-64
-37
27
-14
-94
0
5
0
0
0
0
0
0
0
11
-82
43
51
-47
17
15
-8
0
0
0
0
0
0
0
0
0
-5
18
12
52
0
14
-1
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-45
-63
-7
10
37
-26
0
35
0
0
0
0
0
0
0
0
29
97
-14
-22
-105
-8
0
3
0
0
-2
0
0
0
0
0
0
69
119
-53
-9
51
-15
1
61
-22
-18
0
-1
0
0
0
0
0
12
36
78
30
123
-26
-179
-13
2
2
0
0
0
0
0
0
0
-4
19
-16
39
-24
-58
3
12
96
-1
0
0
0
0
0
0
0
43
-44
14
85
-76
15
41
1
2
0
0
0
0
0
0
0
0
0
43
-16
12
15
-74
-19
0
5
0
0
0
0
0
0
0
0
0
32
-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
-15
0
8
-5
0
7
0
0
19
0
0
0
0
0
0
0
0
-1
4
-10
5
-20
0
0
0
6
-2
0
0
0
0
0
0
0
0
-2
-3
-40
-4
-2
-1
0
23
0
0
0
0
0
0
0
0
1
28
-3
33
-4
7
1
0
0
-10
0
0
0
0
0
0
0
0
1
-41
4
13
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
0
0
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
17
-17
2
0
0
0
0
0
0
0
0
0
0
0
-30
26
-22
38
18
-44
-10
0
-19
0
0
0
0
0
0
0
0
-32
-14
54
-16
-22
23
5
3
-6
0
0
0
0
0
0
0
0
-10
63
-1
31
-29
-46
10
6
-61
0
0
0
0
0
0
0
0
0
-2
5
48
46
5
8
-2
-82
0
0
0
0
0
0
0
0
-25
-41
4
-24
-5
15
-71
-10
-18
0
0
0
0
0
0
0
0
4
-10
62
15
-30
0
1
-19
2
0
0
0
0
0
0
0
0
0
-59
-6
99
0
5
-22
-11
0
0
0
0
0
0
0
0
0
0
0
-43
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
89
83
7
11
14
46
5
0
0
-2
0
0
0
0
0
0
0
108
85
38
-7
55
18
-40
0
-8
0
0
0
0
0
0
0
0
27
38
60
2
-13
-30
81
51
117
-15
0
0
0
0
0
0
0
7
-125
171
86
-26
-110
115
45
-32
62
0
0
0
0
0
0
0
10
0
-56
-72
11
100
32
-60
21
-109
0
0
0
0
0
0
0
-38
57
-25
-116
80
-5
-1
8
-42
51
0
0
0
0
0
0
0
9
-52
26
16
43
-7
96
-87
-13
-68
0
0
0
0
0
0
0
0
39
67
-106
27
45
-2
0
-4
4
0
0
0
0
0
0
0
0
2
-52
1
17
0
0
0
0
0
0
0
0
0
0
0
0
-20
22
153
35
68
30
99
-5
0
-26
0
0
0
0
0
0
0
1
-18
77
56
26
-47
51
0
45
0
-56
0
0
0
0
0
0
32
66
6
69
30
-83
8
49
-83
44
7
0
0
0
0
0
0
26
-56
47
5
38
-22
45
104
-80
-159
20
0
0
0
0
0
0
-3
-3
0
146
-75
-21
-32
-163
157
-3
5
0
0
0
0
0
0
0
-89
71
66
30
22
-87
-111
-6
-96
17
0
0
0
0
0
0
0
-89
-89
81
-51
-39
55
4
-23
-10
0
0
0
0
0
0
0
0
-52
-5
37
-98
-81
17
-11
2
4
0
0
0
0
0
0
0
0
0
5
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
89
-29
-6
-22
-27
-81
-11
0
0
6
0
0
0
0
0
0
18
12
20
52
-17
36
26
0
-5
0
15
9
0
0
0
0
0
59
-1
17
75
138
87
-17
-40
-8
74
-33
-7
0
0
0
0
0
32
121
-11
28
74
105
4
7
9
49
11
-4
0
0
0
0
0
-119
-95
2
0
126
24
12
33
40
-7
-13
0
0
0
0
0
0
3
138
-68
35
43
33
39
-4
-56
-41
7
0
0
0
0
0
0
1
-4
-50
-31
-31
10
57
-15
0
1
0
0
0
0
0
0
0
0
-1
10
0
-61
28
4
-8
0
0
0
0
0
0
0
0
0
0
-27
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
85
-36
2
3
-14
0
-4
0
2
0
0
0
0
0
-8
24
-75
28
56
33
1
0
6
0
-16
4
0
0
0
0
0
3
32
-30
85
6
133
20
-21
10
12
22
-27
0
0
0
0
0
11
16
-56
3
-18
-33
131
138
20
-14
-9
-2
0
0
0
0
0
7
-32
30
-3
2
-18
-100
109
-42
-1
0
0
0
0
0
0
0
0
-14
98
60
-10
90
107
-38
22
-100
-9
3
0
0
0
0
0
0
-22
-15
29
-75
-61
28
-57
14
-3
0
0
0
0
0
0
0
0
2
-5
-47
-44
35
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
19
0
0
0
0
0
0
0
0
0
-5
16
-23
-38
25
30
28
-3
0
0
0
0
0
0
0
0
0
4
120
-20
-5
55
131
-20
0
-4
0
21
-11
0
0
0
0
0
16
-66
71
-39
36
-15
-88
-29
37
32
30
0
0
0
0
0
0
-23
61
108
20
105
5
30
51
32
17
-6
0
1
0
0
0
0
-17
-34
-13
112
110
0
107
3
-12
-91
65
0
0
0
0
0
0
0
-12
-126
60
-22
-27
11
1
-3
-44
-3
0
0
0
0
0
0
0
18
-78
-105
12
-65
58
9
18
-1
0
0
0
0
0
0
0
0
7
5
19
29
-59
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
20
106
13
51
12
-4
6
0
0
0
0
0
0
0
0
0
0
-2
-45
109
-30
92
71
0
2
0
-31
-3
0
0
0
0
0
0
-9
161
-36
-67
48
8
7
-4
-22
0
-2
0
0
0
0
0
0
30
1
13
-73
6
18
-7
-26
-81
3
5
0
0
0
0
0
0
-7
40
6
-42
90
0
32
-22
90
0
-7
0
0
0
0
0
0
-19
-30
6
-66
-9
0
-15
1
-15
0
0
0
0
0
0
0
0
0
17
23
-93
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-14
-5
4
35
-6
3
-24
0
0
0
0
0
0
0
0
0
0
0
-27
-28
164
9
-136
-8
0
-7
0
10
0
0
0
0
0
0
-55
-39
30
18
16
47
-19
-63
13
5
9
0
0
0
0
0
0
6
25
-20
157
-107
-3
-22
2
-53
-14
-7
0
0
0
0
0
0
41
71
-24
-34
36
105
16
0
-2
17
0
0
0
0
0
0
0
0
9
2
-53
-90
-29
-24
4
0
5
0
0
0
0
0
0
0
-5
0
-34
8
6
33
3
3
-11
0
0
0
0
0
0
0
0
0
0
0
-7
0
20
0
0
-6
0
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
-26
-59
62
5
-26
-12
0
0
0
0
0
0
0
0
0
0
72
13
-113
-23
61
-6
101
0
2
0
0
3
0
0
0
0
0
-35
-135
22
-7
33
-10
2
12
-139
-192
0
0
0
0
0
0
0
-57
43
-152
0
-99
-23
-63
63
-13
-12
0
0
0
0
0
0
0
182
25
-20
20
-48
-15
-24
9
0
-29
0
0
0
0
0
0
0
-22
20
-109
-58
-153
-104
-23
48
-50
19
0
0
0
0
0
0
0
-4
19
110
148
-40
-41
-49
5
-1
-7
0
0
0
0
0
0
0
0
0
-22
14
15
42
-2
23
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
-31
-78
45
70
-43
42
-7
0
-4
-6
0
0
0
0
0
0
0
7
49
63
81
10
-97
0
14
0
3
0
0
0
0
0
0
0
-20
-13
83
-66
-35
95
16
2
-46
3
0
0
0
0
0
0
0
-23
99
-13
52
64
-14
-1
-37
-93
-5
0
0
0
0
0
0
0
-61
-7
-12
46
-21
-80
54
-47
0
-12
0
0
0
0
0
0
0
29
-38
103
-40
-100
49
47
-24
83
0
0
0
0
0
0
0
0
46
148
6
-136
-32
83
22
5
0
0
0
0
0
0
0
0
0
-4
2
-57
-33
6
3
-5
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
-14
11
0
0
0
0
9
0
0
0
0
0
0
0
0
-17
-7
38
0
-9
0
0
0
9
0
0
0
0
0
0
0
0
0
-26
-14
8
0
6
0
-2
2
0
0
0
0
0
0
0
0
3
1
0
-19
-4
0
-2
-7
7
0
0
0
0
0
0
0
0
1
5
-3
-2
12
17
-3
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
-17
-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
-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
-4
4
1
8
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
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
19
-6
-24
-2
-10
4
0
0
0
0
0
0
0
0
0
0
0
1
19
10
43
-4
-21
7
0
1
0
0
0
0
0
0
0
0
14
-24
-68
-33
88
24
0
-44
-12
0
0
0
0
0
0
0
0
0
38
20
60
-5
12
-21
2
-74
0
0
0
0
0
0
0
0
34
-53
-66
45
136
-42
36
8
30
0
0
0
0
0
0
0
0
0
-7
2
-25
-7
-45
9
62
-37
0
0
0
0
0
0
0
0
3
44
2
12
-5
4
0
0
15
0
0
0
0
0
0
0
0
0
22
1
9
0
1
-20
8
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
75
77
2
-24
35
37
42
-3
0
-12
0
0
0
0
0
0
0
-34
-14
67
63
59
-111
-56
0
-13
0
0
0
0
0
0
0
0
-53
-25
117
-21
203
-17
-35
-54
11
0
0
0
0
0
0
0
0
-69
-15
-39
14
91
-31
22
55
47
-24
0
0
0
0
0
0
0
-54
59
-6
63
-22
38
-224
107
70
44
0
0
0
0
0
0
0
-3
0
-60
-133
-36
70
61
-31
9
44
0
0
0
0
0
0
0
1
-12
-18
17
71
-23
-23
3
-29
7
0
0
0
0
0
0
0
0
-136
11
144
88
-25
4
19
9
0
0
0
0
0
0
0
0
1
0
28
8
5
0
0
0
0
0
0
0
0
0
0
0
0
28
-49
71
12
6
96
-16
68
0
0
2
0
0
0
0
0
0
0
146
31
131
34
15
7
0
1
0
38
0
0
0
0
0
0
-26
19
111
126
3
-23
111
30
-21
98
-1
0
0
0
0
0
0
0
94
-29
76
13
-32
125
87
40
-154
13
0
0
0
0
0
0
48
59
232
-33
-92
57
68
3
-22
-13
-29
0
0
0
0
0
0
2
16
0
32
47
22
26
45
23
-14
6
0
0
0
0
0
0
0
6
-51
1
46
23
73
-66
59
5
0
0
0
0
0
0
0
0
-66
83
3
-145
-63
14
6
0
2
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
0
-26
-145
4
47
55
5
13
-1
0
0
5
0
0
0
0
0
0
12
-55
-4
25
31
64
54
0
0
0
-16
0
0
0
0
0
0
-40
-22
58
112
68
159
22
-45
62
10
-40
-9
0
0
0
0
0
-76
51
-115
-155
-2
32
97
32
106
45
-5
0
0
0
0
0
0
-34
3
41
59
2
46
-25
78
31
-34
82
0
0
0
0
0
0
-69
-82
60
0
44
11
17
-22
-22
28
-2
0
0
0
0
0
0
-24
-37
-41
32
-88
116
81
65
-80
0
0
0
0
0
0
0
0
0
-6
21
-2
8
0
-43
-1
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
-163
63
121
32
55
11
0
0
7
-1
0
0
0
0
0
0
13
13
58
-30
147
114
0
8
0
-9
5
0
0
0
0
0
-6
13
-91
-57
109
-58
2
13
-90
95
0
0
0
0
0
0
0
0
-17
48
57
-158
28
50
38
0
-70
10
0
0
0
0
0
0
-65
-7
42
21
65
-22
82
71
-42
130
4
-7
0
0
0
0
0
0
-36
-41
-103
0
126
43
-32
-19
-7
0
0
0
0
0
0
0
0
-29
67
-59
13
112
85
8
-90
-1
0
0
0
0
0
0
0
0
-16
72
8
-4
-26
-13
2
0
-1
0
0
0
0
0
0
0
0
0
2
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
6
-37
-74
31
-11
-9
0
0
2
1
0
0
0
0
0
1
112
36
98
88
7
-45
0
-4
0
4
0
0
0
0
0
0
-3
46
131
27
113
-21
-26
22
-48
-5
-9
0
0
0
0
0
0
0
49
40
-165
7
229
117
-9
10
-6
11
0
0
0
0
0
0
13
45
-84
7
-1
29
77
-1
-11
-80
2
0
0
0
0
0
0
2
-96
44
-42
-10
0
39
-4
-40
-4
0
0
0
0
0
0
0
2
-2
15
0
-8
34
4
-13
29
-3
0
0
0
0
0
0
0
0
-1
-4
1
-22
11
5
0
-1
-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
54
-4
38
25
28
26
0
0
0
3
0
0
0
0
0
0
0
61
-69
83
-50
-39
7
0
0
0
0
1
0
0
0
0
0
0
9
-71
-43
43
-4
263
10
3
-12
1
0
0
0
0
0
0
0
46
37
-122
-1
14
14
27
-2
-12
0
0
0
0
0
0
0
1
42
29
12
-84
16
-24
40
-4
0
0
0
0
0
0
0
0
0
118
-32
66
17
124
0
1
2
-15
0
0
0
0
0
0
0
0
3
-81
-11
-117
-16
-28
0
-7
0
0
0
0
0
0
0
0
0
0
5
-32
-19
-59
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
1
-124
-17
-17
5
0
3
0
0
-2
0
0
0
0
0
0
0
-22
5
95
-5
-15
-14
0
2
0
0
0
0
0
0
0
0
-11
-7
-66
-35
-42
-108
18
-6
-10
0
-14
0
0
0
0
0
0
2
30
-13
-67
-3
9
13
-34
0
0
0
0
0
0
0
0
0
27
6
44
-31
82
-42
23
0
-87
0
0
0
0
0
0
0
0
0
35
-23
32
26
-11
-35
0
6
0
0
0
0
0
0
0
0
-9
0
2
9
23
6
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-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
-41
-46
9
23
27
-3
0
0
0
0
0
0
0
0
0
0
-3
109
-42
-32
86
13
16
0
3
0
0
0
0
0
0
0
0
4
55
39
1
23
35
-129
-47
-150
14
1
0
0
0
0
0
0
-17
80
-11
48
47
3
-139
-190
22
51
0
0
0
0
0
0
0
-33
-127
13
5
-33
-22
-11
-20
-29
77
0
0
0
0
0
0
0
-44
55
-4
-49
-82
-12
54
0
0
18
0
0
0
0
0
0
0
12
-1
-6
-22
-53
80
48
-27
18
0
0
0
0
0
0
0
0
0
27
46
-24
-40
25
13
6
7
-2
0
0
0
0
0
0
0
1
-33
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
27
61
-18
53
-3
0
-4
0
20
0
0
0
0
0
0
0
0
59
-70
24
-54
-25
3
0
-5
0
0
0
0
0
0
0
0
0
-36
24
110
-70
-25
86
-2
6
-50
-2
0
0
0
0
0
0
0
110
78
63
233
-2
68
-80
-13
8
-4
0
0
0
0
0
0
0
-18
3
45
41
121
-92
-21
-71
-54
1
0
0
0
0
0
0
0
143
18
23
-94
-68
76
-6
16
0
0
0
0
0
0
0
0
0
-1
15
-64
-29
-135
18
-6
3
3
0
0
0
0
0
0
0
0
-4
31
-6
22
33
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
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
9
1
0
0
0
-33
0
0
0
0
0
0
0
0
-19
-36
0
13
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-15
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
11
10
0
-8
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
24
-42
46
2
0
0
-2
0
0
0
0
0
0
0
0
-41
0
37
-4
12
2
0
2
0
0
0
0
0
0
0
0
0
2
-2
-22
-2
75
62
0
0
27
0
0
0
0
0
0
0
0
26
10
34
17
-78
16
-3
1
6
0
0
0
0
0
0
0
0
0
0
-21
-138
-20
-17
11
-2
18
0
0
0
0
0
0
0
0
0
0
51
-1
14
4
0
0
-7
0
0
0
0
0
0
0
0
0
5
-1
-3
0
-2
2
7
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
10
-14
27
-18
50
83
1
0
0
0
0
0
0
0
0
0
-3
107
98
58
30
132
-13
0
-2
0
0
0
0
0
0
0
0
64
71
155
20
137
54
-189
-1
-9
-23
0
0
0
0
0
0
0
22
-15
44
129
24
-77
-41
-57
41
-50
0
0
0
0
0
0
0
44
36
16
-18
-58
138
18
53
-64
-75
0
0
0
0
0
0
0
-12
104
100
51
35
-95
46
36
4
-39
0
0
0
0
0
0
0
21
0
7
50
76
2
-86
11
50
-75
0
0
0
0
0
0
0
0
146
56
27
32
11
5
9
3
12
0
0
0
0
0
0
0
0
-6
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
56
50
75
-15
82
105
-5
0
11
0
0
0
0
0
0
0
0
-31
-20
-22
57
22
40
0
4
0
6
0
0
0
0
0
0
-24
-55
-88
55
-21
12
-116
-1
15
55
-6
0
0
0
0
0
0
0
55
-23
73
4
-8
5
86
-77
75
-16
0
0
0
0
0
0
-14
55
45
59
22
2
132
12
-116
-12
28
0
0
0
0
0
0
0
-29
17
-17
15
-5
-67
-133
73
28
0
0
0
0
0
0
0
-12
-8
0
-7
16
21
-99
-88
-67
-4
0
0
0
0
0
0
0
0
3
10
0
37
-34
7
6
0
-20
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
-27
-32
-62
-16
-55
32
4
0
0
-3
0
0
0
0
0
0
0
1
73
43
-70
8
-52
0
13
0
8
0
0
0
0
0
0
-51
-6
-11
-31
-10
87
-42
-39
-8
19
-81
-1
0
0
0
0
0
1
82
-28
131
49
-58
-20
-19
22
4
41
7
0
0
0
0
0
5
-7
-63
-19
25
97
140
23
9
21
4
0
0
0
0
0
0
14
23
19
-5
94
88
-18
-31
81
54
-15
0
0
0
0
0
0
11
-23
-146
0
43
58
48
45
-7
44
1
0
0
0
0
0
0
0
1
11
-15
-11
-130
-15
5
1
0
0
0
0
0
0
0
0
0
0
44
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-77
33
-92
80
60
9
0
0
0
0
0
0
0
0
0
-13
-70
5
-85
-57
31
31
0
-1
0
-1
0
0
0
0
0
0
-15
10
160
61
-7
48
-64
1
34
11
0
1
0
0
0
0
0
0
-70
-46
16
33
-115
36
-33
-6
33
-16
0
0
0
0
0
0
-34
68
45
14
-19
23
-69
-5
28
88
0
0
0
0
0
0
0
0
8
-1
31
15
112
12
-51
-64
-83
6
-3
0
0
0
0
0
1
9
-33
61
0
-26
56
-51
12
6
0
0
0
0
0
0
0
0
27
4
-56
46
14
19
-1
-35
-5
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
-90
28
73
-15
68
8
0
0
0
0
0
0
0
0
0
3
-51
75
-67
62
-6
38
0
-5
0
0
0
0
0
0
0
0
9
15
30
86
37
90
-107
0
3
60
-4
0
0
0
0
0
0
-4
-2
11
70
-64
3
-11
53
-25
-65
0
0
0
0
0
0
0
14
1
-27
-16
-71
-11
-1
3
1
28
-45
0
0
0
0
0
0
2
-4
-23
-21
-36
-23
-30
96
8
2
-2
0
0
0
0
0
0
0
5
92
-27
-81
0
-7
16
62
-24
0
0
0
0
0
0
0
0
-8
4
21
32
43
-4
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
15
3
-61
-15
-6
2
0
0
0
0
0
0
0
0
0
0
3
91
-50
53
-37
4
0
0
0
1
0
0
0
0
0
0
0
20
9
40
-142
47
24
-3
0
-9
-2
0
0
0
0
0
0
0
-4
8
-71
-40
25
53
54
0
0
0
0
0
0
0
0
0
0
4
-18
-54
52
7
-30
-24
13
-21
0
0
0
0
0
0
0
0
-32
-9
68
-56
-7
9
-28
1
39
0
0
0
0
0
0
0
0
-1
33
-7
-89
-41
0
-54
-48
-10
0
0
0
0
0
0
0
0
0
5
-33
-27
35
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
-13
-36
-5
3
8
0
0
0
0
0
0
0
0
0
0
0
0
10
4
-18
25
1
15
0
0
0
5
0
0
0
0
0
0
-39
0
-94
3
-48
14
0
0
-3
-2
0
0
0
0
0
0
0
0
38
-4
-17
-8
-34
6
-7
-19
0
0
0
0
0
0
0
0
0
-17
37
-23
43
4
28
-3
-6
0
0
0
0
0
0
0
0
0
-37
-15
-131
25
13
-3
-8
-3
-13
0
0
0
0
0
0
0
0
0
-50
5
-34
0
-26
0
-10
0
0
0
0
0
0
0
0
0
19
0
-93
-5
-14
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
0
-82
-21
21
0
-13
47
-4
0
0
0
0
0
0
0
0
0
0
-83
50
-58
-33
14
13
0
0
0
0
0
0
0
0
0
0
-8
-73
-40
-91
-49
23
27
48
-3
-84
0
0
0
0
0
0
0
0
31
-16
5
83
-51
-8
1
23
62
0
0
0
0
0
0
0
55
-11
-23
-96
-18
112
-73
60
15
-58
0
0
0
0
0
0
0
0
-15
70
-101
25
30
-5
23
7
9
0
0
0
0
0
0
0
0
7
59
17
-71
15
3
0
0
-37
0
0
0
0
0
0
0
0
-186
-52
135
2
46
-3
-39
-2
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-26
-34
23
2
0
0
0
-14
0
0
0
0
0
0
0
-86
-50
95
-40
3
9
0
0
0
0
0
0
0
0
0
0
0
0
11
-54
-9
6
-21
6
0
-10
0
0
0
0
0
0
0
0
31
42
-50
1
60
63
33
0
20
0
0
0
0
0
0
0
0
5
47
13
24
-18
-90
34
18
-49
0
0
0
0
0
0
0
0
4
-2
-65
57
2
-161
22
-2
-14
-1
0
0
0
0
0
0
0
-78
-20
63
28
13
174
-38
-16
0
-2
0
0
0
0
0
0
0
0
-22
1
30
-33
5
43
0
25
0
0
0
0
0
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
-1
0
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
11
0
2
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
0
0
-2
6
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
7
1
0
-8
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
21
3
9
0
0
0
0
0
0
0
0
0
0
0
-21
7
115
1
3
4
0
0
11
0
0
0
0
0
0
0
0
2
88
0
37
-2
19
0
0
-31
0
0
0
0
0
0
0
0
45
0
1
-29
-47
-22
0
10
0
0
0
0
0
0
0
0
0
0
186
8
91
0
77
-58
-21
3
0
0
0
0
0
0
0
0
1
4
-50
1
11
4
-1
0
4
0
0
0
0
0
0
0
0
0
0
-6
-13
-1
-9
0
7
0
0
0
0
0
0
0
0
0
0
13
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-90
20
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
73
-1
49
2
3
-15
0
0
0
0
0
0
0
0
0
0
27
-1
33
4
-27
10
-1
13
94
8
0
0
0
0
0
0
0
-12
54
14
-8
-46
169
144
-19
132
-45
0
0
0
0
0
0
0
-26
-1
115
159
-111
23
-100
16
48
25
0
0
0
0
0
0
0
1
81
-11
46
61
-80
-23
27
-29
-19
0
0
0
0
0
0
0
-46
4
33
60
-80
5
-2
8
-56
0
0
0
0
0
0
0
0
0
0
3
-51
16
26
-43
-16
-3
-9
0
0
0
0
0
0
0
0
-53
16
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-12
96
2
11
0
0
0
0
0
0
0
0
0
0
0
-157
2
-6
-40
52
16
0
0
0
0
0
0
0
0
0
0
-7
1
19
-43
36
128
22
-7
5
-43
0
0
0
0
0
0
0
0
-33
47
60
84
22
88
-84
-2
-46
0
0
0
0
0
0
0
-8
19
45
75
-33
29
34
7
13
12
-2
0
0
0
0
0
0
0
-41
-67
-37
-185
-9
-71
28
-17
102
0
0
0
0
0
0
0
4
-3
60
54
-30
-54
-41
-30
-23
26
0
0
0
0
0
0
0
0
20
0
12
51
41
-24
-19
1
-2
0
0
0
0
0
0
0
0
-6
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-59
0
-39
0
0
0
6
0
0
0
0
0
0
0
-40
-3
70
-7
1
0
0
0
0
-3
0
0
0
0
0
0
54
15
118
31
59
10
10
-6
18
-28
0
0
0
0
0
0
0
0
89
8
1
-27
83
-78
-28
-1
0
7
0
0
0
0
0
0
-29
2
122
25
-31
-5
77
27
-3
6
0
0
0
0
0
0
0
0
-21
9
-34
13
-41
-39
-6
6
0
0
0
0
0
0
0
0
-2
0
-9
51
-160
2
-49
-19
-82
0
0
0
0
0
0
0
0
0
-17
-15
0
-1
-4
0
-41
0
-23
0
0
0
0
0
0
0
0
0
-13
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
97
0
1
-66
9
1
0
0
0
0
0
0
0
0
0
0
63
-36
59
-14
-11
7
0
0
0
14
0
0
0
0
0
0
4
-1
23
51
-65
9
87
5
8
-8
0
0
0
0
0
0
0
0
69
83
0
-4
-26
64
13
0
0
0
0
0
0
0
0
0
0
3
-9
74
9
51
105
32
23
7
0
0
0
0
0
0
0
0
-47
14
-68
69
49
-4
-12
10
-45
0
0
0
0
0
0
0
-2
4
-61
-29
4
-18
0
15
-18
-25
0
0
0
0
0
0
0
0
-11
0
35
0
-4
2
5
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
1
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
-12
-14
46
-24
19
0
0
0
0
0
0
0
0
0
0
0
-92
0
52
-30
-34
-34
0
0
2
0
0
0
0
0
0
0
0
0
23
-3
10
-4
46
-10
-2
3
6
0
0
0
0
0
0
0
-1
0
-53
-25
-21
8
-7
-11
1
5
0
0
0
0
0
0
0
0
2
7
-11
9
-14
8
-13
7
-3
0
0
0
0
0
0
0
-8
0
4
-1
18
-6
2
2
15
0
0
0
0
0
0
0
0
0
5
-10
-27
1
0
0
0
-3
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
2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
-23
2
5
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-40
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
44
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
15
-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
2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
34
1
0
-8
0
0
0
5
0
0
0
0
0
0
0
0
3
0
-9
1
16
0
0
2
0
0
0
0
0
0
0
0
-12
0
-5
7
-44
26
9
0
0
0
0
0
0
0
0
0
0
-44
0
0
-60
-34
-96
0
0
0
0
0
0
0
0
0
0
0
0
5
24
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
-45
1
-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
23
0
10
0
-6
0
0
0
0
0
0
0
0
0
0
0
-74
4
22
-2
-21
8
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
66
-16
-15
-8
0
-119
0
0
0
0
0
0
0
0
45
-45
78
17
-1
-53
-2
-48
-9
0
0
0
0
0
0
0
7
1
6
1
-55
-185
-25
92
-12
-16
0
0
0
0
0
0
0
0
2
0
94
-19
37
-61
0
0
-13
0
0
0
0
0
0
0
0
-1
-57
21
-49
1
3
0
0
-13
0
0
0
0
0
0
0
0
18
1
20
23
-30
-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
0
0
0
0
0
31
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
21
2
55
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-42
9
0
-5
0
1
17
0
0
0
0
0
0
0
0
0
-1
7
26
24
-8
-4
0
0
2
0
0
0
0
0
0
0
0
8
49
-17
8
-14
-2
1
-10
0
0
0
0
0
0
0
0
8
-1
1
-15
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-47
24
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
-24
-21
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
0
5
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
116
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-3
-44
2
-22
4
0
-13
0
0
0
0
0
0
0
0
-76
2
26
0
46
-18
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-54
-8
97
-4
0
0
0
0
0
0
0
0
0
0
0
0
-65
-6
58
0
9
1
-11
0
0
0
0
0
0
0
0
0
1
0
-36
0
18
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
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
-2
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-49
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
3
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
0
0
0
0
0
0
0
0
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
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
1
-15
0
12
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
32
0
-28
0
-8
0
0
-14
0
0
0
0
0
0
0
0
0
0
-25
0
-8
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
34
29
-71
38
0
0
0
0
0
0
0
0
0
-7
-25
-17
0
14
25
120
-21
-53
0
0
0
0
0
0
0
0
11
-56
8
62
119
-20
40
57
-12
0
0
0
0
0
0
0
0
5
-1
42
-24
-20
-88
-48
41
-64
0
0
0
0
0
0
0
0
2
-13
-9
70
-9
89
-33
-14
-61
0
0
0
0
0
0
0
0
0
11
0
-13
-1
79
41
42
-4
0
0
0
0
0
0
0
0
0
-16
-6
52
-2
-27
69
21
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-51
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
-44
0
41
118
65
-6
3
45
0
-34
0
0
0
0
0
0
0
-1
9
-43
33
24
114
48
61
49
34
0
0
0
0
0
0
0
-17
-24
155
-27
39
-77
41
0
64
-11
0
0
0
0
0
0
0
-89
-64
2
54
39
-41
-23
74
-43
40
0
0
0
0
0
0
0
34
90
129
-75
-29
150
-8
2
-13
-2
0
0
0
0
0
0
0
-17
-24
73
-17
-46
-29
-53
-150
-26
10
0
0
0
0
0
0
0
41
41
-62
33
-122
-23
-9
5
14
-8
0
0
0
0
0
0
0
-1
2
-16
-1
18
-94
-81
-17
62
33
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
4
0
0
0
0
0
0
0
0
0
-70
0
-19
-36
83
59
-60
0
-25
35
0
0
0
0
0
0
-61
5
-24
102
-5
24
-35
-4
44
-51
-11
0
0
0
0
0
0
26
27
8
-23
-2
62
8
-61
6
32
26
0
0
0
0
0
0
-4
95
113
94
19
33
-6
58
4
128
55
0
0
0
0
0
0
-1
9
89
23
-4
140
-15
-40
-65
-108
1
0
0
0
0
0
0
0
35
-28
-43
-50
0
-63
72
11
6
-56
0
0
0
0
0
0
0
-54
-46
-37
-86
-49
-42
121
114
28
0
0
0
0
0
0
0
0
-55
-29
-63
-59
58
-41
14
-45
1
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
-2
-4
0
8
83
-11
-50
0
18
-38
0
0
0
0
0
0
30
-86
24
-37
-4
82
-80
69
-10
-88
-18
2
0
0
0
0
0
16
-69
50
14
55
99
-8
13
58
8
-13
1
0
0
0
0
0
-14
36
44
-102
-43
-39
104
-41
23
12
103
0
0
0
0
0
0
173
-2
-166
19
-103
13
-75
60
-66
-10
8
0
0
0
0
0
0
-1
-12
-13
-35
-1
-124
-112
5
-73
13
34
-5
0
0
0
0
0
0
5
-4
8
5
57
-19
68
48
71
-2
0
0
0
0
0
0
0
-3
-4
-3
-27
34
-21
-89
-15
-42
0
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
-4
-6
0
-72
-87
134
0
-12
-13
-7
0
0
0
0
0
3
-49
16
34
-12
65
-42
19
-71
-86
71
7
0
0
0
0
0
-6
-24
18
-12
60
-97
-4
-14
-41
66
-5
41
0
0
0
0
0
0
49
-158
-12
-74
-1
-83
42
91
36
14
0
0
0
0
0
0
-2
-48
30
78
51
-62
-10
65
67
20
4
0
0
0
0
0
0
0
46
-38
11
45
-25
-41
-127
28
58
-8
0
0
0
0
0
0
0
-18
65
11
-60
19
44
22
-96
-77
0
0
0
0
0
0
0
0
-5
-4
12
-38
54
15
40
-53
-10
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
-4
0
-1
-15
0
21
-46
0
-53
-6
0
0
0
0
0
0
-7
81
9
4
181
21
-73
126
-38
-44
4
-4
0
0
0
0
0
-7
-62
-41
73
110
-102
-68
-69
-32
98
-4
0
0
0
0
0
0
25
-9
20
-23
107
-47
-99
33
151
42
2
0
0
0
0
0
0
22
-26
-54
0
-62
-78
57
88
-43
5
-34
0
0
0
0
0
0
0
-12
3
-25
32
3
-89
-34
-47
-24
76
1
0
0
0
0
0
0
0
-4
-4
-7
3
66
-11
22
-33
0
0
0
0
0
0
0
0
-7
0
0
17
-44
-13
48
70
-24
0
0
0
0
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
9
0
28
3
0
0
0
0
0
0
0
98
110
117
-55
0
49
1
94
76
8
0
0
0
0
0
0
0
74
-7
68
13
80
-29
-100
86
-20
11
0
0
0
0
0
0
0
-17
0
-6
184
-18
-70
28
-32
8
-38
0
0
0
0
0
0
0
-4
9
48
2
-48
-29
29
136
-49
4
0
0
0
0
0
0
0
25
0
0
0
10
-34
-166
-16
7
6
0
0
0
0
0
0
0
0
6
-15
7
-16
125
-29
-68
9
0
0
0
0
0
0
0
0
0
-1
-26
0
-9
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
7
0
0
0
0
0
0
0
0
0
1
0
-13
-60
-8
34
-9
-2
0
0
0
0
0
0
0
0
0
9
0
3
0
-7
-4
9
4
-2
0
0
0
0
0
0
0
0
0
0
9
-33
-18
-1
-11
5
7
0
0
0
0
0
0
0
0
7
2
0
3
7
-29
-43
-17
-9
0
0
0
0
0
0
0
0
0
-18
-4
0
0
12
9
-23
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
2
0
-3
0
10
0
-27
-17
0
0
0
0
0
0
0
0
0
0
0
-13
6
11
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
6
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
11
1
1
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
-15
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
109
-2
-1
27
40
-23
0
0
0
0
0
0
0
0
0
-6
13
-7
86
-46
53
33
-30
5
0
0
0
0
0
0
0
0
-64
30
-70
-45
92
25
-33
40
43
0
0
0
0
0
0
0
0
10
105
-35
-172
89
-58
3
-27
6
0
0
0
0
0
0
0
0
21
75
96
83
-19
-81
-9
-65
-55
0
0
0
0
0
0
0
0
28
34
17
35
75
129
19
-41
14
0
0
0
0
0
0
0
0
-6
-46
12
-38
-67
-24
26
-24
46
0
0
0
0
0
0
0
0
0
2
0
18
0
-76
72
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
61
-3
0
0
0
0
0
0
0
0
0
90
144
-44
73
28
-18
42
31
0
7
0
0
0
0
0
0
0
26
-12
-44
125
8
90
-10
29
23
-17
0
0
0
0
0
0
0
109
100
-39
49
40
1
15
22
-40
-44
0
0
0
0
0
0
0
69
45
130
-7
5
22
0
25
27
-44
0
0
0
0
0
0
0
-270
73
-7
48
9
25
122
76
-10
-69
0
0
0
0
0
0
0
13
42
-58
17
29
23
19
6
-60
-22
0
0
0
0
0
0
0
-57
34
-63
50
124
-58
-46
-67
65
21
0
0
0
0
0
0
0
6
-1
0
-91
67
15
-44
-8
-90
10
0
0
0
0
0
0
0
-1
0
-5
0
23
0
50
2
0
0
0
0
0
0
0
0
0
24
79
42
-48
76
-77
-12
-19
0
25
11
0
0
0
0
0
0
31
-44
3
26
-10
13
16
13
3
-2
-16
0
0
0
0
0
0
17
-53
-33
-17
10
-26
36
43
-4
-10
-17
0
0
0
0
0
0
28
15
152
-5
-17
-31
-22
22
13
30
35
0
0
0
0
0
0
-25
47
-12
-45
68
29
24
34
-23
1
-53
0
0
0
0
0
0
3
36
-39
-25
23
20
-26
84
-23
-10
5
0
0
0
0
0
0
0
-7
78
-28
29
-29
17
20
-1
57
-9
0
0
0
0
0
0
0
20
0
-14
54
45
-99
-16
-9
-51
0
0
0
0
0
0
0
0
0
0
2
0
-10
6
-4
22
-2
0
0
0
0
0
0
0
22
-110
88
-6
-77
-58
25
-76
0
42
-23
2
0
0
0
0
0
36
-54
0
62
4
1
-3
68
13
-48
-1
0
0
0
0
0
0
19
33
64
-109
21
8
40
67
25
-32
37
-31
0
0
0
0
0
-66
137
22
-59
20
127
-19
36
14
-60
-8
0
0
0
0
0
0
99
97
46
-37
-59
2
-21
13
-21
68
20
4
0
0
0
0
0
-34
-77
-32
88
-14
9
-67
29
124
56
63
0
0
0
0
0
0
2
11
-3
-8
-52
20
-60
-25
27
52
49
1
0
0
0
0
0
2
-4
26
-7
0
39
11
-6
-96
17
0
0
0
0
0
0
0
0
-1
0
0
1
0
-69
4
2
7
0
0
0
0
0
0
0
-16
-36
-120
89
-22
15
-13
-129
0
-90
-120
-14
0
0
0
0
0
107
-23
58
36
0
-17
27
71
-92
-38
-110
-29
0
0
0
0
0
3
11
-24
-62
-25
27
-41
13
24
-47
58
-11
0
0
0
0
0
103
-55
30
49
-116
64
24
42
-52
-89
-73
-8
0
0
0
0
0
8
78
-8
28
113
23
5
47
3
14
1
49
5
0
0
0
0
-9
-17
93
34
46
-98
6
-47
-43
-82
-18
-4
0
0
0
0
0
0
-3
-1
10
17
-101
-93
44
52
-16
-11
7
0
0
0
0
0
0
0
0
-14
0
63
28
-98
-27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-13
0
0
0
0
0
0
0
0
-110
15
-50
-73
-35
-55
49
72
0
-90
-107
6
0
0
0
0
0
-54
-38
44
-2
1
-57
40
73
45
33
45
-4
0
0
0
0
0
64
64
32
-31
110
60
14
61
-13
60
-24
-13
0
0
0
0
0
-109
2
-52
119
-47
69
13
12
-43
32
-15
-11
-1
0
0
0
0
1
-9
70
14
-25
38
56
33
23
-83
48
0
-6
0
0
0
0
7
3
65
-72
-10
-45
64
20
27
-85
97
4
-1
0
0
0
0
-11
14
-2
18
-20
-91
-84
-12
40
36
4
11
0
0
0
0
0
0
6
0
0
0
21
43
-114
25
-43
-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
63
-39
-9
-58
-184
-77
3
0
-121
10
0
-2
0
0
0
0
0
-26
-96
-67
15
17
58
65
-18
-47
-3
-37
-3
0
0
0
0
0
-3
84
78
35
-31
-51
-8
-44
12
16
0
0
0
0
0
0
0
-18
-57
-11
110
-18
-20
-55
105
19
-6
-8
0
0
0
0
0
0
-12
45
-8
-23
49
-75
-93
58
-63
-23
-8
0
0
0
0
0
0
-1
-18
-38
-7
62
-14
49
28
-22
2
0
0
0
0
0
0
0
0
-1
-9
-33
-26
53
29
-16
-11
-1
0
0
0
0
0
0
0
11
0
0
-1
-21
-16
-49
26
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
18
0
0
1
-2
22
3
26
0
42
-3
5
0
0
0
0
0
-1
0
-4
17
-1
5
33
-22
7
-44
7
-4
0
0
0
0
0
-8
0
-23
91
-44
-15
-65
6
-89
-2
-4
2
0
0
0
0
0
1
9
2
-1
7
-1
17
-34
30
11
27
-2
0
0
0
0
0
-10
-1
-7
0
-9
-1
-41
-9
-51
-4
2
0
2
0
0
0
0
0
0
0
1
6
-21
1
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-15
4
-70
0
-30
0
0
0
0
0
0
0
0
-9
-15
-25
-2
34
63
-26
110
0
-5
0
-3
0
0
0
0
0
23
21
-14
-24
-29
-65
59
-16
-21
0
0
0
0
0
0
0
0
-5
-1
-7
28
71
-3
-7
-4
11
2
0
0
0
0
0
0
0
-1
-8
9
4
-8
-20
29
8
2
-1
0
0
0
0
0
0
0
12
0
2
12
2
1
-1
6
-12
-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
-3
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
4
2
-13
3
-44
38
0
4
-6
0
0
0
0
0
0
0
0
22
-2
51
-43
8
52
-4
-42
-3
3
0
0
0
0
0
0
0
-27
-50
49
15
-102
-36
79
47
-26
0
0
0
0
0
0
0
0
-18
1
1
4
-59
4
10
-16
15
0
0
0
0
0
0
0
0
17
0
10
16
-46
7
-29
15
-15
-5
0
0
0
0
0
0
0
0
9
0
2
0
-10
3
-3
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
10
0
-4
0
-3
0
0
0
0
0
0
0
0
20
0
3
8
-22
-4
-9
-3
0
0
0
0
0
0
0
0
0
-6
-3
8
24
-18
-44
-42
-2
5
0
0
0
0
0
0
0
0
0
-4
0
7
-39
35
5
0
5
0
0
0
0
0
0
0
0
5
0
0
0
-20
0
-1
3
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-6
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
-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
-2
0
0
3
4
-7
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
24
-64
-149
89
0
0
0
0
0
0
0
0
0
0
24
30
39
43
2
64
-1
94
0
0
0
0
0
0
0
0
60
52
43
-75
35
-7
57
14
73
0
0
0
0
0
0
0
0
-14
3
-43
43
91
117
48
-98
19
0
0
0
0
0
0
0
0
9
-26
89
-49
-6
108
46
-41
-59
0
0
0
0
0
0
0
0
-4
-71
65
-87
-52
-14
-12
-38
0
0
0
0
0
0
0
0
0
0
-4
0
0
22
76
-16
50
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
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
9
-6
-50
-9
33
60
-27
-14
0
-55
0
0
0
0
0
0
0
-36
52
41
-20
31
25
-15
7
50
-36
0
0
0
0
0
0
0
-56
45
-38
23
41
-1
33
27
73
1
0
0
0
0
0
0
0
9
-40
-38
-34
52
49
-7
20
78
-1
0
0
0
0
0
0
0
-17
11
-119
16
136
-67
102
16
-15
43
0
0
0
0
0
0
0
-95
125
39
-64
-137
-17
97
-8
-77
27
0
0
0
0
0
0
0
27
0
-17
26
27
-26
-76
73
-52
-25
0
0
0
0
0
0
0
0
0
-2
56
40
-8
-2
-29
-31
0
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
63
-8
76
26
26
-9
22
0
67
-60
0
0
0
0
0
0
-125
71
-103
59
6
36
49
83
-36
36
-47
0
0
0
0
0
0
-2
-27
-38
7
-99
-2
-39
-9
6
-44
14
0
0
0
0
0
0
-32
29
-57
-35
49
36
-83
88
-53
38
16
0
0
0
0
0
0
32
36
-47
-76
-93
-2
-26
-43
-2
27
-8
0
0
0
0
0
0
0
-18
52
32
17
39
-28
-40
-37
93
22
0
0
0
0
0
0
0
11
-4
94
93
43
49
-18
49
-15
0
0
0
0
0
0
0
0
0
-3
0
18
24
4
154
-42
-1
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
11
0
0
0
0
0
0
0
0
0
-12
81
72
-48
74
-54
-12
-21
0
-65
7
0
0
0
0
0
0
38
-3
78
25
41
54
71
0
-34
-64
-21
1
0
0
0
0
0
-7
13
34
27
20
-2
-11
24
1
19
15
0
0
0
0
0
0
-115
20
8
83
-126
2
13
84
38
97
-41
0
0
0
0
0
0
-10
-89
29
-31
128
-62
13
33
108
-21
-40
2
0
0
0
0
0
2
18
-22
9
2
130
76
-16
-106
-11
-9
7
0
0
0
0
0
0
40
59
9
-43
-53
100
-25
49
-4
25
0
0
0
0
0
0
0
-10
-3
-1
16
-44
-25
-65
21
-24
0
0
0
0
0
0
0
0
0
0
0
1
-3
12
0
-1
-5
0
0
0
0
0
0
0
9
-90
97
16
66
-112
113
-24
0
16
4
6
0
0
0
0
0
-53
53
-38
-103
-141
54
40
2
-7
-43
-47
-57
0
0
0
0
0
23
63
-14
-98
-69
-38
9
14
55
1
73
1
0
0
0
0
0
0
-80
-3
-8
-37
11
15
151
46
41
8
41
0
0
0
0
0
56
50
121
26
-121
54
45
156
60
-14
40
-1
0
0
0
0
0
0
25
74
-6
-8
-26
40
80
-51
53
-12
1
0
0
0
0
0
0
25
-15
129
11
-59
96
36
49
-3
17
0
0
0
0
0
0
0
-4
-1
1
-1
-22
7
13
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
-1
0
0
0
0
0
0
0
0
29
6
26
60
-6
1
13
-11
0
-20
0
-5
0
0
0
0
0
37
-35
85
-7
-112
-11
13
1
15
-46
-54
-25
1
0
0
0
0
-13
-103
-44
83
82
72
2
-42
65
34
-11
-8
0
0
0
0
0
18
-52
-50
-81
61
72
17
122
-82
-9
2
0
0
0
0
0
0
-11
-83
5
96
1
-56
7
63
4
-21
-2
5
0
0
0
0
0
2
-6
9
-5
-111
3
88
-124
-83
17
2
2
0
0
0
0
0
0
0
2
16
-8
17
-47
-1
21
53
-13
-5
0
0
0
0
0
0
-1
-27
10
0
-35
2
-90
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
0
0
23
-7
24
-43
-89
-64
-18
0
28
36
12
0
0
0
0
0
-10
-56
-11
7
77
-44
-23
-31
-70
118
13
-24
-2
0
0
0
0
0
-64
103
63
-113
54
-46
-6
41
-42
62
-6
0
0
0
0
0
0
-16
-29
-50
-1
66
15
117
-7
-2
42
-16
-4
0
0
0
0
0
6
45
-5
20
-99
35
12
-83
-59
16
18
0
0
0
0
0
0
14
12
5
78
-118
-89
64
-42
3
-11
1
0
0
0
0
0
0
0
7
-3
4
-2
37
0
-44
-23
-6
0
0
0
0
0
0
0
0
0
7
0
0
-7
53
-25
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
14
0
11
9
65
-43
61
-38
0
48
-27
-2
0
0
0
0
0
38
-4
-10
19
25
-22
-20
32
-100
-39
-2
2
1
0
0
0
0
10
-21
-23
-31
-39
-30
11
-7
110
89
21
-7
0
0
0
0
0
0
1
-1
14
-82
-92
7
-24
-1
-4
38
1
0
0
0
0
0
3
32
0
1
96
2
-115
-36
-59
11
19
4
0
0
0
0
0
0
0
-1
-24
-2
32
6
-52
-22
19
-4
0
0
0
0
0
0
0
0
0
0
6
0
-2
-2
5
1
4
1
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
-84
-31
42
-23
-135
86
-19
-120
0
-36
0
0
0
0
0
0
0
2
58
45
-69
108
-30
-58
-59
-7
-4
-2
3
0
0
0
0
0
35
76
57
-174
13
7
52
-77
41
6
-1
2
0
0
0
0
0
38
-26
-17
-76
-49
29
81
-78
47
-43
0
0
0
0
0
0
0
9
-2
3
-85
-49
-15
-13
66
-56
-3
0
0
0
0
0
0
0
0
0
-2
8
-1
-17
-40
-37
-67
0
0
0
0
0
0
0
0
9
0
7
0
-2
-15
24
-7
-3
0
-6
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
49
29
6
-50
70
-82
13
0
-55
7
0
0
0
0
0
0
0
95
64
-38
-23
-15
-39
39
51
38
54
0
0
0
0
0
0
0
31
-22
26
-78
86
13
39
-4
-1
-51
-8
0
0
0
0
0
0
-51
71
9
22
6
50
13
-108
43
0
12
0
0
0
0
0
0
-15
-3
-39
4
48
63
-49
22
25
3
0
0
0
0
0
0
0
-45
68
-17
-71
-81
-23
40
-61
-48
4
2
0
0
0
0
0
0
2
2
8
-41
-3
58
114
-140
-3
1
0
0
0
0
0
0
0
0
-15
-1
0
0
-48
-29
5
-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
2
1
0
8
17
10
0
-7
13
0
0
0
0
0
0
0
0
6
2
2
27
-9
25
-35
0
68
-4
0
0
0
0
0
0
0
0
0
0
14
6
-49
31
7
1
0
0
0
0
0
0
0
0
-14
0
1
-1
-2
0
2
-6
8
0
0
0
0
0
0
0
0
0
0
5
28
39
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
-2
2
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
-16
0
5
0
2
0
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-2
2
11
5
7
0
-5
0
0
0
0
0
0
0
0
-9
0
-2
9
0
-8
-23
5
0
0
0
0
0
0
0
0
0
3
2
0
0
-4
-14
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
-40
19
-69
-61
0
0
0
0
0
0
0
0
0
3
33
-32
-57
-37
151
64
7
-28
0
0
0
0
0
0
0
0
21
103
-11
-273
-11
32
87
6
38
0
0
0
0
0
0
0
0
0
0
23
-30
58
-7
-39
86
135
0
0
0
0
0
0
0
0
0
11
-111
-12
-17
11
7
-14
-7
0
0
0
0
0
0
0
0
0
-4
3
-53
35
59
-5
19
-3
0
0
0
0
0
0
0
0
0
-3
1
-12
86
1
34
-22
-2
0
0
0
0
0
0
0
0
0
0
0
36
-2
1
-8
-26
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
-87
22
-101
29
28
-35
-30
-1
0
-75
0
0
0
0
0
0
0
119
12
55
19
50
27
68
-22
-25
20
0
0
0
0
0
0
0
-21
-36
-76
-27
-7
9
9
131
8
-8
0
0
0
0
0
0
0
92
26
-53
-36
-71
-61
53
-13
44
-36
0
0
0
0
0
0
0
103
-43
7
-7
83
-25
24
16
-157
39
0
0
0
0
0
0
0
13
-24
-93
16
-40
-5
-52
-14
48
-130
0
0
0
0
0
0
0
-57
-7
-11
15
-77
68
43
124
-2
50
0
0
0
0
0
0
0
2
-3
-13
-37
-28
12
-41
-26
52
-6
0
0
0
0
0
0
0
0
0
0
-6
16
1
2
14
0
0
0
0
0
0
0
0
0
19
17
-23
39
48
9
84
-54
0
14
4
0
0
0
0
0
0
9
-60
-72
57
-148
59
5
22
21
57
30
0
0
0
0
0
0
-56
89
-32
-61
22
-28
-79
73
-36
101
-2
0
0
0
0
0
0
0
98
-4
-46
51
125
53
-40
25
20
32
0
0
0
0
0
0
161
72
-6
68
26
-65
58
-73
94
-14
0
0
0
0
0
0
0
-16
16
4
-60
35
51
2
40
143
13
-14
0
0
0
0
0
0
-1
-12
-19
31
58
5
4
-39
25
24
-19
0
0
0
0
0
0
0
-14
0
-22
-7
-42
-114
2
-16
-50
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-38
-13
0
0
0
0
0
0
0
0
15
51
-42
56
53
171
65
-106
0
95
4
-1
0
0
0
0
0
-66
-11
30
89
24
-81
64
34
-1
23
-21
0
0
0
0
0
0
23
-54
9
80
-127
3
123
5
42
-38
48
4
0
0
0
0
0
-9
48
145
-6
38
-19
-143
29
-70
59
46
0
0
0
0
0
0
-110
5
83
-96
104
80
24
-16
-23
-67
5
0
0
0
0
0
0
35
34
90
-91
-84
-22
21
43
-76
-7
-28
2
0
0
0
0
0
0
51
-23
5
12
32
-62
111
125
-48
-17
0
0
0
0
0
0
0
2
-3
-1
4
-64
18
11
-2
20
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
0
10
11
0
0
0
0
0
0
0
0
4
-73
-11
-3
67
29
-126
0
127
29
-8
0
0
0
0
0
59
-8
-12
38
65
4
4
47
107
10
26
-3
0
0
0
0
0
-23
-50
97
-80
-25
-22
99
-5
29
97
-13
3
0
0
0
0
0
-19
-30
-37
29
-18
-5
15
-94
5
40
-24
6
0
0
0
0
0
-4
112
-47
-64
25
40
58
117
101
-41
0
-5
0
0
0
0
0
6
-81
35
-27
-33
-29
-10
-81
-38
-103
9
1
0
0
0
0
0
0
2
30
-70
97
-55
30
28
120
-16
-2
0
0
0
0
0
0
0
-10
0
-4
0
33
37
-108
11
35
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
10
-17
-89
79
-12
121
16
0
86
-46
-3
0
0
0
0
0
24
72
-94
-54
61
-35
41
16
-53
-120
-20
0
0
0
0
0
0
1
-7
89
-10
-8
15
19
93
156
-41
52
-27
0
0
0
0
0
-2
23
-76
64
181
-42
45
137
27
82
7
-2
0
0
0
0
0
54
42
6
4
-15
9
67
16
14
-12
41
-10
1
0
0
0
0
0
-11
47
14
-99
-7
-34
43
-38
20
-6
0
0
0
0
0
0
0
0
-6
50
49
58
-83
13
-65
53
6
0
0
0
0
0
0
0
0
22
0
0
11
-10
38
13
2
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
6
13
-26
13
17
-98
0
-46
48
0
0
0
0
0
0
-10
-29
27
-62
-128
16
3
-120
62
-15
75
16
5
0
0
0
0
0
13
17
-20
15
37
83
-189
35
-22
27
2
0
0
0
0
0
0
110
6
17
30
11
25
-63
-145
-19
7
0
0
0
0
0
0
0
-7
-23
5
-104
11
-53
-32
89
-62
1
0
0
0
0
0
0
0
-35
-5
-5
-5
68
5
62
2
-10
-9
0
0
0
0
0
0
0
0
0
-10
-98
-5
60
-14
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
22
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
6
0
0
0
0
0
0
0
3
0
-7
-15
-2
80
45
86
0
87
5
0
0
0
0
0
0
-21
15
-14
34
31
9
-53
90
-111
8
56
0
-10
0
0
0
0
21
0
11
9
-7
35
-59
-25
-5
60
-15
0
0
0
0
0
0
8
-34
-4
-60
83
-40
14
-1
-24
-86
-13
0
0
0
0
0
0
0
-1
0
-17
1
-1
0
39
-23
-5
-1
-3
0
0
0
0
0
0
32
-5
11
-5
9
-17
0
-15
0
-3
0
0
0
0
0
0
7
0
0
0
0
1
4
-5
7
5
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-51
85
44
55
-1
-22
-45
73
0
-66
-8
0
0
0
0
0
0
-35
68
-3
-7
-59
69
23
55
68
-153
1
0
0
0
0
0
0
-36
98
86
-13
-28
-27
-36
13
-64
-10
5
0
0
0
0
0
0
-141
35
12
62
35
-27
-4
-32
-55
51
-6
0
0
0
0
0
0
-1
-116
-103
-78
-39
-27
146
2
-4
0
0
2
0
0
0
0
0
0
-5
34
100
-35
13
-27
-66
-10
0
0
0
0
0
0
0
0
0
-2
-14
12
0
14
61
-34
7
-15
0
0
0
0
0
0
0
0
18
-10
-7
0
-8
-9
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
38
29
39
80
21
106
-41
0
-11
4
0
0
0
0
0
0
0
-25
11
-8
-14
-16
-44
1
-13
-78
27
0
0
0
0
0
0
0
-56
23
-9
-39
-121
-56
-57
55
31
-12
-1
0
0
0
0
0
0
18
-22
-17
54
21
-27
-99
-11
5
26
0
0
0
0
0
0
0
91
-18
-27
-39
-92
-35
-71
24
-7
0
0
0
0
0
0
0
0
-75
-25
67
52
-28
-30
150
-6
8
4
0
0
0
0
0
0
0
-13
18
-5
-44
28
48
-34
-6
-23
0
0
0
0
0
0
0
0
4
4
-7
0
-3
5
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
2
0
-7
24
0
8
-29
0
0
0
0
0
0
0
0
6
1
-22
-22
9
-15
-31
57
-59
0
0
0
0
0
0
0
0
39
-3
-2
5
1
-23
42
-2
9
0
0
0
0
0
0
0
0
11
0
0
-4
18
33
23
-25
0
6
0
0
0
0
0
0
0
3
-15
0
-22
-9
-38
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
17
-11
15
5
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-10
2
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
5
0
0
0
0
0
0
0
0
0
11
0
0
0
8
1
4
-9
1
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
-15
-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
34
0
21
126
-95
14
-9
0
0
0
0
0
0
0
0
0
-5
-3
82
-58
83
96
48
-3
2
0
0
0
0
0
0
0
0
-2
-40
-19
-14
-55
-112
-12
4
8
0
0
0
0
0
0
0
0
0
67
-1
5
-2
6
12
41
23
0
0
0
0
0
0
0
0
0
1
0
6
58
-3
-64
-29
36
0
0
0
0
0
0
0
0
-1
5
-61
49
18
-91
7
-11
-1
0
0
0
0
0
0
0
0
0
-6
-3
-15
52
29
80
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-30
0
91
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-17
4
0
0
0
0
0
0
0
0
0
-20
-10
-141
-58
32
46
6
-108
0
-26
0
0
0
0
0
0
0
8
-16
2
7
-21
26
-58
146
4
9
0
0
0
0
0
0
0
-39
-2
17
-79
17
66
33
53
-36
52
0
0
0
0
0
0
0
82
-51
-77
-39
48
20
-54
71
29
144
0
0
0
0
0
0
0
-7
0
-41
8
-55
-52
21
-72
12
43
0
0
0
0
0
0
0
89
-73
-132
35
-19
-15
35
142
-92
10
0
0
0
0
0
0
0
101
0
25
140
5
28
-50
60
19
-1
0
0
0
0
0
0
0
0
0
-5
50
7
15
-39
-22
84
2
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
32
9
0
0
0
0
0
0
0
0
-1
38
2
-107
-38
-50
96
-68
0
-44
-4
0
0
0
0
0
0
13
25
54
-24
-135
16
74
-19
14
-34
-43
0
0
0
0
0
0
0
-82
113
-14
18
47
-14
27
-50
19
4
0
0
0
0
0
0
2
77
2
-3
-23
-53
60
-24
77
-28
-3
0
0
0
0
0
0
0
114
0
-7
-50
-80
-15
-29
34
27
6
0
0
0
0
0
0
9
3
-16
10
36
134
-28
27
48
111
-17
0
0
0
0
0
0
11
115
-5
152
136
-82
90
-111
118
-18
0
0
0
0
0
0
0
0
-5
44
17
-20
21
-7
-41
-89
-66
0
0
0
0
0
0
0
0
0
0
0
-14
0
-2
0
-5
0
0
0
0
0
0
0
0
-16
0
-54
-4
19
-15
-63
38
0
97
30
0
0
0
0
0
0
20
-63
30
-86
-12
27
41
11
-17
72
-20
1
0
0
0
0
0
19
39
-16
-80
26
34
-29
-54
67
43
18
0
0
0
0
0
0
61
-25
-93
56
32
53
86
-49
23
27
-29
0
0
0
0
0
0
0
26
-21
0
-53
-1
-79
14
-87
46
-18
0
0
0
0
0
0
-6
59
-13
-24
18
-67
94
-50
-13
98
-12
0
0
0
0
0
0
-10
15
-6
2
-13
-20
8
-22
27
-1
3
0
0
0
0
0
0
3
-22
0
0
-15
-19
-1
-24
129
24
0
0
0
0
0
0
0
0
0
0
0
-12
0
-6
10
-2
9
0
0
0
0
0
0
0
0
4
49
14
-90
-84
-56
69
0
-94
17
-2
0
0
0
0
0
19
14
88
59
-58
24
-6
-11
108
-24
1
-6
0
0
0
0
0
17
-3
-13
74
6
-34
79
-100
21
-48
-14
0
0
0
0
0
0
0
-28
64
-81
-36
9
-28
22
0
-28
2
-7
0
0
0
0
0
0
161
-20
4
0
57
15
-76
42
61
-44
6
0
0
0
0
0
-14
46
94
40
16
21
19
142
64
-112
-21
-2
0
0
0
0
0
17
-75
77
63
4
-51
-5
-13
51
-3
0
0
0
0
0
0
0
0
5
-11
-4
0
-5
-76
-89
-53
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
0
0
0
0
0
0
0
0
6
4
5
-1
8
4
67
40
0
83
20
0
0
0
0
0
0
4
-27
27
-82
-48
-35
71
6
-107
36
-93
1
0
0
0
0
0
7
48
-49
109
17
3
61
-63
72
-6
-41
0
0
0
0
0
0
-5
86
4
-38
-68
41
71
0
-32
7
-6
0
0
0
0
0
0
0
-12
25
-13
-14
1
16
0
-97
8
-1
4
0
0
0
0
0
5
74
-134
18
43
26
37
52
20
11
7
-4
0
0
0
0
0
8
2
29
-4
-36
0
-20
49
-41
1
0
0
0
0
0
0
0
0
-5
1
-48
0
-7
44
-83
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-9
0
0
0
0
0
0
0
0
0
0
-3
-24
-2
-14
-31
2
-32
0
15
-28
0
0
0
0
0
0
0
-87
17
-25
1
-34
60
42
-82
31
13
-1
0
0
0
0
0
0
8
6
0
99
31
5
-74
35
-19
-1
0
0
0
0
0
0
0
59
13
3
25
-52
46
29
-9
-44
-13
0
0
0
0
0
0
0
0
3
1
-20
51
0
68
-30
33
2
-18
0
0
0
0
0
0
5
-61
12
4
-15
-7
46
15
71
-4
0
0
0
0
0
0
0
0
1
23
0
-44
82
-6
0
25
-9
0
0
0
0
0
0
0
0
0
0
0
3
8
-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
3
-40
-1
-18
106
35
-3
0
12
2
0
0
0
0
0
0
-19
-13
-22
18
79
59
57
46
-83
24
-7
0
0
0
0
0
0
-68
6
-73
127
24
37
66
-35
-36
16
-17
0
0
0
0
0
0
-11
0
-11
49
70
-71
22
-37
-7
-38
-17
0
0
0
0
0
0
-14
-4
2
35
65
-65
-133
0
-4
6
0
0
0
0
0
0
0
-15
-4
-10
-11
71
-59
-13
-112
5
-13
10
0
0
0
0
0
0
-17
0
14
1
-40
54
-20
12
23
0
2
0
0
0
0
0
0
0
0
0
1
0
-124
-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
-11
-7
14
-15
49
-88
-54
-85
0
-43
4
0
0
0
0
0
0
44
-159
-8
107
-7
58
5
-26
-119
-59
-10
0
0
0
0
0
0
19
26
-64
41
-99
-59
59
-28
-134
6
0
0
0
0
0
0
0
85
66
-10
61
27
78
110
2
-15
0
0
0
0
0
0
0
0
-93
47
45
87
9
-69
-28
45
0
-49
19
0
0
0
0
0
0
-4
-48
86
60
-89
22
-34
31
13
6
0
0
0
0
0
0
0
20
13
-6
5
88
-36
114
-28
9
-6
0
0
0
0
0
0
0
2
-12
-17
50
-11
16
104
28
-41
-15
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
-17
15
-130
40
6
3
9
0
62
0
0
0
0
0
0
0
0
73
-34
-134
11
2
71
-14
23
52
-65
0
0
0
0
0
0
0
41
-29
-59
-30
75
-20
-51
30
74
0
0
0
0
0
0
0
0
-31
64
-57
1
2
-1
10
-17
-57
0
0
0
0
0
0
0
0
-49
97
-34
-9
-35
-44
-63
-97
0
-1
0
0
0
0
0
0
0
-72
11
-96
-135
-81
28
56
-1
35
0
0
0
0
0
0
0
0
0
130
-11
-16
23
26
14
60
4
0
0
0
0
0
0
0
0
1
-1
0
-3
-56
21
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
-19
0
0
3
0
0
0
-68
-14
0
0
0
0
0
0
0
0
-2
0
13
0
-18
-1
36
18
-94
0
0
0
0
0
0
0
0
-2
-4
-4
-34
-23
-82
1
53
-1
0
0
0
0
0
0
0
0
6
0
2
1
-9
0
68
-5
-34
0
0
0
0
0
0
0
0
-19
0
11
49
10
-32
-25
8
0
0
0
0
0
0
0
0
0
-1
0
3
0
-13
-2
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
-2
-8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
19
9
1
-33
14
0
0
0
0
0
0
0
0
0
0
-4
-12
-27
-20
84
-49
-67
-2
0
0
0
0
0
0
0
0
-8
-90
-4
21
-60
3
-43
4
2
0
0
0
0
0
0
0
0
0
8
-4
-24
29
75
-20
7
1
0
0
0
0
0
0
0
0
10
-3
1
-25
50
44
30
10
22
0
0
0
0
0
0
0
0
0
7
-14
-13
-59
25
42
-36
2
0
0
0
0
0
0
0
0
-8
-5
4
-13
39
7
42
0
28
0
0
0
0
0
0
0
0
0
-19
1
-36
-1
18
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
23
7
0
0
0
0
0
0
0
0
0
9
-19
-25
-15
-179
-37
138
35
0
10
0
0
0
0
0
0
0
-8
-10
-55
-82
19
140
113
42
29
-115
0
0
0
0
0
0
0
-61
35
9
14
22
70
-27
-5
-31
-72
0
0
0
0
0
0
0
18
-8
-45
-33
-33
98
-69
-116
4
-12
0
0
0
0
0
0
0
78
-25
98
-54
-61
2
87
-98
75
37
0
0
0
0
0
0
0
-23
0
-12
123
-54
122
92
-5
-70
-13
0
0
0
0
0
0
0
45
-4
-21
23
35
-60
-19
3
-39
8
0
0
0
0
0
0
0
-2
0
13
33
10
43
-21
8
1
-25
0
0
0
0
0
0
0
0
0
0
0
97
1
-19
-10
0
0
0
0
0
0
0
0
0
0
34
29
-10
35
-13
-38
43
0
113
-12
0
0
0
0
0
0
9
-51
17
77
34
-62
43
-23
121
110
-39
0
0
0
0
0
0
0
38
1
-21
55
-28
103
-44
18
-85
-10
0
0
0
0
0
0
-7
-94
-28
-64
-23
13
4
-20
-7
-21
6
0
0
0
0
0
0
-62
-55
-22
24
-31
7
-4
57
55
-28
22
0
0
0
0
0
0
0
-9
0
-86
-29
-93
44
145
21
58
0
0
0
0
0
0
0
-1
51
0
85
41
212
-109
-80
27
-12
4
0
0
0
0
0
0
0
2
0
-34
-8
2
-3
18
15
47
0
0
0
0
0
0
0
0
0
0
0
8
0
-42
21
12
0
0
0
0
0
0
0
0
7
-18
-20
-85
-43
96
-22
35
0
97
-6
5
0
0
0
0
0
83
25
61
195
27
57
-19
125
46
3
27
0
0
0
0
0
0
4
55
-11
-43
64
-25
96
52
73
-9
42
0
0
0
0
0
0
-51
41
34
-23
-108
97
57
6
81
-40
-5
0
0
0
0
0
0
-41
-25
-89
37
35
61
12
-27
59
39
-16
2
0
0
0
0
0
14
3
20
0
19
76
-8
-13
15
-9
16
0
0
0
0
0
0
-1
28
-44
3
2
-71
-46
-111
-10
-48
0
0
0
0
0
0
0
0
-7
2
-2
1
44
0
77
-19
-9
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
-13
0
0
0
0
0
0
0
0
0
1
-24
43
-23
-28
4
6
104
0
-40
-28
0
0
0
0
0
0
0
-57
-21
15
64
-45
42
90
98
8
-1
1
0
0
0
0
0
-2
50
-72
54
-2
-90
98
-36
73
95
-1
10
0
0
0
0
0
17
87
-79
26
36
3
-92
72
-12
114
-1
0
0
0
0
0
0
-4
104
-11
-23
-84
2
-33
39
-122
82
-3
5
0
0
0
0
0
0
-3
13
-5
0
-26
50
26
65
3
21
0
0
0
0
0
0
0
0
3
25
-37
60
-70
20
-84
30
15
0
0
0
0
0
0
0
0
17
0
0
102
61
44
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-10
24
8
-74
29
41
6
0
-139
3
-8
0
0
0
0
0
0
62
1
-108
0
74
-83
14
15
-21
67
0
0
0
0
0
0
1
-42
32
40
24
-77
-65
21
28
-9
40
1
0
0
0
0
0
-2
4
23
6
81
-84
45
65
62
-23
2
0
0
0
0
0
0
50
-28
-15
25
-125
40
-72
45
-121
-37
-16
0
0
0
0
0
0
0
13
-17
-1
23
0
37
-66
-25
-46
1
-1
0
0
0
0
0
0
4
-1
31
-9
29
80
-21
-15
-41
2
0
0
0
0
0
0
0
-1
26
0
9
-1
-26
-28
-28
22
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
-3
0
0
0
0
0
0
0
0
0
0
2
-5
4
35
-11
-17
-64
0
88
-8
0
0
0
0
0
0
0
41
1
-5
-18
-61
-31
-31
73
-34
-32
0
0
0
0
0
0
0
27
-4
0
-7
46
56
-60
-39
28
-47
-1
0
0
0
0
0
1
64
-1
-43
6
-75
60
78
29
38
0
3
0
0
0
0
0
0
-16
4
-6
39
-84
-66
-6
217
-15
0
-6
0
0
0
0
0
0
4
-1
67
-10
30
0
-49
-27
-7
4
0
0
0
0
0
0
0
-1
20
-22
-27
-3
-14
40
-6
-25
2
0
0
0
0
0
0
0
0
0
-3
0
0
-49
60
3
-26
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
-1
1
64
-16
-4
16
0
-78
2
0
0
0
0
0
0
1
-5
-7
17
7
19
6
59
-29
-6
-13
0
0
0
0
0
0
0
-13
1
32
1
44
54
74
-44
42
16
0
0
0
0
0
0
69
-1
22
-8
75
18
60
-81
-24
0
0
0
0
0
0
0
0
-5
9
5
-9
24
19
0
-23
-2
0
-5
0
0
0
0
0
0
0
-3
-20
-32
44
14
-9
0
-24
2
-4
0
0
0
0
0
0
0
16
0
8
-32
29
0
9
-9
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
11
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-49
-41
4
-36
49
-98
-19
0
-37
-2
0
0
0
0
0
0
0
44
-16
-35
117
-52
34
-70
-47
-86
-19
0
0
0
0
0
0
13
-66
-16
-100
36
92
-57
87
-96
51
0
0
0
0
0
0
0
62
-77
-38
-11
81
30
44
33
-51
11
0
0
0
0
0
0
0
-31
-35
-4
-70
-37
29
-103
-6
-30
-5
0
0
0
0
0
0
0
-65
-84
-75
0
-188
-100
-7
56
0
-33
0
0
0
0
0
0
0
-98
-10
-42
5
10
-57
51
-6
28
0
0
0
0
0
0
0
0
0
-2
-11
-31
14
-30
4
8
0
-1
0
0
0
0
0
0
0
0
5
0
0
-22
0
36
-14
0
0
0
0
0
0
0
0
0
0
44
-21
4
-4
43
48
1
0
97
-22
0
0
0
0
0
0
0
-38
41
29
-84
-16
64
49
18
50
4
0
0
0
0
0
0
0
36
-7
-163
-51
88
28
25
59
1
-10
0
0
0
0
0
0
0
-45
90
-3
37
79
-105
106
59
4
-2
0
0
0
0
0
0
0
-149
-59
93
-10
-58
73
41
-13
-18
0
0
0
0
0
0
0
0
21
-25
-18
-67
16
-7
-37
-28
0
-2
0
0
0
0
0
0
0
19
4
8
-33
47
-83
-85
1
0
0
0
0
0
0
0
0
0
26
7
0
-5
-17
10
16
103
0
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
-5
0
1
0
5
7
0
0
0
0
0
0
0
0
2
-8
0
-2
4
48
16
17
-63
0
0
0
0
0
0
0
0
0
-2
0
19
-4
-14
-4
-4
0
0
0
0
0
0
0
0
0
-2
0
14
6
-4
-25
0
-14
-1
0
0
0
0
0
0
0
0
13
-14
-3
-4
13
-1
-12
0
5
0
0
0
0
0
0
0
0
0
-1
-5
5
-23
23
-66
2
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
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
21
-2
-2
-20
66
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
87
22
-24
-2
2
0
0
0
0
0
0
0
0
-5
0
0
68
-16
-42
65
13
2
0
0
0
0
0
0
0
0
0
0
-8
2
6
33
2
54
9
0
0
0
0
0
0
0
0
-3
8
-15
96
34
-27
-2
41
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
1
22
-1
-15
0
0
0
0
0
0
0
0
0
-5
10
-7
2
21
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
-36
-23
35
21
20
64
0
0
0
0
0
0
0
0
0
3
-21
-34
56
-32
65
56
124
-90
-134
0
0
0
0
0
0
0
31
3
8
-111
0
46
22
100
-87
14
0
0
0
0
0
0
0
4
7
-18
0
-49
-79
48
8
-111
124
0
0
0
0
0
0
0
-18
-15
142
-30
124
-46
35
-2
0
32
0
0
0
0
0
0
0
11
-4
26
56
112
-174
21
-95
-35
90
0
0
0
0
0
0
0
13
0
4
-4
-43
10
143
-45
-60
22
0
0
0
0
0
0
0
2
0
2
-65
15
154
-76
8
17
5
0
0
0
0
0
0
0
0
0
0
0
2
0
-30
-16
-8
0
0
0
0
0
0
0
0
0
2
93
60
74
-29
-18
48
0
-12
10
0
0
0
0
0
0
16
57
-16
-2
-154
41
-58
34
132
-1
-7
0
0
0
0
0
0
0
-65
-23
-138
-52
139
71
-30
-91
68
0
0
0
0
0
0
0
-4
-115
-1
-49
0
111
64
73
-30
-32
16
0
0
0
0
0
0
-74
56
4
-22
-117
-87
21
94
65
-159
0
0
0
0
0
0
0
-4
66
-29
-19
-92
-37
61
56
-31
33
18
0
0
0
0
0
0
0
-1
0
-7
6
26
23
19
45
34
0
0
0
0
0
0
0
0
-8
-2
3
-7
-24
-18
35
132
-63
0
0
0
0
0
0
0
0
0
0
0
9
1
-2
27
1
0
0
0
0
0
0
0
0
-1
0
8
-9
69
-28
43
-19
0
76
0
0
0
0
0
0
0
0
56
6
-30
-41
-96
8
-30
77
23
-80
0
0
0
0
0
0
58
-77
13
10
-26
-54
100
22
59
53
-87
0
0
0
0
0
0
-2
96
40
-56
-2
15
21
3
4
41
-16
0
0
0
0
0
0
4
129
-21
-2
-8
114
64
-35
-54
59
-70
0
0
0
0
0
0
-11
123
-95
-26
-16
-107
4
-170
-47
72
34
0
0
0
0
0
0
0
4
-9
0
24
23
-47
-42
49
25
-1
0
0
0
0
0
0
-6
-22
-32
-3
0
65
-27
40
-46
22
0
0
0
0
0
0
0
0
0
0
0
23
0
12
2
2
0
0
0
0
0
0
0
0
0
1
-34
-18
39
-49
-73
28
0
-122
-4
0
0
0
0
0
0
6
-12
-33
-7
-25
145
-7
-90
-50
162
106
0
0
0
0
0
0
0
-19
48
0
-60
-7
20
-47
142
-21
14
0
0
0
0
0
0
16
56
51
10
-35
8
40
-140
-33
11
2
0
0
0
0
0
0
0
-25
-61
75
-38
-43
-31
11
128
-29
4
0
0
0
0
0
0
5
19
46
-21
-37
-16
-41
71
49
-71
37
12
0
0
0
0
0
0
0
-2
-1
0
48
153
-13
-5
-23
6
0
0
0
0
0
0
0
0
7
-15
0
20
37
-92
-25
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
-4
0
7
-51
-17
-36
0
-42
6
0
0
0
0
0
0
0
-5
0
-15
-1
13
-8
31
-9
-68
48
0
0
0
0
0
0
0
39
0
-12
118
15
-6
4
124
21
-1
-7
0
0
0
0
0
-12
0
-2
-8
30
4
-26
-168
-12
-108
-28
0
0
0
0
0
0
0
-24
14
0
50
-14
-47
4
-41
141
0
0
0
0
0
0
0
5
5
91
-28
0
32
19
-65
55
4
13
0
0
0
0
0
0
0
-3
-4
12
6
0
-25
24
-143
15
-5
0
0
0
0
0
0
4
0
1
37
0
56
-3
-13
1
-30
-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
-19
-4
8
-5
-2
-9
40
0
3
12
0
0
0
0
0
0
0
-15
47
-4
-52
41
-9
132
10
-9
-28
0
0
0
0
0
0
0
-114
7
0
116
-7
-144
-44
20
-19
-1
0
0
0
0
0
0
0
41
0
15
23
-39
-27
43
44
99
-5
0
0
0
0
0
0
0
104
20
-16
93
14
133
-21
-44
36
12
0
0
0
0
0
0
0
79
24
53
-28
-62
-16
92
-48
94
0
-14
0
0
0
0
0
0
0
22
0
0
-1
0
82
-6
2
0
0
0
0
0
0
0
0
0
0
-1
-31
8
22
11
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
9
0
3
0
2
-2
6
33
0
0
0
0
0
0
0
0
0
1
0
-15
-12
-2
-61
-20
35
1
-4
2
0
0
0
0
0
0
-76
0
-2
0
-60
-10
-143
-27
-212
-1
0
0
0
0
0
0
0
17
0
1
-7
-20
-148
75
-39
10
-6
0
0
0
0
0
0
0
27
2
37
33
-28
-27
20
-19
12
0
0
0
0
0
0
0
0
0
-1
-12
8
5
118
-1
-8
0
0
0
0
0
0
0
0
0
0
2
0
3
-99
-5
33
0
-10
-2
0
0
0
0
0
0
0
0
0
0
-7
0
-1
1
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
12
0
-7
41
39
67
73
-37
0
9
0
0
0
0
0
0
0
0
111
1
2
48
-22
19
-33
-90
-105
3
0
0
0
0
0
0
0
16
31
-50
7
140
60
-24
22
67
-24
0
0
0
0
0
0
18
-68
93
61
-47
-99
95
169
-21
-67
0
0
0
0
0
0
0
-8
-41
51
74
-34
-82
111
18
-41
-14
0
0
0
0
0
0
0
12
-21
-12
10
40
6
141
-3
-24
0
0
0
0
0
0
0
0
-2
-91
63
41
-132
-40
-41
-94
0
46
0
0
0
0
0
0
0
0
-19
-1
12
-59
67
46
5
3
20
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-99
-11
-18
13
0
-48
0
0
0
0
0
0
0
0
53
38
4
17
14
46
77
125
-28
34
0
0
0
0
0
0
0
-3
27
22
-20
-11
86
46
52
-81
0
0
0
0
0
0
0
0
-40
2
-46
-85
-49
-14
8
61
45
0
0
0
0
0
0
0
0
51
-21
-28
10
32
185
33
58
-33
-1
0
0
0
0
0
0
0
0
4
41
-12
28
-50
24
-1
-14
0
0
0
0
0
0
0
0
0
21
0
61
7
-67
50
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-81
-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
-6
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
-29
3
-3
0
0
0
0
0
0
0
0
0
0
0
-13
0
-14
-7
4
-10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
1
0
-1
8
0
2
0
4
-5
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
2
0
6
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
20
-6
-9
0
0
0
0
0
0
0
0
0
-3
-3
-2
20
0
50
-19
0
-15
0
0
0
0
0
0
0
0
-15
-5
0
5
-11
8
-14
3
35
0
0
0
0
0
0
0
0
0
0
0
-60
4
14
4
80
-1
0
0
0
0
0
0
0
0
-42
-40
4
-16
-17
-20
-15
-2
-17
0
0
0
0
0
0
0
0
0
0
-9
-44
5
8
-3
-10
0
0
0
0
0
0
0
0
0
0
-20
1
17
-36
-19
-49
6
5
0
0
0
0
0
0
0
0
0
-4
0
1
8
-15
-1
2
-2
0
0
0
0
0
0
0
0
0
12
0
0
-3
0
2
6
0
0
0
0
0
0
0
0
0
24
0
3
0
1
-19
24
-1
0
0
0
0
0
0
0
0
0
0
0
-6
6
-29
22
-59
-28
13
5
0
0
0
0
0
0
0
-221
0
6
-1
5
-79
-13
3
67
0
0
0
0
0
0
0
0
-42
-10
35
-100
28
68
5
47
-21
3
0
0
0
0
0
0
0
-37
6
49
-26
56
-19
170
15
-81
-14
0
0
0
0
0
0
0
107
0
-116
-109
15
-24
47
-86
-7
0
0
0
0
0
0
0
0
69
-1
11
-11
-128
26
13
15
63
-3
0
0
0
0
0
0
0
0
0
0
10
-9
-52
-5
-86
2
0
0
0
0
0
0
0
0
12
0
0
0
37
5
-8
2
66
0
0
0
0
0
0
0
0
0
1
12
18
28
-3
69
11
0
-17
0
0
0
0
0
0
0
0
53
-4
-12
17
97
-76
10
4
-37
0
0
0
0
0
0
0
-12
76
15
0
26
-27
-4
-18
82
-16
0
0
0
0
0
0
0
-20
28
-5
85
55
72
-2
-11
23
60
1
0
0
0
0
0
0
8
-19
0
42
-7
12
77
31
-21
-38
-20
0
0
0
0
0
0
7
-23
2
-91
68
74
28
25
55
51
0
0
0
0
0
0
0
-85
11
1
-47
-9
-26
-27
-74
-5
6
0
0
0
0
0
0
0
0
2
0
9
0
-10
-74
-1
-3
7
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
-13
-41
16
16
0
0
0
0
0
0
0
0
0
0
0
-18
-4
29
-8
-45
-81
-12
-4
-2
0
0
0
0
0
0
0
0
0
2
-68
0
-55
-49
1
-41
-21
0
0
0
0
0
0
-57
-16
66
2
-36
117
-5
75
131
30
5
0
0
0
0
0
0
29
29
-6
-7
-21
55
11
-27
-23
18
36
0
0
0
0
0
0
-24
-39
9
-17
35
16
-4
107
-14
52
20
0
0
0
0
0
0
3
-4
-76
0
-70
1
48
-34
74
-5
-1
0
0
0
0
0
0
0
-2
0
0
-13
50
6
54
-8
-22
0
0
0
0
0
0
0
0
0
0
0
-1
1
15
5
20
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
-5
23
0
0
-16
0
0
0
0
0
0
0
0
0
-5
0
9
-39
-7
-6
6
1
0
0
0
0
0
0
10
4
0
5
-45
15
-56
19
81
3
0
-1
0
0
0
0
0
0
26
-5
15
-23
6
35
2
49
7
1
0
0
0
0
0
0
0
55
0
23
31
14
-6
-32
39
20
-3
0
0
0
0
0
0
0
-14
42
6
-21
-68
61
-10
-9
-11
0
17
0
0
0
0
0
0
-1
0
-9
0
48
32
7
-2
28
0
2
0
0
0
0
0
0
0
0
-11
0
24
51
32
-12
-1
3
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-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
-4
-21
97
11
3
2
7
-13
0
0
0
0
0
0
0
0
1
0
50
0
-39
3
38
0
0
0
0
0
0
0
0
-24
0
0
-12
2
92
-3
32
8
-2
-5
0
0
0
0
0
0
0
-26
2
0
-52
-7
-36
-15
0
0
-8
0
0
0
0
0
0
0
-3
6
-15
-31
-38
27
10
15
-4
0
0
0
0
0
0
0
68
3
0
51
-53
0
8
14
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
4
-29
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
29
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
-44
-44
-4
0
0
0
0
0
0
0
0
2
0
0
-2
2
-14
12
-5
-4
1
0
0
0
0
0
0
0
-5
-20
0
0
7
-39
23
-12
0
0
0
0
0
0
0
0
0
-2
0
8
0
-11
-7
6
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
70
-5
6
0
0
0
0
0
0
0
0
0
-14
0
17
0
-35
-13
30
0
-23
0
0
0
0
0
0
0
0
0
16
0
-3
1
-11
-9
28
2
6
0
0
0
0
0
0
0
-8
0
-26
0
-12
-7
25
-1
0
0
0
0
0
0
0
0
0
2
0
37
12
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-3
-5
-57
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-43
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
54
15
-86
-2
-24
-16
1
0
0
0
0
0
0
0
4
4
0
0
2
4
49
-57
-103
-9
0
0
0
0
0
0
0
-2
1
0
71
17
31
62
-71
23
-34
0
0
0
0
0
0
0
0
-95
6
-35
76
17
-14
-14
-21
21
0
0
0
0
0
0
0
0
15
-9
-34
9
64
-4
28
-11
11
0
0
0
0
0
0
0
-1
-14
0
-58
3
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
11
12
0
10
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
7
0
0
0
0
0
0
0
0
0
0
0
-29
19
0
6
0
-2
-71
-3
-40
0
0
0
0
0
0
0
0
-10
0
0
0
0
51
-85
74
3
45
0
0
0
0
0
0
0
-63
7
-8
59
35
-49
63
-50
-8
0
0
0
0
0
0
0
0
-13
0
-37
28
-21
1
-15
5
7
0
0
0
0
0
0
0
0
-14
-8
-9
0
-16
1
0
7
-1
0
0
0
0
0
0
0
0
0
3
0
-14
-4
-5
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
7
5
-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
12
2
3
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
20
0
0
0
0
0
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
1
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
17
0
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
-1
-46
0
-2
0
0
0
0
0
0
0
0
23
0
0
22
0
-13
0
40
-1
0
0
0
0
0
0
0
0
-13
0
8
8
103
3
30
0
-24
0
0
0
0
0
0
0
0
-9
0
55
20
0
-91
0
-6
0
0
0
0
0
0
0
0
0
-8
0
0
-1
-107
0
33
0
0
0
0
0
0
0
0
0
0
9
0
-1
15
-2
-36
0
28
2
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
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
0
0
0
0
0
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
5
-16
60
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
8
6
-6
0
0
0
0
0
0
0
0
0
0
2
74
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-12
-3
0
2
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
14
-11
10
0
0
0
0
0
0
0
0
0
0
0
0
12
4
6
0
-2
0
0
0
0
0
0
0
0
0
-1
45
0
-5
3
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-10
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
-3
0
0
0
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-7
-9
-20
-13
0
0
0
0
0
0
0
0
0
0
14
0
-15
28
77
38
16
0
5
0
0
0
0
0
0
0
0
91
68
0
86
77
0
-24
-17
75
0
0
0
0
0
0
0
0
17
1
-105
4
55
-26
-1
0
-37
0
0
0
0
0
0
0
0
1
87
4
47
1
-11
14
0
20
0
0
0
0
0
0
0
0
-12
-15
4
-19
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-24
18
31
-17
-18
0
0
0
0
0
0
0
0
0
0
0
-74
-1
26
14
33
35
0
2
0
0
0
0
0
0
0
0
0
8
-102
4
7
-43
3
-36
-35
21
0
0
0
0
0
0
0
-2
42
17
56
36
-79
-55
-52
84
132
0
0
0
0
0
0
0
-9
3
-6
-11
34
-30
67
18
72
38
0
0
0
0
0
0
0
0
79
1
37
-58
-34
0
-9
0
5
0
0
0
0
0
0
0
0
0
-3
9
23
0
0
0
0
-3
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
2
0
3
40
-64
19
6
0
-6
1
0
0
0
0
0
0
0
0
-26
0
196
18
88
0
0
0
-37
0
0
0
0
0
0
0
-6
-92
-3
-2
-64
-36
-71
-25
92
39
0
0
0
0
0
0
0
48
54
91
-2
-133
-10
157
26
-19
-22
0
0
0
0
0
0
2
-28
39
16
-101
-25
-114
42
10
-115
0
0
0
0
0
0
0
0
16
42
-96
-28
82
43
1
1
88
0
0
0
0
0
0
0
0
8
6
-9
68
-3
-3
0
8
-1
0
0
0
0
0
0
0
0
0
10
-58
9
0
0
5
0
0
0
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
29
0
-22
0
0
1
0
1
-15
0
0
0
0
0
0
-10
6
-4
5
-8
83
23
0
-7
0
7
0
0
0
0
0
0
-7
-1
75
-42
111
0
8
10
-65
-8
5
9
0
0
0
0
0
0
-2
46
101
67
69
3
14
-1
46
-24
-4
0
0
0
0
0
-3
-56
45
-10
-25
166
57
-4
9
0
0
0
0
0
0
0
0
0
-54
82
17
-50
3
-4
25
0
0
4
0
0
0
0
0
0
0
0
5
-1
13
10
5
-9
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
48
-34
0
4
-3
0
0
0
-1
0
0
0
0
0
0
8
42
-15
-5
74
-4
-46
0
-3
0
0
4
0
0
0
0
0
28
-95
-37
34
8
58
4
4
-42
-28
8
3
0
0
0
0
0
9
-11
8
-21
82
-4
16
-10
-74
-5
1
4
0
0
0
0
0
-6
9
51
1
0
18
-40
8
0
21
-1
0
0
0
0
0
0
0
-12
33
47
44
1
-11
3
0
-25
-13
0
0
0
0
0
0
0
0
-9
-15
11
11
11
-1
-8
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
23
20
115
6
15
0
10
0
0
0
0
0
0
0
0
0
0
-1
76
84
80
11
-43
10
0
4
0
-2
1
0
0
0
0
0
43
84
-59
85
26
-52
-137
-84
24
-66
-4
2
-1
0
0
0
0
-37
-27
-97
-86
22
-7
72
-6
5
5
0
0
2
0
0
0
0
30
37
5
26
69
29
-8
34
-18
-48
0
0
0
0
0
0
0
0
-12
-146
48
63
-19
-14
-54
6
1
0
0
0
0
0
0
0
0
0
8
73
-14
-16
1
0
20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
22
56
-28
73
0
3
0
9
0
0
0
0
0
0
0
9
33
36
-91
-85
73
-57
0
6
0
0
0
0
0
0
0
0
2
-73
31
23
-45
-57
-58
35
-71
44
-8
0
0
0
0
0
0
19
62
4
16
26
-63
41
-149
-36
25
5
0
-2
0
0
0
0
26
32
27
-95
-42
35
-24
35
17
-13
0
0
0
0
0
0
0
0
-87
-24
-23
-136
121
55
24
5
32
0
0
0
0
0
0
0
0
0
-5
32
-27
-2
9
0
-44
-6
0
0
0
0
0
0
0
0
0
0
14
0
-1
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
4
-32
64
33
53
-60
-19
0
0
0
9
0
0
0
0
0
0
23
20
-9
31
73
-99
69
0
-14
0
2
0
0
0
0
0
0
81
-32
-33
-80
-190
-106
-19
33
51
5
36
0
0
0
0
0
0
-12
-208
-90
-78
15
-52
73
75
-88
0
-3
0
0
0
0
0
0
-5
-8
12
53
22
-64
61
2
-61
64
-3
0
0
0
0
0
0
-8
-89
18
-14
59
-4
-6
1
1
-1
0
0
0
0
0
0
0
0
0
-50
-11
23
9
-13
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
6
-4
0
0
0
-3
0
0
0
0
0
0
0
43
-42
59
-94
67
48
0
-14
0
-44
0
0
0
0
0
0
0
52
28
-36
-5
-30
-54
15
37
-5
7
-5
0
0
0
0
0
0
-19
-29
3
-74
-25
-50
-66
-16
-3
134
0
0
0
0
0
0
0
3
38
63
79
-3
129
58
22
7
-17
0
0
0
0
0
0
0
6
71
-12
70
71
38
-77
-43
29
3
0
0
0
0
0
0
0
-27
1
36
5
16
44
16
-71
0
0
0
0
0
0
0
0
0
0
3
-151
4
4
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
-3
-1
28
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
15
18
-5
-49
0
-13
0
7
9
0
0
0
0
0
0
0
-3
106
0
-127
20
-34
10
28
-9
8
0
0
0
0
0
0
0
0
3
-25
42
48
-21
-4
-49
17
-5
0
0
0
0
0
0
0
8
-24
-4
-42
9
27
-7
35
7
-3
0
0
0
0
0
0
0
4
18
51
73
2
-3
-49
6
0
0
0
0
0
0
0
0
0
0
0
66
-83
5
21
0
-3
0
0
0
0
0
0
0
0
0
0
-13
18
0
14
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
3
-3
3
-17
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-7
9
45
-4
0
0
0
0
0
0
0
0
0
0
0
-7
3
7
0
-8
0
0
0
0
0
0
0
0
0
0
3
-14
0
2
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-4
-2
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
1
-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
-8
1
32
-27
11
-2
0
2
0
0
0
0
0
0
0
0
0
5
106
44
-40
-27
-83
123
0
-8
0
0
0
0
0
0
0
0
30
25
74
-37
20
-115
29
2
-37
0
0
0
0
0
0
0
0
-53
182
-66
-81
-144
54
-1
-16
-18
0
0
0
0
0
0
0
0
9
10
-164
-9
29
3
-10
2
7
0
0
0
0
0
0
0
0
1
156
-5
64
-6
35
-5
-12
4
0
0
0
0
0
0
0
0
0
-15
27
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
95
-3
8
59
97
45
1
0
-9
0
0
0
0
0
0
0
-6
-70
81
-47
42
-71
-83
0
-33
0
0
0
0
0
0
0
0
33
-59
-49
-3
-76
-46
39
-10
-91
-34
0
0
0
0
0
0
0
-13
63
144
6
135
60
5
-54
-51
-25
0
0
0
0
0
0
0
20
-24
32
38
26
37
19
-88
108
47
0
0
0
0
0
0
0
-1
87
91
38
-11
-38
57
18
10
5
0
0
0
0
0
0
0
0
0
-1
52
5
46
-1
-12
0
3
0
0
0
0
0
0
0
0
0
14
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
-74
-5
-37
-43
6
-16
0
-2
5
0
0
0
0
0
0
0
148
-19
-33
2
144
-2
0
-10
0
18
0
0
0
0
0
0
0
-58
-61
-58
-100
49
43
13
-50
-88
15
0
0
0
0
0
0
0
14
-78
18
-36
31
-64
44
-45
-53
34
0
0
0
0
0
0
0
121
-87
39
-52
-62
107
4
126
82
15
0
0
0
0
0
0
0
39
-22
55
60
-8
41
79
19
-3
10
0
0
0
0
0
0
0
2
63
-12
-11
17
28
11
48
-9
-5
0
0
0
0
0
0
0
0
-10
36
3
-4
0
0
-1
-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
1
-9
-70
10
50
-50
-2
0
0
0
0
0
0
0
0
0
18
-58
5
-95
24
69
-41
0
-1
0
17
0
0
0
0
0
0
-21
-126
-79
-17
204
13
-34
13
83
-6
-32
1
0
0
0
0
0
12
-89
7
-57
-33
-29
-48
-40
146
-12
-6
-5
0
0
0
0
0
19
2
29
68
-36
67
-53
59
-3
-25
25
0
0
0
0
0
0
0
4
74
55
58
82
-55
5
14
3
0
-3
0
0
0
0
0
0
0
12
6
9
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
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
0
0
0
2
-94
-39
-57
-35
2
26
-6
0
5
-9
2
0
0
0
0
0
49
82
-23
44
57
114
24
0
12
0
-10
52
0
0
0
0
0
79
-135
-81
51
54
0
66
-29
-66
121
-4
-1
6
0
0
0
0
-61
37
47
37
12
108
-138
-33
-68
65
-1
-2
0
0
0
0
0
-45
29
111
163
96
98
69
102
-25
56
2
-7
0
0
0
0
0
0
129
-151
-14
152
-2
-12
-40
3
0
0
6
0
0
0
0
0
0
59
109
-9
4
6
9
2
0
-6
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
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-60
-47
77
-14
-97
-13
6
5
0
0
0
0
0
0
0
0
0
-39
58
11
10
13
-23
99
0
71
0
1
1
0
0
0
0
0
60
-18
30
12
43
-101
-92
60
-4
97
42
1
0
0
0
0
0
25
46
-2
-154
118
-59
-30
116
124
25
-7
1
1
0
0
0
0
-27
38
-24
29
123
-9
-60
-26
60
-4
0
0
0
0
0
0
0
0
4
-40
-36
-4
79
-46
-39
20
0
0
0
0
0
0
0
0
-7
23
11
132
81
20
20
16
-8
1
0
0
0
0
0
0
0
0
44
5
10
0
-8
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
4
29
-48
-114
-12
111
-5
1
0
15
0
0
0
0
0
0
0
28
-22
-29
8
-20
-23
38
0
6
0
2
-2
0
0
0
0
0
3
56
100
89
-13
-11
94
-15
-12
-35
66
20
0
0
0
0
0
-7
-3
-37
3
-25
68
90
71
18
-11
13
0
-2
0
0
0
0
23
-125
77
6
45
18
31
-38
-80
-32
17
0
0
0
0
0
0
0
48
49
-10
25
18
-70
100
-3
-44
0
0
0
0
0
0
0
2
4
-97
146
14
-50
-42
63
57
42
-7
0
0
0
0
0
0
0
-1
5
128
26
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
34
81
-20
193
149
72
15
17
0
-2
-1
0
0
0
0
0
0
151
98
80
-31
48
-36
-28
0
-97
0
27
0
0
0
0
0
0
-34
158
-60
125
40
52
-3
-23
103
-32
56
-1
0
0
0
0
0
-4
6
-85
25
9
-48
89
51
10
-104
8
-10
0
0
0
0
0
-15
-4
-38
71
-6
-54
58
26
-1
-64
-2
3
0
0
0
0
0
6
77
-102
-78
-84
36
25
29
-55
16
-4
0
0
0
0
0
0
-5
28
45
83
-8
10
39
-9
87
0
0
0
0
0
0
0
0
0
-4
1
-50
-3
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
13
47
-45
109
66
-75
-44
-3
0
-1
0
0
0
0
0
0
0
-14
-135
46
-69
39
-15
-15
0
0
0
-36
0
0
0
0
0
0
15
87
-26
-95
-29
-4
12
145
69
57
-47
6
0
0
0
0
0
-27
143
-131
33
71
-141
-113
-104
30
-61
-41
5
0
0
0
0
0
2
-18
-31
-103
165
92
63
-52
-27
131
-58
0
0
0
0
0
0
0
96
-16
-91
-21
-44
92
-11
41
-145
0
0
0
0
0
0
0
11
-13
-38
22
55
-40
-65
4
-65
5
0
0
0
0
0
0
0
0
0
24
21
-8
-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
-101
29
-84
29
18
82
-25
0
-1
11
2
0
0
0
0
0
0
-80
58
50
73
59
-86
0
-104
0
89
0
0
0
0
0
0
0
125
62
49
-36
-79
25
49
48
0
-99
6
0
0
0
0
0
0
35
22
39
-42
-91
84
35
-88
-174
-68
1
0
0
0
0
0
0
2
14
-5
43
106
-79
105
41
-26
46
0
0
0
0
0
0
0
-21
63
44
7
-114
17
45
-47
-6
8
0
0
0
0
0
0
0
-14
41
45
-44
-78
-36
43
13
-2
5
0
0
0
0
0
0
0
0
17
-37
-4
-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
-5
46
62
-42
3
11
0
0
0
-3
0
0
0
0
0
0
0
-35
-71
10
-48
71
0
-1
0
-10
-6
0
0
0
0
0
0
0
57
50
96
65
-210
28
-8
14
10
-9
0
0
0
0
0
0
0
-4
17
-48
56
0
-1
-120
-178
-20
60
0
0
0
0
0
0
0
-33
31
31
-12
46
21
-65
-10
10
15
0
0
0
0
0
0
0
-13
50
33
24
14
-8
1
5
0
0
0
0
0
0
0
0
0
0
34
-74
-17
38
-6
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
-21
7
2
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
-13
1
9
50
0
0
-14
0
0
0
0
0
0
0
0
0
-1
-15
-10
-8
0
2
0
5
0
-1
0
0
0
0
0
0
0
0
2
-9
10
-8
1
-23
-35
-4
12
0
0
0
0
0
0
0
4
46
-12
-19
-1
-8
1
-39
7
3
0
0
0
0
0
0
0
0
3
-7
-41
-28
-13
2
5
0
0
0
0
0
0
0
0
0
0
-6
11
-31
16
12
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
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
0
-1
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
-4
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-9
5
0
0
0
0
0
0
0
0
0
0
0
91
-13
67
34
-40
63
-15
0
-19
0
0
0
0
0
0
0
0
0
4
-15
-41
41
-34
7
-62
87
0
0
0
0
0
0
0
0
16
79
-13
-11
104
-83
-9
-19
-48
0
0
0
0
0
0
0
0
26
72
6
50
51
-101
-1
-1
5
0
0
0
0
0
0
0
0
0
20
58
4
-27
17
17
0
-3
0
0
0
0
0
0
0
0
0
-1
-34
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-93
45
-46
90
5
0
-12
0
0
0
0
0
0
0
0
-11
48
26
-11
-26
74
0
4
0
0
0
0
0
0
0
0
-15
3
-146
-19
-6
41
-24
23
-35
5
0
0
0
0
0
0
0
-89
-24
89
-176
54
54
-102
-50
81
62
0
0
0
0
0
0
0
5
-87
-90
-155
-3
5
62
22
-47
64
0
0
0
0
0
0
0
0
40
104
1
68
-154
-18
35
-7
7
0
0
0
0
0
0
0
0
0
72
-5
-28
9
17
2
3
-11
0
0
0
0
0
0
0
0
-4
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
-1
113
50
28
115
-40
9
0
15
11
0
0
0
0
0
0
0
20
-2
15
-16
-20
-50
0
-11
0
-1
0
0
0
0
0
0
0
40
1
-38
109
48
-117
-121
-10
12
-27
0
0
0
0
0
0
-1
6
34
13
67
-29
109
-44
-10
-51
-17
0
0
0
0
0
0
0
4
105
-155
-81
-67
-48
-11
15
24
0
0
0
0
0
0
0
0
31
144
-74
-43
-154
97
24
0
-11
0
0
0
0
0
0
0
0
0
47
28
4
-15
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
6
11
-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
46
2
19
100
110
-8
44
4
0
-2
-3
-2
0
0
0
0
0
-1
-10
33
131
-101
62
26
0
6
0
-24
-3
0
0
0
0
0
-52
79
36
-11
28
18
48
-16
-52
-36
-40
-1
0
0
0
0
0
-22
37
36
-12
41
-1
151
59
-3
-4
10
2
0
0
0
0
0
38
-68
26
12
44
-14
12
-20
12
0
3
0
0
0
0
0
0
0
51
-25
15
15
16
-2
-13
-4
0
0
0
0
0
0
0
0
0
0
20
12
-6
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
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
13
58
-68
6
67
78
-34
10
0
-2
0
2
0
0
0
0
0
-27
84
144
-107
51
-90
-2
0
43
0
9
1
0
0
0
0
0
46
113
98
77
153
49
60
-13
-10
15
12
-4
0
0
0
0
0
108
-72
-47
51
7
76
-18
17
-71
1
0
-18
0
0
0
0
0
6
-72
-13
-88
56
14
37
-137
-70
17
0
0
0
0
0
0
0
0
-80
-133
-68
13
34
-47
10
-4
6
11
0
0
0
0
0
0
0
2
-89
46
-1
-29
-34
2
17
0
0
0
0
0
0
0
0
0
-4
0
-8
-17
2
-6
-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
133
7
102
32
-24
-15
-80
0
0
1
9
0
0
0
0
0
0
74
-18
18
79
8
1
53
0
-11
0
1
2
0
0
0
0
0
98
-74
144
-8
81
-90
-27
-76
34
85
55
-4
-3
0
0
0
0
-96
-48
-75
-10
-42
20
11
88
-99
1
2
2
0
0
0
0
0
67
-24
-75
50
104
6
40
-13
27
20
0
-14
0
0
0
0
0
0
-106
-47
-108
66
37
-82
11
-12
-14
-8
0
0
0
0
0
0
-25
11
118
-2
72
13
-97
13
-32
0
0
0
0
0
0
0
0
0
-14
1
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
5
37
60
68
-45
19
72
0
0
-21
-5
0
0
0
0
0
0
-8
-60
59
9
117
90
1
0
-5
0
-6
-5
0
0
0
0
0
-11
137
-79
101
62
0
47
47
98
11
0
23
0
0
0
0
0
-23
-19
73
-28
7
-16
96
43
20
-75
3
0
0
0
0
0
0
-44
-49
-58
-40
-57
71
76
-79
-99
-1
6
0
0
0
0
0
0
0
95
66
7
85
51
86
14
18
-9
10
0
0
0
0
0
0
0
-38
-48
98
36
47
22
-4
22
-46
0
0
0
0
0
0
0
0
1
25
35
-23
-1
-23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
12
0
0
0
0
0
0
0
0
-20
57
23
6
-79
49
-1
1
0
0
34
1
0
0
0
0
0
19
91
-40
9
1
8
-37
0
-85
0
-18
0
0
0
0
0
0
-1
-24
2
-20
57
18
57
30
-11
88
-43
1
0
0
0
0
0
-118
-24
13
4
47
62
3
62
16
-78
-14
0
0
0
0
0
0
6
-12
41
-30
-10
14
-11
44
-23
1
2
0
0
0
0
0
0
26
17
-33
-23
113
66
-41
28
-12
13
0
0
0
0
0
0
0
-56
76
-14
10
-44
0
126
2
74
-27
0
0
0
0
0
0
0
0
22
-8
24
-4
53
-2
0
-3
0
0
0
0
0
0
0
0
0
35
13
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-40
118
47
69
-63
-177
141
-1
0
111
-1
-8
0
0
0
0
0
91
101
11
-19
-94
3
16
0
-56
0
-13
-1
0
0
0
0
0
68
-20
45
66
-59
-41
-27
89
11
18
-53
-10
0
0
0
0
0
-47
-19
33
-16
-50
-17
51
55
7
-53
2
0
0
0
0
0
0
113
62
-51
93
-42
79
-159
38
141
21
-2
0
0
0
0
0
0
5
-74
-5
-50
-24
-55
23
85
47
-17
5
0
0
0
0
0
0
2
-21
31
91
-93
42
19
-51
39
30
0
0
0
0
0
0
0
0
-189
44
12
161
-34
5
10
3
-2
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
15
20
-24
-81
47
-70
26
0
3
71
0
0
0
0
0
0
0
111
14
41
-56
-41
-20
0
23
0
-219
-14
0
0
0
0
0
0
65
-36
62
106
-97
147
-194
-33
-180
72
-1
0
0
0
0
0
0
-133
-21
44
-130
40
20
-149
-97
-43
-21
-3
0
0
0
0
0
0
164
-89
-10
37
3
-36
65
29
68
14
0
0
0
0
0
0
0
-27
-36
65
-61
-68
124
110
-62
-26
-45
0
0
0
0
0
0
0
83
-169
50
48
-19
-12
-19
-5
-12
0
0
0
0
0
0
0
0
1
-15
49
16
19
-1
4
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
29
38
-151
-65
4
28
0
4
0
8
0
0
0
0
0
0
0
-29
23
9
2
-48
0
7
0
-7
22
0
0
0
0
0
0
0
68
-41
-5
32
-61
46
2
-32
0
-27
0
0
0
0
0
0
0
-13
38
-4
-57
145
-32
13
-93
-4
-23
0
0
0
0
0
0
0
-14
42
12
87
39
-44
-1
-36
0
-24
0
0
0
0
0
0
0
6
122
62
-6
36
-67
10
0
0
8
0
0
0
0
0
0
0
0
0
9
-3
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-24
20
0
0
13
0
0
0
0
0
0
0
0
0
1
66
0
51
0
4
0
-38
0
0
0
0
0
0
0
0
0
0
18
19
4
13
10
-23
-1
-3
0
0
0
0
0
0
0
0
0
15
-4
-12
70
14
-7
1
0
-2
0
0
0
0
0
0
0
0
16
13
-2
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-6
0
9
-8
-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
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
0
50
-3
0
0
0
0
0
0
0
0
0
0
0
26
119
-7
97
4
-14
-2
0
5
0
0
0
0
0
0
0
0
-45
1
36
-33
87
-72
26
6
-66
0
0
0
0
0
0
0
0
0
24
-24
103
58
18
0
-5
56
0
0
0
0
0
0
0
0
-1
-3
-73
-44
119
-17
-2
0
69
0
0
0
0
0
0
0
0
-4
-15
11
-42
52
8
2
0
3
0
0
0
0
0
0
0
0
0
0
48
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
0
15
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-52
-8
24
75
-143
5
0
1
0
0
0
0
0
0
0
-8
78
54
-69
13
-72
31
0
9
0
0
0
0
0
0
0
0
-3
-45
-59
-51
17
-2
23
21
103
-111
0
0
0
0
0
0
0
-1
-14
-106
57
68
19
30
18
-71
79
0
0
0
0
0
0
0
0
-57
49
-92
-110
-65
56
53
-5
108
0
0
0
0
0
0
0
0
-109
-42
28
-33
-66
-126
-48
19
88
0
0
0
0
0
0
0
0
7
4
41
-32
78
16
16
14
8
0
0
0
0
0
0
0
0
0
9
0
0
5
15
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
86
-5
11
128
29
-4
2
0
-4
0
0
0
0
0
0
0
0
118
1
108
-91
43
-91
0
0
0
-25
0
0
0
0
0
0
0
28
39
22
-34
17
-8
-72
-111
5
-38
0
0
0
0
0
0
0
28
-1
-104
12
23
-6
14
-57
-26
1
0
0
0
0
0
0
0
0
36
6
-97
-97
134
33
37
-9
5
0
0
0
0
0
0
0
-3
6
29
-94
-159
14
7
-3
23
-2
0
0
0
0
0
0
0
14
-30
-16
120
-2
3
0
0
-12
0
0
0
0
0
0
0
0
0
9
-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
-1
-55
101
-55
-36
13
6
1
0
0
0
0
0
0
0
0
0
17
-33
-28
49
38
-68
-21
0
9
0
-36
-15
0
0
0
0
0
71
56
-105
130
71
-58
-19
15
-37
28
-26
3
0
0
0
0
0
-53
58
67
42
-36
61
21
-2
36
-29
0
3
0
0
0
0
0
-6
52
4
5
122
-52
147
76
-41
4
-4
0
0
0
0
0
0
0
23
68
-50
69
-7
72
15
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-5
-23
6
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
5
-31
95
-17
-38
103
25
-7
0
0
0
0
0
0
0
0
0
-56
150
53
94
-54
40
-134
0
34
0
1
-1
0
0
0
0
0
-14
-69
-57
-63
-52
143
-93
-47
24
25
-5
-15
0
0
0
0
0
31
-48
69
3
65
-97
23
-142
60
-25
0
-4
0
0
0
0
0
29
-120
-36
-56
-3
-1
94
-12
3
50
0
-3
0
0
0
0
0
5
67
-25
-66
-40
-42
0
75
90
44
0
0
0
0
0
0
0
5
0
-9
14
-119
1
38
-2
-2
-12
0
0
0
0
0
0
0
0
1
3
27
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
37
92
-58
-73
-93
91
10
-15
0
-4
0
0
0
0
0
0
0
-29
-54
38
-3
12
77
-12
0
63
0
-16
-9
0
0
0
0
0
27
-75
55
-35
83
18
26
-52
30
-61
-5
0
0
0
0
0
0
73
-5
149
44
144
0
66
-18
-5
6
-3
0
0
0
0
0
0
112
63
-3
191
-114
28
-19
-70
-8
89
0
0
0
0
0
0
0
-1
-4
11
64
-64
80
81
-37
-79
-49
1
0
0
0
0
0
0
5
-1
90
44
-41
0
19
14
-6
1
0
0
0
0
0
0
0
0
3
-52
67
-16
21
0
0
-3
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
11
-27
80
38
46
-35
28
10
0
-9
3
0
0
0
0
0
0
-8
69
15
20
-70
-138
-19
0
-94
0
-38
0
0
0
0
0
0
36
27
-24
10
-12
62
-57
211
-46
-11
17
17
0
0
0
0
0
8
18
-35
-44
8
53
-59
-31
-52
94
0
0
0
0
0
0
0
34
64
-26
57
10
-89
82
52
11
56
0
0
0
0
0
0
0
8
-90
-43
82
22
79
-31
-4
92
-52
0
0
0
0
0
0
0
0
-1
24
-14
-24
-57
7
-42
-33
-5
0
0
0
0
0
0
0
0
-10
5
-57
5
6
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
147
89
175
51
-130
103
101
28
0
-2
17
0
0
0
0
0
0
-26
109
87
-12
-34
-104
119
0
95
0
-17
0
0
0
0
0
0
74
72
109
80
-49
26
-64
74
151
112
40
-9
0
0
0
0
0
36
34
-78
40
30
16
69
-107
94
6
0
1
0
0
0
0
0
54
-43
59
24
12
116
59
0
57
65
5
0
0
0
0
0
0
-7
102
29
-39
-64
-14
-186
-11
-158
-12
0
0
0
0
0
0
0
20
64
7
-12
12
25
-7
15
-40
-24
0
0
0
0
0
0
0
0
-17
0
53
103
-76
-10
-2
-45
-11
0
0
0
0
0
0
0
0
-31
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
46
70
26
-113
94
60
-31
43
0
-3
3
0
0
0
0
0
0
61
-39
110
47
4
-83
-27
0
-10
0
-24
0
0
0
0
0
0
-17
-23
84
-12
32
24
-25
-5
-135
-29
39
-4
0
0
0
0
0
34
18
84
-55
108
30
53
97
-125
-12
-1
0
0
0
0
0
0
37
-71
-93
-8
-11
75
17
113
23
10
13
0
0
0
0
0
0
-3
-133
1
-7
-2
-27
-110
57
22
-99
0
0
0
0
0
0
0
-19
18
-65
-47
80
4
-12
41
-24
95
0
0
0
0
0
0
0
0
-43
6
-10
-51
64
48
9
1
-10
0
0
0
0
0
0
0
0
0
-15
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
30
4
13
-33
-28
41
83
0
-10
33
0
0
0
0
0
0
0
76
56
100
68
71
-40
0
35
0
67
0
0
0
0
0
0
0
-49
50
144
15
-124
-46
-7
13
45
-41
-9
0
0
0
0
0
0
5
66
-49
25
-3
16
-26
41
-6
21
0
0
0
0
0
0
0
93
12
5
-100
-20
84
-32
-25
15
3
0
0
0
0
0
0
0
1
-58
-50
-29
-41
152
-8
117
-20
-54
0
0
0
0
0
0
0
-1
54
-80
-23
-39
-100
17
39
22
0
0
0
0
0
0
0
0
0
-98
68
79
28
6
2
-10
0
3
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
-16
-18
33
84
1
47
0
8
4
4
0
0
0
0
0
0
0
81
30
60
99
-6
0
0
0
23
-25
0
0
0
0
0
0
0
-22
5
88
22
-52
-53
-32
11
-8
1
0
0
0
0
0
0
0
7
33
16
42
68
26
-4
22
0
-15
0
0
0
0
0
0
0
10
-9
-6
33
105
96
-10
42
3
-3
0
0
0
0
0
0
0
-20
-20
-6
-106
-15
-4
3
5
8
0
0
0
0
0
0
0
0
0
14
-19
-56
-6
9
0
3
0
0
0
0
0
0
0
0
0
0
8
20
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
-13
-7
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
37
7
48
0
-10
0
0
6
-11
0
0
0
0
0
0
0
1
28
26
-23
-22
4
10
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-7
0
-4
0
6
0
8
0
0
0
0
0
0
0
0
0
-74
-4
-22
12
0
1
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
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
1
-3
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
106
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
33
-15
-119
-38
13
-26
0
0
0
0
0
0
0
0
0
0
-8
3
-40
-7
30
-17
-3
-8
1
0
0
0
0
0
0
0
0
42
-6
39
68
-88
-28
22
0
-31
0
0
0
0
0
0
0
0
0
12
26
-75
-5
-2
4
3
-5
0
0
0
0
0
0
0
0
-2
0
-72
-6
12
39
-5
0
0
0
0
0
0
0
0
0
0
0
4
7
33
19
-26
0
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
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
-1
-36
-63
8
7
49
28
0
0
50
0
0
0
0
0
0
0
-5
103
84
-20
-19
-26
-49
0
9
0
0
0
0
0
0
0
0
2
-85
-113
35
-62
22
11
9
39
71
0
0
0
0
0
0
0
2
9
-3
-45
-102
-70
-120
100
49
1
0
0
0
0
0
0
0
2
0
49
11
-86
-3
-20
50
-64
61
0
0
0
0
0
0
0
0
-2
58
53
11
-97
-19
35
-37
12
0
0
0
0
0
0
0
0
-7
-83
-81
118
-67
9
21
27
-20
0
0
0
0
0
0
0
0
3
-10
117
15
77
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
48
40
82
-13
129
0
0
0
0
0
0
0
0
0
0
0
0
55
11
-32
54
69
15
0
-3
0
-20
0
0
0
0
0
0
0
31
17
11
-2
-38
-17
-24
76
89
48
0
0
0
0
0
0
0
-4
74
-33
31
-59
-12
-32
-5
14
1
0
0
0
0
0
0
0
27
0
-28
-80
-3
53
166
9
-4
-3
0
0
0
0
0
0
0
0
-66
12
-17
79
43
0
-22
48
5
0
0
0
0
0
0
0
1
-17
80
-2
65
-2
34
19
-16
0
0
0
0
0
0
0
0
13
3
38
18
-13
-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
79
19
-34
0
144
97
6
1
0
0
-4
0
0
0
0
0
0
-72
35
77
-158
-100
-5
-13
0
-1
0
-22
0
0
0
0
0
0
35
2
40
142
36
-108
-19
-21
-71
-14
-12
-3
0
0
0
0
0
-6
-80
33
3
-28
-35
105
-59
-152
-12
-1
0
0
0
0
0
0
0
132
69
0
29
75
1
-20
24
0
1
0
0
0
0
0
0
0
179
-1
-6
8
0
2
69
9
-1
0
0
0
0
0
0
0
-3
0
-25
1
-25
0
-9
0
-1
0
0
0
0
0
0
0
0
0
41
0
-1
25
-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
-16
125
-41
-40
-56
-51
-41
-5
0
-1
-3
0
0
0
0
0
0
17
65
55
34
62
34
22
0
10
0
11
-3
0
0
0
0
0
-20
-4
-9
87
49
29
-75
43
25
117
0
-7
0
0
0
0
0
49
-4
118
0
81
130
-80
7
63
59
1
0
0
0
0
0
0
43
-31
11
-10
0
80
-9
-82
36
-61
0
0
0
0
0
0
0
-5
-50
-88
-263
16
-36
-39
32
12
44
0
0
0
0
0
0
0
14
5
-39
67
14
-33
-13
-12
13
4
0
0
0
0
0
0
0
0
0
1
75
11
25
0
0
0
-2
0
0
0
0
0
0
0
0
4
18
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
64
86
-28
12
-100
-69
128
1
0
0
0
0
0
0
0
0
0
27
17
124
-41
28
121
-66
0
-108
0
-9
0
0
0
0
0
0
68
49
-63
9
-5
-165
-25
-19
-29
-78
13
0
0
0
0
0
0
-18
41
-22
-35
-64
-107
116
59
50
2
-1
0
0
0
0
0
0
-63
3
19
-17
40
0
137
-25
23
1
5
0
0
0
0
0
0
-8
38
22
-8
-159
29
-34
-59
20
-5
0
0
0
0
0
0
0
1
-8
-95
-34
-50
44
-20
-8
14
-1
0
0
0
0
0
0
0
0
-146
-1
-57
1
-39
0
8
-1
-1
0
0
0
0
0
0
0
-4
0
-25
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-128
19
38
-24
59
-37
-11
0
-10
2
0
0
0
0
0
0
-30
9
37
-38
-41
18
-52
0
9
0
4
0
0
0
0
0
0
92
175
79
-34
69
-21
-39
96
45
35
-3
-1
0
0
0
0
0
73
142
80
16
-6
126
33
162
76
-26
12
0
0
0
0
0
0
-14
97
18
-17
2
71
0
-3
7
-12
0
0
0
0
0
0
0
-23
19
30
104
-52
-1
-46
-76
9
49
0
0
0
0
0
0
0
-4
-12
35
-88
-49
-3
-30
-94
-31
2
0
0
0
0
0
0
0
0
-21
5
6
-34
7
1
0
-15
0
0
0
0
0
0
0
0
0
-5
-20
0
17
0
0
0
0
0
0
0
0
0
0
0
0
36
-15
22
-13
62
-5
83
5
0
-1
-20
0
0
0
0
0
0
100
68
69
37
-29
37
111
0
136
0
-16
0
0
0
0
0
0
13
43
-27
40
-15
85
197
9
75
30
-31
-5
0
0
0
0
0
65
-3
80
37
84
-45
194
-76
68
58
-12
-4
1
0
0
0
0
-18
-30
69
68
34
34
-46
0
-94
-6
0
0
0
0
0
0
0
-19
-26
38
-6
-81
40
20
25
56
-35
0
0
0
0
0
0
0
-54
29
-94
-45
-18
14
-75
1
-57
-7
0
0
0
0
0
0
0
0
-14
-13
-26
5
-16
-1
0
0
-12
0
0
0
0
0
0
0
0
0
8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-42
7
49
9
6
-67
24
20
0
-5
-8
0
0
0
0
0
0
72
53
47
-5
-10
24
14
0
34
0
73
-13
0
0
0
0
0
-38
57
49
71
3
-5
151
200
-24
4
-3
-6
0
0
0
0
0
-76
-24
15
45
50
-10
62
119
-23
31
23
11
0
0
0
0
0
22
118
84
53
36
185
79
53
0
-27
-8
0
0
0
0
0
0
6
-76
35
4
8
-77
177
-18
-12
-104
0
0
0
0
0
0
0
-1
-54
17
-132
-38
46
-4
-138
-2
-23
0
0
0
0
0
0
0
0
-26
25
1
31
82
-15
-11
-2
33
0
0
0
0
0
0
0
0
1
-24
1
9
16
0
0
0
0
0
0
0
0
0
0
0
0
-41
-71
53
-62
-71
56
2
0
0
78
8
0
0
0
0
0
0
101
15
69
-26
-112
8
0
56
0
135
11
0
0
0
0
0
0
-81
31
-13
71
33
-33
35
65
44
32
-2
0
0
0
0
0
0
-40
-34
8
-3
-164
14
13
83
178
65
-18
0
0
0
0
0
0
70
-5
38
-52
-2
44
33
63
0
29
0
0
0
0
0
0
0
51
-36
-2
-74
40
28
-63
96
11
-12
0
0
0
0
0
0
0
123
-37
58
-22
-7
55
-55
56
2
4
0
0
0
0
0
0
0
-1
-26
18
-30
100
0
-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
0
0
-1
-41
9
69
-26
26
0
2
5
-14
0
0
0
0
0
0
0
-12
-90
17
-32
12
0
6
0
-27
-17
0
0
0
0
0
0
0
6
40
34
61
-28
74
7
26
0
17
0
0
0
0
0
0
0
-23
-51
29
60
-25
-20
-94
37
-53
-34
0
0
0
0
0
0
0
-1
22
-16
-44
-9
3
0
-2
0
-6
0
0
0
0
0
0
0
-20
23
63
-47
17
1
18
5
0
0
0
0
0
0
0
0
0
0
-8
-3
15
0
-15
15
1
0
0
0
0
0
0
0
0
0
0
16
9
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
-11
0
-51
4
0
0
-11
1
0
0
0
0
0
0
0
0
-5
-51
4
-18
0
1
0
-18
2
2
0
0
0
0
0
0
0
0
-15
19
-17
-8
-4
3
0
2
-4
0
0
0
0
0
0
0
0
-6
-42
-2
-13
-2
11
0
0
-4
0
0
0
0
0
0
0
0
2
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
6
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
-2
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
6
-2
-1
0
5
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-9
-80
0
-7
-1
0
11
0
0
0
0
0
0
0
0
-45
-4
35
21
18
35
-2
0
3
0
0
0
0
0
0
0
0
-4
-94
-19
5
83
-138
5
0
-35
0
0
0
0
0
0
0
0
76
0
22
-65
-25
-8
-19
0
-9
0
0
0
0
0
0
0
0
0
66
-16
-34
53
-28
-19
9
2
0
0
0
0
0
0
0
0
0
0
76
34
46
-8
0
1
7
0
0
0
0
0
0
0
0
1
-14
0
-15
15
-33
-1
-4
-2
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
18
-28
79
2
0
-18
0
0
0
0
0
0
0
0
0
4
-36
12
30
112
-79
-64
0
-2
0
0
0
0
0
0
0
0
0
60
-171
-63
3
-5
-94
-21
-25
69
0
0
0
0
0
0
0
0
9
39
-39
-100
81
-39
-27
-25
-21
0
0
0
0
0
0
0
0
53
10
-114
-49
-30
14
-20
3
-18
0
0
0
0
0
0
0
-12
0
119
-15
46
-97
24
10
5
-7
0
0
0
0
0
0
0
0
-8
16
45
90
95
-66
-17
-4
-1
0
0
0
0
0
0
0
0
-3
16
67
-14
8
-4
0
0
1
0
0
0
0
0
0
0
0
4
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
48
-122
50
-132
-3
0
0
0
0
0
0
0
0
0
0
0
85
16
-12
184
-13
-67
0
0
0
26
0
0
0
0
0
0
0
40
70
15
13
-4
-3
14
146
27
53
0
0
0
0
0
0
0
51
-80
-17
24
-1
-155
-52
-6
-114
-43
0
0
0
0
0
0
0
2
-33
-1
15
52
88
34
-67
18
0
0
0
0
0
0
0
0
-17
0
117
75
-78
2
46
5
51
-8
0
0
0
0
0
0
0
-2
29
0
118
73
2
-37
1
39
0
0
0
0
0
0
0
0
0
-1
39
0
-110
8
0
0
0
0
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
49
-58
-51
-3
8
5
0
-5
-13
0
0
0
0
0
0
7
-165
0
133
76
-114
57
0
10
0
-68
0
0
0
0
0
0
-2
25
8
-44
-87
23
1
30
80
42
-51
2
0
0
0
0
0
15
-3
143
32
5
-97
-95
74
22
-3
5
0
0
0
0
0
0
85
-56
-12
-57
80
136
35
-52
-65
-8
0
0
0
0
0
0
0
0
39
-13
0
65
30
27
3
0
0
0
12
0
0
0
0
0
-2
2
-1
-21
-1
-11
-33
6
2
0
0
0
0
0
0
0
0
0
0
-8
1
5
0
-15
0
3
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
-2
81
-21
20
33
-10
91
5
0
0
0
0
0
0
0
0
0
-2
44
100
105
-14
137
-61
0
-5
0
0
-3
0
0
0
0
0
-52
-41
-44
21
125
62
86
115
-18
39
0
-3
0
0
0
0
0
9
-9
-87
18
50
98
-117
-57
14
-52
0
4
0
0
0
0
0
52
-16
4
-16
-3
125
-30
66
-68
-67
-7
0
0
0
0
0
0
1
-23
27
-46
0
-145
-16
1
0
-2
0
0
0
0
0
0
0
2
111
36
-12
-60
-3
12
-75
28
2
0
0
0
0
0
0
0
0
9
0
-1
4
-11
0
5
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
7
53
33
-26
38
-78
-28
0
-5
1
0
0
0
0
0
0
17
9
93
31
33
-31
111
0
48
0
2
0
0
0
0
0
0
87
109
17
59
113
-68
-111
-33
15
-64
5
0
0
0
0
0
0
34
128
42
-18
19
134
-8
-23
-10
-41
-9
0
0
0
0
0
0
43
5
-46
49
122
65
-32
-94
-9
-138
31
0
0
0
0
0
0
2
2
63
26
80
0
-4
6
5
9
6
0
0
0
0
0
0
33
103
12
111
2
-2
-10
-1
10
-5
0
0
0
0
0
0
0
0
-90
31
-11
-12
6
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
46
53
-57
0
5
29
-38
0
0
8
0
0
0
0
0
0
42
81
-28
60
-22
51
51
0
4
0
1
0
0
0
0
0
0
12
42
20
13
110
-17
16
-40
148
-48
1
7
0
0
0
0
0
-25
75
-19
85
81
45
-61
13
13
50
2
7
0
0
0
0
0
55
29
85
53
41
67
-78
48
42
-149
1
-1
0
0
0
0
0
0
-19
34
12
-34
-34
0
-5
35
0
4
0
0
0
0
0
0
4
-38
-18
62
-24
22
34
-57
145
-24
0
0
0
0
0
0
0
0
36
43
14
-14
-9
-5
-9
-3
19
0
0
0
0
0
0
0
0
0
18
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-99
-88
76
9
-20
62
52
-32
0
-24
0
0
0
0
0
0
0
52
53
-8
39
5
64
-44
0
-41
0
6
-4
0
0
0
0
0
115
-6
60
-48
32
-59
44
195
53
22
83
-5
0
0
0
0
0
19
41
42
39
63
0
104
3
14
-69
-1
0
0
0
0
0
0
37
41
35
-27
-63
138
140
109
45
99
80
1
0
0
0
0
0
-6
1
133
106
29
229
-23
0
-20
3
0
0
0
0
0
0
0
-40
55
13
-20
-13
-42
6
5
-4
-18
0
0
0
0
0
0
0
-1
-91
59
-54
71
-3
-13
4
-4
-6
0
0
0
0
0
0
0
0
0
16
85
-1
0
0
0
0
0
0
0
0
0
0
0
0
32
25
-19
-18
16
50
95
23
0
41
16
0
0
0
0
0
0
-7
-37
-8
36
43
-21
44
0
-23
0
-24
-3
0
0
0
0
0
50
122
-1
35
70
25
196
2
193
-19
-7
8
0
0
0
0
0
-34
38
107
5
57
74
-53
-69
89
-42
-32
1
0
0
0
0
0
-21
-35
31
103
-2
-10
79
95
68
55
-34
0
0
0
0
0
0
-39
10
-8
3
-16
154
128
-39
0
-19
0
0
0
0
0
0
0
-2
48
38
-13
116
30
-45
3
0
-63
0
0
0
0
0
0
0
0
25
25
13
-54
-54
45
4
0
-50
0
0
0
0
0
0
0
0
56
-17
-3
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-66
1
14
-7
99
55
0
2
145
0
0
0
0
0
0
0
-45
69
17
81
81
-73
0
-13
0
3
0
0
0
0
0
0
0
-6
-108
-59
62
81
13
-46
-28
85
-57
-3
0
0
0
0
0
0
49
92
20
40
62
74
110
-63
-30
49
0
0
0
0
0
0
0
-19
46
73
-7
39
-21
-30
-132
118
15
0
0
0
0
0
0
0
-21
73
36
62
46
51
43
7
0
-15
0
0
0
0
0
0
0
-5
67
1
2
39
-13
14
30
-5
0
0
0
0
0
0
0
0
0
6
-28
87
47
-8
1
-67
0
0
0
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
-12
-80
85
-49
-20
0
10
14
0
0
0
0
0
0
0
0
-12
47
-33
-97
36
0
14
0
-9
-38
0
0
0
0
0
0
0
-75
110
-24
59
99
-99
-50
-25
10
-31
0
0
0
0
0
0
0
23
-14
2
14
-45
38
24
-39
3
-9
0
0
0
0
0
0
0
-1
54
45
59
168
12
61
3
-9
-33
0
0
0
0
0
0
0
-17
5
94
47
-67
-33
0
5
0
2
0
0
0
0
0
0
0
1
-21
3
55
16
-3
-3
0
0
0
0
0
0
0
0
0
0
3
2
-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
6
0
-2
0
8
0
-3
4
0
-3
0
0
0
0
0
0
0
0
25
-29
-14
0
-2
0
54
6
0
0
0
0
0
0
0
0
0
-1
-3
24
10
83
-26
-12
-28
-8
0
0
0
0
0
0
0
0
-12
-24
-8
24
4
-13
3
0
0
0
0
0
0
0
0
0
0
0
-3
11
3
2
-4
0
0
3
0
0
0
0
0
0
0
4
0
2
-3
0
13
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-8
0
-3
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-25
32
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-64
3
6
10
5
0
-19
28
0
0
0
0
0
0
0
0
-22
-4
0
-45
-86
36
5
8
10
0
0
0
0
0
0
0
0
22
0
5
-44
-4
-44
-22
-1
1
0
0
0
0
0
0
0
0
0
0
-89
0
45
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
13
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
9
53
-3
13
16
-17
0
0
0
0
0
0
0
0
0
0
8
-18
-12
-22
-42
180
6
0
0
0
0
0
0
0
0
0
0
-3
39
104
-2
-149
15
16
0
-26
66
0
0
0
0
0
0
0
0
73
39
-3
-2
-90
191
-47
2
24
0
0
0
0
0
0
0
6
33
-41
-9
22
-19
9
89
-52
57
0
0
0
0
0
0
0
0
-38
0
-15
11
-29
89
0
-3
-18
0
0
0
0
0
0
0
15
0
3
17
90
6
100
7
7
0
0
0
0
0
0
0
0
0
19
0
39
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
22
-25
96
0
-5
0
0
0
0
0
0
0
0
0
0
0
-44
43
150
54
75
8
0
4
0
5
0
0
0
0
0
0
0
-37
42
88
-61
24
23
0
21
-55
48
0
0
0
0
0
0
0
-47
-86
27
33
36
-83
20
-8
-4
-9
0
0
0
0
0
0
0
12
14
45
-80
62
10
100
-8
5
2
0
0
0
0
0
0
0
0
78
0
-108
14
22
61
1
25
0
0
0
0
0
0
0
0
31
0
65
21
19
64
-16
8
0
0
0
0
0
0
0
0
0
0
-5
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
-18
14
-31
-8
2
-3
0
0
0
0
0
0
0
0
0
-11
139
0
37
-15
38
23
0
0
0
-17
0
0
0
0
0
0
-6
-3
41
6
-70
-12
0
3
-9
0
13
0
0
0
0
0
0
0
34
-25
-6
19
42
-38
-8
17
-3
0
0
0
0
0
0
0
-5
0
45
-10
12
7
-49
97
-18
12
0
0
0
0
0
0
0
-4
29
0
20
0
-96
2
45
-12
3
0
0
0
0
0
0
0
5
16
79
0
-16
7
-24
-2
1
0
0
0
0
0
0
0
0
0
-1
2
-3
0
-7
0
-7
-3
0
0
0
0
0
0
0
0
0
0
-7
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
115
-8
51
3
-1
-1
0
0
0
0
0
0
0
0
0
0
-27
8
96
-88
20
-19
0
9
0
0
0
0
0
0
0
0
1
6
-32
-5
-23
-42
77
1
-76
12
0
0
0
0
0
0
0
5
72
-102
-6
63
-29
27
2
-19
-16
0
0
0
0
0
0
0
-45
-35
-18
35
-7
-32
30
-17
85
36
0
0
0
0
0
0
0
-6
55
-69
-14
58
74
29
17
-70
-167
0
0
0
0
0
0
0
0
31
108
-27
0
-10
-2
-11
-6
-6
0
0
0
0
0
0
0
0
-9
18
-2
-12
-12
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
7
-113
47
-17
32
19
9
0
0
0
0
0
0
0
0
0
14
-15
16
-18
-22
40
11
0
1
0
0
0
0
0
0
0
0
1
13
4
63
94
-23
67
31
-85
-77
-10
0
0
0
0
0
0
0
51
-11
-110
-58
153
65
15
-54
0
0
0
0
0
0
0
0
-5
52
-45
-54
-41
12
-54
-67
-15
108
-3
0
0
0
0
0
0
-40
-124
-35
-1
0
9
38
14
10
-101
-18
0
0
0
0
0
0
-30
-7
28
18
25
0
-1
-5
0
0
0
0
0
0
0
0
0
0
56
38
-87
-1
-10
21
2
0
-10
0
0
0
0
0
0
0
-3
0
19
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-50
96
6
-25
-57
25
0
0
0
0
0
0
0
0
0
-4
-96
99
8
69
19
26
0
-40
0
0
5
0
0
0
0
0
1
-24
-22
26
-23
2
-9
-170
35
-1
1
12
0
0
0
0
0
-3
25
68
40
-40
73
5
26
66
-2
0
0
0
0
0
0
0
-66
-37
-1
55
112
103
93
-75
-20
47
0
0
0
0
0
0
0
7
-73
118
-24
-61
88
49
30
65
18
-5
0
0
0
0
0
0
0
25
-66
23
47
130
0
-1
4
0
0
0
0
0
0
0
0
0
-12
38
-57
-34
-41
3
-6
8
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
14
42
27
11
112
25
-13
10
0
0
3
0
0
0
0
0
0
29
47
22
18
91
-93
25
0
99
0
11
0
0
0
0
0
0
83
64
-31
25
20
82
147
-43
82
-14
60
-2
0
0
0
0
0
23
0
13
18
140
18
35
5
44
-14
-11
0
0
0
0
0
0
-27
-4
25
79
14
-20
133
-40
39
59
52
0
0
0
0
0
0
-71
16
-40
37
-2
103
76
13
7
177
0
0
0
0
0
0
0
5
26
-2
6
15
12
1
0
-47
-1
0
0
0
0
0
0
0
0
73
59
98
-3
13
16
0
0
-11
0
0
0
0
0
0
0
0
10
17
7
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-24
42
19
5
141
-72
1
0
7
-7
0
0
0
0
0
0
4
-26
-4
37
-24
21
51
0
-98
0
45
0
0
0
0
0
0
17
34
-29
95
5
51
100
-31
10
-12
-29
-3
0
0
0
0
0
-27
100
70
25
-6
50
21
-40
-47
-62
-25
-3
0
0
0
0
0
-4
44
32
100
-12
-4
34
19
29
8
44
0
0
0
0
0
0
20
32
5
38
29
35
10
16
18
4
2
0
0
0
0
0
0
-1
56
-77
88
-21
86
-51
76
0
3
0
0
0
0
0
0
0
0
-1
-32
51
-96
12
10
36
4
-120
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
76
-146
38
-38
10
198
-33
0
2
-37
-2
0
0
0
0
0
0
-42
93
7
22
11
27
0
33
0
56
7
0
0
0
0
0
0
2
-11
51
147
-45
57
19
107
119
73
0
0
0
0
0
0
0
-9
50
51
56
11
-86
96
92
105
21
-2
0
0
0
0
0
0
-48
21
27
-29
35
-6
49
-9
3
-53
-1
0
0
0
0
0
0
19
57
-6
41
-20
21
-34
2
101
-100
0
0
0
0
0
0
0
-40
81
-2
52
-86
20
12
59
0
-8
0
0
0
0
0
0
0
0
52
48
26
104
53
-17
12
0
0
0
0
0
0
0
0
0
0
0
2
1
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
-66
0
11
0
-7
-30
-7
0
0
0
0
0
0
0
9
4
-34
-15
20
0
-12
0
11
2
0
0
0
0
0
0
0
0
53
-70
119
-59
11
-11
-6
0
18
0
0
0
0
0
0
0
-17
88
-25
17
61
44
-5
13
15
56
0
0
0
0
0
0
0
0
1
-57
32
22
-3
-4
91
0
71
0
0
0
0
0
0
0
9
-5
-55
65
24
-52
-34
12
0
-16
0
0
0
0
0
0
0
-20
-23
-62
-17
52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
39
24
-14
0
-8
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
-1
0
1
-4
0
0
0
0
0
0
0
0
3
-6
5
6
2
10
8
-14
0
0
0
0
0
0
0
0
0
3
55
21
40
14
5
6
6
0
1
0
0
0
0
0
0
0
-2
-11
-69
6
-18
-7
14
0
0
0
0
0
0
0
0
0
0
0
3
-19
-12
8
-27
0
-9
0
0
0
0
0
0
0
0
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
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-14
0
-6
-3
0
0
-6
0
0
0
0
0
0
0
0
0
-60
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-30
-14
-10
-2
-2
0
-5
0
0
0
0
0
0
0
0
-7
21
0
-85
0
62
-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
32
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
-135
11
5
0
0
0
0
0
0
0
0
0
0
0
22
1
53
-24
1
0
-2
0
0
-33
0
0
0
0
0
0
0
0
87
-20
51
-41
3
-38
0
-12
-2
0
0
0
0
0
0
0
-42
0
4
126
-8
-45
4
21
0
-1
0
0
0
0
0
0
0
0
20
-1
0
-68
7
-9
6
-18
0
0
0
0
0
0
0
0
0
0
19
-13
27
-2
11
-10
0
-1
0
0
0
0
0
0
0
0
0
6
-12
0
-5
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
145
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
79
25
21
-13
0
7
0
0
0
0
0
0
0
0
-2
2
-11
56
106
-23
18
0
0
17
0
0
0
0
0
0
0
0
-1
0
44
-3
22
15
0
0
13
0
0
0
0
0
0
0
0
0
1
-49
44
43
38
0
1
-55
0
0
0
0
0
0
0
0
-1
0
-2
6
37
3
0
0
19
0
0
0
0
0
0
0
0
0
2
0
9
0
10
5
0
0
0
0
0
0
0
0
0
0
-9
0
15
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
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-33
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-64
-13
-76
25
0
3
0
0
1
0
0
0
0
0
0
0
-17
12
45
1
-64
0
0
-14
0
0
0
0
0
0
0
0
1
-32
50
-5
-35
-12
2
-28
-16
0
0
0
0
0
0
0
0
0
11
-11
-96
0
-19
-4
-36
-1
0
-7
0
0
0
0
0
0
1
1
4
-2
22
1
0
0
-41
0
0
0
0
0
0
0
0
0
41
-12
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
-5
0
66
1
1
0
0
0
0
0
0
0
0
0
0
0
-38
-6
47
-2
-23
0
0
-1
0
0
0
0
0
0
0
0
0
4
3
38
116
7
-8
0
1
8
0
0
0
0
0
0
0
0
38
-18
-6
-28
3
2
0
-57
-11
0
0
0
0
0
0
0
-29
0
83
-69
-40
-3
-47
-4
0
-2
0
0
0
0
0
0
0
1
16
-4
22
45
-67
22
0
-4
-24
0
0
0
0
0
0
0
-8
-2
-80
0
0
2
6
10
1
0
0
0
0
0
0
0
0
0
4
-30
27
0
16
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
-17
23
-15
36
-11
-2
0
0
0
0
0
0
0
0
0
0
98
1
6
42
117
-57
0
0
0
0
0
0
0
0
0
0
-30
0
62
14
19
-6
9
0
23
-84
5
0
0
0
0
0
0
0
39
-17
7
-12
-55
-23
4
6
-16
-24
0
0
0
0
0
0
-15
24
102
22
-26
-52
-18
-113
-157
-2
0
0
0
0
0
0
0
0
-4
-63
93
9
36
12
31
-12
8
0
0
0
0
0
0
0
-30
34
16
16
24
5
7
11
21
0
0
0
0
0
0
0
0
0
-125
-7
-46
-50
0
0
-3
0
0
0
0
0
0
0
0
0
-6
0
-71
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
62
-7
4
31
-7
0
0
0
0
0
0
0
0
0
0
30
-24
201
-9
10
25
0
0
0
0
0
0
0
0
0
0
1
0
87
27
-6
3
21
0
11
-68
-4
0
0
0
0
0
0
3
-13
16
19
-81
5
-11
23
92
-153
-19
0
0
0
0
0
0
4
18
175
136
27
28
-59
118
49
-65
0
0
0
0
0
0
0
0
-118
117
58
65
-114
17
0
-46
7
0
0
0
0
0
0
0
-3
17
84
-64
12
-40
4
72
45
-50
-1
0
0
0
0
0
0
0
-3
-35
99
45
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
27
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-18
50
63
28
71
8
0
0
0
0
0
0
0
0
0
6
14
-7
14
37
-74
24
0
-1
0
0
0
0
0
0
0
0
-13
-2
68
-10
37
25
24
2
13
-80
-5
0
0
0
0
0
0
-4
-15
18
31
11
44
-39
-61
0
-27
2
0
0
0
0
0
0
37
60
97
33
63
-33
-32
0
-68
-28
-35
0
0
0
0
0
0
33
25
74
8
15
-14
9
0
-103
38
-3
0
0
0
0
0
0
19
-17
14
61
1
29
74
-6
-42
5
0
0
0
0
0
0
0
0
69
-41
144
12
-16
-2
0
0
1
0
0
0
0
0
0
0
6
-20
48
-16
26
93
0
0
-15
0
0
0
0
0
0
0
0
0
-21
33
41
-3
13
29
-26
0
-2
0
0
0
0
0
0
0
0
-78
89
71
111
-77
-62
0
-1
0
3
0
0
0
0
0
0
23
-4
7
153
-6
-69
130
47
8
22
-7
0
0
0
0
0
0
0
38
-56
-34
3
54
87
4
-1
-29
-7
0
0
0
0
0
0
-20
64
-47
82
39
158
29
-42
4
92
0
0
0
0
0
0
0
0
-23
85
35
20
-10
-48
-61
2
83
0
0
0
0
0
0
0
-1
-141
-80
25
-82
115
37
67
7
-6
3
0
0
0
0
0
0
0
30
-41
-40
-42
-6
3
3
0
-2
0
0
0
0
0
0
0
0
4
23
49
64
6
0
-18
0
0
0
0
0
0
0
0
0
0
0
-30
-39
27
-10
60
-33
0
0
9
0
0
0
0
0
0
0
-8
-27
91
-98
67
131
0
0
0
80
0
0
0
0
0
0
0
-37
71
96
46
15
29
18
-59
18
-119
0
0
0
0
0
0
0
-27
114
37
82
30
-45
87
12
-4
-96
0
0
0
0
0
0
0
-7
-67
48
19
32
18
73
-129
59
12
0
0
0
0
0
0
0
67
-42
15
77
-10
28
12
-49
-4
-12
0
0
0
0
0
0
0
-18
-69
5
-21
142
18
-11
33
3
4
0
0
0
0
0
0
0
0
67
-21
21
-13
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-101
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-21
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-66
42
9
0
0
0
0
-7
0
0
0
0
0
0
0
-7
2
73
42
-47
60
4
20
-13
-5
0
0
0
0
0
0
0
-1
-29
11
-41
45
-86
5
-15
-5
-8
0
0
0
0
0
0
0
21
8
-35
-46
-6
-19
-32
9
0
-6
0
0
0
0
0
0
0
-11
114
62
14
4
22
-17
-2
-5
0
0
0
0
0
0
0
0
-1
22
83
30
17
-12
0
0
-3
4
0
0
0
0
0
0
0
0
0
23
-9
2
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
-2
0
0
0
0
-11
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
-13
0
7
-4
0
5
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
-1
-7
-29
37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
15
-1
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
17
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
-17
0
-25
0
0
0
0
0
0
0
0
0
0
0
-8
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-1
0
11
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
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
-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
1
-5
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
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
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
-39
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-22
8
3
24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
18
-4
-7
-8
0
0
0
0
0
0
0
0
0
0
5
0
-14
-3
4
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
9
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
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-25
3
9
5
0
0
5
-3
0
0
0
0
0
0
0
0
-23
0
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
13
5
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-10
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
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
47
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-109
0
-49
0
7
0
0
0
0
0
0
0
0
0
0
0
-7
0
-98
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
116
1
-67
59
0
-12
0
0
0
0
0
0
0
0
27
0
52
0
32
-16
-88
0
0
0
0
0
0
0
0
0
0
0
15
-3
9
-24
6
-64
0
-46
0
0
0
0
0
0
0
0
2
-3
-45
8
-41
61
0
0
-76
0
0
0
0
0
0
0
0
0
39
0
8
0
-1
76
0
-7
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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
45
0
33
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
1
29
0
0
0
-59
0
0
0
0
0
0
0
0
0
5
15
87
-10
-84
-5
0
-12
0
0
0
0
0
0
0
0
33
-11
-74
26
7
14
-6
0
-8
0
0
0
0
0
0
0
0
-1
-29
-34
56
-5
272
1
0
0
0
0
0
0
0
0
0
0
-15
-4
29
-9
-52
-50
0
0
-35
0
0
0
0
0
0
0
0
-17
-3
0
115
5
-7
-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
13
0
0
0
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
1
0
-1
0
-11
0
3
0
-16
0
0
0
0
0
0
0
0
0
23
0
32
0
-7
0
2
-49
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
-19
30
10
16
13
19
0
0
12
0
0
0
0
0
0
0
0
-1
0
4
10
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-11
-7
-29
0
0
0
0
0
0
0
0
0
0
2
14
1
62
5
21
-113
39
0
0
0
0
0
0
0
0
-8
0
0
7
15
67
6
15
-1
0
0
0
0
0
0
0
0
52
0
0
-6
-7
0
-3
0
12
0
0
0
0
0
0
0
0
-7
0
0
9
-2
12
8
12
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
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
-1
0
-2
7
-22
-25
53
-41
0
10
0
0
0
0
0
0
0
0
3
26
-58
66
-102
-56
63
-26
-3
0
0
0
0
0
0
0
-4
-12
-10
-94
56
18
28
-27
65
29
0
0
0
0
0
0
0
0
-39
-8
-6
-11
-26
35
-30
3
6
0
0
0
0
0
0
0
0
-4
0
14
-32
-24
77
29
33
0
0
0
0
0
0
0
0
0
-11
0
-5
-1
7
16
27
86
-11
0
0
0
0
0
0
0
0
0
-2
0
-15
-6
107
7
-2
0
0
0
0
0
0
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
-3
0
-4
21
61
24
133
0
22
-4
0
0
0
0
0
0
0
70
33
0
-34
2
-44
18
-18
-37
1
0
0
0
0
0
0
0
-5
-7
8
-17
23
59
-1
151
-40
0
0
0
0
0
0
0
0
-2
-6
-9
48
24
11
36
16
16
-8
0
0
0
0
0
0
0
-57
0
0
16
0
-38
-105
3
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-26
3
23
-5
0
1
0
0
0
0
0
0
0
0
1
0
-8
-20
9
-37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
3
0
-18
68
0
1
1
0
0
0
0
0
0
28
0
0
1
-1
46
2
174
31
-28
-13
0
0
0
0
0
0
0
0
11
4
20
71
71
-144
48
84
0
0
0
0
0
0
0
1
0
0
22
-3
27
6
20
0
16
0
0
0
0
0
0
0
0
0
0
1
-16
38
1
20
-18
0
0
0
0
0
0
0
0
0
0
-3
0
-1
34
0
-18
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
29
18
-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
8
3
1
1
0
68
73
18
0
1
4
0
0
0
0
0
0
0
7
0
-1
-14
35
18
-26
-48
10
-7
0
0
0
0
0
0
-1
2
2
35
-1
28
-57
149
34
4
1
-2
0
0
0
0
0
0
0
-8
16
16
126
3
-9
15
-11
0
0
0
0
0
0
0
0
-6
0
0
2
-19
13
2
5
-4
0
0
0
0
0
0
0
0
0
0
4
12
14
-30
-26
25
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
52
-8
35
16
-8
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
-5
-1
-18
33
9
0
47
10
0
8
0
0
0
0
0
0
0
-20
0
-2
63
-44
-198
8
89
63
-5
7
0
0
0
0
0
0
-25
39
1
51
-59
-28
-90
-8
-2
12
0
0
0
0
0
0
0
-14
37
5
0
-24
0
56
24
-42
14
-2
0
0
0
0
0
0
12
0
-12
1
-51
-64
10
11
127
1
0
0
0
0
0
0
0
0
2
6
-10
21
22
-1
-37
57
-3
0
0
0
0
0
0
0
15
0
11
-1
43
13
-19
1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-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
26
3
-9
91
17
0
22
0
-31
0
0
0
0
0
0
0
6
80
-4
101
-100
-25
31
57
69
-13
0
0
0
0
0
0
0
29
-57
-25
20
24
33
15
43
-46
-17
10
0
0
0
0
0
0
0
-8
33
13
61
74
86
69
65
34
0
0
0
0
0
0
0
0
1
7
-2
88
72
97
-42
139
38
-6
0
0
0
0
0
0
0
25
21
21
0
126
37
-124
-68
-2
0
0
0
0
0
0
0
0
0
0
-26
-39
-3
22
-52
23
1
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-51
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
38
0
57
-92
-80
-34
46
0
0
-16
9
-1
0
0
0
0
0
-11
69
61
40
28
112
23
15
59
16
-4
-8
0
0
0
0
0
32
24
29
-62
-16
60
37
59
10
0
-2
0
0
0
0
0
0
-39
-10
52
2
-58
-9
-131
-110
-77
30
-5
0
0
0
0
0
0
-13
25
-4
28
3
-25
41
-42
-108
1
-9
0
0
0
0
0
0
0
44
11
-2
56
124
-19
-23
33
-1
-2
0
0
0
0
0
0
0
0
0
-13
0
11
2
3
-10
-1
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
-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
35
96
26
22
-27
-30
-32
0
0
20
0
0
0
0
0
0
0
118
40
-9
-78
-17
-8
58
-49
17
10
0
0
0
0
0
0
0
-14
18
-5
12
-61
27
59
-17
-8
2
0
0
0
0
0
0
0
-5
-33
-68
34
136
-20
-38
-1
40
2
2
0
0
0
0
0
0
67
4
16
14
-23
-101
-56
-1
-22
1
0
0
0
0
0
0
0
89
0
-40
7
27
-1
-40
24
19
0
0
0
0
0
0
0
0
0
0
0
-28
100
14
-24
-18
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
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
13
0
0
35
20
3
0
10
0
-2
0
0
0
0
0
0
0
-19
32
-15
58
8
-77
17
-23
0
0
0
0
0
0
0
0
0
29
18
-6
2
-7
-29
0
-31
1
1
0
0
0
0
0
0
0
42
-4
21
3
-61
-39
60
-3
13
0
0
0
0
0
0
0
0
-1
-1
0
66
10
-3
9
-16
10
-6
0
0
0
0
0
0
0
-9
-1
-7
-9
-8
24
-23
8
-1
0
0
0
0
0
0
0
0
0
0
0
3
-3
-21
-10
18
1
3
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
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
-1
-11
4
1
-5
-18
0
13
0
0
0
0
0
0
0
0
0
7
3
0
0
6
43
0
8
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
-4
-1
-11
4
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-94
37
-38
-64
0
0
0
0
0
0
0
0
0
14
3
-5
-54
-141
-11
39
16
-2
0
0
0
0
0
0
0
0
-19
0
0
10
67
-2
9
-20
-2
0
0
0
0
0
0
0
0
-8
-20
0
-14
8
-80
67
-43
-6
0
0
0
0
0
0
0
0
-10
0
0
11
2
-27
-14
0
55
0
0
0
0
0
0
0
0
-1
0
0
0
0
-28
-5
-11
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
-7
0
0
0
0
0
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
-54
-55
-71
95
-36
3
0
-6
0
0
0
0
0
0
0
40
6
18
-75
2
83
-6
141
40
-48
0
0
0
0
0
0
0
4
-43
31
87
3
12
-12
162
82
-33
0
0
0
0
0
0
0
15
-4
-3
3
-4
-61
-11
23
-47
-4
0
0
0
0
0
0
0
0
149
0
0
-35
117
48
53
-8
29
0
0
0
0
0
0
0
0
35
0
19
6
-17
116
19
53
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
-1
0
0
0
0
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
-12
-49
66
57
0
-43
-2
0
0
0
0
0
0
-2
-53
-22
-6
17
44
24
90
-13
83
2
0
0
0
0
0
0
0
-3
0
-48
-25
56
136
-75
2
108
-2
0
0
0
0
0
0
0
-55
-7
55
-107
94
30
-23
37
-38
-3
0
0
0
0
0
0
0
-14
-5
23
76
-26
15
-51
-23
54
6
0
0
0
0
0
0
0
-5
1
0
-1
6
62
81
-16
59
0
0
0
0
0
0
0
0
0
1
0
-4
-4
40
16
91
-44
0
0
0
0
0
0
0
0
2
-4
0
0
0
52
6
47
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
-6
0
39
-23
57
88
-27
-13
0
40
-2
0
0
0
0
0
0
-61
5
5
-20
137
-56
122
76
-13
23
-24
-6
0
0
0
0
0
-3
7
12
-84
-47
47
-44
-38
4
22
-3
0
0
0
0
0
0
0
0
0
11
-82
139
94
-86
-31
-2
0
0
0
0
0
0
0
0
7
3
4
-24
-10
33
0
53
-14
14
0
0
0
0
0
0
0
0
0
-6
-3
-36
-37
10
11
4
42
0
0
0
0
0
0
0
0
0
0
-2
-6
22
-3
-7
-6
4
0
0
0
0
0
0
0
0
0
0
0
9
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
-49
22
9
52
-18
-11
-80
57
0
39
2
10
0
0
0
0
0
11
-43
-8
13
33
19
-81
28
-49
5
10
0
0
0
0
0
0
11
19
-10
-91
-2
-5
94
-26
-63
-77
1
0
0
0
0
0
0
4
-9
23
76
9
53
28
86
29
2
-1
0
0
0
0
0
0
-1
-23
-10
-54
-57
-22
-47
-47
-106
-9
5
11
0
0
0
0
0
1
0
-1
38
13
95
-15
81
35
-10
4
-9
0
0
0
0
0
0
0
0
7
-2
7
-245
-1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
53
0
-1
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
-18
64
-15
10
0
24
38
0
-4
0
2
0
0
0
0
0
133
72
-16
25
97
-48
-97
12
49
21
-24
0
0
0
0
0
0
73
22
-14
79
13
-30
44
133
-48
-34
-2
-1
0
0
0
0
0
85
-43
-3
-14
-42
60
-59
47
92
-2
0
0
0
0
0
0
0
-4
74
43
-106
-34
64
60
79
73
-7
2
0
0
0
0
0
0
-3
-9
5
52
-12
-56
-14
39
-30
14
0
0
0
0
0
0
0
0
-8
0
0
-53
8
-22
-50
67
11
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
48
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
77
-30
-10
126
27
67
12
-46
0
-4
-6
-6
0
0
0
0
0
18
-14
102
38
104
22
-73
-14
41
-3
-10
0
0
0
0
0
0
117
-6
-11
34
-20
42
116
51
-11
-101
-1
0
0
0
0
0
0
-15
-68
-58
48
-42
108
-66
31
25
-93
0
0
0
0
0
0
0
-12
19
102
-3
-78
6
-51
119
-7
8
-17
0
0
0
0
0
0
4
-20
9
34
28
56
38
68
-67
-86
0
0
0
0
0
0
0
0
-3
-2
10
11
0
-11
-43
-19
-17
-1
0
0
0
0
0
0
0
-2
0
0
0
-29
7
-87
24
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
106
-105
13
37
119
-7
-72
192
0
42
3
-5
0
0
0
0
0
2
102
-63
-73
70
38
13
103
65
-38
-7
0
0
0
0
0
0
43
145
-53
-55
5
73
-17
46
31
95
7
-1
0
0
0
0
0
-105
111
120
-14
81
97
-18
-30
66
0
-37
0
0
0
0
0
0
92
0
3
-4
-28
19
28
18
36
-19
-13
0
0
0
0
0
0
-7
-40
-8
118
40
-7
116
-9
95
-13
-19
0
0
0
0
0
0
-27
-15
0
7
-63
-7
58
56
21
17
0
0
0
0
0
0
0
0
0
0
0
0
18
-13
10
-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
-28
41
-10
-8
-98
56
23
24
0
-80
3
-10
0
0
0
0
0
97
-6
26
-54
-62
20
38
26
1
-50
8
0
0
0
0
0
0
34
49
-55
-80
23
39
45
-7
29
69
19
1
0
0
0
0
0
13
12
-46
133
65
77
103
48
17
-26
18
0
0
0
0
0
0
3
-12
187
31
-26
25
49
-68
-75
17
-2
0
0
0
0
0
0
37
23
91
-49
-56
-21
-60
39
-6
-4
2
0
0
0
0
0
0
38
4
11
24
13
15
-104
-65
-50
49
0
0
0
0
0
0
0
0
-24
-35
0
-4
19
-68
124
-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
-75
44
0
12
-45
25
-20
0
93
5
0
0
0
0
0
0
0
181
-20
41
100
48
-2
4
2
11
80
5
0
0
0
0
0
0
75
7
-178
22
31
-58
78
-1
4
-26
1
0
0
0
0
0
0
-25
-54
-84
34
46
-64
-54
163
65
-7
-1
0
0
0
0
0
0
113
-71
-18
89
-3
43
32
-10
3
32
0
0
0
0
0
0
0
35
33
-50
6
19
75
5
-83
12
45
0
0
0
0
0
0
0
44
38
-43
-79
-6
-37
8
-12
54
0
0
0
0
0
0
0
0
0
0
-28
-1
-6
-21
2
-35
10
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
19
-7
76
17
-49
0
19
-2
-3
0
0
0
0
0
0
0
-3
45
-17
-9
-74
25
-36
-2
53
2
0
0
0
0
0
0
0
-4
-7
50
8
93
50
-5
-86
3
3
0
0
0
0
0
0
0
51
16
-5
95
88
45
34
33
-17
-1
0
0
0
0
0
0
0
37
12
-9
-33
3
34
23
85
1
0
0
0
0
0
0
0
0
-4
6
-55
-13
-6
29
-20
30
-8
-16
0
0
0
0
0
0
0
0
5
4
0
-43
6
-5
-39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-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
9
0
-13
-3
0
-11
-2
0
0
0
0
0
0
0
0
0
-13
10
-3
-31
1
5
-19
-62
0
0
0
0
0
0
0
0
0
5
-7
-6
-8
15
52
13
-7
28
0
0
0
0
0
0
0
0
-22
-2
0
-12
0
0
24
-52
1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-33
66
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-20
0
52
14
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-10
-10
0
0
0
0
0
0
0
0
0
2
14
-9
62
61
-79
-100
17
-21
0
0
0
0
0
0
0
0
8
3
-6
67
3
8
40
-24
-10
0
0
0
0
0
0
0
0
0
9
5
-40
-26
-32
-9
0
7
0
0
0
0
0
0
0
0
-1
10
0
-14
29
28
-33
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
0
11
115
-75
-144
-79
0
28
0
0
0
0
0
0
0
73
75
0
11
53
39
-12
68
-17
-59
0
0
0
0
0
0
0
19
-19
-5
-36
-37
-63
2
44
74
64
0
0
0
0
0
0
0
-3
13
16
-15
-14
3
-2
-50
-46
8
0
0
0
0
0
0
0
0
-46
35
0
29
66
22
1
-38
2
0
0
0
0
0
0
0
0
-27
0
-6
-3
-81
-24
-87
17
-11
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-10
-5
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
40
-6
9
-20
-55
-65
0
36
26
0
0
0
0
0
0
0
-6
-3
136
-62
16
66
-76
76
-21
15
0
0
0
0
0
0
-14
0
-7
40
-60
69
-47
-26
17
42
-11
0
0
0
0
0
0
0
5
-2
-6
7
58
-94
-12
18
45
-2
0
0
0
0
0
0
0
-53
55
-5
11
-41
4
5
67
14
-1
0
0
0
0
0
0
0
0
12
5
21
50
-27
-4
-24
26
3
0
0
0
0
0
0
0
0
0
0
0
0
21
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
46
41
-40
-79
0
-70
-2
0
0
0
0
0
0
-2
3
36
-25
-25
112
22
-22
-47
-25
81
14
0
0
0
0
0
0
1
-4
-7
32
-29
31
-54
-83
-3
13
10
0
0
0
0
0
23
3
-3
-35
61
77
4
-93
8
14
0
0
0
0
0
0
0
0
0
-28
18
65
-36
-17
-21
44
0
-16
0
0
0
0
0
0
0
-8
-35
0
-11
3
21
-8
-2
7
3
1
0
0
0
0
0
0
0
0
0
3
0
107
-13
-14
0
-12
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
-4
0
2
0
0
0
0
0
0
0
0
13
-15
2
8
100
47
-108
-79
0
-53
-1
0
0
0
0
0
0
-39
93
-17
74
63
-71
-34
-70
92
13
4
0
0
0
0
0
0
-3
-60
18
118
-38
86
5
109
67
-1
-2
0
0
0
0
0
0
-6
54
-2
-5
-11
134
1
47
7
86
4
0
0
0
0
0
0
5
4
20
-33
39
37
-18
6
120
0
6
-3
0
0
0
0
0
-4
-10
-2
23
26
77
23
-48
25
33
0
0
0
0
0
0
0
-4
-2
-19
0
-2
0
44
35
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
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
23
-50
17
-45
-55
71
9
59
0
-39
0
0
0
0
0
0
0
84
72
24
58
34
99
40
21
99
24
15
0
0
0
0
0
0
-14
-8
44
123
86
-13
17
66
-80
-53
-4
0
0
0
0
0
0
23
26
-44
-12
53
61
-16
61
60
82
0
0
0
0
0
0
0
42
-60
-19
-16
126
24
12
70
69
7
0
0
0
0
0
0
0
-40
47
-18
11
-86
23
48
88
-40
26
0
0
0
0
0
0
0
9
6
11
0
-24
-47
39
-58
-85
1
0
0
0
0
0
0
0
0
0
0
0
0
-36
2
-58
36
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
-35
-54
-30
89
79
113
-6
-90
0
-100
-3
0
0
0
0
0
0
70
13
-53
41
-15
2
65
98
30
113
1
0
0
0
0
0
0
-8
58
87
17
44
138
90
-19
32
2
0
0
0
0
0
0
0
-19
-33
69
-51
57
33
-25
96
32
84
0
0
0
0
0
0
0
-28
1
-49
-38
-25
27
45
31
106
-51
-1
0
0
0
0
0
0
-3
-107
-33
61
-26
72
-23
55
13
32
0
0
0
0
0
0
0
2
0
53
5
12
-38
-4
26
-14
2
0
0
0
0
0
0
0
0
0
0
-1
0
13
-10
-52
7
52
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
1
0
0
0
0
0
0
0
0
83
-50
51
61
113
17
-87
25
0
-13
-17
-21
0
0
0
0
0
48
1
4
60
47
-15
-70
-87
54
-29
16
0
0
0
0
0
0
88
-48
21
-39
4
57
27
-45
32
-40
31
0
0
0
0
0
0
3
-68
47
68
27
18
62
-78
67
-9
5
0
0
0
0
0
0
-49
-110
-19
42
6
-172
29
112
-8
-56
-35
0
0
0
0
0
0
-25
45
23
39
-8
-23
-57
117
-52
46
2
0
0
0
0
0
0
-6
31
-2
-13
44
29
16
-42
89
-5
0
0
0
0
0
0
0
-1
1
-1
-30
12
44
37
139
8
-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
-20
66
50
6
16
-16
-22
-29
0
-58
9
0
0
0
0
0
0
79
-13
12
-55
-92
22
-22
14
-75
56
125
0
0
0
0
0
0
-109
104
-41
28
98
51
-2
-87
-122
-39
-5
8
0
0
0
0
0
64
-10
-13
26
-53
-20
24
-68
78
-27
-2
0
0
0
0
0
0
14
46
-19
-67
40
82
48
-94
-38
53
3
0
0
0
0
0
0
3
-13
-51
83
130
221
10
-21
-28
47
0
0
0
0
0
0
0
-3
24
3
18
9
17
7
1
59
119
0
0
0
0
0
0
0
0
37
-1
10
-2
1
-28
-48
-53
46
0
0
0
0
0
0
0
0
0
1
0
25
0
-6
0
0
0
0
0
0
0
0
0
0
0
117
-103
-37
-84
70
-2
-145
0
-48
86
32
0
0
0
0
0
0
12
7
-21
40
30
-96
51
-37
-56
-50
-2
0
0
0
0
0
0
27
-71
10
-5
-96
35
4
-45
-50
4
-1
0
0
0
0
0
0
47
16
83
-121
41
2
95
-38
33
20
0
0
0
0
0
0
0
31
148
-153
-53
6
-14
46
-19
33
65
-2
0
0
0
0
0
0
38
65
-33
0
10
88
-16
87
-90
87
0
0
0
0
0
0
0
31
1
8
20
36
15
107
57
48
0
0
0
0
0
0
0
0
0
-11
-3
0
-21
-58
-70
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
4
-24
18
-39
-17
0
66
-45
1
0
0
0
0
0
0
0
-59
-68
122
-12
-64
-50
2
-34
15
4
0
0
0
0
0
0
0
-31
19
-8
-48
27
14
-18
-25
4
-2
0
0
0
0
0
0
0
1
20
-36
15
-41
7
-70
51
-72
0
0
0
0
0
0
0
0
7
12
-9
39
0
-46
2
34
45
6
0
0
0
0
0
0
0
-3
-35
9
10
-12
19
86
23
-8
-2
0
0
0
0
0
0
0
0
0
0
5
23
8
7
27
-10
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
1
0
-1
12
2
0
0
2
3
0
0
0
0
0
0
0
0
-7
0
-2
25
-15
7
0
-51
31
0
0
0
0
0
0
0
0
8
0
-15
29
35
-106
-34
13
0
1
0
0
0
0
0
0
0
-22
-2
0
-2
0
-44
9
9
-8
0
0
0
0
0
0
0
0
0
0
0
4
2
2
1
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
22
-1
9
0
0
0
0
0
0
0
0
0
-70
0
0
-4
17
14
-82
-13
11
0
0
0
0
0
0
0
0
31
10
0
23
-14
63
12
42
47
0
0
0
0
0
0
0
0
0
15
0
29
46
48
-14
43
-27
0
0
0
0
0
0
0
0
-11
-1
0
0
100
16
-8
11
0
0
0
0
0
0
0
0
0
0
0
12
48
-4
-24
1
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
2
0
12
-8
-54
143
-51
0
-44
0
0
0
0
0
0
0
0
12
0
11
130
-14
-20
-81
-13
-9
0
0
0
0
0
0
0
21
-84
116
17
-27
-37
48
-64
-17
18
0
0
0
0
0
0
0
-1
0
55
-12
42
50
-22
-108
-86
-54
0
0
0
0
0
0
0
0
-61
27
-3
-11
3
-46
129
124
58
0
0
0
0
0
0
0
0
22
0
-5
-23
-55
-28
-73
-20
-23
0
0
0
0
0
0
0
0
8
2
4
-42
-2
-56
31
10
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-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
-16
0
-18
6
-83
7
0
-107
-13
0
0
0
0
0
0
0
26
12
0
-51
-60
62
-43
13
100
12
0
0
0
0
0
0
0
34
0
-4
23
-16
-97
209
-52
65
2
0
0
0
0
0
0
0
2
-3
-17
21
87
17
-33
-14
-7
-3
0
0
0
0
0
0
0
0
-7
-55
44
-57
-4
-62
-48
-10
-5
0
0
0
0
0
0
0
-3
-31
0
16
-7
10
11
-34
63
1
0
0
0
0
0
0
0
0
0
0
-8
0
-39
-3
37
11
0
0
0
0
0
0
0
0
0
0
0
-2
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
-9
0
12
-165
-11
-42
0
7
10
0
0
0
0
0
0
-6
3
3
-32
-73
-60
-64
-106
-7
10
-5
3
0
0
0
0
0
1
0
-11
24
89
46
40
77
-13
-30
-65
0
0
0
0
0
0
6
16
-25
7
90
-30
-10
-91
-20
-4
-3
0
0
0
0
0
0
7
-7
1
0
-86
-9
89
-127
-14
1
0
0
0
0
0
0
0
0
0
-5
4
-13
90
-6
117
-10
14
0
0
0
0
0
0
0
0
-7
-3
12
-3
-9
3
0
26
-10
1
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
24
0
0
-26
37
-36
-158
5
0
12
0
0
0
0
0
0
0
116
-49
112
-92
33
87
-62
36
43
63
-1
-1
0
0
0
0
0
20
-21
6
-6
-75
-88
-108
52
30
-45
13
0
0
0
0
0
0
-8
-6
-5
45
7
70
-36
39
20
8
0
0
0
0
0
0
0
2
-20
-2
29
-4
41
-21
18
176
-1
0
0
0
0
0
0
0
7
0
117
61
50
37
21
-24
18
-3
1
0
0
0
0
0
0
-14
0
0
0
-24
-3
39
6
26
1
0
0
0
0
0
0
0
0
-5
0
-18
0
-5
18
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
0
-14
0
0
0
0
0
0
0
0
0
-10
88
-40
10
-6
97
32
18
0
40
0
0
0
0
0
0
0
-131
-14
-114
132
83
-14
-78
75
128
-48
-9
-1
0
0
0
0
0
-46
-87
40
-50
-45
32
103
-80
75
23
0
4
0
0
0
0
0
88
78
71
-22
-25
-30
25
44
26
-18
-5
0
0
0
0
0
0
2
-18
59
45
-43
-12
28
92
-65
2
0
0
0
0
0
0
0
8
-32
-29
12
24
28
-19
12
61
-36
18
0
0
0
0
0
0
-11
-20
-10
-6
-14
-37
147
40
74
-10
10
0
0
0
0
0
0
0
0
0
1
4
37
67
5
-37
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
12
9
53
63
32
-3
-63
-55
0
16
-5
4
0
0
0
0
0
0
39
-63
-67
56
-30
111
93
-84
50
10
0
0
0
0
0
0
-9
-51
118
-15
-10
21
89
1
14
-4
6
0
0
0
0
0
0
-19
5
-59
-92
34
-40
-22
72
-17
-50
3
0
0
0
0
0
0
18
-113
52
-42
52
-57
-23
23
14
78
-20
0
0
0
0
0
0
48
35
33
220
18
-47
39
23
18
14
5
0
0
0
0
0
0
16
3
-18
-28
15
55
57
-48
81
-2
0
0
0
0
0
0
0
0
3
2
-10
4
-13
-51
-51
31
-8
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
51
51
-69
151
248
25
-75
-38
0
102
0
-3
0
0
0
0
0
-14
93
72
-17
76
-25
-51
5
-102
-41
41
0
0
0
0
0
0
69
6
-92
-42
103
-29
50
-95
79
18
-11
0
0
0
0
0
0
-22
-136
123
-20
72
138
38
3
-62
-46
13
0
0
0
0
0
0
50
19
-45
-47
-11
126
49
-45
90
64
3
0
0
0
0
0
0
15
33
-20
31
13
1
96
58
93
4
-9
-4
0
0
0
0
0
16
20
32
91
89
36
53
54
83
16
9
0
0
0
0
0
0
0
14
3
10
0
76
57
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-14
0
9
0
8
0
0
0
0
0
0
0
0
67
-77
-2
18
50
94
-43
-111
0
-50
2
0
0
0
0
0
0
119
34
-12
111
31
-24
29
-15
-50
35
-25
6
0
0
0
0
0
-112
18
11
-18
14
93
11
-159
-20
-73
-37
1
0
0
0
0
0
-61
10
-37
-15
-46
68
-3
-27
-37
-7
5
0
0
0
0
0
0
-28
-143
-28
39
107
107
4
54
14
7
2
3
0
0
0
0
0
39
0
-10
-16
18
-21
-50
-42
96
-37
-6
-1
0
0
0
0
0
26
-13
-65
-23
-29
66
41
-40
-83
106
0
0
0
0
0
0
0
0
-15
18
-17
-13
2
-33
81
-29
-19
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
5
4
0
0
0
0
0
0
0
0
0
-41
-66
2
16
-3
58
24
0
-28
38
1
0
0
0
0
0
0
-41
26
-13
-22
-54
50
-29
10
14
-42
0
0
0
0
0
0
0
33
7
-6
-6
37
-7
23
47
18
37
0
0
0
0
0
0
0
52
58
-70
103
62
-38
45
-54
-10
22
0
0
0
0
0
0
0
-1
50
-2
55
35
-55
96
0
-92
-10
0
0
0
0
0
0
0
82
4
-28
27
96
-8
119
-96
-14
-6
0
0
0
0
0
0
0
-6
67
41
87
-110
41
38
65
30
0
0
0
0
0
0
0
0
0
3
2
30
41
61
-41
1
7
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
0
81
9
-2
-70
33
23
0
14
2
-12
0
0
0
0
0
0
0
18
16
-2
-49
86
-26
7
-51
-13
4
0
0
0
0
0
0
0
-19
10
-4
59
19
13
11
-7
-30
-3
0
0
0
0
0
0
0
10
21
36
-22
63
122
135
14
61
0
0
0
0
0
0
0
0
58
-1
-2
40
12
-80
-14
60
11
0
0
0
0
0
0
0
0
-1
0
3
10
-15
53
134
42
-25
8
0
0
0
0
0
0
0
0
0
0
-3
0
19
-52
19
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
1
0
0
-1
-2
0
4
0
0
0
0
0
0
0
0
0
0
-1
12
0
2
-14
-4
8
2
-35
0
0
0
0
0
0
0
0
-6
0
-4
7
0
0
22
1
4
0
0
0
0
0
0
0
0
12
8
0
-1
-1
-6
3
45
0
0
0
0
0
0
0
0
0
2
0
1
-6
12
0
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
9
-20
0
0
0
0
0
0
0
0
0
0
6
8
1
-8
47
146
115
-51
0
0
0
0
0
0
0
0
-19
0
0
-24
8
-71
46
69
-15
0
0
0
0
0
0
0
0
-10
0
0
62
41
77
30
26
4
0
0
0
0
0
0
0
0
0
0
0
-29
55
21
12
5
17
0
0
0
0
0
0
0
0
8
0
10
27
-10
56
49
-5
0
0
0
0
0
0
0
0
0
0
0
19
-3
-19
0
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
7
-15
-4
21
78
-13
-117
0
60
0
0
0
0
0
0
0
0
-57
-2
-22
79
-92
-22
-25
107
88
0
0
0
0
0
0
0
-1
-18
3
58
1
-52
29
19
-5
20
0
0
0
0
0
0
0
0
23
-25
55
12
35
23
-26
-41
-44
0
0
0
0
0
0
0
24
0
15
-19
-10
10
97
37
-5
-37
0
0
0
0
0
0
0
0
-5
79
18
49
-68
56
92
-112
1
0
0
0
0
0
0
0
0
-4
0
4
-125
-51
38
-15
-23
-9
0
0
0
0
0
0
0
0
0
0
1
0
-26
67
14
8
-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
41
14
-38
0
25
22
0
0
0
0
0
0
0
22
22
9
10
23
45
13
-84
-27
49
0
0
0
0
0
0
0
24
25
0
-33
-42
-49
-27
-48
28
9
0
0
0
0
0
0
0
-9
4
-9
-66
75
51
-19
70
-70
50
0
0
0
0
0
0
0
8
0
7
9
-65
84
5
-17
3
0
0
0
0
0
0
0
0
0
-4
83
17
87
-49
110
43
43
-1
0
0
0
0
0
0
0
1
0
0
-19
4
-7
115
-6
11
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
0
-9
0
0
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
-8
46
155
-98
11
0
63
-13
0
0
0
0
0
0
-12
3
24
29
-44
-100
-128
-4
-34
-64
-26
0
0
0
0
0
0
6
25
109
20
-61
-26
-15
41
-13
-26
-13
-4
0
0
0
0
0
1
0
-3
57
-9
61
-120
-45
107
12
0
0
0
0
0
0
0
45
-7
17
0
-3
45
-39
-10
-18
9
0
0
0
0
0
0
0
0
4
0
-21
70
-46
32
58
6
-14
0
0
0
0
0
0
0
-5
0
0
8
-2
7
63
17
19
0
-1
0
0
0
0
0
0
0
0
0
17
0
9
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
41
-6
-2
-13
-63
-114
-39
9
0
72
0
0
0
0
0
0
0
33
44
39
49
-111
67
29
26
32
-17
0
0
0
0
0
0
0
6
-11
-36
-7
162
-14
92
29
6
-108
0
0
0
0
0
0
0
-1
-17
1
23
81
31
-62
5
40
9
9
0
0
0
0
0
0
-5
65
28
92
0
-70
-65
-77
26
61
-10
0
0
0
0
0
0
1
-15
-58
1
-60
-72
83
-21
-85
60
0
0
0
0
0
0
0
8
5
-5
-1
-14
46
14
68
-43
0
0
0
0
0
0
0
0
0
-5
0
-8
0
19
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
9
6
0
0
0
0
0
0
0
0
14
-2
-59
10
-14
78
24
-89
0
87
5
0
0
0
0
0
0
-67
-70
-13
51
-54
46
-28
26
13
3
2
0
0
0
0
0
0
-58
-9
-10
12
60
148
11
65
121
117
3
0
0
0
0
0
0
1
-13
19
63
-49
-60
16
96
-175
-80
0
0
0
0
0
0
0
72
-53
-14
54
-32
0
58
-69
-21
-24
-8
0
0
0
0
0
0
28
-28
70
112
-3
16
-34
-94
167
21
0
0
0
0
0
0
0
3
5
-15
41
116
44
26
54
39
0
16
0
0
0
0
0
0
0
0
-2
13
0
-15
73
24
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
43
25
0
0
0
0
0
0
0
0
0
-16
55
-34
-23
62
2
31
92
0
25
-6
0
0
0
0
0
0
3
-11
96
52
122
66
35
-42
34
9
6
0
0
0
0
0
0
14
91
-7
-75
-100
47
47
70
33
-40
-9
0
0
0
0
0
0
-46
-21
21
15
21
-78
-11
0
-44
-10
22
0
0
0
0
0
0
-20
-125
42
10
70
19
0
-24
131
12
1
0
0
0
0
0
0
0
-29
90
19
77
-3
-17
84
71
26
0
0
0
0
0
0
0
1
40
-9
152
14
-54
43
-18
95
17
-5
0
0
0
0
0
0
0
0
-4
1
0
65
-42
22
27
17
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
85
0
21
0
0
0
0
0
0
0
5
-11
-8
101
65
-7
-29
27
0
42
-13
0
0
0
0
0
0
25
-39
-84
7
123
-44
-12
-43
45
0
35
0
0
0
0
0
0
59
-90
-128
2
76
109
19
30
-30
14
18
0
0
0
0
0
0
-178
29
-89
72
-21
124
72
5
69
93
4
8
0
0
0
0
0
-57
-38
-56
-20
104
102
31
0
26
-80
51
0
0
0
0
0
0
-4
-80
-11
61
-1
-34
-84
-149
31
11
-6
0
0
0
0
0
0
-18
13
-28
-50
71
-30
65
77
11
5
3
0
0
0
0
0
0
0
1
50
-5
-1
-54
-24
3
25
32
0
0
0
0
0
0
0
0
0
0
0
18
0
15
-5
-8
0
0
0
0
0
0
0
0
-30
67
-55
-209
123
-23
44
45
0
0
3
-1
0
0
0
0
0
56
99
4
1
30
52
-56
-80
-34
19
-19
-11
0
0
0
0
0
11
10
-129
-45
79
-58
16
11
-54
59
0
-12
0
0
0
0
0
63
39
-24
86
1
-1
38
19
-102
232
68
0
0
0
0
0
0
-5
-6
-52
62
-51
-35
31
-22
0
5
0
0
0
0
0
0
0
13
50
6
-30
58
-6
-71
4
-7
83
-6
0
0
0
0
0
0
85
-1
39
16
56
6
23
31
-21
-25
7
0
0
0
0
0
0
0
-2
66
22
24
12
95
52
-60
39
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
9
-9
0
0
0
0
0
0
0
0
0
79
-28
-24
21
-52
-5
-32
0
37
-17
-1
0
0
0
0
0
0
-1
-10
4
-37
-53
-35
-63
-61
-87
9
3
0
0
0
0
0
0
-94
24
74
16
-42
-71
62
-96
-30
10
0
0
0
0
0
0
0
-60
58
-7
15
50
3
2
13
-160
8
2
0
0
0
0
0
0
84
19
45
-19
97
72
46
11
0
-7
0
0
0
0
0
0
0
11
39
42
92
82
59
149
83
13
4
0
0
0
0
0
0
0
57
-46
5
-22
35
2
60
-41
-6
-5
0
0
0
0
0
0
0
-5
-3
0
-1
23
-74
-61
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
6
0
0
0
0
0
0
0
0
0
36
-6
0
37
-23
-37
0
29
15
9
0
0
0
0
0
0
0
-3
-22
-10
73
-62
45
-177
-45
-51
17
0
0
0
0
0
0
0
73
13
76
20
110
-49
-68
52
-80
-2
0
0
0
0
0
0
0
-27
6
0
37
-91
-97
8
39
-23
3
0
0
0
0
0
0
0
1
40
-1
49
69
100
-18
20
0
-10
0
0
0
0
0
0
0
-2
-9
5
0
-27
37
-30
1
-5
0
0
0
0
0
0
0
0
0
0
0
-4
1
-42
-41
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
77
0
0
0
0
0
0
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
-6
0
0
-27
-12
0
0
0
0
0
0
0
0
7
9
0
-18
-18
28
3
11
-31
0
0
0
0
0
0
0
0
5
0
11
-2
-10
10
48
7
35
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
12
7
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
13
-13
-10
0
0
0
0
0
0
0
0
0
0
-2
0
47
8
0
0
34
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
17
0
0
0
0
0
0
0
0
0
0
-6
-1
0
14
3
9
0
19
-21
0
0
0
0
0
0
0
0
-11
0
-2
3
-9
-6
62
15
-3
0
0
0
0
0
0
0
0
25
-18
12
-47
-6
46
4
-22
-2
0
0
0
0
0
0
0
0
15
0
-4
-12
105
2
133
5
-2
0
0
0
0
0
0
0
0
0
0
107
-50
20
-66
0
-4
26
0
0
0
0
0
0
0
0
-1
13
0
2
149
16
6
19
2
0
0
0
0
0
0
0
0
0
0
0
141
0
41
0
1
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
4
-15
2
-2
-5
-13
3
0
0
0
0
0
0
0
0
0
0
33
-1
2
9
1
41
-52
11
-48
0
0
0
0
0
0
0
0
-1
12
24
11
-74
5
-29
-40
16
0
0
0
0
0
0
0
6
-12
-2
103
35
99
61
-92
-49
-120
0
0
0
0
0
0
0
0
134
-2
-4
63
42
114
19
-40
14
0
0
0
0
0
0
0
-4
0
-13
-1
-48
24
-112
-79
-3
5
0
0
0
0
0
0
0
0
-16
1
-33
110
-16
-71
-71
-58
0
0
0
0
0
0
0
0
0
-6
0
0
1
-27
-25
-8
3
19
0
0
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
27
-7
216
-48
-8
0
86
2
0
0
0
0
0
0
0
-5
-3
3
-125
27
-51
24
-25
-25
-42
0
0
0
0
0
0
0
44
-5
6
49
-91
-9
18
8
15
-16
0
0
0
0
0
0
0
42
-3
24
33
-100
-76
-68
70
-82
-13
0
0
0
0
0
0
0
-4
11
1
9
-103
63
-44
45
-5
0
0
0
0
0
0
0
0
-7
0
1
-91
62
-16
-6
-102
15
0
0
0
0
0
0
0
0
-13
0
0
-23
40
50
-14
71
6
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
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
-4
0
9
8
-11
141
44
0
7
-1
0
0
0
0
0
0
39
-5
-4
-42
31
59
-74
-9
13
23
52
0
0
0
0
0
0
1
0
0
20
-52
38
13
-63
-33
29
16
0
0
0
0
0
0
5
0
-4
18
96
76
-39
-39
2
-7
0
0
0
0
0
0
0
-3
0
13
-102
43
27
-16
33
-32
0
0
0
0
0
0
0
0
5
0
3
0
14
21
20
0
5
8
0
0
0
0
0
0
0
-4
-5
0
9
1
13
-74
38
-18
0
0
0
0
0
0
0
0
0
0
0
5
0
-11
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
51
-13
88
1
83
71
107
-33
0
-60
0
0
0
0
0
0
0
-14
-32
-17
39
-98
-9
135
6
-41
-21
3
0
0
0
0
0
0
-6
-74
-5
-26
-251
17
35
26
57
13
0
0
0
0
0
0
0
-1
8
-24
-42
-114
72
11
69
-12
-99
0
0
0
0
0
0
0
12
-28
-92
-23
-4
-3
89
-70
-17
8
0
0
0
0
0
0
0
27
33
13
-14
0
-85
63
-5
-32
21
4
0
0
0
0
0
0
7
-1
3
0
-5
51
-10
49
104
0
0
0
0
0
0
0
0
0
0
0
-10
0
-39
2
113
23
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-4
0
0
0
0
0
0
0
0
0
-9
-16
-85
-36
-2
-17
-77
40
0
69
0
0
0
0
0
0
0
-18
-82
-82
121
99
-5
-25
21
70
-17
35
0
0
0
0
0
0
8
40
24
-67
61
-18
36
26
3
36
-1
0
0
0
0
0
0
-20
-45
-1
18
-88
64
72
70
-64
-33
0
0
0
0
0
0
0
23
-43
18
-27
-14
86
48
19
-44
50
0
0
0
0
0
0
0
33
34
6
-12
-69
0
-38
4
12
101
-11
0
0
0
0
0
0
3
78
-9
-24
-47
-67
32
-25
153
-1
0
0
0
0
0
0
0
0
-1
0
-9
-1
-22
-1
-13
1
-10
0
0
0
0
0
0
0
0
0
0
0
16
0
-10
0
0
0
0
0
0
0
0
0
0
3
1
55
-71
-16
42
-6
-19
0
-18
13
0
0
0
0
0
0
0
-60
-36
11
-107
-57
-20
118
16
0
30
-2
0
0
0
0
0
19
23
52
-79
-114
60
58
11
14
7
0
0
0
0
0
0
0
-4
57
40
-32
-102
22
125
63
1
-14
0
0
0
0
0
0
0
28
-104
99
68
53
-31
89
39
-56
-55
-6
0
0
0
0
0
0
52
73
11
68
136
19
0
89
28
39
0
0
0
0
0
0
0
-4
11
110
-77
80
-16
-3
63
78
-14
0
0
0
0
0
0
0
0
-2
14
1
-19
-78
-12
64
-6
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
32
7
0
0
0
0
0
0
0
0
0
85
10
-48
-100
96
-53
-16
4
0
18
-8
0
0
0
0
0
0
101
-28
22
98
53
44
39
47
-27
-4
-78
0
0
0
0
0
0
100
65
-92
33
92
81
82
68
33
3
2
0
0
0
0
0
0
34
-29
75
33
32
29
83
20
-56
-11
0
0
0
0
0
0
0
69
9
42
-82
48
45
24
-53
6
-2
0
0
0
0
0
0
0
-109
-51
131
-21
4
31
74
0
3
29
5
0
0
0
0
0
0
67
-19
88
-18
30
-14
18
-68
1
-46
-2
0
0
0
0
0
0
0
-5
-4
23
24
9
-22
-11
-1
-1
0
0
0
0
0
0
0
0
0
0
7
15
0
-14
0
5
0
0
0
0
0
0
0
0
1
37
-11
-21
59
-3
-8
-66
0
-136
-4
0
0
0
0
0
0
41
-6
99
27
-116
7
-62
-64
-34
-24
-115
0
0
0
0
0
0
-2
60
44
-50
52
67
-48
49
14
-33
60
0
0
0
0
0
0
46
-95
-79
41
-39
-24
114
18
26
41
0
4
0
0
0
0
0
-3
19
-83
84
-61
-36
21
-3
12
76
-9
2
0
0
0
0
0
47
-91
15
-150
83
63
25
-17
0
49
6
0
0
0
0
0
0
119
71
52
237
53
26
17
-77
-54
2
9
1
0
0
0
0
0
0
-10
29
-3
-13
98
-12
139
-32
61
0
0
0
0
0
0
0
0
0
0
0
-6
0
-13
-8
7
2
0
0
0
0
0
0
0
0
-84
-55
-9
-92
-34
-9
-41
0
-9
-12
-4
0
0
0
0
0
0
-47
45
42
76
30
-61
-14
-22
37
-57
0
0
0
0
0
0
0
-55
40
24
-16
141
33
116
-142
-15
-35
0
0
0
0
0
0
0
31
67
43
1
98
-1
-77
4
-18
-89
0
0
0
0
0
0
0
-17
105
-11
102
48
47
35
20
-68
33
0
0
0
0
0
0
0
45
-35
-33
6
40
13
71
-13
0
-41
0
0
0
0
0
0
0
-11
-32
-137
24
34
-76
18
28
-10
0
0
0
0
0
0
0
0
0
-2
-13
0
-40
-39
3
66
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-16
42
28
-3
0
0
0
0
0
0
0
0
0
0
0
3
-3
39
59
0
-30
109
59
0
0
0
0
0
0
0
53
24
-21
88
-88
57
-36
-97
-25
-10
0
0
0
0
0
0
0
2
15
-2
29
-10
40
58
-7
-8
-72
0
0
0
0
0
0
0
-10
5
23
-24
114
22
-13
-15
56
-9
0
0
0
0
0
0
0
-3
-13
-18
55
38
18
-67
65
-6
7
0
0
0
0
0
0
0
-2
12
-1
-15
-10
-56
-18
-26
0
6
0
0
0
0
0
0
0
0
0
0
1
8
2
-29
-84
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
9
4
0
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
8
0
-26
0
3
-3
0
0
0
0
0
0
0
0
0
0
7
1
1
-3
3
2
-28
55
0
0
0
0
0
0
0
0
-6
0
0
0
6
-1
8
61
-5
5
0
0
0
0
0
0
0
1
-4
0
4
3
9
6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
28
0
4
0
0
0
0
0
0
0
1
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-11
-6
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
-3
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
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
100
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
108
0
-6
0
0
0
0
0
0
0
0
2
0
0
15
-3
48
0
21
0
0
0
0
0
0
0
0
0
0
9
0
3
-68
-13
-21
9
0
0
0
0
0
0
0
0
0
0
0
-9
-61
0
105
0
5
0
0
0
0
0
0
0
0
0
0
21
0
0
-72
0
63
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
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
27
-1
-1
-4
-8
-12
0
1
0
0
0
0
0
0
0
0
3
0
-1
1
123
-46
-28
73
-39
0
0
0
0
0
0
0
0
51
0
0
49
-40
-55
31
107
35
0
0
0
0
0
0
0
0
19
0
-66
29
48
-30
65
-110
-27
0
0
0
0
0
0
0
-15
-8
-54
-40
-33
17
14
-10
-27
-1
0
0
0
0
0
0
0
2
0
15
-5
-81
-90
90
4
7
0
0
0
0
0
0
0
0
0
0
-4
15
18
2
15
13
26
0
0
0
0
0
0
0
0
0
-22
0
13
-9
8
61
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-69
-13
0
-8
0
0
0
0
0
0
0
0
2
3
0
-9
-1
42
97
-46
55
-14
0
0
0
0
0
0
0
9
-7
-8
-3
-31
-94
49
12
-17
6
0
0
0
0
0
0
0
-10
12
1
23
37
-53
69
-24
-26
0
0
0
0
0
0
0
0
49
21
-17
-33
-162
64
46
-73
24
0
0
0
0
0
0
0
0
-11
0
-1
43
100
87
-96
9
-1
0
0
0
0
0
0
0
0
-4
0
0
8
26
-64
-7
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
80
67
66
-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
1
-22
3
-21
0
1
0
0
0
0
0
0
0
20
0
-8
1
11
26
-2
-41
126
-16
-3
0
0
0
0
0
0
0
0
0
0
-5
4
41
22
26
-2
-4
0
0
0
0
0
0
25
0
0
4
15
-16
3
27
-9
-4
3
0
0
0
0
0
0
0
0
-19
-7
18
48
27
64
-36
-1
0
0
0
0
0
0
0
0
9
9
4
-2
39
-20
-55
4
0
0
0
0
0
0
0
0
2
0
0
0
29
23
54
20
64
-4
0
0
0
0
0
0
0
0
0
0
28
0
21
-12
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
0
0
0
5
-29
-25
-123
-52
0
36
0
0
0
0
0
0
0
0
89
0
33
-36
-90
-42
-85
21
-35
0
0
0
0
0
0
0
-1
68
8
62
-21
69
81
-63
48
-30
0
0
0
0
0
0
0
-4
-47
0
-10
33
-31
-54
-155
-58
-108
0
0
0
0
0
0
0
2
-2
-7
33
24
-29
-21
-33
-128
1
0
0
0
0
0
0
0
0
-31
11
44
29
-28
48
27
-9
69
0
6
0
0
0
0
0
-7
41
-4
30
0
37
21
18
5
20
0
0
0
0
0
0
0
0
-10
0
-5
0
60
57
9
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
-24
16
9
46
-15
0
-72
0
0
0
0
0
0
0
2
0
-17
-4
-34
-9
5
38
16
1
1
0
0
0
0
0
0
2
-28
0
70
-15
7
6
39
29
-23
-4
0
0
0
0
0
0
-41
62
29
-18
-41
88
56
52
12
-20
-2
0
0
0
0
0
0
11
-7
-20
18
80
37
-38
-8
52
-20
0
0
0
0
0
0
0
36
-13
34
-69
4
34
34
-75
48
5
11
0
0
0
0
0
0
2
53
-19
-1
-27
0
-8
-17
24
-8
0
0
0
0
0
0
0
0
-4
0
172
0
43
-4
-56
-18
1
0
0
0
0
0
0
0
0
0
0
0
32
0
14
9
0
0
0
0
0
0
0
0
0
4
0
19
-23
6
-49
-15
74
0
-64
6
0
0
0
0
0
0
12
17
3
30
-94
46
-2
-34
-35
0
22
0
0
0
0
0
0
34
0
-14
-29
32
39
54
-47
11
-30
-3
0
0
0
0
0
0
57
65
33
-60
18
-12
61
16
-42
94
2
0
0
0
0
0
0
2
160
-31
7
-27
42
75
26
7
-26
0
0
0
0
0
0
0
-1
61
44
52
46
44
-3
0
-17
69
0
0
0
0
0
0
0
0
15
-13
27
78
-67
0
27
104
20
0
0
0
0
0
0
0
0
6
-4
-26
-10
-9
26
12
49
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
-43
-4
27
-57
-23
-67
-9
86
0
-31
5
0
0
0
0
0
0
-172
-115
48
25
30
-40
11
-1
-75
56
-69
0
0
0
0
0
0
4
48
-65
-22
-50
30
60
-9
2
58
4
0
0
0
0
0
0
65
-87
20
-54
27
-8
-5
79
-8
-3
-39
0
0
0
0
0
0
41
-100
15
-7
59
-3
81
67
61
-55
10
0
0
0
0
0
0
-53
11
95
106
-65
-65
-28
21
-13
-66
-8
0
0
0
0
0
0
37
45
54
-15
54
-79
-119
0
44
18
6
0
0
0
0
0
0
0
-6
-25
-62
20
13
30
16
23
-8
0
0
0
0
0
0
0
0
0
0
0
7
0
20
-2
21
0
0
0
0
0
0
0
0
0
52
57
54
87
-8
-26
-51
0
-55
14
0
0
0
0
0
0
-1
96
-63
-55
57
44
-34
-11
-95
-1
-7
0
0
0
0
0
0
10
81
84
50
27
-99
69
25
10
5
6
16
0
0
0
0
0
-7
77
-1
44
24
114
43
15
168
52
-14
1
0
0
0
0
0
75
5
-7
-58
24
-15
76
-22
44
16
0
0
0
0
0
0
0
-1
-43
-91
97
-56
33
-51
67
-77
1
-2
0
0
0
0
0
0
9
17
-61
-7
12
50
37
-71
0
40
0
3
0
0
0
0
0
0
37
15
-24
79
79
64
16
62
17
0
0
0
0
0
0
0
0
-10
0
0
1
-3
-6
78
0
5
0
0
0
0
0
0
0
0
29
-40
-78
47
-12
-17
-47
0
-21
15
0
0
0
0
0
0
0
-42
85
3
90
-61
18
-78
45
59
37
0
0
0
0
0
0
0
97
-12
-76
-45
-72
18
27
-2
-10
-53
-7
0
0
0
0
0
0
36
63
44
-68
83
4
44
18
-7
34
0
0
0
0
0
0
0
99
120
-83
-55
68
-46
-51
20
73
15
0
0
0
0
0
0
0
41
14
108
55
5
-53
131
26
3
22
0
0
0
0
0
0
0
9
-97
41
103
74
42
17
-27
0
-7
0
0
0
0
0
0
0
35
-7
-9
11
-4
18
89
42
58
0
0
0
0
0
0
0
0
0
0
0
0
6
0
15
1
10
0
0
0
0
0
0
0
0
0
0
2
17
24
4
-38
0
-7
-1
-12
0
0
0
0
0
0
0
-21
-132
-33
-14
-40
-41
-15
-31
-55
44
0
0
0
0
0
0
0
9
15
4
17
-17
-52
-97
-42
48
-5
0
0
0
0
0
0
0
3
96
28
9
-11
88
1
-16
2
-2
0
0
0
0
0
0
0
-29
11
5
80
62
32
-27
28
-32
3
0
0
0
0
0
0
0
1
-9
0
2
-109
31
-69
-17
13
-14
0
0
0
0
0
0
0
0
-4
-6
-44
5
-40
-91
42
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-11
12
-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
-9
0
3
-2
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
-2
1
-8
10
5
62
30
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
-3
-10
-29
0
0
0
0
0
0
0
0
3
-3
0
3
-1
-13
-13
1
0
8
0
0
0
0
0
0
0
-2
0
0
0
9
1
-8
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
10
0
6
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
4
0
0
7
0
-5
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
21
0
2
6
-2
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
-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
0
0
0
0
0
65
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-51
0
-13
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
13
-34
9
0
0
0
0
0
0
0
0
0
16
-32
0
28
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
20
-12
61
-10
0
15
0
0
0
0
0
0
0
0
0
0
0
9
28
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
109
0
26
-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
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-45
-10
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
31
7
-76
31
0
0
0
0
0
0
0
0
0
0
0
0
4
16
6
11
-7
0
0
0
0
0
0
0
0
0
-7
-45
3
43
4
6
-12
4
0
0
0
0
0
0
0
0
0
0
-11
1
2
0
39
0
8
0
0
0
0
0
0
0
0
0
0
0
-21
9
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
-7
-5
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
13
4
48
39
0
0
0
0
0
0
0
0
0
0
12
0
-17
0
-44
-26
-3
5
0
0
0
0
0
0
0
0
0
5
-25
-24
52
2
-18
-11
0
0
0
0
0
0
0
0
2
0
0
0
-57
27
8
-5
11
16
0
0
0
0
0
0
0
0
0
20
-1
-1
44
-4
12
3
0
2
0
0
0
0
0
0
15
-2
-1
0
20
0
-60
10
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
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
-2
0
0
0
32
-41
55
-16
17
0
0
0
0
0
0
0
0
3
-2
0
2
25
4
25
-84
23
0
0
0
0
0
0
0
0
-8
-4
6
-18
36
75
51
-7
-5
0
0
0
0
0
0
0
0
1
0
1
2
6
40
-3
5
0
0
0
0
0
0
0
0
-5
-8
-2
-18
7
-67
14
-15
-10
-3
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-44
1
20
-4
0
0
0
0
0
0
0
0
-2
0
-6
0
14
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-1
13
-11
0
0
0
0
0
0
0
0
0
0
0
-27
-12
-33
55
11
-84
-1
18
7
0
0
0
0
0
0
0
6
6
6
-69
-31
-100
113
4
-14
0
0
0
0
0
0
0
-13
-6
2
-21
-3
-66
-28
-33
-19
9
0
0
0
0
0
0
0
-24
36
-33
-7
-60
-6
6
26
-70
-3
0
0
0
0
0
0
0
-2
-28
-46
10
-9
24
-2
24
29
33
0
0
0
0
0
0
0
0
4
-4
-5
-10
0
33
37
21
3
-4
0
0
0
0
0
0
1
-9
1
-12
18
0
-39
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-15
5
0
0
0
0
0
0
0
0
0
0
1
0
0
13
-3
99
-64
0
6
0
0
0
0
0
0
0
0
9
-12
-3
-1
17
45
-92
-41
62
0
0
0
0
0
0
0
0
-40
-13
-1
-1
-19
-82
10
107
2
-11
0
0
0
0
0
0
3
15
2
15
-29
-77
39
-26
31
68
0
0
0
0
0
0
0
-6
55
-12
-13
-57
-34
40
54
-9
-1
0
0
0
0
0
0
0
78
17
67
106
1
-57
19
55
-34
-10
0
0
0
0
0
0
0
-2
21
3
3
-20
20
-7
-28
-56
-5
0
0
0
0
0
0
0
0
-22
-4
-6
13
-5
0
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
17
0
0
0
0
0
0
0
0
3
-5
3
-2
134
-18
-44
11
0
-13
0
0
0
0
0
0
0
-17
26
-72
-14
44
87
6
-58
8
20
-25
0
0
0
0
0
0
-27
-1
45
116
-75
47
82
-66
-50
-105
-3
0
0
0
0
0
0
27
5
0
41
14
76
116
53
10
27
-2
0
0
0
0
0
0
6
15
21
-19
143
-46
40
-34
173
-70
0
0
0
0
0
0
0
9
144
-6
126
12
-78
91
-72
36
-23
0
0
0
0
0
0
0
0
-77
67
21
75
111
14
-31
6
-1
0
0
0
0
0
0
0
2
94
46
-12
47
57
87
0
-18
-16
0
0
0
0
0
0
0
0
2
0
0
-31
-1
-27
-10
8
0
0
0
0
0
0
0
0
0
-68
-8
56
-2
0
-105
27
0
6
0
0
0
0
0
0
0
0
-75
-100
-27
-114
-37
-52
-47
84
-40
6
0
0
0
0
0
0
-13
-11
51
29
104
-50
29
84
-17
-115
0
0
0
0
0
0
0
1
56
-30
31
-62
-94
22
-72
-14
22
9
0
0
0
0
0
0
35
17
7
106
-46
7
0
-65
89
-35
11
0
0
0
0
0
0
-46
-17
96
-12
12
-101
-49
40
23
18
1
0
0
0
0
0
0
-2
-7
29
3
-37
48
63
26
35
-101
0
0
0
0
0
0
0
5
-2
53
82
14
-75
67
-66
0
-26
-2
0
0
0
0
0
0
0
3
-4
-1
4
17
-26
14
-18
0
0
0
0
0
0
0
0
0
0
24
4
10
-14
-18
71
0
0
9
0
0
0
0
0
0
0
-38
52
16
171
7
-28
28
-24
-59
-8
0
0
0
0
0
0
0
87
23
-24
54
-60
-71
-79
-3
33
20
0
0
0
0
0
0
0
-39
13
33
-99
-142
-43
-13
5
-15
69
0
0
0
0
0
0
0
40
-28
-16
-40
-69
71
2
25
-46
-41
0
0
0
0
0
0
0
38
105
-3
-2
-24
77
16
-25
-34
66
0
0
0
0
0
0
0
-31
-39
14
-43
77
-16
-20
53
5
-13
0
0
0
0
0
0
0
-11
-5
0
22
-28
-37
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-62
14
-20
1
0
0
0
0
0
0
0
0
0
0
0
-2
19
-39
0
-25
-7
0
0
0
0
0
0
0
0
1
1
0
4
24
4
-87
-3
46
0
0
0
0
0
0
0
0
-8
2
0
61
3
-108
11
-26
73
-2
0
0
0
0
0
0
0
-6
-14
-7
-32
39
-2
-7
27
83
0
0
0
0
0
0
0
0
0
0
0
4
-88
23
92
-36
11
5
0
0
0
0
0
0
0
-6
-2
0
2
-6
5
40
-25
11
-2
0
0
0
0
0
0
0
0
0
0
7
-8
-12
-18
-42
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
-19
-1
0
0
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
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
0
0
-7
0
0
0
0
0
0
0
0
0
-7
0
0
0
-6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-1
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-76
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
34
-5
9
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-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
2
0
0
0
0
0
-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
0
0
0
-5
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
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
4
7
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
-3
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
-4
0
0
0
0
0
0
0
0
0
0
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
15
3
0
25
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
125
-2
-11
0
-10
5
0
0
0
0
0
0
0
0
4
0
5
-3
-25
-1
22
0
2
0
-2
0
0
0
0
0
0
-3
0
-12
1
39
-78
0
7
0
0
0
0
0
0
0
0
0
-11
-8
0
16
-41
0
44
-7
-39
0
0
0
0
0
0
0
0
1
-2
0
9
0
-1
-2
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
-6
-7
0
9
0
0
0
0
0
0
0
0
0
0
15
-25
-8
-32
0
-8
0
0
0
0
0
0
0
0
0
-1
4
3
0
13
-17
-42
-1
-6
0
0
0
0
0
0
0
0
-1
0
-19
-26
-10
-14
-35
73
-2
0
0
0
0
0
0
0
0
0
0
15
21
12
0
61
1
9
0
0
0
0
0
0
0
0
3
0
0
-35
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-20
-4
0
18
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
-3
1
0
0
0
0
0
0
0
0
0
0
-4
-10
16
-19
79
26
0
0
0
0
0
0
0
0
0
0
0
32
-17
-10
-29
-29
6
2
0
0
0
0
0
0
0
0
0
-2
-3
-2
-7
28
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
18
0
-2
0
0
0
0
0
0
0
0
0
0
4
5
0
41
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
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
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
-3
0
0
0
0
0
4
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
-1
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
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
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
12
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-3
1
0
0
-15
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
-7
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
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
6
0
0
-21
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
9
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
4
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-4
-6
1
27
0
4
0
0
0
0
0
0
0
0
0
0
0
10
6
-16
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
-10
13
-1
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-5
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
22
-10
0
-2
0
-7
0
0
0
0
0
0
0
62
-23
-43
-151
5
0
-4
0
-41
14
0
0
0
0
0
0
0
-12
-2
36
-45
21
15
-17
7
-32
103
-3
0
0
0
0
0
0
-20
-21
112
125
7
-47
-16
0
-66
3
0
0
0
0
0
0
0
10
34
-5
27
-24
99
-12
-2
2
-10
0
0
0
0
0
0
0
26
-12
-17
-13
-14
5
-12
-5
-12
1
0
0
0
0
0
0
0
2
30
5
-1
1
2
0
0
0
3
0
0
0
0
0
0
0
0
-8
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
-3
0
5
-1
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
1
7
0
-1
0
-43
-45
0
0
0
0
0
0
0
0
0
-23
-9
-68
1
1
16
2
-58
-1
0
0
0
0
0
0
0
0
0
10
-23
2
0
0
2
-45
0
0
0
0
0
0
0
0
0
10
-8
5
3
8
0
-9
-10
0
0
0
0
0
0
0
0
-4
0
6
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-3
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
-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
1
-24
7
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
1
-2
9
0
0
-7
1
5
0
0
0
0
0
0
0
0
-1
-6
-3
-4
1
7
-3
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-11
0
7
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-31
-10
42
4
-1
-23
2
0
0
0
0
0
0
0
0
0
0
3
-2
15
-9
1
0
-8
0
0
0
0
0
0
0
0
0
15
0
0
23
-2
-1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-6
-1
-8
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
-5
-11
0
21
0
1
-14
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
-1
0
0
-17
0
0
0
0
0
0
0
0
0
1
1
0
-3
56
-3
7
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
12
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-6
-2
-8
0
-5
-20
6
0
0
0
0
0
0
0
1
6
-10
10
1
-5
0
14
0
14
0
0
0
0
0
0
0
0
-36
-18
8
7
0
0
11
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
-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
4
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
11
7
20
-33
-1
0
5
0
0
0
0
0
0
0
0
0
1
-26
-13
9
-31
4
9
-18
-2
0
0
0
0
0
0
0
0
5
9
13
3
77
18
1
-2
-12
0
0
0
0
0
0
0
0
0
-12
9
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
16
-11
0
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
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
9
41
67
21
0
2
0
0
0
0
0
0
0
0
0
0
0
3
46
-31
20
-5
-5
-5
-9
0
0
0
0
0
0
0
0
-2
18
-31
31
-6
-44
-112
-3
-4
16
0
0
0
0
0
0
0
1
-10
-11
-2
23
-1
0
0
-6
3
0
0
0
0
0
0
0
0
0
-9
14
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
-6
-18
11
2
14
0
11
0
1
0
0
0
0
0
0
0
0
21
73
19
-33
177
0
0
-10
0
0
0
0
0
0
0
0
27
-32
83
-78
-76
-1
-18
-11
-28
-22
-7
0
0
0
0
0
0
4
-29
2
-31
120
0
5
0
28
-1
1
0
0
0
0
0
0
-21
-6
-82
19
114
29
4
-3
-12
0
1
0
0
0
0
0
0
2
90
17
52
-28
-9
0
0
-2
2
0
0
0
0
0
0
0
-7
0
-6
0
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-74
-45
-43
0
-21
-154
-5
7
0
0
0
0
0
0
29
-35
78
-50
6
0
-6
0
-89
-3
2
0
0
0
0
0
0
-22
126
14
-12
-94
-59
-84
-54
39
-43
0
0
0
0
0
0
0
-1
76
77
122
-85
-35
43
-13
0
-2
-3
2
0
0
0
0
0
-80
-20
-12
-4
19
-24
2
-7
3
0
0
0
0
0
0
0
0
-31
-68
89
87
-115
-48
-26
-38
4
2
0
0
0
0
0
0
0
0
-8
103
5
-4
5
0
0
-20
0
0
0
0
0
0
0
0
0
0
25
5
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
-2
-2
11
4
-13
0
-1
-92
12
3
0
0
0
0
0
0
0
16
-40
-47
-13
0
-1
0
8
25
12
0
0
0
0
0
0
0
-21
-5
41
3
-24
32
14
16
49
-7
0
0
0
0
0
0
0
-18
-46
3
68
26
10
-7
-16
14
20
5
0
0
0
0
0
0
-9
-1
53
13
21
-20
29
-3
50
0
0
0
0
0
0
0
0
-4
6
-3
-22
11
37
18
0
1
0
0
0
0
0
0
0
0
0
4
-3
-6
1
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
-1
0
-3
-3
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
-1
-5
0
1
0
0
0
0
0
0
0
5
-9
-2
6
9
-3
1
-8
-1
0
0
0
0
0
0
0
0
4
9
0
-8
5
-12
2
7
-18
2
0
0
0
0
0
0
0
2
0
-19
2
0
-3
-29
-1
-1
0
0
0
0
0
0
0
0
2
0
-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
-3
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
-4
1
3
5
11
5
1
0
1
0
0
0
0
0
0
0
0
0
-4
10
2
11
0
-3
-5
-2
0
0
0
0
0
0
0
0
0
5
-5
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
10
2
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
69
43
-1
-33
2
0
0
0
0
0
0
0
0
0
0
0
4
-38
-1
-14
4
-18
-3
-12
3
0
0
0
0
0
0
0
0
31
18
1
6
26
-1
-3
1
1
0
0
0
0
0
0
0
-29
0
-2
1
-10
6
7
0
0
0
0
0
0
0
0
0
0
0
6
-6
1
0
10
-28
4
1
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
29
-25
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-17
4
0
2
-7
-7
0
0
0
0
0
0
0
0
-6
-10
-2
-9
15
-9
18
-2
0
0
0
0
0
0
0
0
0
0
0
5
1
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-78
-15
13
1
0
0
0
0
0
0
0
0
0
0
0
-10
-35
-33
-1
-3
11
1
0
0
0
0
0
0
0
0
0
0
0
21
22
-11
-114
-24
2
4
-9
6
0
0
0
0
0
0
0
0
-3
-37
-3
13
22
1
0
-8
-9
0
0
0
0
0
0
0
0
0
-1
12
-52
31
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
5
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
-8
26
15
2
-4
0
0
0
0
0
0
0
0
0
0
0
3
-23
30
67
40
7
-20
0
7
0
0
0
0
0
0
0
0
0
-2
-13
20
6
-13
10
13
19
0
0
0
0
0
0
0
0
0
-30
-10
15
10
25
-2
-46
5
0
0
0
0
0
0
0
0
0
7
-17
-51
-32
-98
54
0
0
-4
0
0
0
0
0
0
0
0
0
-8
22
31
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
-27
40
3
44
-6
0
0
0
0
0
0
0
0
0
0
0
3
12
44
-87
12
29
-5
0
12
0
0
0
0
0
0
0
0
-21
-47
1
-7
-23
0
10
4
-29
-10
0
0
0
0
0
0
0
5
-12
-117
-60
-56
-36
-9
61
7
-10
-11
0
0
0
0
0
0
0
-40
56
-31
-126
12
37
0
0
0
0
0
0
0
0
0
0
0
-1
5
45
13
7
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-16
13
19
18
0
0
1
0
0
0
0
0
0
0
49
-3
-25
86
145
-41
-26
0
-25
0
-2
0
0
0
0
0
0
-15
-76
-37
-26
-135
23
21
-9
79
-6
3
0
0
0
0
0
0
17
-115
19
117
-106
15
58
78
-44
-13
0
0
0
0
0
0
0
23
-39
-15
-24
-159
70
13
4
-27
2
0
0
0
0
0
0
0
0
-18
68
-29
-6
-20
-21
-12
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
-1
0
0
0
0
0
0
0
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
-12
1
15
-3
0
0
-1
3
0
0
0
0
0
0
24
183
-126
-5
-89
-44
-33
0
-23
0
29
0
0
0
0
0
0
-29
-131
-13
-40
-111
-13
76
5
44
-62
-7
-1
0
0
0
0
0
-49
-4
-67
9
89
19
72
-28
-20
-51
-7
-11
0
0
0
0
0
50
59
24
-138
-100
-67
-41
7
-3
-5
-18
0
0
0
0
0
0
-2
-10
-11
-13
55
10
5
3
0
0
0
0
0
0
0
0
0
-6
3
27
0
89
1
38
2
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
139
85
3
-49
-32
9
0
0
1
0
0
0
0
0
0
-63
39
43
-7
13
37
77
0
-26
0
3
0
0
0
0
0
0
-7
20
-46
-61
51
26
46
-50
5
-3
-18
0
0
0
0
0
0
-137
57
7
-38
-64
29
-156
-6
84
-47
11
-12
0
0
0
0
0
64
-63
21
59
-39
-14
-78
32
-14
-6
-2
1
0
0
0
0
0
-2
-9
-55
-3
131
26
-22
6
2
0
0
0
0
0
0
0
0
0
0
5
-80
-17
-3
0
4
0
0
-1
0
0
0
0
0
0
0
0
3
11
-15
4
-6
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
-17
-56
-55
-90
21
32
-23
0
-159
-27
3
0
0
0
0
0
0
-89
7
47
-140
45
-104
0
-21
0
-13
12
0
0
0
0
0
0
38
-64
-57
0
20
23
-35
-37
21
-41
-34
0
0
0
0
0
0
-8
46
46
30
-15
-100
-67
-4
69
-21
4
2
0
0
0
0
0
-21
-58
-10
48
-42
-49
-129
3
49
14
-13
-2
0
0
0
0
0
9
33
70
49
-134
43
-49
1
-7
-4
0
0
0
0
0
0
0
-15
28
46
38
26
99
19
0
-15
-2
0
0
0
0
0
0
0
0
-13
63
7
-24
0
-8
0
8
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
0
0
41
-11
-49
7
-1
0
0
1
15
0
0
0
0
0
0
0
33
-12
-44
-104
-20
0
-15
0
1
8
0
0
0
0
0
0
0
-26
13
-76
78
-71
-22
-6
-2
76
-9
2
0
0
0
0
0
0
41
82
51
-43
-28
48
-6
-3
-31
-92
-5
0
0
0
0
0
0
-26
63
-31
33
74
8
7
28
-9
8
0
0
0
0
0
0
0
-5
28
50
-29
13
-14
5
3
0
3
0
0
0
0
0
0
0
0
20
6
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-4
-5
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
4
-3
1
0
9
0
0
5
-7
0
0
0
0
0
0
0
0
-12
19
-15
6
0
-27
0
41
12
0
0
0
0
0
0
0
0
-4
10
-2
-30
-66
18
13
-32
12
-6
0
0
0
0
0
0
0
8
-22
-58
-8
24
21
23
0
-10
-10
-3
0
0
0
0
0
0
0
-1
-16
-7
-2
27
-5
9
-57
4
0
0
0
0
0
0
0
0
43
0
0
4
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
6
-1
-1
0
0
0
0
0
0
0
-7
2
0
-4
-17
0
2
0
-2
0
0
0
0
0
0
0
0
-12
-10
-5
0
1
-6
1
5
1
0
0
0
0
0
0
0
0
1
5
0
4
0
3
-6
6
-14
0
0
0
0
0
0
0
0
0
0
0
9
-13
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
-1
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
1
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
1
0
5
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
2
10
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
27
-16
4
0
0
-12
0
0
0
0
0
0
0
0
0
0
-1
16
-5
2
-8
8
0
0
0
0
0
0
0
0
0
0
-2
42
-11
5
0
0
26
0
0
0
0
0
0
0
0
0
0
-4
-8
-1
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
-7
4
13
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-49
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
13
-17
8
15
0
0
0
0
0
0
0
0
0
0
-1
3
0
-18
9
-63
-12
9
1
0
0
0
0
0
0
0
0
0
0
0
13
-45
-31
-86
5
0
-10
0
0
0
0
0
0
0
0
-13
0
-37
0
-61
1
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
-2
0
22
0
6
0
0
0
0
0
0
0
0
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
-11
-9
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
32
54
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
29
11
-41
-29
-29
1
15
25
0
0
0
0
0
0
0
-17
-25
-14
3
41
34
3
8
-4
11
0
0
0
0
0
0
0
-8
44
8
7
-42
118
-136
-3
8
0
0
0
0
0
0
0
0
0
0
-4
37
-5
7
38
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-3
0
2
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
-1
-53
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
-96
53
47
1
0
-3
0
0
0
0
0
0
0
0
-5
-11
82
-33
-54
13
8
0
26
0
1
0
0
0
0
0
0
6
-28
-145
-31
-8
-109
33
3
11
2
0
0
0
0
0
0
0
0
-13
-12
-38
18
14
-61
-16
-31
-24
0
0
0
0
0
0
0
0
-9
-2
71
-67
11
-7
-12
0
0
0
0
0
0
0
0
0
0
0
-21
0
23
0
-3
0
3
-5
0
0
0
0
0
0
0
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
-14
1
-101
10
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
67
-33
4
-72
-5
0
-1
0
0
0
0
0
0
0
0
9
52
-1
-92
-77
-43
-68
0
0
12
4
0
0
0
0
0
0
-3
53
-25
-11
36
0
-11
5
20
0
0
0
0
0
0
0
0
1
-3
71
66
26
44
14
-2
-3
5
0
0
0
0
0
0
0
0
-3
-25
-74
28
87
3
0
-1
0
0
0
0
0
0
0
0
0
0
-40
-64
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
2
14
0
0
0
-8
0
0
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
-35
-24
3
-30
-7
0
0
12
2
0
0
0
0
0
0
-39
-39
-57
43
12
104
-33
0
1
0
0
0
0
0
0
0
0
80
43
83
-31
7
-4
30
3
60
-116
0
0
0
0
0
0
0
-9
44
47
-4
-89
-13
-8
-62
6
51
0
0
0
0
0
0
0
13
-13
14
-3
-9
-25
31
-23
62
0
0
0
0
0
0
0
0
-1
-78
-14
-102
81
-45
8
1
0
37
0
0
0
0
0
0
0
0
0
-32
0
-52
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-68
-19
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
-19
-40
-11
-50
-40
-84
-72
5
0
0
1
0
0
0
0
0
0
0
13
26
46
-47
-83
-75
0
18
0
8
0
0
0
0
0
0
8
-96
-83
29
-178
-57
-14
-40
105
-70
8
0
0
0
0
0
0
97
-61
1
-37
-206
71
-88
-1
-72
15
16
0
0
0
0
0
0
1
122
-139
-109
-30
-41
-21
3
1
90
0
0
0
0
0
0
0
-7
-48
28
-15
44
-82
-9
-2
-1
-10
0
0
0
0
0
0
0
-1
-13
37
18
-4
8
-9
-3
5
0
0
0
0
0
0
0
0
0
-7
0
-5
6
-2
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
-2
-13
12
4
-67
14
-1
-15
0
0
-4
-1
0
0
0
0
0
46
13
18
77
-78
-19
-66
0
-3
0
-41
-7
0
0
0
0
0
-157
3
64
-53
-33
95
-58
-18
27
-92
45
-1
0
0
0
0
0
-46
-141
101
12
16
26
47
118
-43
-5
-22
0
0
0
0
0
0
-12
58
-42
54
46
-149
-36
-12
18
-20
-4
0
0
0
0
0
0
0
-33
59
-15
-113
53
20
-2
16
8
0
0
0
0
0
0
0
0
-1
-82
-166
12
-1
-88
-1
-3
0
0
0
0
0
0
0
0
0
37
1
-72
5
-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
0
0
0
0
-4
88
-10
-4
45
-7
20
0
-123
-3
0
0
0
0
0
0
0
11
-50
31
-19
-8
-16
0
0
0
-44
18
0
0
0
0
0
0
42
-1
-33
-76
30
-17
0
-133
5
41
-22
0
0
0
0
0
0
18
-110
0
-61
-10
-40
36
-37
-29
-41
-6
0
0
0
0
0
0
23
-36
-43
-41
37
-6
26
80
67
17
-5
0
0
0
0
0
0
124
-56
-113
-95
63
-24
-52
24
6
0
0
0
0
0
0
0
0
-49
-4
19
125
125
-41
8
3
0
0
0
0
0
0
0
0
0
11
-19
-13
18
5
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
1
-40
17
-7
23
2
0
0
49
0
0
0
0
0
0
0
0
53
50
-11
-171
28
0
-3
0
67
0
0
0
0
0
0
0
0
48
43
-61
12
-32
-7
27
-48
-71
0
0
0
0
0
0
0
0
4
80
-16
48
25
-29
5
1
-25
-13
2
0
0
0
0
0
0
-26
36
-30
-64
15
-8
-4
6
-10
0
4
0
0
0
0
0
0
-1
-39
-37
1
9
14
6
0
4
3
0
0
0
0
0
0
0
0
2
-1
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-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
3
0
0
5
0
-1
0
0
0
0
0
0
0
0
1
-5
-10
-29
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
10
-6
14
-13
2
3
31
-9
-5
0
0
0
0
0
0
0
-5
-5
2
11
-40
7
2
3
-1
-5
0
0
0
0
0
0
0
2
16
-12
1
-6
-16
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
0
0
0
-2
0
0
2
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-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
10
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
-46
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
-27
7
1
0
0
10
0
0
0
0
0
0
0
0
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
5
7
0
0
2
0
0
0
0
0
0
0
0
0
0
5
20
-3
-16
5
21
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
-1
17
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
-16
85
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
2
54
0
1
-22
-32
5
0
0
0
0
0
0
0
4
0
1
15
32
71
14
0
2
0
0
0
0
0
0
0
0
0
-46
0
-3
-60
3
7
2
0
2
0
0
0
0
0
0
0
0
-5
-4
17
25
34
4
32
0
0
0
0
0
0
0
0
0
0
0
0
15
0
3
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
46
9
7
0
-6
0
0
0
0
0
0
0
0
0
0
0
-50
53
16
-80
-3
7
0
0
0
0
0
0
0
0
0
0
7
-1
-110
4
-21
20
6
0
2
11
-2
0
0
0
0
0
0
2
21
6
-18
-2
-14
5
-2
1
6
0
0
0
0
0
0
0
-16
41
-24
0
109
-21
42
31
13
25
0
0
0
0
0
0
0
0
0
-2
0
-30
-51
25
4
-1
-12
0
0
0
0
0
0
0
-3
0
17
-14
-67
7
-17
6
2
0
0
0
0
0
0
0
0
0
0
3
0
-1
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
-3
-7
70
-35
7
12
0
0
0
0
0
0
0
0
0
0
0
-13
-4
-36
23
38
-5
21
0
-3
0
0
0
0
0
0
0
0
5
72
11
47
57
25
-13
-1
-27
12
-3
0
0
0
0
0
0
9
-7
7
12
-42
-76
-15
5
0
-10
0
0
0
0
0
0
0
-6
-67
-169
8
0
2
-143
5
20
0
0
0
0
0
0
0
0
0
8
9
-27
-58
-1
-16
5
-10
0
0
0
0
0
0
0
0
0
0
-23
-21
9
-1
0
9
2
-4
0
0
0
0
0
0
0
0
0
-28
-10
0
1
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
-3
10
-2
6
-48
0
-2
0
0
0
0
0
0
0
0
0
0
-10
18
-7
14
40
5
19
0
-1
0
3
0
0
0
0
0
0
-5
-60
24
-5
6
-62
-37
0
11
31
1
0
0
0
0
0
0
-2
27
78
-94
-44
-9
25
63
-3
7
7
0
0
0
0
0
0
3
6
18
-59
-81
0
-61
0
0
-7
0
0
0
0
0
0
0
0
-8
-15
-24
-109
-28
-34
0
0
0
0
0
0
0
0
0
0
0
-3
14
-4
-4
-35
4
0
5
-2
0
0
0
0
0
0
0
0
0
-1
-13
6
7
6
-4
-6
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
-19
-62
106
-129
22
2
-49
0
0
0
0
0
0
0
0
0
0
-6
71
-14
103
8
-117
10
0
16
0
2
0
0
0
0
0
0
25
39
-49
169
-35
22
-90
-9
-33
-12
0
-3
0
0
0
0
0
13
-15
-7
35
-121
35
-100
23
-7
1
-10
0
0
0
0
0
0
-69
-54
-21
10
25
-63
0
-23
-35
1
0
0
0
0
0
0
0
7
40
-64
-106
-31
44
68
0
3
-6
0
0
0
0
0
0
0
9
1
20
-86
-91
6
26
-13
0
-13
0
0
0
0
0
0
0
0
3
-33
13
17
33
13
3
0
0
0
0
0
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
-121
-66
-46
-26
-127
2
0
0
0
0
0
0
0
0
0
16
-26
46
-48
11
-185
-42
0
-8
0
0
0
0
0
0
0
0
-61
39
7
-20
19
36
64
1
-78
-42
-4
0
0
0
0
0
0
-7
-35
173
19
-84
1
62
-41
69
37
-2
0
0
0
0
0
0
38
-5
12
59
-65
-15
-22
0
-67
24
9
9
0
0
0
0
0
4
-53
-23
-104
-52
27
42
-59
0
-73
0
0
0
0
0
0
0
4
8
-19
-9
32
8
25
23
-2
5
0
0
0
0
0
0
0
0
9
-2
-30
-48
18
-38
7
1
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
6
12
84
81
-59
72
61
0
0
5
-2
0
0
0
0
0
0
-50
-77
8
-11
17
-103
55
0
-35
0
39
-2
0
0
0
0
0
-78
-3
-45
-14
-30
50
-67
-61
24
-81
1
0
0
0
0
0
0
31
56
-46
18
78
-78
-43
4
-20
-79
-7
0
0
0
0
0
0
-25
-10
-54
-27
-96
39
-32
57
0
-25
-2
3
0
0
0
0
0
11
-97
43
-51
3
-109
53
40
74
0
8
0
0
0
0
0
0
5
-19
-182
3
-108
-18
110
53
-8
-1
0
0
0
0
0
0
0
0
1
-9
95
-20
-5
1
2
4
-2
0
0
0
0
0
0
0
0
22
53
-3
-20
0
0
0
2
0
0
0
0
0
0
0
0
0
-113
-39
-121
0
-36
8
-8
0
-12
0
1
0
0
0
0
0
0
6
20
71
27
35
-56
0
-13
0
-21
7
0
0
0
0
0
0
-26
-56
105
86
156
-58
-30
-83
36
83
-3
0
0
0
0
0
0
57
50
-90
-66
-12
-39
5
-7
38
8
-10
0
0
0
0
0
0
-45
97
154
-83
91
21
-49
-26
0
15
-9
0
0
0
0
0
0
58
-36
47
121
-76
-28
-77
12
-39
2
0
2
0
0
0
0
0
-1
18
43
-62
-133
83
-12
42
-6
0
0
0
0
0
0
0
0
-1
20
124
-39
46
4
2
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
12
34
-50
48
-8
10
0
5
90
0
0
0
0
0
0
0
0
-28
47
-55
29
-88
0
0
0
-21
-2
0
0
0
0
0
0
0
10
44
21
-11
113
30
-54
23
-27
2
0
0
0
0
0
0
0
1
59
57
-28
-52
50
-4
5
15
6
0
0
0
0
0
0
0
6
5
16
60
-3
-34
15
1
0
0
0
0
0
0
0
0
0
0
32
63
-81
5
8
-3
-12
-13
0
0
0
0
0
0
0
0
-7
-6
1
-24
-2
9
1
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
-19
0
0
12
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
11
-2
0
8
0
16
3
0
0
0
0
0
0
0
0
2
0
1
-2
27
3
-10
-2
-23
-5
0
0
0
0
0
0
0
0
0
-5
-76
6
3
1
3
0
0
0
0
0
0
0
0
0
0
13
-9
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
18
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
0
-17
5
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
30
0
55
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-17
60
-107
13
12
0
0
0
0
0
0
0
0
0
0
0
-17
10
-36
19
-1
-4
0
-6
3
0
0
0
0
0
0
0
0
-33
0
-4
5
0
2
-2
4
0
0
0
0
0
0
0
0
0
22
1
-17
-13
-51
-9
0
0
-23
0
0
0
0
0
0
0
0
0
0
18
-1
-23
0
0
-8
-11
0
0
0
0
0
0
0
0
0
45
-1
19
4
8
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
-12
0
0
0
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
-2
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
45
20
3
12
2
0
0
0
0
0
0
0
0
0
0
0
2
7
3
4
-5
-3
0
9
7
0
0
0
0
0
0
0
0
8
3
40
27
-68
7
0
-9
3
0
0
0
0
0
0
0
-7
24
35
-38
9
-51
-2
12
0
9
0
0
0
0
0
0
0
0
19
14
0
31
0
2
13
-1
3
0
0
0
0
0
0
0
0
2
-55
28
-72
-26
8
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
6
9
-31
-2
16
0
0
0
0
0
0
0
0
0
0
0
39
31
106
2
15
-3
0
0
0
0
0
0
0
0
0
0
9
13
30
6
-9
-1
41
0
13
39
0
0
0
0
0
0
0
0
-146
10
131
9
13
19
0
-7
-44
0
0
0
0
0
0
0
-4
-107
2
32
-84
-33
-6
-39
-5
-11
0
0
0
0
0
0
0
0
-41
19
-62
0
52
11
-6
-5
0
0
0
0
0
0
0
0
-4
31
-56
17
55
-2
-7
-2
-2
-7
0
0
0
0
0
0
0
0
3
4
2
9
-42
0
0
0
0
0
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
5
53
-44
0
-20
0
0
0
0
0
0
0
0
0
0
0
1
55
133
69
15
2
0
0
0
1
0
0
0
0
0
0
-6
21
-5
6
58
59
9
0
16
-43
0
0
0
0
0
0
0
0
-31
-53
-17
-32
29
-35
-96
19
10
0
0
0
0
0
0
0
-7
36
29
-105
-25
51
9
-34
-8
14
0
0
0
0
0
0
0
0
-4
-190
-43
-74
0
-4
69
0
-34
0
0
0
0
0
0
0
-5
-3
-6
74
-12
48
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
1
-74
0
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
-4
-40
5
-88
5
-20
0
0
0
0
0
0
0
0
0
0
-7
-37
24
29
-86
-90
1
0
0
0
0
0
0
0
0
0
0
-44
47
-113
104
-40
45
2
3
45
3
0
0
0
0
0
0
0
-21
-3
-53
-4
-31
102
-6
-5
-29
52
3
0
0
0
0
0
0
68
-38
-48
71
12
-5
-57
9
24
1
0
0
0
0
0
0
0
-1
45
2
32
88
23
0
-3
13
-9
0
0
0
0
0
0
0
-16
-103
-75
-36
-21
14
-15
2
4
7
0
0
0
0
0
0
0
0
70
14
-4
-4
6
11
-6
0
0
0
0
0
0
0
0
0
0
6
-9
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
25
21
20
55
-88
27
0
0
-8
0
0
0
0
0
0
23
-11
-65
22
4
27
46
0
4
0
0
0
0
0
0
0
0
-8
-22
62
-128
-50
148
-97
-41
33
-23
0
0
0
0
0
0
0
2
-11
79
26
-10
50
-93
2
-41
48
0
-2
0
0
0
0
0
-36
33
8
34
13
20
158
-42
27
84
0
-1
0
0
0
0
0
-5
47
-115
4
-67
14
25
0
13
7
0
0
0
0
0
0
0
1
-39
24
61
-92
26
1
-8
8
-105
0
0
0
0
0
0
0
0
19
6
36
-6
1
3
10
4
0
0
0
0
0
0
0
0
0
-16
2
15
3
0
0
0
0
0
0
0
0
0
0
0
0
98
-39
36
1
-3
24
35
9
0
0
0
0
0
0
0
0
0
-16
-99
-92
-52
63
-68
-129
0
-203
0
20
0
0
0
0
0
0
91
25
-9
-3
14
38
44
-104
23
-132
-15
0
0
0
0
0
0
84
65
42
-87
-127
-8
-66
-118
-61
7
5
0
0
0
0
0
0
-23
-19
-5
39
-5
-6
-74
67
91
-14
0
0
0
0
0
0
0
30
-9
-44
77
-8
-20
-21
28
0
57
0
0
0
0
0
0
0
3
69
-52
-44
-12
56
-22
9
-43
-6
1
0
0
0
0
0
0
0
-7
-42
-20
61
-30
-5
2
2
0
0
0
0
0
0
0
0
0
0
0
-23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
11
47
-39
15
29
-31
1
0
118
14
0
0
0
0
0
0
0
-71
49
10
-30
127
114
0
15
0
-1
3
0
0
0
0
0
0
-68
33
63
56
-67
42
-8
-48
22
-47
3
0
0
0
0
0
0
10
6
-28
-91
-15
80
-41
45
146
-19
0
0
0
0
0
0
0
-173
-110
-76
-24
-19
-135
37
22
-6
0
1
0
0
0
0
0
0
-42
55
46
29
-129
55
-93
-124
0
5
0
0
0
0
0
0
0
-39
-117
-87
-57
-8
-26
2
26
-4
0
1
0
0
0
0
0
0
0
-7
-8
9
105
-92
1
0
3
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
-22
0
-21
13
7
-35
0
0
74
0
0
0
0
0
0
0
0
11
-79
-4
13
81
0
-2
0
76
-3
0
0
0
0
0
0
0
22
58
-7
88
61
-7
6
-31
69
-5
0
0
0
0
0
0
0
-22
40
-2
101
-33
-54
-54
1
44
-17
0
0
0
0
0
0
0
56
84
99
-102
-39
-5
1
-1
6
0
-3
0
0
0
0
0
0
0
-29
-8
43
19
-14
-2
0
0
0
0
0
0
0
0
0
0
0
13
-39
19
19
0
0
0
0
0
0
0
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
2
-2
-2
0
-1
-10
1
0
0
0
0
0
0
0
0
-27
3
10
-3
0
0
0
-6
-6
0
0
0
0
0
0
0
0
1
0
13
-2
2
0
-7
0
8
0
0
0
0
0
0
0
0
0
-1
2
28
-13
-3
-4
2
0
0
0
0
0
0
0
0
0
-1
0
-1
-33
0
5
2
0
2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
4
0
4
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
2
-5
-2
14
2
-1
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
0
4
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
18
0
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
2
-44
-5
-64
0
0
-7
0
0
0
0
0
0
0
0
21
4
5
3
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
6
-17
-29
2
-1
1
0
-25
0
0
0
0
0
0
0
0
-3
-2
8
16
5
-6
0
0
0
0
0
0
0
0
0
0
0
-8
0
-8
4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
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
1
19
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-35
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-1
-2
2
0
-12
10
0
0
0
0
0
0
0
0
-26
-1
-5
5
-20
0
-11
0
0
0
0
0
0
0
0
0
0
0
29
5
1
3
0
-8
-1
-11
0
0
0
0
0
0
0
0
18
0
-18
14
-25
-27
-4
1
-18
0
0
0
0
0
0
0
0
1
10
0
-3
5
-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
-36
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
60
-48
11
5
0
0
0
0
0
0
0
0
0
0
-1
0
20
0
-6
6
5
0
0
-10
0
0
0
0
0
0
0
0
3
9
-27
19
-92
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-63
71
-38
2
6
-1
0
0
0
0
0
0
0
0
0
-13
17
-28
6
-43
5
2
5
0
0
0
0
0
0
0
0
0
6
-17
17
0
0
20
3
-27
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
4
-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
56
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-4
-16
-4
9
-27
0
0
0
0
0
0
0
0
0
0
3
12
-39
-15
-35
12
8
0
-14
-64
0
0
0
0
0
0
0
0
42
29
-98
11
-21
0
5
-2
-2
0
0
0
0
0
0
0
0
0
22
-27
52
1
-18
0
-9
-27
0
0
0
0
0
0
0
0
-11
-15
-109
49
6
7
0
3
43
0
0
0
0
0
0
0
0
0
-53
9
60
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
63
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
-67
48
8
-31
0
5
0
0
0
0
0
0
0
0
0
0
0
120
115
-105
-121
73
-10
0
0
0
0
0
0
0
0
0
0
70
-12
27
70
12
20
17
6
0
59
2
0
0
0
0
0
0
0
-15
3
-30
11
-6
-5
1
-1
4
0
0
0
0
0
0
0
-14
-2
-32
-5
-89
-76
38
23
-88
-3
0
0
0
0
0
0
0
0
134
-108
60
-14
-62
13
-42
-2
-4
0
0
0
0
0
0
0
26
-2
-6
-39
41
1
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-10
9
-56
3
1
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
6
-72
73
-65
42
28
0
0
0
0
0
0
0
0
0
0
16
-47
98
19
-33
65
18
0
0
0
0
0
0
0
0
0
0
-5
22
-100
-29
82
-61
-45
37
6
-10
0
0
0
0
0
0
0
1
-18
52
116
-40
35
-68
3
-1
-7
0
0
0
0
0
0
0
-51
5
2
20
73
80
-53
-18
12
-68
-1
0
0
0
0
0
0
-5
-49
-37
-127
-55
48
4
6
-11
3
0
0
0
0
0
0
0
2
-5
4
10
18
75
-116
0
-18
-16
0
0
0
0
0
0
0
0
7
3
91
-27
-3
16
9
0
0
0
0
0
0
0
0
0
0
-1
8
-24
0
0
0
0
-16
0
0
0
0
0
0
0
0
16
-52
102
22
-66
-53
-74
-11
0
0
-3
0
0
0
0
0
0
6
-121
78
-29
57
-161
-34
0
1
0
-7
0
0
0
0
0
0
129
36
70
-22
-17
49
-45
-41
10
4
0
0
0
0
0
0
0
99
40
92
168
-73
-14
-36
112
29
-75
19
0
0
0
0
0
0
35
83
26
-22
-44
41
-61
-57
53
4
0
0
0
0
0
0
0
5
86
0
-15
-57
68
30
-27
-23
21
-7
0
0
0
0
0
0
2
-18
89
22
-45
0
92
-30
0
22
0
0
0
0
0
0
0
0
-48
20
-62
-45
7
79
-50
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
-73
39
-4
51
-47
-5
7
0
71
-6
0
0
0
0
0
0
0
53
72
-63
38
16
-71
0
-20
0
3
2
0
0
0
0
0
0
-46
-59
16
28
46
16
-52
-23
-46
78
0
0
0
0
0
0
0
-11
36
-44
42
32
1
-45
161
-50
-9
-3
0
0
0
0
0
0
25
-6
72
8
13
-71
-18
4
-136
17
0
0
0
0
0
0
0
115
-81
2
-21
80
29
10
-19
46
-5
0
0
0
0
0
0
0
-116
-47
56
22
10
23
-4
17
0
0
0
0
0
0
0
0
0
7
69
10
-10
8
-3
-6
10
-30
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
6
1
3
-24
1
3
0
0
49
0
0
0
0
0
0
0
0
0
-37
31
4
0
0
-2
0
40
-2
0
0
0
0
0
0
0
-10
96
-82
-50
-91
2
-3
1
45
0
0
0
0
0
0
0
0
-21
16
143
-10
10
8
-7
6
8
0
0
0
0
0
0
0
0
-2
68
22
50
171
-50
-18
0
23
0
0
0
0
0
0
0
0
78
-1
19
-35
39
-63
-2
-9
4
0
0
0
0
0
0
0
0
6
-15
-4
87
75
-5
9
0
0
0
0
0
0
0
0
0
0
-1
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
24
0
0
0
-13
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-22
-7
0
0
0
4
-59
0
0
0
0
0
0
0
0
0
0
1
0
2
-23
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-41
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
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
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
-3
-2
7
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
0
0
0
0
0
0
-21
7
0
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
-2
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-15
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
0
0
0
0
8
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-17
-4
-14
-12
-6
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
-16
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
11
0
5
-1
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
5
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-153
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-7
-2
3
2
0
0
0
0
0
0
0
0
0
0
0
-17
2
-17
-44
50
-2
7
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
4
2
1
0
9
0
0
0
0
0
0
0
0
0
0
11
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
30
10
8
0
0
0
0
0
0
0
0
0
0
0
24
5
-32
0
17
0
0
0
0
0
0
0
0
0
0
0
35
0
12
-22
16
2
8
0
0
7
0
0
0
0
0
0
0
-8
-48
0
-68
-11
-24
0
0
0
-7
0
0
0
0
0
0
0
-2
0
-25
-76
39
-12
27
0
2
0
0
0
0
0
0
0
0
0
-35
-11
-21
-29
-2
-14
-26
-2
0
0
0
0
0
0
0
0
-10
15
4
0
-23
30
1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-40
-7
33
0
-17
-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
-17
-2
-4
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
-47
13
3
33
69
3
0
0
0
0
0
0
0
0
0
0
10
2
-43
-170
-151
-49
-6
-9
0
57
0
0
0
0
0
0
0
-19
-75
-4
107
-51
-26
1
5
-4
0
0
0
0
0
0
0
0
-34
-18
2
-53
127
-87
5
0
0
51
0
0
0
0
0
0
0
0
-38
10
-125
-22
8
-4
1
2
1
0
0
0
0
0
0
0
-71
7
88
29
16
-7
-40
4
1
0
0
0
0
0
0
0
0
0
35
-8
18
84
-30
0
0
5
-13
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
-14
-2
61
96
-1
22
0
0
0
13
0
0
0
0
0
0
-1
-60
-43
53
-118
32
-53
0
-23
0
0
0
0
0
0
0
0
-54
-64
27
46
-22
24
-25
59
-85
-77
21
0
0
0
0
0
0
2
-47
-51
69
28
-17
-90
-87
-110
-9
11
0
0
0
0
0
0
49
1
103
-15
-91
-12
-105
-81
-54
-16
0
0
0
0
0
0
0
7
95
9
-34
-75
15
-51
46
99
-20
0
0
0
0
0
0
0
46
91
29
-28
3
-29
23
-3
-18
0
0
0
0
0
0
0
0
0
26
-22
75
13
-65
-71
12
0
3
0
0
0
0
0
0
0
0
4
73
9
-90
0
0
-28
11
0
0
0
0
0
0
0
0
0
0
87
2
-44
66
-6
4
0
23
5
0
0
0
0
0
0
0
52
-39
-80
100
57
-103
0
-2
0
10
0
0
0
0
0
0
0
-46
41
-68
-81
-10
35
11
0
-9
0
0
0
0
0
0
0
0
53
-78
23
-41
84
62
-35
-5
-63
-17
0
0
0
0
0
0
0
21
46
22
-44
121
-91
124
-13
34
-3
0
0
0
0
0
0
0
28
40
-115
24
-100
-60
-55
49
14
-1
0
0
0
0
0
0
0
-8
-71
75
-33
-31
71
72
-42
1
0
0
0
0
0
0
0
0
-91
100
-5
12
-24
59
-187
7
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
-13
-7
23
-148
0
1
0
0
2
0
0
0
0
0
0
0
0
-25
-3
27
-6
-17
0
-7
0
48
0
0
0
0
0
0
0
0
-11
-12
42
40
1
62
0
0
9
0
0
0
0
0
0
0
0
-9
-28
-51
-22
53
7
3
0
-9
0
0
0
0
0
0
0
0
2
55
-46
-30
-21
-21
9
13
-75
0
0
0
0
0
0
0
0
36
19
68
15
-13
6
0
-8
4
0
0
0
0
0
0
0
0
-5
12
6
-37
-12
-7
0
0
4
0
0
0
0
0
0
0
0
3
2
7
33
-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
-1
0
0
0
0
-3
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
0
-23
0
0
-4
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
19
3
0
0
0
0
-20
11
0
0
0
0
0
0
0
0
0
1
0
8
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
2
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
2
0
2
3
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
3
-4
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
-13
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
3
3
-59
-17
17
0
0
-2
0
0
0
0
0
0
0
0
0
0
-31
-1
61
-1
27
-37
0
33
0
0
0
0
0
0
0
0
6
3
54
-16
45
1
11
0
0
0
0
0
0
0
0
0
0
0
-10
0
-148
17
16
12
0
-6
0
0
0
0
0
0
0
0
7
0
-19
0
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
1
12
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
-39
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-65
-94
-13
19
0
0
0
0
0
0
0
0
0
0
0
-24
-7
-34
13
-127
-61
0
8
-12
0
0
0
0
0
0
0
0
-14
-62
-33
67
65
98
-16
-1
-11
0
0
0
0
0
0
0
0
-75
50
75
91
51
-71
-22
7
5
-1
0
0
0
0
0
0
0
0
-41
25
-2
-200
-108
-80
44
-41
0
0
0
0
0
0
0
0
0
0
-32
-103
82
-6
4
1
8
0
0
0
0
0
0
0
0
0
-54
1
97
-17
-25
-35
4
0
0
0
0
0
0
0
0
0
-24
3
49
-16
-5
0
-4
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
-47
3
63
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
52
-4
-27
-1
0
0
-23
0
0
0
0
0
0
0
0
0
71
-21
0
-24
-2
0
0
-13
0
0
0
0
0
0
0
0
-18
0
20
-30
-21
2
0
7
6
0
0
0
0
0
0
0
0
0
-19
25
55
14
-38
-4
0
1
0
0
0
0
0
0
0
0
-19
0
42
0
-59
7
0
0
0
0
0
0
0
0
0
0
0
0
42
0
2
-1
-46
0
0
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
2
0
0
0
0
0
0
0
0
0
6
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
-62
0
3
0
4
4
0
0
1
0
0
0
0
0
0
0
0
0
-43
0
-2
-5
-19
0
0
8
0
0
0
0
0
0
0
0
-7
0
-5
1
-2
0
0
0
14
0
0
0
0
0
0
0
0
0
2
3
-16
0
-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
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
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
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
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
8
0
14
-12
0
-3
0
0
0
0
0
0
0
0
-11
0
-2
0
-2
11
-6
-1
0
0
0
0
0
0
0
0
0
-1
0
-16
3
0
-22
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
1
0
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
4
26
0
0
0
0
0
0
0
0
0
0
0
-28
-8
15
3
11
0
7
0
0
0
0
0
0
0
0
0
-9
0
-6
0
-13
-8
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-77
4
0
0
0
0
0
0
0
0
0
0
1
0
5
0
-4
3
-89
85
0
0
0
0
0
0
0
0
0
0
0
-1
20
6
-11
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-41
-6
0
0
0
0
0
0
0
0
0
16
0
0
0
-2
3
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
0
-6
0
0
0
0
0
0
0
0
1
9
12
17
0
100
0
28
0
4
0
0
0
0
0
0
-19
-1
0
-4
-14
50
4
-26
0
-3
0
0
0
0
0
0
0
-1
0
2
2
-9
4
-6
67
0
0
0
0
0
0
0
0
0
17
-4
-1
0
4
10
-38
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
31
-7
-10
152
33
0
-10
0
-8
0
0
0
0
0
0
0
56
-71
19
-88
35
47
60
-5
-42
0
0
0
0
0
0
0
0
10
3
-34
106
63
29
29
34
11
-26
0
0
0
0
0
0
0
24
1
14
-29
-25
34
-38
13
12
-6
0
0
0
0
0
0
0
27
14
14
-69
-23
-68
54
13
-25
0
0
0
0
0
0
0
0
-51
0
0
44
-37
47
-119
24
-12
5
0
0
0
0
0
0
0
5
0
2
21
23
-22
-1
2
0
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-8
-41
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
29
20
0
13
74
0
0
0
0
0
0
0
0
0
31
-2
-5
-44
-32
6
59
-1
-6
0
0
0
0
0
0
0
0
-6
5
-29
37
17
-13
1
9
8
0
0
0
0
0
0
0
0
-6
0
-7
-8
34
-6
22
2
-2
0
0
0
0
0
0
0
0
-8
0
-11
-43
-35
-1
3
-1
-15
0
0
0
0
0
0
0
0
-7
0
0
2
0
2
-4
-1
3
0
0
0
0
0
0
0
0
0
0
0
-24
0
39
31
-3
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
0
0
0
-11
0
-2
-5
0
0
0
0
0
0
0
0
0
0
-6
0
4
4
13
-3
23
0
0
0
0
0
0
0
0
0
0
-1
-1
3
-1
1
-21
-4
-1
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
-3
-9
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
1
2
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-14
-2
12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
-5
0
0
0
0
0
0
0
-7
4
0
0
6
-22
-88
-47
16
0
0
0
0
0
0
0
0
0
0
-1
13
-6
42
6
25
-13
0
0
0
0
0
0
0
0
0
0
0
7
-5
80
-15
-23
12
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
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-20
-11
22
0
-8
0
0
0
0
0
0
0
0
2
0
0
-1
12
20
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-10
65
-85
26
-20
-28
-2
0
0
0
0
0
0
0
0
0
0
6
9
-13
-4
-36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
0
0
0
0
0
-21
0
-13
-68
-2
-4
42
-25
9
0
0
0
0
0
0
0
0
4
0
-4
-5
-59
-9
-34
-7
0
0
0
0
0
0
0
0
0
0
8
2
-40
24
76
-2
2
0
0
0
0
0
0
0
0
0
-5
0
1
21
0
0
25
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-18
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
1
0
0
-3
0
-74
-2
0
0
0
0
0
0
0
0
0
-1
-3
-4
19
0
0
40
25
-87
-1
3
0
0
0
0
0
0
3
0
-3
0
-1
-53
27
43
31
-1
0
0
0
0
0
0
0
0
0
0
2
32
-15
-29
-17
-18
-11
0
0
0
0
0
0
0
0
-2
0
0
-16
-6
-89
-6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
39
4
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
15
-17
0
40
1
28
0
10
0
0
0
0
0
0
0
0
1
0
10
32
-8
-36
-17
-46
26
0
0
0
0
0
0
0
11
16
28
0
6
-25
-57
-29
45
-7
1
0
0
0
0
0
0
-17
-8
13
9
-21
8
17
-18
20
0
-5
0
0
0
0
0
0
-8
-5
6
-5
10
-6
13
32
-33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-21
-3
-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
25
1
23
24
-10
0
-100
-26
0
7
3
0
0
0
0
0
0
-43
-70
16
-71
66
84
14
58
71
-13
-17
0
0
0
0
0
0
14
-12
18
6
2
-10
-65
45
1
-3
1
0
0
0
0
0
0
12
-4
-13
96
-54
-38
-28
-14
89
1
-8
0
0
0
0
0
0
-5
3
4
-13
-70
16
3
45
-59
0
0
0
0
0
0
0
0
-12
0
0
5
14
-92
-3
68
21
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
6
21
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
49
128
-10
0
-78
-5
0
-2
0
0
0
0
0
0
20
2
174
-18
-140
87
-54
-4
-16
3
3
0
0
0
0
0
0
-64
0
-3
-96
85
-42
-11
13
-39
-11
0
2
0
0
0
0
0
3
-27
117
72
-29
32
-78
-38
-17
-4
0
0
0
0
0
0
0
-24
74
-40
-19
-60
-37
-179
-64
53
3
0
3
0
0
0
0
0
-15
15
9
-76
-8
-115
-95
24
12
-13
9
0
0
0
0
0
0
17
-9
-4
87
-77
45
53
-120
-15
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-11
-12
-21
0
-2
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
51
12
-51
-15
-26
0
-21
0
-3
0
0
0
0
0
0
0
0
10
26
-2
-34
-47
46
25
18
4
-17
0
0
0
0
0
0
0
16
-11
-96
-51
105
95
-50
-88
-10
0
0
0
0
0
0
0
0
-17
-34
-23
-66
-27
-94
-98
-86
-24
0
0
0
0
0
0
0
0
11
1
11
-28
32
-72
3
-12
9
-2
1
0
0
0
0
0
0
26
1
-5
-41
-1
16
-49
-1
0
-1
0
-3
0
0
0
0
0
-16
0
5
1
-12
62
6
7
10
0
0
0
0
0
0
0
0
0
0
0
-10
4
-14
4
5
-2
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
-3
0
-9
11
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-6
23
-10
-9
0
0
0
0
0
0
0
0
0
-4
-3
0
-9
3
-52
-4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-3
27
-2
0
0
0
0
0
0
0
0
0
0
1
11
0
6
-2
12
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
1
14
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
16
-3
1
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
2
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
1
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
-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
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-2
-7
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
32
10
4
42
11
0
0
0
0
0
0
0
0
0
17
0
0
-31
-90
73
8
-80
-5
0
0
0
0
0
0
0
0
0
0
0
3
1
-14
21
60
-37
0
0
0
0
0
0
0
0
0
0
0
10
-105
100
-23
1
-9
-2
0
0
0
0
0
0
0
0
0
-1
-5
-12
46
31
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
0
-9
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
0
0
0
0
0
0
-15
115
59
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
45
-53
-41
9
2
5
0
0
0
0
0
0
3
3
0
0
16
-36
-37
-32
5
0
0
0
0
0
0
0
0
0
0
2
-2
32
-18
7
-23
11
-1
0
0
0
0
0
0
0
3
-2
0
2
-56
-7
10
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-4
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
-5
4
12
-18
-6
7
134
-9
0
-5
0
0
0
0
0
0
0
-5
5
-7
-9
20
-42
-69
29
-22
-14
0
0
0
0
0
0
0
-8
1
-2
0
51
-19
-7
99
21
0
0
0
0
0
0
0
0
3
0
0
-2
3
-19
-47
72
3
0
0
0
0
0
0
0
0
0
8
-6
2
-14
12
72
-23
-6
4
0
0
0
0
0
0
0
0
-6
0
5
0
-72
-15
109
6
0
0
0
0
0
0
0
0
0
0
0
0
3
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
12
-4
-13
-23
-11
-30
0
53
0
0
0
0
0
0
0
0
-2
4
-24
-32
48
-25
14
-57
7
0
0
0
0
0
0
0
-9
0
2
0
0
-25
-112
-61
-26
-29
0
0
0
0
0
0
0
-6
-11
-5
-2
13
-37
-54
28
23
0
0
0
0
0
0
0
0
0
0
-1
1
29
-6
17
-11
99
0
-1
0
0
0
0
0
0
0
1
16
0
-7
-36
-6
2
-18
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
-17
0
0
0
0
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
-12
-176
-2
14
0
30
-1
0
0
0
0
0
0
-61
3
-4
-4
-30
-18
-62
-78
-40
14
0
0
0
0
0
0
0
-4
-4
-9
33
-31
0
-68
56
-24
10
8
0
0
0
0
0
0
-2
8
-23
15
-4
-44
16
8
1
0
-5
0
0
0
0
0
0
-6
-2
3
-14
37
-24
63
3
-75
-3
3
0
0
0
0
0
0
9
0
1
-4
13
-49
45
-29
-1
14
0
0
0
0
0
0
0
0
0
0
-1
15
0
0
-6
-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
29
-27
-31
-4
4
-57
76
135
0
56
-3
0
0
0
0
0
0
13
3
-11
17
-54
34
-47
173
66
98
-12
0
0
0
0
0
0
-18
-90
-6
-54
-23
49
-26
-19
7
55
3
0
0
0
0
0
0
40
-5
3
-99
-61
2
-52
-36
-28
15
0
0
0
0
0
0
0
-37
-49
-9
35
-61
128
114
17
165
1
-7
0
0
0
0
0
0
0
1
6
22
-33
95
-13
132
1
33
3
0
0
0
0
0
0
0
1
3
0
-3
-49
100
-7
17
0
0
0
0
0
0
0
0
0
-1
0
0
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
-63
-139
-19
-70
-68
24
-22
-37
0
-8
0
0
4
0
0
0
0
-50
-34
8
-96
-86
61
-31
-65
98
145
-38
-1
0
0
0
0
0
-80
57
-130
-156
-14
-36
-37
-81
-21
-32
3
0
0
0
0
0
0
-62
12
19
88
13
-41
-9
11
19
5
-2
0
0
0
0
0
0
31
5
145
2
-154
156
74
-13
19
6
-4
0
0
0
0
0
0
0
-3
-9
63
-7
222
49
-10
284
35
-14
0
0
0
0
0
0
-1
0
-2
-2
-81
77
-38
-97
2
-9
0
0
0
0
0
0
0
0
0
0
-2
-1
-23
-9
-2
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
-39
43
-94
-12
-87
-33
70
-70
0
52
2
-14
0
0
0
0
0
-62
144
-29
70
-45
-53
-96
78
86
45
-127
-9
0
0
0
0
0
36
16
-82
18
34
-55
81
-142
-151
-134
30
18
0
0
0
0
0
21
-162
47
32
-48
0
-20
-70
52
35
-48
0
-1
0
0
0
0
-52
40
-42
30
34
-65
125
41
-89
-85
-7
-8
3
0
0
0
0
25
14
-48
11
-80
-15
-51
-32
6
-7
4
0
0
0
0
0
0
-13
6
26
2
51
-10
-13
49
-38
-4
-2
0
0
0
0
0
0
0
0
0
-2
-10
152
-42
-62
-8
7
0
0
0
0
0
0
0
0
0
0
0
1
0
12
0
9
0
0
0
0
0
0
0
0
0
-26
-78
-115
163
7
15
67
0
18
-93
-6
0
0
0
0
0
0
0
1
-34
32
70
10
66
124
-30
-65
32
0
0
0
0
0
0
-68
-40
82
144
13
10
-95
-13
-80
-62
4
0
0
0
0
0
0
-54
14
-55
13
-32
-123
41
-85
-51
0
-4
0
0
0
0
0
0
-130
-71
-56
110
-142
10
79
5
-2
75
0
2
0
0
0
0
0
76
-4
-14
-128
-58
131
10
53
124
-40
0
0
0
0
0
0
0
8
-12
-11
21
-57
3
-53
15
3
1
0
-2
0
0
0
0
0
0
0
1
1
8
54
78
11
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-2
0
0
0
0
0
0
0
0
0
0
79
-15
32
54
-20
115
0
123
-80
1
-1
0
0
0
0
0
0
-60
29
-3
-26
-4
39
5
121
55
-1
3
0
0
0
0
0
0
52
-6
-6
35
54
-5
17
-19
-40
48
0
0
0
0
0
0
0
61
-10
-112
-13
-35
123
-35
-35
-65
-7
9
0
0
0
0
0
0
-23
68
23
7
-55
74
49
-31
12
-7
0
0
0
0
0
0
0
16
-8
28
173
-63
52
-25
-123
2
0
0
0
0
0
0
0
0
0
0
0
-8
-7
24
-80
3
-1
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
-4
0
-15
0
0
0
0
0
0
0
0
0
0
0
1
6
-6
-8
59
0
-63
37
12
0
0
0
0
0
0
0
0
-4
38
-5
46
21
-58
27
-72
37
1
-2
0
0
0
0
0
0
10
-7
-3
23
-11
-21
-4
-68
0
2
0
0
0
0
0
0
0
-6
-1
2
29
35
28
6
0
14
0
0
0
0
0
0
0
0
0
0
-2
28
6
-61
6
2
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
1
1
3
-6
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
0
0
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
17
0
3
0
0
0
0
0
0
0
0
0
0
6
5
6
-3
27
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
38
0
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-14
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
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
4
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-10
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-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
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
-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
5
6
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
-2
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
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
-8
-29
-3
5
-25
0
1
0
0
0
0
0
0
0
3
12
0
14
-109
-32
-76
-31
18
1
0
0
0
0
0
0
0
0
-2
0
0
-74
-4
-15
-32
29
26
0
0
0
0
0
0
0
0
0
0
18
-11
1
-3
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
4
46
-37
0
0
0
0
0
0
0
0
-2
0
1
-3
-6
17
12
41
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
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
2
0
0
0
-1
-9
-7
11
0
0
0
0
0
0
0
0
0
-15
1
-7
-3
8
-52
74
-43
31
17
1
0
0
0
0
0
0
0
0
0
-1
-46
-12
-83
33
-105
-4
0
0
0
0
0
0
0
4
0
0
1
-11
4
21
5
-2
4
0
0
0
0
0
0
0
-1
0
4
0
-32
33
-13
-13
-12
0
0
0
0
0
0
0
0
0
0
0
16
-46
16
3
15
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
43
0
-20
22
-15
113
75
0
-60
0
0
0
0
0
0
0
3
8
-7
6
-26
-27
58
41
36
28
-7
0
0
0
0
0
0
-8
3
1
-11
13
17
22
-5
24
4
-1
0
0
0
0
0
0
0
3
0
0
-20
13
20
-11
-4
0
0
0
0
0
0
0
0
0
0
8
-10
-2
49
66
78
-2
-4
0
0
0
0
0
0
0
0
0
-8
3
-4
-14
-55
101
5
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
3
-57
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-11
0
-22
6
-9
71
127
52
0
-75
4
0
0
0
0
0
0
83
-5
6
-66
-95
-33
50
-66
-103
19
5
0
0
0
0
0
0
12
-26
-23
-3
-53
20
-53
2
-73
12
7
0
0
0
0
0
0
0
-2
34
-7
-2
-6
34
-77
55
0
0
0
0
0
0
0
0
29
-5
3
2
50
0
-4
-14
83
12
0
0
0
0
0
0
0
0
0
21
1
-1
4
2
-26
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-60
3
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-3
25
0
24
70
-44
-7
-78
0
63
0
0
0
0
0
0
0
-74
40
7
-19
26
96
97
119
64
-43
-53
4
0
0
0
0
0
29
-115
-59
16
-2
6
-13
68
15
-1
3
0
0
0
0
0
0
14
1
-32
-23
-95
0
-64
31
-73
7
0
0
0
0
0
0
0
-2
-70
12
-55
0
24
28
12
15
-14
0
0
0
0
0
0
0
0
-1
5
7
-72
43
2
30
-24
-2
0
0
0
0
0
0
0
0
0
3
8
-19
-25
-46
-17
0
9
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
27
-2
13
0
-64
-20
16
38
0
54
8
0
0
0
0
0
0
-31
-95
-124
-27
57
43
-121
36
-110
-7
-17
0
0
0
0
0
0
-77
-48
-35
112
-10
-32
64
-16
15
43
0
0
0
0
0
0
0
9
108
7
-58
-47
-2
-23
52
-47
-109
2
0
0
0
0
0
0
27
-32
38
-3
55
-3
-16
1
130
-4
6
0
0
0
0
0
0
0
6
-14
22
34
-72
-19
-34
1
-2
0
0
0
0
0
0
0
1
-7
-2
0
-33
12
52
0
-76
7
0
0
0
0
0
0
0
0
-18
0
30
0
13
0
-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
-51
-36
8
-151
-26
83
-9
-43
0
-27
66
0
0
0
0
0
0
-134
-55
53
18
-79
45
-41
-26
29
33
44
0
0
0
0
0
0
-11
-42
22
-180
29
-148
36
-79
-104
-16
-30
0
0
0
0
0
0
18
-79
-53
-66
12
-73
-101
-20
30
-1
-1
0
0
0
0
0
0
17
-109
-26
-62
22
31
-8
-25
0
2
0
-10
0
0
0
0
0
0
-31
-25
52
-39
-2
7
-59
-110
6
-5
0
0
0
0
0
0
0
-65
5
11
-2
-48
-23
55
47
10
0
0
0
0
0
0
0
0
0
0
0
0
12
12
-13
83
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
-14
16
-38
87
-187
71
1
-4
0
-12
-81
0
0
0
0
0
0
21
-61
49
-24
-130
12
131
-52
-1
11
-91
-31
0
0
0
0
0
-113
-58
93
86
33
-33
32
-166
73
-14
-59
0
0
0
0
0
0
81
23
37
-85
22
20
-104
16
-50
5
-7
0
0
0
0
0
0
43
52
33
85
-14
-7
-37
-23
-11
3
-11
0
0
0
0
0
0
-25
34
-8
-41
35
69
12
91
18
33
0
0
0
0
0
0
0
-5
-11
116
71
61
-22
-74
40
5
13
10
0
0
0
0
0
0
0
-1
-3
14
-4
65
69
-93
-11
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
0
0
0
0
0
0
0
0
0
0
-127
48
-50
35
-78
37
80
0
-79
19
11
0
0
0
0
0
0
16
47
32
40
69
18
1
63
-32
25
-29
1
0
0
0
0
0
55
-81
-97
42
-63
72
99
149
13
-38
16
0
0
0
0
0
0
101
21
-92
-9
-28
-125
-57
-57
33
30
12
2
0
0
0
0
0
-3
-76
77
-81
19
-2
23
7
-93
0
11
0
0
0
0
0
0
47
31
-85
-34
-36
-61
17
11
-116
-19
-4
0
0
0
0
0
0
-15
-10
-11
36
-85
-60
-51
4
45
0
0
0
0
0
0
0
0
4
3
-1
0
-42
-115
9
23
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
4
3
0
0
0
0
0
0
0
0
0
-16
83
26
-9
-15
51
0
-102
97
-8
0
0
0
0
0
0
0
12
13
21
-133
59
9
-4
22
111
-9
0
0
0
0
0
0
0
-8
28
-48
-73
14
-16
-62
7
-51
3
-2
0
0
0
0
0
0
8
-7
-3
18
-6
-4
-74
-28
0
3
0
0
0
0
0
0
0
14
-8
1
50
-88
-84
153
-14
0
0
0
0
0
0
0
0
0
8
0
-18
45
31
-7
42
38
-8
0
0
0
0
0
0
0
0
-2
0
0
-18
7
-43
-38
6
3
0
0
0
0
0
0
0
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
5
0
0
3
-10
0
-22
-63
-16
0
0
0
0
0
0
0
0
12
-4
5
4
3
-36
10
-14
-5
3
0
0
0
0
0
0
0
16
10
0
-68
21
22
20
5
-11
0
0
0
0
0
0
0
0
3
-10
0
9
-3
3
-19
-38
0
0
0
0
0
0
0
0
0
2
2
2
5
0
58
13
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
8
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
11
-1
9
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
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
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
0
0
5
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
-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
-3
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
3
2
62
78
-75
18
0
0
0
0
0
0
0
0
0
-4
0
0
5
-7
4
-50
14
0
0
0
0
0
0
0
0
0
18
0
42
-46
-7
0
78
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-11
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-11
3
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
4
5
0
-4
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
42
-16
2
0
0
0
0
0
0
0
0
0
0
-35
0
-6
-43
-9
25
0
54
-3
0
0
0
0
0
0
0
3
-4
-3
24
10
-45
71
3
57
-12
0
0
0
0
0
0
0
0
0
-6
0
-18
46
-33
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
57
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
-49
87
0
-16
0
0
0
0
0
0
0
0
0
0
2
0
-4
-29
1
-54
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
4
0
0
0
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
4
3
49
-6
-42
-29
0
0
0
0
0
0
0
0
0
0
-42
-5
-15
-68
9
34
-50
56
68
0
0
0
0
0
0
0
1
4
0
-5
15
29
60
31
-51
-3
0
0
0
0
0
0
0
32
0
0
4
13
3
-102
68
-25
23
0
0
0
0
0
0
0
-1
-14
-2
0
30
18
-28
-6
50
-1
0
0
0
0
0
0
0
0
-6
0
-5
0
-58
135
15
-1
0
0
0
0
0
0
0
0
7
0
0
-7
-52
5
25
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
-11
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
-10
-48
50
6
0
-37
3
0
0
0
0
0
0
3
51
5
53
39
-72
27
-56
26
4
0
0
0
0
0
0
0
0
-31
17
11
33
52
-34
49
88
-8
0
0
0
0
0
0
0
-7
-2
7
0
-3
-6
-31
-151
14
1
0
0
0
0
0
0
0
0
-4
-72
14
0
3
13
12
48
0
0
0
0
0
0
0
0
0
6
-7
-1
24
0
45
23
69
-11
0
0
0
0
0
0
0
0
-16
-1
0
-12
-48
55
15
26
0
0
0
0
0
0
0
0
0
0
0
-2
-8
2
27
6
-27
0
0
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
5
-28
-7
12
-81
0
-1
1
0
0
0
0
0
0
-3
55
7
32
37
37
42
-89
47
5
-11
0
0
0
0
0
0
10
20
-50
-25
23
37
-29
-16
19
32
-1
0
0
0
0
0
0
28
-9
-26
-43
0
52
-13
79
-67
-71
0
0
0
0
0
0
0
-4
3
0
7
-29
0
8
-14
103
-40
0
0
0
0
0
0
0
0
-68
-36
-31
0
-14
0
0
-78
7
0
0
0
0
0
0
0
0
1
-1
8
-54
-1
44
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
8
83
11
-91
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
-29
15
-34
-37
85
-67
-7
-54
0
-78
0
0
0
0
0
0
0
-15
82
-33
-157
67
91
61
-4
9
35
-1
-7
0
0
0
0
0
69
24
25
-30
54
56
114
-55
63
-76
-24
0
0
0
0
0
0
68
-13
27
-30
-6
15
43
-22
-41
-42
0
0
0
0
0
0
0
5
-9
-5
18
-65
-17
0
10
14
7
0
0
0
0
0
0
0
0
14
1
-43
18
-1
25
-6
61
-4
1
0
0
0
0
0
0
-7
7
67
-28
87
-28
-40
-96
3
1
0
0
0
0
0
0
0
0
8
-9
0
2
25
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-4
0
0
0
0
0
0
0
0
-14
-28
55
17
62
116
5
-68
0
-51
-5
0
0
0
0
0
0
-75
-134
-82
-7
54
80
-21
-78
71
98
-50
8
0
0
0
0
0
12
94
-96
53
1
1
-65
-50
-56
21
2
0
0
0
0
0
0
32
-20
-111
-76
53
18
-24
47
-74
-4
-1
0
0
0
0
0
0
-26
-50
-43
115
63
94
17
0
26
8
0
0
0
0
0
0
0
-2
93
-3
-33
30
-45
-19
-1
0
11
0
0
0
0
0
0
0
1
-12
15
166
34
-8
-97
-42
-69
0
0
0
0
0
0
0
0
0
-35
1
39
23
1
34
-66
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
0
0
0
0
0
0
0
0
0
0
-9
42
-118
156
39
140
1
-110
0
-44
1
3
0
0
0
0
0
42
-72
-59
-52
15
9
32
-25
37
-9
40
16
0
0
0
0
0
-30
101
11
-61
-95
-94
106
-55
79
-93
0
3
0
0
0
0
0
-14
36
107
76
-61
25
8
-117
-11
3
41
-17
0
0
0
0
0
-15
0
15
-59
-45
-75
-28
-22
6
-78
0
0
0
0
0
0
0
71
104
-6
-100
-51
-24
-3
-16
11
0
-6
0
0
0
0
0
0
-7
-1
-19
-90
-130
-123
65
-62
-107
-76
0
0
0
0
0
0
0
0
-25
0
61
-16
-68
9
58
-14
1
0
0
0
0
0
0
0
0
0
0
0
-25
-6
-116
-18
0
0
0
0
0
0
0
0
0
0
-67
-42
-12
26
11
58
57
0
13
-12
-4
0
0
0
0
0
0
10
54
29
-38
24
-32
30
-12
-87
36
1
0
0
0
0
0
0
27
-45
-119
104
22
-4
69
79
-46
-44
6
0
0
0
0
0
0
5
-36
97
-55
-23
-96
87
-19
4
6
0
0
0
0
0
0
0
-13
-40
-119
-82
-23
48
4
-45
0
13
0
0
0
0
0
0
0
36
-39
48
-141
-5
-48
71
4
18
0
0
0
0
0
0
0
0
5
-126
1
-76
34
161
67
5
44
4
0
0
0
0
0
0
0
0
7
13
4
7
24
-98
-45
0
0
0
0
0
0
0
0
0
0
0
5
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
23
0
7
8
13
-4
0
43
26
-30
0
0
0
0
0
0
0
-1
-13
-36
42
59
-70
6
96
-81
16
19
0
0
0
0
0
0
42
43
8
158
40
-60
62
-90
2
4
0
0
0
0
0
0
0
2
13
-1
12
-11
95
-145
-8
9
0
0
0
0
0
0
0
0
47
4
4
-26
28
5
-44
-17
0
0
0
0
0
0
0
0
0
0
-1
0
77
-34
57
-40
0
-16
0
0
0
0
0
0
0
0
0
-1
0
-7
29
32
-9
2
5
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
0
0
-19
0
0
0
0
0
0
0
0
0
0
-1
2
0
-44
5
0
32
-15
-12
0
0
0
0
0
0
0
0
-11
-2
0
24
10
-41
35
10
28
0
0
0
0
0
0
0
0
12
-9
-5
7
0
-18
-6
17
-13
0
0
0
0
0
0
0
0
11
-5
9
-9
-24
0
12
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
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
1
0
-7
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
-20
0
2
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-3
1
-1
22
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
-15
-23
36
0
0
0
0
0
0
0
0
0
0
0
3
3
19
2
-5
31
0
0
0
0
0
0
0
0
0
0
0
-7
23
-13
5
9
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
7
1
-9
2
-8
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
0
0
0
0
-1
-39
6
-1
0
0
0
0
0
0
0
0
0
0
-4
0
1
10
-3
31
8
-47
-1
0
0
0
0
0
0
0
0
11
0
-8
-33
-6
35
27
-19
0
0
0
0
0
0
0
0
-3
7
-4
-38
6
-6
41
28
-4
3
0
0
0
0
0
0
0
0
0
-2
0
-11
-4
58
24
20
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
-1
-6
-20
-9
5
0
0
0
0
0
0
0
0
0
0
15
0
12
-13
7
0
0
0
0
0
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
-8
-11
1
0
-3
0
0
0
0
0
0
0
8
-17
0
12
-7
-73
-29
-3
111
41
0
0
0
0
0
0
0
18
3
0
-8
-53
-85
2
139
-124
12
0
0
0
0
0
0
0
3
12
-1
3
-65
-52
-14
81
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
-33
-12
3
26
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
-2
-6
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
-14
-32
-7
0
-1
0
0
0
0
0
0
0
0
0
-3
-3
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
26
-1
62
-22
68
40
0
-3
-13
0
0
0
0
0
0
1
-63
7
-14
-32
109
-9
27
3
39
-6
0
0
0
0
0
0
0
39
27
29
18
7
32
-35
50
-3
1
0
0
0
0
0
0
0
15
61
70
39
-78
83
296
-98
36
0
0
0
0
0
0
0
16
2
16
0
-49
-4
-27
32
-14
0
0
0
0
0
0
0
0
0
11
4
-13
0
51
25
-16
0
0
0
0
0
0
0
0
0
0
3
-1
0
-31
0
-44
-36
20
2
0
0
0
0
0
0
0
0
0
-2
-4
0
-17
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
0
0
0
-1
-9
15
-16
-48
31
-80
0
-117
1
0
0
0
0
0
0
-1
-9
26
21
-49
19
0
-7
-17
-33
-1
0
0
0
0
0
0
6
99
0
2
-36
127
-3
-87
44
55
0
0
0
0
0
0
0
-8
27
6
31
35
-102
-41
-16
-50
68
5
0
0
0
0
0
0
0
-28
47
-53
-19
-48
1
-67
-113
-6
0
0
0
0
0
0
0
0
7
-20
3
-45
0
22
4
-11
1
0
0
0
0
0
0
0
0
0
10
-20
0
43
0
46
22
-1
0
0
0
0
0
0
0
0
0
10
0
0
42
-18
2
-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
13
2
10
12
-59
3
10
-91
0
-76
7
0
0
0
0
0
0
0
15
0
12
103
-40
7
-78
110
-84
6
0
0
0
0
0
0
56
-1
0
-56
70
75
-113
-3
-43
-1
-3
0
0
0
0
0
0
48
-40
17
127
-42
80
-61
64
27
11
-5
0
0
0
0
0
0
-35
-42
-9
-99
-18
2
-62
-1
-65
0
0
0
0
0
0
0
0
-4
-72
-48
-9
-70
-51
0
46
-22
-15
0
0
0
0
0
0
0
-14
14
17
-8
-36
16
20
0
-120
-5
0
0
0
0
0
0
0
0
-8
0
-75
-15
5
7
39
0
27
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
107
57
1
7
-3
5
-38
0
-8
15
0
0
0
0
0
0
-67
-45
-74
-6
32
59
19
-42
69
-60
27
0
0
0
0
0
0
34
-4
-36
24
-115
-26
28
-43
-12
75
0
0
0
0
0
0
0
60
-18
-6
-62
2
-85
15
-56
14
11
0
0
0
0
0
0
0
6
-9
-40
35
-29
14
-59
-37
6
-56
0
0
0
0
0
0
0
0
-37
9
64
-39
49
-55
0
39
5
0
0
0
0
0
0
0
1
-6
4
-34
-62
21
0
-45
-4
-3
0
0
0
0
0
0
0
0
-3
-23
-50
26
35
12
15
-50
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
72
14
-66
-39
71
-22
-20
97
0
-20
-8
0
0
0
0
0
0
24
32
-48
92
44
-75
53
-8
46
19
11
32
0
0
0
0
0
37
-30
5
12
-44
87
62
-2
25
-3
6
0
0
0
0
0
0
-176
-137
11
-2
20
-70
-46
157
-49
-124
0
0
0
0
0
0
0
-8
46
28
18
38
-69
3
-1
-49
0
0
0
0
0
0
0
0
-3
-9
40
-78
40
10
-10
0
0
-17
0
0
0
0
0
0
0
-14
12
-94
-110
-4
43
31
3
12
0
0
0
0
0
0
0
0
-36
5
24
-24
-33
-32
-59
4
29
-38
0
0
0
0
0
0
0
0
0
0
-24
6
-6
-53
2
-2
0
0
0
0
0
0
0
0
0
-83
-7
106
26
-42
-21
79
0
48
-69
2
0
0
0
0
0
0
-55
-71
14
-76
38
-8
4
13
74
5
-6
0
0
0
0
0
0
-58
-15
-33
-62
-52
30
7
19
-69
-17
0
0
0
0
0
0
0
-47
-71
102
-131
16
-40
56
71
-69
-1
0
0
0
0
0
0
0
112
-33
133
-41
113
63
45
-40
33
0
0
0
0
0
0
0
0
56
-73
-22
-4
64
101
36
104
0
2
0
0
0
0
0
0
0
-60
-55
-61
0
-62
36
83
-11
-37
0
0
0
0
0
0
0
0
0
-28
-33
40
-74
-1
30
-103
-16
-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
32
0
42
-14
87
27
0
20
3
0
0
0
0
0
0
0
0
-18
15
87
71
32
24
-9
11
0
5
0
0
0
0
0
0
0
-18
-16
11
-75
9
8
49
-27
-4
0
0
0
0
0
0
0
0
20
25
1
-1
-49
43
-40
-37
-2
0
0
0
0
0
0
0
0
-8
1
8
-40
-91
-3
-103
0
-9
0
0
0
0
0
0
0
0
-5
0
0
-2
-3
-81
9
-4
0
0
0
0
0
0
0
0
0
3
0
0
32
43
-11
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
5
33
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
0
0
0
0
0
0
-5
0
0
12
-27
-4
0
0
0
0
0
0
0
0
0
-2
0
-23
-15
-10
6
52
-5
-5
0
0
0
0
0
0
0
4
-10
0
-9
-5
3
10
-3
0
0
0
0
0
0
0
0
0
-2
9
0
8
21
-2
-14
0
0
0
0
0
0
0
0
0
0
-21
5
0
0
1
11
17
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
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
-18
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-37
0
0
0
0
0
0
0
0
0
0
0
9
2
77
2
84
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
-1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
-36
3
51
42
-12
0
0
0
0
0
0
0
0
0
0
0
7
1
66
-49
26
0
0
0
0
0
0
0
0
-9
0
0
-7
-20
26
4
59
1
28
0
0
0
0
0
0
0
1
32
3
-5
6
-17
-26
-11
34
0
0
0
0
0
0
0
0
0
0
0
-5
0
-16
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
17
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
-10
-1
-12
7
0
-2
0
0
0
0
0
0
0
0
3
5
0
0
3
5
91
-1
1
0
0
0
0
0
0
0
0
0
0
0
48
-15
29
-57
8
12
0
0
0
0
0
0
0
0
0
-22
-12
26
-33
10
63
29
-26
0
0
0
0
0
0
0
0
-4
-2
0
-28
4
3
3
58
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
-1
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
4
0
-12
0
-15
-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
-8
1
18
-64
-12
0
0
0
0
0
0
0
0
0
0
-18
0
0
13
30
60
-82
-2
-5
-2
0
0
0
0
0
0
0
4
0
0
27
-10
-64
13
27
-26
0
0
0
0
0
0
0
6
2
-2
-11
1
2
-33
-22
26
0
0
0
0
0
0
0
0
-2
-1
-15
-27
-57
15
-21
8
3
1
0
0
0
0
0
0
0
0
-1
-17
0
0
-5
6
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
4
26
-1
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
23
0
0
0
0
0
0
0
0
0
0
0
7
-13
-27
-3
28
0
-2
0
0
0
0
0
0
0
0
-35
-2
-1
53
23
64
-41
-91
49
0
0
0
0
0
0
0
0
27
-1
-3
-41
-23
61
41
24
-6
0
0
0
0
0
0
0
-19
0
13
-3
4
-17
46
46
2
-26
0
0
0
0
0
0
0
0
-18
-5
1
9
7
-34
12
60
0
0
0
0
0
0
0
0
0
12
1
-24
0
19
0
90
8
-2
0
0
0
0
0
0
0
0
0
3
0
11
0
-16
-2
1
0
0
0
0
0
0
0
0
0
-4
0
7
0
-23
0
-22
0
0
0
0
0
0
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
10
-88
61
0
8
0
0
0
0
0
0
0
0
9
-3
-34
99
-103
-45
47
78
87
2
0
0
0
0
0
0
-2
19
16
101
-89
14
144
-65
-33
-78
0
0
0
0
0
0
0
-2
-4
11
150
-3
32
-9
25
29
2
0
0
0
0
0
0
0
0
32
11
-5
-59
-45
25
18
-1
0
0
0
0
0
0
0
0
-19
12
-16
23
41
2
13
0
20
-4
0
0
0
0
0
0
0
0
-34
-1
0
-12
-9
0
-22
2
0
0
0
0
0
0
0
0
0
25
1
-7
5
0
-6
0
3
0
0
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
5
8
92
-31
15
3
0
-39
-9
0
0
0
0
0
0
-8
42
17
50
-3
12
40
124
-78
30
-5
0
0
0
0
0
0
1
-38
9
-67
36
-80
2
36
129
19
-2
0
0
0
0
0
0
85
125
21
10
90
1
36
-37
22
-25
0
0
0
0
0
0
0
-21
-119
-28
33
-6
15
7
-153
17
2
-2
0
0
0
0
0
0
0
44
68
14
-70
54
1
23
-3
-5
0
0
0
0
0
0
0
0
13
-30
9
-80
-54
-48
0
-44
0
0
0
0
0
0
0
0
0
8
-2
-8
-48
-112
5
17
0
29
0
0
0
0
0
0
0
0
0
0
13
0
0
39
23
0
0
0
0
0
0
0
0
0
-49
25
-86
12
-4
-39
-48
-111
0
-33
3
0
0
0
0
0
0
-63
-2
-19
-48
37
94
155
-17
100
-4
-51
0
0
0
0
0
0
35
-129
-98
-40
-32
-20
43
77
-13
11
12
0
0
0
0
0
0
61
-55
-95
-39
-17
24
18
14
25
19
1
0
0
0
0
0
0
57
-13
-34
150
17
-67
52
-25
-32
5
0
0
0
0
0
0
0
-71
-50
-99
-44
15
-1
-50
-13
-85
0
-3
0
0
0
0
0
0
7
32
-1
-21
85
-61
39
32
0
-13
0
0
0
0
0
0
0
0
-5
-6
29
10
-99
56
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
3
10
5
0
0
0
0
0
0
0
0
0
67
60
64
-102
77
24
-22
0
27
-48
0
0
0
0
0
0
0
-31
3
113
17
10
40
-11
87
44
-79
5
0
0
0
0
0
0
-72
-6
16
58
-17
38
-9
24
50
-5
0
0
0
0
0
0
0
-1
-16
-83
-11
-20
89
31
53
45
34
0
0
0
0
0
0
0
12
-9
9
-35
126
24
54
139
-37
0
0
0
0
0
0
0
0
54
30
2
17
42
77
-34
7
-145
0
0
0
0
0
0
0
0
-7
53
-36
58
13
121
-32
51
0
0
0
0
0
0
0
0
0
-2
5
-5
21
-31
-4
-51
4
27
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
-6
28
0
47
32
-60
0
155
-29
0
0
0
0
0
0
0
0
57
16
5
26
70
-2
-14
37
42
0
0
0
0
0
0
0
0
33
-9
-4
65
21
7
47
-1
29
0
0
0
0
0
0
0
0
15
6
51
-43
71
21
76
115
36
0
0
0
0
0
0
0
0
58
-6
-6
-103
-40
-6
-2
55
0
0
0
0
0
0
0
0
0
-12
-6
0
-23
65
-84
38
-3
9
0
0
0
0
0
0
0
0
0
1
7
-14
21
7
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
6
0
0
0
12
0
2
17
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-16
12
3
11
0
0
0
0
0
0
0
0
5
0
0
2
5
38
3
-2
18
0
0
0
0
0
0
0
0
0
0
-4
11
11
9
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
-1
-4
5
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-2
0
0
0
3
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-14
-2
0
0
0
0
0
0
0
0
0
-2
0
-6
2
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
18
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
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
-7
0
-4
0
3
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-49
0
26
0
0
0
0
0
0
0
0
0
0
-2
0
0
11
0
54
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-45
0
0
0
0
0
0
0
0
0
0
4
0
0
28
4
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
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
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-10
-11
1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
37
-64
0
0
0
0
0
0
0
0
-9
0
6
0
0
-4
-9
22
19
0
0
0
0
0
0
0
0
0
-2
-3
0
-4
-37
-62
-5
0
0
0
0
0
0
0
0
0
0
-11
-11
0
0
21
11
0
6
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
-41
-8
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-57
-34
-16
-1
-24
0
0
0
0
0
0
0
0
-6
0
0
17
-12
-38
-27
67
68
0
0
0
0
0
0
0
-13
-13
0
-12
-2
-50
2
35
2
-31
0
0
0
0
0
0
0
0
3
10
1
-19
56
-67
-30
102
0
0
0
0
0
0
0
0
14
6
44
-2
-18
11
-13
32
28
0
0
0
0
0
0
0
0
0
11
2
0
28
0
4
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
17
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
-5
0
-2
1
17
-90
14
0
-1
0
0
0
0
0
0
0
0
43
-3
-24
-26
-36
119
-93
-81
-3
-1
0
0
0
0
0
0
19
56
-2
68
-133
41
65
26
-191
20
0
0
0
0
0
0
0
111
18
0
37
-97
-29
63
-23
-73
-25
0
0
0
0
0
0
0
0
-37
-10
-21
18
-8
192
61
-11
0
0
0
0
0
0
0
0
-3
-15
-20
51
-191
90
2
33
-32
0
0
0
0
0
0
0
0
22
22
28
17
116
-79
-5
11
0
-1
0
0
0
0
0
0
0
0
21
0
-2
-2
-137
38
0
14
0
0
0
0
0
0
0
0
0
0
9
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
7
-15
17
-43
-28
-76
-156
62
0
28
0
0
0
0
0
0
0
-3
-65
8
20
-10
10
-43
-75
46
44
14
0
0
0
0
0
0
134
0
27
31
-119
4
40
44
7
-62
3
0
0
0
0
0
0
28
-19
-14
13
-24
-3
-91
50
11
-75
-6
0
0
0
0
0
0
108
-46
17
-2
42
71
2
114
21
-3
-10
0
0
0
0
0
0
-45
-7
81
-72
-55
-34
-9
85
22
54
0
0
0
0
0
0
0
-19
4
-65
101
-18
20
28
0
41
0
0
0
0
0
0
0
0
24
-4
-9
-52
-42
-85
-80
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
22
-11
0
-1
0
0
0
0
0
0
0
0
0
7
-3
68
51
65
34
33
0
-28
0
0
0
0
0
0
0
0
37
-40
-91
-21
8
14
28
-161
-10
-9
0
0
0
0
0
0
0
37
-23
1
54
33
-4
79
46
47
24
1
0
0
0
0
0
0
53
-82
31
-32
4
58
-40
-25
-86
-15
0
0
0
0
0
0
0
21
-15
37
-5
35
106
69
111
0
2
0
0
0
0
0
0
0
-73
-73
-26
11
-56
-14
41
100
-31
0
0
0
0
0
0
0
0
-14
-45
-43
-10
-38
10
-22
-6
-26
0
0
0
0
0
0
0
0
3
-8
12
-11
61
36
95
44
0
0
0
0
0
0
0
0
0
0
26
0
0
6
-40
13
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
-5
0
32
0
34
0
0
0
0
0
0
0
0
0
27
-4
0
59
14
0
69
-43
-64
0
0
0
0
0
0
0
0
23
34
0
-9
104
46
6
-25
9
0
0
0
0
0
0
0
0
57
2
7
67
-19
38
17
-45
27
0
0
0
0
0
0
0
0
-5
1
8
17
110
15
-65
-5
-14
0
0
0
0
0
0
0
0
-25
6
-3
-28
47
46
0
-2
0
0
0
0
0
0
0
0
0
0
-22
-1
-47
-2
-14
-49
0
0
0
0
0
0
0
0
0
0
0
-17
2
1
0
-9
21
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
-4
0
-10
1
0
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-19
0
0
0
0
0
0
0
0
0
2
0
0
-2
5
11
0
-4
0
0
0
0
0
0
0
0
0
0
-6
3
-3
12
-1
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
-3
0
0
-6
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
-4
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
-80
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
20
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
-18
11
-4
-53
-19
-5
0
0
0
0
0
0
0
0
-28
0
0
0
-6
16
28
-49
24
0
0
0
0
0
0
0
0
35
-35
-4
18
21
-2
-45
0
-10
0
0
0
0
0
0
0
0
10
-14
1
-57
0
26
1
6
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
-7
16
3
0
0
0
0
0
0
0
0
0
0
0
-17
1
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
0
0
0
0
12
58
13
5
0
0
0
0
0
0
0
0
0
0
0
-1
19
10
46
-66
-38
17
0
0
0
0
0
0
0
0
118
0
0
67
-17
26
92
82
55
-7
0
0
0
0
0
0
0
67
6
0
156
28
105
148
21
-183
-1
0
0
0
0
0
0
0
22
66
22
41
-53
13
0
1
41
7
0
0
0
0
0
0
0
48
-73
8
134
15
-129
123
20
0
4
0
0
0
0
0
0
0
-38
-48
1
107
-25
-6
-11
-2
0
-6
0
0
0
0
0
0
0
30
-9
-21
94
56
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
93
-18
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
109
0
0
0
0
0
0
0
0
0
0
-21
0
0
10
0
-120
-10
49
7
0
0
0
0
0
0
0
0
0
-13
0
21
-21
3
-12
6
-4
-4
0
0
0
0
0
0
0
0
0
0
34
23
15
-3
-45
6
0
0
0
0
0
0
0
0
11
-2
-6
9
-67
-49
-6
41
-5
0
0
0
0
0
0
0
0
0
0
-4
34
-31
21
-2
29
0
0
0
0
0
0
0
0
0
0
0
3
10
-21
1
0
4
0
0
0
0
0
0
0
0
0
0
6
0
2
-11
50
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
60
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-4
26
0
0
0
0
0
0
0
0
0
1
0
0
-9
0
6
-34
0
2
0
0
0
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
0
-32
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
3
-1
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
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
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
11
-4
150
-2
-4
0
0
0
0
0
0
0
0
0
0
0
26
-3
-19
68
-42
-34
0
0
-5
0
0
0
0
0
0
0
0
-22
-37
-28
67
16
23
-2
-2
58
0
0
0
0
0
0
0
0
58
-18
-71
-16
18
72
-40
7
92
0
0
0
0
0
0
0
0
-3
73
19
47
14
40
10
-4
3
0
0
0
0
0
0
0
0
0
5
-17
-54
55
-8
-28
0
0
0
0
0
0
0
0
0
0
3
0
24
16
-39
0
0
0
-5
0
0
0
0
0
0
0
0
0
-50
0
-12
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
-1
0
44
-7
-10
14
-24
4
0
-13
0
0
0
0
0
0
0
0
197
21
-12
-110
53
-25
0
-20
0
0
0
0
0
0
0
0
-32
18
-10
-128
11
21
90
76
168
76
0
0
0
0
0
0
0
-2
0
59
29
-13
-46
-17
3
48
-46
0
0
0
0
0
0
0
-3
110
8
106
-30
-99
34
-43
-37
-24
0
0
0
0
0
0
0
0
53
0
87
1
-58
0
-18
-2
0
0
0
0
0
0
0
0
0
-1
18
-4
4
-70
46
-50
-28
5
0
0
0
0
0
0
0
0
0
26
-1
50
-6
2
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
-11
33
0
47
55
-19
-39
3
0
-3
-6
0
0
0
0
0
0
-15
0
-25
14
-4
118
41
0
0
0
-13
0
0
0
0
0
0
0
39
109
10
-63
27
13
162
39
-28
-102
0
0
0
0
0
0
7
-54
127
49
-45
-44
-7
23
-13
25
-123
0
0
0
0
0
0
0
90
55
1
43
1
12
137
17
-23
-1
0
0
0
0
0
0
0
44
-28
-19
17
82
29
12
-41
3
1
0
0
0
0
0
0
0
0
-25
-17
46
37
19
-134
50
0
-18
0
0
0
0
0
0
0
0
5
54
-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
1
88
0
-18
20
0
-1
0
0
0
8
0
0
0
0
0
23
-104
-2
80
1
82
-25
0
0
0
-26
1
0
0
0
0
0
0
0
-102
-49
166
-44
-42
35
-19
26
-34
17
0
0
0
0
0
-7
-23
107
56
10
108
3
116
81
28
25
-3
0
0
0
0
0
0
-23
-57
8
95
-100
-71
-4
113
-6
-6
-4
0
0
0
0
0
-4
5
80
95
35
-11
4
11
-74
-39
0
0
0
0
0
0
0
0
0
3
52
-62
11
16
2
2
-1
-3
0
0
0
0
0
0
0
0
0
-4
15
-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
0
0
0
0
-10
33
0
-14
0
0
0
0
1
0
0
0
0
0
0
0
28
84
10
82
0
-43
0
4
0
-27
1
0
0
0
0
0
0
-1
-10
4
49
-10
-63
-20
20
34
-2
-5
0
0
0
0
0
-4
19
29
66
23
109
-18
13
-80
-23
-5
5
0
0
0
0
0
0
57
10
68
16
94
20
12
-1
-25
-9
0
0
0
0
0
0
0
-14
4
45
87
39
-13
16
5
-18
0
7
0
0
0
0
0
0
0
9
5
11
-39
5
5
0
0
0
0
0
0
0
0
0
0
0
0
38
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
12
-1
-1
-27
0
6
4
0
0
-1
0
0
0
0
0
0
0
10
14
-47
-5
-33
0
0
38
0
-15
-1
0
0
0
0
0
-31
12
-42
-50
-127
-32
-36
-5
49
-15
6
6
0
0
0
0
0
9
-77
3
-28
-125
63
-13
12
2
53
19
0
1
0
0
0
0
0
4
33
41
-41
94
44
41
8
8
8
1
0
0
0
0
0
0
0
43
-12
2
-9
12
-43
0
9
0
0
0
0
0
0
0
0
0
0
0
14
1
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
10
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
6
0
13
25
0
2
0
0
2
0
0
0
0
0
0
0
2
-28
80
26
-1
1
0
-25
0
-19
2
0
0
0
0
0
0
0
5
-95
-30
33
-44
-102
72
37
4
-6
0
0
0
0
0
0
-48
-80
-52
3
10
-29
34
5
-64
8
-1
-1
0
0
0
0
0
3
20
9
-23
-13
23
40
20
0
24
0
0
0
0
0
0
-1
10
-1
5
13
24
-20
-13
-36
3
0
0
0
0
0
0
0
0
0
0
26
-20
0
0
-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
-2
0
0
0
1
0
0
0
0
0
0
0
0
-3
-2
2
-12
0
0
0
0
-29
13
0
0
0
0
0
0
0
-29
54
-106
-4
-22
2
18
24
3
-2
1
0
0
0
0
0
-6
-21
-42
24
3
2
9
-10
-14
22
0
-12
0
0
0
0
0
7
4
7
-8
39
61
5
-23
-4
7
0
0
0
0
0
0
0
0
1
-2
-1
-45
1
7
-7
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-11
24
-21
1
0
0
0
0
0
0
0
0
0
0
22
-3
4
-40
46
-6
31
0
-15
0
0
0
0
0
0
0
0
27
117
144
-15
41
-13
-47
127
-30
0
0
0
0
0
0
0
0
-1
-20
63
35
68
44
3
2
-76
0
0
0
0
0
0
0
0
-57
-42
-20
-63
-36
-83
79
2
5
0
0
0
0
0
0
0
0
0
54
124
6
47
50
-21
9
5
0
0
0
0
0
0
0
0
-3
39
-43
22
13
8
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
0
0
0
-67
-7
-82
26
32
-37
3
0
23
0
0
0
0
0
0
0
20
107
-173
40
114
52
20
0
-52
0
0
0
0
0
0
0
0
-4
14
-64
-71
-18
-42
-5
-49
-46
-55
0
0
0
0
0
0
0
-44
120
-48
5
-25
-92
161
48
102
-38
0
0
0
0
0
0
0
25
9
11
29
42
38
-37
-24
-1
9
0
0
0
0
0
0
0
-14
164
-17
37
-90
88
14
76
39
57
0
0
0
0
0
0
0
-12
5
-20
110
29
80
79
34
63
24
0
0
0
0
0
0
0
0
1
21
-14
-79
-19
-1
-1
2
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
-3
2
-46
11
11
46
-107
-35
0
2
32
0
0
0
0
0
0
-13
17
56
-74
48
83
-62
0
32
0
106
0
0
0
0
0
0
5
38
8
116
33
51
96
142
64
41
-65
0
0
0
0
0
0
32
65
77
102
76
13
4
154
60
18
36
0
0
0
0
0
0
0
-63
11
-70
-116
45
70
-30
24
-47
33
0
0
0
0
0
0
11
27
-39
26
-102
24
-4
50
-38
35
-18
0
0
0
0
0
0
-20
-24
8
-112
25
-149
62
-26
4
3
0
0
0
0
0
0
0
0
0
0
12
39
-4
27
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
16
-5
44
2
-7
-123
-17
0
-1
18
-1
0
0
0
0
0
2
-9
84
29
57
57
35
0
-10
0
46
8
0
0
0
0
0
-1
17
-30
-67
6
-55
-41
-1
11
44
156
1
0
0
0
0
0
2
79
21
-40
82
56
-20
10
-13
169
-30
-3
0
0
0
0
0
-10
-55
73
-14
25
34
-74
28
22
-32
-21
3
0
0
0
0
0
-3
-54
7
38
122
-106
3
98
49
61
4
1
0
0
0
0
0
0
0
-2
-45
-35
-1
34
14
-18
0
6
0
0
0
0
0
0
0
0
-5
-4
10
2
-29
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
-1
109
4
66
0
-65
-5
0
-4
-3
-2
0
0
0
0
0
-65
26
-47
31
-8
-16
77
0
3
0
62
-3
0
0
0
0
0
31
6
110
30
-74
54
41
-21
71
49
-38
-9
0
0
0
0
0
-2
-22
-36
-71
139
-27
-29
8
-81
17
-6
2
-1
0
0
0
0
-2
28
4
-59
-58
22
-26
-149
-18
62
-3
-3
0
0
0
0
0
0
14
-5
-67
51
68
-17
-3
-4
22
-3
8
-4
0
0
0
0
0
0
-10
-28
-15
-90
-12
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
56
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
8
2
-82
10
41
0
6
0
5
4
0
0
0
0
0
0
0
12
8
-43
40
107
48
0
3
0
-16
3
0
0
0
0
0
2
-79
-99
-24
2
92
-113
112
-23
38
67
-50
5
0
0
0
0
-13
24
-1
0
110
-24
2
18
108
36
-31
8
4
0
0
0
0
22
12
-53
-61
3
28
88
-77
10
-17
-1
4
0
0
0
0
0
0
11
6
25
82
88
65
-29
-21
10
0
6
4
0
0
0
0
0
0
17
22
6
-2
-8
-49
-1
-2
-1
0
0
0
0
0
0
0
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
19
69
-50
-5
-3
15
0
0
0
10
0
-1
0
0
0
0
0
9
-31
-52
-16
66
42
0
-6
0
-28
8
0
0
0
0
0
2
15
57
13
-27
172
-47
14
9
70
-22
2
-9
0
0
0
0
-3
0
68
-10
45
56
-20
-46
-12
130
3
0
12
0
0
0
0
-11
19
-210
-90
74
27
19
57
-33
-43
-50
-18
0
0
0
0
0
-9
80
-1
66
82
29
22
-38
-2
-43
-3
0
5
0
0
0
0
0
0
-1
31
49
-26
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
3
2
-10
0
0
1
0
2
12
0
0
0
0
0
0
0
0
16
1
-4
0
7
0
-3
0
42
5
0
0
0
0
0
0
-11
6
34
48
9
13
15
-57
-29
7
1
0
1
0
0
0
1
2
-86
-65
2
58
48
11
-21
28
6
0
1
0
0
0
0
0
35
92
62
55
-13
152
-15
3
-39
-3
4
0
0
0
0
0
0
-2
8
21
1
27
16
-2
3
-3
0
0
0
0
0
0
0
0
0
5
0
-8
16
-6
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
7
2
-2
-2
5
0
0
0
0
0
0
0
2
-28
43
14
-57
3
-6
-9
11
0
0
0
0
0
0
0
0
0
29
-7
-6
-7
41
0
5
1
5
0
0
0
0
0
0
0
0
0
0
6
4
-11
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
16
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
4
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
31
0
0
-2
-1
11
0
6
0
0
0
0
0
0
0
0
0
1
33
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
8
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
4
-4
0
3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-51
-23
138
83
-11
0
0
0
0
0
0
0
0
0
0
0
22
25
-22
112
53
57
-2
0
28
0
0
0
0
0
0
0
0
9
-37
1
-52
155
-71
60
61
-171
0
0
0
0
0
0
0
0
-38
-61
4
142
7
108
-27
75
54
0
0
0
0
0
0
0
0
-3
40
-57
-82
5
-5
109
-8
80
0
0
0
0
0
0
0
0
6
115
47
-23
-150
27
-60
-14
2
0
0
0
0
0
0
0
0
-22
-4
23
52
15
10
2
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
-7
-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
46
-13
4
-147
-131
54
21
32
0
12
0
0
0
0
0
0
0
-8
-17
-106
-50
91
33
-52
0
39
0
0
0
0
0
0
0
0
21
142
-45
49
55
40
-111
-3
17
-12
0
0
0
0
0
0
0
-5
72
-84
-31
-132
8
63
80
87
-78
0
0
0
0
0
0
0
-40
-22
-19
-38
-42
-7
-7
47
168
104
0
0
0
0
0
0
0
-1
101
61
73
-138
-22
-56
44
22
70
0
0
0
0
0
0
0
0
11
101
-126
58
2
186
-32
-1
-15
0
0
0
0
0
0
0
0
0
50
56
26
19
-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
78
-31
-34
-51
113
-55
-55
0
11
-91
0
0
0
0
0
0
-52
40
28
64
15
-31
18
0
52
0
51
0
0
0
0
0
0
23
29
76
-24
-9
38
-26
145
70
-49
-112
0
0
0
0
0
0
14
-15
-61
36
-18
72
93
80
65
-10
53
0
0
0
0
0
0
-1
73
40
-16
129
-66
-12
24
38
12
-18
0
0
0
0
0
0
0
-68
-18
87
108
-28
10
7
43
-91
3
0
0
0
0
0
0
0
-2
213
39
65
51
-11
22
-7
0
0
0
0
0
0
0
0
0
0
3
-2
2
58
8
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
-4
3
68
11
109
-7
108
12
0
0
-59
1
0
0
0
0
0
0
21
26
24
54
7
81
0
-12
0
32
-9
0
0
0
0
0
-6
21
-76
54
91
-7
-9
68
53
97
65
-15
0
0
0
0
0
-13
17
-18
3
30
-95
-2
11
-4
26
24
-14
0
0
0
0
0
21
1
65
32
-40
-26
59
27
23
35
2
0
0
0
0
0
0
0
-5
-142
27
0
-97
10
157
22
-1
6
0
0
0
0
0
0
0
-5
-21
-73
38
-9
-8
55
12
0
0
0
0
0
0
0
0
0
0
-67
0
6
-18
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
31
3
3
-93
-59
73
-2
0
-5
6
0
0
0
0
0
0
8
-9
80
-11
-31
75
50
0
-3
0
-17
0
2
0
0
0
0
0
13
48
-3
22
-67
22
31
27
-49
-7
-115
0
0
0
0
0
-5
-14
-2
-65
-25
-83
121
26
5
15
22
-3
0
0
0
0
0
-8
-1
0
95
-9
-60
59
41
37
25
-22
-6
0
0
0
0
0
0
29
29
68
13
31
0
-15
-11
2
-16
0
0
0
0
0
0
0
2
12
0
73
-3
10
-5
0
0
0
0
0
0
0
0
0
0
0
1
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
-4
23
-32
-36
-25
146
0
0
6
0
4
0
0
0
0
0
-7
21
-59
24
-15
31
-68
0
12
0
-21
5
-10
0
0
0
0
-16
-3
108
-12
52
12
33
42
26
-87
57
-3
-2
0
0
0
0
0
-28
-31
-72
-42
-30
133
-26
18
-44
0
2
-2
0
0
0
0
-1
-68
41
-154
6
22
50
-6
34
-2
1
0
0
0
0
0
0
0
-14
19
-27
27
40
13
8
-29
0
-5
-2
0
0
0
0
0
0
0
-53
-7
-4
3
-12
-4
3
0
0
0
0
0
0
0
0
0
0
4
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
9
-37
56
-50
-23
61
0
0
-6
-1
0
0
0
0
0
0
-9
-13
-29
89
113
1
-11
0
-23
0
13
-11
3
0
0
0
0
0
0
16
-23
37
66
-2
-10
-17
17
6
-5
0
0
0
0
0
0
27
-66
47
-24
-26
-11
15
4
-17
16
0
4
0
0
0
0
-12
10
-28
72
-28
-20
-50
-28
46
-10
-2
0
0
0
0
0
0
0
-3
68
29
53
-51
46
-50
0
3
-4
0
0
0
0
0
0
0
0
56
-44
23
-37
2
8
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
0
0
0
0
0
0
0
0
0
0
-14
16
40
-3
27
0
0
-5
0
0
0
0
0
0
0
0
17
-23
1
38
-41
1
0
-3
0
67
-8
1
0
0
0
0
-8
-44
29
-2
-11
7
-12
0
-11
-11
-2
1
0
-8
1
0
0
0
4
-6
8
-39
4
-12
-42
6
13
-18
0
5
0
0
0
0
0
-35
-21
-216
-24
-47
-31
-4
-124
-12
10
0
1
0
0
0
0
0
-1
-9
25
6
63
-25
0
-2
6
5
0
0
0
0
0
0
0
0
17
8
16
-49
3
0
0
0
0
0
2
0
0
0
0
0
0
0
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
12
-28
2
-19
5
0
0
0
0
0
0
0
0
0
0
0
1
-44
-39
-23
52
12
0
0
0
14
0
0
0
0
0
0
0
13
61
-12
17
15
-3
-4
0
-5
0
-7
0
0
0
0
0
0
0
7
2
-12
-24
38
2
5
-24
4
-1
0
0
0
0
0
0
-4
19
20
-10
6
70
5
-64
27
0
-3
0
0
0
0
0
0
0
16
-21
21
33
-6
0
0
-2
11
0
0
0
0
0
0
0
0
1
-32
-11
-1
-2
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-1
7
11
-10
0
0
0
3
0
0
0
0
0
0
0
0
15
4
-1
9
48
0
0
0
0
5
0
0
0
0
0
0
-11
6
11
64
4
2
0
-3
2
0
0
0
0
0
0
0
0
0
0
48
5
17
50
9
1
-5
0
0
0
0
0
0
0
0
0
-6
24
-23
-52
16
10
0
-5
2
0
0
0
0
0
0
0
0
6
0
-20
0
1
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
-3
0
0
0
0
0
2
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
9
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
40
7
75
-7
2
0
0
0
0
0
0
0
0
0
117
-74
-143
61
-14
56
-15
0
-3
0
0
0
0
0
0
0
0
46
-6
39
70
26
172
-20
40
9
0
0
0
0
0
0
0
0
-3
73
25
-31
-99
19
33
-27
86
0
0
0
0
0
0
0
0
36
28
147
50
-116
20
-75
4
-8
0
0
0
0
0
0
0
0
-7
-48
5
68
77
-136
-9
2
2
0
0
0
0
0
0
0
0
0
59
-61
-38
-68
-27
0
0
11
0
0
0
0
0
0
0
0
0
-27
6
-11
0
-5
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
38
22
-70
35
-35
3
-11
-5
0
-2
0
0
0
0
0
0
0
85
-65
103
-45
127
13
-118
0
43
0
0
0
0
0
0
0
0
55
49
-2
-29
33
26
-135
-94
23
-30
0
0
0
0
0
0
0
79
17
139
-22
127
59
-67
-189
25
62
0
0
0
0
0
0
0
0
-1
30
-3
-117
-2
-5
36
-29
65
0
0
0
0
0
0
0
8
20
-11
22
-36
45
-20
3
-83
-56
0
0
0
0
0
0
0
0
10
-82
-15
-14
13
63
11
-19
-12
0
0
0
0
0
0
0
0
1
-9
98
-18
2
-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
-59
17
-82
-32
50
-93
114
-9
0
28
-7
0
0
0
0
0
0
-1
66
56
6
36
41
77
0
24
0
99
0
0
0
0
0
0
58
45
-3
74
35
6
-59
26
-118
-33
-44
0
0
0
0
0
0
6
-35
44
-31
62
13
43
60
-44
40
-22
0
0
0
0
0
0
10
6
72
72
13
34
-63
-70
-17
113
-8
0
0
0
0
0
0
0
117
16
76
-62
-26
-29
-17
51
87
0
0
0
0
0
0
0
0
-13
-55
-44
7
-72
-19
-108
-11
7
0
0
0
0
0
0
0
-3
0
28
-71
2
-29
0
2
0
0
0
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
-55
23
20
188
-70
3
0
-22
1
0
0
0
0
0
0
19
-31
69
-12
3
42
9
0
-20
0
-19
-6
0
0
0
0
0
6
-2
11
17
100
39
37
-132
-93
41
-39
5
0
0
0
0
0
3
-15
18
-1
211
-59
-8
25
-14
-50
19
0
0
0
0
0
0
0
15
-44
-58
41
52
38
-48
44
61
44
-4
0
0
0
0
0
0
-33
-53
31
-43
86
14
43
-6
29
-6
0
0
0
0
0
0
0
18
36
-76
21
-51
-5
11
-1
-1
0
0
0
0
0
0
0
0
0
9
32
17
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
110
-26
-93
-5
0
0
11
6
15
0
0
0
0
0
6
50
-25
-13
-18
-45
121
0
-19
0
-66
5
2
0
0
0
0
0
-91
-77
-13
-49
18
43
113
46
7
-102
44
0
0
0
0
0
0
34
26
74
2
-3
-19
-58
21
82
-7
-3
0
0
0
0
0
0
52
-31
0
-48
7
-51
62
55
-8
-63
-1
0
0
0
0
0
0
-24
2
-32
-18
41
-94
32
-26
20
0
0
0
0
0
0
0
0
0
42
-86
-64
43
45
0
7
0
0
0
0
0
0
0
0
0
0
22
12
13
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
1
10
4
15
99
-2
41
-17
0
0
-1
0
0
0
0
0
0
0
20
0
-17
37
5
-11
0
-5
0
24
-18
13
0
0
0
0
0
-5
-5
11
-7
72
-18
76
-97
-33
17
13
0
0
0
0
0
0
103
-64
29
-17
0
-23
6
-3
15
-10
0
0
0
0
0
0
0
7
65
25
-6
37
0
12
0
-14
0
1
0
0
0
0
0
0
18
34
-37
23
40
-34
19
0
-2
1
0
0
0
0
0
0
0
0
0
64
7
3
-13
1
0
0
-7
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-136
62
27
5
-20
1
0
-4
-2
0
0
0
0
0
0
0
47
12
-18
13
-78
91
0
0
0
6
2
-1
0
0
0
0
0
7
22
-96
84
-12
29
16
-15
-30
-22
0
0
0
0
0
0
-2
0
36
3
22
36
0
14
3
11
-7
2
0
0
0
0
0
0
6
-82
11
-131
5
23
-2
1
-12
0
0
0
0
0
0
0
0
4
-31
-42
-2
109
4
0
-67
3
-4
0
0
0
0
0
0
0
0
-34
5
31
-1
12
0
-7
0
0
0
0
0
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
0
0
0
0
0
0
0
-9
1
1
-91
5
0
0
0
-1
1
0
0
0
0
0
0
-12
-82
37
28
-60
-7
-2
0
0
0
-5
4
0
0
0
0
0
1
33
-74
25
38
-42
13
11
-7
24
2
0
0
0
0
0
0
0
-4
-31
-24
-37
24
-2
0
17
-15
1
0
6
0
0
0
0
0
-1
9
-42
25
93
0
-7
0
47
0
0
0
0
0
0
0
0
1
8
-3
-171
3
13
2
0
-7
0
0
0
0
0
0
0
0
-15
13
99
7
-3
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
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
15
37
5
-66
-10
48
1
0
0
0
0
0
0
0
0
0
0
10
-14
-32
59
10
-6
0
0
0
-2
0
0
0
0
0
0
0
-1
-24
-63
-7
10
5
0
-4
0
0
0
0
0
0
0
0
0
-1
10
25
17
14
6
-8
0
0
0
0
0
0
0
0
0
0
-1
16
58
-1
-18
38
0
0
0
0
0
0
0
0
0
0
0
0
-4
-29
8
25
5
7
0
4
0
0
0
0
0
0
0
0
0
-2
-2
-17
2
15
-4
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
8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
46
1
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
3
-2
2
0
-9
2
0
0
0
0
0
0
0
0
0
-1
18
-8
5
-5
-5
-4
0
0
0
0
0
0
0
0
0
0
-19
0
-16
6
15
24
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-5
-11
6
-6
0
0
0
0
0
0
0
0
0
0
0
16
0
14
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-125
109
-25
55
-44
4
0
0
0
0
0
0
0
0
0
0
30
50
12
60
-29
60
-22
0
-55
0
0
0
0
0
0
0
0
1
-29
-20
35
-7
-54
24
16
61
0
0
0
0
0
0
0
0
54
37
43
17
-38
68
-69
-16
-24
0
0
0
0
0
0
0
0
0
-22
-27
102
-75
68
-12
-1
-5
0
0
0
0
0
0
0
0
-3
-1
90
-96
40
26
-27
-8
-60
0
0
0
0
0
0
0
0
-5
-9
-14
43
13
2
-3
0
2
0
0
0
0
0
0
0
0
0
43
-4
76
-16
-16
-9
0
0
0
0
0
0
0
0
0
0
0
20
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
87
60
69
32
40
13
-1
0
1
0
0
0
0
0
0
0
7
-3
-67
-18
-62
79
4
0
-102
0
0
0
0
0
0
0
0
-153
-19
-25
1
-18
8
-10
-75
17
-60
0
0
0
0
0
0
0
0
-10
113
71
8
-73
-61
-23
25
-92
0
0
0
0
0
0
0
0
0
-71
-36
4
52
-44
39
16
36
0
0
0
0
0
0
0
0
85
63
-9
68
85
-65
20
43
48
0
0
0
0
0
0
0
0
-2
75
-43
-44
125
-111
-61
47
25
0
0
0
0
0
0
0
0
-10
1
139
-79
-40
-1
6
2
0
0
0
0
0
0
0
0
0
-4
13
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
-23
-27
-60
139
27
-53
3
-5
0
12
2
0
0
0
0
0
0
11
17
57
-8
45
65
-99
0
61
0
79
0
0
0
0
0
0
0
42
-43
57
-68
0
-15
-18
15
-68
-41
0
0
0
0
0
0
-94
17
-52
-3
-15
15
60
-20
-40
-88
9
0
0
0
0
0
0
3
23
0
166
25
-5
28
-52
-5
-24
-1
0
0
0
0
0
0
-1
1
50
14
54
-76
101
4
53
15
4
0
0
0
0
0
0
0
-41
-61
-59
12
-24
-24
67
-6
27
0
0
0
0
0
0
0
0
-6
20
-15
102
36
21
25
15
0
0
0
0
0
0
0
0
3
0
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
63
107
-57
15
36
108
4
0
4
24
0
0
0
0
0
0
0
76
119
47
-19
6
-80
0
-40
0
101
3
0
0
0
0
0
1
-28
-137
27
-14
65
-163
79
-58
113
-71
-8
0
0
0
0
0
0
116
13
-72
44
121
-7
-3
0
155
-26
-13
0
0
0
0
0
-5
-4
26
0
-31
-67
-100
22
76
13
1
0
0
0
0
0
0
0
-28
0
-69
-3
-55
49
114
-77
18
-7
0
0
0
0
0
0
0
0
44
-31
8
-140
122
3
-29
28
0
0
0
0
0
0
0
0
0
14
-24
-151
-56
-7
-11
-10
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
-24
12
41
90
30
-8
-41
0
0
-7
0
0
0
0
0
0
-10
6
-4
-47
29
-138
-1
0
-18
0
39
-4
0
0
0
0
0
-1
13
42
171
17
15
-16
-62
-24
-24
20
-5
0
0
0
0
0
0
69
34
1
8
4
130
-33
29
28
-34
0
0
0
0
0
0
0
-15
106
-13
0
11
96
64
51
67
0
0
0
0
0
0
0
0
-15
24
3
2
-7
-30
31
3
6
0
0
0
0
0
0
0
0
-44
-2
67
-121
-1
19
-4
41
6
0
0
0
0
0
0
0
0
-7
1
-12
-83
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
8
-23
-52
56
21
-27
-2
0
0
0
0
0
0
0
0
0
0
18
-49
53
20
-59
5
0
-6
0
29
-8
-6
0
0
0
0
0
13
14
-45
69
4
-64
-21
-17
-72
0
4
0
0
0
0
0
0
84
28
-2
-4
35
9
-41
28
2
4
7
0
0
0
0
0
0
40
26
-39
146
0
-27
-37
31
0
0
0
0
0
0
0
0
0
-2
-31
56
0
54
2
27
-14
11
0
0
0
0
0
0
0
0
1
48
-5
18
7
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
59
-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
32
-93
-23
-47
-17
39
7
0
0
2
0
0
0
0
0
0
0
-7
-12
35
12
-129
8
0
-3
0
8
0
0
0
0
0
0
-16
21
30
-1
-38
53
-11
8
85
25
-9
4
-2
0
0
0
0
0
-12
-20
6
-24
-1
60
0
-56
-59
-9
0
-1
0
0
0
0
0
-3
-10
-6
-22
-54
0
13
12
-3
0
0
0
0
0
0
0
0
0
-6
64
-56
-1
35
-4
44
-5
0
0
0
0
0
0
0
0
0
-4
96
-1
31
7
-4
3
0
0
0
0
0
0
0
0
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
0
0
0
0
-27
-6
11
36
0
13
0
0
0
0
0
0
0
0
0
0
0
-5
46
17
10
-23
21
0
0
0
-1
0
0
0
0
0
0
0
5
64
31
43
-88
44
3
6
49
0
4
0
0
0
0
0
0
24
31
-2
10
42
5
-2
0
-8
-2
0
0
0
0
0
0
0
-1
3
37
-5
-52
-8
0
-27
47
0
0
0
0
0
0
0
0
8
-33
32
-52
59
0
-4
0
-4
0
0
0
0
0
0
0
0
0
-69
-16
-2
4
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-29
1
0
0
11
0
0
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
-7
-8
8
23
0
0
0
-1
0
0
0
0
0
0
0
-28
46
35
46
35
4
0
0
0
0
0
0
0
0
0
0
0
12
13
-1
4
-24
0
-8
-11
-12
0
0
0
0
0
0
0
0
0
-10
-8
4
30
-25
0
0
0
0
0
0
0
0
0
0
0
0
24
14
24
-15
-6
-9
0
0
0
0
0
0
0
0
0
0
0
17
0
2
11
-18
9
0
0
3
0
0
0
0
0
0
0
0
-5
11
61
14
10
-2
0
1
0
0
0
0
0
0
0
0
0
0
-7
-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
-7
-6
-7
-3
3
0
0
0
0
0
0
0
0
0
0
0
-3
19
-43
-1
-24
-2
0
0
0
-1
0
0
0
0
0
0
0
13
29
-70
-13
-28
-8
0
-9
1
0
0
0
0
0
0
0
0
0
21
-8
8
56
5
18
0
-5
0
0
0
0
0
0
0
0
0
2
-8
4
-2
0
21
8
0
0
0
0
0
0
0
0
0
0
4
58
9
-28
21
-9
0
0
0
0
0
0
0
0
0
0
10
-12
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-2
3
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-26
43
-7
0
0
0
0
0
0
0
0
0
0
0
6
-8
-123
90
22
-85
8
0
23
0
0
0
0
0
0
0
0
-16
-52
-27
-93
43
40
12
-62
-80
0
0
0
0
0
0
0
0
-56
31
102
55
162
39
24
-60
-129
0
0
0
0
0
0
0
0
-43
-1
78
16
24
-1
6
30
-108
0
0
0
0
0
0
0
0
0
-3
78
15
48
75
27
-45
10
0
0
0
0
0
0
0
0
2
0
-28
-105
52
-1
2
49
-12
0
0
0
0
0
0
0
0
0
56
-2
42
-7
41
-8
0
0
0
0
0
0
0
0
0
0
0
-24
32
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
11
93
17
-39
-47
0
0
-56
0
0
0
0
0
0
0
-6
45
36
-75
38
2
3
0
110
0
0
0
0
0
0
0
0
-27
-15
40
-59
-5
-103
-33
146
19
-124
0
0
0
0
0
0
0
-8
66
105
-16
-59
-24
23
-81
107
105
0
0
0
0
0
0
0
0
94
18
-1
-40
-16
26
62
57
109
0
0
0
0
0
0
0
0
0
28
3
2
69
-42
38
14
45
0
0
0
0
0
0
0
0
-8
7
26
13
40
-57
-2
2
18
0
0
0
0
0
0
0
-8
-7
56
-61
-45
41
-16
33
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
19
108
44
42
-5
-34
-3
0
-8
28
0
0
0
0
0
0
-4
123
-67
-37
-15
49
13
0
-4
0
40
0
0
0
0
0
0
-44
-4
45
27
25
-19
-19
-69
120
13
14
0
0
0
0
0
0
-5
-17
-5
-31
18
11
-44
23
-95
12
17
0
0
0
0
0
0
-25
7
-15
0
-15
-37
46
-112
11
13
15
0
0
0
0
0
0
0
8
0
21
-19
-62
100
53
-48
54
-6
0
0
0
0
0
0
9
0
69
-47
26
78
73
39
-14
-10
0
0
0
0
0
0
0
0
4
-30
-4
40
11
-14
11
9
0
0
0
0
0
0
0
0
0
-15
4
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
62
9
91
-25
-89
135
27
0
19
-4
-8
0
0
0
0
0
2
-9
-19
88
-85
49
-88
0
-58
0
-46
0
0
0
0
0
0
-16
-32
-17
15
-8
-84
-20
13
62
-2
-51
5
0
0
0
0
0
13
-15
108
-4
94
-17
39
-81
16
14
7
0
0
0
0
0
0
-7
-69
-4
75
42
101
3
90
-22
-9
-18
0
0
0
0
0
0
3
27
-56
0
-2
90
103
54
78
-4
5
0
0
0
0
0
0
0
-3
3
-6
6
76
-3
28
0
1
0
0
0
0
0
0
0
0
0
56
-28
38
-13
-3
-16
1
0
0
0
0
0
0
0
0
0
15
0
15
0
0
2
0
0
0
0
0
0
0
0
0
0
0
36
118
-5
-18
35
-1
-19
0
0
3
0
0
0
0
0
0
0
35
116
-3
37
27
-46
0
2
0
-18
-3
0
0
0
0
0
0
-2
-140
67
110
82
3
7
65
-19
0
-55
0
0
0
0
0
3
-64
9
61
-1
39
-37
76
-24
43
1
0
0
0
0
0
0
0
2
43
-3
43
3
49
-2
-29
-146
-8
0
0
0
0
0
0
0
-4
-31
-18
0
126
-2
19
10
-11
0
0
0
0
0
0
0
0
0
-40
0
-17
8
65
-34
-15
2
0
0
0
0
0
0
0
0
-4
0
-20
-22
10
0
33
0
2
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
-6
44
-14
10
13
6
0
0
0
-7
0
0
0
0
0
0
0
40
-101
-2
4
-79
65
0
5
0
3
11
-1
0
0
0
0
0
9
28
-15
-32
-49
12
24
-4
37
25
2
0
0
0
0
0
0
17
7
28
59
127
-17
49
92
-3
22
-2
0
0
0
0
0
0
-28
-23
12
11
41
1
-37
11
8
0
0
0
0
0
0
0
0
-13
1
-5
30
0
25
0
14
0
0
0
0
0
0
0
0
0
0
13
1
0
5
7
-1
-2
4
0
0
0
0
0
0
0
0
0
-6
0
8
2
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
-51
1
-37
1
-23
0
0
0
0
0
0
0
0
0
0
0
-34
88
14
14
-11
-3
0
0
0
19
0
0
0
0
0
0
-7
6
47
32
-1
28
7
4
13
57
0
0
0
0
0
0
0
-2
-25
13
-33
52
59
43
23
7
0
0
-15
0
0
0
0
0
0
-40
20
-25
25
0
15
0
17
0
9
0
0
0
0
0
0
0
-8
2
27
3
-27
0
-22
-1
-2
0
0
0
0
0
0
0
0
0
-6
48
-37
0
9
0
-10
23
0
0
0
0
0
0
0
0
0
-21
8
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
-9
3
32
-45
0
10
0
0
0
0
0
0
0
0
0
0
0
19
94
-10
21
84
3
0
0
0
-6
0
0
0
0
0
0
0
-24
-26
38
-18
13
5
0
7
4
3
0
0
0
0
0
0
0
-23
4
-17
67
-28
47
-9
11
-5
-3
0
0
0
0
0
0
0
0
-13
39
34
44
-7
-3
0
0
0
0
0
0
0
0
0
0
57
-6
2
-4
3
0
0
9
0
0
0
0
0
0
0
0
0
2
5
-23
39
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-10
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
-22
0
15
11
0
0
0
0
2
0
0
0
0
0
0
0
-12
-33
1
-1
-3
47
0
0
0
0
0
0
0
0
0
0
0
-18
54
-33
-15
57
9
20
-8
-2
0
0
0
0
0
0
0
0
13
5
-66
-123
86
-2
-39
0
7
-1
0
0
0
0
0
0
0
19
-9
-14
-16
-8
-23
0
0
0
0
0
0
0
0
0
0
0
0
-108
0
-9
1
1
0
0
0
11
0
0
0
0
0
0
0
3
2
31
14
4
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
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
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
6
-5
-5
0
0
2
28
0
0
0
0
0
0
0
0
0
-1
18
1
29
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-3
16
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
14
-12
74
0
0
0
0
0
0
0
0
0
0
0
33
12
-9
48
29
-24
14
0
-45
0
0
0
0
0
0
0
0
-26
49
-113
-49
41
66
23
4
-16
0
0
0
0
0
0
0
0
-4
-102
9
30
-78
-15
-33
9
109
0
0
0
0
0
0
0
0
49
-1
43
39
6
-74
11
14
-39
0
0
0
0
0
0
0
0
3
19
-5
45
-58
60
-29
-27
-22
0
0
0
0
0
0
0
0
0
11
61
-6
14
21
-2
0
1
0
0
0
0
0
0
0
0
0
1
1
-40
-8
10
0
0
0
0
0
0
0
0
0
0
0
-9
-24
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
141
-28
17
1
40
103
0
0
1
0
0
0
0
0
0
0
0
75
-66
-35
-46
26
-87
0
47
0
0
0
0
0
0
0
0
77
-4
8
-131
0
109
-22
43
107
60
0
0
0
0
0
0
0
-26
17
16
-70
50
-33
-43
-81
-24
118
0
0
0
0
0
0
0
35
50
4
-107
12
57
-118
-83
-18
-29
0
0
0
0
0
0
0
0
70
23
-59
74
24
72
-34
31
-91
0
0
0
0
0
0
0
3
0
-40
64
30
22
111
71
-1
2
0
0
0
0
0
0
0
0
80
5
21
37
15
2
-7
-7
-3
0
0
0
0
0
0
0
0
-29
-53
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-64
-6
77
-72
9
-59
-2
0
0
9
0
0
0
0
0
0
-17
122
115
113
77
68
49
0
-8
0
25
0
0
0
0
0
0
-11
-64
58
125
2
79
-147
20
-57
-46
-10
0
0
0
0
0
0
0
74
-12
-2
-3
-58
2
-23
-56
-5
4
0
0
0
0
0
0
0
2
38
-56
-47
56
-73
85
-18
48
-41
0
0
0
0
0
0
0
2
62
32
139
-74
62
0
34
-29
-14
0
0
0
0
0
0
-4
19
0
31
30
5
-19
-14
42
55
0
0
0
0
0
0
0
14
0
40
2
96
-64
-22
-18
-4
0
0
0
0
0
0
0
0
0
80
-23
9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-43
79
-4
-47
-7
0
-4
53
0
0
0
0
0
0
0
-8
19
43
-1
28
-47
0
0
0
-89
7
0
0
0
0
0
0
-27
7
-24
50
-121
-28
15
9
-4
-101
-1
0
0
0
0
0
0
114
-1
33
95
-1
55
-71
95
-32
-22
-7
0
0
0
0
0
0
-4
-21
172
-71
52
-52
40
-42
136
34
1
0
0
0
0
0
0
54
5
9
1
76
33
-87
11
-27
-17
0
0
0
0
0
0
0
-4
-167
0
41
17
24
27
6
-41
0
0
0
0
0
0
0
0
-19
0
46
0
-58
41
-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
1
-47
33
-24
-11
-5
1
0
0
7
0
0
0
0
0
0
0
-47
144
40
36
61
-76
0
27
0
2
-5
0
0
0
0
0
1
-1
-75
-63
16
65
-25
-13
-2
-30
18
-2
0
0
0
0
0
0
0
-6
24
64
-59
-10
23
-18
3
0
8
0
0
0
0
0
0
-7
-10
61
15
-7
-40
-2
-2
16
-2
0
0
0
0
0
0
0
38
-4
2
-23
21
20
3
20
-3
5
0
0
0
0
0
0
0
0
0
-9
0
-5
19
-1
-4
0
15
0
0
0
0
0
0
0
0
8
0
13
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
107
5
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-35
-7
-33
57
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-25
-59
52
-111
10
-41
58
7
0
0
0
0
0
0
0
47
6
23
-43
25
-52
-9
-1
4
0
1
0
0
0
0
0
0
-3
-23
7
-4
-24
1
7
-3
-3
22
0
0
0
0
0
0
0
-45
-1
-50
4
59
0
9
11
-8
-2
0
0
0
0
0
0
0
0
2
0
-23
0
1
-1
20
0
0
0
0
0
0
0
0
0
0
6
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
-4
0
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
35
-7
-8
-2
0
0
0
-5
0
0
0
0
0
0
0
0
-162
-12
44
4
0
2
-1
58
0
0
0
0
0
0
0
0
-2
-1
-1
-60
77
21
-8
5
0
1
0
0
0
0
0
0
0
1
1
1
-2
-14
18
-5
7
0
0
6
0
0
0
0
0
0
5
-24
-1
12
0
19
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
-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
-1
30
0
13
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
24
58
25
-16
0
0
0
4
0
0
0
0
0
0
0
0
45
-5
-35
-32
12
0
16
38
0
0
0
0
0
0
0
0
22
-16
-3
-2
55
-9
0
-32
0
0
0
0
0
0
0
0
0
5
-14
-53
-101
3
-18
2
0
-9
-3
0
0
0
0
0
0
0
-1
15
16
0
10
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
9
-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
8
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
-10
2
20
0
0
0
0
0
0
0
0
0
0
0
-4
4
42
-10
-1
0
0
0
144
0
0
0
0
0
0
0
0
-25
-6
-7
-18
47
-12
15
0
0
0
0
0
0
0
0
0
0
0
-17
-9
-5
3
21
21
0
-20
0
0
0
0
0
0
0
0
-1
-8
2
13
-49
-1
0
9
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
-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
2
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-17
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
-9
-61
-2
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
4
0
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
-12
12
1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
15
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-11
29
33
-10
5
0
0
0
0
0
0
0
0
0
0
64
7
40
-10
12
0
-10
-5
-25
0
0
0
0
0
0
0
0
23
-102
30
29
-50
-36
-122
-3
-56
0
0
0
0
0
0
0
0
113
-54
-158
23
-10
-173
15
23
164
0
0
0
0
0
0
0
0
8
16
6
-46
-34
55
122
-11
54
0
0
0
0
0
0
0
0
2
0
34
7
77
-11
20
-39
111
0
0
0
0
0
0
0
0
0
-102
-25
39
0
14
11
19
-36
0
0
0
0
0
0
0
0
0
0
-24
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-32
-6
-47
19
-101
-3
0
0
0
0
0
0
0
0
0
0
-17
83
-8
-22
28
-52
0
-4
0
0
0
0
0
0
0
0
-28
-44
-37
-142
61
-18
-87
-22
-22
-65
0
0
0
0
0
0
0
-4
-65
-104
-3
-38
-59
-82
-70
5
-124
0
0
0
0
0
0
0
-24
91
2
16
-111
40
50
12
149
49
0
0
0
0
0
0
0
0
-7
-127
52
20
36
48
-53
14
-8
0
0
0
0
0
0
0
0
-5
-7
38
41
88
91
137
-38
-1
0
0
0
0
0
0
0
0
0
-18
-33
22
1
-2
-16
1
4
0
0
0
0
0
0
0
0
-8
0
-21
-11
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-20
34
40
-19
14
1
0
0
0
0
0
0
0
0
0
0
79
-10
-40
4
9
-12
0
0
0
-111
0
0
0
0
0
0
48
-16
23
16
74
60
-72
19
-64
-64
19
0
0
0
0
0
0
3
-30
4
-39
-113
0
36
-55
-4
-116
38
0
0
0
0
0
0
-18
-20
32
44
61
-27
-34
-53
11
7
48
0
0
0
0
0
0
0
-64
17
-79
33
62
-107
-45
-53
177
49
0
0
0
0
0
0
0
0
-77
0
98
79
-41
60
42
26
-8
0
0
0
0
0
0
0
54
0
14
-23
-16
4
0
0
5
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
-31
8
-34
-2
7
39
0
0
19
0
0
0
0
0
0
0
-10
-23
-27
26
85
76
0
0
0
-6
0
0
0
0
0
0
0
34
21
-18
18
33
-19
-23
-18
74
17
0
0
0
0
0
0
0
-85
-4
-8
-15
3
15
-7
112
79
-9
-10
0
0
0
0
0
0
-5
10
7
-74
-122
-29
15
-31
8
-9
0
0
0
0
0
0
0
-7
-55
26
147
-25
-13
-45
2
-3
0
1
0
0
0
0
0
0
0
-1
3
0
-17
-67
-23
2
-6
0
0
0
0
0
0
0
0
0
-4
0
12
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
4
3
0
0
0
0
-3
0
0
0
0
0
0
0
-21
8
-3
-46
2
27
0
0
0
-1
0
0
0
0
0
0
-7
0
-3
-2
52
17
-34
-1
0
3
-8
3
0
0
0
0
0
0
50
1
-29
32
3
-39
-34
-7
-3
0
0
0
0
0
0
0
0
1
-9
91
43
13
-40
1
-15
22
0
-1
0
0
0
0
0
0
-14
0
-18
17
-40
2
-16
0
1
24
0
0
0
0
0
0
0
0
1
0
-2
0
-1
1
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
-9
0
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
-1
-36
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
17
-7
15
-6
0
0
4
0
0
0
0
0
0
0
0
1
12
-68
-57
-2
-1
0
-9
-10
0
0
0
0
0
0
0
0
-2
0
-51
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-2
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
-40
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
3
0
-22
0
-11
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
-7
50
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-2
3
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
2
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
29
100
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
-5
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
-5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
4
3
-7
-51
17
0
0
0
0
0
0
0
0
0
0
0
0
45
17
15
4
0
5
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
-21
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
2
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
125
-3
24
-9
-15
0
0
0
0
0
0
0
0
0
0
0
2
-93
24
2
14
-40
0
0
-10
0
0
0
0
0
0
0
0
2
26
13
8
-15
-71
2
0
-4
0
0
0
0
0
0
0
0
1
34
-29
-2
-60
-20
-75
-2
38
0
0
0
0
0
0
0
0
6
-115
24
4
1
19
82
5
-87
0
0
0
0
0
0
0
0
1
-96
56
-42
27
-6
-11
18
-7
0
0
0
0
0
0
0
0
0
0
-89
-37
-10
82
8
32
0
0
0
0
0
0
0
0
0
0
6
-13
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-45
-28
76
-5
8
0
0
0
0
0
0
0
0
0
0
53
2
11
13
9
-15
-3
-1
-9
-107
0
0
0
0
0
0
0
0
124
-68
-5
-122
-9
-20
-3
37
-17
0
0
0
0
0
0
0
7
13
-55
7
-134
-11
-80
58
-19
-1
0
0
0
0
0
0
0
0
-21
80
-107
25
95
38
44
11
12
0
0
0
0
0
0
0
2
0
-12
7
13
46
20
10
16
0
0
0
0
0
0
0
0
0
0
0
-85
20
12
13
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
89
0
13
0
0
0
0
0
0
0
0
0
0
0
-6
2
36
64
-8
0
-5
0
1
23
1
0
0
0
0
0
0
0
-47
3
-9
-14
-2
12
-9
-7
-13
0
0
0
0
0
0
0
15
-10
-53
-6
76
52
-40
5
4
0
-10
0
0
0
0
0
0
0
-2
12
17
7
-13
-28
-32
-16
-17
-13
0
0
0
0
0
0
0
0
10
15
1
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
15
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-14
8
0
0
0
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
4
0
-4
2
0
0
0
4
0
0
0
0
0
0
0
0
-5
-31
5
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
-6
-5
0
-7
0
0
0
14
0
0
0
0
0
0
0
0
0
-12
-40
0
0
0
4
-2
0
-4
0
0
0
0
0
0
0
0
37
2
1
1
1
0
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
4
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
3
-32
-19
0
0
0
0
0
0
0
0
0
10
-19
15
-15
1
27
-69
-78
30
0
0
0
0
0
0
0
0
2
0
1
-22
0
35
-16
63
47
0
0
0
0
0
0
0
0
-13
-6
3
-7
-9
31
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-25
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
-34
32
26
-32
0
-67
0
0
0
0
0
0
0
-23
13
5
41
-62
134
39
121
-7
65
0
0
0
0
0
0
0
-3
65
-8
57
-18
99
113
49
148
39
0
0
0
0
0
0
0
8
-6
1
130
-84
92
-63
72
-58
42
0
0
0
0
0
0
0
0
-41
-4
13
-62
-63
-36
-69
67
-5
0
0
0
0
0
0
0
0
-37
5
0
8
-106
-7
75
43
-17
0
0
0
0
0
0
0
0
3
-5
0
21
-8
-62
-17
22
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
17
-40
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-7
26
0
-6
-14
-29
-39
47
0
31
-3
0
0
0
0
0
0
-4
-26
51
-155
10
7
54
-20
-40
5
-5
0
0
0
0
0
0
2
-20
5
4
-25
99
58
-47
-135
29
10
0
0
0
0
0
0
-5
-6
0
16
-122
13
29
22
51
9
-13
0
0
0
0
0
0
4
1
-10
23
9
-45
-7
-33
-3
-45
-10
0
0
0
0
0
0
0
13
-21
0
-7
-11
14
-20
49
14
0
0
0
0
0
0
0
0
0
-2
0
29
41
-2
96
11
35
0
0
0
0
0
0
0
0
0
0
-1
0
-5
1
6
-33
-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
13
-15
0
-11
-2
52
-7
0
-57
1
0
0
0
0
0
0
0
4
3
3
20
-86
-4
-123
7
2
15
-12
0
0
0
0
0
0
-8
0
-5
-37
99
20
-3
-45
-14
15
1
0
0
0
0
0
-1
4
-10
18
-1
-78
38
95
-11
-37
4
0
0
0
0
0
0
0
0
0
49
-1
2
-8
-69
40
3
1
0
0
0
0
0
0
0
0
6
-1
-14
12
67
-83
-2
-11
-14
0
0
0
0
0
0
0
0
0
-6
-3
12
-61
2
2
8
5
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
24
0
-5
19
-1
0
41
0
0
0
0
0
0
0
5
13
-18
-1
-21
-47
140
-64
-7
12
18
1
0
0
0
0
0
-1
14
32
6
18
-9
33
83
13
-3
1
0
0
0
0
0
0
0
-16
0
3
1
8
-32
9
-7
1
0
0
0
0
0
0
0
0
-2
-10
9
-1
3
-54
-15
-17
-6
0
0
0
0
0
0
0
0
0
-6
0
25
5
14
-13
0
16
1
-1
0
0
0
0
0
0
0
0
0
0
-19
4
10
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
6
0
0
-8
0
33
15
0
22
-5
0
0
0
0
0
0
-5
31
29
3
19
32
-16
-1
-113
-19
-6
0
0
0
0
0
0
-2
-2
-36
19
18
-39
-56
-17
48
5
0
0
0
0
0
0
0
0
0
0
16
0
-50
-13
38
6
-33
-9
0
0
0
0
0
0
0
-3
0
0
-11
-19
1
-5
-16
0
0
0
0
0
0
0
0
0
0
-6
-9
0
-32
7
27
0
5
-3
0
0
0
0
0
0
0
0
0
6
0
0
1
1
-16
-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
-3
6
0
0
21
14
0
34
0
15
2
0
0
0
0
0
0
-11
0
0
12
71
5
-8
121
-97
-1
14
-4
0
0
0
0
0
0
4
0
0
-39
-34
-10
85
-14
8
-1
-3
0
0
0
0
0
0
0
4
6
4
-10
4
-74
25
-2
0
8
0
0
0
0
0
0
0
0
32
-4
10
33
7
-7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
3
-9
0
0
0
0
0
0
0
0
0
2
11
-7
-4
5
-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
-7
0
0
11
13
1
0
0
1
9
0
0
0
0
0
0
-4
-8
-3
-6
-5
-12
3
-10
-23
0
-17
0
0
0
0
0
0
0
0
-4
2
5
26
34
7
-3
0
0
1
1
0
0
0
0
0
0
0
0
2
1
56
6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
32
11
-5
0
2
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
-3
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
-9
-81
-88
87
39
0
0
0
0
0
0
0
0
0
177
-3
138
-30
-72
56
67
-42
27
0
0
0
0
0
0
0
0
112
9
-27
57
32
42
36
50
-14
0
0
0
0
0
0
0
0
-34
2
0
31
12
-31
-30
-8
23
0
0
0
0
0
0
0
0
48
0
0
10
110
-23
137
-11
37
0
0
0
0
0
0
0
0
1
0
0
-1
23
19
22
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
-20
-21
1
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
3
55
-17
-44
68
107
49
35
0
-108
0
0
0
0
0
0
0
-42
71
-109
82
-10
66
-13
23
2
-160
0
0
0
0
0
0
0
-4
-70
-30
109
83
104
69
-50
-63
3
0
0
0
0
0
0
0
14
21
-44
2
89
-143
-73
101
-34
-53
0
0
0
0
0
0
0
0
15
3
34
-104
-56
-4
-15
44
33
0
0
0
0
0
0
0
0
-149
11
0
36
15
22
-60
-38
64
0
0
0
0
0
0
0
0
-2
4
8
-65
-7
-100
-62
-48
5
0
0
0
0
0
0
0
0
-18
0
17
2
32
36
-52
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
43
59
-24
77
-73
-22
-20
-19
0
-46
-40
0
0
0
0
0
0
7
57
19
126
104
32
97
4
-45
-29
33
0
0
0
0
0
0
-20
27
53
-36
10
57
52
34
25
-52
-7
0
0
0
0
0
0
-14
-95
-49
-49
-18
-21
52
4
28
1
53
0
0
0
0
0
0
-6
31
22
-17
23
-41
41
136
-15
-46
-22
0
0
0
0
0
0
0
8
19
-1
-11
-32
-7
-22
-5
35
13
0
0
0
0
0
0
0
0
41
4
21
-22
72
18
-27
-33
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
7
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
1
27
1
-26
91
14
-26
-80
0
33
54
-6
0
0
0
0
0
0
-15
-20
22
-89
68
-5
42
-83
-46
-55
-2
0
0
0
0
0
20
-1
-8
50
134
-36
-8
-49
-42
-75
-71
5
0
0
0
0
0
9
24
-28
28
-95
-60
-4
-61
-38
10
3
0
0
0
0
0
0
0
-67
-4
17
-15
-33
-69
7
-7
64
-7
2
0
0
0
0
0
0
4
32
1
0
86
-1
-47
25
3
3
0
0
0
0
0
0
0
1
0
7
23
-5
33
12
-13
-16
0
0
0
0
0
0
0
0
0
0
3
0
-5
-68
-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
-23
-25
-25
14
33
3
47
70
0
-133
0
-1
0
0
0
0
0
17
-26
38
-29
5
27
-42
22
3
102
-101
28
0
0
0
0
0
3
-35
-24
-2
38
-35
2
3
-9
26
-2
1
0
0
0
0
0
0
-40
7
39
-25
31
3
-130
-19
52
4
0
0
0
0
0
0
1
0
14
-1
2
-3
-69
15
61
-11
27
10
0
0
0
0
0
0
-5
-10
8
-2
0
-5
31
53
1
2
0
0
0
0
0
0
0
0
0
0
-3
115
-25
-1
25
2
1
0
0
0
0
0
0
0
1
0
0
0
0
-2
-12
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
9
-38
-12
3
32
6
-6
-25
0
57
0
0
0
0
0
0
0
0
-7
10
2
42
0
25
-33
55
69
-47
7
2
0
0
0
0
-10
78
15
55
-54
63
-78
34
-53
-68
1
0
0
0
0
0
0
2
3
-1
-4
0
-69
92
15
2
39
26
2
0
0
0
0
0
0
-1
2
-6
-4
-23
28
26
40
6
1
-5
6
0
0
0
0
0
-1
8
7
0
1
77
-22
-24
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-12
-1
8
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
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
5
-5
-9
-57
90
20
45
9
0
48
0
0
0
0
0
0
0
-2
0
-13
-45
131
9
-4
95
31
29
-14
-11
2
0
0
0
0
1
9
15
-12
-48
52
49
48
51
-12
32
3
0
0
0
0
0
-2
8
-6
-8
-16
-55
-22
72
-22
-8
-26
2
0
0
0
0
0
-10
6
-12
-7
-1
25
35
-15
-14
14
-6
4
0
0
0
0
0
0
-8
5
0
0
-1
-7
81
48
1
0
0
-2
0
0
0
0
0
0
0
-1
-6
0
19
-13
-12
14
-7
15
0
0
0
0
0
0
0
-2
0
0
0
-18
-15
-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
-1
-2
22
51
32
0
-8
3
0
0
0
0
0
0
-5
4
18
-19
-23
-65
-7
2
60
12
-32
0
-2
0
0
0
0
-9
1
15
3
-10
6
-40
-2
4
12
-9
-6
2
0
0
0
0
0
-6
10
9
-4
34
-16
0
-21
9
-1
0
0
0
0
0
0
0
0
2
15
-3
12
33
-2
-62
-4
0
1
0
0
0
0
0
0
0
38
0
-8
-12
8
13
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
24
3
0
17
2
4
8
0
-2
0
0
0
0
0
0
0
0
4
0
0
36
-25
9
-3
10
-3
10
0
0
0
0
0
0
0
28
0
-8
10
-8
96
-34
-3
0
-3
0
0
0
0
0
0
0
-1
0
-9
-7
6
-7
48
11
3
0
0
0
0
0
0
0
0
25
0
24
8
0
65
-1
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-4
-4
1
2
0
0
0
0
0
0
0
0
0
0
3
6
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
-5
6
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
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
3
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
8
-46
-13
15
-63
0
0
0
0
0
0
0
0
0
0
23
85
-112
65
200
70
-5
-94
0
0
0
0
0
0
0
0
-4
14
-1
-26
-67
-75
-24
34
-77
0
0
0
0
0
0
0
0
35
9
47
93
-103
96
10
36
13
0
0
0
0
0
0
0
0
26
1
-3
-90
-21
-37
-14
16
11
0
0
0
0
0
0
0
0
0
0
-1
-21
14
-15
11
49
41
0
0
0
0
0
0
0
0
0
0
0
0
10
-16
82
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-127
-54
59
133
37
21
68
0
-101
0
0
0
0
0
0
0
-57
-40
121
39
-11
90
-40
11
27
-32
0
0
0
0
0
0
0
21
-28
-78
-13
92
-144
55
-9
10
35
0
0
0
0
0
0
0
5
51
16
12
10
101
-40
58
21
54
0
0
0
0
0
0
0
8
79
-25
42
57
-70
-27
96
5
-12
0
0
0
0
0
0
0
0
0
45
-1
-28
66
-99
42
-35
7
0
0
0
0
0
0
0
7
0
-50
0
-2
-2
110
57
-85
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-32
-14
-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
60
21
25
-109
39
-65
102
0
24
19
0
0
0
0
0
0
-1
-105
-24
-11
-58
13
52
6
92
-15
54
0
0
0
0
0
0
-7
47
-13
-38
-76
4
61
87
76
84
15
0
0
0
0
0
0
12
-12
-22
11
16
32
88
43
4
-43
-7
0
0
0
0
0
0
-10
1
10
39
-21
-50
-32
-64
-11
93
5
0
0
0
0
0
0
1
2
0
7
-9
-15
-56
6
45
-9
1
0
0
0
0
0
0
0
2
9
10
-38
-13
-25
-37
-3
15
0
0
0
0
0
0
0
0
-2
0
0
-1
6
8
8
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
-4
-33
6
-21
64
-25
-100
0
-1
21
18
0
0
0
0
0
-26
33
49
12
-139
39
-55
24
18
-56
0
21
0
0
0
0
0
0
-69
55
-3
43
-90
23
-9
-5
10
-12
7
0
0
0
0
0
-2
-7
129
16
37
43
51
5
96
9
-4
0
0
0
0
0
0
-20
14
-1
-37
66
-20
118
101
26
-101
0
1
0
0
0
0
0
0
12
7
-20
-2
40
74
65
-7
9
-4
0
0
0
0
0
0
0
0
0
-2
4
0
6
-8
30
-3
0
0
0
0
0
0
0
0
0
0
-7
0
1
-4
123
-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
-4
-3
3
0
-18
7
4
-56
0
15
-19
0
0
0
0
0
0
-4
51
-49
-21
135
71
10
115
-48
0
-69
0
0
0
0
0
0
0
1
4
-14
1
51
32
-30
31
45
3
0
0
0
0
0
0
-11
3
-11
7
-6
-39
90
-66
14
-2
-32
0
0
0
0
0
0
-4
-14
-14
-4
11
95
27
-79
-6
24
6
-1
0
0
0
0
0
1
0
-14
1
-3
25
13
10
-6
3
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-1
19
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
22
2
-42
43
0
103
4
0
0
0
0
0
0
7
-8
9
1
-5
-31
-82
102
15
34
-7
7
0
0
0
0
0
0
-6
-2
39
-15
-3
-41
29
23
-37
-1
6
0
0
0
0
0
5
48
-4
13
44
68
-13
-56
-101
-15
-12
0
0
0
0
0
0
8
0
4
-1
17
-61
-73
-25
5
6
2
0
0
0
0
0
0
0
0
0
-3
1
6
15
-55
4
-8
0
0
0
0
0
0
0
0
0
3
0
0
1
27
23
-10
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
10
-4
8
-1
4
-7
-4
0
-4
15
-8
0
0
0
0
0
0
6
0
1
-12
25
10
111
-19
7
-2
0
0
0
0
0
0
0
-1
-7
-31
4
-30
-8
-3
14
29
-1
0
0
0
0
0
0
0
16
-2
-21
99
-8
8
-49
-78
21
1
0
0
0
0
0
0
0
4
-9
-8
-6
35
75
26
-4
4
0
0
0
0
0
0
0
0
0
-4
-1
2
2
-55
-23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-38
-7
0
1
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
4
-5
3
0
24
-20
0
-6
0
13
0
0
0
0
0
0
14
24
3
-125
44
6
-18
-16
8
4
0
0
0
0
0
0
0
0
0
2
-16
0
23
0
14
32
8
0
0
0
0
0
0
0
-2
-5
28
8
-25
59
15
46
-47
0
-1
0
0
0
0
0
0
3
-10
-4
5
13
-1
6
41
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
8
1
0
-4
0
0
0
0
0
0
0
0
2
16
1
4
2
-2
1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
2
0
0
7
1
-1
-2
0
36
0
0
0
0
0
0
0
0
0
4
-6
-29
-21
-54
-15
28
0
2
0
0
0
0
0
0
0
-2
9
-3
35
27
103
85
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-17
27
21
-54
-1
1
0
0
0
0
0
0
0
0
10
0
-2
10
-13
6
0
0
1
0
0
0
0
0
0
0
0
0
-11
0
0
12
0
13
0
-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
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
-1
8
0
0
0
0
0
0
0
0
0
0
0
-5
11
0
-21
14
-16
-18
0
-3
0
0
0
0
0
0
0
0
0
7
0
-14
-5
-20
-51
0
0
0
0
0
0
0
0
0
0
0
0
-10
-24
10
12
11
0
0
0
0
0
0
0
0
0
0
11
-9
-1
0
6
2
6
0
0
0
0
0
0
0
0
0
0
-10
0
0
-5
0
-5
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
5
35
-116
-38
-116
0
0
0
0
0
0
0
0
0
22
25
-14
-28
81
50
121
-23
22
0
0
0
0
0
0
0
0
41
-24
-6
-29
-48
-55
-129
30
-30
0
0
0
0
0
0
0
0
0
-2
79
-12
86
-20
38
53
2
0
0
0
0
0
0
0
0
-17
5
-8
20
13
-82
50
5
12
0
0
0
0
0
0
0
0
-6
11
3
42
11
-95
-10
-21
0
0
0
0
0
0
0
0
0
0
0
-1
0
26
-24
-46
-5
0
0
0
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
54
-1
-19
62
0
30
28
0
-103
0
0
0
0
0
0
0
-48
-36
120
-20
-10
31
73
17
47
-12
0
0
0
0
0
0
0
134
31
113
123
13
39
83
-20
54
-29
0
0
0
0
0
0
0
-7
-24
95
10
76
74
-190
26
112
180
0
0
0
0
0
0
0
-25
19
8
-49
0
-51
17
-9
-20
-6
0
0
0
0
0
0
0
1
-16
23
-42
-61
117
8
27
-140
-2
0
0
0
0
0
0
0
0
-9
3
-7
-12
-55
-76
1
-109
18
0
0
0
0
0
0
0
0
0
0
1
0
-5
-24
24
77
1
0
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
5
-9
18
-30
-102
2
0
-21
-4
0
0
0
0
0
0
2
-43
24
-13
13
45
55
-83
-49
39
-32
0
0
0
0
0
0
-4
75
6
-4
51
-10
68
155
-34
83
-4
0
0
0
0
0
0
18
4
-4
18
110
37
23
-15
-48
-10
17
0
0
0
0
0
0
41
-15
-12
7
-11
-37
114
-123
21
32
-1
0
0
0
0
0
0
0
-45
-21
-76
35
-75
87
81
-53
17
-1
0
0
0
0
0
0
0
24
12
0
31
7
-45
-60
-72
-11
0
0
0
0
0
0
0
0
0
-3
0
0
-7
18
12
9
-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
-4
-2
1
83
98
-5
-102
0
111
-32
0
0
0
0
0
0
0
-49
-48
-10
-12
11
-91
35
38
98
54
-8
0
0
0
0
0
3
-35
35
-14
-175
30
11
27
9
-74
-13
-9
0
0
0
0
0
0
-31
28
-1
55
172
5
52
-107
-86
10
1
0
0
0
0
0
0
-4
-4
-22
17
-4
46
-13
35
-39
-3
0
0
0
0
0
0
0
4
1
-58
19
56
-35
23
-53
18
0
0
0
0
0
0
0
0
6
0
1
-1
-9
90
13
97
0
0
0
0
0
0
0
0
0
0
0
2
0
-18
24
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
-7
0
12
-3
-8
52
203
-82
0
-78
-37
0
0
0
0
0
0
0
-5
7
8
-1
55
-42
-59
-33
127
-41
-6
0
0
0
0
0
0
1
10
-43
-54
5
-59
7
111
37
-5
4
0
0
0
0
0
0
0
6
69
0
-19
43
-16
-110
86
-3
0
0
0
0
0
0
2
1
0
-1
-20
27
37
11
57
-9
0
0
0
0
0
0
0
0
0
0
-28
1
-80
20
14
9
-22
-13
0
0
0
0
0
0
0
0
2
12
6
12
41
3
10
4
0
0
0
0
0
0
0
0
0
0
0
2
-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
-3
0
0
0
14
-26
34
0
-48
12
5
0
0
0
0
0
0
-18
-1
0
-9
18
4
28
65
21
-5
0
0
0
0
0
0
0
-1
0
-33
-24
-49
-6
-27
60
-29
2
0
0
0
0
0
0
0
0
-34
-3
-22
0
-19
-7
-25
77
0
0
0
0
0
0
0
0
-7
-2
-78
22
73
-29
42
-1
-18
0
0
0
0
0
0
0
0
0
-5
0
3
30
1
-5
7
5
2
0
0
0
0
0
0
0
0
-6
-11
3
-4
42
11
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-1
-1
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
-5
25
11
-46
67
0
0
-6
0
0
0
0
0
0
0
-2
8
65
-7
74
-23
18
-24
-1
6
3
0
0
0
0
0
0
-3
-5
-5
-7
-12
-29
-2
84
73
-1
0
0
0
0
0
0
0
0
5
-18
8
94
0
-2
35
37
0
0
0
0
0
0
0
0
-2
-11
-5
-5
0
-23
44
-12
-3
1
0
0
0
0
0
0
0
14
0
-1
0
74
20
74
10
1
0
0
0
0
0
0
0
0
-11
-19
0
-12
2
6
1
-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
-8
0
0
6
-9
-2
-13
0
58
0
0
0
0
0
0
0
0
-2
6
0
7
3
-32
44
70
-11
0
0
0
0
0
0
0
0
-15
6
-6
28
-4
46
90
-47
8
1
0
0
0
0
0
0
0
0
-2
-41
26
43
-60
0
-16
-21
-1
0
0
0
0
0
0
0
0
2
-19
-34
-2
26
-18
1
0
-4
0
0
0
0
0
0
0
-9
0
0
0
-13
2
-2
4
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-1
-3
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
-2
0
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-8
0
-1
-16
4
0
0
0
0
0
0
0
0
14
0
0
3
73
22
-29
-6
0
0
0
0
0
0
0
0
0
0
0
5
-67
1
37
-25
-3
13
10
0
0
0
0
0
0
0
-28
0
0
-2
0
-71
9
2
0
0
0
0
0
0
0
0
0
5
0
0
-6
-27
4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-6
-11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
2
27
-7
40
7
-2
0
0
0
0
0
0
0
0
10
0
0
0
-3
-2
-46
3
-14
0
0
0
0
0
0
0
0
-8
2
0
-9
8
0
0
28
0
0
0
0
0
0
0
0
0
12
0
0
-2
1
9
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
10
-31
-50
-82
11
-42
0
0
0
0
0
0
0
0
0
18
-39
12
-1
45
98
-119
-138
-73
0
0
0
0
0
0
0
0
1
-3
77
-20
-64
-16
-39
-38
-17
0
0
0
0
0
0
0
0
19
-7
64
105
-58
31
-68
24
-14
0
0
0
0
0
0
0
0
0
-12
-16
70
87
-2
-102
-52
-20
0
0
0
0
0
0
0
0
13
0
0
-44
53
-3
-48
-2
0
0
0
0
0
0
0
0
0
0
12
0
-1
-85
7
9
0
2
0
0
0
0
0
0
0
0
0
0
12
7
0
-1
-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
-6
-41
-11
3
-43
26
-3
-24
0
19
0
0
0
0
0
0
0
37
-75
0
-57
22
-67
-65
1
9
-9
0
0
0
0
0
0
0
-26
-13
-33
72
38
-78
-20
-5
-33
-97
0
0
0
0
0
0
0
16
-32
-50
-13
-26
78
52
-57
-93
-3
0
0
0
0
0
0
0
32
0
77
-8
45
67
48
-52
-55
-56
0
0
0
0
0
0
0
0
71
-76
-3
26
-29
109
-32
-88
0
0
0
0
0
0
0
0
0
14
-3
-1
-55
-47
38
31
-60
1
0
0
0
0
0
0
0
0
3
-14
29
0
7
15
-16
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
10
0
0
0
0
0
0
0
0
-6
-13
-12
10
-72
-26
3
-10
0
200
-10
0
0
0
0
0
0
-1
-13
-73
-22
5
-19
39
46
-47
7
67
0
0
0
0
0
0
3
-13
145
43
22
95
1
-53
-12
-80
21
0
0
0
0
0
0
70
94
82
52
-4
74
-69
11
69
80
33
0
0
0
0
0
0
7
25
0
15
-27
21
176
-45
-8
-18
2
0
0
0
0
0
0
0
0
9
-40
-108
-4
105
-72
-7
-6
-18
0
0
0
0
0
0
0
-3
35
-23
71
54
40
31
61
55
0
0
0
0
0
0
0
0
0
-9
1
0
12
65
-91
-2
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
2
-21
0
-38
92
32
99
26
0
21
75
0
0
0
0
0
0
0
-48
61
19
-46
49
96
112
18
74
152
0
0
0
0
0
0
0
6
37
27
126
-61
150
71
-16
75
139
1
0
0
0
0
0
0
-6
-5
-51
-39
18
-21
-150
-10
66
-38
-3
0
0
0
0
0
5
-1
1
0
-38
28
-42
10
-12
-2
19
0
0
0
0
0
0
0
10
-3
-13
-18
48
-53
-78
19
32
0
0
0
0
0
0
0
0
0
-2
10
37
48
-39
78
-23
-3
0
0
0
0
0
0
0
0
0
0
-4
0
-6
53
11
7
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
0
0
0
0
0
0
0
0
0
0
6
0
5
-12
-78
-42
0
22
1
0
0
0
0
0
0
0
-8
-17
2
-27
-16
-54
-112
-63
31
34
8
0
0
0
0
0
0
2
1
65
-36
-135
-52
-56
51
23
-12
0
0
0
0
0
0
0
0
4
3
-4
38
68
-83
29
33
1
2
0
0
0
0
0
3
0
4
31
0
-74
17
52
12
4
0
0
0
0
0
0
0
0
0
55
0
-20
49
12
102
22
68
0
0
0
0
0
0
0
0
0
0
3
52
-4
-28
-1
-35
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
-6
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
-4
0
0
32
-28
-10
0
0
32
0
0
0
0
0
0
0
13
5
-23
29
111
79
52
28
9
-12
0
0
0
0
0
0
0
8
-3
12
-61
-25
-21
60
139
74
-5
9
0
0
0
0
0
0
0
-1
-13
4
-51
-53
-14
157
-112
-26
0
0
0
0
0
0
-13
62
12
-1
20
0
51
-11
124
22
0
0
0
0
0
0
0
0
0
0
-32
-7
12
-24
6
14
-23
-13
0
0
0
0
0
0
0
0
0
0
14
20
-15
-3
27
0
-5
0
0
0
0
0
0
0
0
13
11
0
-3
0
35
0
3
0
0
0
0
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
-47
67
0
8
0
0
0
0
0
0
0
0
-6
1
0
22
0
-14
75
27
-5
4
0
0
0
0
0
0
0
0
-14
0
-66
15
-58
-11
-40
15
0
0
0
0
0
0
0
4
0
5
0
-57
8
74
-10
-1
28
0
-2
0
0
0
0
0
0
29
-4
-2
55
-2
0
22
64
0
-4
0
0
0
0
0
0
0
16
35
-12
36
3
20
42
4
-9
5
0
0
0
0
0
0
0
0
0
-6
-14
1
28
0
0
0
0
0
0
0
0
0
0
0
5
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
7
-4
9
-20
0
7
0
0
0
0
0
0
0
0
1
0
21
-27
68
-32
-1
8
-2
1
0
0
0
0
0
0
0
10
3
7
48
8
-31
-108
8
-4
-2
0
0
0
0
0
0
0
0
0
15
42
-32
-9
30
-14
22
0
0
0
0
0
0
0
0
4
0
0
0
3
6
0
-52
0
0
0
0
0
0
0
0
0
0
0
27
6
-20
-4
-29
0
-6
0
0
0
0
0
0
0
0
0
0
0
24
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
9
-3
-2
0
-20
0
0
0
0
0
0
0
0
0
0
0
-8
0
-5
42
-44
38
0
0
0
0
0
0
0
0
0
0
26
0
-5
-12
-29
20
10
3
0
0
0
0
0
0
0
28
0
-13
21
80
171
27
1
-10
0
0
0
0
0
0
0
0
0
0
-10
-24
0
-2
0
0
7
0
0
0
0
0
0
0
0
0
-2
-1
-2
12
50
6
1
-1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
-4
-12
-3
19
6
-2
0
0
0
0
0
0
0
1
0
0
2
-2
16
-4
40
3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
6
-5
-1
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
0
1
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
45
0
-37
-7
27
0
0
0
0
0
0
0
0
0
-58
-2
0
-64
60
127
5
21
-49
0
0
0
0
0
0
0
0
7
4
-7
11
-42
-29
-88
-89
83
0
0
0
0
0
0
0
0
-10
20
58
126
-47
17
-19
86
-37
0
0
0
0
0
0
0
0
-16
-23
-5
91
37
-54
-21
16
30
0
0
0
0
0
0
0
0
0
86
3
42
113
-11
14
48
0
0
0
0
0
0
0
0
0
-20
22
12
13
95
-16
7
62
20
0
0
0
0
0
0
0
0
0
0
0
8
-5
14
0
-2
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
-56
20
59
57
-27
78
15
0
71
0
0
0
0
0
0
0
23
-50
56
-11
9
38
-2
-10
-68
67
0
0
0
0
0
0
0
8
99
-31
-28
54
28
79
5
81
-58
0
0
0
0
0
0
0
2
137
35
75
49
-15
-55
-16
-109
18
0
0
0
0
0
0
0
6
25
-9
161
60
19
45
7
25
139
0
0
0
0
0
0
0
-3
0
-25
12
52
-2
16
-14
-25
25
0
0
0
0
0
0
0
2
-18
-9
3
22
22
24
33
-14
-3
0
0
0
0
0
0
0
0
-3
4
-29
-6
24
66
53
1
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
38
6
0
0
0
0
0
0
0
0
0
10
-10
-51
0
-36
25
-5
67
0
-21
-54
0
0
0
0
0
0
-3
-24
64
30
-13
-6
-14
-11
126
-32
-20
0
0
0
0
0
0
-3
23
-18
-37
-47
19
58
-36
-48
142
43
0
0
0
0
0
0
19
82
-38
65
131
47
65
2
57
127
11
0
0
0
0
0
0
-8
-101
12
12
78
-26
36
-69
44
118
0
0
0
0
0
0
0
34
-117
0
4
-134
-51
61
42
-47
107
-1
0
0
0
0
0
0
-4
0
-79
54
-41
40
-25
56
133
-4
0
0
0
0
0
0
0
0
0
-28
-6
0
40
35
66
-27
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-15
0
-25
-1
0
0
0
0
0
0
0
4
25
4
-4
54
15
-67
-9
0
112
24
3
0
0
0
0
0
4
97
-42
15
74
25
-32
-35
11
-39
-40
-8
0
0
0
0
0
0
4
17
2
125
-30
48
65
44
29
-46
0
0
0
0
0
0
5
183
-7
0
-31
-32
68
68
-19
76
39
0
0
0
0
0
0
0
-37
-3
-50
11
74
56
-78
100
35
12
0
0
0
0
0
0
-1
99
6
0
16
-8
28
24
78
41
-1
0
0
0
0
0
0
0
-68
3
118
-52
-32
-59
-53
-39
16
12
0
0
0
0
0
0
0
0
5
-10
0
-4
-18
-42
1
-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
-7
3
-10
-67
68
28
0
-17
23
0
0
0
0
0
0
0
5
14
-56
3
-46
-66
10
-83
-66
-17
0
0
0
0
0
0
0
2
-1
14
37
52
155
-44
-2
13
13
0
0
0
0
0
0
0
-2
0
-3
10
-10
21
9
-105
34
-4
0
0
0
0
0
0
0
0
9
32
-92
-25
83
-38
36
-19
-1
-2
0
0
0
0
0
0
13
105
-48
0
16
77
52
-7
-12
0
0
0
0
0
0
0
-3
0
2
0
13
1
35
19
0
0
2
0
0
0
0
0
0
0
0
0
5
-5
-5
31
-10
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
-1
0
-8
-3
-9
68
-47
0
-9
0
1
0
0
0
0
0
0
-2
0
-8
4
-4
47
10
-7
-4
27
0
0
0
0
0
0
0
0
-11
0
0
-1
16
-26
-44
-43
6
0
0
0
0
0
0
0
0
-2
100
45
52
96
75
-17
55
22
-1
0
0
0
0
0
2
-24
9
9
-28
45
69
75
130
7
0
0
0
0
0
0
0
0
23
-9
3
2
0
-46
-26
-5
1
0
0
0
0
0
0
0
-5
1
-28
7
0
-15
3
23
-9
4
0
0
0
0
0
0
0
0
-3
-6
0
0
0
-3
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
-4
27
1
0
-20
0
0
0
0
0
0
0
0
-2
0
2
36
-34
141
-79
34
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
22
-63
0
0
1
0
0
0
0
0
0
-4
0
0
-1
27
9
-19
-4
-54
-1
0
0
0
0
0
0
0
-6
-21
0
-7
-8
93
15
67
8
1
0
0
0
0
0
0
0
0
11
0
-1
8
0
52
-1
41
1
0
0
0
0
0
0
0
0
0
-2
1
5
39
3
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
10
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
-6
-57
6
0
-3
4
0
0
0
0
0
0
-7
0
-13
0
-19
1
-1
38
-8
-3
0
0
0
0
0
0
0
0
0
0
0
2
34
-17
-12
-25
-12
0
0
0
0
0
0
0
0
0
0
-4
-4
-21
9
-21
-15
11
7
0
0
0
0
0
0
0
16
0
15
0
-70
31
23
9
-5
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
-6
0
6
-53
0
-4
-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
-1
17
5
0
2
-5
0
0
0
0
0
0
0
-3
0
0
1
86
21
-33
-49
-15
0
0
0
0
0
0
0
0
-5
0
2
-1
9
-9
-8
-27
-1
0
0
0
0
0
0
0
0
-3
0
9
-52
46
-17
67
-5
-42
0
0
0
0
0
0
0
0
0
0
0
-14
8
169
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
2
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
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
1
-2
0
0
0
15
2
40
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
0
2
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
-10
0
8
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
-5
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-61
-17
92
45
0
0
0
0
0
0
0
0
0
120
23
-11
-33
75
118
-16
33
32
0
0
0
0
0
0
0
0
-31
0
-7
9
-29
56
51
-114
33
0
0
0
0
0
0
0
0
-41
15
-2
49
-87
112
21
10
58
0
0
0
0
0
0
0
0
-2
0
2
-136
-49
-13
47
-4
65
0
0
0
0
0
0
0
0
40
9
-31
86
13
24
-46
-12
-3
0
0
0
0
0
0
0
0
0
0
14
4
74
76
-47
-16
-4
0
0
0
0
0
0
0
0
0
0
-5
48
-15
-7
-1
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
37
0
0
0
0
0
0
0
0
0
0
0
-109
-16
13
64
69
-25
-42
0
23
0
0
0
0
0
0
0
-3
-86
-56
-68
-163
-42
-62
13
0
47
0
0
0
0
0
0
0
0
-4
-18
10
91
84
-2
-21
-15
-16
0
0
0
0
0
0
0
12
-16
6
-47
2
7
32
19
41
54
0
0
0
0
0
0
0
0
47
-6
-29
106
87
83
152
-79
-34
0
0
0
0
0
0
0
18
-33
-20
36
27
67
-14
-42
-29
-86
0
0
0
0
0
0
0
-8
0
3
22
-2
-33
42
-84
-66
18
0
0
0
0
0
0
0
0
2
23
-70
19
10
-33
63
7
13
0
0
0
0
0
0
0
4
0
0
0
8
-3
6
-5
0
0
0
0
0
0
0
0
0
0
-5
50
-5
18
-8
103
-24
0
-9
21
0
0
0
0
0
0
-3
-85
-28
-21
-12
90
50
25
30
54
9
0
0
0
0
0
0
-5
44
23
-9
108
11
-28
-17
-38
-22
19
0
0
0
0
0
0
0
-50
-8
6
29
124
10
20
102
90
11
0
0
0
0
0
0
1
-12
-10
60
-28
13
97
-9
-24
-23
-2
0
0
0
0
0
0
-7
-18
15
41
-8
29
13
-57
90
28
-22
0
0
0
0
0
0
28
25
0
-1
-67
-71
-49
-4
108
-32
0
0
0
0
0
0
0
0
0
-9
13
-22
-1
53
-47
18
-49
0
0
0
0
0
0
0
0
0
0
0
0
11
1
-3
-1
0
0
0
0
0
0
0
0
0
-1
-8
6
-13
-23
100
134
0
-11
14
-2
0
0
0
0
0
0
-13
-11
-12
-28
-91
-42
79
8
60
-23
3
0
0
0
0
0
0
-18
3
-18
11
-7
168
24
-26
70
-35
-1
0
0
0
0
0
0
-11
0
-4
10
78
-57
9
60
-70
-21
0
0
0
0
0
0
0
12
-9
-3
-73
106
67
-104
-11
129
-3
0
0
0
0
0
0
2
-20
5
71
5
164
125
-132
24
-14
15
1
0
0
0
0
0
0
0
118
0
39
-12
-114
84
-21
5
0
0
0
0
0
0
0
0
23
0
-10
0
38
-17
-57
-10
-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
-3
11
12
-16
10
52
-49
0
117
28
0
0
0
0
0
0
0
0
1
4
-19
51
24
-6
18
53
61
-3
0
0
0
0
0
0
-3
0
11
6
-15
85
-13
17
46
-1
0
0
0
0
0
0
0
-20
0
-3
-5
19
-60
24
-18
14
3
0
0
0
0
0
0
0
-9
0
-1
-15
100
20
44
2
5
-10
0
0
0
0
0
0
0
0
-6
-1
-4
-63
-41
-41
15
29
0
6
0
0
0
0
0
0
0
0
0
0
-41
30
-18
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
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
14
-9
-4
0
-78
34
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-24
11
12
-67
-16
-5
0
0
0
0
0
0
0
0
0
24
-17
-2
18
9
-3
0
0
0
0
0
0
0
0
0
-4
0
0
22
2
49
54
-69
0
0
0
0
0
0
0
0
0
0
0
52
4
51
1
-9
0
-11
0
0
0
0
0
0
0
0
1
0
27
-27
17
48
2
1
0
0
0
0
0
0
0
0
7
0
0
0
0
-7
0
41
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-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
18
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
13
-8
33
0
0
0
0
0
0
0
0
0
0
2
0
0
46
-12
-20
0
0
0
0
0
0
0
0
0
0
0
2
0
43
8
99
3
-20
0
0
0
0
0
0
0
0
19
-1
3
-3
19
-40
-10
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
4
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
-7
0
0
-1
6
4
0
1
-2
0
0
0
0
0
0
0
39
0
2
-3
-13
-15
-59
-36
-1
0
0
0
0
0
0
0
0
2
0
-2
-2
-1
-18
7
11
16
0
0
0
0
0
0
0
0
0
0
0
0
21
1
9
2
-1
0
0
0
0
0
0
0
0
4
0
0
-2
-1
8
-8
6
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-5
12
-1
-4
0
0
0
0
0
0
0
0
0
0
0
1
-5
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
20
-13
21
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
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-1
18
6
-38
26
-22
0
0
0
0
0
0
0
0
5
0
20
-2
-7
-10
0
69
0
0
0
0
0
0
0
0
0
0
-6
0
-41
10
-3
-55
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-25
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-22
-6
0
0
0
0
0
0
0
0
0
15
0
0
-2
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
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
2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
70
-4
5
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
7
6
0
0
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
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
-1
0
0
0
1
-35
-36
2
0
0
0
0
0
0
0
0
0
12
0
10
-22
4
20
-75
22
54
0
0
0
0
0
0
0
0
19
0
0
99
94
14
2
50
-51
0
0
0
0
0
0
0
0
43
-4
-3
-10
-74
-10
-3
-70
-20
0
0
0
0
0
0
0
0
53
-3
12
-4
-58
51
-77
-15
76
0
0
0
0
0
0
0
0
44
12
-49
-132
-77
-6
4
-41
-7
0
0
0
0
0
0
0
0
-2
20
64
84
59
13
-79
-37
103
0
0
0
0
0
0
0
0
0
-1
-5
-38
-23
53
-51
28
0
0
0
0
0
0
0
0
0
-8
-6
0
0
29
0
-37
0
0
0
0
0
0
0
0
0
0
0
29
-7
45
24
-17
71
-22
0
2
0
0
0
0
0
0
0
-1
29
50
-65
34
-6
73
7
38
-9
0
0
0
0
0
0
0
0
-25
31
4
-71
-71
-27
-59
99
87
0
0
0
0
0
0
0
-5
-60
-27
-21
-9
95
-75
-45
51
79
0
0
0
0
0
0
0
-2
3
36
29
64
82
25
51
-4
-114
0
0
0
0
0
0
0
1
-103
-38
95
60
-31
45
-56
-56
44
0
0
0
0
0
0
0
-16
-5
-32
17
-7
-7
33
-70
-22
1
0
0
0
0
0
0
0
0
0
-4
69
31
-64
86
-17
-29
50
0
0
0
0
0
0
0
0
0
0
6
1
12
11
-38
0
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-1
71
47
0
-22
3
0
0
0
0
0
0
0
-41
20
-2
-16
-30
36
96
1
-48
33
0
0
0
0
0
0
-19
3
10
1
19
106
-23
-50
89
-25
-91
0
0
0
0
0
0
0
41
3
-25
24
-50
138
42
45
-26
15
0
0
0
0
0
0
0
-25
-18
32
-24
-72
28
-11
-6
4
35
0
0
0
0
0
0
0
41
19
-11
55
26
6
-102
47
-44
-7
0
0
0
0
0
0
0
-1
-3
28
-47
-130
39
-1
58
48
0
0
0
0
0
0
0
0
79
0
43
-3
138
-39
-2
-36
-34
0
0
0
0
0
0
0
0
0
0
0
1
0
15
0
23
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-36
22
0
40
1
0
0
0
0
0
0
0
13
-25
17
1
12
29
-71
124
135
-60
7
0
0
0
0
0
0
-5
0
-2
45
65
-23
-15
-141
31
-12
2
0
0
0
0
0
0
-7
0
1
37
11
-9
142
-87
66
-10
0
0
0
0
0
0
0
2
0
2
-56
-42
62
83
-42
-3
-5
0
0
0
0
0
0
0
-5
-2
-3
51
-54
41
-39
147
3
0
0
0
0
0
0
0
0
-1
40
25
-33
60
5
-37
-7
-63
25
0
0
0
0
0
0
0
-10
-2
0
2
-14
-5
-62
8
-9
1
0
0
0
0
0
0
0
0
0
-3
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
17
8
0
55
-3
0
0
0
0
0
0
0
0
0
0
0
54
3
-38
0
5
14
0
0
0
0
0
0
0
0
0
2
2
5
55
1
-14
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-20
-9
5
-2
0
0
0
0
0
0
0
6
0
4
-2
-32
24
0
-4
0
1
0
0
0
0
0
0
0
0
0
-17
-23
-1
8
99
22
4
0
0
0
0
0
0
0
0
2
0
14
-35
9
-55
0
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
0
12
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
2
0
0
5
0
-28
15
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
46
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-42
14
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
3
0
-4
12
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
2
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
0
0
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
18
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
-1
0
-3
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
2
0
7
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
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
-3
-5
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
0
0
4
0
0
-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
2
-3
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
-11
47
6
-42
0
0
0
0
0
0
0
0
0
25
0
0
0
49
-7
-3
23
-55
0
0
0
0
0
0
0
0
-18
0
0
87
32
-12
2
-3
14
0
0
0
0
0
0
0
0
8
7
19
11
-27
36
47
13
33
0
0
0
0
0
0
0
0
7
127
-68
100
5
82
-28
117
0
0
0
0
0
0
0
0
0
-9
-1
0
-24
71
47
-47
-20
33
0
0
0
0
0
0
0
0
0
0
27
86
2
84
0
-10
0
0
0
0
0
0
0
0
0
0
-2
8
0
-14
19
31
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
13
18
48
0
0
0
0
0
0
0
0
0
9
0
0
-2
2
89
-169
34
27
0
0
0
0
0
0
0
0
-20
0
-17
10
-50
9
30
-13
4
0
0
0
0
0
0
0
-10
0
-3
0
49
1
-4
1
-28
3
0
0
0
0
0
0
0
0
35
12
119
-25
88
-83
0
-5
0
0
0
0
0
0
0
0
0
0
12
22
-12
44
10
-28
0
0
0
0
0
0
0
0
0
0
0
1
-23
-33
36
5
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
50
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
-23
18
22
8
0
0
0
0
0
0
0
0
-4
-11
0
1
-10
-13
-7
28
4
5
0
0
0
0
0
0
0
0
0
0
5
38
56
-53
29
-42
0
0
0
0
0
0
0
0
-2
0
6
0
4
65
12
23
16
-10
0
0
0
0
0
0
0
0
0
-110
9
-6
12
-7
3
0
0
0
0
0
0
0
0
0
0
0
17
11
-62
-22
-8
36
0
3
0
0
0
0
0
0
0
0
0
24
-2
27
6
37
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
0
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
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
6
6
17
0
0
0
0
0
0
0
0
0
0
0
0
4
0
41
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-7
1
-6
-1
0
0
0
0
0
0
0
0
0
-7
0
1
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
-17
28
12
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-11
-55
18
-68
0
0
0
0
0
0
0
0
0
0
-9
-21
117
-26
-20
-44
-27
-84
0
0
0
0
0
0
0
0
0
1
0
-33
-46
54
9
75
25
0
0
0
0
0
0
0
0
0
0
0
0
-39
-81
-24
67
28
0
0
0
0
0
0
0
0
0
0
0
11
0
34
-86
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-118
0
0
0
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
7
-5
71
0
0
0
0
0
0
0
0
0
0
0
100
-76
59
-156
-70
-16
0
0
0
0
0
0
0
0
0
0
0
9
32
-41
50
-147
46
73
-51
-88
0
0
0
0
0
0
0
-1
-109
41
99
-84
117
9
-8
-51
-69
0
0
0
0
0
0
0
0
-10
111
50
47
105
89
-7
31
78
0
0
0
0
0
0
0
0
-21
-12
-34
-47
-39
-89
36
33
-64
0
0
0
0
0
0
0
0
0
0
102
73
129
-10
22
1
31
0
0
0
0
0
0
0
0
0
0
26
-40
25
14
11
53
95
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-41
0
0
0
0
0
0
0
0
0
0
0
97
17
-59
81
0
0
0
-26
0
0
0
0
0
0
0
-45
-47
108
6
-45
-33
0
0
0
22
0
0
0
0
0
0
0
59
45
-116
-44
32
55
-6
-12
-91
40
0
0
0
0
0
0
0
57
71
42
-66
-105
61
-38
3
-108
-4
0
0
0
0
0
0
0
-13
72
56
36
38
-33
8
-52
-27
17
0
0
0
0
0
0
0
-25
-71
-51
10
10
10
10
-113
142
4
0
0
0
0
0
0
0
0
-11
11
-121
-125
16
-24
-40
-4
55
0
0
0
0
0
0
0
0
-11
15
6
-93
-14
-44
15
12
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-56
-6
-2
0
0
0
49
0
0
0
0
0
0
0
3
-30
-52
68
-27
-64
0
0
0
-12
-22
0
0
0
0
0
0
0
12
43
-1
58
-29
-141
51
-41
86
-16
0
0
0
0
0
0
-19
-29
-24
-122
63
96
19
-21
12
-41
0
0
0
0
0
0
0
0
-45
-51
26
-56
-184
-33
-7
-56
26
2
0
0
0
0
0
0
0
0
-29
-97
69
36
22
114
-24
34
0
0
0
0
0
0
0
0
0
-11
-119
-61
-29
65
-18
63
-19
-5
0
0
0
0
0
0
0
0
3
10
3
28
34
-8
25
67
-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
3
-42
0
-19
-79
0
0
0
-3
-1
0
0
0
0
0
0
-47
-39
-2
20
-132
23
0
0
0
-38
-5
0
0
0
0
0
0
0
-3
-29
-47
41
-37
-26
88
-37
-67
-6
0
0
0
0
0
0
0
6
-3
-48
51
58
-59
-73
11
-49
-1
1
0
0
0
0
0
0
-29
2
-57
37
-125
44
-38
9
-2
3
0
0
0
0
0
0
0
0
-1
-3
28
-143
-123
61
-33
-28
15
0
0
0
0
0
0
0
19
-4
12
-154
-77
-69
33
16
-2
25
0
0
0
0
0
0
0
0
-5
14
-47
77
20
52
48
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
14
0
0
0
-89
0
0
0
0
12
0
0
0
0
0
0
0
7
-26
-4
-24
39
0
0
0
2
-6
0
0
0
0
0
0
0
2
-29
-41
-9
-53
-20
-49
-15
62
-6
0
0
0
0
0
0
0
0
-15
70
-17
-41
-28
24
136
-6
0
0
0
0
0
0
0
0
0
-7
32
-50
142
-8
-148
-2
-29
-3
0
0
0
0
0
0
0
0
2
59
49
0
32
18
14
-27
1
0
0
0
0
0
0
0
0
0
1
13
6
40
32
-35
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
58
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-5
-5
12
0
0
0
-8
-3
0
0
0
0
0
0
0
0
-4
9
3
-10
-54
3
-135
0
0
0
0
0
0
0
0
0
0
-1
1
-25
49
-41
27
-91
3
0
0
0
0
0
0
0
0
0
0
0
-4
-14
107
1
-144
-10
0
0
0
0
0
0
0
0
0
0
7
-2
24
31
-6
31
1
-3
0
0
0
0
0
0
0
0
0
-8
-14
-12
5
-6
110
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
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
0
0
0
0
0
0
0
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
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
3
-28
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
7
-21
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
9
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
5
6
-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
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
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
10
4
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
-13
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
28
-73
80
0
0
0
0
0
0
0
0
0
0
0
-11
-46
13
-104
65
107
0
0
0
0
0
0
0
0
0
0
0
-48
26
20
-40
-36
-85
-83
12
0
0
0
0
0
0
0
0
0
11
24
59
-34
19
-90
116
37
0
0
0
0
0
0
0
0
0
-4
-33
20
9
-73
18
59
-1
0
0
0
0
0
0
0
0
0
0
-21
11
40
-9
6
40
-99
0
0
0
0
0
0
0
0
0
0
0
-19
-4
61
22
16
131
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-18
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
4
0
0
0
0
0
0
0
0
10
-50
5
-133
-47
43
-140
0
0
0
0
0
0
0
0
0
0
10
-5
101
65
-17
-12
25
0
0
0
0
0
0
0
0
0
0
-4
-25
-20
-7
36
-17
-16
0
-25
30
0
0
0
0
0
0
0
0
-24
-97
71
16
-37
-50
-48
-16
-31
0
0
0
0
0
0
0
0
15
34
47
23
-21
65
49
13
18
0
0
0
0
0
0
0
-3
23
-17
67
62
68
37
55
18
-14
0
0
0
0
0
0
0
0
-2
19
-8
37
26
-20
-94
15
-60
0
0
0
0
0
0
0
0
0
0
0
9
-45
-3
-27
26
98
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-26
0
0
0
0
0
0
0
0
0
-7
34
-98
-32
-149
-113
0
0
0
-60
0
0
0
0
0
0
0
-5
-7
27
12
-54
61
0
0
0
83
0
0
0
0
0
0
0
-7
-7
40
-32
-28
-2
30
-14
76
-17
0
0
0
0
0
0
0
6
61
-5
-9
-51
21
-35
-5
-73
-45
0
0
0
0
0
0
0
10
-40
-29
-3
-13
28
3
-45
-84
33
0
0
0
0
0
0
0
-3
-111
58
-16
-77
-40
-45
-93
18
-49
0
0
0
0
0
0
0
10
-9
14
53
-32
-51
-92
-36
-52
-2
0
0
0
0
0
0
0
0
1
12
34
-38
-201
-144
-150
-45
32
0
0
0
0
0
0
0
0
0
0
0
-3
0
26
-40
-16
-52
0
0
0
0
0
0
0
0
11
17
-15
-50
68
0
0
0
-83
-2
0
0
0
0
0
0
1
92
42
-10
24
-40
0
0
0
55
18
0
0
0
0
0
0
-27
-68
8
-107
86
-70
-1
-61
12
12
11
0
0
0
0
0
0
-6
-36
59
-52
-60
34
-25
30
-45
-49
-5
0
0
0
0
0
0
-20
7
-60
92
-4
-12
-17
-88
58
-64
21
0
0
0
0
0
0
0
13
32
0
142
-43
34
38
65
-94
-9
0
0
0
0
0
0
0
0
20
-22
-31
45
-93
-75
-36
33
32
0
0
0
0
0
0
0
0
0
-5
-58
-11
-50
-77
-19
-32
-1
0
0
0
0
0
0
0
0
0
0
-16
0
7
44
-2
-23
0
0
0
0
0
0
0
0
24
59
23
-22
4
0
0
0
-32
6
0
0
0
0
0
-4
0
-14
-70
-26
2
-36
0
0
0
2
-26
1
0
0
0
0
0
17
-21
77
43
-20
-31
-55
17
-114
-54
-93
-4
0
0
0
0
0
0
12
17
3
145
47
-76
-26
-31
-34
-46
-27
0
0
0
0
0
0
26
-50
66
-6
-80
-80
28
17
22
-85
-18
0
0
0
0
0
0
1
-8
-3
-50
-117
91
-183
-61
21
13
0
0
0
0
0
0
0
0
0
0
-100
-39
-67
-7
13
-23
-6
0
0
0
0
0
0
0
0
0
-8
7
2
-3
100
-49
-15
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
0
2
8
0
0
0
0
0
0
0
0
33
48
15
1
-21
0
0
0
47
-8
0
0
0
0
0
0
-2
-24
27
-46
1
-12
0
0
0
-37
11
0
0
0
0
0
0
0
-12
38
25
-69
62
-36
-35
72
-10
-44
-5
0
0
0
0
0
0
3
14
21
0
-17
-73
-119
-235
-63
6
0
0
0
0
0
0
0
0
-24
-13
158
-34
110
-47
-94
42
-2
0
0
0
0
0
0
0
-2
-13
-9
-2
104
65
-15
-30
41
1
-9
0
0
0
0
0
0
0
2
9
14
15
-40
-9
18
-23
4
1
0
0
0
0
0
0
0
0
42
0
4
2
3
28
11
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
5
2
0
0
0
0
0
0
0
0
-1
0
2
-1
9
0
0
0
-9
2
0
0
0
0
0
0
0
-12
28
0
-41
2
0
0
0
19
-32
-7
0
0
0
0
0
0
0
5
-35
-3
-25
-72
60
-77
11
-38
3
0
0
0
0
0
0
0
0
-12
15
-56
-45
-1
157
-55
6
0
0
0
0
0
0
0
0
1
-4
5
-28
-94
42
-33
4
0
-7
0
0
0
0
0
0
0
0
7
-12
-30
0
-42
-3
19
-11
0
0
0
0
0
0
0
0
0
0
-11
0
50
-5
-89
16
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
49
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
-4
1
11
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
7
0
-2
-50
1
-24
3
2
-3
0
0
0
0
0
0
0
0
0
3
-4
3
3
7
-13
0
0
-1
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
-1
0
-6
3
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-5
0
0
0
5
-2
1
0
0
0
0
0
0
1
0
-7
9
10
-2
-35
-8
0
2
0
0
0
0
0
0
0
0
0
0
7
12
-17
11
27
-15
3
0
0
0
0
0
0
0
0
0
-4
0
-32
-17
1
-47
8
2
0
0
0
0
0
0
0
0
0
-2
-7
-11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-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
7
0
0
0
0
-19
-3
0
0
0
0
0
0
0
0
1
-7
2
3
0
0
0
-23
-14
-2
0
0
0
0
0
0
0
-6
0
15
0
-13
-1
0
60
25
0
0
0
0
0
0
0
0
0
0
0
0
-73
43
-4
1
-3
0
0
0
0
0
0
0
0
0
0
6
-1
0
-10
39
-24
10
0
3
0
0
0
0
0
0
0
0
0
0
1
-15
14
39
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
15
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
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-9
-24
6
-24
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-12
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
6
9
7
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-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
0
0
0
0
0
-8
5
7
5
-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
-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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
3
-85
-41
0
0
0
0
0
0
0
0
0
0
0
-2
-31
-49
-76
-13
-53
0
0
0
0
0
0
0
0
0
0
0
11
49
11
140
-4
-4
43
-116
0
0
0
0
0
0
0
0
0
1
0
-13
1
11
-120
-109
23
0
0
0
0
0
0
0
0
0
-6
3
35
20
-26
-38
37
66
0
0
0
0
0
0
0
0
0
0
0
7
16
-40
55
-60
56
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-55
78
48
0
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
2
0
-44
0
0
0
0
0
0
0
0
4
-19
22
-23
-11
-47
49
0
0
0
0
0
0
0
0
0
0
0
-55
-99
115
-46
-43
69
0
0
0
0
0
0
0
0
0
0
0
17
28
-43
-19
-27
33
54
-55
-33
0
0
0
0
0
0
0
-1
44
-21
20
-89
39
-98
-62
-17
22
0
0
0
0
0
0
0
0
-3
20
0
70
-27
16
69
43
-43
0
0
0
0
0
0
0
-2
-4
-36
-5
30
3
81
81
47
-28
0
0
0
0
0
0
0
0
0
0
3
59
-33
52
62
-18
-108
0
0
0
0
0
0
0
0
0
0
3
-6
25
13
29
82
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-24
0
0
0
0
0
0
0
0
-7
9
-27
60
95
12
0
0
0
-24
0
0
0
0
0
0
0
-8
11
-54
-37
32
19
0
0
0
-34
0
0
0
0
0
0
0
13
40
-8
22
50
79
7
-10
-51
-29
0
0
0
0
0
0
0
-4
-20
-12
30
-32
34
-24
-38
42
-55
0
0
0
0
0
0
0
2
-54
-94
25
-4
9
-27
-7
-16
-69
0
0
0
0
0
0
0
0
-32
-27
43
-30
-59
11
-72
4
-53
0
0
0
0
0
0
0
0
0
-2
-11
83
62
-5
-104
-48
4
0
0
0
0
0
0
0
0
0
6
-4
10
19
-69
121
81
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
41
0
0
0
0
0
0
0
2
0
-2
-34
-74
42
-81
0
0
0
59
-4
0
0
0
0
0
0
-5
-33
-40
-73
14
-41
0
0
0
32
-12
0
0
0
0
0
0
16
1
-97
45
-72
56
-45
-118
104
84
1
0
0
0
0
0
0
-3
79
57
-15
49
-118
70
-65
-119
-29
0
0
0
0
0
0
0
-1
4
-9
-27
-44
80
-35
-104
63
-13
21
0
0
0
0
0
0
0
-1
-40
-14
-14
-75
61
-80
2
6
0
0
0
0
0
0
0
0
0
0
-24
-53
13
-6
15
28
54
0
0
0
0
0
0
0
0
0
0
0
-21
1
-18
23
-17
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-25
0
0
0
0
0
0
0
0
0
-4
74
27
121
-30
0
0
0
-2
7
0
0
0
0
0
0
0
-8
-58
62
12
13
0
0
0
47
-39
0
0
0
0
0
0
11
101
4
30
-11
-35
-27
10
-21
-56
29
8
0
0
0
0
0
2
-18
-25
29
89
-19
-32
71
-102
-43
-48
-2
0
0
0
0
0
0
1
0
-83
5
18
-112
52
-10
-11
-24
0
0
0
0
0
0
0
15
-7
-44
-109
13
47
-126
-74
58
44
-1
0
0
0
0
0
0
0
-11
-10
2
-52
-1
-30
40
-2
-23
0
0
0
0
0
0
0
0
0
0
-21
0
0
-1
-1
9
-1
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
11
13
-4
-7
0
0
0
19
0
0
0
0
0
0
0
0
-17
-36
-3
-13
25
0
0
0
4
42
5
0
0
0
0
0
0
-1
-25
-26
38
-3
12
19
-131
-19
-9
7
0
0
0
0
0
4
-21
0
-6
-33
-61
28
82
-94
-32
-2
-1
0
0
0
0
0
0
0
9
-39
31
38
-69
3
-19
-18
16
0
0
0
0
0
0
0
0
5
-8
1
-118
-25
-76
23
22
-2
0
0
0
0
0
0
0
0
0
3
-2
-62
81
52
-65
-18
-16
0
0
0
0
0
0
0
0
0
0
-2
6
17
15
-20
-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
-2
-3
3
37
0
0
0
8
0
0
0
0
0
0
0
0
-2
2
-9
-37
10
0
0
0
-16
-88
0
0
0
0
0
0
0
1
1
21
13
7
-24
15
0
34
21
-3
-4
0
0
0
0
0
6
-17
-3
-5
35
-46
29
65
4
-2
2
-1
0
0
0
0
0
0
0
0
16
25
10
24
10
34
-46
0
0
0
0
0
0
0
0
0
-1
-6
16
-6
56
-17
7
-3
0
0
0
0
0
0
0
0
0
0
14
-1
7
7
9
3
-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
-9
-12
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
1
5
1
0
0
0
-62
-4
1
0
0
0
0
0
0
1
-3
-3
0
-12
-5
-80
-4
-12
-4
1
0
0
0
0
0
0
0
1
2
-8
4
-10
24
17
-18
-2
0
0
0
0
0
0
0
0
0
0
-3
0
35
15
6
-3
-1
0
0
0
0
0
0
0
0
0
1
0
6
-45
43
37
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
-3
-5
19
0
0
0
-3
0
0
0
0
0
0
0
-9
-19
26
28
-84
-39
0
0
0
-25
-3
0
0
0
0
0
0
2
0
27
-62
8
-98
41
-72
-108
0
0
0
0
0
0
0
0
0
3
-13
-22
-33
-80
47
59
-5
-3
0
0
0
0
0
0
0
0
9
3
0
6
-90
-9
91
-4
3
7
0
0
0
0
0
0
0
0
0
0
5
66
42
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
34
62
0
1
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
0
0
0
0
0
0
0
0
0
0
4
5
-4
33
0
0
0
0
7
-15
3
0
0
0
0
0
0
27
-5
-34
58
18
0
0
0
-34
6
0
0
0
0
0
0
0
-8
-23
-13
44
106
-45
-87
13
13
-6
-1
0
0
0
0
0
0
0
-8
3
-30
-25
-78
-12
116
-43
2
0
0
0
0
0
0
0
-5
0
5
-24
-69
20
95
10
17
-10
0
0
0
0
0
0
0
0
0
3
16
-11
70
-1
13
11
-1
0
0
0
0
0
0
0
0
0
0
0
-8
46
46
-73
-21
0
0
0
0
0
0
0
0
0
0
-17
1
1
5
5
69
0
0
0
0
0
0
0
0
0
0
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
5
0
2
0
0
0
0
-21
-3
-1
0
0
0
0
0
0
0
0
0
-10
10
0
-22
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
8
19
-30
0
-1
0
0
0
0
0
0
0
0
0
0
-3
2
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-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
1
42
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
12
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
41
2
67
-51
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
5
0
1
0
0
0
0
0
0
0
0
0
0
0
11
-57
-10
-47
-69
13
3
-10
0
0
0
0
0
0
0
0
0
-1
2
92
-22
36
8
151
-52
0
0
0
0
0
0
0
0
0
0
0
5
-2
-60
-11
26
-73
0
0
0
0
0
0
0
0
0
0
1
1
8
11
-12
8
11
0
0
0
0
0
0
0
0
0
0
0
0
-36
-17
18
-93
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
86
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
2
30
40
17
-44
88
0
0
0
0
0
0
0
0
0
0
2
24
38
59
-56
-1
126
0
0
0
0
0
0
0
0
0
0
0
-52
88
78
90
-93
100
18
-121
-110
0
0
0
0
0
0
0
0
-2
18
-14
-64
3
-55
-34
-99
-67
0
0
0
0
0
0
0
0
24
102
14
-105
-44
-130
-12
-69
-62
0
0
0
0
0
0
0
0
0
65
29
39
35
121
15
-78
-26
0
0
0
0
0
0
0
0
0
25
-1
48
125
8
16
-32
62
0
0
0
0
0
0
0
0
0
0
0
0
15
42
39
64
106
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
14
-5
0
0
0
0
0
0
0
0
0
-14
32
148
-142
-25
0
0
0
6
0
0
0
0
0
0
0
-16
29
-19
-3
1
-61
0
0
0
-10
0
0
0
0
0
0
0
-9
17
-148
-49
-44
64
15
-4
-42
5
0
0
0
0
0
0
0
0
-4
-77
77
-140
-15
-5
-21
-35
78
0
0
0
0
0
0
0
0
-20
-50
-101
-115
-91
-53
-4
-71
12
0
0
0
0
0
0
0
4
0
-31
-97
-21
-77
-70
53
14
-9
0
0
0
0
0
0
0
0
1
1
7
-74
-60
-57
-15
-27
-6
0
0
0
0
0
0
0
0
1
-5
0
0
19
-26
-35
-22
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-28
40
0
0
0
0
0
0
0
0
0
-1
18
-97
-73
66
0
0
0
52
0
0
0
0
0
0
0
-18
0
92
-9
-6
-56
0
0
0
-95
-10
0
0
0
0
0
0
0
-29
49
81
-74
6
-52
-19
-44
23
1
0
0
0
0
0
2
31
-15
-14
33
58
-67
42
24
-161
21
0
0
0
0
0
0
0
19
6
6
-28
-75
72
-49
-116
-15
-23
-2
0
0
0
0
0
0
0
0
0
-43
96
-97
-8
59
48
-116
0
0
0
0
0
0
0
2
0
0
0
31
13
50
-40
-71
-7
-1
0
0
0
0
0
0
0
0
-12
0
7
-7
0
-113
-42
-33
0
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
45
-80
73
60
0
0
0
-18
7
0
0
0
0
0
0
-1
116
-8
4
-81
84
0
0
0
142
77
0
0
0
0
0
0
3
-15
3
-21
61
-63
-6
-18
22
-3
-14
4
0
0
0
0
0
-8
-16
9
-2
9
14
-60
-62
-3
72
4
3
0
0
0
0
0
0
7
-36
31
-38
-4
-145
-81
22
-21
0
9
0
0
0
0
0
0
0
2
-13
151
-27
10
-24
56
10
-4
0
0
0
0
0
0
0
0
-8
6
-8
12
-47
34
87
23
7
0
0
0
0
0
0
0
0
0
0
11
9
31
-90
-83
10
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
1
-31
-53
2
-2
0
0
0
-25
0
-13
0
0
0
0
0
-13
-6
-1
-18
14
-34
0
0
0
-74
11
-7
0
0
0
0
0
0
-13
10
41
17
-5
45
10
84
46
-15
2
0
0
0
0
0
0
0
-18
-15
0
-5
-11
32
36
40
2
1
0
0
0
0
0
0
-6
-4
-4
14
3
-10
38
-47
13
-8
0
0
0
0
0
0
0
0
0
0
1
1
72
-6
16
1
-2
2
0
0
0
0
0
0
0
0
-4
10
0
-23
-28
-8
-13
7
0
0
0
0
0
0
0
0
0
-10
0
-3
-5
-10
-171
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
-8
0
-27
0
0
0
-4
-1
0
0
0
0
0
0
0
-3
8
-1
41
5
0
0
0
6
42
1
0
0
0
0
0
0
0
0
47
0
-30
12
-81
-17
-6
50
0
0
0
0
0
0
0
2
0
7
12
0
5
-3
-60
23
4
0
1
0
0
0
0
0
0
0
-1
-3
-34
-25
17
-5
10
0
-3
0
0
0
0
0
0
0
0
-10
2
9
53
5
19
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-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
1
0
-5
1
0
0
0
0
-2
4
0
0
0
0
0
0
5
-2
59
-2
3
0
0
0
10
0
0
0
0
0
0
0
0
0
2
2
12
0
-71
-23
-20
5
-4
12
0
0
0
0
0
0
0
0
0
33
-49
0
-43
21
-10
7
0
2
0
0
0
0
0
0
0
3
8
2
-15
40
-10
1
14
0
0
0
0
0
0
0
0
-2
0
0
1
0
12
-27
4
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-7
-7
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
16
-47
27
42
-44
0
0
0
0
-1
0
0
0
0
0
0
26
-1
18
75
19
-45
0
0
0
0
-3
0
0
0
0
0
0
14
14
27
13
23
-160
-40
-45
-89
-7
0
0
0
0
0
0
0
-1
-1
-56
10
31
122
-40
52
-18
0
0
0
0
0
0
0
0
-3
11
10
-34
-47
139
28
81
57
6
0
0
0
0
0
0
0
0
17
5
-78
-1
20
51
19
49
9
3
0
0
0
0
0
0
0
0
0
-12
0
-61
-17
-40
69
-3
0
0
0
0
0
0
0
0
0
0
0
5
2
8
-3
16
0
0
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
-3
-40
-27
17
0
0
0
0
0
0
0
0
0
0
0
2
-3
-92
58
29
33
0
0
0
-2
0
0
0
0
0
0
0
0
20
-12
-125
-83
-85
108
-141
-84
5
0
0
0
0
0
0
0
0
-2
3
-60
-5
-38
29
-92
31
3
6
0
0
0
0
0
0
0
9
-15
19
52
36
89
32
23
3
2
0
0
0
0
0
0
0
-1
5
26
46
-50
-92
-20
50
5
0
0
0
0
0
0
0
0
0
-10
-15
-1
6
-32
127
48
5
0
0
0
0
0
0
0
0
0
0
0
0
4
12
20
-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
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
3
0
2
-7
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
8
-7
5
6
39
-3
0
-2
0
0
0
0
0
0
0
0
0
-1
-2
-7
-5
-17
0
-9
0
0
0
0
0
0
0
0
0
-2
0
-13
-73
22
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-16
0
-20
0
0
0
0
0
0
0
0
0
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
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
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
7
0
0
0
0
0
0
0
0
0
0
0
0
6
20
-2
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
33
21
-38
38
-71
-38
0
0
0
0
0
0
0
0
0
-3
0
15
-2
45
-41
-16
5
0
0
0
0
0
0
0
0
0
0
0
2
23
-38
-24
93
-17
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
53
-13
34
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
-47
-14
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-56
0
0
0
0
0
0
0
0
0
0
5
-35
-14
-22
12
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-82
-62
-11
-72
0
0
0
0
0
0
0
0
0
0
0
-1
103
-9
19
-41
129
27
-59
-123
0
0
0
0
0
0
0
0
-2
9
-55
-18
89
58
-34
-61
-51
0
0
0
0
0
0
0
0
0
-12
11
-194
20
-6
33
52
-90
0
0
0
0
0
0
0
0
-1
3
35
47
-97
-108
-95
23
-23
0
0
0
0
0
0
0
0
0
-10
2
-65
9
-31
26
-26
34
0
0
0
0
0
0
0
0
0
-1
-9
15
23
23
-54
31
106
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-50
3
0
0
0
0
0
0
0
0
14
25
41
-15
55
36
0
0
0
12
0
0
0
0
0
0
0
0
42
8
79
-20
21
0
0
0
41
0
0
0
0
0
0
0
-15
-11
-10
36
2
125
92
-65
8
-37
0
0
0
0
0
0
0
0
24
-5
41
103
-35
3
69
-223
4
0
0
0
0
0
0
0
0
0
-3
-13
-140
-22
-98
-37
41
20
0
0
0
0
0
0
0
0
19
-45
-26
-84
-45
-29
-27
29
1
0
0
0
0
0
0
0
2
0
-19
14
1
11
6
9
-55
25
0
0
0
0
0
0
0
0
0
0
-4
35
5
42
-14
-4
63
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-53
-35
0
0
0
0
0
0
0
0
0
-1
-16
5
-51
11
0
0
0
9
9
0
0
0
0
0
0
9
-31
-95
24
32
99
0
0
0
13
3
0
0
0
0
0
0
0
6
-9
-2
-47
-21
-67
53
17
1
-8
0
0
0
0
0
0
0
12
-48
26
15
74
18
7
-48
29
3
0
0
0
0
0
0
2
2
0
-49
-84
-32
38
3
39
-22
12
0
0
0
0
0
0
18
10
-16
26
-38
45
5
13
-62
0
18
0
0
0
0
0
0
0
6
0
13
-78
4
30
6
-3
-79
-11
0
0
0
0
0
0
0
0
0
-4
4
-4
-10
81
17
81
6
0
0
0
0
0
0
0
0
0
0
0
0
-60
14
-38
15
0
0
0
0
0
0
0
0
-2
7
5
-24
13
0
0
0
4
1
0
0
0
0
0
0
-11
14
19
-98
-59
-11
0
0
0
-67
-11
0
0
0
0
0
0
-28
0
-54
27
-13
-47
-60
47
-29
-10
-14
1
0
0
0
0
0
0
-16
23
36
2
43
-67
145
33
-94
16
3
0
0
0
0
0
0
0
0
0
-31
-131
-4
-36
39
36
-14
-4
0
0
0
0
0
0
-8
0
6
-99
87
-64
50
-182
3
-5
0
0
0
0
0
0
0
0
0
11
-6
-22
56
65
28
0
-4
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-26
79
-47
-2
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
4
10
1
36
0
0
0
-84
-3
0
0
0
0
0
0
-10
-1
9
4
64
3
0
0
0
51
-50
-6
0
0
0
0
0
0
3
-30
13
24
9
26
-63
-76
-3
-16
-10
0
0
0
0
0
0
-1
22
4
16
-7
-49
-82
4
-16
2
7
0
0
0
0
0
0
-15
6
16
0
-36
51
-37
110
-56
-2
-5
0
0
0
0
0
0
0
0
-28
47
7
-25
4
-72
-27
0
0
0
0
0
0
0
0
0
0
3
14
12
-25
-37
-47
-38
-4
-1
0
0
0
0
0
0
0
0
12
-1
0
51
6
-35
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
2
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
3
-4
0
-9
0
0
0
17
6
0
0
0
0
0
0
-2
0
11
-2
7
-6
-13
-43
16
0
-6
0
0
0
0
0
0
0
0
0
27
3
3
6
-30
-9
1
-8
0
0
0
0
0
0
0
0
1
-14
9
0
19
-58
-47
4
-7
0
0
0
0
0
0
0
0
0
-11
0
5
24
-35
8
-1
1
0
0
0
0
0
0
0
0
0
0
-4
7
-11
-48
27
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-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
-43
-1
0
21
10
0
0
0
3
-3
0
0
0
0
0
0
0
-4
0
-10
11
21
0
0
0
-5
4
0
0
0
0
0
0
0
0
-22
2
4
73
38
-161
-2
0
2
0
0
0
0
0
0
0
-11
0
0
-34
-40
-35
-88
4
-5
0
1
-1
0
0
0
0
0
-1
0
-23
-13
151
0
41
-15
0
-1
0
0
0
0
0
0
0
0
-5
0
-3
2
71
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-32
1
11
-28
-71
9
-2
0
0
0
0
0
0
0
0
0
0
0
68
-87
22
8
-10
24
0
0
0
5
13
0
0
0
0
0
0
5
41
-18
-10
-67
74
-117
-70
-29
1
-1
0
0
0
0
0
0
5
-6
-21
49
1
-13
-85
-65
-106
-9
0
0
0
0
0
0
0
-13
18
12
67
68
-2
45
0
60
8
0
0
0
0
0
0
0
0
0
-12
30
72
103
46
125
7
0
-2
0
0
0
0
0
0
0
-10
1
20
87
85
-18
1
-77
10
0
0
0
0
0
0
0
0
0
24
11
4
-40
19
-100
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
51
0
0
0
0
0
0
0
0
0
0
4
-7
-21
-39
-35
0
0
0
0
0
0
0
0
0
0
0
-27
-37
-57
173
17
-104
0
0
0
-13
3
3
0
0
0
0
0
0
-39
-70
28
-56
-47
-40
18
-74
-2
0
-1
0
0
0
0
0
0
20
15
83
41
-46
-46
-3
-104
-18
1
0
0
0
0
0
0
-1
-9
43
-1
112
29
24
67
0
16
0
0
0
0
0
0
0
0
10
8
-4
65
23
-66
-42
63
0
-9
0
0
0
0
0
0
0
0
-20
29
-56
-86
128
-103
133
12
0
0
0
0
0
0
0
0
0
0
0
-15
-9
52
-27
53
-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
5
0
0
0
0
0
0
0
0
0
0
-3
5
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-1
4
-11
2
2
0
0
0
0
0
0
0
0
0
0
2
-1
0
46
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
25
40
19
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
8
-1
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-9
-11
21
-52
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
14
-29
-81
18
0
0
0
0
0
0
0
0
0
0
0
-82
17
-24
-102
-60
-83
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
86
30
-10
0
0
0
0
0
0
0
0
0
0
0
0
11
-76
-5
-18
-88
0
0
0
0
0
0
0
0
0
0
-4
0
-2
16
60
13
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
21
0
0
0
0
0
0
0
0
0
0
10
-32
1
122
-33
0
0
0
0
0
0
0
0
0
0
0
-8
41
-54
-97
129
19
0
0
0
0
0
0
0
0
0
0
0
-1
-26
122
107
-17
39
12
-37
-103
0
0
0
0
0
0
0
0
4
1
-37
-61
-39
-72
-22
24
57
0
0
0
0
0
0
0
0
0
-1
-34
92
19
95
-57
-167
106
0
0
0
0
0
0
0
0
0
5
24
38
-16
125
46
-3
-110
0
0
0
0
0
0
0
0
0
-3
-12
-10
20
2
-33
99
-64
0
0
0
0
0
0
0
0
0
0
0
-13
-21
50
-10
23
100
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
27
6
0
0
0
0
0
0
0
0
0
19
-16
37
-2
-11
0
0
0
-1
0
0
0
0
0
0
0
0
23
75
10
45
-58
0
0
0
5
0
0
0
0
0
0
0
0
-52
39
-83
-134
-4
18
36
-12
6
0
0
0
0
0
0
0
-16
-6
9
77
-29
-134
-15
-42
123
-5
0
0
0
0
0
0
0
0
-8
-23
-39
-73
-19
-20
-58
-78
-11
0
0
0
0
0
0
0
9
0
-19
45
10
31
-19
-107
-47
-34
0
0
0
0
0
0
0
0
-3
-21
7
-121
21
-45
-50
5
-27
0
0
0
0
0
0
0
0
0
0
-3
85
2
-60
-42
-17
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
61
0
0
0
0
0
0
0
0
0
-1
13
-29
0
-10
0
0
0
-11
0
0
0
0
0
0
-2
-2
-14
80
69
17
31
0
0
0
7
-2
0
0
0
0
0
0
-10
-10
-2
74
28
-28
98
12
82
-9
0
0
0
0
0
0
0
0
1
25
8
-5
-98
-74
33
-32
98
0
0
0
0
0
0
0
0
0
-2
-9
-55
-62
-118
-61
-83
37
0
0
0
0
0
0
0
-2
2
0
-59
-84
-39
33
61
87
21
-43
0
0
0
0
0
0
-1
0
-17
3
56
-77
24
-27
13
30
-16
0
0
0
0
0
0
0
0
0
0
-13
3
-104
-13
45
27
17
0
0
0
0
0
0
0
0
0
0
0
-2
-12
23
18
-6
0
0
0
0
0
0
0
0
-88
-3
-6
48
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-35
69
-27
0
0
0
44
6
0
0
0
0
0
0
-4
0
-13
68
-108
69
-54
69
60
-3
0
0
0
0
0
0
0
0
0
98
0
0
-139
12
-24
-69
-18
-1
-3
0
0
0
0
0
0
0
-17
-16
112
3
2
-169
52
-3
20
0
0
0
0
0
0
0
0
42
0
106
-45
4
55
-25
-24
-14
0
0
0
0
0
0
0
-8
-3
-11
21
35
-9
-35
-131
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-3
26
16
-69
-17
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-31
-4
0
0
0
0
0
0
0
0
0
0
3
-10
6
-3
0
0
0
-1
0
0
0
0
0
0
0
3
32
25
-13
-4
81
0
0
0
-46
1
5
0
0
0
0
0
0
0
1
-13
17
17
39
-23
58
7
-10
0
0
0
0
0
0
0
0
-2
-9
-77
-39
85
28
29
-45
0
0
0
0
0
0
0
0
0
11
-10
22
2
2
-52
-70
-3
2
-1
0
0
0
0
0
0
-4
-7
2
0
63
19
142
21
12
-3
-8
0
0
0
0
0
0
0
-2
0
0
-29
-15
-1
-6
41
-5
1
0
0
0
0
0
0
0
0
0
0
0
55
11
67
-51
-3
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
2
-2
0
-7
0
0
0
13
0
0
0
0
0
0
0
0
1
19
-20
-16
-4
0
0
0
-50
22
-1
0
0
0
0
0
0
0
0
-10
6
-9
0
-23
73
-2
13
-12
0
0
0
0
0
0
0
1
6
25
2
27
8
-14
-19
-1
0
0
0
0
0
0
0
0
-4
1
-10
21
44
29
-1
0
-10
0
0
0
0
0
0
0
0
0
0
-10
0
151
-23
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-7
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-86
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
8
13
-5
0
0
0
-2
-14
-1
0
0
0
0
0
0
10
-120
12
-6
31
50
-63
0
1
0
0
0
0
0
0
0
0
0
4
-138
8
-4
-17
8
-37
-8
0
0
0
0
0
0
0
0
0
3
-4
8
-78
-11
149
-15
4
0
0
0
0
0
0
0
0
0
0
0
9
-14
0
95
-44
0
0
4
0
0
0
0
0
0
0
0
0
0
-27
1
-6
4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-70
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
16
0
0
0
0
0
0
0
0
0
0
63
48
-2
-27
-21
0
0
0
0
0
0
0
0
0
0
0
-50
-52
-10
-7
-64
109
0
0
0
0
-2
0
0
0
0
0
0
-7
-76
132
29
3
49
-113
1
51
0
0
0
0
0
0
0
0
-2
10
16
79
72
71
-21
-53
43
2
0
0
0
0
0
0
0
-8
-71
-50
-29
141
15
-147
-76
-81
-1
0
0
0
0
0
0
0
8
12
61
20
-5
18
-1
0
-82
0
0
0
0
0
0
0
0
2
0
-13
51
-49
5
44
16
22
0
-4
0
0
0
0
0
0
0
0
1
-15
-98
40
27
134
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
9
12
-36
0
0
0
0
0
0
0
0
0
0
-138
-15
-4
8
-16
0
0
0
0
0
0
0
0
0
0
0
1
41
-52
-11
17
86
0
0
0
-3
0
0
0
0
0
0
0
0
6
106
36
30
-32
-31
-61
-135
9
1
0
0
0
0
0
0
0
15
82
11
44
-68
-128
49
-23
9
0
0
0
0
0
0
0
0
0
-3
88
-15
44
32
72
-33
-26
0
0
0
0
0
0
0
0
2
5
-3
-22
124
-26
-93
0
68
0
0
0
0
0
0
0
0
0
8
1
-3
34
-6
59
-52
0
0
0
0
0
0
0
0
0
0
0
6
-2
-1
-128
14
7
-16
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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
7
0
0
0
-10
-9
0
0
0
0
0
0
0
0
0
0
9
1
0
3
9
-3
3
0
0
0
0
0
0
0
0
0
0
0
-7
14
-27
-7
25
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
3
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-9
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
1
-54
-10
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
-8
-16
1
15
-40
-41
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-1
25
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
46
-13
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-67
0
0
0
0
0
0
0
0
0
0
-2
-1
24
48
-13
0
0
0
0
0
0
0
0
0
0
0
-6
35
-39
-32
19
132
0
0
0
0
0
0
0
0
0
0
0
-7
-64
116
45
-83
-27
-71
-24
-73
0
0
0
0
0
0
0
0
0
16
-17
13
20
-12
-15
-6
-63
0
0
0
0
0
0
0
0
0
-19
5
-33
-56
-71
-86
-61
4
0
0
0
0
0
0
0
0
0
0
5
4
52
21
-25
37
-32
0
0
0
0
0
0
0
0
0
2
-6
-22
-120
122
-49
-21
48
0
0
0
0
0
0
0
0
0
0
-9
0
-1
-18
3
-40
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-66
14
0
0
0
0
0
0
0
0
0
9
3
52
29
12
0
0
0
-3
0
0
0
0
0
0
0
79
-57
-44
5
-47
44
0
0
0
-1
0
0
0
0
0
0
0
0
3
-32
-2
17
26
-11
46
-117
6
0
0
0
0
0
0
0
2
-1
40
-45
-93
8
-24
6
81
-9
0
0
0
0
0
0
0
0
-78
118
-82
-103
-116
62
-21
-3
33
0
0
0
0
0
0
0
0
23
88
3
8
-54
-6
-9
-170
-28
0
0
0
0
0
0
0
0
0
-19
-25
23
-8
104
-10
12
-10
0
0
0
0
0
0
0
0
-4
-3
11
-24
13
19
43
-118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
11
7
0
0
0
0
0
0
0
0
-5
-20
4
68
-5
0
0
0
-14
-5
0
0
0
0
0
0
1
-10
-57
5
-14
-36
0
0
0
30
4
0
0
0
0
0
0
0
0
-63
-13
53
1
-30
48
-3
-18
0
0
0
0
0
0
0
0
-7
43
62
3
42
22
-11
-12
-21
0
0
0
0
0
0
0
-1
7
7
-29
9
-34
-40
-85
-82
-15
-5
0
0
0
0
0
0
1
-3
19
-68
1
-107
69
-8
-54
11
0
0
0
0
0
0
0
0
0
0
-40
10
-148
-58
6
-37
-51
1
0
0
0
0
0
0
0
0
0
0
-16
-6
93
65
-27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
66
-24
2
0
0
0
0
0
0
0
0
102
0
-25
-15
80
0
0
0
0
0
0
0
0
0
0
0
1
-30
-116
88
24
6
0
0
0
35
-1
0
0
0
0
0
0
0
2
-5
56
7
15
-112
10
-55
-1
-6
0
0
0
0
0
0
5
-9
7
-72
62
-65
18
-32
-64
-2
4
0
0
0
0
0
0
0
3
8
23
35
81
-76
56
-51
1
-10
0
0
0
0
0
0
0
0
-35
-10
-61
-57
-57
-8
15
3
0
0
0
0
0
0
0
0
0
1
0
28
-28
-2
-3
-215
-56
-12
0
0
0
0
0
0
0
0
0
0
0
-12
-15
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-79
3
1
0
0
0
0
0
0
0
0
6
2
27
-5
26
0
0
0
0
-3
0
0
0
0
0
0
0
-1
28
-24
-9
19
0
0
0
-24
-1
0
0
0
0
0
0
0
0
6
-22
-1
0
-20
-3
-15
-3
-1
0
0
0
0
0
0
0
-9
-4
24
-3
40
43
11
-7
0
-13
0
0
0
0
0
0
0
-5
0
64
-22
-55
3
23
6
-24
0
0
0
0
0
0
0
2
-1
1
5
-12
22
-54
-36
-12
7
0
0
0
0
0
0
0
0
0
0
9
0
42
74
-6
-117
-28
10
0
0
0
0
0
0
0
0
0
-1
-35
-2
-11
-31
82
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
4
2
0
0
0
0
0
0
0
0
15
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
50
18
-82
0
0
0
0
-9
16
0
0
0
0
0
0
0
-1
-34
29
76
3
0
0
28
-3
0
0
0
0
0
0
0
0
12
-28
-14
5
10
-4
1
-6
2
0
0
0
0
0
0
0
0
0
2
-3
-9
51
-3
-17
26
0
0
0
0
0
0
0
0
0
-14
-10
-27
36
-6
-15
-30
27
0
11
0
0
0
0
0
0
0
0
0
-23
28
0
12
-67
39
0
9
0
0
0
0
0
0
0
0
0
1
0
0
3
46
100
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
11
4
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-14
-3
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
5
2
13
0
-8
-3
-18
0
-8
1
0
0
0
0
0
0
0
5
0
8
-14
-17
25
23
0
0
2
0
0
0
0
0
0
0
-2
0
-24
0
-20
-19
19
3
-1
0
0
0
0
0
0
0
0
0
2
0
5
-93
-74
27
-11
0
0
0
0
0
0
0
0
0
0
0
1
-16
-40
0
129
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
6
21
0
5
-3
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
-31
9
-34
-1
1
0
0
0
0
0
0
0
0
0
0
0
17
29
41
2
-48
-57
0
0
0
0
-1
0
0
0
0
0
0
6
-32
31
-31
113
-35
-73
-25
75
0
0
0
0
0
0
0
0
0
-1
-27
-45
-23
-101
-69
-164
-41
0
0
0
0
0
0
0
0
-24
15
26
39
-2
27
-88
-136
-57
-21
0
0
0
0
0
0
0
0
0
17
30
-26
-46
77
-162
84
0
0
0
0
0
0
0
0
0
0
-10
11
-3
91
-39
0
-8
-6
0
0
0
0
0
0
0
0
0
25
-1
-21
-30
-77
150
54
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
39
0
0
0
0
0
0
0
0
0
-11
0
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
54
0
-28
0
0
0
5
0
0
0
0
0
0
0
0
0
-26
86
-69
-26
22
-34
13
2
0
0
0
0
0
0
0
0
9
-43
20
-17
18
-65
-99
-68
68
0
0
0
0
0
0
0
0
0
-7
-49
9
-214
103
6
-66
-4
0
0
0
0
0
0
0
0
0
8
-15
45
51
-36
-10
-94
11
0
0
0
0
0
0
0
0
0
0
-13
2
55
16
-35
0
-14
0
0
0
0
0
0
0
0
0
0
6
0
-12
-100
25
-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
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-4
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
1
0
0
28
-22
0
0
0
0
0
0
0
0
0
-1
0
13
6
3
-48
0
11
0
0
0
0
0
0
0
0
0
0
2
1
-3
-8
9
-57
2
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-12
14
21
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-67
4
-9
56
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-26
-45
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-88
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
-19
0
15
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-10
-52
-45
-76
-149
-20
0
0
0
0
0
0
0
0
0
-7
-27
36
-68
30
-66
26
4
0
0
0
0
0
0
0
0
0
-42
10
-21
-11
-78
-51
37
-38
0
0
0
0
0
0
0
0
0
0
-9
12
-90
-92
58
-43
-95
0
0
0
0
0
0
0
0
0
0
1
-74
36
-11
4
12
43
0
0
0
0
0
0
0
0
0
3
-3
0
-1
99
-5
-63
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
-14
-27
34
0
0
0
0
0
0
0
0
0
-1
0
25
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-34
-41
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
-2
84
-31
-9
57
-33
46
-60
0
0
0
0
0
0
0
0
0
-3
4
116
-86
17
-96
-124
-106
0
0
0
0
0
0
0
0
0
-10
10
53
-64
-16
-57
22
-18
-28
0
0
0
0
0
0
0
2
-2
-5
60
-115
-41
-33
-34
-55
9
0
0
0
0
0
0
0
0
0
1
-6
15
-81
-67
-133
-131
-11
0
0
0
0
0
0
0
0
0
0
0
-40
-62
89
-50
-112
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
93
62
-6
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
1
-33
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
-81
31
93
-1
53
18
-67
-3
0
0
0
0
0
0
0
0
11
-59
-55
22
22
-24
-11
-30
4
0
0
0
0
0
0
0
0
0
-2
0
59
98
-37
7
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-113
-69
-42
-38
-65
-2
0
0
0
0
0
0
0
0
0
6
36
71
-33
-23
-46
-46
-11
0
0
0
0
0
0
0
0
0
0
20
13
-37
0
-65
31
43
0
0
0
0
0
0
0
0
0
0
0
0
0
8
37
-4
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
3
-2
-4
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
-3
8
68
0
1
-1
30
0
-2
0
0
0
0
0
0
0
0
23
-57
2
-71
-19
15
33
5
0
0
0
0
0
0
0
0
0
1
-10
22
-37
-55
-76
-13
13
0
0
0
0
0
0
0
0
-4
-1
0
3
-16
-5
-32
-17
0
0
0
0
0
0
0
0
0
0
4
1
-9
2
-65
-136
-17
-7
1
0
0
0
0
0
0
0
0
0
0
7
-2
13
-101
97
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-32
-34
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
3
-42
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
10
-15
27
2
0
2
3
1
0
0
0
0
0
0
0
0
0
0
-1
0
24
-17
-11
0
1
2
0
0
0
0
0
0
0
0
0
0
6
16
-9
6
7
0
0
2
0
0
0
0
0
0
0
0
0
-2
-26
-21
-51
-9
-52
11
0
0
0
0
0
0
0
0
0
0
16
0
-33
-7
-53
-75
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-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
4
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
-6
-11
-5
-3
-4
2
0
0
0
0
0
0
0
0
0
0
1
0
-11
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-4
19
-11
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-12
6
-30
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
-5
0
0
-28
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
-5
-17
52
0
4
0
0
0
0
0
0
0
0
0
0
-1
-22
1
0
-71
0
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
-45
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
-11
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
30
-6
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-27
13
-1
1
-13
0
0
0
0
0
0
0
0
0
0
3
18
-23
-15
8
-17
-40
0
0
0
0
0
0
0
0
0
-1
0
16
35
51
-73
-54
-52
0
0
0
0
0
0
0
0
0
0
0
-7
-67
-23
66
-23
-66
0
0
0
0
0
0
0
0
0
0
0
28
-16
-16
-32
38
-28
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
54
0
-41
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
114
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-4
-4
-5
10
0
0
0
0
0
0
0
0
0
0
0
-12
0
-43
-19
-32
-1
0
0
0
0
0
0
0
0
0
0
0
34
-1
-48
-12
-9
0
-3
0
0
0
0
0
0
0
0
0
-57
0
0
-32
-114
-53
-12
0
0
0
0
0
0
0
0
0
0
0
0
10
3
26
18
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
0
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-5
16
0
0
0
0
0
0
0
0
0
0
0
3
-1
30
-6
-3
0
0
0
0
0
0
0
0
0
0
0
2
1
6
2
40
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-71
-87
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-86
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
0
0
0
0
0
0
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
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
-17
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-17
0
0
0
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
0
0
0
22
-2
0
0
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
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
13
0
-21
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-1
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-23
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
-21
16
0
0
0
0
0
0
0
0
0
0
4
30
-186
24
-15
127
-33
0
0
0
0
0
0
0
0
0
0
101
-8
32
74
18
-113
-7
3
0
0
0
0
0
0
0
0
0
23
46
-28
86
77
41
-1
0
0
0
0
0
0
0
0
0
0
6
-41
46
36
-14
-3
2
3
0
0
0
0
0
0
0
0
0
3
-30
90
-70
-3
8
-7
0
0
0
0
0
0
0
0
0
0
-61
-28
10
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-5
-20
91
0
0
0
0
0
0
0
0
0
41
-66
100
-32
9
-15
-148
-43
-28
0
0
0
0
0
0
0
0
32
29
-8
77
53
3
-76
-20
-28
0
0
0
0
0
0
0
0
111
-55
105
-15
-15
52
30
83
-8
1
0
0
0
0
0
0
0
105
73
107
-2
-37
63
-83
16
23
-1
0
0
0
0
0
0
0
-21
71
78
-39
-57
-39
25
83
-25
-5
0
0
0
0
0
0
0
-66
56
-29
22
57
-31
-31
-3
-26
0
0
0
0
0
0
0
0
-4
-62
-98
-59
-5
68
0
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
-1
79
-41
22
-35
0
-19
0
0
0
0
0
0
0
-114
81
-65
48
-6
34
-125
-22
31
-21
0
0
0
0
0
0
0
-37
-29
50
14
-18
-20
-30
-76
86
-6
0
0
0
0
0
0
0
149
71
30
47
16
-118
41
-77
-10
-23
0
0
0
0
0
0
0
1
82
118
49
-39
-65
-6
51
60
-24
0
0
0
0
0
0
0
9
-59
-49
37
16
162
-25
26
-51
-17
0
0
0
0
0
0
0
-18
-43
11
-86
-50
70
-82
0
-2
26
0
0
0
0
0
0
0
-5
-66
-93
18
98
27
-72
2
-32
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
-38
0
0
-11
-16
62
26
0
12
0
0
0
0
0
0
0
-8
-37
38
74
78
14
-14
10
-22
5
1
0
0
0
0
0
0
-43
59
-26
-25
-4
-12
-20
-77
-19
3
0
0
0
0
0
0
0
36
2
42
1
95
70
95
16
27
26
0
0
0
0
0
0
0
172
-9
74
-174
-15
-171
44
-15
51
58
0
0
0
0
0
0
0
27
87
31
-47
54
-13
-3
-24
-1
-11
0
0
0
0
0
0
0
20
-24
42
23
-72
24
32
5
-36
0
0
0
0
0
0
0
0
-19
-166
30
-55
-84
-2
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
8
2
-28
3
0
-2
70
77
0
0
0
0
0
0
0
0
0
-39
24
-18
-157
38
24
27
-77
68
0
0
0
0
0
0
0
0
41
-58
17
23
11
118
4
91
-39
2
0
0
0
0
0
0
0
-76
28
-38
0
-8
-10
29
-8
13
4
0
0
0
0
0
0
0
-4
65
-59
-59
51
38
-46
28
-16
75
0
0
0
0
0
0
0
13
-67
123
-43
10
23
-97
25
10
28
0
0
0
0
0
0
0
-3
-94
-64
47
-46
34
22
-39
-10
0
0
0
0
0
0
0
0
3
9
53
-39
-1
-7
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
3
-33
54
0
0
0
10
0
0
0
0
0
0
0
0
0
35
32
37
33
10
0
1
35
35
1
0
0
0
0
0
0
0
55
59
-108
-45
35
18
71
11
41
-2
0
0
0
0
0
0
0
-3
18
93
-55
67
-28
4
-25
10
0
0
0
0
0
0
0
0
-18
-10
-16
2
-10
92
-14
-3
-8
0
0
0
0
0
0
0
0
2
68
73
-11
-1
-40
-1
-18
-8
-13
0
0
0
0
0
0
0
-10
-45
2
0
-7
4
1
4
3
0
0
0
0
0
0
0
0
0
36
-17
5
-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
8
-3
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
119
75
17
35
2
-8
0
-10
0
0
0
0
0
0
0
0
0
40
81
1
57
105
0
8
0
0
0
0
0
0
0
0
0
0
-13
28
-50
-15
-2
-93
-1
-5
0
0
0
0
0
0
0
0
0
-19
-1
8
-8
-1
-17
0
18
-9
0
0
0
0
0
0
0
0
5
5
-5
75
-5
-5
0
-8
0
0
0
0
0
0
0
0
0
-31
-8
1
7
0
-5
1
0
0
0
0
0
0
0
0
0
0
5
0
7
0
1
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
4
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
15
8
9
-27
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
18
4
15
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
7
2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
-7
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-10
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
207
10
-42
-41
112
-47
-8
0
0
0
0
0
0
0
0
0
61
-48
7
53
23
119
-13
-16
0
0
0
0
0
0
0
0
0
-112
-19
98
13
-16
81
-53
3
1
0
0
0
0
0
0
0
0
24
-11
-22
40
69
20
-14
14
0
0
0
0
0
0
0
0
0
-13
36
-2
45
77
70
20
24
0
0
0
0
0
0
0
0
0
-1
181
22
-32
-66
35
3
-19
0
0
0
0
0
0
0
0
0
-45
3
37
23
-9
0
0
-12
0
0
0
0
0
0
0
0
0
10
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
-34
124
43
53
42
-55
7
0
0
0
0
0
0
0
0
0
26
58
92
-67
-79
120
51
56
-17
0
0
0
0
0
0
0
0
14
98
-10
52
51
13
134
-26
6
21
0
0
0
0
0
0
0
83
64
39
34
-24
28
-15
36
36
0
0
0
0
0
0
0
0
124
-69
28
-43
-25
77
11
11
-28
8
0
0
0
0
0
0
0
-33
92
152
20
15
-18
27
6
-7
1
0
0
0
0
0
0
0
40
137
-12
-53
9
-62
-4
-1
-27
0
0
0
0
0
0
0
0
56
24
12
-7
0
-11
0
7
-4
0
0
0
0
0
0
0
0
16
24
-74
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
60
-9
28
-50
-2
-83
-116
0
4
0
0
0
0
0
0
0
180
11
51
-9
73
95
-72
-26
-94
-8
0
0
0
0
0
0
0
27
56
74
69
26
-60
-15
107
10
-41
0
0
0
0
0
0
0
34
55
100
50
76
0
63
-75
15
20
-2
0
0
0
0
0
0
39
34
19
50
-62
36
-22
-66
-36
-43
0
0
0
0
0
0
0
-27
35
-74
-159
17
7
16
94
75
39
0
0
0
0
0
0
0
73
40
-106
27
92
26
-10
4
-39
-1
0
0
0
0
0
0
0
0
-71
-42
28
12
121
-19
18
-5
0
0
0
0
0
0
0
0
1
-13
-16
-19
3
0
10
0
0
0
0
0
0
0
0
0
0
17
-43
156
-15
113
-82
-2
-21
0
-9
0
0
0
0
0
0
0
19
81
76
70
34
95
92
1
-40
4
-7
0
0
0
0
0
0
-53
26
-19
-104
6
3
-29
-171
-70
16
0
0
0
0
0
0
0
-4
83
108
115
2
91
85
69
48
-5
0
0
0
0
0
0
0
158
-12
60
22
48
3
14
-9
74
5
0
0
0
0
0
0
0
4
74
0
32
-27
137
-45
108
-13
4
0
0
0
0
0
0
0
-70
14
-34
-5
65
14
69
-1
-5
-1
0
0
0
0
0
0
0
-3
20
-98
21
-21
11
14
-1
0
0
0
0
0
0
0
0
0
3
-11
-17
0
25
15
0
0
0
0
0
0
0
0
0
0
0
-50
58
22
158
-1
-126
-94
-61
0
-1
0
0
0
0
0
0
0
53
-65
-23
38
-124
-45
8
-9
-6
0
0
0
0
0
0
0
0
9
106
-40
69
-89
-67
-116
-91
58
-5
0
0
0
0
0
0
0
69
3
-73
48
-86
173
-33
81
55
100
0
0
0
0
0
0
0
0
85
60
3
116
-18
-38
18
-72
-26
8
0
0
0
0
0
0
-7
5
-30
10
16
-48
43
-69
63
-13
0
0
0
0
0
0
0
-6
-28
13
21
-12
-76
2
-2
117
-14
1
0
0
0
0
0
0
-6
-53
-41
31
0
-2
-1
5
0
0
0
0
0
0
0
0
0
-3
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
76
127
-57
2
9
-145
-29
0
2
0
0
0
0
0
0
0
-17
29
-12
20
164
-18
69
76
-50
-2
-3
0
0
0
0
0
0
13
78
158
74
23
85
-19
-86
43
-4
0
0
0
0
0
0
0
-11
5
77
17
-27
-14
9
37
-25
0
0
0
0
0
0
0
0
80
-4
69
43
16
-2
-33
70
0
30
0
0
0
0
0
0
0
-5
53
-97
51
52
3
-20
-66
-6
0
0
0
0
0
0
0
0
52
80
55
103
89
37
-106
-29
-12
1
0
0
0
0
0
0
0
0
-73
3
10
0
0
-4
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
-11
56
-8
-12
-28
-8
3
0
-2
0
0
0
0
0
0
0
0
-49
36
-48
91
-63
30
-5
11
-1
-1
0
0
0
0
0
0
0
47
38
36
-10
-37
74
-15
-9
-7
0
0
0
0
0
0
0
0
58
21
200
104
13
34
20
5
-26
0
0
0
0
0
0
0
0
98
7
13
-4
6
25
28
-7
5
0
0
0
0
0
0
0
0
20
34
-99
-31
37
-32
13
-10
-10
0
0
0
0
0
0
0
0
-23
72
-24
7
2
-8
14
5
0
0
0
0
0
0
0
0
0
118
20
4
-10
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
-1
16
8
-3
-1
-14
3
0
0
2
0
0
0
0
0
0
0
-5
-1
-43
-64
-73
-5
3
4
3
0
0
0
0
0
0
0
0
0
-7
-35
-13
3
-29
-20
2
0
-2
0
0
0
0
0
0
0
1
10
10
3
0
-7
7
1
-18
0
0
0
0
0
0
0
0
-9
0
34
21
0
-11
-5
-10
0
6
0
0
0
0
0
0
0
2
1
0
12
-3
5
9
2
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-1
-4
21
0
0
0
0
0
0
0
0
0
0
48
23
-33
14
-33
89
-1
-4
0
0
0
0
0
0
0
0
0
-3
-24
-11
-12
77
-33
9
2
1
0
0
0
0
0
0
0
0
-20
77
-2
40
-2
-3
2
0
0
0
0
0
0
0
0
0
0
28
2
-73
-3
-1
0
1
0
-1
0
0
0
0
0
0
0
0
-2
4
-14
-7
0
0
-12
0
0
0
0
0
0
0
0
0
0
33
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
33
38
95
-77
0
-4
0
0
0
0
0
0
0
0
0
56
51
17
33
137
-25
41
-3
0
0
0
0
0
0
0
0
0
73
-25
110
-76
-3
-8
-2
-1
0
0
0
0
0
0
0
0
0
-35
13
8
15
21
0
2
3
0
0
0
0
0
0
0
0
0
8
13
51
35
61
0
-12
0
0
0
0
0
0
0
0
0
0
-14
5
-12
22
-17
-10
0
0
0
0
0
0
0
0
0
0
0
5
-14
16
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
3
0
14
-5
14
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
6
-103
-58
-2
0
0
0
0
0
0
0
0
0
0
0
10
38
19
-60
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
3
-26
0
0
0
2
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
11
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
144
141
124
-12
73
-4
4
0
0
0
0
0
0
0
0
0
43
19
-20
-102
-15
-29
-19
14
0
0
0
0
0
0
0
0
0
-28
29
-34
84
17
1
19
13
-22
0
0
0
0
0
0
0
0
-10
-15
49
25
39
-17
-22
-2
-1
0
0
0
0
0
0
0
0
-8
112
-44
165
2
16
28
0
4
0
0
0
0
0
0
0
0
140
96
65
81
4
-42
0
-5
0
0
0
0
0
0
0
0
0
-36
2
-32
-33
-19
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
-3
2
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
69
63
66
-13
-37
53
-27
-27
0
0
0
0
0
0
0
0
0
-58
-3
80
18
101
-13
-60
6
16
0
0
0
0
0
0
0
0
18
83
82
60
-37
45
-10
-54
160
38
0
0
0
0
0
0
0
79
7
-30
-34
-6
-40
108
87
-28
0
0
0
0
0
0
0
0
2
-59
62
-10
122
-12
-141
22
37
16
0
0
0
0
0
0
0
-1
-22
30
19
43
-25
38
-44
-75
0
0
0
0
0
0
0
0
23
-54
65
23
146
73
2
-27
0
0
0
0
0
0
0
0
0
58
48
14
47
10
0
0
-8
-4
0
0
0
0
0
0
0
0
-44
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
8
33
65
57
-61
48
78
0
-24
0
0
0
0
0
0
0
24
63
49
-17
-10
-2
-74
45
-82
0
-8
0
0
0
0
0
0
55
-45
33
-25
16
-160
51
-10
34
-10
0
0
0
0
0
0
0
29
48
-82
78
4
40
-26
49
18
43
0
0
0
0
0
0
0
88
52
-85
76
12
-40
28
244
17
12
0
0
0
0
0
0
0
-49
46
57
160
45
6
29
-24
-33
-11
0
0
0
0
0
0
0
65
30
96
-135
88
-67
-32
1
-10
-7
0
0
0
0
0
0
0
4
124
58
-72
-20
-2
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
0
48
14
121
71
-20
18
-33
78
0
0
0
0
0
0
0
0
0
33
-28
111
-69
4
80
-77
-96
-21
1
1
0
0
0
0
0
0
-47
105
20
10
-123
56
107
51
10
9
0
0
0
0
0
0
0
1
17
-57
-27
-37
20
70
31
19
10
0
0
0
0
0
0
0
22
-109
38
-73
-61
-28
20
-8
55
4
0
0
0
0
0
0
0
18
-11
-22
-60
28
-49
68
-41
8
0
0
0
0
0
0
0
0
-14
63
-62
58
-6
-35
-9
-10
20
0
0
0
0
0
0
0
0
19
35
64
-6
-6
19
0
3
0
0
0
0
0
0
0
0
0
-68
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
37
134
68
26
-3
15
9
0
0
0
0
0
0
0
0
0
-77
44
-5
-4
15
-14
-8
-71
-71
-12
5
0
0
0
0
0
0
13
19
179
-124
73
-71
-4
-26
-18
50
0
0
0
0
0
0
0
168
-108
-72
17
3
20
4
53
75
-30
0
0
0
0
0
0
0
-22
145
51
-44
41
10
19
-46
13
-14
0
0
0
0
0
0
0
8
-46
50
19
48
-8
-110
-44
1
-6
0
0
0
0
0
0
0
-11
49
1
-118
-27
35
3
0
2
0
0
0
0
0
0
0
0
39
-109
-33
-21
0
0
7
0
0
0
0
0
0
0
0
0
0
0
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-74
-64
-102
52
54
48
-33
0
-4
0
0
0
0
0
0
0
47
50
42
12
26
-3
162
34
0
0
0
0
0
0
0
0
0
-62
-13
30
89
-4
-22
-40
18
-35
4
0
0
0
0
0
0
0
-21
-27
99
-99
10
-38
-87
53
-12
8
0
0
0
0
0
0
0
27
6
-21
5
25
64
50
13
-51
-3
0
0
0
0
0
0
0
-40
-68
90
5
-19
49
51
-8
0
1
0
0
0
0
0
0
0
36
-19
52
-37
1
-4
-8
4
14
0
0
0
0
0
0
0
0
0
-119
-28
45
0
0
1
11
0
0
0
0
0
0
0
0
0
19
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
3
-17
66
0
24
19
0
-26
0
0
0
0
0
0
0
-10
46
36
26
28
-77
-13
-85
54
0
9
0
0
0
0
0
0
0
-67
-13
83
17
-72
45
2
6
-3
0
0
0
0
0
0
0
0
55
-41
0
-139
-14
5
1
13
9
0
0
0
0
0
0
0
0
-97
-6
-59
26
-27
-68
3
8
0
0
0
0
0
0
0
0
6
-59
-40
-13
-3
-16
6
8
0
0
0
0
0
0
0
0
0
0
20
-30
79
-27
-6
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
-1
1
-79
-38
60
11
-39
35
0
-3
0
0
0
0
0
0
0
-6
-55
1
-15
77
-42
11
-21
-1
0
-1
0
0
0
0
0
0
-34
51
-106
31
-51
-6
5
12
0
0
0
0
0
0
0
0
0
-89
-4
-44
45
57
-36
-9
-7
7
0
0
0
0
0
0
0
0
6
-11
5
12
-26
18
19
0
0
0
0
0
0
0
0
0
0
7
-9
-29
-1
-4
-3
0
1
0
0
0
0
0
0
0
0
0
-14
8
-30
4
3
0
10
-4
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
-34
67
122
-56
-54
48
34
-9
0
0
0
0
0
0
0
0
0
-60
60
93
9
-33
53
107
-50
6
0
0
0
0
0
0
0
0
-80
-55
101
2
-53
-59
43
0
0
0
0
0
0
0
0
0
0
-94
-101
-45
27
120
-85
0
0
0
0
0
0
0
0
0
0
0
-8
55
8
-9
-7
-11
-1
0
-4
0
0
0
0
0
0
0
0
-97
35
-5
10
-34
10
0
2
0
0
0
0
0
0
0
0
0
-4
13
-2
-5
0
0
-9
-4
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
56
-15
37
-156
138
17
118
0
-5
0
0
0
0
0
0
0
0
71
-55
-5
-74
118
-6
62
43
0
0
0
0
0
0
0
0
0
133
20
115
94
116
-142
39
6
0
0
0
0
0
0
0
0
0
-8
-1
-35
-122
-106
-93
26
-8
0
0
0
0
0
0
0
0
0
64
-28
58
9
-19
-8
-3
-1
0
0
0
0
0
0
0
0
0
134
49
-78
-40
-7
5
20
-1
0
0
0
0
0
0
0
0
0
97
-8
-34
9
0
0
2
-3
0
0
0
0
0
0
0
0
0
122
-14
-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
-1
-7
0
-29
4
5
0
-2
0
0
0
0
0
0
0
0
0
-45
8
21
42
26
4
3
0
0
0
0
0
0
0
0
0
0
94
-24
-14
-72
68
1
23
0
0
0
0
0
0
0
0
0
0
3
-11
14
-21
-2
-2
-7
0
0
0
0
0
0
0
0
0
0
-15
2
-9
1
9
0
0
-5
0
0
0
0
0
0
0
0
0
1
4
1
-6
-2
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
4
2
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-109
31
-9
-42
3
1
0
0
0
0
0
0
0
0
0
-6
24
25
45
57
-45
80
31
0
0
0
0
0
0
0
0
0
29
-43
2
-9
-140
-17
3
22
12
0
0
0
0
0
0
0
0
2
6
-5
22
25
57
-1
-2
4
0
0
0
0
0
0
0
0
-4
150
91
12
26
-28
-33
-1
0
0
0
0
0
0
0
0
0
-15
89
-17
-70
3
-1
0
0
0
0
0
0
0
0
0
0
0
10
-14
2
-42
17
-4
0
0
0
0
0
0
0
0
0
0
0
19
66
84
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
0
-48
24
-3
65
-86
-112
-15
-116
0
0
0
0
0
0
0
0
0
-6
-68
-22
-44
21
62
-107
-34
47
-6
0
0
0
0
0
0
0
39
37
-18
-44
44
-38
70
-8
-29
-19
0
0
0
0
0
0
0
39
-55
75
-107
25
18
4
12
54
-1
0
0
0
0
0
0
0
-5
56
-9
-36
-5
130
123
-93
-79
0
0
0
0
0
0
0
0
64
-106
28
40
-56
95
182
-1
-29
-5
0
0
0
0
0
0
0
-59
-34
-44
-3
-1
25
-53
-26
5
0
0
0
0
0
0
0
0
22
77
25
3
4
38
8
-6
0
0
0
0
0
0
0
0
0
30
-22
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-53
53
-77
0
124
32
-22
0
-4
0
0
0
0
0
0
0
23
8
36
10
87
-107
23
81
116
1
9
0
0
0
0
0
0
18
56
-48
-15
-1
40
100
39
80
0
0
0
0
0
0
0
0
-65
-53
-61
57
12
-205
-47
39
212
-2
0
0
0
0
0
0
0
26
14
16
25
10
-62
-40
-76
-10
12
0
0
0
0
0
0
0
8
11
15
64
127
6
76
-28
-49
0
0
0
0
0
0
0
0
46
-40
-34
46
-42
-60
-25
14
7
0
0
0
0
0
0
0
0
-71
-44
-115
4
67
61
2
-2
0
0
0
0
0
0
0
0
0
-55
-45
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
74
30
-44
54
-60
-3
101
0
8
0
0
0
0
0
0
0
31
44
51
29
44
15
29
-49
0
0
-5
0
0
0
0
0
0
32
6
-8
-20
8
-25
-4
20
-48
44
0
0
0
0
0
0
0
144
113
88
21
-10
70
18
-3
37
13
0
0
0
0
0
0
0
55
-26
-40
-30
-27
24
17
-1
8
0
0
0
0
0
0
0
0
46
89
72
-54
-47
-83
39
19
4
0
0
0
0
0
0
0
0
20
0
66
-84
-15
-31
-2
0
-5
0
0
0
0
0
0
0
0
15
96
-7
55
6
9
0
0
-6
0
0
0
0
0
0
0
0
-17
-15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
70
48
71
-90
-33
33
0
0
0
0
0
0
0
0
0
26
16
63
46
47
50
-7
-59
-108
6
0
0
0
0
0
0
0
0
-94
6
48
13
6
-4
101
-19
-3
0
0
0
0
0
0
0
27
-41
-48
11
65
-13
52
-12
-112
-8
0
0
0
0
0
0
0
-22
-63
3
-72
17
-26
-32
91
-20
12
0
0
0
0
0
0
0
35
30
-28
70
-101
30
8
-43
-37
4
0
0
0
0
0
0
0
68
-25
10
-7
26
13
-48
0
5
0
0
0
0
0
0
0
0
-6
6
77
-18
-1
-1
1
0
4
0
0
0
0
0
0
0
0
5
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-87
20
-5
53
-3
-1
16
0
0
0
0
0
0
0
0
0
11
172
70
-31
39
3
-13
41
23
2
0
0
0
0
0
0
0
32
-93
-63
95
-61
-28
0
-31
4
16
0
0
0
0
0
0
0
10
-34
-50
10
-55
6
-3
-72
1
0
0
0
0
0
0
0
0
9
-77
93
-9
-41
8
5
-52
-23
0
0
0
0
0
0
0
0
1
-79
-57
75
77
-9
-41
10
-1
0
0
0
0
0
0
0
0
-4
-56
62
59
53
-4
-20
8
0
0
0
0
0
0
0
0
0
27
-43
-35
3
-6
0
0
-4
0
0
0
0
0
0
0
0
0
3
10
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
28
36
-8
86
-10
-15
77
0
0
0
0
0
0
0
0
0
0
-11
45
-47
55
7
41
5
20
0
0
0
0
0
0
0
0
0
34
-76
-5
4
0
11
15
6
0
0
0
0
0
0
0
0
0
-56
-122
23
-13
-8
4
0
-7
-1
0
0
0
0
0
0
0
0
66
38
-65
8
-37
0
-2
-13
-2
0
0
0
0
0
0
0
0
65
-11
-43
5
-37
11
7
0
0
0
0
0
0
0
0
0
0
-50
60
-4
9
0
2
0
-19
0
0
0
0
0
0
0
0
0
85
0
-2
0
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
1
-19
0
-7
1
71
-54
-27
0
0
0
0
0
0
0
0
0
-51
42
47
83
-42
31
26
40
-62
0
0
0
0
0
0
0
0
-12
-9
73
-92
26
-89
-61
-1
-8
4
0
0
0
0
0
0
0
-40
4
36
-70
3
-19
-3
0
0
0
0
0
0
0
0
0
0
-52
-27
-3
-106
-10
39
-55
0
-9
0
0
0
0
0
0
0
0
26
0
-28
10
3
-1
-1
8
0
0
0
0
0
0
0
0
0
-1
-3
-50
-4
15
0
0
-6
-5
0
0
0
0
0
0
0
0
0
13
53
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-90
-4
-32
39
16
30
7
0
0
0
0
0
0
0
0
0
42
10
-88
17
77
99
-35
97
-34
5
0
0
0
0
0
0
0
38
30
-7
-118
-38
95
12
6
5
0
0
0
0
0
0
0
0
-18
-56
29
-112
59
-58
9
-3
0
0
0
0
0
0
0
0
0
21
41
33
-134
106
16
75
-7
0
0
0
0
0
0
0
0
0
-88
-63
-2
21
-38
-18
-9
-6
3
-3
0
0
0
0
0
0
0
8
57
33
41
42
-35
0
0
2
0
0
0
0
0
0
0
0
11
-35
-13
23
0
0
0
0
-5
-1
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
-100
11
61
-135
-32
48
111
0
0
0
0
0
0
0
0
0
0
32
37
-68
-42
-12
-15
22
30
0
0
0
0
0
0
0
0
0
95
-58
-26
112
-104
146
125
-12
0
0
0
0
0
0
0
0
0
-108
-3
-61
25
51
-117
-15
0
0
0
0
0
0
0
0
0
0
124
-2
-13
40
-12
28
-14
0
0
0
0
0
0
0
0
0
0
-63
-82
-31
109
50
15
16
6
0
0
0
0
0
0
0
0
0
-39
2
69
-11
13
-4
-15
8
-10
0
0
0
0
0
0
0
0
-85
-27
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
3
0
0
-11
0
0
0
0
0
0
0
0
0
19
8
40
30
17
7
-3
-6
0
0
0
0
0
0
0
0
0
1
2
-108
-10
-55
11
1
0
0
0
0
0
0
0
0
0
0
0
-13
-31
-61
-4
-21
-13
0
0
0
0
0
0
0
0
0
0
12
11
5
1
8
0
-4
0
0
0
0
0
0
0
0
0
0
11
-5
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
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
-7
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
6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
30
-6
0
-1
0
0
0
0
0
0
0
0
0
0
-4
73
39
45
44
-25
83
3
0
0
0
0
0
0
0
0
0
7
110
6
-1
37
11
-55
-21
0
0
0
0
0
0
0
0
0
-18
20
-124
56
-19
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-41
-4
-6
-6
0
0
0
0
0
0
0
0
0
-4
75
-33
49
-15
1
-9
-3
0
0
0
0
0
0
0
0
0
27
42
60
-25
-15
0
0
0
0
0
0
0
0
0
0
0
0
-59
43
-34
9
19
5
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
130
52
-59
-75
18
29
-30
9
0
0
0
0
0
0
0
0
0
-79
-15
-60
65
-40
44
63
184
-1
0
0
0
0
0
0
0
0
-32
-39
-32
-26
-53
39
30
1
-7
0
0
0
0
0
0
0
0
28
-58
95
-63
-5
10
81
54
49
0
0
0
0
0
0
0
0
-7
-1
0
106
31
-95
39
-18
29
0
0
0
0
0
0
0
0
130
11
14
-117
-72
51
5
29
3
0
0
0
0
0
0
0
0
53
80
49
50
-7
59
-37
-9
7
0
0
0
0
0
0
0
0
90
1
-63
0
3
-79
1
-10
0
0
0
0
0
0
0
0
0
-92
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
106
15
13
38
-58
0
19
0
-1
0
0
0
0
0
0
0
11
-44
145
71
-16
24
-50
-82
-39
-1
4
0
0
0
0
0
0
17
54
-80
-1
26
42
-9
49
-27
13
0
0
0
0
0
0
0
44
101
-49
-65
-137
-63
85
55
-16
0
0
0
0
0
0
0
0
1
32
0
-62
24
-60
-68
37
10
0
0
0
0
0
0
0
0
20
144
-9
-28
-80
84
-46
49
37
-4
0
0
0
0
0
0
0
12
115
32
-2
-66
83
-21
-45
-4
-14
0
0
0
0
0
0
0
70
37
47
-93
81
14
-5
-10
-8
0
0
0
0
0
0
0
0
21
-23
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
34
43
107
101
55
-7
33
20
0
0
0
0
0
0
0
0
0
31
0
159
-33
-20
-6
-49
64
-2
0
0
0
0
0
0
0
0
-89
20
22
56
98
6
47
-46
-5
16
0
0
0
0
0
0
0
33
-82
17
-23
60
1
15
-19
80
13
0
0
0
0
0
0
0
-63
57
-1
0
3
-39
62
7
-17
0
0
0
0
0
0
0
0
-12
8
80
-2
107
-45
57
-6
-1
0
0
0
0
0
0
0
0
22
14
16
2
31
-9
30
0
4
0
0
0
0
0
0
0
0
15
-10
-26
-18
-7
-4
-1
0
5
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
-1
42
29
74
-57
18
-59
-45
0
6
0
0
0
0
0
0
0
10
31
50
20
-131
55
-69
-29
18
-8
0
0
0
0
0
0
0
43
-44
-21
-30
42
49
-46
56
27
-10
0
0
0
0
0
0
0
29
37
-15
45
-5
-88
-13
24
-1
-1
0
0
0
0
0
0
0
-1
13
-55
-4
0
6
6
-39
11
2
0
0
0
0
0
0
0
-17
74
-15
87
6
-3
-68
6
39
-1
0
0
0
0
0
0
0
-2
73
20
17
2
-5
-2
-14
0
0
0
0
0
0
0
0
0
-6
72
-84
-13
0
7
0
0
0
0
0
0
0
0
0
0
0
11
35
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
47
38
66
-54
4
-83
15
0
0
0
0
0
0
0
0
0
-9
114
74
-36
41
-64
65
-21
-24
2
0
0
0
0
0
0
0
41
47
-25
-66
-35
14
-33
-9
2
-4
0
0
0
0
0
0
0
56
-10
-37
-10
-41
-4
13
6
-6
-6
0
0
0
0
0
0
0
-1
-60
-5
24
-1
0
0
18
4
0
0
0
0
0
0
0
0
7
173
-29
25
73
0
1
-3
7
0
0
0
0
0
0
0
0
-39
147
12
28
-1
4
-5
0
-3
0
0
0
0
0
0
0
0
-9
-63
-25
56
-4
0
0
1
0
0
0
0
0
0
0
0
0
-54
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
47
-30
-33
-16
-15
0
-7
0
0
0
0
0
0
0
0
-40
32
76
48
-159
-53
-2
10
0
0
0
0
0
0
0
0
0
51
-44
71
3
-10
128
19
-3
-2
0
0
0
0
0
0
0
0
-46
85
-74
-35
-42
0
4
1
8
0
0
0
0
0
0
0
0
-21
20
-2
34
0
0
0
12
1
0
0
0
0
0
0
0
0
-57
2
56
17
15
0
1
-1
0
0
0
0
0
0
0
0
0
-90
11
26
8
11
0
0
0
4
0
0
0
0
0
0
0
-20
-6
5
0
10
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
111
0
-94
15
30
9
0
0
0
0
0
0
0
0
0
65
-58
-39
-15
-68
-26
48
16
-43
0
0
0
0
0
0
0
0
67
35
35
104
48
-68
-36
-11
21
-9
0
0
0
0
0
0
0
-22
-98
37
-58
-7
-66
-6
3
-7
0
0
0
0
0
0
0
0
2
71
-4
-22
-46
8
0
0
0
0
0
0
0
0
0
0
0
48
2
25
104
-73
-4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-34
-26
-31
0
0
0
0
0
0
0
0
0
0
0
0
-51
-23
0
25
0
1
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
51
-75
-4
46
55
45
5
79
0
-2
0
0
0
0
0
0
0
-125
-26
30
47
-18
-16
-3
121
-43
-22
0
0
0
0
0
0
0
39
26
-110
33
3
82
90
-115
-43
6
0
0
0
0
0
0
0
-34
-12
-122
-112
-53
-67
-97
-23
3
11
0
0
0
0
0
0
0
100
61
-55
-1
41
-91
10
0
0
0
0
0
0
0
0
0
0
-79
51
46
45
8
47
-20
1
0
0
0
0
0
0
0
0
0
18
-88
1
-131
67
-25
15
0
-18
0
0
0
0
0
0
0
0
-8
22
-45
11
0
0
-1
0
39
0
0
0
0
0
0
0
0
68
13
-21
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
125
-10
-57
104
51
7
97
0
0
0
0
0
0
0
0
0
0
-55
7
25
-30
3
147
-37
40
-4
0
0
0
0
0
0
0
0
71
31
119
-78
-44
25
109
-9
1
0
0
0
0
0
0
0
0
-68
61
-28
19
67
77
149
-20
0
0
0
0
0
0
0
0
0
31
-30
-90
-69
-148
-32
-9
0
0
0
0
0
0
0
0
0
0
104
43
9
49
-36
40
62
2
0
0
0
0
0
0
0
0
0
31
7
-31
-49
-42
24
3
-6
-4
0
0
0
0
0
0
0
0
65
61
-74
-13
47
0
8
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
-14
-38
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
-29
2
47
16
13
21
4
4
0
0
0
0
0
0
0
0
0
-36
9
27
8
1
-58
0
0
0
0
0
0
0
0
0
0
0
8
-6
22
-7
-17
0
-4
0
0
0
0
0
0
0
0
0
0
5
7
25
10
7
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-3
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
13
2
0
-16
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
13
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
-4
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-6
0
1
34
0
0
0
0
0
0
0
0
0
0
-18
14
-17
-39
-5
-10
4
22
0
0
0
0
0
0
0
0
0
-44
-36
48
-20
-4
0
6
1
0
0
0
0
0
0
0
0
0
-5
-12
50
36
-8
57
-2
0
0
0
0
0
0
0
0
0
0
0
-40
109
9
7
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
-3
13
0
-2
0
0
0
0
0
0
0
0
0
0
9
-35
-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
0
0
16
118
9
-39
64
35
72
17
0
0
0
0
0
0
0
0
0
-193
-117
119
29
108
-51
16
-7
-4
-8
0
0
0
0
0
0
0
64
27
48
78
-26
3
-48
-10
4
0
0
0
0
0
0
0
0
-13
-53
-43
-26
-60
-56
51
82
-13
0
0
0
0
0
0
0
0
-32
0
-1
78
30
-7
50
-73
-39
0
0
0
0
0
0
0
0
0
0
-3
13
-10
164
57
-9
27
0
0
0
0
0
0
0
0
20
-1
11
-49
-40
-25
75
-6
-10
0
0
0
0
0
0
0
0
-7
39
-4
-9
-111
11
0
0
0
0
0
0
0
0
0
0
0
8
1
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-15
33
13
21
44
14
42
0
0
0
0
0
0
0
0
0
-5
-13
-98
8
52
-125
55
-52
26
35
0
0
0
0
0
0
0
29
7
-68
-15
0
25
46
-48
-2
0
0
0
0
0
0
0
0
-2
69
64
22
9
1
15
25
-21
0
0
0
0
0
0
0
0
0
57
1
-62
17
-123
-28
35
41
0
0
0
0
0
0
0
0
-24
35
0
11
66
92
21
40
-34
-5
0
0
0
0
0
0
0
-22
-12
-8
17
-90
17
26
-15
-2
0
0
0
0
0
0
0
0
10
-55
11
30
27
-31
1
6
0
0
0
0
0
0
0
0
0
50
-22
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
36
-43
82
23
-14
23
0
0
0
0
0
0
0
0
0
11
106
15
-56
-58
61
2
18
-9
0
-8
0
0
0
0
0
0
2
152
75
-16
27
-43
-4
8
-12
0
0
0
0
0
0
0
0
17
53
35
-102
83
25
10
25
5
-7
0
0
0
0
0
0
0
22
92
-73
2
5
20
-27
-36
-7
0
0
0
0
0
0
0
0
-4
43
0
0
-10
-3
87
14
-20
0
0
0
0
0
0
0
0
-9
-199
102
-1
7
-11
8
0
3
0
0
0
0
0
0
0
0
-27
-67
75
5
4
0
0
0
3
0
0
0
0
0
0
0
0
-19
-16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-53
80
81
-56
-58
25
5
0
1
0
0
0
0
0
0
0
0
11
-21
-104
-76
18
76
46
-3
0
0
0
0
0
0
0
0
89
53
37
74
102
8
-30
-4
35
-6
0
0
0
0
0
0
0
2
32
86
71
20
43
20
44
0
-3
-1
0
0
0
0
0
0
-2
121
88
-67
-18
16
-57
-13
4
0
0
0
0
0
0
0
0
-23
-13
75
-2
0
49
-1
2
-20
0
0
0
0
0
0
0
0
12
10
-101
33
3
-9
22
-15
-1
0
0
0
0
0
0
0
0
64
106
27
36
0
-4
0
-9
0
0
0
0
0
0
0
0
0
-49
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
37
-92
23
17
-40
-75
-34
0
0
0
0
0
0
0
0
0
6
11
-54
-39
23
-48
64
17
6
0
10
0
0
0
0
0
0
29
-79
-31
-8
28
-10
-86
-40
-4
-1
0
0
0
0
0
0
0
9
25
-70
27
73
2
13
-44
65
-18
0
0
0
0
0
0
0
2
-101
68
84
19
12
0
-2
3
-2
0
0
0
0
0
0
0
0
-89
86
-9
3
0
0
-7
0
0
0
0
0
0
0
0
0
51
-56
146
66
-34
-7
-3
12
-4
0
0
0
0
0
0
0
0
5
56
39
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
-29
-5
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-95
35
-25
-11
24
-29
0
0
0
0
0
0
0
0
0
0
-53
-16
-64
-31
-15
-42
144
18
1
0
0
0
0
0
0
0
0
-12
29
-63
-36
-13
-49
-26
-6
0
0
0
0
0
0
0
0
0
22
3
66
-31
38
25
21
-2
0
0
0
0
0
0
0
0
0
-48
-54
81
-83
20
0
4
-18
0
0
0
0
0
0
0
0
0
-18
30
-68
12
0
0
0
1
11
0
0
0
0
0
0
0
8
23
0
48
-42
17
2
0
10
0
0
0
0
0
0
0
0
2
-11
-26
41
0
11
0
-6
0
0
0
0
0
0
0
0
0
-3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
-4
-51
4
-9
-72
0
0
1
0
0
0
0
0
0
0
-13
-12
-50
-14
24
-4
94
-58
42
0
0
0
0
0
0
0
0
32
47
-53
-186
-63
119
-2
-9
34
3
0
0
0
0
0
0
0
-39
-4
-9
-53
78
35
66
-3
-4
1
0
0
0
0
0
0
0
-20
-51
-31
-5
27
-6
-18
0
0
0
0
0
0
0
0
0
0
-15
-39
-33
-17
26
10
0
0
0
0
0
0
0
0
0
0
0
44
37
-25
8
8
-4
0
0
0
0
0
0
0
0
0
0
0
5
0
42
2
0
0
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
-8
-69
47
60
15
64
40
-43
0
-3
0
0
0
0
0
0
0
34
-34
7
-33
10
110
29
-16
-8
-4
0
0
0
0
0
0
0
-4
-58
-89
-4
-75
117
152
-74
-53
-12
0
0
0
0
0
0
0
50
5
43
-101
19
71
83
-66
62
1
0
0
0
0
0
0
0
6
-30
49
0
11
23
-16
0
0
0
0
0
0
0
0
0
0
13
76
-95
-59
7
-121
-19
0
0
0
0
0
0
0
0
0
0
-13
-67
-45
-88
2
-53
9
-3
0
0
0
0
0
0
0
0
0
-2
-15
-86
-44
10
9
0
0
18
0
0
0
0
0
0
0
0
-126
-12
-11
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
40
106
81
20
-30
-3
-60
0
-1
0
0
0
0
0
0
0
0
53
36
-31
-15
59
59
56
73
6
-5
0
0
0
0
0
0
0
-47
-17
-70
-18
83
94
-14
57
1
0
0
0
0
0
0
0
0
87
15
-150
-56
36
31
8
-32
0
0
0
0
0
0
0
0
0
52
51
-36
-77
62
-52
46
0
0
0
0
0
0
0
0
0
0
-27
-46
-25
-100
-66
-84
-16
0
0
0
0
0
0
0
0
0
0
78
-28
-4
-35
-47
8
2
0
0
0
0
0
0
0
0
0
0
-51
35
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
11
14
0
0
0
0
0
0
0
0
0
0
0
0
-26
33
-33
-2
-11
-3
0
4
0
0
0
0
0
0
0
0
0
-7
-15
18
-9
-6
-4
0
-9
0
0
0
0
0
0
0
0
0
2
-4
45
-6
-10
2
0
0
0
0
0
0
0
0
0
0
0
13
0
-21
110
19
2
-6
0
0
0
0
0
0
0
0
0
0
-3
-6
5
10
0
5
0
0
0
0
0
0
0
0
0
0
0
5
-3
-19
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
-12
-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
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
1
4
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
36
11
-39
1
0
0
1
0
0
0
0
0
0
0
0
0
-11
-41
6
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
32
-8
-34
0
-16
4
0
0
0
0
0
0
0
0
0
0
0
2
39
-39
-89
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-1
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
25
25
-69
-47
-14
1
-4
-19
0
0
0
0
0
0
0
0
0
12
-42
-89
38
82
-114
33
-34
-7
0
0
0
0
0
0
0
0
-36
-48
-57
-21
68
-14
-59
-27
-22
-2
0
0
0
0
0
0
0
-20
-47
-98
-4
-11
29
13
-39
0
0
0
0
0
0
0
0
0
34
1
-5
-28
-100
67
22
2
6
0
0
0
0
0
0
0
0
23
0
74
10
34
-59
68
67
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-12
5
-22
1
1
0
0
0
0
0
0
0
0
40
0
1
169
-1
-74
-3
2
0
0
0
0
0
0
0
0
0
27
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
0
-37
-5
90
21
-11
0
0
0
0
0
0
0
0
0
0
-55
48
41
55
32
-20
27
4
0
0
0
0
0
0
0
0
-2
-99
-102
-48
-15
47
39
48
7
0
0
0
0
0
0
0
0
-7
-88
-73
55
62
49
30
-35
-14
-18
0
0
0
0
0
0
0
-4
35
-30
-67
-10
-76
-70
-38
5
0
0
0
0
0
0
0
0
1
8
0
27
-79
10
-10
-22
-23
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-25
11
34
-1
-6
0
0
0
0
0
0
0
56
23
0
25
-14
4
-4
-7
7
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
9
-18
40
-4
-12
-40
-45
19
0
0
0
0
0
0
0
0
0
19
76
58
-86
74
-50
-28
38
-3
0
0
0
0
0
0
0
0
27
55
-9
78
-125
31
26
-55
8
0
0
0
0
0
0
0
0
0
115
122
58
-2
-98
39
18
7
0
0
0
0
0
0
0
0
-6
10
57
16
-119
46
-28
-5
-16
2
0
0
0
0
0
0
0
15
36
-122
1
99
74
-45
-12
74
0
0
0
0
0
0
0
0
-24
7
6
0
-1
16
-7
1
0
0
0
0
0
0
0
0
0
15
25
-9
-1
0
3
-7
12
0
0
0
0
0
0
0
0
0
-55
-2
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-73
18
-34
-24
35
-6
0
0
0
0
0
0
0
0
0
0
121
29
23
-124
-47
-44
30
-16
0
0
0
0
0
0
0
0
6
34
-78
80
-70
-68
73
-25
-8
-22
0
0
0
0
0
0
0
20
-47
13
33
-62
61
-34
-23
-1
0
0
0
0
0
0
0
0
0
138
66
16
-28
36
-58
17
-1
0
0
0
0
0
0
0
0
-2
-101
-33
-53
0
78
23
5
-16
5
0
0
0
0
0
0
0
4
1
-12
0
0
10
4
9
-8
0
0
0
0
0
0
0
0
-9
26
1
-18
0
-2
13
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
10
16
22
4
1
4
-42
9
0
0
0
0
0
0
0
0
0
-17
-94
-22
-41
7
-23
14
20
-10
0
0
0
0
0
0
0
0
0
1
55
-31
51
-37
7
-40
-27
0
0
0
0
0
0
0
0
-1
-9
-7
38
-48
31
64
-22
-12
0
0
0
0
0
0
0
0
5
10
91
-74
-2
-11
-46
-4
17
0
0
0
0
0
0
0
0
0
-20
5
-29
-18
0
0
-7
10
1
0
0
0
0
0
0
0
7
65
32
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-36
2
-33
-1
0
0
3
-4
0
0
0
0
0
0
0
0
46
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
5
-2
-23
17
-6
0
0
0
0
0
0
0
0
0
0
108
-12
1
-55
-20
14
12
1
0
0
0
0
0
0
0
0
0
78
6
28
102
-33
-108
24
-2
0
0
0
0
0
0
0
0
0
84
-6
57
40
-5
-22
-33
2
0
0
0
0
0
0
0
0
0
70
-36
-8
-37
65
29
-6
-1
-39
0
0
0
0
0
0
0
-42
-22
10
56
90
-3
0
-9
6
0
0
0
0
0
0
0
0
0
37
62
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-88
5
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
1
1
-4
-7
0
0
0
0
0
0
0
0
0
0
23
5
7
16
-18
0
-10
1
0
0
0
0
0
0
0
0
27
38
-14
28
7
148
-63
22
-11
7
0
0
0
0
0
0
0
-10
16
10
-37
28
81
-14
0
0
0
0
0
0
0
0
0
0
-3
-4
8
5
50
10
-1
0
2
0
0
0
0
0
0
0
0
0
21
28
3
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
17
11
-1
-13
1
1
16
0
0
0
0
0
0
0
0
0
0
-89
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-62
-15
90
26
-33
-30
16
0
0
0
0
0
0
0
0
0
-44
33
-24
28
64
154
5
-51
-115
0
0
0
0
0
0
0
0
19
21
45
-38
-28
110
47
64
17
2
0
0
0
0
0
0
0
4
39
-28
-12
86
-32
29
6
13
-1
0
0
0
0
0
0
0
17
21
-81
46
34
179
32
10
-1
0
0
0
0
0
0
0
0
3
-38
-92
11
-69
70
9
0
0
0
0
0
0
0
0
0
0
-16
-31
-10
61
74
-40
2
0
0
0
0
0
0
0
0
0
0
-49
36
69
140
9
-2
-4
0
0
0
0
0
0
0
0
0
0
-15
22
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
144
26
47
47
71
-81
0
4
0
0
0
0
0
0
0
0
54
-39
-39
12
-17
24
5
11
0
0
0
0
0
0
0
0
0
-35
22
-64
-1
57
-81
-145
-36
-12
0
0
0
0
0
0
0
0
-40
28
-31
-34
17
-19
-12
2
0
0
0
0
0
0
0
0
0
17
-24
49
24
-48
-7
4
19
0
0
0
0
0
0
0
0
0
9
118
44
54
9
23
-118
0
0
0
0
0
0
0
0
0
0
-69
-52
67
59
6
-21
5
0
0
0
0
0
0
0
0
0
0
-107
48
-26
45
11
2
5
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
-2
2
8
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-55
8
-1
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-1
0
19
0
2
0
0
0
0
0
0
0
0
0
0
1
5
18
-7
7
0
0
0
0
0
0
0
0
0
0
0
2
-14
-3
0
-3
-9
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
1
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
38
0
-7
23
0
0
0
0
0
0
0
0
0
0
32
21
-10
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
0
5
0
2
0
0
0
0
0
0
0
0
0
0
-1
16
-4
55
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
16
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
87
-24
26
-4
18
-19
0
0
0
0
0
0
0
0
0
0
0
-26
-5
-7
5
25
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
-13
-49
18
64
-1
-1
0
0
0
0
0
0
0
0
0
4
-11
-35
125
-3
15
0
4
0
0
0
0
0
0
0
0
0
-55
-11
-4
68
-21
15
6
-24
0
0
0
0
0
0
0
0
0
50
1
71
-109
-23
0
5
-2
0
0
0
0
0
0
0
0
0
-2
0
73
111
0
-19
-2
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
4
7
32
-31
22
69
0
0
0
0
0
0
0
0
0
0
-7
-28
54
49
-133
-54
-57
26
9
0
0
0
0
0
0
0
0
0
-37
-16
-31
-31
44
28
17
0
0
0
0
0
0
0
0
0
9
2
-36
21
-15
39
-15
2
0
0
0
0
0
0
0
0
0
0
-139
20
18
32
148
-4
-1
12
0
0
0
0
0
0
0
0
0
47
24
47
-25
-15
7
39
0
0
0
0
0
0
0
0
0
-3
-18
6
23
-71
-17
-4
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
8
4
1
0
0
0
0
0
0
0
0
0
0
62
-25
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
22
0
42
-19
-1
15
9
0
0
0
0
0
0
0
0
0
0
0
-4
-45
-1
-24
-10
-6
0
0
0
0
0
0
0
0
0
0
0
7
-19
-73
-33
10
1
0
11
0
0
0
0
0
0
0
0
-4
-65
0
34
8
90
14
3
0
0
0
0
0
0
0
0
0
5
-137
95
-41
-18
-21
51
50
0
0
0
0
0
0
0
0
0
-13
19
86
4
31
-21
21
6
-5
-9
0
0
0
0
0
0
0
5
38
30
0
-23
24
-2
-3
-7
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
60
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-13
3
6
-43
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-8
6
-8
-11
-50
0
0
0
0
0
0
0
0
0
0
-89
27
29
-93
-49
-25
2
0
0
0
0
0
0
0
0
0
4
-14
8
33
25
36
38
2
0
0
0
0
0
0
0
0
0
0
-57
-3
101
-2
17
-11
-4
0
0
0
0
0
0
0
0
0
0
17
9
-15
0
-4
0
-13
-1
0
0
0
0
0
0
0
0
-7
-9
44
-18
0
-8
6
0
0
0
0
0
0
0
0
0
0
5
97
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
-1
2
-5
10
0
0
0
0
0
0
0
0
0
0
-4
-9
2
-6
22
0
-5
0
0
0
0
0
0
0
0
0
0
0
13
-10
4
-2
59
1
0
0
0
0
0
0
0
0
0
-21
-5
19
1
-22
7
2
2
0
0
0
0
0
0
0
0
0
-5
5
-55
49
19
-10
2
0
-4
0
0
0
0
0
0
0
0
0
5
19
-3
47
-10
29
0
0
0
0
0
0
0
0
0
0
0
0
7
48
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
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
10
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-2
-4
0
-1
0
0
0
0
0
0
0
0
0
7
9
1
-2
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
13
-34
0
22
-11
5
-3
0
0
0
0
0
0
0
0
0
0
0
13
-2
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-20
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
6
2
0
0
0
0
0
0
0
0
0
-59
-5
0
2
17
41
-1
3
0
0
0
0
0
0
0
0
0
13
7
3
6
0
0
1
-1
0
0
0
0
0
0
0
0
0
18
-64
93
21
13
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-9
9
4
0
0
0
3
0
0
0
0
0
0
0
0
-25
6
0
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
49
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-11
-3
3
-3
3
0
0
0
0
0
0
0
0
0
0
0
-97
-11
-20
-10
4
2
-7
-5
0
0
0
0
0
0
0
0
5
4
7
-6
28
-164
47
17
-28
4
0
0
0
0
0
0
0
-10
-75
-6
-46
-29
69
-2
-18
-6
-31
0
0
0
0
0
0
0
0
-43
-57
-29
101
24
-5
3
0
0
0
0
0
0
0
0
0
0
92
9
126
33
19
0
-5
0
0
0
0
0
0
0
0
0
0
40
-12
-21
21
-3
0
0
0
0
0
0
0
0
0
0
0
12
14
11
-40
5
-3
0
0
0
0
0
0
0
0
0
0
0
-17
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
-5
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
-9
5
-7
-47
-1
10
0
0
0
0
0
0
0
0
0
0
0
-13
0
10
-12
-16
-4
7
1
0
0
0
0
0
0
0
0
0
-17
-81
6
-11
6
32
-1
0
0
0
0
0
0
0
0
0
0
-7
113
-38
15
11
10
0
0
0
0
0
0
0
0
0
0
0
-14
10
-20
19
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
13
-34
47
-2
0
5
0
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
-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
1
-9
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
32
-2
-50
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
135
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-59
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
29
1
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
27
0
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-17
0
0
0
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
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
-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
-8
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
8
1
4
4
8
-15
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-35
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
21
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-1
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
16
11
-35
6
0
0
0
0
0
0
0
0
0
0
0
6
-2
27
-43
15
-146
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
82
-15
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
10
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
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
34
-16
0
0
0
0
0
0
0
0
0
0
0
0
3
3
8
126
-31
3
-88
-64
0
0
0
0
0
0
0
0
0
0
-32
-10
-88
-30
141
31
-14
0
0
0
0
0
0
0
0
0
0
2
-23
39
-37
82
61
38
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
77
47
-7
0
0
0
0
0
0
0
0
0
0
0
9
7
-13
-3
-109
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
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
-18
0
0
0
-9
0
0
0
0
0
0
0
0
0
-13
-11
-68
77
0
0
0
-10
0
0
0
0
0
0
0
0
-8
1
4
17
-27
-121
-127
77
9
0
0
0
0
0
0
0
0
-8
-17
11
4
17
131
-22
112
12
0
0
0
0
0
0
0
0
1
0
1
-8
9
45
53
22
30
0
0
0
0
0
0
0
0
1
0
5
-21
-91
-75
68
-40
10
0
0
0
0
0
0
0
0
0
0
23
-16
4
-11
65
-56
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-9
0
0
0
0
-4
0
0
0
0
0
0
2
-1
0
0
5
38
0
0
0
-10
12
0
0
0
0
0
0
0
0
-4
-8
-5
42
16
9
26
-29
-6
0
0
0
0
0
0
0
1
7
-11
8
3
-23
-23
-31
46
-3
0
0
0
0
0
0
-1
0
-4
-6
-5
-37
13
102
131
-7
-8
0
0
0
0
0
0
0
0
0
0
13
-34
36
-11
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-124
8
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
20
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
-6
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
-5
16
11
0
-3
-52
0
0
0
-74
4
11
0
0
0
0
0
0
0
8
0
-35
-4
-42
-26
43
-17
-21
0
0
0
0
0
0
0
-7
-20
5
-17
-81
15
78
16
3
-22
-3
0
0
0
0
0
3
0
1
14
-11
-24
-59
-36
77
15
0
0
0
0
0
0
0
0
0
0
25
0
-33
-7
-35
5
9
5
0
0
0
0
0
0
0
0
0
-2
0
-26
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
-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
6
-8
-1
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
-10
56
-9
0
55
0
0
0
2
1
-4
0
0
0
0
0
0
-8
6
11
10
89
-58
22
-77
18
2
13
0
0
0
0
0
0
0
8
1
34
87
-45
-121
4
38
0
-8
0
0
0
0
0
-5
0
0
27
3
-28
63
-134
-14
-2
2
0
0
0
0
0
0
0
0
0
-6
-20
-32
-26
84
6
9
-2
0
0
0
0
0
0
0
0
0
0
7
8
10
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
23
-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
-4
11
29
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-15
-45
54
122
-10
0
0
0
-10
-4
0
4
0
0
0
0
0
-16
10
-4
-45
36
-112
13
-61
0
3
1
0
0
0
0
0
0
-3
-19
-49
50
14
-18
17
-103
12
0
0
0
0
0
0
0
0
-2
5
-4
-24
-30
157
14
14
-9
4
0
0
0
0
0
0
0
0
0
6
-30
87
-58
58
23
-3
0
0
0
0
0
0
0
0
0
4
4
-1
4
-7
33
-12
2
10
0
0
0
0
0
0
0
0
0
1
1
0
-9
-32
-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
-1
-5
-10
-31
78
0
0
0
-5
2
0
0
0
0
0
0
13
49
16
-41
37
97
0
0
0
-129
-3
0
0
0
0
0
0
0
-12
6
-22
-82
41
-30
128
-59
-10
-5
2
0
0
0
0
0
0
-7
-2
-69
-15
-89
47
-55
-63
-87
0
0
0
0
0
0
0
0
-1
33
65
26
69
-57
37
48
3
-13
-8
0
0
0
0
0
0
0
-2
-8
-16
8
14
31
-14
-42
4
0
0
0
0
0
0
0
0
0
-3
4
23
-19
8
84
17
0
0
0
0
0
0
0
0
0
0
0
26
0
2
51
-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
-1
-27
-33
-6
-9
0
0
0
-6
0
0
0
0
0
0
0
0
-30
-2
-104
62
6
0
0
0
72
5
-1
0
0
0
0
0
0
2
43
-51
-35
96
-59
118
15
-24
0
0
0
0
0
0
0
0
-2
-8
-40
-78
-135
-23
-55
-27
121
-9
0
0
0
0
0
0
0
0
-3
-63
-51
44
5
14
17
-11
-1
0
0
0
0
0
0
0
-1
-9
18
-29
-8
14
15
59
22
0
0
0
0
0
0
0
0
0
0
14
26
-3
-39
42
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
2
78
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
11
18
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-2
-76
-6
0
0
0
6
21
0
0
0
0
0
0
0
0
0
0
-24
13
-23
57
-22
0
-20
0
0
0
0
0
0
0
0
0
-3
6
112
-60
-98
74
66
-1
0
0
0
0
0
0
0
0
0
0
5
26
-20
26
-42
4
12
0
0
0
0
0
0
0
0
0
0
1
-18
-13
31
74
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
30
13
3
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
0
0
0
0
0
0
0
0
0
0
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
-1
-2
-5
9
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
7
-34
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-58
83
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
28
9
107
91
0
0
0
0
0
0
0
0
0
0
0
0
26
50
-70
-103
92
0
0
0
0
0
0
0
0
0
0
0
4
-1
5
11
83
38
-75
0
0
0
0
0
0
0
0
0
0
0
7
-5
-6
-43
6
5
-18
0
0
0
0
0
0
0
0
0
0
-5
0
16
-5
64
22
60
0
0
0
0
0
0
0
0
0
0
0
20
-3
3
56
86
135
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-7
86
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
23
46
-17
-88
0
0
0
0
0
0
0
0
0
0
0
0
-41
-114
64
50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
19
-75
47
-22
-40
37
0
0
0
0
0
0
0
0
-7
28
-65
51
-89
-67
-142
3
-6
0
0
0
0
0
0
0
0
11
-3
1
29
19
28
-20
-62
-110
0
0
0
0
0
0
0
0
0
0
0
-4
84
-27
16
16
-67
0
0
0
0
0
0
0
0
0
0
0
24
0
51
-56
4
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
4
-16
59
-45
0
0
0
20
0
0
0
0
0
0
0
0
15
0
-18
101
-38
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
21
6
89
-130
-27
60
41
0
0
0
0
0
0
0
0
-23
44
-19
7
-43
91
-23
20
-41
0
0
0
0
0
0
0
0
-10
-4
73
99
81
7
10
13
20
0
0
0
0
0
0
0
0
17
-4
28
-42
88
24
-60
-10
-49
0
0
0
0
0
0
0
0
0
-22
-14
1
22
-35
-13
-49
-53
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
-40
-123
0
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
11
0
0
4
75
0
0
0
19
2
0
0
0
0
0
0
-26
0
-5
-57
-47
-36
0
0
0
60
-6
0
0
0
0
0
0
0
0
12
-10
16
-6
1
-11
-110
-22
-59
0
0
0
0
0
0
0
0
40
17
-51
-84
-67
18
4
-129
4
0
0
0
0
0
0
4
0
0
20
16
-50
18
-61
22
-51
-27
0
0
0
0
0
0
0
0
0
0
-6
110
68
70
-62
1
3
0
0
0
0
0
0
0
0
0
0
-15
8
8
-41
120
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
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
-2
-4
-16
-1
-13
-3
0
0
0
-43
9
-8
0
0
0
0
0
-5
7
-76
-4
-5
-20
0
0
0
102
-26
-8
0
0
0
0
0
0
39
-12
35
-28
33
14
20
11
-17
22
0
0
0
0
0
0
0
0
21
-81
73
144
-18
-64
14
-24
-2
-2
0
0
0
0
0
0
-12
3
-19
-10
-5
-45
-46
17
12
2
-5
0
0
0
0
0
0
0
0
51
55
74
59
-60
-6
18
14
1
0
0
0
0
0
0
0
0
0
0
16
68
-64
13
-9
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-26
9
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
11
7
16
0
-62
0
0
0
-5
4
0
0
0
0
0
0
-3
97
-72
89
29
62
0
0
0
-1
12
5
-3
0
0
0
0
-20
-18
42
79
-21
12
24
85
-58
-1
11
-14
-3
0
0
0
0
2
-17
18
-100
131
6
-74
-34
-92
-52
11
0
0
0
0
0
0
-33
21
17
61
56
12
-39
-78
-70
-39
6
0
-3
0
0
0
0
0
0
0
-44
19
74
-96
34
-20
-22
0
-4
0
0
0
0
0
0
0
-4
0
-13
-16
48
-34
-51
0
5
0
1
0
0
0
0
0
0
0
0
0
-3
0
-2
-58
7
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
-15
31
50
-8
6
0
0
0
-25
-5
0
0
0
0
0
0
13
-16
-56
-12
-32
-17
0
0
0
-11
6
-1
0
0
0
0
0
78
-127
4
-45
18
-13
150
33
64
60
-1
0
-1
0
0
0
0
-2
-6
-22
57
69
-57
137
-29
8
-16
-5
14
0
0
0
0
0
-7
-23
55
-59
86
12
-29
12
-69
3
-6
0
0
0
0
0
0
0
0
95
-5
-45
0
-36
-28
29
-2
13
-1
0
0
0
0
0
0
0
0
-50
-39
-94
17
4
-83
-4
-5
0
0
0
0
0
0
0
0
0
-1
0
1
11
-86
-81
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
47
59
64
71
104
82
0
0
0
0
-4
0
0
0
0
0
9
2
70
-3
-3
-59
36
0
0
0
-46
15
0
0
0
0
0
0
-13
21
-55
47
-49
47
-6
28
36
11
-13
-3
0
0
0
0
0
-9
-26
-29
-40
-135
82
33
-19
-125
-66
-8
-2
0
0
0
0
0
18
26
-5
34
41
-7
-29
-71
-247
-6
-6
0
0
0
0
0
0
-5
16
5
-21
-7
98
-7
16
-7
44
-9
4
0
0
0
0
0
0
0
2
30
-5
-31
90
-17
15
1
-1
0
0
0
0
0
0
0
0
10
0
0
1
0
-15
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
7
0
0
0
0
0
0
0
0
-6
59
-23
-74
133
0
0
0
119
0
0
0
0
0
0
0
0
55
-89
-16
-59
4
0
0
0
-36
65
0
0
0
0
0
0
5
41
-94
-32
127
58
4
86
98
-11
4
0
0
0
0
0
0
-42
0
-84
-51
-34
-13
-85
8
-94
-48
0
2
0
0
0
0
0
-4
-60
32
-94
-149
-106
14
-96
-91
-25
0
0
0
0
0
0
0
-34
11
-111
43
93
3
23
-67
-24
-4
0
0
0
0
0
0
0
0
3
10
123
172
48
54
29
-35
28
0
0
0
0
0
0
0
0
0
-5
31
-3
0
0
41
-16
-19
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
-33
11
-18
51
19
0
0
0
75
-17
0
0
0
0
0
0
-7
-56
-62
-125
-43
65
0
0
0
-54
-3
0
0
0
0
0
0
-7
72
0
-71
7
-175
-91
28
-87
38
-6
0
0
0
0
0
0
-13
94
-66
-11
-88
-7
-39
-29
-28
-61
-8
0
0
0
0
0
0
0
38
27
-58
74
-89
21
-10
33
5
2
0
-14
0
0
0
0
18
34
-19
-10
-75
92
17
-53
49
5
0
-1
0
0
0
0
0
-8
-6
3
-148
92
-102
-2
-86
28
-4
2
0
0
0
0
0
0
0
0
0
0
-24
-2
77
-45
-9
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
40
-14
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
-34
91
-27
0
0
0
0
-63
0
0
0
0
0
0
0
0
3
17
-6
16
-60
11
50
0
-6
2
0
0
0
0
0
0
-1
-4
12
-2
-64
16
53
-46
-66
-9
0
0
0
0
0
0
0
0
-12
6
10
50
-1
38
65
-43
27
-4
0
0
0
0
0
0
0
0
0
-3
11
32
9
116
59
0
-1
0
0
0
0
0
0
0
0
10
-21
27
-41
19
7
-28
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-51
-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
-15
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
7
6
8
-42
9
1
0
0
0
0
0
0
0
0
0
0
0
16
-4
75
-49
21
-5
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-14
-23
10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-44
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
7
-2
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
6
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-3
0
0
0
0
0
0
0
0
0
0
0
9
42
-2
2
77
-28
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-5
5
-25
112
-98
0
0
0
0
0
0
0
0
0
0
-6
9
18
-1
8
7
71
0
0
0
0
0
0
0
0
0
-3
0
0
-1
115
-38
18
37
0
0
0
0
0
0
0
0
0
0
0
0
22
81
3
10
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
6
15
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
-16
-56
-14
-35
-16
50
0
0
0
0
0
0
0
0
0
0
0
0
44
-42
-33
26
-35
0
0
0
0
0
0
0
0
0
0
0
0
-1
-39
8
39
10
40
115
91
0
0
0
0
0
0
0
0
3
13
53
141
168
-69
-87
8
-123
0
0
0
0
0
0
0
0
6
-2
0
-66
-43
-18
65
67
-5
0
0
0
0
0
0
0
0
0
1
0
0
-56
-19
-22
-42
122
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-27
34
-9
-42
0
0
0
0
0
0
0
0
0
0
0
8
5
0
3
-4
-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
-1
8
-12
-18
-21
0
0
0
17
0
0
0
0
0
0
0
0
3
18
5
87
-13
0
0
0
-3
0
0
0
0
0
0
0
0
0
-11
19
-7
-34
24
39
70
38
0
0
0
0
0
0
0
0
0
25
47
71
20
-4
68
-49
-70
0
0
0
0
0
0
0
1
26
13
0
-53
-58
-23
-94
65
16
0
0
0
0
0
0
0
0
9
0
-11
0
11
-1
-75
-30
-88
0
0
0
0
0
0
0
0
0
0
0
4
-5
-20
95
25
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
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
3
19
29
2
-101
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-23
5
20
-86
0
0
0
61
-3
0
0
0
0
0
0
1
0
-2
11
-29
-27
48
-14
-83
32
-33
0
0
0
0
0
0
-5
3
0
22
207
-13
-18
12
8
-9
-4
0
0
0
0
0
0
0
0
2
-10
-12
35
68
141
-83
12
-17
0
0
0
0
0
0
0
0
6
-1
-4
-34
-21
66
27
5
0
0
0
0
0
0
0
0
0
0
12
-6
5
-20
21
0
-12
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
5
71
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
-6
0
5
31
14
4
0
0
0
-2
9
-1
0
0
0
0
1
28
-9
-26
0
-37
-25
0
0
0
76
0
0
0
0
0
0
0
7
0
-6
7
-6
-5
-42
-80
-24
-20
20
-1
0
0
0
0
0
0
12
1
19
-75
-140
109
-73
-33
6
1
-7
0
0
0
0
0
4
0
-29
45
3
-33
123
-107
79
0
-1
1
0
0
0
0
0
0
0
0
-28
-5
-24
2
-33
56
0
0
0
0
0
0
0
0
0
0
8
-4
-6
-40
6
67
-100
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
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
15
2
-16
16
57
74
0
0
0
-7
0
0
0
0
0
0
0
-3
-20
-28
6
12
-34
0
0
0
27
-3
0
0
0
0
0
0
17
43
7
84
9
-104
29
95
2
-2
4
-1
0
0
0
0
0
1
-22
4
-149
15
-8
28
54
79
15
-3
10
0
0
0
0
0
4
4
-8
126
-89
-12
10
-8
51
47
-1
1
-2
0
0
0
0
0
0
24
49
20
-53
-1
-79
77
-7
0
0
0
0
0
0
0
0
6
-4
5
-19
33
-64
-16
-36
-3
3
0
0
0
0
0
0
0
0
-7
0
0
8
8
-28
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-18
0
0
0
0
0
0
0
0
0
0
-15
44
-54
-56
26
0
0
0
11
-9
0
0
0
0
0
0
-2
125
12
-46
-84
-17
0
0
0
-72
0
0
0
0
0
0
0
0
10
53
7
60
29
-59
-18
-56
-4
-15
0
0
0
0
0
0
1
19
41
27
15
-12
29
59
77
-39
11
-1
0
0
0
0
0
0
45
-40
-62
78
-15
-20
-47
65
0
5
0
0
0
0
0
0
2
5
42
51
-33
87
95
2
52
4
-13
0
0
0
0
0
0
0
0
-1
13
22
34
-33
-32
58
-2
8
0
0
0
0
0
0
0
0
0
-6
0
7
54
-105
-20
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
-10
33
-35
60
27
-49
0
0
0
28
0
0
0
0
0
0
-4
13
53
-37
80
125
-11
0
0
0
12
1
0
0
0
0
0
0
21
-78
128
21
12
7
107
-54
-12
-9
-1
0
0
0
0
0
0
-11
15
181
34
72
77
86
-20
-18
-35
0
0
3
0
0
0
0
0
-31
-23
-98
74
28
-129
26
-35
-12
-5
0
0
0
0
0
0
-1
-13
-70
65
15
-16
17
-46
-104
4
18
0
0
0
0
0
0
-6
-6
-6
7
-50
-25
20
-23
-136
-21
0
1
0
0
0
0
0
0
0
-12
-16
-17
-18
44
93
-94
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
53
-1
1
0
0
0
0
0
0
0
0
22
36
-84
-25
67
0
0
0
11
-3
0
0
0
0
0
0
-26
28
-45
-58
29
48
0
0
0
23
-11
0
0
0
0
0
0
-34
51
56
-21
19
35
26
-2
-72
20
-4
0
0
0
0
0
0
65
70
-119
20
85
7
78
-39
-51
-3
-6
0
0
0
0
0
0
0
9
-99
18
-18
-19
34
-3
13
-6
19
0
0
0
0
0
0
0
-10
37
16
39
-25
-78
-61
-66
34
0
-1
0
0
0
0
0
-1
6
0
43
16
-15
73
84
-90
2
-6
0
0
0
0
0
0
0
0
1
-15
-26
26
4
24
-85
-2
0
0
0
0
0
0
0
0
0
0
-13
0
-5
-2
-1
1
0
0
0
0
0
0
0
0
0
2
-40
-54
33
-27
0
0
0
-81
3
0
0
0
0
0
0
-11
20
48
10
136
-15
0
0
0
4
12
0
0
0
0
0
0
4
-17
19
-57
73
-26
31
-50
-61
-18
17
0
0
0
0
0
0
3
53
9
27
22
3
-12
8
15
-9
1
0
0
0
0
0
0
-7
9
30
43
-19
-42
6
-70
20
-72
7
5
-2
0
0
0
0
-6
-8
-29
41
7
22
-68
-41
79
128
0
0
0
0
0
0
0
0
0
5
-2
-19
34
56
-56
-68
-59
0
0
0
0
0
0
0
0
0
6
11
41
4
6
-22
-47
12
-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
-8
0
-1
28
0
0
0
10
-27
0
0
0
0
0
0
0
0
0
-13
-84
-25
0
0
0
0
60
-9
0
0
0
0
0
0
0
-2
5
0
59
-49
-19
79
2
9
-2
0
0
0
0
0
0
1
8
8
-10
38
60
40
91
16
-25
-3
0
0
0
0
0
0
0
0
5
25
-9
-13
59
60
-2
-74
0
0
0
0
0
0
0
0
0
0
4
-5
-28
36
-8
48
5
0
0
0
0
0
0
0
0
0
0
0
1
-6
17
70
29
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
20
-3
0
0
0
-14
-6
8
0
0
0
0
0
0
0
0
0
0
0
-5
29
-47
-1
-11
-1
0
0
0
0
0
0
0
0
0
0
2
1
-3
16
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
7
-5
-12
-30
-7
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
11
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
-3
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-9
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
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
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
-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
-6
0
-18
-23
-16
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-7
-15
-51
-86
0
0
0
0
0
0
0
0
0
0
0
0
-15
-41
20
41
126
-30
21
0
0
0
0
0
0
0
0
0
0
9
77
-42
4
-80
-23
-97
0
0
0
0
0
0
0
0
0
0
6
10
-109
68
-92
50
26
0
0
0
0
0
0
0
0
0
0
0
0
4
-34
25
-4
-57
0
0
0
0
0
0
0
0
0
0
0
3
9
0
-52
19
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
0
0
-1
17
62
-23
28
32
0
0
0
0
0
0
0
0
0
0
0
6
-57
-3
124
-49
33
0
0
0
0
0
0
0
0
0
0
0
0
-23
-102
-29
-107
-70
76
-27
18
0
0
0
0
0
0
0
0
0
0
-33
51
-4
19
16
64
20
0
0
0
0
0
0
0
0
0
20
58
59
-90
-87
8
-19
5
0
0
0
0
0
0
0
0
0
7
0
-73
29
77
-22
104
42
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-40
115
21
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
38
64
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
-6
-5
7
7
11
0
0
0
56
0
0
0
0
0
0
0
33
2
21
34
-79
-103
0
0
0
-154
0
0
0
0
0
0
0
0
28
11
30
5
-27
17
-13
80
11
0
0
0
0
0
0
0
0
0
0
-14
42
58
-46
43
-37
90
0
0
0
0
0
0
0
0
0
0
9
39
-83
29
56
-31
34
0
0
0
0
0
0
0
0
0
0
5
-23
74
-45
41
53
66
0
0
0
0
0
0
0
0
0
0
0
31
-7
13
4
-28
61
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-22
150
-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
4
10
-3
7
-15
0
0
0
-4
5
0
0
0
0
0
0
-3
-47
79
73
29
90
0
0
0
17
-2
0
0
0
0
0
0
0
5
18
9
-3
-49
82
-41
54
-10
11
0
0
0
0
0
0
3
0
0
0
5
-23
59
91
-19
73
17
0
0
0
0
0
0
0
3
-9
-11
70
42
65
-13
-15
-4
10
0
0
0
0
0
0
0
0
9
-19
-11
9
-11
79
3
10
0
0
0
0
0
0
0
0
0
0
12
0
-2
-7
-58
0
-10
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-44
-37
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-10
0
0
0
0
0
0
0
0
0
0
1
19
94
-3
21
0
0
0
-1
4
0
0
0
0
0
0
8
8
54
55
-71
-40
0
0
0
8
0
0
0
0
0
0
0
0
-15
15
12
70
-57
-166
-72
74
22
-2
0
0
0
0
0
0
1
2
0
2
1
61
28
61
-6
-16
3
0
0
0
0
0
0
5
20
-9
0
-6
0
-55
31
-52
6
6
0
0
0
0
0
0
0
0
46
-2
40
-26
64
17
129
0
0
0
0
0
0
0
0
0
17
6
13
-6
-22
60
-38
-20
1
0
0
0
0
0
0
0
0
0
0
-1
-2
0
23
1
-109
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-23
0
0
0
0
0
0
0
0
0
0
-6
-87
59
14
-30
0
0
0
1
0
0
0
0
0
0
0
25
30
-49
-176
14
62
0
0
0
-45
0
0
0
0
0
0
0
4
-12
-31
-14
131
132
84
57
19
0
4
0
0
0
0
0
1
6
28
-38
-1
-11
105
44
19
8
-14
0
0
0
0
0
0
0
26
20
13
10
6
4
-48
-135
52
-9
0
0
0
0
0
0
0
-1
-7
-8
37
37
-114
31
33
-100
0
0
0
0
0
0
0
0
0
0
-21
29
86
108
-15
-71
-168
6
0
0
0
0
0
0
0
0
0
0
-3
0
-10
-9
-18
-32
7
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-1
-3
0
0
0
0
0
0
0
0
0
-18
35
10
34
87
0
0
0
-27
0
0
0
0
0
0
0
0
19
35
-11
54
-54
0
0
0
-48
-6
0
0
0
0
0
0
-10
77
20
69
5
7
17
-6
3
33
-2
0
0
0
0
0
0
6
-26
-27
12
-35
23
79
-178
59
12
5
0
0
0
0
0
0
-1
-72
12
21
-74
-128
101
34
-12
105
6
0
0
0
0
0
0
-1
-10
-37
64
10
66
38
-80
-32
-9
-1
0
0
0
0
0
0
-5
6
-2
-38
68
50
42
-30
-26
-7
0
0
0
0
0
0
0
0
0
0
14
74
4
35
-104
-40
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-141
0
0
0
0
0
0
0
0
1
14
-103
-50
46
50
-49
0
0
0
9
1
0
0
0
0
0
-22
0
43
56
7
34
-7
0
0
0
-43
2
0
0
0
0
0
1
37
41
137
-36
86
-12
22
16
75
27
-12
0
0
0
0
0
0
-10
46
-52
-55
-37
71
43
94
-49
22
3
-2
0
0
0
0
0
0
-15
-49
-5
126
64
31
-42
39
85
-4
1
0
0
0
0
0
0
-20
-29
-23
36
182
-65
8
-32
36
0
0
0
0
0
0
0
2
6
89
-23
-77
-141
96
-13
-33
-24
21
0
0
0
0
0
0
0
0
0
-59
51
-25
-20
-90
46
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
28
10
0
0
0
0
0
0
0
0
48
50
-49
-48
-58
82
0
0
0
-29
2
0
0
0
0
0
0
-47
23
35
-30
86
-31
0
0
0
28
-12
0
0
0
0
0
0
9
100
20
83
-31
130
169
-73
92
-7
-16
0
0
0
0
0
-6
22
-38
19
83
10
68
-18
-6
-56
-5
0
0
0
0
0
0
0
51
33
20
-33
100
25
-23
-11
-63
50
-5
0
0
0
0
0
-2
0
-1
74
48
-49
-32
21
-11
-90
-13
0
0
0
0
0
0
0
0
9
-43
104
45
-13
28
51
-98
16
0
0
0
0
0
0
0
-7
0
-12
-51
-7
-30
-44
-11
47
-5
-1
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
-3
-9
0
0
0
0
0
0
0
0
49
-41
31
-8
70
0
0
0
-132
0
0
0
0
0
0
0
-3
-50
-47
8
-91
18
0
0
0
15
5
0
0
0
0
0
0
6
-33
45
56
-24
-35
71
-2
-69
-10
-70
0
0
0
0
0
0
19
-37
-19
56
50
48
-102
-132
-38
-11
-2
0
0
0
0
0
0
0
12
25
-42
52
48
-68
20
-74
33
-14
0
0
0
0
0
0
0
-59
-7
-66
-9
13
83
-97
22
47
0
0
0
0
0
0
0
0
4
21
36
-78
-21
16
-146
2
-76
0
0
0
0
0
0
0
0
-2
0
13
-23
-10
-32
4
-130
86
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
-13
-14
7
0
0
0
2
2
0
0
0
0
0
0
0
0
-2
11
-65
-2
0
0
0
-88
-66
0
0
0
0
0
0
0
0
0
-7
11
-65
-14
48
-63
13
-33
-3
0
0
0
0
0
0
0
0
-3
-3
-41
-22
-54
-6
12
0
0
0
0
0
0
0
0
0
0
-1
-7
17
87
2
-48
-16
36
0
0
0
0
0
0
0
0
0
0
-3
1
48
-36
-24
4
-21
0
0
0
0
0
0
0
0
0
-2
-1
2
-4
-33
1
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-14
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
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
17
-3
1
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-9
8
1
-4
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
5
56
0
5
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
2
0
20
0
0
0
0
0
0
0
0
0
0
0
12
0
-53
71
59
4
-30
15
0
0
0
0
0
0
0
0
0
0
-16
-40
27
25
-41
-26
1
0
0
0
0
0
0
0
0
0
0
0
-1
-37
73
49
67
-35
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
134
22
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-30
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
2
0
22
-9
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
33
0
0
0
0
0
0
0
0
0
3
-42
4
2
4
-8
0
0
0
0
0
0
0
0
0
0
0
47
29
18
-14
16
51
0
0
0
0
0
0
0
0
0
0
0
21
-49
-34
-6
-28
-8
30
-117
55
0
0
0
0
0
0
0
0
0
2
-17
-155
35
-147
38
78
59
0
0
0
0
0
0
0
0
0
0
21
-92
66
-18
-21
129
-60
0
0
0
0
0
0
0
0
0
0
-23
-44
6
-16
-13
31
40
0
0
0
0
0
0
0
0
0
20
5
-25
0
-22
123
-37
30
0
0
0
0
0
0
0
0
0
0
-1
0
-31
56
-56
-3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
6
-4
0
0
0
0
0
0
0
0
0
6
0
30
11
-8
0
0
0
12
0
0
0
0
0
0
0
-5
34
-10
-126
68
47
0
0
0
82
0
0
0
0
0
0
0
0
8
-8
-25
-3
-3
77
-26
-29
4
0
0
0
0
0
0
0
0
0
-1
-3
-21
112
-16
55
27
-19
0
0
0
0
0
0
0
0
0
0
11
182
-74
70
35
39
1
0
0
0
0
0
0
0
0
0
0
1
-59
20
29
-71
16
1
0
0
0
0
0
0
0
0
0
2
-5
1
-42
-58
49
44
7
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-51
50
36
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
-6
0
18
-66
16
-3
0
0
0
42
3
0
0
0
0
0
0
0
55
11
8
4
-37
0
0
0
-123
24
0
0
0
0
0
0
0
8
-39
-39
-29
-64
117
20
0
7
0
0
0
0
0
0
0
0
0
0
-2
64
-68
-9
147
19
5
0
0
0
0
0
0
0
5
0
0
0
-13
-79
-78
-41
20
4
0
0
0
0
0
0
0
0
0
0
-20
4
-38
-8
-59
27
-32
3
0
0
0
0
0
0
0
0
0
0
-10
2
-6
21
9
-4
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
-7
3
0
0
0
0
0
0
0
0
28
-5
6
-24
6
60
0
0
0
37
-1
0
0
0
0
0
0
-20
26
40
56
-70
-69
0
0
0
-20
-6
1
0
0
0
0
0
1
-4
-34
-137
-1
5
57
21
-62
0
0
0
0
0
0
0
0
7
-1
-9
-3
-6
-57
-110
-2
-15
42
0
0
0
0
0
0
0
-28
5
0
0
0
68
-5
77
-53
0
-1
0
0
0
0
0
0
0
0
1
-9
-41
46
-138
47
-3
0
0
0
0
0
0
0
0
0
0
5
41
-34
-28
-102
102
22
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-77
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
-4
20
27
-1
8
0
0
0
-1
2
-1
0
0
0
0
0
-2
8
187
13
49
-90
0
0
0
-8
0
0
0
0
0
0
0
23
45
99
25
10
-91
-60
19
-6
-1
13
0
0
0
0
0
1
-42
7
-17
40
-19
74
-94
39
-220
-5
0
0
0
0
0
0
0
5
45
-4
11
0
-1
120
138
-75
-5
0
0
0
0
0
0
0
0
0
8
3
-6
30
-53
-49
-29
-4
0
0
0
0
0
0
0
0
0
0
-18
-31
-36
-34
43
-21
6
0
0
0
0
0
0
0
0
0
-8
0
-12
-1
84
20
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-64
-4
0
0
0
0
0
0
0
0
-6
4
-34
101
-14
-77
0
0
0
0
0
0
0
0
0
0
0
0
-33
-94
46
30
-7
0
0
0
49
0
0
0
0
0
0
0
10
-2
-32
-27
17
-139
31
119
-97
-7
3
0
0
0
0
0
0
0
0
59
-6
-37
48
62
-94
22
-12
-2
0
0
0
0
0
0
-2
21
-18
49
0
0
8
-82
15
0
0
0
0
0
0
0
0
11
46
-25
57
-27
7
90
20
45
10
0
0
0
0
0
0
0
-4
-11
-28
0
12
-117
53
-20
127
-22
0
0
0
0
0
0
0
0
0
0
-16
4
-8
-61
34
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-40
40
0
0
0
0
0
0
0
7
-1
-23
-29
-39
10
74
0
0
0
-29
0
0
0
0
0
0
1
60
-104
68
3
-16
-24
0
0
0
-41
0
0
0
0
0
0
0
-90
61
-36
79
101
-42
71
71
44
-4
3
0
0
0
0
0
3
-4
118
31
147
47
35
31
54
120
52
0
0
0
0
0
0
0
-77
-1
-2
-98
86
-11
0
-71
238
-21
0
0
0
0
0
0
0
3
46
29
14
-106
68
-49
-83
65
41
-1
0
0
0
0
0
0
0
2
-2
36
-51
-25
-89
93
8
-25
-1
0
0
0
0
0
0
0
0
-10
0
-49
-63
100
-30
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
16
1
-1
0
0
0
0
0
0
0
-14
25
0
-18
75
18
0
0
0
-9
1
0
0
0
0
0
1
1
34
-61
43
25
-9
0
0
0
23
-12
-1
0
0
0
0
0
24
-10
42
45
-30
-44
89
69
-34
30
-2
0
0
0
0
0
0
-10
67
26
74
62
39
71
-56
-75
-74
0
8
0
0
0
0
0
16
0
31
-55
26
35
-40
0
-2
2
6
0
0
0
0
0
0
27
18
-63
4
-15
-7
47
24
-145
-30
0
-9
0
0
0
0
0
1
-11
-96
99
-24
73
-44
7
24
0
0
0
0
0
0
0
0
1
0
15
72
33
-92
153
81
-84
24
0
0
0
0
0
0
0
0
0
0
0
-2
7
24
-46
31
0
0
0
0
0
0
0
0
16
-43
-9
47
68
27
0
0
0
36
-2
0
0
0
0
0
0
-11
-35
58
-20
-72
30
0
0
0
-11
6
0
0
0
0
0
0
8
78
-1
-71
108
8
-54
-46
49
-63
4
0
0
0
0
0
0
0
-28
-73
-18
73
53
19
-11
-32
47
-11
0
0
0
0
0
0
0
51
90
19
-135
72
14
-8
0
-35
0
0
0
0
0
0
0
0
46
26
-21
-52
32
77
-58
1
-2
0
0
0
0
0
0
0
0
-7
-2
90
-46
-31
-49
-86
-57
-18
0
0
0
0
0
0
0
34
0
13
1
78
0
17
28
40
104
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
7
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
0
0
0
8
-7
0
0
0
0
0
0
0
3
0
6
22
40
0
0
0
64
-12
0
0
0
0
0
0
0
0
1
7
84
-21
19
48
-45
13
-64
0
0
0
0
0
0
0
0
0
3
0
33
-75
-83
35
-18
4
-4
0
0
0
0
0
0
0
1
12
-15
0
28
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
34
9
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-40
-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
-61
0
1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
25
0
4
0
0
0
0
0
0
0
0
0
0
1
-5
-5
5
-17
-16
12
0
0
0
0
0
0
0
0
0
0
-17
1
10
19
6
0
6
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
-1
0
0
-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
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
12
0
11
0
12
15
0
0
0
0
0
0
0
0
0
0
0
1
-7
-2
-44
6
-5
10
2
0
0
0
0
0
0
0
0
0
0
0
10
-16
-21
27
-3
63
0
0
0
0
0
0
0
0
0
0
0
0
101
40
-4
-74
46
0
0
0
0
0
0
0
0
0
0
0
-2
21
48
14
167
73
0
0
0
0
0
0
0
0
0
0
0
0
9
100
128
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-53
0
0
0
0
0
0
0
0
0
-2
27
-28
-16
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
32
-61
10
-68
-92
0
0
0
0
0
0
0
0
0
0
0
-1
-62
-33
14
121
58
21
-35
-88
0
0
0
0
0
0
0
0
-6
26
15
146
55
-45
-150
-118
-32
0
0
0
0
0
0
0
0
0
0
28
51
42
-32
29
-68
-25
0
0
0
0
0
0
0
0
0
0
-4
21
22
205
11
-60
-20
0
0
0
0
0
0
0
0
0
0
14
-60
-18
32
-130
-31
-15
0
0
0
0
0
0
0
0
0
0
0
0
3
58
0
-28
72
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
46
-7
0
0
0
0
0
0
0
0
-14
-1
21
48
23
5
0
0
0
29
0
0
0
0
0
0
0
0
-13
-11
-48
16
-42
0
0
0
38
0
0
0
0
0
0
0
-34
-19
-12
33
-29
43
4
133
-93
-16
0
0
0
0
0
0
0
0
9
104
-37
-3
-36
-162
-65
-33
-5
0
0
0
0
0
0
0
0
0
0
44
-39
-108
-59
-23
27
-5
0
0
0
0
0
0
0
0
0
0
6
32
1
110
-16
50
4
0
0
0
0
0
0
0
0
0
0
0
0
50
47
66
55
26
0
0
0
0
0
0
0
0
0
0
0
0
6
9
58
90
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-14
0
0
0
0
0
0
0
0
3
0
8
-2
-4
0
0
0
4
0
0
0
0
0
0
0
-6
-8
133
49
-18
-56
0
0
0
-125
0
0
0
0
0
0
0
0
9
4
-28
14
-52
-17
-33
21
-9
1
0
0
0
0
0
0
0
-7
-7
3
9
91
-37
39
3
-3
2
0
0
0
0
0
0
-4
0
0
-1
-14
23
-69
-53
-32
0
-7
0
0
0
0
0
0
0
0
0
1
13
-84
-5
26
12
-2
0
0
0
0
0
0
0
0
0
0
4
22
3
-1
-78
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
-5
43
-29
13
-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
1
-64
-31
0
29
0
0
0
0
0
0
0
0
0
0
0
13
-25
-43
-35
42
32
0
0
0
19
-8
0
0
0
0
0
0
7
5
-11
30
-5
138
44
115
-138
0
1
0
0
0
0
0
0
-21
3
-3
-46
-24
-3
50
-87
-76
7
0
0
0
0
0
0
0
8
32
-2
0
-72
-54
14
29
-73
0
0
0
0
0
0
0
0
-9
-10
-2
0
1
-62
139
48
-18
0
0
0
0
0
0
0
0
0
0
0
0
-36
81
35
-76
68
0
0
0
0
0
0
0
0
0
0
1
0
-15
8
-29
-95
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
0
0
0
0
0
0
0
0
0
9
-25
102
37
116
-47
0
0
0
0
0
0
0
0
0
0
11
13
-54
15
12
44
57
0
0
0
-15
0
0
0
0
0
0
0
-4
-27
112
52
-81
-47
99
-53
47
-1
0
0
0
0
0
0
0
12
28
13
-71
-50
88
-36
-3
-31
-2
0
0
0
0
0
0
0
-6
-11
18
56
6
86
-1
29
-32
1
0
0
0
0
0
0
0
-3
2
-2
-3
0
0
77
-3
77
0
0
0
0
0
0
0
0
0
-1
-22
0
4
-43
-35
30
-31
-1
0
0
0
0
0
0
0
0
-1
0
-1
-2
-63
-24
-9
-94
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-3
0
0
0
0
0
0
0
0
4
51
30
174
-98
130
0
0
0
-2
0
0
0
0
0
0
0
-11
-28
-45
1
81
-123
0
0
0
15
-1
0
0
0
0
0
0
5
34
-39
64
-46
35
-43
14
-49
11
0
0
0
0
0
0
0
-14
4
-53
-34
7
44
-37
-77
-82
4
0
0
0
0
0
0
0
-9
-65
-45
26
123
-1
-10
-57
124
12
0
0
0
0
0
0
0
0
19
-72
-65
0
0
-2
-61
-38
-4
0
0
0
0
0
0
0
0
0
5
23
3
5
-53
25
-72
8
0
0
0
0
0
0
0
0
0
-2
-1
9
1
13
-62
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
0
0
0
14
-6
-18
26
-32
91
-40
0
0
0
-35
0
0
0
0
0
0
-2
-2
32
-41
-73
11
6
0
0
0
4
0
0
0
0
0
0
0
-75
-13
-10
-56
38
-25
-36
-14
-15
-11
-3
0
0
0
0
0
0
24
161
26
-16
-31
-43
-27
-21
-58
-22
3
0
0
0
0
0
0
-46
-9
-17
44
71
38
38
-67
1
-15
0
0
0
0
0
0
7
10
-42
-16
26
-51
5
0
0
-22
-4
0
0
0
0
0
0
0
0
-11
142
-17
-146
-27
11
44
89
-11
0
0
0
0
0
0
0
0
-1
0
8
18
-26
-62
86
42
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
3
54
-21
63
-61
0
0
0
0
3
0
0
0
0
0
0
-3
76
-39
51
179
15
9
0
0
0
-71
0
0
0
0
0
0
0
-19
3
92
61
95
161
-40
-66
-31
-54
0
0
0
0
0
0
0
-16
-16
19
-12
-80
80
-106
56
-94
-6
0
0
0
0
0
0
0
-11
-86
21
-46
75
20
-81
-14
-49
19
0
0
0
0
0
0
0
0
15
-25
1
-72
-91
11
0
0
-3
0
0
0
0
0
0
0
0
19
-25
26
-62
143
-87
6
-62
-3
-4
0
0
0
0
0
0
0
0
41
3
-16
17
68
-6
64
-2
0
0
0
0
0
0
0
0
0
0
1
-5
3
9
145
35
0
0
0
0
0
0
0
0
-1
0
20
-97
-76
-75
0
0
0
-94
0
-1
0
0
0
0
0
0
84
30
-7
-58
-73
0
0
0
2
-14
0
0
0
0
0
0
1
-1
8
-4
90
62
48
9
-67
-128
-4
0
0
0
0
0
0
0
-42
-7
-32
51
-17
58
-26
-57
-40
-5
0
0
0
0
0
0
0
11
0
-19
27
18
-32
-81
1
105
0
0
0
0
0
0
0
0
-31
-24
59
-112
109
-157
-15
0
0
0
0
0
0
0
0
0
0
0
9
46
136
72
8
-55
8
-1
0
0
0
0
0
0
0
0
0
-2
-53
-61
109
5
-7
-122
-37
0
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
-3
0
-13
0
0
0
19
15
0
0
0
0
0
0
0
0
0
0
-13
-39
0
0
0
9
10
0
0
0
0
0
0
0
0
0
-10
75
33
-5
-173
-55
58
39
0
0
0
0
0
0
0
0
0
1
37
54
-5
27
-45
0
6
0
0
0
0
0
0
0
0
0
0
-5
62
22
5
10
0
20
0
0
0
0
0
0
0
0
0
0
-21
0
27
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
56
0
73
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-29
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
8
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
0
0
0
-1
0
-1
15
33
-2
-6
-39
0
0
0
0
0
0
0
0
0
0
0
-1
14
-19
-78
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
0
-1
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
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-6
0
0
0
0
0
0
0
0
0
0
0
-5
7
-12
9
-3
-2
-3
11
0
0
0
0
0
0
0
0
0
0
0
1
-4
-9
-31
33
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-73
-4
77
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-26
0
0
0
0
0
0
0
0
0
0
19
-15
-12
0
6
0
0
0
0
0
0
0
0
0
0
0
-10
-4
32
-8
-16
-16
0
0
0
0
0
0
0
0
0
0
0
6
76
82
-93
-9
43
-15
145
0
0
0
0
0
0
0
0
0
0
0
-11
-5
-50
-239
15
8
-39
0
0
0
0
0
0
0
0
1
-13
-1
-50
-40
90
-17
-92
-72
0
0
0
0
0
0
0
0
0
0
1
-13
-129
-105
-63
13
-60
0
0
0
0
0
0
0
0
0
0
-15
62
-38
128
51
-76
-74
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
27
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-128
-12
0
0
0
0
0
0
0
0
0
2
0
-19
-5
0
0
0
0
4
0
0
0
0
0
0
0
4
3
36
44
-4
-1
0
0
0
-14
0
0
0
0
0
0
0
0
3
-7
-5
-20
4
5
-52
107
-10
0
0
0
0
0
0
0
0
0
54
-34
-50
-95
11
-28
43
0
0
0
0
0
0
0
0
0
10
-51
-20
-50
-54
63
-48
24
0
0
0
0
0
0
0
0
0
0
0
-2
-44
32
72
48
49
-3
0
0
0
0
0
0
0
0
0
0
0
22
26
-13
228
11
14
0
0
0
0
0
0
0
0
0
0
0
0
-6
-90
7
38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
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
-5
-58
-11
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
36
2
-42
-3
-9
-8
3
0
0
0
0
0
0
0
0
0
0
14
-77
35
20
-56
-21
-3
0
0
0
0
0
0
0
0
0
-5
-22
-13
26
0
74
0
0
0
0
0
0
0
0
0
0
0
0
-4
52
-10
74
-55
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
17
22
-2
0
0
0
0
0
0
0
0
0
0
0
3
-1
61
4
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
11
0
0
0
0
0
0
0
0
0
0
4
-8
-2
-11
-15
0
0
0
-1
8
0
0
0
0
0
0
0
0
-10
11
-32
-44
0
0
0
-25
11
0
0
0
0
0
0
0
-8
5
44
116
-60
65
-34
-86
0
-3
0
0
0
0
0
0
0
-1
9
59
18
-22
-91
12
19
0
0
0
0
0
0
0
0
0
8
-26
-66
-10
-19
-20
-139
-22
0
0
0
0
0
0
0
0
0
2
-7
0
49
94
-172
52
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
16
17
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-21
-42
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
50
0
0
0
0
0
0
0
0
0
10
24
61
-6
-14
0
0
0
7
0
0
0
0
0
0
0
0
-6
5
41
15
55
0
0
0
-34
0
0
0
0
0
0
0
0
7
18
-106
-1
-64
56
-34
-123
0
0
0
0
0
0
0
0
0
10
105
80
21
-67
-73
-76
19
0
0
0
0
0
0
0
0
9
0
-11
-59
19
-78
-86
-76
-17
0
0
0
0
0
0
0
0
0
0
18
7
0
103
-65
-163
135
-7
0
0
0
0
0
0
0
0
5
-2
0
0
0
62
-6
-28
0
0
0
0
0
0
0
0
4
4
-2
0
5
14
-72
-32
81
-9
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
40
2
0
0
0
0
0
0
0
0
0
2
26
-20
-49
49
0
0
0
0
-1
0
0
0
0
0
0
0
-2
37
158
-188
-7
0
0
0
7
-2
0
0
0
0
0
0
-1
4
111
39
-135
30
80
43
-24
0
0
0
0
0
0
0
0
0
21
-83
34
44
36
14
-81
-105
1
0
0
0
0
0
0
0
-2
-10
-43
46
-60
107
-57
139
-72
0
0
0
0
0
0
0
0
0
0
-27
13
-41
12
-23
1
-74
-3
0
0
0
0
0
0
0
0
-6
-33
-6
-3
0
-2
-16
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
-21
241
200
10
0
0
0
0
0
0
0
0
0
0
0
0
0
18
17
-40
0
0
0
0
0
0
0
0
-5
78
-2
-32
-40
144
0
0
0
77
0
0
0
0
0
0
0
0
26
-27
42
70
108
0
0
0
88
-2
0
0
0
0
0
-8
4
2
-64
-9
159
-113
28
-26
-70
4
-11
0
0
0
0
0
17
45
67
100
-20
4
-57
53
7
24
20
0
0
0
0
0
0
0
-16
20
14
60
63
-20
11
-8
21
-6
0
0
0
0
0
0
0
4
-38
-72
-30
103
-19
40
-44
-17
58
0
0
0
0
0
0
0
0
4
10
67
-17
1
0
0
-44
1
0
0
0
0
0
0
0
0
0
-8
-26
-36
-59
0
49
7
99
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
27
0
-4
0
0
0
0
0
0
0
8
-27
-76
32
55
85
0
0
0
8
4
0
0
0
0
0
0
19
-60
-94
-88
-93
59
0
0
0
-49
-5
0
0
0
0
0
0
4
-43
61
-74
-86
-35
79
76
-55
-20
-14
0
0
0
0
0
0
27
30
-19
127
-64
-51
4
-68
20
19
7
0
0
0
0
0
0
44
-126
-116
98
23
-19
-119
100
-84
13
-4
0
0
0
0
0
0
5
-10
-85
-34
5
44
-9
-4
-44
-4
0
0
0
0
0
0
0
11
1
-35
60
61
-66
12
0
3
3
0
0
0
0
0
0
0
0
-3
52
-4
-17
47
75
0
36
117
-2
0
0
0
0
0
0
0
0
0
3
0
0
9
15
14
0
0
0
0
0
0
0
0
0
-14
-3
8
-47
1
0
0
0
-16
-7
0
0
0
0
0
0
-7
15
24
-62
-12
-24
0
0
0
42
-5
-3
0
0
0
0
0
0
42
59
139
-3
11
5
-64
-2
53
1
0
0
0
0
0
0
-1
4
-17
-25
-83
84
-33
49
-18
153
-2
0
0
0
0
0
0
0
-50
-88
106
14
24
-18
-87
-7
58
2
0
0
0
0
0
0
0
-4
52
-41
50
-30
54
10
0
-80
0
0
0
0
0
0
0
0
-2
5
-15
41
14
-33
3
0
0
0
0
0
0
0
0
0
0
-2
-31
28
-23
8
9
70
8
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
3
0
0
0
0
0
0
0
0
0
11
0
-8
-3
0
0
0
-7
-15
0
0
0
0
0
0
0
0
0
-21
2
-54
0
0
0
-89
-139
0
0
0
0
0
0
0
0
0
0
34
-23
-56
48
0
2
-60
0
0
0
0
0
0
0
0
0
5
0
-23
19
76
21
68
9
4
0
0
0
0
0
0
0
4
0
9
87
-33
-52
-30
-2
3
0
0
0
0
0
0
0
0
0
0
8
5
-47
53
-1
0
2
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
-2
0
1
0
-10
-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
-38
5
2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-40
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
25
-27
50
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
-54
-3
0
3
0
0
0
0
0
0
0
0
0
0
7
0
-1
8
15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-27
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-6
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
12
-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
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
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
53
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
-4
14
-21
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
10
-7
3
29
4
0
0
0
0
0
0
0
0
0
0
9
13
-21
55
28
101
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
34
-52
0
4
0
0
0
0
0
0
0
0
0
0
0
23
5
-6
48
-41
7
0
0
0
0
0
0
0
0
0
0
-8
3
12
16
8
-38
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-39
78
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
1
0
2
0
0
0
0
0
0
0
0
0
-3
9
-15
15
86
2
17
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
54
60
64
7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-17
-6
56
20
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-1
87
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
4
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
0
0
0
0
0
0
0
0
0
0
0
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
-6
-5
0
-1
50
6
8
-9
0
0
0
0
0
0
0
0
0
-5
0
-53
-4
5
-17
0
10
0
0
0
0
0
0
0
0
0
19
53
-3
-19
14
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
116
20
-47
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-65
-1
9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
-7
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
8
0
6
0
2
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
9
14
-18
0
0
0
0
0
0
0
0
0
0
0
-18
0
-73
-12
-25
10
24
7
0
0
0
0
0
0
0
0
0
-19
1
60
-67
-1
74
32
0
0
0
0
0
0
0
0
0
0
-4
0
-5
-86
-104
65
29
0
0
0
0
0
0
0
0
0
0
-1
0
56
-46
17
-55
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
24
0
0
0
0
0
0
0
0
0
5
0
-7
0
13
0
0
0
22
0
0
0
0
0
0
0
0
2
17
-1
-9
72
0
0
0
5
0
0
0
0
0
0
0
0
-7
-31
-40
4
-27
4
-71
50
0
0
0
0
0
0
0
0
5
4
11
28
-91
104
-43
30
-4
0
0
0
0
0
0
0
0
0
0
-1
-60
81
-46
-49
-24
-42
4
0
0
0
0
0
0
0
0
0
21
-11
35
-8
88
2
32
-6
0
0
0
0
0
0
0
0
2
-9
-4
0
-48
22
22
45
3
0
0
0
0
0
0
0
0
0
18
0
0
0
-11
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
16
6
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
-43
10
-16
45
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
-39
44
-26
26
-62
-29
0
0
0
0
0
0
0
0
0
0
6
3
92
6
73
17
-86
11
0
0
0
0
0
0
0
10
2
5
8
35
47
-50
-59
37
0
0
0
0
0
0
0
0
0
-3
-6
22
-35
-138
-9
-3
19
1
0
0
0
0
0
0
0
0
0
10
33
17
0
23
33
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
36
23
0
0
0
0
0
0
0
0
0
3
11
15
0
82
0
0
0
1
0
0
0
0
0
0
0
0
-5
-2
6
-127
42
0
0
0
28
0
0
0
0
0
0
0
0
1
-14
41
18
35
-33
20
18
0
0
0
0
0
0
0
0
0
-6
2
12
-49
-23
138
-11
4
-6
0
0
0
0
0
0
0
-4
-5
-21
20
5
54
-64
-97
31
7
0
0
0
0
0
0
0
0
0
4
165
45
-94
45
58
-11
-16
0
0
0
0
0
0
0
0
20
7
-89
13
35
0
-53
-54
11
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
9
-10
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-31
3
0
0
0
0
0
0
0
0
17
46
-20
-28
-71
0
0
0
-42
11
0
0
0
0
0
0
18
-12
127
70
-23
-5
0
0
0
0
0
0
0
0
0
0
0
9
-39
-27
49
35
30
15
53
-77
19
0
0
0
0
0
0
0
-12
-8
-10
-73
-52
-34
3
-42
19
1
-5
0
0
0
0
0
0
1
21
2
-51
47
23
-67
-30
-1
14
0
0
0
0
0
0
0
0
12
-61
-50
42
3
-44
12
-25
-6
-1
0
0
0
0
0
0
0
26
-39
-161
-26
70
-34
-2
142
13
0
0
0
0
0
0
0
0
1
-13
21
-3
-23
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
9
4
0
0
0
-45
-20
0
0
0
0
0
0
0
8
0
1
-14
-16
0
0
0
-55
-2
0
0
0
0
0
0
0
-10
10
4
-122
-47
105
-2
-37
-63
7
0
0
0
0
0
0
0
0
-23
-11
48
-27
121
138
41
-41
-2
0
0
0
0
0
0
0
0
63
-3
-31
-85
31
-27
20
137
0
0
0
0
0
0
0
0
0
13
-7
-18
111
-136
-62
-14
21
0
0
0
0
0
0
0
0
0
-6
-1
39
52
96
52
0
-50
0
0
0
0
0
0
0
0
0
0
-2
-23
-4
-45
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-26
3
0
0
0
0
0
0
0
0
0
-5
-3
-4
-11
83
6
23
0
0
0
0
0
0
0
0
0
0
0
-26
-22
-8
42
4
2
0
0
0
0
0
0
0
0
0
0
0
4
17
-25
8
-4
-57
0
0
0
0
0
0
0
0
0
0
18
2
-6
-27
-50
0
-15
0
0
0
0
0
0
0
0
0
0
0
-2
7
17
-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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
8
0
0
0
0
0
0
0
0
0
0
0
21
0
-2
0
24
10
0
0
0
0
0
0
0
0
0
0
0
0
7
13
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
-33
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-4
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
-4
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-42
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
5
0
5
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-18
-17
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
-31
16
-8
-1
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
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
3
0
-1
18
0
0
0
0
0
0
0
0
0
0
-9
-96
-10
-65
82
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-2
50
-137
-7
22
-39
0
0
0
0
0
0
0
0
0
0
0
0
3
24
-51
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-15
6
3
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
16
2
-2
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
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
11
1
-5
-33
-164
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
-1
11
-2
0
0
0
0
0
0
0
0
0
0
1
-17
9
82
0
139
0
0
0
0
0
0
0
0
0
0
0
5
2
-21
-3
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
119
67
18
0
-33
0
0
0
0
0
0
0
0
0
0
0
31
-1
3
-20
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
9
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-10
-3
3
53
18
6
11
0
0
0
0
0
0
0
0
0
0
0
0
-21
-43
-34
10
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-7
4
-69
-1
6
0
0
0
0
0
0
0
0
0
0
0
-12
0
-44
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-38
0
5
0
0
0
0
0
0
0
0
0
0
0
0
8
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
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
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
-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
-12
-10
4
1
-2
6
0
0
0
0
0
0
0
0
0
0
-77
94
-4
75
-1
-1
1
0
0
0
0
0
0
0
0
0
0
8
-58
29
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-3
-26
0
-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
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
126
15
3
15
15
0
0
0
0
0
0
0
0
0
0
1
-33
-5
26
-112
-18
-39
3
0
0
0
0
0
0
0
0
0
0
27
102
43
-85
-27
19
-3
-18
0
0
0
0
0
0
0
0
39
-52
72
11
13
13
-1
0
-10
0
0
0
0
0
0
0
0
0
-13
5
-3
0
-12
34
0
1
0
0
0
0
0
0
0
0
-7
-12
0
1
52
0
-2
-6
12
0
0
0
0
0
0
0
0
0
9
1
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-5
-14
-4
-6
4
0
0
0
0
0
0
0
0
0
0
-1
35
-7
21
125
61
-5
-13
0
0
0
0
0
0
0
0
3
-64
108
-96
38
15
8
34
0
0
0
0
0
0
0
0
0
0
-86
96
-15
125
-3
54
5
-1
-33
0
0
0
0
0
0
0
0
-6
-1
96
12
-20
5
-6
-1
0
0
0
0
0
0
0
0
0
11
-11
0
-22
3
0
-13
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-8
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
0
0
0
0
0
0
0
2
-17
0
0
-2
8
1
0
0
0
0
0
0
0
0
0
50
8
-7
-18
23
72
-26
0
7
0
0
0
0
0
0
0
0
-10
7
-4
-8
-12
-41
1
7
18
0
0
0
0
0
0
0
0
14
-4
33
-41
-33
7
-11
2
0
0
0
0
0
0
0
0
0
0
1
-2
8
-6
-10
2
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-1
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
0
1
-10
0
0
0
0
0
0
0
0
0
0
-4
84
-27
-25
-63
25
51
-3
7
0
0
0
0
0
0
0
0
11
-2
2
-5
15
-2
-4
63
0
0
0
0
0
0
0
0
0
-33
-1
-7
13
29
-27
-5
0
-13
0
0
0
0
0
0
0
0
47
5
-2
1
0
-8
0
-3
0
0
0
0
0
0
0
0
0
-15
13
-1
-4
1
0
-1
-9
0
0
0
0
0
0
0
0
0
-9
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-43
-30
5
0
46
4
0
0
0
0
0
0
0
0
0
19
-90
38
58
-11
-20
17
0
1
0
0
0
0
0
0
0
0
-40
51
43
-44
8
36
-18
33
1
0
0
0
0
0
0
0
0
-40
-9
-3
2
-4
1
0
19
-4
3
0
0
0
0
0
0
0
-17
-3
-69
11
4
-14
1
0
0
0
0
0
0
0
0
0
0
35
-115
12
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
45
30
-13
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
28
9
-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
-3
5
9
77
43
-16
0
1
0
0
0
0
0
0
0
0
0
0
-106
-64
-92
8
34
21
0
15
0
0
0
0
0
0
0
0
0
20
-43
24
93
-52
-14
-36
-5
0
0
0
0
0
0
0
0
41
96
15
-37
-84
22
10
-22
-10
0
0
0
0
0
0
0
0
-15
70
108
13
29
11
10
0
4
0
0
0
0
0
0
0
0
-6
-35
-75
0
8
97
0
-1
0
0
0
0
0
0
0
0
0
4
-119
13
10
18
-3
0
-10
0
0
0
0
0
0
0
0
0
-1
-13
-14
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
52
-43
201
17
-23
62
-25
0
0
0
0
0
0
0
0
0
0
-17
-30
8
17
85
-3
-22
7
2
0
0
0
0
0
0
0
0
-40
109
1
75
-3
23
22
-9
12
17
0
0
0
0
0
0
0
0
-88
-42
-17
47
-9
-21
14
1
9
0
0
0
0
0
0
0
87
77
-102
201
56
25
51
12
0
0
0
0
0
0
0
0
0
-29
76
89
7
-2
-12
0
0
0
0
0
0
0
0
0
0
0
-5
19
-22
-5
0
-10
12
0
-2
0
0
0
0
0
0
0
0
3
-60
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
-94
-43
-33
36
-58
0
0
0
0
0
0
0
0
0
0
-13
-2
81
32
-27
4
-68
-18
11
0
0
0
0
0
0
0
0
2
71
43
-92
6
-89
-8
-3
0
0
0
0
0
0
0
0
0
26
-18
24
-69
19
-35
31
39
0
-5
0
0
0
0
0
0
0
-44
24
-104
-73
-36
142
7
-1
-13
0
0
0
0
0
0
0
0
-23
1
-107
-51
22
16
0
1
0
0
0
0
0
0
0
0
0
90
58
-52
-14
22
-6
29
0
0
0
0
0
0
0
0
0
0
74
2
-50
-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
-7
83
-34
-59
16
-4
0
0
0
0
0
0
0
0
0
0
0
25
16
117
-12
-75
-9
2
-5
0
0
0
0
0
0
0
0
0
-31
-57
31
55
17
25
-2
5
0
0
0
0
0
0
0
0
0
-12
-30
28
44
42
-8
4
0
0
0
0
0
0
0
0
0
0
-5
-25
41
1
-27
-15
0
0
0
0
0
0
0
0
0
0
0
43
-1
-46
-19
0
14
0
0
0
0
0
0
0
0
0
0
0
20
-32
0
-15
3
-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
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
-17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-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
18
-10
-77
6
-3
0
14
-2
0
0
0
0
0
0
0
0
0
-20
-42
65
-25
33
-49
0
0
0
0
0
0
0
0
0
0
0
31
25
55
-28
-26
-15
0
0
0
0
0
0
0
0
0
0
0
29
-12
10
19
-2
-4
0
0
0
0
0
0
0
0
0
0
0
8
-10
-3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
-1
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
-7
94
-21
14
-143
-11
-11
-5
0
0
0
0
0
0
0
0
0
-2
-131
-22
64
-115
-35
25
-9
0
0
0
0
0
0
0
0
0
10
18
40
-39
34
8
-34
4
11
3
0
0
0
0
0
0
0
-7
-28
-68
18
14
-24
100
-2
0
0
0
0
0
0
0
0
0
0
102
-47
-59
72
-6
53
1
0
0
0
0
0
0
0
0
0
41
-9
-7
-3
5
4
0
-8
3
0
0
0
0
0
0
0
0
-5
-77
-3
-4
0
0
0
0
29
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
19
7
31
-2
-13
14
11
-30
0
-1
0
0
0
0
0
0
0
5
26
61
-21
-9
-24
-27
20
9
-1
0
0
0
0
0
0
0
0
-5
-7
91
-65
-83
-16
-44
13
-21
0
0
0
0
0
0
0
-7
104
-45
-76
-34
134
4
-12
0
-7
0
0
0
0
0
0
0
0
25
30
49
64
-15
8
-7
7
0
0
0
0
0
0
0
0
0
-10
4
-7
-4
0
13
-7
10
0
0
0
0
0
0
0
0
0
37
-3
5
-8
0
1
0
-11
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
6
2
-11
57
-57
-24
-1
15
0
0
0
0
0
0
0
0
0
-8
10
29
20
15
28
-20
-59
-1
0
0
0
0
0
0
0
0
-7
17
8
-30
-17
-16
6
-8
-4
0
0
0
0
0
0
0
0
-5
-1
-97
30
-121
44
85
0
12
0
0
0
0
0
0
0
0
1
-4
56
25
2
-4
0
0
-2
0
0
0
0
0
0
0
0
9
6
-1
11
-28
-7
4
8
0
0
0
0
0
0
0
0
0
1
-4
-15
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
10
35
88
13
-22
8
156
20
0
0
0
0
0
0
0
0
0
-28
-33
-26
-16
19
56
157
-3
17
0
0
0
0
0
0
0
0
16
38
-49
46
-47
7
28
-60
7
0
0
0
0
0
0
0
0
30
-49
-31
19
-13
14
-3
4
-1
0
0
0
0
0
0
0
0
-13
-26
3
15
13
-16
4
0
-2
-5
0
0
0
0
0
0
0
-82
-11
-90
7
-6
7
2
0
5
0
0
0
0
0
0
0
0
12
-35
-11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
87
112
63
-48
14
13
-10
0
0
0
0
0
0
0
0
0
63
-4
59
-74
40
55
-28
1
-62
0
0
0
0
0
0
0
0
17
97
70
50
78
40
-12
-12
1
0
0
0
0
0
0
0
0
61
169
60
52
10
-3
27
-5
1
0
0
0
0
0
0
0
0
29
46
16
39
-62
11
10
7
0
0
0
0
0
0
0
0
0
-4
47
28
14
-1
-3
-2
3
-6
0
0
0
0
0
0
0
0
-43
-101
23
-10
-16
3
0
0
0
0
0
0
0
0
0
0
0
-9
13
-4
0
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
50
12
128
133
-5
28
22
20
0
-1
0
0
0
0
0
0
0
-51
63
58
30
-73
64
14
51
7
20
0
0
0
0
0
0
0
3
-43
20
-9
19
52
-47
20
-56
-2
0
0
0
0
0
0
0
-53
14
32
47
66
-104
52
-21
0
0
0
0
0
0
0
0
0
-11
-48
-29
23
23
59
-5
-5
31
0
0
0
0
0
0
0
0
65
39
-52
-19
5
39
-5
50
1
0
0
0
0
0
0
0
0
-10
4
34
-21
13
-7
-2
9
-2
0
0
0
0
0
0
0
0
0
76
-6
-2
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
150
-103
151
14
-21
38
-25
-4
0
0
0
0
0
0
0
0
0
18
-50
67
103
141
64
-8
-7
66
0
0
0
0
0
0
0
0
186
80
21
125
47
10
49
40
52
-3
0
0
0
0
0
0
0
-32
-20
-61
39
17
88
19
40
-81
-14
0
0
0
0
0
0
0
105
19
80
27
1
-16
98
7
-1
-12
0
0
0
0
0
0
0
-4
-30
29
-16
89
26
-16
-12
4
0
0
0
0
0
0
0
0
105
50
-46
20
-50
-12
-1
17
-2
0
0
0
0
0
0
0
0
7
-83
4
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
18
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
19
-47
82
18
125
161
81
0
0
0
0
0
0
0
0
0
-41
-111
-61
93
31
64
-22
57
2
-1
0
0
0
0
0
0
0
-41
-9
-32
59
-67
33
3
-40
97
47
0
0
0
0
0
0
0
90
-20
-5
-41
-18
-79
89
107
-3
18
0
0
0
0
0
0
0
-70
53
-23
-60
-82
104
-23
9
16
-2
0
0
0
0
0
0
0
2
-6
39
-50
89
32
27
-1
10
-5
0
0
0
0
0
0
0
15
-16
-40
-18
-98
4
-14
12
9
0
0
0
0
0
0
0
0
4
-173
117
106
13
-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
-5
-8
2
14
61
128
116
0
1
0
0
0
0
0
0
0
0
63
124
-52
54
-79
-44
-79
77
0
-1
0
0
0
0
0
0
0
13
11
104
43
11
-125
139
127
14
0
0
0
0
0
0
0
0
-27
-59
-108
28
17
-26
-9
15
-1
0
0
0
0
0
0
0
0
51
-10
46
3
113
7
-17
15
2
0
0
0
0
0
0
0
0
-21
-11
58
-18
130
86
-11
-2
0
0
0
0
0
0
0
0
0
-17
70
49
0
20
17
5
2
0
0
0
0
0
0
0
0
0
-5
-36
-23
-35
4
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
-54
-69
49
12
56
-19
0
10
0
0
0
0
0
0
0
0
0
50
83
-13
31
-43
-77
-5
-4
0
0
0
0
0
0
0
0
0
33
42
1
11
-25
24
60
6
0
0
0
0
0
0
0
0
0
37
102
-6
132
37
41
17
0
0
0
0
0
0
0
0
0
0
69
-46
112
-33
6
5
-4
7
0
0
0
0
0
0
0
0
0
-10
8
4
-48
-78
-10
0
1
0
0
0
0
0
0
0
0
0
-27
-1
16
6
-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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
11
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
78
85
22
-111
7
0
0
0
0
0
0
0
0
0
0
0
0
-28
19
-22
24
0
-13
0
0
0
0
0
0
0
0
0
0
0
-41
-3
-5
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-10
-4
-9
-7
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
-5
7
-14
0
0
0
0
0
0
0
0
0
71
15
37
24
3
49
2
-6
0
0
0
0
0
0
0
0
0
0
46
1
3
21
9
0
-3
0
0
0
0
0
0
0
0
0
-42
101
1
-14
22
-7
7
-6
0
0
0
0
0
0
0
0
0
-24
4
-7
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-45
0
10
-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
16
9
34
-25
96
15
8
-16
0
0
0
0
0
0
0
0
0
12
43
86
-28
-16
-29
29
58
-3
0
0
0
0
0
0
0
0
-66
35
37
154
54
7
-64
-18
3
0
0
0
0
0
0
0
0
-5
0
-18
-79
58
-65
-37
-33
0
0
0
0
0
0
0
0
0
10
-34
83
28
-12
-2
-56
3
5
0
0
0
0
0
0
0
0
3
-21
66
22
8
-4
-3
7
2
0
0
0
0
0
0
0
0
0
168
13
11
-11
0
0
5
13
0
0
0
0
0
0
0
0
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
-40
-56
-81
30
-36
20
0
0
0
0
0
0
0
0
0
0
0
2
-34
126
34
41
-17
67
0
0
0
0
0
0
0
0
0
0
105
-1
9
-10
-70
12
76
0
-2
0
0
0
0
0
0
0
0
-43
118
-19
-53
56
-16
2
20
-2
0
0
0
0
0
0
0
0
-79
28
-38
15
-1
0
-10
-10
0
0
0
0
0
0
0
0
0
-40
54
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
23
-12
0
0
0
-6
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
0
0
0
0
0
-2
8
47
10
44
-6
8
-3
0
0
0
0
0
0
0
0
0
50
5
43
29
-3
-38
17
-7
20
0
-2
0
0
0
0
0
0
49
-5
-9
3
-9
21
13
0
-3
-3
0
0
0
0
0
0
0
14
-4
15
-22
34
45
14
2
0
0
0
0
0
0
0
0
0
7
-22
6
-27
16
-26
-5
0
-1
-4
0
0
0
0
0
0
0
-3
-8
-4
45
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
0
3
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-36
2
34
36
59
-6
-17
0
0
0
0
0
0
0
0
0
88
-84
23
-10
51
-43
8
-16
0
0
0
0
0
0
0
0
0
-12
-12
-1
50
-9
44
-54
-2
-1
0
0
0
0
0
0
0
0
-27
55
5
-15
-57
2
-40
15
-7
-4
0
0
0
0
0
0
0
-59
17
-4
25
-18
7
0
0
0
0
0
0
0
0
0
0
0
-65
20
-15
36
-1
-8
4
-4
8
0
0
0
0
0
0
0
0
-62
20
13
40
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
-3
42
-2
-67
-39
-71
22
74
0
0
0
0
0
0
0
0
0
22
-21
96
-3
-85
95
82
119
-9
0
0
0
0
0
0
0
0
-14
78
137
23
-28
4
69
9
-1
0
0
0
0
0
0
0
0
119
-42
-11
41
-85
-59
3
30
5
0
0
0
0
0
0
0
0
-12
-64
30
-129
-5
75
15
-1
0
0
0
0
0
0
0
0
0
-69
41
72
-23
37
0
0
-16
0
0
0
0
0
0
0
0
0
146
-13
59
42
3
-3
3
0
0
0
0
0
0
0
0
0
0
17
17
1
-8
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
17
46
-68
19
-4
-50
-2
0
0
0
0
0
0
0
0
0
-51
-26
73
50
-19
34
-63
-9
-3
-3
0
0
0
0
0
0
0
-81
-1
-3
-96
-2
-80
4
69
-14
0
0
0
0
0
0
0
0
57
99
93
12
30
0
21
36
15
5
0
0
0
0
0
0
0
-20
-44
-20
139
3
-17
98
12
1
3
0
0
0
0
0
0
0
-9
45
67
-4
38
55
-28
18
0
0
0
0
0
0
0
0
0
-61
38
56
-7
22
-15
5
0
0
0
0
0
0
0
0
0
0
-15
76
32
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-55
-35
23
117
60
116
-80
0
0
0
0
0
0
0
0
0
30
-19
47
-15
25
-110
106
75
18
-21
0
0
0
0
0
0
0
-51
-61
59
129
60
55
20
0
-4
0
0
0
0
0
0
0
0
73
85
42
15
68
49
44
-45
3
-2
0
0
0
0
0
0
0
73
-12
-74
10
125
-42
14
36
15
0
0
0
0
0
0
0
0
-28
-3
-47
11
78
-73
73
-5
-17
3
0
0
0
0
0
0
0
-30
-27
74
-26
-20
-10
-18
3
0
0
0
0
0
0
0
0
0
-43
-31
56
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
153
43
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-51
112
-1
10
-10
-56
-98
0
0
0
0
0
0
0
0
0
34
-17
17
23
58
76
-16
-20
-24
17
0
0
0
0
0
0
0
75
85
149
-60
79
13
-21
11
1
-19
0
0
0
0
0
0
0
-3
146
-85
-12
6
-15
113
46
34
0
0
0
0
0
0
0
0
-37
-24
-12
2
-21
130
-55
-4
17
-18
0
0
0
0
0
0
0
122
33
187
-55
39
-66
-54
-44
0
3
0
0
0
0
0
0
0
-51
39
147
-55
-94
-38
-32
-23
-8
7
0
0
0
0
0
0
0
19
38
14
21
25
-18
-1
2
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
-9
-49
7
-60
88
116
-110
0
12
0
0
0
0
0
0
0
0
25
-13
-100
-22
76
-15
23
-6
3
3
0
0
0
0
0
0
0
-48
-111
130
-115
-8
-41
-40
-25
-3
0
0
0
0
0
0
0
0
16
72
1
-4
42
65
-65
-13
2
0
0
0
0
0
0
0
0
74
22
54
79
10
4
-35
17
23
0
0
0
0
0
0
0
0
8
-10
40
2
-52
182
24
16
-9
0
0
0
0
0
0
0
0
-9
-69
-55
47
0
18
3
-2
7
0
0
0
0
0
0
0
0
5
54
49
-12
-1
15
-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
224
7
-29
54
-55
2
0
0
0
0
0
0
0
0
0
0
0
-38
-38
46
18
-25
54
7
0
5
0
0
0
0
0
0
0
0
84
70
56
90
15
25
22
-4
0
0
0
0
0
0
0
0
0
-32
109
111
-29
41
-51
-4
17
0
0
0
0
0
0
0
0
0
-41
49
-33
24
-40
0
-1
0
0
0
0
0
0
0
0
0
0
-28
5
-97
1
5
0
-7
0
0
0
0
0
0
0
0
0
0
45
10
0
6
-1
0
0
2
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
-7
3
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
26
-9
7
-37
19
3
0
0
0
0
0
0
0
0
0
0
0
-7
5
-71
-3
21
-2
-3
0
0
0
0
0
0
0
0
0
0
7
-5
71
-5
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
2
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
3
-4
0
0
0
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
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
8
-5
10
-1
0
-5
0
0
0
0
0
0
0
0
0
17
15
9
0
-4
-11
17
-53
0
0
0
0
0
0
0
0
0
25
52
-20
-10
78
-21
-6
5
0
0
0
0
0
0
0
0
0
0
11
27
-4
-9
0
0
-6
0
0
0
0
0
0
0
0
0
-157
-39
20
-4
2
-7
-19
-1
0
0
0
0
0
0
0
0
0
-9
28
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
1
24
-1
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
-5
27
-71
-22
-38
-16
-49
-1
0
0
0
0
0
0
0
0
0
-7
-26
-38
72
-2
-71
67
88
-15
0
0
0
0
0
0
0
0
133
-77
-10
-25
-37
-82
-37
74
-1
0
0
0
0
0
0
0
0
-25
-14
39
68
-50
-1
10
63
-4
0
0
0
0
0
0
0
0
-3
-204
-179
-8
72
-74
3
-2
-17
-18
0
0
0
0
0
0
0
2
54
33
16
101
90
-2
-4
-3
0
0
0
0
0
0
0
0
5
70
4
-43
-1
7
49
0
-1
0
0
0
0
0
0
0
0
0
6
0
-26
0
0
0
0
0
0
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
15
-40
26
37
-17
-5
0
0
0
0
0
0
0
0
0
0
-34
29
26
89
0
-47
13
-13
0
0
0
0
0
0
0
0
0
-3
-70
-16
-5
-72
-10
11
-6
0
0
0
0
0
0
0
0
0
-170
-2
-29
103
10
-71
-3
0
-11
0
0
0
0
0
0
0
0
-18
-34
101
51
-46
-26
0
-10
0
0
0
0
0
0
0
0
0
44
-41
-3
37
81
5
-13
0
0
0
0
0
0
0
0
0
0
117
61
9
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
26
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
5
49
20
27
-5
18
-3
0
0
0
0
0
0
0
0
0
-5
2
-34
4
20
13
29
2
0
0
0
0
0
0
0
0
0
23
-7
-4
59
11
42
39
-18
-5
0
0
0
0
0
0
0
0
106
-37
7
0
27
-44
123
0
-7
0
0
0
0
0
0
0
0
65
-13
-16
6
25
-11
5
-17
-2
0
0
0
0
0
0
0
0
4
3
-28
-11
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-2
-14
0
9
3
-6
0
0
0
0
0
0
0
0
0
-10
-87
57
-29
41
-28
21
12
-9
0
0
0
0
0
0
0
0
-5
-48
-25
19
1
-28
-44
-8
1
0
0
0
0
0
0
0
0
-82
108
67
-100
10
54
-13
3
-1
0
0
0
0
0
0
0
0
-35
80
-22
16
8
1
0
0
0
9
0
0
0
0
0
0
0
2
10
-6
-9
6
25
0
0
0
0
0
0
0
0
0
0
0
-8
-40
-3
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
9
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
4
34
123
-101
-83
-109
69
14
0
0
0
0
0
0
0
0
0
76
71
52
-65
78
-37
68
-19
-40
0
0
0
0
0
0
0
0
-70
-27
24
-135
-9
-12
-106
-13
3
0
0
0
0
0
0
0
0
86
61
107
-21
15
-2
-24
22
17
0
0
0
0
0
0
0
0
-48
22
-68
-63
156
41
45
12
43
-2
0
0
0
0
0
0
0
69
-94
76
31
26
-32
-1
0
0
0
0
0
0
0
0
0
0
10
6
-62
-24
-4
1
-1
-8
0
0
0
0
0
0
0
0
0
50
151
-19
9
0
12
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
73
24
-10
-46
-20
-30
-35
0
0
0
0
0
0
0
0
0
-32
83
-144
-95
67
-33
-23
21
1
0
0
0
0
0
0
0
0
-10
85
99
50
8
-47
33
-65
80
-3
0
0
0
0
0
0
0
94
73
90
99
89
33
4
-21
-11
0
0
0
0
0
0
0
0
32
76
84
68
99
4
16
16
19
-1
0
0
0
0
0
0
0
-27
-14
34
5
48
37
-65
-11
0
0
0
0
0
0
0
0
0
3
86
-88
30
-8
49
9
-6
11
0
0
0
0
0
0
0
0
81
18
134
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
121
42
9
-33
121
7
8
0
0
0
0
0
0
0
0
0
-26
64
-15
-93
-49
-8
-96
-10
11
0
0
0
0
0
0
0
0
85
89
59
-19
43
33
-86
43
18
6
0
0
0
0
0
0
0
58
152
-32
129
-21
14
57
3
1
0
0
0
0
0
0
0
0
157
-12
68
-96
-20
-44
122
-19
-13
0
0
0
0
0
0
0
0
-19
64
21
11
13
-2
53
0
0
0
0
0
0
0
0
0
0
2
7
-29
-9
-17
19
-5
0
-21
0
0
0
0
0
0
0
0
17
48
32
6
2
0
0
0
0
0
0
0
0
0
0
0
0
51
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-148
36
51
-134
-2
61
-160
-25
0
0
0
0
0
0
0
0
0
61
-38
-6
36
64
88
23
87
-63
-10
0
0
0
0
0
0
0
-15
47
85
19
22
141
-21
-85
-14
-5
0
0
0
0
0
0
0
109
-44
51
-15
-55
125
76
-75
0
-3
0
0
0
0
0
0
0
-52
39
-23
32
38
-81
-11
-6
34
0
0
0
0
0
0
0
0
5
-3
-25
-72
-87
70
2
30
0
0
0
0
0
0
0
0
0
92
43
-2
61
-14
-68
32
13
20
2
0
0
0
0
0
0
0
-2
83
32
-103
39
-1
-10
3
5
0
0
0
0
0
0
0
0
60
-36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-7
24
-109
95
-122
-20
0
0
0
0
0
0
0
0
0
0
47
116
90
-16
-1
147
-38
25
0
0
0
0
0
0
0
0
0
3
2
56
1
3
-3
114
-21
-2
0
0
0
0
0
0
0
0
-1
106
-12
21
13
25
40
42
0
0
0
0
0
0
0
0
0
-34
1
-49
173
63
6
17
-137
-4
0
0
0
0
0
0
0
0
-58
-116
127
-152
73
68
16
-100
0
0
0
0
0
0
0
0
0
-114
128
3
31
-75
-5
2
-1
0
0
0
0
0
0
0
0
0
9
81
-54
-17
-36
-11
0
13
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
10
-78
8
-29
-16
0
0
0
0
0
0
0
0
0
0
0
-7
50
146
11
21
-26
0
0
-5
0
0
0
0
0
0
0
0
58
38
-10
-41
-10
31
9
-3
0
0
0
0
0
0
0
0
0
-20
-4
42
21
9
-12
-5
0
0
0
0
0
0
0
0
0
0
-22
-4
47
-39
-52
1
0
0
0
0
0
0
0
0
0
0
0
-11
1
47
1
6
-2
0
0
0
0
0
0
0
0
0
0
0
-42
-5
1
1
35
1
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
-5
0
-8
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
-14
-49
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
8
0
11
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
10
-19
6
-1
10
-6
-14
0
0
0
0
0
0
0
0
0
0
16
25
-31
-12
-7
31
24
0
0
0
0
0
0
0
0
0
0
-24
60
29
-16
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
58
-36
-17
-4
0
-9
-2
0
0
0
0
0
0
0
0
0
-31
-19
-32
151
9
0
0
0
0
0
0
0
0
0
0
0
0
12
18
11
-3
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
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
7
22
-51
27
49
0
0
0
0
0
0
0
0
0
-14
5
-91
-65
28
46
18
-5
-14
-1
0
0
0
0
0
0
0
-7
61
53
-189
5
44
-20
35
19
0
0
0
0
0
0
0
0
-2
161
48
-28
48
56
126
34
-6
0
0
0
0
0
0
0
0
14
0
-30
-27
41
28
63
-15
25
0
0
0
0
0
0
0
0
0
-49
53
-49
56
70
-6
0
-1
0
0
0
0
0
0
0
0
3
-67
9
7
-18
-4
-2
3
-2
0
0
0
0
0
0
0
0
0
-18
15
-38
0
-10
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
-7
-32
-15
20
-50
4
-16
0
0
0
0
0
0
0
0
0
8
-16
21
-22
-46
-51
-38
-37
7
0
0
0
0
0
0
0
0
0
8
-53
26
42
44
-52
-16
0
0
0
0
0
0
0
0
0
0
-71
-6
-65
49
16
-27
-9
0
0
0
0
0
0
0
0
0
0
32
0
-3
244
-19
6
-3
0
0
0
0
0
0
0
0
0
0
-7
45
-12
-5
22
0
0
14
0
0
0
0
0
0
0
0
0
-37
-44
-40
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-45
57
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
14
2
3
3
-2
8
13
1
0
0
0
0
0
0
0
0
0
5
-22
-96
87
-18
74
91
10
0
0
0
0
0
0
0
0
0
9
16
39
1
-84
7
14
-6
0
0
0
0
0
0
0
0
0
-17
21
17
-25
-71
-15
-6
-10
5
0
0
0
0
0
0
0
0
-13
-8
12
0
-2
-29
27
2
0
0
0
0
0
0
0
0
0
-7
1
3
31
1
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
9
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
26
-50
-55
-14
17
30
1
0
0
0
0
0
0
0
0
0
20
14
-13
-30
42
85
-33
4
-7
0
0
0
0
0
0
0
0
31
42
-90
51
119
-1
3
-3
22
1
0
0
0
0
0
0
0
-118
-28
44
163
-31
5
-16
18
1
0
0
0
0
0
0
0
0
18
-20
36
-76
0
10
8
-5
0
0
0
0
0
0
0
0
0
-75
62
-17
-113
40
0
0
-2
-6
0
0
0
0
0
0
0
0
12
-92
-33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
35
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
0
0
0
55
37
-85
7
73
43
-7
11
0
0
0
0
0
0
0
0
0
85
97
73
81
15
-46
-56
17
-1
0
0
0
0
0
0
0
0
79
-7
-23
-21
-36
27
20
-19
-1
0
0
0
0
0
0
0
0
3
136
11
-20
26
-2
-32
6
3
0
0
0
0
0
0
0
0
-153
210
84
19
-136
0
-18
-1
2
0
0
0
0
0
0
0
0
25
45
67
-74
12
12
20
-8
0
0
0
0
0
0
0
0
0
93
-8
-12
90
-9
3
-45
3
0
0
0
0
0
0
0
0
0
-3
160
-8
-10
-7
0
0
-5
0
0
0
0
0
0
0
0
0
70
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-51
-8
4
46
-8
-70
-9
0
0
0
0
0
0
0
0
0
67
28
-41
110
41
105
0
-17
28
0
0
0
0
0
0
0
0
42
-42
-47
31
123
52
31
-49
53
0
0
0
0
0
0
0
0
-14
66
98
75
-68
-55
-14
-4
4
1
0
0
0
0
0
0
0
-17
20
31
108
134
64
0
42
9
0
0
0
0
0
0
0
0
33
91
75
-106
25
9
-16
-3
-26
0
0
0
0
0
0
0
0
-17
-60
-79
135
2
-22
9
5
0
0
0
0
0
0
0
0
0
-29
-10
-15
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
78
38
-24
96
84
-78
32
0
8
0
0
0
0
0
0
0
220
-42
129
81
112
3
4
6
-19
0
0
0
0
0
0
0
0
1
-74
102
29
-25
-71
-18
91
60
-8
0
0
0
0
0
0
0
57
56
-41
115
-70
14
28
19
-17
0
0
0
0
0
0
0
0
-13
78
98
5
98
56
25
0
0
0
0
0
0
0
0
0
0
112
-7
142
-8
-55
-4
-28
5
0
-7
0
0
0
0
0
0
0
-36
26
18
-3
-91
29
-2
0
0
0
0
0
0
0
0
0
0
-14
75
-21
68
18
-2
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
-48
65
-23
41
17
184
-65
15
0
0
0
0
0
0
0
0
0
28
60
75
42
51
61
-1
-1
55
0
0
0
0
0
0
0
0
39
61
118
-33
-85
-30
-32
-72
7
45
0
0
0
0
0
0
0
-12
-36
137
94
-64
-38
-44
28
46
1
0
0
0
0
0
0
0
23
31
-30
132
34
127
-16
-11
0
2
0
0
0
0
0
0
0
-14
78
22
3
77
52
-21
23
56
0
0
0
0
0
0
0
0
61
69
24
-84
14
22
-41
-27
-3
0
0
0
0
0
0
0
0
7
118
-49
-48
4
-12
55
0
14
0
0
0
0
0
0
0
0
48
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
11
53
-95
92
63
-101
0
0
0
0
0
0
0
0
0
0
91
27
106
63
-44
4
90
-82
-2
2
0
0
0
0
0
0
0
-31
65
17
5
73
-56
-88
14
2
0
0
0
0
0
0
0
0
32
38
87
118
1
75
60
4
20
0
0
0
0
0
0
0
0
-140
7
138
110
-23
103
41
-6
0
0
0
0
0
0
0
0
0
-3
-3
-46
51
29
4
110
2
10
0
0
0
0
0
0
0
0
-41
-10
119
29
-28
64
24
-34
0
0
0
0
0
0
0
0
0
49
-70
58
22
-7
-1
14
11
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
-26
28
-128
65
-3
0
0
0
0
0
0
0
0
0
0
0
26
77
84
35
29
-45
-4
0
0
0
0
0
0
0
0
0
0
30
27
-31
28
-16
4
-34
0
0
0
0
0
0
0
0
0
0
61
5
-8
-16
-11
19
5
7
0
0
0
0
0
0
0
0
0
-102
92
-4
-3
22
-26
3
-10
0
0
0
0
0
0
0
0
0
-3
39
45
-18
0
0
-9
-2
0
0
0
0
0
0
0
0
0
10
16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
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
2
-40
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
-45
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-16
-5
5
-3
0
0
0
0
0
0
0
0
0
0
0
6
10
-45
0
0
0
0
0
0
0
0
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
2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
6
8
0
0
0
0
0
0
0
0
0
11
-11
0
1
0
13
2
-10
0
0
0
0
0
0
0
0
0
15
19
5
3
5
-36
40
-37
4
0
0
0
0
0
0
0
0
63
-7
1
-3
6
6
-6
-5
0
0
0
0
0
0
0
0
0
0
39
115
14
-15
1
3
0
0
0
0
0
0
0
0
0
0
0
39
56
0
12
-2
0
0
0
0
0
0
0
0
0
0
0
44
-2
-23
-38
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
-18
31
17
49
-5
0
0
0
0
0
0
0
0
0
0
-37
-30
-22
68
12
59
50
-2
0
0
0
0
0
0
0
0
-13
-51
-7
64
63
-83
10
-23
-7
0
0
0
0
0
0
0
0
78
-9
28
78
53
82
-58
-20
17
0
0
0
0
0
0
0
0
-8
52
-71
-31
-19
-90
-60
-4
-4
0
0
0
0
0
0
0
0
-1
0
-84
-6
47
80
4
0
9
0
0
0
0
0
0
0
0
0
33
79
-78
-62
3
0
0
-4
0
0
0
0
0
0
0
0
-10
-31
145
7
-8
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
0
0
33
19
-2
0
1
-11
5
0
0
0
0
0
0
0
0
0
0
-3
51
-5
-11
-21
5
-8
50
-1
0
0
0
0
0
0
0
0
-41
-15
6
-3
46
-16
55
1
3
0
0
0
0
0
0
0
24
-15
-31
84
-49
113
-141
80
-14
0
0
0
0
0
0
0
0
0
66
68
55
-29
-9
5
1
1
0
0
0
0
0
0
0
0
0
14
0
96
-63
-7
25
-1
0
0
0
0
0
0
0
0
0
0
0
-62
37
21
69
2
0
-1
0
0
0
0
0
0
0
0
-9
65
-1
128
-10
-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
7
-2
0
-28
9
1
8
27
0
0
0
0
0
0
0
0
0
-52
1
95
25
147
-35
-4
-22
0
0
2
0
0
0
0
0
0
2
-21
-41
2
1
-14
-8
-6
6
-2
0
0
0
0
0
0
0
3
0
38
0
-41
-55
68
-8
0
0
0
0
0
0
0
0
0
0
26
-4
-29
30
-20
11
8
-1
0
0
0
0
0
0
0
0
1
-14
-45
0
22
-44
-4
0
0
0
0
0
0
0
0
0
0
-46
-14
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
116
7
-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
1
11
4
-13
3
51
17
-21
0
0
0
0
0
0
0
0
0
5
-13
-44
-53
68
51
-102
22
3
0
0
0
0
0
0
0
0
48
-83
-18
61
-47
-37
26
-17
1
-13
0
0
0
0
0
0
0
9
39
6
13
11
-35
-61
-47
4
-2
0
0
0
0
0
0
0
0
2
9
86
116
-23
31
-4
7
0
0
0
0
0
0
0
0
21
2
99
19
0
-7
-7
12
0
0
0
0
0
0
0
0
0
15
-68
32
-4
23
2
14
0
0
0
0
0
0
0
0
0
0
12
10
-1
3
-7
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
121
44
112
7
-12
-3
59
-4
0
0
0
0
0
0
0
0
0
-57
-38
-4
-7
-29
25
-90
-52
-8
0
0
0
0
0
0
0
0
33
128
36
-27
67
138
24
3
1
0
0
0
0
0
0
0
0
1
-62
7
-14
43
-33
-49
0
-8
0
0
0
0
0
0
0
0
-3
13
41
76
-46
47
24
-5
-4
0
0
0
0
0
0
0
0
-13
67
101
23
26
0
-3
-4
8
0
0
0
0
0
0
0
0
-128
-9
20
71
6
-2
-3
-4
0
0
0
0
0
0
0
0
0
-14
-75
41
0
0
-6
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
40
113
7
140
37
-92
22
-53
0
0
0
0
0
0
0
0
0
55
6
42
36
-34
75
37
58
13
0
0
0
0
0
0
0
0
130
13
37
-21
-42
-43
2
60
-10
0
0
0
0
0
0
0
0
40
15
79
139
-32
-37
2
-27
-1
14
0
0
0
0
0
0
0
43
88
175
93
-17
6
-32
46
1
0
0
0
0
0
0
0
0
11
16
20
-37
39
69
0
0
16
0
0
0
0
0
0
0
0
17
46
-39
57
56
13
-23
3
1
0
0
0
0
0
0
0
0
-6
7
3
-55
13
18
2
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
0
0
-31
35
12
107
24
-39
88
4
0
0
0
0
0
0
0
0
0
27
14
124
43
42
37
58
97
-9
0
0
0
0
0
0
0
0
82
23
76
-23
-16
-91
33
32
-25
0
0
0
0
0
0
0
0
-14
100
170
44
89
65
94
26
-17
0
0
0
0
0
0
0
0
201
27
-19
-66
121
-48
-91
-12
-4
0
0
0
0
0
0
0
0
126
38
42
7
48
35
-20
0
7
0
0
0
0
0
0
0
0
-47
-43
85
34
167
5
-14
2
0
2
0
0
0
0
0
0
0
-7
24
70
63
0
-2
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
0
73
2
28
59
15
20
-16
-152
0
0
0
0
0
0
0
0
0
42
14
73
7
4
0
-48
-86
-37
-1
0
0
0
0
0
0
0
-32
-9
3
106
74
14
-39
-4
4
0
0
0
0
0
0
0
0
45
132
102
135
58
37
26
74
-23
-14
0
0
0
0
0
0
0
-17
-44
79
39
-14
67
-7
53
-5
62
0
0
0
0
0
0
0
15
89
120
-24
54
-29
-6
23
0
-4
0
0
0
0
0
0
0
66
-48
17
-55
-7
-15
98
-31
18
0
0
0
0
0
0
0
0
-45
28
-70
13
8
18
17
-2
0
0
0
0
0
0
0
0
0
84
16
20
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
87
13
0
-22
-90
50
0
0
0
0
0
0
0
0
0
0
104
80
-5
33
74
-109
13
17
-4
-1
0
0
0
0
0
0
0
-10
56
5
30
-44
88
20
118
37
0
0
0
0
0
0
0
0
119
20
-83
52
-85
46
5
0
12
-2
0
0
0
0
0
0
0
77
-45
21
60
108
20
-22
8
2
-3
0
0
0
0
0
0
0
27
-50
93
9
-42
34
11
22
0
0
0
0
0
0
0
0
0
77
18
31
5
22
-1
-29
-27
1
0
0
0
0
0
0
0
0
186
-11
100
6
-1
2
-9
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
17
-28
-13
47
23
147
0
0
0
0
0
0
0
0
0
0
0
-28
42
6
38
13
-112
-1
0
0
0
0
0
0
0
0
0
0
-39
66
55
12
49
10
4
-15
0
0
0
0
0
0
0
0
0
-50
0
1
54
40
-12
-8
0
0
0
0
0
0
0
0
0
0
55
23
-4
29
28
2
4
0
0
0
0
0
0
0
0
0
0
31
73
-19
-16
17
-27
-7
0
0
0
0
0
0
0
0
0
0
-2
64
-52
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-70
58
-3
0
0
0
0
0
0
0
0
0
0
0
0
18
-22
43
22
13
0
0
0
0
0
0
0
0
0
0
0
0
15
31
45
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-5
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
7
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
14
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-18
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
24
0
0
0
25
8
0
0
0
0
0
0
0
0
0
0
0
28
-9
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
81
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
64
-8
10
-16
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
14
-18
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
34
99
14
23
-2
-51
-94
21
0
0
0
0
0
0
0
0
2
-33
32
1
10
36
13
30
0
0
0
0
0
0
0
0
0
18
26
-12
48
89
20
-9
17
-8
0
0
0
0
0
0
0
0
-8
-16
3
8
-74
65
9
10
0
0
0
0
0
0
0
0
0
-23
76
-36
-12
108
42
10
-3
0
0
0
0
0
0
0
0
0
12
0
-42
46
-2
-15
-12
0
1
0
0
0
0
0
0
0
0
0
24
24
36
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
0
0
0
-3
0
0
1
28
-4
0
0
0
0
0
0
0
0
0
0
22
36
9
-14
1
-59
-4
11
0
0
0
0
0
0
0
0
0
103
-2
23
7
33
75
-10
11
0
0
0
0
0
0
0
0
0
71
-52
-49
94
-56
-13
-24
0
0
0
0
0
0
0
0
0
0
74
156
3
-19
-23
75
-11
-7
0
0
0
0
0
0
0
0
0
-5
106
109
-83
-24
0
2
0
0
0
0
0
0
0
0
0
0
-20
0
4
22
53
0
0
3
-3
0
0
0
0
0
0
0
0
-4
43
47
-1
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
-2
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
-3
9
-48
10
0
0
41
-1
0
0
0
0
0
0
0
0
0
16
0
19
-1
5
0
1
1
1
0
0
0
0
0
0
0
0
0
20
-8
5
3
19
-5
13
0
0
0
0
0
0
0
0
0
0
0
4
-68
-75
-4
12
-3
0
0
0
0
0
0
0
0
0
0
-37
7
12
3
15
-20
5
0
0
0
0
0
0
0
0
0
2
41
43
0
29
11
8
0
0
0
0
0
0
0
0
0
0
5
12
0
-25
8
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
0
-3
-17
0
-35
-2
22
32
0
0
0
0
0
0
0
0
0
0
-9
162
169
-38
6
-78
-17
-14
-1
0
0
0
0
0
0
0
0
-1
-2
43
-23
6
-52
16
2
3
-2
0
0
0
0
0
0
0
0
-24
-4
-36
9
3
-24
3
0
0
0
0
0
0
0
0
0
0
1
50
-5
16
3
-5
7
4
0
0
0
0
0
0
0
0
0
78
-55
18
-31
27
7
-11
2
0
0
0
0
0
0
0
0
-4
18
25
-17
0
0
-15
0
0
0
0
0
0
0
0
0
0
1
-15
-27
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
-9
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-29
74
-3
73
10
6
0
0
0
0
0
0
0
0
0
-76
29
9
84
4
5
-62
53
0
0
0
0
0
0
0
0
0
69
-64
-33
72
-58
84
-37
-30
-4
0
0
0
0
0
0
0
0
-16
-27
-45
-14
-15
8
-9
17
-1
0
0
0
0
0
0
0
0
-1
71
23
-8
-61
46
35
10
-13
0
0
0
0
0
0
0
0
17
31
8
36
3
29
5
-15
-1
0
0
0
0
0
0
0
0
-56
112
-5
24
-22
0
0
0
4
0
0
0
0
0
0
0
0
143
9
109
-40
-4
0
0
28
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
-2
120
-12
1
-154
62
16
-8
0
0
0
0
0
0
0
0
0
-42
-83
-53
78
79
-34
54
79
6
0
0
0
0
0
0
0
0
53
-74
-24
-6
-7
-57
14
10
-8
4
0
0
0
0
0
0
0
16
-73
-30
-2
42
3
-6
3
12
0
0
0
0
0
0
0
0
0
-46
25
73
124
90
0
40
14
0
0
0
0
0
0
0
0
11
-80
-84
31
13
30
20
62
-23
54
0
0
0
0
0
0
0
23
113
56
97
2
-78
0
-21
-2
0
0
0
0
0
0
0
0
66
-132
-38
98
-3
-17
-2
0
-4
0
0
0
0
0
0
0
0
-21
13
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
12
44
13
85
-24
34
-4
0
0
0
0
0
0
0
0
0
22
38
53
76
114
30
41
-29
-34
0
0
0
0
0
0
0
0
-14
27
80
28
35
112
12
-2
0
2
0
0
0
0
0
0
0
-53
175
83
59
103
-23
93
13
2
0
0
0
0
0
0
0
0
3
30
46
163
28
131
-82
-2
-4
0
0
0
0
0
0
0
0
-10
18
94
6
9
-2
-50
50
-7
0
0
0
0
0
0
0
0
-28
-47
-10
76
86
-14
38
0
0
0
0
0
0
0
0
0
0
15
-40
12
72
40
4
3
-3
0
0
0
0
0
0
0
0
0
31
37
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
31
56
103
9
42
-11
-13
0
0
0
0
0
0
0
0
0
47
72
33
10
52
-45
-35
129
-46
56
0
0
0
0
0
0
0
64
139
100
79
7
18
31
55
8
7
0
0
0
0
0
0
0
3
45
111
-84
155
173
83
-3
59
15
0
0
0
0
0
0
0
-7
12
27
93
-31
66
45
-33
-8
8
0
0
0
0
0
0
0
6
-9
25
190
-14
66
62
45
-61
11
0
0
0
0
0
0
0
-17
-3
83
114
31
16
53
-107
0
0
0
0
0
0
0
0
0
135
19
-42
-9
31
29
-56
9
4
0
0
0
0
0
0
0
0
-6
76
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-29
3
0
-22
-37
17
0
0
0
0
0
0
0
0
0
0
93
-100
30
145
52
50
62
8
9
6
0
0
0
0
0
0
0
-9
33
41
134
40
-22
-15
-10
1
0
0
0
0
0
0
0
0
4
-46
19
79
-21
-31
11
-100
-3
-2
0
0
0
0
0
0
0
-7
-51
94
64
-97
25
54
35
2
0
0
0
0
0
0
0
0
116
19
65
-1
25
29
48
49
-21
0
0
0
0
0
0
0
0
133
67
64
-1
-10
-71
22
-28
0
0
0
0
0
0
0
0
0
97
-104
20
-12
-10
19
25
2
0
0
0
0
0
0
0
0
0
-40
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
52
9
-58
6
-14
0
0
0
0
0
0
0
0
0
0
0
13
-93
114
64
-69
-53
3
-1
0
0
0
0
0
0
0
0
0
-22
-20
21
-21
36
25
18
2
0
0
0
0
0
0
0
0
0
-28
14
49
43
-15
-13
2
29
0
0
0
0
0
0
0
0
0
-2
59
24
-51
20
-15
-18
-15
0
0
0
0
0
0
0
0
0
2
-6
-53
-3
-14
6
8
3
0
0
0
0
0
0
0
0
0
-15
1
20
14
40
3
0
0
0
0
0
0
0
0
0
0
0
-35
-12
25
-9
0
1
-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
2
-6
0
59
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-1
41
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
5
-9
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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
12
0
-1
-4
0
2
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
-6
49
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
5
4
19
-6
0
16
0
0
0
0
0
0
0
0
0
6
0
-4
0
8
0
-33
0
0
0
0
0
0
0
0
0
0
17
14
85
-11
-3
4
0
60
0
0
0
0
0
0
0
0
0
2
6
-23
4
13
0
13
0
0
0
0
0
0
0
0
0
0
13
0
11
9
17
14
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-4
0
0
2
22
0
0
0
0
0
0
0
0
0
0
2
-2
-3
0
6
-1
-3
-3
0
0
0
0
0
0
0
0
0
-14
-5
-12
52
0
2
-2
0
0
0
0
0
0
0
0
0
0
8
0
60
-26
-7
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
-6
12
-7
6
-1
0
0
0
0
0
0
0
0
0
0
8
-14
-3
47
11
-7
0
0
0
0
0
0
0
0
0
0
0
17
0
53
9
-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
-3
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
38
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-32
-33
21
3
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-25
5
-15
0
5
0
7
0
0
0
0
0
0
0
0
-45
-1
-28
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-65
5
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
4
0
10
-3
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
-6
2
1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
0
-15
1
0
0
0
0
0
0
0
0
0
0
2
2
1
62
-11
-6
-4
-1
0
0
0
0
0
0
0
0
0
0
1
15
16
-10
8
0
0
0
0
0
0
0
0
0
0
0
2
8
-41
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-1
6
0
9
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
-23
12
-6
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
26
13
-11
26
61
-2
14
6
0
0
0
0
0
0
0
0
-3
19
-151
-70
-6
-67
-20
-7
0
0
0
0
0
0
0
0
0
4
5
104
54
28
0
1
7
8
0
0
0
0
0
0
0
0
0
-48
83
113
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-19
72
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
49
10
30
41
-4
-6
1
9
0
0
0
0
0
0
0
0
0
5
-58
22
23
18
0
0
0
0
0
0
0
0
0
0
0
0
-121
-3
26
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
-7
20
28
-92
-17
-1
7
4
-1
0
0
0
0
0
0
0
0
0
-37
62
-7
10
18
19
-8
18
1
0
0
0
0
0
0
0
-7
8
18
64
43
-40
8
12
0
0
0
0
0
0
0
0
0
-3
16
5
-14
-37
-61
-6
0
0
0
0
0
0
0
0
0
0
0
69
-27
135
25
-32
-4
1
0
0
0
0
0
0
0
0
0
3
18
103
-66
-15
-23
0
-1
0
0
0
0
0
0
0
0
0
16
-25
59
-29
-2
-1
0
0
3
0
0
0
0
0
0
0
0
23
-5
3
8
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-34
103
25
-4
-61
54
-10
0
0
0
0
0
0
0
0
0
81
112
-3
70
13
-60
-66
-41
0
0
0
0
0
0
0
0
0
18
2
-15
-58
80
-15
21
-8
-3
0
0
0
0
0
0
0
0
-16
20
-60
-2
47
53
-21
55
1
0
0
0
0
0
0
0
0
-52
-7
24
46
-113
10
-24
-4
5
0
0
0
0
0
0
0
0
12
122
43
20
-51
114
21
-5
18
0
0
0
0
0
0
0
0
54
151
123
-36
39
70
-3
0
0
0
0
0
0
0
0
0
0
35
40
-54
-6
-20
-14
6
0
-2
0
0
0
0
0
0
0
0
40
36
-5
3
0
1
0
0
0
0
0
0
0
0
0
0
0
5
74
3
65
-1
-13
-83
9
0
0
0
0
0
0
0
0
0
22
53
85
112
-3
-22
-116
-4
-11
2
0
0
0
0
0
0
0
5
8
31
-14
180
85
61
24
-57
-9
0
0
0
0
0
0
0
-6
34
56
-11
-92
28
-22
20
-87
0
0
0
0
0
0
0
0
-3
97
85
-141
-83
60
-106
188
-51
0
0
0
0
0
0
0
0
-23
-35
-14
4
-5
-39
69
64
-6
-2
0
0
0
0
0
0
0
-16
118
-50
65
47
7
30
1
-16
-9
0
0
0
0
0
0
0
-7
-52
-63
-93
-29
-3
10
-3
0
0
0
0
0
0
0
0
0
-35
51
48
-20
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-10
-22
105
80
13
2
-1
0
0
0
0
0
0
0
0
0
0
5
37
138
59
134
-81
-32
0
-3
0
0
0
0
0
0
0
0
3
113
99
78
37
91
-66
-3
10
0
0
0
0
0
0
0
0
-88
21
21
-14
22
3
14
-40
0
0
0
0
0
0
0
0
0
59
48
74
-17
-16
16
25
3
0
0
0
0
0
0
0
0
0
7
-62
50
71
96
38
-6
27
2
0
0
0
0
0
0
0
0
-8
-59
-15
22
-99
52
-10
15
-9
0
0
0
0
0
0
0
0
-32
35
-19
-18
-29
-7
0
0
0
0
0
0
0
0
0
0
0
31
-39
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-44
-47
2
35
48
3
0
0
0
0
0
0
0
0
0
0
0
-4
36
77
-76
-15
3
-3
0
0
0
0
0
0
0
0
0
0
0
-33
19
-46
-14
1
0
-15
0
0
0
0
0
0
0
0
0
0
-17
51
-21
-32
-6
0
0
0
0
0
0
0
0
0
0
0
-8
1
-64
13
-25
26
-20
0
0
0
0
0
0
0
0
0
0
6
0
11
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
1
3
0
0
0
0
0
0
0
0
0
0
0
0
3
11
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
26
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
10
-12
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-1
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
3
-15
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
1
-14
0
4
1
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
-11
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
2
0
-1
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
-12
5
8
0
0
1
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
2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
19
0
0
0
0
0
0
0
0
0
1
17
-15
-6
-22
0
9
0
0
0
0
0
0
0
0
0
0
5
-13
24
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
23
25
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
31
19
30
95
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-4
130
0
0
19
0
0
0
0
0
0
0
0
0
0
19
-10
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
114
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
35
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
11
-7
-5
1
1
0
0
0
0
0
0
0
0
0
0
55
12
75
-4
21
0
0
0
0
0
0
0
0
0
0
0
-1
30
0
7
2
-36
0
0
0
0
0
0
0
0
0
0
0
0
-43
-34
1
40
-11
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
-8
1
2
0
2
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
-28
1
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
37
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
6
2
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
0
1
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
-5
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
10
0
0
0
-69
0
-7
0
0
0
0
0
0
0
0
-7
11
2
27
-4
-56
-3
-31
-1
0
0
0
0
0
0
0
0
0
-10
34
-2
33
9
-97
-7
-2
0
0
0
0
0
0
0
0
0
1
-2
43
13
86
2
0
2
0
0
0
0
0
0
0
0
0
2
5
23
-57
-4
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
61
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
10
23
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
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-25
-21
22
0
0
0
0
0
0
0
0
0
0
0
-1
19
24
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-46
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
17
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
-6
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
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
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
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
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
-1
-11
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
18
0
8
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
40
6
0
0
0
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
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
4
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
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
0
0
0
0
0
0
0
0
0
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
-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
-15
0
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
1
-1
3
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
-2
0
-23
-34
-37
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
11
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
-8
0
0
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-6
-4
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
8
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
1
10
0
-2
-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
0
0
0
0
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
11
-39
-8
-26
0
-10
0
0
0
0
0
0
0
0
-2
1
-7
19
1
-10
17
-3
0
0
0
0
0
0
0
0
0
-1
0
5
1
-64
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-6
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
0
0
0
7
-6
3
0
0
0
0
0
0
0
27
-53
-43
39
0
0
0
41
-19
-1
3
0
0
0
0
0
0
-4
-9
-20
-1
-84
-90
16
-114
-20
20
0
0
0
0
0
0
0
3
12
15
43
21
-90
-51
-1
17
-4
0
0
0
0
0
0
0
0
26
28
29
-72
23
42
42
3
0
0
1
0
0
0
0
0
0
2
0
43
-9
71
14
-12
19
6
0
0
0
0
0
0
0
0
8
-3
-2
12
-14
-11
14
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-92
-6
-1
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
-54
-34
4
1
0
0
0
0
0
0
0
0
1
-4
8
17
40
38
-31
-57
2
0
0
0
0
0
0
0
0
-2
0
-1
8
111
9
-50
1
2
5
0
0
0
0
0
0
0
0
10
-1
-39
-19
7
-5
-14
-3
0
0
0
0
0
0
0
0
0
0
-31
14
-53
12
18
7
6
0
0
0
0
0
0
0
0
0
4
0
0
-5
1
45
10
-1
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
64
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
28
-2
3
3
0
0
0
0
0
0
0
0
0
0
10
-10
-9
17
19
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
-7
-24
-4
4
0
0
0
0
0
0
0
0
-4
1
0
-5
50
-41
-2
-2
-6
0
0
0
0
0
0
0
0
0
0
3
0
5
-1
-6
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
1
0
0
0
0
0
0
0
0
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
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
13
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-63
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-14
7
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
10
-4
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
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
-2
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
6
8
6
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
7
-11
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
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
2
-4
45
3
-25
0
0
0
0
0
0
0
0
0
0
0
4
-7
-16
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-11
0
0
0
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
0
4
5
9
-19
0
0
0
0
0
0
0
0
0
0
0
-24
0
18
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
45
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
13
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
79
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
5
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
-9
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
3
19
-22
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-7
11
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-27
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
-53
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
-3
0
0
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
-6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-21
12
16
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-12
0
13
-16
6
-3
0
0
0
0
0
0
0
0
0
0
21
0
5
-13
-42
-9
-116
10
0
0
0
0
0
0
0
0
0
0
0
0
-12
-41
-2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-2
7
-18
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-1
-13
0
1
15
-17
0
0
0
-8
0
0
0
0
0
0
0
0
-19
19
23
-4
-21
0
0
0
0
-2
0
0
0
0
0
0
-16
0
12
12
-5
-4
-1
-7
-6
0
0
0
0
0
0
0
0
0
6
2
7
1
30
7
100
12
5
0
0
0
0
0
0
0
0
-1
0
0
-2
-5
11
0
25
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-17
47
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
16
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
4
1
1
-67
-1
-3
0
0
0
-5
0
0
0
0
0
0
0
0
3
-1
-113
-34
-26
0
0
0
-11
0
0
0
0
0
0
0
0
1
11
4
27
-4
10
-120
-81
1
0
0
0
0
0
0
0
2
0
6
24
0
-70
-81
54
-30
-3
0
0
0
0
0
0
0
0
0
-15
2
-12
-80
24
9
-6
2
0
0
0
0
0
0
0
0
0
-6
0
-2
-97
50
107
37
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
15
-19
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-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
-8
-38
-38
55
-15
0
0
0
0
0
0
0
0
0
0
0
-21
9
-138
-93
-93
-81
0
0
0
54
-11
0
0
0
0
0
0
5
31
23
12
33
-22
-11
28
-166
-3
-3
0
0
0
0
0
0
8
-3
24
6
17
60
-93
-17
2
-19
0
0
0
0
0
0
0
11
-10
1
-22
65
6
-23
92
-76
-1
0
0
0
0
0
0
0
0
0
-6
4
-94
-91
13
-17
118
-40
-3
0
0
0
0
0
0
0
0
5
3
-12
23
41
-56
50
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-10
12
0
0
0
0
0
0
0
0
0
5
-49
15
-17
-1
0
0
0
-2
1
0
0
0
0
0
0
2
18
-82
-57
78
-25
0
0
0
-39
-14
0
0
0
0
0
0
0
8
-39
84
-11
-59
-13
20
-53
-16
-3
0
0
0
0
0
0
0
-9
12
-45
15
15
-106
-11
68
16
-52
1
4
0
0
0
0
0
0
-1
-50
71
59
21
-92
-9
-76
0
0
0
0
0
0
0
0
0
0
18
-87
-158
9
33
113
37
-4
-1
0
0
0
0
0
0
0
5
5
5
4
70
23
19
25
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
39
-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
-12
1
0
0
0
0
0
78
-11
-1
0
0
0
0
0
0
0
10
-46
-25
5
0
0
0
-30
-62
0
0
0
0
0
0
0
0
0
-3
16
-13
15
58
25
0
16
-5
0
0
0
0
0
0
0
0
-2
-1
4
111
-100
25
14
-13
-1
-2
0
0
0
0
0
0
0
-3
7
3
27
-54
-28
65
-72
0
0
0
0
0
0
0
0
0
0
-1
0
-65
23
13
47
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
7
3
0
0
0
12
-61
2
0
0
0
0
0
0
0
0
0
1
0
-6
-6
-11
-26
6
1
0
0
0
0
0
0
0
0
0
0
0
-2
-11
8
-25
-6
4
-6
0
0
0
0
0
0
0
0
0
-2
0
3
-1
13
13
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
36
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
9
4
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
16
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-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
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
-5
5
-1
0
0
0
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
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
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
18
3
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
-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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-9
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
2
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-15
1
2
11
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-24
20
-8
0
0
0
0
0
0
0
0
0
0
0
3
1
-44
35
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
21
-23
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
-14
4
4
0
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
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
-2
0
11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-2
-10
28
-1
0
0
0
0
0
0
0
0
0
0
15
-2
2
21
-11
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
-29
-57
97
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
43
-42
-24
0
0
0
0
0
0
0
0
0
0
0
-15
0
-2
17
-33
15
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
6
3
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
18
66
79
-3
0
0
0
0
0
0
0
0
0
8
0
4
0
0
-6
-2
12
0
0
0
0
0
0
0
0
0
-2
2
-11
-36
-3
-46
-9
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
-28
62
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
-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
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
6
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
18
-4
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
22
-33
-55
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
-59
-112
59
0
0
0
0
0
0
0
0
0
0
0
0
17
10
-9
-7
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
12
-3
2
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
10
4
7
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-22
11
0
0
0
-9
0
0
0
0
0
0
0
0
17
-32
66
1
8
8
-25
-51
0
0
0
0
0
0
0
0
0
0
8
6
-6
10
4
-108
-52
0
0
0
0
0
0
0
0
0
-1
0
-9
-74
89
-1
-31
5
1
0
0
0
0
0
0
0
0
0
0
-13
5
17
-82
-16
29
1
0
0
0
0
0
0
0
0
0
0
0
0
11
15
-48
0
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-62
2
-54
0
0
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
-17
-2
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
34
-16
-98
14
0
0
0
7
-15
0
0
0
0
0
0
-2
-14
-86
11
16
24
39
-80
-4
-24
0
0
0
0
0
0
0
0
-5
-19
16
-47
60
3
-18
-90
40
0
0
0
0
0
0
0
0
0
3
2
-72
20
10
-33
100
7
0
0
0
0
0
0
0
0
0
-13
22
-44
-8
95
56
-60
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
87
72
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
20
-67
0
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
3
88
-14
57
-179
0
0
0
3
0
0
0
0
0
0
0
50
70
63
51
9
-91
0
0
0
-22
10
0
0
0
0
0
0
-16
18
-3
99
44
32
-6
-167
-4
-109
1
0
0
0
0
0
-2
-6
36
100
-20
-13
-32
49
42
125
-4
15
0
0
0
0
0
0
0
9
-56
8
-15
-19
-142
106
-21
-104
20
0
0
0
0
0
0
0
65
34
15
7
58
-11
54
49
0
4
0
0
0
0
0
0
0
0
8
-35
0
10
71
65
62
-29
0
0
0
0
0
0
0
0
0
4
-2
-2
14
-42
-22
-96
26
0
0
0
0
0
0
0
0
0
0
0
0
4
0
25
0
0
0
0
0
0
0
0
0
-3
36
77
73
54
19
0
0
0
1
1
0
0
0
0
0
0
-9
14
-38
35
42
-87
0
0
0
-6
-1
-1
0
0
0
0
0
-18
-4
105
75
8
-33
-25
-63
-43
-22
-5
0
0
0
0
0
0
1
7
30
-7
-53
-79
-34
-70
-40
-111
2
-11
0
0
0
0
0
18
29
4
26
-82
-61
49
-19
160
-2
8
0
0
0
0
0
0
0
0
-39
-5
-31
-38
13
-63
6
88
-1
0
0
0
0
0
0
0
0
-12
-29
13
19
-31
-50
-32
24
8
0
0
0
0
0
0
0
0
0
-1
0
0
-18
5
32
7
0
0
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
-1
10
2
0
0
0
3
-2
0
0
0
0
0
0
0
0
1
8
39
-6
0
0
0
-7
-8
-3
0
0
0
0
0
0
0
0
0
16
-26
31
-2
76
-20
18
1
0
0
0
0
0
0
6
0
0
-5
-17
-13
39
63
-12
1
-1
0
0
0
0
0
0
0
0
-2
-8
-4
-29
60
-36
-78
0
-2
0
0
0
0
0
0
0
0
0
0
0
-42
39
-20
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
17
-12
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
10
-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
0
0
0
0
0
0
0
0
-9
1
3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
61
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-50
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
3
11
-6
2
0
0
0
0
0
0
0
0
0
-3
-6
19
7
0
-37
7
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-18
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
16
1
-5
0
0
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
0
0
0
-3
-29
-35
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
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
17
0
0
0
0
0
0
0
0
0
0
1
20
-23
0
0
0
0
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
0
7
-7
-3
0
0
0
-11
1
0
0
0
0
0
0
0
0
0
1
0
-2
4
-8
12
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
116
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
-2
-10
-10
-7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-18
-14
-28
0
19
-12
-12
-19
-1
0
0
0
0
0
0
0
0
0
0
11
7
-2
-52
3
25
-19
0
0
0
0
0
0
0
0
0
0
0
-1
17
22
34
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-12
12
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-78
-91
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
43
-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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
6
4
-7
-2
0
0
0
-3
0
0
0
0
0
0
0
2
-19
0
5
3
-9
1
-57
-14
3
0
0
0
0
0
0
0
0
0
4
3
-14
38
77
-30
-2
4
0
0
0
0
0
0
0
0
0
-8
0
1
9
-67
-24
0
11
0
0
0
0
0
0
0
0
0
0
1
0
19
141
-40
24
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-5
4
-50
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-34
-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
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-26
-16
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
-4
-7
-2
32
-12
19
-23
-1
0
0
0
0
0
0
0
0
0
-4
-1
-5
16
39
-50
29
0
0
0
0
0
0
0
0
0
1
-9
12
0
66
19
33
-55
11
0
0
0
0
0
0
0
0
0
0
0
-8
20
121
72
-28
0
0
0
0
0
0
0
0
0
0
0
-27
1
43
5
-73
7
8
0
0
0
0
0
0
0
0
0
0
0
2
-33
-105
-4
51
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
-3
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
6
-68
3
-7
-16
0
0
0
10
2
0
0
0
0
0
0
10
-14
-1
-47
103
7
-15
7
62
-3
0
0
0
0
0
0
0
0
0
43
-9
1
-10
10
-2
1
9
0
0
0
0
0
0
0
0
15
-3
45
-49
0
-15
-54
-45
-18
0
0
0
0
0
0
0
0
0
3
6
-16
-52
2
-74
-78
-10
0
0
0
0
0
0
0
0
0
5
-2
4
-3
-18
21
-120
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-16
7
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-71
0
0
0
0
0
0
0
0
0
0
3
2
34
-8
-17
0
0
0
0
0
0
0
0
0
0
0
23
14
113
-105
-48
-26
0
0
0
43
9
0
0
0
0
0
0
1
-38
-32
31
139
175
10
-172
-89
0
1
0
0
0
0
0
0
0
-21
77
-28
-87
8
-82
-30
8
7
-14
0
0
0
0
0
0
0
-15
0
-20
158
-57
0
103
54
-10
0
0
0
0
0
0
0
0
-1
-1
46
115
-67
-38
16
58
0
0
0
0
0
0
0
0
0
0
-1
-45
-10
-72
27
-27
25
-5
0
0
0
0
0
0
0
0
0
0
0
4
21
-30
56
-29
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
5
-42
-22
-37
-1
25
0
0
0
18
0
0
0
0
0
0
3
4
-7
-22
137
33
-70
0
0
0
-4
0
0
0
0
0
0
0
21
-54
-48
18
65
-13
-59
-68
-28
0
0
0
0
0
0
0
0
-5
-23
-26
55
8
-112
22
-82
77
5
-26
0
0
0
0
0
0
0
-38
86
-112
0
22
-23
8
34
-14
0
0
0
0
0
0
0
4
9
-34
-61
-27
-19
5
213
-20
-30
11
0
0
0
0
0
0
0
-6
-2
-32
-147
42
45
-79
-10
1
0
0
0
0
0
0
0
0
0
1
0
-5
27
-66
43
-111
-66
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-72
-16
-5
0
0
0
0
0
0
0
0
-135
27
-65
6
-77
0
0
0
6
0
0
0
0
0
0
0
-77
-2
31
-41
25
-113
0
0
0
23
-4
0
0
0
0
0
0
-9
11
-6
-38
98
60
-54
-131
-17
14
-10
-9
0
0
0
0
0
0
40
14
13
20
-7
-53
39
31
-29
-5
1
0
0
0
0
0
-21
-5
-3
-88
-53
-59
-20
-19
66
15
-10
0
0
0
0
0
0
0
-34
-10
-39
23
12
12
23
119
-1
0
0
0
0
0
0
0
-10
0
-2
-183
-135
42
-18
126
4
-8
0
0
0
0
0
0
0
0
0
1
16
-38
6
62
-49
-22
58
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
3
6
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
-6
-17
45
-4
0
0
0
17
25
0
0
0
0
0
0
0
5
-4
0
-3
-9
40
82
2
121
4
0
0
0
0
0
0
0
0
3
0
-11
1
-30
89
34
23
23
3
0
0
0
0
0
0
0
1
-5
-4
-4
10
-31
19
-23
0
0
0
0
0
0
0
0
0
0
-1
-8
-18
-22
1
18
15
0
0
0
0
0
0
0
0
0
0
0
18
0
0
5
-4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-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
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-52
9
0
0
0
0
0
0
0
0
0
0
0
-6
0
-38
22
-60
13
0
0
0
0
0
0
0
0
0
0
0
-12
1
3
7
2
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
12
0
-3
0
4
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
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
-9
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
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
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
2
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
0
0
0
0
-20
-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
11
-34
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-11
-2
15
0
-2
-5
0
0
0
0
0
0
0
0
0
0
-1
9
0
-1
-14
-11
31
0
0
0
0
0
0
0
0
0
0
2
-7
2
13
52
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-48
3
-8
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-11
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
0
-86
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
-2
0
-8
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-16
0
50
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-38
-33
-19
-5
2
0
0
0
0
0
0
0
0
0
0
-4
-15
35
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
14
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-18
0
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
6
75
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-63
-63
14
7
15
5
-6
0
0
0
0
0
0
0
0
0
0
-15
-44
11
-4
75
12
-109
2
0
0
0
0
0
0
0
0
0
0
0
54
72
-89
-60
52
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
-8
35
-16
0
0
0
0
0
0
0
0
0
0
0
0
13
-19
20
-49
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
53
-43
-48
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
0
7
0
0
0
0
0
0
0
0
0
0
0
10
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-10
1
1
-22
-11
23
-5
0
0
0
0
0
0
0
0
-18
0
-1
-1
48
50
-29
-9
1
0
0
0
0
0
0
0
0
-6
23
-1
-36
19
-30
6
18
0
0
0
0
0
0
0
0
0
0
4
0
0
-18
-45
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-19
4
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
-144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-4
0
0
0
0
0
0
0
0
21
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
5
-13
16
6
15
0
0
0
0
3
0
0
0
0
0
0
0
-3
9
39
9
17
-12
16
-41
40
5
0
0
0
0
0
0
0
1
0
-80
11
-68
42
61
29
1
-6
0
0
0
0
0
0
0
0
2
-55
-26
-14
-141
-13
1
-35
0
0
0
0
0
0
0
0
0
2
11
-62
8
0
-8
-119
-50
0
0
0
0
0
0
0
0
7
0
0
7
-1
-12
-8
-48
-52
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-30
0
0
0
0
0
0
0
0
0
0
-5
5
-6
-37
-32
0
0
0
0
0
0
0
0
0
0
0
-5
8
2
14
46
61
0
0
0
-4
0
0
0
0
0
0
0
6
-62
-26
37
-76
-5
-24
8
-70
0
0
0
0
0
0
0
0
11
0
14
6
27
-138
68
52
26
-6
-2
0
0
0
0
0
0
0
-2
-2
-13
47
78
-64
-16
25
0
0
0
0
0
0
0
0
0
-3
-24
33
23
-77
0
-21
41
0
0
0
0
0
0
0
0
0
0
5
1
76
31
-21
24
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-141
4
-92
-141
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-72
4
0
0
0
0
0
0
0
0
-43
-7
-5
-46
1
5
0
0
0
-3
0
0
0
0
0
0
-1
-103
46
22
86
-11
-54
0
0
0
-54
0
0
0
0
0
0
0
-45
-60
-18
1
73
-104
118
-87
51
-10
2
0
0
0
0
0
0
12
-16
76
37
30
-41
-54
-34
34
-5
0
0
0
0
0
0
0
0
-8
85
-4
13
-5
-24
-14
79
-2
0
0
0
0
0
0
0
-1
-8
37
20
58
40
102
0
46
0
0
0
0
0
0
0
0
3
1
23
38
-38
-68
8
148
1
17
0
0
0
0
0
0
0
0
0
0
-93
10
-4
68
-17
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
5
70
0
-31
0
0
0
0
0
0
0
12
-7
32
-3
10
5
0
0
0
9
0
0
0
0
0
0
0
-25
-51
-110
-85
2
-31
0
0
0
15
-9
0
0
0
0
0
0
0
8
70
-89
-147
-120
37
-70
-77
9
2
0
0
0
0
0
0
6
-4
-62
-20
4
0
-49
-35
-33
-5
0
0
0
0
0
0
0
5
0
11
-11
-103
24
-20
112
36
7
19
0
0
0
0
0
0
0
-4
-13
6
-106
51
40
-5
0
-5
2
0
0
0
0
0
0
0
7
-3
-63
6
26
-103
2
-12
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-95
103
38
-28
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-58
-1
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
-21
8
0
0
0
0
0
0
0
0
0
4
6
-5
0
0
0
-30
0
2
0
0
0
0
0
0
0
0
0
24
16
-65
-37
23
25
13
0
0
0
0
0
0
0
0
0
-1
7
5
-92
28
59
9
9
0
0
0
0
0
0
0
0
0
-22
-1
2
30
36
36
-36
-1
0
0
0
0
0
0
0
0
0
0
4
-1
-29
-14
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-13
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
22
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
6
4
0
0
0
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
-1
0
7
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
4
2
0
0
0
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
-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
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-15
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
5
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
0
-3
-15
9
-8
4
0
11
0
0
0
0
0
0
0
0
0
0
2
0
-1
10
-50
4
12
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
-1
-24
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
-1
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-9
8
3
2
0
0
0
0
0
0
0
0
0
0
2
2
3
25
-37
-23
12
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
2
1
-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
0
0
0
0
0
0
0
0
0
0
8
0
0
19
0
12
0
0
0
0
0
0
0
0
0
0
0
0
4
4
6
-7
0
0
1
3
0
0
0
0
0
0
0
0
0
0
-2
19
11
-10
-9
1
2
0
0
0
0
0
0
0
0
0
0
-9
0
2
-1
-16
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
-56
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
4
12
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
5
-4
0
1
-1
0
0
0
0
0
0
0
0
0
0
10
-8
-13
-1
-83
-4
3
0
0
0
0
0
0
0
0
0
0
-23
-45
34
-61
-66
39
40
0
0
0
0
0
0
0
0
0
0
0
-2
6
-21
2
-2
4
0
0
0
0
0
0
0
0
0
0
1
0
0
6
15
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
-99
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-7
0
28
7
-23
-1
0
0
0
0
0
0
0
0
0
0
0
-35
0
-17
1
-18
8
8
-18
12
0
0
0
0
0
0
0
0
0
0
14
10
79
-48
-77
2
-49
10
0
0
0
0
0
0
0
0
-13
9
-3
-24
-2
-77
3
-41
-1
0
0
0
0
0
0
0
0
5
0
-5
-68
15
12
7
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
0
12
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-54
51
-9
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
-1
8
-39
1
2
0
0
0
0
0
0
0
0
0
0
0
3
2
4
-42
41
-116
0
0
0
0
0
0
0
0
0
0
0
11
-23
77
-29
106
-47
17
-33
-108
0
0
0
0
0
0
0
0
-18
9
-134
-37
82
-90
38
-158
17
2
0
0
0
0
0
0
0
0
-46
58
-39
-34
40
140
-54
-50
11
0
0
0
0
0
0
0
2
0
12
42
38
47
3
82
-2
0
0
0
0
0
0
0
0
0
0
-8
-11
-118
2
0
33
-23
0
0
0
0
0
0
0
0
0
0
0
0
52
-86
-42
-97
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
3
0
1
0
0
0
0
0
0
0
0
17
30
10
9
26
0
0
0
0
0
0
0
0
0
0
0
-16
43
-68
37
46
-33
0
0
0
0
0
0
0
0
0
0
0
4
-67
-24
-64
29
-27
63
-75
8
0
0
0
0
0
0
0
0
40
-112
-88
1
21
40
-86
-71
-89
12
0
0
0
0
0
0
0
1
-42
-72
-17
70
-56
-42
-118
82
0
0
0
0
0
0
0
0
0
11
-27
5
-74
-70
22
-61
-12
0
0
0
0
0
0
0
0
0
0
15
75
-30
15
-41
0
35
4
0
0
0
0
0
0
0
0
0
0
4
-16
-52
-29
50
56
11
2
0
0
0
0
0
0
0
0
0
0
4
44
10
6
2
0
0
0
0
0
0
0
0
0
66
-33
-82
52
14
0
0
0
-1
0
0
0
0
0
0
0
-2
-18
-92
-3
-97
-2
0
0
0
44
2
0
0
0
0
0
0
14
74
-39
41
51
-115
-133
15
-5
9
9
0
0
0
0
0
0
-19
11
74
-56
-99
-79
-126
20
31
-20
0
0
0
0
0
0
0
10
-25
-58
-52
77
-14
-34
-16
-140
15
0
0
0
0
0
0
0
14
-8
5
-70
-93
17
93
-12
-112
-29
3
0
0
0
0
0
0
0
0
-47
39
-6
-33
93
53
0
-5
0
0
0
0
0
0
0
0
0
0
10
30
27
27
-5
-58
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
0
0
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
-12
3
0
0
0
0
0
0
0
0
-8
11
0
3
0
0
0
93
-2
0
0
0
0
0
0
0
0
0
2
17
3
3
-9
-46
-1
0
0
0
0
0
0
0
0
0
1
0
-31
76
33
6
-7
29
0
0
0
0
0
0
0
0
0
0
-5
39
49
44
0
6
-4
0
0
0
0
0
0
0
0
0
-7
5
6
7
-23
48
-20
2
0
0
0
0
0
0
0
0
0
0
0
8
-22
-15
-11
7
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
-12
-6
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
10
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
0
0
0
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
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
14
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-14
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
2
0
0
-2
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
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-3
-2
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-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
-9
0
0
0
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
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
2
-1
0
0
-7
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
9
2
-16
-41
-25
-3
-5
10
0
0
0
0
0
0
0
0
0
0
0
-13
-37
1
-8
-7
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
7
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-93
-4
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
66
-8
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
6
136
19
-8
-18
0
0
0
0
0
0
0
0
0
0
0
0
1
-59
27
7
15
-9
0
8
0
0
0
0
0
0
0
0
0
13
-79
-1
-48
6
11
1
-15
0
0
0
0
0
0
0
0
0
21
-37
11
3
80
-40
-10
-5
0
0
0
0
0
0
0
0
0
0
4
0
73
41
-74
65
-72
0
0
0
0
0
0
0
0
0
0
-9
0
-70
8
-31
31
-22
0
0
0
0
0
0
0
0
0
0
2
1
-2
6
0
8
-52
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
19
-2
0
0
0
0
0
0
0
0
-57
7
41
-16
12
0
0
0
0
0
0
0
0
0
0
0
-14
-7
11
-60
-96
-7
0
0
0
0
0
0
0
0
0
0
0
-11
2
-27
-33
-21
2
-22
52
-19
0
0
0
0
0
0
0
0
11
63
-1
-47
-119
20
-129
39
25
0
0
0
0
0
0
0
0
0
-45
-9
-73
-23
-29
34
8
6
-3
0
0
0
0
0
0
0
-7
2
53
-99
5
-6
65
59
-79
-2
0
0
0
0
0
0
0
0
10
-16
-17
-96
-11
41
-150
-40
6
0
0
0
0
0
0
0
0
0
18
3
9
33
-4
0
-25
5
0
0
0
0
0
0
0
0
-2
0
0
-8
32
3
-57
0
3
0
0
0
0
0
0
0
0
7
-15
27
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-21
94
-41
-67
-2
-83
0
0
0
0
0
0
0
0
0
0
0
13
7
13
-34
-73
-107
-53
47
19
1
0
0
0
0
0
0
0
0
-5
121
-95
22
-25
-92
-72
-84
0
0
0
0
0
0
0
0
0
12
13
129
16
12
0
-42
-74
-16
0
0
0
0
0
0
0
0
23
-34
16
-95
-30
-78
47
-163
0
0
0
0
0
0
0
0
0
-11
25
-6
29
-2
-72
95
-1
0
0
0
0
0
0
0
0
0
0
-1
-96
-19
27
39
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-119
0
0
0
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
-2
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
8
-2
0
-1
-1
-5
49
-9
0
0
0
0
0
0
0
0
0
4
21
-2
-5
8
57
7
-22
0
0
0
0
0
0
0
0
0
0
0
5
5
21
70
-11
-40
1
0
0
0
0
0
0
0
0
0
0
14
-11
-4
85
-7
5
0
0
0
0
0
0
0
0
0
0
5
0
-2
25
-18
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-52
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
-1
7
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
-1
0
-27
-4
3
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
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
-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
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-1
0
15
2
0
-13
0
0
0
0
0
0
0
0
0
0
-7
7
2
-4
6
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
68
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
9
0
16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-14
0
-6
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-87
23
22
-23
-3
15
189
0
0
0
0
0
0
0
0
0
2
7
-8
33
22
41
-88
-5
0
0
0
0
0
0
0
0
0
0
37
0
-37
-42
-72
17
-118
-5
0
0
0
0
0
0
0
0
1
-9
-26
2
6
-42
-7
-64
-2
0
0
0
0
0
0
0
0
0
12
-1
0
75
60
-61
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
-29
-41
22
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-15
0
45
23
0
0
0
0
0
0
0
0
0
0
0
0
12
14
37
-25
17
7
0
0
0
0
0
0
0
0
0
0
-37
0
-14
-33
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-7
-5
-3
-17
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
1
0
-1
-1
3
10
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-25
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
14
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-5
-9
8
-9
0
2
0
-5
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
1
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
3
9
0
0
15
0
0
0
0
0
0
0
0
0
0
2
4
10
-12
0
0
0
-22
0
0
0
0
0
0
0
0
0
-3
-32
23
8
-1
-5
-8
0
0
0
0
0
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
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
1
4
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-50
-16
0
17
2
-2
0
0
0
0
0
0
0
0
0
-7
25
12
3
0
-14
0
0
0
0
0
0
0
0
0
0
0
-14
4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
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
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
29
66
38
88
-59
0
-111
0
0
0
0
0
0
0
0
0
-144
47
28
97
-29
148
43
-3
0
0
0
0
0
0
0
0
0
45
63
85
17
-20
-26
-5
-12
0
0
0
0
0
0
0
0
0
102
78
-46
-13
-43
-4
18
-36
7
0
0
0
0
0
0
0
0
-15
-15
0
91
59
20
3
-3
0
0
0
0
0
0
0
0
0
-21
-82
64
12
-29
-13
0
0
0
0
0
0
0
0
0
0
0
103
20
-27
-9
5
2
-3
0
0
0
0
0
0
0
0
0
0
-64
10
8
-6
0
-3
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
-13
24
-62
24
17
0
21
3
0
0
0
0
0
0
0
0
0
29
8
64
54
37
-37
-39
0
0
0
0
0
0
0
0
0
0
43
15
-7
49
-62
-11
-2
0
0
0
0
0
0
0
0
0
0
-15
-18
-47
22
39
0
-8
0
0
0
0
0
0
0
0
0
0
-21
6
62
10
-2
-14
0
-1
0
0
0
0
0
0
0
0
0
3
-1
-45
-11
-5
7
1
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
22
-72
-67
-14
16
-3
0
0
0
0
0
0
0
0
0
0
16
31
-3
49
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
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
-3
-2
-6
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
21
-6
-21
26
14
4
9
0
0
0
0
0
0
0
0
0
0
0
20
3
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-10
-5
-4
-1
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
20
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
9
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
3
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
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
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
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
-10
5
2
11
29
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
-1
-14
0
0
0
0
0
0
0
0
0
0
-7
0
2
10
8
-3
0
0
0
0
0
0
0
0
0
0
0
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
7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
-5
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-8
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
7
19
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
10
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
1
1
2
-2
-2
-1
-1
-25
0
0
0
0
0
0
0
0
0
10
-7
-14
-11
5
3
0
14
0
0
0
0
0
0
0
0
0
11
0
-7
-9
41
-1
-8
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44
-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
-8
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
-30
-20
40
0
-1
-51
0
0
0
0
0
0
0
0
0
0
12
-15
-73
-1
0
2
7
-5
0
0
0
0
0
0
0
0
0
0
0
17
29
8
10
0
-4
0
0
0
0
0
0
0
0
0
-10
3
37
39
0
-9
10
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
-66
-16
0
0
-5
-17
0
0
0
0
0
0
0
0
0
-26
-20
51
59
-2
-15
-7
0
0
0
0
0
0
0
0
0
0
2
-8
29
24
3
1
-6
0
2
0
0
0
0
0
0
0
0
32
15
-70
74
21
0
-7
0
6
0
0
0
0
0
0
0
0
-3
64
5
13
-5
0
3
0
0
0
0
0
0
0
0
0
0
-8
15
2
23
12
0
0
5
0
0
0
0
0
0
0
0
0
0
5
14
-41
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
6
114
-34
-10
0
-3
0
0
0
0
0
0
0
0
0
0
-27
-39
95
-147
22
6
7
26
-3
0
0
0
0
0
0
0
0
64
92
-20
14
-53
-37
-5
-10
85
0
0
0
0
0
0
0
0
144
24
116
34
2
35
-28
-51
0
0
0
0
0
0
0
0
0
118
-53
5
-79
-56
-17
-19
-2
-29
0
0
0
0
0
0
0
0
-18
-75
-18
37
23
27
-4
0
0
0
0
0
0
0
0
0
0
5
-21
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-21
56
-36
2
4
0
0
0
0
0
0
0
0
0
0
0
34
14
138
-34
57
70
16
-33
-13
0
0
0
0
0
0
0
0
4
4
9
10
20
-10
-9
-53
-4
0
0
0
0
0
0
0
0
-51
3
27
-56
-104
68
0
-113
-11
0
0
0
0
0
0
0
0
102
6
71
0
-60
7
36
-2
-16
-1
0
0
0
0
0
0
0
20
88
-74
-15
-8
18
15
-14
0
0
0
0
0
0
0
0
0
-54
-14
-20
-85
-16
53
24
0
0
0
0
0
0
0
0
0
0
39
-11
23
0
0
3
5
0
0
0
0
0
0
0
0
0
0
-107
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-121
-48
70
68
0
-50
0
0
0
0
0
0
0
0
0
0
8
-58
-43
32
-31
-23
-54
0
0
0
0
0
0
0
0
0
0
2
-19
-36
-8
-98
-74
-63
-2
0
0
0
0
0
0
0
0
0
6
2
-24
-52
109
5
1
15
6
0
0
0
0
0
0
0
0
83
-57
4
-83
-12
33
-12
-7
-15
0
0
0
0
0
0
0
0
12
-8
11
1
-1
-16
0
9
0
0
0
0
0
0
0
0
0
-37
-8
16
-4
-8
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
0
0
0
0
0
0
0
0
-14
-6
14
-59
0
4
-3
0
0
0
0
0
0
0
0
0
0
72
-9
70
49
46
76
-6
0
0
0
0
0
0
0
0
0
0
-15
-86
-12
-18
-85
-8
0
-6
0
0
0
0
0
0
0
0
0
-22
6
4
8
-16
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
2
-4
0
-16
-2
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
-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
-10
-13
-28
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
-17
85
-6
-27
-13
-15
7
-2
0
0
0
0
0
0
0
0
0
16
10
-7
-14
-18
4
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-3
9
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
2
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-17
3
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
-1
-15
0
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
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
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
-3
1
2
0
9
0
0
0
0
0
0
0
0
0
0
7
0
-10
55
3
-29
-12
2
0
0
0
0
0
0
0
0
0
-13
0
-7
-1
8
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
37
22
-19
0
7
0
0
0
0
0
0
0
0
0
0
0
2
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
26
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
0
-68
24
-8
-1
0
0
0
0
0
0
0
0
0
-4
0
-5
-2
-14
19
10
-6
0
0
0
0
0
0
0
0
0
6
-2
0
-4
-30
-39
-3
1
2
0
0
0
0
0
0
0
0
0
28
0
48
26
1
-2
0
0
0
0
0
0
0
0
0
0
17
-1
0
-28
-13
17
0
0
0
0
0
0
0
0
0
0
0
-12
-4
6
-8
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
-4
2
-46
-2
28
15
28
-7
0
0
0
0
0
0
0
0
0
1
-25
-32
-9
26
-5
-99
5
0
0
0
0
0
0
0
0
0
2
-26
-32
-7
-15
-2
3
1
0
0
0
0
0
0
0
0
0
18
-26
4
3
20
10
-3
-14
0
0
0
0
0
0
0
0
0
4
1
10
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
-23
-13
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
-1
46
-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
-56
10
17
-7
0
0
3
0
0
0
0
0
0
0
0
0
20
36
16
-10
-17
-7
-55
7
0
0
0
0
0
0
0
0
0
6
58
43
38
15
10
6
10
0
0
0
0
0
0
0
0
0
-3
-28
47
-2
-4
-18
41
0
-4
0
0
0
0
0
0
0
0
7
60
-2
125
-6
-17
4
0
0
0
0
0
0
0
0
0
0
51
0
6
43
-3
6
0
5
9
0
0
0
0
0
0
0
0
0
4
-3
-7
-3
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
10
85
-13
28
-3
-43
-20
0
0
0
0
0
0
0
0
0
0
-25
-8
111
45
-2
15
2
-85
-25
0
0
0
0
0
0
0
0
24
61
-40
97
-4
1
-51
-10
-1
0
0
0
0
0
0
0
0
-21
-29
4
60
1
0
-4
16
5
0
0
0
0
0
0
0
0
22
22
82
111
47
6
11
-4
0
0
0
0
0
0
0
0
0
-28
-31
28
39
-30
11
0
3
0
0
0
0
0
0
0
0
0
-4
10
96
69
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
-24
-3
-62
-41
49
1
0
0
0
0
0
0
0
0
0
151
93
-40
-31
-52
14
15
3
-21
0
0
0
0
0
0
0
0
-2
141
-4
-25
74
12
5
-3
0
0
0
0
0
0
0
0
0
82
-87
56
65
15
19
25
0
-31
0
0
0
0
0
0
0
0
8
18
92
7
-5
71
40
-1
-1
0
0
0
0
0
0
0
0
-69
-121
-35
-9
-6
0
2
-18
3
0
0
0
0
0
0
0
0
116
115
3
-4
-2
5
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-15
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
-65
-95
-27
-106
28
-67
13
-97
0
0
0
0
0
0
0
0
0
35
-123
-16
-101
-108
-87
-52
-87
17
7
0
0
0
0
0
0
0
-60
-9
-128
-65
-11
1
-19
-14
-12
26
0
0
0
0
0
0
0
25
63
-21
-68
73
61
-14
-1
-23
-3
0
0
0
0
0
0
0
-181
-87
-154
-58
73
20
50
40
1
0
0
0
0
0
0
0
0
92
72
64
40
17
-62
4
8
-8
1
0
0
0
0
0
0
0
115
-26
-13
-21
-27
0
-9
-2
0
0
0
0
0
0
0
0
0
8
50
14
52
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-140
92
-47
37
-72
-59
93
32
0
-14
0
0
0
0
0
0
0
-17
4
-57
62
-5
-156
80
-4
-11
5
1
0
0
0
0
0
0
-59
-112
20
-36
54
-46
-44
86
-24
0
0
0
0
0
0
0
0
21
-69
24
-81
19
1
-20
-18
-5
0
0
0
0
0
0
0
0
53
43
58
43
-94
-66
-14
-57
-17
6
0
0
0
0
0
0
0
98
-25
-28
108
-13
8
10
-35
-12
0
0
0
0
0
0
0
0
111
134
138
28
1
-22
-7
34
7
0
0
0
0
0
0
0
0
42
25
26
-3
9
1
8
4
0
0
0
0
0
0
0
0
0
80
33
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
69
-30
53
123
101
0
53
0
0
0
0
0
0
0
0
-16
76
-9
-43
15
52
86
-88
-4
5
4
0
0
0
0
0
0
-57
4
-18
-70
17
-73
-83
-24
-7
0
0
0
0
0
0
0
0
10
73
-78
-44
-12
-60
-40
-9
0
0
0
0
0
0
0
0
0
-24
-127
10
72
31
114
88
-30
-2
0
0
0
0
0
0
0
0
106
-38
27
-51
33
-39
38
113
-1
0
0
0
0
0
0
0
0
-1
115
-57
17
-40
-1
24
31
-1
0
0
0
0
0
0
0
0
80
53
73
-1
-6
3
-32
0
0
0
0
0
0
0
0
0
0
20
-10
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
62
-53
-30
110
0
31
-2
0
0
0
0
0
0
0
0
-11
94
63
-6
111
62
-28
0
-3
0
0
0
0
0
0
0
0
50
-34
-100
-65
19
56
57
-17
0
0
0
0
0
0
0
0
0
-71
81
33
-18
28
95
54
12
0
0
0
0
0
0
0
0
0
0
-90
-23
-91
-51
-12
14
-7
1
0
0
0
0
0
0
0
0
28
19
36
87
-63
-16
2
9
-8
0
0
0
0
0
0
0
0
-61
-65
37
-12
-9
-11
3
3
-1
0
0
0
0
0
0
0
0
29
24
22
-7
0
11
0
0
0
0
0
0
0
0
0
0
0
53
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-24
-52
-13
92
0
-4
14
-3
0
0
0
0
0
0
0
0
-101
-95
36
-26
-84
-80
42
4
10
0
0
0
0
0
0
0
0
-67
25
22
3
3
45
-52
0
0
0
0
0
0
0
0
0
0
-69
52
-53
-36
47
73
-33
0
0
0
0
0
0
0
0
0
0
-9
-14
1
-5
2
-7
0
1
0
0
0
0
0
0
0
0
0
-40
-2
-9
0
0
0
4
0
3
0
0
0
0
0
0
0
0
50
5
-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
2
-8
-65
126
0
-12
0
0
0
0
0
0
0
0
0
0
0
-5
14
-11
17
13
-6
13
0
0
0
0
0
0
0
0
0
0
6
30
14
16
10
-89
0
0
0
0
0
0
0
0
0
0
0
2
3
3
-4
10
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
0
2
0
1
0
0
0
0
0
0
0
0
0
-4
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
-10
3
-2
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
10
-2
62
26
1
9
1
0
0
0
0
0
0
0
0
0
0
8
-3
-7
-22
12
-10
0
0
0
0
0
0
0
0
0
0
0
-4
15
-2
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
4
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
4
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
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
-12
8
6
-5
0
-5
-7
0
0
0
0
0
0
0
0
0
18
0
0
-25
4
-68
15
-7
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
-10
-4
10
0
0
0
0
0
0
0
0
0
0
-2
0
-51
12
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
1
0
11
-23
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
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
-10
-23
0
0
-11
-12
0
0
0
0
0
0
0
0
0
0
0
88
-25
3
78
78
107
-22
0
0
0
0
0
0
0
0
0
-23
0
5
0
19
-16
-85
9
0
0
0
0
0
0
0
0
0
16
-21
0
5
0
-15
1
8
-7
0
0
0
0
0
0
0
0
6
15
-6
0
-15
4
-8
0
-8
0
0
0
0
0
0
0
0
0
4
5
168
-9
-8
21
6
0
0
0
0
0
0
0
0
0
4
-7
-7
38
-3
-1
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-52
2
-12
0
0
0
0
0
0
0
0
0
0
0
7
20
-57
63
-38
6
92
-11
-5
0
0
0
0
0
0
0
0
-27
92
0
4
-11
-6
17
63
0
0
0
0
0
0
0
0
0
-29
-42
14
0
0
-13
0
0
4
0
0
0
0
0
0
0
0
-36
-51
-8
0
11
-17
11
-19
0
0
0
0
0
0
0
0
0
3
5
49
7
81
0
2
0
-2
0
0
0
0
0
0
0
0
-1
44
-25
-3
-9
13
0
0
-1
0
0
0
0
0
0
0
0
1
1
21
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
0
0
0
0
0
0
12
-1
2
1
0
-9
21
0
0
0
0
0
0
0
0
0
0
-1
-15
59
-5
0
-22
-9
1
-4
0
0
0
0
0
0
0
0
3
-155
-120
1
0
5
-15
116
2
0
0
0
0
0
0
0
0
29
0
6
5
0
-4
-16
2
-2
0
0
0
0
0
0
0
0
-46
9
-6
-16
0
4
5
0
0
0
0
0
0
0
0
0
0
-30
-67
-13
81
6
-25
0
-2
-3
0
0
0
0
0
0
0
0
-12
53
123
-46
-6
-24
0
0
0
0
0
0
0
0
0
0
0
6
76
-1
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-46
57
-19
-67
-78
-45
28
0
-2
0
0
0
0
0
0
0
-39
84
-12
-3
84
127
72
-60
25
0
0
0
0
0
0
0
0
40
-127
58
-85
7
-41
-10
22
21
0
0
0
0
0
0
0
0
-46
56
86
85
16
0
-2
-28
3
0
0
0
0
0
0
0
0
-53
-42
-54
-18
0
0
8
28
0
0
0
0
0
0
0
0
0
-111
-32
24
7
23
-6
11
0
0
2
0
0
0
0
0
0
0
-6
-28
15
-51
-13
0
0
-2
0
0
0
0
0
0
0
0
0
-2
2
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
-11
-27
-63
12
34
-44
66
32
0
0
0
0
0
0
0
0
0
96
-96
107
20
32
-13
45
45
1
0
0
0
0
0
0
0
0
51
-12
-41
138
-160
-81
37
18
-6
0
0
0
0
0
0
0
0
-13
1
-12
-61
3
-5
-2
1
-6
0
0
0
0
0
0
0
0
5
-7
14
-40
21
1
-5
0
2
0
0
0
0
0
0
0
0
42
4
119
34
21
11
4
15
0
1
0
0
0
0
0
0
0
30
87
113
5
38
15
0
3
-29
0
0
0
0
0
0
0
0
17
-9
55
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
112
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-20
-135
-6
44
39
3
80
0
-6
0
0
0
0
0
0
0
109
-9
35
-143
-29
-57
-74
34
41
0
7
0
0
0
0
0
0
-131
-55
99
38
-81
-22
32
36
0
24
0
0
0
0
0
0
0
-10
108
-40
-55
-48
-9
1
0
-3
5
0
0
0
0
0
0
0
44
-33
-38
79
-55
17
-9
-1
0
21
0
0
0
0
0
0
0
3
37
-34
27
-31
-34
45
13
-18
0
0
0
0
0
0
0
0
7
-19
31
2
-11
32
-9
-7
3
0
0
0
0
0
0
0
0
13
-7
67
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
118
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
96
-62
31
48
-7
26
-10
0
20
0
0
0
0
0
0
0
38
15
-3
-24
-51
15
17
-16
30
3
-8
0
0
0
0
0
0
-74
-8
-110
7
-45
-146
105
-124
-51
-3
0
0
0
0
0
0
0
-59
-20
-32
-72
-83
-32
11
-33
5
0
0
0
0
0
0
0
0
36
-15
-35
13
-5
56
42
0
-2
0
0
0
0
0
0
0
0
71
63
-12
52
19
-76
-5
33
3
7
0
0
0
0
0
0
0
-38
-21
53
10
14
6
25
-20
10
0
0
0
0
0
0
0
0
103
86
75
96
15
7
0
-1
15
0
0
0
0
0
0
0
0
-72
-12
154
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
30
22
-12
51
-13
0
33
-2
0
0
0
0
0
0
0
98
-59
-10
31
3
37
33
-22
85
-3
0
0
0
0
0
0
0
-55
7
40
-37
10
-81
26
35
18
0
0
0
0
0
0
0
0
-10
16
-25
-56
87
2
-26
-48
11
0
0
0
0
0
0
0
0
112
-25
12
114
40
38
53
-4
0
0
0
0
0
0
0
0
0
10
-26
-47
-56
-21
-17
-6
57
11
0
0
0
0
0
0
0
0
57
26
93
34
-20
19
2
50
-25
0
0
0
0
0
0
0
0
-77
43
-74
-35
0
-4
9
0
0
0
0
0
0
0
0
0
0
7
12
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
22
-31
38
78
9
0
8
-3
0
0
0
0
0
0
0
0
-26
40
-35
-39
46
-33
43
-41
-3
1
0
0
0
0
0
0
0
43
38
55
3
68
102
16
6
0
0
0
0
0
0
0
0
0
75
-20
-62
-10
-84
41
37
2
0
0
0
0
0
0
0
0
0
131
-11
20
35
33
-2
-4
0
0
0
0
0
0
0
0
0
0
-58
-15
87
12
79
51
0
3
1
0
0
0
0
0
0
0
0
-46
73
-45
-3
0
1
5
0
0
0
0
0
0
0
0
0
0
12
-23
-20
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
10
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
4
-42
-18
-49
0
4
4
-9
0
0
0
0
0
0
0
0
13
-78
132
10
-8
-5
5
6
0
0
0
0
0
0
0
0
0
23
100
78
-126
43
-68
-47
0
0
0
0
0
0
0
0
0
0
-32
-54
-55
2
49
-23
-4
0
0
0
0
0
0
0
0
0
0
12
2
2
4
-33
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
15
-2
0
14
0
-1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
2
22
-17
5
-25
2
1
0
0
0
0
0
0
0
0
0
0
-18
1
-19
24
5
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
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
-5
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-33
7
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
-7
6
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-33
-32
22
-7
-21
4
-5
11
0
0
0
0
0
0
0
0
0
0
26
-33
-7
-49
12
-11
0
0
0
0
0
0
0
0
0
0
11
0
18
-34
-16
-6
-10
1
0
0
0
0
0
0
0
0
0
0
0
7
-16
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-17
18
0
-4
-2
0
0
0
0
0
0
0
0
-2
2
-12
0
-4
-11
0
-1
0
0
0
0
0
0
0
0
0
10
14
0
1
0
0
11
2
0
0
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-4
-36
0
0
0
19
0
0
0
0
0
0
0
0
0
0
15
4
-50
18
0
-26
0
-18
0
0
0
0
0
0
0
0
0
-28
-23
114
-4
19
51
6
0
0
0
0
0
0
0
0
0
-11
0
0
0
-37
-17
0
3
-40
0
0
0
0
0
0
0
0
-3
0
0
0
12
0
11
0
0
0
0
0
0
0
0
0
0
1
0
1
0
26
-15
12
0
0
0
0
0
0
0
0
0
0
0
-13
4
6
0
-17
0
2
-11
0
0
0
0
0
0
0
0
10
20
-8
-6
-1
0
4
21
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
-42
-29
12
-14
26
0
0
0
0
0
0
0
0
0
0
0
1
6
-69
-107
-34
0
23
18
-1
0
0
0
0
0
0
0
0
5
1
-2
-25
13
5
-39
-9
23
0
0
0
0
0
0
0
0
-55
74
1
-13
0
-8
14
-5
5
0
0
0
0
0
0
0
0
-9
-28
0
0
0
-1
-9
0
22
0
0
0
0
0
0
0
0
-52
-51
0
0
2
-3
11
19
0
0
0
0
0
0
0
0
0
98
8
-51
8
42
0
-48
-3
-1
0
0
0
0
0
0
0
0
-8
11
1
17
0
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
0
0
0
93
-3
26
28
-8
-2
15
0
0
0
0
0
0
0
0
0
1
6
-29
81
48
14
57
-35
0
0
0
0
0
0
0
0
0
8
61
-72
44
-86
58
-3
49
3
0
0
0
0
0
0
0
0
-11
-49
-18
5
13
-6
-53
-17
-17
0
0
0
0
0
0
0
0
0
-49
-57
2
0
0
7
0
16
0
0
0
0
0
0
0
0
-12
49
-17
0
-1
0
103
-8
-1
0
0
0
0
0
0
0
0
54
27
-9
58
-27
-4
0
-2
0
0
0
0
0
0
0
0
0
-2
-16
-4
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
-5
-63
41
27
30
66
45
43
0
0
0
0
0
0
0
0
0
-1
-5
-164
123
-122
7
-94
-52
14
0
0
0
0
0
0
0
0
-1
-67
-39
23
20
116
36
-38
29
0
0
0
0
0
0
0
0
-7
-42
40
2
10
-8
-8
31
-1
0
0
0
0
0
0
0
0
-30
-76
146
-11
0
0
1
-18
-2
0
0
0
0
0
0
0
0
-1
20
111
139
4
1
0
34
2
-20
0
0
0
0
0
0
0
55
-100
79
-13
-2
25
1
0
0
0
0
0
0
0
0
0
0
6
-24
-4
70
4
0
0
2
0
0
0
0
0
0
0
0
0
-87
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
95
30
16
3
13
28
-25
0
0
0
0
0
0
0
0
0
-5
-19
116
86
-29
-47
0
45
5
0
0
0
0
0
0
0
0
-79
35
103
8
22
57
-55
13
1
0
0
0
0
0
0
0
0
13
-54
43
-232
26
-8
-1
-1
0
-5
0
0
0
0
0
0
0
-15
-66
97
14
-60
3
0
0
-10
0
0
0
0
0
0
0
0
-51
-17
72
-20
-14
3
0
0
-40
-5
0
0
0
0
0
0
0
-15
42
42
-22
-5
6
-1
-30
0
0
0
0
0
0
0
0
0
-9
-78
1
0
-5
-9
-2
0
-3
0
0
0
0
0
0
0
0
38
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
14
49
-10
52
65
-11
0
-5
0
0
0
0
0
0
0
56
5
34
-24
-2
136
-51
50
39
1
0
0
0
0
0
0
0
-77
-127
8
-92
62
-9
-9
10
32
-17
0
0
0
0
0
0
0
-8
-81
112
-104
93
107
0
2
0
-9
0
0
0
0
0
0
0
9
78
17
60
7
19
0
0
0
0
0
0
0
0
0
0
0
31
102
63
35
-88
-55
9
0
0
-5
0
0
0
0
0
0
0
-70
-46
-79
-33
-22
128
-9
45
-14
0
0
0
0
0
0
0
0
49
-26
52
75
14
-41
0
34
1
0
0
0
0
0
0
0
0
117
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
65
58
39
104
-64
108
0
-3
0
0
0
0
0
0
0
172
136
-109
-17
22
110
63
-20
-101
-5
-7
0
0
0
0
0
0
-9
65
54
60
12
3
99
10
-9
3
0
0
0
0
0
0
0
61
32
42
-39
18
57
-41
-69
-4
0
0
0
0
0
0
0
0
11
-131
3
-82
83
-46
-10
-2
0
0
0
0
0
0
0
0
0
136
55
-64
11
-87
77
66
-2
0
0
0
0
0
0
0
0
0
-1
7
-97
-106
-11
115
50
72
1
0
0
0
0
0
0
0
0
-92
-84
-124
-21
4
-4
11
0
-6
10
0
0
0
0
0
0
0
-11
-21
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
94
-39
74
103
34
-63
0
17
-21
0
0
0
0
0
0
0
-26
-1
-10
2
-21
73
109
66
15
-2
0
0
0
0
0
0
0
2
-17
27
63
28
-15
-122
-47
-25
2
0
0
0
0
0
0
0
24
-56
-18
43
12
-44
-37
-37
-3
0
0
0
0
0
0
0
0
22
45
-46
24
25
-131
-4
4
0
0
0
0
0
0
0
0
0
75
64
12
15
16
-56
-64
0
0
0
0
0
0
0
0
0
0
85
-107
-71
100
-103
149
-47
57
4
0
0
0
0
0
0
0
0
-99
-65
26
-65
-22
3
2
5
-1
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
-21
-41
-64
7
5
137
0
16
-18
-19
0
0
0
0
0
0
0
59
-32
-14
-44
9
-75
12
2
3
0
0
0
0
0
0
0
0
84
63
18
144
47
30
-18
1
-3
2
0
0
0
0
0
0
0
-43
97
54
-22
-9
-30
-19
0
0
0
0
0
0
0
0
0
0
-17
52
-130
24
-17
70
-3
0
0
0
0
0
0
0
0
0
0
45
-18
-123
-60
17
8
-5
0
0
0
0
0
0
0
0
0
0
-96
-3
-11
-13
-5
-8
0
35
0
0
0
0
0
0
0
0
0
98
19
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-2
-25
8
-9
0
-5
10
0
0
0
0
0
0
0
0
0
3
12
-48
-34
-14
6
-2
0
0
0
0
0
0
0
0
0
0
-3
-13
26
-20
6
-33
2
0
0
0
0
0
0
0
0
0
0
-5
11
13
-1
-7
1
0
0
0
0
0
0
0
0
0
0
0
5
8
5
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
-6
3
12
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
-4
0
0
0
0
0
0
0
0
0
0
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
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
17
-10
3
-3
7
0
0
0
0
0
0
0
0
0
0
27
-11
0
-10
-1
-2
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
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
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
-10
-3
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-9
-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
-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
-1
0
0
0
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-11
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
0
0
0
0
-5
0
-9
3
0
0
16
0
0
0
0
0
0
0
0
0
6
5
1
12
0
-11
6
-37
0
0
0
0
0
0
0
0
0
-3
-6
-13
1
-100
56
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-49
-19
-2
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
0
8
-3
16
0
0
0
0
0
0
0
0
0
0
0
11
7
-5
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
29
1
0
0
6
0
0
0
0
0
0
0
0
0
0
7
-11
-12
11
1
24
31
2
0
0
0
0
0
0
0
0
0
80
-5
8
-1
-50
16
-5
10
0
0
0
0
0
0
0
0
0
5
3
0
-21
9
-30
2
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
-3
0
0
0
10
-3
-7
-3
0
0
0
0
0
0
0
0
0
-2
13
-7
23
0
3
-20
-18
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
-2
-24
31
6
6
14
-14
0
0
0
0
0
0
0
0
0
0
11
21
71
-58
84
52
9
-2
9
0
0
0
0
0
0
0
0
-3
-16
-71
-5
42
-4
-8
36
0
0
0
0
0
0
0
0
0
15
1
34
6
8
0
30
0
3
0
0
0
0
0
0
0
0
1
24
0
-10
0
41
-3
13
4
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
93
41
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
-5
-1
16
-1
0
0
-11
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
0
0
-2
-20
-49
-16
-63
1
0
0
0
0
0
0
0
0
0
1
33
-55
-23
-53
-104
-17
8
1
-1
0
0
0
0
0
0
0
-26
39
99
11
10
-36
-20
5
-5
0
0
0
0
0
0
0
0
4
-117
-29
-43
-93
61
10
24
1
0
0
0
0
0
0
0
0
-3
-60
93
-10
-1
4
-40
-3
-9
0
0
0
0
0
0
0
0
1
-24
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
66
0
6
0
-6
0
0
0
0
0
0
0
0
0
0
34
61
0
-51
0
3
0
7
0
0
0
0
0
0
0
0
0
-11
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
6
-22
-8
15
-85
-48
0
0
0
0
0
0
0
0
0
0
-68
-88
-1
-75
-16
146
-11
-10
0
0
0
0
0
0
0
0
10
124
-15
13
-47
27
30
-54
7
0
0
0
0
0
0
0
0
5
-105
-11
-33
86
77
-36
-14
-7
0
0
0
0
0
0
0
0
4
108
19
-51
-33
0
0
139
9
0
0
0
0
0
0
0
0
58
-7
3
53
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
43
-27
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
-33
-14
2
0
20
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
66
68
6
48
-15
40
31
-90
0
0
0
0
0
0
0
0
0
64
-106
27
-29
-84
-35
0
82
59
0
0
0
0
0
0
0
0
-23
0
9
-70
97
-20
0
-75
-5
0
0
0
0
0
0
0
0
92
-20
-32
24
124
14
118
12
0
0
0
0
0
0
0
0
0
42
-14
13
71
49
2
0
0
1
0
0
0
0
0
0
0
0
17
48
-61
57
-35
-1
0
0
9
0
0
0
0
0
0
0
0
11
13
191
48
-37
1
0
0
12
-4
0
0
0
0
0
0
0
130
-48
21
-30
-13
-13
-4
-18
0
0
0
0
0
0
0
0
0
59
7
-12
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-32
-9
8
37
138
116
84
7
0
0
0
0
0
0
0
0
0
-20
-92
-29
-46
-222
-64
11
62
-40
8
0
0
0
0
0
0
0
0
11
-160
55
40
42
-6
74
-87
28
0
0
0
0
0
0
0
-1
99
51
3
-4
40
65
-96
-3
-1
0
0
0
0
0
0
0
60
30
36
36
119
-107
19
-14
-2
-4
0
0
0
0
0
0
0
151
24
-34
-86
28
40
-1
0
0
0
0
0
0
0
0
0
0
25
2
-30
8
12
-1
-10
0
0
0
0
0
0
0
0
0
0
14
-84
-2
21
-2
8
-4
1
0
0
0
0
0
0
0
0
0
67
-47
36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-53
-184
-13
134
41
86
64
0
-9
0
0
0
0
0
0
0
41
6
120
-42
41
50
3
-51
21
37
1
0
0
0
0
0
0
69
5
-18
-52
-19
19
45
42
-14
-31
10
0
0
0
0
0
0
90
18
-24
53
-19
28
29
165
0
-13
0
0
0
0
0
0
0
-31
80
88
-27
83
-30
-34
8
-2
0
0
0
0
0
0
0
0
-86
-58
32
49
49
-16
-63
0
0
0
0
0
0
0
0
0
0
23
-8
-12
124
-122
42
19
0
0
0
0
0
0
0
0
0
0
27
-76
57
2
-23
-36
-6
-25
3
0
0
0
0
0
0
0
0
-62
-2
-111
33
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
101
-64
-25
31
-90
-46
20
0
-5
-4
0
0
0
0
0
0
0
-9
-34
20
43
-71
29
25
57
-27
3
0
0
0
0
0
0
0
165
-50
16
-6
33
-2
4
26
-32
-5
0
0
0
0
0
0
0
-9
11
44
38
46
-59
64
57
-22
0
0
0
0
0
0
0
0
11
18
-40
-15
-65
-28
-9
5
0
0
0
0
0
0
0
0
0
-30
-84
-12
-19
-77
-12
97
5
0
0
0
0
0
0
0
0
0
30
-80
-95
4
-51
102
19
2
0
0
0
0
0
0
0
0
0
-51
-28
-58
29
11
27
9
-7
0
0
0
0
0
0
0
0
0
66
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
-1
33
18
-18
0
9
0
0
0
0
0
0
0
0
0
9
60
18
-89
36
18
-20
9
-2
0
0
0
0
0
0
0
0
69
66
-62
7
31
120
11
-49
0
0
0
0
0
0
0
0
0
-32
-37
8
-18
57
23
-20
14
-2
0
0
0
0
0
0
0
0
61
171
22
-88
-58
44
10
0
0
0
0
0
0
0
0
0
0
27
1
23
61
-11
-1
-13
0
0
0
0
0
0
0
0
0
0
-113
-32
-20
-6
10
2
-1
0
0
0
0
0
0
0
0
0
0
47
-1
0
-8
6
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
9
-47
5
-82
0
0
0
0
0
0
0
0
0
0
0
0
-66
-24
-46
44
2
44
1
13
0
0
0
0
0
0
0
0
0
32
-23
-3
-33
-43
-5
5
0
0
0
0
0
0
0
0
0
0
1
2
-19
-8
4
8
1
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
7
-11
-17
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-1
3
3
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
0
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
2
-12
0
6
0
-18
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
0
0
3
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
-10
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
-13
-2
1
-10
1
0
0
0
0
0
0
0
0
0
-29
2
-92
-32
13
9
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
10
0
-5
0
2
0
0
0
0
0
0
0
0
0
4
0
8
0
-47
-5
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-80
39
12
14
-1
0
0
0
0
0
0
0
0
0
0
0
12
-19
0
-5
7
1
0
0
0
0
0
0
0
0
0
-2
-15
4
-24
-26
1
-7
1
-2
0
0
0
0
0
0
0
0
-13
2
22
83
-14
5
1
8
-10
0
0
0
0
0
0
0
0
0
59
0
0
0
5
1
-8
0
0
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
3
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
13
0
-21
-9
1
15
0
0
0
0
0
0
0
0
0
0
0
84
61
-12
23
-4
4
16
10
0
0
0
0
0
0
0
0
0
-10
27
-22
-27
24
10
-16
0
0
0
0
0
0
0
0
0
-5
11
-2
-41
-28
14
-29
4
-1
0
0
0
0
0
0
0
0
0
-15
39
-26
85
49
-24
0
-18
0
0
0
0
0
0
0
0
0
-56
-4
12
0
0
-2
2
-6
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
22
111
20
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
107
1
13
19
-8
-19
25
0
0
0
0
0
0
0
0
0
-6
-52
70
14
28
9
65
4
0
0
0
0
0
0
0
0
0
5
-1
56
13
-63
-63
34
-35
-6
0
0
0
0
0
0
0
0
0
11
-1
118
125
-45
1
-69
6
2
0
0
0
0
0
0
0
0
72
-33
-6
52
-3
-7
-7
3
0
0
0
0
0
0
0
0
2
-119
-10
44
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
17
85
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-57
6
102
0
0
0
-9
0
0
0
0
0
0
0
0
0
-29
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-30
-35
41
-4
-11
-48
-22
0
0
0
0
0
0
0
0
0
-2
42
94
-83
-15
-96
-2
-51
-4
0
0
0
0
0
0
0
0
-24
-98
-110
-77
-32
71
-22
-10
-25
0
0
0
0
0
0
0
0
-2
-47
131
59
93
-82
60
-17
1
-11
0
0
0
0
0
0
0
34
141
96
22
25
4
7
-6
2
0
0
0
0
0
0
0
0
23
-39
127
-32
-98
0
0
8
0
0
0
0
0
0
0
0
0
-31
59
-59
-158
-17
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
-105
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
60
-1
-44
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
57
8
97
-65
26
83
19
66
0
11
0
0
0
0
0
0
0
60
-32
-23
-114
-21
-9
6
-28
26
0
0
0
0
0
0
0
0
-75
12
42
-40
35
-30
-24
61
-19
-4
0
0
0
0
0
0
0
124
98
112
13
39
188
104
32
-31
0
0
0
0
0
0
0
0
-61
-142
-31
-23
167
-59
57
0
-9
0
0
0
0
0
0
0
0
57
63
66
-58
-23
-60
2
0
0
-2
0
0
0
0
0
0
0
-19
48
-59
28
-21
-21
0
0
0
0
0
0
0
0
0
0
0
36
-17
-10
34
39
16
0
0
0
0
0
0
0
0
0
0
0
79
-67
-21
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
122
-8
7
-74
-106
-28
-58
32
0
15
0
0
0
0
0
0
0
16
69
15
3
25
-13
10
1
-22
1
0
0
0
0
0
0
0
121
-125
35
-24
42
66
169
9
45
2
0
0
0
0
0
0
0
-41
49
33
-3
32
61
-83
15
70
33
0
0
0
0
0
0
0
-8
-25
65
31
85
82
41
179
-14
29
0
0
0
0
0
0
0
-52
-76
0
45
-47
-15
25
0
-3
0
0
0
0
0
0
0
0
-46
-42
-25
-10
80
42
11
0
0
0
0
0
0
0
0
0
0
-111
-47
32
-53
21
43
-13
0
0
0
0
0
0
0
0
0
0
-107
-22
177
-35
0
-23
0
4
0
0
0
0
0
0
0
0
0
0
43
79
134
57
-42
-32
32
0
-6
12
0
0
0
0
0
0
0
61
44
-65
27
72
-27
11
60
-146
5
0
0
0
0
0
0
0
-3
33
73
-52
5
-62
85
135
0
9
0
0
0
0
0
0
0
-8
28
-42
125
4
60
123
3
-30
0
0
0
0
0
0
0
0
42
22
19
-46
-59
34
-42
66
4
-1
0
0
0
0
0
0
0
-9
23
87
-61
-35
-14
-64
4
0
0
0
0
0
0
0
0
0
-8
-76
-50
136
-14
21
-39
0
0
0
0
0
0
0
0
0
0
-108
-65
-10
31
-50
-40
18
0
0
0
0
0
0
0
0
0
0
45
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
20
0
58
36
-26
0
-8
0
0
0
0
0
0
0
0
0
1
-168
74
103
37
45
17
-6
0
0
0
0
0
0
0
0
0
108
93
-32
32
-49
44
16
-56
1
0
0
0
0
0
0
0
0
41
30
44
-34
-9
-43
6
20
3
0
0
0
0
0
0
0
0
25
-35
-59
20
103
-22
2
4
0
0
0
0
0
0
0
0
0
86
17
45
-79
-23
4
2
0
0
0
0
0
0
0
0
0
0
34
35
-18
28
-2
22
-2
0
0
0
0
0
0
0
0
0
0
130
30
-59
1
0
5
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
-9
4
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
21
11
42
-25
-15
18
-32
0
0
0
0
0
0
0
0
0
0
-110
28
-4
15
29
3
3
0
0
0
0
0
0
0
0
0
0
1
0
-18
18
10
0
1
0
0
0
0
0
0
0
0
0
0
-2
-29
0
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
7
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-1
-5
-7
3
0
0
0
0
0
0
0
0
0
0
23
2
1
12
-12
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
2
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
9
0
0
3
7
0
0
0
0
0
0
0
0
0
0
0
-10
0
-3
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
4
-1
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
-4
2
-6
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
1
-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
-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
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
12
6
-14
14
4
2
0
0
0
0
0
0
0
0
0
0
0
4
-9
-37
-10
-6
1
0
0
0
0
0
0
0
0
0
0
2
0
16
-1
7
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
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
-4
0
9
-7
-3
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
87
40
0
16
-6
0
0
0
0
0
0
0
0
0
-1
1
-3
-48
0
-1
13
2
-2
0
0
0
0
0
0
0
0
0
3
0
11
-4
-14
3
8
0
0
0
0
0
0
0
0
0
0
1
-12
3
89
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
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
0
0
11
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-3
-6
4
1
2
0
0
0
0
0
0
0
0
0
0
2
65
27
-4
48
30
6
-32
0
0
0
0
0
0
0
0
0
0
-2
41
57
91
24
-73
-10
20
0
0
0
0
0
0
0
0
-2
-20
-42
-34
93
62
-28
10
12
0
0
0
0
0
0
0
0
23
-10
-4
-7
28
27
0
-4
2
0
0
0
0
0
0
0
0
0
-61
-10
-50
57
72
11
-1
0
0
0
0
0
0
0
0
0
16
-7
-48
10
64
0
0
0
11
0
0
0
0
0
0
0
0
-5
34
3
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
28
-18
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
51
-6
0
43
6
-36
1
0
0
0
0
0
0
0
0
0
13
32
55
14
14
19
35
-51
-3
0
0
0
0
0
0
0
0
-13
-12
-2
-72
14
-31
-84
1
11
-20
0
0
0
0
0
0
0
25
86
5
-22
21
-14
62
37
1
3
0
0
0
0
0
0
0
51
-57
78
-67
-14
-27
58
-20
-24
0
0
0
0
0
0
0
0
4
17
-94
-120
45
-29
-7
24
14
0
0
0
0
0
0
0
0
-1
-69
3
-35
37
32
0
0
0
0
0
0
0
0
0
0
0
-4
4
-31
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
62
-100
51
5
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-88
-37
-64
-32
6
-30
-20
0
0
0
0
0
0
0
0
0
-66
-34
95
-26
7
69
45
18
-39
10
0
0
0
0
0
0
0
-29
-30
22
56
77
98
12
-3
25
34
0
0
0
0
0
0
0
87
54
47
-42
30
83
14
79
24
-15
0
0
0
0
0
0
0
-95
-61
84
-5
6
-25
-88
-53
25
0
0
0
0
0
0
0
0
-139
-59
-29
20
-45
-38
68
-4
1
2
0
0
0
0
0
0
0
78
29
40
103
-73
42
-13
0
0
0
0
0
0
0
0
0
0
-147
-58
1
95
49
-21
-6
0
0
0
0
0
0
0
0
0
0
77
-75
-30
63
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
97
-115
-65
-82
44
-13
0
1
0
0
0
0
0
0
0
0
5
51
32
-40
-23
-10
5
41
43
-3
0
0
0
0
0
0
0
3
41
55
-15
10
5
139
65
69
0
0
0
0
0
0
0
0
19
42
-25
41
134
41
-14
31
9
0
0
0
0
0
0
0
0
89
84
-13
103
111
-89
-63
124
0
0
0
0
0
0
0
0
0
-35
-112
39
-11
20
36
-17
43
0
0
0
0
0
0
0
0
0
-74
-70
-9
44
62
24
22
0
0
0
0
0
0
0
0
0
0
25
23
22
-54
15
-8
-13
0
0
0
0
0
0
0
0
0
0
25
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
21
-6
-23
-56
0
-6
0
0
0
0
0
0
0
0
0
22
35
86
5
-23
17
-47
-18
-3
0
0
0
0
0
0
0
0
1
25
37
-16
56
25
71
5
2
0
0
0
0
0
0
0
0
50
8
48
30
11
5
-8
4
0
0
0
0
0
0
0
0
0
13
95
-67
13
36
7
-4
-1
0
0
0
0
0
0
0
0
0
4
0
1
74
8
45
0
0
0
0
0
0
0
0
0
0
0
-112
-14
87
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-2
47
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-84
28
3
6
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-17
11
-7
-7
-3
2
0
0
0
0
0
0
0
0
0
15
4
9
-4
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
4
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
1
0
1
-4
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-4
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
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
8
-28
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
4
7
1
-21
1
1
0
0
0
0
0
0
0
0
0
0
0
11
2
6
-12
-6
-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
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
4
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
0
0
0
-7
-5
0
0
-1
12
0
0
0
0
0
0
0
0
0
0
2
7
3
-7
8
-11
5
-2
0
0
0
0
0
0
0
0
1
0
3
-1
-2
48
0
-1
0
0
0
0
0
0
0
0
0
-3
6
10
20
30
13
-5
0
0
0
0
0
0
0
0
0
0
15
94
-30
42
47
-22
0
-1
0
0
0
0
0
0
0
0
0
-4
0
17
-69
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
112
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
-4
0
-10
0
0
0
0
0
0
0
0
0
0
24
-3
-81
-10
25
-54
23
32
3
0
0
0
0
0
0
0
0
93
12
61
-40
-32
100
77
13
20
0
0
0
0
0
0
0
0
-2
19
182
34
69
65
-60
86
9
0
0
0
0
0
0
0
0
118
-16
-14
-18
52
100
-18
27
0
0
0
0
0
0
0
0
0
7
-141
-61
0
80
-59
21
26
0
0
0
0
0
0
0
0
0
-90
-88
13
-3
-19
5
0
0
0
0
0
0
0
0
0
0
0
-29
74
-40
-31
-26
-13
0
0
0
0
0
0
0
0
0
0
0
15
-12
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
-5
0
0
1
3
0
0
0
0
0
0
0
0
0
0
-23
12
0
-6
2
19
-9
0
0
0
0
0
0
0
0
0
0
53
-5
2
0
5
-2
-6
-2
0
0
0
0
0
0
0
0
0
-21
-18
0
70
-54
-46
-11
16
-13
0
0
0
0
0
0
0
0
-28
28
-65
78
0
13
-1
-1
0
0
0
0
0
0
0
0
0
-2
-20
-41
-57
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
40
-37
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
80
-9
-13
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-44
-20
-7
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
-3
1
5
20
-8
19
-4
0
0
0
0
0
0
0
0
0
0
0
3
4
24
11
0
-7
0
0
0
0
0
0
0
0
0
0
-5
2
12
-14
-2
-35
17
4
0
0
0
0
0
0
0
0
0
4
-2
22
8
3
3
0
-1
0
0
0
0
0
0
0
0
0
-5
1
3
5
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
40
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
17
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
-4
0
0
0
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
98
31
-41
0
0
0
0
0
0
0
0
0
0
0
-13
5
38
5
111
-112
59
-99
0
0
0
0
0
0
0
0
0
0
-13
-15
-21
92
51
76
-166
0
0
0
0
0
0
0
0
0
-7
-8
-83
-6
32
106
-72
83
0
0
0
0
0
0
0
0
0
0
0
-1
61
-48
-49
-54
6
0
0
0
0
0
0
0
0
0
0
0
1
-9
20
2
-14
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
-14
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
-37
0
0
0
0
0
0
0
0
0
0
-5
-2
30
-20
82
0
0
0
0
0
0
0
0
0
0
0
0
11
-64
-160
-118
-68
0
0
0
0
0
0
0
0
0
0
0
-3
-107
-12
-57
-50
30
-46
7
22
0
0
0
0
0
0
0
0
9
-20
-28
-10
65
-33
117
34
18
0
0
0
0
0
0
0
0
9
-20
-7
19
-35
-87
-2
-1
-122
0
0
0
0
0
0
0
0
-4
11
31
58
-11
4
-48
-10
-22
0
0
0
0
0
0
0
0
0
-6
-3
15
7
-59
42
-116
-57
0
0
0
0
0
0
0
0
0
0
0
-34
-7
5
59
-86
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
7
0
0
0
0
0
0
0
0
0
0
6
-13
-20
-22
0
0
0
32
0
0
0
0
0
0
0
0
0
3
61
55
40
0
0
0
24
0
0
0
0
0
0
0
-5
-7
-50
22
-24
-1
14
-15
-17
44
0
0
0
0
0
0
0
-12
49
25
9
-63
36
-69
-70
7
31
0
0
0
0
0
0
0
0
5
112
84
-10
17
39
60
13
2
0
0
0
0
0
0
0
0
-7
-12
2
13
32
3
5
-69
38
0
0
0
0
0
0
0
0
0
2
-1
-26
55
145
-35
138
-17
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
16
-184
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
-77
-59
0
0
0
0
0
0
-13
0
12
12
-11
-112
0
0
0
32
-1
0
0
0
0
0
0
0
21
-35
39
8
93
-32
-24
-89
-30
-22
0
0
0
0
0
0
0
-3
-41
-8
48
35
10
-42
14
-5
24
0
0
0
0
0
0
0
1
0
-3
-45
-4
-1
-124
9
-79
-20
0
0
0
0
0
0
0
0
3
41
107
31
81
-107
-55
-60
-5
0
0
0
0
0
0
0
0
1
-11
-136
31
-33
4
-46
8
-4
0
0
0
0
0
0
0
0
0
0
-1
2
-4
10
33
12
20
0
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
5
0
0
0
-12
-1
0
0
0
0
0
0
0
-8
-1
11
0
49
0
0
0
-71
-16
0
0
0
0
0
0
0
0
-4
-14
-22
-1
89
129
16
0
19
-1
0
0
0
0
0
0
0
-12
1
81
-34
-92
-47
55
53
-5
0
0
0
0
0
0
3
7
8
-25
-49
13
-50
27
-50
9
-5
-28
0
0
0
0
0
0
-2
5
0
10
66
61
45
-9
-11
-4
7
0
0
0
0
0
0
0
1
1
-44
-40
7
12
-6
4
-31
0
0
0
0
0
0
0
0
0
4
-1
0
3
-2
10
-26
33
0
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
-4
0
0
0
0
0
5
-1
2
0
0
0
0
0
0
0
-25
-9
12
0
0
0
0
40
-2
-1
-1
0
0
0
0
3
-2
11
-54
-50
-101
-19
-84
-127
19
-4
11
0
0
0
0
0
0
0
8
24
33
28
31
57
3
-11
8
-6
0
0
0
0
0
0
-15
-3
1
19
22
32
-72
-6
-27
43
-5
0
0
0
0
0
0
0
0
-2
9
-33
18
-20
64
36
-3
1
0
0
0
0
0
0
0
0
-4
-1
14
-28
-59
-19
-49
4
8
0
0
0
0
0
0
0
0
0
0
-3
14
3
3
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
11
17
0
0
0
0
0
0
0
0
11
-53
2
0
0
0
0
-11
48
-18
11
0
0
0
0
0
1
-2
-28
-51
-37
-56
89
37
28
-17
9
-9
0
0
0
0
0
0
0
-15
-2
-28
109
3
-68
55
-13
-2
-7
0
0
0
0
0
0
-6
0
9
62
-21
-28
-18
-53
37
6
0
0
0
0
0
0
0
0
-3
-14
-3
-134
16
-81
13
-2
-2
0
0
0
0
0
0
0
0
-4
-5
0
-3
17
7
40
-16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-25
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
2
7
0
0
0
0
0
0
0
0
12
0
5
6
0
0
0
-58
15
2
-5
0
0
0
0
0
0
-1
0
-5
-17
5
-104
13
-50
-16
1
4
0
0
0
0
0
0
0
4
0
20
80
142
66
-71
3
14
-1
6
0
0
0
0
0
0
0
2
35
-33
-20
31
2
32
0
-11
-3
0
0
0
0
0
0
0
0
-11
4
35
-36
3
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-7
-7
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
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
89
-22
-25
41
0
0
0
0
0
0
0
0
0
0
0
-54
-24
-3
71
0
-120
0
0
0
0
0
0
0
0
0
0
0
6
139
23
17
47
-57
69
-32
0
0
0
0
0
0
0
0
0
5
19
17
-40
86
-21
59
53
0
0
0
0
0
0
0
0
0
11
4
-23
33
0
-27
117
130
0
0
0
0
0
0
0
0
0
-2
15
-49
52
-15
-146
-11
44
0
0
0
0
0
0
0
0
0
0
0
-30
-1
46
-60
-28
-59
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
1
-12
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
4
0
-108
18
56
-135
0
0
0
0
0
0
0
0
0
0
0
-4
-94
12
33
81
-119
0
0
0
0
0
0
0
0
0
0
0
-32
-56
43
69
17
-39
89
57
47
0
0
0
0
0
0
0
0
51
44
38
23
45
-20
-73
-38
-54
0
0
0
0
0
0
0
0
-16
-90
68
16
19
56
42
23
55
0
0
0
0
0
0
0
0
3
-25
-11
-50
16
73
-66
67
36
0
0
0
0
0
0
0
0
0
0
7
-59
82
-9
20
-128
62
0
0
0
0
0
0
0
0
0
0
0
148
-45
5
-18
-94
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
-6
0
0
0
0
0
0
0
0
0
1
-3
13
-7
68
0
0
0
16
0
0
0
0
0
0
0
-3
-28
-26
-82
52
146
0
0
0
102
0
0
0
0
0
0
0
0
-54
17
34
-131
-102
9
26
-16
26
0
0
0
0
0
0
0
15
141
-104
1
49
134
51
23
33
39
0
0
0
0
0
0
0
-3
-5
27
-33
-23
101
-21
70
9
-19
0
0
0
0
0
0
0
-16
0
23
21
-34
35
-42
-7
1
-78
0
0
0
0
0
0
0
0
0
0
-49
48
22
4
126
-78
36
0
0
0
0
0
0
0
0
0
0
2
-11
58
-48
9
72
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
-1
0
0
0
-94
11
0
0
0
12
-57
0
0
0
0
0
0
0
23
95
-117
37
-134
0
0
0
16
-33
0
0
0
0
0
0
-4
48
1
56
-78
-40
-21
-25
-35
118
-35
0
0
0
0
0
0
0
-54
-7
-106
-77
-40
140
-35
95
-34
-13
0
0
0
0
0
0
0
-7
-54
77
37
7
-14
-107
-6
-4
-27
0
0
0
0
0
0
0
15
22
0
-18
100
2
-58
-94
116
-45
0
0
0
0
0
0
0
0
0
-9
55
-23
-24
47
74
-64
-4
0
0
0
0
0
0
0
0
0
10
-2
-1
20
11
-79
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
10
9
0
0
0
0
0
0
3
11
0
0
0
37
0
0
0
97
-26
5
0
0
0
0
0
0
-5
-31
11
-41
81
0
0
0
18
-1
2
0
0
0
0
0
-3
-4
0
-49
-4
-101
-143
-24
-21
34
-30
10
0
0
0
0
0
0
10
9
-6
74
10
3
-146
-25
-44
12
-2
0
0
0
0
0
0
-10
1
-57
-20
-10
77
-5
-3
-50
-19
10
0
0
0
0
0
0
0
-1
-25
37
55
119
182
-132
-35
3
-1
0
0
0
0
0
0
0
0
18
14
-67
-28
70
18
46
17
0
0
0
0
0
0
0
0
0
-4
1
-3
11
55
-86
7
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-36
53
0
0
-10
0
0
0
36
2
-6
-2
0
0
0
0
0
-27
-122
8
-8
-65
0
0
0
-81
-44
-71
4
0
0
0
0
0
-14
-116
42
-66
-7
-42
21
0
81
32
-1
1
0
0
0
0
0
3
33
54
-150
-9
-18
-64
43
-45
-9
4
-6
0
0
0
0
0
0
7
-4
33
52
10
120
-19
105
-35
-23
-12
0
0
0
0
0
0
9
-8
17
-25
18
-99
-9
-158
58
-7
0
0
0
0
0
0
0
0
11
34
62
6
-77
-21
24
10
7
1
0
0
0
0
0
0
0
0
-2
0
-7
-27
-14
-24
20
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
1
-11
-76
0
0
0
0
0
73
-20
-3
4
0
0
0
0
0
-10
-7
-14
-70
30
0
0
0
59
-63
-1
-12
0
0
0
0
0
1
61
113
2
58
99
20
-24
43
84
5
3
0
0
0
0
0
0
-20
-12
-18
24
50
-54
2
19
-34
-9
3
-1
0
0
0
0
0
2
-9
45
50
-15
11
34
-50
116
12
16
1
0
0
0
0
0
0
12
16
128
-31
80
-14
-17
-16
-3
1
0
0
0
0
0
0
0
0
-33
-31
-16
32
27
-76
-11
0
0
0
0
0
0
0
0
0
0
9
0
1
2
-64
-2
-8
-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
20
1
15
0
0
0
0
-10
17
-11
-14
0
0
0
0
0
-7
-1
-11
14
37
0
0
0
12
-58
0
22
-1
0
0
0
0
0
-12
-3
-10
1
-9
16
-1
-21
-15
27
6
0
0
0
0
0
0
0
-26
-16
-66
-44
-147
5
83
-21
-33
7
-1
0
0
0
0
0
0
-3
6
57
16
-67
-30
5
19
13
-12
9
-1
0
0
0
0
0
-10
-17
6
1
58
32
-7
6
-9
2
0
0
0
0
0
0
0
0
0
-6
0
-5
-20
-4
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
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
-1
0
0
9
0
0
0
4
-1
0
1
0
0
0
0
0
0
1
1
1
13
0
0
0
-2
-13
6
0
0
0
0
0
0
0
4
0
25
0
-1
-14
-24
6
44
2
3
0
0
0
0
0
0
0
5
3
67
28
-39
-34
-16
-4
13
11
0
0
0
0
0
0
0
-5
0
-6
-58
-5
-27
14
19
-7
10
-2
0
0
0
0
0
0
0
-5
2
-18
-16
33
-5
2
-17
-6
3
0
0
0
0
0
0
0
0
0
-1
-3
4
-21
2
-19
5
0
0
0
0
0
0
0
0
0
0
-3
-1
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
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
17
0
0
0
1
-5
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
-2
3
0
0
0
0
0
0
0
0
-4
13
-19
28
3
-2
7
0
-1
0
0
0
0
0
0
0
0
0
0
1
4
3
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
-8
-8
0
-1
0
-2
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
-1
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-2
-1
8
0
0
0
0
0
0
0
0
0
0
2
2
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
3
6
-12
8
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
100
111
-6
0
0
0
0
0
0
0
0
0
0
0
76
-55
-26
57
8
49
0
0
0
0
0
0
0
0
0
0
0
21
63
-15
125
-82
-73
-76
-225
0
0
0
0
0
0
0
0
0
1
9
-81
8
27
45
134
53
0
0
0
0
0
0
0
0
0
-18
8
-7
14
8
109
47
68
0
0
0
0
0
0
0
0
0
0
0
27
13
-113
5
69
66
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-5
4
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
34
0
0
0
0
0
0
0
0
0
-16
-46
69
-31
-13
-38
0
0
0
0
0
0
0
0
0
0
1
-42
-15
50
0
-104
-65
0
0
0
0
0
0
0
0
0
0
0
-1
116
89
-17
-43
-18
-95
-120
-2
0
0
0
0
0
0
0
0
0
34
114
-50
70
-9
-20
16
9
0
0
0
0
0
0
0
0
-2
30
-5
27
80
41
34
63
37
0
0
0
0
0
0
0
0
13
-7
118
-10
84
-30
16
2
-23
0
0
0
0
0
0
0
0
0
0
0
34
8
40
16
-87
-49
0
0
0
0
0
0
0
0
0
-2
11
-13
-15
0
-2
-96
50
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
6
35
51
-35
33
-21
0
0
0
0
0
0
0
0
0
0
0
-13
-31
3
-101
-77
97
0
0
0
-29
0
0
0
0
0
0
0
0
9
-34
-15
1
52
87
-164
-46
-21
0
0
0
0
0
0
0
0
9
-4
12
84
44
-83
38
-29
19
0
0
0
0
0
0
0
5
-25
-18
55
-137
-34
-10
34
-18
-85
0
0
0
0
0
0
0
0
20
14
49
-53
-50
-36
-158
-13
60
0
0
0
0
0
0
0
0
0
0
9
54
18
-22
65
-52
92
0
0
0
0
0
0
0
0
0
-2
-17
1
42
-11
68
-24
47
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
33
-28
124
-4
83
0
0
0
16
9
0
0
0
0
0
0
3
-19
18
55
-20
-136
0
0
0
53
-81
0
0
0
0
0
0
-1
-4
4
-34
-71
40
-66
-7
16
-35
15
0
0
0
0
0
0
0
0
4
-8
-7
-20
-6
-12
65
-29
6
0
0
0
0
0
0
0
-11
-2
78
-156
17
-95
-5
-79
-19
43
0
0
0
0
0
0
0
10
13
52
77
5
-112
57
-30
92
-10
0
0
0
0
0
0
0
0
0
-19
3
55
9
57
-61
-76
5
0
0
0
0
0
0
0
0
0
4
-15
8
7
-37
-83
-15
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
-3
-6
-84
-8
0
0
0
-19
2
-3
0
0
0
0
0
0
44
34
-14
-56
-144
0
0
0
-38
33
3
0
0
0
0
0
0
11
-1
3
-38
44
-4
51
2
21
91
15
0
0
0
0
0
1
6
0
-1
17
4
7
53
-50
-58
61
-8
0
0
0
0
0
0
0
1
-40
-45
-134
-32
58
-61
35
1
-1
0
0
0
0
0
0
0
2
3
-2
34
152
128
34
-29
0
8
0
0
0
0
0
0
0
0
1
0
6
-42
-27
-30
74
6
-1
0
0
0
0
0
0
0
0
0
0
0
4
-38
-18
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
-3
10
0
-8
-8
0
0
0
-37
3
0
0
0
0
0
0
1
-15
-9
14
47
43
0
0
0
-109
-14
6
2
0
0
0
0
8
0
3
23
101
-29
-46
-111
-44
-66
34
-8
0
0
0
0
0
0
4
5
0
-30
77
-30
145
118
40
-48
51
0
0
0
0
0
0
-27
4
5
-54
23
11
36
-27
-20
6
-1
0
0
0
0
0
0
0
0
-12
-2
53
-160
-73
-32
-12
-1
-7
1
0
0
0
0
0
0
0
0
-2
71
-143
-51
-46
16
2
0
0
0
0
0
0
0
0
0
0
0
-6
25
-11
-47
3
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
2
0
6
3
0
0
0
23
-3
2
0
0
0
0
0
0
8
-9
-21
-25
1
0
0
0
-10
10
0
1
0
0
0
0
8
0
5
29
1
-2
-7
50
62
28
26
4
-3
0
0
0
0
0
13
-33
-22
19
-7
51
-42
2
71
6
-11
12
-2
0
0
0
0
2
0
-27
72
-2
-11
55
19
22
21
3
-4
0
0
0
0
0
4
0
10
-6
11
38
-110
48
7
-1
0
0
0
0
0
0
0
0
0
0
6
15
-3
-32
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
14
-5
4
9
0
0
0
-40
-3
19
0
0
0
0
0
0
1
-54
-9
-10
13
0
0
0
-5
40
-55
-2
0
1
0
0
0
0
5
28
0
1
-5
-17
-127
-41
23
9
1
2
0
0
0
0
-6
16
-3
-9
1
3
29
-10
65
-38
2
-1
-5
-1
0
0
0
0
-6
-7
-3
-106
57
-110
54
12
-49
0
-1
0
0
0
0
0
0
0
0
121
29
47
46
-64
-8
4
-8
-7
0
0
0
0
0
0
0
0
2
0
-18
56
31
0
-4
-4
0
0
0
0
0
0
0
0
0
3
-7
-15
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
-26
3
-4
0
0
0
0
0
-4
-4
0
0
0
0
0
0
17
-5
10
2
-9
0
0
0
6
-2
-7
2
15
0
0
0
0
-16
4
0
1
7
4
1
-15
-8
-3
0
0
0
0
0
0
0
0
0
13
-20
2
-21
-27
8
-70
6
-1
3
-4
0
0
0
0
0
0
39
-18
111
37
38
-7
-2
-17
0
11
3
0
0
0
0
0
0
0
-2
6
5
54
-84
1
0
-7
0
0
0
0
0
0
0
0
0
-6
11
-15
-24
-84
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
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
-17
3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
6
-9
-17
0
0
0
2
0
0
0
0
0
0
0
0
-16
0
-7
6
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
2
36
6
8
0
-3
-3
-1
0
0
0
0
0
0
0
0
-4
-1
0
-43
-1
-7
0
6
-1
0
0
0
0
0
0
0
0
2
-13
-6
13
-18
2
-1
-7
6
0
0
0
0
0
0
0
0
0
0
-12
-2
26
-16
-1
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
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
-1
0
0
0
0
0
0
0
0
0
0
7
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
4
-121
61
0
0
0
0
0
0
0
0
0
0
0
-12
23
68
-64
-6
257
0
0
0
0
0
0
0
0
0
0
0
-13
67
-104
23
-22
-27
5
-82
0
0
0
0
0
0
0
0
0
3
36
4
-77
-21
-118
6
82
0
0
0
0
0
0
0
0
0
-1
35
-63
13
54
8
34
52
0
0
0
0
0
0
0
0
0
0
0
-30
-73
-4
-10
64
-21
0
0
0
0
0
0
0
0
0
0
0
0
37
-10
49
-21
79
0
0
0
0
0
0
0
0
0
0
0
6
1
0
2
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
-24
0
0
0
0
0
0
0
0
0
38
-4
-33
28
-18
7
0
0
0
0
0
0
0
0
0
0
0
26
27
-29
-70
-156
33
0
0
0
0
0
0
0
0
0
0
0
3
103
-66
-97
-5
-2
-60
-157
-22
0
0
0
0
0
0
0
0
0
41
8
-141
76
33
-63
95
-5
0
0
0
0
0
0
0
0
0
0
-117
58
-13
29
-36
20
85
0
0
0
0
0
0
0
0
0
-37
-27
31
-146
-1
51
27
-84
0
0
0
0
0
0
0
0
13
-16
7
12
-3
64
54
85
58
0
0
0
0
0
0
0
0
0
0
0
8
-1
-49
-163
43
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
22
0
0
0
0
0
0
0
0
9
-23
42
-66
-61
46
0
0
0
-10
0
0
0
0
0
0
0
21
104
18
-29
56
-100
0
0
0
39
0
0
0
0
0
0
0
-1
-21
-4
-108
-19
27
-62
39
19
-117
0
0
0
0
0
0
0
0
0
2
17
-125
-2
60
29
-27
-76
0
0
0
0
0
0
0
0
0
-4
73
102
58
31
37
13
-85
0
0
0
0
0
0
0
0
3
-88
-4
-17
-19
-61
103
62
62
0
0
0
0
0
0
0
7
0
7
27
92
55
-6
55
25
-35
0
0
0
0
0
0
0
0
0
-28
20
-23
11
40
-90
-17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
22
-19
-23
-54
-1
-14
0
0
0
-70
8
0
0
0
0
0
0
-1
-36
-58
-46
9
-46
0
0
0
-120
8
0
0
0
0
0
0
0
-2
14
12
27
-40
11
-106
28
-27
-6
0
0
0
0
0
0
0
0
0
-2
-15
63
58
158
-57
49
0
0
0
0
0
0
0
3
0
0
33
125
-15
-35
18
-8
-59
-1
0
0
0
0
0
0
0
4
-15
42
16
34
-31
53
-39
16
11
0
0
0
0
0
0
0
0
1
52
-21
-1
-112
-54
-78
13
9
0
0
0
0
0
0
0
0
0
-8
0
-6
73
-106
15
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
13
50
1
27
-47
0
0
0
-33
-1
-1
0
0
0
0
0
0
-6
-2
-25
-39
-57
0
0
0
-77
7
0
0
0
0
0
0
0
-84
0
-31
16
5
37
42
-14
33
-6
-6
0
0
0
0
0
0
17
3
0
-6
100
-57
-103
-24
46
-3
1
0
0
0
0
0
10
0
0
-14
33
74
-71
103
44
29
18
1
0
0
0
0
0
0
0
11
7
52
-14
176
100
-40
-13
-1
0
0
0
0
0
0
0
0
0
12
31
-87
-29
94
-91
-48
6
0
0
0
0
0
0
0
0
0
2
-1
-27
-24
-31
-60
9
-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
59
24
3
66
0
0
0
-31
12
-2
0
0
0
0
0
0
-12
-4
-18
12
-51
0
0
0
-82
73
0
0
0
0
0
0
0
-1
-36
14
-4
0
-28
-21
-3
0
-19
0
1
0
0
0
0
0
-1
-2
19
0
-66
-25
72
-21
-120
0
-7
-1
0
0
0
0
-1
-11
1
7
0
-2
67
-31
36
64
-35
0
0
0
0
0
0
0
1
0
-19
-16
66
-11
-90
63
32
5
0
0
0
0
0
0
0
0
-12
1
4
13
26
-1
93
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
11
23
-34
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
10
0
35
6
11
0
0
0
1
0
0
0
0
0
0
0
0
8
56
-2
-14
20
0
0
0
-16
-4
13
-2
0
0
0
0
0
4
7
-52
0
-6
-4
129
-28
16
49
-2
-2
1
0
0
0
0
0
21
1
2
0
-6
-19
12
9
-10
-5
2
0
0
0
0
1
0
1
51
-6
5
-14
45
-31
23
-19
-3
-4
0
0
0
0
0
0
0
-6
-124
3
-43
17
43
9
1
-1
0
0
0
0
0
0
0
0
0
6
11
65
-32
-11
9
4
0
0
0
0
0
0
0
0
0
0
0
0
31
4
-23
-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
-17
35
0
0
16
0
0
0
0
-6
0
0
0
0
0
0
0
3
-8
11
6
-29
0
0
0
101
5
-7
-9
0
0
0
0
-3
4
-24
1
11
0
7
-8
56
-6
60
1
-4
0
0
0
0
0
-27
-3
4
1
28
-1
4
-49
67
3
8
-16
8
0
0
0
0
0
3
-22
3
-4
0
7
-1
12
19
0
-5
-6
0
0
0
0
-7
1
34
2
-39
-16
-72
-21
4
-1
-7
0
0
0
0
0
0
0
0
0
-22
24
-10
55
-17
11
3
0
0
0
0
0
0
0
0
0
0
0
-1
24
-23
-13
0
0
0
0
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
3
0
0
0
5
0
0
0
0
0
0
0
0
10
37
-12
-2
-14
0
0
0
0
8
0
0
-1
0
0
0
0
2
-2
41
-4
0
0
0
0
0
5
-1
-3
2
0
0
0
0
0
-15
-11
9
6
0
0
5
-4
0
0
0
0
0
0
0
-2
0
0
-11
-24
-69
-6
-5
0
-4
-3
0
8
4
0
0
0
0
4
-3
-8
-22
-1
1
-4
25
6
2
0
0
0
0
0
0
0
0
11
-20
-2
18
-48
-47
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-3
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
0
9
0
0
0
-48
0
0
0
0
0
0
0
0
0
-1
-13
13
11
-1
0
-15
0
0
0
0
0
0
0
0
0
0
0
10
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
21
-63
-2
-17
0
-1
0
0
-1
0
0
0
0
0
0
0
9
13
24
-21
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-9
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
9
0
0
0
0
2
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
5
-15
45
129
0
0
0
0
0
0
0
0
0
0
-4
74
67
75
-44
10
-77
0
0
0
0
0
0
0
0
0
0
0
81
19
-20
-69
-77
63
52
-98
0
0
0
0
0
0
0
0
0
4
-43
-16
-42
-33
-31
46
71
0
0
0
0
0
0
0
0
0
1
-21
88
52
60
122
51
-81
0
0
0
0
0
0
0
0
0
0
-1
-45
-65
-7
108
-72
35
0
0
0
0
0
0
0
0
0
0
0
2
35
16
-27
39
88
0
0
0
0
0
0
0
0
0
0
-4
0
-3
4
44
-11
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
49
0
0
0
0
0
0
0
0
0
-31
50
-6
-23
-1
-165
0
0
0
0
0
0
0
0
0
0
0
-33
42
-43
-6
-118
0
0
0
0
0
0
0
0
0
0
0
0
31
-109
-86
97
107
127
-23
-65
34
0
0
0
0
0
0
0
0
1
0
-7
26
72
56
-25
-43
41
0
0
0
0
0
0
0
0
0
16
-67
-69
104
7
-62
-57
-75
0
0
0
0
0
0
0
0
0
-9
69
48
3
25
74
67
4
0
0
0
0
0
0
0
0
-12
14
5
-34
-116
52
-41
-151
119
0
0
0
0
0
0
0
0
0
-2
-25
-50
30
-21
55
40
-16
0
0
0
0
0
0
0
0
0
0
-2
0
0
-9
13
-7
-22
0
0
0
0
0
0
0
0
12
4
119
0
38
72
0
0
0
-22
0
0
0
0
0
0
0
-23
-27
53
-4
-35
5
0
0
0
-96
0
0
0
0
0
0
0
-1
23
26
-9
-7
-13
131
6
-63
35
0
0
0
0
0
0
0
0
1
-14
-48
-73
-37
-113
30
-7
23
0
0
0
0
0
0
0
0
0
1
6
42
-16
72
-24
82
-82
0
0
0
0
0
0
0
0
0
1
-38
4
13
8
-54
-22
-19
0
0
0
0
0
0
0
32
-11
7
-12
-44
-46
120
99
55
36
0
0
0
0
0
0
0
0
0
0
-10
-6
-28
-30
20
-58
12
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
-30
-16
1
0
0
0
0
0
0
0
2
-11
-3
-18
-113
91
0
0
0
-21
-1
0
0
0
0
0
0
-5
-56
95
17
9
-86
0
0
0
-36
-4
0
0
0
0
0
0
-2
-28
59
-134
98
-36
-89
100
-25
-107
-3
0
0
0
0
0
0
7
0
0
-5
69
29
25
-31
6
81
0
0
0
0
0
0
0
-8
0
0
0
-5
16
-71
-24
56
-32
0
0
0
0
0
0
0
0
0
0
-6
51
-9
-9
10
-68
17
1
0
0
0
0
0
0
0
11
1
-9
21
13
-79
51
15
-17
-3
0
0
0
0
0
0
0
0
0
4
-9
-10
-47
80
60
-10
-18
0
0
0
0
0
0
0
0
0
0
0
13
-3
-13
2
6
0
0
0
0
0
0
0
0
-4
-54
-68
36
80
0
0
0
-10
-11
0
0
0
0
0
0
0
-3
41
51
-115
-31
0
0
0
-84
-24
-2
0
0
0
0
0
0
0
25
-32
-13
-72
-77
-17
-38
7
24
1
0
0
0
0
0
1
16
0
-7
29
38
-5
-49
58
-4
-1
-8
0
0
0
0
0
4
0
0
0
-3
-12
-30
-57
37
25
-6
4
0
0
0
0
0
0
3
0
0
-1
-99
18
-50
84
-24
-2
0
0
0
0
0
0
0
0
-7
-3
-33
-21
56
72
40
23
-2
0
0
0
0
0
0
0
0
0
0
13
-10
-2
-93
-7
12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
-12
4
-33
3
-7
0
0
0
11
5
0
0
0
0
0
0
0
4
-1
16
-32
-9
0
0
0
-29
18
0
0
0
0
0
0
9
-7
-26
50
-23
-25
-68
-24
-95
-21
16
0
0
0
0
0
0
7
-1
32
-1
2
-1
-8
54
40
-14
1
6
-3
0
0
0
0
0
0
7
-5
0
2
-56
47
-5
-62
-1
0
0
0
0
0
0
0
0
1
0
0
-3
51
21
54
-9
2
0
0
0
0
0
0
0
0
0
-15
-27
-16
1
-56
30
20
2
0
0
0
0
0
0
0
0
1
0
1
10
-35
0
6
32
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
-27
0
0
0
0
5
0
0
0
0
0
0
0
0
8
-11
34
-1
64
0
0
0
-50
0
0
-20
0
0
0
0
0
-3
-64
-4
4
20
41
-48
-66
-3
-12
1
0
0
0
0
0
0
-2
73
-1
0
0
5
42
-41
-13
0
3
0
0
0
0
0
0
0
-12
-10
22
0
-17
34
-5
1
-6
2
0
0
0
0
0
0
0
4
-16
0
-5
0
-15
-61
4
-7
0
0
0
0
0
0
0
-1
4
0
52
-8
8
2
39
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-10
9
4
58
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
0
0
0
0
0
0
0
0
0
-9
-5
0
-9
-8
0
0
0
-1
-2
0
0
0
0
0
0
3
-17
-31
1
-6
50
0
0
0
-7
-1
-1
2
-2
0
0
0
0
-7
-131
54
8
0
-37
87
-7
-2
2
3
0
0
0
0
0
0
-1
40
12
-103
1
0
-11
34
-17
1
0
-2
-2
0
0
0
0
0
0
23
-5
0
0
0
-45
3
-1
-5
0
0
0
0
0
0
0
-5
-10
-84
0
-5
-4
-87
-3
19
22
0
0
0
0
0
0
0
0
0
0
-16
-8
10
3
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-9
-17
-30
0
0
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
24
-10
-10
0
-3
0
0
0
24
1
0
0
0
0
0
0
0
-2
11
-14
3
8
-24
-16
76
5
-3
0
0
0
0
0
0
0
-1
-3
97
6
35
0
0
0
5
0
3
0
0
0
0
0
0
0
0
-33
-20
-3
-9
0
0
9
12
-1
-3
0
0
0
0
0
1
0
-9
7
33
1
-2
0
2
7
-1
0
0
0
0
0
0
0
7
0
-11
5
-46
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
18
5
40
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
-3
-15
2
0
0
0
-2
0
0
0
0
0
0
0
0
4
-13
1
3
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
-22
-6
0
5
-2
32
0
0
0
0
0
0
0
0
0
-20
19
0
-4
-14
31
-4
2
0
0
0
2
0
0
0
0
0
0
0
-5
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
23
2
0
0
0
-3
-2
0
0
0
0
0
0
0
0
7
22
1
0
-20
-18
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
25
39
-74
0
0
0
0
0
0
0
0
0
0
5
-99
-38
25
-6
67
-35
0
0
0
0
0
0
0
0
0
0
0
22
23
-92
-61
-39
-55
48
9
0
0
0
0
0
0
0
0
0
-12
-33
-13
30
-73
-44
89
84
0
0
0
0
0
0
0
0
0
0
-30
-17
40
-77
-14
11
-99
0
0
0
0
0
0
0
0
0
0
2
-7
21
40
102
39
3
0
0
0
0
0
0
0
0
0
0
0
2
-60
103
-1
9
63
0
0
0
0
0
0
0
0
0
0
1
-23
11
-29
36
124
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
27
-64
0
0
0
0
0
0
0
0
0
13
-46
-39
-78
30
-64
0
0
0
0
0
0
0
0
0
0
0
73
-86
-43
-16
-201
102
0
0
0
0
0
0
0
0
0
0
0
6
-121
30
-45
-73
24
-49
-132
49
0
0
0
0
0
0
0
0
8
30
-34
-7
21
-115
10
-8
-165
0
0
0
0
0
0
0
0
0
-1
99
59
30
33
26
19
71
0
0
0
0
0
0
0
0
0
0
26
65
25
-79
56
-89
124
0
0
0
0
0
0
0
0
0
0
-22
-37
-3
-10
-17
-138
-21
0
0
0
0
0
0
0
0
0
2
-3
17
-75
96
-39
38
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
46
2
-80
0
0
0
0
0
0
0
0
-24
-7
-15
-62
69
19
0
0
0
-39
0
0
0
0
0
0
0
-34
23
76
144
-37
43
0
0
0
102
0
0
0
0
0
0
0
21
27
-56
-115
-37
6
42
41
42
-5
0
0
0
0
0
0
0
-16
-15
52
44
-100
-71
14
-30
-29
-14
0
0
0
0
0
0
0
0
2
6
128
23
54
-36
-95
-88
28
0
0
0
0
0
0
0
0
0
0
15
-35
29
-64
92
87
-48
0
0
0
0
0
0
0
0
0
1
5
-91
72
-169
-76
81
-15
0
0
0
0
0
0
0
0
1
22
14
-27
64
-8
-99
-68
65
0
0
0
0
0
0
0
0
0
0
-8
0
-31
-73
-22
-23
-6
0
0
0
0
0
0
0
0
-5
-23
43
-32
-18
0
0
0
33
-42
0
0
0
0
0
0
3
-12
-157
19
103
72
0
0
0
65
22
0
0
0
0
0
0
-3
-27
1
-55
-121
-79
-132
-72
-36
-6
-59
0
0
0
0
0
0
-1
-23
-62
-1
66
-163
-39
41
-55
-38
2
0
0
0
0
0
0
-3
0
-7
0
-20
-55
-115
-60
55
-7
-11
0
0
0
0
0
0
0
0
0
0
37
90
39
-71
87
43
2
0
0
0
0
0
0
0
0
0
5
24
89
-5
17
-91
-16
2
0
0
0
0
0
0
0
0
3
-5
-7
92
27
-78
2
-27
-4
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
20
19
0
0
0
0
0
0
0
0
-6
8
1
13
0
0
0
0
6
0
0
0
0
0
0
0
0
34
-12
9
42
76
0
0
0
-31
-44
0
0
0
0
0
0
4
48
14
-96
118
-108
10
-124
98
51
-3
-12
0
0
0
0
0
5
9
-47
-34
80
-26
-98
-2
-75
11
2
0
0
0
0
0
0
-1
4
0
0
4
-58
20
13
57
-23
-13
0
0
0
0
0
0
0
0
0
0
-3
31
8
-120
107
-14
0
-1
0
0
0
0
0
0
1
0
0
4
31
67
-161
21
-21
-10
0
0
0
0
0
0
0
0
0
-2
0
21
-39
-7
172
2
-9
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
20
29
0
-3
0
0
0
-6
1
-1
0
0
0
0
0
0
-9
-72
82
41
27
0
0
0
-31
-6
0
0
0
0
0
0
0
-16
8
-3
-91
75
2
-5
-59
1
-3
-3
0
0
0
0
0
-1
-4
-4
87
-45
-7
25
-14
-47
5
18
-6
-2
0
0
0
0
5
0
-28
0
0
5
35
30
-41
46
7
0
0
0
0
0
0
0
0
0
0
0
6
-71
-9
27
-23
0
-1
0
0
0
0
0
0
0
1
0
0
0
-29
-18
-85
-3
8
0
0
0
0
0
0
0
0
0
5
1
0
1
38
70
-35
0
0
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
-44
1
-1
0
0
0
-3
0
0
0
0
0
0
0
1
-1
14
-48
-24
8
0
0
0
-7
-3
0
0
0
0
0
0
0
0
-16
0
-68
-3
37
-21
-5
-1
0
-1
0
0
0
0
0
0
0
-8
2
75
58
-4
4
22
5
-2
0
0
0
0
0
0
6
-2
-16
34
0
0
-7
-4
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
44
-16
-5
6
0
0
0
0
0
0
0
0
5
0
0
0
24
-89
-13
-1
0
0
0
0
0
0
0
0
7
0
0
0
-45
-2
20
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
0
8
0
0
0
0
0
0
0
0
0
0
3
8
0
0
0
0
-2
-3
0
0
0
0
0
0
0
5
0
-18
10
-1
0
0
0
4
1
0
0
0
0
0
0
0
0
19
-1
-3
-15
13
20
13
0
0
0
0
0
0
0
0
0
0
2
93
8
-105
-10
-66
-4
3
0
-7
0
0
0
0
0
5
-1
-10
-6
-21
0
9
0
-1
4
0
1
5
0
0
0
0
0
0
0
0
-13
0
0
1
10
0
0
0
2
0
0
0
0
0
0
0
-1
6
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
4
-13
-22
0
0
0
4
0
0
0
0
0
0
0
0
16
10
-9
1
-43
28
19
-7
0
0
0
0
0
0
0
0
0
0
0
-34
87
13
71
16
-14
0
0
0
0
0
0
0
0
1
0
-4
-52
52
61
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
69
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
-2
1
0
3
-12
17
-13
0
0
0
0
0
0
0
0
0
0
3
0
-9
4
7
-11
3
-4
0
0
0
0
0
0
0
0
0
7
0
-3
-62
-17
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
0
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
12
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
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-12
-46
-20
0
0
0
0
0
0
0
0
0
0
-8
-78
-5
14
103
23
11
0
0
0
0
0
0
0
0
0
0
0
-6
-60
14
-5
27
10
99
74
0
0
0
0
0
0
0
0
0
-24
-139
-73
-57
-21
-65
-47
-38
0
0
0
0
0
0
0
0
0
1
20
82
113
11
52
-43
-12
0
0
0
0
0
0
0
0
0
0
5
93
11
27
55
-83
-11
0
0
0
0
0
0
0
0
0
0
8
1
-57
27
-31
-63
77
0
0
0
0
0
0
0
0
0
0
-1
-25
-1
17
-51
-13
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
1
0
0
0
0
0
0
0
0
0
0
-3
41
-231
-20
2
34
0
0
0
0
0
0
0
0
0
0
0
0
39
-63
-109
-65
135
0
0
0
0
0
0
0
0
0
0
0
-31
-67
-100
-58
-35
69
34
-30
-10
0
0
0
0
0
0
0
0
13
-72
34
-5
-20
46
-36
73
-72
0
0
0
0
0
0
0
0
-1
-16
-18
-65
-8
10
-51
16
51
0
0
0
0
0
0
0
0
0
0
40
127
18
32
-24
-165
69
0
0
0
0
0
0
0
0
0
0
9
-1
-184
-31
13
126
-71
0
0
0
0
0
0
0
0
0
0
1
5
82
-66
-43
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
45
-23
0
0
0
0
0
0
0
0
-4
-1
23
62
-73
-11
0
0
0
102
0
0
0
0
0
0
0
23
28
-13
8
-26
-33
0
0
0
38
0
0
0
0
0
0
0
-11
35
49
-58
50
-41
-31
44
-33
-6
0
0
0
0
0
0
0
-11
71
-65
-40
13
-11
-5
21
50
-39
0
0
0
0
0
0
0
-33
70
-80
90
-82
108
-8
135
6
-1
0
0
0
0
0
0
0
0
0
-11
73
163
4
49
-101
-16
-60
0
0
0
0
0
0
0
0
0
0
13
16
61
38
11
24
13
0
0
0
0
0
0
0
0
0
0
-19
-49
2
-45
125
20
-72
0
0
0
0
0
0
0
0
0
7
-6
0
45
17
-32
89
7
0
0
0
0
0
0
0
0
-3
-33
-70
27
-64
0
0
0
-21
-89
0
0
0
0
0
0
-8
-4
-56
-10
7
43
0
0
0
-143
-61
0
0
0
0
0
0
-6
3
-24
39
-65
16
-30
-93
-8
4
-14
0
0
0
0
0
0
-2
-3
-13
19
18
-19
1
-4
-26
5
-5
0
0
0
0
0
0
9
-24
20
-86
-32
47
-115
30
-77
56
0
0
0
0
0
0
0
1
0
5
0
-27
97
-33
10
11
-1
0
0
0
0
0
0
0
0
0
0
0
16
-47
14
100
-146
39
31
0
0
0
0
0
0
0
0
0
0
0
42
47
18
-9
24
-14
0
0
0
0
0
0
0
0
0
0
1
8
41
-30
97
15
0
0
0
0
0
0
0
0
0
0
-5
11
-2
0
0
0
-13
1
0
0
0
0
0
0
0
14
78
36
-32
-95
0
0
0
-25
42
0
0
0
0
0
0
0
-3
-4
37
43
9
42
34
-76
23
1
0
0
0
0
0
0
0
-9
25
72
41
-14
-11
20
-52
0
0
0
0
0
0
0
0
3
-2
14
-8
1
8
21
4
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-67
-38
-9
-32
0
0
0
0
0
0
0
0
0
0
0
0
-3
39
34
73
13
1
0
0
0
0
0
0
0
0
0
0
0
77
-16
9
-56
17
-6
-7
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-10
0
0
0
0
0
0
0
0
3
0
-10
-5
-5
0
0
0
-3
-1
0
0
0
0
0
0
6
0
-38
20
-19
2
0
0
0
51
3
0
0
0
0
0
0
0
0
-7
-12
5
85
-50
17
-25
-4
-3
-3
0
0
0
0
0
0
-2
46
56
-30
-34
-176
20
-66
17
-2
0
0
0
0
0
0
0
-12
0
16
-64
-158
-25
67
-66
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
26
-16
126
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-47
43
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-16
-40
28
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
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-10
-1
-1
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
-1
28
-2
-29
0
14
0
0
0
0
0
0
0
0
0
0
13
-7
-25
38
58
6
-13
-3
0
0
0
0
0
0
0
0
19
28
10
-49
19
-13
17
4
0
-5
3
0
0
0
0
0
0
0
0
0
0
2
1
15
6
-2
1
0
4
0
0
0
0
0
0
0
0
0
0
0
1
5
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-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
-2
0
0
0
-2
0
0
0
3
7
0
0
0
0
0
0
0
0
-2
-11
0
-29
0
0
0
-17
-5
0
0
0
0
0
0
0
0
1
4
4
-1
4
42
4
0
0
6
0
0
0
0
0
0
0
14
-9
-28
25
33
50
-7
12
3
4
0
0
0
0
0
0
11
-11
-2
1
32
-44
-62
1
0
-1
0
0
0
0
0
0
0
0
0
0
91
0
10
0
-23
2
5
0
-5
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
-19
-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
2
4
-2
14
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
-11
-18
-7
-22
5
0
0
0
0
0
0
0
0
0
0
0
-12
2
8
34
9
-20
2
0
0
0
0
0
0
0
0
0
0
17
27
-6
15
-14
-56
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
10
-7
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-23
58
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-8
-8
-10
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-29
-36
21
-45
0
0
0
0
0
0
0
0
0
0
-2
-4
-85
-71
119
20
-71
-33
64
0
0
0
0
0
0
0
0
0
-19
-53
-39
-53
-32
-53
-12
83
0
0
0
0
0
0
0
0
0
13
-47
38
-48
-19
15
-21
26
0
0
0
0
0
0
0
0
0
-12
7
-6
-12
47
-87
97
56
0
0
0
0
0
0
0
0
0
0
-14
5
-4
-42
16
5
113
0
0
0
0
0
0
0
0
0
0
4
-11
31
21
-6
118
13
0
0
0
0
0
0
0
0
0
0
-20
0
0
5
10
42
1
0
0
0
0
0
0
0
0
0
0
-145
-125
43
-4
113
0
0
0
0
0
0
0
0
0
0
0
-46
-71
-73
-9
42
-61
0
0
0
0
0
0
0
0
0
0
0
-7
-42
7
-10
3
-65
47
-104
-37
0
0
0
0
0
0
0
0
-18
-64
-22
-26
-13
70
-2
93
-19
0
0
0
0
0
0
0
0
0
-94
-16
57
-21
102
-91
55
-26
0
0
0
0
0
0
0
0
3
-20
-33
86
-60
48
53
42
36
0
0
0
0
0
0
0
0
0
0
10
58
125
109
-89
-2
-46
0
0
0
0
0
0
0
0
0
0
3
-47
51
-4
-16
-36
29
0
0
0
0
0
0
0
0
0
0
0
1
0
-36
22
-19
-27
0
0
0
0
0
0
0
0
0
1
0
32
-2
12
0
0
0
-14
0
0
0
0
0
0
0
-26
-5
-21
-2
-40
-4
0
0
0
-16
0
0
0
0
0
0
0
-2
5
16
-18
28
50
-39
63
-65
-29
0
0
0
0
0
0
0
0
-17
-7
-7
-34
56
-97
45
16
57
0
0
0
0
0
0
0
-9
-23
-119
23
-89
-51
122
8
-38
-29
0
0
0
0
0
0
0
2
7
-65
-55
17
-32
70
78
92
47
0
0
0
0
0
0
0
0
0
0
42
106
48
-10
-38
-92
22
0
0
0
0
0
0
0
0
0
0
1
66
10
39
108
9
22
0
0
0
0
0
0
0
0
0
0
0
0
-38
13
135
32
3
0
0
0
0
0
0
0
0
4
0
-18
1
0
0
0
0
2
-8
0
0
0
0
0
0
-6
-5
-23
51
0
10
0
0
0
-53
-66
0
0
0
0
0
0
-3
7
82
-70
10
144
32
-95
106
-42
-13
0
0
0
0
0
0
3
-9
-21
16
-60
-98
-141
125
-8
6
6
0
0
0
0
0
0
0
1
78
44
-56
-63
39
-58
-61
45
0
0
0
0
0
0
0
0
-4
-2
-44
49
-1
-21
66
0
-12
0
0
0
0
0
0
0
-1
0
0
0
30
-36
-114
-73
-31
2
0
0
0
0
0
0
0
0
0
0
0
-1
40
13
103
41
-66
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
68
15
12
0
0
0
0
0
0
0
0
0
0
15
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
0
-14
-4
0
0
0
0
0
0
0
5
5
-6
19
-14
-4
-13
26
7
0
0
0
0
0
0
0
0
-2
27
-33
-21
-23
-36
28
46
3
0
0
0
0
0
0
0
0
0
-5
30
-104
4
23
5
63
-13
0
0
0
0
0
0
0
0
0
0
-1
27
-72
60
19
-104
6
0
0
0
0
0
0
0
0
0
0
0
0
-57
-8
4
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
21
0
-2
0
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
6
0
0
14
0
0
0
8
2
0
0
0
0
0
0
0
0
5
16
0
1
-3
-5
-9
0
1
0
0
0
0
0
0
0
0
0
-32
52
13
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
19
18
21
11
1
0
1
0
0
0
0
0
0
0
0
0
2
-4
35
3
-9
-52
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-13
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
-3
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
11
-2
-4
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-2
0
4
3
2
0
0
0
0
0
0
0
0
0
0
-4
0
-26
0
2
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
0
0
1
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
-1
18
10
0
0
1
0
0
0
0
0
0
0
0
0
-5
3
-4
14
0
0
0
-5
19
0
0
0
0
0
0
0
0
1
-73
-12
-4
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
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
-3
0
0
0
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
5
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
1
0
7
0
0
0
-2
0
0
0
0
0
0
0
4
-1
0
3
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
5
0
0
0
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
-19
-16
-91
-22
-5
56
0
0
0
0
0
0
0
0
0
0
1
0
-32
7
23
-10
-3
22
81
0
0
0
0
0
0
0
0
5
-22
-122
50
-153
-131
64
-38
71
0
0
0
0
0
0
0
0
10
-2
8
26
-8
27
15
-57
23
0
0
0
0
0
0
0
0
0
-9
30
67
-71
33
6
-93
-11
0
0
0
0
0
0
0
0
0
0
0
11
36
12
54
0
-36
0
0
0
0
0
0
0
0
0
0
0
13
9
13
44
-49
78
0
0
0
0
0
0
0
0
0
0
8
0
1
0
45
-24
-62
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
-2
37
-18
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
29
-7
-46
-16
34
-17
34
-112
0
0
0
0
0
0
0
0
-6
-11
-31
-98
24
-48
13
-73
-114
0
0
0
0
0
0
0
0
-8
-6
15
-44
-39
41
-133
-24
-7
0
0
0
0
0
0
0
0
0
-8
9
-96
-49
-129
131
-68
34
0
0
0
0
0
0
0
0
0
0
-25
1
40
-2
-10
31
22
0
0
0
0
0
0
0
0
0
0
0
7
66
11
-21
-33
-80
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-12
42
-50
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
9
0
-7
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
-10
-13
-10
0
-31
39
-7
-5
0
0
0
0
0
0
0
0
-7
-4
-18
26
103
-9
-9
-47
31
0
0
0
0
0
0
0
0
0
0
24
-65
42
-38
-4
-147
1
0
0
0
0
0
0
0
0
2
0
-6
8
25
31
-40
3
1
0
0
0
0
0
0
0
0
0
2
0
-14
17
-1
34
14
8
0
0
0
0
0
0
0
0
0
0
0
-6
14
0
20
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
23
-4
22
-2
51
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
-2
0
0
-2
-12
-10
1
-9
0
0
0
0
0
0
0
0
0
0
0
-12
8
-1
4
-5
-1
2
0
0
0
0
0
0
0
0
0
1
0
-11
-5
9
-13
-2
0
0
0
0
0
0
0
0
0
-8
0
1
1
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
27
1
25
-2
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
3
0
-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
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-20
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
10
22
0
19
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
7
21
0
6
0
0
0
0
0
0
0
0
0
56
1
-66
-2
54
22
-11
0
0
0
0
0
0
0
0
0
0
18
-24
52
0
-3
1
6
1
0
0
0
0
0
0
0
0
0
-16
-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
42
0
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
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
20
0
-7
13
-9
-65
-10
-5
0
0
0
0
0
0
0
0
0
51
19
-5
49
-110
-66
-10
0
0
0
0
0
0
0
0
0
0
2
-13
-3
-69
-94
39
22
41
-1
-1
0
0
0
0
0
0
0
0
31
-9
76
16
6
-8
-41
10
0
0
0
0
0
0
0
0
0
42
-6
66
0
-3
-30
0
0
3
0
0
0
0
0
0
0
0
0
-36
-1
-24
-3
0
0
-3
0
0
0
0
0
0
0
0
0
3
-15
-40
-1
0
-3
26
-1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
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
-6
0
1
24
26
7
7
0
0
0
0
0
0
0
0
0
5
-4
2
27
76
-44
-26
7
0
3
0
0
0
0
0
0
0
2
-16
27
-61
61
7
-36
-10
0
0
0
0
0
0
0
0
0
2
17
1
-30
61
-14
40
3
0
-1
0
0
0
0
0
0
0
0
-5
-7
85
-4
-33
-35
0
-4
0
0
0
0
0
0
0
0
0
-7
0
-10
6
-18
5
-4
-3
0
0
0
0
0
0
0
0
0
-1
-3
16
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
69
15
0
-63
18
-52
-4
0
0
0
0
0
0
0
0
0
0
-21
59
12
-49
-134
155
13
3
0
0
0
0
0
0
0
0
5
-3
9
-5
62
-64
5
-1
0
0
0
0
0
0
0
0
0
0
15
49
32
-70
-4
10
3
1
0
0
0
0
0
0
0
0
0
8
34
11
-5
-51
29
-2
-1
0
0
0
0
0
0
0
0
2
1
-10
0
1
1
-5
38
-3
0
0
0
0
0
0
0
0
-1
0
4
-1
12
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
-3
1
1
0
-1
-55
3
0
0
-1
0
0
0
0
0
0
-25
10
5
38
43
35
45
10
2
0
0
0
0
0
0
0
0
1
-31
0
-16
5
-7
49
35
-1
0
0
0
0
0
0
0
0
-11
0
-23
33
26
-4
2
0
8
-3
0
0
0
0
0
0
0
0
-3
8
0
5
-3
1
6
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
0
-15
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
106
0
0
-4
-15
0
-3
0
0
0
0
0
0
0
-33
38
14
83
8
-3
-6
1
24
0
0
0
0
0
0
0
0
1
-24
-26
-12
33
-55
21
-28
5
2
0
0
0
0
0
0
0
1
4
3
-7
-2
23
-1
-5
-10
0
0
0
0
0
0
0
0
0
3
2
-14
5
0
3
-4
3
0
0
0
0
0
0
0
0
0
4
0
0
5
1
3
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-16
0
4
0
0
0
0
0
0
0
0
0
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
0
0
0
-5
2
10
-2
0
-29
0
-1
0
0
0
0
0
0
0
5
-80
30
48
43
16
93
-6
-7
5
-1
0
0
0
0
0
0
8
-8
-43
6
0
21
28
-9
-3
-3
0
0
0
0
0
0
0
0
22
-19
-3
-33
13
-50
6
0
20
0
0
0
0
0
0
0
0
-4
0
22
-2
-5
-12
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
1
5
15
-2
0
0
0
0
0
0
0
0
0
0
-3
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
-11
-1
0
0
-6
-1
0
0
0
0
0
0
-1
5
2
-52
-56
-41
-3
6
5
22
-9
0
0
0
0
0
0
0
0
-2
34
-18
13
11
24
25
17
0
0
0
0
0
0
0
0
0
1
2
-5
-3
-1
-6
12
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
-13
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
37
5
16
-4
-5
1
0
0
0
0
0
0
0
0
0
-2
65
-38
25
-117
25
-20
1
0
0
0
0
0
0
0
0
0
-123
-47
-54
8
0
7
-4
-1
0
0
0
0
0
0
0
0
0
-94
-40
32
12
-5
-10
-10
0
0
0
0
0
0
0
0
0
0
13
6
-9
19
-21
-5
1
0
0
0
0
0
0
0
0
0
0
-41
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-74
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
-49
-35
5
-16
0
-40
15
8
0
0
0
0
0
0
0
0
0
40
-145
65
39
64
117
9
192
42
4
0
0
0
0
0
0
0
8
58
-1
-164
-104
-76
-21
9
-11
0
0
0
0
0
0
0
0
25
-112
-12
259
-8
43
-7
-16
-59
0
0
0
0
0
0
0
0
24
163
-13
-20
77
-44
90
15
16
-16
0
0
0
0
0
0
0
1
6
69
76
2
-31
-1
-17
-11
0
0
0
0
0
0
0
0
0
-5
52
108
-40
-2
-7
19
0
0
0
0
0
0
0
0
0
0
74
0
-42
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
14
14
29
-98
18
-92
116
4
0
0
0
0
0
0
0
0
0
-1
148
46
-42
180
24
-5
10
-7
0
-1
0
0
0
0
0
0
-56
-56
-57
-44
-86
32
54
-39
35
-3
0
0
0
0
0
0
0
4
-35
14
2
-6
24
29
-14
33
-8
0
0
0
0
0
0
0
1
20
31
132
10
-3
68
27
-2
0
0
0
0
0
0
0
0
2
-16
39
36
-17
-27
-16
0
-2
0
0
0
0
0
0
0
0
0
1
75
0
14
0
0
4
0
0
0
0
0
0
0
0
0
0
8
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
-6
-2
-45
27
66
63
-25
-21
0
2
0
0
0
0
0
0
0
0
-30
-90
15
45
61
-12
-64
-8
0
3
0
0
0
0
0
0
-20
23
37
114
48
-44
41
10
-19
0
0
0
0
0
0
0
0
34
-59
15
-89
-55
-35
3
-16
-11
9
0
0
0
0
0
0
0
0
-36
-92
84
46
79
24
0
-2
0
0
0
0
0
0
0
0
-15
-35
0
-11
-10
-1
5
-6
-5
0
0
0
0
0
0
0
0
1
4
4
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
-35
13
118
46
25
-47
75
73
0
3
0
0
0
0
0
0
0
-14
51
32
-9
-7
70
85
-42
8
0
-1
0
0
0
0
0
0
41
1
29
33
73
-58
4
51
-79
-2
0
0
0
0
0
0
0
-11
10
45
60
-43
-18
64
1
-3
-3
0
0
0
0
0
0
0
45
26
-22
-4
4
-14
-44
0
0
0
0
0
0
0
0
0
0
0
-11
-35
34
6
-10
-10
-1
0
0
0
0
0
0
0
0
0
0
1
39
0
0
14
0
0
1
0
0
0
0
0
0
0
0
0
-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
-6
26
104
-34
75
38
-23
38
0
0
0
0
0
0
0
0
0
6
61
11
39
33
-47
38
74
56
-5
-1
0
0
0
0
0
0
-1
45
-68
59
52
-14
43
-98
-14
0
0
0
0
0
0
0
0
21
21
-17
33
-62
-75
37
-7
-1
-4
0
0
0
0
0
0
0
6
20
14
51
-9
31
1
0
0
0
0
0
0
0
0
0
0
0
-17
-2
3
-1
-10
3
13
-1
0
0
0
0
0
0
0
0
0
7
-43
34
8
0
8
0
0
0
0
0
0
0
0
0
0
0
-10
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
9
-7
-16
-16
106
-12
-60
-1
0
2
0
0
0
0
0
0
0
-1
45
57
40
58
8
24
-6
-40
-3
6
0
0
0
0
0
0
14
-10
-6
30
48
-83
5
38
-42
-7
0
-2
0
0
0
0
0
-7
-37
48
-49
-2
-26
-73
-9
-8
-3
4
0
0
0
0
0
0
-3
-28
56
-4
-16
-68
-20
0
3
0
3
-2
0
0
0
0
0
0
2
0
16
-21
40
-4
0
0
-1
0
0
0
0
0
0
0
0
15
1
-8
-1
-4
-6
0
0
0
0
0
0
0
0
0
0
0
5
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
-3
-4
73
-29
1
-23
0
-4
-4
0
0
0
0
0
0
-4
6
9
33
81
-16
68
-5
7
-7
0
0
0
0
0
0
0
10
-16
-71
15
-78
19
-11
-30
16
1
0
0
0
0
0
0
0
5
0
26
48
34
-2
10
-1
-1
-4
0
0
0
0
0
0
0
0
-21
8
8
1
-1
0
1
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
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
14
0
15
12
0
-1
-11
0
-1
0
0
0
0
0
0
0
0
15
-6
-15
32
-15
-5
-8
3
-2
1
0
0
0
0
0
0
0
0
-11
-10
-1
33
0
15
-1
7
0
0
0
0
0
0
0
-3
0
0
-2
10
1
-14
0
0
0
0
0
0
0
0
0
0
0
6
0
-15
0
11
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
28
-2
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
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
0
0
0
0
0
0
0
0
-2
-2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-10
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-3
8
-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
-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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-162
-24
0
24
0
0
0
0
0
0
0
0
0
0
0
-33
53
152
-17
-63
105
-64
-13
0
0
0
0
0
0
0
0
0
-4
-20
-22
2
0
3
10
0
0
0
0
0
0
0
0
0
0
4
-2
33
-4
66
-14
5
0
0
0
0
0
0
0
0
0
0
24
30
-9
1
5
-2
18
0
0
0
0
0
0
0
0
0
0
11
-16
28
24
-4
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
-1
0
0
0
0
0
0
0
0
0
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
153
24
-91
-11
117
48
59
0
0
0
0
0
0
0
0
0
4
89
35
-65
-70
68
-15
-27
-87
0
0
0
0
0
0
0
0
-13
51
122
-83
5
30
-97
32
43
0
0
0
0
0
0
0
0
-21
14
12
-62
15
136
-18
9
-5
1
0
0
0
0
0
0
0
-55
-76
-75
-90
-87
116
-3
-49
-3
4
0
0
0
0
0
0
0
37
-9
-66
22
77
-45
0
-17
-1
0
0
0
0
0
0
0
0
-7
-114
-71
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-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
45
10
-39
93
152
-157
-54
0
0
0
0
0
0
0
0
0
15
118
-75
0
42
135
-41
-12
-33
25
-1
0
0
0
0
0
0
16
-29
11
-11
95
-13
25
28
-3
-3
0
0
0
0
0
0
0
19
2
39
-72
-46
2
-32
-13
15
-7
0
0
0
0
0
0
0
0
60
-85
41
-3
83
-3
0
-17
0
0
0
0
0
0
0
0
-23
-36
6
62
24
-5
-4
11
-7
3
0
0
0
0
0
0
0
-1
47
53
-23
26
0
3
0
-6
0
0
0
0
0
0
0
0
0
12
-27
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
13
-21
-5
14
54
16
20
0
0
0
0
0
0
0
0
0
8
-9
-41
0
-74
51
85
7
-1
0
0
0
0
0
0
0
0
0
67
-31
-5
6
48
-6
13
33
4
0
0
0
0
0
0
0
0
30
-27
-45
67
38
-48
-10
1
0
0
0
0
0
0
0
0
0
61
-40
-47
-95
7
1
1
37
-4
0
0
0
0
0
0
0
0
22
-44
-26
17
46
3
0
-1
0
0
0
0
0
0
0
0
-8
5
-18
-8
-4
0
35
1
-1
0
0
0
0
0
0
0
0
0
2
0
-14
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
2
3
-15
-54
44
-15
53
59
0
0
0
0
0
0
0
0
0
-6
-28
131
-23
-41
-79
9
23
12
0
0
0
0
0
0
0
0
0
61
61
9
1
86
7
63
-3
0
0
0
0
0
0
0
0
3
22
3
7
-17
-23
21
0
36
0
0
0
0
0
0
0
0
12
47
7
-43
-13
-21
0
5
2
0
0
0
0
0
0
0
0
0
5
51
1
2
3
15
0
-1
0
0
0
0
0
0
0
0
0
-5
16
0
-2
2
-23
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
37
-95
-99
102
36
0
1
0
0
0
0
0
0
0
0
9
76
159
-38
17
10
29
7
0
0
0
0
0
0
0
0
5
-1
-15
7
44
0
20
22
13
4
0
0
0
0
0
0
0
-3
-18
10
140
16
52
5
3
0
15
0
0
0
0
0
0
0
0
24
-14
-2
12
1
-4
0
0
0
0
0
0
0
0
0
0
0
3
15
39
0
0
1
0
2
-1
0
0
0
0
0
0
0
0
9
0
1
8
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
1
46
-5
14
11
164
41
0
0
0
0
0
0
0
0
0
0
46
-42
127
112
-25
-35
-20
5
-2
0
0
0
0
0
0
0
8
17
-29
3
-35
8
0
-4
-1
-4
0
0
0
0
0
0
0
0
-14
153
-45
-36
4
3
0
6
0
0
0
0
0
0
0
0
3
41
-15
38
2
21
0
0
0
0
0
0
0
0
0
0
0
0
-25
9
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
29
0
46
19
14
60
0
-7
0
0
0
0
0
0
0
16
25
-2
-47
42
15
22
-40
-10
7
-11
0
0
0
0
0
0
11
14
3
1
9
31
-7
2
14
11
0
0
0
0
0
0
0
0
0
17
-16
-25
-28
4
7
1
0
0
0
0
0
0
0
0
2
0
10
22
1
9
-2
0
-1
0
-3
0
0
0
0
0
0
0
-1
2
4
0
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
-8
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
0
0
-10
0
-1
0
0
0
0
0
0
0
0
0
0
12
-70
-9
34
-44
26
2
0
5
0
0
0
0
0
0
0
0
-9
0
20
1
8
0
-6
0
-7
0
0
0
0
0
0
0
0
14
-2
-87
19
8
9
-2
4
1
0
0
0
0
0
0
0
0
-2
0
-6
-21
-16
4
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-4
0
0
-1
4
0
0
0
0
0
0
0
0
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
-3
2
-6
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-5
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
8
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
-1
3
0
0
6
18
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
28
50
57
4
-1
0
0
0
0
0
0
0
0
0
15
-5
-57
31
6
-27
-22
19
0
0
0
0
0
0
0
0
0
-14
-14
-64
9
57
-27
-9
-1
-1
0
0
0
0
0
0
0
0
8
-55
-4
53
-8
-24
-5
-1
0
0
0
0
0
0
0
0
0
58
81
-17
6
-16
10
-4
0
0
0
0
0
0
0
0
0
0
38
-61
-19
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
-58
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-33
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
-6
-48
-126
1
-13
64
-105
83
0
0
0
0
0
0
0
0
0
6
133
-64
-129
88
29
49
-102
-72
0
0
0
0
0
0
0
0
6
-21
125
52
-22
-12
43
-38
34
0
0
0
0
0
0
0
0
2
-4
71
-102
75
53
-130
13
-19
0
0
0
0
0
0
0
0
11
-71
11
-67
-59
-104
84
-22
38
0
0
0
0
0
0
0
0
6
-135
-3
-56
-28
-84
-15
-1
8
0
0
0
0
0
0
0
0
0
45
39
42
-21
13
-2
0
0
0
0
0
0
0
0
0
0
1
106
-5
-9
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
33
3
-6
-16
16
43
97
-173
0
7
0
0
0
0
0
0
0
4
59
57
-70
-11
3
29
112
-22
-19
0
0
0
0
0
0
0
1
23
-32
-60
55
13
-65
-4
-43
9
0
0
0
0
0
0
0
1
53
1
125
3
100
46
53
17
0
0
0
0
0
0
0
0
7
22
-32
-67
33
-17
76
38
8
0
0
0
0
0
0
0
0
-2
-62
36
-73
32
19
0
-24
0
0
0
0
0
0
0
0
0
-7
-34
31
48
64
12
1
0
0
0
0
0
0
0
0
0
0
0
-19
27
-48
2
9
0
10
0
0
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
-1
-18
26
23
-64
38
-108
0
7
0
0
0
0
0
0
0
0
105
-11
-15
-58
-35
-29
-2
6
0
0
0
0
0
0
0
0
0
-3
56
67
2
-41
106
-50
-12
-2
0
0
0
0
0
0
0
0
65
-8
-6
-46
89
-16
27
-14
8
0
0
0
0
0
0
0
0
78
11
5
-22
-8
-71
5
0
0
0
0
0
0
0
0
0
0
36
-19
66
-49
72
4
0
1
0
0
0
0
0
0
0
0
0
-28
13
16
47
-2
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
5
56
0
-9
39
-1
-18
0
3
-2
0
0
0
0
0
0
1
12
2
-9
-72
-4
40
-109
19
0
0
0
0
0
0
0
0
-8
35
50
-44
-19
43
-3
42
-12
0
0
0
0
0
0
0
0
0
-14
-17
-41
0
-33
-28
-18
0
0
0
0
0
0
0
0
0
0
37
79
7
10
-20
21
18
9
0
0
0
0
0
0
0
0
0
-10
-5
7
-14
67
2
0
0
0
0
0
0
0
0
0
0
0
-7
-26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
11
-2
-2
-10
48
45
-3
0
0
0
0
0
0
0
0
0
0
1
-1
-24
-42
16
-53
21
6
0
0
0
0
0
0
0
0
5
2
-3
25
-16
8
30
13
0
0
0
0
0
0
0
0
0
12
0
-2
-3
-8
0
18
3
38
1
0
0
0
0
0
0
0
0
-30
19
43
30
36
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
6
12
0
0
0
16
0
0
0
0
0
0
0
0
0
-18
-3
93
0
-11
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
-7
0
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-26
8
-16
31
-9
18
85
-5
-2
0
0
0
0
0
0
0
0
25
-15
19
-17
57
13
-1
-3
0
0
0
0
0
0
0
0
0
9
-17
29
18
-29
0
0
-3
0
0
0
0
0
0
0
0
0
-28
-21
35
38
2
0
0
-3
0
0
0
0
0
0
0
0
0
22
-34
28
17
-4
0
0
0
0
0
0
0
0
0
0
0
7
57
-6
-3
0
0
-10
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
-1
2
-1
0
-11
-6
6
0
0
0
0
0
0
0
0
0
0
0
6
-10
23
-7
113
-3
-2
-1
0
0
0
0
0
0
0
1
-41
-14
33
48
-45
26
25
-5
6
0
0
0
0
0
0
0
0
-9
21
12
6
-16
-12
0
0
0
0
0
0
0
0
0
0
0
29
47
45
-11
-1
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
-10
47
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
1
1
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-1
0
-17
-7
-10
-10
-1
1
0
0
0
0
0
0
0
0
0
-10
-6
-12
1
-20
-2
-4
0
0
0
0
0
0
0
0
0
0
11
-13
26
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
6
-5
3
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
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
6
8
3
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-2
-8
2
-4
-5
26
0
0
0
0
0
0
0
0
0
0
0
0
16
1
11
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-8
3
-3
-1
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
18
-56
-4
-2
-6
0
0
0
0
0
0
0
0
0
39
40
38
125
49
-41
-71
-6
-5
0
0
0
0
0
0
0
0
107
12
27
-103
-26
-32
-49
3
0
0
0
0
0
0
0
0
0
68
69
56
-49
6
0
-5
-14
0
0
0
0
0
0
0
0
0
-13
61
-14
16
-7
-17
0
4
0
0
0
0
0
0
0
0
0
-35
-5
155
45
20
0
0
0
0
0
0
0
0
0
0
0
0
38
30
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-25
7
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
1
-74
6
-20
-34
121
-3
85
0
0
0
0
0
0
0
0
0
-24
80
20
-134
-32
3
25
-28
-23
13
0
0
0
0
0
0
0
17
-45
-39
-19
-13
-1
-43
36
7
-6
0
0
0
0
0
0
0
0
43
68
58
6
-70
73
127
-3
0
0
0
0
0
0
0
0
11
13
49
89
63
25
-94
-21
3
5
0
0
0
0
0
0
0
-1
81
37
-55
-39
-30
77
3
-8
0
0
0
0
0
0
0
0
26
2
-55
3
112
8
69
2
0
0
0
0
0
0
0
0
0
7
33
-42
8
0
-41
0
33
0
0
0
0
0
0
0
0
0
84
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
45
-20
-29
67
-93
-78
0
1
0
0
0
0
0
0
0
-6
-10
88
7
96
-138
30
13
69
0
0
0
0
0
0
0
0
-1
56
-8
-43
-96
30
24
106
-13
3
0
0
0
0
0
0
0
99
30
69
34
95
175
-73
-33
15
0
0
0
0
0
0
0
0
20
3
0
-25
54
52
49
-13
6
0
0
0
0
0
0
0
0
-18
61
82
9
26
92
17
-6
0
11
0
0
0
0
0
0
0
-1
41
162
114
-27
25
56
0
2
0
0
0
0
0
0
0
0
4
-34
30
39
-7
0
0
-20
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
0
9
7
-3
-29
14
-100
-3
0
1
0
0
0
0
0
0
0
-1
49
60
-56
-36
-55
11
-113
-16
-8
1
0
0
0
0
0
0
-5
10
23
-12
-78
68
-15
-59
104
-5
0
0
0
0
0
0
0
13
66
16
27
17
-27
9
-21
-3
0
0
0
0
0
0
0
0
-1
-5
-24
0
-96
-28
-20
-7
-4
0
0
0
0
0
0
0
0
0
37
-65
-1
36
139
5
-15
0
0
0
0
0
0
0
0
0
-8
59
79
-22
152
0
3
10
0
0
0
0
0
0
0
0
0
0
35
24
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
9
104
-74
-41
0
-2
0
0
0
0
0
0
0
0
6
31
21
-10
-80
61
-8
-56
0
6
0
0
0
0
0
0
9
3
-66
-93
-27
16
0
-110
4
-13
0
0
0
0
0
0
0
0
-2
10
13
-28
17
19
-8
0
0
0
0
0
0
0
0
0
0
-11
61
34
0
119
-16
-4
-1
6
0
0
0
0
0
0
0
0
10
-18
17
0
37
-5
2
11
-2
0
0
0
0
0
0
0
0
34
19
5
3
1
0
0
1
0
0
0
0
0
0
0
0
0
-10
94
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
2
-21
-1
-12
0
-7
0
0
0
0
0
0
0
0
2
-8
4
-11
-26
71
-6
-20
1
0
0
0
0
0
0
0
-5
5
-42
21
68
-66
30
-15
5
-1
0
0
0
0
0
0
0
0
78
5
-1
29
2
26
1
39
0
0
0
0
0
0
0
0
0
34
-4
0
54
0
25
0
0
0
0
0
0
0
0
0
0
-1
-13
49
-69
-14
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-27
-21
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
6
46
0
21
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
-1
0
0
0
-2
-3
5
0
5
0
0
0
0
0
0
0
0
1
5
1
10
10
-21
17
0
-10
0
0
0
0
0
0
0
20
16
0
6
13
60
-30
-27
-2
1
0
0
0
0
0
0
0
0
14
1
-13
10
-34
-7
0
0
0
0
0
0
0
0
0
0
0
-5
76
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
-21
-25
0
-3
0
0
0
0
0
0
0
0
0
0
4
-36
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-11
0
-8
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
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
9
2
19
0
12
0
0
0
0
0
0
0
0
0
6
0
-13
-26
27
16
-3
0
0
0
0
0
0
0
0
0
0
0
12
19
-65
-36
10
1
0
0
0
0
0
0
0
0
0
0
0
-19
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
-3
67
-13
-3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
8
-5
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
2
10
0
-5
0
36
3
0
-4
0
0
0
0
0
0
0
0
8
2
-19
-8
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-8
-18
-5
0
-6
31
0
0
0
0
0
0
0
0
0
0
9
0
5
32
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
-38
-6
-1
0
0
5
0
0
0
0
0
0
0
0
0
38
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
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
-7
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-3
8
12
0
-1
0
0
0
0
0
0
0
0
0
-14
4
0
0
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-16
7
1
11
3
0
0
0
0
0
0
0
0
0
-20
48
-1
27
-5
139
-71
-1
0
0
0
0
0
0
0
0
0
58
-18
-62
94
-37
53
4
7
-1
0
0
0
0
0
0
0
0
-33
-3
2
46
4
109
27
0
0
0
0
0
0
0
0
0
0
6
1
-38
-22
3
2
-2
19
0
0
0
0
0
0
0
0
0
0
-48
59
-16
-25
-5
-4
-2
0
0
0
0
0
0
0
0
0
-96
19
9
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-11
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
126
-13
-14
-6
-88
-3
-32
0
0
0
0
0
0
0
0
0
14
60
50
-120
62
50
-37
5
2
0
0
0
0
0
0
0
0
6
113
-26
50
49
-101
9
-38
-33
0
0
0
0
0
0
0
0
-11
-24
111
23
33
-102
33
-2
17
-5
0
0
0
0
0
0
0
-2
-42
19
-32
15
121
-75
-73
-15
0
0
0
0
0
0
0
0
9
0
-9
-24
82
-25
13
16
-9
-1
0
0
0
0
0
0
0
-2
-126
-9
4
-22
66
-14
0
-2
0
0
0
0
0
0
0
0
23
-22
-43
24
5
8
0
0
0
0
0
0
0
0
0
0
0
2
-13
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
0
-88
16
1
132
0
-2
0
0
0
0
0
0
0
3
-113
64
15
-9
-29
-3
53
-31
-1
0
0
0
0
0
0
0
-22
-11
-22
65
-49
-29
7
27
60
1
0
0
0
0
0
0
0
0
76
-72
61
19
8
34
-62
24
0
0
0
0
0
0
0
0
-7
-28
70
-53
37
-40
130
-5
-7
-7
0
0
0
0
0
0
0
1
77
0
-10
63
-3
155
2
1
4
0
0
0
0
0
0
0
-63
10
-96
-100
-2
21
-10
-6
-1
0
0
0
0
0
0
0
0
0
-130
5
82
91
-5
-1
0
0
0
0
0
0
0
0
0
0
15
16
-6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
1
79
-29
-35
9
0
-16
0
0
0
0
0
0
0
0
36
65
11
-55
-43
-12
30
-11
0
-2
0
0
0
0
0
0
16
-10
-38
-56
-84
24
-1
77
1
0
0
0
0
0
0
0
0
-9
1
-44
-39
-5
-30
50
49
34
0
0
0
0
0
0
0
0
0
0
4
9
30
-49
-58
10
4
0
0
0
0
0
0
0
0
0
20
-24
0
72
-29
-6
0
0
-19
0
0
0
0
0
0
0
-20
62
-22
50
13
-10
-2
-6
1
0
0
0
0
0
0
0
0
1
-14
-15
-53
6
0
0
-6
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
-3
9
0
3
1
-8
-7
0
0
0
0
0
0
0
0
0
0
33
63
-7
-24
41
30
6
54
0
-3
0
0
0
0
0
0
-31
-1
-1
-27
72
17
58
-20
-2
0
0
0
0
0
0
0
0
-2
14
2
2
67
5
-9
44
3
0
0
0
0
0
0
0
0
-6
67
-34
-26
22
-8
-5
-3
-5
0
0
0
0
0
0
0
0
0
-7
33
95
0
6
-9
0
4
0
0
0
0
0
0
0
0
-1
82
109
-21
35
3
0
0
0
0
0
0
0
0
0
0
0
-26
30
-2
10
-13
-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
-12
-1
0
2
0
-8
-2
0
7
0
0
0
0
0
0
0
0
14
0
-3
-2
14
-91
6
0
0
0
0
0
0
0
0
0
13
-3
1
10
13
-59
160
-7
-20
0
0
0
0
0
0
0
0
0
2
21
-13
-27
4
57
6
-16
0
0
0
0
0
0
0
0
0
1
0
-30
50
-7
0
-3
0
-2
0
0
0
0
0
0
0
0
0
-12
36
-51
0
-1
4
0
0
0
0
0
0
0
0
0
0
91
45
27
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-13
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-19
-13
-1
4
0
0
0
0
0
0
0
0
5
-3
1
-8
-11
-14
-23
3
0
0
0
0
0
0
0
0
10
-10
0
30
6
-1
-1
26
28
0
0
0
0
0
0
0
0
0
4
29
5
23
-14
1
-4
0
0
0
0
0
0
0
0
0
0
0
26
-19
2
0
0
-5
5
0
0
0
0
0
0
0
0
0
-26
7
-17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
21
30
-16
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
-2
6
0
-2
15
0
0
0
0
0
0
0
0
0
0
-4
-19
0
-1
-7
54
-5
3
1
0
0
0
0
0
0
0
6
0
0
11
0
11
33
4
2
-2
0
0
0
0
0
0
0
2
0
0
28
0
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
-13
7
29
8
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
-5
-2
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
7
13
13
-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
4
-2
0
-2
0
28
1
0
9
0
0
0
0
0
0
0
0
-14
-5
12
-2
0
0
15
0
1
0
0
0
0
0
0
0
0
0
-1
0
3
-1
0
-3
-12
0
0
0
0
0
0
0
0
0
2
0
6
-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
-6
-14
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-8
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
-2
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
14
1
-1
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
-2
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-22
-24
8
-19
12
73
36
20
0
0
0
0
0
0
0
0
0
81
59
26
27
13
-31
-79
14
7
0
0
0
0
0
0
0
0
-12
48
18
12
-45
61
-16
0
0
0
0
0
0
0
0
0
0
57
8
49
38
-32
13
0
0
0
0
0
0
0
0
0
0
0
-1
-55
107
-21
-65
-4
0
-8
0
0
0
0
0
0
0
0
0
0
-2
8
-96
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-81
38
-18
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
51
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
-30
-23
85
25
-84
72
0
0
0
0
0
0
0
0
0
-14
25
26
38
-73
20
-1
43
-43
-11
0
0
0
0
0
0
0
-2
97
-127
-34
84
-37
-34
1
-12
19
0
0
0
0
0
0
0
1
-134
-113
-55
110
-3
53
-114
10
0
0
0
0
0
0
0
0
12
-46
15
15
97
-139
81
23
22
3
0
0
0
0
0
0
0
-1
91
26
-122
16
67
37
-47
15
0
0
0
0
0
0
0
0
-54
0
55
1
-22
-62
41
1
-3
0
0
0
0
0
0
0
0
-7
-51
105
7
34
32
-3
1
-1
0
0
0
0
0
0
0
0
89
45
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
46
5
-14
47
-37
-25
75
0
4
0
0
0
0
0
0
0
-1
-19
-17
13
31
1
-36
-25
13
-11
0
0
0
0
0
0
0
0
-51
-163
-59
-7
53
-30
29
86
7
0
0
0
0
0
0
0
0
2
-79
-37
-14
-58
118
97
-60
0
0
0
0
0
0
0
0
0
16
16
-51
-13
-2
3
-4
26
16
0
0
0
0
0
0
0
0
9
-24
-104
40
-75
71
-4
5
0
0
0
0
0
0
0
0
-7
-132
0
-49
-89
21
-13
-2
0
0
0
0
0
0
0
0
0
3
-24
68
55
75
-4
2
10
0
0
0
0
0
0
0
0
0
0
-29
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
3
0
-1
51
-49
8
0
-2
0
0
0
0
0
0
0
3
18
-16
57
-29
39
-30
-49
-39
2
0
0
0
0
0
0
0
0
15
20
1
-8
-71
63
-66
3
4
0
0
0
0
0
0
0
0
-25
-27
112
-41
-1
-139
58
0
-1
0
0
0
0
0
0
0
0
-13
27
-19
25
-15
87
94
1
0
0
0
0
0
0
0
0
0
-20
3
72
109
45
-35
16
40
-1
0
0
0
0
0
0
0
0
14
15
0
17
-5
0
-7
-6
0
0
0
0
0
0
0
0
5
-28
8
51
-3
-12
0
-7
-10
0
0
0
0
0
0
0
0
5
1
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
-1
15
-1
0
0
0
0
0
0
0
0
0
0
14
-2
23
1
-5
-23
0
-5
2
0
0
0
0
0
0
0
0
-14
-12
1
-6
-6
-28
95
0
9
0
0
0
0
0
0
0
0
6
22
-14
0
9
52
-2
-9
0
0
0
0
0
0
0
0
0
2
48
4
21
-70
46
-8
0
0
0
0
0
0
0
0
0
0
2
-9
-16
-23
-46
27
3
2
0
0
0
0
0
0
0
0
0
28
-5
0
0
42
3
0
0
0
0
0
0
0
0
0
0
0
-57
-4
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
1
1
13
10
-5
0
0
0
0
0
0
0
0
0
0
-4
9
8
-19
-6
-88
7
8
0
0
0
0
0
0
0
0
0
0
0
6
-1
48
29
-5
10
-1
0
0
0
0
0
0
0
0
21
-2
21
-9
9
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
22
65
3
1
0
0
0
0
0
0
0
0
0
0
2
25
7
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
112
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
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
10
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
2
7
-2
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
4
0
-5
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-11
0
0
0
0
1
0
-6
7
0
0
0
0
0
0
0
0
-1
-1
-3
1
0
2
-7
-19
1
0
0
0
0
0
0
0
0
-5
1
0
-3
0
-3
-2
1
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
1
0
14
-21
-2
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
0
0
0
0
0
0
0
0
0
0
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
14
0
0
3
-2
-10
2
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
33
13
0
-7
8
-4
3
0
0
0
0
0
0
0
0
0
0
-14
0
-1
-27
6
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
16
0
58
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
11
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
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
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
5
0
0
0
-15
-7
22
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-9
10
29
22
10
0
0
0
0
0
0
0
0
0
-10
5
0
-3
-19
37
-11
3
-14
0
0
0
0
0
0
0
0
14
11
4
18
26
131
-9
7
0
0
0
0
0
0
0
0
0
61
11
19
46
77
-6
-6
0
18
0
0
0
0
0
0
0
0
-44
-58
-79
2
-39
16
16
0
0
0
0
0
0
0
0
0
0
1
-42
-24
-89
18
-1
4
0
0
0
0
0
0
0
0
0
0
0
24
-16
16
0
5
0
0
0
0
0
0
0
0
0
0
0
54
-3
-33
8
0
8
0
0
0
0
0
0
0
0
0
0
0
2
5
40
55
-60
27
67
12
0
0
0
0
0
0
0
0
0
0
7
-25
28
75
71
7
50
3
41
0
0
0
0
0
0
0
-10
-54
38
58
43
-12
33
-121
-4
-1
0
0
0
0
0
0
0
-4
108
135
98
15
-29
44
16
40
0
0
0
0
0
0
0
0
-3
10
37
-39
-5
-25
-34
21
0
-2
0
0
0
0
0
0
0
0
-20
-30
-24
-81
124
27
-8
-4
-9
0
0
0
0
0
0
0
7
47
90
-120
85
5
-102
-1
0
0
0
0
0
0
0
0
0
0
0
6
26
-33
22
-3
23
0
0
0
0
0
0
0
0
0
-3
-20
-15
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
0
6
1
-12
14
0
0
0
0
0
0
0
0
0
0
-9
4
46
52
6
1
-26
-5
0
0
0
0
0
0
0
0
0
34
31
43
10
-44
73
9
-4
2
0
0
0
0
0
0
0
0
28
89
-110
-165
-5
5
-7
-2
0
0
0
0
0
0
0
0
-4
5
-105
75
91
31
110
-33
0
7
0
0
0
0
0
0
0
0
-60
3
94
-29
18
125
-5
-15
0
0
0
0
0
0
0
0
-1
24
1
96
50
75
3
-3
-10
0
0
0
0
0
0
0
0
3
90
0
-27
36
30
1
-5
0
0
0
0
0
0
0
0
0
61
0
37
-28
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
2
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
7
16
-12
12
11
0
0
0
0
0
0
0
0
0
0
1
0
6
-2
-34
14
-18
-6
-10
0
0
0
0
0
0
0
0
54
-2
-12
113
33
-52
-15
6
0
0
0
0
0
0
0
0
0
2
47
3
-10
59
-3
-1
19
0
0
0
0
0
0
0
0
0
9
2
-2
27
8
-55
-14
0
1
0
0
0
0
0
0
0
0
-33
6
67
34
64
26
3
0
0
0
0
0
0
0
0
0
0
-76
-10
0
28
25
8
-1
0
0
0
0
0
0
0
0
0
1
-10
-5
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
4
1
-4
0
1
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
-8
8
-1
0
0
0
0
0
0
0
0
0
0
0
-34
4
9
4
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-3
7
10
-24
0
0
0
0
0
0
0
0
0
0
0
0
-7
18
84
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
39
0
13
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
-13
-9
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
-8
0
-15
4
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
-2
13
-3
25
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-2
0
25
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
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
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-1
-5
0
48
0
0
0
0
0
0
0
0
0
1
0
1
2
14
-19
17
-10
25
0
0
0
0
0
0
0
0
86
6
-9
13
-4
-5
15
0
0
0
0
0
0
0
0
0
0
52
64
-6
22
-5
19
-25
0
0
0
0
0
0
0
0
0
0
-3
-16
192
-39
-9
-13
0
0
0
0
0
0
0
0
0
0
0
16
-23
12
-46
36
-2
0
0
0
0
0
0
0
0
0
0
0
1
20
28
-11
14
19
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-5
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
23
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
-18
-3
3
-1
24
-10
0
-2
0
0
0
0
0
0
0
0
24
-11
25
16
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
70
-56
-36
-5
0
0
0
0
0
0
0
0
0
0
0
9
0
32
-51
25
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
5
10
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
-17
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
-3
0
0
0
-1
-11
0
0
0
0
0
0
0
0
0
0
-4
0
-2
8
-1
1
1
0
0
0
0
0
0
0
0
0
-20
0
3
52
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
6
108
0
-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
-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
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
-2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-123
7
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-32
49
50
-35
-18
0
-5
0
0
0
0
0
0
0
0
16
-36
4
31
-15
24
-7
-7
47
0
0
0
0
0
0
0
0
17
6
-15
-37
21
-72
81
37
4
0
0
0
0
0
0
0
0
-17
91
-82
-11
63
14
9
9
-20
0
0
0
0
0
0
0
0
-22
-10
-58
47
-23
-7
164
1
-1
0
0
0
0
0
0
0
0
0
45
-118
-42
22
9
0
-1
15
0
0
0
0
0
0
0
0
0
13
-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
-18
0
112
6
86
-94
-59
-14
0
0
0
0
0
0
0
0
0
2
28
72
-39
-41
-143
38
0
26
0
0
0
0
0
0
0
0
63
42
53
0
25
-35
-20
-49
-14
15
0
0
0
0
0
0
0
-76
79
79
123
-95
11
-43
-58
-56
-59
0
0
0
0
0
0
0
-33
30
-27
70
76
-127
-6
-8
-20
-55
0
0
0
0
0
0
0
-11
-81
118
77
58
23
19
76
92
-183
0
0
0
0
0
0
0
-12
-38
-94
17
83
-6
-79
48
53
3
0
0
0
0
0
0
0
0
-15
-48
17
19
49
0
0
-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
-3
-13
0
-21
11
-50
-37
-35
0
1
-3
0
0
0
0
0
0
45
-118
77
-46
-70
-90
9
0
-53
0
-29
0
0
0
0
0
0
5
-29
18
15
-21
-112
52
4
-78
3
-64
0
0
0
0
0
0
-17
-6
134
-38
30
40
-1
21
89
-47
9
0
0
0
0
0
0
18
-11
54
-26
26
-128
-23
127
26
-146
8
0
0
0
0
0
0
-7
-64
76
35
6
8
-45
-17
126
-74
50
0
0
0
0
0
0
0
-41
-4
74
127
-41
-79
-68
21
49
0
0
0
0
0
0
0
0
-29
5
158
-28
26
-52
-2
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
56
16
3
0
-67
-53
-128
51
0
0
1
0
0
0
0
0
0
54
115
13
-2
9
-62
0
0
16
0
40
0
0
0
0
0
0
-25
26
9
-70
-33
-16
-113
-48
-67
-27
16
-1
0
0
0
0
0
60
152
-24
-112
68
19
-71
18
138
-83
100
0
0
0
0
0
0
-7
-30
55
35
-17
-33
-30
20
2
-108
10
0
0
0
0
0
0
2
89
-31
143
-99
7
82
35
-75
66
6
0
0
0
0
0
0
0
45
46
-13
2
65
-74
23
-31
5
0
0
0
0
0
0
0
0
0
19
4
4
-22
49
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-94
12
0
-127
-164
0
0
-9
0
0
0
0
0
0
0
4
18
67
27
5
31
58
0
-18
0
-15
-3
0
0
0
0
0
0
65
128
-8
-46
-69
138
21
-64
-103
71
-16
0
0
0
0
0
55
104
70
92
-94
-70
7
-112
-230
-99
7
0
0
0
0
0
0
-51
28
50
55
49
31
-52
66
39
-67
-38
-2
0
0
0
0
0
-8
26
102
51
-184
-67
-75
-70
-10
26
0
-9
0
0
0
0
0
0
15
73
89
6
-5
-43
53
-92
7
0
0
0
0
0
0
0
0
39
24
-58
-23
52
0
-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
-7
-13
-132
56
43
0
-77
-78
0
-1
0
0
0
0
0
0
0
-4
22
17
157
-1
-57
39
0
0
0
11
1
0
0
0
0
0
2
29
-39
106
-7
-56
-27
15
61
-19
13
0
0
0
0
0
0
0
-41
1
148
7
-101
12
-32
17
-83
0
0
0
0
0
0
0
-50
44
29
-9
-93
97
51
22
4
-12
12
0
0
0
0
0
0
0
-156
-11
124
25
107
3
2
5
1
0
0
0
0
0
0
0
0
0
41
11
-31
-51
-4
-52
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-39
4
-21
2
0
-110
0
-17
4
0
0
0
0
0
0
0
15
-14
94
-21
101
10
0
0
0
7
-3
0
0
0
0
0
0
-25
142
-90
-65
-117
25
-1
-4
0
62
0
0
0
0
0
0
0
-1
-6
37
105
-7
-132
20
-1
-28
0
0
0
0
0
0
0
0
-1
26
-40
-62
29
27
12
0
23
0
0
0
0
0
0
0
0
-34
89
60
-42
45
-14
0
-9
-53
0
0
0
0
0
0
0
0
-1
-6
27
-8
-1
-2
11
0
3
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-7
11
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
27
14
32
0
2
3
0
-25
0
0
0
0
0
0
0
0
0
5
-4
8
6
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
3
-24
-11
1
1
0
0
0
0
0
0
0
0
0
0
7
1
-4
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
121
134
-45
43
1
0
0
0
0
0
0
0
0
0
0
7
-39
31
20
-51
44
2
0
33
0
0
0
0
0
0
0
0
41
-9
137
80
-63
-37
24
106
17
0
0
0
0
0
0
0
0
64
80
-13
97
86
90
11
4
-72
0
0
0
0
0
0
0
0
16
83
-40
-6
34
63
28
-52
-240
0
0
0
0
0
0
0
0
52
1
34
11
89
-25
2
5
-14
0
0
0
0
0
0
0
0
-95
-14
4
63
12
0
17
33
-12
0
0
0
0
0
0
0
0
0
-2
0
35
0
7
15
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
-29
94
46
-22
-29
110
77
-11
0
-14
0
0
0
0
0
0
0
4
-51
42
20
38
-80
-79
0
45
0
0
0
0
0
0
0
0
-66
135
35
59
-27
57
51
66
-25
16
0
0
0
0
0
0
0
64
19
127
90
-20
55
64
-22
50
-49
0
0
0
0
0
0
0
-91
37
-4
71
-30
24
-68
36
-22
-122
0
0
0
0
0
0
0
7
47
-94
56
-32
39
-12
-10
-44
73
0
0
0
0
0
0
0
-38
12
-4
-32
44
16
8
9
-17
9
0
0
0
0
0
0
0
0
-4
-21
-3
35
-83
50
-12
6
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
3
21
33
34
4
-2
-138
4
0
53
44
0
0
0
0
0
0
74
19
64
25
23
-126
59
0
34
0
36
0
0
0
0
0
0
-50
-73
39
14
-26
-28
-89
21
75
40
-3
0
0
0
0
0
0
107
-28
-22
39
31
-44
10
-23
-76
83
-44
0
0
0
0
0
0
82
-38
97
42
-33
-50
-3
-15
48
-66
35
0
0
0
0
0
0
0
-23
-64
29
53
-20
21
72
-22
-81
-3
0
0
0
0
0
0
-20
47
88
63
35
-95
-121
0
74
6
-1
0
0
0
0
0
0
0
-26
-38
-64
102
70
19
-8
5
-17
0
0
0
0
0
0
0
0
0
-1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
-69
-43
-28
2
-14
6
-151
-48
0
0
56
0
0
0
0
0
0
-38
78
-26
10
-39
-72
-49
0
2
0
12
1
0
0
0
0
0
-23
109
75
24
34
49
6
-5
160
-11
100
20
0
0
0
0
0
-53
26
42
33
-13
-119
91
-27
14
37
30
4
0
0
0
0
0
-3
7
40
-19
1
-104
12
-16
-8
-28
-27
1
0
0
0
0
0
-2
-79
-5
-8
15
183
175
-51
45
17
-3
0
0
0
0
0
0
-19
0
11
25
77
92
-62
61
-53
0
6
-3
0
0
0
0
0
0
-4
9
5
1
18
-2
-3
-8
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
44
14
-57
3
-11
4
-17
-38
0
5
15
0
0
0
0
0
0
-1
18
19
-6
-98
14
4
0
-22
0
-86
20
0
0
0
0
0
-25
12
-14
96
-55
-4
-153
2
22
17
176
-10
1
0
0
0
0
19
-6
91
122
7
4
-53
-6
12
-97
-3
-36
0
0
0
0
0
-11
-74
-42
-84
-77
-64
31
34
47
-42
8
1
0
0
0
0
0
1
77
9
30
-54
-156
-63
29
-2
60
-31
-13
0
0
0
0
0
0
-45
85
-32
-23
13
13
20
0
52
0
13
0
0
0
0
0
0
-6
31
90
5
-36
-1
2
-12
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
3
94
28
10
143
28
70
4
0
0
3
0
0
0
0
0
0
-35
35
-119
23
99
-102
-33
0
-70
0
-80
1
0
0
0
0
0
48
42
87
0
57
-74
-31
90
67
1
-28
2
0
0
0
0
0
-19
-29
-22
15
121
-3
77
-58
8
-8
-3
0
4
0
0
0
0
-27
60
7
56
18
30
106
76
-40
-9
66
-5
0
0
0
0
0
0
-66
-29
0
-35
-60
48
-35
51
51
0
0
0
0
0
0
0
0
-25
16
-48
-2
11
-4
1
0
3
0
0
0
0
0
0
0
0
0
17
-34
-25
-5
-1
0
-4
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
13
18
-63
142
42
60
3
0
0
26
16
0
0
0
0
0
0
-27
17
-4
-74
-212
-116
0
12
0
6
10
0
0
0
0
0
0
1
22
26
-12
40
-198
2
-97
-61
9
31
1
0
0
0
0
0
63
-53
123
-70
-127
-43
-13
32
38
13
0
0
0
0
0
0
0
-8
23
16
60
-73
4
-10
-16
-41
-6
0
0
0
0
0
0
0
-44
56
48
157
-73
-28
-26
-11
31
-19
0
0
0
0
0
0
0
0
-42
-18
48
12
9
10
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-4
1
-44
-8
-44
-8
0
0
0
0
0
0
0
0
0
0
1
-6
31
11
54
-3
0
-5
0
-1
-12
0
0
0
0
0
0
0
26
-105
-5
86
-131
3
-51
6
0
0
0
0
0
0
0
0
-26
15
28
31
-72
1
-7
14
-12
-5
1
0
0
0
0
0
0
0
20
39
10
1
-26
-1
3
-5
4
0
0
0
0
0
0
0
0
0
8
-4
2
6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
0
1
0
-11
5
0
0
0
0
0
0
0
7
17
-8
-104
51
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
12
-3
33
-1
-23
0
0
0
0
0
0
0
0
0
8
-6
3
-47
2
0
6
0
6
-2
0
0
0
0
0
0
0
-7
-3
5
5
-33
21
-3
-7
-5
-4
0
0
0
0
0
0
0
0
0
13
-6
14
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
0
0
0
0
0
3
27
22
2
-1
0
0
1
0
0
0
0
0
0
0
0
10
-17
5
23
-68
0
-2
0
-2
2
1
0
0
0
0
0
0
3
22
-112
-34
-86
-36
-4
3
-77
22
0
0
0
0
0
0
0
-2
-26
8
4
12
-60
21
0
3
1
0
0
0
0
0
0
0
2
-56
-7
6
-54
66
0
0
-2
6
0
0
0
0
0
0
0
-1
3
-9
-49
-13
-5
0
0
5
0
0
0
0
0
0
0
0
0
3
1
-5
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-7
4
7
0
0
0
0
0
0
0
-13
-11
-25
-22
1
3
0
5
7
0
0
0
0
0
0
0
0
0
0
-17
-3
3
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
19
-1
-2
0
0
10
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
39
-21
13
0
0
0
0
0
0
0
0
0
0
0
-43
-14
132
73
62
23
10
0
-54
0
0
0
0
0
0
0
0
-47
-56
-47
-58
2
-10
72
7
-21
0
0
0
0
0
0
0
0
25
98
-58
38
52
21
-150
77
-56
0
0
0
0
0
0
0
0
-59
-76
5
-87
49
146
38
-26
-23
0
0
0
0
0
0
0
0
-10
108
51
-8
15
-63
9
1
-32
0
0
0
0
0
0
0
0
0
13
24
4
16
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
-56
0
-12
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
107
-24
30
-80
-27
-65
-84
33
0
-4
0
0
0
0
0
0
0
-74
-24
41
115
-75
-1
-18
0
187
0
0
0
0
0
0
0
0
66
125
29
-85
-77
79
-34
24
53
-146
0
0
0
0
0
0
0
-30
51
27
-19
2
-1
11
36
16
-60
0
0
0
0
0
0
0
122
-66
22
15
73
-40
-26
-31
-149
-34
0
0
0
0
0
0
0
-21
6
-41
12
-17
-60
47
-49
87
-34
0
0
0
0
0
0
0
1
35
51
-5
-30
-99
-41
-18
-7
-1
0
0
0
0
0
0
0
0
-5
-29
45
-56
-20
11
6
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
5
35
28
10
92
-119
20
-61
0
79
2
0
0
0
0
0
0
-93
-43
64
67
-29
-4
17
0
28
0
60
0
0
0
0
0
0
-28
179
181
-4
6
33
65
131
-72
-16
37
0
0
0
0
0
0
-23
39
23
31
-8
0
0
-74
-35
51
-7
0
0
0
0
0
0
-68
20
61
31
3
6
-95
11
101
-61
-14
0
0
0
0
0
0
0
-27
23
6
59
-18
-5
63
48
13
5
0
0
0
0
0
0
0
-108
73
28
34
-19
24
-173
26
-21
0
0
0
0
0
0
0
0
14
8
-7
13
82
-29
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
47
-2
84
12
49
-18
19
-4
0
-3
-20
0
0
0
0
0
0
66
-37
168
44
61
-59
-92
0
-59
0
107
2
0
0
0
0
0
-64
-57
-33
-5
-22
9
73
74
31
-6
-70
-2
0
0
0
0
0
-24
-47
88
56
-72
34
75
28
46
-171
-52
-3
0
0
0
0
0
-13
44
19
22
72
-4
115
66
55
54
-120
0
0
0
0
0
0
0
-41
-47
-15
91
103
-51
40
-52
52
-1
0
0
0
0
0
0
0
61
0
5
-87
79
-7
-64
8
0
0
0
0
0
0
0
0
0
1
-18
46
-9
16
13
3
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
2
112
47
-68
-29
-9
50
-5
0
9
-2
0
0
0
0
0
0
-16
-20
-68
36
-113
-74
9
0
2
0
28
-23
0
0
0
0
0
45
-46
-47
110
65
86
-64
91
-66
103
13
-12
0
0
0
0
0
-165
61
40
-60
99
-46
-47
97
-56
-50
-18
-2
0
0
0
0
0
8
-77
41
-55
-53
49
-4
-3
-44
68
-16
-7
0
0
0
0
0
5
132
-160
-153
24
-24
-125
19
-3
-69
0
0
0
0
0
0
0
0
31
-10
9
70
1
47
28
4
-5
0
0
0
0
0
0
0
0
0
-1
-111
-12
21
-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
3
-3
-92
-93
-44
-58
-18
-28
0
-7
35
0
0
0
0
0
0
44
1
-18
54
27
14
72
0
3
0
23
0
0
0
0
0
0
-54
71
-55
-11
-198
-13
66
82
32
96
10
3
0
0
0
0
0
173
179
-107
-60
-93
-84
-52
29
-28
22
15
3
0
0
0
0
0
26
70
-48
-101
55
57
5
8
-17
-48
5
4
-4
0
0
0
0
0
28
31
-93
-117
-57
42
13
-2
20
-7
0
0
0
0
0
0
0
10
60
31
25
4
-15
2
-8
26
0
0
0
0
0
0
0
0
7
0
59
1
-6
-6
0
0
0
0
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
-58
32
-88
16
-48
23
0
-3
-21
0
0
0
0
0
0
0
-38
24
-40
72
-140
-23
0
15
0
-10
12
0
0
0
0
0
0
65
62
47
41
-10
9
-53
-6
-48
-73
3
0
0
0
0
0
0
5
97
-73
19
-26
91
95
9
-9
-6
0
-2
0
0
0
0
0
-3
-26
-19
21
23
25
20
-64
13
0
2
0
0
0
0
0
0
-4
28
-81
-14
-5
-32
44
0
6
0
0
0
0
0
0
0
0
0
-8
71
-23
-20
6
0
7
-1
0
0
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
0
0
0
0
0
0
0
0
2
7
-10
27
-3
65
4
-3
0
3
-9
-1
0
0
0
0
0
0
0
27
29
-25
-90
-19
0
4
0
5
1
1
0
0
0
0
3
4
69
15
4
-134
-79
4
-41
-15
-68
1
-1
0
0
0
0
-23
3
-35
-127
-20
19
-142
26
26
4
0
10
0
0
0
0
0
0
-2
13
-3
7
12
-2
7
-5
10
8
0
0
0
0
0
0
0
-3
-2
1
-5
-37
-5
-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
-5
0
0
0
0
0
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
47
48
4
-3
18
0
0
0
2
0
0
0
0
0
0
-33
34
80
48
138
-1
-27
0
-10
0
-3
-1
0
0
0
0
0
3
-51
101
126
-54
-21
-64
-43
8
-38
6
0
0
0
0
0
0
65
55
-22
-116
59
8
32
-49
52
-15
-4
7
0
0
0
0
0
0
14
7
24
41
72
9
-33
-12
-7
0
0
0
0
0
0
0
0
-14
3
1
32
2
17
-4
5
0
0
0
0
0
0
0
0
0
-10
0
-1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-84
41
-26
-32
-65
18
0
-89
6
0
0
0
0
0
0
0
106
4
-87
-53
86
-56
0
-2
0
2
-1
4
0
0
0
0
0
-76
-67
45
12
81
119
68
-76
-54
25
0
7
0
0
0
0
0
-18
-10
-146
8
-64
-28
-137
53
4
-46
-5
0
0
0
0
0
0
-37
13
-59
-94
0
26
48
-43
37
0
0
0
0
0
0
0
0
-35
-22
27
23
-124
27
3
8
-15
7
0
0
0
0
0
0
0
0
43
2
-89
8
21
1
0
7
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
1
-3
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
-11
2
4
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-4
15
2
1
0
0
-5
0
0
0
0
0
0
0
0
8
0
-5
0
2
-34
0
-3
0
0
0
0
0
0
0
0
0
0
2
2
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
95
4
-53
23
0
0
0
0
0
0
0
0
0
0
0
13
88
-45
58
-25
-77
26
0
-72
0
0
0
0
0
0
0
0
51
39
5
-65
-1
-55
1
38
-18
0
0
0
0
0
0
0
0
-7
80
12
82
70
0
64
-3
22
0
0
0
0
0
0
0
0
-4
-63
-9
-56
55
-80
9
-55
-87
0
0
0
0
0
0
0
0
-4
16
45
10
75
0
89
1
2
0
0
0
0
0
0
0
0
4
33
27
-26
-43
0
0
0
6
0
0
0
0
0
0
0
0
0
-8
22
58
0
6
-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
73
-2
46
47
-120
-32
164
-13
0
-7
0
0
0
0
0
0
0
-41
68
47
3
28
-106
63
0
66
0
0
0
0
0
0
0
0
-49
64
-3
71
-4
-116
-38
-7
-43
56
0
0
0
0
0
0
0
67
-2
-32
75
41
49
124
10
-111
-112
0
0
0
0
0
0
0
22
12
-38
72
-80
37
-92
15
-93
-45
0
0
0
0
0
0
0
38
27
-75
-84
-37
-5
42
13
-61
-68
0
0
0
0
0
0
0
0
8
-60
112
-2
59
-79
-24
23
-17
0
0
0
0
0
0
0
0
-2
-80
-120
-42
28
-8
-9
-5
0
0
0
0
0
0
0
0
0
61
18
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
101
95
-9
2
-41
7
0
10
-5
0
0
0
0
0
0
16
-45
268
13
19
-63
107
0
0
0
54
0
0
0
0
0
0
-2
24
4
123
11
87
7
-14
81
-7
19
0
0
0
0
0
0
-68
-34
-70
-57
-11
54
-8
51
-63
15
2
0
0
0
0
0
0
-126
5
4
76
22
-53
31
9
7
29
-3
0
0
0
0
0
0
0
-31
5
25
60
-126
-5
-37
-125
25
2
0
0
0
0
0
0
-26
-53
163
-157
-61
-145
115
-61
48
-10
-2
0
0
0
0
0
0
0
-41
-75
-60
3
-19
3
1
1
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
6
2
86
63
20
41
-140
-8
0
3
12
2
0
0
0
0
0
-73
-116
-47
32
160
29
94
0
32
0
-82
0
0
0
0
0
0
-57
-80
41
28
53
35
-23
-55
42
-50
5
5
0
0
0
0
0
137
-45
36
77
82
8
-38
126
-1
69
42
14
0
0
0
0
0
-39
3
-110
60
114
-2
14
-44
18
-21
1
0
0
0
0
0
0
8
-24
3
-96
-57
-82
-40
-16
-49
-73
7
0
0
0
0
0
0
1
-12
-84
161
8
59
-31
-23
8
0
-3
0
0
0
0
0
0
0
0
1
7
9
8
-23
-3
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
2
34
-89
114
-16
86
-3
14
0
-5
12
0
0
0
0
0
0
1
-20
-18
24
-122
-34
-7
0
66
0
41
0
0
0
0
0
0
-83
-30
74
37
-32
10
-29
-3
105
80
-31
-26
0
0
0
0
0
-31
-139
52
77
-19
82
19
36
116
-58
45
0
0
0
0
0
0
-6
-67
-79
-8
53
43
-101
-96
38
-96
-3
-1
0
0
0
0
0
0
-174
-61
3
66
30
4
-71
-67
-14
-3
0
0
0
0
0
0
0
-2
-89
-102
-78
34
23
-19
73
3
0
0
0
0
0
0
0
0
-34
-53
-122
58
-5
-6
-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
8
76
117
35
35
100
37
2
0
0
6
0
0
0
0
0
0
3
62
-5
-47
160
-22
-50
0
14
0
-27
0
0
0
0
0
0
51
-13
-7
-22
-23
-133
-26
13
26
41
-47
-1
0
0
0
0
0
-31
154
-30
-8
-154
-65
66
-25
-90
-69
0
-7
0
0
0
0
0
-4
17
-97
-139
-164
-30
-42
0
75
-85
-6
3
0
0
0
0
0
0
-52
-21
-88
42
73
69
-45
-45
-1
-15
0
0
0
0
0
0
0
-14
-52
12
-58
70
-10
71
-1
0
14
0
0
0
0
0
0
0
-8
-38
12
-27
44
0
0
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
10
10
-2
-9
-44
21
-1
0
0
0
0
0
0
0
0
0
1
40
20
76
55
54
51
0
-1
0
9
0
0
0
0
0
0
0
-41
-9
-14
82
30
5
-29
25
-72
9
-14
0
0
0
0
0
0
-52
5
-33
52
-53
-1
3
-6
-19
-4
0
0
0
0
0
0
0
-1
-21
84
-7
42
70
-47
-1
-26
0
6
0
0
0
0
0
0
69
-21
-10
-26
49
21
-8
2
14
8
0
0
0
0
0
0
0
0
4
-37
14
-16
-24
19
0
0
0
0
0
0
0
0
0
0
0
-8
2
-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
-6
-57
-16
4
0
-11
-1
0
0
-1
0
0
0
0
0
0
0
29
-16
-50
-29
19
81
0
0
0
-16
0
0
0
0
0
0
-26
-3
-156
-2
-33
31
-20
4
-25
26
1
0
2
0
0
0
0
0
-34
-43
-26
41
17
75
0
-27
0
3
-6
0
0
0
0
0
0
-13
-8
-54
-10
-65
-15
15
4
0
-6
0
0
0
0
0
0
0
0
-14
-1
46
-16
15
-10
0
0
0
0
0
0
0
0
0
0
7
0
-2
-19
5
0
2
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
-51
15
51
-25
76
-28
-38
0
0
0
4
0
0
0
0
0
0
24
-9
50
43
52
41
-26
0
2
0
4
0
0
0
0
0
0
-41
28
27
129
-47
87
-70
-66
3
19
-13
0
0
0
0
0
0
45
-82
-33
59
103
-130
21
29
5
15
4
0
0
0
0
0
0
-54
46
-27
-87
-54
-43
29
-14
-94
0
5
0
0
0
0
0
0
0
8
-81
47
50
-47
17
15
-8
0
0
0
0
0
0
0
0
0
-5
19
12
51
0
14
-1
10
0
0
0
0
0
0
0
0
0
2
0
-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
120
-50
-62
-12
9
36
-28
0
37
0
0
0
0
0
0
0
0
29
97
-12
-23
-106
-4
0
3
0
0
-2
0
0
0
0
0
0
70
127
-56
-10
50
-11
1
58
-17
-17
0
-1
0
0
0
0
0
11
41
80
27
118
-37
-180
-10
2
2
0
0
0
0
0
0
0
-2
15
-22
41
-20
-57
5
13
100
-1
0
0
0
0
0
0
0
42
-37
11
87
-75
20
41
1
2
0
0
0
0
0
0
0
0
0
48
-13
15
16
-82
-20
0
5
0
0
0
0
0
0
0
0
0
31
-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
-15
0
8
-5
0
7
0
0
19
0
0
0
0
0
0
0
0
-1
4
-10
5
-20
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
-2
-40
-3
-2
-1
0
23
0
0
0
0
0
0
0
0
1
28
-3
35
-4
7
1
0
0
-10
0
0
0
0
0
0
0
0
1
-42
4
13
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
0
0
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
15
-17
2
0
0
0
0
0
0
0
0
0
0
0
-31
27
-19
42
18
-42
-10
0
-18
0
0
0
0
0
0
0
0
-29
-13
55
-15
-29
24
5
3
-7
0
0
0
0
0
0
0
0
-7
67
-3
26
-26
-47
9
6
-60
0
0
0
0
0
0
0
0
0
-1
6
50
44
8
10
0
-79
0
0
0
0
0
0
0
0
-23
-44
3
-23
-5
10
-70
-9
-18
0
0
0
0
0
0
0
0
4
-10
62
15
-27
0
1
-19
2
0
0
0
0
0
0
0
0
0
-58
-6
100
0
6
-22
-11
0
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
90
90
2
10
17
51
2
0
0
-2
0
0
0
0
0
0
0
107
93
37
-15
55
25
-41
0
-8
0
0
0
0
0
0
0
0
33
35
58
1
-17
-24
72
54
119
-12
0
0
0
0
0
0
0
6
-131
177
85
-27
-109
122
47
-35
58
0
0
0
0
0
0
0
16
0
-65
-77
7
111
32
-70
32
-108
0
0
0
0
0
0
0
-39
56
-25
-127
90
1
-1
13
-47
53
0
0
0
0
0
0
0
9
-53
29
9
34
-6
95
-82
-13
-67
0
0
0
0
0
0
0
0
37
66
-107
27
45
-2
0
-4
4
0
0
0
0
0
0
0
0
2
-52
1
17
0
0
0
0
0
0
0
0
0
0
0
0
-20
18
164
33
75
30
95
-5
0
-26
0
0
0
0
0
0
0
1
-16
76
61
42
-54
50
0
47
0
-57
0
0
0
0
0
0
32
72
-9
74
25
-82
14
54
-90
42
7
0
0
0
0
0
0
26
-57
46
-5
45
-13
41
102
-79
-170
20
0
0
0
0
0
0
-3
-4
0
154
-98
-17
-38
-184
155
-9
5
0
0
0
0
0
0
0
-99
62
55
30
38
-92
-107
-6
-109
17
0
0
0
0
0
0
0
-88
-87
91
-53
-39
53
3
-21
-10
0
0
0
0
0
0
0
0
-52
-6
40
-99
-81
17
-11
2
4
0
0
0
0
0
0
0
0
0
5
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
86
-36
-6
-21
-24
-77
-11
0
0
6
0
0
0
0
0
0
18
12
22
45
-15
38
33
0
-5
0
13
9
0
0
0
0
0
59
2
30
76
145
86
-18
-38
-9
79
-30
-7
0
0
0
0
0
31
124
-13
30
67
118
9
8
8
45
10
-4
0
0
0
0
0
-120
-86
-2
0
130
26
20
33
41
5
-13
0
0
0
0
0
0
3
143
-67
38
35
27
34
-7
-57
-46
7
0
0
0
0
0
0
1
-3
-45
-36
-36
11
57
-14
-1
1
0
0
0
0
0
0
0
0
0
10
-5
-60
31
4
-8
0
0
0
0
0
0
0
0
0
0
-27
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
83
-37
2
-2
-15
0
-4
0
2
0
0
0
0
0
-8
18
-79
34
66
30
-3
0
6
0
-16
4
0
0
0
0
0
3
34
-34
86
11
133
20
-20
12
-6
22
-26
0
0
0
0
0
11
18
-60
-4
-17
-42
135
135
25
-5
-9
-2
0
0
0
0
0
5
-43
28
2
2
-25
-118
109
-39
-1
0
0
0
0
0
0
0
0
-11
107
60
-11
90
108
-35
21
-106
-9
3
0
0
0
0
0
0
-24
-24
39
-77
-60
25
-56
14
-3
0
0
0
0
0
0
0
0
2
-4
-44
-45
39
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
19
0
0
0
0
0
0
0
0
0
-5
16
-29
-42
29
29
26
-3
0
0
0
0
0
0
0
0
0
4
117
-22
3
56
134
-14
0
-4
0
22
-11
0
0
0
0
0
16
-63
67
-44
45
-16
-87
-28
39
31
29
0
0
0
0
0
0
-22
53
103
21
103
1
32
49
29
17
-6
0
1
0
0
0
0
-18
-38
-1
110
117
0
113
3
-11
-90
65
0
0
0
0
0
0
0
-9
-133
66
-19
-24
11
2
-1
-44
-3
0
0
0
0
0
0
0
18
-84
-103
13
-61
57
9
18
-1
0
0
0
0
0
0
0
0
7
5
20
27
-56
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
0
0
0
0
19
106
16
50
12
-4
6
0
0
0
0
0
0
0
0
0
0
-1
-43
112
-32
88
72
0
2
0
-31
-3
0
0
0
0
0
0
-12
161
-38
-63
44
7
7
-1
-22
0
-2
0
0
0
0
0
0
24
0
15
-73
6
17
-8
-26
-80
3
5
0
0
0
0
0
0
-7
39
8
-38
92
0
32
-22
88
0
-7
0
0
0
0
0
0
-19
-30
6
-67
-8
0
-15
1
-15
0
0
0
0
0
0
0
0
0
14
22
-87
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-14
-5
3
34
-5
3
-24
0
0
0
0
0
0
0
0
0
0
0
-25
-27
165
8
-135
-8
0
-7
0
10
0
0
0
0
0
0
-53
-40
29
16
14
52
-19
-63
13
5
9
0
0
0
0
0
0
7
19
-22
161
-106
-11
-24
2
-47
-14
-7
0
0
0
0
0
0
44
70
-23
-37
39
99
17
0
-2
17
0
0
0
0
0
0
0
0
9
2
-57
-90
-31
-22
4
0
5
0
0
0
0
0
0
0
-5
0
-34
8
6
34
3
3
-11
0
0
0
0
0
0
0
0
0
0
0
-7
0
19
0
0
-6
0
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
-26
-58
64
0
-22
-11
0
0
0
0
0
0
0
0
0
0
71
15
-120
-19
59
-7
103
0
2
0
0
3
0
0
0
0
0
-34
-141
29
2
40
-8
2
11
-142
-188
0
0
0
0
0
0
0
-62
51
-156
-8
-101
-24
-59
62
-12
-12
0
0
0
0
0
0
0
178
21
-28
15
-59
-38
-27
9
0
-29
0
0
0
0
0
0
0
-20
22
-111
-59
-158
-103
-27
49
-51
19
0
0
0
0
0
0
0
-4
19
111
147
-41
-41
-44
5
-1
-5
0
0
0
0
0
0
0
0
0
-22
10
15
49
-2
23
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
-31
-75
50
78
-41
42
-7
0
-4
-6
0
0
0
0
0
0
0
10
44
82
74
15
-91
0
14
0
3
0
0
0
0
0
0
0
-16
-13
90
-71
-27
105
15
3
-52
3
0
0
0
0
0
0
0
-25
90
-9
59
68
-7
-1
-35
-92
-5
0
0
0
0
0
0
0
-58
-11
-16
39
-24
-78
54
-46
0
-12
0
0
0
0
0
0
0
27
-48
107
-39
-103
45
46
-23
81
0
0
0
0
0
0
0
0
48
153
7
-138
-38
83
22
5
0
0
0
0
0
0
0
0
0
-4
1
-60
-32
6
3
-5
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
-14
11
0
0
0
0
9
0
0
0
0
0
0
0
0
-17
-7
39
0
-9
0
0
0
5
0
0
0
0
0
0
0
0
0
-26
-14
7
0
6
0
-2
2
0
0
0
0
0
0
0
0
3
1
0
-19
-3
0
-2
-8
7
0
0
0
0
0
0
0
0
1
5
-3
-2
12
17
-3
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
-18
-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
-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
-4
4
1
8
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
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
18
-6
-25
-2
-10
4
0
0
0
0
0
0
0
0
0
0
0
1
20
10
48
-4
-21
7
0
1
0
0
0
0
0
0
0
0
15
-22
-68
-33
89
28
0
-44
-10
0
0
0
0
0
0
0
0
0
39
21
66
-5
15
-21
2
-69
0
0
0
0
0
0
0
0
35
-60
-67
44
137
-42
37
8
29
0
0
0
0
0
0
0
0
0
-2
2
-34
-7
-45
9
64
-33
0
0
0
0
0
0
0
0
3
49
-7
12
-8
4
0
0
15
0
0
0
0
0
0
0
0
0
23
1
5
0
1
-20
8
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
75
17
-31
39
38
44
-3
0
-12
0
0
0
0
0
0
0
-32
-5
72
64
64
-110
-55
0
-13
0
0
0
0
0
0
0
0
-53
-34
125
-22
209
-23
-37
-53
13
2
0
0
0
0
0
0
0
-67
-13
-39
14
109
-42
19
57
44
-16
0
0
0
0
0
0
0
-58
56
-11
65
-15
30
-225
105
73
50
0
0
0
0
0
0
0
-3
0
-64
-155
-31
76
59
-33
9
41
0
0
0
0
0
0
0
0
-18
-22
8
83
-21
-22
7
-27
7
0
0
0
0
0
0
0
0
-136
12
144
87
-26
4
19
9
0
0
0
0
0
0
0
0
1
0
28
8
5
0
0
0
0
0
0
0
0
0
0
0
0
25
-56
82
8
5
95
-13
67
0
0
2
0
0
0
0
0
0
0
150
28
151
31
6
3
0
1
0
39
0
0
0
0
0
0
-25
16
123
140
0
-30
116
28
-19
106
-1
0
0
0
0
0
0
0
100
-28
73
20
-32
130
89
39
-152
13
0
0
0
0
0
0
48
60
236
-16
-108
51
63
5
-27
-12
-29
0
0
0
0
0
0
2
17
0
42
49
18
28
42
27
-10
6
0
0
0
0
0
0
0
6
-50
-9
48
23
72
-65
59
6
0
0
0
0
0
0
0
0
-63
78
1
-148
-62
14
6
0
2
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
0
-26
-145
5
47
58
4
13
-1
0
0
5
0
0
0
0
0
0
12
-65
-7
27
29
61
56
0
0
0
-16
0
0
0
0
0
0
-42
-23
55
111
73
168
20
-42
66
8
-45
-9
0
0
0
0
0
-77
51
-121
-164
-2
33
97
34
107
45
-6
0
0
0
0
0
0
-33
4
36
59
4
50
-25
78
29
-32
79
0
0
0
0
0
0
-67
-92
60
0
52
11
19
-19
-21
28
-2
0
0
0
0
0
0
-24
-42
-38
35
-88
118
79
65
-78
0
0
0
0
0
0
0
0
0
-6
17
-2
7
0
-42
-1
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
-189
59
129
28
56
13
0
0
7
-1
0
0
0
0
0
0
13
14
58
-20
147
112
0
8
0
-9
5
0
0
0
0
0
-6
9
-102
-55
117
-59
2
13
-91
99
1
0
0
0
0
0
0
0
-12
47
63
-164
18
52
38
1
-74
10
0
0
0
0
0
0
-66
-2
39
24
66
-24
92
71
-46
126
4
-7
0
0
0
0
0
0
-31
-48
-97
0
122
40
-35
-22
-8
0
0
0
0
0
0
0
0
-28
68
-66
8
114
89
9
-89
-1
0
0
0
0
0
0
0
0
-15
76
11
3
-20
-13
2
0
-1
0
0
0
0
0
0
0
0
0
2
-2
41
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
7
-41
-73
29
-11
-10
0
0
2
1
0
0
0
0
0
1
114
35
101
85
1
-49
0
-4
0
1
0
0
0
0
0
0
-3
48
129
28
117
-20
-26
22
-49
-5
-9
0
0
0
0
0
0
0
53
34
-167
10
236
116
-8
10
-6
11
0
0
0
0
0
0
11
45
-78
14
5
32
76
-4
-10
-83
2
0
0
0
0
0
0
2
-97
48
-43
-8
0
37
7
-41
-4
0
0
0
0
0
0
0
2
-2
5
-5
-15
33
4
-15
26
-3
0
0
0
0
0
0
0
0
-1
-4
-1
-19
9
5
0
-1
-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
54
-15
40
25
26
26
0
0
0
3
0
0
0
0
0
0
0
61
-67
82
-53
-41
7
0
0
0
0
1
0
0
0
0
0
0
9
-70
-43
45
-2
257
7
3
-11
1
0
0
0
0
0
0
0
48
38
-124
-6
6
14
27
-2
-11
0
0
0
0
0
0
0
1
40
26
11
-81
15
-20
40
-2
0
0
0
0
0
0
0
0
0
122
-28
62
15
129
0
1
2
-10
0
0
0
0
0
0
0
0
3
-78
-12
-115
-15
-27
0
-7
0
0
0
0
0
0
0
0
0
0
5
-29
-18
-60
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
1
-122
-17
-23
5
0
3
0
0
-2
0
0
0
0
0
0
0
-19
5
110
-4
-14
-14
0
2
0
0
0
0
0
0
0
0
-11
-7
-69
-38
-44
-108
18
-6
-10
0
-14
0
0
0
0
0
0
2
29
-12
-67
-1
11
13
-35
0
0
0
0
0
0
0
0
0
27
6
44
-32
83
-40
22
0
-81
0
0
0
0
0
0
0
0
0
32
-23
34
31
-9
-34
0
6
0
0
0
0
0
0
0
0
-9
0
4
9
21
6
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-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
-41
-39
10
12
28
-3
0
0
0
0
0
0
0
0
0
0
-3
115
-35
-58
95
14
17
0
3
0
0
0
0
0
0
0
0
-1
57
43
2
37
35
-126
-47
-149
13
1
0
0
0
0
0
0
-17
88
-15
46
44
6
-147
-195
18
53
0
0
0
0
0
0
0
-28
-130
8
-1
-29
0
-15
-23
-26
77
0
0
0
0
0
0
0
-44
54
2
-50
-90
-9
52
-1
0
18
0
0
0
0
0
0
0
12
0
-6
-23
-63
80
50
-34
18
0
0
0
0
0
0
0
0
0
25
46
-24
-38
23
13
6
7
-2
0
0
0
0
0
0
0
1
-33
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
31
57
-21
63
-3
0
-4
0
20
0
0
0
0
0
0
0
0
59
-77
24
-59
-27
5
0
-5
0
0
0
0
0
0
0
0
0
-35
21
121
-65
-26
84
-2
6
-51
-2
0
0
0
0
0
0
0
109
79
74
231
6
67
-79
-13
6
-4
0
0
0
0
0
0
0
-17
10
46
43
118
-102
-19
-80
-51
1
0
0
0
0
0
0
0
143
24
36
-104
-77
75
-6
16
0
0
0
0
0
0
0
0
0
-1
22
-62
-25
-138
23
-5
3
3
0
0
0
0
0
0
0
0
-4
30
-6
20
34
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
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
9
1
0
0
0
-32
0
0
0
0
0
0
0
0
-19
-39
0
13
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-15
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
11
10
0
-8
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
16
24
-43
44
2
0
0
-2
0
0
0
0
0
0
0
0
-39
0
35
-4
12
2
0
2
0
0
0
0
0
0
0
0
0
2
-2
-22
-4
77
61
0
0
27
0
0
0
0
0
0
0
0
26
10
37
18
-79
16
-2
1
6
0
0
0
0
0
0
0
0
0
-1
-21
-142
-18
-18
11
-2
19
0
0
0
0
0
0
0
0
0
0
48
-1
14
4
0
0
-7
0
0
0
0
0
0
0
0
0
2
-1
-3
0
-2
2
7
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
14
-14
29
-15
49
79
1
0
0
0
0
0
0
0
0
0
-3
114
98
60
27
142
-16
0
-2
0
0
0
0
0
0
0
0
62
72
163
18
147
51
-195
-1
-8
-30
0
0
0
0
0
0
0
23
-9
42
133
31
-93
-44
-63
40
-49
0
0
0
0
0
0
0
48
32
16
-20
-66
147
17
57
-66
-71
0
0
0
0
0
0
0
-12
105
105
66
39
-106
49
35
2
-29
0
0
0
0
0
0
0
19
0
15
49
70
2
-87
11
52
-75
0
0
0
0
0
0
0
0
145
55
33
32
11
5
9
3
12
0
0
0
0
0
0
0
0
-6
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
54
60
74
-24
78
109
-5
0
11
0
0
0
0
0
0
0
0
-23
-19
-20
58
44
46
0
4
0
6
0
0
0
0
0
0
-24
-56
-101
53
-35
8
-120
3
13
60
-6
0
0
0
0
0
0
0
50
-19
103
2
-10
1
91
-76
69
-16
0
0
0
0
0
0
-14
52
42
63
31
5
142
17
-120
-8
27
0
0
0
0
0
0
0
-35
18
-26
18
0
-65
-127
70
37
0
0
0
0
0
0
0
-12
-8
0
-9
15
22
-103
-85
-67
-2
0
0
0
0
0
0
0
0
3
12
4
38
-33
7
7
0
-19
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
-23
-45
-63
-18
-55
29
4
0
0
-3
0
0
0
0
0
0
0
-6
73
38
-76
6
-56
0
13
0
10
0
0
0
0
0
0
-50
-7
-7
-23
-12
90
-44
-40
-7
20
-82
-1
0
0
0
0
0
1
80
-27
137
48
-50
-18
-21
20
5
44
7
0
0
0
0
0
5
-7
-58
-17
24
99
143
25
4
22
3
0
0
0
0
0
0
14
24
21
-6
106
90
-25
-30
85
53
-15
0
0
0
0
0
0
13
-19
-154
0
44
55
49
47
-1
44
1
0
0
0
0
0
0
0
2
11
-13
-11
-128
-15
5
1
0
0
0
0
0
0
0
0
0
0
43
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-70
33
-100
79
61
9
0
0
0
0
0
0
0
0
0
-13
-69
8
-98
-52
32
31
0
-1
0
-1
0
0
0
0
0
0
-15
10
175
66
-3
45
-69
1
33
13
0
1
0
0
0
0
0
0
-65
-47
6
31
-109
39
-32
-5
30
-16
0
0
0
0
0
0
-32
69
43
18
-12
21
-59
-6
28
86
0
0
0
0
0
0
0
0
10
-1
26
14
106
13
-54
-66
-84
6
-3
0
0
0
0
0
1
9
-32
62
0
-24
54
-50
17
7
0
0
0
0
0
0
0
0
23
4
-61
49
14
17
-1
-35
-5
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
-97
26
80
-12
69
8
0
0
0
0
0
0
0
0
0
3
-53
72
-66
62
-5
38
0
-5
0
0
0
0
0
0
0
0
9
15
29
85
42
92
-103
0
3
60
-4
0
0
0
0
0
0
-4
-1
11
64
-61
0
-12
53
-25
-66
0
0
0
0
0
0
0
13
1
-31
-15
-71
-8
-3
4
1
28
-44
0
0
0
0
0
0
2
-4
-23
-18
-35
-22
-30
97
8
5
-2
0
0
0
0
0
0
0
5
92
-27
-74
0
-6
16
64
-24
0
0
0
0
0
0
0
0
-8
4
19
33
44
-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
0
0
0
0
0
21
1
-66
-15
-6
2
0
0
0
0
0
0
0
0
0
0
9
88
-54
51
-35
4
0
0
0
1
0
0
0
0
0
0
0
21
12
40
-143
47
24
-3
0
-9
-2
0
0
0
0
0
0
0
-5
7
-68
-42
28
53
54
0
0
0
0
0
0
0
0
0
0
4
-18
-53
52
10
-29
-22
13
-22
0
0
0
0
0
0
0
0
-30
-8
69
-56
-6
10
-27
1
41
0
0
0
0
0
0
0
0
-1
25
-7
-88
-41
0
-54
-43
-7
0
0
0
0
0
0
0
0
0
5
-31
-24
34
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
-13
-32
-5
3
8
0
0
0
0
0
0
0
0
0
0
0
0
10
4
-17
25
1
15
0
0
0
5
0
0
0
0
0
0
-39
0
-95
3
-48
14
0
0
-3
-2
0
0
0
0
0
0
0
0
37
-4
-18
-9
-36
6
-7
-19
0
0
0
0
0
0
0
0
0
-16
38
-23
47
4
28
-3
-6
0
0
0
0
0
0
0
0
0
-37
-15
-133
25
14
-4
-8
-3
-13
0
0
0
0
0
0
0
0
0
-51
5
-32
0
-25
0
-10
0
0
0
0
0
0
0
0
0
19
0
-95
-5
-14
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
0
-82
-20
21
4
-17
47
-4
0
0
0
0
0
0
0
0
0
0
-73
49
-65
-30
20
13
0
0
0
0
0
0
0
0
0
0
-8
-69
-50
-90
-43
23
20
48
-3
-80
0
0
0
0
0
0
0
0
33
-17
8
87
-44
0
2
23
61
0
0
0
0
0
0
0
55
-10
-26
-99
-16
118
-72
59
15
-58
0
0
0
0
0
0
0
0
-13
70
-104
21
40
0
25
7
8
0
0
0
0
0
0
0
0
7
60
16
-73
18
-2
0
0
-37
0
0
0
0
0
0
0
0
-186
-53
133
8
48
-3
-38
-2
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-21
-37
22
2
0
0
2
-14
0
0
0
0
0
0
0
-89
-51
102
-42
3
9
0
0
0
0
0
0
0
0
0
0
0
0
8
-54
-11
8
-22
6
0
-11
0
0
0
0
0
0
0
0
30
42
-48
4
59
60
33
0
21
0
0
0
0
0
0
0
0
5
44
17
25
-17
-102
37
18
-52
0
0
0
0
0
0
0
0
4
-2
-63
60
9
-167
22
-1
-14
-1
0
0
0
0
0
0
0
-78
-18
61
23
22
170
-38
-16
0
-2
0
0
0
0
0
0
0
0
-21
1
29
-32
5
43
0
25
0
0
0
0
0
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
-1
0
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
11
0
2
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
0
0
-2
6
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
8
1
0
-8
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
22
3
9
0
0
0
0
0
0
0
0
0
0
0
-20
7
117
1
3
4
0
0
11
0
0
0
0
0
0
0
0
2
84
0
33
-2
18
0
0
-28
0
0
0
0
0
0
0
0
44
0
2
-29
-45
-22
0
10
1
0
0
0
0
0
0
0
0
0
182
8
88
0
78
-58
-21
3
0
0
0
0
0
0
0
0
1
4
-50
1
10
4
-1
0
5
0
0
0
0
0
0
0
0
0
0
-6
-12
-1
-9
0
7
0
0
0
0
0
0
0
0
0
0
13
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-96
18
11
-3
0
0
0
0
0
0
0
0
0
0
0
-1
75
-1
55
3
-1
-15
0
0
0
0
0
0
0
0
0
0
28
-1
46
4
-26
9
-1
13
95
6
0
0
0
0
0
0
0
-11
53
14
-18
-47
171
141
-19
132
-49
0
0
0
0
0
0
0
-28
0
114
156
-113
24
-112
16
50
25
0
0
0
0
0
0
0
1
85
-12
46
62
-77
-26
27
-28
-19
0
0
0
0
0
0
0
-48
4
40
58
-80
5
-2
7
-55
0
0
0
0
0
0
0
0
0
0
3
-57
15
22
-43
-15
-3
-9
0
0
0
0
0
0
0
0
-51
16
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-12
96
2
11
0
0
0
0
0
0
0
0
0
0
0
-159
2
-10
-44
54
15
0
0
0
0
0
0
0
0
0
0
-7
2
22
-45
38
123
19
-7
5
-43
0
0
0
0
0
0
0
0
-29
50
61
84
30
87
-84
-2
-45
0
0
0
0
0
0
0
-8
24
43
74
-36
33
33
4
13
12
-2
0
0
0
0
0
0
0
-44
-65
-47
-195
-3
-70
27
-19
102
0
0
0
0
0
0
0
4
-2
56
52
-37
-60
-39
-33
-23
26
0
0
0
0
0
0
0
0
19
0
15
47
45
-21
-17
1
0
0
0
0
0
0
0
0
0
-6
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
-62
0
-39
0
0
0
6
0
0
0
0
0
0
0
-41
-3
72
-7
2
0
0
0
0
-3
0
0
0
0
0
0
53
15
129
29
59
13
10
-6
18
-28
0
0
0
0
0
0
0
0
86
5
7
-26
81
-77
-27
-1
0
6
0
0
0
0
0
0
-28
2
125
18
-28
-9
79
25
-3
6
0
0
0
0
0
0
0
0
-19
9
-34
14
-41
-39
-7
6
0
0
0
0
0
0
0
0
-2
0
-7
47
-160
0
-50
-22
-79
0
0
0
0
0
0
0
0
0
-14
-15
0
2
-6
0
-41
0
-21
0
0
0
0
0
0
0
0
0
-13
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
95
0
0
-64
9
1
0
0
0
0
0
0
0
0
0
0
64
-37
62
-8
-12
6
0
0
0
14
0
0
0
0
0
0
4
-1
15
54
-63
9
82
5
8
-8
0
0
0
0
0
0
0
0
71
83
1
-4
-23
57
13
0
0
0
0
0
0
0
0
0
-1
3
-8
73
6
52
112
32
21
7
0
0
0
0
0
0
0
0
-44
14
-62
67
49
-3
-12
10
-49
0
0
0
0
0
0
0
-2
4
-59
-28
4
-14
0
15
-15
-22
0
0
0
0
0
0
0
0
-12
0
31
0
-4
2
6
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
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-9
-14
50
-25
18
0
0
0
0
0
0
0
0
0
0
0
-95
0
54
-29
-34
-33
0
0
2
0
0
0
0
0
0
0
0
0
22
-3
12
-3
44
-10
-2
3
6
0
0
0
0
0
0
0
-1
0
-58
-21
-21
9
-7
-11
1
5
0
0
0
0
0
0
0
0
0
7
-8
9
-21
8
-13
7
-2
0
0
0
0
0
0
0
-8
0
6
0
18
-6
2
2
14
0
0
0
0
0
0
0
0
0
5
-10
-22
1
0
0
0
-3
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
3
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
-23
2
5
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-41
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
43
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
15
-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
2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
-8
0
0
0
5
0
0
0
0
0
0
0
0
3
0
-11
1
16
0
0
2
0
0
0
0
0
0
0
0
-12
0
-5
7
-31
26
9
0
0
0
0
0
0
0
0
0
0
-44
0
0
-57
-34
-96
0
0
0
0
0
0
0
0
0
0
0
0
5
25
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
-49
1
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
23
0
10
0
-6
0
0
0
0
0
0
0
0
0
0
0
-73
4
19
-2
-21
8
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
71
-17
-15
-8
0
-122
0
0
0
0
0
0
0
0
43
-41
84
17
-5
-53
-2
-50
-9
0
0
0
0
0
0
0
6
1
1
1
-55
-173
-25
92
-12
-14
0
0
0
0
0
0
0
0
2
-1
94
-22
40
-63
0
0
-14
0
0
0
0
0
0
0
0
-1
-54
21
-50
1
3
0
0
-13
0
0
0
0
0
0
0
0
18
1
17
25
-25
-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
0
0
0
0
0
32
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
21
2
54
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-42
9
0
-5
0
1
18
0
0
0
0
0
0
0
0
0
-1
7
25
24
-7
-4
0
0
2
0
0
0
0
0
0
0
0
8
50
-17
8
-14
-2
1
-10
0
0
0
0
0
0
0
0
8
-1
1
-15
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-47
24
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
-24
-21
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
0
5
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
114
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
-45
2
-20
4
0
-13
0
0
0
0
0
0
0
0
-77
2
24
0
47
-19
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-52
-8
100
-4
0
0
0
0
0
0
0
0
0
0
0
0
-68
-6
55
0
9
1
-11
0
0
0
0
0
0
0
0
0
1
0
-37
0
18
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
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
-2
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-49
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
3
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
0
0
0
0
0
0
0
0
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
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
1
-14
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-27
0
-7
0
0
-14
0
0
0
0
0
0
0
0
0
0
-24
0
-8
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
35
27
-72
40
0
0
0
0
0
0
0
0
0
-7
-25
-18
-6
17
32
116
-29
-45
0
0
0
0
0
0
0
0
11
-59
8
68
123
-21
39
57
-12
0
0
0
0
0
0
0
0
5
-1
42
-23
-18
-86
-42
33
-63
0
0
0
0
0
0
0
0
2
-16
-9
65
-8
83
-30
-13
-63
0
0
0
0
0
0
0
0
0
11
0
-12
4
78
38
44
-4
0
0
0
0
0
0
0
0
0
-16
-6
52
2
-25
64
21
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-38
0
39
117
58
-12
10
48
0
-29
0
0
0
0
0
0
0
-1
9
-52
41
30
135
43
68
54
41
0
0
0
0
0
0
0
-17
-26
147
-27
47
-88
57
8
65
-12
0
0
0
0
0
0
0
-104
-66
-3
52
44
-46
-21
81
-53
36
0
0
0
0
0
0
0
35
89
128
-75
-31
161
-18
0
-12
-3
0
0
0
0
0
0
0
-17
-17
76
-13
-52
-44
-60
-188
-22
7
0
0
0
0
0
0
0
42
39
-64
32
-117
-21
-11
-2
15
-8
0
0
0
0
0
0
0
-1
2
-15
0
18
-92
-78
-19
64
29
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
4
0
0
0
0
0
0
0
0
0
-66
0
-24
-35
93
56
-61
0
-36
34
0
0
0
0
0
0
-60
22
-19
108
0
45
-46
10
54
-59
-10
0
0
0
0
0
0
26
53
8
-43
-16
74
3
-82
-27
25
23
0
0
0
0
0
0
-5
107
109
109
24
27
-21
67
-1
126
53
0
0
0
0
0
0
-1
15
88
31
-24
145
-55
-51
-68
-108
0
0
0
0
0
0
0
0
29
-28
-42
-61
6
-62
64
14
1
-55
0
0
0
0
0
0
0
-52
-47
-41
-101
-55
-61
119
107
30
0
0
0
0
0
0
0
0
-53
-29
-60
-55
57
-32
15
-54
1
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
-2
-4
0
14
92
-13
-57
0
23
-38
0
0
0
0
0
0
29
-89
21
-37
3
94
-72
65
-15
-94
-14
2
0
0
0
0
0
14
-70
52
15
71
90
1
7
64
12
-12
1
0
0
0
0
0
-10
31
52
-107
-46
-42
110
-57
24
11
107
0
0
0
0
0
0
168
-6
-163
17
-95
8
-104
59
-66
-4
10
0
0
0
0
0
0
-1
-12
-14
-34
-1
-122
-116
11
-75
21
38
-5
0
0
0
0
0
0
5
-4
8
2
59
-14
68
48
70
-2
0
0
0
0
0
0
0
-3
-5
-3
-28
33
-22
-84
-15
-42
0
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
-4
-6
0
-85
-98
134
0
-11
-13
-7
0
0
0
0
0
1
-58
19
38
-8
70
-51
22
-80
-84
76
6
0
0
0
0
0
-5
-26
16
-9
57
-106
-12
-15
-85
62
-2
42
0
0
0
0
0
0
55
-161
-1
-76
-4
-90
45
97
40
16
0
0
0
0
0
0
-2
-55
34
81
49
-64
-9
76
67
13
4
0
0
0
0
0
0
0
42
-38
10
50
-35
-40
-145
26
59
-8
0
0
0
0
0
0
0
-18
62
11
-60
16
54
25
-98
-71
0
0
0
0
0
0
0
0
-5
-2
12
-37
51
15
47
-51
-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
5
-4
0
-1
-13
0
19
-47
0
-48
-5
0
0
0
0
0
0
-7
86
8
5
180
20
-72
135
-48
-44
4
-4
0
0
0
0
0
-7
-68
-44
79
110
-106
-63
-70
-33
106
-3
0
0
0
0
0
0
22
-9
14
-24
105
-50
-100
40
151
45
3
0
0
0
0
0
0
22
-24
-55
1
-67
-76
64
88
-44
5
-33
0
0
0
0
0
0
0
-12
3
-25
33
2
-93
-28
-50
-23
75
1
0
0
0
0
0
0
0
-4
-4
-6
1
67
-15
26
-32
0
0
0
0
0
0
0
0
-7
0
0
17
-43
-13
49
68
-24
0
0
0
0
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
21
0
27
3
0
0
0
0
0
0
0
83
105
115
-56
0
52
1
96
76
7
0
0
0
0
0
0
0
67
-7
68
13
84
-34
-102
80
-20
11
0
0
0
0
0
0
0
-17
0
-6
180
-17
-69
29
-35
9
-38
0
0
0
0
0
0
0
-4
9
47
0
-48
-30
27
134
-50
4
0
0
0
0
0
0
0
23
0
0
0
12
-31
-161
-16
5
6
0
0
0
0
0
0
0
0
6
-15
7
-16
130
-27
-68
9
0
0
0
0
0
0
0
0
0
-1
-26
0
-9
17
23
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
16
-19
20
0
11
0
0
0
0
0
0
0
0
0
1
0
-13
-59
-8
33
-8
-2
0
0
0
0
0
0
0
0
0
9
0
3
0
-7
-4
9
4
-2
0
0
0
0
0
0
0
0
0
0
9
-33
-18
-1
-12
5
7
0
0
0
0
0
0
0
0
7
2
0
3
7
-28
-45
-17
-9
0
0
0
0
0
0
0
0
0
-18
-4
0
0
12
9
-23
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
2
0
-3
0
10
0
-27
-17
0
0
0
0
0
0
0
0
0
0
0
-13
6
11
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
5
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
11
1
1
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
-15
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
120
-7
-4
32
38
-26
0
0
0
0
0
0
0
0
0
-5
15
0
105
-45
62
32
-39
-5
0
0
0
0
0
0
0
0
-65
28
-67
-54
104
40
-31
44
46
0
0
0
0
0
0
0
0
9
105
-35
-184
96
-78
2
-29
5
0
0
0
0
0
0
0
0
21
82
96
78
-15
-81
-11
-64
-53
0
0
0
0
0
0
0
0
31
38
15
39
73
137
21
-48
10
0
0
0
0
0
0
0
0
-6
-50
12
-37
-73
-22
38
-23
43
0
0
0
0
0
0
0
0
0
2
0
17
0
-73
69
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
59
-3
0
0
0
0
0
0
0
0
0
100
150
-49
86
33
2
54
40
0
16
0
0
0
0
0
0
0
41
-12
-57
131
19
111
-13
20
41
-20
0
0
0
0
0
0
0
116
96
-38
56
48
4
-7
39
-62
-48
0
0
0
0
0
0
0
85
42
132
-9
1
28
-2
22
40
-47
0
0
0
0
0
0
0
-280
79
0
45
-4
20
119
76
-18
-74
0
0
0
0
0
0
0
11
47
-57
26
33
-9
15
9
-61
-27
0
0
0
0
0
0
0
-64
35
-65
44
145
-68
-54
-84
54
24
0
0
0
0
0
0
0
6
-1
0
-89
66
18
-44
-12
-94
7
0
0
0
0
0
0
0
-1
0
-5
0
20
0
50
2
0
0
0
0
0
0
0
0
0
27
83
39
-55
91
-91
-22
-2
0
33
11
0
0
0
0
0
0
26
-44
3
24
-17
0
-1
27
-12
15
-12
0
0
0
0
0
0
16
-82
-31
-9
13
-29
60
73
-17
-17
-15
0
0
0
0
0
0
29
15
154
1
-15
-64
-38
2
15
36
34
0
0
0
0
0
0
-23
57
-17
-47
58
23
43
44
-21
-8
-51
0
0
0
0
0
0
3
48
-38
-23
20
26
-26
128
-25
-1
5
0
0
0
0
0
0
0
-7
77
-21
38
-35
29
16
4
59
-9
0
0
0
0
0
0
0
16
0
-14
54
54
-108
-10
-12
-50
0
0
0
0
0
0
0
0
0
0
2
0
-10
6
-3
21
-3
0
0
0
0
0
0
0
26
-107
73
-6
-74
-54
24
-82
0
46
-21
1
0
0
0
0
0
39
-57
3
61
-4
-10
-10
75
8
-50
0
0
0
0
0
0
0
15
35
57
-112
19
10
56
65
25
-31
44
-30
0
0
0
0
0
-78
143
32
-62
34
144
-16
36
14
-69
-7
0
0
0
0
0
0
104
108
44
-46
-61
6
-11
1
-39
61
21
4
0
0
0
0
0
-34
-84
-38
89
-14
14
-74
33
125
55
58
0
0
0
0
0
0
2
11
0
-8
-53
18
-66
-27
29
48
49
1
0
0
0
0
0
2
-4
26
-7
4
43
8
0
-98
17
0
0
0
0
0
0
0
0
-1
0
0
1
0
-68
4
2
7
0
0
0
0
0
0
0
-15
-34
-124
88
-13
11
-15
-138
0
-92
-121
-14
0
0
0
0
0
107
-19
54
33
3
-17
19
68
-107
-37
-113
-29
0
0
0
0
0
-1
7
-34
-56
-22
38
-38
-3
12
-44
57
-12
0
0
0
0
0
106
-58
32
56
-126
71
36
58
-58
-95
-78
-8
0
0
0
0
0
8
79
-1
18
118
23
13
45
1
11
1
47
5
0
0
0
0
-9
-16
96
34
49
-101
16
-49
-38
-86
-18
-4
0
0
0
0
0
0
-2
1
10
20
-99
-102
39
45
-19
-9
7
0
0
0
0
0
0
0
0
-14
0
60
27
-96
-28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-13
0
0
0
0
0
0
0
0
-112
15
-52
-70
-39
-57
44
73
0
-96
-110
6
0
0
0
0
0
-56
-46
45
-2
-1
-64
51
66
28
36
47
-4
0
0
0
0
0
66
56
28
-30
117
67
29
74
-30
54
-24
-12
0
0
0
0
0
-107
-7
-47
117
-39
75
20
13
-38
39
-18
-11
-1
0
0
0
0
0
-10
68
14
-23
38
69
31
19
-85
47
0
-6
0
0
0
0
7
1
66
-73
-7
-53
72
25
18
-85
93
4
-1
0
0
0
0
-11
14
-2
18
-17
-89
-96
-3
35
31
4
11
0
0
0
0
0
0
6
0
0
0
20
43
-117
26
-46
-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
67
-39
-9
-60
-186
-94
-2
0
-118
11
0
-2
0
0
0
0
0
-27
-101
-61
18
14
58
69
-19
-46
-5
-38
-3
0
0
0
0
0
-6
76
82
41
-27
-58
-10
-43
17
18
0
0
0
0
0
0
0
-21
-57
-9
106
-23
-27
-63
101
22
-9
-8
0
0
0
0
0
0
-10
43
-10
-21
44
-80
-107
65
-64
-19
-8
0
0
0
0
0
0
-2
-18
-38
-9
62
-19
48
30
-24
2
0
0
0
0
0
0
0
0
-1
-9
-34
-28
59
33
-20
-11
-1
0
0
0
0
0
0
0
11
0
0
-1
-21
-16
-49
26
52
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
18
0
0
1
-2
22
3
23
0
43
-3
5
0
0
0
0
0
-1
0
-4
17
-1
3
34
-21
3
-44
7
-4
0
0
0
0
0
-8
0
-24
91
-42
-15
-65
4
-89
-2
-4
2
0
0
0
0
0
1
9
2
-1
7
-1
17
-36
33
10
27
-2
0
0
0
0
0
-10
-1
-7
0
-9
-1
-42
-9
-52
-4
2
0
2
0
0
0
0
0
0
0
1
6
-20
1
-32
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
4
-71
0
-31
0
0
0
0
0
0
0
0
-9
-15
-25
-2
33
60
-25
104
0
-6
0
-3
0
0
0
0
0
23
21
-14
-23
-31
-65
55
-14
-24
0
0
0
0
0
0
0
0
-5
-1
-7
29
73
-1
-7
-5
11
2
0
0
0
0
0
0
0
-1
-8
9
4
-8
-19
29
7
2
-1
0
0
0
0
0
0
0
12
0
2
12
1
1
-1
6
-12
-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
-3
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
6
2
-13
2
-42
36
0
4
-7
0
0
0
0
0
0
0
0
22
-2
54
-42
8
53
-2
-46
-3
3
0
0
0
0
0
0
0
-27
-51
50
18
-109
-35
78
44
-21
0
0
0
0
0
0
0
0
-12
1
1
4
-61
3
9
-16
16
0
0
0
0
0
0
0
0
18
0
10
16
-48
6
-28
15
-15
-5
0
0
0
0
0
0
0
0
9
0
2
0
-11
3
-3
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
10
0
-6
0
-3
0
0
0
0
0
0
0
0
20
0
3
8
-22
-1
-9
-1
0
0
0
0
0
0
0
0
0
-6
-3
8
24
-20
-46
-42
-2
5
0
0
0
0
0
0
0
0
0
-4
0
7
-40
32
5
0
5
0
0
0
0
0
0
0
0
5
0
0
0
-20
0
-1
3
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-6
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
-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
-2
0
0
3
4
-7
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
23
-67
-149
94
0
0
0
0
0
0
0
0
0
1
24
39
44
45
7
75
-5
94
0
0
0
0
0
0
0
0
58
57
42
-77
34
2
55
7
77
0
0
0
0
0
0
0
0
-14
3
-44
51
100
121
52
-99
14
0
0
0
0
0
0
0
0
9
-25
88
-54
-10
102
47
-44
-59
0
0
0
0
0
0
0
0
-4
-71
63
-88
-61
-17
-10
-39
0
0
0
0
0
0
0
0
0
0
-6
0
0
22
74
-14
53
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
-6
-56
-26
42
82
-32
-40
0
-74
0
0
0
0
0
0
0
-34
57
40
-42
39
29
-44
-5
59
-36
0
0
0
0
0
0
0
-39
47
-35
19
50
-19
32
23
86
0
0
0
0
0
0
0
0
12
-38
-40
-37
62
56
-17
16
75
-1
0
0
0
0
0
0
0
-18
11
-121
33
159
-79
121
20
-14
42
0
0
0
0
0
0
0
-93
123
37
-68
-137
-12
98
-12
-81
31
0
0
0
0
0
0
0
22
0
-16
24
31
-36
-91
71
-45
-25
0
0
0
0
0
0
0
0
0
-2
55
35
-7
-1
-30
-31
0
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
66
-8
71
12
44
-3
22
0
65
-60
0
0
0
0
0
0
-125
73
-101
64
26
43
72
95
-41
51
-51
0
0
0
0
0
0
-2
-26
-33
4
-129
7
-40
-17
23
-46
14
0
0
0
0
0
0
-34
22
-67
-36
51
31
-99
91
-54
49
17
0
0
0
0
0
0
32
40
-50
-76
-93
-7
-38
-44
0
38
-9
0
0
0
0
0
0
0
-21
53
31
15
59
-31
-48
-37
88
22
0
0
0
0
0
0
0
12
-7
94
96
47
50
-18
53
-19
0
0
0
0
0
0
0
0
-1
-3
0
17
13
4
161
-49
-1
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
11
0
0
0
0
0
0
0
0
0
-10
84
74
-47
89
-77
-13
-35
0
-77
14
0
0
0
0
0
0
41
-22
82
14
44
58
63
4
-52
-72
-29
1
0
0
0
0
0
-4
13
38
26
20
9
-17
54
-16
25
16
0
0
0
0
0
0
-122
23
7
82
-132
0
16
89
47
101
-39
0
0
0
0
0
0
-8
-93
28
-37
131
-61
21
31
116
-19
-41
2
0
0
0
0
0
2
11
-25
10
1
129
71
-7
-115
-9
-9
7
0
0
0
0
0
0
40
59
9
-38
-49
96
-25
45
-4
26
0
0
0
0
0
0
0
-10
-3
-1
16
-44
-25
-69
19
-23
0
0
0
0
0
0
0
0
0
0
0
1
-3
12
0
-1
-5
0
0
0
0
0
0
0
10
-89
98
7
69
-121
125
-26
0
14
6
6
0
0
0
0
0
-57
61
-41
-107
-144
52
48
-3
-14
-38
-46
-57
0
0
0
0
0
22
56
-16
-98
-71
-51
2
11
67
5
73
1
0
0
0
0
0
1
-80
0
-10
-35
16
13
162
47
39
7
40
0
0
0
0
0
53
55
123
23
-118
49
51
172
53
-11
36
-1
0
0
0
0
0
0
20
70
-7
-2
-37
35
72
-50
55
-12
1
0
0
0
0
0
0
23
-15
128
9
-61
103
35
46
-6
15
0
0
0
0
0
0
0
-4
-1
1
-1
-20
6
12
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
-1
0
0
0
0
0
0
0
0
24
8
28
59
-4
-13
16
-11
0
-20
2
-5
0
0
0
0
0
37
-39
91
-6
-111
-11
9
3
4
-44
-55
-25
1
0
0
0
0
-13
-104
-41
82
84
72
13
-65
70
35
-11
-8
0
0
0
0
0
18
-53
-57
-83
65
79
11
140
-83
-8
1
0
0
0
0
0
0
-11
-75
3
91
-1
-52
5
65
-8
-22
-2
5
0
0
0
0
0
2
-6
9
-5
-114
7
87
-132
-83
18
2
2
0
0
0
0
0
0
0
2
16
-8
18
-48
0
21
55
-13
-5
0
0
0
0
0
0
-1
-27
10
0
-35
2
-88
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
0
23
-7
22
-45
-87
-65
-18
0
33
34
12
0
0
0
0
0
-10
-55
-13
7
77
-45
-28
-37
-86
120
16
-24
-2
0
0
0
0
0
-64
106
64
-111
60
-43
-5
49
-53
60
-6
0
0
0
0
0
0
-16
-28
-50
1
65
13
122
-7
-2
44
-12
-4
0
0
0
0
0
4
44
-5
20
-96
32
18
-78
-60
15
18
0
0
0
0
0
0
14
12
5
78
-115
-87
69
-39
3
-11
1
0
0
0
0
0
0
0
7
-3
4
-2
36
-2
-44
-27
-6
0
0
0
0
0
0
0
0
0
7
0
0
-7
55
-31
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
14
0
11
9
65
-47
59
-35
0
48
-27
-2
0
0
0
0
0
38
-4
-11
17
25
-23
-20
24
-98
-40
3
3
1
0
0
0
0
10
-21
-23
-33
-39
-30
10
-7
109
93
21
-7
0
0
0
0
0
0
1
-1
15
-81
-95
7
-26
-1
-4
38
1
0
0
0
0
0
3
35
0
1
95
2
-119
-37
-61
11
19
4
0
0
0
0
0
0
0
-1
-24
-2
32
7
-54
-22
21
-4
0
0
0
0
0
0
0
0
0
0
6
0
-2
-2
3
1
4
1
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
-84
-31
43
-23
-134
86
-19
-126
0
-37
0
0
0
0
0
0
0
2
61
45
-67
102
-22
-62
-57
-8
-4
-2
3
0
0
0
0
0
33
78
56
-173
7
5
64
-82
42
9
-1
2
0
0
0
0
0
36
-27
-17
-72
-48
30
81
-76
49
-43
0
0
0
0
0
0
0
9
-2
3
-84
-50
-15
-14
66
-52
-2
0
0
0
0
0
0
0
0
0
-2
9
0
-18
-39
-42
-67
0
0
0
0
0
0
0
0
9
0
7
0
-2
-15
22
-7
-3
0
-6
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
50
29
5
-46
59
-91
11
0
-53
7
0
0
0
0
0
0
0
98
62
-41
-24
-16
-38
35
52
39
55
0
0
0
0
0
0
0
39
-25
26
-88
92
17
33
-9
-1
-53
-8
0
0
0
0
0
0
-49
75
9
27
12
55
13
-115
34
0
12
0
0
0
0
0
0
-17
-5
-41
3
49
65
-44
14
23
3
0
0
0
0
0
0
0
-45
68
-19
-67
-82
-23
24
-54
-50
4
2
0
0
0
0
0
0
2
2
8
-42
-3
55
115
-139
-3
1
0
0
0
0
0
0
0
0
-15
-1
0
0
-48
-28
5
-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
2
1
0
8
15
11
0
-5
13
0
0
0
0
0
0
0
0
6
2
2
28
-10
25
-34
1
69
-4
0
0
0
0
0
0
0
0
0
0
14
6
-49
31
7
1
0
0
0
0
0
0
0
0
-14
0
1
-1
-2
1
2
-6
8
0
0
0
0
0
0
0
0
0
0
5
28
39
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
-2
2
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
-16
0
5
0
2
0
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-2
2
11
6
7
0
-5
0
0
0
0
0
0
0
0
-9
0
-2
9
0
-8
-23
5
0
0
0
0
0
0
0
0
0
3
2
0
0
-4
-14
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
51
-43
17
-68
-59
0
0
0
0
0
0
0
0
0
3
33
-33
-58
-35
148
61
9
-24
0
0
0
0
0
0
0
0
21
105
-8
-275
-11
33
84
4
41
0
0
0
0
0
0
0
0
0
0
23
-28
58
-8
-40
95
139
0
0
0
0
0
0
0
0
0
11
-115
-11
-15
16
10
-14
-7
0
0
0
0
0
0
0
0
0
-4
3
-55
35
68
-5
18
-3
0
0
0
0
0
0
0
0
0
-3
1
-14
83
-2
36
-20
-5
0
0
0
0
0
0
0
0
0
0
0
37
-2
3
-8
-25
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
-89
21
-107
37
41
-53
-33
-14
0
-78
0
0
0
0
0
0
0
126
10
36
9
71
33
68
-13
-26
17
0
0
0
0
0
0
0
-30
-42
-74
-28
-12
28
9
145
-1
-5
0
0
0
0
0
0
0
95
24
-54
-36
-80
-58
62
-16
44
-33
0
0
0
0
0
0
0
103
-47
8
1
84
-31
35
24
-173
39
0
0
0
0
0
0
0
14
-25
-97
19
-48
-13
-52
-28
52
-126
0
0
0
0
0
0
0
-58
-7
-9
14
-75
66
40
131
2
49
0
0
0
0
0
0
0
2
-3
-13
-39
-29
3
-45
-31
52
-6
0
0
0
0
0
0
0
0
0
0
-6
16
1
2
13
0
0
0
0
0
0
0
0
0
18
19
-25
30
43
15
87
-54
0
2
4
0
0
0
0
0
0
6
-73
-71
53
-162
67
9
30
18
84
32
0
0
0
0
0
0
-54
93
-35
-62
10
-50
-89
78
-48
110
-2
0
0
0
0
0
0
0
97
-5
-48
50
125
67
-47
23
19
28
0
0
0
0
0
0
158
61
-8
72
24
-67
71
-89
103
-16
0
0
0
0
0
0
0
-15
12
4
-57
40
60
5
37
142
17
-13
0
0
0
0
0
0
-1
-15
-19
29
55
6
-7
-39
18
25
-19
0
0
0
0
0
0
0
-14
0
-24
-7
-53
-114
-3
-20
-50
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-37
-11
0
0
0
0
0
0
0
0
14
54
-45
52
50
183
54
-110
0
99
6
-1
0
0
0
0
0
-65
-13
31
91
16
-100
63
23
2
23
-15
0
0
0
0
0
0
22
-56
11
82
-143
12
133
3
34
-44
49
4
0
0
0
0
0
-10
48
148
-6
34
-21
-147
30
-69
61
49
0
0
0
0
0
0
-107
-1
84
-101
108
81
23
-11
-32
-67
5
0
0
0
0
0
0
35
32
94
-85
-80
-18
18
42
-79
-6
-23
2
0
0
0
0
0
0
50
-21
4
9
35
-66
115
127
-43
-16
0
0
0
0
0
0
0
2
-3
-1
4
-65
15
14
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
0
7
11
0
0
0
0
0
0
0
0
5
-70
-11
-1
81
28
-130
0
130
27
-7
0
0
0
0
0
59
-10
-12
41
69
1
11
37
109
-1
26
-2
0
0
0
0
0
-23
-48
102
-78
-18
-26
111
-9
25
94
-11
3
0
0
0
0
0
-18
-32
-41
24
-19
7
10
-103
9
30
-23
6
0
0
0
0
0
-4
116
-52
-67
28
41
69
115
100
-40
0
-5
0
0
0
0
0
6
-79
33
-28
-32
-38
-8
-80
-31
-104
9
1
0
0
0
0
0
0
3
31
-71
95
-54
30
27
117
-16
-2
0
0
0
0
0
0
0
-10
0
-3
0
37
40
-113
12
33
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
10
-17
-85
77
-14
121
24
0
87
-47
-3
0
0
0
0
0
22
78
-88
-54
67
-58
31
17
-63
-122
-20
0
0
0
0
0
0
1
-6
90
-9
-3
11
17
95
166
-49
51
-27
0
0
0
0
0
-1
23
-75
61
187
-42
44
152
37
83
9
-2
0
0
0
0
0
53
42
7
-1
-16
9
69
22
3
-6
42
-10
1
0
0
0
0
0
-10
44
14
-97
-10
-32
48
-38
16
-6
0
0
0
0
0
0
0
0
-6
50
48
58
-93
12
-66
52
6
0
0
0
0
0
0
0
0
22
0
0
10
-7
39
11
2
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
6
13
-29
12
23
-100
0
-49
48
0
0
0
0
0
0
-10
-26
26
-58
-126
18
-3
-129
58
-15
78
16
5
0
0
0
0
0
14
18
-20
16
39
80
-187
38
-27
29
2
0
0
0
0
0
0
112
5
18
29
9
24
-50
-153
-22
7
0
0
0
0
0
0
0
-7
-24
5
-114
8
-60
-28
92
-63
1
0
0
0
0
0
0
0
-34
-5
-5
-5
70
7
61
2
-10
-9
0
0
0
0
0
0
0
0
0
-10
-98
-5
58
-13
-37
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
22
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
6
0
0
0
0
0
0
0
2
0
-7
-15
-2
79
44
86
0
79
5
0
0
0
0
0
0
-22
15
-9
33
30
9
-52
95
-113
8
51
0
-10
0
0
0
0
21
0
10
3
-10
34
-62
-21
-6
61
-16
0
0
0
0
0
0
8
-35
-4
-60
82
-36
11
-1
-18
-86
-13
0
0
0
0
0
0
0
-1
0
-16
2
0
0
37
-21
-5
-1
-3
0
0
0
0
0
0
33
-5
11
-5
9
-17
2
-15
0
-3
0
0
0
0
0
0
7
0
0
0
0
1
4
-5
7
5
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-52
83
45
58
0
-22
-52
91
0
-67
-7
0
0
0
0
0
0
-37
66
0
-6
-56
70
25
63
75
-157
1
0
0
0
0
0
0
-39
97
87
-16
-25
-24
-49
12
-65
-10
5
0
0
0
0
0
0
-141
37
11
65
37
-27
-5
-21
-55
62
-6
0
0
0
0
0
0
-2
-111
-104
-83
-39
-32
150
2
0
0
0
2
0
0
0
0
0
0
-5
35
99
-35
14
-26
-67
-10
0
0
0
0
0
0
0
0
0
-2
-14
10
2
14
65
-33
8
-15
0
0
0
0
0
0
0
0
18
-10
-7
0
-9
-9
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
34
28
38
78
10
109
-37
0
-18
4
0
0
0
0
0
0
0
-25
9
-9
-12
-11
-36
5
-6
-75
30
0
0
0
0
0
0
0
-58
23
-9
-34
-114
-65
-69
53
29
-12
-1
0
0
0
0
0
0
17
-20
-20
63
24
-25
-100
-16
5
29
0
0
0
0
0
0
0
90
-20
-22
-42
-94
-38
-76
27
-3
0
0
0
0
0
0
0
0
-74
-23
70
58
-30
-21
146
-14
8
4
0
0
0
0
0
0
0
-13
20
-5
-47
29
47
-35
-12
-25
0
0
0
0
0
0
0
0
4
4
-7
0
-3
5
75
-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
-7
24
0
8
-31
0
0
0
0
0
0
0
0
6
1
-22
-20
10
-11
-31
59
-52
0
0
0
0
0
0
0
0
39
-3
-2
5
1
-22
40
-2
10
0
0
0
0
0
0
0
0
11
0
0
-4
20
29
23
-24
0
6
0
0
0
0
0
0
0
3
-15
0
-22
-9
-39
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
17
-11
16
5
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-10
2
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
5
0
0
0
0
0
0
0
0
0
11
0
0
0
8
1
4
-9
1
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
-15
-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
34
0
21
124
-96
14
-8
0
0
0
0
0
0
0
0
0
-5
-3
82
-58
81
100
47
-2
4
0
0
0
0
0
0
0
0
-2
-40
-19
-12
-54
-107
-11
3
5
0
0
0
0
0
0
0
0
0
63
-1
4
-3
7
8
41
22
0
0
0
0
0
0
0
0
0
1
0
7
56
-2
-66
-27
33
0
0
0
0
0
0
0
0
-1
4
-59
53
12
-88
6
-10
-1
0
0
0
0
0
0
0
0
0
-6
-3
-15
52
28
78
0
1
0
0
0
0
0
0
0
0
0
0
-1
-31
0
88
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-17
4
0
0
0
0
0
0
0
0
0
-20
-10
-140
-56
30
49
-1
-124
0
-26
0
0
0
0
0
0
0
4
-17
6
-8
-9
30
-75
156
14
12
0
0
0
0
0
0
0
-43
-1
13
-89
13
64
21
44
-43
54
0
0
0
0
0
0
0
85
-53
-81
-29
51
29
-59
79
29
152
0
0
0
0
0
0
0
-3
0
-39
7
-54
-53
17
-72
11
42
0
0
0
0
0
0
0
82
-76
-131
33
-23
-24
41
147
-91
8
0
0
0
0
0
0
0
102
0
30
136
2
30
-53
50
15
-1
0
0
0
0
0
0
0
0
0
-5
48
6
16
-36
-18
84
2
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
32
9
0
0
0
0
0
0
0
0
-1
38
2
-106
-47
-50
103
-76
0
-35
-4
0
0
0
0
0
0
13
34
57
-22
-139
1
78
-36
14
-41
-41
0
0
0
0
0
0
0
-83
113
-24
20
47
-25
38
-51
25
4
0
0
0
0
0
0
2
79
1
-3
-21
-55
78
-24
83
-18
-3
0
0
0
0
0
0
0
125
0
-9
-56
-79
-15
-35
31
26
6
0
0
0
0
0
0
8
-1
-16
13
34
140
-35
41
45
116
-15
0
0
0
0
0
0
11
101
-5
154
137
-85
101
-110
118
-18
0
0
0
0
0
0
0
0
-6
43
18
-20
23
-10
-38
-88
-65
0
0
0
0
0
0
0
0
0
0
0
-14
0
-2
0
-6
0
0
0
0
0
0
0
0
-16
0
-54
-4
19
-16
-64
37
0
101
29
0
0
0
0
0
0
19
-68
31
-79
-9
38
43
15
-19
74
-21
1
0
0
0
0
0
19
39
-20
-78
36
40
-31
-54
76
42
17
0
0
0
0
0
0
61
-20
-92
58
33
49
84
-56
22
32
-28
0
0
0
0
0
0
0
27
-19
0
-62
-5
-84
11
-91
46
-17
0
0
0
0
0
0
-7
56
-7
-25
20
-73
93
-54
-16
104
-10
0
0
0
0
0
0
-10
14
-4
2
-14
-21
14
-21
28
-1
3
0
0
0
0
0
0
3
-22
0
1
-14
-21
3
-32
123
22
0
0
0
0
0
0
0
0
0
0
0
-13
0
-8
10
-2
9
0
0
0
0
0
0
0
0
3
49
11
-96
-83
-62
70
0
-91
16
-2
0
0
0
0
0
19
14
86
59
-59
28
-3
-12
117
-21
1
-5
0
0
0
0
0
17
-2
-11
84
10
-31
78
-112
15
-47
-14
0
0
0
0
0
0
0
-27
63
-88
-35
6
-23
31
-1
-27
2
-7
0
0
0
0
0
0
160
-20
5
0
62
17
-76
34
64
-44
6
0
0
0
0
0
-14
41
92
38
15
19
19
137
63
-116
-21
-2
0
0
0
0
0
16
-76
76
62
3
-51
-5
-15
51
-3
0
0
0
0
0
0
0
0
5
-11
-4
0
-3
-76
-91
-55
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
0
0
0
0
0
0
0
0
6
4
5
-1
11
0
68
39
0
80
19
0
0
0
0
0
0
4
-25
29
-81
-55
-32
79
7
-111
39
-89
1
0
0
0
0
0
7
45
-49
106
15
2
68
-67
80
-8
-42
0
0
0
0
0
0
-5
84
4
-40
-66
42
72
11
-30
10
-6
0
0
0
0
0
0
0
-12
24
-13
-15
1
25
-6
-92
15
-1
4
0
0
0
0
0
5
73
-134
20
41
22
39
49
18
10
7
-4
0
0
0
0
0
8
2
31
-4
-37
0
-16
50
-44
1
0
0
0
0
0
0
0
0
-5
1
-49
0
-6
44
-81
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-9
0
0
0
0
0
0
0
0
0
0
-3
-24
-2
-14
-32
3
-33
0
12
-28
0
0
0
0
0
0
0
-88
17
-24
-2
-28
63
49
-82
29
10
-1
0
0
0
0
0
0
11
6
0
103
32
0
-76
31
-18
-1
0
0
0
0
0
0
0
59
12
2
25
-51
43
27
-14
-46
-13
0
0
0
0
0
0
0
0
3
1
-20
52
0
72
-24
33
2
-18
0
0
0
0
0
0
3
-60
12
5
-15
0
47
14
73
-4
0
0
0
0
0
0
0
0
1
22
0
-44
81
-6
0
23
-9
0
0
0
0
0
0
0
0
0
0
0
4
9
-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
3
-39
-1
-21
107
32
0
0
11
2
0
0
0
0
0
0
-19
-13
-22
19
83
60
55
43
-84
23
-7
0
0
0
0
0
0
-69
6
-73
127
18
38
69
-35
-37
15
-17
0
0
0
0
0
0
-13
0
-11
54
71
-73
21
-45
-7
-38
-16
0
0
0
0
0
0
-14
-4
2
35
68
-71
-135
0
2
6
0
0
0
0
0
0
0
-15
-6
-9
-12
68
-62
-13
-119
5
-12
10
0
0
0
0
0
0
-17
0
14
1
-46
54
-18
12
23
0
2
0
0
0
0
0
0
0
0
0
1
0
-124
-24
-11
0
0
0
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
15
-13
52
-104
-53
-89
0
-46
4
0
0
0
0
0
0
40
-155
-6
104
-5
60
2
-40
-123
-64
-9
0
0
0
0
0
0
23
31
-65
40
-99
-64
63
-28
-135
8
0
0
0
0
0
0
0
84
72
-14
60
50
95
120
3
-10
0
0
0
0
0
0
0
0
-90
52
45
91
11
-56
-17
47
0
-44
19
0
0
0
0
0
0
-4
-50
83
56
-94
19
-36
29
12
6
0
0
0
0
0
0
0
19
13
-6
4
82
-33
117
-28
9
-6
0
0
0
0
0
0
0
2
-12
-16
50
-11
16
104
28
-40
-15
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
-11
14
-131
45
7
6
12
0
70
0
0
0
0
0
0
0
0
74
-30
-134
16
-4
69
-9
15
55
-67
0
0
0
0
0
0
0
36
-34
-57
-39
87
-40
-48
29
77
0
0
0
0
0
0
0
0
-35
62
-53
8
13
7
18
-16
-59
0
0
0
0
0
0
0
0
-49
98
-46
-4
-31
-43
-67
-88
0
-1
0
0
0
0
0
0
0
-69
9
-98
-134
-86
33
53
-1
38
0
0
0
0
0
0
0
0
0
129
-11
-21
29
37
14
62
4
0
0
0
0
0
0
0
0
1
-1
0
-3
-58
22
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
-19
0
0
3
0
0
0
-61
-14
0
0
0
0
0
0
0
0
-2
0
13
0
-18
-1
36
18
-93
0
0
0
0
0
0
0
0
-2
-4
-4
-36
-23
-79
1
53
-1
0
0
0
0
0
0
0
0
6
0
2
1
-9
2
72
-5
-32
0
0
0
0
0
0
0
0
-19
0
11
49
10
-31
-24
8
0
0
0
0
0
0
0
0
0
-1
0
3
0
-13
-1
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
-2
-8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
18
10
-4
-33
14
0
0
0
0
0
0
0
0
0
0
-4
-12
-16
-22
86
-51
-66
-2
0
0
0
0
0
0
0
0
-8
-92
-4
21
-64
4
-40
2
1
0
0
0
0
0
0
0
0
0
8
-4
-25
29
75
-20
3
1
0
0
0
0
0
0
0
0
10
-3
1
-24
52
47
31
10
20
0
0
0
0
0
0
0
0
0
7
-14
-11
-62
26
42
-34
2
0
0
0
0
0
0
0
0
-8
-5
4
-13
41
7
49
0
28
0
0
0
0
0
0
0
0
0
-19
1
-37
-1
18
2
2
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
9
-19
-23
-13
-176
-33
133
45
0
10
0
0
0
0
0
0
0
-11
-15
-55
-89
15
140
114
59
27
-112
0
0
0
0
0
0
0
-57
37
8
9
30
66
-37
-12
-32
-69
0
0
0
0
0
0
0
16
-8
-43
-41
-32
104
-70
-140
1
-14
0
0
0
0
0
0
0
76
-29
91
-60
-77
-4
87
-106
81
35
0
0
0
0
0
0
0
-23
0
-11
121
-56
133
103
-7
-69
-9
0
0
0
0
0
0
0
45
-4
-18
22
33
-60
-21
-2
-43
8
0
0
0
0
0
0
0
-2
0
11
32
9
41
-19
2
1
-26
0
0
0
0
0
0
0
0
0
0
0
97
1
-20
-10
0
0
0
0
0
0
0
0
0
0
33
32
-10
36
-12
-37
47
0
113
-12
0
0
0
0
0
0
9
-54
14
85
46
-67
40
-15
130
115
-37
0
0
0
0
0
0
0
46
-1
-24
54
-29
115
-52
22
-91
-10
0
0
0
0
0
0
-7
-102
-28
-68
-24
13
5
-14
-8
-20
6
0
0
0
0
0
0
-65
-57
-21
19
-32
2
-11
45
55
-33
21
0
0
0
0
0
0
0
-10
0
-80
-25
-93
42
159
40
53
0
0
0
0
0
0
0
-1
44
0
81
45
215
-118
-84
29
-11
4
0
0
0
0
0
0
0
2
0
-35
-7
3
-4
8
16
47
0
0
0
0
0
0
0
0
0
0
0
8
0
-41
19
12
0
0
0
0
0
0
0
0
7
-18
-20
-78
-37
102
-26
40
0
105
-6
5
0
0
0
0
0
82
24
60
190
30
62
-12
125
46
3
27
0
0
0
0
0
0
7
52
-12
-42
63
-34
94
52
73
-7
44
0
0
0
0
0
0
-50
41
35
-22
-110
106
58
8
79
-39
-2
0
0
0
0
0
0
-38
-24
-88
33
33
56
16
-22
66
42
-15
2
0
0
0
0
0
14
3
18
0
21
70
-10
-5
19
-6
16
0
0
0
0
0
0
-1
24
-52
3
-3
-72
-53
-112
-12
-50
0
0
0
0
0
0
0
0
-7
3
-2
1
45
-1
78
-16
-9
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
-13
0
0
0
0
0
0
0
0
0
1
-24
40
-23
-29
4
8
105
0
-41
-30
0
0
0
0
0
0
0
-60
-19
14
77
-49
44
105
113
8
0
1
0
0
0
0
0
-2
55
-73
54
-3
-98
105
-33
69
100
-1
10
0
0
0
0
0
16
96
-80
28
40
-2
-92
71
-17
118
-1
0
0
0
0
0
0
-4
97
-12
-21
-84
1
-41
39
-119
81
-3
5
0
0
0
0
0
0
-3
13
-5
0
-37
48
24
63
5
17
0
0
0
0
0
0
0
0
3
22
-39
61
-79
19
-83
25
15
0
0
0
0
0
0
0
0
17
-1
0
101
59
44
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-10
24
8
-73
27
39
9
0
-136
3
-8
0
0
0
0
0
0
65
1
-109
4
75
-78
16
19
-24
67
0
0
0
0
0
0
1
-38
31
42
26
-75
-57
21
24
-15
40
1
0
0
0
0
0
-2
4
21
7
83
-83
48
57
66
-24
2
0
0
0
0
0
0
49
-31
-15
22
-121
40
-66
41
-109
-38
-12
0
0
0
0
0
0
0
13
-17
-1
22
0
48
-64
-26
-48
1
-1
0
0
0
0
0
0
4
-1
40
-9
26
84
-21
-16
-43
2
0
0
0
0
0
0
0
-1
26
0
8
1
-26
-28
-27
22
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
-3
0
0
0
0
0
0
0
0
0
0
2
-6
4
35
-11
-11
-63
0
91
-8
0
0
0
0
0
0
0
43
1
-4
-16
-64
-27
-35
83
-38
-31
0
0
0
0
0
0
0
26
-4
0
-3
41
56
-57
-41
28
-50
-1
0
0
0
0
0
1
69
-1
-42
7
-72
61
77
28
40
0
3
0
0
0
0
0
0
-11
4
-9
43
-85
-71
-6
217
-12
0
-6
0
0
0
0
0
0
4
-1
69
-9
31
0
-65
-27
-6
4
0
0
0
0
0
0
0
-1
19
-21
-32
-3
-19
40
-6
-24
2
0
0
0
0
0
0
0
0
0
-3
0
0
-50
61
3
-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
8
0
-1
1
64
-16
-4
15
0
-80
2
0
0
0
0
0
0
1
-5
-7
16
7
32
4
63
-34
-7
-13
0
0
0
0
0
0
0
-10
1
33
1
50
51
79
-40
45
16
0
0
0
0
0
0
71
-1
23
-11
73
17
58
-84
-24
0
0
0
0
0
0
0
0
-6
9
5
-11
26
17
0
-21
-2
0
-5
0
0
0
0
0
0
0
-3
-20
-32
45
14
-9
0
-25
2
-4
0
0
0
0
0
0
0
16
0
8
-34
28
0
7
-9
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
11
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-48
-45
4
-45
47
-107
-17
0
-38
-2
0
0
0
0
0
0
0
50
-16
-31
121
-62
31
-64
-51
-91
-22
0
0
0
0
0
0
15
-69
-19
-103
37
98
-77
85
-97
48
0
0
0
0
0
0
0
68
-71
-39
-10
90
46
39
59
-53
16
0
0
0
0
0
0
0
-32
-42
1
-73
-36
34
-118
-6
-32
-5
0
0
0
0
0
0
0
-66
-80
-73
-7
-194
-106
-18
56
0
-33
0
0
0
0
0
0
0
-98
-9
-41
1
9
-46
42
-6
25
0
0
0
0
0
0
0
0
0
-3
-9
-31
12
-38
4
1
0
-1
0
0
0
0
0
0
0
0
5
0
0
-22
0
31
-14
0
0
0
0
0
0
0
0
0
0
44
-21
4
-4
37
50
0
0
99
-19
0
0
0
0
0
0
0
-42
40
27
-85
-24
64
50
25
56
5
0
0
0
0
0
0
0
38
-8
-171
-39
86
26
26
78
2
-10
0
0
0
0
0
0
0
-55
92
1
36
89
-108
103
62
4
-2
0
0
0
0
0
0
0
-154
-59
85
-3
-56
76
35
-12
-17
0
0
0
0
0
0
0
0
22
-29
-18
-62
20
-6
-34
-26
0
-2
0
0
0
0
0
0
0
19
4
8
-23
46
-87
-81
1
0
0
0
0
0
0
0
0
0
26
7
0
-5
-16
13
12
102
0
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
-5
0
1
0
4
7
0
0
0
0
0
0
0
0
3
-8
0
-2
4
48
16
17
-62
0
0
0
0
0
0
0
0
0
-2
0
19
-4
-14
-4
-5
0
0
0
0
0
0
0
0
0
-2
0
13
6
-4
-24
0
-14
-1
0
0
0
0
0
0
0
0
13
-14
-3
-5
13
-2
-12
0
5
0
0
0
0
0
0
0
0
0
-1
-5
5
-21
22
-63
2
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
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
21
-2
-2
-19
66
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
82
21
-25
-2
2
0
0
0
0
0
0
0
0
-5
0
0
67
-15
-44
64
13
2
0
0
0
0
0
0
0
0
0
0
-8
2
6
32
1
55
9
0
0
0
0
0
0
0
0
-3
8
-16
97
33
-29
-2
39
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
1
20
-1
-13
0
0
0
0
0
0
0
0
0
-5
10
-7
2
20
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
-5
-35
-24
33
24
25
64
0
0
0
0
0
0
0
0
0
6
-20
-38
61
-37
75
59
137
-92
-133
0
0
0
0
0
0
0
32
3
8
-109
-3
48
19
106
-95
11
0
0
0
0
0
0
0
8
7
-17
7
-47
-69
49
13
-121
126
0
0
0
0
0
0
0
-18
-14
145
-31
119
-44
45
-3
2
32
0
0
0
0
0
0
0
13
-4
29
51
113
-172
14
-100
-31
91
0
0
0
0
0
0
0
11
0
4
-4
-42
9
158
-43
-65
23
0
0
0
0
0
0
0
2
0
2
-63
14
151
-78
5
14
4
0
0
0
0
0
0
0
0
0
0
0
2
0
-28
-16
-8
0
0
0
0
0
0
0
0
0
2
91
62
73
-31
-26
57
0
-13
10
0
0
0
0
0
0
16
58
-15
-7
-169
35
-74
37
132
1
-7
0
0
0
0
0
0
0
-74
-25
-137
-58
157
75
-42
-89
74
0
0
0
0
0
0
0
-4
-115
-1
-49
0
117
65
72
-38
-51
16
0
0
0
0
0
0
-71
56
4
-22
-132
-94
2
99
67
-158
0
0
0
0
0
0
0
-4
86
-28
-23
-93
-33
67
78
-41
33
18
0
0
0
0
0
0
0
-1
0
-9
8
28
21
19
56
36
0
0
0
0
0
0
0
0
-10
-2
3
-9
-26
-15
33
137
-63
0
0
0
0
0
0
0
0
0
0
0
9
1
-2
27
1
0
0
0
0
0
0
0
0
-1
0
8
-9
62
-24
41
-17
0
77
0
0
0
0
0
0
0
0
63
5
-29
-39
-100
10
-25
77
32
-82
0
0
0
0
0
0
57
-83
13
10
-25
-58
98
10
72
48
-87
0
0
0
0
0
0
-4
97
35
-55
-1
16
22
3
7
38
-15
0
0
0
0
0
0
4
123
-27
-2
-7
115
72
-34
-60
56
-71
0
0
0
0
0
0
-11
123
-99
-27
-15
-113
-1
-198
-44
81
35
0
0
0
0
0
0
0
4
-9
0
26
20
-47
-38
45
26
-1
0
0
0
0
0
0
-6
-21
-32
-3
0
64
-24
41
-46
19
0
0
0
0
0
0
0
0
0
0
0
23
0
10
2
2
0
0
0
0
0
0
0
0
0
1
-33
-18
43
-47
-77
31
0
-120
-4
0
0
0
0
0
0
6
-9
-31
-7
-24
155
-1
-102
-47
158
106
0
0
0
0
0
0
0
-20
48
0
-59
-11
27
-46
149
-20
14
0
0
0
0
0
0
16
59
56
11
-37
-3
57
-154
-34
15
3
0
0
0
0
0
0
0
-27
-66
82
-34
-39
-50
9
142
-27
4
0
0
0
0
0
0
5
21
44
-19
-34
-19
-43
66
42
-77
38
12
0
0
0
0
0
0
0
-2
-1
0
47
174
-10
-6
-25
6
0
0
0
0
0
0
0
0
6
-15
0
19
40
-95
-22
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
-4
0
7
-50
-17
-36
0
-44
5
0
0
0
0
0
0
0
-5
0
-15
-2
11
-8
32
-5
-66
47
0
0
0
0
0
0
0
39
0
-11
118
15
-7
3
121
20
-1
-7
0
0
0
0
0
-10
0
-2
-8
28
1
-32
-169
-12
-107
-27
0
0
0
0
0
0
0
-20
15
0
50
-15
-49
4
-42
141
0
0
0
0
0
0
0
5
6
93
-34
1
32
18
-62
58
3
12
0
0
0
0
0
0
0
-3
-4
11
6
0
-40
26
-141
15
-5
0
0
0
0
0
0
4
0
1
37
0
55
-3
-11
1
-29
-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
-19
-4
8
-5
-2
-11
39
0
4
12
0
0
0
0
0
0
0
-15
46
-4
-52
39
-10
135
13
-9
-27
0
0
0
0
0
0
0
-116
7
0
114
-7
-152
-44
13
-20
-1
0
0
0
0
0
0
0
44
0
15
23
-48
-29
45
45
96
-5
0
0
0
0
0
0
0
110
18
-19
93
15
131
-20
-45
38
12
0
0
0
0
0
0
0
85
24
52
-27
-61
-15
94
-46
92
0
-14
0
0
0
0
0
0
0
22
0
0
-1
0
79
-4
2
0
0
0
0
0
0
0
0
0
0
-1
-33
8
21
11
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
9
0
3
0
2
-2
5
34
0
0
0
0
0
0
0
0
0
1
0
-15
-12
-2
-58
-21
32
1
-7
2
0
0
0
0
0
0
-78
0
-2
0
-60
-10
-148
-24
-215
-1
0
0
0
0
0
0
0
17
0
1
-7
-20
-150
75
-41
10
-4
0
0
0
0
0
0
0
27
2
36
31
-29
-26
18
-19
11
0
0
0
0
0
0
0
0
0
-1
-12
8
5
118
-1
-7
0
0
0
0
0
0
0
0
0
0
2
0
3
-96
-5
38
0
-4
-2
0
0
0
0
0
0
0
0
0
0
-7
0
1
1
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
12
0
-10
42
38
67
85
-39
0
9
0
0
0
0
0
0
0
0
112
1
2
45
-19
12
-53
-83
-114
3
0
0
0
0
0
0
0
19
30
-51
7
141
48
-19
31
70
-24
0
0
0
0
0
0
17
-70
94
65
-55
-112
94
182
-21
-61
0
0
0
0
0
0
0
-8
-51
47
73
-41
-81
106
19
-40
-13
0
0
0
0
0
0
0
12
-22
-11
11
35
-3
143
-3
-21
0
0
0
0
0
0
0
0
-2
-89
64
42
-139
-41
-45
-90
0
45
0
0
0
0
0
0
0
0
-19
-1
14
-59
64
42
5
2
20
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
-1
0
-98
-11
-17
15
0
-47
0
0
0
0
0
0
0
0
52
38
4
17
11
49
76
131
-33
34
0
0
0
0
0
0
0
-7
28
22
-27
-11
92
43
49
-82
0
0
0
0
0
0
0
0
-41
2
-48
-84
-50
-15
2
68
47
0
0
0
0
0
0
0
0
55
-21
-25
20
30
200
33
64
-32
-1
0
0
0
0
0
0
0
-2
4
42
-12
34
-48
26
-1
-14
0
0
0
0
0
0
0
0
0
21
0
55
7
-77
50
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-84
-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
-6
-5
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
-28
3
-3
0
0
0
0
0
0
0
0
0
0
0
-12
0
-14
-7
3
-10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
1
0
-1
8
0
2
0
4
-5
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
2
0
6
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-6
-9
0
0
0
0
0
0
0
0
0
-3
-3
-2
22
0
52
-19
0
-15
0
0
0
0
0
0
0
0
-15
-5
0
5
-12
8
-15
3
35
0
0
0
0
0
0
0
0
0
0
0
-58
4
11
4
84
-1
0
0
0
0
0
0
0
0
-42
-40
4
-16
-21
-19
-14
-2
-13
0
0
0
0
0
0
0
0
0
0
-8
-43
5
5
-3
-11
0
0
0
0
0
0
0
0
0
0
-20
1
15
-34
-19
-48
7
5
0
0
0
0
0
0
0
0
0
-4
0
1
8
-15
-1
2
-2
0
0
0
0
0
0
0
0
0
12
0
0
-3
0
1
6
0
0
0
0
0
0
0
0
0
24
0
3
0
1
-19
24
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
-29
22
-57
-25
16
5
0
0
0
0
0
0
0
-219
0
6
4
7
-81
-19
4
69
0
0
0
0
0
0
0
0
-44
-10
36
-105
23
73
5
53
-18
3
0
0
0
0
0
0
0
-34
6
51
-22
52
-20
173
16
-79
-14
0
0
0
0
0
0
0
103
0
-123
-105
10
-20
46
-86
-7
0
0
0
0
0
0
0
0
68
-1
11
-13
-130
26
16
12
62
-3
0
0
0
0
0
0
0
0
0
0
10
-9
-58
-5
-83
5
0
0
0
0
0
0
0
0
12
0
0
0
40
5
-7
2
66
0
0
0
0
0
0
0
0
0
1
12
18
28
-3
68
11
0
-17
0
0
0
0
0
0
0
0
51
-4
-12
18
92
-79
11
-1
-36
0
0
0
0
0
0
0
-12
68
15
0
32
-25
-6
-17
86
-10
0
0
0
0
0
0
0
-23
27
-5
85
56
73
-3
-20
23
56
1
0
0
0
0
0
0
8
-23
0
48
-4
12
81
31
-21
-39
-20
0
0
0
0
0
0
7
-31
2
-94
66
80
26
25
53
52
0
0
0
0
0
0
0
-84
11
1
-47
-13
-24
-26
-79
-1
7
0
0
0
0
0
0
0
0
2
0
9
0
-10
-77
2
-2
7
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
-13
-40
18
18
0
1
0
0
0
0
0
0
0
0
0
-18
-4
29
-10
-43
-73
-12
-4
-2
0
0
0
0
0
0
0
0
0
2
-69
-4
-52
-50
6
-39
-21
0
0
0
0
0
0
-54
-16
68
2
-33
118
-5
76
126
28
4
0
0
0
0
0
0
31
27
-6
-7
-18
61
16
-27
-24
18
37
0
0
0
0
0
0
-24
-39
8
-16
33
15
-4
113
-14
52
20
0
0
0
0
0
0
2
-4
-75
0
-70
4
43
-34
72
-5
-1
0
0
0
0
0
0
0
-2
0
0
-13
52
6
57
-7
-22
0
0
0
0
0
0
0
0
0
0
0
-1
1
14
5
20
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-8
23
0
0
-16
0
0
0
0
0
0
0
0
0
-5
-1
6
-39
-12
-7
2
1
0
0
0
0
0
0
10
3
0
5
-49
15
-60
17
83
3
0
-1
0
0
0
0
0
0
26
-5
13
-23
9
36
1
50
8
1
0
0
0
0
0
0
0
55
0
22
33
13
-7
-29
38
19
-3
0
0
0
0
0
0
0
-14
42
5
-22
-70
61
-10
-9
-11
0
17
0
0
0
0
0
0
-2
0
-9
0
48
32
7
-3
31
0
2
0
0
0
0
0
0
0
0
-11
0
20
50
31
-13
-1
3
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-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
-4
-21
96
10
3
2
7
-13
0
0
0
0
0
0
0
0
1
0
50
0
-43
3
38
0
0
0
0
0
0
0
0
-25
0
0
-12
2
95
-3
33
8
-2
-5
0
0
0
0
0
0
0
-26
0
0
-55
-6
-37
-15
-4
0
-8
0
0
0
0
0
0
0
-3
6
-16
-30
-40
26
10
15
-4
0
0
0
0
0
0
0
67
3
0
50
-53
0
5
15
-1
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
4
-27
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
29
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
-44
-46
-4
0
0
0
0
0
0
0
0
2
0
0
-2
2
-14
12
-5
-4
1
0
0
0
0
0
0
0
-5
-20
0
0
7
-40
23
-12
0
0
0
0
0
0
0
0
0
-2
0
8
0
-11
-7
6
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
81
-5
6
0
0
0
0
0
0
0
0
0
-14
0
17
0
-35
-13
21
0
-24
0
0
0
0
0
0
0
0
0
16
0
-3
1
-11
-9
27
2
6
0
0
0
0
0
0
0
-8
0
-26
0
-12
-7
25
-1
0
0
0
0
0
0
0
0
0
2
0
36
11
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-3
-5
-57
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-43
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
9
0
0
0
0
0
0
0
0
0
0
0
-34
0
52
15
-90
-1
-22
-16
1
0
0
0
0
0
0
0
4
1
0
0
3
5
53
-61
-104
-9
0
0
0
0
0
0
0
-2
1
0
82
17
27
62
-80
24
-34
0
0
0
0
0
0
0
0
-94
6
-31
79
17
-17
-14
-20
21
0
0
0
0
0
0
0
0
15
-9
-28
9
55
-4
24
-11
11
0
0
0
0
0
0
0
-1
-14
0
-61
1
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
11
11
0
10
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
7
0
0
0
0
0
0
0
0
0
0
0
-29
19
0
6
0
-1
-70
-2
-40
0
0
0
0
0
0
0
0
-10
0
0
0
0
50
-88
79
3
45
0
0
0
0
0
0
0
-63
7
-8
59
33
-50
61
-49
-8
0
0
0
0
0
0
0
0
-13
0
-40
26
-21
1
-15
5
7
0
0
0
0
0
0
0
0
-14
-8
-9
0
-16
1
0
6
-1
0
0
0
0
0
0
0
0
0
3
0
-14
-4
-5
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
7
5
-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
12
2
3
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
20
0
0
0
0
0
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
1
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
16
0
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
-1
-41
0
-2
0
0
0
0
0
0
0
0
23
0
0
22
0
-10
0
38
-1
0
0
0
0
0
0
0
0
-13
0
6
7
104
3
29
0
-23
0
0
0
0
0
0
0
0
-9
0
55
12
0
-92
0
-8
0
0
0
0
0
0
0
0
0
-9
0
0
-1
-103
0
27
0
0
0
0
0
0
0
0
0
0
9
0
-1
15
-2
-38
0
25
2
0
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
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
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
5
-16
59
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
8
6
-5
0
0
0
0
0
0
0
0
0
0
2
74
-49
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-11
-3
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
14
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
12
4
5
0
-2
0
0
0
0
0
0
0
0
0
-1
43
0
-5
3
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-10
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
-3
0
0
0
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-8
-20
-13
0
0
0
0
0
0
0
0
0
0
14
0
-15
30
76
38
16
0
5
0
0
0
0
0
0
0
0
88
67
0
86
78
1
-25
-17
74
0
0
0
0
0
0
0
0
17
-1
-100
4
57
-24
-1
0
-39
0
0
0
0
0
0
0
0
1
93
4
45
1
-13
14
0
16
0
0
0
0
0
0
0
0
-12
-15
4
-19
0
4
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
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
15
33
-17
-18
0
0
0
0
0
0
0
0
0
0
0
-72
-1
22
16
33
34
0
2
0
0
0
0
0
0
0
0
0
7
-99
4
5
-37
3
-35
-36
21
0
0
0
0
0
0
0
-2
41
16
60
39
-75
-58
-51
84
135
0
0
0
0
0
0
0
-9
5
-9
-14
38
-29
79
19
75
40
0
0
0
0
0
0
0
0
88
2
37
-58
-34
0
-9
0
6
0
0
0
0
0
0
0
0
0
-3
9
24
0
0
0
0
-3
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
2
0
4
37
-65
19
6
0
-6
1
0
0
0
0
0
0
0
0
-27
0
196
26
92
0
0
0
-37
0
0
0
0
0
0
0
-6
-93
-2
-1
-64
-37
-70
-26
90
40
0
0
0
0
0
0
0
48
53
95
-1
-134
-7
160
22
-18
-23
0
0
0
0
0
0
2
-28
35
15
-103
-26
-115
39
11
-117
0
0
0
0
0
0
0
0
12
43
-103
-28
83
43
1
1
84
0
0
0
0
0
0
0
0
8
5
-9
62
-3
-3
0
8
-1
0
0
0
0
0
0
0
0
0
9
-59
9
0
0
5
0
0
0
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
31
0
-20
0
0
1
0
1
-15
0
0
0
0
0
0
-10
5
-4
6
-8
87
21
0
-7
0
7
0
0
0
0
0
0
-7
-1
73
-45
110
0
9
9
-63
-8
4
9
0
0
0
0
0
0
-6
47
98
66
69
3
16
-1
45
-25
-4
0
0
0
0
0
-3
-59
42
-10
-20
167
60
-4
9
0
0
0
0
0
0
0
0
0
-53
83
18
-51
4
-5
25
0
0
4
0
0
0
0
0
0
0
0
5
-1
14
10
4
-9
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
53
-39
0
4
-3
0
0
0
-1
0
0
0
0
0
0
8
41
-21
-4
79
-4
-43
0
-3
0
0
4
0
0
0
0
0
25
-92
-37
33
7
55
4
4
-40
-29
8
3
0
0
0
0
0
9
-10
7
-16
83
-7
19
-10
-71
-5
2
4
0
0
0
0
0
-6
9
49
2
-3
12
-39
7
0
21
-1
0
0
0
0
0
0
0
-11
31
50
44
2
-10
3
0
-22
-13
0
0
0
0
0
0
0
0
-9
-15
11
11
11
-1
-8
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
23
18
119
6
12
0
10
0
0
0
0
0
0
0
0
0
0
2
77
87
79
7
-38
10
0
5
0
-2
1
0
0
0
0
0
43
79
-61
84
32
-51
-139
-86
24
-63
-4
2
-1
0
0
0
0
-34
-26
-96
-80
24
-6
72
-6
1
5
0
0
2
0
0
0
0
29
39
1
25
69
31
-5
28
-17
-48
0
0
0
0
0
0
0
0
-10
-145
49
67
-18
-13
-55
6
1
0
0
0
0
0
0
0
0
0
5
73
-14
-16
1
0
20
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
-6
42
22
52
-21
70
0
3
0
9
0
0
0
0
0
0
0
9
38
40
-92
-81
69
-55
0
6
0
0
0
0
0
0
0
0
2
-68
37
37
-46
-54
-65
31
-69
45
-8
0
0
0
0
0
0
19
62
1
17
24
-66
46
-153
-38
25
5
0
-2
0
0
0
0
26
31
26
-101
-42
33
-26
37
18
-12
0
0
0
0
0
0
0
0
-85
-25
-20
-141
118
56
23
6
33
0
0
0
0
0
0
0
0
0
-5
35
-28
-2
9
0
-43
-6
0
0
0
0
0
0
0
0
0
0
15
0
-1
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
4
-31
65
33
58
-58
-19
0
0
0
9
0
0
0
0
0
0
22
17
-10
30
71
-93
74
0
-15
0
4
0
0
0
0
0
0
82
-26
-33
-80
-187
-104
-22
33
56
4
38
0
0
0
0
0
0
-12
-217
-91
-85
15
-56
67
80
-91
0
-3
0
0
0
0
0
0
-5
-4
10
51
23
-67
58
2
-61
63
-3
0
0
0
0
0
0
-8
-88
18
-16
56
-4
-6
1
1
-2
0
0
0
0
0
0
0
0
0
-48
-7
23
9
-13
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
5
-4
0
0
0
-3
0
0
0
0
0
0
0
44
-43
68
-98
74
51
0
-13
0
-43
0
0
0
0
0
0
0
50
31
-35
-4
-29
-59
15
37
-5
7
-5
0
0
0
0
0
0
-20
-28
-2
-80
-25
-55
-67
-17
-3
129
0
0
0
0
0
0
0
3
35
60
74
-5
129
57
18
7
-17
0
0
0
0
0
0
0
6
70
-13
73
76
34
-76
-41
28
3
0
0
0
0
0
0
0
-27
5
36
5
16
45
16
-70
0
0
0
0
0
0
0
0
0
0
2
-148
4
4
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
-3
-1
27
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
14
17
-1
-50
0
-13
0
7
9
0
0
0
0
0
0
0
-3
106
0
-127
20
-33
10
27
-9
8
0
0
0
0
0
0
0
0
2
-23
42
56
-24
-4
-50
17
-5
0
0
0
0
0
0
0
8
-24
-4
-39
10
24
-7
32
7
-3
0
0
0
0
0
0
0
4
18
50
75
-1
-3
-49
6
0
0
0
0
0
0
0
0
0
0
0
69
-83
5
20
0
-3
0
0
0
0
0
0
0
0
0
0
-13
18
0
14
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
3
-3
3
-15
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-7
9
45
-4
0
0
0
0
0
0
0
0
0
0
0
-7
3
7
0
-8
0
0
0
0
0
0
0
0
0
0
3
-14
1
2
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-4
-2
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
1
-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
-8
1
33
-27
9
-2
0
2
0
0
0
0
0
0
0
0
0
6
107
45
-41
-29
-76
124
0
-8
0
0
0
0
0
0
0
0
28
28
83
-41
20
-115
29
2
-31
0
0
0
0
0
0
0
0
-54
191
-71
-99
-144
56
1
-16
-17
0
0
0
0
0
0
0
0
9
13
-164
-9
29
5
-7
2
5
0
0
0
0
0
0
0
0
1
158
-5
56
-6
34
-5
-12
4
0
0
0
0
0
0
0
0
0
-15
27
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
94
-3
7
63
96
45
1
0
-9
0
0
0
0
0
0
0
-6
-64
81
-50
47
-68
-85
0
-31
0
0
0
0
0
0
0
0
33
-54
-45
-1
-83
-40
35
-12
-97
-27
0
0
0
0
0
0
0
-13
59
148
9
139
63
1
-56
-51
-28
0
0
0
0
0
0
0
19
-27
28
39
27
34
24
-83
112
46
0
0
0
0
0
0
0
-1
95
92
38
-25
-38
56
18
10
4
0
0
0
0
0
0
0
0
0
3
58
6
48
-1
-12
0
3
0
0
0
0
0
0
0
0
0
14
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
-81
-5
-34
-44
5
-16
0
-2
5
0
0
0
0
0
0
0
143
-19
-26
2
145
1
0
-10
0
16
0
0
0
0
0
0
0
-58
-65
-57
-103
51
44
13
-50
-85
16
0
0
0
0
0
0
0
13
-74
13
-33
27
-70
44
-43
-58
35
0
0
0
0
0
0
0
119
-84
36
-50
-57
110
4
124
85
15
0
0
0
0
0
0
0
38
-27
59
58
-3
37
81
19
-3
10
0
0
0
0
0
0
0
2
74
-12
-9
15
29
11
45
-9
-5
0
0
0
0
0
0
0
0
-10
36
3
-4
0
0
-1
-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
1
-9
-66
10
51
-50
0
0
0
1
0
0
0
0
0
0
16
-55
10
-95
25
69
-40
0
-1
0
20
0
0
0
0
0
0
-21
-121
-79
-15
201
13
-27
14
83
-6
-34
0
0
0
0
0
0
11
-86
3
-58
-33
-26
-50
-41
143
-12
-6
-5
0
0
0
0
0
19
3
34
69
-39
70
-56
62
-3
-25
26
0
0
0
0
0
0
0
3
70
49
58
83
-55
5
14
3
0
-3
0
0
0
0
0
0
0
11
6
9
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
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
0
0
0
2
-94
-44
-56
-37
2
27
-6
0
5
-9
2
0
0
0
0
0
49
84
-15
40
60
115
23
0
12
0
-10
52
0
0
0
0
0
79
-127
-93
56
59
-1
65
-33
-68
118
-4
-1
6
0
0
0
0
-58
35
53
46
4
106
-146
-40
-66
67
-1
-2
0
0
0
0
0
-45
37
110
165
102
98
68
103
-16
54
2
-7
0
0
0
0
0
0
134
-147
-20
147
0
-12
-37
3
1
0
6
0
0
0
0
0
0
59
112
-7
4
6
8
2
0
-6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
-60
-48
91
-15
-93
-11
5
7
0
0
0
0
0
0
0
0
0
-40
64
17
9
-9
-18
96
0
69
0
1
1
0
0
0
0
0
55
-17
36
9
41
-93
-92
55
-1
103
43
1
0
0
0
0
0
22
59
0
-160
122
-54
-30
116
126
26
-7
1
1
0
0
0
0
-29
40
-20
20
123
-7
-58
-24
59
-4
0
0
0
0
0
0
0
0
3
-43
-36
-3
84
-48
-41
20
-1
0
0
0
0
0
0
0
-7
23
13
137
78
20
19
16
-6
1
0
0
0
0
0
0
0
0
44
3
11
0
-8
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
6
31
-45
-112
-7
117
-6
1
0
15
0
0
0
0
0
0
0
27
-17
-32
21
1
-25
39
0
6
0
4
-2
0
0
0
0
0
4
58
128
90
-2
-21
92
-11
-21
-31
66
20
0
0
0
0
0
-3
-2
-37
-3
-26
66
92
73
21
-19
13
0
-2
0
0
0
0
22
-135
88
8
44
15
30
-24
-78
-31
17
0
0
0
0
0
0
0
51
51
-16
26
19
-74
102
-3
-45
0
0
0
0
0
0
0
2
4
-99
153
13
-50
-43
68
56
41
-7
0
0
0
0
0
0
0
-1
5
129
26
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
38
79
-8
203
150
75
18
17
0
-2
-1
0
0
0
0
0
0
140
98
83
-38
57
-37
-23
0
-96
0
28
0
0
0
0
0
0
-29
167
-67
115
40
49
-15
-25
111
-38
53
-1
0
0
0
0
0
-27
29
-83
39
14
-42
77
50
22
-109
8
-10
0
0
0
0
0
-13
-15
-39
67
4
-48
54
27
-6
-62
-1
3
0
0
0
0
0
6
87
-106
-79
-81
42
24
32
-52
21
-4
0
0
0
0
0
0
-5
27
48
80
-6
9
34
-8
87
0
0
0
0
0
0
0
0
0
-4
1
-50
-3
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
13
47
-53
113
77
-73
-45
-3
0
-1
-2
0
0
0
0
0
0
-12
-139
33
-71
40
-27
-19
0
0
0
-35
0
0
0
0
0
0
15
96
-25
-104
-36
-3
9
151
67
69
-52
6
0
0
0
0
0
-24
152
-145
27
70
-142
-105
-105
29
-56
-40
5
0
0
0
0
0
2
-15
-25
-111
175
104
67
-63
-20
136
-58
0
0
0
0
0
0
0
95
-13
-94
-17
-40
94
-9
40
-143
0
0
0
0
0
0
0
11
-11
-29
20
54
-35
-63
4
-63
5
0
0
0
0
0
0
0
0
0
24
22
-8
-1
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
-102
20
-87
41
17
80
-29
0
-1
11
2
0
0
0
0
0
0
-82
48
54
75
61
-87
0
-107
0
82
0
0
0
0
0
0
0
129
61
39
-50
-72
19
44
50
-4
-98
6
0
0
0
0
0
0
41
21
54
-54
-100
88
42
-82
-175
-68
1
0
0
0
0
0
0
4
15
-4
60
118
-77
105
41
-28
49
0
0
0
0
0
0
0
-15
54
54
2
-120
16
52
-46
-3
8
0
0
0
0
0
0
0
-13
49
42
-40
-76
-33
42
18
-2
5
0
0
0
0
0
0
0
0
17
-38
-3
-6
0
0
24
0
0
0
0
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
62
-42
6
8
0
0
0
-3
0
0
0
0
0
0
0
-35
-70
8
-46
76
0
0
0
-10
-7
0
0
0
0
0
0
0
55
45
95
65
-206
26
-13
14
11
-11
0
0
0
0
0
0
0
4
16
-51
57
1
-6
-119
-173
-20
60
0
0
0
0
0
0
0
-33
35
30
-20
54
24
-66
-8
10
15
0
0
0
0
0
0
0
-13
50
30
21
13
-8
1
5
0
0
0
0
0
0
0
0
0
0
33
-70
-9
38
-5
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
-21
7
2
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
-13
1
9
50
0
0
-14
0
0
0
0
0
0
0
0
0
-1
-13
-10
-10
0
2
0
5
0
-1
0
0
0
0
0
0
0
0
3
-12
10
-9
1
-23
-35
-4
12
0
0
0
0
0
0
0
4
43
-11
-17
0
-7
1
-39
7
3
0
0
0
0
0
0
0
0
3
-7
-36
-27
-13
2
5
0
0
0
0
0
0
0
0
0
0
-6
10
-28
16
12
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
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
0
-1
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
-4
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-9
5
0
0
0
0
0
0
0
0
0
0
0
90
-11
67
38
-45
62
-15
0
-20
0
0
0
0
0
0
0
0
0
3
-10
-39
43
-42
7
-63
81
0
0
0
0
0
0
0
0
16
79
-9
-13
101
-82
-13
-20
-52
0
0
0
0
0
0
0
0
27
74
6
52
54
-106
-1
-1
5
0
0
0
0
0
0
0
0
0
22
60
4
-27
17
17
0
-3
0
0
0
0
0
0
0
0
0
-1
-35
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-93
37
-42
89
5
0
-12
0
0
0
0
0
0
0
0
-8
44
29
-2
-24
69
0
5
0
0
0
0
0
0
0
0
-15
1
-152
-16
-6
43
-22
23
-36
3
0
0
0
0
0
0
0
-86
-33
88
-190
64
56
-110
-52
77
61
0
0
0
0
0
0
0
5
-88
-98
-157
0
7
64
26
-50
63
0
0
0
0
0
0
0
0
37
104
0
66
-159
-15
37
-7
7
0
0
0
0
0
0
0
0
0
69
-4
-29
9
16
2
3
-11
0
0
0
0
0
0
0
0
-4
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
-1
109
55
23
112
-41
9
0
15
11
0
0
0
0
0
0
0
20
1
17
-6
-21
-49
0
-11
0
0
0
0
0
0
0
0
0
38
1
-39
108
44
-116
-120
-14
3
-26
0
0
0
0
0
0
-1
6
35
17
71
-30
106
-37
-10
-50
-16
0
0
0
0
0
0
0
4
100
-156
-80
-69
-49
-14
17
25
0
0
0
0
0
0
0
0
31
147
-71
-45
-154
94
24
0
-11
0
0
0
0
0
0
0
0
0
47
24
4
-15
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
6
11
-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
48
2
13
100
112
-8
44
4
0
-2
0
-2
0
0
0
0
0
-1
-7
35
136
-99
68
24
0
6
0
-21
-3
0
0
0
0
0
-51
79
27
-11
29
12
45
-16
-53
-40
-36
-1
0
0
0
0
0
-22
43
37
-11
41
4
148
61
-5
-4
11
2
0
0
0
0
0
35
-66
33
11
49
-17
12
-20
8
0
3
0
0
0
0
0
0
0
53
-27
13
15
15
-2
-13
-2
0
0
0
0
0
0
0
0
0
0
21
12
-6
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
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
14
58
-67
10
75
71
-34
10
0
-2
0
2
0
0
0
0
0
-26
78
141
-106
56
-92
-2
0
41
0
10
1
0
0
0
0
0
47
113
103
90
157
53
57
-13
-7
13
13
-4
0
0
0
0
0
109
-72
-44
49
11
76
-20
16
-71
1
0
-18
0
0
0
0
0
6
-72
-14
-100
53
14
41
-136
-67
17
0
0
0
0
0
0
0
0
-81
-132
-74
9
24
-43
10
-4
6
11
0
0
0
0
0
0
0
3
-95
45
2
-29
-34
2
17
0
0
0
0
0
0
0
0
0
-4
0
-8
-17
2
-6
-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
132
6
117
38
-23
-16
-80
0
0
1
9
0
0
0
0
0
0
72
-23
16
80
12
4
59
0
-11
0
1
2
0
0
0
0
0
101
-77
153
-3
71
-90
-25
-79
36
83
55
-4
-3
0
0
0
0
-95
-50
-72
-21
-49
18
13
88
-93
2
2
2
0
0
0
0
0
66
-26
-72
45
114
9
39
-9
26
20
0
-14
0
0
0
0
0
0
-107
-48
-108
70
37
-80
10
-14
-14
-8
0
0
0
0
0
0
-24
11
118
-3
72
13
-101
13
-32
0
0
0
0
0
0
0
0
0
-11
1
4
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
4
37
68
74
-36
23
67
0
0
-22
-5
0
0
0
0
0
0
-8
-62
56
-4
141
92
2
0
-7
0
-4
-5
0
0
0
0
0
-10
137
-79
110
64
-13
51
41
99
10
0
23
0
0
0
0
0
-22
-24
73
-38
-4
-26
98
40
15
-75
3
0
0
0
0
0
0
-44
-51
-58
-43
-85
82
83
-86
-105
-5
6
0
0
0
0
0
0
0
99
71
14
89
67
86
10
20
-9
10
0
0
0
0
0
0
0
-38
-51
101
35
48
21
-4
22
-45
0
0
0
0
0
0
0
0
1
25
35
-21
-1
-23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
12
0
0
0
0
0
0
0
0
-21
63
27
4
-79
53
0
1
0
0
36
1
0
0
0
0
0
12
90
-38
4
-1
10
-34
0
-83
0
-17
0
0
0
0
0
0
-4
-33
8
-20
61
18
62
34
-19
89
-42
1
0
0
0
0
0
-131
-40
21
4
53
68
-1
61
9
-78
-14
0
0
0
0
0
0
6
-5
44
-31
-11
7
-13
43
-27
1
2
0
0
0
0
0
0
25
32
-35
-20
118
56
-52
23
-9
14
0
0
0
0
0
0
0
-56
76
-19
4
-24
-2
125
2
76
-27
0
0
0
0
0
0
0
0
26
-7
27
-4
54
-2
0
-3
0
0
0
0
0
0
0
0
0
35
12
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-38
115
61
74
-66
-180
136
-4
0
113
-1
-8
0
0
0
0
0
90
99
10
-10
-114
6
17
0
-55
0
-15
-1
0
0
0
0
0
67
-26
57
72
-77
-47
-27
87
10
9
-53
-10
0
0
0
0
0
-50
-27
29
-19
-67
-15
32
69
6
-52
2
0
0
0
0
0
0
113
63
-68
97
-38
92
-164
41
146
14
-2
0
0
0
0
0
0
5
-77
-6
-54
-26
-56
22
95
43
-16
5
0
0
0
0
0
0
2
-15
32
89
-101
49
29
-46
42
35
0
0
0
0
0
0
0
0
-186
40
16
161
-30
5
10
3
-2
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
13
12
-21
-98
56
-68
27
0
3
71
0
0
0
0
0
0
0
118
20
41
-82
-49
-28
0
23
0
-218
-14
0
0
0
0
0
0
70
-46
73
121
-93
145
-194
-41
-177
70
-2
0
0
0
0
0
0
-137
-23
61
-140
44
26
-160
-104
-38
-20
-3
0
0
0
0
0
0
169
-94
-12
22
6
-43
73
33
66
15
0
0
0
0
0
0
0
-29
-45
66
-66
-70
125
119
-59
-22
-41
0
0
0
0
0
0
0
83
-183
49
48
-12
-9
-19
0
-12
0
0
0
0
0
0
0
0
1
-14
51
16
19
-1
4
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
29
37
-146
-65
1
28
0
4
0
8
0
0
0
0
0
0
0
-29
28
5
0
-46
0
8
0
-6
19
0
0
0
0
0
0
0
67
-42
-4
34
-63
50
2
-31
0
-27
0
0
0
0
0
0
0
-13
40
-3
-58
146
-31
15
-94
-4
-23
0
0
0
0
0
0
0
-14
45
14
84
39
-45
-2
-35
0
-25
0
0
0
0
0
0
0
6
122
59
-7
34
-69
11
0
0
8
0
0
0
0
0
0
0
0
-1
9
-3
-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
-5
0
-24
20
0
0
13
0
0
0
0
0
0
0
0
0
1
68
-2
51
0
4
0
-38
0
0
0
0
0
0
0
0
0
0
18
19
2
11
11
-23
-1
-3
0
0
0
0
0
0
0
0
0
15
-4
-12
72
13
-7
1
0
-2
0
0
0
0
0
0
0
0
16
10
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
1
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-6
0
9
-8
-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
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
0
50
-3
0
0
0
0
0
0
0
0
0
0
0
32
112
-7
100
4
-13
-2
0
5
0
0
0
0
0
0
0
0
-47
1
38
-36
82
-73
26
6
-67
0
0
0
0
0
0
0
0
0
15
-23
100
58
20
-1
-5
47
0
0
0
0
0
0
0
0
2
-3
-73
-43
122
-18
-2
0
69
0
0
0
0
0
0
0
0
-4
-15
11
-38
53
7
2
0
3
0
0
0
0
0
0
0
0
0
0
46
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
0
15
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-61
-6
20
82
-145
5
0
1
0
0
0
0
0
0
0
-8
76
43
-72
34
-78
37
0
8
0
0
0
0
0
0
0
0
-3
-40
-57
-45
5
-13
17
31
106
-115
0
0
0
0
0
0
0
-1
-14
-106
51
81
23
32
15
-72
80
0
0
0
0
0
0
0
0
-57
52
-94
-122
-72
55
51
1
110
0
0
0
0
0
0
0
0
-109
-43
25
-37
-67
-121
-49
19
92
0
0
0
0
0
0
0
0
7
4
40
-29
76
17
15
8
8
0
0
0
0
0
0
0
0
0
8
3
0
5
15
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
87
-3
8
137
29
-4
2
0
-4
0
0
0
0
0
0
0
0
121
-6
104
-94
40
-92
0
0
0
-21
0
0
0
0
0
0
0
28
42
22
-31
12
-6
-73
-114
5
-36
0
0
0
0
0
0
0
24
-7
-106
7
18
-13
17
-61
-29
1
0
0
0
0
0
0
0
0
39
6
-98
-91
140
30
38
-7
5
0
0
0
0
0
0
0
-3
5
29
-91
-153
19
7
-3
22
-2
0
0
0
0
0
0
0
14
-34
-14
123
-2
3
0
0
-12
0
0
0
0
0
0
0
0
0
9
-26
0
3
0
0
0
0
0
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
104
-58
-35
12
6
1
0
0
0
0
0
0
0
0
0
16
-28
-29
50
37
-69
-19
0
9
0
-35
-15
0
0
0
0
0
71
55
-102
151
69
-61
-20
15
-38
28
-26
3
0
0
0
0
0
-52
48
70
41
-33
57
24
-4
31
-33
0
3
0
0
0
0
0
-9
51
5
9
120
-55
146
77
-40
4
-4
0
0
0
0
0
0
0
24
81
-53
69
-7
69
15
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-5
-23
6
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
7
-31
96
-13
-45
106
24
-7
0
0
0
0
0
0
0
0
0
-52
157
49
101
-54
49
-136
0
34
0
1
-1
0
0
0
0
0
-13
-68
-57
-66
-41
147
-102
-46
30
24
-5
-15
0
0
0
0
0
32
-51
68
-15
65
-97
22
-142
63
-26
0
-4
0
0
0
0
0
27
-118
-41
-61
-9
0
102
-6
0
49
0
-3
0
0
0
0
0
5
71
-25
-68
-44
-42
0
75
85
43
0
0
0
0
0
0
0
5
0
-4
14
-119
1
39
-2
-2
-12
0
0
0
0
0
0
0
0
1
3
25
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
37
95
-60
-80
-113
92
12
-15
0
-4
0
0
0
0
0
0
0
-31
-52
51
10
9
83
-13
0
63
0
-16
-9
0
0
0
0
0
32
-78
73
-73
86
17
26
-52
23
-57
-5
0
0
0
0
0
0
74
-5
157
51
148
5
56
-17
-7
6
-3
0
0
0
0
0
0
110
69
3
196
-124
22
-17
-62
-7
88
0
0
0
0
0
0
0
-1
-6
10
66
-66
89
70
-32
-82
-48
1
0
0
0
0
0
0
5
0
89
41
-41
-2
20
15
-4
1
0
0
0
0
0
0
0
0
3
-50
70
-16
21
0
0
-3
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
11
-31
81
38
54
-33
27
10
0
-9
3
0
0
0
0
0
0
-8
73
15
34
-90
-151
-24
0
-94
0
-39
0
0
0
0
0
0
34
29
-33
34
-41
55
-66
208
-56
-14
17
17
0
0
0
0
0
7
17
-45
-42
11
61
-58
-28
-51
86
0
0
0
0
0
0
0
33
65
-17
61
7
-97
70
50
11
57
0
0
0
0
0
0
0
8
-89
-43
83
17
83
-24
-3
88
-46
0
0
0
0
0
0
0
0
-1
26
-16
-28
-57
7
-41
-26
-4
0
0
0
0
0
0
0
0
-10
5
-58
5
9
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
148
92
214
64
-158
101
103
24
0
-2
17
0
0
0
0
0
0
-20
108
82
-34
-33
-109
120
0
99
0
-17
0
0
0
0
0
0
76
64
126
93
-65
15
-62
71
159
110
41
-9
0
0
0
0
0
42
43
-95
45
30
16
79
-104
95
6
0
1
0
0
0
0
0
60
-39
63
25
17
118
64
0
78
66
5
0
0
0
0
0
0
-7
112
33
-41
-73
-13
-191
-8
-163
-8
0
0
0
0
0
0
0
20
64
21
-10
1
21
-3
15
-38
-24
0
0
0
0
0
0
0
0
-14
1
55
101
-67
-8
-2
-47
-11
0
0
0
0
0
0
0
0
-29
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
50
74
24
-128
110
60
-32
44
0
-6
3
0
0
0
0
0
0
57
-56
107
48
5
-108
-21
0
-8
0
-23
0
0
0
0
0
0
-17
-11
94
-29
31
31
-42
-7
-131
-30
39
-5
0
0
0
0
0
32
22
93
-63
125
32
70
99
-125
-20
-1
0
0
0
0
0
0
42
-78
-118
-11
-22
78
14
101
27
22
13
0
0
0
0
0
0
-3
-147
9
-18
11
-23
-116
59
19
-103
0
0
0
0
0
0
0
-19
17
-63
-62
81
0
-15
42
-24
96
0
0
0
0
0
0
0
0
-44
6
-11
-56
67
49
9
1
-9
0
0
0
0
0
0
0
0
0
-15
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-8
11
-41
-30
39
81
0
-10
33
0
0
0
0
0
0
0
85
72
116
98
95
-51
0
33
0
64
0
0
0
0
0
0
0
-56
46
163
10
-145
-44
-17
20
46
-45
-9
0
0
0
0
0
0
9
65
-58
13
-1
7
-20
42
-8
19
0
0
0
0
0
0
0
96
31
12
-92
-33
80
-33
-26
23
4
0
0
0
0
0
0
0
-5
-63
-47
-30
-45
161
-14
125
-16
-52
0
0
0
0
0
0
0
-1
56
-85
-27
-35
-99
14
39
23
0
0
0
0
0
0
0
0
0
-100
70
79
27
6
2
-10
0
3
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
-14
-21
33
85
-1
49
0
8
4
4
0
0
0
0
0
0
0
82
28
56
100
-8
0
0
0
24
-25
0
0
0
0
0
0
0
-22
1
88
28
-52
-54
-35
11
-8
1
0
0
0
0
0
0
0
7
32
18
48
67
25
-5
22
0
-15
0
0
0
0
0
0
0
9
-8
-4
36
101
93
-12
42
3
-3
0
0
0
0
0
0
0
-15
-19
-6
-109
-14
0
3
5
8
0
0
0
0
0
0
0
0
0
14
-19
-58
-6
9
0
3
0
0
0
0
0
0
0
0
0
0
8
19
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
-13
-7
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
39
7
48
0
-10
0
-1
6
-11
0
0
0
0
0
0
0
1
30
28
-23
-23
4
10
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-7
0
-4
0
6
0
8
0
0
0
0
0
0
0
0
0
-78
-4
-24
12
0
1
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
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
1
-3
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
109
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
31
-15
-120
-32
13
-28
0
0
0
0
0
0
0
0
0
0
-9
6
-40
-7
34
-18
-3
-8
1
0
0
0
0
0
0
0
0
41
-6
44
70
-86
-28
22
0
-32
0
0
0
0
0
0
0
0
0
9
25
-77
-6
-9
4
3
-4
0
0
0
0
0
0
0
0
-2
0
-73
-6
11
33
-5
0
0
0
0
0
0
0
0
0
0
0
4
7
34
19
-26
0
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
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
-1
-36
-85
16
6
50
27
0
0
50
0
0
0
0
0
0
0
-5
111
84
2
-25
-32
-56
0
9
0
0
0
0
0
0
0
0
2
-90
-112
33
-52
20
8
10
39
71
0
0
0
0
0
0
0
2
15
-3
-49
-104
-64
-128
91
50
-1
0
0
0
0
0
0
0
2
0
51
4
-85
-11
-31
55
-62
58
0
0
0
0
0
0
0
0
-1
58
64
7
-109
-12
38
-38
15
0
0
0
0
0
0
0
0
-7
-86
-70
122
-70
12
18
26
-19
0
0
0
0
0
0
0
0
3
-4
126
15
81
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
50
37
85
-10
131
0
0
0
0
0
0
0
0
0
0
0
0
56
12
-43
65
63
15
0
-3
0
-19
0
0
0
0
0
0
0
29
20
11
-3
-43
-19
-22
76
94
48
0
0
0
0
0
0
0
-4
70
-32
35
-64
-14
-34
-5
14
1
0
0
0
0
0
0
0
27
0
-28
-76
-5
53
165
9
-4
-4
0
0
0
0
0
0
0
0
-69
12
-15
79
44
0
-23
47
5
0
0
0
0
0
0
0
1
-15
82
-2
63
-2
33
20
-15
0
0
0
0
0
0
0
0
13
3
32
19
-13
-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
78
20
-35
2
147
95
6
1
0
0
-4
0
0
0
0
0
0
-70
32
83
-161
-98
-6
-14
0
-1
0
-23
0
0
0
0
0
0
37
-7
49
145
34
-105
-17
-20
-72
-13
-10
-3
0
0
0
0
0
-1
-84
31
-1
-27
-37
102
-57
-157
-12
-1
0
0
0
0
0
0
1
155
60
0
30
72
-1
-20
25
0
1
0
0
0
0
0
0
0
184
-1
-11
8
4
2
69
9
0
0
0
0
0
0
0
0
-3
0
-22
1
-25
0
-10
0
-1
0
0
0
0
0
0
0
0
0
41
0
-1
25
-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
-16
125
-42
-36
-53
-56
-40
-5
0
-1
-3
0
0
0
0
0
0
13
63
58
37
62
33
19
0
10
0
11
-3
0
0
0
0
0
-16
-4
-9
98
57
23
-74
43
25
112
0
-7
0
0
0
0
0
47
-5
111
-5
93
127
-80
4
59
54
1
0
0
0
0
0
0
44
-36
6
-9
0
71
-6
-82
33
-61
0
0
0
0
0
0
0
-5
-49
-98
-269
16
-38
-43
33
17
43
0
0
0
0
0
0
0
13
6
-37
64
17
-32
-13
-11
14
4
0
0
0
0
0
0
0
0
0
1
73
11
24
0
0
0
-2
0
0
0
0
0
0
0
0
4
18
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
67
85
-27
7
-105
-71
125
1
0
0
0
0
0
0
0
0
0
23
3
133
-47
36
118
-55
0
-109
0
-9
0
0
0
0
0
0
70
63
-71
7
0
-178
-22
-14
-35
-83
13
0
0
0
0
0
0
-14
46
-33
-45
-48
-103
114
73
58
3
-1
0
0
0
0
0
0
-57
-1
16
-18
36
0
138
-25
23
1
5
0
0
0
0
0
0
-7
34
31
-5
-165
35
-26
-61
20
-4
0
0
0
0
0
0
0
1
-8
-98
-33
-59
44
-16
-7
11
-1
0
0
0
0
0
0
0
0
-147
-1
-58
3
-38
0
8
-1
-1
0
0
0
0
0
0
0
-4
0
-23
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-131
9
41
-28
60
-29
-11
0
-10
2
0
0
0
0
0
0
-34
0
27
-34
-43
7
-53
0
9
0
4
0
0
0
0
0
0
95
182
93
-77
78
-21
-35
95
42
25
-3
-1
0
0
0
0
0
75
149
93
5
-16
122
34
169
80
-28
12
0
0
0
0
0
0
-16
105
22
-17
-3
72
0
-4
6
-12
0
0
0
0
0
0
0
-21
28
33
115
-51
2
-45
-78
14
49
0
0
0
0
0
0
0
-4
-12
41
-93
-56
-4
-29
-85
-31
2
0
0
0
0
0
0
0
0
-18
6
7
-34
9
1
0
-12
0
0
0
0
0
0
0
0
0
-5
-20
0
17
0
0
0
0
0
0
0
0
0
0
0
0
36
-17
20
-18
58
-9
84
5
0
-1
-20
0
0
0
0
0
0
116
69
80
59
-48
42
100
0
137
0
-14
0
0
0
0
0
0
12
44
-49
52
-20
105
198
15
85
33
-32
-5
0
0
0
0
0
67
-9
91
28
84
-61
212
-81
72
58
-5
-4
1
0
0
0
0
-18
-62
80
69
32
27
-46
0
-98
-6
0
0
0
0
0
0
0
-19
-33
39
1
-84
43
27
27
62
-29
0
0
0
0
0
0
0
-52
23
-99
-53
-15
12
-75
1
-55
-7
0
0
0
0
0
0
0
0
-15
-13
-31
8
-16
-1
0
0
-12
0
0
0
0
0
0
0
0
0
6
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-43
5
51
5
15
-76
24
18
0
-4
-8
0
0
0
0
0
0
70
68
58
-26
-22
16
15
0
35
0
74
-13
0
0
0
0
0
-38
58
61
80
1
-18
152
201
-18
9
-3
-6
0
0
0
0
0
-81
-27
15
45
54
-8
71
120
-23
29
24
11
0
0
0
0
0
18
128
93
52
27
193
78
59
0
-43
-8
0
0
0
0
0
0
6
-83
30
1
16
-82
194
-19
-12
-111
0
0
0
0
0
0
0
-1
-55
26
-127
-45
42
-5
-140
-2
-19
0
0
0
0
0
0
0
0
-26
20
9
39
82
-13
-11
-2
34
0
0
0
0
0
0
0
0
1
-23
1
9
15
0
0
0
0
0
0
0
0
0
0
0
0
-45
-77
51
-54
-69
59
1
0
0
78
8
0
0
0
0
0
0
115
14
73
-26
-135
2
0
57
0
136
12
0
0
0
0
0
0
-84
37
-22
84
46
-33
39
64
44
33
-2
0
0
0
0
0
0
-45
-39
7
5
-194
12
15
78
179
67
-18
0
0
0
0
0
0
68
-15
39
-55
4
47
37
66
0
28
0
0
0
0
0
0
0
45
-35
-8
-81
34
27
-67
98
11
-12
0
0
0
0
0
0
0
123
-32
67
-17
-6
57
-54
53
2
4
0
0
0
0
0
0
0
-1
-27
20
-32
100
0
-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
0
0
-1
-43
5
75
-25
27
0
2
5
-14
0
0
0
0
0
0
0
-10
-88
17
-31
14
0
6
0
-26
-19
0
0
0
0
0
0
0
6
40
29
60
-25
71
5
23
0
21
0
0
0
0
0
0
0
-24
-55
29
55
-22
-15
-97
38
-53
-36
0
0
0
0
0
0
0
-1
18
-16
-45
-9
3
0
-2
0
-6
0
0
0
0
0
0
0
-21
22
65
-48
17
1
18
5
0
0
0
0
0
0
0
0
0
0
-7
0
15
0
-15
15
1
0
0
0
0
0
0
0
0
0
0
15
9
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
-10
0
-52
4
0
0
-11
1
0
0
0
0
0
0
0
0
-5
-51
4
-18
0
1
0
-18
2
2
0
0
0
0
0
0
0
0
-17
17
-17
-9
-11
3
0
2
-4
0
0
0
0
0
0
0
0
-2
-40
-4
-13
-2
11
0
0
-4
0
0
0
0
0
0
0
0
2
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
6
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-2
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
6
-2
-1
0
5
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-9
-94
0
-7
-1
0
11
0
0
0
0
0
0
0
0
-45
-7
38
21
20
33
-2
0
3
0
0
0
0
0
0
0
0
-3
-86
-19
7
79
-141
5
0
-37
0
0
0
0
0
0
0
0
74
0
29
-62
-27
-9
-18
0
-9
0
0
0
0
0
0
0
0
0
64
-15
-41
52
-24
-15
9
3
0
0
0
0
0
0
0
0
0
0
75
33
55
-8
0
1
6
0
0
0
0
0
0
0
0
1
-14
0
-14
15
-29
-1
-4
-2
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
25
-27
79
2
0
-18
0
0
0
0
0
0
0
0
0
4
-48
11
44
112
-76
-63
0
-2
0
0
0
0
0
0
0
0
0
61
-177
-67
-2
2
-98
-22
-25
78
0
0
0
0
0
0
0
0
6
37
-39
-109
80
-42
-32
-26
-26
0
0
0
0
0
0
0
0
50
10
-118
-48
-34
17
-23
-1
-11
0
0
0
0
0
0
0
-12
0
117
-11
44
-108
28
9
4
-10
0
0
0
0
0
0
0
0
-8
16
44
94
93
-65
-17
-4
-1
0
0
0
0
0
0
0
0
-3
18
68
-14
8
-4
0
0
1
0
0
0
0
0
0
0
0
6
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
40
-120
51
-130
-3
0
0
0
0
0
0
0
0
0
0
0
87
26
-22
194
-8
-66
0
0
0
27
0
0
0
0
0
0
0
37
72
11
8
-4
-5
14
145
28
51
0
0
0
0
0
0
0
51
-84
-18
24
-1
-154
-52
-6
-108
-43
0
0
0
0
0
0
0
2
-28
-1
9
54
85
34
-69
17
0
0
0
0
0
0
0
0
-18
0
120
73
-72
2
48
3
45
-8
0
0
0
0
0
0
0
-2
43
0
125
70
4
-37
1
41
0
0
0
0
0
0
0
0
0
-1
39
0
-107
8
0
0
0
0
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
45
-64
-45
-3
8
5
0
-5
-13
0
0
0
0
0
0
7
-161
3
145
75
-112
60
0
10
0
-67
0
0
0
0
0
0
-2
26
3
-44
-90
21
1
30
76
44
-50
2
0
0
0
0
0
16
-5
140
38
3
-95
-92
77
24
-3
5
0
0
0
0
0
0
86
-55
-12
-61
80
138
32
-51
-62
-8
0
0
0
0
0
0
0
0
38
-9
0
66
30
24
3
0
0
0
12
0
0
0
0
0
-2
2
-1
-21
-1
-11
-34
6
2
0
0
0
0
0
0
0
0
0
0
-8
1
5
0
-14
0
3
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
-2
77
-18
15
41
-7
86
5
0
0
0
0
0
0
0
0
0
-2
43
105
114
-23
145
-56
0
-5
0
0
-3
0
0
0
0
0
-51
-37
-48
9
130
59
86
111
-15
47
0
-3
0
0
0
0
0
9
-18
-88
19
58
91
-124
-51
12
-62
0
4
0
0
0
0
0
53
-13
-7
-17
-7
123
-32
67
-74
-70
-7
0
0
0
0
0
0
1
-23
25
-39
0
-147
-9
1
0
-1
0
0
0
0
0
0
0
2
107
29
-16
-57
-4
11
-73
28
2
0
0
0
0
0
0
0
0
9
0
-1
4
-7
0
5
0
0
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
8
68
41
-29
40
-79
-28
0
-5
1
0
0
0
0
0
0
16
3
96
25
36
-30
118
0
46
0
2
0
0
0
0
0
0
74
114
17
58
110
-71
-113
-28
20
-66
5
0
0
0
0
0
0
34
139
43
-9
20
138
-17
-24
-14
-43
-5
0
0
0
0
0
0
45
0
-41
43
117
60
-35
-95
-12
-140
33
0
0
0
0
0
0
2
-3
64
30
83
0
-6
6
5
9
6
0
0
0
0
0
0
32
101
13
105
5
1
-10
1
10
-5
0
0
0
0
0
0
0
0
-88
31
-11
-11
6
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
45
55
-54
-8
2
23
-38
0
0
7
0
0
0
0
0
0
43
89
-24
42
-26
62
53
0
4
0
1
0
0
0
0
0
0
13
37
15
26
121
-7
18
-42
143
-49
1
7
0
0
0
0
0
-25
68
-27
99
90
49
-58
10
17
62
2
7
0
0
0
0
0
56
23
93
55
57
78
-83
56
53
-144
1
-1
0
0
0
0
0
0
-33
28
15
-37
-44
0
-6
34
-1
4
0
0
0
0
0
0
4
-38
-15
70
-29
24
33
-55
148
-22
0
0
0
0
0
0
0
0
33
44
12
-14
-10
-5
-9
-3
19
0
0
0
0
0
0
0
0
0
18
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-98
-95
82
14
-15
72
54
-32
0
-24
0
0
0
0
0
0
0
54
60
-26
71
-10
76
-45
0
-51
0
5
-4
0
0
0
0
0
117
-11
73
-46
25
-73
40
193
70
16
79
-5
0
0
0
0
0
27
41
47
55
70
13
99
4
11
-65
-6
0
0
0
0
0
0
29
49
31
-40
-84
154
135
106
32
97
80
1
0
0
0
0
0
-6
1
136
122
36
240
-21
0
-19
3
0
0
0
0
0
0
0
-39
61
14
-21
-18
-40
9
5
-4
-18
0
0
0
0
0
0
0
-1
-85
57
-51
69
-3
-14
4
-4
-4
0
0
0
0
0
0
0
0
0
16
87
-1
0
0
0
0
0
0
0
0
0
0
0
0
27
15
-30
-18
21
48
99
23
0
41
19
0
0
0
0
0
0
-11
-40
-17
24
43
-47
57
0
-22
0
-23
-3
0
0
0
0
0
51
151
14
32
72
22
211
1
199
-33
-7
8
0
0
0
0
0
-32
43
117
-5
58
93
-46
-77
89
-32
-25
1
0
0
0
0
0
-21
-54
34
107
-2
-36
97
106
65
57
-33
0
0
0
0
0
0
-42
15
-14
-2
-29
156
129
-40
0
-20
0
0
0
0
0
0
0
-2
47
34
0
137
18
-57
3
1
-59
0
0
0
0
0
0
0
0
25
25
17
-55
-53
47
4
0
-48
0
0
0
0
0
0
0
0
56
-17
-3
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-65
-1
19
-13
96
54
0
2
145
0
0
0
0
0
0
0
-43
71
21
92
81
-79
0
-8
0
3
0
0
0
0
0
0
0
-13
-118
-68
66
80
16
-53
-24
80
-64
-3
0
0
0
0
0
0
50
102
28
44
64
65
106
-60
-28
49
0
0
0
0
0
0
0
-20
49
62
2
32
-11
-27
-148
123
13
0
0
0
0
0
0
0
-24
74
54
61
55
44
43
7
0
-15
0
0
0
0
0
0
0
-4
68
1
9
44
-8
12
27
-5
0
0
0
0
0
0
0
0
0
6
-29
91
47
-8
1
-67
0
0
0
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
-10
-77
85
-49
-15
0
10
12
0
0
0
0
0
0
0
0
-11
47
-37
-102
34
0
13
0
-8
-36
0
0
0
0
0
0
0
-76
107
-22
59
102
-102
-56
-26
9
-36
0
0
0
0
0
0
0
21
-13
6
12
-44
37
25
-38
3
-9
0
0
0
0
0
0
0
-1
50
52
58
168
12
62
3
-9
-33
0
0
0
0
0
0
0
-11
4
88
50
-66
-33
0
5
0
2
0
0
0
0
0
0
0
1
-21
1
58
16
-4
-3
0
0
0
0
0
0
0
0
0
0
3
2
-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
6
0
-2
0
8
0
-3
4
0
-3
0
0
0
0
0
0
0
0
24
-29
-17
0
-2
0
54
6
0
0
0
0
0
0
0
0
0
-1
-3
25
11
81
-26
-11
-28
-8
0
0
0
0
0
0
0
0
-12
-23
-8
24
4
-13
4
0
0
0
0
0
0
0
0
0
0
0
-3
11
3
2
-4
0
0
3
0
0
0
0
0
0
0
4
0
2
-3
0
13
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-8
0
-3
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-24
32
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
-69
3
6
9
3
0
-19
24
0
0
0
0
0
0
0
0
-22
-4
0
-45
-95
39
5
8
10
0
0
0
0
0
0
0
0
21
0
8
-43
-4
-47
-21
-1
2
0
0
0
0
0
0
0
0
0
0
-86
0
45
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
11
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
9
59
-4
7
16
-17
0
0
0
0
0
0
0
0
0
0
8
-20
-11
-28
-49
178
6
0
0
0
0
0
0
0
0
0
0
-3
40
122
-5
-147
15
16
0
-26
68
0
0
0
0
0
0
0
0
80
39
-3
-2
-95
191
-48
5
25
0
0
0
0
0
0
0
5
32
-48
-9
30
-16
-4
87
-58
56
0
0
0
0
0
0
0
0
-37
0
-12
20
-29
92
0
-2
-12
0
0
0
0
0
0
0
15
0
-7
18
89
7
98
7
7
0
0
0
0
0
0
0
0
0
19
0
44
0
4
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
19
-25
85
0
-4
0
0
0
0
0
0
0
0
0
0
0
-42
37
171
52
74
8
0
4
0
5
0
0
0
0
0
0
0
-37
40
99
-61
22
21
0
23
-55
48
0
0
0
0
0
0
0
-45
-87
34
27
42
-81
18
-8
-5
-9
0
0
0
0
0
0
0
13
12
45
-76
65
11
92
-8
3
2
0
0
0
0
0
0
0
0
77
0
-109
8
25
59
1
23
0
0
0
0
0
0
0
0
27
0
63
29
19
66
-16
8
0
0
0
0
0
0
0
0
0
0
-5
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
-14
14
-32
-8
2
-3
0
0
0
0
0
0
0
0
0
-10
145
0
25
-16
38
23
0
0
0
-17
0
0
0
0
0
0
-6
-3
44
6
-70
-13
1
3
-9
0
13
0
0
0
0
0
0
0
35
-25
-8
19
45
-36
-8
16
-3
0
0
0
0
0
0
0
-5
0
42
-9
13
7
-50
99
-26
10
0
0
0
0
0
0
0
-4
27
0
18
0
-98
2
44
-12
3
0
0
0
0
0
0
0
5
16
93
0
-15
7
-27
-2
1
0
0
0
0
0
0
0
0
0
-2
2
-3
0
-6
0
-7
-3
0
0
0
0
0
0
0
0
0
0
-7
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
115
-8
50
3
-1
-1
0
0
0
0
0
0
0
0
0
0
-26
7
97
-93
19
-19
0
9
0
0
0
0
0
0
0
0
1
5
-37
-4
-19
-43
75
1
-78
16
0
0
0
0
0
0
0
5
70
-102
-8
63
-28
28
5
-18
-16
0
0
0
0
0
0
0
-45
-42
-20
31
-2
-40
33
-23
81
35
0
0
0
0
0
0
0
-6
63
-69
-17
59
75
40
15
-69
-170
0
0
0
0
0
0
0
0
31
109
-37
0
-10
-2
-11
-6
-6
0
0
0
0
0
0
0
0
-8
15
-2
-10
-12
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
7
-115
48
-16
31
16
9
0
0
0
0
0
0
0
0
0
12
-14
21
-33
-19
34
10
0
1
0
0
0
0
0
0
0
0
3
12
3
66
98
-21
63
31
-93
-82
-11
0
0
0
0
0
0
0
58
-7
-117
-59
160
71
14
-51
-1
0
0
0
0
0
0
0
-7
56
-41
-56
-41
11
-68
-67
-9
115
-3
0
0
0
0
0
0
-41
-123
-43
-2
-1
9
41
13
10
-104
-18
0
0
0
0
0
0
-31
-9
28
23
31
0
-1
-5
0
0
0
0
0
0
0
0
0
0
54
38
-85
-1
-11
21
2
0
-10
0
0
0
0
0
0
0
-3
0
19
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
-11
-56
97
6
-26
-58
25
0
0
0
0
0
0
0
0
0
-4
-92
100
10
67
23
25
0
-41
0
0
5
0
0
0
0
0
1
-22
-23
23
-36
2
-8
-170
35
17
1
12
0
0
0
0
0
-2
23
74
42
-47
73
3
32
63
-12
0
0
0
0
0
0
0
-66
-38
1
55
125
107
91
-82
-12
47
0
0
0
0
0
0
0
7
-85
137
-16
-52
87
50
28
66
23
-5
0
0
0
0
0
0
0
24
-66
25
49
133
0
-1
4
0
0
0
0
0
0
0
0
0
-12
35
-62
-36
-42
3
-6
8
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
12
42
14
3
134
20
-12
10
0
0
3
0
0
0
0
0
0
29
41
26
16
86
-95
28
0
100
0
7
0
0
0
0
0
0
87
64
-33
26
20
85
150
-48
85
-13
60
-2
0
0
0
0
0
22
9
22
29
147
15
29
4
50
-6
-12
0
0
0
0
0
0
-26
0
22
85
6
-14
134
-43
43
59
50
0
0
0
0
0
0
-68
8
-43
48
-3
101
76
12
14
186
0
0
0
0
0
0
0
4
19
1
8
14
19
1
0
-48
-1
0
0
0
0
0
0
0
0
68
59
106
-4
8
16
0
0
-11
0
0
0
0
0
0
0
0
10
17
7
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-25
39
17
29
143
-76
2
0
7
-7
0
0
0
0
0
0
4
-21
4
24
-40
38
53
0
-101
0
43
0
0
0
0
0
0
16
33
-49
103
1
62
114
-36
9
-33
-29
-3
0
0
0
0
0
-27
116
84
50
-16
64
20
-49
-47
-85
-27
-3
0
0
0
0
0
-6
52
33
116
-20
-30
48
46
28
-30
44
0
0
0
0
0
0
21
27
5
28
30
46
8
23
19
-35
2
0
0
0
0
0
0
-1
59
-96
95
-31
81
-54
77
0
6
0
0
0
0
0
0
0
0
-1
-32
45
-96
12
10
37
4
-113
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
75
-161
40
-38
12
204
-33
0
2
-39
-2
0
0
0
0
0
0
-41
95
-1
27
-5
22
0
32
0
53
7
0
0
0
0
0
0
-4
-4
55
178
-45
61
21
99
120
72
0
0
0
0
0
0
0
-12
55
52
58
20
-92
93
90
106
16
-2
0
0
0
0
0
0
-50
-1
29
-34
43
-15
58
-17
3
-53
-1
0
0
0
0
0
0
10
54
-20
36
-23
24
-49
7
95
-97
0
0
0
0
0
0
0
-41
85
-1
49
-88
18
12
58
0
-8
0
0
0
0
0
0
0
0
56
50
27
100
52
-17
12
0
0
0
0
0
0
0
0
0
0
0
2
1
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
-66
0
11
0
-7
-31
-7
0
0
0
0
0
0
0
9
4
-37
-6
24
0
-12
0
12
1
0
0
0
0
0
0
0
0
50
-68
127
-60
10
-10
-6
0
14
0
0
0
0
0
0
0
-17
85
-30
13
60
43
-4
11
15
57
0
0
0
0
0
0
0
0
3
-53
34
24
0
-3
91
0
73
0
0
0
0
0
0
0
10
-7
-49
60
25
-54
-37
11
0
-16
0
0
0
0
0
0
0
-20
-23
-64
-20
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
26
-14
0
-8
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
-20
2
0
-1
0
2
-4
0
0
0
0
0
0
0
0
3
-6
5
6
2
10
8
-14
0
0
0
0
0
0
0
0
0
3
55
21
40
14
5
6
6
0
1
0
0
0
0
0
0
0
-2
-10
-70
6
-18
-7
14
0
0
0
0
0
0
0
0
0
0
0
3
-19
-12
8
-27
0
-9
0
0
0
0
0
0
0
0
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
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-15
0
-6
-3
0
0
-6
0
0
0
0
0
0
0
0
0
-59
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-24
-14
-9
-2
-2
0
-5
0
0
0
0
0
0
0
0
-7
21
0
-85
0
62
-16
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
-137
11
5
0
0
0
0
0
0
0
0
0
0
0
22
1
51
-23
1
0
-2
0
0
-33
0
0
0
0
0
0
0
0
85
-18
51
-38
3
-38
0
-12
-2
0
0
0
0
0
0
0
-44
0
3
128
-5
-49
4
21
0
-1
0
0
0
0
0
0
0
0
19
0
0
-68
9
-10
6
-18
0
0
0
0
0
0
0
0
0
0
19
-13
29
-2
11
-10
0
-1
0
0
0
0
0
0
0
0
0
6
-14
0
-1
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
140
5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
76
25
22
-13
0
7
0
0
0
0
0
0
0
0
-2
2
-10
50
107
-23
18
0
0
17
0
0
0
0
0
0
0
0
-1
3
41
-4
18
15
0
0
13
0
0
0
0
0
0
0
0
0
2
-50
45
39
37
0
0
-55
0
0
0
0
0
0
0
0
-1
0
1
6
42
3
0
0
19
0
0
0
0
0
0
0
0
0
2
0
9
0
10
5
0
0
0
0
0
0
0
0
0
0
-9
0
14
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
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-27
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-68
-13
-77
25
0
3
0
0
1
0
0
0
0
0
0
0
-15
12
49
1
-59
0
0
-14
0
0
0
0
0
0
0
0
1
-32
52
-5
-31
-12
2
-28
-17
0
0
0
0
0
0
0
0
0
11
-11
-102
0
-18
-4
-35
-3
0
-7
0
0
0
0
0
0
1
1
4
-2
22
1
0
0
-43
0
0
0
0
0
0
0
0
0
42
-13
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
-5
0
66
1
1
0
0
0
0
0
0
0
0
0
0
0
-40
-5
46
-2
-23
0
0
-1
0
0
0
0
0
0
0
0
0
4
-2
39
125
7
-8
0
1
8
0
0
0
0
0
0
0
0
39
-18
-8
-25
0
2
0
-56
-10
0
0
0
0
0
0
0
-29
-1
84
-67
-37
2
-48
-4
0
-2
0
0
0
0
0
0
0
1
16
-4
21
44
-71
17
0
-4
-24
0
0
0
0
0
0
0
-8
-2
-78
0
-2
2
6
10
1
0
0
0
0
0
0
0
0
0
4
-26
27
0
16
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
-15
20
-14
37
-11
-2
0
0
0
0
0
0
0
0
0
0
96
1
-1
43
117
-58
0
0
0
0
0
0
0
0
0
0
-29
0
60
14
20
-6
9
0
23
-81
5
0
0
0
0
0
0
0
40
-17
5
-10
-52
-24
8
10
-16
-24
0
0
0
0
0
0
-18
20
104
21
-24
-45
-17
-114
-159
0
0
0
0
0
0
0
0
0
-3
-65
94
12
38
11
34
-12
8
0
0
0
0
0
0
0
-31
33
18
13
24
5
7
11
20
0
0
0
0
0
0
0
0
0
-125
-6
-48
-50
0
0
-3
0
0
0
0
0
0
0
0
0
-6
0
-68
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
61
-6
4
27
-7
0
0
0
0
0
0
0
0
0
0
32
-24
210
-9
8
25
0
0
0
0
0
0
0
0
0
0
1
0
81
26
-3
4
21
0
10
-70
-4
0
0
0
0
0
0
3
-12
16
17
-82
-3
-12
22
93
-156
-19
0
0
0
0
0
0
3
18
184
135
29
33
-64
115
47
-67
0
0
0
0
0
0
0
0
-121
121
62
67
-109
18
2
-45
7
0
0
0
0
0
0
0
-3
18
85
-68
13
-40
4
72
45
-49
-1
0
0
0
0
0
0
0
-3
-33
93
43
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
27
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-18
48
60
27
71
8
0
0
0
0
0
0
0
0
0
6
11
-9
12
46
-77
22
0
-1
0
0
0
0
0
0
0
0
-12
-1
60
-16
40
26
19
2
12
-86
-4
0
0
0
0
0
0
-4
-9
16
39
7
54
-44
-63
4
-29
2
0
0
0
0
0
0
42
61
108
37
78
-41
-34
0
-68
-26
-34
0
0
0
0
0
0
32
30
74
-10
17
-19
25
0
-97
39
-3
0
0
0
0
0
0
17
-17
14
58
11
27
76
-7
-50
6
0
0
0
0
0
0
0
0
70
-42
150
11
-16
-2
0
0
1
0
0
0
0
0
0
0
6
-21
48
-16
28
93
0
0
-15
0
0
0
0
0
0
0
0
0
-21
32
31
-6
13
32
-25
0
-2
0
0
0
0
0
0
0
0
-86
89
72
102
-96
-69
0
-1
0
3
0
0
0
0
0
0
22
-5
-5
157
-18
-75
136
48
6
19
-7
0
0
0
0
0
0
0
37
-61
-46
11
62
97
1
-2
-33
-7
0
0
0
0
0
0
-21
65
-55
77
52
166
47
-42
4
104
0
0
0
0
0
0
0
0
-27
97
54
17
-16
-59
-58
2
97
0
0
0
0
0
0
0
-1
-145
-82
-3
-84
118
35
66
7
-7
3
0
0
0
0
0
0
0
21
-31
-48
-42
-5
3
3
0
-2
0
0
0
0
0
0
0
0
4
21
49
63
6
0
-18
0
0
0
0
0
0
0
0
0
0
0
-28
-40
26
-11
60
-33
0
0
9
0
0
0
0
0
0
0
-8
-27
98
-102
71
130
0
0
0
77
0
0
0
0
0
0
0
-37
70
99
46
7
35
20
-58
15
-121
0
0
0
0
0
0
0
-23
115
42
83
38
-45
80
7
-4
-98
0
0
0
0
0
0
0
-7
-69
56
14
21
17
76
-124
59
13
0
0
0
0
0
0
0
65
-54
11
74
-11
21
15
-44
-4
-8
0
0
0
0
0
0
0
-18
-61
3
-17
147
16
-7
33
3
4
0
0
0
0
0
0
0
0
67
-18
20
-4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-101
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-21
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-65
42
10
0
0
0
0
-7
0
0
0
0
0
0
0
-7
2
72
42
-45
62
4
23
-13
-5
0
0
0
0
0
0
0
-1
-28
11
-34
47
-83
5
-15
-5
-8
0
0
0
0
0
0
0
22
8
-37
-50
-6
-20
-27
9
0
-2
0
0
0
0
0
0
0
-11
117
60
16
6
22
-17
-2
-5
0
0
0
0
0
0
0
0
-1
24
85
28
17
-12
0
0
-3
4
0
0
0
0
0
0
0
0
0
22
-13
2
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
-2
0
0
0
0
-11
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
-13
0
7
-4
0
5
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
-1
-7
-29
37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
15
-1
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
17
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
-17
0
-25
0
0
0
0
0
0
0
0
0
0
0
-8
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-1
0
11
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
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
-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
1
-5
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
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
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
-39
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-21
8
3
24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
16
-3
-7
-8
0
0
0
0
0
0
0
0
0
0
5
0
-14
-3
4
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
9
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
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-23
3
9
5
0
0
5
-3
0
0
0
0
0
0
0
0
-23
0
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
13
5
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-10
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
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
47
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-109
0
-51
0
7
0
0
0
0
0
0
0
0
0
0
0
-7
0
-105
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
118
1
-68
60
0
-13
0
0
0
0
0
0
0
0
26
0
51
0
28
-18
-85
0
0
0
0
0
0
0
0
0
0
0
17
-3
2
-23
12
-63
0
-44
0
0
0
0
0
0
0
0
2
-3
-47
8
-44
62
0
0
-74
0
0
0
0
0
0
0
0
0
39
0
7
0
-1
76
0
-7
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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
50
0
32
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
1
23
0
0
0
-62
0
0
0
0
0
0
0
0
0
5
15
85
-10
-83
-6
0
-12
0
0
0
0
0
0
0
0
32
-11
-74
26
8
14
-4
0
-8
0
0
0
0
0
0
0
0
-1
-26
-34
63
-5
269
1
0
0
0
0
0
0
0
0
0
0
-13
-4
25
-9
-51
-50
0
0
-35
0
0
0
0
0
0
0
0
-17
-4
0
113
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
13
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
1
0
-1
0
-11
0
3
0
-16
0
0
0
0
0
0
0
0
0
23
0
32
-2
-7
0
2
-49
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
-19
27
10
16
13
16
0
0
12
0
0
0
0
0
0
0
0
-1
0
4
10
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-11
-7
-29
0
0
0
0
0
0
0
0
0
0
2
14
1
59
3
24
-117
39
0
0
0
0
0
0
0
0
-10
0
0
8
13
65
6
12
-1
0
0
0
0
0
0
0
0
53
0
0
-6
-7
0
-3
0
12
0
0
0
0
0
0
0
0
-7
0
0
9
-2
11
8
12
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
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
-1
0
-2
7
-25
-25
56
-38
0
10
0
0
0
0
0
0
0
0
4
25
-57
61
-103
-48
60
-23
-3
0
0
0
0
0
0
0
-4
-12
-10
-95
56
17
35
-25
65
27
0
0
0
0
0
0
0
0
-39
-8
-6
-11
-22
29
-28
3
6
0
0
0
0
0
0
0
0
-2
0
14
-32
-24
76
32
33
0
0
0
0
0
0
0
0
0
-11
0
-5
-1
8
16
29
86
-11
0
0
0
0
0
0
0
0
0
-2
0
-15
-6
96
7
-2
0
0
0
0
0
0
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
-3
0
-4
20
58
22
138
0
23
-4
0
0
0
0
0
0
0
69
33
1
-33
4
-44
19
-18
-38
2
0
0
0
0
0
0
0
-5
-7
8
-16
23
58
-2
153
-41
0
0
0
0
0
0
0
0
-2
-6
-9
46
24
11
37
17
14
-8
0
0
0
0
0
0
0
-56
0
0
16
0
-35
-108
3
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-27
3
21
-5
0
1
0
0
0
0
0
0
0
0
1
0
-8
-20
9
-37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
3
0
-17
71
0
1
1
0
0
0
0
0
0
28
0
0
1
-1
48
2
175
35
-28
-13
0
0
0
0
0
0
0
0
11
4
20
71
70
-142
49
84
0
0
0
0
0
0
0
1
0
0
22
-3
24
6
20
0
14
0
0
0
0
0
0
0
0
0
0
1
-16
38
0
20
-18
0
0
0
0
0
0
0
0
0
0
-3
0
-1
34
0
-19
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
29
18
-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
8
3
1
1
0
70
71
18
0
1
4
0
0
0
0
0
0
0
7
0
-1
-16
35
15
-26
-47
10
-7
0
0
0
0
0
0
-1
2
2
35
0
27
-54
151
35
4
1
-2
0
0
0
0
0
0
0
-8
16
15
127
2
-8
15
-11
0
0
0
0
0
0
0
0
-6
0
0
1
-19
13
3
2
-4
0
0
0
0
0
0
0
0
0
0
4
12
13
-26
-25
25
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
48
-8
35
16
-8
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
-5
-1
-18
26
9
0
47
8
0
8
0
0
0
0
0
0
0
-20
0
-2
62
-41
-197
6
93
67
-5
7
0
0
0
0
0
0
-25
38
0
48
-60
-28
-89
-8
-7
12
0
0
0
0
0
0
0
-14
34
5
0
-25
-3
54
23
-47
14
-2
0
0
0
0
0
0
11
0
-12
1
-50
-59
7
15
125
1
0
0
0
0
0
0
0
0
2
6
-10
19
22
-1
-32
57
-3
0
0
0
0
0
0
0
15
0
11
-1
43
13
-20
1
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-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
23
3
-9
95
16
0
24
0
-27
0
0
0
0
0
0
0
6
80
-4
99
-105
-19
37
55
62
-9
0
0
0
0
0
0
0
28
-60
-25
20
23
30
18
43
-47
-18
10
0
0
0
0
0
0
0
-10
31
12
58
71
91
68
63
33
0
0
0
0
0
0
0
0
0
6
-2
89
72
104
-43
140
38
-6
0
0
0
0
0
0
0
27
21
22
1
123
35
-126
-66
1
0
0
0
0
0
0
0
0
0
0
-26
-39
-3
20
-54
21
1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-52
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
36
0
58
-94
-79
-31
44
0
0
-21
9
-1
0
0
0
0
0
-6
70
58
38
34
115
22
8
60
15
-4
-8
0
0
0
0
0
26
20
27
-63
-23
71
40
62
16
0
-2
0
0
0
0
0
0
-35
-10
54
4
-65
-7
-140
-112
-77
29
-5
0
0
0
0
0
0
-17
25
-4
31
8
-27
43
-41
-109
1
-9
0
0
0
0
0
0
0
46
11
-2
57
125
-20
-23
33
-1
-2
0
0
0
0
0
0
0
0
0
-13
0
12
-3
3
-10
-1
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
-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
36
98
26
21
-27
-29
-39
0
0
20
0
0
0
0
0
0
0
117
46
-9
-85
-18
-6
63
-52
17
5
0
0
0
0
0
0
0
-12
17
-5
15
-52
30
57
-14
-7
1
0
0
0
0
0
0
0
-7
-32
-66
30
135
-19
-36
-6
38
2
2
0
0
0
0
0
0
68
6
16
19
-26
-99
-58
1
-20
1
0
0
0
0
0
0
0
87
0
-41
6
23
-3
-45
23
10
0
0
0
0
0
0
0
0
0
0
0
-27
101
10
-23
-19
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
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
13
0
0
35
19
3
0
9
0
-2
0
0
0
0
0
0
0
-22
32
-15
61
6
-77
19
-23
0
0
0
0
0
0
0
0
0
28
18
-6
3
-7
-32
-1
-29
1
1
0
0
0
0
0
0
0
41
-4
21
3
-58
-40
61
-2
13
0
0
0
0
0
0
0
0
-1
-1
0
66
10
-3
9
-13
10
-6
0
0
0
0
0
0
0
-9
-1
-7
-9
-8
24
-19
8
-1
0
0
0
0
0
0
0
0
0
0
0
3
-3
-21
-10
18
1
3
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
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
-1
-11
4
1
-5
-18
0
13
0
0
0
0
0
0
0
0
0
7
3
0
0
6
43
0
8
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
-4
-1
-11
4
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-92
38
-33
-62
0
0
0
0
0
0
0
0
0
14
3
-5
-51
-138
-10
39
17
-1
0
0
0
0
0
0
0
0
-18
0
0
12
65
-3
15
-21
-2
0
0
0
0
0
0
0
0
-5
-20
0
-14
8
-80
63
-42
-6
0
0
0
0
0
0
0
0
-10
0
0
8
2
-27
-13
0
55
0
0
0
0
0
0
0
0
-1
0
0
0
0
-27
-5
-11
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
-7
0
0
0
0
0
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
-53
-55
-73
98
-33
6
0
-2
0
0
0
0
0
0
0
40
6
15
-74
1
79
-3
143
38
-46
0
0
0
0
0
0
0
4
-38
32
91
1
11
-17
168
85
-33
0
0
0
0
0
0
0
15
-4
-3
3
-4
-73
-2
15
-41
-3
0
0
0
0
0
0
0
0
148
0
0
-37
123
49
53
-8
29
0
0
0
0
0
0
0
0
38
0
19
4
-14
124
17
53
-3
0
0
0
0
0
0
0
0
0
0
0
1
-1
34
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
-2
0
0
0
0
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
1
-13
-52
63
60
0
-45
-2
0
0
0
0
0
0
-2
-55
-22
-6
19
35
22
88
-9
88
1
0
0
0
0
0
0
0
-6
1
-47
-24
51
141
-69
-4
111
-2
0
0
0
0
0
0
0
-53
-6
58
-102
99
33
-28
34
-37
-3
0
0
0
0
0
0
0
-12
-5
23
78
-33
14
-57
-24
54
6
0
0
0
0
0
0
0
-5
1
0
-1
10
63
84
-14
60
0
0
0
0
0
0
0
0
0
1
0
-4
-4
40
16
91
-44
0
0
0
0
0
0
0
0
2
-4
0
0
0
54
6
45
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
-6
0
40
-23
63
91
-27
-9
0
41
-2
0
0
0
0
0
0
-60
5
5
-20
139
-55
119
74
-8
19
-25
-6
0
0
0
0
0
-3
7
10
-81
-48
45
-47
-40
1
22
-3
0
0
0
0
0
0
0
0
0
10
-81
140
91
-86
-31
-2
0
0
0
0
0
0
0
0
7
3
2
-24
-10
32
1
57
-13
14
0
0
0
0
0
0
0
0
0
-6
-3
-37
-38
9
11
4
42
0
0
0
0
0
0
0
0
0
0
-2
-6
21
-3
-7
-6
4
0
0
0
0
0
0
0
0
0
0
0
9
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
-50
17
9
51
-17
-12
-78
59
0
42
2
10
0
0
0
0
0
8
-47
-9
14
33
19
-73
29
-51
5
10
0
0
0
0
0
0
10
18
-10
-93
-1
-4
100
-29
-65
-75
1
0
0
0
0
0
0
4
-9
23
74
10
55
25
82
31
1
-1
0
0
0
0
0
0
-1
-23
-10
-54
-56
-21
-48
-49
-115
-8
5
11
0
0
0
0
0
1
0
-1
39
12
99
-13
87
34
-10
4
-9
0
0
0
0
0
0
0
0
7
-2
7
-246
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
56
0
-1
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
64
-7
10
-3
28
37
0
-11
0
2
0
0
0
0
0
133
73
-17
28
99
-50
-102
5
53
19
-22
0
0
0
0
0
0
72
27
-14
81
10
-35
48
139
-55
-33
-2
-1
0
0
0
0
0
91
-43
-3
-13
-51
72
-62
41
86
-3
0
0
0
0
0
0
0
-8
73
44
-110
-38
66
62
73
82
-7
2
0
0
0
0
0
0
-2
-9
5
56
-11
-58
-18
47
-28
14
0
0
0
0
0
0
0
0
-8
0
0
-55
8
-20
-49
68
11
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
49
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
77
-30
-11
126
31
69
14
-40
0
-5
-6
-6
0
0
0
0
0
16
-12
104
36
105
15
-68
-15
61
-7
-10
0
0
0
0
0
0
117
-12
-12
30
-22
32
128
58
-14
-100
-1
0
0
0
0
0
0
-12
-74
-62
49
-44
113
-68
34
20
-95
0
0
0
0
0
0
0
-12
19
101
-6
-82
15
-48
120
-9
4
-17
0
0
0
0
0
0
4
-15
9
26
26
56
37
69
-76
-81
0
0
0
0
0
0
0
0
-3
-2
10
11
1
-14
-38
-17
-17
-1
0
0
0
0
0
0
0
-2
0
0
0
-27
7
-81
24
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
108
-103
14
39
110
-10
-79
204
0
46
3
-5
0
0
0
0
0
7
106
-64
-76
82
40
23
106
62
-40
-7
0
0
0
0
0
0
43
143
-48
-48
-6
81
-1
37
40
96
7
-1
0
0
0
0
0
-111
116
120
-10
85
97
-25
-39
65
5
-36
0
0
0
0
0
0
83
-2
1
-13
-31
17
30
14
39
-19
-13
0
0
0
0
0
0
-7
-40
-7
120
43
-2
119
-6
92
-17
-19
0
0
0
0
0
0
-29
-15
0
7
-63
-7
54
58
25
17
0
0
0
0
0
0
0
0
0
0
0
0
18
-13
9
-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
-28
41
-11
-11
-96
55
9
15
0
-81
3
-10
0
0
0
0
0
98
-9
25
-60
-66
20
62
28
2
-51
7
0
0
0
0
0
0
35
55
-59
-73
28
48
44
-17
33
67
20
1
0
0
0
0
0
15
19
-42
136
68
78
106
50
13
-34
17
0
0
0
0
0
0
4
-19
183
34
-28
25
60
-80
-80
12
-2
0
0
0
0
0
0
37
26
89
-48
-65
-20
-58
32
-6
-3
2
0
0
0
0
0
0
41
4
11
22
15
12
-105
-66
-57
50
0
0
0
0
0
0
0
0
-24
-35
0
-4
17
-67
119
-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
-72
42
0
4
-41
35
-25
0
93
4
0
0
0
0
0
0
0
194
-26
44
107
47
-5
2
13
14
77
5
0
0
0
0
0
0
80
1
-177
27
38
-59
81
-16
-1
-26
1
0
0
0
0
0
0
-30
-62
-83
39
43
-67
-55
147
66
-7
-1
0
0
0
0
0
0
118
-77
-21
83
-11
46
20
-2
14
28
0
0
0
0
0
0
0
35
29
-50
7
28
81
6
-83
11
47
0
0
0
0
0
0
0
41
42
-43
-78
-4
-45
12
-15
57
0
0
0
0
0
0
0
0
0
0
-28
-1
-4
-21
2
-38
10
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
20
-7
75
16
-44
0
24
-5
-3
0
0
0
0
0
0
0
-2
46
-15
-8
-67
20
-34
-2
50
2
0
0
0
0
0
0
0
-5
-7
49
7
92
49
-2
-83
4
3
0
0
0
0
0
0
0
51
16
-5
95
90
48
40
29
-21
-1
0
0
0
0
0
0
0
40
12
-11
-31
2
32
28
85
1
0
0
0
0
0
0
0
0
-4
6
-56
-14
-4
28
-20
25
-6
-16
0
0
0
0
0
0
0
0
5
4
0
-44
6
-5
-39
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-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
9
0
-12
-3
0
-11
-2
0
0
0
0
0
0
0
0
0
-13
10
-3
-31
1
5
-19
-57
0
0
0
0
0
0
0
0
0
6
-7
-6
-8
15
47
14
-7
27
0
0
0
0
0
0
0
0
-22
-2
0
-12
0
0
24
-52
1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-32
68
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-20
0
52
14
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-10
-8
0
0
0
0
0
0
0
0
0
2
15
-9
61
60
-88
-111
11
-23
0
0
0
0
0
0
0
0
8
3
-6
65
7
11
40
-23
-10
0
0
0
0
0
0
0
0
0
9
5
-40
-25
-31
-10
0
7
0
0
0
0
0
0
0
0
-1
10
0
-14
29
26
-33
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
0
11
119
-71
-146
-77
0
26
0
0
0
0
0
0
0
71
77
2
13
53
37
-16
70
-17
-56
0
0
0
0
0
0
0
18
-19
-5
-38
-46
-66
-3
41
77
63
0
0
0
0
0
0
0
-3
13
16
-15
-7
-9
0
-49
-42
7
0
0
0
0
0
0
0
0
-46
35
0
29
69
25
-1
-39
2
0
0
0
0
0
0
0
0
-25
0
-6
-3
-77
-25
-89
16
-11
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-10
-5
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
38
-6
8
-21
-54
-66
0
42
30
0
0
0
0
0
0
0
-6
-3
132
-64
25
67
-75
88
-21
16
0
0
0
0
0
0
-14
-2
-7
40
-59
72
-54
-25
20
42
-11
0
0
0
0
0
0
0
5
-2
-6
5
57
-91
-9
19
47
-3
0
0
0
0
0
0
0
-53
53
-5
10
-41
5
3
61
14
-1
0
0
0
0
0
0
0
0
12
5
21
53
-27
-8
-24
27
3
0
0
0
0
0
0
0
0
0
0
0
0
21
58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
49
42
-41
-76
0
-71
-2
0
0
0
0
0
0
-2
3
38
-21
-22
119
28
-18
-49
-25
82
14
0
0
0
0
0
0
1
-4
-7
28
-26
29
-53
-86
-3
13
10
0
0
0
0
0
24
3
-2
-26
61
79
6
-97
9
16
0
0
0
0
0
0
0
0
0
-28
18
65
-38
-16
-21
44
0
-16
0
0
0
0
0
0
0
-8
-35
0
-10
4
21
-8
-2
7
3
1
0
0
0
0
0
0
0
0
0
3
0
106
-13
-14
0
-12
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
-4
0
2
0
0
0
0
0
0
0
0
11
-15
2
8
101
51
-117
-80
0
-52
-1
0
0
0
0
0
0
-39
91
-17
73
62
-80
-45
-76
88
14
4
0
0
0
0
0
0
-3
-59
18
123
-37
99
2
106
63
-1
-2
0
0
0
0
0
0
-5
53
-2
-6
-11
146
4
46
6
87
4
0
0
0
0
0
0
5
4
21
-34
40
40
-16
2
117
0
6
-3
0
0
0
0
0
-4
-10
-2
23
25
76
25
-44
24
32
0
0
0
0
0
0
0
-4
-2
-19
0
-2
0
47
35
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
13
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
21
-50
19
-42
-61
74
9
57
0
-41
0
0
0
0
0
0
0
86
71
23
56
32
102
50
19
106
23
15
0
0
0
0
0
0
-10
-12
48
127
90
-10
31
71
-84
-50
-4
0
0
0
0
0
0
21
27
-43
-11
54
66
-17
70
63
80
0
0
0
0
0
0
0
47
-61
-19
-15
128
20
14
73
75
6
0
0
0
0
0
0
0
-40
49
-17
10
-86
16
54
90
-40
25
0
0
0
0
0
0
0
9
6
11
0
-21
-48
40
-56
-85
1
0
0
0
0
0
0
0
0
0
0
0
0
-39
2
-54
39
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
-38
-47
-32
82
72
120
-3
-109
0
-94
-3
0
0
0
0
0
0
75
13
-55
45
-21
1
79
120
44
111
0
0
0
0
0
0
0
-8
61
93
19
50
146
85
-20
32
6
0
0
0
0
0
0
0
-12
-36
65
-59
57
35
-23
112
34
87
0
0
0
0
0
0
0
-29
6
-51
-38
-24
22
50
31
107
-57
-1
0
0
0
0
0
0
-3
-104
-33
66
-27
73
-27
62
13
34
0
0
0
0
0
0
0
2
0
50
5
10
-39
-5
26
-15
2
0
0
0
0
0
0
0
0
0
0
-1
0
13
-10
-54
7
51
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
1
0
0
0
0
0
0
0
0
94
-51
51
66
104
29
-91
32
0
-13
-17
-21
0
0
0
0
0
44
4
4
76
38
-7
-93
-108
60
-32
16
0
0
0
0
0
0
93
-46
17
-35
1
54
14
-45
40
-34
28
0
0
0
0
0
0
2
-67
44
73
35
10
64
-88
68
-6
5
0
0
0
0
0
0
-46
-110
-23
44
7
-176
39
120
-15
-58
-33
0
0
0
0
0
0
-23
42
18
36
-5
-21
-52
127
-53
47
2
0
0
0
0
0
0
-7
28
-2
-12
49
32
11
-45
89
-5
0
0
0
0
0
0
0
-1
1
-1
-32
12
38
34
140
8
-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
-20
68
55
5
12
-15
-34
-30
0
-62
9
0
0
0
0
0
0
78
-3
18
-60
-108
29
-35
35
-82
66
125
0
0
0
0
0
0
-105
115
-46
30
97
42
16
-102
-120
-35
-5
8
0
0
0
0
0
60
6
-23
21
-68
-22
25
-66
89
-31
-2
0
0
0
0
0
0
15
53
-21
-66
40
96
24
-101
-41
56
3
0
0
0
0
0
0
3
-15
-48
83
132
244
11
-19
-31
49
0
0
0
0
0
0
0
-3
23
4
16
4
16
12
-7
62
119
0
0
0
0
0
0
0
0
40
-1
10
-2
2
-36
-46
-52
45
0
0
0
0
0
0
0
0
0
1
0
25
0
-6
0
0
0
0
0
0
0
0
0
0
0
121
-101
-38
-89
76
-6
-156
0
-47
87
32
0
0
0
0
0
0
12
17
-21
42
33
-94
34
-31
-59
-48
-2
0
0
0
0
0
0
32
-71
17
11
-107
42
-3
-37
-52
3
-1
0
0
0
0
0
0
56
20
79
-127
37
3
107
-42
32
19
0
0
0
0
0
0
0
37
157
-155
-57
-2
-30
45
-27
39
67
-2
0
0
0
0
0
0
38
68
-32
-6
8
86
-26
89
-89
85
0
0
0
0
0
0
0
28
1
7
22
29
15
111
60
47
0
0
0
0
0
0
0
0
0
-11
-3
0
-21
-58
-71
1
-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
0
-46
5
-24
16
-38
-18
0
69
-50
1
0
0
0
0
0
0
0
-61
-68
118
-10
-68
-49
-5
-32
25
5
0
0
0
0
0
0
0
-31
25
-6
-47
31
18
-21
-27
3
-2
0
0
0
0
0
0
0
1
21
-35
17
-44
8
-70
53
-73
0
0
0
0
0
0
0
0
7
13
-9
41
-5
-46
1
34
47
6
0
0
0
0
0
0
0
-3
-35
9
9
-12
15
81
25
-8
-2
0
0
0
0
0
0
0
0
0
0
5
23
7
6
28
-10
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
1
0
-1
12
2
0
0
2
3
0
0
0
0
0
0
0
0
-7
0
-2
25
-15
7
0
-50
32
0
0
0
0
0
0
0
0
8
0
-15
29
35
-112
-34
12
0
1
0
0
0
0
0
0
0
-22
-2
0
-2
0
-41
8
9
-8
0
0
0
0
0
0
0
0
0
0
0
4
2
2
1
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
22
0
9
0
0
0
0
0
0
0
0
0
-70
0
0
-4
14
16
-80
-11
13
0
0
0
0
0
0
0
0
31
10
0
23
-14
59
15
42
51
0
0
0
0
0
0
0
0
0
14
0
32
44
40
-14
42
-24
0
0
0
0
0
0
0
0
-10
-1
0
0
97
16
-11
11
0
0
0
0
0
0
0
0
0
0
0
12
47
-4
-21
1
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
12
-8
-57
143
-67
0
-50
0
0
0
0
0
0
0
0
15
0
13
124
-11
-22
-81
-6
-3
0
0
0
0
0
0
0
23
-89
113
20
-36
-41
58
-69
-34
19
0
0
0
0
0
0
0
-1
0
52
-10
63
64
-26
-113
-91
-52
0
0
0
0
0
0
0
0
-62
25
-3
-7
1
-45
135
121
60
0
0
0
0
0
0
0
0
23
0
-5
-23
-55
-31
-71
-20
-23
0
0
0
0
0
0
0
0
8
4
4
-41
-2
-52
31
9
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-10
-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
-16
0
-17
6
-85
5
0
-108
-13
0
0
0
0
0
0
0
27
11
0
-51
-55
61
-42
9
106
12
0
0
0
0
0
0
0
34
0
-7
28
-15
-101
211
-53
65
2
0
0
0
0
0
0
0
2
-3
-20
20
96
16
-36
-13
-11
-3
0
0
0
0
0
0
0
0
-7
-55
45
-56
-1
-64
-48
-10
-5
0
0
0
0
0
0
0
-3
-31
0
15
-7
10
12
-32
62
1
0
0
0
0
0
0
0
0
0
0
-8
0
-42
-3
42
11
0
0
0
0
0
0
0
0
0
0
0
-2
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
-9
0
9
-169
-7
-44
0
7
10
0
0
0
0
0
0
-6
3
3
-33
-72
-62
-65
-109
-2
9
-5
3
0
0
0
0
0
1
0
-11
29
91
50
45
79
-9
-29
-65
0
0
0
0
0
0
6
16
-26
7
88
-29
-10
-99
-18
-4
-3
0
0
0
0
0
0
7
-7
1
0
-91
-10
92
-126
-14
1
0
0
0
0
0
0
0
0
0
-5
4
-13
87
-6
114
-10
14
0
0
0
0
0
0
0
0
-7
-3
12
-3
-9
4
0
26
-10
1
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
20
0
0
-25
40
-36
-157
5
0
10
0
0
0
0
0
0
0
115
-50
110
-89
35
93
-70
35
38
64
-1
-1
0
0
0
0
0
20
-22
6
-4
-71
-88
-108
61
29
-44
13
0
0
0
0
0
0
-8
-8
-5
47
7
65
-41
51
23
5
0
0
0
0
0
0
0
2
-20
-2
28
-1
39
-28
18
176
-1
0
0
0
0
0
0
0
7
0
116
59
47
43
22
-23
19
-3
1
0
0
0
0
0
0
-14
0
0
0
-24
-3
43
6
27
1
0
0
0
0
0
0
0
0
-5
0
-18
0
-7
18
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
0
-14
0
0
0
0
0
0
0
0
0
-10
87
-42
9
-10
112
20
20
0
43
0
0
0
0
0
0
0
-129
-14
-114
135
89
-16
-105
85
148
-50
-9
-1
0
0
0
0
0
-52
-91
41
-44
-51
28
125
-93
72
15
0
4
0
0
0
0
0
85
77
70
-20
-28
-35
22
49
24
-17
-4
0
0
0
0
0
0
3
-15
59
43
-40
-23
33
95
-64
-1
0
0
0
0
0
0
0
8
-32
-28
10
22
29
-27
15
60
-38
18
0
0
0
0
0
0
-11
-20
-10
-6
-17
-39
156
43
75
-10
10
0
0
0
0
0
0
0
0
0
1
4
38
66
8
-37
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
13
12
48
62
32
-17
-70
-67
0
6
-5
4
0
0
0
0
0
2
41
-64
-73
59
-35
137
108
-105
54
10
0
0
0
0
0
0
-9
-53
117
-15
-13
38
100
4
21
-6
6
0
0
0
0
0
0
-20
4
-60
-96
37
-42
-25
83
-31
-55
3
0
0
0
0
0
0
14
-117
51
-40
48
-68
-22
36
8
76
-20
0
0
0
0
0
0
50
39
28
224
20
-57
37
15
19
23
5
0
0
0
0
0
0
15
3
-18
-28
16
57
56
-54
82
-2
0
0
0
0
0
0
0
0
3
2
-8
4
-10
-50
-50
29
-8
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
54
51
-71
146
281
18
-77
-43
0
103
0
-3
0
0
0
0
0
-17
95
66
-25
81
-50
-45
17
-110
-35
36
0
0
0
0
0
0
76
1
-95
-35
116
-39
43
-104
97
24
-11
0
0
0
0
0
0
-31
-144
124
-17
75
156
48
3
-71
-52
14
0
0
0
0
0
0
51
17
-42
-49
-12
140
49
-42
84
61
3
0
0
0
0
0
0
15
34
-22
27
16
-4
95
71
90
4
-6
-4
0
0
0
0
0
15
22
31
88
92
35
68
55
81
16
9
0
0
0
0
0
0
0
14
3
10
0
79
58
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-14
0
9
0
8
0
0
0
0
0
0
0
0
70
-78
-2
20
41
108
-41
-124
0
-49
2
0
0
0
0
0
0
117
33
-10
122
34
-15
19
-25
-69
28
-25
6
0
0
0
0
0
-116
13
12
-17
-1
102
-4
-177
-27
-76
-39
1
0
0
0
0
0
-62
7
-29
-14
-59
51
8
-31
-31
-7
5
0
0
0
0
0
0
-26
-153
-26
45
111
118
-4
55
19
7
2
3
0
0
0
0
0
41
3
-20
-9
26
-26
-56
-44
107
-38
-6
-1
0
0
0
0
0
22
-12
-65
-22
-32
63
41
-40
-99
102
0
0
0
0
0
0
0
0
-15
18
-17
-13
1
-25
85
-34
-19
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
5
3
0
0
0
0
0
0
0
0
0
-41
-69
0
13
-7
61
17
0
-31
37
1
0
0
0
0
0
0
-31
27
-11
-22
-36
50
-24
7
13
-42
0
0
0
0
0
0
0
27
5
-11
-2
34
-6
20
52
14
36
0
0
0
0
0
0
0
57
64
-82
108
64
-49
67
-55
-9
18
0
0
0
0
0
0
0
2
53
-3
47
32
-62
94
1
-97
-10
0
0
0
0
0
0
0
94
6
-32
25
97
-3
131
-103
-14
-6
0
0
0
0
0
0
0
-7
63
44
87
-110
40
43
62
32
0
0
0
0
0
0
0
0
0
3
2
29
35
63
-39
4
7
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
0
83
9
-2
-70
29
23
0
11
1
-12
0
0
0
0
0
0
0
17
16
-1
-52
81
-22
11
-52
-13
3
0
0
0
0
0
0
0
-18
10
-3
63
23
14
15
-8
-25
-3
0
0
0
0
0
0
0
10
21
36
-21
60
127
141
12
57
0
0
0
0
0
0
0
0
57
-1
-2
42
11
-80
-14
60
11
0
0
0
0
0
0
0
0
-1
0
3
10
-15
60
135
43
-25
8
0
0
0
0
0
0
0
0
0
0
-3
0
18
-55
22
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
1
0
0
-1
-2
0
4
0
0
0
0
0
0
0
0
0
0
-1
12
0
2
-14
-5
8
2
-32
0
0
0
0
0
0
0
0
-6
0
-4
7
0
0
22
2
4
0
0
0
0
0
0
0
0
12
8
0
-1
-1
-6
3
44
0
0
0
0
0
0
0
0
0
2
0
1
-6
12
0
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
8
-20
0
0
0
0
0
0
0
0
0
0
6
8
1
-7
45
150
115
-52
0
0
0
0
0
0
0
0
-18
0
0
-24
8
-70
51
70
-15
0
0
0
0
0
0
0
0
-10
0
0
60
42
77
31
20
4
0
0
0
0
0
0
0
0
0
0
0
-32
57
21
12
5
17
0
0
0
0
0
0
0
0
8
0
10
21
-10
53
47
-5
0
0
0
0
0
0
0
0
0
0
0
19
-3
-18
0
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
7
-15
-4
19
75
-7
-119
0
61
0
0
0
0
0
0
0
0
-57
-2
-23
79
-97
-19
-42
112
93
0
0
0
0
0
0
0
-1
-19
3
57
-4
-54
27
17
-1
17
0
0
0
0
0
0
0
0
23
-16
60
5
19
17
-26
-47
-50
0
0
0
0
0
0
0
24
0
14
-19
-8
2
122
39
-3
-41
0
0
0
0
0
0
0
0
-5
86
19
56
-67
51
90
-109
1
0
0
0
0
0
0
0
0
-4
0
4
-131
-54
33
-15
-22
-7
0
0
0
0
0
0
0
0
0
0
1
0
-24
63
16
8
-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
37
8
-42
0
12
22
0
0
0
0
0
0
0
22
22
9
10
27
56
20
-93
-27
51
0
0
0
0
0
0
0
25
26
0
-38
-43
-50
-29
-53
25
9
0
0
0
0
0
0
0
-9
4
-9
-66
73
51
-17
70
-68
50
0
0
0
0
0
0
0
8
0
5
9
-65
86
5
-14
3
0
0
0
0
0
0
0
0
0
-4
83
18
86
-45
109
42
42
-1
0
0
0
0
0
0
0
1
0
0
-20
4
-7
119
-6
11
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
0
-9
0
0
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
-8
45
166
-104
13
0
56
-13
0
0
0
0
0
0
-8
3
24
33
-44
-98
-121
3
-37
-63
-26
0
0
0
0
0
0
6
25
109
15
-59
-15
-12
41
-6
-27
-13
-4
0
0
0
0
0
1
0
-3
57
-14
68
-116
-44
109
11
0
0
0
0
0
0
0
45
-7
15
0
-3
48
-44
-10
-21
9
0
0
0
0
0
0
0
0
4
0
-21
67
-44
33
56
6
-14
0
0
0
0
0
0
0
-5
0
0
8
-3
7
56
17
19
0
-1
0
0
0
0
0
0
0
0
0
17
0
9
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
42
-6
-2
-16
-66
-118
-35
10
0
72
0
0
0
0
0
0
0
35
45
35
52
-115
70
29
18
46
-17
0
0
0
0
0
0
0
6
-9
-39
-8
160
-12
103
20
6
-107
0
0
0
0
0
0
0
-1
-16
1
27
93
34
-56
7
35
7
9
0
0
0
0
0
0
-5
64
23
92
0
-68
-65
-74
22
62
-10
0
0
0
0
0
0
1
-12
-58
1
-64
-72
84
-19
-81
60
0
0
0
0
0
0
0
8
5
-5
-1
-15
48
12
67
-40
0
0
0
0
0
0
0
0
0
-5
0
-8
0
20
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
9
6
0
0
0
0
0
0
0
0
17
-2
-58
10
-13
88
29
-89
0
79
5
0
0
0
0
0
0
-72
-71
-6
45
-49
66
-51
12
-15
2
2
0
0
0
0
0
0
-57
-13
-11
15
64
155
2
78
132
116
3
0
0
0
0
0
0
-1
-14
19
64
-48
-71
21
91
-176
-76
0
0
0
0
0
0
0
75
-55
-14
57
-38
0
57
-68
-29
-23
-8
0
0
0
0
0
0
28
-29
70
114
-5
9
-32
-88
172
17
0
0
0
0
0
0
0
3
5
-15
40
115
35
26
56
36
0
16
0
0
0
0
0
0
0
0
-2
13
0
-17
74
27
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
41
25
0
0
0
0
0
0
0
0
0
-13
53
-35
-24
61
1
30
100
0
28
-6
0
0
0
0
0
0
7
-14
106
56
125
79
41
-44
28
10
6
0
0
0
0
0
0
10
100
-8
-75
-104
44
46
87
26
-38
-9
0
0
0
0
0
0
-41
-22
20
16
17
-72
-14
7
-44
-3
22
0
0
0
0
0
0
-20
-124
39
13
65
9
0
-40
136
15
1
0
0
0
0
0
0
0
-31
87
16
77
-5
-18
82
70
24
0
0
0
0
0
0
0
1
39
-9
149
11
-54
34
-21
94
17
-5
0
0
0
0
0
0
0
0
-4
1
0
66
-43
15
27
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
85
0
21
0
0
0
0
0
0
0
13
-9
-6
98
66
3
-27
9
0
47
-12
0
0
0
0
0
0
18
-44
-85
3
125
-77
-54
-70
51
2
35
0
0
0
0
0
0
72
-96
-131
-5
85
126
23
60
-33
16
18
0
0
0
0
0
0
-193
31
-88
78
-13
140
70
6
67
88
2
8
0
0
0
0
0
-57
-40
-62
-26
102
94
37
0
23
-80
50
0
0
0
0
0
0
-2
-75
-10
65
-3
-40
-83
-162
32
9
-6
0
0
0
0
0
0
-18
12
-28
-50
76
-27
58
76
5
5
3
0
0
0
0
0
0
0
1
50
-5
-1
-50
-25
4
14
29
0
0
0
0
0
0
0
0
0
0
0
18
0
15
-5
-8
0
0
0
0
0
0
0
0
-32
70
-55
-216
122
-23
50
52
0
-5
3
-1
0
0
0
0
0
60
95
2
7
28
46
-65
-82
-48
26
-20
-11
0
0
0
0
0
7
5
-132
-50
91
-65
-16
16
-41
52
0
-12
0
0
0
0
0
59
42
-23
90
3
-31
53
18
-99
242
62
0
0
0
0
0
0
-2
4
-51
64
-53
-43
34
-26
0
-2
0
0
0
0
0
0
0
13
55
5
-28
56
-15
-79
-21
-13
81
-6
0
0
0
0
0
0
87
-1
39
15
55
7
17
31
-31
-22
7
0
0
0
0
0
0
0
-2
65
22
24
20
97
56
-64
44
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
8
-10
0
0
0
0
0
0
0
0
0
75
-21
-19
21
-57
-10
-40
0
34
-15
-1
0
0
0
0
0
0
4
-9
4
-46
-56
-34
-69
-67
-95
13
3
0
0
0
0
0
0
-103
30
75
14
-34
-82
65
-130
-36
12
0
0
0
0
0
0
0
-61
56
-12
16
56
2
4
15
-165
13
2
0
0
0
0
0
0
80
14
44
-20
98
68
41
14
0
-5
0
0
0
0
0
0
0
16
39
41
92
90
61
176
96
11
4
0
0
0
0
0
0
0
58
-45
4
-23
36
3
61
-48
-9
-5
0
0
0
0
0
0
0
-5
-3
0
-1
21
-69
-62
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
6
0
0
0
0
0
0
0
0
0
33
-6
0
34
-20
-26
0
27
8
9
0
0
0
0
0
0
0
-3
-22
-11
67
-60
45
-180
-42
-56
17
0
0
0
0
0
0
0
74
13
71
20
112
-45
-66
52
-77
-2
0
0
0
0
0
0
0
-21
7
0
36
-87
-96
8
42
-22
3
0
0
0
0
0
0
0
1
38
-1
54
68
96
-21
22
0
-10
0
0
0
0
0
0
0
-2
-9
5
0
-25
31
-30
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
1
-42
-38
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
73
0
0
0
0
0
0
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
-6
0
0
-27
-12
0
0
0
0
0
0
0
0
7
9
0
-16
-18
25
3
11
-29
0
0
0
0
0
0
0
0
5
0
12
-2
-10
10
51
4
35
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
10
7
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
13
-14
-10
0
0
0
0
0
0
0
0
0
0
-2
0
47
8
0
4
35
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
17
0
0
0
0
0
0
0
0
0
0
-6
-1
0
12
3
9
0
12
-21
0
0
0
0
0
0
0
0
-12
0
-2
3
-8
-6
65
11
-3
0
0
0
0
0
0
0
0
28
-18
12
-47
-6
45
4
-28
-2
0
0
0
0
0
0
0
0
15
0
-4
-10
102
2
130
5
-4
0
0
0
0
0
0
0
0
0
0
106
-53
17
-69
0
-4
25
0
0
0
0
0
0
0
0
-1
13
0
2
157
16
3
18
2
0
0
0
0
0
0
0
0
0
0
0
145
0
42
0
1
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
5
-15
2
-1
-3
-17
3
0
0
0
0
0
0
0
0
0
0
34
-1
2
9
-9
51
-52
18
-44
0
0
0
0
0
0
0
0
-1
12
24
6
-71
2
-40
-32
14
0
0
0
0
0
0
0
6
-12
-2
106
29
95
74
-101
-50
-122
0
0
0
0
0
0
0
0
134
-2
-5
69
46
108
18
-42
14
0
0
0
0
0
0
0
-4
0
-13
4
-46
20
-113
-79
-2
1
0
0
0
0
0
0
0
0
-16
1
-33
105
-14
-69
-71
-59
0
0
0
0
0
0
0
0
0
-6
0
0
1
-25
-24
-8
3
17
0
0
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
27
-7
217
-52
-10
0
78
2
0
0
0
0
0
0
0
-4
-3
3
-127
37
-50
27
-24
-21
-40
0
0
0
0
0
0
0
46
-5
6
52
-94
-14
11
1
18
-16
0
0
0
0
0
0
0
40
-3
32
35
-103
-73
-66
71
-84
-13
0
0
0
0
0
0
0
-4
12
1
2
-103
66
-43
48
-5
0
0
0
0
0
0
0
0
-7
0
1
-91
66
-14
-8
-99
13
0
0
0
0
0
0
0
0
-13
0
0
-20
36
55
-13
71
6
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
0
0
0
-5
0
0
0
0
0
0
0
0
0
9
-4
0
9
8
-11
146
45
0
9
-1
0
0
0
0
0
0
37
-5
-4
-41
31
59
-76
-1
7
24
53
0
0
0
0
0
0
1
0
0
20
-50
40
6
-65
-32
27
16
0
0
0
0
0
0
4
0
-4
18
95
79
-39
-36
2
-7
0
0
0
0
0
0
0
-3
0
13
-103
43
24
-20
36
-32
0
0
0
0
0
0
0
0
5
0
3
0
14
11
21
-1
5
8
0
0
0
0
0
0
0
-4
-5
0
9
1
13
-72
37
-18
0
0
0
0
0
0
0
0
0
0
0
5
0
-11
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
50
-13
89
1
89
71
112
-33
0
-64
0
0
0
0
0
0
0
-14
-32
-17
43
-100
-20
153
24
-46
-21
3
0
0
0
0
0
0
-6
-73
-5
-26
-248
14
30
19
61
16
0
0
0
0
0
0
0
0
8
-24
-42
-110
76
5
71
-11
-96
0
0
0
0
0
0
0
12
-31
-94
-21
-4
-4
86
-69
-16
9
0
0
0
0
0
0
0
27
29
13
-14
0
-92
55
-9
-27
20
4
0
0
0
0
0
0
7
-3
3
0
-6
51
-13
48
107
0
0
0
0
0
0
0
0
0
0
0
-9
0
-43
2
116
23
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-4
0
0
0
0
0
0
0
0
0
-11
-15
-86
-35
0
-29
-76
41
0
68
0
0
0
0
0
0
0
-18
-85
-82
126
96
-6
-28
6
90
-18
35
0
0
0
0
0
0
7
43
23
-69
58
-20
22
27
10
38
-1
0
0
0
0
0
0
-11
-45
-1
22
-85
71
58
82
-73
-33
0
0
0
0
0
0
0
21
-45
18
-29
-15
81
46
17
-53
50
0
0
0
0
0
0
0
31
33
6
-13
-67
0
-41
5
18
100
-11
0
0
0
0
0
0
2
77
-9
-24
-47
-68
40
-23
164
-1
0
0
0
0
0
0
0
0
-1
0
-9
-1
-21
-3
-10
1
-10
0
0
0
0
0
0
0
0
0
0
0
16
0
-10
0
0
0
0
0
0
0
0
0
0
3
3
57
-69
-18
40
-3
-5
0
-19
12
0
0
0
0
0
0
3
-65
-37
8
-105
-60
-26
127
24
-1
29
-2
0
0
0
0
0
18
20
53
-73
-129
56
56
9
18
8
0
0
0
0
0
0
0
-8
56
42
-36
-105
17
134
58
3
-15
0
0
0
0
0
0
0
28
-106
103
66
43
-29
106
40
-63
-56
-6
0
0
0
0
0
0
49
68
5
70
141
11
0
95
24
30
0
0
0
0
0
0
0
-4
9
111
-77
95
-17
4
70
74
-14
0
0
0
0
0
0
0
0
-2
14
1
-19
-76
-8
65
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
31
7
0
0
0
0
0
0
0
0
0
87
6
-53
-105
105
-53
-21
-1
0
25
-8
0
0
0
0
0
0
103
-38
7
97
61
63
42
60
-44
-3
-80
0
0
0
0
0
0
100
65
-101
34
116
87
88
83
33
10
3
0
0
0
0
0
0
39
-32
80
11
32
14
81
16
-50
-11
-1
0
0
0
0
0
0
75
11
41
-94
46
50
13
-59
1
-6
0
0
0
0
0
0
0
-110
-51
146
-23
3
22
81
0
0
29
9
0
0
0
0
0
0
63
-20
88
-16
33
-16
35
-73
0
-51
-2
0
0
0
0
0
0
0
-5
-4
21
21
7
-22
-14
-3
-1
0
0
0
0
0
0
0
0
0
0
7
15
0
-14
0
5
0
0
0
0
0
0
0
0
7
38
-10
-20
61
-9
-11
-82
0
-154
-1
0
0
0
0
0
0
49
2
102
33
-115
20
-62
-75
-47
-30
-109
0
0
0
0
0
0
-4
58
44
-47
52
76
-77
41
5
-42
57
0
0
0
0
0
0
50
-91
-80
34
-52
-32
120
21
32
21
0
4
0
0
0
0
0
-3
16
-78
80
-71
-29
24
-15
22
78
-9
2
0
0
0
0
0
50
-85
19
-149
87
80
36
-27
0
63
6
0
0
0
0
0
0
113
67
52
230
62
20
10
-81
-56
2
9
1
0
0
0
0
0
0
-10
29
-3
-13
101
-14
133
-37
61
0
0
0
0
0
0
0
0
0
0
0
-7
0
-14
-8
7
2
0
0
0
0
0
0
0
0
-78
-58
-10
-88
-35
-26
-37
0
-10
-11
-4
0
0
0
0
0
0
-55
51
42
86
30
-50
-4
-27
37
-61
0
0
0
0
0
0
0
-53
47
23
-6
141
40
127
-163
-13
-33
0
0
0
0
0
0
0
33
76
51
11
105
-2
-84
-6
-5
-88
0
0
0
0
0
0
0
-17
100
-12
104
53
45
36
20
-69
34
0
0
0
0
0
0
0
47
-44
-31
6
37
20
90
-18
0
-41
0
0
0
0
0
0
0
-10
-32
-141
23
33
-96
15
28
-8
0
0
0
0
0
0
0
0
0
-2
-13
0
-39
-41
2
64
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
-12
42
26
-3
0
0
0
0
0
0
0
0
0
0
0
3
-4
42
58
0
-24
108
56
0
0
0
0
0
0
0
54
25
-21
88
-90
57
-40
-98
-25
-10
0
0
0
0
0
0
0
3
14
-2
32
-13
40
54
-3
-4
-74
0
0
0
0
0
0
0
-10
5
23
-24
111
19
-15
-15
52
-7
0
0
0
0
0
0
0
-3
-13
-18
55
40
14
-67
60
-6
6
0
0
0
0
0
0
0
-2
12
-1
-15
-10
-58
-13
-24
0
6
0
0
0
0
0
0
0
0
0
0
1
6
2
-29
-83
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
9
4
0
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
8
0
-26
0
3
-3
0
0
0
0
0
0
0
0
0
0
7
1
1
-3
-1
2
-28
52
0
0
0
0
0
0
0
0
-6
0
0
0
6
-1
8
60
-5
5
0
0
0
0
0
0
0
1
-4
0
4
3
8
6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
28
0
4
0
0
0
0
0
0
0
1
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-11
-6
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
-3
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
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
100
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
110
0
-6
0
0
0
0
0
0
0
0
2
0
0
16
-3
48
0
21
0
0
0
0
0
0
0
0
0
0
9
0
3
-70
-13
-20
9
0
0
0
0
0
0
0
0
0
0
0
-9
-60
0
102
0
5
0
0
0
0
0
0
0
0
0
0
21
0
0
-70
0
59
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
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
27
-1
-1
-4
-7
-10
0
1
0
0
0
0
0
0
0
0
3
0
-1
1
128
-41
-37
74
-42
0
0
0
0
0
0
0
0
53
0
0
51
-39
-56
32
113
29
0
0
0
0
0
0
0
0
19
0
-66
28
50
-31
68
-110
-27
0
0
0
0
0
0
0
-15
-8
-54
-39
-33
16
7
-6
-21
-2
0
0
0
0
0
0
0
2
0
14
-4
-83
-86
85
1
7
0
0
0
0
0
0
0
0
0
0
-4
17
16
-1
23
10
17
0
0
0
0
0
0
0
0
0
-22
0
11
-9
13
62
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-71
-13
0
-9
0
0
0
0
0
0
0
0
2
3
0
-9
-2
47
94
-41
53
-14
0
0
0
0
0
0
0
9
-7
-8
-3
-25
-92
52
13
-17
6
0
0
0
0
0
0
0
-10
12
1
26
29
-55
71
-24
-25
0
0
0
0
0
0
0
0
49
22
-13
-28
-162
65
45
-69
24
0
0
0
0
0
0
0
0
-8
0
-1
42
94
81
-92
6
-1
0
0
0
0
0
0
0
0
-4
0
0
8
26
-61
-7
5
0
0
0
0
0
0
0
0
0
0
-1
1
0
80
71
67
-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
1
-22
3
-21
0
1
0
0
0
0
0
0
0
20
0
-8
1
11
21
-2
-40
125
-17
-3
0
0
0
0
0
0
0
0
0
0
-4
4
39
22
26
-2
-4
0
0
0
0
0
0
25
0
0
4
14
-18
3
27
-9
-4
3
0
0
0
0
0
0
0
0
-19
-7
18
46
27
63
-35
-1
0
0
0
0
0
0
0
0
9
9
4
-2
39
-20
-52
4
0
0
0
0
0
0
0
0
2
0
0
0
20
23
56
20
62
-4
0
0
0
0
0
0
0
0
0
0
28
0
20
-12
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
0
0
0
5
-29
-27
-127
-49
0
33
0
0
0
0
0
0
0
0
93
0
36
-35
-89
-41
-86
26
-40
0
0
0
0
0
0
0
-1
71
8
62
-23
68
79
-62
49
-32
0
0
0
0
0
0
0
-4
-50
0
-9
33
-34
-53
-161
-57
-107
0
0
0
0
0
0
0
2
0
-7
29
22
-30
-23
-33
-129
1
0
0
0
0
0
0
0
0
-31
9
50
26
-33
44
22
-7
71
0
6
0
0
0
0
0
-7
35
-4
28
0
35
19
21
8
19
0
0
0
0
0
0
0
0
-10
0
-5
0
59
57
7
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
1
1
-4
-24
14
12
46
-13
0
-72
0
0
0
0
0
0
0
2
2
-17
-4
-29
-10
7
56
13
4
2
0
0
0
0
0
0
2
-27
0
67
-14
8
2
45
24
-26
-4
0
0
0
0
0
0
-46
63
29
-21
-43
92
57
51
11
-12
-2
0
0
0
0
0
0
13
-16
-20
19
79
35
-47
-6
58
-19
0
0
0
0
0
0
0
34
-11
33
-68
3
29
33
-86
45
3
11
0
0
0
0
0
0
2
54
-19
-1
-23
0
-11
-16
22
-6
0
0
0
0
0
0
0
0
-4
0
171
0
49
-4
-60
-17
1
0
0
0
0
0
0
0
0
0
0
0
32
0
12
8
0
0
0
0
0
0
0
0
0
4
-1
20
-21
1
-46
-18
82
0
-61
6
0
0
0
0
0
0
12
15
3
30
-91
57
-4
-36
-33
1
21
0
0
0
0
0
0
34
-1
-13
-31
34
40
28
-49
1
-32
-3
0
0
0
0
0
0
59
72
34
-63
14
-15
56
10
-44
97
2
0
0
0
0
0
0
2
172
-26
8
-30
41
83
29
8
-28
0
0
0
0
0
0
0
-1
57
44
52
45
44
1
9
-17
67
0
0
0
0
0
0
0
0
14
-13
27
85
-66
0
24
111
18
0
0
0
0
0
0
0
0
6
-4
-26
-11
-9
24
10
44
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
0
-35
-4
24
-58
-30
-69
9
93
0
-26
5
0
0
0
0
0
0
-181
-117
42
27
34
-58
19
3
-71
61
-65
0
0
0
0
0
0
5
48
-62
-26
-62
33
73
-10
-18
65
4
0
0
0
0
0
0
70
-88
20
-54
21
-27
0
78
-17
3
-36
0
0
0
0
0
0
42
-96
18
-9
64
-4
76
66
63
-53
10
0
0
0
0
0
0
-53
16
100
108
-65
-76
-33
20
-15
-61
-10
0
0
0
0
0
0
35
48
50
-13
58
-82
-124
0
34
16
6
0
0
0
0
0
0
0
-6
-25
-62
18
10
32
19
22
-8
0
0
0
0
0
0
0
0
0
0
0
7
0
19
-2
20
0
0
0
0
0
0
0
0
0
51
54
43
92
-12
-42
-55
0
-56
14
0
0
0
0
0
0
-1
114
-69
-63
64
40
-52
-16
-99
6
-6
0
0
0
0
0
0
11
90
88
29
14
-104
64
40
-7
7
5
16
0
0
0
0
0
-3
69
-10
51
29
125
38
5
186
54
-16
1
0
0
0
0
0
73
7
-2
-59
26
-23
75
-31
56
18
0
0
0
0
0
0
0
-1
-42
-90
92
-57
52
-60
43
-80
-7
-2
0
0
0
0
0
0
9
17
-62
-7
0
51
50
-79
0
43
0
3
0
0
0
0
0
0
29
14
-24
81
93
68
19
63
17
0
0
0
0
0
0
0
0
-10
0
0
1
-3
-7
77
0
5
0
0
0
0
0
0
0
0
28
-42
-80
54
-10
-13
-49
0
-24
16
0
0
0
0
0
0
0
-34
87
2
93
-58
24
-79
58
67
39
0
0
0
0
0
0
0
105
-12
-83
-50
-69
14
28
10
-17
-51
-7
0
0
0
0
0
0
37
62
41
-80
100
-4
12
16
-14
34
0
0
0
0
0
0
0
99
118
-85
-58
65
-72
-58
20
75
16
0
0
0
0
0
0
0
35
11
103
57
7
-56
138
32
0
30
0
0
0
0
0
0
0
10
-98
44
117
78
39
16
-26
0
-6
0
0
0
0
0
0
0
35
-7
-8
11
-9
18
92
41
57
0
0
0
0
0
0
0
0
0
0
0
0
6
0
13
1
10
0
0
0
0
0
0
0
0
0
0
2
15
23
3
-40
0
-6
-1
-12
0
0
0
0
0
0
0
-20
-133
-33
-15
-38
-41
-15
-28
-52
50
0
0
0
0
0
0
0
8
14
4
14
-16
-48
-100
-46
48
-5
0
0
0
0
0
0
0
4
96
28
9
-12
87
-3
-19
0
-1
0
0
0
0
0
0
0
-31
11
5
82
60
32
-28
29
-33
3
0
0
0
0
0
0
0
1
-9
0
2
-108
40
-73
-12
13
-14
0
0
0
0
0
0
0
0
-4
-6
-42
5
-41
-91
42
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-10
9
-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
-9
0
3
-2
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
-2
1
-8
10
4
59
32
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
-3
-10
-33
0
0
0
0
0
0
0
0
3
-3
0
3
-1
-13
-13
1
0
8
0
0
0
0
0
0
0
-2
0
0
0
9
1
-8
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
10
0
6
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
4
0
0
7
0
-5
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
21
0
2
6
-2
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
-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
0
0
0
0
0
70
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-59
0
-11
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
13
-33
9
0
0
0
0
0
0
0
0
0
16
-32
0
24
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
20
-12
58
-11
0
15
0
0
0
0
0
0
0
0
0
0
0
9
29
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
106
0
26
-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
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-44
-10
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
32
7
-78
31
0
0
0
0
0
0
0
0
0
0
0
0
4
16
6
11
-7
0
0
0
0
0
0
0
0
0
-7
-45
3
41
4
6
-12
4
0
0
0
0
0
0
0
0
0
0
-11
1
2
0
39
0
8
0
0
0
0
0
0
0
0
0
0
0
-21
9
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
-7
-5
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
22
4
48
38
0
0
0
0
0
0
0
0
0
0
12
0
-17
0
-43
-26
-3
5
0
0
0
0
0
0
0
0
0
5
-25
-24
52
2
-19
-11
0
0
0
0
0
0
0
0
2
0
0
0
-58
27
8
-5
11
16
0
0
0
0
0
0
0
0
0
20
-1
-1
44
-4
12
3
0
2
0
0
0
0
0
0
14
-2
-1
0
19
0
-62
10
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
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
-2
0
0
0
29
-41
55
-14
12
0
0
0
0
0
0
0
0
3
-2
0
2
24
10
25
-89
22
0
0
0
0
0
0
0
0
-8
-4
6
-18
34
72
55
-9
-5
0
0
0
0
0
0
0
0
1
0
1
2
7
37
-3
4
0
0
0
0
0
0
0
0
-5
-8
-2
-17
7
-60
15
-18
-10
-3
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-45
1
23
-4
0
0
0
0
0
0
0
0
-2
0
-4
0
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-1
12
-12
0
0
0
0
0
0
0
0
0
0
0
-27
-12
-32
56
10
-83
-1
18
7
0
0
0
0
0
0
0
6
6
6
-72
-31
-107
113
9
-14
0
0
0
0
0
0
0
-13
-6
2
-19
-3
-63
-29
-43
-17
9
0
0
0
0
0
0
0
-23
37
-33
-7
-62
-6
11
23
-70
-3
0
0
0
0
0
0
0
-2
-27
-47
10
-9
24
-4
24
28
32
0
0
0
0
0
0
0
0
4
-4
-5
-9
0
29
37
19
3
-4
0
0
0
0
0
0
1
-9
1
-14
19
0
-39
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-13
5
0
0
0
0
0
0
0
0
0
0
1
0
0
13
-3
99
-63
0
6
0
0
0
0
0
0
0
0
9
-12
-3
1
12
43
-92
-39
62
0
0
0
0
0
0
0
0
-37
-13
-1
-2
-17
-86
11
117
1
-11
0
0
0
0
0
0
3
15
2
16
-29
-76
40
-24
29
65
0
0
0
0
0
0
0
-6
54
-12
-13
-56
-35
37
56
-12
-1
0
0
0
0
0
0
0
77
14
66
102
1
-60
18
54
-32
-12
0
0
0
0
0
0
0
-2
20
2
3
-18
19
-9
-28
-55
-5
0
0
0
0
0
0
0
0
-22
-4
-6
13
-10
0
12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
16
0
0
0
0
0
0
0
0
3
-5
3
1
133
-21
-42
12
0
-12
0
0
0
0
0
0
0
-17
23
-72
-14
38
95
0
-50
8
16
-25
0
0
0
0
0
0
-27
1
52
126
-73
46
82
-65
-54
-99
-3
0
0
0
0
0
0
22
5
0
38
15
80
107
70
4
24
-2
0
0
0
0
0
0
8
16
19
-20
144
-46
46
-33
180
-66
0
0
0
0
0
0
0
7
142
-5
124
8
-92
91
-73
32
-22
0
0
0
0
0
0
0
-2
-77
65
21
85
110
8
-32
9
-1
0
0
0
0
0
0
0
2
89
45
-13
47
55
84
0
-20
-16
0
0
0
0
0
0
0
0
2
0
0
-31
-1
-23
-10
9
0
0
0
0
0
0
0
0
0
-68
-8
53
-6
-1
-107
28
0
6
0
0
0
0
0
0
0
0
-85
-99
-32
-116
-40
-47
-41
81
-37
6
0
0
0
0
0
0
-13
-20
53
28
114
-59
34
81
-30
-119
0
0
0
0
0
0
0
1
58
-36
35
-58
-110
34
-80
-10
26
9
0
0
0
0
0
0
34
18
6
109
-46
-9
-6
-62
97
-37
11
0
0
0
0
0
0
-45
-25
99
-15
7
-118
-51
61
23
17
1
0
0
0
0
0
0
-2
-9
30
0
-32
42
72
15
37
-101
0
0
0
0
0
0
0
5
-1
48
80
18
-78
70
-73
0
-26
-2
0
0
0
0
0
0
0
3
-4
-1
4
13
-28
14
-23
0
0
0
0
0
0
0
0
0
0
24
4
10
-15
-17
69
0
2
10
0
0
0
0
0
0
0
-36
52
16
174
16
-31
30
-27
-62
-7
0
0
0
0
0
0
0
84
22
-22
49
-61
-72
-85
10
37
20
0
0
0
0
0
0
0
-40
11
33
-100
-147
-41
-12
4
-17
70
0
0
0
0
0
0
0
39
-29
-16
-37
-65
80
0
30
-49
-39
0
0
0
0
0
0
0
39
99
-3
-2
-27
78
7
-27
-33
72
0
0
0
0
0
0
0
-31
-38
14
-45
76
-16
-19
58
5
-13
0
0
0
0
0
0
0
-11
-5
0
22
-28
-40
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-60
16
-20
1
0
0
0
0
0
0
0
0
0
0
0
-2
17
-39
0
-25
-7
0
0
0
0
0
0
0
0
1
1
0
4
22
4
-89
-3
47
0
0
0
0
0
0
0
0
-8
2
0
61
0
-105
16
-25
73
-2
0
0
0
0
0
0
0
-6
-14
-7
-32
40
-1
-7
31
82
0
0
0
0
0
0
0
0
0
0
0
4
-86
22
92
-33
11
5
0
0
0
0
0
0
0
-6
-2
0
2
-6
5
40
-27
12
-2
0
0
0
0
0
0
0
0
0
0
7
-8
-12
-19
-42
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
-20
1
0
0
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
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
0
0
-7
0
0
0
0
0
0
0
0
0
-7
0
0
0
-6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-76
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
34
-5
10
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-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
2
0
0
0
0
0
-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
0
0
0
-5
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
-2
0
2
0
0
0
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
2
14
0
4
7
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
-3
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
-4
0
0
0
0
0
0
0
0
0
0
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
15
3
0
26
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-11
0
-6
0
0
0
0
0
0
0
0
0
0
0
123
-2
-4
0
-13
5
0
0
0
0
0
0
0
0
4
0
5
-3
-25
-1
20
0
0
0
-2
0
0
0
0
0
0
-3
0
-12
-2
39
-83
0
7
0
0
0
0
0
0
0
0
0
-11
-8
0
15
-39
0
53
-7
-38
0
0
0
0
0
0
0
0
1
-2
0
9
0
-3
-2
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
-6
-6
0
9
0
0
0
0
0
0
0
0
0
0
14
-25
-8
-33
0
-8
0
0
0
0
0
0
0
0
0
0
4
3
0
12
-17
-43
-1
-6
0
0
0
0
0
0
0
0
-1
0
-20
-25
-10
-16
-33
72
-2
0
0
0
0
0
0
0
0
0
0
15
21
12
0
61
1
11
0
0
0
0
0
0
0
0
3
0
0
-37
-14
2
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-19
-5
0
15
0
0
0
0
0
0
0
0
0
0
0
0
8
18
-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
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
-3
1
0
0
0
0
0
0
0
0
0
0
-4
-10
16
-19
79
23
0
0
0
0
0
0
0
0
0
0
0
32
-17
-10
-29
-27
6
2
0
0
0
0
0
0
0
0
0
-2
-3
-2
-7
29
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
18
0
-2
0
0
0
0
0
0
0
0
0
0
4
5
0
42
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
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
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
-3
0
0
0
0
0
4
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
-1
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
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
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
12
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-3
1
0
0
-15
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
-7
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
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
6
0
0
-21
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
9
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
4
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-4
-6
1
28
0
4
0
0
0
0
0
0
0
0
0
0
0
10
6
-16
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
-10
13
-1
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-5
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-17
27
-10
0
-2
0
-7
0
0
0
0
0
0
0
61
-24
-41
-154
5
0
-4
0
-41
14
0
0
0
0
0
0
0
-12
-2
36
-47
21
17
-17
7
-34
101
-3
0
0
0
0
0
0
-20
-21
111
122
3
-47
-16
0
-68
3
0
0
0
0
0
0
0
10
37
-3
26
-26
98
-12
-2
2
-10
0
0
0
0
0
0
0
26
-11
-15
-12
-14
5
-12
-5
-12
1
0
0
0
0
0
0
0
2
29
5
-1
1
2
0
0
0
3
0
0
0
0
0
0
0
0
-8
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
-3
0
5
-1
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
2
7
0
-1
0
-41
-46
0
0
0
0
0
0
0
0
0
-23
-9
-65
1
1
16
1
-58
-1
0
0
0
0
0
0
0
0
0
10
-23
2
0
0
2
-46
0
0
0
0
0
0
0
0
0
10
-8
5
4
8
0
-9
-10
0
0
0
0
0
0
0
0
-4
0
6
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-3
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
-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
1
-24
7
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
1
-2
9
0
0
-7
1
4
0
0
0
0
0
0
0
0
-1
-6
-3
-4
1
7
-3
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-11
0
7
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-31
-10
42
4
-1
-23
2
0
0
0
0
0
0
0
0
0
0
3
-2
15
-9
1
0
-8
0
0
0
0
0
0
0
0
0
15
0
0
23
-2
-1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-6
-1
-7
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
-5
-11
0
21
0
1
-14
0
0
0
0
0
0
0
0
0
0
-6
-1
-2
-1
0
0
-17
0
0
0
0
0
0
0
0
0
1
1
0
-3
56
-3
7
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
12
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-6
-2
-7
0
-5
-20
6
0
0
0
0
0
0
0
1
4
-10
11
1
-4
0
14
0
14
0
0
0
0
0
0
0
0
-37
-18
10
7
0
0
11
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
-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
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
10
7
20
-33
-1
0
5
0
0
0
0
0
0
0
0
0
1
-25
-13
9
-31
4
9
-17
-2
0
0
0
0
0
0
0
0
5
9
12
3
75
18
1
-2
-12
0
0
0
0
0
0
0
0
0
-10
9
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
15
-11
0
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
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
9
41
67
21
0
2
0
0
0
0
0
0
0
0
0
0
0
3
48
-32
20
-5
-5
-5
-9
0
0
0
0
0
0
0
0
-2
17
-31
32
-5
-47
-112
-3
-4
16
0
0
0
0
0
0
0
1
-10
-11
-2
24
-1
0
0
-6
3
0
0
0
0
0
0
0
0
0
-9
14
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
-6
-17
11
2
14
0
11
0
1
0
0
0
0
0
0
0
0
23
74
16
-34
175
0
0
-11
0
0
0
0
0
0
0
0
26
-31
88
-77
-76
-2
-18
-11
-29
-22
-7
0
0
0
0
0
0
4
-33
1
-30
116
0
5
0
28
-1
1
0
0
0
0
0
0
-23
-3
-82
15
112
31
4
-3
-12
0
1
0
0
0
0
0
0
2
87
17
50
-28
-10
0
0
-2
2
0
0
0
0
0
0
0
-7
0
-7
0
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
-54
-74
-45
-42
0
-21
-152
-5
7
0
0
0
0
0
0
23
-31
68
-54
6
0
-5
0
-88
-3
2
0
0
0
0
0
0
-22
128
12
-2
-92
-59
-88
-55
41
-43
0
0
0
0
0
0
0
3
82
72
122
-84
-35
43
-11
-2
3
-3
2
0
0
0
0
0
-83
-19
-17
-7
22
-28
-2
-7
2
0
0
0
0
0
0
0
0
-32
-72
84
88
-119
-50
-27
-39
4
2
0
0
0
0
0
0
0
0
-8
107
4
-4
5
0
0
-21
0
0
0
0
0
0
0
0
0
0
26
5
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
-2
-2
11
4
-15
0
-1
-93
11
3
0
0
0
0
0
0
0
16
-38
-47
-13
0
-3
0
8
26
12
0
0
0
0
0
0
0
-21
-5
41
7
-22
32
15
15
46
-7
0
0
0
0
0
0
0
-18
-43
2
66
25
9
-7
-15
13
21
5
0
0
0
0
0
0
-9
-1
49
15
22
-24
31
-3
50
0
0
0
0
0
0
0
0
-4
6
-3
-21
11
37
18
0
1
0
0
0
0
0
0
0
0
0
4
-3
-4
1
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
-1
0
-3
-3
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
-1
-5
0
1
0
0
0
0
0
0
0
5
-9
-2
6
9
-3
1
-8
0
0
0
0
0
0
0
0
0
4
9
0
-8
5
-12
1
7
-18
2
0
0
0
0
0
0
0
2
0
-19
2
0
-3
-29
-1
-1
0
0
0
0
0
0
0
0
2
0
-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
-3
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
-4
1
3
5
11
5
1
0
1
0
0
0
0
0
0
0
0
0
-4
10
2
11
0
-3
-5
-2
0
0
0
0
0
0
0
0
0
5
-5
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
10
2
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
69
45
-1
-33
2
0
0
0
0
0
0
0
0
0
0
0
4
-37
-1
-13
4
-18
-3
-12
3
0
0
0
0
0
0
0
0
32
17
1
6
27
-1
-3
1
1
0
0
0
0
0
0
0
-29
0
-2
1
-10
6
7
0
0
0
0
0
0
0
0
0
0
0
6
-6
1
0
10
-28
4
1
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
28
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-16
4
0
2
-7
-7
0
0
0
0
0
0
0
0
-6
-11
-2
-9
15
-9
18
-2
0
0
0
0
0
0
0
0
0
0
0
5
1
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-78
-15
13
1
0
0
0
0
0
0
0
0
0
0
0
-10
-34
-34
-1
-1
11
1
0
0
0
0
0
0
0
0
0
0
0
20
22
-11
-111
-23
2
4
-9
6
0
0
0
0
0
0
0
0
-3
-37
-3
13
19
1
0
-8
-9
0
0
0
0
0
0
0
0
0
-1
12
-49
31
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
5
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
-8
25
15
2
-4
0
0
0
0
0
0
0
0
0
0
0
3
-23
28
66
40
7
-20
0
7
0
0
0
0
0
0
0
0
0
-3
-12
18
6
-15
11
13
20
0
0
0
0
0
0
0
0
0
-30
-11
15
8
25
-2
-45
5
0
0
0
0
0
0
0
0
0
7
-17
-51
-29
-99
52
0
0
-4
0
0
0
0
0
0
0
0
0
-9
22
31
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
-27
39
3
44
-6
0
0
0
0
0
0
0
0
0
0
0
3
11
46
-88
13
28
-5
0
12
0
0
0
0
0
0
0
0
-19
-47
0
-5
-22
0
11
4
-26
-10
0
0
0
0
0
0
0
5
-12
-115
-61
-58
-37
-9
63
7
-10
-11
0
0
0
0
0
0
0
-39
59
-31
-127
12
37
0
0
0
0
0
0
0
0
0
0
0
-1
5
46
13
7
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
-18
11
19
18
0
0
1
0
0
0
0
0
0
0
51
-6
-22
88
152
-44
-25
0
-25
0
-2
0
0
0
0
0
0
-15
-79
-34
-26
-137
27
21
-9
81
-6
3
0
0
0
0
0
0
18
-119
16
117
-103
12
58
78
-42
-13
0
0
0
0
0
0
0
23
-39
-14
-24
-155
68
14
4
-26
2
0
0
0
0
0
0
0
0
-18
70
-26
-5
-20
-22
-12
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
-1
0
0
0
0
0
0
0
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
-12
-3
16
-2
0
0
-1
3
0
0
0
0
0
0
25
180
-120
-9
-88
-48
-27
0
-21
0
32
0
0
0
0
0
0
-28
-127
-13
-39
-111
-10
74
5
45
-63
-7
-1
0
0
0
0
0
-50
-6
-65
7
90
15
63
-29
-20
-53
-7
-11
0
0
0
0
0
47
65
21
-136
-96
-68
-44
7
-3
-5
-18
0
0
0
0
0
0
-2
-8
-13
-11
51
10
5
3
0
0
0
0
0
0
0
0
0
-6
3
26
0
88
1
38
2
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
143
86
5
-48
-32
9
0
0
1
0
0
0
0
0
0
-66
39
41
-6
4
44
74
0
-25
0
2
0
0
0
0
0
0
-8
27
-48
-68
54
20
44
-47
7
-3
-19
0
0
0
0
0
0
-131
61
10
-34
-66
30
-156
-4
81
-46
11
-12
0
0
0
0
0
62
-65
25
56
-44
-15
-71
34
-14
-6
-2
1
0
0
0
0
0
-2
-5
-56
3
128
23
-17
5
2
0
0
0
0
0
0
0
0
0
0
5
-84
-17
-3
1
4
0
0
-1
0
0
0
0
0
0
0
0
3
12
-19
4
-6
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
-20
-49
-54
-79
23
35
-24
0
-154
-28
3
0
0
0
0
0
0
-87
2
46
-139
52
-97
0
-20
0
-10
12
0
0
0
0
0
0
38
-65
-60
-15
19
15
-34
-35
20
-38
-34
0
0
0
0
0
0
-3
36
45
33
-7
-100
-66
-3
72
-14
3
2
0
0
0
0
0
-19
-55
-16
48
-43
-43
-133
2
51
14
-13
-2
0
0
0
0
0
7
35
75
44
-147
42
-49
1
-9
-4
0
0
0
0
0
0
0
-15
31
46
44
30
102
19
0
-15
-2
0
0
0
0
0
0
0
0
-13
63
7
-26
0
-9
0
8
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
0
0
40
-10
-50
8
0
0
0
-1
15
0
0
0
0
0
0
0
31
-11
-39
-99
-16
0
-17
0
-1
8
0
0
0
0
0
0
0
-24
14
-77
85
-69
-18
-6
-3
76
-9
2
0
0
0
0
0
0
41
93
49
-40
-23
47
0
-3
-31
-92
-5
0
0
0
0
0
0
-23
65
-35
33
74
7
7
30
-9
8
0
0
0
0
0
0
0
-5
28
50
-28
12
-16
5
3
0
3
0
0
0
0
0
0
0
0
21
6
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-4
-5
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
4
-3
1
0
9
0
0
5
-7
0
0
0
0
0
0
0
0
-12
19
-15
5
0
-27
0
39
9
0
0
0
0
0
0
0
0
-5
9
-3
-30
-67
18
12
-34
12
-6
0
0
0
0
0
0
0
8
-21
-56
-9
23
21
21
0
-10
-10
-3
0
0
0
0
0
0
0
-2
-16
-7
-2
27
-5
9
-60
4
0
0
0
0
0
0
0
0
43
0
0
4
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
6
-1
-1
0
0
0
0
0
0
0
-7
2
0
-4
-17
0
2
0
-2
0
0
0
0
0
0
0
0
-12
-10
-5
0
1
-6
1
5
1
0
0
0
0
0
0
0
0
1
5
0
4
0
3
-6
6
-14
0
0
0
0
0
0
0
0
0
0
0
9
-13
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
-1
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
1
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
1
0
5
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
2
10
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
26
-16
4
0
0
-12
0
0
0
0
0
0
0
0
0
0
-1
15
-5
2
-8
8
0
0
0
0
0
0
0
0
0
0
-2
39
-11
5
0
0
26
0
0
0
0
0
0
0
0
0
0
-4
-8
-1
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
-7
4
13
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-51
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
13
-18
11
15
0
0
0
0
0
0
0
0
0
0
-1
3
0
-18
8
-57
-12
9
1
0
0
0
0
0
0
0
0
0
0
0
13
-44
-29
-83
5
0
-10
0
0
0
0
0
0
0
0
-13
0
-35
0
-58
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
-2
0
22
0
6
0
0
0
0
0
0
0
0
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
-11
-9
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
32
51
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
26
12
-40
-27
-26
1
15
25
0
0
0
0
0
0
0
-17
-21
-13
3
41
32
3
8
-2
11
0
0
0
0
0
0
0
-8
43
8
7
-42
119
-135
0
8
0
0
0
0
0
0
0
0
0
0
-4
39
-5
9
38
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-3
0
2
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
-1
-54
3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-91
57
45
1
0
-3
0
0
0
0
0
0
0
0
-5
-10
82
-31
-54
11
8
0
26
-4
1
0
0
0
0
0
0
6
-27
-145
-36
-8
-113
33
3
11
2
0
0
0
0
0
0
0
0
-13
-12
-40
18
14
-64
-17
-29
-23
0
0
0
0
0
0
0
0
-9
-2
70
-67
10
-6
-11
0
0
0
0
0
0
0
0
0
0
0
-21
0
23
0
-3
0
3
-5
0
0
0
0
0
0
0
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
-12
1
-101
8
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
67
-41
6
-72
-5
0
-1
0
0
0
0
0
0
0
0
9
49
1
-89
-72
-46
-70
0
0
12
4
0
0
0
0
0
0
-3
52
-27
-9
31
0
-10
5
20
0
0
0
0
0
0
0
0
1
-3
69
66
25
44
18
-2
-3
5
0
0
0
0
0
0
0
0
-3
-25
-73
28
88
3
0
-1
0
0
0
0
0
0
0
0
0
0
-40
-64
-21
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
2
14
0
0
0
-8
0
0
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
-30
-23
-1
-26
-7
0
0
12
2
0
0
0
0
0
0
-37
-37
-52
46
16
101
-32
0
1
0
0
0
0
0
0
0
0
79
43
86
-29
9
-6
24
3
61
-124
0
0
0
0
0
0
0
-9
43
48
-11
-85
-16
-8
-67
6
52
0
0
0
0
0
0
0
14
-13
13
-6
-10
-23
35
-22
62
0
0
0
0
0
0
0
0
-1
-71
-14
-105
81
-47
8
1
0
37
0
0
0
0
0
0
0
0
0
-32
0
-52
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-65
-19
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
-19
-40
-11
-53
-37
-81
-73
5
0
0
1
0
0
0
0
0
0
0
18
30
46
-52
-79
-74
0
18
0
8
0
0
0
0
0
0
8
-98
-85
29
-187
-57
-15
-44
106
-67
8
0
0
0
0
0
0
97
-63
1
-33
-202
70
-88
-1
-73
15
16
0
0
0
0
0
0
1
126
-133
-123
-30
-32
-19
3
1
88
0
0
0
0
0
0
0
-7
-50
28
-12
44
-94
-8
-2
-1
-10
0
0
0
0
0
0
0
-1
-15
37
14
-4
8
-9
-3
5
0
0
0
0
0
0
0
0
0
-7
0
-5
6
-2
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
-2
-12
14
2
-64
13
-1
-15
0
0
-4
-1
0
0
0
0
0
44
6
23
81
-90
-17
-63
0
-4
0
-42
-7
0
0
0
0
0
-155
-4
66
-49
-31
100
-55
-16
26
-91
48
-1
0
0
0
0
0
-40
-147
106
11
22
17
40
104
-44
0
-25
0
0
0
0
0
0
-12
58
-47
53
47
-147
-35
-13
21
-20
-4
0
0
0
0
0
0
0
-32
67
-24
-109
64
20
-3
14
7
0
0
0
0
0
0
0
0
-1
-86
-165
11
-1
-98
-1
-3
0
0
0
0
0
0
0
0
0
35
1
-65
5
-4
-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
-10
92
-9
-9
41
-9
21
0
-119
-3
0
0
0
0
0
0
0
12
-53
31
4
-8
-18
0
0
0
-43
18
0
0
0
0
0
0
39
-5
-26
-74
32
-15
1
-129
7
39
-22
0
0
0
0
0
0
17
-120
-2
-64
-12
-49
37
-37
-33
-38
-6
0
0
0
0
0
0
21
-36
-44
-47
42
-1
26
80
68
17
-5
0
0
0
0
0
0
124
-55
-111
-89
56
-27
-52
19
5
0
0
0
0
0
0
0
0
-49
-7
21
122
133
-41
7
3
0
0
0
0
0
0
0
0
0
11
-21
-13
19
5
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
1
-40
18
-7
24
2
0
0
48
0
0
0
0
0
0
0
0
54
49
-9
-174
29
0
-3
0
69
0
0
0
0
0
0
0
0
49
35
-64
11
-30
-8
27
-48
-74
0
0
0
0
0
0
0
0
4
79
-14
47
24
-28
5
1
-25
-13
2
0
0
0
0
0
0
-23
36
-28
-66
15
-7
-4
6
-10
0
4
0
0
0
0
0
0
-1
-38
-38
1
9
13
6
0
4
3
0
0
0
0
0
0
0
0
2
-1
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-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
3
0
0
5
0
-1
0
0
0
0
0
0
0
0
1
-5
-11
-27
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
10
-6
14
-13
2
4
31
-9
-5
0
0
0
0
0
0
0
-5
-5
2
11
-39
8
2
3
-1
-5
0
0
0
0
0
0
0
2
14
-12
1
-6
-16
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
0
0
0
-2
0
0
2
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-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
10
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
-48
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-26
7
1
0
0
10
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
5
8
0
0
2
0
0
0
0
0
0
0
0
0
0
5
19
-3
-13
5
21
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
-1
17
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
-16
85
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
2
52
0
1
-22
-32
5
0
0
0
0
0
0
0
4
0
1
14
36
68
18
0
2
0
0
0
0
0
0
0
0
0
-45
0
-1
-58
2
9
2
0
2
0
0
0
0
0
0
0
0
-5
-1
18
26
33
4
32
0
0
0
0
0
0
0
0
0
0
0
0
14
0
3
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
44
9
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
-52
53
19
-80
-3
7
0
0
0
0
0
0
0
0
0
0
7
-1
-110
4
-19
20
8
0
2
11
-2
0
0
0
0
0
0
2
18
6
-19
-2
-12
5
-2
1
6
0
0
0
0
0
0
0
-16
41
-26
0
109
-20
41
34
13
25
0
0
0
0
0
0
0
0
0
-2
3
-32
-52
25
4
-1
-12
0
0
0
0
0
0
0
-3
0
17
-15
-67
7
-15
6
2
0
0
0
0
0
0
0
0
0
0
3
0
-1
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
-3
-7
69
-37
10
12
0
0
0
0
0
0
0
0
0
0
0
-12
-4
-40
21
36
-5
20
0
-3
0
0
0
0
0
0
0
0
5
72
11
49
55
20
-13
-1
-26
9
-3
0
0
0
0
0
0
9
-7
2
11
-41
-78
-13
5
0
-9
0
0
0
0
0
0
0
-6
-67
-163
6
0
2
-142
5
21
0
0
0
0
0
0
0
0
0
8
8
-28
-66
-1
-15
3
-8
0
0
0
0
0
0
0
0
0
0
-22
-20
9
-1
0
9
2
-4
0
0
0
0
0
0
0
0
0
-28
-10
0
1
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
-3
10
2
4
-47
0
-2
0
0
0
0
0
0
0
0
0
0
-10
18
-7
10
39
8
18
0
-1
0
3
0
0
0
0
0
0
-5
-62
18
-6
2
-57
-37
0
11
31
1
0
0
0
0
0
0
-2
26
78
-100
-43
-9
24
63
-3
8
7
0
0
0
0
0
0
3
7
20
-57
-76
0
-63
0
0
-7
0
0
0
0
0
0
0
0
-5
-15
-25
-108
-27
-34
0
0
0
0
0
0
0
0
0
0
0
-3
13
-7
-5
-36
4
0
5
-2
0
0
0
0
0
0
0
0
0
-1
-13
6
7
6
-4
-6
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
-19
-69
102
-128
24
1
-49
0
0
0
0
0
0
0
0
0
0
-7
72
-7
104
11
-116
10
0
16
0
2
0
0
0
0
0
0
22
36
-62
173
-37
27
-89
-8
-33
-8
0
-3
0
0
0
0
0
13
-13
-13
36
-126
42
-104
26
-8
1
-10
0
0
0
0
0
0
-68
-52
-17
16
24
-72
0
-23
-35
1
0
0
0
0
0
0
0
7
43
-63
-102
-28
42
71
0
3
-6
0
0
0
0
0
0
0
8
1
21
-81
-87
6
25
-13
0
-13
0
0
0
0
0
0
0
0
3
-32
13
17
33
13
3
0
0
0
0
0
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
-134
-58
-51
-28
-128
2
0
0
0
0
0
0
0
0
0
16
-30
54
-37
6
-190
-40
0
-8
0
0
0
0
0
0
0
0
-61
38
13
-22
18
35
67
-1
-85
-43
-4
0
0
0
0
0
0
-7
-25
175
16
-94
5
53
-38
72
32
-2
0
0
0
0
0
0
37
-4
13
58
-66
-15
-27
0
-63
28
9
9
0
0
0
0
0
4
-47
-20
-101
-54
33
43
-60
0
-73
0
0
0
0
0
0
0
4
8
-14
-10
34
8
26
25
-2
5
0
0
0
0
0
0
0
0
9
-2
-31
-47
18
-35
7
1
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
3
12
87
88
-65
76
65
0
0
5
-2
0
0
0
0
0
0
-49
-78
-2
-3
21
-103
55
0
-32
0
36
-2
0
0
0
0
0
-75
-12
-27
-22
-30
46
-69
-59
22
-80
-2
0
0
0
0
0
0
30
65
-44
8
90
-70
-56
0
-20
-82
-9
0
0
0
0
0
0
-28
-7
-52
-28
-116
38
-32
59
0
-13
-2
3
0
0
0
0
0
11
-97
46
-48
-3
-95
50
42
72
0
8
0
0
0
0
0
0
5
-18
-180
-1
-107
-25
110
54
-8
-1
0
0
0
0
0
0
0
0
1
-10
103
-21
-5
1
2
4
-1
0
0
0
0
0
0
0
0
22
53
-3
-20
0
0
0
2
0
0
0
0
0
0
0
0
0
-111
-55
-135
1
-38
4
-8
0
-12
0
1
0
0
0
0
0
0
11
17
92
44
44
-57
0
-13
0
-19
7
0
0
0
0
0
0
-27
-71
102
93
162
-60
-28
-83
37
84
-3
0
0
0
0
0
0
60
52
-94
-59
-21
-56
1
-4
38
8
-10
0
0
0
0
0
0
-46
102
158
-78
93
18
-50
-29
0
15
-9
0
0
0
0
0
0
54
-40
58
128
-80
-29
-79
16
-32
2
0
2
0
0
0
0
0
-1
16
43
-73
-137
87
-8
40
-6
0
0
0
0
0
0
0
0
-1
20
122
-39
49
4
2
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
12
33
-48
46
-8
10
0
5
91
0
0
0
0
0
0
0
0
-28
52
-58
25
-90
0
0
0
-22
-2
0
0
0
0
0
0
0
9
43
19
-12
110
29
-55
27
-23
2
0
0
0
0
0
0
0
1
56
55
-29
-52
53
-4
6
16
6
0
0
0
0
0
0
0
7
4
7
58
-2
-32
15
1
0
0
0
0
0
0
0
0
0
0
32
64
-76
5
8
-3
-12
-13
0
0
0
0
0
0
0
0
-7
-6
1
-24
-2
9
1
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
-19
0
0
12
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
11
-2
0
8
0
16
3
0
0
0
0
0
0
0
0
2
0
1
-2
27
5
-10
-2
-22
-5
0
0
0
0
0
0
0
0
0
-6
-76
6
3
1
3
0
0
0
0
0
0
0
0
0
0
13
-8
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
18
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
0
-17
5
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
29
0
55
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
58
-106
13
12
0
0
0
0
0
0
0
0
0
0
0
-17
7
-33
19
-1
-4
0
-6
3
0
0
0
0
0
0
0
0
-31
0
-4
6
0
2
-2
4
0
0
0
0
0
0
0
0
0
22
1
-17
-14
-51
-3
0
0
-23
0
0
0
0
0
0
0
0
0
0
17
-1
-22
0
0
-8
-11
0
0
0
0
0
0
0
0
0
43
-1
19
4
8
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
-12
0
0
0
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
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
44
15
3
12
2
0
0
0
0
0
0
0
0
0
0
0
2
6
3
4
-5
-3
0
9
7
0
0
0
0
0
0
0
0
8
3
41
27
-62
7
0
-9
3
0
0
0
0
0
0
0
-7
26
34
-37
9
-54
-3
12
0
9
0
0
0
0
0
0
0
0
16
13
0
31
0
2
13
-1
3
0
0
0
0
0
0
0
0
2
-52
28
-68
-26
8
-13
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
3
9
-29
-2
16
0
0
0
0
0
0
0
0
0
0
0
40
33
110
2
15
-3
0
0
0
0
0
0
0
0
0
0
10
13
27
5
-10
-1
41
0
13
39
0
0
0
0
0
0
0
0
-151
10
133
8
17
18
0
-7
-43
0
0
0
0
0
0
0
-4
-106
8
33
-91
-31
-6
-39
-4
-11
0
0
0
0
0
0
0
0
-44
16
-63
0
52
11
-6
-5
0
0
0
0
0
0
0
0
-4
31
-57
17
61
-2
-7
-2
-2
-4
0
0
0
0
0
0
0
0
3
4
2
9
-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
-4
5
53
-45
0
-20
0
0
0
0
0
0
0
0
0
0
0
1
54
136
67
13
2
0
0
0
1
0
0
0
0
0
0
-6
27
-6
4
56
58
9
0
16
-42
0
0
0
0
0
0
0
0
-29
-55
-19
-28
21
-35
-99
19
10
0
0
0
0
0
0
0
-7
35
27
-102
-21
52
-3
-34
-9
15
0
0
0
0
0
0
0
0
-4
-196
-40
-67
0
-7
69
0
-32
0
0
0
0
0
0
0
-5
-3
-6
72
-16
49
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
1
-73
0
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
-38
5
-87
5
-20
0
0
0
0
0
0
0
0
0
0
-7
-38
19
33
-83
-91
1
0
0
0
0
0
0
0
0
0
0
-46
49
-127
104
-44
46
3
3
47
2
0
0
0
0
0
0
0
-21
-2
-53
-11
-33
104
-2
-5
-29
52
3
0
0
0
0
0
0
69
-35
-44
72
19
-3
-50
8
22
1
0
0
0
0
0
0
0
-1
43
3
26
86
33
0
-3
12
-9
0
0
0
0
0
0
0
-14
-101
-73
-42
-23
14
-19
2
4
7
0
0
0
0
0
0
0
0
73
14
0
-4
6
11
-6
0
0
0
0
0
0
0
0
0
0
6
-9
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
21
19
22
59
-86
26
0
0
-8
0
0
0
0
0
0
19
-7
-67
25
9
36
44
0
4
0
0
0
0
0
0
0
0
-1
-22
66
-132
-50
144
-109
-38
36
-29
0
0
0
0
0
0
0
2
-11
80
25
-2
54
-87
2
-44
48
0
-2
0
0
0
0
0
-32
33
8
36
7
24
155
-37
23
80
0
-1
0
0
0
0
0
-5
41
-115
3
-65
12
30
0
8
7
0
0
0
0
0
0
0
1
-37
38
62
-84
25
1
-7
8
-105
0
0
0
0
0
0
0
0
18
7
35
-6
0
3
10
4
0
0
0
0
0
0
0
0
0
-16
3
15
3
0
0
0
0
0
0
0
0
0
0
0
0
98
-41
39
-1
-4
26
32
8
0
0
0
0
0
0
0
0
0
-17
-111
-110
-52
68
-78
-132
0
-205
0
18
0
0
0
0
0
0
95
27
4
8
16
48
41
-115
21
-132
-15
0
0
0
0
0
0
88
64
43
-79
-149
-5
-75
-123
-67
4
5
0
0
0
0
0
0
-17
-28
-14
40
-11
-15
-87
75
89
-15
0
0
0
0
0
0
0
32
-4
-50
79
-6
-26
-20
32
0
59
0
0
0
0
0
0
0
3
69
-45
-43
-22
61
-9
-1
-50
-6
1
0
0
0
0
0
0
0
-7
-39
-27
61
-25
-6
2
2
0
0
0
0
0
0
0
0
0
0
0
-26
23
0
0
0
0
0
0
0
0
0
0
0
0
0
19
53
-41
14
32
-33
1
0
115
17
0
0
0
0
0
0
0
-74
64
12
-47
126
113
0
15
0
-1
3
0
0
0
0
0
0
-75
39
68
69
-69
41
-9
-51
37
-45
3
0
0
0
0
0
0
14
9
-29
-104
-10
78
-34
48
148
-19
0
0
0
0
0
0
0
-182
-118
-88
-21
-20
-145
35
26
-3
0
1
0
0
0
0
0
0
-44
60
57
35
-143
60
-96
-124
0
5
0
0
0
0
0
0
0
-37
-114
-80
-68
-4
-23
2
28
-4
0
1
0
0
0
0
0
0
0
-7
-12
11
104
-92
1
0
3
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
-22
3
-22
10
7
-34
0
0
78
0
0
0
0
0
0
0
0
10
-79
-3
12
82
0
-2
0
72
-3
0
0
0
0
0
0
0
17
62
-9
79
61
-7
6
-32
70
-5
0
0
0
0
0
0
0
-23
39
3
103
-32
-55
-56
1
44
-17
0
0
0
0
0
0
0
55
85
99
-102
-40
1
1
-1
6
0
-3
0
0
0
0
0
0
0
-28
-8
43
20
-12
-2
0
0
0
0
0
0
0
0
0
0
0
13
-42
16
19
0
0
0
0
0
0
0
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
2
-2
-2
0
-1
-10
1
0
0
0
0
0
0
0
0
-27
3
10
-3
0
0
0
-6
-6
0
0
0
0
0
0
0
0
1
0
13
-2
2
0
-7
0
8
0
0
0
0
0
0
0
0
0
-1
2
28
-13
-3
-4
2
0
0
0
0
0
0
0
0
0
-1
0
-1
-30
0
5
2
0
2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
4
0
4
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
2
-5
-2
13
2
1
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
0
4
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
18
0
20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
2
-43
-5
-64
0
0
-7
0
0
0
0
0
0
0
0
21
4
5
3
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
6
-15
-32
-1
-1
1
0
-25
0
0
0
0
0
0
0
0
-3
-2
7
16
5
-6
0
0
0
0
0
0
0
0
0
0
0
-8
0
-8
4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
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
1
17
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-39
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-1
-2
2
0
-12
10
0
0
0
0
0
0
0
0
-24
-1
-5
5
-16
0
-11
0
0
0
0
0
0
0
0
0
0
0
29
5
1
3
0
-8
-1
-11
0
0
0
0
0
0
0
0
18
0
-18
14
-22
-26
-4
1
-18
0
0
0
0
0
0
0
0
1
10
0
-3
5
-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
-38
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
59
-48
12
5
0
0
0
0
0
0
0
0
0
0
-1
0
21
0
-7
6
5
0
0
-10
0
0
0
0
0
0
0
0
3
8
-23
19
-93
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-63
70
-37
2
6
-1
0
0
0
0
0
0
0
0
0
-13
17
-28
6
-42
5
2
5
0
0
0
0
0
0
0
0
0
6
-20
17
0
0
20
3
-27
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
4
-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
56
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-2
-17
-4
9
-27
0
0
0
0
0
0
0
0
0
0
3
12
-41
-15
-31
12
8
0
-14
-63
0
0
0
0
0
0
0
0
43
29
-103
11
-19
0
5
-2
-2
0
0
0
0
0
0
0
0
0
23
-26
56
3
-17
-1
-10
-27
0
0
0
0
0
0
0
0
-11
-15
-110
49
4
6
0
3
43
0
0
0
0
0
0
0
0
0
-54
9
57
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
65
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
-67
50
8
-29
0
5
0
0
0
0
0
0
0
0
0
0
0
122
114
-114
-122
70
-11
0
0
0
0
0
0
0
0
0
0
68
-12
24
68
11
21
16
6
0
59
2
0
0
0
0
0
0
0
-12
1
-32
11
-2
-5
1
-1
4
0
0
0
0
0
0
0
-13
-2
-29
-2
-75
-73
43
23
-88
-3
0
0
0
0
0
0
0
0
133
-106
60
-10
-60
13
-42
-2
-4
0
0
0
0
0
0
0
26
-2
-4
-35
44
3
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-10
7
-59
3
1
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
6
-62
74
-70
41
28
0
0
0
0
0
0
0
0
0
0
16
-45
102
11
-42
65
18
0
0
0
0
0
0
0
0
0
0
-7
21
-99
-25
91
-58
-46
37
6
-10
0
0
0
0
0
0
0
1
-25
52
115
-41
36
-67
3
-2
-5
0
0
0
0
0
0
0
-54
2
-7
17
79
77
-63
-15
13
-66
-1
0
0
0
0
0
0
-5
-51
-35
-131
-50
55
8
5
-11
4
0
0
0
0
0
0
0
2
-5
-1
14
20
77
-118
0
-19
-16
0
0
0
0
0
0
0
0
7
3
93
-27
3
17
9
0
0
0
0
0
0
0
0
0
0
-1
8
-24
0
0
0
0
-16
0
0
0
0
0
0
0
0
13
-49
113
20
-65
-52
-73
-11
0
0
-3
0
0
0
0
0
0
6
-132
84
-40
55
-164
-36
0
3
0
-7
0
0
0
0
0
0
136
38
74
-34
-27
46
-43
-45
6
6
0
0
0
0
0
0
0
99
42
89
183
-81
-16
-34
115
31
-86
19
0
0
0
0
0
0
34
84
26
-24
-45
53
-64
-55
55
8
0
0
0
0
0
0
0
5
99
-6
-19
-63
73
29
-25
-23
23
-7
0
0
0
0
0
0
2
-16
97
23
-58
3
97
-27
0
22
0
0
0
0
0
0
0
0
-48
19
-65
-46
3
79
-49
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
-76
51
-5
60
-50
-6
7
0
73
-6
0
0
0
0
0
0
0
59
80
-90
48
29
-68
0
-20
0
3
2
0
0
0
0
0
0
-50
-55
8
40
58
16
-50
-23
-51
79
0
0
0
0
0
0
0
-12
38
-45
32
46
3
-46
159
-41
-9
-3
0
0
0
0
0
0
23
-11
70
2
21
-92
-29
7
-140
17
0
0
0
0
0
0
0
110
-80
-1
-27
67
46
7
-21
52
-5
0
0
0
0
0
0
0
-115
-53
63
18
15
15
-2
18
0
0
0
0
0
0
0
0
0
7
71
9
-12
8
-4
-7
10
-27
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
6
1
2
-24
1
3
0
0
47
0
0
0
0
0
0
0
0
0
-40
26
4
0
0
-2
0
41
-2
0
0
0
0
0
0
0
-8
98
-83
-47
-89
2
-2
1
47
0
0
0
0
0
0
0
0
-22
16
141
-14
10
5
-7
6
8
0
0
0
0
0
0
0
0
-2
67
27
49
171
-49
-18
0
23
0
0
0
0
0
0
0
0
78
-1
19
-35
40
-67
1
-9
4
0
0
0
0
0
0
0
0
6
-15
-4
86
75
-5
8
0
0
0
0
0
0
0
0
0
0
-1
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
24
0
0
0
-13
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-22
-7
0
0
0
4
-58
0
0
0
0
0
0
0
0
0
0
1
0
2
-23
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-41
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
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
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
-3
-2
7
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
0
0
0
0
0
0
-21
7
0
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
-2
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-12
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
0
0
0
0
8
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-17
-4
-14
-12
-6
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
-15
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
11
0
5
-1
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
5
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-154
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-7
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
-17
2
-17
-41
50
-2
7
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
4
2
1
0
9
0
0
0
0
0
0
0
0
0
0
11
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
28
10
8
0
0
0
0
0
0
0
0
0
0
0
23
5
-32
0
17
0
0
0
0
0
0
0
0
0
0
0
35
0
12
-21
17
2
8
0
0
7
0
0
0
0
0
0
0
-8
-50
0
-69
-9
-23
0
0
0
-7
0
0
0
0
0
0
0
-2
0
-25
-75
43
-12
28
0
2
0
0
0
0
0
0
0
0
0
-37
-11
-23
-28
1
-12
-25
-2
0
0
0
0
0
0
0
0
-10
15
5
0
-21
26
1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-37
-7
31
0
-17
-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
-17
-2
-4
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
-49
10
10
33
69
3
0
0
0
0
0
0
0
0
0
0
11
2
-47
-170
-161
-49
-4
-9
0
57
0
0
0
0
0
0
0
-19
-74
-4
104
-49
-27
2
5
-4
0
0
0
0
0
0
0
0
-36
-17
0
-49
128
-87
9
0
0
50
0
0
0
0
0
0
0
0
-37
10
-124
-23
5
1
1
2
1
0
0
0
0
0
0
0
-71
7
86
32
14
-11
-42
4
1
0
0
0
0
0
0
0
0
0
33
-7
19
83
-32
0
0
5
-13
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
-14
-7
62
94
-1
22
0
0
0
13
0
0
0
0
0
0
-1
-66
-39
36
-111
31
-50
0
-22
0
0
0
0
0
0
0
0
-57
-68
31
45
-8
23
-27
60
-92
-83
21
0
0
0
0
0
0
1
-54
-51
59
25
-21
-93
-91
-110
-9
11
0
0
0
0
0
0
57
0
98
-31
-100
-4
-96
-75
-53
-8
0
0
0
0
0
0
0
8
101
8
-27
-78
19
-51
44
97
-14
0
0
0
0
0
0
0
50
88
37
-29
1
-24
23
-3
-18
0
0
0
0
0
0
0
0
0
31
-22
76
16
-63
-68
11
0
3
0
0
0
0
0
0
0
0
3
66
9
-86
0
0
-28
11
0
0
0
0
0
0
0
0
0
0
86
-2
-69
68
-7
4
0
23
5
0
0
0
0
0
0
0
69
-43
-95
103
65
-95
0
-2
0
10
0
0
0
0
0
0
0
-50
44
-58
-93
-12
48
11
0
-6
0
0
0
0
0
0
0
0
55
-76
26
-46
89
62
-36
-9
-57
-17
0
0
0
0
0
0
0
20
54
35
-55
131
-87
123
-17
41
-3
0
0
0
0
0
0
0
31
45
-142
24
-121
-78
-46
49
14
-1
0
0
0
0
0
0
0
-5
-75
76
-24
-35
87
79
-35
1
0
0
0
0
0
0
0
0
-93
100
0
11
-19
62
-194
7
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
-13
-7
23
-146
0
1
0
0
2
0
0
0
0
0
0
0
0
-23
-3
29
-10
-17
0
-7
0
49
0
0
0
0
0
0
0
0
-11
-12
42
40
1
62
0
0
16
0
0
0
0
0
0
0
0
-9
-26
-49
-22
55
7
3
0
-9
0
0
0
0
0
0
0
0
2
53
-42
-27
-19
-20
9
13
-72
0
0
0
0
0
0
0
0
41
19
67
14
-15
6
0
-8
4
0
0
0
0
0
0
0
0
-5
12
7
-39
-12
-5
0
0
4
0
0
0
0
0
0
0
0
3
2
7
32
-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
-1
0
0
0
0
-3
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
0
-23
0
0
-4
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
19
3
0
0
0
0
-20
11
0
0
0
0
0
0
0
0
0
1
0
8
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
2
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
2
0
2
3
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
3
-4
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-63
-17
16
0
0
-2
0
0
0
0
0
0
0
0
0
0
-33
-1
59
-1
27
-37
0
33
0
0
0
0
0
0
0
0
6
3
53
-16
45
0
11
0
0
0
0
0
0
0
0
0
0
0
-11
0
-146
17
15
12
0
-6
0
0
0
0
0
0
0
0
7
0
-19
0
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
1
12
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
-40
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-67
-97
-13
19
0
0
0
0
0
0
0
0
0
0
0
-26
-7
-32
11
-124
-58
0
8
-12
0
0
0
0
0
0
0
0
-18
-75
-32
66
63
96
-16
-1
-17
0
0
0
0
0
0
0
0
-76
52
79
95
59
-71
-23
7
4
-1
0
0
0
0
0
0
0
0
-49
23
-5
-203
-107
-82
45
-40
0
0
0
0
0
0
0
0
0
0
-47
-110
88
-7
4
1
8
0
0
0
0
0
0
0
0
0
-53
1
96
-17
-27
-33
4
0
0
0
0
0
0
0
0
0
-24
3
49
-16
-2
0
-4
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
-47
3
63
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
52
-4
-27
-1
0
0
-25
0
0
0
0
0
0
0
0
0
71
-21
-1
-23
-2
0
0
-13
0
0
0
0
0
0
0
0
-15
0
22
-28
-21
2
0
7
6
0
0
0
0
0
0
0
0
0
-18
25
58
14
-39
-4
0
1
0
0
0
0
0
0
0
0
-20
0
40
0
-60
7
0
0
0
0
0
0
0
0
0
0
0
0
41
0
2
-1
-43
0
0
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
2
0
0
0
0
0
0
0
0
0
6
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
-62
0
2
0
4
4
0
0
1
0
0
0
0
0
0
0
0
0
-43
0
-2
-5
-19
0
0
8
0
0
0
0
0
0
0
0
-7
0
-5
1
-2
0
0
0
14
0
0
0
0
0
0
0
0
0
2
3
-16
0
-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
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
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
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
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
8
0
14
-12
0
-3
0
0
0
0
0
0
0
0
-11
0
-2
0
-2
10
-7
-1
0
0
0
0
0
0
0
0
0
-1
0
-16
3
0
-20
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
1
0
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
4
25
0
0
0
0
0
0
0
0
0
0
0
-28
-8
15
3
10
0
7
0
0
0
0
0
0
0
0
0
-9
0
-6
0
-13
-8
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-77
4
0
0
0
0
0
0
0
0
0
0
1
0
5
0
-7
3
-88
84
0
0
0
0
0
0
0
0
0
0
0
-1
20
6
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-43
-6
0
0
0
0
0
0
0
0
0
16
0
0
0
-2
3
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
82
0
-6
0
0
0
0
0
0
0
0
1
9
12
16
0
101
0
26
0
4
0
0
0
0
0
0
-19
-1
0
-4
-14
49
4
-26
0
-3
0
0
0
0
0
0
0
-1
0
2
2
-9
4
-6
69
0
0
0
0
0
0
0
0
0
17
-4
-1
0
4
10
-38
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-11
150
36
0
-14
0
-8
0
0
0
0
0
0
0
55
-68
20
-87
39
43
54
-5
-43
0
0
0
0
0
0
0
0
9
0
-37
104
63
29
30
33
11
-28
0
0
0
0
0
0
0
23
2
14
-31
-24
33
-38
14
13
-6
0
0
0
0
0
0
0
28
13
14
-71
-25
-71
56
13
-26
0
0
0
0
0
0
0
0
-53
0
0
44
-37
46
-116
25
-12
5
0
0
0
0
0
0
0
5
0
2
21
23
-20
-1
1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-8
-40
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
31
20
0
17
66
0
0
0
0
0
0
0
0
0
31
-2
-5
-42
-32
9
59
-1
-6
0
0
0
0
0
0
0
0
-6
5
-29
38
16
-12
0
9
8
0
0
0
0
0
0
0
0
-6
0
-7
-8
35
-6
26
2
-2
0
0
0
0
0
0
0
0
-8
0
-11
-43
-36
0
3
-1
-15
0
0
0
0
0
0
0
0
-7
0
0
2
0
2
-4
-1
3
0
0
0
0
0
0
0
0
0
0
0
-24
0
39
31
-3
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
0
0
0
-11
0
-2
-5
0
0
0
0
0
0
0
0
0
0
-6
0
4
4
12
-3
25
0
0
0
0
0
0
0
0
0
0
-1
-1
3
-1
1
-23
-4
-1
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
-3
-9
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
1
2
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-14
-2
12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
-5
0
0
0
0
0
0
0
-7
4
0
0
5
-17
-87
-50
16
0
0
0
0
0
0
0
0
0
0
-1
13
-8
41
5
24
-12
0
0
0
0
0
0
0
0
0
0
0
7
-5
76
-15
-23
12
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
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-20
-11
22
0
-8
0
0
0
0
0
0
0
0
2
0
0
-1
13
21
-8
-5
0
0
0
0
0
0
0
0
0
0
0
-10
65
-85
24
-18
-27
-2
0
0
0
0
0
0
0
0
0
0
6
9
-11
-4
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
0
0
0
0
0
0
0
0
0
-21
0
-13
-68
-2
-4
43
-21
9
0
0
0
0
0
0
0
0
4
0
-4
-4
-57
-10
-33
-7
0
0
0
0
0
0
0
0
0
0
8
0
-40
26
76
-2
2
0
0
0
0
0
0
0
0
0
-5
0
1
23
0
0
25
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-18
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
1
0
0
-3
0
-75
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
19
0
-9
39
25
-89
-1
3
0
0
0
0
0
0
3
0
-3
0
-1
-50
30
42
31
-1
0
0
0
0
0
0
0
0
0
0
2
32
-20
-28
-15
-19
-11
0
0
0
0
0
0
0
0
-2
0
0
-16
-6
-87
-6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
40
4
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
15
-17
0
44
1
29
0
10
0
0
0
0
0
0
0
0
1
0
9
29
-8
-38
-17
-48
26
0
0
0
0
0
0
0
11
17
28
2
6
-21
-57
-24
44
-7
1
0
0
0
0
0
0
-17
-8
13
9
-27
8
21
-18
19
0
-5
0
0
0
0
0
0
-8
-5
6
-5
10
-7
11
31
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-21
-3
-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
24
1
22
25
-16
0
-107
-26
0
3
3
0
0
0
0
0
0
-43
-69
16
-67
65
92
12
57
76
-14
-16
0
0
0
0
0
0
15
-11
18
7
7
-15
-70
46
6
-3
1
0
0
0
0
0
0
12
-4
-17
97
-51
-44
-27
-14
89
1
-8
0
0
0
0
0
0
-5
3
4
-13
-72
14
-2
44
-54
0
0
0
0
0
0
0
0
-12
0
0
5
16
-99
-4
63
18
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
8
20
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
8
48
122
0
0
-79
1
0
-2
0
0
0
0
0
0
21
0
180
-11
-144
80
-52
-17
-12
2
3
0
0
0
0
0
0
-62
-5
-13
-94
89
-49
-2
15
-41
-11
0
2
0
0
0
0
0
2
-23
117
71
-28
21
-75
-32
-17
-4
0
0
0
0
0
0
0
-23
72
-39
-15
-62
-33
-173
-62
54
3
0
3
0
0
0
0
0
-16
15
9
-78
-6
-121
-92
25
14
-12
9
0
0
0
0
0
0
17
-9
-5
89
-78
37
52
-121
-15
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-12
-13
-21
0
-2
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
51
14
-52
-13
-22
0
-15
0
-3
0
0
0
0
0
0
0
0
10
26
-1
-37
-48
34
18
14
4
-17
0
0
0
0
0
0
0
18
-11
-94
-50
97
91
-45
-88
-11
0
0
0
0
0
0
0
0
-17
-33
-23
-68
-27
-93
-90
-85
-24
0
0
0
0
0
0
0
0
11
1
11
-35
31
-74
2
-12
11
-2
1
0
0
0
0
0
0
27
1
-5
-42
-1
15
-49
1
0
-1
0
-3
0
0
0
0
0
-16
0
5
1
-12
65
6
7
10
0
0
0
0
0
0
0
0
0
0
0
-11
4
-14
4
5
-2
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
-3
0
-9
11
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-8
22
-10
-9
0
0
0
0
0
0
0
0
0
-4
-3
0
-9
3
-48
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-3
30
-2
0
0
0
0
0
0
0
0
0
0
1
11
0
6
-2
12
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
1
14
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
16
-3
1
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
2
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
1
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
-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
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-2
-7
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
32
10
4
42
9
0
0
0
0
0
0
0
0
0
17
0
0
-33
-94
69
10
-83
-4
0
0
0
0
0
0
0
0
0
0
0
1
-1
-16
22
61
-37
0
0
0
0
0
0
0
0
0
0
0
10
-106
105
-21
1
-8
-2
0
0
0
0
0
0
0
0
0
-1
-5
-12
44
31
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
0
-9
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
0
0
0
0
0
0
-15
116
60
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
49
-50
-46
9
2
5
0
0
0
0
0
0
3
3
0
0
15
-33
-35
-33
4
0
0
0
0
0
0
0
0
0
0
2
-2
34
-14
7
-22
11
-1
0
0
0
0
0
0
0
3
-2
0
2
-56
-7
9
-1
8
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-5
6
138
-7
0
-5
0
0
0
0
0
0
0
-5
5
-7
-9
20
-48
-70
32
-21
-14
0
0
0
0
0
0
0
-8
1
-2
0
48
-21
-9
98
21
0
0
0
0
0
0
0
0
3
0
0
-2
3
-19
-44
67
2
0
0
0
0
0
0
0
0
0
8
-6
2
-13
12
71
-23
-6
4
0
0
0
0
0
0
0
0
-6
0
5
0
-72
-15
109
6
0
0
0
0
0
0
0
0
0
0
0
0
3
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
12
-4
-13
-18
-11
-35
0
48
0
0
0
0
0
0
0
0
-2
4
-24
-38
56
-28
19
-62
6
0
0
0
0
0
0
0
-9
0
2
0
0
-26
-111
-57
-24
-27
0
0
0
0
0
0
0
-6
-11
-5
-2
13
-39
-53
29
23
0
0
0
0
0
0
0
0
0
0
-1
1
26
-6
20
-11
98
0
-1
0
0
0
0
0
0
0
1
17
0
-7
-35
-6
1
-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
0
-17
0
0
0
0
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
-12
-179
3
14
0
28
-1
0
0
0
0
0
0
-61
3
-4
-5
-28
-17
-67
-80
-40
14
0
0
0
0
0
0
0
-4
-4
-9
33
-36
0
-65
59
-21
10
8
0
0
0
0
0
0
-2
8
-23
15
-4
-39
14
7
2
-1
-5
0
0
0
0
0
0
-6
-2
3
-14
33
-24
66
2
-75
-3
3
0
0
0
0
0
0
9
0
1
-4
13
-44
44
-32
-1
14
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
-6
-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
24
-27
-31
-6
4
-67
77
142
0
55
-3
0
0
0
0
0
0
13
5
-8
13
-52
27
-31
166
69
95
-12
0
0
0
0
0
0
-18
-91
-4
-55
-15
46
-30
-21
-1
53
3
0
0
0
0
0
0
40
-5
3
-96
-69
3
-54
-35
-29
15
0
0
0
0
0
0
0
-37
-50
-9
31
-64
133
117
19
170
1
-7
0
0
0
0
0
0
0
1
6
23
-28
97
-14
129
1
32
3
0
0
0
0
0
0
0
1
3
0
-3
-51
100
-7
14
0
0
0
0
0
0
0
0
0
-1
0
0
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
-65
-140
-19
-72
-64
20
-22
-37
0
-7
1
0
4
0
0
0
0
-55
-36
10
-89
-88
59
-38
-79
105
143
-38
-1
0
0
0
0
0
-82
59
-131
-153
-10
-25
-37
-79
-26
-38
3
0
0
0
0
0
0
-59
10
19
82
14
-42
-7
11
18
3
-2
0
0
0
0
0
0
31
5
145
2
-156
153
70
-15
20
6
-4
0
0
0
0
0
0
0
1
-11
62
-8
216
49
-13
280
35
-14
0
0
0
0
0
0
-1
0
-2
-2
-75
76
-35
-98
2
-9
0
0
0
0
0
0
0
0
0
0
-2
-1
-24
-10
-2
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
-40
39
-87
-13
-88
-41
73
-68
0
50
3
-14
0
0
0
0
0
-65
144
-23
70
-43
-62
-101
78
88
40
-124
-9
0
0
0
0
0
36
18
-80
14
34
-53
86
-141
-154
-134
31
20
0
0
0
0
0
24
-165
50
30
-49
1
-19
-69
55
35
-47
0
-1
0
0
0
0
-55
43
-47
34
38
-64
124
41
-87
-88
-8
-8
3
0
0
0
0
25
13
-46
9
-83
-11
-53
-22
8
-7
4
0
0
0
0
0
0
-13
6
25
1
49
-8
-14
53
-38
-4
-2
0
0
0
0
0
0
0
0
0
-2
-10
152
-45
-63
-8
7
0
0
0
0
0
0
0
0
0
0
0
1
0
12
0
9
0
0
0
0
0
0
0
0
0
-29
-79
-114
162
4
2
69
0
23
-92
-6
0
0
0
0
0
0
4
7
-32
28
73
9
78
117
-32
-64
34
0
0
0
0
0
0
-74
-44
84
149
10
5
-91
-28
-76
-61
4
0
0
0
0
0
0
-53
12
-55
14
-49
-120
33
-83
-53
1
-5
0
0
0
0
0
0
-131
-71
-57
99
-154
-5
70
12
-1
75
0
2
0
0
0
0
0
77
-3
-15
-129
-61
131
11
50
125
-40
0
0
0
0
0
0
0
8
-15
-11
22
-56
0
-58
14
2
1
0
-2
0
0
0
0
0
0
0
1
1
7
54
79
7
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-2
0
0
0
0
0
0
0
0
0
0
81
-15
35
49
-15
116
0
113
-78
1
-1
0
0
0
0
0
0
-59
25
3
-33
-4
42
13
121
57
-1
3
0
0
0
0
0
0
56
-3
-6
40
56
-10
20
-16
-40
50
0
0
0
0
0
0
0
63
-8
-106
-11
-23
124
-44
-34
-65
-7
9
0
0
0
0
0
0
-24
71
22
7
-54
75
49
-28
14
-7
0
0
0
0
0
0
0
20
-8
28
180
-64
47
-26
-122
2
0
0
0
0
0
0
0
0
0
0
0
-8
-5
26
-83
2
-1
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
-4
0
-15
0
0
0
0
0
0
0
0
0
0
0
1
6
-6
-8
63
0
-61
33
12
0
0
0
0
0
0
0
0
-4
38
-5
49
22
-57
24
-71
39
1
-2
0
0
0
0
0
0
10
-7
-4
26
-3
-19
-4
-69
0
2
0
0
0
0
0
0
0
-6
-1
2
30
38
24
5
0
14
0
0
0
0
0
0
0
0
0
0
-2
38
6
-64
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
1
1
3
-6
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
0
0
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
19
0
3
0
0
0
0
0
0
0
0
0
0
6
5
6
-3
27
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
38
0
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-14
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
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
4
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-10
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-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
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
-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
5
6
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
-2
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
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
-8
-28
-1
5
-25
0
1
0
0
0
0
0
0
0
3
12
0
14
-111
-35
-72
-28
18
1
0
0
0
0
0
0
0
0
-2
0
1
-75
-3
-15
-35
29
26
0
0
0
0
0
0
0
0
0
0
18
-11
1
-3
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-31
4
47
-40
0
0
0
0
0
0
0
0
-2
0
1
-3
-6
15
12
37
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
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
2
0
0
0
-1
-7
-8
11
0
0
0
0
0
0
0
0
0
-15
1
-7
-3
8
-56
74
-52
31
13
1
0
0
0
0
0
0
0
0
0
-1
-45
-8
-81
33
-105
-4
0
0
0
0
0
0
0
4
0
0
1
-13
4
20
6
-2
4
0
0
0
0
0
0
0
-1
0
4
0
-31
31
-15
-12
-12
0
0
0
0
0
0
0
0
0
0
0
16
-43
15
7
17
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
43
0
-20
23
-12
118
72
0
-59
0
0
0
0
0
0
0
3
8
-6
5
-24
-26
58
44
36
28
-7
0
0
0
0
0
0
-7
3
1
-11
12
15
19
-3
22
5
-1
0
0
0
0
0
0
0
3
0
0
-21
12
21
-12
-2
0
0
0
0
0
0
0
0
0
0
8
-10
-2
49
64
77
-1
-4
0
0
0
0
0
0
0
0
0
-8
4
-4
-14
-55
98
5
0
0
0
0
0
0
0
0
0
0
0
0
-20
4
3
-55
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-11
0
-22
6
-8
70
140
50
0
-78
4
0
0
0
0
0
0
83
-5
6
-65
-96
-35
51
-72
-101
18
5
0
0
0
0
0
0
11
-25
-23
-3
-56
20
-57
1
-71
9
7
0
0
0
0
0
0
0
-2
34
-6
-2
-8
34
-77
53
0
0
0
0
0
0
0
0
29
-5
3
2
50
0
-9
-12
83
11
0
0
0
0
0
0
0
0
0
21
1
1
3
3
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-60
3
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-3
25
0
24
66
-36
-3
-83
0
60
0
0
0
0
0
0
0
-75
42
7
-19
30
100
97
124
70
-42
-53
4
0
0
0
0
0
29
-116
-58
14
-2
-1
-11
66
16
-2
3
0
0
0
0
0
0
14
1
-32
-23
-98
0
-64
25
-73
7
0
0
0
0
0
0
0
-2
-70
12
-58
0
22
24
19
12
-14
0
0
0
0
0
0
0
0
-1
10
6
-70
41
6
29
-23
-2
0
0
0
0
0
0
0
0
0
3
8
-17
-27
-43
-20
0
9
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
27
-2
13
0
-66
-15
18
45
0
55
10
0
0
0
0
0
0
-30
-96
-123
-28
51
39
-126
36
-109
-8
-17
0
0
0
0
0
0
-74
-48
-35
111
-9
-30
73
-23
13
39
0
0
0
0
0
0
0
9
108
7
-55
-47
1
-22
48
-46
-107
2
0
0
0
0
0
0
26
-36
38
-3
57
-4
-9
1
130
-2
6
0
0
0
0
0
0
0
6
-14
22
34
-70
-16
-35
1
-2
0
0
0
0
0
0
0
1
-7
-2
0
-35
13
59
0
-76
7
0
0
0
0
0
0
0
0
-18
0
30
0
13
0
-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
-53
-39
9
-147
-27
90
-10
-46
0
-23
66
0
0
0
0
0
0
-128
-51
54
18
-74
46
-61
-33
20
34
42
0
0
0
0
0
0
-11
-42
31
-175
31
-157
36
-84
-105
-15
-28
0
0
0
0
0
0
20
-81
-54
-62
9
-80
-102
-19
30
2
-1
0
0
0
0
0
0
17
-109
-26
-68
22
29
-13
-33
2
2
0
-10
0
0
0
0
0
0
-31
-25
52
-48
-2
0
-57
-105
6
-5
0
0
0
0
0
0
0
-65
4
11
-2
-51
-21
54
51
10
0
0
0
0
0
0
0
0
0
0
0
0
13
12
-11
80
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
-18
19
-40
92
-187
68
-6
-4
0
-19
-83
0
0
0
0
0
0
19
-62
50
-30
-136
-2
128
-52
5
6
-91
-31
0
0
0
0
0
-115
-62
97
91
37
-39
32
-173
63
-13
-59
0
0
0
0
0
0
84
14
40
-86
16
20
-109
7
-49
9
-7
0
0
0
0
0
0
42
50
32
84
-8
-6
-45
-25
-12
3
-12
0
0
0
0
0
0
-24
32
-8
-45
44
73
11
90
18
37
0
0
0
0
0
0
0
-5
-11
116
74
67
-21
-86
44
16
12
10
0
0
0
0
0
0
0
-1
-3
14
-4
65
71
-97
-11
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
0
0
0
0
0
0
0
0
0
0
-120
48
-48
34
-77
26
76
0
-79
31
8
0
0
0
0
0
0
28
42
30
31
71
31
4
51
-42
22
-29
1
0
0
0
0
0
48
-79
-96
40
-59
52
121
152
11
-40
17
0
0
0
0
0
0
99
19
-85
-5
-28
-143
-66
-71
35
30
14
2
0
0
0
0
0
2
-75
76
-88
9
10
25
8
-92
0
11
0
0
0
0
0
0
48
33
-82
-39
-37
-67
10
5
-116
-19
-4
0
0
0
0
0
0
-15
-11
-11
38
-80
-60
-57
0
46
0
0
0
0
0
0
0
0
4
3
-1
0
-42
-117
8
19
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
3
0
0
0
0
0
0
0
0
0
-14
84
27
-3
-14
47
0
-97
97
-8
0
0
0
0
0
0
0
11
15
21
-132
65
13
-3
23
104
-8
0
0
0
0
0
0
0
-9
27
-48
-73
13
-15
-48
5
-54
3
-2
0
0
0
0
0
0
7
-7
-5
21
-5
-4
-83
-32
0
4
0
0
0
0
0
0
0
13
-7
1
55
-98
-80
157
-13
0
0
0
0
0
0
0
0
0
8
0
-18
44
34
-7
43
41
-8
0
0
0
0
0
0
0
0
-2
0
0
-18
7
-43
-36
6
3
0
0
0
0
0
0
0
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
5
0
0
3
-10
0
-24
-62
-16
0
0
0
0
0
0
0
0
11
-4
5
5
3
-37
10
-15
-4
3
0
0
0
0
0
0
0
16
10
0
-68
22
26
21
6
-11
0
0
0
0
0
0
0
0
3
-10
0
8
-3
2
-20
-38
0
0
0
0
0
0
0
0
0
2
2
2
5
0
57
15
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
8
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
11
-1
9
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
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
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
0
0
5
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
-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
-3
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
3
2
62
77
-73
17
0
0
0
0
0
0
0
0
0
-4
0
0
5
-9
1
-50
15
0
0
0
0
0
0
0
0
0
18
0
42
-47
-8
0
75
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-11
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-11
3
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
4
5
0
-4
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
42
-16
2
0
0
0
0
0
0
0
0
0
0
-33
0
-6
-47
-11
25
0
54
-3
0
0
0
0
0
0
0
3
-4
-3
22
10
-45
72
1
54
-10
0
0
0
0
0
0
0
0
0
-6
0
-18
47
-34
4
4
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
58
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
-45
84
0
-16
0
0
0
0
0
0
0
0
0
0
2
0
-4
-27
0
-52
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
4
0
0
0
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
4
3
51
-5
-40
-28
0
0
0
0
0
0
0
0
0
0
-42
-5
-15
-69
5
37
-54
55
68
0
0
0
0
0
0
0
1
5
0
-5
14
31
57
31
-52
-2
0
0
0
0
0
0
0
32
0
0
4
13
4
-103
71
-23
23
0
0
0
0
0
0
0
-1
-14
-2
0
29
18
-28
-7
51
-1
0
0
0
0
0
0
0
0
-5
0
-5
0
-55
136
14
-1
0
0
0
0
0
0
0
0
7
0
0
-7
-52
5
23
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
-11
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
-10
-51
48
8
0
-37
3
0
0
0
0
0
0
3
52
6
50
40
-85
29
-57
25
3
0
0
0
0
0
0
0
0
-32
17
15
31
57
-32
57
87
-9
0
0
0
0
0
0
0
-7
-2
7
0
-1
-6
-32
-152
16
1
0
0
0
0
0
0
0
0
-4
-72
14
0
7
13
12
50
0
0
0
0
0
0
0
0
0
6
-7
-1
23
0
46
17
69
-11
0
0
0
0
0
0
0
0
-14
-1
0
-11
-48
53
15
28
0
0
0
0
0
0
0
0
0
0
0
-2
-8
2
26
6
-27
0
0
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
5
-28
-5
10
-81
0
-1
1
0
0
0
0
0
0
-3
59
7
33
34
36
46
-90
46
9
-11
0
0
0
0
0
0
10
17
-51
-25
21
43
-31
-16
13
34
-1
0
0
0
0
0
0
27
-7
-24
-41
0
58
-13
86
-66
-69
0
0
0
0
0
0
0
-4
3
0
9
-26
0
14
-13
101
-43
0
0
0
0
0
0
0
0
-65
-34
-29
0
-10
0
3
-79
7
0
0
0
0
0
0
0
0
1
-1
8
-51
0
47
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
8
83
11
-93
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
-27
15
-34
-35
76
-69
-16
-54
0
-76
0
0
0
0
0
0
0
-16
84
-32
-156
74
93
57
3
7
37
-1
-7
0
0
0
0
0
69
25
23
-30
62
59
124
-62
63
-75
-24
0
0
0
0
0
0
68
-13
23
-29
-9
20
29
-21
-41
-40
0
0
0
0
0
0
0
5
-9
-5
13
-64
-14
0
15
12
7
0
0
0
0
0
0
0
0
14
-3
-44
18
-1
24
-6
58
-4
1
0
0
0
0
0
0
-8
5
70
-28
85
-25
-57
-96
3
1
0
0
0
0
0
0
0
0
8
-9
0
2
22
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-4
0
0
0
0
0
0
0
0
-12
-29
54
17
54
124
6
-73
0
-55
-5
0
0
0
0
0
0
-72
-140
-86
-9
53
86
-24
-100
67
101
-53
8
0
0
0
0
0
11
98
-87
52
-12
3
-78
-49
-49
21
2
0
0
0
0
0
0
36
-16
-108
-78
48
19
-22
43
-74
4
-1
0
0
0
0
0
0
-26
-52
-42
114
53
92
18
0
26
6
0
0
0
0
0
0
0
-2
91
0
-39
19
-43
-19
0
0
9
0
0
0
0
0
0
0
1
-12
12
166
26
-8
-105
-34
-70
0
0
0
0
0
0
0
0
0
-33
1
44
23
4
35
-69
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
0
0
0
0
-9
37
-118
161
26
145
13
-115
0
-41
1
3
0
0
0
0
0
37
-75
-56
-62
10
4
43
-19
44
-14
49
16
0
0
0
0
0
-30
110
5
-57
-110
-108
107
-65
89
-99
0
3
0
0
0
0
0
-9
37
113
83
-66
22
-13
-122
-12
4
37
-17
0
0
0
0
0
-14
-4
13
-64
-62
-83
-36
-9
6
-84
0
0
0
0
0
0
0
72
103
-6
-99
-50
-34
-26
-14
7
0
-6
0
0
0
0
0
0
-7
-2
-19
-91
-141
-130
79
-65
-109
-75
0
0
0
0
0
0
0
0
-25
0
63
-14
-65
10
62
-13
1
0
0
0
0
0
0
0
0
0
0
0
-25
-6
-115
-18
0
0
0
0
0
0
0
0
0
0
-70
-40
-6
31
11
60
76
0
6
-19
-4
0
0
0
0
0
0
-2
51
28
-44
22
-48
35
-15
-94
38
1
0
0
0
0
0
0
30
-58
-120
116
17
-22
84
89
-51
-44
6
0
0
0
0
0
0
9
-33
98
-69
-35
-100
95
-17
-9
6
0
0
0
0
0
0
0
-14
-43
-125
-75
-20
58
9
-34
0
13
0
0
0
0
0
0
0
27
-32
52
-141
-12
-56
67
4
12
0
0
0
0
0
0
0
0
3
-126
-1
-71
34
173
67
4
44
4
0
0
0
0
0
0
0
0
7
13
4
14
20
-97
-42
0
0
0
0
0
0
0
0
0
0
0
5
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
21
0
7
8
13
-8
0
46
23
-32
0
0
0
0
0
0
0
-3
-13
-35
43
62
-65
4
100
-83
16
19
0
0
0
0
0
0
39
43
7
160
40
-54
61
-92
1
4
0
0
0
0
0
0
0
2
13
-1
8
-8
98
-143
-9
9
0
0
0
0
0
0
0
0
45
4
4
-22
24
4
-47
-13
0
0
0
0
0
0
0
0
0
0
-1
0
79
-34
58
-40
0
-16
0
0
0
0
0
0
0
0
0
-1
0
-7
27
34
-9
2
5
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
0
0
-19
0
0
0
0
0
0
0
0
0
0
-1
2
0
-44
5
0
31
-15
-9
0
0
0
0
0
0
0
0
-11
-2
0
23
10
-41
36
10
28
0
0
0
0
0
0
0
0
11
-9
-5
7
0
-17
-6
17
-13
0
0
0
0
0
0
0
0
11
-5
9
-9
-23
0
12
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
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
1
0
-7
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
-20
0
2
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-2
1
0
22
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
-17
-21
35
0
0
0
0
0
0
0
0
0
0
0
3
3
20
2
-3
34
0
0
0
0
0
0
0
0
0
0
0
-7
21
-14
4
9
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
7
0
-9
2
-7
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
0
0
0
0
-1
-38
5
-1
0
0
0
0
0
0
0
0
0
0
-4
0
1
6
-10
31
9
-48
-1
0
0
0
0
0
0
0
0
11
0
-8
-33
-6
38
27
-19
0
0
0
0
0
0
0
0
-3
7
-4
-40
6
-12
42
28
-4
3
0
0
0
0
0
0
0
0
0
-2
0
-11
-4
54
22
19
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-1
-6
-20
-9
5
0
0
0
0
0
0
0
0
0
0
15
0
11
-13
7
0
0
0
0
0
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
-8
-7
1
0
-3
0
0
0
0
0
0
0
8
-17
0
12
-6
-73
-29
-2
111
41
0
0
0
0
0
0
0
18
3
0
-8
-55
-86
2
142
-121
9
0
0
0
0
0
0
0
3
12
-1
3
-62
-52
-14
82
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
-35
-12
3
26
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
-2
-6
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
-12
-28
-7
0
-1
0
0
0
0
0
0
0
0
0
-3
-3
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
26
-1
58
-21
68
44
0
-3
-13
0
0
0
0
0
0
1
-62
7
-14
-32
106
-8
29
6
38
-6
0
0
0
0
0
0
0
35
25
27
18
4
32
-35
47
-3
1
0
0
0
0
0
0
0
15
60
68
39
-80
82
297
-97
34
0
0
0
0
0
0
0
16
2
14
0
-51
-4
-21
33
-14
0
0
0
0
0
0
0
0
0
11
3
-12
0
50
24
-16
0
0
0
0
0
0
0
0
0
0
3
-1
0
-28
0
-46
-35
20
2
0
0
0
0
0
0
0
0
0
-2
-2
0
-16
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
0
0
0
-1
-9
14
-14
-44
30
-79
0
-114
1
0
0
0
0
0
0
-1
-9
25
20
-49
18
-3
-4
-20
-33
-1
0
0
0
0
0
0
6
97
0
2
-35
131
-2
-79
45
56
0
0
0
0
0
0
0
-8
28
5
32
34
-100
-46
-16
-52
70
5
0
0
0
0
0
0
0
-32
49
-56
-19
-50
1
-70
-113
-6
0
0
0
0
0
0
0
0
7
-20
3
-45
0
21
4
-11
1
0
0
0
0
0
0
0
0
0
10
-19
0
39
0
45
18
-1
0
0
0
0
0
0
0
0
0
10
0
0
41
-18
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
13
2
9
12
-61
3
13
-95
0
-74
7
0
0
0
0
0
0
0
14
0
11
107
-45
9
-87
117
-88
5
0
0
0
0
0
0
57
1
-1
-55
61
75
-109
2
-34
-1
-3
0
0
0
0
0
0
51
-41
15
132
-41
83
-75
73
25
10
-5
0
0
0
0
0
0
-35
-40
-8
-102
-17
2
-69
-1
-72
0
0
0
0
0
0
0
0
-4
-70
-48
-8
-65
-50
0
49
-20
-11
0
0
0
0
0
0
0
-14
14
17
-8
-34
16
20
0
-120
-5
0
0
0
0
0
0
0
0
-8
0
-72
-15
7
7
33
0
27
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
107
51
-1
2
-1
13
-39
0
-5
15
0
0
0
0
0
0
-67
-43
-70
-6
34
52
18
-44
82
-62
29
0
0
0
0
0
0
37
-13
-35
21
-116
-25
32
-47
-9
75
0
0
0
0
0
0
0
66
-16
-6
-59
4
-94
15
-63
18
11
0
0
0
0
0
0
0
7
-17
-40
26
-25
21
-60
-36
6
-56
0
0
0
0
0
0
0
0
-34
11
68
-50
57
-53
0
42
6
0
0
0
0
0
0
0
1
-6
4
-36
-67
15
0
-48
-4
-3
0
0
0
0
0
0
0
0
-3
-22
-54
26
35
13
21
-50
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
71
6
-64
-36
74
-29
-30
98
0
-21
-7
0
0
0
0
0
0
21
22
-50
94
34
-84
69
4
27
23
11
32
0
0
0
0
0
40
-29
12
18
-48
105
70
-2
19
6
-3
0
0
0
0
0
0
-180
-135
15
-3
19
-74
-46
188
-47
-125
0
0
0
0
0
0
0
-13
48
25
18
34
-72
7
3
-57
0
0
0
0
0
0
0
0
-3
-12
47
-75
44
20
-16
-8
0
-21
0
0
0
0
0
0
0
-14
14
-91
-119
-7
49
37
3
16
0
0
0
0
0
0
0
0
-35
5
25
-26
-37
-26
-61
-4
31
-38
0
0
0
0
0
0
0
0
0
0
-24
6
-6
-55
2
-2
0
0
0
0
0
0
0
0
0
-84
-9
107
25
-50
-26
78
0
47
-72
2
0
0
0
0
0
0
-60
-71
18
-77
33
-30
11
11
78
5
-6
0
0
0
0
0
0
-55
-22
-32
-63
-54
27
13
24
-65
-18
0
0
0
0
0
0
0
-50
-71
104
-128
10
-36
48
75
-70
-1
0
0
0
0
0
0
0
114
-29
137
-37
120
70
67
-39
36
0
0
0
0
0
0
0
0
56
-71
-21
-3
65
107
46
106
0
2
0
0
0
0
0
0
0
-58
-54
-59
-5
-68
41
86
-10
-38
0
0
0
0
0
0
0
0
0
-27
-33
40
-78
8
28
-105
-16
-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
33
0
41
-16
87
27
0
24
1
0
0
0
0
0
0
0
0
-20
16
84
72
30
22
-14
11
-2
6
0
0
0
0
0
0
0
-19
-16
11
-71
9
8
49
-31
-3
0
0
0
0
0
0
0
0
20
25
1
1
-48
41
-35
-42
-1
0
0
0
0
0
0
0
0
-8
1
8
-39
-93
-5
-99
0
-9
0
0
0
0
0
0
0
0
-5
0
0
-3
-3
-81
9
-4
0
0
0
0
0
0
0
0
0
3
0
0
32
43
-11
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
5
34
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
0
0
0
0
0
0
-5
0
0
12
-24
-4
0
0
0
0
0
0
0
0
0
-2
0
-24
-15
-9
6
52
-5
-5
0
0
0
0
0
0
0
4
-10
0
-9
-5
3
1
-3
0
0
0
0
0
0
0
0
0
-2
9
0
8
21
-2
-14
0
0
0
0
0
0
0
0
0
0
-21
5
0
0
3
11
17
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
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
-18
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-37
0
0
0
0
0
0
0
0
0
0
0
9
2
77
2
83
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-33
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
-32
1
52
43
-12
0
0
0
0
0
0
0
0
0
0
0
7
1
68
-48
25
0
0
0
0
0
0
0
0
-9
0
0
-7
-19
26
4
57
3
20
0
0
0
0
0
0
0
1
32
3
-4
6
-16
-25
-11
32
0
0
0
0
0
0
0
0
0
0
0
-5
0
-15
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
17
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
-10
-1
-12
7
0
-2
0
0
0
0
0
0
0
0
3
5
0
0
2
5
92
-1
1
0
0
0
0
0
0
0
0
0
0
0
49
-15
31
-57
5
12
0
0
0
0
0
0
0
0
0
-22
-12
25
-39
10
64
27
-24
0
0
0
0
0
0
0
0
-4
-2
0
-20
4
4
3
57
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
4
0
-12
0
-15
-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
-8
1
18
-62
-12
0
0
0
0
0
0
0
0
0
0
-18
0
0
13
37
59
-83
-2
-5
-2
0
0
0
0
0
0
0
4
0
0
26
-7
-70
12
28
-25
0
0
0
0
0
0
0
6
2
-2
-11
1
6
-37
-22
26
0
0
0
0
0
0
0
0
-2
-1
-15
-26
-57
15
-20
8
3
1
0
0
0
0
0
0
0
0
-1
-16
0
0
-5
7
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
4
26
-1
0
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
0
0
23
0
0
0
0
0
0
0
0
0
0
0
7
-13
-27
-2
28
0
-2
0
0
0
0
0
0
0
0
-35
-2
-1
54
20
58
-47
-90
49
0
0
0
0
0
0
0
0
24
-1
-3
-40
-23
67
39
27
-6
0
0
0
0
0
0
0
-19
0
13
-3
4
-20
51
43
2
-24
0
0
0
0
0
0
0
0
-17
-5
-1
11
10
-32
11
58
0
0
0
0
0
0
0
0
0
12
1
-29
0
18
0
96
8
-2
0
0
0
0
0
0
0
0
0
3
0
12
0
-16
-2
1
0
0
0
0
0
0
0
0
0
-4
0
7
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
0
6
0
-2
7
-81
61
0
8
0
0
0
0
0
0
0
0
9
-3
-34
95
-111
-49
48
74
83
2
0
0
0
0
0
0
-2
22
16
103
-85
17
151
-66
-34
-79
0
0
0
0
0
0
0
-2
-4
12
151
-2
37
-18
35
28
2
0
0
0
0
0
0
0
0
27
7
-8
-55
-48
17
12
-1
0
0
0
0
0
0
0
0
-19
13
-16
25
46
2
13
0
18
-4
0
0
0
0
0
0
0
0
-34
-1
0
-6
-9
0
-22
2
0
0
0
0
0
0
0
0
0
25
1
-6
5
0
-6
0
3
0
0
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
6
8
91
-33
15
4
0
-42
-9
0
0
0
0
0
0
-7
44
17
43
-12
12
40
123
-85
19
-2
0
0
0
0
0
0
2
-36
9
-65
21
-79
1
38
130
20
-2
0
0
0
0
0
0
88
120
21
13
88
10
37
-52
17
-20
0
0
0
0
0
0
0
-21
-116
-23
31
-3
13
22
-158
19
2
-2
0
0
0
0
0
0
0
40
67
11
-72
49
1
39
-3
-3
0
0
0
0
0
0
0
0
13
-31
9
-82
-54
-45
0
-40
0
0
0
0
0
0
0
0
0
8
-2
-8
-49
-117
5
28
0
29
0
0
0
0
0
0
0
0
0
0
13
-1
0
42
23
0
0
0
0
0
0
0
0
0
-48
24
-84
13
0
-43
-46
-117
0
-35
3
0
0
0
0
0
0
-60
-5
-15
-52
29
94
153
-15
109
-4
-52
0
0
0
0
0
0
32
-126
-102
-36
-35
-21
37
81
-22
12
12
0
0
0
0
0
0
60
-46
-94
-44
-22
16
25
9
29
26
2
0
0
0
0
0
0
57
-17
-31
153
21
-58
55
-12
-42
7
0
0
0
0
0
0
0
-68
-45
-99
-51
8
-2
-60
-13
-87
0
-3
0
0
0
0
0
0
7
31
-3
-20
82
-63
50
33
0
-13
0
0
0
0
0
0
0
0
-5
-6
25
11
-104
57
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
3
10
5
0
0
0
0
0
0
0
0
0
71
59
67
-108
84
38
-23
0
25
-48
0
0
0
0
0
0
0
-36
0
115
7
2
48
-18
118
44
-80
5
0
0
0
0
0
0
-78
-4
19
48
-10
50
-10
21
48
-5
0
0
0
0
0
0
0
4
-16
-101
-27
-22
99
59
55
32
29
0
0
0
0
0
0
0
-5
-10
3
-47
149
28
55
143
-36
0
0
0
0
0
0
0
0
45
21
3
16
43
79
-51
7
-145
0
0
0
0
0
0
0
0
-7
50
-33
56
10
124
-38
52
0
0
0
0
0
0
0
0
0
-4
4
-5
21
-29
-1
-61
4
29
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
-6
28
0
43
27
-59
0
161
-27
0
0
0
0
0
0
0
0
58
14
5
28
62
-4
-12
37
41
0
0
0
0
0
0
0
0
34
-9
-4
63
16
7
45
-3
30
0
0
0
0
0
0
0
0
15
6
45
-39
75
22
79
113
39
0
0
0
0
0
0
0
0
59
-6
-6
-107
-38
-8
-2
53
0
0
0
0
0
0
0
0
0
-12
-5
0
-24
65
-84
37
-3
9
0
0
0
0
0
0
0
0
0
1
7
-14
21
5
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
6
0
0
0
12
0
2
18
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-16
12
3
11
0
0
0
0
0
0
0
0
5
0
0
2
5
37
5
-4
17
0
0
0
0
0
0
0
0
0
0
-4
11
11
9
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
-1
-4
5
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-2
0
0
0
3
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-14
-2
0
0
0
0
0
0
0
0
0
-2
0
-6
2
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
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
-7
0
-4
0
3
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-47
0
26
0
0
0
0
0
0
0
0
0
0
-2
0
0
11
0
56
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-45
0
0
0
0
0
0
0
0
0
0
4
0
0
27
4
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
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
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-10
-11
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
38
-65
0
0
0
0
0
0
0
0
-9
0
6
0
0
-4
-9
20
19
0
0
0
0
0
0
0
0
0
-2
-3
0
-4
-34
-64
-5
0
0
0
0
0
0
0
0
0
0
-11
-11
0
0
21
11
0
6
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
-41
-8
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-56
-34
-19
-1
-24
0
0
0
0
0
0
0
0
-6
0
0
15
-12
-37
-20
62
67
0
0
0
0
0
0
0
-13
-12
0
-12
-2
-47
2
37
2
-31
0
0
0
0
0
0
0
0
3
10
1
-16
49
-69
-28
101
0
0
0
0
0
0
0
0
13
7
42
-2
-17
19
-13
32
28
0
0
0
0
0
0
0
0
0
11
2
0
29
0
2
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
17
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
-5
0
-2
1
18
-91
14
0
-1
0
0
0
0
0
0
0
0
38
-3
-24
-27
-32
119
-91
-82
-3
-1
0
0
0
0
0
0
19
53
-1
68
-135
41
62
25
-208
32
0
0
0
0
0
0
0
110
18
0
39
-96
-26
62
-30
-71
-15
0
0
0
0
0
0
0
0
-35
-9
-26
13
-10
196
56
-9
0
0
0
0
0
0
0
0
-2
-16
-19
52
-193
92
5
31
-34
0
0
0
0
0
0
0
0
22
22
28
15
115
-83
-5
11
0
-1
0
0
0
0
0
0
0
0
21
0
0
-2
-132
43
0
15
0
0
0
0
0
0
0
0
0
0
9
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
7
-15
17
-43
-29
-76
-159
62
0
22
0
0
0
0
0
0
0
-3
-63
10
19
-7
21
-47
-72
47
47
14
0
0
0
0
0
0
139
-7
29
36
-129
6
54
48
-13
-63
3
0
0
0
0
0
0
26
-21
-13
17
-21
12
-97
53
12
-66
-6
0
0
0
0
0
0
112
-50
17
2
57
80
6
118
21
-3
-10
0
0
0
0
0
0
-52
-10
81
-68
-56
-14
-4
80
22
53
0
0
0
0
0
0
0
-27
2
-69
101
-26
14
23
0
50
0
0
0
0
0
0
0
0
20
-4
-9
-49
-41
-87
-76
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
22
-10
0
-1
0
0
0
0
0
0
0
0
0
7
-4
64
51
65
45
40
0
-28
0
0
0
0
0
0
0
0
39
-43
-96
-22
5
17
32
-178
-5
-9
0
0
0
0
0
0
0
52
-21
0
57
24
-30
72
67
49
24
1
0
0
0
0
0
0
60
-82
36
-39
12
66
-60
-31
-99
-15
0
0
0
0
0
0
0
13
-11
47
8
33
119
74
118
0
2
0
0
0
0
0
0
0
-89
-81
-26
4
-60
-23
39
95
-32
0
0
0
0
0
0
0
0
-14
-52
-42
-39
-30
13
-23
-6
-26
0
0
0
0
0
0
0
0
3
-8
12
-18
58
41
100
48
0
0
0
0
0
0
0
0
0
0
26
0
0
6
-42
13
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
-5
0
29
0
30
0
0
0
0
0
0
0
0
0
27
-4
0
59
10
2
73
-46
-61
0
0
0
0
0
0
0
0
25
34
0
-9
103
44
8
-27
7
0
0
0
0
0
0
0
0
57
2
7
65
-18
41
20
-39
31
0
0
0
0
0
0
0
0
-2
1
8
17
114
20
-67
-5
-14
0
0
0
0
0
0
0
0
-25
6
-4
-28
51
45
0
-2
0
0
0
0
0
0
0
0
0
0
-22
-1
-45
-2
-14
-51
0
0
0
0
0
0
0
0
0
0
0
-17
2
1
0
-9
22
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
-4
0
-10
1
0
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-19
0
0
0
0
0
0
0
0
0
2
0
0
-2
5
11
0
-4
0
0
0
0
0
0
0
0
0
0
-6
3
-3
12
-1
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
-3
0
0
-6
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
-4
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
-83
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
17
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
-4
-52
-18
-5
0
0
0
0
0
0
0
0
-26
0
0
0
-6
19
28
-50
24
0
0
0
0
0
0
0
0
35
-35
-4
18
18
0
-42
0
-10
0
0
0
0
0
0
0
0
10
-14
1
-59
0
20
1
6
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
-7
15
3
0
0
0
0
0
0
0
0
0
0
0
-17
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
6
61
12
5
0
0
0
0
0
0
0
0
0
0
0
-1
19
10
52
-66
-41
17
0
0
0
0
0
0
0
0
121
0
0
67
-23
28
96
81
57
-7
0
0
0
0
0
0
0
72
6
0
154
26
100
147
26
-185
-1
0
0
0
0
0
0
0
25
67
18
49
-54
13
-11
3
40
7
0
0
0
0
0
0
0
43
-72
9
142
13
-134
125
12
0
4
0
0
0
0
0
0
0
-41
-50
1
109
-18
-6
-9
0
0
-6
0
0
0
0
0
0
0
30
-9
-20
87
55
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
95
-18
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
108
0
0
0
0
0
0
0
0
0
0
-21
0
0
10
0
-121
-10
52
7
0
0
0
0
0
0
0
0
0
-13
0
21
-20
3
-13
6
-4
-4
0
0
0
0
0
0
0
0
0
0
34
23
16
-3
-47
6
0
0
0
0
0
0
0
0
11
-2
-8
10
-68
-48
-6
40
-5
0
0
0
0
0
0
0
0
0
0
-4
31
-31
22
-1
27
0
0
0
0
0
0
0
0
0
0
0
3
10
-22
1
0
4
0
0
0
0
0
0
0
0
0
0
6
0
2
-11
54
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
59
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-4
24
0
0
0
0
0
0
0
0
0
1
0
0
-9
0
6
-33
0
2
0
0
0
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
0
-32
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
3
-1
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
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
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
9
-4
153
-2
-4
0
0
0
0
0
0
0
0
0
0
0
26
-3
-23
57
-42
-40
0
0
-5
0
0
0
0
0
0
0
0
-22
-31
-28
69
15
27
-2
-2
61
0
0
0
0
0
0
0
0
58
-18
-70
-27
23
70
-42
7
95
0
0
0
0
0
0
0
0
-3
72
16
48
13
42
8
-4
3
0
0
0
0
0
0
0
0
0
5
-18
-55
53
-7
-28
0
0
0
0
0
0
0
0
0
0
3
0
24
17
-39
0
0
0
-5
0
0
0
0
0
0
0
0
0
-52
0
-9
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
-1
0
47
-14
-9
11
-26
4
0
-13
0
0
0
0
0
0
0
0
201
21
-14
-127
53
-26
0
-21
0
0
0
0
0
0
0
0
-32
17
-14
-134
24
16
85
82
169
78
0
0
0
0
0
0
0
-2
1
60
27
-10
-42
-17
0
44
-47
0
0
0
0
0
0
0
-3
110
17
104
-33
-102
37
-42
-32
-15
0
0
0
0
0
0
0
0
52
0
88
7
-55
7
-18
-2
1
0
0
0
0
0
0
0
0
-1
16
-4
2
-68
49
-50
-28
5
0
0
0
0
0
0
0
0
0
25
-1
48
-6
2
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
-11
31
0
50
62
-12
-38
3
0
-3
-6
0
0
0
0
0
0
-15
0
-19
14
-7
119
46
0
0
0
-14
0
0
0
0
0
0
0
41
115
8
-59
36
12
157
38
-30
-96
0
0
0
0
0
0
7
-60
132
55
-59
-34
-6
24
-8
24
-123
0
0
0
0
0
0
0
90
57
-1
39
13
14
138
17
-22
-1
0
0
0
0
0
0
0
48
-22
-23
13
80
30
12
-42
3
1
0
0
0
0
0
0
0
0
-27
-22
47
39
18
-128
50
0
-18
0
0
0
0
0
0
0
0
5
53
-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
1
88
0
-20
20
0
-1
0
0
0
8
0
0
0
0
0
23
-102
-2
79
1
87
-25
0
0
0
-26
1
0
0
0
0
0
0
0
-102
-51
174
-40
-40
33
-18
26
-37
18
0
0
0
0
0
-7
-23
105
56
7
103
6
118
82
30
25
-3
0
0
0
0
0
1
-22
-59
13
102
-92
-72
-4
111
-6
-6
-4
0
0
0
0
0
-4
3
80
96
34
-11
5
11
-74
-37
0
0
0
0
0
0
0
0
0
3
53
-74
10
16
2
2
-1
-3
0
0
0
0
0
0
0
0
0
-4
15
-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
0
0
0
0
-10
32
0
-13
0
0
0
0
1
0
0
0
0
0
0
0
28
84
10
83
0
-40
0
4
0
-27
1
0
0
0
0
0
0
0
-10
3
57
-10
-64
-21
21
40
-2
-5
0
0
0
0
0
-4
19
28
66
19
110
-20
14
-79
-24
-5
5
0
0
0
0
0
0
56
12
74
17
90
23
12
-1
-25
-9
0
0
0
0
0
0
0
-14
4
45
84
36
-12
16
5
-18
0
7
0
0
0
0
0
0
0
9
5
11
-41
5
5
0
0
0
0
0
0
0
0
0
0
0
0
38
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
12
-1
-1
-25
0
6
4
0
0
-1
0
0
0
0
0
0
0
9
17
-46
-5
-34
0
0
39
0
-17
-1
0
0
0
0
0
-31
10
-43
-49
-132
-35
-35
-5
49
-21
7
6
0
0
0
0
0
9
-74
3
-27
-132
63
-14
11
2
54
19
0
1
0
0
0
0
0
4
36
40
-42
95
44
39
9
8
7
1
0
0
0
0
0
0
0
44
-8
2
-12
10
-43
0
9
0
0
0
0
0
0
0
0
0
0
0
14
1
26
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
10
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
6
0
13
22
0
2
0
0
2
0
0
0
0
0
0
0
2
-27
81
25
-1
1
0
-25
0
-19
2
0
0
0
0
0
0
0
5
-92
-27
35
-45
-101
78
38
4
-7
0
0
0
0
0
0
-48
-79
-51
1
8
-26
35
5
-59
8
-1
-1
0
0
0
0
0
4
22
8
-21
-13
22
40
20
1
24
0
0
0
0
0
0
-1
8
-1
5
13
25
-26
-12
-37
3
0
0
0
0
0
0
0
0
0
0
26
-20
0
0
-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
-2
0
0
0
1
0
0
0
0
0
0
0
0
-3
-2
2
-13
0
0
0
0
-29
13
0
0
0
0
0
0
0
-29
53
-105
-4
-22
2
21
23
3
-2
1
0
0
0
0
0
-6
-21
-41
23
3
2
8
-10
-14
22
0
-12
0
0
0
0
0
7
3
7
-6
39
61
5
-23
-4
7
0
0
0
0
0
0
0
0
1
-2
-1
-44
1
7
-7
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-10
22
-20
1
0
0
0
0
0
0
0
0
0
0
22
-5
9
-32
45
-3
29
0
-15
0
0
0
0
0
0
0
0
18
113
157
-17
37
-15
-45
127
-34
0
0
0
0
0
0
0
0
0
-33
63
29
69
50
4
2
-76
0
0
0
0
0
0
0
0
-60
-33
-18
-56
-44
-83
78
2
9
0
0
0
0
0
0
0
0
0
56
126
6
49
48
-21
9
5
0
0
0
0
0
0
0
0
-3
34
-42
23
9
8
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
0
0
0
-66
-7
-77
15
34
-37
3
0
23
0
0
0
0
0
0
0
19
105
-164
38
122
59
22
0
-52
0
0
0
0
0
0
0
0
-4
19
-58
-75
-7
-50
-1
-48
-50
-55
0
0
0
0
0
0
0
-44
119
-50
-1
-37
-86
167
47
99
-33
0
0
0
0
0
0
0
25
1
12
20
54
42
-47
-24
5
8
0
0
0
0
0
0
0
-14
172
-17
45
-89
96
15
83
40
68
0
0
0
0
0
0
0
-12
5
-30
114
19
81
78
35
66
24
0
0
0
0
0
0
0
0
2
22
-16
-79
-19
-1
-1
2
1
0
0
0
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-35
11
13
46
-106
-35
0
2
32
0
0
0
0
0
0
-13
20
66
-77
45
78
-61
0
32
0
106
0
0
0
0
0
0
5
36
16
124
24
59
88
141
67
39
-63
0
0
0
0
0
0
32
69
88
97
84
8
6
150
63
16
35
0
0
0
0
0
0
-2
-71
11
-75
-110
48
77
-24
20
-44
35
0
0
0
0
0
0
11
24
-41
20
-105
27
1
47
-32
40
-19
0
0
0
0
0
0
-20
-21
8
-112
27
-149
59
-22
4
3
0
0
0
0
0
0
0
0
0
0
12
41
-4
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
0
20
-5
45
2
0
-126
-17
0
-1
20
-1
0
0
0
0
0
2
-8
86
28
57
58
46
0
-10
0
48
8
0
0
0
0
0
-1
15
-32
-71
0
-67
-43
-1
6
45
155
2
0
0
0
0
0
2
73
6
-45
80
46
-23
3
-12
171
-30
-4
0
0
0
0
0
-10
-60
87
-9
19
19
-75
26
19
-36
-20
3
0
0
0
0
0
-3
-53
8
35
128
-110
1
99
47
62
4
1
0
0
0
0
0
0
0
-3
-44
-35
0
34
14
-18
0
6
0
0
0
0
0
0
0
0
-4
-4
10
2
-29
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
1
108
4
68
0
-64
-7
0
-4
-3
0
0
0
0
0
0
-63
25
-43
28
-3
-17
76
0
3
0
64
-3
0
0
0
0
0
31
6
113
27
-73
55
44
-19
64
54
-42
-9
0
0
0
0
0
-2
-18
-38
-81
146
-27
-26
7
-86
18
-7
2
-1
0
0
0
0
-2
34
4
-65
-57
25
-19
-146
-18
61
-3
-3
0
0
0
0
0
0
13
-1
-65
49
71
-21
-3
-3
18
-5
8
-4
0
0
0
0
0
0
-10
-25
-15
-90
-12
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
55
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
9
2
-86
10
40
0
6
0
5
4
0
0
0
0
0
0
0
14
8
-41
43
109
46
0
3
0
-17
4
0
0
0
0
0
2
-75
-98
-24
7
91
-113
110
-32
42
70
-50
5
0
0
0
0
-11
23
-3
-2
128
-21
-1
21
114
33
-30
8
4
0
0
0
0
22
12
-54
-63
-5
30
87
-78
11
-17
-1
4
0
0
0
0
0
0
9
12
24
80
88
64
-28
-22
10
0
6
4
0
0
0
0
0
0
16
22
6
0
-8
-49
-1
-2
-1
0
0
0
0
0
0
0
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
19
71
-52
-2
-3
15
0
0
0
11
0
-1
0
0
0
0
0
8
-27
-51
-15
68
41
0
-6
0
-29
8
0
0
0
0
0
2
15
53
12
-26
176
-46
14
16
65
-18
2
-9
0
0
0
0
-3
-4
68
-8
47
51
-15
-48
-9
124
3
0
12
0
0
0
0
-11
20
-213
-86
83
27
18
55
-31
-41
-52
-18
0
0
0
0
0
-9
81
-2
70
84
31
27
-39
-2
-45
-3
0
5
0
0
0
0
0
0
-1
30
47
-24
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
3
2
-9
0
0
1
0
2
12
0
0
0
0
0
0
0
0
16
2
-2
0
7
0
-3
0
42
5
0
0
0
0
0
0
-11
5
35
47
7
12
14
-56
-33
6
1
0
1
0
0
0
1
2
-86
-66
4
58
50
12
-21
27
6
0
1
0
0
0
0
0
34
90
62
58
-11
151
-13
3
-37
-3
4
0
0
0
0
0
0
-2
8
22
1
25
16
-2
3
-3
0
0
0
0
0
0
0
0
0
5
0
-8
16
-6
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
7
3
-2
-2
5
0
0
0
0
0
0
0
2
-27
43
14
-56
3
-6
-9
13
0
0
0
0
0
0
0
0
0
29
-7
-11
-6
41
0
5
1
5
0
0
0
0
0
0
0
0
0
0
6
4
-11
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
16
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
4
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
31
0
0
-2
-1
11
0
6
0
0
0
0
0
0
0
0
0
1
32
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
8
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
4
-4
0
3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
139
88
-12
0
0
0
0
0
0
0
0
0
0
0
22
28
-24
116
56
57
-4
0
30
0
0
0
0
0
0
0
0
9
-35
11
-52
164
-73
60
61
-177
0
0
0
0
0
0
0
0
-45
-70
2
136
8
116
-22
75
52
0
0
0
0
0
0
0
0
0
43
-55
-81
8
-5
109
-8
75
0
0
0
0
0
0
0
0
6
111
51
-28
-151
28
-60
-14
2
0
0
0
0
0
0
0
0
-22
-4
23
51
14
12
2
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
-7
-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
45
-21
6
-153
-133
53
18
31
0
12
0
0
0
0
0
0
0
-8
-19
-97
-63
90
27
-49
0
43
0
0
0
0
0
0
0
0
22
147
-30
43
55
40
-117
3
23
-11
0
0
0
0
0
0
0
-5
68
-92
-41
-148
34
68
75
82
-75
0
0
0
0
0
0
0
-43
-24
-24
-48
-23
1
-21
46
176
109
0
0
0
0
0
0
0
-1
88
74
90
-132
-24
-49
48
22
75
0
0
0
0
0
0
0
0
11
104
-124
57
2
183
-33
-1
-15
0
0
0
0
0
0
0
0
0
47
55
26
21
-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
82
-21
-27
-60
102
-53
-54
0
11
-96
0
0
0
0
0
0
-51
39
28
65
12
-27
7
0
56
0
52
0
0
0
0
0
0
24
32
76
-23
-16
47
-29
147
64
-45
-112
0
0
0
0
0
0
15
-13
-57
38
-24
68
77
80
67
-18
52
0
0
0
0
0
0
-1
85
41
-11
131
-67
-4
20
39
14
-18
0
0
0
0
0
0
0
-69
-24
86
112
-23
9
5
45
-90
3
0
0
0
0
0
0
0
-2
210
41
63
48
-11
22
-7
0
0
0
0
0
0
0
0
0
0
3
-3
2
58
8
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
-4
3
63
9
111
-6
109
14
0
0
-60
1
0
0
0
0
0
0
23
18
23
51
7
85
0
-14
0
24
-9
0
0
0
0
0
-6
20
-81
50
105
1
-10
69
57
95
68
-16
0
0
0
0
0
-13
14
-18
8
26
-98
2
12
-4
26
27
-14
0
0
0
0
0
21
1
67
35
-40
-23
59
25
22
35
2
0
0
0
0
0
0
0
-5
-146
30
2
-94
10
157
22
-1
6
0
0
0
0
0
0
0
-5
-20
-73
41
-2
-9
53
12
0
0
0
0
0
0
0
0
0
0
-67
0
7
-18
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
32
3
-2
-91
-61
74
-2
0
-5
6
0
0
0
0
0
0
8
-8
78
-7
-29
74
52
0
-3
0
-18
1
2
0
0
0
0
0
15
52
0
22
-71
26
39
29
-47
-8
-114
0
0
0
0
0
-5
-16
-4
-64
-23
-82
126
25
4
15
22
-3
0
0
0
0
0
-8
-1
0
93
-8
-53
57
41
35
26
-22
-6
0
0
0
0
0
0
31
36
71
12
29
-2
-15
-10
1
-16
0
0
0
0
0
0
0
2
14
-1
75
-3
10
-5
0
0
0
0
0
0
0
0
0
0
0
1
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
-4
17
-32
-42
-22
150
0
0
6
0
4
0
0
0
0
0
-7
20
-56
24
-12
28
-63
0
12
0
-22
5
-10
0
0
0
0
-16
-3
107
-10
49
11
31
39
25
-89
55
-3
-2
0
0
0
0
0
-28
-29
-71
-42
-28
132
-25
18
-42
2
2
-2
0
0
0
0
-1
-67
46
-158
-2
20
44
-6
33
-2
1
0
0
0
0
0
0
0
-12
18
-25
27
37
13
8
-29
0
-5
-2
0
0
0
0
0
0
0
-50
-8
-4
3
-11
-4
3
0
0
0
0
0
0
0
0
0
0
4
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
9
-38
55
-51
-22
61
0
0
-6
-1
0
0
0
0
0
0
-9
-12
-31
89
117
0
-10
0
-23
0
14
-11
3
0
0
0
0
0
0
12
-23
36
67
-2
-10
-19
9
6
-5
0
0
0
0
0
0
27
-67
47
-18
-27
-17
16
6
-21
16
0
4
0
0
0
0
-12
10
-26
69
-30
-21
-54
-27
47
-8
-2
0
0
0
0
0
0
0
-3
65
26
58
-46
46
-49
0
3
-4
0
0
0
0
0
0
0
0
55
-42
23
-36
2
8
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
0
0
0
0
0
0
0
0
0
0
-14
15
41
-3
26
0
0
-5
0
0
0
0
0
0
0
0
17
-20
-1
37
-39
1
0
-3
0
68
-8
1
0
0
0
0
-8
-45
31
-1
-12
13
-10
0
-11
-8
-2
1
0
-8
1
0
0
0
4
-8
6
-41
0
-12
-42
6
13
-18
0
5
0
0
0
0
0
-32
-19
-218
-17
-48
-33
-4
-118
-12
10
0
1
0
0
0
0
0
-1
-8
25
6
65
-25
0
-2
6
5
0
0
0
0
0
0
0
0
17
6
16
-50
3
0
0
0
0
0
2
0
0
0
0
0
0
0
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
12
-27
1
-19
5
0
0
0
0
0
0
0
0
0
0
0
1
-44
-37
-19
54
13
0
0
0
13
0
0
0
0
0
0
0
13
61
-12
16
14
-3
-4
0
-5
0
-7
0
0
0
0
0
0
0
7
2
-11
-22
36
2
5
-24
4
-1
0
0
0
0
0
0
-4
19
17
-7
6
69
5
-61
27
0
-3
0
0
0
0
0
0
0
16
-20
21
33
-6
1
0
-2
11
0
0
0
0
0
0
0
0
1
-32
-11
-1
-2
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-1
7
11
-9
0
0
0
3
0
0
0
0
0
0
0
0
15
4
-1
9
48
0
0
0
0
5
0
0
0
0
0
0
-11
6
11
63
1
2
0
-3
2
0
0
0
0
0
0
0
0
0
0
50
4
16
54
8
1
-5
0
0
0
0
0
0
0
0
0
-7
23
-23
-53
16
10
0
-5
2
0
0
0
0
0
0
0
0
6
0
-20
0
1
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
-3
0
0
0
0
0
2
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
9
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
39
9
75
-7
2
0
0
0
0
0
0
0
0
0
113
-72
-150
59
-11
63
-14
0
-1
0
0
0
0
0
0
0
0
41
-14
37
79
26
177
-23
41
11
0
0
0
0
0
0
0
0
-2
79
23
-36
-98
20
28
-28
85
0
0
0
0
0
0
0
0
33
30
147
52
-115
31
-78
5
-9
0
0
0
0
0
0
0
0
-7
-50
6
65
76
-140
-11
2
2
0
0
0
0
0
0
0
0
0
57
-59
-39
-70
-27
0
0
11
0
0
0
0
0
0
0
0
0
-27
6
-11
0
-5
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
41
29
-75
39
-42
8
-11
-5
0
-2
0
0
0
0
0
0
0
84
-63
114
-53
150
14
-124
0
42
0
0
0
0
0
0
0
0
58
61
-2
-35
34
44
-142
-93
27
-27
0
0
0
0
0
0
0
82
19
149
-12
143
44
-80
-196
27
62
0
0
0
0
0
0
0
0
-8
34
0
-118
-9
-9
43
-29
60
0
0
0
0
0
0
0
8
19
-4
19
-48
50
-15
7
-84
-47
0
0
0
0
0
0
0
0
10
-87
-8
-12
10
62
11
-15
-12
0
0
0
0
0
0
0
0
1
-8
99
-18
2
-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
-58
13
-93
-26
45
-94
106
-14
0
29
-7
0
0
0
0
0
0
-1
79
62
4
44
42
78
0
23
0
97
0
0
0
0
0
0
56
44
-2
70
27
22
-64
23
-116
-32
-41
0
0
0
0
0
0
6
-32
46
-31
58
17
38
61
-41
43
-21
0
0
0
0
0
0
11
5
79
71
37
38
-59
-74
-18
111
-9
0
0
0
0
0
0
0
121
20
83
-55
-26
-34
-12
53
85
0
0
0
0
0
0
0
0
-13
-56
-40
7
-70
-19
-110
-11
7
0
0
0
0
0
0
0
-3
0
27
-67
2
-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
48
-52
19
21
189
-70
3
0
-22
1
0
0
0
0
0
0
19
-38
70
-17
12
41
16
0
-20
0
-19
-6
0
0
0
0
0
6
-4
20
16
97
42
32
-132
-92
38
-37
5
0
0
0
0
0
3
-15
16
-1
204
-58
-3
24
-18
-52
17
1
0
0
0
0
0
0
15
-42
-60
40
62
33
-46
42
63
44
-4
0
0
0
0
0
0
-33
-52
34
-48
87
28
43
-6
29
-6
0
0
0
0
0
0
0
18
36
-78
13
-53
-5
11
-1
-1
0
0
0
0
0
0
0
0
0
9
35
16
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
114
-25
-94
-5
0
0
11
6
15
0
0
0
0
0
6
53
-24
-7
-13
-46
119
0
-19
0
-65
5
2
0
0
0
0
0
-91
-77
-18
-57
17
43
118
44
10
-104
41
0
0
0
0
0
0
33
26
77
1
-7
-20
-52
21
83
-8
-3
0
0
0
0
0
0
52
-38
0
-52
7
-57
63
55
-8
-64
-1
0
0
0
0
0
0
-24
2
-26
-19
46
-93
31
-26
19
0
0
0
0
0
0
0
0
0
41
-86
-65
46
48
0
7
0
0
0
0
0
0
0
0
0
0
23
12
13
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
1
10
3
10
103
-4
43
-17
0
0
-1
0
0
0
0
0
0
0
20
6
-19
34
4
-6
0
-5
0
24
-19
13
0
0
0
0
0
-5
-4
15
-7
67
-16
73
-88
-30
19
12
0
0
0
0
0
0
99
-63
26
-24
0
-24
6
-3
15
-10
0
0
0
0
0
0
0
7
64
30
-6
37
0
12
0
-14
0
1
0
0
0
0
0
0
17
35
-40
23
42
-36
19
0
-2
1
0
0
0
0
0
0
0
0
0
70
7
4
-13
1
0
0
-7
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-139
64
27
6
-20
1
0
-4
-2
0
0
0
0
0
0
0
50
12
-17
11
-75
92
0
0
0
6
2
-1
0
0
0
0
0
8
14
-97
83
-13
29
14
-15
-29
-22
0
0
0
0
0
0
-2
-1
34
3
23
34
0
14
3
11
-7
2
0
0
0
0
0
0
6
-81
13
-138
5
20
-2
1
-12
0
0
0
0
0
0
0
0
4
-35
-41
-2
106
4
0
-66
3
-4
0
0
0
0
0
0
0
0
-33
4
31
-1
12
0
-7
0
0
0
0
0
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
0
0
0
0
0
0
0
-10
2
3
-89
5
0
0
0
-1
1
0
0
0
0
0
0
-12
-82
36
27
-59
-10
-5
0
0
0
-5
4
0
0
0
0
0
1
35
-70
24
42
-42
13
11
-7
25
2
0
0
0
0
0
0
0
-4
-31
-22
-39
24
-3
0
17
-16
1
0
6
0
0
0
0
0
0
9
-41
23
88
0
-7
0
47
0
0
0
0
0
0
0
0
1
7
-7
-168
4
13
2
0
-7
0
0
0
0
0
0
0
0
-15
13
96
7
-3
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
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
19
38
5
-66
-11
48
1
0
0
0
0
0
0
0
0
0
0
8
-13
-32
60
10
-6
0
0
0
-2
0
0
0
0
0
0
0
-1
-23
-63
-7
9
2
0
-4
0
0
0
0
0
0
0
0
0
-1
10
21
16
14
5
-8
0
0
0
0
0
0
0
0
0
0
-1
16
58
1
-15
39
0
0
0
0
0
0
0
0
0
0
0
0
-4
-28
8
26
5
7
0
4
0
0
0
0
0
0
0
0
0
-2
-2
-20
2
15
-4
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
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
49
1
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
1
-2
2
0
-9
2
0
0
0
0
0
0
0
0
0
-1
18
-9
5
-5
-5
-4
0
0
0
0
0
0
0
0
0
0
-19
0
-13
4
23
24
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-5
-12
7
-6
0
0
0
0
0
0
0
0
0
0
0
16
0
14
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-123
106
-22
60
-44
4
0
0
0
0
0
0
0
0
0
0
32
45
13
58
-21
59
-21
0
-54
0
0
0
0
0
0
0
0
7
-29
-21
38
-13
-51
25
22
60
0
0
0
0
0
0
0
0
56
41
39
19
-40
68
-75
-14
-24
0
0
0
0
0
0
0
0
0
-19
-25
101
-79
75
-13
-1
-5
0
0
0
0
0
0
0
0
-3
-1
87
-90
36
22
-27
-8
-60
0
0
0
0
0
0
0
0
-5
-8
-17
45
16
2
-3
0
2
0
0
0
0
0
0
0
0
0
43
-4
76
-16
-16
-9
0
0
0
0
0
0
0
0
0
0
0
20
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
82
59
72
49
43
16
-1
0
1
0
0
0
0
0
0
0
6
-9
-83
-24
-71
91
4
0
-104
0
0
0
0
0
0
0
0
-157
-21
-37
-5
-2
14
-6
-71
17
-62
0
0
0
0
0
0
0
0
-13
121
80
14
-85
-62
-29
18
-87
0
0
0
0
0
0
0
3
0
-69
-42
7
58
-58
35
17
46
0
0
0
0
0
0
0
0
94
63
-14
81
102
-52
19
47
54
0
0
0
0
0
0
0
0
-2
87
-37
-54
132
-116
-60
47
24
0
0
0
0
0
0
0
0
-10
2
139
-75
-43
-1
6
2
0
0
0
0
0
0
0
0
0
-4
13
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
-23
-35
-67
143
23
-56
2
-6
0
12
2
0
0
0
0
0
0
9
17
48
-9
44
87
-92
0
61
0
80
0
0
0
0
0
0
0
37
-59
54
-67
0
-12
-24
11
-68
-40
0
0
0
0
0
0
-92
18
-52
4
-11
24
56
-16
-39
-92
9
0
0
0
0
0
0
3
27
0
170
19
-4
22
-54
-3
-16
-1
0
0
0
0
0
0
-1
1
50
13
63
-77
98
14
58
15
4
0
0
0
0
0
0
0
-45
-71
-66
7
-27
-18
72
-4
26
0
0
0
0
0
0
0
0
-4
23
-16
104
38
21
25
15
0
0
0
0
0
0
0
0
3
0
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
60
117
-59
27
35
100
4
0
4
24
0
0
0
0
0
0
0
73
121
44
-16
-1
-78
0
-39
0
103
4
0
0
0
0
0
1
-28
-153
28
-21
58
-166
80
-58
112
-71
-8
0
0
0
0
0
0
111
13
-74
46
118
-11
2
-4
160
-27
-13
0
0
0
0
0
-5
-4
27
0
-29
-64
-94
23
80
17
1
0
0
0
0
0
0
0
-29
0
-67
-3
-56
50
118
-78
18
-7
0
0
0
0
0
0
0
0
45
-33
9
-134
122
1
-28
28
0
0
0
0
0
0
0
0
0
14
-22
-150
-55
-7
-11
-9
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
-24
16
38
87
31
-8
-41
0
0
-7
0
0
0
0
0
0
-10
6
-5
-50
37
-138
0
0
-18
0
41
-4
0
0
0
0
0
-1
13
44
173
19
17
-15
-62
-24
-27
22
-5
0
0
0
0
0
0
67
36
1
12
3
132
-33
33
29
-35
0
0
0
0
0
0
0
-17
106
-16
0
16
97
63
51
67
0
0
0
0
0
0
0
0
-15
23
3
7
-7
-29
29
3
6
0
0
0
0
0
0
0
0
-43
-2
70
-121
-3
19
-1
43
6
0
0
0
0
0
0
0
0
-7
1
-6
-83
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
7
-20
-51
54
20
-25
-2
0
0
0
0
0
0
0
0
0
0
14
-48
43
25
-60
4
0
-6
0
28
-8
-6
0
0
0
0
0
12
13
-47
63
1
-62
-22
-17
-72
0
4
0
0
0
0
0
0
83
24
-2
-4
38
9
-39
28
-1
4
7
0
0
0
0
0
0
43
25
-39
144
0
-30
-37
31
-1
0
0
0
0
0
0
0
0
-2
-28
59
0
53
2
28
-14
10
0
0
0
0
0
0
0
0
1
50
-5
23
7
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
58
-7
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-93
-23
-47
-18
39
6
0
0
2
0
0
0
0
0
0
0
-6
-13
29
11
-130
8
0
-3
0
8
0
0
0
0
0
0
-16
20
28
-2
-41
52
-7
8
86
23
-9
4
-2
0
0
0
0
0
-12
-20
6
-28
-1
60
0
-61
-59
-9
0
-1
0
0
0
0
0
-3
-10
-6
-23
-53
0
12
12
-3
0
0
0
0
0
0
0
0
0
-8
70
-61
-1
34
-4
44
-5
0
0
0
0
0
0
0
0
0
-3
97
-1
31
7
-4
3
0
0
0
0
0
0
0
0
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
0
0
0
0
-27
-6
11
34
0
13
0
0
0
0
0
0
0
0
0
0
0
-5
50
18
8
-27
18
0
0
0
-1
0
0
0
0
0
0
0
5
67
27
40
-85
43
3
6
50
0
4
0
0
0
0
0
0
23
34
-2
12
42
5
-2
0
-8
-2
0
0
0
0
0
0
0
-1
1
39
-5
-46
-8
0
-24
48
0
0
0
0
0
0
0
0
8
-33
35
-56
61
0
-4
0
-4
0
0
0
0
0
0
0
0
0
-70
-16
-2
2
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-29
1
0
0
11
0
0
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
-6
-7
8
22
0
0
0
-1
0
0
0
0
0
0
0
-28
49
36
44
35
4
0
0
0
0
0
0
0
0
0
0
0
11
13
-3
-2
-18
0
-8
-11
-12
0
0
0
0
0
0
0
0
0
-10
-9
3
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
23
14
18
-15
-5
-9
0
0
0
0
0
0
0
0
0
0
0
17
0
2
11
-17
9
0
0
3
0
0
0
0
0
0
0
0
-4
10
60
15
10
-2
0
1
0
0
0
0
0
0
0
0
0
0
-7
-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
-7
-6
-8
-3
3
0
0
0
0
0
0
0
0
0
0
0
-3
20
-40
0
-24
-2
0
0
0
-1
0
0
0
0
0
0
0
13
26
-68
-13
-26
-8
0
-9
1
0
0
0
0
0
0
0
0
0
18
-8
7
57
5
18
0
-5
0
0
0
0
0
0
0
0
0
2
-8
4
-2
0
21
8
0
0
0
0
0
0
0
0
0
0
4
56
9
-28
21
-9
0
0
0
0
0
0
0
0
0
0
10
-12
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-2
3
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-24
47
-7
0
0
0
0
0
0
0
0
0
0
0
2
-5
-124
99
25
-84
8
0
23
0
0
0
0
0
0
0
0
-5
-54
-46
-93
52
48
11
-64
-77
0
0
0
0
0
0
0
0
-56
23
100
53
165
37
22
-60
-123
0
0
0
0
0
0
0
0
-40
-1
77
16
26
3
2
23
-101
0
0
0
0
0
0
0
0
0
-6
69
10
50
74
26
-45
10
0
0
0
0
0
0
0
0
2
0
-30
-106
50
-1
2
47
-12
0
0
0
0
0
0
0
0
0
59
-2
39
-5
47
-8
0
0
0
0
0
0
0
0
0
0
0
-24
32
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
6
95
26
-38
-49
0
0
-56
0
0
0
0
0
0
0
-6
50
45
-86
27
5
2
0
109
0
0
0
0
0
0
0
0
-24
-13
30
-60
-7
-116
-32
149
20
-129
0
0
0
0
0
0
0
-6
73
101
-13
-93
-32
24
-91
107
113
0
0
0
0
0
0
0
0
93
19
3
-43
-12
29
61
70
114
0
0
0
0
0
0
0
0
0
33
1
2
79
-35
35
14
51
0
0
0
0
0
0
0
0
-7
1
20
17
45
-52
-2
6
16
0
0
0
0
0
0
0
-8
-7
57
-63
-45
39
-17
33
0
0
0
0
0
0
0
0
0
0
-3
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
119
63
46
-2
-35
-3
0
-8
25
0
0
0
0
0
0
-4
125
-67
-45
-18
49
14
0
-4
0
38
0
0
0
0
0
0
-48
-5
46
35
6
-23
-15
-77
125
-1
13
0
0
0
0
0
0
-5
-23
3
-52
16
0
-47
12
-100
6
21
0
0
0
0
0
0
-25
7
-19
4
-17
-41
68
-115
13
9
15
0
0
0
0
0
0
0
9
0
19
-22
-65
100
59
-47
54
-6
0
0
0
0
0
0
9
0
66
-46
43
78
74
38
-4
-10
0
0
0
0
0
0
0
0
6
-32
-4
41
15
-14
10
9
0
0
0
0
0
0
0
0
0
-15
4
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
65
18
99
-20
-94
135
28
0
19
-4
-8
0
0
0
0
0
2
-19
-35
93
-90
56
-90
0
-60
0
-47
0
0
0
0
0
0
-16
-40
-20
25
-11
-89
-15
18
63
4
-47
5
0
0
0
0
0
13
-15
111
-3
95
-24
42
-83
18
16
4
0
0
0
0
0
0
-7
-67
-4
78
42
100
4
92
-23
-2
-18
0
0
0
0
0
0
3
25
-57
0
2
96
104
53
77
-1
5
0
0
0
0
0
0
0
-4
3
-6
5
77
-7
27
0
2
0
0
0
0
0
0
0
0
0
57
-21
36
-13
-3
-16
1
0
0
0
0
0
0
0
0
0
15
0
15
0
0
2
0
0
0
0
0
0
0
0
0
0
0
34
123
-5
-20
34
-1
-19
0
0
2
0
0
0
0
0
0
0
39
117
2
38
23
-45
0
2
0
-16
-3
0
0
0
0
0
0
-2
-143
67
119
80
2
7
63
-17
0
-57
0
0
0
0
0
3
-67
9
65
-2
40
-38
78
-24
43
-2
0
0
0
0
0
0
0
2
47
-3
45
3
57
-7
-25
-148
-8
0
0
0
0
0
0
0
-4
-31
-28
0
124
-5
19
10
-10
0
0
0
0
0
0
0
0
0
-47
0
-18
8
65
-34
-15
2
0
0
0
0
0
0
0
0
-3
0
-16
-21
10
0
32
0
2
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
-6
44
-12
7
11
6
0
0
0
-7
0
0
0
0
0
0
0
39
-109
0
5
-74
65
0
5
0
3
11
-1
0
0
0
0
0
9
26
-19
-27
-50
12
24
-4
36
25
2
0
0
0
0
0
0
17
7
24
61
124
-24
50
90
-3
22
-2
0
0
0
0
0
0
-27
-21
9
11
44
1
-38
11
9
0
0
0
0
0
0
0
0
-13
1
-4
34
0
22
0
14
0
0
0
0
0
0
0
0
0
0
12
2
0
6
7
-1
-2
4
0
0
0
0
0
0
0
0
0
-6
0
7
2
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
-48
2
-38
1
-23
0
0
0
0
0
0
0
0
0
0
0
-33
84
16
15
-12
-3
0
0
0
19
0
0
0
0
0
0
-7
6
49
32
-1
28
5
4
13
57
0
0
0
0
0
0
0
-2
-25
13
-37
48
55
44
23
7
0
0
-15
0
0
0
0
0
0
-39
20
-24
21
0
11
0
17
0
9
0
0
0
0
0
0
0
-8
2
23
3
-22
0
-22
-1
-2
0
0
0
0
0
0
0
0
0
-6
48
-38
0
9
0
-10
23
0
0
0
0
0
0
0
0
0
-21
8
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
-9
3
29
-47
0
10
0
0
0
0
0
0
0
0
0
0
0
18
91
-10
16
78
3
0
0
0
-6
0
0
0
0
0
0
0
-24
-24
38
-19
13
5
0
7
4
3
0
0
0
0
0
0
0
-21
5
-18
70
-31
48
-9
11
-5
-3
0
0
0
0
0
0
0
1
-13
36
40
43
-7
-3
0
0
0
0
0
0
0
0
0
0
57
-7
2
-4
3
0
0
9
0
0
0
0
0
0
0
0
0
2
5
-23
39
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-10
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
-22
0
18
11
0
0
0
0
2
0
0
0
0
0
0
0
-12
-33
5
-1
-1
50
0
0
0
0
0
0
0
0
0
0
0
-18
53
-35
-16
58
7
20
-8
1
0
0
0
0
0
0
0
0
12
7
-71
-123
88
-2
-45
0
7
-1
0
0
0
0
0
0
0
19
-9
-15
-16
-8
-23
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
-9
1
1
0
0
0
11
0
0
0
0
0
0
0
3
2
31
14
4
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
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
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
6
-5
-5
0
0
2
28
0
0
0
0
0
0
0
0
0
-1
16
1
29
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
17
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
15
-15
74
0
0
0
0
0
0
0
0
0
0
0
33
8
-8
52
25
-24
14
0
-45
0
0
0
0
0
0
0
0
-26
55
-114
-53
43
65
23
3
-9
0
0
0
0
0
0
0
0
-4
-99
9
35
-87
-10
-33
9
110
0
0
0
0
0
0
0
0
50
-1
42
40
9
-78
11
14
-38
0
0
0
0
0
0
0
0
3
19
-4
48
-61
64
-28
-29
-22
0
0
0
0
0
0
0
0
0
17
63
-6
18
21
-2
0
1
0
0
0
0
0
0
0
0
0
1
1
-37
-7
9
0
0
0
0
0
0
0
0
0
0
0
-9
-24
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
141
-16
27
-1
45
102
0
0
1
0
0
0
0
0
0
0
0
92
-88
-56
-44
40
-90
0
46
0
0
0
0
0
0
0
0
80
4
21
-130
-21
121
-15
46
112
63
0
0
0
0
0
0
0
-26
20
8
-80
45
-34
-41
-82
-26
123
0
0
0
0
0
0
0
34
51
3
-121
18
53
-119
-84
-14
-20
0
0
0
0
0
0
0
0
71
20
-63
70
34
79
-38
25
-89
0
0
0
0
0
0
0
3
0
-40
64
19
19
110
69
-1
4
0
0
0
0
0
0
0
0
78
5
16
28
16
2
-7
-7
-3
0
0
0
0
0
0
0
0
-29
-52
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-65
4
75
-78
10
-59
-2
0
0
9
0
0
0
0
0
0
-17
121
117
118
82
83
50
0
-8
0
24
0
0
0
0
0
0
-9
-70
59
142
7
90
-147
22
-61
-46
-14
0
0
0
0
0
0
0
73
-4
-10
-5
-48
4
-22
-57
0
4
0
0
0
0
0
0
0
5
36
-59
-50
71
-86
83
-13
51
-47
0
0
0
0
0
0
0
2
68
31
159
-78
75
-5
27
-26
-14
0
0
0
0
0
0
-4
18
0
30
26
6
-24
-14
42
56
0
0
0
0
0
0
0
14
0
37
2
104
-63
-22
-18
-4
0
0
0
0
0
0
0
0
0
78
-23
11
0
5
0
0
0
0
0
0
0
0
0
0
0
0
19
-12
-42
76
-4
-49
-7
0
-4
52
0
0
0
0
0
0
0
-7
19
42
6
33
-50
0
0
0
-89
7
0
0
0
0
0
0
-32
9
-23
46
-116
-16
16
10
-4
-103
-1
0
0
0
0
0
0
115
-6
61
95
-13
55
-70
96
-32
-24
-7
0
0
0
0
0
0
-4
-21
180
-80
54
-58
53
-41
140
34
1
0
0
0
0
0
0
52
5
10
1
79
33
-85
11
-30
-17
0
0
0
0
0
0
0
-4
-172
0
37
18
30
27
6
-41
0
0
0
0
0
0
0
0
-19
0
44
0
-55
39
-4
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
1
-50
33
-24
-11
-5
1
0
0
7
0
0
0
0
0
0
0
-50
140
34
44
62
-76
0
27
0
2
-5
0
0
0
0
0
1
-1
-74
-64
18
66
-26
-11
-2
-31
17
-2
0
0
0
0
0
0
0
-5
23
64
-67
-10
23
-18
3
0
8
0
0
0
0
0
0
-7
-10
59
13
-3
-44
-2
-1
15
-2
0
0
0
0
0
0
0
38
-4
2
-21
21
19
4
19
-3
5
0
0
0
0
0
0
0
0
0
-9
0
-6
18
-1
-4
0
15
0
0
0
0
0
0
0
0
8
0
13
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
107
5
5
0
6
0
0
0
0
0
0
0
0
0
0
0
-34
-8
-33
56
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
-61
50
-110
10
-44
58
7
0
0
0
0
0
0
0
45
6
23
-44
24
-52
-9
-1
4
0
1
0
0
0
0
0
0
-3
-23
7
2
-25
4
7
-3
-3
22
0
0
0
0
0
0
0
-47
-1
-53
4
60
0
9
13
-8
-2
0
0
0
0
0
0
0
0
2
0
-24
0
1
0
23
0
0
0
0
0
0
0
0
0
0
6
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
-3
0
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
34
-7
-6
-2
0
0
0
-5
0
0
0
0
0
0
0
0
-160
-10
43
4
0
2
-1
59
0
0
0
0
0
0
0
0
-2
-1
0
-61
75
21
-8
5
0
1
0
0
0
0
0
0
0
1
1
1
-7
-14
18
-5
7
0
0
6
0
0
0
0
0
0
5
-24
-1
12
0
17
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
-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
-1
29
0
12
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
23
59
25
-16
0
0
0
4
0
0
0
0
0
0
0
0
44
-5
-35
-32
12
0
16
37
0
0
0
0
0
0
0
0
20
-16
-3
-2
58
-9
0
-31
0
0
0
0
0
0
0
0
0
5
-14
-51
-100
3
-17
2
0
-9
-3
0
0
0
0
0
0
0
-1
15
16
0
9
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
9
-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
8
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
-10
2
20
0
0
0
0
0
0
0
0
0
0
0
-4
4
42
-10
-1
0
0
0
145
0
0
0
0
0
0
0
0
-25
-7
-7
-18
47
-12
15
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-5
3
22
21
0
-20
0
0
0
0
0
0
0
0
-1
-8
2
13
-49
-1
0
9
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
-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
2
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-17
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
-9
-61
-2
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
4
0
-15
0
-2
0
0
0
0
0
0
0
0
0
0
0
-12
12
1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-58
3
15
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
-13
21
36
-10
5
0
0
0
0
0
0
0
0
0
0
66
7
49
-12
12
0
-10
-5
-26
0
0
0
0
0
0
0
0
25
-101
33
26
-50
-35
-126
-3
-53
0
0
0
0
0
0
0
0
118
-56
-168
22
-17
-170
7
23
161
0
0
0
0
0
0
0
0
8
20
6
-47
-35
69
125
-7
58
0
0
0
0
0
0
0
0
2
0
33
6
71
-11
21
-38
109
0
0
0
0
0
0
0
0
0
-108
-25
35
0
7
11
19
-38
0
0
0
0
0
0
0
0
0
0
-20
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-41
-10
-63
17
-99
-3
0
0
0
0
0
0
0
0
0
0
-22
91
-17
-27
38
-49
0
-4
0
0
0
0
0
0
0
0
-29
-42
-52
-145
52
-19
-89
-22
-24
-78
0
0
0
0
0
0
0
-4
-62
-108
6
-30
-57
-83
-70
3
-133
0
0
0
0
0
0
0
-25
92
-8
16
-115
54
45
18
156
55
0
0
0
0
0
0
0
0
-8
-121
53
28
30
44
-55
20
1
0
0
0
0
0
0
0
0
-2
-7
44
39
90
103
131
-40
2
0
0
0
0
0
0
0
0
0
-36
-46
24
-2
-2
-16
1
4
0
0
0
0
0
0
0
0
-8
0
-20
-8
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-26
34
39
-20
14
1
0
0
0
0
0
0
0
0
0
0
76
-9
-44
4
10
-13
0
0
0
-110
0
0
0
0
0
0
50
-16
24
11
74
62
-67
21
-65
-61
22
0
0
0
0
0
0
2
-30
10
-44
-118
-3
37
-58
-4
-118
37
0
0
0
0
0
0
-18
-19
36
50
70
-34
-32
-52
11
8
49
0
0
0
0
0
0
0
-66
18
-99
28
56
-105
-46
-55
178
50
0
0
0
0
0
0
0
0
-81
0
103
81
-42
61
45
26
-8
0
0
0
0
0
0
0
54
0
16
-24
-20
4
0
0
5
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
-25
8
-27
-2
7
39
0
0
19
0
0
0
0
0
0
0
-11
-21
-27
28
84
81
0
0
0
-6
0
0
0
0
0
0
0
35
31
-17
16
36
-16
-23
-18
75
18
0
0
0
0
0
0
0
-87
-5
-7
-16
2
14
-7
111
81
-10
-10
0
0
0
0
0
0
-5
7
8
-90
-118
-33
16
-36
8
-9
0
0
0
0
0
0
0
-7
-55
26
144
-24
-11
-50
4
-2
0
1
0
0
0
0
0
0
0
-1
3
0
-15
-67
-22
2
-6
0
0
0
0
0
0
0
0
0
-7
0
10
46
0
0
0
0
0
0
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
-2
4
3
0
0
0
0
-3
0
0
0
0
0
0
0
-20
8
-2
-46
2
27
0
0
0
-1
0
0
0
0
0
0
-7
0
-1
-1
54
17
-32
-1
0
-1
-8
3
0
0
0
0
0
0
51
2
-32
29
-1
-39
-35
-7
-3
0
0
0
0
0
0
0
0
1
-10
84
42
14
-42
1
-15
22
0
-1
0
0
0
0
0
0
-14
0
-15
17
-43
2
-16
0
0
24
0
0
0
0
0
0
0
0
1
0
-3
0
-1
1
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
-9
0
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
-1
-35
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
17
-7
15
-6
0
0
4
0
0
0
0
0
0
0
0
1
11
-70
-58
-2
-2
0
-9
-10
0
0
0
0
0
0
0
0
-1
0
-52
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-2
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
-42
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
3
0
-21
0
-11
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
-7
50
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-2
3
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
2
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
29
99
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
-5
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
-5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
4
3
-7
-52
17
0
0
0
0
0
0
0
0
0
0
0
0
45
17
15
4
0
5
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
-21
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
2
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
124
-3
28
-9
-15
0
0
0
0
0
0
0
0
0
0
0
-2
-93
24
-1
13
-41
0
0
-10
0
0
0
0
0
0
0
0
2
23
13
12
-17
-67
2
0
-12
0
0
0
0
0
0
0
0
5
33
-19
-4
-63
-23
-71
-2
38
0
0
0
0
0
0
0
0
6
-114
24
0
-2
21
82
5
-87
0
0
0
0
0
0
0
0
1
-101
53
-44
26
-10
-10
18
-5
0
0
0
0
0
0
0
0
0
0
-88
-41
-10
89
8
33
0
0
0
0
0
0
0
0
0
0
6
-14
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-51
-26
76
-5
8
0
0
0
0
0
0
0
0
0
0
53
2
6
18
4
-15
-3
-1
-9
-111
0
0
0
0
0
0
0
0
124
-68
-5
-119
-11
-20
-3
42
-14
0
0
0
0
0
0
0
8
14
-56
10
-136
-11
-77
57
-19
-1
0
0
0
0
0
0
0
0
-24
75
-102
19
95
39
43
11
12
0
0
0
0
0
0
0
2
0
-12
7
14
48
20
10
16
0
0
0
0
0
0
0
0
0
0
0
-84
20
13
13
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
83
0
14
0
0
0
0
0
0
0
0
0
0
0
-6
2
34
64
-10
0
-5
0
1
23
1
0
0
0
0
0
0
0
-45
3
-12
-14
-3
15
-9
-7
-14
0
0
0
0
0
0
0
15
-10
-48
-4
79
48
-39
5
4
0
-10
0
0
0
0
0
0
0
-2
12
13
8
-13
-26
-31
-16
-17
-13
0
0
0
0
0
0
0
0
10
12
1
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
15
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-14
8
0
0
0
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
4
0
-4
2
0
0
0
4
0
0
0
0
0
0
0
0
-5
-32
5
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
-6
-5
0
-7
0
0
0
14
0
0
0
0
0
0
0
0
0
-12
-41
0
0
0
4
-2
0
-4
0
0
0
0
0
0
0
0
37
2
1
1
1
0
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
4
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
3
-29
-22
0
0
0
0
0
0
0
0
0
10
-18
16
-15
1
25
-71
-75
25
0
0
0
0
0
0
0
0
2
0
1
-22
0
33
-15
61
47
0
0
0
0
0
0
0
0
-13
-6
3
-7
-9
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-25
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
-32
31
24
-27
0
-66
0
0
0
0
0
0
0
-29
14
5
44
-59
133
32
127
-8
68
0
0
0
0
0
0
0
-3
61
-9
58
-22
104
117
57
153
42
0
0
0
0
0
0
0
8
-7
1
133
-83
88
-65
68
-65
39
0
0
0
0
0
0
0
0
-44
-4
13
-62
-72
-40
-69
67
-5
0
0
0
0
0
0
0
0
-37
5
0
5
-99
-9
75
42
-18
0
0
0
0
0
0
0
0
3
-5
0
23
-8
-61
-17
22
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
15
-39
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-7
24
0
-6
-15
-27
-45
46
0
29
-3
0
0
0
0
0
0
-4
-21
51
-154
9
3
54
-15
-41
0
-5
0
0
0
0
0
0
2
-20
1
4
-22
96
60
-50
-136
32
10
0
0
0
0
0
0
-5
-6
0
15
-124
13
24
20
52
13
-13
0
0
0
0
0
0
4
1
-10
23
9
-43
-13
-30
-3
-45
-10
0
0
0
0
0
0
0
13
-22
0
-7
-10
14
-22
52
14
0
0
0
0
0
0
0
0
0
-1
0
32
42
-2
95
11
34
0
0
0
0
0
0
0
0
0
0
-1
0
-5
1
7
-31
-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
14
-15
0
-10
-2
58
-7
0
-56
1
0
0
0
0
0
0
0
6
3
-1
20
-88
-4
-118
7
2
15
-12
0
0
0
0
0
0
-8
0
-5
-38
95
21
6
-45
-17
15
1
0
0
0
0
0
-1
4
-10
18
-1
-77
37
97
-10
-38
4
0
0
0
0
0
0
0
0
0
49
-1
1
-8
-68
41
3
1
0
0
0
0
0
0
0
0
6
-1
-14
12
75
-85
-2
-9
-14
0
0
0
0
0
0
0
0
0
-6
-3
12
-61
2
2
8
5
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
24
0
-5
17
-3
0
43
0
0
0
0
0
0
0
5
13
-18
-1
-21
-48
141
-63
-4
11
20
1
0
0
0
0
0
-1
15
32
6
16
-9
34
84
13
0
1
0
0
0
0
0
0
0
-16
0
3
1
8
-34
9
-7
1
0
0
0
0
0
0
0
0
-2
-10
9
-1
3
-53
-15
-17
-6
0
0
0
0
0
0
0
0
0
-6
0
25
5
14
-13
0
16
1
-1
0
0
0
0
0
0
0
0
0
0
-19
4
10
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
6
0
0
-8
0
30
12
0
22
-5
0
0
0
0
0
0
-5
34
29
3
19
32
-12
0
-112
-19
-5
0
0
0
0
0
0
-2
-2
-34
20
18
-41
-54
-16
51
5
0
0
0
0
0
0
0
0
0
0
16
0
-50
-13
39
4
-33
-9
0
0
0
0
0
0
0
-3
0
0
-11
-19
1
-5
-16
0
0
0
0
0
0
0
0
0
0
-6
-9
0
-29
7
27
0
5
-3
0
0
0
0
0
0
0
0
0
6
0
0
1
1
-17
-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
-3
6
0
0
20
14
0
36
0
15
2
0
0
0
0
0
0
-11
0
0
12
75
0
-6
119
-95
-1
14
-4
0
0
0
0
0
0
4
0
0
-39
-32
-9
87
-12
8
-1
-3
0
0
0
0
0
0
0
4
6
1
-9
5
-71
25
-2
0
8
0
0
0
0
0
0
0
0
32
-4
10
33
7
-7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
3
-9
0
0
0
0
0
0
0
0
0
2
11
-8
-4
5
-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
-7
0
0
11
13
1
0
0
4
9
0
0
0
0
0
0
-4
-8
-3
-6
-5
-12
5
-10
-23
0
-17
0
0
0
0
0
0
0
0
-4
2
5
27
34
7
-4
0
0
1
1
0
0
0
0
0
0
0
0
2
1
53
6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
32
11
-5
0
2
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
-3
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
-9
-81
-86
94
36
0
0
0
0
0
0
0
0
0
180
-3
139
-30
-68
56
61
-43
16
0
0
0
0
0
0
0
0
112
11
-27
51
33
38
37
47
-20
0
0
0
0
0
0
0
0
-32
2
0
30
13
-32
-32
0
23
0
0
0
0
0
0
0
0
52
0
0
10
108
-24
132
-11
37
0
0
0
0
0
0
0
0
1
0
0
0
24
20
23
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-18
-24
1
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
3
54
-17
-39
64
109
48
38
0
-107
0
0
0
0
0
0
0
-41
69
-110
78
-12
52
-12
25
0
-161
0
0
0
0
0
0
0
-4
-72
-25
110
85
90
58
-56
-69
2
0
0
0
0
0
0
0
14
19
-43
1
85
-150
-76
105
-32
-54
0
0
0
0
0
0
0
0
8
3
33
-105
-57
-10
-17
44
33
0
0
0
0
0
0
0
0
-149
12
0
38
18
20
-64
-36
61
0
0
0
0
0
0
0
0
-2
4
8
-69
-7
-98
-62
-49
5
0
0
0
0
0
0
0
0
-18
0
17
2
29
38
-52
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
43
59
-23
76
-73
-20
-26
-16
0
-41
-42
0
0
0
0
0
0
7
52
19
126
107
28
89
3
-41
-28
35
0
0
0
0
0
0
-20
27
59
-34
10
57
46
28
33
-53
-8
0
0
0
0
0
0
-15
-93
-49
-50
-18
-22
51
4
27
1
53
0
0
0
0
0
0
-6
32
22
-16
24
-40
43
130
-19
-46
-23
0
0
0
0
0
0
0
8
21
-1
-11
-33
-13
-23
-7
33
13
0
0
0
0
0
0
0
0
41
4
22
-22
79
16
-27
-33
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
6
23
-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
27
1
-25
88
12
-25
-77
0
34
55
-6
0
0
0
0
0
0
-15
-21
24
-85
82
-5
50
-85
-48
-55
-2
0
0
0
0
0
20
-2
-8
47
136
-39
-14
-45
-41
-77
-71
5
0
0
0
0
0
9
21
-28
28
-95
-55
-13
-63
-39
11
3
0
0
0
0
0
0
0
-67
-4
17
-15
-36
-63
9
-5
67
-7
2
0
0
0
0
0
0
4
32
1
0
85
-1
-46
24
3
3
0
0
0
0
0
0
0
1
0
7
23
-5
34
13
-13
-16
0
0
0
0
0
0
0
0
0
0
3
0
-5
-66
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
-23
-25
-25
14
33
4
42
74
0
-132
0
-1
0
0
0
0
0
17
-27
40
-26
5
25
-46
20
1
104
-101
27
0
0
0
0
0
3
-34
-24
-2
39
-42
1
3
-10
30
-3
1
0
0
0
0
0
0
-42
7
40
-26
27
1
-129
-18
53
4
0
0
0
0
0
0
1
0
14
-1
3
-2
-70
16
61
-11
27
10
0
0
0
0
0
0
-5
-10
8
-2
-1
-4
28
55
1
2
0
0
0
0
0
0
0
0
0
0
-3
116
-23
-1
23
2
1
0
0
0
0
0
0
0
1
0
0
0
0
-2
-12
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
9
-37
-12
3
32
6
-7
-22
0
55
0
0
0
0
0
0
0
0
-7
10
1
45
-1
20
-34
58
71
-49
7
2
0
0
0
0
-10
79
15
50
-53
65
-79
36
-54
-66
1
0
0
0
0
0
0
2
3
-1
-5
0
-67
90
15
-5
35
25
2
0
0
0
0
0
0
-1
2
-6
-3
-21
24
26
38
6
1
-5
6
0
0
0
0
0
-1
8
7
0
1
77
-21
-24
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-12
-1
8
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
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
5
-9
-9
-57
89
22
49
3
0
48
0
0
0
0
0
0
0
-2
1
-14
-45
131
5
-6
92
26
30
-15
-11
2
0
0
0
0
1
8
15
-16
-52
52
48
52
55
-12
30
3
0
0
0
0
0
-2
8
-6
-8
-16
-53
-22
67
-21
-7
-27
2
0
0
0
0
0
-10
6
-12
-7
1
24
31
-15
-14
12
-6
4
0
0
0
0
0
0
-8
5
0
0
-1
-7
78
49
1
0
0
-2
0
0
0
0
0
0
0
-1
-6
0
19
-13
-12
14
-7
15
0
0
0
0
0
0
0
-2
0
0
0
-18
-15
-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
-1
-2
23
51
33
0
-8
3
0
0
0
0
0
0
-5
4
18
-19
-23
-64
-7
2
61
12
-32
0
-2
0
0
0
0
-9
2
15
3
-11
6
-39
1
4
14
-9
-6
2
0
0
0
0
0
-6
10
9
-4
32
-14
0
-19
10
-1
0
0
0
0
0
0
0
0
2
15
-3
10
33
-2
-62
-4
0
1
0
0
0
0
0
0
0
38
0
-8
-12
8
13
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
24
3
0
17
2
4
8
0
-2
0
0
0
0
0
0
0
0
4
0
0
35
-21
10
-5
10
-3
10
0
0
0
0
0
0
0
28
0
-8
10
-8
99
-33
-3
0
-3
0
0
0
0
0
0
0
-1
0
-9
-7
6
-7
48
11
3
0
0
0
0
0
0
0
0
25
0
24
8
0
65
-1
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-4
-4
1
2
0
0
0
0
0
0
0
0
0
0
3
6
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
-5
5
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
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
3
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
6
-48
-12
23
-61
0
0
0
0
0
0
0
0
0
2
22
80
-115
64
205
64
-3
-95
0
0
0
0
0
0
0
0
-4
13
-1
-28
-66
-77
-22
39
-80
0
0
0
0
0
0
0
0
39
8
46
92
-108
97
10
33
13
0
0
0
0
0
0
0
0
26
1
-3
-91
-17
-35
-13
14
11
0
0
0
0
0
0
0
0
0
0
-1
-22
14
-17
8
48
41
0
0
0
0
0
0
0
0
0
0
0
0
11
-16
86
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
-52
59
132
34
18
75
0
-101
0
0
0
0
0
0
0
-56
-38
124
39
-10
90
-40
14
18
-34
0
0
0
0
0
0
0
24
-28
-77
-11
84
-138
60
-5
12
36
0
0
0
0
0
0
0
5
50
13
11
1
103
-44
60
23
51
0
0
0
0
0
0
0
8
77
-25
40
56
-66
-24
97
5
-11
0
0
0
0
0
0
0
0
-1
47
-1
-25
73
-93
44
-41
8
0
0
0
0
0
0
0
7
0
-50
0
0
-2
111
59
-86
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-32
-13
-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
60
18
26
-105
39
-71
96
0
20
19
0
0
0
0
0
0
-1
-102
-27
-9
-66
16
55
7
87
-19
58
0
0
0
0
0
0
-7
39
-15
-40
-73
-1
59
85
79
77
15
0
0
0
0
0
0
12
-12
-22
13
29
38
78
51
8
-44
-7
0
0
0
0
0
0
-10
1
10
38
-24
-48
-30
-67
-15
93
5
0
0
0
0
0
0
1
2
0
7
-9
-21
-53
5
46
-9
1
0
0
0
0
0
0
0
2
9
11
-39
-13
-26
-36
-3
15
0
0
0
0
0
0
0
0
-2
0
0
-1
6
8
8
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
-4
-35
6
-22
65
-22
-101
0
-5
18
18
0
0
0
0
0
-26
36
50
12
-135
37
-53
22
17
-52
0
21
0
0
0
0
0
0
-68
57
-3
48
-91
26
-15
-2
10
-12
7
0
0
0
0
0
-2
-8
130
21
38
48
52
9
99
9
-4
0
0
0
0
0
0
-20
14
-1
-37
65
-21
123
101
26
-104
0
1
0
0
0
0
0
0
12
7
-20
-2
43
74
61
-8
9
-4
0
0
0
0
0
0
0
0
0
-2
4
0
11
-8
30
-3
-1
0
0
0
0
0
0
0
0
0
-7
0
1
-4
119
-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
-4
-3
3
0
-18
7
6
-58
0
16
-20
0
0
0
0
0
0
-4
51
-48
-21
138
63
7
118
-51
2
-69
0
0
0
0
0
0
0
1
6
-13
1
50
35
-34
25
47
3
0
0
0
0
0
0
-11
3
-11
7
-10
-40
90
-66
19
0
-32
0
0
0
0
0
0
-4
-14
-13
-4
9
97
25
-77
-5
26
6
-1
0
0
0
0
0
1
0
-14
1
-3
25
13
10
-6
3
0
0
0
0
0
0
0
0
0
0
0
-4
2
-6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-1
19
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
22
2
-39
44
0
102
4
0
0
0
0
0
0
7
-7
9
0
-5
-30
-81
109
12
32
-6
7
0
0
0
0
0
0
-7
-2
39
-16
-3
-37
32
24
-32
-1
6
0
0
0
0
0
5
48
-4
13
36
68
-17
-53
-104
-19
-12
0
0
0
0
0
0
8
0
4
-1
17
-59
-73
-21
5
6
2
0
0
0
0
0
0
0
0
0
-3
1
6
15
-52
4
-8
0
0
0
0
0
0
0
0
0
3
0
0
1
28
23
-10
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
10
-4
8
-1
4
-7
-4
0
-4
15
-8
0
0
0
0
0
0
6
0
2
-11
25
20
114
-25
8
-2
0
0
0
0
0
0
0
-1
-7
-33
4
-28
-8
-4
13
29
-1
0
0
0
0
0
0
0
14
-2
-21
102
-6
11
-49
-74
21
1
0
0
0
0
0
0
0
4
-9
-8
-6
35
72
21
-4
4
0
0
0
0
0
0
0
0
0
-4
-1
2
2
-58
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-38
-7
0
1
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
4
-5
3
0
23
-20
0
-5
0
13
0
0
0
0
0
0
14
24
3
-122
48
7
-17
-19
8
4
0
0
0
0
0
0
0
0
0
2
-14
1
22
0
14
34
8
0
0
0
0
0
0
0
-2
-5
24
10
-23
59
17
42
-49
0
-1
0
0
0
0
0
0
3
-10
-4
5
13
-1
6
41
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
8
1
0
-4
0
0
0
0
0
0
0
0
2
16
1
4
2
-2
1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
2
0
0
7
1
-1
-2
0
38
0
0
0
0
0
0
0
0
0
4
-6
-29
-21
-54
-14
33
0
2
0
0
0
0
0
0
0
-2
9
-3
34
25
101
84
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-19
28
20
-53
0
1
0
0
0
0
0
0
0
0
10
0
-2
10
-13
6
-1
0
1
0
0
0
0
0
0
0
0
0
-11
0
0
12
0
13
0
-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
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
-1
8
0
0
0
0
0
0
0
0
0
0
0
-5
11
0
-21
10
-16
-18
0
-3
0
0
0
0
0
0
0
0
0
7
0
-14
-5
-20
-51
0
0
0
0
0
0
0
0
0
0
0
0
-10
-24
9
10
11
0
0
0
0
0
0
0
0
0
0
11
-9
-1
0
6
2
6
0
0
0
0
0
0
0
0
0
0
-10
0
0
-5
0
-5
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
33
-122
-28
-119
0
0
0
0
0
0
0
0
0
26
24
-14
-30
78
42
130
-24
22
0
0
0
0
0
0
0
0
42
-24
-6
-33
-51
-59
-132
31
-36
0
0
0
0
0
0
0
0
0
-2
77
-10
86
-18
40
54
1
0
0
0
0
0
0
0
0
-15
5
-9
19
12
-81
46
5
12
0
0
0
0
0
0
0
0
-6
12
3
40
11
-91
-11
-23
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
-25
-40
-5
0
0
0
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
60
-1
-19
67
-4
26
27
0
-104
0
0
0
0
0
0
0
-47
-34
121
-21
-8
36
75
8
73
-9
0
0
0
0
0
0
0
132
30
110
122
18
36
86
-20
65
-32
0
0
0
0
0
0
0
-10
-24
101
8
73
71
-188
16
117
188
0
0
0
0
0
0
0
-25
24
10
-52
0
-50
-5
-7
-18
-6
0
0
0
0
0
0
0
1
-16
23
-43
-61
125
3
18
-144
-2
0
0
0
0
0
0
0
0
-9
3
-7
-12
-56
-88
1
-105
18
0
0
0
0
0
0
0
0
0
0
1
0
-6
-25
24
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
-1
34
5
-9
17
-31
-98
18
0
-16
-4
0
0
0
0
0
0
2
-43
18
-13
5
34
58
-81
-59
41
-33
0
0
0
0
0
0
-4
70
5
-3
70
0
73
156
-29
96
-4
0
0
0
0
0
0
18
1
-4
19
108
35
23
-17
-43
-15
17
0
0
0
0
0
0
38
-15
-12
8
-18
-47
116
-121
19
33
-1
0
0
0
0
0
0
0
-44
-21
-76
37
-75
86
77
-50
17
-1
0
0
0
0
0
0
0
24
12
0
38
7
-41
-61
-72
-12
0
0
0
0
0
0
0
0
0
-3
0
0
-7
17
15
9
-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
-4
-2
1
83
102
-3
-107
0
126
-32
0
0
0
0
0
0
0
-49
-45
-15
-14
1
-96
35
39
88
54
-8
0
0
0
0
0
3
-39
37
-16
-174
34
12
23
8
-72
-13
-9
0
0
0
0
0
0
-32
30
-1
51
169
8
50
-107
-89
10
1
0
0
0
0
0
0
-3
-4
-22
19
-8
50
-19
33
-40
-3
0
0
0
0
0
0
0
4
1
-58
21
59
-35
26
-53
18
0
0
0
0
0
0
0
0
6
0
1
-1
-9
91
13
97
0
0
0
0
0
0
0
0
0
0
0
2
0
-18
26
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
-7
0
12
-3
-8
48
210
-86
0
-76
-37
0
0
0
0
0
0
0
-5
7
7
-1
59
-41
-63
-26
128
-42
-6
0
0
0
0
0
0
1
10
-42
-55
3
-62
8
113
40
-5
4
0
0
0
0
0
0
0
6
66
0
-19
45
-16
-113
83
-3
0
0
0
0
0
0
2
1
0
-1
-18
34
38
18
54
-9
0
0
0
0
0
0
0
0
0
0
-28
1
-79
20
15
9
-23
-13
0
0
0
0
0
0
0
0
2
12
6
12
43
3
10
4
0
0
0
0
0
0
0
0
0
0
0
2
-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
-3
0
0
0
14
-22
34
0
-45
12
5
0
0
0
0
0
0
-18
-1
0
-6
16
6
23
62
18
-6
0
0
0
0
0
0
0
-1
0
-34
-21
-53
-5
-25
62
-28
2
0
0
0
0
0
0
0
0
-33
-3
-17
0
-13
-8
-23
77
0
0
0
0
0
0
0
0
-7
-2
-79
22
72
-31
41
-1
-17
0
0
0
0
0
0
0
0
0
-5
0
3
27
1
-5
7
5
2
0
0
0
0
0
0
0
0
-6
-11
3
-4
41
11
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-1
-1
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
-5
25
11
-47
64
0
1
-6
0
0
0
0
0
0
0
-2
8
65
-7
80
-21
21
-26
-1
6
3
0
0
0
0
0
0
-2
-5
-5
-7
-11
-29
-4
86
71
-1
0
0
0
0
0
0
0
0
5
-18
10
92
0
-5
39
37
0
0
0
0
0
0
0
0
-2
-10
-3
-4
0
-22
46
-11
-3
1
0
0
0
0
0
0
0
14
0
-1
0
73
21
72
10
1
0
0
0
0
0
0
0
0
-11
-19
0
-12
2
6
1
-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
-8
0
0
6
-9
-3
-10
0
58
0
0
0
0
0
0
0
0
-3
6
0
7
3
-33
46
75
-11
0
0
0
0
0
0
0
0
-15
6
-6
27
-4
46
93
-48
8
1
0
0
0
0
0
0
0
0
-2
-41
25
43
-60
0
-16
-19
-1
0
0
0
0
0
0
0
0
2
-18
-34
-2
21
-17
1
0
-4
0
0
0
0
0
0
0
-9
0
0
0
-13
2
-2
4
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-1
-3
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
-2
0
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-8
0
-1
-15
4
0
0
0
0
0
0
0
0
14
0
0
3
73
18
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
-63
1
33
-23
-3
13
10
0
0
0
0
0
0
0
-28
0
0
-1
0
-69
8
2
0
0
0
0
0
0
0
0
0
5
0
0
-6
-24
4
40
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-6
-11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
26
-7
41
7
-2
0
0
0
0
0
0
0
0
10
0
0
0
-3
-2
-47
3
-13
0
0
0
0
0
0
0
0
-8
2
0
-9
8
0
0
29
0
0
0
0
0
0
0
0
0
12
0
0
-2
1
9
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
10
-31
-49
-82
13
-48
0
0
0
0
0
0
0
0
0
17
-39
12
-3
48
104
-125
-144
-67
0
0
0
0
0
0
0
0
-2
-3
75
-19
-67
-23
-33
-40
-16
0
0
0
0
0
0
0
0
20
-11
65
104
-65
34
-71
30
-15
0
0
0
0
0
0
0
0
0
-12
-16
72
90
0
-100
-55
-19
0
0
0
0
0
0
0
0
14
0
-1
-48
53
-2
-47
-1
0
0
0
0
0
0
0
0
0
0
12
0
-1
-84
4
12
0
2
0
0
0
0
0
0
0
0
0
0
12
7
0
-1
-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
-6
-41
-11
2
-46
25
-12
-22
0
21
0
0
0
0
0
0
0
32
-79
0
-57
19
-67
-77
-5
8
-12
0
0
0
0
0
0
0
-26
-16
-34
81
34
-84
-14
-9
-21
-100
0
0
0
0
0
0
0
11
-32
-47
-15
-18
92
70
-55
-97
-10
0
0
0
0
0
0
0
29
0
76
-9
56
72
54
-60
-55
-54
0
0
0
0
0
0
0
0
67
-74
-6
39
-27
124
-40
-86
0
0
0
0
0
0
0
0
0
12
-2
-1
-61
-44
38
36
-60
1
0
0
0
0
0
0
0
0
3
-14
29
0
-1
10
-17
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
10
0
0
0
0
0
0
0
0
-6
-13
-14
10
-73
-15
4
-2
0
204
-8
0
0
0
0
0
0
-3
-13
-74
-22
3
-19
43
46
-55
9
71
0
0
0
0
0
0
3
-10
144
48
21
104
2
-60
-15
-90
23
0
0
0
0
0
0
72
95
82
47
-7
71
-61
14
68
80
34
0
0
0
0
0
0
7
26
0
22
-29
21
190
-35
-4
-21
2
0
0
0
0
0
0
0
-1
11
-39
-113
-2
107
-76
-11
-7
-18
0
0
0
0
0
0
0
-3
34
-18
84
51
34
36
64
55
0
0
0
0
0
0
0
0
0
-9
1
0
11
69
-101
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
2
-21
0
-38
92
33
104
25
0
25
79
0
0
0
0
0
0
0
-46
59
17
-49
48
101
135
20
76
151
0
0
0
0
0
0
0
4
40
28
130
-72
153
84
-14
74
138
1
0
0
0
0
0
0
-6
-6
-54
-41
15
-9
-151
-8
67
-37
-3
0
0
0
0
0
5
-3
0
0
-40
30
-38
14
-13
-3
18
0
0
0
0
0
0
0
8
-3
-13
-20
48
-51
-78
15
29
0
0
0
0
0
0
0
0
0
-2
10
34
46
-41
81
-28
-3
0
0
0
0
0
0
0
0
0
0
-4
0
-6
51
11
6
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
0
0
0
0
0
0
0
0
0
0
6
0
5
-12
-78
-36
0
27
1
0
0
0
0
0
0
0
-8
-17
2
-26
-12
-57
-115
-73
30
33
8
0
0
0
0
0
0
2
1
66
-39
-134
-51
-53
55
24
-12
0
0
0
0
0
0
0
0
4
1
-4
37
62
-89
28
30
1
2
0
0
0
0
0
3
0
4
37
0
-71
14
49
17
4
0
0
0
0
0
0
0
0
0
55
0
-19
47
13
104
25
67
0
0
0
0
0
0
0
0
0
0
3
48
-4
-27
-1
-35
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
-6
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
-4
0
0
31
-27
-11
0
3
32
0
0
0
0
0
0
0
13
5
-20
28
109
76
51
29
8
-18
0
0
0
0
0
0
0
8
-3
13
-63
-26
-20
58
144
74
-5
9
0
0
0
0
0
0
-2
-1
-12
8
-52
-51
-23
155
-112
-26
0
0
0
0
0
0
-13
61
12
-1
18
0
48
-11
127
22
0
0
0
0
0
0
0
0
0
0
-29
-7
12
-26
7
14
-23
-13
0
0
0
0
0
0
0
0
0
0
15
19
-15
-3
25
0
-5
0
0
0
0
0
0
0
0
13
11
0
-3
0
37
0
3
0
0
0
0
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
-50
67
0
8
0
0
0
0
0
0
0
0
-6
1
0
22
4
-17
77
33
-5
4
0
0
0
0
0
0
0
0
-14
0
-66
12
-59
-12
-40
15
0
0
0
0
0
0
0
4
0
5
0
-57
10
71
-10
-1
26
0
-2
0
0
0
0
0
0
27
-4
-2
54
-2
0
26
59
0
-4
0
0
0
0
0
0
0
12
33
-15
33
2
18
40
4
-9
5
0
0
0
0
0
0
0
0
0
-6
-14
1
27
0
0
0
0
0
0
0
0
0
0
0
5
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
7
-4
10
-19
0
9
0
0
0
0
0
0
0
0
1
0
21
-27
68
-31
-1
7
-2
1
0
0
0
0
0
0
0
11
3
7
44
7
-28
-106
7
-4
-2
0
0
0
0
0
0
0
0
0
15
41
-30
-10
28
-13
24
0
0
0
0
0
0
0
0
4
0
0
0
3
1
0
-52
0
0
0
0
0
0
0
0
0
0
0
26
6
-21
-4
-29
0
-6
0
0
0
0
0
0
0
0
0
0
0
23
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
9
-3
-2
0
-20
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
42
-43
37
0
0
0
0
0
0
0
0
0
0
26
0
-4
-12
-29
20
9
3
0
0
0
0
0
0
0
28
0
-13
17
79
168
26
1
-10
0
0
0
0
0
0
0
0
0
0
-10
-24
0
-2
0
0
7
0
0
0
0
0
0
0
0
0
-2
-1
-2
12
50
6
1
-1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
-4
-12
-3
19
6
-2
0
0
0
0
0
0
0
1
0
0
2
-2
16
-4
40
3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
6
-4
-1
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
0
1
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
45
-2
-42
-10
25
0
0
0
0
0
0
0
0
0
-57
-2
0
-60
64
143
7
23
-55
0
0
0
0
0
0
0
0
4
4
-7
13
-40
-28
-95
-98
82
0
0
0
0
0
0
0
0
-5
20
58
129
-46
15
-29
92
-37
0
0
0
0
0
0
0
0
-15
-24
-5
91
40
-52
-17
17
31
0
0
0
0
0
0
0
0
0
82
3
37
116
-18
14
48
0
0
0
0
0
0
0
0
0
-22
22
12
13
96
-17
2
61
19
0
0
0
0
0
0
0
0
0
0
0
4
-5
13
0
-2
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
-3
-54
20
60
56
-29
77
29
0
74
0
0
0
0
0
0
0
23
-56
57
-12
15
42
-13
-9
-87
69
0
0
0
0
0
0
0
11
97
-30
-26
52
15
68
7
76
-58
0
0
0
0
0
0
0
1
140
31
75
61
-26
-57
-23
-108
14
0
0
0
0
0
0
0
5
27
-12
164
59
7
44
16
21
140
0
0
0
0
0
0
0
-3
0
-26
20
59
1
21
-15
-27
23
0
0
0
0
0
0
0
2
-16
-5
1
21
26
27
35
-12
-3
0
0
0
0
0
0
0
0
-3
4
-29
-6
25
69
54
1
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
39
6
0
0
0
0
0
0
0
0
0
10
-10
-51
0
-30
27
4
77
0
-16
-53
0
0
0
0
0
0
-6
-22
62
31
-17
-23
-11
-9
132
-37
-24
0
0
0
0
0
0
-3
21
-16
-37
-49
12
64
-37
-51
141
47
0
0
0
0
0
0
19
85
-35
65
144
44
71
-13
54
135
10
0
0
0
0
0
0
-8
-98
11
12
86
-34
39
-71
38
116
0
0
0
0
0
0
0
34
-118
0
7
-137
-52
62
46
-48
107
-1
0
0
0
0
0
0
-4
0
-76
54
-45
42
-21
54
132
-6
0
0
0
0
0
0
0
0
0
-28
-6
0
42
31
74
-27
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-15
0
-25
-1
0
0
0
0
0
0
0
4
25
4
-4
53
14
-65
-20
0
108
24
3
0
0
0
0
0
4
96
-44
15
73
21
-38
-48
2
-35
-38
-8
0
0
0
0
0
0
2
17
2
130
-30
46
55
38
26
-47
0
0
0
0
0
0
5
181
-7
0
-39
-31
59
81
-14
77
40
0
0
0
0
0
0
0
-38
-4
-53
15
75
54
-76
98
37
12
0
0
0
0
0
0
-1
101
6
0
8
-9
25
27
83
43
-1
0
0
0
0
0
0
0
-69
3
118
-51
-32
-54
-56
-42
16
12
0
0
0
0
0
0
0
0
5
-10
0
-4
-18
-41
1
-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
-7
3
-10
-69
71
30
0
-18
21
0
0
0
0
0
0
0
5
14
-57
2
-48
-62
17
-86
-67
-11
0
0
0
0
0
0
0
2
-1
14
38
53
159
-40
3
12
15
1
0
0
0
0
0
0
-2
0
-3
10
-19
18
4
-106
37
-4
0
0
0
0
0
0
0
0
9
33
-91
-16
77
-43
37
-20
-1
-2
0
0
0
0
0
0
13
101
-46
0
18
80
52
-5
-12
0
0
0
0
0
0
0
-3
0
2
0
11
1
35
19
1
0
2
0
0
0
0
0
0
0
0
0
2
-5
-5
31
-10
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
-1
0
-8
-3
-9
70
-46
0
-10
0
1
0
0
0
0
0
0
-2
0
-8
4
-4
48
11
-5
-4
24
0
0
0
0
0
0
0
0
-11
0
0
-1
15
-32
-47
-42
6
0
0
0
0
0
0
0
0
-2
101
43
56
89
75
-17
54
22
-1
0
0
0
0
0
2
-24
9
9
-29
46
61
75
129
7
0
0
0
0
0
0
0
0
23
-9
3
2
0
-48
-26
-5
1
0
0
0
0
0
0
0
-5
1
-28
7
0
-16
5
22
-9
4
0
0
0
0
0
0
0
0
-3
-6
0
0
0
-3
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
-2
28
1
0
-20
0
0
0
0
0
0
0
0
-2
0
2
35
-34
142
-78
33
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
21
-61
0
0
1
0
0
0
0
0
0
-4
0
0
-1
26
9
-19
-4
-54
-1
0
0
0
0
0
0
0
-6
-20
0
-7
-9
92
15
64
8
1
0
0
0
0
0
0
0
0
10
0
-1
8
0
51
-1
42
1
0
0
0
0
0
0
0
0
0
-2
1
5
40
3
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
10
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
-6
-58
6
0
-3
4
0
0
0
0
0
0
-7
0
-13
0
-19
1
-1
38
-4
-5
0
0
0
0
0
0
0
0
0
0
0
2
34
-18
-11
-25
-13
0
0
0
0
0
0
0
0
0
0
-4
-4
-21
9
-21
-15
11
7
0
0
0
0
0
0
0
16
0
15
0
-70
32
20
7
-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
-6
0
6
-51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
5
0
1
-5
0
0
0
0
0
0
0
-3
0
0
1
83
20
-32
-50
-15
0
0
0
0
0
0
0
0
-5
0
2
-1
7
-9
-8
-27
-1
0
0
0
0
0
0
0
0
-3
0
9
-52
49
-17
65
-5
-43
0
0
0
0
0
0
0
0
0
0
0
-14
9
168
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
2
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
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
1
-2
0
0
0
15
2
38
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
4
0
8
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-59
-13
92
47
0
0
0
0
0
0
0
0
0
119
23
-11
-34
72
137
-20
34
31
0
0
0
0
0
0
0
0
-27
0
-7
9
-31
52
46
-114
29
0
0
0
0
0
0
0
0
-40
15
-2
44
-85
116
20
9
59
0
0
0
0
0
0
0
0
-2
0
1
-136
-48
-12
48
-4
57
0
0
0
0
0
0
0
0
41
9
-31
90
13
23
-44
-11
-3
0
0
0
0
0
0
0
0
0
0
9
4
77
76
-42
-14
-4
0
0
0
0
0
0
0
0
0
0
-5
48
-16
-7
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
37
0
0
0
0
0
0
0
0
0
0
0
-110
-19
13
64
75
-24
-46
0
16
0
0
0
0
0
0
0
-3
-91
-54
-68
-177
-61
-59
14
-3
36
0
0
0
0
0
0
0
0
1
-15
13
98
82
8
-14
-23
-17
0
0
0
0
0
0
0
11
-27
6
-54
-5
-2
25
19
50
49
0
0
0
0
0
0
0
0
49
0
-32
135
84
113
160
-86
-34
0
0
0
0
0
0
0
18
-47
-18
35
30
74
-21
-47
-27
-83
0
0
0
0
0
0
0
-8
0
2
24
-5
-40
46
-88
-72
18
0
0
0
0
0
0
0
0
2
24
-74
19
6
-28
57
3
13
0
0
0
0
0
0
0
4
0
0
0
8
-3
6
-5
0
0
0
0
0
0
0
0
0
0
-5
50
-5
18
-2
105
-23
0
7
20
0
0
0
0
0
0
-3
-89
-26
-22
-12
91
50
39
40
54
9
0
0
0
0
0
0
-5
43
23
-9
102
18
-28
-15
-42
-23
18
0
0
0
0
0
0
0
-51
-8
4
32
124
5
19
98
93
12
0
0
0
0
0
0
0
-18
-10
60
-32
-1
105
-11
-33
-20
-3
0
0
0
0
0
0
-7
-20
9
43
-9
26
18
-53
87
27
-19
0
0
0
0
0
0
28
26
0
-1
-69
-70
-51
-5
108
-33
0
0
0
0
0
0
0
0
0
-9
11
-22
-4
55
-45
18
-50
0
0
0
0
0
0
0
0
0
0
0
0
11
1
-3
-1
0
0
0
0
0
0
0
0
0
-1
-8
6
-13
-25
102
130
0
-10
14
-2
0
0
0
0
0
0
-13
-11
-12
-31
-94
-36
91
11
54
-22
4
0
0
0
0
0
0
-18
3
-20
6
-8
170
28
-19
71
-35
-1
0
0
0
0
0
0
-8
0
-4
4
75
-57
6
59
-69
-21
0
0
0
0
0
0
0
12
-9
-4
-66
107
66
-100
-14
130
-3
0
0
0
0
0
0
2
-20
5
66
5
159
127
-140
25
-13
14
1
0
0
0
0
0
0
0
121
0
41
-13
-121
85
-26
7
0
0
0
0
0
0
0
0
22
0
-10
0
38
-17
-57
-13
-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
-3
11
12
-16
10
52
-48
0
119
27
0
0
0
0
0
0
0
0
1
4
-18
50
22
-4
21
53
61
-3
0
0
0
0
0
0
-3
0
11
5
-15
87
-12
19
49
-1
0
0
0
0
0
0
0
-20
0
-2
-5
21
-58
27
-17
14
3
0
0
0
0
0
0
0
-9
0
-1
-14
98
20
46
-3
5
-10
0
0
0
0
0
0
0
0
-6
-1
-4
-64
-40
-39
15
29
0
6
0
0
0
0
0
0
0
0
0
0
-43
31
-20
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
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
14
-9
-4
0
-78
35
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-23
10
11
-69
-16
-5
0
0
0
0
0
0
0
0
0
23
-17
-5
18
9
-3
0
0
0
0
0
0
0
0
0
-4
0
0
22
2
51
56
-68
0
0
0
0
0
0
0
0
0
0
0
52
3
49
2
-10
0
-11
0
0
0
0
0
0
0
0
0
0
26
-25
17
48
2
1
0
0
0
0
0
0
0
0
7
0
0
0
0
-7
0
44
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-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
18
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
12
-8
33
0
0
0
0
0
0
0
0
0
0
2
0
0
45
-12
-19
0
0
0
0
0
0
0
0
0
0
0
2
0
44
6
100
3
-20
0
0
0
0
0
0
0
0
19
-1
3
-3
19
-39
-10
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
4
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
-7
0
0
-1
6
4
0
1
-2
0
0
0
0
0
0
0
39
0
2
-3
-13
-15
-59
-35
-1
0
0
0
0
0
0
0
0
2
0
-2
-2
-1
-19
7
11
16
0
0
0
0
0
0
0
0
0
0
0
0
21
1
8
2
-1
0
0
0
0
0
0
0
0
4
0
0
-2
-1
7
-8
6
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-5
12
-1
-4
0
0
0
0
0
0
0
0
0
0
0
1
-5
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
20
-13
20
0
-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
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-1
18
6
-37
23
-23
0
0
0
0
0
0
0
0
5
0
20
-2
-7
-10
0
68
0
0
0
0
0
0
0
0
0
0
-6
0
-41
8
-3
-55
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-21
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-22
-6
0
0
0
0
0
0
0
0
0
15
0
0
-2
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
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
2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
70
-4
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
7
6
0
0
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
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
-1
0
0
0
2
-40
-32
2
0
0
0
0
0
0
0
0
0
13
0
10
-23
4
12
-73
26
53
0
0
0
0
0
0
0
0
23
0
0
102
92
14
16
48
-52
0
0
0
0
0
0
0
0
45
-4
-3
-14
-76
-1
-7
-70
-20
0
0
0
0
0
0
0
0
52
-3
12
-2
-54
57
-77
-16
77
0
0
0
0
0
0
0
0
46
12
-46
-134
-72
-7
4
-48
-7
0
0
0
0
0
0
0
0
-2
17
63
89
62
12
-79
-35
99
0
0
0
0
0
0
0
0
0
-1
-5
-37
-24
48
-52
27
0
0
0
0
0
0
0
0
0
-8
-6
0
0
25
0
-39
0
0
0
0
0
0
0
0
0
0
0
27
-7
45
25
-18
82
-16
0
2
0
0
0
0
0
0
0
-1
29
48
-65
21
-23
86
6
36
-6
0
0
0
0
0
0
0
0
-17
31
4
-80
-71
-40
-60
101
89
0
0
0
0
0
0
0
-5
-60
-26
-19
-10
107
-80
-47
47
91
0
0
0
0
0
0
0
-1
5
38
27
57
83
26
53
-13
-108
0
0
0
0
0
0
0
1
-102
-33
96
72
-36
46
-47
-62
39
0
0
0
0
0
0
0
-16
-5
-32
13
-32
-2
40
-69
-22
2
0
0
0
0
0
0
0
0
0
-4
75
29
-66
92
-25
-24
56
0
0
0
0
0
0
0
0
0
0
6
0
12
12
-39
0
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-1
71
51
0
-22
3
0
0
0
0
0
0
0
-41
21
-2
-16
-24
36
107
-1
-48
31
0
0
0
0
0
0
-19
1
10
1
20
107
-14
-47
83
-24
-93
0
0
0
0
0
0
0
41
3
-25
25
-58
134
34
51
-30
16
0
0
0
0
0
0
0
-19
-19
33
-25
-70
24
-7
-13
4
32
0
0
0
0
0
0
0
41
15
-14
53
36
13
-103
44
-47
-7
0
0
0
0
0
0
0
-1
-3
28
-57
-129
38
2
61
46
0
0
0
0
0
0
0
0
79
0
45
-3
139
-39
-2
-35
-35
0
0
0
0
0
0
0
0
0
0
0
1
0
13
0
23
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-39
19
0
34
1
0
0
0
0
0
0
0
13
-25
17
1
12
27
-72
123
133
-60
7
0
0
0
0
0
0
-5
0
-2
45
64
-20
-15
-144
33
-12
2
0
0
0
0
0
0
-7
0
1
38
6
-6
140
-82
66
-10
0
0
0
0
0
0
0
2
0
2
-56
-43
62
84
-43
-3
-5
0
0
0
0
0
0
0
-5
-2
-3
50
-52
36
-35
145
5
0
0
0
0
0
0
0
0
-1
40
23
-32
56
5
-36
-7
-60
25
0
0
0
0
0
0
0
-10
-2
0
2
-15
-6
-61
8
-9
1
0
0
0
0
0
0
0
0
0
-3
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
8
0
55
-3
0
0
0
0
0
0
0
0
0
0
0
52
3
-39
0
5
14
0
0
0
0
0
0
0
0
0
2
2
2
55
1
-14
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-16
-10
5
-2
0
0
0
0
0
0
0
6
0
4
-2
-31
24
0
-4
0
1
0
0
0
0
0
0
0
0
0
-17
-23
-6
8
100
22
4
0
0
0
0
0
0
0
0
2
0
14
-35
8
-56
0
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
0
8
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
2
0
0
5
0
-28
14
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
45
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-42
14
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
3
0
-4
12
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
2
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
0
0
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
17
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
-1
0
-3
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
2
0
7
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
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
-3
-5
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
0
0
4
0
0
-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
2
-3
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
61
6
-41
0
0
0
0
0
0
0
0
0
24
0
0
0
50
-6
-1
23
-51
0
0
0
0
0
0
0
0
-19
0
0
89
29
-14
3
-5
16
0
0
0
0
0
0
0
0
5
7
19
10
-28
35
49
13
35
0
0
0
0
0
0
0
0
1
132
-65
106
4
89
-28
116
0
0
0
0
0
0
0
0
0
-9
-1
0
-22
76
53
-48
-20
33
0
0
0
0
0
0
0
0
0
0
25
82
2
83
0
-7
0
0
0
0
0
0
0
0
0
0
-2
8
0
-17
19
28
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
11
18
48
0
0
0
0
0
0
0
0
0
9
0
0
-2
2
90
-169
31
29
0
0
0
0
0
0
0
0
-19
0
-17
10
-56
8
26
-11
4
0
0
0
0
0
0
0
-10
0
-3
0
49
0
-3
1
-26
3
0
0
0
0
0
0
0
0
32
10
124
-28
86
-83
0
-5
0
0
0
0
0
0
0
0
0
0
12
22
-18
46
8
-27
0
0
0
0
0
0
0
0
0
0
0
1
-22
-33
40
2
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
55
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-23
18
23
8
0
0
0
0
0
0
0
0
-4
-11
0
1
-10
-12
-7
27
4
5
0
0
0
0
0
0
0
0
0
0
5
39
55
-51
31
-44
0
0
0
0
0
0
0
0
-2
0
6
0
4
69
12
22
16
-10
0
0
0
0
0
0
0
0
0
-111
9
-7
13
-7
3
0
0
0
0
0
0
0
0
0
0
0
17
10
-60
-22
-8
39
0
3
0
0
0
0
0
0
0
0
0
25
-2
26
6
37
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
0
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
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
6
6
17
0
0
0
0
0
0
0
0
0
0
0
0
4
0
41
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-7
1
-6
-1
0
0
0
0
0
0
0
0
0
-7
0
1
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
-17
27
12
-23
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-10
-53
19
-68
0
0
0
0
0
0
0
0
0
0
-9
-21
118
-27
-20
-44
-27
-79
0
0
0
0
0
0
0
0
0
1
0
-33
-43
60
15
74
22
0
0
0
0
0
0
0
0
0
0
0
0
-39
-77
-21
67
29
0
0
0
0
0
0
0
0
0
0
0
11
0
35
-88
-15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-121
0
0
0
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
-6
69
0
0
0
0
0
0
0
0
0
0
0
100
-73
67
-163
-68
-28
0
0
0
0
0
0
0
0
0
0
0
11
30
-36
59
-157
42
76
-64
-82
0
0
0
0
0
0
0
-1
-109
42
100
-83
125
18
4
-84
-69
0
0
0
0
0
0
0
0
-10
109
47
45
112
105
10
39
88
0
0
0
0
0
0
0
0
-21
-12
-34
-58
-40
-109
38
35
-74
0
0
0
0
0
0
0
0
0
0
101
76
137
-20
30
-1
29
0
0
0
0
0
0
0
0
0
0
25
-47
23
11
6
50
105
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-39
0
0
0
0
0
0
0
0
0
0
0
100
7
-61
84
0
0
0
-27
0
0
0
0
0
0
0
-44
-52
116
2
-40
-27
0
0
0
18
0
0
0
0
0
0
0
58
43
-121
-50
34
60
1
-1
-105
42
0
0
0
0
0
0
0
59
70
51
-62
-114
63
-33
9
-123
-4
0
0
0
0
0
0
0
-13
72
57
41
58
-30
-20
-59
-40
20
0
0
0
0
0
0
0
-24
-70
-51
16
10
22
24
-127
153
2
0
0
0
0
0
0
0
0
-11
8
-123
-122
20
-35
-48
-4
55
0
0
0
0
0
0
0
0
-11
18
7
-96
-18
-46
18
21
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-57
-8
-6
0
0
0
50
0
0
0
0
0
0
0
3
-35
-53
65
-23
-66
0
0
0
-6
-21
0
0
0
0
0
0
0
12
44
6
59
-24
-140
54
-50
85
-16
0
0
0
0
0
0
-18
-28
-26
-124
61
109
28
-34
13
-42
0
0
0
0
0
0
0
0
-42
-52
35
-61
-184
-28
-8
-50
22
2
0
0
0
0
0
0
0
0
-26
-92
67
41
14
123
-26
36
0
0
0
0
0
0
0
0
0
-11
-118
-63
-37
66
-22
68
-19
-5
0
0
0
0
0
0
0
0
3
10
2
27
35
-6
31
69
-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
3
-39
0
-18
-78
0
0
0
-3
-1
0
0
0
0
0
0
-47
-40
-2
20
-130
25
0
0
0
-41
-5
0
0
0
0
0
0
0
-3
-29
-43
44
-39
-19
86
-26
-68
-5
0
0
0
0
0
0
0
5
-3
-47
48
57
-57
-74
21
-49
-1
1
0
0
0
0
0
0
-25
3
-57
41
-121
40
-41
17
-1
3
0
0
0
0
0
0
0
0
-1
-3
39
-156
-122
72
-37
-27
15
0
0
0
0
0
0
0
19
-4
12
-155
-72
-66
39
19
-3
25
0
0
0
0
0
0
0
0
-5
12
-47
77
19
52
57
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
14
0
0
0
-88
0
0
0
0
12
0
0
0
0
0
0
0
7
-24
-4
-26
37
0
0
0
1
-6
0
0
0
0
0
0
0
2
-29
-43
-8
-52
-19
-45
-16
62
-6
0
0
0
0
0
0
0
0
-12
70
-15
-38
-26
28
136
-5
0
0
0
0
0
0
0
0
0
-7
32
-55
147
-8
-148
-3
-27
-3
0
0
0
0
0
0
0
0
2
59
50
4
36
16
19
-27
1
0
0
0
0
0
0
0
0
0
1
11
6
39
33
-36
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
59
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-5
-5
14
0
0
0
-9
-3
0
0
0
0
0
0
0
0
-4
9
4
-14
-54
4
-135
0
0
0
0
0
0
0
0
0
0
-1
1
-23
50
-43
26
-93
3
0
0
0
0
0
0
0
0
0
0
0
-4
-14
106
1
-143
-10
0
0
0
0
0
0
0
0
0
0
7
-2
24
29
-11
33
1
-3
0
0
0
0
0
0
0
0
0
-8
-14
-12
5
-6
111
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
7
-21
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
9
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
5
6
-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
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
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
10
4
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
-13
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
29
-72
84
0
0
0
0
0
0
0
0
0
0
0
-9
-42
9
-107
63
101
0
0
0
0
0
0
0
0
0
0
0
-48
20
19
-43
-38
-87
-87
14
0
0
0
0
0
0
0
0
0
10
25
56
-33
27
-99
125
44
0
0
0
0
0
0
0
0
0
-4
-34
20
12
-75
29
59
0
0
0
0
0
0
0
0
0
0
0
-21
11
36
-8
-1
41
-106
0
0
0
0
0
0
0
0
0
0
0
-20
-2
52
20
15
132
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-19
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
-1
0
0
0
0
0
0
0
0
10
-52
4
-139
-47
43
-153
0
0
0
0
0
0
0
0
0
0
10
-6
106
78
-4
-14
27
0
0
0
0
0
0
0
0
0
0
-5
-22
-25
-6
38
-18
-26
-7
-37
31
0
0
0
0
0
0
0
0
-19
-97
62
11
-52
-43
-71
-21
-34
0
0
0
0
0
0
0
0
15
32
50
28
-12
83
52
8
26
0
0
0
0
0
0
0
-3
22
-18
65
64
77
35
62
7
-16
0
0
0
0
0
0
0
0
-2
18
-8
38
21
-27
-112
22
-57
0
0
0
0
0
0
0
0
0
0
0
9
-48
-4
-28
24
110
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-31
0
0
0
0
0
0
0
0
0
-7
29
-95
-37
-153
-114
0
0
0
-62
0
0
0
0
0
0
0
-5
-8
28
21
-46
65
0
0
0
90
0
0
0
0
0
0
0
-6
-9
51
-31
-34
-14
31
-35
89
-21
0
0
0
0
0
0
0
6
59
-4
-7
-51
23
-40
-7
-84
-43
0
0
0
0
0
0
0
10
-40
-34
2
-24
22
24
-42
-97
34
0
0
0
0
0
0
0
-3
-114
61
-12
-81
-33
-60
-114
32
-50
0
0
0
0
0
0
0
10
-9
14
53
-31
-38
-98
-26
-61
0
0
0
0
0
0
0
0
0
1
12
35
-36
-206
-148
-154
-45
31
0
0
0
0
0
0
0
0
0
0
0
-3
0
26
-39
-15
-52
0
0
0
0
0
0
0
0
7
18
-16
-51
62
0
0
0
-87
-2
0
0
0
0
0
0
3
87
47
2
26
-39
0
0
0
42
18
0
0
0
0
0
0
-26
-67
9
-117
92
-70
-9
-58
16
16
10
0
0
0
0
0
0
-7
-33
56
-52
-60
41
-15
52
-49
-43
-6
0
0
0
0
0
0
-19
8
-63
95
0
-25
-24
-92
62
-67
22
0
0
0
0
0
0
0
12
31
-3
147
-42
42
48
69
-96
-9
0
0
0
0
0
0
0
0
21
-26
-24
47
-96
-75
-37
34
32
0
0
0
0
0
0
0
0
0
-5
-55
-12
-49
-77
-21
-34
-1
0
0
0
0
0
0
0
0
0
0
-16
0
7
43
1
-23
0
0
0
0
0
0
0
0
23
55
23
-23
6
0
0
0
-32
8
0
0
0
0
0
-4
0
-14
-67
-25
-7
-34
0
0
0
7
-32
1
0
0
0
0
0
17
-19
76
44
-24
-35
-56
18
-127
-54
-93
-4
0
0
0
0
0
0
12
19
8
144
47
-80
-21
-34
-33
-43
-27
0
0
0
0
0
0
25
-58
63
-5
-85
-71
36
18
21
-84
-18
0
0
0
0
0
0
1
-8
-3
-51
-112
100
-196
-69
20
15
0
0
0
0
0
0
0
0
0
0
-101
-42
-71
-3
17
-24
-4
0
0
0
0
0
0
0
0
0
-8
7
2
-4
102
-53
-15
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
0
2
8
0
0
0
0
0
0
0
0
32
48
15
1
-22
0
0
0
51
-8
0
0
0
0
0
0
-2
-24
31
-50
1
-11
0
0
0
-34
11
0
0
0
0
0
0
0
-13
39
23
-66
63
-44
-32
77
-11
-44
-5
0
0
0
0
0
0
3
14
20
-1
-7
-69
-118
-229
-65
6
0
0
0
0
0
0
0
0
-22
-11
159
-35
115
-48
-84
36
-2
0
0
0
0
0
0
0
-2
-13
-9
-3
98
70
-22
-26
42
1
-9
0
0
0
0
0
0
0
2
9
14
14
-38
-14
17
-18
4
1
0
0
0
0
0
0
0
0
42
0
4
2
3
24
11
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
5
2
0
0
0
0
0
0
0
0
-1
0
2
-1
9
0
0
0
-10
2
0
0
0
0
0
0
0
-12
28
-1
-43
2
0
0
0
24
-31
-7
0
0
0
0
0
0
0
5
-41
-3
-24
-68
65
-79
11
-36
3
0
0
0
0
0
0
0
0
-12
18
-53
-41
0
158
-56
6
0
0
0
0
0
0
0
0
1
-4
5
-28
-98
38
-35
5
0
-7
0
0
0
0
0
0
0
0
7
-12
-35
2
-43
2
19
-11
0
0
0
0
0
0
0
0
0
0
-11
0
52
-6
-88
17
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
52
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
-4
1
11
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
7
0
-2
-52
1
-24
3
2
-3
0
0
0
0
0
0
0
0
0
3
-4
3
2
7
-13
0
0
-1
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
-1
0
-6
4
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-5
0
0
0
4
-2
1
0
0
0
0
0
0
1
0
-7
9
10
-3
-37
-7
0
2
0
0
0
0
0
0
0
0
0
0
7
12
-20
11
27
-15
3
0
0
0
0
0
0
0
0
0
-4
0
-26
-17
1
-48
8
2
0
0
0
0
0
0
0
0
0
-2
-7
-11
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-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
7
0
0
0
0
-20
-3
0
0
0
0
0
0
0
0
1
-7
2
3
0
0
0
-20
-16
-2
0
0
0
0
0
0
0
-6
0
15
0
-13
-2
-1
63
25
0
0
0
0
0
0
0
0
0
0
0
0
-76
43
-4
3
-3
0
0
0
0
0
0
0
0
0
0
6
-1
-1
-9
37
-23
10
0
3
0
0
0
0
0
0
0
0
0
0
1
-17
13
39
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
15
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
3
1
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
0
-9
-9
-25
6
-24
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-11
19
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
6
9
7
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-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
0
0
0
0
0
-8
5
7
5
-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
-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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-95
-14
4
-83
-41
0
0
0
0
0
0
0
0
0
0
0
-2
-33
-47
-80
-12
-53
0
0
0
0
0
0
0
0
0
0
0
11
50
9
142
11
-7
43
-113
0
0
0
0
0
0
0
0
0
1
0
-14
-3
10
-136
-117
24
0
0
0
0
0
0
0
0
0
-6
3
35
18
-26
-36
33
73
0
0
0
0
0
0
0
0
0
0
0
6
17
-44
54
-62
61
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-57
77
49
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
2
0
-44
0
0
0
0
0
0
0
0
4
-18
22
-23
-12
-50
51
0
0
0
0
0
0
0
0
0
0
0
-53
-98
115
-40
-39
64
0
0
0
0
0
0
0
0
0
0
0
17
33
-43
-31
-28
35
59
-58
-37
0
0
0
0
0
0
0
-1
41
-22
19
-94
37
-104
-66
-12
24
0
0
0
0
0
0
0
0
-3
20
-2
71
-26
23
79
48
-40
0
0
0
0
0
0
0
-2
-4
-34
-5
39
-9
91
75
70
-37
0
0
0
0
0
0
0
0
0
0
5
57
-29
56
63
-2
-108
0
0
0
0
0
0
0
0
0
0
3
-5
25
13
28
80
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-22
0
0
0
0
0
0
0
0
-7
12
-24
69
96
11
0
0
0
-23
0
0
0
0
0
0
0
-8
15
-49
-41
25
22
0
0
0
-36
0
0
0
0
0
0
0
10
39
-13
27
60
80
3
-19
-43
-30
0
0
0
0
0
0
0
-4
-13
-12
32
-30
35
-35
-28
49
-52
0
0
0
0
0
0
0
2
-54
-92
28
14
19
-31
-3
-18
-71
0
0
0
0
0
0
0
0
-32
-25
41
-27
-62
12
-76
6
-53
0
0
0
0
0
0
0
0
0
-2
-13
85
62
-2
-118
-59
5
0
0
0
0
0
0
0
0
0
6
-4
10
21
-66
119
97
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
42
0
0
0
0
0
0
0
2
0
-2
-35
-68
43
-74
0
0
0
59
-4
0
0
0
0
0
0
-4
-33
-39
-72
22
-35
0
0
0
30
-5
0
0
0
0
0
0
11
1
-97
46
-82
54
-46
-122
104
88
1
0
0
0
0
0
0
-4
80
54
-14
51
-124
75
-80
-125
-40
0
0
0
0
0
0
0
-1
4
-8
-29
-48
79
-35
-115
75
-13
21
0
0
0
0
0
0
0
-1
-39
-18
-13
-71
62
-102
-1
7
0
0
0
0
0
0
0
0
0
0
-21
-51
14
-2
19
36
59
0
0
0
0
0
0
0
0
0
0
0
-21
1
-16
19
-16
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-25
0
0
0
0
0
0
0
0
0
-4
74
27
125
-30
0
0
0
-2
7
0
0
0
0
0
0
0
-7
-63
66
15
16
0
0
0
51
-41
0
0
0
0
0
0
11
101
-1
28
-10
-41
-24
15
-15
-52
30
8
0
0
0
0
0
2
-18
-22
28
97
-18
-31
57
-117
-47
-49
-2
0
0
0
0
0
0
1
0
-85
4
25
-129
55
-6
-11
-25
0
0
0
0
0
0
0
15
-7
-45
-112
12
47
-121
-72
58
42
-1
0
0
0
0
0
0
0
-11
-10
2
-51
-2
-28
39
-1
-27
0
0
0
0
0
0
0
0
0
0
-21
0
2
-1
-4
9
-1
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
11
13
-4
-7
0
0
0
18
0
0
0
0
0
0
0
0
-17
-35
-5
-15
18
0
0
0
5
40
5
0
0
0
0
0
0
-1
-25
-24
38
-3
17
21
-131
-15
-9
7
0
0
0
0
0
4
-20
0
-5
-32
-58
24
89
-95
-29
-2
-1
0
0
0
0
0
0
0
9
-40
32
44
-73
9
-17
-16
16
0
0
0
0
0
0
0
0
5
-8
0
-123
-25
-79
28
23
-2
0
0
0
0
0
0
0
0
0
3
-2
-61
83
54
-71
-19
-16
0
0
0
0
0
0
0
0
0
0
-2
6
17
15
-15
-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
-2
-3
3
34
0
0
0
8
0
0
0
0
0
0
0
0
-2
2
-6
-38
10
0
0
0
-15
-91
0
0
0
0
0
0
0
1
1
20
13
7
-23
17
6
33
21
-3
-4
0
0
0
0
0
6
-17
-3
-5
38
-53
34
72
3
-2
2
-1
0
0
0
0
0
0
0
0
15
25
10
24
13
35
-46
0
0
0
0
0
0
0
0
0
-1
-6
16
-6
56
-17
7
-3
0
0
0
0
0
0
0
0
0
0
14
-1
7
7
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
0
0
-9
-12
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
2
1
5
1
0
0
0
-66
-4
1
0
0
0
0
0
0
1
-3
-3
0
-12
-3
-73
-3
-12
-4
1
0
0
0
0
0
0
0
1
2
-8
2
-6
24
15
-18
-2
0
0
0
0
0
0
0
0
0
0
-3
0
36
15
6
-3
-1
0
0
0
0
0
0
0
0
0
1
0
6
-46
41
36
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
-3
-5
21
0
0
0
-3
0
0
0
0
0
0
0
-9
-19
27
28
-84
-36
0
0
0
-25
-3
0
0
0
0
0
0
2
0
27
-61
11
-96
36
-73
-111
0
0
0
0
0
0
0
0
0
3
-13
-23
-38
-85
46
55
-7
-3
0
0
0
0
0
0
0
0
9
3
0
5
-93
-10
89
-3
3
7
0
0
0
0
0
0
0
0
0
0
5
64
42
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
34
65
0
1
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
0
0
0
0
0
0
0
0
0
0
4
5
-4
33
0
0
0
0
7
-15
3
0
0
0
0
0
0
27
-5
-31
58
18
0
0
0
-35
6
0
0
0
0
0
0
0
-8
-22
-14
46
107
-44
-83
12
13
-6
-1
0
0
0
0
0
0
0
-7
3
-30
-25
-80
-16
117
-42
2
0
0
0
0
0
0
0
-5
0
5
-27
-65
20
98
5
17
-10
0
0
0
0
0
0
0
0
0
3
18
-8
64
-4
21
11
-1
0
0
0
0
0
0
0
0
0
0
0
-8
44
46
-67
-21
0
0
0
0
0
0
0
0
0
0
-17
1
1
5
5
70
0
0
0
0
0
0
0
0
0
0
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
5
0
2
0
0
0
0
-24
-3
-1
0
0
0
0
0
0
0
0
0
-10
10
0
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
8
19
-30
0
-1
0
0
0
0
0
0
0
0
0
0
-3
2
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-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
1
42
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
12
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
41
2
67
-51
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
6
5
-1
0
0
0
0
0
0
0
0
0
0
0
11
-56
-8
-48
-69
12
4
-8
0
0
0
0
0
0
0
0
0
-1
2
95
-22
38
7
156
-47
0
0
0
0
0
0
0
0
0
0
0
5
-2
-65
-14
25
-80
0
0
0
0
0
0
0
0
0
0
1
1
8
11
-7
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-35
-16
17
-93
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
86
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
1
32
38
16
-48
94
0
0
0
0
0
0
0
0
0
0
2
20
43
59
-54
3
143
0
0
0
0
0
0
0
0
0
0
0
-53
90
81
95
-81
105
15
-135
-117
0
0
0
0
0
0
0
0
-2
19
-9
-69
5
-55
-36
-102
-64
0
0
0
0
0
0
0
0
22
102
9
-112
-47
-143
-12
-77
-78
0
0
0
0
0
0
0
0
0
65
29
37
33
138
24
-73
-25
0
0
0
0
0
0
0
0
0
24
-1
49
124
9
19
-37
81
0
0
0
0
0
0
0
0
0
0
0
0
14
41
39
70
98
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
17
-5
0
0
0
0
0
0
0
0
0
-11
33
149
-151
-35
0
0
0
4
0
0
0
0
0
0
0
-16
27
-18
-6
9
-55
0
0
0
-10
0
0
0
0
0
0
0
-9
14
-153
-48
-45
73
24
-9
-44
5
0
0
0
0
0
0
0
0
-4
-73
82
-140
-11
-8
-29
-35
78
0
0
0
0
0
0
0
0
-23
-53
-102
-116
-98
-47
4
-80
13
0
0
0
0
0
0
0
4
0
-28
-101
-19
-75
-71
54
25
-8
0
0
0
0
0
0
0
0
1
1
9
-70
-66
-58
-11
-24
-6
0
0
0
0
0
0
0
0
1
-5
0
1
18
-23
-38
-17
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
40
0
0
0
0
0
0
0
0
0
-1
18
-98
-71
68
0
0
0
53
0
0
0
0
0
0
0
-18
0
93
-9
-6
-55
0
0
0
-98
-12
0
0
0
0
0
0
0
-31
52
80
-70
-1
-51
-19
-48
22
1
0
0
0
0
0
2
31
-15
-14
37
64
-60
37
37
-167
25
0
0
0
0
0
0
0
19
6
5
-23
-72
80
-53
-133
-10
-17
-2
0
0
0
0
0
0
0
0
-1
-34
94
-98
-8
68
46
-118
0
0
0
0
0
0
0
2
0
0
0
29
13
53
-45
-78
-7
-1
0
0
0
0
0
0
0
0
-12
0
7
-7
0
-114
-45
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
29
44
-76
72
59
0
0
0
-22
7
0
0
0
0
0
0
0
117
-12
8
-83
82
0
0
0
144
79
0
0
0
0
0
0
3
-15
3
-19
61
-62
-6
-12
28
-4
-18
4
0
0
0
0
0
-8
-17
8
-2
11
11
-62
-62
8
74
4
3
0
0
0
0
0
0
7
-35
27
-37
-6
-150
-85
29
-21
0
9
0
0
0
0
0
0
0
2
-13
153
-34
13
-30
63
12
-3
0
0
0
0
0
0
0
0
-8
6
-8
10
-45
37
91
23
7
0
0
0
0
0
0
0
0
0
0
11
10
29
-89
-78
9
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
1
-35
-54
2
0
0
0
0
-25
0
-13
0
0
0
0
0
-13
-6
1
-17
11
-34
0
0
0
-72
10
-7
0
0
0
0
0
0
-13
11
40
15
-7
43
8
85
44
-15
2
0
0
0
0
0
0
0
-18
-13
0
-1
-9
30
44
43
2
1
0
0
0
0
0
0
-6
-4
-3
15
3
-10
37
-45
17
-8
0
0
0
0
0
0
0
0
0
0
1
4
68
-11
17
2
-2
2
0
0
0
0
0
0
0
0
-4
10
0
-19
-25
-6
-13
7
0
0
0
0
0
0
0
0
0
-10
0
-3
-5
-12
-172
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
-8
0
-27
0
0
0
-4
-1
0
0
0
0
0
0
0
-3
7
-1
41
5
0
0
0
4
42
1
0
0
0
0
0
0
0
0
50
0
-29
11
-77
-17
-6
50
0
0
0
0
0
0
0
2
0
7
12
0
11
-5
-61
24
4
0
1
0
0
0
0
0
0
0
-1
-3
-32
-26
19
-8
10
0
-3
0
0
0
0
0
0
0
0
-10
2
9
54
6
16
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-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
1
0
-5
1
0
0
0
0
-2
4
0
0
0
0
0
0
5
-2
61
-2
5
0
0
0
11
0
0
0
0
0
0
0
0
0
2
2
12
0
-73
-21
-20
5
-4
12
0
0
0
0
0
0
0
0
0
33
-48
0
-42
20
-12
7
0
2
0
0
0
0
0
0
0
3
8
2
-14
40
-10
1
14
0
0
0
0
0
0
0
0
-2
0
0
1
0
12
-26
4
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-7
-7
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
13
-48
27
42
-42
0
0
0
0
-1
0
0
0
0
0
0
24
-1
18
74
22
-43
0
0
0
0
-3
0
0
0
0
0
0
14
17
28
12
23
-167
-34
-50
-95
-7
0
0
0
0
0
0
0
-1
0
-56
9
32
125
-31
53
-18
0
0
0
0
0
0
0
0
-3
11
11
-33
-53
135
29
89
57
6
0
0
0
0
0
0
0
0
17
5
-78
-3
19
55
15
49
9
3
0
0
0
0
0
0
0
0
0
-12
0
-61
-17
-39
65
-3
0
0
0
0
0
0
0
0
0
0
0
5
2
8
-3
10
0
0
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
-3
-41
-23
18
0
0
0
0
0
0
0
0
0
0
0
2
-2
-93
58
30
32
0
0
0
0
0
0
0
0
0
0
0
0
20
-11
-124
-82
-87
109
-142
-83
5
0
0
0
0
0
0
0
0
-2
4
-65
-7
-34
21
-89
34
2
6
0
0
0
0
0
0
0
9
-15
18
48
33
82
37
24
3
2
0
0
0
0
0
0
0
-1
5
24
51
-57
-99
-19
47
5
0
0
0
0
0
0
0
0
0
-10
-15
-1
6
-36
129
45
5
0
0
0
0
0
0
0
0
0
0
0
0
4
12
20
-24
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
3
0
2
-7
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
8
-7
5
6
40
-4
0
-2
0
0
0
0
0
0
0
0
0
-1
-2
-7
-4
-18
0
-9
0
0
0
0
0
0
0
0
0
-2
0
-13
-74
21
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-16
0
-19
0
0
0
0
0
0
0
0
0
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
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
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
7
0
0
0
0
0
0
0
0
0
0
0
0
6
20
-2
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
1
32
19
-38
37
-67
-46
0
0
0
0
0
0
0
0
0
-3
0
17
-2
47
-42
-15
4
0
0
0
0
0
0
0
0
0
0
0
2
21
-36
-25
94
-15
0
0
0
0
0
0
0
0
0
0
0
0
13
-20
58
-11
34
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-52
-14
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-57
0
0
0
0
0
0
0
0
0
0
5
-33
-15
-17
11
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-79
-56
-14
-75
0
0
0
0
0
0
0
0
0
0
0
-1
106
1
14
-41
123
31
-60
-122
0
0
0
0
0
0
0
0
-2
9
-53
-23
90
53
-35
-63
-48
0
0
0
0
0
0
0
0
0
-12
11
-197
20
-11
41
55
-98
0
0
0
0
0
0
0
0
-1
3
32
53
-101
-117
-101
21
-19
0
0
0
0
0
0
0
0
0
-10
3
-64
10
-26
33
-28
29
0
0
0
0
0
0
0
0
0
-1
-9
15
22
23
-52
27
111
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-57
3
0
0
0
0
0
0
0
0
14
25
47
-14
54
38
0
0
0
12
0
0
0
0
0
0
0
0
41
9
80
-19
21
0
0
0
41
0
0
0
0
0
0
0
-15
-7
-9
45
2
135
93
-61
7
-38
0
0
0
0
0
0
0
0
24
-6
43
104
-49
-5
64
-234
4
0
0
0
0
0
0
0
0
0
-5
-5
-145
-28
-107
-38
40
19
0
0
0
0
0
0
0
0
19
-47
-21
-83
-47
-32
-27
29
3
0
0
0
0
0
0
0
2
0
-19
11
2
19
8
13
-54
26
0
0
0
0
0
0
0
0
0
0
-4
37
5
41
-15
-2
64
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-50
-33
0
0
0
0
0
0
0
0
0
-1
-15
5
-51
12
0
0
0
9
9
0
0
0
0
0
0
9
-31
-97
29
32
103
0
0
0
11
2
0
0
0
0
0
0
0
6
-8
-1
-47
-21
-67
50
22
0
-8
0
0
0
0
0
0
0
10
-50
22
14
74
17
6
-47
22
3
0
0
0
0
0
0
2
2
0
-52
-81
-36
37
-7
36
-20
12
0
0
0
0
0
0
18
10
-16
23
-40
42
0
23
-60
4
18
0
0
0
0
0
0
0
6
0
13
-78
6
25
6
-6
-81
-11
0
0
0
0
0
0
0
0
0
-3
4
-4
-9
78
16
79
6
0
0
0
0
0
0
0
0
0
0
0
0
-60
14
-35
13
0
0
0
0
0
0
0
0
-2
7
5
-24
12
0
0
0
3
1
0
0
0
0
0
0
-11
13
20
-97
-58
-9
0
0
0
-76
-11
0
0
0
0
0
0
-28
0
-50
27
-9
-48
-64
55
-29
-9
-14
1
0
0
0
0
0
0
-15
19
37
-1
47
-81
145
27
-93
16
3
0
0
0
0
0
0
0
0
0
-27
-137
3
-40
35
37
-14
-4
0
0
0
0
0
0
-8
0
6
-99
84
-63
61
-184
3
-5
0
0
0
0
0
0
0
0
0
9
-5
-22
58
67
27
4
-4
0
0
0
0
0
0
0
0
0
0
2
-2
-6
-25
87
-45
-2
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
4
10
1
38
0
0
0
-87
-3
0
0
0
0
0
0
-10
-1
5
1
62
3
0
0
0
53
-51
-6
0
0
0
0
0
0
3
-32
13
22
9
25
-69
-72
-3
-16
-10
0
0
0
0
0
0
-1
21
4
17
-10
-49
-83
0
-17
2
7
0
0
0
0
0
0
-15
6
16
0
-40
54
-38
110
-53
-2
-5
0
0
0
0
0
0
0
0
-28
48
6
-28
6
-76
-26
0
0
0
0
0
0
0
0
0
0
3
14
14
-22
-39
-47
-41
-4
-1
0
0
0
0
0
0
0
0
12
-1
1
50
6
-40
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
2
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
3
-4
0
-9
0
0
0
16
6
0
0
0
0
0
0
-2
0
11
-2
7
-6
-13
-40
15
0
-6
0
0
0
0
0
0
0
0
0
27
3
3
6
-22
-9
1
-8
0
0
0
0
0
0
0
0
1
-14
10
0
15
-56
-43
3
-7
0
0
0
0
0
0
0
0
0
-11
0
5
23
-33
7
-1
1
0
0
0
0
0
0
0
0
0
0
-4
7
-11
-47
27
2
-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
0
0
-1
0
0
0
0
0
0
0
0
0
-43
-1
0
21
10
0
0
0
3
-3
0
0
0
0
0
0
0
-4
0
-10
11
22
0
0
0
-5
4
0
0
0
0
0
0
0
0
-22
2
4
73
35
-161
-2
0
2
0
0
0
0
0
0
0
-11
0
0
-33
-42
-36
-84
4
-5
0
1
-1
0
0
0
0
0
-1
0
-22
-14
152
0
37
-15
0
-1
0
0
0
0
0
0
0
0
-5
0
-1
2
68
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-32
1
11
-29
-70
8
-2
0
0
0
0
0
0
0
0
0
0
0
68
-94
31
15
-13
26
0
0
0
4
13
0
0
0
0
0
0
6
43
-19
-18
-62
72
-123
-70
-21
1
-1
0
0
0
0
0
0
5
-6
-17
57
-1
-19
-85
-89
-110
-7
0
0
0
0
0
0
0
-13
17
12
68
60
-6
42
0
66
8
0
0
0
0
0
0
0
0
0
-12
33
73
110
54
130
7
0
-2
0
0
0
0
0
0
0
-10
1
21
87
89
-15
4
-80
10
0
0
0
0
0
0
0
0
0
24
11
4
-39
21
-96
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
47
0
0
0
0
0
0
0
0
0
0
2
-8
-23
-39
-35
0
0
0
0
0
0
0
0
0
0
0
-27
-39
-53
178
23
-105
0
0
0
-14
3
3
0
0
0
0
0
0
-42
-64
31
-56
-51
-40
20
-81
-2
0
-1
0
0
0
0
0
0
20
12
82
45
-56
-49
-2
-111
-18
1
0
0
0
0
0
0
-1
-9
42
-3
100
34
28
72
0
18
0
0
0
0
0
0
0
0
10
8
-4
75
23
-68
-44
61
0
-9
0
0
0
0
0
0
0
0
-20
26
-54
-85
126
-106
137
12
0
0
0
0
0
0
0
0
0
0
0
-15
-8
61
-33
58
-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
5
0
0
0
0
0
0
0
0
0
0
-3
5
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-1
4
-11
1
2
0
0
0
0
0
0
0
0
0
0
2
-1
0
46
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
25
43
18
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
8
-1
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-9
-11
17
-51
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
71
12
-30
-81
16
0
0
0
0
0
0
0
0
0
0
0
-86
17
-27
-99
-61
-80
0
0
0
0
0
0
0
0
0
0
0
4
-1
-3
87
32
-10
0
0
0
0
0
0
0
0
0
0
0
0
12
-73
-1
-18
-87
0
0
0
0
0
0
0
0
0
0
-4
0
-2
16
60
13
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
21
0
0
0
0
0
0
0
0
0
0
10
-34
0
120
-40
0
0
0
0
0
0
0
0
0
0
0
-8
43
-47
-93
123
21
0
0
0
0
0
0
0
0
0
0
0
-1
-33
127
111
-18
43
11
-32
-103
0
0
0
0
0
0
0
0
4
1
-35
-62
-28
-73
-15
27
60
0
0
0
0
0
0
0
0
0
0
-32
97
21
98
-57
-176
111
0
0
0
0
0
0
0
0
0
5
27
39
-23
129
48
-12
-100
0
0
0
0
0
0
0
0
0
0
-13
-9
16
7
-29
109
-73
0
0
0
0
0
0
0
0
0
0
0
-12
-20
51
-13
20
95
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
28
6
0
0
0
0
0
0
0
0
0
19
-18
42
-1
-11
0
0
0
-2
0
0
0
0
0
0
0
0
22
75
7
44
-59
0
0
0
7
0
0
0
0
0
0
0
0
-50
38
-82
-137
-3
19
41
-2
5
0
0
0
0
0
0
0
-16
-6
8
80
-22
-139
-11
-41
123
-5
0
0
0
0
0
0
0
0
-8
-22
-43
-79
-17
-24
-52
-80
-11
0
0
0
0
0
0
0
9
0
-18
44
9
29
-18
-122
-52
-36
0
0
0
0
0
0
0
0
-3
-21
7
-120
22
-44
-44
17
-23
0
0
0
0
0
0
0
0
0
0
-3
82
2
-60
-43
-22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
63
0
0
0
0
0
0
0
0
0
-1
10
-29
0
-10
0
0
0
-18
0
0
0
0
0
0
-2
-2
-14
81
68
16
32
0
0
0
4
-2
0
0
0
0
0
0
-10
-10
-2
70
28
-25
91
11
75
-9
0
0
0
0
0
0
0
0
1
24
8
-7
-96
-74
38
-31
92
0
0
0
0
0
0
0
0
0
-2
-10
-49
-60
-123
-60
-84
37
0
0
0
0
0
0
0
-2
2
0
-57
-84
-39
29
69
83
20
-43
0
0
0
0
0
0
-1
0
-17
3
55
-79
27
-30
14
27
-16
0
0
0
0
0
0
0
0
0
0
-13
3
-103
-11
40
25
17
0
0
0
0
0
0
0
0
0
0
0
-2
-12
23
18
-6
0
0
0
0
0
0
0
0
-88
-3
-4
45
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-39
71
-24
0
0
0
42
0
0
0
0
0
0
0
-4
0
-13
69
-107
65
-54
62
64
3
0
0
0
0
0
0
0
0
0
97
1
-1
-144
9
-31
-69
-18
-1
-3
0
0
0
0
0
0
0
-15
-12
105
6
4
-175
51
-3
19
0
0
0
0
0
0
0
0
41
0
104
-45
5
56
-22
-24
-14
0
0
0
0
0
0
0
-8
-3
-11
20
36
-8
-35
-132
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
26
13
-79
-17
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-33
-4
0
0
0
0
0
0
0
0
0
0
3
-10
6
-3
0
0
0
-1
0
0
0
0
0
0
0
3
32
29
-13
-5
80
0
0
0
-47
1
5
0
0
0
0
0
0
0
1
-12
16
16
37
-23
62
7
-10
0
0
0
0
0
0
0
0
-2
-9
-78
-39
87
32
30
-46
0
0
0
0
0
0
0
0
0
11
-11
22
7
4
-53
-81
-4
2
-1
0
0
0
0
0
0
-4
-7
2
0
66
21
139
23
14
-3
-8
0
0
0
0
0
0
0
-2
0
0
-29
-16
-1
-10
42
-5
1
0
0
0
0
0
0
0
0
0
0
0
55
12
66
-49
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
5
0
0
0
0
0
0
0
0
0
0
2
-2
0
-7
0
0
0
13
0
0
0
0
0
0
0
0
1
19
-20
-16
-4
0
0
0
-50
22
-1
0
0
0
0
0
0
0
0
-12
6
-9
0
-26
71
-2
13
-12
0
0
0
0
0
0
0
1
6
20
2
27
8
-15
-19
-1
0
0
0
0
0
0
0
0
-4
1
-10
22
48
31
-1
0
-10
0
0
0
0
0
0
0
0
0
0
-10
0
151
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-7
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-83
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
8
13
-5
0
0
0
-2
-14
-1
0
0
0
0
0
0
10
-122
12
-6
34
51
-65
0
1
0
0
0
0
0
0
0
0
0
4
-138
8
-3
-16
7
-40
-8
0
0
0
0
0
0
0
0
0
3
-4
9
-78
-12
147
-15
4
0
0
0
0
0
0
0
0
0
0
0
9
-13
0
101
-41
0
0
4
0
0
0
0
0
0
0
0
0
0
-26
1
-7
3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-70
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
0
0
0
0
0
0
0
0
0
0
62
50
-1
-27
-21
0
0
0
0
0
0
0
0
0
0
0
-50
-53
-10
-10
-61
110
0
0
0
0
-2
0
0
0
0
0
0
-4
-69
131
23
1
45
-120
5
53
0
0
0
0
0
0
0
0
-2
9
20
80
80
68
-14
-54
50
2
0
0
0
0
0
0
0
-8
-72
-46
-24
143
28
-139
-83
-78
-1
0
0
0
0
0
0
0
8
12
66
24
-7
28
-12
0
-72
0
0
0
0
0
0
0
0
2
0
-12
50
-52
-1
56
8
22
0
-4
0
0
0
0
0
0
0
0
1
-17
-101
40
27
140
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-51
0
0
0
0
0
0
0
0
0
0
-137
-14
-3
8
-18
0
0
0
0
0
0
0
0
0
0
0
1
41
-49
-12
17
82
0
0
0
-3
0
0
0
0
0
0
0
0
4
103
37
29
-32
-31
-61
-143
8
1
0
0
0
0
0
0
0
15
82
13
42
-72
-132
49
-22
10
0
0
0
0
0
0
0
0
0
-3
87
-12
44
31
80
-28
-26
0
0
0
0
0
0
0
0
2
5
-3
-20
121
-19
-94
0
67
0
0
0
0
0
0
0
0
0
8
1
-3
30
-4
56
-44
0
0
0
0
0
0
0
0
0
0
0
6
-2
-1
-124
18
15
-17
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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
7
0
0
0
-7
-9
0
0
0
0
0
0
0
0
0
0
9
1
0
3
9
-3
3
0
0
0
0
0
0
0
0
0
0
0
-7
13
-26
-7
25
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
3
3
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-9
1
0
-2
7
0
0
0
0
0
0
0
0
0
0
1
-56
-10
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
-8
-16
1
15
-42
-41
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-1
27
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
45
-13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
13
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-72
0
0
0
0
0
0
0
0
0
0
-2
-1
19
48
-13
0
0
0
0
0
0
0
0
0
0
0
-6
33
-45
-33
23
130
0
0
0
0
0
0
0
0
0
0
0
-7
-63
117
48
-84
-29
-78
-20
-78
0
0
0
0
0
0
0
0
0
16
-16
13
26
-14
-19
-9
-67
0
0
0
0
0
0
0
0
0
-19
8
-40
-60
-75
-106
-67
-2
0
0
0
0
0
0
0
0
0
1
4
4
53
15
-27
44
-39
0
0
0
0
0
0
0
0
0
2
-6
-25
-122
120
-45
-21
52
0
0
0
0
0
0
0
0
0
0
-9
0
-1
-14
7
-38
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-65
13
0
0
0
0
0
0
0
0
0
8
3
53
29
13
0
0
0
-3
0
0
0
0
0
0
0
79
-57
-48
10
-37
40
0
0
0
-1
0
0
0
0
0
0
0
0
2
-31
-5
9
34
-7
49
-132
6
0
0
0
0
0
0
0
2
-1
41
-50
-103
15
-21
6
84
-9
0
0
0
0
0
0
0
0
-76
118
-81
-106
-130
69
-23
-1
32
0
0
0
0
0
0
0
0
16
92
4
5
-63
-10
-16
-182
-27
0
0
0
0
0
0
0
0
0
-20
-24
22
-2
113
3
18
-7
0
0
0
0
0
0
0
0
-4
-2
11
-23
13
18
50
-127
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
11
7
0
0
0
0
0
0
0
0
-5
-20
5
68
-5
0
0
0
-15
-5
0
0
0
0
0
0
1
-10
-60
5
-14
-35
0
0
0
27
4
0
0
0
0
0
0
0
0
-64
-15
52
1
-26
46
-5
-18
0
0
0
0
0
0
0
0
-7
42
61
4
44
16
-9
-9
-20
0
0
0
0
0
0
0
-1
7
7
-29
13
-36
-41
-88
-84
-15
-5
0
0
0
0
0
0
1
-3
17
-76
3
-110
72
-7
-55
13
0
0
0
0
0
0
0
0
0
0
-37
11
-151
-59
3
-35
-49
1
0
0
0
0
0
0
0
0
0
0
-15
-6
93
63
-29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
66
-23
2
0
0
0
0
0
0
0
0
103
0
-25
-15
80
0
0
0
0
0
0
0
0
0
0
0
1
-28
-116
84
24
6
0
0
0
33
-1
0
0
0
0
0
0
0
2
-5
56
9
14
-108
10
-56
0
-6
0
0
0
0
0
0
5
-9
7
-71
64
-66
23
-38
-64
-2
4
0
0
0
0
0
0
0
3
8
23
34
97
-84
57
-56
1
-10
0
0
0
0
0
0
0
0
-37
-10
-62
-58
-53
-5
16
3
0
0
0
0
0
0
0
0
0
1
0
28
-31
1
-5
-223
-57
-12
0
0
0
0
0
0
0
0
0
0
0
-14
-12
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-79
3
1
0
0
0
0
0
0
0
0
6
2
24
-5
26
0
0
0
0
-3
0
0
0
0
0
0
0
-1
28
-24
-9
19
0
0
0
-24
-1
0
0
0
0
0
0
0
0
7
-20
-1
0
-20
-3
-15
-3
-1
0
0
0
0
0
0
0
-9
-4
23
-3
41
40
11
-3
0
-13
0
0
0
0
0
0
0
-5
0
63
-20
-55
3
24
6
-24
0
0
0
0
0
0
0
2
-1
1
5
-12
21
-52
-38
-11
6
0
0
0
0
0
0
0
0
0
0
9
0
42
75
-7
-113
-26
10
0
0
0
0
0
0
0
0
0
-1
-35
-2
-15
-31
85
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
3
2
0
0
0
0
0
0
0
0
15
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
50
18
-80
0
0
0
0
-9
16
0
0
0
0
0
0
0
-1
-29
33
76
3
0
0
29
-3
0
0
0
0
0
0
0
0
12
-28
-14
4
8
-4
1
-7
2
0
0
0
0
0
0
0
0
0
2
-3
-10
51
-4
-20
26
0
0
0
0
0
0
0
0
0
-14
-10
-27
37
-4
-14
-31
23
0
11
0
0
0
0
0
0
0
0
0
-23
28
0
12
-69
44
0
9
0
0
0
0
0
0
0
0
0
1
0
0
3
48
101
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
11
4
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-14
-3
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
5
2
13
0
-8
-3
-18
0
-8
1
0
0
0
0
0
0
0
5
0
8
-14
-17
24
23
0
0
2
0
0
0
0
0
0
0
-2
0
-25
0
-19
-19
19
3
-1
0
0
0
0
0
0
0
0
0
2
0
5
-94
-73
27
-11
0
0
0
0
0
0
0
0
0
0
0
1
-16
-42
0
131
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
6
26
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
23
0
0
0
0
0
0
0
0
0
0
-32
5
-33
-1
1
0
0
0
0
0
0
0
0
0
0
0
17
28
43
1
-46
-59
0
0
0
0
-1
0
0
0
0
0
0
6
-31
25
-29
114
-35
-70
-23
73
0
0
0
0
0
0
0
0
0
-1
-30
-54
-24
-96
-64
-172
-57
0
0
0
0
0
0
0
0
-24
15
23
38
9
26
-93
-143
-56
-21
0
0
0
0
0
0
0
0
0
17
27
-30
-37
86
-158
76
0
0
0
0
0
0
0
0
0
0
-10
11
2
88
-35
0
2
-6
0
0
0
0
0
0
0
0
0
25
-1
-18
-28
-80
152
53
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
39
0
0
0
0
0
0
0
0
0
-11
0
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
13
55
0
-27
0
0
0
5
0
0
0
0
0
0
0
0
0
-24
86
-68
-29
23
-35
10
2
0
0
0
0
0
0
0
0
9
-45
19
-17
24
-64
-102
-68
70
0
0
0
0
0
0
0
0
0
-7
-50
7
-223
109
10
-60
-4
0
0
0
0
0
0
0
0
0
8
-13
47
56
-35
-4
-99
11
0
0
0
0
0
0
0
0
0
0
-16
0
57
13
-38
0
-14
0
0
0
0
0
0
0
0
0
0
6
0
-13
-101
24
-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
-12
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-4
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
0
0
3
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
1
0
0
28
-22
0
0
0
0
0
0
0
0
0
-1
0
12
6
3
-48
0
11
0
0
0
0
0
0
0
0
0
0
2
1
-3
-7
11
-56
2
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-12
12
19
1
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-71
6
-9
57
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-26
-48
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-93
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
-18
0
15
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-11
-48
-45
-78
-146
-21
0
0
0
0
0
0
0
0
0
-7
-29
37
-64
28
-64
25
4
0
0
0
0
0
0
0
0
0
-42
10
-18
-8
-93
-55
30
-37
0
0
0
0
0
0
0
0
0
0
-9
11
-88
-97
55
-40
-97
0
0
0
0
0
0
0
0
0
0
1
-75
36
-14
6
11
43
0
0
0
0
0
0
0
0
0
3
-3
0
2
101
-4
-63
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-13
-15
34
0
0
0
0
0
0
0
0
0
-1
0
23
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-32
-39
-2
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
83
-26
-8
53
-29
50
-62
0
0
0
0
0
0
0
0
0
-3
4
118
-83
16
-96
-123
-104
0
0
0
0
0
0
0
0
0
-10
10
50
-66
-19
-56
24
-19
-28
0
0
0
0
0
0
0
2
-2
-5
59
-115
-47
-27
-32
-56
9
0
0
0
0
0
0
0
0
0
1
-8
16
-78
-71
-133
-129
-11
0
0
0
0
0
0
0
0
0
0
0
-39
-62
89
-52
-123
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
94
63
-6
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
1
-29
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
-81
28
91
-1
48
20
-66
-3
0
0
0
0
0
0
0
0
11
-55
-55
21
25
-27
-14
-29
4
0
0
0
0
0
0
0
0
0
-2
0
65
97
-35
8
-12
0
0
0
0
0
0
0
0
0
0
0
-5
-113
-69
-48
-41
-64
-2
0
0
0
0
0
0
0
0
0
6
35
70
-32
-23
-46
-46
-11
0
0
0
0
0
0
0
0
0
0
20
12
-38
0
-64
30
46
0
0
0
0
0
0
0
0
0
0
0
0
0
8
34
-5
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
-3
5
67
0
1
-1
28
0
-2
0
0
0
0
0
0
0
0
23
-57
1
-73
-20
13
35
5
0
0
0
0
0
0
0
0
0
1
-10
21
-29
-53
-74
-12
13
0
0
0
0
0
0
0
0
-4
-1
0
3
-14
-5
-32
-15
0
0
0
0
0
0
0
0
0
0
4
1
-9
0
-65
-136
-12
-7
1
0
0
0
0
0
0
0
0
0
0
4
-2
13
-99
96
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-32
-32
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
3
-40
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
10
-15
26
2
0
2
3
1
0
0
0
0
0
0
0
0
0
0
-1
0
23
-17
-11
0
1
2
0
0
0
0
0
0
0
0
0
0
6
18
-10
6
8
0
0
2
0
0
0
0
0
0
0
0
0
-2
-24
-17
-54
-8
-52
11
0
0
0
0
0
0
0
0
0
0
16
0
-33
-5
-52
-75
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-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
4
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
-6
-11
-5
-3
-4
2
0
0
0
0
0
0
0
0
0
0
1
0
-11
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-4
19
-11
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-12
6
-30
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
-5
0
0
-28
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
-5
-17
52
0
4
0
0
0
0
0
0
0
0
0
0
-1
-22
1
0
-69
0
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
-47
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
-9
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
28
-6
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-27
13
-2
3
-13
0
0
0
0
0
0
0
0
0
0
4
18
-21
-7
7
-17
-46
0
0
0
0
0
0
0
0
0
-1
0
15
30
49
-72
-56
-51
0
0
0
0
0
0
0
0
0
0
0
-6
-72
-13
69
-21
-64
0
0
0
0
0
0
0
0
0
0
0
28
-20
-12
-30
39
-29
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
50
0
-42
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
116
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-4
-4
-5
10
0
0
0
0
0
0
0
0
0
0
0
-12
0
-42
-19
-32
-1
0
0
0
0
0
0
0
0
0
0
0
34
-1
-45
-11
-11
0
-3
0
0
0
0
0
0
0
0
0
-57
0
0
-25
-112
-55
-12
0
0
0
0
0
0
0
0
0
0
0
0
10
0
27
18
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-5
16
0
0
0
0
0
0
0
0
0
0
0
3
-1
29
-6
-3
0
0
0
0
0
0
0
0
0
0
0
2
1
6
2
35
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-86
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-88
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
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
-17
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-17
0
0
0
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
0
0
0
22
-2
0
0
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
0
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
13
0
-21
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-1
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-23
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
68
-81
-21
16
0
0
0
0
0
0
0
0
0
0
4
28
-199
26
-18
128
-34
0
0
0
0
0
0
0
0
0
0
103
-11
32
72
17
-113
-4
3
0
0
0
0
0
0
0
0
0
21
43
-27
91
79
42
-1
0
0
0
0
0
0
0
0
0
0
6
-41
45
34
-14
-2
2
3
0
0
0
0
0
0
0
0
0
3
-28
99
-68
-3
8
-7
0
0
0
0
0
0
0
0
0
0
-62
-27
9
-1
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-32
-7
-19
82
0
0
0
0
0
0
0
0
0
44
-66
102
-33
13
0
-153
-46
-28
0
0
0
0
0
0
0
0
27
22
-7
77
65
4
-83
-21
-26
0
0
0
0
0
0
0
0
109
-57
112
-27
-5
54
26
83
-7
1
0
0
0
0
0
0
0
105
73
111
-6
-32
68
-84
19
16
-1
0
0
0
0
0
0
0
-19
63
68
-52
-52
-43
23
87
-25
-4
0
0
0
0
0
0
0
-71
56
-25
25
53
-32
-27
-3
-28
0
0
0
0
0
0
0
0
-7
-62
-93
-57
-6
65
0
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
-1
81
-44
25
-42
0
-19
0
0
0
0
0
0
0
-118
78
-64
38
-23
38
-143
-21
37
-21
0
0
0
0
0
0
0
-37
-46
46
10
-21
-15
-35
-77
97
-6
0
0
0
0
0
0
0
155
81
36
54
27
-127
43
-78
-14
-23
0
0
0
0
0
0
0
1
91
119
48
-41
-60
-10
59
66
-24
0
0
0
0
0
0
0
9
-65
-47
37
20
168
-27
27
-50
-17
0
0
0
0
0
0
0
-18
-46
11
-83
-61
66
-81
0
-1
25
0
0
0
0
0
0
0
-5
-76
-98
9
97
21
-70
2
-32
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
-40
0
0
-11
-16
63
25
0
12
0
0
0
0
0
0
0
-9
-44
41
72
90
4
-18
9
-22
5
1
0
0
0
0
0
0
-46
54
-37
-21
-6
-15
-22
-76
-18
3
0
0
0
0
0
0
0
38
3
37
5
104
72
92
12
26
26
0
0
0
0
0
0
0
174
-8
85
-177
-18
-175
45
-15
50
57
0
0
0
0
0
0
0
25
88
29
-48
59
-15
-3
-24
-1
-11
0
0
0
0
0
0
0
20
-24
46
23
-70
25
34
5
-35
0
0
0
0
0
0
0
0
-19
-169
39
-55
-86
-2
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
8
8
-26
3
0
-2
64
73
0
0
0
0
0
0
0
0
0
-39
18
-19
-160
41
30
37
-76
67
0
0
0
0
0
0
0
0
42
-50
16
12
16
129
0
93
-39
2
0
0
0
0
0
0
0
-75
30
-36
-4
-5
-2
32
-7
12
4
0
0
0
0
0
0
0
-4
75
-58
-63
51
37
-47
28
-16
75
0
0
0
0
0
0
0
13
-71
132
-52
17
21
-96
25
10
28
0
0
0
0
0
0
0
-3
-100
-61
44
-43
34
20
-37
-10
0
0
0
0
0
0
0
0
3
12
49
-38
-1
-7
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
3
-34
53
0
0
0
9
0
0
0
0
0
0
0
0
0
35
27
31
33
4
0
-1
31
37
1
0
0
0
0
0
0
0
61
57
-107
-39
37
15
69
11
40
-2
0
0
0
0
0
0
0
-3
15
92
-54
71
-28
-1
-28
10
0
0
0
0
0
0
0
0
-17
-11
-11
0
-6
87
-17
-3
-7
0
0
0
0
0
0
0
0
2
68
77
-9
-3
-42
-1
-18
-7
-13
0
0
0
0
0
0
0
-10
-48
2
2
-7
4
1
4
3
0
0
0
0
0
0
0
0
0
36
-15
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
0
0
8
-3
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
111
72
17
38
2
-8
0
-10
0
0
0
0
0
0
0
0
0
40
79
-3
58
108
0
8
0
0
0
0
0
0
0
0
0
0
-13
29
-53
-9
-1
-91
-1
-5
0
0
0
0
0
0
0
0
0
-18
-2
8
-7
-1
-17
0
18
-9
0
0
0
0
0
0
0
0
5
5
-5
77
-5
-5
0
-8
0
0
0
0
0
0
0
0
0
-27
-8
1
7
0
-5
1
0
0
0
0
0
0
0
0
0
0
2
0
7
0
1
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
4
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
15
8
9
-27
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
4
15
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
7
2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
-7
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-10
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-40
-42
114
-47
-7
0
0
0
0
0
0
0
0
0
60
-36
-2
44
29
123
-13
-12
0
0
0
0
0
0
0
0
0
-109
-20
106
11
-20
83
-55
3
1
0
0
0
0
0
0
0
0
26
-21
-35
42
73
19
-15
14
0
0
0
0
0
0
0
0
0
-13
41
-5
46
81
70
20
24
0
0
0
0
0
0
0
0
0
-6
184
19
-32
-65
31
3
-19
0
0
0
0
0
0
0
0
0
-41
2
36
22
-9
0
0
-12
0
0
0
0
0
0
0
0
0
10
0
2
-2
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
-127
-34
137
40
59
40
-61
11
0
0
0
0
0
0
0
0
0
26
49
100
-78
-95
116
66
59
-18
0
0
0
0
0
0
0
0
10
95
-5
46
58
8
141
-24
3
21
0
0
0
0
0
0
0
83
66
43
34
-28
20
-17
39
35
0
0
0
0
0
0
0
0
120
-74
14
-35
-20
83
5
7
-28
8
0
0
0
0
0
0
0
-36
89
164
16
3
-21
25
5
-7
1
0
0
0
0
0
0
0
49
152
-6
-53
14
-60
-4
-4
-23
0
0
0
0
0
0
0
0
57
28
11
-8
1
-11
0
7
-4
0
0
0
0
0
0
0
0
16
22
-73
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
55
-10
17
-57
-2
-89
-114
0
4
0
0
0
0
0
0
0
179
-14
46
7
85
99
-76
-33
-99
-9
0
0
0
0
0
0
0
33
57
75
71
28
-72
-5
107
10
-45
0
0
0
0
0
0
0
37
45
93
37
87
10
68
-82
14
19
-2
0
0
0
0
0
0
37
36
18
46
-63
29
-22
-60
-38
-44
0
0
0
0
0
0
0
-20
41
-72
-159
18
16
4
99
82
40
0
0
0
0
0
0
0
75
40
-108
35
98
21
-5
1
-42
-1
0
0
0
0
0
0
0
0
-87
-42
35
9
120
-19
19
-3
0
0
0
0
0
0
0
0
1
-14
-15
-18
3
0
10
0
0
0
0
0
0
0
0
0
0
19
-53
168
-15
111
-85
12
-25
0
-9
0
0
0
0
0
0
0
14
83
86
69
46
97
101
0
-43
4
-7
0
0
0
0
0
0
-46
24
-36
-101
12
-3
-34
-174
-75
18
0
0
0
0
0
0
0
-13
89
121
115
-2
98
89
74
44
-5
0
0
0
0
0
0
0
157
-11
53
18
55
9
14
-9
72
5
0
0
0
0
0
0
0
9
77
-3
30
-24
139
-51
109
-10
4
0
0
0
0
0
0
0
-66
9
-36
-9
63
7
69
-2
-5
-1
0
0
0
0
0
0
0
-3
19
-95
19
-21
11
14
-1
0
0
0
0
0
0
0
0
0
3
-11
-15
0
25
15
0
0
0
0
0
0
0
0
0
0
0
-45
54
14
158
-1
-121
-101
-60
0
-1
0
0
0
0
0
0
0
51
-80
-13
30
-129
-40
4
-3
-2
0
0
0
0
0
0
0
0
9
109
-33
58
-87
-65
-126
-91
56
-6
0
0
0
0
0
0
0
73
14
-74
47
-84
182
-37
82
57
94
0
0
0
0
0
0
0
-2
94
67
8
122
-19
-41
19
-80
-25
8
0
0
0
0
0
0
-7
-3
-32
0
18
-52
43
-68
68
-13
0
0
0
0
0
0
0
-9
-28
10
21
-9
-76
-2
-2
117
-14
1
0
0
0
0
0
0
-6
-50
-44
28
0
-2
-1
5
0
0
0
0
0
0
0
0
0
-3
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
80
129
-68
14
9
-139
-35
0
2
0
0
0
0
0
0
0
-13
30
-23
15
165
-23
63
71
-52
-2
-3
0
0
0
0
0
0
15
74
160
67
24
89
-15
-84
41
-2
0
0
0
0
0
0
0
-12
16
80
13
-25
-19
6
36
-25
0
0
0
0
0
0
0
0
78
-10
74
41
15
-3
-31
71
0
29
0
0
0
0
0
0
0
-5
53
-101
48
54
0
-20
-67
-6
0
0
0
0
0
0
0
0
53
82
56
101
88
37
-104
-29
-12
1
0
0
0
0
0
0
0
0
-80
4
9
0
0
-4
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
-13
58
-6
-19
-26
-8
3
0
-2
0
0
0
0
0
0
0
0
-44
39
-52
82
-62
34
-5
9
-1
-1
0
0
0
0
0
0
0
41
41
38
-11
-39
75
-19
-9
-6
0
0
0
0
0
0
0
0
57
22
201
102
19
38
19
5
-26
0
0
0
0
0
0
0
0
101
6
11
-7
2
22
27
-7
5
0
0
0
0
0
0
0
0
20
37
-96
-39
37
-32
13
-10
-10
0
0
0
0
0
0
0
0
-25
75
-21
7
2
-7
14
5
0
0
0
0
0
0
0
0
0
117
20
4
-10
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
-1
16
8
-3
-1
-14
3
0
0
2
0
0
0
0
0
0
0
-5
-1
-44
-65
-72
-5
4
4
3
0
0
0
0
0
0
0
0
0
-7
-34
-13
3
-31
-20
2
0
-2
0
0
0
0
0
0
0
1
10
10
3
0
-7
7
1
-18
0
0
0
0
0
0
0
0
-9
0
34
21
0
-11
-5
-10
0
6
0
0
0
0
0
0
0
2
1
0
12
-3
5
9
2
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-32
0
-13
-1
-3
21
0
0
0
0
0
0
0
0
0
0
48
24
-31
16
-37
87
-1
-5
0
0
0
0
0
0
0
0
0
-1
-27
-11
-12
77
-33
9
2
1
0
0
0
0
0
0
0
0
-21
78
-2
40
-2
-3
2
0
0
0
0
0
0
0
0
0
0
28
2
-75
-3
-3
0
1
0
-1
0
0
0
0
0
0
0
0
-2
4
-14
-7
0
0
-12
0
0
0
0
0
0
0
0
0
0
33
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
31
40
94
-78
0
-4
0
0
0
0
0
0
0
0
0
53
54
18
29
136
-26
40
-3
0
0
0
0
0
0
0
0
0
75
-26
105
-81
-3
-8
-3
-1
0
0
0
0
0
0
0
0
0
-35
15
7
18
21
0
2
3
0
0
0
0
0
0
0
0
0
7
12
52
35
61
0
-12
0
0
0
0
0
0
0
0
0
0
-14
5
-12
22
-17
-10
0
0
0
0
0
0
0
0
0
0
0
5
-14
18
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
3
0
14
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
6
-106
-58
-2
0
0
0
0
0
0
0
0
0
0
0
10
36
23
-61
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
13
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
3
-26
0
0
0
2
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
11
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
146
143
127
-11
76
-4
4
0
0
0
0
0
0
0
0
0
46
18
-21
-115
-16
-32
-17
13
0
0
0
0
0
0
0
0
0
-28
32
-30
85
16
-5
18
12
-22
0
0
0
0
0
0
0
0
-9
-11
53
18
41
-18
-22
-2
-1
0
0
0
0
0
0
0
0
-11
113
-47
162
1
16
29
0
4
0
0
0
0
0
0
0
0
141
92
61
77
4
-42
0
-5
0
0
0
0
0
0
0
0
0
-37
2
-32
-34
-19
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
-3
2
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
72
66
57
-17
-43
57
-19
-21
0
0
0
0
0
0
0
0
0
-56
1
89
6
116
-3
-86
10
16
0
0
0
0
0
0
0
0
13
82
98
59
-38
49
-10
-52
161
38
0
0
0
0
0
0
0
81
4
-35
-37
-11
-53
113
81
-30
0
0
0
0
0
0
0
0
3
-61
79
-4
118
-3
-155
15
33
16
0
0
0
0
0
0
0
-9
-8
24
18
50
-25
37
-43
-74
0
0
0
0
0
0
0
0
17
-55
69
24
154
71
2
-25
0
0
0
0
0
0
0
0
0
57
54
11
44
10
0
0
-8
-4
0
0
0
0
0
0
0
0
-42
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
8
34
57
57
-76
58
76
0
-24
0
0
0
0
0
0
0
26
69
44
-25
-27
-9
-69
52
-80
0
-8
0
0
0
0
0
0
54
-46
29
-26
13
-166
49
-11
37
-10
0
0
0
0
0
0
0
21
40
-87
81
0
35
-25
51
16
43
0
0
0
0
0
0
0
88
65
-83
69
4
-40
27
247
17
12
0
0
0
0
0
0
0
-50
54
54
167
46
9
30
-23
-31
-11
0
0
0
0
0
0
0
57
26
99
-138
79
-65
-34
1
-16
-7
0
0
0
0
0
0
0
4
133
54
-82
-18
-2
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
0
49
15
125
70
-18
16
-37
73
0
0
0
0
0
0
0
0
0
27
-23
121
-67
5
92
-80
-104
-20
1
1
0
0
0
0
0
0
-51
109
20
10
-122
53
108
41
10
9
0
0
0
0
0
0
0
-1
14
-60
-23
-35
34
67
34
23
7
0
0
0
0
0
0
0
23
-102
33
-82
-59
-26
13
-8
57
3
0
0
0
0
0
0
0
12
-14
-23
-57
32
-51
64
-47
8
0
0
0
0
0
0
0
0
-13
70
-64
57
-3
-34
-9
-10
19
0
0
0
0
0
0
0
0
19
40
64
-4
-6
19
0
3
0
0
0
0
0
0
0
0
0
-68
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
38
142
77
30
6
18
14
0
0
0
0
0
0
0
0
0
-78
45
-11
5
16
-31
-1
-74
-71
-12
5
0
0
0
0
0
0
15
19
190
-139
67
-74
-8
-28
-17
51
0
0
0
0
0
0
0
164
-115
-86
13
2
23
5
53
74
-26
0
0
0
0
0
0
0
-22
157
46
-54
38
7
16
-44
12
-17
0
0
0
0
0
0
0
15
-52
58
20
50
-4
-109
-45
1
-5
0
0
0
0
0
0
0
-11
52
1
-119
-26
31
3
0
2
0
0
0
0
0
0
0
0
38
-112
-28
-19
0
0
7
0
0
0
0
0
0
0
0
0
0
0
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-78
-66
-97
51
53
37
-33
0
-4
0
0
0
0
0
0
0
47
53
42
12
17
-2
163
32
0
0
0
0
0
0
0
0
0
-63
-13
30
90
-7
-20
-39
19
-37
4
0
0
0
0
0
0
0
-18
-30
93
-96
11
-37
-88
53
-10
8
0
0
0
0
0
0
0
32
5
-21
12
30
64
57
11
-52
-3
0
0
0
0
0
0
0
-42
-70
87
6
-17
47
48
-8
0
1
0
0
0
0
0
0
0
34
-16
56
-33
0
-4
-8
4
14
0
0
0
0
0
0
0
0
0
-118
-28
44
0
0
1
11
0
0
0
0
0
0
0
0
0
19
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-2
-18
66
-2
30
22
0
-26
0
0
0
0
0
0
0
-10
49
34
34
29
-85
-11
-83
56
0
9
0
0
0
0
0
0
0
-64
-13
80
17
-71
45
2
6
-3
0
0
0
0
0
0
0
0
57
-40
1
-145
-12
5
1
14
9
0
0
0
0
0
0
0
0
-98
-6
-55
27
-27
-69
3
8
0
0
0
0
0
0
0
0
6
-59
-37
-12
-2
-16
6
8
0
0
0
0
0
0
0
0
0
0
16
-32
76
-27
-6
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
-1
1
-80
-38
61
11
-39
35
0
-3
0
0
0
0
0
0
0
-6
-53
-2
-11
80
-44
14
-23
-1
0
-1
0
0
0
0
0
0
-34
53
-110
27
-51
-6
5
12
0
0
0
0
0
0
0
0
0
-95
-7
-43
44
56
-34
-9
-7
7
0
0
0
0
0
0
0
0
5
-12
6
12
-24
18
21
0
0
0
0
0
0
0
0
0
0
7
-9
-30
-1
-4
-3
0
1
0
0
0
0
0
0
0
0
0
-14
8
-33
4
3
0
10
-4
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
-34
67
122
-51
-57
48
36
-8
0
0
0
0
0
0
0
0
0
-60
60
89
6
-30
52
108
-50
6
0
0
0
0
0
0
0
0
-79
-54
103
-1
-47
-60
40
0
0
0
0
0
0
0
0
0
0
-92
-107
-45
30
120
-86
0
0
0
0
0
0
0
0
0
0
0
-5
57
8
-9
-7
-11
-1
0
-4
0
0
0
0
0
0
0
0
-97
35
-7
10
-34
10
0
2
0
0
0
0
0
0
0
0
0
-3
13
-2
-5
0
0
-9
-4
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
58
-16
37
-170
140
18
118
0
-5
0
0
0
0
0
0
0
0
68
-49
-5
-84
115
6
59
44
0
0
0
0
0
0
0
0
0
131
18
114
84
125
-146
41
6
0
0
0
0
0
0
0
0
0
-8
-2
-33
-131
-103
-96
25
-8
0
0
0
0
0
0
0
0
0
66
-27
47
19
-21
-8
-3
-2
0
0
0
0
0
0
0
0
0
140
47
-75
-41
-8
5
20
-1
0
0
0
0
0
0
0
0
0
92
-8
-34
8
0
0
2
-3
0
0
0
0
0
0
0
0
0
122
-14
-34
0
6
0
0
0
0
0
0
0
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
-31
4
5
0
-2
0
0
0
0
0
0
0
0
0
-46
9
18
44
29
4
3
0
0
0
0
0
0
0
0
0
0
95
-24
-14
-72
69
3
23
0
0
0
0
0
0
0
0
0
0
3
-11
15
-21
-2
-2
-7
0
0
0
0
0
0
0
0
0
0
-15
2
-9
1
9
0
0
-5
0
0
0
0
0
0
0
0
0
1
4
1
-6
-2
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
4
2
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-112
32
-9
-43
3
1
0
0
0
0
0
0
0
0
0
-7
17
34
45
56
-47
79
27
0
0
0
0
0
0
0
0
0
26
-48
-5
-6
-140
-17
3
13
12
0
0
0
0
0
0
0
0
2
6
-6
22
22
61
-1
-2
4
0
0
0
0
0
0
0
0
-4
158
94
14
26
-26
-33
-1
0
0
0
0
0
0
0
0
0
-15
91
-20
-74
3
-1
0
0
0
0
0
0
0
0
0
0
0
8
-14
-1
-41
16
-4
0
0
0
0
0
0
0
0
0
0
0
18
65
87
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
0
-48
26
-4
62
-87
-108
-16
-117
0
0
0
0
0
0
0
0
0
-5
-71
-43
-35
38
60
-114
-37
44
-6
0
0
0
0
0
0
0
45
36
-22
-38
41
-46
72
-7
-28
-19
0
0
0
0
0
0
0
38
-60
82
-114
36
19
3
10
53
-1
0
0
0
0
0
0
0
2
54
-16
-36
2
141
130
-94
-74
0
0
0
0
0
0
0
0
63
-98
36
40
-59
86
191
-7
-28
-5
0
0
0
0
0
0
0
-57
-37
-45
10
-1
27
-52
-25
4
0
0
0
0
0
0
0
0
19
78
21
8
4
35
8
-6
0
0
0
0
0
0
0
0
0
27
-25
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-65
53
-91
7
129
32
-20
0
-4
0
0
0
0
0
0
0
19
1
37
13
89
-125
33
76
124
1
9
0
0
0
0
0
0
12
42
-50
-10
-3
40
98
47
76
0
0
0
0
0
0
0
0
-66
-51
-59
52
9
-208
-55
42
211
-2
0
0
0
0
0
0
0
31
10
18
17
-3
-65
-42
-82
-8
11
0
0
0
0
0
0
0
8
14
13
59
119
10
81
-28
-49
0
0
0
0
0
0
0
0
45
-40
-36
42
-38
-60
-25
13
7
0
0
0
0
0
0
0
0
-66
-44
-114
10
70
60
2
-1
0
0
0
0
0
0
0
0
0
-56
-44
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
75
34
-46
56
-61
-10
107
0
8
0
0
0
0
0
0
0
36
51
54
22
35
14
36
-45
-1
0
-5
0
0
0
0
0
0
31
8
-7
-17
4
-24
-7
21
-53
47
0
0
0
0
0
0
0
147
112
92
21
-10
65
22
-4
38
13
0
0
0
0
0
0
0
51
-31
-43
-34
-16
22
20
3
5
0
0
0
0
0
0
0
0
48
92
68
-54
-54
-82
39
16
4
0
0
0
0
0
0
0
0
23
1
68
-81
-15
-26
-2
0
-5
0
0
0
0
0
0
0
0
15
105
-6
55
5
9
0
0
-6
0
0
0
0
0
0
0
0
-18
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
68
53
69
-92
-26
31
0
0
0
0
0
0
0
0
0
21
21
65
43
50
60
-2
-62
-113
3
0
0
0
0
0
0
0
3
-101
19
58
14
6
-7
101
-18
-3
0
0
0
0
0
0
0
27
-44
-50
13
67
-15
52
-13
-110
-9
0
0
0
0
0
0
0
-23
-77
15
-75
17
-31
-34
89
-18
9
0
0
0
0
0
0
0
32
21
-27
74
-99
27
8
-42
-40
4
0
0
0
0
0
0
0
66
-26
18
-13
24
13
-50
0
5
0
0
0
0
0
0
0
0
-6
6
72
-15
-1
-1
1
0
4
0
0
0
0
0
0
0
0
7
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-83
17
0
56
-11
2
13
0
0
0
0
0
0
0
0
0
10
181
64
-35
46
4
-24
44
17
2
0
0
0
0
0
0
0
32
-94
-68
100
-59
-24
2
-39
3
16
0
0
0
0
0
0
0
4
-35
-48
13
-56
6
-3
-72
2
0
0
0
0
0
0
0
0
10
-86
99
-8
-45
8
5
-57
-26
0
0
0
0
0
0
0
0
2
-78
-51
68
76
-9
-39
10
-1
0
0
0
0
0
0
0
0
-4
-49
61
61
51
-4
-21
8
0
0
0
0
0
0
0
0
0
26
-43
-34
5
-6
0
0
-4
0
0
0
0
0
0
0
0
0
3
10
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
38
-7
88
-9
-10
78
0
0
0
0
0
0
0
0
0
0
-11
43
-45
54
10
45
6
21
0
0
0
0
0
0
0
0
0
28
-75
-1
7
1
11
15
5
0
0
0
0
0
0
0
0
0
-59
-122
24
-16
-8
4
0
-7
-1
0
0
0
0
0
0
0
0
63
39
-58
7
-33
0
-2
-12
-2
0
0
0
0
0
0
0
0
64
-11
-46
4
-37
11
7
0
0
0
0
0
0
0
0
0
0
-49
61
-4
8
0
3
0
-19
0
0
0
0
0
0
0
0
0
84
0
-2
0
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
1
-17
0
-8
1
71
-57
-27
0
0
0
0
0
0
0
0
0
-50
38
48
81
-40
27
30
43
-61
0
0
0
0
0
0
0
0
-12
-9
73
-89
28
-88
-61
-1
-8
4
0
0
0
0
0
0
0
-40
4
36
-65
9
-19
-3
0
0
0
0
0
0
0
0
0
0
-49
-28
-3
-108
-10
39
-54
0
-9
0
0
0
0
0
0
0
0
26
0
-28
10
3
-1
-1
8
0
0
0
0
0
0
0
0
0
-1
-3
-50
-4
15
0
0
-6
-5
0
0
0
0
0
0
0
0
0
13
53
0
0
0
0
0
-1
0
0
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
-6
-28
35
14
33
7
0
0
0
0
0
0
0
0
0
38
11
-86
13
78
93
-29
97
-33
5
0
0
0
0
0
0
0
36
23
0
-115
-39
95
10
6
5
0
0
0
0
0
0
0
0
-15
-64
31
-110
59
-65
6
-3
0
0
0
0
0
0
0
0
0
20
42
36
-144
104
19
74
-7
0
0
0
0
0
0
0
0
0
-90
-62
-7
26
-33
-18
-9
-6
3
-3
0
0
0
0
0
0
0
13
51
34
40
43
-35
0
0
2
0
0
0
0
0
0
0
0
11
-40
-13
23
0
0
0
0
-5
-1
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
-101
10
54
-134
-30
45
107
0
0
0
0
0
0
0
0
0
0
33
34
-69
-47
-4
-20
19
24
0
0
0
0
0
0
0
0
0
93
-48
-22
134
-110
147
130
-13
0
0
0
0
0
0
0
0
0
-105
-5
-42
20
57
-111
-18
0
0
0
0
0
0
0
0
0
0
125
0
-12
40
-11
30
-12
0
0
0
0
0
0
0
0
0
0
-62
-88
-36
110
49
15
16
3
0
0
0
0
0
0
0
0
0
-36
-2
64
-10
13
-4
-15
8
-10
0
0
0
0
0
0
0
0
-90
-27
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
0
0
-11
0
0
0
0
0
0
0
0
0
20
9
39
31
17
7
-3
-6
0
0
0
0
0
0
0
0
0
0
2
-110
-8
-55
11
1
0
0
0
0
0
0
0
0
0
0
0
-13
-29
-61
-4
-21
-13
0
0
0
0
0
0
0
0
0
0
12
11
5
1
8
0
-4
0
0
0
0
0
0
0
0
0
0
11
-6
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
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
-7
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
6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
32
-6
0
-1
0
0
0
0
0
0
0
0
0
0
-4
70
27
52
41
-24
83
3
0
0
0
0
0
0
0
0
0
7
105
7
-3
37
11
-54
-21
0
0
0
0
0
0
0
0
0
-18
20
-126
56
-23
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-44
-4
-6
-6
0
0
0
0
0
0
0
0
0
-4
78
-33
49
-13
1
-9
-3
0
0
0
0
0
0
0
0
0
27
42
62
-23
-15
0
0
0
0
0
0
0
0
0
0
0
0
-62
45
-34
9
19
5
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
128
53
-57
-82
19
27
-33
8
0
0
0
0
0
0
0
0
0
-82
-15
-61
69
-38
44
61
175
-2
0
0
0
0
0
0
0
0
-38
-39
-28
-21
-51
37
31
0
-8
0
0
0
0
0
0
0
0
23
-58
106
-49
-15
6
82
61
50
0
0
0
0
0
0
0
0
-6
-1
0
108
23
-96
33
-15
28
0
0
0
0
0
0
0
0
130
11
24
-121
-61
65
4
29
3
0
0
0
0
0
0
0
0
53
83
45
50
-8
56
-35
-9
7
0
0
0
0
0
0
0
0
99
0
-64
0
3
-76
2
-10
0
0
0
0
0
0
0
0
0
-91
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
113
16
5
33
-54
4
14
0
-1
0
0
0
0
0
0
0
11
-46
162
70
-25
12
-58
-82
-39
-1
4
0
0
0
0
0
0
16
63
-76
-15
35
47
-11
49
-28
15
0
0
0
0
0
0
0
44
106
-48
-93
-166
-70
88
60
-13
0
0
0
0
0
0
0
0
1
29
0
-60
24
-69
-67
37
9
0
0
0
0
0
0
0
0
18
149
-11
-33
-84
85
-47
50
37
-4
0
0
0
0
0
0
0
12
117
35
-1
-68
83
-22
-43
-4
-14
0
0
0
0
0
0
0
68
48
51
-102
79
14
-5
-9
-8
0
0
0
0
0
0
0
0
20
-23
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
34
43
110
102
47
-4
26
22
0
0
0
0
0
0
0
0
0
32
-3
168
-37
-20
-6
-46
64
-2
0
0
0
0
0
0
0
0
-93
20
27
56
108
-1
51
-46
-6
16
0
0
0
0
0
0
0
33
-84
27
-25
60
-10
14
-18
79
12
0
0
0
0
0
0
0
-67
63
-1
0
3
-41
65
7
-17
0
0
0
0
0
0
0
0
-4
6
81
-2
104
-45
54
-6
-1
0
0
0
0
0
0
0
0
18
14
9
3
29
-9
26
0
4
0
0
0
0
0
0
0
0
15
-7
-19
-19
-7
-4
-1
0
5
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
44
36
79
-58
16
-52
-47
0
6
0
0
0
0
0
0
0
10
32
47
16
-136
55
-72
-23
16
-8
0
0
0
0
0
0
0
42
-39
-15
-29
44
55
-51
57
31
-10
0
0
0
0
0
0
0
27
40
-12
52
-5
-83
-13
23
-3
-1
0
0
0
0
0
0
0
-1
14
-52
-4
0
5
6
-37
12
2
0
0
0
0
0
0
0
-16
75
-18
83
5
-3
-71
5
38
0
0
0
0
0
0
0
0
-2
75
19
11
2
-5
-2
-14
0
0
0
0
0
0
0
0
0
-6
74
-82
-12
0
7
0
0
0
0
0
0
0
0
0
0
0
11
35
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
49
40
64
-59
4
-82
15
0
0
0
0
0
0
0
0
0
-9
115
73
-38
42
-62
69
-17
-25
2
0
0
0
0
0
0
0
39
45
-20
-69
-41
12
-37
-8
2
-4
0
0
0
0
0
0
0
55
-8
-33
-10
-48
-4
13
6
-6
-6
0
0
0
0
0
0
0
-1
-60
-5
25
-1
0
0
18
4
0
0
0
0
0
0
0
0
6
174
-25
29
71
0
1
-4
7
0
0
0
0
0
0
0
0
-34
146
11
28
-5
4
-5
0
-3
0
0
0
0
0
0
0
0
-9
-66
-25
56
-4
0
0
1
0
0
0
0
0
0
0
0
0
-52
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
47
-32
-31
-17
-14
0
-7
0
0
0
0
0
0
0
0
-35
28
79
51
-161
-51
-6
10
0
0
0
0
0
0
0
0
0
52
-46
67
6
-8
127
16
-1
-2
0
0
0
0
0
0
0
0
-47
83
-82
-32
-39
0
4
1
8
0
0
0
0
0
0
0
0
-17
18
-3
33
0
0
0
12
1
0
0
0
0
0
0
0
0
-60
1
52
14
14
0
1
-1
0
0
0
0
0
0
0
0
0
-93
13
27
8
11
0
0
0
4
0
0
0
0
0
0
0
-20
-5
6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
119
0
-94
14
28
9
0
0
0
0
0
0
0
0
0
67
-60
-37
-16
-67
-25
54
16
-43
0
0
0
0
0
0
0
0
64
36
30
103
47
-65
-37
-12
21
-9
0
0
0
0
0
0
0
-17
-98
39
-58
-9
-67
-3
3
-7
0
0
0
0
0
0
0
0
2
72
-6
-22
-45
8
0
0
0
0
0
0
0
0
0
0
0
47
2
26
108
-71
-4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-33
-25
-33
0
0
0
0
0
0
0
0
0
0
0
0
-52
-21
0
25
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
52
-71
-3
41
55
44
2
84
0
-2
0
0
0
0
0
0
0
-124
-25
30
46
-26
-17
0
117
-42
-22
0
0
0
0
0
0
0
38
26
-102
28
7
76
91
-112
-41
6
0
0
0
0
0
0
0
-36
-12
-123
-121
-44
-74
-92
-22
3
11
0
0
0
0
0
0
0
100
66
-54
-2
40
-93
13
0
0
0
0
0
0
0
0
0
0
-73
60
38
53
5
41
-20
1
0
0
0
0
0
0
0
0
0
16
-85
2
-134
70
-24
15
0
-17
0
0
0
0
0
0
0
0
-16
21
-47
12
0
0
-1
0
39
0
0
0
0
0
0
0
0
76
13
-21
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
131
-13
-57
102
51
9
95
0
0
0
0
0
0
0
0
0
0
-60
-3
34
-23
-1
146
-31
39
-2
0
0
0
0
0
0
0
0
74
34
127
-83
-45
26
109
-10
1
0
0
0
0
0
0
0
0
-73
59
-39
22
75
84
144
-20
0
0
0
0
0
0
0
0
0
37
-47
-98
-85
-145
-33
-10
0
0
0
0
0
0
0
0
0
0
114
43
13
48
-38
41
66
2
0
0
0
0
0
0
0
0
0
26
11
-38
-50
-45
24
3
-6
-4
0
0
0
0
0
0
0
0
63
58
-81
-13
49
0
8
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
-14
-39
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
-28
2
46
16
17
21
4
4
0
0
0
0
0
0
0
0
0
-34
9
28
8
1
-57
0
0
0
0
0
0
0
0
0
0
0
8
-6
22
-7
-17
0
-4
0
0
0
0
0
0
0
0
0
0
5
7
25
10
7
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-2
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
-16
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
13
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-4
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-6
0
1
34
0
0
0
0
0
0
0
0
0
0
-18
17
-15
-40
-5
-10
4
22
0
0
0
0
0
0
0
0
0
-44
-35
47
-21
-4
0
6
1
0
0
0
0
0
0
0
0
0
-5
-12
50
38
-8
55
-2
0
0
0
0
0
0
0
0
0
0
0
-39
111
10
7
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
-4
13
0
-2
0
0
0
0
0
0
0
0
0
0
9
-34
-6
0
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
21
118
7
-47
66
35
71
17
0
0
0
0
0
0
0
0
0
-197
-124
125
39
106
-52
1
-5
-4
-8
0
0
0
0
0
0
0
65
34
52
91
-17
13
-47
-10
4
0
0
0
0
0
0
0
0
-15
-52
-56
-39
-72
-55
48
82
-13
0
0
0
0
0
0
0
0
-29
0
-7
77
26
-5
48
-73
-40
0
0
0
0
0
0
0
0
0
0
-3
8
-11
163
56
-9
24
0
0
0
0
0
0
0
0
19
-1
3
-46
-41
-23
76
-6
-9
0
0
0
0
0
0
0
0
-7
38
-5
-8
-111
11
0
0
0
0
0
0
0
0
0
0
0
7
1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
32
14
25
47
27
44
0
0
0
0
0
0
0
0
0
-4
-13
-99
8
48
-131
54
-53
24
35
0
0
0
0
0
0
0
27
5
-70
-16
0
18
51
-50
-2
0
0
0
0
0
0
0
0
-2
80
55
19
9
2
13
26
-21
0
0
0
0
0
0
0
0
0
57
1
-71
27
-123
-32
33
38
0
0
0
0
0
0
0
0
-24
35
0
11
66
94
21
39
-33
-5
0
0
0
0
0
0
0
-22
-13
-8
16
-83
17
26
-15
-2
0
0
0
0
0
0
0
0
10
-63
11
29
26
-31
1
6
0
0
0
0
0
0
0
0
0
55
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
46
-41
79
23
-19
25
0
0
0
0
0
0
0
0
0
8
110
9
-63
-54
62
3
14
-9
0
-8
0
0
0
0
0
0
0
154
70
-16
29
-39
-4
6
-12
0
0
0
0
0
0
0
0
17
48
30
-105
81
24
14
26
5
-7
0
0
0
0
0
0
0
21
102
-74
2
9
17
-23
-38
-7
0
0
0
0
0
0
0
0
-4
45
0
0
-10
-3
85
16
-19
0
0
0
0
0
0
0
0
-10
-208
97
-1
7
-12
8
0
3
0
0
0
0
0
0
0
0
-27
-67
71
5
3
0
0
0
3
0
0
0
0
0
0
0
0
-18
-16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-52
79
84
-57
-60
24
4
0
1
0
0
0
0
0
0
0
0
12
-23
-105
-83
13
78
45
-3
0
0
0
0
0
0
0
0
91
61
37
77
103
7
-29
-3
33
-6
0
0
0
0
0
0
0
2
34
85
66
23
46
19
39
0
-3
-1
0
0
0
0
0
0
-2
124
98
-73
-18
20
-57
-16
4
0
0
0
0
0
0
0
0
-21
-12
73
-2
0
50
-1
2
-20
0
0
0
0
0
0
0
0
12
5
-97
36
3
-9
22
-15
-1
0
0
0
0
0
0
0
0
62
100
29
36
0
-4
0
-9
0
0
0
0
0
0
0
0
0
-54
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
39
-92
20
17
-38
-75
-35
0
0
0
0
0
0
0
0
0
6
10
-55
-46
23
-48
80
17
9
0
10
0
0
0
0
0
0
29
-81
-33
-11
26
-6
-78
-41
-4
-1
0
0
0
0
0
0
0
9
26
-76
31
66
2
14
-47
64
-18
0
0
0
0
0
0
0
2
-109
64
85
20
12
0
-2
3
-2
0
0
0
0
0
0
0
0
-88
85
-7
3
0
0
-6
0
0
0
0
0
0
0
0
0
50
-59
150
66
-34
-7
-3
11
-4
0
0
0
0
0
0
0
0
5
67
39
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-97
33
-24
-11
25
-32
0
0
0
0
0
0
0
0
0
0
-51
-15
-63
-25
-16
-45
141
18
1
0
0
0
0
0
0
0
0
-10
28
-62
-38
-16
-51
-24
-4
0
0
0
0
0
0
0
0
0
25
4
67
-29
39
26
23
-2
0
0
0
0
0
0
0
0
0
-47
-54
81
-83
22
0
4
-18
0
0
0
0
0
0
0
0
0
-17
27
-69
12
0
0
0
1
11
0
0
0
0
0
0
0
8
21
2
50
-43
17
2
0
10
0
0
0
0
0
0
0
0
2
-8
-24
42
0
11
0
-6
0
0
0
0
0
0
0
0
0
-3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
-4
-53
4
-9
-71
0
0
1
0
0
0
0
0
0
0
-13
-12
-51
-14
21
0
92
-60
41
0
0
0
0
0
0
0
0
31
44
-54
-192
-58
120
-2
-9
33
3
0
0
0
0
0
0
0
-38
-4
-14
-55
77
35
62
-2
-4
1
0
0
0
0
0
0
0
-21
-50
-32
-5
27
-7
-18
0
0
0
0
0
0
0
0
0
0
-15
-45
-32
-16
26
10
0
0
0
0
0
0
0
0
0
0
0
42
37
-24
7
8
-4
0
0
0
0
0
0
0
0
0
0
0
5
0
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-71
55
61
12
64
32
-40
0
-3
0
0
0
0
0
0
0
34
-33
6
-28
11
114
29
-1
-8
-4
0
0
0
0
0
0
0
-2
-54
-92
-16
-81
115
164
-77
-53
-12
0
0
0
0
0
0
0
46
4
43
-95
25
81
83
-65
61
1
0
0
0
0
0
0
0
4
-30
59
-11
3
30
-16
0
0
0
0
0
0
0
0
0
0
15
71
-99
-63
10
-117
-19
0
0
0
0
0
0
0
0
0
0
-11
-74
-50
-88
-2
-51
9
-3
0
0
0
0
0
0
0
0
0
-6
-11
-86
-49
10
9
0
0
18
0
0
0
0
0
0
0
0
-128
-8
-14
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
41
104
83
22
-32
4
-62
0
-1
0
0
0
0
0
0
0
0
51
39
-30
-3
60
61
58
73
6
-5
0
0
0
0
0
0
0
-45
-11
-75
-19
84
96
-8
53
1
0
0
0
0
0
0
0
0
83
33
-159
-57
40
26
7
-31
0
0
0
0
0
0
0
0
0
49
52
-37
-72
60
-52
49
0
0
0
0
0
0
0
0
0
0
-16
-43
-25
-100
-68
-82
-17
0
0
0
0
0
0
0
0
0
0
75
-28
-1
-37
-52
7
2
0
0
0
0
0
0
0
0
0
0
-58
33
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
6
11
14
0
0
0
0
0
0
0
0
0
0
0
0
-27
33
-34
-2
-11
-3
0
4
0
0
0
0
0
0
0
0
0
-7
-15
18
-9
-5
-4
0
-9
0
0
0
0
0
0
0
0
0
2
-4
44
-6
-10
2
0
0
0
0
0
0
0
0
0
0
0
13
0
-20
110
20
2
-6
0
0
0
0
0
0
0
0
0
0
-3
-6
5
10
0
5
0
0
0
0
0
0
0
0
0
0
0
5
-3
-19
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
-11
-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
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
1
4
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
35
11
-39
1
0
0
1
0
0
0
0
0
0
0
0
0
-11
-41
6
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
31
-6
-35
0
-16
4
0
0
0
0
0
0
0
0
0
0
0
2
36
-38
-87
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-1
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
25
24
-66
-46
-10
0
-5
-19
0
0
0
0
0
0
0
0
0
13
-30
-106
36
85
-111
29
-32
-7
0
0
0
0
0
0
0
0
-35
-43
-50
-17
84
-11
-57
-22
-23
-2
0
0
0
0
0
0
0
-19
-47
-105
-7
-11
26
13
-38
0
0
0
0
0
0
0
0
0
26
-1
-13
-34
-104
67
18
1
6
0
0
0
0
0
0
0
0
23
0
68
13
31
-58
66
65
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-12
6
-21
1
1
0
0
0
0
0
0
0
0
40
0
1
167
-1
-75
-4
2
0
0
0
0
0
0
0
0
0
26
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
2
-38
-3
93
18
-11
0
0
0
0
0
0
0
0
0
0
-50
48
39
53
33
-15
26
4
0
0
0
0
0
0
0
0
-2
-98
-104
-39
-21
43
39
48
7
0
0
0
0
0
0
0
0
-7
-96
-77
72
67
53
26
-33
-13
-18
0
0
0
0
0
0
0
-4
32
-27
-59
-12
-80
-70
-38
3
0
0
0
0
0
0
0
0
1
11
0
36
-75
12
-9
-23
-25
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-25
13
34
-1
-6
0
0
0
0
0
0
0
52
24
0
26
-13
4
-4
-7
7
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
9
-18
42
-6
-10
-45
-43
19
0
0
0
0
0
0
0
0
0
18
78
66
-91
79
-50
-27
34
-3
0
0
0
0
0
0
0
0
24
57
-10
77
-127
33
28
-54
8
0
0
0
0
0
0
0
0
0
116
119
65
-2
-94
37
18
6
0
0
0
0
0
0
0
0
-6
7
57
16
-119
46
-32
-5
-15
2
0
0
0
0
0
0
0
15
36
-128
1
100
75
-49
-12
75
0
0
0
0
0
0
0
0
-23
7
6
0
-1
16
-7
1
0
0
0
0
0
0
0
0
0
16
21
-9
-1
0
3
-7
12
0
0
0
0
0
0
0
0
0
-54
-2
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
-73
20
-28
-20
31
-6
0
0
0
0
0
0
0
0
0
0
127
27
30
-126
-47
-41
31
-15
0
0
0
0
0
0
0
0
6
38
-80
83
-72
-66
81
-28
-8
-22
0
0
0
0
0
0
0
20
-50
20
28
-59
58
-38
-27
-1
0
0
0
0
0
0
0
0
0
143
56
14
-28
40
-52
17
-1
0
0
0
0
0
0
0
0
-2
-101
-40
-58
0
83
22
5
-16
5
0
0
0
0
0
0
0
4
2
-12
0
0
10
4
9
-8
0
0
0
0
0
0
0
0
-9
33
-3
-18
0
-2
13
0
0
0
0
0
0
0
0
0
0
21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
22
4
1
3
-42
9
0
0
0
0
0
0
0
0
0
-17
-89
-21
-47
9
-24
21
21
-10
0
0
0
0
0
0
0
0
0
1
54
-28
49
-38
7
-37
-27
0
0
0
0
0
0
0
0
-1
-9
-4
44
-58
31
63
-22
-12
0
0
0
0
0
0
0
0
5
11
100
-75
1
-9
-45
-3
17
0
0
0
0
0
0
0
0
0
-24
11
-24
-21
0
0
-7
10
1
0
0
0
0
0
0
0
7
65
34
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-35
-3
-33
-1
0
0
3
-4
0
0
0
0
0
0
0
0
49
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
5
-2
-21
15
-6
0
0
0
0
0
0
0
0
0
0
112
-9
2
-50
-16
16
10
1
0
0
0
0
0
0
0
0
0
79
6
23
103
-29
-109
24
-2
0
0
0
0
0
0
0
0
0
89
-5
59
40
-3
-19
-31
2
0
0
0
0
0
0
0
0
0
72
-38
-8
-31
65
27
-6
-1
-39
0
0
0
0
0
0
0
-42
-20
12
53
99
-4
0
-9
6
0
0
0
0
0
0
0
0
0
34
65
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-84
5
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
1
1
-4
-7
0
0
0
0
0
0
0
0
0
0
27
5
7
16
-16
0
-9
0
0
0
0
0
0
0
0
0
27
37
-14
28
7
148
-67
22
-11
7
0
0
0
0
0
0
0
-10
16
10
-38
28
81
-14
0
0
0
0
0
0
0
0
0
0
0
-4
7
5
48
10
-1
0
2
0
0
0
0
0
0
0
0
0
21
28
0
-29
-4
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
17
15
-1
-13
1
1
16
0
0
0
0
0
0
0
0
0
0
-87
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-63
-14
91
24
-30
-36
15
0
0
0
0
0
0
0
0
0
-43
39
-28
27
58
149
1
-52
-114
0
0
0
0
0
0
0
0
17
21
46
-42
-29
109
47
61
18
2
0
0
0
0
0
0
0
5
34
-37
-7
83
-40
26
6
13
-1
0
0
0
0
0
0
0
17
21
-86
45
36
180
32
10
-1
0
0
0
0
0
0
0
0
4
-35
-93
17
-67
70
7
0
0
0
0
0
0
0
0
0
0
-17
-40
-15
58
77
-42
2
0
0
0
0
0
0
0
0
0
0
-50
49
70
143
9
-2
-4
0
0
0
0
0
0
0
0
0
0
-18
22
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
142
26
47
49
70
-80
0
4
0
0
0
0
0
0
0
0
62
-47
-38
15
-16
24
1
7
0
0
0
0
0
0
0
0
0
-42
26
-67
-2
56
-80
-140
-39
-12
0
0
0
0
0
0
0
0
-40
26
-34
-40
15
-19
-12
2
0
0
0
0
0
0
0
0
0
19
-26
54
25
-45
-4
4
18
0
0
0
0
0
0
0
0
0
6
123
42
55
9
24
-116
0
0
0
0
0
0
0
0
0
0
-65
-49
67
62
5
-20
5
0
0
0
0
0
0
0
0
0
0
-111
47
-26
46
11
2
5
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
-2
2
8
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-55
8
-1
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-1
0
19
0
2
0
0
0
0
0
0
0
0
0
0
1
5
18
-7
7
0
0
0
0
0
0
0
0
0
0
0
2
-14
-3
0
-3
-9
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
1
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
38
0
-7
23
0
0
0
0
0
0
0
0
0
0
29
21
-10
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-28
0
5
0
2
0
0
0
0
0
0
0
0
0
0
-1
16
-5
56
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
16
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
87
-24
23
-4
18
-18
0
0
0
0
0
0
0
0
0
0
0
-25
-5
-7
6
23
-2
17
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-50
18
66
-1
-1
0
0
0
0
0
0
0
0
0
8
-11
-35
125
-3
15
0
4
0
0
0
0
0
0
0
0
0
-59
-11
-3
72
-23
15
6
-24
0
0
0
0
0
0
0
0
0
50
1
79
-114
-26
0
5
-2
0
0
0
0
0
0
0
0
0
3
0
72
114
0
-19
-1
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
3
6
32
-31
22
71
0
0
0
0
0
0
0
0
0
0
-7
-20
54
56
-133
-52
-52
23
9
0
0
0
0
0
0
0
0
0
-35
-16
-32
-34
47
25
14
0
0
0
0
0
0
0
0
0
9
1
-40
27
-10
37
-13
2
0
0
0
0
0
0
0
0
0
0
-145
21
13
36
151
-4
-1
12
0
0
0
0
0
0
0
0
0
52
22
62
-32
-18
7
38
0
0
0
0
0
0
0
0
0
-3
-20
6
25
-72
-16
-4
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
8
4
1
0
0
0
0
0
0
0
0
0
0
63
-25
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
19
0
41
-16
-1
15
9
0
0
0
0
0
0
0
0
0
0
0
-4
-45
-1
-24
-10
-7
0
0
0
0
0
0
0
0
0
0
0
5
-20
-69
-38
10
1
0
11
0
0
0
0
0
0
0
0
-4
-65
-2
34
6
80
14
3
0
0
0
0
0
0
0
0
0
5
-135
93
-48
-11
-22
50
50
0
0
0
0
0
0
0
0
0
-13
21
90
5
33
-21
21
6
-5
-9
0
0
0
0
0
0
0
5
42
34
0
-23
22
-1
-3
-7
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
54
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-13
3
7
-43
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-8
6
-10
-10
-50
0
0
0
0
0
0
0
0
0
0
-85
27
30
-94
-50
-22
2
0
0
0
0
0
0
0
0
0
4
-14
9
32
27
41
39
2
0
0
0
0
0
0
0
0
0
0
-56
-4
104
-2
17
-11
-3
0
0
0
0
0
0
0
0
0
0
19
7
-5
0
-3
0
-13
-1
0
0
0
0
0
0
0
0
-7
-10
41
-21
0
-7
6
0
0
0
0
0
0
0
0
0
0
4
95
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-2
2
-3
10
0
0
0
0
0
0
0
0
0
0
-3
-9
2
-6
22
0
-5
0
0
0
0
0
0
0
0
0
0
0
13
-9
4
-2
61
1
0
0
0
0
0
0
0
0
0
-21
-5
20
1
-23
10
2
2
0
0
0
0
0
0
0
0
0
-5
7
-54
50
14
-12
1
0
-4
0
0
0
0
0
0
0
0
0
5
19
-3
50
-10
26
0
0
0
0
0
0
0
0
0
0
0
0
7
50
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
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
10
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-2
-4
0
-1
0
0
0
0
0
0
0
0
0
7
7
1
-2
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
13
-34
0
22
-11
5
-3
0
0
0
0
0
0
0
0
0
0
0
13
-2
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-19
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
6
2
0
0
0
0
0
0
0
0
0
-60
-5
0
2
17
41
-1
3
0
0
0
0
0
0
0
0
0
13
8
3
6
0
0
1
-1
0
0
0
0
0
0
0
0
0
18
-63
92
23
13
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-8
9
4
0
0
0
3
0
0
0
0
0
0
0
0
-25
7
0
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-11
-3
3
-3
3
0
0
0
0
0
0
0
0
0
0
0
-98
-13
-22
-8
4
2
-7
-5
0
0
0
0
0
0
0
0
5
4
7
-6
28
-165
50
16
-28
4
0
0
0
0
0
0
0
-10
-75
-5
-48
-27
69
-2
-15
-6
-31
0
0
0
0
0
0
0
0
-43
-57
-24
101
24
-5
3
0
0
0
0
0
0
0
0
0
0
94
16
128
37
19
0
-5
0
0
0
0
0
0
0
0
0
0
38
-10
-21
20
-3
0
0
0
0
0
0
0
0
0
0
0
12
18
10
-43
5
-3
0
0
0
0
0
0
0
0
0
0
0
-15
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
-5
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
-9
5
-7
-49
-1
10
0
0
0
0
0
0
0
0
0
0
0
-13
0
10
-12
-16
-4
7
1
0
0
0
0
0
0
0
0
0
-17
-80
7
-12
6
32
-1
0
0
0
0
0
0
0
0
0
0
-7
113
-41
15
11
10
0
0
0
0
0
0
0
0
0
0
0
-14
9
-21
19
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
12
-34
47
-2
0
5
0
0
0
0
0
0
0
0
0
0
-25
1
-2
0
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
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
0
0
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
-50
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
133
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-61
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
29
0
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
27
0
55
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-17
0
0
0
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
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
-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
-8
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
8
1
4
4
7
-15
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-33
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
21
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-1
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-30
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
16
11
-35
8
0
0
0
0
0
0
0
0
0
0
0
6
-2
27
-44
15
-145
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
82
-15
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
10
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
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-12
36
-21
0
0
0
0
0
0
0
0
0
0
0
0
3
3
7
125
-29
3
-93
-58
0
0
0
0
0
0
0
0
0
0
-34
-10
-88
-30
146
36
-22
0
0
0
0
0
0
0
0
0
0
2
-22
38
-38
82
56
38
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
75
53
-9
0
0
0
0
0
0
0
0
0
0
0
9
5
-13
-3
-109
-49
0
0
0
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
-4
8
-17
0
0
0
-9
0
0
0
0
0
0
0
0
0
-13
-11
-65
76
0
0
0
-11
0
0
0
0
0
0
0
0
-8
1
4
18
-27
-119
-131
70
9
0
0
0
0
0
0
0
0
-8
-17
11
4
22
138
-13
115
12
0
0
0
0
0
0
0
0
1
0
1
-8
8
38
56
28
29
0
0
0
0
0
0
0
0
1
0
5
-21
-92
-71
68
-38
10
0
0
0
0
0
0
0
0
0
0
23
-15
6
-10
65
-60
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-9
0
0
0
0
-4
0
0
0
0
0
0
2
-1
0
0
5
40
0
0
0
-11
14
0
0
0
0
0
0
0
0
-4
-8
-5
43
15
7
21
-29
-6
0
0
0
0
0
0
0
1
7
-11
8
3
-22
-18
-32
44
-3
0
0
0
0
0
0
-1
0
-4
-6
-5
-38
13
103
133
-7
-8
0
0
0
0
0
0
0
0
0
0
13
-32
39
-12
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
8
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
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
-6
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
-5
16
11
0
-3
-53
0
0
0
-71
4
11
0
0
0
0
0
0
0
8
0
-35
-4
-39
-20
50
-17
-21
0
0
0
0
0
0
0
-7
-20
4
-17
-79
14
76
12
3
-22
-3
0
0
0
0
0
3
0
1
14
-11
-23
-62
-38
78
15
0
0
0
0
0
0
0
0
0
0
25
0
-32
-6
-40
5
9
5
0
0
0
0
0
0
0
0
0
-2
0
-24
-6
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
-26
-12
0
0
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
-1
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
-10
55
-9
0
54
0
0
0
1
1
-4
0
0
0
0
0
0
-8
8
15
10
89
-61
32
-77
18
2
13
0
0
0
0
0
0
0
8
2
35
94
-54
-119
2
38
0
-8
0
0
0
0
0
-5
0
0
24
0
-26
60
-149
-14
-2
2
0
0
0
0
0
0
0
0
0
-6
-19
-35
-26
90
9
9
-2
0
0
0
0
0
0
0
0
0
0
7
6
9
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
25
-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
-4
11
26
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-14
-41
53
121
-10
0
0
0
-10
-4
0
4
0
0
0
0
0
-16
10
-6
-45
34
-110
14
-49
0
3
1
0
0
0
0
0
0
-3
-18
-50
51
11
-10
20
-101
11
0
0
0
0
0
0
0
0
-1
5
-12
-19
-31
169
8
8
-8
4
0
0
0
0
0
0
0
0
0
6
-33
90
-63
59
22
-3
0
0
0
0
0
0
0
0
0
4
4
-1
4
-6
35
-13
2
10
0
0
0
0
0
0
0
0
0
1
1
0
-8
-28
-82
8
0
0
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
-32
77
0
0
0
-5
2
0
0
0
0
0
0
13
50
13
-43
35
112
0
0
0
-128
-2
0
0
0
0
0
0
0
-11
6
-24
-87
39
-29
130
-64
-11
-5
2
0
0
0
0
0
0
-7
-1
-69
-16
-92
47
-57
-62
-87
0
0
0
0
0
0
0
0
-1
33
65
26
73
-62
46
46
3
-13
-8
0
0
0
0
0
0
0
-2
-7
-16
10
13
29
-15
-42
4
0
0
0
0
0
0
0
0
0
-3
4
23
-19
9
82
17
0
0
0
0
0
0
0
0
0
0
0
26
0
2
51
-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
-1
-26
-33
-6
-8
0
0
0
-6
0
0
0
0
0
0
0
0
-20
-2
-100
64
7
0
0
0
70
5
-1
0
0
0
0
0
0
2
43
-51
-38
101
-59
122
18
-24
0
0
0
0
0
0
0
0
-2
-8
-43
-81
-140
-25
-62
-31
125
-9
0
0
0
0
0
0
0
0
-3
-61
-50
43
14
-1
18
-11
-1
0
0
0
0
0
0
0
-1
-9
18
-35
-11
17
19
58
20
0
0
0
0
0
0
0
0
0
0
14
23
-2
-33
44
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
1
71
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
11
18
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-2
-74
-10
0
0
0
6
22
0
0
0
0
0
0
0
0
0
0
-24
12
-24
59
-27
0
-20
0
0
0
0
0
0
0
0
0
-3
6
110
-63
-86
78
63
-1
0
0
0
0
0
0
0
0
0
0
5
24
-22
22
-44
4
12
0
0
0
0
0
0
0
0
0
0
1
-17
-11
29
74
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
28
13
3
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
0
0
0
0
0
0
0
0
0
0
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
-1
-2
-5
8
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
7
-33
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-59
80
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
27
9
106
94
0
0
0
0
0
0
0
0
0
0
0
0
26
50
-74
-106
94
0
0
0
0
0
0
0
0
0
0
0
4
-1
5
12
81
40
-74
3
0
0
0
0
0
0
0
0
0
0
7
-5
-6
-43
2
5
-18
0
0
0
0
0
0
0
0
0
0
-5
0
15
-5
67
22
56
0
0
0
0
0
0
0
0
0
0
0
20
-3
7
59
85
134
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-7
86
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
20
45
-15
-82
0
0
0
0
0
0
0
0
0
0
0
0
-41
-115
61
46
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
20
-77
50
-25
-37
40
0
0
0
0
0
0
0
0
-7
31
-65
49
-95
-72
-146
2
4
0
0
0
0
0
0
0
0
11
-3
1
28
11
27
-30
-58
-110
0
0
0
0
0
0
0
0
0
0
0
-4
83
-28
19
16
-67
0
0
0
0
0
0
0
0
0
0
0
24
0
51
-57
3
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-56
0
0
0
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
-16
59
-45
0
0
0
19
0
0
0
0
0
0
0
0
15
0
-18
106
-41
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
22
8
90
-130
-29
50
42
0
0
0
0
0
0
0
0
-23
41
-19
11
-45
98
-22
20
-38
0
0
0
0
0
0
0
0
-7
-4
70
102
83
-1
12
10
23
0
0
0
0
0
0
0
0
17
-4
26
-44
91
22
-61
-10
-47
0
0
0
0
0
0
0
0
0
-22
-14
1
22
-35
-15
-53
-52
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
-40
-128
0
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
11
0
0
5
73
0
0
0
18
2
0
0
0
0
0
0
-26
0
-3
-56
-47
-38
0
0
0
60
-6
0
0
0
0
0
0
0
0
12
-10
17
-8
-1
-11
-112
-23
-57
0
0
0
0
0
0
0
0
40
17
-51
-85
-67
20
-6
-128
4
0
0
0
0
0
0
4
0
0
20
14
-45
17
-62
22
-53
-27
0
0
0
0
0
0
0
0
0
0
-6
112
71
75
-61
2
3
0
0
0
0
0
0
0
0
0
0
-15
8
8
-42
121
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
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
-2
-4
-16
-1
-13
-2
0
0
0
-44
9
-8
0
0
0
0
0
-5
7
-75
-3
-4
-21
0
0
0
99
-28
-8
0
0
0
0
0
0
39
-15
38
-29
36
14
28
14
-18
22
0
0
0
0
0
0
0
0
21
-80
73
145
-21
-63
8
-26
-2
-2
0
0
0
0
0
0
-12
3
-18
-11
1
-47
-46
17
12
2
-5
0
0
0
0
0
0
0
0
50
55
73
62
-64
-8
18
15
1
0
0
0
0
0
0
0
0
0
0
14
68
-63
12
-9
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-24
9
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
10
8
13
0
-58
0
0
0
-5
4
0
0
0
0
0
0
-3
98
-79
88
27
54
0
0
0
-3
12
5
-3
0
0
0
0
-20
-17
46
81
-21
15
16
87
-73
-2
11
-14
-3
0
0
0
0
1
-16
16
-105
131
6
-85
-44
-93
-52
11
0
0
0
0
0
0
-33
18
17
65
58
22
-47
-83
-71
-40
6
0
-3
0
0
0
0
0
0
0
-39
19
75
-97
29
-18
-22
0
-4
0
0
0
0
0
0
0
-4
0
-12
-12
48
-46
-59
0
5
0
1
0
0
0
0
0
0
0
0
0
-3
-2
-2
-55
7
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
-15
34
57
-16
6
0
0
0
-25
-5
0
0
0
0
0
0
13
-18
-58
-10
-34
-18
0
0
0
-14
9
-1
0
0
0
0
0
77
-128
8
-52
15
-9
157
27
65
62
-1
0
-1
0
0
0
0
-2
-6
-18
60
69
-53
161
-40
8
-15
-5
14
0
0
0
0
0
-7
-22
55
-59
97
7
-31
15
-75
6
-6
0
0
0
0
0
0
0
0
95
-10
-43
-3
-33
-33
33
-2
13
-1
0
0
0
0
0
0
0
0
-52
-40
-92
21
-1
-94
-5
-5
0
0
0
0
0
0
0
0
0
-1
0
1
11
-87
-83
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
47
56
67
73
110
78
0
0
0
-3
-4
0
0
0
0
0
9
2
73
1
-8
-66
27
0
0
0
-45
14
0
0
0
0
0
0
-12
23
-59
50
-42
53
0
12
35
12
-13
-3
0
0
0
0
0
-7
-26
-22
-40
-141
72
33
-14
-127
-64
-8
-2
0
0
0
0
0
22
25
-2
40
38
-2
-36
-74
-247
-4
-6
0
0
0
0
0
0
-5
15
5
-20
-12
111
-9
19
-4
48
-9
4
0
0
0
0
0
0
0
2
31
-4
-30
93
-21
14
1
-1
0
0
0
0
0
0
0
0
10
0
0
1
0
-16
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
7
0
0
0
0
0
0
0
0
-5
65
-27
-76
127
0
0
0
121
0
0
0
0
0
0
0
0
54
-91
-17
-56
8
0
0
0
-36
65
0
0
0
0
0
0
5
39
-101
-38
128
50
-22
94
99
-14
4
0
0
0
0
0
0
-38
1
-90
-50
-50
-9
-87
19
-105
-48
0
2
0
0
0
0
0
-4
-61
32
-93
-150
-121
23
-101
-87
-27
0
0
0
0
0
0
0
-34
11
-106
38
100
0
38
-60
-29
-4
0
0
0
0
0
0
0
0
3
10
117
178
49
57
32
-43
28
0
0
0
0
0
0
0
0
0
-5
32
-3
0
0
41
-5
-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
-1
-33
12
-17
49
20
0
0
0
77
-17
0
0
0
0
0
0
-7
-61
-59
-127
-42
65
0
0
0
-54
-4
0
0
0
0
0
0
-6
73
1
-59
6
-189
-100
37
-92
43
-5
0
0
0
0
0
0
-13
95
-65
-5
-86
-15
-39
-59
-31
-66
-8
0
0
0
0
0
0
0
37
26
-57
68
-112
40
-9
30
7
2
0
-14
0
0
0
0
18
34
-17
-6
-69
93
25
-71
49
6
0
-1
0
0
0
0
0
-8
-6
3
-149
91
-118
4
-88
27
-3
2
0
0
0
0
0
0
0
0
0
0
-26
-1
78
-44
-12
-80
0
0
0
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
41
-14
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
-33
93
-29
0
0
0
-2
-66
0
0
0
0
0
0
0
0
3
16
-4
16
-65
-1
51
0
-3
2
0
0
0
0
0
0
-1
-4
12
-2
-65
19
54
-50
-71
-9
0
0
0
0
0
0
0
0
-12
6
9
48
3
34
74
-46
26
-4
0
0
0
0
0
0
0
0
0
-3
11
35
10
119
58
0
-1
0
0
0
0
0
0
0
0
10
-21
27
-40
12
18
-27
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-50
-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
-15
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
7
5
9
-41
9
1
0
0
0
0
0
0
0
0
0
0
0
16
-4
73
-52
20
-5
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-14
-26
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-43
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
7
-2
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
6
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-5
0
0
0
0
0
0
0
0
0
0
0
9
42
-2
0
76
-30
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-5
5
-25
104
-91
0
0
0
0
0
0
0
0
0
0
-6
9
18
-3
4
5
68
0
0
0
0
0
0
0
0
0
-3
0
0
-1
115
-34
16
34
0
0
0
0
0
0
0
0
0
0
0
0
22
85
2
10
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
6
15
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
-16
-50
-15
-37
-17
52
0
0
0
0
0
0
0
0
0
0
0
0
44
-43
-34
27
-40
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
14
34
9
43
120
87
0
0
0
0
0
0
0
0
3
13
58
138
173
-68
-82
4
-130
0
0
0
0
0
0
0
0
6
-2
0
-65
-40
-22
74
71
-4
0
0
0
0
0
0
0
0
0
1
0
0
-57
-21
-29
-42
133
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-27
33
-8
-44
0
0
0
0
0
0
0
0
0
0
0
8
5
0
3
-4
-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
-1
5
-12
-18
-21
0
0
0
17
0
0
0
0
0
0
0
0
3
17
5
86
-10
0
0
0
8
0
0
0
0
0
0
0
0
0
-11
23
-6
-32
24
38
76
39
0
0
0
0
0
0
0
0
0
25
43
68
18
-9
62
-45
-69
0
0
0
0
0
0
0
1
26
13
0
-50
-64
-21
-94
68
16
0
0
0
0
0
0
0
0
9
0
-11
0
15
0
-78
-33
-89
0
0
0
0
0
0
0
0
0
0
0
4
-5
-17
96
24
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
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
3
18
28
2
-95
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-22
6
17
-88
0
0
0
61
-5
0
0
0
0
0
0
1
0
-2
11
-29
-28
47
-17
-82
31
-34
0
0
0
0
0
0
-5
3
0
22
205
-12
-21
22
11
-11
-4
0
0
0
0
0
0
0
0
2
-10
-12
32
70
138
-83
13
-17
0
0
0
0
0
0
0
0
6
-1
-4
-34
-21
68
29
5
0
0
0
0
0
0
0
0
0
0
12
-6
5
-20
21
0
-12
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
5
71
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
-6
0
8
29
15
4
0
0
0
-2
9
-1
0
0
0
0
1
28
-8
-25
-2
-36
-23
0
0
0
78
0
0
0
0
0
0
0
5
2
-6
7
-6
0
-41
-79
-22
-20
20
-1
0
0
0
0
0
0
12
1
19
-72
-147
103
-75
-35
6
1
-7
0
0
0
0
0
4
0
-29
47
4
-34
125
-107
81
0
-1
1
0
0
0
0
0
0
0
0
-28
-5
-28
0
-37
58
0
0
0
0
0
0
0
0
0
0
8
-4
-6
-38
6
66
-98
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
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
15
1
-19
9
56
68
0
0
0
-5
0
0
0
0
0
0
0
-2
-21
-28
10
13
-40
0
0
0
25
-3
0
0
0
0
0
0
18
43
5
86
12
-103
32
102
1
-2
4
-1
0
0
0
0
0
1
-23
2
-155
15
-10
30
55
78
12
-3
10
0
0
0
0
0
2
4
-7
127
-91
-25
8
-8
60
49
-1
1
-2
0
0
0
0
0
0
24
48
19
-50
-8
-79
77
-8
0
0
0
0
0
0
0
0
6
-5
5
-17
31
-63
-14
-37
-3
3
0
0
0
0
0
0
0
0
-7
0
0
9
8
-30
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-19
0
0
0
0
0
0
0
0
0
0
-14
44
-52
-56
25
0
0
0
11
-9
0
0
0
0
0
0
-2
122
12
-48
-80
-20
0
0
0
-74
0
0
0
0
0
0
0
0
8
50
12
59
27
-64
-21
-67
-4
-15
0
0
0
0
0
0
1
19
41
33
8
-13
30
66
96
-37
11
-1
0
0
0
0
0
0
45
-38
-60
75
-11
-26
-58
66
0
5
0
0
0
0
0
0
2
5
45
49
-38
93
106
2
54
4
-13
0
0
0
0
0
0
0
0
-1
10
28
39
-32
-35
62
-2
8
0
0
0
0
0
0
0
0
0
-6
0
7
53
-106
-13
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
-10
33
-30
59
29
-52
0
0
0
30
0
0
0
0
0
0
-4
13
54
-39
90
136
-10
0
0
0
8
1
0
0
0
0
0
0
20
-74
128
20
16
10
112
-60
-23
-9
-1
0
0
0
0
0
0
-8
11
184
34
82
65
100
-15
-14
-32
0
0
3
0
0
0
0
0
-33
-24
-100
84
39
-129
31
-31
-11
-5
0
0
0
0
0
0
-1
-12
-70
61
7
-15
22
-52
-108
8
18
0
0
0
0
0
0
-6
-6
-6
5
-53
-31
14
-31
-153
-21
0
1
0
0
0
0
0
0
0
-12
-16
-17
-20
43
90
-101
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
60
-1
1
0
0
0
0
0
0
0
0
28
37
-83
-24
70
0
0
0
12
-3
0
0
0
0
0
0
-26
23
-52
-64
43
41
0
0
0
20
-11
0
0
0
0
0
0
-37
54
60
-11
26
31
29
-4
-75
20
-4
0
0
0
0
0
0
64
74
-118
30
97
17
83
-39
-54
-7
-6
0
0
0
0
0
0
0
11
-96
17
-22
-25
44
8
12
-5
19
0
0
0
0
0
0
0
-10
40
17
46
-37
-82
-65
-70
32
0
-1
0
0
0
0
0
-1
7
-1
48
16
-5
93
83
-99
2
-6
0
0
0
0
0
0
0
0
1
-15
-25
26
2
22
-91
-2
0
0
0
0
0
0
0
0
0
0
-13
0
-5
-2
-1
2
0
0
0
0
0
0
0
0
0
2
-42
-58
33
-34
0
0
0
-88
3
0
0
0
0
0
0
-11
18
44
12
150
-23
0
0
0
1
11
0
0
0
0
0
0
4
-11
18
-63
74
-30
26
-50
-62
-20
17
0
0
0
0
0
0
3
53
8
21
20
1
9
4
16
-6
1
0
0
0
0
0
0
-7
8
29
41
-15
-38
-3
-67
19
-72
7
5
-2
0
0
0
0
-6
-8
-29
41
1
19
-80
-39
86
128
0
0
0
0
0
0
0
0
0
5
4
-19
33
59
-60
-63
-55
0
0
0
0
0
0
0
0
0
6
11
40
3
6
-28
-54
8
-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
-8
0
-1
28
0
0
0
10
-27
0
0
0
0
0
0
0
0
0
-13
-81
-24
0
0
0
0
61
-9
0
0
0
0
0
0
0
-2
4
-1
59
-48
-19
81
2
8
-2
0
0
0
0
0
0
1
8
8
-6
33
58
40
88
15
-24
-3
0
0
0
0
0
0
0
0
5
24
-8
-10
61
64
0
-71
0
0
0
0
0
0
0
0
0
0
4
-5
-25
37
-10
47
3
0
0
0
0
0
0
0
0
0
0
0
1
-4
17
70
29
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
20
-3
0
0
0
-11
-6
8
0
0
0
0
0
0
0
0
0
0
0
-5
29
-48
-1
-11
-1
0
0
0
0
0
0
0
0
0
0
2
1
-3
15
-4
0
-16
0
0
0
0
0
0
0
0
0
0
0
7
-5
-12
-28
-7
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
11
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
-3
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-8
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
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
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
-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
-6
0
-22
-24
-17
0
0
0
0
0
0
0
0
0
0
0
-12
-14
-6
-16
-52
-80
0
0
0
0
0
0
0
0
0
0
0
0
-14
-44
18
39
127
-27
27
0
0
0
0
0
0
0
0
0
0
9
77
-40
6
-83
-22
-101
0
0
0
0
0
0
0
0
0
0
6
10
-109
70
-93
51
22
0
0
0
0
0
0
0
0
0
0
0
0
4
-35
23
-6
-57
0
0
0
0
0
0
0
0
0
0
0
3
9
0
-52
14
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
0
0
-1
18
66
-25
34
28
0
0
0
0
0
0
0
0
0
0
0
6
-63
-3
132
-51
26
0
0
0
0
0
0
0
0
0
0
0
0
-22
-101
-29
-116
-70
75
-24
-3
0
0
0
0
0
0
0
0
0
0
-30
57
-4
16
22
56
28
0
0
0
0
0
0
0
0
0
20
56
58
-95
-84
9
-22
-3
0
0
0
0
0
0
0
0
0
7
0
-68
30
77
-17
112
44
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-33
121
26
0
0
0
0
0
0
0
0
0
0
0
1
0
0
9
38
63
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
-6
-5
7
7
12
0
0
0
58
0
0
0
0
0
0
0
33
2
18
33
-81
-99
0
0
0
-152
0
0
0
0
0
0
0
0
28
11
31
5
-27
21
-11
78
11
0
0
0
0
0
0
0
0
0
0
-14
41
59
-47
39
-32
89
0
0
0
0
0
0
0
0
0
0
10
40
-82
24
59
-33
34
0
0
0
0
0
0
0
0
0
0
5
-22
82
-40
40
55
68
0
0
0
0
0
0
0
0
0
0
0
31
-7
13
3
-23
63
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-22
158
-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
4
10
-3
7
-15
0
0
0
-4
5
0
0
0
0
0
0
-3
-46
78
72
32
92
0
0
0
17
-2
0
0
0
0
0
0
0
5
18
6
0
-46
83
-41
55
-10
11
0
0
0
0
0
0
3
0
0
0
5
-25
59
93
-25
72
17
0
0
0
0
0
0
0
3
-9
-11
68
45
66
-14
-16
-4
10
0
0
0
0
0
0
0
0
9
-19
-11
11
-6
74
3
10
0
0
0
0
0
0
0
0
0
0
12
0
-2
-7
-59
0
-10
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-42
-37
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-10
0
0
0
0
0
0
0
0
0
0
3
17
97
-1
22
0
0
0
-2
4
0
0
0
0
0
0
7
8
53
55
-77
-38
0
0
0
9
0
0
0
0
0
0
0
0
-17
15
11
69
-61
-167
-71
71
22
-2
0
0
0
0
0
0
1
2
0
2
1
60
29
63
-4
-16
3
0
0
0
0
0
0
5
20
-9
0
-14
-3
-58
31
-49
6
6
0
0
0
0
0
0
0
0
47
-3
41
-23
65
18
126
0
0
0
0
0
0
0
0
0
17
6
14
-3
-18
62
-48
-23
1
0
0
0
0
0
0
0
0
0
0
-1
-2
0
23
0
-113
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-18
0
0
0
0
0
0
0
0
0
0
-4
-87
55
10
-29
0
0
0
1
0
0
0
0
0
0
0
22
26
-45
-179
15
54
0
0
0
-46
0
0
0
0
0
0
0
4
-9
-28
-14
125
135
78
53
23
0
4
0
0
0
0
0
1
6
25
-29
-1
-15
108
47
16
2
-14
0
0
0
0
0
0
0
26
17
11
4
11
7
-51
-144
58
-9
0
0
0
0
0
0
0
-1
-6
-7
36
35
-117
29
30
-106
0
0
0
0
0
0
0
0
0
0
-21
29
83
111
-14
-69
-169
6
0
0
0
0
0
0
0
0
0
0
-3
0
-10
-9
-16
-37
7
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-2
-4
0
0
0
0
0
0
0
0
0
-20
39
11
36
86
0
0
0
-27
0
0
0
0
0
0
0
0
20
45
-18
58
-56
0
0
0
-45
-6
0
0
0
0
0
0
-10
76
26
71
7
4
18
-2
3
33
-2
0
0
0
0
0
0
6
-22
-22
12
-32
23
80
-189
64
12
5
0
0
0
0
0
0
-1
-75
12
27
-78
-128
111
44
-11
108
6
0
0
0
0
0
0
-1
-9
-37
66
10
67
53
-80
-28
-9
-1
0
0
0
0
0
0
-5
6
-2
-39
73
48
53
-40
-28
-6
0
0
0
0
0
0
0
0
0
0
14
72
4
35
-99
-41
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-147
0
0
0
0
0
0
0
0
1
13
-102
-58
48
44
-49
0
0
0
9
1
0
0
0
0
0
-21
0
52
60
-6
33
4
0
0
0
-49
2
0
0
0
0
0
1
35
41
142
-40
77
-13
29
1
76
25
-12
0
0
0
0
0
0
-9
51
-60
-60
-39
69
42
109
-56
19
3
-2
0
0
0
0
0
0
-6
-51
-5
137
66
35
-56
38
85
-4
1
0
0
0
0
0
0
-22
-28
-19
38
201
-66
14
-36
35
0
0
0
0
0
0
0
2
6
85
-19
-74
-143
92
-3
-23
-24
21
0
0
0
0
0
0
0
0
0
-63
50
-29
-19
-82
43
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
26
10
0
0
0
0
0
0
0
0
49
52
-53
-43
-63
85
0
0
0
-31
2
0
0
0
0
0
0
-48
20
38
-29
95
-29
0
0
0
31
-16
0
0
0
0
0
0
9
106
26
95
-32
140
189
-73
97
-7
-16
0
0
0
0
0
-6
23
-35
14
80
7
71
-21
-9
-59
-5
0
0
0
0
0
0
0
52
34
22
-28
89
56
-26
-3
-63
51
-5
0
0
0
0
0
-2
0
-5
73
47
-50
-26
30
-12
-103
-13
0
0
0
0
0
0
0
0
9
-42
101
45
-8
32
53
-113
16
0
0
0
0
0
0
0
-7
0
-12
-50
-7
-31
-47
-9
53
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
-4
-9
0
0
0
0
0
0
0
0
49
-42
41
-9
70
0
0
0
-134
0
0
0
0
0
0
0
-3
-54
-43
8
-99
18
0
0
0
15
5
0
0
0
0
0
0
6
-32
44
46
-29
-32
69
-3
-66
-8
-69
0
0
0
0
0
0
19
-40
-23
59
47
49
-109
-141
-40
-10
-2
0
0
0
0
0
0
0
7
26
-47
47
63
-72
37
-73
36
-14
0
0
0
0
0
0
0
-58
-4
-67
-3
16
85
-92
24
42
0
0
0
0
0
0
0
0
4
19
37
-77
-17
14
-157
-6
-75
0
0
0
0
0
0
0
0
-2
0
13
-23
-12
-32
0
-132
86
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
-13
-14
7
0
0
0
2
1
0
0
0
0
0
0
0
0
-1
10
-70
-7
0
0
0
-91
-63
0
0
0
0
0
0
0
0
0
-7
12
-63
-7
46
-62
13
-35
-3
0
0
0
0
0
0
0
0
-3
-3
-41
-18
-53
-4
9
0
0
0
0
0
0
0
0
0
0
-1
-8
12
87
-4
-44
-16
32
0
0
0
0
0
0
0
0
0
0
-3
0
48
-41
-21
4
-23
0
0
0
0
0
0
0
0
0
-2
-1
2
-4
-32
1
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-14
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
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
-3
1
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-8
8
1
-4
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
5
56
0
5
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-2
2
0
21
0
0
0
0
0
0
0
0
0
0
0
12
0
-52
70
64
4
-28
17
0
0
0
0
0
0
0
0
0
0
-16
-43
25
25
-44
-25
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-37
75
52
69
-40
0
0
0
0
0
0
0
0
0
0
0
-3
4
1
129
22
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-25
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
2
0
22
-9
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
38
0
0
0
0
0
0
0
0
0
3
-41
4
2
4
-9
0
0
0
0
0
0
0
0
0
0
0
47
30
26
-18
13
54
0
0
0
0
0
0
0
0
0
0
0
20
-44
-33
-2
-34
-11
41
-119
55
0
0
0
0
0
0
0
0
0
2
-17
-160
38
-163
40
75
64
0
0
0
0
0
0
0
0
0
0
22
-88
59
-22
-23
138
-65
0
0
0
0
0
0
0
0
0
0
-20
-41
7
-10
-20
30
24
0
0
0
0
0
0
0
0
0
20
5
-26
1
-17
129
-43
28
0
0
0
0
0
0
0
0
0
0
-1
0
-31
55
-51
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
6
-4
0
0
0
0
0
0
0
0
0
6
1
28
10
-8
0
0
0
16
0
0
0
0
0
0
0
-5
34
-10
-127
69
49
0
0
0
80
0
0
0
0
0
0
0
0
8
-9
-24
-9
-9
77
-25
-24
4
0
0
0
0
0
0
0
0
0
-1
-3
-23
109
-3
61
29
-23
0
0
0
0
0
0
0
0
0
0
11
193
-73
75
35
32
1
0
0
0
0
0
0
0
0
0
0
1
-58
25
31
-73
17
1
0
0
0
0
0
0
0
0
0
2
-5
1
-44
-59
53
32
7
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-50
50
31
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
-6
0
18
-66
16
-3
0
0
0
42
3
0
0
0
0
0
0
0
56
9
10
4
-36
0
0
0
-124
25
0
0
0
0
0
0
0
8
-39
-38
-26
-62
107
20
1
7
0
0
0
0
0
0
0
0
0
0
-2
65
-72
-11
146
19
6
0
0
0
0
0
0
0
5
0
0
0
-13
-86
-76
-41
20
4
0
0
0
0
0
0
0
0
0
0
-20
5
-40
-8
-59
25
-33
3
0
0
0
0
0
0
0
0
0
0
-10
1
-6
22
9
-4
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-6
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
-8
3
0
0
0
0
0
0
0
0
28
-5
4
-25
6
58
0
0
0
37
-1
0
0
0
0
0
0
-20
23
36
53
-71
-62
0
0
0
-20
-6
1
0
0
0
0
0
1
-4
-37
-136
1
6
56
27
-67
0
0
0
0
0
0
0
0
7
-1
-9
-3
-9
-57
-115
-4
-9
41
0
0
0
0
0
0
0
-27
5
0
0
0
69
-6
75
-52
0
-1
0
0
0
0
0
0
0
0
1
-9
-43
49
-138
50
-3
0
0
0
0
0
0
0
0
0
0
5
42
-34
-29
-104
101
19
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-76
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
-4
21
33
-3
10
0
0
0
-1
2
-1
0
0
0
0
0
-2
8
190
16
49
-98
0
0
0
-8
0
0
0
0
0
0
0
21
45
103
15
12
-90
-65
11
-2
-1
13
0
0
0
0
0
1
-40
2
-15
38
-17
85
-94
48
-224
-5
0
0
0
0
0
0
0
5
45
2
11
0
-1
121
140
-76
-5
0
0
0
0
0
0
0
0
0
8
1
-6
24
-45
-53
-30
-4
0
0
0
0
0
0
0
0
0
0
-18
-31
-37
-33
48
-31
6
0
0
0
0
0
0
0
0
0
-8
0
-12
-2
84
19
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-63
-4
0
0
0
0
0
0
0
0
-6
4
-32
98
-11
-73
0
0
0
0
0
0
0
0
0
0
0
0
-32
-92
50
23
-8
0
0
0
48
0
0
0
0
0
0
0
10
1
-32
-25
12
-142
30
113
-99
-7
3
0
0
0
0
0
0
0
5
58
-2
-40
48
65
-101
21
-14
-2
0
0
0
0
0
0
-2
21
-19
50
0
0
6
-88
18
0
0
0
0
0
0
0
0
11
43
-25
55
-22
7
96
30
49
10
0
0
0
0
0
0
0
-4
-11
-28
0
14
-117
56
-19
132
-22
0
0
0
0
0
0
0
0
0
0
-15
5
-8
-58
34
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-42
40
0
0
0
0
0
0
0
7
-1
-25
-26
-43
10
81
0
0
0
-30
0
0
0
0
0
0
1
56
-102
70
-3
-18
-22
0
0
0
-41
0
0
0
0
0
0
0
-97
59
-39
77
103
-42
64
84
48
-4
3
0
0
0
0
0
3
-6
119
35
161
55
31
21
67
135
51
0
0
0
0
0
0
0
-76
0
-1
-101
80
-13
0
-74
241
-18
0
0
0
0
0
0
0
3
44
29
17
-110
60
-49
-88
76
44
-1
0
0
0
0
0
0
0
2
-2
34
-54
-26
-93
97
9
-23
-1
0
0
0
0
0
0
0
0
-10
0
-50
-57
96
-33
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
14
1
-1
0
0
0
0
0
0
0
-13
22
7
-15
78
15
0
0
0
-10
1
0
0
0
0
0
1
2
35
-60
42
36
-8
0
0
0
25
-12
-1
0
0
0
0
0
23
-8
50
52
-31
-41
88
65
-11
32
-2
0
0
0
0
0
0
-10
66
21
75
53
36
91
-63
-83
-79
0
8
0
0
0
0
0
16
1
34
-50
24
41
-37
0
-2
4
6
0
0
0
0
0
0
27
19
-63
6
-17
1
34
24
-142
-29
0
-9
0
0
0
0
0
1
-11
-98
96
-21
69
-49
2
38
0
0
0
0
0
0
0
0
1
0
15
70
33
-92
163
81
-100
23
0
0
0
0
0
0
0
0
0
0
0
-2
7
24
-50
27
0
0
0
0
0
0
0
0
16
-44
-9
50
64
26
0
0
0
40
-2
0
0
0
0
0
0
-11
-35
59
-17
-82
26
0
0
0
-9
6
0
0
0
0
0
0
8
76
-5
-77
105
10
-48
-41
61
-63
4
0
0
0
0
0
0
0
-27
-70
-21
81
58
20
-15
-34
54
-11
0
0
0
0
0
0
0
52
82
19
-136
68
24
-8
0
-32
0
0
0
0
0
0
0
0
44
25
-16
-55
20
82
-68
1
-2
0
0
0
0
0
0
0
0
-7
-2
81
-44
-25
-57
-77
-56
-19
0
0
0
0
0
0
0
34
0
13
1
76
0
13
26
45
103
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
7
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
0
0
0
8
-7
0
0
0
0
0
0
0
3
0
7
16
36
0
0
0
63
-11
0
0
0
0
0
0
0
0
1
7
89
-21
21
43
-43
13
-64
0
0
0
0
0
0
0
0
0
3
-1
33
-74
-81
34
-17
4
-4
0
0
0
0
0
0
0
1
12
-14
0
27
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
32
11
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-28
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-38
-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
-60
0
1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
29
0
4
0
0
0
0
0
0
0
0
0
0
1
-5
-5
6
-14
-16
12
0
0
0
0
0
0
0
0
0
0
-17
1
10
19
6
0
6
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
-1
0
0
-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
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
12
0
11
0
12
16
0
0
0
0
0
0
0
0
0
0
0
1
-7
-2
-44
6
-5
10
4
0
0
0
0
0
0
0
0
0
0
0
11
-16
-17
23
-4
62
0
0
0
0
0
0
0
0
0
0
0
0
100
47
-5
-75
47
0
0
0
0
0
0
0
0
0
0
0
-2
22
50
15
171
70
0
0
0
0
0
0
0
0
0
0
0
0
10
98
129
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-56
0
0
0
0
0
0
0
0
0
-2
28
-31
-16
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
33
-66
14
-67
-90
0
0
0
0
0
0
0
0
0
0
0
-1
-62
-32
18
123
55
20
-25
-95
0
0
0
0
0
0
0
0
-6
25
15
151
51
-49
-145
-118
-32
0
0
0
0
0
0
0
0
0
0
24
50
45
-28
32
-72
-21
0
0
0
0
0
0
0
0
0
0
-4
18
19
207
14
-69
-29
0
0
0
0
0
0
0
0
0
0
13
-59
-15
28
-133
-35
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
57
1
-24
77
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
44
-7
0
0
0
0
0
0
0
0
-14
-1
21
47
26
5
0
0
0
31
0
0
0
0
0
0
0
0
-13
-14
-56
16
-42
0
0
0
38
0
0
0
0
0
0
0
-34
-20
-11
26
-32
42
4
135
-90
-16
0
0
0
0
0
0
0
0
9
103
-38
-2
-29
-161
-61
-33
-4
0
0
0
0
0
0
0
0
0
0
44
-41
-116
-59
-23
22
-5
0
0
0
0
0
0
0
0
0
0
6
33
0
116
-18
51
4
0
0
0
0
0
0
0
0
0
0
0
0
50
48
69
51
25
0
0
0
0
0
0
0
0
0
0
0
0
6
9
56
91
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-14
0
0
0
0
0
0
0
0
3
0
8
-2
-4
0
0
0
4
0
0
0
0
0
0
0
-6
-8
132
43
-18
-55
0
0
0
-128
0
0
0
0
0
0
0
0
9
0
-28
15
-52
-12
-29
25
-11
1
0
0
0
0
0
0
0
-7
-7
3
10
86
-37
36
2
-5
2
0
0
0
0
0
0
-4
0
0
-1
-14
22
-66
-52
-31
0
-7
0
0
0
0
0
0
0
0
0
1
13
-85
-5
29
12
-2
0
0
0
0
0
0
0
0
0
0
4
22
3
-1
-81
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
-5
43
-29
13
-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
1
-62
-33
0
25
0
0
0
0
0
0
0
0
0
0
0
13
-25
-45
-33
44
30
0
0
0
19
-8
0
0
0
0
0
0
7
5
-14
35
-5
144
50
115
-140
0
1
0
0
0
0
0
0
-21
3
-2
-47
-19
2
62
-97
-80
7
0
0
0
0
0
0
0
8
33
-2
0
-67
-57
20
31
-75
0
0
0
0
0
0
0
0
-9
-10
-2
0
1
-63
137
49
-19
0
0
0
0
0
0
0
0
0
0
0
0
-38
78
35
-72
72
0
0
0
0
0
0
0
0
0
0
1
0
-15
8
-32
-99
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
0
0
0
0
0
0
0
0
0
9
-23
101
39
118
-50
0
0
0
0
0
0
0
0
0
0
11
13
-56
12
10
44
52
0
0
0
-16
0
0
0
0
0
0
0
-4
-26
114
50
-77
-47
103
-63
49
-1
0
0
0
0
0
0
0
10
27
11
-75
-52
100
-38
-6
-30
-2
0
0
0
0
0
0
0
-6
-11
17
58
6
79
-2
35
-31
1
0
0
0
0
0
0
0
-3
2
-1
-3
0
0
72
-4
74
0
0
0
0
0
0
0
0
0
-1
-16
0
4
-44
-38
33
-35
-1
0
0
0
0
0
0
0
0
-1
0
-1
-2
-62
-24
-8
-92
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
-3
0
0
0
0
0
0
0
0
4
50
31
181
-103
133
0
0
0
-2
0
0
0
0
0
0
0
-10
-29
-46
8
81
-119
0
0
0
15
-1
0
0
0
0
0
0
5
31
-37
77
-48
35
-46
9
-52
11
0
0
0
0
0
0
0
-14
4
-52
-28
4
36
-46
-71
-93
4
0
0
0
0
0
0
0
-10
-65
-44
21
125
-1
-15
-57
134
12
0
0
0
0
0
0
0
0
17
-72
-64
0
0
-2
-63
-42
-4
0
0
0
0
0
0
0
0
0
5
27
3
5
-50
26
-82
8
0
0
0
0
0
0
0
0
0
-2
-1
9
1
12
-63
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
0
14
-6
-17
25
-38
94
-40
0
0
0
-39
0
0
0
0
0
0
-2
-2
33
-46
-82
13
3
0
0
0
5
0
0
0
0
0
0
0
-72
-11
-9
-66
24
-22
-44
-21
-9
-11
-3
0
0
0
0
0
0
23
163
25
-14
-26
-44
-33
-21
-57
-22
3
0
0
0
0
0
0
-47
-8
-19
49
88
33
38
-78
-5
-15
0
0
0
0
0
0
7
10
-45
-16
24
-52
5
0
0
-27
-4
0
0
0
0
0
0
0
0
-11
136
-20
-148
-31
11
49
104
-11
0
0
0
0
0
0
0
0
-1
0
8
18
-23
-61
87
48
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
3
56
-19
65
-62
-6
0
0
0
3
0
0
0
0
0
0
-3
74
-50
60
183
12
6
0
0
0
-72
0
0
0
0
0
0
0
-19
5
95
57
100
176
-43
-71
-31
-54
1
0
0
0
0
0
0
-16
-21
24
-13
-83
92
-117
63
-91
-8
0
0
0
0
0
0
0
-10
-87
21
-52
91
11
-84
-14
-54
17
0
0
0
0
0
0
0
0
15
-24
2
-71
-99
11
0
0
-3
0
0
0
0
0
0
0
0
19
-26
30
-72
152
-94
6
-65
-3
-4
0
0
0
0
0
0
0
0
42
3
-15
17
72
-5
84
-2
0
0
0
0
0
0
0
0
0
0
1
-5
3
9
152
34
0
0
0
0
0
0
0
0
-1
0
18
-95
-79
-76
0
0
0
-94
0
-1
0
0
0
0
0
0
83
23
-4
-56
-69
0
0
0
-1
-15
0
0
0
0
0
0
1
-1
9
-5
92
61
49
5
-75
-124
-4
0
0
0
0
0
0
0
-42
-7
-28
48
-9
57
-18
-57
-33
-5
0
0
0
0
0
0
0
11
-4
-24
20
29
-26
-80
1
111
0
0
0
0
0
0
0
0
-29
-21
57
-119
115
-154
-15
0
0
0
0
0
0
0
0
0
0
0
9
47
141
69
9
-58
8
-2
0
0
0
0
0
0
0
0
0
-2
-52
-60
106
11
-3
-132
-35
0
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
-3
0
-13
0
0
0
14
15
0
0
0
0
0
0
0
0
0
0
-15
-42
0
0
0
12
5
0
0
0
0
0
0
0
0
0
-6
71
33
-5
-171
-60
59
38
0
0
0
0
0
0
0
0
0
1
37
56
-4
25
-49
-2
6
0
0
0
0
0
0
0
0
0
0
-5
66
24
7
10
0
21
0
0
0
0
0
0
0
0
0
0
-20
0
27
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
58
0
71
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-28
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
16
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
17
35
-2
-6
-41
0
0
0
0
0
0
0
0
0
0
0
-1
14
-19
-80
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-23
0
-1
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
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-6
0
0
0
0
0
0
0
0
0
0
0
-5
7
-12
9
-3
-2
-3
11
0
0
0
0
0
0
0
0
0
0
0
1
-4
-9
-36
33
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-70
-1
77
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-24
0
0
0
0
0
0
0
0
0
0
19
-15
-13
0
6
0
0
0
0
0
0
0
0
0
0
0
-10
-4
39
-5
-13
-16
0
0
0
0
0
0
0
0
0
0
0
6
76
81
-91
-16
41
-14
146
-3
0
0
0
0
0
0
0
0
0
0
-14
-5
-54
-237
13
9
-40
0
0
0
0
0
0
0
0
1
-13
-1
-50
-47
95
-16
-94
-66
0
0
0
0
0
0
0
0
0
0
1
-13
-130
-108
-62
16
-54
0
0
0
0
0
0
0
0
0
0
-15
61
-38
131
51
-81
-70
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
29
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-129
-12
0
0
0
0
0
0
0
0
0
2
0
-19
-5
0
0
0
0
4
0
0
0
0
0
0
0
4
3
32
41
-4
-1
0
0
0
-13
0
0
0
0
0
0
0
0
3
-8
-6
-19
5
4
-52
103
-10
0
0
0
0
0
0
0
0
0
55
-29
-50
-92
9
-17
46
0
0
0
0
0
0
0
0
0
10
-50
-20
-50
-55
67
-51
24
0
0
0
0
0
0
0
0
0
0
0
-2
-43
33
77
47
48
-3
0
0
0
0
0
0
0
0
0
0
0
23
26
-12
228
11
14
0
0
0
0
0
0
0
0
0
0
0
0
-6
-89
9
39
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
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
-5
-57
-11
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
38
2
-42
-3
-9
-8
3
0
0
0
0
0
0
0
0
0
0
14
-77
30
21
-58
-21
-3
0
0
0
0
0
0
0
0
0
-5
-23
-12
25
-1
79
0
0
0
0
0
0
0
0
0
0
0
0
-5
50
-7
76
-55
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
17
23
-2
0
0
0
0
0
0
0
0
0
0
0
3
-1
57
4
-5
-3
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
4
-8
-2
-11
-15
0
0
0
-1
8
0
0
0
0
0
0
0
0
-10
12
-31
-46
0
0
0
-24
11
0
0
0
0
0
0
0
-8
5
42
115
-68
72
-34
-86
0
-3
0
0
0
0
0
0
0
-1
9
59
19
-23
-95
7
23
0
0
0
0
0
0
0
0
0
8
-25
-66
-10
-16
-19
-145
-23
0
0
0
0
0
0
0
0
0
2
-7
0
50
100
-178
54
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
16
17
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-19
-39
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
50
0
0
0
0
0
0
0
0
0
9
24
59
-6
-14
0
0
0
7
0
0
0
0
0
0
0
0
-6
7
42
18
51
0
0
0
-34
0
0
0
0
0
0
0
0
7
16
-105
-2
-61
58
-35
-122
0
0
0
0
0
0
0
0
0
10
103
77
22
-68
-78
-74
25
0
0
0
0
0
0
0
0
9
-1
-11
-60
18
-89
-91
-79
-18
0
0
0
0
0
0
0
0
0
0
18
8
0
106
-64
-160
139
-7
0
0
0
0
0
0
0
0
5
-2
0
0
0
60
-6
-25
0
0
0
0
0
0
0
0
4
4
-3
0
5
13
-73
-33
83
-8
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
40
2
0
0
0
0
0
0
0
0
0
1
23
-21
-49
51
0
0
0
0
-1
0
0
0
0
0
0
0
-2
37
155
-200
-7
0
0
0
7
-2
0
0
0
0
0
0
-1
3
105
40
-138
30
80
46
-29
0
0
0
0
0
0
0
0
0
19
-80
36
44
31
27
-103
-120
1
0
0
0
0
0
0
0
-2
-10
-42
44
-70
105
-70
155
-76
0
0
0
0
0
0
0
0
0
0
-27
14
-50
12
-21
13
-78
-3
0
0
0
0
0
0
0
0
-6
-33
-6
-3
0
-2
-15
-3
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
-24
242
206
10
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
-39
0
0
0
0
0
0
0
0
-5
77
-4
-35
-40
144
0
0
0
76
0
0
0
0
0
0
0
0
26
-19
35
78
114
0
0
0
86
-2
0
0
0
0
0
-8
4
2
-66
-9
166
-117
31
-39
-77
3
-11
0
0
0
0
0
17
48
64
101
-28
-1
-51
50
20
14
21
0
0
0
0
0
0
0
-17
18
14
66
57
-23
17
2
21
-6
0
0
0
0
0
0
0
4
-41
-68
-34
107
-14
39
-47
-17
55
0
0
0
0
0
0
0
0
4
8
63
-14
1
0
0
-43
1
0
0
0
0
0
0
0
0
0
-8
-24
-37
-58
0
51
4
100
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
27
0
-4
0
0
0
0
0
0
0
8
-26
-68
33
55
98
0
0
0
9
4
0
0
0
0
0
0
19
-62
-92
-87
-104
61
0
0
0
-46
-5
0
0
0
0
0
0
4
-43
58
-70
-89
-23
73
80
-56
-18
-14
0
0
0
0
0
0
28
31
-23
135
-57
-66
-11
-72
29
19
7
0
0
0
0
0
0
44
-126
-117
98
41
0
-152
111
-103
13
-4
0
0
0
0
0
0
5
-10
-80
-31
13
50
-19
-4
-43
-4
0
0
0
0
0
0
0
11
1
-35
59
70
-71
12
0
3
3
0
0
0
0
0
0
0
0
-3
52
0
-16
51
80
0
39
116
-2
0
0
0
0
0
0
0
0
0
3
0
0
9
15
14
0
0
0
0
0
0
0
0
0
-14
-3
7
-48
0
0
0
0
-16
-7
0
0
0
0
0
0
-7
15
26
-65
-5
-22
0
0
0
44
-5
-3
0
0
0
0
0
0
42
63
145
-1
7
-8
-70
-11
50
1
0
0
0
0
0
0
-1
4
-18
-20
-83
77
-35
49
-13
149
-2
0
0
0
0
0
0
0
-50
-87
107
16
35
-9
-78
-4
58
2
0
0
0
0
0
0
0
-4
50
-43
59
-46
66
15
0
-75
0
0
0
0
0
0
0
0
-2
5
-18
50
13
-33
3
0
0
0
0
0
0
0
0
0
0
-2
-29
31
-26
11
6
69
8
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
3
0
0
0
0
0
0
0
0
0
11
0
-8
-3
0
0
0
-5
-10
0
0
0
0
0
0
0
0
0
-21
2
-57
0
0
0
-91
-135
0
0
0
0
0
0
0
0
0
0
34
-23
-59
48
-9
2
-62
0
0
0
0
0
0
0
0
0
5
0
-22
16
77
20
68
9
4
0
0
0
0
0
0
0
4
0
9
85
-32
-47
-29
-2
3
0
0
0
0
0
0
0
0
0
0
8
5
-45
50
-4
0
2
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
1
0
-10
-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
-41
5
2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-42
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
24
-25
48
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
-51
-3
0
3
0
0
0
0
0
0
0
0
0
0
7
0
-1
8
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-27
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-6
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
12
-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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
57
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
-4
14
-21
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
10
-7
3
29
4
0
0
0
0
0
0
0
0
0
0
8
13
-21
55
28
100
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
27
-53
-1
4
0
0
0
0
0
0
0
0
0
0
0
23
4
-5
48
-44
7
0
0
0
0
0
0
0
0
0
0
-8
3
12
16
8
-39
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-38
75
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
9
-15
15
87
2
19
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
55
59
65
7
0
0
0
0
0
0
0
0
0
0
0
0
-25
-17
-9
55
20
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-1
87
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
7
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
0
0
0
0
0
0
0
0
0
0
0
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
-6
-5
0
-1
50
6
10
-9
0
0
0
0
0
0
0
0
0
-5
0
-53
-4
5
-17
0
10
0
0
0
0
0
0
0
0
0
19
53
-3
-19
14
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
111
20
-49
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-61
-1
9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
0
0
-7
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
8
0
6
0
2
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
9
14
-19
0
0
0
0
0
0
0
0
0
0
0
-18
0
-73
-13
-25
10
26
7
0
0
0
0
0
0
0
0
0
-19
1
64
-73
-3
73
27
0
0
0
0
0
0
0
0
0
0
-4
0
-7
-83
-107
65
28
0
0
0
0
0
0
0
0
0
0
-1
0
55
-46
17
-59
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
24
0
0
0
0
0
0
0
0
0
5
0
-7
0
13
0
0
0
22
0
0
0
0
0
0
0
0
2
15
-1
-9
72
0
0
0
5
0
0
0
0
0
0
0
0
-7
-29
-39
4
-29
3
-67
52
0
0
0
0
0
0
0
0
5
4
10
27
-84
101
-44
29
-3
0
0
0
0
0
0
0
0
0
0
-1
-58
71
-42
-54
-20
-39
4
0
0
0
0
0
0
0
0
0
21
-12
34
0
88
2
31
-6
0
0
0
0
0
0
0
0
2
-9
-4
0
-49
20
19
48
3
0
0
0
0
0
0
0
0
0
18
0
0
0
-11
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
16
6
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
-41
9
-16
48
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
-40
44
-27
26
-60
-36
0
0
0
0
0
0
0
0
0
0
6
7
90
8
75
14
-84
11
0
0
0
0
0
0
0
10
2
5
8
36
48
-53
-64
36
0
0
0
0
0
0
0
0
0
-3
-6
20
-35
-139
-16
-1
19
1
0
0
0
0
0
0
0
0
0
10
32
15
0
33
39
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
37
23
0
0
0
0
0
0
0
0
0
3
10
15
0
83
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
6
-128
38
0
0
0
27
0
0
0
0
0
0
0
0
1
-14
43
8
36
-33
20
19
0
0
0
0
0
0
0
0
0
-6
2
11
-54
-27
145
-14
12
-7
0
0
0
0
0
0
0
-4
-4
-21
23
2
49
-62
-102
30
7
0
0
0
0
0
0
0
0
0
4
164
48
-107
48
68
-14
-16
0
0
0
0
0
0
0
0
17
7
-93
17
38
-1
-61
-55
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
9
-7
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-31
3
0
0
0
0
0
0
0
0
17
45
-22
-27
-69
0
0
0
-41
11
0
0
0
0
0
0
18
-8
126
66
-26
-3
0
0
0
0
0
0
0
0
0
0
0
9
-41
-27
51
39
34
14
59
-78
19
0
0
0
0
0
0
0
-12
-8
-10
-71
-50
-40
-18
-35
23
1
-5
0
0
0
0
0
0
1
19
2
-56
47
25
-61
-41
9
14
0
0
0
0
0
0
0
0
12
-59
-51
44
-1
-46
12
-5
-6
-1
0
0
0
0
0
0
0
23
-38
-165
-28
75
-25
-2
147
13
0
0
0
0
0
0
0
0
1
-13
20
-3
-23
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
9
4
0
0
0
-43
-20
0
0
0
0
0
0
0
8
0
1
-16
-19
0
0
0
-58
-2
0
0
0
0
0
0
0
-10
10
4
-122
-47
100
-2
-37
-60
7
0
0
0
0
0
0
0
0
-23
-13
49
-23
122
144
40
-38
-2
0
0
0
0
0
0
0
0
63
-3
-24
-82
29
-24
20
137
0
0
0
0
0
0
0
0
0
13
-7
-18
119
-138
-67
-13
18
0
0
0
0
0
0
0
0
0
-6
-2
38
50
91
50
0
-50
0
0
0
0
0
0
0
0
0
0
-2
-21
-4
-43
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
19
-27
3
0
0
0
0
0
0
0
0
0
-5
-3
-4
-14
85
6
20
0
0
0
0
0
0
0
0
0
0
0
-26
-22
-8
38
4
2
0
0
0
0
0
0
0
0
0
0
0
4
17
-27
3
-4
-57
0
0
0
0
0
0
0
0
0
0
18
2
-6
-26
-47
0
-15
0
0
0
0
0
0
0
0
0
0
0
-2
6
15
-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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
8
0
0
0
0
0
0
0
0
0
0
0
21
0
-3
0
24
10
0
0
0
0
0
0
0
0
0
0
0
0
7
13
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
-33
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-4
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
-4
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-45
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
5
0
5
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-14
-17
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
-31
16
-7
0
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
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
3
0
-1
17
0
0
0
0
0
0
0
0
0
0
-9
-94
-10
-63
81
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-2
53
-135
-16
22
-41
0
0
0
0
0
0
0
0
0
0
0
0
2
24
-52
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-14
4
3
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
6
2
-2
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
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
11
1
-5
-33
-170
0
0
0
0
0
0
0
0
0
0
0
0
1
3
15
-1
10
-2
0
0
0
0
0
0
0
0
0
0
1
-17
6
89
0
142
0
0
0
0
0
0
0
0
0
0
0
5
1
-28
2
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
118
66
18
0
-35
0
0
0
0
0
0
0
0
0
0
0
31
-1
3
-16
0
-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
0
0
9
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-10
-3
3
53
17
6
11
0
0
0
0
0
0
0
0
0
0
0
0
-21
-37
-31
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
6
-66
-1
6
0
0
0
0
0
0
0
0
0
0
0
-12
0
-43
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-39
0
4
0
0
0
0
0
0
0
0
0
0
0
0
8
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
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
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
-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
-12
-10
4
1
-2
6
0
0
0
0
0
0
0
0
0
0
-82
91
-4
80
-1
-1
1
0
0
0
0
0
0
0
0
0
0
3
-58
29
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-3
-26
0
-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
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
126
29
4
10
15
0
0
0
0
0
0
0
0
0
0
0
-30
-8
26
-112
-20
-35
3
0
0
0
0
0
0
0
0
0
0
24
103
44
-87
-26
19
-3
-18
0
0
0
0
0
0
0
0
39
-53
75
11
13
13
-1
0
-10
0
0
0
0
0
0
0
0
0
-13
5
-3
0
-12
33
0
1
0
0
0
0
0
0
0
0
-7
-12
0
1
52
0
-2
-6
12
0
0
0
0
0
0
0
0
0
9
1
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-2
-14
-4
-8
4
0
0
0
0
0
0
0
0
0
0
4
30
-5
17
123
59
-5
-13
0
0
0
0
0
0
0
0
3
-63
109
-96
34
16
8
32
0
0
0
0
0
0
0
0
0
0
-88
96
-19
128
-3
54
5
-1
-33
0
0
0
0
0
0
0
0
-6
-2
95
12
-20
4
-6
-1
0
0
0
0
0
0
0
0
0
11
-11
0
-22
3
0
-13
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-8
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
0
0
0
0
0
0
0
2
-19
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
50
9
-7
-14
23
75
-29
0
7
0
0
0
0
0
0
0
0
-10
7
-4
-10
-14
-40
1
7
18
0
0
0
0
0
0
0
0
14
-4
32
-44
-35
7
-11
2
0
0
0
0
0
0
0
0
0
0
1
-2
8
-6
-10
2
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-1
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
0
1
-10
0
0
0
0
0
0
0
0
0
0
-4
77
-32
-26
-62
24
45
-3
7
0
0
0
0
0
0
0
0
11
-2
3
-5
15
-2
-4
64
0
0
0
0
0
0
0
0
0
-33
-1
-7
13
31
-27
-5
0
-13
0
0
0
0
0
0
0
0
48
5
-2
1
0
-8
0
-3
0
0
0
0
0
0
0
0
0
-15
13
-1
-4
1
0
-1
-9
0
0
0
0
0
0
0
0
0
-9
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-44
-27
5
0
45
4
0
0
0
0
0
0
0
0
0
20
-87
41
54
-9
-18
16
0
1
0
0
0
0
0
0
0
0
-39
51
46
-47
9
35
-12
31
1
0
0
0
0
0
0
0
0
-35
-11
-3
8
-4
1
0
19
-4
3
0
0
0
0
0
0
0
-16
-4
-68
11
6
-14
1
0
0
0
0
0
0
0
0
0
0
33
-117
13
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
44
27
-14
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
9
-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
-3
4
9
75
42
-17
0
1
0
0
0
0
0
0
0
0
0
0
-113
-65
-91
3
31
22
0
14
0
0
0
0
0
0
0
0
0
23
-48
24
93
-48
-15
-35
-5
0
0
0
0
0
0
0
0
41
102
17
-39
-77
21
9
-22
-10
0
0
0
0
0
0
0
0
-15
72
110
14
28
11
10
0
4
0
0
0
0
0
0
0
0
-6
-37
-76
-2
9
96
0
-1
0
0
0
0
0
0
0
0
0
4
-118
12
7
15
-3
0
-10
0
0
0
0
0
0
0
0
0
-1
-16
-14
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
51
-47
206
15
-21
60
-25
0
0
0
0
0
0
0
0
0
0
-14
-25
9
23
85
-2
-25
6
2
0
0
0
0
0
0
0
0
-35
107
8
81
-9
23
21
-9
12
17
0
0
0
0
0
0
0
5
-90
-50
-22
49
-6
-19
12
1
9
0
0
0
0
0
0
0
89
75
-102
201
55
24
54
12
0
0
0
0
0
0
0
0
0
-29
78
89
7
-2
-12
0
0
0
0
0
0
0
0
0
0
0
-5
18
-22
-5
0
-10
12
0
-2
0
0
0
0
0
0
0
0
3
-62
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
-87
-41
-34
36
-59
0
0
0
0
0
0
0
0
0
0
-22
-1
76
35
-17
1
-66
-19
11
0
0
0
0
0
0
0
0
12
74
42
-100
8
-89
-11
-3
0
0
0
0
0
0
0
0
0
27
-28
28
-75
20
-34
28
39
0
-5
0
0
0
0
0
0
0
-41
27
-109
-76
-37
142
7
-1
-13
0
0
0
0
0
0
0
0
-22
6
-106
-56
19
16
0
1
0
0
0
0
0
0
0
0
0
87
56
-51
-13
22
-6
29
0
0
0
0
0
0
0
0
0
0
77
0
-49
-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
-8
79
-34
-60
16
-4
0
0
0
0
0
0
0
0
0
0
0
25
16
120
-13
-74
-8
2
-5
0
0
0
0
0
0
0
0
0
-32
-56
32
58
17
25
-2
5
0
0
0
0
0
0
0
0
0
-12
-33
28
44
44
-8
4
0
0
0
0
0
0
0
0
0
0
-4
-25
47
1
-27
-15
0
0
0
0
0
0
0
0
0
0
0
43
-1
-46
-18
0
14
0
0
0
0
0
0
0
0
0
0
0
20
-32
0
-15
3
-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
-2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-4
-17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-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
20
-10
-77
5
-3
0
14
-2
0
0
0
0
0
0
0
0
0
-16
-38
65
-26
34
-50
0
0
0
0
0
0
0
0
0
0
0
27
29
52
-30
-26
-15
0
0
0
0
0
0
0
0
0
0
0
33
-13
11
19
-2
-4
0
0
0
0
0
0
0
0
0
0
0
6
-10
-3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
-1
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
-7
94
-16
18
-141
-11
-11
-5
0
0
0
0
0
0
0
0
0
-5
-129
-21
62
-119
-28
29
-6
0
0
0
0
0
0
0
0
0
10
6
38
-40
30
9
-35
4
11
3
0
0
0
0
0
0
0
-5
-33
-67
16
14
-22
106
-2
0
0
0
0
0
0
0
0
0
0
103
-47
-58
71
-6
53
0
0
0
0
0
0
0
0
0
0
41
-10
-7
-3
5
3
0
-8
3
0
0
0
0
0
0
0
0
-5
-78
-3
-4
0
0
0
0
29
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
19
9
32
-6
-10
14
10
-28
0
-1
0
0
0
0
0
0
0
5
24
65
-23
-15
-18
-24
16
8
-1
0
0
0
0
0
0
0
0
-7
3
90
-63
-82
-16
-44
12
-21
0
0
0
0
0
0
0
-7
101
-46
-85
-36
132
4
-11
0
-7
0
0
0
0
0
0
0
0
27
26
49
68
-15
8
-8
7
0
0
0
0
0
0
0
0
0
-11
3
-7
-4
0
13
-7
10
0
0
0
0
0
0
0
0
0
37
-4
5
-8
0
1
0
-11
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
6
2
-9
53
-60
-24
-1
15
0
0
0
0
0
0
0
0
0
-8
10
32
18
15
27
-13
-59
-1
0
0
0
0
0
0
0
0
-7
17
8
-28
-16
-10
7
-8
-4
0
0
0
0
0
0
0
0
-5
1
-97
29
-123
44
85
0
12
0
0
0
0
0
0
0
0
1
-4
56
26
3
-4
0
0
-2
0
0
0
0
0
0
0
0
9
6
-1
10
-29
-7
4
8
0
0
0
0
0
0
0
0
0
1
-4
-15
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
11
33
88
13
-22
10
155
20
0
0
0
0
0
0
0
0
0
-29
-36
-27
-18
19
55
152
-3
16
0
0
0
0
0
0
0
0
15
37
-50
42
-52
7
27
-57
8
0
0
0
0
0
0
0
0
26
-49
-35
18
-10
12
-3
4
-1
0
0
0
0
0
0
0
0
-13
-27
4
12
13
-15
5
0
-2
-5
0
0
0
0
0
0
0
-77
-11
-89
7
-6
7
2
0
5
0
0
0
0
0
0
0
0
12
-35
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
84
112
62
-51
13
14
-6
0
0
0
0
0
0
0
0
0
63
-7
63
-70
39
54
-29
1
-63
0
0
0
0
0
0
0
0
17
99
79
56
74
41
-10
-14
1
0
0
0
0
0
0
0
0
52
166
55
63
3
-8
27
-5
1
0
0
0
0
0
0
0
0
33
48
16
37
-61
11
9
7
0
0
0
0
0
0
0
0
0
-6
47
30
9
-1
-3
-2
3
-6
0
0
0
0
0
0
0
0
-48
-96
19
-10
-16
3
0
0
0
0
0
0
0
0
0
0
0
-9
14
-4
0
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
48
9
130
131
-9
29
20
20
0
-1
0
0
0
0
0
0
0
-50
61
62
39
-67
69
14
53
7
20
0
0
0
0
0
0
0
3
-36
13
-12
19
42
-45
18
-54
-2
0
0
0
0
0
0
0
-50
13
28
48
68
-101
54
-20
0
0
0
0
0
0
0
0
0
-14
-51
-26
8
24
57
-5
-5
28
0
0
0
0
0
0
0
0
64
40
-54
-18
4
41
-5
50
1
0
0
0
0
0
0
0
0
-10
6
34
-22
15
-6
-2
9
-2
0
0
0
0
0
0
0
0
0
74
-4
-2
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
149
-103
155
20
-19
33
-22
-4
0
0
0
0
0
0
0
0
0
19
-56
63
103
150
66
-8
-7
70
0
0
0
0
0
0
0
0
195
84
26
128
39
7
46
42
51
-5
0
0
0
0
0
0
0
-40
-31
-65
34
16
90
19
39
-78
-14
0
0
0
0
0
0
0
110
20
72
25
-4
-15
97
7
-1
-12
0
0
0
0
0
0
0
-3
-32
27
-16
88
27
-20
-13
4
0
0
0
0
0
0
0
0
111
56
-51
22
-51
-11
-1
17
-2
0
0
0
0
0
0
0
0
7
-82
5
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
16
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
17
-54
89
17
122
166
76
0
0
0
0
0
0
0
0
0
-40
-120
-63
95
13
68
-22
52
2
-1
0
0
0
0
0
0
0
-43
-2
-38
73
-66
35
6
-40
96
45
0
0
0
0
0
0
0
91
-18
-2
-37
-17
-84
91
102
-2
17
0
0
0
0
0
0
0
-68
56
-28
-63
-86
107
-27
9
15
-2
0
0
0
0
0
0
0
1
-8
39
-58
86
31
27
0
10
-5
0
0
0
0
0
0
0
16
-19
-46
-14
-99
4
-12
12
9
0
0
0
0
0
0
0
0
4
-175
114
106
13
-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
-7
4
23
63
124
116
0
1
0
0
0
0
0
0
0
0
47
126
-60
39
-92
-40
-81
79
0
-1
0
0
0
0
0
0
0
9
10
114
51
-2
-125
143
123
13
0
0
0
0
0
0
0
0
-24
-70
-121
26
9
-24
-15
13
-2
0
0
0
0
0
0
0
0
46
-15
52
7
117
13
-15
15
1
0
0
0
0
0
0
0
0
-35
-7
64
-23
133
85
-11
-2
0
0
0
0
0
0
0
0
0
-18
72
48
8
21
17
4
3
0
0
0
0
0
0
0
0
0
-10
-36
-22
-38
4
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
-55
-62
47
15
59
-11
0
10
0
0
0
0
0
0
0
0
0
49
84
-21
33
-42
-72
-5
-4
0
0
0
0
0
0
0
0
0
32
44
-6
11
-26
25
61
6
0
0
0
0
0
0
0
0
0
40
100
0
132
38
40
15
0
0
0
0
0
0
0
0
0
0
71
-43
120
-36
6
5
-4
7
0
0
0
0
0
0
0
0
0
-7
5
2
-49
-78
-10
0
1
0
0
0
0
0
0
0
0
0
-24
-1
15
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
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
5
1
11
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
77
84
22
-113
5
0
0
0
0
0
0
0
0
0
0
0
0
-27
20
-23
24
0
-13
0
0
0
0
0
0
0
0
0
0
0
-39
-3
-5
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-10
-4
-9
-7
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-4
-1
-5
7
-14
0
0
0
0
0
0
0
0
0
68
14
35
26
3
48
2
-6
0
0
0
0
0
0
0
0
0
0
45
-1
4
21
5
0
-3
0
0
0
0
0
0
0
0
0
-42
102
1
-14
22
-7
7
-6
0
0
0
0
0
0
0
0
0
-24
4
-7
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-44
0
10
-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
14
15
30
-23
99
14
7
-16
0
0
0
0
0
0
0
0
0
14
44
86
-22
-16
-31
23
57
-3
0
0
0
0
0
0
0
0
-68
35
45
149
59
10
-64
-18
3
0
0
0
0
0
0
0
0
-5
-4
-15
-73
63
-69
-38
-29
0
0
0
0
0
0
0
0
0
10
-38
83
23
-16
-5
-55
3
5
0
0
0
0
0
0
0
0
2
-22
64
21
8
-3
-3
6
2
0
0
0
0
0
0
0
0
0
171
13
12
-11
0
0
5
13
0
0
0
0
0
0
0
0
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
-39
-57
-83
24
-32
20
0
0
0
0
0
0
0
0
0
0
0
3
-32
120
37
39
-18
67
0
0
0
0
0
0
0
0
0
0
107
-1
11
-11
-68
12
71
0
-2
0
0
0
0
0
0
0
0
-44
117
-19
-51
59
-16
2
20
-2
0
0
0
0
0
0
0
0
-78
29
-35
16
0
0
-10
-10
0
0
0
0
0
0
0
0
0
-40
50
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
21
-12
0
0
0
-6
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
0
0
0
0
0
-2
8
52
8
43
-10
8
-3
0
0
0
0
0
0
0
0
0
50
5
50
32
-3
-41
19
-7
20
0
-2
0
0
0
0
0
0
49
-5
-12
3
-9
15
15
0
-3
-3
0
0
0
0
0
0
0
14
-2
18
-24
33
47
18
2
0
0
0
0
0
0
0
0
0
8
-22
6
-28
17
-25
-5
0
-1
-4
0
0
0
0
0
0
0
-3
-8
-5
45
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
0
3
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-36
2
33
36
56
-5
-15
0
0
0
0
0
0
0
0
0
87
-84
22
-10
48
-39
11
-16
0
0
0
0
0
0
0
0
0
-11
-13
0
52
-9
46
-54
-2
-1
0
0
0
0
0
0
0
0
-27
54
5
-15
-57
2
-41
15
-7
-4
0
0
0
0
0
0
0
-59
17
-2
25
-18
9
0
0
0
0
0
0
0
0
0
0
0
-65
19
-15
35
-1
-8
4
-4
8
0
0
0
0
0
0
0
0
-62
22
13
37
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
-5
43
0
-65
-40
-69
26
69
0
0
0
0
0
0
0
0
0
25
-21
99
1
-78
95
74
117
-9
0
0
0
0
0
0
0
0
-20
82
140
23
-32
4
67
9
-1
0
0
0
0
0
0
0
0
113
-45
-15
43
-78
-58
1
28
5
0
0
0
0
0
0
0
0
-18
-68
22
-124
-6
80
14
-1
0
0
0
0
0
0
0
0
0
-68
39
75
-20
39
0
0
-16
0
0
0
0
0
0
0
0
0
145
-19
57
40
3
-3
3
0
0
0
0
0
0
0
0
0
0
17
14
3
-8
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
16
50
-72
21
-2
-54
-2
0
0
0
0
0
0
0
0
0
-50
-26
73
45
-26
30
-59
-6
-3
-3
0
0
0
0
0
0
0
-80
-10
1
-107
-5
-82
4
69
-14
0
0
0
0
0
0
0
0
58
113
87
11
32
3
18
32
15
5
0
0
0
0
0
0
0
-20
-39
-20
149
0
-16
100
12
1
3
0
0
0
0
0
0
0
-9
40
70
-5
37
54
-28
14
0
0
0
0
0
0
0
0
0
-61
33
56
-8
22
-15
5
0
0
0
0
0
0
0
0
0
0
-15
74
29
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
-62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-54
-38
26
114
66
116
-82
0
0
0
0
0
0
0
0
0
35
-17
49
-27
36
-109
119
75
17
-21
0
0
0
0
0
0
0
-65
-49
70
132
51
58
16
0
-5
0
0
0
0
0
0
0
0
77
95
46
30
74
50
45
-39
5
-2
0
0
0
0
0
0
0
70
-18
-77
8
135
-33
12
33
12
0
0
0
0
0
0
0
0
-29
1
-49
10
77
-74
74
-5
-17
3
0
0
0
0
0
0
0
-31
-36
75
-24
-23
-10
-18
3
0
0
0
0
0
0
0
0
0
-49
-34
57
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
160
43
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-51
109
2
1
-12
-48
-102
0
0
0
0
0
0
0
0
0
41
-14
14
14
60
71
-27
-16
-25
17
0
0
0
0
0
0
0
75
101
148
-60
84
25
-41
9
1
-19
0
0
0
0
0
0
0
4
162
-94
-8
-1
-20
122
47
35
0
0
0
0
0
0
0
0
-42
-23
-20
2
-25
119
-59
-4
16
-18
0
0
0
0
0
0
0
126
31
196
-61
44
-66
-52
-41
0
3
0
0
0
0
0
0
0
-53
43
149
-59
-101
-37
-33
-23
-8
7
0
0
0
0
0
0
0
19
31
14
28
20
-18
-1
2
0
0
0
0
0
0
0
0
0
-2
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-53
7
-63
96
115
-113
0
12
0
0
0
0
0
0
0
0
18
-6
-107
-15
80
-3
29
-9
3
3
0
0
0
0
0
0
0
-52
-120
142
-120
-21
-45
-43
-26
-3
0
0
0
0
0
0
0
0
15
83
-1
-7
53
71
-66
-17
2
0
0
0
0
0
0
0
0
67
24
57
85
9
4
-31
15
21
0
0
0
0
0
0
0
0
17
-3
42
2
-57
178
24
15
-9
0
0
0
0
0
0
0
0
-6
-66
-52
43
0
18
3
-2
7
0
0
0
0
0
0
0
0
8
53
52
-12
-1
15
-11
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
222
12
-36
54
-53
1
0
0
0
0
0
0
0
0
0
0
0
-38
-41
47
19
-25
53
7
0
5
0
0
0
0
0
0
0
0
79
70
60
93
18
24
23
-4
0
0
0
0
0
0
0
0
0
-31
108
115
-29
37
-51
-2
17
0
0
0
0
0
0
0
0
0
-41
47
-34
24
-41
0
-1
0
0
0
0
0
0
0
0
0
0
-26
6
-97
1
5
0
-7
0
0
0
0
0
0
0
0
0
0
46
10
0
6
-1
0
0
2
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
-7
3
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
7
-37
19
3
0
0
0
0
0
0
0
0
0
0
0
-8
5
-69
-3
20
-2
-3
0
0
0
0
0
0
0
0
0
0
6
-6
73
-5
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
2
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
3
-4
0
0
0
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
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
8
-5
10
-1
0
-5
0
0
0
0
0
0
0
0
0
17
16
9
1
-4
-10
14
-53
0
0
0
0
0
0
0
0
0
26
51
-21
-10
77
-15
-6
5
0
0
0
0
0
0
0
0
0
0
9
28
-4
-9
0
0
-6
0
0
0
0
0
0
0
0
0
-153
-38
16
-4
2
-7
-19
-1
0
0
0
0
0
0
0
0
0
-9
28
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
1
24
-1
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
-5
28
-68
-22
-39
-16
-49
2
0
0
0
0
0
0
0
0
0
-4
-25
-39
70
0
-72
77
98
-15
0
0
0
0
0
0
0
0
137
-77
-11
-24
-35
-81
-40
75
-1
0
0
0
0
0
0
0
0
-29
-14
35
75
-54
1
13
63
-4
0
0
0
0
0
0
0
0
-4
-206
-181
-12
67
-72
3
0
-17
-18
0
0
0
0
0
0
0
2
52
30
22
104
90
-2
-4
-3
0
0
0
0
0
0
0
0
5
75
4
-43
-1
7
49
0
-1
0
0
0
0
0
0
0
0
0
9
0
-26
0
0
0
0
0
0
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
20
-40
25
38
-16
-5
0
0
0
0
0
0
0
0
0
0
-39
31
23
100
1
-46
14
-12
0
0
0
0
0
0
0
0
0
-3
-64
-22
-12
-67
-12
10
-6
0
0
0
0
0
0
0
0
0
-174
-2
-26
108
10
-71
-4
0
-11
0
0
0
0
0
0
0
0
-18
-32
99
50
-46
-26
0
-10
0
0
0
0
0
0
0
0
0
43
-40
-3
37
81
5
-13
0
0
0
0
0
0
0
0
0
0
120
61
9
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
28
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
5
51
20
27
-5
18
-3
0
0
0
0
0
0
0
0
0
-5
2
-34
2
20
13
29
2
0
0
0
0
0
0
0
0
0
22
-7
-4
69
10
44
39
-18
-5
0
0
0
0
0
0
0
0
102
-34
7
0
25
-44
124
0
-7
0
0
0
0
0
0
0
0
62
-12
-15
4
25
-11
5
-17
-2
0
0
0
0
0
0
0
0
4
3
-25
-11
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-7
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
-14
0
10
4
-6
0
0
0
0
0
0
0
0
0
-9
-87
52
-32
37
-24
22
12
-9
0
0
0
0
0
0
0
0
-6
-51
-27
16
1
-28
-43
-8
1
0
0
0
0
0
0
0
0
-86
105
65
-104
10
55
-13
3
-1
0
0
0
0
0
0
0
0
-32
81
-19
16
7
1
0
0
0
9
0
0
0
0
0
0
0
2
15
-6
-11
6
26
0
0
0
0
0
0
0
0
0
0
0
-7
-37
-3
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
9
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
1
43
123
-101
-78
-109
71
17
0
0
0
0
0
0
0
0
0
75
70
51
-63
70
-36
72
-19
-41
0
0
0
0
0
0
0
0
-69
-30
19
-142
-11
-15
-98
-13
3
0
0
0
0
0
0
0
0
88
59
111
-26
23
-3
-22
22
16
0
0
0
0
0
0
0
0
-45
28
-70
-63
163
43
48
14
42
-2
0
0
0
0
0
0
0
66
-98
72
29
27
-34
-1
0
0
0
0
0
0
0
0
0
0
10
-9
-58
-24
-4
1
-1
-8
0
0
0
0
0
0
0
0
0
51
159
-19
9
0
12
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
73
23
-13
-45
-21
-23
-34
0
0
0
0
0
0
0
0
0
-34
79
-155
-101
63
-29
-25
23
1
0
0
0
0
0
0
0
0
-7
98
104
48
10
-50
28
-62
76
-3
0
0
0
0
0
0
0
95
76
90
96
95
32
4
-16
-11
0
0
0
0
0
0
0
0
28
97
92
65
101
2
17
15
20
-1
0
0
0
0
0
0
0
-28
-18
29
2
49
34
-65
-11
0
0
0
0
0
0
0
0
0
2
86
-81
27
-9
50
9
-6
11
0
0
0
0
0
0
0
0
78
18
131
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
122
33
13
-35
121
4
7
0
0
0
0
0
0
0
0
0
-26
75
-27
-92
-59
-8
-94
-5
8
0
0
0
0
0
0
0
0
86
87
51
-19
51
26
-85
42
20
6
0
0
0
0
0
0
0
67
162
-32
135
-23
-1
54
3
1
0
0
0
0
0
0
0
0
150
-17
65
-108
-22
-36
125
-15
-13
0
0
0
0
0
0
0
0
-23
57
19
18
15
-2
54
0
0
0
0
0
0
0
0
0
0
8
11
-35
-10
-17
19
-4
0
-21
0
0
0
0
0
0
0
0
14
50
34
6
2
0
0
0
0
0
0
0
0
0
0
0
0
51
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-145
45
59
-143
0
62
-163
-23
0
0
0
0
0
0
0
0
0
58
-36
-1
45
56
92
24
83
-62
-10
0
0
0
0
0
0
0
-14
41
90
26
25
155
-19
-76
-12
-5
0
0
0
0
0
0
0
115
-48
51
-26
-52
128
81
-76
0
-3
0
0
0
0
0
0
0
-51
37
-18
39
40
-85
-13
-6
33
0
0
0
0
0
0
0
0
8
-13
-30
-73
-84
69
3
24
0
0
0
0
0
0
0
0
0
95
38
-3
67
-14
-66
29
13
19
2
0
0
0
0
0
0
0
-6
85
29
-100
38
-1
-10
3
5
0
0
0
0
0
0
0
0
64
-37
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-10
23
-102
93
-123
-17
0
0
0
0
0
0
0
0
0
0
47
122
99
-22
8
160
-39
31
0
0
0
0
0
0
0
0
0
5
-4
54
17
7
-14
111
-20
-2
0
0
0
0
0
0
0
0
-5
111
-20
23
13
24
40
43
0
0
0
0
0
0
0
0
0
-48
-4
-54
177
63
5
21
-139
-4
0
0
0
0
0
0
0
0
-57
-117
138
-155
71
68
13
-99
0
0
0
0
0
0
0
0
0
-123
135
5
29
-75
-5
2
-1
0
0
0
0
0
0
0
0
0
6
83
-55
-17
-34
-11
0
13
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
8
-80
13
-32
-17
0
0
0
0
0
0
0
0
0
0
0
-6
57
144
12
22
-27
0
0
-5
0
0
0
0
0
0
0
0
57
41
-11
-39
-9
31
9
-3
0
0
0
0
0
0
0
0
0
-22
-3
42
19
8
-10
-3
0
0
0
0
0
0
0
0
0
0
-20
-6
44
-39
-52
2
0
0
0
0
0
0
0
0
0
0
0
-12
1
47
1
6
-2
0
0
0
0
0
0
0
0
0
0
0
-47
-5
0
1
35
1
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
-5
0
-8
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
-14
-49
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
8
0
11
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
10
-20
6
-1
10
-12
-12
0
0
0
0
0
0
0
0
0
0
16
26
-31
-11
-7
31
24
0
0
0
0
0
0
0
0
0
0
-21
57
30
-16
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
55
-34
-16
-4
0
-9
-2
0
0
0
0
0
0
0
0
0
-28
-20
-34
153
9
0
0
0
0
0
0
0
0
0
0
0
0
11
19
7
-3
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
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
8
20
-50
26
49
0
0
0
0
0
0
0
0
0
-14
3
-89
-65
28
42
14
-3
-13
-1
0
0
0
0
0
0
0
-7
60
58
-184
-1
40
-28
33
19
0
0
0
0
0
0
0
0
-2
171
56
-28
41
58
128
34
-6
0
0
0
0
0
0
0
0
14
0
-35
-31
38
27
63
-15
25
0
0
0
0
0
0
0
0
0
-48
51
-45
54
66
-6
0
-1
0
0
0
0
0
0
0
0
5
-77
2
7
-18
-4
-3
3
-2
0
0
0
0
0
0
0
0
0
-8
23
-45
0
-10
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
-7
-33
-15
20
-50
4
-15
0
0
0
0
0
0
0
0
0
8
-16
18
-22
-43
-50
-38
-35
7
0
0
0
0
0
0
0
0
0
4
-52
29
43
46
-54
-16
0
0
0
0
0
0
0
0
0
0
-74
-3
-74
53
15
-27
-9
0
0
0
0
0
0
0
0
0
0
27
0
-5
247
-19
5
-3
0
0
0
0
0
0
0
0
0
0
-7
45
-15
-3
22
0
0
14
0
0
0
0
0
0
0
0
0
-39
-40
-38
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-45
56
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
14
2
3
2
-2
8
13
1
0
0
0
0
0
0
0
0
0
4
-22
-103
87
-19
73
91
9
0
0
0
0
0
0
0
0
0
6
16
35
3
-85
7
14
-6
0
0
0
0
0
0
0
0
0
-15
20
17
-23
-74
-16
-6
-10
5
0
0
0
0
0
0
0
0
-13
-7
19
0
-2
-32
27
2
0
0
0
0
0
0
0
0
0
-7
1
3
31
1
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
9
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
26
-51
-56
-14
17
27
1
0
0
0
0
0
0
0
0
0
18
11
-14
-29
43
87
-35
4
-7
0
0
0
0
0
0
0
0
26
40
-92
51
122
1
3
-4
22
1
0
0
0
0
0
0
0
-116
-26
45
165
-36
5
-18
18
1
0
0
0
0
0
0
0
0
18
-17
35
-73
0
10
8
-5
0
0
0
0
0
0
0
0
0
-71
64
-18
-112
40
0
0
-2
-6
0
0
0
0
0
0
0
0
12
-91
-33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
35
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
0
0
0
57
40
-84
7
72
42
-7
11
0
0
0
0
0
0
0
0
0
81
95
71
87
15
-50
-59
16
0
0
0
0
0
0
0
0
0
81
-5
-25
-27
-30
26
21
-21
-1
0
0
0
0
0
0
0
0
-1
138
13
-18
33
-1
-32
4
3
0
0
0
0
0
0
0
0
-152
207
85
14
-137
0
-19
-1
2
0
0
0
0
0
0
0
0
31
37
62
-75
9
12
20
-8
0
0
0
0
0
0
0
0
0
93
-12
-14
88
-9
3
-43
3
0
0
0
0
0
0
0
0
0
-3
164
-8
-13
-7
0
0
-5
0
0
0
0
0
0
0
0
0
71
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-59
-8
2
49
-11
-74
-7
0
0
0
0
0
0
0
0
0
68
29
-35
104
36
97
-7
-20
27
0
0
0
0
0
0
0
0
44
-37
-48
33
112
49
34
-50
53
0
0
0
0
0
0
0
0
-14
67
102
78
-74
-57
-8
-4
4
1
0
0
0
0
0
0
0
-15
25
33
106
136
64
0
41
9
0
0
0
0
0
0
0
0
32
91
73
-107
23
9
-16
-1
-26
0
0
0
0
0
0
0
0
-17
-55
-84
134
1
-23
9
5
0
0
0
0
0
0
0
0
0
-27
-13
-17
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
84
45
-33
100
91
-76
33
0
8
0
0
0
0
0
0
0
232
-46
125
94
115
3
2
8
-18
0
0
0
0
0
0
0
0
-8
-89
107
35
-25
-73
-25
89
59
-8
0
0
0
0
0
0
0
50
59
-33
122
-68
15
29
22
-16
0
0
0
0
0
0
0
0
-16
78
111
4
95
54
29
0
0
0
0
0
0
0
0
0
0
121
-8
147
-10
-56
-10
-28
6
0
-7
0
0
0
0
0
0
0
-35
24
16
2
-88
29
-4
0
0
0
0
0
0
0
0
0
0
-15
77
-19
67
18
-2
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
-51
59
-31
44
29
180
-62
15
0
0
0
0
0
0
0
0
0
37
59
89
41
44
79
-1
2
52
0
0
0
0
0
0
0
0
37
63
115
-42
-85
-38
-40
-73
7
44
0
0
0
0
0
0
0
-12
-56
139
89
-62
-39
-41
25
49
1
0
0
0
0
0
0
0
20
32
-28
131
30
128
-16
-10
0
2
0
0
0
0
0
0
0
-16
84
24
-3
84
51
-17
21
57
0
0
0
0
0
0
0
0
66
70
22
-94
15
21
-47
-28
-3
0
0
0
0
0
0
0
0
2
116
-49
-50
4
-12
54
0
14
0
0
0
0
0
0
0
0
49
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
9
62
-106
87
66
-106
0
0
0
0
0
0
0
0
0
0
107
31
107
66
-45
-6
92
-80
-2
2
0
0
0
0
0
0
0
-41
73
7
5
76
-53
-91
11
2
0
0
0
0
0
0
0
0
30
34
96
115
-2
74
59
5
19
0
0
0
0
0
0
0
0
-138
7
136
108
-23
110
43
-6
0
0
0
0
0
0
0
0
0
-6
4
-48
47
31
4
112
0
10
0
0
0
0
0
0
0
0
-48
-2
115
33
-29
62
20
-34
0
0
0
0
0
0
0
0
0
34
-67
59
21
-7
-1
14
11
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
-27
32
-130
65
-3
0
0
0
0
0
0
0
0
0
0
0
25
74
85
43
35
-47
-4
0
0
0
0
0
0
0
0
0
0
30
32
-29
26
-17
3
-33
0
0
0
0
0
0
0
0
0
0
59
11
-9
-19
-10
19
5
7
0
0
0
0
0
0
0
0
0
-97
88
-5
-3
22
-26
3
-10
0
0
0
0
0
0
0
0
0
-6
35
45
-18
0
0
-9
-2
0
0
0
0
0
0
0
0
0
9
16
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
2
-40
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
-46
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-16
-5
5
-3
0
0
0
0
0
0
0
0
0
0
0
6
9
-46
0
0
0
0
0
0
0
0
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
2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
6
8
0
0
0
0
0
0
0
0
0
11
-11
0
1
0
13
2
-10
0
0
0
0
0
0
0
0
0
14
19
5
3
4
-38
40
-37
4
0
0
0
0
0
0
0
0
62
-8
4
-4
5
5
-6
-5
0
0
0
0
0
0
0
0
0
0
38
115
13
-15
1
3
0
0
0
0
0
0
0
0
0
0
0
38
53
-7
12
-2
0
0
0
0
0
0
0
0
0
0
0
41
-2
-23
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
-18
31
16
49
-8
0
0
0
0
0
0
0
0
0
0
-37
-30
-22
73
13
62
48
-4
0
0
0
0
0
0
0
0
-13
-49
-6
68
55
-84
11
-25
-7
0
0
0
0
0
0
0
0
78
-6
30
71
59
86
-58
-21
17
0
0
0
0
0
0
0
0
-8
54
-73
-24
-14
-92
-60
-4
-4
0
0
0
0
0
0
0
0
-1
0
-90
3
52
79
4
0
9
0
0
0
0
0
0
0
0
0
29
84
-79
-61
2
0
0
-4
0
0
0
0
0
0
0
0
-10
-29
139
7
-8
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
0
0
33
20
-2
0
2
-8
6
0
0
0
0
0
0
0
0
0
0
-3
51
-5
-13
-21
10
-3
50
-1
0
0
0
0
0
0
0
0
-39
-16
5
-3
48
-16
56
1
3
0
0
0
0
0
0
0
24
-14
-32
79
-47
111
-140
79
-14
0
0
0
0
0
0
0
0
0
75
69
40
-33
-10
5
1
1
0
0
0
0
0
0
0
0
0
13
0
110
-65
-7
25
-1
0
0
0
0
0
0
0
0
0
0
1
-71
42
25
69
2
0
-1
0
0
0
0
0
0
0
0
-9
71
-1
125
-10
-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
7
-2
0
-28
9
1
8
27
0
0
0
0
0
0
0
0
0
-54
1
96
25
140
-36
-1
-22
0
0
2
0
0
0
0
0
0
2
-21
-41
2
1
-14
-8
-6
6
-2
0
0
0
0
0
0
0
3
0
38
0
-42
-55
68
-8
0
0
0
0
0
0
0
0
0
0
25
-3
-27
29
-17
11
8
-1
0
0
0
0
0
0
0
0
1
-13
-44
0
22
-46
-4
0
0
0
0
0
0
0
0
0
0
-46
-14
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
114
7
-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
1
10
4
-15
3
54
16
-21
0
0
0
0
0
0
0
0
0
5
-18
-44
-50
66
54
-107
24
3
0
0
0
0
0
0
0
0
48
-83
-18
62
-47
-37
25
-16
1
-13
0
0
0
0
0
0
0
9
38
6
12
8
-33
-64
-45
4
-2
0
0
0
0
0
0
0
0
2
8
88
117
-23
32
-4
7
0
0
0
0
0
0
0
0
22
3
94
23
0
-6
-7
12
0
0
0
0
0
0
0
0
0
15
-74
34
-4
23
2
14
0
0
0
0
0
0
0
0
0
0
12
8
-1
3
-7
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
129
42
112
-1
-10
-2
57
-4
0
0
0
0
0
0
0
0
0
-60
-43
-9
-15
-30
26
-96
-54
-8
0
0
0
0
0
0
0
0
31
130
32
-27
68
134
23
3
1
0
0
0
0
0
0
0
0
4
-63
2
-11
45
-33
-49
0
-7
0
0
0
0
0
0
0
0
-2
13
37
72
-45
45
23
-2
-4
0
0
0
0
0
0
0
0
-13
65
102
21
23
0
-3
-4
8
0
0
0
0
0
0
0
0
-132
-12
21
70
6
-2
-3
-4
0
0
0
0
0
0
0
0
0
-14
-73
44
0
0
-6
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
40
113
0
150
43
-93
22
-53
0
0
0
0
0
0
0
0
0
54
4
47
33
-35
76
44
53
13
0
0
0
0
0
0
0
0
131
10
37
-20
-39
-35
2
61
-10
0
0
0
0
0
0
0
0
40
10
85
148
-29
-39
4
-27
-1
14
0
0
0
0
0
0
0
42
94
178
92
-14
10
-31
46
2
0
0
0
0
0
0
0
0
11
16
16
-39
44
72
0
0
16
0
0
0
0
0
0
0
0
16
49
-44
58
55
13
-23
3
1
0
0
0
0
0
0
0
0
-6
9
3
-54
10
18
2
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
0
0
-36
28
16
101
24
-44
90
5
0
0
0
0
0
0
0
0
0
24
10
131
55
31
42
57
101
-9
0
0
0
0
0
0
0
0
106
21
77
-19
-22
-101
35
31
-25
0
0
0
0
0
0
0
0
-17
100
171
50
97
61
100
25
-18
0
0
0
0
0
0
0
0
204
24
-16
-67
133
-49
-91
-11
-4
0
0
0
0
0
0
0
0
133
40
44
11
50
27
-17
0
7
0
0
0
0
0
0
0
0
-58
-55
85
34
169
5
-11
2
0
2
0
0
0
0
0
0
0
-1
30
69
64
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
4
29
62
-1
18
-21
-151
0
0
0
0
0
0
0
0
0
34
22
95
12
-11
-2
-54
-91
-37
-1
0
0
0
0
0
0
0
-39
-13
-8
114
66
22
-33
-4
2
0
0
0
0
0
0
0
0
46
149
107
131
52
34
25
75
-22
-14
0
0
0
0
0
0
0
-17
-41
74
42
-14
67
-7
48
1
63
0
0
0
0
0
0
0
15
107
112
-21
57
-28
-9
23
0
-4
0
0
0
0
0
0
0
70
-49
19
-50
-2
-14
95
-31
16
0
0
0
0
0
0
0
0
-43
34
-67
2
8
18
17
-2
0
0
0
0
0
0
0
0
0
82
15
20
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
91
15
8
-31
-93
52
0
0
0
0
0
0
0
0
0
0
117
77
-7
38
75
-110
12
17
-4
-1
0
0
0
0
0
0
0
-16
58
-14
30
-39
86
11
121
42
0
0
0
0
0
0
0
0
115
21
-85
58
-90
53
4
-2
11
-2
0
0
0
0
0
0
0
83
-45
16
62
107
18
-21
2
2
-3
0
0
0
0
0
0
0
33
-49
99
13
-41
33
9
22
0
0
0
0
0
0
0
0
0
77
13
32
6
21
-1
-28
-22
2
0
0
0
0
0
0
0
0
192
-8
98
6
-1
2
-9
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
17
-31
-7
51
25
145
0
0
0
0
0
0
0
0
0
0
0
-24
38
4
34
19
-110
-1
0
0
0
0
0
0
0
0
0
0
-40
69
54
14
47
15
4
-15
0
0
0
0
0
0
0
0
0
-49
8
2
56
40
-12
-8
0
0
0
0
0
0
0
0
0
0
53
25
-4
27
24
2
4
0
0
0
0
0
0
0
0
0
0
31
74
-19
-16
17
-27
-7
0
0
0
0
0
0
0
0
0
0
-2
61
-53
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-70
57
-3
0
0
0
0
0
0
0
0
0
0
0
0
18
-20
45
22
13
0
0
0
0
0
0
0
0
0
0
0
0
14
31
43
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-5
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
7
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
14
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-18
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
24
0
0
0
25
8
0
0
0
0
0
0
0
0
0
0
0
28
-9
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
79
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
64
-8
10
-16
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
14
-17
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
32
102
13
23
-2
-51
-93
21
0
0
0
0
0
0
0
0
2
-31
36
1
10
34
11
26
0
0
0
0
0
0
0
0
0
18
26
-12
48
96
18
-9
17
-8
0
0
0
0
0
0
0
0
-8
-12
4
3
-77
67
9
10
0
0
0
0
0
0
0
0
0
-23
76
-39
-16
113
39
10
-3
0
0
0
0
0
0
0
0
0
15
0
-44
43
-6
-13
-12
0
1
0
0
0
0
0
0
0
0
0
23
19
33
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
0
0
0
-3
0
0
1
28
-4
0
0
0
0
0
0
0
0
0
0
22
35
10
-14
-1
-59
-5
10
0
0
0
0
0
0
0
0
0
102
-2
23
6
31
76
-12
11
0
0
0
0
0
0
0
0
0
73
-49
-48
94
-56
-13
-22
0
0
0
0
0
0
0
0
0
0
71
156
5
-20
-26
72
-11
-7
0
0
0
0
0
0
0
0
0
-6
109
111
-82
-24
0
2
0
0
0
0
0
0
0
0
0
0
-31
0
3
14
48
0
0
3
-3
0
0
0
0
0
0
0
0
-4
44
44
-1
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
-2
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
-3
9
-47
10
0
0
41
-1
0
0
0
0
0
0
0
0
0
16
0
21
-1
5
0
0
1
1
0
0
0
0
0
0
0
0
0
20
-8
5
3
19
-5
13
0
0
0
0
0
0
0
0
0
0
0
3
-70
-74
-4
12
-3
0
0
0
0
0
0
0
0
0
0
-36
7
13
3
15
-20
5
0
0
0
0
0
0
0
0
0
2
37
42
0
29
11
8
0
0
0
0
0
0
0
0
0
0
5
11
0
-24
8
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
-3
-17
0
-35
-2
20
32
0
0
0
0
0
0
0
0
0
0
-9
165
166
-37
6
-76
-15
-14
-1
0
0
0
0
0
0
0
0
-1
-2
45
-24
8
-50
16
1
3
-2
0
0
0
0
0
0
0
0
-23
-4
-33
9
3
-23
3
0
0
0
0
0
0
0
0
0
0
1
51
-5
19
3
-5
7
4
0
0
0
0
0
0
0
0
0
77
-57
18
-31
27
7
-11
2
0
0
0
0
0
0
0
0
-4
12
23
-18
0
0
-15
0
0
0
0
0
0
0
0
0
0
1
-20
-26
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
-9
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-25
70
-3
73
9
6
0
0
0
0
0
0
0
0
0
-77
26
9
82
3
4
-64
53
0
0
0
0
0
0
0
0
0
71
-63
-33
79
-58
88
-38
-32
-4
0
0
0
0
0
0
0
0
-16
-23
-48
-14
-14
6
-9
14
-1
0
0
0
0
0
0
0
0
-1
70
25
-12
-64
46
32
10
-13
0
0
0
0
0
0
0
0
17
33
6
35
-3
31
5
-15
-1
0
0
0
0
0
0
0
0
-55
115
-5
25
-25
0
0
0
4
0
0
0
0
0
0
0
0
148
10
108
-42
-4
0
0
28
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
-2
120
-13
1
-156
66
13
-8
0
0
0
0
0
0
0
0
0
-42
-82
-60
86
78
-50
61
76
5
0
0
0
0
0
0
0
0
54
-83
-24
-3
-2
-61
12
14
-10
4
0
0
0
0
0
0
0
13
-79
-38
2
40
6
-9
3
12
0
0
0
0
0
0
0
0
0
-46
23
76
126
88
0
43
13
0
0
0
0
0
0
0
0
11
-80
-83
27
16
31
18
71
-23
54
0
0
0
0
0
0
0
23
113
57
96
1
-85
0
-21
-2
0
0
0
0
0
0
0
0
66
-133
-37
90
-3
-17
-2
0
-4
0
0
0
0
0
0
0
0
-18
12
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
54
6
103
-24
33
-4
0
0
0
0
0
0
0
0
0
13
39
39
78
118
21
36
-27
-33
0
0
0
0
0
0
0
0
-32
41
83
25
35
107
11
3
0
2
0
0
0
0
0
0
0
-66
180
93
68
101
-16
89
16
2
0
0
0
0
0
0
0
0
4
35
43
173
24
137
-79
-2
-3
0
0
0
0
0
0
0
0
-6
16
93
8
8
-7
-51
48
-7
0
0
0
0
0
0
0
0
-32
-44
-10
79
80
-14
30
0
0
0
0
0
0
0
0
0
0
14
-40
13
73
40
4
3
-3
0
0
0
0
0
0
0
0
0
28
38
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
25
69
115
-1
45
-12
-12
0
0
0
0
0
0
0
0
0
48
73
39
-8
43
-37
-49
132
-48
56
0
0
0
0
0
0
0
63
153
103
77
9
19
35
55
6
5
0
0
0
0
0
0
0
3
53
112
-90
156
191
94
-5
61
15
0
0
0
0
0
0
0
-7
26
24
94
-45
66
31
-33
-6
8
0
0
0
0
0
0
0
6
-8
30
199
-28
73
56
47
-57
11
0
0
0
0
0
0
0
-17
-9
88
110
30
15
56
-109
0
0
0
0
0
0
0
0
0
136
9
-36
-5
28
27
-56
9
3
0
0
0
0
0
0
0
0
-5
75
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-38
-3
5
-21
-44
18
0
0
0
0
0
0
0
0
0
0
110
-116
13
159
49
56
66
7
9
6
0
0
0
0
0
0
0
-12
29
36
141
37
-20
-14
-12
1
0
0
0
0
0
0
0
0
11
-38
18
81
-28
-30
10
-99
-3
-2
0
0
0
0
0
0
0
-6
-45
98
65
-101
21
51
29
2
0
0
0
0
0
0
0
0
123
20
68
4
22
31
46
50
-22
0
0
0
0
0
0
0
0
141
64
61
-4
-9
-69
21
-32
0
0
0
0
0
0
0
0
0
103
-102
19
-12
-10
19
25
0
0
0
0
0
0
0
0
0
0
-39
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
56
8
-59
6
-15
0
0
0
0
0
0
0
0
0
0
0
16
-94
117
61
-70
-55
3
-1
0
0
0
0
0
0
0
0
0
-21
-20
21
-23
36
24
18
2
0
0
0
0
0
0
0
0
0
-28
15
52
42
-16
-9
2
29
0
0
0
0
0
0
0
0
0
-2
57
24
-54
20
-15
-18
-15
0
0
0
0
0
0
0
0
0
2
-6
-55
-4
-14
6
8
3
0
0
0
0
0
0
0
0
0
-15
-2
16
14
40
3
0
0
0
0
0
0
0
0
0
0
0
-33
-16
25
-9
0
1
-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
2
-6
1
59
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-1
41
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
5
-9
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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
12
0
-1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
47
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
5
4
19
-6
0
16
0
0
0
0
0
0
0
0
0
6
0
0
0
8
0
-33
0
0
0
0
0
0
0
0
0
0
17
14
81
-11
-3
4
0
60
0
0
0
0
0
0
0
0
0
2
6
-23
6
13
0
13
0
0
0
0
0
0
0
0
0
0
12
0
12
7
17
14
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-4
0
0
2
22
0
0
0
0
0
0
0
0
0
0
2
-2
-3
0
6
-1
-3
-3
0
0
0
0
0
0
0
0
0
-14
-5
-13
51
0
2
-2
0
0
0
0
0
0
0
0
0
0
8
0
58
-26
-7
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
-6
12
-6
6
-1
0
0
0
0
0
0
0
0
0
0
8
-14
-3
47
11
-7
0
0
0
0
0
0
0
0
0
0
0
11
0
52
9
-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
-3
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
38
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-32
-33
21
3
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-25
4
-15
0
5
0
7
0
0
0
0
0
0
0
0
-44
-1
-28
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-64
5
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
4
0
8
-3
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
-6
2
1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
0
-15
1
0
0
0
0
0
0
0
0
0
0
2
2
1
62
-11
-6
-4
-1
0
0
0
0
0
0
0
0
0
0
1
15
16
-10
8
0
0
0
0
0
0
0
0
0
0
0
2
8
-34
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-1
5
0
9
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
-17
12
-6
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
26
13
-11
25
58
-2
14
6
0
0
0
0
0
0
0
0
-3
18
-151
-73
-6
-66
-20
-7
0
0
0
0
0
0
0
0
0
4
5
105
55
29
-1
1
6
8
0
0
0
0
0
0
0
0
0
-49
84
108
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-19
75
-4
-1
0
-6
0
0
0
0
0
0
0
0
0
0
50
10
29
39
-4
-6
1
9
0
0
0
0
0
0
0
0
0
-1
-63
21
24
18
0
0
0
0
0
0
0
0
0
0
0
0
-121
-3
25
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
-7
20
28
-92
-17
-1
6
4
-1
0
0
0
0
0
0
0
0
0
-37
62
-7
10
19
19
-8
18
1
0
0
0
0
0
0
0
-7
6
16
67
41
-41
8
12
0
0
0
0
0
0
0
0
0
-3
18
6
-16
-37
-59
-6
0
0
0
0
0
0
0
0
0
0
0
69
-25
139
22
-32
-3
1
0
0
0
0
0
0
0
0
0
3
14
102
-66
-15
-23
0
-1
0
0
0
0
0
0
0
0
0
16
-26
62
-31
-2
-1
0
0
3
0
0
0
0
0
0
0
0
20
-8
3
8
16
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
99
23
-3
-55
54
-10
0
0
0
0
0
0
0
0
0
80
108
-3
70
11
-61
-66
-41
0
0
0
0
0
0
0
0
0
16
3
-16
-58
81
-15
22
-8
-3
0
0
0
0
0
0
0
0
-17
23
-55
-1
47
55
-18
55
1
0
0
0
0
0
0
0
0
-52
-3
23
56
-119
6
-24
-4
5
0
0
0
0
0
0
0
0
12
122
41
19
-50
118
21
-5
18
0
0
0
0
0
0
0
0
52
151
129
-30
40
70
-4
0
0
0
0
0
0
0
0
0
0
36
42
-56
-8
-17
-14
6
0
-2
0
0
0
0
0
0
0
0
49
32
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
5
81
1
67
-12
-14
-83
8
0
0
0
0
0
0
0
0
0
22
64
88
111
-9
-14
-113
-6
-11
2
0
0
0
0
0
0
0
5
14
37
-32
191
93
65
14
-56
-9
0
0
0
0
0
0
0
-6
32
60
-11
-108
23
-25
20
-87
0
0
0
0
0
0
0
0
-2
97
82
-147
-94
61
-107
184
-51
0
0
0
0
0
0
0
0
-23
-37
-4
6
-4
-40
70
66
-6
-2
0
0
0
0
0
0
0
-16
125
-50
62
48
7
28
2
-16
-9
0
0
0
0
0
0
0
-7
-57
-64
-104
-29
-7
10
-3
0
0
0
0
0
0
0
0
0
-33
54
49
-20
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-10
-20
107
79
14
3
-1
0
0
0
0
0
0
0
0
0
0
7
33
143
60
137
-79
-25
0
-3
0
0
0
0
0
0
0
0
-1
120
105
69
39
90
-66
0
10
0
0
0
0
0
0
0
0
-89
24
16
-13
30
2
14
-40
0
0
0
0
0
0
0
0
0
57
54
74
-13
-25
18
26
3
0
0
0
0
0
0
0
0
0
7
-58
48
75
94
38
-6
27
2
0
0
0
0
0
0
0
0
-9
-59
-17
25
-99
53
-10
15
-9
0
0
0
0
0
0
0
0
-31
26
-10
-19
-31
-7
0
0
0
0
0
0
0
0
0
0
0
33
-42
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-44
-50
2
33
51
3
0
0
0
0
0
0
0
0
0
0
0
-4
35
79
-74
-18
3
-3
0
0
0
0
0
0
0
0
0
0
0
-35
20
-45
-15
1
0
-15
0
0
0
0
0
0
0
0
0
0
-15
55
-22
-30
-6
0
0
0
0
0
0
0
0
0
0
0
-8
1
-63
13
-24
27
-20
0
0
0
0
0
0
0
0
0
0
6
0
11
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
1
3
0
0
0
0
0
0
0
0
0
0
0
0
3
11
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
10
-12
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-1
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
3
-15
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
1
-14
0
4
1
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
-11
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
2
0
-1
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
-12
5
8
0
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
2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
19
0
0
0
0
0
0
0
0
0
1
17
-15
-6
-23
0
9
0
0
0
0
0
0
0
0
0
0
5
-13
23
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
25
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
31
14
28
93
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-2
129
0
0
19
0
0
0
0
0
0
0
0
0
0
17
-10
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
120
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
34
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
10
-7
-5
1
1
0
0
0
0
0
0
0
0
0
0
52
12
76
-4
20
0
0
0
0
0
0
0
0
0
0
0
-1
28
0
7
3
-35
0
0
0
0
0
0
0
0
0
0
0
0
-42
-34
1
37
-10
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
-8
1
2
0
2
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
0
0
-27
1
0
0
0
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
41
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
6
2
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
0
1
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
-5
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
13
0
0
0
-66
0
-7
0
0
0
0
0
0
0
0
-7
11
2
27
-1
-57
-3
-31
-1
0
0
0
0
0
0
0
0
0
-10
33
-2
34
10
-99
-7
-2
0
0
0
0
0
0
0
0
0
1
-2
44
11
86
4
0
2
0
0
0
0
0
0
0
0
0
2
5
24
-57
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
61
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
10
23
8
-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
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-24
-21
22
0
0
0
0
0
0
0
0
0
0
0
-1
20
23
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-47
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
18
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
-6
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
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
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
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
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
-1
-11
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
18
0
8
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
40
6
0
0
0
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
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
4
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
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
0
0
0
0
0
0
0
0
0
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
-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
-15
0
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
1
-1
3
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
-2
0
-23
-34
-37
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
10
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
-8
0
0
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-6
-4
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
8
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
1
10
0
-2
-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
0
0
0
0
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
11
-39
-8
-27
0
-10
0
0
0
0
0
0
0
0
-2
1
-7
19
1
-10
18
-3
0
0
0
0
0
0
0
0
0
-1
0
5
1
-65
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-6
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
0
0
0
1
-6
3
0
0
0
0
0
0
0
27
-52
-42
39
0
0
0
46
-16
-1
3
0
0
0
0
0
0
-4
-9
-19
-1
-80
-89
15
-119
-20
20
0
0
0
0
0
0
0
3
12
15
44
23
-92
-47
-1
22
-4
0
0
0
0
0
0
0
0
26
28
32
-70
15
44
41
3
0
0
1
0
0
0
0
0
0
2
-3
42
-8
74
17
-11
21
6
0
0
0
0
0
0
0
0
8
-3
-2
13
-10
-11
20
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-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
7
0
0
0
0
-89
-6
-1
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
-52
-32
5
1
0
0
0
0
0
0
0
0
1
-4
8
17
42
43
-30
-59
2
0
0
0
0
0
0
0
0
-2
0
-1
10
112
12
-50
1
2
5
0
0
0
0
0
0
0
0
10
0
-40
-18
7
-1
-14
-2
0
0
0
0
0
0
0
0
0
0
-31
14
-53
12
18
7
6
0
0
0
0
0
0
0
0
0
4
0
0
-7
1
44
10
-1
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
67
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
25
-2
3
3
0
0
0
0
0
0
0
0
0
0
10
-12
-9
19
20
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
-22
-4
4
0
0
0
0
0
0
0
0
-4
1
0
-5
48
-39
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
3
0
5
-1
-6
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
1
0
0
0
0
0
0
0
0
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
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
13
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-62
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-14
7
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
10
-4
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
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
-2
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
6
8
6
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
7
-11
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
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
2
-4
45
3
-25
0
0
0
0
0
0
0
0
0
0
0
4
-7
-16
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-11
0
0
0
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
0
4
5
9
-19
0
0
0
0
0
0
0
0
0
0
0
-24
0
16
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
45
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
13
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
79
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
5
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
-9
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
3
18
-21
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-6
9
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-27
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
-53
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
-3
0
0
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
-6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-21
11
16
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-12
0
13
-16
6
-3
0
0
0
0
0
0
0
0
0
0
21
0
5
-13
-45
-9
-116
10
0
0
0
0
0
0
0
0
0
0
0
0
-12
-42
-2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-2
7
-14
1
6
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
10
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
-1
-13
0
1
15
-17
0
0
0
-8
0
0
0
0
0
0
0
0
-19
17
23
-4
-22
0
0
0
0
-2
0
0
0
0
0
0
-16
0
12
15
-5
-4
3
-7
-6
0
0
0
0
0
0
0
0
0
6
2
7
1
30
7
99
13
5
0
0
0
0
0
0
0
0
-1
0
0
-2
-5
11
0
26
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-16
50
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
15
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
0
0
4
1
1
-63
-1
-3
0
0
0
-5
0
0
0
0
0
0
0
0
3
2
-111
-36
-27
0
0
0
-14
0
0
0
0
0
0
0
0
1
11
3
27
-6
10
-116
-83
1
0
0
0
0
0
0
0
2
0
6
24
2
-68
-81
56
-38
-5
0
0
0
0
0
0
0
0
0
-15
2
-12
-79
26
10
-7
2
0
0
0
0
0
0
0
0
0
-6
0
-2
-93
50
108
36
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
15
-20
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-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
-8
-37
-37
55
-15
0
0
0
0
0
0
0
0
0
0
0
-21
9
-139
-92
-95
-81
0
0
0
50
-11
0
0
0
0
0
0
5
31
25
12
32
-25
-10
29
-165
-3
-3
0
0
0
0
0
0
8
-3
25
6
14
56
-93
-11
4
-21
0
0
0
0
0
0
0
11
-10
1
-23
63
6
-21
89
-76
-1
0
0
0
0
0
0
0
0
0
-6
4
-95
-94
15
-16
119
-43
-3
0
0
0
0
0
0
0
0
5
3
-12
25
44
-53
52
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-10
12
0
0
0
0
0
0
0
0
0
5
-52
18
-18
-2
0
0
0
-5
1
0
0
0
0
0
0
2
18
-81
-51
76
-26
0
0
0
-40
-15
0
0
0
0
0
0
0
8
-43
90
-12
-58
-14
16
-55
-15
-3
0
0
0
0
0
0
0
-9
12
-47
14
17
-100
-11
72
17
-56
1
4
0
0
0
0
0
0
-1
-51
67
52
26
-94
-10
-76
0
0
0
0
0
0
0
0
0
0
18
-89
-165
15
36
117
36
-4
-1
0
0
0
0
0
0
0
5
5
5
4
67
26
14
25
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
39
-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
-12
1
0
0
0
0
0
79
-11
-1
0
0
0
0
0
0
0
10
-48
-26
5
0
0
0
-26
-61
0
0
0
0
0
0
0
0
0
-3
12
-15
18
59
27
0
17
-5
0
0
0
0
0
0
0
0
-2
0
5
111
-106
28
13
-13
-1
-2
0
0
0
0
0
0
0
-3
7
3
27
-56
-29
64
-73
0
0
0
0
0
0
0
0
0
0
-1
0
-64
25
13
46
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-2
0
0
0
0
0
0
0
0
0
7
3
0
0
0
7
-59
2
0
0
0
0
0
0
0
0
0
1
0
-6
-6
-12
-26
6
1
0
0
0
0
0
0
0
0
0
0
0
-2
-11
8
-24
-6
4
-6
0
0
0
0
0
0
0
0
0
-2
0
3
-5
13
13
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
37
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
9
4
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
16
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-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
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
-5
5
-1
0
0
0
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
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
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
18
3
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
-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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-9
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
2
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-15
1
2
11
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-23
20
-8
0
0
0
0
0
0
0
0
0
0
0
3
1
-47
37
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
21
-27
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
-14
4
4
0
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
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
-2
0
11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-2
-10
28
-1
0
0
0
0
0
0
0
0
0
0
15
-2
2
21
-10
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
-29
-59
96
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
43
-44
-20
0
0
0
0
0
0
0
0
0
0
0
-15
0
-2
17
-33
14
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
7
5
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
18
64
81
-3
0
0
0
0
0
0
0
0
0
8
0
4
0
0
-6
-2
12
0
0
0
0
0
0
0
0
0
-2
2
-11
-38
-4
-47
-9
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
-28
60
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
-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
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
6
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
16
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
22
-38
-53
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
-57
-109
58
0
0
0
0
0
0
0
0
0
0
0
0
17
10
-9
-8
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
12
-3
2
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
10
4
7
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-22
12
0
0
0
-9
0
0
0
0
0
0
0
0
17
-31
64
2
9
5
-30
-55
0
0
0
0
0
0
0
0
0
0
8
6
-6
10
3
-109
-51
0
0
0
0
0
0
0
0
0
-1
0
-9
-71
89
-1
-29
5
1
0
0
0
0
0
0
0
0
0
0
-13
5
17
-83
-16
35
1
0
0
0
0
0
0
0
0
0
0
0
0
11
14
-47
0
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-63
2
-53
0
0
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
-16
-2
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
37
-17
-96
15
0
0
0
7
-15
0
0
0
0
0
0
-2
-14
-84
10
16
26
38
-86
-2
-26
0
0
0
0
0
0
0
0
-5
-19
16
-45
60
3
-16
-92
43
0
0
0
0
0
0
0
0
0
3
2
-71
23
9
-33
100
7
0
0
0
0
0
0
0
0
0
-13
22
-43
-8
95
55
-60
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
84
72
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
19
-63
0
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
3
88
-17
57
-182
0
0
0
3
0
0
0
0
0
0
0
50
71
63
55
15
-90
0
0
0
-24
10
0
0
0
0
0
0
-16
16
-6
109
39
33
-5
-173
-10
-107
1
0
0
0
0
0
-2
-6
31
101
-19
-13
-31
41
40
121
-4
15
0
0
0
0
0
0
0
9
-56
8
-15
-22
-159
106
-22
-111
20
0
0
0
0
0
0
0
65
34
18
3
63
-15
53
55
0
4
0
0
0
0
0
0
0
0
8
-38
0
13
68
66
61
-33
0
0
0
0
0
0
0
0
0
4
-2
-2
14
-44
-20
-99
26
0
0
0
0
0
0
0
0
0
0
0
0
4
0
25
0
0
0
0
0
0
0
0
0
-3
39
80
73
55
20
0
0
0
1
1
0
0
0
0
0
0
-9
14
-43
31
46
-88
0
0
0
-8
-1
-1
0
0
0
0
0
-18
-4
106
73
6
-32
-23
-62
-39
-22
-5
0
0
0
0
0
0
1
7
29
-8
-46
-78
-34
-58
-40
-107
2
-11
0
0
0
0
0
18
25
4
24
-80
-64
54
-24
163
-4
8
0
0
0
0
0
0
0
0
-40
-5
-27
-40
12
-65
-3
87
-1
0
0
0
0
0
0
0
0
-12
-28
15
19
-33
-50
-33
25
8
0
0
0
0
0
0
0
0
0
-1
0
0
-24
3
24
7
0
0
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
-1
10
2
0
0
0
4
-2
0
0
0
0
0
0
0
0
1
8
39
-6
0
0
0
5
-8
-3
0
0
0
0
0
0
0
0
0
16
-26
32
0
77
-22
18
1
0
0
0
0
0
0
6
0
0
-5
-17
-13
34
63
-11
1
-1
0
0
0
0
0
0
0
0
-2
-8
-4
-28
58
-36
-77
0
-2
0
0
0
0
0
0
0
0
0
0
0
-43
40
-20
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
17
-12
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
10
-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
0
0
0
0
0
0
0
0
-9
1
3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
63
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-50
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-26
3
11
-6
2
0
0
0
0
0
0
0
0
0
-3
-6
19
7
0
-33
7
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
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
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-18
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
16
2
-5
0
0
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
0
0
0
-3
-29
-33
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
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
17
0
0
0
0
0
0
0
0
0
0
1
20
-23
0
0
0
0
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
0
7
-7
-3
0
0
0
-11
1
0
0
0
0
0
0
0
0
0
1
0
-2
3
-8
12
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
115
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
0
0
0
0
-2
-10
-9
-7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-18
-14
-29
0
19
-11
-13
-19
-1
0
0
0
0
0
0
0
0
0
0
11
7
4
-50
4
25
-19
0
0
0
0
0
0
0
0
0
0
0
0
17
21
32
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-13
13
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-75
-88
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
44
-25
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
8
0
5
4
-7
-2
0
0
0
-3
0
0
0
0
0
0
0
2
-19
0
5
3
-10
0
-57
-14
3
0
0
0
0
0
0
0
0
0
4
3
-14
35
76
-27
-2
4
0
0
0
0
0
0
0
0
0
-8
0
1
9
-70
-21
0
11
0
0
0
0
0
0
0
0
0
0
1
0
15
143
-35
23
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-4
6
-50
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-32
-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
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-28
-16
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
-4
-7
-4
33
-12
18
-24
-1
0
0
0
0
0
0
0
0
0
-3
-1
-5
13
37
-48
28
0
0
0
0
0
0
0
0
0
1
-9
14
0
66
23
31
-54
11
0
0
0
0
0
0
0
0
0
0
0
-7
19
115
73
-30
0
0
0
0
0
0
0
0
0
0
0
-27
1
48
5
-72
3
8
0
0
0
0
0
0
0
0
0
0
0
2
-33
-110
-5
51
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
-3
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
6
-67
3
-8
-13
0
0
0
10
2
0
0
0
0
0
0
10
-9
-1
-49
105
7
-15
7
62
-3
0
0
0
0
0
0
0
0
0
44
-9
1
-9
13
-2
1
9
0
0
0
0
0
0
0
0
15
-3
45
-48
0
-15
-53
-45
-18
0
0
0
0
0
0
0
0
0
3
6
-15
-48
3
-72
-82
-10
0
0
0
0
0
0
0
0
0
5
-2
4
-3
-18
19
-118
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-16
7
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-71
0
0
0
0
0
0
0
0
0
0
3
2
34
-8
-17
0
0
0
0
0
0
0
0
0
0
0
22
13
110
-110
-43
-28
0
0
0
43
9
0
0
0
0
0
0
1
-37
-32
29
140
174
14
-175
-93
0
1
0
0
0
0
0
0
0
-21
75
-26
-89
9
-81
-28
10
7
-14
0
0
0
0
0
0
0
-15
0
-24
163
-68
0
107
52
-10
0
0
0
0
0
0
0
0
-1
-2
47
115
-72
-42
20
60
0
0
0
0
0
0
0
0
0
0
-1
-56
-10
-77
28
-22
25
-5
0
0
0
0
0
0
0
0
0
0
0
4
20
-31
57
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
11
0
0
0
0
0
0
0
0
0
5
-44
-21
-37
-1
22
0
0
0
19
0
0
0
0
0
0
3
4
-10
-25
140
34
-71
0
0
0
-4
0
0
0
0
0
0
0
20
-57
-48
24
71
-14
-61
-66
-29
0
0
0
0
0
0
0
0
-5
-27
-33
56
6
-107
29
-86
85
5
-26
0
0
0
0
0
0
0
-33
89
-110
-9
12
-31
8
33
-14
0
0
0
0
0
0
0
4
9
-36
-74
-31
-26
0
219
-22
-30
11
0
0
0
0
0
0
0
-6
-2
-34
-143
43
46
-74
-15
1
0
0
0
0
0
0
0
0
0
1
0
-5
29
-62
43
-114
-68
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-68
-16
-5
0
0
0
0
0
0
0
0
-137
27
-73
6
-78
0
0
0
6
0
0
0
0
0
0
0
-76
-6
31
-45
26
-113
0
0
0
25
-4
0
0
0
0
0
0
-9
12
-6
-45
102
58
-56
-134
-20
14
-10
-9
0
0
0
0
0
0
39
13
11
19
-3
-69
37
34
-30
-5
1
0
0
0
0
0
-21
-5
-3
-85
-61
-58
-12
-19
63
13
-9
0
0
0
0
0
0
0
-34
-9
-39
30
8
6
19
129
-1
0
0
0
0
0
0
0
-10
0
-2
-183
-134
43
-23
130
16
-8
0
0
0
0
0
0
0
0
0
1
16
-35
6
68
-48
-12
58
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
3
6
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
-6
-17
43
-4
0
0
0
14
24
0
0
0
0
0
0
0
5
-4
0
-3
-9
38
80
4
116
3
0
0
0
0
0
0
0
0
3
0
-9
1
-28
89
35
21
23
3
0
0
0
0
0
0
0
1
-5
-4
-4
12
-40
18
-23
0
0
0
0
0
0
0
0
0
0
-1
-8
-17
-21
4
18
12
0
0
0
0
0
0
0
0
0
0
0
18
0
0
5
-4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
-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
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-54
9
0
0
0
0
0
0
0
0
0
0
0
-6
0
-36
22
-59
13
0
0
0
0
0
0
0
0
0
0
0
-12
1
3
7
2
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
12
0
-3
0
4
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
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
-9
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
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
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
2
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
0
0
0
0
-20
-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
11
-34
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-11
-2
15
0
-2
-5
0
0
0
0
0
0
0
0
0
0
-1
9
0
-1
-14
-11
31
0
0
0
0
0
0
0
0
0
0
2
-7
2
14
53
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-50
3
-8
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-12
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
0
-83
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
-2
0
-8
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-16
0
50
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-40
-34
-19
-5
2
0
0
0
0
0
0
0
0
0
0
-4
-14
35
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
14
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-18
0
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
6
74
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-61
-62
14
7
15
5
-6
0
0
0
0
0
0
0
0
0
0
-13
-45
11
-4
74
11
-105
2
0
0
0
0
0
0
0
0
0
0
0
51
70
-86
-66
53
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
-6
33
-15
0
0
0
0
0
0
0
0
0
0
0
0
13
-17
17
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
48
-42
-49
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
0
7
0
0
0
0
0
0
0
0
0
0
0
10
-2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-13
1
1
-21
-11
23
-5
0
0
0
0
0
0
0
0
-18
0
-5
-1
48
50
-29
-10
1
0
0
0
0
0
0
0
0
-6
23
-1
-38
15
-26
6
18
0
0
0
0
0
0
0
0
0
0
4
0
0
-18
-48
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
-152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-4
0
0
0
0
0
0
0
0
21
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
5
-13
17
6
15
0
0
0
0
3
0
0
0
0
0
0
0
-3
10
37
11
16
-12
16
-42
40
5
0
0
0
0
0
0
0
1
0
-79
11
-72
39
64
30
1
-6
0
0
0
0
0
0
0
0
2
-52
-21
-13
-140
-13
0
-35
0
0
0
0
0
0
0
0
0
2
11
-62
9
0
-10
-121
-45
0
0
0
0
0
0
0
0
7
0
0
6
-1
-14
-7
-50
-52
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
-73
0
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
-5
7
-1
-37
-33
0
0
0
0
0
0
0
0
0
0
0
-5
3
4
14
45
60
0
0
0
-4
0
0
0
0
0
0
0
6
-61
-24
34
-74
-5
-22
8
-67
0
0
0
0
0
0
0
0
11
0
14
2
30
-141
75
55
26
-6
-2
0
0
0
0
0
0
0
-2
-2
-11
36
79
-66
-14
23
0
0
0
0
0
0
0
0
0
-3
-27
32
20
-71
0
-30
38
0
0
0
0
0
0
0
0
0
0
5
1
78
33
-16
24
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-134
7
-89
-142
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-75
4
0
0
0
0
0
0
0
0
-43
-7
-5
-50
0
5
0
0
0
-3
0
0
0
0
0
0
-1
-100
46
28
83
-16
-51
0
0
0
-51
0
0
0
0
0
0
0
-47
-56
-14
6
75
-104
122
-84
56
-10
2
0
0
0
0
0
0
11
-24
74
34
33
-37
-60
-35
39
-5
0
0
0
0
0
0
0
0
-2
84
2
20
-10
-33
-15
83
-2
0
0
0
0
0
0
0
0
-10
39
24
57
35
99
0
55
0
0
0
0
0
0
0
0
3
1
24
42
-43
-83
12
144
-6
17
0
0
0
0
0
0
0
0
0
0
-97
10
-1
65
-19
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
4
77
0
-31
0
0
0
0
0
0
0
12
-8
29
-3
11
5
0
0
0
9
0
0
0
0
0
0
0
-25
-52
-123
-86
4
-34
0
0
0
14
-9
0
0
0
0
0
0
0
8
73
-90
-157
-119
36
-80
-81
9
2
0
0
0
0
0
0
6
-4
-56
-18
8
11
-58
-37
-40
-5
0
0
0
0
0
0
0
5
0
11
-11
-109
24
-22
110
38
7
19
0
0
0
0
0
0
0
-3
-13
5
-118
45
32
9
0
-7
2
0
0
0
0
0
0
0
7
-3
-65
6
24
-99
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-96
106
36
-21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-57
-1
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
-22
8
0
0
0
0
0
0
0
0
0
5
5
-5
0
0
0
-33
0
2
0
0
0
0
0
0
0
0
0
23
16
-64
-39
24
29
13
0
0
0
0
0
0
0
0
0
-1
7
5
-91
31
60
15
9
0
0
0
0
0
0
0
0
0
-22
-1
2
32
35
35
-37
-1
0
0
0
0
0
0
0
0
0
0
4
0
-29
-17
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-14
-47
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
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
6
0
0
0
22
-6
-7
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
1
7
2
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
6
4
0
0
0
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
-1
0
7
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
4
2
0
0
0
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
-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
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-15
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
5
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
0
-3
-15
9
-8
4
0
11
0
0
0
0
0
0
0
0
0
0
2
0
-1
10
-50
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
-1
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-9
7
3
2
0
0
0
0
0
0
0
0
0
0
2
2
3
25
-37
-23
12
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
2
1
-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
0
0
0
0
0
0
0
0
0
0
8
0
0
19
0
12
0
0
0
0
0
0
0
0
0
0
0
0
4
4
6
-7
0
0
1
3
0
0
0
0
0
0
0
0
0
0
-2
19
11
-10
-9
1
2
0
0
0
0
0
0
0
0
0
0
-9
0
2
-1
-18
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-55
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
4
12
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
5
-4
0
1
-1
0
0
0
0
0
0
0
0
0
0
9
-8
-12
-1
-83
-4
3
0
0
0
0
0
0
0
0
0
0
-23
-44
34
-58
-67
39
40
0
0
0
0
0
0
0
0
0
0
0
-2
6
-19
9
2
4
0
0
0
0
0
0
0
0
0
0
1
0
0
6
15
5
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
47
-109
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-7
0
24
7
-22
-1
0
0
0
0
0
0
0
0
0
0
0
-35
0
-17
1
-10
8
8
-18
12
0
0
0
0
0
0
0
0
0
0
14
6
77
-42
-78
2
-49
10
0
0
0
0
0
0
0
0
-13
9
-3
-23
4
-79
4
-42
-1
0
0
0
0
0
0
0
0
5
0
-4
-69
15
12
6
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
0
12
-59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-55
50
-9
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
-1
5
-38
1
2
0
0
0
0
0
0
0
0
0
0
0
3
5
3
-44
40
-113
0
0
0
0
0
0
0
0
0
0
0
11
-23
78
-25
100
-50
17
-34
-112
0
0
0
0
0
0
0
0
-18
9
-137
-38
80
-86
37
-163
22
2
0
0
0
0
0
0
0
0
-45
56
-36
-31
35
142
-52
-51
11
0
0
0
0
0
0
0
2
0
12
42
33
49
2
83
3
0
0
0
0
0
0
0
0
0
0
-8
-9
-121
2
0
33
-23
0
0
0
0
0
0
0
0
0
0
0
0
52
-86
-41
-97
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
0
0
1
0
0
0
0
0
0
0
0
15
31
11
9
26
0
0
0
0
0
0
0
0
0
0
0
-21
45
-73
34
45
-34
0
0
0
0
0
0
0
0
0
0
0
6
-66
-25
-62
34
-28
60
-73
4
0
0
0
0
0
0
0
0
40
-117
-96
0
23
33
-78
-76
-85
12
0
0
0
0
0
0
0
1
-47
-74
-15
67
-59
-44
-125
80
0
0
0
0
0
0
0
0
0
12
-26
8
-82
-73
33
-61
-12
0
0
0
0
0
0
0
0
0
0
15
71
-41
19
-36
0
32
4
0
0
0
0
0
0
0
0
0
0
4
-16
-54
-34
53
61
11
2
0
0
0
0
0
0
0
0
0
0
4
43
10
5
2
0
0
0
0
0
0
0
0
0
66
-35
-84
51
12
0
0
0
-1
0
0
0
0
0
0
0
-2
-19
-114
8
-95
0
0
0
0
45
2
0
0
0
0
0
0
14
73
-47
52
49
-116
-135
15
-13
8
9
0
0
0
0
0
0
-19
12
73
-52
-113
-83
-134
22
34
-21
0
0
0
0
0
0
0
10
-25
-57
-58
61
5
-36
-8
-141
15
0
0
0
0
0
0
0
14
-7
3
-70
-101
13
92
-8
-121
-29
3
0
0
0
0
0
0
0
0
-47
42
-6
-41
98
57
0
-5
0
0
0
0
0
0
0
0
0
0
10
28
26
28
-5
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
5
0
0
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
-11
3
0
0
0
0
0
0
0
0
-8
11
0
3
0
0
0
94
-2
0
0
0
0
0
0
0
0
0
2
17
3
3
-9
-50
-2
0
0
0
0
0
0
0
0
0
1
0
-31
76
32
7
-6
27
0
0
0
0
0
0
0
0
0
0
-5
39
49
42
3
7
-5
0
0
0
0
0
0
0
0
0
-7
5
6
7
-22
50
-21
2
0
0
0
0
0
0
0
0
0
0
0
8
-22
-14
-11
7
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
-12
-6
-4
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
10
3
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
14
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-14
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
2
0
0
-2
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
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-3
-2
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-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
-9
0
0
0
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
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
2
-1
0
0
-7
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
9
2
-16
-40
-25
-3
-5
10
0
0
0
0
0
0
0
0
0
0
0
-13
-33
1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
7
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-92
-4
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
71
-8
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
6
134
19
-8
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
-58
26
7
15
-9
0
8
0
0
0
0
0
0
0
0
0
13
-76
-1
-47
8
11
1
-15
0
0
0
0
0
0
0
0
0
21
-37
9
3
80
-38
-9
-5
0
0
0
0
0
0
0
0
0
0
4
0
73
50
-79
65
-72
0
0
0
0
0
0
0
0
0
0
-9
4
-66
3
-32
31
-22
0
0
0
0
0
0
0
0
0
0
2
1
-2
4
0
10
-47
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
19
-2
0
0
0
0
0
0
0
0
-57
7
45
-16
12
0
0
0
0
0
0
0
0
0
0
0
-14
-7
10
-62
-95
-7
0
0
0
0
0
0
0
0
0
0
0
-8
7
-28
-31
-20
5
-28
56
-18
0
0
0
0
0
0
0
0
12
60
2
-49
-124
16
-124
40
27
0
0
0
0
0
0
0
0
0
-42
-9
-79
-26
-27
33
10
8
-3
0
0
0
0
0
0
0
-7
2
53
-97
4
-16
70
58
-85
-2
0
0
0
0
0
0
0
0
10
-19
-13
-102
-12
42
-154
-40
6
0
0
0
0
0
0
0
0
0
17
3
3
29
-11
0
-27
5
0
0
0
0
0
0
0
0
-2
0
0
-8
39
3
-46
0
3
0
0
0
0
0
0
0
0
7
-16
15
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-20
95
-43
-70
-9
-85
0
0
0
0
0
0
0
0
0
0
0
13
1
11
-38
-80
-107
-54
48
20
1
0
0
0
0
0
0
0
0
-5
123
-99
19
-23
-85
-70
-94
0
0
0
0
0
0
0
0
0
13
13
130
27
0
1
-40
-80
-16
0
0
0
0
0
0
0
0
23
-34
17
-96
-30
-79
39
-165
0
0
0
0
0
0
0
0
0
-11
25
-2
41
0
-77
99
-1
0
0
0
0
0
0
0
0
0
0
-1
-101
-20
28
39
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-113
0
0
0
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
-2
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
8
-2
0
-1
-1
-5
48
-9
0
0
0
0
0
0
0
0
0
4
21
-2
-5
8
56
7
-21
0
0
0
0
0
0
0
0
0
0
0
4
5
21
72
-11
-38
1
0
0
0
0
0
0
0
0
0
0
14
-10
-8
91
-6
5
0
0
0
0
0
0
0
0
0
0
5
0
-2
23
-18
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-50
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
-1
7
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
-1
0
-27
-4
3
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
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
-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
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-1
0
15
2
0
-13
0
0
0
0
0
0
0
0
0
0
-7
7
2
-4
4
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
60
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
9
0
16
0
-4
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
-4
0
0
0
0
0
0
0
0
0
0
0
-14
0
-6
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-87
21
22
-23
-3
15
191
0
0
0
0
0
0
0
0
0
2
7
-10
34
19
38
-90
-15
0
0
0
0
0
0
0
0
0
0
39
7
-38
-46
-78
15
-121
-5
0
0
0
0
0
0
0
0
1
-9
-25
-1
13
-49
-10
-61
-2
0
0
0
0
0
0
0
0
0
12
-1
-2
74
63
-62
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
-27
-41
22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-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
9
-1
-34
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-15
0
45
25
0
0
0
0
0
0
0
0
0
0
0
0
12
14
36
-23
17
7
0
0
0
0
0
0
0
0
0
0
-37
0
-14
-33
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-7
-5
-3
-17
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
1
0
-1
-1
3
10
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
14
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-5
-9
8
-9
0
2
0
-5
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
1
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
3
9
0
0
15
0
0
0
0
0
0
0
0
0
0
2
4
10
-12
0
0
0
-22
0
0
0
0
0
0
0
0
0
-4
-31
22
8
-1
-5
-8
0
0
0
0
0
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
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
1
4
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-50
-16
0
17
2
-2
0
0
0
0
0
0
0
0
0
-7
25
12
3
0
-14
0
0
0
0
0
0
0
0
0
0
0
-14
4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
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
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
40
89
-58
0
-114
0
0
0
0
0
0
0
0
0
-142
44
34
97
-28
149
43
-3
0
0
0
0
0
0
0
0
0
47
64
90
19
-23
-30
-5
-12
0
0
0
0
0
0
0
0
0
99
78
-49
-11
-46
-6
16
-37
7
0
0
0
0
0
0
0
0
-19
-17
1
89
60
20
3
-3
0
0
0
0
0
0
0
0
0
-22
-80
60
13
-31
-12
0
0
0
0
0
0
0
0
0
0
0
98
20
-27
-10
5
2
-3
0
0
0
0
0
0
0
0
0
0
-64
11
7
-6
0
-3
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
24
-60
24
14
0
23
3
0
0
0
0
0
0
0
0
0
26
9
65
53
37
-35
-41
0
0
0
0
0
0
0
0
0
0
41
17
-3
46
-62
-13
-2
0
0
0
0
0
0
0
0
0
0
-15
-15
-42
24
38
0
-8
0
0
0
0
0
0
0
0
0
0
-20
7
62
10
-2
-14
0
-1
0
0
0
0
0
0
0
0
0
3
-1
-45
-11
-5
7
1
0
0
0
0
0
0
0
0
0
0
-1
3
-8
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
2
-1
14
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
20
-72
-69
-13
15
-3
0
0
0
0
0
0
0
0
0
0
16
32
-3
49
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
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
-3
-2
-6
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
21
-6
-21
24
14
4
9
0
0
0
0
0
0
0
0
0
0
0
20
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-10
-5
-4
-1
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
20
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
9
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
3
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
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
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
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
-10
5
2
11
29
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
-1
-14
0
0
0
0
0
0
0
0
0
0
-7
0
2
10
8
-3
0
0
0
0
0
0
0
0
0
0
0
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
7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
-5
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-8
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
7
20
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
10
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
1
1
2
-2
-2
-1
-2
-25
0
0
0
0
0
0
0
0
0
10
-7
-14
-11
5
3
0
14
0
0
0
0
0
0
0
0
0
10
0
-7
-9
44
-1
-8
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44
-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
-8
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
-29
-20
42
0
-1
-53
0
0
0
0
0
0
0
0
0
0
12
-14
-71
-1
0
2
5
-5
0
0
0
0
0
0
0
0
0
0
0
14
29
8
10
0
-4
0
0
0
0
0
0
0
0
0
-10
3
37
40
0
-9
10
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
-66
-16
0
0
-5
-17
0
0
0
0
0
0
0
0
0
-26
-21
51
62
-3
-15
-7
0
0
0
0
0
0
0
0
0
0
1
-12
30
24
3
1
-6
0
2
0
0
0
0
0
0
0
0
29
18
-70
73
18
0
-7
0
6
0
0
0
0
0
0
0
0
-3
59
5
17
-5
0
3
0
0
0
0
0
0
0
0
0
0
-8
14
2
24
12
0
0
5
0
0
0
0
0
0
0
0
0
0
5
14
-41
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
6
113
-30
-9
0
-3
0
0
0
0
0
0
0
0
0
0
-26
-32
96
-146
21
9
6
26
-3
0
0
0
0
0
0
0
0
58
92
-18
10
-59
-38
-5
-11
84
0
0
0
0
0
0
0
0
142
21
117
40
1
33
-31
-50
0
0
0
0
0
0
0
0
0
121
-52
8
-81
-57
-17
-19
-2
-29
0
0
0
0
0
0
0
0
-18
-73
-18
36
21
27
-4
0
0
0
0
0
0
0
0
0
0
8
-20
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-34
12
10
0
0
0
0
0
0
0
0
0
0
0
29
6
124
-30
49
64
12
-31
-13
0
0
0
0
0
0
0
0
8
15
13
11
23
-13
-12
-54
-4
0
0
0
0
0
0
0
0
-56
8
36
-57
-102
65
0
-113
-11
0
0
0
0
0
0
0
0
97
-1
69
-5
-53
8
35
-2
-16
-1
0
0
0
0
0
0
0
20
87
-70
-12
-4
18
15
-14
0
0
0
0
0
0
0
0
0
-58
-14
-20
-86
-16
53
23
0
0
0
0
0
0
0
0
0
0
38
-16
20
0
0
3
5
0
0
0
0
0
0
0
0
0
0
-107
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-119
-43
68
66
0
-45
0
0
0
0
0
0
0
0
0
0
5
-54
-54
25
-34
-26
-56
1
0
0
0
0
0
0
0
0
0
0
-20
-37
-7
-98
-76
-62
-2
0
0
0
0
0
0
0
0
0
10
4
-24
-47
107
5
4
16
6
0
0
0
0
0
0
0
0
83
-56
7
-77
-12
34
-12
-7
-15
0
0
0
0
0
0
0
0
12
-8
11
1
-1
-17
0
9
0
0
0
0
0
0
0
0
0
-40
-8
16
-4
-8
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
0
0
0
0
0
0
0
0
-14
-6
16
-58
0
4
-3
0
0
0
0
0
0
0
0
0
0
73
-13
70
47
43
74
-6
0
0
0
0
0
0
0
0
0
0
-14
-85
-12
-19
-83
-12
0
-6
0
0
0
0
0
0
0
0
0
-22
7
4
9
-16
-11
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
2
-4
0
-16
-2
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
-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
-10
-11
-29
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
-20
80
-10
-25
-12
-15
7
-2
0
0
0
0
0
0
0
0
0
16
10
-6
-17
-13
4
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-3
9
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
4
0
-5
-3
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
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
0
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
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
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
-3
1
2
0
9
0
0
0
0
0
0
0
0
0
0
7
0
-10
53
3
-29
-12
2
0
0
0
0
0
0
0
0
0
-13
0
-7
-1
8
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
35
22
-19
0
7
0
0
0
0
0
0
0
0
0
0
0
2
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
26
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
0
-68
24
-7
-1
0
0
0
0
0
0
0
0
0
-4
0
-5
-2
-14
19
10
-6
0
0
0
0
0
0
0
0
0
6
-2
0
-4
-27
-35
-3
1
2
0
0
0
0
0
0
0
0
0
28
0
49
26
1
-2
0
0
0
0
0
0
0
0
0
0
17
-1
0
-27
-13
17
0
0
0
0
0
0
0
0
0
0
0
-12
-4
6
-8
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
-4
2
-47
-3
27
15
24
-7
0
0
0
0
0
0
0
0
0
1
-23
-35
-9
24
-7
-97
5
0
0
0
0
0
0
0
0
0
2
-26
-31
-7
-14
-2
3
1
0
0
0
0
0
0
0
0
0
19
-25
4
3
20
8
-3
-14
0
0
0
0
0
0
0
0
0
6
1
9
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
-22
-11
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
-1
44
-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
-56
10
11
-7
0
0
2
0
0
0
0
0
0
0
0
0
20
33
15
-10
-16
-7
-53
7
0
0
0
0
0
0
0
0
0
6
58
47
38
15
11
6
9
0
0
0
0
0
0
0
0
0
-3
-29
49
-2
-4
-18
40
0
-4
0
0
0
0
0
0
0
0
7
66
-2
121
-6
-12
4
0
0
0
0
0
0
0
0
0
0
52
0
4
42
-3
6
0
5
9
0
0
0
0
0
0
0
0
0
3
-3
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
85
-11
32
-4
-42
-15
0
0
0
0
0
0
0
0
0
0
-27
-8
108
47
-4
14
6
-85
-25
0
0
0
0
0
0
0
0
24
64
-36
96
-4
1
-51
-11
-1
0
0
0
0
0
0
0
0
-27
-33
3
59
1
0
-4
16
5
0
0
0
0
0
0
0
0
22
21
81
110
48
6
10
-4
0
0
0
0
0
0
0
0
0
-27
-28
26
41
-40
11
0
3
0
0
0
0
0
0
0
0
0
-4
10
92
70
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-58
-20
-4
-62
-38
53
1
0
0
0
0
0
0
0
0
0
152
88
-45
-34
-51
14
19
3
-20
0
0
0
0
0
0
0
0
-2
146
-1
-31
78
12
5
-2
0
0
0
0
0
0
0
0
0
79
-84
56
64
17
19
25
0
-33
0
0
0
0
0
0
0
0
7
23
92
6
-4
71
42
-1
-1
0
0
0
0
0
0
0
0
-67
-122
-41
-9
-7
0
2
-18
3
0
0
0
0
0
0
0
0
119
112
3
-5
-2
5
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-15
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
-65
-98
-28
-109
29
-67
13
-89
0
0
0
0
0
0
0
0
0
33
-117
-19
-106
-106
-84
-44
-85
19
7
0
0
0
0
0
0
0
-62
-4
-132
-64
-11
-4
-19
-14
-12
26
0
0
0
0
0
0
0
25
53
-23
-63
72
60
-14
-2
-23
-3
0
0
0
0
0
0
0
-175
-89
-150
-60
74
20
47
41
0
0
0
0
0
0
0
0
0
89
72
62
38
22
-63
4
8
-8
1
0
0
0
0
0
0
0
112
-28
-14
-21
-27
0
-9
-2
0
0
0
0
0
0
0
0
0
7
50
14
52
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-140
91
-50
37
-70
-66
85
32
0
-14
0
0
0
0
0
0
0
-13
7
-56
74
-13
-166
90
-9
-9
5
1
0
0
0
0
0
0
-53
-120
16
-35
57
-51
-53
84
-25
0
0
0
0
0
0
0
0
15
-68
25
-75
19
10
-21
-19
-5
0
0
0
0
0
0
0
0
61
43
60
49
-90
-67
-13
-59
-17
6
0
0
0
0
0
0
0
97
-20
-16
112
-12
8
14
-34
-12
0
0
0
0
0
0
0
0
110
137
130
32
0
-22
-7
34
7
0
0
0
0
0
0
0
0
41
19
28
-3
9
1
8
4
0
0
0
0
0
0
0
0
0
82
33
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
79
-29
52
125
109
0
53
0
0
0
0
0
0
0
0
-16
77
1
-47
14
47
93
-89
-5
5
4
0
0
0
0
0
0
-55
5
-28
-75
14
-69
-79
-24
-7
0
0
0
0
0
0
0
0
11
69
-82
-46
-21
-67
-37
-7
0
0
0
0
0
0
0
0
0
-15
-125
10
65
31
103
87
-30
-2
0
0
0
0
0
0
0
0
103
-42
30
-49
31
-41
47
116
-1
0
0
0
0
0
0
0
0
1
112
-63
16
-38
-1
25
29
-1
0
0
0
0
0
0
0
0
86
51
75
-1
-7
3
-32
0
0
0
0
0
0
0
0
0
0
20
-10
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
68
-55
-26
112
0
26
-2
0
0
0
0
0
0
0
0
-7
90
58
-3
110
65
-31
1
-3
0
0
0
0
0
0
0
0
49
-31
-105
-66
20
46
56
-18
0
0
0
0
0
0
0
0
0
-73
73
26
-17
35
97
51
12
0
0
0
0
0
0
0
0
0
-2
-85
-23
-90
-52
-13
14
-7
1
0
0
0
0
0
0
0
0
31
19
28
90
-64
-15
2
9
-8
0
0
0
0
0
0
0
0
-61
-66
37
-13
-9
-11
3
3
-1
0
0
0
0
0
0
0
0
28
25
21
-7
0
11
0
0
0
0
0
0
0
0
0
0
0
49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-25
-52
-14
90
0
-4
14
-3
0
0
0
0
0
0
0
0
-100
-94
31
-20
-88
-80
42
4
10
0
0
0
0
0
0
0
0
-72
20
22
-2
1
37
-51
0
0
0
0
0
0
0
0
0
0
-69
50
-54
-36
47
73
-37
0
0
0
0
0
0
0
0
0
0
-9
-14
3
-7
2
-7
0
1
0
0
0
0
0
0
0
0
0
-39
-2
-8
0
0
0
4
0
3
0
0
0
0
0
0
0
0
49
5
-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
2
-8
-67
125
0
-12
0
0
0
0
0
0
0
0
0
0
0
-5
14
-6
17
12
-6
12
0
0
0
0
0
0
0
0
0
0
5
28
14
16
12
-89
0
0
0
0
0
0
0
0
0
0
0
2
3
3
-4
10
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
0
2
0
1
0
0
0
0
0
0
0
0
0
-4
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
-10
3
-2
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
10
-2
59
24
1
9
1
0
0
0
0
0
0
0
0
0
0
8
-3
-7
-20
12
-10
0
0
0
0
0
0
0
0
0
0
0
-4
15
-2
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
4
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
4
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
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
-11
8
6
-5
0
-5
-7
0
0
0
0
0
0
0
0
0
18
0
0
-27
4
-65
15
-7
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
-10
-4
10
0
0
0
0
0
0
0
0
0
0
-2
0
-51
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
1
1
11
-23
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
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
-10
-23
0
0
-11
-10
0
0
0
0
0
0
0
0
0
0
0
83
-23
6
77
77
105
-22
0
0
0
0
0
0
0
0
0
-23
0
4
0
19
-16
-80
8
0
0
0
0
0
0
0
0
0
16
-21
0
5
0
-16
1
8
-7
0
0
0
0
0
0
0
0
6
15
-6
0
-15
4
-10
0
-8
0
0
0
0
0
0
0
0
0
4
4
173
-8
-8
21
6
0
0
0
0
0
0
0
0
0
4
-6
-7
33
-3
-1
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-52
2
-12
0
0
0
0
0
0
0
0
0
0
0
7
18
-59
62
-37
5
92
-7
-5
0
0
0
0
0
0
0
0
-25
92
0
4
-11
-6
18
65
0
0
0
0
0
0
0
0
0
-27
-43
14
0
0
-13
0
0
4
0
0
0
0
0
0
0
0
-38
-52
-8
0
11
-23
10
-19
0
0
0
0
0
0
0
0
0
3
5
50
7
80
0
2
0
-2
0
0
0
0
0
0
0
0
-1
44
-26
-2
-9
13
0
0
-1
0
0
0
0
0
0
0
0
1
1
21
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
0
0
0
0
0
0
12
-1
2
0
0
-9
24
0
0
0
0
0
0
0
0
0
0
-1
-15
60
-6
1
-22
-10
1
-4
0
0
0
0
0
0
0
0
3
-155
-123
-1
0
4
-14
113
2
0
0
0
0
0
0
0
0
27
6
6
5
0
-4
-16
2
-2
0
0
0
0
0
0
0
0
-46
10
-4
-16
0
4
4
0
0
0
0
0
0
0
0
0
0
-27
-71
-13
88
6
-22
0
-2
-3
0
0
0
0
0
0
0
0
-12
55
120
-45
-6
-24
0
0
0
0
0
0
0
0
0
0
0
6
74
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-39
58
-19
-58
-77
-42
28
0
-2
0
0
0
0
0
0
0
-39
84
-14
5
85
131
79
-61
28
0
0
0
0
0
0
0
0
41
-120
57
-93
7
-42
-10
19
20
0
0
0
0
0
0
0
0
-45
57
86
84
16
0
-2
-27
3
0
0
0
0
0
0
0
0
-53
-38
-55
-18
0
0
8
26
0
0
0
0
0
0
0
0
0
-111
-31
24
7
24
-6
11
0
0
2
0
0
0
0
0
0
0
-6
-23
14
-49
-13
0
0
-2
0
0
0
0
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
-12
-27
-56
17
38
-44
66
33
0
0
0
0
0
0
0
0
0
103
-106
110
15
33
-15
41
45
1
0
0
0
0
0
0
0
0
47
-21
-36
138
-162
-80
35
18
-6
0
0
0
0
0
0
0
0
-12
8
-14
-58
-2
-5
-2
1
-6
0
0
0
0
0
0
0
0
8
-8
17
-37
15
1
-5
0
2
0
0
0
0
0
0
0
0
39
-2
125
38
21
11
5
15
0
1
0
0
0
0
0
0
0
28
89
116
4
38
15
0
3
-27
0
0
0
0
0
0
0
0
16
-6
54
-28
0
-1
0
0
0
0
0
0
0
0
0
0
0
112
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-23
-131
-2
49
37
8
84
0
-6
0
0
0
0
0
0
0
113
-5
35
-150
-30
-57
-82
44
44
0
7
0
0
0
0
0
0
-129
-56
89
46
-82
-15
31
40
0
24
0
0
0
0
0
0
0
-7
104
-35
-62
-49
-14
2
0
-3
5
0
0
0
0
0
0
0
46
-34
-35
80
-57
21
-9
-1
0
21
0
0
0
0
0
0
0
11
35
-34
22
-29
-34
46
12
-18
0
0
0
0
0
0
0
0
8
-26
27
9
-11
31
-9
-7
3
0
0
0
0
0
0
0
0
14
-14
67
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
118
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
86
-61
26
44
-9
26
-9
0
20
0
0
0
0
0
0
0
33
10
-12
-24
-42
15
9
-9
27
3
-8
0
0
0
0
0
0
-69
-14
-101
-7
-54
-161
116
-121
-51
-3
0
0
0
0
0
0
0
-59
-8
-34
-61
-78
-40
8
-27
5
0
0
0
0
0
0
0
0
38
-8
-26
11
3
66
44
0
-2
0
0
0
0
0
0
0
0
70
66
-17
55
15
-75
-5
33
0
7
0
0
0
0
0
0
0
-39
-22
48
9
14
6
24
-20
10
0
0
0
0
0
0
0
0
105
92
74
97
15
7
0
-1
15
0
0
0
0
0
0
0
0
-78
-12
157
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
16
23
34
-18
47
-14
0
34
-2
0
0
0
0
0
0
0
100
-66
-4
26
5
24
32
-18
84
-3
0
0
0
0
0
0
0
-59
8
29
-13
8
-90
26
33
18
0
0
0
0
0
0
0
0
-5
17
-21
-70
88
5
-34
-48
11
0
0
0
0
0
0
0
0
124
-31
16
120
38
41
55
-4
0
0
0
0
0
0
0
0
0
1
-28
-54
-61
-24
-17
-6
59
11
0
0
0
0
0
0
0
0
54
28
94
32
-17
18
2
51
-25
0
0
0
0
0
0
0
0
-89
42
-69
-36
0
-4
9
0
0
0
0
0
0
0
0
0
0
8
14
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
23
-34
38
76
4
0
5
-3
0
0
0
0
0
0
0
0
-24
33
-25
-32
48
-34
47
-41
-3
1
0
0
0
0
0
0
0
43
39
60
6
69
107
14
6
0
0
0
0
0
0
0
0
0
70
-17
-67
-6
-87
43
35
2
0
0
0
0
0
0
0
0
0
129
-12
18
32
33
-3
-4
0
0
0
0
0
0
0
0
0
0
-54
-20
89
12
79
51
0
3
1
0
0
0
0
0
0
0
0
-42
74
-46
-3
0
1
5
0
0
0
0
0
0
0
0
0
0
12
-25
-21
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
10
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
4
-45
-19
-50
0
4
4
-9
0
0
0
0
0
0
0
0
18
-75
137
10
-8
-5
5
6
0
0
0
0
0
0
0
0
0
24
100
78
-124
43
-63
-47
0
0
0
0
0
0
0
0
0
0
-30
-52
-56
3
52
-23
-4
0
0
0
0
0
0
0
0
0
0
14
2
2
4
-35
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
15
-2
0
14
0
-1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
2
23
-14
5
-23
2
1
0
0
0
0
0
0
0
0
0
0
-18
1
-20
24
5
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
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
-5
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-32
7
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
-7
6
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-33
-33
22
-7
-22
1
-5
11
0
0
0
0
0
0
0
0
0
0
23
-26
-7
-50
15
-11
0
0
0
0
0
0
0
0
0
0
11
0
19
-32
-16
-6
-10
1
0
0
0
0
0
0
0
0
0
0
0
7
-16
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-18
18
0
-4
-2
0
0
0
0
0
0
0
0
-2
2
-12
0
-4
-11
0
-1
0
0
0
0
0
0
0
0
0
10
12
0
1
0
0
11
2
0
0
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-4
-32
0
0
0
19
0
0
0
0
0
0
0
0
0
0
14
3
-49
17
0
-27
0
-18
0
0
0
0
0
0
0
0
0
-34
-23
119
-6
19
50
6
0
0
0
0
0
0
0
0
0
-11
0
0
0
-37
-19
0
2
-40
0
0
0
0
0
0
0
0
-3
0
0
0
12
0
11
0
0
0
0
0
0
0
0
0
0
1
0
1
0
27
-15
12
0
0
0
0
0
0
0
0
0
0
0
-13
4
6
0
-17
0
2
-11
0
0
0
0
0
0
0
0
10
15
-8
-6
-1
0
4
21
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
-42
-29
12
-14
24
0
0
0
0
0
0
0
0
0
0
0
1
3
-67
-103
-33
1
21
17
-1
0
0
0
0
0
0
0
0
6
1
-6
-23
19
5
-37
-9
23
0
0
0
0
0
0
0
0
-52
74
1
-13
0
-8
9
-4
5
0
0
0
0
0
0
0
0
-9
-27
0
0
0
-1
-9
0
22
0
0
0
0
0
0
0
0
-55
-50
0
0
2
-3
11
19
0
0
0
0
0
0
0
0
0
98
8
-50
8
43
0
-48
-3
-1
0
0
0
0
0
0
0
0
-8
14
-6
17
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
94
-2
25
28
-9
-2
14
0
0
0
0
0
0
0
0
0
1
6
-29
79
46
11
51
-35
0
0
0
0
0
0
0
0
0
8
60
-73
44
-84
56
-3
51
3
0
0
0
0
0
0
0
0
-11
-48
-19
5
13
-6
-52
-16
-19
0
0
0
0
0
0
0
0
0
-55
-56
2
0
0
7
0
16
0
0
0
0
0
0
0
0
-12
49
-21
0
-1
0
107
-8
-1
0
0
0
0
0
0
0
0
55
28
-9
57
-25
-4
0
-2
0
0
0
0
0
0
0
0
0
-1
-16
-6
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
-5
-65
34
26
36
65
42
44
0
0
0
0
0
0
0
0
0
-1
-9
-160
123
-125
11
-95
-50
14
0
0
0
0
0
0
0
0
-2
-66
-43
19
14
116
38
-37
27
0
0
0
0
0
0
0
0
-7
-44
39
13
10
-8
-8
25
-1
0
0
0
0
0
0
0
0
-29
-75
149
-8
0
0
1
-18
-2
0
0
0
0
0
0
0
0
-3
25
110
146
4
1
0
37
2
-20
0
0
0
0
0
0
0
55
-105
73
-13
-5
24
1
0
0
0
0
0
0
0
0
0
0
4
-31
-4
70
4
0
0
2
0
0
0
0
0
0
0
0
0
-85
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
98
30
20
5
17
26
-29
0
0
0
0
0
0
0
0
0
-4
-20
121
87
-26
-47
0
43
5
0
0
0
0
0
0
0
0
-82
38
103
13
20
63
-62
15
1
0
0
0
0
0
0
0
0
16
-45
43
-231
30
-7
-1
-1
0
-5
0
0
0
0
0
0
0
-8
-67
96
14
-62
3
0
0
-10
0
0
0
0
0
0
0
0
-54
-23
69
-23
-13
3
0
0
-40
-5
0
0
0
0
0
0
0
-19
44
48
-22
-5
6
-1
-29
0
0
0
0
0
0
0
0
0
-9
-79
-1
0
-5
-9
-2
0
-3
0
0
0
0
0
0
0
0
38
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-13
8
55
-14
49
62
-12
0
-5
0
0
0
0
0
0
0
61
5
40
-12
4
147
-58
41
34
1
0
0
0
0
0
0
0
-77
-135
2
-92
64
-24
-13
11
35
-17
0
0
0
0
0
0
0
-4
-78
118
-106
94
119
-1
2
0
-9
0
0
0
0
0
0
0
7
76
12
54
11
21
0
0
0
0
0
0
0
0
0
0
0
28
114
81
43
-88
-51
9
0
0
-5
0
0
0
0
0
0
0
-74
-58
-88
-34
-21
127
-9
45
-14
0
0
0
0
0
0
0
0
45
-24
48
69
14
-40
0
34
1
0
0
0
0
0
0
0
0
119
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-4
69
71
32
119
-69
109
0
-3
0
0
0
0
0
0
0
173
140
-105
-30
25
123
66
-24
-112
-6
-7
0
0
0
0
0
0
-14
69
44
70
11
-4
100
13
-11
3
0
0
0
0
0
0
0
69
28
35
-40
38
63
-44
-70
-4
0
0
0
0
0
0
0
0
11
-148
7
-95
81
-41
-14
-2
0
0
0
0
0
0
0
0
0
139
60
-67
14
-94
81
64
-2
0
0
0
0
0
0
0
0
0
-2
-6
-102
-120
0
117
46
68
1
0
0
0
0
0
0
0
0
-86
-80
-123
-22
0
-4
11
0
-6
10
0
0
0
0
0
0
0
-13
-21
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
161
100
-41
76
111
44
-65
0
16
-21
0
0
0
0
0
0
0
-41
-1
2
-8
-28
81
119
66
14
-3
0
0
0
0
0
0
0
3
-14
40
71
19
-13
-123
-45
-25
2
0
0
0
0
0
0
0
3
-57
-35
37
1
-26
-50
-37
-3
0
0
0
0
0
0
0
0
17
47
-49
27
5
-118
-1
4
0
0
0
0
0
0
0
0
0
79
80
3
9
22
-59
-64
0
0
0
0
0
0
0
0
0
0
100
-108
-68
101
-105
146
-47
50
4
0
0
0
0
0
0
0
0
-108
-67
27
-65
-21
3
2
5
-1
0
0
0
0
0
0
0
0
-8
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-36
-60
7
10
136
0
22
-18
-19
0
0
0
0
0
0
0
54
-33
-22
-42
4
-80
15
2
3
0
0
0
0
0
0
0
0
84
59
21
142
48
23
-19
1
-3
2
0
0
0
0
0
0
0
-46
96
54
-17
-10
-31
-21
0
0
0
0
0
0
0
0
0
0
-14
52
-128
20
-17
69
-3
0
0
0
0
0
0
0
0
0
0
44
-19
-120
-62
17
8
-5
0
0
0
0
0
0
0
0
0
0
-95
-4
-10
-11
-5
-8
0
35
0
0
0
0
0
0
0
0
0
101
19
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-2
-25
8
-8
0
-5
10
0
0
0
0
0
0
0
0
0
3
12
-48
-38
-13
6
-2
0
0
0
0
0
0
0
0
0
0
-3
-15
26
-20
6
-38
2
0
0
0
0
0
0
0
0
0
0
-5
11
13
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
6
8
5
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
-6
3
12
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
-4
0
0
0
0
0
0
0
0
0
0
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
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
17
-10
3
-3
7
0
0
0
0
0
0
0
0
0
0
27
-11
0
-10
-1
-2
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
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
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
-10
-3
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-9
-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
-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
-1
0
0
0
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-11
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
0
0
0
0
-5
0
-9
3
0
0
16
0
0
0
0
0
0
0
0
0
6
5
1
12
0
-11
6
-37
0
0
0
0
0
0
0
0
0
-3
-6
-13
1
-96
56
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-49
-19
-2
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
0
8
-1
16
0
0
0
0
0
0
0
0
0
0
0
11
7
-5
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
29
1
0
0
6
0
0
0
0
0
0
0
0
0
0
5
-11
-11
11
1
23
31
2
0
0
0
0
0
0
0
0
0
81
-5
9
-1
-50
15
-5
10
0
0
0
0
0
0
0
0
0
5
3
0
-19
9
-27
2
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
-3
0
0
0
10
-3
-7
-3
0
0
0
0
0
0
0
0
0
-2
14
-7
21
0
3
-20
-18
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
-2
-24
31
6
7
14
-14
0
0
0
0
0
0
0
0
0
0
11
21
68
-61
84
54
9
-2
9
0
0
0
0
0
0
0
0
-3
-15
-72
-5
44
-4
-8
29
0
0
0
0
0
0
0
0
0
15
1
32
8
7
0
28
0
3
0
0
0
0
0
0
0
0
1
23
0
-10
0
41
-3
13
4
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
91
41
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
-5
-1
16
-1
0
0
-11
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
0
1
-1
-20
-50
-15
-64
1
0
0
0
0
0
0
0
0
0
1
40
-57
-31
-50
-105
-19
8
1
-1
0
0
0
0
0
0
0
-26
39
97
12
12
-39
-21
4
-5
0
0
0
0
0
0
0
0
3
-115
-30
-49
-96
60
10
25
1
0
0
0
0
0
0
0
0
-3
-59
97
-9
-1
4
-39
-2
-9
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
0
-49
64
0
6
0
-6
0
0
0
0
0
0
0
0
0
0
27
61
0
-51
0
3
0
7
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
0
-99
6
-26
-8
11
-81
-44
0
0
0
0
0
0
0
0
0
0
-66
-90
2
-77
-16
148
-12
-10
0
0
0
0
0
0
0
0
10
124
-15
10
-45
32
27
-55
7
0
0
0
0
0
0
0
0
5
-111
4
-39
81
79
-38
-12
-7
0
0
0
0
0
0
0
0
4
110
18
-51
-33
0
0
143
9
0
0
0
0
0
0
0
0
57
-6
2
57
5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-35
43
-24
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
-32
-14
2
0
20
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
65
62
5
44
-14
36
31
-94
0
0
0
0
0
0
0
0
0
63
-104
24
-38
-89
-32
-1
85
59
0
0
0
0
0
0
0
0
-27
3
12
-66
101
-14
-2
-73
-5
0
0
0
0
0
0
0
0
91
-16
-31
18
121
17
124
8
0
0
0
0
0
0
0
0
0
40
-13
23
71
47
2
0
0
1
0
0
0
0
0
0
0
0
16
41
-58
56
-35
-1
0
0
9
0
0
0
0
0
0
0
0
13
8
204
53
-37
1
0
0
12
-4
0
0
0
0
0
0
0
126
-52
18
-32
-13
-13
-4
-18
0
0
0
0
0
0
0
0
0
64
9
-11
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-33
-6
9
33
142
120
78
4
0
0
0
0
0
0
0
0
0
-21
-95
-27
-46
-233
-73
12
62
-42
7
0
0
0
0
0
0
0
-2
6
-160
57
45
49
-17
66
-97
28
0
0
0
0
0
0
0
-2
95
51
0
-2
46
74
-96
-3
-1
0
0
0
0
0
0
0
67
25
34
39
127
-110
19
-14
-2
-4
0
0
0
0
0
0
0
155
20
-32
-84
27
41
-1
0
0
0
0
0
0
0
0
0
0
22
8
-28
6
8
-4
-10
0
0
0
0
0
0
0
0
0
0
13
-95
-1
24
-2
6
-4
1
0
0
0
0
0
0
0
0
0
66
-47
33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-57
-170
-15
132
42
91
65
0
-8
0
0
0
0
0
0
0
47
7
131
-49
62
62
2
-48
30
28
1
0
0
0
0
0
0
70
12
-31
-60
-33
22
48
54
-14
-29
10
0
0
0
0
0
0
92
30
-29
55
-24
12
35
169
-1
-13
0
0
0
0
0
0
0
-31
88
95
-36
72
-24
-26
8
-2
0
0
0
0
0
0
0
0
-90
-81
28
59
46
-22
-54
0
0
0
0
0
0
0
0
0
0
26
-13
-6
134
-130
48
22
0
0
0
0
0
0
0
0
0
0
24
-87
59
-2
-25
-37
-6
-26
4
0
0
0
0
0
0
0
0
-66
-3
-114
33
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
110
-60
-17
29
-99
-45
24
0
-5
-4
0
0
0
0
0
0
0
-9
-32
20
50
-69
30
28
58
-23
3
0
0
0
0
0
0
0
183
-62
33
-4
41
6
0
27
-31
-5
0
0
0
0
0
0
0
-4
9
57
36
49
-61
59
58
-24
0
0
0
0
0
0
0
0
3
29
-58
-28
-74
-28
-11
5
0
0
0
0
0
0
0
0
0
-40
-85
-14
-18
-74
-5
96
5
0
0
0
0
0
0
0
0
0
43
-88
-106
0
-50
103
17
2
0
0
0
0
0
0
0
0
0
-58
-26
-58
34
12
25
9
-7
0
0
0
0
0
0
0
0
0
65
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-1
36
20
-16
0
8
0
0
0
0
0
0
0
0
0
13
62
22
-97
31
21
-15
9
-2
0
0
0
0
0
0
0
0
62
70
-60
10
28
122
12
-48
0
0
0
0
0
0
0
0
0
-34
-26
10
-20
59
28
-20
15
-2
0
0
0
0
0
0
0
0
61
178
24
-90
-53
42
11
0
0
0
0
0
0
0
0
0
0
23
1
23
64
-12
-1
-13
0
0
0
0
0
0
0
0
0
0
-112
-31
-19
-5
10
2
-1
0
0
0
0
0
0
0
0
0
0
45
-1
1
-7
6
0
0
0
0
0
0
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
8
-48
5
-79
0
0
0
0
0
0
0
0
0
0
0
0
-66
-23
-44
39
0
38
1
13
0
0
0
0
0
0
0
0
0
32
-24
-3
-34
-46
-5
5
0
0
0
0
0
0
0
0
0
0
1
2
-19
-9
2
10
1
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
7
-11
-16
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-1
3
3
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
0
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
2
-12
0
6
0
-18
0
0
0
0
0
0
0
0
0
0
0
-3
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-10
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
-13
-2
1
-10
1
0
0
0
0
0
0
0
0
0
-28
2
-92
-31
13
9
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
10
0
-5
0
2
0
0
0
0
0
0
0
0
0
4
0
7
0
-45
-5
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-80
38
12
14
-1
0
0
0
0
0
0
0
0
0
0
0
12
-19
0
-5
7
1
0
0
0
0
0
0
0
0
0
-2
-15
4
-22
-26
1
-7
1
-2
0
0
0
0
0
0
0
0
-13
2
22
81
-14
5
1
8
-10
0
0
0
0
0
0
0
0
0
56
0
0
0
5
1
-8
0
0
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
3
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
13
0
-20
-9
1
15
0
0
0
0
0
0
0
0
0
0
0
83
59
-11
23
-1
4
16
10
0
0
0
0
0
0
0
0
0
-10
25
-21
-25
21
11
-16
0
0
0
0
0
0
0
0
0
-5
10
-3
-42
-28
16
-28
4
-1
0
0
0
0
0
0
0
0
0
-21
40
-26
84
50
-24
0
-18
0
0
0
0
0
0
0
0
0
-53
-4
12
0
0
-2
2
-6
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
22
115
21
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
107
1
13
20
-8
-19
25
0
0
0
0
0
0
0
0
0
-6
-53
72
18
20
8
69
4
0
0
0
0
0
0
0
0
0
5
-1
54
9
-64
-62
32
-34
-6
0
0
0
0
0
0
0
0
0
11
-1
119
119
-50
1
-67
6
2
0
0
0
0
0
0
0
0
65
-33
-7
54
-3
-6
-8
3
0
0
0
0
0
0
0
0
2
-112
-6
46
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
15
83
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
-58
2
100
0
0
0
-9
0
0
0
0
0
0
0
0
0
-29
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-29
-37
41
-4
-7
-50
-17
0
0
0
0
0
0
0
0
0
-2
37
93
-83
-12
-93
-4
-54
-4
0
0
0
0
0
0
0
0
-23
-97
-109
-78
-40
73
-27
-9
-24
0
0
0
0
0
0
0
0
-1
-47
129
66
90
-81
61
-13
2
-11
0
0
0
0
0
0
0
34
142
91
22
26
5
7
-6
2
0
0
0
0
0
0
0
0
21
-43
123
-39
-96
0
0
8
0
0
0
0
0
0
0
0
0
-31
65
-59
-152
-17
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-110
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
59
-1
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
57
9
97
-66
24
83
19
68
0
11
0
0
0
0
0
0
0
60
-34
-24
-114
-26
-5
9
-28
24
0
0
0
0
0
0
0
0
-75
15
38
-47
39
-34
-26
61
-20
-4
0
0
0
0
0
0
0
128
102
110
11
37
187
108
29
-33
0
0
0
0
0
0
0
0
-62
-145
-33
-22
177
-61
56
-2
-9
0
0
0
0
0
0
0
0
57
71
73
-68
-26
-63
2
0
0
-2
0
0
0
0
0
0
0
-14
57
-60
37
-22
-20
0
0
0
0
0
0
0
0
0
0
0
27
-26
-7
32
41
16
0
0
0
0
0
0
0
0
0
0
0
79
-69
-19
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
121
-9
7
-72
-104
-29
-60
27
0
15
0
0
0
0
0
0
0
20
72
12
-2
32
-12
6
2
-21
1
0
0
0
0
0
0
0
131
-127
32
-33
43
56
184
8
65
2
0
0
0
0
0
0
0
-43
63
38
-13
33
71
-94
14
67
38
0
0
0
0
0
0
0
-12
-31
60
27
80
80
43
185
-15
26
0
0
0
0
0
0
0
-51
-68
-1
43
-47
-12
24
0
-3
0
0
0
0
0
0
0
0
-51
-38
-25
-2
78
34
10
0
0
0
0
0
0
0
0
0
0
-109
-32
37
-48
17
44
-14
0
0
0
0
0
0
0
0
0
0
-109
-21
175
-35
0
-23
0
4
0
0
0
0
0
0
0
0
0
0
36
85
138
52
-45
-33
29
0
-6
12
0
0
0
0
0
0
0
64
53
-67
37
69
-35
1
60
-143
5
0
0
0
0
0
0
0
-1
33
84
-67
18
-77
80
138
-1
9
0
0
0
0
0
0
0
-10
14
-50
141
-3
64
122
2
-31
0
0
0
0
0
0
0
0
54
4
22
-40
-76
37
-41
68
3
-1
0
0
0
0
0
0
0
-17
34
88
-61
-46
-10
-68
4
0
0
0
0
0
0
0
0
0
-12
-87
-59
137
-16
19
-40
0
0
0
0
0
0
0
0
0
0
-123
-63
-13
31
-51
-42
18
0
0
0
0
0
0
0
0
0
0
45
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
19
-3
58
39
-28
0
-8
0
0
0
0
0
0
0
0
0
1
-169
75
103
37
47
20
-5
0
0
0
0
0
0
0
0
0
115
92
-31
30
-48
44
11
-55
1
0
0
0
0
0
0
0
0
40
28
48
-33
-11
-45
6
20
3
0
0
0
0
0
0
0
0
23
-33
-58
18
103
-20
2
4
0
0
0
0
0
0
0
0
0
84
17
48
-79
-22
3
2
0
0
0
0
0
0
0
0
0
0
34
36
-17
27
-2
22
-2
0
0
0
0
0
0
0
0
0
0
130
19
-59
1
0
5
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
-9
4
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
18
12
42
-23
-14
17
-32
0
0
0
0
0
0
0
0
0
0
-109
28
-4
16
28
3
3
0
0
0
0
0
0
0
0
0
0
1
0
-18
21
10
0
1
0
0
0
0
0
0
0
0
0
0
-2
-29
0
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
7
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
-1
-5
-7
3
0
0
0
0
0
0
0
0
0
0
23
2
1
12
-12
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
2
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
9
0
0
3
7
0
0
0
0
0
0
0
0
0
0
0
-10
0
-3
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
4
-1
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
-4
2
-6
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
-40
-5
1
-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
-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
1
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
12
8
-13
13
4
2
0
0
0
0
0
0
0
0
0
0
0
4
-9
-34
-10
-6
1
0
0
0
0
0
0
0
0
0
0
2
0
15
-1
7
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
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
-4
0
7
-7
-3
-5
0
0
0
0
0
0
0
0
0
0
0
3
-1
87
39
0
16
-6
0
0
0
0
0
0
0
0
0
-1
1
-1
-45
2
-1
12
2
-2
0
0
0
0
0
0
0
0
0
5
0
11
-4
-13
3
8
0
0
0
0
0
0
0
0
0
0
1
-12
3
89
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
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
0
0
11
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-3
-6
4
1
1
0
0
0
0
0
0
0
0
0
0
2
63
26
-4
49
28
6
-32
0
0
0
0
0
0
0
0
0
0
-2
40
56
89
24
-72
-10
18
0
0
0
0
0
0
0
0
-2
-20
-42
-32
86
61
-28
10
12
0
0
0
0
0
0
0
0
23
-10
-6
-8
32
27
0
-4
2
0
0
0
0
0
0
0
0
0
-61
-7
-54
55
70
11
-1
0
0
0
0
0
0
0
0
0
16
-7
-51
11
59
0
0
0
11
0
0
0
0
0
0
0
0
-3
33
4
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
26
-20
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
46
-6
0
42
6
-36
1
0
0
0
0
0
0
0
0
0
13
32
53
14
12
14
34
-51
-4
0
0
0
0
0
0
0
0
-13
-10
-2
-74
16
-36
-73
-5
11
-20
0
0
0
0
0
0
0
24
88
5
-21
15
-16
62
38
1
3
0
0
0
0
0
0
0
53
-54
80
-69
-15
-30
60
-20
-17
0
0
0
0
0
0
0
0
4
16
-95
-126
53
-31
-8
25
14
0
0
0
0
0
0
0
0
-1
-68
1
-27
42
32
0
0
0
0
0
0
0
0
0
0
0
-2
6
-26
-37
3
0
0
0
0
0
0
0
0
0
0
0
0
64
-99
52
5
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-86
-41
-66
-27
7
-28
-20
0
0
0
0
0
0
0
0
0
-62
-32
101
-19
0
72
49
14
-46
10
0
0
0
0
0
0
0
-33
-35
27
55
84
108
5
0
19
34
0
0
0
0
0
0
0
89
64
53
-50
25
97
11
81
24
-15
0
0
0
0
0
0
0
-99
-66
91
-11
3
-26
-97
-54
22
0
0
0
0
0
0
0
0
-143
-72
-35
29
-50
-36
71
2
1
2
0
0
0
0
0
0
0
78
33
37
103
-64
42
-14
0
0
0
0
0
0
0
0
0
0
-155
-56
-7
93
45
-18
-6
0
0
0
0
0
0
0
0
0
0
75
-78
-31
62
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
87
-119
-72
-82
48
-10
0
1
0
0
0
0
0
0
0
0
15
52
34
-43
-28
-16
2
43
42
-3
0
0
0
0
0
0
0
8
38
58
-18
14
-2
146
62
65
0
0
0
0
0
0
0
0
24
42
-16
50
142
44
-13
37
8
0
0
0
0
0
0
0
0
98
88
-11
94
122
-95
-60
128
0
0
0
0
0
0
0
0
0
-43
-106
40
-14
23
31
-17
41
0
0
0
0
0
0
0
0
0
-87
-41
-18
45
60
15
22
0
0
0
0
0
0
0
0
0
0
38
27
15
-50
13
-8
-13
0
0
0
0
0
0
0
0
0
0
17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
21
-4
-21
-56
0
-6
0
0
0
0
0
0
0
0
0
18
35
84
3
-21
16
-48
-18
-3
0
0
0
0
0
0
0
0
2
25
40
-13
60
25
70
5
2
0
0
0
0
0
0
0
0
51
8
50
28
10
4
-8
3
0
0
0
0
0
0
0
0
0
12
95
-68
12
35
7
-4
-1
0
0
0
0
0
0
0
0
0
5
0
2
72
7
48
0
0
0
0
0
0
0
0
0
0
0
-111
-15
88
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
47
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-85
27
3
6
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-18
11
-7
-7
-3
2
0
0
0
0
0
0
0
0
0
15
4
9
-4
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
4
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
1
0
1
-4
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-4
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
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
8
-28
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
4
7
1
-20
-1
1
0
0
0
0
0
0
0
0
0
0
0
11
2
6
-12
-6
-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
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
4
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
0
0
0
-7
-5
0
-1
-1
12
0
0
0
0
0
0
0
0
0
0
2
7
3
-6
7
-10
5
-2
0
0
0
0
0
0
0
0
1
0
3
0
-2
51
0
-1
0
0
0
0
0
0
0
0
0
-2
6
11
17
30
13
-5
0
0
0
0
0
0
0
0
0
0
15
97
-27
39
47
-22
0
-1
0
0
0
0
0
0
0
0
0
-4
0
13
-68
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
4
-18
0
0
0
0
0
0
0
0
0
0
0
0
113
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
0
0
-4
0
-10
0
0
0
0
0
0
0
0
0
0
24
-3
-85
-10
23
-52
25
29
3
0
0
0
0
0
0
0
0
93
12
60
-35
-32
104
82
14
20
0
0
0
0
0
0
0
0
-6
17
177
33
72
59
-57
85
9
0
0
0
0
0
0
0
0
119
-20
-12
-21
43
102
-21
28
0
0
0
0
0
0
0
0
0
8
-151
-60
-11
85
-57
19
25
0
0
0
0
0
0
0
0
0
-94
-86
18
4
-22
5
0
0
0
0
0
0
0
0
0
0
0
-32
76
-40
-29
-26
-13
0
0
0
0
0
0
0
0
0
0
0
15
-11
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
5
-5
0
0
1
3
0
0
0
0
0
0
0
0
0
0
-23
12
0
-6
1
19
-9
0
0
0
0
0
0
0
0
0
0
53
-5
2
-1
5
-2
-6
-2
0
0
0
0
0
0
0
0
0
-21
-19
1
69
-54
-47
-11
16
-13
0
0
0
0
0
0
0
0
-26
28
-66
78
0
13
-1
-1
0
0
0
0
0
0
0
0
0
-2
-20
-43
-57
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
42
-39
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
79
-9
-11
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-44
-19
-7
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
-3
1
5
20
-8
19
-4
0
0
0
0
0
0
0
0
0
0
0
3
4
25
11
0
-7
0
0
0
0
0
0
0
0
0
0
-5
2
13
-14
-2
-32
17
4
0
0
0
0
0
0
0
0
0
4
-2
22
8
3
3
0
-1
0
0
0
0
0
0
0
0
0
-5
1
3
5
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
40
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-4
0
0
0
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
97
31
-37
0
0
0
0
0
0
0
0
0
0
0
-13
5
37
4
114
-118
59
-106
0
0
0
0
0
0
0
0
0
0
-13
-15
-23
91
52
76
-176
0
0
0
0
0
0
0
0
0
-7
-8
-83
-5
31
103
-72
80
0
0
0
0
0
0
0
0
0
0
0
0
58
-46
-48
-56
6
0
0
0
0
0
0
0
0
0
0
0
1
-9
20
2
-14
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
-13
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
-34
0
0
0
0
0
0
0
0
0
0
-5
-2
34
-19
85
0
0
0
0
0
0
0
0
0
0
0
0
11
-64
-164
-116
-60
0
0
0
0
0
0
0
0
0
0
0
-3
-102
-12
-57
-48
33
-47
0
14
0
0
0
0
0
0
0
0
9
-20
-29
-11
59
-29
121
27
19
0
0
0
0
0
0
0
0
9
-19
-7
18
-37
-85
3
-4
-128
0
0
0
0
0
0
0
0
-4
11
31
64
-9
-8
-46
-10
-28
0
0
0
0
0
0
0
0
0
-6
-3
12
11
-59
43
-128
-57
0
0
0
0
0
0
0
0
0
0
0
-34
-8
5
59
-85
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
6
0
0
0
0
0
0
0
0
0
0
6
-12
-17
-22
0
0
0
32
0
0
0
0
0
0
0
0
0
3
59
54
42
0
0
0
24
0
0
0
0
0
0
0
-5
-8
-50
21
-24
0
21
-13
-18
46
0
0
0
0
0
0
0
-12
47
25
10
-63
33
-73
-68
14
39
0
0
0
0
0
0
0
0
4
105
84
-17
16
49
61
9
5
0
0
0
0
0
0
0
0
-7
-12
1
13
29
5
7
-70
36
0
0
0
0
0
0
0
0
0
2
-2
-21
58
152
-35
137
-19
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
18
-183
11
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
-80
-62
0
0
0
0
0
0
-13
0
12
12
-10
-113
0
0
0
31
-4
0
0
0
0
0
0
0
19
-35
38
8
96
-32
-25
-86
-29
-18
0
0
0
0
0
0
0
-3
-42
-8
50
35
8
-48
13
-5
24
0
0
0
0
0
0
0
1
0
-3
-51
-4
4
-120
6
-78
-20
0
0
0
0
0
0
0
0
3
39
105
26
80
-110
-54
-63
-5
0
0
0
0
0
0
0
0
1
-12
-135
30
-31
-3
-44
6
-4
0
0
0
0
0
0
0
0
0
0
-1
2
-4
11
32
12
20
0
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
4
0
0
0
-12
-1
0
0
0
0
0
0
0
-8
-1
11
0
49
0
0
0
-74
-17
0
0
0
0
0
0
0
0
-4
-13
-16
-1
82
134
20
-3
19
-1
0
0
0
0
0
0
0
-13
2
80
-34
-95
-48
52
51
-5
0
0
0
0
0
0
3
7
8
-25
-47
16
-51
27
-51
9
-5
-28
0
0
0
0
0
0
-2
5
0
10
63
62
46
-8
-10
-4
7
0
0
0
0
0
0
0
1
1
-44
-39
8
14
-7
4
-31
0
0
0
0
0
0
0
0
0
4
-1
0
2
-2
9
-20
33
0
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
-4
0
0
0
0
0
6
-1
2
0
0
0
0
0
0
0
-23
-9
12
0
0
0
0
40
-4
-1
-1
0
0
0
0
3
-2
11
-56
-49
-100
-16
-84
-127
21
-4
13
0
0
0
0
0
0
0
8
24
33
29
29
62
4
-13
7
-6
0
0
0
0
0
0
-15
-2
1
19
29
34
-73
-11
-31
44
-5
0
0
0
0
0
0
0
0
-3
10
-32
18
-17
71
31
-3
1
0
0
0
0
0
0
0
0
-4
-2
13
-23
-60
-16
-47
4
8
0
0
0
0
0
0
0
0
0
0
-3
14
6
2
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
11
17
0
0
0
0
0
0
0
0
8
-52
2
0
0
0
0
-14
45
-18
11
0
0
0
0
0
1
-2
-27
-58
-37
-55
93
31
29
-16
9
-9
0
0
0
0
0
0
0
-14
-2
-28
105
12
-69
59
-12
-5
-7
0
0
0
0
0
0
-6
0
9
56
-20
-30
-19
-52
35
6
0
0
0
0
0
0
0
0
-3
-12
-3
-129
12
-78
13
-2
-2
0
0
0
0
0
0
0
0
-4
-6
0
-3
16
7
43
-17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-24
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
1
7
0
0
0
0
0
0
0
0
12
0
5
6
0
0
0
-58
14
2
-5
0
0
0
0
0
0
-1
0
-5
-17
5
-103
18
-52
-15
1
4
0
0
0
0
0
0
0
4
0
20
81
147
64
-72
3
15
-1
6
0
0
0
0
0
0
0
2
34
-33
-21
28
-2
32
0
-11
-3
0
0
0
0
0
0
0
0
-11
4
37
-37
3
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-7
-7
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
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
92
-21
-23
42
0
0
0
0
0
0
0
0
0
0
0
-54
-22
-12
73
-2
-126
0
0
0
0
0
0
0
0
0
0
0
6
142
30
17
44
-61
66
-34
0
0
0
0
0
0
0
0
0
3
20
16
-39
83
-12
61
61
0
0
0
0
0
0
0
0
0
11
4
-22
36
4
-30
111
129
0
0
0
0
0
0
0
0
0
-2
15
-51
59
-17
-148
-13
42
0
0
0
0
0
0
0
0
0
0
0
-28
-1
44
-56
-28
-61
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
1
-12
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
4
0
-111
17
48
-136
0
0
0
0
0
0
0
0
0
0
0
-4
-93
8
28
87
-127
0
0
0
0
0
0
0
0
0
0
0
-32
-60
47
72
12
-46
84
44
29
0
0
0
0
0
0
0
0
50
44
37
23
44
-21
-84
-41
-55
0
0
0
0
0
0
0
0
-16
-91
69
15
15
62
40
14
56
0
0
0
0
0
0
0
0
3
-24
-9
-56
15
66
-72
67
30
0
0
0
0
0
0
0
0
0
0
7
-65
82
-3
26
-130
55
0
0
0
0
0
0
0
0
0
0
0
152
-49
5
-11
-90
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
-6
0
0
0
0
0
0
0
0
0
1
-3
14
-4
71
0
0
0
9
0
0
0
0
0
0
0
-3
-30
-31
-77
65
147
0
0
0
99
0
0
0
0
0
0
0
0
-58
18
34
-136
-96
10
32
-12
28
0
0
0
0
0
0
0
14
142
-112
1
60
140
43
20
32
35
0
0
0
0
0
0
0
-3
-5
29
-29
-18
96
-26
67
12
-22
0
0
0
0
0
0
0
-16
0
24
21
-31
29
-58
-14
4
-78
0
0
0
0
0
0
0
0
0
0
-53
50
26
8
126
-82
38
0
0
0
0
0
0
0
0
0
0
2
-10
61
-48
9
68
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
-1
0
0
0
-96
12
0
0
0
8
-54
0
0
0
0
0
0
0
24
100
-123
44
-133
0
0
0
19
-33
0
0
0
0
0
0
-4
49
1
55
-69
-41
-16
-18
-40
115
-32
0
0
0
0
0
0
0
-54
-10
-101
-70
-29
138
-31
99
-30
-13
0
0
0
0
0
0
0
-8
-53
76
37
3
-10
-106
0
-8
-26
0
0
0
0
0
0
0
15
22
0
-16
98
2
-65
-87
110
-49
0
0
0
0
0
0
0
0
0
-5
54
-24
-24
50
74
-53
-4
0
0
0
0
0
0
0
0
0
10
-2
-1
19
14
-82
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
10
9
0
0
0
0
0
0
3
11
0
0
0
36
0
0
0
98
-26
5
0
0
0
0
0
0
-5
-34
10
-37
87
0
0
0
23
-4
2
0
0
0
0
0
-3
-4
0
-51
-6
-105
-149
-23
-23
36
-31
10
0
0
0
0
0
0
10
6
-13
70
12
9
-158
-20
-42
12
-2
0
0
0
0
0
0
-9
0
-53
-21
-10
78
0
0
-52
-20
10
0
0
0
0
0
0
0
-1
-21
32
54
122
186
-134
-36
2
-1
0
0
0
0
0
0
0
0
17
16
-66
-21
66
24
43
17
0
0
0
0
0
0
0
0
0
-4
-1
-3
12
54
-93
7
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-38
57
0
0
-10
0
0
0
41
2
-6
-2
0
0
0
0
0
-24
-121
12
-7
-68
0
0
0
-84
-46
-72
4
0
0
0
0
0
-14
-116
41
-63
-7
-36
20
2
81
35
-1
1
0
0
0
0
0
3
29
53
-153
-13
-22
-64
42
-56
-9
3
-6
0
0
0
0
0
0
6
-5
33
55
15
124
-20
105
-34
-22
-12
0
0
0
0
0
0
9
-6
15
-24
24
-99
-11
-156
50
-6
0
0
0
0
0
0
0
0
11
38
59
10
-75
-20
23
14
7
1
0
0
0
0
0
0
0
0
-2
0
-7
-23
-15
-25
21
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
1
-11
-76
0
0
0
0
0
74
-20
-3
4
0
0
0
0
0
-10
-6
-14
-75
31
0
0
0
60
-62
-1
-12
0
0
0
0
0
1
62
115
2
59
104
11
-24
42
84
5
3
0
0
0
0
0
0
-19
-11
-19
28
60
-44
-8
17
-33
-9
3
-1
0
0
0
0
0
2
-12
47
48
-22
11
33
-47
117
11
16
1
0
0
0
0
0
0
12
16
135
-36
79
-12
-21
-13
0
1
0
0
0
0
0
0
0
0
-33
-33
-14
29
27
-74
-11
0
0
0
0
0
0
0
0
0
0
9
0
1
3
-64
-2
-8
-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
20
1
15
0
0
0
0
-10
17
-11
-14
0
0
0
0
0
-7
-1
-11
14
35
0
0
0
10
-56
0
22
-1
0
0
0
0
0
-12
-5
-9
1
-9
15
3
-22
-16
27
6
0
0
0
0
0
0
0
-26
-16
-67
-47
-150
4
82
-21
-28
7
-1
0
0
0
0
0
0
-3
6
53
17
-67
-33
5
21
13
-12
9
-1
0
0
0
0
0
-10
-17
6
1
56
33
-7
6
-9
2
0
0
0
0
0
0
0
0
0
-6
0
-4
-20
-4
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
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
-1
0
0
9
0
0
0
4
-1
0
1
0
0
0
0
0
0
1
1
1
13
0
0
0
-1
-13
6
0
0
0
0
0
0
0
4
0
24
0
-1
-14
-23
6
42
2
3
0
0
0
0
0
0
0
5
3
64
28
-39
-31
-16
-4
13
11
0
0
0
0
0
0
0
-5
0
-6
-60
-5
-27
14
19
-7
10
-2
0
0
0
0
0
0
0
-5
2
-20
-15
32
-5
2
-17
-6
3
0
0
0
0
0
0
0
0
0
-1
-3
4
-21
2
-19
5
0
0
0
0
0
0
0
0
0
0
-3
-1
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
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
17
0
0
0
1
-5
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
-2
3
0
0
0
0
0
0
0
0
-4
13
-19
28
3
-2
7
0
-1
0
0
0
0
0
0
0
0
0
0
1
4
3
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
-8
-8
0
-1
0
-2
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
-1
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-2
-1
8
0
0
0
0
0
0
0
0
0
0
2
2
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
3
6
-12
8
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
108
113
-7
0
0
0
0
0
0
0
0
0
0
0
75
-51
-26
63
0
51
0
0
0
0
0
0
0
0
0
0
0
19
61
-10
126
-96
-71
-78
-217
0
0
0
0
0
0
0
0
0
1
12
-82
15
26
61
130
42
0
0
0
0
0
0
0
0
0
-17
8
-7
18
12
110
42
70
0
0
0
0
0
0
0
0
0
0
0
27
9
-115
5
68
72
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-5
5
69
0
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
-1
-21
33
0
0
0
0
0
0
0
0
0
-16
-51
69
-23
-19
-36
0
0
0
0
0
0
0
0
0
0
1
-43
-18
60
0
-112
-61
0
0
0
0
0
0
0
0
0
0
0
-1
119
92
-11
-39
-11
-99
-117
-7
0
0
0
0
0
0
0
0
0
33
108
-59
71
-20
-30
16
-2
0
0
0
0
0
0
0
0
-2
32
-5
31
77
40
31
82
23
0
0
0
0
0
0
0
0
13
-7
111
-10
82
-34
13
2
-26
0
0
0
0
0
0
0
0
0
0
0
34
7
37
8
-91
-44
0
0
0
0
0
0
0
0
0
-2
11
-13
-16
0
-2
-98
54
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
4
32
48
-36
30
-21
0
0
0
2
0
0
0
0
0
0
0
-13
-30
5
-101
-72
91
0
0
0
-24
0
0
0
0
0
0
0
0
7
-34
-13
2
57
86
-146
-51
-24
0
0
0
0
0
0
0
0
9
-4
12
75
43
-90
50
-26
16
0
0
0
0
0
0
0
5
-23
-19
57
-141
-30
-6
33
-8
-81
0
0
0
0
0
0
0
0
20
13
48
-53
-54
-34
-156
-15
62
0
0
0
0
0
0
0
0
0
0
9
53
19
-21
67
-61
88
0
0
0
0
0
0
0
0
0
-2
-17
1
40
-11
69
-21
50
0
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
-28
126
-4
83
0
0
0
17
9
0
0
0
0
0
0
3
-19
14
55
-15
-136
0
0
0
56
-83
0
0
0
0
0
0
-1
-4
4
-33
-72
37
-67
-15
16
-34
18
0
0
0
0
0
0
0
0
4
-10
-6
-24
-12
-9
76
-29
6
0
0
0
0
0
0
0
-11
-3
81
-159
16
-94
0
-77
-18
44
0
0
0
0
0
0
0
10
13
52
80
-1
-120
59
-35
88
-8
0
0
0
0
0
0
0
0
0
-17
4
51
9
57
-69
-76
5
0
0
0
0
0
0
0
0
0
4
-15
8
7
-34
-90
-15
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
-6
-7
-87
-8
0
0
0
-17
2
-3
0
0
0
0
0
0
49
34
-10
-55
-143
0
0
0
-37
32
3
0
0
0
0
0
0
11
-1
3
-39
39
-11
50
-6
20
93
15
0
0
0
0
0
1
6
0
-1
20
-4
14
51
-49
-68
58
-10
0
0
0
0
0
0
0
1
-42
-47
-135
-31
60
-60
34
1
-1
0
0
0
0
0
0
0
2
3
-2
32
147
136
29
-33
1
8
0
0
0
0
0
0
0
0
1
0
5
-43
-28
-28
77
6
-1
0
0
0
0
0
0
0
0
0
0
0
4
-35
-20
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
-3
10
1
-8
-6
0
0
0
-35
3
0
0
0
0
0
0
1
-13
-15
16
49
45
0
0
0
-107
-15
6
2
0
0
0
0
8
0
3
22
99
-29
-42
-113
-45
-67
36
-8
0
0
0
0
0
0
4
6
0
-31
80
-33
155
121
42
-48
52
0
0
0
0
0
0
-27
4
6
-57
26
9
32
-29
-20
5
-1
0
0
0
0
0
0
0
0
-12
-2
56
-158
-74
-24
-12
-1
-7
1
0
0
0
0
0
0
0
0
-2
69
-142
-50
-46
16
3
0
0
0
0
0
0
0
0
0
0
0
-6
24
-11
-50
3
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
-5
0
4
3
0
0
0
23
-3
2
0
0
0
0
0
0
7
-10
-20
-25
1
0
0
0
-14
9
0
1
0
0
0
0
8
0
5
31
0
-2
-3
50
62
24
27
4
-3
0
0
0
0
0
13
-33
-22
20
-8
53
-36
0
75
6
-11
12
-2
0
0
0
0
2
0
-26
70
-1
-6
55
15
21
21
3
-4
0
0
0
0
0
4
0
10
-6
11
39
-113
51
9
-1
0
0
0
0
0
0
0
0
0
0
6
15
-2
-31
-37
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
-5
4
7
0
0
0
-41
-3
19
0
0
0
0
0
0
1
-57
-9
-10
12
0
0
0
-5
39
-53
-2
0
1
0
0
0
0
5
28
0
1
-5
-16
-125
-41
21
8
1
2
0
0
0
0
-6
16
-3
-9
1
3
28
-10
63
-41
3
-1
-5
-1
0
0
0
0
-6
-7
-1
-109
58
-105
53
10
-47
0
-1
0
0
0
0
0
0
0
0
121
27
47
50
-63
-8
4
-8
-7
0
0
0
0
0
0
0
0
2
0
-18
57
35
0
-4
-4
0
0
0
0
0
0
0
0
0
3
-7
-15
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
-26
3
-4
0
0
0
0
0
-4
-4
0
0
0
0
0
0
17
-5
15
2
-9
0
0
0
5
-2
-7
2
15
0
0
0
0
-16
4
0
1
7
4
1
-15
-8
-3
0
0
0
0
0
0
0
0
0
15
-21
1
-20
-27
8
-69
6
-1
3
-4
0
0
0
0
0
0
39
-17
109
37
40
-4
-2
-17
0
11
3
0
0
0
0
0
0
0
-2
0
5
53
-83
2
0
-7
0
0
0
0
0
0
0
0
0
-6
11
-14
-24
-78
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
12
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
-17
3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
6
-9
-17
0
0
0
2
0
0
0
0
0
0
0
0
-16
0
-7
6
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
2
37
6
8
0
-3
-3
-1
0
0
0
0
0
0
0
0
-4
-1
0
-42
-1
-7
0
6
-1
0
0
0
0
0
0
0
0
2
-13
-5
13
-18
2
-1
-7
6
0
0
0
0
0
0
0
0
0
0
-12
-2
26
-16
-1
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
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
-1
0
0
0
0
0
0
0
0
0
0
7
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
58
-72
6
-125
59
0
0
0
0
0
0
0
0
0
0
0
-14
21
66
-61
-2
256
0
0
0
0
0
0
0
0
0
0
0
-13
63
-111
25
-23
-31
0
-71
0
0
0
0
0
0
0
0
0
3
36
9
-74
-24
-116
3
92
0
0
0
0
0
0
0
0
0
-1
30
-74
9
50
14
38
49
0
0
0
0
0
0
0
0
0
0
0
-28
-82
-4
-11
62
-18
0
0
0
0
0
0
0
0
0
0
0
0
42
-9
48
-21
79
0
0
0
0
0
0
0
0
0
0
0
6
1
0
3
-20
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
-27
0
0
0
0
0
0
0
0
0
39
-9
-32
35
-16
6
0
0
0
0
0
0
0
0
0
0
0
16
31
-22
-68
-161
26
0
0
0
0
0
0
0
0
0
0
0
3
102
-69
-102
-8
6
-59
-162
-33
0
0
0
0
0
0
0
0
0
41
13
-158
73
40
-56
93
-8
0
0
0
0
0
0
0
0
0
0
-116
57
-19
39
-62
17
87
0
0
0
0
0
0
0
0
0
-34
-26
31
-151
4
49
25
-87
0
0
0
0
0
0
0
0
13
-16
7
12
-5
64
57
88
72
0
0
0
0
0
0
0
0
0
0
0
8
-1
-49
-168
53
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
22
0
0
0
0
0
0
0
0
10
-23
37
-67
-58
49
0
0
0
-9
0
0
0
0
0
0
0
24
104
16
-26
57
-106
0
0
0
44
0
0
0
0
0
0
0
-1
-20
-3
-115
-6
37
-54
33
34
-121
0
0
0
0
0
0
0
0
0
2
23
-126
-1
56
19
-17
-73
0
0
0
0
0
0
0
0
0
-4
78
98
59
25
32
15
-93
0
0
0
0
0
0
0
0
3
-87
-4
-19
-23
-52
109
75
65
0
0
0
0
0
0
0
7
0
7
25
92
50
-5
59
26
-32
0
0
0
0
0
0
0
0
0
-28
20
-25
11
44
-80
-23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
22
-22
-21
-58
-2
-14
0
0
0
-68
9
0
0
0
0
0
0
-1
-28
-53
-44
12
-45
0
0
0
-118
8
0
0
0
0
0
0
0
-2
14
13
27
-37
18
-99
24
-27
-5
0
0
0
0
0
0
0
0
0
-2
-14
67
57
158
-58
48
0
0
0
0
0
0
0
3
0
0
33
130
-14
-37
12
-1
-61
-2
0
0
0
0
0
0
0
4
-13
42
16
32
-27
54
-32
12
11
0
0
0
0
0
0
0
0
1
52
-23
-1
-115
-54
-65
11
9
0
0
0
0
0
0
0
0
0
-8
1
-6
72
-108
15
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
16
53
-7
25
-46
0
0
0
-33
-1
-1
0
0
0
0
0
0
-6
-12
-23
-42
-56
0
0
0
-81
8
0
0
0
0
0
0
0
-82
0
-29
15
5
31
26
-16
36
-6
-6
0
0
0
0
0
0
17
2
0
-6
103
-58
-102
-33
43
-3
1
0
0
0
0
0
10
-2
0
-14
32
73
-66
106
44
29
18
1
0
0
0
0
0
0
0
11
7
54
-14
178
107
-46
-15
-1
0
0
0
0
0
0
0
0
0
12
29
-88
-29
95
-93
-47
6
0
0
0
0
0
0
0
0
0
2
-1
-26
-21
-31
-65
9
-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
59
23
3
65
0
0
0
-31
12
-2
0
0
0
0
0
0
-12
-4
-18
8
-53
0
0
0
-82
74
0
0
0
0
0
0
0
-1
-37
13
-4
0
-30
-18
-2
0
-20
0
1
0
0
0
0
0
-1
-2
19
0
-65
-31
76
-23
-118
0
-7
-1
0
0
0
0
-1
-11
1
7
0
-2
69
-38
38
65
-34
0
0
0
0
0
0
0
1
0
-19
-17
68
-11
-91
63
32
5
0
0
0
0
0
0
0
0
-12
1
4
10
23
-1
91
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
10
23
-34
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
10
0
35
5
11
0
0
0
1
0
0
0
0
0
0
0
0
8
57
-2
-11
19
0
0
0
-16
-4
13
-2
0
0
0
0
0
5
6
-58
0
-6
-5
126
-23
15
49
-2
-2
1
0
0
0
0
0
21
1
2
0
-3
-23
10
9
-11
-5
2
0
0
0
0
1
0
1
49
-6
5
-14
46
-29
20
-18
-3
-4
0
0
0
0
0
0
0
-6
-122
4
-46
17
43
5
1
-1
0
0
0
0
0
0
0
0
0
6
11
60
-33
-13
9
4
0
0
0
0
0
0
0
0
0
0
0
0
29
4
-21
-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
-17
37
0
0
16
0
0
0
0
-6
0
0
0
0
0
0
0
3
-8
12
6
-28
0
0
0
100
5
-7
-9
0
0
0
0
-3
4
-24
3
11
0
7
-7
56
-6
61
1
-4
0
0
0
0
0
-27
-3
4
1
28
-1
4
-48
67
3
8
-16
8
0
0
0
0
0
3
-19
5
-4
0
7
2
12
19
0
-5
-6
0
0
0
0
-7
1
34
2
-39
-18
-74
-21
4
-1
-7
0
0
0
0
0
0
0
0
0
-22
23
-9
56
-18
11
3
0
0
0
0
0
0
0
0
0
0
0
-1
24
-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
-1
19
0
3
0
0
0
5
0
0
0
0
0
0
0
0
10
35
-11
-2
-14
0
0
0
0
8
0
0
-1
0
0
0
0
2
-2
40
-4
0
0
0
0
0
5
-1
-3
2
0
0
0
0
0
-15
-11
9
6
0
0
5
-4
0
0
0
0
0
0
0
-2
0
0
-11
-22
-77
-6
-5
0
-4
-3
0
8
4
0
0
0
0
4
-3
-8
-23
-2
-4
-4
22
6
2
0
0
0
0
0
0
0
0
11
-20
-2
18
-48
-49
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-3
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
9
0
0
0
-48
0
0
0
0
0
0
0
0
0
-1
-13
13
11
-2
0
-15
0
0
0
0
0
0
0
0
0
0
0
10
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
24
-60
-2
-17
0
-1
0
0
-1
0
0
0
0
0
0
0
9
21
24
-20
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-9
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
9
0
0
0
0
2
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
6
-17
43
128
0
0
0
0
0
0
0
0
0
0
-4
72
67
75
-37
9
-82
0
0
0
0
0
0
0
0
0
0
0
81
17
-26
-73
-71
68
49
-106
0
0
0
0
0
0
0
0
0
4
-43
-18
-51
-36
-34
51
70
0
0
0
0
0
0
0
0
0
1
-16
90
55
65
116
55
-88
0
0
0
0
0
0
0
0
0
0
-1
-44
-62
-10
108
-72
34
0
0
0
0
0
0
0
0
0
0
0
2
37
18
-24
39
91
0
0
0
0
0
0
0
0
0
0
-4
0
-3
4
48
-11
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
3
53
0
0
0
0
0
0
0
0
0
-29
42
-8
-23
-3
-168
0
0
0
0
0
0
0
0
0
0
0
-29
41
-59
-1
-114
4
0
0
0
0
0
0
0
0
0
0
0
30
-114
-87
106
109
131
-28
-73
41
0
0
0
0
0
0
0
0
1
0
-12
23
93
52
-18
-50
51
0
0
0
0
0
0
0
0
0
16
-62
-73
108
-4
-55
-67
-86
0
0
0
0
0
0
0
0
0
-9
71
55
0
28
101
76
-5
0
0
0
0
0
0
0
0
-12
15
5
-32
-118
59
-46
-163
124
0
0
0
0
0
0
0
0
0
-2
-23
-53
31
-21
61
35
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
13
-4
-23
0
0
0
0
0
0
0
0
12
4
125
6
39
72
0
0
0
-23
0
0
0
0
0
0
0
-21
-28
59
-2
-43
19
0
0
0
-93
0
0
0
0
0
0
0
-3
18
21
-12
-2
-11
128
18
-74
28
0
0
0
0
0
0
0
0
1
-14
-56
-80
-52
-123
33
-8
24
0
0
0
0
0
0
0
0
0
1
8
37
-26
82
-23
91
-81
0
0
0
0
0
0
0
0
0
1
-35
-5
31
-2
-60
-30
-21
0
0
0
0
0
0
0
32
-11
7
-10
-45
-48
128
101
57
38
0
0
0
0
0
0
0
0
0
0
-10
-6
-25
-32
19
-65
13
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
-30
-16
1
0
0
0
0
0
0
0
2
-11
-2
-20
-112
99
0
0
0
-23
-1
0
0
0
0
0
0
-5
-54
92
22
3
-94
0
0
0
-32
-4
0
0
0
0
0
0
-2
-27
60
-137
101
-39
-83
104
-28
-106
-3
0
0
0
0
0
0
7
0
0
-5
71
26
19
-35
8
83
0
0
0
0
0
0
0
-8
0
0
0
-14
17
-65
-7
51
-33
0
0
0
0
0
0
0
0
0
0
-6
58
-14
-15
6
-74
17
1
0
0
0
0
0
0
0
11
1
-9
21
16
-83
49
17
-11
-3
0
0
0
0
0
0
0
0
0
4
-9
-10
-53
79
67
-11
-18
0
0
0
0
0
0
0
0
0
0
0
13
-3
-15
2
6
0
0
0
0
0
0
0
0
-4
-53
-69
35
81
0
0
0
-12
-12
0
0
0
0
0
0
0
-2
35
50
-119
-33
0
0
0
-83
-22
-2
0
0
0
0
0
0
0
27
-31
-14
-73
-74
-12
-43
9
25
1
0
0
0
0
0
1
16
0
-7
29
34
-9
-48
64
-5
-1
-8
0
0
0
0
0
4
0
0
0
-3
-15
-31
-57
36
24
-6
4
0
0
0
0
0
0
3
0
0
-1
-102
18
-56
90
-24
-2
0
0
0
0
0
0
0
0
-7
-3
-32
-22
52
67
37
21
-2
0
0
0
0
0
0
0
0
0
0
13
-10
-2
-94
-6
12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
-12
5
-29
3
-7
0
0
0
11
5
0
0
0
0
0
0
0
4
2
14
-35
-11
0
0
0
-29
19
0
0
0
0
0
0
9
-7
-25
45
-25
-18
-66
-21
-95
-21
16
0
0
0
0
0
0
7
-1
29
-1
2
-1
-9
52
37
-16
1
6
-3
0
0
0
0
0
0
7
-5
0
2
-63
51
-5
-69
-1
0
0
0
0
0
0
0
0
0
0
0
-3
45
20
54
-9
2
0
0
0
0
0
0
0
0
0
-15
-26
-20
1
-54
39
19
2
0
0
0
0
0
0
0
0
1
0
1
10
-35
0
10
31
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
-26
0
0
0
0
5
0
0
0
0
0
0
0
0
9
-11
32
0
60
0
0
0
-49
0
0
-20
0
0
0
0
0
-3
-63
0
2
20
43
-52
-61
-3
-12
1
0
0
0
0
0
0
-2
72
-1
0
0
5
43
-45
-13
0
3
0
0
0
0
0
0
0
-12
-10
22
0
-17
32
-5
1
-6
2
0
0
0
0
0
0
0
4
-13
0
-5
0
-14
-60
4
-7
0
0
0
0
0
0
0
-1
4
0
52
-9
8
2
42
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-10
9
6
58
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
0
0
0
0
0
0
0
0
0
-9
-5
0
-9
-8
0
0
0
-1
-2
0
0
0
0
0
0
3
-17
-33
1
-6
50
0
0
0
-8
-1
-1
2
-2
0
0
0
0
-7
-130
53
8
0
-37
87
-7
-2
2
3
0
0
0
0
0
0
-1
39
12
-101
1
0
-10
35
-17
1
0
-2
-2
0
0
0
0
0
0
23
-5
0
0
0
-47
3
-1
-5
0
0
0
0
0
0
0
-5
-10
-84
0
-5
-4
-88
-3
19
22
0
0
0
0
0
0
0
0
0
0
-16
-8
10
3
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-9
-16
-36
0
0
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
24
-10
-11
0
-3
0
0
0
25
1
0
0
0
0
0
0
0
-2
11
-14
3
8
-23
-15
80
5
-3
0
0
0
0
0
0
0
-1
-3
95
5
34
0
0
0
5
0
3
0
0
0
0
0
0
0
0
-33
-20
-3
-9
0
0
9
12
-1
-3
0
0
0
0
0
1
0
-9
6
38
1
-2
0
2
7
-1
0
0
0
0
0
0
0
7
0
-11
5
-44
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
18
5
41
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
-3
-15
2
0
0
0
-2
0
0
0
0
0
0
0
0
4
-12
1
3
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
-19
-6
0
5
-2
32
0
0
0
0
0
0
0
0
0
-20
19
0
-4
-14
28
-4
2
0
0
0
2
0
0
0
0
0
0
0
-5
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
21
2
0
0
0
-3
-2
0
0
0
0
0
0
0
0
7
22
1
0
-19
-18
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
27
37
-71
0
0
0
0
0
0
0
0
0
0
5
-101
-23
31
-6
70
-35
0
0
0
0
0
0
0
0
0
0
0
22
33
-89
-55
-36
-51
56
14
0
0
0
0
0
0
0
0
0
-13
-31
-11
21
-79
-58
82
92
0
0
0
0
0
0
0
0
0
0
-27
-12
38
-78
-15
13
-99
0
0
0
0
0
0
0
0
0
0
1
-7
20
42
104
36
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-53
106
-8
12
56
0
0
0
0
0
0
0
0
0
0
1
-23
11
-28
35
133
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
25
-62
0
0
0
0
0
0
0
0
0
12
-50
-42
-91
35
-61
0
0
0
0
0
0
0
0
0
0
0
75
-88
-44
12
-219
96
0
0
0
0
0
0
0
0
0
0
0
5
-123
25
-49
-75
14
-57
-120
48
0
0
0
0
0
0
0
0
8
28
-32
-6
28
-122
3
-5
-168
0
0
0
0
0
0
0
0
0
-1
102
51
36
36
39
11
80
0
0
0
0
0
0
0
0
0
0
25
66
34
-83
53
-91
150
0
0
0
0
0
0
0
0
0
0
-22
-37
-17
-20
-15
-136
-22
0
0
0
0
0
0
0
0
0
2
-3
16
-73
96
-37
43
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
-3
-78
0
0
0
0
0
0
0
0
-24
-4
-17
-61
71
14
0
0
0
-37
0
0
0
0
0
0
0
-31
22
79
143
-36
45
0
0
0
103
0
0
0
0
0
0
0
20
27
-60
-129
-29
7
42
40
36
-4
0
0
0
0
0
0
0
-16
-16
52
46
-96
-71
4
-27
-29
-14
0
0
0
0
0
0
0
0
2
6
131
30
39
-23
-104
-90
25
0
0
0
0
0
0
0
0
0
0
17
-32
27
-63
103
90
-42
0
0
0
0
0
0
0
0
0
1
3
-90
72
-175
-81
94
-15
0
0
0
0
0
0
0
0
1
22
14
-28
63
-16
-101
-76
66
0
0
0
0
0
0
0
0
0
0
-8
0
-33
-72
-26
-23
-5
0
0
0
0
0
0
0
0
-5
-24
50
-31
-20
0
0
0
32
-40
0
0
0
0
0
0
3
-15
-165
17
112
76
0
0
0
69
23
0
0
0
0
0
0
-3
-24
5
-48
-127
-82
-127
-71
-29
-4
-58
0
0
0
0
0
0
-1
-23
-63
-8
66
-164
-33
39
-52
-35
2
0
0
0
0
0
0
-3
0
-7
0
-18
-58
-116
-61
51
-12
-11
0
0
0
0
0
0
0
0
0
0
36
89
33
-74
90
41
2
0
0
0
0
0
0
0
0
0
5
25
89
-5
10
-97
-15
2
0
0
0
0
0
0
0
0
3
-5
-7
92
37
-73
18
-20
-4
0
0
0
0
0
0
0
0
0
0
0
1
-5
-5
20
19
0
0
0
0
0
0
0
0
-6
8
0
13
0
0
0
0
6
0
0
0
0
0
0
0
0
31
-8
11
38
74
0
0
0
-32
-44
0
0
0
0
0
0
4
48
14
-96
116
-106
14
-133
92
51
-3
-12
0
0
0
0
0
5
9
-40
-30
77
-24
-98
0
-72
11
2
0
0
0
0
0
0
-1
4
0
0
4
-62
17
8
61
-23
-13
0
0
0
0
0
0
0
0
0
0
-3
30
8
-119
111
-14
0
-1
0
0
0
0
0
0
1
0
0
4
29
67
-165
7
-22
-10
0
0
0
0
0
0
0
0
0
-2
0
21
-33
-7
174
2
-9
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
20
29
0
-3
0
0
0
-6
1
-1
0
0
0
0
0
0
-9
-67
82
43
26
0
0
0
-33
-4
0
0
0
0
0
0
0
-16
4
-5
-88
73
4
-6
-55
1
-3
-3
0
0
0
0
0
-1
-4
-4
80
-46
-3
26
-16
-45
5
18
-6
-2
0
0
0
0
5
0
-28
0
0
5
40
32
-43
47
7
0
0
0
0
0
0
0
0
0
0
0
6
-70
-9
30
-23
0
-1
0
0
0
0
0
0
0
1
0
0
0
-28
-14
-83
-3
8
0
0
0
0
0
0
0
0
0
5
1
0
1
38
74
-35
0
0
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
-44
1
-1
0
0
0
-3
0
0
0
0
0
0
0
1
-1
14
-49
-23
8
0
0
0
-7
-3
0
0
0
0
0
0
0
0
-16
1
-65
-3
38
-22
-5
-1
0
-1
0
0
0
0
0
0
0
-8
2
74
59
-4
4
22
5
-2
0
0
0
0
0
0
6
-2
-16
33
0
0
-7
-5
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
44
-16
-5
6
0
0
0
0
0
0
0
0
5
0
0
0
25
-93
-13
-1
0
0
0
0
0
0
0
0
7
0
0
0
-50
-2
18
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
0
8
0
0
0
0
0
0
0
0
0
0
3
8
0
0
0
0
-2
-3
0
0
0
0
0
0
0
5
0
-17
10
-1
0
0
0
4
1
0
0
0
0
0
0
0
0
23
-1
-3
-16
13
23
13
0
0
0
0
0
0
0
0
0
0
2
94
8
-104
-13
-65
-4
3
0
-7
0
0
0
0
0
5
-1
-9
-6
-23
0
9
0
-2
4
0
1
5
0
0
0
0
0
0
0
0
-13
0
0
1
10
0
0
0
2
0
0
0
0
0
0
0
-1
6
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
4
-13
-22
0
0
0
4
0
0
0
0
0
0
0
0
16
9
-9
1
-44
29
20
-7
0
0
0
0
0
0
0
0
0
0
0
-33
83
13
69
16
-19
0
0
0
0
0
0
0
0
1
0
-4
-51
48
63
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
69
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
-2
1
0
3
-12
17
-13
0
0
0
0
0
0
0
0
0
0
3
0
-9
4
6
-10
4
-4
0
0
0
0
0
0
0
0
0
7
0
-2
-65
-18
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
0
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
12
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
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-9
-48
-20
0
0
0
0
0
0
0
0
0
0
-8
-78
-3
19
97
24
10
0
0
0
0
0
0
0
0
0
0
0
-10
-65
13
-8
28
5
94
72
0
0
0
0
0
0
0
0
0
-24
-137
-78
-56
-20
-65
-42
-40
0
0
0
0
0
0
0
0
0
1
20
80
116
14
45
-40
-9
0
0
0
0
0
0
0
0
0
0
2
88
12
23
52
-81
-11
0
0
0
0
0
0
0
0
0
0
8
1
-53
24
-31
-58
85
0
0
0
0
0
0
0
0
0
0
-1
-25
-1
16
-50
-12
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
4
0
0
0
0
0
0
0
0
0
-3
49
-239
-29
3
35
0
0
0
0
0
0
0
0
0
0
0
-1
45
-61
-116
-75
136
0
0
0
0
0
0
0
0
0
0
0
-33
-74
-102
-68
-34
81
30
-41
-16
0
0
0
0
0
0
0
0
14
-77
35
3
-19
62
-41
78
-79
0
0
0
0
0
0
0
0
-1
-15
-18
-69
3
7
-55
23
53
0
0
0
0
0
0
0
0
0
0
48
131
24
47
-20
-201
78
0
0
0
0
0
0
0
0
0
0
6
0
-185
-37
17
130
-70
0
0
0
0
0
0
0
0
0
0
1
6
79
-67
-43
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
54
-22
0
0
0
0
0
0
0
0
-4
-2
19
68
-74
-10
0
0
0
102
0
0
0
0
0
0
0
20
32
-15
1
-27
-32
0
0
0
39
0
0
0
0
0
0
0
-11
32
48
-55
43
-44
-34
48
-44
-8
0
0
0
0
0
0
0
-10
71
-66
-41
18
-18
2
15
41
-36
0
0
0
0
0
0
0
-33
73
-89
75
-90
112
-1
146
4
0
0
0
0
0
0
0
0
0
0
-11
71
158
8
39
-103
-30
-58
0
0
0
0
0
0
0
0
0
0
13
13
71
37
12
39
15
0
0
0
0
0
0
0
0
0
0
-18
-51
2
-39
132
15
-65
0
0
0
0
0
0
0
0
0
7
-6
0
42
13
-32
88
7
0
0
0
0
0
0
0
0
-3
-33
-71
28
-63
0
0
0
-22
-88
0
0
0
0
0
0
-8
-4
-55
-10
9
44
0
0
0
-140
-59
0
0
0
0
0
0
-6
3
-27
37
-67
20
-29
-89
-14
5
-12
0
0
0
0
0
0
-2
-5
-6
12
18
-22
6
4
-21
2
-5
0
0
0
0
0
0
9
-25
18
-92
-35
47
-119
28
-84
57
0
0
0
0
0
0
0
1
0
5
0
-24
95
-21
22
7
0
0
0
0
0
0
0
0
0
0
0
0
15
-44
16
105
-156
37
29
0
0
0
0
0
0
0
0
0
0
0
39
49
16
-8
27
-14
0
0
0
0
0
0
0
0
0
0
1
7
40
-28
104
15
0
0
0
0
0
0
0
0
0
0
-4
11
-2
0
0
0
-13
1
0
0
0
0
0
0
0
14
79
35
-34
-95
0
0
0
-27
42
0
0
0
0
0
0
0
-3
-5
38
41
8
43
35
-75
23
1
0
0
0
0
0
0
0
-9
25
68
40
-15
-12
23
-56
0
0
0
0
0
0
0
0
3
-2
14
-8
5
8
24
7
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
41
-62
-39
-7
-31
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
39
76
12
1
0
0
0
0
0
0
0
0
0
0
0
71
-16
7
-57
22
-6
-7
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-10
0
0
0
0
0
0
0
0
3
0
-10
-5
-5
0
0
0
-3
-1
0
0
0
0
0
0
6
0
-39
20
-19
2
0
0
0
51
3
0
0
0
0
0
0
0
0
-7
-10
5
88
-50
16
-24
-4
-3
-3
0
0
0
0
0
0
-2
47
54
-31
-33
-176
21
-64
18
-2
0
0
0
0
0
0
0
-12
0
15
-64
-160
-25
65
-64
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
31
-13
120
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
35
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
-39
32
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
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-10
-1
-1
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
-1
29
-2
-30
0
14
0
0
0
0
0
0
0
0
0
0
13
-7
-25
41
56
6
-13
-3
0
0
0
0
0
0
0
0
19
28
10
-50
18
-11
17
3
0
-5
3
0
0
0
0
0
0
0
0
0
0
2
1
11
7
-2
1
0
4
0
0
0
0
0
0
0
0
0
0
0
1
8
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-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
-2
0
0
0
-2
0
0
0
3
7
0
0
0
0
0
0
0
0
-2
-11
0
-29
0
0
0
-17
-5
0
0
0
0
0
0
0
0
1
4
4
-1
4
41
4
0
0
6
0
0
0
0
0
0
0
14
-9
-26
26
33
52
-7
12
3
4
0
0
0
0
0
0
11
-11
-2
1
31
-45
-64
1
0
-1
0
0
0
0
0
0
0
0
0
0
87
0
10
0
-21
2
5
0
-5
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
-14
-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
2
4
-2
14
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
-11
-17
-7
-22
4
0
0
0
0
0
0
0
0
0
0
0
-12
2
8
32
9
-17
2
0
0
0
0
0
0
0
0
0
0
17
25
-6
15
-12
-63
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
10
-7
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-23
57
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-8
-9
-10
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
-5
-18
-23
-35
20
-45
0
0
0
0
0
0
0
0
0
0
-2
-5
-75
-69
118
18
-72
-37
65
0
0
0
0
0
0
0
0
0
-25
-50
-36
-58
-25
-58
-11
76
0
0
0
0
0
0
0
0
0
13
-49
37
-47
-20
11
-18
25
0
0
0
0
0
0
0
0
0
-12
7
-3
-8
46
-96
100
56
0
0
0
0
0
0
0
0
0
0
-14
3
0
-45
18
6
110
0
0
0
0
0
0
0
0
0
0
4
-10
33
16
-2
116
9
0
0
0
0
0
0
0
0
0
0
-20
0
0
5
10
45
4
0
0
0
0
0
0
0
0
0
0
-143
-123
41
-4
114
0
0
0
0
0
0
0
0
0
0
0
-47
-62
-75
-11
41
-69
0
0
0
0
0
0
0
0
0
0
0
-4
-46
4
5
-6
-70
47
-99
-28
0
0
0
0
0
0
0
0
-18
-69
-23
-32
-12
89
-5
92
-30
0
0
0
0
0
0
0
0
0
-101
-7
55
-33
111
-103
69
-18
0
0
0
0
0
0
0
0
3
-15
-31
89
-59
30
58
49
40
0
0
0
0
0
0
0
0
0
0
10
60
126
114
-97
-8
-45
0
0
0
0
0
0
0
0
0
0
3
-51
50
-8
1
-36
39
0
0
0
0
0
0
0
0
0
0
0
1
0
-35
20
-29
-37
0
0
0
0
0
0
0
0
0
1
0
34
-2
10
0
0
0
-14
0
0
0
0
0
0
0
-26
-5
-23
5
-42
-7
0
0
0
-14
0
0
0
0
0
0
0
-2
6
13
-28
31
55
-38
64
-57
-26
0
0
0
0
0
0
0
0
-16
-7
1
-36
56
-99
43
16
59
0
0
0
0
0
0
0
-9
-20
-117
21
-88
-42
128
12
-38
-27
0
0
0
0
0
0
0
2
7
-65
-53
23
-31
67
74
97
48
0
0
0
0
0
0
0
0
0
0
45
109
41
-13
-37
-97
22
0
0
0
0
0
0
0
0
0
0
1
65
9
41
115
1
21
0
0
0
0
0
0
0
0
0
0
0
0
-39
13
137
31
7
0
0
0
0
0
0
0
0
4
0
-18
1
0
0
0
0
2
-8
0
0
0
0
0
0
-6
-5
-19
51
1
8
0
0
0
-53
-66
0
0
0
0
0
0
-3
8
79
-71
5
145
34
-95
97
-42
-13
0
0
0
0
0
0
3
-8
-19
16
-59
-96
-144
125
-7
6
6
0
0
0
0
0
0
0
1
77
48
-62
-60
40
-54
-61
45
0
0
0
0
0
0
0
0
-4
-2
-44
48
-2
-21
69
1
-11
0
0
0
0
0
0
0
-1
0
0
0
27
-35
-117
-80
-35
2
0
0
0
0
0
0
0
0
0
0
0
-1
42
13
107
38
-66
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
69
15
12
0
0
0
0
0
0
0
0
0
0
15
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
0
0
0
0
-14
-4
0
0
0
0
0
0
0
5
5
-4
18
-14
-4
-13
27
7
0
0
0
0
0
0
0
0
-2
24
-33
-22
-21
-35
28
44
3
0
0
0
0
0
0
0
0
0
-5
27
-101
3
26
3
65
-13
0
0
0
0
0
0
0
0
0
0
-1
26
-71
63
14
-101
6
0
0
0
0
0
0
0
0
0
0
0
0
-59
-8
5
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
4
1
38
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
20
0
-2
0
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
6
0
0
14
0
0
0
8
2
0
0
0
0
0
0
0
0
5
17
0
1
-3
-5
-9
0
1
0
0
0
0
0
0
0
0
0
-31
50
13
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
18
16
21
11
1
0
1
0
0
0
0
0
0
0
0
0
2
-4
28
3
-9
-52
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-13
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
-3
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
11
-2
-4
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-2
0
4
3
2
0
0
0
0
0
0
0
0
0
0
-4
0
-26
0
0
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
0
0
1
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
-1
18
10
0
0
1
0
0
0
0
0
0
0
0
0
-5
3
-4
14
0
0
0
-5
19
0
0
0
0
0
0
0
0
1
-73
-12
-4
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
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
-3
0
0
0
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
5
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
2
0
7
0
0
0
-2
0
0
0
0
0
0
0
4
-1
0
3
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
5
0
0
0
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
-19
-16
-96
-22
-5
56
0
0
0
0
0
0
0
0
0
0
1
0
-31
8
23
-3
-3
22
79
0
0
0
0
0
0
0
0
5
-21
-123
55
-155
-124
66
-37
67
0
0
0
0
0
0
0
0
10
-2
8
19
-1
25
11
-60
22
0
0
0
0
0
0
0
0
0
-9
29
66
-75
38
3
-87
-11
0
0
0
0
0
0
0
0
0
0
0
8
31
19
48
-2
-37
0
0
0
0
0
0
0
0
0
0
0
13
10
10
45
-50
90
0
0
0
0
0
0
0
0
0
0
8
0
1
0
49
-24
-63
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
-2
37
-17
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
31
-7
-45
-15
35
-19
36
-118
0
0
0
0
0
0
0
0
-6
-11
-27
-97
23
-50
13
-74
-111
0
0
0
0
0
0
0
0
-8
-6
17
-43
-40
34
-133
-23
-7
0
0
0
0
0
0
0
0
0
-8
8
-98
-51
-126
131
-68
35
0
0
0
0
0
0
0
0
0
0
-25
2
40
-3
-9
36
23
0
0
0
0
0
0
0
0
0
0
0
7
67
12
-21
-34
-77
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-14
44
-49
0
0
0
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
-7
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
-10
-12
-10
0
-31
39
-8
-5
0
0
0
0
0
0
0
0
-7
-4
-19
27
102
-7
-9
-49
31
0
0
0
0
0
0
0
0
0
0
25
-66
46
-38
-4
-150
1
0
0
0
0
0
0
0
0
2
0
-5
8
24
22
-39
3
1
0
0
0
0
0
0
0
0
0
2
0
-14
17
-1
32
13
8
0
0
0
0
0
0
0
0
0
0
0
-6
14
0
15
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
23
-4
22
-2
50
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
-2
0
0
-2
-12
-10
1
-9
0
0
0
0
0
0
0
0
0
0
0
-12
9
-1
4
-5
-1
2
0
0
0
0
0
0
0
0
0
1
0
-11
-2
9
-13
-2
0
0
0
0
0
0
0
0
0
-8
0
1
1
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
25
1
25
-2
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
3
0
-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
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-20
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
10
22
0
19
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
7
21
0
6
0
0
0
0
0
0
0
0
0
57
2
-65
-2
54
20
-11
0
0
0
0
0
0
0
0
0
0
18
-25
54
0
-3
1
6
1
0
0
0
0
0
0
0
0
0
-15
-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
43
0
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
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
20
0
-11
12
-8
-64
-10
-5
0
0
0
0
0
0
0
0
0
51
13
-1
54
-112
-62
-7
0
0
0
0
0
0
0
0
0
0
2
-13
-7
-65
-94
39
21
43
-1
-1
0
0
0
0
0
0
0
0
33
-10
77
15
6
-7
-41
10
0
0
0
0
0
0
0
0
0
44
-6
65
0
-3
-31
0
0
3
0
0
0
0
0
0
0
0
-8
-37
-3
-23
-3
0
0
-3
0
0
0
0
0
0
0
0
0
3
-15
-40
-1
0
-3
26
-1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
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
-7
0
-2
23
26
7
7
0
0
0
0
0
0
0
0
0
5
-5
4
25
68
-41
-28
9
0
3
0
0
0
0
0
0
0
2
-17
28
-60
63
7
-35
-10
0
0
0
0
0
0
0
0
0
2
17
-2
-35
63
-13
38
3
0
-1
0
0
0
0
0
0
0
0
-5
-5
89
-6
-35
-34
0
-4
0
0
0
0
0
0
0
0
0
-7
-8
-10
6
-18
5
-4
-3
0
0
0
0
0
0
0
0
0
-1
-3
16
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
66
15
0
-64
16
-44
-4
0
0
0
0
0
0
0
0
0
0
-20
57
13
-46
-131
154
16
3
0
0
0
0
0
0
0
0
5
-3
9
-5
61
-64
5
-1
0
0
0
0
0
0
0
0
0
0
15
52
31
-67
-2
10
3
1
0
0
0
0
0
0
0
0
0
8
31
11
-5
-49
28
-2
-1
0
0
0
0
0
0
0
0
2
1
-10
0
1
1
-5
38
-3
0
0
0
0
0
0
0
0
-1
0
4
-1
12
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
-3
1
1
0
-1
-57
3
0
0
-1
0
0
0
0
0
0
-25
10
7
35
47
37
46
12
2
0
0
0
0
0
0
0
0
1
-31
0
-16
7
-6
49
35
-1
0
0
0
0
0
0
0
0
-11
0
-23
33
27
-4
2
0
8
-3
0
0
0
0
0
0
0
0
-3
8
0
5
-3
1
6
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
0
-15
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
101
0
0
-4
-13
0
-3
0
0
0
0
0
0
0
-33
38
16
81
8
-1
-5
-1
22
0
0
0
0
0
0
0
0
1
-22
-25
-12
33
-54
21
-28
5
2
0
0
0
0
0
0
0
1
6
3
-7
-2
22
-1
-5
-10
0
0
0
0
0
0
0
0
0
3
2
-14
5
0
3
-4
3
0
0
0
0
0
0
0
0
0
4
0
0
5
1
3
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-16
0
4
0
0
0
0
0
0
0
0
0
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
0
0
0
-5
0
10
-2
0
-24
0
-1
0
0
0
0
0
0
0
5
-78
28
53
40
17
93
-3
-8
5
-1
0
0
0
0
0
0
8
-9
-43
4
0
21
27
-12
-3
-3
0
0
0
0
0
0
0
0
24
-20
-3
-33
13
-49
6
0
20
0
0
0
0
0
0
0
0
-4
0
22
-2
-4
-11
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
1
5
15
-2
0
0
0
0
0
0
0
0
0
0
-3
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
-11
-1
0
0
-6
-1
0
0
0
0
0
0
-1
5
2
-52
-55
-41
-3
6
5
22
-9
0
0
0
0
0
0
0
0
-2
34
-18
13
11
27
25
17
0
0
0
0
0
0
0
0
0
1
2
-5
-3
-1
-6
12
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
-13
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
36
5
16
-4
-5
1
0
0
0
0
0
0
0
0
0
-2
71
-41
25
-117
25
-19
1
0
0
0
0
0
0
0
0
0
-123
-49
-56
8
0
7
-4
-1
0
0
0
0
0
0
0
0
0
-95
-39
31
13
-5
-10
-10
0
0
0
0
0
0
0
0
0
0
16
7
-9
19
-21
-5
1
0
0
0
0
0
0
0
0
0
0
-43
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-75
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
-50
-39
2
-15
0
-43
18
7
0
0
0
0
0
0
0
0
0
41
-149
64
45
66
118
6
195
41
4
0
0
0
0
0
0
0
8
58
1
-159
-102
-79
-27
10
-11
0
0
0
0
0
0
0
0
26
-119
-9
258
-14
43
-6
-17
-58
0
0
0
0
0
0
0
0
24
164
-13
-18
77
-45
96
16
16
-16
0
0
0
0
0
0
0
-1
9
67
75
2
-31
-1
-17
-11
0
0
0
0
0
0
0
0
0
-4
53
109
-38
-2
-7
19
0
0
0
0
0
0
0
0
0
0
74
0
-42
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
14
14
24
-99
13
-92
117
3
0
0
0
0
0
0
0
0
0
-1
149
54
-42
189
30
-3
11
-7
0
-1
0
0
0
0
0
0
-60
-64
-49
-50
-78
22
57
-39
32
-3
0
0
0
0
0
0
0
4
-36
15
3
-2
23
30
-14
34
-8
0
0
0
0
0
0
0
1
21
34
136
12
-3
73
26
-2
0
0
0
0
0
0
0
0
2
-14
36
35
-17
-28
-15
0
-2
0
0
0
0
0
0
0
0
0
1
80
0
16
-1
0
4
0
0
0
0
0
0
0
0
0
0
7
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
-6
0
-45
24
68
66
-23
-22
0
2
0
0
0
0
0
0
0
0
-31
-93
15
47
70
-20
-64
-7
0
3
0
0
0
0
0
0
-20
27
35
114
45
-42
43
9
-18
0
0
0
0
0
0
0
0
33
-61
14
-89
-57
-35
4
-15
-11
9
0
0
0
0
0
0
0
0
-36
-92
86
47
77
23
0
-2
0
0
0
0
0
0
0
0
-15
-33
0
-13
-11
-1
5
-6
-5
0
0
0
0
0
0
0
0
1
5
4
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
-35
13
118
49
23
-43
75
72
0
3
0
0
0
0
0
0
0
-14
47
30
-10
-8
76
94
-42
7
0
-1
0
0
0
0
0
0
40
0
30
39
77
-59
9
51
-80
-2
0
0
0
0
0
0
0
-11
9
43
60
-41
-13
65
1
-3
-3
0
0
0
0
0
0
0
45
26
-21
-8
3
-14
-44
0
0
0
0
0
0
0
0
0
0
0
-11
-35
33
6
-10
-10
-1
0
0
0
0
0
0
0
0
0
0
1
40
0
0
14
0
0
1
0
0
0
0
0
0
0
0
0
-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
-6
26
95
-34
75
35
-23
42
0
0
0
0
0
0
0
0
0
6
63
10
41
32
-43
51
72
61
-5
-1
0
0
0
0
0
0
-1
47
-75
58
56
-16
48
-98
-14
0
0
0
0
0
0
0
0
21
23
-17
33
-61
-75
38
-8
-1
-4
0
0
0
0
0
0
0
6
20
14
52
-9
32
3
0
0
0
0
0
0
0
0
0
0
0
-17
-2
3
-1
-10
3
13
-1
0
0
0
0
0
0
0
0
0
7
-43
34
8
0
8
0
0
0
0
0
0
0
0
0
0
0
-10
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
9
-7
-17
-12
106
-12
-57
-1
0
2
0
0
0
0
0
0
0
-1
52
54
41
59
8
22
-4
-44
-3
6
0
0
0
0
0
0
14
-11
-6
28
46
-80
9
36
-42
-7
0
-2
0
0
0
0
0
-7
-38
48
-49
-2
-28
-70
-9
-8
-3
4
0
0
0
0
0
0
-3
-29
59
-3
-15
-69
-19
0
3
0
3
-2
0
0
0
0
0
0
2
0
15
-22
40
-4
0
0
-1
0
0
0
0
0
0
0
0
15
1
-8
-1
-4
-6
0
0
0
0
0
0
0
0
0
0
0
5
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
-3
-4
74
-31
1
-24
0
-4
-4
0
0
0
0
0
0
-4
4
10
33
81
-15
68
-5
8
-7
0
0
0
0
0
0
0
10
-16
-71
16
-79
19
-11
-28
14
1
0
0
0
0
0
0
0
5
0
26
47
34
-2
10
-1
-1
-4
0
0
0
0
0
0
0
0
-21
6
10
1
-1
0
1
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
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
14
0
15
12
0
0
-11
0
-1
0
0
0
0
0
0
0
0
15
-6
-13
31
-15
-6
-8
3
-2
1
0
0
0
0
0
0
0
0
-11
-11
-5
33
0
16
-1
7
0
0
0
0
0
0
0
-3
0
0
-2
10
-1
-14
0
0
0
0
0
0
0
0
0
0
0
6
0
-15
0
11
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
28
-2
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
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
0
0
0
0
0
0
0
0
-2
-2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-10
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-3
8
-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
-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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-165
-25
0
23
0
0
0
0
0
0
0
0
0
0
0
-36
50
153
-18
-59
104
-65
-13
0
0
0
0
0
0
0
0
0
-4
-18
-20
3
0
-4
7
0
0
0
0
0
0
0
0
0
0
7
-2
36
-4
65
-14
5
0
0
0
0
0
0
0
0
0
0
24
32
-9
1
5
-2
18
0
0
0
0
0
0
0
0
0
0
9
-16
28
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
158
29
-100
-13
115
50
63
0
0
0
0
0
0
0
0
0
3
88
31
-74
-75
71
-11
-27
-84
0
0
0
0
0
0
0
0
-13
54
126
-88
7
33
-97
39
41
0
0
0
0
0
0
0
0
-21
11
8
-56
20
140
-20
6
-4
1
0
0
0
0
0
0
0
-55
-70
-76
-88
-84
117
-4
-49
-3
4
0
0
0
0
0
0
0
39
-11
-69
27
75
-40
0
-17
-1
0
0
0
0
0
0
0
0
-7
-109
-72
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-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
47
11
-42
97
145
-157
-53
0
0
0
0
0
0
0
0
0
15
128
-72
-2
47
139
-44
-10
-33
25
-1
0
0
0
0
0
0
16
-28
12
-14
96
-13
25
27
-2
-3
0
0
0
0
0
0
0
20
0
39
-80
-46
0
-32
-14
15
-7
0
0
0
0
0
0
0
0
61
-81
39
-2
87
-2
0
-17
0
0
0
0
0
0
0
0
-23
-38
5
62
22
-5
-4
11
-7
3
0
0
0
0
0
0
0
-1
46
54
-23
27
0
3
0
-6
0
0
0
0
0
0
0
0
0
12
-26
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
13
-22
-5
15
53
15
18
0
0
0
0
0
0
0
0
0
8
-11
-40
1
-73
55
82
6
-1
0
0
0
0
0
0
0
0
0
64
-30
-5
8
47
-4
13
33
4
0
0
0
0
0
0
0
0
30
-31
-46
66
35
-50
-10
1
0
0
0
0
0
0
0
0
0
63
-48
-48
-98
7
1
1
37
-4
0
0
0
0
0
0
0
0
21
-41
-26
16
47
3
0
-1
0
0
0
0
0
0
0
0
-8
7
-18
-8
-4
0
35
1
-1
0
0
0
0
0
0
0
0
0
2
0
-14
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
2
3
-15
-53
42
-11
53
56
0
0
0
0
0
0
0
0
0
-6
-28
131
-22
-40
-76
9
23
12
0
0
0
0
0
0
0
0
0
61
62
6
1
84
6
64
-3
0
0
0
0
0
0
0
0
3
22
3
7
-15
-24
21
0
35
0
0
0
0
0
0
0
0
12
49
8
-41
-13
-21
0
5
2
0
0
0
0
0
0
0
0
0
5
50
1
2
3
15
0
-1
0
0
0
0
0
0
0
0
0
-5
16
0
-2
2
-23
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
37
-99
-95
101
34
0
1
0
0
0
0
0
0
0
0
9
73
164
-39
14
10
30
7
0
0
0
0
0
0
0
0
5
-1
-15
7
49
0
22
22
13
4
0
0
0
0
0
0
0
-3
-17
8
137
16
45
5
3
0
15
0
0
0
0
0
0
0
0
23
-14
-2
13
1
-4
0
0
0
0
0
0
0
0
0
0
0
3
14
39
0
0
1
0
2
-1
0
0
0
0
0
0
0
0
9
0
1
8
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
1
44
-4
13
11
160
41
0
0
0
0
0
0
0
0
0
0
46
-41
127
118
-24
-35
-19
5
-2
0
0
0
0
0
0
0
8
18
-29
2
-35
8
0
-4
-4
-4
0
0
0
0
0
0
0
0
-17
154
-40
-37
4
3
0
6
0
0
0
0
0
0
0
0
3
39
-13
40
3
20
0
0
0
0
0
0
0
0
0
0
0
0
-25
9
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
24
0
46
19
10
63
0
-7
0
0
0
0
0
0
0
16
25
-3
-44
41
15
28
-44
-10
7
-11
0
0
0
0
0
0
11
14
2
1
6
31
-6
2
14
11
0
0
0
0
0
0
0
0
0
18
-17
-24
-24
4
7
1
0
0
0
0
0
0
0
0
2
0
10
19
1
9
-2
0
-1
0
-3
0
0
0
0
0
0
0
0
6
4
0
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
-7
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
0
0
-10
-1
-1
0
0
0
0
0
0
0
0
0
0
11
-70
-9
34
-44
26
2
0
5
0
0
0
0
0
0
0
0
-9
0
20
1
8
0
-6
0
-7
0
0
0
0
0
0
0
0
14
-3
-83
18
5
9
-2
4
1
0
0
0
0
0
0
0
0
-2
0
-5
-21
-16
4
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-4
0
0
-1
4
0
0
0
0
0
0
0
0
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
-3
2
-6
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-5
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
8
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
-1
3
0
0
6
18
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-15
28
55
63
3
-1
0
0
0
0
0
0
0
0
0
18
-9
-56
34
12
-22
-19
20
0
0
0
0
0
0
0
0
0
-12
-7
-59
5
57
-22
-7
-1
-1
0
0
0
0
0
0
0
0
8
-53
-5
52
-7
-25
-5
0
0
0
0
0
0
0
0
0
0
60
80
-8
5
-18
10
-4
0
0
0
0
0
0
0
0
0
0
37
-59
-19
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
-60
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-33
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
-6
-46
-127
-2
-13
64
-107
78
0
0
0
0
0
0
0
0
0
6
128
-63
-123
91
28
55
-98
-75
0
0
0
0
0
0
0
0
6
-21
125
58
-14
-11
44
-39
33
0
0
0
0
0
0
0
0
4
-6
67
-102
77
53
-126
12
-19
0
0
0
0
0
0
0
0
11
-65
11
-66
-63
-105
85
-22
37
0
0
0
0
0
0
0
0
9
-136
-6
-55
-27
-83
-14
-1
8
0
0
0
0
0
0
0
0
0
37
39
39
-21
12
-2
0
0
0
0
0
0
0
0
0
0
1
109
-5
-9
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
33
3
-7
-17
18
42
100
-176
0
7
0
0
0
0
0
0
0
4
61
59
-68
-12
4
28
110
-20
-19
0
0
0
0
0
0
0
1
19
-34
-59
52
11
-67
-8
-44
9
0
0
0
0
0
0
0
1
47
1
124
2
103
41
52
19
0
0
0
0
0
0
0
0
7
25
-30
-62
31
-17
74
38
8
0
0
0
0
0
0
0
0
-2
-65
36
-70
31
20
0
-24
0
0
0
0
0
0
0
0
0
-7
-39
30
53
63
12
1
0
0
0
0
0
0
0
0
0
0
0
-21
28
-47
2
9
0
10
0
0
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
-1
-18
28
20
-62
39
-107
0
7
0
0
0
0
0
0
0
0
105
-10
-16
-57
-33
-30
-2
5
0
0
0
0
0
0
0
0
0
-2
58
66
0
-41
113
-50
-12
-2
0
0
0
0
0
0
0
0
75
-4
-6
-43
95
-17
28
-13
8
0
0
0
0
0
0
0
0
82
11
7
-21
-9
-70
5
0
0
0
0
0
0
0
0
0
0
38
-21
68
-48
72
4
0
1
0
0
0
0
0
0
0
0
0
-32
15
16
47
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
5
56
0
-10
39
-1
-18
0
3
-2
0
0
0
0
0
0
1
13
2
-9
-76
-2
39
-108
16
0
0
0
0
0
0
0
0
-8
39
50
-46
-20
43
-1
44
-12
0
0
0
0
0
0
0
0
0
-14
-13
-41
0
-36
-28
-18
0
0
0
0
0
0
0
0
0
0
36
76
8
10
-20
21
18
9
0
0
0
0
0
0
0
0
0
-12
-5
7
-14
66
2
0
0
0
0
0
0
0
0
0
0
0
-7
-27
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
11
-2
-2
-9
49
42
-3
0
0
0
0
0
0
0
0
0
0
1
-1
-24
-46
17
-53
20
5
0
0
0
0
0
0
0
0
5
2
-2
27
-17
8
28
13
0
0
0
0
0
0
0
0
0
12
0
-1
-3
-7
0
18
2
38
1
0
0
0
0
0
0
0
0
-30
20
43
27
35
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
6
12
0
0
0
16
0
0
0
0
0
0
0
0
0
-20
-3
91
0
-11
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
-7
0
5
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
-26
8
-16
32
-8
19
82
-5
-2
0
0
0
0
0
0
0
0
24
-15
23
-16
57
13
-1
-3
0
0
0
0
0
0
0
0
0
8
-17
27
18
-32
0
0
-3
0
0
0
0
0
0
0
0
0
-29
-20
34
39
2
0
0
-3
0
0
0
0
0
0
0
0
0
18
-33
25
17
-4
0
0
0
0
0
0
0
0
0
0
0
7
58
-6
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-11
-6
6
0
0
0
0
0
0
0
0
0
0
0
6
-10
22
-6
112
-3
-2
-1
0
0
0
0
0
0
0
1
-41
-14
33
48
-45
26
25
-5
6
0
0
0
0
0
0
0
0
-9
20
12
6
-15
-12
0
0
0
0
0
0
0
0
0
0
0
29
47
45
-11
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
-9
47
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
1
1
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-1
0
-16
-6
-10
-9
-1
1
0
0
0
0
0
0
0
0
0
-10
-6
-12
0
-20
-2
-4
0
0
0
0
0
0
0
0
0
0
11
-13
26
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
6
-3
3
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
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
6
8
3
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-2
-8
2
-4
-5
26
0
0
0
0
0
0
0
0
0
0
0
0
16
0
11
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-8
3
-3
-1
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
19
-55
-5
-2
-6
0
0
0
0
0
0
0
0
0
37
40
37
125
47
-44
-72
-6
-5
0
0
0
0
0
0
0
0
110
14
27
-104
-26
-33
-47
3
0
0
0
0
0
0
0
0
0
65
73
58
-42
6
1
-6
-14
0
0
0
0
0
0
0
0
0
-13
62
-13
19
-7
-16
0
4
0
0
0
0
0
0
0
0
0
-41
-2
153
44
20
0
0
0
0
0
0
0
0
0
0
0
0
33
29
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-24
7
0
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
1
-71
5
-22
-37
125
4
89
0
0
0
0
0
0
0
0
0
-24
82
17
-142
-25
6
26
-26
-23
13
0
0
0
0
0
0
0
10
-48
-40
-15
-13
-8
-39
36
7
-6
0
0
0
0
0
0
0
-3
51
77
70
4
-72
79
133
-3
0
0
0
0
0
0
0
0
11
12
48
86
62
22
-93
-22
2
5
0
0
0
0
0
0
0
-1
72
38
-59
-43
-32
78
3
-8
0
0
0
0
0
0
0
0
26
7
-60
5
118
8
67
2
0
0
0
0
0
0
0
0
0
7
38
-42
8
0
-41
0
33
0
0
0
0
0
0
0
0
0
80
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
46
-21
-26
70
-95
-79
0
1
0
0
0
0
0
0
0
-5
-12
86
6
92
-140
26
9
71
0
0
0
0
0
0
0
0
-1
56
-10
-40
-90
38
21
111
-12
3
0
0
0
0
0
0
0
100
32
71
36
100
177
-84
-32
12
0
0
0
0
0
0
0
0
20
3
0
-27
55
54
51
-14
6
0
0
0
0
0
0
0
0
-18
64
85
15
27
92
15
-6
0
11
0
0
0
0
0
0
0
-1
58
163
111
-30
25
57
0
2
0
0
0
0
0
0
0
0
4
-36
30
35
-7
0
0
-20
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
0
10
9
-3
-29
14
-102
-2
0
1
0
0
0
0
0
0
0
-1
51
64
-68
-35
-56
15
-113
-15
-8
1
0
0
0
0
0
0
-5
10
23
-4
-79
67
-16
-57
100
-5
0
0
0
0
0
0
0
13
63
11
27
15
-26
7
-20
-1
0
0
0
0
0
0
0
0
-1
-3
-27
0
-98
-31
-17
-7
-4
0
0
0
0
0
0
0
0
0
38
-65
4
34
140
5
-15
0
0
0
0
0
0
0
0
0
-8
57
78
-24
150
0
3
10
0
0
0
0
0
0
0
0
0
0
37
25
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
9
105
-74
-39
0
-2
0
0
0
0
0
0
0
0
6
30
20
-10
-83
60
-6
-55
0
6
0
0
0
0
0
0
9
3
-67
-93
-24
17
-3
-110
4
-13
0
0
0
0
0
0
0
0
-2
13
13
-27
15
23
-7
0
0
0
0
0
0
0
0
0
0
-9
60
33
0
120
-17
-4
-1
6
0
0
0
0
0
0
0
0
11
-17
18
0
35
-5
2
11
-2
0
0
0
0
0
0
0
0
29
19
5
3
1
0
0
1
0
0
0
0
0
0
0
0
0
-10
94
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
2
-20
-1
-12
0
-7
0
0
0
0
0
0
0
0
2
-8
4
-13
-29
66
-6
-19
1
0
0
0
0
0
0
0
-5
5
-42
21
64
-66
32
-15
4
-1
0
0
0
0
0
0
0
0
78
2
-1
31
2
25
1
39
0
0
0
0
0
0
0
0
0
31
-4
1
52
0
25
0
0
0
0
0
0
0
0
0
0
-1
-14
50
-75
-15
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-25
-20
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
10
6
47
0
21
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
-1
0
0
0
-2
-3
5
0
5
0
0
0
0
0
0
0
0
1
5
1
8
10
-22
16
0
-10
0
0
0
0
0
0
0
20
16
0
5
13
59
-28
-21
-2
1
0
0
0
0
0
0
0
0
11
1
-13
10
-34
-7
0
0
0
0
0
0
0
0
0
0
0
-5
70
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
-19
-25
0
-3
0
0
0
0
0
0
0
0
0
0
4
-33
-7
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-11
0
-8
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
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
9
2
17
0
12
0
0
0
0
0
0
0
0
0
6
0
-13
-23
27
17
-3
0
0
0
0
0
0
0
0
0
0
0
11
18
-65
-35
10
1
0
0
0
0
0
0
0
0
0
0
0
-19
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
-3
62
-15
-3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
8
-5
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
2
10
0
-5
0
34
3
0
-4
0
0
0
0
0
0
0
0
8
2
-19
-8
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-5
-8
-18
-5
0
-6
31
0
0
0
0
0
0
0
0
0
0
9
0
5
32
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
-37
-6
-1
0
0
5
0
0
0
0
0
0
0
0
0
34
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
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
-7
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-3
8
12
0
-1
0
0
0
0
0
0
0
0
0
-14
4
0
0
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-16
7
4
11
3
0
0
0
0
0
0
0
0
0
-22
48
2
27
-5
138
-71
-1
0
0
0
0
0
0
0
0
0
57
-15
-61
93
-40
51
4
7
0
0
0
0
0
0
0
0
0
-26
-3
-2
49
6
104
29
0
0
0
0
0
0
0
0
0
0
7
1
-28
-21
3
0
-2
19
0
0
0
0
0
0
0
0
0
0
-48
59
-18
-25
-3
-4
-2
0
0
0
0
0
0
0
0
0
-101
16
12
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
26
8
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-11
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
124
-13
-15
-5
-84
-2
-32
0
0
0
0
0
0
0
0
0
14
53
52
-117
62
54
-38
5
7
0
0
0
0
0
0
0
0
5
123
-29
51
46
-95
2
-36
-33
0
0
0
0
0
0
0
0
-10
-32
108
31
26
-103
41
1
13
-5
0
0
0
0
0
0
0
-2
-35
21
-35
10
123
-71
-74
-12
0
0
0
0
0
0
0
0
9
0
-7
-17
79
-27
14
15
-9
-1
0
0
0
0
0
0
0
-1
-135
-9
7
-21
73
-14
0
-2
0
0
0
0
0
0
0
0
24
-22
-40
24
5
8
0
0
0
0
0
0
0
0
0
0
0
3
-13
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-20
0
-90
16
1
138
0
-2
0
0
0
0
0
0
0
3
-111
62
10
-13
-27
-5
58
-31
-1
0
0
0
0
0
0
0
-22
-10
-17
59
-45
-33
3
26
62
1
0
0
0
0
0
0
0
0
71
-68
64
15
6
30
-58
24
0
0
0
0
0
0
0
0
-7
-31
70
-45
38
-42
129
-10
-7
-7
0
0
0
0
0
0
0
1
87
0
-15
64
-4
155
2
1
4
0
0
0
0
0
0
0
-62
10
-103
-101
-2
21
-11
-6
-1
0
0
0
0
0
0
0
0
0
-136
6
88
89
-5
-1
0
0
0
0
0
0
0
0
0
0
13
16
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
1
79
-26
-38
5
0
-16
0
0
0
0
0
0
0
0
33
62
11
-53
-46
-13
26
-11
0
-2
0
0
0
0
0
0
16
-12
-36
-53
-83
20
-6
80
1
0
0
0
0
0
0
0
0
-9
1
-42
-46
-2
-33
54
51
34
0
0
0
0
0
0
0
0
0
0
-1
12
28
-52
-58
10
4
0
0
0
0
0
0
0
0
0
19
-27
0
73
-27
-6
0
0
-19
0
0
0
0
0
0
0
-17
66
-22
53
13
-10
-2
-6
1
0
0
0
0
0
0
0
0
1
-14
-15
-56
6
0
0
-6
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
-3
9
0
3
1
-8
-7
0
0
0
0
0
0
0
0
0
0
29
64
-8
-24
42
31
5
56
0
-3
0
0
0
0
0
0
-31
-1
-1
-26
72
14
62
-20
-2
0
0
0
0
0
0
0
0
-2
14
2
2
61
13
-10
44
3
0
0
0
0
0
0
0
0
-6
67
-32
-27
18
-8
-2
-3
-5
0
0
0
0
0
0
0
0
0
-7
33
94
0
6
-9
0
4
0
0
0
0
0
0
0
0
-1
88
111
-20
35
3
0
0
0
0
0
0
0
0
0
0
0
-26
29
-2
10
-13
-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
-12
-1
0
2
0
-8
-2
0
7
0
0
0
0
0
0
0
0
14
0
-3
-1
14
-90
4
-1
0
0
0
0
0
0
0
0
13
-3
1
10
13
-59
161
-3
-20
0
0
0
0
0
0
0
0
0
2
21
-14
-26
4
58
6
-16
0
0
0
0
0
0
0
0
0
1
0
-31
47
-7
0
-3
0
-2
0
0
0
0
0
0
0
0
0
-12
40
-54
0
0
4
0
0
0
0
0
0
0
0
0
0
94
45
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-13
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-19
-13
-1
4
0
0
0
0
0
0
0
0
5
-3
3
-8
-11
-18
-23
3
0
0
0
0
0
0
0
0
10
-10
0
33
5
-1
0
25
28
0
0
0
0
0
0
0
0
0
4
31
4
23
-11
1
-4
0
0
0
0
0
0
0
0
0
0
0
24
-16
2
0
0
-5
5
0
0
0
0
0
0
0
0
0
-24
7
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
20
29
-17
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
-2
6
0
-2
15
0
0
0
0
0
0
0
0
0
0
-4
-19
0
-1
-7
53
-5
3
1
0
0
0
0
0
0
0
6
0
0
11
0
11
33
4
2
-2
0
0
0
0
0
0
0
2
0
0
28
0
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
-13
7
29
8
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
-5
-2
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
6
13
13
-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
4
-2
0
-2
0
28
1
0
9
0
0
0
0
0
0
0
0
-14
-5
12
-2
0
0
15
0
1
0
0
0
0
0
0
0
0
0
-1
0
3
-1
0
-3
-12
0
0
0
0
0
0
0
0
0
2
0
6
-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
-4
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-8
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
-2
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
14
1
-1
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
-2
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-21
-23
8
-19
11
73
37
20
0
0
0
0
0
0
0
0
0
81
60
24
26
10
-32
-77
14
7
0
0
0
0
0
0
0
0
-14
48
19
9
-44
56
-16
0
0
0
0
0
0
0
0
0
0
61
5
42
39
-32
13
0
0
0
0
0
0
0
0
0
0
0
-1
-52
107
-18
-66
-4
0
-8
0
0
0
0
0
0
0
0
0
0
-2
-1
-94
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-78
38
-18
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
49
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
-32
-22
86
26
-81
72
0
0
0
0
0
0
0
0
0
-14
28
14
42
-71
31
-8
48
-42
-9
0
0
0
0
0
0
0
-2
100
-128
-34
81
-34
-41
9
-12
19
0
0
0
0
0
0
0
1
-131
-118
-48
115
-6
59
-123
7
0
0
0
0
0
0
0
0
12
-42
14
25
97
-145
88
22
22
3
0
0
0
0
0
0
0
-1
98
19
-128
15
72
38
-48
15
0
0
0
0
0
0
0
0
-56
0
47
36
-19
-58
44
1
-2
0
0
0
0
0
0
0
0
-7
-61
112
12
35
31
-3
1
-1
0
0
0
0
0
0
0
0
99
46
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
48
6
-14
47
-38
-24
70
0
4
0
0
0
0
0
0
0
-1
-16
-15
13
27
-1
-33
-31
12
-11
0
0
0
0
0
0
0
0
-48
-163
-57
-8
47
-33
30
86
6
0
0
0
0
0
0
0
0
0
-80
-36
-14
-56
120
101
-60
0
0
0
0
0
0
0
0
0
17
14
-57
-15
1
8
-4
25
16
0
0
0
0
0
0
0
0
10
-24
-116
51
-79
72
-4
5
0
0
0
0
0
0
0
0
-7
-133
0
-49
-90
24
-13
-2
0
0
0
0
0
0
0
0
0
3
-22
65
65
74
-4
2
10
0
0
0
0
0
0
0
0
0
0
-24
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
3
0
-1
50
-49
11
0
-2
0
0
0
0
0
0
0
3
24
-18
54
-25
41
-32
-53
-38
2
0
0
0
0
0
0
0
0
15
20
0
-7
-69
63
-66
2
4
0
0
0
0
0
0
0
0
-25
-28
114
-38
0
-141
59
0
-1
0
0
0
0
0
0
0
0
-13
26
-20
18
-22
86
94
1
0
0
0
0
0
0
0
0
0
-22
4
74
108
45
-35
15
40
-1
0
0
0
0
0
0
0
0
16
17
0
18
-5
0
-7
-6
0
0
0
0
0
0
0
0
5
-30
8
49
-3
-12
0
-7
-10
0
0
0
0
0
0
0
0
4
1
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
-1
15
-1
0
0
0
0
0
0
0
0
0
0
15
-2
23
2
-5
-22
-1
-5
2
0
0
0
0
0
0
0
0
-14
-12
1
-7
-7
-26
93
0
9
0
0
0
0
0
0
0
0
6
22
-13
0
6
52
-2
-9
0
0
0
0
0
0
0
0
0
2
47
4
20
-76
45
-8
0
0
0
0
0
0
0
0
0
0
2
-9
-18
-21
-45
27
3
2
0
0
0
0
0
0
0
0
0
27
-5
0
0
45
3
0
0
0
0
0
0
0
0
0
0
0
-52
-3
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
1
1
13
10
-5
0
0
0
0
0
0
0
0
0
0
-3
9
8
-19
-6
-86
7
9
0
0
0
0
0
0
0
0
0
0
0
6
-1
48
27
-9
10
-1
0
0
0
0
0
0
0
0
21
-2
21
-9
7
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
22
62
3
1
0
0
0
0
0
0
0
0
0
0
2
24
5
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
114
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
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
10
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
2
7
-2
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
4
0
-5
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-11
0
0
0
0
1
0
-6
7
0
0
0
0
0
0
0
0
-1
-1
-3
1
0
3
-7
-19
1
0
0
0
0
0
0
0
0
-5
1
0
-3
0
-3
-2
1
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
1
0
15
-21
-2
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
0
0
0
0
0
0
0
0
0
0
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
14
0
0
3
-2
-10
2
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
33
13
0
-7
8
-4
3
0
0
0
0
0
0
0
0
0
0
-14
0
-1
-27
6
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
16
0
58
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
11
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
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
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
4
0
0
0
-15
-7
22
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-9
10
28
22
10
0
0
0
0
0
0
0
0
0
-10
5
0
-3
-18
37
-9
2
-14
0
0
0
0
0
0
0
0
12
12
4
18
25
131
-9
7
0
0
0
0
0
0
0
0
0
57
11
24
43
81
-5
-6
0
18
0
0
0
0
0
0
0
0
-43
-59
-78
-3
-36
16
16
0
0
0
0
0
0
0
0
0
0
1
-44
-21
-94
19
-1
4
0
0
0
0
0
0
0
0
0
0
0
24
-14
18
0
5
0
0
0
0
0
0
0
0
0
0
0
50
-3
-28
8
0
8
0
0
0
0
0
0
0
0
0
0
0
2
4
40
54
-60
27
74
13
0
0
0
0
0
0
0
0
0
0
6
-22
26
74
73
7
60
2
33
0
0
0
0
0
0
0
-10
-54
39
60
46
-11
31
-115
0
-1
0
0
0
0
0
0
0
-4
114
134
102
17
-25
36
16
40
0
0
0
0
0
0
0
0
-3
4
30
-47
-3
-28
-40
22
0
-2
0
0
0
0
0
0
0
0
-14
-27
-30
-99
129
26
-8
-4
-9
0
0
0
0
0
0
0
7
52
100
-127
93
-5
-101
-1
0
0
0
0
0
0
0
0
0
-3
0
6
30
-33
27
-3
23
0
0
0
0
0
0
0
0
0
-3
-23
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
0
6
1
-12
14
0
0
0
0
0
0
0
0
0
0
-9
6
45
50
7
1
-35
-5
0
0
0
0
0
0
0
0
0
34
30
43
9
-43
73
9
-4
2
0
0
0
0
0
0
0
0
28
89
-110
-165
-9
7
-7
-2
0
0
0
0
0
0
0
0
-4
9
-104
79
90
32
107
-33
0
7
0
0
0
0
0
0
0
0
-60
0
105
-25
21
127
-5
-15
0
0
0
0
0
0
0
0
-1
25
0
99
53
74
4
-3
-10
0
0
0
0
0
0
0
0
3
97
0
-25
36
23
1
-5
0
0
0
0
0
0
0
0
0
59
0
35
-28
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
2
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
6
15
-12
10
10
0
0
0
0
0
0
0
0
0
0
1
0
6
-2
-34
14
-18
-6
-10
0
0
0
0
0
0
0
0
54
-2
-14
113
32
-52
-9
7
0
0
0
0
0
0
0
0
0
2
48
3
-13
61
-2
-1
19
0
0
0
0
0
0
0
0
0
9
3
-3
27
14
-57
-14
0
1
0
0
0
0
0
0
0
0
-35
5
69
32
62
26
3
0
0
0
0
0
0
0
0
0
0
-76
-10
0
26
25
8
-1
0
0
0
0
0
0
0
0
0
1
-10
-5
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
4
1
-4
0
1
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
-8
8
-1
0
0
0
0
0
0
0
0
0
0
0
-34
4
9
4
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-3
7
9
-24
0
0
0
0
0
0
0
0
0
0
0
0
-7
17
85
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
39
0
13
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
-13
-9
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
-8
0
-15
4
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
-2
13
-3
25
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-2
0
25
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
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
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-1
-2
0
48
0
0
0
0
0
0
0
0
0
1
0
1
2
14
-19
14
-10
25
0
0
0
0
0
0
0
0
91
6
-9
13
-4
-2
15
0
0
0
0
0
0
0
0
0
0
61
67
-6
21
-7
19
-25
0
0
0
0
0
0
0
0
0
0
-3
-20
195
-50
-9
-13
0
0
0
0
0
0
0
0
0
0
0
15
-23
14
-47
38
-2
0
0
0
0
0
0
0
0
0
0
0
1
15
29
-11
14
19
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-5
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
23
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
-18
-3
3
-1
20
-10
0
-2
0
0
0
0
0
0
0
0
24
-10
25
16
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
74
-56
-34
-5
0
0
0
0
0
0
0
0
0
0
0
9
0
32
-59
27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
5
10
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
-17
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
-3
0
0
0
-1
-11
0
0
0
0
0
0
0
0
0
0
-4
0
-2
8
-1
1
1
0
0
0
0
0
0
0
0
0
-20
0
3
53
0
16
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
0
1
6
107
0
-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
-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
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
-2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
-1
0
-5
1
0
0
0
0
0
0
0
0
0
-1
2
-2
0
5
0
1
-10
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
2
-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
-3
0
6
2
-8
-3
19
0
0
0
0
0
0
0
0
0
0
2
21
13
10
-3
8
2
0
-3
0
0
0
0
0
0
0
0
1
6
14
1
-32
2
-8
-11
16
14
0
0
0
0
0
0
0
0
1
-3
33
-11
-3
3
4
11
0
0
0
0
0
0
0
0
0
3
-7
-11
-2
10
-3
-2
-9
-2
0
0
0
0
0
0
0
0
-20
11
27
-3
41
6
0
0
-9
0
0
0
0
0
0
0
0
0
16
-1
1
-2
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
15
4
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-14
60
13
20
0
0
2
0
0
0
0
0
0
0
0
0
4
5
34
10
-8
-22
24
-8
23
7
0
0
0
0
0
0
0
-6
17
-40
9
52
36
17
4
-17
-6
0
0
0
0
0
0
0
-1
24
-21
27
-15
-7
-5
-6
-15
0
0
0
0
0
0
0
0
40
1
-37
33
25
15
6
0
0
0
0
0
0
0
0
0
0
6
-11
11
41
-5
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-23
-22
1
0
0
0
8
0
0
0
0
0
0
0
0
-11
0
19
10
-2
0
-10
-15
9
0
0
0
0
0
0
0
1
-4
-4
8
-4
-2
-1
42
0
1
0
0
0
0
0
0
0
-3
3
5
-1
1
-2
-5
0
1
4
0
0
0
0
0
0
0
-4
-3
-6
-8
3
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
1
-2
13
2
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
9
0
0
4
-11
0
0
-2
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
1
-1
0
0
0
0
0
2
0
-4
-24
-9
-3
20
2
-2
2
4
0
0
0
0
0
0
0
0
-2
-1
-2
33
4
-8
3
-3
0
0
0
0
0
0
0
0
0
1
8
-1
-6
-6
-4
0
-4
-2
0
0
0
0
0
0
0
-20
0
-7
0
5
1
1
-6
0
0
0
0
0
0
0
0
0
0
5
1
-4
-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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-3
-1
1
1
-3
-9
-2
1
0
0
0
0
0
0
0
0
0
1
0
-5
3
-3
-4
-4
0
0
0
0
0
0
0
0
0
0
-1
-2
4
-8
0
1
0
3
0
0
0
0
0
0
0
-2
3
4
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
6
-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
-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
-11
-3
3
-1
-3
4
3
0
0
0
0
0
0
0
0
0
0
1
3
-2
2
0
-3
0
0
0
0
0
0
0
0
0
0
-1
1
4
-2
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
-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
1
0
0
0
0
0
0
0
0
0
0
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
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
-25
-1
0
1
0
0
0
0
0
0
0
0
0
5
-9
0
7
-1
-4
2
-34
0
0
0
0
0
0
0
0
0
4
-4
23
-2
23
1
-2
-1
0
0
0
0
0
0
0
0
1
6
-1
-1
-13
-7
-1
0
-63
0
0
0
0
0
0
0
0
0
10
10
-5
-6
-1
-7
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
-1
-24
21
20
-7
5
-2
0
0
0
0
0
0
0
0
0
12
-10
-5
11
3
13
-7
0
-4
0
0
0
0
0
0
0
0
2
9
-54
-18
23
1
-13
2
2
47
0
0
0
0
0
0
0
-1
19
-18
24
27
15
-10
-2
-44
-19
0
0
0
0
0
0
0
-5
-6
-4
-14
23
-20
-21
1
16
-2
0
0
0
0
0
0
0
0
1
-10
31
0
4
3
4
0
3
0
0
0
0
0
0
0
0
2
4
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
3
-7
-61
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
18
4
0
32
-27
-3
0
3
0
1
0
0
0
0
0
0
0
18
35
-2
6
4
31
29
-25
-43
-13
0
0
0
0
0
0
0
0
1
-25
3
23
-13
-13
-13
13
-11
0
0
0
0
0
0
0
6
22
-14
-18
-12
57
-4
-7
19
1
0
0
0
0
0
0
0
-29
25
-1
-21
-8
-32
-16
2
26
0
0
0
0
0
0
0
0
7
8
5
52
5
15
0
0
0
0
0
0
0
0
0
0
0
1
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
2
0
-1
0
-37
8
-6
1
0
0
-8
0
0
0
0
0
0
0
3
-10
9
32
-3
-3
0
-1
0
-13
0
0
0
0
0
0
0
6
55
-10
-3
7
-1
31
-5
-11
17
-2
0
0
0
0
0
-1
-1
14
-1
14
9
3
-7
-9
3
16
0
0
0
0
0
0
0
-2
-21
-16
0
6
-20
14
0
-3
5
-1
0
0
0
0
0
0
-2
-5
-8
5
17
19
10
1
0
0
0
0
0
0
0
0
0
0
7
-18
-7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-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
1
0
8
-17
8
-4
1
-5
0
0
-1
0
0
0
0
0
0
0
2
-5
0
-5
16
37
0
3
0
-13
-1
0
0
0
0
0
0
-2
-6
4
3
-2
-2
-4
-50
-13
0
1
0
0
0
0
0
0
-5
2
27
-13
-15
37
-9
22
6
0
0
0
0
0
0
0
0
-10
-2
-3
10
-4
4
-1
1
-2
5
0
0
0
0
0
0
0
7
-2
7
-6
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
6
-1
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
-9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
21
-4
18
0
-28
0
11
0
0
0
0
0
0
0
0
0
1
-14
-17
-5
-17
3
31
0
0
0
0
0
0
0
0
0
-5
6
0
11
11
-4
1
9
-6
0
2
0
0
0
0
0
2
2
-2
-2
-7
-5
0
0
0
0
1
0
0
0
0
0
0
2
-3
-4
-21
-15
6
0
0
1
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
-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
1
-1
-1
-3
-7
0
1
0
0
-1
2
0
0
0
0
0
0
0
5
-2
-9
5
-5
0
4
0
-7
2
0
0
0
0
0
0
0
2
10
6
-21
4
10
-6
6
-15
2
0
0
0
0
0
0
0
5
19
-7
-18
-6
-1
3
18
2
0
0
0
0
0
0
0
6
-15
-3
0
-12
-5
-2
-1
3
0
0
0
0
0
0
0
0
-2
4
5
3
-3
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-1
-22
-1
0
2
0
-7
-11
0
0
0
0
0
0
0
1
0
-2
-2
-8
2
-19
2
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
-5
8
-2
0
0
0
0
0
0
0
0
0
5
2
2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
3
3
-3
-3
4
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
2
1
3
-1
-10
0
0
0
0
0
0
0
0
0
1
-2
0
4
0
0
5
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
4
-8
0
-1
-1
-6
0
0
0
0
0
0
0
0
0
-2
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
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
5
4
0
-2
0
-2
0
0
0
0
0
0
0
0
2
0
-2
-12
-12
1
-3
1
-6
5
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
1
0
4
0
0
0
0
0
0
0
0
0
1
-12
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
9
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
-1
-2
-1
-4
8
0
0
0
0
0
0
0
0
1
2
2
9
-17
-4
-1
0
-4
0
0
0
0
0
0
0
0
3
1
0
-3
0
3
0
0
3
0
0
0
0
0
0
0
0
0
-1
-1
0
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
8
16
0
5
-31
10
-7
0
0
-2
0
0
0
0
0
0
0
-3
0
4
26
13
-11
22
0
-5
0
0
0
0
0
0
0
0
1
14
6
18
-12
9
-3
-19
0
22
0
0
0
0
0
0
0
-29
-1
17
17
-42
-14
16
23
29
-34
0
0
0
0
0
0
0
-14
-41
-16
-13
25
-11
5
-1
24
-2
0
0
0
0
0
0
0
0
8
14
0
-5
0
1
0
0
4
0
0
0
0
0
0
0
0
0
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-23
11
-22
-5
2
0
2
6
0
0
0
0
0
0
0
0
-1
16
4
-7
-35
0
1
0
0
0
0
0
0
0
0
0
10
-14
8
51
18
18
-6
-2
2
-3
0
0
0
0
0
0
0
0
18
-6
24
26
-14
-20
-1
32
-1
0
0
0
0
0
0
0
-16
1
-16
5
26
-19
5
-1
9
-1
0
0
0
0
0
0
0
0
-7
-5
5
6
-23
0
0
1
4
0
0
0
0
0
0
0
0
0
-3
5
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
3
-1
0
5
-31
4
-2
0
0
2
-13
0
0
0
0
0
0
-7
0
4
16
25
0
-15
0
-1
0
4
-4
0
0
0
0
0
0
4
6
-1
12
-2
21
-20
-26
28
0
-3
0
0
0
0
0
0
-12
-2
-12
0
-34
-24
17
19
-22
-12
0
0
0
0
0
0
0
0
4
5
0
5
-4
5
0
-8
-3
0
0
0
0
0
0
0
0
-5
-1
-4
4
-9
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
-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
-1
0
-2
2
4
10
2
1
0
2
-5
0
0
0
0
0
0
0
-2
1
-1
-12
-1
13
0
0
0
-9
1
0
0
0
0
0
0
-4
-1
-4
0
7
-6
9
-16
-11
1
5
0
0
0
0
0
0
-3
4
-2
4
10
47
1
3
-9
1
2
0
0
0
0
0
0
0
-10
-1
-6
-16
3
-14
-2
0
-1
0
0
0
0
0
0
0
-1
5
1
-6
-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
0
0
2
0
0
0
0
0
0
0
0
0
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
-4
5
1
-1
-4
0
-2
1
0
0
0
0
0
0
0
0
-9
-2
15
-6
7
0
0
0
1
1
0
0
0
0
0
0
-1
-2
2
-2
0
4
-3
-3
24
0
1
0
0
0
0
0
0
2
0
-4
-1
-38
17
0
3
0
4
3
0
0
0
0
0
0
0
14
1
10
2
0
-8
-3
0
-1
0
0
0
0
0
0
0
-1
0
-14
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-5
1
2
0
-2
-5
0
0
0
0
0
0
0
0
13
0
-19
-12
0
0
1
0
0
2
0
0
0
0
0
0
0
-3
3
0
-5
0
5
-2
9
-8
0
0
0
0
0
0
0
0
-2
-4
4
5
-12
4
0
1
0
0
0
0
0
0
0
0
0
-1
12
4
6
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
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
0
1
-9
0
1
-4
1
0
0
0
0
0
0
0
-1
-5
-4
-8
16
0
1
0
4
1
1
0
0
0
0
0
0
7
-10
1
-1
-1
0
-2
0
-14
0
0
0
0
0
0
0
0
0
3
-9
5
-10
-1
2
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
5
-1
1
-1
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
-15
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
11
0
12
31
-5
-20
0
1
0
0
0
0
0
0
0
0
0
0
4
-2
-10
-1
-3
-1
2
-4
2
0
0
0
0
0
0
0
0
-6
-1
1
-8
-1
-5
8
-6
0
0
0
0
0
0
0
0
-4
-1
1
-6
2
1
-6
-4
1
0
0
0
0
0
0
0
0
3
0
-1
-7
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
-10
-12
-5
0
8
0
-4
1
0
0
0
0
0
0
0
-1
-3
16
-11
-6
-29
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
2
18
-5
3
1
2
5
0
1
0
0
0
0
0
4
5
-21
10
-59
-18
-10
3
1
4
0
0
0
0
0
0
0
-4
-2
-9
-1
-2
21
4
-7
-5
0
0
0
0
0
0
0
0
2
2
4
-6
0
2
1
1
0
1
0
0
0
0
0
0
0
0
8
0
-54
0
0
1
0
1
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-8
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
-3
-1
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
16
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
-25
26
13
-8
-11
5
0
-3
0
0
0
0
0
0
0
0
-4
-1
-3
-13
-4
2
-12
-10
0
21
0
0
0
0
0
0
0
0
0
1
12
-2
-12
13
-5
-23
-7
0
0
0
0
0
0
0
1
5
-2
0
14
-12
-14
2
1
0
0
0
0
0
0
0
0
0
1
-6
0
0
-2
-2
0
0
1
0
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
0
0
0
-1
0
0
0
0
0
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
35
0
15
2
0
1
8
0
0
0
0
0
0
0
7
9
22
15
-8
-26
0
-1
0
-3
0
0
0
0
0
0
0
2
9
-4
5
-24
-8
-1
-25
-19
-3
0
0
0
0
0
0
0
13
0
-1
-13
-11
14
-4
14
16
0
0
0
0
0
0
0
0
0
2
-3
-19
53
6
6
-3
0
0
0
0
0
0
0
0
0
0
-6
-1
-5
-3
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
-1
0
0
0
0
0
0
0
0
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
0
0
0
1
2
0
0
0
0
0
0
0
0
2
5
9
-4
-7
0
23
0
-17
0
0
0
0
0
0
0
-1
1
4
-10
19
10
-19
3
5
-1
0
0
0
0
0
0
9
6
4
0
16
3
-7
11
4
2
-1
0
0
0
0
0
0
0
3
-3
-1
11
20
3
0
14
0
0
0
0
0
0
0
0
0
0
-10
-1
-2
0
2
0
0
-5
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
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
0
3
-4
4
9
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
3
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-15
-2
-12
-29
1
-11
0
1
0
0
0
0
0
-3
1
-1
-4
0
4
-6
5
2
9
4
0
0
0
0
0
0
0
0
-2
-5
-3
-7
3
-13
10
-5
0
0
0
0
0
0
0
0
3
-9
0
-5
9
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
4
0
0
0
0
0
0
0
0
1
2
-1
1
2
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
-11
-1
3
-11
-6
-4
4
0
0
0
0
0
0
4
0
0
-4
-1
-1
0
0
-2
0
-2
0
0
0
0
0
0
0
4
0
2
-4
1
-5
0
-2
0
1
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
-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
-3
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
1
0
-11
0
-2
0
2
0
0
0
0
0
0
0
0
-1
-1
-5
5
-3
-2
0
-5
-1
-2
0
0
0
0
0
0
0
-1
2
0
6
-2
1
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-1
9
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
-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
1
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
4
3
3
-4
5
9
0
-1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-3
0
3
2
0
1
0
0
0
0
0
0
8
-2
-1
-3
0
0
-5
0
-1
-2
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
-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
3
0
0
0
0
0
0
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
4
2
0
-1
0
0
0
3
0
0
0
0
0
0
1
-1
-10
34
23
-4
-10
0
12
0
0
0
0
0
0
0
0
3
-2
-10
9
25
9
-1
-1
-47
1
-5
0
0
0
0
0
0
0
-6
-4
15
8
-11
-1
4
0
2
-1
0
0
0
0
0
0
-5
2
0
-3
-21
-28
5
0
-4
0
0
0
0
0
0
0
0
0
-3
-1
5
4
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
3
0
-7
-1
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
1
-22
-17
-4
0
-9
0
-2
0
0
0
0
0
0
0
0
-11
10
-27
-5
-17
26
0
5
0
0
0
0
0
0
0
0
0
-1
37
-14
1
-23
8
-2
-4
28
0
0
-1
0
0
0
0
0
3
0
-3
4
-11
-23
-15
-2
0
-5
0
0
0
0
0
0
0
0
2
7
12
-28
-14
-1
1
-26
0
0
0
0
0
0
0
0
2
1
0
1
-11
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-2
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
1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
1
2
0
-1
0
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-1
0
0
0
0
0
0
0
1
-1
1
7
8
15
0
0
2
0
0
0
0
0
0
0
0
0
0
4
-11
-20
-20
11
-4
26
6
0
0
0
0
0
0
0
2
4
2
-7
1
4
8
-7
-3
0
0
0
0
0
0
0
0
0
0
0
4
8
16
9
0
9
1
0
0
0
0
0
0
0
0
0
2
-23
0
0
-2
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
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
-23
-4
-13
-6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
24
-1
0
3
0
-1
0
0
0
0
0
0
0
-2
-39
-4
19
-4
-8
10
-5
4
3
0
0
0
0
0
0
0
0
-1
0
-1
34
11
5
3
-1
0
0
0
0
0
0
0
-1
0
0
-1
21
2
-17
-3
0
4
0
0
0
0
0
0
0
0
-3
5
-24
9
-2
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
4
-7
-14
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
-2
1
-2
5
-3
0
-3
0
0
1
0
0
0
0
0
0
0
0
-5
-3
-4
1
8
0
0
0
3
3
0
0
0
0
0
0
0
-5
5
10
6
-2
-17
-1
-3
1
-4
0
0
0
0
0
0
0
0
0
-19
-3
2
-12
2
-2
-5
0
0
0
0
0
0
5
0
-2
0
1
1
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
-2
1
-1
3
-2
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
8
0
0
-11
2
1
0
0
0
-1
0
0
0
0
0
0
0
-4
3
24
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-35
9
13
1
9
-8
1
-3
0
0
0
0
0
0
0
-1
0
-23
-34
16
-2
1
-3
6
0
0
0
0
0
0
-1
0
0
3
0
5
-4
5
0
0
0
0
0
0
0
0
0
0
0
1
1
4
1
6
0
0
-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
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
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
1
3
0
0
0
3
-3
0
0
0
0
0
0
0
0
-2
-1
1
0
2
0
2
-3
-1
0
0
0
0
0
0
0
0
-17
0
13
-3
0
-10
0
0
0
0
0
0
0
0
0
0
-2
0
12
0
-3
-2
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
-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
1
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
-3
6
1
1
-4
-2
0
0
0
0
0
0
0
0
0
1
0
-3
-2
0
0
0
-1
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
-1
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
1
0
-2
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
-12
-1
0
-4
0
-2
0
0
0
0
0
0
-1
0
1
-9
-2
1
-4
0
0
3
0
0
0
0
0
0
0
0
3
1
1
3
-13
-14
0
-11
0
0
0
0
0
0
0
0
2
0
18
0
2
-23
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-14
6
3
0
0
1
0
0
0
0
0
0
0
0
0
-4
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
0
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
1
-3
0
0
0
0
0
0
0
0
0
0
2
17
15
6
-19
4
7
0
0
0
0
1
0
0
0
0
0
14
1
-3
5
-27
21
-5
5
-5
-23
0
0
0
0
0
0
0
0
1
-5
2
8
0
3
2
-4
4
0
0
0
0
0
0
0
0
1
-10
-6
-6
13
-6
2
0
-3
0
0
0
0
0
0
0
4
0
0
-66
-11
4
-41
12
-3
0
0
0
0
0
0
0
0
3
0
-7
-2
5
-1
18
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
6
0
4
-4
0
-5
-1
0
0
0
0
0
0
0
-5
-4
39
-8
4
3
0
0
0
1
0
0
0
0
0
0
0
7
-9
3
19
7
12
-4
7
-36
0
0
0
0
0
0
0
0
2
0
-14
-4
-29
23
-7
0
-5
0
0
0
0
0
0
0
0
0
7
-3
-18
-5
14
-2
0
0
-1
0
0
0
0
0
0
0
1
1
-8
-12
-16
-3
2
1
0
0
0
0
0
0
0
0
0
1
0
-2
-8
-5
-5
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
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
-1
-5
0
-1
0
0
0
-14
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
1
-4
6
0
-1
0
4
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
-1
-7
0
-2
0
0
0
0
0
0
0
0
0
0
10
1
-1
-16
-9
0
3
0
0
0
0
0
0
0
0
0
17
-3
-11
7
2
5
3
3
-1
0
0
0
0
0
0
0
-4
-4
0
1
-10
-34
0
0
0
2
0
0
0
0
0
0
0
0
0
-2
11
0
3
-3
0
0
2
0
0
0
0
0
0
0
0
0
9
-6
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
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
2
0
0
0
0
0
0
0
10
0
0
-1
-10
7
0
0
0
-1
0
0
0
0
0
0
0
0
1
-8
-1
-20
32
0
-2
8
0
0
0
0
0
0
0
0
0
0
-10
-22
5
-3
0
0
2
-2
0
0
0
0
0
0
0
-2
1
19
-8
-1
-14
-3
1
0
0
0
0
0
0
0
0
0
2
0
-4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
3
1
1
-1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
4
1
-7
11
9
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-7
5
1
-1
0
0
0
5
0
0
0
0
0
0
0
5
0
0
3
7
-1
-1
1
0
1
0
0
0
0
0
0
0
-7
1
0
-1
-5
0
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
0
1
2
0
-1
1
0
0
0
0
0
0
0
0
2
-1
14
6
-5
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
-1
0
-10
1
0
8
-2
0
0
0
0
0
0
0
0
-2
-2
-1
-8
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
-3
0
14
6
23
-1
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
-23
3
0
0
-2
0
0
0
0
0
0
0
0
-1
-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
0
0
0
-4
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
8
6
-2
0
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
0
-1
-2
-7
10
1
0
1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
3
0
0
1
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
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
3
0
0
1
0
0
-3
0
0
0
0
0
0
0
7
0
3
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-11
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
40
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
19
0
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
0
7
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
-11
-2
6
1
5
0
0
0
0
0
0
0
0
0
0
0
26
11
42
4
5
0
0
1
0
0
0
0
0
0
0
0
1
-1
-1
6
4
2
-29
-1
18
-63
-5
0
0
0
0
0
0
0
10
-18
-1
-9
34
-32
-2
-1
0
0
0
0
0
0
0
0
0
-15
4
-1
-34
27
-34
0
0
-2
0
0
0
0
0
0
0
-4
2
-19
3
-50
34
29
-9
0
0
0
0
0
0
0
0
0
0
1
-7
-10
-16
4
-5
-11
0
0
0
0
0
0
0
0
0
0
0
-4
0
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
23
0
0
0
0
4
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
-14
5
0
0
-3
3
0
-17
3
0
0
0
0
0
0
0
0
0
0
11
2
2
0
0
4
0
0
0
0
0
0
0
0
0
-2
8
-31
-1
-1
-2
-4
1
1
0
0
0
0
0
0
0
0
-3
4
-8
1
8
-1
2
0
0
0
0
0
0
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-1
0
-6
-2
2
-9
0
0
0
0
0
0
0
0
1
0
0
5
-5
-2
-7
0
-4
0
0
0
0
0
0
0
1
2
-2
0
-17
1
-20
1
1
4
0
0
0
0
0
0
0
0
0
12
3
7
1
-3
0
0
3
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
3
-2
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
12
1
-14
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-7
-4
26
2
2
-6
0
0
0
0
0
0
0
0
-4
0
-8
-5
0
-4
-1
0
-15
-3
0
0
0
0
0
0
0
0
-2
7
-4
1
-12
-1
12
18
0
0
0
0
0
0
0
0
-4
-1
3
4
27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
0
1
-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
2
0
0
-3
6
2
0
0
-1
0
0
0
0
0
0
0
2
0
2
-10
-7
-6
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
-3
11
-3
-4
0
16
-3
0
0
0
0
0
0
0
1
0
0
-2
-4
22
-19
0
0
0
0
0
0
0
0
0
0
0
-1
6
-3
-7
0
-2
-1
-1
1
0
0
0
0
0
0
0
1
0
-4
2
21
-8
1
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
3
1
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
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
5
-1
-5
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
-1
-5
-20
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
-7
-3
0
-7
0
0
0
0
0
0
0
0
1
-1
-15
-19
-4
-1
0
2
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
-4
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
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-6
0
2
0
0
0
0
0
0
0
0
0
-1
0
1
-10
0
-1
1
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
-7
0
0
-1
-6
0
0
0
-16
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
5
0
0
0
0
-1
0
-2
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
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
3
0
1
-5
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
2
0
-6
2
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
3
0
6
1
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
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
-26
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
4
4
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
12
0
-27
0
2
9
0
0
0
0
0
0
0
0
19
-1
2
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
17
7
21
-2
0
-2
0
0
0
0
0
0
0
0
-4
0
31
-10
9
8
0
0
-17
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
18
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
-3
3
5
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
-4
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
4
0
0
0
1
0
0
0
0
0
0
0
-3
0
-1
-2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
-4
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
-1
0
-7
2
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-14
-22
0
0
0
5
0
0
0
0
0
0
0
0
0
2
-1
-2
3
0
0
2
0
0
0
0
0
0
0
0
0
0
14
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
-6
0
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
11
-1
-3
2
0
0
0
0
0
0
0
0
0
0
-1
1
1
2
3
-8
4
2
0
0
0
0
0
0
0
0
-1
0
-5
1
-3
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
2
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
-8
1
1
-1
0
0
4
0
0
0
0
0
0
0
0
1
0
2
-3
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
0
2
-6
0
0
0
0
0
0
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
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
-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
0
0
0
0
0
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
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
0
3
0
0
0
0
0
0
0
0
0
0
1
4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
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
-1
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
0
-1
1
9
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
-4
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
0
-4
1
6
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
7
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
0
0
0
-4
-2
27
2
0
0
0
0
0
0
0
0
0
-16
-1
3
-14
12
-2
-16
15
-1
-2
0
0
0
0
0
0
0
0
0
-27
-18
60
-34
35
8
-10
0
0
0
0
0
0
0
0
0
0
-5
-16
38
0
10
1
0
-4
0
0
0
0
0
0
0
0
-7
16
0
-9
-16
29
-4
1
0
0
0
0
0
0
0
0
0
2
9
-6
-11
-19
-1
-19
18
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
14
-13
4
0
-41
0
0
0
0
0
0
0
0
15
0
1
-54
17
57
17
-1
-24
0
0
0
0
0
0
0
1
-41
0
-23
-2
40
23
-34
35
-17
-1
0
0
0
0
0
0
0
41
0
23
-1
-39
-15
10
-3
2
-2
0
0
0
0
0
0
0
49
0
25
-89
19
-50
-4
-5
0
0
0
0
0
0
0
0
0
-12
-2
-6
-1
41
-7
-15
0
2
0
0
0
0
0
0
0
0
0
-2
-1
24
-7
20
5
-6
-3
0
0
0
0
0
0
0
0
0
10
0
2
9
-11
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
-1
3
-20
0
-23
2
0
0
0
0
0
0
0
3
21
0
-1
-18
-15
22
-9
12
0
0
0
0
0
0
0
0
-47
10
3
-12
5
10
-10
7
-12
2
0
0
0
0
0
0
2
0
24
0
-13
29
0
0
2
0
15
0
0
0
0
0
0
9
-5
-8
1
44
3
-32
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
2
-2
14
-5
-11
0
2
0
0
0
0
0
0
0
0
-2
3
5
2
-1
0
31
1
0
0
0
0
0
0
0
0
0
0
0
-2
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
4
-21
-15
0
-9
0
0
0
0
0
0
0
0
8
-1
4
-4
-2
4
-39
-7
1
4
4
0
0
0
0
0
-9
6
1
15
-2
-8
-9
-14
-26
3
0
2
0
0
0
0
0
0
2
0
23
6
35
-2
5
-4
8
0
0
0
0
0
0
0
0
-16
14
8
3
-1
15
-3
0
0
0
0
0
0
0
0
0
0
1
3
0
1
-4
17
-4
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-1
-1
0
2
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
-27
-12
0
8
-1
0
0
0
0
0
0
0
-1
-1
1
0
4
0
-8
-1
-2
0
-1
0
0
0
0
0
0
-12
0
0
4
-7
-1
2
-6
2
-1
0
0
0
0
0
0
0
-4
0
0
3
-2
-4
1
1
1
0
0
0
0
0
0
0
1
2
0
1
13
-1
3
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
-1
-4
1
-1
1
-1
0
0
0
0
0
0
0
0
0
3
4
0
-5
-1
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
3
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
-4
1
0
-3
0
0
0
21
5
1
0
0
0
0
0
0
0
11
0
0
7
3
-4
1
2
-1
0
0
0
0
0
0
0
0
3
0
3
8
0
-1
-1
-1
8
0
0
0
0
0
0
0
0
0
0
1
-1
-3
1
0
7
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
-3
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
1
2
1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-7
0
0
0
0
0
0
0
0
0
0
7
5
17
9
-4
-25
24
-4
0
0
0
0
0
0
0
0
-5
-1
2
6
1
13
12
0
3
0
0
0
0
0
0
0
0
-5
17
-1
-29
0
-4
4
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-4
4
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
2
-12
-1
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
0
0
0
0
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
32
-38
0
10
8
0
6
0
0
0
0
0
0
0
-13
-1
-54
-12
79
-31
0
1
-42
-2
0
0
0
0
0
0
0
43
7
17
-5
-29
-33
-44
-11
-74
5
0
0
0
0
0
0
0
32
0
0
-38
21
-13
25
28
19
0
0
0
0
0
0
0
0
-5
5
2
2
-25
-20
2
0
0
0
0
0
0
0
0
0
0
-3
-1
-6
11
-2
-18
0
14
3
0
0
0
0
0
0
0
0
3
0
14
1
38
-6
19
-5
9
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
-2
-5
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
13
34
1
-7
48
-4
24
26
0
-3
0
0
0
0
0
0
0
-1
60
0
16
-12
-20
-23
75
15
29
0
0
0
0
0
0
0
-9
-25
-3
8
-42
17
42
10
19
-19
-1
0
0
0
0
0
0
0
-62
0
-1
-7
-13
39
-14
16
-27
0
0
0
0
0
0
0
0
22
-1
-9
-96
26
54
-4
-18
1
-1
0
0
0
0
0
0
4
14
2
15
7
56
38
17
27
7
0
0
0
0
0
0
0
0
6
0
7
19
8
22
0
-12
0
0
0
0
0
0
0
0
0
3
0
0
1
-2
1
3
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
3
7
-4
0
10
-2
7
20
0
-22
-25
0
0
0
0
0
0
1
0
-6
1
38
19
37
-54
-38
13
15
0
0
0
0
0
0
-5
19
2
9
21
-45
1
5
34
0
-5
0
0
0
0
0
0
-13
22
9
-1
-9
-55
15
7
-3
-2
1
0
0
0
0
0
0
-3
-7
-19
-14
-24
-42
6
13
1
-2
2
0
0
0
0
0
0
-1
0
-17
-1
-18
-6
-6
5
-16
-3
-2
0
0
0
0
0
0
0
0
-3
0
-3
-2
-6
4
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
4
-4
0
-3
10
-42
9
0
-3
-4
0
0
0
0
0
0
20
-10
1
-20
1
42
-31
-3
-7
-14
-17
0
0
0
0
0
0
0
1
-9
7
5
-7
-1
-7
45
-12
-8
0
0
0
0
0
0
1
-17
10
51
2
8
-17
45
4
-18
-9
0
0
0
0
0
0
0
-4
-11
-25
11
14
61
35
-1
-7
0
0
0
0
0
0
0
0
0
0
-8
-2
-25
-3
-5
9
7
2
0
0
0
0
0
0
0
0
0
0
7
1
19
1
-1
14
2
1
0
0
0
0
0
0
0
0
-5
0
4
0
0
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
-6
-2
0
-5
0
0
3
-11
0
4
2
1
0
0
0
0
0
-5
-2
1
-2
2
-2
41
-26
-38
-4
2
5
0
0
0
0
0
1
0
-10
-2
0
20
22
-8
-6
7
0
0
0
0
0
0
0
-6
1
4
2
19
-6
3
-8
4
15
0
0
0
0
0
0
0
1
-3
-3
5
-2
-1
20
8
2
0
0
0
0
0
0
0
0
-1
0
-1
0
3
-4
11
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
-6
-2
0
3
0
0
0
0
0
0
0
0
1
0
0
6
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
-4
-1
0
0
-1
1
2
0
9
4
0
0
0
0
0
0
0
-11
0
-3
-2
3
6
28
-12
0
-7
0
-1
0
0
0
0
0
-3
7
1
3
12
-27
-2
9
8
-2
0
0
0
0
0
0
0
-5
1
3
0
-15
-4
4
15
-1
3
0
0
0
0
0
0
0
2
6
0
1
6
-6
0
2
2
0
0
0
0
0
0
0
0
-1
0
-3
7
0
-1
-17
4
-10
0
0
0
0
0
0
0
0
0
0
0
1
1
0
3
-3
-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
0
0
0
0
0
0
0
4
0
0
0
1
0
0
-17
0
-2
-1
1
0
0
0
0
0
1
0
0
0
0
-1
28
-1
3
-5
2
0
0
0
0
0
0
-3
1
-9
-2
0
0
-6
-4
1
5
0
0
0
0
0
0
0
0
-2
1
0
0
0
-2
-8
2
0
2
0
0
0
0
0
0
-4
0
-1
0
-2
-4
-4
0
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
3
-17
0
-3
0
0
0
0
0
0
0
0
6
-8
-5
-2
16
1
-15
-7
-1
-1
0
0
0
0
0
0
0
2
-3
-2
-7
-10
12
17
1
1
0
0
0
0
0
0
0
0
-2
-2
0
-1
13
10
5
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
11
0
0
0
0
0
0
0
0
0
0
1
0
9
7
0
-1
-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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
-4
-2
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
2
-21
-3
-1
-2
-1
0
0
0
0
0
0
0
0
2
-16
6
9
-8
6
-4
3
-1
0
0
0
0
0
0
0
0
1
-7
0
-1
0
3
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
3
0
-3
1
1
13
-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
-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
6
-3
2
0
-2
0
0
0
0
0
0
0
0
0
0
3
-1
1
1
-2
1
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
4
0
-2
-3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
1
0
0
0
0
0
0
0
0
0
0
1
3
-3
-11
-2
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-7
7
-4
5
1
0
0
0
0
0
0
0
0
0
0
0
9
47
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-21
0
0
0
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
0
0
0
0
0
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
-16
-40
-15
-5
5
-61
0
0
0
0
0
0
0
0
0
28
0
-4
-78
-21
-9
51
20
6
-9
0
0
0
0
0
0
0
26
6
17
-13
-21
-17
5
24
-14
20
0
0
0
0
0
0
0
3
0
14
-17
-23
35
-48
13
1
0
0
0
0
0
0
0
0
1
1
-5
16
5
14
21
1
-9
0
0
0
0
0
0
0
0
0
0
10
-1
17
-15
12
4
4
0
0
0
0
0
0
0
0
0
0
-1
0
7
-6
-6
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
-25
0
7
6
-3
0
-38
0
16
0
0
0
0
0
0
0
2
-10
3
-48
26
20
-16
12
-6
0
1
0
0
0
0
0
0
2
25
0
-4
-28
-8
45
5
7
-25
0
0
0
0
0
0
0
0
5
0
-38
31
-42
-38
0
-1
-7
0
0
0
0
0
0
0
1
21
0
-6
-33
-98
-4
8
1
0
0
0
0
0
0
0
0
0
10
4
0
-3
7
-32
-6
-13
0
0
0
0
0
0
0
0
0
3
0
0
9
0
0
6
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
18
-2
19
0
0
15
-1
0
0
0
0
0
0
4
-8
24
-2
6
-20
-11
22
7
7
6
0
0
0
0
0
0
-3
2
7
4
-4
7
13
-2
-9
-5
4
0
0
0
0
0
0
-15
1
-2
5
-1
10
24
-15
0
-12
10
0
0
0
0
0
0
3
-2
14
1
7
23
6
-1
5
2
-8
0
0
0
0
0
0
0
0
0
0
-4
-20
-7
-4
-2
2
-9
0
0
0
0
0
0
0
0
0
0
-1
0
1
-5
-3
-1
4
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
-3
1
-1
0
20
9
7
0
1
0
0
0
0
0
0
0
0
8
-4
-15
0
-26
-39
1
1
8
-4
-1
0
0
0
0
0
-2
-13
0
-2
1
4
-29
-1
-2
1
-1
0
0
0
0
0
0
0
0
-6
3
0
26
12
-6
-1
-3
2
0
0
0
0
0
0
0
-1
0
-7
-9
1
-1
-4
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
4
13
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-9
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
-1
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
7
4
2
-4
-2
4
0
0
-1
-3
0
0
0
0
0
0
0
-1
0
5
6
4
-1
-11
-9
1
11
3
-2
0
0
0
0
-3
-1
-2
-1
-11
-3
16
49
27
-1
-2
-2
0
0
0
0
0
0
0
-2
1
6
-6
-26
26
1
-10
0
0
0
0
0
0
0
-3
0
-1
-4
7
5
9
-3
-6
0
-2
0
0
0
0
0
0
0
0
0
0
-2
2
5
-5
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
6
0
0
0
0
0
0
0
0
-5
0
-2
-7
-5
-1
9
7
4
-1
0
0
0
0
0
0
0
2
1
0
2
11
0
16
10
-5
-2
2
2
0
0
0
0
0
-1
-1
0
6
-1
-4
0
-3
4
0
0
0
0
0
0
0
0
1
0
0
2
2
-5
-2
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
-2
-7
-2
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
-2
0
1
-1
3
-1
-12
5
0
2
0
0
0
0
0
0
0
0
-1
3
-1
2
20
-25
-22
5
-1
6
0
0
0
0
0
0
0
-6
5
9
1
-5
1
-4
1
5
0
-3
0
0
0
0
0
0
0
0
0
11
-9
0
2
0
0
-2
0
0
0
0
0
0
1
0
0
2
-7
1
0
1
1
1
-1
0
0
0
0
0
0
0
0
-1
3
1
3
2
-8
-1
3
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
1
-1
1
0
-1
0
-11
-37
0
-3
0
0
0
0
0
0
0
-4
13
1
4
-4
25
-32
-1
-17
-1
0
0
-1
0
0
0
0
1
6
0
-5
14
16
34
-14
0
2
0
2
0
0
0
0
0
-2
-2
0
0
-7
14
3
3
3
-1
0
0
0
0
0
0
0
0
-2
0
-4
3
-11
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
-3
-5
-2
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
0
0
0
0
0
0
0
0
0
0
0
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
11
0
-31
-5
0
9
-1
0
0
0
0
0
0
0
6
24
-7
-39
-51
23
19
11
-18
19
0
0
0
0
0
0
0
12
-32
7
0
32
55
-59
-22
-1
-8
-4
0
0
0
0
0
0
8
6
13
20
-16
-18
-19
-3
-10
0
0
0
0
0
0
0
0
-25
4
3
-2
20
-32
-2
5
1
0
0
0
0
0
0
0
0
-2
-2
-2
2
-13
-4
-2
5
3
0
0
0
0
0
0
0
0
0
1
3
-10
-3
5
13
8
0
0
0
0
0
0
0
0
0
0
6
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
1
-2
0
0
2
-10
0
1
-2
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
-3
0
3
6
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
4
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
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
4
0
0
0
-2
0
0
0
0
0
0
0
0
2
2
-3
1
-1
2
5
-3
-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
0
0
12
4
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
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
10
-22
-15
0
0
0
0
0
0
0
0
0
-6
0
9
23
-5
-5
14
1
10
-7
0
0
0
0
0
0
0
-7
1
-1
-26
3
28
-14
-1
-38
4
0
0
0
0
0
0
0
4
-1
-4
2
-16
57
-6
10
3
-2
0
0
0
0
0
0
0
-1
0
1
8
-11
2
37
1
-5
0
0
0
0
0
0
0
0
0
0
1
2
-8
5
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
3
0
0
0
0
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
38
-7
13
12
0
8
0
0
0
0
0
0
0
0
-13
-2
-15
18
-18
-42
-3
-31
7
0
0
0
0
0
0
0
-1
2
-1
8
12
-51
-28
-11
-31
4
0
0
0
0
0
0
0
0
1
2
19
-1
5
-9
12
-10
1
1
0
0
0
0
0
0
0
-3
5
3
31
0
14
3
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-3
1
0
5
0
0
0
0
0
0
0
0
0
0
0
-13
0
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
17
-2
-4
11
-18
-1
0
2
0
0
0
0
0
0
0
0
-2
-10
8
-5
-12
14
-18
12
-2
8
0
0
0
0
0
0
0
0
25
0
-12
-19
-17
-4
-3
3
4
0
0
0
0
0
0
1
0
15
0
0
0
3
-5
9
0
0
0
0
0
0
0
0
0
-13
0
0
13
3
-2
-6
-3
-1
0
0
0
0
0
0
0
0
0
-5
-4
-1
-2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
13
0
9
0
6
0
0
0
0
0
0
0
0
6
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
-1
-1
6
0
20
0
-9
2
0
0
0
0
0
0
-1
8
5
-8
-1
-22
1
5
13
1
0
1
0
0
0
0
0
1
5
7
15
4
2
-3
29
-35
7
2
0
0
0
0
0
0
0
0
0
0
-1
4
1
-6
1
0
0
0
0
0
0
0
0
0
5
0
-1
0
-5
2
3
-7
1
0
0
0
0
0
0
0
0
0
0
2
0
2
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
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
10
0
1
3
-48
-6
0
0
0
0
0
0
0
0
0
4
2
1
0
-17
1
43
-17
-35
3
0
0
0
0
0
0
0
0
0
0
2
-19
-6
0
2
-6
-2
1
0
0
0
0
0
0
0
0
4
0
0
1
-1
-1
2
2
0
0
0
0
0
0
0
0
1
0
-3
-1
-1
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
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
0
1
0
-3
-6
0
4
0
-1
-1
0
0
0
0
0
0
0
3
0
-2
-2
12
-3
-25
2
4
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-5
6
-3
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
-5
1
-40
0
-9
-5
10
-3
1
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
0
3
0
4
0
0
0
0
0
0
0
-6
-2
3
-2
-5
0
-27
5
-11
-2
-1
0
0
0
0
0
0
-1
1
3
-5
17
17
-6
10
0
0
1
0
0
0
0
0
0
0
0
-1
-6
-1
15
1
-2
1
-2
0
0
0
0
0
0
0
0
0
0
12
3
-1
0
-4
0
2
1
0
0
0
0
0
0
0
0
-4
3
-1
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
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
-9
0
-4
-3
-2
4
16
23
0
-32
0
0
0
0
0
0
0
-21
4
-10
34
10
38
-23
0
28
1
-1
0
0
0
0
0
0
-11
4
17
6
9
15
-57
-2
27
1
2
0
0
0
0
0
0
0
3
0
8
-20
12
-25
19
0
50
0
0
0
0
0
0
0
0
1
-18
0
41
-7
3
0
1
0
0
0
0
0
0
0
0
0
0
11
16
-6
17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
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
6
-1
6
-3
-5
10
0
1
1
0
0
0
0
0
0
0
-3
2
8
-2
3
-25
0
40
19
9
0
0
0
0
0
0
0
-7
0
7
34
6
-49
23
1
-5
-4
0
0
0
0
0
0
0
1
0
-10
-34
25
-3
9
-14
0
1
0
0
0
0
0
0
0
-3
-5
3
8
6
-6
2
0
8
0
0
0
0
0
0
0
0
-2
0
7
0
-7
6
2
-4
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
2
0
0
-3
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
1
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
1
9
0
0
-4
3
0
0
0
0
0
0
0
0
4
0
0
-2
2
2
2
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
-2
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
0
0
1
-2
0
0
0
0
0
0
0
0
0
-7
-2
-1
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
2
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
-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
5
0
-2
0
-3
15
21
2
0
0
0
0
0
0
0
0
0
-21
0
8
-38
26
13
12
11
-6
-1
0
0
0
0
0
0
0
-6
0
4
-11
4
-5
-16
2
0
0
0
0
0
0
0
0
0
21
0
0
3
-1
10
-17
-8
2
0
0
0
0
0
0
0
0
0
0
1
0
-2
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
-28
-25
-11
0
0
0
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
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
-1
1
1
2
-5
3
2
0
7
0
0
0
0
0
0
0
0
4
0
-1
-7
2
0
8
18
0
0
0
0
0
0
0
0
0
-22
0
-7
23
-2
16
3
11
12
0
0
0
0
0
0
0
0
1
0
-14
5
22
-11
9
2
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
-6
-1
0
1
0
0
0
0
0
0
0
0
0
0
-4
-2
-13
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-5
3
5
0
0
-2
0
0
0
0
0
0
-3
-3
2
0
-11
26
6
-1
-3
1
0
0
0
0
0
0
0
-1
0
3
1
-4
5
0
14
11
0
3
0
0
0
0
0
0
0
3
-4
-1
-2
-3
-2
-11
2
9
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
5
6
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-1
8
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
0
0
0
0
0
0
0
0
0
0
1
2
1
-1
2
13
0
3
0
0
0
0
0
0
0
2
4
1
0
-5
1
9
-4
-2
0
2
3
0
0
0
0
0
1
0
0
-10
0
-3
2
0
4
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
3
0
1
0
0
-12
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
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
1
0
-1
-3
0
7
0
0
0
0
0
0
0
0
0
1
0
3
-6
3
14
-4
-5
0
0
-1
0
0
0
0
0
0
5
0
0
0
7
0
-3
-1
-3
0
0
0
0
0
0
0
0
0
4
4
0
0
2
0
-1
-1
-5
-2
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
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
-1
-5
1
6
13
6
6
0
-1
-1
0
0
0
0
0
0
0
0
-5
0
18
5
-1
0
-7
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
-4
0
0
0
0
0
0
0
0
7
4
-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
2
-3
0
-1
2
-14
-14
0
0
0
0
0
0
0
0
0
-1
1
-5
2
17
5
8
-13
10
0
-1
0
0
0
0
0
0
-5
0
0
-12
-25
2
7
-28
-15
0
-2
0
0
0
0
0
0
-13
0
-2
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-2
-1
1
-11
4
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
4
0
0
-1
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
-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
4
0
3
-2
5
9
-21
0
1
1
0
0
0
0
0
0
1
2
-9
-8
3
-5
24
-34
17
-4
0
0
0
0
0
0
0
-1
51
-6
-5
-7
6
1
4
-23
9
0
0
0
0
0
0
0
-1
7
-2
-7
31
21
-9
-15
0
0
0
0
0
0
0
0
0
2
-3
0
1
-8
2
5
0
0
-1
7
0
0
0
0
0
0
-1
0
-6
3
-25
-32
-13
0
-28
0
0
0
0
0
0
0
0
0
0
0
-8
2
5
-1
-1
1
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
12
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
-2
-1
-2
3
1
10
6
0
-2
0
0
0
0
0
0
0
0
-29
-2
-3
5
7
2
-4
-8
-22
-19
0
0
0
0
0
0
0
0
-14
-1
-19
-9
-4
0
9
15
0
0
0
0
0
0
0
0
-13
0
19
10
29
9
41
0
-1
0
0
0
0
0
0
0
0
2
8
-15
10
0
-47
2
-3
0
0
0
0
0
0
0
0
0
2
-7
-2
-22
-2
3
2
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
28
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
7
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
2
0
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
2
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
2
1
5
0
0
0
0
0
0
0
0
0
0
-1
-5
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
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
0
2
-4
13
0
-1
0
0
0
0
0
0
0
-1
0
1
-4
-6
3
10
-1
5
0
0
0
0
0
0
0
0
2
0
-5
6
-18
-3
-8
2
22
1
0
0
0
0
0
0
0
0
0
0
0
9
-7
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-3
-3
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
-8
2
0
-2
-1
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
10
0
0
0
0
0
0
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
0
3
0
0
0
0
0
0
0
0
2
-1
-4
4
-3
-11
-12
-14
2
0
0
0
0
0
0
0
0
18
0
2
10
5
22
-1
7
2
0
0
0
0
0
0
0
0
2
0
-1
14
-11
-9
6
-4
0
1
0
0
0
0
0
0
0
8
0
0
-5
-9
4
-4
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
-2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
11
10
7
0
-4
0
0
0
0
0
0
1
0
1
0
5
-5
-12
1
2
-2
0
0
0
0
0
0
0
0
0
3
3
-1
20
20
-7
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
-9
3
1
11
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
-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
1
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-1
13
0
-6
0
7
1
0
1
0
0
0
0
0
0
-2
-2
4
-1
3
-1
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
1
6
0
6
-19
6
7
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
8
0
7
-1
0
0
0
0
0
0
0
0
0
0
-3
0
1
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
0
0
0
0
0
0
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
1
-2
0
-3
-13
0
0
0
0
0
0
0
0
1
0
-1
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
7
5
0
-1
-4
0
5
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
2
0
0
0
0
0
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
-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
-3
2
0
0
3
0
0
0
1
0
0
0
0
0
0
0
5
0
1
2
-2
-3
0
1
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
3
0
-4
0
-1
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
2
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
0
0
0
0
0
0
0
0
0
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
-1
-9
0
1
-1
16
2
0
0
0
0
0
0
0
0
0
3
0
0
0
40
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-6
14
1
0
0
0
0
0
0
0
0
0
5
2
0
13
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-11
0
0
-3
0
0
-4
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
1
-4
0
-3
0
-5
20
0
-2
0
0
0
0
0
0
0
1
9
1
-2
0
20
0
42
31
1
-6
0
0
0
0
0
0
10
-3
3
-1
10
-3
-58
-18
0
1
0
0
0
0
0
0
0
1
-22
-2
69
40
15
-8
1
-9
1
0
0
0
0
0
0
0
-1
-1
-8
1
53
5
16
0
0
0
0
0
0
0
0
0
0
0
-3
3
-26
5
40
-1
-6
0
-3
0
0
0
0
0
0
0
0
0
-2
-5
17
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
2
0
-5
2
0
-1
0
0
0
0
0
0
0
0
-1
2
-2
2
3
-2
1
4
3
-1
0
0
0
0
0
0
0
9
-2
1
-3
-6
-1
-1
-12
-3
0
0
0
0
0
0
0
0
0
-1
1
10
45
5
-7
-2
0
-1
0
0
0
0
0
0
0
0
-9
-17
0
-1
9
-3
-2
0
0
0
0
0
0
0
0
0
1
3
0
-3
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
-3
-4
-5
0
-3
0
0
0
0
0
0
0
0
0
0
-1
-11
7
-1
4
14
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-19
6
4
-10
0
4
1
0
0
0
0
0
0
0
0
0
0
-4
16
21
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
27
2
-16
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-25
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
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
-2
-1
-2
-23
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
-28
14
1
50
3
13
0
0
0
0
0
0
0
0
0
0
1
4
-10
-1
3
-12
2
0
0
0
0
0
0
0
0
-2
0
2
-14
-8
-1
-1
-8
1
0
0
0
0
0
0
0
0
-2
0
0
18
-7
-25
16
1
0
0
0
0
0
0
0
0
0
-10
0
0
2
-4
1
-3
-4
0
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
-6
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
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-1
0
6
2
-1
0
0
0
0
0
0
0
8
0
3
0
-9
2
-15
-7
1
0
0
0
0
0
0
0
0
-1
5
0
0
3
-4
1
-9
4
2
0
0
0
0
0
0
0
0
0
-7
0
-5
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
3
0
-1
-12
-1
0
6
1
-2
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
0
0
0
0
0
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
0
-1
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
-1
0
-1
10
4
-2
0
-3
1
0
0
0
0
0
0
0
0
-3
-1
-2
-2
7
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
1
0
20
-3
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
1
-6
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
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
-1
0
1
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
8
2
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
6
3
-1
-2
0
-1
0
0
0
0
0
0
0
0
1
0
0
1
-1
4
0
-1
4
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-1
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
3
0
0
0
0
0
0
0
0
0
7
-7
-2
-1
2
1
7
-1
0
1
0
0
0
0
0
0
0
-1
0
-3
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
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-3
-3
0
0
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
-12
1
0
0
0
0
0
0
0
0
0
0
10
0
1
14
2
0
-1
0
-2
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
0
0
0
0
1
0
1
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
-11
-1
3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-21
-22
-6
0
0
0
0
0
0
0
0
-10
0
0
7
0
-9
2
-16
3
0
0
0
0
0
0
0
0
3
0
3
5
-1
14
-6
4
-7
0
0
0
0
0
0
0
3
9
0
-2
-9
15
0
14
-2
0
0
0
0
0
0
0
0
0
0
-1
-4
5
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
-7
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
-15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
7
-4
-2
0
0
0
0
0
0
0
6
10
0
-2
3
1
-3
5
-9
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
-2
-4
5
32
-6
-4
1
-4
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
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
1
-3
0
3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
2
1
7
0
0
0
0
0
0
0
0
0
0
0
10
9
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-7
0
3
8
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
-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
-4
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
2
4
0
3
0
5
0
0
0
0
0
0
0
0
0
0
3
0
-6
-3
2
5
0
1
0
0
0
0
0
0
0
0
3
0
6
4
21
-1
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
10
1
6
0
0
0
0
0
0
0
0
0
-10
0
-10
23
29
-4
28
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
-3
4
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
-5
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
1
0
-2
-2
-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
-3
-6
-8
0
9
-13
2
0
-3
0
0
0
0
0
0
0
0
0
1
0
3
1
31
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
6
1
0
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
-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
-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
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
2
-2
-9
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
-9
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
0
0
0
0
0
0
0
0
0
-2
0
3
2
-2
1
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
-2
-3
0
1
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
2
0
0
0
0
0
0
0
-7
7
0
2
2
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
-11
1
-2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
-1
-2
-11
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
-6
0
-3
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-31
3
0
0
3
0
0
0
0
0
0
0
0
0
2
-1
0
5
5
-4
-4
2
-2
0
0
0
0
0
0
0
0
0
-1
1
1
-14
-2
0
-1
14
0
0
0
0
0
0
0
0
0
1
0
-8
-1
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
10
8
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
3
-13
11
-4
0
20
0
0
0
0
0
0
0
0
9
0
1
4
-1
7
13
-2
-5
-1
0
0
0
0
0
0
0
0
1
1
-2
-11
-2
-1
6
2
0
0
0
0
0
0
0
0
-1
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-11
0
5
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-6
-5
1
-1
-2
-8
-5
0
0
0
0
0
0
0
1
7
-2
4
0
1
3
0
7
0
-1
0
0
0
0
0
0
0
-2
-3
14
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
2
6
11
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
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
-3
0
6
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
11
4
-19
-1
0
-5
-3
1
3
0
0
0
0
0
0
0
0
2
0
-1
5
-2
6
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
1
-7
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
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
-2
0
-1
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
3
1
-2
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
-2
-3
0
5
-10
-5
-1
3
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
-3
0
0
1
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
-6
-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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-5
2
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-9
-2
-2
1
39
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-6
-1
-3
0
0
0
0
0
0
0
0
3
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
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
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
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-9
20
3
0
-3
0
-6
0
0
0
0
0
0
0
-5
0
2
9
-13
-14
2
11
-1
2
0
0
0
0
0
0
-4
1
11
-6
1
-2
-29
4
-9
0
-1
0
0
0
0
0
0
0
2
-2
4
3
4
-3
3
1
2
-3
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
5
26
-4
-3
3
0
-3
0
-5
0
0
0
0
0
0
0
0
12
-2
-11
1
-2
0
9
0
9
0
0
0
0
0
0
0
0
2
1
0
-11
11
28
1
-1
-1
0
0
0
0
0
0
0
0
6
0
14
-5
2
-1
-1
1
0
0
0
0
0
0
0
0
-4
0
0
5
15
-1
1
-8
3
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
-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
4
0
0
3
0
-2
0
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
-1
5
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
-1
13
-3
0
0
1
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
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
5
-1
2
-21
5
1
-10
0
0
0
0
0
0
0
0
0
3
-11
-14
-2
-2
0
0
6
0
0
0
0
0
0
0
0
-2
8
-10
-1
0
-4
-2
0
1
0
0
0
0
0
0
0
0
0
-2
0
1
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
0
0
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
10
1
0
0
-1
0
0
0
0
0
0
0
0
1
19
-8
-6
5
-22
0
4
0
0
0
0
0
0
0
0
0
5
0
3
-5
39
7
6
-11
48
0
0
0
0
0
0
0
0
-1
5
5
27
5
-2
0
0
1
0
0
0
0
0
0
0
0
1
-13
-7
2
-21
-2
0
1
4
0
0
0
0
0
0
0
0
0
-8
1
-3
-6
25
-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
-8
0
-6
-8
-5
4
0
-1
0
0
0
0
0
0
0
0
-6
0
46
-5
25
7
0
1
0
1
0
0
0
0
0
0
0
-2
-15
-3
-9
-13
-4
-29
-17
-18
-3
0
0
0
0
0
0
0
-2
3
2
0
-2
-49
3
1
-29
3
0
0
0
0
0
0
0
-1
11
0
18
-26
15
-2
-3
5
-1
0
0
0
0
0
0
0
4
0
-2
-3
7
0
3
-1
-1
7
0
0
0
0
0
0
0
0
18
-3
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
5
0
1
0
-1
2
0
0
0
0
0
0
0
0
27
0
2
-3
5
0
1
0
5
0
0
0
0
0
0
0
-1
0
5
-5
2
2
10
8
11
1
0
0
0
0
0
0
0
0
-4
-2
-19
-1
-5
-18
-5
0
5
0
0
0
0
0
0
0
0
1
2
-4
-1
-4
-4
2
-4
3
0
0
0
0
0
0
0
3
0
-5
0
20
4
1
0
0
0
-1
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
0
0
0
0
0
0
0
0
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
10
-3
0
2
-2
3
0
0
0
0
0
0
-3
-2
-39
-2
4
5
0
1
0
-6
-3
0
0
0
0
0
0
-1
8
1
10
-11
2
-9
-15
27
-1
-1
0
0
0
0
0
0
-3
-3
6
-2
31
-1
-3
1
4
-1
0
0
0
0
0
0
0
0
0
13
7
-3
3
0
-1
0
2
0
0
0
0
0
0
0
0
-1
-10
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
-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
-7
0
2
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
5
-17
2
8
0
2
0
0
0
0
0
0
0
0
0
-5
1
-26
-16
1
-3
-6
6
11
6
0
0
0
0
0
0
0
0
-1
4
-7
-3
-25
-1
3
0
-5
1
0
0
0
0
0
0
0
3
0
9
-8
-1
0
-2
0
-1
0
0
0
0
0
0
0
-3
0
1
3
-3
0
-3
0
-1
0
0
0
0
0
0
0
0
2
-3
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
-8
2
15
1
2
0
0
5
0
0
0
0
0
0
0
-1
2
-1
27
16
18
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
3
14
12
5
-5
-22
-18
1
4
0
0
0
0
0
0
5
0
-1
-2
-7
6
15
-10
-35
2
0
0
0
0
0
0
1
-5
0
1
8
-23
3
-2
3
0
-1
0
0
0
0
0
0
0
3
-1
-1
15
-2
-4
-1
0
0
0
0
0
0
0
0
0
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
9
0
-1
20
4
-5
2
3
0
0
0
0
0
0
0
0
0
-1
5
5
-4
19
-2
38
0
0
0
2
0
0
0
0
0
0
0
-8
9
-29
4
31
-1
3
13
-17
15
-1
0
0
0
0
0
0
1
0
16
5
-24
-34
-2
3
-8
11
0
0
0
0
0
0
5
1
-8
6
7
21
2
4
-17
13
-5
1
0
0
0
0
0
0
5
-22
-5
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
11
1
10
-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
5
16
0
0
-1
12
0
0
0
-1
0
0
0
0
0
0
2
4
-22
-40
-31
-19
-8
0
0
0
1
0
0
0
0
0
0
0
3
-1
-4
8
-4
-5
42
-6
-1
6
-1
0
0
0
0
0
0
1
2
-18
-12
15
-15
-23
2
-44
0
-2
0
0
0
0
0
0
1
-13
-4
22
12
24
0
3
32
0
0
0
0
0
0
0
0
3
14
-2
2
25
11
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-10
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
-15
2
-3
-11
-2
-1
0
0
-1
0
0
0
0
0
0
0
-5
-3
17
4
-4
-14
0
-25
0
-10
0
0
0
0
0
0
0
1
4
3
6
8
-7
4
-41
4
4
0
0
0
0
0
0
0
0
-19
4
-14
19
0
0
-22
-3
0
1
0
0
0
0
0
0
0
-4
-5
-8
-12
-26
0
3
0
1
0
0
0
0
0
0
0
0
-2
1
-10
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-1
-2
0
0
0
0
2
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
3
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-23
-3
16
4
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
6
-7
-10
-2
-7
38
5
-1
0
0
0
0
0
0
0
0
1
-15
2
-1
-18
-4
11
0
0
0
0
0
0
0
0
0
-4
0
0
-3
9
0
-1
2
1
0
0
0
0
0
0
0
0
0
1
0
8
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
1
0
0
-1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-13
-8
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-5
3
-2
0
0
0
0
0
0
0
0
5
0
0
-1
9
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
34
0
-7
-3
2
2
0
0
0
0
0
0
0
0
0
0
1
2
-35
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
2
-24
16
-24
1
26
-20
-4
-20
0
0
0
0
0
0
0
0
3
3
-32
-16
-1
-31
-13
-3
-2
0
0
0
0
0
0
0
0
0
-17
-2
-19
-27
18
4
-4
-1
0
0
0
0
0
0
0
0
2
6
2
2
1
-1
0
-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
2
0
0
0
0
0
0
0
0
0
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
15
-11
-1
0
4
5
0
0
0
0
0
0
0
1
1
-9
26
1
11
0
-3
0
3
0
0
0
0
0
0
0
-3
-1
-21
6
-10
8
4
-16
-22
-1
0
0
0
0
0
0
0
0
6
1
13
-10
11
2
-4
7
-5
0
0
0
0
0
0
0
0
1
-10
1
1
-41
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-3
-4
3
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
1
0
0
0
0
0
0
0
0
0
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
0
-3
9
0
0
0
0
0
0
0
0
0
4
3
24
-3
0
0
0
4
0
0
0
0
0
0
0
0
4
-2
15
-5
-25
2
-15
-8
-8
0
0
0
0
0
0
0
6
-1
16
-2
0
17
-1
-13
-1
13
0
0
0
0
0
0
0
-1
0
2
-7
4
-7
1
-1
0
13
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
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
0
0
0
0
0
0
0
-1
0
3
0
5
0
0
0
2
0
0
0
0
0
0
0
5
0
18
0
1
0
1
0
1
0
0
0
0
0
0
0
-1
-6
-1
0
-8
3
-4
3
-3
-2
-1
0
0
0
0
0
0
-2
0
0
-4
-2
2
0
-12
10
0
0
0
0
0
0
0
0
0
0
2
7
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
0
2
7
0
0
2
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
1
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
-2
7
10
3
0
-9
0
-1
1
0
0
0
0
0
0
-1
-31
0
8
-4
3
-5
-10
-1
20
1
-1
0
0
0
0
0
0
1
-5
22
2
-6
4
3
-1
0
1
0
0
0
0
0
0
0
1
0
-16
5
-13
0
0
1
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
1
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
0
-1
0
0
0
0
0
0
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
-7
0
0
0
-5
0
0
0
0
0
0
0
-4
1
-2
3
4
5
0
0
0
0
5
0
0
0
0
0
0
0
1
-2
3
1
-42
0
-1
-1
9
-1
-1
0
0
0
0
0
0
5
0
-7
8
1
-2
-1
-19
-2
0
0
0
0
0
0
0
0
0
3
18
-4
5
4
4
-2
-12
2
0
0
0
0
0
0
0
0
0
1
1
0
5
-3
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
-1
0
0
0
0
0
0
0
0
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
3
14
3
-1
-1
0
0
6
0
0
0
0
0
0
2
-2
31
-3
14
15
1
0
-10
0
-4
0
0
0
0
0
0
-1
-1
7
3
8
-17
0
3
15
-1
1
3
0
0
0
0
0
3
0
1
-1
-1
52
-6
1
-9
4
0
0
0
0
0
0
0
0
5
-14
-4
15
4
3
0
-4
1
-1
0
0
0
0
0
0
0
0
0
33
2
-32
-4
0
-1
6
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
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
1
-9
-2
1
0
-4
-4
0
10
-6
0
0
0
0
0
0
0
9
14
26
8
24
31
0
0
0
-4
-2
0
0
0
0
0
0
10
23
-11
-17
12
-3
-38
1
18
-3
0
0
0
0
0
0
-1
-27
-9
2
-41
3
-50
-3
-18
5
0
0
0
0
0
0
0
0
2
-9
-9
-4
67
-7
-13
-1
-1
1
0
0
0
0
0
0
0
0
-14
6
32
-8
0
-2
-3
1
0
0
0
0
0
0
0
0
0
-28
-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
-4
2
-8
4
0
1
0
0
12
0
0
0
0
0
0
0
-13
9
-17
-47
1
-12
0
0
0
-8
-3
0
0
0
0
0
0
0
38
-3
11
17
8
5
-2
0
0
0
0
0
0
0
0
0
-1
-5
1
13
-16
-1
-15
-7
1
0
-2
0
0
0
0
0
0
-2
5
11
-14
9
5
0
-10
-1
-7
0
0
0
0
0
0
0
0
0
5
-14
-2
-33
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
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
-2
-2
-9
-2
-5
0
3
0
4
0
0
0
0
0
0
0
0
9
-2
-32
6
0
1
0
2
-7
0
0
0
0
0
0
0
0
-10
4
5
15
11
6
0
0
-2
0
0
0
0
0
0
0
-1
1
9
2
-1
1
1
0
-4
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
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
2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-4
5
0
0
0
4
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
3
-1
-3
0
1
0
0
0
0
0
0
0
0
1
0
7
-6
2
-8
3
1
-4
0
0
0
0
0
0
0
0
0
0
6
-8
2
-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
-2
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
-4
-6
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
27
-4
13
-10
-1
0
1
0
0
0
0
0
0
0
0
0
-5
-2
10
-4
0
20
0
15
-18
0
0
0
0
0
0
0
0
0
8
5
21
7
40
6
1
-12
0
0
0
0
0
0
0
0
0
-1
-19
-12
-11
-31
0
-1
-1
0
0
0
0
0
0
0
0
5
-1
0
26
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
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
5
-2
16
6
-2
0
0
0
2
0
0
0
0
0
0
0
0
14
-3
3
22
-6
0
0
0
13
0
0
0
0
0
0
0
0
0
0
50
4
-12
-14
-19
-32
5
0
0
0
0
0
0
0
1
0
-3
-1
-4
-41
-2
-5
3
-1
0
0
0
0
0
0
0
0
10
2
33
-20
15
1
8
0
0
0
0
0
0
0
0
0
0
4
1
3
-3
-5
1
0
0
-1
0
0
0
0
0
0
0
-2
-8
5
-2
2
0
0
0
1
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
-1
4
-1
-2
0
-2
0
0
0
0
0
0
0
0
0
-1
0
1
-3
-8
-5
7
0
1
0
-3
0
0
0
0
0
0
0
0
-3
31
7
-1
-6
-1
-16
-1
1
0
0
0
0
0
0
0
1
5
1
-6
3
14
-1
-3
0
0
0
0
0
0
0
0
-7
-8
0
12
0
-3
4
-2
0
0
-6
0
0
0
0
0
0
0
0
4
0
-6
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
-1
0
0
0
0
0
0
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
-11
1
-1
4
0
0
0
0
0
0
0
0
0
0
8
2
-10
-9
-4
-3
0
1
0
0
1
0
0
0
0
0
0
0
11
-2
2
2
-2
-1
5
-3
0
0
0
0
0
0
0
0
0
2
-10
2
18
13
2
-1
0
0
0
0
0
0
0
0
0
0
-6
3
3
1
-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
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
1
0
1
-9
-11
5
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
6
1
-23
-13
0
-28
0
-4
-5
0
0
0
0
0
0
3
13
-47
0
1
1
4
12
8
-2
0
0
0
0
0
0
0
10
0
6
9
-1
4
0
1
0
-1
0
0
0
0
0
0
0
1
1
-14
4
-2
-23
6
-7
0
0
0
0
0
0
0
0
0
5
-2
-2
0
-6
-22
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
1
0
0
0
0
0
0
0
0
0
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
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
10
-7
0
0
0
2
0
0
0
0
0
0
0
-3
-2
-10
0
-6
0
3
16
-13
-1
2
0
0
0
0
0
0
-4
1
10
2
10
0
23
0
0
0
0
0
0
0
0
0
-1
0
5
-1
-4
2
0
-2
-4
-9
0
0
0
0
0
0
0
0
0
-4
7
0
10
2
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
16
-5
34
18
-8
0
0
0
-5
0
0
0
0
0
0
5
-18
-5
21
23
42
-2
0
11
0
4
-2
0
0
0
0
0
7
-12
-19
2
7
-16
0
-1
41
14
-3
0
0
0
0
0
0
-3
25
-4
1
14
-9
-10
0
5
0
0
0
0
0
0
0
0
-2
27
2
11
-1
11
7
0
0
1
0
0
0
0
0
0
0
-1
6
-2
-6
-9
0
8
0
4
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
4
-2
-8
-4
7
-5
8
0
-3
0
0
0
0
0
0
0
0
-13
-29
9
-16
-40
5
0
0
0
3
0
0
0
0
0
0
-1
-1
-5
-9
-9
-28
-26
1
-3
-26
-7
0
0
0
0
0
0
0
4
-11
-10
1
-34
8
1
1
-14
-1
0
0
0
0
0
0
0
0
2
-12
-18
26
27
1
0
3
3
0
0
0
0
0
0
0
-7
10
-11
19
7
0
-1
0
7
0
0
0
0
0
0
0
0
0
1
-3
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-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
10
-3
7
-6
-8
4
5
0
0
0
0
0
0
0
0
0
0
0
55
2
-67
-20
5
0
19
0
25
-1
0
0
0
0
0
0
-2
-10
8
10
5
17
-5
-10
-1
0
0
0
0
0
0
0
0
0
5
-9
-4
7
-4
-5
2
0
0
0
0
0
0
0
0
0
0
9
1
3
19
-8
10
-1
0
-1
0
0
0
0
0
0
0
-2
1
-1
9
-3
-18
0
18
0
0
0
0
0
0
0
0
0
0
-7
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
1
3
-1
-1
0
0
2
2
2
0
0
0
0
0
0
0
0
-7
3
-11
-5
0
0
0
-2
-1
0
0
0
0
0
0
0
1
13
-6
3
-9
-4
-35
-1
-2
0
0
0
0
0
0
0
0
0
-1
0
0
4
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
-7
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
1
0
0
6
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
-2
0
-6
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
0
0
0
0
0
0
0
0
0
0
1
-2
0
-3
7
1
0
0
-1
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
0
0
0
-3
-1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-2
0
0
5
0
0
0
0
0
0
0
0
3
2
17
-7
-8
-15
0
1
0
0
0
0
0
0
0
0
0
-3
-5
0
16
-13
-26
0
-5
21
0
0
0
0
0
0
0
0
0
0
-12
-2
12
-9
10
-2
-6
0
0
0
0
0
0
0
0
0
8
-3
5
-2
-6
2
2
-4
0
0
0
0
0
0
0
0
0
0
-18
-3
-28
3
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
9
0
9
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
49
-7
4
0
4
0
-1
0
0
0
0
0
0
0
0
-9
-5
1
-16
-12
-3
21
0
6
0
0
0
0
0
0
0
0
4
0
5
-3
-32
-10
3
-2
0
0
0
0
0
0
0
0
2
0
-9
-15
-15
-7
1
1
0
0
0
0
0
0
0
0
0
0
-6
3
1
-1
-5
2
-2
0
0
0
0
0
0
0
0
0
0
1
-2
0
-4
-1
0
1
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
1
-3
0
7
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
5
0
0
1
0
1
0
4
0
0
0
0
0
0
0
0
40
-13
0
-2
5
9
18
-3
-4
-3
0
0
0
0
0
0
-3
0
-6
0
-9
3
1
-2
-3
-1
0
0
0
0
0
0
0
-2
-2
0
1
4
1
-3
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
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
1
0
0
1
-9
-1
4
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
18
1
0
0
0
1
-4
0
0
0
0
0
0
0
0
-1
-1
-3
2
1
-2
5
0
-3
0
0
0
0
0
2
0
0
0
14
-1
0
-5
-2
0
0
0
0
0
0
0
0
0
0
1
6
0
-8
1
-2
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-2
0
-10
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
1
-5
-1
3
-3
7
0
0
0
0
0
0
0
0
0
0
-2
-3
-3
-17
37
-14
1
0
0
0
-4
0
0
0
0
0
0
0
11
-2
-5
13
-15
14
-1
-2
1
-5
0
0
0
0
0
0
-1
3
2
4
15
-2
0
3
5
3
0
0
0
0
0
0
0
0
1
0
1
-12
0
1
0
5
0
1
0
0
0
0
0
0
0
3
1
2
5
-1
0
-8
0
0
0
0
0
0
0
0
0
0
-3
-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
1
-6
0
-3
0
0
0
0
0
0
0
0
0
0
-15
-7
-8
-8
1
-2
0
-2
0
0
0
0
0
0
0
0
0
-4
-3
-16
3
11
7
12
-7
-6
0
-1
0
0
0
0
0
-5
-2
8
5
-5
2
0
4
-3
17
3
0
0
0
0
0
0
0
-1
-3
0
14
-8
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
1
-4
1
23
17
1
-6
-1
0
2
-2
0
0
0
0
0
0
-12
3
-14
38
-13
-9
-14
0
1
0
-2
0
0
0
0
0
0
5
-19
7
19
27
-56
4
21
48
-4
-4
-5
0
0
0
0
0
16
20
19
-64
-6
-1
14
-1
21
1
-2
0
0
0
0
0
0
5
9
29
41
-2
-2
3
0
1
0
0
0
0
0
0
0
0
0
-1
-49
3
6
2
0
0
0
1
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
0
1
0
0
0
0
0
0
0
0
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
17
18
1
27
5
0
0
-8
0
0
0
0
0
0
-1
10
8
-22
-79
6
15
0
1
0
4
-3
0
0
0
0
0
0
-9
2
-13
-50
15
-15
-13
1
9
1
-2
0
0
0
0
0
-1
16
-4
52
-28
4
64
-15
1
-21
2
0
0
0
0
0
0
-3
-19
-14
-19
18
7
4
-2
0
3
0
0
0
0
0
0
0
0
-6
-4
-1
32
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
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
6
9
19
-10
1
0
0
2
0
0
0
0
0
0
0
7
3
5
-12
-13
-11
0
9
0
8
3
0
0
0
0
0
0
0
6
-17
43
-31
6
6
12
-2
3
0
0
0
0
0
0
0
-1
4
22
11
-3
-28
21
1
0
-20
4
0
0
0
0
0
0
0
0
1
0
29
0
4
0
0
1
0
0
0
0
0
0
0
3
0
-1
-13
6
0
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
2
6
7
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
-1
-1
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
-2
5
0
1
0
1
0
0
0
0
0
0
0
0
0
27
-5
-2
2
-15
6
-17
0
-1
0
0
0
0
0
0
0
0
-3
2
1
12
-4
-17
0
-11
-1
0
0
0
0
0
0
0
0
-2
2
-5
9
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
0
0
0
0
0
0
0
0
0
0
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
0
0
1
-2
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
-1
-6
5
-9
3
9
3
0
0
0
0
0
0
0
0
0
-1
-1
-3
3
-1
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
4
0
0
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
1
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
11
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
0
0
0
0
0
0
2
-6
0
0
-1
2
1
2
0
0
0
0
0
0
0
0
0
-7
3
-4
-25
-20
0
2
-4
0
0
0
0
0
0
0
0
0
0
9
10
-1
19
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
-7
-1
0
0
-4
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
-1
-1
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
3
-3
-25
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-28
-5
-8
4
37
11
4
0
0
0
0
0
0
0
0
-3
3
1
0
-11
-17
0
-7
-5
0
0
0
0
0
0
0
0
4
0
7
-1
-8
9
0
11
0
0
0
0
0
0
0
0
-1
0
11
0
11
9
0
0
-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
0
0
0
0
11
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
15
1
8
31
0
-2
0
3
0
0
0
0
0
0
-7
0
2
6
-2
2
1
-2
-3
9
2
2
0
0
0
0
0
0
0
0
1
0
1
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
2
-4
0
0
0
0
0
0
0
0
0
6
0
-1
1
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
-1
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
3
0
4
-7
4
4
0
0
0
0
-1
0
0
0
0
0
0
0
-12
1
-12
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-12
10
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
6
0
20
0
0
0
0
0
0
0
0
2
0
8
0
-2
1
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
-1
0
2
-13
4
1
0
0
-1
0
0
0
0
0
0
0
0
0
-8
5
-4
-12
15
0
0
0
1
0
0
0
0
0
0
0
0
2
1
-37
-2
-13
7
8
-22
0
0
0
0
0
0
0
-2
2
0
-9
-17
2
3
-1
2
0
6
0
0
0
0
0
0
0
-5
3
-1
-4
0
0
0
0
-1
12
0
0
0
0
0
0
0
7
0
18
-11
0
-2
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
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
-12
-3
0
0
1
0
0
0
0
0
0
0
1
3
-14
5
-12
-5
0
0
0
2
0
0
0
0
0
0
0
0
-12
-10
32
11
14
-2
-1
7
0
2
0
0
0
0
0
0
0
-3
-14
-4
-2
-2
-3
6
3
-10
0
0
0
0
0
0
0
0
0
-4
20
3
1
0
0
2
0
-1
0
0
0
0
0
0
1
-1
-1
-1
-9
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
1
0
0
0
0
0
0
0
0
0
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
7
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
-10
5
56
7
0
-1
0
9
0
0
0
0
0
0
0
-1
8
13
-6
-70
-14
-6
-50
-16
-3
0
0
0
0
0
0
0
22
27
28
6
45
-59
-2
-5
1
2
0
0
0
0
0
0
12
4
-5
-15
-6
12
3
0
16
-1
10
-1
0
0
0
0
0
-2
-6
2
27
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
5
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
7
2
-1
1
0
9
-9
0
0
0
-1
0
0
0
0
0
0
0
-3
10
-16
-16
22
53
0
-5
0
-4
0
0
0
0
0
0
2
4
0
20
-3
-77
35
-41
5
-28
-3
4
0
0
0
0
0
0
1
11
-10
7
40
1
0
0
-43
0
0
0
0
0
0
0
-1
2
-7
17
5
-2
5
5
-11
22
0
0
0
0
0
0
0
0
-5
-3
21
-3
-2
3
-2
0
0
0
0
0
0
0
0
0
0
0
-15
19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-16
12
-14
1
0
-3
0
11
-1
0
0
0
0
0
0
-3
4
-7
8
-7
4
-45
-54
22
-2
0
0
0
0
0
0
0
0
8
1
-11
-7
-6
7
1
0
16
0
0
0
0
0
0
0
0
-24
-4
-3
-11
6
21
14
0
20
0
0
0
0
0
0
0
0
3
4
-15
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
25
-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
0
1
5
1
18
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-2
3
0
0
0
0
5
0
0
0
0
0
0
0
1
0
1
8
-17
-6
-17
-3
0
-1
0
0
0
0
0
0
0
0
-1
6
-1
-8
7
2
0
0
-1
0
0
0
0
0
0
0
0
-7
1
-33
17
-1
-2
0
0
-2
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
-9
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-3
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
0
0
0
0
0
0
0
0
0
0
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
4
3
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
-1
-2
0
-3
6
0
0
0
0
0
0
0
0
1
0
1
0
-1
4
-1
1
1
0
0
0
0
0
0
0
-1
0
-1
0
0
8
-11
0
1
-2
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
4
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
-5
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
25
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-3
0
0
1
-3
-2
0
0
0
0
0
0
0
0
0
-1
0
0
6
6
0
0
-4
0
0
0
0
0
0
0
0
0
-2
3
-6
-12
-40
3
0
-4
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
0
0
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
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
-3
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
-1
-1
-5
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
-3
1
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
2
-19
10
3
-1
-1
0
0
0
0
0
0
0
0
0
0
-18
-1
-20
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
20
-8
0
0
-1
-3
0
0
0
0
0
0
0
-1
3
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
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
2
4
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
2
-20
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
9
3
-26
7
-3
0
0
0
0
0
0
0
0
0
-5
0
-2
2
-1
-8
-5
0
0
0
0
0
0
0
0
0
8
0
-34
0
8
0
3
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
1
0
0
0
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
0
0
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
-4
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
13
14
-19
1
26
0
2
0
0
0
0
0
0
0
3
0
-3
-38
3
-7
-2
3
0
0
0
0
0
0
0
0
0
-1
-1
1
16
0
-1
0
-2
0
0
0
0
0
0
0
0
-11
5
-6
4
-1
0
0
0
-5
1
0
0
0
0
0
0
0
1
10
1
6
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
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
1
0
0
0
0
0
0
0
0
0
0
0
-10
14
-40
-2
-11
-7
0
5
0
0
0
0
0
0
0
0
0
-3
-43
-5
-24
34
5
-2
20
-7
0
0
0
0
0
0
0
0
11
2
37
1
26
9
-6
4
2
2
0
0
0
0
0
0
2
-19
15
-4
-44
-29
6
-6
16
0
0
0
0
0
0
0
0
11
1
2
3
0
-7
0
1
0
-3
0
0
0
0
0
0
0
0
0
5
13
-1
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
16
-4
21
1
0
0
0
0
0
0
0
0
0
0
-24
-8
3
44
20
23
0
-31
0
-1
0
0
0
0
0
0
0
9
3
26
-26
27
-7
-23
-3
-49
-3
0
0
0
0
0
0
0
-7
-6
22
-3
8
38
-64
0
-1
2
0
0
0
0
0
0
0
-2
7
-2
34
-27
-20
4
0
12
-1
0
0
0
0
0
0
0
7
2
-22
-6
35
3
0
0
4
0
0
0
0
0
0
0
0
1
-17
4
9
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
26
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
-2
37
-5
17
1
0
0
3
0
0
0
0
0
0
0
2
0
-6
-2
-11
-18
0
-9
0
-1
0
0
0
0
0
0
0
0
8
12
-20
-6
18
12
-32
5
26
0
0
0
0
0
0
0
5
3
-5
5
9
21
-2
-11
0
-5
0
0
0
0
0
0
0
0
-52
-9
-7
-5
-7
-3
-2
0
6
0
0
0
0
0
0
0
0
7
-7
-22
-21
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
0
0
1
0
-18
0
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-15
0
-4
0
3
8
0
0
0
0
0
0
0
0
0
1
7
-2
-7
-3
3
0
-5
0
0
0
0
0
0
0
0
0
0
-2
2
2
4
0
0
2
0
0
0
0
0
0
0
0
17
3
-9
-2
3
11
3
0
1
0
0
0
0
0
0
0
0
-1
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-4
0
6
0
0
0
2
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
6
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-1
9
0
-9
2
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
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
4
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
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
0
0
0
0
0
-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
2
0
0
0
0
0
0
-1
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
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
4
0
0
0
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
-3
14
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
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
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
12
0
0
0
0
0
0
0
0
2
0
-4
1
1
-7
1
-1
-6
-6
0
0
0
0
0
0
0
-1
-4
0
-16
2
-4
0
5
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
5
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
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
2
0
0
-5
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
-8
0
0
0
0
0
0
0
0
1
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
6
26
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
1
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
1
-1
0
-6
-3
0
0
0
0
0
0
0
0
0
2
0
1
40
-41
-1
0
-15
1
0
0
0
0
0
0
0
0
-1
0
0
-41
-4
0
0
1
0
0
0
0
0
0
0
0
0
12
0
-5
-2
2
0
1
0
0
0
0
0
0
0
0
0
-1
10
-1
7
0
0
-2
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
1
0
14
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
-33
10
-22
0
0
0
1
0
0
0
0
0
0
0
0
4
9
-9
-31
-14
16
3
26
0
0
0
0
0
0
0
0
-8
3
-18
-7
-4
53
-32
0
-65
-1
0
0
0
0
0
0
0
-2
8
-5
-11
1
29
-16
0
-24
0
0
0
0
0
0
0
0
9
21
-25
-5
-34
-37
0
0
9
0
0
0
0
0
0
0
0
-23
6
-44
2
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
29
-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
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-4
5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-10
-17
-1
-7
8
-11
0
0
0
0
0
0
0
0
-4
4
0
-9
-3
3
-19
-1
-8
0
0
0
0
0
0
0
0
-3
2
14
-2
1
10
-5
-1
2
0
0
0
0
0
0
0
0
-14
3
34
1
-3
-2
0
0
-5
0
0
0
0
0
0
0
0
8
-22
9
16
1
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
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-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
-1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
2
1
-1
-1
0
0
0
0
0
0
0
0
0
0
8
-1
3
0
-1
-4
-1
-2
0
0
0
0
0
0
0
0
0
1
1
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
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
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
0
-1
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
9
2
-1
-2
-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
9
0
0
-1
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
0
0
0
0
0
0
0
0
0
3
5
0
-2
-6
-1
7
0
0
0
0
0
0
0
0
0
-3
0
-17
-1
-3
-1
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
6
0
7
0
-2
-2
-1
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
-4
5
-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
-1
0
1
0
-1
-3
-3
0
3
-2
0
0
0
0
0
0
0
-1
2
0
-9
5
12
-2
-11
1
4
0
0
0
0
0
0
0
-1
0
0
5
0
-17
-2
-3
-2
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
1
0
1
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
2
0
0
0
0
2
0
12
11
-3
-1
0
0
0
0
0
0
0
0
2
2
-2
-2
0
-2
8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
4
-2
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
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
-1
-4
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
2
4
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
-1
-3
1
-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
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
2
1
0
-6
0
0
-2
0
-2
0
0
0
0
0
0
0
-2
0
0
2
-2
-1
4
1
-16
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
-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
-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
-3
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
6
0
-2
2
1
-6
0
-11
4
0
0
0
0
0
0
0
15
-1
-1
0
-1
-2
-2
0
0
0
2
0
0
0
0
0
0
0
-2
-3
0
-7
2
-5
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
-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
6
-5
-1
-13
16
0
0
0
0
0
0
0
0
0
0
2
8
14
8
-14
28
7
-12
4
0
0
0
0
0
0
0
0
-2
3
1
-1
-11
-6
-3
5
-1
-3
0
0
0
0
0
0
0
1
1
3
-6
0
7
-7
7
-2
-1
0
0
0
0
0
0
0
-1
-4
-4
14
20
-4
14
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
-10
-13
1
-6
-1
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
44
11
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-33
-1
-2
-1
1
-1
0
0
0
0
0
0
0
0
1
0
2
25
-2
0
-1
-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
-1
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
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
0
0
1
0
-3
2
-2
1
-1
0
0
0
0
0
0
0
0
0
0
1
3
0
1
2
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
2
1
0
0
0
0
0
0
0
0
0
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
4
0
0
0
0
0
0
0
0
0
3
-1
8
9
1
6
4
-1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
2
-2
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
1
-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
-2
0
5
-5
-3
18
-3
0
1
0
0
0
0
0
0
0
0
0
5
-1
-9
-8
10
10
8
0
0
0
0
0
0
0
0
3
0
3
0
-15
-5
-8
11
9
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
12
-7
4
-1
0
0
0
0
0
0
0
0
-1
0
0
-8
16
1
11
0
1
0
0
0
0
0
0
0
0
3
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
2
-3
0
9
1
-8
-6
0
-1
-1
0
0
0
0
0
0
0
-6
0
-2
-2
-53
1
-1
27
3
4
0
0
0
0
0
0
0
-8
17
0
-1
3
8
28
-1
4
0
0
0
0
0
0
0
0
7
0
-2
12
29
14
2
-13
-2
0
0
0
0
0
0
0
0
8
-2
-1
14
-9
18
-4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-4
0
1
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
0
3
-2
0
0
0
0
0
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
5
-5
0
4
-3
2
0
0
1
0
0
0
0
0
0
0
-2
1
-1
-1
-10
-7
7
-14
-2
0
-1
0
0
0
0
0
0
1
5
3
0
-3
-2
-15
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
-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
5
0
0
0
0
0
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
-2
2
0
0
0
1
0
0
0
0
0
0
2
3
0
2
4
-4
2
-11
-3
0
0
0
0
0
0
0
0
0
0
1
1
3
10
4
0
0
0
0
0
0
0
0
0
0
0
0
1
18
-3
1
3
0
3
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
6
0
0
0
-8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
1
0
0
-7
0
0
0
0
0
0
0
1
-1
5
-3
11
-6
-6
11
1
2
1
0
0
0
0
0
0
0
-1
-1
11
4
11
14
-2
-6
0
0
0
0
0
0
0
0
0
-1
0
-1
1
18
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
-1
4
1
4
-1
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
-2
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
4
-2
1
4
6
7
-1
-7
0
0
0
0
0
0
0
0
0
1
-2
6
10
-10
5
9
7
-13
0
-1
0
0
0
0
0
0
4
3
-1
3
-5
-26
1
0
23
-1
0
0
0
0
0
0
0
0
0
0
3
-3
7
3
6
0
-2
0
0
0
0
0
0
0
0
1
2
1
-5
8
-4
-2
0
-5
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
0
0
-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
2
-13
-8
0
3
-7
-1
57
0
1
0
0
0
0
0
0
0
-7
12
13
-21
-4
13
44
-3
-1
7
1
0
0
0
0
0
0
-1
1
14
17
18
15
11
-13
-11
-4
0
0
0
0
0
0
0
-8
-5
-3
0
35
-19
-18
-7
-6
-1
-3
0
0
0
0
0
0
0
5
2
-39
-10
-3
3
0
-1
0
0
0
0
0
0
0
0
0
-1
3
13
-2
-2
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-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
2
-7
0
4
-11
-11
-19
10
0
13
0
0
0
0
0
0
0
-2
8
-1
13
20
-26
9
12
2
-1
0
0
0
0
0
0
0
10
0
-2
8
2
81
14
-4
0
0
-1
0
0
0
0
0
0
2
29
9
9
-28
-5
13
-7
1
-1
0
0
0
0
0
0
0
0
-7
-6
-3
-31
4
-9
4
-2
0
0
0
0
0
0
0
0
0
1
-1
0
-8
-8
1
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
5
-2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
1
9
-1
1
-29
-28
0
0
0
0
0
0
0
0
0
0
6
-3
-2
73
-5
29
-19
-1
0
0
0
0
0
0
0
0
0
-2
9
-16
-1
0
22
7
3
3
0
0
0
0
0
0
0
0
-1
4
4
6
7
-18
4
-1
34
1
0
0
0
0
0
0
0
7
0
4
-1
-29
8
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
-3
17
35
-1
3
-5
0
-6
0
0
0
0
0
0
0
0
0
-3
0
0
-8
-2
3
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
1
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
4
0
2
4
1
-7
2
1
0
2
0
0
0
0
0
0
0
7
0
0
29
4
8
9
-2
1
0
0
0
0
0
0
0
0
-1
2
-3
-13
3
-7
-1
-2
-1
1
0
0
0
0
0
0
0
1
0
0
0
0
3
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
1
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
-5
0
0
5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-18
4
-1
-3
0
0
0
0
0
0
0
0
1
0
3
0
3
-1
-3
0
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
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
5
0
0
13
1
1
-1
0
0
0
0
0
0
0
0
0
-1
22
1
-2
-11
12
-17
-1
-11
0
0
0
0
0
0
0
0
0
0
0
-3
-7
9
-12
27
-3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
1
5
0
5
-2
-41
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
-2
6
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
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
9
7
0
-4
15
0
0
0
0
0
0
0
-2
0
6
-1
22
-5
18
20
-7
0
0
0
0
0
0
0
0
-5
-3
0
-8
11
-12
8
28
1
0
0
0
0
0
0
0
0
0
-1
5
-2
-1
-8
3
0
10
1
0
0
0
0
0
0
0
0
-1
0
-2
2
0
0
-1
5
-1
0
0
0
0
0
0
0
0
3
0
4
3
0
-1
0
-1
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
-3
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
12
2
0
2
9
-5
-9
-10
1
3
0
0
0
0
0
0
0
1
-1
0
7
-6
12
-11
0
2
2
0
0
0
0
0
0
0
1
0
5
3
0
-9
-1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-1
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
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
0
0
0
0
0
0
0
0
0
0
-1
1
0
3
8
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-13
-5
12
-7
1
0
0
0
0
0
0
0
-1
0
0
12
0
2
3
6
3
0
0
0
0
0
0
0
0
-4
0
0
0
3
1
0
5
-5
0
6
0
0
0
0
0
0
0
0
2
3
0
2
-5
0
-4
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
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
-9
1
-5
7
0
-3
0
0
0
0
0
0
0
0
1
-2
1
1
-2
-24
1
9
-2
0
0
0
0
0
0
0
-4
0
14
0
-25
-2
-5
-3
0
2
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
1
8
-7
3
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
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
-3
-2
4
0
-6
0
-3
-5
0
-1
0
0
0
0
0
0
0
0
-4
0
14
-1
5
13
1
12
-1
0
0
0
0
0
0
0
0
-9
5
0
24
5
0
9
4
1
0
0
0
0
0
0
0
0
0
0
-1
-11
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
3
8
0
0
1
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
-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
1
3
-14
8
4
35
0
5
0
0
0
0
0
0
0
8
3
0
1
-4
14
-22
-10
0
1
0
0
0
0
0
0
0
11
-1
-1
-18
4
13
-2
4
7
-2
-11
0
0
0
0
0
0
0
-1
-4
0
39
-17
9
-3
3
-1
-1
0
0
0
0
0
0
-5
0
-2
5
0
27
-5
10
0
1
-2
0
0
0
0
0
0
-1
1
1
-3
12
6
4
7
0
0
0
0
0
0
0
0
0
0
0
1
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
10
6
2
1
-33
-10
0
-3
0
0
0
0
0
0
0
0
5
6
0
-3
14
-2
-17
8
-7
0
0
0
0
0
0
0
0
4
-5
3
2
-1
18
9
0
-5
0
0
0
0
0
0
0
0
2
-1
3
-5
-1
2
2
-1
3
0
0
0
0
0
0
0
1
6
0
2
-19
2
3
8
-4
-4
0
0
0
0
0
0
0
1
0
0
0
0
4
-4
11
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
2
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
3
6
1
-3
3
-6
1
0
-9
0
0
0
0
0
0
0
0
13
2
0
-3
8
8
-41
-53
-3
-4
0
0
0
0
0
0
0
19
0
15
31
24
9
-19
13
0
0
0
0
0
0
0
0
0
-5
6
5
-1
7
-19
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
6
-4
10
0
2
1
0
0
0
0
0
0
0
0
14
0
-2
1
10
19
11
2
0
0
0
0
0
0
0
0
0
0
0
2
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
2
0
-2
-1
0
2
0
3
0
0
0
0
0
0
0
0
0
-10
-2
-1
0
-1
-7
-8
-1
-2
0
0
0
0
0
0
0
0
-3
5
0
0
-1
0
5
2
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
9
-2
-2
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
2
-1
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-7
7
2
-5
-1
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
1
-1
0
0
0
0
0
0
0
0
0
0
1
0
1
3
3
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-1
2
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
0
0
1
1
1
10
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
3
0
4
-2
3
5
-15
0
0
0
0
0
0
0
0
0
0
11
0
0
3
-3
-32
26
32
6
0
0
0
0
0
0
0
2
-4
0
-4
-5
-5
-3
25
0
1
0
0
0
0
0
0
0
0
0
0
-1
4
5
-7
0
-2
0
0
0
0
0
0
0
0
0
2
-1
0
12
-5
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
-6
-3
0
0
0
0
0
0
0
0
0
4
0
-3
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
-5
0
-2
-1
1
0
0
-3
0
0
0
0
0
0
0
0
1
-2
0
0
2
22
-4
7
12
-2
0
0
0
0
0
0
0
-1
0
-3
15
-3
-1
4
7
-2
0
0
0
0
0
0
0
0
-1
0
-2
12
10
6
1
3
-2
0
0
0
0
0
0
0
0
0
-2
-9
-6
1
16
-1
0
0
-2
0
0
0
0
0
0
0
0
-7
-1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
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
2
4
-6
-1
-4
1
0
-1
0
0
0
0
0
0
0
0
0
3
6
16
0
7
-2
-1
-11
0
0
0
0
0
0
0
8
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
23
0
1
-1
0
7
-11
-5
0
-1
0
0
0
0
0
0
0
2
-6
-2
1
-3
21
-3
1
2
0
0
0
0
0
0
0
0
0
-6
0
-6
-7
2
20
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
2
-5
2
0
-2
-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
-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
3
0
0
0
-4
9
-4
7
0
0
0
0
0
0
0
0
0
-1
0
0
15
1
3
-15
10
-10
-4
0
0
0
0
0
0
0
0
0
-3
0
3
-19
27
8
-6
-2
0
0
0
0
0
0
0
0
-1
-10
1
-1
0
5
27
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
-3
2
1
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-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
-2
0
0
0
0
0
0
0
0
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
4
3
-1
-19
0
-1
9
0
3
0
0
0
0
0
0
0
1
6
0
-1
-7
22
0
17
4
-2
2
0
0
0
0
0
0
0
0
-2
0
0
0
-1
11
0
2
0
0
0
0
0
0
0
0
1
0
0
1
0
-2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
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
0
0
0
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
-3
5
-3
0
2
0
0
0
0
0
0
0
-7
8
-5
-24
17
5
26
5
4
1
0
0
0
0
0
0
0
5
-2
0
-26
-27
-6
-12
-3
-21
0
-2
0
0
0
0
0
0
-6
0
7
9
4
21
2
0
-6
0
0
0
0
0
0
0
0
-1
2
-2
1
1
14
24
1
-1
0
0
0
0
0
0
0
0
0
0
-1
23
3
4
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-16
-2
-1
-1
0
5
-2
2
0
0
0
0
0
0
0
0
0
8
9
-4
12
1
18
-25
-18
24
-1
0
0
0
0
0
0
0
-13
-1
-2
-13
-2
-9
-12
1
-15
-11
1
0
0
0
0
0
0
-3
-1
2
7
-5
2
-25
2
0
0
0
0
0
0
0
0
0
0
-1
-2
2
-14
-4
-1
14
1
8
0
0
0
0
0
0
0
-2
1
-6
1
6
1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
-3
-15
0
3
-2
0
0
0
0
0
0
0
-16
-3
2
-6
-15
-12
23
-6
-4
1
0
0
0
0
0
0
0
4
0
1
3
-6
-14
-15
23
-18
-1
0
0
0
0
0
0
0
0
7
-1
-7
4
6
2
0
-1
3
0
0
0
0
0
0
0
8
-9
6
0
-3
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
12
4
-1
-6
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
1
0
0
0
0
0
0
0
0
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
-2
0
0
-3
-8
0
0
0
0
0
0
0
0
-3
1
0
-1
0
4
-2
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
-1
3
0
-3
0
0
0
0
0
0
0
0
2
2
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
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
1
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
-1
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
-1
-2
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
3
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
-2
8
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
4
-11
-1
0
-5
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
10
0
0
0
0
0
0
0
0
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
0
-13
0
0
-3
-8
-7
20
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-5
-16
-3
-3
-12
0
0
0
0
0
0
0
0
-7
0
0
-9
39
-1
-3
0
-4
0
0
0
0
0
0
0
11
0
0
-3
-20
7
2
1
-2
-4
0
0
0
0
0
0
0
0
0
8
-2
2
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
7
0
0
-1
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
0
0
0
0
0
-3
20
0
-2
0
0
0
0
0
0
0
0
0
-3
1
-3
5
48
0
-9
-3
0
0
0
0
0
0
0
0
0
2
0
-4
-5
1
-12
6
8
-4
0
0
0
0
0
0
0
0
1
0
-13
-2
-2
-1
6
-9
0
0
0
0
0
0
0
0
1
0
0
0
-5
-5
-1
1
2
0
0
0
0
0
0
0
0
0
0
6
5
0
-2
6
0
0
-1
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
0
2
2
1
9
0
-1
0
0
0
0
0
0
0
-1
2
2
0
-2
1
-6
2
7
-3
-5
0
0
0
0
0
0
0
0
3
0
-2
1
-4
-1
5
-4
0
-1
0
0
0
0
0
-1
0
0
2
0
27
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-1
0
-1
0
0
0
0
0
0
0
0
0
0
1
-4
4
24
-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
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
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
-8
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-2
-1
-3
0
0
0
0
0
0
0
0
0
1
-1
0
6
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
4
3
-2
0
13
-1
0
0
0
0
0
0
0
0
-1
0
-1
0
7
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
0
0
0
-2
0
0
0
0
0
0
0
0
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
11
0
-1
0
0
0
0
0
0
0
0
0
-1
2
23
2
0
-5
-1
0
-2
0
0
0
0
0
0
-3
0
0
13
-3
1
10
4
-5
0
0
0
0
0
0
0
0
0
0
-4
0
14
14
2
-2
0
-2
0
0
0
0
0
0
0
10
0
-5
-1
-4
0
-6
2
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-13
1
-9
0
-2
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
0
0
0
0
0
0
0
0
0
0
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
8
3
0
-10
0
-1
0
0
0
0
0
0
0
0
-6
3
0
-5
-4
13
-2
8
0
0
0
0
0
0
0
0
0
2
0
2
-27
-10
-16
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
11
15
-2
3
0
0
0
0
0
0
0
0
7
0
1
-7
0
-4
-1
-4
-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
-6
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
-32
-18
11
3
-39
0
-1
0
0
0
0
0
0
0
27
-5
-7
-9
-58
-11
22
3
-25
0
0
0
0
0
0
0
0
-11
3
10
-49
-3
-3
33
63
4
2
0
0
0
0
0
0
0
1
-3
-4
22
2
-7
13
-1
-6
4
0
0
0
0
0
0
0
0
0
-2
-13
-11
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-23
-19
5
1
3
0
0
0
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
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
-1
2
0
-3
-15
-10
-28
-1
0
5
0
0
0
0
0
0
0
-2
-21
-3
-2
-13
-4
-1
4
-20
6
0
0
0
0
0
0
0
3
-21
-3
-16
14
32
-17
-32
10
0
0
0
0
0
0
0
0
0
-1
3
-1
12
-28
-1
-19
2
-2
1
0
0
0
0
0
0
4
3
0
-10
-8
6
6
1
0
-2
0
0
0
0
0
0
0
0
3
3
0
-13
-4
-3
-1
2
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
0
0
0
0
0
0
0
0
0
0
15
1
11
11
0
-15
0
0
0
0
0
0
0
0
0
0
18
-7
2
4
-54
8
-28
-7
0
2
0
0
0
0
0
0
0
22
-20
-10
5
4
-31
13
-23
0
2
0
0
0
0
0
0
0
-2
-4
0
-2
3
14
-13
7
2
0
0
0
0
0
0
0
0
1
6
0
-38
-1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-1
7
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
10
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
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
2
0
6
-4
0
0
0
0
0
0
0
0
7
0
1
0
2
4
-5
1
1
0
0
0
0
0
0
0
0
-1
-1
0
7
17
3
0
-8
-2
5
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
-1
1
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
-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
-2
-1
0
4
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-1
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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-1
0
0
0
-1
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
3
-4
1
0
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
-1
0
0
0
0
0
0
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
7
-2
2
1
0
0
0
0
0
0
0
0
0
0
14
0
0
2
0
2
5
-1
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
5
-1
2
-1
0
0
0
0
0
0
0
0
0
0
7
-1
5
-2
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
8
3
-6
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
1
1
0
0
7
14
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
-1
0
0
2
6
1
0
5
0
0
0
0
0
0
0
0
0
0
1
2
5
-1
-1
6
5
0
0
0
0
0
0
0
0
0
-2
8
10
0
1
-9
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-8
-2
1
1
0
-2
0
0
0
0
0
0
0
6
1
1
-7
-2
3
-5
2
0
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
0
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
1
1
4
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
1
1
-6
0
-1
0
0
0
0
0
0
0
2
0
0
8
0
1
0
0
4
-2
-1
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
1
0
3
-10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
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
-2
0
0
0
0
0
0
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
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
27
13
12
10
-1
3
0
0
0
0
0
0
0
2
0
0
4
0
2
-1
7
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
2
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
-4
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
0
0
0
0
0
0
0
0
0
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
3
6
0
0
0
0
0
0
0
0
0
0
10
-1
3
-1
1
0
-7
-15
0
0
0
0
0
0
0
0
-2
0
4
3
5
2
-4
-3
1
-1
0
0
0
0
0
0
0
8
0
0
0
-2
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-2
1
0
0
-4
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
0
4
0
0
0
0
0
0
0
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
-12
4
0
-3
0
0
0
0
0
0
0
0
3
6
-2
-11
7
-17
-22
-8
2
0
0
0
0
0
0
0
0
3
-1
0
-4
-1
6
-4
11
1
0
0
0
0
0
0
0
0
0
0
-6
-5
-13
17
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-2
0
12
0
0
0
0
0
0
0
0
4
2
2
-3
0
0
0
7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
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
-9
0
-5
4
3
14
-11
-27
0
-1
0
0
0
0
0
0
0
-5
4
-31
-3
6
96
14
-7
-44
2
0
0
0
0
0
0
0
-33
0
-6
-1
-2
-5
8
27
17
-1
0
0
0
0
0
0
0
8
-2
7
-28
32
-22
25
-1
11
0
0
0
0
0
0
0
0
2
-1
0
-12
-10
6
15
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-28
-16
-3
0
0
5
4
0
0
0
0
0
0
0
0
0
-1
-1
11
9
0
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
4
-10
22
16
9
0
10
3
0
0
0
0
0
0
1
-11
-3
21
6
3
-5
18
-29
0
0
0
0
0
0
0
0
-2
-31
1
10
-11
8
23
-22
17
9
0
0
0
0
0
0
0
1
-3
-1
-10
-1
17
-38
-16
-3
-10
0
0
0
0
0
0
0
-1
0
0
-7
11
22
-9
11
2
7
0
0
0
0
0
0
0
0
1
0
-12
29
4
32
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
13
5
7
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
0
-1
-2
-1
1
-8
35
0
-1
0
0
0
0
0
0
0
0
5
8
1
14
9
13
-3
11
-21
-1
0
0
0
0
0
0
0
-15
23
-1
27
-1
-14
20
-14
16
0
0
0
0
0
0
0
0
-3
2
4
20
5
5
-18
9
9
0
0
0
0
0
0
0
0
-14
-2
5
1
11
2
8
-1
1
0
0
0
0
0
0
0
0
0
0
-1
1
-10
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
-8
1
5
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
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
4
0
2
-1
0
0
0
0
0
0
0
0
0
0
-3
3
0
14
1
8
-26
0
0
0
0
0
0
0
0
-1
-3
0
1
0
3
-7
0
-1
-2
0
0
0
0
0
0
0
-3
0
-1
0
11
4
2
0
-1
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
1
0
0
0
1
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-7
-2
4
0
0
0
0
0
0
0
0
0
1
0
0
4
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
2
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
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-9
1
-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
2
6
3
6
0
0
-1
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
0
0
4
2
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
2
0
0
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
0
0
1
0
3
-3
2
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
3
-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
1
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
-1
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
4
0
9
0
4
0
-1
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
0
0
4
0
8
-1
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
2
-2
-2
0
0
4
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
-1
0
0
0
0
0
0
0
0
0
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
-6
-3
2
1
-1
0
0
0
0
0
0
0
0
-4
2
0
-1
-2
-12
2
-7
-1
0
0
0
0
0
0
0
-11
-1
0
-1
0
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-2
0
1
0
0
0
0
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
6
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
1
4
6
5
0
0
0
0
0
0
0
0
0
2
-16
0
1
-1
-1
1
-7
-1
2
0
0
0
0
0
0
0
0
-3
0
-1
0
2
-3
0
3
0
0
0
0
0
0
0
0
0
5
0
10
-1
10
-1
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-3
1
19
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
-1
6
-1
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
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
2
-9
-8
13
0
3
0
0
0
0
0
0
0
-1
0
8
2
32
-23
21
-2
-9
7
-4
0
0
0
0
0
0
23
0
-6
-18
23
44
33
4
-14
0
1
0
0
0
0
0
0
-1
2
-2
8
-23
-42
8
13
0
1
0
0
0
0
0
0
0
6
2
-3
0
9
22
-50
3
6
0
0
0
0
0
0
0
0
-2
4
2
7
14
9
24
-6
2
0
0
0
0
0
0
0
0
0
2
0
22
3
1
6
0
-1
-2
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
0
0
0
0
0
0
0
0
-11
-4
0
16
0
6
-11
0
0
0
0
0
0
0
0
0
1
-7
0
1
-5
-17
-16
18
-16
20
1
0
0
0
0
0
0
0
-37
5
-1
12
-40
10
4
6
-1
0
0
0
0
0
0
0
-1
8
1
7
45
8
-2
-13
6
15
0
0
0
0
0
0
0
0
-50
9
16
7
-10
-47
-11
-2
-5
0
0
0
0
0
0
0
0
12
0
0
-4
-2
12
-83
0
-6
0
0
0
0
0
0
0
0
0
0
0
-13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
3
-1
0
13
0
-11
-8
0
1
0
0
0
0
0
0
0
0
-16
6
0
-5
2
-6
15
8
4
3
0
0
0
0
0
0
0
0
2
-2
-13
1
6
1
10
-17
0
0
0
0
0
0
0
0
5
-3
5
-35
22
-6
-14
-3
3
-5
0
0
0
0
0
0
0
12
0
0
-1
15
20
-3
11
0
0
0
0
0
0
0
0
0
-2
0
-4
-5
20
-11
15
5
1
-1
0
0
0
0
0
0
0
0
0
1
0
2
34
-13
-6
0
5
0
0
0
0
0
0
0
0
0
0
3
3
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
-1
6
0
1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-5
0
3
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-1
0
-1
0
0
0
0
0
0
0
2
0
0
4
-5
-2
1
0
-5
1
0
0
0
0
0
0
0
-1
1
-1
-4
-2
-6
0
2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-12
4
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
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
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
8
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
4
0
0
-1
0
0
-3
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
2
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
-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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
-1
0
-1
4
3
2
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
-5
0
0
-1
2
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
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
-2
-1
7
0
-1
0
0
0
0
0
0
0
0
5
0
-1
0
2
-2
0
-5
-1
0
0
0
0
0
0
0
-3
0
-1
1
0
10
0
3
-4
0
0
0
0
0
0
0
0
-10
2
0
20
-10
19
9
4
1
-1
0
0
0
0
0
0
0
-1
0
-2
12
1
3
9
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
7
10
-1
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
0
0
0
0
0
0
0
0
0
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
11
-5
0
0
0
0
0
0
0
0
0
0
-4
0
2
22
-2
-2
5
-7
25
0
0
0
0
0
0
0
0
-48
3
25
12
9
4
1
0
-9
0
0
0
0
0
0
0
0
-2
-3
2
4
-7
-2
0
1
-1
0
0
0
0
0
0
0
5
0
3
1
6
-34
1
-23
-1
-2
0
0
0
0
0
0
0
0
33
-4
-2
-21
-23
-38
-3
1
0
0
0
0
0
0
0
0
0
0
2
0
20
-6
-8
-5
13
-2
0
0
0
0
0
0
0
0
0
-3
0
3
-2
-5
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
1
4
4
3
0
0
0
0
0
0
0
0
0
0
0
7
0
4
2
0
3
0
-4
-7
0
0
0
0
0
0
0
2
-1
1
13
1
2
0
-2
16
0
0
0
0
0
0
0
0
-1
1
1
-4
-12
-4
-9
0
-3
0
0
0
0
0
0
0
0
-1
-2
0
2
24
12
4
3
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-4
1
-2
-4
-3
11
0
0
0
0
0
0
0
0
2
0
9
-1
0
-9
9
-1
0
0
0
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
-1
2
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
3
-1
-3
2
3
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
3
-5
0
0
0
0
0
0
0
0
0
0
2
3
-1
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
6
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-2
8
-7
13
0
0
0
-25
1
0
0
0
0
0
0
0
0
2
-4
2
3
5
-13
1
-1
1
0
0
0
0
0
0
0
1
2
8
-23
18
3
-6
0
5
0
0
0
0
0
0
0
0
5
11
0
9
-10
16
-3
-3
0
-4
0
0
0
0
0
0
0
0
-2
0
-2
-3
3
-1
-3
0
1
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
-4
-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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-6
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
1
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
-2
1
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
4
1
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
1
-3
10
0
0
-5
0
0
0
0
0
0
0
0
0
0
32
-8
0
1
0
-3
13
-7
0
0
0
0
0
0
0
0
-17
-2
0
4
-3
3
0
0
2
0
0
0
0
0
0
0
0
0
-2
-6
2
3
1
-2
0
0
0
0
0
0
0
0
0
3
-2
1
2
-1
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
11
-4
-33
0
6
-95
2
0
0
0
0
0
0
0
-3
40
6
-23
-12
0
1
0
14
5
0
0
0
0
0
0
0
-18
9
60
42
-39
-1
-76
33
-47
-13
0
0
0
0
0
0
0
5
41
6
-10
-63
-57
10
0
14
0
0
0
0
0
0
0
0
-20
-33
-18
-4
-10
13
-7
-8
-3
1
0
0
0
0
0
0
0
-3
-49
-10
-2
-41
9
4
-5
0
1
0
0
0
0
0
0
0
0
1
13
4
5
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
3
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
-1
2
0
0
-3
0
0
-17
-3
0
0
0
0
0
0
0
0
6
1
-2
14
0
4
0
2
0
-1
0
0
0
0
0
0
0
0
-6
26
8
8
4
-6
-2
13
-2
0
0
0
0
0
0
0
-1
24
-1
-13
-4
-14
-1
-13
7
3
6
0
0
0
0
0
0
-3
-1
25
0
4
1
8
-9
6
0
0
0
0
0
0
0
0
-1
0
-1
-21
0
-1
-1
1
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
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
7
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
4
-15
-1
-1
-1
-1
1
-5
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
-1
-1
3
-2
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
3
3
7
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
8
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
2
1
0
0
0
0
0
0
0
0
4
0
0
1
-4
-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
4
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-14
-7
-1
-12
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
-4
3
-1
10
1
1
15
-1
0
0
0
0
0
0
0
1
-7
-5
2
19
-1
1
-2
1
-5
0
0
0
0
0
0
0
0
1
3
1
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
-2
27
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
2
5
6
-5
13
-3
-1
0
0
0
1
0
0
0
0
0
0
0
-1
13
-4
-21
-12
-33
0
-18
0
5
0
0
0
0
0
0
0
-2
31
17
-25
6
-4
-3
-17
-71
0
-1
0
0
0
0
0
-8
-12
12
37
16
-83
-2
-1
2
-15
-2
0
0
0
0
0
0
7
57
-11
2
-1
16
-16
2
1
-1
0
0
0
0
0
0
0
-6
5
-10
-3
3
-11
4
1
0
1
0
0
0
0
0
0
0
0
0
-5
0
14
-1
-8
3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
12
29
-6
-3
1
0
0
0
0
0
0
0
0
0
8
15
0
30
-31
13
5
0
-4
0
4
0
0
0
0
0
0
-2
-6
-43
-27
20
-20
32
-26
8
24
-5
0
0
0
0
0
0
0
0
7
21
-27
-11
-34
2
-38
-5
0
-1
0
0
0
0
0
-1
3
27
9
3
-17
10
-11
-1
1
0
1
0
0
0
0
0
-1
7
-43
44
-7
7
2
0
4
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
5
-13
1
-7
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
14
0
-15
26
27
11
-10
0
12
-6
2
0
0
0
0
0
0
-25
-34
-76
-41
34
-47
0
-4
0
10
5
0
0
0
0
0
0
16
-9
-7
-24
25
-46
-12
30
6
2
-15
0
0
0
0
0
0
7
-51
13
12
-2
-20
8
41
-17
5
-1
1
0
0
0
0
0
-2
-21
-16
40
-8
-21
-64
2
2
1
-1
0
0
0
0
0
0
0
12
21
-32
-59
14
0
-1
0
-1
0
0
0
0
0
0
0
-1
39
0
25
15
-19
0
0
0
-5
0
0
0
0
0
0
0
0
-15
-1
0
-13
0
-6
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
7
14
-9
4
0
0
0
3
3
0
0
0
0
0
0
0
-12
-10
49
-4
-3
0
-2
0
8
8
0
0
0
0
0
0
0
4
2
-4
17
19
14
7
-17
3
-3
0
0
0
0
0
0
0
0
-16
3
14
14
15
-1
7
-20
1
-1
0
0
0
0
0
0
-7
3
-11
12
10
-4
1
8
0
1
0
0
0
0
0
0
0
-1
10
-1
4
-2
-2
-1
1
0
-1
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
-11
0
0
4
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
-1
1
1
0
0
-3
0
8
-1
0
0
0
0
0
0
0
0
0
-1
0
-6
-7
0
4
-1
4
1
0
0
0
0
0
0
0
-1
4
-8
0
-3
3
12
1
0
-1
-1
0
0
0
0
0
0
0
0
-4
-5
0
0
-2
3
-9
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-2
-12
-1
1
2
-4
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
2
1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
-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
0
0
0
-1
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
-18
0
4
0
1
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
-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
0
0
0
0
0
0
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
0
0
0
0
-2
0
0
0
0
0
0
0
4
4
4
7
-5
-11
4
0
0
0
0
0
0
0
0
0
0
-1
-1
-11
6
-17
28
-4
-2
4
-45
0
0
0
0
0
0
0
0
-15
7
0
0
-20
0
0
1
-1
0
0
0
0
0
0
0
0
-1
1
4
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-4
-2
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
-3
0
0
0
0
0
0
0
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
8
-2
3
-3
2
0
-1
3
0
0
0
0
0
0
0
-6
21
10
-15
3
-21
0
3
0
1
0
0
0
0
0
0
6
-4
-5
-5
12
-24
-1
5
7
-3
-4
0
0
0
0
0
0
0
-13
-4
-13
-22
-32
-1
0
-2
-11
0
0
0
0
0
0
0
0
16
19
-10
-48
25
2
-3
0
1
0
0
0
0
0
0
0
-1
-3
13
5
-16
-49
2
1
0
0
0
0
0
0
0
0
0
0
1
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
7
0
-1
-6
0
0
0
0
0
0
0
0
0
-14
0
25
-6
-57
-1
-16
0
3
0
-3
0
0
0
0
0
0
21
0
-8
-5
32
14
-38
13
28
45
11
0
0
0
0
0
0
1
-19
10
24
45
-34
13
-39
-1
14
-17
0
0
0
0
0
0
0
6
9
21
-9
-18
-26
-18
-2
0
0
0
0
0
0
0
0
0
-1
33
-83
34
19
-5
-1
1
-3
0
0
0
0
0
0
0
0
0
-27
-7
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-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
0
0
0
0
-3
-22
21
-18
-18
8
0
27
0
0
0
0
0
0
0
0
-29
12
29
99
21
3
0
0
0
12
1
0
0
0
0
0
0
-6
-5
51
-29
-2
-2
7
-19
16
-4
-2
0
0
0
0
0
0
-14
-37
2
-1
-26
-25
12
-10
-5
1
-1
0
0
0
0
0
0
0
7
-22
-38
-19
49
2
19
-11
-3
3
0
0
0
0
0
0
-1
0
9
9
-24
26
5
-4
-2
0
0
0
0
0
0
0
0
-3
-3
4
1
8
-1
-4
0
0
0
0
0
0
0
0
0
0
1
0
-1
7
3
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
2
1
5
1
0
0
17
0
0
0
0
0
0
0
0
3
5
5
-13
-2
0
-2
0
5
0
0
0
0
0
0
0
0
-9
-1
-3
-22
23
-6
0
2
-76
5
0
0
0
0
0
0
0
0
2
-5
15
-13
-7
1
0
-4
1
-2
0
0
0
0
0
0
0
0
-1
-6
-1
-10
0
-2
-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
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
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-1
0
-4
0
0
0
0
0
0
0
0
-6
-1
0
1
0
0
0
2
-1
-1
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
-10
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
0
0
0
0
0
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
0
0
10
0
0
0
0
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
-3
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-1
3
5
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
-1
6
-7
-5
1
-3
9
0
0
0
0
0
0
0
1
0
1
0
2
10
-53
5
2
0
-4
0
0
0
0
0
0
-11
0
-2
0
-10
-15
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
13
6
-1
17
0
0
1
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
0
0
0
0
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
8
5
-29
-7
0
4
0
0
0
0
0
0
0
0
0
3
2
7
18
-1
-20
-31
0
0
0
0
0
0
0
0
0
0
0
0
2
7
34
0
0
8
-28
-12
0
0
0
0
0
0
0
0
10
11
-5
16
49
-19
0
-8
1
-1
0
0
0
0
0
0
-1
3
-1
-3
19
20
-49
0
1
0
2
0
0
0
0
0
0
-4
-3
8
-18
-8
19
0
-7
0
0
0
0
0
0
0
0
0
0
-1
7
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-1
1
14
18
-100
8
1
0
0
1
0
0
0
0
0
0
0
0
0
-6
16
45
5
1
0
0
0
7
0
0
0
0
0
0
-5
1
4
-42
-29
-19
11
-22
-13
21
2
0
0
0
0
0
0
-2
6
2
-7
22
48
-56
-29
-4
-4
3
0
0
0
0
0
0
0
0
6
40
-19
-10
50
19
0
18
0
0
0
0
0
0
0
5
-2
-3
-21
20
-14
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
8
-11
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-1
0
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
2
2
-13
37
8
0
0
0
2
0
0
0
0
0
0
0
0
-1
-6
-4
65
-23
33
0
-3
0
1
4
0
0
0
0
0
0
4
2
-10
5
54
-10
-28
22
-17
-1
0
0
0
0
0
0
0
2
-39
38
-32
-35
-30
-16
1
-2
1
-2
0
0
0
0
0
0
-4
-24
10
5
49
-9
20
-2
0
4
-1
0
0
0
0
0
0
-1
-14
17
-1
-14
-11
1
1
0
0
0
0
0
0
0
0
0
0
0
9
0
-10
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
1
0
1
8
0
0
0
0
0
0
0
0
0
3
-21
-5
2
0
0
0
-7
0
0
0
0
0
0
0
0
-2
-2
0
-11
-15
0
-9
14
5
0
0
0
0
0
0
0
0
0
0
1
-6
1
1
-4
0
0
-1
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
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
1
0
0
-1
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
2
0
0
-5
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
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
10
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
0
-14
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
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
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-4
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
1
3
0
0
0
0
0
0
0
0
0
-6
0
0
-16
8
23
0
0
4
0
0
0
0
0
0
0
-1
1
0
3
2
14
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
-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
1
-4
7
8
-1
9
-4
0
0
0
-5
0
0
0
0
0
0
-1
0
8
-34
-13
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-12
8
19
-6
-50
-13
0
-35
0
0
0
0
0
0
0
0
8
8
-7
-34
6
-8
0
5
-11
0
0
0
0
0
0
0
-3
-2
3
8
-7
28
-12
-1
-22
-3
0
0
0
0
0
0
0
0
4
-1
-1
-9
23
0
0
-4
0
0
0
0
0
0
0
0
0
0
21
1
6
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
6
-10
-9
0
2
0
0
0
0
0
0
0
0
0
5
2
-7
-62
-10
2
2
0
-11
0
1
0
0
0
0
0
0
0
7
11
-11
23
-3
-5
-15
-1
10
0
0
0
0
0
0
0
1
3
33
13
-23
8
-26
2
1
-13
0
0
0
0
0
0
0
0
-2
-3
8
-59
-13
-28
0
0
4
0
0
0
0
0
0
0
1
13
6
-12
39
-43
-14
6
0
10
0
0
0
0
0
0
0
0
11
35
7
-59
8
-7
2
3
0
0
0
0
0
0
0
0
0
0
3
-26
-5
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
17
11
-13
13
2
-8
1
0
-3
5
0
0
0
0
0
0
0
9
-9
24
-19
-2
15
0
0
0
1
0
0
0
0
0
0
0
11
18
13
-4
-27
7
2
-10
8
0
0
0
0
0
0
0
0
5
-2
4
19
34
3
13
-2
-1
-1
0
0
0
0
0
0
0
0
-12
-39
1
-12
9
-21
-6
1
0
0
0
0
0
0
0
0
-5
18
9
18
-43
-13
-2
1
0
-2
0
0
0
0
0
0
0
1
-16
3
-59
1
6
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
0
0
53
0
0
0
0
0
0
0
0
1
1
8
0
-3
0
-1
0
17
-1
0
0
0
0
0
0
0
-1
1
2
4
-3
-2
2
-4
1
0
0
0
0
0
0
0
0
0
1
0
-1
-8
2
-1
-1
1
-2
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
0
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
-2
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
-3
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-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
-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
-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
4
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
-1
0
9
-2
3
0
-2
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
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
-16
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-4
-10
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
25
3
2
-3
-9
0
-1
-2
0
0
0
0
0
0
0
0
-3
0
2
4
-9
-8
-1
0
1
0
0
0
0
0
0
0
0
1
-2
0
15
-4
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
17
6
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
3
0
0
0
0
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
20
35
-3
5
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
5
-21
-78
0
0
-1
0
1
0
0
0
0
0
0
-1
1
-24
-25
4
-16
1
-1
18
-29
0
0
0
0
0
0
0
3
0
-1
17
-48
5
0
11
3
-12
6
0
0
0
0
0
0
1
0
-1
-4
7
59
-14
10
0
-6
0
0
0
0
0
0
0
0
23
-1
22
-43
10
24
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-7
6
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-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
-3
20
-6
16
-5
-1
0
0
7
0
0
0
0
0
0
0
0
13
-8
5
14
25
11
0
2
0
0
0
0
0
0
0
0
0
1
10
0
24
8
9
-1
2
-72
7
0
0
0
0
0
0
0
2
-3
-16
-26
-2
8
-15
0
4
-2
0
0
0
0
0
0
0
1
1
5
-44
50
-46
-48
3
8
3
0
0
0
0
0
0
0
7
-10
-3
-7
-14
26
-15
0
1
0
0
0
0
0
0
0
0
0
7
-3
41
2
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
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
4
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
-4
3
4
0
1
0
2
0
0
0
0
0
0
0
0
0
1
1
5
1
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
3
-5
6
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
-1
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-6
-5
-5
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
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
-1
0
0
2
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-2
1
-5
0
2
0
0
0
0
0
0
0
-1
-3
0
-5
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
5
0
0
1
0
0
0
0
0
0
0
0
0
0
9
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
1
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-1
-49
-1
1
3
0
0
0
0
0
0
0
0
0
0
-1
0
-71
3
-6
-5
1
3
-11
-16
0
0
0
0
0
0
0
0
7
0
3
1
-22
-52
0
-1
-2
0
0
0
0
0
0
0
0
0
1
7
10
-37
12
10
0
0
0
0
0
0
0
0
0
0
0
-16
16
-1
21
13
1
0
0
0
0
0
0
0
0
0
-1
0
29
-11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
9
1
-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
-1
15
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-6
10
1
22
0
0
0
0
0
0
0
0
0
0
0
-2
11
10
7
-15
34
4
0
23
0
0
0
0
0
0
0
0
5
-1
-6
-5
-5
-38
1
0
1
-2
0
0
0
0
0
0
0
0
0
3
-5
2
7
-1
-16
-8
2
0
0
0
0
0
0
0
-11
10
-5
-3
39
4
4
0
0
-2
0
0
0
0
0
0
0
-4
6
-5
-19
-4
20
4
-1
0
0
0
0
0
0
0
0
0
-1
0
6
18
-7
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
3
1
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-3
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
0
0
-1
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
-3
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
21
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
7
-15
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-4
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
-2
0
0
0
0
0
0
0
0
0
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
0
0
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
2
-3
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
14
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
-3
0
0
-5
-5
1
0
0
0
-1
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
-1
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
1
1
-3
-2
20
6
0
29
0
0
0
0
0
0
0
0
0
1
25
-2
7
-9
-33
-11
-1
15
0
0
0
0
0
0
0
0
3
-7
-11
-27
-3
24
0
-8
16
-2
0
0
0
0
0
0
0
3
1
1
-34
-17
5
9
-1
-1
1
0
0
0
0
0
0
0
3
-2
1
-20
-17
-17
32
-2
-3
0
0
0
0
0
0
0
0
-9
-3
0
-1
-15
-16
14
2
0
1
0
0
0
0
0
0
0
0
0
2
-4
2
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
3
3
0
-2
0
0
0
0
0
0
0
0
-4
0
-3
4
0
1
0
0
4
0
0
0
0
0
0
0
0
-5
1
0
5
1
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
1
2
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
6
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
-1
0
2
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
-3
-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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-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
-5
0
0
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
-13
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
2
2
-1
1
0
0
0
0
0
0
0
0
-6
0
0
1
-1
0
-1
2
0
0
-1
0
0
0
0
0
0
0
-2
2
0
-1
0
-1
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
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
-3
2
1
21
0
-25
0
0
0
1
0
0
0
0
0
0
-6
-4
-5
7
0
32
1
6
0
0
0
0
0
0
0
0
0
-2
0
2
0
-18
2
5
0
20
-1
0
0
0
0
0
0
0
-1
1
-18
12
-3
-21
-1
29
1
0
0
0
0
0
0
0
0
2
-2
3
-4
-11
1
-12
1
0
0
0
0
0
0
0
0
0
-1
0
-1
4
2
-12
0
-2
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-30
18
0
-9
-10
0
0
0
0
0
0
0
0
43
-56
66
22
1
15
-1
-62
4
-17
4
0
0
0
0
0
0
-35
-18
-14
17
24
0
54
-4
-14
0
2
1
0
0
0
0
0
-31
5
28
19
37
22
-40
43
-17
0
0
0
0
0
0
0
0
-1
-2
-8
5
-28
-10
-32
-17
13
-2
0
0
0
0
0
0
0
-21
-1
0
-47
-15
-49
-9
8
9
4
4
0
0
0
0
0
0
6
0
-3
3
-8
-7
12
-6
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
-8
-11
0
-2
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
21
4
-2
8
-9
0
1
0
-7
0
0
0
0
0
0
0
0
4
13
-1
6
-16
-5
9
1
2
0
0
0
0
0
0
0
0
-8
-2
-9
29
-14
-23
22
-2
-2
0
0
0
0
0
0
0
0
3
-9
-5
-22
-7
-12
17
-4
-2
0
0
0
0
0
0
0
0
-5
7
0
-16
-8
-5
2
-4
11
-1
0
0
0
0
0
0
0
-1
1
-1
-10
0
-5
-9
1
-1
0
0
0
0
0
0
0
0
4
1
1
0
0
11
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-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
-2
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-1
3
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
4
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
3
0
1
1
4
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-1
0
0
0
0
0
0
0
0
0
3
0
0
5
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
7
-1
-2
-6
1
0
0
0
0
0
0
0
0
2
0
1
-2
0
0
1
-5
0
0
0
0
0
0
0
0
9
3
-1
-1
0
2
1
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
1
0
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
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
-2
0
1
5
-3
8
4
12
0
4
-5
0
0
0
0
0
0
11
2
11
-10
47
-1
66
22
-10
-3
-1
0
0
0
0
0
0
4
-2
-3
-4
21
-21
20
2
-13
-1
0
0
0
0
0
0
0
1
-1
10
4
-34
-1
21
0
0
2
0
0
0
0
0
0
0
0
3
0
-1
-2
24
7
1
0
0
-5
0
0
0
0
0
0
0
0
1
-1
13
11
-1
-6
1
0
0
0
0
0
0
0
0
0
2
2
0
1
-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
-13
1
-26
-27
-15
-34
-10
0
-1
2
0
0
0
0
0
0
5
2
2
11
-22
-57
-4
-56
15
6
1
0
0
0
0
0
0
-8
-2
-23
5
28
44
-75
10
0
-6
0
0
0
0
0
0
0
51
2
-25
-35
18
-61
5
-52
2
-42
-4
0
0
0
0
0
0
-1
0
13
-19
-15
39
41
2
0
0
-3
0
0
0
0
0
0
0
-4
-7
-6
0
-8
19
-19
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
24
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
19
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
-5
-13
12
4
19
-20
54
-8
0
6
-3
-1
0
0
0
0
0
-66
46
16
-12
40
-14
-21
-2
55
5
11
-1
0
0
0
0
0
5
0
-12
-41
33
38
64
-8
-3
-74
0
0
0
0
0
0
0
-9
-21
29
-29
-3
-22
24
1
15
-11
-4
0
0
0
0
0
0
1
1
-52
11
-15
0
51
19
-8
-7
0
0
0
0
0
0
0
-2
-1
-10
-8
-13
8
5
22
12
7
1
0
0
0
0
0
0
-6
-1
0
-6
8
0
-6
3
2
-2
0
0
0
0
0
0
0
0
0
-3
-1
0
28
-21
6
-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
22
-28
-12
17
-2
-13
-21
0
-7
-1
0
0
0
0
0
0
0
57
18
18
-1
39
31
61
-46
-27
-4
-6
0
0
0
0
0
0
12
-7
38
11
22
-34
17
-28
7
-5
0
0
0
0
0
0
0
-17
-39
-20
3
-145
-34
40
-4
-7
1
-6
0
0
0
0
0
0
-8
-1
-29
-7
-51
-124
1
27
6
19
0
2
0
0
0
0
0
19
29
-2
-9
-15
-32
10
57
11
-8
0
0
0
0
0
0
0
-1
-4
-3
18
-9
-15
9
9
4
0
0
0
0
0
0
0
0
0
0
0
2
1
6
26
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
-4
0
0
0
0
0
0
0
0
0
0
18
2
-4
-2
-9
29
0
-47
-11
0
0
0
0
0
0
0
0
-10
7
-11
4
-14
3
32
-5
-4
3
0
0
0
0
0
0
0
24
10
-3
-4
28
-12
3
6
0
10
0
0
0
0
0
0
0
4
-3
-11
6
37
22
2
1
-1
-4
0
0
0
0
0
0
0
2
29
0
-23
-12
71
-1
4
1
-1
0
0
0
0
0
0
0
6
1
-3
38
4
-18
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-6
-2
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
6
1
0
0
0
0
0
0
0
0
-3
0
2
7
-7
4
-6
3
1
0
0
0
0
0
0
0
0
1
-12
2
18
5
-6
-5
-16
0
0
0
0
0
0
0
0
0
0
-1
1
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
1
-4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-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
3
0
2
0
2
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
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
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
-1
0
-2
-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
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-1
5
1
14
0
0
0
0
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
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
1
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
1
2
-1
1
2
-1
-3
0
0
0
0
0
0
1
1
-3
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
-6
0
1
0
-2
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
12
25
0
0
0
0
0
0
0
0
0
-16
-1
10
5
3
14
-16
12
-7
0
0
0
0
0
0
0
0
7
0
0
5
9
1
25
1
-3
-2
0
0
0
0
0
0
0
0
1
0
-1
4
24
0
-16
-2
1
0
0
0
0
0
0
0
2
-3
0
6
-17
0
22
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
22
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
0
1
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
3
-13
-3
-42
-2
31
-12
26
0
-2
2
0
0
0
0
0
0
10
16
-2
21
52
-10
-73
14
-5
13
5
0
0
0
0
0
0
11
24
5
-48
-9
-55
-10
-1
1
26
0
0
0
0
0
0
0
38
-6
-8
-44
-47
-52
-33
0
-18
7
0
0
0
0
0
0
0
0
15
0
-14
-14
-15
2
-8
-1
5
0
0
0
0
0
0
0
0
0
-7
18
-1
-6
-2
-6
-3
0
0
0
0
0
0
0
0
0
-2
0
-2
-2
2
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
6
-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
-4
11
6
21
19
-8
-16
-3
0
-19
-3
0
0
0
0
0
0
-4
8
-4
-5
4
7
0
34
-43
6
-4
0
0
0
0
0
0
12
16
59
-19
14
-46
2
-23
17
2
-2
0
0
0
0
0
0
9
20
17
-49
-16
-25
-33
17
0
53
1
0
0
0
0
0
0
0
6
-3
-8
0
11
-6
0
-10
0
-2
0
0
0
0
0
0
2
-6
-2
-27
-25
-34
-16
13
0
1
0
0
0
0
0
0
0
0
-5
-1
27
41
0
-8
9
7
-1
0
0
0
0
0
0
0
0
0
0
1
0
1
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
2
-3
3
-37
-20
8
-34
0
-11
15
1
0
0
0
0
0
0
64
-34
0
-40
53
-5
-70
-31
-19
16
-1
0
0
0
0
0
0
27
-19
52
-36
-12
2
62
11
-17
-9
1
0
0
0
0
0
0
-5
-67
22
26
-7
-28
4
29
0
-6
3
2
0
0
0
0
0
9
5
28
11
13
39
28
-3
-4
0
0
0
0
0
0
0
0
-3
10
0
11
14
43
-75
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-22
7
-8
-3
-1
0
0
0
0
0
0
0
0
-1
-1
1
-2
-1
-1
7
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
5
7
0
1
-3
-3
0
-8
14
0
0
0
0
0
0
0
0
18
0
5
16
31
15
-1
-7
4
4
0
0
0
0
0
0
0
-4
15
2
3
9
-38
28
2
-8
1
0
0
0
0
0
0
0
2
-8
-4
-8
28
-28
-9
-8
0
3
0
0
0
0
0
0
0
1
-1
6
4
-63
20
10
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
4
-1
-3
1
0
0
0
0
0
0
0
0
-3
0
0
-1
0
1
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
1
-2
0
-1
-1
-1
0
0
0
0
0
0
0
0
8
-2
0
-3
-1
-2
-1
-8
0
0
0
0
0
0
0
0
0
3
6
0
-7
3
2
2
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
1
0
0
0
1
3
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
7
1
0
-3
0
-1
0
0
0
0
0
0
0
0
-14
0
0
1
17
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
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
4
3
-18
7
-6
0
0
0
0
0
0
0
0
0
1
2
1
0
1
10
-2
-4
18
0
0
0
0
0
0
0
0
1
-7
-1
-18
3
3
7
-15
0
-4
0
0
0
0
0
0
0
3
0
-12
0
3
-1
2
0
4
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
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-3
-2
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
3
-1
6
10
-9
6
-14
-10
0
0
0
0
0
0
0
0
0
3
-8
7
11
-20
-63
-45
-17
3
-4
-4
0
0
0
0
0
0
-3
56
8
5
-18
6
-37
4
8
-1
3
0
0
0
0
0
0
-18
21
-8
5
-11
-55
1
20
0
2
0
0
0
0
0
0
0
0
-4
-2
-17
31
11
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
-13
-17
44
0
4
0
0
0
0
0
0
0
0
0
0
0
0
4
16
-1
52
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
-3
1
-3
11
-35
-7
7
-13
0
3
0
0
0
0
0
0
0
2
56
12
-25
8
7
1
78
8
-20
2
0
0
0
0
0
0
-5
13
7
31
-1
55
-38
19
23
-24
0
0
0
0
0
0
0
9
1
20
-8
-17
-38
21
1
-3
0
-1
-1
0
0
0
0
0
-3
1
-1
-1
-6
9
50
11
0
-4
0
0
0
0
0
0
0
1
6
6
-2
-2
-31
-45
0
1
0
0
0
0
0
0
0
0
0
0
3
4
-73
5
-2
2
0
-2
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
-5
0
0
0
0
0
0
0
0
0
0
0
10
-23
8
19
-5
22
38
0
-14
-6
0
0
0
0
0
0
0
21
28
7
44
-12
9
-22
-12
-11
33
0
0
0
0
0
0
0
-7
-8
-3
47
-16
-16
-48
38
-2
0
0
0
0
0
0
0
0
9
5
12
-23
1
-16
-22
-3
-13
3
0
0
0
0
0
0
0
-3
-10
-2
-18
6
38
-20
0
0
-4
0
0
0
0
0
0
0
0
9
0
-18
51
13
7
0
0
0
0
0
0
0
0
0
0
4
1
0
9
-5
43
1
31
1
2
0
0
0
0
0
0
0
0
0
2
0
19
9
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
3
0
0
2
0
2
0
-6
0
1
0
0
0
0
0
0
0
-1
1
0
0
22
0
16
3
-3
1
0
0
0
0
0
0
0
-1
-5
-1
8
10
-6
3
-5
0
0
0
0
0
0
0
0
0
-2
4
0
11
-3
9
-4
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
0
3
-2
9
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
-6
-6
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
-1
0
0
0
0
0
-1
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
-2
-1
0
-1
1
0
-2
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
3
0
0
1
0
0
0
0
0
0
0
0
0
4
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
4
1
0
-9
0
0
2
0
0
0
0
0
0
0
0
4
0
1
0
1
8
0
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-4
0
0
0
0
0
0
0
0
1
0
2
-4
-34
-7
-20
12
0
0
0
0
0
0
0
0
-3
1
0
3
9
-2
0
-3
7
0
0
0
0
0
0
0
0
0
-12
-3
8
-4
-2
6
8
0
0
0
0
0
0
0
0
0
0
2
-2
-2
-3
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
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
48
-12
-1
9
-2
-1
2
0
2
-1
0
0
0
0
0
0
1
-9
2
3
21
24
5
-2
2
-11
1
0
0
0
0
0
0
-4
-8
0
-8
4
6
-26
-2
-9
-2
0
0
0
0
0
0
0
0
0
7
-3
10
-1
-6
0
-18
0
0
0
0
0
0
0
0
0
-3
-6
31
-25
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
8
8
6
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-70
-4
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
2
0
1
8
28
-5
-2
0
-2
1
0
0
0
0
0
0
8
-12
-9
-7
10
-65
27
72
-20
-3
0
0
0
0
0
0
0
20
8
22
34
-21
31
20
-28
13
-8
0
0
0
0
0
0
0
-1
26
20
-9
-10
79
3
16
0
-1
0
0
0
0
0
0
0
3
9
4
-5
1
-37
-20
-1
-6
0
0
0
0
0
0
0
0
0
0
63
4
4
-22
-1
2
0
0
0
0
0
0
0
0
0
-1
3
0
0
-16
4
10
0
3
0
0
0
0
0
0
0
0
0
0
5
-7
2
-12
2
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
5
-11
1
2
-32
-29
0
8
-5
0
0
0
0
0
0
0
-38
-15
22
8
-13
-15
4
-8
9
0
0
0
0
0
0
0
0
-26
-22
-38
4
34
-32
-29
33
1
-1
0
0
0
0
0
0
0
-2
0
-8
-15
3
-1
20
14
0
2
0
0
0
0
0
0
0
-3
4
8
0
56
-9
-10
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
-6
34
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
-23
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
5
8
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
1
0
1
0
1
11
0
-5
3
0
0
0
0
0
0
0
0
-1
3
3
-2
2
20
-3
-13
14
0
0
0
0
0
0
0
0
-8
-3
0
16
-5
10
14
-4
0
0
0
0
0
0
0
0
0
0
9
0
16
5
13
0
4
0
0
0
0
0
0
0
0
0
-1
2
2
0
-4
-1
-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
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
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
8
-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
1
6
0
4
-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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
0
0
-3
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
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
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
-1
-3
-29
-2
0
-1
8
0
0
0
0
0
0
0
15
0
1
1
0
4
4
-1
-3
0
0
0
0
0
0
0
-1
0
0
5
0
-21
-14
-3
-19
0
0
0
0
0
0
0
0
0
-5
1
1
-2
-8
-13
6
1
0
0
0
0
0
0
0
0
0
12
1
10
11
-12
51
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-21
0
-1
0
1
0
0
0
0
0
0
0
0
-2
0
0
-8
-1
-11
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
-2
0
-1
0
1
-8
-1
-7
0
0
0
0
0
0
0
0
0
-1
-1
6
4
-6
-55
9
-5
1
-7
-2
0
0
0
0
0
0
18
-13
2
8
-34
20
-10
-8
-50
0
0
0
0
0
0
0
0
1
44
-1
22
5
-13
-1
-10
-12
31
0
0
0
0
0
0
0
-4
-6
-14
-4
-9
-32
3
1
0
0
0
0
0
0
0
0
0
0
2
0
-6
20
-18
40
0
2
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
10
2
-6
-1
0
1
-11
0
0
0
0
0
0
0
-23
-40
3
-11
12
-10
-16
-12
3
0
-1
0
0
0
0
0
0
-21
-5
2
7
32
54
51
-9
21
0
0
0
0
0
0
0
0
0
6
1
-18
8
4
72
17
8
0
0
0
0
0
0
0
0
21
5
-4
-35
38
7
-2
7
0
0
0
0
0
0
0
0
0
5
-3
3
1
45
52
-12
4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
-2
2
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
1
0
0
0
0
0
0
0
0
8
0
0
-1
8
-11
0
-4
-1
0
0
0
0
0
0
0
0
3
-1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
6
-4
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
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
-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
1
0
0
0
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
2
1
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
3
-2
0
3
-1
10
0
1
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-6
1
0
0
0
0
0
0
0
0
0
0
3
-2
0
-2
2
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-2
-1
0
0
1
8
0
-29
-2
0
0
0
0
0
0
0
0
27
13
0
1
-9
12
-40
7
25
1
0
0
0
0
0
0
0
-9
-20
22
2
0
28
4
-10
12
3
0
0
0
0
0
0
0
0
-1
-25
0
7
5
29
-7
0
0
0
0
0
0
0
0
0
1
0
-2
19
18
3
0
1
0
2
0
0
0
0
0
0
0
-1
-2
0
1
-15
0
-39
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
0
0
0
0
0
5
5
29
18
0
0
0
0
0
0
0
0
0
0
-21
15
1
-3
8
-5
-29
-45
0
-2
0
0
0
0
0
0
0
-2
-1
0
1
-45
50
-19
25
1
3
0
0
0
0
0
0
0
9
2
49
3
4
-28
-8
2
8
1
0
0
0
0
0
0
0
12
14
14
15
16
1
0
4
0
0
0
0
0
0
0
0
0
-5
-11
-2
-18
-17
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
11
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
6
0
0
0
-6
0
5
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
-4
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
1
0
1
2
-1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-4
-1
0
0
0
0
0
0
0
0
6
0
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
11
-1
0
3
0
3
-1
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-5
-2
-2
0
0
0
0
0
0
0
0
0
9
-4
-6
5
-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
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
-2
0
6
0
-3
-2
2
-5
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-1
15
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
-5
-9
-39
1
0
0
0
0
0
0
0
0
0
0
0
2
5
1
3
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
-21
1
10
-6
1
0
-3
0
0
0
0
0
0
0
0
0
-1
1
2
5
1
1
0
-1
0
0
0
0
0
0
0
0
0
-7
-1
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
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
-10
-9
-11
1
-1
0
0
-6
0
0
0
0
0
0
0
0
3
4
-1
-58
-3
-55
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-1
6
-14
-29
34
27
-33
0
0
0
0
0
0
0
0
14
9
5
-1
47
23
10
-4
-9
0
0
0
0
0
0
0
-1
-2
26
-16
6
6
56
2
0
-6
0
0
0
0
0
0
0
0
0
1
15
-10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
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
13
0
12
-14
25
1
0
0
0
-2
0
0
0
0
0
0
5
0
3
-1
-24
39
-45
0
0
0
-1
0
0
0
0
0
0
0
8
20
3
3
37
0
65
10
24
-24
0
0
0
0
0
0
-1
-1
-3
7
-48
24
8
-5
7
-9
3
0
0
0
0
0
0
0
17
-4
-6
-13
39
5
8
-5
0
4
0
0
0
0
0
0
0
0
0
-8
13
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
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
2
0
4
-1
0
0
0
1
0
0
0
0
0
7
0
0
-6
0
22
-3
0
0
0
-9
-2
0
0
0
0
0
0
0
-11
-2
-1
-2
13
-4
-66
-10
-3
0
0
0
0
0
0
0
2
0
9
5
37
14
9
-1
3
2
1
0
0
0
0
0
0
-3
-3
0
13
-7
-13
8
0
0
0
0
0
0
0
0
0
0
-2
0
-6
2
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
-3
0
1
0
0
-1
0
0
0
0
0
0
0
1
-28
0
-7
0
-7
20
51
0
-2
0
0
0
0
0
0
0
0
1
-7
10
-6
0
2
-6
-1
0
0
0
0
0
0
0
1
-3
-2
1
7
3
-4
-1
4
0
0
0
0
0
0
0
0
7
0
2
2
6
-1
-1
1
0
0
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
6
0
1
0
0
0
0
0
0
0
-1
-1
0
-2
-2
10
-29
-3
2
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-2
-12
1
0
0
0
0
0
0
0
0
8
0
-2
8
-2
1
0
0
2
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
-6
0
-1
0
-1
0
0
0
0
0
0
4
0
0
0
4
-10
9
-11
12
3
0
0
0
0
0
0
0
1
0
0
-6
-5
1
-2
-1
-1
0
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
-1
-2
-2
-3
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
0
0
1
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
-5
1
-2
0
-2
1
-19
0
0
-1
0
0
0
0
0
0
0
0
0
1
1
0
2
-1
0
-4
0
-1
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-3
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
3
16
35
-20
-11
0
2
0
0
0
0
0
0
0
0
1
0
-6
-29
-27
52
9
-8
-8
0
0
0
0
0
0
0
0
0
2
2
1
-12
2
6
0
-2
0
0
0
0
0
0
0
0
0
-2
25
9
14
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-6
3
-1
5
27
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
6
1
-9
-14
-9
11
0
0
1
0
0
0
0
0
0
0
4
2
5
-20
143
60
16
0
-6
0
0
0
0
0
0
0
0
0
-23
-26
41
43
-52
38
-51
-10
35
0
0
0
0
0
0
0
0
-3
35
-17
7
27
1
11
27
-31
0
0
0
0
0
0
0
9
-23
45
-27
11
24
-24
-14
-3
10
0
0
0
0
0
0
0
0
-4
5
10
5
9
-11
0
1
2
0
0
0
0
0
0
0
-2
0
-3
-3
15
2
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
34
-1
28
59
-2
2
0
5
3
0
0
0
0
0
0
0
0
-7
45
6
71
-22
0
2
0
13
0
0
0
0
0
0
-1
0
18
35
-29
19
-17
49
12
-26
4
0
0
0
0
0
0
0
12
5
31
22
-10
-10
44
7
-1
3
0
0
0
0
0
0
0
2
-9
12
30
17
2
38
-26
-15
1
0
0
0
0
0
0
-2
7
-6
13
-1
-14
15
-2
0
0
0
0
0
0
0
0
0
0
-3
2
-12
0
-4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
-37
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
11
0
-16
0
44
-8
-6
0
0
-5
1
0
0
0
0
0
0
0
-3
3
25
-27
-41
0
15
0
21
5
0
0
0
0
0
0
11
4
28
-1
-20
-1
5
24
-7
28
3
0
0
0
0
0
0
0
-20
-31
33
8
13
-22
3
18
-10
2
0
0
0
0
0
0
-1
0
-17
5
-36
-27
-13
-5
-5
0
1
0
0
0
0
0
0
2
3
-19
25
-16
-6
6
-7
-4
3
0
0
0
0
0
0
0
0
2
-10
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-5
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
-3
0
22
0
-1
-9
0
-1
-4
-5
0
0
0
0
0
-6
1
3
-12
12
-9
-1
0
-5
0
7
-2
0
0
0
0
0
0
0
-3
-6
-17
20
-17
-10
-13
47
-4
0
-1
0
0
0
0
0
0
-11
-27
13
25
6
-5
-43
7
19
1
-3
0
0
0
0
0
0
5
-2
3
-10
-7
4
-1
-1
-5
0
0
0
0
0
0
0
0
0
-1
-5
28
-6
3
0
0
-4
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
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
-8
0
-6
2
-2
0
-1
0
-2
1
0
0
0
0
0
0
0
-1
2
-1
22
-10
5
-7
12
3
-11
2
0
0
0
0
0
1
3
0
10
4
-5
2
17
5
8
1
0
0
0
0
0
0
4
-6
-1
4
0
18
-3
1
0
0
3
0
0
0
0
0
0
0
0
0
-3
2
5
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
5
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
6
2
0
-1
0
-10
1
2
0
0
0
0
0
0
-1
3
-3
3
-3
-1
10
14
-3
-1
-1
0
0
0
0
0
1
0
-1
6
-4
5
-5
16
-10
8
0
1
0
0
0
0
0
4
-3
1
11
2
6
-1
3
7
-5
0
0
0
0
0
0
0
0
0
2
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
2
-6
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
0
0
0
0
1
2
0
1
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
2
0
2
0
1
1
0
0
0
0
0
0
0
0
2
0
0
1
-1
-3
-14
-7
0
0
0
0
0
0
0
1
1
0
1
-13
1
-3
1
0
-1
0
0
0
0
0
0
0
0
-1
1
0
-1
2
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
5
3
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
41
21
-2
0
-6
0
0
0
0
0
0
0
0
2
-29
47
5
20
-11
3
3
-19
0
0
0
0
0
0
0
0
0
1
-8
-24
8
31
-2
-2
-5
0
0
0
0
0
0
0
0
0
8
-3
-3
-23
6
0
0
-1
0
0
0
0
0
0
0
0
0
4
3
-29
1
7
0
-8
-2
0
0
0
0
0
0
0
0
-4
0
-1
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
27
-11
4
-4
-4
1
0
1
0
0
0
0
0
0
0
0
-44
8
-1
12
8
-44
0
16
0
0
0
0
0
0
0
0
6
8
19
-17
11
-26
17
20
64
4
0
0
0
0
0
0
0
10
-3
-3
47
17
63
-11
-27
-7
-4
0
0
0
0
0
0
0
-1
-2
8
-41
-21
-45
3
-1
31
7
0
0
0
0
0
0
0
0
0
1
8
-9
-22
-12
-2
4
7
0
0
0
0
0
0
0
0
3
12
-2
14
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
2
0
-30
-31
-18
0
1
-25
0
0
0
0
0
0
0
0
41
1
-36
-12
-25
0
13
0
-12
0
0
0
0
0
0
0
4
-1
-32
-2
67
-15
2
19
33
-27
0
0
0
0
0
0
1
-1
26
12
-6
13
65
27
10
-39
-3
0
0
0
0
0
0
0
60
25
45
-13
1
-3
-20
0
9
-1
0
0
0
0
0
0
0
-4
-13
17
20
-9
4
1
5
-6
3
0
0
0
0
0
0
0
-2
7
3
-12
-3
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-53
-1
5
13
0
0
-1
0
0
0
0
0
0
0
7
-11
2
6
-1
54
0
-17
0
6
-3
0
0
0
0
0
0
1
-25
-2
24
15
2
-9
11
6
16
1
0
0
0
0
0
0
3
0
31
1
-32
28
52
0
-13
4
-2
0
0
0
0
0
-2
0
12
4
13
-10
-8
-31
1
0
1
0
0
0
0
0
0
0
0
-5
0
17
16
0
5
-1
12
1
0
0
0
0
0
0
0
0
0
1
6
13
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
2
0
-10
-2
-13
-2
0
0
-1
-1
-1
0
0
0
0
0
0
0
-6
-11
6
5
-10
0
0
0
1
0
5
0
0
0
0
0
2
0
9
0
-14
-32
32
-6
17
2
-19
0
0
0
0
0
0
-1
11
-1
-5
1
29
7
3
1
1
1
0
0
0
0
0
0
0
0
4
22
28
1
0
2
-4
3
-1
0
0
0
0
0
0
0
17
4
2
0
4
-1
-3
0
-6
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
-2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-4
1
0
-3
0
-21
2
-6
0
0
0
0
0
1
-3
0
-1
0
3
-5
8
0
1
1
2
0
0
0
0
0
0
1
0
-3
3
2
1
-1
0
0
-2
-1
0
0
0
0
0
0
0
0
18
-4
-17
0
4
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
-2
-3
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
-3
0
-4
2
0
0
0
1
0
0
0
0
0
0
0
0
1
1
3
0
1
0
-5
0
4
-2
2
0
0
0
0
0
0
0
1
0
-5
0
-2
1
-23
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
-1
0
0
5
0
0
0
0
0
0
0
1
0
1
0
0
-1
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-5
1
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
2
-1
-1
1
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
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
-2
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
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
-5
0
0
0
0
0
0
0
0
0
0
1
7
-15
1
16
-10
-9
0
5
0
0
0
0
0
0
0
0
-15
-3
8
8
-31
59
-2
-8
-26
0
0
0
0
0
0
0
0
0
-23
9
0
-9
0
6
0
-7
0
0
0
0
0
0
0
0
-1
-5
5
-5
47
-26
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
-25
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
12
-6
11
-10
18
-17
-7
0
0
0
0
0
0
0
0
0
4
22
-27
71
12
-33
-19
0
-2
0
0
0
0
0
0
0
0
0
31
4
-1
-13
9
-59
-13
62
-75
0
0
0
0
0
0
0
0
0
43
43
-2
4
-40
-67
-1
-15
0
0
0
0
0
0
0
0
-15
-4
67
68
9
73
4
-23
16
0
0
0
0
0
0
0
6
0
-26
-3
-25
13
-37
-7
-5
13
0
0
0
0
0
0
0
0
0
-26
-7
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-40
14
21
-2
7
-17
0
-1
4
0
0
0
0
0
0
0
42
16
-73
40
-42
24
0
-3
0
-12
0
0
0
0
0
0
-6
0
-27
-8
1
38
24
-6
-50
-72
-13
0
0
0
0
0
0
0
-19
-2
70
-16
-2
-7
-5
-3
15
2
0
0
0
0
0
0
1
6
13
-3
50
38
14
-10
-19
3
-2
0
0
0
0
0
0
0
2
-6
-23
2
-17
58
3
0
-6
0
0
0
0
0
0
0
0
9
1
13
16
-4
-26
0
1
0
0
0
0
0
0
0
0
0
0
-1
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
3
9
-4
-9
5
3
0
0
-1
-6
0
0
0
0
0
0
0
-2
-20
-4
21
-28
63
0
0
0
23
0
0
0
0
0
0
0
0
-2
-3
12
2
-21
-11
22
-27
-17
-2
0
0
0
0
0
0
1
-8
0
-4
-17
-12
0
-7
3
-7
0
0
0
0
0
0
0
0
-2
0
3
-7
-12
1
-13
-4
7
-2
0
0
0
0
0
0
0
1
19
25
13
15
1
-2
0
0
0
0
0
0
0
0
0
1
3
-6
1
-1
0
0
0
-2
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
1
14
-6
3
-5
0
0
5
4
2
0
0
0
0
0
0
6
2
3
5
-18
23
0
-3
0
-17
2
8
0
0
0
0
0
-1
2
-1
-12
-1
-16
29
-11
-1
-4
-7
0
0
0
0
0
0
0
1
24
0
2
32
14
1
6
0
-3
0
0
0
0
0
0
0
3
0
-32
0
-29
-8
4
-8
1
0
0
0
0
0
0
0
-5
0
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
24
-5
5
0
0
0
12
1
-1
0
0
0
0
0
0
-6
2
0
2
0
8
9
-18
6
2
0
0
0
0
0
0
0
0
0
7
0
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
2
0
7
0
6
0
0
0
0
0
0
0
0
1
0
0
-6
-2
-15
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-2
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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
-2
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
4
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
0
-1
0
0
1
0
0
0
0
0
0
0
-4
0
-3
0
0
0
2
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
-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
-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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
-7
-52
24
20
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
-8
1
5
6
-2
12
0
0
0
0
0
0
0
0
-2
0
-10
6
-10
57
15
0
3
0
0
0
0
0
0
0
0
0
18
-4
0
-2
35
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
19
1
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-4
13
18
-5
5
0
0
1
0
0
0
0
0
0
0
-4
1
-47
-19
-48
2
-31
0
-3
0
0
0
0
0
0
0
0
-6
-9
23
3
0
25
45
18
-2
0
0
0
0
0
0
0
0
0
6
4
37
-2
-5
-15
-3
13
1
0
0
0
0
0
0
0
4
0
-17
-3
16
55
-7
3
5
9
0
0
0
0
0
0
0
0
-2
3
22
-34
20
2
3
4
0
0
0
0
0
0
0
0
0
0
11
-3
-13
-9
-9
-1
0
0
0
0
0
0
0
0
0
0
-4
0
1
3
-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
6
-4
53
13
-5
0
11
0
1
0
0
0
0
0
0
0
0
-20
-4
-35
13
19
-16
0
-1
0
19
0
0
0
0
0
0
0
-3
-42
-43
-53
-40
14
-21
-27
2
-1
0
0
0
0
0
0
2
0
-2
0
17
60
-23
16
-9
2
-4
0
0
0
0
0
0
0
-1
0
6
23
-19
9
2
0
-4
0
0
0
0
0
0
0
0
0
20
0
-23
-22
9
11
-2
0
0
0
0
0
0
0
0
0
-5
-4
-41
7
7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-1
1
-15
12
-18
15
5
0
1
2
0
0
0
0
0
0
0
-3
-15
0
73
-31
-25
0
3
0
-7
19
0
0
0
0
0
0
0
-1
-5
0
9
-52
3
-32
7
-31
-1
0
0
0
0
0
0
-4
0
-23
-6
-50
0
3
7
7
-6
0
0
0
0
0
0
0
0
2
0
2
-25
-21
7
7
-7
0
0
0
0
0
0
0
0
-16
0
9
0
23
-1
42
-5
0
-4
-1
0
0
0
0
0
0
0
3
8
6
-3
0
14
-1
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
4
2
14
-6
1
1
0
0
-5
0
0
0
0
0
0
0
0
2
9
-35
-1
12
0
-2
0
-3
-12
0
0
0
0
0
0
3
-2
4
-5
6
-13
-14
-1
4
4
-2
0
0
0
0
0
0
1
-2
0
25
2
28
8
-10
3
-1
1
0
0
0
0
0
0
0
1
15
0
50
13
-9
0
3
0
0
0
0
0
0
0
0
0
-1
0
1
0
-10
1
-2
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
-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
4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
1
0
0
0
1
-5
-1
0
0
0
0
0
0
-1
-1
-1
3
-2
-1
-14
2
6
0
0
0
0
0
0
0
0
0
-2
0
6
0
4
9
-4
0
2
0
0
0
0
0
0
0
0
0
3
0
-32
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
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
1
0
14
0
-3
2
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
13
-4
-4
0
0
-4
0
0
0
0
0
0
0
0
0
-7
18
-1
12
-2
4
-3
26
0
0
0
0
0
0
0
0
4
-9
5
-15
33
2
-5
-14
4
0
0
0
0
0
0
0
0
0
0
-3
1
-33
-14
2
0
-2
0
0
0
0
0
0
0
0
0
-11
0
-26
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
1
4
-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
1
2
-43
-7
-8
-4
2
0
0
-3
0
0
0
0
0
0
0
0
10
46
-27
19
-9
6
0
10
0
0
0
0
0
0
0
0
6
22
-1
-26
-20
-35
10
5
-17
-19
0
0
0
0
0
0
0
0
-3
0
-2
-25
56
-64
-4
7
10
0
0
0
0
0
0
0
0
-11
0
-9
-13
10
-33
-4
5
6
0
0
0
0
0
0
0
0
0
10
-3
16
13
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-16
2
4
0
0
0
0
0
0
0
0
0
0
0
1
3
0
4
-1
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
3
-4
18
16
-7
0
0
-1
6
0
0
0
0
0
0
0
-12
-1
-23
16
7
1
0
-13
0
1
0
0
0
0
0
0
0
-1
-32
56
-56
-13
16
-10
26
-85
-11
0
0
0
0
0
0
0
-3
0
-10
13
-76
43
-29
11
-2
1
0
0
0
0
0
0
-5
0
-18
0
15
22
54
24
7
0
0
0
0
0
0
0
0
0
-22
0
-18
-1
-25
-2
17
0
2
0
0
0
0
0
0
0
1
0
-19
0
60
3
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-42
0
-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
27
8
2
-23
0
-1
0
0
-3
-4
0
0
0
0
0
0
-7
-28
-3
-21
26
-26
0
-1
0
-7
0
0
0
0
0
0
0
0
8
5
-2
-49
13
8
2
-19
-6
0
0
0
0
0
0
0
0
0
-7
13
-26
8
-4
-1
1
-2
0
0
0
0
0
0
0
0
0
5
0
13
-3
-10
2
10
14
0
0
0
0
0
0
0
0
14
0
20
16
-7
-2
0
-1
1
0
0
0
0
0
0
0
0
1
3
-2
1
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
4
11
-24
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
1
-2
1
0
5
4
0
0
-2
0
0
0
0
0
0
0
0
-1
-4
2
8
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
9
1
9
7
1
-12
-5
-1
-4
0
0
0
0
0
0
0
0
-3
-1
-5
-10
42
0
1
9
0
0
0
0
0
0
0
0
1
0
-7
0
33
7
-3
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
2
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
1
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
1
0
2
0
0
-2
-2
0
0
0
0
0
0
0
0
-1
0
1
-9
0
-1
6
1
0
0
0
0
0
0
0
0
-1
0
2
-12
-4
-1
0
0
-1
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
-3
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
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
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
-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
-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
0
0
0
0
0
0
0
12
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
-2
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-13
1
0
0
-4
0
0
0
0
0
0
0
0
0
5
15
-1
0
1
0
0
15
0
0
0
0
0
0
0
0
0
3
-1
2
-6
-7
2
2
2
0
0
0
0
0
0
0
0
0
0
0
2
-8
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-3
-13
6
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
-2
-3
4
-27
-6
1
0
0
1
0
0
0
0
0
0
0
0
-2
3
66
-7
4
-8
0
7
0
0
0
0
0
0
0
0
6
0
-27
-14
-38
12
14
-1
33
35
0
0
0
0
0
0
0
0
-7
-23
10
3
-64
-30
-17
3
11
0
0
0
0
0
0
0
0
0
10
-2
-17
-17
-14
10
1
-37
0
0
0
0
0
0
0
0
9
0
-17
25
-19
-19
-1
-12
0
0
0
0
0
0
0
0
0
0
-14
15
-23
0
1
-7
1
1
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
3
-16
3
-15
1
0
0
0
0
-1
0
0
0
0
0
0
0
-14
-12
-9
28
10
-21
0
1
0
-1
0
0
0
0
0
0
0
0
-5
6
7
5
2
17
-10
-28
-14
0
0
0
0
0
0
0
-13
9
14
4
32
47
6
0
-8
2
0
0
0
0
0
0
0
0
-6
14
16
21
5
-3
2
9
-32
0
0
0
0
0
0
0
0
1
0
8
17
4
0
-7
-1
0
0
0
0
0
0
0
0
0
0
-6
-4
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
32
-10
0
2
0
-1
2
0
0
0
0
0
0
0
3
-7
-24
10
43
-4
0
0
0
-2
4
0
0
0
0
0
0
0
9
6
-8
12
21
-4
9
-45
-2
-2
0
0
0
0
0
0
3
-3
-14
50
-22
-7
6
2
4
-6
-3
0
0
0
0
0
0
0
15
3
-3
-6
-8
-3
1
-10
0
2
0
0
0
0
0
0
0
0
2
0
-2
34
1
0
5
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
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
1
0
1
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-20
27
0
-1
0
4
0
2
-3
0
0
0
0
0
0
0
0
-2
3
2
-3
1
0
-2
2
-1
0
0
0
0
0
0
0
0
-1
1
-11
3
-1
-1
3
0
0
0
0
0
0
0
0
0
0
1
-2
3
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
-1
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
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
1
0
-1
0
4
0
-2
-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
-6
0
7
0
5
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-1
0
8
0
13
-2
0
1
0
0
0
0
0
0
0
0
0
-8
-3
0
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
8
11
0
0
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
-31
0
0
0
0
0
0
0
0
0
0
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
4
-11
-2
2
0
0
0
0
0
0
0
0
0
0
0
-1
11
10
-13
7
1
0
3
0
0
0
0
0
0
0
0
0
2
-1
17
-14
-17
-1
0
3
-66
0
0
0
0
0
0
0
0
-6
0
-15
20
9
-16
-8
0
6
0
0
0
0
0
0
0
0
0
-11
1
-6
38
6
4
19
-5
0
0
0
0
0
0
0
0
-2
3
0
9
-26
49
0
0
1
0
0
0
0
0
0
0
0
0
0
1
12
12
-1
0
0
-2
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
0
0
0
-2
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
-1
0
16
0
1
-22
0
0
0
4
0
0
0
0
0
0
0
0
10
-3
-20
0
8
0
-12
2
15
0
0
0
0
0
0
0
-1
0
-13
-8
2
1
-15
2
-13
-4
0
0
0
0
0
0
0
0
1
8
0
1
4
0
-8
2
1
0
0
0
0
0
0
0
0
1
-39
-2
-3
-3
-6
0
2
-1
0
0
0
0
0
0
0
0
0
0
6
-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
4
3
0
0
4
0
0
0
0
0
0
0
0
1
8
0
6
8
0
0
0
0
0
0
0
0
0
0
0
0
2
3
4
0
0
-3
-4
-7
2
0
0
0
0
0
0
0
0
0
3
6
22
-5
-2
0
0
-1
-2
0
0
0
0
0
0
0
0
-1
-11
0
5
-1
4
0
-5
2
0
0
0
0
0
0
0
1
-6
1
1
-3
-10
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
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
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
5
0
0
0
3
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
-5
-1
0
3
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
1
0
0
-7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
2
4
0
0
0
0
0
0
0
0
0
0
4
0
-5
-1
-3
0
-7
0
0
-24
0
0
0
0
0
0
0
0
0
1
0
0
-2
-2
-1
1
7
0
0
0
0
0
0
0
-1
0
0
5
-3
-5
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-4
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
6
0
-5
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
-1
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
1
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
2
14
-2
-7
-16
0
0
0
0
0
0
0
0
2
0
0
1
0
0
-4
-1
3
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
0
0
0
0
0
0
0
0
0
3
-11
0
3
29
-8
-15
25
-2
4
0
0
0
0
0
0
0
0
-4
2
3
22
18
-10
7
27
20
0
0
0
0
0
0
0
0
2
-1
5
-12
-20
23
-1
-9
0
0
0
0
0
0
0
0
0
4
0
0
-8
-5
-13
-4
1
1
0
0
0
0
0
0
0
0
-8
0
2
22
33
-3
-1
-7
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
0
0
0
0
0
0
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
-2
2
2
-10
-11
0
4
2
0
0
0
0
0
0
0
10
4
-5
4
-31
35
60
-3
3
0
0
0
0
0
0
0
1
0
-12
9
17
-4
12
-6
0
1
-1
0
0
0
0
0
0
-2
1
1
1
37
-1
-7
3
1
27
-1
0
0
0
0
0
0
3
0
0
1
-2
18
9
-1
3
-2
-2
0
0
0
0
0
0
0
0
-1
0
-4
0
1
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
3
6
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
1
-9
0
-2
-3
2
1
0
-3
0
0
0
0
0
0
0
0
2
5
-5
1
-2
12
2
3
6
10
0
0
0
0
0
0
0
-1
-2
-1
-9
-19
-1
13
-12
-5
2
0
0
0
0
0
0
0
0
-3
1
1
2
2
3
1
3
0
0
0
0
0
0
0
0
0
0
3
2
-1
-5
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-2
3
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
-1
0
1
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
-1
0
0
5
-2
0
-6
0
0
0
0
0
0
0
0
0
3
-2
0
0
-4
-8
-2
-2
-5
1
0
0
0
0
0
0
0
2
0
-4
4
-2
1
-1
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
-8
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
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
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
1
0
0
5
3
-4
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
-3
0
-4
2
-3
0
0
0
0
0
0
0
0
0
0
3
0
1
2
0
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-1
-1
0
0
0
0
0
0
0
-1
0
0
0
5
-3
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
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
0
0
0
0
0
0
0
0
0
-3
1
11
-1
-14
-7
-14
-42
-24
0
0
0
0
0
0
0
0
10
-5
-4
-3
6
-48
24
3
-2
0
0
0
0
0
0
0
0
2
1
0
-3
3
0
-2
4
0
0
0
0
0
0
0
0
0
1
0
0
-2
-1
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
1
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
-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
1
-2
17
9
-41
-7
-9
0
-5
0
0
0
0
0
0
0
1
-4
-5
-5
-19
-35
69
35
33
0
0
0
0
0
0
0
0
0
-5
6
8
52
-23
3
-54
-17
54
0
0
0
0
0
0
0
-1
0
-6
8
-24
-24
-2
-1
-6
-2
0
0
0
0
0
0
0
0
-10
0
-2
-18
-15
8
-5
3
-4
0
0
0
0
0
0
0
0
-17
0
0
9
23
-7
-16
0
0
0
0
0
0
0
0
0
0
2
1
4
0
-2
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-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
-1
1
0
-2
-14
25
-6
-14
0
19
1
0
0
0
0
0
0
0
9
2
6
17
-15
-25
13
-22
-11
5
0
0
0
0
0
0
-1
16
16
0
-23
47
-2
-26
74
13
1
0
0
0
0
0
0
0
-3
-4
-6
5
-14
-10
-22
1
22
2
0
0
0
0
0
0
1
0
0
-2
2
-7
-20
-1
-16
-5
-2
0
0
0
0
0
0
0
-1
0
0
-3
-17
-1
10
1
2
8
0
0
0
0
0
0
0
0
-1
2
-1
-3
15
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-8
10
-11
16
-6
0
-11
15
0
0
0
0
0
0
0
7
2
-1
22
8
43
29
10
-10
-12
0
0
0
0
0
0
0
0
0
4
33
3
0
-9
19
4
-1
0
0
0
0
0
0
0
-3
0
21
-1
15
-11
-14
-7
11
0
0
0
0
0
0
0
0
-8
1
3
0
2
-4
22
9
-4
0
2
0
0
0
0
0
0
0
0
3
0
-8
-4
0
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
-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
-3
4
2
0
-2
3
12
0
-6
1
0
0
0
0
0
0
0
-3
-1
9
0
9
0
3
0
1
13
0
0
0
0
0
0
0
2
-14
-2
-13
-2
15
29
11
9
2
-3
0
0
0
0
0
0
0
-5
0
-4
-13
4
26
1
4
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
10
-1
1
0
0
0
0
0
0
0
0
0
7
0
0
2
4
3
2
1
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
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
-1
0
1
0
1
0
4
0
1
0
0
0
0
0
0
0
0
0
3
6
3
4
8
-1
-1
2
0
1
0
0
0
0
0
0
-6
0
0
1
-3
-1
7
-1
-1
1
0
0
0
0
0
0
0
0
1
-1
4
-5
1
0
-5
-1
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
8
0
0
0
-3
-10
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
0
0
0
0
0
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
1
-1
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
-1
0
1
6
0
-1
0
0
0
0
0
0
0
0
6
1
0
-1
-11
-3
12
0
0
-1
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
1
1
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
12
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
-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
2
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-1
-1
0
4
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
8
0
5
-3
-5
-2
31
10
0
0
0
0
0
0
0
0
0
13
4
13
-1
5
65
4
2
16
0
0
0
0
0
0
0
0
0
0
0
4
-2
17
-6
2
-2
0
0
0
0
0
0
0
0
1
2
0
5
-5
10
-15
0
1
0
0
0
0
0
0
0
0
-3
0
-2
-1
15
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
2
1
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
8
0
-7
5
-16
10
28
0
2
0
0
0
0
0
0
0
9
9
11
8
15
-15
16
3
-15
0
0
0
0
0
0
0
0
0
-3
0
23
-4
10
-46
-13
25
1
0
0
0
0
0
0
0
5
12
7
-13
-13
3
3
-9
0
-2
0
0
0
0
0
0
0
0
-1
-9
6
1
15
-7
9
-6
0
0
0
0
0
0
0
0
0
0
2
0
10
14
13
-4
-2
0
0
0
0
0
0
0
0
0
0
8
0
20
0
15
2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
5
6
-54
-45
0
2
-1
0
0
0
0
0
0
-6
-56
21
9
-26
17
33
-28
-8
23
21
0
0
0
0
0
0
-2
-22
9
-5
26
-16
0
37
12
-12
0
0
0
0
0
0
0
0
1
3
0
96
0
-16
12
19
-9
0
0
0
0
0
0
0
-2
1
-2
-4
-15
8
25
-8
-2
7
1
0
0
0
0
0
0
0
0
0
-1
-6
1
10
4
3
-4
0
0
0
0
0
0
0
0
0
1
0
-4
1
1
0
2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
25
10
13
0
-44
2
2
0
0
0
0
0
0
10
10
6
5
6
16
-1
7
-12
4
-2
0
0
0
0
0
0
-1
18
-1
41
-7
4
-13
-5
7
-2
0
0
0
0
0
0
0
0
2
-2
-8
51
0
12
12
8
0
0
0
0
0
0
0
0
1
0
-4
0
-4
9
-1
-3
-9
0
0
0
0
0
0
0
0
0
1
0
0
7
4
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
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
-5
0
0
-2
-11
-6
0
-3
-14
0
0
0
0
0
0
0
0
4
4
19
1
-14
-10
2
-11
0
1
0
0
0
0
0
0
0
-4
-6
0
-11
5
-1
-11
-3
0
0
0
0
0
0
0
-1
0
-2
0
-21
1
0
-8
5
8
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
6
0
4
-1
0
0
0
0
0
0
0
0
-3
0
-2
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
-1
0
2
10
0
-3
3
-1
0
0
0
0
0
0
1
2
-3
-5
2
-4
18
7
2
-2
-1
0
0
0
0
0
0
0
-2
3
5
0
13
-6
14
0
0
1
0
0
0
0
0
0
0
-1
0
-2
2
-1
2
0
0
-2
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
2
-1
-4
-2
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-2
0
0
-1
6
2
2
1
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
8
3
0
0
0
0
0
0
0
0
0
2
5
5
0
6
-8
8
-1
18
0
0
0
0
0
0
0
0
14
-2
0
-16
12
-6
-18
-10
-4
0
0
0
0
0
0
0
0
0
0
4
19
6
-13
5
3
1
0
0
0
0
0
0
0
0
4
0
2
-2
-9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-6
-22
-1
-1
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
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
23
2
-1
-6
-4
-11
77
0
2
0
0
0
0
0
0
0
-4
0
-4
-2
14
2
-2
-36
13
8
0
0
0
0
0
0
0
4
-16
13
-1
25
19
-18
-17
33
-17
0
0
0
0
0
0
0
0
-1
0
-32
18
58
-4
-3
15
-1
0
0
0
0
0
0
0
0
5
-6
0
28
-15
7
12
12
-1
0
0
0
0
0
0
0
0
1
1
3
3
76
-22
-21
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
-1
0
-6
-1
3
0
0
0
0
0
0
0
0
0
0
3
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
5
1
0
0
-6
7
17
0
16
-2
0
0
0
0
0
0
0
-2
-12
-1
10
0
16
28
-30
-15
-1
0
0
0
0
0
0
0
5
27
-6
41
3
37
3
18
33
-3
0
0
0
0
0
0
15
-20
-1
15
20
47
3
-10
8
-18
3
0
0
0
0
0
0
0
0
1
-1
3
-26
70
1
-13
-1
0
0
0
0
0
0
0
0
0
5
-7
5
1
17
2
2
-2
0
0
0
0
0
0
0
0
0
-1
0
7
3
32
-10
-3
-2
0
0
0
0
0
0
0
0
0
-2
0
0
1
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
1
15
4
31
12
0
7
-8
0
0
0
0
0
0
0
-1
-5
-3
-23
-10
-26
22
-17
-7
12
1
0
0
0
0
0
0
1
1
-12
-21
1
-41
14
-13
16
-6
-4
0
0
0
0
0
0
-4
17
0
5
-8
-4
-11
1
-15
-1
2
0
0
0
0
0
0
7
0
0
12
2
27
-1
1
-4
1
0
0
0
0
0
0
0
1
1
0
5
2
-12
1
1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-2
2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-5
7
1
-1
0
-3
-4
0
0
0
0
0
0
0
-1
2
-1
-7
1
-17
-16
15
29
-3
2
0
0
0
0
0
0
0
0
-2
6
-14
-7
-1
10
0
0
-2
0
0
0
0
0
0
0
3
-6
0
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
1
10
2
-1
8
-3
-3
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-1
8
0
-6
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
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
3
0
0
0
0
0
0
0
0
1
-1
0
-1
-2
-10
0
10
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
1
0
-1
-4
1
0
0
0
0
0
0
0
0
-3
0
-1
0
40
9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
-1
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
0
-2
0
1
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
2
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
1
-1
0
0
5
0
0
0
0
0
0
0
0
0
2
-1
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
0
0
-1
0
-5
-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
-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
5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-4
0
0
0
0
0
0
0
0
0
6
1
2
-1
7
3
-28
-2
7
0
0
0
0
0
0
0
0
-7
0
0
-6
-3
-14
10
-9
4
0
0
0
0
0
0
0
0
0
0
0
-12
5
5
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-7
2
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
2
0
-5
26
-33
0
21
0
0
0
0
0
0
0
3
-4
1
-1
-20
-23
13
33
18
3
0
0
0
0
0
0
0
11
-1
1
-3
-5
-20
25
-18
38
1
0
0
0
0
0
0
0
-15
0
2
-14
3
58
-4
-3
13
-6
0
0
0
0
0
0
0
-1
0
2
-8
70
-22
13
1
0
6
0
0
0
0
0
0
0
0
1
0
0
-5
15
22
-8
14
0
0
0
0
0
0
0
0
0
-6
0
0
-31
-6
-34
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
9
76
31
0
18
0
0
0
0
0
0
0
1
3
-19
8
1
25
0
11
43
-1
8
0
0
0
0
0
0
0
-24
7
19
0
43
1
-29
-45
-13
-2
0
0
0
0
0
0
0
7
12
-2
-21
7
6
19
-11
-1
4
0
0
0
0
0
0
-2
-8
0
7
-17
35
47
22
-6
1
3
0
0
0
0
0
0
0
0
0
-8
3
-5
-18
-7
-13
0
-9
0
0
0
0
0
0
0
0
2
-3
45
-5
-13
32
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
-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
-1
13
5
16
5
0
15
2
0
0
0
0
0
0
0
2
0
16
-41
4
10
19
-16
-21
17
0
0
0
0
0
0
0
-2
-3
-1
84
-11
22
6
24
-1
-1
0
0
0
0
0
0
0
4
10
0
-10
2
3
2
3
9
5
-1
0
0
0
0
0
0
8
-3
0
-16
14
-11
4
3
-5
1
0
0
0
0
0
0
0
-8
0
-1
-2
-3
-2
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
8
-3
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
1
0
0
0
0
0
0
0
-2
0
0
-1
2
-3
-20
-75
-1
-5
0
0
0
0
0
0
0
0
1
7
0
15
-8
9
6
16
-1
0
0
0
0
0
0
0
6
1
1
1
-12
-4
-29
0
0
0
1
0
0
0
0
0
0
0
3
0
0
-16
-13
-2
5
2
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
25
0
-5
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
8
0
0
-2
4
-9
1
2
-4
0
0
0
0
0
0
0
-1
0
-3
-13
0
0
-3
-3
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-13
2
1
-3
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
4
0
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
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
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
9
1
-1
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
-6
-5
1
-1
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
22
-8
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
-2
-2
-22
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-4
39
-3
3
6
0
0
0
0
0
0
0
0
2
6
-2
2
4
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-2
11
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
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
3
0
0
0
0
-2
39
0
4
0
0
0
0
0
0
0
3
-25
6
10
3
11
-20
15
-65
0
0
0
0
0
0
0
0
-1
-9
1
0
5
25
-3
24
-8
-6
0
0
0
0
0
0
0
0
1
-1
1
50
-16
10
4
3
-1
0
0
0
0
0
0
0
0
-3
2
7
20
-14
6
13
-2
4
0
0
0
0
0
0
0
0
0
0
-6
37
-48
1
0
-13
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
12
-2
0
0
0
0
0
0
0
0
0
0
2
9
0
0
-2
0
2
-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
1
4
6
0
9
-9
2
9
0
0
-1
0
0
0
0
0
0
0
1
2
-4
-1
-16
-14
-17
-30
-8
-12
0
0
0
0
0
0
0
3
-17
13
-1
-11
-24
-10
-2
-3
0
0
0
0
0
0
0
9
4
0
0
7
-26
-8
1
-2
-1
0
0
0
0
0
0
0
-3
-7
2
-4
-15
2
47
-5
6
4
0
0
0
0
0
0
0
0
-3
0
-1
0
13
-6
10
1
0
0
0
0
0
0
0
0
0
0
-2
0
16
1
-25
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
5
0
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
11
-3
7
-2
-8
-33
0
-14
1
0
0
0
0
0
0
0
-3
-16
0
-3
-7
1
5
-27
2
2
-1
0
0
0
0
0
0
0
7
1
23
4
20
-23
5
-29
0
2
0
0
0
0
0
0
0
0
0
-6
12
-2
39
-1
8
0
0
0
0
0
0
0
0
0
0
0
14
10
-4
-3
3
0
-1
0
0
0
0
0
0
0
5
1
0
2
-10
-9
28
1
2
0
0
0
0
0
0
0
0
0
0
6
0
5
-5
-38
-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
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
6
16
-8
5
4
8
0
0
0
0
0
0
0
0
0
3
-12
-3
11
-15
33
12
3
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
12
0
0
0
0
0
0
0
0
0
2
19
5
21
-2
6
-2
0
0
0
0
0
0
0
0
0
0
1
2
0
-16
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
2
2
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
0
-1
0
5
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
16
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
7
-1
1
-4
1
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
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
0
0
0
0
0
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
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
4
-1
-1
0
0
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
0
0
0
0
0
0
0
0
0
0
14
8
0
1
0
5
3
1
-11
0
0
0
0
0
0
0
0
4
0
0
0
-1
1
0
-2
-1
0
0
0
0
0
0
0
0
-2
0
0
-2
3
8
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-1
8
-1
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
-2
0
1
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-3
1
-1
-14
0
1
0
0
0
0
0
0
0
0
-20
0
-1
37
-2
-5
-18
18
-3
0
0
0
0
0
0
0
0
20
0
5
-1
4
35
26
6
2
0
0
0
0
0
0
0
1
2
0
9
-16
26
10
12
6
-13
0
0
0
0
0
0
0
0
-3
6
10
-5
-8
31
6
1
0
0
0
0
0
0
0
0
0
0
0
11
-25
2
-1
-40
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
5
0
-65
-4
6
0
0
0
0
0
0
0
0
0
7
0
-3
0
1
2
39
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
5
-2
-2
-10
-7
0
-24
1
0
0
0
0
0
0
2
-29
-6
-2
8
5
24
25
39
-8
-2
0
0
0
0
0
0
0
0
-4
0
6
-1
-4
5
-14
14
-4
0
0
0
0
0
0
0
-1
-2
-4
-19
3
-24
0
4
4
1
0
0
0
0
0
0
0
-3
0
3
-40
-28
-7
-4
0
4
0
0
0
0
0
0
0
0
0
2
-7
-5
-3
9
22
2
-1
-1
0
0
0
0
0
0
0
2
0
0
-5
23
22
2
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
-1
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
3
-1
0
-2
4
4
0
-4
2
0
0
0
0
0
0
0
2
0
-4
-2
-8
-21
27
8
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
26
1
8
0
0
0
0
0
0
0
0
0
0
-1
-7
6
-7
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
36
-7
-2
8
0
0
0
0
0
0
0
0
0
0
1
12
11
9
7
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-5
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
-6
-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
9
-2
-3
-1
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
10
-3
1
8
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
26
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
1
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
10
0
0
2
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
-1
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
-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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
1
0
2
0
-2
2
-1
-1
0
0
0
0
0
0
0
0
-3
0
0
-5
0
-1
58
0
5
0
0
0
0
0
0
0
0
-1
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
1
9
6
-6
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
-1
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
3
1
-9
-2
0
0
0
0
0
0
0
0
0
0
-16
-5
-8
-9
7
59
-3
-15
18
0
0
0
0
0
0
0
0
7
0
0
-22
-9
-3
6
7
2
0
0
0
0
0
0
0
0
-1
-8
4
-19
1
-7
3
4
0
0
0
0
0
0
0
0
0
4
0
-2
21
-16
-3
-2
-4
0
0
0
0
0
0
0
0
0
2
1
26
-9
-33
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
34
-3
6
7
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-14
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
-5
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
-4
-1
2
-2
11
-7
-2
1
0
0
0
0
0
0
0
0
6
-1
2
1
6
0
-1
-7
1
0
0
0
0
0
0
0
0
1
0
-3
-4
3
3
1
-2
0
0
0
0
0
0
0
0
1
-4
0
4
-2
-49
3
1
-1
3
0
0
0
0
0
0
0
0
0
-10
2
-6
28
13
13
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
0
-10
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-7
5
-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
-2
0
1
0
-1
0
4
0
0
0
0
0
0
0
0
0
-3
4
0
0
5
0
2
0
-4
0
0
0
0
0
0
0
0
0
4
-4
4
0
-1
0
2
-3
0
0
0
0
0
0
0
0
0
0
-7
2
0
-4
3
-3
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
-7
-3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
0
0
2
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
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
-1
-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
6
-3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
1
0
0
0
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
-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
-1
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
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
-2
0
1
5
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
6
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
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
-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
1
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
2
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
-12
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
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
-5
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
8
-35
-58
18
0
0
0
0
0
0
0
0
0
0
0
0
12
4
24
-33
-1
0
0
0
0
0
0
0
0
0
0
0
4
-4
32
15
-25
2
0
0
0
0
0
0
0
0
0
0
0
5
4
-13
2
-4
-22
0
0
0
0
0
0
0
0
0
0
-2
-1
4
12
0
-19
-5
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
0
-10
0
0
0
-2
0
0
0
0
0
0
0
0
4
11
0
10
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
5
-12
4
-39
43
53
-82
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-29
63
33
-6
0
0
0
0
0
0
0
0
0
0
-1
22
-14
-59
-78
-25
3
0
0
0
0
0
0
0
0
0
0
-1
12
23
4
-5
14
-2
0
0
0
0
0
0
0
0
0
0
-3
6
-3
11
-7
-12
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
0
0
0
0
0
0
0
0
0
-1
-7
9
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
8
-21
55
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
77
17
-7
1
0
0
0
0
0
0
0
0
0
0
0
-2
17
2
-10
24
-5
0
0
0
0
0
0
0
0
0
0
8
-11
-18
-1
-5
-7
4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
-19
-6
-5
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
-2
0
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
1
2
1
20
-3
18
-13
-3
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
-3
4
-8
8
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-29
-6
-2
-2
0
2
0
0
0
0
0
0
0
0
0
0
-7
7
3
6
7
0
4
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
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
17
-4
1
-2
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
3
4
1
-1
-2
0
-1
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
1
0
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
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
-3
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-4
5
1
0
0
0
0
0
0
0
0
0
0
0
1
3
4
4
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
1
0
0
0
3
0
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
-1
0
1
-4
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
15
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
1
-40
-40
37
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
50
14
0
0
0
0
0
0
0
0
0
0
-2
0
0
7
8
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
-8
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
-1
-4
2
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
-7
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
1
-27
-81
19
0
0
0
0
0
0
0
0
0
0
-4
-8
5
14
44
14
-1
0
0
0
0
0
0
0
0
0
0
3
-3
53
-23
48
-46
24
0
0
0
0
0
0
0
0
0
0
0
1
-14
-6
35
-40
18
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
13
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
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
-3
-1
-5
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
45
22
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
34
-11
-12
21
33
-3
0
0
0
0
0
0
0
0
0
0
7
-67
7
0
-8
-7
2
0
0
0
0
0
0
0
0
0
8
0
-16
1
9
21
-5
13
0
0
0
0
0
0
0
0
1
0
7
7
-13
-29
-36
-38
2
0
0
0
0
0
0
0
0
0
1
1
-43
-10
-11
-6
-62
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
0
9
-17
-15
0
0
0
0
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
-1
-7
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-1
15
-1
0
0
0
-57
0
0
0
0
0
0
0
0
0
3
-14
-6
-3
-8
48
9
3
4
0
0
0
0
0
0
0
0
0
1
-32
77
-8
-34
-16
14
1
0
0
0
0
0
0
0
1
0
0
1
-29
-19
-12
45
21
1
0
0
0
0
0
0
0
0
0
-4
15
0
8
1
6
-27
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
13
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
-5
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
2
0
-10
0
0
0
22
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-42
80
20
7
-6
-1
0
0
0
0
0
0
0
-1
-2
-1
0
-23
49
0
-5
2
0
0
0
0
0
0
0
0
0
0
-6
-2
10
-5
15
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
7
-3
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
2
-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
1
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
-1
1
-2
1
0
0
0
25
4
1
0
0
0
0
0
0
0
1
0
-1
1
-19
14
-4
-3
0
-1
0
0
0
0
0
0
0
0
0
-3
23
37
-14
1
-8
3
0
0
0
0
0
0
0
0
0
0
7
2
2
-3
16
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-24
7
6
0
-3
0
0
0
0
0
0
0
0
0
-1
-1
0
-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
0
0
0
0
0
0
0
0
0
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
1
0
0
0
6
-3
-6
0
0
0
0
0
0
0
0
-7
0
-4
0
31
-18
5
-3
0
0
0
0
0
0
0
0
0
0
6
-7
6
3
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-1
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
0
0
3
0
0
-21
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-4
-2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
3
-6
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
3
0
-2
-3
2
6
1
0
0
0
0
0
0
0
0
0
0
0
-1
-10
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
1
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
2
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
-2
-4
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-29
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-11
-32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
-28
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
71
40
4
0
0
0
0
0
0
0
0
0
-2
0
-8
47
47
8
-11
20
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
0
13
7
0
0
0
0
0
0
0
0
0
0
0
1
2
2
-16
20
-1
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
0
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
1
0
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
-14
0
0
0
10
0
0
0
0
0
0
0
0
0
-4
-5
7
-17
20
-89
-14
0
0
0
0
0
0
0
0
0
1
0
-4
9
20
38
51
-16
6
0
0
0
0
0
0
0
0
0
0
-1
21
47
-3
37
3
0
0
0
0
0
0
0
0
0
0
0
-2
-31
5
13
1
29
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
2
14
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
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
3
18
0
0
0
-25
4
0
0
0
0
0
0
0
0
0
-1
-5
0
-41
-37
34
11
-2
0
0
0
0
0
0
0
0
1
5
2
-3
44
-17
4
0
0
0
0
0
0
0
0
0
0
0
-4
-4
10
-10
-25
11
-11
2
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-7
7
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
-4
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-1
-8
11
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-5
0
1
-7
17
20
10
-1
-1
0
0
0
0
0
0
0
0
0
-1
2
-4
-25
3
-10
0
-2
0
0
0
0
0
0
0
0
0
0
-3
-1
3
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
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
1
0
0
0
0
0
0
0
0
0
0
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
7
-4
0
0
0
35
6
1
0
0
0
0
0
0
0
0
0
6
-2
-8
-7
5
4
-3
2
0
0
0
0
0
0
0
0
0
-3
0
10
3
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
6
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-7
34
18
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
7
-13
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
-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
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
-4
1
0
0
0
0
0
0
0
0
-1
0
0
-2
-1
7
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
-4
-1
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
-1
-1
0
2
-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
-1
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
-3
2
4
-19
11
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
1
1
11
-21
0
-47
-1
0
0
0
0
0
0
0
0
0
0
1
-12
-10
27
3
-19
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
11
2
0
0
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
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-4
0
0
0
0
0
0
0
2
8
1
5
-5
0
0
0
-4
1
0
0
0
0
0
0
0
-1
-12
-4
-4
8
-2
-45
1
2
-1
0
0
0
0
0
0
0
0
0
2
0
1
-70
10
-56
-5
2
0
0
0
0
0
0
0
0
0
0
-6
24
-8
33
-11
3
-4
0
0
0
0
0
0
0
0
0
0
-1
5
4
-4
-3
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
2
-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
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
4
2
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
-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
-3
-3
6
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
6
16
9
36
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
-32
-4
-29
-61
32
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
20
-27
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-10
14
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-9
1
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
5
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
22
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
-2
-2
-6
3
42
-16
10
0
0
0
0
0
0
0
0
0
0
0
1
3
-13
-24
-41
11
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
10
10
25
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
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
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
3
-1
2
-3
0
0
0
-8
-1
0
0
0
0
0
0
0
-2
0
-2
0
0
-16
5
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
55
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
2
-24
-15
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-3
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
6
0
0
0
0
0
0
0
0
0
2
0
8
-7
27
4
-1
-3
0
0
0
0
0
0
0
0
-1
0
1
0
16
2
16
20
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
0
-2
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
-1
1
1
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
-3
0
0
0
2
0
-3
0
0
0
0
0
0
0
5
0
-1
-2
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
2
2
0
6
3
11
5
-4
0
0
0
0
0
0
0
0
-1
0
0
1
1
-2
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
-5
1
0
-4
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
-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
-3
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
1
1
0
0
0
0
0
0
0
0
3
0
0
0
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
8
-7
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
1
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
9
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-3
-3
0
0
0
0
0
0
0
0
0
0
-2
-6
0
-17
1
-2
-1
0
0
0
0
0
0
0
0
0
0
1
1
13
0
-5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
4
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
-4
-35
41
-25
-89
-2
0
0
0
0
0
0
0
0
0
-2
-1
2
-8
21
8
-28
0
0
0
0
0
0
0
0
0
-4
0
0
3
8
21
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
1
5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
16
0
0
0
2
0
0
0
0
0
0
0
0
0
2
-1
-1
-14
29
1
-26
0
1
0
0
0
0
0
0
0
0
0
-4
-7
6
5
2
12
5
1
0
0
0
0
0
0
0
0
-1
0
-3
-25
9
-17
-15
0
0
0
0
0
0
0
0
0
0
0
0
5
-93
-2
10
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-13
0
0
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
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
5
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
16
2
13
4
-32
0
0
0
0
0
0
0
0
0
2
0
3
8
-14
14
8
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-4
-21
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
5
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-1
1
15
-19
-53
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-9
-10
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
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
11
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
-6
-2
-13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-14
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
-3
-16
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
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
0
0
0
0
0
0
2
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
2
0
9
-21
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-28
5
10
-6
2
0
0
0
0
0
0
0
0
0
0
3
1
1
-10
-6
0
0
0
0
0
0
0
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
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
-1
0
0
0
-10
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
-1
0
-1
-1
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-1
0
1
0
0
0
0
0
0
0
0
-3
0
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
4
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
-6
-2
9
2
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
-1
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
4
-14
1
12
-8
4
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
5
-3
1
-5
-19
28
0
0
0
0
0
0
0
0
0
1
2
-1
-3
-47
-12
-39
-14
0
0
0
0
0
0
0
0
0
0
-2
-1
-14
-4
-71
0
5
3
0
0
0
0
0
0
0
0
0
-2
0
11
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
13
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
5
-5
0
0
0
0
2
2
0
0
0
0
0
0
0
1
-5
1
9
-16
-7
-47
-3
0
0
0
0
0
0
0
0
0
0
-4
-2
-14
17
23
5
0
0
0
0
0
0
0
0
0
0
0
0
-58
-4
24
11
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-23
13
-5
7
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
0
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
4
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
-3
0
3
-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
2
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-10
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
1
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
-6
-2
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
14
3
58
-25
-21
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-16
-41
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
12
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
7
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
66
65
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-18
-4
-28
4
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-8
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
23
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
-15
6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
12
9
-9
0
0
0
0
0
0
0
0
0
0
0
-2
3
-2
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-13
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
1
0
0
-2
-16
-3
-1
4
-3
0
0
0
0
0
0
0
0
0
0
1
-2
19
-35
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
16
-2
-4
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
-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
-3
0
0
0
0
0
0
0
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
-11
-1
20
6
-2
0
0
0
0
0
0
0
0
0
0
-2
1
8
-2
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
-12
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
-5
1
0
2
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
-4
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
-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
2
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
0
0
0
5
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
17
2
-4
-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
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-5
3
0
-7
-32
0
0
0
0
-5
0
0
0
0
0
0
0
-2
1
-15
-4
0
-1
100
-21
0
0
0
0
0
0
0
0
0
0
1
1
10
-6
-38
46
13
0
0
0
0
0
0
0
0
0
0
0
1
17
9
-11
-25
6
0
0
0
0
0
0
0
0
0
0
-1
-1
-23
-14
-31
0
26
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
2
0
7
-24
-20
0
0
0
0
0
0
0
0
0
0
0
7
0
-15
-27
60
21
-4
0
0
0
0
0
0
0
0
0
0
2
0
-6
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
2
8
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
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
2
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
7
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-58
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-77
-12
7
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
-12
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
8
-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
-1
0
4
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-8
0
-26
12
-30
0
0
0
0
0
0
0
0
0
0
0
0
-8
51
1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
-7
-3
14
-8
7
17
4
0
0
0
0
0
0
0
0
0
0
0
9
-43
-17
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
-10
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
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
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
-6
4
2
0
0
0
0
0
0
0
0
0
0
0
4
8
-15
10
-6
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-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
-2
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
22
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-1
8
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
2
-1
0
0
0
0
0
0
0
0
0
0
-1
10
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-10
-3
1
1
0
-4
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
2
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
0
0
0
0
0
0
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
4
-1
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
-1
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
1
13
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
0
18
36
20
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
31
-41
-24
0
0
0
0
0
0
0
0
0
0
1
-2
9
29
-3
1
12
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
15
0
-37
0
0
0
0
0
0
0
0
0
0
0
1
5
0
4
0
18
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-9
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
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
-28
-17
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
4
-39
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-4
-3
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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
-1
-31
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-10
-1
0
0
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
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
44
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
13
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
28
0
-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
0
0
0
20
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
27
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-7
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
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
3
-2
-4
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
-2
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
-13
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
8
1
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
2
2
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
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
-2
-4
5
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
-5
-8
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
1
0
0
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
-5
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-6
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-56
0
9
0
2
0
0
0
0
0
0
0
0
0
1
1
28
-21
3
2
-7
-1
0
0
0
0
0
0
0
0
0
14
-6
-22
-28
37
47
0
0
0
0
0
0
0
0
0
0
0
9
19
-7
-14
21
-6
0
0
0
0
0
0
0
0
0
0
0
5
-6
-16
-9
6
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
4
-1
2
0
0
1
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
2
-1
0
0
0
0
0
0
0
0
0
0
4
9
0
12
32
26
-10
2
0
0
0
0
0
0
0
0
0
0
-1
-6
-36
18
58
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
33
-45
-17
-24
2
0
0
0
0
0
0
0
0
0
0
-56
-11
-9
4
3
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-60
68
14
-1
0
0
0
0
0
0
0
0
0
0
0
24
12
8
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
6
9
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
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-14
-23
0
20
-12
-9
1
0
0
0
0
0
0
0
0
0
-6
-3
-39
-9
15
-2
2
-18
0
0
0
0
0
0
0
0
0
1
2
1
2
-12
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
74
-32
4
1
-7
0
-3
0
0
0
0
0
0
0
0
1
9
-7
-5
-4
-4
0
-2
0
0
0
0
0
0
0
0
0
0
3
7
6
-3
0
0
1
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
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
22
-28
3
-6
20
-5
5
0
0
0
0
0
0
0
0
2
6
0
31
-4
6
6
0
0
0
0
0
0
0
0
0
0
0
-5
-5
2
3
15
4
0
0
0
0
0
0
0
0
0
0
0
-7
15
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-11
10
4
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
0
-1
0
0
0
0
0
0
0
0
0
0
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
-14
-15
-6
3
0
0
1
0
0
0
0
0
0
0
0
0
3
-2
4
-1
23
0
12
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-13
5
0
0
1
0
0
0
0
0
0
0
0
0
2
0
1
-6
12
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
8
-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
0
0
0
0
0
0
0
0
0
0
0
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
0
1
-2
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
5
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
4
2
-6
0
-5
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
-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
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
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
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
-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
-1
-1
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-9
17
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
8
-12
7
0
5
-1
4
0
0
0
0
0
0
0
0
0
-1
-2
-21
21
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
2
1
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
11
1
-1
0
0
0
0
0
0
0
0
0
-21
0
15
-1
-23
-2
-7
3
0
0
0
0
0
0
0
0
0
5
7
-32
-67
-4
3
13
0
0
0
0
0
0
0
0
0
0
-19
3
-14
56
-41
-21
1
0
0
0
0
0
0
0
0
0
0
-6
7
2
35
-24
-3
0
0
0
0
0
0
0
0
0
0
0
19
7
71
-21
16
-2
0
0
0
0
0
0
0
0
0
0
0
4
-3
-9
-19
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-3
0
0
-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
2
-1
0
-51
22
-17
-16
-6
0
0
0
0
0
0
0
0
0
0
18
2
6
-43
-6
23
-3
-3
0
0
0
0
0
0
0
0
3
32
-10
21
17
-56
-21
5
0
0
0
0
0
0
0
0
0
-2
-54
4
-10
-42
-3
-2
1
0
0
0
0
0
0
0
0
0
0
-8
13
6
64
18
1
0
0
0
0
0
0
0
0
0
0
2
38
9
-2
-1
4
-14
1
0
0
0
0
0
0
0
0
0
3
-49
-8
4
24
2
3
0
0
0
0
0
0
0
0
0
0
0
-32
1
-14
-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
-15
11
0
6
0
4
-3
0
0
0
0
0
0
0
0
0
-2
-6
1
0
17
7
-3
0
0
0
0
0
0
0
0
0
0
9
6
8
10
0
-20
-9
-5
0
0
0
0
0
0
0
0
0
50
15
38
-24
-42
7
-2
2
0
0
0
0
0
0
0
0
0
-1
9
-25
-2
4
-13
1
0
0
0
0
0
0
0
0
0
0
6
7
5
-8
-7
4
2
0
0
0
0
0
0
0
0
0
0
0
3
44
-10
7
1
0
4
0
0
0
0
0
0
0
0
0
-6
-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
-2
23
1
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
-48
-13
5
-3
24
-1
-2
0
0
0
0
0
0
0
0
0
-1
0
47
-3
-5
19
7
-2
1
-1
0
0
0
0
0
0
0
2
-10
1
7
17
53
2
0
1
4
0
0
0
0
0
0
0
1
3
-16
-5
-10
11
3
0
0
0
0
0
0
0
0
0
0
4
-3
-20
-10
-1
-5
1
0
0
0
0
0
0
0
0
0
0
-1
11
-2
43
4
-2
1
0
3
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
-1
4
15
-3
4
0
4
7
0
0
0
0
0
0
0
0
0
1
0
-16
-8
-1
-1
0
-2
-5
0
0
0
0
0
0
0
0
-3
-15
-10
-8
9
14
5
1
0
0
0
0
0
0
0
0
0
2
-1
17
28
10
-9
-1
0
0
0
0
0
0
0
0
0
0
-2
4
-3
-8
-3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
3
-6
1
0
0
1
0
1
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
3
-13
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-7
23
31
-2
-5
-5
-6
0
-5
-2
0
0
0
0
0
0
0
14
2
7
-18
-5
3
-3
-8
0
0
0
0
0
0
0
0
0
9
31
12
0
32
2
-1
0
-2
0
0
0
0
0
0
0
0
-5
-8
1
-15
-16
2
0
0
0
0
0
0
0
0
0
0
0
-1
12
3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
-14
-4
8
2
2
-2
2
0
0
0
0
0
0
0
0
0
-3
-8
1
-3
-4
1
0
0
1
0
0
0
0
0
0
0
0
0
1
6
7
1
2
3
0
0
0
0
0
0
0
0
0
-5
0
4
5
-1
-3
-5
-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
0
-1
-9
-9
-3
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
4
18
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
10
-5
-7
0
-1
0
0
0
0
0
0
0
0
0
-7
7
-5
3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
0
0
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
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
4
4
-9
6
-2
0
0
0
0
0
0
0
0
0
0
0
-14
17
-5
-3
22
-5
1
0
0
0
0
0
0
0
0
0
0
6
13
-6
-27
-7
0
-3
-1
0
0
0
0
0
0
0
0
0
-3
-12
-8
7
5
0
0
-1
0
0
0
0
0
0
0
0
0
1
1
-1
21
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
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
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-43
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
2
-1
0
3
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-12
-23
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
6
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-6
-1
26
-8
-1
-6
1
3
0
0
0
0
0
0
0
0
0
25
12
31
73
-9
10
7
0
0
0
0
0
0
0
0
0
0
1
0
-5
10
-3
0
1
2
0
0
0
0
0
0
0
0
0
-1
11
-22
-12
-8
18
0
0
0
0
0
0
0
0
0
0
0
26
-4
45
9
-7
-3
-8
0
0
0
0
0
0
0
0
0
0
-44
2
-20
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
12
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
67
0
-16
29
-8
1
-3
0
0
0
0
0
0
0
0
0
-6
26
-1
-15
-72
-10
47
1
2
0
0
0
0
0
0
0
0
-1
19
-7
-54
3
-45
0
0
0
0
0
0
0
0
0
0
0
4
8
-15
-56
13
-12
-13
3
0
1
0
0
0
0
0
0
0
-1
16
-13
4
-16
3
-12
-1
1
0
0
0
0
0
0
0
0
-1
7
-2
13
0
1
2
1
-1
0
0
0
0
0
0
0
0
-4
-19
0
-1
1
2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
10
4
-16
11
-4
-6
0
0
0
0
0
0
0
0
0
-2
-39
-29
-2
1
12
-7
-7
0
0
0
0
0
0
0
0
0
-5
19
35
3
-19
-6
4
1
0
0
0
0
0
0
0
0
0
-3
8
8
10
14
29
-5
0
0
0
0
0
0
0
0
0
0
-2
-2
26
-2
31
6
0
0
1
0
0
0
0
0
0
0
0
0
3
2
-2
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
13
12
4
11
-4
6
0
0
0
0
0
0
0
0
0
0
3
-4
5
13
3
7
-2
-1
0
0
0
0
0
0
0
0
0
12
3
-4
-1
-1
3
9
-3
0
0
0
0
0
0
0
0
-7
2
-11
-29
1
-35
8
-1
0
0
0
0
0
0
0
0
0
3
-10
-16
17
3
-13
0
0
6
0
0
0
0
0
0
0
0
2
-3
58
2
0
6
2
0
0
0
0
0
0
0
0
0
0
0
-6
1
-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
-5
0
-25
-1
6
0
-15
0
0
0
0
0
0
0
0
0
0
3
11
8
-11
-35
0
-5
4
0
0
0
0
0
0
0
0
0
-7
0
8
9
-1
0
0
-1
0
0
0
0
0
0
0
0
0
1
-5
-1
16
-1
-1
1
2
0
0
0
0
0
0
0
0
0
2
-1
3
2
16
2
0
0
-5
0
0
0
0
0
0
0
0
0
1
-1
-2
-10
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
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
4
-4
-5
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
25
-3
1
3
2
0
0
0
0
0
0
0
0
0
0
0
-2
10
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
13
13
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
-1
3
0
-1
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
2
-5
1
0
0
0
0
0
0
0
0
0
-2
1
7
7
7
-47
0
2
1
0
0
0
0
0
0
0
0
2
5
-39
3
4
0
1
0
0
0
0
0
0
0
0
0
0
-3
-3
-8
4
7
-12
2
0
0
1
0
0
0
0
0
0
0
0
2
-1
-1
-6
7
0
0
0
0
0
0
0
0
0
0
0
-2
-4
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-9
-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
-7
9
15
-3
-12
-1
0
-1
0
0
0
0
0
0
0
0
0
-8
67
-2
-29
10
-7
-13
-5
2
0
0
0
0
0
0
0
0
1
-29
-5
14
-3
-1
1
0
0
0
0
0
0
0
0
0
0
3
-3
-9
0
17
2
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
-10
-3
-8
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
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
-2
7
5
-51
-16
13
-1
0
0
0
0
0
0
0
0
0
0
12
8
-28
-36
40
21
4
3
0
0
0
0
0
0
0
0
0
2
-50
-40
-27
25
-14
7
1
0
0
0
0
0
0
0
0
0
5
-2
67
-25
3
-11
-3
0
0
0
0
0
0
0
0
0
0
2
5
-48
64
-33
1
1
1
0
0
0
0
0
0
0
0
0
13
-13
5
-12
-1
0
5
1
0
0
0
0
0
0
0
0
0
-13
5
1
-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
-4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
3
-1
1
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
0
2
0
-1
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
-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
3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-11
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
-2
-2
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-6
-10
-2
0
0
0
0
0
0
0
0
0
0
2
-3
-45
-23
12
5
5
-1
0
0
0
0
0
0
0
0
0
-10
3
23
10
32
1
-3
0
0
0
0
0
0
0
0
0
0
3
10
0
-7
7
2
-1
0
0
0
0
0
0
0
0
0
0
12
-1
28
0
38
-14
0
0
0
0
0
0
0
0
0
0
0
3
0
24
-2
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
4
0
0
0
0
0
0
0
0
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
-13
-1
-2
6
0
0
0
0
0
0
0
0
0
0
2
22
2
-16
8
-14
18
5
-1
0
0
0
0
0
0
0
0
1
-7
9
22
-11
3
-3
1
-2
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
1
-4
-3
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
2
15
2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-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
-1
13
10
0
2
-8
-1
0
0
0
0
0
0
0
0
0
0
1
5
6
9
-50
5
18
10
0
0
0
0
0
0
0
0
0
0
28
-24
-5
-22
18
4
3
0
0
0
0
0
0
0
0
0
-2
0
0
-1
2
1
-1
-5
-1
0
0
0
0
0
0
0
0
-8
-23
-8
0
-10
-5
8
-3
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
4
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
-10
-14
16
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
22
-1
-12
1
20
-1
0
-3
0
0
0
0
0
0
0
0
1
28
33
-26
2
1
-1
1
1
0
0
0
0
0
0
0
0
0
2
0
7
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-9
0
3
3
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-9
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
1
9
1
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
-1
1
1
10
-12
0
0
-2
0
0
0
0
0
0
0
0
0
8
13
-2
5
25
1
-24
1
6
0
0
0
0
0
0
0
0
0
-7
-3
41
5
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
-5
-6
13
-2
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
1
-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
2
2
0
-3
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
-4
5
2
-1
1
10
0
0
0
0
0
0
0
0
0
0
1
-5
0
-5
-7
0
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
-1
-3
-1
6
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
1
7
-2
0
-1
-2
-2
-8
0
0
0
0
0
0
0
0
0
0
-7
16
-3
3
-6
-8
-1
2
0
0
0
0
0
0
0
0
0
-5
7
6
18
9
-2
0
0
1
0
0
0
0
0
0
0
0
1
-5
45
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-42
-1
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-29
7
-7
1
14
4
0
0
0
0
0
0
0
0
0
7
39
-5
11
25
-37
3
4
-7
1
0
0
0
0
0
0
0
-3
-44
3
-58
11
1
-22
-1
0
0
0
0
0
0
0
0
0
12
-19
2
-19
20
-1
3
0
0
0
0
0
0
0
0
0
0
-6
-7
-8
-18
-31
-2
4
0
0
0
0
0
0
0
0
0
0
1
-23
15
-2
4
17
-2
0
0
0
0
0
0
0
0
0
0
-6
-6
-8
2
8
0
0
0
4
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-15
-24
-5
1
0
0
0
0
0
0
0
0
0
0
0
20
-14
-8
20
42
2
0
-1
0
0
0
0
0
0
0
0
0
-19
34
-15
53
12
6
9
0
0
0
0
0
0
0
0
0
0
-18
-4
55
-18
23
1
3
0
0
0
0
0
0
0
0
0
0
-8
-26
-7
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
3
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-9
-15
0
3
0
0
-1
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
-2
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
-2
-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
0
-4
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
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
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
-41
2
-2
2
0
0
0
0
0
0
0
0
0
0
4
-1
-31
14
-5
-5
2
0
0
0
0
0
0
0
0
0
0
4
-1
8
50
-50
-2
-1
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
-1
6
6
3
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
2
0
0
0
0
0
0
0
0
0
0
0
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
-32
-4
7
-1
-10
0
0
0
0
0
0
0
0
0
0
-12
5
1
49
-37
5
1
0
0
0
0
0
0
0
0
0
0
37
4
-44
11
-23
8
2
0
0
0
0
0
0
0
0
0
0
-16
1
-29
-8
11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
29
-6
1
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
18
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
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
9
3
0
0
0
0
0
0
0
0
0
0
1
19
16
-17
-8
10
1
-1
0
0
0
0
0
0
0
0
0
0
9
-12
-1
34
-7
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
6
-2
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
4
0
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
16
-2
-2
19
-5
0
0
0
0
0
0
0
0
0
0
-6
7
10
10
4
-7
-1
0
0
0
0
0
0
0
0
0
0
13
0
16
-4
12
-8
0
0
0
0
0
0
0
0
0
0
0
-5
-17
25
0
1
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
-6
2
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
-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
-1
-27
-2
9
-3
0
0
0
0
0
0
0
0
0
0
4
11
-13
10
-2
1
2
4
0
0
0
0
0
0
0
0
0
-2
8
-19
-13
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
1
1
3
-5
0
0
-6
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
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
3
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-2
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-29
-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
-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
-1
-5
7
1
-2
-6
-11
1
0
0
0
0
0
0
0
0
0
4
-6
-2
-2
0
1
2
0
-1
0
0
0
0
0
0
0
0
-5
-2
-13
-5
10
11
-2
0
1
0
0
0
0
0
0
0
0
1
-4
6
-11
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-13
4
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
-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
4
7
53
-15
6
-1
2
-7
0
0
0
0
0
0
0
0
0
0
-2
6
-3
15
-1
3
-3
-9
0
0
0
0
0
0
0
0
8
35
-23
-34
8
-21
5
2
1
2
0
0
0
0
0
0
0
-2
4
26
-35
-15
0
7
0
0
0
0
0
0
0
0
0
0
0
-18
4
13
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
-8
1
-9
-2
0
0
0
0
0
0
0
0
0
0
-2
8
8
-10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-18
-16
11
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-23
-34
22
-4
-14
4
0
0
0
0
0
0
0
0
0
0
0
19
33
-18
1
-1
5
0
-3
0
0
0
0
0
0
0
0
0
3
-10
-12
32
19
1
1
0
0
0
0
0
0
0
0
0
0
-6
-87
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
28
2
12
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
-7
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
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-6
0
2
-1
0
0
0
0
0
0
0
0
0
0
1
6
5
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-2
0
0
1
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
-14
-3
-36
29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
27
13
-3
0
-2
0
0
0
0
0
0
0
0
0
8
0
-1
-3
-10
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-2
1
0
0
0
0
0
0
0
0
0
5
11
10
-22
10
-13
3
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-18
-5
17
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
17
4
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
-2
-2
0
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
0
0
-1
3
0
0
0
0
0
0
0
0
0
1
0
17
-7
5
4
29
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-24
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
5
0
0
0
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
-1
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-2
13
-8
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
-1
-2
-4
0
2
0
0
0
0
0
0
0
0
0
0
9
11
0
-7
3
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-6
-2
4
-8
0
0
0
0
0
0
0
0
0
0
-2
-5
-5
9
-6
8
4
-3
0
0
0
0
0
0
0
0
0
3
-1
-8
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-24
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
7
0
4
-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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-1
4
0
0
0
0
0
0
0
0
0
0
1
0
-3
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
-3
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
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
-5
-1
11
1
-1
0
0
0
0
0
0
0
0
0
5
1
4
-1
-1
1
0
0
0
0
0
0
0
0
0
0
-6
1
-7
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
3
1
-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
2
-6
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
-35
9
0
4
0
-8
5
0
0
0
0
0
0
0
0
0
3
-25
14
-1
0
1
-2
7
-2
0
0
0
0
0
0
0
0
15
32
14
9
-8
1
-2
0
0
0
0
0
0
0
0
0
0
-22
29
2
-6
33
19
0
1
0
0
0
0
0
0
0
0
0
4
6
20
-2
-33
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-26
-12
17
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
0
-9
7
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
5
-1
8
0
0
0
0
0
0
0
0
0
0
0
5
39
11
19
-7
-2
4
0
0
0
0
0
0
0
0
0
0
-6
-6
-12
-26
-21
-1
0
-1
0
0
0
0
0
0
0
0
0
1
45
1
-25
2
-2
0
0
0
0
0
0
0
0
0
0
0
-7
-11
18
-6
27
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
9
15
-2
2
0
0
0
0
0
0
0
0
0
0
0
-5
11
0
7
0
-3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-3
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
2
0
0
6
-6
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
4
4
17
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
54
-3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-38
-3
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
-2
1
0
-3
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
14
0
3
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
7
10
3
3
-2
0
0
0
0
0
0
0
0
0
0
-7
5
99
-31
-3
1
-2
0
0
0
0
0
0
0
0
0
-1
-11
-9
32
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
34
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-2
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
1
10
57
-13
-6
2
0
-2
0
0
0
0
0
0
0
0
0
0
-1
12
6
26
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
3
-25
2
7
-7
-1
3
0
0
0
0
0
0
0
0
0
0
0
17
8
-14
-1
11
0
0
0
0
0
0
0
0
0
0
0
1
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
5
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
28
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
1
27
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
-18
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-16
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
6
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
7
-1
-25
-4
1
9
-2
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
1
2
-3
8
-25
2
4
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
1
-1
0
1
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
0
2
2
6
7
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
-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
1
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
0
0
0
0
0
0
0
0
-16
-6
0
0
0
9
4
0
-2
0
0
0
0
0
0
0
0
-1
8
1
-1
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
-1
-2
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
1
0
0
0
0
0
0
0
0
0
0
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
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
7
-24
4
0
0
-1
3
-5
0
0
0
0
0
0
0
0
0
15
-1
-4
-2
-1
-1
1
0
0
0
0
0
0
0
0
0
2
12
-1
-22
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
-6
14
-3
1
0
0
0
0
0
0
0
0
0
0
0
32
-15
-40
2
-22
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
3
-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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
21
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
-4
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-5
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
-1
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
2
7
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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-1
-2
0
4
0
0
0
0
0
0
0
0
0
0
19
-7
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
17
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
9
5
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-2
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
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
-2
0
0
0
0
0
0
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
-3
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-4
0
0
0
0
1
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
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
6
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
6
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
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
-1
0
0
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
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
-4
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
-3
1
-2
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
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
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
-1
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
-7
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
2
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
2
-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
-6
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
4
-24
0
32
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-3
6
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
-1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
5
5
-13
-15
-15
-1
0
0
0
0
0
0
0
0
0
0
-1
0
15
26
-14
6
3
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
-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
0
0
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
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-2
-1
0
0
0
0
0
0
0
0
-1
-1
0
2
0
9
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
35
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
12
-9
-13
0
0
0
0
0
0
0
0
0
0
0
-1
4
-2
0
4
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
-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
-6
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
2
0
4
0
0
0
0
0
0
0
0
3
-1
0
-16
-19
-5
0
-3
0
0
0
0
0
0
0
0
0
0
2
-1
-2
3
-1
1
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
1
9
5
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-10
13
0
1
0
0
0
0
0
0
0
0
0
0
-3
-1
22
2
8
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
-7
10
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
1
0
12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
28
44
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
-4
-6
15
-1
-13
-29
0
-3
0
0
0
0
0
0
0
1
0
0
-3
-9
-14
-7
-3
-5
0
0
0
0
0
0
0
0
0
1
-2
12
7
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-1
4
-6
-1
-1
0
-2
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
23
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
10
6
-12
1
17
0
0
0
0
0
0
0
0
0
0
0
5
0
-10
16
-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
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
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
-4
11
-27
0
-4
0
0
0
0
0
0
0
0
0
0
0
-4
-6
14
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-2
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
8
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
24
-20
-6
-28
0
0
0
0
0
0
0
0
0
7
0
0
-6
-27
-17
64
5
0
0
0
0
0
0
0
0
0
2
-1
0
0
-5
4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
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
-2
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
22
-31
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
23
-11
-61
-4
-8
0
0
0
0
0
0
0
0
0
-4
0
-3
10
-22
31
24
26
-6
0
0
0
0
0
0
0
0
0
-2
0
-1
12
-1
-31
-14
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
-5
-4
-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
-1
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-4
-22
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-1
0
5
12
6
-51
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
7
-8
-4
-7
-5
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
2
5
9
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
14
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
10
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
12
-2
-3
0
0
0
0
0
0
0
0
0
0
2
-5
46
-23
-2
0
0
0
0
0
0
0
0
0
0
0
-1
3
-23
-7
-7
-7
-1
-1
0
0
0
0
0
0
0
-1
0
-2
-2
0
33
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
2
8
-2
1
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
0
0
0
0
0
0
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
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
5
0
16
-64
-36
-37
0
0
0
0
0
0
0
0
0
0
0
-4
3
-8
12
-23
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-2
6
6
11
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
11
-2
-1
0
0
0
0
0
0
0
0
0
0
0
4
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
1
5
-1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
5
-8
0
0
0
0
-2
1
0
0
0
0
0
0
0
-4
0
-3
10
2
50
-22
20
0
2
0
0
0
0
0
0
0
0
0
0
-2
-5
31
-49
-8
1
0
3
0
0
0
0
0
0
0
0
1
-7
0
2
3
-15
8
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-6
1
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
-3
10
33
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-3
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-2
41
24
-8
-79
33
4
0
-1
0
0
0
0
0
1
0
0
-1
2
-9
32
-21
-20
-1
0
0
0
0
0
0
0
0
0
0
0
-32
10
-3
8
-5
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
-2
22
0
5
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
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
-5
12
0
0
0
7
1
0
0
0
0
0
0
0
0
2
-3
-6
2
0
0
0
4
0
0
0
0
0
0
0
0
3
-1
-1
17
7
-81
3
-57
-2
-1
0
0
0
0
0
0
0
0
-1
-1
-6
1
49
10
-49
0
-1
0
0
0
0
0
0
0
1
0
-2
6
14
-14
4
24
0
0
0
0
0
0
0
0
0
-1
0
0
11
9
12
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
0
0
0
8
0
0
0
0
0
0
0
0
0
1
-1
6
5
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
-43
-22
41
-41
3
-15
1
0
0
0
0
0
0
0
0
0
0
1
10
-45
-9
-20
-3
0
0
0
0
0
0
0
0
0
1
0
1
-5
-7
44
5
-3
0
0
0
0
0
0
0
0
0
0
0
17
7
0
-13
7
-3
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
0
0
0
0
0
0
-3
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
2
0
-38
-61
-6
0
-5
1
0
0
0
0
0
0
0
0
0
1
1
11
22
11
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
29
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
-3
0
-3
-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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
1
3
2
39
0
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
0
0
0
-1
-3
-6
0
1
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
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
13
6
1
-15
0
0
0
0
0
0
0
0
0
0
1
5
-2
-17
6
-33
8
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-3
0
20
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
19
31
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
12
34
4
0
0
0
0
0
0
0
0
0
2
0
0
3
-19
-19
-21
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-3
4
13
2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
-1
0
-1
-8
-3
-19
33
1
-4
0
0
0
0
0
0
0
0
0
0
-5
-5
23
56
-4
9
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
0
2
-4
0
0
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
-3
0
-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
0
0
2
-1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
-2
25
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-28
16
0
6
0
0
0
0
0
0
0
0
0
0
0
6
4
2
-11
-5
0
0
0
0
0
0
0
0
0
0
2
1
-1
-2
-3
7
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
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
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
7
-2
0
0
0
0
0
0
0
-1
3
0
0
-6
25
4
4
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
-34
13
18
0
1
0
0
0
0
0
0
0
0
0
0
0
-29
2
26
1
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-3
9
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
0
0
2
-3
0
0
0
0
0
0
0
0
0
-2
-3
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
27
11
-31
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
28
4
-2
5
-2
0
0
0
0
0
0
0
0
0
0
-8
2
-13
4
10
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
-48
0
0
0
3
0
0
0
0
0
0
0
0
0
0
7
14
8
-8
6
2
0
-4
0
0
0
0
0
0
0
0
4
-3
7
11
14
-1
2
1
0
0
0
0
0
0
0
0
0
0
1
-5
-45
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-18
-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
1
0
1
-3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
10
-26
0
0
0
-8
0
0
0
0
0
0
0
-3
0
1
14
14
3
-26
2
-43
0
0
0
0
0
0
0
0
0
1
-3
0
-18
-7
-12
-14
-34
3
0
0
0
0
0
0
0
0
0
-1
1
7
-11
-15
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
20
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
2
-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
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
21
-17
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
-2
0
-3
-66
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-33
29
-20
4
-3
0
0
0
0
0
0
0
0
0
0
0
4
11
12
-12
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-6
-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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
14
-47
0
0
-2
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
7
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
1
0
0
0
7
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
-1
2
3
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
18
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
2
4
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-13
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-4
7
3
-8
2
0
0
0
0
0
0
0
0
0
0
1
2
-7
10
5
51
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-40
-10
-21
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
20
9
22
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
4
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
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
34
0
0
0
0
0
0
0
0
0
-3
0
3
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
2
0
26
-37
12
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
10
-14
25
14
0
0
0
0
0
0
0
0
0
0
2
-1
23
-6
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
1
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
1
9
-1
1
8
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
11
3
-8
9
22
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-6
-8
-1
-6
0
0
0
0
0
0
0
0
0
0
1
5
-6
3
-3
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
-1
2
1
-9
-7
28
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
2
7
42
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
3
7
1
0
0
0
0
0
0
0
0
0
0
2
1
0
1
7
0
0
0
0
0
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
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
0
0
0
0
0
1
-1
-5
-28
0
0
0
-21
0
0
0
0
0
0
0
0
-1
0
0
1
2
38
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
2
5
9
-27
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
1
-1
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
-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
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
3
0
18
-61
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
18
-1
1
-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
-1
0
0
0
0
0
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
22
-44
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
-4
45
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
1
-57
-21
-1
-49
40
-1
1
0
0
0
0
0
0
0
0
0
-2
2
-13
-1
-4
-12
9
0
-1
0
0
0
0
0
0
1
0
0
-1
58
10
20
15
0
0
0
0
0
0
0
0
0
0
0
3
0
11
0
5
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
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
1
-2
17
0
0
0
-2
0
0
0
0
0
0
0
3
0
2
7
4
-21
0
0
0
8
-1
0
0
0
0
0
0
0
14
-1
8
-7
-17
34
-3
21
-1
0
0
0
0
0
0
0
0
0
1
0
6
6
7
-2
-3
0
0
0
0
0
0
0
0
0
0
0
1
7
28
-3
1
-16
-3
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-3
-9
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
12
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
3
-4
-9
-18
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
1
-4
-35
-4
9
1
-5
0
0
0
0
0
0
0
2
-2
1
0
3
-2
14
-1
-6
0
0
0
0
0
0
0
0
0
1
-1
13
-2
-20
5
-1
4
0
0
0
0
0
0
0
0
0
0
0
2
15
-1
-8
2
3
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
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
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-3
5
20
12
0
11
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
0
-6
7
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
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
-2
0
0
0
7
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-2
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
6
-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
0
0
2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-20
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
24
-101
-18
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
-13
18
-18
0
0
0
0
0
0
0
0
0
0
0
-1
-18
8
-3
6
-7
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
21
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
3
0
0
0
0
0
0
0
0
-1
-1
0
6
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-8
-9
62
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
-9
-13
-1
0
0
0
0
0
0
0
0
0
0
0
13
4
14
-7
-8
-2
0
0
0
0
0
0
0
0
0
0
0
1
11
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
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
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
15
0
0
0
0
0
0
0
0
0
0
4
2
-7
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
7
5
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
9
-3
2
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
-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
1
0
11
-4
0
0
0
3
-3
0
0
0
0
0
0
0
1
0
1
0
3
0
0
0
-9
-5
0
0
0
0
0
0
0
0
0
1
15
-2
12
-12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
23
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
11
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
2
10
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-3
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
-12
3
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
12
-7
-16
-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
3
-4
0
10
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
9
-1
-5
-17
14
1
0
0
0
0
0
0
0
0
0
4
-3
0
1
39
15
-3
-3
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
3
-11
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
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
-15
0
0
0
-3
0
0
0
0
0
0
0
-1
-1
0
-9
23
-33
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
12
41
-48
3
23
0
9
0
0
0
0
0
0
0
6
-1
3
1
-10
-4
9
23
-3
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
-3
0
0
0
-1
7
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
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
0
5
9
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
3
29
-5
0
0
0
-7
-2
0
0
0
0
0
0
-3
3
0
7
-16
-10
23
-34
-14
0
0
0
0
0
0
0
0
0
1
-3
1
3
-2
40
-14
24
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
0
0
0
0
5
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
-3
0
0
0
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
14
0
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
-27
-2
-61
69
-23
1
0
0
0
0
0
0
0
0
0
0
2
8
-12
54
2
-8
43
-7
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
-8
-9
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
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
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-1
5
-12
24
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
-3
-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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-9
-3
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
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
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
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
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
20
-1
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
28
-12
3
0
0
0
0
0
0
0
0
0
0
0
2
17
31
7
-2
12
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
0
0
0
0
0
0
0
1
2
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
-6
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-2
0
1
-9
0
33
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-7
2
27
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-7
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
0
-3
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
7
0
-1
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
1
-2
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-2
10
7
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-3
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
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
28
-25
-14
0
1
0
0
0
0
0
0
0
0
0
1
-1
-5
2
-8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-1
-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
-4
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
5
-3
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
1
0
-2
-2
-16
-6
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-11
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
34
2
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
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
12
0
0
0
0
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
0
-1
-1
-4
0
3
14
-12
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-6
10
-3
2
0
0
0
0
0
0
0
0
0
6
0
0
0
-2
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-6
-18
0
0
0
12
0
0
0
0
0
0
0
0
0
-1
2
-41
12
-5
36
-15
0
0
0
0
0
0
0
0
0
-3
1
-11
0
22
-13
15
-3
0
0
0
0
0
0
0
0
0
0
0
1
7
9
-3
5
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
-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
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
-16
0
0
0
-29
0
0
0
0
0
0
0
0
0
2
-9
3
27
5
-28
-1
3
0
0
0
0
0
0
0
0
0
-1
7
-10
38
-27
2
-32
-3
0
0
0
0
0
0
0
0
0
0
0
7
-4
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-4
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
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
-6
0
0
0
18
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
1
-5
0
-9
-56
8
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-21
19
0
3
0
0
0
0
0
0
0
0
0
-1
0
-2
6
-16
38
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
-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
-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
-11
0
0
0
-12
3
0
0
0
0
0
0
0
0
0
0
-3
1
-9
-31
2
3
-6
0
0
0
0
0
0
0
0
0
0
0
1
16
2
50
0
1
0
0
0
0
0
0
0
0
0
0
0
0
11
19
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
-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
-1
3
-1
1
1
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-12
51
-24
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
16
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
-5
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
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
5
1
-4
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
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
-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
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
-15
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
1
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-1
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-9
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
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
2
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
-4
23
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-2
11
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
16
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
18
-2
-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
-3
0
0
0
0
0
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
44
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
1
-9
62
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
-7
-7
6
-71
-13
0
0
0
0
0
0
0
0
0
0
0
-4
-3
15
-8
12
5
11
0
0
0
0
0
0
0
0
0
1
-9
-2
-5
0
-49
0
3
0
0
0
0
0
0
0
0
0
0
2
15
1
0
2
0
-3
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
-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
3
0
0
0
0
0
0
0
0
0
0
-15
-2
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
17
-1
-71
17
-57
8
0
0
0
0
0
0
0
0
0
0
-4
1
-19
-59
-2
10
2
0
0
0
0
0
0
0
0
0
3
-2
18
19
31
2
-13
1
0
0
0
0
0
0
0
0
0
0
0
25
-66
0
0
-4
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
7
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
1
0
2
4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-49
-85
9
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-11
51
-26
0
-12
0
0
0
0
0
0
0
0
0
0
0
1
11
3
-12
1
6
0
0
0
0
0
0
0
0
0
0
0
22
3
20
-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
4
-5
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
-11
12
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
22
10
0
3
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
3
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
-12
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
10
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
3
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-16
-13
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
3
13
5
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
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
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
11
1
-2
-4
-41
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
10
15
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
-1
-2
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-7
-37
-29
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-1
10
2
5
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
-18
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
-9
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-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
-2
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
-5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-1
33
-31
0
0
0
0
0
0
0
0
0
0
0
0
8
-23
9
21
62
-1
0
0
0
0
0
0
0
0
0
0
-3
-6
7
10
-1
14
5
0
0
0
0
0
0
0
0
0
0
2
-1
-19
-34
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-9
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
-8
-62
-10
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
15
51
-6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-5
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-32
0
1
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
0
2
0
-6
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
4
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
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
1
6
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-6
5
-5
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
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
5
0
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
3
11
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
4
-8
14
2
-1
5
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-3
-5
1
-2
-1
2
0
0
0
0
0
0
0
0
2
-3
12
4
-17
3
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
9
-16
1
-1
3
1
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
-21
-8
-2
5
5
0
1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
5
0
3
0
0
0
0
0
0
0
0
0
-1
2
-4
11
-1
0
1
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
2
-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
0
0
0
0
0
0
0
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
1
0
5
0
1
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
6
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
15
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-10
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
3
-7
1
8
-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
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
-1
9
2
-3
0
2
0
0
0
0
0
0
0
0
0
0
-19
-26
1
-1
22
-3
5
1
0
0
0
0
0
0
0
0
0
11
4
16
27
1
-1
-6
0
0
0
0
0
0
0
0
0
0
1
-8
-14
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
5
5
-5
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-18
4
-6
0
-1
0
0
0
0
0
0
0
0
0
0
1
22
10
7
-6
-4
0
0
0
0
0
0
0
0
0
0
0
2
-4
-21
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
-11
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
1
-4
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
-3
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
-7
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
2
-14
1
4
13
-1
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
-1
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
-1
2
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
0
-2
4
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
15
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-14
41
-18
28
7
0
0
0
0
0
0
0
0
0
0
1
-61
-1
0
10
-2
3
0
0
0
0
0
0
0
0
0
0
11
6
-12
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-6
6
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
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-1
9
-2
0
0
0
0
0
0
0
0
0
0
10
0
17
-23
5
18
11
0
0
0
0
0
0
0
0
0
0
2
16
0
1
5
-3
0
0
0
0
0
0
0
0
0
0
-7
21
-25
-5
-3
23
-2
3
0
0
0
0
0
0
0
0
0
0
5
-1
10
5
0
4
3
1
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
5
-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
0
0
0
0
0
0
1
5
-1
-7
1
2
0
0
0
0
0
0
0
0
0
-1
6
11
-3
10
1
1
0
0
0
0
0
0
0
0
0
0
-3
0
-3
18
2
11
3
0
0
0
0
0
0
0
0
0
0
3
0
-3
3
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
1
4
6
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
-5
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
1
1
0
2
1
-4
-7
1
0
0
0
0
0
0
0
0
0
0
5
-5
-15
0
1
17
3
-4
0
0
0
0
0
0
0
0
1
9
-2
-4
-22
-1
5
-1
0
0
0
0
0
0
0
0
0
-2
-1
3
5
4
1
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
2
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
-7
1
8
-2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
10
-3
-15
-3
1
6
0
0
0
0
0
0
0
0
0
0
0
4
21
20
5
6
-2
-1
0
0
0
0
0
0
0
0
0
0
18
3
14
1
2
1
0
0
0
0
0
0
0
0
0
0
-1
1
-8
4
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
-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
-10
0
3
-12
1
0
0
0
0
0
0
0
0
0
0
0
-1
13
9
-26
5
-10
0
-1
3
0
0
0
0
0
0
0
0
1
-1
-15
-5
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
1
-5
6
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
20
24
-2
0
0
0
0
0
0
0
0
0
0
0
-14
4
37
-23
-13
3
-26
0
0
0
0
0
0
0
0
0
0
29
-16
-6
-33
26
21
2
0
0
0
0
0
0
0
0
0
0
-2
-9
-40
37
-13
5
-6
0
0
0
0
0
0
0
0
0
0
22
3
0
-23
-2
7
2
0
0
0
0
0
0
0
0
0
0
8
-1
9
-8
-7
-3
0
0
0
0
0
0
0
0
0
0
0
8
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
-6
44
17
-2
-3
9
0
0
0
0
0
0
0
0
0
0
-1
-20
6
-14
23
21
2
2
0
0
0
0
0
0
0
0
0
-1
-3
25
-5
-7
-9
-1
-1
-1
0
0
0
0
0
0
0
0
2
20
32
-56
24
-9
-6
0
0
0
0
0
0
0
0
0
0
-2
-31
-50
2
-12
-1
1
1
0
0
0
0
0
0
0
0
0
0
-7
-10
-16
1
9
0
0
0
0
0
0
0
0
0
0
0
-1
6
-2
1
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
12
3
0
-1
5
0
0
0
0
0
0
0
0
0
0
-5
-33
-84
27
12
-19
1
4
0
0
0
0
0
0
0
0
0
7
-35
28
24
-16
-1
0
-1
0
0
0
0
0
0
0
0
0
12
-2
-7
26
8
-4
0
0
0
0
0
0
0
0
0
0
0
2
18
11
32
9
10
0
0
0
0
0
0
0
0
0
0
0
-29
9
3
1
7
0
0
-1
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
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
-1
-12
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
5
28
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
-2
-13
-1
-1
0
0
0
0
0
0
0
0
0
0
0
5
44
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
18
17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
-4
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
-2
0
-2
-1
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
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
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
4
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-3
1
0
0
0
0
0
0
0
0
0
0
0
2
28
1
31
10
9
2
1
6
0
0
0
0
0
0
0
0
2
-1
76
11
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
1
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
5
-1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
1
-7
-2
0
2
0
0
-1
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
-9
-5
-7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
6
2
-7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-18
1
4
25
5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
16
-3
-16
16
0
0
13
0
0
0
0
0
0
0
0
0
2
-25
23
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
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
-4
0
0
0
0
0
0
0
0
0
0
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
1
-5
0
-4
0
0
0
0
0
0
0
0
0
0
3
39
4
-9
-14
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
3
-1
-18
-2
0
-2
0
0
0
0
0
0
0
0
0
0
4
4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
7
-1
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
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
1
9
-1
6
-2
0
0
0
0
0
0
0
0
0
2
0
10
5
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-3
2
-4
0
-6
-1
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
0
0
0
0
0
0
0
0
0
12
2
7
0
3
3
1
0
1
0
0
0
0
0
0
0
0
-6
4
0
6
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-2
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
4
3
4
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
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-2
0
0
0
0
0
0
0
0
0
-2
5
-7
2
1
6
6
5
0
0
0
0
0
0
0
0
0
0
2
17
-17
-7
-2
0
-1
0
0
0
0
0
0
0
0
0
-3
-2
1
9
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-4
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
9
-4
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
5
14
-13
-59
-5
4
5
0
0
0
0
0
0
0
0
0
0
-23
15
-43
65
-28
0
-1
0
0
0
0
0
0
0
0
0
0
11
24
11
-26
5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
1
10
-10
1
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-3
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
42
-14
13
-4
8
0
0
0
0
0
0
0
0
0
0
-4
-10
-24
4
-7
-4
6
0
0
0
0
0
0
0
0
0
0
1
11
-3
63
-43
2
1
0
0
0
0
0
0
0
0
0
0
-3
-22
-15
49
-29
1
3
0
0
0
0
0
0
0
0
0
0
-1
18
11
32
-20
6
0
0
0
0
0
0
0
0
0
0
0
-2
5
16
6
0
-3
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
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
7
9
8
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
29
-22
-10
8
2
-1
0
0
0
0
0
0
0
0
0
0
13
-24
-8
3
-18
-2
3
0
0
0
0
0
0
0
0
0
0
2
-6
11
5
3
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-31
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
-7
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
1
-2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
18
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
14
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
1
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
2
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
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
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
5
-49
5
0
-18
-5
23
0
-2
0
0
0
0
0
0
0
0
2
35
6
5
1
0
-3
-4
0
0
0
0
0
0
0
0
0
0
-2
-6
11
23
11
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-37
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
1
28
-1
0
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
0
0
0
0
0
0
0
0
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
-1
2
-1
-2
0
0
0
0
0
0
0
0
0
0
-15
21
4
24
3
-1
-3
0
0
0
0
0
0
0
0
0
0
20
24
23
-41
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
-26
0
8
26
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
8
6
5
-4
-1
0
-2
0
0
0
0
0
0
0
0
0
1
1
2
0
11
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
0
0
0
0
0
0
0
0
0
0
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
3
1
0
0
2
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
20
2
3
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
1
-31
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
7
5
0
0
0
0
0
0
0
0
0
0
1
5
-2
-2
9
-1
5
0
0
0
0
0
0
0
0
0
0
-4
0
-1
2
0
12
1
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
6
2
6
-2
8
0
1
1
0
0
0
0
0
0
0
0
0
2
-5
1
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-9
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-2
1
2
-2
-5
0
1
3
0
0
0
0
0
0
0
0
0
0
6
-3
-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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-3
-6
-1
1
0
0
0
0
0
0
0
0
0
0
2
1
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
6
2
-3
0
2
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
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
-2
10
21
2
-1
2
0
0
0
0
0
0
0
0
0
0
44
0
-61
2
9
-1
1
0
0
0
0
0
0
0
0
0
0
-15
6
0
15
-3
1
0
0
0
0
0
0
0
0
0
0
0
17
-1
-4
1
-3
6
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-5
-7
4
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
-2
0
0
0
-2
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
9
38
20
-11
5
-3
2
0
0
0
0
0
0
0
0
0
0
5
1
-17
-9
-64
22
1
0
0
0
0
0
0
0
0
0
0
13
10
14
45
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
7
19
-12
3
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
-6
-10
-8
-12
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
2
7
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
-3
0
-2
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
-48
20
15
3
16
17
-1
0
0
0
0
0
0
0
0
0
0
-17
5
45
6
0
-2
3
2
0
0
0
0
0
0
0
0
0
-12
27
-6
-8
-3
1
0
0
0
0
0
0
0
0
0
0
0
8
-19
7
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
4
2
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
-2
1
-6
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-5
10
-1
-3
1
0
0
0
0
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
-8
1
-3
-1
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-2
0
-1
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
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
0
0
0
0
0
0
-1
-13
4
-3
4
4
0
15
1
0
0
0
0
0
0
0
0
0
-2
9
-10
-4
3
-3
0
0
0
0
0
0
0
0
0
0
0
31
16
6
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
39
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
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
2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-15
-4
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
-5
3
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-11
-16
14
-1
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
17
6
-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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-4
-1
0
4
0
0
0
0
0
0
0
0
0
0
7
-3
-2
-4
2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
-7
-4
-1
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
-6
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
21
0
-3
-2
2
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
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
1
2
0
6
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
-4
-10
6
1
0
-1
0
-3
0
0
0
0
0
0
0
0
0
-3
0
1
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
2
4
-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
1
-14
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
1
-12
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
4
0
0
1
0
0
0
0
0
0
0
0
0
1
29
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
1
2
1
-2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
5
2
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
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
2
11
-9
-2
0
0
0
0
0
0
0
0
0
0
1
1
4
5
-5
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
-2
-2
7
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-24
3
-6
-1
0
0
0
0
0
0
0
0
0
0
42
-13
-15
0
-8
5
2
1
0
0
0
0
0
0
0
0
0
-10
-14
20
11
-2
0
-4
0
0
0
0
0
0
0
0
0
0
25
-17
10
11
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-3
-18
10
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
23
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
40
37
-3
0
0
0
0
0
0
0
0
0
0
0
-1
40
22
5
4
49
5
1
0
0
0
0
0
0
0
0
0
-1
11
-47
-26
2
-18
1
-1
-2
0
0
0
0
0
0
0
0
0
9
10
1
3
3
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
-13
-28
3
0
-1
0
0
0
0
0
0
0
0
0
3
6
-10
-3
0
-1
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
-10
31
-9
-13
8
0
0
0
0
0
0
0
0
0
0
0
-4
15
11
-48
-13
11
4
0
0
0
0
0
0
0
0
0
0
17
35
22
-23
3
3
0
-1
0
0
0
0
0
0
0
0
0
-2
-13
17
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
6
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-7
-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
-1
3
0
1
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
1
-1
3
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
3
2
-1
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
0
2
-6
0
0
0
0
0
0
0
0
0
-2
3
9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
32
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
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
-3
-1
0
0
0
0
0
0
0
0
0
0
4
1
1
-1
0
3
2
0
0
0
0
0
0
0
0
0
0
-3
6
2
1
7
-3
2
0
0
0
0
0
0
0
0
0
0
0
-8
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-7
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
-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
2
-4
-1
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
-2
-3
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
-2
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
-7
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
-4
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
1
-2
-4
8
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
1
0
0
5
2
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
-2
1
-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
-1
2
16
-8
3
2
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-56
3
-2
5
-5
0
0
0
0
0
0
0
0
0
0
8
10
-11
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-14
6
2
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
0
0
0
4
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
3
0
-1
2
2
0
-6
0
0
0
0
0
0
0
0
0
3
10
-6
-2
-3
2
0
6
0
0
0
0
0
0
0
0
0
5
41
5
22
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
5
-6
11
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
10
7
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
-7
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
1
0
0
0
0
0
0
0
0
0
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
-28
-21
-3
0
3
-1
0
0
0
0
0
0
0
0
0
-7
58
-6
33
-10
-28
-1
10
0
0
0
0
0
0
0
0
0
33
20
-1
7
-6
3
1
0
0
0
0
0
0
0
0
0
0
-5
-5
-10
-5
-6
-4
-1
-1
0
0
0
0
0
0
0
0
0
15
-8
4
16
14
-3
-1
0
0
0
0
0
0
0
0
0
0
25
-5
8
4
0
-1
2
0
0
0
0
0
0
0
0
0
0
-8
-3
9
-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
3
-24
-35
-1
0
-8
2
0
0
0
0
0
0
0
0
0
-13
19
25
3
-34
-17
3
0
0
0
0
0
0
0
0
0
0
-2
-26
34
-64
-31
3
2
0
0
0
0
0
0
0
0
0
0
-3
-2
16
-15
-3
11
0
0
0
0
0
0
0
0
0
0
0
-3
-5
20
-14
13
-2
6
-6
-2
0
0
0
0
0
0
0
0
4
5
-9
10
0
3
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-10
-4
0
2
-3
0
0
0
0
0
0
0
0
0
0
26
-15
32
23
-14
12
0
6
0
0
0
0
0
0
0
0
0
-13
6
-40
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
7
7
-13
-34
-10
0
0
0
0
0
0
0
0
0
0
0
0
38
-2
10
1
-15
1
0
0
0
0
0
0
0
0
0
0
0
2
-12
4
2
1
0
0
2
0
0
0
0
0
0
0
0
0
-17
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
0
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
-14
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
1
22
14
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
37
-8
24
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
11
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
7
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
3
-1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
1
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
9
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
1
5
1
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-1
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
3
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
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
0
3
1
-2
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
1
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
10
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-5
-1
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
0
0
0
0
0
-1
5
-8
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
-6
-5
11
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
-2
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
-4
2
-28
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
3
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
-7
1
0
0
0
0
0
0
0
0
0
0
0
-5
-10
45
12
17
4
-3
0
0
0
0
0
0
0
0
0
0
4
59
26
25
20
-3
3
0
0
0
0
0
0
0
0
0
0
-51
18
12
46
-17
1
0
0
0
0
0
0
0
0
0
0
0
8
-1
13
33
7
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
-8
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
4
-1
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-33
-6
4
1
4
-2
0
0
0
0
0
0
0
0
0
0
43
8
-14
5
63
-11
-4
-1
0
0
0
0
0
0
0
0
0
0
34
-13
-15
-1
3
1
0
0
0
0
0
0
0
0
0
0
29
-8
9
-47
11
6
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-34
6
11
1
0
0
0
0
0
0
0
0
0
0
0
32
-3
27
-5
2
-2
0
6
0
0
0
0
0
0
0
0
0
-15
17
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-45
3
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
48
2
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
32
-25
-6
9
-2
5
4
0
0
0
0
0
0
0
0
0
0
3
20
44
-32
-7
7
0
-1
0
0
0
0
0
0
0
0
0
-2
26
-50
23
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-2
40
-40
-38
-38
-7
1
0
0
0
0
0
0
0
0
0
0
13
-3
-4
38
0
0
-1
1
0
0
0
0
0
0
0
0
0
13
-7
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
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
7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
24
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-10
3
1
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
12
-6
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
0
-2
1
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-6
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
-7
-10
5
-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
2
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
6
1
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
2
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
-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
2
0
0
0
0
0
0
0
0
0
0
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
6
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-7
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
-9
-5
8
8
-4
0
0
0
0
0
0
0
0
0
0
0
-6
4
-8
-4
2
7
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
5
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
48
19
-10
-3
14
5
0
0
0
0
0
0
0
0
0
0
0
18
12
-4
32
3
-5
-12
0
0
0
0
0
0
0
0
0
0
23
28
-2
-39
-44
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-7
5
-47
9
0
0
0
0
0
0
0
0
0
0
0
0
8
42
30
-24
-10
8
-2
0
0
0
0
0
0
0
0
0
0
-14
-10
-1
14
-6
0
0
-6
0
0
0
0
0
0
0
0
0
8
-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
-5
13
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
1
12
19
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
14
-6
-12
4
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-49
25
13
0
2
0
0
0
0
0
0
0
0
0
0
-3
4
17
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-9
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-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
2
0
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
0
0
0
0
0
-5
4
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
1
6
2
-1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
11
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
2
0
1
-4
-33
-1
-5
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
2
-22
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-20
5
3
0
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
-1
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-1
11
-2
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-1
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
3
1
0
0
0
0
0
0
0
-2
3
-5
18
0
0
0
17
-15
0
0
0
0
0
0
0
0
0
1
-1
-3
28
-47
19
-16
-6
-1
0
0
0
0
0
0
0
0
1
6
1
48
-33
10
15
10
2
0
0
0
0
0
0
0
0
0
-6
23
-20
12
0
29
1
0
0
0
0
0
0
0
0
0
1
-4
0
15
-23
-4
-17
0
1
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
60
2
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
1
-2
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
-16
17
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-1
25
6
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-5
17
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
2
3
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
11
5
5
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
-1
0
-1
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
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
-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
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-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
-2
1
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-11
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
38
19
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
3
-1
-1
-5
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-2
-1
-9
-1
-45
-9
0
0
0
0
0
0
0
0
0
-4
0
0
13
6
-54
2
-23
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-9
2
23
5
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
4
25
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
7
-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
-7
0
0
0
0
0
0
0
0
0
0
4
-1
0
9
-7
0
0
0
0
0
0
0
0
0
0
0
-5
2
-7
-15
16
-26
0
0
0
-7
-4
0
0
0
0
0
0
0
3
3
0
5
11
-19
6
-47
-1
0
0
0
0
0
0
0
0
-1
6
-4
5
-24
-32
8
-54
-2
-1
0
0
0
0
0
0
0
6
-1
1
-4
11
1
11
-26
-1
0
0
0
0
0
0
0
0
0
-5
-1
3
-16
-11
-24
-5
-17
0
0
0
0
0
0
0
0
0
2
2
-9
9
-6
4
12
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-1
-14
0
0
0
-4
0
0
0
0
0
0
0
0
3
-7
21
-9
-33
0
0
0
-8
-15
0
0
0
0
0
0
0
0
1
6
-3
-9
-61
-58
-26
5
0
0
0
0
0
0
0
0
-3
-1
-11
15
-2
18
-38
6
-7
-5
1
0
0
0
0
0
0
0
-4
1
6
18
62
-43
-11
-40
0
0
0
0
0
0
0
0
0
0
3
-25
-37
21
-12
42
25
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
-1
21
21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
-14
-3
4
0
0
0
-50
-1
0
0
0
0
0
0
0
0
0
0
-6
-10
-2
20
5
4
3
0
0
0
0
0
0
0
0
0
-1
2
3
5
-26
14
14
-1
1
0
0
0
0
0
0
0
0
0
1
1
2
-15
-27
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
-10
39
0
-3
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-4
-5
1
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-2
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
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
4
1
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
-8
-4
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-4
-5
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
3
0
0
0
0
0
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
-3
0
0
0
0
0
0
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
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-16
17
0
0
0
0
-1
0
0
0
0
0
0
0
1
-3
2
1
5
-26
-32
26
2
0
0
0
0
0
0
0
0
0
0
0
-10
-5
0
33
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-12
5
-25
10
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
8
13
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
2
-1
-6
0
0
0
2
0
0
0
0
0
0
0
0
1
-6
9
7
-3
0
0
0
2
2
0
0
0
0
0
0
0
0
-7
20
-16
2
-17
-36
7
-3
0
0
0
0
0
0
0
0
0
0
1
-1
34
-25
0
3
-1
1
0
0
0
0
0
0
0
0
1
0
-9
-84
-41
7
-10
2
0
0
0
0
0
0
0
0
0
0
-1
-9
17
5
-13
-50
0
1
0
0
0
0
0
0
0
0
0
-5
0
4
-15
-2
-5
-7
0
0
0
0
0
0
0
0
0
2
-1
1
-1
12
-3
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
7
1
0
10
0
0
0
0
1
0
0
0
0
0
0
-1
0
7
5
12
-42
0
0
0
-5
0
0
0
0
0
0
0
0
0
7
12
6
2
16
-27
-5
0
0
0
0
0
0
0
0
0
4
4
0
14
-3
-13
56
-16
-9
0
0
0
0
0
0
0
1
0
-1
-2
7
-24
-8
-14
10
-11
-1
0
0
0
0
0
0
0
0
-1
0
1
3
-15
-32
-52
-7
0
0
0
0
0
0
0
0
0
0
0
6
1
-3
11
-1
0
3
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-11
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
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
34
-7
0
0
0
0
0
0
0
0
0
1
5
3
1
-5
9
6
7
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-12
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
2
-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
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
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
2
1
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
-3
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
11
1
-2
1
8
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
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
2
26
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-20
31
36
-59
-9
0
0
0
0
0
0
0
0
0
0
7
-1
5
17
-9
-2
-1
3
0
0
0
0
0
0
0
0
0
0
-2
14
42
0
19
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
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
0
3
11
0
0
0
-5
0
0
0
0
0
0
0
0
0
-6
5
6
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-3
11
11
-26
-8
0
0
0
0
0
0
0
0
0
1
0
12
18
-6
54
2
-11
-1
0
0
0
0
0
0
0
0
2
4
-5
-7
-15
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
-11
-9
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
2
-5
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-3
-5
-3
2
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
6
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
3
-3
-23
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-22
13
-33
3
-13
-20
3
-1
0
0
0
0
0
0
0
-3
0
1
-5
4
-9
27
-49
1
-5
0
0
0
0
0
0
0
0
0
0
5
-9
38
28
0
2
-8
0
0
0
0
0
0
0
0
0
0
6
-8
-17
-39
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-3
-16
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-17
0
0
0
0
0
0
0
0
0
0
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
-7
0
2
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
2
2
5
42
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-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
-1
0
0
0
-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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
4
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
-11
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
-3
0
0
0
0
0
0
0
0
0
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
-11
0
2
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
6
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
2
4
16
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
2
5
8
9
-3
-4
0
0
0
0
0
0
0
0
0
0
2
-3
4
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
0
-1
0
0
0
0
0
0
0
0
3
21
1
4
-28
0
0
0
-1
0
0
0
0
0
0
0
2
-2
0
-5
3
-2
-23
31
0
0
0
0
0
0
0
0
0
0
0
-1
-5
4
12
1
-42
45
0
0
0
0
0
0
0
0
0
0
-5
12
-56
-39
-23
-5
43
0
0
0
0
0
0
0
0
0
0
1
-2
10
-4
-13
0
-1
0
0
0
0
0
0
0
0
0
0
6
7
0
-8
5
-16
4
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
0
29
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
-1
-32
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
-15
1
6
-6
-44
3
0
0
0
0
0
0
0
0
0
0
4
-5
28
19
3
22
-15
0
0
0
0
0
0
0
0
0
0
5
9
14
-13
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
-2
9
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
7
-3
3
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
37
1
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
-1
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
-2
-7
0
-9
0
0
0
0
0
0
0
0
0
0
0
3
-4
-3
1
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-6
-2
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
-1
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-1
-20
3
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
-4
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
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
2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-11
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
3
-47
6
-39
15
3
0
0
0
0
0
0
0
0
0
-1
-1
-4
9
-59
31
-38
4
1
0
0
0
0
0
0
0
0
4
0
1
9
1
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
-28
15
-35
0
12
0
0
0
0
0
0
0
0
0
0
0
-1
-5
4
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
11
-5
19
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
4
-3
-25
41
-71
0
0
0
0
0
0
0
0
0
0
0
0
-8
-18
-75
12
12
-2
0
0
0
0
0
0
0
0
0
-2
0
-19
12
34
-3
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
16
-58
-20
3
-6
0
0
0
0
0
0
0
0
0
0
0
5
-6
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
2
2
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
-1
0
0
0
0
0
21
-1
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
-2
2
1
11
2
4
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
8
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
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
1
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
-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
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
-2
3
12
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-26
7
6
0
0
0
0
0
0
0
0
0
2
0
-2
0
21
-57
44
-1
0
0
0
0
0
0
0
0
0
0
0
-23
-6
0
18
0
-6
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
1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
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
-17
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-4
-7
22
17
1
0
0
0
0
0
0
0
0
0
-1
0
2
-23
-9
-7
6
0
0
0
0
0
0
0
0
0
0
0
-3
19
2
-27
-9
-13
-3
0
0
0
0
0
0
0
0
0
0
15
-28
-33
17
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
1
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
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
4
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
-2
-11
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
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
57
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
4
-29
9
0
0
0
0
0
0
0
0
0
0
3
-1
-1
3
-27
7
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
11
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-7
0
1
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
22
-8
-8
0
-8
0
0
0
0
0
0
0
0
0
3
-4
19
-1
-34
32
10
0
0
0
0
0
0
0
0
0
0
39
18
24
7
-11
-22
0
0
0
0
0
0
0
0
0
0
0
-8
14
-16
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-9
-7
1
0
0
0
0
0
0
0
0
0
0
0
4
-19
-14
8
3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
2
5
2
4
3
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
-2
4
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
11
0
-2
-10
-1
0
0
0
0
0
0
0
0
0
0
4
10
-39
-7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
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
-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
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
3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
0
-4
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
4
-3
-3
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
3
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-5
2
0
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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
0
-16
-5
6
-2
0
0
0
0
0
0
0
0
0
0
-16
3
12
7
-43
3
-2
0
4
0
0
0
0
0
0
0
0
14
-9
1
32
2
0
-4
5
0
0
0
0
0
0
0
0
0
-1
1
2
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
4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-7
3
27
0
1
0
0
0
0
0
0
0
0
0
27
-18
-32
69
-11
-19
7
-2
1
0
0
0
0
0
0
0
0
-24
40
-60
74
-26
-16
10
1
0
0
0
0
0
0
0
0
0
-39
35
4
-78
8
-38
-2
-23
-3
0
0
0
0
0
0
0
0
-6
-5
-17
16
76
-1
12
-1
0
0
0
0
0
0
0
0
0
-13
15
17
17
20
3
-6
0
0
0
0
0
0
0
0
0
0
-16
-6
-3
4
-20
-1
-1
0
0
0
0
0
0
0
0
0
0
-13
-4
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
10
32
-16
0
0
8
0
0
0
0
0
0
0
0
0
0
-21
-9
36
25
-6
-12
0
1
0
0
0
0
0
0
0
0
0
-24
24
-14
10
-2
-6
-9
0
0
0
0
0
0
0
0
0
0
-1
-26
-5
41
0
1
4
0
0
0
0
0
0
0
0
0
0
-1
17
17
-11
-16
1
-3
0
0
0
0
0
0
0
0
0
0
-4
4
-4
2
0
-12
0
0
0
0
0
0
0
0
0
0
0
-5
3
6
7
-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
3
0
12
3
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
-2
12
-8
-4
2
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-2
1
-4
3
0
0
0
0
0
0
0
0
0
0
0
-7
7
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
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
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
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
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
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
-1
1
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
3
10
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
3
17
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
4
-5
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
-2
-1
2
-4
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
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
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
14
5
-13
17
-4
-2
0
0
0
0
0
0
0
0
0
15
-10
-48
0
-13
9
4
0
0
0
0
0
0
0
0
0
0
-3
78
25
-9
18
0
2
-1
0
0
0
0
0
0
0
0
0
11
-31
-4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
26
7
4
0
6
3
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
-2
0
1
0
1
0
0
0
0
0
0
0
0
2
-4
0
0
-12
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
3
-50
-42
4
-44
22
51
33
0
0
0
0
0
0
0
0
0
16
2
-16
-33
-1
-24
12
-10
2
0
0
0
0
0
0
0
0
-12
-39
-7
-19
11
-10
3
0
0
0
0
0
0
0
0
0
0
45
-47
9
19
7
-4
0
0
0
0
0
0
0
0
0
0
0
-13
-22
-57
-49
74
-4
-7
0
0
0
0
0
0
0
0
0
0
-8
-51
-4
38
4
-1
2
2
0
0
0
0
0
0
0
0
0
14
17
-3
-3
-3
0
0
0
-1
0
0
0
0
0
0
0
0
-25
27
-4
2
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
-10
-10
-37
-29
-20
-14
0
14
0
3
0
0
0
0
0
0
0
51
-5
70
9
-1
-59
58
-26
1
0
1
0
0
0
0
0
0
5
-47
-16
-14
31
0
-73
9
-1
0
0
0
0
0
0
0
0
6
-4
-19
-49
-26
11
-8
0
-1
0
0
0
0
0
0
0
0
9
3
36
-44
15
-14
0
2
0
0
0
0
0
0
0
0
0
1
-2
51
118
16
-2
3
0
0
0
0
0
0
0
0
0
0
5
-11
-9
11
24
-7
0
-3
1
0
0
0
0
0
0
0
0
-8
2
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
-20
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
13
55
-21
-31
53
54
0
13
-1
0
0
0
0
0
0
0
-81
74
41
-12
39
-10
-14
2
-5
0
2
0
0
0
0
0
0
-66
26
-41
-29
-25
2
4
2
0
0
0
0
0
0
0
0
0
86
16
-57
-16
44
12
-32
7
0
0
0
0
0
0
0
0
0
-4
29
-2
-34
47
-10
1
-1
0
0
0
0
0
0
0
0
0
23
-24
12
-42
-27
-10
16
1
-1
0
0
0
0
0
0
0
0
15
-1
-19
-9
-3
0
-8
0
2
0
0
0
0
0
0
0
0
32
43
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-27
8
17
-3
12
0
-3
-1
2
0
0
0
0
0
0
0
27
-9
-40
0
-6
-17
20
-2
0
0
0
0
0
0
0
0
0
11
-2
-5
-71
19
-14
2
0
0
0
0
0
0
0
0
0
0
-13
5
-6
-25
16
2
-7
0
0
0
0
0
0
0
0
0
0
13
-11
-6
-77
-7
-3
2
0
1
0
0
0
0
0
0
0
0
40
-10
-23
-4
-14
0
0
3
0
0
0
0
0
0
0
0
0
-6
-7
-1
-1
2
-1
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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
3
16
-10
0
0
3
0
0
0
0
0
0
0
0
0
-40
28
-11
5
1
-12
0
0
0
0
0
0
0
0
0
0
0
-13
0
-16
1
4
6
1
0
0
0
0
0
0
0
0
0
0
-7
7
-8
-16
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
0
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
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
5
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-3
-3
0
3
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
2
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
1
-2
1
0
-1
-2
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
9
0
2
-3
0
1
0
0
0
0
0
0
0
0
0
-17
24
-19
0
0
0
0
0
0
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
-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
7
12
7
3
3
13
0
0
0
0
0
0
0
0
0
0
18
-89
64
2
-10
-2
0
-3
0
0
0
0
0
0
0
0
0
-13
-21
20
-17
-20
1
-1
0
0
0
0
0
0
0
0
0
0
1
15
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-2
6
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
8
32
29
23
0
-2
0
0
0
0
0
0
0
0
0
-5
-23
66
-72
-21
34
1
4
1
0
0
0
0
0
0
0
0
3
5
-18
12
58
44
0
-1
0
0
0
0
0
0
0
0
0
-10
47
7
17
-1
-21
0
0
0
0
0
0
0
0
0
0
0
1
-35
23
68
-26
-60
0
0
0
0
0
0
0
0
0
0
0
11
17
-5
-5
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
4
-10
32
15
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
8
-67
10
-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
-5
-27
-15
-32
25
2
-15
9
0
0
0
0
0
0
0
0
0
13
-28
-15
5
-3
49
-39
-14
-13
0
0
0
0
0
0
0
0
-3
17
-21
-64
-1
-54
-62
-4
-3
0
0
0
0
0
0
0
0
-8
11
20
62
-2
21
-3
0
0
0
0
0
0
0
0
0
0
2
61
1
-13
49
63
-7
0
0
0
0
0
0
0
0
0
0
0
10
-14
42
-33
27
0
1
-1
2
0
0
0
0
0
0
0
0
-8
-17
3
22
1
0
-1
2
0
0
0
0
0
0
0
0
-6
42
12
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
-15
1
32
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
12
82
-37
3
-12
0
3
0
0
0
0
0
0
0
0
33
-18
-20
-61
27
-15
11
19
3
0
0
0
0
0
0
0
0
67
9
-5
-19
-12
4
-42
-2
0
0
0
0
0
0
0
0
0
63
-27
25
-73
16
0
-6
0
0
0
0
0
0
0
0
0
0
56
-15
12
44
3
27
43
0
0
0
0
0
0
0
0
0
0
20
-4
-65
-68
-44
-11
-2
0
1
0
0
0
0
0
0
0
0
-26
26
-4
-1
9
1
1
-1
0
0
0
0
0
0
0
0
0
-13
-40
15
2
0
-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
-11
-1
6
-6
-2
3
0
0
0
0
0
0
0
0
0
0
0
-9
-5
12
-6
13
-11
3
-2
-1
0
0
0
0
0
0
0
0
13
-4
9
13
7
4
13
0
0
0
0
0
0
0
0
0
0
1
6
-57
11
5
4
6
0
0
0
0
0
0
0
0
0
0
-5
1
4
-11
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
3
16
-6
3
5
0
0
0
0
0
0
0
0
0
0
0
1
5
6
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-5
-3
1
0
0
-2
0
0
0
0
0
0
0
0
0
4
-7
19
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-7
15
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
2
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-7
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
1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
13
-1
0
2
0
0
0
0
0
0
0
0
0
0
1
6
0
14
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
-2
-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
-1
0
0
0
0
0
0
0
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
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-23
12
-11
-14
0
5
0
0
0
0
0
0
0
0
0
-3
-2
10
32
7
1
0
-2
0
0
0
0
0
0
0
0
0
-5
-4
-1
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
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
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
-1
-17
12
24
-6
15
-2
0
0
0
0
0
0
0
0
0
0
3
48
23
15
-11
-40
-1
-13
0
0
0
0
0
0
0
0
-8
-15
-25
-17
-34
-2
55
5
-7
0
0
0
0
0
0
0
0
18
-17
-1
22
20
9
0
0
0
0
0
0
0
0
0
0
0
10
8
17
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-9
9
-11
7
4
-11
0
0
0
0
0
0
0
0
0
0
0
-1
-45
1
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
28
-2
-3
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
-11
69
-2
19
-10
59
-52
5
0
0
0
0
0
0
0
0
0
7
-1
10
32
-21
20
29
-34
3
0
0
0
0
0
0
0
0
-22
55
2
24
-40
-35
2
21
-6
0
0
0
0
0
0
0
0
27
17
-54
7
54
-31
-14
0
0
0
0
0
0
0
0
0
0
-1
-31
31
-50
3
13
2
0
0
0
0
0
0
0
0
0
0
2
16
-44
28
-20
45
0
0
0
0
0
0
0
0
0
0
0
-8
34
-1
-19
4
4
1
0
0
0
0
0
0
0
0
0
0
19
17
0
-11
-2
0
0
0
1
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
18
36
-38
71
15
-38
34
0
0
0
0
0
0
0
0
0
0
27
48
4
61
-25
7
42
-1
1
0
0
0
0
0
0
0
0
-3
31
2
-1
11
-17
2
7
1
0
0
0
0
0
0
0
0
-28
8
-57
-59
-5
23
-10
0
0
0
0
0
0
0
0
0
0
-13
-14
59
11
-4
11
0
0
0
0
0
0
0
0
0
0
0
33
-28
6
-26
-24
7
-9
0
0
0
0
0
0
0
0
0
0
1
14
17
56
-32
11
0
2
0
0
0
0
0
0
0
0
0
-15
4
5
0
-1
0
0
0
0
0
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
17
-9
-12
18
2
-1
0
0
0
0
0
0
0
0
0
0
0
-10
7
13
5
-1
-8
1
0
0
0
0
0
0
0
0
0
0
-1
8
-15
-3
-1
-3
1
-1
0
0
0
0
0
0
0
0
0
-22
18
35
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-9
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
10
-1
5
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
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
0
-2
-3
9
2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-11
-13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
2
1
-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
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-2
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
-5
1
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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
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
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
2
-5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
9
-20
6
-9
0
-1
0
1
0
0
0
0
0
0
0
0
0
-8
4
15
3
5
12
1
-1
0
0
0
0
0
0
0
0
0
-2
-9
18
-10
4
-5
0
0
0
0
0
0
0
0
0
0
0
1
-3
13
3
-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
0
0
-3
4
0
15
3
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
8
3
-6
25
9
0
9
0
0
0
0
0
0
0
0
0
-18
38
27
29
-38
-4
-21
2
-1
0
0
0
0
0
0
0
0
11
6
-46
25
-3
8
-8
-1
-1
1
0
0
0
0
0
0
0
0
26
1
6
-3
20
2
0
4
0
0
0
0
0
0
0
0
7
-2
0
10
33
-7
0
0
0
0
0
0
0
0
0
0
0
1
-5
-5
4
-2
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
1
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
50
10
-6
0
29
-2
0
-1
0
0
0
0
0
0
0
12
9
40
-19
13
38
38
18
13
0
0
0
0
0
0
0
0
-25
39
-36
-59
15
32
33
0
-3
0
0
0
0
0
0
0
0
4
44
0
22
15
-17
3
1
0
0
0
0
0
0
0
0
0
-11
34
56
-15
-11
-9
-21
0
0
0
0
0
0
0
0
0
0
0
-18
-1
9
-31
-13
0
0
0
0
0
0
0
0
0
0
0
1
-28
-20
-6
4
13
1
0
0
0
0
0
0
0
0
0
0
0
-3
9
3
0
1
-1
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
33
5
43
2
8
-7
4
0
0
0
0
0
0
0
0
0
0
17
15
37
57
40
13
0
-5
-1
0
0
0
0
0
0
0
0
19
11
48
-16
38
16
5
-8
0
0
0
0
0
0
0
0
0
-22
-15
26
2
-40
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-26
-56
-32
-4
1
0
0
0
0
0
0
0
0
0
0
0
-7
16
8
4
11
4
0
0
0
0
0
0
0
0
0
0
25
-20
-8
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-1
-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
12
6
5
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
12
-1
-35
3
3
-2
0
0
0
0
0
0
0
0
0
0
10
5
-29
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
-5
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-8
-7
2
3
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
-4
0
-3
-1
11
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
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
-1
-11
-1
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
0
-1
3
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
-1
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
0
0
0
0
-5
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
1
0
0
0
-2
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
1
-10
9
6
-1
5
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
2
0
-1
10
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
5
5
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
12
-1
0
2
2
7
0
0
0
0
0
0
0
0
0
-1
0
-23
-16
-10
-1
-7
-3
0
0
0
0
0
0
0
0
0
-18
1
21
-1
-11
3
-1
-2
0
0
0
0
0
0
0
0
0
5
18
-3
-15
1
4
1
2
0
0
0
0
0
0
0
0
0
0
0
-7
-21
5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
21
5
-2
-7
-3
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
0
0
-7
6
-4
-1
0
2
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
-3
13
7
2
-6
-2
5
1
0
0
0
0
0
0
0
0
0
-11
-8
-9
23
20
8
8
6
-12
0
0
0
0
0
0
0
0
6
-3
-18
-29
17
0
3
-1
-2
0
0
0
0
0
0
0
0
5
52
-32
-20
-12
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
13
22
-28
-5
-19
0
-7
0
0
0
0
0
0
0
0
0
-1
-18
33
-25
-8
2
1
0
0
0
0
0
0
0
0
0
0
-6
25
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
9
34
5
-6
-1
4
3
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
0
-3
12
-3
0
7
1
7
0
0
0
0
0
0
0
0
0
0
32
16
34
-4
0
-10
0
-1
-5
0
0
0
0
0
0
0
0
14
-44
63
-54
11
21
-19
9
0
0
0
0
0
0
0
0
0
22
14
-68
26
3
-1
-7
1
0
0
0
0
0
0
0
0
0
-16
-28
28
20
-1
8
0
0
0
0
0
0
0
0
0
0
0
29
41
1
34
14
18
-4
0
0
0
0
0
0
0
0
0
0
22
8
-10
-7
-15
-2
0
0
0
0
0
0
0
0
0
0
0
-56
-25
0
5
-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
1
2
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
8
-4
3
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
6
17
35
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
19
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
8
-7
-1
-10
0
0
0
0
0
0
0
0
0
0
0
1
1
1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
-2
0
-1
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
-2
0
-1
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
4
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
0
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
-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
0
0
0
0
0
3
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-10
-5
0
3
-7
0
0
0
0
0
0
0
0
0
-5
-1
-3
-8
-3
0
3
0
0
0
0
0
0
0
0
0
0
3
16
15
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
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
-6
0
-2
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
1
-11
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
2
10
1
23
0
-2
2
-2
-6
0
0
0
0
0
0
0
0
-3
6
8
-15
-32
9
-10
9
0
0
0
0
0
0
0
0
0
-3
32
48
-14
0
-6
1
0
0
0
0
0
0
0
0
0
0
15
25
11
-54
-8
-8
3
1
0
0
0
0
0
0
0
0
0
0
-7
-15
-5
-1
2
0
1
0
0
0
0
0
0
0
0
0
1
6
-6
15
-17
0
0
0
0
0
0
0
0
0
0
0
0
23
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
3
-16
0
-5
0
0
0
0
0
0
0
0
0
0
0
59
-9
-1
20
-21
-8
1
3
0
0
0
0
0
0
0
0
0
-9
-16
13
-9
-11
-23
6
-8
0
0
0
0
0
0
0
0
0
-5
-23
-23
12
-8
3
13
2
0
0
0
0
0
0
0
0
0
13
13
28
9
26
-3
0
0
0
0
0
0
0
0
0
0
0
-13
47
25
3
28
0
0
0
0
0
0
0
0
0
0
0
0
17
19
-59
-9
2
0
1
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
1
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
13
10
8
2
-1
0
0
0
0
0
0
0
0
0
0
1
19
4
-4
0
0
-1
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
3
-4
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
3
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
5
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
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
10
-1
3
5
0
0
-1
2
0
0
0
0
0
0
0
0
0
4
-10
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
7
-13
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-5
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
0
0
0
0
0
0
0
0
0
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
2
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
2
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-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
-6
0
0
0
0
0
0
0
0
0
0
0
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
1
1
-3
0
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
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
11
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
38
-14
66
-62
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-2
34
-10
-69
0
0
0
0
0
0
0
0
0
0
0
-1
1
7
22
-4
-10
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
7
-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
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
14
-40
0
0
0
0
0
0
0
0
0
0
0
-8
15
0
-9
-9
17
-18
-12
-24
0
0
0
0
0
0
0
0
0
-2
1
3
-17
17
42
71
39
0
0
0
0
0
0
0
0
0
-5
0
0
-8
-25
37
-23
-19
0
0
0
0
0
0
0
0
0
0
0
11
23
-15
-25
-8
-31
0
0
0
0
0
0
0
0
0
0
0
3
-1
-12
0
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-12
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
6
49
0
0
0
35
0
0
0
0
0
0
0
0
1
3
0
-13
-7
79
-16
3
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
5
-59
-17
28
-13
0
0
0
0
0
0
0
0
0
-4
15
-35
-9
20
10
10
-6
0
0
0
0
0
0
0
0
0
0
-2
-7
2
21
11
5
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
3
-1
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
2
-9
0
0
0
-22
-18
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
0
3
-7
0
0
0
0
0
0
0
0
-2
-1
0
14
-12
2
-4
-2
2
0
0
0
0
0
0
0
-1
1
0
4
0
-22
-28
53
-2
3
0
0
0
0
0
0
0
0
0
-2
-5
-17
14
11
-24
-27
-4
0
0
0
0
0
0
0
0
0
0
-1
-8
2
-2
5
0
-1
0
0
0
0
0
0
0
0
0
4
0
5
0
-10
-2
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
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-64
-7
0
0
0
0
0
0
0
0
0
0
2
-3
-25
116
20
6
-1
0
0
0
0
0
0
0
0
0
-1
-2
0
-6
3
1
5
-1
0
0
0
0
0
0
0
1
0
0
-5
-1
-4
-3
-16
21
-3
-5
0
0
0
0
0
0
0
0
0
0
-3
2
2
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-2
-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
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
-6
3
-16
-21
3
13
-1
0
0
0
0
0
0
0
0
0
0
-5
4
26
-12
4
0
0
0
0
0
0
0
0
0
0
0
1
3
1
0
3
-3
11
-4
0
0
0
0
0
0
0
0
0
0
2
1
2
8
-3
2
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
0
0
0
0
0
0
0
0
0
0
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
-26
15
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
9
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
1
4
-21
10
4
0
0
0
0
0
0
0
0
0
0
0
1
-5
-5
-1
-3
13
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
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
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
15
6
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
35
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
10
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-4
-4
-19
-30
-14
0
0
0
0
0
0
0
0
0
0
0
-1
10
9
21
2
24
0
0
0
0
0
0
0
0
0
3
-2
0
2
2
7
-15
-23
0
0
0
0
0
0
0
0
0
0
0
-1
1
-11
-4
-2
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
17
7
-8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-59
63
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
2
-52
29
-84
34
-9
0
0
0
0
0
0
0
0
0
7
-3
37
-44
37
-80
-1
-6
0
0
0
0
0
0
0
0
0
-5
40
-3
-11
75
-3
-19
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-23
4
0
24
21
0
0
0
0
0
0
0
0
0
0
0
3
10
23
-11
-17
-7
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-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
-15
-12
35
0
0
0
-20
0
0
0
0
0
0
0
0
-4
-22
0
-26
32
0
0
0
16
0
0
0
0
0
0
0
0
3
1
8
-48
-27
13
-14
-61
7
0
0
0
0
0
0
0
0
0
-27
0
70
-29
8
33
12
-6
0
0
0
0
0
0
0
0
0
-1
0
50
-10
34
38
-2
-8
0
0
0
0
0
0
0
0
0
-1
3
3
-24
43
-4
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-16
-18
12
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
-17
2
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
-19
12
-35
0
0
0
12
-13
0
0
0
0
0
0
0
-1
0
0
44
13
20
39
37
-16
7
0
0
0
0
0
0
0
-2
-1
7
5
19
66
-5
-4
-40
0
0
0
0
0
0
0
0
0
0
0
-11
16
24
0
-47
-5
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
8
-40
-10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-5
4
1
6
0
0
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
26
0
0
0
37
-2
0
0
0
0
0
0
0
0
-2
0
-1
-26
0
0
0
2
-22
0
0
0
0
0
0
0
1
0
0
0
-13
-74
15
-7
16
0
2
0
0
0
0
0
0
3
0
0
6
11
1
-73
-8
30
1
0
0
0
0
0
0
0
0
0
1
-4
3
3
3
27
-39
-2
0
0
0
0
0
0
0
0
0
0
-2
18
-5
-7
39
-11
3
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
-14
2
0
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
0
0
0
0
0
0
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
1
-7
0
0
0
1
-18
-1
2
0
0
0
0
0
0
0
0
-5
-5
-13
19
-21
-17
4
0
0
0
0
0
0
0
2
0
1
0
0
-33
13
-5
-13
5
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
4
-1
-1
5
-1
-2
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
53
-8
-3
0
0
0
0
0
0
0
3
1
0
1
16
-52
-16
5
5
2
0
0
0
0
0
0
0
0
0
0
10
38
35
-21
-18
-1
-3
0
0
0
0
0
0
0
0
0
-1
-12
16
-5
-11
-15
3
2
-1
0
0
0
0
0
0
0
0
0
-1
-1
1
2
3
-4
1
0
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-5
2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
-16
-7
-14
0
-1
-1
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
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
2
0
0
0
3
0
2
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
1
5
0
-4
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
10
-40
-23
0
0
0
0
0
0
0
0
0
0
0
3
2
0
16
-9
2
7
20
0
0
0
0
0
0
0
0
0
0
-1
2
24
-37
27
26
-61
0
0
0
0
0
0
0
0
0
0
0
2
2
-8
11
1
20
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
7
26
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
-3
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
-1
-4
12
-39
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-47
-29
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
10
4
-10
-115
12
-63
0
0
0
0
0
0
0
0
0
0
3
7
6
-39
83
-20
-45
0
0
0
0
0
0
0
0
0
0
0
19
18
-19
9
35
41
0
0
0
0
0
0
0
0
0
0
0
7
-9
-1
-1
52
16
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
7
9
23
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
-4
0
0
0
0
0
0
0
0
0
0
1
-16
1
1
-15
0
0
0
-1
0
0
0
0
0
0
0
1
0
-3
10
-6
-18
0
0
0
28
0
0
0
0
0
0
0
0
2
5
14
20
42
44
34
-14
2
0
0
0
0
0
0
0
0
0
1
8
-14
-87
3
15
-2
-15
0
0
0
0
0
0
0
0
0
0
0
-34
16
20
22
22
1
0
0
0
0
0
0
0
0
0
0
-3
-1
-14
3
-49
19
4
0
0
0
0
0
0
0
0
0
0
-2
6
2
-2
28
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-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
2
-4
1
15
0
0
0
-7
1
0
0
0
0
0
0
0
0
-1
-4
-4
1
0
0
0
8
-13
0
0
0
0
0
0
0
0
-2
-1
-4
-27
-23
-31
0
0
0
0
0
0
0
0
0
0
0
1
1
-12
-76
-13
5
61
-20
1
0
0
0
0
0
0
0
6
0
2
14
-26
-14
24
-25
-14
0
0
0
0
0
0
0
0
0
0
-3
8
-2
1
-17
-4
-1
-10
0
0
0
0
0
0
0
0
0
0
6
2
0
-6
-23
5
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
-1
-2
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
4
-22
0
0
0
-33
-4
0
0
0
0
0
0
0
0
0
0
0
5
-17
24
-41
4
8
0
0
0
0
0
0
0
0
0
0
0
40
-13
-40
21
-8
2
0
0
0
0
0
0
0
0
1
0
-2
-1
11
11
-15
9
2
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-20
-2
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
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
-3
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
-23
6
-3
1
0
0
0
0
0
0
0
0
0
2
32
-4
1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
3
4
13
12
18
-4
4
-2
0
0
0
0
0
0
0
5
0
9
2
-26
-7
1
-18
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
6
17
5
-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
-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
3
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
-1
1
-18
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
15
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
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
0
0
0
0
0
0
0
0
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
0
0
0
0
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
4
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
1
-3
-26
0
0
0
0
0
0
0
0
0
0
0
-3
8
3
22
-33
8
2
-21
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
12
24
9
0
0
0
0
0
0
0
0
0
0
-3
-1
22
6
-15
27
-20
0
0
0
0
0
0
0
0
0
0
0
1
-2
-5
3
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
1
0
0
2
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
-1
-16
2
-4
29
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-23
11
11
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
4
5
57
-41
-6
-61
0
0
0
0
0
0
0
0
0
0
4
-39
-14
0
-3
36
11
0
0
0
0
0
0
0
0
0
0
-1
-14
9
53
-93
28
-34
0
0
0
0
0
0
0
0
0
0
6
2
19
25
21
19
2
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-6
-24
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
53
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
1
10
25
-15
1
0
0
0
2
0
0
0
0
0
0
0
0
-5
34
5
17
-49
0
0
0
5
0
0
0
0
0
0
0
0
3
0
-15
-9
48
65
19
42
-10
0
0
0
0
0
0
0
0
0
0
20
-4
8
-2
7
-14
2
0
0
0
0
0
0
0
0
0
0
-5
4
19
71
23
-28
1
0
0
0
0
0
0
0
0
0
0
-4
-29
22
-40
28
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
7
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-13
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
2
2
3
2
0
0
0
-34
-5
0
0
0
0
0
0
0
0
8
33
-1
3
0
0
0
-29
8
0
0
0
0
0
0
0
0
0
-3
-9
41
19
-49
-70
4
0
0
0
0
0
0
0
0
0
0
0
-1
22
-29
50
-68
-16
2
0
0
0
0
0
0
0
0
0
0
6
14
35
33
22
-21
-2
0
0
0
0
0
0
0
0
0
1
-1
1
35
16
12
11
5
0
0
0
0
0
0
0
0
0
-1
0
10
0
-4
43
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
1
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-1
4
-17
0
0
0
-14
-4
0
0
0
0
0
0
0
0
0
0
6
23
-14
-24
-36
18
-1
-1
0
0
0
0
0
0
0
0
0
0
18
-5
10
-24
-8
0
0
0
0
0
0
0
0
0
0
0
1
7
8
10
9
-11
2
0
0
0
0
0
0
0
0
0
1
2
1
19
2
-4
-17
-2
0
0
0
0
0
0
0
0
0
2
-1
-6
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-7
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-16
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
-21
4
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
-2
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
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
1
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
0
0
0
0
0
-2
0
2
-2
-1
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
1
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
-2
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
14
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
-8
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
44
-59
-20
0
0
0
0
0
0
0
0
0
0
-1
3
-24
-10
64
9
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
2
14
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
10
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
8
1
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
4
0
0
0
0
0
0
0
0
0
0
4
0
-4
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-1
51
51
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-11
-5
39
-19
-81
67
0
0
0
0
0
0
0
0
0
0
1
4
-26
-28
-55
-55
-6
0
0
0
0
0
0
0
0
0
0
3
0
-16
-33
-29
-6
10
0
0
0
0
0
0
0
0
0
0
-10
4
-51
-9
28
62
-2
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-2
-12
-17
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
42
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
10
1
-2
-14
0
0
0
4
0
0
0
0
0
0
0
0
1
11
-12
-41
34
0
0
0
-13
0
0
0
0
0
0
0
0
-1
1
0
62
22
57
19
-66
-1
0
0
0
0
0
0
0
0
0
0
10
-6
3
-6
14
-36
-18
0
0
0
0
0
0
0
0
0
0
-13
9
-34
34
20
-16
-2
0
0
0
0
0
0
0
0
0
0
3
-29
6
-22
18
-6
-2
0
0
0
0
0
0
0
0
0
0
7
-2
11
-16
3
-33
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
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
13
-2
24
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
14
-12
-28
0
0
0
2
-6
0
0
0
0
0
0
0
1
9
0
-2
-13
-1
47
17
-7
-1
0
0
0
0
0
0
0
0
0
0
-3
-6
-17
-39
-40
20
0
0
0
0
0
0
0
0
0
0
0
2
31
7
50
-8
-13
0
0
0
0
0
0
0
0
0
0
0
17
13
16
28
14
-1
0
0
0
0
0
0
0
0
0
0
0
2
8
-19
-11
-2
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
13
-5
-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
-1
-2
0
0
0
0
-56
-3
0
0
0
0
0
0
0
-2
2
0
-6
-6
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
9
0
11
-46
-12
26
11
-2
0
0
0
0
0
0
0
0
0
0
10
0
-12
84
6
-3
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-24
2
3
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
1
2
0
0
0
0
0
0
0
0
0
0
-1
1
0
-16
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
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
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
1
0
-3
0
0
0
-39
5
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
-21
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
1
2
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
4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-14
0
2
-2
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
0
0
0
7
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
1
-4
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-1
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
18
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
-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
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
9
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
2
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
-2
22
-13
7
0
0
0
0
0
0
0
0
0
-2
0
0
-1
2
-18
-42
-26
0
0
0
0
0
0
0
0
0
0
4
-1
0
29
9
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
3
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
2
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
-6
2
1
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
-18
19
0
0
0
0
0
0
0
0
0
0
0
1
-1
-22
-1
-15
-56
-46
6
16
0
0
0
0
0
0
0
0
0
-1
0
53
32
47
32
13
-22
0
0
0
0
0
0
0
0
0
0
4
-3
-16
13
-29
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
-7
1
23
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-18
5
13
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
0
0
2
1
-2
-3
5
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
1
23
-19
0
0
0
19
0
0
0
0
0
0
0
0
0
1
-4
2
2
-23
50
-86
7
0
0
0
0
0
0
0
0
1
0
0
16
-26
55
-9
37
26
0
0
0
0
0
0
0
0
0
0
14
18
22
13
-11
-6
-4
0
0
0
0
0
0
0
0
0
0
0
14
0
21
19
-19
-1
0
0
0
0
0
0
0
0
0
0
-3
-12
3
-3
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-19
-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
9
-4
-14
0
0
0
18
-1
0
0
0
0
0
0
0
5
-1
-7
29
21
0
0
0
12
8
0
0
0
0
0
0
0
-1
-1
-6
-21
-20
34
-15
26
-2
0
0
0
0
0
0
0
0
1
0
0
2
24
-9
-41
19
16
1
0
0
0
0
0
0
0
0
0
0
-1
-45
3
50
-9
-8
-3
0
0
0
0
0
0
0
0
0
0
-16
3
11
6
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
18
1
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
0
2
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
2
26
0
0
0
-21
0
0
0
0
0
0
0
0
0
2
-1
-2
1
-3
-97
19
17
2
0
0
0
0
0
0
0
0
0
2
4
-3
12
-14
20
-9
2
0
0
0
0
0
0
0
0
0
0
0
-12
-16
8
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
-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
1
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
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
-5
-2
24
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
-4
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-11
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
8
-4
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
-2
-13
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
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
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
-4
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
4
24
14
-60
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
1
25
13
27
7
0
0
0
0
0
0
0
0
0
0
1
1
7
41
-125
-75
-18
0
0
0
0
0
0
0
0
0
-1
0
-7
2
-10
-4
-15
-3
0
0
0
0
0
0
0
0
0
0
0
1
22
11
10
-18
40
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-7
13
31
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-3
-4
0
40
0
0
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
0
0
-10
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-12
-3
2
-41
0
0
0
41
0
0
0
0
0
0
0
0
0
4
16
8
-2
31
34
21
-6
0
0
0
0
0
0
0
0
0
0
3
5
-27
37
4
-5
-5
0
0
0
0
0
0
0
0
0
3
0
1
24
44
0
13
2
0
0
0
0
0
0
0
0
0
0
0
-11
1
-25
22
-10
3
0
0
0
0
0
0
0
0
0
0
2
2
45
-2
21
-1
0
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
0
0
-6
8
0
0
0
0
0
0
0
0
0
1
0
6
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
1
-6
-8
0
0
0
-32
-2
0
0
0
0
0
0
0
0
1
-3
2
24
4
-40
29
4
4
0
0
0
0
0
0
0
0
2
0
-1
9
28
1
23
1
-1
0
0
0
0
0
0
0
-9
2
-3
1
44
-43
11
-10
1
0
0
0
0
0
0
0
0
0
0
0
12
-19
27
27
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
9
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
14
-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
1
-2
0
0
0
-5
-7
0
0
0
0
0
0
0
0
0
-2
-1
-1
7
6
-26
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
11
2
1
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
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
2
6
0
3
-6
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-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
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
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
5
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
-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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
1
-4
-25
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-13
4
0
0
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
2
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
-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
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
2
0
5
2
6
-23
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
11
-10
8
-20
-19
52
0
0
0
0
0
0
0
0
0
-2
1
-3
1
33
29
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
14
-27
110
-17
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-22
11
-10
13
0
0
0
0
0
0
0
0
0
0
0
1
-14
4
-7
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-6
-6
-19
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
-7
0
0
0
-1
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
-2
40
18
57
83
1
0
0
0
0
0
0
0
0
0
0
0
17
-11
-15
-2
-21
16
0
0
0
0
0
0
0
0
0
0
0
1
26
-18
-17
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-19
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
-7
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
-2
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
-3
-1
28
-23
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-2
50
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-5
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
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
3
-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
1
1
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
5
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
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
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
-2
-11
-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
0
-4
0
4
6
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
4
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
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
6
-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
0
0
0
0
0
0
0
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
-2
-1
-47
0
0
0
0
0
0
0
0
0
0
2
-4
0
-5
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-12
9
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
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
-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
0
0
0
0
2
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
1
-8
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-11
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
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
-1
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
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
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
1
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
5
2
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-2
-4
0
0
0
0
0
0
0
0
0
0
-1
-14
34
9
0
0
-1
-2
-3
0
0
0
0
0
0
0
0
0
-1
-15
15
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-6
10
42
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-19
-7
-1
-3
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
1
0
0
8
4
4
-7
0
0
0
0
0
0
0
0
0
-4
-4
11
-24
19
4
0
2
1
0
0
0
0
0
0
0
0
0
6
7
0
11
-10
5
1
0
0
0
0
0
0
0
0
0
0
6
-5
-21
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
12
8
0
0
-5
-1
0
0
0
0
0
0
0
0
0
1
-37
1
4
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
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
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
3
-6
5
3
0
0
0
0
0
0
0
0
0
0
0
6
3
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
3
-6
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
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
13
-1
10
0
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
1
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
-5
3
-1
0
-1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
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
-2
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
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
3
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
3
-4
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
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
3
0
2
-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
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-11
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
10
-3
-5
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
22
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
5
3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-4
6
4
2
0
0
0
0
0
0
0
0
0
-3
-1
-14
42
-49
-4
-12
3
5
0
0
0
0
0
0
0
0
9
-2
58
11
-16
11
-23
12
0
0
0
0
0
0
0
0
0
18
-32
8
-2
-1
-22
-1
1
0
0
0
0
0
0
0
0
0
-2
13
-3
-10
14
-4
3
0
-1
0
0
0
0
0
0
0
0
0
-1
5
0
2
-1
0
1
1
0
0
0
0
0
0
0
0
0
28
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
-2
-1
-7
-5
-8
-1
13
-5
0
0
0
0
0
0
0
0
0
-1
15
11
22
-7
21
24
0
-2
0
0
0
0
0
0
0
0
-5
-2
37
-1
39
2
2
4
-2
0
0
0
0
0
0
0
0
1
-8
-10
-8
-14
13
1
0
-2
0
0
0
0
0
0
0
0
0
2
14
-14
35
4
4
1
0
0
0
0
0
0
0
0
0
0
15
8
2
-2
0
1
0
-3
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
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
-3
1
-2
3
5
5
0
0
0
0
0
0
0
0
0
0
0
-1
2
6
21
25
-8
-2
0
0
0
0
0
0
0
0
0
-6
7
1
7
-23
-3
2
3
0
0
0
0
0
0
0
0
0
0
-2
5
-4
3
-20
2
2
-1
0
0
0
0
0
0
0
0
0
-5
-10
39
9
3
0
5
0
0
0
0
0
0
0
0
0
0
2
0
-1
-3
0
1
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
-1
0
0
0
0
0
0
0
0
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
-1
19
1
0
0
0
0
0
0
0
0
0
0
-3
2
-3
-2
12
39
0
-2
0
0
0
0
0
0
0
0
0
0
-6
17
1
9
0
-3
0
0
0
0
0
0
0
0
0
0
1
1
4
3
4
3
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
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
12
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
1
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
1
6
0
3
0
0
0
0
0
0
0
0
-1
0
-11
-1
7
0
2
0
0
0
0
0
0
0
0
0
0
0
4
-7
5
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
-1
2
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
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-15
0
24
-3
0
1
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
-1
2
4
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
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
-3
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
-1
-1
1
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
-2
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
-17
6
3
11
1
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
-2
1
9
1
1
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
0
-6
-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
-1
0
0
0
0
0
0
0
0
0
0
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
13
-49
0
5
0
3
0
0
0
0
0
0
0
0
0
-3
-45
23
60
-13
-2
20
-9
0
0
0
0
0
0
0
0
0
0
12
27
-22
-2
-8
-3
0
0
0
0
0
0
0
0
0
0
0
5
23
20
-4
-9
14
0
0
0
0
0
0
0
0
0
0
0
-26
-1
0
-17
-5
0
-3
0
0
0
0
0
0
0
0
0
2
-20
-6
20
8
5
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
-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
11
15
-38
0
4
0
1
0
0
0
0
0
0
0
0
0
7
35
7
12
24
-14
-7
0
-1
3
0
0
0
0
0
0
0
0
15
-3
-5
38
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-49
-22
5
-4
1
0
0
0
0
0
0
0
0
0
0
23
-6
0
-2
8
1
0
-2
0
0
0
0
0
0
0
0
1
-7
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-5
8
0
0
0
-5
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
3
-6
-9
7
1
0
-1
0
0
0
0
0
0
0
0
0
-1
12
-7
-13
2
5
-10
-2
0
0
0
0
0
0
0
0
0
0
18
-6
-2
14
9
12
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-2
5
-12
2
-1
0
0
0
0
0
0
0
0
0
0
-1
-19
-10
-13
1
0
1
-3
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
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
15
-2
0
0
0
0
0
0
0
0
0
0
0
2
10
-4
-2
17
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
2
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
0
0
-1
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
2
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
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
0
0
0
0
0
0
0
0
0
1
-2
2
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
-1
3
0
0
0
0
0
0
0
0
0
-6
0
11
5
6
-2
2
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
-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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
5
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
2
3
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
-5
0
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
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
0
0
0
0
0
0
0
4
-32
-6
3
-2
7
2
0
0
0
0
0
0
0
0
0
6
5
-10
-17
33
18
15
10
-1
0
0
0
0
0
0
0
0
1
-15
-2
-1
16
-25
-1
-1
0
0
0
0
0
0
0
0
0
4
0
-26
-20
-17
13
0
0
0
0
0
0
0
0
0
0
0
0
14
19
-7
-33
-5
-1
0
11
0
0
0
0
0
0
0
0
2
-10
-1
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
-1
-9
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
-5
0
0
7
2
0
0
0
0
0
0
0
0
0
-1
24
12
-3
23
-5
-2
-1
-3
4
0
0
0
0
0
0
0
0
-5
9
-6
17
0
-2
-7
1
0
0
0
0
0
0
0
0
-2
-23
3
20
7
31
-6
-3
0
0
0
0
0
0
0
0
0
0
11
-2
3
-10
-11
0
1
1
0
0
0
0
0
0
0
0
0
-9
1
-5
-5
1
0
1
0
0
0
0
0
0
0
0
0
-5
-2
2
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
3
3
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
-2
3
-15
2
0
2
0
6
0
0
0
0
0
0
0
0
8
2
-3
-12
-6
2
1
1
0
0
0
0
0
0
0
0
0
-1
6
29
-14
0
-2
-3
0
0
0
0
0
0
0
0
0
0
-2
17
3
-6
51
3
0
0
0
0
0
0
0
0
0
0
0
21
-4
-9
-2
-2
2
-2
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
-6
2
1
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-6
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
4
-7
-4
10
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
1
0
6
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
7
-1
-1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
4
-9
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
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-1
1
0
0
0
0
0
0
0
0
0
0
-3
-2
0
4
0
0
0
4
0
0
0
0
0
0
0
0
0
15
15
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-11
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
-6
0
2
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
-3
4
-6
3
-1
4
-1
0
0
0
0
0
0
0
0
0
-4
-9
2
-27
-1
48
-1
8
0
0
0
0
0
0
0
0
0
7
-19
-26
-13
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
27
29
19
70
-6
4
0
10
0
0
0
0
0
0
0
0
0
-2
-50
1
8
18
2
0
0
0
0
0
0
0
0
0
0
0
-3
17
-23
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
-12
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
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
-18
-2
-3
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
-3
10
57
0
-24
-15
0
-6
0
0
0
0
0
0
0
0
-1
20
1
-41
-35
28
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
23
28
28
1
0
0
0
0
0
0
0
0
0
0
-1
2
0
28
-4
6
6
0
2
0
0
0
0
0
0
0
0
1
4
13
1
-18
13
-3
0
0
0
0
0
0
0
0
0
0
0
-8
1
3
-1
0
0
0
-3
0
0
0
0
0
0
0
0
1
-5
-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
-1
9
27
6
1
-3
0
0
0
0
0
0
0
0
0
0
5
10
0
-16
-2
-2
1
-1
0
0
0
0
0
0
0
0
0
0
16
27
32
2
1
-1
0
0
0
0
0
0
0
0
0
0
5
1
-10
21
-13
-6
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
-6
-13
-3
0
-1
0
0
0
0
0
0
0
0
0
-5
3
5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
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
0
0
0
0
0
12
0
0
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
12
5
-3
-15
14
1
-7
0
0
0
0
0
0
0
0
1
4
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
0
3
0
0
0
0
0
0
0
0
1
3
3
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
8
5
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
-5
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
11
-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
1
16
1
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
-17
-12
4
-1
37
-13
0
0
0
0
0
0
0
0
0
-6
7
-24
39
1
1
-9
0
0
0
0
0
0
0
0
0
0
1
-22
-8
-1
-16
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
43
10
-20
-25
0
0
2
0
0
0
0
0
0
0
0
0
0
5
-9
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
23
1
-5
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
-19
-3
-8
0
0
0
0
0
0
0
0
0
0
0
-18
-1
-6
6
-1
2
-1
-1
0
0
0
0
0
0
0
0
-6
-3
4
-25
-5
-6
15
2
2
0
0
0
0
0
0
0
0
0
-20
40
-24
-17
6
0
0
-1
0
0
0
0
0
0
0
0
0
2
8
47
-38
14
8
-1
0
-2
0
0
0
0
0
0
0
0
-9
0
11
-2
2
-13
0
0
0
0
0
0
0
0
0
0
-1
0
-21
-1
-10
0
-2
-1
0
0
0
0
0
0
0
0
0
0
-6
-4
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
0
0
0
0
0
0
-2
1
3
2
0
1
0
0
0
0
0
0
0
0
0
0
-7
6
-3
3
14
-1
2
6
0
0
0
0
0
0
0
0
0
0
-6
-4
0
7
0
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
-5
2
6
-2
-5
1
0
0
0
0
0
0
0
0
0
0
-5
-20
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
3
0
-2
2
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
-1
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
9
4
-3
-4
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
2
-1
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
7
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
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
3
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
1
2
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
7
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
1
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
-1
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
-1
1
5
-2
-1
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
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
-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
24
4
-4
-4
0
-9
-1
0
0
0
0
0
0
0
0
0
0
-4
-25
1
4
9
-5
0
1
0
0
0
0
0
0
0
0
0
14
-5
7
-17
-2
1
1
0
0
0
0
0
0
0
0
0
-2
10
7
32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
5
12
2
-6
0
0
0
0
0
0
0
0
0
0
0
5
4
-17
9
5
0
-1
3
0
0
0
0
0
0
0
0
0
0
-9
21
5
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-10
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
6
-4
4
8
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-2
5
-1
-8
13
13
-2
0
0
0
0
0
0
0
0
0
2
3
-7
4
-7
24
-5
2
0
0
0
0
0
0
0
0
0
0
-7
-11
16
12
14
3
0
2
0
0
0
0
0
0
0
0
0
4
10
-1
1
-9
11
-2
0
0
0
0
0
0
0
0
0
0
0
1
-20
18
-1
2
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-9
3
11
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
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
1
0
0
0
0
0
0
0
0
0
0
-5
2
-24
0
2
-4
0
-4
0
0
0
0
0
0
0
0
0
-2
3
-1
-7
6
-1
0
0
0
0
0
0
0
0
0
0
0
6
-16
12
10
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
18
0
8
8
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-1
-3
7
3
0
0
0
0
0
0
0
0
0
9
7
0
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
-2
0
-1
-4
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-7
5
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
-5
4
1
1
0
0
0
0
0
0
0
0
0
0
5
-23
20
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
22
-9
-29
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-65
17
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-1
-4
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
-7
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
-2
3
8
3
-3
1
-7
0
0
0
0
0
0
0
0
0
0
1
-1
-4
-1
7
-2
0
0
0
0
0
0
0
0
0
0
0
1
4
-7
2
0
0
0
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
-1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
1
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
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
4
0
-3
0
0
-2
-1
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
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
12
-1
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
-3
0
-3
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-20
16
11
-17
62
0
0
-7
46
2
71
5
16
-87
0
-40
84
19
-6
-14
-15
5
-75
0
33
-83
17
-45
-84
0
15
96
-1
-47
-14
-30
-55
21
-9
-43
-2
0
-24
18
-98
15
-11
-72
-3
7
1
-22
34
-37
-41
-26
-38
31
-3
0
-6
-55
-99
-15
11
17
-42
49
0
3
5
47
107
-9
40
29
8
0
-2
1
-12
2
-18
122
62
8
0
-4
18
-14
22
78
0
24
85
0
-3
8
-5
79
65
-29
-36
23
0
0
-3
-15
-12
17
2
38
-1
0
0
9
23
-33
-48
30
30
-2
0
0
34
-20
80
54
16
-1
-25
0
-21
-92
-2
-70
-32
-131
70
-48
-9
-42
66
-8
24
-81
-6
-15
-66
-2
-91
-22
29
-15
-31
-18
-152
20
-4
-54
-25
-15
11
-5
-2
12
-52
0
0
-56
17
14
-2
44
21
-41
0
-11
-21
4
-22
-22
2
-38
16
3
-7
-7
-14
-65
-47
-20
-21
-1
-32
34
104
9
-40
-14
10
-24
51
16
94
40
-113
-30
-13
-72
25
-24
-1
-26
-47
31
-48
-19
1
-46
16
-8
-55
18
24
-17
30
-21
2
-9
2
-1
-61
30
7
25
-6
27
27
0
-5
2
12
54
65
104
83
27
0
-13
82
-16
55
41
100
44
51
0
-19
67
42
36
22
76
27
-3
0
82
-9
11
-36
19
81
61
-72
0
23
-28
75
61
-12
53
97
-25
6
-4
-56
-31
2
-6
17
20
-55
0
41
-29
-28
-64
-19
-49
-41
2
-99
-62
-21
-39
-59
-28
-91
-63
-51
38
18
-25
-40
-71
-69
-96
-92
-110
-4
-56
-14
-28
-17
-32
-3
53
-65
0
0
-61
-4
20
-7
40
11
-43
0
-13
-28
7
-30
-19
6
-39
12
3
-8
3
-4
-52
-45
-21
-31
-3
-31
47
103
13
-31
-13
10
-4
63
17
105
34
-102
-32
-6
-73
25
-18
-1
-26
-47
23
-50
-3
12
-49
20
-8
-42
20
20
-15
25
-25
7
-8
2
-3
-65
20
-6
31
-7
19
29
0
-5
3
25
73
68
127
76
27
0
-13
89
-22
53
42
132
48
47
0
-19
59
34
43
22
91
51
-4
0
83
-14
7
-35
10
79
58
-75
0
29
-31
49
67
19
62
112
-21
6
-4
-67
-31
10
-16
0
12
-32
0
33
-20
-26
-54
-22
-49
-45
9
-97
-47
-17
-35
-86
-39
-94
-62
-59
42
27
-27
-44
-102
-82
-110
-87
-130
0
-11
-31
69
59
-112
-10
9
-14
0
0
-20
-36
-32
-12
46
5
-68
0
-8
36
-16
-1
-48
-61
-41
0
0
5
21
-7
20
-39
-16
-18
-16
14
-16
44
-19
12
44
20
23
22
3
25
-3
59
4
55
10
-5
15
0
1
2
-16
28
47
-29
-22
-2
0
2
8
12
12
12
-40
47
0
0
-1
-1
3
-10
-11
-3
-11
0
0
0
1
-2
76
21
27
-2
2
0
0
0
29
26
50
59
73
-2
0
0
-14
39
70
4
52
1
12
0
2
23
-19
6
-21
23
25
-19
0
40
7
-40
86
52
-10
18
-36
3
37
27
3
-7
-28
-72
2
5
0
-35
-15
-5
48
-44
10
-54
-11
2
-32
33
-47
-97
-73
-67
-65
-138
35
1
21
-11
-126
-25
-43
-104
36
-1
3
3
16
23
125
111
-2
0
0
0
0
0
0
0
0
0
0
-2
3
-2
13
51
74
12
11
0
0
0
0
0
0
0
0
0
0
4
-1
20
72
-16
-16
42
0
0
0
0
0
0
0
0
0
0
0
-2
16
33
51
-19
46
1
0
0
0
0
0
0
0
0
0
0
0
20
36
41
75
38
-32
4
0
0
0
0
0
0
0
0
0
0
0
44
18
113
54
61
-8
-2
0
0
0
0
0
0
0
0
0
0
0
58
70
145
56
55
-5
0
0
0
0
0
0
0
0
0
0
0
0
94
38
119
40
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
71
-67
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-22
1
-3
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
16
12
28
71
17
0
0
0
0
0
0
0
0
0
0
-11
3
17
20
43
24
51
24
-12
0
0
0
0
0
0
0
0
0
16
22
34
39
41
53
7
31
4
0
0
0
0
0
0
0
0
0
22
27
34
29
14
80
94
-49
1
0
0
0
0
0
0
0
0
0
30
26
28
31
54
94
70
34
0
0
0
0
0
0
0
0
0
0
39
8
31
50
37
70
25
7
0
0
0
0
0
0
0
0
0
0
33
26
42
10
83
65
-6
0
0
0
0
0
0
0
0
0
0
0
-6
5
10
41
62
130
-2
0
0
0
0
0
0
0
0
0
0
0
40
45
-38
32
43
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
37
106
19
0
0
0
0
0
0
0
0
0
0
0
0
0
7
47
54
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-24
-4
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
-11
6
18
31
11
42
54
13
0
0
0
0
0
0
0
0
0
0
-3
14
29
39
45
31
49
19
-13
0
0
0
0
0
0
0
0
0
20
16
35
37
23
54
-11
32
4
0
0
0
0
0
0
0
0
0
28
28
37
29
27
57
90
-49
1
0
0
0
0
0
0
0
0
0
47
24
22
38
47
93
75
33
0
0
0
0
0
0
0
0
0
0
21
19
7
52
60
54
25
7
0
0
0
0
0
0
0
0
0
0
25
19
29
-3
61
68
-8
0
0
0
0
0
0
0
0
0
0
0
-4
10
10
35
60
133
-2
0
0
0
0
0
0
0
0
0
0
0
39
19
-26
28
39
7
0
0
0
0
0
0
0
0
0
0
0
0
-16
11
34
105
21
0
0
0
0
0
0
0
0
0
0
0
0
0
10
39
49
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-21
-4
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
-133
13
-3
4
73
63
-4
-7
1
0
0
0
0
0
0
0
0
0
-10
21
29
11
1
-49
45
8
-4
0
0
0
0
0
0
0
0
0
-5
-25
1
65
-14
-18
27
15
2
0
0
0
0
0
0
0
0
0
78
33
33
32
48
-24
-10
-2
3
0
0
0
0
0
0
0
0
0
7
27
48
118
22
-9
15
-2
0
0
0
0
0
0
0
0
0
0
103
16
33
78
128
-53
4
2
0
0
0
0
0
0
0
0
0
0
-12
-1
61
-58
33
59
1
0
0
0
0
0
0
0
0
0
0
0
-14
14
54
69
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
-12
17
120
-8
-34
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
96
21
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
22
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
-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
0
0
0
0
0
0
0
0
0
0
0
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
-11
-17
17
18
83
23
-3
-1
-7
42
38
32
37
27
0
-7
13
-14
-82
1
65
-65
92
-36
9
9
0
4
-9
-35
0
29
-26
13
4
0
-6
-2
-18
-11
6
60
-1
17
0
0
0
7
23
31
44
70
-3
0
0
0
0
1
20
3
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
-49
21
86
13
-50
86
23
-2
-11
-43
69
-82
14
38
-15
-5
7
-7
6
-67
-18
-17
-19
-14
9
11
-6
4
-24
-64
-21
13
-35
0
31
95
0
-2
22
-25
-87
88
-38
65
-4
0
0
0
12
21
114
8
-28
0
0
0
0
0
2
-50
45
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
3
19
25
-26
2
-72
-12
5
-13
-101
28
67
13
-7
89
11
12
-23
-21
17
45
-44
17
10
5
16
35
-3
-6
-35
-11
-83
32
-10
15
39
0
0
-3
0
10
9
-6
63
15
0
0
0
5
3
-22
-39
53
0
0
0
0
0
4
37
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-58
-55
-26
20
-32
15
8
6
0
-40
-50
-7
8
14
2
20
122
7
-18
-56
-7
-97
16
2
36
120
0
1
9
14
-11
9
-22
119
21
0
0
2
24
-8
-18
41
-17
0
0
0
0
0
14
36
-3
-4
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
20
-50
5
-1
11
4
2
-61
0
-28
20
-18
7
21
15
27
53
0
1
5
1
54
-16
1
104
35
0
1
-4
3
23
84
33
-49
0
0
0
0
12
-23
8
-16
2
0
0
0
0
0
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
0
0
0
0
0
-1
9
24
5
-79
6
53
73
0
4
-2
-4
1
-72
52
1
13
0
-2
1
1
-59
37
4
121
0
0
0
0
12
-41
11
80
3
0
0
0
0
0
16
-5
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
38
34
2
0
1
0
-3
-16
-37
48
-26
0
0
0
-1
-6
53
63
16
3
0
0
0
0
-4
-14
60
9
0
0
0
0
0
0
23
5
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
-5
84
55
-48
0
0
0
0
1
20
-18
27
-5
0
0
0
0
-1
53
28
42
0
0
0
0
0
0
-10
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
-13
82
-1
0
0
0
0
0
0
-8
-44
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-33
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
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
27
67
42
19
-38
-73
-13
-58
-32
9
-66
52
30
-14
-27
-66
-77
46
15
-20
71
37
-7
8
-33
-10
73
-60
-17
-1
25
-2
28
-7
-11
-77
-100
-75
23
20
43
45
0
0
4
-10
7
-35
0
26
76
0
0
-5
-16
-62
31
68
47
-8
0
0
0
0
0
-25
0
-12
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
3
-43
66
71
95
44
27
-3
17
-62
14
-53
5
3
105
20
5
25
-30
-66
9
39
17
67
8
5
52
-6
-111
-25
39
-71
50
6
30
92
10
-1
18
55
42
14
-2
50
163
0
-4
-52
-3
0
-9
-5
125
15
0
0
0
11
37
-43
8
8
0
0
0
0
6
0
60
-18
1
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
18
-36
11
-15
59
42
-4
1
29
-27
13
-12
-35
36
36
10
13
69
-51
-18
-13
-35
-40
47
-8
26
96
19
70
-82
-48
17
42
-8
24
115
-2
-60
63
35
-33
44
-13
45
223
0
5
-9
44
6
33
8
116
0
0
0
-5
-38
-30
78
-45
5
0
0
0
0
-4
-33
95
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
-18
-38
-93
-64
-19
15
-15
14
76
-16
-47
-106
-34
47
28
-7
34
108
10
-71
-28
-26
6
18
-7
45
160
-6
-61
18
-36
2
-8
7
108
185
0
20
-40
14
18
31
29
18
5
0
0
-22
8
-18
31
22
11
0
0
0
0
55
17
-88
96
0
0
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-77
97
24
-26
-34
33
110
117
13
-4
-40
-31
25
-10
57
154
14
31
50
36
-26
-4
-21
66
145
-1
-3
2
-40
-2
1
15
192
22
0
2
31
46
-39
-31
53
125
0
0
0
0
80
-27
-30
98
0
0
0
0
0
35
-40
-38
24
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
37
-64
87
56
25
-6
-43
36
166
10
119
-21
-14
-52
11
-18
76
94
1
-22
188
-160
48
5
-2
73
12
0
-7
80
-7
-16
8
-6
164
0
0
0
-11
62
-54
-8
-14
0
0
0
0
0
25
20
-4
25
0
0
0
0
0
1
-53
-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
-1
-33
-50
31
-66
5
13
74
76
-5
28
-45
47
-51
-14
-5
91
-4
0
-13
17
-25
-14
13
39
30
0
0
7
29
-35
-43
49
-26
-1
0
0
0
6
-44
-1
-6
84
0
0
0
0
0
-3
30
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-7
-61
-11
35
29
0
0
13
69
39
-14
-4
-15
-31
0
0
0
-1
1
42
-47
-23
2
0
0
0
-6
120
-32
4
-31
0
0
0
0
0
11
-17
78
-7
0
0
0
0
0
1
52
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
19
63
3
0
0
0
-8
43
59
-37
21
0
0
0
0
1
-50
32
6
-23
0
0
0
0
0
41
-46
53
1
0
0
0
0
0
-2
57
4
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-45
10
25
0
0
0
0
0
2
3
15
4
0
0
0
0
0
54
-5
8
-10
0
0
0
0
0
5
21
13
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
1
0
0
0
0
0
11
17
19
0
0
0
0
0
0
4
24
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
19
3
0
0
0
0
0
0
3
-31
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
28
78
41
15
-44
-84
-24
-83
-39
17
-82
29
31
-6
-24
-62
-90
31
-1
-12
70
31
13
25
-30
-1
82
-63
-32
7
27
4
46
-7
-5
-79
-100
-61
19
18
42
43
0
0
4
-8
4
-30
-10
41
76
0
0
-5
-16
-63
27
64
43
-8
0
0
0
0
0
-28
0
-12
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
18
-58
61
68
109
43
29
9
25
-53
18
-37
-10
-9
110
19
13
47
-26
-61
23
41
23
62
13
10
51
-6
-110
-8
57
-63
64
15
23
78
10
-5
7
63
50
18
14
33
168
0
-4
-53
4
-15
-30
9
140
13
0
0
0
11
33
-38
5
7
0
0
0
0
6
-1
60
-19
1
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
16
-48
-4
-13
54
40
0
4
47
-19
30
-33
-44
42
30
8
18
70
-44
-3
-17
-39
-53
49
3
14
87
23
64
-82
-42
21
36
-14
26
132
-2
-60
64
26
-24
30
-21
59
225
0
5
-6
45
12
37
2
118
0
0
0
-5
-39
-34
76
-56
5
0
0
0
0
-4
-33
95
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
-27
-40
-84
-55
-20
13
-32
17
77
-14
-45
-95
-19
41
34
-18
30
109
5
-66
-27
-28
33
16
6
51
140
-6
-58
21
-44
-2
9
3
97
177
0
22
-32
9
19
43
24
22
5
0
0
-24
9
-28
29
12
11
0
0
0
0
51
17
-89
95
0
0
0
0
0
4
-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
45
58
-77
96
28
-9
-28
35
106
113
21
-5
-30
-26
39
-21
38
161
15
29
50
32
-50
5
-9
54
139
-1
-4
2
-26
-5
-10
25
197
23
0
2
26
47
-43
-45
65
127
0
0
0
0
77
-45
-12
97
0
0
0
0
0
34
-38
-38
25
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
36
-65
87
52
31
-9
-59
36
160
11
118
-20
-12
-56
13
-17
89
83
1
-24
182
-154
36
1
-16
72
12
0
-7
82
-1
-9
2
-15
168
0
0
0
-11
59
-39
3
-16
0
0
0
0
0
19
20
-15
25
0
0
0
0
0
1
-52
-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
-1
-33
-52
36
-54
7
-2
77
74
-5
30
-45
42
-47
-22
-15
104
-4
0
-12
21
-23
-19
1
38
29
0
0
7
30
-42
-33
42
-35
-1
0
0
0
6
-47
-7
-10
76
0
0
0
0
0
-3
29
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-8
-57
-21
37
31
0
0
13
71
38
-23
2
-9
-30
0
0
0
-1
6
38
-42
-24
2
0
0
0
-6
120
-21
-10
-35
0
0
0
0
0
10
-20
78
-6
0
0
0
0
0
1
54
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
16
63
3
0
0
0
-8
44
53
-52
18
0
0
0
0
1
-46
32
15
-24
0
0
0
0
0
38
-44
52
1
0
0
0
0
0
-2
57
4
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-48
3
24
0
0
0
0
0
1
3
17
4
0
0
0
0
0
53
-3
3
-10
0
0
0
0
0
5
23
13
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
1
0
0
0
0
0
11
11
15
0
0
0
0
0
0
4
21
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
21
3
0
0
0
0
0
0
3
-29
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
7
18
-8
-220
-50
-7
-13
-17
-23
-12
-12
26
-33
-33
-42
-49
8
29
48
-56
7
40
-39
-10
-10
-4
-52
2
59
8
-9
-3
-19
-6
-3
73
30
-31
0
44
0
0
8
-47
16
14
-3
34
-4
0
0
-5
5
-22
35
35
-27
-3
0
0
0
0
-3
-37
5
1
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
1
1
-13
12
4
11
43
-19
-58
-25
-84
-7
-70
-21
-28
50
10
60
47
36
42
0
-27
17
74
-36
-50
7
26
9
21
-12
28
-18
11
-20
10
-10
-32
107
1
64
32
-29
-98
0
-1
-19
24
-55
-37
-15
110
-4
0
0
0
14
45
2
2
0
0
0
0
0
4
-10
22
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
-7
13
15
-36
63
20
15
-42
-5
-4
-49
-45
13
26
29
95
30
0
19
-1
2
-10
-14
9
-93
-8
-20
38
-29
13
54
55
0
-11
51
-27
-16
-15
-65
95
4
0
0
0
41
34
-36
-27
1
0
0
0
-4
10
-48
52
16
-1
0
0
0
0
0
-14
32
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
13
-10
24
-2
-49
39
-29
-4
42
-31
16
-11
59
-55
91
-50
45
-9
-40
-24
-37
28
85
-6
23
67
82
0
-1
6
-33
3
61
-65
-4
56
0
10
6
12
21
-5
19
-7
4
0
0
-12
30
-57
13
-35
13
0
0
0
0
-3
11
-34
16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
14
-19
-1
-10
0
-18
14
9
-16
23
59
16
-91
-8
4
0
-50
13
-85
-6
79
-23
63
1
-7
-23
-18
-6
18
97
37
6
0
1
6
-18
-10
-26
-1
25
0
0
0
3
32
-55
38
5
0
0
0
0
0
1
-21
15
4
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
-2
-7
0
-10
-12
132
-67
21
64
7
9
-1
9
-8
-11
-20
71
-44
1
2
33
-43
-72
46
21
67
-2
0
-2
60
4
42
9
12
23
0
0
0
-4
37
22
80
1
0
0
0
0
0
-64
37
-16
-11
0
0
0
0
0
-1
-10
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
-2
-4
6
6
58
49
-39
-65
-7
-2
1
25
34
2
-22
6
-6
3
0
-1
74
18
16
-21
22
2
0
0
3
28
-25
-10
-74
-5
0
0
0
0
2
-25
19
23
-3
0
0
0
0
0
-4
2
12
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
-3
-2
2
4
6
-38
1
0
0
4
12
-7
-19
-15
60
0
0
0
0
2
44
-29
48
9
0
0
0
0
-1
33
67
14
-52
0
0
0
0
0
2
-19
33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
7
1
0
0
0
2
25
77
-54
17
0
0
0
0
1
-13
36
71
11
0
0
0
0
0
34
-43
12
2
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
9
0
0
0
0
1
12
56
44
-2
0
0
0
0
0
45
-22
6
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-3
-7
0
0
0
0
0
0
-1
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-1
-1
7
40
0
0
46
0
0
0
0
0
0
0
0
0
0
0
8
26
74
9
-73
-25
0
0
0
0
0
0
0
0
0
0
0
7
-19
144
149
61
79
0
0
0
0
0
0
0
0
0
0
0
0
-6
134
79
-35
20
0
0
0
0
0
0
0
0
0
0
0
1
2
-28
-12
20
17
0
0
0
0
0
0
0
0
0
0
1
0
-1
-22
70
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-2
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
-16
-20
0
0
3
-1
0
0
0
0
0
0
0
0
2
1
-7
25
3
63
17
86
1
0
0
0
0
0
0
0
0
8
2
0
5
48
130
48
-1
-8
0
0
0
0
0
0
0
0
-6
0
-3
-10
98
102
90
-41
0
0
0
0
0
0
0
0
-3
0
5
-3
-5
-34
24
27
11
-1
0
0
0
0
0
0
0
0
0
-1
0
-6
21
-9
-25
-28
-3
0
0
0
0
0
0
0
0
-3
0
0
0
11
-22
40
-4
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
9
0
0
0
48
-1
0
0
0
0
0
0
0
0
0
0
0
8
49
0
0
51
70
0
0
0
0
0
0
0
0
0
-5
13
16
95
33
33
-4
35
0
0
0
0
0
0
0
0
0
-1
1
-4
8
49
-32
64
22
-1
0
0
0
0
0
0
0
2
4
7
19
-20
65
69
38
-30
9
0
0
0
0
0
0
0
0
0
-2
2
5
37
17
-72
66
5
0
0
0
0
0
0
0
0
0
2
3
-6
-30
61
31
1
0
0
0
0
0
0
0
0
0
0
0
0
131
-7
-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
-8
0
0
0
42
-8
182
32
-143
97
0
0
0
0
1
2
0
-35
0
0
0
-22
63
16
110
-123
62
-1
0
0
0
1
6
0
-29
-65
53
48
23
103
-1
73
47
17
20
0
0
0
1
-1
1
-34
80
156
126
9
66
58
50
152
67
12
0
0
-5
-1
-8
-1
2
110
109
35
6
-9
-69
89
33
15
0
0
0
0
2
3
-8
22
44
90
4
-27
40
75
-79
50
-21
0
0
0
0
0
0
0
0
172
-56
36
13
-11
89
-35
-70
9
0
0
0
0
0
0
-4
-4
72
-9
3
-1
45
45
-58
-70
0
0
0
0
0
0
0
0
0
0
4
-2
5
-1
0
0
0
9
0
0
0
0
0
0
-1
-9
0
0
0
-13
12
-25
33
2
0
0
0
0
2
2
-1
7
31
0
0
0
13
-26
8
-58
-9
-23
0
0
0
0
0
0
0
-35
31
-9
5
98
39
-37
-30
-58
101
-1
0
0
0
0
0
5
13
-24
-49
-33
64
56
65
90
56
29
6
0
0
0
0
0
0
-8
-3
77
15
-21
-22
-1
-27
86
135
-2
0
0
0
0
0
0
31
43
-110
-11
-40
-19
-90
3
-16
1
0
0
0
0
0
0
0
-1
39
35
-21
77
-50
118
-95
-35
23
0
0
0
0
0
0
0
2
-6
84
-1
14
-6
-13
6
5
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
26
-19
0
0
0
109
121
129
20
-39
-36
-12
0
0
1
0
37
8
-48
30
0
0
124
53
120
37
14
-45
7
0
2
0
0
-5
-35
40
117
-95
110
187
101
29
2
-6
-13
-41
0
0
-2
-2
-2
-6
-31
-16
150
257
12
65
12
17
-39
-18
40
0
0
0
-1
-8
-11
-19
18
-12
199
-17
78
4
-6
-50
-19
21
0
0
0
0
-10
43
50
-79
71
93
-18
50
46
20
-12
-61
18
0
0
0
-2
11
38
43
10
-47
38
55
13
-27
-47
-34
-76
-20
0
0
0
0
9
2
29
44
8
-26
10
-64
29
68
59
87
0
0
0
0
0
0
0
0
10
0
0
0
1
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
12
-161
18
-28
-28
0
0
0
0
0
-1
2
6
146
-20
60
25
-21
-12
49
6
53
0
0
0
0
0
0
0
-7
229
65
77
-19
-50
2
-27
47
95
0
0
0
0
0
-1
-1
-16
10
4
96
-15
-20
12
20
27
23
0
0
2
0
0
-10
-3
28
-42
26
24
45
-83
45
59
67
65
0
0
0
1
0
2
-9
0
-76
126
6
-61
54
113
183
89
153
0
0
0
-1
0
6
0
0
124
78
154
74
-78
124
66
32
98
0
0
0
0
0
0
1
0
-19
16
5
75
201
90
111
16
50
0
0
0
0
0
0
0
7
-2
7
-33
57
36
-5
17
11
17
0
0
0
0
4
-3
3
-5
0
-5
129
14
56
7
16
-31
52
0
0
0
0
0
2
-10
-6
-14
17
0
48
41
40
16
-27
-5
0
0
0
0
2
-2
1
-13
-49
-88
-108
17
-2
37
46
29
25
0
0
0
0
-1
0
9
12
47
-153
17
37
55
44
37
-38
-109
0
0
0
0
0
-6
4
-14
-46
44
26
13
69
40
-10
-78
2
0
0
0
0
0
28
16
-16
-35
50
37
13
40
18
131
17
-48
0
0
0
0
0
-4
-15
-32
-7
101
23
78
36
135
3
-8
-7
0
0
0
0
2
0
-5
-4
-20
-17
-11
51
53
141
-70
-32
-25
0
0
0
0
0
0
-8
1
-3
5
-3
-2
-2
57
108
-9
0
0
0
0
0
-1
-7
41
75
0
0
175
54
79
15
31
36
-52
0
0
0
4
9
-6
152
0
-34
0
264
90
64
28
13
57
45
0
0
0
0
-1
-19
-38
18
151
68
179
54
28
28
-17
34
42
0
0
0
0
-3
-48
-43
76
153
44
-26
63
29
31
16
60
79
0
0
0
1
-3
-15
-25
-43
-30
107
13
57
10
4
26
13
82
0
0
0
4
-6
-3
59
-84
-114
-8
-6
-16
20
46
30
64
45
0
0
0
2
12
-18
-41
56
-25
-31
28
-53
74
-21
41
-62
105
0
0
0
0
0
1
28
58
-67
-36
-100
31
-105
125
-31
39
0
0
0
0
0
0
0
7
0
0
0
3
15
31
80
158
11
0
0
0
0
0
0
-1
-3
14
0
33
42
37
9
25
46
15
-119
0
0
0
0
1
3
23
0
86
0
42
106
5
7
20
-29
-45
0
0
0
0
-1
-3
-25
-33
13
51
58
61
-15
-22
5
5
140
0
0
0
0
0
1
-70
-49
134
-24
-26
53
40
51
49
-19
23
0
0
0
0
0
0
12
-9
14
-43
-53
77
-23
37
35
61
21
0
0
0
1
0
0
-1
-63
33
6
-124
21
-39
35
33
8
-1
0
0
0
0
0
0
0
-104
27
89
116
-42
34
59
71
62
7
0
0
0
0
0
0
0
-8
22
-9
-9
-26
-129
49
41
-58
0
0
0
0
0
0
0
0
0
0
0
0
7
46
-120
122
10
0
0
0
0
0
0
-1
-1
0
0
0
-17
150
72
40
-98
-44
-101
0
0
0
0
0
0
-1
5
0
46
211
152
72
-12
16
-52
-39
0
0
0
0
0
0
-1
40
37
40
292
177
49
42
-8
-68
-130
0
0
0
0
0
0
4
-61
-55
10
159
145
117
10
-10
-17
93
0
0
0
0
0
0
-2
-52
-115
-38
40
71
-3
114
15
-25
21
0
0
0
0
0
0
6
-100
-139
-58
-28
10
63
50
-19
-15
-33
0
0
0
0
0
0
0
-10
-177
-7
75
48
23
-43
20
-51
91
0
0
0
0
0
0
0
0
-10
2
25
16
-2
-60
-74
-77
13
0
0
0
0
0
0
0
0
0
0
0
1
-8
-89
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
1
1
40
-25
0
0
-173
-4
0
0
0
0
0
0
0
0
-5
-1
-24
-21
-50
-52
-38
-113
0
0
0
0
0
0
0
0
0
0
0
0
50
79
-114
-6
64
5
0
0
0
0
0
0
0
0
0
0
0
1
-25
-154
90
42
3
0
0
0
0
0
0
0
0
0
0
0
5
27
-4
-73
14
0
0
0
0
0
0
0
0
0
-1
2
-1
5
-76
117
15
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-54
42
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
56
8
0
0
0
0
0
0
0
0
0
1
3
-1
41
0
0
0
2
2
0
0
0
0
0
0
0
-2
-1
-1
-17
26
25
0
0
-143
5
0
0
0
0
0
0
0
0
1
2
57
-13
49
47
17
-17
29
0
0
0
0
0
0
0
0
0
-8
-11
1
12
-108
-94
50
-49
0
0
0
0
0
0
0
0
2
0
3
18
50
-108
-14
-89
-30
0
0
0
0
0
0
0
2
-1
-1
-11
-2
21
93
15
65
10
0
0
0
0
0
0
0
0
1
1
0
-2
-78
54
22
-22
20
0
0
0
0
0
0
0
0
-2
0
0
-10
18
-11
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-9
4
0
0
0
0
0
0
0
0
0
0
1
-5
-2
0
0
0
50
-22
0
0
0
0
0
0
0
0
0
1
10
-56
58
0
0
6
74
0
0
0
0
0
0
0
0
0
7
-9
2
4
-3
126
3
-35
0
0
0
0
0
0
0
0
0
14
2
8
16
19
-71
-92
-50
-2
0
0
0
0
0
0
0
0
-4
-9
-8
92
-29
-73
33
-266
17
0
0
0
0
0
0
0
-1
-5
9
-14
-24
-106
70
-8
-47
-7
0
0
0
0
0
0
0
0
0
-1
10
-67
-34
-42
-164
-43
0
0
0
0
0
0
0
0
0
0
0
3
-7
89
-9
-23
29
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
8
0
0
0
-38
-95
66
-130
18
-86
-2
0
0
0
0
1
0
0
0
0
0
78
-16
-93
-57
-54
-84
5
0
0
0
0
0
4
-2
-142
85
127
13
-20
-14
-53
-35
-91
5
0
0
0
0
0
1
21
10
-62
64
-65
-13
-29
-91
-52
-59
2
0
0
0
0
3
3
1
-57
-3
78
-71
-37
-98
29
-111
-14
0
0
0
0
0
2
0
0
-78
44
-134
25
-146
-75
-67
5
-21
0
0
0
0
0
0
0
1
30
-118
27
3
-34
28
-25
-47
-1
0
0
0
0
0
0
2
15
-65
77
14
-35
12
11
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
-21
-1
-1
0
0
0
0
0
0
0
0
0
-1
-19
0
0
0
-7
-8
-1
0
0
0
0
0
0
0
0
2
0
4
0
0
0
-26
1
-2
1
-3
1
0
0
0
0
0
0
2
-4
9
-18
32
14
-4
40
-23
6
3
0
0
0
0
0
0
0
-6
-38
-74
5
-4
5
27
-25
-2
-4
0
0
0
0
0
0
0
1
-22
-30
-13
-38
-17
-16
-101
-51
3
0
0
0
0
0
0
0
-2
-78
-92
-14
-32
12
-23
-3
0
2
14
0
0
0
0
0
0
0
23
6
6
3
9
1
0
1
-2
0
0
0
0
0
0
0
-1
-5
-19
3
-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
2
-3
0
-5
-14
0
0
0
28
13
27
-70
-73
-77
-48
0
0
-3
0
28
16
11
52
0
0
87
-7
54
-7
-1
-88
-29
0
0
0
0
-15
15
111
-81
103
110
-6
7
-36
-72
-23
-40
-42
0
0
-1
2
10
2
110
46
-1
104
-115
-22
-62
-42
-72
-51
-32
0
0
0
1
17
74
28
69
98
-188
-23
3
-63
-13
-88
-48
11
0
0
0
0
3
52
11
-5
70
78
59
-80
-30
-43
-66
-35
-15
0
0
0
4
0
23
-6
-20
117
-40
-63
7
-86
-80
-95
-118
-7
0
0
0
0
0
6
15
-15
4
34
-55
42
29
7
-1
92
8
0
0
0
0
0
0
0
-13
-3
0
0
3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
104
96
-110
-83
-60
-154
-53
0
0
0
1
5
0
0
-1
-15
120
-60
21
-28
-62
-31
-85
-32
0
0
0
0
2
0
2
-4
7
-4
59
22
15
-13
-103
-68
10
0
0
0
0
0
2
-16
8
-24
55
-24
71
-77
-26
-26
0
-21
0
0
-2
0
3
-1
-1
3
-62
40
56
-33
-21
-73
-104
-58
-25
0
0
0
-2
3
-10
-12
-2
69
-108
92
-49
-53
-95
-144
41
58
0
0
0
1
-6
-9
0
5
-69
55
-103
-12
8
-21
-119
13
13
0
0
0
0
0
1
-23
-1
-34
-73
-70
38
91
-22
-42
-89
7
0
0
0
0
0
0
0
0
-1
-23
18
-55
-3
-123
-38
-41
-88
0
0
0
0
1
0
5
-5
0
19
75
-17
5
-79
-47
-78
-72
0
0
0
4
0
-3
0
-4
-31
61
0
17
5
-19
-56
-57
29
0
0
0
0
11
0
0
-18
-7
142
6
-15
-32
-2
-23
-32
-85
0
0
0
0
0
0
-12
5
4
-43
63
36
-2
-41
-11
-47
-126
0
0
0
0
0
16
-10
-2
27
-42
-11
-30
78
-32
-68
-44
-34
0
0
0
0
0
-14
19
3
-58
31
75
7
18
-51
-2
-17
-64
0
0
0
-1
0
-3
11
26
-6
22
53
90
124
21
-35
-37
-31
0
0
0
1
4
0
1
8
-2
-31
-21
-51
32
73
-94
-7
-87
0
0
0
0
0
0
1
0
4
-7
9
5
40
-18
10
-15
0
0
0
0
0
-4
7
6
14
0
0
-94
27
21
-33
-23
75
-11
0
0
0
-2
-12
69
87
0
-17
0
2
24
-14
-25
-27
-10
-76
0
0
-2
-1
5
59
4
-14
53
204
25
-33
-37
-6
-12
-33
-115
0
0
0
0
-1
21
110
-78
29
140
-22
-20
-43
-38
-37
28
-60
0
0
0
13
6
22
26
94
-88
-21
13
25
-40
-19
-42
-53
-69
0
0
0
2
33
0
5
-46
-18
88
-9
-54
-18
2
-73
-36
37
0
0
0
7
0
38
20
-11
41
-29
78
-51
48
-127
-40
109
-45
0
0
0
0
2
4
-7
-52
-18
28
21
-75
-49
55
-85
-31
1
0
0
0
0
0
-1
-5
-1
-1
0
13
-9
-63
-64
32
-4
0
0
0
0
0
0
0
-2
-47
0
50
179
-10
10
32
-12
-37
-21
0
0
0
0
0
0
-32
0
97
0
117
82
-50
-38
2
-10
2
0
0
0
0
0
0
-70
-8
84
1
64
70
-36
-70
-36
59
-27
0
0
0
0
1
-1
-2
-114
5
7
38
12
-17
19
48
-35
-68
0
0
0
0
0
0
-6
-4
-100
-68
-48
25
-65
34
-4
54
78
0
0
0
0
0
0
-4
-13
-42
72
-23
-4
-25
-3
-18
54
-50
0
0
0
0
0
0
0
-4
-6
-19
-69
-78
26
39
39
-28
-25
0
0
0
0
0
0
0
-40
-40
24
-108
-123
-172
74
-96
-108
0
0
0
0
0
0
0
0
0
0
0
-1
35
-41
-57
68
29
0
0
0
0
0
0
0
-2
0
0
0
-66
51
49
-12
-137
-123
62
0
0
0
0
0
0
0
76
0
-16
-29
67
128
-12
-130
-204
2
0
0
0
0
0
0
1
-89
-19
21
-43
170
42
-61
-59
9
-103
0
0
0
0
0
0
0
-59
-82
-6
26
-19
57
-14
-89
-101
-84
0
0
0
0
0
0
0
-117
-119
43
-1
58
-23
74
-49
0
-68
0
0
0
0
0
0
0
-162
-125
87
-93
38
-77
-143
-210
-93
2
0
0
0
0
0
0
0
-34
-117
2
-56
1
-15
-19
-110
-142
-29
0
0
0
0
0
0
0
-1
-4
2
-43
-22
-12
-91
-39
-52
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
3
46
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
2
28
74
70
59
-11
0
0
0
0
0
0
0
0
0
0
-1
-1
129
14
-37
-39
0
0
0
0
0
0
0
0
0
0
0
2
1
93
59
-91
-21
0
0
0
0
0
0
0
0
0
0
0
0
-6
62
-92
7
-61
0
0
0
0
0
0
0
0
0
0
0
0
-41
68
-10
17
78
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
96
25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-52
3
0
0
0
0
0
0
0
0
0
0
1
-14
45
0
0
-38
-3
0
0
0
0
0
0
0
0
0
0
5
12
181
87
-4
27
5
0
0
0
0
0
0
0
0
0
0
-1
91
-44
60
-195
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
3
-14
47
7
10
0
0
0
0
0
0
0
0
0
0
-2
-7
5
6
111
15
0
0
0
0
0
0
0
0
0
0
0
-5
9
6
0
27
104
0
0
0
0
0
0
0
0
0
0
0
0
-7
143
-49
124
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-3
4
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
111
3
0
0
0
0
0
0
0
0
0
1
2
5
36
0
0
166
-54
0
0
0
0
0
0
0
0
0
0
-6
5
52
-53
11
106
28
-1
0
0
0
0
0
0
0
0
0
4
-2
-2
1
-71
-23
21
0
0
0
0
0
0
0
0
0
0
-3
-7
-41
78
39
42
-13
0
0
0
0
0
0
0
0
0
0
0
0
38
-36
-148
84
-27
0
0
0
0
0
0
0
0
0
0
-2
-1
-52
21
33
56
-11
0
0
0
0
0
0
0
0
0
0
0
0
-38
89
51
69
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
-20
0
0
0
388
136
-70
54
-19
11
0
0
0
0
2
-2
-1
-6
0
0
0
300
38
64
-12
-20
4
1
0
0
0
0
0
10
-51
76
-16
-11
33
-11
2
40
13
93
0
0
0
0
0
-3
16
-139
-50
13
-15
-23
-102
60
72
99
-27
0
0
0
0
-4
0
2
-20
100
-13
-4
-9
18
11
12
115
25
2
0
0
0
0
0
0
9
-68
-171
24
-110
53
167
45
-26
-9
3
0
0
0
0
0
3
9
-2
86
96
70
93
-48
123
-57
6
0
0
0
0
0
0
2
41
14
103
22
73
115
2
-9
-3
-4
0
0
0
0
0
0
0
0
-3
53
8
34
-1
0
0
1
0
0
0
0
1
0
3
-26
-66
0
0
0
-44
122
45
40
-6
-7
-2
0
0
0
2
22
22
-8
0
0
0
52
107
-22
11
37
59
2
0
0
0
1
-1
9
-97
3
-20
88
29
-27
-42
-11
94
92
-13
0
0
0
1
0
5
-62
-182
-10
-70
44
22
-2
67
-29
14
11
0
0
0
0
0
-2
79
135
-104
-112
32
-25
47
107
81
194
-9
0
0
0
0
0
-5
29
-34
137
4
36
-147
-2
94
18
-18
25
0
0
0
-1
0
-2
-7
28
-26
91
-15
10
-27
30
-32
85
-7
0
0
0
0
0
0
21
82
72
133
33
23
100
10
17
-44
11
0
0
0
0
0
0
7
11
-65
-9
-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
-1
-1
18
0
0
0
35
13
42
-59
-21
15
-130
0
0
0
0
0
-3
-2
-78
0
0
125
105
70
66
44
-2
97
0
0
0
0
0
0
28
92
180
-47
84
-5
22
98
63
-26
-22
0
0
0
0
0
-15
14
50
77
33
-113
70
13
67
-4
-5
9
0
0
0
1
-1
-6
34
23
130
-60
129
91
46
105
16
93
67
0
0
0
0
0
-9
-15
15
32
98
-143
8
38
44
21
-41
36
0
0
0
0
0
-3
-3
-21
-28
56
1
2
-12
12
-39
-40
-3
0
0
0
0
0
-1
13
21
76
-50
-26
-100
-14
-26
39
-35
0
0
0
0
0
0
0
0
0
3
-1
2
-1
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
2
-1
6
0
0
-155
78
-144
-108
-118
-218
110
0
0
0
0
0
0
4
13
-56
-59
181
-76
-2
-131
-19
14
-104
0
0
0
0
0
0
-1
-11
-3
98
31
11
-56
-131
-14
3
67
0
0
0
0
0
0
-1
0
-86
-92
-45
-132
-83
-117
-22
18
61
0
0
0
0
0
0
0
-1
-42
-170
-25
-3
-235
31
-111
72
-4
0
0
0
0
0
0
-8
-1
-76
-50
-36
-77
48
-30
9
21
25
0
0
0
0
0
0
0
-2
11
-34
-122
-46
60
-1
-19
12
56
0
0
0
0
0
0
0
-1
-57
14
30
154
51
-20
11
-10
-2
0
0
0
0
0
1
0
0
-9
-33
-68
24
64
43
60
-43
-18
0
0
0
0
0
-2
4
15
0
-61
76
-1
109
29
-4
-17
-23
0
0
0
-1
-3
-1
-15
1
52
-23
0
18
70
52
-13
51
33
0
0
0
0
0
0
-3
2
95
-155
-49
109
-3
6
63
1
-4
0
0
0
0
0
0
-1
9
-53
-243
-22
53
-32
-14
115
37
-47
0
0
0
0
0
0
0
2
50
-50
155
-19
-151
52
28
-161
28
0
0
0
0
0
-1
0
3
-32
-55
86
-53
12
67
-57
37
-68
0
0
0
0
2
0
-1
-4
9
-114
90
17
-225
-14
41
0
14
0
0
0
0
-1
0
0
0
-32
-45
-149
19
59
53
-9
100
-6
0
0
0
0
0
0
0
0
0
-15
-29
-14
27
-20
89
-1
0
0
0
0
0
0
2
56
-39
0
0
58
54
9
54
-41
-92
-9
0
0
0
-1
-1
7
36
0
116
0
266
32
34
1
-60
-22
7
0
0
0
0
-1
86
-51
-208
289
215
25
59
15
42
27
-76
62
0
0
0
0
1
-8
-78
-157
-184
-17
-51
117
21
26
37
-51
92
0
0
0
0
0
-1
6
-34
-31
41
-30
47
33
10
13
23
77
0
0
0
0
0
-1
-52
-187
30
-183
-162
-29
12
17
-27
-34
96
0
0
0
0
-1
3
4
-75
105
58
104
43
239
79
55
-195
83
0
0
0
0
0
-2
-1
-113
-114
-98
49
165
-59
21
18
60
-2
0
0
0
0
0
0
0
0
0
-1
2
-7
-13
-2
3
0
0
0
0
0
0
0
0
12
56
0
-31
255
128
-36
-41
-98
-33
-110
0
0
0
0
-1
10
46
0
-113
0
206
110
1
-30
29
-11
-7
0
0
0
0
0
17
0
135
-1
-164
164
126
56
10
98
-29
-1
0
0
0
0
0
-12
1
-188
-331
-513
-65
37
49
83
-56
-43
-13
0
0
0
0
0
0
-76
-182
-108
-292
-75
71
6
36
-7
56
68
0
0
0
0
0
-1
-14
-94
-391
-167
9
64
-72
13
16
-5
7
0
0
0
0
0
0
0
-84
-309
-242
18
17
-50
-29
-9
-28
-17
0
0
0
0
0
0
0
-19
45
11
-89
-89
98
-36
37
65
2
0
0
0
0
0
0
0
0
0
0
0
-2
-65
6
-6
7
0
0
0
0
0
0
3
-1
0
0
0
60
164
46
84
26
-10
-18
0
0
0
0
0
19
-47
12
0
-73
239
165
121
-10
73
18
-9
0
0
0
0
0
-1
9
-80
-201
34
233
171
97
52
21
28
-51
0
0
0
0
0
0
-2
-354
-168
-148
60
63
91
-1
66
14
-106
0
0
0
0
0
0
-2
-9
-229
-192
-35
45
23
58
-16
6
-67
0
0
0
0
0
0
-3
-199
-301
-86
-10
84
52
29
-12
-11
14
0
0
0
0
0
0
0
-94
-65
-50
-39
-9
16
15
3
33
56
0
0
0
0
0
0
0
10
1
-1
-21
-138
-73
0
-100
48
-48
0
0
0
0
0
0
0
0
0
0
-4
1
-28
-3
75
-34
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-16
63
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
15
-90
-66
-23
-80
-4
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-46
1
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-49
-31
9
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
-6
-58
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-100
-79
-17
-19
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
55
49
-2
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
-3
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
3
2
6
25
0
0
-11
-1
0
0
0
0
0
0
0
0
0
0
-4
16
15
45
-7
43
-9
0
0
0
0
0
0
0
0
0
0
0
7
18
-94
-62
26
5
0
0
0
0
0
0
0
0
0
0
0
4
-60
-1
-77
-135
-2
0
0
0
0
0
0
0
0
0
0
0
-1
68
-30
-15
17
0
0
0
0
0
0
0
0
0
0
0
3
-22
2
-43
135
-112
0
0
0
0
0
0
0
0
0
0
0
0
-4
-98
32
-96
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-41
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
3
7
-78
0
0
-132
-6
0
0
0
0
0
0
0
0
0
0
1
0
-2
46
78
37
15
0
0
0
0
0
0
0
0
0
0
0
-5
56
15
-87
-144
1
0
0
0
0
0
0
0
0
0
0
0
1
41
-83
-9
47
-34
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
-75
44
-3
0
0
0
0
0
0
0
0
0
0
0
1
36
11
-24
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-59
-32
0
0
0
0
0
0
0
0
0
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
-3
-2
-6
0
0
0
0
0
0
0
0
0
-5
0
0
0
149
8
8
-7
1
0
0
0
0
0
0
0
0
1
-43
-129
-92
-46
-8
-93
2
0
0
0
0
0
0
0
0
0
1
16
-158
-74
-53
-21
-12
1
-3
0
0
0
0
0
0
0
0
0
-87
37
76
51
-70
-33
-4
2
0
0
0
0
0
0
0
0
4
-24
8
-13
-58
-34
-6
-3
-1
0
0
0
0
0
0
0
0
0
-78
-36
68
-49
4
9
0
0
0
0
0
0
0
0
0
0
0
-54
28
80
1
-11
0
0
0
0
0
0
0
0
0
0
0
2
-12
7
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-23
-7
-1
0
3
0
0
0
0
0
0
0
-2
-4
38
-43
12
-7
-16
-4
0
0
0
0
0
0
0
0
0
0
-3
-10
-9
-69
1
-21
0
-1
-1
0
0
0
0
0
0
0
0
-7
-102
-39
25
-15
3
-2
0
-1
-2
0
0
0
0
0
0
0
1
9
-9
12
-11
1
1
2
0
-9
0
0
0
0
0
0
0
0
-12
-71
-8
-5
-12
0
1
-2
0
0
0
0
0
0
0
0
0
10
-8
-8
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-50
23
-46
9
-37
-55
0
0
0
0
4
-1
-14
43
0
0
9
-114
-106
14
4
-75
30
0
0
0
0
0
0
12
68
11
60
-46
-96
-14
-36
13
-38
-52
0
0
0
0
0
12
11
96
24
-35
-46
-126
-105
-69
-151
-154
-83
0
0
0
0
0
0
0
-32
85
88
-81
-82
-74
-28
-38
-84
-68
0
0
0
0
-3
-2
5
9
-55
67
-16
64
-96
-69
-64
-77
-7
0
0
0
0
0
1
3
-22
52
-9
47
15
-71
-88
-83
-40
9
0
0
0
0
0
0
-6
28
-60
-61
31
-4
-63
-54
-44
-22
2
0
0
0
0
0
0
0
-2
-6
0
-3
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
-12
0
0
55
28
-184
-2
60
-31
58
0
0
0
0
0
0
2
-25
-94
-29
48
-129
-189
-36
23
-27
70
0
0
0
0
0
0
-2
7
-95
107
35
59
-191
-85
-64
9
-16
0
0
0
0
0
0
0
2
-39
73
-169
30
-154
-95
-136
-73
-42
0
0
0
0
0
0
0
-2
-5
-11
-69
-15
8
34
-58
30
-131
0
0
0
0
0
0
-1
0
-13
11
-83
-30
-86
26
109
-5
35
0
0
0
0
0
0
0
0
5
-11
22
12
26
1
-113
-4
-62
0
0
0
0
0
0
0
1
-48
-28
-126
17
-45
-12
-91
-39
-2
0
0
0
0
0
0
0
-2
-21
-26
15
1
52
-25
-64
-93
-96
0
0
0
0
0
0
0
-17
0
79
12
-88
-75
-64
-174
-65
40
0
0
0
0
0
0
5
-8
-42
-137
0
-119
-64
-76
-97
75
-56
0
0
0
0
0
0
0
-2
27
140
0
-93
-67
33
-78
-151
3
0
0
0
0
0
0
2
7
14
-71
-123
-46
-88
-28
31
60
44
0
0
0
0
0
0
-1
0
-26
-5
-111
-37
-80
-141
-74
-75
4
0
0
0
0
0
0
-5
-7
4
60
-9
-66
-102
-17
32
12
-66
0
0
0
0
0
0
0
-5
-15
-55
17
35
39
-60
-28
-27
-40
0
0
0
0
0
0
0
-3
-17
-14
38
39
58
54
92
-75
-84
0
0
0
0
0
0
0
0
11
5
65
-14
-6
26
-110
0
0
0
0
0
0
0
0
-28
20
0
0
-199
-173
-85
-105
-13
-183
-20
0
0
0
0
-2
2
-5
0
1
0
-170
-187
-39
86
-123
-92
2
0
0
0
0
0
-4
45
-99
96
51
-22
-28
88
-151
-58
-195
-10
0
0
0
0
0
3
-48
-16
-44
63
24
-67
3
-178
-3
-126
-2
0
0
0
0
0
0
-7
-61
64
48
-157
1
-116
-73
-86
-81
9
0
0
0
0
-2
0
14
190
-49
-31
129
-50
-38
-65
-87
-137
24
0
0
0
0
7
0
2
-27
22
9
-33
163
40
-111
28
-29
-52
0
0
0
0
0
0
0
-11
72
48
-2
40
-103
22
-16
1
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
4
0
-80
-15
-58
-104
-28
-35
-53
-112
0
0
0
0
0
0
-2
0
-35
0
85
9
24
-151
-34
-95
1
0
0
0
0
0
0
-52
85
-27
0
-62
59
-17
20
-26
-40
-25
0
0
0
0
0
0
-1
-67
-123
39
28
8
-70
-96
-7
173
-19
0
0
0
0
0
0
5
136
0
-11
-124
26
-168
-107
-37
-95
-115
0
0
0
0
0
0
0
-178
-93
43
-34
82
48
-127
-74
-57
-24
0
0
0
0
0
0
0
-6
-22
-26
-35
-30
-30
-40
-38
28
10
0
0
0
0
0
0
0
0
0
0
12
112
3
-57
-33
-112
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
50
27
-68
-108
-99
-187
-48
0
0
0
0
0
0
1
-7
0
4
66
-145
-47
-176
-7
-98
4
0
0
0
0
0
0
0
-3
-14
-3
-18
61
53
64
-33
-247
-137
0
0
0
0
0
0
0
-9
-7
-12
-22
24
-36
13
0
-20
-75
0
0
0
0
0
0
0
-28
-22
-1
79
54
-121
74
-38
-44
-58
0
0
0
0
0
0
0
2
-5
-6
-63
-6
-13
57
-84
-18
-41
0
0
0
0
0
0
0
0
-20
1
52
5
-129
-30
-199
45
-32
0
0
0
0
0
0
0
0
0
1
-2
-42
-19
-18
41
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
29
-7
4
0
0
0
6
0
0
0
0
0
0
0
-20
8
-24
-55
0
15
-6
-11
5
-5
0
0
0
0
0
0
0
20
61
32
54
-3
-5
0
0
-1
-1
0
0
0
0
0
0
0
71
73
108
-18
43
-2
0
-6
5
0
0
0
0
0
0
0
0
18
2
88
6
6
-13
0
0
0
0
0
0
0
0
0
0
0
11
66
125
-54
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
35
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
55
50
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
24
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
38
-29
-28
0
-6
3
0
8
0
0
0
0
0
0
0
11
57
-3
-67
79
26
18
-13
1
0
-6
0
0
0
0
0
0
33
105
64
23
15
26
-3
14
-13
-10
1
0
0
0
0
0
0
27
53
-41
35
-42
50
0
-3
-1
-4
0
0
0
0
0
0
0
-1
87
41
61
-39
15
1
1
1
0
0
0
0
0
0
0
0
-4
26
106
-8
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-68
29
17
14
0
0
0
0
0
0
0
0
0
0
0
28
5
-8
91
-12
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
1
99
91
-35
115
-56
58
7
0
11
2
0
0
0
0
0
0
13
44
81
-42
-44
-31
-48
-5
1
1
3
0
0
0
0
0
0
2
45
78
118
21
75
-1
18
6
-7
0
0
0
0
0
0
0
11
-16
-4
-10
-57
83
0
0
0
1
0
0
0
0
0
0
0
7
-12
49
-70
77
-43
0
0
0
0
0
0
0
0
0
0
0
3
13
37
39
52
2
0
0
0
0
0
0
0
0
0
0
0
-1
21
10
-50
77
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-44
0
0
0
0
0
0
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
-20
-32
0
-1
101
46
-57
0
-94
-6
1
0
0
0
0
0
-5
-5
34
112
-20
-18
83
-150
34
-7
-9
2
0
0
0
0
0
44
51
82
34
28
-44
-34
-5
-125
-38
-7
-2
0
0
0
0
0
-3
33
71
-63
31
-44
-35
-7
21
66
2
0
0
0
0
0
0
-27
11
26
156
-20
88
-42
-46
55
28
0
2
0
0
0
0
0
56
145
28
218
164
84
139
46
-39
12
-1
0
0
0
0
0
0
23
93
160
26
47
57
27
25
-25
10
0
0
0
0
0
0
0
16
57
53
-37
77
-10
11
39
47
0
0
0
0
0
0
0
0
6
0
-6
0
2
0
0
0
5
0
0
0
0
0
0
0
0
-4
-34
9
16
3
-86
-118
-81
0
-9
0
0
0
0
0
0
0
41
19
-34
49
52
-48
50
-105
60
7
0
0
0
0
0
0
0
-3
13
49
-13
-52
-27
-14
-58
-17
27
2
-1
0
0
0
0
0
-19
-80
51
4
50
54
108
104
-55
104
-2
0
0
0
0
0
0
-12
-15
-13
-88
32
52
-2
130
-11
-8
0
0
0
0
0
0
0
-5
-12
106
32
22
-45
27
40
-26
16
0
0
0
0
0
0
0
6
107
-3
-41
24
116
25
-14
8
0
0
0
0
0
0
0
0
6
19
51
44
9
3
1
12
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
33
99
-46
-4
0
0
-34
-49
-55
-21
-2
0
0
0
-12
-79
31
44
-30
19
-10
-49
-2
11
16
59
4
40
-13
0
0
-45
68
160
115
105
-21
-49
-29
-19
-95
-58
-31
-14
14
-2
0
0
61
7
129
106
44
34
27
32
4
26
-176
-33
-19
-4
-3
0
0
73
-37
-28
117
49
38
62
6
52
8
-76
-6
-2
-13
-2
0
0
-31
93
-30
171
80
12
29
72
-7
111
-38
-4
9
-4
-1
0
0
-2
53
35
91
81
124
37
64
114
-34
-2
1
0
0
0
0
0
0
51
-12
3
-36
0
-16
-70
42
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
-156
-76
28
-93
0
61
13
-38
-1
-1
1
1
0
0
-31
134
17
-41
37
9
80
17
18
-90
-28
6
-10
1
-1
0
0
6
170
-15
-22
94
-11
-28
60
-67
17
-1
15
-2
-1
0
0
0
-13
102
-1
-48
58
77
80
86
35
18
-32
-13
0
0
0
0
0
-5
8
17
-22
-2
137
36
137
63
-25
9
1
-1
6
0
0
0
4
-20
92
111
22
110
47
66
89
-70
-22
-1
3
0
0
0
0
0
-4
102
77
26
70
8
-14
41
-76
-29
1
1
0
0
0
0
0
6
140
50
132
84
53
-60
2
6
-13
25
1
4
0
-1
0
0
3
-3
177
-21
47
-36
-1
-43
-12
70
3
-9
-1
-3
0
0
0
-46
78
78
37
22
22
0
-3
-26
-5
-41
5
0
0
0
0
0
34
58
67
67
-12
-21
-13
26
37
-56
-75
3
7
-5
0
0
0
32
72
135
57
-27
-39
-133
1
43
20
1
3
0
0
0
0
0
169
-22
130
94
36
53
-28
12
-8
-2
29
5
1
0
0
0
0
127
11
-34
104
-10
11
-32
-24
9
39
-32
-6
2
0
0
0
0
-21
-70
60
83
14
10
-47
41
-100
7
-12
0
-1
0
0
0
0
20
4
41
73
22
94
-132
39
-49
-10
-1
0
0
0
0
0
0
14
30
56
64
-16
84
-5
15
-61
6
-7
-1
0
0
0
0
0
-3
-21
-38
-48
91
-13
-16
6
0
0
0
0
0
0
0
-61
71
106
-20
-14
2
78
-15
0
-11
-26
-19
0
2
0
0
0
33
9
108
79
41
19
25
-8
49
-73
-17
-37
-24
2
10
0
0
37
33
83
82
19
1
-21
-37
11
-26
-80
-44
-43
3
-1
0
0
114
107
105
225
58
25
2
35
32
-17
43
-59
28
-1
0
0
0
42
45
133
260
165
43
15
53
47
50
-47
-4
0
7
0
0
0
-27
127
142
108
163
35
1
39
40
44
3
17
1
0
1
0
0
53
96
141
49
175
110
-7
-75
-60
54
23
-11
-3
0
0
0
0
0
5
-37
81
162
119
-19
18
-49
5
-3
1
0
0
0
0
0
0
0
14
-2
78
-1
5
-3
-1
0
0
0
0
0
0
0
0
12
42
-92
66
-76
-36
54
-101
0
-34
-10
11
0
0
0
0
0
33
-127
44
72
36
-46
-46
-101
-8
-93
-6
-17
8
0
0
0
0
92
30
154
-11
84
-29
-30
1
-5
-15
-22
-1
0
0
0
0
0
111
-138
124
82
12
-52
-16
-5
58
87
-65
2
0
0
0
0
0
-52
-29
193
247
31
-37
11
22
-28
-65
-46
-3
0
0
0
0
0
30
134
1
172
178
60
-68
67
-108
10
3
6
-8
0
0
0
0
-15
-38
163
44
100
-71
18
66
-180
-106
0
0
0
0
0
0
0
0
6
-29
44
0
47
-53
-51
-177
-52
-4
0
0
0
0
0
0
0
0
6
-1
-78
24
127
44
-11
-1
0
0
0
0
0
0
0
4
15
20
35
-136
12
31
-270
0
35
-2
2
0
0
0
0
0
-35
-84
-40
34
-25
44
84
-47
66
142
51
7
-1
0
0
0
0
-5
9
-38
-30
109
84
74
12
32
-119
-14
-7
0
0
0
0
0
-31
-24
49
-68
112
69
25
-13
56
20
-72
0
0
0
0
0
0
2
-109
-80
130
131
95
36
44
34
-211
-6
2
-1
0
0
0
0
-18
-42
-68
48
75
82
17
26
24
-52
2
0
0
0
0
0
0
-5
-69
-8
81
87
94
3
-36
-11
4
22
4
0
0
0
0
0
0
-7
-2
35
-75
-86
-123
-88
42
6
12
0
0
0
0
0
0
0
0
0
1
-2
-126
5
-39
-129
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-71
-132
2
-4
0
0
1
0
0
0
0
0
0
0
-21
75
-39
19
-134
5
-24
-5
1
1
0
0
0
0
0
0
0
31
43
64
-72
-6
20
0
11
4
3
0
0
0
0
0
0
0
88
97
-1
142
-46
1
0
-3
-2
0
0
0
0
0
0
0
0
32
-126
-25
-92
-10
28
-2
0
0
0
0
0
0
0
0
0
0
34
-40
61
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-20
13
38
5
-5
0
0
0
0
0
0
0
0
0
0
0
-29
1
-92
-36
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-10
10
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
-28
58
21
51
38
-12
-1
0
0
0
0
0
0
0
0
0
7
-14
-57
-30
-54
24
22
-9
-9
0
9
0
0
0
0
0
0
115
77
3
9
40
-42
-4
4
62
-10
-3
0
0
0
0
0
0
-8
52
-43
3
-98
0
3
-2
-1
3
0
0
0
0
0
0
0
-58
56
2
41
56
-43
-3
0
0
-7
0
0
0
0
0
0
0
18
70
140
-45
-31
1
-6
-7
0
0
0
0
0
0
0
0
0
-7
-23
-60
8
31
-22
0
0
0
0
0
0
0
0
0
0
0
-33
26
-30
-52
-53
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-58
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-30
55
-134
9
-5
-13
0
3
0
0
0
0
0
0
0
-12
-57
229
-87
-109
37
-56
1
-40
16
-3
0
0
0
0
0
0
72
-37
13
45
-46
-102
-16
-14
1
27
0
0
0
0
0
0
0
-8
18
74
-95
-68
-58
-2
1
-2
-1
-5
0
0
0
0
0
0
-26
-114
-73
-68
-118
88
4
3
0
8
0
0
0
0
0
0
0
-11
144
147
0
-119
-68
0
0
0
0
0
0
0
0
0
0
0
-9
0
53
108
-61
2
0
0
0
0
0
0
0
0
0
0
0
0
34
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
-1
29
-76
-29
-92
-48
-98
-45
0
-15
-2
3
0
0
0
0
0
22
-20
-36
-181
-90
-11
-126
26
-26
54
-17
2
0
0
0
0
0
-17
115
30
-19
-8
-6
-142
-198
-57
3
-3
4
0
0
0
0
0
-18
-53
-63
50
70
-8
23
-18
-62
-64
0
0
0
0
0
0
0
-55
0
32
-153
-58
51
-28
-34
-37
6
0
-2
0
0
0
0
0
1
-95
15
-105
58
43
-151
-112
38
1
0
0
0
0
0
0
0
5
81
14
-56
-28
-58
36
-4
-13
0
0
0
0
0
0
0
0
35
-111
-13
63
5
6
6
-1
-19
0
0
0
0
0
0
0
0
-7
0
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
0
3
0
-4
-10
0
0
0
0
0
0
0
0
0
2
22
-25
15
-1
-2
-33
-35
-10
-3
0
0
0
0
0
0
0
-2
-107
15
-15
-1
-44
-6
7
-13
-5
0
0
0
0
0
0
0
-2
-22
-17
-109
-13
32
-11
-50
44
-10
0
0
0
0
0
0
0
0
-33
49
-14
-2
-3
-43
-31
-3
14
0
0
0
0
0
0
0
-2
-57
-2
-81
6
3
-2
-1
0
0
0
0
0
0
0
0
0
-7
12
-101
17
1
-14
2
0
-1
0
0
0
0
0
0
0
0
-29
-2
16
5
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
3
17
91
-31
-93
-42
-135
-31
0
61
-35
-42
20
-4
0
0
0
-93
157
-13
101
41
-40
-50
-87
-40
-4
-50
59
17
-26
9
0
0
-122
133
89
-47
-19
-57
-67
-74
-45
-77
-32
62
54
-29
-6
0
0
-88
103
100
42
-61
-56
-8
9
-1
74
-22
-43
-38
-6
0
0
0
-25
98
103
68
38
-2
-16
-45
-1
19
-17
11
-1
9
1
0
0
40
-30
61
-10
0
-3
-36
5
-70
49
-101
2
-2
-4
2
0
0
-10
-77
-68
68
101
-5
-24
-29
-7
-12
2
6
0
0
0
0
0
1
-27
14
9
-1
52
86
16
10
-4
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
6
-62
-143
0
-67
-15
19
14
-6
1
1
0
0
-17
0
7
22
-79
45
-30
-46
-50
34
-26
7
-11
1
0
0
0
3
20
-5
-70
42
-57
-106
-9
-143
22
-56
-33
-1
0
0
0
0
0
84
-10
11
58
-45
-41
32
28
-16
-19
-4
1
-2
0
0
0
-5
-30
62
18
-61
22
-69
27
100
-45
-29
1
-1
3
0
0
0
-75
62
3
-41
22
-60
20
-10
-92
58
6
1
1
0
0
0
0
0
126
-30
-131
-128
-125
-47
-59
-36
-111
-3
5
9
1
0
0
0
-28
-70
26
-1
-36
-86
-14
-13
-56
11
-29
1
4
-2
0
1
0
-14
2
0
-99
-60
66
-136
-41
21
16
25
7
4
-3
1
0
0
0
-17
16
61
-28
-77
-65
0
-1
-33
-12
-12
-3
0
0
0
0
0
20
-3
31
11
-67
-65
-11
-67
62
-50
35
24
-12
9
0
0
0
73
-5
49
6
-55
-100
-71
-23
13
2
-35
0
0
0
0
0
0
-59
36
76
23
-24
-7
-47
-3
-111
35
0
-3
0
0
0
0
0
-59
-59
-83
31
-26
-29
55
-6
-8
-21
18
2
1
0
0
0
0
10
-11
2
-2
-23
-38
-28
27
-48
-57
4
-3
0
0
0
0
0
29
-14
-16
22
-7
65
-17
-1
-74
-47
40
-3
0
0
0
0
0
35
39
13
-3
-42
75
-27
-44
53
-17
-5
-3
0
0
0
0
0
3
35
26
41
72
93
-8
6
0
1
0
0
0
0
0
-26
136
72
67
-89
-68
50
-74
0
1
27
0
-10
0
0
0
0
-36
-11
107
63
-54
-38
-14
-68
6
-58
-114
-24
-7
18
1
0
0
75
179
120
-2
-101
-58
-53
-88
-14
-50
-3
-1
-29
8
0
0
0
-14
-6
84
123
-31
-52
-59
-12
6
10
138
12
50
2
1
0
0
27
-66
-2
93
64
-37
-55
28
34
90
-41
-5
-8
1
0
0
0
96
49
-29
160
58
-39
-54
-5
27
-30
-31
-35
6
-2
-1
0
0
-35
-28
76
-14
78
36
-28
6
-6
48
-26
0
-6
1
0
0
0
3
6
50
-11
8
21
-27
-49
28
2
-5
0
0
0
0
0
0
0
-5
2
-5
-12
0
0
1
0
-1
0
0
0
0
0
0
0
-56
-105
98
-51
-26
-39
96
-87
0
-35
11
8
0
0
0
0
0
-108
88
27
-45
43
5
-65
-77
25
-99
118
-9
-5
0
0
0
0
31
20
53
31
55
31
-41
-62
-68
-15
-112
8
0
-1
0
0
0
-25
-96
91
134
13
-63
-15
-34
1
117
-124
-7
0
0
0
0
0
-65
-123
109
19
97
-11
-5
-14
-56
-143
-51
0
0
0
0
0
0
-5
27
-43
117
94
60
-70
16
-97
-80
23
-5
0
0
0
0
0
29
44
-153
86
99
36
-22
40
-211
74
-1
0
0
0
0
0
0
0
-7
10
112
172
52
-5
-10
27
-25
1
0
0
0
0
0
0
0
0
9
0
5
15
85
25
4
-3
0
0
0
0
0
0
0
-18
23
0
1
29
-89
-28
-113
0
18
-5
2
0
0
0
0
0
-37
-31
16
78
-193
75
-1
-177
-52
-30
51
-3
0
0
0
0
0
-32
-81
-32
-87
-83
32
-7
-295
-126
-96
-73
-10
0
0
0
0
0
-5
-60
2
-21
15
5
-76
-38
-9
72
-5
-2
0
0
0
0
0
-12
-74
-34
-107
134
15
-126
-38
-60
23
-85
4
0
0
0
0
0
7
-123
-117
-39
-105
44
-175
-52
-40
43
-40
0
0
0
0
0
0
1
-148
-45
97
-34
-75
-33
-18
-131
-23
-25
-10
0
0
0
0
0
0
10
1
54
32
51
23
-101
32
28
5
0
0
0
0
0
0
0
0
-2
0
12
-38
68
43
-2
-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
-30
3
36
35
-20
5
-2
0
0
0
0
0
0
0
0
0
0
25
-10
24
9
-75
5
0
0
0
0
0
0
0
0
0
0
0
69
-15
100
-24
-7
2
0
0
0
0
0
0
0
0
0
0
0
-42
112
-45
87
-22
0
0
0
0
0
0
0
0
0
0
0
0
11
-93
-25
101
1
1
0
0
0
0
0
0
0
0
0
0
0
24
14
4
48
-34
-3
0
0
0
0
0
0
0
0
0
0
0
-71
87
15
-40
6
-4
0
0
0
0
0
0
0
0
0
0
0
13
203
-78
128
10
0
0
0
0
0
0
0
0
0
0
0
0
80
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
-19
-14
29
8
0
0
0
0
0
0
0
0
0
0
0
33
129
61
50
-27
-4
0
0
0
0
0
0
0
0
0
0
0
54
1
11
-74
38
22
0
5
1
0
0
0
0
0
0
0
0
68
3
107
-130
-57
0
0
0
1
0
0
0
0
0
0
0
0
-6
30
34
-74
28
-1
1
0
0
0
0
0
0
0
0
0
0
4
32
30
-54
52
0
0
0
0
0
0
0
0
0
0
0
0
85
-8
-24
88
20
0
0
0
0
0
0
0
0
0
0
0
0
7
200
56
130
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-45
18
-40
-4
50
-1
0
0
0
0
0
0
0
0
0
0
42
-31
156
-31
86
14
4
0
0
0
0
0
0
0
0
0
0
42
-51
2
-56
16
-48
1
0
0
0
0
0
0
0
0
0
0
61
5
-1
75
138
10
0
0
0
0
0
0
0
0
0
0
0
1
-3
24
-24
71
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-16
49
-12
-66
4
0
0
0
0
0
0
0
0
0
0
0
1
-12
78
80
16
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
6
27
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
48
-73
-9
-16
-72
-30
-48
0
0
0
0
-3
0
0
0
0
0
126
80
133
56
95
10
82
0
0
0
6
0
0
0
0
0
0
29
35
-15
55
-14
27
111
9
38
62
-2
0
0
0
0
0
0
84
-11
161
20
112
-1
9
83
45
-11
4
0
0
0
0
0
0
98
98
21
64
112
-40
6
-37
-53
7
-1
2
0
0
0
0
0
42
65
17
-13
80
103
22
-104
44
-1
-1
0
0
0
0
0
0
48
12
-47
93
69
9
-57
96
48
-8
0
0
0
0
0
0
0
12
-92
55
-2
-108
13
-40
6
-2
0
0
0
0
0
0
0
0
87
-2
-14
52
5
1
0
0
2
0
0
0
0
0
0
0
0
-70
-58
52
73
76
52
18
0
0
0
0
0
0
0
0
0
0
-35
33
-16
3
38
67
9
0
0
0
3
0
0
0
0
0
0
15
-130
11
55
-46
92
15
19
81
24
1
0
0
0
0
0
0
106
-32
28
-74
27
-17
-59
-19
10
17
7
-1
0
0
0
0
0
-25
-48
5
89
-30
-86
29
-4
32
32
6
0
0
0
0
0
0
-30
-39
-71
-28
41
38
-53
72
-71
48
-3
0
0
0
0
0
0
98
19
50
47
-9
30
73
-16
-6
147
-4
0
0
0
0
0
0
58
81
75
-13
38
88
29
67
39
6
0
0
0
0
0
0
0
67
122
19
48
-1
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
62
-18
-44
108
-113
60
0
0
0
14
29
-14
-10
0
0
0
1
95
120
-41
85
69
132
0
0
0
82
-33
0
11
-3
0
0
41
-148
139
32
182
-23
79
26
124
56
54
-36
-73
14
1
0
0
24
169
63
94
86
45
-61
-106
-85
-8
-140
6
3
14
1
0
0
83
-53
-3
21
-31
19
5
-134
-43
-80
-14
-1
0
-4
5
-1
0
37
44
137
74
-24
-24
-71
-84
-54
-69
-33
1
2
4
0
0
0
-5
51
-34
18
-67
51
106
31
-154
-33
8
0
1
0
1
0
0
12
-27
27
-5
33
-14
52
7
-2
-23
0
-2
0
0
0
0
0
0
3
-1
9
-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
-7
61
-142
-237
-217
-48
0
0
0
-16
34
5
-47
12
-49
-2
0
-42
-101
38
-100
-164
17
0
0
0
65
-45
16
13
-50
-15
2
0
-42
-131
163
-108
11
21
-123
74
-57
-12
-74
-64
-60
-24
-9
0
0
13
-67
31
9
-138
49
-28
94
-67
-18
-58
-26
-33
3
-2
7
0
-4
-85
-75
-77
13
66
-164
-73
59
-49
-56
3
-1
2
7
0
0
-3
-61
32
73
21
-64
-39
-13
-18
-40
-21
-40
5
12
1
0
0
-1
-76
102
-4
26
48
112
-12
6
-33
-6
-23
4
-6
-3
-3
0
0
17
21
64
74
-112
1
-1
15
-21
42
-53
9
5
2
-18
0
0
-7
-12
95
-68
188
99
79
61
-63
-4
-11
9
-8
-8
-6
0
0
-70
0
-61
189
75
0
0
0
-101
-18
48
30
-1
-4
0
0
0
-130
-40
22
36
-50
0
0
0
-66
-159
-73
5
-12
6
-1
0
0
-181
8
173
128
105
56
-18
73
-26
21
8
-5
2
0
0
0
0
-122
-255
117
136
10
-16
-61
-17
-8
-7
-1
1
0
-1
0
0
0
-338
-90
5
125
-82
-6
-105
-100
28
-41
4
-3
0
0
0
0
0
-1
-144
99
105
16
3
-46
23
-43
-69
3
-5
-2
0
0
0
0
-129
-58
30
171
23
102
-8
31
-50
-121
11
20
-5
1
1
0
0
-1
-33
151
-89
-160
59
18
27
-107
25
13
13
23
-2
0
0
0
-9
-44
-9
2
-4
-20
-10
0
0
0
0
0
0
0
0
-56
-25
-35
-75
20
-46
202
0
0
0
10
-17
-2
-2
0
0
0
-104
46
29
-37
-16
13
199
0
0
0
22
-23
-12
-2
1
0
0
-85
-49
-64
22
55
-45
94
87
102
-41
9
-26
-4
-2
0
0
0
-123
-115
-81
59
66
-31
-6
-7
-105
-62
-11
-3
-27
0
4
0
0
-62
-235
-111
-36
64
-49
9
10
-13
-19
67
5
9
6
0
0
0
-20
209
99
105
89
7
2
-1
76
49
-2
15
-3
1
6
0
0
-100
131
-79
141
85
-28
-105
-134
-65
69
22
-5
1
1
-3
0
0
24
58
133
-63
162
-7
-74
132
-44
-5
-4
0
0
1
0
0
0
0
-2
-2
6
29
1
-1
-1
-2
0
3
0
0
0
0
0
0
-55
-180
-136
-138
35
40
137
0
0
0
-31
-5
0
0
0
0
0
-169
-188
-414
31
75
-28
28
0
0
0
-33
-18
0
0
0
0
0
-55
15
-277
64
10
58
41
-22
40
81
44
2
0
0
0
0
0
-98
-138
-62
1
132
-49
-36
-141
10
191
-70
2
0
0
0
0
0
-22
-149
-191
70
90
-1
-12
-88
30
70
-55
-7
0
0
0
0
0
-33
-89
19
41
168
125
-23
34
-141
34
5
-6
0
0
0
0
0
-175
-52
-75
-153
87
29
-63
101
-113
-138
21
0
0
0
0
0
0
-4
9
-69
6
85
-9
69
-74
-103
-14
-1
0
0
0
0
0
0
-1
0
0
0
101
34
-75
5
-32
1
0
0
0
0
0
0
0
-25
0
-114
-27
86
19
115
0
0
0
54
-22
0
0
0
0
0
-26
-113
-121
25
50
80
243
0
0
0
28
-50
-2
-4
0
0
0
39
-95
-35
95
86
18
172
125
152
255
66
20
-1
10
0
0
0
-333
-251
-91
74
26
98
32
-115
-4
-121
49
9
0
1
0
0
0
-145
-221
-64
125
77
64
3
70
-15
-102
30
-2
4
0
0
0
0
-42
-13
-131
56
81
54
-16
-29
-30
-47
-107
-6
2
0
0
0
0
-71
-65
-70
123
58
-17
16
32
-22
-164
-98
-37
0
0
0
0
0
-1
86
-28
77
-50
14
-98
-37
-94
-89
-62
4
4
0
0
0
0
29
-5
0
-1
-21
6
-6
-16
-51
-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
37
17
-14
-78
-7
1
0
0
0
0
0
0
0
0
0
0
0
-35
-39
-53
-61
-82
0
0
0
0
0
0
0
0
0
0
0
0
58
43
71
4
8
-11
0
0
0
0
0
0
0
0
0
0
0
-2
-47
-18
-71
-10
0
0
0
0
0
0
0
0
0
0
0
0
-7
46
-20
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-68
22
48
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
3
-2
24
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
-44
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-52
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
75
-35
13
-4
-4
0
0
0
0
0
0
0
0
0
0
0
25
39
-87
47
-105
-1
10
0
0
0
0
0
0
0
0
0
0
38
-86
-58
-134
4
0
0
2
0
0
0
0
0
0
0
0
0
9
-69
-19
50
-24
0
0
0
-1
0
0
0
0
0
0
0
0
13
16
-51
-195
-58
-10
0
0
0
0
0
0
0
0
0
0
0
34
-58
-26
45
-86
0
0
0
0
0
0
0
0
0
0
0
0
-14
83
40
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
40
-85
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
33
32
-40
-5
0
0
0
0
0
0
0
0
0
0
0
18
9
20
47
-69
-4
0
0
0
0
0
0
0
0
0
0
0
-62
-21
27
-37
-20
-3
0
0
0
0
0
0
0
0
0
0
0
-5
-14
9
-99
-51
0
0
0
0
0
0
0
0
0
0
0
0
-8
-37
84
-32
-43
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
-65
-9
8
1
0
0
0
0
0
0
0
0
0
0
0
1
10
-144
-97
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
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
-1
7
22
28
-87
16
-6
0
0
0
0
0
0
0
0
0
0
3
-46
41
21
-132
-84
7
0
0
0
0
0
0
0
0
0
0
-17
-64
35
-7
-6
6
-1
-1
2
-1
0
0
0
0
0
0
0
-8
-4
-39
-153
-75
-43
-17
-9
-2
1
0
0
0
0
0
0
0
-11
38
35
50
-35
26
13
-5
2
0
0
0
0
0
0
0
0
1
0
-36
18
-94
-49
-4
-2
0
0
0
0
0
0
0
0
0
0
-116
57
-5
-33
2
4
7
1
0
0
0
0
0
0
0
0
-5
-126
-27
24
0
4
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
-14
1
2
-4
0
0
0
0
0
0
0
0
0
0
2
18
-13
-12
-14
-9
-2
0
0
0
0
0
0
0
0
0
0
3
8
-16
-22
-6
-6
-7
-2
1
0
0
0
0
0
0
0
0
4
-59
38
7
-7
-18
0
-1
0
2
0
0
0
0
0
0
0
-4
-42
32
34
5
-15
2
1
-9
-1
0
0
0
0
0
0
0
-12
-25
-9
23
1
2
-1
0
-1
0
0
0
0
0
0
0
0
-3
-3
-42
-23
-2
2
0
2
-2
-1
0
0
0
0
0
0
0
-1
-10
-23
2
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
-9
0
23
-55
-155
-138
-52
0
0
0
-7
-8
2
0
0
0
0
14
56
52
5
45
-110
-73
0
0
0
-145
9
-19
3
0
0
0
23
-2
24
24
-48
-122
-133
69
-78
-95
1
-19
5
-10
0
0
0
27
67
73
-72
62
-134
-88
-116
-116
-139
-35
-5
0
-1
-5
0
0
13
-7
-32
-12
-53
-7
-20
-92
1
-17
-4
1
-2
0
-1
2
0
-17
-13
-35
-45
-27
-1
21
68
-87
-27
28
0
-1
-3
0
0
0
0
11
34
-22
-41
-3
-40
-27
-77
-26
5
0
0
0
0
0
0
-10
13
75
8
54
19
-5
-70
-2
-7
0
0
0
0
0
0
0
12
-4
-1
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
-6
16
35
-18
-238
-65
0
0
0
15
21
5
44
19
-9
8
0
-7
-43
2
69
-160
-19
0
0
0
-36
-93
-43
-47
20
4
1
0
-31
-9
-71
81
-103
27
44
-130
-107
8
36
-36
-30
2
-9
-1
0
-47
1
13
-12
-100
-149
-241
-120
54
-18
67
11
-15
-14
1
0
0
-14
-31
-54
-34
-111
-95
58
-73
18
-28
-13
2
-5
-1
0
0
0
-1
16
-79
-124
70
-73
-32
15
-1
-7
85
11
-8
0
0
0
0
-2
-68
-59
5
46
-59
-25
-43
-42
29
-14
-20
14
-56
9
0
0
0
-49
-106
-167
76
3
-23
-2
-18
-52
-64
31
-25
22
3
7
0
0
-1
-15
-53
50
52
66
42
25
-16
8
-9
1
-49
-5
-10
0
0
2
13
2
-87
-118
0
0
0
-6
-47
-11
-21
-2
-1
0
0
0
-4
25
20
-31
-13
0
0
0
-45
-7
-19
-4
2
1
0
0
0
-94
-104
26
51
17
52
-53
-74
97
2
-18
-4
-5
0
0
0
0
-5
44
-10
3
-166
-67
-7
2
8
-88
-3
2
0
0
0
0
0
11
-113
-95
13
-48
7
-68
-30
100
18
-19
4
0
0
0
0
0
-49
-42
-76
1
8
-33
-7
-26
-30
20
-3
-1
-2
-8
0
0
0
-12
13
-38
-28
-72
-95
120
-24
-23
-18
26
-28
-4
0
-1
0
0
-3
-46
-146
-121
-72
48
22
-7
-41
18
14
-5
-18
2
0
0
0
-3
-78
-13
8
11
3
-1
-1
0
0
0
0
0
0
0
12
-133
-51
-167
-119
-1
-91
0
0
0
-3
-1
5
0
0
0
0
-45
-3
115
45
-39
-202
-108
0
0
0
-17
31
-4
3
0
0
0
-2
26
-9
45
-142
-23
-145
-104
-37
-87
-2
4
-14
2
-3
0
0
-42
3
119
96
40
-187
-60
-57
-121
-15
-36
-50
-3
0
-6
0
0
-35
75
49
14
93
-131
-119
-83
-39
-61
14
-4
3
-4
0
0
0
15
-27
14
51
-25
-7
-104
-80
-54
42
-43
0
-1
0
0
0
0
10
-13
114
-12
-23
-23
-150
-18
-10
-54
3
0
3
0
0
0
0
-2
-33
-53
55
10
17
-115
-52
-12
-15
3
0
0
0
0
0
0
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
55
-16
16
-40
25
-8
-18
0
0
0
-4
0
0
0
0
0
0
-1
-112
-78
-23
13
-78
-92
0
0
0
-44
0
0
0
0
0
0
-1
32
-64
-83
60
-57
-94
-22
-93
-57
-3
0
0
0
0
0
0
17
-66
-129
-40
77
-29
-102
175
-8
-51
-35
0
0
0
0
0
0
4
2
21
-25
-42
-35
-68
14
-6
-129
2
4
0
0
0
0
0
-12
4
10
20
-48
36
-8
-16
-24
-251
-3
0
0
0
0
0
0
0
-7
-4
-29
-29
38
-114
-127
-242
28
0
0
0
0
0
0
0
0
4
1
-26
0
59
-66
-20
3
-6
0
-1
0
0
0
0
0
0
0
0
0
5
0
2
-1
-2
0
0
0
0
0
0
0
0
0
0
1
61
3
-56
14
0
0
0
0
-1
0
0
0
0
0
-3
1
-7
21
158
55
-34
0
0
0
-6
-26
0
0
0
0
0
3
-21
-4
-62
-200
73
-34
-43
-116
-39
-41
-4
0
0
0
0
0
1
-3
0
-62
25
-146
-92
-31
-37
-145
-21
4
0
0
0
0
0
0
-23
-8
-127
8
187
-22
-155
-30
-32
17
-7
0
0
0
0
0
0
2
4
70
-22
-63
-63
27
-126
-152
-41
-1
0
0
0
0
0
0
1
0
13
-186
-77
-80
-36
-35
15
-10
-5
0
0
0
0
0
0
-5
-1
-13
19
-15
-30
-89
39
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
62
0
0
0
0
0
0
0
0
0
0
-23
55
14
106
0
0
115
3
0
0
0
0
0
0
0
0
-14
2
34
41
104
8
56
-67
0
0
0
0
0
0
0
0
0
0
0
63
38
-38
173
89
41
2
0
0
0
0
0
0
0
0
0
0
-6
-15
46
7
34
8
0
0
0
0
0
0
0
0
0
9
-6
8
-25
7
55
7
-23
0
0
0
0
0
0
0
0
0
-1
3
10
-40
-66
-5
79
-28
0
0
0
0
0
0
0
0
0
0
0
3
-2
60
18
-105
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-40
5
0
0
0
0
0
0
0
0
3
2
1
67
66
0
0
0
-57
0
0
0
0
0
0
0
0
-2
2
53
37
44
77
0
0
134
11
0
0
0
0
0
0
0
2
5
47
-16
42
4
9
99
42
-3
0
0
0
0
0
0
0
0
23
28
71
119
53
92
81
-56
-18
0
0
0
0
0
0
0
-9
-10
0
61
-16
12
-24
-34
39
-5
0
0
0
0
0
0
0
-7
0
2
-10
-61
9
55
51
63
-5
0
0
0
0
0
0
0
0
-1
-4
-4
-106
43
-15
13
-37
-5
0
0
0
0
0
0
0
0
1
0
0
-5
-39
16
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-3
-1
0
0
0
0
0
0
0
0
0
0
3
6
70
0
0
0
35
-46
0
0
0
0
0
0
0
0
0
16
-20
14
75
0
0
115
2
0
0
0
0
0
0
0
0
0
0
20
67
162
40
14
-13
14
0
0
0
0
0
0
0
0
0
-4
31
28
16
91
63
82
-28
-3
0
0
0
0
0
0
0
5
8
11
4
29
30
82
-29
-128
4
0
0
0
0
0
0
0
6
11
-2
-1
-10
35
9
-113
-5
-8
0
0
0
0
0
0
0
-6
7
9
-27
98
-13
99
46
20
0
0
0
0
0
0
0
0
0
0
0
-6
130
77
5
49
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
176
90
41
3
-30
0
0
0
0
0
7
15
-20
34
0
0
0
117
32
2
21
-58
122
-26
0
0
0
2
-6
-33
31
43
40
66
71
-9
27
31
17
-52
62
0
0
0
12
-15
36
-29
155
55
21
-2
18
-21
-24
-15
65
3
0
0
-16
-6
-13
30
133
57
190
99
55
113
-46
-56
-77
56
0
0
0
0
-4
-6
-26
0
12
139
59
1
-62
-15
-106
39
79
-1
0
0
0
0
5
-15
-19
86
-90
19
11
-112
59
-12
-17
-23
0
0
0
0
0
0
-8
-35
-30
17
-51
39
-75
-9
45
-75
0
0
0
0
0
0
0
0
0
-2
16
7
-5
-1
3
27
-44
67
0
0
0
0
0
12
44
77
0
0
0
191
54
60
-2
-59
28
0
0
0
10
2
7
77
57
0
0
0
77
70
-5
-16
32
92
3
0
0
0
-4
7
58
-95
31
-67
113
61
76
-27
-178
65
-103
-9
0
0
-8
1
-2
37
27
45
-27
30
-45
-34
-56
29
-50
127
10
0
0
0
-2
0
-7
9
71
-26
-81
33
19
102
-23
104
-15
-9
0
0
0
3
0
0
53
-25
-101
-38
-66
-39
-53
-31
-114
38
0
0
0
0
0
-3
-1
23
62
-90
-47
-1
-91
-67
61
9
7
0
0
0
0
0
0
-4
7
122
-59
25
32
-7
-10
-23
0
0
0
0
0
0
0
0
0
9
0
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
173
0
0
0
79
77
-2
34
-23
-38
-68
0
0
2
1
69
162
109
30
0
0
128
62
65
9
-27
-37
21
0
3
-2
4
-16
-45
109
128
79
124
109
65
4
14
3
-28
-47
0
0
-4
-14
-2
-39
30
178
9
91
113
80
57
5
29
-15
40
0
0
0
9
-42
40
33
-5
-71
-44
65
85
26
24
-9
1
-100
0
0
0
0
-4
-37
104
58
-16
-99
21
-22
33
8
-16
1
-48
0
0
0
-33
-26
8
-49
93
-111
61
-33
10
27
81
7
-76
36
0
0
0
7
21
-17
26
14
-104
72
75
-89
32
-60
30
8
6
0
0
0
0
0
-1
0
8
2
-2
3
-17
2
-3
62
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
0
0
49
-62
-74
26
-5
65
58
0
0
0
0
24
-2
-6
-54
107
66
24
26
3
-28
5
-4
-13
0
0
0
0
0
-4
-6
90
20
89
50
56
6
-6
28
-17
-17
0
0
0
0
-1
-20
-7
29
-40
27
66
55
62
-24
-9
11
28
0
0
1
0
-17
7
-25
70
58
64
-2
38
108
35
23
-18
24
0
0
0
15
0
-2
21
-20
-80
41
23
12
48
7
-37
36
-10
0
0
0
-4
0
-5
75
37
-29
71
25
68
97
27
-14
78
40
0
0
0
0
0
0
-79
17
-53
-117
-18
92
-14
70
49
42
5
0
0
0
0
0
0
0
9
-10
48
-58
60
24
86
84
50
42
0
0
0
0
3
-70
3
-24
0
55
58
28
-47
-8
6
10
33
0
0
0
-3
-9
122
-53
-134
-98
55
0
21
12
7
12
11
24
0
0
0
0
-5
-34
-99
62
27
34
7
29
-39
11
16
-5
-23
0
0
0
0
-38
7
45
56
132
-20
-7
0
31
37
44
-6
47
0
0
0
0
14
-63
-4
12
5
-25
47
23
18
-4
32
86
49
0
0
0
6
16
30
-15
-67
-24
72
7
55
75
7
60
31
57
0
0
0
0
-2
-22
-96
-57
-147
21
-16
68
27
48
24
8
-10
0
0
0
0
26
0
50
-11
-5
53
45
-13
27
29
-35
0
51
0
0
0
0
0
4
-10
9
-37
0
73
-40
140
-85
-19
-19
0
0
0
0
-16
12
37
-81
132
0
0
135
68
7
4
-21
-8
-113
0
0
1
7
8
36
-53
0
7
0
58
46
6
20
-3
-31
10
0
0
5
-4
-3
92
92
107
113
121
17
108
22
9
28
-34
-71
0
0
10
3
25
-25
-8
-9
32
99
52
81
28
17
16
-29
-75
0
0
0
-9
-25
-95
8
44
50
38
96
33
38
-12
-5
6
12
0
0
0
8
-25
-29
112
-53
49
25
21
31
-24
-5
29
26
119
0
-1
0
0
24
-44
-62
17
10
41
7
71
33
27
9
58
9
0
0
0
0
-2
69
75
4
14
-43
17
-33
30
-39
54
136
-2
0
0
0
0
0
1
21
0
-2
-22
84
7
-4
110
84
10
0
0
0
0
0
4
25
-42
75
0
82
173
156
91
79
87
-1
57
0
0
0
-1
-5
15
45
0
-1
0
62
107
58
35
38
60
-14
0
0
0
-1
-1
7
-50
27
107
78
34
57
29
37
40
81
30
0
0
0
0
1
-7
-83
-17
-4
134
67
-42
54
68
18
81
113
0
0
0
0
3
-5
-10
76
-86
23
9
-84
-88
10
20
-34
29
0
0
0
3
0
0
-27
-122
-97
-77
17
-76
-4
-86
5
37
-68
0
0
0
0
0
0
-7
-22
-94
-216
52
-43
-3
-21
-47
5
3
0
0
0
0
0
-22
0
2
3
-12
8
10
23
10
-44
110
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-33
-26
11
0
0
0
0
0
-1
-12
62
0
0
0
237
208
39
-16
0
1
15
0
0
0
0
0
-3
101
50
0
128
121
142
120
40
-18
13
33
0
0
0
0
0
0
-17
226
51
116
75
40
75
67
63
80
-62
0
0
0
0
0
0
15
-25
-34
-64
71
14
-55
39
62
18
104
0
0
0
0
0
0
-13
-72
-102
-57
-48
-80
-77
5
3
98
58
0
0
0
0
0
-4
10
-31
-279
-41
22
-48
-9
51
9
183
-13
0
0
0
0
0
0
-1
-97
-239
-55
-112
15
30
57
-70
-4
155
0
0
0
0
0
0
0
0
-23
7
76
50
-136
-144
52
-132
8
0
0
0
0
0
0
0
0
0
0
0
3
5
55
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
-63
0
0
0
0
0
0
0
0
-1
-5
-13
1
122
-15
0
0
-114
-18
0
0
0
0
0
0
0
-3
-16
0
-51
-22
-140
-70
-116
-170
5
0
0
0
0
0
0
0
-1
0
2
4
-10
169
23
-57
107
11
0
0
0
0
0
0
0
0
0
0
0
17
26
-8
-76
20
0
0
0
0
0
0
0
0
6
-15
0
2
-8
20
-82
-7
-72
-17
0
0
0
0
0
0
0
-1
-2
1
-9
19
28
53
8
22
1
0
0
0
0
0
0
0
0
0
0
0
8
62
133
-127
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
54
13
0
0
0
0
0
0
0
0
-5
-5
-21
-2
21
0
0
0
-233
0
0
0
0
0
0
0
0
-6
-28
50
-14
-16
40
0
0
-54
27
0
0
0
0
0
0
0
0
-1
-22
-18
20
-100
4
-61
-132
29
3
0
0
0
0
0
-3
2
13
-44
19
-105
78
28
25
-11
21
0
0
0
0
0
0
0
12
14
28
1
-7
57
41
-6
-33
-59
0
0
0
0
0
0
0
13
-3
-4
-33
-6
68
93
-50
-81
3
0
0
0
0
0
0
0
4
13
5
7
11
-11
49
-30
33
14
0
0
0
0
0
0
0
0
-6
0
3
40
54
42
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
12
2
1
-4
12
0
0
0
0
0
0
0
0
0
0
10
0
83
0
0
0
-69
-10
0
0
0
0
0
0
0
0
0
-26
57
-33
42
0
0
-78
53
0
0
0
0
0
0
0
0
0
13
-20
-14
-57
-59
-38
7
-86
2
0
0
0
0
0
0
0
0
40
-53
33
73
-44
58
-40
-70
-2
0
0
0
0
0
0
0
2
1
-29
30
165
-16
9
61
-105
3
0
0
0
0
0
0
0
3
-20
0
-46
43
97
-153
-74
-69
-1
0
0
0
0
0
0
0
-4
-5
10
-2
-70
43
-46
-47
-63
0
0
0
0
0
0
0
0
-3
-9
-5
2
-77
44
-70
19
-3
0
0
0
0
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
96
0
0
0
-33
53
34
24
-40
-113
-3
0
0
0
-6
31
48
-17
0
0
0
-79
-106
-43
-3
16
-69
16
0
0
0
-2
0
56
17
-88
-29
-13
1
-85
-208
-72
3
-6
-15
0
0
0
0
9
-20
-55
-25
-19
-87
-41
-118
-87
1
-70
-81
0
0
0
0
0
-7
8
36
47
9
59
-30
-40
-148
-45
-46
8
0
0
0
0
0
5
-3
8
-140
53
-29
-125
2
-27
-193
-59
9
0
0
-1
0
-1
0
10
-14
-54
129
144
-21
-97
40
-38
-9
-15
0
0
0
0
0
0
4
-1
-12
38
177
0
14
-8
0
1
0
0
0
0
0
0
0
0
0
-2
29
3
1
-1
-19
-3
1
-24
0
0
0
0
0
0
-19
-23
0
0
0
-38
5
-13
1
-6
-10
0
0
0
0
0
19
-19
73
0
0
0
61
-53
-3
5
-20
-2
0
0
0
0
0
0
55
-76
-45
-99
-40
-58
-1
53
-34
65
7
0
0
0
0
0
0
-7
-33
33
-214
21
-111
70
61
10
-90
-4
0
0
0
0
-1
0
0
13
-128
23
-197
-49
-35
-64
-133
-52
5
0
0
0
0
0
0
0
1
-135
-8
-112
-65
-7
-40
-81
-14
-5
10
0
0
0
-5
4
0
2
23
12
11
15
-7
5
1
-2
0
0
0
0
0
0
0
0
-2
54
9
27
3
-4
1
0
-3
0
0
0
0
0
0
0
0
9
0
-5
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
5
-8
19
-14
121
0
0
0
-87
-22
4
-71
-36
-65
3
0
0
-5
12
29
74
51
35
0
0
-36
-35
-14
-40
-53
-59
-31
0
0
-2
2
-14
23
242
6
27
43
19
77
-9
-38
-58
-38
-85
0
0
-8
-4
33
27
63
82
26
93
141
14
0
-53
-28
-48
-42
0
0
0
4
140
93
145
160
119
90
72
25
7
-51
-58
-74
-96
0
0
0
11
42
72
-30
0
50
130
19
41
-12
-53
-41
-95
-80
0
0
0
122
37
4
7
14
141
177
5
-32
7
-22
-17
-44
-26
0
0
0
0
10
38
47
0
113
31
7
3
-76
-91
-130
-64
0
0
0
0
0
0
0
0
-27
-39
-2
4
12
-2
-34
-6
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
37
-83
-85
-24
-39
-19
-50
0
0
0
3
2
1
0
33
-14
40
-51
-67
-85
-100
-69
-66
-56
0
0
0
0
7
2
27
112
50
11
8
13
-53
-65
-37
-57
-60
0
0
0
0
0
-4
-53
-29
7
35
60
35
13
-14
48
-40
-31
0
0
5
0
8
-3
-12
63
-8
56
115
-9
12
78
-17
26
-49
0
0
-8
-1
4
23
63
-10
130
-54
54
83
125
-11
-6
-22
-79
0
0
0
3
-7
-11
11
9
-122
61
-11
78
-21
-62
-22
-68
-15
0
0
0
-2
0
3
7
5
46
70
-8
99
8
-20
-39
-14
-117
0
0
0
0
10
0
0
1
58
-11
10
47
-13
6
-94
-120
-77
0
0
0
0
0
0
-22
-30
0
-30
-13
-59
-103
-44
-18
-53
-54
0
0
0
7
5
-56
-22
88
-50
11
0
-61
-50
-59
-37
-39
-36
0
0
0
0
11
9
49
-22
16
66
-12
-51
-81
-68
-67
-94
-49
0
0
0
0
-17
29
-22
-16
-19
0
54
-24
3
-12
-41
-47
-48
0
0
0
0
-17
129
28
-88
71
7
62
23
54
-20
-29
-67
-22
0
0
0
0
30
-20
37
-1
44
58
39
21
-1
0
-15
-26
-40
0
0
0
3
11
-1
59
52
80
57
44
4
5
-17
-31
-59
43
0
0
0
5
-8
4
5
8
-71
-65
-39
100
-3
34
-10
-57
-39
0
0
0
0
0
5
22
11
31
-44
-12
21
-86
-33
1
-1
0
0
0
0
11
-12
-14
43
49
0
0
-86
21
-44
-15
-37
-22
-116
0
0
0
-8
44
222
9
0
58
0
-14
5
-23
-10
-37
-40
-1
0
0
1
-11
-1
-117
6
64
58
35
-20
56
1
-23
-30
-73
-75
0
0
1
-6
-13
61
80
-5
75
90
40
46
25
-10
-44
-56
-110
0
0
0
44
-5
69
-37
128
69
69
30
-12
-4
-15
-27
-25
-105
0
0
0
3
139
26
114
65
56
32
13
-4
-30
-15
-22
-31
-26
0
1
0
6
-46
96
19
52
55
24
-12
-11
-24
9
-13
2
2
0
0
-3
0
6
47
-74
-2
-36
-74
66
63
-78
65
-21
44
-13
0
0
0
0
0
1
-15
9
7
11
12
-19
-11
92
-98
-4
0
0
0
0
0
1
1
117
-37
0
12
26
-9
43
55
-30
-65
-31
0
0
0
0
3
-51
68
0
37
0
-16
-72
-4
13
34
60
-2
0
0
0
-2
-10
-6
-165
-33
19
0
-8
-37
16
52
29
50
15
0
0
0
0
-1
-27
-36
-30
-68
-112
-16
-74
-52
-44
-81
57
-91
0
0
0
0
0
0
-27
-72
-129
-69
-126
-38
-81
-53
-24
131
12
0
0
0
0
0
0
-8
-58
31
-28
-59
-132
-18
-111
12
-77
-2
0
0
0
3
0
1
-3
85
-52
-57
47
59
-62
-69
-97
-98
-51
0
0
0
0
0
-11
0
-14
8
-21
-77
-79
-53
-19
73
-145
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
-59
25
26
0
0
0
0
0
2
-2
-19
0
0
0
-15
42
-9
-69
-162
-80
-104
0
0
0
0
0
-1
-41
74
0
50
-103
-8
-49
-70
-38
-114
-100
0
0
0
0
0
0
-12
-49
88
44
-71
45
-1
-72
-68
-16
-99
0
0
0
0
4
0
8
-145
-371
-17
-5
106
-122
-17
-25
-19
78
0
0
0
0
0
6
-9
-113
-145
-71
-45
-46
31
-30
-30
-10
-39
0
0
0
0
0
0
1
-86
-240
84
-4
49
8
-39
50
-17
39
0
0
0
0
0
0
0
-33
-127
-116
-17
84
-3
-19
-5
32
-49
0
0
0
0
0
0
0
-2
-32
6
14
-3
57
12
13
4
-9
0
0
0
0
0
0
0
0
2
0
0
0
4
102
-4
-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
4
2
83
0
0
0
48
7
0
0
0
0
0
0
0
0
7
11
46
92
79
0
0
91
0
0
0
0
0
0
0
0
0
0
2
110
-1
97
-39
-26
26
-4
0
0
0
0
0
0
0
0
0
-7
11
16
-20
88
4
100
3
0
0
0
0
0
0
0
0
0
4
12
32
-66
-20
102
117
-10
0
0
0
0
0
0
0
-1
0
0
-7
25
30
5
40
-31
0
0
0
0
0
0
0
0
0
0
-1
-3
-49
128
33
-20
20
1
0
0
0
0
0
0
0
0
0
0
2
-2
-69
92
16
-11
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-14
9
-16
0
0
0
0
0
0
0
0
0
-6
-6
47
38
0
0
0
-5
15
0
0
0
0
0
0
0
-2
3
17
-25
0
56
0
0
-152
10
0
0
0
0
0
0
0
0
2
0
48
78
48
75
32
37
-37
0
0
0
0
0
0
0
0
1
16
28
42
90
-74
-28
55
29
0
0
0
0
0
0
0
0
6
0
-6
-16
96
-51
51
-10
-24
0
0
0
0
0
0
0
0
0
2
-4
-13
36
108
142
-29
0
0
0
0
0
0
0
0
0
0
-1
-8
27
44
41
106
104
0
0
0
0
0
0
0
0
0
0
0
0
-26
62
-34
83
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
3
43
-35
-19
0
0
0
0
0
0
0
0
0
-3
-10
18
-18
0
0
0
158
5
0
0
0
0
0
0
0
0
-3
2
53
78
69
0
0
77
-104
0
0
0
0
0
0
0
0
7
-2
-4
-4
78
59
-90
11
115
1
0
0
0
0
0
0
0
0
0
13
9
99
6
-88
-68
-73
0
0
0
0
0
0
0
0
0
-3
-3
8
-30
15
-89
2
62
0
0
0
0
0
0
0
0
2
0
5
-11
85
-90
161
147
-18
0
0
0
0
0
0
0
0
0
0
-1
10
-23
-28
69
44
17
0
0
0
0
0
0
0
0
0
0
2
-1
-20
33
36
79
2
0
0
0
0
0
0
0
0
0
0
0
-2
16
6
2
0
0
0
0
0
0
0
0
0
0
0
4
8
-85
0
0
0
203
-63
37
4
19
100
-3
0
0
0
22
-10
9
-81
0
0
0
108
62
-138
-63
50
27
1
0
0
0
5
3
65
-60
103
-19
74
-70
37
-52
-43
4
150
-5
0
1
4
-1
-6
-2
-103
-66
58
14
-13
-64
-42
-92
190
-64
0
0
0
7
-10
-4
26
-49
113
44
58
41
-42
-141
-38
69
45
9
0
0
0
0
-4
-10
36
126
95
65
170
-5
7
-14
66
-3
5
0
0
0
0
0
29
35
46
34
88
14
-57
118
78
-43
13
0
0
0
0
0
-4
-4
63
43
70
37
-30
87
-75
-10
38
16
0
0
0
0
0
0
0
1
3
27
-4
74
3
0
0
5
2
0
0
0
19
3
36
-127
2
0
0
0
70
-85
-13
54
18
-22
-2
0
-3
0
26
67
23
-7
0
0
0
262
-95
-46
-31
39
47
8
0
0
-1
6
-9
101
-36
89
55
120
87
-53
-10
34
-65
-115
14
0
0
0
15
19
29
18
0
-96
-47
-27
-46
-26
42
86
-44
14
0
0
0
0
8
-5
111
-18
-63
38
-54
67
119
-2
94
148
3
0
0
-1
6
1
-2
-68
89
-138
122
31
53
74
95
-43
33
-1
0
0
0
7
-11
-4
76
-27
-30
46
-60
-34
-37
-13
67
86
-10
0
0
0
0
-7
26
-18
-115
-10
45
78
9
65
13
-24
-84
9
0
0
0
0
0
16
2
14
-256
75
-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
-4
0
17
15
-94
0
0
0
90
39
8
29
18
-55
-28
0
0
0
3
-13
-64
98
-22
0
0
13
-40
9
-17
39
-5
-7
0
0
-7
-1
-10
6
107
49
23
-24
-31
-1
11
6
22
31
15
0
0
0
1
-1
37
11
92
29
98
-6
-12
49
-16
25
42
77
0
0
0
1
-5
-10
35
83
130
-21
-1
15
-34
-8
-7
-5
-105
0
0
0
0
-13
20
-105
47
38
164
34
-44
-30
35
8
-30
38
0
0
0
0
1
-24
-24
41
26
-65
-14
-16
-52
-55
-1
-34
99
0
0
0
2
-1
-2
5
52
216
-70
14
-1
-51
103
101
83
3
0
0
0
0
0
-8
-2
-2
-5
47
22
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
0
0
-167
-74
-132
-75
-12
22
1
0
0
0
0
-4
-1
-20
46
-19
-31
-41
-25
-144
-69
-8
15
1
0
0
0
0
-2
-2
0
19
-91
9
-81
-87
-44
-33
10
13
47
0
0
0
0
11
-3
-42
-20
-8
-145
-43
-31
-9
-32
3
44
26
0
0
0
0
0
-3
-6
64
-83
-131
-66
-119
57
26
-11
45
13
0
0
0
0
0
0
-29
31
-134
6
-96
-14
-95
51
36
73
16
0
0
0
0
0
0
-2
-41
-7
-24
-37
65
13
4
52
44
50
0
0
0
0
0
0
-2
-14
13
45
-62
4
123
45
64
41
7
0
0
0
0
-2
-2
-2
-3
-143
-24
-14
-78
-38
-29
28
41
20
0
0
0
0
-1
-9
28
4
0
-5
19
-15
-104
9
39
14
38
0
0
0
1
-57
-32
-42
-80
97
4
0
-38
-44
-13
-14
55
17
0
0
0
0
35
-5
15
-51
-19
-53
-18
-102
1
42
-4
-30
61
0
0
0
0
-4
19
-3
-41
56
-68
-45
-25
18
68
13
18
50
0
0
0
0
0
-12
-14
-31
-8
100
-63
-35
68
40
2
61
88
0
0
0
0
-8
-3
-3
-17
-37
17
5
31
-9
13
66
32
38
0
0
0
0
2
27
4
-9
-5
-31
72
14
100
82
19
10
24
0
0
0
0
2
-3
3
1
-27
-93
-137
-109
-70
91
29
-18
32
0
0
0
0
0
0
2
0
-22
-10
-39
14
60
80
17
-12
-1
0
0
0
-4
2
-71
-57
6
0
0
141
-22
-13
-23
11
-29
51
0
-2
-2
-6
-27
4
-48
0
-39
0
60
48
6
67
26
-48
-23
0
0
-4
-2
55
71
-54
30
90
47
27
96
9
48
76
34
31
0
0
-1
6
1
53
-30
27
69
86
11
62
48
51
32
-71
-85
0
0
0
0
8
81
95
31
-18
49
92
-48
3
37
83
-28
-231
0
0
0
0
0
1
-85
-25
37
31
84
51
-19
68
-29
-24
166
0
0
0
0
-7
15
-16
-195
3
-12
-32
-8
-25
40
19
-111
10
0
0
0
0
1
-4
-5
-123
-205
0
29
74
3
68
-63
-88
74
0
0
0
0
0
0
0
0
0
-20
-4
-23
0
18
14
-5
0
0
0
0
0
0
3
75
21
0
27
73
180
43
71
52
129
-14
0
0
0
0
-7
33
50
0
-62
0
-4
29
-23
34
85
56
33
0
0
0
-4
14
-30
-44
79
98
81
-45
-30
42
28
-119
-15
-136
0
0
0
-3
-2
31
-116
49
91
113
46
-46
31
26
116
41
34
0
0
0
1
0
23
-130
15
-5
82
4
-21
-77
-11
66
54
-159
0
0
0
-3
0
1
-4
-30
-1
-67
-22
-123
-22
-113
-27
-3
72
0
0
0
1
0
0
9
-55
-52
-21
-45
-29
-47
1
-46
-79
-70
0
0
0
0
0
0
0
4
-27
0
-23
91
88
14
103
2
-1
0
0
0
0
0
0
0
0
0
-2
0
-3
83
9
49
-11
3
0
0
0
0
-3
68
26
0
0
0
41
90
-11
-54
-80
-53
11
0
0
0
1
1
105
173
-30
0
-18
105
71
36
-14
-19
-36
-120
0
0
0
0
0
-5
69
152
130
101
95
-20
-29
23
33
1
-27
0
0
0
0
0
-9
-38
-38
-37
23
19
-37
-17
-35
54
44
24
0
0
0
0
0
10
-10
-6
-224
-78
-104
-84
23
84
106
37
-43
0
0
0
0
0
3
-2
-35
-160
-165
29
-118
14
-36
54
116
64
0
0
0
0
0
0
-2
-91
-37
-131
8
1
60
-14
-2
131
-17
0
0
0
0
0
0
0
-3
-87
-64
-7
149
-39
56
-58
66
26
0
0
0
0
0
0
0
0
-2
0
-7
10
2
-12
59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-30
0
0
0
0
0
0
0
0
0
3
-2
-12
-19
15
0
0
35
0
0
0
0
0
0
0
0
0
0
-27
-47
35
-29
17
-169
-151
-16
0
0
0
0
0
0
0
0
-1
2
-13
8
-117
-19
-31
-19
12
0
0
0
0
0
0
0
0
0
0
5
5
66
52
67
-9
1
0
0
0
0
0
0
0
0
0
0
4
-17
-6
113
101
-50
0
0
0
0
0
0
0
0
0
0
0
1
40
-69
-117
49
-8
0
0
0
0
0
0
0
0
0
0
0
-5
-67
79
25
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-15
15
-25
-5
-9
0
0
0
0
0
0
0
0
0
-9
2
38
-26
0
0
0
-31
0
0
0
0
0
0
0
0
-2
-1
-3
102
73
-9
0
0
-100
-9
0
0
0
0
0
0
0
0
0
3
11
80
-18
-18
-50
-108
49
0
0
0
0
0
0
0
0
0
-22
14
4
-44
-27
47
-12
55
0
0
0
0
0
0
0
0
0
0
8
10
54
4
20
61
-35
0
0
0
0
0
0
0
0
0
0
-11
30
-56
-113
-52
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-31
9
-40
21
-101
-2
0
0
0
0
0
0
0
0
0
0
4
29
-134
17
-109
4
0
0
0
0
0
0
0
0
0
0
0
0
-98
43
-9
-6
-38
0
0
0
0
0
0
0
0
0
-4
0
3
-5
0
0
0
43
-31
0
0
0
0
0
0
0
0
0
2
11
70
-49
0
0
-125
-39
0
0
0
0
0
0
0
0
-5
0
-1
32
91
-36
45
-73
-11
-1
0
0
0
0
0
0
0
0
0
-3
-23
49
-11
-34
-135
-54
0
0
0
0
0
0
0
0
0
2
1
-1
-38
13
59
42
-72
0
0
0
0
0
0
0
0
0
1
-1
-28
0
-45
-84
143
-28
0
0
0
0
0
0
0
0
0
0
6
38
99
14
3
-9
-4
0
0
0
0
0
0
0
0
0
0
7
4
49
-18
-42
-60
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
53
14
18
-41
5
-10
0
0
0
0
0
-1
-3
-6
0
0
0
55
-15
-39
35
-18
0
0
0
0
0
0
-6
2
-28
5
-35
-81
-85
-108
-94
-31
-42
-1
0
0
0
0
0
8
-7
13
-73
-2
86
-104
21
-21
-45
-23
-3
0
0
0
0
0
0
0
-2
-6
-91
31
-59
-55
-82
-49
-11
1
0
0
0
0
0
0
1
-8
26
34
11
81
3
-68
0
0
4
0
0
0
0
0
-6
-1
2
-65
49
39
-31
22
5
1
-1
0
0
0
0
0
0
0
-5
4
-1
89
48
-12
1
0
1
0
-8
0
0
0
0
0
0
0
16
12
20
-13
8
0
0
0
0
0
0
0
0
0
0
0
7
-118
0
0
0
81
9
-12
0
0
-5
0
0
0
0
-2
0
1
-76
0
0
0
17
-58
-18
6
5
14
0
0
0
0
0
0
-9
12
-97
-82
140
-65
-91
18
10
10
-4
0
0
0
0
0
0
4
37
49
-79
44
-62
-3
-59
3
2
4
0
0
0
0
0
-2
17
-7
-125
-35
-41
0
44
-68
-18
-28
-10
0
0
0
0
-1
0
0
-8
40
-33
10
-24
-9
3
3
-7
-7
0
0
0
0
0
0
0
-5
3
-112
-31
-22
5
-16
2
-52
4
0
0
0
0
0
0
0
3
80
-173
3
1
-5
-1
0
0
-5
0
0
0
0
0
0
1
-4
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
5
-18
-58
0
0
0
-67
-100
-155
8
-62
-92
-51
0
0
0
2
-46
-19
17
-8
0
0
-214
-38
-149
49
-42
-31
-21
0
0
9
0
-2
-3
35
130
72
-181
-77
-51
-82
-66
-120
-107
-86
0
0
0
0
0
49
21
168
69
-97
-22
-159
51
-90
-44
-55
-34
0
0
0
0
-1
-46
58
-10
81
86
113
-52
-64
-84
-48
-54
133
0
0
0
0
-8
-3
19
-72
-35
28
-39
37
-121
-47
-31
-130
59
0
0
0
-2
0
3
40
-103
57
-98
59
-122
-39
44
-78
-97
-23
0
0
0
-2
0
0
-54
31
-151
-16
39
44
-76
-159
-121
-68
-11
0
0
0
0
-2
16
0
-9
-21
-64
-100
-5
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
-13
9
0
0
-126
-81
-138
-77
19
-5
30
0
0
0
0
10
1
10
-21
-7
20
-69
-67
-27
-97
-16
-36
-54
0
0
0
0
0
-1
-15
-29
-78
50
-28
-83
22
-16
-63
-16
-33
0
0
0
0
4
-2
-2
-9
-24
58
-7
-10
40
-21
-26
2
-33
0
0
0
0
0
-7
1
-77
29
42
51
8
67
50
-2
-15
21
0
0
0
0
0
0
-5
-88
40
-12
44
-3
-28
47
62
-1
-16
0
0
0
0
0
6
1
-1
-165
12
61
-91
14
24
9
-35
26
0
0
0
0
0
-1
-5
49
-93
-60
-59
-58
109
14
-17
-26
1
0
0
0
0
1
0
0
-5
-78
29
62
-13
-49
13
4
19
7
0
0
0
0
0
-2
-19
19
0
-4
-57
-114
-151
-96
59
-38
31
0
0
0
3
5
9
-15
20
-84
16
0
-135
-86
-55
-37
7
-43
0
0
0
0
5
-3
-21
-22
53
29
-54
-90
-68
-46
-98
-41
-34
0
0
0
0
9
-15
30
41
57
16
-56
-42
26
-3
30
-49
-21
0
0
0
0
0
0
-7
28
-33
51
-13
-8
-23
21
0
2
-74
0
0
0
0
0
0
13
-53
-31
-14
90
-21
-15
-32
30
-19
-8
0
0
0
0
0
-24
1
-17
36
52
15
66
47
23
-8
-24
-14
0
0
0
0
-12
0
-5
0
-64
-4
-8
39
-72
-65
60
-21
-14
0
0
0
0
0
0
1
0
35
-16
-33
-28
-75
-43
-76
-4
-1
0
0
0
0
-4
51
60
-97
0
0
-134
-75
-104
19
-3
1
-55
0
0
0
1
-41
8
-76
0
47
0
-107
-125
-45
-55
-70
-119
-66
0
0
0
2
3
-199
96
-24
2
-75
-78
63
-70
-17
-44
-40
-82
0
0
0
0
-2
7
-186
3
-5
-24
16
-117
-48
-60
-76
-118
153
0
0
0
0
-3
-1
-26
9
5
15
-43
10
-95
-60
-68
46
-20
0
0
0
0
-11
-2
33
110
-181
-24
39
-18
-47
-55
-47
-108
-140
0
0
0
0
18
-4
-30
-9
29
55
8
-58
-41
-20
-120
-60
-159
0
0
0
0
0
2
9
21
45
62
-23
59
21
-68
-32
56
-47
0
0
0
0
0
0
0
0
36
-25
-79
2
4
0
8
-3
0
0
0
0
0
0
0
14
39
0
-73
-82
-25
-69
-13
-66
38
-30
0
0
0
0
0
18
-14
0
19
0
19
39
28
-133
-93
-85
-74
0
0
0
0
-1
6
-157
73
92
-52
-94
-34
-57
54
-148
-158
-19
0
0
0
0
4
1
-3
-144
-69
36
86
-67
-53
-163
-21
11
33
0
0
0
0
0
-3
1
-33
-1
-2
-84
-147
-71
49
-119
-122
26
0
0
0
0
0
-1
3
-157
-36
50
47
20
-27
-58
-21
82
-64
0
0
0
0
0
0
2
-6
-25
-33
91
-15
-31
20
-190
-37
-79
0
0
0
0
0
0
0
-2
-1
22
26
64
16
-28
-36
-102
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
3
1
3
0
0
0
0
0
1
7
0
0
0
-57
-52
-56
-119
-142
-105
51
0
0
0
0
0
1
3
30
0
-32
-52
-22
-38
-9
7
-69
-136
0
0
0
0
0
0
1
22
18
74
-122
-6
-65
-88
-139
-51
-148
0
0
0
0
0
0
-6
23
-108
-11
-126
86
-147
-33
22
-88
-47
0
0
0
0
0
0
2
-155
-88
-57
116
-70
40
-186
3
54
23
0
0
0
0
0
0
0
-26
-47
-11
-33
-5
-28
121
-103
-47
87
0
0
0
0
0
0
0
-40
-31
14
53
33
-69
-101
2
-110
-22
0
0
0
0
0
0
0
3
-16
1
2
43
-41
34
33
33
19
0
0
0
0
0
0
0
0
-2
0
1
-2
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
62
-55
56
2
-16
9
0
11
0
0
0
0
0
0
0
75
190
59
-22
-70
-25
-62
-33
-58
-34
0
0
0
0
0
0
0
74
56
119
24
40
-15
-4
-24
-11
0
0
0
0
0
0
0
0
69
-67
-20
-4
-4
-48
0
-41
13
0
0
0
0
0
0
0
0
28
149
47
-50
-36
-14
0
0
0
0
0
0
0
0
0
0
0
-27
87
149
27
44
3
8
0
0
0
0
0
0
0
0
0
0
2
-21
-29
72
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
110
117
-3
50
0
0
0
0
0
0
0
0
0
0
0
0
0
8
87
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
58
-84
96
33
7
17
-60
77
0
28
0
0
0
0
0
0
0
134
61
27
15
-35
-5
39
-93
-12
-32
-14
0
0
0
0
0
0
126
77
53
47
63
-25
27
53
-78
-4
-1
0
0
0
0
0
0
11
159
16
22
-35
31
14
-7
-17
-1
-1
0
0
0
0
0
0
67
75
52
-2
-2
12
1
2
8
0
0
0
0
0
0
0
0
4
60
104
136
35
-10
3
0
0
0
0
0
0
0
0
0
0
-3
-42
81
-80
54
9
0
0
0
0
0
0
0
0
0
0
0
35
97
-8
13
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
93
111
161
37
-7
42
-88
0
-22
5
0
0
0
0
0
0
74
112
115
-1
-35
-2
-151
-59
78
-54
9
0
0
0
0
0
0
-7
-22
-38
143
-53
75
-59
-23
52
-9
11
0
0
0
0
0
0
-22
33
196
83
-71
107
6
0
4
-5
3
0
0
0
0
0
0
4
38
28
68
138
48
4
-20
-4
0
0
0
0
0
0
0
0
12
61
73
25
-26
47
0
0
0
0
0
0
0
0
0
0
0
0
72
37
-56
-11
-4
-3
0
0
0
0
0
0
0
0
0
0
0
17
4
13
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
-27
-34
155
-33
1
-130
-126
-163
0
25
-15
4
0
0
0
0
0
182
8
-31
-13
-6
-49
-71
-103
-100
-2
-11
5
0
0
0
0
0
155
45
110
55
-72
-30
-46
-25
-53
-98
-20
-18
-3
0
0
0
0
57
50
57
151
92
43
26
-3
-20
21
37
0
0
0
0
0
0
68
63
13
144
9
-34
31
-19
85
23
0
-2
0
0
0
0
0
24
77
-76
94
73
-66
99
80
-93
5
-2
0
0
0
0
0
0
40
-7
161
214
75
146
33
147
31
3
0
0
0
0
0
0
0
78
96
105
160
89
50
48
94
-16
0
0
0
0
0
0
0
0
4
9
1
0
1
-1
14
0
9
0
0
0
0
0
0
0
0
-7
-64
87
-54
-60
-144
17
-119
0
-71
0
0
0
0
0
0
0
96
-41
-88
17
26
-4
37
-25
-116
64
-12
0
3
0
0
0
0
-53
-55
6
-4
104
43
-172
22
-69
48
4
-6
0
0
0
0
0
-174
-66
107
110
66
-68
-37
71
-112
88
-6
0
0
0
0
0
0
88
-26
-26
146
-53
89
34
122
5
-18
0
0
0
0
0
0
0
45
22
98
-69
22
145
-74
119
-10
2
0
0
0
0
0
0
0
-19
156
108
116
52
31
50
81
29
0
0
0
0
0
0
0
0
21
122
17
51
-31
8
14
3
4
1
0
0
0
0
0
0
0
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
79
108
26
7
-4
-74
0
-34
-61
-18
-20
-6
0
0
0
67
73
71
16
135
60
-20
-29
-73
0
13
-48
97
69
-43
0
0
78
97
62
106
87
2
-13
-16
-25
-37
3
-49
107
46
-8
0
0
25
96
116
172
28
71
42
67
85
21
5
-44
-46
-103
-6
0
0
13
18
168
119
91
114
78
149
83
94
95
-10
86
57
-5
0
0
-4
112
117
94
-14
29
146
52
108
-49
62
-28
13
-14
6
0
0
1
152
29
205
57
64
57
-55
114
48
-7
27
-8
0
-3
0
0
0
102
-43
-40
6
30
26
-6
92
1
-1
1
0
-1
0
0
0
0
0
-2
-2
-2
-1
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
-5
-40
31
-55
48
-9
22
0
27
33
58
-36
9
-6
-6
0
0
1
196
66
28
-9
48
-8
3
26
44
-1
-77
-57
-41
1
0
0
41
4
-2
81
74
8
55
-20
-34
1
27
94
83
-1
-5
0
0
49
182
97
-5
33
-25
-47
51
48
49
-9
10
-6
0
-5
0
0
3
100
2
45
56
-10
45
45
62
17
-30
-33
9
8
-1
0
0
0
59
27
-16
-13
12
131
-16
-81
-11
-30
-3
12
-9
5
0
0
1
-50
28
80
105
70
90
47
-5
21
-35
-23
-1
5
-1
0
0
6
38
70
18
-58
57
64
128
23
-32
-73
9
14
34
-1
-12
0
0
1
-29
0
7
50
57
-27
-10
-84
102
40
-62
-4
-6
0
0
0
-50
84
35
23
62
-40
0
13
17
-46
29
-32
3
0
0
0
0
33
93
17
40
6
8
24
-13
0
93
38
104
-43
-4
0
0
0
63
87
39
15
-12
1
-71
-14
2
46
-23
29
0
0
0
0
0
-23
13
28
20
1
30
36
-19
105
57
87
-32
11
0
0
0
0
46
-18
44
-12
49
43
39
-32
44
28
2
-75
5
0
0
0
0
-2
83
38
-4
0
47
48
7
-73
-17
-87
-20
3
-8
0
0
0
39
14
135
5
54
-4
68
2
41
-13
148
-59
4
0
0
0
0
8
38
11
-29
4
-11
30
54
-40
-116
8
-2
0
0
0
0
0
-3
-19
11
-129
82
-17
31
56
-3
-1
0
0
0
0
0
-61
145
129
30
86
10
-22
-45
0
-74
6
2
-33
54
0
0
0
187
88
37
63
39
28
-22
-42
-55
-35
5
57
-48
-16
-18
0
0
194
128
53
72
4
42
1
-12
-46
-32
-19
49
-57
17
-4
0
0
36
65
104
80
68
69
32
50
29
9
-1
-24
49
-20
0
0
0
116
134
85
58
15
114
97
74
140
-2
-99
-35
52
109
-10
-1
0
100
87
118
173
57
129
161
204
116
25
100
82
15
10
-1
0
0
24
10
140
25
57
10
142
56
118
-43
-3
-39
-23
0
0
0
0
-4
13
-62
-12
53
40
109
80
33
-18
-14
-5
0
0
0
0
0
0
-6
2
35
21
28
33
-9
-2
-3
1
0
16
0
0
0
0
22
20
-77
-16
-34
-22
60
2
0
-75
70
96
-19
-3
1
0
0
51
26
74
-90
-57
18
6
-25
28
-6
9
-12
87
4
0
0
0
210
61
4
50
-76
-92
7
-3
22
-30
62
-96
-5
-4
0
0
0
165
-104
71
-71
55
-43
-63
39
47
12
-28
63
-5
0
0
0
0
145
28
-23
-65
-28
-61
21
65
105
0
22
4
0
0
0
0
0
24
-2
-44
51
-49
32
97
53
28
53
7
-67
-24
0
0
0
0
0
4
68
85
94
66
64
22
145
55
6
13
0
0
0
0
0
0
-44
-70
130
104
125
36
78
-31
-56
-44
-3
0
0
0
0
0
0
0
11
-5
-25
3
70
24
-14
-6
0
0
0
0
0
0
0
26
12
10
40
-51
-17
-93
-50
0
44
0
-33
3
0
0
0
0
-10
-71
-89
63
23
90
-41
6
19
144
71
17
9
-3
0
0
0
-73
-62
69
31
44
15
8
-27
15
-63
36
21
3
-1
0
0
0
-104
3
-4
-4
-5
6
-41
43
64
43
132
-2
0
0
0
0
0
31
-117
-49
10
111
56
7
-29
33
58
14
50
-5
5
0
0
0
-63
-101
-47
-40
-21
29
70
49
-11
75
-8
-1
1
0
0
0
0
-3
73
43
37
125
75
109
10
-4
27
-57
24
0
-1
0
0
0
-6
-23
33
4
6
53
149
87
4
21
51
0
3
0
0
0
0
0
-6
0
3
-7
19
69
39
-77
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
34
-18
-74
-33
-84
-82
25
0
-10
0
0
0
0
0
0
0
-30
46
58
-22
9
40
-50
-114
33
68
0
0
0
0
0
0
0
44
-58
-60
-35
36
79
6
80
13
7
0
0
0
0
0
0
0
84
71
34
-46
18
-4
0
-8
-11
0
0
0
0
0
0
0
0
77
-20
23
35
-19
43
-19
16
4
0
0
0
0
0
0
0
0
-43
-5
9
-127
82
6
-14
0
0
0
0
0
0
0
0
0
0
12
-43
-29
-69
107
-6
0
0
0
0
0
0
0
0
0
0
0
-25
-61
43
-1
33
9
0
0
0
0
0
0
0
0
0
0
0
10
-20
-25
12
16
0
0
0
0
0
0
0
0
0
0
0
0
-89
85
-102
-76
-32
-55
-5
-14
0
-109
2
0
0
0
0
0
0
73
73
-33
-141
-105
-90
-15
-12
-7
67
20
0
0
0
0
0
0
65
9
-82
9
24
62
64
15
136
51
4
0
0
0
0
0
0
-48
43
-15
1
-75
86
13
-4
3
16
-4
0
0
0
0
0
0
57
32
69
-45
66
49
60
1
7
0
22
0
0
0
0
0
0
2
26
123
-55
103
-116
-11
0
-8
-8
0
0
0
0
0
0
0
-22
-32
95
57
-15
-34
-6
0
0
0
0
0
0
0
0
0
0
-68
64
-38
29
-31
-1
0
0
0
0
0
0
0
0
0
0
0
-11
2
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
-95
-93
-84
-70
-26
-103
0
38
-1
0
0
0
0
0
0
-3
18
-71
-70
-12
-84
-54
20
-64
11
3
0
0
0
0
0
0
-51
29
63
-38
43
45
-84
-29
-47
8
-11
0
0
0
0
0
0
-23
0
16
-7
-56
52
6
-9
-8
0
-2
0
0
0
0
0
0
-25
222
73
-52
18
14
3
41
1
2
7
0
0
0
0
0
0
-5
-85
-22
87
25
-25
17
-10
12
0
4
0
0
0
0
0
0
-8
-26
84
174
26
-17
-4
0
2
0
0
0
0
0
0
0
0
0
21
-5
14
2
-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
31
-26
-82
-51
-92
-123
-71
-70
0
-134
11
-7
0
0
0
0
0
16
-127
-2
-24
-30
-123
-44
-101
-117
-182
-1
5
-6
0
0
0
0
-106
14
36
-94
-87
-12
-28
59
113
121
-9
-11
0
0
0
0
0
56
-45
-16
-28
-30
-63
22
-49
-106
26
-4
0
1
0
0
0
0
70
52
44
12
-24
104
10
29
-133
-35
0
-16
0
0
0
0
0
11
92
168
-104
-11
72
-53
-92
11
7
0
2
0
0
0
0
0
-43
7
59
57
36
12
-8
-30
-22
-11
-2
0
0
0
0
0
0
-1
-25
-28
56
0
25
0
-19
-21
0
0
0
0
0
0
0
0
-3
0
9
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
-20
-129
-86
29
-46
10
-86
0
0
-13
-4
0
0
0
0
0
0
54
-59
-35
115
-51
-134
11
-127
-37
-51
0
0
-2
0
0
0
0
-10
-118
-35
-87
-23
-101
38
-32
25
-29
1
0
0
0
0
0
0
8
-37
-35
-92
-16
32
-9
-60
90
-9
0
0
0
0
0
0
0
40
-43
30
-181
-45
-7
-63
-33
0
10
0
0
0
0
0
0
0
-53
-23
-34
-130
-12
18
-19
-2
-2
4
0
0
0
0
0
0
0
-1
-11
-24
36
21
9
3
0
0
0
0
0
0
0
0
0
0
-14
41
43
23
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
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
118
2
-20
-46
18
-98
-64
-114
0
-60
7
-2
43
24
0
0
0
-158
37
61
-68
-35
-19
-81
-87
-95
-69
4
-9
6
-35
130
-1
0
-121
74
95
84
29
-45
-104
-62
-55
-65
-20
27
-46
40
14
2
0
9
63
47
86
44
50
21
20
43
-11
-29
-5
6
-11
4
0
0
75
-12
88
122
34
120
58
67
66
53
49
90
-6
24
0
0
0
153
31
92
106
32
18
128
145
92
183
-116
-14
-14
9
4
0
0
-13
-28
-9
42
78
6
115
116
-13
115
1
40
2
0
-4
0
0
9
-133
23
76
77
23
12
62
19
1
-15
5
0
0
0
0
0
0
0
1
-1
1
-1
-5
-1
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
67
-10
-19
-15
-130
-27
-80
0
36
-72
-82
63
-41
-5
9
0
0
106
17
-28
-61
-80
-31
-82
-49
-27
-12
-31
57
-18
29
-4
0
0
-5
72
-35
-46
2
-51
11
-42
-28
21
-30
53
33
6
7
0
0
-24
24
-10
-25
-72
-81
-3
3
-15
6
4
-63
27
-2
-5
0
0
35
13
-11
-5
2
12
13
-29
-50
-20
-105
19
29
8
-2
0
0
-54
60
-155
-6
19
48
21
14
8
30
-23
41
-28
4
8
0
0
-1
167
-47
-41
-106
29
49
-13
-11
-75
-68
64
94
2
-8
0
0
-44
-8
-62
55
-30
77
18
11
11
-39
79
-5
74
-19
-1
3
0
-8
6
-11
-1
-54
32
45
20
-67
19
18
94
1
5
5
0
0
0
70
-45
-54
-23
16
-86
0
-27
-25
-55
5
48
9
0
0
0
0
27
49
-63
-8
-22
-65
-5
-21
5
-73
99
24
-42
8
0
0
0
2
-47
-41
-34
-40
-38
-88
44
14
-38
-30
-25
-37
0
0
0
0
-83
-78
-44
-18
-51
-9
46
-22
-77
69
-68
-39
7
0
0
0
0
-24
-80
-51
-55
19
-17
50
-13
18
-53
-16
26
-3
0
0
0
0
-13
-35
-40
-17
27
-13
-14
-32
41
-60
32
-80
4
0
0
0
0
54
-47
-87
-49
-10
66
32
6
-47
-155
-36
-34
-3
0
0
0
0
-5
53
-71
16
-68
-32
-41
8
33
97
12
-18
-1
0
0
0
0
13
32
-67
31
-114
90
-23
-10
-2
3
-1
-1
0
0
0
126
-45
63
37
-9
-101
-71
-137
0
-128
-24
-34
-51
23
0
0
0
7
93
104
33
-17
-9
-66
-91
-84
-52
29
49
-18
21
37
0
0
51
52
33
46
6
-1
-65
-56
-43
-32
-8
70
-10
19
-12
0
0
113
23
94
-6
-3
28
11
42
19
2
-29
18
121
83
4
-4
0
84
44
76
43
62
53
110
52
38
-5
-13
96
-37
3
-5
-1
0
157
60
141
42
18
123
46
117
81
86
-39
49
15
-10
2
0
0
-86
88
-2
112
81
52
86
9
97
118
-28
-12
-15
-6
0
0
0
8
71
18
-71
-18
-36
12
-58
-3
104
-3
0
-2
0
0
0
0
0
-11
-4
-75
14
31
-71
0
-3
-12
0
0
0
0
0
0
0
-5
-128
77
-127
-82
-3
-21
-221
0
-83
41
-36
4
0
0
0
0
77
85
-12
-93
-35
-34
-3
-152
-49
-82
-85
-48
-80
0
-3
0
0
43
-145
130
-81
-113
-69
-117
-65
-82
-39
-65
-13
0
-3
0
0
0
-125
8
-46
20
-154
-65
-56
33
61
-43
16
-34
2
0
0
0
0
29
16
176
-19
-81
-54
-40
91
40
12
-152
20
-2
0
0
0
0
56
-16
44
-2
-45
-147
-4
26
-46
-31
-60
33
0
0
0
0
0
1
25
65
-11
-56
33
-52
-33
108
88
-8
-9
0
-1
0
0
0
0
-33
41
19
-89
53
-39
36
35
51
35
0
0
0
0
0
0
0
-3
20
0
28
-17
46
85
18
-2
3
0
0
0
0
0
0
-40
16
6
-3
-53
-108
-165
-49
0
-11
34
-63
0
0
0
0
0
-23
-216
-108
-79
-159
1
-96
-78
-40
67
107
-38
1
0
0
0
0
-58
-130
14
-113
-276
17
-153
-63
-34
-8
38
-27
0
2
0
0
0
-66
-137
148
-114
44
37
-168
-22
73
-29
-28
-14
1
0
0
0
0
-13
-121
-23
-43
62
104
-166
-49
8
-99
-100
-56
6
0
0
0
0
3
-71
23
84
40
-38
-74
29
-66
-4
-3
5
2
0
0
0
0
-4
-111
17
-15
21
32
-10
-33
-32
-73
-42
6
0
0
0
0
0
0
17
-2
62
67
78
112
17
-67
-7
13
0
-5
0
0
0
0
0
-1
-6
0
13
-10
31
-115
177
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-76
-161
-34
8
0
0
0
0
0
0
0
0
0
0
139
38
47
-27
-44
-178
106
0
0
0
0
0
0
0
0
0
0
51
113
98
-4
-38
-43
9
1
-2
0
0
0
0
0
0
0
0
119
40
88
89
41
-1
0
2
3
0
0
0
0
0
0
0
0
-56
52
40
55
137
-3
1
-1
6
0
0
0
0
0
0
0
0
-18
18
44
-22
-25
-16
2
0
0
0
0
0
0
0
0
0
0
-13
-44
157
125
49
-2
0
0
0
0
0
0
0
0
0
0
0
2
22
-79
-10
-6
4
0
0
0
0
0
0
0
0
0
0
0
133
31
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
45
137
44
37
27
45
18
0
0
0
0
0
0
0
0
0
0
128
15
20
22
-46
42
-36
0
0
0
0
0
0
0
0
0
0
52
70
82
35
29
14
-3
5
-1
0
0
0
0
0
0
0
0
157
-82
39
8
-138
64
32
-3
1
0
-2
0
0
0
0
0
0
25
94
-87
-16
-71
-60
11
-3
-2
0
0
0
0
0
0
0
0
78
-18
68
21
52
5
-10
3
0
0
0
0
0
0
0
0
0
-6
213
58
-59
61
-3
0
0
0
0
0
0
0
0
0
0
0
0
122
9
57
-46
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-31
-28
29
0
0
0
0
0
0
0
0
0
0
0
0
45
85
97
92
46
-105
-7
0
0
0
0
0
0
0
0
0
0
60
-44
87
-29
-4
-32
9
0
0
0
3
0
0
0
0
0
0
56
64
-24
105
36
-126
-11
5
-4
-6
5
0
0
0
0
0
0
42
-28
-28
95
-8
62
16
0
1
5
0
0
0
0
0
0
0
10
49
25
-14
63
-66
4
0
0
0
0
0
0
0
0
0
0
3
42
59
46
-49
5
3
0
0
0
0
0
0
0
0
0
0
40
112
-5
73
46
10
0
0
0
0
0
0
0
0
0
0
0
1
6
9
160
13
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
-23
92
141
113
80
-217
-193
0
0
0
25
2
0
0
0
0
0
13
9
61
52
-133
-89
-67
0
0
0
57
2
-1
0
0
0
0
52
81
2
-13
34
-86
-22
67
24
88
15
8
10
0
0
0
0
104
94
36
54
60
34
124
45
-12
22
-28
-1
0
0
0
0
0
-81
100
29
8
5
118
-2
-55
8
-85
-11
6
0
0
0
0
0
54
46
-12
110
-24
1
89
64
162
-22
-21
0
0
0
0
0
0
63
85
-4
44
-39
80
3
221
122
-57
0
0
0
0
0
0
0
-7
-33
262
-76
-40
-133
-8
38
71
1
-3
0
0
0
0
0
0
52
14
23
68
29
18
0
0
-6
0
0
0
0
0
0
0
0
-16
40
131
-57
-67
-40
-41
0
0
0
-7
21
0
0
0
0
0
38
44
92
56
-66
-111
-97
0
0
0
37
1
0
0
0
0
0
-17
14
45
46
0
-20
-95
-123
21
96
14
0
0
0
0
0
0
-30
-39
-6
50
54
59
-7
-27
-47
-44
35
-3
0
0
0
0
0
25
76
-1
107
66
212
61
70
105
18
18
8
0
0
0
0
0
-32
-61
41
-81
175
47
34
48
125
32
-8
-4
0
0
0
0
0
-164
25
15
-23
106
106
51
-18
-56
55
-6
2
0
0
0
0
0
-28
85
110
95
-19
36
29
-67
-17
56
0
0
0
0
0
0
0
43
111
-24
29
-5
2
-12
-14
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
-9
-78
-54
66
-26
-89
0
0
0
0
-44
-76
31
-43
-24
7
0
84
167
41
53
49
-12
-49
0
0
0
-43
-146
2
-4
17
0
0
172
98
75
107
61
35
-38
-27
-23
45
-45
-45
-80
118
11
2
0
116
91
107
40
68
26
0
25
14
-60
-39
55
52
12
2
0
0
9
38
65
69
128
13
11
72
12
1
90
-14
-43
-11
21
-12
0
92
105
-1
-56
65
9
85
20
71
-18
87
-15
18
13
0
-1
1
-13
56
76
-20
6
49
-15
-19
117
-95
-101
-1
5
-4
4
0
0
13
-10
89
-75
50
-20
11
-23
-19
-55
26
-7
-1
3
-28
0
0
-1
3
-8
-11
-14
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
54
31
-89
5
36
0
0
0
5
-98
-24
-125
-55
-64
-3
0
-31
5
-12
-48
44
-41
0
0
0
3
-45
64
-133
-62
-6
-8
0
3
-70
62
31
-24
-60
12
-24
-5
-28
7
10
-29
-90
-13
-9
0
-27
-57
57
71
-95
-19
-3
18
30
-25
-11
9
-89
-73
-16
6
0
-11
-168
36
55
-26
45
24
30
-4
50
-68
95
-18
-61
-94
0
0
4
-60
26
-9
30
-13
8
31
11
36
-50
10
45
-73
-35
0
0
-1
6
25
33
61
28
80
15
23
16
52
-91
46
2
-31
-20
0
-2
-23
16
105
17
0
104
80
49
16
43
-65
18
-34
-109
-8
0
0
6
18
123
-58
-51
9
52
61
18
-13
28
-69
-20
-27
0
0
0
17
79
81
-40
61
0
0
0
-28
-60
27
-54
-7
-65
2
0
0
-35
66
21
-1
31
0
0
0
5
-94
10
-40
5
-17
3
0
0
-182
71
44
2
-34
-14
5
-20
-19
-15
39
-51
14
-29
0
0
0
44
-26
-6
3
-8
-19
3
-5
-13
-65
4
1
12
-39
0
0
0
-29
40
55
-21
57
15
19
21
-5
57
-15
-76
-72
25
0
0
0
175
-70
13
-33
-27
17
50
39
58
-61
-68
-13
-5
-7
2
0
0
-80
-18
-15
-31
72
37
49
43
30
-60
-49
-107
-7
-52
1
0
0
-2
35
-43
-9
-61
32
67
28
70
-3
-17
-41
9
96
0
0
0
22
37
-62
60
74
-105
-22
-29
-5
-1
0
8
0
0
0
-9
139
28
55
20
-65
-68
0
0
0
-108
-55
26
-10
-1
0
0
106
91
36
32
24
-38
-29
0
0
0
-61
-29
-58
81
-20
-3
0
56
182
87
-2
15
-21
-53
-58
-17
-37
-36
-69
-4
27
4
1
0
108
95
79
47
31
44
5
18
-19
-39
-23
52
-127
-50
-10
0
0
45
213
-43
7
-22
55
-16
27
37
-5
116
-5
-11
-68
18
-5
0
-65
26
92
32
28
67
55
73
-20
60
67
-29
-8
10
15
0
0
-65
125
35
-105
-25
-81
39
94
-22
28
-2
-29
7
1
-5
-2
-2
157
54
19
37
3
-39
0
124
106
-41
9
-7
-2
2
35
0
0
-1
-14
2
-45
110
4
10
9
-5
-2
6
-4
0
0
0
0
0
-13
225
-27
36
72
-3
-62
0
0
0
15
40
0
0
0
0
0
157
63
-13
-37
-12
-92
-1
0
0
0
12
-144
-6
-1
0
0
0
151
122
75
3
-77
-67
-79
51
-11
-25
-114
41
-2
1
-1
0
0
-39
47
40
-26
-12
-19
-78
30
62
-42
4
-60
-2
0
0
0
0
-4
-2
-84
-52
-58
-48
26
12
29
-54
-16
2
14
-2
0
0
0
83
-43
28
83
41
-20
20
9
-75
-117
-47
43
-7
0
0
0
0
35
-14
1
27
48
-59
7
-5
34
-93
43
0
0
0
0
0
0
-32
74
38
26
74
-7
187
164
30
-5
-11
0
0
0
0
0
0
3
-2
-2
-9
86
-2
72
73
15
6
0
0
0
0
0
0
0
-12
139
-73
-33
55
-59
-35
0
0
0
94
-52
-7
-1
4
0
0
-19
-6
-160
24
26
14
-1
0
0
0
63
6
-166
-18
-1
0
0
140
-99
21
98
37
-32
23
59
118
96
71
-18
55
13
-2
-1
0
-63
-20
-96
-21
21
50
7
13
65
35
-30
169
-20
8
0
-6
0
118
-129
-29
84
116
13
4
-20
-47
21
-12
-29
10
-7
-4
0
0
-13
-42
-123
83
24
-12
57
5
-23
-18
10
27
-3
2
0
0
0
-62
-77
-1
-32
87
124
42
-11
4
51
4
-59
6
-14
1
5
0
3
55
-6
54
38
113
108
-32
-34
-10
-52
3
3
2
0
0
0
21
-27
0
2
9
15
26
-20
98
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-98
-55
-37
-43
-8
-2
0
0
0
0
0
0
0
0
0
0
3
-118
133
-109
-33
-41
-59
0
0
0
0
0
0
0
0
0
0
1
-11
-26
-72
120
14
3
-1
0
0
0
0
0
0
0
0
0
-21
-77
-8
-76
-9
-32
-1
1
3
0
0
0
0
0
0
0
0
-9
-8
22
-4
-11
13
2
-1
0
0
0
0
0
0
0
0
0
41
97
6
-32
13
9
0
0
0
1
0
0
0
0
0
0
0
45
-35
126
26
-14
2
0
0
0
0
0
0
0
0
0
0
0
2
-139
-148
30
-7
2
0
0
0
0
0
0
0
0
0
0
0
-79
2
45
-7
2
0
0
3
0
0
0
0
0
0
0
0
0
100
52
-1
-95
-19
-21
1
0
0
0
0
0
0
0
0
0
0
-76
-69
1
9
-50
0
-14
0
0
0
0
0
0
0
0
0
0
78
-20
10
2
-57
-50
21
3
-2
0
0
0
0
0
0
0
0
-12
11
-18
-22
111
12
-22
0
-5
-2
-1
0
0
0
0
0
0
48
57
-105
15
23
-64
-4
0
-9
0
-1
0
0
0
0
0
0
52
-66
-217
2
-28
-45
6
0
0
0
0
0
0
0
0
0
0
3
31
124
-138
-82
-15
0
2
-1
-1
0
0
0
0
0
0
0
-6
-76
26
-52
-40
0
13
0
0
0
0
0
0
0
0
0
0
-6
8
103
-22
-17
1
0
0
0
0
0
0
0
0
0
0
0
-25
47
-78
71
-109
-223
0
0
0
0
0
0
0
0
0
0
0
49
38
-79
-71
-14
-101
-22
0
0
0
0
0
0
0
0
0
0
-64
55
93
-28
0
-172
-4
0
2
1
8
0
0
0
0
0
0
-3
70
-9
-73
-19
43
6
0
-3
0
0
0
0
0
0
0
0
-20
66
144
-143
-78
6
-1
0
0
0
0
0
0
0
0
0
0
-11
-13
-58
-27
81
2
0
0
0
0
0
0
0
0
0
0
0
-3
78
-24
55
-16
3
0
0
0
0
0
0
0
0
0
0
0
-23
-7
-56
-66
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
6
4
60
18
-223
86
-58
0
0
0
2
-5
0
0
0
0
0
1
96
108
-22
-171
-27
-66
0
0
0
-1
0
0
0
0
0
0
27
-40
-18
-107
-82
-61
-145
-188
-140
-8
-1
0
0
0
0
0
0
22
43
-42
4
-125
-36
-26
-4
2
-3
0
1
0
0
0
0
0
-40
-77
142
-69
-31
30
-2
-14
4
-4
12
-1
0
0
0
0
0
4
-30
-38
-106
-38
95
-4
13
4
-2
-1
0
0
0
0
0
0
-4
-44
114
-67
3
12
-8
14
-2
-5
0
0
0
0
0
0
0
1
-26
-64
-4
-10
8
2
0
-1
1
0
0
0
0
0
0
0
0
47
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
11
-38
-136
-41
-40
-60
0
0
0
0
0
0
0
0
0
0
-66
-109
-40
-30
4
-85
-39
0
0
0
7
0
0
0
0
0
0
-8
-101
83
-82
40
-106
38
-16
-5
-21
0
0
0
0
0
0
0
32
-60
-12
22
-30
-37
-32
-73
11
-31
0
0
0
0
0
0
0
-86
-19
70
115
-51
24
102
27
-58
6
0
0
0
0
0
0
0
-65
58
78
29
-68
43
-2
-88
-3
-8
0
0
0
0
0
0
0
6
12
-45
-28
-26
10
3
1
1
-1
0
0
0
0
0
0
0
3
73
-72
-21
4
-2
0
0
-6
5
0
0
0
0
0
0
0
-2
-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
-126
61
-190
-33
-133
-250
-241
0
0
0
-68
-57
-4
-5
-1
-3
0
40
4
37
24
-75
-163
-176
0
0
0
-73
-65
5
48
-16
-11
0
129
-15
188
-4
-7
-176
-257
-199
-112
-71
-60
-29
-13
-22
5
0
0
46
166
17
100
28
-36
-41
-89
-73
-201
12
-10
-4
-6
-5
0
0
-7
-136
-148
-33
72
-66
31
-15
40
25
63
44
17
-1
-1
7
0
-150
-31
-87
-60
-28
-5
138
38
-82
134
8
75
-13
3
0
-7
0
-2
20
11
-34
7
-26
-26
17
-20
-11
51
-7
1
-3
0
0
0
-43
68
-11
22
-87
-6
-28
-16
-26
-14
-4
0
-14
0
0
0
0
-4
0
3
35
7
-1
-1
-26
-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
-33
27
13
-117
-150
38
0
0
0
26
11
71
43
-14
-103
20
0
30
-107
-49
-147
-75
-155
0
0
0
-1
-8
-7
-129
63
-7
-27
0
-47
25
-92
-83
-149
-88
-77
-52
-92
-1
-8
-47
-77
-47
61
3
0
-59
-59
0
28
-132
30
-94
-40
-35
14
77
-49
4
-5
7
-2
0
-45
-29
-83
37
-37
-60
-53
-7
-23
11
-4
-20
4
3
38
4
0
-4
-56
-35
-17
19
-12
-7
-6
-22
-43
-58
78
-15
34
-12
-11
0
-1
-112
-139
33
11
0
-17
-7
4
32
6
64
43
9
-22
10
0
-1
-39
-58
-45
-98
78
31
35
9
18
2
-44
10
77
61
39
0
0
-27
-53
-46
51
105
39
12
43
23
-43
21
-76
-79
-8
-7
0
0
-44
-45
-65
-67
-93
0
0
0
53
-67
-39
-51
15
-14
-1
0
0
-10
-57
-22
-81
-12
0
0
0
11
-90
-96
5
26
86
-12
0
0
-6
-16
-16
-69
-62
-42
-38
24
45
-28
-53
69
-63
10
2
0
0
-49
15
-29
-79
-65
2
-3
-66
-16
-5
47
15
1
2
0
0
0
83
-109
-53
-43
1
42
41
-43
17
-17
-41
8
18
11
4
0
0
-3
-94
48
-32
-47
-28
-16
20
-65
91
71
-35
77
-92
1
0
0
4
-50
-41
-33
18
87
-6
-4
-53
9
53
-82
31
8
-6
0
0
-19
-1
44
-103
-74
17
-14
-7
83
3
88
-35
29
-12
1
0
0
-2
-118
36
-6
-26
46
11
-6
2
-2
0
-2
0
0
0
-31
-3
-33
-74
-13
-110
-129
0
0
0
-27
-42
-17
25
-1
0
0
62
10
-16
-91
-56
-122
-145
0
0
0
-99
-56
-73
4
57
-9
0
-7
49
-56
-103
-72
-67
-138
-131
-67
-136
-53
-38
-7
-55
-11
-1
0
-5
-24
-91
14
-73
55
-6
-14
-16
-71
24
-153
-84
22
-39
0
0
-76
104
4
-19
-107
27
40
9
30
-3
-115
-6
-14
-22
-24
0
0
-24
57
-42
-14
7
-22
30
33
74
21
-1
21
1
0
0
0
0
28
10
-67
52
-10
5
89
12
116
-66
18
-84
-32
1
0
-4
0
-14
-108
-70
29
-140
-10
-50
-57
-22
20
9
-8
-3
-10
3
0
0
0
-3
-15
47
-13
1
-5
1
0
4
0
0
0
0
0
0
0
118
-17
-27
61
-57
-49
-69
0
0
0
-9
-55
-3
0
0
0
0
-91
-77
-64
11
-59
-57
-224
0
0
0
-21
8
7
-2
0
-1
0
117
-81
161
-49
-23
-107
-208
-86
-74
54
-48
8
-8
-3
-3
0
0
-2
22
-84
-56
-102
-13
-78
-95
-11
-56
-101
4
1
0
0
1
0
-9
-17
15
9
-43
-92
-88
-117
-9
-128
-11
-28
0
0
0
0
0
-31
23
-2
-136
16
60
-97
35
14
82
-41
4
0
0
0
0
0
-5
0
8
72
-28
62
49
-109
-26
27
2
3
0
0
0
0
0
0
14
45
27
9
-2
-120
-54
-5
19
-2
-4
0
0
0
0
0
0
0
0
-3
14
-1
6
-4
4
-18
0
0
0
0
0
0
0
-9
40
-25
7
-9
-145
-72
0
0
0
87
-57
4
6
0
0
0
16
-12
-102
-146
-84
-14
-68
0
0
0
3
-53
19
2
0
0
0
9
-232
-13
-82
-118
5
-212
-260
-222
-73
-209
15
-41
4
6
0
0
10
-106
-33
-98
-101
-154
-138
-89
-34
-58
49
25
11
-7
0
0
0
5
66
53
-23
7
19
-90
-59
-74
-9
19
-67
14
0
0
0
0
8
-23
-15
-70
-137
81
27
-156
21
-23
-190
6
-13
0
0
0
0
0
-17
2
19
22
55
90
29
-63
-27
58
17
0
1
0
0
0
0
-7
8
34
83
72
-8
11
11
-13
28
0
3
0
0
0
0
0
0
0
0
-3
0
-2
8
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
69
0
0
0
0
0
0
0
0
0
0
-20
55
16
101
0
0
114
3
0
0
0
0
0
0
0
0
-14
2
34
40
88
-2
62
-62
0
0
0
0
0
0
0
0
0
0
0
60
40
-41
168
88
39
2
0
0
0
0
0
0
0
0
0
0
-6
-18
46
8
40
11
0
0
0
0
0
0
0
0
0
9
-6
8
-23
7
59
8
-23
0
0
0
0
0
0
0
0
0
-1
3
10
-39
-75
-2
75
-31
0
0
0
0
0
0
0
0
0
0
0
3
-2
57
13
-102
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-42
5
0
0
0
0
0
0
0
0
3
2
1
67
62
0
0
0
-55
0
0
0
0
0
0
0
0
-2
2
55
35
44
80
0
0
147
10
0
0
0
0
0
0
0
2
5
50
-18
43
-4
4
97
38
-3
0
0
0
0
0
0
0
0
23
28
72
116
50
88
70
-55
-18
0
0
0
0
0
0
0
-9
-10
0
61
-19
8
-43
-45
32
-5
0
0
0
0
0
0
0
-7
0
2
-12
-60
14
54
46
62
-5
0
0
0
0
0
0
0
0
-1
-4
-4
-105
46
-18
18
-35
-5
0
0
0
0
0
0
0
0
1
0
0
-5
-39
10
-55
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-3
-1
0
0
0
0
0
0
0
0
0
0
3
6
69
0
0
0
36
-50
0
0
0
0
0
0
0
0
0
16
-20
14
66
0
0
109
8
0
0
0
0
0
0
0
0
0
0
19
68
156
42
6
-8
8
0
0
0
0
0
0
0
0
0
-4
29
29
13
91
76
82
-29
-3
0
0
0
0
0
0
0
5
8
9
4
31
25
80
-30
-132
4
0
0
0
0
0
0
0
6
11
-2
0
-10
28
4
-106
-6
-8
0
0
0
0
0
0
0
-6
7
9
-27
100
-11
101
50
20
0
0
0
0
0
0
0
0
0
0
0
-6
132
78
1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
175
84
30
-4
-31
1
0
0
0
0
7
15
-20
49
0
0
0
145
25
-5
16
-55
128
-24
0
0
0
2
-6
-35
35
63
32
75
80
-21
-9
30
3
-55
61
0
0
0
12
-15
37
-25
157
54
34
6
20
-28
-27
-27
66
3
0
0
-16
-6
-13
30
137
61
185
96
78
128
-50
-67
-92
52
0
0
0
0
-4
-6
-27
8
12
139
77
2
-56
-20
-111
26
76
-1
0
0
0
0
5
-14
-21
97
-83
17
17
-127
59
-18
-18
-23
0
0
0
0
0
0
-8
-37
-21
18
-49
39
-77
-10
44
-72
0
0
0
0
0
0
0
0
0
-2
16
7
-3
-1
3
27
-44
67
0
0
0
0
0
12
43
76
0
0
0
197
54
67
-1
-57
28
0
0
0
10
2
6
77
60
0
0
0
89
70
-2
-11
31
98
3
0
0
0
-4
7
58
-97
21
-67
115
68
79
-22
-183
78
-108
-9
0
0
-8
1
-2
37
22
62
-24
34
-54
-42
-65
17
-58
123
9
0
0
0
-2
0
-7
19
86
-29
-74
24
27
98
-37
96
-14
-9
0
0
0
3
0
0
49
-23
-97
-32
-59
-35
-53
-24
-121
35
0
0
0
0
0
-3
-1
23
63
-94
-52
-2
-88
-71
59
12
7
0
0
0
0
0
0
-4
7
120
-69
17
31
-7
-13
-23
1
0
0
0
0
0
0
0
0
9
0
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
79
181
0
0
0
81
86
-1
34
-40
-37
-98
0
0
2
1
65
168
116
42
0
0
146
74
78
11
-33
-57
-1
0
3
-2
4
-17
-39
119
125
67
138
139
69
29
14
-6
-28
-45
0
0
-4
-14
-2
-40
38
189
8
57
127
84
60
2
49
-9
30
0
0
0
10
-48
42
32
-8
-81
-66
67
86
57
32
-13
-24
-119
0
0
0
0
-3
-41
102
68
-32
-98
29
-36
57
17
-16
21
-51
0
0
0
-33
-25
3
-54
98
-114
55
-45
29
31
72
14
-66
42
0
0
0
7
22
-21
23
15
-106
68
71
-100
24
-69
22
9
6
0
0
0
0
0
-1
0
7
2
-2
3
-17
3
-6
64
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
0
0
78
-64
-86
36
2
54
35
0
0
0
0
26
-2
-7
-52
94
94
39
18
0
-33
17
-21
-19
0
0
0
0
0
-4
-6
88
13
75
39
90
20
-7
38
9
-17
0
0
0
0
-1
-19
-6
32
-31
24
53
54
69
-35
9
8
32
0
0
1
0
-17
6
-25
74
53
65
-14
49
113
30
41
-32
13
0
0
0
15
0
-6
23
-20
-85
33
17
14
58
-15
-55
40
8
0
0
0
-4
0
-5
74
35
-30
64
34
85
99
44
-8
81
25
0
0
0
0
0
0
-77
17
-53
-119
-13
92
-29
86
32
23
16
0
0
0
0
0
0
0
9
-12
48
-56
67
14
89
95
61
29
0
0
0
0
3
-69
3
-24
0
61
58
37
-59
-4
-9
25
23
0
0
0
-3
-9
122
-55
-126
-87
63
0
11
17
-4
24
29
34
0
0
0
0
-5
-34
-99
65
12
44
18
37
-12
22
0
8
-4
0
0
0
0
-37
8
43
50
127
1
-39
-5
50
28
43
-11
70
0
0
0
0
14
-67
-5
4
2
-34
53
17
-15
13
54
104
73
0
0
0
6
16
26
-15
-64
-31
70
-6
52
67
26
50
35
41
0
0
0
0
-2
-22
-102
-59
-150
8
-20
72
23
28
33
24
-3
0
0
0
0
26
0
52
-9
-9
50
42
-14
36
31
-34
4
46
0
0
0
0
0
4
-12
9
-37
0
73
-39
139
-84
-21
-19
0
0
0
0
-16
12
36
-79
145
0
0
130
85
17
10
-57
-2
-106
0
0
1
7
6
47
-60
0
21
0
68
51
26
14
-5
-51
11
0
0
5
-4
-2
101
99
104
104
128
12
73
34
20
-13
-50
-98
0
0
10
3
23
-23
-12
-8
38
104
56
60
47
54
-4
-45
-75
0
0
0
-9
-25
-92
7
59
58
38
98
42
31
18
-1
-1
11
0
0
0
8
-25
-29
111
-53
54
34
27
40
-38
-9
35
13
125
0
-1
0
-1
21
-43
-60
11
14
44
-6
85
16
40
5
66
7
0
0
0
0
-2
67
72
-4
19
-47
23
-40
43
-62
48
147
-1
0
0
0
0
0
1
21
0
-2
-22
84
7
-7
113
81
8
0
0
0
0
0
4
28
-40
68
0
81
180
162
95
93
86
-4
56
0
0
0
-1
-5
18
44
0
-1
0
78
88
59
26
53
62
-19
0
0
0
-1
-1
10
-48
40
120
78
45
65
-2
48
37
96
18
0
0
0
0
1
-6
-84
-33
-19
145
94
-81
45
73
10
92
113
0
0
0
0
3
-5
-11
74
-94
27
6
-88
-96
11
39
-59
14
0
0
0
3
0
0
-25
-128
-96
-77
22
-89
13
-79
4
58
-70
0
0
0
0
0
0
-7
-24
-97
-218
57
-51
15
-7
-32
0
5
0
0
0
0
0
-22
0
2
3
-12
9
10
34
5
-44
122
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-35
-24
11
0
0
0
0
0
-1
-12
61
0
0
0
261
219
27
-23
8
-10
23
0
0
0
0
0
-3
103
54
0
135
133
137
134
41
-15
20
50
0
0
0
0
0
0
-17
236
51
115
71
37
82
70
73
113
-67
0
0
0
0
0
0
14
-23
-28
-65
47
-15
-71
32
95
12
109
0
0
0
0
0
0
-13
-76
-98
-58
-55
-83
-111
-14
-19
100
58
0
0
0
0
0
-4
10
-30
-279
-41
22
-43
-12
56
11
221
-12
0
0
0
0
0
0
-1
-93
-227
-55
-121
16
17
57
-102
-6
156
0
0
0
0
0
0
0
0
-23
7
76
48
-131
-154
53
-141
8
0
0
0
0
0
0
0
0
0
0
0
3
7
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
-70
0
0
0
0
0
0
0
0
-1
-5
-13
-4
120
-4
0
0
-106
-18
0
0
0
0
0
0
0
-3
-16
0
-48
-21
-160
-61
-119
-190
5
0
0
0
0
0
0
0
-1
0
4
1
-11
176
46
-57
108
11
0
0
0
0
0
0
0
0
0
0
-2
17
17
-1
-95
18
0
0
0
0
0
0
0
0
6
-15
0
2
-8
17
-93
-7
-70
-17
0
0
0
0
0
0
0
-1
-2
1
-9
19
29
53
-2
26
1
0
0
0
0
0
0
0
0
0
0
0
8
60
143
-122
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
53
13
0
0
0
0
0
0
0
0
-5
-5
-21
-4
14
0
0
0
-235
0
0
0
0
0
0
0
0
-6
-27
50
-13
-16
30
0
0
-54
28
0
0
0
0
0
0
0
0
-1
-24
-27
25
-117
-5
-39
-136
29
3
0
0
0
0
0
-3
2
10
-41
16
-110
99
58
34
-23
19
0
0
0
0
0
0
0
12
14
28
2
-10
56
48
-5
-30
-61
0
0
0
0
0
0
0
13
-3
-4
-31
-7
71
117
-77
-82
4
0
0
0
0
0
0
0
4
13
5
7
9
-8
57
-29
36
14
0
0
0
0
0
0
0
0
-6
0
3
40
54
41
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
-4
13
0
0
0
0
0
0
0
0
0
0
10
0
83
0
0
0
-76
-4
0
0
0
0
0
0
0
0
0
-26
58
-31
31
0
0
-73
52
0
0
0
0
0
0
0
0
0
13
-20
-13
-55
-66
-50
11
-83
2
0
0
0
0
0
0
0
0
42
-51
35
79
-38
91
-58
-72
-2
0
0
0
0
0
0
0
2
1
-27
36
159
-17
18
55
-93
3
0
0
0
0
0
0
0
3
-20
0
-49
45
101
-173
-80
-68
-1
0
0
0
0
0
0
0
-4
-5
10
-3
-68
37
-48
-51
-61
0
0
0
0
0
0
0
0
-3
-9
-5
4
-89
41
-72
19
-3
0
0
0
0
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
93
0
0
0
-28
51
29
24
-47
-111
-3
0
0
0
-6
31
49
-17
0
0
0
-83
-114
-42
6
16
-69
15
0
0
0
-2
0
57
15
-75
-45
-14
0
-82
-217
-76
13
0
-15
0
0
0
0
9
-20
-58
-23
-14
-98
-42
-128
-81
1
-64
-81
0
0
0
0
0
-7
9
35
50
17
65
-23
-42
-154
-53
-46
8
0
0
0
0
0
5
-3
10
-137
59
-33
-114
7
-32
-188
-59
13
0
0
-1
0
-1
0
10
-13
-64
124
145
-18
-109
36
-35
-5
-14
0
0
0
0
0
0
4
-1
-13
37
189
4
13
-7
0
3
0
0
0
0
0
0
0
0
0
-2
29
3
1
-1
-19
-3
1
-24
0
0
0
0
0
0
-19
-22
0
0
0
-37
5
-13
1
-6
-10
0
0
0
0
0
19
-18
70
0
0
0
63
-52
-5
4
-18
-2
0
0
0
0
0
0
56
-81
-49
-102
-37
-55
-2
53
-30
60
7
0
0
0
0
0
0
-7
-32
38
-211
26
-110
67
59
10
-90
-4
0
0
0
0
-1
0
0
14
-129
35
-199
-49
-34
-67
-132
-51
5
0
0
0
0
0
0
0
-1
-133
-8
-118
-63
-7
-42
-82
-14
-5
10
0
0
0
-5
4
0
2
17
10
10
15
-8
5
1
-2
0
0
0
0
0
0
0
0
-2
53
9
27
3
-4
1
0
-3
0
0
0
0
0
0
0
0
9
0
-5
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
5
-8
17
-13
125
0
0
0
-98
-21
6
-81
-57
-55
39
0
0
-5
12
28
70
49
22
0
0
-56
-27
-4
-43
-47
-53
-27
0
0
-2
2
-14
23
239
20
25
21
-6
108
-22
-23
-35
-55
-116
0
0
-8
-4
32
27
59
80
20
74
145
27
28
-28
-30
-45
-60
0
0
0
4
145
84
147
170
112
119
90
48
47
-30
-72
-57
-98
0
0
0
11
41
72
-34
3
48
141
37
50
-15
-52
-28
-106
-79
0
0
0
124
35
10
7
19
138
183
1
-26
-9
-27
-3
-52
-21
0
0
0
0
10
39
48
1
111
30
10
4
-84
-91
-136
-61
2
0
0
0
0
0
0
0
-25
-40
-2
4
12
-2
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-83
0
0
30
-97
-77
-24
-26
5
-41
0
0
0
3
2
1
0
29
-16
27
-24
-74
-108
-107
-68
-64
-63
0
0
0
0
7
2
28
116
56
12
15
2
-74
-54
-51
-53
-79
0
0
0
0
0
-5
-52
-29
2
31
66
29
40
5
83
-15
-30
0
0
5
0
8
-4
-12
62
-6
52
121
-3
-14
82
-9
9
-61
0
0
-8
-1
4
20
63
-9
139
-55
53
81
148
12
14
-34
-79
0
0
0
3
-7
-11
11
9
-123
60
-14
82
-45
-67
-36
-74
-14
0
0
0
-2
0
3
9
7
50
70
-11
115
3
-53
-35
-16
-118
0
0
0
0
10
0
0
1
55
-12
8
46
-20
21
-103
-120
-50
0
0
0
0
0
0
-22
-30
0
-18
-39
-88
-109
-50
5
-38
-47
0
0
0
7
5
-57
-21
82
-64
8
0
-83
-64
-68
-39
-77
-59
0
0
0
0
11
9
49
-22
13
56
6
-63
-99
-44
-30
-103
-48
0
0
0
0
-15
31
-19
-22
-20
-3
53
-5
19
13
-42
-37
-41
0
0
0
0
-16
126
32
-90
62
9
63
49
44
8
-15
-59
9
0
0
0
0
27
-15
33
-3
43
66
28
0
8
35
-1
-12
-51
0
0
0
3
11
-1
60
54
79
59
41
4
-5
1
-30
-45
54
0
0
0
5
-8
4
5
8
-68
-64
-40
92
-1
51
8
-79
-29
0
0
0
0
0
5
23
11
31
-44
-15
22
-90
-30
15
-1
0
0
0
0
11
-12
-14
47
46
0
0
-94
32
-59
-8
-47
-74
-136
0
0
0
-8
47
208
7
0
66
0
-55
-23
-18
-25
-17
-62
-3
0
0
1
-11
1
-128
9
56
84
23
-16
80
10
-48
-4
-28
-52
0
0
1
-6
-13
57
75
3
74
77
32
68
50
-7
-25
-52
-130
0
0
0
43
-6
69
-37
140
76
95
13
13
28
-17
-52
-39
-115
0
0
0
3
137
26
120
72
47
21
21
1
-15
9
16
-21
-26
0
1
0
6
-45
97
24
53
54
25
-29
-7
-14
32
6
-5
1
0
0
-3
0
6
48
-72
-1
-38
-72
68
69
-93
89
-20
40
-16
0
0
0
0
0
1
-15
8
9
11
8
-18
-8
89
-96
-5
0
0
0
0
0
1
0
114
-46
0
14
35
-4
66
65
-37
-50
-30
0
0
0
0
3
-51
67
0
29
0
-39
-79
15
6
16
65
-1
0
0
0
-2
-10
-8
-165
-34
25
5
-21
-40
21
80
23
37
20
0
0
0
0
-1
-27
-34
-19
-56
-136
-1
-81
-58
-53
-106
76
-93
0
0
0
0
0
0
-29
-64
-136
-73
-118
-16
-80
-55
-46
168
12
0
0
0
0
0
0
-8
-61
42
-28
-69
-139
-28
-116
12
-90
-3
0
0
0
3
0
1
-3
83
-56
-54
54
70
-65
-78
-101
-94
-53
0
0
0
0
0
-11
0
-14
9
-21
-83
-68
-58
-13
79
-139
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
-56
32
26
0
0
0
0
0
2
-2
-19
0
0
0
-13
43
-13
-69
-171
-81
-107
0
0
0
0
0
-1
-40
57
0
44
-99
-8
-57
-64
-35
-102
-107
0
0
0
0
0
0
-12
-53
89
40
-70
49
-3
-77
-68
-28
-97
0
0
0
0
4
0
8
-141
-365
-20
1
109
-137
-8
-25
-6
79
0
0
0
0
0
6
-9
-102
-147
-73
-37
-34
35
-25
-1
-15
-36
0
0
0
0
0
0
1
-81
-236
82
0
56
13
-29
48
-8
36
0
0
0
0
0
0
0
-32
-122
-122
-17
79
1
-11
-4
35
-47
0
0
0
0
0
0
0
-2
-32
6
15
-4
59
19
24
1
-9
0
0
0
0
0
0
0
0
2
0
0
0
4
102
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
0
0
0
53
7
0
0
0
0
0
0
0
0
7
11
49
86
95
0
0
96
0
0
0
0
0
0
0
0
0
0
2
110
-2
84
-37
-29
30
-4
0
0
0
0
0
0
0
0
0
-7
11
20
-29
82
12
106
3
0
0
0
0
0
0
0
0
0
4
12
30
-64
-18
109
113
-10
0
0
0
0
0
0
0
-1
0
0
-7
23
25
10
34
-28
0
0
0
0
0
0
0
0
0
0
-1
-3
-51
130
35
-25
22
1
0
0
0
0
0
0
0
0
0
0
2
-2
-66
90
20
-11
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-15
9
-16
0
0
0
0
0
0
0
0
0
-6
-7
50
37
0
0
0
2
15
0
0
0
0
0
0
0
-2
3
17
-24
2
67
0
0
-150
10
0
0
0
0
0
0
0
0
2
0
47
75
44
65
26
47
-39
0
0
0
0
0
0
0
0
1
16
28
40
95
-84
-9
51
28
0
0
0
0
0
0
0
0
6
0
-6
-13
100
-47
60
-21
-22
0
0
0
0
0
0
0
0
0
2
-4
-13
36
108
142
-36
0
0
0
0
0
0
0
0
0
0
-1
-8
26
45
46
103
106
0
0
0
0
0
0
0
0
0
0
0
0
-27
67
-37
85
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
3
42
-35
-20
0
0
0
0
0
0
0
0
0
-3
-10
17
-18
0
0
0
158
7
0
0
0
0
0
0
0
0
-3
2
57
76
77
0
0
80
-100
0
0
0
0
0
0
0
0
7
-2
-4
-4
72
66
-83
6
116
1
0
0
0
0
0
0
0
0
0
11
8
100
5
-94
-71
-78
0
0
0
0
0
0
0
0
0
-3
-3
7
-33
10
-81
-2
58
0
0
0
0
0
0
0
0
2
0
5
-9
85
-94
169
154
-14
0
0
0
0
0
0
0
0
0
0
-1
10
-26
-25
73
41
18
0
0
0
0
0
0
0
0
0
0
2
-1
-18
27
38
78
2
0
0
0
0
0
0
0
0
0
0
0
-2
15
6
2
0
0
0
0
0
0
0
0
0
0
0
4
7
-78
0
0
0
202
-68
52
5
15
101
-3
0
0
0
22
-10
18
-87
0
0
0
94
71
-149
-73
54
29
1
0
0
0
5
2
66
-61
109
-10
108
-83
22
-46
-54
2
148
-6
0
1
4
-1
-6
0
-97
-80
50
1
-11
-57
-50
-103
198
-63
0
0
0
7
-10
-4
26
-48
114
40
36
56
-45
-159
-41
70
42
9
0
0
0
0
-4
-11
38
138
108
60
182
-15
0
-13
67
-3
5
0
0
0
0
0
29
38
60
32
98
15
-60
125
74
-51
12
0
0
0
0
0
-4
-4
63
67
66
32
-33
85
-72
-10
38
16
0
0
0
0
0
0
0
1
3
27
-4
74
3
0
0
5
2
0
0
0
19
3
36
-127
21
0
0
0
98
-99
-17
53
18
-23
-2
0
-3
0
26
68
31
-8
0
0
0
269
-99
-46
-34
39
46
8
0
0
-1
6
-11
100
-28
105
79
123
113
-57
-16
34
-71
-118
15
0
0
0
15
19
31
19
16
-122
-64
-20
-30
-27
40
88
-51
13
0
0
0
0
8
-5
110
-16
-69
46
-64
86
117
-10
94
138
3
0
0
-1
6
1
-2
-70
86
-189
136
25
54
62
97
-45
34
0
0
0
0
7
-11
-4
77
-24
-32
51
-64
-38
-43
-18
66
83
-10
0
0
0
0
-7
26
-14
-140
-22
44
79
9
61
13
-26
-82
9
0
0
0
0
0
16
2
14
-261
74
-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
-4
0
16
15
-96
0
0
0
89
54
20
46
42
-47
-7
0
0
0
3
-14
-57
99
-25
0
0
31
-44
15
-11
38
13
-11
0
0
-7
-1
-11
12
105
46
-11
-3
-29
-3
39
21
40
28
8
0
0
0
1
-1
39
13
92
27
110
6
9
53
-44
55
44
73
0
0
0
1
-5
-13
35
80
121
-6
8
28
-36
-22
-14
-38
-108
0
0
0
0
-13
18
-104
48
34
162
37
-30
-42
52
6
-28
38
0
0
0
0
1
-25
-28
42
29
-72
-14
-27
-55
-44
-12
-41
95
0
0
0
2
-1
-2
5
50
215
-68
11
1
-49
105
105
83
3
0
0
0
0
0
-8
-2
-2
-5
46
22
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
0
0
-165
-86
-129
-80
7
39
-15
0
0
0
0
-3
-1
-20
50
-9
-22
-35
-36
-152
-22
18
29
21
0
0
0
0
-2
-2
0
22
-97
15
-69
-92
-19
-39
12
22
45
0
0
0
0
11
-3
-42
-23
2
-136
-37
-22
0
-23
21
49
23
0
0
0
0
0
-3
-5
64
-83
-136
-74
-114
58
39
-10
49
18
0
0
0
0
0
0
-29
35
-134
1
-94
-19
-93
59
21
96
61
0
0
0
0
0
0
-2
-38
-8
-28
-47
68
4
16
78
45
52
0
0
0
0
0
0
-2
-17
23
47
-61
11
126
58
55
46
4
0
0
0
0
-2
-2
-2
-3
-145
-28
-10
-77
-36
-11
41
31
17
0
0
0
0
-1
-9
32
2
0
-12
58
9
-92
35
64
32
42
0
0
0
1
-56
-33
-39
-74
96
3
0
-40
-51
-3
1
81
10
0
0
0
0
36
-2
17
-48
-23
-71
-2
-126
6
51
9
-35
63
0
0
0
0
-4
21
-3
-41
52
-55
-33
-15
23
62
2
27
88
0
0
0
0
0
-12
-14
-27
-5
80
-65
-27
61
66
19
79
90
0
0
0
0
-9
-3
-3
-16
-37
20
2
44
7
16
74
37
44
0
0
0
0
2
29
4
-8
-6
-28
77
-6
128
95
1
18
32
0
0
0
0
2
-3
3
1
-21
-99
-129
-114
-78
99
34
-42
36
0
0
0
0
0
0
2
0
-21
-10
-40
15
61
85
12
-11
-1
0
0
0
-4
3
-69
-52
17
0
0
164
-8
1
-11
20
-34
61
0
-2
-2
-6
-27
2
-37
0
-69
0
58
70
4
80
10
-59
-21
0
0
-4
-2
54
68
-55
49
89
35
10
73
-3
75
69
54
25
0
0
-1
6
1
54
-27
42
85
76
-4
40
54
40
41
-57
-98
0
0
0
0
8
84
97
28
-15
42
107
-40
9
62
127
-22
-235
0
0
0
0
0
2
-86
-27
32
38
82
51
-22
73
-33
-20
169
0
0
0
0
-7
14
-17
-189
6
-20
-35
-11
-44
38
18
-117
6
0
0
0
0
1
-4
-5
-123
-201
-3
24
82
6
69
-61
-88
75
0
0
0
0
0
0
0
0
-1
-20
-4
-23
0
16
14
-5
0
0
0
0
0
0
3
82
18
0
18
54
186
46
85
57
141
-8
0
0
0
0
-7
35
54
0
-51
0
-4
37
-33
61
92
67
33
0
0
0
-4
15
-27
-42
100
128
80
-53
-56
32
31
-120
-21
-143
0
0
0
-3
-2
31
-120
69
113
135
51
-79
43
31
132
38
30
0
0
0
1
0
23
-130
25
13
86
-1
-45
-93
3
65
73
-172
0
0
0
-3
0
1
-3
-23
0
-59
-22
-156
-25
-141
-16
14
72
0
0
0
1
0
0
9
-56
-52
-23
-58
-31
-50
0
-57
-80
-70
0
0
0
0
0
0
0
4
-27
0
-24
91
91
11
115
2
-3
0
0
0
0
0
0
0
0
0
-2
0
-3
82
9
49
-12
3
0
0
0
0
-3
66
27
0
0
0
53
104
-8
-65
-109
-63
15
0
0
0
1
1
109
181
-28
0
-8
128
45
1
-13
-19
-40
-115
0
0
0
0
0
-5
70
144
144
109
101
-51
-34
14
45
-33
-14
0
0
0
0
0
-9
-34
-21
-14
35
9
-55
-8
-35
58
45
26
0
0
0
0
0
10
-11
-17
-228
-72
-100
-97
34
89
122
53
-52
0
0
0
0
0
3
-2
-33
-147
-163
31
-123
27
-42
45
134
68
0
0
0
0
0
0
-2
-88
-26
-130
3
2
70
-10
-13
153
-18
0
0
0
0
0
0
0
-2
-83
-64
-7
150
-33
58
-66
73
29
0
0
0
0
0
0
0
0
-2
0
-7
10
2
-12
59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-34
0
0
0
0
0
0
0
0
0
3
-2
-11
-17
-1
0
0
31
0
0
0
0
0
0
0
0
0
0
-26
-52
36
-23
40
-182
-152
-16
0
0
0
0
0
0
0
0
-1
2
-13
7
-120
-18
-41
-17
12
0
0
0
0
0
0
0
0
0
0
5
5
56
53
69
-14
1
0
0
0
0
0
0
0
0
0
0
4
-16
1
109
107
-48
0
0
0
0
0
0
0
0
0
0
0
1
39
-70
-108
49
-8
0
0
0
0
0
0
0
0
0
0
0
-5
-67
88
27
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-15
16
-24
-5
-7
0
0
0
0
0
0
0
0
0
-9
2
37
-29
0
0
0
-33
0
0
0
0
0
0
0
0
-2
-1
-1
102
68
-30
0
0
-106
-9
0
0
0
0
0
0
0
0
0
3
11
82
-10
-27
-55
-107
50
0
0
0
0
0
0
0
0
0
-22
14
3
-44
-26
45
-13
56
0
0
0
0
0
0
0
0
0
0
8
10
56
6
28
64
-35
0
0
0
0
0
0
0
0
0
0
-11
29
-50
-108
-52
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-32
23
-37
20
-100
-2
0
0
0
0
0
0
0
0
0
0
4
29
-139
19
-111
4
0
0
0
0
0
0
0
0
0
0
0
0
-96
43
-9
-6
-39
0
0
0
0
0
0
0
0
0
-4
0
3
-6
0
0
0
43
-31
0
0
0
0
0
0
0
0
0
2
11
70
-50
0
0
-125
-39
0
0
0
0
0
0
0
0
-5
0
-1
31
92
-39
22
-72
-14
-1
0
0
0
0
0
0
0
0
0
-3
-23
50
-12
-40
-141
-55
0
0
0
0
0
0
0
0
0
2
1
-1
-38
8
67
41
-75
0
0
0
0
0
0
0
0
0
1
-1
-27
4
-45
-83
135
-28
0
0
0
0
0
0
0
0
0
0
6
38
97
18
9
-8
-4
0
0
0
0
0
0
0
0
0
0
7
4
54
-17
-39
-60
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
52
13
16
-38
5
-10
0
0
0
0
0
-1
-3
-9
0
0
0
55
-14
-43
35
-18
0
0
0
0
0
0
-6
2
-31
7
-29
-70
-90
-105
-94
-29
-42
-1
0
0
0
0
0
8
-7
12
-72
5
90
-93
23
-22
-47
-23
-3
0
0
0
0
0
0
0
-2
-7
-77
30
-63
-51
-83
-49
-11
1
0
0
0
0
0
0
1
-8
26
39
11
90
4
-69
0
0
4
0
0
0
0
0
-6
-1
2
-66
53
36
-34
23
5
1
-1
0
0
0
0
0
0
0
-5
4
-1
88
45
-12
1
0
1
0
-8
0
0
0
0
0
0
0
16
12
21
-13
8
0
0
0
0
0
0
0
0
0
0
0
7
-126
0
0
0
82
9
-12
0
0
-5
0
0
0
0
-2
0
1
-79
0
0
0
19
-56
-18
6
5
14
0
0
0
0
0
0
-10
12
-108
-78
136
-68
-93
19
12
11
-4
0
0
0
0
0
0
4
41
42
-78
50
-66
-3
-57
3
2
4
0
0
0
0
0
-2
17
-8
-123
-40
-39
-2
46
-64
-17
-28
-10
0
0
0
0
-1
0
0
-8
42
-30
8
-21
-10
3
3
-7
-7
0
0
0
0
0
0
0
-5
8
-109
-34
-22
5
-16
2
-53
4
0
0
0
0
0
0
0
3
80
-175
4
1
-5
-1
0
0
-5
0
0
0
0
0
0
1
-4
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
5
-17
-59
0
0
0
-65
-108
-163
-2
-67
-101
-43
0
0
0
2
-42
-20
11
-11
0
0
-216
-23
-143
57
-33
-13
-23
0
0
9
0
-2
-3
34
126
70
-191
-83
-40
-68
-68
-117
-100
-81
0
0
0
0
0
49
17
167
56
-96
-11
-152
57
-85
-48
-43
-29
0
0
0
0
-1
-44
60
-9
81
85
113
-44
-54
-85
-45
-59
138
0
0
0
0
-8
-3
16
-74
-34
35
-32
42
-122
-51
-18
-112
57
0
0
0
-2
0
3
40
-109
59
-97
60
-134
-35
51
-83
-92
-22
0
0
0
-2
0
0
-54
29
-145
-17
37
40
-72
-155
-118
-65
-12
0
0
0
0
-2
16
0
-9
-23
-67
-101
-5
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
-14
12
0
0
-136
-85
-141
-83
3
-15
21
0
0
0
0
10
1
8
-24
-3
42
-68
-56
-22
-66
-25
-37
-58
0
0
0
0
0
-1
-15
-32
-74
43
-26
-80
54
-12
-61
-27
-38
0
0
0
0
4
-2
-2
-9
-15
55
1
-9
43
-18
-40
-7
-39
0
0
0
0
0
-7
1
-77
23
43
55
10
60
49
-1
-18
40
0
0
0
0
0
0
-5
-88
39
-12
46
2
-38
35
50
2
-18
0
0
0
0
0
6
1
-2
-168
18
65
-100
19
28
14
-38
17
0
0
0
0
0
-1
-5
50
-95
-58
-57
-59
96
-4
-3
-21
2
0
0
0
0
1
0
0
-5
-79
26
64
-16
-46
-3
11
29
18
0
0
0
0
0
-2
-19
19
0
-3
-59
-125
-172
-94
77
-34
31
0
0
0
3
5
9
-18
23
-84
30
0
-130
-85
-48
-15
12
-49
0
0
0
0
5
-3
-20
-24
59
34
-65
-78
-85
-40
-78
-15
-50
0
0
0
0
9
-15
34
43
52
18
-58
-33
26
-4
18
-52
-19
0
0
0
0
0
0
-7
27
-40
49
-21
-16
-21
25
0
9
-71
0
0
0
0
0
0
13
-53
-34
-17
89
-16
-12
-23
5
-23
-4
0
0
0
0
0
-25
1
-16
36
46
18
57
47
29
14
-7
-22
0
0
0
0
-12
0
-5
0
-64
0
-12
49
-88
-75
38
-2
-44
0
0
0
0
0
0
1
0
35
-16
-34
-27
-76
-39
-77
-4
-1
0
0
0
0
-4
53
51
-102
0
0
-133
-55
-112
23
12
-2
-57
0
0
0
1
-41
6
-79
0
31
0
-87
-123
-49
-60
-77
-107
-71
0
0
0
2
3
-201
85
-40
-16
-93
-88
72
-75
-17
-42
-23
-80
0
0
0
0
-2
3
-189
10
2
-32
8
-109
-24
-24
-69
-114
151
0
0
0
0
-3
-1
-22
10
13
10
-24
11
-100
-47
-64
54
-20
0
0
0
0
-11
-2
34
106
-185
-19
38
-20
-21
-28
-48
-96
-146
0
0
0
0
18
-4
-32
-6
31
58
20
-63
-37
-17
-121
-56
-162
0
0
0
0
0
2
9
23
46
65
-28
62
27
-75
-32
56
-47
0
0
0
0
0
0
0
0
35
-25
-78
4
1
0
8
-3
0
0
0
0
0
0
0
14
39
0
-70
-79
-22
-62
-12
-64
37
-26
0
0
0
0
0
18
-15
0
19
0
25
45
23
-137
-85
-84
-76
0
0
0
0
-1
6
-157
70
91
-41
-92
-30
-57
51
-145
-154
-15
0
0
0
0
4
1
-3
-142
-57
45
97
-62
-57
-153
-26
10
36
0
0
0
0
0
-3
1
-36
-3
3
-83
-150
-64
43
-103
-118
24
0
0
0
0
0
-1
3
-156
-36
49
50
16
-22
-46
-19
86
-63
0
0
0
0
0
0
2
-6
-25
-34
89
-18
-33
28
-194
-34
-78
0
0
0
0
0
0
0
-2
-1
21
27
66
16
-25
-35
-100
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
3
1
3
0
0
0
0
0
1
8
0
0
0
-65
-59
-52
-111
-134
-94
58
0
0
0
0
0
1
3
34
0
-29
-60
-26
-32
9
21
-71
-143
0
0
0
0
0
0
1
22
19
75
-128
1
-63
-86
-127
-37
-152
0
0
0
0
0
0
-6
23
-108
-6
-127
92
-150
-35
34
-80
-43
0
0
0
0
0
0
2
-157
-85
-56
118
-71
42
-186
-3
67
21
0
0
0
0
0
0
0
-28
-46
-12
-24
-4
-25
128
-97
-23
89
0
0
0
0
0
0
0
-40
-33
14
52
29
-59
-94
-7
-109
-20
0
0
0
0
0
0
0
3
-16
1
2
46
-40
36
33
48
19
0
0
0
0
0
0
0
0
-2
0
1
-2
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
59
-62
54
-3
-16
9
0
11
0
0
0
0
0
0
0
76
203
59
-13
-71
-27
-64
-36
-56
-34
0
0
0
0
0
0
0
72
56
132
24
42
-14
-1
-21
-11
0
0
0
0
0
0
0
0
62
-75
-22
-8
-4
-47
0
-41
13
0
0
0
0
0
0
0
0
26
154
52
-59
-38
-12
0
0
0
0
0
0
0
0
0
0
0
-28
80
145
32
46
3
8
0
0
0
0
0
0
0
0
0
0
2
-23
-32
70
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
111
125
-6
50
0
0
0
0
0
0
0
0
0
0
0
0
0
8
88
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
60
-79
89
35
8
24
-59
76
0
28
0
0
0
0
0
0
0
135
55
28
27
-34
-4
39
-93
-12
-34
-14
0
0
0
0
0
0
123
59
52
32
65
-24
30
55
-84
-6
-1
0
0
0
0
0
0
4
164
10
16
-33
27
14
-7
-17
-1
-1
0
0
0
0
0
0
65
72
49
-9
-12
12
2
2
8
0
0
0
0
0
0
0
0
4
64
105
143
36
-9
3
0
0
0
0
0
0
0
0
0
0
-3
-43
77
-88
55
9
0
0
0
0
0
0
0
0
0
0
0
35
93
-7
6
111
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
10
89
114
166
30
-8
43
-92
0
-24
5
0
0
0
0
0
0
75
121
103
-16
-35
1
-151
-53
79
-55
9
0
0
0
0
0
0
-6
-21
-51
150
-57
77
-61
-23
52
-8
11
0
0
0
0
0
0
-21
37
200
85
-73
104
6
0
4
-5
3
0
0
0
0
0
0
3
38
24
71
134
54
4
-20
-4
0
0
0
0
0
0
0
0
12
57
70
24
-32
48
0
0
0
0
0
0
0
0
0
0
0
0
69
33
-58
-9
-4
-3
0
0
0
0
0
0
0
0
0
0
0
16
4
17
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
-25
-34
155
-40
11
-154
-141
-161
0
30
-15
4
0
0
0
0
0
186
15
-27
-2
10
-55
-92
-83
-111
-3
-13
5
0
0
0
0
0
158
42
112
69
-78
-14
-82
-51
-79
-100
-19
-18
-3
0
0
0
0
56
57
47
187
101
49
36
0
-32
15
36
0
0
0
0
0
0
72
69
-1
152
25
-45
23
-21
82
24
0
-2
0
0
0
0
0
24
81
-71
102
69
-72
94
74
-91
5
-2
0
0
0
0
0
0
40
-20
170
226
77
147
32
143
26
3
0
0
0
0
0
0
0
80
101
105
160
88
50
50
93
-19
0
0
0
0
0
0
0
0
4
9
1
0
1
-1
14
0
9
0
0
0
0
0
0
0
0
-9
-66
96
-57
-60
-154
26
-112
0
-68
0
0
0
0
0
0
0
99
-43
-78
12
29
-2
44
-8
-112
67
-12
0
3
0
0
0
0
-49
-60
12
-12
113
48
-172
21
-82
49
4
-6
0
0
0
0
0
-172
-70
111
109
67
-72
-40
64
-120
79
-6
0
0
0
0
0
0
86
-29
-32
145
-55
87
35
117
5
-17
0
0
0
0
0
0
0
47
26
105
-73
26
146
-79
115
-8
2
0
0
0
0
0
0
0
-18
154
106
113
55
29
49
80
29
0
0
0
0
0
0
0
0
17
111
17
55
-31
8
14
3
4
1
0
0
0
0
0
0
0
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
-12
66
97
29
15
30
-53
0
-29
-77
-15
-19
-5
0
0
0
64
82
52
15
157
90
-30
-17
-86
2
1
-59
100
67
-41
0
0
82
97
47
100
97
2
-1
-30
-61
-33
9
-51
100
37
-9
0
0
13
108
120
156
30
90
42
56
71
15
38
-36
-54
-107
-6
0
0
12
20
161
112
104
116
88
180
112
105
108
-9
91
54
-5
0
0
1
97
126
84
-20
29
148
71
122
-40
65
-28
13
-14
6
0
0
1
155
25
205
50
61
64
-52
114
49
-4
27
-8
0
-3
0
0
0
101
-41
-39
6
27
26
-11
85
1
-1
1
0
-1
0
0
0
0
0
-2
-2
-2
-1
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
-3
-40
41
-54
53
-7
-2
0
39
37
63
-32
9
-6
-6
0
0
1
200
80
46
-9
51
-4
2
31
53
-8
-68
-58
-43
1
0
0
38
-5
-7
93
76
-11
50
-29
-13
1
18
95
84
-1
-5
0
0
49
179
100
-9
27
-15
-66
63
43
50
-10
11
-6
0
-5
0
0
0
106
-13
31
75
-32
43
42
57
9
-37
-33
12
8
-1
0
0
0
61
27
-24
-14
12
142
-27
-85
-3
-22
2
12
-9
5
0
0
1
-51
32
83
107
64
86
65
-1
23
-33
-18
1
5
-1
0
0
6
33
66
31
-66
54
61
169
36
-36
-79
10
15
34
-1
-12
0
0
1
-28
-9
7
55
51
-60
-5
-82
104
43
-63
-4
-6
0
0
0
-47
90
37
11
67
-54
0
35
1
-42
29
-34
3
0
0
0
0
35
87
18
29
22
19
27
4
-2
96
39
106
-47
-4
0
0
0
63
111
7
42
2
33
-64
-19
-9
55
-26
28
0
0
0
0
0
-38
-8
5
-6
1
4
74
-8
97
56
87
-37
11
0
0
0
0
45
-37
57
-12
54
55
76
-17
49
30
2
-76
4
0
0
0
0
-6
102
28
-12
-1
59
46
17
-67
-14
-87
-23
3
-8
0
0
0
38
17
156
12
53
-25
90
2
61
-15
149
-57
4
0
0
0
0
8
35
0
-31
-6
-17
26
67
-33
-116
5
-2
0
0
0
0
0
-3
-18
11
-126
87
-14
30
56
-3
-1
0
0
0
0
0
-59
143
125
33
100
2
-19
-46
0
-84
16
2
-29
53
0
0
0
174
86
44
75
62
25
-51
-32
-62
-23
-11
66
-48
-17
-18
0
0
194
147
42
70
-31
65
-15
-30
-35
-20
-8
58
-48
11
-4
0
0
15
77
105
70
66
84
48
55
6
7
11
-25
44
-20
0
0
0
112
132
96
69
11
134
75
77
157
15
-91
-38
53
109
-10
-1
0
108
79
121
159
48
115
183
197
145
26
107
83
15
10
-1
0
0
23
12
144
28
51
-8
146
53
119
-47
-4
-40
-23
0
0
0
0
-4
12
-62
-12
59
36
109
74
35
-17
-14
-5
0
0
0
0
0
0
-6
2
39
19
28
32
-9
-2
-3
1
0
16
0
0
0
0
22
11
-84
-18
-27
-43
61
43
0
-67
63
97
-19
-3
1
0
0
49
35
76
-86
-73
-6
19
-38
68
20
12
-7
91
4
0
0
0
215
60
3
57
-109
-99
21
0
37
-46
69
-93
-5
-4
0
0
0
154
-110
74
-67
50
-37
-85
31
45
-6
-24
64
-5
0
0
0
0
152
31
-26
-75
-22
-59
25
68
122
2
20
4
0
0
0
0
0
15
-16
-37
47
-63
28
119
61
25
43
10
-70
-24
0
0
0
0
0
3
71
86
106
55
92
9
159
54
6
13
0
0
0
0
0
0
-43
-69
142
101
126
35
75
-30
-55
-45
-3
0
0
0
0
0
0
0
11
-5
-25
5
67
23
-16
-6
0
0
0
0
0
0
0
24
14
11
43
-58
-15
-114
-19
0
40
2
-33
3
0
0
0
0
-4
-71
-93
68
21
86
-37
43
28
156
71
22
9
-3
0
0
0
-78
-67
75
45
38
-13
8
-49
-8
-55
30
18
4
-1
0
0
0
-99
-1
0
-14
-32
-5
-57
71
54
33
131
-2
0
0
0
0
0
29
-117
-44
11
91
50
4
-9
24
77
12
51
-5
5
0
0
0
-63
-103
-45
-37
-38
27
79
55
-18
87
-2
-1
1
0
0
0
0
-3
73
40
33
138
84
127
24
11
22
-61
25
0
-1
0
0
0
-6
-23
31
3
3
57
167
93
5
16
48
0
3
0
0
0
0
0
-6
0
3
-7
18
67
32
-87
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-77
-28
-76
-80
25
0
-7
0
0
0
0
0
0
0
-29
36
75
-32
17
33
-51
-118
33
66
0
0
0
0
0
0
0
49
-73
-61
-28
45
78
5
75
13
7
0
0
0
0
0
0
0
88
67
38
-62
29
-3
0
-8
-11
0
0
0
0
0
0
0
0
75
-10
42
34
-20
52
-19
16
4
0
0
0
0
0
0
0
0
-43
-5
-2
-141
82
7
-14
0
0
0
0
0
0
0
0
0
0
15
-44
-43
-77
106
-6
0
0
0
0
0
0
0
0
0
0
0
-23
-58
42
10
33
9
0
0
0
0
0
0
0
0
0
0
0
8
-18
-26
13
16
0
0
0
0
0
0
0
0
0
0
0
0
-87
84
-96
-67
-41
-55
-3
-14
0
-109
2
0
0
0
0
0
0
73
73
-62
-142
-109
-99
-11
-13
4
64
20
0
0
0
0
0
0
68
-11
-99
16
23
69
68
18
134
56
4
0
0
0
0
0
0
-42
39
5
7
-71
81
13
-2
3
16
-4
0
0
0
0
0
0
62
36
87
-43
59
48
59
1
7
0
22
0
0
0
0
0
0
0
21
141
-51
102
-117
-13
0
-8
-8
0
0
0
0
0
0
0
-21
-36
105
54
-16
-31
-6
0
0
0
0
0
0
0
0
0
0
-69
61
-37
23
-31
-1
0
0
0
0
0
0
0
0
0
0
0
-11
2
18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-10
-106
-90
-87
-68
-28
-111
0
43
-1
0
0
0
0
0
0
-2
-5
-88
-85
-5
-81
-51
18
-64
13
3
0
0
0
0
0
0
-51
43
62
-58
48
47
-84
-30
-44
10
-11
0
0
0
0
0
0
-17
12
5
-11
-66
56
3
-9
-9
0
-2
0
0
0
0
0
0
-20
231
81
-51
14
12
3
42
1
2
7
0
0
0
0
0
0
-5
-88
-23
79
33
-26
17
-10
12
0
4
0
0
0
0
0
0
-8
-25
86
184
23
-17
-4
0
2
0
0
0
0
0
0
0
0
0
20
-5
14
2
-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
32
-29
-85
-47
-92
-132
-75
-69
0
-137
11
-7
0
0
0
0
0
14
-121
-6
-17
-36
-121
-43
-120
-99
-187
-4
5
-6
0
0
0
0
-110
13
44
-93
-96
-6
-20
62
123
126
-8
-11
0
0
0
0
0
57
-37
-15
-32
-42
-64
13
-54
-108
26
-4
0
1
0
0
0
0
80
56
45
-1
-31
100
10
29
-139
-37
0
-16
0
0
0
0
0
11
88
168
-109
-15
76
-52
-87
9
7
0
2
0
0
0
0
0
-42
7
68
68
44
17
-6
-32
-22
-10
-2
0
0
0
0
0
0
-6
-23
-29
53
0
25
0
-19
-14
0
0
0
0
0
0
0
0
-3
0
9
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
-21
-133
-87
33
-47
10
-87
-2
0
-14
-4
0
0
0
0
0
0
54
-66
-29
120
-48
-136
16
-119
-36
-52
0
0
-2
0
0
0
0
-12
-110
-33
-92
-20
-100
38
-33
24
-28
1
0
0
0
0
0
0
8
-33
-35
-89
-16
32
-10
-60
91
-9
0
0
0
0
0
0
0
39
-39
29
-192
-43
-7
-66
-32
0
10
0
0
0
0
0
0
0
-54
-27
-29
-129
-13
18
-19
-2
-2
4
0
0
0
0
0
0
0
-1
-13
-28
38
21
9
3
0
0
0
0
0
0
0
0
0
0
-14
45
42
23
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
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
115
-2
-23
-45
18
-107
-35
-178
0
-102
1
7
43
27
0
0
0
-155
42
63
-70
-46
12
-36
-117
-121
-100
17
14
0
-35
134
-1
0
-99
78
90
100
4
-42
-71
-50
-23
-36
-15
23
-57
50
16
2
0
37
57
25
59
58
58
43
25
65
0
-26
-9
13
-5
4
0
0
83
-11
89
119
18
118
65
92
87
48
61
91
-5
25
0
0
0
157
24
82
111
27
23
131
187
120
184
-116
-16
-14
9
4
0
0
-13
-25
-5
38
68
7
121
108
-25
123
-3
39
2
0
-4
0
0
9
-131
22
77
81
26
12
66
17
2
-15
5
0
0
0
0
0
0
0
1
-1
1
-1
-5
-1
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
67
-7
-23
6
-174
-35
-67
0
33
-87
-92
62
-41
-5
9
0
0
108
33
-25
-55
-100
-2
-99
-51
-27
-18
-44
54
-19
30
-4
0
0
-7
58
-38
-47
8
-32
28
-39
-11
9
-18
62
40
6
7
0
0
-25
26
-17
-33
-112
-73
27
-9
-19
5
-4
-64
27
-2
-5
0
0
35
15
-2
-19
14
7
23
-16
-72
-17
-102
23
33
8
-2
0
0
-54
53
-155
-13
21
45
27
24
28
24
-24
39
-27
4
8
0
0
-1
167
-53
-33
-95
29
46
-7
-19
-73
-73
62
93
2
-8
0
0
-42
-5
-68
68
-4
82
2
3
15
-28
89
-7
74
-19
-1
3
0
-8
6
-13
0
-53
34
52
49
-89
25
12
91
2
5
5
0
0
0
67
-39
-68
-46
39
-89
0
-24
4
-50
12
44
9
0
0
0
0
30
54
-32
-19
-10
-74
-11
-18
-6
-64
95
23
-37
8
0
0
0
1
-71
-31
-50
-36
-61
-78
43
12
-39
-31
-27
-38
0
0
0
0
-89
-70
-54
-11
-41
2
49
-12
-75
71
-65
-40
6
0
0
0
0
-22
-71
-53
-54
22
1
46
6
18
-42
-20
27
-3
0
0
0
0
-14
-43
-43
-8
50
-9
-11
-39
53
-63
32
-79
4
0
0
0
0
54
-52
-107
-27
-3
68
27
31
-40
-168
-39
-34
-3
0
0
0
0
-4
48
-79
16
-80
-58
-36
29
40
98
15
-18
-1
0
0
0
0
13
32
-65
31
-121
95
-23
-10
-2
3
-1
-1
0
0
0
127
-36
57
30
-1
-94
-67
-175
0
-155
-37
-38
-50
24
0
0
0
11
87
79
22
-6
-12
-44
-103
-114
-88
30
43
-18
26
40
0
0
42
63
23
39
20
-8
-59
-34
-40
-39
-11
83
-11
26
-11
0
0
130
20
102
-4
-16
33
43
56
60
19
-32
21
120
81
4
-4
0
88
52
91
22
61
68
171
62
31
-4
-11
102
-34
7
-5
-1
0
157
51
157
43
-10
137
57
142
82
86
-38
50
15
-10
2
0
0
-80
96
-2
107
96
57
97
14
103
118
-26
-15
-15
-6
0
0
0
8
71
15
-80
-23
-35
15
-55
-6
102
0
0
-2
0
0
0
0
0
-11
-4
-75
14
32
-72
-1
-3
-12
0
0
0
0
0
0
0
-1
-127
76
-134
-66
13
-48
-228
0
-91
38
-35
4
0
0
0
0
86
82
-12
-96
-36
-31
3
-165
-70
-87
-87
-48
-76
0
-3
0
0
41
-147
130
-95
-101
-62
-107
-49
-77
-21
-68
-13
0
-3
0
0
0
-127
19
-63
6
-153
-62
-68
31
83
-59
23
-33
2
0
0
0
0
30
28
179
-22
-75
-55
-48
83
54
25
-153
21
-2
0
0
0
0
59
-21
35
-15
-46
-153
15
38
-37
-34
-66
35
0
0
0
0
0
1
24
60
-10
-63
28
-48
-48
131
86
-8
-9
0
-1
0
0
0
0
-32
40
19
-85
55
-33
51
37
50
35
0
0
0
0
0
0
0
-3
20
0
23
-17
49
84
18
-2
3
0
0
0
0
0
0
-40
12
3
0
-54
-110
-168
-48
0
-9
39
-61
0
0
0
0
0
-21
-221
-109
-85
-145
4
-106
-83
-38
54
100
-38
1
0
0
0
0
-55
-127
11
-110
-278
34
-183
-8
-8
-22
41
-24
0
2
0
0
0
-61
-138
153
-117
37
56
-191
-24
96
-32
-39
-11
1
0
0
0
0
-15
-121
-21
-34
52
115
-146
-62
6
-105
-96
-59
6
0
0
0
0
3
-72
32
89
35
-44
-67
56
-43
0
-7
5
2
0
0
0
0
-4
-109
20
-12
14
27
-20
-30
-17
-74
-40
6
0
0
0
0
0
0
17
-2
64
65
87
118
10
-77
-10
12
0
-5
0
0
0
0
0
-1
-6
0
13
-10
29
-115
180
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
-151
-35
8
0
0
0
0
0
0
0
0
0
0
143
39
52
-28
-41
-177
104
0
0
0
0
0
0
0
0
0
0
52
120
99
-12
-38
-43
9
1
-2
0
0
0
0
0
0
0
0
119
33
86
96
46
0
0
2
3
0
0
0
0
0
0
0
0
-59
52
32
55
137
-3
1
-1
6
0
0
0
0
0
0
0
0
-17
15
52
-16
-24
-16
2
0
0
0
0
0
0
0
0
0
0
-13
-49
167
123
48
-2
0
0
0
0
0
0
0
0
0
0
0
2
26
-77
-17
-6
4
0
0
0
0
0
0
0
0
0
0
0
131
26
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
44
142
46
30
22
44
18
0
0
0
0
0
0
0
0
0
0
125
0
6
21
-45
45
-39
0
0
0
0
0
0
0
0
0
0
50
60
95
55
29
18
-3
5
-1
0
0
0
0
0
0
0
0
158
-72
45
14
-131
63
31
-3
1
0
-2
0
0
0
0
0
0
28
100
-94
-10
-77
-66
12
-3
-2
0
0
0
0
0
0
0
0
79
-21
77
30
50
6
-10
3
0
0
0
0
0
0
0
0
0
-8
219
60
-64
59
-3
0
0
0
0
0
0
0
0
0
0
0
3
119
10
53
-51
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-30
-27
29
0
0
0
0
0
0
0
0
0
0
0
0
46
89
105
95
42
-103
-5
0
0
0
0
0
0
0
0
0
0
63
-40
80
-29
-11
-31
12
0
0
0
3
0
0
0
0
0
0
56
58
-25
110
35
-124
-10
5
-4
-6
5
0
0
0
0
0
0
41
-20
-35
107
-23
67
16
0
1
5
0
0
0
0
0
0
0
10
45
21
-10
62
-65
5
0
0
0
0
0
0
0
0
0
0
1
38
50
48
-52
5
3
0
0
0
0
0
0
0
0
0
0
38
114
-7
82
46
10
0
0
0
0
0
0
0
0
0
0
0
1
7
9
158
13
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
-25
105
146
121
77
-230
-193
0
0
0
24
2
0
0
0
0
0
5
9
68
53
-135
-94
-86
0
0
0
55
2
-1
0
0
0
0
54
87
3
-4
46
-112
-28
75
30
87
16
8
10
0
0
0
0
107
89
19
58
52
34
130
44
-12
26
-30
-1
0
0
0
0
0
-87
107
18
-1
-5
121
-6
-58
17
-87
-11
3
0
0
0
0
0
47
48
-14
122
-26
0
96
58
160
-21
-21
0
0
0
0
0
0
63
101
3
54
-39
79
9
216
121
-57
0
0
0
0
0
0
0
-6
-31
274
-78
-33
-137
-7
38
71
1
-3
0
0
0
0
0
0
51
14
22
66
29
18
0
0
-6
0
0
0
0
0
0
0
0
-22
45
136
-57
-75
-41
-46
0
0
0
-7
21
0
0
0
0
0
45
54
122
59
-66
-113
-104
0
0
0
40
1
0
0
0
0
0
-18
17
41
30
15
-19
-98
-129
9
102
17
0
0
0
0
0
0
-41
-36
-8
69
45
64
-13
-35
-60
-42
35
-3
0
0
0
0
0
26
97
-18
125
67
227
61
69
102
21
16
8
0
0
0
0
0
-38
-81
61
-82
180
46
37
42
123
32
-8
-4
0
0
0
0
0
-175
26
6
-22
110
108
54
-11
-65
55
-6
2
0
0
0
0
0
-24
76
114
95
-26
39
22
-70
-18
56
0
0
0
0
0
0
0
40
108
-23
26
-5
2
-12
-14
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
-13
-84
-51
70
-22
-83
10
0
0
0
-62
-83
33
-39
-21
7
0
84
170
24
51
54
-22
-48
0
0
0
-38
-133
3
-8
16
0
0
173
106
94
122
55
45
-46
-51
-49
32
-44
-31
-72
120
11
2
0
117
85
103
30
63
37
25
50
28
-71
-25
59
50
14
2
0
0
3
33
57
84
146
12
20
98
19
21
95
-8
-43
-11
22
-12
0
92
105
2
-53
72
15
82
38
76
-21
86
-15
18
13
0
-1
1
-13
46
74
-18
10
56
-23
-23
121
-95
-100
-1
5
-4
4
0
0
13
-7
87
-76
52
-20
10
-22
-14
-63
26
-7
-1
3
-28
0
0
-1
3
-8
-8
-13
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-87
18
44
0
0
0
7
-103
-10
-118
-55
-69
-3
0
-23
10
-21
-32
67
-45
0
0
0
24
-23
62
-145
-62
-5
-7
0
6
-64
54
28
-33
-35
34
-6
20
-12
10
0
-17
-86
-10
-9
0
-26
-55
55
94
-90
-8
2
5
24
-18
-9
18
-82
-69
-16
6
0
-12
-171
45
55
-19
51
26
53
8
54
-61
90
-19
-64
-93
0
0
4
-63
22
-21
32
-26
17
28
33
40
-58
13
43
-77
-37
0
0
-1
2
24
33
47
33
81
20
28
34
58
-83
37
2
-29
-18
0
-2
-24
21
88
-1
4
135
92
45
43
41
-57
26
-36
-114
-10
0
0
5
17
124
-58
-51
-6
31
58
19
-1
46
-55
-22
-24
-2
0
0
19
82
81
-60
78
0
0
0
-7
-65
38
-53
-5
-64
2
0
0
-39
66
44
6
68
0
0
0
1
-60
24
-43
7
-17
3
0
0
-177
74
23
10
-12
-11
13
-28
-11
-12
41
-50
14
-29
0
0
0
50
-29
-10
-15
-1
-17
-1
1
-4
-62
6
2
12
-38
0
0
0
-25
49
69
-30
76
29
40
26
-6
72
-11
-75
-72
24
0
0
0
172
-68
-17
-44
-4
25
52
62
76
-60
-80
-12
-1
-8
2
0
0
-81
-18
-18
-29
72
49
45
40
45
-41
-55
-106
-3
-51
1
0
0
-2
44
-64
-10
-63
36
73
28
69
-3
-19
-41
8
94
0
0
0
18
40
-58
65
78
-111
-24
-26
-5
-1
0
8
0
0
0
-10
143
18
65
42
-75
-53
0
0
0
-92
-56
26
-10
-1
0
0
112
93
39
34
30
-33
-75
0
0
0
-47
-31
-56
79
-23
-3
0
68
204
101
-18
18
-6
-45
-85
-20
-27
-28
-70
-1
30
4
1
0
122
100
86
20
2
46
3
57
29
-45
-22
54
-124
-52
-11
0
0
43
245
-45
2
-34
65
-19
60
59
-3
117
-5
-12
-70
18
-5
0
-70
20
92
27
26
78
45
74
-27
48
68
-25
-7
10
15
0
0
-73
119
30
-109
-14
-84
28
106
-27
32
-4
-28
7
1
-5
-2
-2
155
56
11
34
-2
-38
4
119
106
-41
10
-7
-2
2
35
0
0
-1
-14
2
-44
102
4
10
9
-5
-2
6
-4
0
0
0
0
0
-13
232
-27
39
81
-9
-54
0
0
0
20
40
0
0
0
0
0
167
92
-2
-39
-44
-99
16
0
0
0
23
-142
-6
-1
0
0
0
161
136
74
17
-79
-62
-80
66
1
-9
-112
44
-2
1
-1
0
0
-34
69
41
-49
-17
-13
-98
61
78
-75
10
-62
-2
0
0
0
0
-2
10
-80
-54
-107
-46
-9
23
16
-60
-8
0
14
-2
0
0
0
77
-33
25
79
42
-45
0
23
-70
-123
-45
44
-7
0
0
0
0
31
-14
0
25
40
-65
3
1
52
-90
42
0
0
0
0
0
0
-32
70
42
19
71
5
192
177
30
3
-12
0
0
0
0
0
0
3
-2
-2
-9
86
0
73
72
15
6
0
0
0
0
0
0
0
-4
147
-77
-30
56
-58
-38
0
0
0
94
-41
-7
-1
4
0
0
-21
-9
-150
22
30
-10
-8
0
0
0
68
8
-167
-18
-1
0
0
143
-106
32
102
43
-27
-7
81
120
85
66
-23
55
13
-2
-1
0
-52
-7
-86
-18
15
39
-2
25
84
60
-35
173
-20
8
0
-6
0
131
-137
-22
85
133
-8
21
-7
-39
13
-28
-26
10
-7
-4
0
0
-19
-45
-126
91
18
-40
70
-29
-21
-58
22
33
-3
2
0
0
0
-64
-73
8
-34
81
140
33
-10
-23
102
8
-52
6
-14
1
5
0
3
56
-4
58
39
121
121
-56
-3
-4
-45
6
3
2
0
0
0
21
-27
0
2
9
15
26
-22
99
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-105
-51
-35
-43
-8
-2
0
0
0
0
0
0
0
0
0
0
2
-115
136
-115
-25
-40
-56
0
0
0
0
0
0
0
0
0
0
-1
1
-27
-80
119
15
3
-1
0
0
0
0
0
0
0
0
0
-21
-79
-6
-79
-5
-30
-1
1
3
0
0
0
0
0
0
0
0
-6
-8
18
0
-9
14
2
-1
0
0
0
0
0
0
0
0
0
41
100
-2
-32
15
9
0
0
0
1
0
0
0
0
0
0
0
44
-37
127
23
-10
2
0
0
0
0
0
0
0
0
0
0
0
2
-145
-146
28
-7
2
0
0
0
0
0
0
0
0
0
0
0
-78
2
45
-7
2
0
0
3
0
0
0
0
0
0
0
0
0
96
53
6
-102
-19
-21
1
0
0
0
0
0
0
0
0
0
0
-81
-75
0
1
-37
1
-15
0
0
0
0
0
0
0
0
0
0
72
-19
13
10
-58
-51
22
3
-2
0
0
0
0
0
0
0
0
-12
17
-20
-24
114
12
-21
0
-5
-2
-1
0
0
0
0
0
0
47
49
-114
20
31
-63
-4
0
-9
0
-1
0
0
0
0
0
0
51
-57
-223
5
-22
-45
7
0
0
0
0
0
0
0
0
0
0
4
29
117
-139
-79
-15
0
2
-1
-1
0
0
0
0
0
0
0
-7
-74
27
-50
-42
0
13
0
0
0
0
0
0
0
0
0
0
-6
8
101
-21
-17
1
0
0
0
0
0
0
0
0
0
0
0
-25
49
-73
77
-108
-222
1
0
0
0
0
0
0
0
0
0
0
48
36
-82
-86
-19
-104
-21
0
0
0
0
0
0
0
0
0
0
-62
57
89
-31
5
-172
-4
0
2
1
8
0
0
0
0
0
0
-4
71
-13
-77
-13
49
7
0
-3
0
0
0
0
0
0
0
0
-19
71
147
-151
-82
6
-1
0
0
0
0
0
0
0
0
0
0
-12
-16
-56
-31
86
2
0
0
0
0
0
0
0
0
0
0
0
-3
75
-26
55
-15
3
0
0
0
0
0
0
0
0
0
0
0
-23
-5
-56
-67
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
6
7
63
14
-226
86
-51
0
0
0
3
-5
0
0
0
0
0
1
90
113
-21
-163
-28
-63
0
0
0
-1
0
0
0
0
0
0
24
-40
-17
-96
-82
-62
-146
-189
-138
-7
-1
0
0
0
0
0
0
24
39
-26
10
-120
-42
-25
-3
3
-3
0
1
0
0
0
0
0
-40
-73
147
-74
-32
28
0
-14
5
-4
12
-1
0
0
0
0
0
4
-31
-29
-108
-29
94
-4
13
4
-2
-1
0
0
0
0
0
0
-4
-46
111
-69
4
12
-7
14
-2
-5
0
0
0
0
0
0
0
1
-24
-64
-2
-10
8
2
0
-1
1
0
0
0
0
0
0
0
0
48
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
11
-44
-135
-40
-46
-59
0
0
0
0
0
0
0
0
0
0
-66
-114
-45
-36
2
-86
-36
0
0
0
7
0
0
0
0
0
0
-11
-104
78
-81
41
-101
39
-15
-5
-21
0
0
0
0
0
0
0
33
-61
-13
25
-32
-35
-35
-70
11
-32
0
0
0
0
0
0
0
-83
-17
70
113
-52
25
103
27
-57
6
0
0
0
0
0
0
0
-62
55
82
28
-68
43
-2
-88
-4
-8
0
0
0
0
0
0
0
6
13
-43
-26
-24
10
3
1
1
-1
0
0
0
0
0
0
0
3
73
-72
-21
4
-2
0
0
-6
5
0
0
0
0
0
0
0
-2
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
-192
-36
-123
-244
-264
0
0
0
-53
-50
-8
-7
-1
-3
0
38
-5
43
14
-79
-168
-181
0
0
0
-63
-67
-1
45
-18
-11
0
127
-8
192
-18
2
-161
-246
-189
-78
-57
-51
-35
-13
-20
5
0
0
51
160
14
109
21
-11
-46
-91
-75
-182
18
-7
-6
-5
-5
0
0
-7
-142
-159
-33
83
-62
46
-21
35
17
63
42
15
-1
-1
7
0
-148
-34
-85
-53
-22
-4
145
39
-76
137
2
76
-13
3
0
-7
0
-2
19
12
-36
16
-24
-27
23
-9
-14
53
-7
1
-3
0
0
0
-43
71
-14
23
-87
-7
-30
-17
-27
-14
-4
0
-14
0
0
0
0
-4
-1
3
35
7
-1
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
19
-107
-140
46
0
0
0
26
-1
61
40
-15
-107
21
0
30
-103
-43
-155
-72
-156
0
0
0
-13
-6
-5
-120
53
-7
-30
0
-45
19
-92
-91
-147
-98
-70
-66
-95
-8
-22
-39
-70
-51
67
3
0
-58
-60
8
46
-138
46
-94
-30
-66
1
67
-49
1
-10
8
-2
0
-45
-32
-87
50
-35
-47
-68
3
-38
13
-6
-18
-6
3
37
4
0
-4
-56
-22
-21
2
-13
-1
-26
-29
-36
-59
69
-17
34
-10
-11
0
-1
-109
-139
39
11
8
-30
-6
0
24
6
71
43
10
-25
13
0
-1
-38
-54
-57
-94
93
51
53
29
3
6
-47
4
72
64
40
0
0
-24
-57
-43
53
112
38
10
57
22
-34
14
-81
-77
1
-5
0
0
-40
-49
-84
-66
-93
0
0
0
55
-74
-46
-49
13
-14
-1
0
0
-10
-66
-24
-97
-28
0
0
0
20
-103
-100
0
24
89
-11
0
0
-5
-10
4
-82
-61
-40
-36
25
36
-30
-45
63
-63
10
2
0
0
-47
13
-27
-79
-68
-4
-16
-72
-24
0
44
19
2
1
0
0
0
84
-124
-47
-58
4
53
65
-49
4
-14
-33
12
12
10
4
0
0
-1
-92
67
-27
-41
-14
-16
14
-54
93
74
-33
78
-93
1
0
0
3
-54
-54
-29
20
108
-23
36
-59
23
46
-86
34
9
-6
0
0
-19
-1
58
-103
-65
25
-11
2
79
-1
88
-33
27
-11
1
0
0
-1
-119
34
-2
-27
45
11
-6
2
-2
0
-2
0
0
0
-33
5
-37
-75
7
-110
-129
0
0
0
-21
-39
-15
26
-1
0
0
63
2
-33
-103
-50
-109
-140
0
0
0
-95
-55
-67
1
57
-9
0
-7
37
-52
-108
-63
-54
-133
-119
-64
-126
-50
-47
-2
-57
-11
-1
0
-4
-36
-93
15
-90
65
-6
11
2
-74
15
-151
-83
23
-38
0
0
-80
112
-3
-18
-135
46
55
23
32
2
-116
1
-18
-21
-24
0
0
-27
63
-42
-28
16
-11
28
34
76
19
-3
22
1
0
0
0
0
29
14
-59
49
-12
6
96
23
115
-70
15
-82
-32
1
0
-4
0
-15
-108
-66
28
-141
-11
-49
-62
-17
22
9
-8
-3
-10
3
0
0
0
-3
-14
46
-13
1
-5
1
0
4
0
0
0
0
0
0
0
119
-16
-31
61
-55
-54
-74
0
0
0
-7
-55
-3
0
0
0
0
-89
-78
-63
0
-57
-48
-217
0
0
0
-19
7
7
-2
0
-1
0
117
-86
157
-47
-9
-109
-197
-92
-70
52
-52
7
-8
-3
-3
0
0
-3
23
-77
-45
-102
-13
-75
-87
-3
-55
-93
4
1
0
0
1
0
-10
-13
18
20
-37
-81
-85
-123
-11
-121
-10
-28
0
0
0
0
0
-31
20
-1
-132
21
81
-95
26
16
95
-42
4
0
0
0
0
0
-5
0
8
71
-24
58
54
-107
-23
27
0
3
0
0
0
0
0
0
14
45
25
9
-4
-116
-52
-4
16
-1
-4
0
0
0
0
0
0
0
0
-3
14
-1
6
-4
4
-18
0
0
0
0
0
0
0
-9
42
-26
6
-9
-145
-69
0
0
0
92
-63
4
6
0
0
0
17
-12
-104
-148
-90
-13
-72
0
0
0
3
-56
19
2
0
0
0
9
-230
-12
-77
-119
11
-213
-243
-214
-63
-203
9
-41
4
6
0
0
10
-107
-32
-101
-101
-153
-146
-82
-35
-53
50
23
11
-7
0
0
0
5
63
54
-19
10
26
-81
-33
-76
6
14
-66
14
0
0
0
0
8
-24
-16
-73
-135
84
44
-151
28
5
-188
6
-13
0
0
0
0
0
-16
2
17
21
53
100
31
-56
-15
59
17
0
1
0
0
0
0
-7
8
37
84
74
-3
27
5
-8
26
0
3
0
0
0
0
0
0
0
0
-3
0
-2
8
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
8
-31
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
2
-45
-24
-16
30
17
0
0
0
0
0
0
0
0
0
0
0
2
10
-27
11
-5
-21
1
0
0
0
0
0
0
0
0
0
0
0
2
3
24
14
19
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
0
9
3
-3
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
7
7
0
0
0
-14
0
0
0
0
0
0
0
0
0
-1
4
11
1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
2
1
-4
-75
25
-55
-50
0
0
0
0
0
0
0
0
0
1
0
-3
52
-8
-5
24
-28
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-16
-39
-43
0
0
0
0
0
0
0
0
0
0
1
0
-1
9
33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
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
1
0
0
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
-9
-24
0
0
33
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
46
-26
-1
-2
0
0
0
0
0
0
0
0
0
0
10
-2
-13
-56
23
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-14
15
3
1
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
3
0
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
8
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
12
-35
37
64
4
0
0
0
0
0
2
2
-1
0
0
0
69
124
-15
-4
-34
-2
-1
0
0
0
0
1
9
1
45
35
63
-30
47
-4
30
-27
7
0
0
0
0
0
0
-2
12
22
14
-3
-14
-41
-13
34
-13
9
0
0
0
0
0
0
6
0
-14
-32
-15
-12
61
-33
-5
1
0
0
0
0
0
0
0
0
-5
12
-25
-17
11
0
8
11
0
-1
0
0
0
0
0
0
0
-1
5
-7
2
4
-5
-9
0
2
0
0
0
0
0
0
0
0
0
1
0
2
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
3
0
0
0
0
0
0
0
3
-8
-3
0
0
0
43
0
1
0
0
1
0
0
0
0
0
0
23
13
0
0
0
63
-8
-1
-4
0
-2
0
0
0
0
0
0
1
-14
-37
-20
-13
50
23
12
0
6
3
0
0
0
0
0
0
2
19
52
5
-3
-7
-3
4
0
4
4
0
0
0
0
0
0
0
6
19
11
24
7
26
2
-3
1
0
0
0
0
0
0
0
0
-1
-5
-5
10
0
9
-3
3
0
0
0
0
0
0
0
0
0
-3
1
6
-5
1
1
-4
0
-1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
14
-27
81
81
-62
26
35
0
0
0
0
-9
22
38
-33
0
0
-7
92
25
51
-20
11
-29
0
0
0
2
-4
19
21
-2
-46
143
32
-29
94
120
31
118
-51
0
0
0
0
3
0
1
-21
60
-15
38
35
41
52
60
177
103
0
0
0
3
-1
7
-28
-25
-20
65
22
6
100
72
6
-58
-37
0
0
0
0
0
-1
-13
-10
-28
-38
-14
-4
-13
46
54
-70
12
0
0
0
1
0
1
1
-1
5
2
-47
159
-25
-8
-77
-18
4
0
0
0
0
0
0
0
-8
-7
4
-7
-52
-64
-39
-53
12
0
0
0
0
0
0
0
0
0
1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
34
38
-99
-18
13
-239
-119
0
0
0
0
0
0
-1
-18
22
-25
25
-30
60
3
10
-2
-20
0
0
0
0
0
-2
-1
30
48
-25
-28
0
87
99
47
284
107
0
0
0
0
0
0
15
22
28
-1
7
-26
-45
26
127
-110
-9
0
0
0
0
0
0
-4
-16
-21
-41
14
47
53
-42
92
-14
-70
0
0
0
0
0
0
-1
-2
-14
30
18
-42
8
-75
-24
-71
41
0
0
0
0
0
0
-4
3
-14
4
0
118
31
87
-17
121
-38
0
0
0
0
0
0
0
3
2
-20
38
-11
3
-24
-6
42
27
0
0
0
0
0
0
0
1
-6
-7
3
46
-15
-41
8
-28
-1
0
0
0
0
0
0
-14
-5
0
-43
131
89
57
41
17
-20
-11
0
0
0
0
-1
1
-3
-42
104
33
0
-12
-8
-54
2
79
-22
0
0
0
0
2
0
-51
-7
15
-8
-69
-19
-9
57
-79
-7
89
0
0
0
0
0
3
-8
4
10
66
13
34
37
-11
29
-62
32
0
0
0
0
0
1
9
7
14
-15
68
-116
-29
11
12
106
88
0
0
0
0
2
0
-12
26
-55
53
-43
38
-38
-95
64
-30
-103
0
0
0
0
0
0
-1
-18
19
26
-8
30
49
20
52
41
-40
0
0
0
0
0
0
2
0
5
50
-7
-14
18
73
2
-17
-39
0
0
0
0
0
0
0
1
0
0
2
-1
11
27
9
0
0
0
0
0
-6
-3
20
25
91
0
0
41
101
-36
-37
-59
157
8
0
0
0
2
4
38
-5
0
15
0
96
60
83
33
75
-94
3
0
0
1
4
-29
-22
21
-33
-68
55
85
-51
108
33
21
22
94
0
0
0
0
0
14
-60
-67
57
-18
-30
-128
45
23
-46
22
49
0
0
0
0
0
13
13
13
10
4
-15
29
34
-60
170
28
0
0
0
0
-1
0
-6
3
12
44
-108
59
11
-114
106
-1
-38
78
0
0
0
0
0
3
-5
-54
-7
62
-33
21
-53
72
-76
20
14
0
0
0
0
0
3
6
-14
32
-7
10
-9
-56
39
8
3
0
0
0
0
0
0
0
0
0
-1
0
-13
-3
-1
-23
7
0
0
0
0
0
0
0
9
11
-10
0
-24
122
46
-68
1
16
55
22
0
0
0
0
0
0
-2
0
-25
0
33
-16
43
-21
-130
-8
-7
0
0
0
0
0
9
-8
38
-13
-8
48
80
-42
32
-39
-11
-7
0
0
0
0
6
-1
-18
-32
-27
22
95
-20
21
24
-10
46
-20
0
0
0
0
2
-1
-2
-3
35
-21
-16
53
-6
124
37
44
23
0
0
0
0
0
1
1
-2
3
-1
50
40
16
64
-24
8
-3
0
0
0
0
0
0
-1
1
0
9
22
0
-20
31
-19
-11
0
0
0
0
0
0
0
0
1
-2
-2
0
-14
51
-1
13
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
12
0
0
0
92
-18
51
47
19
23
23
0
0
0
0
0
0
6
67
0
4
16
34
10
-65
10
-6
64
0
0
0
0
0
0
2
68
-35
-12
18
70
21
25
-44
14
44
0
0
0
0
0
0
-3
53
-6
34
14
20
-7
-69
46
11
5
0
0
0
0
0
0
-1
3
-10
4
-7
16
50
-27
-12
-34
-11
0
0
0
0
0
0
0
1
-29
6
-13
50
-22
39
-24
83
0
0
0
0
0
0
0
0
0
6
-1
-2
5
6
17
-57
0
2
0
0
0
0
0
0
0
0
0
0
1
-1
-4
26
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
19
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
-1
34
-16
-14
-24
36
0
0
0
0
0
0
0
0
0
0
0
-5
-13
4
41
47
2
3
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
-68
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-11
-1
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
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
-1
-1
-10
-7
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
-1
-9
10
33
0
0
-60
0
0
0
0
0
0
0
0
0
0
-1
-7
-2
-30
80
98
-14
1
0
0
0
0
0
0
0
0
0
0
-1
-34
45
43
-11
49
0
0
0
0
0
0
0
0
0
0
0
-2
-5
18
-24
87
-13
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-4
50
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
2
11
-18
-20
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
-3
29
43
0
0
23
10
0
0
0
0
0
0
0
0
0
0
-1
5
-53
-24
-50
-5
1
0
0
0
0
0
0
0
0
0
0
0
1
4
-37
34
-7
6
0
0
0
0
0
0
0
0
0
0
0
6
16
-31
-5
-39
10
0
0
0
0
0
0
0
0
0
0
-3
2
8
3
-1
-25
2
0
0
0
0
0
0
0
0
0
0
0
1
22
-27
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
10
3
-14
-7
-25
0
0
0
0
0
0
-2
1
9
0
0
0
-87
-9
11
7
19
-9
1
0
0
0
0
0
9
9
-54
-93
-33
-2
17
-86
-29
51
-2
0
0
0
0
0
0
-5
-7
-17
49
4
48
-8
-48
7
-2
-19
0
0
0
0
0
0
0
2
21
28
40
34
1
-2
0
-2
-4
0
0
0
0
0
0
0
-1
12
-16
0
-20
44
-15
-6
-1
-1
0
0
0
0
0
0
1
0
-11
-1
-1
-3
-44
-3
-1
1
-1
0
0
0
0
0
0
0
-1
4
-4
8
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
12
0
0
0
-2
0
-1
1
0
0
0
0
0
0
-1
3
-3
-1
0
0
0
58
2
1
0
1
0
0
0
0
0
0
0
-1
2
17
0
2
-19
-1
0
7
1
0
0
0
0
0
0
0
0
1
9
40
23
-10
1
-1
1
0
0
0
0
0
0
0
0
0
-2
-15
10
-16
4
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
3
2
-1
8
0
0
0
0
0
0
0
0
0
0
-3
1
-4
0
-5
1
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-15
-107
-129
62
15
0
0
0
0
-6
-17
5
29
0
0
-16
21
86
-108
-124
-111
-25
0
0
0
-1
-3
-9
-14
41
44
-50
25
-13
-65
16
-8
-80
-162
0
0
0
0
0
1
13
18
-34
-104
-64
47
75
64
-52
45
-86
0
0
0
0
0
18
21
43
2
76
-17
84
-13
28
-46
-54
22
0
0
0
-1
2
-13
-15
9
-29
36
64
36
9
-35
-154
-43
-17
0
0
0
0
0
0
-6
-6
-8
33
63
53
-61
-34
120
-138
2
0
0
0
0
0
0
10
7
-6
-6
10
29
-30
34
-16
9
0
0
0
0
0
0
0
0
0
0
1
2
1
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
51
9
-67
-41
-39
85
-1
0
0
0
0
0
0
-1
-3
-38
-37
-94
-75
-90
-56
271
-1
-75
0
0
0
0
0
0
2
4
-1
-10
44
-51
11
12
-18
-60
-59
0
0
0
0
0
-9
-3
7
31
-15
-22
-51
7
102
-126
105
14
0
0
0
0
0
1
0
-3
5
-55
-21
-22
50
20
28
80
35
0
0
0
0
-1
0
-3
-1
13
10
-35
-50
23
113
-15
-11
-21
0
0
0
0
0
0
0
-3
7
26
-27
-13
4
-26
-91
-40
-67
0
0
0
0
0
0
0
-2
1
25
-15
7
53
-86
-23
-21
-48
0
0
0
0
0
0
0
0
3
-10
-4
-2
-28
33
-42
-27
58
0
0
0
0
0
0
5
18
0
41
-51
-27
1
-78
-32
-12
43
0
0
0
0
-1
3
-3
41
-84
-36
0
-19
40
-51
-17
-61
24
0
0
0
0
0
0
-3
10
-89
-118
18
-26
37
43
51
-39
-68
0
0
0
0
0
0
21
-34
44
-3
-67
135
-40
11
39
-75
-9
0
0
0
0
0
0
10
-24
-21
-21
5
4
-83
64
16
51
-116
0
0
0
0
-2
0
-17
-14
26
-8
-8
-49
32
107
44
-121
-106
0
0
0
0
2
0
5
-1
31
12
-44
-43
22
-43
9
-34
-75
0
0
0
0
0
0
2
1
-9
-9
-70
-25
30
21
82
-20
50
0
0
0
0
0
0
0
1
1
0
-3
-9
-52
6
-4
0
0
0
0
0
5
0
-23
-3
-49
0
0
-115
6
-83
-53
-81
-22
-72
0
0
0
0
7
-53
-10
0
21
0
-234
-16
15
-75
15
28
-18
0
0
-2
1
8
-50
33
145
11
-10
-157
20
-91
-117
-67
45
4
0
0
0
-1
1
11
-3
6
-57
-70
35
-21
-13
74
33
-34
-20
0
0
0
0
0
-2
6
15
71
50
86
79
36
38
-239
-76
37
0
0
0
0
0
0
12
6
15
10
23
46
6
22
108
23
-49
0
0
0
-1
-1
0
18
-20
-29
-15
15
86
91
74
-11
-5
-4
0
0
0
0
1
1
-2
-7
-19
-2
13
53
-44
56
-1
-9
0
0
0
0
0
0
0
0
0
0
4
1
1
-2
4
-6
1
0
0
0
0
0
0
-3
8
-61
0
25
-14
-57
46
7
-69
-73
-6
0
0
0
0
0
-10
29
0
-6
0
4
30
3
-54
-64
-15
34
0
0
0
2
-1
-5
-7
18
40
50
-7
-11
-30
-27
37
-46
18
0
0
0
0
0
-2
-5
-19
-3
-49
-12
-21
-57
-138
-85
-5
-11
0
0
0
0
0
0
-4
14
-10
17
55
-38
-10
-58
-23
-7
-37
0
0
0
0
0
0
1
-4
3
-4
6
40
12
53
-9
-2
6
0
0
0
0
0
0
0
0
-1
-6
6
12
55
-66
33
-4
0
0
0
0
0
0
0
0
-3
-1
0
-3
26
18
-44
-20
-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
13
-5
3
-33
-27
-12
-1
0
0
0
0
0
0
-3
-53
0
25
7
-46
-5
77
-19
-24
-25
0
0
0
0
0
0
0
25
16
-29
-2
37
-5
-30
-2
-78
16
0
0
0
0
0
0
9
9
1
45
8
13
-24
39
-35
-39
3
0
0
0
0
0
0
0
-5
-7
-19
23
14
-12
43
40
-2
1
0
0
0
0
0
0
0
-2
-12
13
9
-16
42
-42
-49
-42
3
0
0
0
0
0
0
0
-1
0
-5
-3
-7
10
-42
-17
-9
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
-12
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
0
0
0
0
0
-1
1
-22
52
0
0
32
0
0
0
0
0
0
0
0
0
0
3
-4
29
-27
9
24
14
2
0
0
0
0
0
0
0
0
0
0
-1
1
-23
1
-15
33
0
0
0
0
0
0
0
0
0
0
0
-1
3
-24
7
7
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
4
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
-1
-2
5
-25
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-15
23
16
51
0
0
55
0
0
0
0
0
0
0
0
0
0
0
-7
-50
-5
1
-62
26
0
0
0
0
0
0
0
0
0
0
1
5
-42
32
7
64
9
0
0
0
0
0
0
0
0
0
0
0
-4
9
18
45
25
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-24
2
2
3
0
0
0
0
0
0
0
0
0
0
0
1
2
4
12
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
6
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
-3
0
0
0
63
12
0
0
0
0
0
0
0
0
3
-1
5
-1
6
0
0
7
26
0
0
0
0
0
0
0
0
1
0
1
-2
2
38
-69
24
43
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
18
-3
-7
0
0
0
0
0
0
0
0
0
0
0
1
5
5
44
-38
-4
0
0
0
0
0
0
0
0
0
0
1
2
1
-17
13
-7
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-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
-3
9
0
0
0
49
10
11
-14
-1
2
0
0
0
0
3
9
39
-4
0
0
0
46
2
5
-21
7
2
0
0
0
0
0
0
6
6
-20
38
-8
166
14
-19
-20
-6
-1
0
0
0
0
0
0
8
6
30
-39
16
30
50
14
-8
8
1
0
0
0
0
0
0
-1
0
-7
-23
-7
57
-8
3
-29
4
0
0
0
0
0
0
0
-3
0
16
18
-14
-2
-2
-17
-1
-4
0
0
0
0
0
0
0
-1
-1
3
25
-1
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
-3
-7
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
-6
0
0
0
92
-13
-2
0
0
0
0
0
0
0
0
18
21
-1
0
0
0
20
-6
1
6
1
2
-1
0
0
0
-2
-7
25
72
71
154
0
72
19
-21
-7
2
-1
-2
0
0
0
1
1
15
18
16
-31
-55
-9
62
11
-3
0
3
0
0
0
0
0
0
1
-1
-19
38
12
-24
9
10
-19
0
-1
0
0
0
0
0
0
-1
-13
-8
14
56
1
0
-13
1
-6
0
0
0
0
0
0
-3
1
0
0
19
50
-4
-11
-2
5
2
0
0
0
0
0
0
0
2
6
8
12
2
2
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-18
0
0
0
2
10
76
84
85
137
41
0
0
0
3
-3
12
40
-1
0
0
118
-35
33
74
80
142
19
0
0
-5
0
-2
2
1
-73
-179
-49
28
-16
112
55
6
63
43
0
0
0
1
0
5
-9
-16
-38
1
57
-56
106
-47
116
6
-100
0
0
0
0
0
-7
-5
-40
-38
66
-81
-14
22
37
50
48
21
0
0
0
0
0
0
8
2
25
-9
30
-16
-15
79
-8
34
14
0
0
0
0
0
0
0
-2
21
-16
-31
3
-44
56
14
12
-10
0
0
0
3
0
0
-2
0
-5
5
13
7
-34
26
2
0
-4
0
0
0
0
0
-5
0
0
-2
3
5
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
3
0
0
-108
-80
-117
29
-52
-53
-87
0
0
0
0
0
0
-5
-23
-5
39
-2
-72
-9
57
43
58
20
0
0
0
0
0
0
1
9
-9
3
40
-29
80
-18
-5
-16
-1
0
0
0
0
0
0
-4
-1
7
-8
-5
40
-11
15
-3
4
-16
0
0
0
0
0
1
0
14
-9
-5
-25
20
-45
74
23
40
151
0
0
0
0
0
0
0
14
1
-11
-2
-1
-86
54
-56
-28
186
0
0
0
0
0
0
0
2
-14
-15
-5
-23
-51
-10
56
67
18
0
0
0
0
0
0
0
0
6
3
17
54
61
59
40
21
55
0
0
0
0
0
0
0
-1
-7
-9
39
-61
14
37
-8
-40
39
0
0
0
0
-1
-1
19
27
0
-20
-8
64
-63
23
85
-76
-19
0
0
0
-1
0
0
4
-23
21
-4
0
17
-51
1
-36
16
48
0
0
0
0
0
-1
11
7
-56
-22
21
89
-6
-10
-13
-22
87
0
0
0
0
0
1
-8
22
50
33
-87
110
-81
64
-3
32
42
0
0
0
0
0
-3
0
5
-30
-48
-25
-27
-129
19
96
51
-6
0
0
0
0
-1
0
0
4
-6
-5
57
51
18
53
75
169
21
0
0
0
0
0
1
0
1
-12
-7
7
-84
106
25
37
-5
27
0
0
0
0
1
0
1
0
-2
-27
6
-32
13
-10
-14
27
-4
0
0
0
0
0
0
0
0
0
-2
-3
0
13
18
4
0
0
0
0
0
0
-2
0
76
43
0
0
40
116
56
77
-34
67
42
0
0
0
0
-10
-18
-113
0
-59
0
8
-55
57
81
87
10
34
0
0
0
-1
3
-15
-6
-51
-101
67
16
-36
10
135
-7
26
19
0
0
0
1
-1
-1
5
-15
-24
-96
-87
-45
50
-26
220
-20
-65
0
0
0
0
2
6
-8
3
42
-3
74
68
60
116
55
11
-7
0
0
0
0
0
0
-10
74
-11
86
18
80
-64
7
55
24
-13
0
0
0
0
0
0
0
0
5
-52
0
-94
-25
-21
24
-15
-4
0
0
0
0
0
1
-1
-2
-19
-22
-14
0
-17
-9
-4
8
3
0
0
0
0
0
0
0
0
4
2
27
2
2
0
2
0
0
0
0
0
0
0
1
2
9
0
-13
-39
18
45
-14
26
39
-21
0
0
0
0
0
-2
-4
0
0
0
35
74
21
-1
0
76
-16
0
0
0
2
7
2
-20
3
17
-50
37
56
-97
19
42
40
-22
0
0
0
0
0
-1
-11
26
47
-5
-36
-33
103
34
7
-20
-1
0
0
0
0
1
0
-2
-4
21
32
-4
-48
45
65
-24
60
-9
0
0
0
0
0
1
0
1
-1
15
25
-14
-11
3
50
4
6
0
0
0
0
0
0
-2
0
0
3
5
9
17
-19
8
17
0
0
0
0
0
0
0
0
0
-6
-4
1
-11
0
-1
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
4
-6
0
0
0
-38
2
45
0
88
48
3
0
0
0
0
0
-1
50
-18
0
-13
63
20
-4
2
8
110
68
0
0
0
0
0
0
-1
12
37
1
-6
15
-14
21
42
86
7
0
0
0
0
0
0
3
32
9
40
-10
31
88
44
-8
127
-33
0
0
0
0
0
1
-1
8
-55
13
25
-23
9
42
-59
71
6
0
0
0
0
0
0
0
1
0
15
18
15
19
-45
0
11
8
0
0
0
0
0
0
0
0
10
-5
32
10
17
-3
12
-8
4
0
0
0
0
0
0
0
0
6
2
3
0
2
-4
16
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
-1
-13
-20
-4
176
-66
-3
0
0
0
0
0
0
0
0
0
0
0
-1
22
-51
-12
-27
18
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
-17
24
4
0
0
0
0
0
0
0
0
0
0
0
-2
-7
1
31
20
0
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
-3
1
7
-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
-18
8
0
0
0
35
0
0
0
0
0
0
0
0
0
-1
21
20
-12
-100
0
0
-9
-2
0
0
0
0
0
0
0
0
0
1
13
-8
6
-38
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
-6
15
23
-32
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
19
-33
42
14
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-29
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-15
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
-14
-12
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
-1
0
-3
0
0
0
-3
2
0
0
0
0
0
0
0
0
2
1
-3
6
1
0
0
-9
-7
0
0
0
0
0
0
0
0
0
0
-2
-3
64
-56
-25
-29
-20
0
0
0
0
0
0
0
0
0
0
0
5
-12
-25
20
-23
-16
0
0
0
0
0
0
0
0
0
0
2
1
-37
59
7
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
-35
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
-15
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
-4
0
0
0
0
0
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
-22
4
8
2
1
-1
0
0
0
0
0
-1
-2
-8
0
0
0
-61
24
-11
2
-7
0
0
0
0
0
0
0
-2
-3
61
-22
-19
-17
-13
0
2
-3
0
0
0
0
0
0
1
-4
0
1
-10
25
18
40
-4
-7
-4
0
0
0
0
0
0
0
0
2
2
-8
34
0
-2
-1
-16
0
0
0
0
0
0
0
0
0
2
10
16
-7
11
-3
-5
1
0
0
0
0
0
0
0
0
0
1
-2
10
3
4
2
2
0
0
0
0
0
0
0
0
0
0
0
-9
14
1
-1
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
-21
0
0
0
9
0
1
0
0
0
0
0
0
0
-1
-1
-8
-3
0
0
0
27
0
-1
0
0
1
0
0
0
0
0
0
-11
-33
-152
-18
26
0
-2
-3
0
1
0
0
0
0
0
0
0
3
7
-4
-4
50
7
-5
7
0
-2
0
0
0
0
0
0
0
6
0
-7
-3
-1
-2
-4
1
1
-2
0
0
0
0
0
0
0
0
-7
-2
1
-14
1
0
2
2
-2
0
0
0
0
0
0
0
0
-1
-1
1
3
-3
1
0
0
-21
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
-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
1
-2
5
0
0
0
-83
-84
-5
-66
-20
28
-2
0
0
0
0
1
19
-18
-8
0
0
-66
-6
23
43
34
-113
8
0
0
2
0
-6
7
0
-31
-19
-67
23
20
72
-66
11
15
37
0
0
0
0
0
2
26
1
-60
20
-39
-23
-19
-98
-144
50
5
0
0
0
0
0
-2
6
9
6
3
-8
67
7
52
9
-161
48
0
0
0
0
0
0
2
-12
-7
37
22
-30
-7
-8
-9
63
-4
0
0
0
0
0
1
0
-31
2
-8
2
-48
-7
4
-29
-42
1
0
0
0
0
0
0
0
0
0
-2
8
0
-1
5
7
0
-10
0
0
0
0
-1
2
0
0
-4
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
125
117
-9
117
-4
0
0
0
0
0
0
-1
8
37
-2
50
-23
-32
1
-26
-96
-16
0
0
0
0
0
0
-2
-6
7
-39
41
59
-9
17
3
-127
21
0
0
0
0
0
-1
-3
-8
-3
40
-12
-33
37
23
-27
-32
0
0
0
0
0
0
-4
1
2
2
0
-54
-67
3
-6
9
-48
-36
0
0
0
0
0
0
0
-19
8
6
10
-33
30
17
-117
-55
-72
0
0
0
0
0
0
0
-4
-8
7
-2
54
25
-37
-57
-154
2
0
0
0
0
0
0
-1
-2
-8
-10
37
7
-67
7
-109
-13
53
0
0
0
0
-1
0
0
5
-3
11
-2
53
-24
-2
56
-61
-30
0
0
0
0
0
0
3
33
0
-45
38
18
-6
30
-81
-34
40
0
0
0
3
1
1
-13
-2
-38
34
0
-56
-126
-23
-93
83
-18
0
0
0
0
0
-1
-7
11
26
13
-57
23
-61
-21
-1
-28
-95
0
0
0
0
2
2
5
-13
-37
-19
35
83
25
29
-100
24
53
0
0
0
0
0
0
0
-5
21
-12
28
92
30
22
-48
-71
22
0
0
0
0
0
0
2
0
-42
-22
-38
-33
-40
30
-123
-138
25
0
0
0
0
-1
-3
0
0
-9
21
13
-62
5
-5
53
42
41
0
0
0
0
-2
0
0
0
11
20
-1
-8
-57
-29
-3
36
-148
0
0
0
0
0
0
0
0
0
0
-1
1
-19
-2
4
0
0
0
0
0
0
-1
2
-4
-111
0
0
40
-57
-52
0
-17
36
-47
0
0
0
0
-2
-35
-14
0
-41
0
33
98
-124
-176
-18
-11
-58
0
0
0
3
1
-5
13
-17
-45
-204
-94
21
-20
-116
-25
50
-28
0
0
0
0
0
-1
-22
25
0
-9
-32
-13
55
-12
-58
35
-6
0
0
0
0
0
-4
18
-13
-100
-7
30
-10
-88
49
13
5
-28
0
0
0
0
0
-1
1
-17
-58
-35
30
-9
105
92
-24
10
-11
0
0
0
0
0
0
-1
1
3
47
40
-12
-12
-1
-43
1
-3
0
0
0
0
0
0
0
6
2
11
-4
26
16
-4
19
27
0
0
0
0
0
0
0
0
0
0
-2
1
-5
2
0
2
0
0
0
0
0
0
0
0
-3
2
0
-39
9
6
26
-16
19
-15
0
0
0
0
0
0
3
-14
0
-9
0
-34
-17
-72
-47
6
-5
-2
0
0
0
0
0
-3
-4
-11
-3
-16
15
-55
2
11
-22
-15
16
0
0
0
0
3
0
-2
8
4
16
5
-68
-37
80
-13
4
20
0
0
0
0
0
0
-3
-2
-16
-8
20
-59
61
-27
26
8
-24
0
0
0
0
0
0
0
-1
-4
2
11
6
17
32
-14
45
3
0
0
0
0
0
0
1
0
-2
-1
6
-13
-3
-5
0
-6
0
0
0
0
0
0
0
0
0
-1
8
0
7
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
2
1
0
0
0
0
0
0
4
0
0
0
-71
-7
28
25
72
48
12
0
0
0
0
0
-1
0
3
0
-38
-19
-81
28
22
-18
20
-51
0
0
0
0
0
0
0
10
10
-6
-39
57
7
-50
58
2
-11
0
0
0
0
0
0
-2
3
-6
41
-22
2
9
-5
-19
38
19
0
0
0
0
0
0
0
-28
8
-2
-1
-18
9
-18
-23
-40
9
0
0
0
0
0
0
0
-5
-4
0
4
-14
-9
42
-12
48
54
0
0
0
0
0
0
0
-1
-2
0
-1
7
9
-24
-30
-12
0
0
0
0
0
0
0
0
1
-9
0
2
7
2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
10
14
6
-2
0
0
0
0
0
0
0
0
0
16
72
10
-12
9
-10
-25
-2
1
0
0
0
0
0
0
0
0
3
59
12
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-34
-50
-19
-37
-6
0
0
0
0
0
0
0
0
0
0
0
1
62
-43
40
18
-5
0
0
0
0
0
0
0
0
0
0
0
-1
2
8
-20
13
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-29
1
9
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
14
18
-8
-5
-5
11
0
5
0
0
0
0
0
0
0
8
-6
-11
85
5
-14
-19
-7
19
4
0
0
0
0
0
0
0
-3
-73
47
-25
-16
25
9
0
-2
3
0
0
0
0
0
0
0
-2
9
-29
-45
-26
14
1
2
-1
0
0
0
0
0
0
0
0
9
33
27
-58
-2
-24
-5
0
0
0
0
0
0
0
0
0
0
2
10
-18
26
26
-2
1
0
0
0
0
0
0
0
0
0
0
0
3
27
-18
8
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
20
11
10
-6
11
-32
0
0
0
0
0
0
0
0
0
4
-3
-27
23
8
18
7
22
-15
0
0
0
0
0
0
0
0
-2
-11
-59
-15
-38
-2
0
2
0
0
0
0
0
0
0
0
0
-3
-29
46
52
-6
16
1
0
0
0
0
0
0
0
0
0
0
0
4
20
58
9
11
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
42
-11
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
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
16
-18
23
24
6
26
-11
0
43
0
2
0
0
0
0
0
17
1
19
7
45
24
20
56
-95
-29
-1
0
0
0
0
0
0
0
-20
-15
-23
-58
35
21
-23
-18
-10
-1
-3
0
0
0
0
0
19
16
2
60
46
-6
9
24
26
7
1
0
0
0
0
0
0
1
-8
-22
39
8
-2
22
-2
-1
0
0
0
0
0
0
0
0
3
-4
7
-5
-11
34
0
8
0
0
0
0
0
0
0
0
0
0
-3
-2
1
61
0
-3
4
0
-2
0
0
0
0
0
0
0
0
0
-1
5
0
0
3
0
-17
0
0
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
2
-4
14
17
-14
0
1
0
0
0
0
0
0
0
-6
1
15
37
22
21
26
-40
-2
0
0
0
0
0
0
0
0
7
6
40
14
58
2
-10
-1
-4
3
0
0
0
0
0
0
0
-16
27
22
9
-22
0
22
-7
5
-1
0
0
0
0
0
0
0
4
-28
63
-2
-2
5
-4
-2
1
0
0
0
0
0
0
0
0
-1
-6
-16
-9
18
-7
-8
1
2
0
0
0
0
0
0
0
0
0
3
-2
5
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
1
3
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-80
-6
36
92
-22
0
35
7
6
3
0
0
0
0
51
77
-29
15
145
90
-13
25
-131
-19
34
18
22
0
3
0
0
-31
-48
20
-55
78
-28
38
3
-175
43
46
-1
17
2
0
0
0
-28
28
17
-21
54
77
5
18
-3
146
145
41
-1
3
0
0
0
8
-33
79
35
53
71
4
112
-2
74
49
48
-2
0
0
0
0
0
-20
33
-43
30
-19
-17
58
33
-27
26
-9
0
-1
0
0
0
0
55
-21
-4
-32
-40
2
-23
12
-12
-15
0
-3
0
0
0
0
0
4
-10
-9
-15
-3
15
-6
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
68
44
-20
-114
0
-7
-14
33
-1
0
0
0
0
0
3
-5
67
5
88
-77
28
54
-26
34
-9
25
-2
-2
-1
0
0
-2
-19
13
-4
20
-10
-1
34
-20
54
-25
11
4
0
0
0
0
-1
12
-61
4
-22
55
45
61
-7
4
4
7
-1
0
0
0
0
0
-2
-25
10
-78
-72
-4
-51
43
-63
-15
2
1
-1
0
0
0
0
12
29
21
-6
103
-32
4
68
-3
6
13
0
-4
0
0
0
0
9
23
-50
-29
4
38
5
24
23
-6
4
-2
1
0
0
0
0
-1
15
21
10
-18
7
67
17
75
-2
-8
-1
2
0
0
0
0
0
0
-3
0
11
6
9
72
-29
-3
13
1
0
0
0
0
0
-17
-38
56
76
93
-28
0
74
11
11
7
1
2
0
0
0
0
15
-68
48
23
90
7
-47
3
-9
-13
3
4
0
0
0
0
0
-55
1
83
70
5
51
-32
39
-50
-33
-38
15
0
0
0
0
0
-56
30
-44
-75
106
-14
22
4
8
3
-5
-6
7
0
0
0
0
-10
-42
-2
165
31
42
-3
47
43
17
43
5
0
0
0
0
0
-5
-44
-35
72
109
121
39
24
-47
21
-40
2
0
0
0
0
0
-2
-4
55
37
3
-41
35
9
-45
14
49
-2
0
0
0
0
0
0
20
65
-26
-20
8
20
6
17
-10
-12
1
0
0
0
0
0
0
0
29
1
-43
26
-9
-3
0
1
0
0
0
0
0
17
6
-36
25
-5
-13
34
-17
0
-55
9
37
-6
1
0
0
0
-2
3
5
16
154
30
-59
-3
-12
7
-4
48
17
-9
-1
0
0
-49
64
-47
24
-93
57
-71
44
-43
84
17
54
-6
-6
-1
0
0
-28
133
47
15
85
88
37
-58
76
36
13
17
3
-3
1
0
0
31
95
64
33
60
34
-4
0
-11
18
66
7
6
5
-3
0
0
24
29
0
8
60
0
21
34
-15
25
40
18
0
5
0
0
0
2
14
-11
-10
-4
-27
10
49
7
-14
-6
2
1
0
0
0
0
0
-2
-6
-14
13
16
-35
-13
-7
8
-1
0
0
0
0
0
0
0
0
0
1
1
-2
-2
0
0
1
0
0
0
0
0
0
0
10
18
-15
-3
65
39
-44
47
0
-30
-2
10
-3
0
0
0
0
9
25
50
34
67
27
136
-83
42
3
6
2
13
0
0
0
0
34
19
23
12
-1
32
-110
41
54
-39
21
-2
0
0
0
0
0
-16
-22
4
-13
47
-6
36
17
92
27
-5
2
0
0
0
0
0
38
2
-37
-61
18
-13
20
54
-21
26
0
2
0
0
0
0
0
-1
-11
-40
63
-59
14
42
-26
-32
3
3
1
0
0
0
0
0
0
-1
22
-1
58
-54
-24
65
-7
-3
3
1
0
0
0
0
0
0
0
-5
5
1
45
-8
11
-3
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
37
-42
23
11
39
-14
58
0
-32
7
0
0
0
0
0
0
17
29
-48
24
7
14
53
2
-41
44
-1
3
0
0
0
0
0
-5
22
67
19
-25
-3
62
-25
-31
55
5
-4
-1
0
0
0
0
18
99
-25
0
-20
-12
16
82
8
25
20
1
0
0
0
0
0
1
-15
10
39
-14
-12
17
39
-11
4
-5
2
0
0
0
0
0
0
8
9
19
19
-18
4
-9
20
26
0
0
0
0
0
0
0
4
-1
10
-7
12
33
34
22
7
-15
-5
0
0
0
0
0
0
0
1
0
0
-2
-13
2
10
40
6
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
22
-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
5
-17
42
-62
7
-9
-4
-8
0
0
0
0
0
0
0
0
0
-3
-26
56
44
-9
3
8
-49
11
3
0
0
0
0
0
0
0
4
-6
-58
19
11
-1
-1
1
0
0
0
0
0
0
0
0
0
0
13
44
-2
14
6
0
0
0
0
0
0
0
0
0
0
0
1
40
-6
34
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-50
-37
18
2
-2
0
0
0
0
0
0
0
0
0
0
0
-22
-8
-3
3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-2
4
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
13
-32
-7
-16
43
-1
22
0
1
0
0
0
0
0
0
0
30
-25
-95
-12
6
-35
10
-20
52
-15
1
0
0
0
0
0
0
4
-48
-73
-36
35
61
32
4
2
2
0
0
0
0
0
0
0
-24
34
80
87
47
-14
-1
1
1
1
0
0
0
0
0
0
0
3
10
28
102
24
-26
-10
0
0
0
-1
0
0
0
0
0
0
0
-15
15
50
-14
2
-2
0
0
0
0
0
0
0
0
0
0
0
7
8
-8
-12
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
2
-10
-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
-1
-43
-20
-63
-35
12
-16
1
0
-2
0
0
0
0
0
0
0
-1
-25
-65
-21
-11
16
9
45
17
-9
0
0
0
0
0
0
0
-2
118
17
-8
76
16
-14
0
-1
0
0
0
0
0
0
0
0
1
60
-57
-17
-18
8
3
-1
0
0
0
0
0
0
0
0
0
-1
1
-1
-35
18
11
2
0
0
0
0
0
0
0
0
0
0
0
-1
-24
1
42
-4
-1
1
0
0
0
0
0
0
0
0
0
0
-7
33
43
-1
0
-1
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
-2
-7
-12
-39
14
14
-6
-77
0
-18
0
-4
0
0
0
0
0
-6
-29
-116
36
-19
-7
-3
-106
-65
-83
0
0
0
0
0
0
0
-19
-12
22
-22
19
38
79
-13
8
-1
0
0
0
0
0
0
0
5
37
7
38
-9
0
-43
26
-8
-9
0
0
0
0
0
0
0
-1
1
4
-4
21
22
14
-18
0
0
0
0
0
0
0
0
0
-5
-7
10
53
4
6
9
-4
-1
0
0
0
0
0
0
0
0
0
0
-5
3
1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
-2
-35
18
11
-3
1
-6
-3
0
0
0
0
0
0
0
0
0
3
-6
35
38
-8
-18
4
-12
4
5
0
0
0
0
0
0
0
0
24
48
-24
-3
2
4
-1
-1
0
0
0
0
0
0
0
0
4
-13
1
33
7
-1
2
0
-2
0
0
0
0
0
0
0
0
1
11
-12
-27
-20
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-8
-17
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
28
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
-4
-46
-31
5
80
-51
102
-233
0
-166
-31
19
-10
13
0
0
0
-3
37
18
24
-45
-68
64
-190
-58
-76
-18
19
-2
25
-4
0
0
31
65
6
-113
-40
50
-41
23
112
172
55
-15
-42
18
0
0
0
26
9
-20
17
-30
-122
31
117
88
25
-76
-25
18
7
0
0
0
45
11
-49
-59
-13
-25
-71
32
-1
4
20
-39
17
0
0
0
0
9
-27
80
71
-5
82
-46
-5
-60
28
-8
-15
-1
0
0
0
0
0
-7
-21
3
-36
-9
27
-35
6
3
2
3
1
0
0
0
0
0
1
8
35
14
4
-12
-1
-51
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
-37
-10
-94
179
0
-77
-50
-25
-34
3
0
0
0
0
0
26
60
-4
-117
56
-11
47
-43
-114
-78
-24
-6
1
0
0
0
-1
-24
1
-39
21
-21
-48
3
-26
-33
72
-12
10
1
5
0
0
0
-1
5
-140
-14
-83
-2
-27
3
-6
-36
1
-4
-1
0
0
0
0
-3
68
-18
39
-73
6
110
-20
59
-1
11
16
0
0
0
0
0
-6
-1
-46
-6
-19
-28
-62
57
3
-4
4
1
3
0
0
0
0
0
-20
-5
-20
-69
2
128
36
11
3
6
14
0
-1
0
0
0
0
1
39
-8
35
53
-29
-50
8
37
-12
-3
0
0
0
0
0
0
0
-2
-2
-4
14
48
-57
30
-22
-4
-2
0
0
0
0
0
-15
65
-114
-160
31
-68
0
58
52
-6
51
-1
0
0
0
0
0
20
42
212
-146
-69
-44
82
49
56
8
-22
15
1
0
0
0
0
-44
-78
-109
-69
-101
-66
99
-58
27
-24
-2
-20
0
0
0
0
0
-24
-41
4
-13
-17
110
-189
-32
-55
30
-1
17
-3
0
0
0
0
17
77
-20
-120
-9
66
-89
-39
12
-28
-22
15
-5
0
0
0
0
1
1
9
-48
-17
26
6
-1
29
27
-9
-6
0
0
0
0
0
-1
-3
25
122
43
52
-14
27
30
-64
-1
-6
0
0
0
0
0
0
7
-96
33
-38
-90
-39
-26
-45
5
4
3
0
0
0
0
0
0
0
-12
2
8
11
-4
12
2
-4
-1
0
0
0
0
32
40
-54
-8
-31
-48
-4
-254
0
-156
-71
-48
0
-3
0
0
0
3
42
-149
-26
-43
-37
148
-28
-43
-178
-30
-15
-16
0
0
0
0
2
0
-52
-81
-12
71
23
123
43
73
77
-1
24
-5
-5
0
0
55
17
15
69
-121
69
17
-67
30
62
25
-44
17
-1
-1
0
0
-20
-79
27
9
-110
68
42
0
67
-12
11
47
13
-8
3
0
0
-8
-29
75
66
39
19
31
-64
-18
-2
-10
16
0
0
0
0
0
2
14
50
3
28
-26
5
13
20
14
-34
-11
-1
0
0
0
0
0
-5
-15
-18
-17
-14
-13
10
-9
-6
4
0
0
0
0
0
0
0
0
0
2
0
5
2
-1
0
0
0
0
0
0
0
0
0
5
-19
17
-25
5
-39
-35
-1
0
27
-41
-19
2
0
0
0
0
-5
-1
11
5
32
50
-78
-40
-92
-48
-17
-1
6
0
0
0
0
7
-9
70
-10
86
16
132
35
-86
7
-58
-5
0
0
0
0
0
-6
16
-57
-8
11
-63
-5
-32
-39
-26
6
-7
-1
0
0
0
0
-1
-15
32
40
-23
-39
-30
-66
40
19
0
0
-1
0
0
0
0
0
2
-37
-26
-27
21
-22
-15
-13
2
-12
0
1
0
0
0
0
0
-1
16
-3
16
27
-13
-25
20
9
-4
0
0
0
0
0
0
0
0
0
2
-2
4
-27
-1
2
1
4
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
1
-26
7
-13
1
-1
-22
-86
0
-35
-13
-1
0
0
0
0
0
-3
-51
-69
-36
-26
30
-35
28
-75
-16
-10
-11
1
1
0
0
0
11
3
27
5
-1
29
-58
54
7
-12
-25
7
-2
1
0
0
0
10
12
37
-35
43
18
6
50
-51
57
-3
3
-1
0
0
0
0
9
-18
-15
11
-4
22
14
-22
-38
41
35
-22
0
0
0
0
0
-2
-3
3
5
-38
6
11
29
25
22
13
1
0
0
0
0
0
0
0
0
-1
2
9
-28
-19
31
-11
4
5
0
0
0
0
0
0
-2
0
-1
-3
-5
1
13
-68
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-10
-23
-7
-1
0
0
0
0
0
0
0
0
0
0
9
26
0
41
-2
-21
11
0
0
0
0
0
0
0
0
0
0
3
72
-27
-38
1
-4
0
0
0
0
0
0
0
0
0
0
0
29
0
-31
2
5
0
2
0
0
0
0
0
0
0
0
0
0
-2
12
24
-12
12
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-8
34
17
-1
-2
0
0
0
0
0
0
0
0
0
0
0
5
23
18
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-6
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
5
-13
-3
16
5
0
0
0
0
0
0
0
0
0
0
-4
25
-3
-13
15
24
-21
0
0
0
0
0
0
0
0
0
0
-10
-2
4
128
-9
12
1
-1
-6
0
0
0
0
0
0
0
0
11
-24
-39
24
0
-12
3
0
0
0
0
0
0
0
0
0
0
2
-8
-50
42
20
-8
3
0
0
0
0
0
0
0
0
0
0
4
-2
-14
27
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
11
13
6
8
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
2
11
23
4
-10
12
0
0
0
0
0
0
0
0
0
0
1
34
71
-10
-62
-30
-10
0
0
0
0
0
0
0
0
0
0
4
-2
33
17
14
-23
2
3
-2
0
0
0
0
0
0
0
0
-2
-1
10
17
-11
16
2
0
0
0
0
0
0
0
0
0
0
0
4
-14
10
-33
-2
5
0
0
0
0
0
0
0
0
0
0
0
5
7
7
-31
1
2
0
0
0
0
0
0
0
0
0
0
0
0
9
24
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
-6
-3
27
10
26
18
-24
0
0
0
4
6
0
0
0
0
0
-12
-18
15
9
25
-16
-24
0
0
0
2
0
0
0
0
0
0
12
8
9
50
76
-31
-36
-8
12
-9
-1
0
0
0
0
0
0
25
86
74
-14
-12
-3
-1
14
-12
1
0
0
0
0
0
0
0
-1
12
-51
58
-14
9
18
6
6
0
4
0
0
0
0
0
0
-5
7
-27
48
18
-6
30
-7
4
0
0
0
0
0
0
0
0
1
9
57
3
-19
1
2
0
8
0
0
0
0
0
0
0
0
0
7
10
5
-6
-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
-29
5
-27
-1
-18
-5
-3
0
0
0
-2
0
0
0
0
0
0
35
-28
112
19
-7
37
-49
0
0
0
0
0
0
0
0
0
0
12
32
29
6
6
-1
-4
-9
-33
20
0
0
0
0
0
0
0
4
8
27
43
-9
9
10
-23
20
-1
0
0
0
0
0
0
0
39
68
77
100
34
41
10
4
1
-2
0
0
0
0
0
0
0
-20
5
56
-64
19
-3
-6
9
0
1
0
0
0
0
0
0
0
-7
19
68
81
32
0
0
-5
0
1
0
0
0
0
0
0
0
-4
-9
0
-16
-4
11
-4
4
1
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
-17
-31
27
-57
-29
51
39
0
0
0
-18
-66
35
3
2
2
0
26
28
-4
-41
15
-91
112
0
0
0
-55
88
5
-44
7
0
0
8
-27
94
-21
-25
222
127
69
-17
-105
65
56
46
25
3
0
0
54
-26
-37
-119
-55
75
34
206
43
35
-14
35
-15
8
0
0
0
0
5
21
16
-6
58
86
6
-2
1
49
6
-10
1
0
0
0
0
-3
2
-4
-36
13
-38
76
44
34
27
0
0
0
0
0
0
0
-2
-9
-9
-13
42
-24
-23
2
-28
-37
0
2
-2
0
0
0
0
13
6
-3
12
5
2
-15
15
-3
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
21
0
0
0
-25
-42
-12
9
-4
1
-1
0
1
2
97
32
92
106
0
0
0
99
-18
82
9
9
-5
0
0
-3
-24
34
2
-34
86
23
128
150
-4
-9
29
16
-4
-7
0
0
-1
15
-23
15
-43
12
45
-35
-30
96
24
11
15
-6
-3
0
0
0
-5
14
19
-33
36
-63
89
-2
3
81
-15
9
1
-6
1
0
0
0
-5
-49
19
-37
-56
-50
58
-35
34
36
21
-21
3
0
0
0
1
39
-28
22
-27
-15
63
60
50
50
-39
0
-4
4
1
0
0
0
20
-75
31
-20
-113
-30
-42
91
-14
-8
33
-15
-5
7
0
0
0
14
-15
20
-1
-2
-133
-58
-94
35
16
1
0
-1
0
0
0
6
-19
31
59
134
0
0
0
41
-26
-10
-15
-6
1
0
0
0
41
27
68
-5
65
0
0
0
-48
64
42
-46
13
-9
0
0
0
67
97
-135
85
126
65
37
44
44
48
-2
4
-15
0
0
0
0
23
7
-24
43
-8
13
22
64
19
-18
-4
-19
10
-4
0
0
0
48
-12
-6
78
-23
40
-57
77
68
-27
5
-15
-5
1
0
0
0
9
-17
-59
-21
137
-86
-72
176
28
-23
-78
-14
13
2
0
0
0
-1
37
-56
24
-45
-49
14
-47
5
11
6
-37
-3
0
0
0
0
-1
1
37
3
-60
49
-38
71
-63
-43
-16
-56
-1
3
0
0
0
-5
-8
-8
22
29
-20
9
-4
-2
-1
0
0
0
0
0
18
9
-26
-33
12
62
131
0
0
0
61
14
31
1
0
0
0
-1
2
-112
41
54
150
-20
0
0
0
64
-16
-19
18
9
0
0
93
49
38
-80
-35
106
103
37
-86
75
21
-8
-41
7
2
0
0
-16
28
28
-108
-41
3
-32
102
72
35
-35
-9
-40
0
0
0
0
22
25
35
-25
-95
124
2
87
-19
78
-5
-14
-7
-5
0
0
0
0
37
6
18
-26
12
-35
-106
24
32
19
5
2
-4
0
0
0
-11
-35
22
-23
57
0
-30
-34
-35
-10
-5
1
2
0
0
0
0
0
-5
-24
-25
-34
8
24
-2
21
-12
5
0
-1
0
2
0
0
0
0
0
0
7
-1
0
0
0
-1
0
-2
0
0
0
0
0
8
-1
-10
-20
72
-8
-43
0
0
0
-15
13
0
0
0
0
0
21
-4
29
-12
3
15
4
0
0
0
68
3
-3
0
0
0
0
20
12
-35
-6
-37
57
81
27
-53
100
-51
10
-3
1
0
0
0
-2
-24
-37
-84
-6
55
-87
2
-11
54
20
-5
0
0
0
0
0
5
-8
25
74
28
15
17
19
28
4
8
5
0
0
0
0
0
-6
23
22
-4
28
35
54
41
-57
10
3
-1
0
0
0
0
0
0
0
4
1
-19
23
-10
-20
35
14
0
-1
0
0
0
0
0
0
0
0
3
-5
11
-9
0
16
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
7
-22
8
-33
23
22
15
0
0
0
5
34
1
-1
0
0
0
-15
6
46
12
-114
63
-67
0
0
0
63
-24
2
-2
0
0
0
24
-64
-7
19
30
-45
16
35
-71
37
-7
-18
13
-1
0
0
0
2
43
43
-11
-32
26
4
8
4
182
14
11
-5
0
0
0
0
9
32
23
19
60
46
-25
110
18
34
-32
-14
2
-2
0
0
0
-2
-16
6
54
57
28
20
73
24
87
7
12
2
0
0
0
0
-2
12
37
20
-17
68
-5
35
66
-11
-4
8
1
0
0
0
0
0
1
-5
5
4
-27
15
-14
25
-9
31
5
0
0
0
0
0
0
-3
0
0
0
0
0
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
-11
1
23
-9
-14
0
0
0
0
0
0
0
0
0
0
0
-10
-24
2
-41
64
2
2
0
0
0
0
0
0
0
0
0
0
-32
53
24
-25
15
3
1
0
0
0
0
0
0
0
0
0
0
-19
-36
-13
-4
35
-11
1
0
2
0
0
0
0
0
0
0
0
-2
-1
11
-45
-5
7
1
0
2
0
0
0
0
0
0
0
0
-3
1
-32
1
7
5
0
0
0
0
0
0
0
0
0
0
0
6
-5
13
-13
4
1
0
0
0
0
0
0
0
0
0
0
0
0
4
25
14
0
1
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
-10
-20
45
-34
4
-8
1
0
0
0
0
0
0
0
0
0
0
-63
-45
16
-62
-13
31
-7
0
0
0
0
0
0
0
0
0
0
-12
-16
5
65
-3
-26
12
1
0
0
0
0
0
0
0
0
0
2
23
-1
-19
8
6
-9
0
0
0
0
0
0
0
0
0
0
1
11
-3
-10
28
-2
1
0
0
1
0
0
0
0
0
0
0
-2
-9
4
45
11
0
6
0
0
0
0
0
0
0
0
0
0
4
-62
21
-21
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
7
2
1
0
10
0
0
0
0
0
0
0
0
0
0
0
-2
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-7
35
21
-42
5
0
0
0
0
0
0
0
0
0
0
7
9
-23
-103
-3
-20
-6
0
0
0
0
0
0
0
0
0
0
-8
-12
38
9
24
-16
-5
0
0
0
0
0
0
0
0
0
0
-5
-7
-39
-8
-8
4
1
0
0
0
0
0
0
0
0
0
0
0
-18
22
18
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-62
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-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
1
3
8
12
-38
10
-4
0
0
0
0
-5
0
0
0
0
0
1
-8
5
-4
-41
8
-30
0
0
0
-2
0
0
0
0
0
0
-11
-20
-62
-2
64
-13
-35
-34
-2
2
0
0
0
0
0
0
0
1
-40
24
46
34
-34
-9
11
-7
-1
0
0
0
0
0
0
0
0
19
38
-4
16
5
-8
0
1
-1
4
0
0
0
0
0
0
0
-23
3
-24
21
-4
-1
1
0
0
-1
0
0
0
0
0
0
0
0
10
4
-4
3
-2
-1
-4
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
1
18
-13
-7
2
-10
1
0
0
0
0
0
0
0
0
0
0
-33
-32
10
-34
-10
-30
37
0
0
0
1
0
0
0
0
0
0
6
-20
-42
8
20
-11
0
7
1
-2
0
0
0
0
0
0
0
5
-13
-68
3
-21
-14
-2
2
-1
1
0
0
0
0
0
0
0
-2
-9
9
-3
1
8
17
2
2
0
0
0
0
0
0
0
0
3
2
1
26
-8
7
1
-23
0
-1
0
0
0
0
0
0
0
-1
1
-10
-16
0
2
1
0
0
0
0
0
0
0
0
0
0
4
4
-1
3
5
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
41
-25
-22
-23
56
-58
0
0
0
45
-52
-2
-14
-1
-2
0
16
-11
-3
21
-18
-14
-151
0
0
0
-13
-21
-23
0
-3
-2
0
33
-4
-2
-61
-14
-72
30
-69
38
38
-48
-15
-7
-24
-1
0
0
-10
-58
-54
61
-30
26
-60
-108
-60
112
66
3
1
-11
0
0
0
-7
-31
-49
38
8
-30
15
-70
-46
-36
57
42
-6
-1
0
0
0
-1
-12
7
10
-4
-10
68
9
-72
35
3
15
-5
0
0
0
0
0
23
-2
-9
32
-12
-37
27
27
-4
13
1
0
0
0
0
0
-1
7
0
-13
-24
-3
-10
12
-7
-10
-3
0
-2
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
6
-11
7
57
40
0
0
0
12
51
40
-47
10
-2
0
0
0
5
-3
-23
-40
-70
0
0
0
-86
28
-21
0
-32
7
-3
0
-4
-21
7
-5
18
-67
-11
-135
-130
73
-67
-11
35
-20
6
2
0
0
-6
-1
-34
-12
-42
10
9
-64
14
-18
3
6
1
15
0
0
0
-2
-38
-18
-7
8
-61
-77
-32
-3
-3
3
-31
30
5
4
0
0
-1
-25
-44
-70
-5
60
-14
7
-12
36
-29
-5
-18
8
-2
0
0
-3
-12
-35
2
-1
-18
-74
-24
71
-11
84
10
4
-5
0
0
0
1
-6
2
2
0
52
-42
-25
-41
22
-2
6
5
5
-3
0
0
0
-1
48
-20
-19
-81
87
84
53
60
-28
-18
-13
0
0
0
0
-20
-41
-59
-13
-26
0
0
0
-25
-8
-70
30
-6
1
-1
0
0
-6
-96
-66
-48
49
0
0
0
-8
-36
-4
-48
-27
10
0
0
0
-7
-46
5
25
-19
8
27
-21
23
38
26
2
-25
1
0
0
0
-3
-29
7
58
-26
-98
64
-58
-21
54
36
-14
-4
5
0
0
0
-11
-38
15
-9
-61
78
55
-16
-74
13
53
5
4
-1
0
0
0
1
-21
11
-20
-80
57
-28
-160
29
-23
23
-15
7
-1
0
0
0
0
1
-15
-104
40
69
96
-34
-20
17
2
18
2
2
-1
0
0
0
2
-8
27
-10
-8
-26
-15
102
4
-24
-14
-6
-4
0
0
0
0
0
11
-4
25
23
17
-2
0
-1
0
0
0
0
0
-19
17
-22
20
1
49
-68
0
0
0
2
-43
3
2
0
0
0
16
-32
-61
-37
-122
-8
-82
0
0
0
73
-45
10
-13
12
-1
0
10
-92
-54
-89
4
30
61
-70
16
-89
46
-43
22
-10
0
0
0
8
-36
-12
-70
51
-59
36
-10
33
-10
29
1
4
17
-1
0
0
1
39
-50
-112
-33
-22
73
-48
-42
-41
-12
38
-11
-3
0
0
0
-5
5
13
-62
29
-53
-18
-49
37
-30
11
3
-2
0
0
0
0
0
10
-29
19
-31
-36
21
34
5
-18
0
-5
1
0
0
0
0
1
1
5
9
-18
9
1
-1
-1
-4
-2
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
1
0
0
0
0
0
0
0
3
5
-6
-11
-42
3
-19
0
0
0
31
-2
-1
0
0
0
0
2
-11
13
-42
-69
43
-22
0
0
0
20
-17
9
-1
0
-1
0
3
-25
10
-27
63
20
-5
-36
17
4
2
21
0
0
-1
0
0
-2
-9
-2
1
-17
-4
-33
64
-6
-11
-17
9
1
0
0
0
0
0
2
1
33
7
-49
-6
-12
-37
8
4
0
0
0
0
0
0
0
2
-7
-19
62
17
-77
-47
-10
20
1
1
0
0
0
0
0
0
0
-2
-2
-4
10
-8
-7
11
2
1
1
0
0
0
0
0
0
0
0
-1
-7
5
1
-12
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
-5
2
-5
0
-4
-11
-50
0
0
0
42
-17
0
-1
0
0
0
0
-8
-18
-22
-12
-2
-19
0
0
0
14
-9
-16
0
0
0
0
0
-3
2
-3
7
-21
23
2
-26
0
-33
1
-4
4
1
0
0
0
4
-1
3
19
-23
-33
40
-11
22
1
8
4
-5
0
0
0
0
-8
5
-5
3
37
11
22
-9
10
5
-5
0
0
0
0
0
1
-1
-4
6
-16
14
27
13
-2
3
-48
4
-1
0
0
0
0
0
-1
1
-3
7
-22
10
19
52
27
-6
-1
0
0
0
0
0
0
1
4
0
7
-3
0
14
-10
-44
4
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
4
0
0
0
-83
-47
43
94
-169
2
72
127
64
-14
0
0
0
0
0
0
144
31
40
84
-53
114
-78
71
-42
22
0
0
0
0
0
0
-21
21
-20
115
-191
-37
-7
30
63
135
0
0
0
0
0
0
-19
-72
49
38
-212
-91
-35
120
51
100
0
0
41
73
-103
-150
-97
34
0
-105
7
-56
12
-87
51
37
0
0
44
-23
-35
-49
-133
-29
0
-180
118
38
48
32
-42
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-152
-124
-142
-96
35
21
30
-50
-127
-164
-181
-119
30
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-160
-80
-172
-72
14
-29
84
-35
-159
-38
-154
-60
36
-12
0
0
-191
-157
-113
-79
-2
-53
-23
-21
-197
-79
-47
-36
21
80
0
0
-284
-202
-143
-73
-2
-13
20
-35
-177
-100
-81
-61
-10
30
0
0
-175
-257
-193
-196
41
35
120
-198
-109
-219
-52
-114
-42
51
0
0
-152
-62
-201
-88
0
82
61
-209
-17
-67
-53
-136
-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
-15
0
0
0
2
33
-15
63
87
-16
-7
0
15
-2
0
0
0
0
0
0
9
5
-25
55
-6
35
-9
-111
-75
-21
0
0
0
0
0
0
111
-62
25
66
-95
-99
-70
-57
8
-5
0
0
0
0
0
0
8
-28
58
-2
-170
-141
-24
-62
47
61
0
0
-64
1
0
1
137
23
0
59
-131
-122
-117
-193
-67
39
0
0
-5
0
-1
0
-160
30
0
-11
-32
-42
8
-55
34
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-171
-21
-189
-55
31
46
52
76
-261
-200
-199
-21
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
41
-123
-52
32
11
152
-57
-86
40
-145
-63
33
103
0
0
-161
-138
-135
-65
-16
-9
110
-42
-134
-35
74
-38
23
56
0
0
-189
-46
-77
-100
59
76
-3
-86
-238
-11
-123
90
10
42
0
0
-225
-90
-261
-271
8
-12
111
-212
-343
-226
-303
-218
-32
-43
0
0
-311
30
-185
-92
-17
185
56
-324
-230
-170
-191
-338
46
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
11
0
0
0
-75
-17
138
-1
-78
-5
119
118
81
-8
0
0
0
0
0
0
28
-80
-10
32
-116
-41
-87
212
47
-36
0
0
0
0
0
0
-133
-70
45
63
54
-203
-76
190
84
-22
0
0
0
0
0
0
6
-159
36
37
31
-136
12
99
12
85
0
0
-81
-86
-61
-4
15
-11
0
-44
-9
-65
170
9
177
73
0
0
-82
-24
15
-141
67
117
0
-57
56
-85
61
-46
-29
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
103
-20
50
-31
-62
-78
-109
-49
-94
-73
-50
-15
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
53
27
-61
2
-65
-88
-59
-18
53
-174
-35
-67
-137
0
0
-114
-102
48
-63
-48
-134
-31
-126
-136
-179
-11
-96
-130
-105
0
0
-114
-136
-120
-114
-45
-122
93
-50
21
-119
15
28
6
3
0
0
66
-68
64
-55
-81
-56
-44
-146
76
20
28
-14
-13
10
0
0
-48
-70
-117
-75
-45
-60
-108
-146
4
-141
-88
-77
50
-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
-3
0
0
0
-61
-76
-48
201
-54
-44
118
49
-55
-26
0
0
0
0
0
0
-107
-34
63
43
-82
-1
28
55
-15
-66
0
0
0
0
0
0
117
-66
25
230
-87
-5
-9
129
-144
-48
0
0
0
0
0
0
79
-19
-78
202
-72
-98
-25
41
-86
-90
0
0
-18
0
-1
0
9
-15
0
-140
-66
21
118
-143
-150
5
0
0
-10
0
0
0
-29
-85
0
79
-127
-26
3
-7
-55
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
-48
40
-17
-177
-71
43
177
39
-26
100
-92
-202
-206
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-17
15
2
44
15
-148
-22
-1
66
-214
-9
-143
-31
0
0
-49
-114
42
8
-88
-34
-82
-66
-13
-92
128
-19
-185
-121
0
0
138
-98
-47
-12
-87
-122
31
48
59
-30
-91
194
-136
-152
0
0
-11
-7
-45
-84
-11
-51
-100
-242
-30
9
32
10
180
-154
0
0
-1
7
-21
-62
-139
-36
9
-43
-10
-177
-29
-39
17
-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
6
0
0
0
43
56
178
124
-9
-43
-12
55
55
84
0
0
0
0
0
0
27
87
106
43
-39
-32
-31
56
34
36
0
0
0
0
0
0
10
14
77
14
-64
-146
-12
-45
6
-1
0
0
0
0
0
0
53
15
75
-120
-22
-57
-69
0
-30
19
0
0
-35
-1
-37
-242
36
81
0
-98
-149
-213
-88
-112
-14
57
0
0
-125
-89
-144
-9
55
47
0
-49
-88
-134
-65
-43
-24
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-87
-69
-38
37
28
30
-65
-222
-184
-94
-57
11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
5
-36
-26
55
30
19
-8
-117
8
-1
9
47
41
0
0
-89
-23
-42
-41
45
26
-31
4
-104
-13
-7
3
43
49
0
0
-139
-20
-75
-40
1
33
42
-15
-217
-122
-67
-34
23
29
0
0
-162
-54
-25
-43
7
51
72
-68
-165
-352
-113
-93
2
43
0
0
-167
-185
-181
-135
68
104
74
-122
-143
-152
-135
-123
-3
203
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
25
30
4
99
28
-122
-96
-47
-22
10
0
0
0
0
0
0
-176
-17
-15
87
22
-150
-111
-21
62
-12
0
0
0
0
0
0
-16
-32
40
47
-131
-159
-29
-95
-31
18
0
0
0
0
0
0
-5
-12
42
50
18
-127
-3
-54
-64
-61
0
0
-71
6
-12
35
4
-87
0
50
62
-139
-45
14
24
-39
0
0
-19
3
2
-1
-40
-104
0
-108
-7
22
19
-36
-43
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
27
65
76
4
32
35
93
-29
-47
18
39
-46
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-103
-15
-61
5
39
29
-5
-23
99
72
-27
10
55
0
0
45
-8
-18
-24
59
48
26
3
22
56
103
-25
43
58
0
0
-20
27
8
-82
4
39
60
-49
-18
-43
46
44
-23
16
0
0
-175
-16
-68
12
-48
49
25
28
-49
-131
71
43
67
-40
0
0
-98
-63
41
24
-31
42
51
-22
-172
-171
-58
-32
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
27
0
0
0
-10
-39
37
-131
-81
-83
-59
-22
-70
-62
0
0
0
0
0
0
-1
-66
79
-74
-44
-51
-75
35
-34
39
0
0
0
0
0
0
65
38
56
-7
62
-185
-73
-32
-24
14
0
0
-4
0
0
0
65
80
69
25
-27
-140
-49
18
27
86
0
0
-11
-80
66
-41
86
-20
0
-59
-65
-138
-40
-36
58
40
0
0
6
-2
-79
-43
17
109
0
-65
-118
-88
-86
-60
-46
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
111
85
26
6
-37
-22
-40
-65
-71
8
10
-56
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
22
29
27
12
-27
-14
-7
13
-10
15
-8
-36
-49
0
0
31
13
22
9
-26
-53
-17
14
-2
-60
-56
-6
-77
-79
0
0
76
73
1
32
-24
15
-15
-1
-16
-77
-12
9
-49
-10
0
0
46
8
80
111
-14
39
-7
2
44
-200
7
71
21
-56
0
0
-39
-87
10
-43
-9
-4
-52
-105
-25
-74
-20
-34
-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
-10
0
0
5
53
39
23
44
29
-34
-39
-47
14
15
0
0
0
0
0
0
118
34
15
-56
87
-48
63
-30
-41
-5
0
0
0
0
0
0
-20
-69
-9
8
4
-52
49
-50
-61
29
0
0
0
0
0
0
30
-95
-49
-5
165
-50
-23
-116
-10
21
0
0
26
-7
-15
-5
-67
16
0
52
-17
-38
-47
-47
46
-143
0
0
2
2
-3
-2
28
2
0
52
-22
-11
-60
-14
-94
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
56
44
62
80
-36
-8
47
136
-1
137
62
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
22
82
100
44
28
56
90
95
47
135
125
-10
15
0
0
64
161
76
48
26
4
39
39
87
9
-15
53
-27
-16
0
0
78
107
92
32
-17
-10
-20
45
87
11
48
58
-55
-56
0
0
103
-90
7
35
-12
-77
8
48
-5
-18
20
14
50
-122
0
0
66
67
15
-99
4
-137
-13
39
41
-97
86
1
-66
-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
0
0
6
0
0
0
59
43
182
99
11
-20
-17
26
15
76
0
0
0
0
0
0
16
79
101
44
-29
-31
-29
42
34
48
0
0
0
0
0
0
-14
9
80
-15
-49
-144
-9
-74
5
-9
0
0
0
0
0
0
49
14
66
-148
-14
-70
-69
-7
-26
14
0
0
-38
-2
-41
-237
42
70
0
-80
-199
-236
-96
-84
2
70
0
0
-132
-91
-142
-9
84
45
0
-13
-96
-166
-87
-44
-31
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-47
-41
-12
1
17
42
-80
-219
-189
-69
-73
-21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-32
-19
48
44
32
-21
-82
8
23
15
22
39
0
0
-6
8
-21
1
35
22
-4
6
-12
20
-14
5
10
31
0
0
-43
-29
-61
-10
2
24
69
-46
-174
-131
-74
-39
-19
23
0
0
-112
-38
-45
-4
7
52
69
-37
-148
-369
-93
-50
-31
-24
0
0
-157
-172
-176
-119
56
89
83
-44
-192
-169
-165
-85
5
210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
39
35
16
53
25
-130
-110
-76
-6
1
0
0
0
0
0
0
-191
-12
-4
57
14
-161
-100
-17
71
-7
0
0
0
0
0
0
-19
-22
30
29
-134
-156
-20
-96
-10
0
0
0
0
0
0
0
-11
-3
31
37
18
-125
-5
-51
-79
-70
0
0
-74
6
-11
37
-9
-113
0
34
64
-139
-36
58
17
-47
0
0
-20
3
2
-1
-36
-128
0
-104
7
25
14
-24
-42
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
22
100
99
-18
-5
22
86
63
-24
88
61
-61
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-113
-5
-39
28
11
10
-9
-17
120
114
0
-8
75
0
0
63
20
-13
-11
85
64
11
10
52
75
93
-3
51
64
0
0
17
29
23
-81
-2
10
64
-53
50
-31
94
50
-27
2
0
0
-160
-20
-77
13
-52
27
13
53
-38
-115
97
45
91
-57
0
0
-84
-60
46
26
-31
20
27
15
-164
-170
-49
8
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
27
0
0
0
-9
-21
27
-132
-70
-94
-56
-16
-93
-57
0
0
0
0
0
0
6
-63
95
-71
-48
-45
-77
12
-28
50
0
0
0
0
0
0
76
43
67
-22
69
-178
-71
-39
-10
24
0
0
-4
0
0
0
57
87
77
16
-32
-146
-50
31
43
71
0
0
-1
-77
68
-46
85
-27
0
-65
-74
-169
-48
-21
42
35
0
0
2
-1
-82
-42
28
133
0
-36
-151
-100
-89
-50
-60
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
118
126
41
49
-18
-25
-26
-73
-62
53
8
-32
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
27
10
37
10
9
6
15
7
-10
38
39
11
7
0
0
49
38
33
37
-16
-14
-19
45
27
-26
-44
22
-38
-50
0
0
83
103
41
51
-10
57
-31
43
-33
-88
-21
23
-22
-16
0
0
55
15
100
131
-27
84
-6
43
46
-233
6
106
21
-33
0
0
5
-113
50
-42
11
-11
-40
-39
-59
-65
2
-18
-58
26
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
62
37
-23
34
-14
-61
-69
47
35
0
0
0
0
0
0
120
36
-1
-70
94
-39
58
-26
-37
-11
0
0
0
0
0
0
-23
-63
-30
-31
13
-47
51
-52
-44
40
0
0
0
0
0
0
28
-90
-50
-27
162
-57
-27
-129
-8
25
0
0
31
-7
-14
-5
-59
11
0
69
-4
-30
-52
-42
49
-140
0
0
12
2
-3
-2
27
4
0
42
-20
2
-64
-37
-91
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
55
41
68
109
-24
-11
52
146
8
117
65
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
60
112
45
25
78
63
120
34
165
112
25
-5
0
0
67
141
47
51
52
0
44
40
85
12
-17
80
0
-32
0
0
90
109
94
33
6
8
-42
39
99
21
76
41
2
-41
0
0
108
-86
11
48
-6
-78
7
104
6
-18
33
21
59
-101
0
0
68
68
20
-107
31
-124
-8
39
72
-92
108
49
-53
-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
46
-97
-9
-22
-31
170
47
3
67
13
0
0
0
0
0
0
43
-70
-31
-39
64
36
7
-13
-48
35
0
0
0
0
0
0
-31
-9
0
-34
79
-8
77
-40
-88
-53
0
0
0
0
0
0
-99
22
-24
-53
15
-14
63
-12
-10
-15
0
0
-3
16
-8
35
43
-4
0
27
35
46
-46
98
43
-6
0
0
-11
-2
2
4
16
42
0
123
22
-41
18
-27
6
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155
99
38
210
-99
-18
-33
-33
104
11
6
-37
8
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-48
-38
-3
33
41
-63
23
-13
62
50
123
-17
-89
0
0
51
107
124
44
77
-36
-55
-62
226
135
-43
-22
-40
-1
0
0
174
30
-41
38
28
41
88
2
358
59
24
-39
-10
-16
0
0
128
38
-57
-4
13
-1
-44
68
146
-38
170
232
16
-45
0
0
71
42
13
74
-41
-90
70
181
53
-16
84
97
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
-56
81
122
-78
77
-12
119
-64
-11
-70
0
0
0
0
0
0
12
-63
19
-46
39
-6
123
-88
47
50
0
0
0
0
0
0
23
21
33
-42
27
-3
13
47
40
-4
0
0
0
0
0
0
-45
48
43
-173
36
33
62
2
4
-9
0
0
-17
0
6
3
-27
-132
0
-156
23
52
18
78
-32
15
0
0
-1
2
0
0
-6
-93
0
-1
25
48
20
70
-43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
73
154
26
-30
-18
29
10
203
-11
111
60
-72
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
25
-69
49
44
-23
-72
-35
98
-47
111
-47
-36
158
0
0
34
45
-66
-19
55
154
35
-11
90
-36
-79
-15
139
23
0
0
126
-18
107
86
7
43
21
-92
47
-19
50
15
9
-7
0
0
-13
24
-55
-2
-24
-36
-7
72
55
31
45
-131
-119
-104
0
0
113
-10
-7
27
-70
-80
-31
44
77
54
39
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
-24
-31
-81
-34
17
-41
18
29
114
126
0
0
0
0
0
0
15
4
52
-9
-39
18
-10
-89
62
14
0
0
0
0
0
0
17
2
51
-105
9
-32
35
24
22
49
0
0
0
0
0
0
-43
-13
6
2
-21
4
0
35
68
-8
0
0
50
5
-6
15
2
-57
0
50
35
29
53
33
-36
162
0
0
50
0
-3
-3
82
46
0
17
-28
7
15
83
61
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-1
151
72
55
8
-1
68
14
103
142
-50
209
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
75
-33
21
-43
13
-15
146
35
61
132
12
98
96
0
0
-8
56
34
48
85
4
-61
-26
26
-42
105
113
132
192
0
0
-30
28
165
43
36
-19
-28
128
134
-99
113
108
120
74
0
0
103
27
75
40
36
202
-23
96
7
-43
47
63
86
-54
0
0
36
29
70
41
115
-106
-47
257
67
6
124
204
169
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
-2
-77
-4
-114
-48
75
-66
30
21
121
0
0
0
0
0
0
-4
61
-2
-65
4
-24
92
45
18
-2
0
0
0
0
0
0
-18
57
-100
-106
24
22
20
11
106
26
0
0
0
0
0
0
-145
-21
1
-63
14
-31
-11
-3
4
26
0
0
1
-2
1
0
-5
-37
0
-35
-6
72
24
35
2
-3
0
0
3
0
1
-1
-6
5
0
19
35
27
-27
-115
-77
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-36
-6
15
104
73
-8
-36
-30
11
57
-85
38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
1
42
30
33
-2
47
-66
-76
-101
-52
80
33
-36
0
0
56
-45
-102
95
-16
33
-18
9
-36
19
73
38
-25
-84
0
0
88
12
27
58
-19
78
-150
-37
-10
-57
-44
-67
70
-95
0
0
44
8
18
6
-53
47
-44
-57
20
-59
7
23
39
35
0
0
71
8
3
-7
14
-14
-32
162
-20
4
67
149
-161
-40
13
-145
-181
-78
-38
11
11
3
-13
-6
4
47
115
108
105
32
0
0
10
6
-12
-8
2
-7
4
-43
9
0
-9
-40
0
0
11
8
-14
-6
-6
-9
-9
-35
-13
-29
-60
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
36
-2
0
-30
-37
-2
0
0
0
0
0
0
0
-13
-2
-2
0
-14
-73
-12
-81
85
12
7
2
4
0
-3
-9
-24
0
0
0
0
0
0
0
0
0
4
0
-21
-37
-5
-4
-49
-90
13
4
-11
9
0
0
1
-3
-17
-38
-6
-35
-9
-47
-13
-29
-60
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
36
-2
0
-30
-37
-2
0
0
0
0
0
0
0
-13
-2
-2
0
-14
-73
-12
-81
7
-5
-59
-28
-2
8
2
5
10
1
-12
-26
-62
-84
-68
-99
0
0
0
-4
-2
-53
1
-7
-4
-71
3
0
-2
-74
0
0
1
-2
-3
-71
0
-10
-3
-10
-2
-21
-15
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-36
-103
0
-24
-62
-37
0
0
0
0
0
0
0
-19
-32
-8
0
-6
-73
-3
-79
25
-22
-10
-12
-4
0
1
3
-7
0
0
0
0
0
0
0
0
0
1
-4
-30
-53
0
-5
-20
-135
4
-5
-29
-33
0
0
-2
-2
-14
-23
-1
-29
-1
-42
-2
-21
-15
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-36
-103
0
-24
-62
-37
0
0
0
0
0
0
0
-19
-32
-8
0
-6
-73
-3
-79
9
-16
-39
-18
6
6
3
2
11
-3
-18
-41
-79
-93
-77
-91
0
0
4
-7
-7
-87
4
-10
-11
-116
8
0
-7
-87
0
0
7
-3
-15
-107
-7
-34
-7
-35
-8
-42
-21
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-59
-103
0
-31
-70
-41
0
0
0
0
0
0
0
-32
-48
-8
0
-11
-98
-12
-105
18
-35
-9
-14
-3
0
-2
-4
-16
0
0
0
0
0
0
0
0
0
0
-5
-28
-70
-3
-8
-36
-144
0
-10
-35
-65
0
0
-6
-2
-22
-46
-4
-43
-5
-59
-8
-42
-21
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-59
-103
0
-31
-70
-41
0
0
0
0
0
0
0
-32
-48
-8
0
-11
-98
-12
-105
5
-2
112
3
45
25
27
-12
-25
2
-3
-30
-7
-42
-86
17
0
0
6
-32
-25
-124
-4
-50
-63
-135
52
0
-47
-140
0
0
34
9
-34
-62
-70
-79
-58
-109
-29
-57
-51
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-95
0
0
-15
-30
-24
0
0
0
0
0
0
0
-44
-71
0
0
-36
-116
-32
-114
86
16
33
9
1
0
-13
-22
-8
0
0
0
0
0
0
0
0
0
-18
-13
-50
-137
-26
-39
-114
-64
-41
-48
-83
-96
0
0
-12
-9
-16
-30
-26
-42
-27
-51
-29
-57
-51
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-95
0
0
-15
-30
-24
0
0
0
0
0
0
0
-44
-71
0
0
-36
-116
-32
-114
-3
-15
10
-3
4
0
-8
21
-18
8
-22
0
6
-42
-6
0
10
-26
4
-54
10
-7
-8
16
5
0
25
12
-14
-14
21
17
-3
-2
4
0
15
13
-25
-46
-15
-16
-2
39
18
0
6
-16
43
5
3
-2
-25
19
18
0
20
-3
47
36
-1
29
17
-37
-1
-6
28
-9
8
-11
11
16
-4
3
62
9
0
27
3
-46
11
88
22
30
19
0
7
3
63
10
27
60
13
27
34
0
-13
13
44
40
-14
30
22
0
2
0
8
-10
-4
9
10
14
4
-16
15
0
-11
-13
-9
-6
-12
-10
19
26
59
0
20
-1
1
-15
20
4
17
14
17
0
8
1
-5
7
1
-37
5
9
-40
25
7
6
-11
-7
4
-12
-29
-51
-46
-1
-34
-12
-35
-9
3
111
55
55
31
0
8
4
78
21
24
76
29
64
78
0
-6
30
42
74
-15
32
27
14
-2
0
19
-16
2
32
-4
9
-10
-24
-6
0
-40
-10
-14
-7
8
-9
47
28
56
0
8
6
6
0
23
-6
25
4
23
0
-2
4
-13
-24
-2
-60
-24
-2
-39
24
6
6
-13
-2
6
-9
-61
-76
-74
-3
-49
-45
-60
-14
27
57
117
70
85
0
-7
-16
56
66
-20
76
80
69
137
0
-6
55
36
32
50
-37
-37
-32
29
0
39
2
55
16
-3
-1
-10
-40
-46
0
-47
33
-56
23
1
-2
-54
19
-47
0
-22
39
4
30
29
-83
-34
18
-5
0
0
34
32
7
5
-36
86
33
-35
20
10
-42
31
-6
-3
-18
-14
-76
-82
-24
-37
-39
-24
-54
0
0
0
0
0
34
1
1
0
0
-2
0
0
0
0
16
-8
-1
0
0
22
-12
1
0
0
-29
13
-1
-17
-1
-12
-43
8
42
25
-4
-15
-34
-63
59
-98
50
-5
-1
5
0
0
0
0
0
0
-2
0
0
0
0
-1
-1
0
0
0
-7
-1
0
0
0
-45
-10
-1
0
0
-37
-22
27
-3
0
37
87
29
-21
0
25
-29
-22
57
0
-124
-40
-52
-10
0
0
0
0
0
-5
0
0
0
0
-15
0
0
0
0
-16
0
-1
0
0
-14
0
-10
-2
0
-14
29
-4
2
24
-27
4
39
-69
18
12
-9
-19
-78
-58
-41
-1
10
26
-21
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
37
-3
0
0
0
-7
-63
-5
0
0
67
-49
42
-5
0
-10
9
117
-25
0
1
9
2
-13
0
-126
6
-7
-44
0
0
0
0
0
68
0
0
0
0
27
0
0
0
0
-26
3
-1
0
0
-40
9
-4
-1
0
-52
-22
-19
-15
-2
-5
61
10
12
-18
-1
-14
-7
55
-95
70
-22
40
13
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-4
8
2
0
0
0
11
-28
6
0
5
36
-130
8
0
-6
6
16
-12
0
-55
-8
9
-19
57
-10
0
0
0
14
0
0
0
0
2
0
0
0
0
47
-1
-6
0
0
-15
6
1
-18
0
-4
-19
-49
14
-22
-4
7
75
-30
27
-4
41
3
7
51
59
11
-1
-5
6
0
5
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
-4
2
0
0
0
-14
9
5
-1
0
-23
-22
-55
-13
0
31
18
-64
26
0
-11
19
21
76
0
-34
3
-7
-24
0
0
0
0
0
-39
0
0
0
0
11
-2
-2
0
0
15
1
0
0
0
3
12
-3
-2
0
16
-25
-8
-13
26
-24
-43
-7
36
21
20
46
23
122
101
-26
-37
-22
-33
12
0
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
-6
5
0
0
0
37
-9
8
0
0
-58
12
-8
-33
0
-30
-42
116
0
0
-44
-11
-39
-30
0
49
-8
-5
8
0
0
0
0
0
9
0
0
0
0
45
-1
-2
0
0
-15
0
0
0
0
60
-8
-9
-26
0
-20
-13
-114
37
20
20
-25
-55
25
13
-25
25
24
-99
2
0
-17
23
25
-55
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
-26
0
0
0
-3
10
-13
-1
0
51
4
28
-54
0
-26
-35
20
82
0
20
63
14
-64
0
61
-3
-25
53
0
0
0
0
0
1
0
0
0
0
14
0
0
0
0
-22
10
2
0
0
33
-3
-7
4
0
36
15
55
78
28
20
-10
58
-18
-24
-17
90
15
-16
119
12
-50
-7
-10
-2
0
0
0
0
0
16
0
0
0
0
-12
0
0
0
0
-25
-6
1
-1
0
-17
34
-21
9
0
-34
8
18
24
22
3
31
48
31
-38
3
-33
4
-6
-93
12
-50
-7
-10
-2
-13
3
0
0
0
-10
0
0
0
0
-48
0
-4
0
0
-17
0
3
0
0
-57
26
-4
11
-11
-40
-39
-48
-31
2
-26
96
-4
53
2
27
-4
12
13
24
11
6
-30
-50
-25
11
-4
0
0
0
-6
0
0
0
0
-42
0
-3
0
0
-1
-3
12
-2
0
-21
22
-2
33
0
3
-3
64
-46
74
-7
-9
65
-27
-100
-28
-8
8
39
-1
11
6
-30
-50
-25
0
0
0
0
0
55
22
26
18
0
42
24
4
-33
-11
-9
10
-11
13
-27
-2
0
9
-69
-14
-62
-50
8
-73
-71
50
-12
43
43
76
-102
-55
46
45
10
26
90
38
27
28
0
0
0
0
0
0
41
39
1
0
0
56
-31
-1
0
0
36
-49
26
-5
0
-8
-22
32
-6
0
-81
-15
-46
20
0
-4
68
70
79
0
40
-17
-59
-30
0
-32
35
58
17
0
0
0
0
0
24
-8
2
0
-8
24
-18
-6
-8
0
13
-47
13
64
-24
-27
-23
-97
58
-2
-10
46
59
-39
15
45
54
75
51
-3
-5
-13
15
24
34
-14
60
12
-11
13
0
0
0
0
0
0
-15
21
7
0
0
27
39
20
7
0
149
28
35
1
0
34
61
-41
19
0
-46
-107
-45
-59
0
14
33
27
-37
0
6
-16
4
17
0
-26
39
29
51
0
0
0
0
0
-28
0
-3
3
12
-35
-3
3
-1
2
-22
39
-2
-13
34
1
-15
88
-56
-66
-11
14
-124
-31
19
25
-73
78
50
-35
-12
58
-17
42
42
18
11
51
-19
-57
0
0
0
0
0
0
3
1
0
0
0
3
-3
3
1
0
19
3
-60
2
0
25
-30
-46
25
0
-7
97
-11
-20
0
37
-13
66
13
0
14
23
-11
-6
0
-77
-14
21
14
46
-8
-45
-2
-4
57
4
0
-1
0
-117
-6
8
-34
2
-59
28
-116
4
-25
-42
76
-40
-84
-73
-24
-50
-31
46
-14
25
19
6
-34
83
-1
23
-12
11
-28
28
-19
7
28
16
0
24
50
1
-8
0
7
-6
0
0
0
1
-37
-27
0
0
-37
-31
-31
-26
0
-4
-126
14
-99
0
-23
6
-26
-27
0
4
56
-28
-3
0
-16
3
16
-38
0
-33
-68
10
32
0
0
0
0
0
10
-26
-37
1
1
11
1
-1
-2
3
-55
8
49
-128
-48
0
-8
96
-23
79
-29
-39
-112
17
31
18
84
-17
-2
2
48
48
-7
66
-37
-15
14
75
8
-7
0
0
0
0
0
0
-24
11
-22
-8
0
-6
-4
-57
2
0
-11
11
-21
-1
0
41
86
31
-37
0
-98
-36
-37
-81
0
1
-45
42
13
0
-7
-18
7
11
0
53
34
62
40
0
0
0
0
0
19
0
0
1
6
17
76
-6
39
1
-13
-92
-45
18
48
50
-35
-64
109
-19
28
-39
-15
19
-21
12
72
14
-7
47
33
23
11
43
22
-18
40
-23
-16
-30
0
0
0
0
0
0
9
-8
1
0
0
7
93
-19
-2
0
31
-2
36
6
0
-54
-21
-48
-29
0
20
-8
-55
-16
0
-57
-32
0
8
0
-36
-20
55
112
0
10
15
9
-50
0
0
0
0
0
-11
0
0
0
-5
20
12
4
-10
-6
15
-70
26
-10
20
58
-26
-10
-9
-2
-15
19
91
43
-86
-7
-7
-19
-17
-2
10
27
-40
47
76
17
31
-5
8
-11
0
0
0
0
0
-5
0
0
0
-5
11
-8
-6
-5
-11
25
-116
37
26
24
19
63
-23
47
9
24
42
1
50
7
20
16
22
-23
4
-7
22
-27
-8
-25
17
31
-5
8
-11
4
-30
9
6
4
-27
-1
1
0
0
-20
-44
-52
-13
-35
-22
-3
-28
-62
-31
-72
55
-77
-66
-41
-16
-17
33
-26
-83
-18
33
-17
19
31
7
-11
-2
-2
6
13
-28
-17
-1
36
1
-50
7
-4
2
18
19
-1
0
0
-44
-62
5
5
-10
-30
-45
-75
-26
-71
-40
-33
42
27
11
-52
7
28
-1
47
-40
-1
5
-24
-18
-11
-41
-52
0
-43
13
-28
-17
-1
36
0
0
0
0
0
58
22
27
17
0
38
21
4
-36
-13
-16
11
-11
14
-28
-18
0
14
-72
-15
-57
-40
9
-79
-68
57
0
52
45
74
-101
-49
78
60
6
31
93
27
46
49
0
0
0
0
0
0
39
42
0
0
0
53
-28
1
0
0
33
-56
28
-5
0
-11
-24
32
-6
0
-71
-11
-51
22
0
-7
60
65
83
0
42
-11
-58
-19
0
-35
37
77
10
0
0
0
0
0
25
-8
2
0
-8
23
-18
-5
-8
0
17
-47
12
67
-26
-26
-20
-98
59
1
-8
34
69
-40
23
43
55
70
66
-3
1
-1
43
51
71
-32
69
4
-6
9
0
0
0
0
0
0
-15
21
7
0
0
26
37
19
7
0
141
30
34
1
0
39
70
-40
15
0
-60
-111
-43
-59
0
4
34
15
-36
0
15
0
14
36
0
-13
35
32
72
0
0
0
0
0
-39
0
-3
3
12
-40
-3
3
-1
2
-14
41
3
-14
38
12
-12
88
-59
-66
-19
4
-124
-32
27
36
-85
92
74
-44
-5
87
-46
59
49
10
7
70
-36
-74
0
0
0
0
0
0
4
1
0
0
0
3
-3
3
1
0
17
2
-64
2
0
24
-35
-47
28
0
-15
93
-12
-19
0
51
-4
72
14
0
7
23
2
-2
0
-68
-32
23
23
39
-7
-45
-2
-5
58
4
0
-1
0
-112
-8
8
-34
3
-60
26
-114
15
-28
-37
60
-37
-79
-72
-16
-32
-34
44
-23
13
22
-4
-34
88
-6
19
-16
-3
-47
29
-33
-1
20
14
0
23
57
-4
-8
0
7
-6
0
0
0
1
-40
-28
0
0
-37
-35
-34
-25
0
0
-122
7
-100
0
-28
5
-14
-19
0
14
58
-13
-1
0
-51
2
16
-53
0
-29
-62
1
30
0
0
0
0
0
20
-26
-36
1
1
20
4
3
1
2
-59
4
46
-133
-46
2
-4
105
-22
80
-31
-39
-107
18
32
22
82
-23
3
0
40
54
6
78
-40
4
9
87
-2
-11
0
0
0
0
0
0
-21
11
-22
-8
0
-7
-5
-56
2
0
-14
12
-23
-1
0
39
84
36
-36
0
-99
-42
-37
-77
0
4
-39
30
19
0
10
-19
13
17
0
37
38
76
32
0
0
0
0
0
16
0
0
1
6
20
76
-6
42
1
-13
-95
-44
21
44
41
-36
-71
111
-12
38
-32
-1
12
-26
24
66
32
-21
53
39
10
24
38
15
-22
43
-55
-6
-25
0
0
0
0
0
0
8
-8
1
0
0
8
93
-22
-2
0
33
-3
28
8
0
-54
-24
-44
-29
0
6
-4
-48
-15
0
-70
-34
2
-4
0
4
-17
54
105
0
8
17
2
-68
0
0
0
0
0
-9
0
0
0
-5
16
13
4
-13
-7
8
-71
33
-10
20
52
-28
-5
-10
3
-20
6
91
40
-85
-12
-5
-29
-1
7
21
11
-67
37
64
26
38
-8
-2
-8
0
0
0
0
0
-8
0
0
0
-5
13
-12
-6
-5
-12
15
-114
44
22
25
10
64
-24
47
6
28
29
1
54
11
19
16
16
-11
11
-1
35
-24
-15
-29
26
38
-8
-2
-8
3
-31
11
5
4
-23
-1
1
0
0
-19
-48
-51
-16
-37
-23
4
-31
-56
-32
-58
58
-76
-56
-42
-16
-8
32
-23
-87
-15
36
-40
12
35
7
-23
-33
-38
-18
14
-22
-10
7
24
-6
-48
7
-3
2
21
19
-1
0
0
-50
-64
7
9
-11
-29
-43
-84
-18
-73
-25
-28
44
25
10
-55
10
21
6
35
-33
-10
-19
-37
-10
-18
-59
-76
-34
-36
14
-22
-10
7
24
0
0
0
0
0
14
2
-5
0
0
-15
15
-3
-20
-2
-14
17
6
7
13
1
-1
-7
4
17
21
3
0
-2
-3
33
43
38
39
33
37
-16
24
38
0
1
-7
60
15
32
0
0
0
0
0
0
-6
10
2
0
0
-20
1
-16
0
0
-24
-34
9
3
0
20
0
21
8
0
24
-5
-6
-7
0
-8
12
63
14
0
11
-12
46
29
0
40
65
-58
-19
0
0
0
0
0
-9
0
1
2
0
-1
1
-2
2
0
-25
14
-29
8
4
-24
8
7
38
28
-26
-50
5
-14
8
35
3
44
25
6
20
70
109
-20
104
3
58
-55
36
6
0
0
0
0
0
0
0
3
1
0
0
-7
-3
6
0
0
-22
34
11
-1
0
47
46
5
-7
0
-93
-44
-13
-15
0
64
25
-20
19
0
-22
40
-31
35
0
-9
-47
44
4
0
0
0
0
0
-2
0
0
1
2
-13
-6
0
-4
-1
4
26
-1
-24
-7
37
-26
27
-50
-6
21
-12
-18
-7
63
41
-50
16
39
-14
-45
58
-29
43
-20
10
-3
-37
13
18
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
21
8
-56
0
0
-21
-2
-6
-17
0
-21
-43
21
7
0
30
58
5
-17
0
-24
14
-10
-10
0
52
-40
109
35
13
26
-12
4
-3
-2
0
0
0
0
-7
-5
2
19
1
0
-20
-7
1
-1
-22
5
4
-25
-16
-52
70
1
-19
-65
-26
26
20
-10
-5
-13
-67
-13
-43
40
46
-21
-19
3
-65
0
-28
41
3
-8
0
0
0
0
0
0
-3
-7
-5
0
0
9
-32
-9
-11
0
-16
-27
-26
-21
0
-23
19
31
24
0
21
-29
-41
-9
0
-21
-48
-19
40
0
29
12
-21
25
0
0
0
0
0
55
-4
-3
0
1
34
7
2
-8
0
-36
-14
-4
-69
-10
-13
-3
65
10
-40
-26
-40
2
0
15
41
26
-17
-11
-6
-35
23
-43
49
2
-49
-27
-47
64
-18
0
0
0
0
0
0
1
2
-3
-3
0
-1
0
-42
1
0
-25
3
-32
0
0
12
16
-6
56
0
-9
-22
12
-17
0
-7
2
-48
29
0
69
-1
62
-13
0
-46
26
17
-61
0
0
0
0
0
-39
0
0
1
0
7
10
-1
25
1
-4
-37
-19
-5
-30
-8
-54
-72
75
13
95
-9
12
16
45
5
-75
107
-57
16
7
50
-85
-49
-48
21
41
-28
7
16
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
0
0
32
42
-33
-14
0
-59
-47
31
-1
0
-36
23
6
-14
0
-10
7
-11
4
0
62
33
-2
17
0
-42
12
16
9
0
0
0
0
0
-23
0
0
1
-3
4
-16
0
-8
-7
16
-8
17
38
7
-28
11
-20
2
27
-33
-33
25
18
-81
-2
-21
17
9
4
29
19
17
17
-5
37
-47
18
-18
55
0
0
0
0
0
-23
0
0
1
-2
18
-36
-2
-11
-8
30
3
-4
36
11
-73
19
-51
-3
12
53
3
5
14
-6
9
52
4
18
28
-4
14
-35
-42
-63
37
-47
18
-18
55
-13
0
0
0
7
10
-1
0
0
0
-11
11
-7
0
-23
18
6
-16
16
-20
43
50
-12
-1
-26
2
12
-7
-28
-29
-12
8
-65
-11
20
-2
-109
29
-90
-47
12
29
27
-19
-3
-8
5
-3
-1
5
13
-3
0
0
0
-32
-17
-1
25
-16
14
-28
-50
32
-38
6
0
47
-19
-31
-74
-19
47
-59
-1
10
-45
-62
54
-17
-28
-3
-134
-31
-1
12
29
27
-19
-3
11
-1
0
0
0
-92
10
-73
-1
3
-16
-35
54
-54
-45
15
-17
6
-23
-19
21
-6
23
-1
-25
-41
-1
16
-20
-36
-7
-4
1
-18
-45
10
-2
-13
-15
-36
14
6
-1
2
-8
15
6
11
24
33
8
-4
15
62
77
-20
-31
17
59
170
-35
-59
4
106
264
-34
-129
31
66
190
-39
36
-5
-35
75
2
-31
-7
20
0
0
0
0
0
0
0
0
0
0
0
2
11
2
-15
-40
5
1
0
-1
-1
24
-3
17
25
12
-24
36
2
76
30
14
13
1
5
-29
2
1
1
-1
-2
10
-18
3
20
75
75
-30
-4
32
108
17
12
-2
-16
-21
5
1
1
-1
-2
-16
-5
13
38
76
-101
-30
34
63
121
0
0
0
0
0
0
0
0
0
0
14
8
-1
-30
-27
5
1
0
-1
-2
30
-10
7
31
69
50
-80
45
213
-5
2
0
0
0
-1
-70
-25
-12
30
72
7
0
-1
-1
-2
7
-29
-23
18
117
29
-3
-6
8
51
64
-8
-24
30
18
26
-18
-102
33
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
10
4
11
15
-11
-4
22
28
33
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
54
-52
61
-7
-39
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
-15
2
10
15
-1
11
24
10
-3
-1
0
0
0
0
0
0
0
0
0
0
-13
-17
-8
2
9
35
-25
-28
38
-19
-20
-18
-18
10
38
-12
-28
-7
46
65
131
4
-25
-4
3
19
92
-8
21
-88
68
2
-37
49
57
6
-4
31
41
78
-22
1
11
25
51
-14
0
8
18
39
-10
-2
-4
-4
18
8
11
-1
-11
-12
53
50
17
-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
9
2
1
1
1
5
-1
1
-2
-2
-6
4
5
4
-35
-82
8
-21
11
-1
11
2
16
12
25
9
1
-1
-2
-2
2
-8
-19
9
-54
-205
5
46
-96
89
-20
6
7
16
4
7
1
1
0
-1
-13
-4
-20
5
-48
29
-80
-61
18
42
0
0
0
0
0
0
0
0
0
0
1
-18
4
4
18
7
1
0
-1
-2
-59
1
16
-25
19
28
75
-19
-13
-5
-15
0
2
-5
-28
-45
8
14
-10
-15
1
-1
-1
-1
-2
-7
-29
-10
-34
-23
29
-3
-6
8
51
64
-8
-24
30
18
26
-18
-102
33
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
10
4
11
15
-11
-4
22
28
33
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
54
-52
61
-7
-39
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
-15
2
10
15
-1
11
24
10
-3
-1
0
0
0
0
0
0
0
0
0
0
-13
-17
-8
2
9
35
-25
-28
38
-19
-20
-18
-18
10
38
-12
-28
-7
46
65
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
7
-26
-45
9
-2
-3
-5
0
-22
37
22
-78
1
14
-3
33
-45
-1
-16
37
-7
-29
-37
0
-161
-37
-10
12
30
-5
4
25
13
69
59
26
19
4
-3
12
-30
26
-85
23
45
9
6
1
-7
24
-3
9
32
29
-5
0
3
-40
28
41
18
83
-1
-18
0
0
34
153
65
21
22
25
4
1
9
43
16
20
-18
-8
-36
29
7
25
17
-24
-25
57
-17
26
27
13
30
-1
6
54
20
65
3
-14
4
55
0
-1
-3
20
13
-37
-14
73
49
0
0
0
0
-1
-48
-28
69
60
0
0
0
0
0
1
-6
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
98
59
22
46
1
-4
7
5
-72
0
10
45
-13
0
-5
0
0
59
-8
-51
-59
19
8
8
1
20
0
-4
4
13
-20
-50
18
-33
42
-7
18
-24
6
57
12
1
4
10
82
-20
-15
46
15
0
-5
0
0
-37
26
20
-47
-29
6
2
-9
2
-1
3
16
-9
-10
-68
36
7
42
10
6
28
-6
-9
14
-1
3
-11
28
45
-15
20
10
5
2
0
0
-14
-2
29
21
-3
-39
-16
-5
15
7
0
25
-19
32
-57
-35
14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
10
-31
62
-7
26
-20
5
6
46
-9
12
44
6
9
0
0
0
-2
9
57
-16
33
-16
-7
16
15
0
13
3
-1
25
-20
5
6
-8
-70
43
25
41
43
-4
2
0
0
35
32
40
11
-20
5
-35
-33
60
103
-26
10
-9
6
-2
-6
0
0
-6
9
-28
19
-10
-46
5
-25
-22
-26
-4
36
94
36
23
13
-2
-10
4
23
31
-66
6
72
12
-23
-34
0
-1
-5
10
-51
-4
-55
-36
64
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
11
49
62
-8
29
19
-5
-34
-21
9
6
-1
7
9
28
9
-52
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
20
-6
14
63
74
-9
-23
-18
1
1
3
1
1
-49
-4
-64
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
29
-14
35
26
25
7
-18
-23
0
-5
1
5
-2
-23
3
-38
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
34
15
33
5
14
-2
-10
-4
7
-3
3
-5
-8
-35
2
-27
-77
35
39
11
-22
64
-12
-2
-17
6
0
-5
-4
7
-12
7
-47
-48
-34
-4
-4
2
12
10
-4
-6
25
22
-9
40
36
-13
9
-8
32
-11
15
18
-34
1
-34
-38
15
-10
8
61
-2
-24
18
-7
7
33
3
10
28
-5
-48
-12
13
1
-1
-10
-1
35
-6
34
-10
-22
14
-2
13
0
10
16
40
51
4
16
21
-4
-1
-3
-3
3
-15
-8
95
3
-10
0
-7
0
0
-1
-3
-2
63
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-52
-46
-55
-15
18
3
3
-23
37
-40
4
8
18
-10
0
-1
2
-9
2
-31
-2
-13
-80
-1
14
0
0
0
0
0
-24
41
-53
16
-50
-69
19
10
-15
-3
-4
5
3
-38
-21
26
20
0
9
-1
0
-1
-6
12
6
-76
22
-51
-48
-10
-9
0
0
0
0
3
-13
-50
-7
19
31
11
61
-24
-19
24
13
7
9
-11
14
-2
2
36
12
-4
0
0
6
-2
1
73
-21
-81
-55
-9
6
0
0
0
0
-1
9
-32
3
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-48
-40
35
-9
-12
22
1
9
10
50
-16
-118
33
7
-10
0
0
-5
5
-5
15
-47
-16
2
-1
31
0
0
0
0
0
1
51
-69
-18
-58
-32
-42
4
5
-25
-29
-2
-4
0
0
0
-5
-6
4
1
-5
-50
18
-26
27
-13
-7
-8
-5
0
-1
0
0
-3
-7
-14
-15
6
-22
-16
-26
-4
36
94
36
23
13
-2
-10
4
23
31
-66
6
72
12
-23
-34
0
-1
-5
10
-51
-4
-55
-36
64
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
11
49
62
-8
29
19
-5
-34
-21
9
6
-1
7
9
28
9
-52
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
20
-6
14
63
74
-9
-23
-18
1
1
3
1
1
-49
-4
-64
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
29
-14
35
26
25
7
-18
-23
0
-5
1
5
-2
-23
3
-38
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
34
15
33
5
14
-2
-10
-4
7
-3
3
-5
-8
-35
2
-27
-77
35
39
11
-22
64
-12
-2
-17
6
0
-5
-4
7
-12
7
-47
-48
-34
39
-10
1
0
0
-128
-38
54
84
19
-37
-1
-7
0
51
-14
42
19
-40
47
-2
12
11
1
-12
23
13
22
4
3
18
15
15
12
13
5
8
14
20
16
-8
6
1
13
7
-5
-11
-9
-12
-12
21
-14
-5
-21
-20
2
-17
-34
-23
-45
25
-15
-44
-32
-11
7
-44
-42
-32
33
-25
-45
-103
25
-41
-36
-36
-30
-3
0
0
0
0
0
0
0
0
0
0
0
15
12
4
0
6
4
1
-2
-3
3
3
-13
-12
-10
-18
14
6
-39
-1
6
8
14
10
10
-9
3
-1
-2
-2
-2
-17
-21
-16
-27
-3
8
0
-1
-10
26
26
27
19
9
11
3
0
1
-2
1
-28
-21
-17
-8
-5
-60
-4
-9
-31
-24
0
0
0
0
0
0
0
0
0
0
22
7
6
0
-5
0
1
-1
-1
-2
13
-18
-18
4
11
-3
-27
-2
6
71
-13
-4
-2
-2
-4
-38
-29
-9
2
4
-10
-3
-5
-5
-9
-62
-30
-10
6
25
13
-5
-16
-24
-12
56
13
-4
-39
-29
69
27
-14
-84
-17
-7
-12
-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
-10
-12
-16
43
-14
-10
9
-51
0
-2
0
0
0
0
0
0
0
0
7
-5
-10
-20
-21
35
-22
-7
18
-33
1
-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
5
-2
-25
-14
-14
76
3
-36
-19
-29
0
0
0
0
0
0
0
0
0
0
-5
-14
-12
-18
-6
5
-11
-14
-4
18
-8
-18
-12
-14
0
5
-23
-13
0
9
-28
-33
1
100
0
15
1
-1
22
9
-11
-23
19
4
30
-21
-7
17
16
6
-2
-2
1
2
7
-1
-1
2
3
2
1
2
-2
0
-7
-8
9
-2
-7
-8
0
1
-1
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
0
0
0
-8
2
1
-2
-4
1
-4
-1
-28
-27
0
-12
-8
-43
-39
-32
-26
56
-34
-122
9
1
-1
-4
-10
25
-1
-8
-13
-20
26
-11
-23
-24
-23
43
15
-42
-110
-80
4
2
2
-4
11
19
1
-3
-16
-5
41
-8
-16
-37
-55
38
-51
-56
-91
-82
0
0
0
0
0
0
0
0
0
0
-4
1
1
-1
2
5
-1
-2
-5
-3
14
-3
-16
-15
-21
130
39
1
-75
-9
25
-4
-9
-20
-23
65
-1
-35
-53
-38
15
-2
-5
-18
-8
42
6
-18
-20
-21
13
-5
-16
-24
-12
56
13
-4
-39
-29
69
27
-14
-84
-17
-7
-12
-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
-10
-12
-16
43
-14
-10
9
-51
0
-2
0
0
0
0
0
0
0
0
7
-5
-10
-20
-21
35
-22
-7
18
-33
1
-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
5
-2
-25
-14
-14
76
3
-36
-19
-29
0
0
0
0
0
0
0
0
0
0
-5
-14
-12
-18
-6
5
-11
-14
-4
18
-8
-18
-12
-14
0
5
-23
-13
0
9
0
0
0
0
0
0
0
4
25
0
-5
-15
-5
12
10
34
161
62
3
22
11
1
-79
47
16
86
23
7
-99
1
-59
-117
44
66
-14
58
-37
21
13
-50
44
-21
-11
30
16
79
45
-14
-1
44
14
9
12
8
121
36
25
-8
26
32
8
8
8
50
56
47
66
29
7
-6
2
-4
59
59
49
36
14
-11
1
0
5
-39
-5
42
3
42
17
-5
-3
-8
-28
45
49
18
-21
-21
-9
-3
-18
25
-28
-39
-88
6
-11
-20
-13
-12
-24
109
-14
-76
-31
-30
-41
-18
22
1
4
-19
-5
-55
12
-41
-19
45
0
0
0
6
-54
-60
-46
-11
-2
0
0
0
0
0
-24
-40
68
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
22
1
10
8
0
9
4
-1
-44
56
23
26
18
7
-7
-1
-1
15
39
-21
-14
-3
-4
-16
-7
-17
-9
-23
17
7
-14
-23
-13
-13
-8
-17
-8
-34
-11
-8
15
4
5
8
76
32
7
10
-1
0
-3
0
2
82
61
16
5
-22
-19
-10
-10
-19
-18
75
39
43
9
19
-23
-23
-28
11
-21
7
4
-4
11
3
7
15
19
8
36
15
9
2
-7
0
1
-14
61
30
18
-13
-4
-21
-7
-7
85
88
55
40
14
-66
-54
-23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-23
-14
32
-13
-9
5
4
6
-15
18
22
0
-3
4
-2
0
-3
-41
27
4
7
6
0
-2
-9
-13
1
45
2
-6
84
7
-84
-28
-121
83
11
38
28
24
7
-4
1
-5
109
110
116
46
18
-15
-12
-8
-34
46
18
19
12
3
-6
-14
-1
-4
4
119
87
44
18
-18
-10
-2
-18
13
11
56
33
27
12
-6
-6
-15
47
18
60
48
19
18
-31
-30
-28
6
22
14
17
-56
-41
-18
-73
-67
0
-15
-1
-10
20
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
4
40
37
18
6
4
-5
-20
-21
12
-2
-4
-14
17
-16
-46
-12
-58
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
67
31
29
10
6
-13
-9
-23
-5
-4
22
-17
-12
-16
-27
-26
-76
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
19
29
34
29
12
23
-24
-19
-28
0
-11
0
28
36
-5
7
-67
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
60
14
28
3
-13
-13
-7
-23
11
4
76
36
-3
-20
-23
-33
-70
37
37
17
20
2
-12
-17
-9
-12
6
0
2
50
37
-32
-63
-58
-59
17
-18
0
25
-29
-32
58
-21
-2
-9
-5
20
16
51
-51
9
-66
-4
-3
12
19
10
-8
-27
20
0
3
-38
7
-6
-20
11
10
15
-7
-3
-60
26
5
11
-1
14
-2
1
2
-45
48
-20
-8
-7
5
-5
-3
-4
105
31
-13
21
-23
4
-16
1
1
7
-34
0
-5
-9
1
-19
-1
6
0
-4
0
-13
22
10
-20
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
-62
2
-31
-7
-22
-6
-6
1
-1
-79
-35
-41
-22
-29
-10
-22
-2
-5
11
-37
-36
-35
21
-4
-25
9
-22
0
0
0
0
0
-46
-49
70
-10
22
-33
5
0
-21
-4
-11
1
2
-47
31
21
-5
-2
12
-17
-2
-7
20
27
30
38
21
8
-35
-10
-12
0
0
0
-12
32
11
-50
6
6
14
25
8
-22
8
2
-2
-1
-7
116
113
30
4
-4
-10
-9
-1
-1
-2
3
13
-40
-28
-57
-49
11
-10
0
8
1
12
20
8
-155
19
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-46
23
-2
-13
7
4
1
-6
0
-3
-17
-35
-1
1
-9
0
-3
-3
21
80
11
-11
24
-28
4
1
0
0
0
0
8
-7
-2
-52
87
35
13
-38
-22
-17
-12
-22
-5
-12
2
0
-39
-48
77
2
-30
2
14
-3
-3
17
31
-1
-8
-14
-2
-7
0
4
-21
-162
-78
-44
-21
19
3
13
11
56
33
27
12
-6
-6
-15
47
18
60
48
19
18
-31
-30
-28
6
22
14
17
-56
-41
-18
-73
-67
0
-15
-1
-10
20
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
4
40
37
18
6
4
-5
-20
-21
12
-2
-4
-14
17
-16
-46
-12
-58
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
67
31
29
10
6
-13
-9
-23
-5
-4
22
-17
-12
-16
-27
-26
-76
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
19
29
34
29
12
23
-24
-19
-28
0
-11
0
28
36
-5
7
-67
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
60
14
28
3
-13
-13
-7
-23
11
4
76
36
-3
-20
-23
-33
-70
37
37
17
20
2
-12
-17
-9
-12
6
0
2
50
37
-32
-63
-58
-59
39
-10
1
0
0
-125
-43
53
75
19
-38
17
-19
8
56
5
32
42
-43
36
12
9
3
-13
8
14
12
19
22
5
18
15
6
20
25
24
12
17
15
35
-5
7
-3
-2
12
-17
-11
-13
-17
-14
8
-23
-12
-23
-49
-1
-44
-33
-30
-47
7
-10
-45
-33
-37
9
-35
-55
-37
32
-30
-43
-112
26
-37
-36
-25
-27
-1
0
0
0
0
0
0
0
0
0
0
0
20
13
9
3
6
3
2
-10
-5
-4
-19
-18
-12
-15
-24
16
-13
-62
-18
18
9
12
15
14
3
-2
1
-2
-8
-7
-22
-23
-28
-35
-11
-5
-4
-18
-24
1
28
29
29
17
15
-4
2
-2
-4
4
-33
-27
-22
-16
-18
-42
-32
-26
-33
-14
0
0
0
0
0
0
0
0
0
0
28
8
11
16
15
5
1
-2
-2
-12
2
-20
-22
-15
0
-22
-27
-6
-24
81
-23
-13
-6
-13
-8
-39
-44
-26
-23
-18
-17
-11
-9
-16
-22
-76
-46
-24
3
19
7
-15
-26
-24
-30
42
7
-14
-38
-40
72
22
-11
-90
-14
-7
-9
-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
8
-6
-17
-18
-21
50
-19
-22
-6
-44
0
-2
0
0
0
0
0
0
0
0
-8
-2
-16
-28
-16
38
-44
-8
29
-32
1
-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
1
-10
-32
-19
-19
67
7
-33
-25
-29
0
0
0
0
0
0
0
0
0
0
-13
-19
-20
-23
-17
-14
-11
-19
-8
8
-24
-20
-17
-23
-12
-15
-15
-16
-22
8
-40
-30
0
108
-3
11
-24
-3
22
30
-38
-16
31
22
26
-14
-12
7
10
10
8
1
1
3
1
-4
1
1
-1
-8
8
5
-4
-8
-16
-10
1
-11
-7
1
-15
-15
-18
15
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
-4
1
-5
-6
-11
-1
-8
1
-29
-33
8
-24
-2
-47
-30
-42
-30
53
-28
-129
11
0
-4
-6
-13
12
-4
-13
-24
-28
19
-13
-29
-43
-39
51
4
-54
-99
-89
4
0
-2
-17
16
10
-1
-11
-20
-13
27
-7
-24
-46
-47
14
-55
-62
-90
-80
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
4
-1
-2
-6
-4
22
-9
-21
-23
-23
125
40
-16
-78
-9
19
-7
-15
-22
-30
54
-3
-22
-67
-34
3
-7
-7
-21
-27
28
14
-17
-34
-26
7
-15
-26
-24
-30
42
7
-14
-38
-40
72
22
-11
-90
-14
-7
-9
-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
8
-6
-17
-18
-21
50
-19
-22
-6
-44
0
-2
0
0
0
0
0
0
0
0
-8
-2
-16
-28
-16
38
-44
-8
29
-32
1
-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
1
-10
-32
-19
-19
67
7
-33
-25
-29
0
0
0
0
0
0
0
0
0
0
-13
-19
-20
-23
-17
-14
-11
-19
-8
8
-24
-20
-17
-23
-12
-15
-15
-16
-22
8
0
0
0
0
0
0
0
4
25
0
-5
-15
-5
12
13
36
153
54
3
23
11
1
-70
51
16
82
36
6
-93
7
-61
-118
37
57
1
62
-21
24
26
-24
34
-20
-10
13
21
66
54
-27
-1
45
11
5
15
10
126
46
28
10
38
28
8
9
-2
55
55
56
65
31
-1
4
7
5
63
55
53
26
-1
-1
-7
3
2
-54
-18
24
-14
29
6
5
-6
-4
-29
46
59
8
3
-3
-15
-12
-36
17
-37
-37
-86
-10
-21
-23
-24
-1
-24
102
-22
-74
-36
-35
-30
-27
18
1
4
-18
-10
-54
20
-51
-19
52
0
0
0
5
-54
-65
-47
-3
-13
0
0
0
0
0
-24
-38
80
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-2
-1
16
10
-2
7
9
4
-33
74
5
28
24
3
-10
-1
1
16
28
-6
-24
-22
-16
-16
-10
-27
-9
-25
14
4
-8
-11
-43
-28
-20
-23
-28
-33
-6
-7
6
7
8
11
66
38
14
-11
-9
9
-6
0
-2
82
62
6
7
-19
-17
-19
-16
-34
-18
78
40
40
1
4
-35
-30
-41
19
-8
0
2
1
15
5
16
14
11
14
32
10
4
-4
-10
0
3
-14
54
32
11
-13
-8
-23
-15
-13
91
81
58
60
3
-49
-62
-43
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-10
-11
29
0
-13
7
12
13
-2
8
17
-5
-8
2
4
0
-3
-54
14
-4
15
-3
-9
-17
-7
-21
1
44
2
-2
79
5
-86
-43
-130
90
-8
23
-1
14
-3
-14
-1
-14
106
103
113
39
4
-25
-19
-25
-56
39
34
12
7
-15
-20
-18
-6
-9
7
118
89
39
1
-24
-24
-13
-35
21
24
42
11
12
5
-14
-14
-18
47
4
69
44
31
9
-45
-36
-30
4
31
15
14
-45
-43
-8
-90
-75
0
-15
-1
-10
20
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
7
48
39
30
-1
-2
-16
-20
-32
12
-2
-7
-17
17
-23
-46
-34
-49
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
70
31
49
12
-6
-19
-16
-21
-5
-3
23
-15
-16
-9
-32
-31
-76
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
21
34
49
16
15
28
-31
-29
-31
0
-11
0
24
32
-5
14
-79
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
58
19
22
-6
-13
-13
-12
-32
11
5
67
40
-8
-35
-32
-35
-77
36
54
11
17
4
-15
-25
-17
-19
6
0
2
46
34
-32
-72
-59
-59
17
-16
4
21
-27
-30
59
-24
-6
-3
-18
28
25
44
-37
-4
-79
-10
5
31
24
12
0
-20
21
-27
-5
-37
-1
-18
-13
11
-6
9
-5
9
-70
27
9
5
-4
7
1
4
-1
-54
52
-29
-5
-33
4
0
1
-6
108
19
-20
10
-18
15
-24
-5
3
7
-35
0
-4
-16
-1
-15
-5
-7
0
-4
1
-18
27
14
-20
-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
-70
0
-31
-6
-24
2
-3
-1
3
-65
-47
-48
-16
-39
-21
-21
0
-15
11
-36
-40
-39
13
-3
-28
12
-19
0
0
0
0
1
-38
-50
57
-18
20
-22
-4
8
-16
-2
-10
0
2
-47
24
17
-2
-17
-16
-26
-4
-12
20
35
33
37
18
8
-34
-19
-31
0
0
0
-12
35
13
-59
-5
10
12
19
-7
-22
6
-14
-3
1
-2
122
117
24
8
-13
-23
-20
-3
-9
-1
-4
23
-39
-38
-45
-66
14
-34
0
8
1
12
22
7
-149
0
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-47
34
-13
-7
13
-2
2
-5
-14
-27
-34
-16
-18
-2
-5
0
-5
-2
12
75
11
-15
9
-24
1
0
0
0
0
0
8
-7
-10
-59
80
38
19
-29
-26
-24
-15
-23
-7
-12
2
0
-37
-47
77
9
-42
-6
3
-3
2
-3
22
-21
-12
-18
-4
-15
0
4
-18
-155
-80
-45
-27
0
7
21
24
42
11
12
5
-14
-14
-18
47
4
69
44
31
9
-45
-36
-30
4
31
15
14
-45
-43
-8
-90
-75
0
-15
-1
-10
20
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
7
48
39
30
-1
-2
-16
-20
-32
12
-2
-7
-17
17
-23
-46
-34
-49
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
70
31
49
12
-6
-19
-16
-21
-5
-3
23
-15
-16
-9
-32
-31
-76
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
21
34
49
16
15
28
-31
-29
-31
0
-11
0
24
32
-5
14
-79
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
58
19
22
-6
-13
-13
-12
-32
11
5
67
40
-8
-35
-32
-35
-77
36
54
11
17
4
-15
-25
-17
-19
6
0
2
46
34
-32
-72
-59
-59
2
0
0
0
0
73
-54
-14
8
2
-21
104
41
-12
29
84
-23
27
7
-5
118
-2
21
-44
25
2
6
55
53
-42
45
42
-27
60
7
18
7
-33
-38
-7
2
31
-53
9
-18
14
-35
32
5
-5
-55
-7
10
21
17
-51
-27
32
27
28
-92
20
-6
29
-4
-60
55
0
2
-73
3
-51
-30
-8
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
21
-10
5
12
7
18
-4
-27
-24
36
5
-27
4
-13
-60
0
-5
-73
-31
-13
7
-27
14
-19
-3
-3
-7
-12
-14
18
21
-7
-44
-24
3
-25
42
-61
21
-131
35
24
12
25
4
19
-3
8
1
9
-36
-11
-13
-14
10
-20
-6
-120
-1
19
0
0
0
0
0
0
0
0
0
0
10
12
4
27
68
42
0
-9
-8
-24
-4
25
0
-35
-55
-126
50
-18
22
-5
-11
-30
-11
-26
7
-71
-25
-4
-31
-47
-51
-22
-46
-9
-36
33
-59
-87
-29
10
8
-24
-33
-17
14
-43
-28
-8
-4
-18
14
-40
-32
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-50
-7
38
-37
-69
-8
-18
0
0
0
0
0
0
0
0
0
0
-30
-21
15
9
4
-10
-57
20
38
-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
-27
-33
-2
-21
-36
-41
39
17
-46
-38
0
0
0
0
0
0
0
0
0
0
-29
-20
-5
-4
-1
-55
-27
-17
62
-49
-25
-25
-22
-16
-44
-57
-51
-13
1
44
40
7
-1
27
1
8
-12
1
-11
59
-66
25
10
112
-18
28
6
25
-36
10
17
9
12
30
-1
-3
7
22
12
16
-8
5
-20
-24
-5
22
-44
-48
-40
25
60
32
-79
-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
40
4
-27
0
-18
27
-50
45
-25
-36
-10
-26
-19
-42
12
-59
-40
17
-28
-19
9
-25
-37
-16
11
22
-39
-20
-44
-17
-2
14
23
-53
-134
-57
76
-79
24
-33
6
-11
-27
-11
39
44
2
-69
-78
-10
-46
15
10
23
-112
7
5
-78
8
-26
0
0
0
0
0
0
0
0
0
0
7
0
23
-4
-14
11
6
-12
-16
-2
3
16
-64
9
-38
-8
42
-52
7
3
8
-6
-16
-7
-39
-32
17
53
-95
-13
48
-8
-6
-12
-100
4
-16
-1
-52
1
8
-24
-33
-17
14
-43
-28
-8
-4
-18
14
-40
-32
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-50
-7
38
-37
-69
-8
-18
0
0
0
0
0
0
0
0
0
0
-30
-21
15
9
4
-10
-57
20
38
-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
-27
-33
-2
-21
-36
-41
39
17
-46
-38
0
0
0
0
0
0
0
0
0
0
-29
-20
-5
-4
-1
-55
-27
-17
62
-49
-25
-25
-22
-16
-44
-57
-51
-13
1
44
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
6
-3
-11
25
1
1
-5
-4
44
23
-34
-26
73
-1
3
39
5
-35
-22
-33
67
-27
-4
0
-27
25
12
0
18
-27
-21
0
-66
3
8
-11
-2
-37
36
-18
8
27
3
101
35
1
-8
-2
-2
49
57
18
18
1
-28
-2
-6
-10
-50
-33
-19
-35
13
43
17
-6
-49
25
42
-14
-24
-98
-36
31
-12
25
-6
-5
3
-83
39
16
14
-20
64
-14
-40
24
-16
-69
0
7
30
23
0
-13
-7
5
-11
5
-19
29
39
0
-2
13
-8
6
44
-90
24
-29
0
0
0
1
1
-32
4
-27
-22
0
0
0
0
0
-3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-59
-1
19
24
29
3
10
3
48
39
15
35
11
-8
-10
-5
-18
-48
-31
40
8
-17
-10
-9
-5
-18
-9
1
-10
-8
-37
-6
-58
42
-56
-11
36
9
-19
24
-14
8
7
-3
12
-17
1
5
28
8
-2
1
-31
-14
-9
-41
30
-27
-16
-30
-24
12
-1
8
4
-66
-3
-40
-72
18
-23
7
17
36
-1
-15
31
8
25
6
1
43
-54
5
-6
-4
-8
7
11
-16
-51
46
36
-1
-9
-20
-32
-3
11
-8
-4
21
51
23
-29
-70
-123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
8
2
46
8
-15
27
-3
31
0
23
2
-10
0
8
-2
-12
-52
7
-41
-13
-6
0
-14
5
8
0
0
0
16
3
-26
-54
0
-25
51
30
9
-10
6
-7
-28
-28
-34
-28
-2
1
-33
-56
5
-4
-50
-59
24
41
49
-8
-3
-22
-33
-20
-12
-11
-2
48
29
-50
27
-22
-60
-81
-5
4
18
-28
-4
-10
-11
-4
10
24
26
54
56
9
-48
-39
-31
-89
-1
1
2
-15
21
-54
18
-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
64
36
67
41
21
1
-44
-21
-58
2
0
-2
-1
-7
-33
31
-69
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
55
33
27
10
-14
-10
-14
-85
3
-3
2
1
-18
6
-7
-31
11
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-26
12
12
-36
-27
-54
0
0
0
-5
-11
15
6
-84
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
47
78
15
-3
12
-18
-19
-34
-1
6
11
36
-11
12
-44
-69
-59
11
36
13
-18
10
-28
-4
-28
-16
0
-2
2
-56
28
-2
-37
-51
-14
1
1
2
-4
-5
6
55
-21
17
-6
52
7
6
-37
40
-49
-14
10
44
23
-6
7
98
5
-4
-43
-37
13
-60
19
0
-29
-4
-8
9
29
-30
-13
-7
29
55
-21
-13
47
17
29
-8
-5
5
-55
8
-3
-2
-21
-31
13
-17
-31
13
26
-19
-16
-25
5
2
-35
-2
5
35
13
-37
-5
0
0
2
-50
-10
-17
-24
102
-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
-16
23
-25
-22
-33
-14
-1
-2
30
40
-63
-6
65
-9
21
-17
-13
-54
-4
-1
-14
-19
-43
-35
-83
46
39
0
0
0
0
-1
23
10
-104
-36
-13
2
-37
3
2
-15
-15
-6
0
16
-13
-17
-36
-2
-19
-5
-24
-10
-1
-5
17
7
-29
3
-40
-29
-51
0
0
0
-2
21
32
-62
8
-41
-21
65
-25
-11
12
-32
-10
7
-7
51
-34
-9
66
-17
-2
-6
-31
-11
-2
-12
38
-24
-17
40
-103
22
-27
0
0
0
4
-7
-36
18
-43
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
39
10
-24
21
17
-14
16
-15
-18
-27
-1
25
-19
7
-1
-12
-3
-1
7
-2
-14
-4
-36
-11
18
-43
0
0
0
0
0
1
-18
0
27
71
28
-14
-33
-13
-16
-24
-28
26
0
1
-11
3
21
50
-113
53
-87
9
-48
-13
-41
6
13
-25
-12
-27
0
1
9
31
-53
-16
-40
-53
-10
-5
4
18
-28
-4
-10
-11
-4
10
24
26
54
56
9
-48
-39
-31
-89
-1
1
2
-15
21
-54
18
-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
64
36
67
41
21
1
-44
-21
-58
2
0
-2
-1
-7
-33
31
-69
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
55
33
27
10
-14
-10
-14
-85
3
-3
2
1
-18
6
-7
-31
11
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-26
12
12
-36
-27
-54
0
0
0
-5
-11
15
6
-84
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
47
78
15
-3
12
-18
-19
-34
-1
6
11
36
-11
12
-44
-69
-59
11
36
13
-18
10
-28
-4
-28
-16
0
-2
2
-56
28
-2
-37
-51
-14
-1
11
0
1
0
-10
-34
-12
-48
-5
35
33
-106
91
-122
30
-42
84
48
15
2
-2
0
12
-1
-17
10
9
-24
-43
-2
8
4
-13
-79
4
1
3
-18
-34
-3
-4
2
-2
9
4
2
14
52
68
1
5
31
58
90
-25
3
34
63
117
-1
-53
-10
64
147
0
-41
-5
63
144
19
19
-71
84
28
3
18
12
1
0
0
0
0
0
0
0
0
0
0
0
4
12
-5
3
-48
-6
-1
0
1
2
2
-4
12
5
27
113
-30
-41
50
73
-4
18
-7
1
-15
-1
-1
-2
1
1
-6
-21
8
41
97
-82
22
18
182
122
18
10
-6
-26
-46
-3
0
-1
1
2
-1
-8
9
21
49
-87
-8
-25
82
39
0
0
0
0
0
0
0
0
0
0
11
18
-13
-16
-36
-5
-1
0
1
2
20
-11
17
15
43
109
49
-9
32
46
-11
-1
-1
1
3
-13
-6
17
-1
60
-9
-2
-1
0
0
-22
-37
-13
52
118
24
-4
5
17
-1
45
-17
9
2
27
-23
-27
-19
12
8
-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
14
4
-9
4
-16
22
30
-20
0
8
0
0
0
0
0
0
0
0
0
0
8
-7
3
-4
-9
-3
0
-20
-6
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
-34
12
32
33
15
-54
-17
38
35
0
0
0
0
0
0
0
0
0
0
-1
-21
-12
6
15
15
-38
7
-9
50
-4
-17
-2
-14
1
9
-38
-14
-30
56
40
-27
99
6
-5
-17
101
39
-15
-4
0
17
23
16
139
-44
-9
19
54
149
-21
1
12
48
63
0
-3
7
16
14
9
-4
2
-4
-14
19
-3
2
1
-4
6
-28
7
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
0
0
0
18
1
5
8
26
-7
-1
-1
0
1
24
18
1
-36
-68
29
48
-20
-128
1
14
4
17
25
48
5
-3
-1
-1
1
28
2
-17
-38
-45
-63
-62
75
25
-115
-23
9
11
11
-13
-1
-1
0
1
1
32
15
-14
-70
-80
99
58
-114
-35
-54
0
0
0
0
0
0
0
0
0
0
-23
-14
9
-4
11
1
-1
-2
0
1
26
7
-13
-15
-51
-1
51
-12
-85
8
-13
-7
-3
-3
3
22
-25
-23
4
-29
-15
-3
-2
0
3
29
-23
3
-61
59
24
-4
5
17
-1
45
-17
9
2
27
-23
-27
-19
12
8
-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
14
4
-9
4
-16
22
30
-20
0
8
0
0
0
0
0
0
0
0
0
0
8
-7
3
-4
-9
-3
0
-20
-6
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
-34
12
32
33
15
-54
-17
38
35
0
0
0
0
0
0
0
0
0
0
-1
-21
-12
6
15
15
-38
7
-9
50
-4
-17
-2
-14
1
9
-38
-14
-30
56
0
0
0
0
0
0
0
2
0
0
-4
-5
0
2
2
1
-77
-11
-1
-3
-7
-3
0
21
-24
85
-97
0
-7
-104
-41
-171
10
23
78
-67
-15
-131
16
-78
37
-35
23
2
5
-6
71
2
6
-19
-5
2
4
3
-115
-64
-19
-7
-28
-17
2
6
9
89
-58
24
40
0
-5
-3
2
-4
-24
39
-10
39
-23
8
-2
0
0
18
94
-5
48
48
19
27
0
13
41
66
40
-38
40
26
17
2
14
-5
-37
9
42
-15
-88
31
-10
20
14
2
5
-8
13
28
-24
6
23
0
0
0
-1
1
-33
-21
59
83
0
0
0
0
0
-7
-25
21
106
0
0
0
0
0
0
-2
24
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
5
7
30
-3
-8
3
5
17
26
-20
-41
-37
4
3
0
0
-5
-28
-29
18
0
-22
14
-4
3
-8
31
-6
-2
13
-16
25
-25
49
4
36
-71
14
-1
2
0
9
6
-2
-56
-16
-63
4
-23
5
0
0
-52
0
44
-1
-37
20
13
-6
14
-9
-24
-25
-8
22
-25
60
4
100
14
2
-29
-21
3
41
17
8
0
-27
-42
16
-18
-7
-5
1
0
0
-10
-6
-28
6
9
-14
4
1
24
-45
-50
17
-28
-6
-14
42
-23
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-88
-19
62
-49
-2
7
-2
-6
67
13
-10
-39
13
-5
3
0
0
-48
-48
-35
-53
-1
-35
24
-1
21
1
6
-13
54
-11
-19
-26
14
88
50
54
17
-5
15
-5
5
0
0
2
-16
16
32
0
-24
16
-29
11
14
-61
-44
4
-17
-10
-1
0
0
-3
-7
-11
17
-17
-20
-7
-11
-52
-35
-53
10
-1
-26
-38
-5
-2
-4
2
10
-20
19
-58
-2
-8
1
14
-2
-5
-1
-17
-2
-40
19
-1
65
0
0
7
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-59
-21
-5
-16
6
23
33
-11
-8
1
38
28
39
-36
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
-47
-13
-20
-5
-20
1
10
0
-6
2
11
-28
-7
8
42
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
29
-26
12
-42
-11
-4
0
0
8
-3
4
-7
-29
-10
-43
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
-16
20
18
0
-6
-11
-12
-12
-5
10
-39
8
-56
-6
-23
9
-30
-38
-6
-13
-21
-21
-5
-5
-10
3
-9
-1
35
-15
-20
-21
-40
-21
1
-8
1
1
1
-8
5
-10
7
-1
6
-23
-44
4
126
-40
108
-94
-69
-29
-45
14
-6
20
0
52
16
-24
-108
-50
3
40
39
-6
28
18
17
4
72
-57
-39
-9
1
13
2
-44
37
-39
23
-73
-36
-4
1
-4
5
-5
-34
-52
-29
6
5
-2
3
0
-20
-1
21
50
12
12
-9
1
0
0
0
0
22
89
49
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
5
-16
-73
-21
17
-3
-2
3
-3
-45
-72
-34
-102
-52
-4
15
-1
0
-10
-3
-11
10
55
-34
18
-10
-5
0
0
0
0
0
-2
-27
48
-44
19
-19
-34
5
23
-12
8
5
-7
-30
10
-10
-77
-60
-5
11
-1
0
-100
-67
-17
23
38
-52
-31
0
22
0
0
0
-3
3
22
-28
-10
-42
45
103
25
-43
-26
39
11
6
6
-70
-110
14
-19
-10
-6
3
0
0
-46
-7
54
-4
-24
-29
-18
-10
12
-3
1
-6
3
32
-64
-14
33
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
11
17
-32
7
-9
8
6
-8
-107
-85
-86
-61
-33
-11
5
0
0
-3
-8
-15
8
21
10
30
10
18
0
0
0
0
0
2
-45
-41
63
-113
-76
18
15
-50
-27
5
-3
-1
0
2
-1
5
-39
55
-15
-16
-12
-32
-52
-28
9
3
-17
-3
0
0
0
0
-12
2
-18
-28
-25
0
-23
-35
-53
10
-1
-26
-38
-5
-2
-4
2
10
-20
19
-58
-2
-8
1
14
-2
-5
-1
-17
-2
-40
19
-1
65
0
0
7
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-59
-21
-5
-16
6
23
33
-11
-8
1
38
28
39
-36
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
-47
-13
-20
-5
-20
1
10
0
-6
2
11
-28
-7
8
42
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
29
-26
12
-42
-11
-4
0
0
8
-3
4
-7
-29
-10
-43
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
-16
20
18
0
-6
-11
-12
-12
-5
10
-39
8
-56
-6
-23
9
-30
-38
-6
-13
-21
-21
-5
-5
-10
3
-9
-1
35
-15
-20
-21
-40
-21
1
14
11
2
0
-83
50
-17
76
17
38
-24
-5
28
0
3
10
13
-9
23
-13
-1
18
0
8
11
-3
9
11
2
16
8
25
9
11
12
19
20
11
22
-9
2
5
12
21
-1
-6
-7
4
-2
-6
-12
-13
-15
-5
4
-32
-21
-39
-18
2
-9
-50
-57
-41
-22
31
-33
-113
35
-22
-81
-73
-8
26
-13
-5
-75
-15
2
0
0
0
0
0
0
0
0
0
0
18
5
13
2
-12
-6
-1
1
1
-2
3
-13
-9
-17
-7
36
-15
-13
-22
-2
8
6
8
-1
11
-4
0
-1
0
3
-25
-19
-13
-13
-17
-19
-34
-19
-7
16
31
24
22
19
17
0
0
-1
3
2
-25
-22
-15
-8
-1
-74
-39
-24
8
1
0
0
0
0
0
0
0
0
0
0
16
7
4
10
2
3
-2
0
0
-1
13
-20
-8
-11
16
75
13
3
-9
-42
-23
-4
-1
-3
4
-30
-15
-4
-7
9
-2
-5
-2
-10
1
-30
-16
-3
-16
9
27
-3
-7
-10
-11
36
-9
-26
-23
-8
58
16
-37
-31
-65
9
28
-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
12
-2
-17
-17
-3
-6
10
8
-22
18
5
-7
0
-5
0
0
0
0
0
0
18
-4
-29
-17
-14
58
-12
-76
-15
-44
10
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
18
-9
-13
-9
7
-2
-7
0
-11
14
0
0
0
0
0
0
0
0
0
0
-22
-20
-14
-4
-5
-5
-18
18
26
14
-30
-27
-11
8
21
-43
-49
-11
47
69
23
1
75
-80
25
26
12
-13
53
-11
-11
4
-11
37
-22
1
16
-4
13
-25
-6
-1
-3
10
2
3
0
2
11
11
15
0
0
8
10
31
2
4
-3
11
54
8
-12
-36
-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
-1
-1
-1
-3
-7
17
-3
-11
-17
-21
51
1
-27
-36
-34
50
10
-32
-31
-71
22
2
2
-5
-10
56
3
-19
-35
-42
101
6
-45
-83
-89
140
21
-92
-106
-88
24
-2
2
20
21
70
-1
-11
-13
-10
115
5
-40
-88
-74
199
-22
-101
-163
-108
0
0
0
0
0
0
0
0
0
0
-7
0
1
5
1
3
-2
0
-3
-4
18
12
5
-40
-14
34
32
-100
-94
65
10
-9
-6
-10
-8
26
-11
1
-24
-30
15
-4
-7
-14
-15
39
-24
-21
-8
-17
27
-3
-7
-10
-11
36
-9
-26
-23
-8
58
16
-37
-31
-65
9
28
-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
12
-2
-17
-17
-3
-6
10
8
-22
18
5
-7
0
-5
0
0
0
0
0
0
18
-4
-29
-17
-14
58
-12
-76
-15
-44
10
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
18
-9
-13
-9
7
-2
-7
0
-11
14
0
0
0
0
0
0
0
0
0
0
-22
-20
-14
-4
-5
-5
-18
18
26
14
-30
-27
-11
8
21
-43
-49
-11
47
69
0
0
0
0
0
10
16
15
0
0
-27
-4
-5
29
136
89
-53
-15
-7
8
-40
3
-43
-40
61
80
76
5
10
-73
-9
16
24
-27
10
60
-13
2
-16
-54
-9
-2
4
5
35
-78
-62
-29
12
-20
-8
20
10
20
-56
-95
24
23
-19
18
14
11
16
-77
-66
79
2
15
2
9
3
20
30
-23
6
35
-11
0
19
-4
9
91
79
49
27
30
-2
10
-5
0
46
64
-6
-7
7
29
-1
-18
-5
-44
41
20
32
-14
-1
-6
-10
-9
-1
-53
-17
-54
-26
9
-38
-26
-19
10
12
-6
-51
-10
-20
-39
-99
0
0
0
0
0
-6
-47
-28
-17
-8
0
0
0
0
0
0
-39
-44
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
23
14
-7
-6
-6
6
5
-5
11
-3
4
30
0
-2
2
0
3
77
1
-7
-23
6
-4
4
-7
-15
-51
-25
45
-62
50
13
14
-23
-2
-47
-47
-74
14
-44
1
3
7
12
-39
-30
3
-35
-11
-12
5
0
-2
-4
-5
4
-29
11
-4
1
-9
-27
65
104
59
103
42
-10
-8
-43
-80
14
-58
-30
-18
13
5
19
9
13
-12
-6
-35
-13
-7
1
9
0
0
-11
15
-5
0
9
-8
0
-6
-10
109
17
30
28
-5
-22
-16
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
-50
-35
-25
-25
14
9
23
-1
9
-10
-7
15
6
4
0
1
-8
-6
-5
-21
-24
-13
0
-3
-12
4
20
19
74
93
-39
-60
-8
-27
58
31
33
40
14
0
5
-3
0
0
45
47
-25
-30
-41
-10
-18
-16
89
43
14
34
4
-27
-9
-1
-1
-27
49
92
13
6
-11
23
-14
-5
-9
-28
-23
-23
-34
-24
-13
1
7
-48
-11
-25
-21
-37
-10
6
17
45
1
-16
19
-23
-45
-19
62
-6
91
0
0
10
-3
-11
-17
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
4
-47
-24
-19
4
4
25
39
7
-32
18
26
-22
-29
-55
12
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
-64
-31
-22
-43
-23
-19
-3
2
14
0
-15
-6
15
-41
-52
-36
-14
82
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
-37
-48
-1
-41
-28
-33
2
3
17
-4
-2
-2
4
10
-42
-11
-29
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
36
23
20
-4
-6
-6
-9
-10
1
20
9
18
3
-17
-28
-31
-28
13
21
18
10
-1
-23
-16
-6
-11
3
51
11
2
5
-63
-20
7
-7
-14
27
3
36
-8
-15
-85
-32
22
-24
-49
-29
-11
-3
15
1
29
37
-12
-31
22
13
14
31
-3
7
-12
-75
-21
-42
-7
14
25
19
8
-1
-76
-21
15
-10
12
-14
13
-2
-3
12
-11
-8
29
-12
-7
9
1
-3
26
0
-26
-46
1
-7
11
0
8
1
-39
-76
-3
-7
-12
9
-4
12
0
0
0
-3
-13
41
5
-18
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-14
-22
-3
-8
-2
1
0
13
-25
-76
-21
-28
2
-3
-1
-2
-58
-72
-49
13
19
7
11
-9
-5
0
0
0
-9
60
-76
-12
-14
-62
-34
-2
10
-6
20
-9
1
0
-6
20
-15
-8
-6
-17
-29
2
-1
-5
-36
-17
-1
-1
-26
-34
-18
-15
0
4
-5
-7
-31
32
21
-70
57
12
-21
39
-16
-20
5
8
-1
2
-8
13
-4
33
-28
-21
-20
-6
0
-1
-22
-68
-9
-35
-15
-10
-3
-6
-5
-1
-23
-150
64
20
-8
-34
-40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
-16
-24
11
-3
4
1
15
-5
-21
-37
-43
-31
-20
-1
0
2
-15
-89
-19
31
6
-25
16
12
-5
0
0
0
0
1
20
-34
31
-46
-39
-28
-4
-7
-18
-32
-15
-2
3
8
11
27
-8
4
-13
7
-22
-17
90
46
30
-5
-12
-17
-8
-1
-4
3
-22
26
0
65
-31
-33
2
-30
-9
-28
-23
-23
-34
-24
-13
1
7
-48
-11
-25
-21
-37
-10
6
17
45
1
-16
19
-23
-45
-19
62
-6
91
0
0
10
-3
-11
-17
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
4
-47
-24
-19
4
4
25
39
7
-32
18
26
-22
-29
-55
12
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
-64
-31
-22
-43
-23
-19
-3
2
14
0
-15
-6
15
-41
-52
-36
-14
82
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
-37
-48
-1
-41
-28
-33
2
3
17
-4
-2
-2
4
10
-42
-11
-29
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
36
23
20
-4
-6
-6
-9
-10
1
20
9
18
3
-17
-28
-31
-28
13
21
18
10
-1
-23
-16
-6
-11
3
51
11
2
5
-63
-20
7
-7
1
14
11
2
0
-82
36
-26
79
18
54
-25
20
15
-8
-9
19
20
-24
44
18
-4
10
10
-12
11
-3
5
10
15
12
12
28
16
27
17
23
24
20
38
-1
6
9
10
7
-3
-9
-11
-5
-3
-9
-19
-20
-33
-33
-11
-37
-29
-38
-32
-1
-34
-30
-61
-45
-24
27
-37
-114
31
-32
-82
-74
-9
25
-9
-5
-70
-13
2
0
0
0
0
0
0
0
0
0
0
16
7
21
0
3
-1
-1
-3
-4
3
6
-15
-21
-22
-20
-9
-20
-17
-35
-1
3
7
10
5
18
4
-6
-1
0
4
-42
-24
-24
-16
-13
-35
-50
-24
-45
12
36
30
29
27
29
7
-2
2
5
-1
-27
-24
-25
-16
-5
-88
-65
-1
13
0
0
0
0
0
0
0
0
0
0
0
15
8
16
23
20
2
-2
0
0
-1
5
-25
-8
-30
1
69
4
-12
-15
-49
-25
-11
-6
-13
-5
-39
-24
-27
-16
-7
-11
-13
-4
-11
7
-34
-19
-28
-40
-7
16
-7
-23
-18
-9
29
-2
-42
-34
-29
67
28
-40
-44
-74
9
28
-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
10
-20
-16
-17
8
-9
-1
14
-30
9
5
-7
0
-5
0
0
0
0
0
0
24
-14
-25
-15
-20
57
-16
-79
-10
-46
10
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
6
-11
-2
-17
6
-5
-12
-9
-9
13
0
0
0
0
0
0
0
0
0
0
-30
-25
-16
-14
-10
-26
-11
9
27
-2
-45
-34
-10
12
8
-55
-48
-6
38
58
16
4
66
-83
26
43
9
-21
42
-24
-7
15
1
32
-33
14
6
-3
11
-40
-15
-2
-1
2
13
-4
-1
-4
11
15
8
1
-1
10
8
29
6
16
-10
5
79
14
-31
-49
-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
-5
1
-4
4
-14
33
-7
-12
-25
-21
49
1
-26
-45
-45
40
7
-37
-27
-70
29
5
-12
-5
-20
67
-3
-30
-29
-37
125
-5
-51
-101
-89
120
20
-114
-98
-71
27
-3
1
4
26
76
0
-27
-32
-20
130
-5
-73
-81
-61
185
-35
-102
-155
-106
0
0
0
0
0
0
0
0
0
0
-15
5
-1
3
4
-1
-2
0
-3
-1
11
4
-6
-21
-11
24
30
-115
-94
70
21
-8
-13
-17
-42
38
-18
-29
-14
-31
28
-9
-11
-14
-16
11
-31
-13
-6
-33
16
-7
-23
-18
-9
29
-2
-42
-34
-29
67
28
-40
-44
-74
9
28
-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
10
-20
-16
-17
8
-9
-1
14
-30
9
5
-7
0
-5
0
0
0
0
0
0
24
-14
-25
-15
-20
57
-16
-79
-10
-46
10
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
6
-11
-2
-17
6
-5
-12
-9
-9
13
0
0
0
0
0
0
0
0
0
0
-30
-25
-16
-14
-10
-26
-11
9
27
-2
-45
-34
-10
12
8
-55
-48
-6
38
58
0
0
0
0
0
10
16
15
0
0
-27
-4
-5
31
135
85
-58
-15
-7
8
-38
12
-46
-33
62
62
100
4
10
-56
-6
34
24
-10
-3
34
-10
25
-24
-47
-7
-10
-9
11
42
-64
-82
-33
18
-23
-2
21
7
18
-55
-82
43
32
-27
19
13
11
15
-93
-54
76
5
31
-3
17
2
27
34
-28
2
28
-15
-1
10
0
13
95
71
44
26
24
17
0
-11
-4
48
57
-17
-17
13
17
6
-24
-17
-44
33
24
24
-18
13
-16
-20
-25
-1
-53
-21
-64
-30
-7
-21
-27
-30
10
12
-6
-50
-11
-11
-30
-117
-5
0
0
0
0
-6
-53
-27
-8
-20
0
0
0
0
0
0
-40
-34
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
32
17
0
-8
-6
9
8
-3
13
-15
7
40
12
0
-2
-3
-3
79
2
0
-38
-3
0
3
-13
-23
-40
-23
49
-62
49
-16
5
-39
-11
-63
-37
-58
10
-45
0
2
12
12
-41
-36
-16
-14
-4
-5
7
-5
-10
16
6
16
-26
5
-6
-7
-17
-35
61
108
54
89
44
-24
-20
-57
-93
14
-52
-32
-11
13
9
21
17
19
-4
-12
-31
-8
-2
7
12
0
-2
-19
2
2
2
4
-13
-2
-15
-7
123
30
25
35
2
-21
-34
-42
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
-43
-41
-19
-19
16
11
34
-23
-6
-16
4
18
6
7
0
0
12
10
8
-20
-29
-17
-12
-11
-20
4
11
21
75
89
-54
-48
-35
-19
61
20
47
41
-4
-15
-4
-9
-3
0
53
36
-36
-45
-40
-35
-27
-43
103
61
14
20
4
-24
-17
-5
-10
-31
53
96
26
4
-23
9
-33
-15
-8
-29
-27
-24
-34
-20
-23
-7
4
-52
-12
-24
-20
-29
-16
-1
5
50
1
-15
20
-14
-40
-17
67
-21
78
0
0
10
-3
-11
-17
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-3
-33
-15
-15
-3
-8
15
39
10
-31
27
16
-26
-35
-55
3
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
-64
-44
-20
-43
-28
-12
-5
-6
12
0
-15
-5
15
-39
-57
-36
-16
76
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
-55
-41
2
-39
-11
-18
-2
-18
15
-4
-2
-2
2
15
-43
-11
-39
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
38
26
19
-1
-6
-9
-12
-20
3
18
2
8
4
-18
-23
-42
-47
19
37
20
10
2
-29
-20
-14
-17
-1
47
12
-5
-11
-67
-17
11
-15
-14
27
-1
40
-5
-14
-88
-31
21
-24
-59
-23
-7
1
14
9
6
34
8
-39
38
6
25
26
-4
2
-22
-78
-20
-51
2
4
10
9
9
-5
-85
-1
11
6
6
0
9
2
-9
13
-31
-2
-5
-8
-3
12
0
-1
29
6
-21
-35
4
-15
10
-4
13
1
-38
-76
0
-3
-12
13
-11
5
0
0
0
-3
-15
44
-12
-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
-31
21
-21
-30
-8
-8
-3
-3
-2
25
-25
-56
-26
-18
0
-6
-4
-5
-57
-68
-44
18
15
2
0
-9
-5
0
0
0
-9
59
-77
-12
-15
-79
-35
11
16
0
20
-1
-2
-7
-3
28
-12
-7
-5
0
-21
-11
-5
-12
-34
-15
-7
4
-46
-43
-20
-16
-15
4
-5
-6
-36
32
32
-79
54
18
-27
18
-11
1
-10
1
0
-2
-12
26
4
33
-26
-13
-12
-8
-6
-10
-27
-75
-19
-34
-29
-12
-7
-10
-10
-1
-20
-148
67
24
-6
-48
-76
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
-14
-26
-5
3
6
-1
5
-9
-29
-26
-37
-24
-22
-1
0
2
-12
-84
-10
24
10
-29
8
8
-13
0
0
0
0
1
19
-33
32
-63
-36
-23
-1
-14
-25
-25
-22
-6
-6
8
11
22
-11
0
-18
-18
-18
-18
96
51
21
-6
-10
-5
-18
-4
-9
3
-22
29
-1
50
-31
-38
-18
-33
-8
-29
-27
-24
-34
-20
-23
-7
4
-52
-12
-24
-20
-29
-16
-1
5
50
1
-15
20
-14
-40
-17
67
-21
78
0
0
10
-3
-11
-17
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-3
-33
-15
-15
-3
-8
15
39
10
-31
27
16
-26
-35
-55
3
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
-64
-44
-20
-43
-28
-12
-5
-6
12
0
-15
-5
15
-39
-57
-36
-16
76
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
-55
-41
2
-39
-11
-18
-2
-18
15
-4
-2
-2
2
15
-43
-11
-39
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
38
26
19
-1
-6
-9
-12
-20
3
18
2
8
4
-18
-23
-42
-47
19
37
20
10
2
-29
-20
-14
-17
-1
47
12
-5
-11
-67
-17
11
-15
0
2
0
0
0
-22
28
13
-11
2
54
42
49
-11
-16
31
14
24
13
20
81
27
-52
35
4
65
-2
-18
34
-25
16
-14
38
-4
29
10
2
3
-7
-15
-36
7
-29
-14
11
-31
-6
-17
13
92
-51
18
-28
47
20
-59
-39
34
3
-25
-8
-12
26
-61
27
-50
28
-28
55
-49
-60
-3
-32
-11
-8
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-23
23
47
-14
23
-15
25
-9
-11
4
50
-8
-48
-2
-53
-49
-88
-44
0
71
42
-8
-9
-9
16
23
-14
-9
10
-3
-74
-3
-16
5
-28
-18
-9
-59
-21
-16
37
16
15
26
-8
-16
5
-4
3
-6
-36
-18
-11
-17
11
-89
-65
7
26
17
0
0
0
0
0
0
0
0
0
0
3
-5
19
30
35
-17
12
16
0
3
-31
-5
23
-20
-8
-34
-8
-21
26
-19
-34
-28
-20
-11
-37
13
-35
-49
-53
-69
-65
-44
-29
-20
-9
-20
6
-80
-81
10
-18
5
-14
4
-41
-43
10
18
-25
-40
-5
-6
-43
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
-17
-45
-8
-14
0
37
-59
-28
-41
-3
0
1
0
0
0
0
0
0
0
0
18
3
-1
-14
31
5
-4
-13
24
-34
-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
-19
-28
27
-8
-85
20
9
-84
-23
-9
0
0
0
0
0
0
0
0
0
0
-15
-13
-1
-10
-41
-72
-62
-42
49
59
-46
-11
-16
-17
-21
-28
10
-40
-27
22
19
95
-36
-9
8
-11
-28
1
49
-15
4
28
-2
-1
1
26
-23
-1
15
-2
11
42
21
13
52
-31
24
32
-12
15
-2
-15
2
58
-36
18
-1
-4
-20
-33
8
48
-99
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
2
4
10
3
-46
44
-13
-2
-5
-9
-22
59
11
-56
-28
-63
-12
-75
19
-15
71
1
-81
-7
-58
70
-57
-90
-21
29
72
-82
-84
-36
18
-61
45
-63
-18
41
83
-21
13
-56
-3
84
-15
-61
-51
-64
1
-57
-104
8
60
16
-59
-34
32
-34
0
0
0
0
0
0
0
0
0
0
-29
25
4
2
-61
-15
-4
11
-19
23
-30
-39
25
74
-15
-2
35
-21
-34
-2
52
15
1
-46
-69
57
14
-110
24
-21
49
-16
-20
-26
-10
-23
-31
-21
-25
48
-18
5
-14
4
-41
-43
10
18
-25
-40
-5
-6
-43
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
-17
-45
-8
-14
0
37
-59
-28
-41
-3
0
1
0
0
0
0
0
0
0
0
18
3
-1
-14
31
5
-4
-13
24
-34
-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
-19
-28
27
-8
-85
20
9
-84
-23
-9
0
0
0
0
0
0
0
0
0
0
-15
-13
-1
-10
-41
-72
-62
-42
49
59
-46
-11
-16
-17
-21
-28
10
-40
-27
22
0
0
0
0
0
0
0
1
0
0
0
0
1
0
12
-6
26
-1
0
2
1
10
35
-20
4
20
54
0
1
27
-11
-8
14
36
-43
-31
-7
60
-40
-22
-3
-28
-36
25
127
12
-34
-16
33
-25
13
0
15
-27
-4
27
60
41
66
-4
-4
23
-18
-9
-25
-66
28
20
35
39
-20
-11
16
2
15
-14
-29
9
49
-7
-24
19
41
17
-11
22
3
-45
-6
32
-18
-34
18
-56
10
4
6
-15
69
-16
23
-17
12
-65
50
-31
72
-11
5
-8
17
-9
-6
-50
92
20
-9
0
-1
-4
-19
-23
-27
99
-67
-9
0
0
0
0
-4
8
-17
38
-76
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
-4
19
-12
-19
7
2
9
33
40
-23
-51
1
10
6
-1
-25
-43
-12
34
41
-6
-14
-20
-21
9
-2
-16
12
28
5
-61
26
-64
-66
-17
55
22
-21
-31
10
5
9
7
-83
-27
-29
7
-4
-8
10
0
-2
99
-7
17
-31
5
-8
-22
-26
-42
-7
21
-42
4
61
-101
-7
-62
18
16
51
-46
-35
1
9
22
35
4
-1
-42
54
-5
6
6
8
-7
-1
-7
-17
-32
2
17
-27
-6
-23
-1
23
17
41
16
9
-10
-103
-58
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
29
-32
20
2
-13
12
49
9
-12
-1
15
19
5
7
6
-22
4
17
0
-12
-45
-21
1
-21
19
3
6
-6
-8
15
-35
-47
-17
-1
-15
-22
49
33
-72
5
-10
-14
-22
16
40
13
-20
-43
-33
-21
-24
-77
-8
107
54
-27
12
-27
-19
-24
-26
-3
13
18
49
3
-15
-32
-86
-40
-8
9
-2
-61
-7
-31
-3
-5
26
-7
8
-4
20
5
-29
-16
-5
-40
0
1
-3
2
45
23
-3
-131
-27
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
-74
-36
20
0
-7
12
-37
-11
21
-3
-2
2
11
-24
42
-67
39
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-35
11
40
-37
18
-19
8
53
0
2
0
-1
-31
7
20
15
-62
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-2
4
10
-33
-2
-17
0
-1
9
0
-17
-6
30
-71
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-8
9
40
-1
3
-23
-17
-16
-2
21
-4
-33
43
-21
32
-86
-8
15
38
15
-21
-2
4
-19
-8
-18
-2
-51
11
-39
-14
-67
44
27
8
0
4
-3
-4
-7
27
16
48
34
2
11
27
2
-13
-5
-23
-28
48
-12
-23
33
36
84
2
-47
-32
8
10
-8
22
10
-24
17
3
16
-33
-1
27
-53
43
17
-1
-3
5
-25
-64
-52
4
-68
-8
4
12
0
38
1
48
33
27
-16
-26
8
-14
22
2
0
5
-32
-3
-27
1
21
18
0
0
0
1
-16
39
-52
39
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
-13
33
-11
-40
-16
10
12
0
-4
-7
-18
50
4
-15
-41
-14
-2
-4
-1
25
-2
11
17
-13
-24
-64
7
0
0
0
0
-6
-3
17
-6
-97
-10
61
-16
-1
-8
-4
-14
-7
18
-30
-28
38
44
30
12
-12
-33
-18
11
-6
-41
6
12
17
-23
-29
0
0
0
-1
-2
-6
-28
-36
18
-29
-5
-21
-9
-20
-17
-14
3
2
-11
22
37
-39
9
35
8
-28
-40
-12
15
-69
51
-34
-36
8
-41
-33
91
-2
2
0
80
4
18
-57
-58
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
25
-9
-26
-5
6
18
6
-27
14
30
27
21
-9
-14
5
-3
9
8
10
17
-31
-25
-8
-55
8
75
0
0
0
0
1
-2
0
27
-52
18
12
50
-3
21
19
-24
-15
-10
-1
-9
13
34
-73
21
-12
2
-17
-31
32
3
45
24
-20
-14
-14
-32
0
-5
12
-19
-55
-15
2
-30
-36
-8
9
-2
-61
-7
-31
-3
-5
26
-7
8
-4
20
5
-29
-16
-5
-40
0
1
-3
2
45
23
-3
-131
-27
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
-74
-36
20
0
-7
12
-37
-11
21
-3
-2
2
11
-24
42
-67
39
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-35
11
40
-37
18
-19
8
53
0
2
0
-1
-31
7
20
15
-62
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-2
4
10
-33
-2
-17
0
-1
9
0
-17
-6
30
-71
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-8
9
40
-1
3
-23
-17
-16
-2
21
-4
-33
43
-21
32
-86
-8
15
38
15
-21
-2
4
-19
-8
-18
-2
-51
11
-39
-14
-67
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
134
37
8
-1
0
0
0
0
0
0
0
0
0
0
-49
-172
34
125
71
21
-8
-8
0
0
0
0
0
0
0
0
0
25
17
74
85
13
0
0
0
0
0
0
0
0
0
0
0
0
-37
30
-107
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
-154
-17
-40
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
-100
-20
61
4
0
0
0
0
0
0
0
0
0
0
0
0
-124
84
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-120
-81
-45
8
0
0
0
0
0
0
0
0
0
0
0
0
-78
-119
64
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-11
0
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
25
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-105
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-40
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
61
55
2
-1
0
0
0
0
0
0
0
0
0
0
0
4
24
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-53
36
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
51
77
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
17
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
53
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
-8
29
45
-4
-1
0
0
0
0
0
0
0
0
0
0
0
15
-7
35
23
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
40
12
0
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
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-56
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
-5
8
97
77
16
43
-15
0
0
0
0
0
0
0
0
0
0
-2
41
6
37
-56
-73
-134
-14
-2
0
0
0
0
0
0
0
0
27
4
-74
9
20
-74
-50
5
-4
0
0
0
0
0
0
0
0
1
23
-36
-56
119
170
-15
-1
0
0
0
0
0
0
0
0
0
3
3
-55
-25
24
-16
-4
7
-1
0
0
0
0
0
0
0
0
0
43
23
-2
8
6
-3
0
0
0
0
0
0
0
0
0
0
2
11
-17
6
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
4
20
12
-7
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
9
0
3
-9
39
-5
0
0
0
0
0
0
0
0
0
0
0
-20
15
35
21
31
-28
-8
0
1
0
0
0
0
0
0
0
3
-9
26
21
106
47
-53
-10
-11
0
0
0
0
0
0
0
0
0
20
24
-18
5
6
4
-18
0
0
0
0
0
0
0
0
0
-1
-29
-2
-11
12
-25
-22
0
9
0
0
0
0
0
0
0
0
-7
-30
4
7
-22
-7
0
2
0
0
0
0
0
0
0
0
0
-4
-6
-1
16
-8
0
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
25
252
41
46
0
0
0
0
0
0
0
0
0
0
1
-54
9
143
245
19
21
-17
-110
-25
0
3
0
0
0
0
0
1
54
-3
57
236
116
91
64
111
-12
1
0
0
0
0
0
0
-1
-6
6
51
9
90
-1
160
-59
-8
1
0
0
0
0
0
0
0
71
3
69
80
-42
100
27
107
0
0
0
0
0
0
0
0
1
13
-10
24
15
-78
-63
3
3
0
0
0
0
0
0
0
0
27
6
-22
76
-52
-10
22
0
-7
0
0
0
0
0
0
0
0
0
-67
-12
-2
-19
5
-2
-1
0
0
0
0
0
0
0
0
0
3
3
2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-43
84
136
53
14
-47
10
0
0
-6
0
0
0
0
0
0
0
-44
-13
-19
-29
-12
-44
22
78
178
32
5
-3
-2
0
0
0
0
-68
72
8
-27
19
-21
-28
-85
-57
-59
32
-3
2
0
0
0
0
31
-169
-54
-81
-41
-36
-53
85
-14
21
15
-5
0
0
0
0
0
50
-67
-92
-107
-22
-10
7
-115
-70
17
11
1
0
0
0
0
0
126
-206
-48
-73
-130
-53
-95
-139
2
1
11
1
0
0
0
0
0
-19
-105
-116
-109
-105
-43
-64
-109
1
2
-4
4
0
0
0
0
0
53
171
-31
-95
-124
-103
82
-19
-67
2
-14
0
0
0
0
0
0
101
-72
-178
-261
-137
40
-140
-3
28
4
-7
9
2
0
0
0
0
3
-24
-25
79
65
29
-58
0
0
0
0
0
0
0
0
0
0
1
28
-51
3
-132
72
-16
-83
-35
-60
5
0
0
0
0
0
0
1
22
128
85
-32
188
254
-91
-34
-41
9
0
0
0
0
0
0
1
14
-45
24
75
64
95
-16
30
-20
-3
0
0
0
0
0
0
-1
-67
42
37
114
103
110
-58
28
-6
1
0
0
0
0
0
0
2
-6
134
-152
73
32
-72
33
81
-15
0
0
0
0
0
0
0
2
50
153
-115
-39
83
58
54
-2
112
0
0
-2
0
0
0
0
0
28
-45
98
23
-35
14
34
-19
-84
1
0
0
0
0
0
0
1
-28
12
7
-32
43
-9
-75
-62
-3
0
0
0
0
0
0
0
0
63
-16
-9
111
-51
76
0
0
3
0
0
0
0
0
0
0
0
-70
91
59
-8
-181
35
-171
-81
99
2
2
0
0
0
0
0
0
54
197
-6
-33
136
43
-2
-92
26
17
0
0
0
0
0
0
0
-14
60
42
106
121
44
0
89
-22
0
0
0
0
0
0
0
0
12
0
-64
70
172
166
-210
124
40
1
0
0
0
0
0
0
0
129
-30
98
-58
205
299
-56
133
24
-2
0
0
0
0
0
0
0
15
103
-35
-89
287
148
-127
53
-9
5
0
0
0
0
0
0
0
3
50
7
-117
-34
222
46
-50
-1
0
0
0
0
0
0
0
0
92
-27
4
-1
72
4
4
0
0
0
0
0
0
0
0
0
1
-3
37
131
178
-2
87
0
0
0
0
0
0
0
0
0
0
0
-162
122
108
92
89
-152
-190
-39
-2
0
0
0
0
0
0
0
-44
159
89
160
81
-23
-34
30
3
-4
0
0
0
0
0
0
0
39
22
92
49
117
-29
96
140
-26
0
0
0
0
0
0
0
0
15
27
216
-30
133
125
70
-37
23
-7
0
0
0
0
0
0
0
42
31
56
-34
-85
34
-84
206
1
0
0
0
0
0
0
0
0
-40
53
36
41
33
-109
26
4
0
0
0
0
0
0
0
0
0
0
-65
12
-116
-110
-35
-76
-2
-8
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
3
2
1
79
83
66
-40
0
0
0
0
0
0
0
0
0
0
0
9
38
11
36
71
143
-48
-10
-5
0
0
0
0
0
0
0
0
1
41
153
146
215
311
23
-25
0
0
0
0
0
0
0
0
1
-9
94
85
74
236
-10
201
-54
0
0
0
0
0
0
0
0
2
0
-1
21
26
65
-225
100
1
0
0
0
0
0
0
0
0
0
2
-10
43
146
39
-70
11
1
0
0
0
0
0
0
0
0
4
2
-1
33
-73
-224
-188
114
5
0
0
0
0
0
0
0
0
0
8
3
-56
-146
9
-201
63
20
0
0
0
0
0
0
0
0
0
0
0
-7
0
-142
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
-45
-63
22
0
0
0
0
0
0
0
0
0
0
0
0
25
253
25
42
15
-105
-50
-22
0
0
0
0
0
0
0
0
0
-35
-24
73
88
46
-18
56
5
0
0
0
0
0
0
0
0
0
12
78
-52
86
122
64
61
0
0
0
0
0
0
0
0
0
0
112
49
-40
148
97
40
-112
-10
0
0
0
0
0
0
0
0
0
76
84
-42
0
-123
27
28
0
0
0
0
0
0
0
0
0
0
63
136
-35
18
-3
-79
-200
-3
0
0
0
0
0
0
0
0
-1
3
114
110
-191
8
-181
10
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-101
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
97
0
0
-44
-56
0
-6
0
0
0
0
0
0
0
0
0
-1
13
-52
-4
-13
-38
-31
0
0
0
0
0
0
0
0
0
0
1
-38
55
41
-77
-6
0
0
0
0
0
0
0
0
0
0
0
0
75
36
39
-24
38
-2
-3
-1
0
0
0
0
0
0
0
0
-5
-34
-72
-18
-1
0
11
0
-6
0
0
0
0
0
0
0
0
-10
-17
-37
-21
-22
-11
-3
-3
7
0
0
0
0
0
0
0
0
15
77
-17
-19
-81
-2
0
-6
-1
0
0
0
0
0
0
0
0
-9
-38
-26
6
-28
1
1
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
4
48
0
0
-4
-16
-1
0
0
0
0
0
0
0
0
0
0
0
25
-89
-5
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
3
43
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
61
39
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
43
-19
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
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
69
-42
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
38
134
-6
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
35
-10
-85
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-22
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
55
12
-5
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
12
7
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
-81
-27
2
137
47
0
0
0
0
0
0
0
0
0
0
0
0
-17
-88
90
108
4
0
0
0
2
0
3
-1
0
0
0
0
-69
8
-72
39
61
106
31
35
-10
0
0
2
0
0
0
0
0
4
-85
-42
-26
-69
-27
-97
-83
-45
-3
0
1
0
0
0
0
0
25
210
-18
-56
-127
-28
-69
-13
12
-16
2
9
0
0
0
0
0
0
-10
-34
0
-2
48
-122
-52
27
-1
1
0
0
0
0
0
0
15
8
58
-16
-10
-63
-96
91
30
4
-1
0
0
0
0
0
0
0
-81
-19
-142
-127
-91
119
2
55
-42
-3
1
0
0
0
0
0
27
51
-28
68
4
-1
4
19
0
0
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
13
67
43
133
45
0
0
0
-14
-4
0
0
0
0
0
0
74
-31
2
16
102
7
-80
-24
-8
-7
-11
0
0
0
0
0
0
-14
5
-55
76
-3
38
-93
45
40
19
-7
0
0
0
0
0
0
0
-11
38
88
-74
-36
12
14
-81
5
1
0
0
0
0
0
0
0
-21
5
-69
-2
-83
-6
45
-28
3
-2
0
0
0
0
0
0
1
-49
-103
-4
-2
2
62
-22
-97
-21
0
0
0
0
0
0
0
0
4
94
-80
-67
-12
-74
35
15
0
0
0
0
0
0
0
0
6
1
0
0
0
-13
-17
6
1
0
4
0
0
0
0
0
0
-6
-161
-97
39
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-34
9
11
0
0
0
0
0
0
0
0
0
0
0
0
49
4
8
46
-9
0
0
0
0
0
0
0
0
0
0
0
0
-56
65
12
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
110
-92
20
14
-25
5
0
0
0
0
0
0
0
0
0
0
0
24
18
69
-48
70
-16
-18
1
1
-1
0
-3
0
0
0
0
0
-25
-108
-50
0
-57
14
14
41
1
-6
-5
-3
1
0
0
0
0
-26
-55
25
15
-40
-26
20
-56
43
6
7
-3
0
0
0
0
0
-90
56
-24
-3
31
-10
20
-14
-7
-2
1
0
0
0
0
0
0
-149
-61
-4
106
147
43
0
0
0
0
0
0
0
0
0
0
0
-6
-65
-64
-28
219
75
0
0
-5
-1
0
0
0
0
0
0
0
-142
-69
-14
-13
0
-28
84
33
7
-2
0
0
0
0
0
0
0
0
-37
-93
-75
-123
-34
-43
68
-24
19
0
0
0
0
0
0
0
-120
-40
-49
13
-162
-90
-9
-1
-1
-8
-2
0
0
0
0
0
0
-50
1
-144
-11
-49
-22
-14
-23
-14
0
0
0
0
0
0
0
0
-113
-6
-70
-58
-37
57
-25
-9
-3
0
0
0
0
0
0
0
0
-8
-61
2
-39
-13
29
1
-3
6
-4
0
0
0
0
0
0
0
66
1
-10
-1
-1
-1
0
1
0
0
0
0
0
0
0
0
0
-26
-29
-25
12
198
331
0
0
0
0
0
0
0
0
0
0
0
-75
-29
-23
27
28
47
72
-14
-50
15
-2
-1
0
0
0
0
0
-29
-27
2
43
67
52
62
47
-32
-25
-1
0
0
0
0
0
0
-38
-17
-3
26
33
37
-53
-37
76
-40
-2
0
0
0
0
0
0
49
0
20
18
-5
-53
19
-66
-24
3
5
0
0
0
0
0
0
65
20
4
-15
-47
-76
-172
-69
-55
2
7
0
0
0
0
0
0
-4
2
1
-12
-39
-85
-129
-51
-69
6
2
1
0
0
0
0
0
63
17
1
-19
-31
-65
-138
-109
-55
-92
-20
9
0
0
0
0
0
37
-4
-4
-21
-92
-73
-5
-23
-19
16
-41
-6
0
0
0
0
0
528
474
330
524
391
135
0
0
0
0
0
0
0
0
0
0
0
323
222
239
207
203
250
15
-3
0
0
0
0
0
0
0
0
0
-58
42
-42
65
99
32
11
-2
0
0
0
0
0
0
0
0
0
-62
4
6
14
-63
-5
9
0
0
0
0
0
0
0
0
0
0
-5
-53
-37
169
70
-74
0
0
0
0
0
0
0
0
0
0
0
-70
-8
-54
-43
-9
-6
-5
-3
0
0
0
0
0
0
0
0
0
-112
-104
-60
-86
-90
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-186
-173
-203
-76
26
-10
-1
0
0
0
0
0
0
0
0
0
-39
-24
1
-12
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-90
69
122
215
177
214
41
0
0
0
0
0
0
0
0
0
0
-49
-55
-49
56
102
0
-99
19
0
0
0
0
0
0
0
0
0
-34
-122
-72
-8
-140
41
-28
-14
0
0
0
0
0
0
0
0
0
-67
-85
-108
-44
2
-46
-5
-6
0
0
0
0
0
0
0
0
0
-25
-72
-50
-11
-40
-1
4
0
0
0
0
0
0
0
0
0
0
-83
-15
-37
7
57
3
-1
1
0
0
0
0
0
0
0
0
0
69
9
-64
71
-91
0
-14
26
-1
-2
0
0
0
0
0
0
0
15
-8
-41
73
-62
-76
-2
7
-1
0
0
0
0
0
0
0
0
-14
-131
22
22
33
-5
-7
1
-2
0
0
0
0
0
0
0
0
-102
-282
-76
158
279
86
0
0
0
0
0
0
0
0
0
0
0
-77
-106
-104
40
131
190
0
-20
0
1
0
0
0
0
0
0
0
-98
-92
-80
-17
12
-15
-11
-14
2
-3
0
0
0
0
0
0
0
-114
-75
-58
-70
-63
53
-104
-43
2
1
0
0
0
0
0
0
0
-43
-108
-55
-71
-63
-37
52
18
-3
-8
0
0
0
0
0
0
0
13
-36
-141
-24
-92
13
6
-30
4
2
14
0
0
0
0
0
0
-20
-50
-32
-72
109
-71
0
8
-2
0
0
1
0
0
0
0
0
-35
35
23
-61
-109
-55
-19
9
-12
-2
0
0
0
0
0
0
0
-1
28
9
-22
-71
-28
7
-7
5
1
0
0
0
0
0
0
0
-108
45
70
149
-5
109
82
0
0
0
0
0
0
0
0
0
0
-1
13
-42
-34
68
35
0
-15
0
-5
0
0
0
0
0
0
0
-4
-24
6
49
65
-59
23
-126
26
0
0
0
0
0
0
0
0
107
20
-23
-65
25
-23
37
6
58
1
0
0
0
0
0
0
0
93
25
0
71
-54
-80
-5
-14
-1
0
0
0
0
0
0
0
0
22
-25
-9
-10
-18
-51
115
-6
-15
0
0
0
0
0
0
0
0
124
-26
-60
-63
86
-104
-38
-3
0
0
0
0
0
0
0
0
0
-16
11
-75
-67
55
-6
-64
-52
7
0
0
0
0
0
0
0
0
-15
-2
17
90
-2
0
6
1
0
0
0
0
0
0
0
0
0
-67
-25
47
-5
-41
-15
0
0
0
0
0
0
0
0
0
0
0
-54
-14
-37
17
188
48
35
0
-24
-3
0
0
0
0
0
0
0
-66
-71
-21
72
-42
-42
-63
-34
10
0
0
0
0
0
0
0
0
-30
7
-70
40
21
-76
-38
19
-23
2
0
0
0
0
0
0
0
-16
14
15
-41
56
-68
-18
-34
-31
2
0
0
0
0
0
0
0
-55
-40
29
-14
-30
-71
-2
-9
-17
-1
0
0
0
0
0
0
0
-50
-65
-65
29
27
-47
-2
-9
9
0
0
0
0
0
0
0
0
-89
-53
-115
-27
-90
-44
-2
-61
-86
-1
0
0
0
0
0
0
0
-1
-35
12
-34
-25
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
-18
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-38
-36
-20
-101
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
-16
-44
-60
-1
0
0
0
0
0
0
0
0
0
0
0
4
-11
-152
-5
-69
4
0
0
0
0
0
0
0
0
0
0
0
5
-34
31
7
-68
0
0
0
0
0
0
0
0
0
0
0
1
1
-25
222
9
-10
1
0
0
0
0
0
0
0
0
0
0
1
1
-5
3
-39
95
0
0
0
0
0
0
0
0
0
0
0
0
0
2
33
33
16
7
0
0
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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
2
65
20
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
33
31
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
107
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-2
0
0
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-36
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
125
81
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
100
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-131
50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
-66
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
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
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
28
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
17
52
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
73
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
39
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
63
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
27
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
-29
61
96
-68
9
0
0
0
0
0
0
0
0
0
0
0
0
-45
-95
-151
-102
-25
2
0
0
0
0
0
0
0
0
-2
26
-55
-72
-120
-91
-30
-15
0
0
0
0
0
0
0
0
0
1
-2
-1
66
35
201
1
27
6
0
0
0
0
0
0
0
0
-4
47
-4
-24
98
146
15
-23
0
0
0
0
0
0
0
0
0
0
-4
92
124
30
-24
20
0
0
0
0
0
0
0
0
0
0
3
71
-5
59
-10
-17
13
0
0
0
0
0
0
0
0
0
0
0
-26
51
6
-1
1
-28
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
-12
-13
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-13
-28
-1
-5
0
0
0
0
0
0
0
0
-2
-1
-5
19
9
6
-10
-8
14
1
0
0
0
0
0
0
0
0
0
-11
42
54
29
28
13
-49
0
0
0
0
0
0
0
0
0
-3
-32
24
-18
34
14
0
-34
-25
0
0
0
0
0
0
0
0
0
-29
1
4
18
6
-4
-6
0
0
0
0
0
0
0
0
0
-1
-3
-1
19
-1
0
-13
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
-41
92
154
-53
-11
-68
44
0
0
0
0
5
0
-2
-2
0
0
4
258
109
-121
108
-31
50
0
0
0
0
0
0
0
1
50
153
-35
-31
114
108
86
-102
130
0
0
0
0
0
0
0
-2
-6
59
57
114
119
86
32
5
121
0
0
0
0
0
0
-4
1
-4
14
31
12
72
105
-46
-5
-18
0
0
0
0
0
0
-6
4
-31
4
20
36
-24
130
-128
49
1
0
0
0
0
0
2
0
-5
-30
-32
-1
11
15
-11
-29
4
0
0
0
0
0
0
0
0
-1
21
84
27
26
53
-186
-3
0
0
0
0
0
0
0
0
0
1
1
3
1
0
0
0
0
0
0
0
0
0
0
2
2
20
5
0
0
46
-34
-156
-107
-166
29
3
0
0
0
0
1
4
27
49
209
-47
-79
-48
-64
-57
31
78
40
0
0
0
0
6
-3
-21
-42
-40
-48
-23
-77
-78
-70
-18
102
-21
0
0
0
0
0
-1
-7
11
-1
-49
1
-26
-39
-63
0
161
97
0
0
0
2
8
-3
2
6
-145
59
-27
-73
-52
49
38
226
68
0
0
0
0
2
-2
2
-24
-85
-26
-14
-69
-82
2
29
134
-67
0
0
0
0
0
-1
47
14
49
81
9
-60
-73
-48
5
-47
1
0
0
0
0
0
0
-23
-26
-19
124
-28
-35
-74
-20
-65
81
-2
0
0
0
0
0
5
0
9
27
119
14
-44
-84
-166
-70
-102
0
0
0
0
0
0
0
0
0
0
0
-7
181
-92
-11
2
-39
19
0
0
0
0
0
0
0
1
-2
46
186
49
163
122
-59
56
34
0
0
0
0
0
0
0
-2
-9
109
-17
-72
-75
113
34
-62
-148
0
0
0
0
0
0
0
0
2
84
-107
-63
-51
95
-19
-73
-44
0
0
0
0
0
0
0
0
15
42
-109
-17
-136
106
119
23
-122
0
0
0
0
0
0
-1
0
-13
10
71
123
87
0
141
-107
-150
0
0
0
0
2
0
0
0
-102
4
-94
0
81
-45
110
0
-32
0
0
0
0
0
0
0
0
45
-144
58
90
134
38
-20
-33
-33
0
0
0
0
0
0
0
0
0
1
-9
-12
23
183
-37
45
-29
0
0
0
0
-5
0
0
0
0
0
119
118
115
26
104
90
-93
0
0
0
0
0
0
1
0
45
162
0
29
92
274
-9
-23
-77
0
0
0
0
0
0
0
0
3
131
-197
-66
138
45
39
-55
-62
0
0
0
0
0
0
0
0
-3
61
32
-26
46
74
84
-26
-77
0
0
0
0
0
0
0
0
1
-66
0
73
-32
29
197
83
56
0
0
0
0
0
0
0
0
-5
19
0
60
-58
161
157
111
-84
0
0
0
2
0
0
0
0
-22
-9
-25
-2
-70
17
82
13
-7
0
0
0
0
0
0
0
-17
-3
152
149
-147
-19
53
23
18
7
0
0
0
0
0
0
0
0
11
5
-24
3
-3
-22
181
0
0
0
0
0
0
0
0
0
0
0
0
-168
33
10
23
-149
38
0
0
0
0
0
0
0
0
0
-153
0
27
-95
96
5
-62
-130
-14
0
0
0
0
0
0
0
-5
-34
141
43
8
-30
46
159
60
-5
0
0
0
0
0
-1
0
12
7
-6
73
168
156
139
84
36
7
0
0
0
0
0
1
-2
-1
43
90
99
115
-7
175
51
-88
0
0
0
0
0
0
0
0
-1
-3
114
266
60
255
49
-152
52
0
0
0
0
0
-1
0
-1
3
39
66
63
139
176
-65
-135
10
0
0
0
0
0
0
0
0
8
75
117
18
-96
53
-372
-3
-1
0
0
0
0
0
0
0
1
0
-4
16
-3
3
2
-7
-50
0
0
0
0
0
0
0
0
0
0
0
0
-195
130
86
74
44
-1
0
0
0
0
0
0
0
0
0
10
0
-47
51
148
116
61
124
-2
0
0
0
0
0
0
0
0
0
53
-82
23
-24
65
186
-29
0
0
0
0
0
0
0
0
0
-11
15
5
94
82
158
194
-22
0
0
0
0
0
0
0
0
0
2
68
175
64
-37
44
13
-9
-14
0
0
0
0
0
0
0
0
2
1
2
92
-72
134
-94
7
2
0
0
0
0
0
0
0
0
1
-20
8
-49
109
-27
-89
10
0
0
0
0
0
0
0
0
0
11
1
17
39
-43
-85
41
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-9
-40
0
0
0
0
0
0
0
0
0
0
0
0
92
76
-30
-17
-24
-50
-47
0
0
0
0
0
0
0
0
0
1
122
141
34
-83
-22
-133
21
0
0
0
0
0
0
0
0
0
1
-68
44
-37
66
-162
-45
64
0
0
0
0
0
0
0
0
0
0
-44
146
194
-56
-52
-62
-3
0
0
0
0
0
0
0
0
0
5
93
122
119
-173
-32
-47
-17
0
0
0
0
0
0
0
0
0
2
28
-58
49
-49
86
-29
19
0
0
0
0
0
0
0
0
0
0
48
52
-35
90
-163
-1
0
0
0
0
0
0
0
0
0
0
0
5
5
25
9
-15
7
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
10
7
0
0
-1
-9
15
-198
59
-25
-1
0
0
0
0
0
0
1
-5
3
65
19
33
44
-4
81
49
-26
0
0
0
0
0
0
0
-1
-1
-7
3
-17
-64
-140
52
13
15
0
0
0
0
0
0
0
0
0
0
-6
2
-36
-4
-90
15
20
0
0
0
0
0
0
0
0
0
0
0
-6
-22
7
114
-10
-28
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-41
-12
113
73
0
0
0
0
0
0
0
0
0
0
0
-9
6
53
112
10
-84
0
0
0
0
0
0
0
0
0
0
0
1
-69
18
25
-105
-17
0
0
0
0
0
0
0
0
0
0
0
0
3
-87
-66
-14
-65
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
-7
-10
0
0
0
0
0
0
0
0
0
0
0
8
64
20
10
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
24
-16
-21
-57
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
39
17
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
38
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
7
-64
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
50
-49
-64
-21
-1
0
0
0
0
0
0
0
0
0
0
0
-1
10
113
47
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
14
-37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
-8
0
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
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
-1
-1
4
47
-7
-13
0
0
0
0
0
0
0
0
0
0
0
5
-5
33
-6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
40
42
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
10
6
7
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
-1
0
0
54
49
29
-65
-45
17
4
0
0
0
0
0
0
1
25
-28
-27
-55
49
50
-10
68
25
-17
0
0
0
0
0
0
3
19
-58
-33
-3
69
35
-41
-11
52
44
0
0
0
0
0
0
0
20
-16
-87
-52
-33
-1
28
-27
37
-10
0
0
0
0
0
0
0
0
-5
0
-41
-21
11
-74
-42
60
5
0
0
0
0
0
0
0
0
-35
111
-31
-23
-134
-11
3
67
-16
0
0
0
0
0
0
0
-1
23
-13
-108
46
-103
-108
-103
-74
-9
0
0
0
0
0
0
0
0
26
56
-66
37
-43
55
49
-31
-1
0
0
0
0
0
0
0
0
44
-85
-1
-7
0
-6
-29
-13
-9
0
0
0
0
0
0
0
0
0
0
7
-44
-11
-3
-6
-44
20
0
0
0
0
0
0
0
0
4
-5
19
44
-11
4
10
-10
6
0
0
0
0
0
0
0
-5
9
5
30
63
64
9
-28
-69
5
0
0
0
0
0
0
0
0
2
-4
-29
15
43
-43
-68
-3
40
0
0
0
0
0
0
0
1
-5
-51
59
44
-12
79
-74
-36
14
0
0
0
0
0
0
0
0
14
-18
86
-11
-25
-25
-30
82
-24
0
0
0
0
0
0
0
-2
48
28
4
-38
-26
-24
-7
-88
-75
0
0
0
0
0
0
0
-3
63
35
-72
-61
10
-72
61
-44
3
0
0
0
0
0
0
0
1
-3
-10
0
0
-1
-22
-29
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
42
0
0
-70
29
48
27
12
-4
0
0
0
0
0
0
17
-48
24
-152
-88
-15
77
-21
-41
13
14
0
0
0
0
0
1
4
-6
19
-113
-146
92
-21
-124
18
9
32
-1
0
0
0
0
0
0
-9
8
-74
-26
-12
32
24
-8
42
-1
0
0
0
0
0
0
0
0
5
-50
-52
-5
-96
-34
28
3
35
-1
0
0
0
0
0
0
-2
-12
-50
-116
12
11
-12
1
-2
0
0
0
0
0
0
0
0
0
-16
-48
-70
-75
-127
37
4
-4
0
0
0
0
0
0
0
0
0
-5
-1
-40
-62
65
-3
9
0
2
0
0
0
0
0
0
0
0
0
-16
-43
-12
0
0
0
0
0
0
0
0
2
-27
17
-37
28
12
0
0
47
60
30
29
14
6
0
0
0
0
-21
-45
4
-25
23
21
4
3
10
39
73
3
0
0
0
0
-2
11
33
-9
-89
21
5
3
1
4
-19
91
-30
-19
0
0
0
0
2
-20
43
14
-30
2
-1
-1
9
46
37
102
-21
0
0
0
0
-6
1
25
-4
-21
-27
-21
-1
12
40
85
74
21
0
0
0
0
0
-6
4
-33
-45
-29
-5
0
7
22
37
158
-50
0
0
0
0
5
3
-6
-25
-39
11
-6
-1
-2
9
-2
128
-20
0
0
0
-1
52
27
10
-56
14
-8
2
-5
8
11
76
155
0
0
0
0
-2
34
-27
26
-96
21
-13
1
-17
2
33
-10
139
-8
0
0
0
0
0
0
0
-2
3
0
0
-69
-12
-76
85
-2
0
0
0
0
0
0
0
0
5
30
29
72
-40
13
70
-29
-1
0
0
0
0
0
0
0
0
-11
38
-18
136
-162
72
50
-49
-1
0
0
0
0
0
0
0
0
0
25
95
28
-20
91
66
54
0
0
0
0
0
0
0
0
0
0
1
76
-26
113
118
-31
16
0
0
0
0
0
0
0
0
0
1
-1
125
171
190
187
97
237
0
0
0
0
0
0
0
0
0
0
26
-84
-1
6
130
125
-24
42
0
0
0
0
0
0
0
0
0
-18
-57
33
-15
113
274
-4
0
0
0
0
0
0
0
0
0
0
-1
-1
-36
-15
11
-4
0
0
0
0
0
0
0
0
2
6
2
-53
0
0
-186
54
-9
88
2
0
0
0
0
0
0
-2
2
-7
-22
-63
-114
-4
37
126
5
2
0
0
0
0
0
0
-1
1
-2
-1
18
-82
-86
-34
-52
-17
-21
0
0
0
0
0
0
2
1
11
-15
8
-81
-41
100
134
78
7
0
0
0
0
0
0
0
0
0
1
71
-81
50
43
-18
-17
3
0
0
0
0
0
0
0
0
7
-22
-67
-57
-56
137
-13
20
0
0
0
0
0
0
1
0
4
-1
-26
-23
7
7
-8
-107
24
0
0
0
0
0
0
0
3
0
-3
-56
-76
36
70
-23
-89
-18
0
0
0
0
0
0
0
-1
2
-1
15
-29
-19
-53
1
-9
2
0
0
0
0
0
0
0
0
0
-4
48
0
0
-97
117
-66
-42
-10
8
0
0
0
0
0
0
4
21
-89
-202
-39
-83
-103
75
-45
-61
4
6
0
0
0
0
1
-1
11
-9
-57
-25
-44
-128
5
-71
-34
-3
1
0
0
0
0
0
0
29
-50
24
-59
-37
80
189
35
-10
-4
1
0
0
0
0
0
0
-4
-11
-83
-28
-133
7
59
76
22
2
0
0
0
0
0
0
0
0
-37
-25
-78
-87
10
11
59
-7
0
-10
0
0
0
0
0
0
0
-52
12
-72
-119
-113
9
99
-2
10
0
0
0
0
-1
0
4
-2
-34
43
6
-30
-53
-35
20
-5
-33
0
0
0
0
0
0
0
0
-1
-24
-60
-19
-14
9
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
-84
-24
9
-16
-26
-11
-3
0
0
0
0
0
0
-9
-52
-71
-70
-46
116
58
19
-35
156
12
0
0
0
0
0
0
0
22
-134
62
25
-79
67
-53
20
-55
-7
0
0
0
0
0
0
-8
-10
-17
-58
-45
100
8
-2
0
1
-2
0
0
0
0
0
0
0
-50
-30
0
-20
-56
-13
76
1
50
2
0
0
0
0
0
0
0
-29
13
0
-10
14
-56
-71
-11
-11
0
0
0
0
0
0
1
-5
45
13
4
-21
138
103
4
7
-16
-23
0
0
0
0
0
0
9
19
2
-12
-22
44
18
-2
-18
-9
0
0
0
0
0
0
1
0
-57
31
17
-4
-21
24
0
0
0
0
0
0
0
0
1
0
1
2
0
0
12
58
-25
-12
-6
13
-6
0
0
0
0
0
1
33
62
-20
49
-232
118
93
14
-37
-63
-35
0
0
0
0
0
0
33
-21
-34
-52
-42
-9
48
-8
-47
12
-29
0
0
0
0
0
0
1
-32
-81
-65
-55
-100
-66
-96
-2
2
-2
0
0
0
0
0
0
8
15
-112
-158
-63
70
-101
71
-15
-21
-53
0
0
0
0
0
0
-14
-86
-95
-59
11
-100
134
-191
-1
6
14
0
0
0
-1
-1
-5
-39
31
-52
-25
-109
32
-68
5
-9
-28
1
0
0
0
0
6
18
14
22
-3
-36
0
-8
-73
3
74
54
0
0
0
0
3
1
3
-36
14
62
-11
42
-73
107
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
202
156
140
-6
0
0
0
0
0
0
0
0
0
0
39
20
56
137
187
65
-91
7
2
0
0
0
0
0
0
0
0
31
115
9
-56
-18
72
1
-1
3
0
0
0
0
0
0
0
0
-105
-11
25
-11
-54
-9
0
11
0
0
0
0
0
0
0
0
0
20
1
13
23
33
-5
0
0
0
0
0
0
0
0
0
0
0
96
68
-80
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-71
7
20
-22
-55
2
0
0
0
0
0
0
0
0
0
0
0
-101
17
-11
2
124
0
0
0
0
0
0
0
0
0
0
0
0
-30
-22
-47
9
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
44
23
0
9
0
0
0
0
0
0
0
0
0
0
0
0
3
9
84
27
6
1
0
0
0
0
0
0
0
0
0
0
-7
-142
25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
198
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-79
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
66
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
64
-16
32
5
-2
0
0
0
0
0
0
0
0
0
0
100
75
83
-31
-5
3
0
-1
0
0
0
0
0
0
0
0
0
-114
56
60
20
9
-1
2
1
0
0
0
0
0
0
0
0
0
55
80
6
-42
15
9
0
0
0
0
0
0
0
0
0
0
0
-6
-3
50
14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-17
44
-11
0
11
0
0
0
0
0
0
0
0
0
0
0
-18
-50
-47
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-39
65
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
40
34
3
23
0
0
0
0
0
0
0
0
0
0
0
0
6
48
39
5
44
1
0
0
0
0
0
0
0
0
0
0
8
-75
-6
51
4
3
1
0
0
0
0
0
0
0
0
0
0
-35
-20
7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-80
38
-7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-37
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-12
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
-9
32
55
222
140
46
-20
0
0
0
0
0
0
0
0
0
0
-7
-100
34
39
66
61
70
44
5
0
0
0
0
0
0
0
0
56
18
9
55
108
-6
88
-47
-1
0
0
0
0
0
0
0
0
-27
54
17
-73
-8
-206
16
-4
0
0
0
0
0
0
0
0
0
-8
78
-5
6
39
18
-3
-3
-2
0
0
0
0
0
0
0
0
0
93
49
23
-10
-1
-5
0
1
0
0
0
0
0
0
0
0
4
-13
-93
3
0
9
-14
0
0
0
0
0
0
0
0
0
0
-1
6
87
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
-47
-12
-1
0
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
60
19
29
55
13
14
0
0
0
0
0
0
0
0
0
0
0
-65
43
48
81
120
-8
-31
-5
-23
0
0
0
0
0
0
0
-14
-5
105
66
101
1
-9
-15
4
0
0
0
0
0
0
0
0
-3
-45
-5
0
-2
30
13
-81
2
0
0
0
0
0
0
0
0
-5
-5
-20
-15
-25
-57
-13
0
10
0
0
0
0
0
0
0
0
-4
-59
0
3
-24
-23
-7
1
0
0
0
0
0
0
0
0
0
-7
-12
-24
23
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-35
-8
-25
-3
0
1
1
1
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
10
42
-75
48
159
88
48
0
0
0
0
0
0
0
0
0
0
51
-78
-1
181
207
113
90
12
-146
-60
-50
17
0
0
0
0
0
32
56
23
148
50
52
140
15
41
-7
-23
-1
0
0
0
0
0
97
-45
49
41
-45
71
187
153
-87
26
11
1
-3
0
0
0
0
23
11
20
11
46
-118
21
37
-87
9
5
0
1
0
0
0
0
5
-13
-73
28
36
12
4
29
8
0
0
0
0
0
0
0
0
32
-54
25
14
-23
-15
0
0
-5
0
9
0
0
0
0
0
0
1
-58
68
61
-58
-4
-19
1
0
0
0
0
0
0
0
0
0
12
37
-3
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-61
-27
-19
14
-53
51
0
0
30
24
-4
2
0
0
0
0
-17
51
-15
-6
25
-36
41
73
140
11
-12
6
13
-2
0
0
0
32
-22
-8
-23
-24
-46
-26
-8
30
-51
-21
34
-16
-2
0
0
0
175
66
19
-31
-78
-50
-22
-44
69
96
31
24
44
0
0
0
0
-55
126
51
-13
-88
-24
16
26
-31
-25
-35
108
-9
74
0
0
0
17
13
-3
-107
-38
-48
2
17
28
7
10
21
5
0
0
0
0
4
95
6
-85
-70
-24
-5
56
-116
62
-88
38
0
2
0
0
0
87
37
-12
-65
-62
54
21
-99
17
70
28
3
0
0
0
0
0
13
35
-21
-68
31
-43
-80
42
13
1
-81
-5
7
0
0
0
0
0
24
-136
-24
41
-21
97
0
0
0
0
2
0
0
0
0
0
2
-44
147
-28
21
48
81
2
139
43
-23
-12
-1
0
0
0
0
-3
42
150
13
-23
-76
18
-70
-73
-46
70
1
0
0
0
0
0
-9
102
43
-38
-93
-70
49
7
7
-38
-35
6
0
0
0
0
0
-11
14
4
15
122
-30
-47
36
199
-17
-34
9
0
0
0
0
0
2
-64
-127
60
110
25
27
57
-102
17
13
-7
1
-16
0
0
0
2
127
-52
75
-11
-14
28
92
9
0
1
-1
-4
0
0
0
0
1
72
3
-46
55
57
-53
-68
29
72
-10
4
0
0
0
0
0
2
-34
61
-31
-47
29
-9
28
-33
2
-10
0
0
0
0
0
0
0
80
59
29
88
11
26
0
0
5
12
0
0
0
0
0
0
0
-95
81
0
116
-4
153
157
-50
33
1
-8
0
0
0
0
0
0
64
148
-18
88
5
85
94
14
100
20
-1
0
0
0
0
0
0
15
16
-16
-33
-11
14
151
148
-3
-2
33
-1
0
0
0
0
0
5
123
-68
-22
-81
-5
-120
-3
50
6
8
0
0
0
0
0
0
36
-40
100
3
-32
-55
-69
-71
14
-34
0
-2
0
0
0
0
0
64
124
-43
-44
41
153
-109
-137
-75
-6
0
0
0
0
0
0
0
-1
59
-3
44
-65
-115
-104
-62
1
0
0
0
0
0
0
0
0
51
4
30
-41
10
13
4
0
0
4
0
0
0
0
0
0
52
95
110
49
77
-19
4
0
0
0
0
-1
0
0
0
0
0
28
5
43
118
168
61
92
1
-122
39
8
-6
0
0
0
0
0
-131
50
60
62
72
15
14
-53
83
-25
-1
2
0
0
0
0
0
-49
34
5
-20
-25
-17
167
52
-4
-9
13
0
-10
0
0
0
0
87
127
114
-35
87
-97
44
25
111
-1
7
0
0
0
0
0
0
108
51
-30
59
-58
-1
-55
69
-31
-1
-4
0
0
0
0
0
0
72
14
30
0
-23
-73
4
8
5
0
0
0
0
0
0
0
0
2
125
25
28
24
-90
-64
-11
8
-1
0
0
0
0
0
0
0
26
27
26
2
-21
4
0
0
0
0
3
0
0
0
0
0
0
2
20
76
153
70
134
35
0
0
0
0
0
0
0
0
0
0
0
24
22
90
135
144
7
-106
-4
-107
0
0
0
0
0
0
0
2
19
50
25
62
15
-78
32
8
3
0
0
0
0
0
0
0
1
11
146
-21
-23
21
-48
49
-7
4
0
0
0
0
0
0
0
4
1
1
-102
28
-2
28
183
3
4
0
0
0
0
0
0
0
1
2
3
91
-12
14
51
-14
0
3
0
0
0
0
0
0
0
3
3
-4
48
-15
-6
-21
6
4
1
0
0
0
0
0
0
0
0
6
-25
-8
13
-8
9
22
4
0
0
0
0
0
0
0
0
1
1
2
-31
0
-20
1
0
0
0
0
0
0
0
0
0
0
0
1
33
25
17
69
-17
0
0
0
0
0
0
0
0
0
0
0
5
-12
63
101
93
68
-158
34
-19
0
-4
0
0
0
0
0
0
0
-99
-92
-23
-60
71
63
52
-14
-4
0
0
0
0
0
0
0
3
-19
-110
39
1
35
-15
22
14
12
0
0
0
0
0
0
1
0
0
89
-27
3
209
89
-6
-17
-1
0
0
0
0
0
0
0
0
16
87
-6
9
-5
19
-26
1
2
0
0
0
0
0
0
0
0
5
-24
-68
-25
-80
-10
46
-4
0
0
0
0
0
0
0
0
0
6
71
-8
-11
-29
-151
45
4
0
0
0
0
0
0
0
0
0
-2
0
-7
-25
-56
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
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
189
0
0
-43
-91
12
-9
1
0
0
0
0
0
0
0
0
-4
16
99
-1
-101
28
-64
3
-1
0
0
0
0
0
0
0
0
8
-10
-6
51
55
42
37
20
-2
0
0
0
0
0
0
0
0
0
-1
-42
-34
-7
-65
2
-13
2
0
0
0
0
0
0
0
0
-3
-90
-66
-14
-71
-24
24
-21
-13
1
0
0
0
0
0
0
0
-10
-24
-13
-41
-2
-56
24
-9
16
0
0
0
0
0
0
0
0
6
38
25
9
-26
-103
13
-14
3
15
0
0
0
0
0
0
0
-5
-194
-45
-104
78
-13
0
0
0
0
0
0
0
0
0
0
0
0
258
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
147
0
0
-65
22
-4
-2
0
0
0
0
0
0
0
0
0
-16
-56
-12
-90
-21
-10
3
0
0
0
0
0
0
0
0
0
0
0
45
-14
-32
-41
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
17
55
-5
2
0
0
0
0
0
0
0
0
0
0
0
26
-33
-13
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
8
-5
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-35
-66
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
4
163
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
55
0
0
6
-43
-9
0
0
0
0
0
0
0
0
0
0
-2
19
52
-2
-43
-35
4
0
0
0
0
0
0
0
0
0
0
-22
3
37
-25
-88
8
-5
0
0
0
0
0
0
0
0
0
0
0
-5
-49
-36
-21
1
-4
0
0
0
0
0
0
0
0
0
0
0
-7
10
-164
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
78
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
-33
-14
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
220
0
0
11
-17
-3
0
0
0
0
0
0
0
0
0
0
0
-29
62
13
18
0
0
0
0
0
0
0
0
0
0
0
0
-13
28
53
-64
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
-42
115
39
-46
-6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-13
27
-33
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-10
9
-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
13
51
-40
21
219
259
0
0
0
0
0
0
0
0
0
0
0
1
4
59
117
236
198
0
0
0
-57
-9
18
-10
0
0
0
0
-102
-21
-42
-26
6
122
-15
59
70
-14
1
2
-2
0
0
0
0
-35
51
17
11
17
-127
-43
-58
48
-48
-12
3
-3
0
0
0
0
19
54
-41
-147
-46
-141
-115
-70
-26
-7
-16
7
-1
0
0
0
0
14
100
-11
-83
71
-22
-96
114
-73
-25
23
0
0
0
0
0
0
-10
19
-5
61
-119
-64
-8
-42
-58
40
-2
0
-3
0
0
0
0
0
-63
-38
46
-12
-28
-66
83
-57
-14
2
6
0
0
0
0
0
21
-8
-2
17
5
-23
-9
32
4
4
0
0
0
0
0
0
0
0
1
1
0
45
110
0
0
0
0
-4
7
0
0
0
0
0
-3
66
79
143
162
80
0
0
0
-51
52
9
0
0
0
0
0
-96
-45
57
82
4
40
-22
-27
-35
43
-47
-10
0
0
0
0
0
45
-14
-26
-6
35
36
-11
4
48
57
-27
-9
0
0
0
0
0
1
-3
-12
-37
-81
-11
-79
-55
-59
19
-41
0
0
0
0
0
0
3
10
-14
-161
-13
-152
2
0
-80
-12
0
0
0
0
0
0
0
-11
11
-55
-30
2
39
109
-168
-47
-35
-11
0
0
0
0
0
0
0
6
61
-37
-26
-53
22
-54
7
14
22
0
-2
0
0
0
0
-7
3
0
0
0
-33
-15
-38
-4
2
7
0
0
0
0
0
0
-59
-36
-33
70
191
-55
0
0
0
0
0
0
0
0
0
0
0
28
54
48
16
217
39
0
0
0
0
0
0
0
0
0
0
0
57
-9
37
89
84
105
23
0
0
0
0
0
0
0
0
0
0
45
21
7
-26
26
79
-7
37
-1
0
0
0
0
0
0
0
0
83
13
-22
-27
-17
72
52
-60
-35
-1
0
0
0
0
0
0
0
50
74
19
-6
-16
-4
-101
90
136
-7
1
-4
0
0
0
0
0
2
6
13
-22
-68
16
-52
50
-26
-7
-2
-10
12
0
0
0
0
-31
0
-29
-69
7
-54
-24
-47
6
5
3
-18
-1
0
0
0
0
-116
-13
-3
-136
45
67
-14
-34
6
-4
0
0
-2
0
0
0
0
-29
-95
23
68
236
349
0
0
0
-1
0
0
0
0
0
0
0
27
-38
-46
75
43
282
0
0
-92
-14
0
0
0
0
0
0
0
97
-25
-70
-24
-11
-7
53
-65
-17
-3
-3
0
0
0
0
0
0
69
-35
-15
-101
-36
-58
-136
-23
-12
58
-20
1
0
0
0
0
0
-24
-44
-106
-120
-67
-82
-77
0
7
0
-4
0
0
0
0
0
0
-3
-37
11
-50
-97
120
9
-20
-80
-4
0
0
0
0
0
0
0
38
-40
-176
-9
23
-25
-35
-40
-74
-1
4
28
0
0
0
0
0
-17
13
-135
-106
-21
-16
-23
-72
-19
-13
1
0
0
0
0
0
0
29
22
-15
11
-17
-1
-2
10
-6
4
0
0
0
0
0
0
0
-111
-121
-112
-17
143
330
0
0
0
0
0
0
0
0
0
0
0
-37
-40
-12
8
95
176
95
40
47
-55
9
1
0
0
0
0
0
18
-11
-1
4
31
-8
-95
-61
-63
-42
6
3
0
0
0
0
0
-5
16
-2
-24
-38
-30
-47
-62
18
-10
-73
1
0
0
0
0
0
3
26
-19
-27
-34
-63
-70
-68
-22
-12
0
-16
1
0
0
0
0
-8
-8
-1
-15
-19
-40
-53
-98
-96
18
48
-39
-1
0
0
0
0
51
-2
3
-4
-29
-31
-66
-137
-87
-33
-21
-34
0
0
0
0
0
13
-34
-5
-4
-25
-75
-90
-84
-27
-66
69
49
0
0
0
0
0
26
-16
6
-13
-50
-58
-81
-78
-46
-12
-14
11
-5
0
0
0
0
67
201
272
386
443
300
0
0
0
0
0
0
0
0
0
0
0
51
135
160
270
306
197
162
-61
0
0
0
0
0
0
0
0
0
-94
48
114
-8
-93
-2
-96
26
-13
4
0
0
0
0
0
0
0
-86
-28
-133
77
-11
-178
24
-1
0
0
0
0
0
0
0
0
0
-61
-50
-123
-52
7
-40
1
-9
0
3
0
0
0
0
0
0
0
-84
-54
-70
-34
5
4
-2
-1
-6
0
0
0
0
0
0
0
0
-112
-125
-66
-25
-61
23
0
-1
0
0
0
0
0
0
0
0
0
-3
-240
-181
-147
-192
-87
-12
17
-1
0
0
0
0
0
0
0
0
-106
-74
-47
-38
-2
-10
-8
-2
-3
0
0
0
0
0
0
0
0
-155
-135
-55
151
160
203
347
0
0
0
0
0
0
0
0
0
0
-26
2
18
85
84
0
-1
88
7
-5
-1
0
0
0
0
0
0
-77
69
25
56
86
-5
18
-61
-26
14
-11
0
0
0
0
0
0
-67
13
51
-88
-103
-85
-67
17
-42
-1
1
0
0
0
0
0
0
-37
102
59
-99
8
-94
87
48
-7
-1
0
0
0
0
0
0
0
-23
62
62
-54
-46
-29
-44
9
6
0
0
0
0
0
0
0
0
116
-13
-38
-1
-29
-6
42
7
-6
6
0
0
0
0
0
0
0
-42
-1
-31
-37
11
-135
-14
52
4
14
0
0
0
0
0
0
0
-51
-86
63
-37
-13
3
-50
18
-2
-3
5
0
0
0
0
0
0
-145
-140
13
9
276
248
0
0
0
-2
-3
-1
0
0
0
0
0
-87
-56
-50
6
119
314
0
36
0
86
7
2
0
0
0
0
0
-54
-34
-19
-9
38
-17
165
17
31
-54
31
-1
0
0
0
0
0
-4
10
-59
-79
-106
-8
-40
-91
-43
-11
-43
0
0
0
0
0
0
2
24
-119
-70
-107
-79
14
63
31
-15
-18
1
0
0
0
0
0
17
22
-28
-53
0
-121
-72
5
1
1
7
0
-4
0
0
0
0
-14
-25
-75
-62
-11
33
-72
24
22
4
0
0
0
0
0
0
0
4
9
-34
10
13
-39
-65
-24
-68
-17
-2
0
0
0
0
0
0
-77
-105
-125
56
-83
-66
-9
-35
11
3
0
0
0
0
0
0
0
-35
-63
-41
57
168
376
359
0
0
3
0
0
0
0
0
0
0
11
-18
51
78
131
213
0
151
0
-66
0
0
0
0
0
0
0
11
34
34
59
18
-59
33
43
68
-16
6
0
0
0
0
0
0
-13
1
0
-7
-26
-67
29
-96
-43
5
9
7
0
0
0
0
0
-2
48
3
-15
-75
34
-23
-66
-12
30
-10
0
0
0
0
0
0
52
86
-44
0
-91
-10
-18
-5
4
0
0
0
0
0
0
0
0
-4
-14
26
-3
-113
-170
-21
-33
12
0
0
0
0
0
0
0
0
-45
-43
-42
-47
-20
-43
145
26
-5
0
0
0
0
0
0
0
0
36
4
20
64
2
-28
57
2
0
0
0
0
0
0
0
0
0
26
-74
-5
136
130
118
0
0
0
0
0
0
0
0
0
0
0
-42
28
88
127
134
170
144
0
-128
-38
1
0
0
0
0
0
0
3
31
-27
34
110
5
-116
-9
-36
9
-1
0
0
0
0
0
0
47
67
26
44
-18
-19
-27
-55
-24
-9
2
0
0
0
0
0
0
90
38
-49
-57
10
33
-46
-10
-43
9
0
0
0
0
0
0
0
68
40
-60
12
-124
-43
-9
-79
7
-21
0
0
0
0
0
0
0
77
23
24
-73
-70
-10
-33
9
0
0
0
0
0
0
0
0
0
49
8
-16
56
-61
-12
-16
-8
82
-16
0
0
0
0
0
0
0
27
1
44
-34
12
8
34
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
231
0
0
0
0
0
0
0
0
0
0
1
25
22
7
0
0
33
0
0
0
0
0
0
0
0
0
0
2
-4
109
85
107
25
45
8
0
0
0
0
0
0
0
0
0
0
-1
-34
-20
51
93
50
4
0
0
0
0
0
0
0
0
0
0
-1
33
-26
-2
-2
-29
1
0
0
0
0
0
0
0
0
0
0
0
-11
24
70
-75
31
0
0
0
0
0
0
0
0
0
-5
0
1
-8
-39
-14
-34
-65
4
0
0
0
0
0
0
0
0
-1
-2
7
32
1
-38
-14
-43
0
0
0
0
0
0
0
0
0
0
0
0
2
11
1
21
24
11
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
2
2
0
0
-45
4
0
0
0
0
0
0
0
0
0
0
0
1
-35
47
-8
114
6
0
0
0
0
0
0
0
0
0
0
0
6
-10
49
7
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
18
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
5
22
0
0
55
-10
0
0
0
0
0
0
0
0
0
0
2
9
56
85
47
49
-3
0
0
0
0
0
0
0
0
0
0
0
-24
-23
-32
-37
-4
-16
0
0
0
0
0
0
0
0
0
0
0
4
6
71
-11
56
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-102
79
0
0
0
0
0
0
0
0
0
0
0
0
2
-61
32
-2
93
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
-43
92
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
29
20
79
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
-6
4
-5
0
0
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
65
-34
14
0
0
0
0
0
0
0
0
0
0
0
0
7
7
27
150
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
25
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
32
-5
92
-1
0
0
0
0
0
0
0
0
0
0
5
0
1
61
35
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-62
-48
4
0
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
0
0
0
0
0
0
-65
40
-16
-64
17
7
0
0
0
0
0
0
-3
-1
0
0
0
16
-144
-48
11
-45
-15
0
0
0
0
0
0
0
-1
-50
78
97
24
9
-48
72
-22
1
0
0
0
0
0
1
0
0
2
14
78
122
7
81
101
19
10
0
0
0
0
-6
0
-2
-4
-6
103
25
20
77
-2
-20
-33
0
0
0
0
0
0
0
-1
-8
6
-6
-20
112
6
20
31
0
0
0
0
0
0
0
0
0
-1
-3
53
33
137
34
-12
4
0
0
0
0
0
0
0
1
0
-1
12
-131
125
29
-6
8
-13
0
0
0
0
0
0
0
0
0
0
-11
-121
-2
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-59
3
-4
1
0
0
0
0
0
0
2
-6
0
0
0
0
-128
-25
-35
2
-22
-2
0
0
0
0
0
-1
-3
-15
2
-23
-5
-20
73
5
-31
5
-4
0
0
0
0
0
0
-2
-4
-4
-109
33
85
28
53
7
-47
-5
0
0
0
0
0
0
0
10
-6
-41
94
33
71
21
-20
-21
-17
0
0
0
0
0
0
0
0
0
-35
5
4
63
10
-9
-12
0
0
0
0
0
0
0
0
0
-4
6
0
28
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
21
-4
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
1
0
7
0
0
0
-54
163
89
-41
42
4
149
0
0
0
-5
23
-2
7
46
0
0
95
17
14
-1
-42
19
-49
0
0
3
0
1
2
-15
82
101
156
138
36
-31
71
38
116
43
0
0
0
-1
0
2
-18
1
11
35
135
23
74
4
67
48
90
0
0
0
0
4
0
-1
32
-85
-13
37
20
-53
18
136
57
-32
0
0
0
0
0
1
-10
56
-6
-34
14
-95
163
37
-13
-37
-14
0
0
0
0
0
3
-4
-9
-89
-78
22
69
61
112
64
90
2
0
0
0
-1
1
0
13
0
51
-27
-18
21
-30
186
-9
0
0
0
0
0
0
0
-14
-4
-2
8
51
9
0
0
7
0
0
0
0
0
0
2
11
-32
112
-13
0
0
-13
-7
26
-1
36
186
-1
0
0
0
0
-14
59
96
28
-45
68
20
66
32
31
38
64
26
0
0
-2
-2
21
-69
-25
5
-174
28
5
54
27
22
22
42
82
0
0
0
-10
5
33
16
16
-21
-47
13
-18
-17
36
110
-18
-13
0
0
0
6
11
37
-12
-23
-2
-35
-45
-32
-34
-33
35
104
53
0
0
0
0
-1
19
-2
-73
45
-60
8
-53
-20
30
83
3
-13
0
0
0
1
-1
8
-43
-25
34
-23
-15
7
-48
-29
18
75
-103
0
0
0
0
-1
36
-102
-48
18
-35
-69
-82
-42
2
90
-2
-3
0
0
0
0
0
15
11
-9
-47
2
-22
-64
-117
-53
70
-2
0
0
0
0
0
0
-3
0
5
0
0
38
-21
-10
-1
105
-18
-15
0
0
0
0
-10
0
5
12
23
65
-47
28
-27
133
-43
-91
42
0
0
0
0
0
0
0
-48
24
-6
36
6
-33
119
142
79
25
0
0
0
0
0
-1
0
7
63
87
-24
-18
127
-37
4
48
-37
0
0
0
0
0
0
0
-42
38
-26
42
11
-31
-16
-5
25
-63
0
0
0
9
1
7
-9
5
8
-15
-46
24
89
-37
99
12
-38
0
0
0
-1
4
0
1
4
-34
-40
-19
36
-11
-18
-32
45
-56
0
0
0
0
0
0
1
3
44
-55
-17
68
-4
-70
-105
2
48
0
0
0
0
0
0
2
5
-12
39
8
-62
100
24
-54
-114
125
0
0
0
0
-3
1
0
-16
0
0
156
115
149
74
76
27
-30
0
0
0
0
0
-4
0
-63
25
103
0
119
144
46
42
118
-35
0
0
0
0
0
-2
-9
34
-35
166
-19
70
79
110
24
52
-82
0
0
0
0
0
-6
-2
-1
43
25
59
67
61
-31
93
6
-54
0
0
0
0
0
0
-8
-3
23
-4
-20
-119
9
-18
-78
-7
114
0
0
0
-8
1
1
-6
15
-110
-13
-7
-18
27
31
-16
7
-136
0
0
0
-1
-4
0
6
1
-63
-2
22
11
-68
-24
48
-210
-6
0
0
0
0
1
0
-42
-12
-72
166
111
-1
21
-106
18
-80
-38
0
0
0
0
0
-9
0
0
40
31
7
-15
36
116
71
0
0
0
0
0
0
0
0
1
9
0
0
-175
27
-74
104
-68
-71
45
0
0
0
0
0
13
15
0
32
0
-84
81
-52
-33
39
21
-57
0
0
0
0
0
0
3
147
231
240
98
113
-66
54
78
128
28
0
0
0
0
0
-3
29
86
150
110
45
15
-5
71
-6
135
74
0
0
0
0
7
1
9
-26
2
43
2
-22
35
-106
22
15
-2
0
0
0
0
0
-5
9
-17
-57
49
135
77
-80
96
49
-6
0
0
0
0
0
-1
-9
-5
43
45
12
130
146
-92
64
106
-28
-4
0
0
0
2
0
0
-81
97
96
59
76
-116
-2
-32
-1
-28
0
0
0
0
0
0
0
0
11
-11
99
-38
14
-7
-2
-28
-3
0
0
0
0
0
0
0
0
0
0
0
-134
40
-17
29
-53
-14
0
0
0
0
0
0
0
0
0
87
0
40
73
85
-47
-40
66
-1
0
0
0
0
0
0
0
-1
44
122
-13
-94
22
-33
-15
159
0
0
0
0
0
0
0
0
0
0
32
16
32
32
-96
32
23
-6
0
0
0
0
0
0
0
-7
3
136
146
138
-75
55
-55
-42
-12
0
0
0
0
0
0
0
5
3
23
87
-72
70
68
13
41
8
0
0
0
0
0
0
0
0
15
34
51
-11
67
295
117
1
-7
0
0
0
0
0
0
0
-2
17
10
29
-51
71
-49
8
-1
0
0
0
0
0
0
0
0
0
1
2
0
-1
28
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
52
-17
-22
19
-25
73
20
0
0
0
0
0
0
0
5
0
43
-64
13
120
-13
30
-99
-42
0
0
0
0
0
0
0
-1
-21
-2
26
-18
-77
82
-31
-68
72
0
0
0
0
0
0
0
4
0
2
43
-24
0
-99
92
30
-42
0
0
0
0
0
0
0
0
0
0
90
-35
53
-9
-33
28
-58
0
0
0
0
0
0
0
0
0
3
43
-4
26
-65
31
-26
3
0
0
0
0
0
0
0
0
0
0
13
80
58
120
-50
28
0
0
0
0
0
0
0
0
0
3
0
-3
0
31
-23
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-25
-1
-18
-84
-20
-44
0
0
0
0
0
0
1
-2
-17
7
112
-4
-22
-38
-61
84
-30
0
0
0
0
0
0
0
-3
4
-61
3
39
33
61
8
1
53
0
0
0
0
0
0
0
1
0
0
-22
14
4
75
-4
23
60
0
0
0
0
0
0
0
0
0
0
-11
-6
-91
-62
-69
-136
44
0
0
0
0
0
0
0
0
0
0
-3
-16
-58
-7
68
-194
-6
0
0
0
0
0
0
0
0
0
0
-3
41
-14
28
-29
22
76
0
0
0
0
0
0
0
0
0
0
0
-78
41
0
37
64
-39
0
0
0
0
0
0
0
0
0
0
0
1
-42
-91
-31
37
-10
0
0
0
0
0
0
0
0
0
0
1
-2
22
90
-17
6
-9
0
0
0
0
0
0
0
0
-3
1
-9
-43
-54
-69
-114
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
49
4
52
5
25
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
56
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-27
11
15
0
0
0
0
0
0
0
0
0
0
0
0
1
61
-15
-87
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
21
-98
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
45
-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
0
0
-8
0
35
91
-25
-13
0
0
0
0
0
0
0
0
-4
-7
-4
-8
36
-75
-48
63
-19
0
0
0
0
0
0
0
0
0
0
5
24
2
55
-117
-106
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-10
-116
4
108
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-118
73
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-72
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
-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
-7
-3
45
-70
26
1
0
0
0
0
0
0
0
0
0
0
9
-17
-25
27
-7
35
31
0
0
0
0
0
0
0
0
0
5
0
1
-1
-38
82
-33
-16
-4
0
0
0
0
0
0
0
0
-1
-1
5
-1
-12
-21
36
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-16
-16
1
3
0
0
0
0
0
0
0
0
0
0
0
-3
1
22
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
26
2
0
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
4
-12
46
0
0
34
90
1
38
-70
-4
-76
0
0
0
0
-3
4
9
7
121
-38
25
-11
60
184
-47
-70
-64
0
0
0
0
0
11
5
108
36
-6
68
14
8
42
94
74
100
0
0
0
0
0
0
2
52
-22
86
38
49
22
-13
-70
53
16
0
0
0
0
0
0
0
18
-78
60
-164
-7
10
15
-24
93
-11
0
0
0
0
0
0
0
-1
-65
32
41
-161
-32
-64
-24
10
-20
0
0
0
0
0
0
5
-21
37
-75
19
9
-7
-22
-55
-60
-15
0
0
0
0
0
0
0
-1
68
-99
8
-85
-26
-127
-24
-36
1
0
0
0
0
0
0
0
0
17
-7
-23
-4
10
-10
-44
-13
23
0
0
0
0
0
0
0
0
0
0
-32
-50
21
79
46
-89
62
0
0
0
0
0
0
3
0
34
-44
42
50
49
63
19
33
-71
0
0
0
0
0
0
0
-12
45
-11
25
11
90
32
24
-35
-75
0
0
0
0
0
0
0
0
18
46
-23
-84
132
-32
8
-86
-71
0
0
0
0
0
0
0
0
40
45
-9
-72
-109
-68
-70
16
72
0
0
0
0
0
0
0
0
-3
-70
63
12
-9
-126
-99
39
-16
0
0
0
0
0
0
0
5
43
54
-1
-80
-10
10
-59
-20
-59
0
0
0
0
0
0
0
-2
79
-86
-17
-28
-7
-28
-120
-54
-8
0
0
0
0
0
0
0
2
-64
25
-13
-8
-1
-45
41
-20
40
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
12
0
0
-41
19
114
38
16
-47
1
0
0
-1
-1
-31
9
105
66
57
38
-52
-70
-27
-59
0
119
-4
0
0
0
4
-10
13
-21
-45
78
-1
-17
-26
57
-14
8
-42
-12
0
0
0
0
13
-10
13
42
81
27
-11
3
-103
-116
-23
28
-3
0
0
0
0
-8
1
11
-2
10
-53
81
-128
-185
-6
-118
56
-2
0
0
0
0
0
0
-3
-104
-156
13
-42
13
-73
-14
60
-12
0
0
0
0
0
0
-18
-33
-45
30
-69
-66
-119
33
62
5
2
0
0
0
0
0
0
-1
-1
-37
-12
-52
-4
9
71
-39
22
51
0
0
0
0
0
0
0
14
-14
-90
-87
-55
-2
-3
-4
0
0
0
0
0
-3
-146
-6
-15
50
-42
0
0
-45
36
69
64
-95
-10
0
0
0
-19
-45
-38
0
-19
7
20
1
2
22
48
86
42
-3
0
0
0
-33
15
54
-102
-56
-25
11
-7
-3
11
36
48
147
-53
0
0
0
8
38
54
14
-28
-40
-5
-28
-10
-10
18
-1
-26
-48
0
0
0
5
-33
40
-19
1
24
-11
-19
-18
-29
-1
36
88
21
0
0
0
-15
-77
-4
-32
16
-12
4
1
-16
-19
-15
50
39
-19
0
0
0
-16
24
-34
-12
-23
-14
-8
6
-13
-20
-3
79
-120
17
0
0
0
0
-13
45
3
37
15
-22
-8
-5
4
-49
49
-3
0
0
0
0
-7
-60
17
48
-28
-20
-1
-5
-32
-5
-43
-55
40
-6
0
0
0
0
0
-2
17
-15
-117
0
0
119
52
-5
101
-3
0
0
0
0
0
0
5
4
-11
3
-61
-58
43
-45
8
74
-3
0
0
0
0
0
0
0
0
-81
50
18
-25
22
-75
29
-30
1
0
0
0
0
0
0
0
1
-20
5
1
-14
-89
95
10
40
-1
0
0
0
0
0
0
0
-4
23
-21
41
-53
165
-6
-36
33
0
0
0
0
0
0
0
0
0
4
-13
16
-8
-35
-28
50
23
0
0
0
0
0
0
5
0
-6
1
148
9
2
73
-150
98
-77
29
0
0
0
0
0
0
0
-16
4
4
25
-33
4
101
7
-6
0
0
0
0
0
0
0
-12
0
-2
2
-43
95
-80
71
14
1
0
0
0
0
0
0
1
-1
64
118
-47
0
0
62
94
77
88
3
0
0
0
0
0
2
-33
33
-144
33
20
35
59
30
13
-11
10
0
0
0
0
0
0
48
12
79
-8
15
140
79
46
66
143
-48
0
0
0
0
0
-1
-4
11
78
-32
-8
75
-26
-3
1
22
12
0
0
0
0
0
14
2
-3
-49
-61
-76
3
48
-119
66
-45
-2
0
0
0
0
0
0
13
10
13
-149
-8
-66
-25
-24
100
8
0
0
0
0
0
0
4
-5
-50
-62
-68
12
6
-34
-53
-62
1
-2
0
0
0
0
0
-4
18
16
-4
-90
28
-5
-7
-57
-43
-107
0
0
0
0
0
0
-1
-15
9
-34
-53
-38
-40
-87
-41
15
50
0
0
0
0
0
-6
-1
-3
-10
-8
-37
0
0
96
21
95
-85
-58
5
83
0
0
0
-1
-4
-7
-69
75
55
52
31
-13
-3
82
-20
-66
-39
0
0
0
0
12
-28
71
26
-23
12
16
85
-96
71
97
-63
-71
0
0
0
0
2
-10
-69
-54
25
10
20
-11
113
83
-64
-202
-12
0
0
0
3
-4
0
-7
-26
5
16
-50
4
6
-14
-12
6
-1
0
0
0
0
-2
13
-17
-71
-45
-89
-42
43
-11
54
6
-8
-7
0
0
0
0
0
-4
-7
-21
-56
14
64
-160
37
-20
-46
12
11
0
0
0
7
8
-3
-68
-71
-121
-91
-99
-66
-10
47
5
-87
0
0
0
0
0
0
4
7
-63
-101
-38
-79
-50
-52
-3
0
13
0
0
0
-2
0
0
-31
12
18
0
0
90
22
173
-77
74
0
62
0
0
0
0
0
3
-5
-30
-4
68
54
44
-68
75
-13
90
-21
0
0
0
0
0
-27
-43
1
51
75
111
104
60
61
-6
19
20
0
0
0
0
0
0
-105
73
-26
33
84
5
40
-6
4
-56
-21
0
0
0
0
0
-3
92
-111
-6
-34
60
-57
-123
291
75
-9
2
0
0
0
0
3
-8
-94
-11
-42
-133
-20
-31
-86
-58
-1
31
0
0
0
0
0
2
18
-12
-11
69
15
-34
-9
-34
17
-2
34
-26
0
0
0
0
0
0
3
-18
-31
-26
44
-14
34
87
-7
-20
0
0
0
0
0
0
6
57
13
-3
-64
60
-31
49
0
0
0
0
0
0
0
0
2
12
-1
-34
0
0
21
112
-127
-7
115
95
54
0
0
0
-2
0
-10
59
27
-63
13
-18
48
103
-31
22
-59
-29
0
0
0
0
-2
12
137
-15
12
76
-63
54
-8
-52
-40
-80
-28
0
0
0
0
0
-1
-11
72
-22
-63
-119
-29
75
-15
-159
-100
10
0
0
0
-1
2
12
26
56
112
15
-57
-25
-12
10
-82
26
-63
0
0
0
7
1
-16
-37
15
130
52
-33
-108
5
5
8
-59
-12
0
0
1
2
-20
-31
21
-3
22
29
12
17
67
26
8
-41
-10
0
0
2
2
17
13
-9
25
12
0
-53
78
3
-10
-75
18
0
0
0
0
8
-8
-26
-68
-7
-55
47
36
-21
48
-33
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
202
150
143
-9
0
0
0
0
0
0
0
0
0
0
40
44
44
141
191
62
-89
7
2
0
0
0
0
0
0
0
0
28
129
2
-70
-23
62
1
-1
3
0
0
0
0
0
0
0
0
-107
-31
32
-16
-52
-9
0
11
0
0
0
0
0
0
0
0
0
20
3
19
25
32
-5
0
0
0
0
0
0
0
0
0
0
0
109
66
-85
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
-81
17
19
-22
-54
2
0
0
0
0
0
0
0
0
0
0
0
-101
17
-23
6
123
0
0
0
0
0
0
0
0
0
0
0
0
-34
-18
-45
3
4
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
45
23
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
11
82
27
6
1
0
0
0
0
0
0
0
0
0
0
-7
-143
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
196
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-80
1
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
45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
70
2
0
0
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
-2
17
62
-15
33
5
-2
0
0
0
0
0
0
0
0
0
0
99
77
74
-35
-4
3
0
-1
0
0
0
0
0
0
0
0
0
-117
56
57
20
9
-1
2
1
0
0
0
0
0
0
0
0
0
53
84
7
-49
15
9
0
0
0
0
0
0
0
0
0
0
0
-6
-3
45
14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-19
40
-11
0
11
0
0
0
0
0
0
0
0
0
0
0
-18
-53
-46
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-37
63
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
40
34
2
23
0
0
0
0
0
0
0
0
0
0
0
0
3
49
44
6
42
1
0
0
0
0
0
0
0
0
0
0
8
-72
-1
51
4
3
1
0
0
0
0
0
0
0
0
0
0
-35
-20
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-79
41
-7
-2
-1
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
0
0
0
107
-39
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-14
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
-9
33
53
224
144
49
-22
0
0
0
0
0
0
0
0
0
0
-7
-98
34
41
82
81
74
45
5
0
0
0
0
0
0
0
0
56
17
4
60
114
-5
90
-45
-1
0
0
0
0
0
0
0
0
-30
57
18
-70
-7
-210
15
-4
0
0
0
0
0
0
0
0
0
-8
77
-10
7
39
18
-3
-3
-2
0
0
0
0
0
0
0
0
0
90
52
25
-13
-1
-5
0
1
0
0
0
0
0
0
0
0
3
-15
-92
3
0
9
-14
0
0
0
0
0
0
0
0
0
0
-1
1
87
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
-47
-12
-1
0
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
60
19
29
59
12
15
0
0
0
0
0
0
0
0
0
0
0
-61
45
44
83
123
-7
-29
-5
-23
0
0
0
0
0
0
0
-14
-6
104
68
94
3
-7
-16
4
0
0
0
0
0
0
0
0
-3
-45
-5
2
1
27
12
-77
2
0
0
0
0
0
0
0
0
-5
-4
-18
-14
-26
-53
-13
0
10
0
0
0
0
0
0
0
0
-4
-60
0
3
-23
-23
-7
1
0
0
0
0
0
0
0
0
0
-7
-12
-24
23
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-32
-8
-25
-3
0
1
1
1
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
10
40
-77
50
154
86
52
0
0
0
0
0
0
0
0
0
0
47
-69
7
176
188
82
107
12
-144
-61
-51
17
0
0
0
0
0
35
51
29
143
50
48
165
19
65
-7
-21
-1
0
0
0
0
0
97
-46
51
35
-44
60
192
154
-94
20
12
1
-3
0
0
0
0
24
16
18
4
40
-121
13
32
-88
9
5
0
1
0
0
0
0
5
-16
-74
32
35
14
7
25
8
0
0
0
0
0
0
0
0
32
-53
28
9
-26
-13
2
0
-5
0
9
0
0
0
0
0
0
1
-55
66
59
-57
-4
-20
1
0
0
0
0
0
0
0
0
0
13
38
-4
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-49
-36
-18
13
-65
73
0
0
30
22
-6
2
0
0
0
0
-15
47
-12
-21
22
-41
16
68
122
15
-19
7
18
-2
0
0
0
29
-29
-22
-20
-29
-44
-10
-22
47
-40
-24
37
-16
-2
0
0
0
180
69
15
-38
-80
-56
-32
-62
73
92
29
32
44
0
0
0
0
-57
123
66
4
-72
-15
12
20
-24
-24
-36
111
-8
74
0
0
0
18
25
-2
-129
-34
-45
8
13
28
12
5
21
5
0
0
0
0
7
100
3
-35
-57
-29
-4
40
-119
67
-89
39
0
2
0
0
0
83
29
-4
-62
-51
76
10
-97
32
74
33
3
0
0
0
0
0
11
35
2
-65
38
-60
-77
38
14
-1
-80
-5
7
0
0
0
0
0
22
-135
-29
50
-22
111
0
0
0
0
2
0
0
0
0
0
2
-51
157
-36
23
46
90
11
150
51
-24
-13
-1
0
0
0
0
-4
45
145
-1
-27
-84
11
-57
-70
-40
72
1
0
0
0
0
0
-9
101
43
-45
-95
-71
53
11
9
-38
-32
7
0
0
0
0
0
-10
14
0
16
119
-30
-44
30
214
-23
-33
9
0
0
0
0
0
2
-67
-138
66
112
27
27
51
-99
15
15
-7
1
-16
0
0
0
2
121
-63
72
-2
-17
26
91
32
-2
1
-1
-4
0
0
0
0
1
72
0
-49
54
56
-65
-72
26
76
-9
4
0
0
0
0
0
2
-34
62
-26
-47
27
-6
22
-34
2
-10
0
0
0
0
0
0
0
81
67
35
80
5
18
0
0
5
13
0
0
0
0
0
0
0
-100
83
4
118
-11
135
167
-38
19
-4
-8
0
0
0
0
0
0
67
147
-32
97
-15
93
84
14
101
20
-1
0
0
0
0
0
0
14
18
-14
-32
-19
19
147
144
-6
-2
33
-1
0
0
0
0
0
4
117
-66
-20
-88
-12
-121
-3
53
6
8
0
0
0
0
0
0
35
-38
95
6
-27
-67
-79
-76
6
-34
0
-2
0
0
0
0
0
63
124
-43
-41
38
148
-108
-145
-77
-6
0
0
0
0
0
0
0
-1
58
8
48
-66
-123
-105
-58
1
0
0
0
0
0
0
0
0
53
4
27
-41
11
13
4
0
0
4
0
0
0
0
0
0
52
102
105
46
86
-3
0
0
0
0
0
-1
0
0
0
0
0
29
9
41
131
182
28
103
4
-121
37
8
-6
0
0
0
0
0
-130
47
53
51
62
23
17
-61
89
-26
-1
2
0
0
0
0
0
-48
41
3
-19
-22
-22
176
65
-6
-9
13
0
-10
0
0
0
0
87
127
105
-36
80
-107
42
21
111
-1
7
0
0
0
0
0
0
107
52
-29
59
-58
1
-55
67
-32
-1
-4
0
0
0
0
0
0
73
9
26
6
-29
-75
4
8
5
0
0
0
0
0
0
0
0
2
133
29
23
24
-88
-64
-12
8
-1
0
0
0
0
0
0
0
27
27
28
2
-21
4
0
0
0
0
3
0
0
0
0
0
0
2
18
74
151
82
146
36
0
0
0
0
0
0
0
0
0
0
0
25
26
101
158
142
-3
-105
1
-108
0
0
0
0
0
0
0
2
18
50
28
60
17
-87
30
8
3
0
0
0
0
0
0
0
1
11
146
-19
-25
21
-45
47
-5
4
0
0
0
0
0
0
0
4
1
2
-101
28
3
32
175
3
4
0
0
0
0
0
0
0
1
2
3
87
-7
14
51
-14
0
3
0
0
0
0
0
0
0
3
3
-4
44
-16
-7
-18
6
4
1
0
0
0
0
0
0
0
0
6
-24
-8
17
-7
16
22
4
0
0
0
0
0
0
0
0
1
1
2
-31
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
1
33
23
14
82
-22
0
0
0
0
0
0
0
0
0
0
0
5
-7
62
95
96
71
-165
37
-20
0
-4
0
0
0
0
0
0
0
-98
-88
-31
-56
76
54
61
-12
-4
0
0
0
0
0
0
0
3
-16
-112
43
0
28
-7
29
14
12
0
0
0
0
0
0
1
0
0
92
-27
-5
216
94
-12
-17
-1
0
0
0
0
0
0
0
0
17
90
-4
7
-5
23
-27
1
2
0
0
0
0
0
0
0
0
6
-29
-74
-28
-73
4
42
-4
0
0
0
0
0
0
0
0
0
6
70
-10
-17
-25
-165
40
4
0
0
0
0
0
0
0
0
0
-2
0
-7
-25
-54
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
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
190
0
0
-34
-86
13
-9
1
0
0
0
0
0
0
0
0
-4
19
94
-16
-94
30
-65
3
-1
0
0
0
0
0
0
0
0
8
0
-7
41
50
42
35
20
-2
0
0
0
0
0
0
0
0
0
-4
-50
-30
-8
-66
3
-13
2
0
0
0
0
0
0
0
0
-3
-83
-62
-14
-71
-22
23
-21
-13
1
0
0
0
0
0
0
0
-10
-38
-22
-59
-8
-53
22
-9
16
0
0
0
0
0
0
0
0
6
43
48
3
-28
-100
18
-14
3
15
0
0
0
0
0
0
0
-5
-210
-39
-105
79
-17
0
0
0
0
0
0
0
0
0
0
0
0
260
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
147
0
0
-63
19
-4
-2
0
0
0
0
0
0
0
0
0
-16
-64
-17
-98
-20
-11
3
0
0
0
0
0
0
0
0
0
0
0
46
-15
-44
-42
-33
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
16
49
-5
2
0
0
0
0
0
0
0
0
0
0
0
26
-33
-13
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
7
-5
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-32
-66
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
4
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
57
0
0
6
-44
-9
0
0
0
0
0
0
0
0
0
0
-2
17
53
6
-44
-34
4
0
0
0
0
0
0
0
0
0
0
-22
1
30
-24
-88
8
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-50
-33
-23
1
-4
0
0
0
0
0
0
0
0
0
0
0
-7
10
-165
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
77
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-34
-12
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
220
0
0
11
-17
-3
0
0
0
0
0
0
0
0
0
0
0
-35
74
11
15
0
0
0
0
0
0
0
0
0
0
0
0
-13
29
54
-63
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
-42
116
38
-44
-6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-15
26
-33
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-10
9
-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
13
44
-35
16
208
261
0
0
0
0
0
0
0
0
0
0
0
1
8
84
133
255
210
0
0
0
-56
-7
18
-10
0
0
0
0
-102
-14
-38
-32
-1
125
-21
73
72
-12
1
2
-2
0
0
0
0
-32
53
20
20
25
-137
-31
-53
47
-48
-11
3
-3
0
0
0
0
18
56
-41
-150
-35
-146
-116
-73
-22
-6
-15
7
-1
0
0
0
0
14
99
-16
-83
68
-25
-92
115
-78
-26
22
0
0
0
0
0
0
-8
19
-5
64
-119
-61
-6
-46
-59
37
-2
0
-3
0
0
0
0
0
-58
-44
51
-11
-27
-72
76
-69
-17
2
6
0
0
0
0
0
22
-8
2
14
5
-22
-9
35
4
4
0
0
0
0
0
0
0
0
1
1
0
46
109
0
0
0
0
-4
7
0
0
0
0
0
-3
62
76
146
171
80
0
0
0
-48
54
10
0
0
0
0
0
-98
-45
55
86
0
49
-26
-32
-33
43
-46
-10
0
0
0
0
0
45
-14
-26
-8
34
36
-15
9
51
55
-25
-9
0
0
0
0
0
1
-4
-14
-43
-79
-13
-77
-62
-55
19
-42
0
0
0
0
0
0
3
10
-14
-164
-13
-149
-5
-9
-76
-13
0
0
0
0
0
0
0
-11
12
-54
-26
0
44
109
-180
-51
-36
-12
0
0
0
0
0
0
0
3
59
-34
-27
-51
19
-72
2
13
22
0
-2
0
0
0
0
-6
3
0
0
0
-31
-18
-42
-4
2
7
0
0
0
0
0
0
-54
-28
-12
52
183
-55
0
0
0
0
0
0
0
0
0
0
0
37
33
55
24
202
48
0
0
0
0
0
0
0
0
0
0
0
66
-3
61
70
99
105
24
0
0
0
0
0
0
0
0
0
0
54
20
37
-37
22
83
-6
35
-1
0
0
0
0
0
0
0
0
72
1
-31
-29
-13
68
52
-60
-31
-1
0
0
0
0
0
0
0
53
52
12
14
-33
-1
-103
86
140
-7
1
-4
0
0
0
0
0
6
35
21
-33
-49
19
-56
43
-28
-5
-2
-10
12
0
0
0
0
-27
14
-40
-78
11
-61
-33
-30
4
4
3
-18
-1
0
0
0
0
-114
-25
-15
-133
36
78
-17
-32
2
-4
0
0
-2
0
0
0
0
-22
-86
23
77
232
352
0
0
0
-1
0
0
0
0
0
0
0
35
-19
-50
75
25
286
0
0
-91
-15
1
0
0
0
0
0
0
109
-28
-72
-24
-8
-9
39
-64
-22
-1
-3
0
0
0
0
0
0
79
-34
-9
-107
-39
-65
-132
-22
-9
58
-20
1
0
0
0
0
0
-23
-42
-113
-117
-71
-81
-78
-2
6
1
-4
0
0
0
0
0
0
2
-58
12
-55
-96
124
11
-20
-79
-4
0
0
0
0
0
0
0
45
-41
-187
-8
23
-32
-36
-39
-74
-1
4
28
0
0
0
0
0
-17
8
-144
-107
-15
-12
-23
-72
-20
-12
1
0
0
0
0
0
0
26
22
-15
11
-17
0
-2
8
-6
4
0
0
0
0
0
0
0
-104
-133
-95
-44
109
310
0
0
0
0
0
0
0
0
0
0
0
-38
-23
-23
17
77
166
87
57
54
-59
8
2
0
0
0
0
0
25
-12
-10
6
7
-18
-120
-60
-78
-31
4
3
0
0
0
0
0
8
22
-4
-30
-34
-22
-40
-67
17
5
-66
3
0
0
0
0
0
2
22
-4
-28
-36
-61
-62
-56
-24
-16
-2
-17
1
0
0
0
0
-17
-10
-5
0
-14
-9
-53
-118
-80
23
55
-40
-1
0
0
0
0
48
-2
-8
-1
-22
-19
-73
-121
-113
-32
-21
-39
0
0
0
0
0
18
-41
-5
-11
-47
-67
-79
-74
-32
-51
72
49
0
0
0
0
0
34
-6
17
-11
-44
-49
-88
-85
-43
-32
-10
14
-5
0
0
0
0
26
196
289
411
462
313
0
0
0
0
0
0
0
0
0
0
0
55
115
152
308
327
190
153
-62
0
0
0
0
0
0
0
0
0
-94
53
102
-10
-99
-8
-106
27
-13
4
0
0
0
0
0
0
0
-82
-29
-135
79
-13
-177
24
-1
0
0
0
0
0
0
0
0
0
-59
-50
-122
-53
6
-40
1
-9
0
3
0
0
0
0
0
0
0
-84
-54
-66
-38
5
4
-2
-1
-6
0
0
0
0
0
0
0
0
-112
-125
-63
-24
-59
22
0
-1
0
0
0
0
0
0
0
0
0
-3
-240
-181
-144
-197
-87
-12
17
-1
0
0
0
0
0
0
0
0
-105
-74
-46
-38
-2
-10
-8
-2
-3
0
0
0
0
0
0
0
0
-156
-141
-59
172
146
182
357
0
0
0
0
0
0
0
0
0
0
-25
-1
48
69
74
0
0
89
7
-5
-1
0
0
0
0
0
0
-78
90
35
72
119
-11
13
-64
-27
14
-11
0
0
0
0
0
0
-64
8
47
-88
-94
-83
-71
21
-41
-3
1
0
0
0
0
0
0
-38
114
64
-106
16
-93
83
46
-8
-1
0
0
0
0
0
0
0
-27
68
58
-54
-51
-28
-45
9
7
0
0
0
0
0
0
0
0
115
-15
-24
-4
-26
-5
42
8
-6
6
0
0
0
0
0
0
0
-42
-18
-51
-47
9
-132
-13
50
4
14
0
0
0
0
0
0
0
-53
-96
69
-37
-13
3
-49
18
-5
-3
5
0
0
0
0
0
0
-148
-126
36
-5
264
250
0
0
0
-2
-3
-1
0
0
0
0
0
-88
-48
-49
19
102
302
0
41
0
84
7
2
0
0
0
0
0
-43
-20
2
-12
44
-35
181
27
32
-50
33
-1
0
0
0
0
0
-5
23
-72
-87
-115
-16
-34
-98
-50
-19
-39
0
0
0
0
0
0
1
16
-126
-79
-122
-71
14
62
30
-14
-18
1
0
0
0
0
0
21
43
-31
-46
10
-120
-72
3
1
1
7
0
-4
0
0
0
0
-13
-32
-74
-65
-10
26
-73
21
19
3
0
0
0
0
0
0
0
5
-1
-24
15
31
-37
-61
-24
-67
-13
-2
0
0
0
0
0
0
-78
-100
-132
61
-78
-66
-11
-34
6
3
0
0
0
0
0
0
0
-29
-45
-32
62
177
391
360
0
0
3
0
0
0
0
0
0
0
12
-35
73
80
127
223
0
159
0
-64
0
0
0
0
0
0
0
18
51
40
76
20
-48
39
54
67
-13
6
0
0
0
0
0
0
-22
1
-13
-7
-35
-67
26
-96
-44
6
9
7
0
0
0
0
0
-8
42
0
-2
-76
42
-29
-66
-15
31
-10
0
0
0
0
0
0
50
100
-35
-2
-98
-7
-25
-5
6
0
0
0
0
0
0
0
0
-19
-19
28
9
-114
-168
-22
-34
12
0
0
0
0
0
0
0
0
-43
-46
-38
-56
-26
-46
151
25
-12
0
0
0
0
0
0
0
0
32
4
13
64
2
-27
58
2
0
0
0
0
0
0
0
0
0
28
-64
-9
148
144
125
0
0
0
0
0
0
0
0
0
0
0
-45
39
100
158
149
172
139
0
-133
-38
1
0
0
0
0
0
0
10
47
-30
31
110
2
-121
-9
-42
9
-1
0
0
0
0
0
0
29
54
31
19
-30
-25
-23
-59
-19
-10
2
0
0
0
0
0
0
105
43
-49
-76
5
37
-45
-12
-41
9
0
0
0
0
0
0
0
63
34
-68
15
-129
-38
-9
-82
-1
-21
0
0
0
0
0
0
0
79
55
25
-70
-72
-9
-33
7
-1
0
0
0
0
0
0
0
0
42
19
-33
62
-62
-12
-16
-8
87
-16
0
0
0
0
0
0
0
44
-7
45
-40
11
9
35
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
235
0
0
0
0
0
0
0
0
0
0
1
24
19
8
0
0
35
0
0
0
0
0
0
0
0
0
0
2
-3
110
85
119
36
52
8
0
0
0
0
0
0
0
0
0
0
-1
-36
-21
48
97
42
4
0
0
0
0
0
0
0
0
0
0
-1
21
-32
-1
-7
-28
1
0
0
0
0
0
0
0
0
0
0
0
-12
31
77
-78
24
0
0
0
0
0
0
0
0
0
-5
0
1
-7
-42
-32
-39
-56
4
0
0
0
0
0
0
0
0
-1
-2
7
29
-2
-29
-25
-49
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-3
14
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
-49
4
0
0
0
0
0
0
0
0
0
0
0
1
-39
48
-8
113
6
0
0
0
0
0
0
0
0
0
0
0
6
-10
48
9
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
17
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
16
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
5
23
0
0
57
-10
0
0
0
0
0
0
0
0
0
0
2
9
57
85
44
45
-3
0
0
0
0
0
0
0
0
0
0
0
-23
-24
-34
-44
-7
-16
0
0
0
0
0
0
0
0
0
0
0
4
6
73
-13
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-100
81
0
0
0
0
0
0
0
0
0
0
0
0
2
-66
24
-2
94
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
-39
96
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
28
20
80
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
-6
4
-5
0
0
-46
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
67
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
7
9
33
155
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
19
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
-8
96
-1
0
0
0
0
0
0
0
0
0
0
5
0
1
57
32
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-57
-44
4
0
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
0
0
0
0
0
0
-71
36
-8
-65
17
7
0
0
0
0
0
0
-3
-1
0
0
0
12
-138
-44
9
-44
-15
0
0
0
0
0
0
0
-1
-50
79
97
20
6
-43
80
-20
1
0
0
0
0
0
1
0
0
2
11
81
140
13
83
102
16
10
0
0
0
0
-6
0
-2
-4
-6
96
24
16
75
1
-20
-31
0
0
0
0
0
0
0
-1
-8
6
-14
-21
109
6
21
31
0
0
0
0
0
0
0
0
0
-1
-3
50
29
141
37
-12
4
0
0
0
0
0
0
0
1
0
-1
12
-127
127
29
-6
8
-13
0
0
0
0
0
0
0
0
0
0
-11
-125
-2
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-57
3
-4
1
0
0
0
0
0
0
2
-6
0
0
0
0
-123
-26
-32
3
-20
-2
0
0
0
0
0
-1
-3
-15
2
-23
-7
-23
79
6
-32
5
-3
0
0
0
0
0
0
-2
-4
-4
-102
36
83
24
52
7
-43
-5
0
0
0
0
0
0
0
10
-6
-40
91
40
69
18
-20
-15
-17
0
0
0
0
0
0
0
0
0
-34
6
5
63
10
-9
-12
0
0
0
0
0
0
0
0
0
-4
6
0
28
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
21
-4
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
1
0
7
0
0
0
-47
157
91
-38
47
-1
147
0
0
0
-5
24
-2
8
46
0
0
83
-3
0
-4
-53
13
-57
0
0
3
0
1
2
-14
80
95
152
145
24
-36
82
38
134
38
0
0
0
-1
0
2
-18
-1
11
34
125
8
78
18
94
71
84
0
0
0
0
4
0
-1
35
-85
-8
34
16
-51
7
151
72
-32
0
0
0
0
0
1
-10
56
-3
-39
17
-96
163
35
-20
-44
-14
0
0
0
0
0
3
-4
-12
-92
-74
23
69
58
112
68
87
2
0
0
0
-1
1
0
13
1
48
-26
-19
20
-35
192
-13
0
0
0
0
0
0
0
-14
-4
-2
10
51
9
0
0
7
0
0
0
0
0
0
2
11
-33
113
-13
0
0
-22
0
57
28
28
200
-1
0
0
0
0
-14
61
91
40
-52
71
43
58
34
45
46
65
22
0
0
-2
-2
21
-69
-21
-3
-168
50
-3
44
22
4
25
21
80
0
0
0
-10
5
34
14
23
-29
-45
0
-29
-14
34
132
-44
-31
0
0
0
6
11
38
-9
-28
12
-50
-52
-19
0
-65
25
105
54
0
0
0
0
-1
15
-4
-66
51
-55
0
-40
-22
9
73
-4
-11
0
0
0
1
-1
6
-42
-18
33
-25
-15
-24
-64
-22
16
69
-103
0
0
0
0
-1
38
-108
-47
17
-32
-47
-57
-72
3
83
-1
-3
0
0
0
0
0
11
10
-12
-42
6
-20
-78
-97
-61
72
2
0
0
0
0
0
0
-3
0
5
0
0
36
-42
-9
0
101
-17
-6
0
0
0
0
-10
0
5
12
25
62
-84
31
-39
159
-40
-95
44
0
0
0
0
0
0
0
-49
24
-12
41
7
-32
129
148
87
20
0
0
0
0
0
-1
0
7
62
88
-20
-25
124
-33
-4
53
-30
0
0
0
0
0
0
0
-42
38
-27
36
19
-23
-21
0
22
-67
0
0
0
9
1
7
-9
5
8
-12
-49
17
88
-38
104
8
-22
0
0
0
-1
4
0
1
4
-34
-40
-25
38
-7
-24
-25
39
-51
0
0
0
0
0
0
1
1
41
-52
-20
70
-3
-75
-102
18
52
0
0
0
0
0
0
2
5
-12
41
8
-61
104
24
-54
-116
120
0
0
0
0
-3
1
0
-18
0
0
153
126
133
80
64
17
-31
0
0
0
0
0
-4
0
-60
22
100
0
119
156
46
37
128
-30
0
0
0
0
0
-2
-9
35
-36
168
-28
66
82
112
16
46
-79
0
0
0
0
0
-6
-2
1
42
24
50
82
49
-56
86
-2
-55
0
0
0
0
0
0
-8
-3
23
3
-13
-126
21
-30
-97
-9
112
0
0
0
-8
1
1
-6
15
-110
-15
-7
-9
23
6
-18
11
-136
0
0
0
-1
-4
0
6
-2
-66
-1
17
13
-61
-29
52
-217
-4
0
0
0
0
1
0
-43
-12
-74
168
108
4
21
-123
18
-82
-37
0
0
0
0
0
-9
0
0
43
31
10
-15
40
112
65
0
0
0
0
0
0
0
0
1
9
0
0
-182
23
-79
107
-64
-67
45
0
0
0
0
0
13
15
0
48
0
-91
70
-65
-34
57
25
-57
0
0
0
0
0
0
3
148
242
238
100
113
-91
62
81
140
26
0
0
0
0
0
-3
32
82
152
108
44
7
-22
75
-2
143
75
0
0
0
0
7
1
9
-25
1
46
-2
-34
47
-116
19
17
-2
0
0
0
0
0
-5
9
-17
-55
47
137
85
-89
102
37
-6
0
0
0
0
0
-1
-9
-5
44
45
9
134
142
-88
68
107
-26
-4
0
0
0
2
0
0
-82
96
96
55
78
-116
-2
-21
0
-31
0
0
0
0
0
0
0
0
11
-10
99
-39
13
-7
-1
-28
-3
0
0
0
0
0
0
0
0
0
0
0
-132
36
-21
30
-55
-12
0
0
0
0
0
0
0
0
0
87
0
44
85
77
-52
-43
67
-1
0
0
0
0
0
0
0
-1
45
122
-8
-99
26
-40
-18
156
0
0
0
0
0
0
0
0
0
0
27
13
40
41
-99
34
26
-6
0
0
0
0
0
0
0
-7
3
136
148
140
-57
66
-62
-42
-12
0
0
0
0
0
0
0
5
3
22
84
-73
77
66
14
41
8
0
0
0
0
0
0
0
0
15
33
53
-10
69
295
117
1
-7
0
0
0
0
0
0
0
-2
17
10
29
-50
72
-42
8
-1
0
0
0
0
0
0
0
0
0
1
2
0
-1
28
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
52
-28
-20
23
-14
77
18
0
0
0
0
0
0
0
5
0
38
-63
11
126
-8
17
-99
-39
0
0
0
0
0
0
0
-1
-21
-2
26
-16
-86
95
-24
-74
73
0
0
0
0
0
0
0
4
0
2
45
-28
-7
-105
110
28
-41
0
0
0
0
0
0
0
0
0
0
88
-35
53
-7
-31
25
-59
0
0
0
0
0
0
0
0
0
3
42
1
24
-66
32
-24
3
0
0
0
0
0
0
0
0
0
0
13
78
61
124
-49
26
0
0
0
0
0
0
0
0
0
3
0
-3
0
28
-22
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
-15
-3
-10
-99
-21
-44
0
0
0
0
0
0
1
-2
-18
4
116
2
-10
-41
-81
73
-28
0
0
0
0
0
0
0
-3
4
-62
2
39
44
68
-6
10
56
0
0
0
0
0
0
0
1
0
0
-23
13
5
69
14
25
60
0
0
0
0
0
0
0
0
0
0
-11
-7
-92
-68
-78
-144
46
0
0
0
0
0
0
0
0
0
0
-3
-15
-53
-7
74
-205
-7
0
0
0
0
0
0
0
0
0
0
-3
41
-17
13
-35
24
74
0
0
0
0
0
0
0
0
0
0
0
-74
36
8
47
51
-38
0
0
0
0
0
0
0
0
0
0
0
1
-44
-86
-26
31
-14
0
0
0
0
0
0
0
0
0
0
1
-2
21
90
-21
12
-10
0
0
0
0
0
0
0
0
-3
1
-9
-47
-56
-76
-121
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
48
6
60
5
23
0
0
0
0
0
0
0
0
0
0
0
0
18
-11
54
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-26
11
15
0
0
0
0
0
0
0
0
0
0
0
0
1
60
-21
-85
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
19
-97
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
42
-28
0
0
0
0
0
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
40
93
-25
-13
0
0
0
0
0
0
0
0
-4
-7
-5
-8
29
-81
-44
67
-19
0
0
0
0
0
0
0
0
0
0
5
25
2
53
-121
-104
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-11
-117
1
109
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-121
73
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-75
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
-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
-7
-3
42
-69
23
1
0
0
0
0
0
0
0
0
0
0
9
-17
-25
29
-6
34
29
0
0
0
0
0
0
0
0
0
5
0
1
-1
-37
87
-34
-16
-4
0
0
0
0
0
0
0
0
-1
-1
5
-1
-10
-17
39
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-12
-16
1
3
0
0
0
0
0
0
0
0
0
0
0
-3
1
22
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
26
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
4
-12
50
0
0
36
92
13
40
-77
-10
-79
0
0
0
0
-3
4
8
6
132
-36
33
-16
68
177
-45
-73
-65
0
0
0
0
0
11
5
107
39
-4
68
18
7
52
94
72
99
0
0
0
0
0
0
2
52
-27
83
43
62
23
-18
-75
58
16
0
0
0
0
0
0
0
17
-83
67
-167
-9
7
23
-25
89
-11
0
0
0
0
0
0
0
-1
-62
43
45
-160
-23
-68
-24
9
-19
0
0
0
0
0
0
5
-20
36
-76
25
6
0
-24
-53
-59
-10
0
0
0
0
0
0
0
-1
75
-97
7
-84
-25
-146
-18
-38
1
0
0
0
0
0
0
0
0
16
-4
-22
-4
11
-10
-45
-13
21
0
0
0
0
0
0
0
0
0
0
-32
-46
24
78
46
-82
66
0
0
0
0
0
0
3
0
32
-51
47
54
51
68
23
25
-74
0
0
0
0
0
0
0
-11
47
-12
27
14
83
28
26
-41
-78
0
0
0
0
0
0
0
0
17
44
-24
-89
133
-26
8
-83
-75
0
0
0
0
0
0
0
0
40
44
-12
-72
-109
-72
-66
17
69
0
0
0
0
0
0
0
0
-3
-69
62
11
-4
-125
-104
37
-9
0
0
0
0
0
0
0
5
40
50
5
-80
-8
8
-67
-12
-58
0
0
0
0
0
0
0
-2
83
-85
-12
-28
-4
-31
-127
-56
-8
0
0
0
0
0
0
0
2
-64
25
-13
-8
0
-49
42
-24
39
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
-11
0
0
-48
28
111
37
14
-48
1
0
0
-1
-1
-29
5
111
75
63
56
-51
-58
-28
-56
-2
119
-4
0
0
0
4
-12
14
-24
-49
91
7
-17
-36
55
-12
1
-43
-14
0
0
0
0
13
-11
9
40
85
24
-8
-2
-104
-120
-26
24
-3
0
0
0
0
-8
1
11
-3
12
-53
94
-124
-186
-5
-118
57
-2
0
0
0
0
0
0
-3
-104
-160
9
-46
18
-71
-14
56
-12
0
0
0
0
0
0
-17
-32
-41
29
-73
-65
-117
38
62
5
2
0
0
0
0
0
0
-1
-1
-34
-10
-55
-8
10
75
-39
20
51
0
0
0
0
0
0
0
15
-14
-90
-87
-55
-2
-3
-4
0
0
0
0
0
-8
-142
-19
-33
45
-42
0
0
-59
17
74
78
-94
-13
0
0
0
-22
-53
-44
6
-16
11
18
1
3
19
58
81
34
-4
0
0
0
-30
18
53
-83
-54
-26
3
-10
-4
25
43
36
154
-54
0
0
0
8
37
60
10
-25
-37
-6
-19
3
-21
9
-15
-40
-49
0
0
0
5
-44
38
-32
4
22
-17
-2
-22
-35
-1
22
96
23
0
0
0
-15
-81
0
-25
15
-5
7
0
-16
-33
-33
60
42
-18
0
0
0
-15
22
-39
-5
-39
-4
-4
4
-8
-23
2
102
-142
16
0
0
0
-7
-10
32
10
45
24
-21
-3
5
5
-48
53
-4
0
0
0
0
-10
-58
22
37
-19
-22
17
2
-18
-31
-43
-73
42
-6
0
0
0
0
0
-2
18
-15
-117
0
0
133
71
-3
105
-3
0
0
0
0
0
0
5
5
-11
-3
-91
-61
67
-45
19
78
-3
0
0
0
0
0
0
0
0
-81
56
23
-47
28
-76
23
-27
1
0
0
0
0
0
0
0
1
-21
5
-9
-9
-83
96
4
38
-1
0
0
0
0
0
0
0
-4
23
-20
38
-59
160
-2
-41
34
0
0
0
0
0
0
0
0
0
4
-12
14
-7
-40
-27
46
17
0
0
0
0
0
0
5
0
-6
1
147
9
-7
72
-152
103
-81
29
0
0
0
0
0
0
0
-16
4
4
28
-34
2
116
8
-6
0
0
0
0
0
0
0
-12
0
-2
2
-44
95
-80
68
13
1
0
0
0
0
0
0
1
-1
64
120
-44
0
0
64
82
96
85
3
0
0
0
0
0
2
-32
34
-145
42
12
46
65
20
9
-13
10
0
0
0
0
0
0
44
13
77
-8
18
127
91
51
89
134
-47
0
0
0
0
0
-1
-3
13
76
-32
-26
66
-26
2
-6
21
10
0
0
0
0
0
14
2
-4
-51
-53
-94
2
56
-125
66
-45
-2
0
0
0
0
0
0
13
9
12
-154
-11
-63
-20
-32
114
16
0
0
0
0
0
0
4
-5
-51
-62
-72
11
22
-19
-45
-60
1
-2
0
0
0
0
0
-2
19
17
-6
-83
28
-40
-10
-52
-37
-111
0
0
0
0
0
0
-1
-15
11
-35
-54
-33
-42
-80
-33
15
50
0
0
0
0
0
-6
-1
-3
-9
-1
-42
0
0
122
11
100
-83
-59
3
83
0
0
0
-1
-4
-8
-72
83
77
62
56
-19
-15
89
-15
-70
-42
0
0
0
0
12
-29
69
20
-24
10
18
120
-103
76
98
-69
-71
0
0
0
0
2
-10
-76
-46
22
2
12
-19
103
79
-62
-204
-12
0
0
0
3
-4
2
-8
-23
10
20
-49
-6
4
-20
-11
7
-1
0
0
0
0
-2
13
-18
-71
-42
-95
-44
43
-17
49
5
-8
-7
0
0
0
0
0
-4
-7
-21
-57
17
66
-168
36
-23
-43
11
10
0
0
0
7
8
-3
-68
-71
-127
-86
-105
-66
1
46
5
-87
0
0
0
0
0
0
4
7
-64
-101
-28
-80
-49
-52
-3
0
13
0
0
0
-2
0
0
-32
14
25
0
0
95
15
184
-65
80
2
62
0
0
0
0
0
3
-1
-34
10
82
63
49
-76
77
-9
85
-21
0
0
0
0
0
-29
-45
-1
51
93
131
122
63
62
-7
15
21
0
0
0
0
0
0
-105
74
-29
40
102
1
36
4
4
-55
-20
0
0
0
0
0
-3
92
-110
3
-24
79
-61
-135
285
75
-11
2
0
0
0
0
3
-8
-96
-6
-42
-149
-19
-30
-85
-59
1
34
0
0
0
0
0
2
18
-14
-15
57
26
-12
-9
-26
18
-1
33
-25
0
0
0
0
0
0
1
-20
-49
-49
44
-15
33
87
-7
-20
0
0
0
0
0
0
5
57
11
-13
-78
51
-31
48
0
0
0
0
0
0
0
0
2
12
-3
-33
0
0
22
117
-129
-4
117
95
53
0
0
0
-2
0
-11
51
30
-64
-1
-23
59
115
-28
24
-60
-30
0
0
0
0
-2
13
139
-18
20
92
-84
60
-7
-52
-52
-81
-24
0
0
0
0
0
-1
-8
68
-22
-60
-118
-21
78
-11
-158
-110
10
0
0
0
-1
1
15
21
56
96
35
-55
-30
-11
13
-81
22
-61
0
0
0
7
2
-14
-38
19
131
95
-32
-125
4
3
12
-59
-11
0
0
1
2
-20
-28
18
-9
34
45
12
16
77
16
-1
-50
-10
0
0
2
2
15
11
-7
21
13
7
-58
95
4
-9
-76
18
0
0
0
0
8
-10
-27
-66
-12
-62
44
28
-18
47
-34
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
23
9
1
0
0
0
0
0
0
0
0
0
0
9
-57
1
12
-9
20
5
-1
0
0
0
0
0
0
0
0
0
-29
45
-51
17
-22
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-63
12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-11
-21
15
-10
-1
-1
0
0
0
0
0
0
0
0
0
0
0
4
-33
-9
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-14
20
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-93
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
14
-38
0
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
-2
16
-5
6
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
4
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
-5
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
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
3
7
0
5
0
0
0
0
0
0
0
0
0
0
0
12
-7
-29
32
-1
2
0
1
0
0
0
0
0
0
0
0
0
-3
-24
-7
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
7
-33
-10
0
10
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
1
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
3
11
-7
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
-1
-2
9
0
-1
1
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
3
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-4
0
0
0
0
0
0
0
0
0
0
0
-49
1
-4
21
29
15
1
0
0
0
0
0
0
0
0
0
-6
3
-11
-9
2
-12
8
1
0
0
0
0
0
0
0
0
0
-5
0
-23
-1
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-3
1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
1
3
-6
0
0
0
0
0
0
0
0
0
-1
0
-1
2
3
1
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
1
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-24
-3
71
0
0
0
0
0
0
0
0
0
0
4
17
33
0
-34
-9
49
63
-14
-25
-8
2
0
0
0
0
0
13
-5
1
-10
54
38
-117
-38
-41
9
-4
-3
0
0
0
0
0
2
2
10
-4
-14
-14
-15
-14
-18
10
3
3
-2
0
0
0
0
0
20
-7
7
-1
-5
0
-1
2
6
0
0
0
0
0
0
0
3
-5
13
11
-4
1
1
-1
0
0
0
0
0
0
0
0
0
-14
-5
35
-3
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
2
5
-1
1
-5
0
0
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
-1
62
25
-8
-84
-175
0
0
0
3
-3
0
0
0
0
0
0
3
-99
-8
104
-7
20
-64
129
15
56
-45
-13
-6
-1
0
0
0
57
-52
-183
31
57
38
-105
-13
154
81
1
-22
-2
0
0
0
0
15
14
23
50
22
-3
-40
54
29
19
16
4
0
0
0
0
0
-5
29
16
-96
141
-26
-97
67
31
-2
-18
6
0
0
0
0
0
-2
9
-5
-31
-43
20
19
-45
81
-11
2
0
0
0
0
0
0
5
25
-47
-2
8
-38
41
-54
-27
27
0
-1
0
0
0
0
0
0
-4
34
-29
-61
-49
2
-11
63
14
8
1
0
0
0
0
0
1
-21
29
-48
-82
2
-65
27
5
-9
1
0
0
0
0
0
0
0
0
-44
-36
32
-8
55
0
0
0
0
0
0
0
0
0
0
0
2
28
21
-4
-5
84
-20
-19
8
-58
-14
0
0
0
0
0
0
0
-14
10
24
-22
-24
39
-1
2
31
4
0
0
0
0
0
0
0
-6
8
11
-17
-2
0
46
-35
8
3
0
0
0
0
0
0
1
-1
-9
21
11
3
-28
-19
-8
-22
-1
0
0
0
0
0
0
0
-16
50
28
25
-7
-18
-23
2
-3
0
0
0
0
0
0
0
4
-1
-5
7
2
-2
-7
10
-4
-3
0
0
0
0
0
0
0
0
-2
-11
-1
4
-12
-16
9
0
-2
-4
0
0
0
0
0
0
0
0
-9
-11
1
3
-16
-9
-5
0
0
0
0
0
0
0
0
-5
8
49
-49
-59
16
0
0
0
0
0
0
0
0
0
0
0
-2
54
15
98
-77
-23
87
57
-33
-25
-3
0
0
0
0
0
0
2
28
-39
-24
-60
-16
-25
15
3
-2
-2
0
0
0
0
0
0
1
2
39
-4
-29
39
12
-2
2
0
0
0
0
0
0
0
0
2
5
-23
22
-33
1
65
7
-3
-1
1
0
0
0
0
0
0
-3
-16
-10
1
4
12
5
16
-48
-7
0
0
0
0
0
0
0
0
27
16
24
-13
-26
-47
14
-9
0
0
0
0
0
0
0
0
-2
-26
13
9
-14
-4
18
4
0
0
0
0
0
0
0
0
0
5
-4
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
1
75
-10
0
33
99
69
0
0
0
0
0
0
0
0
0
0
1
8
20
6
20
9
-75
15
12
27
2
-3
0
0
0
0
0
-2
-48
-41
-9
9
-60
4
-41
23
-7
3
0
0
0
0
0
0
-3
13
17
27
-14
17
20
-14
0
0
5
0
0
0
0
0
0
-1
2
0
-8
0
-7
-31
0
-1
0
3
0
0
0
0
0
0
4
0
10
3
0
2
-2
-1
2
0
0
0
0
0
0
0
0
1
-28
-14
1
1
2
-1
0
1
0
0
0
0
0
0
0
0
1
18
2
8
2
1
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
1
2
10
-16
47
15
0
0
0
0
0
0
0
0
0
0
0
1
4
-6
37
-3
-58
23
1
-3
0
0
0
0
0
0
0
0
0
-1
-2
-3
2
6
-27
-4
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
0
0
1
0
0
0
6
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
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
3
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
17
0
-3
2
-1
0
0
0
0
0
0
0
0
0
0
-1
-9
6
-17
1
-5
0
1
0
0
0
0
0
0
0
0
0
-1
4
-5
-21
-8
-1
1
0
0
0
0
0
0
0
0
0
0
2
4
0
5
8
-5
0
0
0
0
0
0
0
0
0
0
0
-3
12
0
-4
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
0
0
110
1
-1
0
1
0
0
0
0
0
0
0
0
0
-36
-4
9
40
20
-4
1
0
0
0
0
0
0
0
0
0
1
3
42
6
48
-33
-6
-2
0
0
0
0
0
0
0
0
0
0
-12
26
28
-23
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
64
-23
-6
-2
3
-6
2
0
0
0
0
0
0
0
0
0
-21
58
-33
-7
3
3
-2
0
0
0
0
0
0
0
0
0
0
12
-19
-6
0
13
-2
1
0
0
0
0
0
0
0
0
0
0
2
-20
22
27
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
26
0
0
-27
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
42
-50
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-12
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-11
35
11
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
34
-20
9
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
38
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-19
-4
3
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-11
8
9
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-43
34
30
0
0
0
-7
-1
0
2
0
0
0
0
-3
-16
-1
-7
-1
4
-32
-15
-20
-6
1
0
0
0
0
0
0
0
-2
-1
11
3
-27
40
-25
-18
1
0
0
0
0
0
0
0
-2
2
4
-3
24
-35
13
22
17
2
0
0
0
0
0
0
0
0
0
1
-21
-13
10
10
4
-24
-3
2
0
0
0
0
0
0
0
0
2
8
5
-2
-2
6
2
0
0
0
0
0
0
0
0
0
7
-15
-22
-9
-2
-3
1
-4
0
0
0
0
0
0
0
0
0
0
-5
14
2
-3
3
4
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
1
3
43
0
0
0
-7
20
3
0
0
0
0
0
0
0
-2
4
-2
15
-3
-46
0
49
6
0
0
0
0
0
0
0
0
0
4
-3
16
-29
20
-3
-21
12
-1
0
0
0
0
0
0
0
0
-4
0
-1
17
-47
98
-8
-13
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-40
3
-6
0
0
0
0
0
0
0
0
-4
0
0
0
-1
-2
-16
0
1
0
0
0
0
0
0
0
0
-4
0
0
6
0
0
-3
-39
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-23
54
29
-7
24
-31
0
0
0
0
0
0
0
0
0
0
0
-1
-90
-93
24
3
63
0
0
0
0
0
0
0
0
0
0
0
35
66
79
-66
82
44
13
0
0
0
0
0
0
0
0
0
0
40
-33
88
32
-64
44
-5
31
2
0
0
0
0
0
0
0
0
9
-62
22
-67
-9
1
26
-19
4
0
0
0
0
0
0
0
0
29
-40
-56
54
-81
-4
-13
6
52
0
0
0
0
0
0
0
0
-19
45
-8
-32
38
-25
-35
-17
-12
4
1
0
0
0
0
0
0
-11
51
-5
-22
36
-56
-24
-3
-16
-1
0
0
0
0
0
0
0
16
-58
76
-34
13
8
18
2
1
-2
0
0
0
0
0
0
0
-33
-28
22
27
-5
20
0
0
0
-1
0
0
0
0
0
0
0
48
40
22
-79
-45
58
0
0
-15
5
-12
0
0
0
0
0
0
-19
34
-8
-51
16
9
-25
10
13
-10
0
0
0
0
0
0
0
-17
-4
23
-28
39
-69
13
28
10
18
0
0
0
0
0
0
0
-9
-11
0
18
14
-15
6
-18
7
0
0
0
0
0
0
0
0
10
11
13
-3
9
19
-2
-3
-1
0
0
0
0
0
0
0
0
57
-49
-59
1
-10
-14
-2
1
-6
-2
0
0
0
0
0
0
0
0
-5
-17
-9
-1
-2
2
-16
2
2
0
0
0
0
0
0
0
8
-3
-3
7
-8
0
3
1
-8
0
0
0
0
0
0
0
0
71
-57
91
-27
-39
122
0
0
0
0
0
0
0
0
0
0
0
-38
35
-55
68
-118
-56
-15
35
49
-19
3
0
0
0
0
0
0
79
-68
-22
54
81
35
-70
-28
-38
-20
4
-1
0
0
0
0
0
9
32
0
-39
-27
-7
74
10
-13
60
-33
8
0
0
0
0
0
12
-10
36
-19
-14
57
-33
19
42
-47
9
-3
0
0
0
0
0
34
13
14
46
-45
48
-33
-68
29
6
-16
-5
0
0
0
0
0
-15
-2
-10
37
40
18
-50
-31
12
9
-15
2
0
0
0
0
0
-16
38
-7
28
-44
31
55
23
-14
60
-12
3
0
0
0
0
0
33
-25
50
16
7
-64
11
-19
-24
-5
16
0
0
0
0
0
0
-41
46
23
-62
-26
72
0
0
0
0
0
0
0
0
0
0
0
2
60
17
2
40
-15
-5
0
0
0
0
0
0
0
0
0
0
3
-16
-53
-11
25
39
-14
-7
0
0
0
0
0
0
0
0
0
0
15
-3
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
7
8
-1
1
1
7
1
0
0
-1
0
0
0
0
0
0
0
-1
0
7
-25
-2
-10
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
-3
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
10
-20
-3
6
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
-2
-33
17
57
-11
-14
72
0
0
0
0
0
0
0
0
0
0
-1
-59
-20
23
191
0
30
35
5
-4
-5
0
0
0
0
0
0
-2
-25
-73
49
-9
2
5
-26
-7
-1
0
0
0
0
0
0
0
1
22
-44
-13
59
-8
-5
31
-2
0
0
0
0
0
0
0
0
-3
-39
-43
-4
36
-7
-27
-1
-1
0
0
0
0
0
0
0
0
0
10
29
-49
-25
3
2
-1
-3
0
0
0
0
0
0
0
0
15
-16
-16
-86
-4
3
3
0
-2
0
0
0
0
0
0
0
0
0
-45
-118
-1
-26
-15
0
0
0
9
0
0
0
0
0
0
0
-5
-24
9
-17
-14
4
0
2
0
0
0
0
0
0
0
0
0
-17
-68
10
11
-10
103
0
0
0
1
1
0
0
0
0
0
0
-22
-51
-35
20
-83
120
0
9
0
36
1
2
0
0
0
0
0
-7
44
35
-16
19
-21
56
46
-20
-3
12
0
0
0
0
0
0
16
-17
-10
-18
-34
-2
34
-47
-34
-28
0
0
0
0
0
0
0
-37
-5
-19
19
-44
15
-22
8
-3
4
-2
0
0
0
0
0
0
-7
0
45
-8
19
-7
-21
24
-6
0
0
0
0
0
0
0
0
-48
-7
-30
-34
23
-15
-13
7
0
0
0
0
0
0
0
0
0
-5
-12
-31
-4
-8
-35
-10
1
-2
0
0
0
0
0
0
0
0
0
-24
-37
22
4
-9
3
-1
0
0
0
0
0
0
0
0
0
-2
7
-21
-25
47
7
76
0
0
0
0
0
0
0
0
0
0
-3
-2
42
17
-6
28
0
75
0
8
0
0
0
0
0
0
0
13
-46
69
-3
73
-32
78
4
-11
-1
0
0
0
0
0
0
0
-13
45
-50
-9
-43
-27
-4
-8
-29
-1
0
3
0
0
0
0
0
1
13
-2
48
-16
-5
47
-2
-1
13
-1
0
0
0
0
0
0
-4
-43
19
-4
-12
16
-2
0
0
0
0
0
0
0
0
0
0
3
-3
15
14
17
2
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-40
-2
4
-52
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-20
-45
0
1
-2
0
0
0
0
0
0
0
0
0
0
-42
-25
9
-23
34
21
0
0
0
0
0
0
0
0
0
0
0
-15
101
50
142
-27
-23
5
0
-22
0
0
0
0
0
0
0
0
-27
41
-8
38
19
-44
14
37
-8
0
0
0
0
0
0
0
0
-38
-7
52
-26
7
12
-9
-21
1
-5
0
0
0
0
0
0
0
10
44
-47
-10
10
20
16
-13
7
0
0
0
0
0
0
0
0
18
-21
-27
11
12
-6
3
-1
-12
0
0
0
0
0
0
0
0
25
-17
-3
68
4
0
0
14
5
0
0
0
0
0
0
0
0
-62
1
-46
-11
-4
5
0
-19
17
0
0
0
0
0
0
0
0
-33
-16
-13
28
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
2
-37
21
-60
28
1
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-48
-41
-23
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
48
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
8
-11
-19
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-30
-40
-3
0
0
0
0
0
0
0
0
0
0
0
1
-6
-56
-64
30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-26
53
2
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
2
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-9
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
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
-6
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
1
3
7
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-3
-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
1
-10
-6
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-1
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
1
5
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
-1
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
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
-5
0
2
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
-20
5
-2
-2
8
0
0
0
0
0
0
0
0
0
0
-10
-10
-11
-1
-1
-3
1
0
0
0
0
0
0
0
0
0
0
-1
9
4
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
19
-2
0
0
0
0
0
0
0
0
0
-1
2
-1
-5
-2
8
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
-1
-10
0
1
0
-1
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-31
-1
-1
0
0
0
0
0
0
0
0
0
0
-4
-2
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-3
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-1
0
0
-1
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
2
0
0
0
21
20
-9
72
-3
-25
-2
0
0
0
-3
0
1
3
-1
0
0
27
-87
-36
25
-53
25
-35
0
0
0
0
0
3
-8
10
29
47
3
-68
-25
22
20
-55
-1
0
0
0
-1
0
0
-2
-2
34
-14
14
-34
-84
37
46
48
-9
0
0
0
0
0
0
0
6
-31
-1
-14
-25
5
10
33
-6
-5
0
0
0
0
0
0
0
4
21
-15
10
9
2
-9
18
-11
0
0
0
0
0
0
-1
-1
1
-9
-27
12
8
2
9
25
0
0
0
0
0
-4
3
0
3
-1
-3
-6
0
-4
-8
3
-3
0
0
0
0
0
-1
-2
-1
0
0
1
1
1
0
0
3
0
0
0
0
0
0
0
4
-8
5
4
0
0
11
31
-22
133
100
38
1
0
0
0
0
0
1
-14
68
-36
-131
43
-92
0
-33
-5
40
-10
0
0
0
0
0
1
-11
22
47
-26
-4
-69
-56
42
162
3
-19
0
0
0
0
-1
14
-18
9
-70
-8
-44
18
51
6
-94
-34
-58
0
0
0
0
0
-4
30
28
17
4
28
-20
-39
-80
-64
14
27
0
0
0
0
-2
-1
-11
-27
57
-42
-41
97
-67
-83
39
-1
-1
0
0
0
0
1
-3
0
41
-3
56
-24
-110
-40
48
4
-29
-1
0
0
0
0
0
6
-26
-24
1
141
-28
72
-67
25
68
-3
0
0
0
0
0
0
-2
10
15
37
64
5
-72
33
-84
19
-6
0
0
0
0
0
0
0
0
0
0
0
35
-49
-36
-12
0
29
25
0
0
0
0
0
0
0
5
5
-16
56
48
-7
26
-44
-119
25
0
0
0
0
0
0
0
1
-17
-24
-35
18
-8
63
-55
-3
3
0
0
0
0
0
0
0
0
0
-7
39
-7
-16
4
-48
12
-4
0
0
0
0
0
0
0
-2
3
2
-12
39
5
44
6
-7
10
0
0
0
0
1
0
4
1
3
-9
0
-5
9
-11
16
-59
16
0
0
0
0
0
0
0
3
-3
-3
-1
5
-15
9
-11
-1
-18
0
0
0
0
0
0
0
-6
-1
11
-19
28
5
6
2
9
0
0
0
0
0
0
0
0
1
-1
3
5
-4
3
-6
15
-4
-20
0
0
0
0
0
0
0
-13
0
0
65
81
27
20
-44
-23
5
0
0
0
0
0
0
0
16
23
12
0
-48
58
-8
-68
111
-24
0
0
0
0
0
0
1
1
-1
-17
-2
41
-10
-21
0
54
5
0
0
0
0
0
-5
-3
0
-18
-36
35
86
-13
-47
-18
17
7
0
0
0
0
0
0
0
4
5
-21
23
-15
-3
-42
-52
-20
-8
0
0
0
0
1
0
5
-7
-6
1
17
9
-34
4
0
29
-2
0
0
0
0
-1
0
1
-3
-8
32
-15
19
38
-10
21
1
0
0
0
0
0
0
0
-8
1
-6
-1
12
5
8
-37
-8
-2
1
0
0
0
0
0
0
0
0
2
1
6
-1
-4
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-19
8
26
1
100
16
2
0
0
0
0
0
1
4
0
76
0
-80
-23
-20
87
-43
7
-5
0
0
0
0
0
0
2
17
90
-47
-4
-18
-63
42
0
39
2
0
0
0
0
0
0
9
-2
39
1
-11
17
-16
-20
-39
-2
0
0
0
0
0
0
0
1
0
0
6
-26
-4
5
-28
-15
12
0
0
0
0
0
0
1
2
-1
-17
42
-24
-9
8
0
-3
0
0
0
0
0
0
0
-3
0
2
-15
28
17
1
-10
9
3
0
0
0
0
0
-1
0
0
-12
2
14
22
18
8
-2
-16
2
-5
0
0
0
0
0
0
0
0
0
1
16
-5
3
2
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-9
7
11
-20
0
0
0
0
0
0
0
0
0
0
13
0
-8
20
-49
-2
8
-1
0
0
0
0
0
0
0
0
-1
7
17
0
-16
-15
-10
-9
1
0
0
0
0
0
0
0
0
0
1
2
-1
6
0
-8
-2
0
0
0
0
0
0
0
0
0
-2
0
1
18
-5
0
1
-2
-1
-3
0
0
0
0
0
0
0
1
0
0
1
-2
-1
1
0
7
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
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
-1
0
6
6
-21
2
1
0
0
0
0
0
0
0
2
0
-15
7
-14
50
9
-40
-7
0
0
0
0
0
0
0
0
0
-1
0
3
-6
38
-1
13
1
-4
0
0
0
0
0
0
0
1
0
6
3
2
-1
7
4
3
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
19
-40
-3
-6
0
0
0
0
0
0
0
0
1
-11
54
-17
48
-38
4
58
3
0
0
0
0
0
0
0
0
0
-2
6
-6
34
96
-11
57
27
0
0
0
0
0
0
0
0
0
0
-2
2
19
-35
129
-35
0
0
0
0
0
0
0
0
0
0
0
-4
9
34
-14
-6
7
21
0
0
0
0
0
0
0
0
0
0
-2
-17
-48
-1
61
1
5
0
0
0
0
0
0
0
0
0
0
-1
18
-23
-7
12
3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-31
49
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
-26
20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
1
1
0
0
0
0
0
0
0
0
0
0
-7
-4
-1
44
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-2
-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
-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
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
0
0
0
0
0
15
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-32
-22
24
-6
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-5
0
1
13
0
0
0
0
0
0
0
0
0
0
0
4
-2
-2
47
-9
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
11
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
5
-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
-1
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
-2
-2
1
0
0
-29
3
4
16
1
-2
-2
0
0
0
0
0
0
-5
-1
5
-11
38
38
0
61
-20
-12
2
0
0
0
0
0
-2
0
10
-1
3
-33
3
-1
-20
9
-12
-3
0
0
0
0
0
0
0
0
-1
5
-2
4
12
-41
-10
31
-7
0
0
0
0
0
0
0
0
-1
3
-13
16
-9
10
1
6
1
0
0
0
0
0
0
0
0
6
-4
-1
-2
28
-8
11
0
0
0
0
0
0
0
0
0
0
-9
8
-2
1
11
2
-4
-10
-1
0
0
0
0
0
0
0
0
-11
7
-1
2
0
-6
16
15
0
0
0
0
0
0
0
0
0
0
3
4
0
1
0
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-13
9
15
10
25
-2
0
0
0
0
0
0
0
0
-1
1
21
2
5
30
40
11
-35
0
0
0
0
0
0
0
0
-1
-2
29
15
33
-8
-34
-21
-31
0
0
0
0
0
0
0
0
1
-1
-2
-6
-13
35
-8
-28
-25
0
0
0
0
0
0
0
0
0
-2
0
-15
-1
-12
-17
9
25
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
1
10
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
-14
21
3
0
0
0
0
0
0
0
0
9
-15
1
-7
-10
-45
-10
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
4
-13
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
4
1
-3
-6
-51
0
0
-43
8
-33
16
-14
1
1
0
0
0
1
-1
-31
63
-13
24
123
46
18
-10
0
6
-4
0
0
0
0
1
-12
17
4
28
-19
-64
61
-5
31
-27
1
17
0
0
0
0
0
0
-9
-2
38
-34
-1
-2
-1
-35
-12
1
32
0
0
0
0
0
0
-1
-1
33
14
-11
10
-8
12
1
0
0
0
0
0
0
0
0
0
0
6
-1
-24
-11
-3
-6
6
3
0
0
0
0
0
0
0
0
8
1
14
-11
0
4
14
7
6
1
0
0
0
0
0
0
0
0
-3
-19
3
-8
3
0
-10
0
-2
0
0
0
0
0
0
0
15
-2
-24
-33
-1
0
0
0
0
0
0
0
0
4
-40
-15
-65
41
-3
0
0
-48
-38
-51
49
3
0
0
0
0
-7
-2
25
21
-42
34
-41
14
-15
15
-10
-29
-29
-7
0
0
0
1
-9
-4
32
6
-31
11
-3
6
17
81
-122
-12
-27
0
0
0
4
12
45
-5
4
-12
-4
11
-1
-34
5
94
18
-1
0
0
0
2
-40
40
-87
32
-55
-17
14
11
-24
95
6
-1
0
0
0
0
-1
0
-15
55
20
5
25
13
3
-3
25
57
-4
0
0
0
0
-5
-9
13
-33
-25
-8
-4
10
-17
1
9
67
-13
0
0
0
0
-4
-23
24
-72
31
26
-19
21
46
-28
107
7
6
0
0
0
0
2
-23
-33
-71
62
-39
5
7
13
-9
25
-10
-1
0
0
0
0
0
0
0
-7
0
0
0
0
69
45
27
-1
0
0
0
0
0
0
0
2
0
0
25
84
-1
31
-21
-32
27
0
0
0
0
0
0
0
0
2
-8
7
32
-87
-63
0
5
8
0
0
0
0
0
0
0
0
4
-6
6
-26
11
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-3
14
0
-5
3
-5
8
0
0
0
0
0
0
0
0
0
0
0
4
7
0
-1
2
4
2
0
0
0
0
0
0
0
0
0
-1
0
-8
-7
0
-4
-1
0
0
0
0
0
0
0
0
0
-9
2
0
-1
-1
0
11
-1
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
-1
-1
0
-3
0
0
0
0
0
0
0
0
0
5
14
-11
0
0
55
-43
-3
-8
0
0
0
0
0
0
0
0
2
-26
39
-35
25
1
31
-2
-4
0
0
0
0
0
0
0
0
5
-15
-12
-12
33
32
57
-13
-12
0
0
0
0
0
0
0
-1
2
14
-2
2
-54
-10
43
6
-7
0
0
0
0
0
0
0
0
-3
-1
16
-31
-38
40
-1
16
-2
0
0
0
0
0
0
0
-1
-1
-20
-35
-49
-11
46
-5
16
0
0
0
0
0
0
0
0
1
-5
-5
-69
-34
-4
5
-15
-5
1
0
0
0
0
0
0
0
2
5
-15
8
-29
-15
-42
-18
16
-3
0
0
0
0
0
0
0
2
-3
0
-3
31
-39
-34
23
21
0
0
0
0
0
0
0
0
0
-9
10
-58
0
0
3
-9
23
-9
17
2
-1
0
0
0
1
-4
0
-24
65
-38
-12
65
3
23
4
47
-40
-21
0
0
0
0
0
-19
1
-64
-68
15
26
18
11
13
-21
-46
-4
0
0
0
0
-2
0
-28
-37
-33
35
27
35
-7
-12
10
-33
-5
0
0
0
0
0
1
-7
-26
68
54
-9
-6
-16
-8
-12
8
0
0
0
0
0
0
0
-5
-5
-16
-10
-8
27
-15
-6
0
3
0
0
0
0
0
0
0
3
7
0
1
21
-24
25
1
2
-1
0
0
0
0
0
0
0
0
1
-17
1
-55
-14
6
26
4
-1
0
0
0
0
0
0
1
1
-6
-20
16
-21
-1
-4
0
0
0
0
0
0
0
0
0
2
7
11
0
0
28
-13
17
-1
26
-6
4
0
0
0
0
0
0
29
-23
40
19
17
-21
3
17
-9
17
-5
0
0
0
0
0
-2
-8
1
-15
53
14
44
-22
15
13
15
0
0
0
0
0
0
0
-13
13
-9
5
19
-4
-9
8
-5
-1
0
0
0
0
0
0
-1
1
23
-1
65
-41
1
-12
-4
3
-5
0
0
0
0
0
0
-8
-6
17
-6
-24
8
8
-8
1
-4
2
0
0
0
0
0
0
-9
-19
20
-8
-3
13
18
62
2
0
0
0
0
0
0
0
0
2
-21
-3
12
22
-48
15
7
-1
0
0
0
0
0
0
0
0
2
-6
-14
-73
-35
-10
3
4
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
8
0
2
45
4
5
0
0
0
0
0
-3
-54
-1
-27
-2
1
-2
0
-8
8
-13
4
0
0
0
0
0
7
14
-14
20
22
0
1
-35
17
7
-5
1
0
0
0
0
0
2
-5
25
-23
36
18
9
10
19
-17
-13
2
0
0
0
0
1
9
25
-36
-19
18
-20
-2
33
-2
-2
-6
0
0
0
0
1
-4
-2
5
24
-51
9
25
-5
3
-10
3
-7
0
0
0
0
0
-8
3
-16
36
30
44
33
6
-18
1
1
-2
0
0
0
0
1
14
5
-21
10
-48
-1
-18
43
-4
0
0
0
0
0
0
0
0
0
5
-14
47
-1
-22
-74
2
-2
-1
0
0
0
23
-1
-2
1
0
42
-12
40
-3
0
-30
60
31
-20
0
33
21
-13
7
-2
69
14
1
12
27
-11
25
4
10
27
-7
2
-23
12
62
6
2
4
-23
15
5
0
1
-1
-3
0
31
-7
-1
0
1
31
34
-4
0
48
13
-1
-9
0
14
56
3
22
1
-33
20
-15
-2
-9
-65
15
2
19
-7
53
0
5
-5
2
5
0
2
-1
11
5
0
1
-1
-3
54
6
4
0
0
14
46
29
-2
0
15
14
6
-6
0
9
10
-36
18
-2
-7
3
38
-18
-9
2
23
8
14
-11
-4
-2
9
-17
-18
7
0
1
2
49
5
0
1
-1
-3
17
26
-6
-1
0
-19
-40
50
0
0
-1
3
3
-4
0
42
-14
21
2
-1
8
17
49
-44
-4
8
-1
4
3
15
3
6
7
-8
-5
12
0
-3
6
-12
4
-12
1
38
-4
41
33
-2
1
0
26
15
42
-1
0
-4
27
25
-2
0
-1
-8
-12
-11
1
-12
63
12
2
20
1
12
12
-8
9
2
-8
1
-13
-8
7
1
7
1
-11
2
4
2
-12
-4
42
25
-37
-3
0
5
53
6
-2
0
-6
35
-10
-3
0
9
-2
37
15
1
-2
62
10
-6
26
-36
16
-13
-1
13
-9
-9
3
5
-7
1
1
2
-1
0
8
13
-1
3
-5
42
25
-37
-3
0
-13
-36
16
-1
0
0
-17
26
-3
0
-18
-6
-23
5
0
-23
42
-21
-21
3
-25
25
-7
3
8
-4
1
-2
-2
-5
10
1
2
0
5
7
17
2
-1
-2
42
25
-37
-3
0
25
13
-1
0
0
5
-12
31
-3
0
8
29
38
-22
0
-7
33
-38
-1
-27
13
-17
-4
-22
32
-3
-10
-1
0
6
6
1
1
1
4
6
-9
19
0
-11
92
1
7
1
0
10
2
7
3
0
21
-18
-14
2
0
-27
-11
-39
-6
2
8
26
19
-40
-22
-5
8
45
-33
21
-7
-1
12
-15
-20
-4
0
-1
3
-3
0
0
0
0
0
4
7
4
1
0
43
-2
9
-1
0
-19
63
31
2
0
5
-9
16
-7
1
29
-12
24
25
27
19
26
9
63
-9
1
-1
-26
-4
44
5
-2
-1
-1
-1
0
0
0
0
0
4
19
-6
1
0
-3
-27
64
-2
0
3
5
35
11
0
0
-8
3
5
2
-4
6
13
4
-16
-19
7
-50
-82
-9
-75
-1
-3
21
32
-27
1
-2
2
42
0
0
0
0
0
6
-4
5
0
0
25
32
21
0
0
6
31
4
-11
0
22
43
-8
-5
1
15
48
10
32
-14
-36
-54
9
25
-31
-16
-7
-18
-27
2
3
0
8
-15
-27
-33
2
27
-8
-11
2
-22
-2
-2
0
3
17
16
1
0
2
2
7
3
0
2
7
8
2
0
4
-7
-31
10
-7
44
8
28
-39
-9
11
1
9
25
-13
-1
-1
-7
0
18
13
-15
-14
6
-5
0
0
0
0
0
35
-17
28
-7
0
1
-43
16
-1
0
-7
4
-19
-5
0
-38
-69
12
-28
-21
21
-9
-5
30
39
11
32
30
-34
8
14
-9
11
3
-13
11
-43
6
-2
2
0
0
0
0
0
26
34
7
-7
0
15
71
-6
1
0
-35
9
1
-1
0
29
-6
47
26
-17
-23
-5
34
58
-22
1
-15
-15
-16
8
8
-4
2
-4
4
-144
8
-16
10
-4
0
0
0
0
0
-1
14
31
-9
0
2
23
-5
7
0
-1
-15
-41
14
0
4
-16
49
38
26
-33
18
-35
29
-11
48
12
-42
-2
10
-21
6
4
11
2
5
2
2
-8
17
-15
12
1
0
0
18
-6
19
0
0
6
23
29
-1
0
17
-37
12
-1
0
-6
14
31
24
0
-34
-44
-18
19
-19
-2
-18
-2
2
-2
0
0
0
0
0
0
0
0
0
0
28
0
-1
-1
0
4
-13
-18
1
0
-5
-13
38
1
0
11
-14
0
3
0
-24
-5
52
3
3
-3
-36
-13
-78
-4
-10
-2
2
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-51
0
0
-1
3
14
1
0
0
0
18
-12
1
2
-3
-22
10
1
54
-55
5
41
3
16
-12
3
-12
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
-43
39
14
-2
0
19
1
-2
0
0
-25
-47
6
7
0
12
14
-34
59
24
5
35
-16
1
-15
-34
-11
11
40
-24
0
-3
6
21
26
2
27
-16
-1
5
0
0
0
0
0
0
0
-17
0
0
-2
0
10
1
0
0
0
21
4
0
1
-1
-1
-10
7
3
-5
-22
72
-26
-2
-20
3
-23
5
-3
8
3
16
10
13
-22
-5
9
5
0
0
0
0
0
0
0
0
0
0
26
18
18
-14
0
-3
6
4
11
0
11
10
8
23
10
26
-7
-10
28
-11
-30
5
-11
50
26
-2
-12
-8
-22
-24
-38
-24
-4
-6
36
0
0
0
0
0
0
0
0
0
0
-8
-9
12
-12
1
31
1
5
0
0
-36
0
12
-26
2
86
-30
29
-33
-45
15
-10
52
27
63
-84
-10
-41
-47
-16
-84
-37
20
-7
3
0
0
0
0
0
0
0
0
0
0
-2
1
21
-15
-1
0
2
-17
7
-1
-4
1
-12
25
16
-73
19
26
-43
-97
21
-6
15
-25
38
-107
0
-35
33
29
-51
54
-9
-29
20
2
-2
0
0
0
9
9
-5
0
0
-6
-5
-5
0
0
2
0
0
7
0
-4
-23
-4
2
-6
13
-10
4
-1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
-1
4
5
0
0
-11
-21
-4
0
0
3
12
-9
0
0
-21
1
-6
-5
0
23
40
-18
-51
-23
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
0
-14
0
0
0
0
-8
0
0
0
0
39
40
-26
1
28
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
1
0
6
10
0
-1
0
-7
0
10
1
0
-27
30
2
2
0
18
-4
-9
8
0
-17
-131
-92
14
-3
-21
4
12
0
46
-17
-14
-19
10
7
-66
-14
21
10
-4
2
0
0
0
0
0
-3
0
-6
0
0
0
0
-2
0
1
1
0
-1
0
0
-6
-1
15
5
-50
18
-7
34
-7
8
14
-21
25
82
23
4
-5
23
42
-96
-32
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
-11
-11
-2
27
-15
3
11
-5
-22
-42
-25
-47
-23
-21
26
29
-16
-22
7
13
-1
-17
-22
-18
-34
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
22
26
1
1
11
23
3
3
-1
17
78
-58
-56
-3
42
20
3
24
3
-78
3
-41
-58
-74
-3
-61
28
-62
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
4
1
-1
0
0
-15
-13
-8
-31
-41
19
1
3
-88
30
1
5
106
-3
-53
-5
28
23
-38
17
11
30
0
4
0
0
0
0
-2
2
0
0
-7
0
1
0
0
0
4
-1
-2
0
-18
-21
-7
24
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
6
-4
-1
0
0
-4
2
0
0
0
4
-31
0
0
0
58
14
-26
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
1
0
0
-9
19
-31
-7
-4
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
28
-17
0
0
0
-13
2
3
0
0
-4
11
-1
0
0
-42
-53
-7
-2
5
27
-4
-19
-21
10
16
-15
92
66
6
-103
-31
0
59
-6
15
9
5
13
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
-28
-5
-10
-6
-47
15
15
-51
-31
24
-2
-40
5
16
-27
-6
-16
-57
-8
-16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
27
-24
25
-6
-44
-43
68
-118
-37
75
6
-33
-47
-5
91
-15
-12
4
-41
41
-43
10
13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-40
-30
21
15
-48
-63
-35
-45
19
-10
13
62
-66
-41
84
42
-1
-12
-72
-53
-59
47
-56
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
14
0
1
-1
40
53
33
35
-27
-70
31
-19
-44
-70
-24
-34
-6
29
-29
0
-6
-54
-9
2
0
-1
0
0
1
0
0
0
0
2
-5
-6
0
0
-28
30
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
-7
-2
0
0
0
-27
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
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
-5
7
0
0
0
9
0
0
0
0
9
3
0
0
0
2
-4
-1
0
0
2
19
-14
-14
0
5
-22
80
-60
0
-5
-76
16
26
0
-1
-11
30
31
0
27
-2
-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
-10
0
-11
1
-10
-87
0
-5
84
36
-15
0
-113
0
-44
39
0
-80
-30
-40
-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
28
-16
64
33
0
-17
8
26
34
0
-8
-20
-2
-7
0
22
129
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
-58
-33
-7
25
22
14
33
46
32
-8
-31
-81
-23
6
12
35
-67
7
-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
-52
8
-24
27
0
17
62
48
36
0
44
-15
66
-5
0
31
-13
-6
-32
0
0
0
-1
0
0
-2
-1
0
0
0
-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
-1
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
-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
14
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
6
2
0
0
-15
-5
0
0
0
-1
-20
-39
0
0
16
-26
-85
0
0
-8
30
-5
0
0
-72
0
31
0
0
0
0
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
-15
0
0
-12
-71
78
0
0
-70
5
11
0
0
7
-77
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
27
76
-93
0
0
-93
-25
27
0
0
-31
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
-1
-39
31
23
-47
-22
-52
58
-19
45
31
-5
107
-48
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
-13
124
38
0
0
-51
-14
-11
0
0
-40
-4
15
0
0
-1
-3
0
0
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
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
-1
0
0
0
0
0
-9
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
-4
0
0
0
-2
46
0
0
0
64
-30
0
0
0
8
16
0
0
0
-43
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
20
133
0
0
0
41
16
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
-51
-64
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
47
-73
33
0
-67
-4
41
67
-41
-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
44
-29
0
0
0
-28
-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
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
11
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
-9
0
0
0
0
-48
0
0
0
0
-69
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
-4
0
0
0
0
32
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
-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
24
-84
-54
-27
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
36
-27
-99
84
-11
22
-4
-5
-48
25
-17
57
38
20
-26
2
31
-10
-12
24
-20
11
-13
-14
24
-7
0
-11
11
4
-20
-14
-12
-8
14
0
2
-7
16
29
-2
-7
-2
-1
-2
64
24
-2
-18
6
8
1
21
-4
-12
63
24
37
-24
-9
22
-5
7
35
43
-8
-1
7
17
27
-4
6
21
24
-3
29
-4
-13
15
9
-2
0
-13
-3
7
-2
-7
-2
-1
-2
91
23
86
-43
-5
1
43
35
47
-1
9
1
-27
-24
41
5
-17
4
65
15
-3
13
-16
4
-10
4
-4
13
-5
-3
-1
-12
5
6
12
9
3
4
-6
54
-2
-7
-2
-1
-2
48
50
0
16
-1
37
3
9
-16
-23
5
14
-19
30
-9
24
-8
42
-8
45
5
20
23
-15
-20
-7
13
4
12
13
-4
4
-6
-2
-12
12
5
5
5
13
3
-25
-9
-21
6
63
19
-11
36
6
-4
82
-13
-52
-8
-8
30
13
12
9
1
7
27
-5
28
-4
31
-6
32
-2
2
14
14
10
3
1
0
-4
1
-15
0
-1
3
3
3
4
-7
1
0
-5
26
12
2
9
1
4
8
4
-5
-7
14
40
3
19
43
17
50
9
34
11
31
5
37
-1
6
-11
31
3
4
18
-10
0
-1
-1
-3
11
5
3
0
3
7
13
-7
-15
-12
26
12
2
9
1
31
45
25
13
2
18
48
18
1
-38
-6
14
26
26
-35
-10
30
2
22
34
5
23
9
-1
9
3
4
-1
-4
6
12
0
8
1
8
5
16
2
7
12
26
12
2
9
1
19
56
31
-33
8
-3
36
-16
26
21
9
23
38
-32
5
-7
21
-8
10
24
6
18
-4
12
11
4
-7
-8
-7
-7
11
1
-2
5
-1
-1
-7
13
-4
16
-16
67
78
-70
1
52
-20
40
28
10
40
-4
-36
-1
-24
-27
30
-40
15
34
43
15
-20
-26
37
3
5
-7
18
8
-14
9
6
-3
28
3
1
5
2
4
0
0
0
0
0
36
-28
30
-3
-1
36
-13
78
-31
0
3
-25
26
14
-4
-18
23
19
14
24
20
6
16
30
-5
-26
34
-5
13
34
-2
5
-2
31
27
8
-1
-2
0
-2
0
0
0
0
0
13
2
-46
-8
4
-2
-16
20
-33
-29
5
25
66
49
36
-45
10
-9
24
-30
-19
-9
19
-1
-41
-18
22
-41
-5
-14
4
-5
-9
3
35
-42
1
0
0
-7
0
0
0
0
0
54
5
110
-10
7
25
7
-7
10
-3
1
36
2
-44
-13
13
30
-58
-32
11
72
11
15
33
73
-12
4
25
11
11
-22
-1
5
7
4
29
2
11
35
13
-19
-9
7
-13
-21
-5
-33
11
-51
2
-6
-22
13
26
-65
-1
-22
25
-7
9
-58
30
-54
56
9
36
-8
32
-17
72
6
1
-12
38
-30
-1
3
-12
15
32
-6
2
-10
24
6
-5
13
5
10
-2
0
0
0
0
0
12
4
10
5
5
0
-34
16
0
-27
-15
4
0
11
-45
-22
14
-44
15
16
33
-1
-24
9
23
30
-10
3
-20
21
0
2
0
24
18
60
-5
9
12
-10
0
0
0
0
0
-1
-12
5
-9
2
44
45
3
-2
-40
-60
22
29
-32
13
46
6
36
20
-28
33
32
32
14
27
6
17
11
19
12
14
15
1
-2
3
3
-7
10
-2
-1
0
0
0
0
0
-11
-20
-9
9
-34
-13
23
22
26
-13
69
-4
-41
15
70
26
-5
29
47
-11
-28
-1
3
-11
-34
1
17
3
-5
-8
43
10
20
30
-3
24
2
1
11
-7
16
24
17
-22
0
-12
43
55
-45
7
-83
80
-5
5
2
16
2
10
22
21
36
-32
0
99
-27
-46
-13
15
10
19
8
4
1
-3
-9
0
0
0
0
0
0
0
0
0
0
15
21
-11
-12
-8
0
65
-46
30
-10
-9
16
-19
-62
20
56
-13
41
-13
-39
-22
43
2
34
46
10
-12
-23
-30
1
-12
-11
7
-13
-10
0
0
0
0
0
0
0
0
0
0
-9
13
-21
55
7
6
-5
-28
-11
-8
3
2
-2
21
-37
21
17
-8
-31
21
-23
55
-30
11
30
4
-28
8
19
6
-15
-6
17
-5
-8
0
0
0
0
0
0
0
0
0
0
3
8
-83
4
-3
-70
104
1
65
1
70
-84
17
41
6
11
-19
-30
-4
-57
-43
83
-15
-2
-56
20
7
-18
4
13
-4
-16
-2
8
70
-13
12
-2
9
46
60
34
7
35
-21
-5
-1
37
-5
1
-1
3
-9
4
4
13
12
-45
-18
20
22
-33
-15
-19
-69
-2
69
-23
-38
-42
17
-80
-19
25
-40
11
15
6
23
14
-37
6
6
10
36
-13
52
14
0
10
0
0
0
0
0
0
0
0
0
0
5
19
-1
4
-5
5
6
25
-5
29
-55
15
-30
12
17
-24
-28
-12
-13
-31
14
-25
-10
-3
-1
-20
-4
1
35
1
5
5
-8
-10
-1
0
0
0
0
0
0
0
0
0
0
-37
-7
-2
20
46
14
6
-24
-23
13
-80
-5
3
-89
32
3
-17
-9
-19
-3
8
-16
6
5
19
-43
-59
-8
-18
6
-13
-11
7
-11
13
0
0
0
0
0
0
0
0
0
0
-31
-16
-17
-31
-7
-7
21
-1
52
-5
-69
-1
-13
-50
34
-42
62
-5
-8
-103
-12
-32
8
21
13
19
-28
10
3
-15
-5
34
-7
-2
56
4
2
8
-8
0
58
0
-24
-45
-9
-41
-21
-38
-37
27
30
-50
12
-44
-18
19
30
38
12
-33
-14
0
-3
-6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
63
28
1
4
-64
23
-50
25
5
-34
8
52
95
11
-23
-11
-27
-51
-4
-131
-24
-5
36
-15
4
-9
-12
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
0
14
0
0
6
-11
9
4
-5
-5
1
-41
-32
6
5
1
-20
-1
-6
-34
-36
17
54
-11
-21
-43
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-26
26
-3
-3
76
22
9
23
3
-68
66
25
11
-12
2
-11
42
-20
15
6
-42
-42
6
-31
42
6
-56
-29
-2
0
-40
8
19
11
2
-5
-1
-2
12
-58
18
21
8
-29
5
23
0
16
-4
-2
3
2
38
-2
5
19
-17
38
-11
9
-6
60
-6
61
-18
-8
-4
9
56
-5
5
15
11
76
-44
14
43
-17
-29
-22
-6
-54
-1
41
-49
49
-31
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-26
-29
-33
35
-35
-73
35
-25
-57
34
-2
70
-26
-53
22
-63
16
19
-1
-51
-37
-5
9
9
29
7
-1
14
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-4
-27
-7
28
79
-4
-18
4
-50
3
-66
-46
-12
-23
-49
-16
-1
21
27
21
-76
-19
-16
-33
-6
-7
-3
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
-20
-21
-6
-9
-19
10
44
-4
11
-70
3
-90
36
13
-13
-18
-21
-7
16
16
-50
17
-11
30
2
1
-2
6
-12
3
-5
1
0
1
-35
-102
9
-6
-5
-6
-24
40
1
-18
-21
-5
74
7
-33
-34
-12
21
-5
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-9
4
0
45
-52
-5
-3
5
-13
-15
-22
-5
0
49
6
-65
11
-9
49
36
-36
-59
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
-5
-2
0
0
0
17
3
3
-1
0
-37
-5
-1
26
-18
59
29
84
31
86
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-37
-13
5
0
-47
-89
41
-4
18
-117
-6
38
-7
4
-33
41
-14
22
3
-39
-116
61
11
15
17
52
6
-70
-27
-77
4
33
18
-17
62
16
-17
1
0
22
41
-15
13
-19
-3
10
0
0
0
-2
-16
0
0
45
-5
-3
0
-1
-26
-15
-12
-6
-21
-37
-93
-27
-60
36
-8
-65
-50
-62
-50
13
-21
46
-15
-105
18
3
-10
-48
-6
-15
47
47
29
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
2
37
3
34
-37
-41
0
-4
-1
29
2
-3
74
-17
-70
-29
10
4
27
1
5
-34
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-32
-1
46
35
-24
-97
-8
-31
-51
-3
-12
-23
-71
-4
-147
-51
13
-26
32
51
-20
-43
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-10
-12
-26
-53
-20
-119
-4
-41
46
1
-110
3
-19
4
-77
-1
-16
-24
31
-8
-48
-62
-17
-8
-4
10
-9
2
0
9
-3
-1
43
0
32
43
-1
-6
0
-4
-35
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
4
3
-5
0
0
2
1
2
2
0
-9
-9
-17
0
0
-85
-16
-40
-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
-1
0
0
0
0
0
11
18
0
-2
40
-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
-6
-99
2
-2
0
-70
-14
4
-9
0
32
8
-3
9
0
-12
-5
-6
57
0
-99
-64
-17
88
0
-63
18
-38
-13
0
52
82
19
25
0
-20
-13
-16
2
0
-5
9
19
-10
0
0
-2
0
0
0
18
0
0
-2
0
0
0
1
0
0
0
4
0
-10
0
15
45
42
73
0
-58
-33
65
-64
0
-72
33
81
-36
0
-85
48
42
3
0
63
-35
28
14
0
0
0
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
3
38
0
21
-42
-39
-1
0
-47
-15
16
36
0
65
-45
-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
-76
-59
-19
21
-18
58
-12
0
17
34
-18
-55
-48
-11
77
9
55
36
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
-30
-4
7
-2
0
29
2
-10
39
0
-31
-43
-27
1
0
-50
-52
50
2
0
0
7
-16
0
0
-5
12
-70
0
0
20
-100
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-26
86
-30
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
-1
0
0
0
-7
1
0
0
-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
-51
13
-15
0
0
-7
6
4
0
0
3
-1
13
0
0
-5
46
37
0
0
71
-7
-44
0
0
-96
-61
-2
0
0
45
8
37
0
0
19
47
-4
0
0
64
10
9
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-5
0
0
-10
-5
-42
0
0
-17
21
44
0
0
12
3
13
0
0
-30
60
-6
0
0
27
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
-36
-5
-39
0
0
60
-15
-51
0
0
11
-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
-39
-35
-16
-30
-8
3
-23
22
-25
-7
-4
-22
123
-10
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
-3
-87
-12
0
0
43
-35
8
0
0
-149
8
0
0
0
0
-18
0
0
0
-19
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
12
0
0
0
9
6
-10
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
-25
0
0
0
1
-4
0
0
0
-25
-44
0
0
0
-7
57
0
0
0
57
-21
0
0
0
47
63
0
0
0
-20
5
0
0
0
105
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
-41
0
0
0
-1
-9
0
0
0
97
73
0
0
0
55
6
0
0
0
55
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
-19
2
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
-85
-50
-6
3
17
2
23
32
93
-16
0
0
0
0
0
0
0
0
0
0
0
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
-63
0
0
0
-30
-64
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
15
0
0
0
0
3
0
0
0
0
1
0
0
0
0
48
0
0
0
0
20
0
0
0
0
-13
0
0
0
0
-20
0
0
0
0
32
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
14
0
0
0
0
41
0
0
0
0
16
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
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
50
0
0
0
0
38
-39
-90
86
-11
17
17
1
-45
25
-10
41
38
22
-21
-9
27
-1
-14
21
-25
-4
-6
-10
20
-6
-2
-28
7
0
-13
-7
-5
-12
7
1
6
-10
17
42
0
-5
-2
0
-2
72
21
-2
-24
6
3
4
27
-7
-17
68
15
31
-28
-8
22
-21
18
46
47
-1
7
8
34
21
2
13
18
17
-11
21
-5
-14
13
18
0
1
5
-6
10
0
-5
-2
0
-2
86
21
84
-48
-5
-5
32
33
44
-1
8
-2
-32
-25
39
-2
-11
11
55
14
-2
20
-22
1
-3
5
-15
12
11
0
-4
-9
4
7
31
6
4
6
-11
48
0
-5
-2
0
-2
52
56
7
16
-1
42
6
17
-22
-22
19
14
-25
30
-8
15
10
45
-12
41
-7
23
3
-10
-15
-10
2
9
13
13
-6
5
-9
1
-6
10
4
16
7
18
6
-13
-8
-21
-1
61
22
-14
33
6
1
84
-24
-61
-11
-5
32
12
12
11
1
22
21
10
24
-5
30
-16
24
-17
2
7
0
9
10
-1
-1
-7
10
-14
-2
-2
12
10
10
5
-5
2
12
-16
17
4
6
6
6
6
5
3
-6
-11
3
41
-1
28
45
13
48
0
31
6
24
1
33
1
3
-7
25
-5
16
21
-10
4
-4
1
-1
17
2
1
-2
7
9
9
-1
-1
-15
17
4
6
6
6
36
48
25
19
1
15
63
2
3
-43
2
7
41
20
-48
-15
23
-9
26
29
6
25
7
8
6
5
3
4
-4
8
10
1
1
-1
3
9
6
-2
12
20
17
4
6
6
6
14
51
37
-31
6
-3
46
-13
31
21
5
25
35
-19
14
-4
8
-14
21
14
1
28
0
6
0
6
-3
-3
-10
-17
7
-1
0
-3
4
3
-24
26
-10
29
-32
76
73
-73
1
56
-26
34
23
10
46
0
-38
-9
-25
-31
29
-30
9
34
37
18
-30
-13
38
-1
4
14
18
-4
-17
-8
-14
-1
19
-3
2
3
2
0
0
0
0
0
0
39
-28
33
-1
1
32
-16
77
-30
-3
6
-31
20
12
-7
-9
17
16
18
20
12
0
22
28
-1
-34
32
-12
18
36
-3
8
14
34
13
4
0
-6
2
-5
0
0
0
0
0
13
-5
-44
-10
5
-2
1
10
-31
-33
7
28
61
41
34
-45
9
-11
33
-30
-24
-20
15
6
-44
-11
24
-37
3
-15
-2
-8
-5
0
31
-35
1
0
1
-3
0
0
0
0
0
58
1
107
-14
7
39
1
-5
10
-10
4
25
7
-42
-12
10
-1
-54
-26
14
86
5
18
32
73
-10
-7
15
5
8
-26
-6
11
19
-6
38
1
15
51
12
-29
-20
-3
-8
-17
-5
-51
16
-49
2
-6
-24
14
29
-62
-1
-31
20
-9
9
-69
18
-44
54
15
26
-18
39
-9
78
8
7
-15
45
-38
8
13
-19
21
17
2
2
-9
20
-6
-22
20
11
2
22
0
0
0
0
0
5
11
18
-3
0
3
-37
15
-7
-28
-20
-2
8
19
-43
-16
31
-46
17
18
16
-5
-16
4
19
27
-7
-1
-17
23
-26
3
11
39
17
56
-10
0
-5
4
0
0
0
0
0
-8
-12
11
-20
-10
47
21
6
-2
-38
-68
20
29
-31
18
46
7
40
16
-26
41
35
17
-1
31
-1
34
18
16
12
16
7
8
1
9
11
-13
19
-3
-2
0
0
0
0
0
-16
-13
-6
2
-38
-14
10
29
26
-15
61
-3
-30
7
61
20
2
21
36
-9
-26
-9
9
-8
-32
11
16
8
3
4
56
11
25
29
-3
42
6
-8
14
-13
23
19
15
-27
0
-9
45
61
-49
7
-87
84
-13
6
2
19
-1
8
27
23
43
-37
-1
88
-27
-50
-10
17
23
21
-3
6
7
2
-3
0
0
0
0
0
0
0
0
0
0
-2
27
-9
-14
-8
1
62
-36
30
-11
-12
18
-17
-60
22
54
0
33
-22
-40
-14
47
-2
30
41
14
-9
-15
-14
0
-4
-12
3
-12
-7
0
0
0
0
0
0
0
0
0
0
-9
13
-16
56
7
6
-5
-7
-16
-8
3
2
-1
22
-37
22
18
-6
-28
23
-22
56
-29
9
33
6
-22
9
4
4
-7
0
12
1
-13
0
0
0
0
0
0
0
0
0
0
-3
1
-80
3
-3
-73
109
-1
61
0
60
-86
10
40
9
10
-14
-20
-9
-57
-44
80
-11
-8
-61
29
24
-26
1
12
-4
-19
0
-4
86
-26
11
-2
22
45
34
25
9
45
-30
-5
-1
44
-8
1
-1
3
10
5
4
13
14
-46
-20
22
24
-36
-12
-23
-71
6
69
-20
-29
-47
19
-78
3
14
-36
28
17
9
14
29
-25
-7
3
-1
34
-9
57
13
12
17
0
0
0
0
0
0
0
0
0
0
17
16
-2
2
-6
4
5
28
-10
25
-50
-3
-36
21
18
-10
-29
-21
-17
-32
-2
-37
4
-10
-6
-10
-18
2
23
14
-7
29
2
5
-17
0
0
0
0
0
0
0
0
0
0
-37
-5
4
21
49
9
20
-21
-21
15
-60
0
-1
-79
29
7
-7
-3
-16
-2
15
-20
-4
-7
12
-43
-42
-4
-3
20
-14
-18
17
-12
-4
0
0
0
0
0
0
0
0
0
0
-29
-16
-31
-32
-7
-7
19
4
43
-5
-63
1
-9
-59
34
-24
56
-15
4
-93
-13
-36
-1
25
6
33
-34
10
12
-14
-2
42
-11
2
48
6
2
8
-8
0
57
-3
-19
-40
-9
-44
-18
-38
-34
24
24
-49
17
-42
-21
19
32
39
10
-36
-5
0
-7
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
58
31
1
4
-68
23
-55
24
5
-33
10
53
95
12
-21
-7
-23
-56
-2
-143
-31
-7
35
-13
7
-29
-16
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
0
13
0
0
6
-11
7
3
-5
-5
1
-26
-30
6
4
1
-18
-1
-6
-35
-39
26
48
-11
-13
-60
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-28
27
-7
-3
73
27
4
30
3
-66
70
28
9
-17
2
-11
33
-17
18
8
-42
-32
4
-32
48
16
-38
-19
2
1
-20
5
20
8
7
9
-14
0
1
-52
15
32
0
-21
5
23
0
16
-4
-2
3
2
35
-2
5
20
-17
46
-12
9
-7
61
-7
61
-17
-6
-7
21
59
-1
1
6
-2
71
-47
15
52
-14
-28
-11
-21
-66
9
43
-56
51
-42
12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-26
-16
-29
41
-37
-71
36
-26
-59
36
-16
75
-13
-55
37
-56
6
19
1
-65
-35
-11
12
-8
38
-6
8
27
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-15
-33
-3
31
68
-12
-26
-1
-51
-1
-84
-38
1
-9
-52
-23
-11
43
31
28
-78
-35
-28
-35
4
1
11
23
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-23
-22
-3
-11
-13
11
47
5
8
-69
-2
-98
35
14
-20
-1
-27
-9
16
-4
-66
23
-5
35
-11
0
1
23
-16
3
-6
1
0
1
-35
-103
9
-6
-5
-10
-25
38
1
-19
-21
-5
64
13
-31
-25
-6
9
-3
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-9
4
0
48
-51
-2
-3
5
-13
-14
-21
-5
0
38
8
-67
12
-9
56
33
-47
-64
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
-5
-2
0
0
0
18
3
3
-1
0
-37
-5
-1
23
-24
55
30
77
37
82
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
-13
5
0
-54
-89
41
-4
18
-121
-5
36
-8
4
-34
39
-15
26
2
-41
-106
64
16
14
14
66
9
-59
-34
-74
-4
31
15
-13
58
22
-12
0
6
22
34
-17
15
-7
-3
10
0
0
0
-2
-16
0
0
34
-5
-3
0
-1
-27
-15
-13
-6
-22
-40
-90
-28
-65
36
-2
-64
-49
-65
-44
13
-30
43
-19
-106
3
-14
6
-83
-5
-7
49
63
48
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
38
-5
32
-30
-33
9
-7
2
37
2
5
78
-5
-80
-10
30
0
26
17
2
-51
-28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-29
-2
51
39
-21
-108
-2
-31
-51
10
-1
-27
-62
-16
-165
-49
22
-30
22
55
-16
-61
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
-7
-17
-50
-23
-120
-4
-47
43
-1
-111
10
-13
18
-76
40
-32
-37
8
-20
-43
-59
-16
-5
-4
10
-9
2
0
9
-3
-1
43
0
32
45
0
-3
0
5
-37
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
4
3
-5
0
0
2
1
2
2
0
-9
-2
-17
0
0
-89
-20
-35
-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
-1
0
0
0
0
0
13
19
0
-1
34
-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
-6
-109
2
-2
0
-76
-13
4
-9
0
36
10
-3
7
0
-14
-7
-3
58
0
-102
-71
-17
96
0
-66
17
-45
-11
0
61
90
8
17
0
-29
3
-10
-23
0
-3
7
12
-23
0
0
-2
0
0
0
18
0
0
-3
0
0
0
1
0
0
0
4
-2
-11
0
17
48
39
64
0
-54
-34
68
-48
0
-79
29
80
-38
0
-89
50
67
-10
0
61
-43
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
-6
10
-12
32
0
35
-37
-38
6
0
-52
-14
16
40
0
66
-53
-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
-76
-56
-27
19
-24
61
-29
2
15
38
-12
-60
-51
-16
72
-5
64
42
13
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
-25
1
3
2
0
25
0
-23
23
0
-33
-61
-34
0
0
-39
-55
53
-6
0
0
7
-16
0
0
-5
8
-70
0
0
20
-95
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-36
88
-30
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
-1
0
0
0
-7
1
0
0
-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
-55
14
-15
0
0
-7
6
6
0
0
3
-1
13
0
0
-5
48
34
0
0
80
-8
-49
0
0
-99
-56
2
0
0
43
-6
48
0
0
18
40
-12
0
0
89
20
20
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-2
0
0
-12
-5
-38
0
0
-17
23
40
0
0
5
-1
15
0
0
-27
65
-2
0
0
45
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
-35
-8
-46
0
0
76
-30
-48
0
0
21
-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
0
0
0
0
0
0
-45
-29
-26
-26
0
10
-30
21
-22
-8
-12
-19
122
-12
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
-7
-89
-13
0
0
52
-35
20
0
0
-144
8
17
0
0
0
-18
0
0
0
-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
12
0
0
0
9
6
-13
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
-26
0
0
0
1
-4
0
0
0
-25
-44
0
0
0
-8
58
0
0
0
56
-32
0
0
0
45
67
0
0
0
-14
6
0
0
0
117
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
-34
0
0
0
-5
-13
0
0
0
99
58
0
0
0
51
15
0
0
0
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
-22
19
0
0
0
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
-102
-45
5
14
26
6
28
25
94
-10
0
0
0
0
0
0
0
0
0
0
0
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
-80
0
0
0
-50
-57
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
15
0
0
0
0
3
0
0
0
0
1
0
0
0
0
55
0
0
0
0
20
0
0
0
0
-9
0
0
0
0
-2
0
0
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
0
0
21
0
0
0
0
13
0
0
0
0
47
0
0
0
0
20
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
-3
-6
-8
-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
41
0
0
0
0
32
-9
-4
40
-8
-21
49
-16
25
24
-26
11
-27
21
12
10
-22
27
-16
-30
21
-4
11
34
12
-9
26
-23
-44
-6
16
67
9
-55
19
-13
21
-7
-36
24
9
-3
-5
-1
-6
-7
3
1
-3
3
17
27
24
1
-22
-22
15
11
-28
8
-16
-2
4
62
55
-39
2
-7
32
-1
-7
24
23
-12
-19
37
1
8
-4
10
0
9
-4
25
-76
9
-3
-5
-1
-6
21
-19
9
-16
-4
4
1
6
3
-8
12
12
1
-5
7
-15
-41
-8
26
-17
-18
25
-19
33
-10
8
-39
24
-17
-8
-9
-11
-59
-11
52
8
-13
25
38
-11
9
-3
-5
-1
-6
24
49
23
-3
4
14
-32
-13
-6
8
18
8
28
9
-5
-8
14
22
2
17
-19
6
-35
14
9
6
0
17
14
-8
-3
13
17
-2
-13
5
-6
0
15
-3
2
47
-38
41
7
5
39
8
-4
-2
30
17
-32
-16
3
25
24
-8
2
-13
14
53
-69
-4
3
-4
-23
14
11
-22
-2
-7
-27
1
32
7
-35
8
-9
8
-12
-4
16
8
-2
20
2
-1
-5
17
5
-2
19
2
-12
-21
19
12
-4
-12
-40
-16
-44
95
34
58
-40
5
-5
-8
-6
20
7
8
30
0
31
-3
49
-21
-3
4
0
7
-15
22
-8
11
-21
11
33
9
-29
58
0
5
-2
19
2
-12
9
26
11
20
0
15
22
-23
11
-52
-15
8
17
10
-33
1
24
-14
5
30
8
33
-16
7
-6
-7
-4
10
8
-18
10
-3
-18
-2
32
24
-43
-9
0
-6
5
-2
19
2
-12
13
5
-33
-17
2
32
16
-18
7
9
15
36
-37
44
3
-3
-15
-35
46
-28
-10
55
-18
-38
-5
-5
-12
-4
-15
-26
-9
-19
10
-23
30
-9
46
22
-23
32
7
3
19
-12
0
49
-36
5
-37
-4
9
-41
-13
-4
-4
-14
4
25
-21
5
20
9
-5
41
17
-9
-20
16
-37
-1
51
-12
-29
41
7
15
-9
5
1
8
0
0
0
0
0
16
10
23
13
-3
9
-20
-2
-7
-3
20
8
-18
27
10
9
-47
0
41
-19
14
8
96
-11
-10
1
17
8
62
46
3
2
10
13
-23
3
-11
1
-2
13
0
0
0
0
0
-1
-19
14
-12
3
-1
1
-50
-35
-13
-1
-7
27
-41
14
1
11
-44
14
6
8
-8
-7
-7
-5
14
4
-27
56
13
-13
-2
16
-22
6
-10
12
3
-4
6
0
0
0
0
0
6
-41
-2
7
3
-19
22
16
-8
-32
14
-50
-40
22
8
-11
-72
-3
-11
12
-18
-14
31
6
37
-7
1
-6
-6
12
-41
-15
22
-15
-8
60
12
60
12
-11
-79
-71
13
11
-2
3
-38
14
-17
3
-2
-21
-13
-2
9
0
-23
-12
8
18
-58
10
-3
9
40
3
15
-9
3
13
19
32
8
-9
-13
53
35
1
54
20
60
0
24
-5
-26
0
26
65
-14
46
0
0
0
0
0
22
-16
-4
8
7
25
33
-23
-24
0
-109
21
16
22
-8
4
11
18
13
13
-33
-25
12
-38
-1
5
7
-43
-28
15
-47
8
23
22
-21
-31
-60
-42
-31
-4
0
0
0
0
0
-5
-6
-2
-8
-21
-19
-33
-6
14
-22
-32
-6
59
-6
-13
-19
-8
-10
-4
-23
39
35
-20
-3
-17
23
36
0
-17
-34
6
3
33
-11
-28
-45
12
-2
-9
90
0
0
0
0
0
-6
-8
27
11
-9
-5
4
32
35
-31
9
-6
19
-25
7
35
9
7
-33
5
45
-26
19
20
-5
38
-1
19
18
27
57
25
38
-44
1
89
0
2
58
7
-4
2
-28
-8
-2
-12
0
32
-50
-2
-1
27
-16
6
11
40
24
-51
26
24
-42
41
4
-26
-1
-28
36
43
-24
0
-39
-21
13
-7
-7
0
0
0
0
0
0
0
0
0
0
3
13
-4
1
-6
-29
-9
14
31
0
18
-5
25
-33
17
-4
55
-45
-25
-15
-25
18
-9
5
-6
7
9
12
24
-19
-9
-22
-2
-12
13
0
0
0
0
0
0
0
0
0
0
0
2
-20
-2
2
0
0
39
9
-6
-1
-5
-22
42
-9
23
2
46
-2
11
29
6
18
-24
47
2
34
-8
4
-24
22
9
-4
24
-23
0
0
0
0
0
0
0
0
0
0
-1
-4
2
1
-4
-7
15
30
-31
-1
-5
12
-21
15
-1
21
29
-45
-15
-53
18
21
-20
-64
-45
5
6
-40
-23
-37
2
-8
28
-11
51
-110
-4
6
-32
18
41
23
3
3
20
0
0
10
6
1
-1
3
21
21
3
0
0
8
2
-14
18
-5
36
-17
14
8
-13
19
-38
-8
-15
-28
35
-21
-28
1
38
-11
-46
-3
66
-57
0
-31
15
-54
9
55
64
66
0
0
0
0
0
0
0
0
0
0
28
-6
33
-25
-23
-28
-8
-11
-19
21
38
-29
-48
51
-29
-15
-8
-49
-81
9
-53
-52
6
-25
-29
20
-15
-34
22
13
-54
33
42
7
-42
0
0
0
0
0
0
0
0
0
0
28
13
9
5
49
10
66
-18
0
-3
49
-40
35
-31
51
4
-8
10
29
29
44
-73
40
-30
3
31
94
-41
-27
-3
-66
-1
-39
80
10
0
0
0
0
0
0
0
0
0
0
-13
-2
-37
-17
11
-7
-16
36
13
-34
2
-21
14
-76
46
81
19
-36
37
29
27
-16
-4
-18
7
-78
1
-10
45
-8
98
-15
-22
37
7
-2
-1
0
-4
0
1
-8
2
35
0
28
15
3
30
-23
-26
-4
6
-27
-13
-15
41
22
1
-29
14
-1
-30
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-1
1
-2
-13
-10
-7
0
-4
-27
-19
30
2
40
9
-3
-121
9
3
-7
-41
22
-3
-23
-33
-16
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
1
-5
-9
1
0
-1
0
41
17
1
1
9
1
-1
-4
-4
-21
-15
40
-12
24
-15
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-3
-6
5
22
-21
36
5
-2
33
3
-9
-6
15
24
-23
13
15
0
53
-6
-23
-6
17
-18
68
-6
15
15
-29
-49
-27
-15
16
16
-28
24
6
74
-51
47
9
-43
0
0
0
4
-5
0
0
5
-4
-2
2
4
-1
47
12
-2
-2
-3
45
21
1
-10
-45
43
42
6
38
-19
-14
9
-12
10
60
-11
49
9
-6
37
-6
-36
34
3
-12
61
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-41
9
8
-20
39
-6
-14
-11
37
-99
13
54
-52
62
-15
-22
29
-10
-82
-2
-205
43
43
-9
12
46
82
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-47
-28
23
19
26
-6
-8
-14
-12
-11
-17
31
-7
-23
-18
34
-76
43
42
12
-26
3
-47
-4
31
26
-10
50
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-32
-18
-37
8
5
-15
14
6
-4
-68
-41
-23
-21
-14
-40
47
-69
52
-22
-35
-6
-34
22
-45
12
-4
9
18
-15
0
0
0
0
2
5
-1
1
-1
0
3
0
0
0
-25
-1
-4
-9
45
0
40
-41
-18
-85
22
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
3
6
-5
-4
3
-3
0
-46
7
-21
4
-3
30
-36
-29
-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
-3
0
0
0
0
12
0
1
0
0
-32
-1
0
-9
-31
-2
-19
-31
-14
4
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
1
0
4
-4
2
0
-2
-13
4
16
0
1
-27
-4
-21
16
-35
-9
39
50
27
1
-28
31
-37
32
-3
30
-7
21
19
13
-64
-31
53
-1
2
16
24
56
40
62
0
0
0
0
-1
0
2
0
0
-44
-1
-1
0
-1
-5
-1
0
1
-24
-86
-15
5
-25
0
16
2
-38
-10
-2
-44
-71
-30
-16
-64
-95
-34
9
-41
7
41
18
3
25
-30
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-24
26
-52
4
35
40
68
14
1
75
-5
-1
-25
28
-47
9
129
-71
-38
-106
41
41
-57
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
22
37
60
6
-11
-86
66
-7
-21
-20
21
21
56
-1
-94
2
-21
-39
-43
36
-6
90
63
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
10
15
-13
-16
-11
1
-74
7
-18
11
16
32
48
-20
54
-84
-33
-21
3
-14
38
10
-2
0
3
-1
0
0
0
0
0
3
0
0
3
37
-28
0
-14
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
-3
0
0
0
1
0
2
0
0
-4
9
-1
0
0
-38
-39
30
-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
2
-2
0
-5
-15
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
1
-1
2
0
0
-11
-5
2
10
0
0
4
1
0
0
8
1
44
4
0
-34
-18
15
22
0
-32
-20
-53
-8
0
52
-2
-1
23
0
-62
4
-11
-60
0
50
23
-20
-50
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
1
0
8
25
6
-17
0
18
6
-45
43
0
-72
10
-6
71
0
-85
75
-13
-52
0
-20
13
-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
-36
5
-59
-28
0
23
2
55
97
0
-33
-17
-26
-78
0
-8
29
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
-49
-86
-60
-37
-31
-10
-75
-26
-18
33
10
-100
-86
-66
-48
-7
48
46
-39
12
0
0
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
44
-15
0
-41
-46
-21
-5
0
-35
16
-49
-16
0
8
-13
11
-45
0
0
0
2
0
0
0
-1
-7
0
0
-21
-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
-1
1
0
0
0
-5
-26
-23
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
-2
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
-2
2
-2
0
0
0
0
-3
0
0
-1
-3
-1
0
0
0
1
-9
0
0
14
-5
-37
0
0
-38
-33
-34
0
0
8
-11
-28
0
0
-6
65
-54
0
0
40
18
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
-12
-2
0
0
0
-3
-24
-7
0
0
-15
-13
5
0
0
36
45
-55
0
0
14
44
-172
0
0
0
0
0
0
0
0
0
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
23
0
0
2
-62
16
0
0
45
-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
0
0
0
0
0
0
0
-33
-18
-52
18
45
-10
-94
-13
55
1
8
-13
18
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
-1
55
52
0
0
12
47
-48
0
0
28
4
55
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-4
0
0
0
0
2
0
0
0
20
11
0
0
0
-17
10
0
0
0
73
-32
0
0
0
-16
-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
38
0
0
0
-13
-54
0
0
0
10
-21
0
0
0
-30
31
0
0
0
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
-16
46
0
0
0
91
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
-20
-67
23
160
30
-1
-1
-21
17
-26
0
0
0
0
0
0
0
0
0
0
0
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
-80
0
0
0
-101
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
12
0
0
0
0
-3
0
0
0
0
-48
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
11
0
0
0
0
0
0
0
0
0
54
0
0
0
0
-54
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
27
32
-99
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
21
0
0
0
0
-11
88
28
0
0
31
21
23
-1
59
1
0
0
0
0
8
0
0
0
0
-4
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
28
27
-12
5
0
87
-6
-50
22
0
17
48
-29
31
-3
2
-52
-8
-6
-15
13
-1
0
0
0
-20
0
0
0
0
5
0
0
0
0
22
0
0
0
0
29
0
0
1
0
-11
48
-10
-30
12
-16
25
-31
0
-34
1
13
12
-9
15
-2
-36
9
-1
0
-54
1
0
0
0
21
-7
0
0
0
34
0
0
0
0
3
9
1
0
0
72
97
3
-4
0
69
2
-16
-65
-32
-25
32
-34
-7
73
-25
5
10
2
21
-22
29
13
-5
-9
23
22
-3
0
0
26
6
11
0
0
7
-6
0
0
0
-20
-65
-3
0
0
5
-8
21
-4
0
-153
10
49
-31
10
-44
11
-28
-43
7
-28
5
8
-1
15
-27
10
9
-5
18
-21
12
-1
0
0
35
-14
-1
0
0
-71
-32
-2
0
0
-43
48
15
0
0
-36
-37
26
-25
0
-23
-22
-4
56
20
-19
-16
-2
-19
-14
-22
-2
1
-5
-1
-112
-3
7
-2
5
-33
17
2
1
0
24
-5
-4
0
0
-21
53
-1
0
0
51
-42
-3
0
0
-59
73
34
51
-3
-18
13
34
54
7
-25
-28
-10
39
52
-38
3
4
1
8
-8
27
5
-3
2
17
-21
6
1
0
0
83
5
-3
0
37
43
1
1
0
0
-14
39
-1
0
-11
-42
23
-41
-1
-98
1
43
-87
-4
-10
-19
20
-5
51
-9
-1
0
1
1
-11
7
1
-5
7
-17
-16
-3
0
0
2
-7
-1
0
0
44
-11
-19
-1
0
47
22
-59
2
0
-41
66
-64
5
-13
-40
-23
-86
14
-49
-43
-8
10
-3
14
-21
-2
-2
2
2
-46
-26
-6
-7
7
42
-10
0
0
0
-23
-62
62
-1
0
10
25
14
12
0
-50
-1
-48
10
0
83
66
54
-18
-3
25
-79
42
-65
-12
-24
22
39
31
51
-19
2
-6
6
13
16
-79
-3
-3
1
2
-9
3
1
0
20
11
-60
0
0
16
-33
4
-9
0
28
-8
52
1
-4
27
-11
6
-55
9
11
-27
-51
42
-22
20
27
12
-37
-37
-7
9
-3
-9
3
83
-67
-6
0
10
8
14
-3
0
0
9
-8
-20
-1
0
-31
-14
16
9
0
-18
29
9
0
0
-55
-58
-38
61
3
16
22
-93
-7
-11
84
-11
13
-74
-3
-19
-1
-6
0
-12
-37
-92
-10
-13
-1
-5
1
-6
0
0
-1
11
-35
0
0
-20
-14
-15
-7
0
3
24
-6
-32
0
31
-17
-1
20
11
-45
-15
-58
55
-60
-18
55
68
23
-14
-53
-11
-28
4
5
14
-48
-13
-49
17
0
3
-1
0
0
-5
-8
9
0
0
-41
0
-20
-6
0
-10
68
37
17
0
1
-25
-2
20
4
10
10
12
-10
75
28
36
84
103
19
-32
-3
7
-5
-26
-19
-44
-43
24
-9
0
-2
0
0
0
-3
0
-10
0
0
-1
-6
18
4
0
-7
-9
-63
7
0
2
24
16
9
-4
12
3
75
-1
-13
-47
21
36
58
-35
28
-77
-7
-9
48
-4
56
-54
2
-5
0
-2
1
0
0
2
3
2
0
0
3
1
39
4
0
-4
-10
-1
7
0
-8
5
-17
-15
-3
-5
-36
-16
-21
3
64
64
-26
105
33
-34
-54
27
-66
-32
-13
-40
35
-24
-25
0
2
0
0
0
0
0
0
0
0
-3
0
-6
0
0
-3
-9
-2
-6
0
5
-27
-4
4
0
-1
-30
-2
-13
-34
7
4
-47
-9
-31
59
112
-109
-10
-8
11
-1
-25
-86
-43
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
14
0
0
-3
2
11
-3
0
0
5
-7
-23
-12
12
-67
-11
-19
8
-1
-129
-25
-80
12
-11
0
56
-28
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
-1
0
6
0
0
-25
1
-24
-10
2
15
-1
-48
-14
2
-65
72
136
-104
0
-1
-2
2
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
5
0
0
-4
-4
-11
14
-4
18
10
-8
50
-1
1
-30
-29
-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
5
0
0
1
-3
5
-1
0
0
7
5
9
0
13
-18
-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
-1
0
0
0
1
-1
2
0
0
-1
-1
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
322
0
-8
-8
0
51
-3
48
0
0
58
65
87
63
34
58
9
0
0
0
11
0
0
0
0
2
0
0
0
0
18
0
0
0
0
75
15
0
-1
0
-26
128
-18
69
0
84
172
-39
31
0
14
13
131
73
-84
-21
81
37
44
56
99
3
2
0
0
78
0
0
0
0
8
0
0
0
0
1
4
-4
-2
0
39
-61
1
34
0
28
85
40
-48
-41
47
23
8
36
5
-17
18
71
95
212
-34
26
12
48
-21
-61
9
14
0
0
38
-11
0
0
0
94
1
0
0
0
-63
35
10
0
1
68
52
14
48
-1
46
70
-10
-15
10
1
29
31
42
70
-12
12
28
51
77
-33
10
16
14
31
4
-6
-18
5
0
37
-15
11
0
0
19
77
6
0
0
47
-6
70
14
0
-15
33
101
-28
120
-35
25
36
-14
41
12
22
-1
41
-6
-2
10
17
29
22
-16
-11
29
18
-4
-129
28
-14
-1
2
-68
12
-25
-9
3
7
-70
-40
-11
0
71
19
4
61
-18
24
90
96
-62
-29
-21
-10
51
-37
104
-6
20
9
11
0
10
11
7
9
6
-28
-14
13
20
37
29
-4
-120
5
0
-47
63
22
1
-17
0
-35
6
-52
0
15
-21
-10
-8
-6
-40
-8
36
46
-89
-67
-25
7
16
-20
-14
15
22
7
6
13
3
5
7
-19
8
-9
2
-2
25
-32
-16
101
-80
-6
-69
96
47
46
-3
-49
8
30
-28
2
41
-49
63
36
-29
18
-29
12
-13
-82
-49
5
-20
16
19
-15
8
2
9
18
-5
0
0
1
-4
-30
-10
1
11
12
-8
-68
-15
-15
-1
67
-11
31
2
-13
38
62
-5
48
0
1
24
55
23
33
6
-38
-55
-40
113
-26
6
2
-40
-26
15
19
14
15
2
-39
-12
-5
8
-1
-16
30
6
9
28
1
-108
6
19
-12
94
40
-22
4
-13
-3
-34
-19
37
11
-10
10
-26
-32
-26
-5
26
16
11
-29
5
13
-18
-23
-18
29
1
-5
17
2
12
-2
-2
7
-24
-16
6
-2
2
25
83
-86
37
-3
1
-25
58
40
38
28
17
-31
-13
43
-32
-60
-17
1
61
-6
4
-6
3
-37
-11
-27
-44
-7
-21
-32
-10
1
-6
15
50
-28
-11
-13
-7
16
54
9
8
-3
13
-54
-10
-6
59
2
2
-115
-94
-67
1
-25
32
40
65
34
-23
-33
-53
42
-79
9
-27
-28
28
14
-62
-46
7
-10
-9
2
-1
5
21
-21
-75
-15
4
3
7
39
7
8
8
32
-3
-37
-20
5
0
-3
-14
-43
-4
-1
-11
-65
-41
-101
22
-27
-78
-13
-32
-20
43
12
-73
40
47
-4
-45
-24
-23
-47
-52
-20
9
-1
15
-14
-4
11
-9
-2
12
26
9
9
16
1
31
-12
-9
1
42
-30
48
10
-9
-91
35
-59
-20
-31
-19
26
-81
-69
103
-28
-21
9
104
4
10
-28
-1
-44
16
-30
-2
3
9
-42
-28
-15
6
5
12
15
40
-4
6
38
-3
5
-2
-1
0
-8
50
1
-48
-26
17
37
-5
19
-37
-65
-57
-36
-87
-77
-5
-27
73
-55
32
0
-105
-6
-57
49
-31
25
-6
6
-44
30
-28
-3
-5
-32
63
13
19
30
60
-1
1
2
0
0
41
35
55
9
-6
59
-100
16
-25
-6
-64
55
28
17
-26
-148
16
29
-52
-11
-97
-125
-13
-24
-89
3
-60
14
33
-13
-111
13
-29
-9
5
24
94
-29
61
99
1
15
-3
0
0
-22
-24
14
39
-7
-12
-30
44
12
-1
-38
-20
-3
-26
69
38
51
-115
-69
41
-2
6
-59
-61
67
66
-8
28
-10
-2
0
-18
-4
-57
39
6
101
-33
-17
-65
0
1
0
0
0
-10
2
8
25
34
0
5
-72
21
-7
-4
73
-40
50
-14
71
85
47
-13
-25
-21
-146
-8
34
-34
-41
11
22
-21
6
-96
-68
-7
-38
-1
48
-19
16
-14
-67
0
0
0
0
0
0
-6
-3
6
-1
4
8
25
79
-5
3
-30
-21
10
18
-10
-48
7
-24
-62
0
-3
-58
-19
-30
21
-71
-9
67
-4
65
-25
-34
-25
43
36
-56
100
27
-11
0
0
0
0
0
0
0
-5
0
0
0
2
-10
-56
-2
0
-39
51
20
-8
6
-13
21
-17
-27
0
-13
60
45
-100
-22
9
77
29
-22
3
24
-22
41
-8
0
12
83
-155
-65
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
2
9
-18
13
0
-15
15
14
-4
0
21
-22
16
50
0
13
123
33
172
4
42
-31
52
31
0
0
3
8
5
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
1
-6
-1
4
0
-2
56
21
-3
0
-4
19
53
23
0
6
93
17
49
0
-59
-94
25
-60
1
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
0
-1
-16
2
0
-1
-28
57
-3
0
0
-14
-17
-17
0
1
18
134
-10
0
0
0
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
32
0
0
0
0
3
0
0
0
-3
-3
-82
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
1
26
0
0
0
0
6
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
327
0
-8
-8
0
37
-7
48
0
0
56
58
84
58
37
52
9
0
0
0
14
0
0
0
0
2
0
0
0
0
20
0
0
0
0
76
15
0
-1
0
-22
127
-18
69
0
52
176
-38
25
0
7
36
142
74
-87
-15
94
32
47
55
109
3
2
0
0
85
0
0
0
0
8
0
0
0
0
2
4
-4
-2
0
38
-66
1
34
0
11
83
46
-53
-43
53
21
19
34
7
-12
11
84
107
221
-65
3
18
29
-16
-63
10
14
0
0
37
-11
0
0
0
87
1
0
0
0
-72
36
9
0
1
58
41
11
50
-1
45
70
6
-18
11
2
33
11
46
68
-4
14
29
83
67
-25
13
33
28
45
0
-8
-19
5
0
48
-14
11
0
0
30
73
6
0
0
51
0
73
14
0
-24
45
98
-31
123
-34
27
23
-7
43
20
18
22
41
-13
-7
6
20
31
26
-40
-9
36
11
-1
-139
27
-14
-3
2
-79
20
-22
-9
3
8
-65
-40
-11
0
77
6
1
62
-18
30
82
98
-52
-36
-7
8
54
-37
99
7
31
18
24
15
-18
-2
9
-14
31
0
5
-11
24
49
35
-2
-119
4
0
-52
66
15
0
-17
5
-43
5
-55
0
9
-17
-12
-7
-7
-32
-7
33
43
-87
-57
-25
-5
15
-29
-11
13
26
5
-11
12
15
3
-4
-27
31
7
4
11
28
-24
-20
101
-81
-6
-75
97
43
47
-3
-58
9
30
-30
2
34
-38
73
37
-26
32
-28
14
-20
-81
-42
4
-24
40
25
-5
24
21
8
12
-8
7
2
-14
-11
-34
-36
-4
12
-2
-3
-69
-16
-15
-1
64
-13
36
6
-16
33
55
-2
52
0
-4
20
60
26
29
1
-36
-49
-36
113
-17
3
8
-42
-22
23
28
22
11
17
-38
6
-11
19
6
9
33
15
20
30
-1
-110
8
20
-12
95
35
-22
3
-13
-4
-36
-21
37
11
-12
22
-15
-36
-28
-8
16
24
23
-30
-5
7
-15
-2
-18
40
0
-30
13
10
11
5
-7
0
-32
-26
26
0
9
9
81
-89
37
-3
1
-33
61
50
35
28
20
-32
-14
40
-31
-60
-10
-12
57
-9
-5
-10
0
-27
-14
-33
-46
-16
-33
-39
-19
-6
6
30
63
-8
-20
-5
-4
22
55
19
-10
10
29
-57
-12
-7
60
2
3
-120
-88
-70
0
-19
43
36
64
36
-14
-42
-59
45
-81
17
-2
-24
24
15
-73
-52
19
-17
3
6
-13
-8
7
-38
-75
-4
4
13
-16
50
5
17
14
28
-5
-36
-21
3
0
-1
-13
-43
-9
-5
-12
-64
-40
-102
21
-27
-84
-4
-37
-24
44
22
-76
27
50
11
-56
-16
-36
-41
-52
-11
16
6
7
-21
-14
19
-13
-2
-3
14
21
-6
13
1
28
-12
-9
1
40
-34
49
13
-9
-91
39
-66
-21
-31
-18
15
-75
-67
104
-26
-21
5
87
-2
15
-15
-16
-37
14
-39
12
0
10
-57
-19
-27
7
-10
14
17
33
5
8
44
-3
5
-2
-1
0
-8
51
3
-46
-25
16
38
-10
22
-39
-69
-54
-32
-85
-74
-4
-37
56
-46
37
-5
-109
-1
-49
47
-31
4
-27
2
-49
27
-28
1
-6
-20
65
11
21
19
73
-1
1
2
0
0
41
36
54
8
-6
54
-101
15
-18
-9
-62
46
23
15
-29
-143
10
32
-50
-8
-99
-117
-13
-12
-102
8
-58
15
31
-10
-106
24
-28
-5
13
26
98
-44
60
95
1
15
-3
0
0
-22
-27
17
40
-7
-12
-29
48
11
0
-36
-22
-6
-25
73
37
58
-115
-77
44
-1
3
-57
-60
68
55
-11
31
-4
13
-1
-12
3
-47
39
9
98
-29
-15
-74
0
1
0
0
0
-10
2
8
28
34
0
5
-74
25
-7
-4
72
-43
49
-13
71
86
51
-15
-24
-21
-149
-7
35
-29
-42
15
30
-21
12
-97
-66
-18
-33
-9
49
-5
16
-12
-67
0
0
0
0
0
0
-6
-3
6
-1
4
8
25
85
-5
3
-30
-23
14
17
-10
-48
4
-21
-62
0
-8
-64
-22
-31
23
-70
-13
66
-2
65
-18
-46
-38
44
37
-59
105
18
-13
0
0
0
0
0
0
0
-5
0
0
0
2
-10
-56
-2
0
-37
51
18
-8
6
-12
29
-18
-29
0
-12
55
42
-103
-22
7
79
23
-31
3
28
-19
36
-9
0
12
83
-157
-65
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
0
0
2
9
-19
13
0
-14
12
19
-4
0
19
-22
16
48
0
14
125
31
181
4
45
-33
62
28
0
0
3
8
5
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
1
-6
1
4
0
-2
56
23
-4
0
-3
19
53
24
0
6
92
16
48
0
-59
-94
25
-60
1
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-1
0
0
2
-16
2
0
-1
-28
59
-3
0
0
-14
-16
-17
0
1
18
134
-10
0
0
0
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
32
0
0
0
0
3
0
0
0
-3
-3
-82
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
1
26
0
0
0
0
6
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
34
0
0
0
0
-26
0
0
0
0
17
-7
-21
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-2
2
0
0
0
3
-7
-1
4
0
-9
17
4
-2
0
-87
2
2
0
0
38
5
-33
-20
-3
3
-1
0
0
0
20
0
0
0
0
-5
0
0
0
0
4
8
-4
0
0
50
-10
0
5
0
-89
15
6
-2
-3
-52
-43
42
21
3
61
-135
-23
-53
-27
-42
-27
7
-103
6
8
0
2
1
0
6
0
0
0
0
-5
0
0
0
0
4
-1
9
0
0
-37
-3
-15
-5
0
70
34
34
-61
11
48
-67
-50
-9
10
39
-13
78
88
-69
58
-1
195
-4
19
-7
3
0
1
2
-20
0
0
0
0
-6
4
0
-2
0
-2
11
10
4
0
-58
21
13
26
11
-53
42
33
8
-8
7
-1
72
-64
-25
9
20
91
-9
107
1
-8
-21
53
-36
-5
-5
-2
-3
2
-14
24
0
0
-1
19
6
0
-9
0
-13
-46
-6
4
4
50
63
62
-15
-16
-17
45
35
20
31
-23
62
57
42
-46
-93
57
29
26
-3
-36
121
-121
-21
78
-8
15
-1
0
-1
-26
-7
1
1
0
20
-26
3
-41
-1
-3
1
45
36
-22
34
14
-36
-12
-37
-18
-13
-56
0
-25
45
41
-5
78
5
7
46
-7
-8
3
-32
-2
110
162
-50
0
-7
5
0
-5
22
7
2
8
-4
-14
-14
-6
37
3
-1
21
-11
19
5
22
-36
63
-8
-21
33
-38
-23
-2
-6
5
86
71
-50
39
25
49
32
-31
35
26
35
-21
78
-23
3
-1
0
9
-3
-33
-16
-6
9
-1
-9
-3
1
31
7
23
44
-11
-2
13
-45
-19
3
-5
40
35
-15
-80
31
32
79
-21
-41
-49
38
10
103
-54
24
3
-79
14
60
-48
71
-2
0
19
4
-6
31
-37
-13
-2
3
-29
2
-22
0
-5
-1
-12
86
-13
-20
-36
-60
-6
70
21
56
-1
34
24
-18
1
15
-7
61
43
-114
0
4
-14
-9
62
8
-4
47
12
1
-12
-4
0
3
1
17
-5
-66
5
30
-2
8
9
-12
-14
21
-20
2
23
-35
-21
-127
36
-50
-87
-59
-13
-55
-25
69
1
82
50
44
94
-82
73
-19
-31
25
-2
-48
93
72
-5
-2
-2
1
2
2
6
34
-8
-9
19
28
17
10
-5
-10
-66
-102
30
-70
10
-13
53
12
-22
-115
-13
10
-15
16
36
-4
-51
-83
-107
-59
53
26
90
-31
-48
-7
68
27
-12
4
0
3
-1
0
-3
-6
-10
-23
-5
3
-25
19
-2
-15
19
-81
-10
-9
-34
-28
20
17
3
53
49
-9
-11
-42
-17
25
-46
34
-26
14
-117
-56
-10
-12
9
-67
-15
-70
-61
44
-1
-1
-6
-2
-1
5
21
-9
-10
3
8
15
-7
-26
-10
-21
28
-47
-60
36
1
-7
-57
-6
-4
22
42
-27
-20
-42
-65
16
-11
15
-40
39
-16
-63
-30
11
-10
-16
-33
-24
-12
0
0
0
-1
0
-1
1
12
26
-5
0
-7
-18
18
-4
-34
17
-12
-56
-34
17
83
3
14
25
-20
-65
-35
31
14
-8
-80
-41
-5
-2
-32
4
-41
-91
64
54
69
4
-76
16
0
1
0
0
0
0
0
7
-4
-1
1
-28
-26
-22
-11
-15
-13
4
23
-22
-1
20
9
14
16
-27
-10
61
33
-14
-43
24
-29
65
35
-33
47
-6
-13
-21
17
24
1
-21
-82
0
0
0
0
0
1
2
2
29
4
0
-1
40
24
-1
2
-4
9
-29
27
19
28
-15
-77
56
-2
-1
-13
-64
-11
-52
14
97
73
52
-9
-31
-8
-27
-38
-12
-4
60
54
-68
0
0
0
0
0
0
-3
0
4
0
0
1
-10
29
-1
0
-18
-7
-4
-23
9
4
26
-90
-8
-7
-41
-13
-8
22
-22
21
-26
15
27
-19
-57
-21
11
-9
3
20
5
-10
11
0
0
0
0
0
0
0
-1
0
2
0
-3
3
17
-1
4
9
-6
11
21
-2
-19
-6
-33
-20
0
-25
-25
-1
-41
5
42
-70
17
23
6
-99
-112
-53
-2
0
23
8
-42
29
0
0
0
0
0
0
0
0
0
0
0
1
1
-42
-1
0
1
9
11
6
4
-1
45
38
-16
0
-6
7
-34
-33
0
-22
-9
-29
-34
0
32
-25
-11
-8
0
0
16
-18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
12
3
0
-3
-4
11
9
0
-20
-14
-2
3
0
-3
29
6
48
0
-21
-30
86
19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
2
0
0
26
3
0
0
0
7
5
-3
0
0
27
8
-13
0
-10
-5
-3
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
-2
-2
-4
0
0
-9
26
0
0
0
-3
-4
-6
0
0
3
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
2
0
0
0
0
11
0
0
0
0
1
0
0
0
-1
0
-13
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-36
-107
-128
-62
-30
-23
69
1
0
0
-81
-34
-30
13
27
45
29
9
0
-15
0
20
40
26
39
54
64
-1
0
42
66
0
-64
2
27
12
33
37
0
19
-24
-21
0
3
182
14
0
-10
0
0
0
0
0
0
8
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
-44
0
-68
37
-34
-19
-100
14
-130
9
22
0
0
-49
50
-75
10
97
10
-55
58
0
85
0
-133
-70
53
-41
-21
43
60
0
13
-6
0
-14
-35
137
73
-17
33
0
0
0
0
0
-1
0
10
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
-12
0
-13
24
15
-129
-15
-66
59
58
-5
0
0
-31
13
-26
3
75
-61
54
51
0
13
0
-64
-13
24
60
102
-73
17
0
43
11
0
15
-19
-24
-6
142
26
0
0
1
14
0
-42
57
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
-62
0
-2
56
58
-36
-12
-24
15
57
30
0
0
-29
28
0
-15
67
-1
-11
40
0
48
0
18
-80
-34
43
75
-6
90
0
109
62
0
5
-89
7
74
30
86
0
-7
87
36
0
-27
-30
-3
-1
11
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
0
0
0
0
0
0
0
0
0
0
-8
0
-8
40
-34
-43
-19
-4
37
18
1
0
0
-106
17
-25
23
22
54
152
24
0
-50
0
-95
-16
3
28
68
-68
11
0
132
47
0
23
-7
-2
-14
88
13
0
-36
182
35
0
-15
-4
-85
-19
-14
0
24
51
59
60
0
-13
-107
11
-7
0
-29
-165
-23
64
75
0
-32
-130
16
0
-1
-177
-43
29
57
103
0
-10
-15
0
77
55
-12
-57
26
68
-33
0
-8
0
-50
140
48
0
-19
-12
33
38
-1
0
0
-16
60
-14
-19
-32
-3
6
-9
0
43
0
-27
17
-38
-23
49
18
-30
0
118
54
0
-31
-4
-41
-8
10
-13
0
-20
40
62
0
13
-32
-5
-28
-30
0
1
-15
49
18
0
2
-75
-2
-60
0
-43
-109
9
22
55
0
13
-23
-41
0
7
14
74
7
-8
-43
0
-32
-29
0
24
-2
27
19
-27
-4
-36
0
39
0
0
2
26
52
8
-37
0
0
5
0
0
9
76
-32
12
-21
1
6
34
0
-35
0
32
18
35
-62
-10
-1
31
0
-18
-25
0
39
-11
3
-14
-6
28
0
36
63
-10
0
-13
-26
28
-12
9
0
-17
-66
11
-7
0
27
-48
-58
-1
0
-11
47
-20
16
-4
0
-30
-35
-15
0
-1
-30
-39
12
0
0
0
-195
-3
0
-112
-50
15
8
1
0
-28
0
-100
0
-37
146
-137
-149
-77
-56
-19
-18
-42
0
0
-69
4
-130
-31
39
-43
-11
-29
0
43
0
27
-7
-105
1
22
-68
26
0
101
49
0
43
27
-11
46
-49
25
0
-13
25
84
0
23
-34
-105
84
23
0
37
13
71
76
0
5
-133
-38
-3
0
-42
-39
-4
17
9
0
22
-39
-2
0
54
1
-11
0
10
7
0
-1
-19
0
-98
-30
-15
-26
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197
0
0
23
-62
-151
109
-93
-9
-13
-45
0
-69
0
61
-170
-60
77
-129
-97
-4
0
246
201
0
-38
-23
-45
-89
-61
-18
0
53
149
1
0
-5
-64
-50
-141
4
0
17
146
15
-20
0
-1
3
55
3
0
217
132
31
-90
-82
0
-2
-37
43
0
200
105
106
-16
-99
-28
0
67
113
0
305
204
114
76
-3
-10
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
0
-12
0
56
-231
-123
-78
22
74
-29
0
43
131
0
9
-6
-25
-150
-29
-5
0
98
97
128
0
7
-6
53
51
-40
0
20
56
44
29
0
-2
-83
33
-16
0
49
50
-40
-5
8
0
-16
8
-59
0
-23
31
-118
-168
-77
17
0
109
-55
0
-71
-70
-64
-21
-46
10
8
0
-90
0
-63
58
-48
-41
-83
-83
80
30
-40
0
0
110
86
-127
-46
-20
76
-16
61
0
-99
0
25
-46
8
54
-146
-133
72
0
97
54
0
20
21
11
2
111
74
0
5
82
91
0
15
-9
-39
59
37
0
-11
46
76
44
0
0
-55
27
-5
0
-13
-30
-22
4
4
0
-11
-44
-8
0
-18
-16
-26
-11
-14
0
0
-33
-39
0
-85
-24
-11
-50
-57
-59
10
0
8
0
37
106
104
-2
49
50
15
31
23
0
0
150
59
36
12
9
62
-40
-4
0
80
0
99
-16
33
35
98
180
-4
0
-22
114
0
18
7
-6
-25
55
-16
0
16
11
30
0
10
-10
-46
-97
-39
0
-78
-19
-37
49
0
-4
-81
-22
-84
0
-27
-129
-86
-32
10
0
-27
-55
-91
0
-217
-208
-121
-33
-33
-6
0
-97
-68
0
-11
-142
-85
0
-2
-23
-67
0
29
0
-5
106
55
30
11
22
20
80
11
0
0
-22
22
-54
15
15
13
77
49
0
4
0
-51
-54
11
-2
-10
-53
15
0
25
51
0
-46
-19
-39
-41
22
-10
0
33
48
33
0
-39
-30
-27
-45
-1
0
33
13
-4
17
0
-14
-10
-64
-5
0
-1
36
14
-6
-19
0
-6
-45
-4
0
17
-9
-10
-17
-43
-32
0
24
-10
0
26
8
-3
-22
-48
-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
-68
0
-85
-50
-82
-49
-17
-35
-107
-120
-14
0
0
-66
-82
-46
-16
6
-13
-10
-8
0
-55
0
-89
-46
-4
9
-8
0
37
0
42
-32
0
-9
20
-29
-17
-57
120
0
20
-53
40
0
-30
29
24
-64
27
0
0
0
-2
0
0
24
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
-40
0
-33
-46
-31
-40
-35
-53
-83
-6
10
0
0
3
-11
27
32
-1
-40
116
7
0
-52
0
-5
1
24
19
15
51
84
0
38
5
0
21
-42
65
-28
-37
62
0
0
0
0
0
-29
-5
31
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-62
-47
-61
-10
-29
1
49
-147
22
0
0
-40
-56
6
13
23
40
-67
31
0
-3
0
-11
-61
27
18
-13
43
41
0
-31
54
0
31
-50
1
62
62
17
0
0
3
-8
0
-8
26
10
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
-6
0
20
-56
-47
34
32
28
-51
3
19
0
0
15
2
0
13
14
2
-15
29
0
-52
0
7
0
30
25
26
90
35
0
62
-33
0
-25
0
8
61
15
34
0
-3
43
7
0
0
-10
0
-2
-31
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
0
0
0
0
0
0
0
0
0
0
0
-35
0
-27
7
-54
-22
-12
-27
-90
-50
-8
0
0
20
-60
4
-10
-11
-21
-20
-11
0
46
0
43
-27
-6
-27
-23
-10
2
0
11
2
0
-23
-14
-13
5
3
7
0
85
-25
17
0
3
-18
22
27
1
0
-129
-32
17
22
0
-5
-32
24
0
0
-115
60
11
26
-11
0
-33
39
17
0
13
55
-5
22
27
-3
0
26
-11
0
-32
-15
38
63
55
-61
10
0
-10
0
-19
16
-6
-34
-20
-12
8
9
-5
0
0
-68
-8
-29
-15
-19
18
-3
9
0
-18
0
-15
-12
-27
-15
-6
10
-22
0
-70
14
0
-6
-8
-19
6
12
-32
0
9
46
-13
0
2
-9
-2
20
-26
0
-34
53
36
6
0
-14
-14
0
-35
0
46
39
13
-5
-25
0
-18
32
-38
0
-17
-52
20
45
-17
-2
0
-5
-30
0
5
0
21
46
-32
3
-43
0
36
0
-14
60
57
-5
-18
-18
-15
-2
1
0
0
6
45
34
-6
17
9
28
-2
0
34
0
34
30
-21
34
32
-15
3
0
-107
40
0
-3
-6
33
21
-37
3
0
92
30
34
0
-3
-24
-3
-41
-1
0
-14
-1
43
20
0
-12
-20
-10
-9
0
-5
-2
-16
2
3
0
7
-31
-5
0
-3
17
-7
12
4
1
0
-40
-16
0
-42
-43
-6
-15
-2
16
18
0
-79
0
-9
-75
-27
-76
-77
-64
-129
-143
-42
0
0
4
-94
-20
-45
-27
-66
-23
-53
0
-24
0
31
-94
-59
-52
-48
-93
-12
0
-118
-29
0
-12
-22
-33
9
9
-10
0
-32
4
-24
0
-9
-27
-20
8
-22
0
-3
-20
2
-42
0
-22
-16
2
-31
0
-61
-34
-5
-15
-18
0
1
18
-10
0
-5
-3
-7
-13
-12
-31
0
18
-19
0
19
-21
-23
-32
-11
-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
-374
0
0
29
-139
-161
-1
93
-28
-3
-181
0
37
0
-75
9
-65
-34
-33
-90
-46
0
-121
-75
0
-5
-18
-15
-2
-46
-33
0
-100
4
30
0
18
-36
-32
14
-55
0
-83
-34
-33
-41
0
25
-15
-10
-19
0
-117
-59
10
-81
-6
0
-7
34
-22
0
24
11
27
-50
-104
-17
0
-28
35
0
41
72
46
-12
-8
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
13
0
41
-112
-56
-53
-53
-145
-36
0
-40
-57
0
4
-22
-20
-23
-38
-2
0
-37
20
-28
0
11
5
-13
-22
-26
0
-81
-91
15
-16
0
4
-67
-98
-19
0
-2
-10
-26
-14
-35
0
-20
7
-65
0
57
-62
-35
-67
-19
-11
0
-40
-11
0
0
-1
-6
-13
-9
-11
-7
0
-63
0
-2
-98
-66
-56
-54
-55
-101
-54
-15
0
0
-29
-72
-30
-18
-16
-5
-48
-47
0
57
0
-6
-17
-24
-58
-37
-45
-12
0
-42
-32
0
20
-21
-24
-33
-40
-8
0
-36
-35
-40
0
-3
6
-46
-25
-24
0
-7
-46
-17
-71
0
-9
-38
-10
-28
0
7
-9
-16
-33
-24
0
38
16
-10
0
-1
3
-6
-19
-14
-7
0
1
9
0
46
-38
-3
15
-7
-18
8
0
-28
0
-22
38
7
4
-6
-4
-42
-20
-7
0
0
-17
-47
6
-9
-7
61
44
17
0
-49
0
-43
-26
36
40
-3
-64
-8
0
11
-71
0
10
-12
0
-8
-15
-30
0
63
-39
-32
0
-13
-30
-5
15
-54
0
-58
-87
-32
-42
0
2
-61
-62
-71
0
-58
-45
-66
-54
-27
0
16
-33
-76
0
-49
-31
-89
-46
-57
-25
0
31
-57
0
-152
32
-88
-26
-38
-19
15
0
19
0
1
-9
13
0
1
6
5
59
-3
0
0
-3
14
1
-9
10
10
5
18
0
109
0
-40
3
-4
-14
11
39
-23
0
12
1
0
21
-11
-14
-19
-17
-19
0
-49
-17
0
0
18
-36
-54
-3
-34
0
-40
-9
-39
-30
0
10
-5
11
-31
0
-15
-20
-21
-28
-5
0
-11
-18
-25
0
-36
-35
-32
-41
-70
-41
0
-2
-27
0
-28
-15
-30
-32
-61
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-93
-50
-124
-20
-20
-40
-99
-130
-23
0
0
-67
-92
-40
10
-20
-16
-46
-30
0
-49
0
-80
-28
6
-6
-14
8
8
0
41
-32
0
-1
31
-68
-17
-61
117
0
24
-52
43
0
-32
24
27
-64
34
0
0
0
-2
0
0
24
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
-39
0
-33
-57
-23
-47
-7
-67
-70
-15
11
0
0
6
-18
27
24
-18
-42
119
-12
0
-78
0
-12
12
13
44
26
45
89
0
38
5
0
20
-43
59
-32
-35
59
0
0
0
0
0
-29
-4
31
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-66
-51
-62
16
-28
20
45
-158
5
0
0
-35
-80
18
36
8
49
-78
15
0
-6
0
-23
-58
33
-1
-8
50
50
0
-33
55
0
34
-61
-26
59
63
19
0
0
3
-8
0
-6
25
10
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
-11
0
18
-61
-35
31
41
32
-54
4
6
0
0
6
-13
6
3
21
15
-3
29
0
-51
0
-13
31
-13
20
33
107
2
0
52
-43
0
-23
15
20
59
23
33
0
-2
42
3
0
17
-22
0
-2
-33
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
0
0
0
0
0
0
0
0
0
0
0
-11
0
-28
-2
-55
-14
-21
-41
-80
-51
-3
0
0
25
-93
-15
-13
-19
-32
-7
-26
0
50
0
59
-24
-20
-20
-26
-7
-18
0
-9
3
0
-13
-3
-4
0
12
17
0
92
-49
17
0
-4
-7
21
43
13
0
-146
-29
38
2
0
-6
-16
8
-13
0
-116
73
20
16
-14
0
-31
54
0
0
2
57
10
24
51
-28
0
22
-7
0
-36
-12
36
66
50
-57
21
0
-10
0
-4
3
-13
-22
-24
-20
-11
13
-8
0
0
-62
-17
-25
-21
-27
16
6
7
0
-36
0
-12
-10
-29
-9
-17
8
-14
0
-73
11
0
5
-17
-21
2
15
-25
0
8
41
-21
0
4
1
-11
27
-25
0
-45
48
26
0
0
-15
-14
12
-27
0
50
45
12
-16
-17
0
-21
25
-32
0
-22
-53
0
49
-29
2
0
3
-30
0
2
3
21
39
-23
-3
-50
0
49
0
-15
62
57
-10
-28
-21
-16
-2
5
0
0
4
34
47
-12
22
6
26
2
0
34
0
22
20
-23
39
34
-15
2
0
-104
39
0
-4
-7
26
29
-41
-13
0
87
25
27
0
13
-15
-13
-38
-2
0
-11
10
35
10
0
-2
-26
-18
-11
0
0
-12
-15
4
4
0
6
-33
-6
0
-12
15
7
3
7
1
0
-29
-13
0
-23
-43
5
-25
-3
14
24
0
-84
0
1
-78
-52
-85
-64
-102
-118
-150
-49
0
0
5
-100
-47
-44
-37
-64
-16
-76
0
-28
0
8
-92
-71
-47
-63
-87
-38
0
-133
-49
0
-16
-30
-36
9
14
-14
0
-22
-15
-70
0
-11
-11
-5
-4
-29
0
-8
-15
-20
-91
0
-30
26
11
-32
0
-19
-21
-10
-37
-44
0
8
32
-15
0
-1
2
-21
-19
-19
-37
0
3
-27
0
31
-29
-30
-38
-4
-16
-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
-394
0
0
17
-139
-163
-13
110
-29
-2
-203
0
39
0
-46
19
-84
-48
-29
-90
-56
0
-134
-80
0
5
-23
-14
5
-47
-40
0
-120
-17
38
0
16
-24
-15
33
-55
0
-79
-44
-22
-56
0
32
-29
-30
-40
0
-152
-65
40
-98
16
0
12
46
-29
0
19
9
34
-68
-98
-16
0
-30
29
0
18
55
81
-4
-11
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
11
0
21
-97
-44
-66
-56
-145
-27
0
-53
-88
0
-4
-12
-21
-4
-38
8
0
-24
28
-85
0
2
0
-37
-28
-18
0
-73
-118
5
-47
0
0
-81
-105
-8
0
-8
-28
-41
-20
-58
0
-31
39
-64
0
51
-69
-57
-38
-7
-19
0
-44
-18
0
-23
17
-19
-19
-3
-11
-8
0
-70
0
-1
-117
-71
-66
-49
-38
-116
-32
-19
0
0
-51
-88
-10
-14
-31
-12
-48
-61
0
77
0
-22
-27
-61
-69
-34
-30
-38
0
-44
-50
0
-3
-20
-21
-31
-64
-18
0
-44
-26
-97
0
-8
3
-14
-47
-48
0
8
-33
-52
-89
0
-5
-20
-28
-29
0
-3
-22
-11
-38
-26
0
27
26
-24
0
-14
-23
-8
-23
-20
-11
0
22
-12
0
61
-55
-12
10
6
4
1
0
-23
0
-34
33
-32
18
10
-5
-56
-5
2
0
0
-32
-57
-13
-17
-20
49
43
17
0
-44
0
-33
-25
8
25
-4
-75
-9
0
24
-84
0
8
-1
17
-2
-10
-21
0
85
-42
-29
0
-18
-21
-18
26
-48
0
-56
-122
-38
-59
0
-9
-37
-30
-53
0
-53
-43
-49
-82
-55
0
48
-20
-65
0
-59
-5
-70
-49
-58
-69
0
41
-48
0
-153
50
-112
-17
-48
-22
26
0
10
0
-3
-27
4
1
-13
-18
34
53
-3
0
0
-11
12
15
-4
-4
-3
14
3
0
103
0
-42
7
-16
-8
12
44
-12
0
13
-7
0
32
-6
-10
-22
-24
-6
0
-72
-3
-16
0
20
-25
-49
8
-28
0
-55
12
-62
-36
0
8
6
41
-36
0
-8
-44
-31
-24
10
0
-7
-3
-21
0
-32
-30
-44
-50
-61
-19
0
2
-28
0
-35
-15
-40
-24
-48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-50
-123
-89
61
-33
-50
-34
-32
0
0
33
30
-28
40
-52
42
-48
-58
0
42
0
-22
91
-118
59
-141
50
18
0
-12
-13
0
-17
-25
-61
32
2
-41
0
15
0
2
0
3
-12
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
76
0
8
-46
4
-70
29
-123
-49
-5
11
0
0
42
80
-68
-69
5
-2
-32
1
0
-67
0
63
-9
-6
71
20
-32
-43
0
0
3
0
2
-41
40
-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
-104
0
-9
-28
42
-14
36
17
18
37
58
0
0
16
-15
18
46
-38
14
5
99
0
-65
0
-22
91
-49
-87
103
-50
85
0
-1
5
0
-2
-93
-113
-19
-3
-24
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
-27
0
-1
-25
39
59
-44
-123
-3
41
-92
0
0
45
-10
71
7
20
105
32
-20
0
-38
0
-97
59
-62
74
21
103
15
0
-9
-44
0
-23
-31
-12
15
93
82
0
2
0
-8
0
-3
-13
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
38
0
3
43
60
7
-7
-97
33
14
11
0
0
16
-4
-18
37
81
-88
-41
69
0
-56
0
-3
57
-40
67
-72
-20
102
0
7
-25
0
-12
-12
12
2
-24
-30
0
-9
54
15
0
10
54
18
105
41
0
-16
57
2
-19
0
108
1
-91
-40
0
3
-19
29
30
16
0
17
49
16
0
-22
31
39
12
-32
-6
0
22
45
0
0
2
-98
-9
44
49
3
0
9
0
27
13
-90
59
-16
-33
-2
14
-24
0
0
63
19
-34
-33
-22
36
39
-32
0
-12
0
69
11
3
2
-30
-27
-1
0
9
4
0
56
-70
-10
7
-12
28
0
22
-19
72
0
-7
-36
4
-12
33
0
-2
-13
-42
29
0
-38
-52
33
9
0
9
5
8
3
-30
0
12
-10
-25
0
-12
9
-8
33
-16
16
0
5
6
0
-13
0
-2
-21
51
-23
-10
0
21
0
2
0
18
23
-67
3
-2
0
2
0
0
35
-30
14
-9
0
-16
-1
-1
0
13
0
9
-8
-23
29
-15
11
12
0
-52
-2
0
-4
-11
-9
49
9
-3
0
46
-59
0
0
29
16
-25
3
-1
0
9
-4
70
-25
0
13
-20
9
-6
0
33
-7
18
23
-4
0
-29
5
-2
0
-69
-97
39
-4
18
4
0
34
-12
0
-33
38
24
48
-39
-15
-8
0
-28
0
-9
35
-91
-109
0
-170
-68
-6
22
0
0
-73
23
-117
58
-62
18
17
-64
0
-17
0
-76
-23
-94
69
-12
9
-10
0
-63
1
0
-18
13
-23
-53
-108
19
0
-13
-23
-98
0
-49
-36
109
-10
5
0
-6
168
-2
-75
0
66
14
-125
5
0
95
-32
18
65
-67
0
-23
-21
-27
0
71
-121
-107
16
35
2
0
-33
-14
0
-88
-14
-74
31
32
-83
-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
-114
0
0
-15
-28
-10
-28
-3
-5
-1
-170
0
1
0
90
15
-62
-60
-41
25
-70
0
-40
25
0
-30
-34
-5
92
-29
-28
0
-60
-26
-3
0
-55
36
2
-3
19
0
-55
-19
-27
10
0
10
-29
-46
-87
0
22
-36
-31
-196
105
0
43
-2
-106
0
-135
-7
68
-16
-48
1
0
17
15
0
64
79
98
13
-37
1
-10
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
-108
-81
-76
15
-72
-35
-100
0
12
-97
0
6
-9
-18
-40
48
2
0
35
-16
-43
0
-21
-36
50
15
-24
0
-65
32
-69
-14
0
-37
-25
-1
-13
0
-68
-33
-25
-9
-89
0
-13
16
-24
0
-21
-29
-58
-48
24
-86
0
16
0
0
-113
-75
-10
27
-28
-19
-31
0
-61
0
-13
36
-29
-28
-149
-47
-35
106
-25
0
0
-22
43
55
-132
-32
-64
96
13
0
-71
0
-28
-88
-98
-13
-42
52
2
0
-69
-12
0
-36
23
-97
15
-26
39
0
-37
-29
-74
0
-16
-44
-27
20
-54
0
-140
-20
-110
-4
0
0
45
5
21
0
-210
-80
78
28
31
0
-45
-53
-35
0
29
-23
-7
-1
-14
-25
0
2
-38
0
-1
-30
118
-88
-34
0
-7
0
56
0
-29
10
-37
-96
39
17
46
-45
77
0
0
-75
-21
-9
42
16
-115
24
-15
0
32
0
97
-42
-105
-13
78
23
-6
0
-63
50
0
-1
10
28
-37
-35
7
0
6
-49
-2
0
-9
27
-35
-54
29
0
-34
38
60
-123
0
0
-36
63
42
0
78
-95
-103
15
-53
0
-30
58
-26
0
-28
29
-16
66
41
-180
0
-32
76
0
-10
35
-15
15
-102
3
40
0
1
0
26
-34
-13
-38
-39
-22
18
10
-11
0
0
-56
56
30
-37
-30
-32
36
-20
0
-8
0
10
-27
-28
28
32
38
53
0
0
26
0
6
1
-54
-45
-2
52
0
-5
-54
-18
0
10
-7
-1
-31
27
0
-34
-44
-41
-8
0
2
10
7
-19
0
13
-45
-5
-54
27
0
70
-26
-8
0
53
53
26
5
3
-15
0
-13
-19
0
-63
-47
19
67
1
-20
-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
-3
-23
-3
0
0
41
-37
-10
0
0
-11
9
22
-13
0
-2
-7
-9
10
2
-12
7
-17
-1
-1
-74
-14
31
-33
-18
-8
5
-3
17
-13
2
1
-12
-1
35
11
1
-1
0
7
13
7
8
-1
0
-24
6
-4
-3
-3
0
11
-21
-10
0
-37
53
-1
20
3
36
-29
19
9
-14
11
6
-4
-71
9
-4
3
63
15
-12
-2
-13
-13
-7
-27
-3
-77
-32
-29
-1
68
-16
7
-2
0
-35
46
-3
-5
0
38
-25
-10
5
0
-27
3
-7
21
0
23
-49
1
15
-33
12
-20
5
28
-6
-55
-50
-31
-3
-6
-62
-35
-46
-7
-38
-29
-36
-25
-8
12
0
1
0
0
0
3
-2
10
0
0
-3
6
1
-2
0
-8
-2
-56
-3
0
11
24
15
-19
-4
33
-9
17
-2
22
4
10
11
4
-8
-8
2
5
1
13
35
12
8
0
4
2
-1
-4
0
0
6
-27
-1
0
0
-20
-29
15
6
0
4
-8
-2
7
-4
27
32
21
-1
12
-18
5
10
-2
-26
12
6
0
-1
37
21
-3
-1
-5
10
21
-9
-3
4
21
-4
-1
-4
1
0
49
-55
5
0
0
39
-14
1
-8
0
-47
36
-25
4
1
-23
31
8
16
32
-42
38
-5
-12
4
1
-27
6
-1
44
-6
1
3
27
28
-6
-23
1
-11
41
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
-3
2
-4
31
37
-51
-33
27
0
51
-12
25
24
1
31
2
74
0
13
-12
0
-6
0
0
0
2
10
13
0
0
2
2
3
0
0
-5
-5
-10
-13
0
-39
-3
1
35
7
-30
44
-7
0
14
30
9
1
-5
16
39
5
9
-3
25
57
12
13
-11
5
0
-7
0
0
0
5
7
13
0
0
0
0
2
0
0
-16
-39
2
-17
0
-5
-15
-6
-14
6
21
13
11
-58
-25
-14
13
-6
12
18
22
1
5
3
-9
29
15
4
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
-1
0
0
0
27
7
7
-36
0
-86
95
-1
2
0
-9
49
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
-17
5
0
15
18
-15
43
17
57
11
5
-2
-29
-3
-1
27
2
-13
56
80
14
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-5
53
3
18
0
-3
-6
38
14
40
22
12
3
-9
-22
14
3
3
1
0
87
2
-4
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
-6
-6
0
55
-6
16
-18
0
-45
54
-55
17
31
3
-26
-56
-173
0
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
-18
8
31
-22
16
-57
7
-40
-54
-23
-28
11
-70
-14
-29
-67
14
-90
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
-1
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
-4
-4
4
0
0
-91
18
-67
-5
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
23
3
41
-31
-31
-29
-12
-26
-21
15
-18
-31
-4
6
-33
-15
-22
2
-9
-6
-4
32
-4
2
-15
-29
-6
13
3
-10
-7
18
-9
1
2
-3
-2
-7
-12
-2
4
-3
-31
31
-47
-47
-5
-30
9
5
55
-92
-1
27
-3
-39
-66
-1
-8
-16
5
-49
3
-6
16
1
-34
5
-4
0
-3
16
14
2
11
1
26
-2
-4
5
11
22
10
-7
-6
13
-2
13
-17
-54
-25
-5
-1
-7
3
36
-102
26
18
-17
-37
-47
0
19
21
-7
-68
42
-14
-8
5
-12
5
8
2
2
12
14
-2
10
13
10
-5
-6
9
14
22
3
-13
4
12
-4
5
10
0
0
0
1
-10
9
-1
3
-7
39
53
-41
5
-20
43
2
-17
58
-23
-34
63
36
30
34
-8
16
5
-4
39
11
-6
-10
-12
5
-1
-4
-3
0
-80
-26
-4
15
19
14
-6
-1
1
-3
-37
-94
27
25
3
31
33
38
8
39
9
51
39
9
3
38
9
5
-4
11
1
-6
-2
-5
-24
1
2
2
-13
0
7
1
-1
5
1
14
-3
4
9
-1
25
2
-9
0
-2
-62
-63
44
71
3
53
-33
43
5
28
-50
48
-20
18
36
-21
9
-15
-5
14
14
5
-7
1
13
14
5
10
-3
3
13
1
3
5
8
16
14
3
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
0
47
5
-4
2
1
57
33
-64
76
45
-7
5
-23
15
11
8
5
33
5
-9
45
31
108
0
-12
0
0
0
9
19
8
-11
1
-2
-4
6
-18
-1
2
94
6
-25
30
-21
34
39
100
11
41
-1
7
27
-17
5
9
-5
-17
-7
-2
2
8
-4
-9
23
-2
6
6
-5
0
-14
2
0
0
13
18
11
-12
11
21
-6
8
-123
-5
-24
-13
-14
-34
55
11
21
45
45
24
15
9
11
1
-16
-22
10
-6
-10
0
29
4
6
-10
0
5
13
3
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
6
-12
0
0
-6
15
56
39
0
-62
90
54
46
0
4
29
135
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-2
5
-4
22
-6
46
5
21
49
10
46
56
22
-10
13
-4
1
28
-8
4
-11
-6
-11
41
1
-19
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
2
-12
2
-2
8
86
7
60
30
11
46
-10
-62
15
-10
-21
-17
8
35
2
-1
-16
-21
-26
-14
-5
-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
-1
0
0
0
-8
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
6
-3
0
0
-24
28
-41
47
8
45
-23
1
28
16
-52
30
22
-41
37
4
-63
65
-2
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
-4
15
-66
-28
127
-14
-38
-24
25
-23
-5
11
5
2
-8
79
18
1
81
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
-1
0
0
0
0
-11
-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
8
0
0
-1
-5
-7
1
0
-76
-28
-16
7
0
0
-18
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
1
10
-37
20
3
41
-25
-25
-29
-9
-22
-24
6
-16
-32
4
16
-19
-14
-24
2
-19
0
1
35
-5
-1
-23
-8
2
9
-2
3
-3
7
-3
-1
0
-12
-1
-11
-20
-8
-2
-4
-35
31
-48
-47
-5
-25
12
1
58
-95
-11
25
1
-37
-67
6
-14
-16
4
-37
-3
8
5
13
-33
-3
-2
-9
6
19
17
1
9
-2
24
-2
-3
-6
14
21
-3
-3
-11
0
5
-1
-8
-56
-26
-5
-3
-6
-5
37
-107
21
19
-11
-33
-47
-3
14
19
-13
-57
41
-2
-13
12
-6
6
12
-2
-1
19
10
-1
9
24
10
-4
2
11
28
20
15
-16
0
-3
-2
5
10
0
0
0
1
-10
8
-1
3
-7
45
49
-46
5
-20
38
2
-7
52
-22
-31
58
29
27
26
7
15
-3
-6
36
13
-12
-6
-2
-24
-5
-3
13
18
-56
-36
-2
13
2
15
-10
-1
1
-3
-33
-84
37
27
3
40
33
35
6
39
5
61
40
11
-10
30
-7
14
-2
12
-6
1
0
-4
-22
-13
-5
5
-4
-5
-7
-2
2
-8
6
14
-15
4
3
-23
34
-5
-9
0
-2
-64
-55
51
73
3
52
-38
41
1
29
-51
49
-17
22
27
-17
-5
-13
5
9
0
-2
-9
5
10
9
2
6
-6
-2
9
-1
2
4
9
5
2
-4
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
0
46
4
-4
2
5
64
32
-70
78
57
-22
10
-20
16
-1
15
-2
35
5
-4
66
51
124
0
-12
0
0
0
9
19
8
-11
1
-2
-4
5
-20
-1
2
94
17
-19
27
-18
31
24
81
8
43
-11
-3
27
-19
8
7
-9
-19
-10
-8
1
8
-2
-8
29
0
-3
5
-3
0
-14
2
0
0
13
18
11
-12
11
23
-2
6
-128
-5
-23
-10
-9
-27
54
10
17
34
34
19
13
-1
3
9
-21
-24
8
0
-14
-6
13
-1
1
-13
10
-14
30
-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
6
-12
0
0
-7
21
57
37
0
-58
99
50
43
0
4
34
142
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-2
5
-4
12
-2
48
4
22
53
16
40
51
26
-20
18
0
0
54
2
29
-7
4
-30
44
13
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
2
-12
2
-2
-2
87
7
62
37
20
52
-24
-70
20
-19
-24
-9
4
32
-2
-1
-20
-26
-35
-34
-1
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
-1
0
0
0
-8
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
6
-3
0
0
-22
30
-39
48
8
52
-14
2
36
16
-64
37
36
-40
35
2
-55
87
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
17
-66
-28
131
-13
-38
-16
29
-5
6
30
8
30
1
83
22
13
117
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
-11
-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
8
0
0
-1
-5
-7
1
0
-79
-24
-17
4
0
0
-18
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
1
-14
-5
-1
5
-1
-3
-14
-8
-9
20
18
-15
-7
-22
-9
-10
4
-7
-9
-38
-43
-6
-17
40
15
-19
5
37
-39
-52
-6
-11
7
-9
-45
8
-12
6
-21
5
-47
-20
-10
24
18
31
-28
-33
-1
33
-9
-10
-11
-59
-10
4
9
-12
-22
22
-16
-5
38
38
0
16
0
-3
-2
60
-15
15
11
15
3
-11
14
-36
-13
-2
12
-17
-9
-60
15
-3
-12
-3
50
4
29
-31
-10
-1
27
-21
-27
-46
-54
16
28
23
0
-25
68
-18
-36
5
29
16
19
2
-20
6
9
-35
11
10
3
-19
4
-14
23
-23
17
6
-13
35
-30
47
8
-5
-6
-32
0
0
0
0
0
1
0
-1
1
0
0
-2
0
-2
1
2
-27
-16
31
-10
-20
43
-13
-63
1
6
27
-7
23
13
81
14
12
-22
-8
-124
-31
16
50
44
104
27
6
26
-59
0
-1
2
0
1
0
0
-1
22
1
9
-2
0
-1
-6
12
21
48
-23
-19
-63
-32
37
5
41
-104
-10
55
-7
17
-8
0
-11
1
11
-19
-32
34
-20
25
35
-61
-5
34
-22
0
2
2
0
1
0
-3
-7
56
2
-2
-17
8
20
10
-1
16
55
-8
0
-34
-4
24
37
28
-8
1
2
1
-29
13
1
9
-48
20
50
-11
21
-20
30
6
-27
16
19
31
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
23
-6
-4
-7
37
11
-43
30
-13
4
-88
33
-45
10
0
31
9
38
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
7
-18
-6
1
11
-1
-63
-28
-13
12
6
-43
-50
-38
-1
17
27
-12
-6
39
-28
3
-11
3
110
36
5
-7
21
0
0
0
0
0
0
0
1
-2
1
2
0
-4
-21
-2
-2
5
6
-23
4
6
-19
-85
4
3
-20
14
4
-23
8
64
8
12
-11
-14
-31
-53
36
-14
-9
66
57
-6
22
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
-40
7
1
0
18
12
-6
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
2
0
4
0
28
6
12
-40
-13
3
-17
-16
11
14
132
60
-58
32
-10
40
19
63
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
-14
27
-15
12
16
43
1
-8
-52
-31
-26
-41
-38
0
-3
-7
1
-89
32
-2
-30
29
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
0
0
0
0
0
0
0
0
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
9
4
1
0
-16
-3
-16
-1
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
1
0
0
2
-3
6
0
1
-11
5
-7
6
5
6
-5
-29
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-60
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
37
0
73
0
59
0
-1
0
5
0
0
0
2
0
-1
0
-2
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
-5
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
-1
0
23
0
54
0
-68
0
0
0
3
0
0
0
-5
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
-53
0
39
0
-5
0
-82
0
3
0
14
0
0
0
-17
0
-24
0
33
0
0
0
0
0
0
0
0
0
0
0
-47
0
14
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
13
0
56
0
-1
0
-21
0
1
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
-36
0
103
0
28
0
-10
0
-44
0
2
0
0
0
46
0
-15
0
1
0
0
0
0
0
1
0
0
0
0
0
-20
0
-73
0
20
0
-6
0
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
-36
0
31
0
-23
0
0
0
3
0
0
0
0
0
-3
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
23
0
31
0
0
0
0
0
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
53
2
-23
0
0
0
43
0
2
0
0
0
0
0
-30
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
-12
0
-48
0
0
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
37
0
57
0
-7
0
0
0
-4
0
0
0
0
0
0
0
-6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-160
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-14
0
4
0
1
0
16
0
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
-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
-19
0
21
0
142
0
15
0
-12
0
17
0
37
0
13
0
-1
0
3
0
41
0
-66
0
0
0
9
0
0
0
-1
0
-4
0
4
0
64
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
-10
0
66
0
-13
0
27
0
0
0
4
0
-2
0
-3
0
10
0
60
0
40
-2
15
0
0
0
-9
0
0
0
0
0
0
0
-11
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
-155
0
-16
3
-115
0
-125
0
-84
0
4
0
69
0
0
0
-31
0
-13
0
-29
0
-15
0
-11
0
-4
0
6
0
0
0
-8
0
-27
0
-28
0
1
0
3
0
0
0
0
0
0
0
23
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-144
0
-12
0
87
0
-14
0
-3
0
-2
0
-82
0
0
0
39
0
20
0
101
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
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-129
1
-11
0
108
1
16
0
-39
0
-13
0
4
0
0
0
-100
0
-59
0
-7
0
97
0
31
0
1
0
1
0
0
0
-13
0
103
0
-35
0
-3
0
0
0
0
0
0
0
0
0
2
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
3
9
55
0
-28
0
-58
0
5
0
24
0
0
0
0
0
-3
0
-13
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
24
21
3
-50
-5
-79
0
16
0
134
0
-8
0
-39
0
0
6
-130
0
-68
-4
-60
0
2
0
67
0
0
0
0
0
0
0
129
0
7
0
14
0
0
0
-2
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
1
0
-12
0
-1
0
141
0
0
0
0
0
0
0
91
0
-8
-1
-6
0
0
0
4
0
0
0
0
0
0
0
9
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
25
0
21
0
43
0
-102
0
5
0
5
0
-15
-2
-31
0
0
0
-6
0
19
0
46
0
0
0
-2
0
0
0
2
0
49
0
26
0
7
0
21
0
0
0
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
56
0
-105
0
0
0
-52
0
-5
0
-16
0
0
0
0
0
5
0
5
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
57
0
51
3
66
0
-125
0
-43
0
-118
-4
-141
0
17
0
-23
0
-19
0
37
0
-96
0
54
0
0
0
-9
0
0
0
11
0
-4
0
-41
0
-15
0
11
0
0
0
13
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-67
0
-92
-2
-51
0
-40
0
-18
0
-40
0
-20
0
0
0
-14
0
-1
0
-64
0
0
0
-6
0
0
0
0
0
0
0
-2
0
-2
0
-1
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
70
1
26
0
109
-3
-31
0
65
-3
-17
0
-18
-2
-20
0
-24
0
-6
0
-17
0
-10
0
-6
0
-6
0
0
0
0
0
-7
0
102
0
6
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
10
-6
69
0
12
1
-50
0
24
0
6
0
-23
0
0
0
-1
0
-42
0
-11
0
-3
0
-1
0
-3
0
0
0
0
0
1
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
0
0
6
77
-35
-158
10
-36
3
-35
-4
-17
-8
71
-7
29
0
0
0
76
0
46
0
-86
0
0
0
-25
0
4
0
-1
0
0
0
-135
0
-79
0
80
0
1
0
-77
0
0
0
-1
0
0
0
39
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-5
70
-4
-58
13
-83
5
6
2
-120
0
28
0
0
0
0
0
-34
0
31
0
65
0
0
0
-6
0
0
0
0
0
0
0
-51
0
5
0
-5
0
0
0
-2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-113
-39
146
43
104
44
61
0
107
6
204
2
55
14
-44
0
-5
1
177
-8
52
6
-49
0
-20
0
115
0
58
0
34
0
-70
-1
182
1
39
-11
96
0
-50
0
-35
0
12
0
-27
0
-1
0
-23
0
-58
0
39
0
6
0
2
0
0
0
1
0
140
-45
128
-3
70
8
26
0
-16
-1
125
-1
-74
0
41
0
-38
0
25
-2
-104
1
53
0
-7
0
39
0
-5
0
-3
0
8
-1
209
-1
-43
0
-37
0
-4
0
-5
0
4
0
1
0
-6
0
-6
0
-12
0
20
0
0
0
0
0
0
0
0
-4
-13
123
-11
-103
25
-14
-74
-45
-12
-27
52
50
-17
16
28
-19
-13
35
-26
-74
11
28
-141
0
-76
0
50
-3
73
0
-6
4
-30
-3
59
18
30
18
-64
0
-14
0
-11
0
73
0
0
0
27
0
-49
-4
27
0
-3
0
0
0
1
0
0
0
0
-8
48
-5
23
-165
-17
-50
-137
0
-63
0
-74
18
-108
0
-5
3
-5
-1
69
31
78
0
-36
0
-4
0
11
0
69
0
0
0
-50
-4
-22
-2
-29
0
-39
0
-41
0
8
0
0
0
0
0
-49
0
8
0
-31
0
0
0
0
0
0
0
0
0
0
-12
75
17
51
153
41
66
8
38
109
4
39
-4
109
0
-58
-20
48
41
99
15
55
5
-15
0
129
-1
-124
0
120
0
4
-28
37
-2
-11
-5
-61
17
-34
0
-42
0
-4
0
-33
0
0
0
-167
0
1
0
54
0
0
0
-23
0
-2
0
0
0
0
13
67
-84
76
-29
8
-130
53
11
34
-2
95
4
37
0
14
1
81
3
156
0
-65
0
-1
0
23
0
1
0
-1
0
0
0
6
10
137
0
-11
0
-40
0
-18
0
-11
0
0
0
0
0
37
0
-26
0
3
0
0
0
0
0
0
0
0
0
0
-121
-17
-67
-63
-25
-27
93
-17
11
-9
-5
77
-48
-132
0
-2
26
-29
-38
67
-25
-85
0
4
-11
52
1
-48
0
1
0
0
30
-31
-62
-6
-23
-38
0
-24
0
104
0
10
0
50
0
0
-20
86
0
-22
1
52
0
0
0
-9
0
0
0
0
0
0
44
-5
-28
-91
-119
-77
20
-50
6
40
0
-126
0
61
0
0
70
74
-7
44
-7
36
0
0
8
-12
0
0
0
2
0
0
-61
-54
3
52
-1
68
0
0
0
14
0
0
0
0
0
0
0
50
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
6
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
-21
0
-2
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
0
0
0
0
0
0
0
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
-23
0
-11
0
1
0
0
0
0
0
10
0
0
0
-11
0
0
0
15
0
0
0
0
0
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
0
0
0
0
0
5
0
2
0
19
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
-26
0
-99
0
9
0
-1
0
-2
0
-12
0
0
0
0
0
8
0
-71
0
9
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
22
0
31
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
0
82
0
-79
0
5
0
0
0
-7
0
0
0
0
0
0
0
22
0
6
0
-22
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
-31
0
-10
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-5
0
0
0
0
0
0
0
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
127
0
17
-2
79
0
-12
0
47
0
-3
0
-20
0
-46
0
-19
0
-70
0
-15
0
-5
0
1
0
0
0
0
0
26
0
99
0
-23
0
-23
0
5
0
0
0
13
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-73
0
49
0
-39
0
-63
0
3
0
-6
0
6
0
-24
0
17
0
7
0
-52
0
5
0
0
0
0
0
0
0
0
0
-54
0
1
0
-22
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
20
0
61
-1
76
0
-46
0
-145
0
12
0
10
0
0
0
39
0
-87
0
12
0
0
0
-1
0
0
0
0
0
0
0
-26
0
-25
0
88
0
13
0
9
0
0
0
0
0
0
0
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
0
16
0
40
0
43
0
-8
0
0
0
14
0
0
0
-37
0
-7
0
47
0
0
0
0
0
0
0
0
0
0
0
-31
0
18
0
-53
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
128
-8
-35
0
4
0
12
0
27
0
-102
0
197
0
5
0
-29
0
49
0
60
0
2
0
12
0
9
0
0
0
0
0
-40
-6
-47
0
28
0
-80
0
5
0
0
0
0
0
0
0
64
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
31
0
60
0
-14
0
55
0
77
0
0
0
0
0
33
0
45
0
-15
0
0
0
0
0
0
0
0
0
0
0
-86
0
-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
-31
69
5
4
-8
-57
0
1
0
107
0
32
0
-4
0
0
0
-74
0
-27
0
-4
0
2
0
0
0
0
0
0
0
0
0
87
0
47
0
-54
0
0
0
25
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
52
0
40
0
98
0
4
0
-1
0
0
0
0
0
0
0
-34
0
6
0
0
0
0
0
0
0
0
0
0
0
0
3
61
0
-40
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
-20
0
0
0
0
0
0
0
11
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
4
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
132
0
25
0
10
0
0
0
-17
0
0
0
-2
0
23
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
-1
0
-6
0
0
0
1
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
86
0
13
0
46
0
0
0
-7
0
48
0
0
0
-1
0
-15
0
0
0
17
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
2
0
-2
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
137
0
16
0
153
0
-50
0
27
0
14
0
-9
0
0
0
41
0
15
0
-96
0
0
0
1
0
0
0
0
0
0
0
23
0
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
-99
0
5
0
10
0
0
0
-42
0
0
0
0
0
0
0
-68
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
80
0
198
-5
98
6
127
0
69
0
76
0
-45
0
21
0
76
0
-8
0
137
0
12
0
-42
0
73
0
11
0
-12
0
28
0
-61
0
40
0
7
0
0
0
0
0
-20
0
0
0
0
0
-7
0
-5
0
-8
0
0
0
0
0
0
0
0
0
62
0
67
-3
19
1
74
0
-87
0
142
0
-48
0
-40
0
13
0
60
0
91
-9
-30
0
0
0
-7
0
-1
0
0
0
4
0
3
0
54
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-3
120
12
102
23
45
14
32
0
-123
0
38
0
6
0
-33
0
43
0
-14
7
4
4
-27
0
-22
0
-43
0
75
0
0
0
53
0
-34
0
2
0
-5
0
6
0
0
0
-16
0
0
0
89
0
-6
0
-36
0
0
0
-1
0
0
0
0
0
0
-1
74
0
-52
-30
-11
0
-32
0
2
0
-1
0
8
0
7
-3
123
0
-40
1
196
0
12
0
-17
0
-2
0
-5
0
0
0
-74
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
128
-29
27
-12
91
58
66
0
10
1
42
0
18
0
29
0
77
1
-4
0
106
0
62
0
-1
0
19
0
3
0
0
0
-21
2
60
0
-81
0
6
0
-1
0
-5
0
0
0
0
0
88
0
142
0
-4
0
0
0
0
0
0
0
0
0
0
-3
19
-37
-23
-24
3
1
2
0
1
0
60
0
134
0
0
8
132
1
148
-19
-12
0
-2
0
50
0
0
0
0
0
0
0
-46
0
4
0
-7
0
0
0
10
0
0
0
0
0
0
0
-15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-80
55
97
-28
-48
14
10
-10
-9
73
0
-53
0
-14
0
7
0
-7
-5
20
29
-92
0
-9
0
95
0
2
0
-9
0
0
0
-74
0
-27
0
-51
0
0
0
16
0
0
0
0
0
0
0
-21
0
0
0
23
0
0
0
-4
0
0
0
0
0
0
-86
-31
-15
-60
22
-105
0
-61
3
68
0
9
0
-21
0
0
15
99
-1
-63
22
-8
0
0
0
-31
0
0
0
0
0
0
0
114
0
21
0
-61
0
0
0
6
0
0
0
0
0
0
0
54
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
76
0
173
0
76
-14
-22
0
-41
0
-98
0
57
-28
-108
0
-65
0
125
0
104
7
38
0
10
0
20
0
-71
0
9
0
42
0
71
0
-63
0
-88
0
12
0
0
0
5
0
0
0
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
60
-4
19
3
-122
0
-2
0
51
0
82
16
1
0
-32
0
-12
0
6
1
-97
0
0
0
-7
0
6
0
0
0
-3
0
-25
0
-20
0
-31
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
-2
95
25
8
0
-64
0
79
-8
141
-19
35
0
-92
0
-14
0
-71
-1
22
0
-47
0
136
0
46
0
-12
0
7
0
-73
0
101
0
-101
0
-63
0
39
0
8
0
10
0
0
0
-111
0
6
0
-46
0
0
0
1
0
0
0
0
0
0
-4
-39
0
-63
-61
-45
17
-29
0
105
0
41
-3
-36
0
68
0
62
0
-116
18
115
0
-8
0
8
0
-4
0
58
0
0
0
-44
0
-42
0
-10
0
-7
0
-4
0
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
-107
51
0
40
-38
-42
-1
19
-54
-10
0
24
-9
51
0
81
25
-123
0
-72
0
-56
0
-148
0
-91
0
27
0
0
0
-122
0
-13
0
11
0
-16
0
47
0
-23
0
0
0
0
0
-20
0
30
0
7
0
0
0
0
0
0
0
0
0
0
0
34
90
-5
1
-83
6
-70
-4
-8
39
92
-2
78
0
-11
0
-34
-3
-17
0
74
0
-13
0
-6
0
-19
0
0
0
0
0
-29
0
103
0
-59
0
1
0
21
0
-6
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
28
39
-3
-9
-115
2
81
-6
-35
27
-21
9
-59
-20
6
-8
-2
-28
-40
-8
0
-2
-52
-6
7
-24
0
61
0
88
0
0
-6
9
-3
-39
-5
-69
0
29
0
102
0
-8
0
29
0
0
0
75
0
-17
0
-10
0
0
0
27
0
0
0
0
0
0
-28
15
-61
-61
88
-31
-7
88
133
77
-25
91
2
-5
0
-2
3
30
-1
86
1
-22
0
0
0
-23
0
0
0
-20
0
0
0
-55
8
-31
0
-15
0
0
0
11
0
0
0
0
0
0
0
146
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-100
-2
96
107
-60
87
4
30
-1
-81
49
-3
-53
20
-9
-70
0
-82
-50
54
-31
50
-20
43
0
68
-2
-148
-1
27
-16
37
1
-123
68
58
-2
32
-43
-30
0
-137
0
15
0
10
0
41
0
5
-2
2
0
180
-6
91
0
-10
0
2
0
-10
0
9
-27
-35
164
61
-186
56
47
-20
0
-82
-9
-28
19
95
-23
16
-2
-9
-49
91
-46
20
-24
71
0
-14
0
10
0
-20
0
-25
0
-27
14
89
-1
150
27
52
0
18
0
25
0
114
0
2
0
-96
0
108
0
-60
0
51
0
0
0
-9
0
0
0
0
64
52
51
24
28
9
-28
-78
-56
5
-182
-18
-151
-48
35
-9
-109
8
-20
26
-64
-42
-16
-64
9
-65
0
-43
75
-38
0
0
-50
1
24
-12
-60
-44
-22
-31
0
-75
0
25
-22
45
0
5
-6
57
1
72
-37
-61
0
-91
0
-49
0
10
0
14
0
0
-2
18
-97
-6
-84
-38
-114
-94
68
21
-91
16
-35
47
19
-87
-54
52
-19
26
-32
-54
0
-38
-2
23
0
84
-3
205
0
0
-75
71
-11
-12
-120
-3
-9
-2
0
-162
0
1
0
26
0
0
-4
87
0
3
11
-22
0
-4
0
-2
0
0
0
0
0
0
71
48
13
0
31
5
-73
-70
90
-32
-86
-82
-103
-21
37
-150
-30
23
-80
-42
141
-36
4
-23
4
-44
75
69
0
15
0
36
10
-51
-2
-60
-105
-64
120
-48
7
-106
-2
-40
0
-87
0
6
-3
33
12
5
0
21
0
-39
0
-109
0
-6
0
0
0
0
41
7
44
-34
35
-10
-63
-57
41
35
36
-29
-16
47
0
-25
-25
11
62
7
-62
83
-73
71
0
33
0
12
0
-7
0
4
8
16
13
14
0
-37
8
7
-9
-23
0
81
0
13
0
0
0
72
2
36
0
-68
0
0
0
3
0
0
0
0
0
0
-13
-9
-47
-65
-48
-46
-66
-92
-96
-46
-140
-159
-58
-75
19
-15
-36
-59
29
-35
-52
-76
68
46
-88
-6
7
-130
4
-64
0
0
-87
-46
-65
-64
-82
-72
38
-8
-63
27
0
167
4
-3
0
0
29
46
-14
32
-22
-2
0
0
0
2
0
0
0
0
0
0
-44
-52
-56
-78
-24
-95
-50
-51
-54
33
13
-40
-18
94
0
0
-3
-30
-67
15
8
20
1
-41
-27
-5
0
-11
0
-45
0
0
-13
-27
124
-47
85
-9
0
52
7
139
0
0
0
6
0
0
-1
17
-2
-19
0
69
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
6
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
-21
0
-2
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
0
0
0
0
0
0
0
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
-24
0
-10
0
1
0
0
0
0
0
10
0
0
0
-11
0
0
0
15
0
0
0
0
0
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
0
0
0
0
0
5
0
2
0
19
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
-27
0
-101
0
10
0
-1
0
-2
0
-12
0
0
0
0
0
8
0
-71
0
9
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
21
0
31
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
0
75
0
-81
0
6
0
0
0
-7
0
0
0
0
0
0
0
22
0
6
0
-22
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
-31
0
-10
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-5
0
0
0
0
0
0
0
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
132
0
1
-2
76
0
-12
0
50
0
-3
0
-18
0
-42
0
-19
0
-63
0
-12
0
-5
0
1
0
0
0
0
0
26
0
98
0
-28
0
-24
0
5
0
0
0
13
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-71
0
53
0
-39
0
-70
0
3
0
-7
0
6
0
-24
0
17
0
8
0
-52
0
5
0
0
0
0
0
0
0
0
0
-57
0
2
0
-22
0
-6
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
21
0
68
-1
57
0
-49
0
-142
0
12
0
8
0
0
0
43
0
-85
0
11
0
0
0
-1
0
0
0
0
0
0
0
-24
0
-33
0
93
0
14
0
9
0
0
0
0
0
0
0
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
14
0
41
0
44
0
-8
0
0
0
15
0
0
0
-36
0
-7
0
47
0
0
0
0
0
0
0
0
0
0
0
-25
0
17
0
-51
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
139
-8
-50
0
2
0
9
0
32
0
-100
0
198
0
5
0
-29
0
46
0
60
0
2
0
12
0
9
0
0
0
0
0
-44
-6
-42
0
29
0
-81
0
5
0
0
0
0
0
0
0
66
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
27
0
51
0
-9
0
57
0
77
0
0
0
0
0
33
0
47
0
-15
0
0
0
0
0
0
0
0
0
0
0
-93
0
-9
0
-27
0
0
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
93
5
4
-8
-56
0
2
0
105
0
36
0
-7
0
0
0
-83
0
-30
0
-5
0
2
0
0
0
0
0
0
0
0
0
91
0
45
0
-51
0
0
0
21
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
0
38
0
98
0
4
0
-2
0
0
0
0
0
0
0
-33
0
6
0
0
0
0
0
0
0
0
0
0
0
0
3
64
0
-37
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
11
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
4
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
127
0
27
0
10
0
0
0
-19
0
0
0
-2
0
23
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
-1
0
-6
0
0
0
1
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
88
0
13
0
47
0
0
0
-7
0
48
0
0
0
-1
0
-16
0
0
0
17
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
2
0
-2
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
134
0
16
0
154
0
-48
0
18
0
14
0
-10
0
0
0
38
0
14
0
-94
0
0
0
1
0
0
0
0
0
0
0
23
0
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
-99
0
5
0
11
0
0
0
-40
0
0
0
0
0
0
0
-68
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
77
0
178
-5
99
8
109
0
71
0
83
0
-51
0
13
0
77
0
-5
0
130
0
17
0
-44
0
75
0
11
0
-12
0
29
0
-58
0
46
0
21
0
0
0
0
0
-20
0
0
0
0
0
-8
0
-5
0
-8
0
0
0
0
0
0
0
0
0
62
0
72
-3
22
1
83
0
-89
0
139
0
-44
0
-39
0
7
0
59
0
87
-9
-30
0
0
0
-7
0
-1
0
0
0
4
0
1
0
54
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-3
166
12
97
23
51
15
34
0
-118
0
43
0
4
0
-33
0
41
0
-15
7
10
4
-33
0
-24
0
-42
0
74
0
0
0
62
0
-31
0
17
0
-5
0
6
0
0
0
-16
0
0
0
88
0
-6
0
-36
0
0
0
-1
0
0
0
0
0
0
-1
85
0
-50
-30
-14
0
-32
0
1
0
0
0
10
0
7
-3
121
0
-36
1
187
0
14
0
-17
0
-2
0
-5
0
0
0
-75
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
152
-34
24
-12
92
60
70
0
15
1
51
0
19
0
29
0
86
0
-3
0
114
0
55
0
-9
0
20
0
3
0
0
0
-25
2
59
0
-78
0
4
0
-1
0
-5
0
0
0
0
0
89
0
142
0
-4
0
0
0
0
0
0
0
0
0
0
-3
11
-38
-16
-24
-4
1
1
0
-11
0
61
0
134
0
0
8
134
1
156
-19
-13
0
-2
0
50
0
0
0
0
0
0
0
-50
0
3
0
-7
0
0
0
10
0
0
0
0
0
0
0
-15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-84
78
99
5
-50
26
11
-16
-9
71
0
-54
0
-13
0
7
-4
6
-5
28
32
-83
0
-10
0
92
0
2
0
-9
0
0
0
-87
0
-30
0
-53
0
0
0
14
0
0
0
0
0
0
0
-28
0
0
0
23
0
0
0
-4
0
0
0
0
0
0
-88
-31
-16
-57
25
-103
0
-60
3
57
0
9
0
-17
0
0
17
94
-1
-66
22
-7
0
0
0
-34
0
0
0
0
0
0
0
111
0
22
0
-57
0
0
0
6
0
0
0
0
0
0
0
52
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
75
0
187
0
75
-15
-4
0
-44
0
-96
0
63
-28
-105
0
-65
0
132
0
103
7
35
0
10
0
27
0
-71
0
8
0
42
0
71
0
-63
0
-87
0
12
0
0
0
5
0
0
0
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
56
-4
11
3
-116
0
-2
0
47
0
78
16
2
0
-32
0
-11
0
7
1
-101
0
0
0
-7
0
6
0
0
0
-3
0
-25
0
-20
0
-33
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
-2
113
25
23
0
-66
0
95
-8
143
-19
35
0
-100
0
-19
0
-64
-1
22
0
-47
0
134
0
43
0
-15
0
7
0
-68
0
105
0
-104
0
-65
0
39
0
8
0
10
0
0
0
-110
0
6
0
-44
0
0
0
1
0
0
0
0
0
0
-4
-42
0
-63
-61
-27
17
-33
0
109
0
43
-3
-41
0
70
0
62
0
-112
18
115
0
-8
0
8
0
-4
0
58
0
0
0
-45
0
-40
0
-13
0
-7
0
-4
0
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
-104
48
0
31
-40
-30
-1
1
-54
-14
0
23
-9
50
0
82
25
-127
0
-71
0
-57
0
-143
0
-96
0
24
0
0
0
-117
0
-21
0
12
0
-18
0
47
0
-24
0
0
0
0
0
-19
0
30
0
7
0
0
0
0
0
0
0
0
0
0
0
32
95
-12
1
-88
6
-54
-4
-1
39
89
-2
86
0
-11
0
-33
-3
-17
0
77
0
-14
0
-6
0
-19
0
0
0
0
0
-29
0
105
0
-58
0
1
0
21
0
-6
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
31
39
-8
9
-115
26
78
-14
-39
34
-20
5
-60
-24
6
-10
-1
-41
-41
-9
0
-22
-52
-5
7
-21
0
58
0
88
0
0
-6
5
-3
-30
-5
-79
0
29
0
111
0
-8
0
29
0
0
0
77
0
-17
0
-10
0
0
0
27
0
0
0
0
0
0
-28
8
-54
-53
91
-19
-7
82
133
99
-25
86
2
-1
0
-2
3
31
-1
76
1
-24
0
0
0
-24
0
0
0
-20
0
0
0
-67
8
-31
0
-12
0
0
0
11
0
0
0
0
0
0
0
146
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-100
50
103
112
-65
81
-3
17
-1
-102
46
-6
-48
29
-8
-66
0
-63
-51
34
-30
16
-22
71
0
67
-2
-157
-1
17
-16
35
1
-95
71
2
-2
3
-42
-38
0
-136
0
8
0
13
0
43
0
3
-2
4
0
182
-6
96
0
-10
0
2
0
-10
0
9
-26
-62
171
70
-192
60
47
-38
0
-80
-9
-34
21
108
-23
20
-2
-14
-50
114
-47
31
-25
81
0
-11
0
6
0
-21
0
-25
0
-32
12
77
-1
150
31
59
0
18
0
22
0
119
0
2
0
-95
0
112
0
-62
0
54
0
0
0
-9
0
0
0
0
58
76
40
29
10
-15
-37
-56
-55
22
-180
-11
-166
-41
36
-8
-106
3
-16
18
-60
-69
-22
-48
9
-76
0
-59
76
-31
0
3
-49
-5
24
-49
-62
-17
-24
-28
0
-90
0
32
-21
44
0
5
-6
46
1
61
-39
-61
0
-91
0
-49
0
10
0
14
0
0
-18
3
-98
-52
-62
-55
-113
-75
68
-3
-91
3
-32
60
19
-86
-56
52
-18
32
-25
-70
0
-32
-2
32
0
78
-3
205
0
0
-76
60
-7
-12
-118
-5
-8
0
0
-153
0
0
0
28
0
0
-4
94
0
3
11
-14
0
-4
0
-2
0
0
0
0
0
0
76
71
22
-1
32
2
-60
-62
84
-51
-91
-78
-103
-11
38
-146
-30
25
-78
-35
138
-59
-2
-35
4
-39
75
80
0
10
0
35
13
-56
-1
-58
-103
-67
117
-54
7
-109
-2
-43
0
-81
0
6
-3
43
12
4
0
13
0
-42
0
-111
0
-6
0
0
0
0
42
14
44
-46
35
3
-57
-57
39
34
37
-47
-14
58
0
-21
-21
9
65
-9
-60
91
-73
69
0
34
0
15
0
-8
0
4
7
14
18
12
0
-16
8
7
-9
-20
0
85
0
13
0
0
0
66
2
41
0
-69
0
0
0
3
0
0
0
0
0
0
-3
-25
-62
-71
-41
-68
-64
-82
-98
-85
-139
-173
-58
-57
19
-18
-39
-84
39
-47
-50
-76
72
44
-91
-8
7
-127
4
-63
0
0
-101
-54
-62
-60
-74
-70
38
-6
-60
20
0
165
4
-2
0
0
30
62
-19
35
-22
-8
0
0
0
3
0
0
0
0
0
0
-39
-80
-62
-73
-4
-87
-42
-51
-54
17
13
-31
-17
89
0
0
-12
-22
-66
25
10
27
1
-41
-29
-1
0
-12
0
-42
0
0
-10
-11
126
-48
85
-2
0
52
8
139
0
0
0
6
0
0
-1
18
-2
-18
0
70
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-8
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
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
1
0
-12
0
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
-1
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
0
-21
-1
-42
0
-1
0
11
0
-9
0
0
0
-6
0
-1
0
17
0
-7
0
0
0
0
0
0
0
0
0
1
0
-21
0
-11
0
-24
0
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
12
0
-24
0
-19
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
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
-13
0
64
0
-31
0
-3
0
-17
0
1
0
8
0
0
0
14
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
-37
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
-34
0
-12
0
-22
0
3
0
1
0
0
0
2
0
0
0
6
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
44
0
3
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
58
0
10
0
1
0
-21
0
27
0
-2
0
3
0
1
0
-15
0
-54
0
7
0
0
0
0
0
0
0
0
0
0
0
-12
0
16
0
12
0
0
0
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
50
0
5
0
3
0
2
0
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
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
-1
94
0
-16
-1
1
0
-1
0
23
0
6
0
12
0
0
0
-14
0
-6
0
11
0
0
0
0
0
0
0
0
0
0
0
12
0
-14
0
-25
0
0
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
-8
0
4
0
22
0
2
0
-4
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
11
0
3
0
0
0
-3
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
-1
0
0
0
3
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
44
0
1
0
5
0
-2
0
1
0
-1
0
0
0
0
0
-1
0
0
0
3
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
-1
0
-12
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
1
0
19
0
5
0
1
0
-3
0
1
0
-6
0
0
0
-22
0
10
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-3
0
0
0
6
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
7
0
-84
-1
-25
2
-100
0
-3
0
25
0
-20
0
-6
0
17
0
1
0
12
0
-77
0
-13
0
11
0
0
0
0
0
3
0
12
0
-9
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
29
0
87
0
80
2
9
0
-14
0
-3
0
15
0
0
0
-11
0
36
0
3
0
21
0
-1
0
0
0
0
0
0
0
10
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
22
7
26
13
-95
8
38
0
3
0
39
0
-1
0
-2
0
53
0
51
3
26
0
-83
0
-10
0
-2
0
3
0
0
0
22
0
-1
0
13
0
0
0
0
0
0
0
-5
0
0
0
1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
51
0
13
-9
-94
0
36
0
3
0
0
0
10
0
0
0
-2
0
-8
2
-6
0
0
0
0
0
0
0
0
0
0
0
-17
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
4
35
-6
-5
-3
-26
0
31
0
34
0
17
0
11
0
2
0
92
0
-53
0
-9
0
11
0
-5
0
1
0
0
0
0
0
2
0
12
0
-4
0
-1
0
2
0
0
0
0
0
0
0
13
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-43
-20
98
0
-17
0
-19
0
-46
0
33
0
3
0
0
0
-23
0
25
0
-22
0
0
0
-3
0
1
0
0
0
0
0
-58
0
9
0
2
0
0
0
-1
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
211
33
113
-13
-40
3
-8
0
-26
0
-24
0
3
0
0
2
98
1
23
1
-70
0
0
0
3
0
2
0
0
0
0
0
5
0
37
0
7
0
0
0
3
0
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-26
-42
-2
43
-2
7
0
-2
1
46
0
0
0
0
0
0
8
40
0
-14
2
-28
0
0
0
-32
0
0
0
0
0
0
0
39
0
-2
0
-1
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
8
0
119
0
16
0
116
0
-50
0
4
0
123
-3
-11
0
-19
0
61
0
8
0
-18
0
3
0
12
0
2
0
-8
0
-5
0
19
0
-15
0
12
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
-18
0
-36
0
-59
5
-57
0
12
0
28
0
50
0
-2
0
-3
0
-10
0
1
0
-3
0
0
0
-2
0
0
0
0
0
-3
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
13
0
97
-2
66
3
-46
0
52
0
-20
3
63
0
-36
0
-11
0
-10
0
-28
0
-7
0
13
0
-3
0
0
0
16
0
-1
0
12
0
-49
0
-6
0
0
0
0
0
3
0
0
0
-3
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-58
0
-24
2
63
0
-4
0
-21
0
11
1
-11
0
19
0
92
0
-8
0
-5
0
0
0
1
0
0
0
0
0
0
0
26
0
2
0
-4
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
23
-11
-70
0
-39
-14
83
0
-76
-14
35
0
-35
0
-8
0
26
0
-91
0
20
0
-12
0
-3
0
-5
0
3
0
0
0
2
0
-33
0
-10
0
-18
0
7
0
-6
0
0
0
0
0
-4
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
4
12
0
-6
0
7
0
42
12
-42
0
9
0
1
0
-9
0
10
0
6
0
0
0
-4
0
-1
0
0
0
0
0
24
0
3
0
-3
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
-2
171
-5
11
-28
-36
8
81
-5
34
5
-11
-5
-36
0
-15
5
0
-8
-46
0
-34
0
2
-2
11
0
-5
0
6
0
0
0
66
1
5
0
-32
0
9
0
34
0
0
0
1
0
0
0
12
0
-5
0
-3
0
0
0
0
0
0
0
0
0
0
11
87
6
-6
-7
-93
0
28
-3
33
-2
-74
0
-17
0
-1
1
25
2
-50
0
-33
0
0
0
6
0
0
0
0
0
0
0
-44
0
7
0
16
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
-2
95
61
9
-31
-14
-12
-8
-1
-15
-15
17
7
18
-4
30
0
21
-19
-53
12
27
-16
-34
0
-146
0
-11
0
11
0
14
0
1
7
-8
-3
-22
17
45
0
10
0
-5
0
-4
0
15
0
-55
0
79
0
6
0
3
0
0
0
0
0
0
0
0
-4
71
22
-36
-7
62
-119
-1
0
-72
0
18
0
8
1
-19
0
-63
-3
31
2
78
9
16
0
28
0
-1
0
-9
0
0
0
-31
1
-21
0
56
0
-24
0
-2
0
3
0
-3
0
0
0
-8
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
60
-37
0
16
-74
-16
61
96
-50
74
-61
-17
-106
157
4
12
15
63
9
-19
8
-85
-64
51
5
18
0
-1
0
90
0
5
-1
3
40
-62
-51
48
-2
-41
0
-41
0
-9
0
-52
0
0
0
6
0
-20
0
96
0
0
0
-2
0
0
0
0
0
0
-24
22
-1
-149
117
56
-70
94
17
-67
-12
0
-34
-88
0
-23
-20
41
-1
-15
-9
76
0
-4
-1
74
0
-3
-2
32
0
0
-13
-79
0
31
-5
-51
-4
45
0
-38
0
-3
0
2
0
0
0
22
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-23
49
-16
29
-81
10
15
-10
-24
-2
-12
58
9
0
29
23
0
-28
-28
49
26
1
24
-6
-1
48
17
5
0
-15
0
0
24
-226
17
86
-6
73
2
31
1
-53
0
-42
0
5
0
5
0
59
4
7
0
-20
0
-4
0
0
0
0
0
0
0
0
3
-8
-13
-35
70
-20
15
9
4
112
-3
-50
4
69
0
55
15
24
-8
-86
-17
-51
0
-35
0
6
0
16
0
1
0
0
-12
-37
21
36
0
-22
3
-6
0
-39
0
-6
0
-2
0
0
2
-15
1
-19
0
-4
0
0
0
0
0
0
0
0
0
0
-82
-75
-107
32
35
16
65
70
-126
-85
-61
-5
-29
39
2
8
-54
-54
71
-88
-81
-11
24
23
-12
-48
0
-11
0
12
0
0
-79
8
-5
-94
43
35
2
-24
2
-84
0
2
5
-3
0
0
35
-69
0
46
-1
-9
0
0
0
0
0
0
0
0
0
0
17
48
-103
6
-28
-98
-40
7
-19
-24
36
36
-33
60
0
2
2
27
-7
-50
7
62
0
7
-5
20
0
-3
0
-1
0
0
9
-9
1
-26
26
88
0
0
0
-2
0
-1
0
0
0
0
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
112
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
181
76
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
108
34
-22
-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
114
53
-32
-31
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
40
135
-11
20
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
186
81
28
14
88
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-86
-65
165
-3
-23
-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
0
0
0
0
0
0
0
0
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
5
8
31
26
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
110
-4
126
13
66
-1
-41
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
198
140
56
133
173
49
72
34
120
35
-170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
82
19
6
-2
39
0
76
-6
89
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
54
91
-13
63
43
58
-51
11
-10
20
-73
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
205
0
117
0
113
0
8
0
17
0
-36
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
83
81
63
65
165
75
168
64
-19
35
-172
-81
75
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
0
0
0
0
99
23
0
-134
25
50
10
-98
-26
-48
37
-77
-13
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
54
50
44
24
-100
-45
55
23
-182
-55
-48
-32
46
-68
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
12
109
0
1
0
-1
0
57
0
49
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
105
149
80
132
72
121
-16
-36
97
131
2
117
-95
-25
-25
10
-6
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
19
79
0
27
0
31
0
-27
0
49
0
11
0
-1
0
7
0
85
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
134
160
83
190
27
-90
53
8
13
-23
41
-15
3
-86
5
31
12
-7
-164
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181
0
82
0
105
0
106
0
100
0
-17
0
26
0
-62
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
88
107
47
98
80
83
71
109
39
16
46
75
73
-10
64
23
86
1
86
-34
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
-2
8
0
7
7
83
0
109
0
161
0
97
23
100
0
12
0
-40
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
141
-37
131
116
54
-102
48
164
40
69
69
115
68
75
121
57
33
-91
152
-65
-28
-8
57
-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
43
0
1
0
135
0
45
0
86
0
64
0
163
0
81
0
-6
0
1
0
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
45
37
95
72
-33
-38
17
60
0
114
-54
59
-21
-7
-11
65
2
-34
-26
-21
3
-7
-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
10
177
0
16
0
122
0
160
0
62
0
-4
0
99
0
71
0
94
0
106
0
-44
0
-39
0
88
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
34
64
19
10
27
139
49
11
61
-29
-175
62
-5
35
-23
20
-42
-38
-64
15
-13
46
30
-16
-22
38
-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
38
0
67
0
32
0
38
0
47
0
26
0
21
0
5
0
82
0
-7
0
61
0
-8
0
25
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
70
157
38
150
49
50
7
43
-12
13
-21
11
-14
4
-13
-14
-11
-19
2
24
-37
-16
-4
-18
-38
96
1
47
-3
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
149
14
72
-47
116
16
-13
-108
191
-11
-37
-86
-15
-15
0
33
201
-23
0
-53
-3
9
0
-34
40
-75
0
-86
0
10
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
170
97
22
38
96
26
3
-4
89
51
35
-66
-25
1
-28
-22
122
32
-4
-5
-24
-22
26
97
58
74
213
-70
-211
-86
-10
-52
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
198
139
0
31
6
64
0
63
415
75
3
-57
0
198
0
100
0
75
0
-74
0
38
0
-7
0
58
0
3
0
35
0
83
66
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
166
140
102
107
102
6
60
170
85
9
-31
67
113
-100
14
33
37
14
-16
127
37
-43
-114
-45
4
142
-102
-47
-59
-43
60
237
73
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
46
82
-27
-14
290
32
0
-6
13
97
2
30
0
29
0
42
0
-5
0
68
0
125
0
-40
0
57
0
85
0
-22
0
34
-45
2
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
163
159
108
136
148
110
7
58
103
64
37
33
32
54
40
106
30
66
-14
113
1
58
5
-29
17
-6
51
-6
12
51
48
35
119
101
19
-66
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
40
0
-94
0
115
0
11
-15
153
0
58
0
25
0
39
0
115
0
-37
0
-16
0
102
0
75
0
18
0
3
0
7
0
31
0
74
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
54
102
230
62
39
30
22
123
23
-18
-15
15
26
109
-71
78
-29
103
-82
-77
73
-83
-86
63
2
-79
22
-15
7
-74
52
30
-37
54
51
112
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
125
106
167
174
67
-3
12
177
11
0
40
-7
130
0
-16
44
78
0
-15
1
45
0
1
-2
112
0
12
0
-14
0
23
261
68
-14
39
-4
100
-39
-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
161
102
94
84
80
112
70
60
171
71
54
60
-75
65
-100
64
16
55
-113
119
-3
55
-3
64
39
36
-34
51
-77
38
-12
-78
53
56
99
-201
117
61
2
-38
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
58
0
17
0
63
0
-14
0
45
0
-2
0
117
0
130
0
165
0
16
0
-14
0
-36
0
19
0
0
0
13
0
1
2
65
0
163
0
0
0
44
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
127
157
8
103
-1
-2
70
-47
2
146
-35
58
-36
80
28
-12
-67
110
-72
34
-50
211
3
8
15
-70
18
44
17
-14
0
-67
6
-11
-10
-70
-85
28
-25
100
-19
-124
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
0
14
0
242
0
73
0
152
0
15
0
42
0
8
0
111
0
-4
0
156
0
38
0
186
0
-28
0
63
0
2
0
42
0
1
3
89
0
65
0
147
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
64
48
147
39
28
56
123
84
6
-155
25
-104
2
47
165
-6
-2
50
27
-39
12
19
-8
-67
38
40
40
-21
104
-9
-23
6
7
109
215
-121
62
-120
60
51
23
-24
-145
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
9
0
19
0
9
0
5
0
74
0
8
0
46
0
-7
0
4
0
9
0
30
0
-2
0
35
0
-8
0
-3
0
4
0
68
0
58
0
106
0
8
0
-79
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
113
7
113
-38
38
-19
45
1
-51
39
107
118
-18
-38
-16
36
-80
51
87
4
27
5
15
1
30
26
-10
-42
7
0
27
-52
-8
-1
6
-5
61
-18
147
-29
91
3
26
-34
-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
-11
179
0
221
0
185
0
86
1
8
0
23
0
86
0
18
0
128
0
25
0
16
0
36
0
85
0
-53
0
61
0
17
-6
-131
0
-55
0
38
0
-38
0
-81
0
11
0
-71
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
28
237
29
108
55
85
78
10
98
65
86
76
-70
68
-111
21
-65
87
-32
100
60
140
-11
71
-108
57
-12
22
33
9
0
-15
105
48
32
-21
-10
51
-40
15
62
38
-13
-32
18
149
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
10
0
136
0
11
0
100
0
19
0
7
0
-1
0
5
0
1
0
-18
0
2
0
29
0
2
0
42
0
0
0
45
0
6
0
195
0
-1
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
63
58
47
4
3
48
3
53
46
30
-3
62
-38
51
60
-54
12
43
4
27
-11
-56
-13
17
10
37
0
2
-18
61
0
-22
85
165
0
-38
-1
-94
0
36
23
31
3
45
1
20
1
37
-3
-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
118
0
-26
0
52
0
-19
0
54
0
92
0
64
0
63
0
-21
0
1
0
6
0
4
0
78
0
-14
0
103
0
8
0
24
0
39
0
159
0
-22
0
18
0
43
0
-50
0
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
186
-10
95
39
198
55
77
0
84
31
-99
11
77
6
-74
52
186
23
-38
-95
-25
-3
13
-40
91
-41
83
15
27
19
49
25
85
18
-28
49
47
4
50
-130
61
29
48
15
106
24
6
-86
-185
2
-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
29
0
-11
0
50
0
3
0
14
0
-1
0
5
0
-1
0
-28
0
0
0
24
0
-1
0
10
0
1
0
1
0
0
0
-6
0
0
0
-16
0
1
0
-67
0
0
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
23
51
7
-57
-12
55
10
40
-49
-6
-2
60
-32
22
-1
-3
28
19
11
-11
9
-28
-1
20
29
13
-1
-3
2
4
-2
-2
24
1
0
34
9
13
0
-21
23
19
-3
21
1
56
0
-7
25
85
0
8
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
93
0
-72
0
85
0
-17
0
-19
0
-14
0
118
0
3
0
-27
0
20
0
-5
0
-1
0
24
0
10
0
-50
0
-25
0
92
0
58
0
37
0
-3
0
92
0
23
0
38
0
0
0
22
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
217
19
38
-6
51
-22
8
-37
54
10
-30
-35
65
37
27
12
50
-3
-42
-61
27
14
-20
37
30
-1
0
23
66
0
-12
-74
18
4
53
-105
91
26
-50
-132
26
2
64
-76
142
-3
14
67
103
0
43
-49
13
2
-51
-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
-6
0
1
0
51
0
0
0
12
0
0
0
-45
0
1
0
6
0
0
0
75
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
-1
0
-1
0
8
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
6
22
1
9
2
-8
11
64
-2
40
0
8
-14
55
0
-21
2
-22
0
3
-2
2
0
33
4
-25
0
3
-1
22
0
26
-3
-20
0
29
-17
-28
-10
44
1
-25
0
-1
3
2
0
0
1
43
0
-1
0
-14
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
27
0
-32
0
-35
0
-10
0
-22
0
9
0
23
0
7
0
42
0
-1
0
21
0
1
0
60
0
-3
0
12
0
-2
0
59
0
-1
0
37
0
-4
0
51
0
0
0
23
0
0
0
-6
0
6
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
44
-63
22
28
12
120
-1
81
-7
-25
17
-18
4
55
0
33
14
100
54
7
-16
-2
-1
-17
-13
29
-2
16
-12
55
0
2
3
27
-2
40
-20
-7
22
6
24
-14
4
13
-11
-10
2
-40
33
22
1
7
0
34
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
8
0
0
0
-2
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
0
-2
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
-13
-26
1
-29
-2
32
3
32
-2
14
3
22
6
-8
-3
-13
1
-3
0
32
1
-16
1
-4
1
-11
0
1
0
-13
0
1
-6
54
5
9
5
72
6
9
-2
-3
0
8
-3
-14
0
4
-1
-57
0
-1
2
1
0
-2
-8
-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
39
135
5
-57
-10
-38
0
-65
75
103
0
-90
-24
-64
0
-132
0
-58
0
-123
4
-83
0
-16
0
-24
0
-47
0
50
0
-36
612
128
0
52
-3
57
0
-47
-10
80
0
76
0
-15
0
-1
0
-148
0
-16
0
-38
0
-4
0
69
0
-37
0
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
195
155
77
123
60
56
-174
66
120
38
-53
65
41
49
14
-189
61
65
57
79
50
8
-2
-158
49
-10
-47
-67
-220
49
-23
-114
210
133
80
16
-11
3
-123
21
-64
13
-154
-135
-67
-55
-171
-79
-56
0
-3
-23
-118
29
28
7
-138
-64
-21
-179
-41
-97
29
0
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
188
0
143
0
104
0
13
0
-33
0
43
0
29
0
-78
0
127
0
-1
0
9
0
31
0
-36
0
-4
0
-13
0
-27
0
225
0
102
0
154
0
-39
0
13
0
-14
0
105
0
3
0
127
0
-1
0
16
0
5
0
-21
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
203
273
83
115
18
161
27
185
33
52
27
59
15
27
51
-90
90
-12
24
108
-40
87
-19
104
99
-88
-8
13
-14
-93
0
-30
243
195
95
-8
135
82
-52
-187
-29
-77
12
43
17
-50
-10
0
-44
-47
0
-18
-119
18
0
6
-34
-125
0
5
-40
5
0
-6
69
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
2
190
3
29
0
91
28
-105
-7
42
0
75
0
-68
0
45
0
-60
0
-110
0
-11
0
-6
0
-71
0
66
0
-28
0
-2
-2
215
0
133
-1
129
0
-68
-39
49
0
-63
0
-78
0
-60
0
-180
0
92
0
-29
0
-17
0
22
0
-13
0
-58
0
-4
0
69
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
175
90
118
133
98
153
-63
52
-36
32
-99
112
-13
0
50
35
79
48
31
-37
-75
-63
27
63
42
21
-156
15
37
-76
16
51
92
70
35
82
279
27
-40
-20
37
103
-72
20
1
-75
-56
-54
26
10
-7
-35
63
12
2
8
-12
-115
-20
62
11
36
-3
13
164
-1
-50
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
-39
0
39
0
-4
0
96
0
35
0
-69
0
0
0
76
0
5
0
-6
0
7
0
8
0
-2
0
0
0
0
0
8
0
2
0
89
0
-8
0
1
0
-4
0
18
0
-22
0
51
0
0
0
-13
0
0
0
-39
0
1
0
2
0
0
0
-112
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
121
172
11
78
192
-30
9
45
-33
122
41
153
26
-53
99
19
28
20
-12
72
38
3
4
-32
46
-57
-6
-39
3
12
-4
-32
61
-64
-70
149
73
135
11
102
-16
58
-9
65
26
43
2
-48
45
-80
-4
14
13
17
0
-20
84
88
0
22
-15
-75
0
-45
15
97
0
41
-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
187
0
-9
0
50
0
46
0
88
0
70
0
-27
0
58
4
-50
0
39
0
-54
0
53
0
5
0
13
0
-16
0
11
0
86
0
23
0
5
0
49
0
49
0
7
0
-6
0
-27
0
155
0
-17
0
-36
0
-2
0
90
0
13
0
-13
0
0
0
-17
0
-13
0
2
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
203
98
5
62
25
47
-119
104
10
23
110
-21
48
-1
5
-44
112
-12
-102
48
43
149
-41
116
-5
83
-16
24
25
-168
-37
-33
104
160
-26
235
84
108
-40
-119
54
172
-51
-155
12
33
-5
-47
53
103
25
106
28
-87
10
-55
8
-14
-13
-23
-7
43
0
39
-69
125
-69
172
31
77
10
-41
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
-10
0
-14
0
1
0
-44
0
9
0
23
0
-1
0
39
0
11
0
1
0
0
0
-39
0
0
0
54
0
2
0
8
0
-7
0
99
0
4
0
-20
0
-3
0
21
0
2
0
25
0
-2
0
2
0
0
0
1
0
0
0
1
0
1
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
13
0
113
88
79
2
27
-34
-4
4
38
5
-25
-6
-64
-28
46
2
-26
-8
10
7
5
-37
-31
-1
5
-20
-92
3
5
15
81
0
20
67
70
-5
98
24
20
-7
10
-17
10
-7
-43
15
38
0
-9
-6
17
-10
-4
18
0
0
6
-1
-11
0
4
5
-4
0
-10
-7
-53
-5
65
-11
106
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
98
0
161
0
-4
0
-2
0
34
0
-42
0
37
0
11
0
0
0
8
0
5
0
61
0
14
0
8
0
2
0
107
0
-6
0
83
0
7
0
102
0
24
0
-5
0
-4
0
28
0
10
0
-21
0
-3
0
41
0
-2
0
14
0
0
0
6
0
7
0
39
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-20
32
137
-7
7
41
71
41
-39
-31
63
-20
-163
20
42
-46
34
1
-4
-3
-14
-34
-120
-17
6
-28
15
-12
-47
3
14
-11
24
-27
221
-36
-15
7
98
-132
33
87
80
-27
-17
24
4
97
25
31
77
4
48
12
62
16
64
0
24
-2
-52
0
-7
21
-24
1
31
33
56
-7
95
-24
130
4
-39
-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
25
0
-2
0
26
0
-7
0
40
0
0
0
5
0
0
0
-15
0
0
0
-2
0
0
0
3
0
1
0
0
0
0
0
28
0
1
0
19
0
-1
0
26
0
-6
0
-10
0
0
0
12
0
-2
0
4
0
0
0
16
0
0
0
0
0
0
0
10
0
21
0
24
0
-19
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
29
6
-2
75
45
-3
3
29
50
32
1
0
14
-9
0
23
5
-16
24
-78
20
-46
17
0
35
-27
-7
33
-8
-14
0
-17
-8
2
-2
122
66
-50
0
13
22
28
0
5
-20
-38
0
39
-2
57
-2
42
2
8
0
-9
-48
40
0
-8
6
-3
0
-1
3
77
0
-3
0
2
11
26
0
-26
0
-19
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
139
0
-36
0
74
0
11
0
67
0
74
0
-22
0
-117
0
11
0
0
0
49
0
1
0
-110
0
0
0
-69
0
-21
0
31
0
-19
0
61
0
49
0
40
0
1
0
55
0
-39
0
-29
0
1
0
-1
0
-1
0
50
0
-1
0
-35
0
2
0
48
0
3
0
7
0
-23
0
106
0
-5
0
-41
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
176
122
102
-30
82
73
104
10
90
39
69
-34
79
-18
-37
-10
35
-9
67
-9
-64
-15
-42
-35
47
-3
-137
-38
-7
-2
59
6
-1
13
17
29
34
-1
-8
3
63
14
38
-54
20
-107
10
-39
-12
-3
-51
-38
2
2
42
-48
-73
6
15
10
7
0
-59
81
34
9
130
5
106
2
146
55
92
2
82
-10
7
-4
56
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
10
0
0
0
-9
0
9
0
-15
0
2
0
58
0
28
0
0
0
-1
0
1
0
-2
0
-2
0
0
0
3
0
0
0
141
0
-4
0
84
0
0
0
-5
0
-2
0
-9
0
-1
0
2
0
-5
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
66
3
52
25
25
-26
100
-1
23
-12
64
-1
-34
-2
-15
0
6
25
-40
0
-2
2
69
0
-3
-6
32
0
-7
8
75
-5
-69
5
-34
-7
-21
14
12
0
-17
-4
31
0
-40
1
4
0
27
-10
-7
0
-1
0
-2
0
0
-4
-29
0
0
0
-42
0
14
2
105
-1
4
22
-29
0
-26
0
21
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
33
0
12
0
-12
0
-5
0
4
0
33
0
32
0
9
0
-14
0
0
0
47
0
1
0
10
0
2
0
-4
0
0
0
61
0
-20
0
35
0
21
0
-42
0
6
0
15
0
-6
0
109
0
1
0
6
0
-2
0
8
0
0
0
-11
0
0
0
6
0
23
0
-35
0
7
0
-93
0
-3
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
4
-41
36
128
68
27
50
-29
31
40
-17
11
-6
54
21
-3
34
-30
-8
18
4
-5
0
21
19
-8
-42
-4
3
11
0
16
20
37
26
49
38
53
6
18
0
0
-26
-7
-55
-83
-12
34
28
96
1
-34
7
-17
0
-53
38
-128
-7
65
-1
-19
0
-1
43
41
8
-14
-5
49
10
5
11
41
0
22
10
-20
-1
-42
2
87
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
1
0
0
0
1
0
0
0
18
0
0
0
4
0
0
0
16
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
0
4
0
-1
0
-3
0
4
0
-17
0
0
0
-1
0
-2
0
1
0
-1
0
0
0
0
0
-5
0
0
0
1
0
0
0
8
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
1
27
4
-12
0
0
0
28
-32
38
3
25
4
78
0
19
8
-15
1
-8
0
-25
0
1
9
7
0
-14
-3
-37
0
1
-8
43
-7
45
1
35
1
-9
20
33
0
-19
-28
12
0
40
6
40
0
-13
0
-15
0
0
-3
37
0
-2
0
2
0
0
2
48
6
8
0
17
0
-13
0
-25
0
6
0
-51
0
-1
0
-24
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
2
0
-79
0
35
0
-32
0
3
0
-1
0
5
0
40
0
-3
0
-2
0
16
0
-2
0
5
0
0
0
14
0
-3
0
48
0
4
0
31
0
-19
0
76
0
1
0
16
0
8
0
31
0
-1
0
-12
0
2
0
5
0
0
0
-2
0
0
0
18
0
-25
0
27
0
3
0
7
0
0
0
-2
0
0
0
-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
35
69
-5
-68
10
31
9
12
33
62
4
31
12
-51
0
26
-3
-65
10
1
-2
-17
2
-29
-8
21
0
5
1
12
0
9
-6
-81
12
11
-25
-29
33
48
-11
128
-1
-2
13
16
-3
32
61
38
6
32
-18
83
0
-5
-6
31
0
0
-2
-31
0
1
-3
134
-2
70
-11
90
5
7
-11
62
0
1
3
6
3
-100
5
-31
1
-2
11
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
-2
0
0
0
-2
0
-4
0
-1
0
-1
0
23
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
4
0
0
0
-11
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-72
0
5
0
17
0
0
0
22
0
0
-2
18
0
11
0
-12
0
-1
2
55
0
0
-6
2
0
0
0
7
0
-1
0
-17
0
-10
-1
-17
0
-3
0
-22
0
-13
0
2
0
0
1
-4
0
-1
0
0
0
0
0
0
0
0
0
16
0
-1
0
54
0
-7
0
1
0
8
1
9
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
21
0
-1
0
3
0
1
0
25
0
1
0
11
0
0
0
21
0
0
0
-2
0
2
0
8
0
0
0
0
0
0
0
30
0
-11
0
7
0
6
0
-16
0
0
0
9
0
0
0
10
0
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
-7
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
-63
-3
58
2
-68
37
-25
3
-24
2
-15
-11
-14
14
1
2
11
-10
4
0
5
27
24
0
4
5
-6
0
4
24
28
5
25
-2
69
-7
-4
67
18
0
-21
4
-7
0
-14
24
11
-12
-38
-13
-65
0
5
0
-40
0
4
0
16
0
1
-7
26
-2
11
4
16
-2
22
3
-49
0
7
0
40
0
-6
-2
48
0
13
0
8
0
1
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
1
0
0
0
2
0
0
0
1
0
0
0
-14
0
0
0
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
13
0
-2
-7
32
0
0
5
4
0
-1
1
-2
0
1
0
-5
0
0
0
7
0
0
0
0
0
0
-8
32
-3
12
-1
27
0
18
21
-3
0
-1
0
7
0
-1
0
-25
0
-7
0
14
0
0
1
-4
0
0
0
-2
0
0
1
13
0
-18
0
-4
0
0
3
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
148
137
0
6
4
86
0
57
7
187
0
79
0
77
0
-24
-2
231
0
107
0
99
0
-49
0
4
0
-75
0
17
0
6
5
9
0
-8
10
-41
0
-1
11
97
0
-7
0
-44
0
1
0
225
0
-1
0
5
0
-1
0
114
0
0
0
6
0
0
-14
-48
0
9
0
26
0
3
0
-137
0
-5
0
-28
0
3
0
64
0
-3
0
-26
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
77
229
153
320
-21
152
0
37
144
77
8
100
63
60
51
85
44
97
100
127
10
42
70
-40
67
-37
-4
-89
81
-5
28
-28
164
43
79
101
-40
95
37
72
-7
91
22
138
-84
-38
20
63
-42
15
9
-15
107
145
0
-1
-38
-12
-7
-21
-6
-40
0
-7
95
75
9
32
-70
-16
7
-67
-151
-69
9
-147
32
-81
-1
-24
-165
-144
43
20
-50
-79
0
2
12
-13
-1
1
5
3
0
-10
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
78
0
-3
0
-18
0
-10
0
62
0
8
0
-34
0
-4
0
64
0
-1
0
26
0
-2
0
25
0
0
0
94
0
16
0
-38
0
0
0
-9
0
-3
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
104
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
-12
0
0
0
-7
0
0
0
-3
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
-6
13
1
77
25
-4
-9
151
75
-23
3
28
-1
-27
-4
11
-2
42
-17
-48
20
24
3
85
-8
42
4
4
56
-22
-1
12
4
118
0
10
-3
10
-4
-60
-6
38
2
42
-6
42
5
5
-2
83
0
1
4
-64
0
-2
-3
53
0
-3
0
-14
0
3
-11
-26
0
154
3
-30
0
79
-5
-6
0
-3
9
-71
0
-1
0
5
0
-5
4
-57
0
2
2
-9
0
0
0
-6
0
0
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
-6
0
56
0
52
0
179
0
59
0
-17
0
62
0
-13
0
-49
0
-16
0
89
0
13
0
21
0
25
0
39
0
0
0
-9
0
-5
0
-30
0
7
0
85
0
11
0
24
0
-3
0
12
0
9
0
2
0
0
0
16
0
2
0
4
0
0
0
-18
0
7
0
10
0
-5
0
-52
0
0
0
-3
0
0
0
2
0
0
0
1
0
0
0
-14
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
-16
173
76
110
-20
146
-13
67
-78
-24
-16
60
62
-10
14
18
14
-2
48
115
120
125
17
210
1
9
-17
-18
-38
-13
3
-6
-6
13
-59
-26
98
191
8
147
-51
43
-13
43
-34
18
0
-34
11
141
-4
78
0
86
0
1
29
27
-10
44
6
-17
2
-8
5
30
24
118
-74
-48
3
-69
-43
72
3
-126
16
-88
0
-29
10
-40
0
51
-7
-76
1
1
-15
-81
-1
-20
-4
13
0
3
8
18
0
46
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
70
0
2
0
0
0
6
0
-22
0
-7
0
61
0
1
0
7
0
2
0
12
0
13
0
20
0
0
0
1
0
-1
0
13
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-12
0
4
0
5
0
0
0
0
0
0
0
-5
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
15
-61
2
65
8
87
3
26
-32
37
11
45
22
145
-5
81
-71
11
-2
33
40
15
2
-24
-45
-18
-3
31
28
26
-1
1
0
82
-17
27
0
39
1
28
-7
-6
-3
-32
-2
45
0
5
2
58
0
79
4
53
0
0
0
-59
0
14
0
-1
0
0
1
99
0
-6
-7
89
0
-33
-1
-5
0
0
-1
-33
0
-55
1
12
0
8
0
-5
0
8
-16
17
0
0
0
-1
0
0
-3
3
0
-1
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
7
0
-7
0
31
0
52
0
72
0
-25
0
14
0
-26
0
-30
0
-1
0
58
0
23
0
54
0
-3
0
-20
0
1
0
34
0
2
0
55
0
4
0
-13
0
0
0
19
0
-1
0
64
0
0
0
7
0
0
0
4
0
0
0
-2
0
0
0
10
0
0
0
-50
0
2
0
-6
0
0
0
-10
0
20
0
-17
0
0
0
-2
0
0
0
-3
0
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
27
14
86
11
62
22
44
52
84
3
19
6
9
33
-54
49
-30
-6
-9
-15
106
16
69
6
-12
10
-17
60
56
41
-7
-27
45
3
60
49
89
-1
79
103
37
-7
20
-12
-9
0
37
36
19
-5
20
-12
71
0
-7
0
-11
0
-5
0
-49
0
0
22
2
0
-9
53
49
-8
3
33
-5
0
33
-14
-87
0
-28
-14
9
-2
-4
2
-97
0
3
-16
0
0
0
1
-67
0
0
-13
104
0
-1
2
20
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
1
0
0
0
1
0
-1
0
2
0
0
0
-2
0
0
0
41
0
0
0
7
0
2
0
-2
0
0
0
-3
0
0
0
1
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
-5
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
0
0
0
0
0
0
0
0
0
-4
0
10
1
18
0
40
-2
18
0
-5
5
-1
0
2
1
6
0
6
5
7
0
24
1
-8
0
0
0
4
0
0
0
-5
0
0
2
-6
0
62
0
-1
0
1
-13
-2
0
4
0
-4
0
0
1
-18
0
7
0
14
0
0
0
0
0
0
0
47
0
6
2
15
0
-25
0
7
0
0
0
23
0
0
0
-23
0
0
0
-29
0
0
-2
-6
0
0
0
0
0
0
0
-6
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
-6
0
0
0
4
0
9
0
7
0
2
0
10
0
0
0
16
0
-37
0
-5
0
6
0
48
0
0
0
5
0
0
0
32
0
2
0
3
0
-1
0
8
0
0
0
-1
0
0
0
23
0
1
0
-1
0
0
0
9
0
0
0
3
0
0
0
21
0
2
0
50
0
0
0
9
0
0
0
-4
0
0
0
6
0
-1
0
-1
0
0
0
-3
0
0
0
1
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
10
69
-4
29
-45
-40
6
-12
-2
77
-1
19
2
-43
0
-19
-23
130
4
3
31
73
2
3
-31
47
-3
35
6
54
-1
-11
10
146
0
26
4
66
0
-28
9
46
1
13
-6
-41
0
-2
10
20
5
7
1
-29
0
-6
-12
-29
0
-2
2
32
0
0
1
-17
2
-1
-10
52
4
-6
-21
19
0
26
0
-50
0
-4
-7
10
-3
19
8
-56
0
7
1
-20
0
1
0
15
0
0
0
9
0
-3
0
-13
0
1
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
-1
0
0
0
3
0
0
0
18
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
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
-17
0
-12
-2
15
0
0
1
4
0
-1
1
-7
0
5
38
14
0
10
-2
-10
0
1
-1
-10
0
1
0
-2
0
0
-1
16
0
1
0
1
0
0
0
-4
0
0
0
17
0
0
-2
-27
0
0
0
-1
0
0
0
-18
0
0
0
3
0
0
-1
-35
0
0
0
8
0
3
-11
31
0
0
0
5
0
0
0
50
0
0
0
2
0
0
0
2
0
0
0
0
0
0
2
-15
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
17
0
0
0
31
0
-2
0
31
0
7
0
66
0
14
0
40
0
1
0
85
0
0
0
43
0
1
0
0
0
0
0
40
0
-1
0
-65
0
3
0
-11
0
1
0
-16
0
0
0
-3
0
0
0
12
0
2
0
-1
0
0
0
-10
0
0
0
65
0
0
0
3
0
-1
0
24
0
0
0
29
0
0
0
-1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
5
0
0
0
4
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
-31
-69
1
53
3
49
-1
53
2
-7
-13
20
7
-22
13
-58
15
0
0
22
19
-72
1
47
-37
-29
-1
6
-1
7
0
16
9
20
8
38
25
-11
-4
43
-37
7
-13
-6
2
2
5
1
-1
0
0
0
5
28
0
-57
-23
19
-2
0
0
-1
0
1
1
-10
1
-12
1
-41
2
34
-20
-21
0
12
-4
84
1
11
6
-3
0
-1
-1
43
0
3
3
13
10
0
0
-3
0
0
43
55
0
8
0
-33
0
6
0
35
0
0
0
23
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
0
-1
4
-3
0
0
6
7
0
0
-7
15
0
0
3
34
0
3
0
-8
0
0
2
-1
0
-1
0
-1
0
0
0
22
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-94
0
-2
0
3
0
0
-1
-3
0
-1
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
-3
0
0
0
5
0
1
0
3
0
-4
0
-1
0
0
0
18
0
-1
0
-6
0
0
0
26
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
0
24
0
5
0
0
0
0
0
3
0
0
0
0
0
0
0
6
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
11
-15
1
16
2
40
0
21
18
26
2
51
0
-39
2
-41
-9
6
0
-2
1
18
0
-1
-3
23
1
-6
-2
-12
0
4
13
21
2
31
0
2
0
2
12
55
0
3
0
6
0
11
2
-3
0
-5
0
8
0
-2
7
-16
0
3
0
-3
0
0
-10
10
0
19
0
9
0
-4
-4
-28
0
-13
-1
25
0
2
4
-10
0
0
0
-4
0
0
-2
-3
0
0
-1
-5
0
0
-1
14
0
0
0
-1
0
2
0
19
0
0
0
-11
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
1
4
0
0
-2
2
0
5
0
0
0
0
-3
-1
0
0
0
-4
0
0
0
3
0
0
0
0
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
-4
0
3
0
2
0
0
0
35
0
-6
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
0
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
0
-85
0
-2
0
-11
0
-4
0
-2
0
1
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
27
0
0
0
-2
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
2
0
0
0
0
0
5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
37
0
-8
25
21
1
-6
-4
4
-2
0
2
33
0
10
0
4
0
1
59
25
-1
11
0
34
0
0
0
-4
0
0
3
5
0
1
-1
-16
0
-14
1
22
0
0
0
3
0
0
0
-8
0
0
0
-21
0
0
1
21
0
0
0
0
0
0
2
33
0
0
0
17
0
-5
-3
57
0
0
1
-17
0
-1
8
-18
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
19
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-2
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
11
0
-2
4
-14
0
1
0
5
0
-3
-4
-7
0
0
0
-8
0
0
0
19
0
0
0
1
0
0
2
-4
0
-4
0
2
0
11
0
-19
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-4
0
0
5
0
0
-2
25
0
-5
2
0
0
0
4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
65
-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
21
-9
-3
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
51
22
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
-5
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
45
88
137
41
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
10
-52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-15
18
5
-71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
203
-1
25
5
35
0
60
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
102
67
117
-7
-20
48
-75
-11
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
75
23
77
0
-30
1
7
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
76
38
96
25
29
24
-23
7
37
1
-31
-23
-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
47
0
-31
0
-16
0
101
0
-34
0
-9
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
104
77
9
69
27
44
14
20
-117
9
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-19
7
9
45
33
14
15
-29
1
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-18
-8
9
25
-35
-6
5
27
14
9
-15
9
-84
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
3
76
0
12
0
71
0
-6
0
48
0
-30
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
97
94
27
80
92
45
3
28
126
0
-129
86
0
-7
-129
-11
46
9
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
112
0
-91
0
25
0
98
0
21
0
-23
-15
-61
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
33
3
10
87
67
9
37
34
39
1
34
-7
-74
3
-29
-6
-25
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
71
0
105
0
207
0
-3
0
32
0
-19
0
64
0
-103
0
50
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
165
112
17
137
147
137
34
-19
56
55
129
69
15
26
-18
42
164
41
-124
61
-92
77
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
129
0
28
-5
105
0
6
-8
27
0
83
0
60
0
-8
25
47
0
4
-8
60
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
-66
28
31
38
41
16
53
27
29
37
-11
24
41
11
15
-12
-48
24
1
-7
-75
-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
66
0
29
0
71
0
6
0
47
0
192
0
72
0
55
0
45
0
51
0
22
0
29
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
195
114
143
95
98
85
-48
79
31
65
33
48
-17
41
-86
26
28
85
63
94
50
43
21
-19
-126
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
8
60
0
58
0
62
0
86
0
81
0
16
0
45
0
110
0
82
0
86
0
77
0
-98
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
82
-23
43
113
62
30
41
25
16
76
16
74
41
31
31
34
32
-25
36
54
-2
-9
24
27
21
-91
-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
148
0
117
0
117
0
88
0
50
0
75
0
5
0
121
0
121
0
63
0
57
0
56
0
-11
0
20
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
82
30
110
45
126
35
18
33
87
-77
82
74
136
66
56
146
27
61
-24
-61
-23
104
-24
-50
37
-44
23
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
72
2
-53
4
17
3
80
0
16
-3
1
0
-35
-32
-29
0
-154
-1
-45
0
-110
19
-28
0
-139
0
4
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
-21
15
-88
-10
5
32
-85
-9
-3
31
-101
2
-1
30
-118
-8
-53
5
-4
-37
13
10
-40
-34
-62
-33
-38
-39
-17
-6
-54
-75
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
0
161
0
120
11
4
0
-12
0
-22
0
56
0
-19
0
41
0
-31
0
-66
0
93
0
64
0
63
0
-5
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
25
49
24
-54
82
87
13
93
-50
32
26
34
45
33
-21
46
-48
29
-4
-57
54
50
31
47
26
16
80
-30
5
4
-41
32
-89
94
-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
-20
81
0
74
-5
118
0
-12
8
-40
1
-50
0
-23
0
0
0
80
0
-9
0
-10
0
-8
0
17
0
-107
0
-16
0
22
0
95
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-49
4
47
17
133
64
8
58
-7
18
60
28
-10
4
88
26
-7
-17
112
9
34
42
2
0
-15
-20
19
-1
-12
31
-18
-39
-11
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
108
0
27
-4
164
0
29
0
121
0
65
0
88
0
-50
0
-2
0
139
0
-47
0
-99
0
-49
0
-15
0
1
0
7
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
110
117
138
59
92
85
26
58
108
19
57
9
82
117
-51
74
-15
37
59
40
47
6
85
8
-34
-27
104
2
-71
-4
-58
-80
18
89
44
54
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
12
-11
82
0
126
-7
64
0
120
-1
-2
0
106
27
70
0
-60
2
69
0
-39
-5
65
0
21
0
23
0
38
12
-19
2
-104
9
6
-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
68
66
27
56
49
52
-8
74
2
40
-44
37
70
58
36
29
47
51
-108
16
73
43
-89
-3
-58
43
-113
-25
30
37
14
-2
-71
-18
44
148
-45
1
-71
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
-29
0
-23
0
-43
0
-28
0
204
0
-18
0
122
0
92
0
17
0
66
0
132
0
-1
0
56
0
38
0
64
0
-21
0
-94
0
33
0
36
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
78
60
22
77
55
69
-4
104
91
63
-57
46
59
27
27
68
56
69
-28
77
132
67
81
-23
-123
-10
74
-20
-33
33
-104
18
54
135
-8
65
-41
38
-28
72
-59
55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
9
0
41
0
35
0
19
0
105
0
31
0
51
0
-32
0
74
0
84
0
18
0
-175
0
-5
0
58
0
-46
0
-72
0
37
0
98
0
94
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
181
100
186
50
55
77
90
97
51
61
-2
-21
62
47
104
-13
60
42
47
78
7
42
65
78
-23
32
169
39
-31
28
-87
74
73
24
66
-53
-34
48
-40
-9
-50
-48
-81
-24
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
-32
0
44
0
36
0
56
0
91
0
2
0
-51
0
3
0
-58
0
63
0
22
0
49
0
62
0
41
0
0
0
-40
0
85
0
75
0
135
0
8
0
-59
0
-2
0
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
32
139
23
31
16
144
-20
132
72
106
6
69
51
55
-65
96
63
80
87
33
71
46
26
118
16
33
37
25
-89
1
-38
-51
-9
81
-34
0
-37
-15
-18
38
-7
27
-5
-23
-19
-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
-6
-12
0
45
0
66
0
11
0
102
0
-19
0
124
0
-27
0
8
0
36
0
64
0
-26
0
36
0
-63
0
48
0
-26
-1
88
0
47
0
7
0
-130
-1
81
0
-56
0
69
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
118
152
29
66
99
42
58
86
141
33
34
78
31
81
-2
31
-78
67
35
16
-19
23
26
40
-27
-14
50
42
112
41
314
56
88
12
16
12
2
-28
14
14
11
26
47
10
45
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
87
0
8
0
87
0
-26
0
15
0
-5
0
-16
0
50
0
-42
0
-3
0
88
0
-6
0
64
0
10
0
136
0
-15
0
13
0
1
0
73
0
4
0
96
0
0
0
24
0
-15
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
114
168
5
101
64
159
63
47
37
85
-34
75
-68
74
98
40
-26
95
-3
0
78
76
-5
48
-8
20
-4
-49
127
26
29
-69
75
-14
0
-34
4
7
-6
11
17
-48
9
70
36
-20
-2
-8
12
-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
77
0
35
0
50
0
34
0
34
0
53
0
161
0
93
0
-22
0
109
0
-45
0
-72
0
48
0
-40
0
146
0
-65
0
34
0
43
0
78
0
-18
0
61
0
18
0
-17
0
-41
0
-10
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
64
99
-71
86
2
119
155
-11
99
74
-41
69
55
60
12
42
134
69
30
-4
-124
92
114
72
44
25
-29
91
22
30
35
-14
51
-4
67
71
-16
51
0
30
25
19
-65
-12
-83
-39
62
2
27
10
-78
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
175
0
6
0
69
0
46
0
1
0
95
0
17
0
5
0
-43
0
38
0
15
0
-2
0
209
0
17
0
-35
0
23
0
-35
0
0
0
-20
0
-1
0
-23
0
0
0
118
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
135
8
8
38
121
32
-11
-39
76
19
-13
-4
75
14
26
119
65
47
-71
149
43
-50
4
91
21
-48
36
124
69
6
-86
-43
100
-1
40
9
29
0
-40
50
0
-12
20
16
65
0
-226
51
70
12
-1
-37
-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
127
0
143
0
100
0
1
0
28
0
55
0
131
0
16
0
74
0
168
0
109
0
79
0
64
0
53
0
-29
0
-16
0
68
0
-102
0
245
0
119
0
134
0
44
0
148
0
36
0
24
0
-39
0
-25
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
139
101
33
27
89
109
86
62
124
104
-34
67
29
49
137
112
46
5
-10
11
-10
24
-100
37
-5
51
-25
179
20
27
-14
47
115
41
47
50
-65
23
-8
109
-103
35
13
-78
-15
81
108
-43
76
3
32
-15
-155
31
6
-54
-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
-76
0
4
0
38
0
77
0
-52
0
-3
0
-7
0
16
0
68
0
-6
0
187
0
-40
0
57
0
0
0
48
0
-8
0
79
0
0
0
49
0
-1
0
54
0
0
0
-47
0
0
0
-32
0
4
0
-31
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
120
67
9
115
123
50
73
157
113
27
5
140
85
53
17
34
56
75
-14
148
132
11
61
24
33
-19
0
-72
-127
8
9
-13
-16
53
0
-42
-1
36
-31
198
73
-50
0
-16
-1
-31
-1
-6
21
-64
0
85
9
-78
0
-48
-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
160
0
-21
0
14
0
34
0
142
0
74
0
107
0
23
0
122
0
-11
0
124
0
-20
0
51
0
-63
0
24
0
-74
0
92
0
20
0
24
0
63
0
87
0
19
0
51
0
6
0
91
0
17
0
36
0
11
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
120
111
173
59
40
102
-48
23
55
68
38
114
143
153
21
86
55
68
16
24
79
43
111
-3
87
25
-43
47
123
56
87
-70
135
45
-62
0
70
-34
49
6
80
18
-53
49
-30
0
34
-23
-31
-19
-7
71
9
94
-34
97
132
59
21
23
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
129
0
-35
0
129
0
1
0
26
0
4
0
87
0
8
0
-29
0
10
0
20
0
1
0
-98
0
4
0
7
0
0
0
-41
0
-2
0
47
0
0
0
2
0
0
0
-43
0
-3
0
-44
0
0
0
54
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
129
-64
106
9
32
-14
59
9
66
-17
85
-22
-69
16
58
7
47
87
-46
9
88
106
8
42
1
40
83
4
25
-7
133
4
143
25
19
9
51
33
65
8
135
-64
188
-6
-119
67
-156
0
-70
-16
92
0
-109
-64
45
-5
-22
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
9
-5
0
-12
-2
89
0
-8
5
35
0
-84
-4
-12
0
-34
0
-5
0
-8
1
5
0
-57
0
60
0
-81
0
27
0
-138
-17
-129
0
-54
-1
-78
0
-41
-7
-20
0
-9
0
-34
0
80
0
74
0
-124
0
-111
0
-21
0
-47
0
-122
0
-58
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
28
45
-13
20
41
64
72
-21
-1
50
-91
-55
-58
18
-88
31
130
38
-48
-85
-52
-20
17
-17
58
16
-98
-42
-86
-1
-112
-55
-82
31
65
-49
73
3
23
-41
-4
24
-140
-47
-141
-76
-68
-96
22
-6
73
-58
-76
-42
108
-146
-66
-11
-41
-17
-124
-58
-54
-62
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
79
0
110
0
149
0
88
0
14
0
91
0
85
0
93
0
-7
0
-24
0
39
0
-183
0
-69
0
-27
0
45
0
116
0
63
0
33
0
6
0
-51
0
-25
0
40
0
-20
0
73
0
-5
0
13
0
8
0
-18
0
-1
0
102
0
-9
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
55
179
14
159
87
40
157
156
1
110
2
36
29
104
53
12
-17
98
-3
56
97
5
-64
75
43
66
-3
-132
-87
43
6
-60
118
64
58
123
89
-2
21
-120
-71
103
19
-24
-4
-39
-9
-44
-61
-50
-1
122
-128
2
-4
-77
24
66
7
-31
34
-45
3
13
132
-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
-18
1
-28
0
20
27
-64
-4
46
0
69
0
4
0
11
0
91
0
36
0
9
0
26
0
-32
0
-49
0
14
0
-38
0
48
0
71
-4
123
0
-2
-13
16
0
-111
0
43
0
-11
0
54
0
-103
0
-68
0
-46
0
79
0
-91
0
-38
0
-37
0
108
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
146
-49
85
59
-32
47
65
76
77
143
12
49
57
108
36
10
47
70
20
75
71
117
34
120
17
-36
-59
-64
-39
-1
21
-55
74
107
-20
-2
40
-55
36
-9
-24
5
-41
18
-33
-81
-102
39
-8
-66
-66
-28
-18
-12
23
-49
-19
-85
-7
-66
-53
-32
-18
85
17
59
-3
-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
0
0
0
0
0
0
0
0
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
-27
0
51
0
-2
0
59
0
15
0
-41
0
7
0
71
0
3
0
73
0
42
0
21
0
126
0
9
0
24
0
-30
0
-8
0
83
0
-15
0
80
0
-11
0
15
0
-26
0
33
0
-1
0
-60
0
0
0
-63
0
6
0
20
0
-9
0
-40
0
-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
99
95
56
85
153
89
37
87
-55
57
29
-34
-63
139
66
-1
126
75
-32
-3
93
73
14
-78
-87
69
-74
-40
50
18
-35
-29
67
64
-13
-27
41
-7
3
83
20
25
-6
-5
26
82
4
14
-96
14
-39
-45
51
-82
-6
-20
-81
-99
5
85
-19
-93
-8
-76
30
28
-3
17
-16
49
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
20
0
6
0
100
0
65
0
94
0
70
14
38
0
-11
0
22
0
17
0
3
0
48
0
147
0
-59
0
129
0
5
0
49
0
125
0
82
0
-81
0
13
0
-56
0
-93
0
-29
0
57
0
-147
0
-100
0
50
0
-99
0
-24
0
222
0
-103
0
87
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
152
103
29
68
32
114
-45
37
93
67
-8
52
45
16
-22
-25
-3
58
-13
-23
25
17
-5
-29
13
65
-80
6
36
40
-83
81
156
65
35
37
97
3
-17
104
6
6
-130
71
1
25
-11
-53
-36
25
54
13
71
20
84
59
67
-26
-23
-33
77
35
-55
-87
13
42
-150
-33
42
61
7
-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
36
0
3
0
35
0
-9
0
-20
0
8
0
-28
0
20
0
96
0
48
0
141
0
34
0
53
0
1
0
-70
0
-14
0
23
0
4
0
91
0
1
0
95
0
4
0
-34
0
1
0
-60
0
2
0
80
0
-1
0
32
0
2
0
-59
0
5
0
4
0
22
0
7
0
-41
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
187
68
5
25
83
143
-14
-1
-1
93
10
18
-31
18
-8
6
-67
38
12
99
105
48
71
-74
-3
-98
3
2
-59
-100
24
-157
49
74
-6
-97
81
42
-10
66
129
-6
-9
77
-1
129
-20
-87
90
43
-2
44
40
0
-98
-30
48
-26
-5
47
-37
14
6
-33
13
46
0
-3
35
12
-6
93
-6
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
-16
0
81
0
196
0
32
0
195
0
33
0
20
0
81
0
62
0
-1
0
-89
0
26
0
103
0
5
0
-39
0
50
0
13
0
73
0
33
0
-21
0
127
0
40
0
-78
0
-4
0
64
0
59
0
31
0
-55
0
-62
0
-48
0
53
0
-8
0
5
0
-4
0
1
0
-41
0
-150
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
114
117
14
5
159
39
198
189
63
-41
64
-3
140
-8
60
93
88
59
35
-8
64
-164
-22
50
37
4
24
-74
1
-12
6
212
98
9
123
-35
55
20
66
90
10
127
66
-148
-45
46
83
9
43
-120
-97
9
7
59
32
-6
-4
-29
-45
2
-8
-56
40
40
11
29
-17
121
64
-26
94
-34
38
8
-130
-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
-10
0
-3
0
88
0
-8
0
110
0
-1
0
26
0
0
0
-51
0
-5
0
-35
0
-1
0
32
0
6
0
67
0
0
0
36
0
-5
0
7
0
1
0
124
0
-28
0
17
0
2
0
-77
0
-17
0
-14
0
-2
0
22
0
3
0
5
0
0
0
4
0
0
0
4
0
-16
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
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
197
1
106
79
137
7
81
64
25
17
41
75
-72
5
-35
49
62
24
27
120
28
-15
62
84
-4
-4
-138
-8
-36
-5
53
42
255
-10
176
154
84
-5
72
59
-8
27
44
-69
-66
0
96
43
-10
-3
105
-54
49
-1
3
-155
-65
-3
-70
44
116
0
103
20
196
-6
82
-1
44
34
49
-3
-72
0
-64
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
-22
0
111
0
44
0
-3
-2
87
0
37
0
54
0
-47
0
136
0
11
0
-23
0
11
0
50
0
28
0
85
0
7
0
77
0
-49
0
3
0
83
0
168
0
23
0
72
0
14
0
-43
0
32
0
6
0
-123
0
26
0
-20
0
-30
0
44
0
24
0
0
0
-6
0
-9
0
-21
0
-48
0
81
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
53
166
86
112
52
31
26
107
88
86
29
32
-3
65
141
50
-33
-118
-59
41
-49
27
-32
25
-120
-2
0
21
6
23
152
148
82
49
-76
4
-72
-31
123
63
102
77
23
34
-79
-23
57
26
-34
-87
-48
1
32
83
-46
-1
-3
55
-101
16
-68
-65
76
79
24
34
-58
136
-50
-128
22
53
8
102
-76
5
-8
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
25
0
22
0
51
0
15
0
138
0
13
0
168
0
-1
0
-41
0
-5
0
38
0
-10
0
55
0
0
0
1
0
23
0
130
0
-26
0
107
0
-6
0
-34
0
-4
0
121
0
16
0
-18
0
-10
0
-10
0
11
0
-37
0
-1
0
69
0
0
0
4
0
0
0
12
0
0
0
1
0
5
0
-19
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
211
-10
270
31
62
21
99
-7
27
54
69
2
62
109
39
-1
-70
95
7
4
79
188
128
14
92
26
51
8
44
25
77
-5
-100
-44
33
-2
-23
21
77
3
63
30
85
0
-89
31
-138
0
24
6
8
0
-35
5
-49
0
3
-16
-33
3
-33
1
34
0
38
3
-112
-10
-84
11
106
0
-68
-21
65
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
37
0
8
0
55
0
91
0
254
0
77
0
80
0
82
0
-27
0
31
0
22
0
-41
0
81
0
66
0
131
0
-127
0
63
0
-43
0
119
0
93
0
151
0
39
0
157
0
-102
0
143
0
6
0
61
0
-14
0
129
0
68
0
-54
0
33
0
-27
0
37
0
-8
0
39
0
-116
0
6
0
53
0
-20
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
260
67
78
-12
133
25
144
69
121
12
57
99
101
65
60
60
61
115
2
5
126
22
-88
101
24
57
23
-64
63
-40
56
224
68
-49
77
87
84
45
-51
50
73
-73
71
-81
2
18
159
-85
-3
-66
101
27
9
0
-104
-124
-7
64
6
-96
-60
29
-39
124
73
13
56
5
22
62
0
-90
69
-2
68
63
-1
6
-203
-54
-11
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
7
0
0
0
18
0
3
0
98
0
-3
0
86
0
-3
0
102
0
0
0
0
0
0
0
54
0
-33
0
42
0
-3
0
24
0
-3
0
1
0
3
0
19
0
27
0
16
0
-26
0
28
0
-2
0
4
0
0
0
103
0
-1
0
33
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
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
141
18
45
-3
60
-2
8
0
123
11
102
-11
136
7
-60
9
59
-2
25
-5
71
1
17
81
-33
-52
38
-39
-47
3
37
8
82
-11
55
0
62
1
144
87
-17
-4
56
10
-58
-2
76
62
-23
1
-71
-2
63
0
-42
-7
-44
0
66
5
-34
2
-2
8
16
18
-2
3
3
-3
-53
13
-14
5
44
1
45
0
44
0
-84
0
-109
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
52
0
-13
0
92
0
-38
0
9
0
-1
0
-13
0
52
0
-49
0
-27
0
47
0
16
0
41
0
61
0
89
0
144
0
64
0
59
0
104
0
-86
0
109
0
-18
0
15
0
102
0
87
0
-33
0
-36
0
-11
0
39
0
-1
0
4
0
1
0
-56
0
-79
0
190
0
22
0
3
0
0
0
-42
0
0
0
16
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
-27
198
-1
-49
179
119
151
156
-8
177
35
175
31
87
90
30
23
74
70
32
-144
114
83
-19
114
33
-44
66
15
82
23
-51
140
109
18
91
-44
44
-36
66
123
139
9
125
58
10
-37
1
7
56
7
-48
-99
38
74
49
-147
15
-1
-2
-55
9
25
80
-55
118
-11
15
136
40
6
-115
-63
27
6
22
-10
-10
11
-112
41
53
-3
173
11
-29
-5
-90
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
-14
0
-25
0
-3
0
-65
0
29
0
77
0
-5
0
5
0
0
0
-4
0
11
0
171
0
-15
0
79
0
7
0
35
0
17
0
-4
0
0
0
-14
0
1
0
-22
0
-8
0
32
0
0
0
10
0
0
0
21
0
0
0
-28
0
0
0
-16
0
-5
0
-3
0
0
0
23
0
0
0
5
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
-5
64
3
-30
55
66
5
53
5
148
0
-1
2
8
1
72
35
62
3
43
34
-50
-12
85
54
94
-17
-2
13
-16
1
-77
58
36
0
39
25
137
0
73
3
124
0
57
17
115
0
-160
12
-84
0
-36
-59
63
-2
2
28
-54
0
34
-51
-81
-45
-12
50
7
0
23
-2
109
0
-49
-6
44
0
18
7
-70
0
43
0
-30
0
-13
-2
69
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
104
0
73
0
32
0
6
0
88
0
49
0
198
0
38
0
199
0
-8
0
-65
0
-54
0
0
0
17
0
51
0
-58
0
64
0
-54
0
28
0
4
0
2
0
-8
0
220
0
-6
0
29
0
-1
0
-31
0
7
0
49
0
-9
0
77
0
0
0
-3
0
-11
0
-23
0
1
0
36
0
0
0
66
0
-21
0
-11
0
-16
0
28
0
-2
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
102
198
105
0
-34
78
-2
-51
109
103
93
62
19
-93
-10
-27
94
4
-17
5
9
35
-22
218
22
55
-34
135
-5
49
-49
67
80
118
71
92
51
105
-48
41
82
21
25
146
23
53
2
43
-34
-8
-66
-56
14
-11
5
158
105
24
-32
8
-6
27
-8
162
157
-13
21
50
-1
78
-7
-48
53
66
0
41
44
55
-1
76
105
93
0
45
32
-102
0
-37
-19
-111
-6
46
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
5
0
86
0
0
0
-5
0
0
0
73
0
11
0
62
0
2
0
-62
0
0
0
14
0
0
0
145
0
5
0
23
0
-1
0
5
0
-13
0
7
0
0
0
20
0
0
0
-62
0
3
0
9
0
0
0
6
0
0
0
-10
0
0
0
10
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
-1
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
24
214
4
-32
42
30
9
59
24
61
3
10
8
98
3
-4
-43
18
-15
9
85
140
-3
-94
24
27
3
-30
15
54
0
39
92
120
-17
-88
-87
106
0
41
112
-3
-2
-67
16
186
0
106
12
-37
-8
8
-7
-44
0
21
-26
-22
0
-64
6
-14
0
-97
-8
15
-16
-55
-1
-6
0
46
8
70
0
9
0
-20
0
4
-5
-76
0
2
0
19
0
-27
4
70
0
-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
-15
0
47
1
38
0
59
5
65
0
11
0
43
0
-27
-2
59
0
181
0
122
0
-70
0
140
0
-22
0
45
0
-36
1
18
0
5
3
7
0
1
7
2
0
5
0
20
0
-4
0
-62
0
-2
0
-52
0
0
0
88
0
2
0
8
0
9
-3
-14
0
-3
0
38
0
-2
0
-147
0
-2
0
17
0
26
0
-38
0
-4
0
-82
0
0
0
-17
0
-10
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
0
81
63
33
92
8
115
-8
131
27
88
50
52
59
59
60
80
11
87
65
110
46
64
32
-55
109
76
27
-22
-7
47
14
-114
35
219
38
11
-27
39
18
90
-30
66
29
71
-9
17
60
-41
-8
82
15
-90
107
16
-18
-22
-67
72
-21
49
-73
23
11
-100
38
-49
-1
43
-53
66
-2
-62
-223
-5
12
-57
49
32
-3
-52
-18
-78
34
-47
-67
38
7
22
1
1
-3
39
86
-40
1
104
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
106
0
13
0
13
0
0
0
79
0
23
0
1
0
4
0
65
0
3
0
115
0
0
0
15
0
-2
0
277
0
55
0
-19
0
0
0
6
0
1
0
-5
0
0
0
2
0
0
0
-2
0
0
0
-2
0
0
0
-29
0
0
0
8
0
0
0
64
0
0
0
-5
0
0
0
16
0
0
0
2
0
0
0
-13
0
-1
0
-8
0
0
0
-3
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
80
39
-5
40
37
160
-6
181
56
57
5
108
-67
63
-20
68
152
-2
-71
-74
52
35
1
105
70
25
5
6
34
12
-1
21
6
39
5
-4
-3
22
-10
-2
-11
124
-9
-87
-20
138
10
6
-3
28
-2
-65
31
-24
0
12
-22
46
0
-10
-8
-2
0
26
-14
26
0
135
-1
35
0
14
-12
-9
0
0
23
-60
0
2
34
-53
0
-5
12
14
0
12
9
-17
-1
35
0
-167
0
-33
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
91
0
94
0
24
0
90
0
-4
0
22
0
48
0
-51
0
105
0
64
0
70
0
46
0
52
0
34
0
135
0
17
0
119
0
1
0
-44
0
-5
0
103
0
10
0
44
0
-3
0
-71
0
9
0
9
0
0
0
-72
0
-11
0
-45
0
2
0
4
0
6
0
2
0
3
0
-33
0
-4
0
64
0
3
0
-136
0
0
0
1
0
0
0
-3
0
3
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
0
0
0
0
226
128
97
19
175
126
18
65
179
143
37
25
15
51
-10
133
68
103
104
-23
82
20
-93
182
-42
73
77
-12
-127
72
-15
83
-69
51
-14
-15
60
145
12
51
-78
45
-7
85
-49
-101
7
-29
116
27
-3
157
8
59
1
126
-110
19
-18
43
-92
85
5
-44
93
103
-4
78
35
-27
7
41
-11
-86
9
-26
-38
30
0
-89
-28
59
-2
14
-12
130
9
13
-61
-65
-14
-53
-24
-56
0
-52
5
48
3
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
82
0
6
0
-1
0
0
0
66
0
-15
0
94
0
-14
0
-47
0
-8
0
35
0
20
0
-33
0
1
0
-55
0
3
0
3
0
0
0
1
0
0
0
-28
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
-20
0
7
0
10
0
0
0
-9
0
0
0
-19
0
0
0
3
0
0
0
4
0
0
0
12
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
38
108
4
154
22
67
9
61
-69
148
52
67
70
70
-16
82
118
81
-15
137
-4
175
4
-50
17
28
-38
97
-20
74
-6
114
2
20
-15
4
0
66
-7
43
-42
71
-10
-7
4
65
0
14
9
-95
0
196
5
109
0
-10
-55
89
-1
34
-1
-66
0
-7
2
160
0
-12
-12
109
0
-48
-10
-54
-5
-28
-4
-84
0
-34
19
156
0
98
1
-24
0
51
-49
42
-11
-4
-3
-7
0
-8
3
78
0
4
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
34
0
4
0
72
0
149
0
171
0
-72
0
38
0
-116
0
-62
0
38
0
198
0
66
0
-59
0
34
0
-102
0
-18
0
103
0
4
0
72
0
21
0
14
0
5
0
85
0
1
0
81
0
1
0
86
0
-1
0
63
0
0
0
52
0
0
0
5
0
0
0
-83
0
15
0
23
0
-7
0
-13
0
23
0
24
0
0
0
-2
0
0
0
12
0
0
0
-16
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
168
136
10
120
-39
138
38
27
89
59
17
40
-25
88
46
-21
23
108
-87
179
9
67
145
-14
-44
62
-17
86
-48
26
47
106
-28
122
8
109
58
167
-3
120
39
64
-8
57
-9
53
-4
-47
24
125
-21
183
-60
1
-3
-73
62
33
0
57
-8
-54
-8
-22
42
-1
19
30
21
-17
-7
61
75
8
0
122
64
-140
-4
-178
45
-103
15
45
17
25
-27
8
-20
-22
-1
6
-97
-22
-6
18
-44
5
0
-38
6
66
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
7
0
0
0
-7
0
1
0
18
0
0
0
0
0
0
0
163
0
9
0
21
0
10
0
28
0
-1
0
61
0
0
0
-2
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
11
0
0
0
0
0
0
0
-8
0
0
0
16
0
0
0
7
0
0
0
0
0
0
0
3
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
77
83
0
82
33
17
-3
152
-2
30
2
130
8
-74
6
90
-35
-18
-1
14
137
17
-24
11
20
49
-22
74
18
30
1
62
5
-88
0
-3
2
17
0
116
9
-27
0
6
-19
34
0
13
-1
-133
0
34
-4
-134
0
56
-3
1
0
-16
0
-41
0
-22
0
84
0
24
4
20
0
-55
5
103
0
-2
24
53
0
0
-2
-32
0
2
-4
28
0
0
-3
-117
0
0
-1
60
0
-4
0
-50
0
0
0
-39
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
6
0
55
0
18
0
60
0
48
0
85
0
5
0
119
0
16
0
54
0
-40
0
66
0
-47
0
-14
0
-13
0
84
0
3
0
-2
0
2
0
-17
0
0
0
2
0
4
0
119
0
8
0
17
0
0
0
-15
0
8
0
28
0
9
0
59
0
5
0
84
0
0
0
23
0
0
0
-45
0
-5
0
8
0
7
0
21
0
0
0
-57
0
0
0
-1
0
0
0
7
0
0
0
-10
0
0
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
123
-14
173
-148
73
44
49
80
76
-41
69
-102
32
-10
69
101
37
-64
49
34
51
42
-18
45
57
-51
35
21
110
2
50
105
81
6
-60
-12
67
2
-86
79
69
1
24
-25
19
0
-47
6
96
49
141
17
13
-4
65
51
-1
3
80
71
134
-4
16
-51
122
6
-10
-20
114
14
-4
105
54
-2
69
10
-93
-4
-58
-4
59
-10
69
0
63
-1
250
14
-34
-5
-39
-21
96
0
10
-13
68
0
-8
0
-1
0
2
27
-62
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
-2
0
0
0
-1
0
0
0
-14
0
0
0
30
0
-2
0
-25
0
4
0
11
0
10
0
-12
0
2
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
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
12
0
0
0
-7
0
0
0
-8
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-42
-1
55
-94
91
9
2
9
38
0
128
16
123
0
32
194
97
-40
-44
7
-12
-14
155
37
101
11
-23
1
-22
-2
-54
12
89
0
12
0
-5
0
2
4
104
0
2
-4
118
0
0
-32
24
0
30
5
-7
0
1
6
-17
0
-1
0
-54
0
1
7
-103
0
-1
-2
66
0
44
-18
31
0
3
12
50
0
1
97
20
0
-46
-7
181
0
-2
0
-156
0
-1
0
-29
0
0
8
-11
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
-40
0
-2
0
47
0
40
0
65
0
34
0
177
0
107
0
90
0
-26
0
-10
0
-8
0
17
0
-9
0
97
0
95
0
36
0
-1
0
-8
0
24
0
-75
0
-1
0
43
0
-1
0
26
0
-4
0
30
0
13
0
74
0
5
0
-1
0
-6
0
93
0
1
0
18
0
-2
0
122
0
6
0
132
0
10
0
19
0
1
0
-64
0
0
0
-5
0
0
0
11
0
-44
0
11
0
0
0
9
0
5
0
18
0
0
0
12
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
153
36
117
37
128
-11
89
103
37
74
-43
41
26
92
-56
56
80
6
114
-134
41
5
123
100
56
24
208
131
15
-19
-11
32
110
20
119
137
56
-11
103
48
51
-16
43
-5
74
19
78
-27
-26
0
24
3
56
0
-88
19
6
-9
-15
4
-16
0
58
-52
27
2
4
2
46
4
-16
48
49
0
161
-52
-68
-7
62
2
40
-2
-52
-7
-19
0
87
31
102
27
-54
-9
113
-6
22
42
101
0
28
0
-91
0
-19
-24
-21
0
-12
-2
38
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
-9
0
0
0
1
0
13
0
6
0
0
0
-20
0
7
0
14
0
0
0
68
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-25
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
-2
29
0
6
-6
165
-3
15
59
58
0
-6
-4
25
5
56
-20
75
0
-18
4
-46
-3
6
2
-69
0
47
-15
107
-8
-174
0
14
0
0
3
34
0
-16
0
2
0
0
10
43
0
31
0
11
0
12
-31
42
0
0
0
54
0
-1
0
66
0
27
0
27
0
3
-4
-96
0
1
-2
-80
0
-33
3
-26
0
-15
-2
38
0
-3
-2
98
0
0
0
67
0
-7
-2
40
0
-10
0
-3
0
0
0
-13
0
0
0
0
0
-1
0
-7
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
18
0
4
0
128
0
-34
0
7
0
4
0
180
0
56
0
-4
0
0
0
-92
0
37
0
-37
0
5
0
-15
0
-5
0
-1
0
0
0
70
0
10
0
25
0
0
0
146
0
-1
0
-8
0
0
0
-27
0
0
0
-29
0
-5
0
3
0
0
0
4
0
-7
0
102
0
-9
0
5
0
0
0
59
0
7
0
3
0
0
0
-10
0
-18
0
-5
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
122
18
102
15
152
-2
139
44
117
-45
51
78
77
18
-56
40
-11
-29
57
61
42
0
-101
-14
-4
22
71
99
14
1
81
53
125
3
7
8
4
0
-2
112
73
-3
-22
-4
-47
0
-36
25
-46
0
48
-5
138
0
-14
-8
19
2
69
-21
-27
0
-17
-78
22
0
-9
-1
64
0
6
-24
83
-10
-34
4
130
0
77
13
-23
0
-21
-2
-73
0
3
-89
2
5
-61
26
165
0
13
-1
71
0
13
0
-48
0
8
0
22
0
33
0
-135
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
19
0
1
0
0
0
0
0
-10
0
0
0
-3
0
0
0
-37
0
-2
0
53
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
6
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
85
0
-92
14
76
0
1
-57
78
3
22
23
6
-10
-12
-23
-13
1
20
-7
47
0
7
-25
23
0
6
-1
56
19
4
0
89
0
0
0
-14
0
0
2
57
0
23
1
-10
0
3
2
-71
0
0
14
7
0
0
2
-64
0
-1
3
-13
0
-1
-2
17
0
5
0
1
0
3
-3
-60
0
8
0
71
0
2
-2
22
0
0
0
50
0
-6
4
50
0
0
0
-43
0
6
0
-8
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
21
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
28
0
-29
0
68
0
7
0
6
0
9
0
95
0
19
0
-56
0
11
0
69
0
-23
0
96
0
3
0
5
0
-79
0
5
0
0
0
67
0
1
0
5
0
1
0
7
0
11
0
12
0
0
0
57
0
12
0
1
0
0
0
18
0
-6
0
-7
0
12
0
-5
0
14
0
63
0
0
0
-7
0
7
0
18
0
0
0
-12
0
1
0
-24
0
0
0
13
0
0
0
-4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
163
235
27
25
71
110
9
-36
-52
70
-10
52
23
81
8
120
72
11
-11
-39
139
41
14
17
-22
-18
0
86
-108
11
-41
62
25
17
0
131
-13
24
1
-101
9
48
0
27
34
110
0
13
38
-17
2
-65
6
-8
-1
-85
14
96
0
-10
3
-28
17
-49
76
39
0
61
11
124
5
-9
-53
-54
0
22
97
-97
2
1
-98
46
0
-64
14
103
5
10
-1
6
0
-21
-2
66
0
2
18
74
0
0
-35
115
0
21
0
-55
0
-2
0
172
0
-3
-12
17
0
0
6
39
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
13
0
0
0
5
0
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
17
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
7
191
0
3
5
42
0
79
-8
49
0
-62
2
-31
3
105
10
113
-4
7
-26
-56
0
-47
-1
56
-3
14
5
-17
0
-27
0
63
0
0
3
59
0
2
0
-2
0
-3
-1
6
0
5
0
44
0
-6
-14
-65
0
-4
0
-26
0
1
0
42
0
-1
-16
-4
0
0
-14
13
0
1
0
60
0
0
-1
-33
0
-2
0
39
0
0
2
-33
0
-11
5
-16
0
0
0
-32
0
1
14
5
0
0
0
-12
0
4
0
18
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
22
0
4
0
33
0
4
0
-11
0
-3
0
32
0
5
0
-48
0
-7
0
-33
0
0
0
-4
0
2
0
-12
0
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
-1
0
0
0
1
0
0
0
3
0
0
0
-45
0
0
0
-3
0
0
0
-11
0
0
0
0
0
0
0
-16
0
0
0
2
0
0
0
53
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
212
95
63
195
70
155
-1
17
186
43
-3
81
57
63
2
-46
45
59
-35
107
-2
-19
-15
-35
-58
8
41
-98
-71
65
0
40
29
67
1
32
-3
109
0
85
-35
35
0
-15
-12
69
0
-28
1
146
-3
-39
10
3
0
-11
-36
69
0
-63
-17
69
0
-4
-7
74
-14
83
5
92
0
62
-18
-30
2
-71
8
-47
8
-26
-91
-178
-3
-56
59
143
0
0
1
-37
-2
-22
31
-24
0
3
8
-46
0
1
7
66
0
0
0
151
0
7
0
12
0
12
-1
-79
0
-7
-9
-91
0
0
0
14
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
9
0
0
0
2
0
0
0
-1
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
-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
-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
3
213
0
63
-1
17
0
15
17
-102
0
118
0
-54
0
-14
23
-140
13
-66
47
34
0
-33
16
70
0
-67
0
60
1
2
1
22
0
-16
-1
27
0
6
-2
3
0
0
-15
-7
0
0
0
-12
0
-1
0
-6
0
0
0
12
0
1
0
25
0
-4
-2
103
0
17
15
20
0
9
0
94
0
2
0
-5
0
0
12
28
0
-2
0
-6
0
-1
0
120
0
-15
0
3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
22
-48
-3
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
12
14
5
33
-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
1
-25
0
-93
-5
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
20
97
148
47
32
46
-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
141
1
10
-58
4
12
-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
-1
3
25
-26
24
9
-82
-31
-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
-25
236
-1
37
5
25
0
62
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
94
54
123
-14
-35
63
-81
5
-29
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
2
68
0
83
23
91
0
-49
1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
116
21
34
36
-18
25
47
8
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
-20
0
108
0
-42
0
-11
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
142
104
108
75
2
91
22
30
26
36
-119
33
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-29
0
52
-19
9
9
63
29
16
15
-17
1
8
1
-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
98
50
-21
19
38
16
-29
-8
6
27
41
36
-31
17
-96
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
89
0
85
3
71
0
11
0
87
0
-9
0
66
0
-25
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
95
116
31
68
98
9
9
40
114
-21
-130
76
-8
4
-136
-14
49
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
-2
89
0
39
0
138
0
-97
0
27
0
111
0
23
0
-29
-15
-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
125
27
24
0
-11
126
72
3
52
53
31
-5
35
-25
-67
17
-35
-30
-28
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
78
0
102
0
210
0
-13
0
33
0
-21
0
73
0
-104
0
55
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
164
102
10
161
149
161
33
-49
54
63
134
73
22
8
-13
46
158
29
-134
56
-90
83
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
144
0
24
-5
127
0
13
-8
-2
0
83
0
57
0
-16
25
54
0
2
-8
68
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
76
-68
19
-5
36
62
12
56
39
30
32
-25
29
49
20
11
-4
-46
38
38
18
-85
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
75
0
6
0
49
0
190
0
60
0
53
0
46
0
51
0
17
0
36
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
194
102
145
94
100
78
-47
85
30
81
33
42
-11
30
-86
22
40
80
60
97
53
43
21
-23
-124
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
8
51
0
70
0
60
0
91
0
73
0
15
0
40
0
114
0
82
0
76
0
79
0
-88
0
24
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
-22
36
109
61
22
25
22
51
74
29
81
31
33
28
35
41
-19
48
62
7
-11
16
28
13
-84
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
118
0
108
0
84
0
42
0
69
0
1
0
121
0
119
0
67
0
52
0
62
0
-21
0
18
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
30
98
41
140
34
23
35
86
-80
73
70
139
73
66
151
26
61
-23
-66
-19
103
-26
-49
2
-42
15
-33
15
-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
81
-10
0
66
2
-54
4
23
5
130
0
23
-3
10
0
-35
-33
-39
0
-151
-1
-47
0
-108
19
-32
0
-139
0
-2
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
-145
13
-104
-22
-4
38
-78
-1
-38
-3
-103
28
-7
42
-129
-8
-92
-3
-8
-42
14
41
-30
-59
-78
-49
-36
-51
-7
-15
-50
-72
-232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
106
0
2
0
169
0
129
11
2
0
-13
0
-30
0
56
0
-19
0
43
0
-36
0
-68
0
95
0
61
0
62
0
-6
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
30
34
26
-86
80
98
16
104
-78
16
24
56
46
20
-18
41
-54
50
2
-48
63
62
33
48
30
28
79
-10
10
10
-42
24
-91
111
-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
-19
96
0
67
-5
151
0
-11
8
-63
1
-33
0
-23
0
-1
0
98
0
-9
0
-30
0
-7
0
24
0
-111
0
-16
0
20
0
109
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-11
40
17
147
77
-29
71
-14
-1
75
46
-16
-8
92
25
-4
-5
113
2
42
49
11
13
-20
-21
10
-13
-17
31
-22
-74
-12
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
76
0
-45
0
104
0
21
-4
168
0
23
0
113
0
67
0
83
0
-54
0
-6
0
136
0
-65
0
-101
0
-53
0
-15
0
-1
0
7
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
104
148
138
69
99
97
18
64
110
-10
63
24
88
142
-49
82
-25
49
56
40
48
19
84
13
-46
-19
112
12
-71
2
-56
-71
15
96
42
66
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
10
-11
86
0
139
-5
62
0
131
-1
-13
0
111
27
70
0
-57
2
64
0
-41
-5
69
0
24
0
19
0
36
12
-31
2
-110
9
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
33
81
44
43
4
86
-32
30
-51
28
86
48
47
21
59
52
-109
25
71
39
-96
-4
-80
57
-109
-28
56
35
16
6
-83
-24
45
172
-55
-30
-70
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
-38
0
-23
0
-52
0
-20
0
205
0
-17
0
120
0
88
0
12
0
64
0
144
0
-3
0
57
0
38
0
58
0
-21
0
-92
0
33
0
36
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
75
60
19
71
56
84
-6
106
86
53
-58
43
57
19
28
66
67
60
-32
73
138
57
80
-22
-132
-14
74
-22
-34
31
-103
35
51
140
-8
68
-43
43
-23
82
-59
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
180
0
3
0
-10
0
32
0
6
0
20
0
114
0
29
0
49
0
-41
0
75
0
81
0
9
0
-187
0
-10
0
55
0
-50
0
-71
0
39
0
99
0
100
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
189
137
193
36
43
78
100
95
66
64
-8
-33
68
39
102
-34
44
53
60
84
-3
77
66
78
-12
4
173
41
-38
18
-90
73
66
38
63
-63
-32
40
-42
-7
-62
-58
-82
-9
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
-37
0
47
0
36
0
53
0
83
0
2
0
-60
0
2
0
-56
0
62
0
33
0
45
0
61
0
45
0
1
0
-41
0
82
0
72
0
128
0
9
0
-58
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
25
141
22
30
6
145
-19
122
83
137
6
71
46
75
-62
96
53
95
88
26
66
55
23
125
25
27
34
15
-86
13
-38
-55
-12
76
-34
0
-34
-12
-18
41
-9
22
-5
-23
-19
-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
-6
-20
0
38
0
63
0
8
0
95
0
-23
0
149
0
-38
0
10
0
33
0
66
0
-19
0
40
0
-62
0
44
0
-32
-1
93
0
48
0
14
0
-130
-1
94
0
-58
0
78
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
116
185
33
50
100
39
55
83
136
26
44
70
36
82
-10
26
-77
64
31
1
-19
23
36
25
-25
-19
47
60
112
33
315
50
89
13
15
-7
-1
-31
16
-20
7
31
45
-18
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
82
0
-27
0
7
0
-4
0
-26
0
54
0
-40
0
-3
0
83
0
-7
0
67
0
10
0
133
0
-15
0
10
0
1
0
73
0
4
0
100
0
0
0
27
0
-13
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
111
170
5
96
64
149
60
56
41
96
-33
73
-67
88
97
39
-25
103
-3
-4
78
80
-5
43
-12
30
-4
-47
139
41
28
-70
70
-26
0
-38
4
14
-6
12
15
-54
9
70
41
-27
-2
-3
11
-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
83
0
39
0
50
0
40
0
39
0
58
0
156
0
94
0
-17
0
107
0
-42
0
-70
0
45
0
-36
0
126
0
-68
0
38
0
41
0
75
0
-16
0
68
0
12
0
-15
0
-41
0
-14
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
65
113
-70
92
1
106
155
-13
106
66
-27
83
56
59
13
53
149
27
38
7
-119
107
114
69
54
-2
-32
75
24
55
35
-7
51
-13
71
70
-18
54
-2
29
33
11
-65
-23
-85
-30
58
4
31
7
-78
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
0
6
0
67
0
47
0
3
0
94
0
13
0
5
0
-43
0
38
0
14
0
-2
0
216
0
16
0
-37
0
23
0
-32
0
0
0
-20
0
-1
0
-19
0
0
0
115
0
-4
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
141
141
8
7
38
116
32
-10
-34
84
18
-19
-1
74
15
19
118
68
47
-77
144
51
-50
-2
93
23
-47
36
127
66
6
-89
-42
103
-1
40
9
32
0
-38
52
1
-12
18
17
61
0
-228
50
66
12
-1
-37
-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
132
0
143
0
94
0
-2
0
20
0
54
0
136
0
24
0
53
0
167
0
114
0
82
0
59
0
46
0
-25
0
-22
0
65
0
-101
0
254
0
112
0
132
0
41
0
148
0
34
0
22
0
-39
0
-29
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
140
104
37
23
99
103
86
64
139
110
-33
86
24
48
137
106
45
9
-15
20
-5
28
-100
20
-11
48
-26
192
17
39
-17
49
117
35
46
53
-63
15
-8
108
-94
30
13
-84
-5
47
109
-45
74
-7
31
-20
-150
42
6
-40
-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
-80
0
4
0
35
0
76
0
-50
0
-3
0
-7
0
18
0
65
0
-6
0
193
0
-37
0
57
0
0
0
41
0
-8
0
77
0
0
0
47
0
-1
0
53
0
0
0
-47
0
0
0
-30
0
4
0
-32
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
119
67
9
120
124
42
71
152
114
17
5
138
86
49
17
43
58
72
-14
151
135
9
60
21
31
-18
0
-80
-132
14
9
-19
-16
64
0
-45
2
37
-31
195
72
-51
0
-16
-1
-33
-1
-5
21
-75
0
92
10
-80
0
-48
-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
164
0
-18
0
5
0
34
0
139
0
74
0
112
0
22
0
111
0
-9
0
124
0
-23
0
43
0
-62
0
27
0
-73
0
90
0
20
0
23
0
62
0
87
0
21
0
48
0
6
0
93
0
17
0
40
0
11
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
120
130
169
59
46
109
-47
16
60
72
41
110
151
150
21
83
50
68
17
23
82
50
112
6
80
32
-44
51
126
44
88
-64
141
58
-64
-1
66
-36
46
11
81
13
-54
52
-30
6
33
-28
-33
-35
-4
73
11
90
-34
96
137
55
21
24
205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
129
0
-35
0
133
0
1
0
24
0
4
0
92
0
8
0
-26
0
10
0
23
0
1
0
-105
0
4
0
7
0
0
0
-42
0
-2
0
48
0
0
0
2
0
0
0
-44
0
-3
0
-44
0
0
0
53
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
126
-63
102
9
30
-11
55
9
59
-19
89
-22
-72
9
61
10
45
87
-40
9
83
108
1
42
-4
41
87
4
28
-7
125
4
143
23
14
9
47
34
72
8
138
-63
189
-6
-117
67
-139
0
-68
-16
91
0
-109
-63
42
-5
-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
8
-16
0
-13
-2
101
0
-6
3
36
0
-87
-4
-14
0
-28
0
-4
0
0
1
-3
0
-59
0
42
0
-82
0
19
0
-133
-15
-179
0
-51
-1
-87
0
-39
-7
-33
0
-7
0
-35
0
80
0
84
0
-134
0
-118
0
-22
0
-67
0
-120
0
-64
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
23
40
-18
24
33
89
76
-23
-20
39
-87
-66
-78
0
-90
58
139
44
-51
-86
-57
-23
14
-11
66
30
-96
-17
-88
-21
-117
-44
-101
-8
75
-49
75
0
18
-71
-6
13
-140
-44
-142
-85
-69
-110
29
-3
70
-65
-74
-23
106
-154
-58
-17
-37
-13
-118
-56
-65
-59
-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
19
0
77
0
115
0
156
0
87
0
14
0
99
0
86
0
92
0
-7
0
-28
0
39
0
-185
0
-67
0
-33
0
51
0
121
0
63
0
33
0
6
0
-54
0
-25
0
39
0
-23
0
70
0
-5
0
12
0
8
0
-20
0
-1
0
104
0
-9
0
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
50
192
13
154
88
15
158
165
-15
121
-1
31
35
119
50
8
-24
116
-8
56
93
-10
-63
80
46
84
-3
-138
-88
64
6
-58
114
55
56
129
88
-1
20
-131
-75
128
19
-26
-5
-42
-8
-47
-62
-52
-1
132
-123
4
-4
-82
24
87
8
-32
40
-37
3
14
129
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
-29
0
8
27
-71
-4
49
0
62
0
-2
0
3
0
103
0
37
0
7
0
23
0
-35
0
-51
0
9
0
-40
0
42
0
70
-4
140
0
-1
-13
10
0
-113
0
45
0
-9
0
65
0
-105
0
-65
0
-45
0
86
0
-92
0
-38
0
-38
0
111
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
164
-46
88
52
-75
55
64
96
35
156
14
65
39
109
52
4
45
80
16
78
80
118
28
138
29
-30
-57
-70
-37
-1
16
-59
99
109
-35
-12
39
-55
46
-10
-55
4
-35
22
-24
-82
-100
31
-17
-66
-64
-29
-22
-12
28
-35
-5
-88
-7
-65
-40
-31
-17
86
15
58
-6
-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
113
0
-24
0
50
0
-2
0
55
0
14
0
-46
0
6
0
68
0
6
0
82
0
43
0
17
0
126
0
11
0
24
0
-28
0
-9
0
87
0
-14
0
73
0
-10
0
13
0
-26
0
33
0
-1
0
-59
0
0
0
-66
0
6
0
18
0
-9
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
91
55
101
149
93
33
86
-59
53
28
-42
-71
170
65
8
138
87
-30
-2
92
62
14
-83
-97
93
-76
-53
51
15
-35
-30
64
59
-14
-28
45
-12
3
89
12
19
-4
-6
24
87
4
11
-109
26
-40
-43
50
-82
-6
-16
-86
-118
5
82
-19
-101
-8
-72
25
32
-2
15
-17
53
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
14
0
8
0
103
0
60
0
89
0
71
14
39
0
-14
0
15
0
9
0
0
0
46
0
143
0
-61
0
137
0
4
0
44
0
132
0
82
0
-87
0
18
0
-58
0
-115
0
-31
0
64
0
-144
0
-110
0
50
0
-95
0
-23
0
230
0
-101
0
97
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
153
127
27
84
32
136
-44
38
96
89
-12
46
42
25
-24
-36
-15
46
-14
-27
29
5
-6
-40
9
38
-76
-7
33
46
-81
83
160
57
37
29
102
-11
-23
139
8
-11
-132
78
-4
20
-15
-44
-42
38
56
8
76
45
85
64
67
-14
-23
-37
68
24
-56
-89
9
41
-149
-39
38
58
5
-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
38
0
3
0
35
0
-9
0
-22
0
8
0
-27
0
20
0
97
0
47
0
137
0
34
0
54
0
1
0
-68
0
-15
0
23
0
4
0
88
0
1
0
96
0
4
0
-34
0
1
0
-60
0
2
0
74
0
-1
0
34
0
2
0
-59
0
5
0
5
0
22
0
7
0
-41
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
187
60
5
18
78
150
-14
2
1
98
10
14
-27
20
-8
8
-69
31
11
99
103
41
70
-73
2
-107
3
6
-61
-90
23
-160
51
74
-6
-99
79
36
-10
66
131
-13
-9
76
-1
143
-20
-91
92
54
-2
50
37
-14
-98
-29
45
-35
-5
45
-38
16
6
-34
13
50
0
-2
35
8
-6
92
-6
56
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
0
196
0
36
0
193
0
34
0
24
0
80
0
72
0
-2
0
-98
0
26
0
101
0
3
0
-50
0
51
0
7
0
73
0
38
0
-21
0
126
0
39
0
-81
0
-4
0
59
0
56
0
30
0
-57
0
-76
0
-48
0
55
0
-8
0
3
0
-4
0
3
0
-48
0
-156
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
128
119
7
6
164
39
202
198
87
-46
71
-2
159
-12
55
99
111
62
34
-7
61
-165
-6
62
32
13
25
-67
13
-14
0
220
113
14
120
-42
62
21
57
108
10
129
70
-145
-45
49
73
-3
55
-127
-95
8
-19
54
23
-12
-12
-31
-44
1
-12
-55
47
41
-3
27
-25
120
65
-27
96
-31
25
8
-131
-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
0
0
0
0
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
86
0
-8
0
109
0
-1
0
25
0
0
0
-54
0
-5
0
-40
0
-1
0
31
0
6
0
69
0
0
0
31
0
-5
0
6
0
1
0
126
0
-28
0
16
0
2
0
-83
0
-17
0
-15
0
-2
0
23
0
3
0
5
0
0
0
4
0
0
0
4
0
-16
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
192
202
1
96
75
150
7
79
63
29
17
38
72
-71
5
-33
53
68
22
41
118
27
-15
63
80
-14
-2
-139
-6
-33
-5
53
44
269
-10
176
157
89
-5
70
61
-7
27
48
-69
-66
0
91
47
-8
-2
107
-63
55
-1
7
-156
-62
-3
-74
44
118
0
99
21
202
-6
84
-1
46
34
50
-3
-75
0
-63
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
-16
0
114
0
43
0
-10
-2
87
0
37
0
61
0
-53
0
146
0
13
0
-30
0
18
0
52
0
32
0
90
0
11
0
84
0
-52
0
5
0
83
0
182
0
20
0
84
0
15
0
-41
0
32
0
13
0
-122
0
18
0
-20
0
-28
0
42
0
18
0
0
0
-7
0
-10
0
-23
0
-49
0
83
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
51
167
90
97
52
19
25
86
89
90
21
22
4
81
144
49
-34
-126
-60
36
-47
43
-25
36
-112
11
9
8
5
16
157
145
83
53
-82
-6
-73
-46
130
73
103
82
29
38
-73
-30
54
17
-36
-87
-48
12
34
65
-41
15
-3
44
-106
-4
-68
-62
73
102
23
30
-58
147
-50
-137
30
51
8
102
-76
11
-9
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
24
0
22
0
49
0
17
0
141
0
14
0
166
0
-4
0
-41
0
-5
0
39
0
-10
0
51
0
0
0
-1
0
23
0
126
0
-25
0
102
0
-6
0
-33
0
-4
0
122
0
16
0
-18
0
-10
0
-10
0
11
0
-38
0
-1
0
70
0
0
0
4
0
0
0
12
0
0
0
1
0
5
0
-19
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
211
-10
274
31
55
26
109
-7
25
52
75
1
66
109
42
-1
-70
93
10
4
78
188
118
14
91
29
41
8
40
24
77
-5
-107
-46
44
-2
-24
21
84
3
60
34
78
0
-91
31
-132
0
24
8
8
0
-37
5
-48
0
4
-16
-25
3
-42
1
30
0
38
3
-128
-10
-89
11
110
0
-68
-19
68
0
-42
-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
37
0
6
0
54
0
89
0
264
0
75
0
81
0
78
0
-19
0
32
0
19
0
-40
0
76
0
67
0
130
0
-133
0
67
0
-45
0
115
0
91
0
168
0
41
0
149
0
-102
0
137
0
5
0
62
0
-14
0
122
0
67
0
-51
0
34
0
-31
0
37
0
-7
0
39
0
-115
0
6
0
56
0
-20
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
284
65
68
-26
128
25
151
66
114
16
64
98
94
65
57
61
49
116
12
4
123
22
-89
100
36
56
31
-63
54
-41
58
230
72
-53
74
91
81
44
-64
49
75
-73
83
-78
31
17
160
-87
-13
-64
105
24
11
0
-103
-126
-20
65
4
-93
-67
30
-40
124
72
10
55
7
14
61
3
-97
79
-2
72
51
-3
6
-203
-54
-8
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
7
0
0
0
18
0
0
0
101
0
-3
0
83
0
-3
0
103
0
0
0
1
0
0
0
54
0
-33
0
39
0
-3
0
23
0
-1
0
1
0
3
0
22
0
27
0
16
0
-26
0
27
0
-2
0
4
0
0
0
105
0
-1
0
33
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
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
140
18
49
-3
57
-2
7
2
122
11
101
-13
132
7
-68
11
50
-2
21
-5
71
1
18
79
-40
-53
42
-38
-34
3
36
3
88
-11
57
0
56
1
151
86
-24
-4
55
7
-58
-2
74
59
-24
1
-71
-2
66
0
-47
-4
-39
0
67
5
-34
2
-3
8
3
18
-2
3
8
-3
-53
13
-16
5
45
1
51
0
43
0
-83
0
-109
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
53
0
-12
0
99
0
-39
0
12
0
1
0
-16
0
44
0
-44
0
-26
0
45
0
15
0
44
0
61
0
81
0
145
0
61
0
56
0
102
0
-90
0
110
0
-19
0
14
0
99
0
81
0
-33
0
-35
0
-7
0
24
0
-1
0
3
0
7
0
-53
0
-75
0
186
0
15
0
4
0
0
0
-45
0
0
0
13
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
-29
208
-1
-53
183
130
146
158
-9
161
33
172
35
102
84
40
22
93
67
33
-142
111
84
-15
114
29
-48
63
14
59
24
-42
141
102
17
90
-41
41
-42
64
124
123
9
119
64
14
-36
-2
-5
73
7
-47
-93
23
74
46
-143
33
-1
-8
-55
17
24
79
-57
122
-12
6
134
39
5
-120
-63
34
6
20
-11
-9
11
-110
37
64
-3
171
14
-31
-7
-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
-10
0
1
0
22
0
-14
0
-23
0
-3
0
-71
0
29
0
89
0
-5
0
9
0
0
0
0
0
11
0
171
0
-15
0
79
0
7
0
38
0
17
0
-4
0
0
0
-12
0
1
0
-23
0
-8
0
33
0
0
0
10
0
0
0
22
0
0
0
-28
0
0
0
-16
0
-5
0
-3
0
0
0
23
0
0
0
5
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
-5
61
3
-29
56
75
5
52
5
147
0
0
2
4
1
71
35
62
3
40
41
-44
-12
84
52
83
-17
-3
15
-12
1
-82
58
34
0
40
25
151
0
84
3
122
0
57
24
119
0
-157
14
-91
0
-36
-61
58
-2
5
27
-54
0
34
-50
-94
-45
-13
50
9
0
23
-2
109
0
-48
-6
39
0
17
7
-72
0
42
0
-34
0
-12
-2
65
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
106
0
74
0
31
0
5
0
83
0
49
0
198
0
40
0
195
0
-11
0
-66
0
-55
0
0
0
16
0
53
0
-58
0
63
0
-57
0
22
0
3
0
6
0
-8
0
214
0
-6
0
28
0
-1
0
-32
0
7
0
48
0
-9
0
75
0
0
0
-1
0
-11
0
-23
0
1
0
38
0
0
0
65
0
-21
0
-14
0
-16
0
28
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
106
204
104
5
-36
67
-3
-45
110
95
94
57
19
-85
-10
-20
93
22
-17
9
12
37
-26
210
22
43
-37
130
-1
41
-51
66
81
126
69
95
52
104
-49
40
80
23
27
149
24
62
2
45
-32
-4
-66
-54
15
7
5
160
101
37
-33
2
-6
13
-8
156
156
-11
22
48
-7
80
-7
-48
51
63
0
38
43
57
-1
80
103
92
0
41
32
-98
0
-34
-17
-116
-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
26
0
-4
0
-2
0
5
0
86
0
0
0
-5
0
0
0
75
0
11
0
62
0
2
0
-60
0
0
0
16
0
0
0
144
0
5
0
21
0
-1
0
3
0
-13
0
7
0
0
0
20
0
0
0
-62
0
3
0
9
0
0
0
6
0
0
0
-10
0
0
0
10
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
-1
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
26
222
4
-27
42
27
9
66
27
58
3
14
8
101
3
1
-52
20
-15
8
85
145
-3
-97
23
29
3
-30
15
56
0
41
100
115
-16
-89
-87
114
0
40
111
7
-2
-70
16
189
0
107
11
-33
-8
9
-8
-51
0
20
-29
-25
0
-65
6
-13
0
-100
-8
12
-16
-52
-1
-6
0
44
8
70
0
9
0
-20
0
4
-5
-78
0
2
0
21
0
-26
4
68
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
-26
0
42
1
29
0
58
5
57
0
11
0
39
0
-25
-2
50
0
179
0
118
0
-71
0
145
0
-23
0
47
0
-37
1
22
0
5
3
4
0
1
7
1
0
5
0
19
0
-4
0
-66
0
-2
0
-55
0
0
0
86
0
2
0
10
0
9
-3
-13
0
-3
0
35
0
-2
0
-150
0
-2
0
16
0
25
0
-45
0
-4
0
-80
0
0
0
-16
0
-10
0
72
0
1
0
0
0
0
0
0
0
0
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
62
30
97
4
114
-14
136
15
93
52
56
68
66
54
82
4
82
67
114
50
79
30
-63
125
111
30
-6
-19
46
12
-116
37
243
33
12
-25
40
17
94
-28
73
31
72
-7
28
59
-41
-6
102
15
-90
105
11
-18
-20
-66
72
-21
50
-73
31
11
-99
40
-60
3
45
-53
76
-2
-64
-239
4
12
-56
49
46
-3
-48
-11
-71
34
-49
-68
52
7
20
1
10
-3
37
86
-37
1
107
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
102
0
13
0
12
0
0
0
74
0
20
0
5
0
4
0
62
0
2
0
113
0
0
0
18
0
-2
0
281
0
55
0
-19
0
0
0
6
0
1
0
-5
0
0
0
2
0
0
0
-3
0
0
0
-2
0
0
0
-29
0
0
0
8
0
0
0
66
0
0
0
-5
0
0
0
15
0
0
0
2
0
0
0
-13
0
-1
0
-8
0
0
0
-3
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
80
40
-5
39
37
163
-6
184
53
58
5
98
-70
65
-18
65
155
-16
-69
-72
52
26
1
105
73
22
5
4
35
7
-1
27
6
37
5
-5
-3
20
-10
1
-11
131
-9
-82
-20
142
10
7
-3
26
-2
-62
31
-26
0
12
-22
44
0
-9
-8
3
0
26
-14
25
0
134
-2
37
0
13
-8
-3
0
0
23
-54
0
1
34
-60
0
-5
12
18
0
12
9
-22
-1
35
0
-167
0
-33
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
98
0
97
0
26
0
86
0
-5
0
25
0
45
0
-49
0
112
0
57
0
65
0
45
0
50
0
31
0
141
0
17
0
118
0
1
0
-42
0
-5
0
104
0
10
0
44
0
-3
0
-71
0
9
0
9
0
0
0
-68
0
-11
0
-47
0
2
0
6
0
6
0
2
0
3
0
-33
0
-4
0
63
0
3
0
-138
0
0
0
1
0
0
0
-1
0
3
0
21
0
0
0
25
0
0
0
0
0
0
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
132
97
11
175
124
19
64
194
191
41
16
16
43
-10
132
66
107
106
-30
79
4
-96
181
-47
77
86
-24
-124
80
-10
86
-74
48
-12
-21
59
148
12
53
-73
59
-6
81
-48
-120
6
-33
118
32
-3
155
7
55
1
128
-120
23
-17
42
-93
81
5
-44
93
109
-4
80
34
-23
7
39
-16
-101
9
-24
-33
45
0
-94
-30
66
-2
6
-10
141
9
13
-62
-56
-14
-51
-24
-59
0
-51
4
55
3
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
81
0
5
0
-1
0
0
0
65
0
-15
0
91
0
-14
0
-56
0
-8
0
32
0
20
0
-34
0
1
0
-55
0
3
0
2
0
0
0
1
0
0
0
-28
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
-20
0
7
0
10
0
0
0
-9
0
0
0
-19
0
0
0
3
0
0
0
4
0
0
0
12
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
35
108
4
149
16
64
9
54
-73
150
51
57
74
61
-16
77
127
79
-15
143
-5
180
4
-49
21
48
-37
89
-21
78
-6
118
2
15
-15
-3
0
64
-7
42
-42
79
-10
5
4
65
0
14
9
-102
0
197
5
109
0
-10
-54
94
-1
38
-1
-64
0
-7
2
166
0
-11
-12
107
0
-48
-9
-56
-5
-27
-4
-82
0
-33
20
163
0
97
1
-22
0
50
-47
41
-11
-2
-3
-8
0
-8
3
79
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
33
0
4
0
71
0
146
0
170
0
-72
0
31
0
-117
0
-69
0
36
0
206
0
66
0
-69
0
36
0
-101
0
-18
0
101
0
4
0
68
0
21
0
14
0
5
0
82
0
1
0
74
0
0
0
90
0
-1
0
66
0
0
0
55
0
0
0
3
0
0
0
-81
0
15
0
22
0
-7
0
-12
0
23
0
24
0
0
0
-2
0
0
0
14
0
0
0
-16
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
171
129
11
120
-42
138
38
24
86
35
17
42
-25
86
45
-23
24
113
-90
187
9
60
147
-15
-46
70
-17
87
-57
28
44
104
-24
123
8
111
55
171
-3
126
38
66
-8
61
-10
53
-4
-50
25
124
-18
186
-60
4
-3
-67
64
25
0
57
-6
-47
-8
-22
39
2
19
35
19
-21
-7
57
70
15
0
123
63
-137
-4
-183
44
-116
15
43
19
24
-27
11
-17
-24
-1
6
-96
-23
-6
17
-45
4
0
-39
6
71
0
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
7
0
0
0
-7
0
1
0
18
0
0
0
0
0
0
0
162
0
9
0
19
0
10
0
28
0
-1
0
62
0
0
0
-2
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
11
0
0
0
0
0
0
0
-8
0
0
0
16
0
0
0
7
0
0
0
0
0
0
0
3
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
77
85
0
81
33
15
-3
152
-2
33
2
131
8
-75
6
91
-34
-18
-1
12
138
21
-24
10
21
53
-22
72
19
30
1
59
5
-88
0
-3
2
18
0
112
9
-24
0
6
-19
35
0
13
-1
-131
0
34
-4
-139
0
56
-3
1
0
-16
0
-41
0
-20
0
82
0
24
4
20
0
-54
5
99
0
-2
24
52
0
0
-2
-35
0
2
-4
31
0
0
-3
-113
0
0
-1
59
0
-4
0
-49
0
0
0
-38
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
6
0
58
0
16
0
60
0
47
0
81
0
5
0
116
0
23
0
58
0
-42
0
61
0
-51
0
-13
0
-13
0
81
0
3
0
-2
0
2
0
-17
0
0
0
2
0
4
0
123
0
8
0
17
0
0
0
-18
0
8
0
29
0
9
0
57
0
5
0
78
0
0
0
19
0
0
0
-45
0
-5
0
4
0
7
0
20
0
0
0
-56
0
0
0
-1
0
0
0
7
0
0
0
-10
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
130
-13
174
-141
80
44
43
84
81
-41
69
-101
48
-10
76
108
35
-69
47
33
48
41
-21
46
65
-51
36
15
106
2
48
105
76
6
-63
-12
64
2
-87
81
68
1
27
-25
23
0
-46
6
85
49
141
18
14
-4
66
53
1
3
80
71
134
-4
18
-56
132
6
-9
-20
115
14
-7
108
58
-2
67
10
-102
-4
-57
-4
69
-10
64
3
61
-1
251
13
-33
-5
-41
-21
96
0
11
-13
73
0
-8
0
-1
0
2
27
-63
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
-2
0
0
0
-1
0
0
0
-14
0
0
0
31
0
-2
0
-23
0
4
0
9
0
10
0
-12
0
2
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
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
12
0
0
0
-7
0
0
0
-8
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
-1
55
-93
87
9
1
9
39
0
127
16
127
0
32
194
100
-40
-46
7
-18
-14
154
39
100
11
-27
1
-17
-2
-56
12
89
0
12
0
-5
0
2
4
104
0
2
-4
116
0
0
-32
24
0
30
5
-7
0
1
6
-15
0
-2
0
-56
0
1
8
-106
0
-1
-2
66
0
44
-18
32
0
3
12
49
0
1
97
28
0
-46
-7
180
0
-2
0
-153
0
-1
0
-32
0
0
8
-11
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
-43
0
-2
0
46
0
40
0
67
0
34
0
180
0
105
0
91
0
-23
0
-18
0
-8
0
12
0
-10
0
103
0
93
0
37
0
-1
0
-7
0
24
0
-76
0
-1
0
42
0
-1
0
26
0
-4
0
28
0
12
0
72
0
5
0
-1
0
-6
0
92
0
1
0
19
0
-2
0
117
0
6
0
135
0
10
0
19
0
1
0
-64
0
0
0
-5
0
0
0
13
0
-44
0
9
0
0
0
9
0
5
0
18
0
0
0
12
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
157
37
106
38
127
-11
86
104
19
76
-52
41
32
94
-50
55
78
6
107
-137
47
5
125
104
49
25
203
138
27
-19
-7
32
109
20
116
137
52
-11
104
49
54
-16
42
-7
75
19
79
-28
-33
0
27
-1
50
0
-90
25
10
-9
-13
0
-17
0
51
-50
34
2
2
1
52
4
-20
51
59
0
162
-54
-66
-7
61
3
44
-2
-54
-7
-17
0
87
33
95
27
-56
-8
117
-6
22
41
102
0
27
0
-91
0
-16
-24
-24
0
-11
-2
40
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
-8
0
0
0
1
0
13
0
6
0
0
0
-20
0
7
0
14
0
0
0
71
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-25
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
0
6
-6
157
-3
15
59
57
0
-6
-5
21
5
56
-20
77
0
-19
4
-50
-3
6
2
-61
0
47
-14
107
-8
-171
0
16
0
0
3
28
0
-16
0
7
0
0
10
41
0
31
0
13
0
12
-31
42
0
0
0
52
0
-1
0
65
0
28
0
31
0
3
-4
-95
0
1
-2
-77
0
-33
3
-24
0
-15
-2
37
0
-3
-2
95
0
0
0
62
0
-7
-2
40
0
-10
0
-3
0
0
0
-13
0
0
0
0
0
-1
0
-7
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
18
0
4
0
121
0
-35
0
9
0
4
0
177
0
54
0
-4
0
0
0
-95
0
38
0
-34
0
5
0
-17
0
-5
0
-1
0
0
0
67
0
10
0
23
0
0
0
146
0
-1
0
-8
0
0
0
-27
0
0
0
-29
0
-5
0
4
0
0
0
4
0
-7
0
104
0
-9
0
5
0
0
0
59
0
7
0
3
0
0
0
-10
0
-18
0
-5
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
140
16
104
14
149
-2
134
42
123
-46
51
79
90
18
-59
42
-16
-27
55
64
38
0
-104
-12
-17
21
64
98
17
1
78
52
124
3
7
8
3
0
-2
111
64
-3
-25
-4
-40
0
-35
25
-43
0
48
-5
145
0
-12
-7
26
2
66
-22
-26
0
-15
-77
26
0
-10
-1
65
0
5
-24
87
-10
-31
4
124
0
78
13
-21
0
-23
-2
-71
0
3
-83
0
5
-60
26
167
0
15
-1
72
0
12
0
-49
0
8
0
16
0
32
0
-137
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
18
0
1
0
0
0
0
0
-10
0
0
0
-3
0
0
0
-42
0
-2
0
53
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
6
0
0
0
-6
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
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
0
-90
14
80
0
1
-56
78
3
22
23
2
-10
-9
-21
-15
1
20
-7
49
0
5
-27
28
0
4
-1
63
19
4
0
95
0
0
0
-16
0
0
2
57
0
24
1
-10
0
3
2
-71
0
0
14
6
0
0
2
-69
0
-1
3
-10
0
-1
-2
18
0
5
0
2
0
3
-3
-65
0
8
0
73
0
2
-2
21
0
0
0
50
0
-6
4
49
0
0
0
-44
0
6
0
-8
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
21
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
30
0
-29
0
73
0
7
0
12
0
9
0
92
0
19
0
-56
0
11
0
69
0
-23
0
91
0
3
0
8
0
-79
0
5
0
0
0
67
0
1
0
5
0
1
0
7
0
11
0
13
0
0
0
56
0
12
0
1
0
0
0
20
0
-6
0
-7
0
12
0
-5
0
14
0
62
0
0
0
-9
0
7
0
17
0
0
0
-14
0
1
0
-25
0
0
0
13
0
0
0
-4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
161
233
27
24
70
109
8
-37
-53
77
-10
48
24
88
8
120
75
16
-11
-34
137
43
14
9
-28
-27
0
86
-105
9
-41
63
24
31
0
132
-15
31
1
-101
9
50
0
28
34
110
0
15
40
-11
2
-65
6
7
-1
-88
14
91
0
-10
3
-33
17
-49
74
37
0
60
13
118
5
-11
-54
-58
0
21
96
-104
2
9
-98
44
0
-67
8
104
5
13
-1
7
0
-20
-2
65
0
-2
18
72
0
0
-35
114
0
20
0
-52
0
-2
0
164
0
-3
-12
14
0
0
6
39
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
13
0
0
0
5
0
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
17
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
7
190
0
3
5
42
0
81
-8
50
0
-62
2
-28
3
106
10
114
-4
7
-26
-49
0
-45
-1
52
-3
13
5
-16
0
-28
0
63
0
0
3
59
0
2
0
-2
0
-3
-1
6
0
5
0
44
0
-6
-14
-63
0
-4
0
-31
0
1
0
42
0
-1
-16
-5
0
0
-14
15
0
1
0
61
0
0
-1
-34
0
-2
0
41
0
0
2
-35
0
-11
5
-16
0
0
0
-37
0
1
14
5
0
0
0
-12
0
4
0
18
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
22
0
4
0
35
0
4
0
-19
0
-3
0
32
0
5
0
-46
0
-7
0
-34
0
0
0
6
0
2
0
-9
0
0
0
0
0
0
0
9
0
0
0
-11
0
0
0
-1
0
0
0
1
0
0
0
3
0
0
0
-45
0
0
0
-3
0
0
0
-11
0
0
0
0
0
0
0
-16
0
0
0
2
0
0
0
53
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
214
95
67
188
71
154
-1
15
189
53
-3
82
57
63
2
-44
45
70
-35
103
0
-19
-14
-31
-59
-13
41
-95
-72
66
0
39
30
68
1
32
-3
107
0
84
-35
40
0
-19
-12
68
0
-28
0
141
-3
-39
10
5
0
-10
-38
66
0
-63
-17
64
0
-4
-7
77
-14
82
6
93
0
62
-18
-34
2
-72
8
-42
8
-26
-90
-185
-3
-60
60
136
0
0
4
-37
-2
-22
31
-19
0
3
8
-47
0
1
7
66
0
0
0
151
0
7
0
12
0
12
-1
-77
0
-7
-9
-89
0
0
0
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
9
0
0
0
2
0
0
0
-1
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
-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
-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
3
216
0
63
-1
15
0
15
17
-98
0
116
0
-55
0
-14
22
-137
13
-69
46
33
0
-33
17
65
0
-67
0
60
1
2
1
22
0
-17
-1
29
0
6
-2
4
0
0
-15
-7
0
0
0
-11
0
-1
0
-8
0
0
0
14
0
1
0
22
0
-4
-2
105
0
16
15
20
0
9
0
93
0
2
0
-5
0
0
12
26
0
-2
0
-6
0
-1
0
114
0
-15
0
3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
31
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-147
-1
51
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
3
9
0
-4
-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
0
0
0
0
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
-1
0
-3
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
3
-31
9
2
-39
2
-68
-1
-47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-12
2
-12
0
7
0
-67
-1
72
-3
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
-1
0
19
0
24
0
-8
0
3
0
50
0
9
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-2
-15
21
10
-3
65
56
122
45
32
-62
-1
-23
53
-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
0
0
0
0
0
5
0
2
0
-13
0
-1
0
35
0
2
0
38
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
22
7
-50
3
-51
8
150
0
8
-17
43
-1
-38
-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
10
0
8
0
37
0
5
0
-23
0
11
0
-31
0
-67
0
-37
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
-33
79
4
54
-20
42
-26
-46
25
-10
-3
-23
-17
47
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
0
2
0
-4
0
-1
0
15
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
-16
9
4
27
-1
73
0
-26
12
127
-4
8
-22
-7
1
67
-5
11
-11
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
15
0
45
0
22
0
31
0
42
0
74
0
-3
0
-50
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
-44
-19
13
6
-26
-15
10
21
6
-10
29
44
21
14
-14
49
38
-30
-42
44
129
133
-17
46
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
3
0
81
0
1
0
-23
0
-9
0
11
0
1
0
-3
0
18
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
16
-84
1
5
2
7
-8
7
45
31
0
-52
44
-28
-5
76
-12
54
4
30
26
-68
6
-58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
-35
0
-17
0
-66
0
-11
0
-34
0
-20
0
-1
0
8
0
-4
0
-1
0
-15
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-93
4
83
-19
122
-6
18
29
66
16
-16
58
56
-6
-34
6
6
56
145
-7
128
-44
65
-45
-17
25
-52
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
6
0
26
0
0
0
-43
0
3
0
4
0
8
0
-34
0
7
0
-13
0
12
0
-48
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
12
-61
-7
-49
-42
89
-2
48
11
88
-5
-139
-8
-6
-4
81
25
9
1
1
-8
-36
7
-1
1
-46
-7
-4
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
8
0
3
0
-13
0
-5
0
16
0
-2
0
1
0
-5
0
-61
0
-1
0
12
0
-11
0
-8
0
14
0
-34
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-1
58
-1
-1
4
-58
0
3
-12
76
-7
-17
-15
-63
11
-29
-19
-35
0
-6
-35
43
-2
-51
-27
-50
18
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
1
0
0
0
-1
0
0
0
-3
0
0
0
1
0
0
0
-2
0
5
0
-13
0
-2
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
1
18
0
-1
0
26
0
1
0
-9
0
0
5
-6
3
-9
4
48
2
7
2
19
0
-2
5
-31
12
32
-3
56
0
-112
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
3
0
2
0
-5
0
-2
0
-24
0
-27
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
9
-17
0
19
-5
-22
-1
-4
-59
-9
-2
-28
-2
44
-1
-35
-50
143
2
-35
9
-24
-6
-11
-2
-108
-43
-10
-6
17
0
-25
2
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
1
0
0
0
-8
0
-4
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
6
0
-1
0
2
0
-13
-2
-34
0
23
0
-4
0
19
-18
38
3
0
-1
-17
0
-27
-17
25
10
-27
-18
6
1
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
1
0
-1
0
2
0
2
0
7
0
32
0
10
0
41
0
-8
0
-28
0
32
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
15
48
0
-11
-18
-109
0
-55
-15
-65
-1
60
-5
5
53
-9
-110
56
-10
13
-4
28
-8
46
64
-22
2
-35
0
19
0
51
1
9
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-1
0
-11
0
-1
0
18
0
0
0
6
0
0
0
-10
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
-5
-16
0
0
-8
9
0
-28
5
-5
0
-9
0
7
0
6
9
-106
9
-4
-32
62
3
-34
-51
15
0
-6
1
-5
-3
67
0
5
0
0
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
0
0
0
0
0
0
0
0
0
-2
0
1
0
7
0
0
0
7
0
1
0
-2
0
0
0
-28
0
-15
0
-22
0
-2
0
54
0
-6
0
-35
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
5
-5
-34
-2
-7
-5
-6
0
-82
14
6
1
-48
-27
-103
-6
-26
-48
92
-23
69
49
-61
69
-18
40
27
-17
-59
-2
18
0
33
0
9
0
13
0
7
-1
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
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
7
0
-2
0
-3
0
-1
0
10
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
-5
0
3
2
6
0
5
0
24
1
1
0
3
0
-14
-16
-57
1
-28
-3
-23
6
-16
-32
42
5
-31
16
100
1
-10
0
15
0
2
0
2
0
11
1
29
0
-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
17
0
0
0
4
0
0
0
-29
0
-13
0
0
0
-20
0
-27
0
2
0
74
0
12
0
65
0
5
0
66
0
-3
0
6
0
0
0
-1
0
0
0
0
0
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-59
-11
17
-24
31
-5
20
16
-30
-35
39
29
-38
24
9
-33
-163
-3
-1
-4
12
3
87
3
64
-29
25
-11
-7
12
-105
0
-34
0
-27
0
41
0
6
-23
7
0
20
8
-57
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
1
0
0
0
3
0
0
0
-1
0
0
0
-4
0
-3
0
3
0
0
0
-4
0
0
0
11
0
0
0
14
0
2
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
-12
33
0
12
-2
138
0
26
7
69
1
17
-6
-13
1
-5
6
43
0
28
-12
76
0
-26
95
125
-1
11
0
-26
0
0
0
1
0
1
0
32
0
25
0
-14
0
35
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-16
0
2
0
22
0
14
0
10
0
-8
0
-17
0
-1
0
-27
0
-32
0
3
0
0
0
-3
0
0
0
-7
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
3
31
10
-1
-3
11
-1
-11
3
-86
17
-81
24
66
-8
7
68
-111
6
30
12
51
4
16
-43
-12
-49
48
-34
221
15
50
1
-6
0
32
0
31
0
-2
15
20
1
-23
2
42
1
-9
1
-8
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
1
0
0
0
0
0
3
0
-8
0
0
0
5
0
0
0
-10
0
1
0
4
0
0
0
27
0
-7
0
-8
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
18
57
0
16
0
44
0
-6
12
-2
0
-50
23
36
0
-10
5
-56
0
-24
1
35
-1
-15
-29
-2
-4
20
-8
-25
0
11
-2
21
0
0
0
-44
0
-1
-14
26
0
6
7
11
0
-34
-2
-19
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
40
0
-4
0
24
0
-18
0
-60
0
3
0
63
0
-5
0
-31
0
-3
0
-16
0
27
0
0
0
-8
0
137
0
-43
0
2
0
0
0
9
0
2
0
-1
0
-2
0
20
0
-2
0
-11
0
1
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
47
-24
12
0
39
41
-27
15
23
35
-40
139
-12
-69
-7
-42
31
36
9
69
-34
61
-34
31
-15
43
2
54
-100
90
-48
64
0
-111
0
-14
-8
38
-5
58
3
-3
0
16
8
-176
12
-21
-21
4
3
-9
-2
85
-24
98
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-2
0
-6
0
9
0
-14
0
1
0
6
0
-1
0
-18
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
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
-3
2
0
26
8
5
1
-70
9
-59
1
31
15
12
0
-20
26
59
-6
54
9
-30
-4
-24
-4
7
0
-74
-48
-14
0
3
0
48
0
7
1
-9
0
-5
-1
29
0
-4
0
23
0
2
0
-37
0
25
0
-51
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
0
0
0
0
0
0
0
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
0
21
0
-1
0
16
0
7
0
32
0
-4
0
16
0
4
0
-71
0
-16
0
18
0
6
0
-13
0
13
0
8
0
0
0
-2
0
0
0
8
0
-2
0
-6
0
-1
0
14
0
8
0
17
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
68
14
57
42
14
-1
-2
51
24
-12
-51
17
22
-1
-56
-19
-59
10
-9
55
128
15
-39
-15
177
-6
43
36
24
1
49
-24
51
-2
-39
3
36
1
23
42
-78
-1
36
-8
81
0
31
18
19
21
24
5
9
-3
-34
-17
-22
7
-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
6
0
-1
0
-1
0
0
0
59
0
0
0
0
0
0
0
15
0
-1
0
15
0
-2
0
-11
0
0
0
-64
0
1
0
-3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
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
-8
16
0
-19
-5
12
0
3
-4
-16
0
-17
-9
59
0
-13
-19
-15
4
2
-2
64
0
6
18
106
16
-34
7
52
1
-10
3
1
0
22
0
-73
0
-12
9
3
0
12
-1
-2
0
6
-1
44
0
10
0
-6
0
-10
-1
69
-2
-34
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
-2
0
0
0
-2
0
3
0
2
0
-1
0
-9
0
4
0
-4
0
-5
0
17
0
-1
0
-107
0
1
0
-27
0
12
0
0
0
0
0
-2
0
-1
0
0
0
0
0
8
0
0
0
-8
0
0
0
-2
0
-1
0
-31
0
-4
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
-3
9
0
-11
1
8
2
-3
-3
-96
-3
-20
-2
-3
1
-2
2
-36
-1
-11
-14
-86
0
-29
6
14
1
-8
9
-61
-12
-11
2
2
0
0
-1
20
0
-6
-1
-26
0
18
-4
72
0
-23
-6
-35
0
14
11
54
0
-6
9
-52
0
4
17
23
-10
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
1
0
0
0
5
0
1
0
-2
0
0
0
-1
0
0
0
-17
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
-2
0
0
0
4
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
-4
-4
0
-1
4
25
0
2
1
-12
0
-1
0
-45
0
12
-5
0
0
-13
-4
-46
0
-23
8
52
0
-11
-7
-2
5
-31
0
-5
0
0
-2
1
0
-1
0
-3
0
-1
0
7
0
-7
0
7
0
7
0
18
0
-15
-7
17
0
-12
11
-14
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
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
-8
0
-2
0
-10
0
-3
0
11
0
0
0
4
0
0
0
-9
0
-47
0
-14
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-4
0
-3
0
7
0
2
0
-24
0
-2
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
-1
77
0
-3
-5
29
0
6
0
3
2
64
-1
3
0
-8
-33
-127
0
0
-14
0
2
-76
5
45
-6
-34
23
-4
0
-10
0
9
0
4
0
8
0
-1
3
-40
0
-16
2
-34
0
24
2
17
-3
-33
4
40
0
24
2
72
0
-53
3
32
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
-2
0
-1
0
1
0
0
0
-12
0
9
0
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
-3
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
-1
7
0
6
0
18
0
2
-2
25
-1
-2
0
48
0
18
3
-5
-4
-3
-2
-50
0
-29
14
52
0
-23
-7
47
0
10
0
0
0
1
0
1
0
0
-3
-10
0
-3
0
7
0
-2
-6
65
0
-5
0
-35
0
-1
0
-20
0
11
0
-33
0
5
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
-2
0
0
0
3
0
0
0
0
0
0
0
-13
0
1
0
-24
0
-1
0
-52
0
-8
0
5
0
0
0
26
0
-18
0
-1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-14
0
0
0
11
0
-2
0
-13
0
2
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
-5
-49
-1
23
3
-31
0
8
2
30
-4
-80
1
32
1
37
51
-3
4
-14
-12
22
1
20
-12
-88
4
-39
3
-44
16
35
-2
8
1
20
-1
-18
2
4
0
-13
0
5
-2
16
3
0
4
23
6
-12
17
22
0
-26
-28
-34
3
-47
-50
4
-10
-43
-1
-20
0
1
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
1
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
4
0
7
0
0
0
6
0
2
0
0
0
3
0
-8
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
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
1
61
0
-6
-1
14
0
33
-3
42
0
-1
0
-6
0
81
1
80
0
23
9
-60
1
-6
4
-102
4
17
0
-4
1
-27
1
5
0
0
0
0
0
-6
0
-7
0
0
0
-3
0
-1
0
-17
0
4
-4
10
0
-20
0
-74
0
14
0
13
0
5
1
3
0
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
12
0
2
0
2
0
0
0
0
0
-1
0
-8
0
-4
0
-14
0
0
0
-34
0
-7
0
-66
0
21
0
-1
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
-10
0
1
0
-1
0
0
0
-34
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
25
-18
1
-50
-1
57
-1
50
20
65
-1
-13
4
51
0
-65
11
91
9
24
-2
-31
-1
64
0
-41
-7
-24
-5
62
-12
-64
2
5
0
-1
-1
29
2
-32
1
39
-1
-8
2
-43
0
-18
12
0
-3
17
-14
-11
-7
-25
0
-32
-2
42
-7
40
-6
32
-1
66
0
2
4
1
0
-6
2
-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
1
0
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
4
1
31
2
1
0
0
0
22
4
7
4
-3
-1
46
-2
-13
-1
24
0
-36
2
-12
0
-38
4
21
0
21
0
21
0
-13
0
-35
6
4
0
-16
0
0
-5
-5
1
11
0
76
0
20
-15
-11
0
-5
0
79
0
31
0
12
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
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
-13
0
4
0
-3
0
-3
0
18
0
0
0
-12
0
7
0
-1
0
14
0
36
0
35
0
-4
0
-2
0
4
0
2
0
33
0
6
0
37
0
4
0
-7
0
0
0
-12
0
-3
0
-31
0
0
0
9
0
9
0
0
0
0
0
0
0
0
0
4
0
-2
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
24
0
-17
-1
-13
2
24
-8
-66
6
-7
-31
32
13
71
6
50
0
-39
-31
-79
-1
40
40
61
0
111
20
-118
-9
47
1
-21
0
-41
3
-5
0
-13
43
43
4
-18
20
81
3
15
-18
-125
0
68
-16
70
0
14
13
57
-1
-17
-76
-144
-10
120
0
-3
0
-2
0
52
0
-12
5
-49
0
17
-7
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
5
0
0
0
3
0
0
0
6
0
-1
0
-4
0
0
0
2
0
0
0
3
0
0
0
-14
0
1
0
0
0
0
0
-2
0
0
0
-6
0
1
0
1
0
3
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
-51
0
24
-2
42
-2
-3
2
-14
0
38
2
4
0
10
-7
33
1
22
15
50
13
0
-13
-87
0
36
1
1
0
-2
-12
12
0
-7
-2
4
0
2
7
32
0
24
2
31
0
4
1
-13
0
-10
0
6
0
8
-8
84
-1
4
0
8
0
0
0
-3
0
0
0
-13
0
-5
-1
24
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
1
0
0
0
68
0
4
0
18
0
-1
0
-11
0
1
0
-2
0
0
0
-23
0
8
0
-7
0
-22
0
-4
0
0
0
2
0
1
0
29
0
4
0
-2
0
3
0
19
0
0
0
5
0
2
0
33
0
-2
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
118
0
-25
-4
-15
-2
13
48
62
-6
46
23
14
1
-6
-13
90
3
31
-17
13
0
-23
-29
81
-5
58
-43
-14
-6
-50
5
52
-3
-32
-4
4
0
-9
10
-15
-5
17
10
67
1
-2
6
21
0
31
-8
-61
0
-8
-14
-27
2
-27
-9
21
-3
-21
0
-21
0
13
0
-13
0
16
-2
63
0
-10
0
-32
0
-35
-1
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
-1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
8
0
-3
0
1
0
1
0
-1
0
0
0
0
0
0
0
-1
0
7
0
0
0
-1
0
-5
0
0
0
0
0
0
0
17
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
21
0
28
0
8
7
82
0
17
-1
7
0
-5
-4
-3
0
6
-3
-42
0
2
11
-60
-12
21
-5
41
0
-15
-2
16
0
8
0
-11
0
3
4
-47
-2
7
-1
28
0
-47
-1
40
0
-14
0
-14
0
-18
5
15
0
29
1
20
-2
-2
0
13
0
0
0
9
0
-1
0
-34
0
1
0
12
0
1
0
-12
0
-11
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
0
0
0
0
0
5
0
-29
0
-27
0
19
0
9
0
15
0
23
0
-9
0
3
0
-51
0
-5
0
1
0
-1
0
1
0
-1
0
11
0
-9
0
3
0
6
0
-33
0
0
0
9
0
8
0
-65
0
-2
0
-5
0
9
0
0
0
0
0
2
0
0
0
2
0
0
0
2
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
5
27
1
19
24
74
-1
8
-81
29
-1
59
10
69
-1
-7
-27
64
-2
-13
-70
59
-15
-15
-6
40
-22
57
-17
-111
-8
-17
-7
-5
0
29
-7
83
-3
-8
26
42
1
43
1
71
-11
-48
-16
21
-8
-3
11
2
-7
24
-1
45
-1
-86
26
123
-2
-8
-2
6
1
-17
-1
43
0
9
4
-15
0
1
-5
92
0
45
-3
66
3
1
1
-17
-6
-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
-1
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
8
0
0
0
0
0
-1
0
9
0
3
0
-4
0
-4
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
4
0
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
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
5
-2
0
-12
0
99
1
6
3
26
0
9
-1
-26
0
16
-4
40
0
5
15
78
-18
3
13
-24
-8
-3
4
21
0
-105
0
-1
0
-2
-4
8
0
48
2
48
0
2
-2
66
2
8
4
-28
0
0
-11
-5
0
-20
1
-17
0
20
-11
-53
-4
2
0
3
0
0
0
-16
0
0
0
-14
0
0
0
-24
0
3
0
-27
0
0
-1
-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
0
0
0
0
0
0
0
0
3
0
2
0
-3
0
1
0
-33
0
2
0
4
0
3
0
49
0
-32
0
-20
0
0
0
-7
0
-6
0
31
0
6
0
-3
0
0
0
-1
0
2
0
15
0
1
0
6
0
4
0
3
0
2
0
-29
0
2
0
18
0
1
0
-10
0
0
0
-1
0
0
0
1
0
0
0
1
0
0
0
3
0
0
0
-12
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-2
-5
40
-14
14
0
26
42
-9
1
-14
-12
67
-1
82
-33
98
-4
15
64
-28
3
-36
-41
-41
-22
41
0
-16
-5
-11
47
8
0
25
4
68
0
28
-12
7
1
49
0
69
0
15
17
-36
-1
-17
20
32
-1
8
66
99
-8
-63
-2
-2
-1
43
28
24
0
-86
-9
1
1
3
-2
-50
0
11
2
39
0
-3
-17
-21
0
-43
22
-37
0
-23
3
-57
-2
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
-2
0
0
0
3
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
7
0
0
0
-2
0
0
0
2
0
0
0
4
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
-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
43
43
-1
21
-1
-49
2
16
1
41
0
27
-1
52
0
24
-17
-8
-2
-5
8
4
0
5
-1
35
2
-15
0
61
0
1
22
-29
0
-31
-3
13
0
-1
5
15
-2
-38
2
51
0
17
3
-60
-3
13
-3
-48
0
-19
-3
-48
0
-29
0
-20
-1
-24
-1
-8
0
12
0
12
0
-2
0
5
0
1
0
5
0
-1
1
-9
0
3
-1
8
0
-2
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
-8
0
1
0
29
0
4
0
-24
0
2
0
3
0
-21
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
4
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
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
1
-6
-2
2
0
21
0
3
6
-89
3
-2
0
4
0
3
6
21
-4
-38
-2
-2
1
0
1
97
1
45
14
31
9
-23
0
0
0
0
0
0
0
-1
0
-6
0
2
0
12
0
1
0
-31
0
-6
0
-14
0
7
-1
-67
0
18
1
46
0
-4
0
2
0
0
0
0
0
1
0
0
0
-1
0
11
0
7
2
23
-2
0
0
16
0
5
0
7
0
1
-1
-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
1
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
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
-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
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
-2
0
-3
0
0
0
-15
0
-1
0
-14
0
-2
-1
-9
0
-2
0
25
0
-3
0
76
1
-3
0
-15
0
-4
0
0
0
0
0
-3
0
0
0
2
0
-17
0
2
0
0
0
2
0
0
0
3
0
0
0
1
0
7
0
23
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
1
0
0
1
2
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
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
-1
0
-14
0
-1
0
-7
0
-4
0
3
0
3
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
34
0
38
0
2
7
121
0
2
0
-20
0
17
-24
-13
0
-35
0
-95
-3
-32
-61
-27
5
26
-3
-2
1
84
0
1
0
-1
0
0
0
0
0
1
0
0
0
-6
0
0
-1
6
0
-4
0
-3
0
11
3
7
5
-17
0
6
0
-4
-2
6
0
0
0
-3
0
0
0
16
0
0
-1
4
0
2
-2
-13
0
1
0
10
0
4
1
35
0
-7
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
1
0
0
0
0
0
0
0
-4
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-6
0
3
0
-7
0
20
0
6
-1
29
0
5
-15
90
0
-29
-9
-70
0
15
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
-3
0
0
0
-3
0
0
-4
6
0
6
0
-7
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
5
0
0
-2
0
-5
0
0
0
-3
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
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
-11
0
3
0
2
0
9
0
2
0
1
0
29
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
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
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
25
0
11
-2
-31
-2
25
-3
34
0
18
1
-50
0
17
21
-30
-11
64
10
-2
5
-51
-10
-81
-5
3
-1
5
-1
-6
-3
-9
0
1
-1
-15
0
3
0
2
0
1
1
-9
0
-13
7
-26
0
29
6
-25
-1
4
-2
31
0
-27
0
16
-9
-8
1
8
0
0
0
2
0
4
0
-6
0
0
0
-12
0
-6
0
36
4
1
3
-6
-3
9
-3
-70
0
0
1
24
0
8
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
-3
0
0
0
4
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-6
0
0
0
-5
0
3
0
-10
0
10
-1
-13
-2
-33
6
24
0
-5
2
0
0
1
1
12
0
6
0
1
0
-1
0
0
0
0
0
-2
0
0
0
1
0
0
0
-15
0
1
0
-12
0
3
0
12
0
0
0
-45
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
-2
0
1
0
4
0
-2
0
-5
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
2
0
0
0
0
0
0
0
1
0
-1
0
-2
0
0
0
22
0
0
0
6
0
0
0
-61
0
-12
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
2
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
-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
5
8
0
4
-2
47
0
-21
1
-17
0
-2
-4
70
0
13
27
114
0
-67
-19
-27
7
-39
22
-58
1
0
-10
-27
-1
6
5
-1
0
-2
0
9
0
-4
0
1
0
-1
0
24
0
0
1
-17
5
18
1
18
0
13
-1
-7
0
9
0
3
0
5
0
17
0
0
0
2
0
2
0
-32
0
-2
0
-7
0
0
12
44
2
-29
-2
-14
0
-9
2
-30
0
4
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
17
0
6
-1
-6
0
14
0
23
0
1
5
2
-2
-47
0
-38
0
12
8
61
3
-57
0
-3
0
-35
0
8
0
1
0
0
0
1
0
1
0
0
0
1
0
0
0
-28
0
9
0
-14
0
0
0
21
0
0
0
11
0
0
1
6
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
2
10
0
0
0
9
0
0
0
39
0
3
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
0
0
0
0
0
0
-2
0
-2
0
1
0
0
0
0
0
5
0
-2
0
4
0
-1
0
-38
0
3
0
24
0
-6
0
21
0
-14
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
-12
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
4
0
8
0
0
0
0
0
-3
0
0
0
0
0
0
0
6
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
21
0
-6
6
27
0
-24
8
5
0
-23
-2
117
1
88
-4
14
0
-13
-12
-17
-7
53
53
-88
9
42
32
50
-2
-46
0
18
0
0
0
-2
0
2
0
-7
0
6
-1
-29
2
6
0
-3
0
10
2
-10
0
-22
-3
18
0
11
2
69
0
27
0
7
0
0
0
21
0
0
0
1
0
2
-2
9
0
-7
1
-60
0
-7
0
-17
0
2
-2
22
0
-18
0
116
-2
24
0
-1
0
0
0
0
0
0
0
-4
0
8
0
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
-1
0
1
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
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
-3
-18
0
0
-1
0
0
0
1
60
0
1
-2
-9
1
0
-3
12
0
-1
-2
-27
0
0
0
33
0
47
-15
-29
0
-27
0
-1
0
0
0
1
0
0
0
4
0
0
5
-3
0
-2
0
-11
0
5
-1
3
0
0
0
19
0
0
0
18
0
8
0
2
0
0
0
-27
0
0
0
-2
0
-1
3
-9
0
0
0
-14
0
0
0
0
0
0
0
-6
0
-1
-1
-6
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
-1
0
-1
0
0
0
0
0
-8
0
-1
0
3
0
0
0
7
0
1
0
2
0
0
0
-69
0
3
0
23
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
3
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
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
4
68
0
13
0
23
0
-6
-14
2
0
17
-2
61
0
-1
14
-3
0
-27
22
-27
0
-73
-28
-44
5
-3
14
13
1
5
0
26
0
0
0
0
0
2
-3
-12
0
-14
0
10
0
8
-1
-12
0
9
-1
18
0
3
19
69
0
-6
5
-12
0
-6
-1
31
0
-2
-1
2
0
0
1
-3
-1
5
1
37
0
4
1
7
0
3
0
-8
0
-1
-2
14
0
-21
0
121
0
6
0
0
0
0
0
0
0
0
0
-31
0
2
0
-59
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
1
0
0
0
0
0
0
0
-1
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-1
-7
0
14
1
-23
0
1
0
28
0
4
0
61
0
0
-2
49
0
-16
10
30
1
0
0
1
0
0
0
0
0
0
0
24
0
0
0
-2
0
2
0
-8
0
0
0
11
0
0
0
-54
0
-1
1
6
0
-5
0
0
0
0
0
0
0
0
0
-25
0
0
0
4
0
0
0
-4
0
0
0
-1
0
-4
0
-17
0
1
0
-6
0
0
0
-2
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
0
0
0
0
20
0
-1
0
1
0
1
0
14
0
2
0
-5
0
2
0
-12
0
7
0
-5
0
-1
0
51
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
1
0
1
0
3
0
0
0
8
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
3
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-2
9
0
-40
-1
-18
0
-21
0
-8
-5
46
-1
53
23
-15
-1
-26
14
13
0
7
-33
-6
0
39
-1
1
-23
-32
2
103
0
3
0
48
0
-14
-1
81
0
7
0
-10
0
6
4
50
0
-7
1
57
0
-42
1
24
0
-13
-1
-1
10
5
-8
16
0
0
-1
7
1
-11
-3
-53
0
-1
0
-61
0
25
-19
-33
0
-18
-4
59
0
14
-5
30
0
-2
0
54
0
-27
0
-1
0
0
-9
12
0
0
0
6
0
-1
0
-18
0
0
0
-7
0
0
3
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
-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
0
0
0
0
0
-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
-3
0
0
0
53
0
1
2
13
0
-1
1
-16
0
22
0
34
0
-8
-5
27
0
-15
-1
-10
0
-1
0
61
0
-13
0
4
0
0
0
3
0
0
0
-2
0
0
0
2
0
1
0
14
0
0
0
17
0
-3
0
-22
0
1
0
-5
0
0
0
6
0
0
-2
4
0
5
0
-1
0
0
0
-14
0
0
0
26
0
0
1
-37
0
-7
0
0
0
0
0
-2
0
-1
0
0
0
0
0
-2
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
1
0
0
0
3
0
0
0
-49
0
-3
0
4
0
3
0
-27
0
-4
0
-10
0
0
0
82
0
2
0
21
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
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
0
-59
10
25
-1
2
7
20
-1
-26
-3
-13
0
-11
-18
63
4
-10
-1
-9
1
31
-14
-44
11
-103
16
11
0
16
3
27
0
18
-1
-21
0
-7
0
51
0
-8
0
32
0
1
9
29
0
-3
-3
-21
0
10
-4
-28
0
-40
0
18
0
-3
-4
-8
-1
0
-2
-1
0
5
6
8
0
-1
0
32
0
0
4
-44
0
-24
1
-10
0
-1
-1
-24
0
-14
3
6
0
1
0
-18
0
0
0
5
0
0
0
10
0
2
0
5
0
6
0
-1
0
-1
0
23
0
0
0
17
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
93
0
27
-1
4
0
-1
1
26
0
7
0
-2
0
-15
-6
-36
2
-44
5
3
0
-4
1
30
0
-43
0
-23
0
0
0
0
0
-2
0
-2
0
0
-2
-4
0
0
0
1
0
0
0
-3
0
-1
0
-43
0
1
0
17
0
0
0
-19
0
-2
-1
50
0
2
0
0
0
8
0
11
0
0
0
-4
0
0
1
-12
0
-1
0
1
0
-1
0
51
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
11
0
0
0
0
0
0
0
0
0
0
5
0
0
4
3
39
47
13
76
-26
-2
26
17
106
41
42
49
-16
-18
-18
85
14
66
17
-52
22
34
43
-16
75
21
6
2
0
-1
-10
17
2
-12
21
20
-32
-3
-4
53
33
-18
-3
19
-57
23
6
2
10
32
47
-23
17
24
39
5
64
-60
9
-31
13
6
-21
-32
48
-51
-22
91
-4
39
0
68
11
6
-19
-52
142
12
0
-13
58
-13
9
33
66
28
0
10
-27
-4
11
-10
-1
13
10
14
31
17
-44
-1
0
-13
-8
68
-78
-12
74
45
-2
-9
-39
-34
28
21
10
-31
39
37
-7
24
9
71
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
99
17
57
-50
-4
50
12
-125
10
41
36
-22
18
51
-50
2
-43
22
1
58
3
-30
-63
-29
-27
-47
52
-56
-34
33
-50
-57
-2
35
-11
-7
1
39
-42
29
14
20
-15
50
-49
33
43
39
4
-34
6
18
-7
2
44
-40
25
-23
-7
112
51
7
-20
-29
-52
35
-6
22
5
28
-4
32
26
25
-18
3
-17
-15
2
-3
-5
5
5
0
2
16
29
0
-25
0
5
9
18
-11
-4
-48
38
30
0
-15
1
-1
-3
14
13
23
24
-25
-8
-2
25
-24
-9
-26
-2
2
1
-48
-10
-16
-2
-2
-5
14
-12
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
2
-19
-17
20
7
82
4
2
-22
-28
70
12
-58
-9
14
-1
0
-4
2
-3
-4
-4
-10
-3
11
-6
6
-7
-4
32
24
-1
-3
8
-17
-47
79
-28
11
5
54
13
-26
33
-22
-38
-43
14
1
-1
12
6
0
31
-21
38
0
17
-2
-4
-9
32
35
2
69
-30
-5
80
-33
-10
2
-6
18
2
17
-3
-7
-1
3
-19
-2
-16
3
-7
39
77
12
18
15
-39
13
-13
33
22
-73
10
31
12
-56
16
-33
44
-2
-19
10
18
6
-24
-5
0
5
0
-8
-10
-15
-10
-12
52
-12
7
-65
8
39
-75
38
-27
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
18
2
-62
-21
20
100
48
56
-34
-7
9
-4
-22
-34
4
-40
-18
-5
23
42
91
-4
-5
22
0
7
6
13
5
5
-6
9
-42
-31
-18
-25
12
49
3
25
-4
23
-13
24
-2
-27
-5
0
-48
-13
49
-39
60
15
47
-101
-7
-1
2
2
22
-49
27
-17
23
0
-23
-5
-8
2
0
3
2
17
-4
38
3
-3
1
1
-29
-69
3
26
22
-45
-30
23
-11
-10
-16
24
72
-63
-36
10
64
-32
37
-12
-5
-1
0
-1
-17
1
-8
-15
0
0
0
-13
-71
15
-48
84
-58
-11
-14
22
-6
9
-32
-32
-11
51
47
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
1
32
-4
-29
75
-3
16
20
-19
-4
-30
20
-44
40
-63
50
-8
1
-15
69
-22
44
-37
-46
10
-14
-26
23
10
2
16
1
21
-13
0
40
-17
30
43
-6
37
40
17
-35
49
-48
41
12
-42
52
36
-63
25
-1
-16
60
-13
-74
68
-2
10
-22
56
-4
-5
-4
-48
-30
23
12
1
60
56
-14
3
-42
-7
64
-75
28
44
25
-42
11
120
7
12
44
41
105
-114
45
10
-6
5
7
77
-13
76
7
-2
-13
-90
-10
73
-10
31
22
-4
12
88
-45
-3
43
10
-15
-34
120
-37
-12
-6
12
17
25
-23
10
46
44
-13
76
52
46
-16
31
24
-17
32
-2
-81
-5
-11
55
45
22
24
-44
-3
-29
40
22
11
63
56
9
-9
-23
19
-20
-73
-2
79
35
-56
47
-29
14
37
33
-11
-26
-3
21
-17
19
9
-35
-5
21
9
6
-5
-32
20
18
31
48
23
33
1
3
-24
-28
21
7
-1
39
43
36
1
14
-12
10
27
23
-15
-5
-3
-8
1
0
-1
2
1
-6
-17
-1
2
3
-8
-14
-2
-14
31
-33
19
48
-38
25
-11
12
73
-22
2
-34
-7
20
22
-19
2
33
-53
11
-3
-16
-2
-4
25
48
14
32
0
-31
14
42
-53
14
40
82
16
-21
26
38
-13
-4
33
-26
-16
15
2
43
52
44
9
-33
0
-4
20
-32
23
28
8
14
23
-37
43
16
-22
-14
60
88
12
13
-10
-46
-9
43
31
-6
-3
8
-7
-40
-18
13
-49
-22
13
7
18
1
-7
-31
-52
-14
-2
66
-19
-41
-40
-10
-12
-16
-1
0
9
104
-3
1
0
-1
5
7
26
-17
0
7
5
-2
-3
-12
-11
7
1
7
19
18
0
-41
-56
24
-39
-17
31
-11
-1
40
16
32
7
8
-8
1
-3
11
-12
18
2
-29
-32
-3
4
-1
-25
-19
0
11
5
-7
1
-20
-28
5
33
27
-11
8
-1
49
-11
6
0
-5
4
3
-5
2
-8
5
-6
-14
42
19
0
-6
-3
-32
9
6
0
16
-7
-24
0
-19
7
-29
-12
4
-1
4
18
-39
-14
7
-1
0
1
5
-32
-13
7
17
-2
11
0
0
7
10
3
1
-2
4
3
43
51
85
65
-18
-4
26
0
-8
-8
-16
2
-13
0
0
1
11
-20
-26
-4
38
6
1
0
-1
-4
2
2
-1
-4
3
-2
-140
-35
-24
-90
28
-44
-25
-4
6
-29
2
-9
25
-4
2
0
7
55
-79
8
-106
29
1
-2
-3
-4
4
-1
-5
51
-5
-12
63
23
35
-58
37
-34
1
15
-6
32
-31
27
-97
-20
-11
9
8
0
2
-10
-7
-6
-7
-2
-31
2
12
18
1
0
-66
-27
4
47
-5
7
20
10
12
5
6
7
12
-15
7
-35
53
-3
-1
-4
-8
-14
-10
2
-17
-13
16
25
18
21
55
18
-22
-68
2
26
119
51
9
4
-8
2
41
9
35
-2
4
-23
-28
-13
26
1
-8
-12
3
8
12
73
-12
29
17
-25
-43
28
-18
39
12
5
28
23
-45
-32
19
0
35
8
-45
5
-38
-2
-1
-1
-41
-6
-13
6
15
-12
19
31
3
-10
-6
-6
77
2
50
61
-2
7
-9
-29
16
-22
51
1
-25
-4
14
4
13
12
-8
0
49
13
6
8
24
-12
98
-79
26
29
4
-42
-5
41
-22
-3
-23
13
-14
12
2
-2
4
1
-2
26
1
-3
2
0
5
0
16
-23
-43
-15
-58
47
38
-17
-14
-23
26
-14
-13
80
-27
6
78
33
-55
-2
-48
-1
8
0
-6
1
0
-1
1
0
0
0
-1
19
-26
-6
-14
67
36
-28
-34
6
-25
53
-27
-21
-12
69
40
-31
31
34
-6
-8
0
0
-4
3
3
-1
-6
-1
2
-3
0
-19
-42
-23
-15
-35
16
11
-18
-11
25
54
22
-3
18
31
-26
24
74
40
20
-31
26
-21
32
-18
25
-2
20
2
19
-10
11
3
-39
70
-24
-28
46
61
-11
0
-1
0
-25
-9
8
28
-5
14
-51
-5
2
58
-100
-49
65
-2
-16
10
18
-3
3
2
12
16
62
22
31
4
15
-9
63
2
-6
-21
3
41
-21
100
-1
7
-49
6
20
5
-16
0
-12
1
-2
1
-10
0
2
-2
4
-2
-18
33
18
15
41
14
79
-8
5
33
-41
-19
-2
41
-47
-61
-18
-51
31
35
10
1
-2
-1
0
1
-7
-1
0
0
0
-13
1
-33
-98
56
-7
11
28
-2
36
10
-3
10
46
3
29
-90
84
9
39
-35
-21
24
21
49
15
-18
11
-3
-1
6
-9
0
48
2
19
76
-11
-7
-63
-10
8
-11
0
26
-38
-80
48
23
35
28
11
0
23
1
-13
4
-8
-1
-5
3
0
-3
-5
35
-69
-31
-46
39
-28
23
-6
20
-16
40
-60
-20
33
43
-37
1
-39
4
-12
-1
31
3
-4
23
-19
1
-8
0
2
-1
2
-12
-39
25
17
89
26
26
42
-12
18
-12
-19
-70
24
-10
85
1
-5
-55
-39
20
-11
22
-61
36
-57
35
44
-18
72
-11
-9
-9
-1
-6
18
-47
50
36
39
0
2
33
-4
14
58
-32
-35
3
13
12
21
66
21
-10
40
36
9
1
16
-18
15
35
29
-66
58
-35
48
22
5
15
30
-11
73
-33
46
26
-65
31
-6
22
22
-57
20
-8
4
-33
5
11
14
4
7
-12
-8
-67
-36
76
-14
89
-74
-60
23
12
-55
69
86
1
-26
34
9
-3
2
15
-29
16
81
25
25
3
6
16
-22
33
25
91
12
11
14
-17
-32
-45
-12
-7
8
11
14
101
8
-12
-35
35
58
20
6
-11
-7
26
44
38
46
83
21
57
23
-47
-121
-40
94
-21
27
-31
-40
20
63
47
20
6
-12
-34
0
16
0
64
7
-73
-2
-15
-34
16
-1
-1
-7
12
-9
6
-26
-29
34
-8
1
-23
6
-34
55
-2
-38
11
-12
-1
-45
48
25
32
14
12
17
-6
36
21
-54
-28
-43
49
60
32
-17
57
12
18
38
0
8
3
22
9
0
0
8
-34
-19
0
-3
-11
-49
3
2
-24
13
-4
12
55
18
34
-44
4
-27
-2
10
7
14
16
-10
0
-18
0
8
-3
-5
1
-2
0
-1
-8
-8
5
0
-2
-5
3
-3
0
-9
-35
21
11
48
-7
-31
6
12
13
-6
58
-96
14
-3
-1
-65
35
20
-5
-27
-61
28
-35
26
-1
-30
10
21
-36
33
52
8
2
21
-6
-15
-2
46
16
15
17
23
15
75
-7
-13
-13
55
-21
-15
8
32
-6
7
-19
-13
11
25
-6
-26
-13
-5
13
23
28
28
-56
52
-2
22
-2
49
18
-9
-7
45
12
0
3
-2
8
-27
5
-1
9
0
1
4
4
-13
-1
10
1
-1
-17
-11
7
-4
7
-58
31
-41
3
0
3
-16
-2
4
2
-2
-2
14
-1
20
0
20
-2
-3
0
6
-6
-6
7
12
7
3
4
-30
-34
-52
55
-37
13
9
12
21
15
40
9
9
1
-3
0
19
-14
17
2
0
-12
4
0
6
-18
8
-1
5
1
0
20
-58
-18
-24
-28
-40
7
2
0
16
-8
-4
-14
3
-1
0
0
9
12
-26
5
-2
0
8
2
-4
-9
-1
0
0
0
-1
0
54
17
48
-33
-32
-1
21
1
3
4
-20
-4
1
0
-1
0
1
-35
6
-3
-12
1
0
0
0
-1
0
0
0
-17
3
1
18
57
-41
-22
-28
-1
17
0
-8
-15
-1
-2
6
0
0
-5
0
15
-1
0
2
4
0
0
2
10
-14
0
0
0
-5
2
13
-14
-12
-23
41
1
-11
0
-18
5
-48
-40
-27
6
2
25
-15
11
57
13
32
-1
-34
-1
0
-42
-16
8
-7
13
58
11
60
-21
5
8
20
4
50
1
-4
-8
-13
9
66
-2
-6
-1
3
1
-5
-3
-12
-3
11
18
2
-19
-49
-16
-23
-12
9
9
6
-149
-26
86
18
-8
-1
-22
58
18
11
11
54
8
-8
-16
-4
-3
-1
4
-8
9
28
5
-9
-37
-32
-27
-27
-77
23
46
0
34
59
-2
-14
7
0
-1
-16
4
8
-2
0
2
0
0
-19
2
-7
3
1
84
66
2
6
44
105
32
-12
49
-50
7
-6
0
-13
-4
-45
25
-6
-4
-2
21
11
1
0
-1
0
-2
-28
-5
-8
-5
-6
11
67
25
8
43
63
-13
-5
29
12
46
9
-72
-13
-18
24
-3
18
-2
42
-12
-9
-1
18
0
-1
2
-5
-8
-6
30
33
14
12
29
58
40
41
-3
111
-15
-76
-25
22
59
-20
2
-31
8
5
4
-17
2
2
5
1
-4
-2
2
11
-20
-21
26
-27
2
-59
-6
16
56
52
58
-25
17
-41
64
27
-24
8
7
-53
0
16
0
6
-1
0
0
1
1
0
0
0
-14
-31
49
55
-17
-92
-4
-29
94
77
-47
-19
60
-26
64
55
-28
3
31
7
29
0
0
7
4
-4
0
1
0
3
2
14
-13
-40
-16
-73
43
-44
91
-9
65
50
70
8
-3
81
-41
9
-15
2
18
-21
-20
49
2
-26
-2
2
-10
4
13
-22
-14
28
-8
1
28
76
-10
81
-31
-47
1
-9
-1
-16
-22
-24
-66
9
47
-14
9
41
-5
21
1
28
31
7
-14
5
-6
-2
-1
9
13
-26
0
10
83
-24
-15
35
0
17
0
6
13
-15
-6
7
-30
-33
-34
-38
-23
17
0
-10
-1
21
3
-11
2
0
0
4
9
15
36
46
-5
70
-3
-21
-12
-17
-33
73
-16
45
-15
73
65
-19
-57
24
9
-3
12
18
2
5
7
7
0
0
0
-1
-25
6
-1
32
-15
15
-12
-20
-5
4
-60
-24
-4
1
-20
51
0
-24
-28
36
-3
73
1
10
0
25
2
-16
-1
-3
1
-2
-11
40
-44
77
-12
44
0
100
30
33
48
31
31
45
14
-31
22
-28
77
38
-7
-8
-3
2
11
8
0
-2
-5
3
1
1
22
-60
-1
7
-1
-29
-31
-18
-8
-7
98
-65
-44
134
-26
15
6
38
6
-117
5
10
-1
10
-29
-20
-2
19
-2
0
-1
5
-26
-17
-12
-101
76
51
-32
33
26
44
-28
95
-47
-4
-86
24
17
5
-2
-2
-29
-20
29
-18
-25
9
9
55
-22
2
19
28
5
-3
-9
3
2
-24
-9
25
-3
-10
-8
25
14
25
41
39
2
11
17
2
-1
51
103
19
-19
10
61
1
21
41
-3
19
29
28
25
-41
45
23
-11
-1
-16
21
-10
61
13
-16
60
-15
5
-7
6
-19
15
-11
3
-28
-2
49
-17
47
-11
21
33
-95
43
18
-31
-43
41
29
1
-24
30
38
-9
-97
33
73
-23
2
-3
7
22
-5
-54
4
-35
1
15
-26
32
-21
63
-15
-28
4
41
-37
78
34
-44
31
-40
29
24
21
40
54
-58
30
-19
-37
15
-9
-18
-11
-37
14
-5
-13
69
-20
65
-28
107
-25
-16
2
39
134
11
-10
-12
-6
-5
-33
25
39
-34
35
5
-70
55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
66
46
-5
23
-8
5
64
-6
22
11
0
-7
-42
15
3
-75
101
21
-1
-6
29
40
2
-16
-34
-63
10
-53
26
22
-16
23
-24
75
-43
27
-34
-19
-8
11
-1
32
-29
-2
-32
12
5
-3
26
79
41
8
2
80
30
0
24
-28
-19
7
-39
-5
35
13
28
36
31
21
24
13
20
19
23
28
5
-11
-21
-24
4
-74
-25
-29
-6
-5
7
-23
-2
21
-7
29
-26
-4
15
-13
-29
63
-17
-15
48
-17
11
10
-77
27
18
15
-3
1
-6
-10
35
-33
-46
0
18
2
28
2
-12
-8
-11
-3
-37
5
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
29
-54
8
-31
116
29
9
47
33
-32
50
17
-75
26
23
20
0
2
5
7
7
25
26
-1
22
35
-3
51
5
-13
55
4
9
-43
96
-12
-3
8
18
49
2
-16
-44
-14
24
4
4
-20
-2
-2
10
-7
-11
-30
4
3
66
60
-23
17
-18
-12
2
27
7
10
26
59
-3
18
3
18
34
56
-1
-95
11
-5
0
41
1
5
8
7
-2
3
22
-34
0
5
4
-90
-70
24
-11
10
0
-77
-22
65
3
5
-21
19
-6
-44
72
4
-2
27
-29
-19
2
-19
-3
-23
4
-33
11
-78
-29
38
14
6
-36
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-62
-13
-27
32
28
-2
14
-68
64
9
19
16
-61
14
-25
22
50
53
45
12
1
-50
21
0
-1
21
-16
18
7
7
13
63
-82
12
49
-9
43
3
19
59
-3
-15
40
8
11
17
69
82
34
-5
-131
46
0
-41
-44
-4
-4
-8
-9
23
-37
-10
4
-1
-28
-2
-16
-34
4
0
-2
21
0
-25
19
-43
-3
7
-17
29
-29
78
64
87
18
-31
-17
-18
-23
-64
-2
18
25
-35
-16
-13
15
1
-13
-5
-15
4
12
-11
19
-7
22
56
-72
-16
15
-28
-87
26
73
72
-8
-47
-67
-2
-26
-27
-2
45
90
-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
8
11
29
-35
43
-26
4
49
-15
-74
65
-5
29
15
10
36
13
-12
23
55
54
49
-65
23
-75
-43
32
-21
12
-10
-42
-1
6
12
62
-23
11
-12
0
35
78
72
-10
-28
44
6
6
-1
20
13
-4
-11
-44
-15
-10
31
10
-34
32
-36
-3
2
18
12
8
-22
-23
10
73
54
24
-15
67
-35
50
18
6
-4
-23
-33
-5
1
-58
29
1
2
37
-4
-23
73
2
7
-46
69
61
-2
0
4
73
0
-28
-48
90
46
18
-6
22
-3
23
-35
-28
4
11
30
19
24
82
-3
1
-56
11
-18
-2
2
38
-71
47
-76
3
19
130
57
-8
57
12
40
66
34
13
32
12
4
3
31
-19
-1
10
-31
-7
-11
12
6
6
14
1
15
-31
11
-1
-55
-12
11
-21
21
25
5
-26
31
14
31
-2
33
-13
-23
-18
-16
-16
-60
13
-35
16
36
0
-4
48
68
1
5
-2
20
5
18
15
21
27
-80
48
-27
23
27
2
2
-20
-12
16
12
1
-11
23
-12
-5
-50
-2
-2
-3
1
-5
-2
3
1
0
-2
2
18
2
4
-54
-4
21
73
49
6
20
-34
10
4
15
44
24
21
-19
-42
39
33
0
-33
6
-5
-17
12
2
-2
-50
-16
0
-24
-18
-16
-19
-19
-29
111
23
41
-4
73
6
52
-9
21
-14
-6
10
17
26
5
-39
0
0
-12
69
11
26
9
31
1
-11
8
98
-41
113
59
9
-8
-57
-25
-51
62
5
17
-63
26
-9
7
15
16
-1
0
11
-7
0
-3
28
-13
-6
-2
-57
26
-6
-4
28
-21
25
-107
6
28
17
-13
-5
-5
-6
-18
5
-10
1
-16
20
3
-4
6
0
0
0
0
2
4
0
2
10
0
-3
26
15
-28
-9
-69
8
25
4
-10
30
-6
36
23
4
-21
6
-41
13
15
-2
16
7
0
0
0
-8
2
2
23
-27
-4
1
11
9
-1
3
42
35
12
-23
16
34
-71
2
10
14
21
1
-10
12
-11
5
-2
4
5
-1
-3
9
1
-1
0
-5
1
-1
-56
-26
10
-28
69
-7
67
2
-7
-31
-49
5
1
26
1
0
1
11
19
2
5
1
-2
0
0
11
10
-2
1
0
7
0
-3
10
-52
15
82
6
54
3
13
-8
-17
0
-3
-3
0
-1
2
32
11
-15
-25
-1
0
0
0
-1
-16
-2
0
-3
1
0
-60
-54
-112
17
-58
-28
35
4
0
-49
20
42
-3
1
0
1
1
-51
-14
-4
24
-18
-3
-2
-2
-5
38
0
-4
18
-1
-1
38
19
55
-3
27
-14
44
-5
-59
-35
25
14
31
-18
1
22
-1
0
0
5
-12
13
26
26
-8
-4
-38
-1
-24
53
12
17
-10
33
-8
-2
20
-13
17
-18
-5
5
-6
-11
27
-9
-12
-22
23
1
-1
13
-10
7
3
31
-5
5
1
22
-8
89
-21
-3
-33
-3
30
-43
78
9
-15
2
16
1
6
7
1
0
0
-2
-7
0
1
12
2
27
4
19
-57
-17
-20
35
-39
53
18
-44
-50
-15
-26
38
-1
23
-44
7
-76
-16
0
-2
-31
-7
10
0
-16
-6
-6
8
10
21
2
13
20
19
-13
1
-43
-40
-110
-22
74
26
-13
18
33
27
54
1
-9
42
4
2
0
0
10
-1
-2
4
-14
69
6
43
-91
-40
-33
15
81
-26
5
-4
30
80
40
23
-12
-11
-28
-18
-33
1
48
1
6
0
1
0
-4
1
0
26
8
-33
-12
39
23
-74
-64
-38
38
-9
15
47
55
5
-13
15
26
-5
-48
-10
-1
-5
0
1
0
0
-1
-2
1
0
-1
6
22
27
56
-40
81
32
-56
-95
80
44
4
-82
13
39
18
7
-48
-15
-39
14
48
-2
-6
2
-1
0
-2
6
0
0
0
-8
-14
30
7
65
-22
-98
-26
-4
64
11
-14
-45
-22
-29
-9
-42
-12
30
66
-4
5
1
-22
4
-75
11
-19
0
-3
1
0
6
-14
-56
6
-36
-8
-44
87
0
-11
17
-13
-28
-10
16
8
13
4
-17
68
69
-22
17
-21
-19
-23
14
10
-2
-7
2
-7
-10
-83
26
-66
10
31
-14
15
-8
5
13
0
34
-7
55
11
3
24
-23
40
-3
2
0
-3
4
-22
-2
0
1
0
0
3
19
29
-42
-64
5
18
-9
29
-9
-23
23
4
11
-15
-64
37
-36
24
-31
20
-5
3
-1
-5
-18
26
1
-4
0
0
0
1
1
-40
-3
20
28
11
-5
22
1
-27
-124
17
23
124
-100
-30
9
-23
27
-35
-39
-34
3
61
10
107
0
22
-7
1
-1
1
-1
-3
-28
42
20
-4
45
-10
27
31
41
-16
33
-34
37
-17
-11
-30
54
43
-18
63
0
2
24
-3
0
6
1
-23
3
0
9
24
-22
25
-29
17
-4
-7
-21
-40
12
-38
5
41
-15
18
-26
11
-34
2
24
66
-10
-19
-5
4
-2
2
1
-9
2
0
5
15
23
78
12
12
41
19
2
17
-25
55
-7
-16
-52
87
5
25
0
3
98
-23
-8
4
-1
8
-31
0
47
-23
31
-92
-8
-8
-17
-9
-28
-24
21
-24
11
-31
-17
55
-24
-48
-26
-32
13
4
-41
5
21
4
28
29
22
-15
54
53
-10
-12
-6
2
51
59
8
-64
30
-39
3
-15
-2
46
43
-38
11
13
46
16
-16
9
20
19
49
39
2
-13
27
54
4
-42
50
-39
-29
9
81
-31
-34
29
-5
0
-42
-15
-43
70
-12
-81
-41
-4
-3
17
19
19
54
17
34
43
-24
-2
15
25
-20
-47
31
52
22
10
-22
8
28
-11
-11
28
0
58
-9
7
-50
22
-24
19
7
16
28
-12
1
-22
5
44
10
70
92
-62
13
12
-9
-34
-8
-13
-52
128
-8
-48
-12
12
17
22
-8
28
-2
23
-15
64
-10
-6
22
33
-13
-33
19
-24
-7
-77
8
41
-13
-2
0
14
1
-10
31
35
7
-12
0
-10
-4
6
-15
-20
4
-6
66
-8
2
-27
-34
-75
34
-12
62
128
-12
-2
-40
45
4
22
1
-28
1
16
-47
-19
-7
6
11
-2
-3
1
12
-1
0
4
2
-1
0
10
57
-6
13
-14
-15
27
0
-1
42
-48
-4
14
3
-7
1
-1
-4
-11
0
0
0
0
0
0
6
-11
0
-2
1
1
3
-42
61
-20
-22
3
2
8
16
-36
-18
10
-27
-2
18
-22
0
-4
42
-44
5
18
-5
-2
-1
2
-11
-45
-6
-15
37
1
-5
-14
-19
22
-7
50
-25
35
7
37
-18
18
37
-13
26
47
-6
-8
-42
-11
-1
18
8
9
1
-7
24
-2
-3
5
14
-38
0
-44
-6
23
58
-20
-18
87
1
11
1
-29
-5
16
5
-24
0
-4
-45
-19
5
8
2
-7
-1
0
15
4
5
0
-23
-9
1
2
-14
38
1
-25
-35
13
6
-2
0
-3
44
4
-3
3
-2
3
9
8
-2
-1
10
2
0
-4
39
-15
0
0
-3
3
0
-47
1
10
-14
-49
24
25
-3
34
-56
50
-2
5
-3
-14
0
1
50
27
-1
-7
4
14
3
2
10
0
3
1
8
0
0
-52
22
-59
29
-80
8
-20
4
-2
45
0
1
0
0
6
0
2
11
-25
6
-2
-1
0
0
-1
-3
16
0
0
-1
4
-4
-29
34
-26
48
-19
33
13
2
8
1
10
1
-3
-1
1
0
0
-1
-25
-2
1
3
0
0
1
20
-32
-1
0
0
-4
0
-43
-36
-10
93
50
-24
0
-4
-8
-4
-13
0
2
1
1
0
0
39
-33
-1
-1
-1
-2
0
-3
-2
-14
0
-1
-2
-1
0
35
35
-31
30
71
-16
6
-3
-18
-2
7
3
5
1
3
1
1
-31
57
43
-9
-14
-6
1
-1
14
-19
6
0
-33
-13
1
-17
9
-14
14
85
34
-54
39
-27
-29
-38
13
6
-12
-37
-9
-17
3
6
3
-9
2
-49
-19
-46
3
43
52
-13
21
-31
-16
-26
9
-22
119
-10
39
-27
-18
43
40
-4
50
-22
-11
35
-12
-51
0
2
0
-2
-1
-28
-30
4
67
4
36
-16
-23
-18
16
-7
18
0
31
12
45
7
-8
-13
29
4
4
0
6
-8
0
3
0
0
-8
-5
-7
-25
-8
-19
-12
-29
15
7
66
48
106
9
-28
14
-10
-22
28
25
3
-15
15
-28
-1
17
11
8
0
3
-1
5
0
3
28
48
9
-43
11
-45
-57
5
42
-49
-92
-1
4
5
-32
11
21
-37
-1
17
1
-13
5
16
5
0
4
-3
-5
2
42
-9
102
66
8
38
88
41
-81
89
18
-41
-41
40
33
-17
27
23
-6
9
3
7
-43
65
-1
3
0
1
2
-8
0
-18
46
27
-31
-20
26
-6
-33
-7
-16
-8
34
-8
39
-61
10
-43
-10
-18
13
-4
0
1
9
1
-1
0
1
0
0
1
5
3
17
34
40
36
-41
62
12
-2
13
28
41
-1
-1
-16
66
-15
-11
-84
-34
11
-3
6
-6
11
-2
-1
12
-8
0
0
-10
-13
17
85
169
61
66
25
-97
-1
10
15
14
3
-24
-21
-2
58
2
-41
1
0
-20
19
13
-5
-12
10
22
-4
-2
-16
-7
-32
6
18
15
26
-31
78
1
0
6
-8
-20
15
-38
9
33
35
61
-28
-4
-38
-1
6
-33
32
0
3
-1
-3
0
3
28
-33
10
64
21
33
-27
-23
3
-11
-1
-27
-25
-11
1
-19
-18
16
-9
6
15
-10
-2
6
3
-13
-2
1
-1
0
-1
0
-13
31
27
35
18
51
50
-59
5
8
31
55
33
-7
126
-38
-6
-10
17
22
1
38
-1
-3
-1
26
0
-6
-5
-2
-1
-4
38
47
35
-33
-42
51
6
-2
-9
-20
-12
-17
-22
-40
-46
-9
-7
-18
20
31
-29
22
5
7
31
-22
1
-5
-1
0
5
4
9
69
36
75
-81
84
3
-82
-11
-34
-15
53
43
40
9
37
17
-33
69
16
13
-77
-4
1
22
34
-3
-1
-1
-1
0
0
-5
5
-25
23
0
13
-38
3
21
35
-40
12
-23
5
51
-22
-19
41
17
-11
-25
20
-2
2
-29
15
0
0
-2
3
0
0
12
1
31
-33
-77
47
32
-57
6
19
-45
36
-55
-5
-23
-25
3
-5
-24
7
34
1
25
8
27
-6
69
-22
13
-6
47
-19
3
-11
3
-1
9
-28
-9
14
2
7
12
5
6
11
-1
-40
2
-21
0
2
0
0
0
0
54
-24
-21
48
0
0
0
0
10
16
64
1
0
0
0
0
-36
-49
23
21
0
0
0
0
7
8
-8
-13
0
0
0
0
-22
-8
34
1
0
0
0
0
154
25
43
49
0
0
0
0
-62
64
-5
48
0
0
0
0
47
-11
52
-28
0
0
0
0
-50
45
50
-30
0
0
0
0
-4
4
-17
-36
0
0
0
0
7
14
57
38
0
0
0
0
20
-6
27
-37
0
0
0
0
74
34
40
8
0
0
0
0
24
-13
-34
-21
0
0
0
0
-31
36
-20
-33
0
0
0
0
4
53
22
38
0
0
0
0
20
-25
50
-60
0
0
0
0
21
41
1
6
0
0
0
0
35
-3
15
-11
0
0
0
0
17
-15
-38
-20
0
0
0
0
27
31
74
3
0
0
0
0
4
-22
-7
-26
0
0
0
0
25
43
15
12
0
0
0
0
25
44
21
-8
0
0
0
0
13
17
4
14
0
0
0
0
-33
32
-12
-4
0
0
0
0
0
-4
-3
-1
0
0
0
0
-6
-14
-13
-43
0
0
0
0
-28
74
-18
18
0
0
0
0
28
4
19
-34
0
0
0
0
5
8
3
-3
0
0
0
0
19
17
-13
33
0
0
0
0
-14
73
39
0
0
0
0
0
37
-12
17
81
0
0
0
0
8
29
21
44
0
0
0
0
15
5
35
69
0
0
0
0
-33
33
16
26
0
0
0
0
14
-22
16
-24
0
0
0
0
-22
-19
-4
23
0
0
0
0
24
13
-3
59
0
0
0
0
41
-8
-39
12
0
0
0
0
-27
-7
-10
43
0
0
0
0
-37
66
-27
-5
0
0
0
0
7
47
0
-48
0
0
0
0
-34
-3
11
-8
0
0
0
0
-17
-1
20
63
0
0
0
0
-17
19
6
-9
0
0
0
0
-21
91
-2
29
0
0
0
0
-48
-24
-18
17
0
0
0
0
39
-2
15
-6
0
0
0
0
13
19
-19
3
0
0
0
0
46
-55
19
-10
0
0
0
0
7
-4
-4
3
0
0
0
0
-10
82
-11
8
0
0
0
0
-76
44
-9
15
0
0
0
0
12
-21
-35
89
0
0
0
0
-9
-2
3
-12
0
0
0
0
-42
41
17
10
0
0
0
0
8
-19
-25
-16
0
0
0
0
84
-78
-64
48
0
0
0
0
16
24
-10
-51
0
0
0
0
-61
13
-19
-62
0
0
0
0
21
-40
-23
-4
0
0
0
0
14
-7
95
54
0
0
0
0
-23
4
4
-16
0
0
0
0
1
0
2
5
0
0
0
0
4
62
38
23
0
0
0
0
35
71
-11
-47
0
0
0
0
-24
22
-5
-6
0
0
0
0
-1
-2
-9
-16
0
0
0
0
41
75
-14
9
0
0
0
0
34
59
24
28
0
0
0
0
33
-35
-8
33
0
0
0
0
-4
-2
28
2
0
0
0
0
25
65
29
18
0
0
0
0
8
-66
23
43
0
0
0
0
79
-133
-81
20
0
0
0
0
-3
-9
7
-22
0
0
0
0
-47
69
-43
7
0
0
0
0
-25
21
-11
2
0
0
0
0
-35
57
22
-6
0
0
0
0
6
-1
2
-48
0
0
0
0
42
0
-9
82
0
0
0
0
-21
-10
-38
21
0
0
0
0
33
51
-5
-5
0
0
0
0
-13
-20
-16
-20
0
0
0
0
59
91
39
-62
0
0
0
0
-27
33
-33
12
0
0
0
0
-20
-32
1
-7
0
0
0
0
4
-2
53
75
0
0
0
0
33
-60
5
56
0
0
0
0
28
-28
-16
-55
0
0
0
0
-4
45
-4
8
0
0
0
0
24
20
15
-28
0
0
0
0
12
-32
-2
-35
0
0
0
0
7
6
-51
100
0
0
0
0
-29
-9
-10
47
0
0
0
0
-10
-22
24
-22
0
0
0
0
0
-2
-23
-23
0
0
0
0
39
24
36
-19
0
0
0
0
21
129
-19
-12
0
0
0
0
-14
32
89
5
0
0
0
0
-11
-5
9
18
0
0
0
0
24
86
41
-103
0
0
0
0
-5
-73
-14
-9
0
0
0
0
4
-7
-22
52
0
0
0
0
-18
-21
-2
-37
0
0
0
0
8
-1
-7
49
0
0
0
0
-3
64
9
-29
0
0
0
0
-13
11
-62
-34
0
0
0
0
12
4
-5
-33
0
0
0
0
8
-40
31
23
0
0
0
0
113
1
-21
4
0
0
0
0
51
53
-38
-5
0
0
0
0
-14
-27
-4
64
0
0
0
0
5
-3
70
38
0
0
0
0
36
-32
32
-38
0
0
0
0
37
9
-42
-28
0
0
0
0
-21
-58
18
-87
0
0
0
0
-26
11
11
51
0
0
0
0
41
-59
5
-7
0
0
0
0
31
-4
-56
36
0
0
0
0
25
-4
-88
6
0
0
0
0
16
7
-10
11
0
0
0
0
-51
12
-41
-4
0
0
0
0
-3
-22
7
-20
0
0
0
0
4
-31
-23
-64
0
0
0
0
7
7
5
-13
0
0
0
0
-25
22
-45
-27
0
0
0
0
-1
9
34
-25
0
0
0
0
-37
22
39
-2
0
0
0
0
12
-2
13
17
0
0
0
0
59
-19
56
33
0
0
0
0
13
32
-25
33
0
0
0
0
-97
21
18
28
0
0
0
0
28
52
15
-1
0
0
0
0
75
-11
-28
-58
0
0
0
0
-35
-14
16
9
0
0
0
0
51
-8
23
8
0
0
0
0
15
-3
-3
-32
0
0
0
0
43
52
21
29
0
0
0
0
30
7
-22
-46
0
0
0
0
-10
13
-2
71
0
0
0
0
19
26
-34
-22
0
0
0
0
-41
-16
20
6
0
0
0
0
-61
-19
6
3
0
0
0
0
89
61
0
7
0
0
0
0
5
25
-32
-32
0
0
0
0
10
61
1
25
0
0
0
0
2
-34
-4
22
0
0
0
0
4
6
0
0
0
0
0
0
-2
61
-29
-24
0
0
0
0
35
26
-6
-4
0
0
0
0
8
-5
-11
-1
0
0
0
0
4
1
0
0
0
0
0
0
-25
-48
24
6
0
0
0
0
-22
-65
13
26
0
0
0
0
12
112
8
-32
0
0
0
0
-27
0
-4
3
0
0
0
0
7
29
-32
60
0
0
0
0
-10
33
-8
34
0
0
0
0
11
-10
11
1
0
0
0
0
0
-15
3
0
0
0
0
0
65
26
-11
73
0
0
0
0
-2
22
27
-51
0
0
0
0
24
-19
1
0
0
0
0
0
-14
-47
4
1
0
0
0
0
19
38
-31
51
0
0
0
0
6
27
-42
-33
0
0
0
0
-7
48
-7
6
0
0
0
0
2
-8
-3
-2
0
0
0
0
14
-12
-15
-12
0
0
0
0
-60
20
34
31
0
0
0
0
41
36
5
6
0
0
0
0
-5
2
5
-8
0
0
0
0
-32
11
14
-18
0
0
0
0
36
31
3
0
0
0
0
0
-4
39
1
0
0
0
0
0
4
-12
0
-2
0
0
0
0
34
-35
40
27
0
0
0
0
-15
-35
4
-1
0
0
0
0
-5
23
5
-1
0
0
0
0
6
-4
0
0
0
0
0
0
24
28
23
-9
0
0
0
0
-50
-41
7
-5
0
0
0
0
-38
21
-14
-18
0
0
0
0
21
-3
2
1
0
0
0
0
38
31
-32
-24
0
0
0
0
-13
35
40
10
0
0
0
0
39
-57
18
-55
0
0
0
0
8
23
-1
2
0
0
0
0
-13
13
0
-66
0
0
0
0
77
-105
-8
5
0
0
0
0
1
-2
-3
-13
0
0
0
0
23
15
33
-71
0
0
0
0
53
43
-15
61
0
0
0
0
8
60
-19
-4
0
0
0
0
2
-4
-16
4
0
0
0
0
19
-61
77
13
0
0
0
0
38
7
17
17
0
0
0
0
28
-16
3
-4
0
0
0
0
6
-7
2
4
0
0
0
0
19
-9
-7
35
0
0
0
0
26
-4
34
-23
0
0
0
0
14
41
-11
-13
0
0
0
0
2
-7
4
-5
0
0
0
0
-9
24
-48
49
0
0
0
0
12
-6
68
23
0
0
0
0
-61
-11
-7
-1
0
0
0
0
25
-5
22
0
0
0
0
0
49
56
-31
7
0
0
0
0
-8
23
4
8
0
0
0
0
-13
-11
-4
0
0
0
0
0
5
19
-9
4
0
0
0
0
66
27
-19
-5
0
0
0
0
38
-65
11
-9
0
0
0
0
-2
7
0
1
0
0
0
0
-9
32
31
22
0
0
0
0
56
83
24
-49
0
0
0
0
4
-46
71
-9
0
0
0
0
25
9
2
17
0
0
0
0
23
-2
-19
-9
0
0
0
0
-30
-49
-71
23
0
0
0
0
53
-13
36
-46
0
0
0
0
10
-24
13
12
0
0
0
0
-2
-10
-18
-2
0
0
0
0
1
0
-14
-31
0
0
0
0
26
37
-20
76
0
0
0
0
-19
-65
2
-3
0
0
0
0
8
-7
36
81
0
0
0
0
1
-1
28
-16
0
0
0
0
-22
-19
14
38
0
0
0
0
-6
-12
-3
0
0
0
0
0
-4
18
45
-63
0
0
0
0
14
67
-4
-15
0
0
0
0
57
-20
0
-69
0
0
0
0
23
82
3
28
0
0
0
0
-20
-42
-45
27
0
0
0
0
-3
-26
-32
11
0
0
0
0
9
44
-16
19
0
0
0
0
18
-33
26
13
0
0
0
0
41
-41
40
-67
0
0
0
0
33
15
68
57
0
0
0
0
-6
45
-30
30
0
0
0
0
25
75
-6
4
0
0
0
0
30
-19
-23
105
0
0
0
0
-34
-14
-42
-11
0
0
0
0
-61
-34
84
26
0
0
0
0
29
-10
-16
7
0
0
0
0
3
-22
26
80
0
0
0
0
-13
9
-55
7
0
0
0
0
-2
0
9
-6
0
0
0
0
-30
13
-1
0
0
0
0
0
4
-1
-8
-3
0
0
0
0
-1
-8
-50
-65
0
0
0
0
15
11
2
39
3
27
-18
29
12
39
10
43
52
39
1
6
4
32
7
14
-16
28
-7
-2
26
23
18
42
18
5
18
20
9
11
35
25
19
-6
-18
28
56
-25
-36
-22
-43
0
-13
-46
24
57
-22
0
-29
-6
11
40
60
8
12
15
-25
37
-19
6
-23
20
-25
-28
-8
58
2
13
30
8
14
-25
-13
-104
-9
15
45
44
-25
-6
35
11
13
0
32
-38
4
12
16
-5
-36
38
-6
10
-37
-20
-20
0
-4
3
28
7
5
3
-30
-26
-30
21
-9
-37
-3
-48
-22
-25
13
-57
43
11
28
-16
-62
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-6
89
-9
64
-30
13
-32
64
-17
28
22
-4
70
42
14
-40
-2
78
34
42
31
27
105
21
42
46
16
-42
44
61
5
-90
24
32
-63
-36
7
1
20
-21
-54
43
-70
-22
-7
13
27
-13
-65
16
-7
3
20
28
48
70
-45
-2
56
16
23
40
21
-30
13
52
18
-74
-5
-59
10
-18
-9
28
-92
-27
-24
108
-70
-24
31
7
-23
61
-56
6
-36
45
-21
57
21
39
22
119
-22
2
-40
-83
-47
5
-8
0
-44
-13
-46
58
4
-98
-96
2
27
69
-11
-74
-24
-43
-28
85
5
24
6
8
-19
-56
-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
37
-6
29
27
-26
-28
-26
14
37
133
40
34
29
6
0
43
4
9
13
18
25
2
-6
-3
11
12
8
-18
7
36
11
3
23
-12
27
18
15
31
1
17
60
-34
-20
0
-37
-16
26
-1
-5
1
1
6
6
0
-6
-9
-7
-19
28
33
27
-15
15
-1
35
50
30
-57
-51
57
53
42
85
36
13
-10
-79
10
104
28
-5
12
-10
12
-8
-10
-4
4
25
-7
-4
47
31
21
9
12
13
-32
-86
20
-48
-35
81
-40
20
63
-49
11
-51
138
-26
3
-9
-3
-26
-3
-16
34
-26
-4
9
51
2
41
-37
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-29
36
-11
14
74
3
29
-28
-23
97
-55
76
-21
19
-63
6
-12
33
16
28
2
21
28
5
8
-13
9
-16
19
-11
5
-17
-66
-78
-38
158
27
98
12
-33
0
-38
-78
50
-18
-19
-17
-55
12
-11
-37
35
7
61
-21
0
-1
-10
-5
0
-17
-19
-12
-62
13
-34
14
48
-60
-53
53
-22
4
35
81
45
-67
-67
-1
-43
-23
-11
8
-71
-95
-13
20
-11
-9
2
0
12
22
24
20
57
8
21
-45
-38
33
64
-131
-39
-113
-53
0
-27
17
64
18
-29
-16
-38
-59
-28
34
-10
-19
-8
3
-7
-10
-32
-17
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
4
-12
-8
41
47
-1
18
21
-7
19
9
9
35
36
30
31
23
7
61
47
25
9
64
25
20
17
71
0
20
-39
4
38
14
-12
-8
-30
35
45
1
5
17
12
20
13
-47
23
-2
-14
39
95
-25
9
1
-17
4
-1
46
40
-9
27
22
31
14
25
4
12
29
12
-14
19
8
-21
9
9
47
-4
-49
1
-8
39
-13
-15
-23
-53
-55
-32
52
104
42
-70
3
37
15
-15
38
46
24
25
-29
0
39
-38
27
2
44
20
11
29
-17
9
-31
44
69
-54
-5
-17
19
77
-22
-12
-8
3
18
-23
2
-12
19
0
16
-9
23
66
54
127
-15
72
50
4
3
20
-31
19
99
-7
9
-8
49
-54
-9
-43
58
-19
-35
-8
29
61
35
83
11
30
2
-13
-22
106
46
7
-71
6
12
-9
39
34
-4
-15
72
2
-67
22
-16
33
62
0
-5
26
-8
-53
43
-42
23
26
3
41
22
-14
7
40
-14
37
8
56
-7
35
32
-30
-12
-33
-59
-25
49
12
-50
28
-68
0
-66
54
-64
-69
72
-70
15
-51
-6
54
2
15
22
38
36
-117
-44
39
-35
-14
-35
-54
-86
-96
-86
53
4
-30
71
-15
20
7
-35
1
-8
-16
18
-24
21
-7
-12
12
31
25
29
137
40
101
18
-32
59
-11
46
70
54
12
43
60
-10
129
49
-88
13
0
52
-21
-9
-18
56
53
2
47
-8
-9
14
-13
20
0
-41
-36
73
25
-23
37
9
56
64
14
-35
71
20
-9
-24
24
-35
-74
-22
0
-66
-12
6
3
9
66
33
52
50
36
-22
62
-15
-44
-14
4
-61
-27
-41
50
22
-46
9
-23
-34
11
-68
90
-111
-14
-81
50
23
-80
-45
-15
48
117
-23
66
24
26
0
72
2
-56
80
25
35
46
-12
-60
43
-6
-44
37
-6
4
-59
-39
30
50
-28
49
-30
-123
0
28
-51
-100
-46
-2
22
-19
-50
-18
-51
81
57
3
32
-35
-40
-8
33
72
40
95
62
12
60
46
47
27
0
-2
-39
50
69
16
97
18
-25
8
56
53
-8
-49
-40
-6
20
87
-14
9
-115
-7
88
58
21
1
-52
45
-112
97
-45
35
-2
-102
22
45
-51
-25
41
-40
-13
55
14
10
16
-65
19
51
-101
-7
5
17
-34
-32
10
22
30
42
-17
5
-5
-94
-26
-37
-97
82
-39
-33
-68
-140
78
-9
-41
91
-4
27
-3
43
-6
-27
-17
-29
31
26
-104
-34
-103
-69
-14
41
-14
-9
-38
2
19
4
-78
-2
5
5
-83
83
-107
-65
-66
4
-47
26
25
66
-13
137
7
-42
-52
75
25
-18
61
27
41
7
7
-9
4
7
6
8
5
13
13
22
17
8
14
6
9
67
-32
-23
35
9
20
-31
-27
74
34
-54
32
3
6
-7
40
5
-8
-3
-5
17
30
12
5
6
-15
-22
-18
10
9
10
-7
-24
-2
-7
5
29
38
-52
-2
66
11
-15
-57
-7
-134
14
4
-4
1
-5
-21
11
-4
-33
-10
-2
25
21
-9
1
6
-12
8
50
-38
2
-28
42
30
54
72
-1
-35
57
-23
-23
-62
-68
-38
7
-17
-39
-12
-7
-53
-14
-64
9
-9
21
16
38
-42
-20
-30
-16
38
-49
-12
-57
17
50
81
25
47
30
66
119
23
102
69
-5
8
-14
12
-33
10
-9
5
39
-11
46
-62
6
-34
-8
10
-23
49
-77
-33
48
90
-7
-61
32
25
25
-27
-26
66
-7
-1
4
8
19
-78
-41
-52
-22
43
-33
-35
-48
-39
-21
1
-17
-3
71
-4
62
-138
-9
-68
-13
20
76
5
-10
-24
4
-11
0
-26
28
1
-17
21
2
-45
-12
-25
35
7
-13
-90
-50
-108
21
11
-50
5
10
-45
81
17
-60
9
107
121
-28
-28
-46
-7
-9
-54
2
-28
-2
25
24
-42
-62
-49
23
-128
-10
62
-91
-127
14
-20
-31
18
85
64
15
28
3
12
21
28
63
78
6
42
16
5
-25
11
-11
28
7
98
-28
11
7
14
15
-11
2
22
0
18
38
-27
15
26
47
-47
-39
-37
30
-59
20
6
-1
-31
-42
-28
-7
-52
-8
33
14
-30
2
35
3
1
15
-7
22
28
26
-9
112
-19
61
-29
-72
6
24
-78
6
-4
-13
48
44
46
-71
2
-8
18
45
-71
94
18
6
-41
-1
9
22
-4
16
34
38
0
-32
33
22
23
-6
-43
-28
10
-44
-10
-45
-45
54
-40
10
-44
-13
-71
-34
-56
58
-32
-40
0
7
11
5
3
27
10
7
-15
13
-6
63
-76
-19
-8
15
8
1
-5
-26
-57
10
-48
47
-14
-2
22
30
18
-30
-25
-24
-10
-13
-3
19
35
12
21
-3
28
-11
-26
19
16
-54
-66
-67
-1
58
46
19
-81
-6
-8
12
26
39
7
14
-23
-30
41
-59
-65
39
20
58
-41
58
-86
-27
-4
26
-42
35
-66
-2
28
16
-25
76
19
-87
-42
38
-80
-9
-99
12
29
-17
22
-44
2
11
10
-6
17
14
37
40
-21
26
18
17
51
-17
-2
21
-8
0
-29
41
-32
25
0
46
-22
-19
-56
9
9
1
-8
-30
-35
-3
-8
-12
-5
3
-9
17
-40
-26
-19
15
7
21
4
32
13
-39
-18
-14
25
7
48
18
84
8
63
42
51
46
20
-24
37
24
14
-19
4
-47
27
52
55
80
28
9
12
-10
20
21
-15
34
12
55
-4
44
10
53
50
-36
9
8
-17
-30
-38
15
8
3
9
10
56
-7
18
48
43
10
10
-2
20
-20
-20
98
46
-60
-3
11
48
-2
34
33
8
14
21
-75
-5
-71
35
23
60
100
7
-14
-5
-16
-12
26
84
-41
5
6
-29
24
-14
-55
-27
-14
-6
11
41
18
6
6
2
30
-23
50
63
-35
-19
0
-6
39
-28
128
26
-2
-3
34
27
-4
18
-75
-11
-29
44
15
22
79
6
-46
-4
55
-35
63
-4
2
47
17
35
59
-73
46
-39
90
-9
65
-6
50
1
20
22
9
-16
-7
6
12
18
32
-36
45
-36
92
-4
31
-19
22
14
33
-20
50
-11
-31
38
11
-24
6
-50
3
-87
-37
43
-70
-15
19
30
-6
-51
42
-6
14
-31
-16
42
-73
42
-1
-1
5
36
22
80
57
-54
27
-78
39
-12
12
-45
96
73
20
-68
-54
62
-22
10
6
11
3
20
-28
18
-28
64
-18
-5
16
31
21
18
-10
-48
38
-1
5
-2
-26
31
40
-63
54
-50
-20
3
-37
50
-126
-36
56
11
-9
33
83
127
-14
36
-50
53
19
20
-20
-84
12
-57
89
39
22
42
42
0
-17
-37
-40
53
2
-113
26
109
42
25
4
-13
37
-23
-67
52
25
43
67
70
-42
-54
-84
60
55
80
-20
60
25
-27
-12
55
27
9
-86
53
84
-97
74
-25
-22
1
-5
29
30
20
51
-55
27
-8
-35
-20
-5
18
40
-13
10
34
-14
51
-2
-26
-98
14
-82
-43
32
45
120
-56
26
80
3
33
29
41
56
42
74
1
3
-52
38
-10
-43
-113
34
6
61
122
36
38
-7
-30
-74
-19
2
29
-40
41
-112
13
55
-107
-62
-9
115
-34
29
5
-70
-8
10
4
-32
103
21
16
7
-7
1
12
27
8
-4
33
-10
-66
-23
39
-28
47
-29
47
75
-67
-55
22
-39
19
-8
-56
26
55
-22
111
23
-21
-47
13
37
-37
27
-39
-17
21
-4
-47
-81
0
-9
-118
96
14
2
-53
-34
25
30
-4
57
44
9
-24
80
59
-63
-9
-16
-21
-41
-13
3
41
-41
8
41
23
74
11
36
-43
-80
68
92
-33
-77
19
-32
-39
-26
-48
47
-8
65
26
-2
-16
-63
-59
26
-24
-16
-48
41
70
7
-74
24
32
-12
-32
-4
15
-32
-14
8
15
-12
-16
22
14
1
-37
-27
35
40
10
-25
36
141
21
-43
-6
47
74
-28
0
-48
19
5
2
5
9
-5
19
-13
27
9
25
5
32
-2
5
9
8
17
3
16
-32
-41
86
9
84
43
-46
-13
38
102
-15
25
-34
3
-28
6
-3
-24
7
15
-24
-27
-19
18
-11
5
-3
-19
11
15
3
22
-37
4
-32
12
95
29
-56
12
24
-74
-44
31
30
-14
-20
-2
-26
0
1
-6
12
31
-10
31
-5
-5
102
32
2
2
-56
59
44
66
-48
-37
-23
5
11
-3
-23
-38
-13
-66
41
-9
-22
-8
12
-14
-3
6
-33
13
-9
13
44
14
3
-14
2
34
28
-4
12
-17
-80
-24
-20
0
51
-83
-7
42
30
37
-59
-26
7
-23
4
-32
40
49
-1
-2
-16
-18
42
-28
18
-37
10
81
24
-20
-86
91
28
-50
-4
48
-46
-16
-57
-6
-69
45
31
14
-18
-4
41
-14
36
-46
-36
58
5
-56
-9
-11
-63
53
3
2
44
-39
2
16
98
-12
-56
-15
6
-42
-50
-8
-11
20
-45
-4
-19
-31
11
-30
35
14
16
-36
46
-99
1
-79
-38
-16
-4
53
-44
-45
47
17
47
-100
-3
101
-76
-37
-30
13
-13
12
-109
17
-15
-51
7
28
-4
-42
20
-8
44
3
-15
67
-23
-45
-8
-16
8
-32
-35
-16
13
7
20
0
4
-10
41
60
-84
63
-21
4
3
-33
45
-7
21
21
16
6
-3
-2
9
18
0
-3
1
43
14
24
-17
5
-3
7
-94
54
59
-21
33
-8
-25
-20
0
7
21
-19
-11
-13
-1
-29
-21
-1
-13
-18
-4
-8
-12
-34
-8
56
8
-78
3
-62
78
15
5
-19
-34
-17
57
10
-11
-10
31
42
23
-3
25
66
-34
28
7
-4
-28
4
-3
-10
-14
-41
-1
-11
29
-76
-38
123
-99
77
-60
27
14
28
30
-16
-64
15
-25
13
70
25
-76
41
-11
-40
-71
2
10
12
-15
-3
0
-88
-10
49
35
-1
3
1
37
-3
21
28
-30
44
-20
-17
-40
-66
-52
1
-21
-14
-8
36
24
3
15
-9
19
38
66
39
-59
-9
-4
28
-1
88
-42
-29
-17
41
-25
19
6
55
-23
30
-9
-48
-16
-5
-9
-14
2
-90
-50
-47
-43
23
13
-27
-8
9
-48
50
-10
31
-9
-11
36
-48
-27
40
88
-9
3
-15
3
23
-49
-138
17
-3
20
-18
24
-3
1
-45
-23
17
15
13
-13
29
-28
44
-12
19
16
3
-3
17
-33
21
-24
15
4
-7
-13
-11
13
-27
-1
9
1
-5
-6
13
-7
-9
3
10
-10
11
-11
-6
-12
-4
-6
-2
10
9
-14
61
10
3
-10
30
12
26
10
16
15
31
-15
48
69
75
37
54
-9
58
62
42
51
13
26
45
70
11
3
14
16
10
27
12
35
-13
-4
25
26
11
-12
-89
-3
59
-15
37
32
-60
-8
106
85
2
-36
0
2
-18
23
3
-3
3
11
23
13
19
-6
-6
-24
33
2
-21
31
-33
-38
-13
26
-31
-53
31
80
-41
21
-29
-33
30
79
49
-40
-66
-22
21
10
-49
15
-16
-14
16
-3
18
-14
-41
-12
-19
-34
-51
-44
3
-10
-18
-3
19
47
-24
-33
-24
-32
-73
-117
0
42
-68
-39
-24
0
-29
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-40
42
8
24
-30
-3
-16
24
7
4
-31
1
20
42
-7
5
-20
25
-4
33
104
96
44
63
27
34
-47
40
24
-29
13
18
-2
-68
-25
39
21
-2
20
16
28
-3
-27
68
-37
14
-9
-5
20
-1
30
39
30
-76
129
29
22
-6
-4
2
35
39
7
-35
-10
9
90
-22
-53
9
32
12
48
7
32
83
-30
-13
-12
79
17
-59
-3
-44
-68
-28
-91
34
-36
-84
-24
-4
-37
28
10
54
62
10
-23
45
-37
-37
-41
-22
0
3
-27
27
4
3
-31
1
-48
-5
-25
17
-68
-50
4
26
-4
-13
-89
-3
-99
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-75
56
53
12
127
43
49
50
-116
-39
87
78
-11
3
1
6
2
15
13
3
1
15
13
18
11
28
0
12
-7
51
17
-11
9
32
41
-55
-50
21
-46
-36
-54
-18
-28
-39
1
-1
0
-4
3
1
17
-5
-2
18
-27
-17
28
12
11
-12
15
20
-6
38
82
-152
82
-26
-64
35
32
-25
-13
-21
63
-44
-23
5
7
0
7
24
-8
-7
-10
12
-21
26
30
3
-12
9
-16
54
5
117
51
71
-71
-153
-19
47
-35
-44
-30
-37
-118
-34
-53
-1
-12
-1
4
16
28
-43
-51
1
-36
36
-18
-31
-7
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
58
-22
53
7
-33
-78
53
46
11
-65
-2
62
80
8
-26
-36
15
2
-27
49
25
32
16
14
4
-4
8
-12
16
23
3
10
45
24
71
-28
-21
21
-7
62
29
-32
-12
9
79
-9
-20
58
20
8
18
-25
-61
-28
-58
-11
-8
3
-30
-32
-14
9
0
-13
29
-42
51
-3
-85
22
6
-84
3
-100
24
25
74
-92
-66
-14
14
-39
-48
-3
24
-25
38
12
-7
-15
8
-15
36
-9
8
2
-11
44
-70
-34
-87
-43
12
46
-1
-9
-115
-41
60
-103
-68
-39
4
2
35
-59
-16
-29
-71
-32
-1
-19
30
-25
16
-11
-31
-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
-2
1
6
12
-5
23
-29
60
19
12
28
56
17
4
35
6
8
-9
26
24
22
56
41
91
-43
3
40
39
13
38
-2
30
22
18
21
-9
21
24
27
14
10
26
26
-2
40
59
20
-21
12
-43
-36
49
28
50
12
-24
-2
-6
21
-61
13
9
43
-12
2
8
11
23
-27
33
16
36
36
-3
87
52
-14
-34
-12
28
-45
-42
-3
-34
25
91
35
39
54
-8
-29
-17
20
-15
-4
1
12
2
-9
16
-1
-12
15
14
26
48
-32
30
-40
10
36
43
36
-43
11
54
-74
14
-49
19
16
9
-7
-7
-39
-14
65
19
-40
-9
-20
6
-9
2
24
14
46
15
132
15
26
18
152
26
64
-11
25
-28
15
-5
-26
-8
-33
-46
30
87
-6
38
40
2
35
-7
82
29
-24
-33
9
4
25
-12
70
-17
29
-85
-65
-101
18
56
50
2
25
-18
-28
77
25
24
-26
30
43
-75
-33
62
2
-21
-19
40
40
-105
12
97
85
-1
-18
36
54
-12
6
-95
27
-41
-38
-16
54
-83
23
-8
24
-53
9
-118
-57
-33
-19
81
6
-14
42
-10
-10
-3
-82
-20
3
-48
-53
-38
48
-4
10
-25
93
4
11
19
-47
-1
-37
34
10
17
-82
-5
-33
-53
-64
8
9
42
3
6
12
35
49
40
-5
4
42
22
-1
42
52
52
-22
-6
-6
136
-42
160
-80
-119
29
10
66
32
-5
20
29
23
-3
37
-40
67
31
-32
-41
72
-10
-8
25
-11
-16
-40
-98
-76
126
-27
22
27
78
17
16
-56
6
31
6
-23
80
-39
-62
-30
59
21
-38
34
15
-54
11
59
-12
-74
18
53
-4
-41
17
13
-45
-6
-69
52
89
-41
60
-9
-98
-14
57
-108
51
32
-89
23
13
51
131
9
-27
20
-28
-51
-10
6
73
-29
44
-30
-13
-50
29
-16
-130
-22
-32
-29
8
114
42
-49
4
33
-62
-86
29
-29
24
12
16
28
105
-10
-49
28
102
28
2
53
46
-13
-45
78
42
-44
19
8
43
107
-13
-64
44
18
31
51
53
31
-47
-64
14
-15
-4
53
36
17
2
-23
-13
-9
-35
-36
20
-63
-36
-187
43
23
5
-12
18
-16
3
55
171
-17
-33
-5
-43
-54
14
-10
13
-15
31
-18
-44
26
28
15
-37
-127
-36
-33
-55
-36
7
-5
-7
14
-12
-52
35
-17
7
-19
-73
-67
-18
-22
-47
13
-35
10
32
14
15
4
-27
3
-54
-21
-8
-28
31
-82
-13
-100
-30
-9
63
-8
-6
-19
37
-66
-116
-14
-28
-10
-68
-61
92
38
-25
-75
-29
16
30
-20
19
-55
42
6
16
117
99
30
-37
79
-4
34
1
2
2
-11
15
-10
16
8
6
0
10
21
6
22
30
11
43
-10
23
-18
13
-3
41
24
48
60
-37
-54
34
78
-16
-38
2
4
0
2
11
-5
20
-24
-14
-43
-9
6
10
10
-33
2
16
63
7
-67
65
15
27
-33
-2
8
-38
-78
34
160
-73
-40
2
-1
4
-5
1
44
21
6
31
29
27
-27
21
-41
-14
9
106
-19
8
-11
53
-53
-7
16
24
-18
-43
-111
83
-11
-25
8
1
7
-9
-8
-10
6
-16
-37
3
5
23
-22
-22
-43
5
16
-43
-14
101
63
28
-2
25
-39
34
-58
71
-44
11
-61
-24
1
2
-7
41
-7
30
-29
-5
26
-2
-8
-7
11
4
-21
25
6
115
46
-4
8
-12
-47
-34
-58
39
37
-46
-55
59
-90
-53
18
12
1
-6
3
0
-22
-16
-22
-37
-34
-8
-129
30
15
-99
5
42
88
38
1
-49
-65
15
-12
6
-1
-18
-6
-17
11
-4
42
3
6
-15
-13
3
-56
-26
-75
-43
-1
-35
-27
16
-24
87
-13
36
-22
-90
-37
-22
113
54
-53
74
8
-59
21
-91
1
60
-11
11
13
-5
-19
-3
-6
2
28
-6
-40
-81
-87
2
-117
-55
-53
-30
31
-13
45
25
13
8
-12
0
13
67
-2
35
-13
-22
0
18
15
6
-19
62
66
21
39
1
6
16
14
-4
7
13
-1
10
56
104
-10
58
-2
-61
-85
-20
39
-106
54
77
40
-76
-40
65
26
46
9
10
45
12
40
-2
-3
28
-11
4
23
-30
-17
-5
64
45
34
-18
9
21
-22
20
67
-59
-9
8
-6
-25
56
10
29
-8
-21
70
-48
-7
52
11
-13
-38
-41
58
0
-24
-1
60
56
48
73
0
33
-23
-21
119
21
-81
-59
-33
-20
69
-46
48
55
21
-80
-18
-67
-18
-8
14
-4
-45
-13
24
-56
-23
-43
33
21
-66
-6
97
15
81
-21
55
23
-43
7
-29
64
14
-7
2
13
-38
-8
-28
-28
-24
-17
14
9
0
-5
6
36
-28
-2
4
19
-65
48
-39
-20
-56
18
49
-2
-41
-74
-44
16
10
7
-13
9
-46
13
-8
-22
37
49
1
24
-5
-68
-78
-22
-5
-26
55
2
-5
-8
68
86
28
-36
-39
3
12
-3
48
-30
-115
-45
23
28
-8
20
13
-66
-44
26
-14
24
-18
-17
17
54
6
-33
-2
5
20
5
31
-35
-4
-14
4
-5
-18
22
-20
-42
53
-13
2
-14
12
15
-13
-14
9
-50
-1
-10
3
-16
7
-41
19
-18
16
17
12
8
10
-7
-23
22
6
-24
26
15
41
29
-5
26
-51
0
-4
46
16
30
-54
122
4
26
82
84
20
56
76
60
8
17
-6
76
1
11
-15
43
4
7
17
-2
13
35
-41
16
22
16
26
11
-41
-23
58
-114
6
28
-25
69
23
21
23
28
-30
9
2
40
-31
20
42
29
31
-35
42
24
-64
18
-64
78
10
-30
9
20
1
-32
3
-41
44
16
-34
-4
-19
132
16
16
31
6
-21
0
-10
7
19
9
7
16
30
12
15
17
70
56
-10
-34
10
-51
-4
14
-25
-2
-21
26
15
18
29
-64
-16
22
-38
40
-27
41
51
40
50
21
2
35
-74
35
-3
-68
64
29
11
24
34
-6
83
-3
-15
-12
-51
-8
-29
24
99
11
118
-15
26
40
20
27
-7
42
-7
67
85
30
-67
-39
-17
16
52
-129
77
43
-119
1
43
-65
9
41
-15
10
48
-28
-74
2
-72
-2
22
21
-10
86
-32
-74
-16
36
37
-71
-94
70
94
-5
108
-20
-18
-37
-14
-126
-29
87
1
41
-12
-32
-2
-15
-13
30
100
-24
16
33
71
28
6
-8
21
-41
65
-60
58
-19
6
-122
28
-87
105
83
25
-2
11
30
39
-13
-9
32
-14
-204
-18
17
-70
-32
-20
38
4
125
-4
18
8
-2
45
-83
46
-80
31
7
42
71
-7
-59
54
-35
-4
116
-15
31
24
-24
-1
83
-44
3
32
116
-19
-13
4
19
-8
-8
24
-63
19
18
38
101
15
6
-23
-4
-12
42
3
31
110
22
-10
-41
85
29
42
-13
24
31
-63
-3
14
8
38
31
8
17
-95
16
-11
-9
28
17
-20
19
-55
-25
67
-24
-13
-13
1
27
53
-40
43
3
12
-35
0
38
12
-36
7
2
-50
14
-14
-10
-50
52
-44
87
-24
39
43
-50
25
81
15
-24
-64
-13
3
55
24
-89
-44
4
-15
-55
-1
-5
15
-51
21
37
21
-2
-13
-23
-82
-20
109
56
41
24
26
87
-53
-44
0
-37
9
66
33
-103
18
-18
-17
20
62
19
-78
52
-20
-48
34
27
57
34
41
46
-28
-51
95
39
-25
30
-27
41
18
-27
20
69
-23
33
-87
-16
8
1
42
-24
-82
-27
-43
-32
-34
-52
-11
-11
2
18
7
20
-36
20
-27
0
17
15
114
18
41
-19
0
-1
39
-45
-12
-24
-10
-15
17
-41
-60
-35
4
4
-42
2
23
21
83
-29
23
34
76
3
78
22
-44
-20
-35
-57
30
-24
19
29
-1
-60
71
-28
-8
-90
27
-25
31
-79
-64
-39
-37
-38
-19
11
76
23
-48
-23
59
30
-18
40
93
-33
-29
-69
25
42
7
-2
-1
-9
-3
-18
16
13
17
-25
38
-3
3
-11
17
12
-11
-38
92
28
35
-91
-37
11
-42
16
19
-62
16
18
15
-30
8
2
-2
-6
-1
4
24
30
23
21
-26
-34
7
69
24
27
-4
46
-29
-13
50
130
20
-44
69
-93
74
-95
32
-16
-6
-12
5
-4
8
1
13
-46
-29
-38
-9
10
-47
-14
-1
-14
71
-19
14
-31
-78
-49
42
34
32
5
-23
-4
9
-42
-39
-47
-30
3
7
16
9
38
-44
27
59
-37
-20
-35
28
-12
14
-48
-26
12
-35
2
44
-8
44
-82
21
47
-17
43
-29
-81
2
-58
-11
-39
-8
-4
-53
-6
55
36
18
15
36
83
-74
-29
-15
-6
-30
-1
89
-18
-26
-27
22
-43
18
-123
-2
50
115
24
-26
19
-65
-91
9
17
-9
9
44
-20
-17
8
-34
-23
-53
-29
80
-125
-54
-42
57
-46
7
12
30
-24
-48
-13
33
94
-42
-138
49
-54
-21
-2
-9
-21
5
-30
49
6
-45
-57
33
-40
-11
-30
-20
13
25
-31
9
48
-35
1
20
42
32
45
22
-21
-57
-82
-7
-126
-8
-20
-3
-15
6
13
15
1
-22
-71
39
-52
4
0
8
-82
-29
5
14
25
79
55
60
-9
-55
33
-27
22
60
43
5
36
-47
43
17
14
7
21
-14
50
-27
11
2
-2
-4
-2
-8
-11
13
12
32
19
-22
-4
0
53
32
51
-3
24
33
44
-14
-27
33
-62
32
-23
-45
11
33
0
25
-36
1
0
6
-16
3
-42
-15
-8
-20
5
35
-6
17
54
0
58
65
63
10
54
21
37
-64
-118
6
31
-1
-14
-10
-65
-11
50
-7
-3
-4
-16
13
-74
-16
-2
-4
15
-2
26
11
-70
-27
-48
-19
-36
-62
-107
-66
-19
30
37
-7
5
-6
70
91
1
-56
8
-10
-4
8
8
19
-27
-40
-18
-51
9
17
-50
-14
1
46
-25
29
-46
-1
-30
-5
55
-51
0
-3
43
-34
6
23
-57
63
26
29
19
-38
-5
-2
-41
-45
-10
-2
-2
-43
-47
14
-17
-27
-61
99
-21
-21
-28
-1
-50
49
-46
25
-26
41
6
-44
-45
33
25
24
-8
-17
-91
31
16
-63
-4
113
9
21
-58
-66
-64
0
-4
-22
-42
-36
20
61
67
66
3
-4
24
-40
-57
9
-2
17
-1
13
48
-34
10
23
-31
-15
-6
23
1
-4
4
19
12
-5
7
33
-3
13
-40
29
-25
-50
-48
10
4
7
-7
11
-11
-16
3
3
-10
5
-26
6
-10
-4
-16
26
18
22
1
0
0
0
0
4
35
-15
-44
0
0
0
0
25
44
44
17
0
0
0
0
14
3
78
8
0
0
0
0
16
17
11
2
0
0
0
0
1
3
-26
-24
0
0
0
0
2
21
-24
21
0
0
0
0
20
10
17
-8
0
0
0
0
14
-8
39
-6
0
0
0
0
-50
26
38
-31
0
0
0
0
-7
12
50
-60
0
0
0
0
-29
25
-27
-19
0
0
0
0
-1
-3
0
-14
0
0
0
0
-23
-35
-26
8
0
0
0
0
31
-44
21
-1
0
0
0
0
12
-18
-66
-18
0
0
0
0
35
32
8
-31
0
0
0
0
10
-8
11
11
0
0
0
0
128
35
-108
81
0
0
0
0
67
-113
73
-19
0
0
0
0
20
1
-21
7
0
0
0
0
57
-6
36
16
0
0
0
0
-44
42
-75
-21
0
0
0
0
11
-52
-5
-4
0
0
0
0
-4
-50
18
-17
0
0
0
0
22
-9
-85
-65
0
0
0
0
-34
10
-60
54
0
0
0
0
66
-30
45
-94
0
0
0
0
-17
-4
-41
-46
0
0
0
0
-50
22
-61
-23
0
0
0
0
-27
-11
-28
-69
0
0
0
0
-58
18
44
-26
0
0
0
0
15
19
15
10
0
0
0
0
44
-6
9
4
0
0
0
0
17
16
45
5
0
0
0
0
50
23
-31
-41
0
0
0
0
37
23
-14
24
0
0
0
0
19
30
-47
-59
0
0
0
0
-42
24
29
-15
0
0
0
0
-29
56
-27
3
0
0
0
0
34
33
-11
-2
0
0
0
0
61
-19
32
-31
0
0
0
0
32
-18
-72
-17
0
0
0
0
-26
-12
-2
27
0
0
0
0
56
20
-2
-21
0
0
0
0
67
16
-15
-3
0
0
0
0
2
7
31
-14
0
0
0
0
48
-11
-51
-23
0
0
0
0
15
46
-36
-37
0
0
0
0
74
13
42
3
0
0
0
0
58
25
43
12
0
0
0
0
-5
-39
22
91
0
0
0
0
5
36
13
22
0
0
0
0
-36
21
13
63
0
0
0
0
-26
30
-98
-79
0
0
0
0
-21
4
-110
-50
0
0
0
0
20
4
-32
-85
0
0
0
0
12
-40
-23
-65
0
0
0
0
-11
45
41
-37
0
0
0
0
-38
2
-67
-5
0
0
0
0
9
30
36
12
0
0
0
0
-62
74
-74
22
0
0
0
0
-64
-17
-74
34
0
0
0
0
9
-12
-135
-64
0
0
0
0
10
1
28
62
0
0
0
0
90
24
-12
56
0
0
0
0
2
0
6
-11
0
0
0
0
17
29
-37
-36
0
0
0
0
22
16
-7
-9
0
0
0
0
9
75
-16
-60
0
0
0
0
8
11
-11
-12
0
0
0
0
22
33
-10
-38
0
0
0
0
33
51
-10
-12
0
0
0
0
-41
-97
8
21
0
0
0
0
-3
-3
1
-4
0
0
0
0
5
-51
30
-39
0
0
0
0
26
21
-22
-51
0
0
0
0
7
-26
-28
-7
0
0
0
0
-10
-13
6
-26
0
0
0
0
-35
-32
-44
-51
0
0
0
0
48
-8
-43
-103
0
0
0
0
32
40
94
-13
0
0
0
0
31
13
5
31
0
0
0
0
12
17
9
-38
0
0
0
0
46
-26
-16
-62
0
0
0
0
-23
-19
-13
7
0
0
0
0
20
-9
23
-23
0
0
0
0
43
-11
-70
-66
0
0
0
0
-6
-41
-101
-99
0
0
0
0
88
59
0
-19
0
0
0
0
8
12
-3
16
0
0
0
0
-4
-40
14
-6
0
0
0
0
7
22
-61
18
0
0
0
0
41
40
-45
-42
0
0
0
0
-5
-12
-23
0
0
0
0
0
28
1
14
-64
0
0
0
0
27
-3
-9
-38
0
0
0
0
9
-14
85
-50
0
0
0
0
32
0
85
16
0
0
0
0
1
-7
3
3
0
0
0
0
90
49
-68
-1
0
0
0
0
-6
45
54
-29
0
0
0
0
39
22
-7
21
0
0
0
0
-9
-24
-6
-32
0
0
0
0
33
32
-51
-80
0
0
0
0
159
1
-6
9
0
0
0
0
20
29
-12
-7
0
0
0
0
12
8
12
14
0
0
0
0
-2
-2
-48
14
0
0
0
0
-9
34
-78
33
0
0
0
0
51
-56
97
84
0
0
0
0
-6
0
6
-22
0
0
0
0
75
35
19
7
0
0
0
0
22
26
-53
7
0
0
0
0
17
36
-7
-36
0
0
0
0
9
3
1
13
0
0
0
0
61
68
-20
42
0
0
0
0
21
-18
-4
-36
0
0
0
0
1
-5
-2
-17
0
0
0
0
-8
-44
6
25
0
0
0
0
-21
-26
58
-26
0
0
0
0
4
-89
31
11
0
0
0
0
22
-6
4
50
0
0
0
0
-10
-5
-14
17
0
0
0
0
22
-18
53
17
0
0
0
0
6
-10
24
-45
0
0
0
0
-4
-33
10
19
0
0
0
0
-4
-25
10
-18
0
0
0
0
15
16
22
46
0
0
0
0
2
38
-1
-57
0
0
0
0
21
56
70
19
0
0
0
0
32
0
-64
14
0
0
0
0
17
7
18
29
0
0
0
0
11
12
0
-20
0
0
0
0
3
45
-6
3
0
0
0
0
-43
7
-43
-7
0
0
0
0
-8
-7
5
-5
0
0
0
0
3
-47
3
-56
0
0
0
0
28
54
-5
2
0
0
0
0
-58
-15
-30
-40
0
0
0
0
2
-6
5
8
0
0
0
0
12
-39
37
19
0
0
0
0
10
10
68
-98
0
0
0
0
-17
-105
-43
-13
0
0
0
0
35
28
1
44
0
0
0
0
21
-21
70
47
0
0
0
0
50
48
-6
-31
0
0
0
0
-5
74
-59
-66
0
0
0
0
42
-21
0
-47
0
0
0
0
96
37
99
10
0
0
0
0
10
4
54
17
0
0
0
0
34
38
-44
27
0
0
0
0
23
55
35
10
0
0
0
0
46
10
-27
-23
0
0
0
0
28
-21
-52
-12
0
0
0
0
122
16
31
-115
0
0
0
0
-28
5
1
-21
0
0
0
0
-41
7
26
48
0
0
0
0
36
-11
-34
-4
0
0
0
0
-53
-105
-96
81
0
0
0
0
13
-10
-27
2
0
0
0
0
37
32
102
9
0
0
0
0
57
-56
-23
-58
0
0
0
0
1
39
136
-40
0
0
0
0
78
54
27
-16
0
0
0
0
46
7
28
46
0
0
0
0
36
27
-71
8
0
0
0
0
-23
-25
24
-189
0
0
0
0
-8
15
-1
44
0
0
0
0
26
-7
-90
-44
0
0
0
0
42
9
83
-38
0
0
0
0
39
37
-91
53
0
0
0
0
50
44
70
21
0
0
0
0
23
0
-42
-24
0
0
0
0
8
-82
43
-37
0
0
0
0
68
18
13
-55
0
0
0
0
49
20
49
-1
0
0
0
0
44
63
-45
-39
0
0
0
0
30
-8
-32
-14
0
0
0
0
-32
9
17
3
0
0
0
0
-11
-10
10
-82
0
0
0
0
18
28
-31
-67
0
0
0
0
8
-5
7
15
0
0
0
0
-35
14
0
5
0
0
0
0
13
-13
19
3
0
0
0
0
-49
-22
4
-7
0
0
0
0
-12
-25
-49
-73
0
0
0
0
-11
84
1
43
0
0
0
0
12
16
13
-23
0
0
0
0
69
-14
11
46
0
0
0
0
-6
-33
12
-23
0
0
0
0
16
-62
-21
-37
0
0
0
0
15
2
6
-33
0
0
0
0
-37
-7
-47
23
0
0
0
0
6
10
-8
0
0
0
0
0
-6
48
24
7
0
0
0
0
54
32
-11
19
0
0
0
0
5
-43
-43
-31
0
0
0
0
5
4
21
6
0
0
0
0
-22
-28
23
15
0
0
0
0
74
66
-7
-22
0
0
0
0
62
-88
-27
-11
0
0
0
0
12
-8
2
14
0
0
0
0
17
4
-7
5
0
0
0
0
73
28
12
69
0
0
0
0
76
1
-23
-55
0
0
0
0
0
14
-1
13
0
0
0
0
-20
0
-19
-12
0
0
0
0
43
11
-36
22
0
0
0
0
-44
-33
17
-24
0
0
0
0
28
4
18
3
0
0
0
0
51
-90
-57
33
0
0
0
0
-3
-13
-2
-8
0
0
0
0
-29
6
38
-25
0
0
0
0
-3
2
-51
7
0
0
0
0
-26
-17
-18
-29
0
0
0
0
9
-29
-25
-7
0
0
0
0
-20
-15
-79
-43
0
0
0
0
22
-14
-9
-47
0
0
0
0
-16
-86
3
-75
0
0
0
0
26
-9
-34
25
0
0
0
0
63
-12
-1
8
0
0
0
0
18
15
-31
-30
0
0
0
0
35
-18
-70
-52
0
0
0
0
10
-44
-22
0
0
0
0
0
49
17
-24
-39
0
0
0
0
31
13
23
34
0
0
0
0
2
-9
-3
-3
0
0
0
0
-2
9
24
-69
0
0
0
0
-6
33
21
-10
0
0
0
0
5
14
-4
16
0
0
0
0
13
-15
7
-6
0
0
0
0
-5
39
51
-58
0
0
0
0
51
-17
-8
-51
0
0
0
0
-13
-8
-10
16
0
0
0
0
10
-2
0
-14
0
0
0
0
69
16
-16
-57
0
0
0
0
32
33
-84
7
0
0
0
0
38
27
9
-81
0
0
0
0
3
-2
-8
4
0
0
0
0
20
8
4
14
0
0
0
0
-9
35
13
44
0
0
0
0
20
12
37
0
0
0
0
0
-11
-7
12
-31
0
0
0
0
26
-6
-34
-94
0
0
0
0
-48
17
-6
-44
0
0
0
0
-3
20
38
4
0
0
0
0
-3
-13
-4
-6
0
0
0
0
28
-44
-41
-25
0
0
0
0
54
17
-49
-26
0
0
0
0
1
4
32
1
0
0
0
0
9
-24
-34
15
0
0
0
0
18
-5
-4
-9
0
0
0
0
14
9
34
17
0
0
0
0
5
1
-3
-17
0
0
0
0
1
-12
-19
-38
0
0
0
0
23
17
12
37
9
16
-21
32
6
45
12
62
52
12
16
0
19
49
3
23
-8
12
-8
-4
43
25
9
39
21
20
25
25
21
18
20
28
18
-3
-36
15
59
-26
-37
-16
-52
-3
-5
-35
40
95
-31
-9
-34
2
11
44
59
13
17
7
-25
18
-25
1
-19
16
-10
-13
1
61
18
17
24
5
14
-21
-14
-102
-24
9
57
47
-19
-15
40
-6
20
4
32
-51
4
11
3
-3
-29
24
-6
19
-22
3
-19
-9
-9
26
18
21
-10
-2
-45
-12
-25
27
-12
-35
-6
-40
-22
-31
11
-60
42
17
28
-17
-72
-14
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
-1
3
28
-6
77
-4
63
-33
18
-26
77
-13
34
21
-6
54
50
20
-46
-5
72
30
38
36
49
114
26
41
44
20
-40
38
75
17
-100
18
30
-58
-38
8
14
4
-33
-59
50
-65
-18
-15
11
15
-7
-72
15
-15
3
17
31
44
68
-45
21
45
26
12
47
30
-24
0
59
22
-75
-8
-61
8
-24
16
32
-86
-24
-27
113
-72
-26
35
8
-25
63
-54
1
-35
57
-17
54
13
32
10
120
-20
-14
-41
-83
-50
5
-8
-5
-43
-9
-55
57
9
-94
-81
0
28
72
-20
-73
-21
-43
-26
87
5
26
1
5
-21
-59
-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
54
1
31
25
-29
-38
-25
28
39
141
39
34
28
6
0
43
5
13
11
15
32
4
3
-9
25
10
7
-17
5
34
23
0
27
-20
23
33
2
26
1
-1
62
-31
-27
-9
-45
-16
28
2
-3
-12
10
-5
9
2
-15
-22
12
-9
3
48
26
0
4
1
35
40
36
-67
-50
64
54
39
84
35
9
-9
-75
15
102
31
-5
23
-16
1
-21
-9
0
8
17
-6
2
40
18
28
-1
4
11
-40
-84
14
-42
-40
79
-33
13
65
-49
22
-52
138
-22
5
-5
-7
-26
-16
-15
21
-24
0
4
39
-2
60
-41
-10
-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
-5
-29
32
-3
5
65
3
27
-29
-25
100
-67
87
-22
18
-39
3
-5
19
9
28
-6
10
35
4
-3
-13
3
-18
27
-22
-4
4
-62
-79
-43
165
26
97
15
-22
1
-37
-81
49
-18
-18
-22
-34
5
-26
-42
25
5
58
-4
0
-8
-21
-15
5
6
-10
-2
-70
12
-32
20
55
-63
-54
49
-26
1
37
79
44
-66
-65
-1
-36
-19
-24
-8
-74
-90
-2
11
-15
-8
11
16
-3
21
27
22
57
4
17
-38
-40
31
60
-125
-33
-118
-44
0
-27
19
63
22
-30
-9
-26
-56
-30
53
-12
-20
-31
-1
-10
-5
-29
-19
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
-2
12
0
-27
42
57
0
32
6
-17
13
6
2
34
51
54
63
19
25
57
47
32
29
71
38
25
30
77
10
49
-40
3
38
18
-12
-6
-25
29
57
-1
7
-2
17
25
8
-54
18
13
-30
52
103
-43
20
0
-15
-1
-5
37
33
-10
22
39
43
27
19
15
10
33
17
-3
24
16
-27
10
0
63
-12
-53
0
-3
38
-13
-2
-10
-69
-55
-22
52
93
44
-71
-8
42
-5
-4
22
50
31
15
-11
-10
47
-43
17
4
48
28
16
20
-9
13
-31
55
76
-65
-7
-13
15
82
-16
-6
-3
5
22
-18
-7
-12
12
-5
3
-19
18
67
53
133
-20
73
53
0
-2
17
-30
30
103
4
4
-19
50
-56
-6
-44
59
-22
-43
-7
30
62
35
79
19
34
8
-8
-12
111
42
8
-73
-3
9
-6
41
33
-4
-14
66
15
-66
22
-16
33
60
3
-7
23
-2
-57
47
-41
20
29
-21
35
24
-12
15
35
-20
34
6
52
-11
41
30
-28
-7
-36
-64
-19
55
14
-53
29
-67
1
-68
60
-61
-69
70
-71
14
-56
-29
67
15
6
34
36
29
-128
-50
44
-40
-26
-36
-52
-80
-109
-95
60
5
-35
75
-13
17
4
-24
11
-9
-11
14
-28
14
-6
-15
-5
21
51
32
146
27
101
24
-26
57
-2
46
68
59
8
30
55
-21
121
47
-80
17
3
66
-35
-3
-16
41
51
-1
47
-9
-15
8
-6
14
-6
-43
-32
69
34
-15
41
6
53
68
12
-35
72
16
-14
-33
26
-37
-74
-20
-1
-69
-14
10
13
12
62
23
60
51
46
-14
60
-21
-47
-10
7
-63
-27
-46
47
25
-53
13
-31
-34
8
-70
91
-116
-13
-78
55
23
-77
-51
-14
43
117
-16
74
39
36
1
72
-1
-60
86
24
27
41
-14
-58
38
-8
-50
37
-13
5
-58
-39
25
48
-24
46
-23
-119
3
17
-50
-101
-50
-1
15
-31
-51
-13
-53
76
53
6
35
-39
-40
-7
34
73
37
117
63
8
59
43
45
25
4
-7
-43
47
73
20
104
17
-2
10
61
58
-6
-49
-44
-4
11
95
-10
7
-117
-4
88
56
21
5
-50
47
-117
96
-44
35
-3
-96
21
43
-50
-17
46
-45
-33
53
9
3
16
-64
25
51
-103
-6
8
16
-26
-30
8
22
23
51
-20
6
-1
-88
-23
-38
-98
86
-44
-37
-68
-139
76
-10
-14
122
3
40
-9
44
-1
-27
-13
-29
33
23
-104
-24
-109
-69
-19
29
-19
-15
-32
1
18
4
-74
-7
17
7
-83
78
-115
-65
-64
10
-57
23
23
65
-7
141
11
-57
-55
71
41
-4
55
37
29
0
9
-1
5
9
15
14
16
12
16
19
31
9
37
8
15
51
-29
-19
30
5
20
-32
-29
76
33
-53
32
3
3
-1
45
6
-6
-22
-21
9
28
11
-3
3
-24
-22
-26
18
11
19
6
-20
-13
-12
-3
29
40
-52
-5
64
6
-13
-55
-5
-131
16
-5
-1
8
4
-21
31
2
-44
-19
-6
19
21
-9
-14
4
-12
-9
52
-33
1
-9
46
30
54
77
-4
-35
52
-25
-22
-66
-70
-26
17
-26
-53
-13
-11
-55
-4
-76
0
-19
29
11
32
-48
-44
-29
-16
41
-49
-9
-56
13
49
89
24
46
32
62
115
26
98
71
-18
-1
-11
8
-26
-7
-3
17
27
0
40
-65
23
-33
-6
3
-33
54
-86
-27
50
90
-6
-63
36
27
24
-27
-27
66
-9
1
4
30
28
-77
-41
-62
-25
50
-35
-37
-52
-34
-38
0
-27
-18
69
-4
59
-134
-10
-69
-13
19
76
5
-10
-23
9
-10
0
-23
17
1
-14
14
4
-47
-16
-10
50
12
-17
-81
-52
-110
16
-8
-51
5
12
-48
84
19
-61
8
103
128
-31
-33
-48
-8
-7
-58
17
-19
3
15
24
-46
-60
-51
17
-129
-10
53
-87
-123
6
-25
-31
26
102
63
16
17
5
17
24
32
62
76
5
47
27
10
-7
34
-41
25
15
88
-44
1
0
0
26
-4
8
25
13
9
47
-28
2
26
36
-46
-43
-44
36
-57
19
5
3
-27
-42
-27
-11
-38
-24
31
17
-38
9
39
-5
4
14
-5
19
30
16
-28
113
-11
57
-31
-79
-3
17
-77
5
-4
-14
52
44
47
-73
1
-7
18
45
-79
90
12
11
-44
0
14
-2
4
2
14
14
7
-29
39
24
7
-6
-46
-25
9
-43
-11
-43
-46
58
-40
14
-44
11
-56
-49
-62
53
-34
-34
-14
12
-5
7
-6
7
24
16
-21
34
-6
59
-66
-16
-5
12
6
2
-2
-28
-60
11
-48
43
-22
4
17
39
4
-46
-36
-25
-17
-4
-9
1
31
11
32
27
13
-1
-23
13
29
-55
-69
-69
1
60
39
20
-70
-8
-7
11
29
23
10
10
-17
-30
48
-68
-64
37
7
58
-29
53
-93
-34
5
33
-62
32
-70
-5
30
16
-19
67
22
-86
-42
37
-81
-5
-95
40
30
-20
14
-47
1
0
5
-1
12
26
37
34
-24
36
4
31
53
-1
5
19
-15
-17
-20
56
-13
21
3
48
-32
-7
-49
26
20
9
-9
-18
-39
-8
-21
7
-5
4
-18
11
-58
-14
-22
10
16
12
8
31
26
-32
-21
-15
16
1
53
20
78
28
71
59
47
46
18
-8
41
27
19
-16
-10
-33
9
57
71
82
25
7
10
4
15
15
-13
37
5
48
-4
39
25
60
47
-25
20
2
-2
-44
-34
20
16
10
16
13
47
-10
38
50
49
12
12
-10
12
-29
-28
103
52
-53
-5
13
48
-1
21
25
9
13
18
-61
-10
-70
38
26
66
99
5
-22
-3
-16
-2
24
93
-45
-8
14
-26
26
-19
-54
-31
-27
5
-2
32
9
12
10
-5
36
-37
62
67
-27
-32
-8
-1
36
-29
145
27
-7
-2
27
26
11
23
-66
-14
-39
46
14
12
77
15
-47
-5
60
-47
61
-1
11
51
16
39
61
-75
38
-45
92
-8
66
-9
51
-6
18
24
11
-17
0
14
13
25
37
-50
43
-31
95
-14
27
-21
20
19
28
-23
53
-16
-31
41
16
-23
5
-49
0
-88
-40
41
-77
-24
20
22
-5
-47
38
9
12
-33
-18
41
-74
44
-7
1
5
39
22
78
56
-56
27
-81
39
-12
12
-48
97
78
22
-70
-56
61
-21
12
11
23
6
14
-30
18
-38
60
-20
0
7
29
22
17
-11
-28
39
-4
5
6
-27
26
45
-61
50
-49
-13
0
-28
45
-130
-29
57
13
-9
26
88
127
-20
40
-49
53
20
26
-20
-82
11
-58
89
42
23
36
41
0
-13
-27
-39
57
6
-105
25
111
40
34
11
-15
36
-26
-67
48
25
32
65
72
-37
-52
-85
61
56
84
-21
63
25
-27
-13
54
24
14
-94
52
91
-96
75
-21
-24
-14
-11
40
33
18
51
-57
25
-12
-29
-20
-8
28
43
-14
7
31
-12
47
-2
-34
-96
13
-85
-49
39
39
116
-55
26
73
8
39
37
59
46
44
74
-12
3
-63
38
0
-38
-104
29
5
55
116
40
41
-4
-25
-66
-24
3
34
-36
37
-115
16
56
-108
-71
-17
130
-30
28
9
-73
-8
10
5
-39
103
19
12
10
-8
-1
9
30
15
-2
32
-10
-70
-22
34
-26
48
-34
46
74
-69
-52
18
-42
31
7
-53
23
55
-20
111
27
-21
-44
13
37
-37
25
-40
-14
23
-4
-47
-82
-1
-9
-118
98
17
2
-55
-35
24
31
1
61
42
10
-28
75
56
-62
-10
-9
-19
-39
-17
4
41
-41
11
47
20
70
13
34
-40
-81
66
89
-29
-79
21
-33
-43
-27
-46
62
-1
69
16
-3
-17
-71
-61
24
-23
-13
-43
42
66
9
-68
34
33
-17
-40
-4
12
-34
-7
7
17
-12
-16
24
15
-13
-46
-42
35
46
13
-24
36
143
30
-39
-7
45
70
-27
0
-50
17
1
-5
4
21
-7
33
-15
37
24
25
21
42
5
14
14
3
30
3
6
-39
-45
95
10
83
39
-48
-14
40
101
-17
29
-36
0
-10
2
-12
-31
-13
20
-17
-26
4
9
-9
0
-5
-26
-3
14
3
17
-36
6
-33
9
103
29
-55
13
25
-71
-42
30
31
-15
-10
-8
-39
1
-3
2
5
22
-17
23
-14
-25
101
49
9
2
-64
54
46
64
-47
-39
-23
3
8
-5
-27
-41
-15
-68
45
15
-30
-28
10
-14
-19
-2
-32
11
-22
14
47
15
1
-9
-10
51
38
2
9
-16
-87
-23
-23
5
45
-85
-4
42
29
40
-54
-39
6
-28
18
-28
36
48
-7
-20
-15
-14
33
-5
13
-50
1
78
18
-23
-84
87
30
-51
-2
50
-47
-17
-59
-5
-69
45
28
23
-4
9
30
-14
41
-41
-31
61
1
-66
-15
-19
-54
46
-3
1
48
-40
8
16
94
-12
-64
-11
6
-48
-46
-10
-10
22
-43
7
5
-33
-4
-41
47
17
14
-53
38
-97
1
-81
-27
-27
2
54
-37
-47
51
16
44
-101
-3
105
-73
-36
-21
12
-13
11
-114
17
-5
-53
10
23
-1
-40
16
-28
44
12
-8
54
-20
-56
-5
-8
-1
-34
-34
-11
9
8
32
-1
5
-12
42
59
-82
62
-9
11
-7
-39
22
-1
8
33
18
-1
-11
0
4
22
17
24
-4
29
8
19
-23
2
-5
6
-97
54
60
-13
32
-8
-25
-17
-2
7
21
-25
-30
-8
3
-32
-19
-12
-31
-2
2
-18
-22
-27
-8
59
11
-72
16
-63
75
14
14
-18
-35
-17
60
10
-12
-8
31
37
20
-9
33
70
-44
30
-2
20
-19
-16
-14
-19
-14
-19
5
0
33
-66
-34
118
-100
78
-63
34
18
30
25
-18
-61
11
-25
27
56
15
-88
36
-19
-45
-72
7
12
14
-6
-9
-2
-91
-8
58
31
3
12
13
35
-3
11
21
-30
41
-21
-23
-35
-69
-56
16
-20
-20
-8
37
25
-3
3
-2
22
16
75
42
-56
-7
-6
25
16
88
-37
-22
-17
40
-27
16
5
53
-27
32
-7
-52
-11
8
11
-20
-1
-98
-56
-41
-43
31
13
-44
-1
13
-58
56
-2
31
-9
-5
47
-50
-24
45
93
-10
11
-11
1
25
-48
-137
12
8
19
-3
7
-10
-8
-43
-18
23
3
14
-25
29
-29
48
-13
34
15
10
4
17
-31
18
-15
23
6
-2
-8
-12
14
-33
-5
10
6
-3
0
4
-2
-15
-6
11
-1
8
-13
-8
-11
-18
-7
22
6
19
-19
62
23
-5
-21
32
6
25
-2
5
2
43
-18
65
66
75
52
48
-4
63
62
31
45
10
28
69
89
9
5
26
26
8
38
0
32
-14
-24
23
17
1
-15
-89
2
54
10
30
40
-57
7
116
89
-3
-29
-9
-16
-16
32
11
1
-9
4
35
4
13
4
-3
-19
24
21
-19
32
-49
-37
-32
26
-27
-42
25
90
-49
22
-26
-38
33
84
43
-39
-65
-23
24
-2
-43
31
4
-9
26
-9
25
-17
-38
0
-28
-36
-55
-42
-8
5
-15
-9
27
36
-28
-60
-23
-30
-75
-110
7
41
-56
-38
-40
2
-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
37
-39
44
10
20
-29
-9
-25
33
9
8
-32
1
25
44
-12
25
-18
44
-14
40
102
99
42
63
23
41
-46
39
23
-24
0
10
0
-83
-30
49
25
-2
17
21
30
-7
-22
61
-32
18
-2
1
3
0
28
36
30
-77
120
26
9
-2
0
9
32
39
20
-32
-15
11
82
-33
-70
5
21
19
53
14
36
87
-29
-13
-2
90
3
-48
7
-41
-69
-27
-92
40
-32
-89
-21
-1
-38
38
13
59
65
3
-28
44
-45
-34
-48
-23
-2
7
-27
24
-2
4
-15
1
-57
-2
-32
21
-66
-53
10
22
0
-11
-96
0
-98
-12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-70
43
49
9
114
57
58
53
-116
-21
80
84
-25
10
12
5
3
11
7
-1
-4
7
8
5
27
22
23
11
-3
58
39
-25
8
37
37
-63
-59
9
-34
-35
-49
-17
-36
-39
-16
5
7
-8
-5
-16
11
-23
-11
12
-21
-5
26
6
-1
-23
14
22
-2
30
78
-151
76
-23
-75
42
26
-31
6
-14
70
-47
-27
-6
-2
-4
-3
12
-5
-7
-4
15
-15
25
24
11
-16
7
-3
52
7
129
40
67
-69
-150
-17
48
-31
-48
-34
-38
-121
-30
-47
-22
-18
-23
6
8
28
-33
-40
18
-43
28
-34
-22
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
7
-32
-73
45
41
26
-66
-11
54
79
17
-24
-34
13
12
-42
38
16
27
30
4
9
-7
-6
-15
2
24
-2
4
38
23
84
-35
-21
27
-5
66
20
-29
-9
15
76
-18
-14
57
25
20
2
-6
-55
-39
-61
6
1
10
-27
-43
-29
7
-17
-15
31
-36
47
4
-83
21
6
-81
5
-93
21
14
63
-87
-66
2
18
-48
-51
-4
18
-20
32
15
-7
-18
18
-5
15
-2
-1
13
-12
50
-73
-28
-81
-49
7
48
7
-9
-112
-36
56
-91
-58
-32
11
11
36
-69
-40
-33
-66
-12
-20
-35
26
-20
-4
-13
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
-2
13
2
34
2
39
-28
58
22
31
24
63
23
10
39
12
22
-11
22
23
21
60
52
95
-34
16
46
49
10
55
-9
20
33
14
17
-10
12
32
17
9
-8
12
35
16
34
58
26
-23
21
-48
-36
53
31
53
18
-20
9
-5
15
-55
24
13
48
-19
10
6
33
25
-31
26
10
45
31
-6
74
54
-19
-33
-4
37
-38
-40
10
-34
22
97
26
36
61
-12
-32
-29
26
-29
-7
-3
12
6
-37
11
2
-4
5
9
31
49
-28
44
-35
15
46
51
37
-27
9
54
-74
14
-50
18
9
4
-3
8
-41
-8
72
30
-38
-5
-42
9
-15
-5
23
17
44
-3
124
15
34
14
150
17
74
-12
29
-23
17
-2
-28
-9
-35
-46
25
89
-5
35
34
12
51
-5
86
26
-15
-32
16
5
18
-14
68
-23
18
-80
-65
-98
19
46
45
4
22
-22
-29
80
19
12
-30
31
43
-77
-30
63
-6
-28
-35
48
45
-107
3
100
88
-6
-15
42
53
-10
10
-84
23
-37
-39
-17
55
-81
20
-8
29
-55
7
-120
-58
-31
-21
75
30
-13
55
-12
-9
-7
-89
-33
0
-51
-50
-37
39
-14
10
-17
109
-4
12
8
-41
0
-47
42
9
8
-90
0
-28
-59
-54
20
19
57
11
2
10
26
47
26
2
-3
32
25
9
43
58
49
-27
-10
-12
142
-39
157
-85
-117
12
7
72
33
11
22
17
21
3
41
-52
54
26
-46
-42
74
3
-14
22
-12
-15
-35
-97
-71
131
-26
22
25
76
15
17
-51
2
36
12
-25
68
-50
-71
-17
58
21
-29
47
13
-54
7
63
-15
-76
20
54
-8
-40
14
14
-46
-9
-67
50
84
-40
59
-10
-100
-13
62
-107
52
25
-90
22
17
65
133
7
-32
14
-31
-51
2
3
68
-34
45
-26
-11
-64
28
-17
-129
-23
-33
-31
9
117
43
-49
3
29
-69
-80
28
-23
25
-2
15
30
105
-5
-52
25
102
41
7
51
44
-14
-43
70
39
-34
11
9
50
108
-12
-64
48
13
33
53
54
26
-42
-58
26
-31
-1
42
33
23
4
-27
-5
5
-36
-38
12
-66
-38
-179
48
23
8
-14
16
-16
4
59
175
-21
-30
0
-45
-63
15
-13
4
5
28
-23
-53
27
35
10
-40
-128
-30
-32
-54
-33
8
-2
-7
11
-8
-49
35
-20
7
-18
-71
-60
-20
-18
-45
17
-33
14
42
36
16
4
-23
-1
-47
-19
5
-31
23
-80
-16
-99
-29
-10
67
-17
-7
-19
42
-73
-118
-12
-31
-14
-76
-53
81
38
-24
-63
-25
19
30
-20
26
-53
41
3
21
117
98
23
-38
84
-6
31
5
1
5
-11
7
2
23
-8
16
20
25
28
2
36
37
8
42
-4
16
-19
6
-1
48
19
41
66
-39
-56
37
79
-18
-40
11
6
3
11
-3
-21
17
-21
-12
-30
-18
-3
-3
13
-29
-10
15
62
6
-74
63
16
23
-41
-2
6
-41
-71
40
162
-80
-37
17
5
-5
-2
-7
44
8
9
30
27
-1
-25
21
-37
-5
5
118
-21
8
-14
51
-54
-8
12
28
-14
-45
-96
82
-14
-21
9
1
24
-23
-22
-27
6
-10
-21
-15
8
17
-24
-23
-32
-12
20
-42
-10
105
57
15
-2
27
-30
32
-56
73
-45
13
-64
-21
3
9
-15
43
-16
13
-15
-9
34
3
-8
-5
8
6
-23
16
5
109
48
2
13
-8
-50
-36
-66
39
38
-47
-57
54
-93
-54
19
12
-11
-5
3
8
-30
-14
-16
-48
-31
-5
-129
20
16
-93
5
38
81
41
9
-44
-66
15
-13
3
-1
-19
-7
-17
11
-4
45
19
-5
-18
-29
-3
-51
-30
-67
-35
0
-36
-22
12
-30
79
-24
42
-25
-88
-34
-20
112
58
-44
69
11
-62
22
-99
1
65
-6
10
9
-15
-16
-17
-2
0
33
-1
-47
-89
-77
8
-123
-55
-48
-23
29
-13
50
33
10
8
-15
3
34
63
-2
38
-6
-25
-1
11
26
10
-23
76
65
25
17
-7
8
19
7
3
18
11
3
1
63
105
-17
54
-4
-59
-87
-14
34
-111
51
68
40
-68
-37
52
39
50
12
-6
41
16
42
-4
7
5
-20
-3
30
-51
-13
-4
53
47
38
-23
10
21
-23
20
71
-54
-16
8
-7
-31
56
14
10
-10
-14
64
-51
-25
58
-12
-21
-33
-41
39
3
-7
-6
71
49
53
72
-3
32
-23
-21
122
22
-86
-61
-34
-19
69
-45
63
53
3
-93
-19
-66
-16
-17
14
-11
-20
-17
3
-56
-2
-43
52
41
-70
-18
99
16
76
-25
56
16
-45
5
-30
61
13
-15
9
16
-36
-13
-41
-41
-35
-16
14
19
3
-1
0
28
-43
10
1
28
-60
40
-27
-28
-59
16
49
8
-37
-73
-44
19
9
3
-13
1
-57
24
2
-23
39
51
35
9
-13
-72
-75
-28
-8
-42
44
2
6
-13
70
84
30
-29
-44
4
10
-5
50
-26
-109
-39
21
21
-20
7
21
-68
-43
31
-3
0
-2
-31
13
69
23
-41
20
20
39
10
17
-26
-1
-16
17
-13
-21
10
-15
-49
47
-9
9
7
14
14
-7
-17
7
-40
1
-9
12
-13
7
-34
12
-11
16
20
20
25
10
-7
-31
18
14
-32
17
8
37
41
6
24
-48
-17
-9
70
20
40
-52
138
9
36
87
98
22
59
70
44
10
20
0
75
-6
17
-19
45
22
-3
31
-2
0
38
-36
26
1
37
31
13
-45
-18
66
-108
24
12
-30
83
33
26
24
27
-30
-2
-10
39
-34
22
38
37
36
-47
45
28
-63
16
-57
80
12
-24
7
17
-1
-39
9
-38
43
12
-38
-15
-13
131
16
28
42
13
-7
5
-4
6
9
7
-10
16
23
14
13
23
71
71
-3
-51
12
-47
1
14
-33
-4
-20
18
24
19
29
-71
-14
18
-41
33
-20
50
58
44
52
23
4
30
-78
46
-7
-71
61
27
14
19
33
-2
78
-3
-14
-9
-59
-20
-23
24
89
9
113
-17
34
54
12
18
-19
31
-9
67
87
32
-70
-43
-24
21
49
-121
82
42
-116
-3
41
-66
12
39
-20
9
42
-30
-80
4
-72
2
30
24
-12
86
-29
-78
-15
33
31
-69
-93
64
96
-3
110
-15
-14
-36
-14
-127
-31
88
1
43
-11
-37
-2
-17
-15
28
98
-20
21
46
69
21
10
-17
14
-43
69
-59
59
-22
7
-120
29
-84
107
84
25
-11
11
33
37
-11
-5
19
-9
-190
-23
14
-72
-13
-12
51
-1
114
3
13
9
1
47
-78
47
-80
33
6
51
77
-11
-60
54
-37
-4
117
-16
36
32
-21
1
81
-50
9
27
117
-25
-12
0
13
-8
-11
22
-67
24
22
37
100
15
13
-23
0
-9
40
6
30
110
23
-10
-52
86
27
41
-14
25
31
-67
-13
12
20
39
33
-3
8
-95
15
-13
3
20
12
-22
24
-50
-28
65
-28
-10
-11
3
25
56
-37
39
4
10
-40
-5
33
13
-20
10
1
-53
25
-16
-10
-51
34
-36
85
-27
43
42
-53
23
88
6
-16
-63
-11
0
56
24
-89
-40
1
-17
-53
-9
0
17
-42
24
42
16
3
-13
-20
-82
-26
98
58
43
25
25
86
-55
-50
3
-32
8
62
32
-104
18
-18
-18
20
63
17
-80
50
-26
-50
48
30
57
32
37
43
-28
-45
101
42
-24
35
-27
35
19
-31
27
72
-23
32
-91
-16
8
0
36
-22
-86
-30
-43
-29
-32
-41
-2
-8
1
9
6
20
-37
16
-26
-2
18
12
115
14
45
-23
1
-6
38
-47
-9
-26
-11
-13
19
-37
-58
-36
6
1
-38
4
24
28
82
-53
31
31
79
8
79
31
-44
-23
-32
-59
28
-29
6
27
-8
-60
80
-23
-11
-84
28
-23
23
-71
-64
-37
-38
-36
-11
3
82
17
-41
-30
56
34
-13
43
92
-30
-32
-63
27
36
7
-1
0
-2
4
3
16
28
-5
-27
29
-1
25
3
27
23
-12
-53
84
32
26
-94
-44
9
-41
26
18
-58
22
10
15
-22
-2
-5
0
7
-12
-3
22
31
16
13
-29
-40
9
73
27
26
-1
51
-42
-14
44
132
20
-45
66
-102
76
-94
32
-18
-1
-12
16
2
-1
3
4
-37
-36
-51
-9
34
-62
-17
-31
-12
57
-27
20
-34
-80
-49
39
32
29
5
-29
-1
0
-50
-39
-50
-35
2
-7
24
11
21
-53
24
51
-22
-29
-26
28
-5
8
-43
-12
-21
-17
-5
55
-11
45
-80
21
47
-15
46
-29
-75
-1
-64
-12
-43
13
-7
-61
-16
33
35
8
3
25
77
-59
-34
-13
4
-29
-18
87
-38
-28
-29
25
-47
18
-128
7
49
112
26
-29
19
-65
-93
18
23
-24
1
47
-19
-21
12
-35
-30
-48
-26
73
-120
-58
-39
59
-46
3
11
35
-24
-46
-16
24
95
-40
-134
50
-54
-24
1
-1
-10
6
-39
48
2
-36
-53
21
-41
-14
-33
-28
16
21
-31
6
51
-27
6
25
39
35
46
23
-20
-51
-86
-12
-121
-15
-17
12
-10
-5
-4
-9
-6
-25
-81
63
-50
11
-6
16
-84
-23
12
21
10
78
80
61
-5
-63
24
-20
20
62
42
7
35
-43
43
11
11
6
10
-13
40
-3
5
-4
-13
7
2
-16
-16
20
17
24
8
-24
-7
-6
55
36
53
-6
24
35
41
-12
-22
35
-62
10
-7
-51
-2
32
-7
24
-41
5
-15
-4
-16
5
-36
-19
-6
-18
-1
50
-1
14
61
2
56
68
64
9
51
21
35
-62
-117
15
21
-5
4
-14
-71
-21
63
-15
12
-11
-22
9
-59
-25
6
1
24
-2
20
7
-68
-25
-46
-23
-37
-57
-109
-67
-19
32
41
-6
1
-20
65
99
0
-64
14
-2
-7
17
18
8
-17
-26
-34
-54
19
24
-57
-4
3
41
-20
20
-47
-4
-27
-6
59
-55
-4
7
31
-45
3
21
-62
52
24
23
24
-27
-10
9
-54
-57
-7
7
2
-49
-47
17
-7
-26
-61
105
-18
-23
-29
-2
-51
53
-43
18
-8
31
2
-45
-44
30
23
29
-8
4
-98
13
21
-76
1
129
28
20
-53
-66
-66
3
-6
-22
-35
-48
21
65
66
66
2
8
26
-47
-55
15
-14
11
2
17
39
-37
14
20
-34
-15
-3
35
15
-1
13
1
22
3
1
45
0
2
-30
17
-31
-55
-53
21
5
8
-10
12
-10
-19
-7
11
5
-8
-29
7
-28
-10
-13
36
33
15
-10
0
0
0
0
12
49
7
-54
0
0
0
0
43
51
33
28
0
0
0
0
32
20
75
14
0
0
0
0
18
18
8
0
0
0
0
0
1
4
-21
-32
0
0
0
0
-5
18
-18
19
0
0
0
0
24
9
13
-8
0
0
0
0
24
2
35
-6
0
0
0
0
-61
21
37
-27
0
0
0
0
2
0
51
-57
0
0
0
0
-26
30
-34
-27
0
0
0
0
-11
7
16
-5
0
0
0
0
-13
-45
-35
0
0
0
0
0
36
-39
23
0
0
0
0
0
16
-23
-69
-12
0
0
0
0
42
10
6
-30
0
0
0
0
12
-8
9
16
0
0
0
0
138
25
-111
80
0
0
0
0
57
-112
71
-32
0
0
0
0
16
2
-5
7
0
0
0
0
50
-29
34
19
0
0
0
0
-48
46
-76
-18
0
0
0
0
9
-56
-4
-11
0
0
0
0
-4
-70
15
-18
0
0
0
0
17
-6
-85
-64
0
0
0
0
-28
7
-60
57
0
0
0
0
67
-28
50
-96
0
0
0
0
-12
-3
-28
-40
0
0
0
0
-46
16
-62
-34
0
0
0
0
-43
-11
-34
-61
0
0
0
0
-60
14
42
-28
0
0
0
0
35
14
25
-3
0
0
0
0
50
-22
7
4
0
0
0
0
10
14
31
-3
0
0
0
0
48
29
-33
-41
0
0
0
0
34
25
-12
18
0
0
0
0
19
18
-45
-54
0
0
0
0
-41
25
25
-15
0
0
0
0
-21
47
-25
-7
0
0
0
0
31
31
-11
-6
0
0
0
0
63
-16
30
-31
0
0
0
0
16
-17
-67
-15
0
0
0
0
-26
-11
0
31
0
0
0
0
54
-2
-12
5
0
0
0
0
71
23
-15
-7
0
0
0
0
1
7
20
-14
0
0
0
0
44
-10
-51
-21
0
0
0
0
27
40
-35
-43
0
0
0
0
92
17
40
1
0
0
0
0
48
26
40
13
0
0
0
0
8
-42
18
94
0
0
0
0
6
37
16
28
0
0
0
0
-37
27
6
65
0
0
0
0
-22
24
-95
-86
0
0
0
0
-24
9
-102
-53
0
0
0
0
25
13
-29
-82
0
0
0
0
14
-43
-23
-65
0
0
0
0
-15
39
35
-27
0
0
0
0
-38
5
-57
-5
0
0
0
0
15
47
31
9
0
0
0
0
-76
72
-77
24
0
0
0
0
-52
-9
-66
30
0
0
0
0
-2
-10
-126
-51
0
0
0
0
-7
2
27
54
0
0
0
0
100
17
1
64
0
0
0
0
9
6
-3
-9
0
0
0
0
18
23
-40
-50
0
0
0
0
1
7
-1
-7
0
0
0
0
12
74
-9
-71
0
0
0
0
9
20
-21
-14
0
0
0
0
-8
27
-14
-19
0
0
0
0
35
44
-20
-13
0
0
0
0
-53
-93
0
21
0
0
0
0
-3
1
-1
-4
0
0
0
0
10
-51
16
-39
0
0
0
0
29
28
-18
-54
0
0
0
0
3
-9
-27
-15
0
0
0
0
-15
-24
-2
-22
0
0
0
0
-27
-31
-44
-49
0
0
0
0
59
-10
-34
-107
0
0
0
0
43
43
93
-6
0
0
0
0
37
23
1
18
0
0
0
0
5
6
-3
-46
0
0
0
0
53
-31
-21
-54
0
0
0
0
-29
-25
-13
8
0
0
0
0
26
-6
22
-36
0
0
0
0
23
-16
-68
-67
0
0
0
0
-10
-40
-95
-97
0
0
0
0
88
61
2
-16
0
0
0
0
-3
-1
12
8
0
0
0
0
-7
-33
23
-8
0
0
0
0
1
31
-50
16
0
0
0
0
46
32
-48
-43
0
0
0
0
-10
-18
-19
-10
0
0
0
0
27
2
16
-54
0
0
0
0
24
2
3
-42
0
0
0
0
10
-4
89
-65
0
0
0
0
24
7
85
25
0
0
0
0
7
-9
-3
-10
0
0
0
0
90
35
-72
0
0
0
0
0
-13
29
54
-22
0
0
0
0
48
8
-22
9
0
0
0
0
-7
-16
-28
-42
0
0
0
0
31
25
-43
-77
0
0
0
0
149
2
5
12
0
0
0
0
27
3
-27
-14
0
0
0
0
-18
2
6
22
0
0
0
0
8
9
-61
11
0
0
0
0
-21
33
-70
33
0
0
0
0
51
-33
107
70
0
0
0
0
-20
0
-1
-20
0
0
0
0
77
54
10
10
0
0
0
0
22
26
-61
7
0
0
0
0
2
14
-4
-21
0
0
0
0
-4
10
4
3
0
0
0
0
62
72
-35
42
0
0
0
0
24
-10
-6
-21
0
0
0
0
-29
-9
-8
-16
0
0
0
0
14
-45
15
20
0
0
0
0
-22
-38
57
-17
0
0
0
0
4
-77
34
19
0
0
0
0
6
-27
31
52
0
0
0
0
-23
-14
19
13
0
0
0
0
15
-15
40
18
0
0
0
0
28
-3
31
-43
0
0
0
0
9
-20
22
22
0
0
0
0
-7
-25
25
24
0
0
0
0
21
20
22
48
0
0
0
0
22
29
9
-53
0
0
0
0
32
68
66
27
0
0
0
0
35
-4
-61
18
0
0
0
0
14
22
18
40
0
0
0
0
7
19
-1
-23
0
0
0
0
27
23
-5
-11
0
0
0
0
-17
18
-50
-6
0
0
0
0
-11
-15
-1
1
0
0
0
0
2
-49
6
-60
0
0
0
0
22
55
-3
3
0
0
0
0
-55
-16
-34
-43
0
0
0
0
21
8
23
23
0
0
0
0
-2
-65
39
7
0
0
0
0
-8
4
78
-98
0
0
0
0
-18
-110
-50
-19
0
0
0
0
34
25
-10
56
0
0
0
0
29
-21
70
47
0
0
0
0
54
39
-4
-32
0
0
0
0
-16
68
-58
-66
0
0
0
0
45
-23
6
-43
0
0
0
0
86
36
106
6
0
0
0
0
19
-3
58
14
0
0
0
0
27
30
-40
25
0
0
0
0
18
52
42
15
0
0
0
0
44
11
-29
-24
0
0
0
0
32
-16
-58
-17
0
0
0
0
123
15
33
-116
0
0
0
0
-28
13
-10
-14
0
0
0
0
-40
10
26
61
0
0
0
0
38
-13
-37
3
0
0
0
0
-50
-108
-92
80
0
0
0
0
11
-2
-15
-8
0
0
0
0
39
31
108
9
0
0
0
0
58
-50
-27
-55
0
0
0
0
4
46
138
-35
0
0
0
0
72
39
18
-20
0
0
0
0
48
1
26
52
0
0
0
0
36
40
-67
8
0
0
0
0
-21
-18
23
-196
0
0
0
0
-5
11
13
35
0
0
0
0
30
-10
-97
-48
0
0
0
0
42
2
86
-45
0
0
0
0
40
48
-87
55
0
0
0
0
45
37
74
3
0
0
0
0
16
15
-43
-18
0
0
0
0
6
-74
40
-31
0
0
0
0
74
17
13
-52
0
0
0
0
59
18
43
-5
0
0
0
0
48
55
-48
-45
0
0
0
0
36
-8
-32
-13
0
0
0
0
-43
12
19
2
0
0
0
0
-16
-14
20
-81
0
0
0
0
25
44
-33
-69
0
0
0
0
4
1
10
16
0
0
0
0
-34
18
1
7
0
0
0
0
12
-27
22
-4
0
0
0
0
-42
-15
6
-11
0
0
0
0
-11
-25
-52
-72
0
0
0
0
-15
88
4
40
0
0
0
0
-3
21
10
-12
0
0
0
0
69
-3
16
41
0
0
0
0
-8
-15
7
-29
0
0
0
0
8
-65
-15
-40
0
0
0
0
37
6
3
-33
0
0
0
0
-41
3
-35
18
0
0
0
0
8
14
-8
2
0
0
0
0
-16
50
26
31
0
0
0
0
34
23
-16
7
0
0
0
0
-3
-55
-44
-30
0
0
0
0
11
11
5
12
0
0
0
0
-24
-35
15
2
0
0
0
0
75
67
-6
-24
0
0
0
0
62
-85
-21
-8
0
0
0
0
9
-7
-6
1
0
0
0
0
7
3
-17
10
0
0
0
0
72
24
11
68
0
0
0
0
75
-8
-23
-56
0
0
0
0
1
0
-14
3
0
0
0
0
-31
-11
-6
-21
0
0
0
0
47
11
-39
21
0
0
0
0
-38
-31
20
-26
0
0
0
0
21
-8
17
14
0
0
0
0
33
-89
-56
33
0
0
0
0
-16
-30
1
-6
0
0
0
0
-27
12
39
-27
0
0
0
0
0
-2
-15
6
0
0
0
0
-41
-21
-20
-27
0
0
0
0
4
-22
-24
-4
0
0
0
0
-16
-14
-76
-41
0
0
0
0
32
-18
-29
-48
0
0
0
0
-14
-84
-6
-69
0
0
0
0
37
-1
-42
37
0
0
0
0
62
-11
-5
6
0
0
0
0
7
5
-26
-40
0
0
0
0
30
-14
-60
-45
0
0
0
0
3
-53
-24
-8
0
0
0
0
47
11
-21
-39
0
0
0
0
36
21
33
32
0
0
0
0
8
-18
-11
-11
0
0
0
0
2
-4
16
-70
0
0
0
0
-6
30
23
-9
0
0
0
0
7
-1
-13
-16
0
0
0
0
4
-9
-12
-20
0
0
0
0
6
43
57
-57
0
0
0
0
53
-15
-18
-49
0
0
0
0
-9
0
-14
28
0
0
0
0
0
-11
-4
6
0
0
0
0
78
19
-8
-48
0
0
0
0
31
12
-92
15
0
0
0
0
35
43
8
-93
0
0
0
0
7
-3
-4
3
0
0
0
0
32
-21
-3
12
0
0
0
0
-4
42
12
42
0
0
0
0
27
8
29
14
0
0
0
0
5
-17
13
-49
0
0
0
0
33
-10
-27
-88
0
0
0
0
-43
14
-5
-43
0
0
0
0
1
13
38
-13
0
0
0
0
-12
8
18
1
0
0
0
0
46
-33
-50
-21
0
0
0
0
55
4
-46
-21
0
0
0
0
7
8
22
-11
0
0
0
0
-7
-14
-15
22
0
0
0
0
15
2
-9
-15
0
0
0
0
22
10
32
20
0
0
0
0
8
3
-8
-12
0
0
0
0
6
1
-17
-24
0
0
0
0
31
84
28
-70
-27
-72
30
-19
71
12
6
10
-8
-37
60
41
50
-8
-26
-57
-5
-17
3
-1
57
4
65
12
26
66
15
58
18
42
-31
74
70
-24
-29
36
22
-70
35
-43
-65
-31
-18
-34
-8
4
29
39
-64
13
-2
46
4
20
37
-48
47
5
3
18
44
-31
52
-10
90
60
-25
-28
-78
32
28
44
10
-79
-17
35
89
43
-103
40
23
-19
6
-70
-21
-45
-3
-2
-60
25
-51
-88
17
30
17
48
20
-5
52
46
-33
108
-15
16
-62
3
21
-70
-27
28
-8
9
5
5
-5
30
-49
-64
44
-18
19
-72
-29
-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
3
58
-19
-36
-4
-7
11
-27
49
88
54
18
-4
66
36
-115
-23
36
-3
13
-97
1
33
-44
30
28
-22
89
12
-23
-21
29
33
16
-5
-17
-24
32
-13
-25
33
1
0
-26
42
46
-34
-21
-23
-19
13
-30
11
-31
12
-58
-11
70
-31
-38
34
20
49
-59
16
17
54
3
-4
-3
-58
-7
-34
-25
16
21
45
25
68
-1
45
-15
-4
23
-13
-22
23
-25
-61
-6
60
-32
-40
-28
-29
-67
31
-1
-40
28
-47
-48
-8
13
-41
-49
-26
-59
-9
9
-52
-4
14
-15
-8
1
-12
43
-12
15
27
4
13
35
-49
17
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
60
-10
-9
-6
1
2
-11
70
-51
26
66
24
-1
16
20
7
25
11
54
49
20
-25
38
10
142
-15
22
-37
9
30
22
-16
-8
-46
-23
31
-37
-8
36
1
8
-42
19
-30
-55
-58
-34
25
10
-41
13
4
-10
69
-52
-18
-3
87
-35
33
-63
42
29
42
-15
-18
-12
4
-25
-3
-11
16
1
3
-45
-25
-26
16
42
-24
11
8
12
0
-13
-77
-40
25
-28
0
17
-66
-85
-62
-21
16
-33
-29
16
-43
23
-55
14
-11
-24
-9
44
40
-3
0
-2
11
-8
-18
21
-63
-7
-85
95
0
-30
28
40
22
-56
-120
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
34
9
-49
-3
-26
-29
10
25
82
-72
62
27
0
55
24
74
-51
-13
37
13
-41
30
-43
-18
-18
-11
-5
56
9
1
63
-37
-24
-4
61
32
6
49
72
-22
-7
11
-8
6
13
-77
-15
-98
-3
7
26
-30
-62
46
92
19
-28
-55
28
32
-30
9
-4
14
-1
-12
36
2
-20
-11
-20
-10
39
32
-2
-15
-51
9
12
74
-33
-54
19
-76
48
-47
-46
-36
62
54
44
-16
-19
1
17
-19
-86
43
-18
-46
-25
-46
5
-2
46
0
5
6
3
3
32
-47
12
18
-23
70
10
-16
-6
-12
-17
-47
13
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-78
7
44
-3
81
1
-80
16
-26
-42
-20
19
99
30
-33
6
20
15
13
41
49
-22
14
19
14
60
41
-33
62
-40
-18
-10
-57
22
-7
28
-45
19
-23
57
34
26
-7
21
77
11
53
74
-29
46
26
-21
-5
-67
25
16
-18
22
27
14
93
-25
3
-11
25
38
3
3
83
-38
15
24
89
12
-21
-23
-14
33
9
55
17
-45
-15
38
20
-59
19
24
-76
-2
-51
70
-39
-16
95
-78
67
-5
54
-24
6
74
44
48
-15
-13
65
-9
50
5
17
-26
38
-8
31
-44
-19
17
42
5
43
3
-24
25
-37
22
19
-60
42
37
-15
32
-24
-6
17
49
4
-35
6
11
-30
-21
7
-86
37
-24
3
-10
6
-16
-49
45
-40
37
54
33
-29
28
14
28
-1
59
-42
-10
-57
-53
-10
2
24
14
13
8
31
23
-47
-20
-9
14
-3
4
22
12
-18
-22
46
-15
10
-5
-17
15
-52
-7
62
5
-25
0
5
-10
3
8
-22
-18
-1
0
-32
0
34
14
-6
9
-20
5
-12
47
-19
10
62
-16
10
-57
-125
-12
-3
61
15
-19
-3
-5
-65
48
17
3
-20
-17
43
-89
-63
38
-34
18
-15
-44
11
50
-24
-16
73
8
-21
7
-13
5
-16
-19
-49
75
-7
11
-34
36
-11
0
64
11
37
-19
47
-30
-37
0
22
-7
27
71
-24
27
46
-35
52
31
-26
-24
-9
71
-14
-23
-19
7
-31
-22
-37
9
22
-42
26
3
-42
-14
2
-6
-6
36
2
-10
-5
51
-9
-6
29
-9
-41
-9
-3
46
33
-50
-77
22
-41
40
-13
34
4
-2
22
16
-17
-1
-23
15
-26
10
13
-50
-27
-22
-22
70
-69
-3
-6
32
-4
-46
14
10
-60
42
-25
38
31
-3
-41
13
-19
-33
18
-28
-38
-1
10
-6
-3
13
-34
26
-29
13
11
-32
-34
14
-5
31
21
-42
-24
-33
-74
-39
-3
20
48
-59
33
41
-5
-23
-16
-31
57
-34
13
-6
29
35
1
29
3
-16
45
-2
-1
25
31
-13
2
3
27
-17
13
25
40
33
-11
41
7
16
-9
2
-12
10
-33
11
-42
8
9
5
-49
17
16
5
-18
7
-5
0
-14
-17
20
-21
-44
12
6
-74
14
20
41
-9
56
8
24
12
-47
15
7
9
18
0
-2
-26
-8
3
30
-9
0
-18
-31
-11
-46
33
-32
-31
6
-20
4
-7
2
43
79
-47
-7
-23
-22
-9
-22
-24
-10
-8
-9
31
-68
9
-22
37
34
-43
89
-19
5
-16
12
-4
-1
-77
-9
37
-81
-82
-31
11
-39
1
-35
12
18
1
33
1
-10
14
51
4
-4
38
-89
-38
-6
5
39
-37
25
78
50
-22
66
42
8
41
39
10
56
38
-5
25
36
-14
34
-11
-21
27
-17
-5
-41
-11
-4
36
-3
-81
-69
-60
-66
-2
23
63
68
55
10
6
17
-9
-112
46
87
1
3
-29
-65
-9
-4
-5
-45
-3
-29
0
27
-6
-13
11
-68
81
25
11
-15
77
-9
-83
-45
33
22
32
19
-91
36
-21
-39
-21
-10
3
27
62
34
12
54
-38
12
23
9
-3
-41
-15
-32
-4
-31
-78
24
-8
4
22
-84
-71
-10
19
10
77
16
-44
15
53
6
25
32
-7
2
2
1
18
-6
37
-1
4
-1
8
38
-106
-14
60
-26
41
-28
-16
-7
46
62
26
-77
-27
-41
79
-6
-11
29
-40
0
14
17
0
-49
16
23
-25
18
-16
9
18
49
-68
66
16
-28
-9
-39
-18
26
-9
9
3
29
1
-36
-23
-27
68
-3
7
-2
0
-11
-1
2
4
-4
-4
-6
-1
0
0
4
2
-1
71
28
-9
5
7
-7
18
-32
-13
-45
40
-26
-48
-30
-1
27
8
-35
18
7
-6
9
0
39
31
-8
-21
-6
-16
-37
74
-21
-4
-22
26
-52
6
-60
-21
19
16
4
-9
-9
-13
-64
35
-16
123
6
-47
21
-20
52
-22
2
10
8
9
24
79
12
-8
-35
-33
-9
12
-59
9
20
-51
-121
63
-17
92
47
34
-6
37
-13
-18
-23
-53
-11
12
-7
10
4
29
-37
10
3
-26
7
-89
-102
-41
-25
40
6
5
8
-36
83
27
53
4
2
2
-38
-22
3
-7
-4
8
-62
-5
-3
0
-5
3
39
-1
-2
-7
5
-39
40
13
1
-21
-35
-8
28
-61
38
-35
-20
-83
-33
-38
17
23
9
10
-71
28
-36
6
18
-3
-2
-24
-13
19
4
9
-3
-2
11
-40
4
-4
27
3
-71
55
-3
-3
-27
-57
40
-37
-15
51
54
-29
16
31
21
2
-18
-50
19
27
-11
0
16
25
-102
23
17
-14
-17
-101
-56
63
-55
43
32
-99
-12
-11
79
69
14
11
65
-20
96
-34
-31
-16
17
33
-19
12
-43
-5
20
-13
10
-19
21
16
-6
-27
4
-74
-43
49
-89
35
-4
-46
-37
1
-20
25
-7
-1
-58
-56
-8
-5
-40
-28
36
-28
-31
19
-41
-2
-5
159
34
70
-37
-57
15
-114
-51
39
-25
65
-35
-107
8
11
21
55
41
35
135
-72
-14
-53
-21
71
44
10
-4
-14
-39
-10
27
97
22
3
-103
-66
65
-60
-24
85
24
-17
-61
28
-23
-18
21
79
-7
-31
-29
54
74
6
60
44
-36
46
-13
-33
19
78
13
-45
-30
41
31
-3
21
42
63
-17
10
-37
-6
52
-16
8
18
-25
17
-9
-50
10
-20
25
-53
25
-2
24
74
-1
23
-62
30
39
7
-14
28
35
17
41
-5
76
-9
7
-8
55
-4
4
49
-54
-65
11
-37
-1
-26
-7
-35
27
24
2
-34
4
26
-2
-38
8
-4
-26
17
22
4
18
75
-31
45
-4
12
-3
30
-14
17
-7
24
14
11
10
6
-50
41
-50
-20
77
-48
-10
-28
15
-32
58
0
47
-37
1
70
-68
-5
48
-33
-1
-25
70
48
9
14
-32
-44
-25
11
39
-17
6
31
-29
4
45
-9
-5
-19
47
52
-56
20
5
-5
-23
-3
0
16
-12
12
-11
-20
-1
8
20
-7
45
26
10
32
49
-69
-3
33
21
-8
-14
-22
-5
24
31
-12
4
15
-1
0
-18
24
-6
17
-9
-3
-28
13
-13
-15
-7
-65
4
17
-24
76
16
-19
-3
40
-22
1
-69
-4
3
0
0
-19
10
-1
3
-10
24
-6
17
-20
25
-3
-3
-57
-3
39
-7
-6
44
35
41
-26
4
17
-13
-25
28
-3
36
21
7
-3
-9
63
-32
-8
4
26
-33
-37
23
84
-4
-24
8
5
10
-47
-65
-5
25
-7
9
-31
5
6
-17
20
-15
0
45
11
5
-17
-1
12
27
-23
-8
-10
-5
7
50
4
-43
-4
8
54
1
32
14
98
32
5
-15
12
38
5
4
-32
-15
1
-49
22
-28
12
1
22
-10
33
-1
2
-10
-16
-16
16
-37
6
39
-33
13
10
-10
-3
-13
62
18
25
10
19
-3
-66
-16
21
-13
52
8
-10
-10
-16
-7
-17
-15
-84
-23
2
-5
-51
14
-27
2
-17
-7
-15
4
62
-25
-41
-24
-30
1
-44
5
-50
4
4
12
0
-9
14
19
-3
-2
14
14
-7
-14
-38
-14
10
5
9
-49
62
-14
-17
-26
-25
-6
-1
8
-8
-75
-1
1
32
-23
2
12
14
0
-5
-34
-21
-11
-7
9
15
3
-34
-3
-38
17
7
-18
16
7
-9
-15
-1
-48
71
4
9
4
3
-11
32
12
13
-4
-14
-5
-7
-12
6
0
-8
-1
1
-9
-3
-1
-25
23
4
7
-28
-41
-7
13
36
3
-54
14
9
5
14
-2
9
24
45
-40
-50
1
3
2
-10
41
6
20
21
1
18
-32
-15
-19
-2
6
-12
5
-57
-12
6
31
55
28
-17
-49
-31
-49
-18
8
42
23
-7
7
51
22
6
29
10
-8
0
-15
-10
22
48
25
40
-4
-1
-24
6
-69
-10
-40
12
-12
6
0
6
22
16
13
15
19
-32
-10
1
17
-7
-55
-21
1
-30
18
31
15
-29
-12
10
78
47
-51
-21
77
-1
34
26
-19
-16
-42
-2
5
44
-39
-6
-9
38
17
-12
28
-6
-52
16
-22
-33
-19
-44
12
7
-12
41
-53
-30
6
16
80
7
26
-18
-39
11
3
3
10
31
-8
-6
-2
-4
-1
-12
-5
-35
0
-32
28
-73
-17
-20
64
-90
-50
-48
41
0
30
15
-7
-53
-25
-49
-20
17
-4
-3
-12
-19
-19
-39
11
19
5
-1
-11
31
52
-18
-95
-52
-31
30
26
-15
-46
9
4
-33
25
-48
-18
-18
52
10
26
-32
7
-56
-9
-4
5
-18
13
9
-2
10
14
17
-92
28
60
-50
24
-67
-21
-3
7
-82
-1
-9
55
-33
-56
-4
44
10
-31
-8
-33
70
-14
44
10
-10
4
-4
3
-13
-13
-24
-26
45
70
-102
-12
50
-44
24
132
32
-7
-58
-18
-7
-31
-41
35
20
8
-20
5
1
1
-76
4
12
-20
-12
-2
0
10
-11
-8
17
24
19
7
-27
-4
31
11
-14
-19
-55
-16
-24
-68
32
60
-52
-12
21
-45
7
-27
-21
-25
3
10
40
-6
-32
-45
-76
34
-9
-29
102
-2
3
-21
-6
-54
-46
20
-10
-6
41
2
16
55
-5
-19
21
35
7
1
1
21
-18
55
-3
-9
-7
37
20
-56
-42
-7
25
-16
-54
-20
24
-63
42
-14
-3
88
56
31
75
-34
-24
-43
11
-11
2
5
-4
15
47
13
25
2
4
10
14
-40
41
-40
-71
3
-35
45
18
-23
-25
106
59
-93
-23
-18
17
-16
8
-2
39
3
-23
-11
-31
-3
10
-9
40
1
-2
9
10
30
-35
-42
47
23
-47
18
16
18
-11
7
-13
4
-33
56
68
41
20
7
8
31
-36
-16
-39
26
-5
9
31
9
-44
9
-36
42
9
-52
70
-36
-47
-5
-40
-22
75
-17
12
-9
-22
-36
4
41
-8
70
51
31
-17
4
-27
-9
-16
18
-29
-13
-2
-18
-20
42
-56
-45
-76
15
-9
-41
-36
16
24
-1
-7
-1
73
2
48
23
-2
31
-39
31
2
1
-30
6
47
19
-7
14
13
6
28
31
6
-3
-19
-3
-36
-33
-33
-11
14
-65
14
-51
-32
-12
2
34
65
43
-48
-21
1
-8
35
-14
25
-9
-36
5
-2
26
-37
73
-45
22
-18
25
4
-27
-10
73
9
11
-55
-29
-2
-48
-68
98
46
-4
71
-16
19
33
29
24
-13
11
-33
-5
32
-59
-29
48
6
37
56
24
-13
-9
-21
31
63
44
2
-22
-14
10
-30
58
2
67
21
32
26
-32
-39
14
-7
-15
-41
65
22
1
18
61
-30
-64
17
-5
-91
-17
51
-54
-3
23
-15
128
18
44
29
75
19
19
67
48
-28
55
-29
-6
23
-28
-65
-8
-40
-3
-45
56
25
-19
38
-16
10
-10
78
24
0
16
50
-61
15
-56
-53
73
19
47
-2
-35
-8
-55
43
45
-5
-92
-6
-49
-92
9
-23
-41
54
-51
107
-28
27
27
68
-5
-29
-31
22
46
-45
-72
-37
54
26
24
37
27
19
68
12
6
35
-40
35
-107
11
9
-13
38
24
17
-156
-57
34
0
38
-7
-11
-75
-77
-24
8
-23
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
29
4
-18
52
32
0
-2
7
51
46
26
-22
-8
-33
5
7
36
-45
74
-67
58
-22
19
-28
39
-12
23
-60
-60
-5
42
-14
-13
22
2
-7
13
-7
-19
-7
-20
-22
26
17
-19
62
16
53
-3
-30
-21
2
-1
-20
3
4
-4
-21
14
-71
15
-85
38
-21
-17
-43
-24
-17
-15
-54
-33
-29
67
-42
23
3
-44
-20
5
59
54
-15
-15
59
35
-7
-4
-30
-17
11
-45
-23
-12
14
43
38
26
-12
-15
-10
8
-24
33
11
-32
-31
-51
15
19
4
-1
12
31
-72
-11
-78
13
2
-48
-23
-25
-4
-26
-18
-31
6
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
1
0
10
-3
-1
4
-10
-99
130
-1
-14
-45
125
-46
81
-62
23
76
15
48
-23
41
5
-32
20
90
-48
32
22
28
-7
-40
49
14
-111
-63
6
-73
-36
-1
-1
16
-10
21
-8
-46
8
-5
51
62
16
-15
-71
-50
-106
11
68
40
70
-8
60
-51
-54
14
63
-10
-3
-34
-48
1
-19
-45
24
-65
-12
126
37
53
-60
-47
-55
-61
32
-50
-70
-52
-16
-26
84
14
-11
-50
-45
5
7
35
13
-37
35
2
29
-47
0
-3
24
14
-98
6
-6
-10
-34
-11
-28
-50
-58
18
-57
-12
66
-80
44
-62
19
0
-50
37
-35
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
6
2
-5
14
-33
-1
72
56
-69
-32
68
51
20
-51
41
85
-34
27
10
-6
-13
-57
41
-30
-11
8
-27
28
-53
-21
66
-41
-38
-26
1
15
6
22
-67
-15
-22
30
67
-48
47
38
25
46
-33
-1
96
-68
-21
25
27
-19
-15
36
-31
51
-121
-36
-47
12
-19
24
24
13
4
15
22
-46
-5
-42
-42
16
-75
51
4
-37
35
-27
34
4
-62
-13
-16
50
68
49
-70
41
-75
-18
-7
29
16
-18
-32
-5
-14
-53
6
-28
-32
-82
8
23
58
-28
37
-66
-24
-2
-12
-59
24
45
-30
-21
4
-30
-3
5
99
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
6
-77
23
95
109
11
-1
83
24
49
-39
54
57
11
24
-1
12
4
-42
15
10
46
74
60
0
29
-68
61
-43
16
82
-27
-38
-2
-17
-73
-25
-13
28
-25
2
11
-3
23
-2
-17
139
66
-2
29
28
42
7
19
61
26
22
43
-31
27
-61
9
-27
-30
61
-10
36
-20
-19
2
-61
18
-10
60
16
22
73
66
29
26
49
-32
-10
40
-13
22
-31
20
27
-43
-54
-36
3
-53
-30
26
-46
186
95
41
-8
62
-20
-8
37
-11
-2
25
-5
48
-21
-37
2
-6
-17
17
-31
10
-56
-21
-20
84
-7
-9
46
14
-30
8
-83
2
-8
78
5
20
21
1
-2
-71
79
-3
-17
-34
52
-28
10
31
19
-29
10
-42
1
-2
-12
-3
64
-29
19
-49
18
-5
41
51
-30
56
5
2
-85
-29
27
-9
-11
-4
-14
42
16
-21
-1
42
15
-33
-7
-5
10
-43
-3
-12
31
-13
9
6
-2
22
-27
11
-28
-43
-83
53
41
-36
42
41
4
-18
16
-22
9
34
-18
-24
21
-2
-2
2
10
4
-8
-53
-11
-5
-35
-41
40
-19
48
-48
-6
62
-34
-74
24
-24
4
-13
-38
-13
-21
22
70
-48
5
-31
-2
4
-40
11
43
-87
-46
-5
-27
13
58
35
-44
-14
-44
81
33
-2
14
-27
1
-9
32
27
121
13
39
-64
-41
-5
4
-1
13
21
-25
-11
-35
19
9
4
133
8
-28
24
14
-46
-33
-28
-68
-27
-13
31
59
54
7
17
-34
-9
-37
-54
3
-16
2
15
-10
-19
11
-9
-15
22
17
0
-3
-50
-84
57
5
-32
60
49
32
-3
-13
82
3
-75
-11
31
16
-23
21
-22
-35
-24
-11
11
-17
-2
8
-16
-60
-35
37
-27
-34
-34
6
0
29
44
60
-12
0
-63
-5
-8
69
-24
-88
-66
2
-12
1
-48
6
-40
2
-29
-17
-1
0
38
29
12
-37
19
-62
-15
34
-54
61
-3
27
25
13
18
-9
6
48
23
4
12
17
9
12
23
-11
-8
0
-17
16
12
-6
2
12
-5
8
-5
49
35
-3
-22
72
4
14
-26
23
19
3
-56
15
49
-46
-12
-16
-41
-1
-22
22
-75
11
3
22
-44
2
12
23
-8
5
-14
18
-53
-22
42
42
98
2
7
-37
4
28
-22
4
-54
35
-17
-1
-22
25
13
5
5
-43
6
12
-44
20
-1
-59
60
-8
-10
-24
-15
-18
-34
10
55
27
19
35
-100
3
-34
41
25
-35
-52
-23
-23
-10
-30
34
43
22
0
53
-82
-48
-13
-32
-20
-18
4
-41
7
23
-72
22
33
6
-21
-3
-47
9
0
41
2
-1
-17
26
19
10
-50
-10
-8
38
0
-52
33
43
-19
72
68
73
12
-1
50
53
-37
39
7
-31
16
-9
-34
9
1
-5
0
-12
-53
8
49
28
5
21
28
34
61
-49
-5
-18
-34
52
-32
25
-13
25
42
-51
-126
-16
8
5
-50
-6
0
-47
-52
21
-10
-32
3
17
6
-27
29
81
35
-29
33
-66
13
-21
16
36
-3
-37
-1
-31
-9
-52
-37
20
15
-32
5
-7
-20
-4
3
11
20
-47
20
19
-43
16
14
34
44
-58
-53
-78
-74
45
72
-21
8
-15
56
-31
22
-26
44
65
-29
16
31
13
-35
-1
-8
-7
25
3
-3
18
-37
-8
-4
-11
-85
79
-20
17
-46
46
-6
7
9
-1
-12
20
7
23
5
43
-4
1
26
-4
0
-8
-31
9
-6
-18
-14
9
-56
-13
42
29
32
-62
39
-22
2
-45
-34
5
14
35
3
-21
2
-2
25
16
55
16
47
-6
6
3
-12
3
-6
-9
-2
1
-2
-7
-14
54
3
80
-65
-48
2
3
-23
-35
-12
-33
20
-16
-26
-28
-26
32
9
8
11
-19
2
5
15
-12
-10
-21
-12
-51
9
39
1
-11
61
-56
-99
-16
28
-25
-59
-3
-38
-57
33
-9
-3
-6
26
-19
-28
-6
-1
44
-8
12
-32
-20
31
-41
85
40
30
-18
30
-17
65
-26
-43
48
23
-19
-51
-33
91
24
-8
-3
-5
18
30
20
3
5
-65
25
-48
-11
-20
-8
-22
-20
69
3
41
-13
-20
-18
6
-27
-35
-22
-9
-25
-12
76
82
-51
-8
-20
36
-97
13
20
-6
9
-14
-16
-18
7
-12
74
35
-15
-9
-32
15
-94
25
-23
-79
34
-76
20
-50
-32
28
6
-31
-33
-40
-17
32
19
-7
21
-15
39
28
9
-12
-1
14
29
-37
-50
-8
-10
-57
20
7
43
34
-44
13
-35
-22
-16
-17
45
-22
9
-15
25
35
-12
-16
144
21
-20
-73
-4
6
-7
-49
4
-14
-31
14
-44
33
-10
-39
20
71
-12
-4
18
19
-15
2
14
102
-67
-4
8
5
-27
-39
21
4
31
-43
-18
-63
-23
-32
27
53
-26
27
-34
-22
-34
35
-24
-45
-11
64
12
25
-2
-18
96
-85
18
-51
-4
-8
-10
-99
49
-27
15
-40
36
7
32
18
19
-26
6
-78
72
-17
7
9
-15
-66
-99
-68
25
-30
-8
3
17
-55
43
-113
38
52
-7
2
117
39
9
7
2
56
12
8
46
10
-31
-44
16
-42
-8
-15
29
50
32
19
16
-64
28
37
-23
-21
-15
-13
21
-5
-40
14
-48
22
0
3
-15
7
60
-46
41
1
21
43
46
54
25
31
-4
-26
28
31
-5
75
-49
32
23
3
55
20
49
46
-34
-31
11
-13
7
-17
28
-27
-6
-24
107
-45
9
5
11
28
37
-2
5
20
11
-16
-7
1
23
6
46
-53
12
36
-9
84
34
71
77
3
-12
-9
-63
-31
22
21
-65
48
74
-41
-30
-26
-2
-25
-7
14
7
-9
-29
-25
37
-10
11
-42
14
-12
43
33
-32
40
14
23
33
-30
-10
-20
-26
68
-1
33
-43
-33
34
23
20
24
0
-21
13
56
-34
-5
-15
20
19
29
15
-13
15
-35
58
-63
4
-30
18
-4
29
-4
-3
15
-16
-44
32
62
13
-47
13
35
-57
-4
4
16
-1
4
4
4
-64
-9
49
15
-22
-6
15
-24
48
16
-28
-6
-3
-5
-16
50
-1
-11
-9
-63
-23
50
16
8
17
-4
-10
-4
6
-22
5
3
17
57
-23
3
-3
-5
-14
-9
24
-4
-6
22
-13
-1
0
-1
1
-5
2
-28
16
-36
8
-15
38
-4
-1
-10
1
10
0
-2
-23
-10
1
2
14
0
37
-20
-5
20
15
70
13
16
19
21
24
-47
20
-18
-30
-20
-8
-14
28
14
9
-8
-4
-12
-5
11
5
-10
18
-13
-45
-17
0
52
39
-23
-23
-65
64
6
-26
53
-15
42
36
-13
21
0
62
115
-3
-45
-13
-5
-31
-17
-1
8
15
9
20
6
-6
30
18
23
9
-50
11
33
11
-51
-15
56
47
-72
8
53
0
28
13
44
-24
-5
-1
12
0
6
-6
-20
7
2
14
-16
-4
-10
-31
-1
22
44
26
19
-36
-17
-43
-62
-4
61
-57
0
14
-21
36
11
8
-35
7
-14
6
-15
27
-1
-6
-4
-16
-25
-31
16
-2
-27
-9
30
-16
-35
-34
-21
-21
-7
4
-18
-50
5
28
13
-5
62
-33
-39
-23
21
-3
0
-1
12
-2
11
-45
-66
-48
-14
-2
50
17
-4
-1
-9
-25
12
-28
-32
-15
40
1
64
1
7
3
3
12
-22
9
-1
5
-40
2
-4
-20
-16
12
-20
-56
-13
-6
-31
9
47
24
-8
-1
20
0
-17
61
23
-22
31
2
-19
11
-14
17
54
-7
-29
-11
24
1
-13
-22
-3
-29
-1
-16
-22
5
-22
84
-21
-37
-3
-3
12
-51
-8
28
-15
-6
-14
18
-33
-25
-9
3
-8
63
-39
21
0
12
-7
32
-50
32
-12
-10
-28
47
-48
31
15
-17
-10
74
-3
28
-10
18
39
-24
-70
13
-19
23
-41
83
39
-70
24
53
43
-37
-3
32
47
-44
-11
29
7
-31
-63
39
23
10
-25
9
-13
7
-28
15
27
-15
34
-50
-1
2
24
-52
-1
-9
-19
1
-9
91
9
-25
-5
-81
51
91
50
-7
74
-18
-33
5
-3
2
-1
-2
-32
46
37
-25
23
-18
5
9
0
-82
11
13
57
-34
-88
40
-16
26
40
-35
12
-18
-18
39
90
41
-14
-50
32
-6
11
4
22
-5
-31
9
-4
20
6
6
-51
-41
8
18
15
-69
-3
-8
-81
7
17
-1
-32
-35
-7
30
-31
-22
-48
-27
-2
-25
-12
-3
-15
5
-41
-35
-33
27
-17
13
-33
-118
44
17
-35
-61
7
-79
52
24
-17
41
1
34
10
-8
-8
43
-54
40
-34
9
-13
7
15
-12
8
-45
-5
24
-25
-28
-66
82
-85
13
-14
-24
-3
-75
-45
30
-6
-15
-22
-16
86
-7
-19
46
-62
-5
13
13
-15
3
-27
80
6
19
14
6
-13
-31
-69
67
67
-37
-46
-35
31
0
-40
26
-38
-29
21
18
23
-51
-18
2
47
0
-54
7
-16
-10
-18
-1
47
-42
-14
7
-10
8
-2
33
30
39
16
-4
3
-38
2
-9
-7
-22
1
-65
-19
-24
-42
-18
-54
20
-27
17
-17
14
12
-12
-40
26
-8
-50
-6
-16
43
101
-6
-87
-61
-69
-37
0
-40
81
20
23
-67
6
-40
26
19
88
17
34
65
48
39
1
31
-58
5
4
-8
6
20
7
26
45
-7
-12
-39
68
29
-6
10
-92
45
13
10
-49
-27
32
21
-16
-26
-32
62
-4
0
34
35
-5
16
-16
0
-15
-1
-14
3
11
-18
11
-5
9
-54
2
-42
64
-93
-96
-15
58
108
-27
40
5
-49
57
19
-37
13
12
-23
19
-12
24
-2
6
32
-1
-14
-33
-3
12
52
-74
-15
-8
70
-30
83
7
-28
63
7
-15
-9
45
6
-5
46
-16
-22
27
-38
-46
-42
-12
-92
-11
-35
-30
-2
-25
38
1
2
60
8
-95
-18
24
-22
99
-34
0
55
-44
-36
-13
98
15
-28
40
5
-7
8
-26
5
-15
43
7
59
-51
-2
11
1
50
-54
-33
-56
-8
-25
11
-34
39
23
-7
-43
-18
28
53
58
6
-17
-9
15
-51
8
68
-36
-75
4
-14
-23
9
26
12
46
-20
-22
49
-31
-47
-1
35
34
-46
-57
-47
22
-21
-58
19
52
23
46
61
-36
19
-31
-8
1
-59
-3
49
-6
21
-22
37
-48
17
-14
0
-20
-19
32
72
35
-33
14
-57
-29
-73
-12
75
94
76
25
10
-3
-12
-36
55
50
-67
15
-37
-61
-43
-60
88
0
-34
-31
43
5
20
19
39
62
-13
5
15
-71
-14
0
59
23
-46
-9
0
0
0
0
-33
-10
47
-38
0
0
0
0
91
22
-107
-7
0
0
0
0
37
83
21
-4
0
0
0
0
-4
36
40
-37
0
0
0
0
0
15
-7
-62
0
0
0
0
56
40
17
29
0
0
0
0
33
5
4
25
0
0
0
0
83
34
1
55
0
0
0
0
57
-68
-31
-63
0
0
0
0
10
-28
13
-30
0
0
0
0
6
28
-48
-16
0
0
0
0
26
7
117
124
0
0
0
0
-13
-2
27
10
0
0
0
0
-17
50
4
-1
0
0
0
0
-35
34
-15
19
0
0
0
0
40
-10
-35
68
0
0
0
0
17
-22
15
41
0
0
0
0
55
-37
-53
-39
0
0
0
0
58
-94
2
-39
0
0
0
0
-39
-22
120
17
0
0
0
0
-37
34
-37
30
0
0
0
0
-4
4
-25
-5
0
0
0
0
16
-36
15
-39
0
0
0
0
20
-64
-27
-41
0
0
0
0
-18
11
-64
-29
0
0
0
0
0
-15
-19
33
0
0
0
0
28
2
60
15
0
0
0
0
-19
-53
15
-20
0
0
0
0
-10
31
44
0
0
0
0
0
-40
-16
-36
30
0
0
0
0
0
-4
-16
-25
0
0
0
0
40
14
2
30
0
0
0
0
6
-5
-30
-23
0
0
0
0
43
-37
-48
-30
0
0
0
0
91
55
33
-25
0
0
0
0
-26
51
-53
64
0
0
0
0
32
-79
-4
20
0
0
0
0
-23
-21
-75
-19
0
0
0
0
-43
-5
25
-51
0
0
0
0
-13
-68
-11
53
0
0
0
0
38
-32
-46
23
0
0
0
0
-64
25
-29
-1
0
0
0
0
10
-33
8
33
0
0
0
0
33
-82
-62
18
0
0
0
0
16
23
-32
18
0
0
0
0
-43
-28
-8
-69
0
0
0
0
14
-71
30
8
0
0
0
0
8
-35
-14
29
0
0
0
0
58
52
18
19
0
0
0
0
3
46
2
21
0
0
0
0
88
28
-50
39
0
0
0
0
17
-24
-31
56
0
0
0
0
-31
37
8
-18
0
0
0
0
47
-26
12
-54
0
0
0
0
6
68
-30
-96
0
0
0
0
-49
55
13
27
0
0
0
0
9
23
-3
-34
0
0
0
0
50
-26
18
23
0
0
0
0
-93
21
-2
-3
0
0
0
0
22
21
-61
-63
0
0
0
0
-17
3
-58
50
0
0
0
0
-12
-69
-63
-11
0
0
0
0
23
-9
-2
36
0
0
0
0
3
15
-12
-13
0
0
0
0
-6
-39
49
5
0
0
0
0
21
23
-24
36
0
0
0
0
37
-17
32
-126
0
0
0
0
-57
32
0
-17
0
0
0
0
22
43
-11
-14
0
0
0
0
63
65
-73
-42
0
0
0
0
-81
37
-52
55
0
0
0
0
8
3
-91
-42
0
0
0
0
-38
-1
-37
-11
0
0
0
0
0
34
9
8
0
0
0
0
21
-57
-46
16
0
0
0
0
28
34
38
-47
0
0
0
0
-31
13
60
17
0
0
0
0
-17
-33
32
30
0
0
0
0
6
29
-50
-26
0
0
0
0
18
28
-29
-29
0
0
0
0
57
22
12
15
0
0
0
0
65
51
-8
-54
0
0
0
0
19
-16
-90
-3
0
0
0
0
2
14
-16
-29
0
0
0
0
8
21
-13
33
0
0
0
0
34
32
-85
-1
0
0
0
0
-54
7
0
31
0
0
0
0
53
24
36
-52
0
0
0
0
18
18
-27
-44
0
0
0
0
-24
-94
6
53
0
0
0
0
24
-4
9
-41
0
0
0
0
-2
11
53
-15
0
0
0
0
-8
-39
4
-17
0
0
0
0
-55
1
-37
-44
0
0
0
0
0
-72
29
28
0
0
0
0
-37
41
-27
-10
0
0
0
0
54
30
13
-49
0
0
0
0
30
-47
-29
-43
0
0
0
0
37
58
-38
-28
0
0
0
0
93
-102
7
32
0
0
0
0
-65
-93
13
-22
0
0
0
0
-36
-76
94
-55
0
0
0
0
6
73
-41
-31
0
0
0
0
18
-85
-8
80
0
0
0
0
22
-17
31
2
0
0
0
0
-36
-77
-10
-102
0
0
0
0
-86
-61
5
14
0
0
0
0
16
27
-31
39
0
0
0
0
-36
8
-7
-30
0
0
0
0
-62
-22
26
-54
0
0
0
0
36
19
-7
-21
0
0
0
0
18
93
-15
-55
0
0
0
0
23
3
-35
15
0
0
0
0
-29
-50
11
-20
0
0
0
0
-10
28
62
60
0
0
0
0
14
-35
-103
-81
0
0
0
0
-41
25
3
13
0
0
0
0
-76
8
77
-75
0
0
0
0
41
3
0
-32
0
0
0
0
21
-34
-1
7
0
0
0
0
-38
-37
9
-45
0
0
0
0
20
-70
50
32
0
0
0
0
5
-5
0
-38
0
0
0
0
-3
-7
0
-49
0
0
0
0
72
-21
-3
-9
0
0
0
0
23
6
16
13
0
0
0
0
-28
-47
62
77
0
0
0
0
6
-12
-21
-15
0
0
0
0
76
23
61
-2
0
0
0
0
50
58
5
15
0
0
0
0
41
-1
-44
31
0
0
0
0
29
42
42
-7
0
0
0
0
14
52
19
2
0
0
0
0
31
21
-6
-63
0
0
0
0
37
69
-30
-8
0
0
0
0
-32
7
-30
14
0
0
0
0
-27
6
-49
-45
0
0
0
0
-29
-5
-15
19
0
0
0
0
100
-19
-9
25
0
0
0
0
95
25
25
35
0
0
0
0
-52
-1
35
-26
0
0
0
0
28
-63
49
-50
0
0
0
0
-6
-43
38
-13
0
0
0
0
-39
35
32
55
0
0
0
0
-27
-27
61
8
0
0
0
0
-54
-13
-14
-23
0
0
0
0
-52
10
7
21
0
0
0
0
-33
4
40
32
0
0
0
0
-12
55
34
-60
0
0
0
0
57
-14
-16
-32
0
0
0
0
4
1
-2
-19
0
0
0
0
23
-44
21
35
0
0
0
0
-28
-35
-20
3
0
0
0
0
57
11
-9
-24
0
0
0
0
61
4
-1
-28
0
0
0
0
52
-20
42
-11
0
0
0
0
44
-11
-20
41
0
0
0
0
13
25
0
-3
0
0
0
0
-82
-70
38
19
0
0
0
0
31
15
49
47
0
0
0
0
49
-10
45
-34
0
0
0
0
11
26
-11
-27
0
0
0
0
-5
48
31
-31
0
0
0
0
5
-18
-20
25
0
0
0
0
-36
-31
-35
46
0
0
0
0
2
6
-3
5
0
0
0
0
22
30
6
-33
0
0
0
0
33
-4
-87
10
0
0
0
0
-30
50
5
-5
0
0
0
0
-11
-49
28
-18
0
0
0
0
-34
7
-11
3
0
0
0
0
18
-93
1
-91
0
0
0
0
17
-31
-51
33
0
0
0
0
-12
2
-34
14
0
0
0
0
24
-5
17
-3
0
0
0
0
-11
-17
-31
-31
0
0
0
0
6
-9
12
-33
0
0
0
0
31
-35
-7
19
0
0
0
0
-45
-1
4
3
0
0
0
0
-37
-15
54
1
0
0
0
0
41
70
-34
-19
0
0
0
0
-45
-4
-15
-15
0
0
0
0
1
-9
1
-3
0
0
0
0
40
-39
16
-26
0
0
0
0
21
-13
-28
-46
0
0
0
0
23
-18
6
10
0
0
0
0
-9
15
9
0
0
0
0
0
9
49
-15
41
0
0
0
0
-29
-44
54
-15
0
0
0
0
25
15
9
42
0
0
0
0
13
4
18
-70
0
0
0
0
43
-26
-13
-1
0
0
0
0
30
-39
40
10
0
0
0
0
-1
-42
6
15
0
0
0
0
-80
134
5
0
0
0
0
0
-10
44
-48
22
0
0
0
0
-22
-34
-1
3
0
0
0
0
38
7
-14
10
0
0
0
0
10
-101
15
5
0
0
0
0
53
-4
-9
13
0
0
0
0
-3
-51
-14
16
0
0
0
0
25
-47
-71
-20
0
0
0
0
59
0
-20
-67
0
0
0
0
-13
12
-11
54
0
0
0
0
-42
-11
-3
-13
0
0
0
0
-53
-121
-54
-15
0
0
0
0
-52
-40
12
40
0
0
0
0
-14
38
-31
-60
0
0
0
0
-20
-15
16
-13
0
0
0
0
39
-74
21
-35
0
0
0
0
-73
-36
-3
14
0
0
0
0
40
-46
-13
-27
0
0
0
0
20
-30
9
-12
0
0
0
0
23
49
84
-52
0
0
0
0
-54
-12
-5
-14
0
0
0
0
8
40
-57
12
0
0
0
0
8
4
-17
-59
0
0
0
0
-22
-13
-41
-25
0
0
0
0
32
-2
-25
-16
0
0
0
0
17
20
-67
102
0
0
0
0
-6
-10
-41
-11
0
0
0
0
-37
20
-110
-40
0
0
0
0
32
-33
30
48
0
0
0
0
5
38
7
5
0
0
0
0
63
12
-25
-35
0
0
0
0
-6
75
7
29
0
0
0
0
-1
27
-2
-29
0
0
0
0
25
29
-42
18
0
0
0
0
-5
-13
-14
12
0
0
0
0
103
-39
-16
-81
0
0
0
0
-18
0
-81
-19
0
0
0
0
32
-24
-6
0
0
0
0
0
38
18
-25
1
0
0
0
0
26
39
-26
28
0
0
0
0
-14
44
-14
7
0
0
0
0
-43
-57
8
21
0
0
0
0
29
-56
-48
14
0
0
0
0
-50
-3
-6
-17
0
0
0
0
20
10
-86
41
0
0
0
0
40
-2
-3
-79
0
0
0
0
65
20
-15
-7
0
0
0
0
73
-14
-32
-11
0
0
0
0
-54
-104
51
65
0
0
0
0
71
27
27
-14
0
0
0
0
51
-25
-12
-1
0
0
0
0
13
-82
-44
-85
0
0
0
0
3
69
20
-17
0
0
0
0
95
-21
1
-60
0
0
0
0
-4
10
6
-6
0
0
0
0
28
31
-21
-10
0
0
0
0
-40
18
-27
0
0
0
0
0
-20
20
14
16
0
0
0
0
-33
16
-2
-16
0
0
0
0
25
19
5
19
0
0
0
0
58
11
-27
-6
0
0
0
0
0
0
6
16
37
0
0
2
8
-13
0
0
80
-17
39
0
0
-5
33
7
0
0
-32
1
-8
0
0
62
73
-57
0
0
-74
45
11
0
0
13
52
95
0
0
13
113
12
0
0
-53
5
-13
0
0
44
43
12
0
0
9
95
-10
0
0
5
-16
10
0
0
6
-21
9
0
0
19
107
-14
0
0
86
-54
-32
0
0
33
-26
33
0
0
38
29
-22
0
0
-10
4
0
0
0
-3
-29
0
0
0
15
15
-8
0
0
-13
0
-24
0
0
2
4
-7
0
0
-10
-26
8
0
0
11
-13
37
0
0
0
6
12
0
0
2
-27
17
0
0
68
-29
0
0
0
15
1
-18
0
0
6
96
7
0
0
-30
-11
1
2
4
43
-25
-59
0
0
10
-17
27
0
0
9
58
-49
0
0
8
1
4
0
0
-32
8
-82
0
0
-2
92
71
0
0
18
29
24
0
0
-25
-26
-23
0
0
9
-56
-39
0
0
40
-61
29
0
0
-4
42
9
0
0
19
20
1
0
0
64
-32
45
0
0
47
14
2
0
0
4
-3
-6
0
0
-17
-17
0
0
0
-86
35
-33
0
0
-18
18
-9
0
0
-20
44
-7
0
0
-1
-18
2
0
0
-35
-18
12
0
0
-27
-11
13
0
0
58
-50
3
0
0
6
-11
4
0
0
-21
12
2
0
0
1
48
11
0
0
-15
25
28
0
0
0
1
-2
0
0
2
-16
3
0
0
72
25
1
0
0
2
1
-50
0
0
-35
23
-20
8
6
-29
20
25
0
0
-48
85
17
0
0
17
-24
0
0
0
-34
36
-20
0
0
9
-59
-12
0
0
-24
-11
32
0
0
-22
-3
40
0
0
52
17
6
0
0
21
0
20
0
0
-46
37
-4
0
0
53
13
3
0
0
-9
15
-7
0
0
-15
1
5
0
0
0
21
1
0
0
-4
10
0
0
0
-2
4
1
0
0
-30
-23
9
0
0
-1
49
3
0
0
0
-1
0
0
0
6
-17
0
0
0
1
4
0
0
0
35
-12
1
0
0
-6
-13
0
0
0
0
-9
2
0
0
10
-6
0
0
0
0
60
8
0
0
2
-34
0
0
0
0
31
8
0
0
7
14
0
0
0
5
-6
-3
0
0
-2
-2
1
0
0
105
8
-1
-13
5
-62
-33
1
0
0
-26
14
51
0
0
-40
-84
20
0
0
87
44
39
0
0
37
23
-14
0
0
40
6
-39
0
0
90
6
-56
0
0
51
-5
11
0
0
-7
25
6
0
0
-45
5
-2
0
0
39
19
5
0
0
-16
13
1
0
0
13
7
-8
0
0
-1
2
0
0
0
0
-10
1
0
0
4
-25
0
0
0
-10
-11
-11
0
0
0
-17
4
0
0
8
-12
6
0
0
-5
3
-6
0
0
-18
4
-1
0
0
3
-23
-5
0
0
1
40
-1
0
0
-7
-11
3
0
0
9
3
5
0
0
0
-14
3
0
0
-1
-8
-1
0
0
0
5
-1
0
0
11
-34
3
0
0
12
-7
-1
0
0
-11
25
-2
0
0
7
0
-4
1
-7
-85
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
38
0
0
47
-47
16
0
0
46
26
-50
0
0
55
60
-22
0
0
-9
0
0
0
0
-26
-22
3
0
0
6
3
0
0
0
18
23
-2
0
0
-7
-25
-3
0
0
-6
-7
4
0
0
20
8
6
0
0
-69
7
15
0
0
4
7
3
0
0
1
1
-3
0
0
-4
2
0
0
0
12
8
-5
0
0
29
63
-16
0
0
-11
-5
11
0
0
3
-3
0
0
0
13
0
0
0
0
-16
-12
0
0
0
-4
0
-1
0
0
-1
3
4
0
0
20
16
-1
0
0
-1
32
0
0
0
-1
-9
3
0
0
0
-2
0
0
0
-10
0
0
0
0
7
-20
2
0
0
0
-1
15
0
0
4
-8
-1
40
-11
21
7
-8
0
0
-21
-15
-4
0
0
51
-32
6
0
0
-41
8
-4
0
0
41
14
0
0
0
19
7
0
0
0
64
17
10
0
0
10
2
0
0
0
-54
-12
-5
0
0
39
34
-7
0
0
-4
27
33
0
0
6
-9
1
0
0
-9
17
15
0
0
-4
0
0
0
0
1
-1
5
0
0
-1
-11
0
0
0
12
2
-7
0
0
0
20
-3
0
0
-10
40
-8
0
0
-1
4
2
0
0
-4
3
-7
0
0
5
9
-4
0
0
3
15
1
0
0
-4
2
0
0
0
-13
25
-1
0
0
0
-22
-4
0
0
4
7
-4
0
0
0
-3
0
0
0
2
0
4
0
0
-4
-51
-3
0
0
11
6
4
0
0
-4
-7
2
-4
14
27
20
0
0
0
-18
-49
0
0
0
32
45
0
0
0
-33
-45
2
0
0
47
6
-1
0
0
-4
-2
0
0
0
-1
0
0
0
0
2
0
0
0
0
11
-1
0
0
0
17
-5
-3
0
0
66
0
7
0
0
-31
3
-2
0
0
14
12
3
0
0
0
1
0
0
0
3
0
0
0
0
0
-1
-4
0
0
24
-10
0
0
0
2
9
0
0
0
0
0
3
0
0
0
0
0
0
0
-12
0
0
0
0
2
6
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
-3
-2
0
0
0
0
1
0
0
0
-4
1
0
-40
31
7
-1
0
0
0
-6
4
-5
0
0
-2
-3
6
0
0
-17
-9
8
0
0
-3
-4
-3
0
0
3
-1
0
0
0
-7
1
0
0
0
-2
0
0
0
0
-2
-2
-1
0
0
31
1
-9
0
0
16
-18
-2
0
0
-31
-12
0
0
0
24
-15
-3
0
0
0
0
0
0
0
-1
0
2
0
0
-1
0
0
0
0
6
12
-2
0
0
0
4
0
0
0
0
1
-3
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
-5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
-2
1
0
0
1
4
0
-7
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-39
0
0
48
-11
-10
0
0
3
-12
-8
0
0
36
3
-28
0
0
-55
-56
5
0
0
-20
1
5
0
0
-1
-1
0
0
0
40
27
8
0
0
43
-14
0
0
0
13
0
0
0
0
1
11
0
0
0
12
6
-1
0
0
-12
24
-2
0
0
10
4
-1
0
0
35
-31
4
0
0
29
-11
6
0
0
2
1
-8
0
0
20
3
27
0
0
-4
6
25
0
0
-24
-7
84
0
0
-13
114
21
0
0
-115
39
32
0
0
-25
20
-92
0
0
-95
-18
21
0
0
70
-43
57
0
0
-77
-89
61
0
0
-7
32
-68
0
0
7
-21
7
0
0
89
-14
-50
0
0
-58
47
66
0
0
-73
68
33
4
1
58
18
34
0
0
42
20
42
0
0
28
19
11
0
0
-3
32
-6
0
0
-21
-8
-9
0
0
23
-14
2
0
0
9
-7
17
0
0
-13
-2
0
0
0
41
19
-17
0
0
-5
-22
0
0
0
-8
11
-1
0
0
7
-1
-4
0
0
5
-1
-4
0
0
12
-6
0
0
0
20
-37
-1
0
0
33
7
0
0
0
-72
23
2
0
0
-2
-7
-35
0
0
1
-10
-2
0
0
34
-32
-6
0
0
-4
-4
-22
0
0
119
-48
15
0
0
8
-3
-50
0
0
35
11
-25
0
0
-87
4
81
0
0
39
-135
171
0
0
63
14
46
0
0
-4
10
38
0
0
-42
-21
-41
0
0
-17
12
8
0
0
-59
58
-52
0
0
56
-29
-64
-2
-1
-33
18
-12
0
0
-17
45
-1
0
0
-26
-15
-1
0
0
-28
24
0
0
0
54
-4
3
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
0
0
0
-8
5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
2
0
0
0
5
9
-5
0
0
24
63
45
0
0
14
41
-30
0
0
24
10
0
0
0
2
-57
65
0
0
36
-61
71
0
0
9
32
69
0
0
15
131
-69
0
0
27
-41
-36
0
0
-61
-3
29
0
0
-29
-41
179
0
0
-43
-41
-40
0
0
-67
24
-39
0
0
21
-8
-11
0
0
-94
-62
-28
11
-1
61
34
-160
0
0
-17
-21
7
0
0
-63
10
12
0
0
10
3
1
0
0
28
-4
-6
0
0
-3
2
1
0
0
2
8
1
0
0
0
-1
0
0
0
-9
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
38
-16
0
0
0
-9
0
2
0
0
-24
46
-16
0
0
27
-17
103
0
0
43
-29
-42
0
0
-136
14
28
0
0
75
41
4
0
0
-15
-24
0
0
0
-31
-42
32
0
0
-74
-91
-54
0
0
117
-61
16
0
0
58
94
-181
0
0
64
56
-25
0
0
-3
15
-4
0
0
-5
17
11
0
0
23
23
-18
4
-5
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-18
20
0
0
47
-12
4
0
0
15
-12
-3
0
0
35
12
1
0
0
6
-1
0
0
0
0
0
0
0
0
-45
1
0
0
0
-25
-12
2
0
0
2
0
0
0
0
0
1
0
0
0
-3
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
17
6
0
0
0
9
-53
-3
0
0
108
-63
-38
0
0
11
-15
115
0
0
-36
77
-114
0
0
-134
108
0
0
0
38
-39
71
0
0
57
-22
-138
0
0
45
15
71
0
0
2
2
-3
0
0
1
-9
-19
0
0
25
-16
-7
0
0
10
30
10
0
0
-27
-55
-43
0
0
22
-11
-6
0
0
-63
-32
52
8
2
-79
0
-45
0
0
-14
9
4
0
0
-7
-12
-16
0
0
3
-13
0
0
0
-62
43
0
0
0
20
-1
0
0
0
17
3
0
0
0
0
0
0
0
0
-9
3
0
0
0
4
-8
-1
0
0
-21
-5
0
0
0
0
-1
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
20
-10
0
0
0
82
10
-14
0
0
-50
9
10
0
0
-65
4
50
0
0
39
-100
32
0
0
3
66
0
0
0
0
85
-41
0
0
1
6
6
0
0
-80
-20
-21
0
0
-24
13
-9
0
0
-19
7
-31
0
0
-18
94
8
0
0
-35
-10
-17
0
0
3
66
93
0
0
-5
-16
11
0
0
-16
32
42
-7
-15
11
74
8
0
0
20
-5
0
0
0
-5
12
0
0
0
4
4
0
0
0
-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
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
0
-1
0
0
0
0
-5
27
-10
0
0
-70
57
2
0
0
84
11
-30
0
0
4
-4
-8
0
0
15
-19
4
0
0
-47
-13
-6
0
0
12
2
0
0
0
-84
9
8
0
0
-5
41
-11
0
0
-56
-10
48
0
0
-2
-17
32
0
0
54
14
-6
0
0
-9
110
9
0
0
13
-40
41
0
0
-8
18
-115
20
37
-44
-126
-68
0
0
-3
6
0
0
0
2
8
0
0
0
2
-1
0
0
0
44
-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
0
0
0
0
0
0
0
0
0
-5
-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
-17
-38
36
0
0
3
-21
0
0
0
-43
12
22
0
0
-5
48
10
0
0
0
2
-7
0
0
0
-17
2
0
0
-4
0
0
0
0
-12
-3
2
0
0
7
-28
-72
0
0
-4
13
50
0
0
-140
113
-26
0
0
-25
-69
41
0
0
-28
-23
84
0
0
69
25
-40
0
0
13
61
42
-30
-63
22
-102
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
139
0
0
-10
70
-40
0
0
52
60
-12
0
0
-6
-16
29
0
0
-13
12
9
0
0
54
-3
-19
0
0
41
-4
4
0
0
-38
31
103
0
0
-48
31
-3
0
0
-30
-38
33
0
0
3
34
4
0
0
17
15
37
0
0
12
-38
28
0
0
-24
-10
19
0
0
2
-10
-49
0
0
24
26
-67
0
0
24
32
18
0
0
8
54
7
0
0
15
1
-2
0
0
31
-22
5
0
0
-30
57
-47
0
0
32
-11
-42
0
0
16
-15
0
0
0
16
15
6
0
0
55
-29
74
0
0
-15
48
20
0
0
-50
15
9
0
0
58
-21
-15
0
0
21
-25
-24
0
0
11
13
24
0
0
-29
24
-44
4
11
-28
32
15
0
0
-29
23
54
0
0
-9
-28
25
0
0
41
-15
49
0
0
54
99
-162
0
0
-12
-41
18
0
0
33
71
9
0
0
-7
12
19
0
0
-16
71
-67
0
0
-33
-56
-9
0
0
106
57
13
0
0
-17
39
21
0
0
-17
15
-27
0
0
-10
-5
4
0
0
14
-2
8
0
0
10
-3
8
0
0
-46
-96
-3
0
0
37
71
23
0
0
-84
-13
-4
0
0
-23
8
-4
0
0
-59
14
-3
0
0
-11
-37
2
0
0
3
-18
-10
0
0
-2
-27
-11
0
0
42
-53
11
0
0
56
67
13
0
0
4
-41
32
0
0
-17
43
-21
0
0
8
3
0
0
0
-8
4
-23
0
0
-74
-12
2
0
0
2
49
57
-1
7
-62
-98
-49
0
0
-61
24
36
0
0
6
22
10
0
0
22
64
8
0
0
-12
0
-51
0
0
3
1
-9
0
0
33
10
-8
0
0
4
-5
0
0
0
16
-23
13
0
0
9
12
0
0
0
8
18
15
0
0
-11
9
-1
0
0
-18
8
-11
0
0
2
-5
-6
0
0
-1
7
-10
0
0
2
33
0
0
0
30
-14
5
0
0
22
16
2
0
0
-5
-11
7
0
0
0
2
-1
0
0
-6
-5
0
0
0
2
-4
-2
0
0
-4
15
1
0
0
0
-3
3
0
0
-5
3
0
0
0
1
0
-1
0
0
16
-1
5
0
0
0
-3
-7
0
0
8
-4
2
0
0
10
-6
12
0
0
32
17
2
0
0
12
12
-3
4
15
-90
-58
3
0
0
-45
47
-7
0
0
-4
-5
-1
0
0
75
-4
7
0
0
16
-22
23
0
0
-9
26
11
0
0
13
-5
-33
0
0
-17
27
3
0
0
16
68
-19
0
0
17
-17
1
0
0
18
25
-5
0
0
9
-53
0
0
0
11
62
-5
0
0
0
8
4
0
0
0
0
-11
0
0
-3
10
5
0
0
52
-19
-11
0
0
26
-36
0
0
0
-33
10
-8
0
0
0
-3
9
0
0
-49
-4
-6
0
0
5
12
2
0
0
-2
-4
-1
0
0
0
-17
0
0
0
-29
-18
3
0
0
-6
38
0
0
0
-2
-10
1
0
0
0
0
-4
0
0
18
-35
6
0
0
-13
-31
8
0
0
-5
-14
-24
0
0
-6
-38
0
-1
22
-56
33
0
0
0
9
24
-27
0
0
18
62
-63
0
0
96
-31
0
0
0
-54
52
22
0
0
-1
9
0
0
0
3
-1
0
0
0
3
4
0
0
0
16
37
4
0
0
-2
2
0
0
0
9
5
9
0
0
-4
6
2
0
0
-6
11
-3
0
0
0
0
0
0
0
0
-2
0
0
0
-5
6
0
0
0
-28
-7
0
0
0
-17
-14
0
0
0
16
-1
0
0
0
1
2
0
0
0
-5
0
0
0
0
0
8
0
0
0
0
-3
0
0
0
0
-3
0
0
0
-1
-2
0
0
0
-5
24
5
0
0
-1
-11
4
0
0
3
-3
0
0
0
-10
1
0
0
0
-24
5
0
0
0
0
-3
-1
0
0
0
1
0
51
1
37
-6
0
0
0
32
1
45
0
0
51
-113
-1
0
0
-56
64
32
0
0
71
10
-8
0
0
12
-1
0
0
0
10
20
0
0
0
-8
3
0
0
0
15
-18
0
0
0
20
18
-1
0
0
20
13
1
0
0
7
0
-3
0
0
-4
10
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
5
0
0
0
33
48
0
0
0
-38
2
-3
0
0
-6
-4
0
0
0
1
5
-8
0
0
7
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
-16
49
-4
0
0
41
-8
-2
0
0
-2
0
2
0
0
0
1
-1
0
0
12
9
0
0
0
-2
14
0
0
0
1
-8
0
18
10
-11
3
0
0
0
-6
94
4
0
0
23
-63
-21
0
0
-42
15
-1
0
0
12
-6
-23
0
0
10
-3
1
0
0
-16
0
0
0
0
0
2
0
0
0
9
17
-2
0
0
2
1
0
0
0
-2
5
2
0
0
0
-2
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
5
0
0
0
4
1
0
0
0
-5
-1
0
0
0
0
-5
0
0
0
0
1
0
0
0
-3
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
-2
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
-1
0
10
-11
-7
16
0
0
0
36
-73
0
0
0
21
119
1
0
0
-27
-15
3
0
0
19
11
5
0
0
-16
2
0
0
0
-2
3
-6
0
0
0
-1
0
0
0
-8
21
3
0
0
-20
50
0
0
0
7
-1
0
0
0
1
0
0
0
0
4
3
-1
0
0
-1
5
1
0
0
4
-1
0
0
0
0
-2
0
0
0
-12
-2
0
0
0
-1
29
-2
0
0
21
11
-7
0
0
-5
-4
0
0
0
13
-4
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
2
0
0
0
-2
-20
0
0
0
0
-4
-1
0
0
-1
-2
2
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
-1
0
5
-24
-6
-2
-1
0
0
17
30
21
0
0
19
102
-23
0
0
-52
11
-23
0
0
119
12
-8
0
0
-47
-16
0
0
0
3
-15
0
0
0
-11
-3
0
0
0
45
-33
0
0
0
7
-6
-4
0
0
5
5
7
0
0
-8
-15
-2
0
0
8
-50
9
0
0
4
0
0
0
0
0
0
0
0
0
4
2
-2
0
0
7
4
0
0
0
-12
4
0
0
0
16
-1
-1
0
0
4
0
0
0
0
7
1
0
0
0
-1
-2
0
0
0
0
6
0
0
0
3
-3
0
0
0
-7
3
-7
0
0
-6
28
3
0
0
11
-14
0
0
0
-1
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
12
2
0
0
-3
1
0
37
-49
51
-1
-3
0
0
2
121
27
0
0
41
-15
-14
0
0
-5
-12
5
0
0
-64
-40
-4
0
0
7
15
0
0
0
25
1
1
0
0
5
2
0
0
0
57
-33
0
0
0
57
-3
-1
0
0
-11
2
-3
0
0
-5
-4
-1
0
0
43
5
0
0
0
-1
0
0
0
0
-3
1
0
0
0
-5
0
1
0
0
-19
6
0
0
0
-7
11
-5
0
0
-14
18
-4
0
0
4
-2
0
0
0
0
0
0
0
0
-17
1
0
0
0
1
7
0
0
0
0
2
0
0
0
7
32
-2
0
0
-16
5
-1
0
0
-11
2
1
0
0
0
2
0
0
0
3
0
-1
0
0
-7
10
-1
0
0
-2
-2
-2
0
0
0
7
0
31
-42
50
1
1
0
0
36
26
4
0
0
11
-21
-7
0
0
-68
-8
-2
0
0
10
9
-7
0
0
-28
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
3
7
-3
0
0
2
11
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
1
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
4
0
0
0
0
-3
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
2
0
0
0
0
0
-3
0
0
0
0
0
0
-6
3
2
0
0
0
0
-5
1
5
0
0
-16
-13
-51
0
0
23
-47
-1
0
0
18
10
4
0
0
1
6
0
0
0
6
3
0
0
0
0
2
0
0
0
4
-7
1
0
0
-1
-5
0
0
0
2
1
0
0
0
4
2
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
3
0
0
0
0
4
0
0
0
-5
0
0
0
0
-1
-1
0
0
0
-5
2
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
-3
0
-26
19
-4
0
0
0
0
17
53
8
0
0
59
19
31
0
0
31
43
2
0
0
5
-26
-5
0
0
1
4
0
0
0
-2
-1
0
0
0
2
0
0
0
0
-12
3
0
0
0
-1
0
0
0
0
3
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
-7
0
0
0
2
-9
0
0
0
-3
-6
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
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
1
0
0
0
0
0
0
0
0
0
0
0
-1
28
3
-1
0
0
0
-35
-37
-7
0
0
-13
-15
18
0
0
-1
8
-2
0
0
-62
6
-1
0
0
-5
2
0
0
0
-3
0
0
0
0
-1
-3
0
0
0
8
-9
0
0
0
1
0
-2
0
0
-7
-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
1
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
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
-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
-1
0
0
0
0
0
0
-42
44
0
0
0
0
0
-12
0
-17
0
0
72
-1
33
0
0
9
0
-3
0
0
23
10
-1
0
0
-1
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
-12
0
0
0
0
2
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
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
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
-33
-20
-10
0
0
0
0
-31
-15
-27
0
0
70
-6
-18
0
0
3
-37
-6
0
0
23
-1
17
0
0
0
-4
0
0
0
5
-2
0
0
0
0
0
0
0
0
2
1
0
0
0
3
2
0
0
0
-5
-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
-7
0
0
0
9
-22
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
-3
-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
-10
0
0
0
0
0
0
-32
63
2
4
0
0
0
40
18
3
0
0
-18
73
70
0
0
29
-23
-3
0
0
-53
41
11
0
0
4
3
0
0
0
0
-27
-11
0
0
3
0
0
0
0
33
-21
0
0
0
-14
7
0
0
0
-39
4
0
0
0
1
8
-1
0
0
-22
0
1
0
0
17
16
0
0
0
8
-6
1
0
0
18
9
4
0
0
-33
-13
1
0
0
8
0
4
0
0
6
3
6
0
0
-4
-18
26
0
0
-20
-1
-38
0
0
-18
-10
20
0
0
-21
-17
-34
0
0
2
44
24
0
0
-143
-7
-15
0
0
-147
-50
59
0
0
-5
-13
-35
0
0
-4
-79
-48
0
0
2
18
-155
0
0
-41
-35
10
0
0
19
-60
-45
0
0
10
-57
18
4
2
-78
-53
-44
0
0
30
104
-29
0
0
50
7
-56
0
0
3
-7
-4
0
0
120
-11
3
0
0
16
6
0
0
0
4
-8
4
0
0
1
1
0
0
0
-50
-5
-1
0
0
-14
13
0
0
0
-1
-7
0
0
0
-11
4
0
0
0
1
11
3
0
0
-20
-4
1
0
0
0
-32
0
0
0
1
-12
0
0
0
20
23
2
0
0
-5
-4
-12
0
0
12
14
-4
0
0
-24
-6
41
0
0
0
-15
0
0
0
-24
35
-35
0
0
-35
-85
47
0
0
-157
-60
64
0
0
-37
11
-103
0
0
69
-23
-132
0
0
-9
-8
92
0
0
-3
67
-27
0
0
58
-41
13
0
0
-23
18
-10
0
0
-43
61
43
0
0
-115
40
-112
-8
-4
-22
-20
-12
0
0
41
7
-10
0
0
-39
33
23
0
0
9
-1
0
0
0
-8
-5
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
2
5
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-2
0
0
0
26
10
0
0
0
-4
-9
-31
0
0
46
38
11
0
0
64
-66
-46
0
0
114
-3
140
0
0
-124
14
46
0
0
13
89
39
0
0
17
88
-47
0
0
-125
-16
45
0
0
-35
-68
51
0
0
26
-103
72
0
0
-30
48
7
0
0
-30
-2
42
0
0
3
66
-20
0
0
-21
31
-24
0
0
20
-27
-64
9
0
94
-12
10
0
0
-29
-32
-1
0
0
35
9
8
0
0
6
-5
-2
0
0
-10
22
-9
0
0
-1
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
14
3
-2
0
0
3
13
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
-34
4
0
0
0
-20
8
-61
0
0
-25
-2
-8
0
0
48
68
-58
0
0
-5
16
72
0
0
4
-63
14
0
0
-4
-79
39
0
0
21
45
-44
0
0
44
48
80
0
0
-79
-124
33
0
0
48
-9
-19
0
0
30
10
37
0
0
-29
56
1
0
0
16
-24
-2
0
0
-5
26
16
0
0
13
-49
58
-7
-10
-32
-48
-4
0
0
-21
37
0
0
0
45
-20
14
0
0
-14
-12
0
0
0
6
-10
-3
0
0
-3
0
-3
0
0
4
0
9
0
0
0
0
0
0
0
-7
8
-2
0
0
-1
-6
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
-1
0
0
0
0
-16
18
-20
0
0
-26
74
49
0
0
-67
21
57
0
0
-36
52
12
0
0
36
-100
-4
0
0
10
-7
-29
0
0
-14
2
-125
0
0
1
171
51
0
0
69
1
17
0
0
-34
9
1
0
0
33
-3
25
0
0
28
-51
-14
0
0
1
42
18
0
0
0
23
6
0
0
20
1
25
1
-18
25
16
8
0
0
-22
-39
0
0
0
-3
-48
2
0
0
-4
3
0
0
0
-44
0
4
0
0
3
-3
0
0
0
-1
1
-1
0
0
0
0
0
0
0
3
0
0
0
0
2
8
-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
-3
0
-1
0
0
14
-6
-62
0
0
-51
-92
112
0
0
-10
-95
-7
0
0
23
-32
15
0
0
59
-27
10
0
0
22
39
24
0
0
-1
6
0
0
0
10
63
-15
0
0
29
95
20
0
0
4
1
-1
0
0
-1
77
14
0
0
-4
2
-1
0
0
0
12
-1
0
0
0
9
0
0
0
10
16
1
-4
-32
74
24
0
0
0
12
13
1
0
0
-38
-5
-1
0
0
8
0
0
0
0
2
1
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
23
-24
29
0
0
-39
18
-124
0
0
-5
60
-31
0
0
69
-42
-3
0
0
-21
33
9
0
0
0
25
8
0
0
-1
-23
0
0
0
-3
32
2
0
0
-66
39
41
0
0
-1
-1
0
0
0
0
31
-7
0
0
2
-7
0
0
0
0
-18
-9
0
0
0
3
0
0
0
0
14
1
26
-11
15
-29
0
0
0
10
-26
0
0
0
1
2
-1
0
0
1
8
3
0
0
3
11
-1
0
0
-1
-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
-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
-13
-12
-20
0
0
4
-87
-53
0
0
26
60
-61
0
0
-10
10
14
0
0
4
20
51
0
0
-8
10
-22
0
0
8
4
-1
0
0
19
-48
0
0
0
-37
63
4
0
0
0
-3
2
0
0
14
32
-1
0
0
0
-1
0
0
0
0
-43
-1
0
0
0
-4
-2
0
0
0
21
2
-20
4
-2
8
0
0
0
11
-73
8
0
0
-60
-23
33
0
0
4
-2
0
0
0
-26
11
-1
0
0
-9
-9
0
0
0
-4
11
7
0
0
0
-1
0
0
0
-28
4
0
0
0
21
-5
0
0
0
-5
7
0
0
0
7
2
0
0
0
4
-1
1
0
0
0
2
0
0
0
8
0
0
0
0
-4
-4
0
0
0
47
2
0
0
0
21
-35
-13
0
0
-39
51
75
0
0
24
-57
76
0
0
88
-34
-25
0
0
-53
87
7
0
0
-28
-11
6
0
0
168
2
-58
0
0
63
5
-20
0
0
3
1
-2
0
0
-1
-11
0
0
0
-8
26
37
0
0
-48
17
-13
0
0
-18
8
46
0
0
-14
56
73
0
0
-89
23
-30
4
7
-80
-15
-63
0
0
18
20
-26
0
0
9
4
-2
0
0
11
3
2
0
0
50
-11
0
0
0
57
-29
0
0
0
-15
1
-6
0
0
-12
0
0
0
0
-6
2
0
0
0
-3
-6
3
0
0
-6
-2
0
0
0
0
-7
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
-1
3
0
0
9
-12
-4
0
0
-40
-52
16
0
0
10
89
42
0
0
13
6
67
0
0
-31
45
-15
0
0
12
17
-14
0
0
39
-10
8
0
0
24
2
0
0
0
-43
-13
6
0
0
5
8
-13
0
0
11
-17
-12
0
0
0
0
54
0
0
-10
57
-78
0
0
37
74
80
0
0
40
-51
-78
0
0
78
42
108
-1
-12
-87
266
63
0
0
-8
22
0
0
0
9
-12
0
0
0
-3
2
0
0
0
-19
-1
0
0
0
0
-1
0
0
0
1
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
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
-40
-93
39
0
0
-2
-10
20
0
0
3
4
-60
0
0
70
65
2
0
0
27
-58
6
0
0
10
-14
-1
0
0
0
-16
1
0
0
11
19
22
0
0
-37
17
89
0
0
-18
50
115
0
0
160
-75
-27
0
0
27
-34
-25
0
0
44
-142
-91
0
0
-39
9
14
0
0
-9
-79
13
4
2
59
45
-70
0
0
6
-55
-8
0
0
-34
-10
-3
0
0
11
4
-2
0
0
15
3
5
0
0
1
-3
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
-1
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
-52
36
-75
0
0
50
28
24
0
0
12
-6
27
0
0
-52
-10
-1
0
0
15
15
0
0
0
0
0
0
0
0
0
12
1
0
0
1
2
0
0
0
-20
77
-64
0
0
-22
47
127
0
0
-83
58
29
0
0
12
-42
-51
0
0
-95
12
73
0
0
57
-38
25
0
0
1
45
-60
-26
55
63
-63
-18
0
0
-33
28
5
0
0
-19
2
-4
0
0
-32
7
2
0
0
-17
-23
-10
0
0
16
3
1
0
0
-10
0
5
0
0
0
-1
0
0
0
38
-3
0
0
0
21
7
-1
0
0
0
-4
-3
0
0
-1
0
0
0
0
-5
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
-106
-24
9
0
0
-72
36
-49
0
0
7
-27
-13
0
0
113
-30
-72
0
0
-6
12
11
0
0
0
15
5
0
0
1
29
3
0
0
0
-14
2
0
0
1
15
31
0
0
-21
-33
-87
0
0
-57
57
-49
0
0
22
-78
43
0
0
22
42
-6
0
0
35
19
0
0
0
-50
-42
-33
31
-38
19
-57
60
0
0
-7
-10
6
0
0
35
-25
-12
0
0
-7
25
4
0
0
-4
22
-21
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
-8
0
0
0
0
4
0
-2
0
0
-6
0
0
0
0
0
1
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
-37
57
41
0
0
-78
-3
-7
0
0
-27
-19
-22
0
0
2
-37
4
0
0
-10
-5
18
0
0
-1
2
0
0
0
1
-3
-2
0
0
1
-9
0
0
0
-55
55
45
0
0
-2
71
-56
0
0
-17
-100
77
0
0
26
-53
-31
0
0
29
40
-19
0
0
6
-7
6
0
0
0
2
10
-16
-21
8
-7
5
0
0
26
11
-14
0
0
18
23
-4
0
0
-4
0
-2
0
0
15
1
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
133
-50
81
0
0
43
2
-27
0
0
-73
18
-5
0
0
11
-8
9
0
0
0
-7
2
0
0
0
6
0
0
0
8
-2
0
0
0
1
-29
-94
0
0
100
4
-20
0
0
3
98
-60
0
0
-45
-94
31
0
0
-39
5
28
0
0
77
-5
-9
0
0
0
60
-15
4
-5
-10
41
28
0
0
-7
23
14
0
0
-66
9
12
0
0
29
-19
-6
0
0
-11
-16
-1
0
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
-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
-4
-2
0
0
0
-43
6
-32
0
0
112
-96
57
0
0
-61
-32
69
0
0
52
71
6
0
0
1
-44
-17
0
0
0
0
0
0
0
0
4
0
0
0
-1
9
0
0
0
3
34
-78
0
0
-34
-34
9
0
0
133
-203
-5
0
0
27
17
21
0
0
31
31
13
0
0
0
0
3
0
0
0
17
-7
-29
7
3
-16
-2
0
0
0
-4
11
0
0
28
-1
-28
0
0
-65
28
9
0
0
89
32
-18
0
0
3
-5
6
0
0
77
41
-32
0
0
-64
31
6
0
0
-45
27
71
0
0
-45
-10
3
0
0
23
39
12
0
0
5
7
7
0
0
-10
32
1
0
0
2
-53
11
0
0
-20
-38
-32
0
0
-5
46
-9
0
0
75
14
11
0
0
35
8
30
0
0
-40
-18
14
0
0
-1
14
-8
0
0
-45
-3
3
0
0
-53
28
27
0
0
55
24
-14
0
0
-6
-5
4
0
0
-11
1
8
0
0
-1
-43
-7
0
0
-4
9
18
0
0
-20
65
-26
0
0
38
30
28
0
0
39
-69
12
0
0
5
-19
-37
0
0
-1
16
11
2
20
-61
-70
-1
0
0
-7
46
5
0
0
25
13
-27
0
0
-54
40
72
0
0
7
-25
8
0
0
-18
-3
32
0
0
9
-82
-45
0
0
21
-41
-11
0
0
22
-7
13
0
0
38
27
14
0
0
-27
52
11
0
0
-27
-53
6
0
0
-128
58
32
0
0
-44
64
-1
0
0
31
22
10
0
0
-34
-1
19
0
0
-23
-16
-21
0
0
-43
112
-10
0
0
-18
44
-50
0
0
4
12
3
0
0
-8
-4
-3
0
0
10
-36
-20
0
0
1
-85
-1
0
0
3
-32
3
0
0
-25
-38
12
0
0
65
-8
15
0
0
-2
52
14
0
0
-20
-30
-18
0
0
-8
-14
-18
0
0
5
-3
12
0
0
0
40
10
0
0
1
75
-6
9
9
-52
0
-18
0
0
-7
39
4
0
0
-18
-9
-27
0
0
104
-24
-17
0
0
26
112
4
0
0
-27
-27
-6
0
0
40
5
-19
0
0
19
-8
2
0
0
-32
-17
-7
0
0
-9
-34
1
0
0
-31
-68
1
0
0
-18
82
1
0
0
34
15
-4
0
0
0
8
-1
0
0
0
-5
0
0
0
4
5
-16
0
0
-41
-24
-6
0
0
8
26
1
0
0
7
3
0
0
0
5
-10
0
0
0
-6
1
0
0
0
-20
3
-2
0
0
-4
-2
1
0
0
0
0
7
0
0
8
-4
1
0
0
6
74
18
0
0
41
-32
5
0
0
-1
2
2
0
0
-13
-73
0
0
0
2
-11
1
0
0
2
64
2
0
0
10
24
-7
37
-8
24
-57
1
0
0
-22
16
20
0
0
-13
41
39
0
0
104
-61
-43
0
0
38
8
-49
0
0
31
46
3
0
0
-19
134
22
0
0
-14
26
1
0
0
28
12
9
0
0
-26
54
-11
0
0
77
32
0
0
0
22
4
-12
0
0
-2
-21
-8
0
0
2
-24
2
0
0
-1
-4
0
0
0
-38
-7
0
0
0
48
-42
1
0
0
-1
-15
2
0
0
-27
14
0
0
0
9
-4
1
0
0
-4
-8
1
0
0
40
-1
5
0
0
-10
0
1
0
0
8
-40
0
0
0
11
-9
1
0
0
53
-59
-2
0
0
15
-13
2
0
0
5
-9
-3
0
0
-7
-14
2
0
0
40
8
0
0
0
-21
5
1
0
0
-37
-91
6
0
3
-123
-2
5
0
0
9
10
36
0
0
-30
4
34
0
0
91
-16
18
0
0
-23
10
-63
0
0
2
11
1
0
0
37
-3
23
0
0
-3
0
0
0
0
16
27
-1
0
0
10
0
0
0
0
15
2
-8
0
0
-10
1
0
0
0
7
0
6
0
0
-1
0
-6
0
0
0
-1
0
0
0
0
-3
0
0
0
-8
2
0
0
0
1
7
0
0
0
0
-1
0
0
0
5
-3
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-8
1
0
0
0
-2
3
1
0
0
14
-3
0
0
0
3
0
0
0
0
1
2
0
0
0
-1
0
0
0
0
0
-2
-6
0
0
-1
0
0
-13
15
5
1
0
0
0
14
10
-12
0
0
22
-36
49
0
0
-29
18
-32
0
0
-61
-14
-3
0
0
-7
2
0
0
0
11
2
7
0
0
3
-4
0
0
0
-9
-15
-5
0
0
23
10
0
0
0
-10
1
-1
0
0
-3
-1
1
0
0
-1
8
-2
0
0
0
0
0
0
0
0
1
1
0
0
8
15
0
0
0
14
1
0
0
0
20
2
-1
0
0
3
0
4
0
0
-1
2
0
0
0
3
11
0
0
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
-27
9
0
0
0
-3
-1
-1
0
0
0
4
0
0
0
0
0
-1
0
0
27
3
0
0
0
0
-1
-1
0
0
2
3
1
7
-7
-37
-11
0
0
0
-15
3
25
0
0
-22
20
24
0
0
-16
2
2
0
0
47
28
-54
0
0
4
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
18
-8
0
0
0
-4
5
0
0
0
-1
2
-1
0
0
2
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
-2
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
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
3
1
0
0
0
3
2
0
0
0
0
1
0
0
0
0
-1
0
12
-1
3
-1
0
0
0
-10
-61
47
0
0
-89
74
35
0
0
18
70
13
0
0
48
-10
0
0
0
-31
-10
-3
0
0
11
4
5
0
0
0
7
0
0
0
50
0
-16
0
0
16
10
0
0
0
0
0
4
0
0
4
-21
0
0
0
9
1
0
0
0
0
6
0
0
0
0
2
0
0
0
4
0
0
0
0
-77
0
-3
0
0
13
-17
-4
0
0
-12
-1
0
0
0
-7
-10
0
0
0
5
-1
0
0
0
3
2
0
0
0
0
7
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
-4
-29
1
0
0
6
1
0
0
0
0
-5
0
0
0
0
5
0
0
0
0
-17
-1
0
0
-5
-1
2
0
0
1
7
9
-17
14
-35
9
2
0
0
61
23
9
0
0
-90
51
16
0
0
37
40
-1
0
0
11
15
4
0
0
-8
1
0
0
0
14
-5
2
0
0
2
2
0
0
0
31
2
-3
0
0
20
2
0
0
0
9
1
0
0
0
7
-1
-1
0
0
14
-5
7
0
0
-3
0
0
0
0
0
4
0
0
0
0
2
0
0
0
28
-1
0
0
0
-10
-5
2
0
0
17
1
-3
0
0
1
2
0
0
0
16
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
2
-3
0
0
0
-8
11
0
0
0
15
4
0
0
0
3
6
1
0
0
-2
0
1
0
0
-2
0
0
0
0
-4
-1
-2
0
0
0
1
-1
0
0
-1
-2
0
-7
-26
-8
2
1
0
0
-2
4
-1
0
0
27
-17
35
0
0
29
0
4
0
0
-83
53
3
0
0
-8
-3
0
0
0
-1
5
0
0
0
-3
-4
0
0
0
-2
-1
0
0
0
-25
45
0
0
0
-21
5
1
0
0
-18
-2
0
0
0
4
-1
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-2
2
0
0
0
-24
2
0
0
0
0
-8
1
0
0
-7
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
3
18
0
0
0
-2
10
0
0
0
0
0
1
0
0
5
1
0
0
0
-1
0
-1
0
0
0
-1
0
0
0
-6
-1
-1
0
0
0
-1
0
-42
-7
68
15
0
0
0
-23
17
16
0
0
49
39
-18
0
0
0
-13
5
0
0
-32
-56
-15
0
0
18
-2
0
0
0
-4
0
-1
0
0
2
0
0
0
0
37
5
0
0
0
1
0
-6
0
0
4
-3
0
0
0
-1
3
-1
0
0
4
-2
1
0
0
0
2
0
0
0
0
1
0
0
0
0
-1
0
0
0
-17
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
0
0
0
0
0
0
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
5
0
0
0
0
1
-1
0
0
0
0
0
-19
0
-9
0
0
0
0
-36
27
2
0
0
35
-43
7
0
0
-22
19
32
0
0
3
-58
-67
0
0
-4
9
0
0
0
9
-2
0
0
0
0
3
0
0
0
-65
-24
0
0
0
38
-14
0
0
0
32
14
-1
0
0
-1
1
0
0
0
8
-4
3
0
0
0
1
0
0
0
0
-1
0
0
0
1
0
0
0
0
-32
4
0
0
0
9
-2
0
0
0
4
2
1
0
0
1
0
0
0
0
3
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
-7
-4
0
0
0
-1
0
0
0
0
0
-1
0
0
0
4
-2
0
0
0
1
-3
0
0
0
0
0
0
0
0
1
5
0
-43
11
8
-6
0
0
0
-26
-42
-5
0
0
-5
-38
-3
0
0
11
40
0
0
0
-46
-10
-1
0
0
-4
0
-2
0
0
-2
0
3
0
0
0
0
0
0
0
-20
6
0
0
0
1
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
-2
2
0
0
0
8
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-3
0
0
0
2
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
-3
0
0
0
-1
0
0
-31
49
-1
-1
0
0
0
74
31
53
0
0
-67
23
22
0
0
31
-31
-13
0
0
47
7
7
0
0
-13
-8
1
0
0
15
-3
0
0
0
-6
0
0
0
0
-2
-2
0
0
0
-10
0
0
0
0
-2
2
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
-2
1
0
0
0
-1
-11
0
0
0
-1
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
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
2
0
-1
0
0
0
0
0
43
17
-8
-1
0
0
0
48
26
22
0
0
-33
-22
-22
0
0
20
-25
-1
0
0
28
-42
10
0
0
-14
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
-3
2
0
0
0
-18
-3
0
0
0
0
1
-3
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
3
0
0
1
1
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
2
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
5
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
-1
0
5
40
1
0
0
0
0
-19
-18
-22
0
0
12
62
-10
0
0
22
34
19
0
0
73
-5
-3
0
0
32
-4
0
0
0
-2
-4
0
0
0
-3
0
0
0
0
-1
2
0
0
0
11
31
0
0
0
-6
5
0
0
0
1
5
0
0
0
0
3
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
0
0
0
14
-57
0
0
0
7
7
-2
0
0
0
8
0
0
0
-2
-1
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-1
12
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
3
-2
0
-1
64
29
-9
0
0
0
-98
33
-11
0
0
37
3
31
0
0
-12
-44
0
0
0
0
5
-17
0
0
-21
-7
0
0
0
6
-2
12
0
0
0
1
1
0
0
55
-1
-2
0
0
11
-14
0
0
0
22
13
-5
0
0
-3
10
2
0
0
-1
1
0
0
0
4
8
1
0
0
2
-2
6
0
0
2
12
0
0
0
44
8
-4
0
0
0
2
13
0
0
-4
-3
1
0
0
-1
-8
-2
0
0
11
-1
22
0
0
-53
-4
51
0
0
-19
-17
-24
0
0
-90
38
-53
0
0
-38
-14
-12
0
0
-16
-2
-12
0
0
-24
-83
69
0
0
7
25
-70
0
0
15
-38
-23
0
0
-15
87
-66
0
0
13
-16
-23
0
0
41
-7
-45
3
2
-102
11
-15
0
0
1
-73
50
0
0
20
-32
-9
0
0
5
-8
0
0
0
-25
44
0
0
0
15
13
0
0
0
-17
5
-6
0
0
-20
-3
0
0
0
10
42
2
0
0
12
-4
-1
0
0
25
-13
0
0
0
2
-1
0
0
0
10
-6
1
0
0
-22
1
1
0
0
1
-3
0
0
0
41
-31
0
0
0
36
6
-4
0
0
11
-8
-1
0
0
14
-2
-32
0
0
-1
36
9
0
0
0
1
9
0
0
23
40
-100
0
0
-132
-35
28
0
0
-9
50
2
0
0
-59
80
-40
0
0
42
-51
-21
0
0
47
-23
-103
0
0
-34
-19
4
0
0
16
-18
24
0
0
-30
-71
22
0
0
-87
-20
47
0
0
-109
-56
-59
7
-1
78
-25
17
0
0
2
18
-21
0
0
55
23
16
0
0
-14
1
3
0
0
-11
5
0
0
0
2
-1
0
0
0
0
0
-1
0
0
0
1
0
0
0
10
-1
0
0
0
3
5
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
0
0
0
19
43
12
0
0
16
37
33
0
0
48
-13
-19
0
0
4
83
19
0
0
-6
-15
-45
0
0
-79
85
38
0
0
29
-40
60
0
0
-106
-25
38
0
0
-1
-89
91
0
0
11
14
17
0
0
-107
80
43
0
0
-11
-7
-67
0
0
-6
-5
52
0
0
-12
99
-31
0
0
4
-12
46
12
9
-77
-68
-127
0
0
64
39
0
0
0
-88
20
-3
0
0
15
-3
-4
0
0
10
-4
0
0
0
-11
-2
0
0
0
10
0
0
0
0
1
1
0
0
0
-34
-1
0
0
0
-2
4
-1
0
0
-6
0
0
0
0
1
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
23
-5
0
0
0
14
6
-8
0
0
18
-30
26
0
0
-21
49
-10
0
0
-23
-16
21
0
0
-44
15
-10
0
0
95
-6
-9
0
0
13
19
49
0
0
-106
-22
66
0
0
45
-38
-28
0
0
4
-34
44
0
0
89
-31
-2
0
0
79
32
10
0
0
-1
-96
56
0
0
0
29
22
0
0
48
12
15
-13
-11
117
88
-7
0
0
-21
29
-21
0
0
36
-39
-14
0
0
-10
-11
4
0
0
14
2
2
0
0
17
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-12
-4
2
0
0
-1
4
0
0
0
2
0
0
0
0
3
0
0
0
0
-12
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
10
0
2
0
0
4
36
78
0
0
26
15
9
0
0
-31
102
64
0
0
8
94
-68
0
0
59
-51
4
0
0
23
-47
37
0
0
-14
-38
6
0
0
13
124
-9
0
0
30
-30
2
0
0
28
10
15
0
0
42
-10
-23
0
0
-8
28
0
0
0
1
1
-27
0
0
-4
-96
-12
0
0
7
19
-3
-3
13
-11
1
-1
0
0
66
-38
-48
0
0
44
23
7
0
0
-1
47
-1
0
0
17
6
1
0
0
7
-4
2
0
0
-8
1
-1
0
0
1
0
0
0
0
-2
-3
0
0
0
2
2
0
0
0
0
0
0
0
0
-1
2
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-1
0
0
2
-7
-75
0
0
45
55
44
0
0
-58
11
85
0
0
-73
17
-21
0
0
-54
-3
31
0
0
-41
-7
-2
0
0
0
-101
-2
0
0
6
16
-10
0
0
2
38
20
0
0
-6
-26
1
0
0
32
66
25
0
0
5
-19
0
0
0
1
64
-5
0
0
0
-8
0
0
0
9
44
6
-51
10
79
-67
0
0
0
-22
43
1
0
0
54
-12
5
0
0
0
0
0
0
0
7
7
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
1
-42
9
0
0
32
-22
-9
0
0
-117
22
90
0
0
113
-134
52
0
0
25
1
16
0
0
-7
23
5
0
0
13
1
-1
0
0
58
33
4
0
0
-29
8
23
0
0
-15
49
23
0
0
19
1
-32
0
0
-1
0
-2
0
0
0
-14
-1
0
0
0
8
-16
0
0
1
-9
13
-24
6
-7
21
-4
0
0
-2
5
-15
0
0
-33
8
6
0
0
15
-3
0
0
0
-11
10
-5
0
0
7
-8
0
0
0
-2
0
1
0
0
0
-4
0
0
0
32
1
0
0
0
0
6
-1
0
0
-4
0
5
0
0
0
1
0
0
0
5
0
0
0
0
1
1
0
0
0
2
0
0
0
0
0
1
0
0
0
5
4
0
0
0
-5
-21
6
0
0
67
-96
-112
0
0
13
9
42
0
0
-1
-80
47
0
0
-55
30
3
0
0
15
-22
-1
0
0
5
17
-14
0
0
-13
-19
5
0
0
32
-17
42
0
0
-15
48
1
0
0
-50
52
6
0
0
15
-43
0
0
0
-21
28
-28
0
0
0
-16
4
0
0
-11
49
-25
37
-4
-12
31
2
0
0
3
-15
47
0
0
15
35
-12
0
0
21
2
-37
0
0
-39
-9
8
0
0
3
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
-12
7
0
0
0
5
-7
0
0
0
0
-3
0
0
0
-2
-1
1
0
0
1
-6
0
0
0
0
0
-2
0
0
0
4
0
0
0
-24
-6
0
0
0
-15
-20
40
0
0
51
13
33
0
0
38
-23
51
0
0
66
-83
88
0
0
-37
-3
58
0
0
70
-50
36
0
0
146
24
-130
0
0
46
-42
-48
0
0
1
2
1
0
0
2
-12
13
0
0
-3
-10
-50
0
0
-5
1
-58
0
0
12
29
15
0
0
1
21
-67
0
0
-55
54
23
6
10
16
-26
-57
0
0
104
37
-28
0
0
30
-4
-14
0
0
-52
7
28
0
0
-9
13
10
0
0
6
0
2
0
0
-8
-9
8
0
0
0
0
0
0
0
-33
13
0
0
0
-2
9
0
0
0
-14
1
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
-2
-3
0
0
0
30
63
-106
0
0
-70
13
84
0
0
53
-1
32
0
0
15
32
0
0
0
43
-34
25
0
0
9
55
5
0
0
15
12
-5
0
0
-69
67
14
0
0
0
31
-3
0
0
-10
-32
3
0
0
-66
-26
11
0
0
57
-8
80
0
0
25
-65
47
0
0
-48
-38
138
0
0
-34
96
-49
1
-18
34
9
-39
0
0
-42
-54
11
0
0
52
-5
9
0
0
-10
2
1
0
0
8
1
-11
0
0
-14
0
0
0
0
10
1
0
0
0
0
-2
0
0
0
-15
0
0
0
0
4
-11
0
0
0
0
2
-1
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
6
1
0
0
0
-3
17
-48
0
0
11
-4
12
0
0
13
15
39
0
0
32
5
-72
0
0
-47
-31
91
0
0
-4
3
12
0
0
-1
-3
-33
0
0
8
12
21
0
0
2
-15
-26
0
0
-72
27
117
0
0
36
-19
10
0
0
-27
37
2
0
0
11
0
3
0
0
-37
73
59
0
0
-69
92
-102
-40
10
-46
50
25
0
0
12
20
-3
0
0
-13
0
2
0
0
-25
4
-11
0
0
44
-10
6
0
0
0
1
0
0
0
-1
4
0
0
0
2
0
0
0
0
-13
3
0
0
0
-1
-2
0
0
0
1
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
-2
0
0
0
0
-61
92
-52
0
0
-31
35
-32
0
0
60
-2
4
0
0
-106
-3
21
0
0
13
21
-7
0
0
0
0
-1
0
0
0
-2
0
0
0
19
5
-4
0
0
21
-26
-6
0
0
-19
-81
8
0
0
84
-36
8
0
0
-19
22
-56
0
0
44
19
13
0
0
-8
-38
-18
0
0
12
36
-49
5
-29
-17
-24
24
0
0
26
34
7
0
0
-40
2
21
0
0
16
0
-14
0
0
67
6
-19
0
0
5
-4
-3
0
0
0
-2
2
0
0
0
-1
0
0
0
10
-10
1
0
0
4
7
2
0
0
-1
1
14
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
0
-30
-34
-22
0
0
95
7
-53
0
0
-80
-84
83
0
0
135
16
-9
0
0
-59
-11
-1
0
0
11
-17
7
0
0
13
23
-5
0
0
37
94
-7
0
0
-18
-3
-51
0
0
-97
55
132
0
0
-49
57
25
0
0
-33
53
-86
0
0
84
39
-46
0
0
99
22
42
0
0
-50
-174
27
6
4
72
8
-47
0
0
-18
-22
9
0
0
-22
-49
-7
0
0
43
1
1
0
0
67
-13
6
0
0
24
8
1
0
0
3
5
3
0
0
1
0
0
0
0
25
4
-1
0
0
5
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
41
5
0
0
0
8
-60
54
0
0
50
39
-75
0
0
-94
20
-38
0
0
-46
38
-10
0
0
-12
68
2
0
0
-1
-20
-10
0
0
0
-7
-2
0
0
3
15
1
0
0
23
-29
-19
0
0
-9
-75
48
0
0
0
100
-24
0
0
-79
73
7
0
0
-99
-61
-16
0
0
61
50
17
0
0
3
14
-10
-15
-9
0
11
20
0
0
11
0
1
0
0
43
-18
-32
0
0
-16
11
-1
0
0
-45
7
2
0
0
8
0
0
0
0
-1
0
1
0
0
1
0
0
0
0
4
4
0
0
0
0
-9
0
0
0
2
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
-1
0
0
0
4
2
0
0
0
3
-32
-62
0
0
60
71
98
0
0
-66
-20
-25
0
0
0
-45
-50
0
0
49
-16
4
0
0
4
23
-21
0
0
0
20
-3
0
0
15
-45
2
0
0
-32
-36
-18
0
0
-28
7
14
0
0
39
-57
53
0
0
-88
108
31
0
0
49
45
44
0
0
-10
-1
-37
0
0
11
-84
-1
6
5
21
108
-10
0
0
25
51
13
0
0
-29
-17
-55
0
0
16
13
-13
0
0
-40
18
3
0
0
-14
-9
0
0
0
3
-3
4
0
0
0
0
0
0
0
-51
1
2
0
0
-10
-2
0
0
0
-7
0
-3
0
0
0
-3
0
0
0
4
-16
0
0
0
2
0
0
0
0
-7
0
0
0
0
0
-9
0
0
0
-7
-1
0
0
0
-60
-61
-65
0
0
-21
16
95
0
0
46
-65
-17
0
0
-68
51
-23
0
0
20
34
11
0
0
-2
12
-5
0
0
-2
-13
1
0
0
-6
2
5
0
0
-16
-73
28
0
0
-15
98
-80
0
0
-22
-52
146
0
0
64
69
63
0
0
-41
9
17
0
0
138
26
10
0
0
7
-41
48
3
-5
-36
41
-2
0
3
-17
3
10
0
-12
51
22
-33
0
126
54
-13
-37
0
4
20
8
32
0
14
5
5
-26
0
-17
38
-21
17
0
-27
78
6
22
0
22
36
8
38
0
56
24
42
-2
0
-23
-31
-52
-4
0
9
18
31
-1
0
9
-8
15
-8
0
-50
-48
20
10
0
0
61
40
-13
0
53
-18
34
-3
0
40
29
10
11
0
57
45
45
39
0
68
28
-6
33
0
0
28
25
0
0
13
-12
-9
-1
0
4
18
-53
5
0
-1
-5
-11
0
0
0
-6
4
0
0
9
15
5
0
0
-3
21
27
-21
0
1
-28
82
-10
0
0
19
28
0
0
0
-15
8
1
0
1
7
5
0
0
10
15
10
0
0
40
13
-17
0
2
126
-14
-7
-5
0
-7
4
-1
-17
0
8
30
-28
5
0
95
5
-4
-30
0
29
-4
-4
54
0
20
20
138
50
0
22
-28
71
-16
0
26
-22
47
13
0
-27
1
-68
48
0
-34
4
103
26
0
86
25
7
-10
0
-6
62
-1
-5
0
44
31
-9
9
0
-3
85
19
-9
0
4
-26
-59
36
0
-2
55
-56
-4
0
-12
-30
-23
3
0
6
9
10
0
0
-29
-72
69
11
0
-1
2
1
-2
0
-86
-7
13
4
0
-4
9
35
0
0
1
3
16
2
0
0
4
13
0
0
3
16
3
0
0
1
35
5
11
0
1
35
18
-11
0
0
11
-3
2
0
-4
-29
3
-7
0
32
21
-28
-3
0
5
24
27
-3
0
58
-37
-14
-2
8
-3
-79
27
0
0
10
52
37
37
0
52
13
-9
38
0
14
-57
67
13
0
50
-6
-8
-1
0
-5
32
-8
-15
0
0
6
-22
-31
0
-10
8
-30
2
0
20
-15
45
-5
0
-5
-73
-27
-1
0
19
-50
44
19
0
-1
5
-12
-2
0
-20
-2
-3
1
0
7
-56
5
0
0
9
20
7
2
0
3
32
-21
-1
0
6
-29
6
0
0
8
11
24
0
0
1
4
-1
0
0
-2
-7
13
0
0
8
12
-1
2
0
-1
20
-8
-3
0
0
-2
9
0
0
0
0
-7
0
0
3
-11
0
0
0
0
13
2
0
0
0
19
-5
0
0
0
0
-1
0
0
0
-2
-2
-2
0
-3
1
4
-4
0
-1
65
-6
2
0
7
3
7
0
-13
-50
-6
7
-1
0
9
51
-39
12
0
-9
19
-20
-1
0
13
11
-14
-17
0
11
-1
11
-28
0
23
73
-21
12
0
-36
27
-92
50
0
70
-13
14
-6
0
-64
-38
19
-26
0
67
46
11
-5
0
4
-14
70
8
0
17
70
-35
2
0
-85
-19
-25
-5
0
-2
15
26
0
0
6
-21
14
-11
0
6
-6
91
0
0
13
49
32
-16
0
12
-23
13
3
0
1
-10
28
0
0
-2
2
0
1
0
7
-25
-26
-1
0
1
0
5
0
0
0
7
-14
-1
0
0
10
-9
0
0
0
0
7
0
0
0
42
9
0
0
0
-1
-38
0
0
0
-54
-20
0
0
5
-4
-8
-8
0
-2
-9
4
1
0
7
27
14
2
0
11
14
21
0
1
-50
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
6
0
14
-32
-18
-2
0
-48
-18
-2
-1
0
63
60
-9
2
0
-44
40
24
-6
0
-54
-42
47
19
0
7
12
0
0
0
38
12
-44
-15
0
43
-55
-27
-8
0
19
-32
14
-12
0
-6
37
14
-7
0
0
-12
5
0
0
-20
-7
-8
0
0
0
1
-9
-1
0
0
1
-1
0
0
-2
-4
0
0
0
-30
12
-36
-28
0
-10
38
3
19
0
35
-41
22
-1
0
48
8
6
1
0
-8
-15
-9
2
0
-32
7
5
0
0
0
0
5
0
0
6
-9
-3
0
0
-8
33
-35
-3
0
-40
-7
4
10
0
-7
1
-8
0
0
65
0
0
1
0
-6
60
54
3
0
0
-5
3
0
0
4
-18
0
0
40
-31
2
-1
0
0
23
22
-67
18
0
-17
38
-20
-17
0
-17
52
27
13
0
62
-20
28
22
0
-5
5
48
-17
0
-43
15
44
3
0
6
30
-2
0
0
0
35
28
-4
0
15
-17
12
-9
0
-48
-13
29
12
0
-1
-13
-2
0
0
2
-2
1
1
0
0
-1
2
2
0
-4
0
25
1
0
0
4
-6
0
0
0
-15
1
0
0
-29
40
-12
-12
0
-51
-24
-13
8
0
-8
48
-2
0
0
-81
-13
10
-4
0
9
8
-1
0
0
2
-25
15
0
0
0
-9
-6
0
0
14
0
0
0
0
122
-18
-10
-7
0
13
37
37
7
0
-2
-9
-17
0
0
7
4
10
0
0
5
1
-27
-5
0
4
-12
3
3
0
-4
14
-13
0
-4
-18
6
-2
-1
0
-9
21
-32
0
0
-20
50
50
18
0
-3
59
2
4
0
29
25
-3
2
0
3
13
9
0
0
32
13
29
0
0
0
1
2
-2
0
1
-33
-3
-2
0
-2
-6
12
-1
0
13
-9
-3
-3
0
0
-8
-2
0
0
0
3
4
0
0
2
45
-6
0
0
-1
-5
-4
0
0
0
1
0
0
0
-23
-3
-4
0
0
16
0
5
0
0
5
4
-2
3
0
0
-2
0
0
0
1
-13
-16
-1
0
4
6
-6
0
0
-1
-1
-2
0
0
0
-2
-1
0
0
0
0
0
0
0
22
14
3
0
0
-12
1
-1
0
0
0
-5
0
0
0
7
0
0
0
0
0
-7
2
0
0
0
3
1
0
0
0
0
6
0
-40
-1
2
0
0
0
0
39
2
1
0
-3
-36
13
-21
0
-39
23
14
-2
0
-1
-48
-5
-7
0
-15
-4
2
3
0
-4
21
5
0
0
-1
1
-1
0
0
16
3
2
-1
0
0
-5
3
-6
0
-12
0
-2
1
0
1
12
0
0
0
-4
-5
3
1
0
22
-17
-6
0
0
1
3
3
0
0
1
-8
-1
0
0
-14
-2
0
0
0
16
-37
-21
0
0
7
11
-22
0
0
0
-5
0
5
0
-8
-5
0
0
0
-1
0
1
0
0
0
0
1
0
0
0
-4
0
0
0
-1
4
1
0
0
-9
5
9
1
0
-10
-3
-1
-2
0
-3
0
-1
0
0
-2
0
2
0
0
0
0
-2
0
0
-2
1
-3
0
0
0
-3
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-20
0
75
47
26
-50
0
-37
18
13
2
0
4
10
0
-28
0
63
-12
-3
0
0
11
11
-10
0
0
12
5
0
0
0
-2
60
0
-2
0
33
71
-4
-5
0
-25
12
-70
32
0
2
0
21
-1
0
29
-12
1
4
0
-3
-25
-13
4
0
-2
8
1
0
0
-10
12
-3
-1
0
-16
-45
2
-1
0
3
4
2
1
0
3
12
-11
-26
0
4
55
36
31
0
-6
-1
39
9
0
46
43
-7
21
0
104
90
-82
16
0
159
-50
-32
37
0
19
2
-13
-38
0
150
-76
-35
77
0
-27
-120
-73
62
0
54
17
0
73
0
70
4
-116
78
0
105
59
38
40
0
-2
66
62
-55
0
-17
20
57
-44
4
39
77
-8
-55
0
-6
-5
-12
52
0
-40
58
16
-8
0
2
7
51
5
0
50
9
25
-2
0
27
-21
14
0
0
-76
19
-4
2
0
7
0
4
0
0
11
12
-6
-8
0
8
5
-31
-7
0
0
-34
17
-12
0
-16
-43
27
-9
0
-4
2
-25
5
0
-15
1
8
2
0
3
5
16
-1
0
0
2
12
-2
0
-12
-63
6
-14
0
-3
13
-3
-10
0
5
5
-13
-13
0
4
-74
-3
14
0
3
24
17
-74
0
-98
-71
127
22
0
-60
-41
-7
76
0
53
-43
-27
29
0
7
39
-92
47
0
104
-74
63
-6
0
88
-24
51
-72
0
-17
37
9
-3
0
-78
1
116
-39
0
23
65
120
38
0
7
-56
74
-14
0
72
24
-19
16
-2
-65
16
-47
105
0
63
20
-2
-1
0
0
17
-1
-4
0
-9
7
3
-2
0
-2
4
1
0
0
-3
-7
-1
0
0
-14
5
3
0
0
-8
0
0
0
0
22
0
5
0
0
-17
-11
1
0
0
3
10
-1
0
0
0
-6
0
1
0
-14
-14
0
-3
0
-2
-1
7
0
0
0
-1
0
0
0
0
1
2
0
0
1
-1
3
0
0
0
0
1
-13
0
29
2
-10
46
0
47
-10
-28
4
0
43
-29
12
48
0
51
-4
36
-16
0
-13
-29
61
-7
0
32
-31
50
1
0
-20
-86
-11
-40
0
9
27
-56
50
0
76
81
60
-75
0
10
-42
17
0
0
-33
-24
-83
33
0
1
0
-26
-73
0
1
17
23
8
0
104
-107
-62
26
11
35
-90
-84
-2
0
-27
0
-2
7
0
17
-19
6
-1
0
1
5
5
1
0
14
11
6
-1
0
0
0
-1
0
0
-11
-3
4
0
0
0
-11
0
0
0
-8
-11
0
0
0
7
11
2
0
0
-27
11
-2
0
0
1
-1
1
0
0
20
18
1
0
0
-7
2
3
0
0
0
0
-1
2
0
0
-8
-2
-5
0
-1
-9
1
0
0
7
9
-37
-35
0
0
1
63
-10
0
-25
-45
-38
-3
0
-5
40
-71
43
0
14
90
8
-139
0
-56
22
30
-102
0
49
-55
-32
-83
0
-48
84
124
-9
0
-204
-39
21
-2
0
-51
0
18
66
0
-14
-28
-46
48
0
-88
-40
82
-2
0
16
-21
32
10
0
0
6
-58
15
0
-69
50
-27
44
4
-72
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
1
0
-3
-24
-38
10
0
-33
1
-2
0
0
-50
6
0
-1
0
63
76
-12
3
0
15
-1
1
0
0
-1
0
2
0
0
43
-26
1
0
0
7
23
-11
-22
0
-29
-6
23
0
0
-4
5
5
0
0
-5
-6
0
0
0
28
59
-29
-4
0
-8
-12
-1
0
0
20
-17
-2
0
0
-32
0
-6
4
0
53
-74
-22
40
0
-97
-14
28
19
0
27
93
57
-38
0
-23
-30
80
-62
0
137
-5
-11
46
0
-12
21
79
21
0
-84
63
-56
-8
0
-102
-3
-21
55
0
5
2
-1
-4
0
24
-6
2
17
0
-80
8
145
47
0
-53
-42
32
-10
0
88
47
24
33
0
-51
-52
65
75
0
-46
-40
16
-62
8
24
14
-15
-29
0
-53
-7
26
9
0
37
-38
-31
-16
0
4
33
-7
0
0
11
13
-7
0
0
-7
18
-17
0
0
2
10
2
2
0
0
0
0
0
0
21
11
2
0
0
20
-25
6
-9
0
-10
45
14
-5
0
1
14
0
0
0
12
11
-1
-1
0
-2
10
-14
0
0
1
10
4
-2
0
8
-8
-1
0
0
11
-6
-1
1
0
91
-113
-12
-37
0
105
-9
25
82
0
45
-29
69
12
0
-48
-5
114
6
0
-36
-26
92
47
0
-29
-80
-35
30
0
-88
5
-1
1
0
-99
-1
86
-32
0
12
-4
20
13
0
9
13
-2
-38
0
14
35
101
31
0
-24
-20
-61
67
0
-34
-235
-15
-5
0
-53
-36
2
-60
0
26
46
-55
-23
-7
-209
94
-27
-1
0
20
-21
1
0
0
-10
-2
-2
0
0
0
0
0
0
0
-5
4
1
0
0
0
6
0
0
0
1
2
1
0
0
0
-1
0
0
0
0
1
0
0
0
10
42
-3
0
0
0
-2
0
0
0
-11
-6
0
0
0
0
6
0
-1
0
1
-14
0
1
0
-4
0
0
0
0
0
-12
0
0
0
-3
-8
-1
0
0
29
35
3
18
0
118
-2
34
-24
0
-32
51
42
-2
0
-29
34
7
0
0
43
-49
17
-15
0
5
-44
37
29
0
38
-37
-33
-9
0
-16
-18
-43
0
0
-51
54
42
-23
0
-96
48
5
-23
0
-28
-69
-138
-4
0
-1
33
-4
16
0
44
89
-5
-8
0
23
-21
17
-49
0
84
-6
-77
27
20
58
-144
54
-15
0
7
1
2
0
0
-3
0
6
0
0
0
6
0
0
0
-12
-2
2
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
8
-1
0
0
2
1
0
0
0
0
-1
0
0
0
3
0
0
4
0
3
0
0
0
0
1
-1
0
0
0
-3
-6
0
0
0
-6
2
-12
0
0
6
35
-109
61
0
-59
-8
0
6
0
69
-2
-23
-1
0
1
-26
9
0
0
25
24
9
19
0
-20
-29
5
2
0
4
10
-10
-4
0
19
-16
-18
2
0
36
-20
50
-43
0
-169
17
55
107
0
56
-31
-69
2
0
-31
-22
-53
54
0
15
11
76
84
0
-5
-32
-44
-10
0
-36
-9
-28
-20
-30
-151
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
35
0
6
-2
-11
36
0
1
38
88
22
0
46
-46
1
86
0
77
69
-8
15
0
73
-53
0
-21
0
-38
16
-18
-11
0
21
43
-48
-16
0
-135
-12
72
23
0
103
-35
-11
0
0
5
-16
37
3
0
4
42
-26
-19
0
4
35
-9
-25
0
0
23
-54
-22
0
-6
4
31
-16
0
41
-20
-40
19
0
-7
-12
33
39
0
-8
12
30
33
0
-2
-47
6
-1
0
14
-37
-2
4
0
-4
36
55
2
0
3
6
16
0
0
0
-5
-9
0
0
8
3
5
1
0
-11
-31
-1
-30
0
6
54
33
-42
0
2
3
-19
1
0
0
-39
-7
-2
0
-1
40
-40
3
0
3
28
10
19
0
26
-62
5
6
4
58
12
-34
-22
0
14
9
-4
35
0
-2
-3
38
59
0
-43
-48
-36
-57
0
6
22
33
-74
0
11
-34
4
-2
0
-28
-16
48
33
0
-33
65
51
40
0
22
13
-64
23
0
1
82
-83
19
0
-6
2
8
3
0
-5
11
28
1
0
62
-15
-65
26
0
21
-67
37
-2
0
6
24
22
-15
0
25
-17
-20
-8
0
-92
-34
26
-13
0
60
5
38
-3
0
13
-55
-12
13
0
6
9
11
-9
0
31
-25
-26
-1
0
-22
31
-10
0
0
1
17
-14
-4
0
0
-4
-4
-8
0
4
9
1
2
0
1
19
-7
-4
0
12
17
-7
10
0
0
-20
47
0
0
-2
5
-4
-10
0
-6
-13
43
10
0
14
-16
26
-31
0
29
27
-15
-6
-1
19
-78
14
2
0
18
-24
10
-40
0
30
63
109
29
0
-3
6
-21
-9
0
18
19
-13
47
0
20
60
63
-2
0
1
28
14
-5
0
-3
-63
20
-4
0
17
52
-17
2
0
19
-86
18
-10
0
-1
-6
18
-4
0
-9
6
14
-19
0
-3
-1
1
-4
0
0
-12
-14
-2
0
-1
-1
-1
5
0
0
-5
-23
-3
0
-17
19
-3
0
0
8
-23
4
4
0
0
-3
-12
-1
0
1
12
-3
1
0
1
3
23
1
0
0
-4
2
0
0
0
0
2
-2
0
0
11
-4
0
0
2
0
0
0
0
-1
14
8
0
0
2
-5
5
0
0
0
-49
-7
0
0
-3
1
-3
0
0
-16
-5
-15
0
0
2
28
-5
0
0
-1
-29
1
0
4
-10
-26
1
-2
0
-2
-61
-26
5
0
43
-20
9
1
0
76
-6
51
-22
0
8
14
28
-14
0
5
67
14
-7
0
-21
10
-12
40
0
72
-13
-52
9
0
-41
40
39
-37
0
-4
26
17
-50
0
-4
5
3
4
0
-10
-47
-33
3
0
-89
34
-7
-4
0
0
27
-7
-1
0
0
-4
19
2
0
6
43
67
-2
0
-12
-13
-5
1
0
2
-1
9
3
0
-16
-8
-21
1
0
-1
10
3
0
0
2
-12
-8
12
0
0
-3
8
0
0
0
0
-3
0
0
1
0
2
0
0
-1
-3
0
0
0
0
9
-3
1
0
7
-3
1
-6
0
0
-4
14
1
0
9
-5
-11
-2
0
0
-6
-32
3
0
-1
24
-10
-2
0
4
-25
0
-2
-1
-56
2
2
6
0
-2
4
15
-12
0
40
30
-6
7
0
79
-43
45
-7
0
3
-5
-26
-7
0
-43
48
-5
-1
0
48
15
-2
-23
0
20
-20
3
1
0
19
-37
4
10
0
25
4
-23
1
0
-3
-9
3
17
0
0
2
-1
0
0
2
4
3
0
0
0
7
20
3
0
0
-5
-2
0
0
0
5
2
0
0
-8
11
0
0
0
-13
66
-10
2
0
-24
-6
5
0
0
-3
-10
13
1
0
-21
7
6
0
0
19
-14
1
0
0
0
3
-4
0
0
0
0
5
0
0
3
-2
0
0
0
-1
-28
5
0
0
-1
3
-5
0
0
0
1
0
0
0
0
-3
-1
0
0
-24
-4
-12
-1
0
0
-8
2
0
0
2
10
-1
0
51
-8
9
1
0
0
-19
19
-50
13
0
-1
2
17
-38
0
-8
-24
6
2
0
-41
27
-14
-26
0
-28
66
44
1
0
-12
45
-25
27
0
45
-25
-11
2
0
21
-23
2
14
0
50
34
3
-1
0
7
-3
5
-4
0
0
0
6
0
0
7
-2
0
0
0
-20
18
-4
0
0
24
0
17
0
0
0
1
2
-3
0
22
-8
4
0
0
-20
30
11
-5
0
14
6
11
2
0
0
4
-2
0
0
-2
-12
1
0
0
-4
5
-12
0
0
4
-8
0
0
0
0
0
4
0
0
0
4
-1
0
0
0
8
15
0
0
-3
-8
4
-1
0
0
1
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
3
2
0
0
7
25
0
0
18
0
-33
6
0
0
90
-39
24
-6
0
-9
-38
93
-107
0
18
25
34
-3
0
31
34
-45
-12
0
23
-3
14
0
0
-38
0
-45
-1
0
-6
18
-6
-2
0
-8
-16
5
4
0
1
0
3
-4
0
-18
0
0
0
0
-1
0
0
0
0
1
0
-1
2
0
0
-11
0
0
0
0
0
-7
0
0
0
-1
1
0
0
0
-2
1
0
0
0
5
5
0
0
-1
-3
-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
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
2
-1
0
0
-7
-2
0
0
10
-1
0
0
0
0
74
-26
48
-2
0
6
2
5
-1
0
-15
-28
-73
16
0
16
25
-13
23
0
17
44
-21
0
0
78
6
7
-11
0
38
-4
23
4
0
-48
22
22
9
0
-13
20
1
3
0
-31
15
3
3
0
0
-6
3
0
0
0
-2
-3
0
0
0
-1
-1
0
0
0
4
4
0
0
-1
2
2
-5
0
0
0
-2
0
0
-6
-21
2
-5
0
-13
3
8
-24
0
-4
13
2
0
0
-20
1
0
0
0
0
0
-20
1
0
2
-3
-3
0
0
0
0
5
0
0
0
1
2
0
0
-1
0
-2
0
0
0
-5
-3
0
0
0
0
-2
0
0
-1
-1
1
0
0
0
-1
19
0
0
0
1
0
0
0
-5
-1
0
0
5
-3
0
-1
0
0
56
-23
16
28
0
-68
70
102
22
0
80
18
13
-5
0
-34
62
-8
-5
0
-8
37
1
1
0
-19
-6
1
-2
0
3
11
4
-1
0
-9
2
-2
-2
0
-7
13
1
-14
0
-33
-15
10
15
0
5
37
-15
-6
0
-27
-6
22
-3
0
-3
-4
-39
0
0
0
3
-6
-2
0
1
16
-5
0
0
2
-16
0
0
0
-6
-42
-14
-2
0
1
1
0
-2
0
2
0
-1
0
0
-9
-1
1
0
0
-3
11
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
8
1
3
0
0
0
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
15
-6
0
0
-5
14
1
0
2
-2
-6
0
37
7
-18
-3
0
0
-110
107
-28
45
0
32
58
-14
-20
0
-42
38
-5
-1
0
47
10
10
-1
0
32
-8
1
0
0
-13
-1
24
1
0
-3
8
1
0
0
3
6
-9
-4
0
40
-46
75
5
0
60
-15
17
12
0
15
21
-1
-2
0
0
-14
-26
1
0
-7
-9
-12
0
0
0
-15
29
0
0
1
1
0
0
0
0
24
3
0
0
0
16
1
0
0
-23
-6
3
-2
0
0
0
0
0
0
-1
0
0
0
0
7
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
39
15
0
0
1
-26
-3
0
0
0
-16
0
0
0
-1
0
0
0
0
-1
13
57
-2
0
-5
8
2
0
0
0
0
1
0
31
3
-5
1
1
0
70
3
-7
-3
0
-37
-25
-11
9
0
27
8
50
-2
0
59
-25
7
-13
0
1
11
3
0
0
0
0
0
0
0
0
-2
1
0
0
17
7
0
0
0
-22
-11
5
0
0
-65
11
8
1
0
-14
9
4
0
0
-10
15
-1
1
0
0
0
0
0
0
0
2
1
0
0
-3
0
0
0
0
1
18
0
0
0
2
-4
0
0
0
1
-2
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
2
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
-1
0
-6
0
-1
0
0
0
-56
18
6
-9
0
-44
48
-50
-32
0
0
33
-26
1
0
-9
-25
42
-14
0
-1
4
8
0
0
-3
4
2
0
0
0
-2
0
0
0
10
2
1
0
0
19
64
6
1
0
72
-42
-9
2
0
11
-21
-15
0
0
-7
-1
12
-2
0
0
2
3
0
0
0
-8
-1
0
0
0
0
4
0
0
0
-4
7
0
0
-6
3
2
0
0
-2
-3
-1
0
0
0
-1
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
-1
-6
0
0
0
0
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
1
0
-26
2
-7
0
0
0
17
0
19
32
0
-17
74
35
5
0
-13
44
29
1
0
13
10
0
6
0
2
-8
3
0
0
-2
1
-7
0
0
0
2
2
0
0
20
-15
0
0
0
19
51
3
0
0
-8
2
-16
-5
0
0
1
-3
0
0
-5
3
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-7
16
-8
1
0
-9
0
1
1
0
0
1
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
-1
3
-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
-1
-2
0
0
0
0
-16
-10
26
9
0
78
-23
-57
-19
0
-6
8
3
0
0
9
0
3
12
0
-7
10
1
0
0
-81
24
5
1
0
6
1
-5
0
0
17
1
3
2
0
2
-16
4
-3
0
-7
-17
7
0
0
0
0
-1
0
0
3
-3
1
0
0
0
3
3
0
0
0
1
-4
0
0
0
0
0
0
0
8
-3
-1
0
0
-12
9
-1
0
0
4
-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
-6
0
0
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
35
-15
16
-19
0
-20
-6
12
-8
0
-5
20
-8
5
0
-95
-7
3
5
0
-7
-7
1
0
0
0
0
-2
0
0
0
0
1
0
0
3
0
0
0
0
0
-4
0
0
0
-2
-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
6
17
-2
-1
0
-1
5
-3
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
-5
0
0
0
0
0
0
0
0
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
34
-38
17
-21
0
11
29
3
-13
0
-4
55
-27
1
0
-17
1
-4
13
0
0
5
-7
0
0
2
-6
0
0
0
0
2
-5
0
0
17
-2
-1
0
0
2
-7
-6
0
0
-3
-1
-6
0
0
3
0
-1
0
0
-22
-2
0
-1
0
0
-1
-11
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
1
0
0
14
7
10
-2
0
1
35
-33
-1
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
-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
0
0
0
0
0
0
0
0
-32
0
1
0
0
0
17
-31
12
19
0
14
-23
-8
25
0
-2
11
-10
-1
0
26
3
-2
-6
0
-25
-26
28
-1
0
-38
-2
45
1
0
-10
-2
4
0
0
-1
-44
18
-3
0
57
22
-17
-1
0
-4
8
-3
0
0
-1
16
3
0
0
0
-1
0
0
0
1
-8
-4
7
0
4
24
6
0
0
14
20
-2
1
0
-44
-52
-1
1
0
4
4
1
-9
0
1
12
11
-13
0
-2
87
6
-78
0
2
-2
7
-60
0
27
43
-28
28
0
23
16
32
35
0
67
64
-98
-41
0
-3
54
-43
32
0
36
151
67
-103
0
28
-1
1
-37
0
94
8
21
49
0
-19
-65
-112
77
0
160
40
-30
-82
0
2
6
71
-36
0
-104
13
-60
14
4
-58
-11
-35
82
0
-9
51
-22
-13
0
32
119
-43
-17
0
-35
46
-10
-7
0
24
15
28
-1
0
9
-12
11
0
0
-50
-14
-19
1
0
-15
-3
3
0
0
-62
18
-8
-9
0
13
-14
25
0
0
-1
2
37
0
0
0
-2
1
0
0
0
-9
0
1
0
-4
-5
-1
0
0
-9
15
18
0
0
13
-10
0
-1
0
39
-37
-3
9
0
2
-7
5
-3
0
5
3
9
6
0
-11
35
-23
10
0
36
-3
8
-20
0
41
22
-80
13
0
-30
114
8
1
0
188
53
-82
46
0
-14
31
115
-50
0
-2
-89
88
61
0
28
-62
-55
15
0
-5
5
-20
6
0
61
-48
39
-43
0
68
45
-113
-53
0
45
17
-2
-23
0
198
-21
-77
-35
-8
-29
-58
38
-14
0
14
0
50
-1
0
38
4
-1
-1
0
-6
-35
-26
0
0
-23
21
11
6
0
14
0
0
1
0
0
0
-2
-4
0
-4
0
0
0
0
12
-2
0
0
0
1
21
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-2
0
0
0
0
1
3
0
0
0
0
0
3
0
0
0
-3
-1
0
0
8
-27
-8
0
0
-3
2
24
5
0
8
-10
46
-3
0
5
9
-1
18
0
7
-19
-14
35
0
64
9
-25
22
0
-69
31
-16
7
0
-33
-34
28
-46
0
57
48
-47
-21
0
27
4
-27
36
0
-16
-29
25
5
0
-28
-49
-49
6
0
-16
12
5
1
0
4
28
129
2
0
0
35
-56
4
0
-69
7
-35
39
9
32
-16
-82
3
0
1
58
-8
-3
0
-14
-49
20
0
0
7
1
5
-1
0
-19
62
5
-6
0
7
-15
5
0
0
-10
-18
5
2
0
0
-2
0
0
0
35
-9
-2
-4
0
0
3
1
0
0
0
-4
0
-1
0
0
2
3
0
0
9
0
-3
-5
0
0
0
2
0
0
0
1
-1
0
0
0
-1
0
0
0
1
15
-8
-1
0
-5
25
0
6
0
16
30
-23
-14
0
51
-32
-73
-10
0
-29
19
-20
69
0
7
-68
-44
-32
0
-18
24
-13
-39
0
33
-51
-40
-14
0
-49
-30
32
60
0
-15
96
-27
11
0
10
-24
43
-20
0
-42
-57
31
54
0
-58
-31
-48
5
0
0
-50
-13
78
0
0
-4
1
6
0
121
-35
-10
-9
-7
-80
31
87
9
0
-9
6
14
10
0
-9
-22
-7
-6
0
3
-38
12
0
0
44
13
-2
0
0
27
0
-12
-1
0
4
6
5
1
0
1
0
-1
0
0
0
7
-1
-4
0
1
-7
-8
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
-1
0
0
0
0
3
0
0
0
-1
-2
0
0
0
-3
-2
0
0
0
41
20
13
11
0
71
9
-75
12
0
-63
27
46
38
0
61
65
-27
70
0
9
-26
52
111
0
-148
-66
-43
-8
0
-181
-25
7
-5
0
41
-12
-6
-61
0
25
-116
-55
-14
0
19
6
-1
1
0
0
-1
33
2
0
-2
7
0
-15
0
18
47
97
51
0
0
2
-8
5
0
22
9
32
-11
1
-111
3
-11
-5
0
43
-58
12
5
0
-26
34
-35
3
0
1
-8
2
1
0
-7
5
-4
0
0
-31
-5
-10
0
0
-24
18
-3
0
0
0
0
0
0
0
-1
-1
1
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
1
0
0
0
-1
0
0
0
-53
-12
20
75
0
29
13
-94
40
0
-82
136
-66
45
0
-25
32
60
-5
0
110
-32
44
48
0
148
-95
19
-30
0
-27
22
37
2
0
-42
1
34
-56
0
-5
-4
40
-5
0
-2
-4
-16
0
0
0
0
8
0
0
-1
0
3
5
0
-1
-77
55
-18
0
1
37
-1
1
0
-11
35
3
1
-4
25
-14
-12
4
0
-44
13
0
2
0
-3
2
1
0
0
-4
3
0
0
0
0
2
-1
0
0
-3
4
-2
0
0
-1
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
-2
0
0
0
0
-22
-9
36
-21
0
18
30
-32
-55
0
66
-109
42
33
0
49
75
-12
-36
0
55
41
0
9
0
-65
-42
15
21
0
74
-33
-15
1
0
-94
-45
17
-1
0
-4
-22
-65
0
0
0
5
0
0
0
-5
-1
-12
-1
0
1
0
7
0
0
5
-3
45
2
0
0
-2
1
2
0
0
-1
34
1
26
-43
-1
0
-1
0
32
-29
-7
1
0
-5
-6
5
1
0
-1
-3
0
0
0
-53
-3
-4
0
0
1
0
1
0
0
2
0
2
-2
0
0
0
1
0
0
-2
1
-1
0
0
-2
0
-9
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
-2
0
0
0
0
-52
67
39
-3
0
-24
-33
42
-59
0
95
-64
-68
-59
0
-26
-5
-12
-10
0
56
-30
70
-23
0
10
0
-3
-10
0
15
-5
-40
15
0
-15
12
-19
6
0
-3
-22
-9
6
0
6
-2
2
1
0
0
4
23
5
0
0
1
3
0
0
0
-16
10
-4
0
0
-1
3
0
0
27
-1
-17
0
-20
0
-3
3
0
0
-35
7
-5
-7
0
-18
36
-66
25
0
12
-35
-21
2
0
2
-6
0
-1
0
26
16
-1
0
0
0
0
8
-4
0
0
2
0
0
0
-8
-42
3
0
0
39
0
17
-1
0
-9
-20
-61
-1
0
0
5
4
0
0
-5
-1
0
0
0
-4
3
-1
0
0
0
0
0
0
0
0
0
1
0
0
-1
7
0
0
0
-21
-8
17
31
0
-20
31
-5
39
0
0
-116
5
-6
0
-1
-96
83
-17
0
68
22
71
-20
0
-43
-27
-51
17
0
26
-69
22
-12
0
87
-15
-20
8
0
32
2
-1
-3
0
-5
0
0
-11
0
-18
-17
7
22
0
-71
-9
11
-52
0
47
-58
48
24
0
-91
-26
-25
63
0
-23
-3
-15
-60
4
27
43
-58
26
0
-40
-30
-21
-27
0
-36
21
-6
-40
0
-10
43
-5
2
0
49
-6
-1
5
0
3
10
3
0
0
43
0
7
-5
0
0
-8
-2
0
0
-13
23
-1
0
0
42
-22
-16
0
0
-56
15
13
0
0
0
1
0
0
0
0
-2
1
-1
0
1
-11
0
0
0
2
2
1
0
0
0
0
-2
0
0
5
7
2
0
0
-9
-59
-108
51
0
15
-74
6
52
0
-126
32
55
-2
0
-110
-67
54
22
0
105
-24
-1
-9
0
17
18
4
3
0
-4
15
31
0
0
10
39
0
-1
0
5
29
18
-1
0
38
8
0
36
0
4
70
34
40
0
23
-46
23
85
0
12
73
97
-40
0
-12
-89
-38
-18
0
106
54
2
40
-1
-7
12
6
-8
0
5
15
5
1
0
23
7
-6
0
0
-6
24
2
0
0
10
6
4
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
-2
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
0
0
0
-2
0
0
0
0
-25
-41
-62
13
0
45
-43
14
-24
0
19
-93
75
12
0
10
-50
-50
-4
0
-64
4
4
0
0
1
-11
6
0
0
17
11
7
0
0
-2
6
-3
2
0
-3
80
-1
-2
0
34
-31
-80
16
0
-61
8
7
5
0
-100
-51
-24
85
0
22
5
-39
15
0
0
-1
17
-4
0
-37
-76
21
50
4
-7
12
-27
-31
0
-17
42
-47
2
0
52
-14
2
-1
0
-2
-9
1
0
0
17
-12
12
1
0
0
4
0
0
0
0
3
0
1
0
0
0
0
0
0
0
3
0
0
0
-3
1
0
0
0
-3
3
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
-2
0
0
0
0
20
63
6
-39
0
-7
-78
26
22
0
3
-61
-37
6
0
29
-38
87
8
0
2
8
0
0
0
0
1
0
0
0
-1
0
-1
-3
0
-1
0
-1
0
0
4
37
21
-3
0
15
-114
-30
33
0
-31
-19
-6
-9
0
-39
-53
68
5
0
21
-54
31
32
0
1
4
43
11
0
12
28
-2
-8
-26
0
93
43
-62
0
72
-33
-22
-13
0
-58
13
-33
-12
0
4
17
-4
2
0
-1
50
1
0
0
18
-55
3
0
0
2
0
-2
0
0
0
1
0
0
0
-12
-27
0
0
0
2
13
15
-2
0
-4
-2
-5
-2
0
0
2
3
0
0
0
-12
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
19
77
-81
14
0
68
-17
15
-76
0
-28
-36
-92
-10
0
-38
-39
62
57
0
-123
-19
18
-60
0
15
-5
56
-10
0
1
3
-59
3
0
4
6
-7
-2
0
78
22
-30
20
0
-42
-83
25
-16
0
29
-51
25
34
0
11
-49
-20
19
0
-31
52
-36
42
0
-7
34
33
-20
0
-48
23
-28
35
31
19
-148
-19
-74
0
-58
-26
38
-4
0
22
-7
-9
-17
0
-2
72
-4
-2
0
-7
-43
-5
2
0
2
0
3
0
0
34
26
4
0
0
0
0
0
0
0
0
-11
0
0
0
2
-1
-3
0
0
1
-3
9
4
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
-3
0
0
0
29
-64
-91
66
0
5
-74
49
-41
0
-37
19
28
4
0
10
-53
-43
-9
0
-16
12
2
3
0
15
-22
13
-4
0
0
-1
0
0
0
0
-3
1
0
0
-47
45
-17
-16
0
-13
-3
104
89
0
1
-1
-12
11
0
6
45
-32
-4
0
4
-10
-37
10
0
42
2
29
-30
0
-7
-22
9
2
-16
0
-65
26
4
0
33
-23
-15
-13
0
-23
40
7
-16
0
-1
45
0
1
0
24
0
-2
-1
0
7
-1
1
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
64
17
-43
0
-10
31
-49
47
0
34
6
-7
26
0
28
-9
-25
-16
0
12
-19
50
-19
0
0
2
3
-5
0
6
-13
6
0
0
0
-1
-10
0
0
37
66
-17
-47
0
-33
25
-10
-105
0
-31
-2
-50
18
0
-4
-48
-25
9
0
5
18
54
-17
0
0
0
43
-9
0
3
-37
11
-31
4
-10
-7
-4
4
0
-41
33
-27
31
0
68
13
48
21
0
3
-7
13
-2
0
19
-73
-2
-8
0
-1
3
-12
1
0
0
-1
0
0
0
0
2
-1
0
0
-2
1
0
0
0
0
-2
0
-1
0
-3
-3
-2
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
-19
21
-90
-64
0
97
47
-37
57
0
-72
-4
-16
-5
0
-4
-19
28
6
0
7
70
2
0
0
0
3
-14
-5
0
0
-3
-2
0
0
-2
-4
1
1
0
-76
14
-12
-119
0
-23
-30
38
62
0
29
-9
-28
0
0
16
51
-19
-6
0
-2
-26
32
28
0
0
-1
62
-9
0
0
11
38
15
-29
3
-9
0
-2
0
-8
57
59
-1
0
-4
32
43
25
0
9
38
-1
-17
0
35
29
-55
-6
0
-3
32
29
-14
0
27
71
-50
-18
0
-64
3
6
19
0
83
-8
-41
41
0
47
6
21
-18
0
46
-106
-25
27
0
10
-5
-22
-3
0
-30
-11
23
15
0
-23
-54
-6
-24
0
4
22
50
5
0
12
4
27
2
0
-32
39
46
8
0
-37
12
39
16
0
-67
-13
80
42
0
40
-20
-4
3
0
-10
2
-17
10
0
-34
13
-8
2
0
0
13
21
-8
0
4
-2
3
0
0
0
-29
2
0
0
31
29
-13
12
0
24
-21
13
15
0
0
17
-3
2
0
2
-28
-3
-6
0
-58
-12
-26
8
0
0
32
14
-7
0
69
-34
-33
11
2
92
-71
-3
-28
0
-3
-10
18
-33
0
0
43
32
46
0
-5
-25
2
-34
0
6
-1
-52
5
0
2
18
55
23
0
21
4
17
68
0
70
10
18
17
0
11
-20
-3
-61
0
15
31
-5
30
0
-25
54
20
39
0
-7
-5
11
-1
0
-14
24
5
11
0
13
-10
-2
-2
0
-8
-32
-4
19
0
26
-17
-59
-14
0
6
25
-45
-38
0
57
-8
-12
-7
0
78
-9
-69
-35
0
0
48
48
-6
0
7
-11
-30
18
0
-41
5
10
-1
0
22
-25
-6
-1
0
-1
4
-1
-8
0
-14
-8
14
2
0
26
-1
76
-3
0
-34
24
12
33
0
4
-28
9
0
0
-19
13
-11
-3
0
14
22
26
-4
0
13
6
-1
33
0
11
-25
-9
-8
9
22
-51
-10
16
0
50
15
-23
-36
0
-1
48
29
-25
0
77
17
21
-2
0
-51
26
61
-32
0
54
34
-9
3
0
-59
10
4
-27
0
-27
22
-32
4
0
85
17
-52
52
0
45
-5
-3
-5
0
-42
-26
64
-3
0
1
7
-5
2
0
-17
-25
-7
-3
0
-4
-22
20
2
0
14
-21
37
-1
0
0
29
29
0
0
20
-9
-28
-2
0
-48
-45
29
1
0
-54
-29
71
1
0
0
13
0
0
0
15
-1
1
2
0
-8
8
2
-2
0
-5
0
20
0
0
0
0
-6
0
0
24
10
1
1
0
-1
67
-10
-11
0
-12
22
-15
0
0
0
-31
-1
0
0
0
-21
-5
-2
0
-28
16
0
2
0
-1
6
-7
2
0
6
1
2
0
37
-21
-47
-16
0
0
-20
17
34
22
0
21
-14
-1
-33
0
7
59
-21
11
0
32
-17
-17
-25
0
-77
71
14
3
0
-30
-18
16
23
0
90
-77
-8
-2
0
-44
7
2
5
0
-64
1
32
10
0
41
-11
36
-21
0
9
-31
24
0
0
-10
48
-64
1
0
-16
52
16
0
0
16
23
-27
-5
0
1
4
-40
-5
0
-23
-63
45
0
0
56
38
-54
-21
0
-18
-6
34
28
0
-10
-2
11
2
0
-34
-22
-5
-4
0
22
13
-20
-1
0
0
0
33
0
0
0
-1
-7
0
0
-17
29
-1
-1
0
-9
54
-7
1
0
-5
-31
18
2
0
1
-17
37
0
0
-6
3
6
2
0
65
57
-5
0
0
33
3
12
0
0
0
-10
-3
-1
0
-42
-15
-28
0
0
-10
57
-4
40
0
27
79
-12
26
0
-19
37
-20
-13
0
33
22
41
-54
0
-18
-12
9
2
0
36
-16
-7
2
0
2
-3
1
0
0
-14
-39
7
-2
0
4
61
5
16
0
0
14
-17
2
0
-1
4
2
0
0
-3
3
0
0
0
-1
-7
0
0
0
0
-3
-1
0
0
0
3
0
0
0
0
-6
1
0
0
-20
-7
-2
0
0
1
0
14
1
0
7
-3
0
0
0
-24
0
0
0
0
5
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-4
13
-4
0
-2
5
-12
0
0
0
1
-3
0
0
5
-3
-3
0
0
-9
-13
-1
0
0
0
-2
0
0
0
0
0
0
0
-13
-1
13
0
0
0
-10
2
24
-27
0
-56
-139
-46
75
0
12
-20
27
-15
0
18
-18
11
2
0
96
33
-38
0
0
83
-4
-6
0
0
0
2
-3
1
0
2
57
0
-3
0
-12
65
20
7
0
-5
62
-13
7
0
2
-14
1
0
0
9
-10
0
0
0
0
-8
12
1
0
0
-1
-2
0
0
0
0
-1
0
0
-1
2
1
-2
0
-7
35
-21
-5
0
6
-12
-9
1
0
0
-7
0
0
0
-1
6
3
0
0
4
-1
1
0
0
1
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
4
14
0
0
0
-53
-17
22
0
0
0
8
0
0
0
0
-2
1
0
0
4
-8
-1
0
0
9
2
0
0
0
-4
2
2
0
7
-4
-13
15
1
0
16
-50
-19
72
0
38
-34
48
-46
0
-47
-14
21
1
0
27
8
7
-1
0
-34
1
4
0
0
-14
10
-11
-2
0
0
0
6
0
0
-52
9
1
0
0
20
19
-5
0
0
1
3
1
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
0
0
-2
0
0
0
0
6
-1
1
0
0
2
0
-2
0
0
3
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
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
1
0
0
0
5
0
0
12
0
0
3
0
0
38
-36
7
52
0
-14
50
56
-46
0
-70
-34
2
29
0
-57
-33
11
41
0
-12
-3
-10
-1
0
-7
7
89
-3
0
-8
10
1
1
0
23
-43
-10
-2
0
-22
-51
-11
-1
0
15
-7
-1
-2
0
-3
1
-15
0
0
41
-6
-8
0
0
-2
40
-8
0
0
10
1
3
0
0
2
0
1
-3
0
-2
0
1
0
0
-9
44
-15
4
0
-8
17
-2
2
0
2
-2
9
1
0
-1
2
1
0
0
0
-2
-28
0
0
0
-3
-3
0
0
0
2
-5
0
0
0
0
0
0
0
3
-2
18
0
0
1
6
3
0
0
0
1
-23
0
0
-1
0
1
0
0
1
10
4
0
0
0
1
0
0
0
-1
-7
-7
0
-17
-6
-10
-5
0
0
124
-28
49
18
0
9
102
-21
9
0
-3
30
-21
4
0
-32
19
55
2
0
-54
12
15
-5
0
-30
-14
43
6
0
11
-3
25
0
0
-15
5
-1
0
0
-26
23
9
6
0
-36
-4
10
2
0
-5
23
0
0
0
5
-1
-6
0
0
2
-6
4
5
0
0
4
-1
3
0
0
-6
-3
0
0
-8
-11
3
0
0
9
12
5
0
0
-1
6
4
0
0
-1
0
-1
0
0
3
0
-1
-1
0
4
15
0
0
0
1
2
4
0
0
0
1
0
0
0
0
0
0
0
0
-10
-2
-1
0
0
-1
-1
1
0
0
0
0
-1
0
0
0
-1
0
0
0
5
25
3
0
0
0
-9
-6
0
0
10
-1
0
0
-7
7
3
2
0
0
55
-39
-21
27
0
-33
-47
-3
20
0
3
4
8
-1
0
-93
14
3
2
0
36
-9
8
-1
0
-42
59
7
1
0
6
14
1
0
0
54
-22
2
0
0
18
4
19
0
0
29
-66
1
2
0
0
68
6
0
0
3
17
0
3
0
0
2
12
0
0
0
0
-7
-4
0
0
-4
1
0
0
-7
28
8
0
0
1
-28
-12
0
0
1
0
-1
-1
0
0
6
0
0
0
6
-11
0
0
0
0
-1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
4
9
0
0
1
0
-1
1
0
0
1
0
0
0
1
0
0
0
0
-8
5
-5
0
0
2
1
2
0
0
0
-10
0
0
-42
-21
-3
0
0
0
-37
-11
-37
48
0
43
25
47
-19
0
-11
53
-10
-3
0
-44
-46
37
-6
0
8
25
-25
-7
0
3
3
62
-6
0
14
-1
6
-1
0
-4
98
0
-1
0
12
-7
0
-1
0
4
-2
-3
-3
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
-1
-8
0
0
0
18
-11
0
0
0
-8
4
-1
0
0
0
0
0
0
0
1
0
0
1
0
-1
-3
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
9
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
-1
0
0
-1
0
-1
0
-19
0
3
0
0
0
39
-61
20
12
0
57
-7
-17
-49
0
-7
0
48
-4
0
-106
28
-17
-35
0
-56
38
8
1
0
4
20
7
4
0
0
8
-9
0
0
5
2
4
0
0
8
-12
-21
0
0
-2
-5
6
0
0
0
-1
0
0
0
4
0
3
0
0
0
-9
1
0
0
0
5
-2
0
0
0
-2
-1
0
0
5
5
-3
0
0
-5
-20
11
0
0
-14
-13
-5
0
0
1
1
0
0
0
-12
-9
5
0
0
1
1
4
0
0
0
-1
0
0
0
0
-4
11
0
0
0
-7
0
0
0
0
9
2
0
0
3
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
1
0
0
-1
1
-2
0
-43
-1
15
-2
0
0
43
-6
-1
-31
0
79
11
-83
29
0
15
47
-2
4
0
9
1
-6
1
0
-5
7
5
0
0
-9
-8
4
-2
0
1
0
-1
0
0
28
-9
-8
-2
0
-1
12
11
0
0
0
15
0
-2
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
-3
0
0
0
-9
-25
0
0
0
-19
6
3
0
0
-22
1
0
0
0
-1
-3
0
0
0
2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
0
0
0
7
-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
-31
-1
0
0
0
0
31
26
18
17
0
-88
-19
10
20
0
43
-41
41
7
0
-8
26
-15
-3
0
12
-1
-2
5
0
10
-1
0
2
0
1
16
0
0
0
8
-6
-4
1
0
-2
-16
1
-2
0
-4
-2
6
-3
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
11
7
-7
0
0
27
-1
-4
0
0
-6
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
4
1
0
0
0
1
-2
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
43
0
-1
0
0
0
8
-25
9
9
0
43
14
-41
-20
0
12
67
-14
-2
0
-12
19
4
13
0
-2
-79
-10
0
0
6
1
4
2
0
0
11
0
0
0
-16
15
-1
2
0
6
-26
2
-3
0
0
3
-1
4
0
0
0
2
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
-7
-12
6
0
0
7
4
3
-1
0
-3
-2
0
0
0
-2
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
-1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
-1
1
0
0
5
0
0
0
0
0
24
20
20
12
0
-24
58
42
21
0
19
19
-77
-2
0
43
53
-7
-4
0
-15
-12
17
-1
0
-27
-19
-24
-1
0
5
0
0
0
0
15
-4
14
2
0
1
25
8
-2
0
2
24
-17
-2
0
0
-11
0
0
0
-2
-2
0
0
0
0
4
-13
0
0
0
0
1
0
0
0
1
3
0
0
0
-1
0
0
0
0
-8
27
-2
0
9
-9
-26
2
0
1
11
1
0
0
-4
-2
4
0
0
0
1
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
-4
26
-3
0
0
1
0
4
0
0
0
1
0
0
0
0
0
0
0
0
-6
1
-1
0
0
0
0
1
0
0
0
1
1
0
-1
0
-1
-2
0
0
6
4
-67
17
0
-18
-47
-7
0
0
51
-78
51
-15
0
39
29
23
-20
0
17
-6
24
-4
0
23
17
-26
8
0
-2
-1
1
-1
0
-86
24
5
-4
0
34
-48
15
8
0
-7
-37
-7
-1
0
0
14
0
-1
0
-3
12
0
-1
0
-37
15
-9
5
0
7
-17
0
-8
0
-34
5
1
0
0
36
-6
-7
2
0
3
2
2
-12
0
8
9
10
-26
0
0
3
2
-21
0
-5
-8
10
22
0
40
40
-55
8
0
-41
-13
-78
-1
0
-1
15
-26
48
0
-53
-59
22
2
0
104
52
-5
88
0
41
9
51
50
0
-29
2
47
65
0
-47
24
1
75
0
119
51
33
-53
0
-30
19
-65
-10
0
52
-8
10
-61
3
-46
-88
-36
-31
0
14
2
-29
30
0
59
-42
11
-23
0
97
47
24
-1
0
98
-73
9
-6
0
32
32
2
-9
0
17
13
2
1
0
0
4
8
0
0
-11
-12
-5
1
0
17
45
-11
1
0
-38
-28
1
-1
0
1
-24
-3
0
0
21
-13
-1
-1
0
-1
15
-19
0
0
8
25
-12
6
0
-2
4
-5
0
0
-28
-45
-4
-4
0
1
9
-2
-13
0
18
38
17
-44
0
-16
15
44
-29
0
-23
-7
15
4
0
20
43
43
5
0
-92
-59
109
44
0
76
47
-40
-25
0
-32
49
15
27
0
86
23
-21
51
0
-40
26
-67
-26
0
27
-23
-5
37
0
7
-36
-45
-40
0
110
-6
56
-4
0
-24
53
-5
-38
0
12
1
-69
-82
7
-17
24
-92
-21
0
-99
-48
21
14
0
26
79
-39
-18
0
-80
4
-1
0
0
21
12
15
0
0
38
-3
5
1
0
39
0
9
-4
0
0
-1
0
0
0
-2
1
4
-2
0
8
7
0
0
0
0
-6
-1
0
0
1
0
3
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-5
0
-3
1
0
0
0
-11
7
2
0
0
6
-12
-22
8
0
32
17
3
29
0
66
19
-28
43
0
-5
-51
90
-8
0
31
68
48
-30
0
-20
-25
54
1
0
91
-107
-50
-47
0
10
-60
76
-79
0
84
81
27
-63
0
10
-89
22
-33
0
2
11
1
23
0
-12
-23
-1
-32
0
10
31
-35
81
0
0
21
59
9
0
52
-23
-20
127
12
-135
-90
-2
67
0
20
2
-4
-9
0
28
7
7
0
0
29
17
7
0
0
21
7
3
0
0
15
6
-2
0
0
-42
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
23
-1
-14
0
0
7
-10
5
0
0
0
0
0
0
0
-8
0
1
0
0
-3
-6
-1
0
0
3
3
7
0
0
0
0
5
0
0
-50
-42
0
0
0
-2
8
3
43
0
50
23
27
21
0
-43
9
-1
2
0
-51
6
53
-58
0
44
-52
9
-82
0
82
-13
-25
-61
0
18
-30
-21
-21
0
-104
104
-136
45
0
-36
27
-10
-13
0
-22
30
-15
-2
0
-10
-19
-73
-3
0
1
1
-35
2
0
8
77
15
-57
0
0
-17
-13
-1
0
-37
-29
9
10
-13
-87
55
51
8
0
49
-4
-22
8
0
-41
66
-2
-9
0
39
-19
-9
2
0
13
-13
2
2
0
10
3
-1
0
0
-1
0
-3
-4
0
0
0
0
0
0
17
-40
4
0
0
-4
16
2
-4
0
-2
4
2
0
0
0
2
4
0
0
-6
-10
0
0
0
0
8
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
-17
27
-13
-73
0
-35
-13
68
143
0
56
20
6
24
0
88
42
-38
-38
0
47
-43
91
52
0
13
-85
98
13
0
74
-55
-27
9
0
28
-22
-93
3
0
-76
6
86
-20
0
-43
45
-6
5
0
-26
11
-30
-10
0
-14
18
1
2
0
-3
48
58
-3
0
0
9
-28
0
0
-12
57
-43
1
-3
92
1
28
0
0
15
49
49
-59
0
52
59
-37
-8
0
6
29
3
-1
0
35
24
1
-1
0
-8
-3
0
0
0
-3
1
-2
-1
0
0
1
0
0
0
2
11
0
0
0
-6
-11
-5
-4
0
-7
-9
0
0
0
0
1
1
0
0
1
-1
0
0
0
0
4
-1
0
0
0
5
0
0
0
0
2
0
1
0
-6
-1
0
0
0
0
-7
4
57
0
20
-21
-8
23
0
-84
12
33
-83
0
61
-50
5
30
0
33
-25
65
28
0
17
18
-35
-11
0
-35
17
29
-2
0
-3
48
22
3
0
78
-25
-32
4
0
-11
19
-33
3
0
0
-9
17
5
0
1
-1
-4
0
0
2
-24
-7
21
0
0
-13
-8
2
0
-10
13
39
1
-51
55
2
-8
1
0
-49
1
17
-1
0
80
-25
-2
13
0
1
10
1
0
0
25
4
0
0
0
1
1
2
0
0
2
-1
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
9
0
0
0
1
0
4
-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
-1
0
0
0
0
-5
-29
-7
60
0
78
33
37
-63
0
32
-58
-16
111
0
-1
-17
-17
40
0
15
76
-28
21
0
8
-30
55
3
0
-2
17
-9
-20
0
-10
28
28
2
0
60
107
-118
-102
0
-44
50
-8
-9
0
4
-6
-2
25
0
0
22
13
0
0
0
-51
2
9
0
0
1
1
-1
0
6
-12
14
0
-24
-16
15
-1
0
0
94
20
-1
1
0
-42
5
-24
-21
0
20
0
-8
-6
0
-47
18
-1
2
0
0
-50
4
-1
0
-2
0
2
0
0
0
-2
0
0
0
1
-9
0
0
0
-5
18
6
2
0
-6
3
-10
2
0
0
-7
0
0
0
0
-1
0
0
0
0
-1
4
0
0
0
0
-1
0
0
0
0
0
0
0
2
-4
0
0
0
-12
-1
-74
-2
0
-47
-26
24
111
0
6
70
-24
44
0
57
-62
-10
-82
0
-16
-35
-7
25
0
-2
-3
17
7
0
-22
-16
29
11
0
40
-22
16
2
0
-99
-25
6
-84
0
40
83
-60
1
0
-9
15
-23
-6
0
-9
1
27
0
0
0
8
3
-18
0
0
-10
14
-5
0
-14
-16
27
0
37
26
-43
3
2
0
-69
14
-4
-11
0
-55
-8
-16
40
0
20
75
12
-1
0
19
-57
-2
-54
0
-8
29
7
3
0
63
-57
-24
4
0
-22
5
5
0
0
47
-6
-3
0
0
-15
32
2
0
0
-7
15
6
1
0
1
1
4
0
0
-1
0
-4
0
0
9
14
-6
-1
0
0
0
-1
1
0
0
-2
2
0
0
-2
-7
-11
0
0
0
38
5
103
0
49
-70
118
-120
0
22
-32
59
-37
0
33
-19
143
52
0
56
-76
0
-15
0
-63
-7
-65
-21
0
80
13
-51
-28
0
25
34
-40
-9
0
8
3
1
3
0
4
-5
2
16
0
44
-21
-52
-40
0
-45
-25
-11
44
0
14
-45
-18
34
0
0
34
-27
-12
0
-2
24
-24
-98
6
-41
-38
-24
-130
0
10
78
-36
14
0
4
54
40
-43
0
-2
19
12
-2
0
61
-9
2
23
0
34
-42
6
3
0
-148
-14
9
3
0
1
-8
-1
0
0
-21
34
0
3
0
-3
-98
21
-1
0
16
20
1
-2
0
0
1
0
0
0
7
-15
2
0
0
-1
-2
-2
0
0
0
5
0
0
0
0
-6
2
0
0
3
-1
-1
0
0
13
75
-7
42
0
39
-54
-88
-4
0
-4
28
56
-43
0
22
-47
67
23
0
20
11
31
-4
0
-33
9
14
2
0
-29
29
-14
-5
0
25
17
3
-1
0
13
0
23
-1
0
31
-10
-12
74
0
50
-36
-77
-34
0
-140
-79
97
21
0
74
30
4
40
0
13
-66
10
9
0
39
-77
-10
-2
1
-4
19
32
64
0
5
-52
-9
3
0
25
-3
-11
10
0
2
38
3
2
0
-35
-6
-2
10
0
-1
7
0
0
0
3
14
-7
0
0
-8
3
0
0
0
8
8
0
0
0
-8
10
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
2
0
0
0
0
-1
0
0
0
14
26
46
1
0
60
-31
-83
12
0
74
-33
-32
-46
0
-58
24
-14
-20
0
-78
-97
59
31
0
-59
12
18
-15
0
0
45
35
-5
0
-7
-21
-14
-15
0
12
13
-14
16
0
-35
3
37
-24
0
61
-24
34
-9
0
19
-65
94
57
0
61
-20
67
3
0
12
12
54
0
0
14
29
13
25
-40
53
31
18
22
0
-47
-67
54
-15
0
0
-28
43
43
0
34
-17
8
0
0
-5
-27
-7
-3
0
15
84
-14
0
0
19
2
-1
0
0
0
2
1
0
0
1
0
0
0
0
-2
16
3
0
0
0
-2
0
0
0
0
1
3
0
0
-1
4
0
0
0
0
1
-1
0
0
0
2
0
0
0
0
0
0
0
0
-4
-6
2
0
0
75
-3
0
-42
0
10
-78
117
0
0
-124
127
-8
-16
0
-49
62
-47
22
0
-16
-29
32
-11
0
15
18
3
0
0
1
15
-1
-1
0
1
2
1
-3
0
-2
-21
20
-15
0
-2
-28
10
-33
0
-156
10
67
12
0
69
49
-67
-17
0
66
-20
-85
-1
0
0
2
-51
14
0
8
11
-39
15
5
12
-69
-13
10
0
-23
39
-6
0
0
-24
39
11
-28
0
2
1
13
3
0
38
16
-12
29
0
28
15
-5
-1
0
0
0
2
0
0
-2
2
0
0
0
-11
18
0
0
0
14
11
0
3
0
-9
-14
7
-3
0
0
0
4
0
0
-1
0
2
0
0
0
2
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
20
0
1
0
22
39
-40
-46
0
27
97
-90
26
0
-45
10
66
6
0
46
9
-43
9
0
29
-153
-35
50
0
50
15
7
32
0
-10
-12
17
4
0
-37
21
-9
1
0
9
-12
-36
33
0
7
-27
14
-146
0
-41
54
90
43
0
-47
-57
123
3
0
20
-53
92
-26
0
-18
44
59
-29
0
-23
-27
7
-7
6
25
171
-31
35
0
-4
-21
12
-14
0
27
-42
-22
-16
0
11
99
14
-3
0
12
45
0
12
0
-4
2
2
-2
0
-31
17
-2
2
0
0
-3
-1
0
0
7
3
1
0
0
1
14
12
-2
0
-5
15
1
0
0
0
3
1
0
0
0
0
0
0
0
0
13
0
0
0
0
2
0
0
0
0
0
-1
0
0
-1
1
0
0
0
11
0
-10
-44
0
-214
62
4
45
0
78
-47
-16
-44
0
16
28
-10
7
0
-3
-60
4
-7
0
-2
0
-4
2
0
0
-2
8
0
0
34
-31
1
0
0
-6
-12
-45
-1
0
68
-87
158
10
0
50
-51
12
-39
0
-19
-38
9
55
0
-3
2
-49
-38
0
0
-7
42
2
0
0
26
40
-13
-15
-21
146
6
13
0
-1
54
-43
6
0
9
63
0
-45
0
-24
-56
-7
4
0
29
-14
20
22
0
0
6
-7
0
0
3
-1
1
1
0
-4
-4
0
0
0
11
-2
0
0
0
1
-27
1
3
0
1
-1
2
0
0
0
1
-2
0
0
1
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
43
-53
12
-1
0
12
71
-99
52
0
-37
29
114
22
0
47
103
-43
-115
0
-21
-87
2
-42
0
-10
25
-22
1
0
18
2
0
2
0
-1
21
-13
-1
0
-21
-2
43
0
0
4
-8
-120
32
0
-13
-17
51
55
0
-1
34
-2
-27
0
-45
-30
66
-5
0
1
-11
65
-37
0
0
-70
-34
23
6
1
-1
-26
-31
0
-50
32
-4
-14
0
-38
-28
22
-50
0
11
6
-33
13
0
-31
-33
8
-6
0
-7
-4
-1
1
0
43
-23
7
0
0
1
1
0
0
0
2
-15
-2
0
0
1
9
-9
-1
0
-2
-2
-6
-2
0
0
2
-3
0
0
1
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-47
-43
-81
1
0
55
-10
24
-92
0
-24
-1
63
-9
0
37
7
-4
27
0
59
51
-49
40
0
-1
-1
-16
10
0
1
-22
10
-1
0
-2
-14
0
0
0
-21
-11
-11
-32
0
7
-63
-12
69
0
-7
-44
29
42
0
13
20
26
20
0
1
-28
94
53
0
0
-17
18
12
0
3
32
-3
35
3
-39
41
-26
18
-70
26
1
44
37
38
25
2
12
17
19
-7
-41
-39
41
126
-28
-21
-40
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-14
-8
-8
-15
-8
-5
-11
44
5
0
-6
31
-11
-1
-5
36
2
-27
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
82
43
-27
-7
-2
95
-99
12
-9
2
-17
13
-10
0
2
-3
6
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
24
-59
-44
-2
0
2
30
5
-7
0
-2
48
-4
0
0
-15
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
22
-11
-29
53
-70
4
10
10
0
31
-6
52
2
-14
54
-10
-38
-60
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
18
93
-69
-34
1
-30
-16
30
20
0
-16
7
24
-7
2
9
-3
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
5
-58
11
35
-44
90
-55
14
-12
0
56
5
-13
1
-11
-67
20
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-14
-15
-12
0
-22
28
-1
-16
0
5
-41
1
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
22
-17
-8
48
21
13
-49
11
26
20
113
107
29
41
-23
-54
84
-34
62
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
-17
-10
4
-3
-1
43
-9
3
1
17
-40
2
0
-3
-19
39
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
57
29
5
-35
2
-35
26
-11
5
0
21
-4
-2
0
2
-14
-39
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
23
0
0
0
-2
5
1
0
0
12
-1
1
-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
30
43
-23
105
-28
7
-94
37
1
-10
-33
69
30
-47
28
4
18
-3
-60
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
65
-40
17
1
-1
46
-64
-22
-16
0
6
25
-1
0
0
54
6
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
8
68
-7
-16
9
2
-54
-11
1
3
4
2
0
38
-8
-28
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
0
0
-5
6
4
1
0
-5
14
2
0
0
-9
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
42
61
-51
26
32
-55
-42
129
-26
16
-34
17
2
-13
35
-57
41
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
45
-6
74
1
-2
30
22
-21
-1
-4
-1
13
16
9
1
-10
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
36
1
11
0
0
-26
16
3
8
-1
-1
19
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
1
49
-44
-21
-7
0
-17
-7
1
0
0
-10
-5
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
34
-11
39
125
5
70
-8
-62
-57
16
-41
44
-34
19
33
0
39
174
-17
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-47
41
9
45
-15
-55
54
-1
-31
0
21
-3
1
-1
0
21
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
11
0
0
4
-1
16
4
-1
0
-1
2
-3
0
0
-6
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
7
0
0
33
-20
3
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
20
13
26
75
-51
17
33
-62
63
4
4
34
-12
-19
2
-25
4
-19
-33
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-12
-1
1
1
-3
0
4
0
-1
1
3
-4
0
0
-2
-1
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-26
10
0
0
-4
2
-2
0
0
-1
3
-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
-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
8
-31
23
-72
-40
20
84
14
5
27
-17
-59
19
4
-13
-31
-32
-16
37
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
66
-49
22
-19
-5
-22
-9
39
6
3
-8
35
6
1
-2
3
-22
9
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
1
1
-1
28
13
0
0
-1
3
-3
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
-6
-6
0
0
0
-4
-1
0
-1
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
16
-97
85
-19
-5
-47
5
-15
15
6
44
-3
47
2
3
-5
21
24
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
53
5
27
-1
-4
-48
78
29
0
9
16
-6
0
-4
-1
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-28
48
-30
62
15
-54
-26
-4
0
20
33
8
0
0
3
-6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-61
26
-9
-20
-2
54
59
-17
1
0
6
-12
0
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
18
-17
144
-3
2
-3
90
-47
63
-3
12
-51
-20
12
5
-12
3
7
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
68
-17
0
-13
8
25
8
6
0
-4
4
29
0
0
-35
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-54
26
-16
-3
32
-19
-16
-7
-3
3
25
-17
0
-4
-7
-7
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
37
23
6
-1
-9
-43
-43
21
1
0
1
-3
0
0
3
-5
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-18
59
-4
-30
65
-45
-5
-7
-22
49
15
-4
0
40
0
17
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
49
-2
0
8
0
26
-13
0
0
0
1
5
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
12
-39
-22
8
1
16
-31
10
13
0
0
-4
2
0
-1
1
18
7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
15
-4
0
0
-5
-1
6
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
0
44
-25
21
-6
-3
-12
22
-46
35
19
-43
-1
-34
39
5
2
58
58
-22
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-21
-1
-2
0
0
-5
0
-1
-2
5
0
0
0
-2
-12
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
23
30
-29
0
-1
-13
22
20
-2
-1
-35
-27
4
-1
-2
-10
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
11
5
0
0
0
-2
-1
1
0
-1
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
13
21
8
38
14
-28
-8
51
-27
21
-13
19
57
47
0
6
69
-7
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
23
-1
0
1
-12
1
1
0
0
-12
1
0
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
7
-21
7
-5
-2
-8
7
27
11
0
0
-7
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
-13
-6
27
-5
2
9
3
12
-2
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
-3
87
-10
-12
-11
-17
37
-10
15
-10
-1
-14
-72
16
0
1
-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
7
-24
0
0
7
-4
-20
0
0
-6
9
10
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
-7
8
1
0
2
2
9
2
4
0
2
0
-1
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
-15
-25
-8
0
1
-7
1
10
0
0
0
2
-1
0
-1
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
1
-39
-6
-34
21
40
-12
8
0
-29
-13
-12
0
-4
-17
-32
9
3
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
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
-14
-15
38
9
0
-5
-8
9
15
16
0
3
-1
1
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
2
32
10
1
0
2
-2
5
-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
17
14
17
-12
-10
-59
-64
12
-2
10
-7
15
7
-21
-12
-6
3
32
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-7
0
0
0
2
0
-1
-1
4
5
-1
0
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
-1
34
12
10
-9
8
31
29
8
7
1
4
1
-1
0
1
-3
-8
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-7
2
2
4
2
-3
5
-1
0
1
3
4
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
-13
-4
-11
-26
5
5
21
11
9
-19
-12
57
19
6
1
-32
-2
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
26
-18
3
34
57
-65
7
58
-4
12
-12
-17
-11
0
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
4
5
11
1
-2
-18
5
14
-6
-19
-1
43
28
-29
-1
57
-13
-25
-2
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
99
37
16
152
-18
107
-85
60
27
0
104
-79
14
4
0
-20
9
-5
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
-4
12
-24
-15
15
92
33
5
-4
9
18
-43
0
-24
72
18
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
-4
-26
-23
0
11
96
21
7
0
30
-1
-1
4
9
48
5
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-9
4
-11
-7
-5
-6
33
-16
-23
-47
5
-15
19
38
31
-6
2
-72
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
94
-1
11
73
-21
28
-61
-21
-31
0
4
-106
9
-66
-1
21
-51
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-37
-42
42
-2
-14
-18
5
20
19
8
53
13
12
-1
2
28
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-28
4
-2
1
-25
7
-3
-8
0
0
-1
-6
1
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
37
12
41
-4
9
47
5
-16
3
54
32
15
-12
88
-17
-45
25
62
26
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
8
-55
25
-5
-24
26
-33
-2
-1
27
-12
41
9
0
-5
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-70
13
-28
0
5
-63
-22
29
3
-1
-5
1
4
-1
37
75
-20
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
16
28
1
-33
22
1
-8
-3
0
2
-2
-5
0
-19
-22
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
4
24
-8
53
-68
-6
25
19
-4
20
52
-1
-2
-32
-75
10
2
-41
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
36
-39
34
4
-136
-14
14
11
0
10
15
5
-3
11
6
12
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-49
10
3
-10
-55
19
50
-1
-1
-7
-10
-54
-9
1
-3
-11
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
22
-8
5
4
0
50
-3
-7
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
12
3
-3
-29
-10
69
-21
-23
32
98
-63
111
9
-85
11
-112
-34
-2
133
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-81
13
12
0
-70
0
-67
52
59
-36
80
-21
39
-24
-44
12
-27
-10
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
31
-8
-13
6
17
16
-18
-16
14
1
-7
-1
-4
0
4
-9
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
6
0
0
12
16
-1
14
0
0
0
3
-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
-49
-67
-6
47
59
-23
-79
52
128
14
-31
85
-29
-22
-38
13
10
32
-2
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
53
-46
-112
99
-3
70
65
61
-10
56
-25
15
-42
13
-33
-35
8
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
16
39
2
0
5
-13
9
1
0
-1
0
-6
2
-1
2
-10
9
2
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
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
-41
33
-12
5
-73
-119
-24
37
55
46
27
8
-64
-98
26
84
-39
85
47
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-31
-34
89
6
29
-32
-21
-21
2
1
7
-26
16
-1
5
5
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
29
0
0
6
-13
-15
3
0
4
6
-2
1
-4
2
-23
-10
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-13
26
1
0
4
5
5
0
0
-1
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
-9
45
-79
-14
28
-27
52
-94
65
23
51
-47
34
8
22
-14
-80
-62
-45
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
30
93
20
-117
10
-65
0
-24
39
-5
0
55
21
3
-5
15
-48
-34
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
16
60
-25
22
-15
-11
9
-4
10
7
-24
-9
-20
1
10
-15
47
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
-65
-23
35
-43
-15
49
7
-19
3
1
0
-35
0
0
-1
-15
2
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
18
-17
77
106
4
-38
22
102
81
9
-59
70
-18
-57
-45
17
101
27
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
15
3
0
-4
-10
11
-10
-40
7
-14
-66
-59
-7
83
135
21
-17
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-7
16
42
-44
-2
54
29
11
-34
0
19
5
17
-1
1
8
-11
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-33
28
13
12
-36
54
1
-2
0
26
9
-5
0
-2
0
-7
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
48
-75
219
22
17
-22
61
-16
-30
-99
11
1
17
-21
79
-58
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-30
5
19
-14
15
-49
-23
8
2
79
59
-32
-25
10
-55
-27
-15
42
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
11
-22
0
-1
32
12
-4
5
-2
0
24
9
7
0
0
10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
35
-32
1
3
2
-13
-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
-59
-39
12
-18
97
-28
14
-14
26
-94
1
14
-90
38
31
0
120
-25
-35
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
-50
-25
81
-65
35
1
-60
-8
109
-123
197
-78
50
28
-76
34
16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
11
45
1
15
20
-24
-56
3
-8
26
14
0
0
51
34
32
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-21
-16
-15
0
0
23
0
22
0
0
2
0
3
0
-5
-19
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-33
47
-25
-13
-19
50
-76
74
-20
10
-21
-1
-5
9
-9
1
-2
13
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
13
-10
6
-61
-8
1
139
11
-24
0
-37
45
-17
-95
-25
-95
35
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
9
14
-13
16
14
15
-58
3
0
7
-43
12
-5
3
3
28
44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-38
-16
-6
12
10
-19
-2
8
1
3
3
10
2
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
12
8
-56
4
31
-30
46
-51
-105
-46
-5
5
62
-14
-8
-21
-145
58
-47
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-18
-19
44
-75
42
-26
39
168
39
-53
73
155
-53
-74
-49
-52
10
-50
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
4
-19
0
67
16
-8
-8
-14
2
63
-22
5
0
-56
-13
-31
14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
18
2
-22
0
4
-8
-14
-13
-5
0
-2
-4
-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
-6
-117
8
12
47
-35
-33
43
-7
-8
12
-20
-76
-52
24
-41
3
7
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
26
23
-25
-34
-9
33
-38
61
43
8
4
-83
115
73
-3
50
102
-12
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
69
-13
14
0
56
-64
37
14
-3
0
-8
-1
0
0
0
19
-3
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
1
0
-2
4
1
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
-46
11
110
2
32
23
-30
-34
-56
0
-10
-29
-13
4
-19
1
-4
6
44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-45
22
86
-51
20
-1
46
-36
-52
-9
-39
-47
-1
-46
8
51
49
-67
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-33
21
42
-17
50
15
12
-66
-1
6
-20
-10
0
0
16
26
50
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-7
0
1
-1
14
-1
-5
-4
0
0
1
5
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
6
27
-89
-31
-72
-6
47
74
-95
14
-68
1
49
72
19
-80
2
-13
13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-57
-62
-63
86
-20
31
13
61
-1
-19
-39
-3
125
-132
-29
-13
96
-51
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
4
56
26
-22
-1
-11
-10
43
5
-43
6
58
-28
33
31
28
0
-35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
48
-1
37
34
-6
3
14
-47
65
0
22
-41
27
-2
0
9
-20
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
49
-60
30
-10
5
-14
-57
-10
-14
0
21
7
22
0
13
28
-26
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
10
-53
-5
-2
-42
14
2
-4
0
19
-3
12
-6
0
10
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
15
7
0
25
-2
3
12
-12
-27
61
2
9
18
93
43
-3
12
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
87
-37
19
-17
-45
6
-40
-9
-13
-14
27
-17
-12
0
-8
22
-1
-55
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
55
2
18
-16
45
-51
-32
-27
17
0
24
-39
4
0
13
4
-8
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-66
-10
-22
-10
31
-91
55
20
12
0
-5
-20
3
0
0
0
-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
50
11
32
11
17
-8
179
13
108
-1
8
-22
-17
-49
-26
76
-85
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
96
-2
56
-31
14
22
-7
8
3
-4
8
33
19
-8
0
7
2
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
-20
-29
-2
2
0
-18
-33
-5
0
7
10
-11
1
-5
-22
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-29
9
1
0
-14
1
6
0
0
0
-4
-3
-3
0
5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
39
7
54
-28
26
50
15
0
6
14
-29
91
-11
-10
17
-119
-26
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
12
-33
-8
-35
-28
42
76
-11
2
0
33
-15
1
81
-28
19
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
29
9
23
-8
-2
-43
6
22
5
1
-51
43
17
0
-10
-61
55
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
37
-50
-62
0
2
22
13
-43
-2
0
5
-5
2
-1
-5
12
-7
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
38
21
21
40
5
-43
57
4
-14
-79
59
-33
21
-14
21
-39
60
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
25
38
1
-10
-1
-10
-1
2
-6
0
13
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
22
1
27
1
10
0
29
21
-4
9
0
1
0
1
0
-3
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
10
4
0
0
0
0
6
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
0
0
0
-53
41
-22
40
30
25
-21
0
6
39
3
-5
7
-12
21
-62
48
53
-45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
7
-54
29
4
-3
-7
-3
-11
-5
8
0
3
1
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
33
10
50
11
-16
14
-37
-28
-7
-6
0
-3
-8
-2
0
7
15
1
4
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
1
2
0
-6
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
52
-13
5
10
17
0
122
-11
30
1
-24
-161
6
27
-7
-41
18
-8
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
1
0
0
-16
6
0
-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
3
7
1
0
0
-1
-12
14
0
0
0
2
-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
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
-32
-7
-9
13
-79
-28
8
10
15
23
-13
43
-20
-49
25
-18
3
-69
21
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-6
23
1
0
2
42
-3
3
2
-2
1
-2
0
3
-1
16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-97
-11
1
32
5
9
8
4
1
5
6
0
0
-1
3
-31
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
35
13
1
1
0
3
-1
0
0
0
2
-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
-47
68
70
-37
56
44
3
-61
62
2
14
6
-27
45
10
46
8
19
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
-20
4
21
-1
-82
39
19
-22
-4
-83
20
37
2
-2
3
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-84
50
-2
0
0
17
8
0
0
0
2
1
-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
-20
-33
49
3
1
0
-9
-5
0
0
0
3
-2
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
48
47
38
34
11
31
-41
-14
8
64
-27
-13
-29
3
-2
-14
-2
22
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-44
-4
-5
-27
-15
0
-56
96
0
0
-25
17
-5
-2
-1
-48
8
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
-7
-8
0
-53
41
-8
-1
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
-2
2
-1
0
6
9
-18
1
2
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
-24
16
-32
-7
13
13
-1
5
-13
-3
-4
46
-3
41
-35
8
-20
39
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
14
24
-1
3
-9
39
1
-1
-3
14
31
-12
-1
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
-16
32
39
1
1
0
8
15
-4
5
0
-1
1
0
0
-1
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
3
-2
0
0
0
-3
-2
-1
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
0
0
0
-12
19
49
-6
-6
16
-65
-43
9
6
-6
-37
10
25
-3
-4
43
-94
32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-26
37
-1
1
-4
91
-47
10
-20
0
1
34
3
1
2
52
23
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-6
0
3
-5
57
0
3
0
2
13
0
0
-2
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
5
-8
1
0
-3
-15
9
7
1
0
0
19
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
-33
34
-60
35
-2
12
-24
52
-61
-5
5
19
18
2
-2
2
13
54
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
4
-3
0
19
11
-37
3
1
0
2
-5
-1
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
-74
86
-61
6
-3
-1
-16
10
-1
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
1
3
6
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
68
56
17
31
19
-42
57
-69
11
52
-12
69
-17
2
0
42
-100
19
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
16
-12
-4
-9
1
28
-4
-7
-1
0
0
3
0
0
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
38
-20
0
-1
-27
27
-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
-4
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
4
43
43
-24
-30
11
-14
18
20
9
8
-14
38
-17
-3
10
24
21
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-61
4
1
0
-4
-35
0
-4
0
4
-10
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
-9
-11
10
2
-4
0
5
-29
-3
2
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
4
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
15
65
61
54
-44
-26
49
30
71
33
21
18
-29
-47
0
50
27
38
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
56
4
0
-4
1
48
12
0
0
3
-16
-2
0
-10
-9
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
10
-16
5
-1
-26
7
41
-7
0
2
-2
2
0
-2
-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
-31
-3
-3
0
1
4
3
-2
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
8
-23
10
39
11
-50
70
39
20
-4
4
-17
1
-56
-3
20
-35
15
47
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
33
-37
8
17
-2
5
-25
-20
0
-8
1
2
-3
0
9
-1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
4
2
-5
42
4
10
2
1
-10
9
5
-14
33
13
-7
8
-9
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
20
-10
13
53
2
2
-74
7
-28
0
105
-35
-21
-6
-1
-100
-63
-13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-42
17
22
37
-46
55
-15
-59
-26
-9
136
21
5
1
-15
44
33
19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
-10
0
4
87
31
-10
-16
-13
0
-2
-13
-1
1
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
-12
5
12
-3
16
15
1
11
11
57
-3
24
-15
-47
25
30
-11
0
19
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
20
-1
42
-3
-37
-28
-70
73
-12
0
90
-111
81
-7
-3
18
17
50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
79
-15
-28
4
26
-86
35
12
2
-9
-16
57
1
0
-2
25
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
7
-1
0
-1
-17
2
0
3
0
0
-1
3
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
-12
38
16
19
11
6
28
5
37
16
65
23
9
45
-28
-78
9
-27
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-64
55
-48
28
-2
-39
-137
90
75
-47
-12
-62
16
-4
-65
-37
-1
-24
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
29
82
-13
-1
48
-56
38
0
11
-38
9
3
0
-52
13
6
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
12
1
0
-5
3
-9
7
0
0
-2
8
-3
0
-13
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
30
23
18
8
-21
6
-2
41
24
14
31
-13
-82
30
34
-43
0
-1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
43
34
-67
-29
-11
75
26
-46
-24
38
-39
4
-40
16
34
0
9
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
75
6
-56
23
7
66
-18
17
-27
34
-37
26
20
0
14
-1
-21
12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-28
4
-10
-14
-3
-1
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
-27
-16
16
32
13
-92
32
50
26
16
-17
14
-15
79
48
-63
72
-1
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
63
53
5
0
44
8
-14
-2
0
3
1
-6
3
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
23
-9
88
49
-64
-14
128
7
-41
0
-2
34
45
15
-3
0
44
-39
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
-12
0
0
15
-6
2
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
-41
2
34
-81
42
-14
25
-13
-15
47
-33
-86
57
85
-4
-44
13
-4
-44
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-38
-31
58
-10
9
-32
-27
17
8
0
4
14
24
-1
0
-3
-12
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
29
6
31
-3
-5
-3
0
5
1
-6
-12
-8
16
0
1
15
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
3
0
1
0
6
-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
42
-1
-7
-2
33
-40
-30
-86
113
-15
-100
0
35
-47
-18
-15
-11
-53
66
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
188
65
-94
-33
-5
40
48
-36
49
4
-107
53
-6
3
0
-60
5
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
53
-27
21
-1
25
29
-46
-27
11
0
17
64
-19
0
14
-75
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-8
-18
10
-3
2
9
-8
4
0
3
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
10
1
17
84
26
73
-56
-8
-6
73
-61
45
-19
-24
-57
-3
-52
13
10
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
61
-61
-73
-106
-1
-62
-49
55
1
-2
74
-4
-20
-11
3
71
8
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
35
-45
-4
2
-20
42
-60
13
-5
25
-34
29
-6
1
15
-79
8
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-57
24
-28
0
7
0
7
-12
1
0
8
4
0
0
0
-9
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
23
-3
-12
30
-45
36
59
-95
-5
-1
-23
-47
-33
97
8
54
0
62
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
3
0
0
6
29
-13
-12
-19
47
50
36
0
25
-69
66
1
-103
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
25
80
16
27
-56
-52
62
23
-9
25
48
-9
1
-15
103
18
-4
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-1
-10
5
-26
-47
-9
2
1
0
6
3
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
84
-29
37
42
39
-144
-1
39
8
-51
34
37
-14
-5
35
54
28
6
-7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
24
3
-5
5
-2
-11
8
32
12
-49
15
42
78
64
63
8
-2
-79
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-15
-20
-9
11
23
39
12
-41
-6
4
-16
-34
7
2
-4
12
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
8
0
0
3
-8
10
1
-1
0
-3
3
-12
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
9
49
-22
-26
26
-115
26
32
4
27
-37
-108
29
4
55
-56
-49
134
22
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-34
2
42
19
-8
28
-58
61
21
5
98
-68
24
-132
-76
-8
40
-26
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-6
58
2
-6
5
14
-5
15
-1
-17
6
2
0
-7
17
-47
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-3
0
0
0
15
-7
0
0
0
0
6
0
0
-26
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-100
-11
15
17
38
-68
72
9
-13
20
40
62
31
-66
-58
-37
-33
-47
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-9
17
-23
11
-74
43
26
15
50
41
-13
-38
-18
-26
90
35
-19
22
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-61
120
-42
-7
-9
-5
-5
2
-21
0
56
-55
9
-1
-26
71
-8
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
4
51
-3
-20
7
17
22
9
0
-1
1
-3
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
29
-8
5
28
-42
-85
43
-1
-87
-7
26
-16
24
23
87
-6
-20
-28
43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
21
-11
60
-68
-91
-21
144
-75
54
-78
144
22
-38
-3
-35
-96
82
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-32
-7
17
25
-23
134
35
-32
16
-33
-48
31
-2
-16
21
24
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-21
-12
5
29
50
66
-17
4
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
-19
67
-11
-66
-23
22
-4
14
61
-60
-33
37
-23
42
-35
11
26
-75
41
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-40
-64
19
37
-44
-101
39
-75
21
-28
-40
3
12
-91
-13
-7
17
40
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
13
-15
-11
-9
26
-15
-33
-6
1
-11
3
-9
1
0
61
-9
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
17
-7
5
-1
9
17
8
0
0
1
4
8
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
13
-78
-18
41
6
73
58
-10
-39
-22
-14
-85
154
-5
20
-54
18
-81
123
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-4
10
-44
15
93
15
-35
16
-150
-49
-9
-35
-45
104
-7
-65
-47
12
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
90
-13
-5
-39
63
-67
-4
-24
2
-1
24
-45
-8
0
-6
-75
-19
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-65
34
-13
-1
-3
-5
26
-19
0
0
-3
-1
2
0
3
-5
-13
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
-31
47
-13
-13
32
25
-87
-18
-50
165
-79
-11
-28
4
47
-41
72
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-68
-55
-42
34
-55
-72
56
41
-47
-1
-98
-1
53
67
-62
-4
76
-3
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
-18
0
0
18
-10
4
0
0
83
8
5
0
0
-11
-22
3
0
0
46
91
3
0
0
1
17
136
0
0
-67
84
26
0
0
6
-14
-36
0
0
9
61
-69
0
0
-96
78
8
0
0
70
0
42
0
0
11
49
59
0
0
77
70
6
0
0
2
17
-21
0
0
52
76
-25
0
0
11
9
49
0
0
15
-32
20
0
0
75
-24
-7
0
0
-16
85
-28
0
0
36
41
6
0
0
93
-30
5
0
0
-68
10
110
0
0
12
-3
48
0
0
-76
9
106
0
0
-11
19
42
0
0
-79
-45
75
0
0
-20
0
81
0
0
23
57
-37
0
0
-33
52
37
0
0
3
-15
23
0
0
57
-23
45
19
15
16
-23
-78
0
0
-15
26
-15
0
0
16
29
18
0
0
27
29
69
0
0
-4
23
18
0
0
82
11
62
0
0
10
-1
11
0
0
11
13
40
0
0
-65
10
36
0
0
29
44
27
0
0
32
10
-21
0
0
-85
61
38
0
0
-5
2
40
0
0
52
17
-14
0
0
-48
31
4
0
0
51
38
-29
0
0
-31
78
-44
0
0
31
64
-86
0
0
65
85
25
0
0
-4
-61
28
0
0
-15
-21
39
0
0
-2
-65
52
0
0
-38
-6
-3
0
0
50
-11
-33
0
0
-55
-31
23
0
0
-37
69
-27
0
0
35
-19
69
0
0
1
-77
-20
0
0
-121
39
37
0
0
63
-61
-33
0
0
64
-26
-23
0
0
25
-40
-62
0
7
82
32
92
0
0
-7
-14
18
0
0
-17
-18
-62
0
0
20
9
29
0
0
22
14
80
0
0
-55
81
9
0
0
1
30
179
0
0
-20
3
-33
0
0
23
3
12
0
0
13
-63
49
0
0
-67
74
-3
0
0
159
76
-63
0
0
-34
50
-16
0
0
-10
-16
-1
0
0
-51
62
-16
0
0
46
2
-30
0
0
73
-13
-13
0
0
8
-31
109
0
0
5
-3
12
0
0
2
-21
-124
0
0
52
54
-13
0
0
-1
17
-3
0
0
-39
-17
-47
0
0
-4
-70
-18
0
0
2
-1
60
0
0
-33
94
-62
0
0
3
-93
-64
0
0
-1
113
-92
0
0
8
43
47
0
0
-4
-29
-53
0
0
-18
15
48
0
0
46
-71
-82
-5
-2
49
-27
12
0
0
-53
9
112
0
0
-29
19
-4
0
0
-8
8
-80
0
0
6
-2
-33
0
0
12
-25
61
0
0
100
41
-15
0
0
49
74
29
0
0
19
14
65
0
0
18
54
-16
0
0
35
56
1
0
0
-20
-73
55
0
0
7
16
-19
0
0
-11
22
-17
0
0
-10
6
-52
0
0
0
-135
15
0
0
31
102
-7
0
0
6
-1
-47
0
0
-85
-9
98
0
0
-28
-56
20
0
0
22
22
41
0
0
-103
-84
1
0
0
-20
10
7
0
0
-13
16
-3
0
0
-29
-6
43
0
0
4
-2
-10
0
0
-8
-3
-76
0
0
0
83
9
0
0
29
65
-77
0
0
44
21
27
0
0
-46
7
0
0
0
79
-83
-36
-9
-11
-16
-53
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-15
-4
25
0
0
17
96
-49
0
0
-74
65
-41
0
0
32
53
-45
0
0
-14
-85
25
0
0
58
6
4
0
0
-29
9
1
0
0
27
33
35
0
0
36
-54
24
0
0
176
2
42
0
0
60
40
16
0
0
-56
82
19
0
0
52
6
7
0
0
-61
-5
-1
0
0
41
30
-26
0
0
2
102
27
0
0
-59
89
73
0
0
20
-114
12
0
0
-43
-11
8
0
0
53
49
-6
0
0
14
-3
34
0
0
-15
-60
-11
0
0
68
3
4
0
0
-3
63
28
0
0
10
40
25
0
0
1
57
-20
0
0
-48
-39
15
0
0
0
-2
54
0
0
-12
70
-111
0
0
-102
9
84
9
0
-67
70
-55
0
0
-10
2
20
0
0
-6
33
66
0
0
25
12
-9
0
0
10
69
-41
0
0
10
-61
-19
0
0
64
31
43
0
0
22
-44
13
0
0
-15
46
-83
0
0
32
90
-4
0
0
59
68
57
0
0
78
-89
-35
0
0
-43
-52
50
0
0
-2
-4
77
0
0
18
-23
-80
0
0
-58
-12
5
0
0
-32
-47
17
0
0
32
-38
-24
0
0
-19
-36
10
0
0
-18
-5
-13
0
0
21
-37
11
0
0
49
33
41
0
0
53
20
-20
0
0
-13
30
13
0
0
-9
77
-28
0
0
-13
-53
-35
0
0
37
8
-17
0
0
0
-26
-3
0
0
8
-67
2
0
0
43
5
22
0
0
10
-70
9
0
0
-16
35
26
28
-26
-100
124
-20
0
0
-8
-63
16
0
0
-40
108
-18
0
0
6
-22
73
0
0
-35
55
102
0
0
-12
-7
4
0
0
-12
37
-2
0
0
10
-5
-24
0
0
23
-71
-2
0
0
-10
-17
43
0
0
30
-71
43
0
0
-47
71
-82
0
0
-46
-4
-44
0
0
38
23
-5
0
0
7
-12
0
0
0
-42
74
-76
0
0
-53
-37
26
0
0
-57
36
4
0
0
-21
41
18
0
0
28
-32
-3
0
0
-53
33
-5
0
0
18
-38
-10
0
0
0
-6
2
0
0
3
-12
1
0
0
79
-63
10
0
0
3
-10
3
0
0
0
-33
0
0
0
15
-60
15
0
0
-13
-1
7
0
0
60
78
13
0
0
0
41
-6
0
0
-35
75
2
31
-7
58
-123
22
0
0
-35
10
-21
0
0
6
-63
-36
0
0
-75
33
-47
0
0
-53
88
25
0
0
103
6
-6
0
0
-30
31
29
0
0
-10
-32
-5
0
0
-77
-54
14
0
0
59
-6
-78
0
0
61
20
45
0
0
33
-13
-29
0
0
77
-29
75
0
0
-2
-11
-8
0
0
-10
-7
56
0
0
5
-1
-15
0
0
-34
-65
-5
0
0
-31
25
10
0
0
32
-65
-15
0
0
-3
27
-4
0
0
92
94
2
0
0
0
-10
0
0
0
1
5
-2
0
0
3
-1
0
0
0
6
10
17
0
0
-2
-78
2
0
0
-2
67
7
0
0
0
0
-2
0
0
9
37
-9
0
0
50
-123
-20
0
0
-37
-34
0
0
0
-17
39
-1
-20
-24
-15
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
111
11
0
0
68
7
-17
0
0
102
20
112
0
0
13
-37
2
0
0
-58
20
-19
0
0
-41
46
-18
0
0
-20
20
-9
0
0
-27
69
49
0
0
115
-46
-58
0
0
23
-10
24
0
0
-10
87
-3
0
0
73
-20
28
0
0
35
-2
-49
0
0
29
39
-27
0
0
40
-14
-5
0
0
12
62
-11
0
0
9
16
23
0
0
26
-10
-8
0
0
7
17
25
0
0
4
8
-16
0
0
25
-6
35
0
0
68
-11
-8
0
0
37
-21
16
0
0
10
-47
-21
0
0
117
34
41
0
0
-160
34
26
0
0
-20
-52
26
0
0
-112
-38
-7
0
0
56
-41
4
0
0
-60
32
6
0
0
9
-6
36
1
1
-15
-18
-58
0
0
14
18
-12
0
0
6
20
28
0
0
-16
82
-16
0
0
42
17
42
0
0
29
-22
53
0
0
42
4
-34
0
0
-45
-47
20
0
0
-61
32
-47
0
0
19
-35
-12
0
0
9
58
-12
0
0
-48
-107
53
0
0
-8
33
-78
0
0
1
44
-2
0
0
14
-48
59
0
0
-47
91
7
0
0
-38
-7
-19
0
0
-18
-19
4
0
0
0
-24
-3
0
0
-40
-11
43
0
0
7
14
-31
0
0
-22
15
-44
0
0
49
-4
-52
0
0
20
-108
-75
0
0
-8
-13
-4
0
0
-18
100
55
0
0
71
14
48
0
0
99
-15
31
0
0
2
-8
20
0
0
28
-43
-12
0
0
-80
9
111
0
0
-46
52
-1
-9
1
2
33
-63
0
0
12
51
25
0
0
26
26
-17
0
0
-30
-12
-11
0
0
3
31
35
0
0
31
-46
-19
0
0
31
5
25
0
0
-19
17
6
0
0
10
62
3
0
0
-79
48
0
0
0
-48
0
-1
0
0
-2
-36
5
0
0
5
3
0
0
0
-11
14
1
0
0
0
-32
2
0
0
-73
63
24
0
0
89
34
-28
0
0
-15
-3
4
0
0
-2
13
-23
0
0
-42
31
14
0
0
20
24
-20
0
0
-9
-77
-47
0
0
-74
88
23
0
0
44
-13
-28
0
0
34
-66
73
0
0
22
27
-27
0
0
32
-11
-60
0
0
-27
-18
11
0
0
122
-6
-135
0
0
104
122
-13
0
0
5
19
-19
0
0
-12
-25
52
17
-3
-4
-51
-7
0
0
-50
-20
-61
0
0
-59
-45
-71
0
0
-38
34
10
0
0
31
-28
9
0
0
-27
1
59
0
0
-35
2
-1
0
0
-1
52
1
0
0
24
-11
7
0
0
0
-40
0
0
0
25
-25
-4
0
0
-42
-34
-14
0
0
-71
0
58
0
0
-51
9
-2
0
0
0
29
0
0
0
-2
-114
3
0
0
-19
-20
33
0
0
11
-5
10
0
0
2
-12
11
0
0
-16
62
9
0
0
11
1
-3
0
0
35
-26
54
0
0
-6
12
13
0
0
27
-19
-75
0
0
11
9
-12
0
0
-3
-47
-7
0
0
-2
7
29
0
0
-87
-32
97
0
0
15
15
-9
0
0
-81
104
33
0
0
64
-133
49
0
0
75
-65
-76
-22
-17
-35
-33
-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
-27
45
71
0
0
28
-89
-71
0
0
115
-131
-48
0
0
-53
-100
62
0
0
41
-48
29
0
0
81
-26
1
0
0
30
-45
0
0
0
33
44
-53
0
0
-15
-8
5
0
0
-25
-51
4
0
0
29
-33
-20
0
0
-10
72
-27
0
0
34
-102
8
0
0
-13
2
-16
0
0
15
-34
4
0
0
39
-87
-29
0
0
3
12
0
0
0
12
28
10
0
0
52
10
-85
0
0
19
-87
4
0
0
-95
20
-37
0
0
-7
-73
-85
0
0
-77
48
-8
0
0
-12
27
-37
0
0
4
12
15
0
0
-2
19
5
0
0
6
-7
12
0
0
19
28
6
0
0
12
4
57
0
0
1
0
22
0
0
56
34
3
5
-2
-37
-4
54
0
0
-4
17
91
0
0
-25
-24
-37
0
0
-46
-70
-9
0
0
-19
-3
-58
0
0
22
31
-15
0
0
62
-74
-2
0
0
0
64
0
0
0
-70
41
-20
0
0
31
-37
17
0
0
-101
-43
52
0
0
22
26
24
0
0
-49
57
-23
0
0
7
7
3
0
0
18
32
4
0
0
2
-39
5
0
0
-17
7
5
0
0
-15
-95
129
0
0
49
-92
-36
0
0
-34
156
86
0
0
-70
-50
105
0
0
-109
52
9
0
0
2
-27
-82
0
0
28
-65
24
0
0
-115
24
44
0
0
8
0
-13
0
0
-15
-4
31
0
0
0
-23
35
0
0
38
26
-45
0
0
25
43
-26
0
0
55
50
28
0
0
21
23
-27
-1
-8
-43
-14
62
0
0
21
16
39
0
0
-18
14
-10
0
0
18
33
5
0
0
-99
81
23
0
0
-35
13
7
0
0
-16
0
0
0
0
17
-40
-5
0
0
-28
20
7
0
0
25
17
0
0
0
3
8
0
0
0
13
-111
11
0
0
29
-21
8
0
0
2
-16
0
0
0
0
-18
0
0
0
4
13
3
0
0
-22
-48
-2
0
0
-28
15
-2
0
0
-71
53
-83
0
0
20
-41
-104
0
0
-26
-61
5
0
0
-28
-9
-17
0
0
5
-43
-64
0
0
-90
-45
21
0
0
-9
-37
-2
0
0
15
0
-5
0
0
-10
29
40
0
0
27
10
-49
0
0
11
27
23
0
0
-71
15
-47
0
0
0
6
-12
0
0
-43
59
-6
22
-18
-21
-16
13
0
0
-1
10
9
0
0
-23
-9
-11
0
0
-39
42
-45
0
0
-28
-2
-9
0
0
-6
-16
-6
0
0
-16
-28
10
0
0
-18
10
0
0
0
-91
31
-32
0
0
-8
35
3
0
0
0
-1
0
0
0
-4
26
5
0
0
-61
-39
61
0
0
0
2
-1
0
0
-1
2
0
0
0
9
1
4
0
0
-4
-23
7
0
0
-18
-137
-20
0
0
84
-62
6
0
0
19
112
-102
0
0
0
1
-67
0
0
22
34
-6
0
0
4
-61
26
0
0
-88
64
-64
0
0
-47
23
-41
0
0
7
5
-8
0
0
46
-52
-35
0
0
24
-2
-114
0
0
8
-2
11
0
0
-1
12
105
0
0
15
-53
-47
0
0
-10
31
89
-22
-10
-71
-97
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
19
18
-24
0
0
13
43
22
0
0
28
145
49
0
0
41
88
-12
0
0
17
-10
42
0
0
70
41
37
0
0
19
-44
-7
0
0
41
-48
54
0
0
34
131
-33
0
0
8
-1
-43
0
0
-49
86
38
0
0
19
80
99
0
0
76
-5
62
0
0
-4
1
0
0
0
83
-68
-51
0
0
16
80
38
0
0
90
-16
64
0
0
-33
39
57
0
0
65
-23
-3
0
0
8
12
67
0
0
-90
44
16
0
0
-45
46
40
0
0
50
-94
45
0
0
11
99
-41
0
0
162
47
34
0
0
-29
-3
46
0
0
-86
13
104
0
0
4
-24
-41
0
0
-38
-28
-74
0
0
-5
-4
40
0
0
-43
-25
-53
5
16
7
31
93
0
0
23
24
40
0
0
35
48
42
0
0
-7
55
-18
0
0
-12
18
4
0
0
-46
-40
-39
0
0
6
96
-7
0
0
-13
64
34
0
0
44
-48
60
0
0
15
4
57
0
0
56
84
-32
0
0
-54
23
12
0
0
19
15
-53
0
0
-15
3
-24
0
0
45
21
-30
0
0
3
-6
15
0
0
57
-4
100
0
0
34
15
-31
0
0
-44
33
54
0
0
22
90
22
0
0
-11
-9
-44
0
0
-60
30
8
0
0
-3
-35
42
0
0
-21
51
-3
0
0
52
33
71
0
0
-33
-22
-9
0
0
43
48
23
0
0
-36
-22
-19
0
0
90
32
13
0
0
-51
1
5
0
0
11
-38
92
0
0
64
-1
42
15
20
18
-62
11
0
0
-13
-47
49
0
0
29
46
-38
0
0
54
76
-11
0
0
61
41
-76
0
0
-19
-22
-7
0
0
-66
3
19
0
0
40
-28
-2
0
0
-24
69
46
0
0
50
15
-23
0
0
-53
-5
98
0
0
24
-7
-13
0
0
-13
101
-65
0
0
-28
-15
-4
0
0
-2
36
-47
0
0
-19
62
-8
0
0
35
25
45
0
0
52
38
-7
0
0
44
-66
57
0
0
16
-14
-16
0
0
52
3
-34
0
0
-76
-31
37
0
0
-75
16
-9
0
0
4
-49
19
0
0
8
26
116
0
0
-4
45
46
0
0
26
-60
6
0
0
-4
-24
-44
0
0
36
-24
5
0
0
65
55
23
0
0
-21
-6
27
0
0
112
-26
-26
29
18
-62
-111
2
0
0
1
-7
2
0
0
1
-36
15
0
0
8
38
44
0
0
15
9
65
0
0
-133
72
84
0
0
15
8
-13
0
0
-59
-12
13
0
0
-29
67
-36
0
0
-9
-3
42
0
0
11
58
-44
0
0
119
-106
48
0
0
38
135
-48
0
0
29
29
-5
0
0
-8
2
-12
0
0
21
-12
-18
0
0
50
-137
-59
0
0
91
1
20
0
0
-72
145
66
0
0
3
8
-51
0
0
20
5
-13
0
0
-2
-45
-14
0
0
-4
-48
12
0
0
3
-43
-12
0
0
2
-22
100
0
0
25
57
0
0
0
-26
24
-15
0
0
15
-31
-12
0
0
26
13
93
0
0
-19
-29
7
0
0
8
-2
-61
0
0
-65
-16
-41
3
15
-52
-13
116
0
0
28
21
-6
0
0
38
5
-11
0
0
-23
-66
-27
0
0
-57
1
76
0
0
21
69
10
0
0
21
-10
51
0
0
46
-21
1
0
0
9
-21
69
0
0
1
62
-3
0
0
15
-11
37
0
0
17
11
-9
0
0
-20
9
5
0
0
-6
-21
0
0
0
1
21
-6
0
0
-6
28
26
0
0
5
47
9
0
0
-17
-76
-6
0
0
20
15
16
0
0
-12
-2
-3
0
0
20
-29
-3
0
0
28
26
2
0
0
30
40
22
0
0
10
0
-2
0
0
17
-81
-13
0
0
15
-5
0
0
0
-17
-135
-28
0
0
1
33
15
0
0
-47
-60
-23
0
0
-51
162
2
0
0
14
-21
4
0
0
-9
-1
-3
1
11
-38
35
5
0
0
53
26
50
0
0
-28
9
-5
0
0
-119
65
44
0
0
-23
49
12
0
0
96
-74
46
0
0
26
-37
1
0
0
-23
-10
-3
0
0
-48
-46
-5
0
0
69
-22
-28
0
0
69
-28
34
0
0
0
-47
-15
0
0
-14
-38
11
0
0
-12
-1
-2
0
0
10
15
-5
0
0
6
13
-1
0
0
-19
92
6
0
0
-62
-13
-40
0
0
47
17
45
0
0
-3
31
-2
0
0
54
-26
-3
0
0
5
-2
1
0
0
-16
-75
0
0
0
0
4
-2
0
0
-29
-49
-1
0
0
-2
7
-19
0
0
-24
-44
19
0
0
-52
64
-50
0
0
34
15
-23
0
0
40
-33
-12
0
0
-32
31
-56
0
0
-4
102
-5
16
0
9
-21
7
0
0
3
33
41
0
0
52
19
-86
0
0
-19
27
-29
0
0
111
41
-75
0
0
43
6
6
0
0
-16
12
-13
0
0
2
20
-5
0
0
23
43
-25
0
0
48
-2
2
0
0
-45
18
-5
0
0
1
-14
17
0
0
21
-23
-2
0
0
0
18
4
0
0
0
10
0
0
0
0
-15
0
0
0
-9
19
-5
0
0
30
28
-9
0
0
-69
-1
-5
0
0
8
-4
0
0
0
-45
13
-1
0
0
10
5
-1
0
0
2
1
-1
0
0
0
0
1
0
0
-15
-23
-5
0
0
5
-17
0
0
0
6
10
-3
0
0
-2
-9
-12
0
0
-14
8
13
0
0
-13
-52
4
0
0
-10
-7
4
0
0
-15
-24
3
26
-1
39
-72
-7
0
0
49
-18
74
0
0
-21
-1
-1
0
0
1
-21
-90
0
0
-2
68
5
0
0
-36
-15
45
0
0
76
28
-51
0
0
-10
78
8
0
0
-20
21
-66
0
0
-33
60
9
0
0
-60
-17
-21
0
0
-15
30
-21
0
0
27
-56
12
0
0
-19
19
10
0
0
2
-8
0
0
0
1
57
-24
0
0
-52
-9
-15
0
0
-41
42
-20
0
0
-32
-51
16
0
0
-20
7
2
0
0
144
22
-1
0
0
-1
10
-20
0
0
-1
7
0
0
0
-2
15
1
0
0
12
68
-2
0
0
-8
30
21
0
0
-28
-38
29
0
0
-6
40
4
0
0
18
6
13
0
0
-44
37
34
0
0
-6
54
-53
0
0
37
-17
10
-17
13
-4
-12
-18
0
0
-18
35
-41
0
0
58
27
-16
0
0
89
-2
37
0
0
-56
-35
49
0
0
3
-6
10
0
0
118
-24
-35
0
0
8
18
5
0
0
-11
64
-7
0
0
-5
38
-16
0
0
65
27
43
0
0
94
-138
32
0
0
60
-71
-9
0
0
54
-45
44
0
0
5
0
44
0
0
43
2
21
0
0
-42
97
-88
0
0
-25
20
12
0
0
-74
-29
-81
0
0
83
-3
3
0
0
-57
-34
29
0
0
8
28
0
0
0
-1
72
20
0
0
-7
31
15
0
0
35
-43
24
0
0
16
117
-19
0
0
25
-11
-12
0
0
-5
13
13
0
0
-15
8
-41
0
0
-37
91
13
0
0
1
42
-34
0
0
-9
41
-11
28
2
-53
-40
13
0
0
41
71
-20
0
0
17
7
-9
0
0
13
-26
32
0
0
19
-19
-24
0
0
-12
98
15
0
0
56
-59
66
0
0
5
4
0
0
0
-122
65
-3
0
0
0
-63
21
0
0
23
-69
18
0
0
60
-26
-13
0
0
43
22
18
0
0
0
34
-9
0
0
-9
-6
-6
0
0
-14
-28
-11
0
0
11
51
53
0
0
51
20
-16
0
0
12
60
-16
0
0
-51
-28
-6
0
0
90
-38
1
0
0
7
12
2
0
0
-4
11
-9
0
0
-5
-49
-4
0
0
0
-85
-21
0
0
-33
-56
-55
0
0
21
46
1
0
0
0
67
-15
0
0
16
73
-35
0
0
42
6
-4
0
0
1
12
-12
0
0
1
31
28
-3
4
20
-40
2
0
0
18
-10
22
0
0
1
-10
8
0
0
-27
-7
30
0
0
-25
-22
60
0
0
-61
12
14
0
0
63
18
-14
0
0
-13
-3
0
0
0
20
34
9
0
0
-10
-49
13
0
0
-27
-29
9
0
0
-47
44
-3
0
0
61
-38
18
0
0
7
28
-2
0
0
-2
-1
-3
0
0
-6
5
0
0
0
-49
-13
1
0
0
-22
-13
2
0
0
34
39
4
0
0
-3
17
11
0
0
-8
-5
-13
0
0
37
-48
-11
0
0
-4
-6
-50
0
0
-1
3
-8
0
0
-8
37
16
0
0
0
68
-33
0
0
40
-8
5
0
0
1
15
2
0
0
-3
-42
-6
0
0
3
-19
3
0
0
5
12
-1
0
0
31
15
1
5
-28
41
-42
-45
0
0
58
15
34
0
0
42
4
-65
0
0
14
43
-3
0
0
59
-32
15
0
0
27
132
-18
0
0
-54
-50
40
0
0
-10
-26
-13
0
0
30
66
16
0
0
21
6
-12
0
0
52
13
45
0
0
58
2
-12
0
0
5
33
7
0
0
1
6
0
0
0
-5
15
0
0
0
-7
25
13
0
0
-17
-60
-38
0
0
-9
90
1
0
0
2
-89
-18
0
0
-17
-58
-1
0
0
-64
-14
9
0
0
34
-35
2
0
0
1
10
-10
0
0
-7
-20
7
0
0
-16
25
4
0
0
27
17
3
0
0
-18
27
-6
0
0
3
-20
-11
0
0
-95
36
20
0
0
-6
-72
2
0
0
-2
16
-11
0
0
-24
-96
-2
11
3
-96
-69
-68
0
0
22
16
50
0
0
23
6
62
0
0
-29
28
-22
0
0
-61
-42
0
0
0
-6
2
9
0
0
-71
0
2
0
0
21
-18
10
0
0
15
41
-1
0
0
-15
-21
1
0
0
-33
21
-1
0
0
23
25
5
0
0
-70
9
22
0
0
0
-2
2
0
0
0
0
0
0
0
0
-6
9
0
0
-5
13
0
0
0
0
-50
-33
0
0
106
-28
47
0
0
4
-14
-13
0
0
44
36
2
0
0
-72
9
-6
0
0
5
-12
0
0
0
0
20
1
0
0
-45
-37
-43
0
0
16
66
0
0
0
-5
4
10
0
0
0
-15
2
0
0
-7
15
-16
0
0
9
-51
0
0
0
-6
-8
2
0
0
51
0
-3
-3
-14
11
41
-13
0
0
-41
-20
39
0
0
-11
-41
35
0
0
71
-35
47
0
0
-38
-19
-27
0
0
-3
6
-37
0
0
39
84
1
0
0
-7
-15
2
0
0
-87
44
-5
0
0
91
-38
22
0
0
-33
-48
4
0
0
11
-49
-1
0
0
-170
-75
2
0
0
1
56
0
0
0
-5
18
0
0
0
3
14
1
0
0
35
-1
-1
0
0
-41
-28
0
0
0
27
-13
-3
0
0
18
-6
3
0
0
-90
27
10
0
0
0
-16
9
0
0
2
0
-10
0
0
-1
2
0
0
0
7
3
-1
0
0
13
50
-32
0
0
15
-34
2
0
0
-5
-9
6
0
0
-19
-30
1
0
0
-13
42
-6
0
0
12
-31
-2
0
0
20
24
-4
-13
26
10
-7
8
0
0
-4
26
-12
0
0
1
16
28
0
0
-39
31
-119
0
0
3
29
114
0
0
2
78
-5
0
0
33
37
-6
0
0
9
3
-4
0
0
-23
-69
-6
0
0
-8
12
-4
0
0
20
5
-30
0
0
-41
53
8
0
0
-21
9
20
0
0
0
-2
0
0
0
0
4
0
0
0
-2
15
0
0
0
29
-17
0
0
0
29
-11
-13
0
0
-42
13
-2
0
0
-9
13
0
0
0
-11
44
-4
0
0
-29
-1
-3
0
0
-2
-2
-9
0
0
-1
-12
0
0
0
-15
-53
-8
0
0
-2
25
15
0
0
28
4
4
0
0
-5
-21
1
0
0
-4
-7
7
0
0
10
-75
0
0
0
4
38
-1
0
0
-33
10
-2
-38
-23
43
-33
41
0
0
-33
16
-49
0
0
38
21
-16
0
0
-39
2
74
0
0
33
39
29
0
0
-32
-64
45
0
0
49
-62
-13
0
0
-19
11
-10
0
0
2
50
-19
0
0
-18
16
16
0
0
63
-87
5
0
0
21
22
-8
0
0
6
-39
-4
0
0
-14
-75
-1
0
0
-6
0
-1
0
0
1
0
-14
0
0
34
-38
-5
0
0
-1
-33
64
0
0
-41
-24
17
0
0
14
54
-9
0
0
-76
141
-3
0
0
-6
32
-14
0
0
-10
-6
-9
0
0
-2
2
3
0
0
-43
-144
-29
0
0
5
26
-2
0
0
-50
13
-2
0
0
1
16
3
0
0
34
-38
-2
0
0
82
-2
4
0
0
-6
-50
0
0
0
-40
-47
26
-6
35
2
-83
-13
0
0
27
-2
14
0
0
-58
-29
1
0
0
44
-140
6
0
0
0
105
-10
0
0
3
67
-9
0
0
57
-69
-8
0
0
-45
15
0
0
0
17
-79
-1
0
0
-32
12
9
0
0
-39
-41
5
0
0
4
15
15
0
0
-86
-38
-28
0
0
-7
65
-22
0
0
60
-7
0
0
0
-80
4
5
0
0
-58
18
27
0
0
23
16
14
0
0
40
38
-8
0
0
6
35
13
0
0
5
3
8
0
0
-34
20
-7
0
0
-4
52
25
0
0
-60
29
-31
0
0
10
15
4
0
0
-12
9
-37
0
0
53
37
-26
0
0
11
-4
-22
0
0
-27
40
20
0
0
-92
41
18
0
0
-66
-11
50
0
0
-3
13
-38
17
1
-36
9
28
0
0
3
34
-27
0
0
27
85
-7
0
0
27
17
5
0
0
-4
-55
85
0
0
82
-98
-7
0
0
-15
110
69
0
0
-10
0
1
0
0
-26
19
-50
0
0
-84
17
3
0
0
42
-27
-9
0
0
-24
25
23
0
0
26
50
28
0
0
-122
1
-11
0
0
-7
6
-60
0
0
-47
135
-52
0
0
7
-52
-29
0
0
11
8
2
0
0
8
29
-12
0
0
15
8
49
0
0
-3
53
-42
0
0
-29
-10
69
0
0
33
40
6
0
0
29
2
38
0
0
-83
82
32
0
0
-47
-89
17
0
0
-20
63
-38
0
0
-49
-31
15
0
0
-48
42
-35
0
0
6
-26
22
0
0
20
-70
-42
0
0
45
-38
-16
-8
-8
-50
27
142
0
0
27
53
-27
0
0
-27
-41
37
0
0
-2
-1
-8
0
0
38
17
12
0
0
8
-53
3
0
0
-77
4
-4
0
0
0
-3
-2
0
0
23
-33
6
0
0
1
-12
0
0
0
-11
10
-1
0
0
-5
19
-4
0
0
-10
-7
7
0
0
5
-10
0
0
0
-9
-3
2
0
0
13
-31
0
0
0
-2
9
-24
0
0
18
8
-12
0
0
46
23
20
0
0
-9
11
48
0
0
-62
16
8
0
0
-66
-39
-47
0
0
-14
-60
-42
0
0
-7
-4
-30
0
0
-54
-9
79
0
0
80
-78
-87
0
0
-36
-32
38
0
0
-7
76
-51
0
0
5
-5
-10
0
0
-49
48
-57
0
0
-69
25
43
0
0
-124
13
-11
-12
8
65
57
-8
0
0
29
14
-4
0
0
-10
48
6
0
0
21
-2
-102
0
0
-25
26
-9
0
0
-5
27
-9
0
0
16
2
-1
0
0
-12
9
5
0
0
130
-4
1
0
0
-32
12
0
0
0
20
2
-3
0
0
3
-38
12
0
0
3
-20
10
0
0
-4
10
-5
0
0
4
-42
-1
0
0
-2
14
2
0
0
-31
68
60
0
0
-17
-34
11
0
0
-36
47
0
0
0
-46
0
47
0
0
-3
-18
-78
0
0
-10
16
-47
0
0
-91
-17
-1
0
0
50
-58
-32
0
0
-93
-53
62
0
0
20
-55
-15
0
0
-8
-39
-72
0
0
22
103
-15
0
0
-25
22
16
0
0
117
-46
-36
0
0
-110
-23
82
0
0
-94
-3
7
-28
-21
-83
28
-105
0
0
-6
56
45
0
0
67
-59
6
0
0
24
-62
-27
0
0
-20
-2
11
0
0
37
-10
-1
0
0
9
-16
-3
0
0
5
0
-1
0
0
-25
15
-4
0
0
0
-25
0
0
0
28
2
0
0
0
-1
-23
-5
0
0
-44
-21
12
0
0
28
8
0
0
0
1
-46
1
0
0
-5
5
7
0
0
112
14
5
0
0
-32
21
71
0
0
15
39
-63
0
0
-29
23
-6
0
0
-1
11
33
0
0
11
11
-74
0
0
21
56
105
0
0
-70
-53
-41
0
0
116
16
-62
0
0
-32
10
-51
0
0
-21
-71
32
0
0
-25
-2
53
0
0
94
17
82
0
0
-9
88
40
0
0
-4
-15
-13
0
0
-37
26
-22
6
2
-4
54
-68
0
0
-6
-52
1
0
0
12
-1
16
0
0
115
7
-47
0
0
-119
23
32
0
0
24
-21
-1
0
0
-16
0
-8
0
0
-4
4
0
0
0
5
22
-1
0
0
75
0
-3
0
0
-61
64
-1
0
0
1
38
8
0
0
-20
71
0
0
0
1
-38
-3
0
0
0
-1
0
0
0
0
-27
2
0
0
-81
-46
46
0
0
-5
18
-6
0
0
-18
1
4
0
0
5
-68
-143
0
0
-140
-2
33
0
0
-66
-88
52
0
0
47
-7
97
0
0
-66
216
-6
0
0
58
28
-144
0
0
44
4
8
0
0
79
11
24
0
0
-58
-9
18
0
0
63
10
8
0
0
41
-39
-28
0
0
41
68
-12
0
0
17
8
41
-8
2
27
-73
-7
0
0
24
84
12
0
0
20
-5
-60
0
0
11
53
0
0
0
56
-170
7
0
0
-3
-4
0
0
0
5
0
-1
0
0
1
1
0
0
0
42
-2
2
0
0
0
28
0
0
0
-3
0
0
0
0
2
8
0
0
0
-4
0
0
0
0
5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-21
-19
7
0
0
-7
12
38
0
0
21
-14
-65
0
0
-41
-2
-16
0
0
1
-52
126
0
0
-27
101
3
0
0
7
-84
-116
0
0
-33
-10
-88
0
0
6
33
32
0
0
-80
8
25
0
0
6
20
17
0
0
-10
-77
-91
0
0
-67
-65
-106
0
0
10
-27
-48
0
0
2
-6
-18
0
0
-12
-65
27
-13
2
32
-71
26
0
0
-4
-12
41
0
0
-19
-29
-38
0
0
65
-40
31
0
0
15
46
2
0
0
4
12
2
0
0
0
-4
3
0
0
0
2
0
0
0
5
10
1
0
0
-10
-3
0
0
0
-1
-2
0
0
0
-48
-23
1
0
0
-53
82
3
0
0
0
-13
0
0
0
14
0
0
0
0
-4
-4
0
0
0
-31
-36
-8
0
0
1
-22
57
0
0
8
-38
-37
0
0
-76
27
-11
0
0
-12
2
-82
0
0
66
5
38
0
0
56
-35
-211
0
0
23
-108
8
0
0
-15
-45
-86
0
0
-42
25
98
0
0
-80
61
-74
0
0
76
58
-44
0
0
82
32
-96
0
0
-18
-12
60
0
0
5
14
-51
0
0
-14
-14
-82
-6
2
-93
103
43
0
0
-48
114
19
0
0
-12
-64
67
0
0
22
15
34
0
0
-8
62
-19
0
0
-24
-43
-29
0
0
-81
9
115
0
0
29
21
2
0
0
37
46
3
0
0
57
5
-2
0
0
20
-4
6
0
0
21
-25
-22
0
0
30
-83
2
0
0
84
29
-23
0
0
2
-18
11
0
0
21
8
8
0
0
40
55
1
0
0
41
-13
30
0
0
60
-35
-111
0
0
-47
-36
101
0
0
41
-55
22
0
0
28
4
51
0
0
-74
55
-8
0
0
94
-68
27
0
0
-35
7
-19
0
0
18
11
13
0
0
10
18
7
0
0
-5
3
23
0
0
-33
8
18
0
0
-36
0
-17
0
0
-7
-16
42
0
0
-5
4
94
9
2
-15
41
-3
0
0
-31
-61
-14
0
0
27
77
-12
0
0
18
9
-17
0
0
-67
53
62
0
0
142
-14
-5
0
0
-31
-26
23
0
0
-20
24
0
0
0
-122
39
18
0
0
25
26
-36
0
0
45
34
-17
0
0
73
-14
-4
0
0
6
1
-12
0
0
-28
8
4
0
0
4
-4
11
0
0
-13
44
5
0
0
4
-16
-70
0
0
5
-5
13
0
0
-68
-30
35
0
0
54
-35
39
0
0
8
31
-91
0
0
55
29
12
0
0
-39
6
29
0
0
12
-48
-36
0
0
-29
44
-34
0
0
-3
21
8
0
0
18
23
49
0
0
-22
-22
32
0
0
-31
47
-2
0
0
-28
-32
57
0
0
-5
-47
74
0
0
134
28
81
-21
-11
22
37
24
0
0
15
31
23
0
0
49
-12
-12
0
0
-1
95
32
0
0
-152
35
-3
0
0
40
-42
6
0
0
34
-11
-3
0
0
0
-6
0
0
0
80
27
-19
0
0
-9
-20
0
0
0
10
5
0
0
0
-10
5
3
0
0
-6
20
-5
0
0
3
9
-2
0
0
-2
-4
1
0
0
0
-6
0
0
0
93
-8
2
0
0
-14
-23
-18
0
0
-22
12
17
0
0
-74
-62
-56
0
0
3
-26
86
0
0
-75
-13
-24
0
0
17
-39
-46
0
0
2
20
-104
0
0
49
-36
9
0
0
-16
17
63
0
0
24
50
-54
0
0
79
9
57
0
0
-2
-23
14
0
0
-42
34
40
0
0
20
27
122
0
0
74
-11
37
14
2
-85
10
91
0
0
42
-31
27
0
0
-6
63
-31
0
0
-41
66
19
0
0
-26
-75
50
0
0
27
-56
57
0
0
-17
23
37
0
0
0
4
-2
0
0
-91
-35
-11
0
0
-41
29
2
0
0
-24
1
5
0
0
-16
7
3
0
0
-51
70
-2
0
0
-2
-3
1
0
0
5
0
0
0
0
-3
5
1
0
0
15
-53
1
0
0
-7
-15
-50
0
0
-1
39
39
0
0
-43
-27
-101
0
0
-49
-61
11
0
0
8
38
-3
0
0
3
-61
17
0
0
42
-81
-1
0
0
-85
4
-13
0
0
-14
23
0
0
0
-35
43
12
0
0
70
-52
17
0
0
11
-56
49
0
0
52
-10
76
0
0
80
-63
-24
0
0
16
1
-52
-15
-3
37
-44
-98
0
0
46
-5
55
0
0
-9
87
62
0
0
51
8
-16
0
0
-50
-5
-113
0
0
6
32
14
0
0
-10
-1
-47
0
0
2
-13
-4
0
0
31
-5
4
0
0
5
3
-41
0
0
55
13
6
0
0
-17
-4
-2
0
0
46
27
-29
0
0
-26
-13
0
0
0
-15
13
-4
0
0
-6
-1
3
0
0
-4
-19
-56
0
0
-57
-24
42
0
0
13
33
-80
0
0
8
-104
64
0
0
-24
-31
2
0
0
20
-17
-57
0
0
45
51
-43
0
0
14
-44
63
0
0
26
50
32
0
0
10
-7
-5
0
0
33
-36
32
0
0
23
11
21
0
0
8
-1
6
0
0
67
9
-25
0
0
-16
18
5
0
0
-1
-62
52
2
-3
60
45
15
0
0
-39
-2
37
0
0
13
49
-52
0
0
41
10
37
0
0
27
16
-41
0
0
73
-29
0
0
0
-9
-16
-81
0
0
-5
-3
0
0
0
-42
-23
3
0
0
50
20
-15
0
0
-16
-6
57
0
0
4
36
1
0
0
23
-92
6
0
0
7
2
-3
0
0
-12
6
8
0
0
2
-1
5
0
0
-118
28
-13
0
0
-82
33
66
0
0
-67
-112
20
0
0
-28
25
43
0
0
-37
33
53
0
0
129
-26
19
0
0
24
-68
-2
0
0
5
34
-100
0
0
-145
69
4
0
0
-14
-78
106
0
0
73
-54
-15
0
0
-19
47
-56
0
0
-108
-19
-119
0
0
58
42
-70
0
0
18
-136
0
0
0
13
73
37
-11
-9
-11
-5
17
0
0
48
-33
32
0
0
29
-9
18
0
0
-20
57
31
0
0
16
35
-64
0
0
21
34
1
0
0
42
5
17
0
0
9
8
-1
0
0
-98
-21
-8
0
0
5
-10
-4
0
0
-75
33
19
0
0
1
-37
6
0
0
-8
18
-7
0
0
0
-13
3
0
0
-1
2
0
0
0
-2
-41
7
0
0
-35
-26
-29
0
0
-47
-43
15
0
0
64
7
-48
0
0
-90
30
-65
0
0
37
-81
-12
0
0
-46
-120
-76
0
0
-21
49
-4
0
0
-1
-50
94
0
0
-28
56
9
0
0
13
-7
75
0
0
23
0
-22
0
0
9
-70
-52
0
0
34
-18
-52
0
0
4
130
-122
0
0
-27
25
-89
0
0
-17
-9
-85
17
11
-105
-54
-113
0
0
-37
85
15
0
0
8
-29
53
0
0
-12
-10
-35
0
0
-58
-15
-58
0
0
-23
-1
5
0
0
-41
2
-7
0
0
3
-45
1
0
0
-18
-99
-35
0
0
19
-50
40
0
0
-27
-11
-5
0
0
6
-17
-10
0
0
-9
-17
26
0
0
18
-11
7
0
0
1
-16
0
0
0
20
-3
2
0
0
-10
-16
-42
0
0
-33
-5
88
0
0
-45
6
72
0
0
-58
-33
-98
0
0
81
-29
14
0
0
-68
-52
-103
0
0
-56
20
-74
0
0
-20
19
-41
0
0
-36
-84
5
0
0
-35
20
47
0
0
-23
16
27
0
0
-29
30
-24
0
0
86
-20
-137
0
0
-17
28
48
0
0
-123
-59
40
0
0
67
-55
-104
7
-31
12
-11
-228
0
0
6
5
-29
0
0
37
37
43
0
0
20
27
-30
0
0
42
66
147
0
0
48
58
-27
0
0
64
58
-24
0
0
-40
-71
22
0
0
-78
39
44
0
0
39
44
10
0
0
-41
2
-10
0
0
34
31
45
0
0
66
14
-22
0
0
37
-20
18
0
0
-5
-48
6
0
0
18
37
-1
0
0
103
78
115
0
0
-49
42
-36
0
0
59
28
72
0
0
-25
5
0
0
0
-35
47
1
0
0
-19
53
29
0
0
97
33
-4
0
0
-32
-6
27
0
0
-5
-19
97
0
0
-48
42
-10
0
0
17
-37
-17
0
0
-27
-20
17
0
0
-5
-29
-62
0
0
118
43
-4
0
0
25
20
6
0
0
61
-44
45
20
25
67
48
56
0
0
33
30
13
0
0
18
-9
-10
0
0
95
36
-88
0
0
-6
6
34
0
0
77
74
51
0
0
12
-75
-39
0
0
31
40
3
0
0
-3
-3
32
0
0
66
54
65
0
0
-52
124
61
0
0
36
-8
36
0
0
-13
114
-21
0
0
-36
119
-12
0
0
21
61
38
0
0
-10
-47
77
0
0
-8
-15
91
0
0
25
-5
-49
0
0
29
25
-35
0
0
3
111
-16
0
0
-6
-36
-13
0
0
53
-50
99
0
0
45
-46
7
0
0
-2
50
67
0
0
-46
-53
14
0
0
32
54
-29
0
0
-8
88
52
0
0
-71
16
-40
0
0
68
-4
2
0
0
119
7
-31
0
0
2
-49
20
0
0
-50
70
-93
4
4
-44
8
98
0
0
13
31
91
0
0
33
45
-60
0
0
77
-58
12
0
0
10
56
-3
0
0
-33
37
87
0
0
83
31
43
0
0
-13
58
11
0
0
-101
46
-4
0
0
-83
-13
-2
0
0
-6
-88
37
0
0
-11
-4
-75
0
0
37
47
51
0
0
-9
21
-5
0
0
-4
24
-55
0
0
14
85
-86
0
0
-78
25
-34
0
0
59
-8
-15
0
0
-53
9
45
0
0
65
-82
-18
0
0
21
16
50
0
0
23
0
-1
0
0
-47
-36
-1
0
0
-2
33
9
0
0
-91
-63
62
0
0
139
-37
-47
0
0
56
31
-35
0
0
-29
56
-12
0
0
-27
-65
63
0
0
-68
49
-4
0
0
51
-18
43
0
0
-126
19
-13
27
13
-40
-90
67
0
0
7
14
-16
0
0
47
-60
-11
0
0
-3
3
-69
0
0
1
-24
24
0
0
-79
34
52
0
0
54
41
26
0
0
-52
-24
-6
0
0
-38
-16
120
0
0
-24
9
11
0
0
28
83
-43
0
0
8
88
44
0
0
43
38
-46
0
0
16
-30
5
0
0
-14
76
9
0
0
-107
12
8
0
0
-109
85
32
0
0
70
-28
99
0
0
-36
-24
56
0
0
-33
23
-18
0
0
-19
-11
-19
0
0
70
-61
-2
0
0
-64
-76
-4
0
0
15
8
2
0
0
-47
19
52
0
0
113
-3
-63
0
0
29
-49
-6
0
0
12
-1
-73
0
0
22
-65
22
0
0
52
-21
12
0
0
-32
66
44
0
0
118
-87
-40
7
16
-50
-58
-24
0
0
11
-21
-29
0
0
-38
-54
-10
0
0
18
-2
-36
0
0
-26
33
1
0
0
22
-7
6
0
0
-80
76
120
0
0
7
4
2
0
0
73
7
3
0
0
2
17
-2
0
0
-111
33
36
0
0
26
-14
-5
0
0
-15
-2
47
0
0
-16
6
-6
0
0
-13
1
22
0
0
-3
-3
17
0
0
-11
22
17
0
0
-44
10
-5
0
0
-21
27
9
0
0
38
-23
0
0
0
56
0
11
0
0
-3
13
1
0
0
-17
-4
-2
0
0
-1
0
0
0
0
-30
-4
1
0
0
-42
37
10
0
0
102
18
-53
0
0
3
-14
-4
0
0
22
34
-36
0
0
13
-15
5
0
0
0
-29
9
0
0
-40
2
-17
13
1
-49
70
-61
0
0
20
25
61
0
0
5
57
-17
0
0
-87
-65
55
0
0
-76
-6
-14
0
0
14
22
-24
0
0
7
-9
-9
0
0
21
-25
-1
0
0
8
-24
-85
0
0
12
92
4
0
0
-5
26
-17
0
0
-45
-4
-5
0
0
-14
-5
-14
0
0
25
25
0
0
0
-1
25
2
0
0
47
-4
-12
0
0
35
55
1
0
0
39
12
-2
0
0
-8
47
2
0
0
-35
-1
-7
0
0
-18
48
1
0
0
-9
-21
1
0
0
-2
59
17
0
0
0
9
0
0
0
1
-3
-5
0
0
-14
34
35
0
0
-3
-22
3
0
0
6
-41
-1
0
0
-53
33
-23
0
0
61
-84
-41
0
0
22
-21
-15
0
0
14
8
0
-1
1
-145
-126
32
0
0
39
59
41
0
0
-16
-5
-9
0
0
-55
-31
14
0
0
-12
102
-19
0
0
18
34
8
0
0
-34
31
49
0
0
-35
-1
-4
0
0
90
-18
-6
0
0
-26
-49
3
0
0
-5
10
-4
0
0
14
-12
-3
0
0
0
-12
-2
0
0
0
0
0
0
0
-1
-12
-4
0
0
-7
4
-2
0
0
9
-31
-8
0
0
40
44
1
0
0
-8
-27
7
0
0
-22
5
3
0
0
-20
3
1
0
0
-22
-1
0
0
0
6
-6
-14
0
0
-3
-6
0
0
0
-39
-16
0
0
0
4
16
5
0
0
1
58
0
0
0
0
13
-1
0
0
-3
31
-6
0
0
-2
4
0
0
0
-8
33
-7
0
0
8
16
0
-5
-17
-3
-27
-25
0
0
51
-12
14
0
0
14
13
27
0
0
-5
74
25
0
0
-14
19
-64
0
0
-72
-24
-11
0
0
72
14
2
0
0
-29
-1
12
0
0
63
-22
28
0
0
8
114
15
0
0
21
19
0
0
0
89
-112
-1
0
0
15
-25
-3
0
0
-1
18
1
0
0
10
52
2
0
0
17
9
-7
0
0
-21
-59
7
0
0
-30
21
-8
0
0
-22
-5
40
0
0
41
-29
5
0
0
35
4
17
0
0
-13
24
2
0
0
-10
53
2
0
0
-1
0
0
0
0
8
-32
-21
0
0
15
49
21
0
0
21
13
-6
0
0
0
-58
0
0
0
0
-15
1
0
0
83
-18
-17
0
0
30
-44
5
0
0
-13
66
17
6
-18
-120
-9
79
0
0
60
-5
18
0
0
-26
97
36
0
0
6
82
48
0
0
17
39
-10
0
0
-23
2
-5
0
0
84
-13
10
0
0
-14
-14
0
0
0
-1
-53
-31
0
0
-23
-11
8
0
0
115
-38
17
0
0
22
42
0
0
0
5
-38
30
0
0
-39
-14
0
0
0
4
-9
-2
0
0
3
39
8
0
0
-8
-53
16
0
0
-22
66
5
0
0
39
78
-24
0
0
20
10
-10
0
0
32
27
-3
0
0
-13
18
16
0
0
0
35
5
0
0
-7
-32
6
0
0
36
-23
49
0
0
8
-6
-14
0
0
8
42
-20
0
0
-7
-9
16
0
0
-39
-29
-2
0
0
-16
67
-21
0
0
-3
14
21
0
0
-63
42
5
-8
-29
106
86
14
0
0
7
33
41
0
0
68
-88
9
0
0
152
55
-49
0
0
-32
-12
20
0
0
38
-55
-1
0
0
30
14
12
0
0
-9
-22
0
0
0
21
-21
-1
0
0
39
5
13
0
0
52
10
10
0
0
-66
-43
-5
0
0
19
-50
-39
0
0
4
20
-1
0
0
-11
-11
20
0
0
1
54
15
0
0
-23
3
-15
0
0
35
18
0
0
0
-51
-2
-4
0
0
-2
4
0
0
0
-32
-3
-9
0
0
-17
-52
-1
0
0
7
1
1
0
0
-4
-10
0
0
0
-24
22
-2
0
0
-8
-22
0
0
0
3
-31
15
0
0
-5
5
-1
0
0
-80
53
-7
0
0
6
-7
22
0
0
-12
44
-23
0
0
-29
14
10
14
6
16
16
4
0
0
-9
68
21
0
0
-19
32
51
0
0
-9
82
71
0
0
-35
-6
-42
0
0
48
9
1
0
0
0
-3
-3
0
0
0
-20
2
0
0
38
15
6
0
0
-14
-10
-45
0
0
59
-34
26
0
0
-10
-21
34
0
0
-11
-43
85
0
0
-3
8
14
0
0
0
-38
2
0
0
0
14
-4
0
0
30
-44
-39
0
0
61
-49
0
0
0
2
40
-10
0
0
-4
1
0
0
0
67
-31
-4
0
0
-10
14
-21
0
0
-6
17
-4
0
0
0
-5
4
0
0
12
16
-25
0
0
-37
71
-7
0
0
-15
-74
19
0
0
6
-17
0
0
0
12
-18
9
0
0
8
65
5
0
0
1
7
16
0
0
19
-66
7
22
0
-50
13
34
0
0
10
14
59
0
0
-9
-24
38
0
0
-49
62
-79
0
0
2
18
-34
0
0
23
-4
-6
0
0
-56
34
14
0
0
11
30
0
0
0
-34
41
-15
0
0
51
-19
4
0
0
-14
-8
11
0
0
-40
5
-44
0
0
-25
-22
-19
0
0
2
16
-5
0
0
1
-8
6
0
0
3
-2
-10
0
0
92
-14
-2
0
0
-4
111
17
0
0
-46
64
1
0
0
11
9
-7
0
0
-8
7
0
0
0
-23
-1
-27
0
0
0
-11
1
0
0
0
-13
-5
0
0
70
5
44
0
0
-9
2
0
0
0
5
7
20
0
0
-5
-11
-11
0
0
1
-36
8
0
0
-44
37
5
0
0
-2
-9
1
0
0
-4
-89
-4
6
11
-103
-49
-50
0
0
44
36
-30
0
0
51
-18
-44
0
0
10
55
13
0
0
-37
3
4
0
0
-18
1
-23
0
0
-19
-3
-12
0
0
0
2
0
0
0
-71
23
11
0
0
-15
0
-9
0
0
38
-20
-1
0
0
28
-5
10
0
0
32
-6
5
0
0
-8
-5
4
0
0
0
15
0
0
0
-3
5
0
0
0
57
-6
4
0
0
20
6
-18
0
0
88
-3
-13
0
0
-1
-14
-2
0
0
18
-29
5
0
0
3
33
-3
0
0
0
2
-8
0
0
0
-22
9
0
0
0
-11
-8
0
0
5
-3
-4
0
0
6
-5
-4
0
0
0
14
-6
0
0
24
-16
-4
0
0
0
-17
15
0
0
-1
-9
-8
0
0
30
3
0
0
-14
-20
-5
-2
0
0
70
48
30
0
0
32
-4
-8
0
0
68
5
-6
0
0
-15
-71
1
0
0
15
4
-1
0
0
3
17
-3
0
0
29
3
1
0
0
41
-15
-3
0
0
34
-32
0
0
0
17
67
1
0
0
-12
-34
-1
0
0
19
20
5
0
0
0
-5
-1
0
0
0
-3
0
0
0
-2
12
0
0
0
-19
13
-1
0
0
1
-63
-14
0
0
39
-3
8
0
0
-6
-23
9
0
0
8
-31
0
0
0
1
7
0
0
0
-16
-2
-2
0
0
-5
8
-1
0
0
-9
6
-29
0
0
-24
67
0
0
0
8
12
-1
0
0
-6
-2
-4
0
0
-2
-15
2
0
0
-20
-5
26
0
0
11
25
-4
0
0
-4
14
8
-8
46
-124
27
-3
0
0
0
3
63
0
0
6
35
22
0
0
-8
44
29
0
0
36
-28
77
0
0
19
-52
11
0
0
37
10
14
0
0
-13
-6
3
0
0
-22
78
-46
0
0
-27
34
-17
0
0
-20
-10
-47
0
0
-1
21
-49
0
0
29
25
-16
0
0
1
6
1
0
0
0
-7
3
0
0
8
-25
0
0
0
87
-7
13
0
0
37
-37
-1
0
0
15
46
-18
0
0
11
12
-2
0
0
26
-11
-14
0
0
0
-46
12
0
0
3
-22
-6
0
0
0
-7
-1
0
0
17
-3
0
0
0
-6
2
4
0
0
-16
-11
2
0
0
-17
-13
-6
0
0
-11
29
2
0
0
-10
16
0
0
0
1
-43
-4
0
0
-68
-38
-7
-16
30
-49
-34
-20
0
0
14
52
-23
0
0
-26
65
-13
0
0
103
65
33
0
0
13
47
-56
0
0
73
-79
-12
0
0
-7
-75
-24
0
0
-11
89
-4
0
0
-46
28
-31
0
0
78
-50
3
0
0
41
-13
12
0
0
73
5
19
0
0
41
49
-26
0
0
22
-27
4
0
0
2
-5
-4
0
0
1
-62
3
0
0
-54
-29
0
0
0
-19
8
89
0
0
28
-29
-6
0
0
-72
-25
-2
0
0
-11
0
-8
0
0
5
39
-37
0
0
-3
36
4
0
0
1
2
-20
0
0
14
-27
16
0
0
-19
13
35
0
0
-1
-30
33
0
0
7
57
0
0
0
-10
65
-9
0
0
4
11
-20
0
0
6
37
-18
0
0
23
-34
-7
0
2
-33
-40
-58
0
0
32
45
-26
0
0
-26
-28
68
0
0
-68
-21
16
0
0
-20
34
-52
0
0
19
-15
8
0
0
36
-60
20
0
0
-10
3
5
0
0
-17
27
12
0
0
77
-34
-34
0
0
-40
17
-39
0
0
-13
21
5
0
0
-69
-30
33
0
0
-25
58
-16
0
0
17
8
38
0
0
-2
-13
-5
0
0
24
6
-12
0
0
-1
19
30
0
0
-2
26
-18
0
0
12
11
-4
0
0
26
34
4
0
0
-6
-11
-2
0
0
-16
28
-28
0
0
6
13
33
0
0
15
47
-8
0
0
49
-14
89
0
0
0
37
-19
0
0
-12
25
55
0
0
44
-20
50
0
0
28
-3
62
0
0
1
-20
-37
0
0
44
29
-49
15
3
64
58
10
0
0
35
-90
38
0
0
23
7
-57
0
0
-43
-14
16
0
0
3
-5
71
0
0
8
-56
34
0
0
9
6
-6
0
0
-45
-14
2
0
0
4
43
8
0
0
-25
27
-6
0
0
83
-8
1
0
0
-61
25
7
0
0
7
-15
25
0
0
6
29
2
0
0
-8
51
-31
0
0
51
27
-2
0
0
-10
23
-28
0
0
10
15
-29
0
0
3
0
-9
0
0
24
6
-66
0
0
-4
5
35
0
0
-18
7
91
0
0
6
-40
-55
0
0
-18
44
-43
0
0
11
-20
64
0
0
-3
-71
29
0
0
-58
81
21
0
0
-52
16
16
0
0
-26
-63
78
0
0
42
-3
78
0
0
-47
-15
24
0
0
-17
-37
-16
-5
3
33
13
-82
0
0
18
28
24
0
0
-8
32
-150
0
0
-18
-5
0
0
0
27
-91
-24
0
0
4
7
0
0
0
0
0
-9
0
0
0
10
0
0
0
30
2
12
0
0
17
-56
0
0
0
-37
14
-2
0
0
11
-9
4
0
0
-6
20
0
0
0
-4
4
0
0
0
0
-39
4
0
0
-8
29
0
0
0
89
31
-2
0
0
4
26
14
0
0
-1
-14
-19
0
0
-2
-19
16
0
0
2
-43
64
0
0
25
-22
-87
0
0
-65
-47
7
0
0
-86
-37
-2
0
0
-77
65
-30
0
0
2
-43
-18
0
0
27
-59
75
0
0
-29
17
-60
0
0
-22
-5
35
0
0
-27
24
-47
0
0
-49
-13
62
0
0
-57
23
-65
5
-5
47
-15
-64
0
0
-6
-54
18
0
0
-13
47
-34
0
0
26
26
-51
0
0
43
43
-1
0
0
-69
-37
2
0
0
-11
2
-6
0
0
6
6
0
0
0
-46
-15
-8
0
0
-42
32
-10
0
0
-37
-2
1
0
0
-7
17
0
0
0
-46
16
0
0
0
-11
1
0
0
0
-3
5
-3
0
0
5
-8
0
0
0
33
-32
5
0
0
-10
-19
23
0
0
3
-58
4
0
0
-15
59
-71
0
0
-22
-12
116
0
0
20
40
2
0
0
-42
19
-81
0
0
10
100
69
0
0
-28
30
-12
0
0
-14
-72
78
0
0
102
-90
46
0
0
68
-35
-42
0
0
49
-1
-13
0
0
-92
-30
-21
0
0
-1
-71
-9
0
0
74
-21
-10
8
-12
-12
20
-59
0
0
42
52
-48
0
0
-5
6
25
0
0
-70
-60
73
0
0
-64
-3
53
0
0
59
12
-50
0
0
50
-76
20
0
0
1
9
0
0
0
-37
30
-29
0
0
-10
22
-6
0
0
40
1
43
0
0
-7
-41
3
0
0
-33
27
39
0
0
5
-23
-3
0
0
3
-2
-1
0
0
-19
-1
1
0
0
43
-21
-86
0
0
-5
13
11
0
0
-10
54
-15
0
0
20
48
-29
0
0
-22
-22
-104
0
0
63
-59
-87
0
0
141
-92
-114
0
0
-7
-42
-4
0
0
90
37
-13
0
0
17
-34
-10
0
0
-67
-56
9
0
0
40
-72
16
0
0
34
81
-81
0
0
69
12
-19
0
0
47
-94
21
0
0
14
-37
37
16
-10
135
-3
110
0
0
-39
80
18
0
0
-17
7
82
0
0
116
-24
60
0
0
-23
34
51
0
0
26
63
3
0
0
-16
-44
-55
0
0
1
9
9
0
0
13
-12
-34
0
0
-34
-9
10
0
0
-37
-8
11
0
0
-7
-3
3
0
0
2
-39
-4
0
0
13
-46
-9
0
0
-4
1
-4
0
0
1
8
7
0
0
62
-47
-15
0
0
4
-9
7
0
0
4
14
38
0
0
17
9
-23
0
0
23
-54
43
0
0
60
-72
-27
0
0
7
-26
46
0
0
-20
42
-5
0
0
-93
18
-64
0
0
-34
12
21
0
0
-72
9
-35
0
0
50
-79
-25
0
0
-18
10
-71
0
0
25
-3
-36
0
0
-28
-52
61
0
0
25
-21
-4
14
23
23
-16
-51
0
0
-12
19
17
0
0
-11
-58
16
0
0
28
0
-16
0
0
40
31
1
0
0
28
-5
3
0
0
5
1
6
0
0
4
9
0
0
0
-16
12
-9
0
0
12
5
-2
0
0
43
6
-3
0
0
-25
3
1
0
0
-19
-8
-9
0
0
0
6
0
0
0
0
0
0
0
0
4
-44
-5
0
0
-19
13
-5
0
0
1
-5
6
0
0
5
-47
29
0
0
13
-5
30
0
0
-67
-10
-97
0
0
22
-4
-24
0
0
-72
24
12
0
0
25
-3
-20
0
0
49
19
-37
0
0
-66
25
26
0
0
-36
36
-10
0
0
-7
30
-70
0
0
-47
79
-7
0
0
14
0
11
0
0
4
-74
26
0
0
-49
-37
18
2
-3
-4
1
-68
0
0
10
26
-10
0
0
17
-5
19
0
0
72
11
-19
0
0
-15
15
15
0
0
2
41
-17
0
0
50
-18
-11
0
0
-10
-53
-2
0
0
-74
75
-3
0
0
-11
49
0
0
0
8
18
-32
0
0
-5
-45
-7
0
0
-113
-10
-19
0
0
23
-6
-7
0
0
1
-12
-7
0
0
-1
18
1
0
0
-79
-21
-3
0
0
3
-21
18
0
0
-13
-17
28
0
0
-19
-66
7
0
0
16
-33
-109
0
0
-13
-20
-138
0
0
-2
23
67
0
0
53
-64
-87
0
0
-18
-52
58
0
0
10
15
18
0
0
-103
-56
39
0
0
-4
8
-71
0
0
92
-14
-37
0
0
64
41
-19
0
0
-23
37
36
0
0
-118
-16
25
2
-9
-105
26
-55
0
0
3
-18
9
0
0
-21
14
15
0
0
-9
-6
-10
0
0
-20
37
-14
0
0
12
-12
-4
0
0
-15
31
-47
0
0
-9
14
1
0
0
82
-50
12
0
0
-24
87
-3
0
0
-98
-61
14
0
0
-34
-28
68
0
0
-144
37
14
0
0
15
-3
0
0
0
-1
-11
-1
0
0
-10
64
17
0
0
-14
-22
38
0
0
7
-9
12
0
0
25
1
68
0
0
36
-97
-6
0
0
15
8
-8
0
0
-56
28
38
0
0
41
25
-52
0
0
-12
-20
-96
0
0
-41
-17
-116
0
0
5
4
-6
0
0
16
-8
15
0
0
26
13
72
0
0
4
9
49
0
0
25
26
7
0
0
-26
0
27
0
0
69
-21
-3
11
5
25
-10
14
0
0
36
5
74
0
0
-32
86
-7
0
0
12
-53
-8
0
0
9
2
59
0
0
-49
13
-11
0
0
9
-104
-18
0
0
5
2
-10
0
0
-94
9
-24
0
0
2
-4
13
0
0
66
-9
2
0
0
42
52
-6
0
0
-17
-14
16
0
0
3
2
-7
0
0
1
-1
-2
0
0
15
-33
4
0
0
-74
5
6
0
0
31
22
-34
0
0
23
-43
-8
0
0
-31
-11
-6
0
0
60
-116
-25
0
0
-74
90
91
0
0
-28
48
51
0
0
35
2
-8
0
0
-8
32
35
0
0
-10
16
-11
0
0
-2
13
28
0
0
13
37
-13
0
0
-9
-25
37
0
0
11
-1
55
0
0
-5
8
21
0
0
47
-9
-12
-2
17
53
-21
-36
0
0
17
-53
63
0
0
-4
104
22
0
0
-8
-3
-3
0
0
1
116
-93
0
0
-7
27
-2
0
0
20
5
6
0
0
0
-9
-7
0
0
9
-5
24
0
0
26
-52
-20
0
0
2
3
12
0
0
18
14
1
0
0
-16
21
13
0
0
6
2
0
0
0
2
23
-4
0
0
-4
10
-5
0
0
-7
-71
-4
0
0
14
17
-22
0
0
-14
11
27
0
0
-7
9
7
0
0
15
-29
-3
0
0
32
-63
84
0
0
-118
19
-24
0
0
62
-53
-45
0
0
-44
20
10
0
0
42
-24
37
0
0
18
-44
22
0
0
9
-31
12
0
0
-46
-21
-45
0
0
-128
-46
-13
0
0
2
-9
-138
0
0
-51
35
18
-16
-13
-39
14
25
0
0
19
75
-43
0
0
17
11
-5
0
0
-32
-48
-1
0
0
20
-82
30
0
0
18
-14
22
0
0
52
14
-11
0
0
1
10
4
0
0
-6
-36
-10
0
0
-62
66
-20
0
0
-35
21
-4
0
0
-15
-46
-1
0
0
59
35
-6
0
0
-1
-1
0
0
0
-3
2
-4
0
0
-1
-14
0
0
0
-58
0
-1
0
0
-32
-17
40
0
0
-55
-20
29
0
0
-38
23
-24
0
0
-73
-50
14
0
0
-12
-29
63
0
0
36
1
30
0
0
-7
-34
-7
0
0
-12
-54
-93
0
0
21
42
10
0
0
3
24
29
0
0
7
29
17
0
0
-22
-4
-7
0
0
53
8
30
0
0
2
9
68
0
0
-16
1
-88
-6
4
-7
21
-29
0
0
44
-9
-31
0
0
-11
8
100
0
0
19
48
-12
0
0
-51
2
-5
0
0
7
-4
-29
0
0
41
-20
-16
0
0
-4
-3
8
0
0
21
0
-82
0
0
112
-97
26
0
0
-19
-23
4
0
0
0
6
-13
0
0
25
-18
12
0
0
6
-1
-6
0
0
0
20
-18
0
0
7
-1
-13
0
0
71
-50
7
0
0
-35
-19
-21
0
0
-13
0
-71
0
0
-44
36
-14
0
0
-140
141
132
0
0
-105
15
6
0
0
-15
-38
39
0
0
7
-71
-60
0
0
-57
-81
12
0
0
-11
3
66
0
0
-26
54
-115
0
0
59
39
93
0
0
46
16
4
0
0
58
18
-52
0
0
72
69
-43
0
0
66
-87
175
-8
-8
21
-64
66
0
0
50
73
-48
0
0
21
37
-29
0
0
36
-13
55
0
0
20
-66
0
0
0
9
-6
24
0
0
-64
9
47
0
0
19
7
3
0
0
-69
13
17
0
0
10
82
37
0
0
-52
31
12
0
0
33
72
-16
0
0
-81
-19
47
0
0
-21
-2
13
0
0
-1
12
-7
0
0
1
24
-8
0
0
36
24
-8
0
0
-7
-16
-24
0
0
-36
11
37
0
0
-47
32
19
0
0
31
-25
55
0
0
-106
55
-41
0
0
-59
5
-38
0
0
4
-46
-26
0
0
30
-134
-49
0
0
14
23
39
0
0
-48
-4
64
0
0
-3
-16
23
0
0
-42
42
-72
0
0
-34
-84
-37
0
0
-5
59
-131
0
0
15
11
72
-10
7
13
15
-79
0
0
-65
34
124
0
0
25
132
-56
0
0
-6
52
19
0
0
60
41
-25
0
0
26
-44
5
0
0
-59
7
4
0
0
3
-12
-6
0
0
21
-75
-20
0
0
-29
68
-25
0
0
37
-66
-9
0
0
28
-75
7
0
0
-8
50
-31
0
0
-9
-16
-2
0
0
-15
3
0
0
0
4
-32
4
0
0
17
33
-8
0
0
-27
-51
63
0
0
13
-66
-6
0
0
-2
-29
13
0
0
-41
82
-83
0
0
-15
-5
-46
0
0
64
11
-59
0
0
-27
11
31
0
0
5
-79
42
0
0
-6
35
17
0
0
58
26
-80
0
0
22
-17
-90
0
0
76
-92
-21
0
0
-113
-18
-17
0
0
-16
-65
-6
0
0
68
-8
-27
-22
-4
-55
-72
83
0
0
18
13
8
0
0
59
16
64
0
0
-62
-16
-37
0
0
-36
4
-1
0
0
43
-2
5
0
0
-56
56
84
0
0
40
68
-4
0
0
-64
42
32
0
0
19
-24
3
0
0
26
33
39
0
0
52
-27
-59
0
0
29
-67
-1
0
0
110
-18
1
0
0
-22
20
-3
0
0
-14
-3
-32
0
0
-58
-13
16
0
0
27
-39
21
0
0
-21
-11
-47
0
0
-79
-2
56
0
0
-29
21
13
0
0
-2
-23
-12
0
0
-61
-104
-154
0
0
16
-2
-100
0
0
6
-49
135
0
0
1
10
-37
0
0
-48
-8
21
0
0
-64
-8
-25
0
0
-14
-55
-76
0
0
103
-51
24
0
0
-61
-13
54
0
0
-31
22
4
-10
0
-69
-99
14
0
-5
-4
59
22
0
5
76
-9
-8
0
29
-15
24
12
0
33
10
4
21
0
39
-17
48
9
0
-50
19
27
29
0
110
1
51
45
0
-4
21
-23
-4
0
45
7
55
-101
0
59
64
56
29
0
66
-37
-51
116
0
-25
-30
-73
30
0
-27
52
-19
-15
0
6
61
26
-33
0
-26
-35
15
54
0
23
-70
39
5
0
6
66
45
66
0
84
23
61
65
0
42
95
-127
1
0
-97
79
56
14
0
32
98
62
20
0
-2
-6
-1
-1
0
0
-63
29
-13
0
10
47
-76
3
0
-13
64
12
24
0
14
111
-3
16
0
0
-18
123
22
0
7
-8
14
53
0
130
56
42
-21
0
20
65
-14
17
0
-21
3
39
64
19
-16
-81
20
6
0
-21
-1
45
58
0
19
50
6
-3
0
81
-6
55
9
0
14
67
11
5
0
59
-77
22
3
0
23
35
6
-35
0
24
23
22
-1
0
49
-22
-15
110
0
10
15
51
154
0
-43
68
8
-75
0
-37
50
-59
-90
0
-31
-7
67
14
0
35
16
-7
-38
0
8
10
-91
36
0
64
55
-34
17
0
46
30
46
0
0
29
5
5
40
0
20
-62
24
40
0
-49
35
-72
-8
0
21
-14
-10
-69
0
-3
41
-18
37
0
-4
-12
32
40
0
0
9
65
2
0
11
55
88
40
0
21
-14
-13
-29
0
23
-4
45
-62
0
2
27
-94
5
0
17
21
26
-14
0
18
14
15
0
0
12
6
120
1
0
-47
-73
40
13
0
-72
-29
49
-41
0
8
17
82
99
0
7
34
3
28
0
-1
26
-16
46
0
38
-15
-57
-83
0
41
56
36
-60
0
-7
-2
-27
-37
0
-5
-26
-3
58
0
-18
-60
38
-34
0
-81
41
19
12
0
10
-63
-19
55
0
88
-4
14
-88
0
-82
-44
39
-44
0
21
-64
10
1
0
7
78
23
-8
0
-123
-57
45
35
0
-54
34
55
8
0
-29
61
57
-5
0
16
38
-29
-3
0
-108
42
-12
6
0
22
-11
20
12
0
-5
27
66
-39
0
-8
10
-50
-27
0
13
-4
43
-9
0
-3
-62
-29
15
0
42
25
-17
8
0
-36
73
-19
-11
0
-6
9
23
6
0
43
-60
-5
5
0
39
70
80
-92
0
4
10
-7
4
0
85
12
30
-4
-5
-57
-6
-34
-23
0
-4
-5
16
-6
0
16
41
-57
-27
0
13
23
43
-30
0
56
23
30
94
0
-20
69
-43
-1
0
54
29
-39
42
0
65
-50
50
11
0
18
-5
25
-55
0
18
134
-54
27
0
46
-142
-7
33
0
-137
91
52
-18
0
47
-10
-30
8
0
-22
8
28
79
0
85
-82
7
-55
0
3
19
63
51
0
78
-28
34
-89
0
56
-17
28
16
0
1
-16
45
33
0
12
-65
86
-5
0
17
11
-28
-7
0
1
5
-24
1
0
6
11
-98
-2
0
5
-52
-68
-8
0
-44
-4
1
7
0
-39
-20
90
7
0
29
-98
-2
-17
0
-5
-119
61
-59
0
-53
65
-42
-17
0
-35
-62
-61
-33
0
-23
48
14
3
0
-34
52
59
-19
-9
-95
4
82
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-55
0
29
-51
77
17
0
29
4
23
-30
0
-64
22
24
-13
0
110
3
14
-35
0
-15
-10
43
110
0
33
11
-16
5
0
17
125
-150
-64
0
25
-41
83
54
0
-36
15
60
-1
0
25
74
13
29
0
99
27
-6
-52
0
85
69
35
-38
0
-39
18
12
27
0
-1
0
-30
-15
0
-35
8
-35
-9
0
16
11
102
-5
0
-27
91
-29
-21
0
-13
10
-3
-17
0
25
-45
-7
-8
0
77
7
-84
12
0
-85
18
157
-15
0
5
-4
33
5
0
81
-30
7
10
0
36
22
15
8
0
14
4
10
117
0
65
-33
37
52
0
72
-87
-12
7
0
-14
57
28
48
0
-22
123
-21
16
0
-38
-15
50
-26
9
-114
-71
5
-54
0
2
-9
24
62
0
59
31
-15
-58
0
-136
14
-18
35
0
61
-42
-50
60
0
48
-45
106
-29
0
-91
-35
-24
123
0
16
-14
4
-8
0
-74
-38
-39
0
0
25
69
32
-103
0
33
-79
42
81
0
-87
44
-107
30
0
-8
22
19
18
0
23
38
14
8
0
10
15
123
25
0
0
-27
-39
0
0
-75
1
18
-14
0
45
25
14
-10
0
79
-8
-10
6
0
1
61
-57
0
0
25
107
58
-3
0
4
44
29
3
0
-31
-33
13
-4
0
0
-15
-17
-7
0
-30
51
51
13
0
-16
-21
59
-29
0
-11
126
-98
6
0
21
-66
34
10
0
-64
37
-51
-40
0
53
-56
47
-71
0
72
-84
22
4
0
33
12
-91
-24
28
2
-12
-37
-87
0
6
2
32
-9
0
-149
9
-6
135
0
2
-27
45
32
0
-19
-23
34
-35
0
55
-60
2
7
0
29
-56
76
-7
0
15
-87
26
-15
0
-8
-132
-27
-24
0
-102
32
-5
-14
0
101
56
2
-86
0
11
-18
-24
-12
0
-7
-26
57
8
0
11
110
39
-19
0
-25
-16
36
7
0
-1
9
-22
2
0
-69
-11
-56
0
0
-9
-36
-10
9
0
13
-15
5
31
0
3
-8
-16
2
0
-8
-59
-26
15
0
57
1
-44
-1
0
-14
-15
-28
0
0
-3
38
-20
0
0
-1
-19
22
4
0
23
-4
59
7
0
-38
1
-6
54
0
26
-39
-7
-65
0
15
47
25
-5
0
11
-80
-24
-12
0
15
55
26
-3
0
40
29
-56
2
31
-67
129
-39
16
0
15
-25
-18
8
0
-18
-45
140
-39
0
-16
50
14
2
0
43
32
-5
9
0
22
-3
27
22
0
28
-33
-10
7
0
-21
-62
50
4
0
43
-46
36
-38
0
32
-6
81
-92
0
-39
-53
6
9
0
43
167
-94
-36
0
-64
6
-87
-34
0
-20
-49
6
17
0
-1
-85
31
11
0
-4
45
-64
-24
0
-48
-63
53
52
0
-12
-21
-75
14
0
-24
-2
-42
31
0
3
-81
52
-3
0
-47
39
25
36
0
-5
-27
-18
0
0
3
7
38
0
0
0
-16
3
2
0
-15
13
-17
-4
0
-81
-12
26
-6
0
-38
-8
-44
-28
0
-55
62
-25
-4
0
63
48
-24
-32
0
5
0
-6
19
0
-6
-6
-39
28
0
-15
-5
-56
2
-20
15
139
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
47
-6
-70
0
-10
-5
-1
-39
0
-2
-27
30
28
0
35
33
-33
-3
0
34
40
-26
21
0
-25
6
-6
14
0
75
-8
27
-7
0
-11
66
-31
11
0
94
100
-13
-26
0
-12
11
-64
86
0
-47
56
-23
-58
0
33
-11
66
38
0
64
-50
17
74
0
8
166
-83
-4
0
-53
21
62
48
0
15
12
-46
-93
0
3
5
8
14
0
4
-1
26
10
0
12
-24
25
19
0
3
0
27
-12
0
-11
-16
20
23
0
-60
-53
12
-8
0
5
-2
-5
-38
0
-59
-24
-11
51
0
54
40
20
48
0
-25
-20
35
19
0
-66
26
9
-39
0
-128
85
-33
5
0
76
22
49
-14
0
1
5
-43
-53
0
74
-8
-20
47
1
3
17
-45
39
0
-35
21
64
58
0
-19
39
4
3
0
11
-21
-25
-20
0
8
23
-33
114
0
1
-37
-27
40
0
-75
65
-1
-44
0
-26
80
-17
-15
0
13
-13
53
-59
0
-32
10
50
42
0
-10
66
19
41
0
42
-27
24
-39
0
108
35
-13
24
0
-40
37
-31
20
0
41
-61
109
-22
0
-17
13
85
13
0
9
42
-5
-62
0
0
9
5
27
0
5
-11
6
-6
0
11
16
7
5
0
7
3
-3
84
0
-47
37
-26
-56
0
-51
37
-14
-102
0
-42
-31
-8
56
0
-143
-45
2
-36
0
89
3
-13
-54
0
40
-41
-41
154
0
-51
-8
-7
44
0
-17
-21
75
-116
0
-45
51
-28
-60
0
81
-2
-24
86
0
18
-45
-39
1
-9
-23
33
8
7
0
91
-9
38
1
0
-107
-5
4
-58
0
-33
57
27
22
0
-42
-4
30
55
0
-83
-36
5
18
0
40
-3
-25
-4
0
-11
-10
9
0
0
16
-31
-8
-24
0
3
46
-51
13
0
7
40
26
-21
0
-8
-104
-10
38
0
-108
-96
79
7
0
13
-52
5
-5
0
-1
-87
54
-3
0
-16
-22
-35
-4
0
49
46
-36
-23
0
-26
7
-17
-6
0
-9
21
-23
-55
0
17
-14
11
34
0
16
5
-35
-48
0
-30
-17
1
-2
0
102
-48
35
48
0
-47
61
5
-92
0
7
-43
-7
55
0
47
47
40
125
0
14
20
19
-53
0
-70
-53
110
-104
0
-13
56
-10
-27
0
-73
19
31
-68
0
21
-78
-41
44
0
71
-23
-80
73
17
79
-104
-106
-86
0
-79
52
30
-60
0
-3
-62
9
-42
0
10
49
82
17
0
-11
115
44
40
0
63
12
18
0
0
-43
-59
79
-32
0
24
-59
-14
1
0
-90
81
-13
11
0
-40
-36
-18
78
0
-22
15
-43
-13
0
20
-18
-8
39
0
-7
-38
76
-27
0
-1
-8
-10
-11
0
-26
39
-77
6
0
-15
-28
11
-22
0
35
45
-53
38
0
0
12
-22
-16
0
10
-34
-77
-44
0
4
-20
-60
15
0
20
6
-26
-21
0
1
42
67
-1
0
95
12
25
7
0
-10
-71
1
-73
0
-40
-37
0
-100
0
-51
-131
17
17
0
-72
-16
11
178
0
129
15
-81
2
0
-56
-39
56
44
0
7
8
-90
79
0
-47
-28
-24
67
0
6
-12
-67
8
-22
13
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
33
65
0
-41
26
20
-26
0
-82
75
-12
49
0
38
12
2
-10
0
-39
100
-38
-5
0
-51
-2
3
-44
0
96
15
-23
1
0
45
-30
25
-7
0
93
-15
-5
30
0
-38
-10
-25
93
0
-7
22
102
-50
0
54
-49
13
4
0
36
26
-20
-34
0
92
75
25
-22
0
35
-52
-29
7
0
-21
24
55
-7
0
5
13
29
36
0
12
-38
-34
56
0
-30
-94
35
70
0
-4
69
-50
-122
0
18
-9
24
-13
0
49
21
-37
-41
0
-125
58
2
8
0
-76
-130
-24
38
0
31
16
-1
-2
0
-17
-21
16
29
0
37
5
6
51
0
-26
-18
17
-3
0
38
4
5
3
0
-72
28
-2
46
0
-194
-4
10
60
5
-84
23
-25
-30
0
15
-62
42
-8
0
106
-72
-66
8
0
-57
63
-28
-5
0
-20
33
-77
-19
0
-80
70
19
-17
0
14
43
-12
4
0
38
-29
15
6
0
-18
14
45
-1
0
-63
-12
-18
13
0
16
26
65
-13
0
-18
27
-92
7
0
53
25
4
-37
0
-37
39
-60
-10
0
8
43
27
-23
0
-27
13
-24
1
0
-54
66
-113
43
0
-27
16
92
76
0
16
23
14
46
0
103
-70
-22
52
0
-71
-50
11
-27
0
25
23
25
47
0
52
-61
-37
71
0
75
19
49
21
0
-109
19
-39
97
0
19
-6
10
-19
0
-15
4
-8
24
0
21
34
33
86
0
-57
-4
-27
-31
0
-33
-24
-3
-43
0
-37
-33
82
-53
0
124
26
7
-38
-1
-117
37
42
-7
0
73
33
6
33
0
45
-126
2
-3
0
-23
-2
13
-2
0
61
-78
-14
-14
0
18
27
-5
-3
0
-20
2
71
0
0
50
-1
13
0
0
-11
21
12
3
0
102
13
-30
0
0
-24
-56
12
14
0
31
-56
6
8
0
42
-51
-14
-10
0
72
4
28
-24
0
-71
-2
52
-6
0
-46
8
-6
-2
0
-163
49
-60
-26
0
-60
42
-80
78
0
-19
-120
66
-53
0
-52
79
-13
-111
0
-62
18
85
-51
0
16
-24
89
-85
0
-42
-47
-1
-76
0
-13
-49
78
-27
0
-15
48
-47
26
0
-14
2
47
59
0
-51
-35
48
-34
0
-20
46
3
-50
0
5
5
-31
63
0
32
-25
10
9
0
52
-1
-38
-91
0
10
80
-74
-21
22
8
-45
-95
-59
0
-15
-42
-22
2
0
-39
-143
87
37
0
-16
-39
-34
-8
0
-28
-31
-9
-20
0
-74
-11
3
0
0
77
-33
37
4
0
-40
-57
-5
-6
0
-5
12
46
1
0
3
-81
-63
7
0
22
14
-56
3
0
-5
13
-67
-5
0
-20
17
22
15
0
10
67
6
-1
0
-43
22
3
-8
0
-39
-19
-6
-1
0
1
27
-8
28
0
-58
18
-157
-16
0
-44
-23
19
-58
0
-68
153
-39
-51
0
-89
-85
7
38
0
7
-5
11
-13
0
47
-107
67
1
0
80
-66
-1
45
0
-81
12
-22
-71
0
-9
-30
4
28
0
58
27
-21
-15
0
-12
41
-14
-48
0
-37
-12
30
-3
0
79
29
6
18
0
46
11
-4
-57
0
112
7
33
-100
-22
-105
-86
77
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
50
-33
3
0
15
26
15
-10
0
64
30
26
-32
0
14
12
39
2
0
-21
100
22
127
0
50
8
73
17
0
-73
-38
15
20
0
72
121
1
-55
0
-86
60
-39
-50
0
20
49
35
25
0
16
34
-2
95
0
14
62
-73
74
0
61
-8
40
-2
0
0
-55
46
-80
0
23
-40
-20
53
0
114
-10
12
62
0
29
11
57
-12
0
4
-45
65
28
0
11
19
-4
17
0
69
6
41
27
0
-73
57
103
36
0
9
50
1
-2
0
1
0
-15
11
0
13
52
76
-14
0
-54
-8
89
-62
0
10
-48
-33
49
0
6
-38
32
20
0
-5
35
-27
28
0
-36
141
70
-52
0
2
-36
42
87
0
34
-197
58
124
5
55
11
-22
10
0
27
1
57
43
0
23
5
-12
13
0
46
52
116
-42
0
91
18
-25
-105
0
60
40
10
-17
0
25
34
20
109
0
-122
64
-6
63
0
22
88
19
3
0
71
-20
-6
29
0
29
35
31
42
0
-62
79
16
-6
0
82
-20
3
190
0
35
60
-8
78
0
4
5
102
8
0
15
93
-60
9
0
-48
12
13
-3
0
163
-3
29
-5
0
5
-71
7
41
0
10
-6
20
-16
0
-76
113
25
3
0
-5
35
20
17
0
5
-6
136
24
0
2
-35
41
-12
0
-1
-57
22
4
0
-5
-26
-4
-12
0
-27
3
7
75
0
2
-89
116
-2
0
-25
-54
44
32
0
45
52
55
-29
0
101
-24
16
2
0
-11
88
13
-53
15
-113
3
76
-4
0
18
26
-14
-37
0
-3
-14
32
45
0
8
22
57
53
0
56
43
58
-20
0
15
91
-40
-51
0
55
84
-11
27
0
-47
-73
26
40
0
-4
73
34
-6
0
55
36
-26
-82
0
21
-35
65
6
0
-3
-51
85
28
0
-26
65
82
-13
0
7
38
14
13
0
-3
-7
-41
-26
0
18
-60
-72
26
0
-74
73
11
15
0
-7
-20
15
33
0
26
28
-55
-28
0
-1
-12
-60
0
0
-28
-1
34
-11
0
-9
40
8
-7
0
0
-21
-10
-5
0
7
10
93
-9
0
0
-52
-18
7
0
17
-69
-66
19
0
18
-21
-23
9
0
-5
-84
25
-53
0
29
53
-19
21
0
90
-26
-96
18
0
3
53
-13
12
0
-37
-48
49
51
29
-44
-41
-30
4
0
-5
0
-29
37
0
-5
42
93
-15
0
61
1
47
-70
0
11
-25
-19
37
0
2
-89
35
13
0
-4
-68
-8
102
0
40
33
-11
-71
0
-4
67
-19
-41
0
-117
94
-8
-27
0
128
-23
-82
-5
0
-9
5
-13
-41
0
-3
55
-3
-44
0
-9
53
-80
-8
0
23
38
-32
29
0
3
-21
87
-29
0
-63
78
19
68
0
-7
-33
33
22
0
-65
-5
-43
-21
0
-6
-27
-30
-1
0
76
45
-43
55
0
1
-31
26
6
0
0
1
-34
-4
0
21
-3
-3
-7
0
-1
36
15
-8
0
-10
-20
1
-12
0
-43
42
-38
5
0
0
-23
43
-42
0
4
-16
64
20
0
24
-49
37
-27
0
-12
168
-84
-29
0
78
49
-41
73
3
-91
-5
57
76
0
-14
-62
-8
42
0
-16
-43
19
32
0
-1
21
52
-28
0
-5
84
-29
2
0
9
1
25
-16
0
109
1
0
76
0
123
-52
-2
11
0
-37
-148
58
20
0
38
1
16
12
0
50
15
-16
46
0
25
-56
6
5
0
75
13
-34
3
0
-40
148
75
4
0
0
21
-41
53
0
8
-51
39
-3
0
-93
39
0
49
0
17
-28
-50
51
0
75
47
-53
-39
0
-1
-10
4
5
0
-36
27
-4
-7
0
27
-13
39
2
0
1
-1
17
-4
0
0
0
-6
0
0
2
-28
14
1
0
-21
-79
64
3
0
-14
10
8
-6
0
0
1
-28
1
0
0
-3
11
0
0
-57
141
43
-25
0
2
8
20
-5
0
27
37
-43
-1
1
40
-12
-10
6
0
-25
44
65
20
0
4
52
0
1
0
-15
-17
-38
63
0
52
2
19
-54
0
-30
-12
22
-36
0
26
-10
-1
7
0
148
-96
-49
26
0
33
-15
-59
17
0
16
-63
68
54
0
-28
-32
13
33
0
14
27
29
-7
0
-103
-2
56
-2
0
-22
77
39
-23
0
45
93
-20
-13
0
-6
25
-49
-13
0
-54
8
50
0
0
-53
-13
3
-16
0
81
-32
59
33
0
-17
-3
12
0
0
45
0
-43
-7
0
0
-25
-101
-1
0
-4
-46
65
4
0
0
-1
-9
0
0
2
23
1
3
0
0
4
12
26
0
21
2
80
-60
0
0
-2
-62
1
0
-4
-1
-18
-4
0
47
-51
-76
0
0
-21
18
-12
21
0
-6
29
10
1
16
-19
-74
8
-3
0
33
25
29
-15
0
42
42
83
-115
0
-58
83
23
32
0
-18
23
125
-41
0
70
-9
-27
-12
0
-113
61
-6
-33
0
-23
30
17
-1
0
25
-106
12
18
0
-71
97
38
-5
0
-17
22
-18
4
0
40
14
-31
6
0
-14
-26
-15
5
0
4
-32
6
-15
0
0
3
-48
-2
0
7
-9
24
-4
0
-15
-6
-1
-18
0
-7
85
60
-5
0
-6
-102
23
-2
0
0
-1
-4
0
0
15
-4
-6
0
0
2
0
22
0
0
0
-1
-2
0
0
0
0
-5
-1
0
1
0
-1
0
0
0
6
4
-2
0
-1
25
-46
5
0
0
2
4
-3
0
-18
0
0
7
0
1
-11
-62
3
0
0
42
-14
6
0
-12
6
-29
-4
26
-33
-11
-9
-3
0
18
9
73
69
0
36
-5
37
-43
0
4
-32
-35
65
0
20
-9
-39
-41
0
139
93
-83
-13
0
-44
44
41
-4
0
-30
-67
85
5
0
37
22
-48
-53
0
-49
86
-10
48
0
-98
-60
50
-97
0
-24
-5
18
32
0
-20
-88
1
-23
0
-5
21
0
0
0
35
52
10
-25
0
-9
25
19
-21
0
-2
-3
-28
-10
0
45
44
-53
27
0
62
22
8
-41
0
19
17
73
20
0
21
75
77
-16
0
1
9
-37
5
0
-3
-42
8
18
0
0
7
1
0
0
-14
77
0
0
0
-17
-10
-17
-7
0
-8
-7
-2
3
0
0
3
26
-1
0
9
-26
-1
-23
0
5
-31
14
4
0
-4
-54
11
21
0
-23
-89
39
-1
-17
48
18
35
0
0
12
79
14
77
0
70
14
44
35
0
74
10
9
42
0
5
128
-54
41
0
-61
-15
3
74
0
-10
-81
-12
37
0
87
8
17
-35
0
-134
46
47
5
0
-80
29
-13
50
0
-33
-43
92
-25
0
78
37
15
-37
0
-32
112
-25
-51
0
-6
3
19
39
0
-2
54
149
5
0
-5
76
-26
-29
0
93
51
-16
-6
0
-13
-22
-26
-6
0
22
-6
51
-105
0
18
-11
-39
0
0
14
-3
5
0
0
-11
-18
-2
11
0
0
9
-7
-2
0
0
5
2
-4
0
3
-59
5
0
0
61
-87
2
-11
0
-27
80
91
-18
0
-1
21
-8
1
0
-10
-17
79
-7
0
-4
26
-81
33
0
0
-26
30
-3
0
-42
104
-25
9
28
58
-127
-6
39
0
-19
-9
-58
169
0
-7
57
40
-10
0
69
-28
-119
6
0
29
28
79
-8
0
-38
61
8
9
0
-29
-12
44
-66
0
-91
20
41
0
0
83
59
15
13
0
-16
25
95
-5
0
39
18
-44
25
0
33
1
-95
-54
0
3
-85
-26
-7
0
89
26
-36
-7
0
-76
76
39
-29
0
-56
-35
-18
-10
0
68
-91
-54
16
0
21
13
70
2
0
-39
-64
30
-12
0
3
18
-8
0
0
-49
30
-8
-7
0
5
-2
18
5
0
-1
9
26
-17
0
0
-3
2
0
0
27
8
-1
-5
0
-20
71
124
-9
0
14
-28
-26
51
0
0
-45
15
-2
0
-76
34
-3
10
0
-14
66
40
-23
0
64
11
-7
-56
0
-9
-60
9
0
-3
-4
92
-11
-32
0
62
16
14
25
0
9
0
-10
76
0
77
-54
-15
15
0
55
11
61
-7
0
-36
117
-5
16
0
-50
-17
2
-6
0
11
-36
-23
-1
0
-28
36
-17
9
0
24
-82
17
51
0
-43
40
-2
56
0
-60
18
-5
9
0
-14
116
99
-46
0
0
-12
-37
8
0
0
41
-17
-1
0
-33
-11
65
51
0
7
66
14
-16
0
28
7
4
3
0
-51
-8
2
-2
0
-13
10
7
4
0
-9
-3
7
-6
0
-3
-1
4
0
0
-4
0
-4
0
0
-1
-3
0
-3
0
-1
0
-5
0
0
3
31
18
-4
0
-21
6
7
-4
0
-3
-24
16
6
0
-21
-6
1
7
0
12
-52
22
-6
0
-16
-17
45
-15
0
82
-38
-13
-19
5
-35
32
-27
-43
0
31
-33
78
-63
0
-68
-3
22
-5
0
-5
-17
-31
62
0
66
-13
88
-4
0
-71
-54
59
-15
0
1
-42
36
3
0
92
-7
24
2
0
100
-41
68
-6
0
40
29
-58
-20
0
86
14
41
-39
0
96
-39
-61
-3
0
-15
-48
-37
57
0
-18
62
16
11
0
40
27
-86
15
0
1
52
-51
-2
0
-6
-9
-58
-39
0
-9
9
7
6
0
-15
5
-5
-15
0
0
-48
-20
0
0
-169
-2
23
-4
0
-15
-4
-2
-1
0
3
5
-4
0
0
0
0
0
1
0
-5
61
-5
0
0
-4
58
-13
6
0
28
2
-2
-12
0
2
18
3
0
0
-5
-17
-62
8
0
11
-45
19
-1
0
-13
-63
37
-14
0
-55
-29
-32
0
11
11
53
-28
-60
0
-43
19
-16
87
0
15
-5
-46
-4
0
-93
66
82
-21
0
-58
18
-20
29
0
104
-42
-53
-16
0
18
24
-8
-6
0
50
-9
76
0
0
43
-76
20
9
0
-15
58
12
11
0
-111
113
-51
-3
0
-13
81
62
4
0
-85
39
-17
1
0
11
53
-10
2
0
12
-40
-16
0
0
-1
-53
17
4
0
50
-31
65
2
0
-51
86
34
16
0
114
6
-67
-6
0
-11
-6
45
5
0
7
6
3
2
0
-11
46
-16
8
0
0
-3
8
-1
0
-5
4
2
3
0
0
-50
-4
1
0
-12
38
26
-14
0
0
13
18
0
0
0
4
-4
-1
0
-4
-18
3
0
0
7
-34
-57
-20
0
3
29
0
20
0
-10
-3
0
1
-3
-21
-13
-13
-2
0
61
44
72
-16
0
-43
54
5
23
0
-65
12
79
-16
0
11
19
0
14
0
-69
-4
26
7
0
-17
-67
-40
16
0
94
-8
-30
0
0
34
-96
-19
12
0
13
-24
57
-86
0
-24
-2
18
-13
0
42
-23
-113
10
0
-86
-10
-6
-16
0
27
-67
13
-6
0
-4
-35
-33
-9
0
0
-14
-15
3
0
-22
-40
-47
10
0
15
25
45
-28
0
-38
5
-13
28
0
1
-5
-6
0
0
-64
-22
-27
12
0
23
-8
22
-1
0
2
-17
-54
-8
0
0
11
0
0
0
0
1
-2
3
0
5
38
-53
9
0
-13
48
-15
-3
0
0
11
-9
-12
0
8
4
2
0
0
11
29
-34
0
0
5
1
1
4
0
-1
13
-9
4
-13
23
-9
0
-9
0
-13
55
146
-13
0
3
8
41
20
0
-11
28
-16
46
0
15
-74
60
14
0
-53
26
44
40
0
21
-4
45
-9
0
21
0
-63
-3
0
-45
43
-13
2
0
-29
-30
85
28
0
-24
-40
41
-26
0
7
-89
20
-5
0
-9
-7
40
-12
0
-7
33
-54
-1
0
0
-15
63
0
0
-2
-43
20
4
0
-66
6
37
0
0
26
110
-78
17
0
39
-18
26
-43
0
-28
-19
-44
4
0
17
-5
8
-11
0
1
-2
-8
-2
0
0
0
-35
3
0
5
0
-3
0
0
2
0
8
0
0
7
-35
17
-29
0
-3
2
-22
-13
0
-1
2
-45
-2
0
10
2
0
7
0
7
52
-42
-15
0
0
-1
-8
0
0
-11
-23
10
0
-38
69
-13
3
7
0
-30
3
43
-43
0
42
-15
18
8
0
-38
-5
6
45
0
-22
-8
-20
16
0
-19
-7
17
29
0
3
29
-64
-27
0
-32
25
-15
0
0
-4
-32
48
8
0
25
-54
-15
-26
0
49
-109
-37
79
0
-31
78
-115
9
0
98
-94
-52
8
0
0
-33
-40
4
0
-18
-76
-37
0
0
-8
22
-16
0
0
-68
48
15
-22
0
51
-11
-33
-42
0
-25
58
11
9
0
-19
43
29
-17
0
-47
-23
47
-15
0
18
23
24
9
0
-12
-32
69
-6
0
1
-15
8
1
0
-38
25
-37
5
0
3
12
-1
-26
0
20
-41
-8
35
0
2
48
7
3
0
6
-37
8
-14
0
0
29
-39
-8
0
7
3
-4
3
0
4
11
-20
-2
-6
-29
5
-78
29
0
-59
35
5
92
0
37
-81
-46
-9
0
-31
52
-30
-52
0
61
-43
-46
26
0
44
22
112
8
0
28
56
19
-30
0
17
-47
-17
2
0
37
-27
47
32
0
107
15
-19
-1
0
-21
60
-12
3
0
3
-3
-17
0
0
13
-15
-9
17
0
18
-46
-27
-1
0
6
12
60
5
0
-74
8
-37
14
0
37
-9
126
18
0
10
4
-2
-6
0
11
6
-1
47
0
5
86
-29
-9
0
5
-6
-12
-22
0
-5
28
7
-6
0
-66
60
102
53
0
5
-6
32
13
0
-20
10
44
-58
0
27
0
15
-61
0
-28
56
-36
57
0
96
88
44
43
0
49
-20
54
-21
0
61
-66
-30
-27
0
-19
-18
52
-4
0
-21
-21
-2
-56
17
-52
42
26
39
0
7
41
29
-9
0
20
-9
-5
12
0
-51
13
-5
-7
0
-46
20
12
62
0
80
63
-62
-11
0
-48
39
-100
-8
0
2
-38
22
2
0
2
24
10
-54
0
17
0
-7
6
0
14
24
140
-19
0
1
-4
-1
2
0
36
-18
35
-31
0
-8
-62
61
3
0
-20
108
-12
-1
0
13
-12
51
11
0
-95
-92
26
29
0
-13
4
8
8
0
1
19
4
3
0
-10
25
17
-31
0
3
-22
14
-62
0
-29
-37
25
54
0
28
12
-21
11
0
44
24
-17
-63
0
-13
12
-39
-34
0
6
-37
62
-50
0
11
-15
76
-19
0
-23
107
-53
-77
0
65
-45
35
31
0
52
-10
-52
117
0
19
43
17
-35
0
-65
-61
-17
84
-8
-21
-4
37
92
0
-63
-26
111
5
0
-35
35
-9
4
0
17
78
-112
-1
0
-3
-46
1
26
0
10
-5
-18
25
0
40
-5
19
-34
0
-26
-4
13
-2
0
10
-34
-68
-26
0
54
-8
6
5
0
-1
7
-14
0
0
-2
-48
12
9
0
5
2
7
0
0
-9
45
-8
1
0
12
-18
48
-7
0
59
15
-24
1
0
1
24
-56
8
0
-7
1
-10
-17
0
11
-12
-53
17
0
-2
19
-29
-16
0
-9
-38
23
-6
0
-21
5
18
26
0
98
-71
-10
14
0
97
-165
-22
83
0
43
55
1
-57
0
25
-19
-24
-15
0
56
18
92
31
0
-37
27
-63
-14
0
-115
103
-80
43
0
-43
-6
-34
35
0
2
1
2
-27
0
-6
-13
17
-12
-12
-11
22
78
-15
0
29
-42
31
1
0
-114
-8
78
0
0
-34
-15
71
-7
0
-23
10
-41
-28
0
-32
-56
90
4
0
-76
-46
65
17
0
-7
48
-36
8
0
-42
-29
-4
-41
0
7
10
10
9
0
15
28
3
-12
0
1
-2
-2
0
0
31
90
15
-43
0
-16
15
18
-2
0
11
47
-11
-1
0
2
-48
-18
3
0
45
81
-119
9
0
-10
-3
-23
-54
0
-15
-20
6
-4
0
-17
22
-39
-69
0
24
-41
-50
-26
0
-44
50
-114
-4
0
-14
-56
-7
-94
0
-42
24
-22
-84
0
-32
50
-41
-14
0
131
-5
66
12
0
41
-122
67
-90
0
-11
16
17
114
0
-128
32
-59
116
0
-40
-156
27
55
0
14
-16
-31
51
0
141
-21
-178
-44
-28
1
-15
37
-31
0
-39
55
14
-31
0
93
-25
-55
-16
0
66
18
-1
-4
0
-32
75
-94
25
0
72
-105
1
-5
0
68
-1
38
22
0
1
6
-5
0
0
-17
-58
-23
-6
0
-4
0
-55
-2
0
1
6
1
10
0
0
73
5
0
0
17
-17
9
-4
0
19
-18
4
-4
0
-4
9
0
-4
0
-5
-7
-4
-1
0
-39
-64
4
1
0
5
37
34
-14
0
6
52
9
-8
0
19
114
-40
6
0
4
-30
-8
32
0
45
-9
83
4
0
-9
-36
-6
45
0
16
-54
-55
62
0
-40
-45
-32
-27
0
125
-12
49
50
0
-85
102
-95
32
0
0
13
82
0
0
-10
18
-54
-11
0
-84
-20
-13
43
0
9
5
16
0
0
-26
1
57
-88
6
-129
-43
4
-20
0
76
4
50
15
0
-94
67
21
-13
0
51
56
3
14
0
9
42
9
-2
0
-21
-34
34
-1
0
10
-9
-41
-3
0
-11
-18
-1
2
0
33
-19
0
2
0
8
31
-14
10
0
9
-20
-4
15
0
0
-12
-1
0
0
0
-4
8
-11
0
3
59
18
1
0
15
-25
-16
9
0
10
27
6
0
0
-8
74
12
-47
0
-15
4
32
30
0
-16
-15
16
12
0
-38
56
-52
103
0
0
-16
-13
140
0
14
-71
-25
-42
0
82
0
-32
-39
0
47
57
-11
-52
0
82
-76
-33
14
0
16
36
103
-21
0
5
69
-51
10
0
0
-24
53
-9
0
-8
-91
64
-34
0
42
-26
124
-20
0
-11
17
-16
-93
0
-47
8
-72
-17
-8
103
6
-55
62
0
26
-60
58
11
0
23
28
5
16
0
41
-55
-16
-5
0
14
52
-108
6
0
27
6
-7
-1
0
0
2
-16
0
0
-4
1
2
4
0
-35
-9
-7
7
0
16
-32
4
-23
0
0
9
5
1
0
-1
8
6
6
0
-6
3
-4
1
0
-7
-2
4
0
0
0
5
1
0
0
11
-3
11
0
0
-5
-6
6
-3
0
0
-6
-5
17
0
-9
-14
-7
11
0
-29
-54
-97
60
0
34
6
-33
-46
0
39
3
-96
69
0
-86
-158
-10
71
0
-62
-9
-17
-11
0
8
-141
-6
-4
0
-44
-8
-51
-25
0
-3
5
73
-4
0
-12
-11
29
-42
0
5
5
14
-2
0
5
103
58
-106
0
-7
46
-66
-5
0
91
26
-98
64
-13
-161
-20
31
-15
0
-66
-19
6
22
0
14
1
-27
-1
0
-10
83
-15
-14
0
-30
-10
-10
10
0
4
-54
-21
4
0
-23
34
53
-6
0
2
-3
18
-1
0
-43
55
-5
-11
0
-6
-10
-8
-2
0
-13
-4
-17
0
0
0
0
2
0
0
0
-6
5
2
0
1
1
-30
-1
0
1
10
-5
0
0
0
-3
-2
0
0
22
-26
41
2
0
-3
-29
-3
-17
0
-69
-21
51
-9
0
-42
-17
4
-67
0
-30
-112
7
15
0
45
-41
5
-4
0
25
-36
-56
-45
0
54
-18
-47
-48
0
-35
-4
-25
84
0
10
-50
-52
60
0
23
-18
1
10
0
7
28
-51
-18
0
8
79
-51
-20
0
-6
-73
14
-3
0
1
-19
-42
5
0
67
37
86
-18
-6
-60
12
-62
-40
0
19
65
-46
-23
0
29
2
49
-9
0
48
65
-29
62
0
-33
9
79
26
0
9
54
14
-33
0
-28
20
-3
-7
0
23
5
-4
2
0
36
48
4
19
0
-45
62
22
20
0
4
-40
-42
17
0
-38
21
-44
25
0
26
-56
113
-12
0
22
-1
69
-39
0
-4
23
44
-3
0
-21
66
-51
25
0
18
44
5
-39
0
3
-8
65
52
0
5
0
96
0
0
-15
5
4
86
0
-1
-36
-34
2
0
-104
-59
31
-34
0
-39
32
-59
-44
0
70
-57
14
54
0
-139
39
23
73
0
45
10
4
2
0
-6
-1
9
3
0
1
3
8
-4
0
-41
21
19
20
0
-48
-6
-6
-79
0
-22
-6
46
62
0
-6
37
26
16
9
-53
-5
24
61
0
4
-21
52
69
0
10
6
93
-69
0
-119
96
137
4
0
36
42
-73
-22
0
22
-29
-12
13
0
0
-10
73
-16
0
-30
-58
25
-5
0
-52
84
-12
-11
0
24
-19
-84
-5
0
-20
41
40
4
0
7
45
-6
-26
0
0
-34
25
-15
0
8
-94
48
-8
0
9
-64
1
-3
0
-5
27
-10
2
0
78
-57
-67
-13
0
-1
15
75
92
0
-45
66
66
35
0
-119
-66
54
-11
0
-37
-52
51
6
0
123
-42
-87
30
0
71
-41
20
5
0
-33
-59
95
-24
0
-131
7
-10
-1
0
22
35
-5
37
0
26
35
-5
27
0
60
26
38
12
0
-23
-8
-6
7
0
-5
25
-7
-59
0
5
41
-22
38
0
20
6
25
-32
-21
76
-5
14
-25
0
-1
72
-1
-11
0
24
0
-34
2
0
40
-2
66
30
0
13
77
-19
-22
0
69
-25
-5
-3
0
-26
-11
5
7
0
14
28
-5
6
0
-32
-75
-3
-13
0
80
-88
22
6
0
-107
84
6
0
0
5
86
-2
1
0
-23
0
-23
-1
0
-6
45
0
0
0
3
0
0
-2
0
3
29
-15
-1
0
-102
-15
7
-1
0
-13
-1
-11
124
0
-17
38
-28
50
0
14
-46
43
9
0
-15
-115
26
-5
0
61
28
-11
-105
0
-13
-8
-4
-38
0
77
70
-25
-13
0
6
-54
-2
14
0
-6
32
46
37
0
-105
29
48
37
0
2
-1
-2
45
0
-131
-13
20
61
0
-24
-1
30
-14
0
14
-44
-37
22
0
-81
-37
-21
-50
14
-29
-56
-57
-36
0
-25
71
-55
82
0
-30
53
-12
-18
0
14
-49
-112
28
0
11
-3
34
18
0
36
29
-1
3
0
-2
0
13
-14
0
6
-22
-2
3
0
-58
22
13
24
0
22
-8
51
-11
0
10
-79
1
-4
0
-37
-38
7
-3
0
-35
-51
13
21
0
-1
7
-3
0
0
-2
10
-12
-7
0
-4
9
-2
-3
0
20
-49
2
-2
0
6
-56
46
-3
0
-24
-30
43
74
0
29
-90
-96
37
0
30
-74
-2
21
0
-128
90
33
1
0
-4
87
-7
1
0
10
-56
7
-3
0
-41
-65
56
-5
0
-15
16
27
6
0
-8
2
33
8
0
-13
-27
52
-33
0
19
-17
-6
-24
0
-20
20
-25
77
0
16
-92
-68
46
0
86
33
-95
-10
-15
-48
62
-122
-30
0
-15
-50
53
26
0
16
23
-29
-26
0
-87
83
29
-44
0
-40
8
-49
-10
0
65
-64
31
-7
0
59
157
-62
16
0
10
-22
43
-2
0
-14
17
-2
-19
0
27
85
-20
13
0
71
-54
27
-2
0
-24
53
57
-28
0
-1
-72
-24
41
0
118
11
-11
-3
0
0
-18
99
-7
0
5
7
4
-5
0
84
30
-31
-32
0
-1
-4
30
23
0
-91
-86
16
28
0
14
35
-16
-52
0
6
-59
20
67
0
-52
-34
28
-17
0
-11
-139
32
-38
0
-113
8
-32
-18
0
-100
99
-80
7
0
16
16
9
75
0
-50
5
-31
88
0
-34
32
19
-54
0
12
-27
-28
-9
0
-59
25
3
67
0
-64
24
0
55
0
-4
-22
-49
-42
2
-88
20
-74
-132
0
27
18
16
-49
0
-73
9
11
-27
0
-38
-4
-63
-22
0
27
-32
-73
77
0
-47
17
46
-26
0
3
-105
-40
13
0
6
-7
-30
1
0
-20
-26
-11
10
0
70
-61
-42
71
0
1
27
-46
6
0
5
23
-3
-34
0
-3
-53
22
-29
0
1
16
-76
7
0
-5
-19
67
-19
0
-3
-15
7
7
0
-84
91
-31
2
0
-26
-19
-40
-7
0
-43
23
30
-25
0
-15
-149
77
24
0
-4
47
-79
-35
0
-27
-26
-60
62
0
135
-17
12
-41
0
-20
24
0
-2
0
-2
-9
5
0
0
-25
15
86
-38
0
-76
18
13
118
0
72
-81
52
-13
0
-71
-30
16
-16
0
94
-16
5
-61
0
21
-25
34
-79
0
-9
-33
132
10
-11
10
12
-23
0
0
40
94
17
-28
0
-18
-39
1
28
0
-15
-14
-2
-32
0
-119
-37
71
-33
0
-9
81
14
-3
0
-5
8
12
5
0
12
28
0
-2
0
-48
9
14
-2
0
-121
75
-29
22
0
53
-85
17
18
0
27
-117
-46
-5
0
83
2
44
-2
0
8
31
-3
8
0
0
-1
1
-16
0
-18
-10
-24
16
0
-11
-10
14
14
0
-1
-34
1
34
0
14
10
-21
-28
0
-45
-18
9
-48
0
66
-41
-39
-46
0
-67
135
39
-112
0
-23
85
-65
-52
0
26
-73
33
-13
0
24
-190
-68
-24
0
-39
2
11
75
0
88
-42
-19
-28
0
-31
-44
-3
-2
0
-37
-18
-11
-124
0
65
-12
6
-47
0
33
21
-104
-86
0
43
-39
-32
-35
17
-103
-138
-69
-68
0
-1
-7
-57
37
0
-33
2
70
98
0
-85
-19
88
5
0
15
-79
22
-12
0
-4
29
45
-5
0
-11
-19
-23
-8
0
-13
72
20
1
0
-84
-90
44
12
0
19
60
10
-12
0
-81
-37
-65
-61
0
-28
6
-2
-5
0
-22
6
-118
4
0
1
-105
-29
2
0
-1
-39
6
6
0
-43
5
9
5
0
-84
-31
-12
-39
0
-27
-1
14
22
0
-76
48
-63
-141
0
84
-4
3
-96
0
-33
5
-127
-6
0
123
-66
-35
-60
0
-50
-65
-114
-69
0
-27
-63
84
22
0
-56
-105
-4
-35
0
-41
-4
-12
-1
0
-30
-17
-5
21
0
-38
-37
38
-7
0
75
-60
-102
-81
0
108
-62
42
63
0
-2
-44
-48
-41
0
59
13
16
41
7
-93
35
-92
-143
0
27
44
6
-4
0
42
-3
52
37
0
31
63
45
84
0
72
92
-1
8
0
1
-25
74
75
0
69
8
-42
63
0
-34
-34
48
39
0
76
39
30
-73
0
21
61
51
-35
0
48
-5
-21
-46
0
90
34
21
-85
0
-98
41
35
45
0
-7
8
-61
51
0
21
64
40
68
0
-43
38
50
4
0
57
124
101
22
0
-6
-22
-37
7
0
45
11
-55
-1
0
10
4
-99
11
0
-87
48
83
10
0
-68
-13
-55
17
0
39
-46
149
-23
0
19
-79
41
-29
0
-41
-82
74
75
0
-60
-45
68
4
0
134
27
26
28
0
6
76
0
7
0
-74
9
41
39
0
41
-3
-20
-5
0
5
82
-3
-19
0
-23
-23
34
67
20
7
-6
-3
65
0
39
40
27
-55
0
7
11
16
-55
0
28
28
53
93
0
55
45
41
-1
0
7
-7
-8
76
0
19
92
-3
-19
0
102
-10
14
40
0
65
63
91
-62
0
-104
-1
-14
74
0
87
29
-128
39
0
57
75
-25
-3
0
-2
65
32
33
0
26
-11
64
12
0
-21
68
37
45
0
-18
-107
4
104
0
-147
168
-8
-49
0
107
-61
52
-4
0
33
-106
35
2
0
30
29
-51
16
0
-34
-19
-15
-1
0
-98
36
61
28
0
4
-70
27
25
0
10
3
20
8
0
-1
-15
19
-26
0
30
90
66
-48
0
-81
40
-21
81
0
12
-93
88
-5
0
59
89
-70
0
0
-65
28
56
-33
0
38
37
-59
63
0
7
-3
6
-63
4
50
-3
-9
77
0
13
4
53
-60
0
44
37
-21
-33
0
34
52
-87
2
0
66
60
-50
56
0
7
172
62
-1
0
51
6
5
-59
0
17
-5
-3
53
0
44
-7
78
52
0
-51
-1
59
19
0
39
-108
79
1
0
8
39
74
10
0
70
-47
10
5
0
-43
28
10
-15
0
42
-54
-25
57
0
-68
57
36
17
0
-12
11
-2
19
0
97
15
-11
-10
0
-15
-77
-18
55
0
-14
75
-2
-9
0
79
46
53
-55
0
-95
59
14
-1
0
-82
-33
29
-19
0
-7
-2
-8
1
0
-26
-131
-6
1
0
-9
73
74
-49
0
-13
-7
-38
45
0
-2
-43
14
-34
0
18
-84
-40
30
0
-41
-21
81
9
0
9
-18
-30
62
0
28
14
-89
27
27
7
-52
-43
-88
0
10
74
-41
-18
0
-7
20
10
70
0
1
-10
-13
3
0
24
19
6
-121
0
72
49
28
-6
0
1
-18
0
33
0
-24
-22
-17
19
0
67
-37
-32
1
0
37
22
-58
115
0
60
-24
58
-3
0
-19
-15
23
-8
0
-11
-57
44
-34
0
4
28
78
7
0
31
46
-17
52
0
33
-64
-4
0
0
-34
0
26
-34
0
-67
-71
72
-40
0
-100
32
42
-33
0
-7
20
-45
12
0
20
-35
-34
42
0
3
53
-73
-10
0
-21
72
70
-11
0
11
-9
-21
-7
0
-45
23
-39
-10
0
-65
-20
56
12
0
47
23
-54
19
0
3
6
22
14
0
-65
14
84
37
0
101
15
-6
-29
0
21
-31
39
-29
0
16
-16
-75
2
7
-29
0
21
23
0
-45
62
36
-22
0
41
61
74
35
0
93
38
22
7
0
13
25
6
37
0
23
-22
25
-24
0
0
-12
53
38
0
16
11
6
2
0
-20
-18
47
12
0
121
7
-6
56
0
-105
48
-34
27
0
12
18
22
-8
0
-15
-28
-8
19
0
-11
-10
-12
3
0
0
5
6
-22
0
-6
-5
-23
5
0
36
-26
-1
33
0
-4
12
-13
-8
0
8
-36
-10
45
0
73
-14
-22
-1
0
-80
31
5
2
0
6
-7
8
-4
0
0
-3
4
6
0
0
-10
8
1
0
-18
3
-1
-6
0
1
13
6
48
0
19
24
-24
-92
0
-10
-67
-16
0
0
-11
-51
19
23
0
22
3
20
-6
0
-1
19
6
-1
0
61
-52
-4
1
13
-11
-44
35
-42
0
27
4
14
65
0
3
56
30
31
0
120
73
-2
-51
0
75
-17
80
-23
0
2
20
-21
-13
0
47
12
3
-6
0
21
-37
-16
12
0
-75
142
4
-9
0
11
17
52
9
0
-32
-90
-15
54
0
8
-78
-19
0
0
132
25
-107
1
0
-10
33
56
-9
0
-8
-40
-11
-31
0
3
-10
21
2
0
27
56
-70
-44
0
-7
57
14
31
0
-14
-57
4
5
0
37
-72
43
2
0
-50
-33
38
-4
0
3
4
41
5
0
-6
0
35
2
0
-4
-12
19
0
0
8
15
2
3
0
-23
38
-19
11
0
-83
-40
-24
87
0
-14
31
-1
-2
0
-103
-64
35
-1
0
16
-12
-68
0
0
26
2
20
-11
0
-8
24
-74
-12
-1
-6
-56
14
1
0
45
-4
59
20
0
36
-70
93
-10
0
-11
38
-17
3
0
91
2
-21
51
0
-41
61
-4
0
0
-8
61
-87
-7
0
5
-16
13
0
0
-51
-80
-64
6
0
-61
94
16
-9
0
-31
-15
-14
-14
0
-15
-49
25
-15
0
-11
18
21
11
0
-1
59
12
2
0
0
11
-6
-15
0
5
0
17
11
0
-98
1
43
4
0
26
67
-11
1
0
-4
-4
2
23
0
6
-4
-3
0
0
-1
-11
6
-5
0
-2
16
-5
0
0
0
0
21
0
0
0
0
0
0
0
12
0
0
-3
0
16
-68
-10
-14
0
26
12
-35
-41
0
0
-23
-26
0
0
-65
1
0
4
0
4
-57
-11
1
0
0
-12
-6
3
0
3
2
22
0
-5
31
-18
45
-8
0
11
-56
75
110
0
11
34
22
30
0
-48
-4
61
55
0
1
-7
-34
56
0
-7
52
-45
-14
0
42
33
0
-13
0
-96
12
66
13
0
-16
38
4
-28
0
-24
-24
101
1
0
21
78
24
-15
0
-12
85
-88
29
0
37
-42
-36
-28
0
-13
-8
-12
1
0
32
-32
-3
-13
0
4
56
20
-9
0
-64
-73
41
-5
0
-9
126
-17
29
0
-12
54
-4
62
0
4
6
-5
7
0
13
-61
17
2
0
0
-72
82
7
0
-12
3
-44
2
0
3
0
2
-2
0
-18
49
-21
-3
0
-23
5
-54
17
0
22
21
28
-17
0
-5
16
-100
0
0
-72
-8
31
-21
0
1
-10
10
-13
0
22
18
55
15
0
65
-59
11
11
6
-103
60
-50
-2
0
28
-31
25
3
0
17
-4
73
51
0
3
108
-63
15
0
127
-66
72
-16
0
-80
56
83
-20
0
-10
-27
-17
78
0
37
-70
67
1
0
73
-68
21
2
0
18
21
58
-42
0
10
-57
128
-15
0
-60
79
115
0
0
7
-51
-38
-19
0
68
6
-22
-1
0
-5
-2
78
-16
0
15
-3
-57
7
0
-96
23
-20
31
0
-3
-54
40
-14
0
32
31
18
-5
0
-10
60
-14
0
0
-84
18
14
11
0
25
51
-16
1
0
33
19
-1
-9
0
-13
-2
6
-9
0
32
6
5
-7
0
26
45
-15
2
0
2
8
-8
-2
0
0
6
3
0
0
0
-15
36
21
0
-28
20
-44
10
0
4
-43
26
28
0
85
18
-20
-5
-8
0
94
-55
35
0
2
34
32
41
0
13
-5
10
-37
0
-14
-47
38
17
0
37
-25
4
73
0
3
67
47
-60
0
-18
32
-63
-9
0
3
36
17
-12
0
75
-54
-50
8
0
15
-37
-12
17
0
33
-5
86
-42
0
-5
-25
-29
18
0
-37
59
37
8
0
-25
20
-2
5
0
-1
78
26
-18
0
-9
11
-10
-2
0
-95
129
-39
0
0
12
-4
-104
2
0
33
-1
0
8
0
-2
56
9
0
0
-1
21
-13
-8
0
-39
113
12
-4
0
7
15
-47
6
0
-9
1
0
2
0
51
31
14
0
0
1
24
-26
4
0
-18
-118
15
9
0
0
-12
10
4
0
8
-16
-9
0
0
28
1
-96
1
0
-1
46
-9
14
0
-2
-61
-6
-1
14
-13
-49
-21
-5
0
4
35
-45
118
0
12
-57
85
42
0
21
-62
80
-13
0
43
-60
-15
-4
0
-12
-21
-7
26
0
105
-21
61
-35
0
4
1
-39
-14
0
16
48
-21
-17
0
-12
108
-32
1
0
34
126
-141
-22
0
-18
-79
70
17
0
21
11
-4
-17
0
4
-5
-60
-3
0
-2
23
20
-3
0
10
-64
-42
29
0
-18
28
19
-50
0
28
-7
95
0
0
-122
-51
22
-8
0
-20
-6
5
0
0
75
66
-55
16
0
50
-9
-4
-7
0
14
6
-18
-1
0
-6
0
-5
0
0
1
-5
74
4
0
54
17
39
4
0
7
-34
45
-39
0
1
-4
-21
-2
0
12
17
-11
-3
0
-27
2
4
6
0
-3
7
-16
31
0
-19
33
-84
-22
22
-3
-3
-62
5
0
6
56
13
-60
0
-7
69
42
73
0
97
-26
-98
19
0
29
27
-20
-124
0
24
-38
52
-9
0
-21
-52
88
35
0
103
-67
-40
8
0
-17
-13
26
-12
0
25
-44
35
2
0
-1
-6
13
5
0
6
-8
-126
-12
0
-10
-42
40
-14
0
12
-50
-31
4
0
-7
-10
103
14
0
-11
-46
35
7
0
32
30
-29
-8
0
13
59
55
-1
0
-135
25
-10
-4
0
-10
-49
-27
4
0
-52
-23
6
5
0
49
-24
29
4
0
-8
24
8
-2
0
0
-10
-6
0
0
-28
-49
-35
-1
0
-12
60
63
5
0
3
33
32
-2
0
0
-13
11
0
0
-12
-35
-11
-2
0
-5
-97
-3
-29
0
-11
-27
-7
-14
0
17
-35
-23
0
6
18
-71
-48
-63
0
30
22
26
-46
0
12
73
2
37
0
-7
13
23
60
0
-28
-79
55
-35
0
-23
29
44
-7
0
1
-11
11
-2
0
-20
-23
-3
0
0
-35
4
-54
-15
0
105
-28
46
16
0
-16
74
-10
-3
0
3
5
0
-3
0
-38
2
26
10
0
5
-11
0
1
0
0
-5
11
0
0
-4
-2
-55
13
0
15
40
0
-9
0
17
-24
29
-26
0
54
51
11
8
0
4
36
-75
0
0
-17
24
-4
1
0
14
31
-12
3
0
-2
-2
-26
-1
0
-1
0
1
0
0
-7
-22
-4
0
0
-33
-34
-27
-3
0
58
18
-29
2
0
6
11
0
0
0
0
19
4
3
0
-4
-24
-5
-19
0
-5
-18
6
0
0
4
11
-3
-7
0
-39
5
52
-3
0
25
36
21
-16
0
-18
-1
21
-56
0
-70
64
87
38
0
46
115
-67
-34
0
-97
-36
17
33
0
25
7
-6
-1
0
18
-18
-30
0
0
36
29
-68
-12
0
-16
49
-49
14
0
88
-47
90
12
0
1
-1
13
4
0
75
6
-42
-11
0
-1
-21
-2
0
0
0
3
12
0
0
0
20
-2
-8
0
-20
-14
-17
5
0
91
-56
-6
2
0
118
32
-16
5
0
-23
-56
10
-12
0
-43
54
13
0
0
-4
16
-4
7
0
23
4
-4
-6
0
0
-9
1
-3
0
-38
3
6
-1
0
20
39
40
-12
0
25
-74
4
-11
0
0
4
-13
0
0
-16
-7
-12
0
0
-1
-9
-32
1
0
-12
1
-20
-12
0
-50
14
-1
0
-8
-35
-24
10
11
0
21
53
44
85
0
71
28
8
-63
0
-5
0
-31
-13
0
-12
-22
38
27
0
58
-45
-93
11
0
16
-53
14
76
0
-21
-5
-2
7
0
-84
92
-68
24
0
33
-52
-57
-37
0
-26
81
-34
29
0
0
-50
65
12
0
55
-41
-3
-8
0
11
-57
62
3
0
9
4
-3
-11
0
2
1
1
-2
0
-45
-67
21
2
0
-16
74
2
-8
0
75
-5
19
-91
0
-5
-37
14
6
0
-51
-5
-7
3
0
10
19
14
0
0
9
0
-48
6
0
-4
4
0
-2
0
-13
8
11
0
0
-69
102
-90
0
0
-21
51
-58
-2
0
-1
-3
-2
-11
0
5
0
9
-15
0
-3
23
38
0
0
0
-4
-27
-2
0
-3
8
-3
1
-16
-58
-36
12
-6
0
-42
33
34
-14
0
-13
-22
28
55
0
29
13
-5
-28
0
115
-55
-23
3
0
19
-8
0
1
0
-9
49
-2
8
0
36
-14
-34
-2
0
37
42
-48
57
0
90
21
87
-27
0
-11
28
-136
-60
0
66
-2
-13
-61
0
-3
85
3
-11
0
5
32
-40
14
0
-42
9
8
0
0
0
42
42
5
0
52
-58
93
-34
0
0
20
13
67
0
-11
58
34
29
0
-24
-47
125
6
0
-80
-38
-104
-2
0
12
-37
-25
-12
0
0
5
-11
11
0
3
-3
-9
0
0
-53
3
-52
-1
0
-23
45
-27
-25
0
-37
38
91
-2
0
0
-13
-21
-2
0
-38
19
-63
-1
0
-8
-15
55
-27
0
15
-31
53
-2
0
-12
-15
3
3
0
-54
15
-41
-67
0
-28
26
-51
62
0
3
-22
13
3
0
66
-69
80
-10
0
-25
7
-14
-77
0
65
-41
0
20
0
124
-11
10
-21
0
-26
4
22
-10
0
-28
24
70
-4
0
4
20
2
9
0
19
-9
9
20
0
12
19
-3
5
0
-30
-44
2
22
0
51
87
46
-6
0
38
-59
-1
-16
0
22
113
9
-9
0
-45
8
36
85
0
12
24
-6
-8
0
23
11
-2
-23
0
7
15
15
5
0
22
3
-19
-11
0
6
-31
66
-28
0
38
-12
-7
67
0
-32
10
52
33
0
23
49
-19
10
0
-48
49
-2
28
0
-10
-30
32
58
0
21
17
29
32
0
17
-65
77
-28
0
65
18
11
-22
0
26
0
-23
53
0
14
-18
0
15
15
-5
-47
9
43
0
-12
24
-2
80
0
-25
-46
13
-3
0
51
-22
106
-66
0
-18
57
-28
31
0
-83
31
51
-43
0
-83
-38
-91
-11
0
20
-56
45
13
0
92
-49
1
2
0
95
28
6
9
0
49
40
-14
-39
0
-1
6
-122
-6
0
53
-33
7
25
0
-20
-8
9
15
0
36
92
-133
2
0
-61
-8
88
4
0
81
-88
10
-35
0
13
7
1
-5
0
22
-2
2
-31
0
-7
-46
-10
39
0
-1
-21
-36
-67
0
14
16
-16
38
0
-27
5
29
-44
0
-39
-31
-25
10
0
75
-16
-20
45
0
79
-17
3
88
0
-108
54
87
55
0
24
-30
16
-3
0
-164
75
-19
-49
0
62
40
-13
-27
0
-36
165
48
20
0
13
20
23
-8
-5
-17
15
37
-14
0
57
0
-42
29
0
-28
59
22
-27
0
-107
74
-53
-1
0
-25
17
18
7
0
33
-21
13
3
0
107
-10
59
-18
0
3
10
3
-3
0
-41
-12
26
0
0
20
31
31
0
0
65
24
-40
-9
0
2
60
6
1
0
-4
9
45
-5
0
13
49
-75
11
0
17
6
15
-5
0
26
-16
-2
3
0
-82
-57
58
-3
0
-8
2
-14
22
0
4
-16
-15
19
0
-27
-12
-54
12
0
-15
-22
-109
-46
0
27
-4
3
-84
0
-31
-2
46
-5
0
-54
-31
-69
70
0
-17
-18
-3
14
0
68
34
49
-57
0
-28
-54
-77
99
0
26
46
-42
67
0
70
68
13
-64
0
68
2
-35
6
0
27
-101
76
-59
0
17
-22
-11
109
5
-20
34
90
44
0
-30
-36
40
21
0
-41
15
40
-71
0
-37
20
-42
-19
0
-77
-5
9
-3
0
77
45
16
0
0
55
-29
27
-4
0
-8
2
3
-2
0
32
-155
-11
-1
0
33
-6
6
9
0
-109
-42
62
-7
0
1
17
-23
-1
0
-42
-25
56
-5
0
-12
-76
-15
-11
0
14
-58
-39
-3
0
16
-16
-19
0
0
9
-113
12
-6
0
19
0
1
3
0
-3
6
8
-20
0
4
-4
3
23
0
7
-12
-40
-10
0
22
-13
-25
18
0
-14
10
36
24
0
32
-50
-34
10
0
-86
42
15
9
0
51
60
-39
-31
0
-7
78
-66
-21
0
-54
30
-82
1
0
17
42
24
-50
0
-7
-34
-27
68
0
-22
-92
-10
-10
0
-15
-13
-76
-22
8
-143
12
-104
-142
0
32
-17
22
32
0
-5
51
58
1
0
1
-15
33
8
0
7
23
-54
62
0
-81
21
-3
-34
0
-96
31
4
-30
0
-2
14
-15
16
0
-16
10
-2
-3
0
-33
13
-73
-22
0
59
-22
-25
7
0
11
74
-6
1
0
58
-78
-20
-30
0
-4
75
-10
-3
0
0
-14
7
-1
0
-42
-30
7
-1
0
41
46
-133
-6
0
-2
25
-14
40
0
-1
-13
-10
-59
0
-51
-25
-4
26
0
-33
23
1
-8
0
27
-26
9
10
0
-22
-8
64
5
0
25
-68
-52
-12
0
-139
-65
-42
120
0
-20
53
8
-93
0
-141
108
-73
89
0
55
92
-41
-44
0
-72
51
11
3
0
-22
58
-42
-12
0
-2
0
-16
-83
0
33
31
73
-8
16
-31
7
-13
-24
0
5
67
106
-1
0
-27
85
-7
-2
0
80
-67
-1
35
0
-6
75
-4
31
0
-64
-9
-31
4
0
-17
33
57
0
0
28
-2
-6
8
0
9
1
-87
-11
0
-93
30
-31
-11
0
26
23
7
16
0
0
54
-2
-1
0
96
-15
-21
0
0
3
66
-68
-4
0
-2
10
-21
3
0
7
17
-14
8
0
-75
154
-26
-21
0
-5
-34
19
50
0
0
-64
13
56
0
-9
-51
14
-11
0
-45
-37
-59
-2
0
-30
-108
-6
-102
0
-134
-124
-18
22
0
47
72
-1
-102
0
36
12
29
52
0
-31
28
-15
57
0
45
-19
-58
-7
0
18
32
-26
52
0
67
-47
-45
-11
0
5
-91
20
16
0
17
-13
-147
9
0
-12
39
-77
-124
14
-25
19
-42
-112
0
-26
-19
144
23
0
-55
50
-47
31
0
-8
20
-11
3
0
13
81
-8
42
0
8
21
-33
0
0
8
-31
21
1
0
6
-6
-1
2
0
118
-14
-40
-25
0
-58
12
-8
0
0
-27
66
24
-15
0
-4
-48
7
4
0
50
25
-6
-23
0
0
-11
-1
0
0
-4
-2
-6
2
0
-7
10
0
2
0
45
-49
3
7
0
-21
-2
-4
89
0
-14
-46
0
17
0
-1
-31
-40
-34
0
-9
-21
-38
18
0
4
39
80
-5
0
174
-216
20
-64
0
62
-22
110
-60
0
-84
-56
87
-20
0
-4
-23
-33
-105
0
-93
100
-56
34
0
67
119
0
-28
0
57
-86
22
-23
0
-8
-43
-79
16
0
7
-4
-4
1
0
64
-83
29
-50
2
38
26
-51
-29
0
76
-66
57
-55
0
26
39
-105
-26
0
24
-55
-39
-25
0
-100
27
43
-39
0
136
-104
124
-7
0
-31
47
8
-8
0
53
-64
19
-14
0
-155
53
45
-9
0
-7
131
-10
-6
0
-114
91
2
50
0
-33
-48
-103
5
0
1
-77
-16
-1
0
63
15
10
4
0
27
-4
-76
0
0
-4
9
-26
-6
0
36
72
-15
11
0
2
2
16
27
0
-5
-29
-2
2
0
-24
-27
-35
-153
0
-50
-24
-55
-12
0
-8
-45
-120
13
0
77
-34
-53
23
0
-71
-48
-4
-33
0
-29
-42
18
-10
0
-18
37
-40
37
0
69
-36
-130
18
0
-92
-42
48
-35
0
7
-19
22
1
0
-13
-32
33
-154
0
-16
61
-8
-77
0
-166
-53
24
45
2
40
-102
-45
39
0
-8
-13
0
-17
0
10
-20
67
18
0
91
-96
135
11
0
-8
-42
6
-28
0
-14
9
-33
2
0
38
14
-15
6
0
15
23
1
0
0
-6
15
41
-28
0
-34
68
-65
-69
0
57
86
8
23
0
10
78
-13
34
0
-69
-6
37
40
0
4
-52
-30
-14
0
-76
8
12
-6
0
-34
24
57
-3
0
27
-5
-10
1
0
4
15
38
-27
0
23
46
81
-30
0
19
17
56
-49
0
12
-16
38
19
0
36
22
13
-11
0
-104
15
27
-50
0
31
-115
-32
103
0
-26
-64
-27
-19
0
11
-5
3
4
0
38
1
3
14
0
-15
13
25
-11
0
25
11
3
37
0
81
36
31
18
0
-4
59
-8
-6
0
3
35
-28
-44
11
-60
29
16
-2
0
-40
38
10
98
0
-39
22
103
35
0
-20
104
-6
-18
0
2
-42
-57
88
0
146
-1
42
-4
0
37
9
15
36
0
-41
51
-67
-9
0
-10
60
-79
9
0
40
-56
49
-16
0
-65
-10
56
-125
0
-2
-94
39
12
0
8
-66
20
19
0
-64
44
-17
-1
0
19
14
12
1
0
8
-8
-80
1
0
7
39
-54
4
0
2
-25
9
42
0
-4
-34
-39
-3
0
7
-31
75
-35
0
-10
-90
94
36
0
-25
-22
72
3
0
-70
-79
-54
53
0
91
36
-133
2
0
-131
-70
86
0
0
-7
14
29
29
0
37
25
27
-13
0
-16
47
-27
-10
0
71
-10
1
37
0
70
-4
34
21
0
-47
11
29
-10
0
88
53
18
-56
-2
8
22
16
64
0
-8
44
27
-61
0
23
-13
24
60
0
17
70
42
-11
0
-27
-9
46
-53
0
35
-17
-64
-1
0
-33
63
25
4
0
42
32
-5
1
0
-114
68
-10
25
0
-6
53
11
1
0
76
-125
15
36
0
19
-17
-13
-13
0
4
-15
6
12
0
7
-31
15
1
0
0
1
50
1
0
2
14
-6
-6
0
-16
-3
-7
-58
0
10
-19
1
-11
0
16
10
24
-42
0
-41
15
6
-25
0
-38
-117
-48
11
0
-46
48
-19
-49
0
-33
23
-35
-55
0
76
-19
51
-38
0
41
-44
-65
-24
0
15
10
11
-12
0
52
-2
12
-2
0
-35
-21
-6
16
0
-45
4
-20
-26
0
-21
-45
-60
66
0
10
99
13
-58
0
52
-40
-8
-2
-16
17
-16
-6
-29
0
-31
27
28
111
0
-15
-38
-32
-37
0
-90
57
12
-15
0
-52
-5
12
-3
0
22
113
28
7
0
20
-65
85
-48
0
24
1
10
-4
0
-49
-43
38
-3
0
-41
45
43
35
0
-16
-59
-17
19
0
19
29
-71
-21
0
-50
-1
-11
0
0
23
-17
21
-6
0
2
34
21
-9
0
-3
-25
16
-3
0
-3
-53
-4
1
0
-37
3
-44
-31
0
-19
52
-43
57
0
40
-108
-60
43
0
-31
33
-17
-12
0
-62
-21
-27
-104
0
-72
-59
7
2
0
29
78
21
-20
0
110
74
-76
-59
0
25
27
6
-9
0
-14
-14
59
-5
0
-70
-63
80
-5
0
-7
2
-15
28
0
62
-17
50
-17
0
52
-40
65
17
0
-92
90
-41
14
-6
15
-13
-112
-14
0
10
6
40
18
0
43
85
60
-34
0
-65
60
-24
-94
0
-54
51
11
10
0
-24
9
-21
-5
0
-15
29
-61
32
0
26
-22
40
-2
0
-18
3
-11
-15
0
-20
7
6
25
0
-105
7
62
20
0
-16
16
-50
77
0
-23
47
-6
93
0
32
24
5
-14
0
0
-56
49
24
0
1
-6
-32
-22
0
77
-122
27
-29
0
-14
38
26
69
0
-9
20
10
-1
0
-10
-56
-42
86
0
-9
25
32
-38
0
-44
-62
-103
39
0
46
-53
-32
-70
0
-148
-57
89
117
0
-4
-18
-93
-5
0
43
33
8
-6
0
115
51
26
-27
0
107
-23
-25
-63
0
-4
-39
53
-16
0
1
20
7
-71
0
-70
67
25
35
0
52
-48
-75
12
-8
-31
-3
-46
42
0
5
-14
23
39
0
36
-11
21
-25
0
35
-49
-10
60
0
9
-44
25
16
0
3
-5
13
37
0
53
35
4
-13
0
-8
-50
16
11
0
-35
-3
-26
13
0
-35
-8
-3
107
0
37
-12
-73
22
0
-14
-52
73
0
0
-26
28
6
-40
0
-3
-9
49
0
0
9
4
-6
16
0
5
24
5
-16
0
-48
-2
-22
4
0
-5
4
59
-38
0
29
-51
37
81
0
1
-25
-66
-17
0
59
-14
-115
38
0
-118
27
-23
33
0
-59
69
-60
-92
0
8
-26
-74
-21
0
-3
-6
-92
-3
0
57
26
23
-22
0
-14
4
55
-12
0
-22
-3
40
-61
0
-52
6
-27
24
0
-9
15
-28
70
0
9
10
-18
-39
0
4
5
30
-101
-10
-165
-12
-15
55
0
149
77
-22
6
0
7
-49
-27
110
0
-39
0
22
-9
0
-11
45
23
-1
0
74
5
-3
-12
0
-78
-41
-10
-11
0
-10
32
32
5
0
12
12
-68
-48
0
-9
52
27
-9
0
-65
-61
45
11
0
12
32
-117
44
0
-11
36
63
9
0
-4
31
-47
9
0
18
-1
-59
-3
0
0
13
0
0
0
-40
-16
-30
24
0
-8
27
49
9
0
-14
-4
15
24
0
11
29
-2
-78
0
-15
-53
-109
8
0
34
2
-12
-14
0
-63
-58
-97
59
0
39
-47
26
7
0
56
28
12
-14
0
-18
16
0
27
0
-51
-41
22
-28
0
16
-75
-38
2
0
5
-77
0
23
0
14
39
53
-61
0
14
-88
-45
-44
0
2
-12
56
36
-22
-101
136
83
-135
0
-24
16
32
26
0
-34
65
4
-44
0
-83
13
-30
33
0
-72
15
-54
-1
0
109
-51
-9
1
0
-16
-42
48
71
0
-40
75
33
-53
0
-49
-120
30
18
0
54
-5
-48
0
0
41
26
26
46
0
3
71
11
-27
0
-94
-18
-16
23
0
-82
69
-19
-14
0
-6
-2
-1
-23
0
-25
6
-69
4
0
8
-75
-76
-43
0
-24
-1
2
22
0
-11
88
-3
42
0
12
-113
-116
6
0
34
5
117
-83
0
64
37
27
71
0
16
100
-76
-61
0
13
66
-18
-71
0
-64
-96
-73
-81
0
38
4
-14
-7
0
58
10
-5
51
0
43
-17
-62
11
0
-60
-10
21
8
0
-90
-32
27
-10
0
67
-93
-3
47
0
50
-111
49
-54
-10
18
-59
-50
-35
-6
29
0
23
-6
49
2
20
29
30
23
-10
-32
15
18
1
10
41
69
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
137
81
1
-62
-60
-19
72
118
72
7
61
-26
-1
28
41
-17
19
-106
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-1
14
159
27
25
-71
51
0
62
-7
43
-76
0
-4
27
10
-7
3
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-4
-99
-29
-78
0
-32
99
24
64
0
24
17
-60
3
0
-38
5
84
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-4
17
-7
7
9
45
20
16
39
17
10
12
18
25
-36
-9
40
47
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
51
11
-19
62
51
27
-9
40
0
4
-17
-8
66
32
4
-21
56
-50
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-62
-6
96
76
29
64
-71
-33
5
11
152
59
-51
-3
16
-103
90
112
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
41
28
19
29
41
-4
93
-10
0
62
-41
30
1
8
13
21
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
34
-4
93
10
9
28
33
27
16
-6
-17
43
58
91
-4
6
-23
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
92
-77
7
-77
96
87
10
-57
-15
30
-58
-22
-18
44
-23
-53
-82
17
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
-27
-54
-10
3
-39
54
-18
38
-1
20
30
-80
15
25
8
-43
-4
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-42
-65
10
0
29
13
33
-1
0
96
-38
19
-7
0
17
-62
39
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-3
63
4
8
17
2
-29
-21
62
-25
-4
64
54
48
11
24
19
-13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-44
55
-2
-5
-51
6
1
9
24
82
34
40
2
-94
100
8
-27
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-121
124
66
-55
-14
-20
-12
-23
30
58
38
-115
43
23
-15
3
74
-100
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-60
26
61
2
1
-7
-4
15
35
0
18
-42
-16
2
2
-31
87
1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
10
47
74
65
56
52
59
87
-15
-50
-48
78
36
22
-19
4
-10
-13
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
67
-72
5
59
85
62
-10
-51
-98
7
-1
15
-25
27
-18
33
-49
-8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
29
9
-62
63
0
75
-22
-29
16
-3
-128
17
6
5
-2
-5
-18
47
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
64
42
-10
-26
0
-84
-6
-57
0
0
2
-32
-19
-3
0
32
-8
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
66
50
-18
-21
36
18
64
57
9
36
63
-41
64
8
-30
-6
26
-22
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-66
64
7
-21
48
0
9
-28
-36
-16
-15
-20
-57
20
6
22
-2
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-36
37
8
-12
33
-19
58
14
43
4
-42
34
-44
-1
1
-56
7
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-18
115
-29
1
19
-87
-57
-35
0
-81
-31
-42
0
0
-75
-21
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
1
31
14
37
-56
31
47
-63
0
61
-13
-12
24
-77
30
0
91
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
22
13
-6
-23
-7
-28
46
-17
-13
-5
15
-12
-10
-13
-8
-18
21
-21
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-63
-91
-45
5
-2
-12
98
8
-5
3
1
-32
0
-1
-1
29
-26
-37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
79
16
-44
-5
0
-13
5
0
-3
0
14
1
3
0
0
9
37
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
28
-9
-11
16
7
26
3
20
-65
41
-56
-26
39
-51
-122
-27
74
8
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
40
-127
69
39
24
14
102
127
-61
82
71
61
-41
13
6
-70
-1
-27
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
29
-153
98
28
10
-101
56
-6
18
-21
43
18
-14
1
8
-16
-12
-14
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-72
39
23
2
93
-26
5
24
0
-60
25
7
-12
1
-62
-19
45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
72
-19
127
29
-31
-28
33
-7
-2
-20
38
-15
-4
34
-56
-33
107
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-22
91
-13
69
-48
15
42
50
30
31
50
26
93
4
-45
-48
84
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
-11
9
12
-77
143
28
43
-24
-21
27
62
63
3
13
-72
-5
6
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
18
10
68
-76
10
102
-25
-6
74
4
-79
67
-77
-26
41
23
-105
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
48
87
-24
-16
56
-14
96
15
-33
84
-20
20
-2
-32
22
49
90
-26
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-21
62
8
47
-42
58
-26
39
-33
-8
-67
-11
47
-5
-55
78
-30
89
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
36
23
119
-20
-102
-37
-44
-54
76
53
-5
-115
43
17
-17
30
-79
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
102
3
-50
-75
31
-81
24
-55
25
-3
-62
50
-19
11
55
-3
-67
17
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-89
48
69
85
-35
76
51
121
-32
8
25
92
-100
-39
-3
37
-29
-48
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
28
-38
23
-25
-2
22
43
63
-48
0
-13
-48
64
48
18
-3
-72
-42
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-108
10
95
54
72
-93
-30
-60
53
-26
-28
-54
-42
60
-91
-55
88
-25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
59
26
-46
-69
13
-122
35
84
20
3
60
20
-16
12
-26
9
-25
-18
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
16
27
53
17
17
-22
-35
18
63
-12
26
-10
12
67
-12
46
-8
-16
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
66
99
24
-81
-37
-51
26
15
-8
8
3
-17
-31
-14
115
-10
47
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-39
-16
-139
27
36
-44
-30
-69
-123
-33
52
24
84
-9
-80
-41
15
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
-11
2
13
-35
-38
3
-37
6
14
-126
-1
0
-38
-27
78
-44
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-11
-2
86
19
56
-11
5
-24
-6
-25
19
-39
42
-25
92
-174
-23
-89
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
18
3
67
-25
-85
42
-128
5
89
11
16
94
-66
-8
50
-43
87
-76
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-10
5
11
-18
-107
56
87
17
-6
-10
-9
-44
24
-3
-29
15
4
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
42
3
-41
-45
69
18
10
45
-25
-7
5
32
-61
32
-22
-3
1
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
45
-36
12
32
19
68
-29
54
13
63
26
-55
-99
25
44
-10
80
-48
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
97
51
-27
-12
-97
27
37
-118
23
16
21
-4
30
-25
-51
38
51
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-120
99
-10
3
75
-40
-42
-58
7
1
-10
-9
50
-8
-12
-16
-78
38
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-67
-17
-48
-14
-12
-42
-63
34
21
1
-49
25
-27
-31
7
-57
-96
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
0
17
4
-33
-38
21
21
-31
34
63
18
-106
71
1
-100
-62
12
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
21
62
11
9
22
-27
3
-3
-8
-62
3
43
-6
-48
34
13
54
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
199
-57
-67
-12
-22
-168
51
-2
-8
26
4
22
4
39
4
-14
1
45
-83
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
53
78
-14
-20
10
-67
65
-60
-2
37
-86
-35
24
7
-47
18
-9
60
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
5
-22
-85
-15
-46
-87
13
25
-18
-36
-55
61
-73
-34
-29
32
67
-61
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
12
-19
17
28
4
-37
27
73
46
-42
58
24
-27
31
-4
16
-2
-52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
87
-48
33
-10
41
42
-22
-31
-44
2
-101
-88
30
19
-33
18
-97
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
69
-22
-14
14
35
86
-78
-34
-4
-43
-10
73
39
0
-31
-126
-15
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
3
-29
-11
29
-59
-52
92
21
14
-41
-12
41
-40
-14
-47
80
-20
15
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
6
25
-12
30
-14
-5
18
9
6
78
41
-8
-97
21
-20
-29
42
106
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
4
9
9
10
15
22
45
2
-15
22
16
28
7
-6
0
-6
3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
4
22
-39
31
-30
40
-16
55
14
4
45
25
-8
-12
-42
154
52
19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
35
-18
53
62
14
94
-4
36
-38
-18
-16
165
-27
-3
1
-28
-14
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
5
-36
30
-89
30
45
77
11
16
-97
-20
-8
9
77
26
-81
-78
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
4
22
9
33
-3
2
-4
13
-8
-14
0
63
-45
-22
-29
0
17
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
11
30
-18
34
59
12
-60
-53
40
1
-9
75
71
-108
22
84
-95
-92
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
25
-8
26
32
40
-8
16
60
34
-89
112
58
-29
-28
-8
89
-127
-17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-123
86
77
-32
5
-6
-75
-34
2
-17
22
20
-28
-6
-22
3
-61
71
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
7
-7
16
15
-36
-10
-21
12
-22
45
39
3
-24
5
48
-20
-23
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-42
40
33
-23
54
-25
-81
-85
-44
-4
-19
3
-78
73
8
-64
36
73
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-49
57
-50
3
-80
-13
14
163
18
-6
10
53
-21
-20
-14
37
-12
10
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-49
13
23
2
-15
-70
-17
-26
-58
-4
-2
-48
35
23
4
-84
-6
-32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-1
-15
25
-10
-57
6
18
-12
-5
-18
-9
-27
-3
-56
14
-25
-5
-8
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
56
-3
29
10
-108
44
10
101
19
-124
-43
56
-59
-51
89
33
-60
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-25
-39
20
-16
8
-42
99
-6
-20
-42
19
-17
-41
-6
15
-59
-37
-25
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-55
16
43
20
51
39
-17
-84
2
-35
22
-5
73
2
8
-27
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
34
47
59
39
-24
9
48
25
69
-10
-67
21
7
30
29
-66
-38
-48
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-19
-62
61
-87
-124
-5
-38
62
-85
-8
-66
77
-60
87
-13
-25
-35
-166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
44
9
-65
42
72
17
55
-59
-50
-27
91
1
-2
-21
45
81
-68
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
5
10
55
-8
-54
89
13
35
22
-6
-33
88
-9
-2
-25
17
-81
66
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
46
45
2
-57
7
24
59
54
74
-67
-90
-45
20
-18
-80
-67
1
-33
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-49
52
124
64
-52
-17
64
-92
95
-29
21
-68
-72
-60
-113
23
13
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
47
-27
18
5
-145
-37
42
-34
-20
-33
-68
7
62
-10
-1
-18
62
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-29
33
10
4
44
-11
39
-52
-6
-3
-34
8
12
0
-7
-18
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
18
-23
48
-13
-41
22
-18
-58
-43
-50
-8
-60
-27
5
29
-43
-62
-23
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-86
8
-32
24
-74
-121
-6
-78
-20
5
69
-47
95
-132
47
-36
-102
-141
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-52
114
1
0
-97
-17
-43
-79
1
-22
69
-38
21
7
-38
-7
20
40
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
33
-59
-83
17
24
-23
26
21
-1
-5
-18
-97
-28
3
-16
38
-60
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
12
2
0
-9
-26
17
20
24
9
-11
-16
-26
-52
29
48
-39
-62
-6
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-16
18
28
-66
-66
-93
105
-55
-36
-45
-95
-99
67
41
21
5
5
-57
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
76
35
12
-1
-49
50
16
75
36
30
12
-20
-50
-15
-72
25
-13
-26
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
32
-11
71
50
26
0
29
-3
-2
135
-44
12
-20
-30
12
-20
15
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-7
-15
2
-30
3
17
-15
40
-7
-55
-48
-32
10
-39
-42
25
-33
58
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
9
15
12
19
21
15
20
-7
16
-5
3
54
40
54
-31
20
17
91
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-35
-13
47
21
82
37
28
-16
13
-3
-73
12
4
-15
67
11
-1
28
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
48
-54
26
21
80
-82
63
26
-12
-34
16
-28
78
-34
29
-5
70
-55
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
8
1
11
18
67
10
-34
-6
-67
-14
-28
99
-111
-22
-160
17
0
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
-7
8
-4
3
21
-30
9
11
-37
-35
9
14
33
-126
-47
-49
-6
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
-70
-5
-29
49
-39
36
63
43
16
-83
-109
20
-29
-27
-20
9
16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-59
-31
11
65
45
-9
-46
-98
-13
-29
-12
78
-131
104
88
-3
-11
5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-21
12
62
-20
-18
-17
50
44
-34
9
54
-61
10
-125
-35
10
-15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
58
10
39
-18
-2
16
0
-17
-45
4
27
-20
27
67
10
11
12
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-126
49
126
-24
137
-94
-17
-87
81
-87
49
-66
-18
84
127
26
-86
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
1
-110
-31
10
5
64
-18
27
-23
29
-26
-92
-78
-42
-101
-22
-32
23
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-30
42
39
88
-63
-28
42
25
-14
96
-57
-85
22
84
0
-20
6
-39
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
47
55
25
-60
14
16
11
-26
-18
33
6
31
36
-20
-23
-41
-27
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-31
-13
58
29
-85
103
67
19
72
72
21
-16
-51
-100
67
-76
-11
119
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
16
14
52
-18
101
-48
-14
-10
48
-78
89
-35
2
26
8
-51
44
41
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
68
40
-10
-9
-41
82
-22
-17
-62
15
14
-11
37
-26
47
-32
-183
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
10
7
23
20
-28
23
0
60
20
-1
69
-30
40
-53
-142
-10
-13
-19
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-24
58
9
8
-16
21
-41
30
-10
-24
24
-2
12
-38
-51
51
-65
45
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
14
-8
13
40
-19
5
54
-13
-27
-58
-96
-34
31
-57
24
-18
-93
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-9
49
-2
28
-15
-105
16
-90
-47
-35
1
37
42
-54
-11
-88
-67
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
0
-5
91
-17
60
20
38
-60
6
15
-58
-16
24
-11
-48
21
-44
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-122
33
-15
-36
45
23
-24
52
9
49
-29
-98
52
-32
-17
-8
-56
-79
-40
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-145
77
77
-18
-15
-32
83
-62
16
-27
-61
-71
-18
63
6
2
-56
23
38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
4
-42
-17
-34
87
-18
6
15
-35
-65
-2
36
11
-73
132
51
-59
-42
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
20
31
1
1
0
1
-18
-74
-24
-91
-3
4
1
-44
6
-30
-23
-45
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
2
91
122
-13
-46
4
-34
-54
16
26
-85
32
159
50
-68
17
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
20
67
5
-37
-37
-21
-111
-68
-5
-27
18
-29
-17
-61
-100
-20
33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
49
-58
-13
-5
24
-36
-98
33
-89
-48
-49
-57
-111
1
-26
-45
-51
-39
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
-2
27
-84
6
18
-38
-8
60
-45
12
-38
-10
-12
-36
-51
-12
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
17
-22
-5
26
37
7
4
0
61
116
51
64
30
58
43
38
100
-21
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
19
69
13
34
14
34
54
78
20
-3
10
53
89
-30
-17
29
-19
96
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-83
-52
0
9
20
-43
95
-6
86
0
19
-9
8
2
59
24
-92
89
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-35
36
27
-44
-10
144
-51
-7
-34
3
-96
78
-46
-9
0
4
-40
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-2
-13
32
71
31
22
8
15
42
4
21
84
-7
84
58
-21
53
-7
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
-34
44
-37
-42
-42
64
35
-19
-41
101
-17
-57
63
-40
149
35
-46
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
43
39
18
-76
-32
-43
56
-57
-22
-26
41
2
25
7
26
-17
86
59
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
62
-46
3
6
127
-123
13
-32
42
0
-30
-12
-16
5
0
35
11
8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
32
-15
20
57
28
3
15
-18
39
51
-5
33
7
3
10
60
24
62
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
118
-41
-10
-9
47
-133
-58
11
-17
-10
-81
29
11
13
78
66
-125
-33
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
4
-18
-1
-18
10
26
4
-49
50
8
-16
-38
-21
11
-53
18
46
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
-21
28
36
-2
88
39
-35
13
0
-90
-83
25
-3
0
37
-107
72
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
25
61
57
-7
14
14
29
39
39
5
-4
-15
-44
-31
0
-22
17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
-28
70
-40
39
-87
21
43
43
-40
-52
2
16
-20
45
115
-53
-24
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
59
19
-6
-9
59
-75
-14
-65
20
-5
-18
-4
-25
20
-43
-65
4
-29
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
-33
-27
48
2
65
-4
-55
-50
2
-5
-35
15
-9
44
12
-21
-27
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
43
34
101
10
33
-3
-1
50
27
-54
33
-110
109
34
-62
93
-46
8
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
21
-15
72
-18
57
134
-63
29
-41
0
80
-14
-13
13
-2
-53
-16
-69
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
24
21
-11
-1
-12
21
-13
52
1
-10
72
3
-3
15
12
-60
-39
-34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-46
51
-21
-12
0
-3
88
52
71
0
-10
13
17
6
0
2
-4
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-31
36
-24
78
-9
31
11
27
16
-47
-114
-15
33
34
-98
23
-12
-59
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
98
-31
85
32
-26
-21
-26
-1
-11
11
-56
-22
68
0
35
-6
-49
-65
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
107
-74
25
71
18
1
54
-118
26
-20
-95
57
0
-1
-7
-97
97
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
65
-19
56
-13
23
9
-24
17
32
0
-8
-3
0
2
0
6
36
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
1
46
8
-41
-13
-20
-9
116
-46
117
-108
-1
74
27
-22
-95
-61
130
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
88
-6
5
31
13
-17
23
19
18
-3
31
-28
-21
4
-9
-3
26
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-14
57
18
8
31
-34
-18
36
22
-15
56
-49
-20
0
-1
0
40
-29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
103
-2
-2
7
-48
17
-5
0
6
-14
-4
2
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
44
43
79
-34
-50
-32
15
47
60
74
2
-45
25
38
18
-40
39
-53
-22
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-49
39
11
36
21
-27
70
-27
73
9
-37
-12
50
0
66
-58
109
36
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
43
41
9
-29
-43
17
43
28
20
-37
31
36
-47
-6
21
29
-156
-34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-53
43
-23
-9
4
-91
-24
122
1
0
-14
2
-48
8
2
-53
-26
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-5
13
96
73
116
-63
-18
9
-48
-49
90
112
-17
57
23
-5
-57
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-40
4
126
22
-20
-28
-10
74
13
32
-45
64
36
43
-16
-33
102
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
39
46
-3
19
-61
82
12
20
26
-9
75
34
57
-9
0
2
3
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
25
33
3
-23
0
-98
0
58
17
8
7
43
-23
-11
0
3
-28
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
38
52
101
43
-23
107
-35
31
33
87
29
-22
-29
11
-48
23
-19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-57
85
56
27
14
-41
-32
59
-39
17
-8
0
-35
37
-46
66
9
-103
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
80
-56
-13
6
-90
80
8
-2
-1
-10
12
12
-9
0
41
18
-48
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-89
42
-71
2
44
-40
29
-30
39
0
25
-17
0
0
-3
-31
-2
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
41
43
-5
109
-46
0
67
49
-52
28
-10
-30
-36
-5
53
16
-10
3
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-6
17
5
-9
107
-65
51
-51
27
-12
-68
62
-71
-2
-13
-18
-16
-37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
40
71
-15
63
-22
16
-28
80
48
126
-117
4
7
8
77
21
-61
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
51
-18
86
-9
-5
-17
-33
-31
-4
0
65
17
-4
-13
-5
-16
-20
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
62
-53
49
-63
46
33
38
69
-30
76
-2
-38
42
-58
66
-27
-41
7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-5
-38
25
3
20
1
0
36
-43
4
-5
-15
87
-19
-136
1
-58
74
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-4
13
-23
8
-28
-32
15
6
-39
6
-67
77
-47
6
-16
99
42
-175
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
64
-20
-10
-8
-15
4
14
22
3
20
-85
54
7
1
60
-61
14
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
3
10
61
4
-97
23
67
-2
-31
89
56
-6
-43
29
-15
38
18
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
28
67
11
78
47
-61
14
-2
21
-3
-18
2
-33
-16
7
4
-19
28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
127
8
-42
-7
-25
-13
46
-19
-9
1
-64
0
-5
-6
-1
-3
28
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
66
68
-18
-5
0
-9
39
-18
3
0
4
5
26
-4
0
-2
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
20
36
-2
39
33
-29
28
-18
44
-47
128
-73
64
-93
-82
13
28
63
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
-37
-24
-14
-37
-7
24
-14
61
-20
9
23
-50
-42
2
-21
-18
-13
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
12
-88
34
-75
-13
20
-76
38
-3
17
4
8
-7
24
-15
87
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
34
7
8
-41
-3
-4
-64
7
0
-4
-15
-7
0
-2
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
2
37
-39
2
37
-15
44
-9
-29
0
42
12
-25
-12
47
27
-12
46
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-29
6
5
4
35
10
22
-4
-22
53
28
15
-34
2
-202
0
14
50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
81
25
-46
-117
80
-36
-72
101
-3
43
15
22
-21
12
1
-22
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
67
-75
-2
2
3
26
-3
31
4
-4
-51
14
-11
-2
-1
7
-9
41
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-6
18
-8
-124
14
38
45
-14
66
-37
-39
96
-113
58
-46
-12
19
-51
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-20
47
96
-25
1
-29
55
13
-8
84
51
-31
-20
-24
-51
99
-43
11
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
32
34
-30
-53
11
-34
88
6
-23
8
-39
-2
-28
49
-49
22
-67
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-30
61
65
-54
10
24
-49
-35
-9
6
-22
65
-9
1
3
52
-43
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-14
-3
47
97
32
1
42
110
-81
-4
37
64
2
-99
-51
21
4
86
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-76
51
-69
-9
84
26
-1
-15
-27
47
1
27
26
-4
-7
-128
81
29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
2
14
23
11
14
1
15
9
24
11
2
-37
14
-33
-1
-23
32
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
30
-50
48
6
53
-19
62
-30
-115
8
47
42
-2
-60
-4
84
-4
106
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
49
44
-7
24
-3
13
-20
38
-26
-73
32
3
28
-33
37
-16
-48
24
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
-30
-39
45
127
108
-10
-130
-26
-33
-8
-106
-21
-10
-13
117
16
-36
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
-6
1
64
-15
2
13
1
40
8
-5
-2
3
8
-18
-1
-33
-28
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
72
-43
17
-114
16
5
31
18
34
0
41
-46
64
0
-21
65
37
-151
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
-25
88
-36
30
83
-30
-6
1
-55
8
162
10
-41
92
53
-23
7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-15
11
56
-5
40
-46
64
-2
-45
-8
57
-14
-77
-12
-11
-14
29
43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
16
2
0
15
-69
5
5
11
-25
-60
-1
18
-7
47
0
-22
-12
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-13
-22
115
12
-5
-47
-112
-16
-26
-119
21
66
28
38
-84
-28
-74
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
46
-30
18
24
11
38
-58
52
26
-76
-86
24
12
-4
-14
-5
33
33
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
2
25
2
-15
-4
39
-84
-26
4
1
-62
7
33
0
-60
21
-64
-84
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
4
8
14
13
-4
2
-1
-23
6
-37
10
-33
-7
-12
-17
-38
-74
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-31
35
32
-39
21
-33
-55
-9
30
10
-60
-7
6
61
-76
74
-36
-119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
-1
-40
50
-39
-98
54
21
4
41
6
6
-49
-35
59
-11
-21
124
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
82
55
-85
-47
18
37
-56
-95
-46
-11
-8
82
-12
2
-15
-22
49
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-5
13
22
40
-21
-15
43
31
25
59
24
26
10
-13
-102
-55
-1
-65
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-7
49
80
-69
39
52
-28
-74
-3
4
-11
-32
-109
36
0
-78
-7
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
71
53
84
-53
111
-21
38
-127
43
-1
197
25
-64
-41
-18
44
-58
-32
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
37
-40
-53
44
-108
88
-42
9
0
-21
-1
6
3
1
7
-17
-45
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-22
28
-14
8
-25
-45
-30
2
-11
-12
-55
-44
12
-18
-104
-85
-17
-2
181
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
47
-40
-59
-71
134
55
25
-64
-86
-1
-25
-22
25
-92
14
5
0
-83
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
10
-1
-39
-27
-3
-80
20
26
7
-23
20
42
-31
-31
3
-12
-19
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
21
124
-73
37
-83
-43
45
-25
0
-43
20
-20
18
4
-10
-26
-32
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
6
35
13
14
19
44
25
-27
-60
-35
-19
63
2
-62
-51
-62
-36
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
64
-6
-26
-105
-8
22
2
-31
-80
58
-62
7
16
33
22
-38
74
-34
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
12
19
57
-9
-24
-14
-40
113
86
-54
-45
-52
95
-15
93
65
-46
-119
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
86
3
-52
-3
28
-70
45
25
-98
-4
20
-50
-38
-24
-41
-104
13
23
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-3
7
9
-29
-45
7
4
24
-19
-14
-32
-9
21
14
-142
-32
-18
-16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
38
-19
-49
24
-12
46
-19
-51
-137
-18
82
-90
-71
36
-8
-38
-7
-35
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-5
8
66
54
39
48
-15
-9
-104
17
71
-92
2
-5
-37
80
-13
61
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-32
-13
4
69
29
100
-2
-73
66
-68
31
-34
98
-1
62
-16
26
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
25
1
-26
-49
30
1
-16
-17
-6
-19
-9
1
-74
-54
0
5
75
-31
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
7
10
42
-15
-27
-14
27
58
-10
60
-15
38
-30
-35
-45
9
13
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
132
94
8
20
51
-34
-23
-21
38
98
-73
15
-13
-29
2
33
8
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
145
-37
-87
18
53
35
-24
2
-22
10
17
-20
23
3
49
-86
-42
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
35
8
24
28
-66
-22
15
-26
16
103
-16
-35
-6
-14
-60
32
-45
-5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-19
18
11
59
38
-16
12
32
45
8
5
10
-17
-61
-71
-37
35
-10
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
55
-50
-35
-48
28
82
-14
71
-109
-21
61
26
42
76
-80
8
-16
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
56
-15
31
9
65
73
-16
-7
7
24
53
-9
-28
-24
24
-49
17
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
8
-50
-6
-3
14
-6
-89
-10
39
-6
16
-4
-47
-78
-81
14
37
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-10
30
24
5
-54
-14
99
11
24
34
-40
8
44
27
41
-57
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
94
-64
-5
0
-34
33
21
34
3
13
-74
-41
-9
26
36
24
-34
-102
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
43
31
126
-27
-59
6
63
13
27
-28
-26
-32
2
1
-74
-98
35
98
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
21
17
9
-80
-54
7
95
-10
-31
-53
6
80
28
-2
-150
3
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
40
-24
20
-22
-63
9
16
4
-58
17
7
-29
57
9
-6
5
-9
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
12
33
97
47
21
0
-44
-1
29
52
-40
36
42
-139
-76
48
65
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-44
-13
48
57
-105
26
26
37
-27
23
-39
4
-81
-7
87
-50
57
99
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
-14
-24
2
-2
3
1
30
9
-8
-21
-55
6
-14
-106
-52
-12
-92
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
45
10
0
10
-24
13
1
-66
103
19
9
19
102
46
-88
-29
12
-100
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
27
42
-33
14
35
9
77
8
-67
-17
-86
35
-40
24
-39
43
-70
-46
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
66
13
47
-67
55
-19
-29
46
126
8
-25
17
-15
-3
27
15
-75
-16
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
-11
-26
41
57
11
-18
30
-40
-148
95
22
-25
-25
18
-12
-44
17
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
10
17
32
-41
-34
23
43
62
-22
94
-7
-15
-63
-150
-82
60
42
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-26
68
5
45
13
-93
-1
65
35
-46
83
47
-39
-12
-30
-32
2
82
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
11
-13
7
-35
0
-66
39
15
11
-35
7
31
4
38
-16
-17
-82
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
34
-24
-36
-17
25
-2
-33
-3
-24
13
-31
-50
90
-24
-75
-104
25
59
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
25
23
-48
-28
-19
-13
-2
-16
3
-82
-7
21
-14
-56
-49
-55
-108
28
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
59
38
-38
-20
-28
-10
9
-18
53
108
43
-128
-13
43
-79
28
38
-17
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-113
150
69
-62
-65
-35
63
-72
144
37
-15
-35
46
16
-11
8
-1
-31
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
-33
-17
-7
-101
0
-13
-27
-41
-61
-18
11
27
-2
95
-32
-38
53
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-24
7
-18
25
-56
-40
8
31
7
-33
21
-16
-30
-43
5
-30
-55
18
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
9
-16
0
0
18
-4
11
0
0
81
7
-2
0
0
4
-20
12
0
0
55
80
7
0
0
-3
8
143
0
0
-64
79
27
0
0
7
-23
-42
0
0
4
45
-67
0
0
-95
80
7
0
0
71
-12
43
0
0
14
50
64
0
0
80
68
9
0
0
0
17
-33
0
0
54
79
-20
0
0
8
11
49
0
0
16
-23
18
0
0
78
-27
-9
0
0
-18
87
-27
0
0
34
49
6
0
0
97
-26
4
0
0
-68
9
109
0
0
11
-3
49
0
0
-74
14
104
0
0
-8
12
41
0
0
-77
-49
75
0
0
-21
5
80
0
0
22
58
-35
0
0
-30
60
40
0
0
0
-13
26
0
0
62
-24
48
14
22
8
-21
-77
0
0
-29
31
-13
0
0
29
20
27
0
0
25
30
57
0
0
10
25
24
0
0
80
14
58
0
0
-4
-12
10
0
0
14
8
42
0
0
-75
17
36
0
0
30
55
27
0
0
28
16
-18
0
0
-86
60
37
0
0
-8
4
36
0
0
53
18
-17
0
0
-53
32
6
0
0
50
44
-32
0
0
-21
84
-38
0
0
33
64
-91
0
0
69
85
24
0
0
-4
-61
27
0
0
-18
-21
39
0
0
1
-74
53
0
0
-39
-7
-2
0
0
50
-4
-34
0
0
-57
-28
20
0
0
-35
58
-27
0
0
34
-25
71
0
0
1
-78
-20
0
0
-119
38
34
0
0
63
-67
-36
0
0
64
-28
-23
0
0
38
-37
-59
0
5
106
30
83
0
0
15
-34
23
0
0
-26
-34
-54
0
0
19
15
42
0
0
29
24
78
0
0
-64
84
13
0
0
2
32
180
0
0
-24
6
-30
0
0
2
6
7
0
0
15
-61
45
0
0
-70
72
-4
0
0
160
91
-63
0
0
-34
54
-15
0
0
-11
-18
-1
0
0
-53
64
-16
0
0
47
0
-31
0
0
79
-13
-11
0
0
7
-33
111
0
0
5
-2
12
0
0
4
-18
-124
0
0
51
53
-13
0
0
-7
19
3
0
0
-40
-14
-49
0
0
-7
-67
-17
0
0
0
1
58
0
0
-32
89
-66
0
0
3
-98
-65
0
0
-1
116
-97
0
0
10
41
47
0
0
-1
-30
-54
0
0
-24
20
50
0
0
37
-73
-82
-13
2
56
-21
12
0
0
-57
15
119
0
0
-16
39
-3
0
0
-18
3
-77
0
0
10
-1
-23
0
0
25
-27
61
0
0
97
38
-13
0
0
51
73
27
0
0
27
28
62
0
0
15
51
-18
0
0
25
63
-2
0
0
-20
-70
55
0
0
-3
11
-23
0
0
-11
22
-18
0
0
-10
5
-53
0
0
-1
-134
16
0
0
35
114
-6
0
0
6
0
-47
0
0
-88
-12
98
0
0
-29
-58
21
0
0
24
9
42
0
0
-104
-76
4
0
0
-21
12
7
0
0
-13
16
-5
0
0
-33
-5
41
0
0
4
-7
-13
0
0
-8
-2
-73
0
0
0
83
9
0
0
28
70
-74
0
0
43
20
24
0
0
-43
10
3
0
0
78
-82
-36
-5
-22
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-18
8
28
0
0
16
98
-43
0
0
-88
64
-41
0
0
37
53
-47
0
0
-23
-82
23
0
0
63
7
4
0
0
-29
11
2
0
0
30
23
38
0
0
36
-57
29
0
0
180
-1
42
0
0
67
35
20
0
0
-59
86
16
0
0
53
6
9
0
0
-61
-2
-1
0
0
47
35
-31
0
0
3
98
27
0
0
-62
86
70
0
0
21
-119
11
0
0
-42
-11
8
0
0
53
49
-5
0
0
16
-7
33
0
0
-14
-66
-8
0
0
64
0
1
0
0
-6
59
29
0
0
10
43
25
0
0
1
57
-21
0
0
-47
-41
14
0
0
0
3
53
0
0
-13
69
-110
0
0
-106
9
79
10
6
-72
68
-56
0
0
-15
19
25
0
0
2
43
64
0
0
29
9
-9
0
0
-5
66
-42
0
0
8
-60
-21
0
0
65
32
43
0
0
22
-43
13
0
0
-5
47
-83
0
0
41
87
2
0
0
58
63
45
0
0
82
-94
-36
0
0
-49
-50
48
0
0
-3
-5
73
0
0
17
-22
-81
0
0
-58
-11
5
0
0
-33
-45
14
0
0
32
-31
-23
0
0
-19
-41
9
0
0
-18
-5
-12
0
0
16
-38
10
0
0
50
35
40
0
0
56
17
-17
0
0
-13
33
14
0
0
-10
75
-32
0
0
-16
-50
-34
0
0
37
1
-17
0
0
0
-26
-4
0
0
2
-67
2
0
0
43
7
25
0
0
12
-80
8
0
0
-17
36
28
30
-24
-104
130
-20
0
0
-6
-57
17
0
0
-39
110
-20
0
0
9
-28
76
0
0
-29
54
98
0
0
-11
-7
4
0
0
-11
37
-2
0
0
10
-6
-26
0
0
19
-68
-3
0
0
-4
-12
43
0
0
31
-75
40
0
0
-43
65
-77
0
0
-45
-2
-43
0
0
37
24
-5
0
0
7
-12
0
0
0
-42
78
-76
0
0
-54
-38
26
0
0
-56
37
4
0
0
-20
42
26
0
0
28
-33
-3
0
0
-51
34
-7
0
0
18
-37
-10
0
0
0
-6
2
0
0
3
-13
1
0
0
81
-61
10
0
0
3
-5
3
0
0
0
-34
0
0
0
15
-58
15
0
0
-14
-1
7
0
0
60
79
13
0
0
0
41
-6
0
0
-32
76
0
30
-11
53
-122
23
0
0
-34
15
-24
0
0
15
-58
-37
0
0
-74
33
-50
0
0
-67
88
23
0
0
104
7
-6
0
0
-32
27
27
0
0
-10
-32
-5
0
0
-68
-60
15
0
0
56
-7
-76
0
0
52
21
47
0
0
32
-12
-33
0
0
81
-28
76
0
0
-2
-14
-8
0
0
-10
-7
57
0
0
5
-3
-15
0
0
-27
-63
-4
0
0
-31
29
10
0
0
35
-63
-15
0
0
-3
27
-4
0
0
93
88
2
0
0
0
-11
0
0
0
1
5
-2
0
0
2
-1
0
0
0
7
14
18
0
0
-2
-77
2
0
0
-2
67
7
0
0
0
1
-2
0
0
10
35
-8
0
0
49
-122
-21
0
0
-37
-34
0
0
0
-18
40
-1
-22
-22
-13
36
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
21
120
18
0
0
79
12
-13
0
0
93
18
122
0
0
-6
-37
5
0
0
-53
18
-14
0
0
-39
43
-27
0
0
-21
22
-10
0
0
-24
66
48
0
0
111
-39
-56
0
0
24
-10
24
0
0
-10
85
-3
0
0
75
-20
29
0
0
35
-4
-46
0
0
29
37
-25
0
0
40
-11
-5
0
0
11
62
-11
0
0
15
23
30
0
0
22
3
-25
0
0
26
15
20
0
0
20
6
-11
0
0
34
-9
43
0
0
68
-7
-29
0
0
41
-11
22
0
0
5
-50
-18
0
0
123
31
40
0
0
-163
50
10
0
0
-21
-56
31
0
0
-113
-52
6
0
0
61
-45
4
0
0
-61
45
1
0
0
23
-1
41
9
-1
-18
-27
-60
0
0
4
22
-14
0
0
5
11
31
0
0
-19
80
-15
0
0
37
20
44
0
0
25
-24
53
0
0
38
-2
-37
0
0
-43
-43
19
0
0
-65
30
-48
0
0
23
-34
-11
0
0
10
60
-16
0
0
-52
-116
56
0
0
-2
41
-80
0
0
1
44
-2
0
0
15
-45
59
0
0
-49
93
6
0
0
-28
-9
-21
0
0
-15
-10
9
0
0
-4
-26
-3
0
0
-35
-1
60
0
0
-3
21
-35
0
0
-25
14
-43
0
0
53
-10
-36
0
0
12
-118
-86
0
0
0
-23
0
0
0
-27
111
53
0
0
67
17
46
0
0
115
-16
27
0
0
-6
-11
23
0
0
25
-49
-7
0
0
-78
-4
116
0
0
-45
36
-11
-8
1
19
19
-65
0
0
17
49
24
0
0
28
20
-18
0
0
-26
-18
-14
0
0
5
34
33
0
0
31
-48
-19
0
0
33
5
24
0
0
-19
16
6
0
0
11
59
3
0
0
-75
43
0
0
0
-46
0
-1
0
0
-2
-34
5
0
0
3
3
0
0
0
-12
13
1
0
0
0
-32
2
0
0
-75
59
24
0
0
84
38
-28
0
0
-28
-3
8
0
0
17
14
-19
0
0
-33
22
12
0
0
8
31
-23
0
0
-12
-78
-56
0
0
-87
100
25
0
0
54
-21
-24
0
0
19
-77
72
0
0
18
35
-38
0
0
39
-6
-62
0
0
-8
-9
9
0
0
122
2
-132
0
0
98
138
-12
0
0
10
10
-23
0
0
-19
-11
55
7
-15
0
-51
-3
0
0
-47
-19
-63
0
0
-71
-44
-76
0
0
-39
33
10
0
0
22
-30
9
0
0
-28
2
58
0
0
-35
1
-1
0
0
-1
50
1
0
0
33
-12
5
0
0
0
-40
0
0
0
25
-26
-4
0
0
-46
-37
-16
0
0
-67
-2
60
0
0
-52
9
-2
0
0
0
27
0
0
0
-4
-115
3
0
0
-26
-17
35
0
0
21
6
21
0
0
-19
-13
12
0
0
-37
54
-4
0
0
2
-10
-14
0
0
35
-13
61
0
0
-13
12
6
0
0
21
-19
-61
0
0
15
6
-3
0
0
0
-50
-7
0
0
-9
4
27
0
0
-83
-45
106
0
0
7
9
0
0
0
-81
109
34
0
0
69
-136
48
0
0
78
-68
-78
-21
-16
-35
-35
-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
-33
57
70
0
0
39
-88
-71
0
0
114
-126
-52
0
0
-52
-99
58
0
0
37
-49
29
0
0
76
-30
2
0
0
28
-46
0
0
0
33
41
-56
0
0
-17
-5
5
0
0
-28
-47
4
0
0
32
-34
-21
0
0
-9
75
-28
0
0
35
-108
8
0
0
-13
1
-16
0
0
16
-32
4
0
0
35
-92
-27
0
0
13
13
-2
0
0
15
38
6
0
0
36
5
-112
0
0
5
-97
7
0
0
-90
9
-33
0
0
-3
-82
-99
0
0
-98
59
-5
0
0
-22
32
-36
0
0
4
16
16
0
0
-17
28
-2
0
0
6
2
13
0
0
34
15
8
0
0
22
10
62
0
0
-25
9
22
0
0
57
25
4
6
-1
-33
-3
59
0
0
-4
15
94
0
0
-22
-13
-32
0
0
-47
-68
-13
0
0
-16
-3
-60
0
0
15
33
-15
0
0
58
-71
-1
0
0
0
65
0
0
0
-75
44
-21
0
0
32
-32
17
0
0
-98
-42
49
0
0
28
28
25
0
0
-50
60
-21
0
0
6
8
3
0
0
18
31
4
0
0
3
-39
6
0
0
-21
13
6
0
0
-16
-108
137
0
0
33
-93
-39
0
0
-36
157
84
0
0
-87
-41
105
0
0
-107
54
8
0
0
4
-38
-81
0
0
28
-58
23
0
0
-104
16
45
0
0
3
-5
0
0
0
-1
0
17
0
0
2
-16
31
0
0
35
27
-44
0
0
29
33
-41
0
0
67
37
54
0
0
19
19
-32
3
-2
-63
0
69
0
0
23
19
38
0
0
-25
16
-9
0
0
17
30
8
0
0
-103
79
24
0
0
-31
11
7
0
0
-16
0
0
0
0
19
-43
-5
0
0
-29
20
6
0
0
25
18
0
0
0
3
8
0
0
0
11
-110
11
0
0
32
-23
8
0
0
2
-17
0
0
0
0
-18
0
0
0
4
13
3
0
0
-17
-48
-2
0
0
-43
18
6
0
0
-62
45
-85
0
0
18
-51
-110
0
0
-33
-62
5
0
0
-27
-8
-17
0
0
4
-41
-61
0
0
-89
-47
23
0
0
-5
-32
-2
0
0
5
10
-16
0
0
-3
11
45
0
0
10
9
-33
0
0
6
41
26
0
0
-60
5
-52
0
0
-7
11
-10
0
0
-35
69
15
4
-11
-32
-12
20
0
0
4
9
9
0
0
-21
-10
-11
0
0
-38
39
-43
0
0
-28
4
-9
0
0
-6
-15
-6
0
0
-16
-31
10
0
0
-18
10
0
0
0
-89
33
-31
0
0
-8
36
3
0
0
0
-1
0
0
0
-3
27
5
0
0
-61
-36
60
0
0
0
2
-1
0
0
-1
2
0
0
0
9
1
4
0
0
-6
-27
6
0
0
-13
-133
-23
0
0
88
-62
8
0
0
30
112
-112
0
0
4
-4
-68
0
0
21
34
-6
0
0
4
-60
27
0
0
-91
64
-64
0
0
-51
28
-38
0
0
5
2
1
0
0
57
-65
-47
0
0
44
2
-137
0
0
13
12
-3
0
0
-3
6
104
0
0
12
-59
-50
0
0
-11
27
95
-34
0
-70
-75
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
5
19
-30
0
0
29
49
17
0
0
23
142
49
0
0
45
101
-9
0
0
21
-11
42
0
0
66
41
39
0
0
24
-43
-7
0
0
53
-55
53
0
0
46
130
-30
0
0
9
4
-48
0
0
-61
81
38
0
0
27
83
98
0
0
73
-4
64
0
0
-7
10
-2
0
0
85
-64
-44
0
0
31
80
52
0
0
89
-19
72
0
0
-33
37
55
0
0
71
-26
-3
0
0
1
18
65
0
0
-80
48
19
0
0
-46
48
42
0
0
47
-96
52
0
0
3
100
-47
0
0
156
53
27
0
0
-35
-9
47
0
0
-85
13
103
0
0
-7
-17
-36
0
0
-42
-27
-74
0
0
-2
0
47
0
0
-41
-31
-47
25
-1
7
37
91
0
0
24
42
46
0
0
47
49
45
0
0
-2
47
-24
0
0
-16
12
8
0
0
-52
-45
-42
0
0
3
96
-9
0
0
-10
66
35
0
0
53
-42
62
0
0
19
3
61
0
0
47
79
-39
0
0
-46
24
11
0
0
18
14
-57
0
0
-12
4
-27
0
0
42
26
-32
0
0
3
4
13
0
0
69
5
101
0
0
31
14
-35
0
0
-38
35
53
0
0
26
95
19
0
0
-9
-9
-44
0
0
-63
26
9
0
0
-8
-39
45
0
0
-21
55
-4
0
0
47
38
68
0
0
-32
-40
-10
0
0
48
46
25
0
0
-36
-21
-19
0
0
94
24
11
0
0
-49
-1
7
0
0
25
-27
94
0
0
72
2
43
22
16
20
-50
9
0
0
-5
-55
47
0
0
34
45
-37
0
0
50
68
-6
0
0
83
38
-72
0
0
-12
-21
-5
0
0
-69
2
18
0
0
39
-27
-2
0
0
-27
70
42
0
0
46
9
-21
0
0
-52
-6
95
0
0
28
-8
-12
0
0
-15
102
-63
0
0
-28
-15
-4
0
0
-2
37
-49
0
0
-21
59
-7
0
0
36
26
49
0
0
44
37
-7
0
0
44
-65
59
0
0
16
-15
-16
0
0
50
2
-35
0
0
-75
-33
37
0
0
-74
13
-10
0
0
4
-47
19
0
0
0
35
116
0
0
-6
37
45
0
0
23
-64
6
0
0
-4
-18
-44
0
0
37
-26
1
0
0
67
58
19
0
0
-24
-8
23
0
0
111
-28
-24
38
9
-62
-110
-3
0
0
16
-13
5
0
0
2
-43
18
0
0
7
35
41
0
0
18
20
67
0
0
-136
78
82
0
0
14
3
-9
0
0
-59
-16
12
0
0
-35
75
-38
0
0
-10
-1
44
0
0
7
59
-42
0
0
122
-103
50
0
0
36
134
-45
0
0
30
30
-5
0
0
-8
-2
-13
0
0
17
-11
-17
0
0
45
-138
-60
0
0
91
1
19
0
0
-73
147
66
0
0
0
6
-52
0
0
23
5
-10
0
0
-3
-48
-7
0
0
-3
-49
15
0
0
3
-40
-12
0
0
9
-19
103
0
0
28
66
0
0
0
-29
24
-15
0
0
17
-34
-12
0
0
19
15
95
0
0
-19
-24
11
0
0
7
2
-57
0
0
-65
-14
-41
-5
20
-46
-14
115
0
0
19
29
-6
0
0
35
-5
-10
0
0
-36
-73
-23
0
0
-54
-6
79
0
0
23
71
8
0
0
20
-14
54
0
0
46
-20
1
0
0
8
-23
69
0
0
-2
70
-3
0
0
12
-12
34
0
0
16
10
-9
0
0
-28
7
6
0
0
-6
-21
0
0
0
1
22
-6
0
0
-6
28
26
0
0
17
49
10
0
0
-10
-74
-6
0
0
15
15
16
0
0
-11
-2
-3
0
0
21
-32
-3
0
0
27
25
2
0
0
32
41
22
0
0
10
2
-2
0
0
16
-80
-15
0
0
19
-9
1
0
0
-18
-136
-30
0
0
1
36
14
0
0
-47
-61
-24
0
0
-47
165
2
0
0
14
-19
4
0
0
-10
3
-3
-2
14
-38
36
4
0
0
53
33
50
0
0
-22
11
-6
0
0
-114
60
41
0
0
-37
50
16
0
0
99
-75
49
0
0
21
-42
1
0
0
-24
-12
-3
0
0
-58
-44
-5
0
0
71
-28
-28
0
0
69
-30
34
0
0
-3
-51
-15
0
0
-11
-39
8
0
0
-12
-1
-2
0
0
10
15
-5
0
0
6
16
-1
0
0
-20
90
6
0
0
-56
-8
-40
0
0
50
17
45
0
0
-3
32
-2
0
0
55
-28
-3
0
0
5
-1
1
0
0
-16
-76
0
0
0
0
4
-2
0
0
-31
-47
-1
0
0
0
4
-17
0
0
-24
-43
22
0
0
-50
64
-50
0
0
34
15
-20
0
0
38
-30
-13
0
0
-29
28
-58
0
0
-7
108
-5
20
-4
13
-19
6
0
0
4
22
43
0
0
58
20
-89
0
0
-16
27
-29
0
0
114
42
-76
0
0
44
7
6
0
0
-16
11
-13
0
0
0
20
-5
0
0
24
41
-26
0
0
47
-4
2
0
0
-47
17
-5
0
0
1
-13
18
0
0
22
-23
-2
0
0
0
18
4
0
0
0
10
0
0
0
0
-15
0
0
0
-11
22
-4
0
0
27
29
-9
0
0
-64
-2
-5
0
0
8
-4
0
0
0
-47
13
-1
0
0
10
4
-1
0
0
2
1
-1
0
0
0
0
1
0
0
-15
-22
-5
0
0
2
-18
0
0
0
8
10
-3
0
0
-2
-9
-12
0
0
-13
10
14
0
0
-14
-52
4
0
0
-10
-7
3
0
0
-15
-24
3
12
2
46
-78
-7
0
0
54
-14
79
0
0
-19
-3
6
0
0
5
-24
-87
0
0
3
70
-2
0
0
-41
-13
45
0
0
74
24
-55
0
0
-11
78
8
0
0
-22
16
-64
0
0
-29
59
8
0
0
-64
-15
-21
0
0
-16
32
-21
0
0
23
-53
12
0
0
-19
19
10
0
0
2
-7
0
0
0
0
54
-26
0
0
-46
-9
-15
0
0
-43
45
-19
0
0
-36
-58
16
0
0
-19
7
2
0
0
143
22
-1
0
0
-1
9
-20
0
0
-1
7
0
0
0
-2
16
1
0
0
12
67
-2
0
0
-12
36
21
0
0
-26
-38
29
0
0
-6
39
4
0
0
17
6
10
0
0
-47
38
31
0
0
-6
55
-54
0
0
37
-20
10
-22
7
-8
-13
-17
0
0
-19
35
-41
0
0
62
41
-14
0
0
92
3
38
0
0
-71
-38
51
0
0
8
-4
13
0
0
117
-25
-36
0
0
8
19
5
0
0
-12
65
-8
0
0
1
48
-17
0
0
68
31
42
0
0
98
-140
37
0
0
60
-61
-10
0
0
53
-45
43
0
0
5
0
44
0
0
42
3
21
0
0
-39
93
-88
0
0
-22
17
12
0
0
-70
-32
-81
0
0
84
-3
3
0
0
-58
-37
31
0
0
8
29
1
0
0
-1
72
21
0
0
-7
29
15
0
0
31
-42
27
0
0
16
118
-20
0
0
22
-8
-11
0
0
-5
12
13
0
0
-16
7
-46
0
0
-40
86
13
0
0
1
40
-38
0
0
-10
42
-11
30
13
-57
-41
15
0
0
32
61
-19
0
0
0
16
-3
0
0
8
-22
33
0
0
18
-16
-27
0
0
-10
97
15
0
0
53
-62
67
0
0
7
5
0
0
0
-130
71
-7
0
0
0
-57
21
0
0
28
-71
19
0
0
62
-26
-12
0
0
40
22
22
0
0
0
33
-9
0
0
-9
-6
-6
0
0
-14
-26
-11
0
0
11
54
52
0
0
53
21
-17
0
0
14
58
-17
0
0
-54
-28
-6
0
0
89
-37
0
0
0
7
14
2
0
0
-5
12
-9
0
0
-5
-49
-3
0
0
-6
-91
-19
0
0
-30
-61
-55
0
0
25
43
-2
0
0
0
69
-15
0
0
17
75
-36
0
0
47
6
-4
0
0
4
20
-10
0
0
0
32
29
-6
3
18
-42
-2
0
0
17
-15
25
0
0
4
-5
9
0
0
-21
-2
34
0
0
-26
-21
55
0
0
-59
14
15
0
0
60
17
-19
0
0
-13
-3
1
0
0
17
34
9
0
0
-14
-51
13
0
0
-26
-29
9
0
0
-49
42
-3
0
0
58
-40
21
0
0
7
27
-2
0
0
-2
-1
-3
0
0
-7
5
0
0
0
-47
-12
1
0
0
-22
-14
2
0
0
36
36
3
0
0
-3
18
11
0
0
-11
-5
-13
0
0
36
-50
-11
0
0
-4
-5
-50
0
0
-1
3
-8
0
0
-2
41
16
0
0
-1
71
-34
0
0
40
-10
5
0
0
1
13
2
0
0
-2
-42
-6
0
0
1
-21
3
0
0
5
12
-1
0
0
32
15
1
9
-31
42
-44
-47
0
0
66
15
36
0
0
50
3
-58
0
0
16
48
-5
0
0
58
-38
12
0
0
33
133
-18
0
0
-56
-49
37
0
0
-10
-25
-13
0
0
32
68
17
0
0
19
3
-13
0
0
50
14
45
0
0
60
0
-12
0
0
6
37
8
0
0
1
7
0
0
0
-5
13
0
0
0
-7
25
13
0
0
-16
-63
-36
0
0
-4
89
1
0
0
-2
-84
-17
0
0
-18
-58
-1
0
0
-63
-20
9
0
0
32
-31
2
0
0
1
10
-10
0
0
-7
-22
7
0
0
-18
21
6
0
0
28
18
3
0
0
-19
25
-6
0
0
3
-22
-11
0
0
-95
35
20
0
0
-3
-72
1
0
0
-2
17
-11
0
0
-26
-95
-2
5
3
-91
-66
-67
0
0
26
9
52
0
0
2
7
62
0
0
-30
27
-25
0
0
-64
-44
0
0
0
-7
1
10
0
0
-72
0
3
0
0
21
-20
10
0
0
23
39
-1
0
0
-16
-17
1
0
0
-33
25
-1
0
0
22
26
5
0
0
-67
9
22
0
0
0
-2
2
0
0
0
-2
0
0
0
0
-6
9
0
0
-5
13
-1
0
0
-4
-48
-31
0
0
102
-26
47
0
0
4
-14
-13
0
0
42
33
2
0
0
-71
8
-6
0
0
5
-13
0
0
0
0
20
1
0
0
-47
-40
-45
0
0
17
70
0
0
0
-5
4
10
0
0
0
-15
2
0
0
-7
14
-15
0
0
9
-52
0
0
0
-6
-8
4
0
0
52
2
-3
9
-17
7
37
-13
0
0
-37
-2
37
0
0
-10
-43
35
0
0
71
-34
44
0
0
-28
-22
-28
0
0
-3
4
-38
0
0
43
84
1
0
0
-7
-16
2
0
0
-92
45
-5
0
0
93
-40
20
0
0
-32
-45
5
0
0
11
-49
-1
0
0
-175
-75
4
0
0
1
56
0
0
0
-5
18
0
0
0
3
13
1
0
0
34
-1
0
0
0
-39
-22
0
0
0
26
-13
-3
0
0
18
-7
3
0
0
-91
27
10
0
0
0
-19
9
0
0
2
0
-10
0
0
-1
2
0
0
0
8
-1
-1
0
0
13
54
-34
0
0
17
-31
2
0
0
-5
-10
6
0
0
-19
-28
1
0
0
-13
44
-6
0
0
12
-34
-2
0
0
20
24
-4
-24
7
12
-7
8
0
0
-3
29
-11
0
0
-3
23
29
0
0
-38
31
-116
0
0
3
26
113
0
0
-1
77
-5
0
0
35
38
-5
0
0
9
3
-4
0
0
-22
-74
-6
0
0
-6
17
-4
0
0
20
5
-29
0
0
-39
59
8
0
0
-24
9
22
0
0
0
-2
0
0
0
0
4
0
0
0
-2
15
0
0
0
31
-21
0
0
0
30
-11
-9
0
0
-39
11
-2
0
0
-9
14
0
0
0
-15
46
-4
0
0
-33
-1
-3
0
0
-2
-2
-9
0
0
-1
-12
0
0
0
-17
-55
-8
0
0
-2
26
15
0
0
29
6
4
0
0
-5
-22
1
0
0
-4
-7
7
0
0
11
-77
0
0
0
4
37
-1
0
0
-35
11
-2
-40
-8
46
-34
40
0
0
-36
27
-41
0
0
40
26
-11
0
0
-39
6
82
0
0
34
44
28
0
0
-32
-63
47
0
0
50
-60
-13
0
0
-19
11
-10
0
0
0
57
-18
0
0
-18
14
14
0
0
69
-90
5
0
0
20
19
-8
0
0
16
-41
-2
0
0
-14
-75
-1
0
0
-6
0
-1
0
0
1
-2
-14
0
0
34
-44
-5
0
0
-2
-37
61
0
0
-46
-20
18
0
0
13
48
-9
0
0
-77
142
-1
0
0
-6
30
-16
0
0
-10
-5
-9
0
0
-2
2
3
0
0
-41
-148
-27
0
0
8
26
-2
0
0
-51
16
-2
0
0
1
19
3
0
0
37
-36
-2
0
0
82
-1
4
0
0
-6
-48
0
0
0
-39
-45
27
4
16
4
-82
-13
0
0
35
-6
14
0
0
-62
-36
1
0
0
51
-154
7
0
0
6
108
-10
0
0
4
67
-9
0
0
61
-66
-7
0
0
-41
16
0
0
0
24
-79
1
0
0
-38
9
9
0
0
-34
-45
5
0
0
6
10
13
0
0
-84
-38
-30
0
0
-3
65
-20
0
0
60
-9
0
0
0
-81
0
5
0
0
-79
16
22
0
0
19
19
7
0
0
40
30
-20
0
0
23
12
26
0
0
19
15
13
0
0
-53
61
-9
0
0
1
62
13
0
0
-67
36
-25
0
0
24
8
9
0
0
-6
16
-44
0
0
59
42
-33
0
0
32
4
-12
0
0
-27
38
44
0
0
-87
52
16
0
0
-61
-1
57
0
0
10
27
-44
19
2
-33
5
23
0
0
-6
25
-29
0
0
46
85
-4
0
0
28
28
6
0
0
-25
-59
88
0
0
82
-102
-7
0
0
-15
107
70
0
0
-11
3
1
0
0
-30
21
-51
0
0
-79
10
3
0
0
42
-26
-9
0
0
-24
23
19
0
0
29
51
29
0
0
-121
0
-10
0
0
-7
10
-62
0
0
-46
135
-51
0
0
10
-58
-25
0
0
13
13
3
0
0
21
30
-1
0
0
28
26
35
0
0
-12
76
-44
0
0
-58
-11
75
0
0
44
41
11
0
0
49
-1
41
0
0
-97
83
41
0
0
-58
-109
20
0
0
-25
77
-47
0
0
-44
-38
14
0
0
-66
29
-28
0
0
8
-25
27
0
0
23
-68
-44
0
0
51
-46
-21
-4
-7
-56
36
143
0
0
27
54
-25
0
0
-28
-40
38
0
0
-4
-2
-7
0
0
36
16
9
0
0
8
-52
3
0
0
-77
4
-4
0
0
0
-3
-2
0
0
21
-33
6
0
0
1
-11
0
0
0
-10
10
-1
0
0
-5
20
-4
0
0
-11
-7
7
0
0
5
-10
0
0
0
-9
-3
2
0
0
13
-31
0
0
0
-6
10
-27
0
0
14
9
-23
0
0
39
25
34
0
0
-11
-1
51
0
0
-75
22
2
0
0
-50
-40
-44
0
0
-18
-68
-49
0
0
-9
-13
-34
0
0
-55
-4
90
0
0
89
-82
-90
0
0
-42
-27
34
0
0
-8
87
-47
0
0
9
-16
-11
0
0
-51
40
-58
0
0
-66
19
43
0
0
-119
19
-4
-17
4
71
64
-5
0
0
40
29
-6
0
0
-4
48
2
0
0
17
-4
-102
0
0
-25
26
-4
0
0
-3
29
-9
0
0
16
2
-1
0
0
-11
8
5
0
0
126
-6
1
0
0
-32
7
0
0
0
19
3
-3
0
0
4
-36
14
0
0
4
-22
10
0
0
-4
10
-5
0
0
4
-45
-1
0
0
-2
13
2
0
0
-28
67
61
0
0
-22
-30
6
0
0
-42
53
11
0
0
-51
-6
45
0
0
-14
-32
-86
0
0
2
10
-46
0
0
-97
-13
-3
0
0
50
-63
-26
0
0
-92
-49
50
0
0
22
-47
-23
0
0
-7
-35
-71
0
0
17
98
-16
0
0
-28
22
14
0
0
117
-51
-39
0
0
-113
-26
78
0
0
-96
-4
11
-36
-10
-89
17
-107
0
0
-3
60
43
0
0
67
-56
5
0
0
22
-60
-27
0
0
-20
6
12
0
0
40
-12
-1
0
0
9
-16
-3
0
0
5
0
-1
0
0
-21
14
-4
0
0
1
-28
0
0
0
29
1
0
0
0
-1
-21
-5
0
0
-45
-21
15
0
0
28
8
0
0
0
1
-47
1
0
0
-5
5
7
0
0
115
19
5
0
0
-27
17
66
0
0
1
47
-68
0
0
-30
30
-10
0
0
-4
5
31
0
0
15
7
-75
0
0
18
52
110
0
0
-69
-49
-40
0
0
105
-4
-63
0
0
-36
3
-55
0
0
-19
-77
33
0
0
-31
-3
47
0
0
89
17
83
0
0
-9
91
42
0
0
-3
-17
-12
0
0
-39
18
-23
6
0
-7
56
-68
0
0
0
-51
-3
0
0
11
-1
17
0
0
117
4
-47
0
0
-122
26
32
0
0
23
-21
-1
0
0
-16
0
-8
0
0
-4
4
0
0
0
6
24
-1
0
0
73
3
-3
0
0
-60
63
-1
0
0
1
38
8
0
0
-21
75
0
0
0
1
-38
-3
0
0
0
-1
0
0
0
0
-27
2
0
0
-80
-43
44
0
0
-11
26
-4
0
0
5
7
0
0
0
19
-65
-149
0
0
-141
-11
35
0
0
-68
-86
52
0
0
49
-8
100
0
0
-68
223
-5
0
0
57
22
-144
0
0
46
-1
6
0
0
76
7
25
0
0
-53
-11
11
0
0
63
9
11
0
0
41
-38
-35
0
0
41
67
-11
0
0
14
-2
39
-13
-2
20
-70
-7
0
0
23
88
11
0
0
20
-1
-61
0
0
11
53
0
0
0
53
-169
8
0
0
-3
-4
0
0
0
5
0
-1
0
0
1
1
0
0
0
41
-2
2
0
0
0
29
0
0
0
-3
0
0
0
0
2
8
0
0
0
-4
0
0
0
0
5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-23
-19
7
0
0
-19
13
42
0
0
17
-20
-65
0
0
-48
-1
-20
0
0
-3
-57
125
0
0
-36
96
-4
0
0
5
-90
-122
0
0
-33
-12
-87
0
0
10
39
37
0
0
-65
16
18
0
0
7
18
18
0
0
-12
-84
-92
0
0
-68
-67
-105
0
0
9
-28
-46
0
0
2
-12
-19
0
0
-12
-72
25
-23
-11
30
-61
25
0
0
5
-5
44
0
0
-18
-30
-40
0
0
68
-36
32
0
0
13
48
0
0
0
4
17
2
0
0
0
-5
3
0
0
0
2
0
0
0
5
10
1
0
0
-10
-1
0
0
0
-2
-5
0
0
0
-48
-23
1
0
0
-56
82
3
0
0
0
-14
0
0
0
14
0
0
0
0
-4
-4
0
0
0
-32
-36
-7
0
0
4
-24
65
0
0
2
-36
-37
0
0
-78
31
-13
0
0
-16
1
-91
0
0
67
4
38
0
0
55
-33
-216
0
0
24
-104
12
0
0
-15
-44
-87
0
0
-43
22
103
0
0
-79
62
-76
0
0
81
61
-39
0
0
83
22
-101
0
0
-19
-9
60
0
0
5
15
-49
0
0
-16
-7
-83
-3
-8
-92
95
40
0
0
-53
126
22
0
0
2
-60
64
0
0
20
17
37
0
0
-8
67
-18
0
0
-28
-48
-30
0
0
-85
9
110
0
0
29
20
2
0
0
40
44
1
0
0
60
9
-2
0
0
20
-1
7
0
0
21
-26
-23
0
0
30
-82
0
0
0
85
26
-25
0
0
1
-19
11
0
0
24
9
12
0
0
38
57
1
0
0
52
-15
55
0
0
53
-39
-111
0
0
-61
-36
90
0
0
30
-66
21
0
0
43
-15
58
0
0
-77
53
-14
0
0
78
-64
29
0
0
-33
20
-28
0
0
17
7
11
0
0
17
18
8
0
0
-1
1
27
0
0
-55
18
29
0
0
-22
-12
-31
0
0
-13
-6
46
0
0
-2
9
102
15
-3
-3
51
9
0
0
-25
-61
-15
0
0
23
69
-7
0
0
10
5
-17
0
0
-70
52
63
0
0
125
-15
-5
0
0
-31
-28
22
0
0
-20
21
0
0
0
-132
36
18
0
0
28
27
-36
0
0
46
32
-18
0
0
76
-16
-5
0
0
7
1
-13
0
0
-28
8
4
0
0
4
-4
13
0
0
-12
46
5
0
0
3
-10
-69
0
0
3
0
15
0
0
-76
-35
34
0
0
64
-33
32
0
0
3
32
-92
0
0
58
29
16
0
0
-48
12
27
0
0
6
-51
-36
0
0
-28
44
-34
0
0
15
-2
0
0
0
-2
33
44
0
0
-20
-5
38
0
0
-17
47
3
0
0
-25
-38
66
0
0
-17
-61
84
0
0
135
22
82
-17
-4
21
30
23
0
0
18
31
23
0
0
49
-9
-11
0
0
-2
89
32
0
0
-147
40
-4
0
0
45
-47
6
0
0
33
-11
-3
0
0
0
-6
0
0
0
82
28
-19
0
0
-6
-20
0
0
0
9
5
0
0
0
-10
5
3
0
0
-5
20
-5
0
0
3
9
-2
0
0
-2
-4
1
0
0
0
-6
0
0
0
92
-8
2
0
0
-32
-16
-12
0
0
-25
14
9
0
0
-75
-61
-56
0
0
4
-25
81
0
0
-77
-4
-27
0
0
17
-43
-47
0
0
1
25
-107
0
0
59
-40
2
0
0
-12
18
80
0
0
15
39
-61
0
0
64
15
42
0
0
10
-12
22
0
0
-43
48
51
0
0
27
24
128
0
0
68
-1
36
11
8
-98
-1
96
0
0
51
-22
31
0
0
-2
68
-26
0
0
-44
67
19
0
0
-37
-76
49
0
0
24
-54
57
0
0
-17
23
33
0
0
0
4
0
0
0
-78
-33
-11
0
0
-41
28
2
0
0
-25
2
5
0
0
-16
7
3
0
0
-46
70
-2
0
0
-2
-4
1
0
0
5
0
0
0
0
-3
5
1
0
0
17
-51
1
0
0
11
-4
-56
0
0
-7
40
41
0
0
-50
-31
-105
0
0
-46
-64
11
0
0
2
34
-3
0
0
4
-64
18
0
0
42
-80
-3
0
0
-90
3
-15
0
0
-31
31
15
0
0
-14
42
-3
0
0
83
-51
13
0
0
29
-61
42
0
0
55
-16
71
0
0
82
-64
-26
0
0
15
-19
-49
-20
-30
26
-27
-95
0
0
56
-8
54
0
0
-5
88
68
0
0
48
12
-18
0
0
-52
-3
-105
0
0
2
29
16
0
0
-11
-1
-47
0
0
2
-13
-4
0
0
26
-6
4
0
0
-4
3
-39
0
0
56
15
7
0
0
-19
-4
-2
0
0
43
26
-30
0
0
-26
-13
0
0
0
-15
13
-4
0
0
-5
-1
3
0
0
-4
-19
-59
0
0
-41
-2
43
0
0
13
33
-84
0
0
0
-108
70
0
0
-24
-43
6
0
0
22
-28
-64
0
0
44
46
-46
0
0
11
-41
60
0
0
22
55
35
0
0
2
-2
-2
0
0
46
-44
40
0
0
28
-3
21
0
0
2
-7
3
0
0
69
10
-20
0
0
-22
10
5
0
0
1
-43
62
-1
-8
57
39
17
0
0
-42
0
42
0
0
8
50
-49
0
0
43
6
36
0
0
34
11
-37
0
0
73
-28
0
0
0
-6
-13
-86
0
0
-5
-3
0
0
0
-37
-26
3
0
0
54
20
-14
0
0
-18
-7
58
0
0
4
32
1
0
0
25
-89
6
0
0
7
2
-3
0
0
-12
6
8
0
0
2
2
5
0
0
-117
27
-13
0
0
-65
17
76
0
0
-62
-111
14
0
0
-34
27
46
0
0
-35
37
55
0
0
135
-23
18
0
0
26
-70
0
0
0
6
34
-105
0
0
-148
70
5
0
0
-25
-72
106
0
0
75
-65
-6
0
0
-21
52
-54
0
0
-108
-11
-119
0
0
47
41
-75
0
0
19
-137
-2
0
0
18
72
33
-12
-5
-16
-4
17
0
0
47
-36
33
0
0
30
-16
17
0
0
-19
54
30
0
0
12
34
-63
0
0
19
32
0
0
0
40
5
15
0
0
9
7
-1
0
0
-102
-17
-10
0
0
-3
-10
-4
0
0
-76
32
19
0
0
1
-30
6
0
0
-8
20
-8
0
0
0
-13
3
0
0
-1
2
0
0
0
-1
-40
7
0
0
-34
-24
-29
0
0
-55
-27
20
0
0
56
14
-56
0
0
-91
30
-66
0
0
50
-83
-13
0
0
-43
-107
-78
0
0
-27
51
-8
0
0
-1
-54
94
0
0
-30
56
11
0
0
9
-7
98
0
0
12
-5
-33
0
0
23
-67
-65
0
0
47
-8
-69
0
0
7
132
-126
0
0
-33
27
-84
0
0
-14
-17
-78
14
4
-108
-51
-106
0
0
-34
82
16
0
0
10
-22
56
0
0
-13
2
-34
0
0
-61
-14
-60
0
0
-22
-2
6
0
0
-34
5
-6
0
0
3
-45
1
0
0
-16
-97
-35
0
0
16
-51
41
0
0
-26
-11
-5
0
0
6
-14
-8
0
0
-6
-17
27
0
0
16
-11
7
0
0
1
-16
0
0
0
19
-3
2
0
0
-5
-14
-43
0
0
-29
7
92
0
0
-41
8
60
0
0
-64
-28
-101
0
0
80
-28
15
0
0
-61
-60
-105
0
0
-54
18
-73
0
0
-20
16
-39
0
0
-32
-80
3
0
0
-39
39
50
0
0
-19
26
26
0
0
-32
31
-15
0
0
88
-30
-134
0
0
-10
22
48
0
0
-129
-68
47
0
0
69
-62
-107
6
-7
13
-7
-229
0
0
-9
15
-35
0
0
44
33
62
0
0
15
23
-30
0
0
40
67
149
0
0
50
58
-26
0
0
63
62
-28
0
0
-39
-74
21
0
0
-66
29
40
0
0
46
47
11
0
0
-42
7
-18
0
0
32
28
48
0
0
73
14
-26
0
0
36
-15
15
0
0
-5
-46
4
0
0
19
45
1
0
0
114
80
126
0
0
-53
39
-35
0
0
66
25
73
0
0
-22
4
1
0
0
-35
47
1
0
0
-18
57
33
0
0
93
34
0
0
0
-34
-2
27
0
0
-8
-19
94
0
0
-50
45
-9
0
0
17
-45
-17
0
0
-28
-24
20
0
0
-8
-28
-72
0
0
118
43
-1
0
0
21
21
16
0
0
61
-46
49
20
21
81
61
54
0
0
23
31
10
0
0
21
-8
-22
0
0
100
34
-99
0
0
3
6
43
0
0
79
70
49
0
0
7
-77
-40
0
0
35
44
4
0
0
-3
3
36
0
0
65
53
68
0
0
-57
122
61
0
0
40
-4
41
0
0
-8
115
-20
0
0
-35
118
-12
0
0
17
64
38
0
0
-12
-37
81
0
0
9
-18
97
0
0
17
-2
-52
0
0
26
19
-33
0
0
5
112
-17
0
0
-8
-40
-13
0
0
65
-49
102
0
0
38
-46
10
0
0
-2
55
70
0
0
-52
-46
13
0
0
33
48
-38
0
0
-9
82
47
0
0
-65
19
-44
0
0
64
0
10
0
0
123
5
-34
0
0
11
-45
20
0
0
-53
70
-93
2
6
-53
5
98
0
0
15
9
101
0
0
52
39
-67
0
0
67
-56
15
0
0
8
58
-3
0
0
-32
37
86
0
0
81
28
48
0
0
-11
58
13
0
0
-107
54
-5
0
0
-82
-11
-1
0
0
-8
-93
37
0
0
-14
-6
-73
0
0
31
43
49
0
0
-9
18
-5
0
0
-4
30
-55
0
0
15
84
-82
0
0
-80
33
-36
0
0
59
-9
-12
0
0
-50
7
45
0
0
66
-82
-17
0
0
18
15
50
0
0
23
2
-1
0
0
-44
-41
-1
0
0
-2
33
9
0
0
-93
-68
62
0
0
138
-42
-50
0
0
60
28
-33
0
0
-29
55
-12
0
0
-26
-54
62
0
0
-67
55
-2
0
0
48
-20
46
0
0
-124
16
-14
21
16
-41
-90
65
0
0
19
17
-19
0
0
32
-66
-11
0
0
-5
0
-72
0
0
-7
-22
25
0
0
-80
38
53
0
0
55
35
26
0
0
-53
-25
-6
0
0
-41
-16
117
0
0
-20
1
9
0
0
24
86
-46
0
0
5
90
48
0
0
42
42
-44
0
0
18
-25
5
0
0
-14
79
6
0
0
-105
4
8
0
0
-111
90
33
0
0
74
-29
101
0
0
-42
-23
61
0
0
-34
27
-17
0
0
-18
-17
-17
0
0
69
-62
-2
0
0
-61
-79
-4
0
0
15
13
2
0
0
-50
28
52
0
0
111
0
-61
0
0
28
-48
-3
0
0
12
4
-74
0
0
21
-74
23
0
0
50
-16
10
0
0
-29
72
43
0
0
121
-77
-33
7
23
-58
-47
-23
0
0
6
-14
-29
0
0
-42
-54
-8
0
0
12
2
-39
0
0
-25
38
2
0
0
23
-13
10
0
0
-80
72
118
0
0
7
4
2
0
0
81
4
3
0
0
6
15
-2
0
0
-111
31
35
0
0
28
-13
-5
0
0
-16
0
44
0
0
-16
6
-6
0
0
-13
1
22
0
0
-3
-3
18
0
0
-10
22
19
0
0
-44
11
-5
0
0
-21
26
9
0
0
38
-23
0
0
0
53
1
11
0
0
-3
13
1
0
0
-17
-5
-6
0
0
-1
0
0
0
0
-28
-5
2
0
0
-43
39
11
0
0
100
17
-52
0
0
3
-14
-4
0
0
19
32
-37
0
0
14
-13
4
0
0
0
-25
8
0
0
-40
2
-16
8
-5
-47
72
-62
0
0
26
36
62
0
0
11
64
-14
0
0
-89
-62
59
0
0
-73
-2
-13
0
0
15
23
-24
0
0
-1
-13
-12
0
0
20
-24
-1
0
0
7
-19
-81
0
0
14
93
5
0
0
-9
26
-18
0
0
-45
-6
-5
0
0
-17
-6
-14
0
0
25
23
0
0
0
-1
24
2
0
0
46
-5
-13
0
0
32
58
1
0
0
39
13
-2
0
0
-6
48
-1
0
0
-35
-1
-7
0
0
-12
47
1
0
0
-13
-21
1
0
0
-2
63
19
0
0
0
9
0
0
0
-1
-7
-5
0
0
-13
29
35
0
0
-2
-21
3
0
0
6
-43
-1
0
0
-54
31
-23
0
0
60
-78
-43
0
0
23
-22
-16
0
0
16
7
0
-13
19
-144
-129
30
0
0
45
63
38
0
0
-18
1
-13
0
0
-51
-31
10
0
0
-14
105
-13
0
0
16
35
8
0
0
-35
31
48
0
0
-35
-1
-4
0
0
85
-19
-6
0
0
-29
-51
3
0
0
-5
10
-4
0
0
15
-12
-3
0
0
-2
-11
-2
0
0
0
0
0
0
0
-1
-12
-4
0
0
-7
4
-2
0
0
10
-32
-8
0
0
40
46
1
0
0
-8
-27
7
0
0
-22
4
3
0
0
-20
3
1
0
0
-21
-1
0
0
0
6
-6
-14
0
0
-3
-6
0
0
0
-41
-18
0
0
0
3
17
5
0
0
0
57
0
0
0
0
13
-1
0
0
-2
31
-6
0
0
-2
4
0
0
0
-8
33
-7
0
0
8
17
0
-14
-17
-2
-25
-26
0
0
59
-9
16
0
0
28
-3
28
0
0
-7
71
26
0
0
-5
24
-64
0
0
-66
-31
-10
0
0
73
8
3
0
0
-28
2
12
0
0
58
-24
28
0
0
13
112
15
0
0
17
19
0
0
0
87
-113
-1
0
0
9
-30
-3
0
0
-1
16
1
0
0
10
51
2
0
0
17
12
-7
0
0
-20
-59
7
0
0
-28
30
-8
0
0
-22
-6
40
0
0
44
-29
5
0
0
40
1
21
0
0
-14
26
2
0
0
-10
52
2
0
0
-1
0
0
0
0
10
-31
-21
0
0
16
53
21
0
0
23
14
-6
0
0
0
-58
0
0
0
2
-15
1
0
0
84
-19
-19
0
0
30
-42
5
0
0
-11
69
17
23
-20
-118
-17
75
0
0
60
-15
16
0
0
-27
95
35
0
0
8
82
49
0
0
2
39
-12
0
0
-18
2
-5
0
0
84
-16
10
0
0
-14
-14
0
0
0
-4
-54
-33
0
0
-31
-4
8
0
0
117
-38
16
0
0
24
45
1
0
0
6
-31
28
0
0
-43
-14
0
0
0
4
-8
-2
0
0
3
43
9
0
0
-7
-47
17
0
0
-19
65
5
0
0
43
77
-24
0
0
20
9
-10
0
0
28
26
-3
0
0
-13
18
15
0
0
0
36
5
0
0
-7
-28
5
0
0
37
-22
53
0
0
7
-6
-14
0
0
9
41
-20
0
0
-7
-9
16
0
0
-37
-28
-1
0
0
-15
67
-21
0
0
-3
12
27
0
0
-62
41
5
14
-25
108
87
14
0
0
8
30
45
0
0
74
-88
6
0
0
156
53
-47
0
0
-34
-16
18
0
0
39
-57
-1
0
0
26
9
12
0
0
-9
-22
0
0
0
18
-21
-1
0
0
41
2
14
0
0
56
8
10
0
0
-58
-45
-5
0
0
22
-47
-38
0
0
4
20
-1
0
0
-11
-11
20
0
0
1
57
15
0
0
-19
3
-15
0
0
35
15
0
0
0
-47
-2
-4
0
0
-2
4
0
0
0
-36
-3
-9
0
0
-17
-57
-1
0
0
7
1
1
0
0
-4
-10
0
0
0
-22
17
1
0
0
-5
-21
0
0
0
5
-33
15
0
0
-6
5
-1
0
0
-85
57
-7
0
0
11
-10
23
0
0
-13
41
-23
0
0
-29
17
10
21
1
4
13
5
0
0
-7
56
20
0
0
-25
32
53
0
0
-8
84
72
0
0
-39
-12
-41
0
0
47
10
1
0
0
0
-3
-3
0
0
-1
-23
2
0
0
27
14
8
0
0
-13
-13
-45
0
0
59
-30
27
0
0
-12
-20
32
0
0
-10
-40
88
0
0
-3
10
14
0
0
0
-37
2
0
0
0
15
-4
0
0
31
-45
-39
0
0
61
-47
0
0
0
3
38
-10
0
0
-4
1
0
0
0
69
-33
-4
0
0
-11
13
-21
0
0
-6
19
-4
0
0
0
-5
4
0
0
10
15
-27
0
0
-36
71
-8
0
0
-14
-80
19
0
0
6
-17
0
0
0
12
-17
9
0
0
8
66
5
0
0
1
6
16
0
0
22
-66
7
26
7
-55
12
35
0
0
13
17
56
0
0
5
-11
40
0
0
-50
56
-85
0
0
-1
20
-33
0
0
21
-7
-6
0
0
-59
30
13
0
0
11
31
0
0
0
-34
44
-15
0
0
51
-19
4
0
0
-15
-3
11
0
0
-36
7
-41
0
0
-16
-21
-18
0
0
2
15
-5
0
0
1
-7
5
0
0
3
-7
-10
0
0
93
-11
-2
0
0
-5
110
17
0
0
-44
64
1
0
0
11
9
-7
0
0
-4
7
0
0
0
-20
-4
-27
0
0
0
-13
1
0
0
0
-12
-5
0
0
75
8
45
0
0
-13
11
0
0
0
7
6
20
0
0
-5
-12
-11
0
0
-5
-34
8
0
0
-46
41
5
0
0
-2
-8
1
0
0
-5
-94
-4
15
4
-102
-51
-50
0
0
49
47
-29
0
0
51
-12
-37
0
0
11
47
13
0
0
-33
1
4
0
0
-23
1
-23
0
0
-19
-3
-12
0
0
0
2
0
0
0
-65
23
11
0
0
-16
-2
-9
0
0
40
-21
-1
0
0
27
-3
10
0
0
31
-7
5
0
0
-8
-5
4
0
0
0
15
0
0
0
-3
5
0
0
0
56
-6
4
0
0
18
5
-18
0
0
88
-3
-13
0
0
-1
-14
-2
0
0
18
-29
5
0
0
3
34
-3
0
0
0
2
-8
0
0
0
-24
9
0
0
1
-13
-10
0
0
6
-4
-5
0
0
6
-5
-4
0
0
0
14
-6
0
0
24
-17
-4
0
0
0
-18
15
0
0
-1
-9
-8
0
0
31
3
1
2
-24
-18
-4
-2
0
0
63
59
26
0
0
37
3
-7
0
0
70
9
-6
0
0
-6
-78
0
0
0
19
2
-1
0
0
3
17
-3
0
0
31
5
1
0
0
39
-14
-3
0
0
40
-33
0
0
0
20
67
1
0
0
-12
-36
-1
0
0
17
20
5
0
0
0
-4
-1
0
0
0
-3
0
0
0
-2
12
0
0
0
-22
13
-1
0
0
1
-63
-16
0
0
40
-4
8
0
0
-6
-23
9
0
0
7
-29
0
0
0
1
7
0
0
0
-16
-2
-2
0
0
-5
8
-1
0
0
-8
7
-29
0
0
-23
71
0
0
0
8
12
-1
0
0
-6
-2
-4
0
0
0
-16
2
0
0
-19
-6
28
0
0
14
25
-4
0
0
-4
15
8
-6
44
-124
37
-3
0
0
15
0
65
0
0
2
34
21
0
0
-13
45
31
0
0
33
-19
77
0
0
25
-52
11
0
0
34
10
13
0
0
-13
-6
4
0
0
-24
79
-45
0
0
-26
35
-17
0
0
-21
-10
-46
0
0
1
20
-49
0
0
27
26
-16
0
0
1
6
1
0
0
0
-8
3
0
0
8
-27
0
0
0
90
-7
13
0
0
42
-36
-2
0
0
16
46
-18
0
0
11
12
-2
0
0
26
-13
-14
0
0
0
-46
12
0
0
3
-20
-6
0
0
0
-8
-1
0
0
15
-2
0
0
0
-8
0
4
0
0
-15
-11
2
0
0
-17
-12
-6
0
0
-11
31
2
0
0
-10
17
-3
0
0
1
-45
-5
0
0
-70
-36
-7
4
19
-52
-38
-24
0
0
-9
62
-18
0
0
-27
64
-7
0
0
102
65
35
0
0
-10
45
-56
0
0
75
-76
-12
0
0
-5
-75
-24
0
0
-12
85
-4
0
0
-38
35
-30
0
0
84
-65
2
0
0
43
-14
12
0
0
73
2
21
0
0
40
47
-26
0
0
22
-30
4
0
0
2
-5
-4
0
0
3
-64
3
0
0
-49
-30
1
0
0
-22
18
90
0
0
28
-27
-4
0
0
-72
-26
-2
0
0
-14
0
-8
0
0
2
46
-32
0
0
-3
34
4
0
0
1
2
-22
0
0
15
-32
16
0
0
-16
15
36
0
0
0
-27
33
0
0
7
60
0
0
0
-9
65
-9
0
0
5
6
-20
0
0
11
35
-18
0
0
19
-33
-7
7
-10
-40
-42
-60
0
0
43
46
-26
0
0
-27
-31
70
0
0
-62
-14
18
0
0
-18
45
-50
0
0
16
-15
8
0
0
39
-58
17
0
0
-10
3
5
0
0
-21
27
10
0
0
76
-32
-33
0
0
-41
16
-38
0
0
-12
21
5
0
0
-67
-30
33
0
0
-22
56
-15
0
0
17
13
37
0
0
-1
-16
-5
0
0
21
11
-12
0
0
-5
17
29
0
0
28
7
-29
0
0
-6
7
-12
0
0
46
47
1
0
0
-7
-3
5
0
0
-13
27
-37
0
0
7
13
39
0
0
24
41
-1
0
0
61
-31
86
0
0
6
44
-41
0
0
-9
36
79
0
0
41
-19
44
0
0
22
-2
67
0
0
0
-25
-43
0
0
55
26
-43
14
0
72
59
5
0
0
43
-91
39
0
0
29
8
-53
0
0
-49
-17
12
0
0
3
-9
72
0
0
13
-59
33
0
0
8
9
-5
0
0
-47
-12
2
0
0
2
40
8
0
0
-25
23
-6
0
0
81
-3
-1
0
0
-60
23
7
0
0
8
-13
25
0
0
6
30
2
0
0
-8
54
-29
0
0
47
27
1
0
0
-14
24
-28
0
0
-7
17
-46
0
0
7
10
3
0
0
42
-1
-74
0
0
-15
10
41
0
0
-21
5
100
0
0
30
-43
-62
0
0
-8
41
-41
0
0
16
-27
74
0
0
-12
-72
18
0
0
-60
89
31
0
0
-57
24
8
0
0
-26
-72
94
0
0
50
4
82
0
0
-42
-9
26
0
0
-14
-36
-24
-6
-12
36
28
-83
0
0
16
28
20
0
0
-19
25
-151
0
0
-21
-7
0
0
0
34
-91
-24
0
0
3
7
0
0
0
0
-1
-9
0
0
0
10
0
0
0
28
4
12
0
0
17
-55
0
0
0
-37
14
-2
0
0
11
-10
4
0
0
-4
21
0
0
0
-4
5
0
0
0
0
-37
4
0
0
-8
28
0
0
0
88
26
-2
0
0
-8
28
40
0
0
-1
0
-27
0
0
1
-14
-1
0
0
3
-55
54
0
0
26
-34
-90
0
0
-72
-38
15
0
0
-82
-45
-2
0
0
-83
70
-35
0
0
3
-40
-27
0
0
29
-57
74
0
0
-13
12
-67
0
0
-27
-8
40
0
0
-26
20
-56
0
0
-48
-20
67
0
0
-52
27
-65
-1
-9
58
-21
-54
0
0
-7
-53
16
0
0
-9
42
-35
0
0
28
25
-52
0
0
36
45
-1
0
0
-73
-37
2
0
0
-9
2
-6
0
0
6
5
0
0
0
-41
-13
-8
0
0
-43
29
-10
0
0
-39
-2
1
0
0
-7
15
0
0
0
-44
15
0
0
0
-10
0
0
0
0
-3
5
-3
0
0
5
-8
0
0
0
29
-32
3
0
0
1
-27
33
0
0
-16
-57
10
0
0
-13
57
-84
0
0
-30
-15
126
0
0
14
47
7
0
0
-51
17
-90
0
0
7
97
69
0
0
-27
36
-9
0
0
-1
-75
83
0
0
94
-96
41
0
0
65
-35
-45
0
0
44
-10
-6
0
0
-93
-31
-21
0
0
-1
-68
-9
0
0
73
-27
-20
8
-10
-13
18
-65
0
0
52
58
-43
0
0
-5
2
29
0
0
-66
-60
74
0
0
-74
-5
55
0
0
50
11
-47
0
0
50
-75
18
0
0
1
9
0
0
0
-39
33
-32
0
0
-11
24
-5
0
0
40
1
40
0
0
-7
-38
4
0
0
-30
30
41
0
0
5
-23
-3
0
0
3
-2
-1
0
0
-20
0
1
0
0
39
-19
-90
0
0
-6
13
-16
0
0
-44
65
-12
0
0
25
48
-28
0
0
-20
-21
-94
0
0
71
-59
-89
0
0
133
-94
-117
0
0
-10
-43
-6
0
0
85
29
-15
0
0
16
-43
-4
0
0
-70
-52
12
0
0
42
-79
18
0
0
37
79
-81
0
0
69
16
-18
0
0
47
-98
17
0
0
15
-41
37
9
-4
139
1
108
0
0
-46
82
19
0
0
-16
10
86
0
0
119
-22
60
0
0
-21
33
51
0
0
20
66
2
0
0
-15
-46
-58
0
0
1
9
9
0
0
9
-12
-32
0
0
-34
-10
10
0
0
-41
-9
12
0
0
-7
-3
3
0
0
-1
-38
-4
0
0
13
-48
-9
0
0
-4
1
-4
0
0
1
8
7
0
0
59
-48
-15
0
0
11
6
15
0
0
-22
22
32
0
0
16
6
-24
0
0
33
-64
37
0
0
67
-69
-27
0
0
11
-29
52
0
0
-18
57
-1
0
0
-95
23
-65
0
0
-33
14
20
0
0
-72
7
-37
0
0
50
-79
-29
0
0
-26
10
-77
0
0
27
-6
-36
0
0
-33
-51
65
0
0
22
-26
-6
20
19
10
-16
-55
0
0
-11
16
17
0
0
-6
-56
16
0
0
26
3
-16
0
0
40
30
0
0
0
29
-5
3
0
0
1
1
6
0
0
4
9
0
0
0
-23
13
-9
0
0
11
4
-2
0
0
41
4
-3
0
0
-25
3
1
0
0
-20
-8
-9
0
0
0
7
0
0
0
0
0
0
0
0
4
-45
-5
0
0
-17
14
-5
0
0
1
7
3
0
0
15
-40
31
0
0
23
-10
36
0
0
-80
-4
-103
0
0
25
-9
-28
0
0
-73
26
14
0
0
26
-4
-18
0
0
54
22
-44
0
0
-64
25
27
0
0
-41
35
-9
0
0
-11
30
-69
0
0
-49
80
-4
0
0
13
-4
10
0
0
12
-76
30
0
0
-51
-37
17
-4
-5
2
0
-65
0
0
9
32
-5
0
0
23
-2
22
0
0
63
19
-18
0
0
-15
9
13
0
0
4
41
-19
0
0
51
-20
-10
0
0
-10
-53
-2
0
0
-70
73
-3
0
0
-4
47
0
0
0
13
18
-27
0
0
-4
-44
-7
0
0
-113
-6
-19
0
0
22
-5
-8
0
0
1
-12
-7
0
0
-1
17
1
0
0
-78
-14
-3
0
0
6
-19
26
0
0
-23
-11
45
0
0
-14
-73
6
0
0
16
-34
-122
0
0
-5
-16
-148
0
0
3
28
61
0
0
54
-66
-86
0
0
-19
-57
59
0
0
11
4
-11
0
0
-98
-56
39
0
0
-2
-12
-68
0
0
97
-19
-32
0
0
65
34
-18
0
0
-25
43
32
0
0
-119
-12
24
2
-15
-107
21
-54
0
0
6
-11
10
0
0
-15
18
13
0
0
-16
-2
-5
0
0
1
38
-16
0
0
15
-14
-4
0
0
-16
29
-49
0
0
-8
14
1
0
0
84
-52
15
0
0
-29
90
-2
0
0
-102
-66
14
0
0
-34
-27
68
0
0
-142
35
13
0
0
15
-3
0
0
0
-1
-11
-2
0
0
-8
64
18
0
0
-12
-24
42
0
0
33
-11
-6
0
0
27
8
76
0
0
34
-105
-5
0
0
-6
-12
-11
0
0
-59
28
39
0
0
31
34
-57
0
0
-34
-15
-92
0
0
-39
-5
-119
0
0
12
1
-7
0
0
29
-24
11
0
0
36
35
104
0
0
-9
14
71
0
0
40
17
-12
0
0
-38
10
43
0
0
74
-17
-4
6
0
26
18
26
0
0
20
1
73
0
0
-33
88
-6
0
0
14
-57
-12
0
0
8
-5
57
0
0
-50
15
-11
0
0
11
-105
-18
0
0
5
2
-10
0
0
-94
6
-25
0
0
1
-1
13
0
0
69
-9
2
0
0
45
51
-6
0
0
-16
-14
16
0
0
3
2
-7
0
0
1
-1
-2
0
0
15
-31
4
0
0
-71
5
6
0
0
29
23
-37
0
0
45
-55
-11
0
0
-39
-13
-11
0
0
43
-110
-31
0
0
-76
93
90
0
0
-27
47
49
0
0
28
-1
-5
0
0
2
19
35
0
0
-19
8
-10
0
0
-15
25
15
0
0
41
41
-31
0
0
-15
-10
27
0
0
16
-3
64
0
0
-6
12
19
0
0
47
-21
2
-14
22
62
-10
-32
0
0
34
-47
59
0
0
-12
106
20
0
0
-11
3
0
0
0
2
115
-93
0
0
-6
30
-2
0
0
19
5
6
0
0
0
-9
-7
0
0
22
-6
24
0
0
24
-46
-20
0
0
3
5
12
0
0
18
14
2
0
0
-18
21
13
0
0
6
2
0
0
0
2
23
-4
0
0
-4
10
-4
0
0
-7
-73
-4
0
0
19
14
-46
0
0
-15
10
21
0
0
-27
23
-6
0
0
12
-16
0
0
0
32
-56
88
0
0
-121
10
-30
0
0
65
-49
-45
0
0
-45
27
18
0
0
28
-28
46
0
0
30
-41
12
0
0
9
-39
-4
0
0
-28
-28
-51
0
0
-126
-50
-16
0
0
0
-20
-144
0
0
-50
36
35
-8
-15
-36
2
34
0
0
21
73
-41
0
0
26
10
1
0
0
-27
-45
5
0
0
24
-78
31
0
0
17
-17
23
0
0
54
14
-9
0
0
1
11
4
0
0
-11
-38
-10
0
0
-59
72
-18
0
0
-32
20
-4
0
0
-16
-43
0
0
0
61
35
-6
0
0
-1
-1
0
0
0
-3
2
-4
0
0
-1
-14
0
0
0
-58
-1
-2
0
0
-6
-23
51
0
0
-60
-19
23
0
0
-58
25
-23
0
0
-67
-58
14
0
0
-17
-37
63
0
0
39
-6
29
0
0
-7
-39
-8
0
0
-14
-50
-93
0
0
12
42
16
0
0
11
28
32
0
0
-13
38
19
0
0
-23
4
-8
0
0
40
16
21
0
0
7
3
72
0
0
-20
-10
-86
-8
21
-10
24
-36
0
0
54
-14
-25
0
0
-10
13
91
0
0
18
44
-10
0
0
-58
6
2
0
0
8
-2
-27
0
0
37
-21
-18
0
0
-4
-3
8
0
0
25
1
-86
0
0
108
-97
26
0
0
-19
-21
6
0
0
0
3
-14
0
0
21
-17
13
0
0
5
-5
-6
0
0
0
17
-18
0
0
7
-1
-13
0
0
73
-52
7
0
0
-38
-20
1
0
0
-24
-1
-84
0
0
-51
39
-25
0
0
-150
150
137
0
0
-101
27
8
0
0
-17
-43
40
0
0
6
-74
-59
0
0
-64
-96
8
0
0
5
-6
95
0
0
-22
50
-137
0
0
41
35
89
0
0
38
29
8
0
0
67
16
-50
0
0
72
63
-45
0
0
68
-75
177
-9
-9
10
-63
65
0
0
51
76
-50
0
0
25
43
-28
0
0
41
-12
55
0
0
9
-57
-4
0
0
5
-5
26
0
0
-68
7
46
0
0
19
7
3
0
0
-76
13
16
0
0
6
82
36
0
0
-47
33
11
0
0
32
71
-18
0
0
-84
-19
43
0
0
-23
-2
13
0
0
-1
12
-7
0
0
1
25
-8
0
0
32
28
-8
0
0
14
-3
-33
0
0
-47
18
44
0
0
-54
32
22
0
0
23
-30
61
0
0
-112
48
-41
0
0
-56
5
-36
0
0
6
-46
-24
0
0
31
-128
-55
0
0
18
30
44
0
0
-63
-3
70
0
0
-10
-11
30
0
0
-38
39
-73
0
0
-27
-88
-24
0
0
-7
47
-129
0
0
22
5
78
-1
11
14
8
-71
0
0
-71
39
122
0
0
22
139
-58
0
0
-4
56
20
0
0
69
42
-28
0
0
26
-42
5
0
0
-57
7
6
0
0
3
-12
-6
0
0
22
-76
-20
0
0
-28
65
-26
0
0
36
-63
-9
0
0
28
-75
7
0
0
-12
50
-32
0
0
-9
-17
-2
0
0
-15
3
0
0
0
4
-34
4
0
0
10
30
-11
0
0
-27
-46
75
0
0
11
-67
-9
0
0
9
-26
14
0
0
-42
87
-79
0
0
-23
-14
-51
0
0
57
15
-60
0
0
-28
11
30
0
0
-6
-77
44
0
0
-12
57
27
0
0
45
30
-82
0
0
37
-16
-105
0
0
96
-111
-31
0
0
-117
-19
-19
0
0
-16
-69
0
0
0
70
-5
-27
-19
2
-68
-87
77
0
0
26
16
8
0
0
62
26
79
0
0
-61
-23
-36
0
0
-38
-2
0
0
0
47
-1
7
0
0
-55
55
88
0
0
40
71
-4
0
0
-57
46
30
0
0
13
-23
3
0
0
23
31
36
0
0
56
-28
-61
0
0
31
-65
-4
0
0
111
-19
1
0
0
-22
22
-3
0
0
-14
-4
-31
0
0
-60
-10
17
0
0
27
-24
32
0
0
-11
-24
-63
0
0
-65
-12
70
0
0
-19
16
14
0
0
-13
-26
-9
0
0
-60
-109
-154
0
0
17
1
-101
0
0
5
-52
138
0
0
0
44
-43
0
0
-42
-19
37
0
0
-52
-22
-35
0
0
0
-71
-86
0
0
109
-47
20
0
0
-75
-19
54
0
0
-37
21
-11
-30
10
-72
-96
20
0
-7
20
72
29
0
19
62
-31
-4
0
17
-17
34
15
0
33
6
1
29
0
45
-26
56
6
0
-28
12
25
28
0
116
-3
53
42
0
-1
31
-36
-8
0
53
9
54
-100
0
69
66
55
23
0
68
-44
-63
116
0
-43
-24
-71
33
0
-25
66
-26
-21
0
6
61
19
-38
0
-30
-40
24
58
0
23
-75
40
3
0
5
69
38
70
0
82
22
59
59
0
40
94
-121
1
0
-93
80
53
16
0
32
101
66
21
0
-2
-6
5
0
0
0
-60
27
-13
0
9
46
-79
2
0
-14
65
22
26
0
13
118
-9
17
0
0
-17
125
22
0
9
-7
16
54
0
134
59
46
-18
0
20
65
-14
21
0
-24
5
36
65
14
-19
-79
25
6
0
-22
18
45
70
0
20
43
33
1
0
88
-13
79
10
0
3
66
-2
2
0
53
-72
4
-2
0
32
37
-17
-33
0
12
12
12
2
0
48
-15
-8
109
0
13
4
36
147
0
-41
67
-5
-73
0
-39
51
-59
-89
0
-33
-12
66
15
0
33
9
-13
-36
0
6
17
-87
37
0
62
66
-26
17
0
53
43
56
-1
0
28
3
9
38
0
25
-57
22
42
0
-48
34
-72
-8
0
31
-6
-11
-74
0
-3
41
-15
38
0
-4
-9
31
45
0
0
9
64
2
0
12
59
89
42
0
18
-17
-15
-27
0
21
-4
37
-70
0
2
29
-94
5
0
17
25
29
-13
0
15
17
20
1
0
11
9
114
0
0
-54
-74
40
13
0
-71
-27
48
-40
0
22
15
73
113
0
-7
49
-7
26
0
2
20
-19
33
0
36
9
-66
-76
0
50
43
46
-63
0
-11
-4
-18
-33
0
-3
-34
-5
57
0
-5
-77
50
-31
0
-80
53
23
8
0
11
-72
-22
50
0
88
-12
13
-87
0
-81
-46
38
-45
0
22
-55
13
1
0
8
79
26
-7
0
-126
-59
47
36
0
-58
38
58
13
0
-29
62
55
-2
0
15
40
-26
-3
0
-110
41
-14
6
0
19
-13
23
12
0
-5
24
71
-39
0
-8
10
-56
-28
0
13
-3
47
-9
0
-2
-61
-28
17
0
48
25
-18
8
0
-36
72
-18
-8
0
-4
7
29
9
0
47
-67
-7
3
0
39
68
81
-93
0
4
5
-8
5
0
83
11
31
-4
-13
-53
1
-32
-19
0
-5
-14
19
0
0
-6
36
-60
-14
0
19
27
42
-24
0
66
44
47
98
0
-28
75
-39
-2
0
78
27
-40
30
0
69
-56
49
14
0
20
4
28
-54
0
15
129
-50
27
0
48
-147
-6
29
0
-143
92
59
-16
0
54
-11
-17
7
0
-23
1
27
79
0
85
-78
16
-52
0
0
19
59
51
0
68
-22
31
-84
0
56
-27
29
15
0
0
-16
43
34
0
14
-65
85
-5
0
10
15
-28
-6
0
1
5
-23
1
0
6
12
-98
-3
0
5
-55
-66
-8
0
-44
-7
6
6
0
-39
-22
91
7
0
31
-97
1
-21
0
-5
-119
61
-59
0
-57
64
-42
-16
0
-38
-59
-57
-32
0
-25
47
19
1
0
-30
55
62
-16
-5
-92
7
83
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
37
14
-4
-59
0
30
-53
80
19
0
27
0
26
-31
0
-59
25
23
-14
0
112
-2
13
-39
0
-16
-7
40
114
0
33
11
-19
5
0
12
124
-148
-64
0
20
-31
88
48
0
-21
16
61
7
0
30
70
11
31
0
96
31
-7
-52
0
92
73
38
-37
0
-40
18
18
25
0
-1
3
-30
-14
0
-35
2
-37
-11
0
21
15
109
-5
0
-31
86
-28
-19
0
-13
10
-2
-15
0
23
-44
-7
-10
0
87
12
-84
13
0
-86
20
158
-17
0
7
-5
33
6
0
79
-23
7
10
0
32
12
23
6
0
9
7
4
118
0
62
-32
39
51
0
62
-83
-14
5
0
-12
53
18
50
0
-23
127
-27
18
0
-37
-13
46
-24
10
-112
-73
0
-52
0
0
-3
33
62
0
71
35
-13
-56
0
-136
6
-22
31
0
61
-47
-52
60
0
47
-38
106
-31
0
-84
-41
-27
124
0
18
-13
4
-7
0
-83
-41
-41
1
0
24
73
24
-100
0
27
-77
37
76
0
-87
47
-109
27
0
-8
22
18
15
0
22
38
15
7
0
14
14
121
29
0
0
-31
-37
0
0
-79
0
17
-15
0
48
19
14
-10
0
75
-8
-9
7
0
0
56
-54
0
0
30
113
53
-4
0
3
40
30
3
0
-30
-36
9
-4
0
0
-15
-16
-7
0
-26
48
50
13
0
-25
-16
64
-31
0
-6
113
-98
0
0
20
-65
37
10
0
-65
39
-51
-41
0
54
-57
54
-69
0
70
-85
26
7
0
39
14
-87
-24
30
3
-7
-33
-88
0
12
12
35
-8
0
-146
5
-12
135
0
3
-25
47
31
0
-28
-29
28
-35
0
58
-62
-3
7
0
25
-60
75
-10
0
14
-90
22
-15
0
-14
-131
-31
-27
0
-98
28
-3
-15
0
101
59
-3
-84
0
11
-16
-22
-11
0
-5
-26
56
9
0
11
103
40
-20
0
-25
-16
40
7
0
-1
11
-24
2
0
-72
-13
-47
0
0
-9
-36
-5
9
0
12
-15
8
25
0
4
-9
-17
2
0
-6
-58
-18
19
0
56
1
-45
-1
0
-14
-15
-33
0
0
-3
41
-20
0
0
-1
-16
25
4
0
29
-3
56
9
0
-40
0
-1
56
0
24
-32
-7
-69
0
17
48
24
-4
0
12
-75
-27
-12
0
15
56
32
-3
0
40
29
-56
3
30
-66
134
-38
15
0
17
-32
-16
10
0
-20
-41
142
-38
0
-15
46
11
1
0
43
21
-7
7
0
27
-4
29
21
0
26
-36
-7
7
0
-21
-64
48
4
0
33
-41
28
-38
0
29
-3
82
-93
0
-34
-52
8
6
0
43
162
-93
-37
0
-60
17
-88
-36
0
-25
-46
3
18
0
-2
-91
35
14
0
-4
43
-64
-25
0
-45
-58
57
52
0
-8
-22
-72
14
0
-29
-3
-39
26
0
3
-79
50
-3
0
-42
41
14
36
0
-5
-26
-14
0
0
2
3
40
0
0
1
-15
3
2
0
-14
9
-13
-4
0
-78
-17
21
-6
0
-38
-8
-44
-23
0
-55
61
-25
-5
0
63
47
-29
-31
0
5
-1
-6
20
0
-5
-1
-36
29
0
-15
-4
-57
3
-22
14
135
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-66
0
-17
-16
-2
-32
0
9
-31
30
26
0
39
36
-36
4
0
24
48
-24
20
0
-26
4
-5
14
0
73
-4
27
-7
0
-14
59
-33
11
0
92
99
-21
-22
0
-7
2
-52
90
0
-52
53
-30
-55
0
36
-10
68
36
0
62
-56
17
76
0
9
170
-85
-6
0
-53
19
62
49
0
20
12
-49
-94
0
5
21
26
20
0
4
5
28
13
0
4
-55
15
19
0
-1
6
34
-23
0
-5
-21
10
28
0
-69
-47
14
-6
0
-9
0
0
-56
0
-50
-43
-1
53
0
58
41
37
26
0
-36
1
23
24
0
-66
25
-9
-41
0
-137
93
-23
3
0
82
11
36
-9
0
0
9
-47
-45
0
81
-6
-18
50
9
6
13
-28
46
0
-37
28
65
57
0
-23
36
16
3
0
14
-19
-28
-19
0
8
16
-35
113
0
-4
-39
-23
38
0
-69
65
-1
-44
0
-27
79
-17
-16
0
8
-16
50
-58
0
-29
8
46
48
0
-10
76
21
42
0
41
-18
20
-39
0
118
42
-11
23
0
-37
39
-30
21
0
40
-66
109
-23
0
-17
12
86
14
0
10
48
-5
-66
0
0
18
5
45
0
6
-28
15
5
0
14
28
-4
6
0
-6
-23
1
96
0
-38
48
-35
-60
0
-43
26
-3
-118
0
-38
-22
4
61
0
-144
-50
-2
-30
0
92
23
-10
-63
0
52
-53
-43
163
0
-51
-27
-4
46
0
-13
-20
77
-111
0
-48
56
-45
-64
0
72
-2
-39
85
0
14
-61
-59
2
-8
-35
47
23
-1
0
93
-11
33
1
0
-102
-4
5
-58
0
-32
59
30
22
0
-43
-7
28
55
0
-82
-36
5
18
0
35
-3
-25
-5
0
-11
-11
9
0
0
20
-32
-10
-27
0
3
44
-51
11
0
6
38
28
-21
0
-9
-110
-9
35
0
-112
-94
79
9
0
14
-53
6
-5
0
-1
-89
55
-3
0
-18
-20
-37
-4
0
48
45
-34
-23
0
-18
6
-31
-7
0
-7
4
-18
-65
0
2
-7
14
33
0
16
-12
-38
-55
0
-27
-21
15
6
0
93
-42
30
56
0
-54
76
7
-95
0
-1
-13
-20
67
0
47
44
34
117
0
6
17
19
-37
0
-71
-57
104
-112
0
-11
65
-12
-29
0
-72
16
28
-70
0
22
-90
-27
42
0
73
-19
-66
76
7
91
-97
-91
-82
0
-67
54
28
-60
0
1
-61
9
-43
0
17
48
86
17
0
-26
118
44
37
0
62
9
19
0
0
-45
-57
78
-33
0
26
-59
-13
1
0
-82
87
-12
13
0
-42
-38
-18
79
0
-23
10
-43
-11
0
21
-18
-1
40
0
-4
-46
75
-26
0
-1
-6
-12
-12
0
-27
38
-80
6
0
-15
-27
8
-22
0
36
45
-61
41
0
-29
10
-19
-6
0
16
-43
-80
-41
0
23
-11
-66
8
0
30
5
-23
-29
0
-6
42
72
2
0
103
25
27
7
0
4
-72
3
-71
0
-36
-32
-2
-105
0
-52
-137
21
19
0
-67
-24
9
177
0
130
20
-91
1
0
-48
-40
44
42
0
6
-1
-84
85
0
-46
-28
-13
68
0
4
-13
-66
8
-21
23
-65
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
37
67
0
-43
28
28
-28
0
-80
75
-9
49
0
39
15
2
-10
0
-55
94
-33
-6
0
-54
-6
5
-46
0
92
18
-25
1
0
42
-31
26
-8
0
91
-13
-5
28
0
-33
-7
-33
93
0
-7
23
104
-52
0
57
-50
12
4
0
41
31
-13
-34
0
94
69
27
-22
0
25
-51
-27
11
0
-30
32
67
-11
0
14
8
46
43
0
18
-33
-55
60
0
-39
-102
31
76
0
5
67
-51
-126
0
11
-15
33
-21
0
53
12
-49
-55
0
-121
53
7
7
0
-72
-146
-16
29
0
30
15
27
8
0
-18
-13
10
10
0
52
-3
-37
39
0
-23
-3
6
7
0
29
-24
8
-4
0
-67
54
-16
49
0
-186
-7
-2
66
6
-105
23
-41
-20
0
27
-63
42
-11
0
100
-67
-61
8
0
-56
61
-27
-2
0
-25
28
-76
-19
0
-77
64
21
-17
0
19
41
-9
6
0
40
-29
16
6
0
-16
12
45
-1
0
-64
-14
-16
16
0
11
33
66
-10
0
-18
23
-92
7
0
49
28
5
-37
0
-41
34
-58
-12
0
5
48
28
-28
0
-28
16
-19
3
0
-60
58
-115
45
0
-40
12
98
79
0
26
21
10
41
0
106
-68
-31
51
0
-71
-46
9
-26
0
28
21
16
56
0
56
-65
-43
67
0
78
22
49
17
0
-104
20
-44
100
0
-2
3
19
-16
0
-3
3
-17
28
0
25
26
30
85
0
-51
-18
-24
-45
0
-35
-4
2
-51
0
-38
-30
86
-49
0
123
24
1
-38
3
-105
13
40
13
0
71
28
8
33
0
44
-126
2
-4
0
-25
-6
10
-2
0
66
-83
-15
-12
0
18
28
-5
-3
0
-18
2
70
0
0
52
-1
15
0
0
-11
22
11
3
0
100
6
-30
0
0
-18
-54
12
16
0
31
-57
5
8
0
42
-54
-14
-10
0
72
4
35
-24
0
-69
-2
53
-6
0
-41
9
-6
-1
0
-152
49
-57
-24
0
-56
44
-83
74
0
-29
-121
61
-45
0
-52
71
-19
-109
0
-61
16
82
-50
0
13
-26
88
-91
0
-40
-50
-4
-77
0
-13
-46
82
-29
0
-13
57
-46
28
0
-13
-17
51
81
0
-70
-57
51
-28
0
-5
40
-1
-50
0
0
19
-21
65
0
41
-6
-9
10
0
56
4
-39
-87
0
4
86
-62
-12
4
13
-50
-83
-54
0
-21
-35
-19
2
0
-42
-138
85
39
0
-16
-39
-36
-8
0
-17
-28
-12
-20
0
-73
-12
3
0
0
74
-34
34
4
0
-42
-58
-5
-6
0
2
13
42
1
0
2
-77
-65
7
0
19
12
-60
3
0
-5
14
-69
-5
0
-21
20
22
14
0
8
66
8
-1
0
-43
23
2
-8
0
-39
-14
-4
-1
0
0
27
-9
28
0
-64
13
-150
-24
0
-30
-22
26
-61
0
-69
162
-42
-54
0
-79
-77
4
38
0
1
-9
14
-20
0
49
-107
67
-2
0
80
-64
3
46
0
-81
17
-18
-72
0
-17
-27
-19
54
0
72
15
-42
-16
0
-15
38
4
-51
0
-54
7
54
-28
0
80
34
-12
7
0
47
8
11
-60
0
124
11
40
-106
-34
-96
-81
99
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
2
0
14
35
27
-13
0
69
17
25
-34
0
2
6
45
13
0
-27
109
20
119
0
52
6
83
22
0
-72
-42
12
20
0
76
131
-2
-51
0
-74
59
-28
-49
0
22
53
41
33
0
16
38
-1
92
0
10
61
-71
78
0
60
-10
39
0
0
0
-56
57
-79
0
18
-41
-23
55
0
124
-6
13
58
0
26
14
55
-10
0
7
-49
67
25
0
11
21
-10
17
0
70
8
44
30
0
-75
55
102
35
0
9
43
1
-3
0
1
0
-11
11
0
14
57
76
-14
0
-54
-15
93
-59
0
9
-45
-36
54
0
6
-35
32
20
0
-5
36
-27
28
0
-36
145
73
-51
0
2
-36
38
92
0
29
-199
54
121
25
47
11
-18
7
0
38
3
59
44
0
18
9
-19
22
0
50
50
124
-39
0
88
25
-27
-110
0
59
39
20
-26
0
39
40
18
105
0
-131
64
-16
58
0
27
97
33
-1
0
77
-33
-5
27
0
31
42
23
37
0
-61
89
14
-7
0
85
-28
20
185
0
32
63
-18
81
0
2
3
101
4
0
11
102
-54
9
0
-46
17
22
-3
0
160
-9
29
-3
0
6
-62
7
40
0
10
-6
16
-15
0
-78
116
25
4
0
-1
38
21
16
0
5
-7
140
25
0
2
-33
42
-12
0
-1
-59
23
5
0
-7
-21
-8
-11
0
-29
-1
11
70
0
2
-93
113
-2
0
-25
-53
44
34
0
44
54
56
-29
0
102
-28
22
-1
0
-13
93
11
-52
22
-112
14
75
-4
0
19
34
-20
-24
0
1
-27
23
43
0
11
36
66
51
0
43
58
46
-28
0
10
89
-49
-53
0
59
83
-11
23
0
-54
-80
23
39
0
8
72
33
-8
0
59
40
-26
-83
0
21
-44
64
9
0
-4
-55
81
34
0
-28
64
82
-14
0
7
43
14
13
0
-3
-7
-43
-26
0
18
-66
-73
29
0
-74
73
10
13
0
-10
-19
18
37
0
26
30
-55
-28
0
-2
-10
-58
0
0
-27
3
24
-11
0
-9
41
6
-7
0
0
-20
-9
-5
0
7
11
95
-10
0
0
-51
-17
7
0
17
-77
-66
21
0
17
-20
-23
8
0
-5
-82
25
-53
0
29
54
-19
17
0
93
-29
-95
23
0
3
52
-9
7
0
-36
-44
51
49
38
-49
-38
-27
4
0
14
11
-28
44
0
-10
49
92
-14
0
58
-7
53
-76
0
14
-27
-23
38
0
2
-95
40
13
0
-4
-69
-15
98
0
37
31
-9
-67
0
-13
70
-17
-40
0
-115
92
-11
-25
0
131
-24
-84
-4
0
-9
14
-6
-40
0
0
45
5
-42
0
-9
54
-79
-8
0
23
36
-33
30
0
3
-24
84
-29
0
-69
77
20
71
0
-7
-22
33
19
0
-64
-6
-43
-22
0
-6
-30
-28
-1
0
76
47
-42
52
0
1
-33
27
6
0
0
1
-35
-4
0
21
-3
-4
-7
0
-1
36
17
-8
0
-11
-20
7
-10
0
-42
41
-45
5
0
0
-22
44
-41
0
4
-21
63
25
0
24
-53
40
-24
0
-13
169
-85
-29
0
79
47
-40
76
-5
-85
1
63
74
0
5
-66
-6
43
0
-32
-42
17
37
0
-6
19
50
-27
0
-1
90
-30
3
0
9
-5
23
-16
0
112
0
3
81
0
124
-52
-2
11
0
-35
-155
60
19
0
38
5
16
6
0
50
14
-28
43
0
25
-62
5
4
0
76
13
-36
3
0
-38
148
75
4
0
0
21
-42
53
0
9
-52
37
-3
0
-94
39
1
49
0
17
-32
-39
54
0
75
49
-53
-43
0
-1
-9
3
5
0
-37
27
-4
-8
0
26
-19
34
2
0
0
-1
17
-4
0
0
0
-6
0
0
3
-28
14
1
0
-22
-71
65
3
0
-13
11
5
-6
0
0
1
-26
1
0
0
-3
12
0
0
-59
142
49
-26
0
2
9
22
-5
0
26
38
-43
-1
-2
38
-12
-10
6
0
-24
59
69
23
0
11
49
9
1
0
-16
-21
-37
64
0
51
4
26
-53
0
-31
-15
22
-33
0
47
-15
-15
6
0
147
-101
-53
26
0
29
-16
-60
18
0
11
-66
66
54
0
-37
-33
13
34
0
14
25
28
-7
0
-107
2
56
-2
0
-26
78
43
-24
0
47
92
-14
-15
0
-6
25
-51
-12
0
-58
16
48
-1
0
-51
-20
3
-16
0
77
-37
59
30
0
-20
-3
12
0
0
48
0
-43
-7
0
0
-26
-96
-1
0
-11
-46
65
5
0
0
-1
-9
0
0
1
21
3
3
0
0
7
10
27
0
22
-3
79
-60
0
0
-2
-63
1
0
-4
-1
-18
-4
0
47
-55
-73
0
0
-21
16
-9
22
0
-8
26
11
1
20
-17
-72
8
-2
0
37
28
20
-19
0
47
50
72
-111
0
-61
80
19
32
0
-30
25
126
-40
0
66
-4
-32
-9
0
-109
64
1
-35
0
-25
24
16
-2
0
24
-106
8
16
0
-68
96
36
-5
0
-17
22
-18
4
0
40
17
-35
6
0
-13
-31
-15
5
0
4
-32
6
-15
0
0
3
-48
-2
0
7
-9
26
-4
0
-16
-4
-4
-18
0
-7
87
61
-5
0
-3
-100
22
-2
0
0
-2
-4
0
0
15
-4
-6
0
0
2
0
22
0
0
0
-1
-2
0
0
0
0
-5
-1
0
1
0
-1
0
0
0
10
4
-2
0
-1
25
-45
5
0
0
2
4
-3
0
-18
0
0
7
0
1
-11
-65
3
0
0
41
-15
6
0
-12
6
-32
-4
12
-32
-9
-10
-3
0
17
6
81
80
0
22
-5
28
-44
0
16
-29
-32
63
0
9
-6
-46
-37
0
139
97
-79
-15
0
-37
46
38
-10
0
-31
-64
87
5
0
36
22
-57
-58
0
-50
86
-17
47
0
-96
-58
51
-97
0
-24
-1
18
32
0
-22
-83
1
-25
0
-5
19
1
0
0
35
53
13
-26
0
-9
24
21
-20
0
3
-5
-25
-10
0
52
41
-51
31
0
61
17
9
-40
0
19
13
76
20
0
19
73
75
-16
0
1
9
-31
7
0
-3
-42
8
18
0
0
6
1
0
0
-14
79
0
0
0
-17
-13
-18
-7
0
-8
-6
-7
3
0
0
3
28
-1
0
9
-26
-1
-24
0
5
-31
9
4
0
-4
-54
13
21
0
-22
-88
39
-1
-22
52
18
36
1
0
4
84
14
77
0
75
7
47
37
0
74
4
14
43
0
4
129
-52
43
0
-67
-17
9
75
0
-13
-82
-16
38
0
85
10
17
-35
0
-135
40
45
3
0
-76
36
-19
47
0
-27
-46
97
-32
0
71
39
13
-36
0
-21
122
-21
-47
0
-7
5
25
41
0
-2
54
150
3
0
-6
77
-24
-30
0
92
56
-15
-5
0
-9
-21
-25
-6
0
22
-7
52
-103
0
18
-10
-39
0
0
16
-2
5
0
0
-9
-20
-2
11
0
0
9
-7
-2
0
0
5
2
-4
0
3
-59
5
0
0
65
-90
3
-14
0
-27
81
95
-20
0
-1
21
-8
1
0
-10
-17
82
-7
0
2
27
-84
37
0
0
-24
28
-2
0
-43
99
-25
12
30
56
-128
-4
40
0
-1
-23
-55
169
0
-17
56
45
1
0
72
-37
-117
6
0
25
19
77
-5
0
-39
57
10
7
0
-27
-17
43
-70
0
-89
16
39
0
0
82
60
14
10
0
-21
31
96
-8
0
47
15
-51
24
0
32
1
-97
-53
0
0
-76
-23
-8
0
91
27
-31
-8
0
-78
80
43
-28
0
-56
-37
-19
-10
0
68
-93
-59
16
0
21
13
69
2
0
-33
-65
31
-12
0
3
18
-8
0
0
-45
29
-8
-7
0
5
-1
18
5
0
-1
8
26
-17
0
0
-3
2
0
0
30
9
-1
-5
0
-20
69
128
-9
0
16
-24
-30
45
0
0
-44
16
-2
0
-75
34
-6
10
0
-17
58
38
-26
0
59
13
-8
-59
0
-14
-57
13
0
-6
-4
92
-10
-31
0
50
25
15
23
0
5
3
-8
77
0
76
-54
-16
17
0
58
11
58
-7
0
-30
111
-6
16
0
-50
-19
1
-6
0
12
-33
-24
-1
0
-32
36
-16
9
0
17
-79
14
50
0
-40
35
-6
55
0
-50
13
0
10
0
-9
117
102
-42
0
0
-10
-38
5
0
0
41
-19
3
0
-32
-13
70
52
0
7
67
14
-17
0
28
4
4
3
0
-51
-8
2
-3
0
-13
10
7
4
0
-9
-3
7
-6
0
-3
0
4
0
0
-4
0
-4
0
0
-1
-3
0
-3
0
-1
0
-5
0
0
1
32
17
-4
0
-21
6
7
-4
0
-3
-26
16
6
0
-22
-6
1
7
0
12
-53
30
-5
0
-16
-15
45
-17
0
82
-37
-14
-19
9
-30
32
-28
-45
0
38
-29
82
-63
0
-60
0
30
3
0
-1
-13
-30
63
0
67
-12
93
-4
0
-67
-55
56
-15
0
-5
-46
40
3
0
92
-4
27
2
0
95
-38
69
-6
0
42
24
-59
-23
0
79
14
37
-41
0
92
-44
-66
-3
0
-11
-48
-43
54
0
-20
64
16
11
0
42
32
-88
15
0
1
56
-48
-2
0
-14
-9
-60
-37
0
-9
7
5
6
0
-15
4
-5
-15
0
1
-48
-17
0
0
-160
2
26
-4
0
-15
-4
-2
-1
0
3
5
-4
0
0
0
0
0
1
0
-5
61
-5
0
0
-3
56
-14
6
0
28
2
-2
-12
0
2
19
0
0
0
-2
-14
-67
8
0
11
-48
13
-1
0
-13
-64
39
-13
0
-55
-29
-32
0
5
8
58
-26
-62
0
-41
22
-10
87
0
7
-9
-47
-10
0
-88
59
73
-19
0
-45
16
-23
28
0
109
-39
-55
-17
0
16
20
-10
-6
0
50
-10
74
0
0
39
-80
19
9
0
-19
59
18
12
0
-115
115
-49
2
0
-13
81
63
3
0
-85
40
-17
1
0
11
52
-11
1
0
12
-40
-22
0
0
-1
-52
18
4
0
48
-30
65
2
0
-61
85
36
16
0
119
5
-62
-6
0
-11
-6
48
5
0
6
6
3
2
0
-10
45
-17
8
0
0
-3
7
-1
0
-5
4
2
3
0
0
-54
-4
1
0
-7
40
28
-14
0
0
13
15
0
0
0
4
-4
-1
0
-5
-18
3
0
0
7
-31
-58
-21
0
3
28
1
21
0
-11
-3
1
1
9
-20
-13
-13
0
0
57
51
78
-23
0
-58
58
12
21
0
-63
13
78
-17
0
6
20
-6
17
0
-76
-1
26
7
0
-13
-69
-39
15
0
94
-8
-30
0
0
30
-102
-19
11
0
8
-22
60
-85
0
-16
1
22
-15
0
41
-24
-116
10
0
-93
-8
-7
-17
0
32
-68
7
-6
0
-6
-37
-34
-9
0
0
-14
-18
3
0
-20
-35
-46
10
0
23
21
46
-28
0
-40
8
-8
27
0
1
-5
-6
0
0
-64
-24
-30
12
0
23
-8
22
-1
0
2
-17
-58
-8
0
0
11
0
0
0
0
1
-2
3
0
5
41
-51
9
0
-14
48
-13
-3
0
0
11
-9
-12
0
8
4
2
0
0
11
30
-37
0
0
5
1
-1
5
0
-1
14
-9
4
-24
25
-8
-2
-12
0
-11
58
143
-12
0
10
10
46
21
0
-6
29
-13
45
0
33
-74
56
16
0
-56
19
41
41
0
20
-4
45
-9
0
22
1
-62
-3
0
-47
41
-16
2
0
-34
-24
82
27
0
-25
-39
40
-25
0
8
-89
17
-5
0
-9
-9
40
-13
0
-7
33
-54
-1
0
0
-15
64
0
0
-2
-41
22
4
0
-64
7
37
0
0
24
110
-82
19
0
40
-18
26
-40
0
-33
-24
-43
4
0
21
-5
8
-11
0
1
-2
-8
-2
0
0
0
-38
3
0
5
0
-3
0
0
2
0
8
0
0
7
-35
14
-30
0
-3
3
-22
-13
0
-1
2
-47
-2
0
10
2
0
8
0
7
56
-42
-15
0
0
-1
-8
0
0
-11
-24
11
0
-40
70
-17
3
8
0
-38
13
47
-38
0
37
-17
20
13
0
-32
-7
18
47
0
-18
-3
-21
17
0
-20
-11
18
28
0
2
30
-62
-27
0
-30
26
-13
0
0
1
-31
48
8
0
25
-50
-14
-29
0
47
-103
-39
80
0
-33
77
-118
10
0
94
-92
-52
11
0
1
-34
-42
4
0
-20
-76
-36
0
0
-8
20
-16
0
0
-73
50
14
-22
0
42
-11
-37
-39
0
-30
59
14
6
0
-19
40
31
-19
0
-45
-20
45
-14
0
18
23
26
9
0
-12
-34
68
-6
0
1
-15
10
1
0
-39
27
-36
5
0
3
12
-6
-29
0
20
-39
-8
35
0
2
48
7
3
0
7
-38
10
-15
0
0
29
-39
-8
0
7
3
-1
3
0
4
16
-21
-2
4
-27
8
-79
30
0
-66
51
6
96
0
52
-82
-50
-6
0
-29
57
-36
-53
0
71
-53
-46
22
0
51
28
107
7
0
33
58
19
-30
0
15
-52
-17
2
0
41
-21
43
33
0
100
12
-17
-1
0
-18
62
-12
3
0
3
-2
-17
0
0
13
-15
-10
17
0
22
-48
-24
0
0
6
10
62
6
0
-75
9
-36
12
0
31
1
129
20
0
15
15
-7
-2
0
17
-8
-2
49
0
6
105
-13
-3
0
9
-5
-1
-14
0
-18
37
-17
-7
0
-71
70
108
43
0
-1
4
69
2
0
-43
18
59
-67
0
18
-15
18
-77
0
-35
64
-56
88
0
94
91
23
39
0
56
-21
74
-23
0
64
-66
-33
-19
0
-20
-13
52
0
0
-13
-25
4
-49
19
-57
55
40
43
0
-1
46
27
-5
0
24
-16
-4
9
0
-53
7
2
-9
0
-37
26
11
62
0
85
58
-65
-11
0
-43
35
-99
-6
0
4
-38
23
2
0
-3
20
12
-50
0
15
1
-14
6
0
13
24
142
-21
0
1
-4
0
2
0
37
-15
33
-32
0
-2
-68
67
3
0
-18
107
-13
-1
0
8
-17
47
12
0
-103
-92
28
28
0
-7
6
14
10
0
-12
38
-16
5
0
-8
16
33
-30
0
1
-14
12
-72
0
-37
-47
27
66
0
36
-1
-28
10
0
46
25
-15
-61
0
-13
7
-46
-21
0
6
-33
75
-56
0
12
-16
80
-19
0
-22
103
-63
-81
0
66
-50
38
36
0
51
-22
-57
123
0
18
38
11
-30
0
-72
-60
14
82
-4
-16
-6
31
98
0
-65
-29
108
7
0
-39
37
-8
4
0
24
78
-108
-1
0
-1
-51
-2
30
0
9
-4
-18
25
0
40
-5
20
-34
0
-26
-4
13
-2
0
6
-36
-69
-26
0
56
-13
6
5
0
-1
7
-14
0
0
-2
-49
12
9
0
5
2
7
0
0
-12
41
-7
1
0
12
-17
52
-7
0
59
17
-23
1
0
-1
24
-53
8
0
-10
-6
-15
-31
0
-9
5
-54
30
0
-1
1
-39
-10
0
-17
-48
40
-9
0
-9
1
23
27
0
103
-71
-2
12
0
102
-163
-29
82
0
54
63
-18
-58
0
25
-16
-27
-20
0
58
20
96
32
0
-33
27
-68
-15
0
-122
105
-79
43
0
-46
-11
-27
40
0
2
-1
2
-25
0
-5
-10
7
-11
-17
-5
19
81
-12
0
25
-41
34
2
0
-112
-12
80
-1
0
-37
-10
69
-7
0
-16
6
-43
-24
0
-32
-53
93
4
0
-77
-42
66
16
0
-7
48
-38
8
0
-48
-30
-8
-41
0
8
7
11
9
0
15
27
3
-12
0
1
-2
-2
0
0
28
96
16
-42
0
-16
16
19
-2
0
11
48
-12
-1
0
2
-47
-17
4
0
51
75
-122
11
0
-15
-16
-26
-61
0
-6
-24
25
5
0
3
14
-59
-70
0
9
-40
-62
-27
0
-52
49
-105
-7
0
-8
-56
-11
-99
0
-38
24
-11
-81
0
-21
57
-39
-21
0
135
-5
62
7
0
41
-123
62
-90
0
-9
12
15
112
0
-135
42
-62
111
0
-40
-157
26
51
0
15
-12
-29
49
0
137
-32
-191
-43
-36
12
-20
41
-33
0
-37
69
12
-35
0
89
-27
-48
-16
0
68
19
0
-4
0
-37
75
-92
23
0
74
-108
1
-5
0
67
-3
33
22
0
1
6
-5
0
0
-17
-60
-21
-6
0
-6
0
-54
-2
0
1
6
1
10
0
0
70
5
0
0
17
-17
9
-5
0
20
-17
4
-4
0
-4
9
0
-4
0
-5
-7
-4
-1
0
-41
-66
7
1
0
5
32
40
-13
0
-6
63
3
-8
0
40
100
-69
6
0
-21
-44
3
31
0
54
-21
87
-18
0
3
-38
-3
43
0
26
-51
-73
63
0
-43
-53
-38
-19
0
129
-4
56
46
0
-87
98
-97
35
0
0
12
87
0
0
-11
18
-62
-11
0
-79
-30
-28
45
0
9
10
19
0
0
-27
1
49
-87
6
-127
-48
14
-19
0
79
4
49
15
0
-95
69
25
-16
0
55
58
5
14
0
11
46
10
-1
0
-14
-30
34
-1
0
7
-9
-42
-4
0
-12
-18
-1
2
0
31
-18
-4
2
0
8
30
-14
10
0
9
-17
-4
15
0
0
-13
-1
0
0
-1
-4
8
-11
0
3
59
18
1
0
15
-27
-16
10
0
9
28
6
0
0
-8
73
13
-48
0
-6
4
34
24
0
-31
-31
19
10
0
-38
50
-49
99
0
-6
-2
-21
142
0
20
-59
-28
-44
0
71
5
-34
-36
0
51
57
-8
-52
0
84
-78
-29
21
0
14
40
101
-29
0
6
71
-47
8
0
0
-24
52
-9
0
-8
-92
63
-34
0
44
-29
116
-26
0
-13
19
-18
-102
0
-50
1
-74
-14
-13
97
10
-47
61
0
31
-61
61
9
0
28
22
3
16
0
33
-55
-18
-5
0
12
53
-105
6
0
25
6
-7
-1
0
0
2
-17
0
0
-4
0
2
4
0
-41
-9
-7
7
0
15
-31
4
-23
0
0
9
5
1
0
-1
9
6
6
0
-6
3
-4
1
0
-7
-2
4
0
0
0
5
1
0
0
11
-3
11
0
0
-5
-6
6
-3
0
6
-8
-1
30
0
-13
-43
-2
17
0
-47
-31
-100
48
0
39
-8
-35
-56
0
37
5
-101
66
0
-93
-153
-10
70
0
-70
-5
-11
-21
0
10
-144
-3
0
0
-43
-8
-54
-25
0
-3
5
75
-4
0
-12
-21
21
-44
0
5
5
12
-2
0
6
109
48
-109
0
-7
45
-61
-6
0
92
28
-103
63
-23
-155
-27
35
-19
0
-66
-16
10
22
0
16
3
-30
-1
0
-16
89
-18
-14
0
-28
-11
-9
9
0
3
-57
-21
4
0
-21
33
53
-6
0
2
-3
20
-1
0
-39
57
-4
-11
0
-7
-10
-8
-2
0
-13
-4
-18
0
0
0
0
2
0
0
1
-6
5
2
0
1
1
-31
-1
0
1
13
-5
0
0
0
-3
-2
0
0
23
-24
41
2
0
-16
-54
1
-12
0
-68
-19
55
-10
0
-53
-12
-3
-68
0
-23
-113
3
15
0
45
-37
1
-2
0
21
-38
-55
-42
0
51
-11
-44
-53
0
-31
1
-28
83
0
5
-57
-55
63
0
23
-19
5
10
0
7
28
-47
-23
0
10
80
-55
-20
0
-6
-72
14
-1
0
1
-21
-37
5
0
63
32
91
-18
-3
-53
17
-69
-39
0
26
64
-45
-19
0
38
0
54
-5
0
49
71
-21
62
0
-35
10
76
26
0
5
52
14
-35
0
-29
19
-5
-7
0
23
5
-4
2
0
28
52
4
18
0
-45
55
16
20
0
5
-39
-35
20
0
-38
16
-44
25
0
29
-55
115
-15
0
18
2
70
-43
0
-4
24
48
-3
0
-22
68
-49
27
0
20
43
7
-40
0
8
28
49
58
0
16
-22
93
9
0
-4
0
2
88
0
-12
-42
-37
3
0
-106
-52
29
-35
0
-39
30
-68
-48
0
72
-58
21
59
0
-148
37
27
69
0
33
5
20
10
0
-10
11
4
-1
0
-4
-6
-10
-18
0
-50
22
33
19
0
-61
-7
-9
-87
0
-20
13
49
65
0
3
43
34
15
15
-64
-7
29
76
0
5
-14
47
70
0
22
0
99
-69
0
-118
92
134
4
0
40
41
-77
-26
0
20
-26
-15
13
0
-4
-17
72
-15
0
-31
-59
22
-5
0
-48
81
-13
-11
0
17
-16
-84
-6
0
-6
35
36
2
0
7
44
-6
-29
0
0
-33
26
-15
0
7
-97
47
-8
0
10
-68
0
-3
0
-5
31
-10
2
0
82
-59
-73
-13
0
-21
31
86
97
0
-38
72
74
33
0
-123
-70
52
-10
0
-21
-55
48
7
0
115
-45
-88
35
0
66
-39
16
4
0
-32
-62
98
-26
0
-130
-1
-12
-1
0
36
33
-2
39
0
9
45
3
22
0
55
2
21
15
0
-26
8
-9
-6
0
-2
30
-9
-56
0
-3
63
-43
47
0
28
-4
11
-30
-17
82
-29
7
-21
0
-3
73
1
-14
0
23
-8
-34
2
0
39
-7
67
29
0
13
79
-20
-23
0
70
-27
-6
-3
0
-28
-11
5
7
0
14
26
-5
7
0
-37
-78
-3
-13
0
81
-86
24
6
0
-101
86
5
0
0
5
90
-1
1
0
-23
0
-24
-1
0
-6
44
0
0
0
3
0
0
-2
0
3
32
-17
-1
0
-105
-21
8
-1
0
-5
2
13
130
0
-28
42
-33
51
0
-5
-51
44
4
0
-9
-119
32
-4
0
59
28
-16
-105
0
-13
-5
-4
-40
0
77
71
-30
-15
0
10
-57
-6
12
0
2
25
53
47
0
-109
35
51
43
0
4
-15
8
54
0
-120
-19
19
69
0
-27
13
27
-33
0
15
-47
-39
19
0
-82
-44
-17
-43
11
-30
-59
-54
-42
0
-23
76
-42
85
0
-41
57
-10
-18
0
13
-54
-114
28
0
21
5
35
18
0
38
28
-2
3
0
-2
0
13
-14
0
5
-22
-2
3
0
-51
24
14
26
0
22
-11
48
-11
0
7
-80
2
-4
0
-38
-38
10
-3
0
-42
-51
13
27
0
-1
7
-3
0
0
-2
11
-12
-7
0
-4
10
-2
-3
0
24
-46
3
-2
0
-3
-54
55
0
0
-26
-33
37
64
0
25
-89
-100
36
0
35
-74
-7
18
0
-129
92
31
2
0
-3
90
-7
-1
0
10
-56
6
-3
0
-45
-62
62
-5
0
-14
5
27
9
0
-11
-16
30
6
0
-7
-17
60
-39
0
3
5
-13
-34
0
-13
37
-30
80
0
16
-96
-67
49
0
83
35
-94
-11
-20
-54
44
-106
-32
0
-34
-34
60
25
0
30
29
-26
-23
0
-89
80
31
-46
0
-43
-3
-58
-9
0
63
-68
32
-7
0
63
156
-61
16
0
10
-26
41
-2
0
-9
22
-6
-19
0
40
75
-17
16
0
65
-58
25
0
0
-25
49
59
-30
0
-10
-73
-23
43
0
118
11
-14
-3
0
0
-18
102
-7
0
5
10
4
-5
0
78
27
-33
-32
0
-22
7
53
32
0
-77
-105
19
28
0
21
43
-30
-54
0
20
-60
16
55
0
-45
-40
36
-15
0
-9
-144
23
-36
0
-116
9
-35
-19
0
-98
99
-80
11
0
9
40
12
90
0
-38
-3
-39
91
0
-18
35
-7
-57
0
-4
-33
-48
-1
0
-54
7
19
62
0
-66
12
7
53
0
0
-22
-55
-56
-1
-92
33
-78
-121
0
28
28
19
-46
0
-63
6
10
-26
0
-40
-9
-61
-22
0
16
-27
-72
77
0
-47
18
45
-25
0
3
-110
-45
13
0
7
-6
-29
1
0
-23
-23
-18
10
0
64
-53
-44
72
0
5
28
-47
6
0
5
19
-3
-35
0
5
-54
19
-32
0
3
14
-77
7
0
-7
-23
65
-21
0
-3
-15
7
7
0
-85
87
-30
2
0
-41
0
-41
-4
0
-47
30
27
-26
0
-12
-154
76
18
0
3
54
-79
-35
0
-17
-30
-58
60
0
140
-12
5
-40
0
-21
27
-5
-2
0
0
-14
1
1
0
-27
16
101
-25
0
-64
7
7
113
0
73
-88
62
-22
0
-68
-44
24
-17
0
90
-6
4
-62
0
17
-16
26
-77
0
-9
-26
133
15
-12
7
15
-20
-2
0
39
93
16
-24
0
-12
-48
5
30
0
-12
-17
-1
-32
0
-125
-36
72
-33
0
-13
85
14
-3
0
-2
8
11
5
0
12
28
0
-3
0
-47
12
16
-2
0
-124
71
-38
19
0
57
-88
9
18
0
27
-117
-46
-5
0
86
2
44
-2
0
8
33
0
8
0
0
-2
2
-16
0
-18
-10
-23
16
0
-14
-5
15
13
0
-4
-40
7
33
0
11
-2
-23
-34
0
-49
-18
26
-52
0
64
-51
-41
-47
0
-65
129
47
-110
0
-19
81
-61
-49
0
27
-70
30
-15
0
29
-193
-66
-26
0
-55
14
15
80
0
92
-65
-24
-34
0
-21
-35
7
-3
0
-32
1
-7
-144
0
69
-6
-10
-47
0
33
17
-99
-82
0
45
-32
-27
-30
14
-101
-144
-65
-67
0
-3
-9
-52
40
0
-37
2
69
100
0
-82
-18
88
8
0
21
-69
21
-11
0
-1
27
49
-5
0
-13
-19
-19
-8
0
-14
70
24
3
0
-82
-90
49
12
0
23
62
10
-9
0
-82
-33
-62
-58
0
-31
3
-4
-6
0
-20
5
-117
4
0
1
-106
-35
2
0
-1
-35
4
6
0
-43
5
9
5
0
-84
-30
-12
-40
0
-36
-6
18
30
0
-66
47
-60
-152
0
85
-9
5
-98
0
-31
4
-122
-1
0
123
-59
-34
-55
0
-46
-65
-114
-72
0
-28
-61
84
20
0
-51
-103
-5
-36
0
-45
2
-9
7
0
-12
-22
-11
15
0
-37
-40
41
9
0
80
-48
-86
-88
0
104
-57
49
59
0
0
-43
-50
-45
0
61
12
9
42
6
-87
34
-90
-143
0
39
50
1
-3
0
44
-22
53
40
0
22
74
46
90
0
65
91
3
22
0
-5
-13
77
71
0
81
1
-52
66
0
-32
-44
53
37
0
89
45
20
-74
0
18
50
57
-36
0
49
1
-24
-46
0
88
46
23
-86
0
-99
42
31
39
0
-7
13
-65
53
0
19
63
38
71
0
-49
47
51
4
0
64
132
106
22
0
-1
-26
-33
9
0
46
10
-65
-7
0
10
2
-101
11
0
-86
50
83
9
0
-71
-13
-54
19
0
37
-50
151
-21
0
18
-76
41
-29
0
-37
-83
74
75
0
-59
-52
72
3
0
132
35
35
28
0
6
76
-1
7
0
-81
8
40
40
0
44
4
-11
-5
0
4
84
0
-14
0
-28
-14
41
66
20
11
-7
7
68
0
41
39
36
-57
0
17
10
1
-61
0
25
23
64
94
0
59
49
45
7
0
1
-1
-16
73
0
26
100
-5
-26
0
95
-8
14
39
0
65
68
97
-62
0
-104
-19
-13
80
0
103
18
-133
29
0
59
82
-30
0
0
1
66
33
30
0
22
-6
63
14
0
-18
74
45
42
0
-19
-115
11
107
0
-147
181
-8
-48
0
111
-73
49
-8
0
27
-110
40
4
0
28
28
-60
18
0
-38
-15
-13
2
0
-95
37
58
27
0
1
-64
35
25
0
10
6
19
8
0
3
-13
19
-26
0
27
98
71
-43
0
-83
37
-24
77
0
12
-94
88
-5
0
58
95
-67
1
0
-66
23
64
-31
0
40
42
-57
64
0
2
-13
10
-64
2
42
0
-11
74
0
6
14
55
-54
0
51
38
-35
-25
0
24
56
-88
2
0
76
50
-60
62
0
15
164
65
-3
0
57
4
10
-55
0
21
-13
1
52
0
36
-10
82
57
0
-47
14
64
16
0
40
-110
76
0
0
10
43
77
9
0
78
-46
9
6
0
-44
26
6
-15
0
46
-53
-26
57
0
-69
52
41
20
0
-13
10
6
17
0
98
16
-9
-10
0
-13
-77
-24
54
0
-13
70
-3
-9
0
83
44
56
-56
0
-94
60
13
-1
0
-86
-33
25
-21
0
-7
-2
-7
1
0
-28
-136
-6
1
0
-7
79
76
-49
0
-12
-4
-45
46
0
-2
-46
15
-34
0
19
-82
-42
28
0
-42
-22
83
9
0
9
-20
-33
64
0
27
14
-89
28
21
16
-44
-37
-88
0
24
40
-50
-21
0
-16
33
21
82
0
5
-12
-14
1
0
22
32
10
-118
0
88
38
33
-7
0
18
-13
3
28
0
-24
-24
-21
20
0
71
-23
-28
-9
0
38
29
-63
114
0
55
-29
57
0
0
-21
-8
25
-9
0
-10
-61
59
-37
0
2
26
82
7
0
33
43
-15
53
0
33
-59
-4
0
0
-38
10
22
-35
0
-73
-79
83
-38
0
-101
31
45
-31
0
-6
19
-46
12
0
32
-29
-41
45
0
-1
53
-74
-8
0
-18
69
74
-11
0
10
-8
-22
-7
0
-46
22
-40
-10
0
-67
-28
57
14
0
48
20
-54
16
0
3
5
22
13
0
-65
11
79
41
0
96
8
-2
-25
0
14
-29
46
-35
0
16
-15
-77
6
7
-21
4
23
24
0
-42
50
44
-28
0
41
67
79
34
0
102
22
27
9
0
9
28
4
36
0
21
-15
30
-22
0
1
-12
54
38
0
15
6
6
2
0
-24
-16
48
14
0
129
2
-4
54
0
-113
48
-40
25
0
12
11
23
-9
0
-14
-29
-5
19
0
-11
-8
-13
3
0
0
5
6
-22
0
-6
-5
-21
5
0
35
-28
-4
37
0
-6
14
-13
-6
0
7
-35
-11
45
0
69
-12
-23
-1
0
-78
31
5
2
0
6
-7
8
-4
0
0
-3
4
6
0
0
-10
8
1
0
-20
3
0
-6
0
4
13
0
49
0
16
24
-29
-92
0
-10
-67
-12
0
0
-16
-50
20
24
0
23
3
20
-7
0
-1
20
4
-1
0
59
-55
-5
1
8
-9
-42
35
-43
0
30
13
26
69
0
-2
66
37
33
0
131
78
-7
-56
0
84
-17
76
-27
0
-6
22
-21
-13
0
44
9
3
-6
0
21
-46
-16
12
0
-71
143
4
-9
0
14
10
50
9
0
-29
-91
-9
50
0
7
-79
-19
0
0
127
27
-107
1
0
-10
29
55
-9
0
-8
-42
-9
-30
0
3
-6
20
2
0
30
59
-69
-44
0
-10
53
17
38
0
-9
-59
2
4
0
37
-71
44
2
0
-51
-35
40
-4
0
3
2
42
5
0
-6
0
36
2
0
-4
-11
19
0
0
9
17
2
3
0
-25
31
-18
8
0
-75
-42
-24
89
0
-14
29
-5
-2
0
-102
-66
35
-1
0
17
-10
-71
1
0
26
2
21
-11
0
-8
25
-74
-11
-13
-4
-54
12
1
0
42
-5
67
17
0
41
-68
95
-10
0
-9
42
-17
3
0
86
2
-19
51
0
-39
59
-3
0
0
-9
61
-89
-7
0
5
-16
13
0
0
-52
-83
-69
6
0
-58
87
17
-10
0
-29
-11
-12
-14
0
-15
-54
25
-15
0
-10
17
21
11
0
-1
62
13
2
0
0
11
-6
-14
0
5
0
17
11
0
-95
1
45
4
0
25
70
-11
1
0
-4
-4
2
23
0
6
-4
-3
0
0
-1
-11
6
-5
0
-2
16
-5
0
0
0
0
21
0
0
0
0
0
0
0
12
0
0
-3
0
17
-67
-8
-14
0
24
12
-38
-42
0
0
-23
-32
0
0
-64
1
1
4
0
4
-60
-11
1
0
0
-12
-8
3
0
4
2
22
0
-14
31
-20
46
-8
0
18
-35
60
111
0
9
31
20
32
0
-44
-1
62
59
0
-1
-9
-39
54
0
-7
48
-42
-12
0
51
30
-6
-13
0
-96
10
60
13
0
-19
41
3
-29
0
-22
-15
101
-2
0
22
79
27
-13
0
-12
88
-88
29
0
34
-45
-30
-30
0
-13
-15
-14
1
0
32
-35
-3
-13
0
4
60
22
-9
0
-71
-66
39
-4
0
-7
122
-16
31
0
-12
56
-2
62
0
4
10
-6
7
0
16
-61
15
2
0
0
-74
89
7
0
-12
3
-44
2
0
3
0
-1
-2
0
-19
48
-20
-3
0
-22
7
-53
17
0
19
21
27
-15
0
-5
16
-96
0
0
-73
-5
32
-23
0
-1
-5
7
-12
0
22
11
56
15
0
63
-61
12
11
23
-104
67
-50
-2
0
6
-26
27
1
0
25
-4
72
51
0
3
102
-67
18
0
123
-67
68
-21
0
-78
57
83
-21
0
-14
-29
-25
79
0
37
-73
67
1
0
77
-65
26
3
0
24
13
52
-45
0
13
-58
128
-13
0
-55
81
114
-1
0
6
-50
-33
-21
0
66
8
-19
-3
0
-5
-2
87
-17
0
16
-4
-55
7
0
-93
24
-17
35
0
-12
-57
40
-15
0
33
30
21
-6
0
-10
61
-14
0
0
-82
18
14
11
0
24
48
-16
1
0
34
20
-1
-9
0
-13
-2
6
-9
0
30
6
5
-6
0
32
48
-16
2
0
2
8
-4
-2
0
0
6
2
0
0
0
-15
35
21
0
-29
18
-41
12
0
4
-44
28
29
0
83
19
-21
-5
14
2
95
-58
37
0
-16
42
25
42
0
21
-11
11
-37
0
-14
-45
39
15
0
44
-33
6
72
0
2
73
46
-58
0
-19
27
-61
-9
0
1
34
17
-12
0
75
-55
-56
8
0
12
-27
-19
14
0
42
1
85
-44
0
-5
-32
-32
18
0
-44
60
35
8
0
-25
23
-4
5
0
-1
83
30
-18
0
-9
7
-9
-2
0
-95
132
-36
0
0
9
1
-106
2
0
36
-1
-2
8
0
-2
55
9
0
0
-1
23
-13
-8
0
-38
116
12
-4
0
7
20
-48
6
0
-9
1
0
2
0
52
33
15
0
0
4
26
-25
4
0
-17
-120
17
8
0
0
-12
11
4
0
8
-16
-9
0
0
32
1
-96
-1
0
-1
46
-11
16
0
-2
-58
-7
-1
21
-12
-48
-23
-5
0
9
38
-44
119
0
18
-54
88
37
0
21
-75
81
-12
0
52
-62
-17
-4
0
-13
-27
-9
26
0
109
-25
64
-38
0
10
2
-42
-14
0
8
36
-21
-17
0
-16
116
-34
-1
0
46
131
-147
-20
0
-19
-80
71
17
0
17
12
-8
-17
0
4
-5
-64
-3
0
-1
23
20
-3
0
10
-66
-42
30
0
-20
29
18
-50
0
26
-6
92
0
0
-122
-51
26
-8
0
-20
-7
9
0
0
71
65
-55
18
0
50
-10
-6
-7
0
14
6
-23
-1
0
-6
0
-5
0
0
-1
-5
75
4
0
53
18
37
4
0
7
-32
43
-40
0
1
-4
-21
-2
0
13
14
-11
-3
0
-31
4
2
7
0
-3
7
-15
31
0
-21
34
-83
-22
26
-2
-3
-64
6
0
8
53
19
-67
0
-12
80
45
77
0
106
-24
-99
21
0
27
37
-25
-117
0
27
-41
49
-9
0
-22
-52
93
36
0
102
-66
-39
8
0
-25
-17
21
-12
0
19
-46
40
1
0
-3
-10
9
7
0
6
-11
-129
-12
0
-16
-38
39
-15
0
12
-49
-33
4
0
-7
-11
104
14
0
-11
-45
39
8
0
28
31
-31
-8
0
14
61
55
-1
0
-135
26
-7
-4
0
-9
-43
-29
4
0
-52
-27
6
5
0
47
-27
32
4
0
-6
25
7
-2
0
0
-10
-6
0
0
-27
-49
-34
-1
0
-12
60
64
5
0
1
31
34
-2
0
0
-12
11
0
0
-12
-35
-10
-2
0
-5
-97
-6
-32
0
-10
-21
-6
-15
0
19
-37
-24
0
15
22
-72
-49
-65
0
18
20
27
-42
0
5
80
5
35
0
-7
0
22
60
0
-31
-81
50
-33
0
-22
27
47
-7
0
2
-13
11
0
0
-18
-20
-3
0
0
-36
5
-54
-15
0
102
-28
41
16
0
-15
74
-11
-3
0
3
5
0
-3
0
-32
3
26
10
0
5
-11
0
1
0
0
-5
11
0
0
-4
-1
-55
13
0
17
39
4
-11
0
21
-17
28
-26
0
57
51
11
8
0
4
35
-75
0
0
-18
25
-4
1
0
14
31
-12
3
0
-2
-2
-27
-1
0
-1
0
1
0
0
-8
-22
-4
0
0
-32
-35
-30
-3
0
58
16
-29
2
0
6
11
0
0
0
0
20
5
3
0
-4
-24
-4
-19
0
-5
-17
4
0
0
4
11
-3
-7
2
-38
4
51
-3
0
26
38
23
-15
0
-26
3
20
-57
0
-71
65
87
36
0
52
119
-68
-35
0
-98
-43
20
32
0
19
7
0
-5
0
18
-18
-27
0
0
38
32
-61
-12
0
-12
60
-52
15
0
85
-41
89
12
0
1
5
13
4
0
75
7
-39
-11
0
-1
-20
1
0
0
0
3
13
0
0
0
18
-2
-8
0
-21
-18
-19
5
0
97
-60
-6
2
0
117
32
-17
5
0
-24
-58
14
-12
0
-42
55
12
0
0
-4
16
-4
7
0
23
4
-4
-6
0
0
-9
1
-3
0
-39
3
7
-1
0
20
41
41
-13
0
26
-75
4
-12
0
0
4
-13
0
0
-17
-3
-12
0
0
-1
-9
-32
1
0
-12
2
-19
-12
0
-50
16
-1
0
-6
-34
-23
10
11
0
25
67
39
90
0
61
24
16
-66
0
-4
-8
-28
-8
0
-4
-29
36
24
0
58
-39
-94
11
0
17
-53
10
75
0
-25
-8
-4
7
0
-90
87
-69
22
0
34
-50
-59
-39
0
-28
84
-34
27
0
0
-55
61
12
0
54
-43
0
-7
0
11
-56
63
3
0
9
4
-3
-12
0
2
1
1
-2
0
-46
-67
24
2
0
-13
84
6
-8
0
72
-7
21
-93
0
-5
-38
15
6
0
-47
-5
-9
2
0
8
19
16
0
0
9
-1
-50
6
0
-4
4
0
-2
0
-14
8
11
0
0
-69
108
-87
0
0
-19
50
-59
-2
0
-1
-3
-2
-11
0
5
0
10
-15
0
-4
22
37
0
0
0
-3
-28
-2
0
-3
9
1
1
4
-60
-38
14
-7
0
-43
30
40
-12
0
-10
-25
25
63
0
31
4
4
-33
0
110
-65
-23
3
0
19
-7
2
1
0
-6
49
-4
8
0
33
-17
-30
-2
0
31
39
-51
57
0
89
15
85
-30
0
-6
25
-132
-59
0
66
4
-19
-61
0
-4
82
0
-12
0
5
30
-40
15
0
-42
11
8
0
0
0
41
42
5
0
50
-58
91
-34
0
-5
20
10
70
0
-12
62
36
31
0
-23
-54
124
6
0
-73
-37
-100
-3
0
14
-37
-24
-14
0
0
5
-13
11
0
3
-3
-8
0
0
-51
5
-53
-1
0
-20
46
-31
-27
0
-42
40
88
-1
0
0
-21
-22
-2
0
-38
20
-62
2
0
-8
-16
51
-27
0
15
-28
54
0
0
-15
-14
6
2
7
-54
17
-43
-62
0
-24
45
-45
63
0
-11
-26
10
1
0
72
-69
86
-9
0
-22
12
-16
-76
0
70
-38
2
20
0
124
-8
8
-26
0
-22
6
21
-11
0
-22
23
72
-5
0
-2
26
-2
9
0
22
-10
11
20
0
13
10
-3
5
0
-29
-49
3
23
0
63
92
45
-6
0
40
-59
0
-15
0
25
114
8
-10
0
-62
9
41
87
0
11
23
6
2
0
10
20
2
-35
0
30
11
5
6
0
28
8
-16
-10
0
-9
-46
63
-13
0
48
-15
5
62
0
-41
15
66
16
0
29
75
-25
16
0
-64
42
-18
5
0
-19
-35
17
74
0
19
18
26
33
0
15
-63
90
-34
0
71
1
5
-9
0
20
-14
-13
55
0
20
-1
15
17
14
3
-32
9
44
0
-17
25
1
80
0
-33
-41
14
-2
0
51
-32
109
-68
0
-24
75
-29
32
0
-94
30
51
-42
0
-92
-39
-91
-11
0
18
-58
45
13
0
91
-43
-1
2
0
89
26
7
9
0
54
41
-10
-37
0
-1
9
-124
-6
0
50
-27
3
23
0
-20
-9
17
15
0
37
93
-132
-5
0
-61
-10
89
4
0
78
-92
14
-31
0
22
5
-2
-9
0
8
-19
7
-46
0
-12
-30
-33
49
0
-7
-26
-30
-62
0
14
8
-26
49
0
-27
17
30
-62
0
-44
-38
-11
14
0
89
-9
-25
41
0
82
-8
20
86
0
-107
53
99
63
0
28
-25
12
-6
0
-167
86
-14
-48
0
67
48
-19
-29
0
-38
172
51
21
0
13
8
36
-4
-6
-20
22
48
-7
0
78
0
-46
28
0
-17
57
26
-28
0
-105
75
-56
-1
0
-31
15
19
7
0
23
-21
11
3
0
108
-10
54
-17
0
2
10
3
-3
0
-41
-14
26
0
0
15
27
32
0
0
59
27
-41
-10
0
2
57
6
1
0
-2
9
49
-5
0
13
49
-77
11
0
17
7
16
-5
0
26
-16
-1
3
0
-86
-55
59
-3
0
-1
-2
-1
23
0
-16
-16
-18
18
0
-17
-26
-56
26
0
-18
-9
-119
-50
0
36
-11
11
-100
0
-31
10
40
-2
0
-61
-31
-60
76
0
-28
-10
0
11
0
77
20
47
-52
0
-35
-55
-74
105
0
26
45
-47
59
0
71
68
11
-64
0
65
11
-41
-2
0
27
-104
74
-56
0
15
-23
-17
105
-1
-15
35
98
51
0
-26
-35
39
23
0
-54
10
39
-73
0
-23
18
-34
-19
0
-84
-7
5
-3
0
73
44
16
0
0
59
-32
26
-4
0
-9
2
3
-2
0
36
-153
-13
-1
0
33
-9
3
10
0
-118
-39
61
-6
0
0
15
-23
-1
0
-40
-26
53
-5
0
-13
-76
-15
-11
0
13
-62
-41
-3
0
16
-15
-18
0
0
13
-113
12
-7
0
12
4
-12
-18
0
-6
-4
-7
-4
0
10
-6
16
17
0
11
-5
-45
-7
0
16
-12
-23
23
0
-11
11
36
29
0
31
-52
-36
9
0
-79
40
19
14
0
54
61
-24
-41
0
-3
78
-62
-24
0
-54
23
-82
-1
0
20
39
17
-50
0
-6
-51
-29
76
0
-19
-90
-10
-9
0
-16
-12
-82
-23
8
-156
2
-110
-146
0
32
-21
28
37
0
-1
52
55
4
0
-3
-18
33
9
0
7
28
-58
63
0
-79
21
-4
-36
0
-94
30
3
-29
0
-2
14
-13
16
0
-11
10
-3
-3
0
-25
5
-71
-16
0
55
-20
-23
7
0
11
74
-7
1
0
60
-78
-20
-29
0
-4
70
-12
-3
0
0
-15
7
-1
0
-43
-27
7
-1
0
41
44
-132
-6
0
5
29
-24
44
0
18
-20
-7
-77
0
-56
-22
4
24
0
-61
21
-2
1
0
13
-25
6
4
0
-21
-2
58
6
0
36
-65
-54
-12
0
-145
-73
-35
118
0
-11
46
9
-99
0
-137
105
-77
92
0
57
92
-40
-43
0
-74
50
11
0
0
-18
64
-46
-13
0
-2
0
-14
-82
0
26
28
69
-11
9
-31
4
-8
-22
0
11
66
101
0
0
-39
80
-6
-5
0
82
-64
-5
35
0
-6
67
-2
30
0
-64
-9
-29
4
0
-20
35
57
0
0
28
-2
-4
8
0
-2
8
-87
-11
0
-89
30
-28
-11
0
26
24
4
17
0
0
52
-2
-3
0
94
-14
-21
0
0
3
65
-71
-4
0
-2
11
-21
3
0
7
19
-13
8
0
-75
151
-28
-23
0
8
-50
36
56
0
2
-62
6
57
0
-7
-41
15
-17
0
-46
-48
-55
-3
0
-33
-106
-16
-105
0
-145
-131
-12
22
0
49
71
0
-103
0
39
8
27
52
0
-50
34
-6
58
0
47
-26
-53
-9
0
18
38
-27
52
0
71
-48
-47
-11
0
5
-87
19
5
0
18
-10
-140
10
0
-8
31
-75
-123
20
-23
12
-44
-111
0
-11
-12
146
21
0
-59
49
-46
32
0
-5
13
-9
3
0
17
82
-8
40
0
10
20
-33
0
0
10
-31
21
1
0
8
-6
-1
2
0
113
-12
-40
-25
0
-58
10
-8
0
0
-25
69
25
-16
0
-4
-48
9
4
0
50
25
-5
-24
0
0
-11
-3
0
0
-4
-2
-6
2
0
-7
10
0
2
0
47
-49
2
7
0
-16
21
-3
68
0
-25
-72
16
32
0
-3
-26
-32
-43
0
-23
-12
-32
18
0
7
40
74
-3
0
177
-222
8
-66
0
64
-18
108
-58
0
-84
-58
88
-20
0
-18
-33
-29
-102
0
-88
107
-55
35
0
66
118
3
-28
0
55
-78
20
-22
0
-9
-40
-83
16
0
7
-8
-4
1
0
64
-87
19
-45
-4
39
22
-51
-27
0
71
-57
63
-53
0
34
30
-110
-22
0
32
-53
-33
-26
0
-94
22
39
-39
0
139
-100
124
-7
0
-32
42
9
-8
0
54
-68
19
-14
0
-142
53
43
-9
0
-6
144
-9
-6
0
-113
96
5
53
0
-38
-48
-98
5
0
-3
-71
-16
-1
0
63
16
10
4
0
28
-3
-73
0
0
-4
8
-23
-6
0
34
78
-13
11
0
5
6
33
40
0
-9
-41
2
7
0
-33
-28
-40
-166
0
-66
-27
-66
-11
0
2
-31
-124
10
0
80
-28
-53
21
0
-70
-43
-10
-41
0
-30
-50
12
-6
0
-1
42
-45
30
0
62
-39
-119
18
0
-92
-41
50
-35
0
1
-16
13
-3
0
-14
-35
26
-150
0
-17
67
-14
-80
0
-163
-53
15
50
2
27
-96
-44
33
0
-7
8
4
-19
0
17
-21
66
15
0
91
-104
135
15
0
-5
-34
8
-23
0
-11
0
-31
2
0
38
9
-13
8
0
21
26
-2
0
0
-1
10
36
-25
0
-42
67
-61
-69
0
64
88
3
18
0
10
84
-14
40
0
-74
-7
36
39
0
2
-57
-27
-14
0
-73
9
12
-7
0
-35
25
58
-3
0
16
-5
-7
2
0
10
3
36
-30
0
15
64
67
-13
0
16
23
41
-48
0
4
-10
39
-1
0
47
11
19
-10
0
-106
15
27
-50
0
38
-110
-21
105
0
-32
-76
-23
-20
0
-11
2
13
9
0
33
16
-12
8
0
3
-14
34
-16
0
18
36
9
30
0
79
48
44
2
0
-7
73
-16
-9
0
8
26
-28
-15
6
-52
33
34
13
0
-38
44
10
99
0
-43
4
103
35
0
-19
107
-7
-16
0
8
-44
-60
81
0
149
-1
36
-5
0
42
12
15
35
0
-42
57
-66
-9
0
2
49
-79
8
0
42
-51
47
-19
0
-65
-12
54
-123
0
-2
-98
38
13
0
12
-61
19
18
0
-65
37
-16
-1
0
18
14
15
1
0
8
-7
-85
1
0
15
39
-50
4
0
4
-30
3
29
0
-10
-27
-39
1
0
6
-36
75
-34
0
-21
-108
99
36
0
-22
-15
72
5
0
-66
-83
-58
51
0
91
39
-128
1
0
-134
-77
88
0
0
-13
19
7
44
0
53
17
44
-38
0
-23
57
-33
4
0
66
0
-11
20
0
64
-8
30
26
0
-48
13
12
2
0
90
57
38
-60
-14
10
8
32
71
0
-9
57
31
-60
0
11
-20
28
61
0
15
78
50
-14
0
-22
-5
46
-50
0
34
-18
-70
0
0
-33
56
29
4
0
40
34
-4
1
0
-113
69
-11
25
0
-8
52
11
1
0
76
-126
16
37
0
21
-18
-13
-13
0
10
-16
6
12
0
6
-30
14
1
0
0
-1
49
1
0
2
13
-6
-6
0
-16
-1
-9
-61
0
3
-11
-7
-13
0
19
-4
50
-63
0
-55
8
13
-34
0
-4
-118
-46
9
0
-51
55
-17
-49
0
-33
18
-37
-60
0
79
-11
40
-40
0
43
-44
-69
-22
0
12
17
6
-6
0
55
-10
-1
6
0
-38
-19
-10
15
0
-53
8
-14
-41
0
-25
-57
-60
70
0
12
105
8
-52
0
56
-32
-2
-18
-8
17
-19
-19
-26
0
-47
48
28
116
0
4
-41
-37
-33
0
-96
56
11
-15
0
-48
-1
8
-3
0
19
111
29
9
0
18
-66
87
-47
0
22
2
10
-4
0
-53
-39
35
-3
0
-39
45
35
34
0
-12
-60
-17
21
0
19
27
-73
-19
0
-53
-1
-8
0
0
23
-15
23
-6
0
2
34
20
-9
0
-3
-25
15
-3
0
-2
-55
-3
1
0
-49
8
-52
-29
0
-1
47
-50
59
0
50
-114
-63
41
0
-22
28
-15
-21
0
-53
-20
-29
-100
0
-72
-56
4
4
0
29
80
21
-23
0
109
75
-75
-60
0
10
24
28
-2
0
-29
-23
50
5
0
-65
-68
68
-7
0
-7
-22
3
34
0
66
-8
38
-26
0
55
-34
75
18
0
-86
94
-43
12
-8
20
-33
-114
-16
0
28
-5
39
19
0
43
88
59
-37
0
-66
72
-28
-89
0
-59
52
8
8
0
-23
5
-19
-5
0
-11
30
-63
34
0
26
-25
40
-3
0
-19
7
-11
-13
0
-19
3
7
26
0
-98
6
57
20
0
-16
14
-47
78
0
-31
46
-7
98
0
31
28
4
-15
0
0
-53
50
28
0
2
-5
-32
-24
0
66
-125
30
-30
0
-21
41
45
69
0
-8
13
0
-3
0
-7
-57
-52
82
0
-2
17
35
-40
0
-44
-51
-96
39
0
40
-54
-36
-73
0
-152
-62
87
117
0
3
-22
-95
-6
0
47
43
12
-7
0
112
50
27
-25
0
126
-41
-45
-64
0
-16
-53
60
-15
0
-4
25
6
-66
0
-71
62
22
38
0
52
-54
-87
12
-9
-36
-2
-44
36
0
9
1
27
42
0
26
-9
30
-24
0
33
-65
-8
61
0
-7
-43
31
16
0
3
-6
13
37
0
59
37
6
-15
0
-6
-49
15
11
0
-39
-8
-23
14
0
-33
-1
-2
106
0
34
-11
-72
20
0
-15
-55
74
0
0
-26
29
5
-40
0
-3
-8
47
-1
0
8
4
-4
17
0
5
24
4
-16
0
-43
-4
-22
3
0
-24
17
69
-36
0
48
-59
35
89
0
8
-37
-66
-20
0
59
-16
-110
38
0
-118
25
-21
33
0
-52
67
-60
-94
0
6
-23
-77
-20
0
-5
-2
-93
-3
0
70
28
26
-17
0
-11
16
60
-4
0
-22
-19
43
-53
0
-46
23
-40
27
0
-6
19
-23
68
0
9
8
-20
-33
0
4
-3
24
-97
-1
-160
-26
-27
52
0
141
85
-15
7
0
20
-47
-22
112
0
-34
-2
25
-9
0
-6
51
19
-4
0
71
4
-4
-12
0
-75
-45
-6
-10
0
-11
32
35
5
0
11
16
-70
-45
0
-10
52
26
-10
0
-64
-63
41
17
0
13
29
-120
44
0
-11
38
62
11
0
-4
30
-46
9
0
18
-1
-60
-3
0
0
13
-1
0
0
-40
-16
-30
25
0
-8
37
46
18
0
-21
0
38
26
0
4
16
2
-77
0
-22
-69
-107
9
0
49
4
-7
-16
0
-62
-62
-100
60
0
36
-44
27
8
0
58
17
10
-16
0
0
-7
23
27
0
-50
-54
19
-35
0
15
-65
-68
-13
0
-1
-61
7
35
0
20
56
41
-73
0
14
-89
-49
-50
0
-2
-12
62
38
-19
-99
140
86
-126
0
-12
26
35
29
0
-24
74
11
-31
0
-91
27
-35
25
0
-72
19
-52
3
0
105
-57
-12
-1
0
-22
-43
44
71
0
-40
72
28
-54
0
-49
-122
28
18
0
53
-8
-47
0
0
43
23
33
45
0
3
64
14
-26
0
-93
-14
-18
26
0
-83
66
-12
-17
0
-6
-2
-3
-22
0
-29
9
-67
4
0
12
-74
-81
-44
0
-20
11
25
30
0
-6
97
-1
52
0
8
-95
-125
2
0
32
4
107
-87
0
64
46
23
66
0
17
96
-79
-59
0
16
66
-16
-71
0
-66
-99
-69
-81
0
44
5
-14
-11
0
60
4
-9
47
0
42
-3
-54
6
0
-57
0
26
6
0
-91
-31
22
-7
0
68
-94
-1
43
0
50
-117
33
-55
-30
18
-58
-43
-32
20
20
14
19
-1
59
-30
26
57
26
9
-3
-39
20
17
0
20
52
73
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
152
81
-8
-57
-52
-24
63
116
76
7
62
-26
4
29
42
-20
14
-108
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-12
20
163
33
26
-70
56
3
62
-7
49
-84
-2
-5
27
11
-17
2
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-6
-100
-27
-80
0
-32
97
23
66
0
22
16
-54
2
0
-39
7
84
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
1
21
7
16
25
36
27
8
40
15
14
7
23
14
-33
-4
57
67
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
54
9
-23
60
50
27
-11
32
-5
4
-20
-2
70
34
4
-25
49
-51
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-58
3
92
76
36
65
-60
-29
4
14
149
62
-52
-3
16
-104
88
108
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
40
35
18
24
41
-7
92
-11
0
59
-37
31
1
8
13
20
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
48
-13
102
13
19
21
23
23
7
-10
-3
44
62
90
-11
10
-16
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
90
-77
9
-86
102
89
7
-60
-15
37
-63
-23
-17
42
-24
-51
-80
15
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
-26
-56
-5
3
-47
45
-25
37
-1
16
25
-82
12
25
10
-40
-4
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-44
-65
10
0
30
17
33
-1
0
95
-36
18
-7
0
17
-65
39
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-3
72
-1
4
30
40
-35
-26
66
-29
1
77
59
46
-7
1
17
-10
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-42
52
0
-5
-55
5
4
5
23
82
33
43
1
-95
93
10
-26
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-124
123
67
-52
-9
-21
-11
-17
33
58
41
-119
42
26
-16
6
75
-101
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-64
26
60
2
1
-11
-9
13
35
0
19
-44
-12
2
2
-29
88
1
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
8
45
76
66
50
58
53
82
-19
-53
-54
83
34
26
-25
18
-20
-14
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
63
-76
9
56
84
67
-5
-48
-99
5
0
8
-24
28
-17
32
-51
-7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
14
-62
63
0
76
-19
-29
15
-3
-132
17
9
5
-2
-6
-17
47
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
70
49
-9
-27
0
-85
-1
-60
1
0
3
-36
-21
-3
0
33
-8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
70
57
-19
-27
35
29
64
45
9
42
63
-42
70
19
-23
-11
12
-23
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-70
62
9
-24
44
1
4
-37
-37
-17
-17
-23
-53
21
7
22
-6
8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-36
32
9
-13
35
-24
61
10
42
4
-44
34
-43
-1
0
-55
11
19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-17
119
-29
1
14
-87
-57
-37
0
-79
-32
-42
0
0
-78
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
2
24
14
32
-55
48
39
-61
0
59
-13
-16
22
-72
31
-3
91
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
10
-6
-24
-7
-27
48
-17
-13
-6
20
-14
-8
-13
-8
-15
20
-20
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-71
-80
-52
5
-2
-12
97
6
-5
3
2
-30
0
-1
-1
32
-21
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
80
12
-44
-5
0
-14
6
0
-3
0
15
1
3
0
0
9
36
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
49
-19
-12
22
1
7
0
19
-63
46
-40
-31
46
-54
-106
-31
91
5
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
38
-130
71
41
25
15
108
126
-61
83
70
55
-43
17
7
-70
1
-33
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
25
-157
97
26
13
-103
57
-8
19
-21
42
17
-13
1
10
-19
-11
-14
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
13
-72
39
22
2
93
-24
5
22
0
-62
28
9
-12
1
-61
-21
48
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
48
53
-21
132
30
-29
-22
37
-2
1
-20
31
0
-4
20
-65
-33
113
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-16
103
-15
69
-48
11
47
49
22
30
46
29
98
3
-43
-45
81
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
-2
8
17
-90
141
25
48
-28
-24
29
58
66
3
13
-74
-6
5
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
30
6
67
-70
7
106
-24
-7
76
5
-81
71
-73
-26
42
20
-99
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
42
76
-23
-13
61
-25
107
5
-30
79
-13
28
3
-31
13
48
83
-22
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-19
55
9
42
-41
49
-24
45
-32
-8
-64
-7
48
-5
-56
79
-31
91
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
46
9
123
-18
-90
-33
-59
-52
76
51
-10
-111
39
15
-14
38
-77
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
104
4
-50
-76
26
-76
17
-58
24
-3
-61
50
-19
12
57
2
-69
15
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-77
55
63
84
-41
70
54
125
-35
15
26
78
-101
-39
5
21
-34
-48
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
33
-43
21
-26
-2
23
40
64
-46
5
-16
-48
62
47
19
-2
-68
-37
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-111
22
89
55
71
-91
-33
-58
53
-28
-31
-56
-37
62
-94
-58
89
-25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
58
25
-46
-73
15
-121
36
86
23
2
62
20
-19
12
-26
12
-23
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
22
23
51
14
5
-36
-33
22
65
-10
21
-5
6
66
-7
61
-12
-16
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
65
96
27
-82
-39
-51
37
17
-4
8
5
-19
-28
-17
115
-17
50
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-43
-15
-138
27
32
-42
-30
-72
-126
-34
62
24
86
-9
-79
-32
10
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-5
-14
1
16
-34
-36
7
-36
6
11
-129
-1
0
-37
-23
82
-44
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
-20
13
87
19
57
0
-3
-25
-5
-23
13
-55
35
-25
89
-175
-29
-87
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
19
4
65
-24
-91
40
-127
5
91
13
18
102
-69
-9
52
-42
88
-78
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
3
5
10
-16
-105
53
85
16
-7
-9
-11
-43
24
-3
-30
17
4
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
47
-14
-33
-44
73
11
11
47
-27
-11
4
25
-67
33
-22
-3
1
20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
29
-39
17
29
9
72
-26
45
15
64
21
-49
-99
24
49
-10
84
-42
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
91
58
-27
-11
-94
27
32
-110
24
16
16
-4
28
-25
-51
38
50
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-119
97
-11
3
69
-42
-37
-60
7
1
-11
-7
50
-8
-12
-12
-79
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-65
-9
-44
-15
-18
-38
-65
35
22
1
-46
27
-29
-31
8
-60
-93
6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
4
14
5
-25
-34
14
15
-34
36
59
25
-106
75
1
-95
-65
24
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
23
63
11
11
23
-25
4
-3
-11
-59
5
43
-6
-49
37
13
56
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
196
-56
-68
-10
-21
-169
47
0
-6
24
3
20
-1
39
4
-16
11
45
-83
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
54
77
-18
-17
8
-65
67
-59
1
34
-87
-37
26
8
-48
22
-9
62
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
2
-29
-78
-8
-39
-87
20
28
-18
-33
-61
67
-77
-34
-31
31
62
-56
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
5
-15
11
27
8
-39
32
72
45
-38
52
27
-29
32
-4
17
3
-51
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
84
-59
40
-9
29
37
-24
-27
-45
1
-101
-84
30
20
-31
21
-94
-27
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
62
-12
-23
11
37
88
-75
-30
-3
-37
-5
73
40
2
-32
-120
-8
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
-23
-14
27
-67
-47
88
25
13
-40
-12
39
-45
-12
-45
90
-16
11
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
15
26
-17
31
-18
2
16
2
9
78
40
-1
-92
21
-22
-26
50
102
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
25
24
23
5
29
6
11
63
7
-27
1
13
21
22
-25
8
10
8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
-34
24
-37
18
-27
38
-14
54
25
4
47
37
-9
-20
-43
162
54
20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
26
-10
46
58
24
105
-18
25
-41
-17
-19
171
-22
-3
6
-36
-22
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
13
5
-35
36
-106
42
39
78
9
16
-102
-21
-6
9
76
26
-90
-78
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
14
22
1
69
-5
9
-4
32
-21
-14
-12
59
-48
-21
-47
-12
42
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
10
21
-23
26
66
4
-64
-48
40
1
-11
72
68
-104
23
83
-89
-91
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
27
-10
24
28
35
-11
20
63
33
-90
109
53
-27
-27
-12
92
-127
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-117
88
77
-34
10
-5
-75
-31
2
-17
28
21
-32
-6
-23
0
-61
73
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
8
5
15
37
-44
-10
-34
15
-20
61
25
30
-48
4
51
-27
-47
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-29
34
28
-17
54
-34
-92
-82
-43
-4
-24
0
-77
71
8
-63
38
73
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-39
60
-48
3
-79
-9
24
164
16
-3
12
50
-20
-20
-17
21
-8
4
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-50
12
18
2
-14
-65
-23
-25
-56
-4
-4
-46
35
23
-7
-86
-4
-29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-2
-37
14
-19
-70
14
16
-28
10
-16
-19
-35
4
-60
16
-20
5
-6
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
51
-2
27
13
-99
46
19
100
19
-118
-42
49
-59
-56
89
31
-66
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-21
-36
21
-19
14
-49
102
-2
-23
-41
25
-19
-36
-3
15
-59
-39
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-50
20
39
22
51
41
-17
-83
2
-37
24
-6
74
2
8
-29
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
19
52
72
42
-31
21
57
6
67
1
-88
6
15
23
34
-80
-49
-56
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
-26
-74
62
-83
-121
-10
-48
62
-94
-4
-67
70
-56
83
-13
-29
-36
-171
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
53
6
-64
42
71
11
60
-58
-57
-29
90
2
-5
-22
46
90
-67
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
5
9
57
-8
-60
86
15
36
26
-6
-34
88
-8
-2
-24
15
-80
67
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
58
38
-5
-59
-1
39
64
49
69
-51
-109
-39
20
-18
-76
-101
6
-34
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
-35
70
119
61
-41
-33
65
-97
97
-28
27
-67
-75
-52
-109
23
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
50
-35
20
5
-145
-40
41
-37
-20
-31
-64
6
60
-10
-1
-19
59
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-34
34
12
4
44
-11
38
-51
-6
-3
-39
8
12
0
-7
-18
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
17
-16
43
-13
-29
4
-37
-70
-57
-49
-2
-50
-29
4
27
-45
-73
-17
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-81
1
-23
26
-77
-117
-5
-76
-22
3
73
-45
90
-135
45
-33
-102
-145
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-52
108
2
0
-101
-7
-37
-78
1
-20
71
-35
22
10
-41
-4
23
42
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
26
-56
-80
17
23
-26
19
18
-1
-5
-22
-99
-28
3
-16
40
-57
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
8
-14
-10
-26
12
15
34
10
-17
-18
-39
-41
27
49
-27
-59
-14
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
7
21
-52
-65
-98
119
-49
-37
-46
-93
-110
69
42
25
6
16
-50
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
74
30
4
-3
-50
52
18
82
37
31
9
-22
-47
-13
-62
31
-18
-27
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
23
8
72
55
31
1
34
6
-7
134
-40
15
-18
-33
12
-22
10
14
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-10
-5
-23
-30
-11
17
-15
33
-5
-43
-30
-48
8
-35
-35
42
-34
62
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
9
17
23
12
41
-3
18
0
8
-17
9
59
34
55
-42
11
4
83
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
-17
50
18
66
44
26
-20
16
-2
-72
6
2
-15
67
17
-2
24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
51
-61
27
23
76
-74
53
19
-17
-34
20
-27
74
-36
30
1
67
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
17
-12
15
12
56
-19
-29
0
-59
-13
-30
97
-121
-22
-162
12
-1
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-16
2
7
-18
18
31
-36
8
15
-34
-55
9
3
43
-124
-44
-48
-15
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-13
-69
-8
-31
50
-46
38
62
41
16
-88
-116
24
-26
-22
-15
14
19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-67
-29
7
67
42
-7
-42
-96
-15
-31
-12
81
-130
108
89
3
-9
5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-36
27
70
-16
-21
-23
60
35
-34
19
61
-69
8
-118
-40
14
-23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
18
47
14
30
-20
-10
16
-2
6
-38
-1
21
-20
31
49
23
-5
20
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-122
51
128
-25
128
-86
-8
-89
89
-82
42
-72
-17
82
129
17
-79
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-8
-108
-27
9
10
61
-19
30
-24
29
-29
-89
-73
-39
-101
-25
-31
27
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-18
37
39
85
-72
-21
48
29
-17
99
-59
-83
14
83
-3
-30
-6
-36
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-18
30
48
28
-57
10
35
3
-22
-25
27
-6
48
26
-29
-26
-18
-35
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-18
-11
62
30
-72
109
68
20
73
74
22
-15
-56
-100
61
-82
-18
122
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
19
14
45
-13
102
-45
-14
-14
47
-84
93
-36
3
24
7
-54
48
38
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-21
71
61
-10
17
-45
78
-36
-21
-74
45
16
-15
43
-22
83
-38
-186
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
20
22
21
-44
26
11
39
24
-1
55
-65
48
-37
-134
-23
-12
-11
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-17
58
17
10
-15
26
-38
34
-9
-27
15
-6
7
-37
-47
53
-62
40
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
12
-1
11
39
-26
12
53
-11
-32
-58
-95
-37
32
-59
24
-9
-93
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-28
58
-9
25
-19
-98
26
-96
-47
-52
5
35
44
-60
-6
-84
-65
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-11
3
110
-22
70
23
31
-67
9
25
-48
-16
23
-6
-46
12
-47
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-116
26
-17
-37
48
13
-26
49
4
50
-33
-97
59
-33
-16
-6
-56
-84
-38
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-140
80
71
-15
-15
-32
86
-62
19
-29
-61
-67
-15
65
6
8
-54
23
41
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-18
-56
-3
-55
65
-15
16
19
-30
-70
5
33
18
-75
135
61
-70
-51
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
15
-12
0
-17
2
-21
-62
-28
-96
4
8
-2
-33
4
-41
4
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
91
125
-7
-56
-1
-41
-45
18
22
-86
36
162
46
-66
14
5
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
20
69
8
-29
-34
-25
-106
-68
-4
-22
24
-32
-19
-57
-97
-17
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
36
-63
3
-5
34
-32
-99
22
-80
-49
-47
-58
-99
0
-25
-40
-53
-36
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
23
-25
14
-89
5
11
-36
-18
63
-32
7
-25
7
-1
-32
-38
0
-113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
22
-24
4
31
44
9
10
7
81
123
43
63
27
60
39
25
114
-19
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
11
69
10
32
12
32
53
78
17
-3
8
53
98
-29
-17
27
-7
92
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-72
-56
-4
12
19
-48
106
2
92
0
24
-11
7
1
60
26
-96
89
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-28
34
30
-47
-10
156
-55
-8
-34
3
-100
79
-50
-9
0
0
-39
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-6
-19
30
74
41
18
16
19
41
-4
28
94
-2
72
62
-23
56
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
144
-44
47
-33
-40
-38
70
31
-19
-40
101
-15
-59
65
-42
146
26
-42
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
44
41
25
-74
-40
-46
49
-70
-21
-24
41
2
21
7
23
-21
87
54
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
66
-45
8
8
123
-126
17
-33
39
0
-29
-13
-18
5
0
35
12
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
37
-10
20
60
25
-13
25
-24
41
34
6
34
1
7
22
61
29
78
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
115
-33
-23
-10
46
-137
-58
2
-16
-10
-81
28
12
19
76
68
-141
-33
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
-13
-4
-19
10
24
3
-50
53
8
-11
-40
-16
11
-52
25
45
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-25
28
37
-2
88
37
-35
14
0
-89
-87
28
-4
0
37
-109
76
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-11
24
61
54
2
26
-8
32
41
35
16
13
-17
-42
-30
15
-15
28
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-35
69
-33
36
-82
14
37
45
-42
-56
1
11
-20
46
104
-48
-20
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
54
20
-12
-11
57
-76
-12
-62
19
-6
-16
-13
-22
20
-44
-63
0
-25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
-34
-19
48
2
62
-14
-54
-49
2
-6
-31
15
-9
46
10
-23
-22
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
39
25
109
10
44
-6
-4
51
28
-52
29
-108
108
38
-71
102
-45
14
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
19
-14
69
-16
60
132
-60
31
-45
0
81
-6
-13
13
-2
-54
-18
-70
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
22
23
-13
-3
-16
20
-21
47
1
-10
79
1
-3
15
12
-60
-40
-33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-54
50
-18
-13
0
-3
90
48
71
0
-10
13
20
6
0
2
-6
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-36
35
-35
76
-16
52
14
35
20
-46
-117
-14
41
35
-97
15
-1
-55
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
97
-24
87
30
-24
-13
-33
2
-15
11
-54
-20
72
0
35
-4
-52
-65
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
108
-73
28
68
18
1
57
-119
26
-17
-96
62
0
-2
-1
-102
92
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
62
-22
52
-13
21
6
-24
14
31
0
-8
-4
0
2
0
6
33
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
6
40
10
-45
-28
-25
-9
116
-48
127
-101
2
75
29
-17
-97
-64
134
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
85
-7
3
31
15
-17
23
18
18
-3
29
-31
-21
4
-9
-3
28
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-17
60
22
8
31
-32
-20
39
22
-15
54
-49
-20
0
-1
-1
37
-28
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
109
-3
-2
7
-46
16
-5
0
6
-15
-5
2
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
59
55
76
-38
-43
-21
6
57
43
73
-1
-40
35
41
14
-29
46
-48
-28
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-49
36
17
34
20
-29
66
-25
73
9
-40
-13
52
0
67
-56
110
36
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
43
54
13
-29
-46
13
40
21
16
-41
25
35
-45
-6
23
31
-151
-35
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-49
45
-25
-9
4
-92
-25
121
2
0
-15
2
-48
8
2
-52
-29
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
3
7
88
79
121
-65
-23
5
-47
-54
94
120
-16
53
21
-13
-54
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-48
14
131
25
-20
-24
-11
77
16
32
-44
59
33
42
-21
-36
101
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
46
39
-4
18
-59
82
7
23
28
-9
73
35
58
-9
0
5
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
28
29
2
-21
0
-96
3
62
17
8
7
46
-23
-11
0
3
-27
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
48
41
98
41
-35
111
-48
31
34
86
24
-22
-32
16
-39
19
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-61
88
62
29
14
-40
-29
48
-42
17
-6
1
-40
39
-45
72
11
-101
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
88
-59
-14
6
-85
82
18
-9
-1
-10
12
13
-9
0
41
18
-48
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-88
45
-70
2
44
-43
35
-28
38
0
25
-18
0
0
-3
-31
-2
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
48
40
-2
106
-52
7
63
52
-54
26
-1
-35
-43
-1
55
3
-19
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
4
19
4
-8
111
-69
49
-53
22
-13
-69
61
-78
-1
-12
-17
-20
-34
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
43
71
-15
60
-22
16
-27
80
47
126
-113
2
6
10
77
22
-63
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
50
-16
83
-10
-5
-18
-31
-30
-2
0
67
21
-7
-13
-5
-11
-21
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
50
-53
59
-62
38
40
46
75
-30
82
3
-48
41
-56
59
-33
-36
7
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-1
-37
18
1
24
2
7
38
-34
5
0
-7
96
-23
-131
-14
-58
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
13
-26
9
-29
-34
13
4
-36
6
-66
76
-49
6
-20
108
51
-179
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
66
-21
-10
-9
-18
-2
15
23
3
22
-90
54
7
1
60
-56
15
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
24
58
6
-107
23
65
0
-31
91
56
-9
-44
29
-17
32
12
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
35
71
13
77
46
-62
18
-4
21
-3
-17
4
-34
-16
7
6
-23
28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
123
8
-43
-6
-28
-14
44
-16
-9
3
-64
1
-5
-6
-1
-3
25
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
66
74
-16
-5
0
-9
36
-18
3
0
4
5
26
-4
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
-5
0
42
-5
43
33
-40
32
-16
42
-45
134
-70
68
-95
-81
23
30
66
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
-33
-25
-12
-39
-1
32
-12
63
-22
9
28
-50
-39
2
-19
-17
-13
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
11
-91
32
-77
-12
23
-75
37
-3
17
3
8
-7
26
-16
87
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
33
7
8
-43
-2
-4
-61
7
0
-4
-15
-7
0
-2
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
7
43
-43
4
36
-9
42
-13
-33
2
32
10
-25
-11
48
24
-17
47
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-36
14
5
3
36
12
26
-4
-18
54
24
17
-33
1
-198
2
16
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
79
29
-51
-116
76
-33
-67
101
-4
42
14
23
-21
15
3
-23
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
67
-75
0
0
3
25
-3
31
4
-4
-52
15
-13
-2
-1
7
-12
41
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
9
6
-25
-122
23
39
40
-24
70
-31
-52
85
-115
58
-42
-11
19
-49
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-32
41
94
-24
-3
-28
56
14
-8
85
44
-24
-15
-26
-54
105
-42
9
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
25
45
-27
-57
15
-27
91
10
-23
6
-39
-1
-29
48
-49
19
-65
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
62
68
-54
10
21
-50
-34
-9
7
-21
62
-9
1
3
55
-45
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-12
1
55
99
46
3
51
112
-81
-7
50
62
6
-104
-59
25
1
86
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-75
52
-70
-8
80
28
-2
-14
-27
49
5
30
28
-3
-7
-132
83
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
11
25
21
1
1
5
1
9
19
17
12
-41
17
-37
-8
-24
36
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
11
-62
52
0
52
3
63
-29
-108
8
47
49
-2
-61
-4
94
3
105
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
46
54
-12
19
10
-1
12
42
-27
-75
28
5
25
-32
41
-19
-59
21
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-30
-41
40
129
113
-23
-134
-31
-33
-12
-104
-23
-10
-17
117
15
-32
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
1
15
62
-4
5
3
2
44
-3
-15
-7
15
-4
-28
-5
-33
-12
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
62
-39
18
-119
23
0
40
16
31
0
41
-43
57
-3
-21
63
36
-157
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-5
-24
87
-37
20
92
-32
-8
1
-55
14
154
12
-44
90
50
-24
7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-16
12
53
-6
44
-45
62
0
-45
-8
57
-15
-73
-13
-11
-14
29
45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
8
-6
15
-67
-17
8
12
-24
-72
-6
21
-17
50
10
-3
-22
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-20
-13
119
17
-5
-48
-126
-18
-29
-120
29
64
23
41
-79
-29
-72
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
65
-36
15
24
7
42
-66
48
25
-76
-100
28
13
-5
-1
0
32
31
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-3
25
4
-16
-6
36
-85
-28
5
1
-60
9
32
0
-61
16
-63
-84
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-7
0
13
21
-20
10
-19
-31
13
-48
16
-31
-19
-33
-2
-43
-82
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
-41
43
31
-42
7
-33
-49
-7
31
19
-70
-6
11
57
-65
79
-41
-126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
9
-4
-34
51
-34
-100
57
17
6
45
15
-3
-57
-34
53
-9
-23
122
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
79
55
-78
-45
19
34
-57
-92
-45
-12
-6
82
-9
2
-14
-21
49
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
3
12
48
-20
-8
47
33
19
50
24
25
14
-12
-107
-56
-3
-60
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-15
49
75
-77
38
51
-38
-72
-2
4
-13
-32
-111
35
0
-77
-8
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
47
77
-51
114
-26
41
-133
40
-1
186
20
-60
-42
-20
31
-58
-30
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
33
-44
-46
45
-106
87
-47
9
-1
-21
1
6
3
1
9
-15
-45
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-15
23
-13
-4
-22
-49
-42
8
-12
-8
-29
-47
22
-18
-100
-81
-11
-2
173
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
57
-51
-68
-64
129
54
23
-55
-86
-1
-32
-22
28
-92
15
8
6
-77
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
4
3
-39
-27
0
-78
23
27
9
-20
26
38
-32
-29
-1
-14
-19
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
20
123
-70
33
-83
-44
46
-24
0
-42
23
-17
18
3
-9
-26
-33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
8
63
0
16
17
54
27
-33
-58
-29
-36
53
7
-59
-49
-55
-49
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
39
1
-16
-100
-11
30
-4
-35
-78
58
-57
7
13
32
22
-33
74
-36
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
22
18
60
-8
-24
-12
-44
123
92
-56
-48
-57
102
-14
91
72
-40
-116
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
90
11
-51
1
34
-67
41
25
-99
-5
21
-49
-36
-27
-47
-101
13
18
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
1
9
-13
-37
-45
-14
-2
24
-9
-11
-22
-1
25
18
-138
-37
-22
-27
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
29
-11
-42
14
-10
58
-6
-59
-137
-17
77
-93
-74
34
-8
-51
7
-32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-14
27
69
52
42
43
-9
-14
-107
13
84
-102
4
-2
-45
93
-22
66
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-12
-19
8
69
24
99
4
-76
67
-69
30
-35
98
-1
64
-14
24
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
30
12
-21
-58
46
6
-16
-4
-1
-9
-2
11
-85
-54
-3
-1
79
-20
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
18
9
41
-14
-68
-8
36
61
-28
38
-13
49
-14
-45
-62
-3
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-35
136
86
5
15
62
-29
-28
-30
38
91
-86
10
-11
-28
4
29
9
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
149
-33
-91
19
47
44
-28
-1
-22
9
19
-17
24
3
46
-87
-40
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
45
-6
18
32
-80
-21
23
-28
13
106
-21
-45
-10
-22
-60
24
-62
-5
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-20
20
6
76
61
-28
8
50
23
-2
4
18
-20
-64
-94
-45
39
8
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-19
60
-47
-35
-44
28
90
-13
71
-111
-23
67
32
37
79
-76
8
-17
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
50
-11
32
6
67
72
-17
-7
7
26
53
-8
-32
-27
24
-48
16
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
0
-43
-16
-8
6
-5
-109
-17
33
-26
33
10
-57
-59
-68
-15
34
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
20
8
-14
-44
-1
72
2
33
26
-42
9
49
41
35
-50
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
100
-68
-7
6
-35
35
23
29
6
11
-76
-38
-4
28
24
19
-27
-97
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
39
35
127
-26
-62
0
58
16
27
-31
-26
-33
1
0
-71
-102
37
102
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
8
34
3
8
-88
-12
12
97
-7
-29
-74
3
78
35
-3
-158
6
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
18
-31
25
-14
-73
7
13
7
-59
17
-1
-9
65
11
-3
6
-17
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
69
12
29
98
50
25
5
-55
-14
20
42
-39
32
46
-129
-87
46
67
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-41
-20
50
61
-100
35
26
47
-27
23
-41
1
-82
-7
91
-50
54
101
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-19
-8
8
4
10
-10
29
3
-26
-26
-59
3
-19
-103
-56
-3
-94
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
35
2
12
8
-22
31
14
-111
132
13
7
7
102
54
-87
-25
13
-96
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
32
52
-28
10
31
7
61
15
-64
-12
-92
38
-37
26
-30
27
-78
-40
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
73
19
47
-74
51
-25
-23
50
121
8
-26
16
-19
-3
28
17
-76
-19
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-29
-27
45
60
5
-11
40
-35
-140
88
29
-22
-25
16
-11
-39
6
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-21
13
8
43
-37
-25
10
60
71
-24
109
-15
-8
-50
-152
-75
63
37
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
60
5
51
5
-96
7
64
27
-41
84
47
-38
-6
-29
-41
9
83
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
31
14
-15
7
-35
0
-68
41
14
11
-36
6
29
4
34
-13
-17
-80
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
24
-11
-30
-15
27
7
-40
-2
-18
26
-42
-75
85
-25
-60
-113
30
55
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
26
3
-28
-32
-28
-8
-3
3
13
-74
12
12
-27
-68
-50
-56
-90
17
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
56
37
-32
-13
-37
2
11
-11
59
98
44
-130
-11
44
-80
35
42
-28
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-108
154
64
-62
-69
-45
71
-74
147
36
-14
-31
42
16
-5
8
5
-36
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-12
-12
-2
-4
-94
-2
-29
-23
-33
-56
-15
25
33
6
94
-30
-26
41
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-24
19
-39
-9
-56
-27
-7
38
15
-35
34
-17
-30
-30
6
-14
-41
25
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
10
0
0
13
39
12
0
0
19
28
23
0
0
7
20
33
0
0
33
-13
12
0
0
6
-20
31
0
0
24
21
-2
0
0
1
-26
-17
0
0
-3
-27
-3
0
0
-8
24
-2
0
0
32
-40
-6
0
0
-1
22
11
0
0
-3
-12
-1
0
0
1
-10
-8
0
0
14
-19
-31
0
0
26
7
-39
0
0
-4
22
9
0
0
1
3
-16
0
0
0
0
-7
0
0
11
-13
2
0
0
18
9
-29
0
0
7
2
4
0
0
-1
-6
1
0
0
-6
14
22
0
0
-1
19
1
0
0
-3
-17
11
0
0
0
-16
18
0
0
-26
62
2
0
0
14
16
9
0
0
1
-3
8
0
0
11
-16
16
11
0
-71
40
12
0
0
34
-1
11
0
0
3
-49
-4
0
0
-4
-35
1
0
0
9
-17
59
0
0
26
-5
23
0
0
-15
18
24
0
0
-12
-27
-3
0
0
-32
43
39
0
0
31
-8
-14
0
0
1
41
-11
0
0
-18
10
-4
0
0
-47
20
-24
0
0
-3
6
4
0
0
-12
-4
-11
0
0
-4
18
-1
0
0
-11
26
-14
0
0
-1
-16
-9
0
0
15
-24
-8
0
0
0
3
0
0
0
-5
3
3
0
0
-9
-8
-6
0
0
-24
-19
5
0
0
0
1
-8
0
0
3
16
5
0
0
1
-5
4
0
0
-2
16
17
0
0
0
-15
6
0
0
18
2
-14
0
0
5
-39
18
0
0
5
-13
-13
0
0
34
-27
-15
6
19
-6
78
-2
0
0
79
-50
4
0
0
15
-57
-2
0
0
-20
-30
76
0
0
-38
42
-15
0
0
-8
1
-2
0
0
43
55
36
0
0
-15
10
-4
0
0
-6
-27
-1
0
0
27
-30
-10
0
0
-17
-8
1
0
0
12
38
9
0
0
-15
48
8
0
0
-6
-33
1
0
0
-3
17
-6
0
0
2
-7
-7
0
0
30
-3
-1
0
0
3
-24
40
0
0
0
2
7
0
0
2
-13
-13
0
0
5
-1
4
0
0
13
15
-4
0
0
-6
1
-6
0
0
1
-23
0
0
0
-13
-5
-4
0
0
0
-41
4
0
0
-1
-21
-13
0
0
-4
4
-12
0
0
5
3
-24
0
0
-3
27
0
0
0
-2
11
26
0
0
-21
23
-27
-29
-27
33
-1
18
0
0
43
6
1
0
0
-13
87
-4
0
0
-3
-18
-52
0
0
10
27
17
0
0
35
1
5
0
0
38
-10
15
0
0
9
14
9
0
0
-13
37
2
0
0
36
14
-3
0
0
-13
41
7
0
0
-4
4
13
0
0
-38
-49
-3
0
0
0
2
-3
0
0
0
12
-11
0
0
3
-41
-1
0
0
-30
51
19
0
0
4
-5
-4
0
0
-8
-3
-1
0
0
1
3
6
0
0
70
-7
19
0
0
-16
-10
23
0
0
-1
-18
9
0
0
0
8
-2
0
0
-13
58
-2
0
0
1
32
-6
0
0
0
-21
-6
0
0
0
4
-2
0
0
5
24
-11
0
0
-4
-9
0
0
0
8
-15
-12
0
0
1
17
0
-22
-12
51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
-4
0
0
36
31
22
0
0
22
-18
-1
0
0
-80
-29
-18
0
0
-20
-15
3
0
0
-39
8
-16
0
0
12
-14
-1
0
0
64
6
-9
0
0
2
-62
38
0
0
4
20
41
0
0
38
18
14
0
0
63
1
49
0
0
-21
34
-7
0
0
23
6
-16
0
0
-20
-14
7
0
0
8
33
-38
0
0
-5
39
-4
0
0
19
-9
4
0
0
5
-9
-1
0
0
2
4
1
0
0
3
-51
2
0
0
-3
17
13
0
0
6
-3
0
0
0
-22
-58
-13
0
0
-1
16
-13
0
0
-2
13
-1
0
0
0
19
-8
0
0
-3
-23
0
0
0
-6
7
18
0
0
-2
-1
-55
0
0
-31
-2
5
24
11
-12
-16
-18
0
0
7
-19
27
0
0
60
43
-15
0
0
28
15
-15
0
0
36
19
-11
0
0
-44
-16
-2
0
0
-9
76
7
0
0
0
-2
0
0
0
25
-7
3
0
0
-44
34
-14
0
0
59
-69
13
0
0
11
-17
-2
0
0
-21
-44
-1
0
0
-3
5
-1
0
0
-5
-23
-3
0
0
-5
1
-1
0
0
7
-14
1
0
0
-25
-20
-8
0
0
-24
-28
6
0
0
1
-11
-4
0
0
-1
-16
0
0
0
-2
4
1
0
0
22
-2
-10
0
0
0
11
5
0
0
17
70
-35
0
0
2
-13
-2
0
0
0
9
2
0
0
0
-5
0
0
0
-8
-12
-2
0
0
3
-1
-6
0
0
-18
-7
-20
0
0
-9
5
-1
3
48
-28
15
-19
0
0
-12
65
7
0
0
1
1
-7
0
0
-6
3
4
0
0
21
-2
11
0
0
4
-13
0
0
0
0
6
1
0
0
-13
-10
-3
0
0
16
-34
-2
0
0
14
-20
10
0
0
22
-42
-5
0
0
-21
31
-22
0
0
-27
29
18
0
0
7
7
-2
0
0
0
-3
0
0
0
-13
26
1
0
0
-13
23
11
0
0
5
22
-2
0
0
1
5
1
0
0
5
5
1
0
0
2
-3
0
0
0
-3
1
-2
0
0
0
0
0
0
0
0
1
0
0
0
10
-12
-7
0
0
0
-16
-3
0
0
0
1
2
0
0
0
-1
7
0
0
1
13
4
0
0
-6
0
0
0
0
0
8
2
0
0
9
-6
-5
18
-35
5
-33
-21
0
0
-16
31
-9
0
0
25
-12
-12
0
0
5
-3
-5
0
0
-48
-4
10
0
0
1
6
0
0
0
-11
-32
-2
0
0
-3
2
3
0
0
15
-4
0
0
0
-10
2
-4
0
0
-66
27
29
0
0
-44
6
-6
0
0
-17
-22
20
0
0
1
-4
-3
0
0
-2
-1
14
0
0
-1
1
0
0
0
31
-44
0
0
0
-2
-2
1
0
0
12
-9
0
0
0
-2
20
-4
0
0
14
34
5
0
0
0
1
-1
0
0
0
2
0
0
0
0
0
0
0
0
8
-9
7
0
0
-2
-20
-5
0
0
0
3
0
0
0
0
-2
0
0
0
5
-1
9
0
0
-2
-22
-1
0
0
-4
-4
-2
0
0
-1
-5
0
22
-17
44
-52
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
27
22
-1
0
0
-35
14
43
0
0
9
24
5
0
0
-7
7
15
0
0
22
-19
-13
0
0
0
17
-13
0
0
29
-4
6
0
0
20
-1
-22
0
0
2
2
3
0
0
5
10
0
0
0
3
-7
-1
0
0
4
-27
-1
0
0
-1
-4
2
0
0
-4
20
-4
0
0
-74
11
9
0
0
-1
8
29
0
0
-46
109
-65
0
0
112
-58
-10
0
0
-3
33
-13
0
0
55
2
11
0
0
16
17
12
0
0
-29
7
1
0
0
-21
-17
-28
0
0
5
-10
5
0
0
12
-16
-18
0
0
39
-31
38
0
0
40
-39
30
0
0
-9
27
29
0
0
-18
9
9
0
0
-16
71
35
33
9
-39
-60
-72
0
0
-40
19
-1
0
0
5
-49
6
0
0
-60
11
-5
0
0
10
5
9
0
0
-13
-9
20
0
0
51
-31
-28
0
0
7
0
3
0
0
16
18
-4
0
0
17
32
-1
0
0
5
-26
1
0
0
0
-90
35
0
0
28
10
-13
0
0
-9
-18
-4
0
0
0
-21
1
0
0
-5
-4
0
0
0
40
12
0
0
0
-7
95
-10
0
0
26
2
-17
0
0
-72
-22
50
0
0
-1
-64
-67
0
0
-12
-47
-105
0
0
-19
-61
53
0
0
11
-16
-31
0
0
12
0
-23
0
0
-7
44
-10
0
0
13
24
15
0
0
8
40
10
0
0
0
2
-34
0
0
-14
-15
29
0
0
-21
23
-14
0
0
-15
-20
15
-28
18
43
-40
8
0
0
4
-3
5
0
0
-13
11
11
0
0
23
-32
1
0
0
-1
31
-6
0
0
4
-47
0
0
0
4
0
0
0
0
-3
3
2
0
0
4
-18
9
0
0
-7
11
0
0
0
-6
2
0
0
0
-7
9
5
0
0
-5
0
0
0
0
3
-3
1
0
0
0
0
0
0
0
-12
10
13
0
0
49
1
-5
0
0
-66
30
-44
0
0
0
-32
-1
0
0
-10
5
4
0
0
-63
27
-28
0
0
64
-65
30
0
0
-81
21
-29
0
0
20
-46
23
0
0
-65
-37
18
0
0
-36
-6
-24
0
0
27
1
-18
0
0
78
14
-61
0
0
21
5
-31
0
0
4
5
40
0
0
26
-65
-24
0
0
-9
36
24
-42
-7
48
3
17
0
0
1
-4
-9
0
0
-2
10
0
0
0
4
12
9
0
0
-42
3
14
0
0
-8
4
0
0
0
-18
-6
-8
0
0
3
2
1
0
0
0
-10
4
0
0
1
-5
0
0
0
3
2
-1
0
0
-5
3
0
0
0
-1
-17
15
0
0
0
5
-4
0
0
-2
3
0
0
0
0
-4
-1
0
0
6
19
1
0
0
30
41
12
0
0
7
-1
31
0
0
-66
-19
-22
0
0
-26
-60
18
0
0
-123
12
2
0
0
-12
7
37
0
0
4
-6
-28
0
0
79
-1
3
0
0
2
-33
-27
0
0
-44
-25
16
0
0
11
7
26
0
0
34
-44
10
0
0
-10
27
-17
0
0
0
-14
-25
0
0
5
-23
-23
-20
8
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
11
-39
8
0
0
26
33
-3
0
0
-5
-9
14
0
0
-60
0
2
0
0
11
13
-6
0
0
-4
-18
0
0
0
-13
-12
-38
0
0
22
25
2
0
0
26
4
2
0
0
6
-27
-4
0
0
-13
6
-3
0
0
-3
-49
0
0
0
0
0
-1
0
0
0
6
-1
0
0
-29
-7
-3
0
0
42
-54
-15
0
0
7
23
1
0
0
1
21
-27
0
0
-17
-24
8
0
0
-22
29
13
0
0
5
-26
-11
0
0
-25
0
12
0
0
84
-37
-15
0
0
13
52
-27
0
0
-119
47
6
0
0
4
-10
-20
0
0
42
-42
4
0
0
-3
45
-18
0
0
21
-46
2
0
0
-31
-62
18
16
26
-37
23
88
0
0
31
18
-4
0
0
-4
-9
5
0
0
-29
17
-13
0
0
-14
-10
7
0
0
-24
18
1
0
0
34
-14
2
0
0
0
11
0
0
0
-26
15
0
0
0
7
33
3
0
0
-35
14
3
0
0
0
29
16
0
0
10
16
1
0
0
1
8
0
0
0
8
4
0
0
0
1
-3
-1
0
0
2
27
-4
0
0
-3
18
-18
0
0
-105
-62
-14
0
0
0
25
-15
0
0
-24
31
9
0
0
-25
35
0
0
0
-2
-26
-13
0
0
-3
-8
6
0
0
-13
-4
-10
0
0
14
59
75
0
0
46
9
-2
0
0
31
-26
-52
0
0
1
-39
42
0
0
-3
-56
-81
0
0
49
-26
30
0
0
3
-11
-17
12
-29
-134
93
65
0
0
8
15
9
0
0
-22
5
-1
0
0
9
6
-4
0
0
9
12
3
0
0
11
6
-2
0
0
-2
-1
0
0
0
1
-10
-5
0
0
26
11
2
0
0
0
6
0
0
0
0
2
0
0
0
-1
-24
8
0
0
-1
3
0
0
0
0
-5
0
0
0
0
2
0
0
0
3
1
0
0
0
24
-9
-2
0
0
-3
-10
-11
0
0
47
0
4
0
0
-16
5
-13
0
0
-58
-39
-5
0
0
20
11
-3
0
0
-2
0
-6
0
0
5
-10
17
0
0
10
-43
-18
0
0
-77
39
58
0
0
-30
-36
-22
0
0
62
-14
49
0
0
-6
62
-12
0
0
84
-23
-6
0
0
-13
57
-17
0
0
-24
-31
14
-51
20
-82
-27
-30
0
0
12
12
2
0
0
-73
3
5
0
0
28
12
-2
0
0
-22
5
4
0
0
4
-2
-3
0
0
1
8
-3
0
0
-8
-1
0
0
0
-67
28
-6
0
0
-1
-4
1
0
0
-4
-1
0
0
0
1
17
1
0
0
-8
11
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
2
0
0
-24
-60
-9
0
0
-23
39
-4
0
0
17
29
-7
0
0
35
-8
-14
0
0
12
-11
-13
0
0
0
1
-4
0
0
1
-5
0
0
0
-8
3
-2
0
0
-40
27
-26
0
0
-25
-11
71
0
0
78
-56
0
0
0
50
13
-147
0
0
18
4
-12
0
0
-45
38
61
0
0
-32
-27
-8
0
0
21
6
56
-13
-12
70
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
20
-19
0
0
10
47
-38
0
0
63
-23
10
0
0
-27
44
5
0
0
26
20
9
0
0
16
26
7
0
0
10
12
-5
0
0
63
3
-8
0
0
34
-10
1
0
0
29
7
-19
0
0
-5
7
6
0
0
-3
-13
-22
0
0
2
10
-1
0
0
1
-1
-13
0
0
-3
-19
-8
0
0
12
1
13
0
0
9
10
48
0
0
-3
-6
-3
0
0
13
10
10
0
0
-82
-2
0
0
0
-10
13
2
0
0
-1
-3
-1
0
0
-3
-5
5
0
0
8
-39
13
0
0
16
27
-12
0
0
-1
-19
-4
0
0
1
-7
-21
0
0
14
40
0
0
0
10
-33
-3
0
0
2
53
13
0
0
-16
-20
34
66
-32
42
2
35
0
0
-8
20
4
0
0
13
4
11
0
0
76
-18
-9
0
0
-7
26
-6
0
0
-14
-42
-6
0
0
6
-1
16
0
0
1
6
-1
0
0
-24
9
5
0
0
-11
-6
1
0
0
-17
4
-9
0
0
34
9
12
0
0
-48
-4
24
0
0
-3
5
-5
0
0
0
41
-6
0
0
-4
12
3
0
0
6
2
42
0
0
5
-17
-6
0
0
38
-5
2
0
0
1
5
0
0
0
5
-6
-1
0
0
-8
-40
-4
0
0
-1
-6
-1
0
0
0
-13
-2
0
0
-56
20
-2
0
0
1
-17
-12
0
0
12
21
-4
0
0
-1
-22
2
0
0
19
-11
8
0
0
3
-7
-2
0
0
49
11
-11
0
0
-6
9
12
57
23
-11
82
7
0
0
-13
-18
-32
0
0
39
-17
-4
0
0
6
3
-22
0
0
50
-22
56
0
0
-3
12
-13
0
0
-25
-10
-7
0
0
4
7
0
0
0
-17
18
-2
0
0
4
-6
0
0
0
-2
-9
0
0
0
0
32
1
0
0
6
12
12
0
0
0
3
-2
0
0
0
5
-1
0
0
-7
-11
0
0
0
-47
0
-1
0
0
5
-32
1
0
0
0
8
18
0
0
1
-22
2
0
0
-24
7
2
0
0
-5
17
0
0
0
1
-13
4
0
0
1
1
2
0
0
15
33
15
0
0
-6
-24
1
0
0
-6
0
-5
0
0
0
22
-1
0
0
6
-20
-1
0
0
21
7
0
0
0
-1
-19
-6
0
0
-1
-1
-4
11
-7
-7
18
-12
0
0
1
-40
1
0
0
7
30
-2
0
0
-64
1
-11
0
0
-22
37
1
0
0
-37
16
-2
0
0
15
6
16
0
0
0
-11
11
0
0
9
26
-6
0
0
14
3
0
0
0
-32
-2
-9
0
0
5
49
10
0
0
24
25
-13
0
0
2
-1
0
0
0
-1
0
1
0
0
3
-10
-6
0
0
38
-11
2
0
0
-3
5
-3
0
0
-8
19
4
0
0
1
2
-1
0
0
32
0
0
0
0
6
-27
1
0
0
-2
-3
-1
0
0
0
5
-19
0
0
16
12
0
0
0
-11
25
1
0
0
10
0
0
0
0
3
0
0
0
0
9
65
9
0
0
-8
-16
4
0
0
-1
9
-4
0
0
-2
4
-9
-32
41
9
4
-14
0
0
2
-2
5
0
0
15
0
-49
0
0
-61
-37
-12
0
0
29
15
15
0
0
4
9
2
0
0
0
3
18
0
0
-1
0
0
0
0
-11
-6
7
0
0
10
3
0
0
0
-7
12
0
0
0
2
10
-3
0
0
-22
2
1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
3
3
0
0
10
19
-3
0
0
6
17
0
0
0
-1
-4
0
0
0
-2
1
-8
0
0
0
-7
0
0
0
1
6
1
0
0
0
9
2
0
0
0
-2
1
0
0
6
-13
-3
0
0
0
-1
4
0
0
2
-15
-15
0
0
0
-13
3
0
0
-6
-64
2
0
0
2
13
1
0
0
1
16
0
0
0
-3
6
-4
-8
3
-48
7
7
0
0
44
-13
-7
0
0
-2
-24
15
0
0
-18
39
9
0
0
-77
-28
-2
0
0
10
-6
3
0
0
-11
-7
-1
0
0
0
-1
0
0
0
-8
-3
-1
0
0
6
-13
-4
0
0
-11
-9
4
0
0
-3
-35
-3
0
0
12
15
-1
0
0
-5
2
0
0
0
0
-1
0
0
0
0
1
0
0
0
-12
-11
1
0
0
1
1
9
0
0
6
-8
0
0
0
-1
2
-2
0
0
9
-5
1
0
0
0
6
0
0
0
1
-7
0
0
0
0
0
-2
0
0
-2
5
3
0
0
15
22
-1
0
0
-17
6
3
0
0
5
-5
-4
0
0
0
41
2
0
0
-2
-12
-1
0
0
-8
-3
-2
0
0
-5
8
-7
17
-8
13
7
2
0
0
31
-5
-5
0
0
-9
-2
-22
0
0
13
20
-6
0
0
0
1
-2
0
0
1
-5
0
0
0
-3
0
-1
0
0
0
2
0
0
0
21
-2
1
0
0
-1
-22
0
0
0
-5
-1
0
0
0
0
-6
-3
0
0
-13
0
1
0
0
0
1
1
0
0
0
2
-1
0
0
0
0
0
0
0
7
0
-3
0
0
1
4
0
0
0
6
0
-1
0
0
2
-1
0
0
0
1
-1
0
0
0
2
2
0
0
0
0
0
-1
0
0
0
0
1
0
0
-3
-1
0
0
0
-1
-6
0
0
0
18
0
-2
0
0
0
-2
-1
0
0
3
10
6
0
0
1
4
0
0
0
1
2
1
0
0
2
-6
0
-28
2
44
-41
-4
0
0
0
42
12
0
0
-39
-13
15
0
0
39
-12
26
0
0
63
-9
-2
0
0
-5
-6
6
0
0
9
-6
-2
0
0
0
4
2
0
0
32
-12
-6
0
0
15
9
1
0
0
10
16
-2
0
0
-16
-28
-10
0
0
-34
-16
1
0
0
0
-5
0
0
0
0
0
0
0
0
-6
-5
-8
0
0
-28
0
-1
0
0
-10
-16
0
0
0
-7
0
0
0
0
6
7
0
0
0
3
1
-3
0
0
0
14
-2
0
0
-1
-1
0
0
0
-1
1
1
0
0
-3
16
0
0
0
-6
37
7
0
0
-1
8
5
0
0
0
1
0
0
0
-4
-21
-4
0
0
0
15
0
0
0
2
-2
-6
0
0
-4
-8
3
2
-46
-12
7
-1
0
0
-18
18
-12
0
0
28
10
27
0
0
1
-10
3
0
0
-28
50
27
0
0
10
-1
8
0
0
13
2
0
0
0
0
2
0
0
0
2
4
-16
0
0
11
-8
-1
0
0
43
6
-2
0
0
9
-37
6
0
0
-11
-7
-7
0
0
-7
1
-2
0
0
1
0
1
0
0
-1
2
2
0
0
15
29
-13
0
0
11
-27
2
0
0
11
1
-1
0
0
3
-1
0
0
0
10
6
12
0
0
1
1
9
0
0
2
-2
10
0
0
-2
-2
-1
0
0
32
-43
-6
0
0
1
-14
-29
0
0
3
27
1
0
0
4
5
5
0
0
-2
-13
1
0
0
-22
19
7
0
0
-3
-7
2
0
0
1
9
-5
14
81
-43
6
16
0
0
-10
-19
-11
0
0
5
7
-14
0
0
6
17
-8
0
0
-26
8
-8
0
0
-19
10
5
0
0
-13
-27
0
0
0
2
0
0
0
0
-41
6
-1
0
0
-20
23
-10
0
0
-35
-20
11
0
0
0
15
10
0
0
1
11
23
0
0
1
1
-4
0
0
-1
0
-5
0
0
-3
1
0
0
0
13
17
1
0
0
2
5
4
0
0
1
-14
-3
0
0
2
0
-1
0
0
11
-10
-3
0
0
-1
6
3
0
0
-1
6
-3
0
0
0
4
0
0
0
18
-28
0
0
0
-1
-43
-5
0
0
4
14
-4
0
0
-1
2
-2
0
0
-4
28
0
0
0
3
19
15
0
0
11
18
-5
0
0
-8
-4
0
-6
-20
-31
2
-24
0
0
11
-37
13
0
0
-34
-32
5
0
0
42
43
13
0
0
18
-38
-16
0
0
1
0
10
0
0
1
0
-3
0
0
0
-2
1
0
0
8
23
2
0
0
-15
-10
4
0
0
13
-6
5
0
0
-29
-3
-1
0
0
-2
1
1
0
0
2
3
0
0
0
0
0
6
0
0
0
1
0
0
0
15
-7
4
0
0
-4
2
1
0
0
-2
3
2
0
0
5
1
5
0
0
-6
0
-1
0
0
-3
0
-3
0
0
-5
0
-4
0
0
0
2
3
0
0
11
42
2
0
0
3
11
1
0
0
-2
-1
0
0
0
0
-8
0
0
0
-9
-21
-1
0
0
0
3
4
0
0
0
-8
-4
0
0
2
-5
0
14
-99
16
24
-8
0
0
60
8
0
0
0
68
-23
-9
0
0
-34
-15
-1
0
0
-5
-7
-6
0
0
18
7
-4
0
0
-5
-23
1
0
0
-2
-3
-7
0
0
-26
13
1
0
0
7
26
-5
0
0
18
2
4
0
0
7
10
-1
0
0
41
25
-1
0
0
8
1
0
0
0
-4
-5
1
0
0
-1
-6
4
0
0
-8
-17
1
0
0
18
33
0
0
0
1
10
-2
0
0
0
-9
0
0
0
6
-7
3
0
0
6
13
1
0
0
1
0
-1
0
0
-4
-2
0
0
0
-9
-2
2
0
0
5
-11
1
0
0
-5
7
-1
0
0
-3
-9
-4
0
0
-13
-14
0
0
0
-4
1
4
0
0
-1
-1
0
0
0
-2
-31
2
25
0
28
12
-2
0
0
27
39
7
0
0
5
-20
26
0
0
0
-47
-2
0
0
16
11
-3
0
0
6
-2
0
0
0
-2
-3
0
0
0
-3
-5
1
0
0
26
-16
-2
0
0
-23
22
0
0
0
-1
19
-1
0
0
6
2
1
0
0
2
3
1
0
0
2
0
0
0
0
0
2
0
0
0
0
1
0
0
0
9
4
1
0
0
-8
-10
-3
0
0
2
-22
-5
0
0
2
0
-2
0
0
21
8
1
0
0
-5
6
-3
0
0
1
0
0
0
0
0
12
1
0
0
-20
2
-9
0
0
-2
3
0
0
0
-4
12
6
0
0
0
-5
-1
0
0
0
0
4
0
0
0
-10
-2
0
0
-5
1
0
0
0
18
0
-1
23
-13
-11
9
10
0
0
51
29
7
0
0
0
-37
1
0
0
38
16
-8
0
0
16
8
-14
0
0
-5
-3
-1
0
0
12
7
0
0
0
0
0
0
0
0
-14
-9
0
0
0
-2
10
2
0
0
0
-21
-3
0
0
-2
16
0
0
0
-23
-7
1
0
0
-1
2
0
0
0
-1
3
0
0
0
1
-7
1
0
0
-3
2
1
0
0
0
-6
2
0
0
-7
-6
0
0
0
3
-2
0
0
0
-15
9
2
0
0
0
-7
3
0
0
0
1
1
0
0
-1
1
0
0
0
11
4
-1
0
0
2
13
-1
0
0
-3
8
0
0
0
-8
3
1
0
0
2
-13
1
0
0
-1
10
0
0
0
3
-23
-2
0
0
1
11
-1
-38
18
-4
-6
4
0
0
43
-1
-3
0
0
8
5
16
0
0
-46
12
0
0
0
-21
-12
26
0
0
-3
11
-1
0
0
14
2
1
0
0
3
0
-2
0
0
-12
-40
1
0
0
6
10
0
0
0
9
3
2
0
0
6
1
-1
0
0
-6
14
5
0
0
0
0
0
0
0
0
1
0
0
0
-1
-6
-1
0
0
30
-11
3
0
0
0
-7
7
0
0
16
-27
4
0
0
-4
9
0
0
0
-16
11
-2
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-22
-12
2
0
0
0
1
0
0
0
-1
9
0
0
0
-1
0
0
0
0
-1
0
5
0
0
-2
-25
0
0
0
3
6
0
0
0
-4
1
0
-58
25
-1
-28
23
0
0
-23
79
26
0
0
-12
6
1
0
0
-40
14
13
0
0
-11
17
11
0
0
-19
-11
3
0
0
8
5
-6
0
0
-3
-4
-4
0
0
17
44
9
0
0
38
30
-7
0
0
58
-23
2
0
0
-11
-9
3
0
0
54
0
-3
0
0
-3
-2
0
0
0
0
0
0
0
0
-1
7
-11
0
0
30
-1
-4
0
0
10
43
-10
0
0
-22
14
-12
0
0
-4
-8
-9
0
0
-22
1
0
0
0
3
-15
-8
0
0
-3
-2
0
0
0
-1
-1
3
0
0
11
-34
-3
0
0
-5
25
-1
0
0
-1
-17
2
0
0
0
-1
2
0
0
3
-47
-3
0
0
28
10
3
0
0
-4
-5
-1
0
0
-30
-1
-3
-13
-30
3
-25
-6
0
0
13
-17
2
0
0
1
-11
-1
0
0
0
-1
21
0
0
-3
15
-16
0
0
-5
-9
-6
0
0
1
0
1
0
0
2
18
0
0
0
24
7
-5
0
0
-11
10
2
0
0
-3
-1
0
0
0
0
-9
4
0
0
3
-12
0
0
0
11
-1
1
0
0
0
6
0
0
0
-9
3
-1
0
0
4
-16
-17
0
0
15
-73
-56
0
0
54
-7
-110
0
0
50
-47
71
0
0
20
24
-38
0
0
-30
69
-12
0
0
-36
-3
-22
0
0
-12
34
31
0
0
76
47
-56
0
0
-19
-36
-2
0
0
7
24
-8
0
0
29
15
46
0
0
24
46
88
0
0
-14
3
17
0
0
-5
10
1
0
0
13
68
99
45
10
35
15
-1
0
0
-11
4
-2
0
0
26
-10
15
0
0
5
2
7
0
0
-52
17
4
0
0
-2
-10
0
0
0
1
7
6
0
0
0
1
0
0
0
-14
2
-1
0
0
6
-22
1
0
0
-12
-3
1
0
0
6
12
8
0
0
-3
-12
1
0
0
-4
-5
-4
0
0
0
24
0
0
0
0
15
4
0
0
-24
21
13
0
0
-34
-10
-31
0
0
87
2
0
0
0
49
-19
-28
0
0
6
66
-41
0
0
-85
-17
26
0
0
-11
-10
38
0
0
3
13
20
0
0
-26
-38
-46
0
0
-90
24
6
0
0
15
-9
-24
0
0
-18
-11
-35
0
0
-2
-53
-11
0
0
-18
27
24
0
0
-51
16
-40
0
0
50
-7
-19
5
18
36
-37
42
0
0
23
-7
3
0
0
35
-6
0
0
0
-9
-16
0
0
0
-26
-16
-9
0
0
-3
-2
0
0
0
-1
-1
0
0
0
0
1
0
0
0
0
-3
2
0
0
2
-3
0
0
0
-9
-1
0
0
0
0
5
-1
0
0
-1
0
0
0
0
2
2
0
0
0
-2
-1
2
0
0
0
11
0
0
0
-58
-6
-22
0
0
-3
96
21
0
0
-21
-17
19
0
0
-60
-22
-41
0
0
-79
4
-5
0
0
12
14
2
0
0
28
-22
-18
0
0
15
-26
-29
0
0
25
-4
-7
0
0
54
2
-22
0
0
12
-9
-2
0
0
13
17
43
0
0
52
5
-3
0
0
-13
-12
-24
0
0
4
-10
-7
0
0
10
-2
9
-55
14
-43
8
-32
0
0
34
16
-2
0
0
6
-16
-5
0
0
12
-2
-6
0
0
19
6
3
0
0
0
2
-1
0
0
2
0
1
0
0
1
0
4
0
0
26
-7
2
0
0
-11
-25
0
0
0
19
0
0
0
0
2
13
-3
0
0
21
10
0
0
0
-1
0
0
0
0
0
-11
0
0
0
0
-4
0
0
0
1
19
-4
0
0
22
-38
1
0
0
-37
-16
53
0
0
-12
-18
-1
0
0
-7
-48
-42
0
0
109
-44
19
0
0
-12
14
37
0
0
20
6
-19
0
0
-92
6
9
0
0
-38
-12
-25
0
0
-2
3
3
0
0
8
14
-16
0
0
-1
-14
12
0
0
5
-1
-10
0
0
-12
-29
0
0
0
-12
61
-8
-17
49
-7
-15
-8
0
0
3
6
2
0
0
2
12
3
0
0
0
-19
-3
0
0
7
10
-5
0
0
3
-1
2
0
0
0
2
0
0
0
0
1
0
0
0
-19
-3
-5
0
0
-11
-21
-3
0
0
1
1
1
0
0
0
-10
-6
0
0
0
-2
3
0
0
1
1
0
0
0
0
-3
0
0
0
0
1
5
0
0
17
16
3
0
0
-27
-28
-12
0
0
12
28
-21
0
0
36
-11
24
0
0
-28
-8
-35
0
0
7
5
10
0
0
-32
8
41
0
0
-1
-42
12
0
0
-28
-100
2
0
0
14
49
6
0
0
18
-26
15
0
0
-27
-46
-6
0
0
-11
43
-15
0
0
1
16
-23
0
0
0
-7
-1
0
0
-18
-21
-11
-13
10
-6
23
9
0
0
53
12
-1
0
0
6
4
0
0
0
7
-7
-3
0
0
-26
17
3
0
0
1
5
0
0
0
0
-3
0
0
0
0
-2
0
0
0
-18
0
0
0
0
4
-19
0
0
0
4
-5
0
0
0
0
3
-4
0
0
-1
19
3
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-5
0
0
0
34
18
4
0
0
-14
56
-14
0
0
19
-22
20
0
0
15
8
32
0
0
-23
-34
8
0
0
20
23
0
0
0
6
6
12
0
0
-1
51
-8
0
0
-5
-16
10
0
0
-17
-9
-19
0
0
-18
2
10
0
0
16
-14
16
0
0
17
10
9
0
0
-3
6
10
0
0
3
0
-7
0
0
-10
-3
-1
-14
-24
-25
0
-25
0
0
11
50
3
0
0
26
10
-8
0
0
0
15
0
0
0
21
-37
3
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
-7
1
0
0
0
12
0
0
0
-2
-1
0
0
0
0
4
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-17
-8
3
0
0
-24
24
49
0
0
-87
26
-13
0
0
30
15
-4
0
0
-4
-41
23
0
0
-15
-41
-18
0
0
11
-64
3
0
0
-4
-26
4
0
0
0
22
6
0
0
23
-13
-24
0
0
-6
5
-1
0
0
31
-19
0
0
0
-9
-48
-23
0
0
2
11
10
0
0
-3
-39
-10
0
0
4
-13
-10
8
6
2
-28
-6
0
0
2
10
14
0
0
-11
-28
-3
0
0
7
7
2
0
0
12
1
1
0
0
0
4
1
0
0
0
-3
0
0
0
0
-4
0
0
0
28
2
1
0
0
-2
5
0
0
0
2
-3
0
0
0
0
-2
2
0
0
-29
20
3
0
0
0
2
0
0
0
3
0
0
0
0
-3
2
0
0
0
2
-16
4
0
0
-5
19
-35
0
0
-35
-16
-2
0
0
-37
-13
22
0
0
-40
47
-29
0
0
15
-2
4
0
0
-14
-33
-26
0
0
-14
13
1
0
0
0
3
-14
0
0
-21
-15
22
0
0
-32
9
2
0
0
10
-2
13
0
0
7
-35
-31
0
0
-6
-20
2
0
0
-3
17
16
0
0
1
41
-18
30
-46
-2
32
9
0
0
-32
103
1
0
0
59
6
3
0
0
26
37
33
0
0
22
42
2
0
0
-40
-58
-2
0
0
-9
16
-1
0
0
-2
-2
-3
0
0
39
1
-3
0
0
13
-7
-6
0
0
4
3
-8
0
0
-5
-2
-3
0
0
4
-1
12
0
0
6
-13
-1
0
0
-3
-14
-1
0
0
19
3
7
0
0
-28
34
0
0
0
29
-23
1
0
0
-32
28
10
0
0
-10
1
-13
0
0
-13
-13
52
0
0
-14
-38
-10
0
0
8
26
-11
0
0
-31
-10
33
0
0
31
1
21
0
0
44
11
12
0
0
35
48
-42
0
0
-4
52
-11
0
0
-85
62
20
0
0
-9
-17
5
0
0
50
-18
28
0
0
-11
-18
22
24
-25
-31
97
90
0
0
10
-43
17
0
0
-14
-11
-13
0
0
-43
-5
-4
0
0
-17
19
2
0
0
-54
-7
-2
0
0
3
3
1
0
0
2
-12
0
0
0
-47
23
0
0
0
10
-1
-6
0
0
12
-13
1
0
0
13
3
-3
0
0
17
-12
-15
0
0
0
6
1
0
0
0
2
2
0
0
4
-1
-1
0
0
27
25
1
0
0
42
-33
-9
0
0
-28
-65
23
0
0
43
-26
-22
0
0
-27
-14
6
0
0
-9
-4
13
0
0
-7
17
0
0
0
1
-14
-14
0
0
31
52
-29
0
0
10
31
-7
0
0
-36
-98
47
0
0
84
20
25
0
0
140
-13
-17
0
0
-1
16
2
0
0
1
-25
-32
0
0
42
-6
34
77
66
-27
7
-5
0
0
9
14
0
0
0
0
51
3
0
0
9
15
3
0
0
5
23
3
0
0
63
-14
0
0
0
11
6
-7
0
0
0
-1
0
0
0
22
-22
0
0
0
4
5
0
0
0
3
2
0
0
0
-3
-3
3
0
0
-8
3
1
0
0
0
0
-1
0
0
-3
-1
0
0
0
-1
-1
1
0
0
1
-9
-5
0
0
-35
-13
16
0
0
-77
22
-1
0
0
41
6
6
0
0
25
15
-11
0
0
-41
24
-6
0
0
-11
-29
-4
0
0
2
4
-7
0
0
33
4
-37
0
0
-17
0
28
0
0
29
-72
65
0
0
21
27
-36
0
0
63
110
-54
0
0
-6
-25
10
0
0
-3
5
18
0
0
-1
-26
-11
-23
24
-66
-41
38
0
0
47
-9
2
0
0
-1
31
2
0
0
-11
6
-7
0
0
-81
-19
4
0
0
-2
13
1
0
0
1
-2
1
0
0
-1
0
0
0
0
0
4
0
0
0
-6
-8
0
0
0
-7
0
1
0
0
-3
3
1
0
0
2
-44
-3
0
0
-1
-4
1
0
0
0
0
0
0
0
-2
2
0
0
0
-6
-6
0
0
0
110
-8
-34
0
0
9
13
-5
0
0
-41
-7
-8
0
0
2
15
-6
0
0
-12
-3
1
0
0
12
-3
0
0
0
1
-23
1
0
0
-24
-37
-7
0
0
-27
78
124
0
0
-26
-33
-64
0
0
50
95
-2
0
0
4
-64
62
0
0
-3
-63
-14
0
0
13
-25
-37
0
0
-60
18
60
-31
-42
5
-12
2
0
0
4
52
50
0
0
-37
28
21
0
0
27
22
-11
0
0
13
-42
8
0
0
-35
6
2
0
0
0
29
-26
0
0
0
-2
0
0
0
-2
-17
0
0
0
-32
-1
7
0
0
18
2
6
0
0
-5
-8
3
0
0
-7
-1
-2
0
0
-3
-12
-2
0
0
-1
3
2
0
0
-2
7
1
0
0
-11
8
-28
0
0
-27
90
-20
0
0
50
7
-9
0
0
-45
8
4
0
0
31
-5
22
0
0
6
-54
-5
0
0
13
7
-19
0
0
13
18
32
0
0
20
-4
13
0
0
24
-64
34
0
0
-22
24
22
0
0
66
-18
-80
0
0
-48
-59
-28
0
0
14
-39
29
0
0
-4
12
12
0
0
-27
43
18
-6
-19
-30
-60
-25
0
0
-12
34
13
0
0
36
26
31
0
0
37
-26
4
0
0
44
-17
-6
0
0
29
-8
0
0
0
13
-8
-8
0
0
-1
0
0
0
0
-3
-15
1
0
0
-6
15
-6
0
0
-34
25
-10
0
0
4
9
5
0
0
-5
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
4
0
0
0
0
-1
2
0
0
-85
17
30
0
0
-5
-48
-18
0
0
-41
-12
2
0
0
-11
9
-7
0
0
37
6
-32
0
0
2
-24
-3
0
0
1
-19
-5
0
0
-17
-4
0
0
0
-7
54
-25
0
0
86
4
-22
0
0
5
-23
3
0
0
-26
21
-47
0
0
-11
-4
-14
0
0
36
-46
-21
0
0
3
-3
9
-11
1
-24
5
16
0
0
-24
-46
-3
0
0
-36
50
-10
0
0
-12
-25
3
0
0
4
20
-4
0
0
-2
17
0
0
0
5
0
3
0
0
3
5
-1
0
0
-13
9
6
0
0
26
-22
-3
0
0
-19
28
5
0
0
0
1
2
0
0
-6
-7
0
0
0
0
-6
1
0
0
-1
1
0
0
0
-3
-1
3
0
0
23
-8
1
0
0
1
68
57
0
0
-14
54
-12
0
0
13
24
-25
0
0
67
-47
-9
0
0
-34
51
-35
0
0
-3
10
8
0
0
-1
-85
-5
0
0
-16
13
0
0
0
5
-68
18
0
0
-48
43
-33
0
0
9
37
-86
0
0
25
-1
-45
0
0
9
25
-67
0
0
22
-15
7
0
0
5
-46
4
-35
-9
-12
6
52
0
0
-13
22
-2
0
0
20
7
30
0
0
-34
63
-11
0
0
-81
34
-5
0
0
-25
-36
-3
0
0
9
21
-10
0
0
1
-15
0
0
0
-44
-13
-7
0
0
5
-57
8
0
0
-2
21
1
0
0
2
-9
7
0
0
8
-28
3
0
0
2
-2
3
0
0
4
-4
0
0
0
1
1
-1
0
0
-18
29
-12
0
0
-22
25
19
0
0
-12
10
-9
0
0
-40
20
-50
0
0
4
-62
-11
0
0
-21
-73
-64
0
0
-15
41
18
0
0
-2
-18
-6
0
0
4
-34
2
0
0
33
63
72
0
0
10
-2
28
0
0
-35
-21
-2
0
0
40
-59
47
0
0
12
103
11
0
0
-62
-59
21
0
0
5
-82
-40
-11
25
57
-24
-89
0
0
41
51
4
0
0
41
-17
18
0
0
-5
-38
7
0
0
-18
41
3
0
0
13
32
-8
0
0
-16
38
-1
0
0
20
-4
0
0
0
48
10
-2
0
0
18
-26
1
0
0
-1
-1
-21
0
0
-13
0
21
0
0
-4
5
-32
0
0
0
11
-7
0
0
1
-21
4
0
0
-6
3
-1
0
0
1
28
25
0
0
-5
-21
-7
0
0
-6
5
1
0
0
0
7
-1
0
0
7
-5
4
0
0
-6
11
2
0
0
2
11
1
0
0
-8
4
1
0
0
16
-10
12
0
0
1
34
-13
0
0
-3
-34
-8
0
0
6
-16
-16
0
0
-12
7
-43
0
0
-3
5
22
0
0
-1
20
6
0
0
-22
3
8
-14
46
30
-20
-5
0
0
8
-31
-14
0
0
40
7
4
0
0
-5
-15
1
0
0
-10
6
-10
0
0
-8
-32
0
0
0
-3
28
31
0
0
2
8
-1
0
0
-39
28
-1
0
0
26
-4
3
0
0
45
8
-3
0
0
64
55
15
0
0
-23
4
28
0
0
-2
-2
-2
0
0
-3
6
2
0
0
-6
15
10
0
0
9
0
12
0
0
-3
12
-1
0
0
12
-21
-1
0
0
1
2
0
0
0
6
1
-2
0
0
8
8
1
0
0
-3
-19
-1
0
0
3
5
0
0
0
-35
2
0
0
0
24
32
-18
0
0
0
-1
-7
0
0
10
11
1
0
0
7
5
18
0
0
9
-6
6
0
0
2
-12
-5
0
0
2
28
-6
-8
40
-33
43
24
0
0
-15
-9
1
0
0
43
-74
-12
0
0
10
19
-16
0
0
-41
15
-7
0
0
4
-16
6
0
0
-4
-2
1
0
0
-1
-3
0
0
0
1
25
-5
0
0
-4
-8
1
0
0
-27
4
0
0
0
-11
7
-6
0
0
-6
5
6
0
0
-3
-1
1
0
0
0
5
0
0
0
-1
0
-4
0
0
-14
-16
-6
0
0
-2
-32
6
0
0
4
-20
0
0
0
1
-13
0
0
0
-18
6
5
0
0
1
1
1
0
0
-1
-6
0
0
0
0
0
0
0
0
-8
-27
12
0
0
5
-27
4
0
0
-33
5
-19
0
0
-2
8
3
0
0
-12
63
-4
0
0
20
53
1
0
0
1
-33
5
0
0
-9
-3
-12
-18
40
13
33
6
0
0
-13
-8
-24
0
0
-12
-5
6
0
0
31
-14
-11
0
0
24
-10
8
0
0
-16
12
2
0
0
22
5
1
0
0
-1
-2
-2
0
0
-21
-18
-3
0
0
31
-31
-4
0
0
-33
50
0
0
0
-9
32
20
0
0
-4
0
0
0
0
0
-3
0
0
0
0
4
1
0
0
-4
-3
-1
0
0
2
32
-6
0
0
1
-2
26
0
0
-2
9
7
0
0
0
42
5
0
0
-11
-21
-18
0
0
-2
-5
1
0
0
1
11
1
0
0
0
1
0
0
0
-9
34
-1
0
0
2
10
-5
0
0
12
-3
-11
0
0
2
17
-2
0
0
0
-42
16
0
0
0
-38
4
0
0
0
-5
-3
0
0
-16
-13
0
39
-6
-10
66
4
0
0
-32
48
-7
0
0
40
-17
-21
0
0
-4
-6
-29
0
0
9
6
1
0
0
40
-25
-3
0
0
1
20
8
0
0
1
2
0
0
0
17
2
5
0
0
2
0
0
0
0
-2
6
-1
0
0
0
17
0
0
0
0
-4
1
0
0
-2
-5
-3
0
0
-5
0
-1
0
0
0
1
3
0
0
5
6
8
0
0
-2
1
1
0
0
-2
2
0
0
0
4
3
-1
0
0
-4
-2
0
0
0
0
1
0
0
0
-1
2
1
0
0
0
0
0
0
0
-8
6
2
0
0
-1
2
0
0
0
4
-1
0
0
0
-1
3
-3
0
0
5
-3
-17
0
0
-5
15
-1
0
0
0
8
2
0
0
-3
2
11
-8
-22
13
42
-1
0
0
42
24
25
0
0
-61
-12
8
0
0
1
-21
0
0
0
-9
-21
17
0
0
20
-22
0
0
0
-19
-33
-21
0
0
3
-2
0
0
0
34
2
-3
0
0
-7
26
0
0
0
-4
0
0
0
0
-2
2
3
0
0
-5
-5
0
0
0
1
-11
1
0
0
0
1
0
0
0
-1
-5
-3
0
0
-24
38
4
0
0
1
5
0
0
0
9
-6
-1
0
0
0
0
-2
0
0
1
-1
1
0
0
-4
0
-1
0
0
1
24
0
0
0
0
0
0
0
0
-11
0
-1
0
0
0
-12
1
0
0
5
-1
1
0
0
0
-15
0
0
0
11
-10
-4
0
0
-1
-4
-1
0
0
-1
9
1
0
0
3
8
-2
-57
7
-45
-23
0
0
0
-13
-7
3
0
0
21
13
2
0
0
-1
-2
-9
0
0
39
-5
6
0
0
1
2
0
0
0
-2
-3
3
0
0
-1
0
0
0
0
7
0
0
0
0
-5
-16
-1
0
0
1
2
0
0
0
1
-1
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
-5
-1
-5
0
0
4
6
0
0
0
0
0
0
0
0
-1
6
2
0
0
2
-1
0
0
0
4
-3
0
0
0
1
0
-5
0
0
-2
1
0
0
0
-2
-4
0
0
0
2
3
0
0
0
-5
0
0
0
0
0
1
0
0
0
-1
-6
1
0
0
-1
2
0
0
0
0
6
1
0
0
-1
1
0
-17
33
-7
-1
-3
0
0
63
14
-9
0
0
19
-6
-20
0
0
-39
20
0
0
0
9
37
-4
0
0
1
-8
1
0
0
3
1
-4
0
0
1
5
7
0
0
-16
4
-2
0
0
4
13
3
0
0
0
2
-3
0
0
4
-19
0
0
0
-22
-5
1
0
0
0
-1
0
0
0
0
5
0
0
0
0
0
-1
0
0
33
-4
1
0
0
-10
-18
-5
0
0
1
14
-2
0
0
18
1
0
0
0
-5
-10
3
0
0
1
4
1
0
0
-1
2
0
0
0
-3
1
0
0
0
4
-5
-3
0
0
1
14
-2
0
0
9
4
-4
0
0
-1
-8
0
0
0
3
-15
-2
0
0
-4
-20
1
0
0
-6
-5
0
0
0
-4
3
0
49
-35
-19
-10
3
0
0
68
-13
3
0
0
16
-8
0
0
0
41
5
4
0
0
-26
-25
-21
0
0
3
2
-4
0
0
9
2
2
0
0
-3
-1
2
0
0
18
-10
11
0
0
-10
-10
4
0
0
-7
-9
-2
0
0
-2
2
3
0
0
-6
5
-23
0
0
-7
2
0
0
0
0
-1
0
0
0
0
10
3
0
0
-18
7
11
0
0
5
2
-1
0
0
8
-10
-1
0
0
-2
-1
-5
0
0
-5
-6
0
0
0
0
7
2
0
0
0
5
6
0
0
0
1
-1
0
0
16
-5
37
0
0
-2
-4
0
0
0
-11
-2
0
0
0
0
-11
3
0
0
10
1
3
0
0
1
13
5
0
0
-2
-8
11
0
0
-2
-11
-2
54
35
53
17
-13
0
0
-12
15
-3
0
0
-14
-21
-11
0
0
22
9
-2
0
0
-36
-2
4
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
0
0
0
-25
-8
0
0
0
9
-2
-2
0
0
9
-26
4
0
0
-1
-15
-5
0
0
18
7
-2
0
0
1
0
-1
0
0
0
2
0
0
0
0
-1
1
0
0
47
-1
-3
0
0
1
-3
-2
0
0
19
-1
0
0
0
1
0
0
0
0
-6
0
-1
0
0
0
-6
-1
0
0
1
-2
1
0
0
0
1
0
0
0
-3
21
-3
0
0
1
-17
0
0
0
1
7
2
0
0
-1
0
-1
0
0
-10
-3
-3
0
0
-6
11
4
0
0
8
6
0
0
0
0
6
0
3
-27
-39
-9
-6
0
0
12
-15
15
0
0
-40
6
24
0
0
-7
44
8
0
0
22
-9
15
0
0
5
9
0
0
0
-1
-3
0
0
0
-11
-4
-1
0
0
20
-25
0
0
0
20
19
-13
0
0
5
-11
1
0
0
-5
-3
12
0
0
42
18
28
0
0
0
-3
0
0
0
0
-2
0
0
0
0
-9
-4
0
0
17
-14
2
0
0
0
-4
0
0
0
2
-10
-3
0
0
-2
1
0
0
0
26
-37
0
0
0
-5
0
-4
0
0
-2
2
-1
0
0
0
6
2
0
0
-15
-6
-17
0
0
-2
15
1
0
0
-3
-41
1
0
0
2
-17
1
0
0
4
8
-5
0
0
3
13
-2
0
0
-2
0
-4
0
0
4
0
-7
9
39
-38
-16
19
0
0
-20
25
-10
0
0
-2
32
3
0
0
-38
-14
-12
0
0
-68
-10
-2
0
0
10
-9
0
0
0
-5
7
1
0
0
6
1
0
0
0
4
9
0
0
0
-24
54
0
0
0
15
-13
12
0
0
-12
-11
-14
0
0
18
-12
-2
0
0
2
-5
0
0
0
0
1
0
0
0
1
-25
-3
0
0
-4
1
-1
0
0
0
-3
0
0
0
3
2
-1
0
0
1
-8
-2
0
0
15
3
0
0
0
1
-7
-2
0
0
0
0
1
0
0
0
1
0
0
0
16
13
13
0
0
8
10
0
0
0
21
11
3
0
0
1
2
-3
0
0
15
1
1
0
0
-9
4
1
0
0
-2
2
-1
0
0
1
-37
-1
43
-8
-20
-6
-13
0
0
-23
1
-11
0
0
-1
15
0
0
0
5
1
1
0
0
-14
-10
1
0
0
-26
-2
1
0
0
0
1
0
0
0
0
0
0
0
0
24
6
0
0
0
0
1
-1
0
0
2
-9
0
0
0
1
12
2
0
0
5
2
0
0
0
1
-1
0
0
0
0
0
0
0
0
-2
2
0
0
0
-10
1
1
0
0
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
2
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
8
-6
-5
0
0
-2
0
0
0
0
0
3
-1
0
0
0
4
-1
0
0
0
17
0
0
0
0
7
0
0
0
0
0
-4
0
0
0
-1
0
9
-21
2
-3
1
0
0
13
-16
-3
0
0
22
70
-17
0
0
2
16
2
0
0
-6
4
1
0
0
2
-13
0
0
0
-1
3
0
0
0
0
0
-1
0
0
11
0
0
0
0
24
-17
0
0
0
15
1
0
0
0
2
-19
0
0
0
-7
2
0
0
0
0
0
-4
0
0
0
-1
0
0
0
-1
2
0
0
0
10
13
0
0
0
2
-3
0
0
0
-1
-3
2
0
0
1
4
0
0
0
0
1
0
0
0
0
3
-2
0
0
-2
-2
-2
0
0
0
3
-2
0
0
-5
-2
-4
0
0
3
18
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-5
-4
-1
0
0
-2
-13
2
0
0
-2
11
0
0
0
2
6
4
-34
30
12
25
-2
0
0
35
-25
50
0
0
-81
-69
9
0
0
-18
35
-3
0
0
-3
23
13
0
0
34
-4
-1
0
0
31
15
0
0
0
-2
-2
0
0
0
-29
11
-2
0
0
9
2
1
0
0
-2
5
2
0
0
4
4
-41
0
0
-11
5
2
0
0
0
-9
0
0
0
0
-1
0
0
0
2
4
0
0
0
32
4
-1
0
0
13
2
0
0
0
24
0
0
0
0
0
0
0
0
0
12
4
-4
0
0
-2
-16
2
0
0
1
3
-3
0
0
-1
3
0
0
0
4
-16
2
0
0
-9
-3
-5
0
0
0
3
1
0
0
-1
6
0
0
0
-4
8
0
0
0
-4
0
4
0
0
0
-10
-2
0
0
21
4
0
46
-40
-4
-41
17
0
0
-49
30
11
0
0
31
15
40
0
0
3
26
-4
0
0
-62
6
-15
0
0
-42
6
1
0
0
-32
0
-1
0
0
-5
-10
-4
0
0
-4
15
0
0
0
41
-23
0
0
0
10
9
-5
0
0
2
-16
13
0
0
-2
27
-11
0
0
-1
-2
2
0
0
1
2
-1
0
0
-4
-6
-3
0
0
18
3
-12
0
0
19
88
2
0
0
5
-27
2
0
0
-5
-17
-1
0
0
-7
-4
3
0
0
18
25
-21
0
0
-2
-1
1
0
0
0
3
-2
0
0
20
-38
6
0
0
3
-19
7
0
0
8
23
0
0
0
2
-3
11
0
0
2
-17
11
0
0
4
17
-11
0
0
1
4
-11
0
0
-26
23
-8
-45
17
-48
-15
-24
0
0
-46
1
0
0
0
13
25
-10
0
0
-1
-1
-6
0
0
26
-10
-1
0
0
-2
-20
0
0
0
3
-15
4
0
0
-1
-1
0
0
0
2
11
4
0
0
2
2
-1
0
0
-11
1
3
0
0
3
-6
2
0
0
-11
-3
1
0
0
11
0
-2
0
0
1
0
0
0
0
4
-1
1
0
0
-45
-31
-5
0
0
-50
20
-39
0
0
52
2
-32
0
0
6
-70
21
0
0
49
-22
19
0
0
-42
3
32
0
0
7
-45
21
0
0
-1
-17
2
0
0
72
46
-21
0
0
-12
-56
-17
0
0
52
-36
-24
0
0
47
22
20
0
0
29
39
60
0
0
2
-23
-48
0
0
-44
-1
-46
0
0
41
50
32
17
-26
66
-2
8
0
0
-8
6
0
0
0
-5
21
21
0
0
-16
12
-1
0
0
-33
-4
-1
0
0
1
-5
1
0
0
2
-4
-10
0
0
1
1
0
0
0
19
-2
-1
0
0
-9
-9
-5
0
0
6
0
1
0
0
-4
0
0
0
0
14
-1
5
0
0
1
6
0
0
0
0
1
0
0
0
-1
12
3
0
0
-1
13
-1
0
0
-45
-5
-28
0
0
-14
-17
53
0
0
-40
-27
2
0
0
1
12
-1
0
0
17
4
22
0
0
17
51
-20
0
0
-2
40
7
0
0
59
-22
-40
0
0
24
-2
-16
0
0
20
-4
42
0
0
-75
-24
0
0
0
-28
7
-22
0
0
4
9
17
0
0
17
-4
-15
0
0
-32
-8
5
62
-70
59
24
-6
0
0
26
15
-1
0
0
6
2
-9
0
0
-9
-10
-1
0
0
11
-8
3
0
0
2
0
0
0
0
0
2
-2
0
0
0
1
0
0
0
2
-4
3
0
0
3
-9
0
0
0
-3
1
-1
0
0
-2
-5
0
0
0
3
4
-1
0
0
1
4
0
0
0
0
-7
0
0
0
-2
9
0
0
0
21
-42
-1
0
0
-21
37
38
0
0
-22
40
-7
0
0
7
43
-12
0
0
-77
49
-72
0
0
60
-40
3
0
0
-54
17
16
0
0
13
-1
-13
0
0
-41
-34
-39
0
0
-18
-52
8
0
0
-9
4
6
0
0
53
-41
-2
0
0
-25
6
17
0
0
5
-11
21
0
0
10
0
14
0
0
10
18
-31
-45
-28
7
-36
20
0
0
29
-17
-4
0
0
-13
-7
0
0
0
6
3
-3
0
0
4
19
-1
0
0
-4
-14
3
0
0
2
-1
1
0
0
2
-1
0
0
0
2
-4
0
0
0
-3
3
1
0
0
0
0
-1
0
0
-9
-7
1
0
0
-16
7
0
0
0
1
2
0
0
0
-1
-1
0
0
0
1
-7
0
0
0
34
6
2
0
0
-2
-56
59
0
0
-61
-8
15
0
0
-27
-7
-29
0
0
-7
-51
6
0
0
-57
1
9
0
0
-42
-68
8
0
0
4
8
-18
0
0
13
-13
2
0
0
20
27
16
0
0
-7
-10
5
0
0
10
1
-57
0
0
53
-16
2
0
0
-18
25
1
0
0
-1
16
-24
0
0
10
38
-16
9
30
33
-32
-10
0
0
38
-3
1
0
0
14
16
-3
0
0
9
10
0
0
0
-28
6
14
0
0
-17
-14
2
0
0
-7
-33
2
0
0
0
2
0
0
0
-39
14
-10
0
0
-11
-1
1
0
0
1
1
-2
0
0
-3
4
4
0
0
3
0
5
0
0
4
-12
-2
0
0
0
1
0
0
0
-1
1
5
0
0
-8
24
-13
0
0
-65
52
-75
0
0
-40
-11
10
0
0
2
-19
20
0
0
-83
16
13
0
0
74
-21
-20
0
0
14
-32
-18
0
0
5
9
1
0
0
-10
-11
7
0
0
7
-33
-1
0
0
-47
-15
2
0
0
-12
-14
28
0
0
-27
24
-21
0
0
7
8
5
0
0
1
-19
1
0
0
7
-11
9
28
-2
48
10
6
0
0
-1
4
37
0
0
49
-17
-1
0
0
-3
-21
1
0
0
27
16
5
0
0
-29
22
-12
0
0
29
-1
-4
0
0
-3
0
0
0
0
-22
0
6
0
0
8
0
2
0
0
-37
1
-3
0
0
-2
-1
-1
0
0
3
0
-4
0
0
-3
-8
-1
0
0
0
0
0
0
0
0
-2
2
0
0
-44
-1
0
0
0
-13
27
-37
0
0
-51
2
-6
0
0
-4
18
36
0
0
21
-19
4
0
0
12
-8
-39
0
0
17
-35
69
0
0
-9
16
5
0
0
34
15
-44
0
0
-32
41
12
0
0
-16
6
2
0
0
25
-56
-19
0
0
-19
-35
-13
0
0
3
-26
-21
0
0
-37
-10
6
0
0
-5
-28
-13
15
-6
-30
-3
-22
0
0
23
28
3
0
0
38
12
2
0
0
-5
21
1
0
0
-10
-14
-9
0
0
1
-3
1
0
0
2
0
0
0
0
0
8
0
0
0
-27
-1
-1
0
0
6
7
2
0
0
-4
-2
2
0
0
-22
-2
-2
0
0
-14
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
8
16
-2
0
0
-9
-7
14
0
0
3
13
-29
0
0
84
-33
19
0
0
55
18
-17
0
0
-4
-11
-28
0
0
-51
-8
-23
0
0
1
-15
0
0
0
-10
11
6
0
0
-42
-13
43
0
0
44
9
0
0
0
23
-26
-9
0
0
-13
0
-5
0
0
-5
15
2
0
0
0
-68
21
0
0
-18
-19
1
-13
-10
9
33
-32
0
0
73
4
3
0
0
-42
22
1
0
0
16
57
10
0
0
12
-7
-4
0
0
-10
31
-19
0
0
9
14
-3
0
0
0
0
1
0
0
60
2
-1
0
0
-28
-16
1
0
0
29
-27
6
0
0
-4
14
0
0
0
-30
18
9
0
0
1
-7
0
0
0
0
-2
0
0
0
-1
-16
0
0
0
-25
2
-2
0
0
-14
-32
0
0
0
-27
10
9
0
0
39
-41
-40
0
0
-6
58
21
0
0
1
5
-5
0
0
7
47
-23
0
0
5
-11
-3
0
0
-21
-6
5
0
0
-69
10
-33
0
0
-12
2
-12
0
0
16
-51
5
0
0
22
-19
-24
0
0
1
-18
37
0
0
-18
10
-11
0
0
-25
-9
3
-8
-9
-44
-35
-37
0
0
20
6
-1
0
0
50
28
-12
0
0
-4
-10
-15
0
0
38
2
29
0
0
-8
9
2
0
0
4
2
-2
0
0
-1
7
0
0
0
-14
-11
1
0
0
-21
3
0
0
0
-20
-16
1
0
0
-6
7
14
0
0
-15
-1
5
0
0
1
0
0
0
0
-1
-5
1
0
0
-2
6
2
0
0
32
-9
26
0
0
30
29
-52
0
0
0
-34
-8
0
0
29
-15
-4
0
0
-41
-23
-41
0
0
21
-11
11
0
0
0
49
-6
0
0
-37
3
26
0
0
40
31
-33
0
0
9
-61
5
0
0
91
-77
49
0
0
-7
70
-6
0
0
-15
-8
17
0
0
80
28
-39
0
0
56
51
16
0
0
-83
-22
28
-28
-14
-68
119
48
0
0
-5
4
13
0
0
12
-38
15
0
0
56
-1
-16
0
0
-6
-16
10
0
0
-15
2
0
0
0
7
-27
0
0
0
1
-2
0
0
0
-13
-13
-4
0
0
5
1
4
0
0
3
0
1
0
0
2
-5
1
0
0
0
2
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
-11
0
0
0
-3
13
1
0
0
26
-42
-18
0
0
27
-15
0
0
0
-63
-7
-13
0
0
-6
-9
-17
0
0
-34
17
3
0
0
-7
14
-1
0
0
-4
-13
7
0
0
26
-4
-10
0
0
-8
44
7
0
0
2
0
-31
0
0
26
41
32
0
0
70
-3
3
0
0
8
20
-20
0
0
34
24
-75
0
0
11
-3
53
-16
16
-2
62
11
0
0
-3
-28
-4
0
0
-54
53
5
0
0
-10
2
7
0
0
-5
39
6
0
0
-4
14
0
0
0
-10
-3
-3
0
0
0
0
-7
0
0
13
-2
2
0
0
-4
33
-6
0
0
6
-2
8
0
0
2
3
5
0
0
4
-2
9
0
0
3
-3
0
0
0
2
8
-5
0
0
0
6
-1
0
0
0
-34
2
0
0
18
84
-37
0
0
-17
-13
14
0
0
4
29
-40
0
0
8
51
27
0
0
-10
4
17
0
0
-7
12
-23
0
0
20
-19
7
0
0
13
75
-10
0
0
-58
-2
59
0
0
-8
47
-50
0
0
46
5
-20
0
0
41
-48
-57
0
0
-15
-22
20
0
0
53
-11
-55
0
0
5
-7
0
19
-16
2
-36
37
0
0
56
-15
33
0
0
-46
17
35
0
0
-20
-24
14
0
0
-15
0
14
0
0
0
1
7
0
0
-1
6
-8
0
0
1
-2
0
0
0
34
-25
-10
0
0
6
55
-2
0
0
6
-5
2
0
0
-2
-9
1
0
0
48
-2
0
0
0
0
-1
0
0
0
-1
-5
-5
0
0
-5
-5
-1
0
0
-24
0
-1
0
0
-54
12
23
0
0
5
-11
-13
0
0
-37
26
-44
0
0
21
-11
-14
0
0
8
-30
-8
0
0
6
-41
6
0
0
-9
-18
-4
0
0
-15
-29
-4
0
0
-36
3
27
0
0
16
23
45
0
0
-22
100
-45
0
0
38
-16
-4
0
0
-42
-52
6
0
0
-2
-36
14
0
0
19
-89
8
-56
17
-31
7
-6
0
0
7
29
21
0
0
-3
57
-17
0
0
3
-23
1
0
0
4
68
73
0
0
-3
5
-1
0
0
2
-8
-3
0
0
-2
-3
0
0
0
16
7
-31
0
0
-10
-42
5
0
0
-13
6
-10
0
0
-4
4
1
0
0
-23
-3
3
0
0
0
-5
-2
0
0
0
-17
0
0
0
1
3
7
0
0
11
-46
-13
0
0
42
-8
37
0
0
-92
57
-60
0
0
30
-20
-48
0
0
-68
7
-16
0
0
15
0
9
0
0
17
-5
-1
0
0
1
-24
-13
0
0
-34
-63
27
0
0
77
-29
-23
0
0
-70
17
-30
0
0
-80
29
72
0
0
-48
96
26
0
0
-19
-1
30
0
0
-4
17
-10
0
0
-5
3
27
-18
-6
9
7
16
0
0
-26
33
-13
0
0
11
22
-23
0
0
41
-10
33
0
0
19
39
-32
0
0
7
-10
1
0
0
7
-15
4
0
0
0
-4
0
0
0
-67
2
-2
0
0
13
0
2
0
0
1
16
3
0
0
6
6
-2
0
0
8
-22
3
0
0
5
0
-3
0
0
-2
1
0
0
0
1
4
0
0
0
-3
20
-3
0
0
56
11
-8
0
0
-28
46
16
0
0
-38
8
24
0
0
-46
-33
4
0
0
-24
4
9
0
0
-2
-3
15
0
0
-2
-51
2
0
0
26
46
-47
0
0
-18
31
12
0
0
-4
42
-17
0
0
-19
-66
-2
0
0
-22
-1
46
0
0
62
-12
-21
0
0
-26
-67
58
0
0
55
25
15
34
-14
32
1
-106
0
0
-24
56
11
0
0
44
2
4
0
0
-2
42
22
0
0
7
10
-22
0
0
-18
-5
0
0
0
-26
5
-9
0
0
1
-12
0
0
0
14
-20
6
0
0
17
6
1
0
0
7
-3
2
0
0
7
-31
2
0
0
-16
19
-8
0
0
-1
-5
2
0
0
-1
2
0
0
0
-6
-8
-1
0
0
-23
-25
-8
0
0
20
27
36
0
0
66
-2
18
0
0
-33
47
5
0
0
-16
-46
1
0
0
-15
-6
-14
0
0
-1
3
25
0
0
-8
-27
4
0
0
-39
52
3
0
0
61
49
63
0
0
-60
-4
13
0
0
67
86
-75
0
0
59
-68
-13
0
0
-33
7
-23
0
0
-42
-51
-5
0
0
20
-43
-23
34
2
-59
-92
-1
0
0
11
112
-11
0
0
40
2
61
0
0
-22
-45
6
0
0
6
-30
-17
0
0
19
-38
2
0
0
2
24
1
0
0
2
17
2
0
0
-48
20
4
0
0
-42
15
3
0
0
6
16
8
0
0
15
27
-8
0
0
-8
-46
-25
0
0
4
5
-4
0
0
-3
14
2
0
0
0
16
-9
0
0
14
11
1
0
0
-21
23
6
0
0
30
-18
-13
0
0
67
1
25
0
0
36
-48
4
0
0
-87
-49
-48
0
0
-37
-56
26
0
0
13
32
-22
0
0
-22
-75
39
0
0
-24
145
-13
0
0
-18
-46
33
0
0
128
6
-34
0
0
12
-36
-21
0
0
13
1
-10
0
0
-15
-57
4
0
0
-26
7
16
-42
-9
-12
-130
52
0
29
15
-13
4
0
32
-20
-15
45
0
35
45
11
30
0
13
70
33
15
0
25
-29
73
-24
0
-1
25
18
2
0
-25
4
51
9
0
27
-29
-34
26
0
53
-7
-11
-29
0
38
30
-5
-21
0
7
10
-35
18
0
-59
12
6
16
0
8
22
-15
-13
0
0
-4
-46
-20
0
-18
-25
13
34
0
-14
-17
16
-18
0
-21
-20
7
9
0
-7
4
-8
-26
0
2
-1
-2
1
0
-22
1
-44
2
0
-11
-5
27
11
0
0
-5
-23
-4
0
0
0
5
-9
0
2
6
-17
3
0
-11
-13
17
25
0
7
32
6
-19
0
0
-9
23
7
0
1
-3
-6
4
0
10
-2
73
-2
0
0
3
4
-2
0
-65
29
26
25
11
-68
-31
22
17
0
26
36
-42
7
0
-9
-11
55
1
0
-9
15
78
27
0
-23
-45
4
24
0
18
38
-40
21
0
61
-8
-81
-33
0
-21
-11
-11
10
0
-49
1
40
17
0
11
-42
-36
11
0
4
41
-12
19
0
-18
-44
24
-8
0
-42
18
-14
0
0
-1
-5
10
5
0
-23
-5
4
-4
0
0
6
37
-29
0
9
29
-9
-29
0
1
-17
-1
1
0
-14
-3
26
22
0
-2
-7
-8
-2
0
11
1
12
-10
0
0
2
-1
5
0
3
-1
-7
6
0
0
-1
-7
-1
0
-3
27
9
7
0
-2
-20
8
2
0
7
-31
18
-47
0
-1
-10
-62
0
0
19
14
-8
1
0
-4
-1
28
-1
0
6
-13
-22
-15
0
20
-19
-5
-1
6
10
31
-2
-33
0
-52
52
38
50
0
8
79
21
-21
0
21
-41
-4
-18
0
57
62
-52
29
0
7
-24
-22
-15
0
-22
29
2
0
0
-13
-15
-44
5
0
10
-23
-12
-21
0
-3
24
-6
5
0
-63
-17
-43
4
0
22
-22
-12
-15
0
6
-22
-11
-18
0
-2
5
21
6
0
0
5
18
-6
0
-35
37
22
0
0
-53
-26
44
7
0
10
-10
-8
0
0
-2
-3
11
-2
0
1
-1
-3
8
0
16
-8
-16
0
0
0
3
15
-18
0
-1
2
-50
1
0
-1
3
-7
3
0
-5
5
16
0
0
9
-17
19
1
0
-1
-3
-2
0
0
0
12
17
4
0
14
-15
4
-1
0
2
20
38
-14
0
5
-25
-47
26
0
-2
-11
18
-4
-29
16
43
-36
18
0
14
28
15
22
0
-36
12
-13
-11
0
66
-23
8
-11
0
-7
83
4
23
0
-31
23
47
3
0
73
-44
41
2
0
-26
-7
44
27
0
9
-11
58
-21
0
-12
35
11
4
0
-24
-11
-12
-9
0
-62
6
45
18
0
-1
12
9
-18
0
-4
-14
-28
0
0
7
-11
12
-3
0
-5
3
-13
8
0
55
16
11
-6
0
4
-10
8
0
0
-1
12
-12
6
0
4
-6
16
1
0
-29
-6
-32
-4
0
-3
-8
-4
1
0
7
2
-27
4
0
3
-2
1
0
0
0
-22
-10
9
0
-12
-5
16
1
0
5
-4
-10
-7
0
-3
0
-11
-6
0
1
32
-17
-16
0
0
-1
19
-11
0
1
-22
38
-15
0
29
32
-14
15
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-6
0
89
-31
14
4
0
38
8
-17
-6
0
50
0
-5
-1
0
27
4
1
5
0
-25
4
-19
6
0
-3
3
4
1
0
-37
-8
9
-13
0
-8
39
19
-3
0
15
36
-60
51
0
18
23
-8
-11
0
-4
39
2
-25
0
23
33
18
-14
0
-14
0
12
-2
0
-3
6
-16
0
0
-48
3
-3
-12
0
27
-46
2
5
0
-31
-9
38
2
0
-19
21
21
0
0
-21
-6
3
0
0
33
38
-20
-1
0
-7
-2
34
-2
0
-4
-4
0
1
0
11
-23
1
2
0
-11
-31
81
-7
0
-19
28
15
-11
0
5
23
14
-4
0
36
-23
-6
-10
0
-21
-19
-40
-4
0
5
8
-19
2
0
-16
24
-38
2
24
-27
-30
25
12
0
-6
20
-20
11
0
36
51
23
0
0
-20
-11
-20
-21
0
10
-25
-13
-8
0
18
5
2
-29
0
-32
-15
34
7
0
1
-9
0
1
0
-67
48
0
9
0
-28
-36
-29
-11
0
16
23
-71
7
0
-2
1
-57
2
0
4
22
8
11
0
4
-6
-5
-5
0
10
-11
12
7
0
0
-18
-4
0
0
-15
-3
7
-3
0
11
-6
-20
0
0
-32
56
-10
-25
0
-2
1
-1
2
0
28
8
-5
10
0
-1
-10
8
-1
0
4
-12
21
1
0
0
1
0
0
0
0
2
3
2
0
-46
20
-17
-2
0
19
-36
11
1
0
-4
-26
3
1
0
6
10
15
-13
0
11
-20
98
-23
0
37
4
0
-18
0
11
0
-19
-5
3
4
29
-25
-10
0
-21
39
41
-9
0
-40
-6
-44
5
0
-3
-54
-10
7
0
-70
17
17
-14
0
6
-28
30
1
0
-11
-9
-3
3
0
-10
-19
-22
0
0
22
-8
-22
-3
0
13
-10
3
-23
0
58
2
-19
-5
0
6
-29
-2
5
0
-6
-15
10
8
0
-9
7
25
-6
0
0
-1
12
-2
0
-12
2
-1
1
0
-20
9
-4
15
0
18
-28
0
6
0
-19
-12
-2
-11
0
0
-2
-18
0
0
-1
-8
47
4
0
0
-1
2
-1
0
3
2
-2
0
0
0
-1
1
0
0
-6
10
11
0
0
19
3
-6
-2
0
-16
-7
34
-1
0
5
19
-29
-18
0
6
19
-2
2
0
25
14
-42
-26
0
1
4
17
1
0
3
-1
-15
-7
18
7
31
18
-10
0
49
3
11
-1
0
-14
10
-18
-2
0
-29
-20
15
-13
0
-3
7
-28
-4
0
38
-19
3
0
0
2
-5
26
2
0
7
-1
-15
0
0
0
16
15
-13
0
-28
-4
28
-6
0
23
-17
8
-4
0
6
6
-33
1
0
14
22
-16
-17
0
-15
6
4
-1
0
7
-52
-3
6
0
-5
-7
21
5
0
17
-9
48
0
0
1
-10
-22
4
0
-26
24
-7
-8
0
-1
-15
3
-5
0
-26
11
-39
3
0
0
-5
6
-1
0
3
-3
5
0
0
0
4
-3
-5
0
-2
6
0
-2
0
-11
-29
-13
-3
0
21
-4
-27
-5
0
2
21
-9
-2
0
-25
-3
3
-1
0
0
1
-22
1
0
1
17
15
4
0
-17
-1
-52
3
22
-26
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
20
0
16
0
-45
4
13
-15
0
-10
-6
40
-2
0
27
8
6
10
0
10
-3
36
0
0
-7
2
-4
1
0
-2
4
3
1
0
14
-26
-13
2
0
48
39
-34
53
0
52
-15
0
17
0
-18
-25
-62
-45
0
-8
-41
12
-2
0
-13
7
-1
2
0
-3
16
-15
-13
0
20
-24
37
8
0
35
2
3
-7
0
5
13
41
6
0
-41
70
43
-10
0
-33
45
-31
-54
0
46
-48
-49
51
0
47
15
10
40
0
-39
-73
9
23
0
1
31
58
-51
0
-14
-27
-15
17
0
24
22
78
-37
0
-70
41
-1
-19
0
-13
-58
-2
-78
0
-59
19
-32
47
0
47
-2
86
96
0
-13
9
20
25
0
-79
15
1
27
33
51
-54
-103
-32
0
-14
14
-28
8
0
-11
20
34
-11
0
-3
-21
0
-9
0
10
-44
-24
5
0
-19
4
5
-4
0
-7
-11
5
0
0
0
-2
3
2
0
15
-10
2
0
0
8
27
-5
39
0
-73
43
1
23
0
29
40
-7
-3
0
30
59
9
-13
0
15
27
-8
3
0
1
-32
-13
-16
0
0
3
22
25
0
-9
22
-18
-1
0
40
51
19
-47
0
-3
-90
29
-14
0
46
-14
-20
41
0
-134
66
13
50
0
24
8
-116
-43
0
2
17
-31
-58
0
-12
-64
-17
-8
0
86
-23
24
-32
0
56
40
3
-10
0
49
-7
-30
22
0
-20
-28
15
45
0
-25
15
76
-51
0
-2
0
-43
-1
0
-41
2
-46
-40
0
-60
-29
-92
-1
-28
-32
-11
51
-11
0
-34
-19
-11
2
0
11
-27
-19
2
0
15
12
52
10
0
-33
-57
-6
5
0
-6
9
-6
5
0
0
-3
-35
-1
0
-3
-2
4
0
0
-9
-1
-44
-5
0
1
9
-8
-5
0
-27
-12
15
-3
0
26
-21
-15
-1
0
-1
-14
-19
1
0
0
-5
5
0
0
0
-1
22
0
0
-3
-6
-2
-3
0
-38
-7
-15
-2
0
14
1
-50
32
0
-4
-82
65
-55
0
-82
27
36
-11
0
-70
-70
3
-12
0
78
18
-38
24
0
13
-47
-47
12
0
-10
33
-21
-51
0
-73
59
-69
-5
0
21
28
-22
-9
0
3
-9
12
5
0
-9
-46
-1
-15
0
12
-8
-3
-8
0
-5
37
-25
6
0
-5
60
21
18
0
30
-43
32
4
-42
-50
69
115
-12
0
1
-12
11
2
0
-18
24
-15
-1
0
4
23
7
18
0
31
12
43
8
0
7
0
1
0
0
12
-20
0
-8
0
3
-5
8
1
0
43
28
-12
6
0
-5
-36
-2
7
0
-22
-26
-33
0
0
0
17
2
-1
0
-20
-49
-1
-23
0
1
5
8
-1
0
-6
-17
-14
0
0
-1
-13
6
-9
0
-22
41
-53
-14
0
-35
23
42
-7
0
7
15
-29
16
0
61
7
-47
-46
0
21
11
-17
19
0
-112
2
-20
28
0
-3
-37
44
22
0
24
23
47
-40
0
-69
32
5
-51
0
-22
-41
12
10
0
-7
-12
-77
10
0
14
-61
-66
7
0
-33
-12
-52
-20
0
4
-72
6
-4
0
-16
-22
65
4
0
-27
-31
-43
9
-20
59
-34
-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
-18
81
0
32
0
-10
39
-3
-8
0
11
-10
24
18
0
11
-11
-4
2
0
2
4
10
-1
0
-16
2
-2
-13
0
-2
8
4
0
0
-4
28
-4
-7
0
-14
37
19
7
0
-10
13
-3
1
0
14
34
19
-13
0
7
-12
0
-4
0
50
25
-1
5
0
39
6
-21
6
0
-45
-33
2
2
0
6
35
27
-20
0
52
-51
-4
16
0
67
4
-4
23
0
-25
-72
-2
34
0
0
32
-19
0
0
-16
7
-23
1
0
42
-31
-84
-1
0
-22
-29
8
23
0
12
-26
0
10
0
28
9
45
3
0
-15
45
21
-61
0
17
-50
-36
-51
0
-42
3
-18
-8
0
-4
-27
22
27
0
-3
58
22
38
0
40
-20
-23
26
16
-51
-19
-95
-50
0
96
21
21
-3
0
-93
22
6
2
0
-33
-2
4
0
0
-18
9
43
-2
0
-7
-43
18
-8
0
-5
0
9
-1
0
1
-2
0
2
0
-5
-8
2
-1
0
16
-13
-7
-3
0
-8
1
14
2
0
-2
-24
-52
3
0
-51
-21
32
2
0
-13
-4
-9
0
0
-11
40
-9
6
0
-4
13
10
16
0
-53
11
-40
13
0
-19
8
-4
22
0
82
-25
24
9
0
105
-59
-18
-1
0
33
-12
3
6
0
29
-27
-12
38
0
20
-20
7
-33
0
27
1
25
-10
0
2
9
-34
12
0
-31
60
51
-12
0
13
9
71
2
0
-32
-25
-47
20
0
-46
1
76
-5
0
-13
-11
19
-56
0
8
-1
26
1
0
39
-51
-33
-66
12
-6
-46
-8
84
0
19
-17
34
5
0
4
-10
6
2
0
-10
2
-26
-4
0
10
-32
14
-3
0
12
7
9
0
0
16
-1
28
-2
0
51
5
0
-1
0
-35
10
-1
0
0
15
0
3
0
0
-7
-21
1
0
0
1
-12
1
2
0
14
-14
-8
5
0
3
-13
39
-10
0
-4
-1
-1
0
0
17
-8
1
2
0
6
37
-42
19
0
36
18
-67
-27
0
-121
10
-19
8
0
-7
-62
-5
-2
0
-64
1
-12
-42
0
16
13
-5
-6
0
12
9
-12
-31
0
-8
6
64
-13
0
2
39
14
18
0
-11
-28
-96
63
0
41
-24
-90
-11
0
-24
18
-12
21
0
-1
11
76
-11
0
-87
70
-99
-10
0
3
-51
24
38
0
56
-20
60
22
-51
19
-53
78
-24
0
-10
-7
1
0
0
6
0
-1
2
0
8
-19
-1
1
0
32
-21
-37
-2
0
-31
-1
0
0
0
-43
-22
11
0
0
-4
-1
-2
-6
0
-28
5
27
-1
0
20
19
-15
-2
0
-13
-47
-25
2
0
-1
9
1
1
0
-40
-31
-3
-10
0
-24
8
-3
0
0
10
2
-59
3
0
-2
33
0
4
0
56
-44
25
-9
0
-92
-30
34
-31
0
42
-25
29
-16
0
-21
37
9
-8
0
-36
-17
-6
-6
0
40
-21
-23
7
0
46
-9
5
-25
0
0
21
8
1
0
-46
10
9
-19
0
-104
22
67
51
0
11
40
-103
30
0
50
-42
44
-42
0
-35
20
63
-16
0
102
-18
-63
55
0
13
-12
27
-45
0
55
6
36
-52
-13
-26
15
22
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
-73
21
-22
6
0
50
59
11
-45
0
33
-19
3
-23
0
12
0
3
5
0
-24
26
2
-29
0
6
23
16
28
0
8
11
40
0
0
-35
42
13
1
0
4
-17
-44
-16
0
4
0
0
28
0
3
-28
-1
10
0
-8
5
-11
25
0
4
6
13
-4
0
0
1
37
-9
0
12
-5
22
9
0
12
24
-29
-1
0
13
-1
18
-2
0
0
-7
2
1
0
-4
3
-8
1
0
2
-1
0
2
0
1
27
9
-18
0
1
0
-17
3
0
0
10
9
1
0
-1
38
6
-1
0
1
5
-7
4
0
0
-6
20
1
0
0
0
7
1
0
-1
-4
3
0
0
11
33
21
-26
0
0
1
8
13
0
-11
2
-26
13
66
-12
3
50
11
0
57
9
-62
0
0
-3
-32
-2
40
0
5
42
27
3
0
-16
-12
15
-34
0
3
-53
24
-18
0
-12
15
27
-14
0
-28
0
1
7
0
18
1
-8
18
0
5
-7
-11
-3
0
-6
35
-31
-4
0
4
12
-10
3
0
-3
-6
39
1
0
4
24
-11
10
0
0
-4
-1
-6
0
2
27
16
8
0
35
-18
64
8
0
0
-11
-5
0
0
9
0
24
0
0
0
0
-1
-1
0
-1
20
-1
-3
0
0
2
2
4
0
0
5
12
4
0
0
-1
3
-4
0
0
0
7
6
0
-1
-7
-25
-2
0
2
-12
11
-8
0
0
-1
-20
0
0
0
-1
-2
2
0
-9
-6
19
3
0
48
-10
-1
15
0
-45
0
17
-19
57
-6
32
-13
4
0
86
-22
-40
27
0
-47
-21
-7
-33
0
-9
45
49
-13
0
-44
32
-21
-11
0
-44
16
-36
0
0
6
-4
-10
-3
0
-18
-9
-18
15
0
58
-29
-13
-7
0
-9
8
-13
-7
0
6
-12
1
12
0
-4
54
7
-4
0
-5
-1
28
-1
0
0
4
7
3
0
0
4
1
0
0
0
4
-6
7
0
-4
9
-11
-17
0
-9
5
11
2
0
1
4
-3
-2
0
0
-7
21
1
0
-2
-1
-6
0
0
0
3
3
-1
0
0
-3
-1
1
0
0
2
4
0
0
-1
0
12
-1
0
3
-23
-11
1
0
0
3
-3
-1
0
-2
4
16
2
0
4
17
-1
-3
0
-1
-5
-22
3
0
5
-1
17
1
0
32
-4
12
5
11
-8
-30
-31
20
0
-19
-112
-2
4
0
71
42
6
-27
0
14
-55
36
6
0
104
52
37
4
0
21
-17
27
0
0
-5
11
-2
-11
0
-39
1
12
-3
0
1
-4
18
4
0
8
10
10
2
0
-1
14
-16
-3
0
-3
50
21
-10
0
-29
-45
17
8
0
0
5
8
0
0
3
-2
-9
3
0
-2
-2
24
1
0
-19
43
42
8
0
-4
-10
-5
-2
0
2
-2
3
-4
0
2
7
-8
-1
0
-4
6
-12
4
0
0
-14
0
2
0
0
-2
8
0
0
0
6
-3
-2
0
-2
18
20
1
0
-3
0
2
5
0
-1
-1
-28
1
0
0
-2
7
-2
0
0
10
-4
0
0
-4
14
-6
-1
0
-6
11
-10
1
0
-15
7
12
1
-32
-27
-24
38
1
0
57
-15
7
3
0
-1
19
24
5
0
-14
24
14
-19
0
55
-3
11
-11
0
13
-9
-16
1
0
21
-3
-12
3
0
8
-6
6
3
0
-65
-18
23
-1
0
-49
31
14
1
0
-16
-14
-39
5
0
1
-6
7
6
0
1
-5
-22
-6
0
1
15
0
7
0
0
0
6
10
0
2
0
-5
0
0
-4
-1
5
-4
0
15
-48
-25
6
0
9
-2
-4
-10
0
0
-2
-1
0
0
2
0
2
-4
0
-1
1
25
0
0
0
0
-2
0
0
0
0
-2
0
0
1
-2
-5
0
0
2
-6
0
0
0
-1
3
-3
2
0
0
0
2
0
0
0
0
-1
0
0
-11
4
12
-2
0
0
-3
-15
-7
0
-2
-3
-17
1
-8
-3
-4
10
-3
0
-5
6
14
18
0
-32
-10
-57
11
0
23
-25
24
1
0
87
9
22
-6
0
26
-14
29
5
0
80
16
-23
-5
0
-3
-3
-2
0
0
35
29
23
-1
0
1
-11
-6
0
0
-21
-4
24
3
0
3
-7
-3
-2
0
-26
2
8
0
0
-14
0
20
-1
0
4
5
-15
-5
0
2
1
-4
0
0
-11
-3
7
-1
0
20
-32
-35
2
0
-28
-1
-14
-2
0
-5
-2
-1
3
0
-10
5
0
1
0
2
-5
1
-1
0
1
4
-17
4
0
0
0
0
0
0
-12
3
0
1
0
0
7
-4
6
0
5
-6
0
-6
0
0
-2
-4
1
0
0
-1
-10
0
0
-6
-8
3
0
0
-8
2
21
2
0
-12
-1
2
1
17
14
5
0
0
0
40
14
10
-26
0
32
1
-2
-1
0
-10
13
-52
2
0
-40
39
43
-19
0
-3
-7
-12
0
0
7
-4
5
-2
0
-18
-20
0
0
0
48
-2
-5
0
0
-1
46
5
0
0
1
0
0
1
0
0
19
-3
2
0
-1
-2
0
2
0
0
-2
2
-3
0
0
0
1
1
0
3
0
1
0
0
-2
0
-8
-1
0
-3
-1
-3
0
0
-2
12
2
-2
0
0
0
-2
0
0
2
1
-2
0
0
-1
1
1
0
0
0
0
-1
0
0
0
0
-2
-1
0
0
0
0
0
0
0
5
4
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
-13
2
0
0
1
-2
1
0
-3
0
-8
-1
-28
-10
17
8
-4
0
43
-24
25
8
0
-93
58
-9
4
0
41
32
-8
-6
0
-44
-18
21
25
0
50
31
12
0
0
23
-39
-9
-3
0
-7
2
1
0
0
-45
29
-33
-4
0
-2
-25
19
3
0
-2
-11
4
-2
0
-3
2
1
0
0
-6
3
8
-6
0
-7
0
-1
-1
0
0
-3
-1
-5
0
-3
1
12
-5
0
-20
-6
-31
2
0
0
-10
12
2
0
25
-6
-27
-14
0
4
10
1
1
0
3
14
-7
-4
0
-1
-14
-12
-1
0
0
5
8
5
0
0
2
-1
0
0
-5
13
-4
0
0
-1
-12
6
2
0
0
5
0
0
0
0
0
3
-1
0
3
-8
-6
-3
0
0
3
-15
3
0
0
-16
2
3
0
0
6
6
-1
2
44
-3
28
1
0
-18
56
-17
-4
0
34
-5
5
-9
0
-4
-63
-6
5
0
-17
-12
5
14
0
-3
-4
46
3
0
3
-24
-41
0
0
-5
-7
0
-1
0
-19
3
6
2
0
1
-12
-10
37
0
89
18
-5
-9
0
5
-12
8
10
0
18
55
6
-6
0
-3
18
40
8
0
0
12
17
-4
0
-6
11
10
-3
0
26
37
-2
16
0
31
-1
-18
-1
0
8
-5
7
0
0
0
3
2
0
0
0
-7
2
0
0
4
0
-6
12
0
0
0
-4
0
0
0
0
1
-2
0
0
-1
0
0
0
-16
-7
-7
-2
0
-11
-2
3
1
0
0
1
22
0
0
5
-2
12
-2
0
-7
12
-18
16
0
0
10
-3
-9
0
2
31
-8
4
14
-1
19
-26
4
0
74
-26
9
16
0
-36
-3
-11
5
0
-9
-2
-1
3
0
-50
-18
20
-1
0
-44
16
23
-3
0
3
-39
-12
-3
0
-8
1
11
0
0
47
-9
5
-1
0
28
-5
-5
-14
0
40
18
-15
15
0
2
-32
-16
0
0
-34
12
30
-4
0
8
2
-35
-2
0
-20
24
5
-13
0
-8
2
11
-3
0
16
-20
19
-2
0
-2
0
2
1
0
10
7
-1
0
0
2
1
-2
0
0
3
0
0
-1
0
-5
1
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
1
1
0
1
-7
15
-2
0
9
-13
0
3
0
0
-1
3
0
0
-7
1
2
5
0
-2
16
-5
1
0
14
6
12
-14
0
-8
-10
-1
-2
-6
19
30
-28
23
0
-49
57
27
7
0
-41
49
-54
6
0
-26
-4
-11
23
0
30
9
-18
2
0
35
-7
-17
3
0
-7
7
-2
-2
0
17
7
-4
1
0
-1
4
21
2
0
41
-34
6
14
0
-53
-4
10
8
0
24
-38
13
-19
0
20
-37
-2
-5
0
-1
7
-21
2
0
0
-7
1
9
0
-8
10
38
18
0
-28
9
-20
-3
0
0
17
1
-3
0
-3
2
1
-4
0
0
-3
3
1
0
-15
0
0
2
0
0
1
-1
0
0
0
0
-1
0
0
-2
0
0
-4
0
0
0
-3
0
0
-3
-15
6
-6
0
-3
1
1
-2
0
4
-8
-8
0
0
1
-3
-1
2
0
0
1
31
-11
0
0
-13
0
3
0
22
-15
-10
1
14
6
7
13
-14
0
7
50
-1
6
0
-30
38
13
8
0
30
14
29
9
0
27
-30
5
11
0
-5
-17
11
-6
0
-22
-26
4
6
0
57
-6
3
0
0
-18
17
-2
2
0
4
8
15
-7
0
-9
15
-8
-5
0
5
12
-26
-6
0
-28
-5
-21
-19
0
0
5
3
1
0
12
15
-25
4
0
1
11
-18
-1
0
16
-24
-18
-17
0
0
3
5
4
0
-7
4
-1
0
0
0
-2
1
0
0
-16
4
-2
2
0
-1
0
-1
-3
0
0
2
-3
0
0
0
0
0
1
0
0
16
-5
0
0
0
11
1
2
0
9
1
1
-5
0
0
6
2
0
0
22
-3
-41
0
0
0
-13
0
0
0
1
-3
37
1
0
-1
-6
-29
0
25
-38
15
-31
-16
0
53
-57
9
12
0
-38
16
21
-45
0
35
21
-43
19
0
-4
27
-13
4
0
2
16
3
0
0
-15
-5
26
-1
0
-1
-3
3
0
0
-21
-2
-3
-2
0
44
45
18
-4
0
-37
22
-2
7
0
-4
6
37
3
0
3
-8
-9
0
0
-2
25
-8
0
0
10
-1
-5
2
0
-2
-3
2
-2
0
-8
13
2
3
0
3
21
4
-4
0
10
8
27
-12
0
0
-2
3
1
0
-4
1
2
0
0
0
-2
3
2
0
0
1
-5
0
0
-2
1
0
0
0
0
2
5
-2
0
-4
-14
29
-3
0
-1
4
4
-1
0
0
-1
-7
0
0
5
-9
2
0
0
0
-1
-22
-5
0
1
3
6
4
0
-2
1
3
4
23
-8
3
-13
1
0
-2
48
50
-2
0
16
-3
24
10
0
11
11
0
-4
0
18
-9
-16
11
0
-17
-7
6
0
0
7
-3
12
2
0
2
3
-5
0
0
-26
-1
13
0
0
9
-5
-2
-5
0
5
42
-3
1
0
1
-9
-51
4
0
-75
2
14
-1
0
4
-10
0
-2
0
2
-23
-11
-7
0
1
-4
6
1
0
-4
-8
-31
0
0
5
-4
7
1
0
-19
1
8
-1
0
0
-3
0
0
0
7
-1
-3
0
0
2
0
2
0
0
-1
0
-13
-3
0
0
1
0
0
0
-2
0
-1
0
0
1
4
0
0
0
-3
9
12
-3
0
0
8
2
0
0
3
1
-1
0
0
2
5
12
0
0
-5
-6
0
4
0
0
-1
0
2
-38
26
-2
1
6
0
7
24
15
6
0
-39
77
3
20
0
46
-24
15
1
0
28
-28
5
5
0
-3
-48
4
-3
0
-8
-1
-10
0
0
11
-1
-32
0
0
-7
-5
-31
0
0
-43
40
6
2
0
-5
0
-38
-5
0
2
-27
7
-2
0
4
-4
14
-1
0
-1
3
1
2
0
1
0
-6
0
0
-1
6
1
0
0
-11
-7
21
0
0
14
18
-13
2
0
21
-10
-8
1
0
-11
10
-11
4
0
20
1
-2
0
0
0
1
-1
-1
0
0
0
-6
1
0
0
0
-3
0
0
3
0
3
0
0
0
-7
-3
0
0
0
0
3
-1
0
-1
-3
-14
-2
0
2
0
-1
3
0
0
-18
0
-3
0
-1
0
-7
0
0
5
-4
23
0
-58
-15
-8
5
7
0
36
42
-30
-45
0
-49
-43
43
12
0
61
8
41
9
0
29
-17
-5
0
0
22
-41
19
-3
0
-37
36
-7
-8
0
-3
7
3
0
0
22
-8
19
-3
0
3
-57
-7
-19
0
-25
-10
-31
3
0
-38
11
-7
3
0
-47
9
-40
7
0
1
-13
5
0
0
-1
2
11
0
0
-1
0
0
0
0
-23
20
10
-2
0
-54
4
8
-4
0
-28
-16
76
2
0
5
7
15
0
0
-3
-7
12
-9
0
2
5
-4
1
0
5
-4
11
0
0
0
-3
-22
0
0
-9
4
1
-1
0
-7
19
-17
15
0
11
1
-10
3
0
3
23
5
-1
0
1
4
-1
-6
0
1
2
6
-4
0
-4
-2
10
-3
0
5
4
-5
-1
-13
-19
-11
-43
5
0
-1
13
-7
13
0
128
10
16
2
0
-8
1
3
-8
0
-1
-8
6
0
0
19
7
-5
0
0
1
2
-5
-4
0
1
6
1
0
0
23
16
7
2
0
-6
-14
15
0
0
-5
0
0
0
0
1
-8
-1
1
0
2
0
0
0
0
-10
1
-12
7
0
-1
-2
0
3
0
-7
-5
-4
3
0
-1
4
21
11
0
38
-12
-50
-42
0
22
-29
-52
-70
0
2
102
36
46
0
-53
163
-14
91
0
8
-17
-79
15
0
13
11
38
-40
0
32
-26
79
-48
0
39
-9
13
-59
0
22
-25
51
1
0
-10
40
-9
12
0
2
29
-34
-54
0
-8
8
15
-14
0
10
-13
67
54
0
0
-5
-30
26
0
-58
0
94
77
45
-29
41
-1
-1
0
26
11
5
0
0
7
-1
33
13
0
-8
-5
6
6
0
-19
11
-4
10
0
11
-12
-10
1
0
7
1
-11
-2
0
1
-1
0
0
0
-27
-6
14
-4
0
0
5
-10
-3
0
-7
-1
-3
0
0
0
0
0
-3
0
-11
-4
3
-2
0
-5
-19
8
-1
0
3
48
-39
0
0
-5
-21
2
3
0
-35
31
16
0
0
166
-20
-12
-52
0
-66
152
2
-43
0
27
1
49
27
0
6
-4
14
-25
0
-55
-18
-32
6
0
16
-47
34
11
0
1
2
-20
26
0
27
-52
44
-18
0
18
-32
44
-8
0
25
-9
-4
-40
0
0
-41
-52
3
0
1
-4
9
0
0
-5
-44
-43
64
0
-13
56
22
14
0
-19
-56
31
-33
5
-33
-48
-68
-17
0
16
-1
-12
-4
0
12
9
-16
4
0
-4
8
-5
0
0
-17
-4
-3
-3
0
-4
6
-8
2
0
-2
1
3
0
0
-5
2
0
0
0
-5
-7
-13
2
0
8
-10
1
0
0
-2
0
0
0
0
0
-3
1
1
0
6
0
2
0
0
2
-1
-5
0
0
0
0
0
-3
0
8
-26
6
5
0
-9
55
3
-4
0
34
-133
105
-1
0
2
-14
-33
-3
0
63
-34
-73
-23
0
18
-12
13
-17
0
28
-19
24
14
0
8
-12
1
-15
0
-11
22
47
-70
0
-10
69
-21
-20
0
-16
-23
-3
-4
0
0
10
-11
4
0
-4
37
52
-17
0
-28
3
-11
-2
0
-1
-23
34
25
0
-2
10
32
-3
0
15
-5
-61
-14
-55
-13
52
-7
8
0
-10
9
9
0
0
1
18
-4
1
0
-27
11
-9
0
0
10
-32
-3
8
0
-19
1
52
0
0
4
10
7
-2
0
0
-8
-2
2
0
-37
0
-5
1
0
2
-9
0
0
0
5
3
-2
0
0
-1
0
-3
0
0
-1
13
5
1
0
0
-4
-3
0
0
0
-3
-2
-2
0
1
0
1
2
0
52
3
-55
12
0
-45
2
-47
-27
0
-17
60
21
42
0
86
-48
-55
-25
0
-110
10
-9
52
0
-19
-27
13
-7
0
12
-24
-11
-15
0
21
-23
-21
20
0
39
35
-33
-40
0
0
20
10
3
0
-1
-10
-43
-23
0
5
-64
-6
0
0
-7
3
117
12
0
-3
44
38
-26
0
1
42
7
1
0
9
-43
-63
-11
-17
78
10
51
-20
0
-16
49
-12
-5
0
9
-14
14
-17
0
-8
-7
-4
1
0
33
17
-15
4
0
4
-8
2
0
0
2
2
10
0
0
0
0
-1
0
0
7
-6
-9
0
0
-1
-2
-14
-4
0
-2
1
-3
4
0
0
3
0
0
0
1
-3
2
1
0
-1
0
6
0
0
2
0
5
-5
0
0
1
-7
0
0
-31
-7
7
3
0
25
-7
-35
1
0
22
-53
-58
11
0
21
-6
-65
-9
0
-89
-13
27
2
0
32
3
12
3
0
-15
4
2
2
0
17
-17
-28
10
0
9
-25
-51
20
0
44
49
12
-20
0
5
-5
-20
7
0
0
4
16
2
0
1
2
-7
0
0
2
-13
-35
-33
0
0
10
38
-4
0
-9
0
-4
0
-13
37
-47
67
16
0
34
27
-3
-2
0
-21
29
-7
-4
0
6
1
-1
2
0
8
22
6
-2
0
11
-18
-4
-1
0
-9
12
2
-5
0
0
3
-4
1
0
-29
3
-15
1
0
1
3
-1
2
0
2
-6
1
-1
0
0
0
0
0
0
1
-2
2
-2
0
2
0
3
0
0
0
-14
-2
0
0
2
4
0
0
0
-32
8
-3
-4
0
-32
48
-17
55
0
17
-48
3
26
0
3
-26
0
0
0
-8
6
-48
26
0
23
-17
-35
-24
0
-19
-23
57
3
0
-5
10
12
-7
0
2
-3
27
39
0
4
7
29
0
0
0
4
-3
-2
0
0
1
-8
-1
0
0
-2
5
4
0
1
-32
40
20
0
12
2
48
-40
0
-1
26
-57
-8
-14
-20
-3
43
15
0
-28
2
6
-3
0
33
4
4
3
0
6
-11
-8
0
0
-11
5
-4
1
0
11
7
2
0
0
-1
-1
-1
0
0
0
0
1
0
0
-17
-1
-14
0
0
2
-9
2
0
0
0
2
0
0
0
0
1
-1
1
0
-1
0
-4
0
0
-1
0
1
0
0
0
0
0
0
0
2
0
5
0
0
-5
0
1
0
0
67
-12
-3
18
0
-60
-70
56
23
0
-27
42
25
-4
0
21
-50
-14
-3
0
37
15
-45
6
0
-9
-53
-22
11
0
-4
9
26
-31
0
-13
7
-20
-5
0
-3
-2
-38
-7
0
0
0
-3
-1
0
0
-14
-18
-15
0
0
0
0
1
0
-3
44
-47
-38
0
3
7
-5
-3
0
11
-7
-31
8
8
-24
-28
7
-7
0
-16
18
31
0
0
13
6
-11
7
0
4
13
-7
-2
0
-17
-10
-2
19
0
-8
3
-6
1
0
-2
-7
6
0
0
3
-2
0
0
0
10
3
7
-2
0
0
-2
0
0
0
-5
0
-8
0
0
0
0
0
0
0
7
0
8
-1
0
0
-2
-5
-1
0
0
6
-5
0
0
-4
3
0
0
0
7
-6
20
3
0
-35
-33
11
19
0
-45
38
12
20
0
-85
46
13
-34
0
61
-117
33
-32
0
-14
15
-16
18
0
-38
-38
-32
24
0
-35
10
10
-15
0
-25
-39
-26
27
0
-5
-22
-13
4
0
-1
-10
-32
0
0
1
0
22
-12
0
1
12
-14
-6
0
-3
-77
42
3
0
0
-12
7
0
0
4
-17
7
13
30
44
19
-7
-15
0
3
48
10
-4
0
9
11
35
4
0
-16
-9
20
1
0
-52
9
5
-1
0
-1
27
3
1
0
0
8
-5
0
0
0
1
0
-1
0
17
9
0
-11
0
39
8
-46
-3
0
13
-12
0
5
0
-2
5
-50
0
0
21
1
37
3
0
2
15
20
-8
0
-3
2
16
-1
0
-6
-3
-25
11
0
11
-52
12
7
0
22
54
-60
21
0
50
-35
54
7
0
33
-7
29
7
0
-39
-61
0
-10
0
6
5
-8
-4
0
13
0
-79
9
0
-13
-1
-6
27
0
-24
-4
6
13
0
15
16
43
-80
0
15
124
3
32
0
15
-96
67
65
0
-65
7
69
-17
0
-18
-36
32
-38
0
2
14
18
55
0
6
33
37
-9
24
-60
-91
10
70
0
-14
65
-18
16
0
65
-14
24
-12
0
-5
5
22
0
0
18
-2
-50
-8
0
15
8
0
0
0
-12
-39
-14
0
0
1
-3
2
-3
0
-28
-6
-8
0
0
2
45
-4
2
0
39
-5
-15
-8
0
2
-11
-1
0
0
20
9
1
4
0
7
-3
1
-2
0
1
-29
-8
0
0
0
5
0
-4
0
-11
-12
-12
-5
0
-33
50
-26
15
0
86
-80
3
4
0
-18
-26
15
-4
0
-21
53
15
-1
0
-9
20
-38
17
0
-4
9
-2
0
0
-1
-4
4
-5
0
-5
-17
-8
2
0
118
8
-29
19
0
6
101
38
-17
0
-16
-82
-13
9
0
-14
93
-21
-17
0
-52
36
67
13
0
-62
37
-58
17
0
5
21
-42
-45
77
16
15
-61
-22
0
-8
28
14
-2
0
6
10
25
1
0
29
-54
19
4
0
-4
-16
-2
-2
0
9
-12
-2
1
0
-2
-6
1
-3
0
1
-1
-1
7
0
-28
2
0
-1
0
-7
6
1
3
0
-1
1
-3
0
0
7
31
-11
2
0
-17
0
-15
-2
0
2
7
4
-3
0
2
0
0
-1
0
5
1
4
0
0
-13
-5
-6
1
0
34
47
54
35
0
44
1
8
-2
0
-58
-34
15
-15
0
-47
-13
-6
2
0
-7
5
-38
2
0
8
29
-22
-8
0
21
16
18
-1
0
8
-1
-18
-5
0
-23
34
22
39
0
-35
34
2
19
0
-1
24
-43
-39
0
52
47
0
18
0
48
-30
-13
-16
0
17
-29
39
-12
0
3
-29
39
5
-23
-9
-117
46
-14
0
10
2
13
1
0
9
-1
4
-9
0
6
-3
-32
0
0
64
15
11
2
0
5
2
-1
0
0
2
-4
-3
-1
0
-5
0
-3
-1
0
-14
21
3
7
0
2
-16
-4
0
0
-14
-34
-5
1
0
-19
-12
3
0
0
0
-13
4
1
0
-1
-1
-3
0
0
-4
6
-3
-4
0
1
3
0
0
0
5
6
-2
4
0
-10
70
16
2
0
-21
9
23
-9
0
-19
5
-5
0
0
-25
-18
-33
15
0
-1
1
-2
-3
0
2
-1
-1
-2
0
1
1
1
-1
0
-25
10
49
1
0
-33
-7
115
59
0
-35
-18
2
-4
0
-5
-51
-47
-32
0
-42
-8
-24
-12
0
22
18
-21
39
0
10
-30
11
51
0
16
18
-42
-11
-31
-32
-77
7
-45
0
-84
20
69
32
0
-19
-22
11
2
0
-27
-47
-11
0
0
1
-40
-49
-1
0
30
-6
19
-6
0
48
21
-45
5
0
-1
-3
20
-2
0
10
-19
-7
-4
0
58
60
23
16
0
16
-42
-6
15
0
-1
-34
22
-8
0
-3
-20
-8
14
0
16
25
0
-1
0
0
2
42
0
0
0
13
-1
1
0
9
-28
-23
-3
0
-28
-33
28
-59
0
124
2
-35
38
0
-28
9
-54
-15
0
-44
-29
-8
-9
0
60
14
2
32
0
1
-21
-12
-5
0
1
34
-7
-14
0
-41
8
43
-3
0
-19
9
32
71
0
18
-2
34
3
0
4
-4
-92
23
0
-63
-75
31
43
0
15
55
-46
-19
0
-1
-23
23
-11
0
35
-37
-7
-20
-6
-68
90
-31
-5
0
-4
55
14
3
0
48
-24
-34
15
0
-25
-8
14
1
0
-76
52
-32
3
0
3
-2
6
-3
0
-48
-15
-22
2
0
-8
0
-1
0
0
5
2
-10
0
0
-33
5
10
5
0
3
6
-9
-7
0
3
5
-6
-1
0
23
7
-27
-5
0
-1
-11
10
8
0
-12
-10
9
-1
0
-2
-11
2
0
0
-9
16
-4
-6
0
7
15
37
-14
0
-69
7
28
-18
0
6
-47
-7
-18
0
31
-7
1
0
0
14
-13
-9
-2
0
40
20
-25
-13
0
-1
-3
-5
-2
0
15
-2
-23
5
0
-16
34
17
5
0
42
-73
35
19
0
70
-40
47
-21
0
-28
-48
45
-16
0
50
6
-4
-21
0
-29
46
-5
-25
0
5
46
8
12
-11
-25
29
-22
17
0
-41
56
3
11
0
5
-74
-7
23
0
-14
-7
-10
4
0
-39
4
45
-13
0
10
37
8
-2
0
-3
1
13
0
0
1
3
1
0
0
12
11
14
0
0
-60
54
-28
-15
0
25
-55
-25
-3
0
7
-12
9
3
0
43
5
8
2
0
2
8
1
0
0
0
-8
0
0
0
-11
-2
-3
1
0
7
11
7
7
0
-85
24
74
-8
0
-79
-68
38
48
0
-87
-24
47
-33
0
46
-48
-5
-1
0
20
47
-2
-5
0
19
1
4
-9
0
-13
-30
19
7
0
19
-12
-63
-8
0
-32
85
33
-68
0
45
-138
-37
4
0
47
-3
19
8
0
3
-34
-44
-72
0
3
-5
23
5
0
1
-18
-16
-13
0
38
30
-46
-42
-35
37
-49
35
13
0
34
-12
-23
-17
0
-72
9
17
19
0
-83
-12
65
-11
0
81
-17
-12
25
0
-25
1
9
0
0
-7
-3
43
-5
0
-9
-1
4
0
0
-4
-32
21
6
0
12
27
-6
17
0
-21
43
-27
6
0
9
-53
-2
-5
0
-22
5
-37
-2
0
0
-19
-38
3
0
-3
4
-2
0
0
-2
2
1
3
0
-13
-32
10
-8
0
-53
-28
-48
28
0
74
-14
-3
0
0
51
-100
-1
-27
0
-21
19
-48
0
0
12
-18
26
0
0
-12
-67
-33
0
0
-5
-23
16
-2
0
-31
30
-12
-29
0
-14
7
1
94
0
62
-32
-44
-55
0
-116
22
-3
32
0
29
15
30
-53
0
0
-7
-12
11
0
-2
-30
-27
-37
0
18
-44
-72
9
-11
17
14
-15
-28
0
17
0
11
10
0
-36
-37
35
9
0
12
46
16
-11
0
45
29
-24
-8
0
18
40
-33
-12
0
59
-15
-17
10
0
-1
3
42
10
0
-13
-33
-40
-38
0
16
7
9
-4
0
23
21
-19
-8
0
11
34
9
-23
0
11
10
-7
3
0
2
-2
-14
8
0
1
3
-1
-3
0
-25
2
63
-10
0
-12
25
-4
8
0
24
-23
-6
0
0
16
3
-3
-1
0
-2
2
3
0
0
-17
-1
-19
0
0
7
5
-2
6
0
3
-22
16
0
0
0
-12
2
-7
0
-2
-11
-9
-2
0
-10
-1
6
0
0
5
2
41
1
0
0
2
-19
1
0
-8
10
-18
11
0
4
-2
32
-32
0
0
17
12
-7
0
-19
12
67
7
-14
-6
25
22
32
0
0
48
-31
-6
0
8
18
-59
-2
0
24
-45
10
29
0
15
-10
56
12
0
0
-8
66
5
0
74
6
-33
-28
0
1
-38
29
-6
0
-17
-1
35
-3
0
0
-21
-5
7
0
-18
-37
-16
-5
0
-3
9
1
-3
0
5
28
-13
-21
0
0
9
29
0
0
0
22
7
13
0
-7
0
61
22
0
43
36
-1
9
0
6
-10
-18
1
0
-22
-23
8
3
0
2
-5
-6
3
0
-18
7
10
0
0
0
12
-10
-2
0
1
0
32
1
0
0
-2
-6
0
0
15
38
3
3
0
-4
-5
-2
-5
0
7
-18
0
-13
0
0
5
-41
0
0
5
10
-12
-3
0
5
-9
62
4
0
19
10
-15
14
0
5
4
10
1
-8
-22
51
1
29
0
47
32
-50
39
0
17
-32
-3
-23
0
-51
16
24
-2
0
-24
6
-40
22
0
24
-45
6
-2
0
-11
1
0
-8
0
-22
-34
42
4
0
23
7
9
-6
0
-7
12
9
-7
0
39
-7
-17
11
0
24
9
-19
-6
0
42
-24
-7
-4
0
-18
-5
6
-1
0
0
-5
-14
-3
0
-7
-15
24
9
0
-51
16
-6
-10
0
-14
-12
-11
2
0
13
-1
-20
0
0
-2
0
-9
-1
0
11
-1
2
-9
0
-6
17
1
0
0
-2
-2
-11
1
0
-2
2
0
0
0
-10
-1
-26
-1
0
2
19
3
-2
0
6
-11
-6
5
0
0
-3
-12
1
0
2
-6
-14
0
0
-7
-9
-22
2
0
1
-14
5
6
0
17
0
0
-5
-18
3
-14
67
-9
0
39
-105
12
1
0
-65
-20
50
3
0
-49
16
15
-1
0
11
9
-24
8
0
41
-42
0
-25
0
39
3
58
-11
0
22
35
-24
1
0
-6
50
15
-17
0
0
-1
-63
2
0
21
-1
-8
32
0
-19
20
35
-3
0
8
-62
14
-7
0
2
3
17
-1
0
1
1
0
7
0
-4
18
37
2
0
9
23
-13
-2
0
-11
-5
2
2
0
-25
62
14
-5
0
-1
-6
-16
0
0
-1
27
-8
4
0
-7
-11
1
6
0
0
6
-1
0
0
-1
7
1
-3
0
-3
-13
4
4
0
-14
-29
-13
10
0
-14
0
-12
1
0
0
-1
-26
-2
0
-1
-1
-1
3
0
1
4
26
11
0
-4
11
60
-5
0
11
-34
-34
20
39
23
10
5
11
0
-29
-20
3
1
0
75
18
-10
-23
0
44
-1
29
-7
0
-39
37
11
-6
0
-1
-2
10
0
0
8
1
0
1
0
2
2
0
0
0
-6
-16
10
2
0
7
-35
-2
0
0
-55
26
-10
-2
0
0
-2
7
0
0
-11
31
-4
0
0
-1
-1
12
1
0
0
0
4
-1
0
-1
4
4
1
0
17
0
-14
10
0
8
-1
1
0
0
3
-3
-2
-1
0
0
0
-1
0
0
0
4
7
2
0
-1
1
-2
-3
0
0
0
2
1
0
0
0
4
0
0
-2
1
1
0
0
-8
15
-29
4
0
-2
4
-4
1
0
0
-7
8
0
0
-12
2
33
2
0
-2
-4
13
3
0
-3
0
-6
-8
0
1
-24
-7
0
-8
-28
2
42
-6
0
-4
5
37
16
0
32
-21
-31
3
0
16
33
-16
1
0
16
17
-27
4
0
-22
0
-7
-1
0
-5
-2
9
-1
0
0
4
-4
0
0
20
23
-1
1
0
-13
-26
0
0
0
-14
20
-20
-1
0
5
7
-8
2
0
-25
1
6
0
0
0
6
-4
-2
0
1
-3
-1
3
0
4
1
-5
3
0
-15
2
-1
0
0
3
-4
0
0
0
17
4
-19
-3
0
7
0
-1
-1
0
-19
-2
9
-1
0
1
-2
9
0
0
0
0
11
2
0
0
-2
1
0
0
1
1
0
1
0
13
-18
35
1
0
55
-12
2
0
0
-2
-5
-39
-1
0
-26
-17
13
0
0
1
7
1
-2
0
-3
2
-1
-3
0
-11
-1
-12
-9
-57
-13
-35
14
20
0
-3
6
24
-2
0
9
32
-14
2
0
12
-13
-12
-3
0
1
-23
11
12
0
-2
1
1
0
0
0
4
-9
-5
0
0
-2
0
0
0
10
-3
-21
4
0
-2
-14
17
0
0
9
5
2
0
0
-1
-1
3
0
0
9
-7
2
0
0
0
2
-1
2
0
-1
0
-2
0
0
1
0
3
0
0
-20
0
23
0
0
0
18
0
-1
0
-1
0
0
0
0
0
-1
-1
0
0
0
0
0
-3
0
-2
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-2
0
3
4
-3
3
0
0
-2
-7
0
0
2
-2
4
-1
0
1
11
-1
1
0
0
-11
-1
1
0
0
-1
2
0
-17
14
-20
1
-6
0
38
54
-57
2
0
-15
13
6
-7
0
26
14
46
12
0
14
3
35
-2
0
-10
8
5
4
0
16
1
-28
1
0
-8
-5
3
1
0
-59
1
10
-2
0
5
7
7
3
0
-3
-2
12
-1
0
1
15
-15
0
0
12
-2
13
-6
0
-1
-20
2
-2
0
5
-7
-11
-1
0
-3
-5
8
0
0
-41
4
-16
-3
0
28
5
12
-12
0
0
-7
16
-1
0
1
12
-9
-1
0
41
-7
4
1
0
-2
-2
8
3
0
0
1
-20
-1
0
0
1
-2
-1
0
-3
0
-6
0
0
7
-11
2
3
0
12
4
-26
2
0
-4
3
14
-1
0
-7
-1
-4
-2
0
4
-1
-8
-5
0
7
2
7
0
0
-13
-13
-15
3
49
-5
17
-2
9
0
-25
72
-3
-12
0
-19
73
-33
-11
0
42
-73
-29
-1
0
11
-33
9
-7
0
1
9
-6
5
0
-26
8
-53
14
0
-6
-4
-1
0
0
43
18
23
14
0
3
1
-18
3
0
20
-15
6
11
0
-2
19
17
1
0
-12
-57
32
-7
0
-1
2
0
-2
0
5
2
27
-5
0
0
0
3
1
0
17
-6
1
3
0
-14
4
6
-1
0
4
-4
1
-2
0
-10
4
-5
0
0
-10
0
3
6
0
-1
9
5
1
0
18
-9
-1
0
0
-1
-1
0
0
0
2
-11
-2
3
0
-3
1
-1
0
0
0
-5
25
0
0
0
0
-6
0
0
0
-3
7
7
0
-17
10
-29
3
0
2
9
37
11
0
2
3
-9
-6
54
35
35
-28
4
0
-56
-23
-17
6
0
-7
-32
-4
-3
0
15
-2
4
2
0
46
11
40
11
0
-10
-8
28
-4
0
-8
-21
-15
-3
0
0
6
-10
0
0
51
-11
0
1
0
32
26
-1
7
0
2
-8
0
-13
0
0
-19
-19
0
0
-28
-1
11
-6
0
-1
19
-12
1
0
0
8
29
0
0
-2
-8
8
0
0
-3
2
-32
0
0
-18
3
-2
0
0
-9
-2
-9
0
0
0
5
0
0
0
2
2
4
0
0
-1
16
-2
0
0
-1
4
12
0
0
-3
1
0
0
0
3
-1
2
0
0
-2
19
-6
0
0
0
-2
0
0
0
0
-1
6
0
0
-4
-3
-1
0
0
0
-3
1
-4
0
1
-8
-5
4
0
-3
-2
-6
-3
3
12
-1
-27
3
0
29
-27
34
7
0
-7
52
23
8
0
73
-63
13
-3
0
37
-14
-21
2
0
3
-3
17
-4
0
0
20
-5
2
0
-1
2
-45
0
0
-4
-8
57
-11
0
14
27
-4
-1
0
36
54
-51
-14
0
6
-14
12
2
0
-54
15
-3
4
0
0
2
-4
1
0
0
1
-11
-4
0
4
3
-4
3
0
7
1
6
1
0
-8
-2
8
0
0
-42
-10
-8
-4
0
0
-4
10
0
0
5
2
-20
6
0
6
5
-2
-3
0
1
3
-27
1
0
-2
0
0
1
0
-6
18
6
1
0
-10
9
6
2
0
3
-1
12
-5
0
2
-3
-1
0
0
0
2
-5
-1
0
-1
-4
19
-1
0
3
3
-16
6
0
6
-4
-22
-2
9
-39
-33
-28
18
0
59
-70
30
-18
0
21
32
22
31
0
15
55
-18
5
0
-56
-6
-20
14
0
-15
-4
-1
0
0
-3
-17
5
10
0
17
-2
5
0
0
-1
9
-8
0
0
3
13
42
2
0
-30
-24
-11
-6
0
-5
-1
-51
-6
0
-67
15
-14
-4
0
1
10
1
-3
0
0
-15
-8
-2
0
-9
-17
44
4
0
13
19
-8
-10
0
15
18
-31
0
0
-55
6
-5
-1
0
2
-5
1
0
0
-5
2
1
-2
0
-1
-21
11
0
0
7
0
-13
0
0
0
1
-1
0
0
6
7
-5
0
0
-4
-3
17
2
0
0
0
5
0
0
0
0
0
0
0
7
-4
1
-1
0
3
-22
9
-15
0
-16
4
10
-14
0
9
3
-14
-1
43
44
-4
-9
-22
0
-10
-43
12
0
0
55
-3
10
-37
0
-2
-4
4
2
0
10
-32
-2
-15
0
-18
-11
4
0
0
2
2
2
0
0
-4
0
-3
0
0
-23
-1
-12
0
0
25
-6
-44
4
0
3
2
-2
0
0
2
1
1
1
0
0
5
21
0
0
1
-1
-5
0
0
0
0
9
0
0
-1
0
-2
4
0
2
11
14
-3
0
-23
15
0
0
0
1
3
4
-7
0
0
0
2
0
0
1
-1
-2
0
0
-3
-1
-2
0
0
-2
0
-8
0
0
0
0
-2
0
0
-1
-2
2
0
0
9
-5
-11
1
0
0
-2
-2
-1
0
2
3
0
0
0
0
1
0
2
0
1
-1
4
-3
0
3
2
-7
0
0
2
6
1
-2
9
-9
0
6
-1
0
22
-24
14
-17
0
-52
50
43
-8
0
-14
18
-22
-2
0
24
8
-2
0
0
-1
-7
3
2
0
4
-1
2
0
0
2
-6
-1
0
0
16
8
1
0
0
39
47
-19
7
0
26
-10
16
0
0
-3
6
-1
-4
0
0
-5
1
-1
0
1
-2
4
0
0
0
1
0
0
0
0
4
3
0
0
-10
0
-12
-2
0
14
-21
0
4
0
10
1
5
0
0
0
1
3
0
0
-10
1
-3
0
0
2
1
-3
4
0
0
3
1
-1
0
0
0
0
0
0
2
-1
3
-1
0
3
-1
1
-6
0
5
-4
10
1
0
0
0
1
0
0
0
-1
1
0
0
0
-2
-1
0
0
-1
0
-2
-2
0
-15
3
0
0
-34
1
12
-10
0
0
24
78
-16
33
0
-13
-6
-5
7
0
7
-21
-23
-6
0
60
-25
21
4
0
9
-27
-1
0
0
-22
-1
9
6
0
0
0
-33
3
0
-51
-1
-3
-1
0
14
-25
3
-2
0
-12
34
-13
-7
0
0
-2
4
0
0
17
-3
11
-3
0
7
-3
1
-1
0
-1
0
0
0
0
1
0
0
0
0
-5
-15
4
0
0
-20
33
28
-2
0
8
6
0
-3
0
2
-2
5
0
0
-3
-8
-8
-1
0
0
-5
6
0
0
2
1
13
8
0
0
1
0
-2
0
-7
6
0
0
0
-15
74
14
-3
0
-2
1
-10
-3
0
-1
3
1
2
0
1
-2
4
-5
0
-1
21
5
0
0
0
-3
-7
-2
0
-1
1
-14
2
46
-8
-15
-13
-6
0
61
54
-17
9
0
-7
20
59
-12
0
69
-54
43
-34
0
20
-28
22
8
0
-7
-7
15
0
0
5
-1
27
1
0
-1
-2
9
0
0
-15
2
-33
11
0
-2
-20
2
-15
0
-24
3
3
5
0
2
10
-32
-3
0
-11
-48
-2
4
0
3
7
-9
-3
0
-6
-6
-16
4
0
1
5
-2
0
0
6
-25
1
-15
0
-3
-14
10
9
0
21
-8
34
2
0
-10
-26
23
-1
0
-9
-7
-40
9
0
-3
-10
18
11
0
5
0
10
2
0
1
4
0
0
0
-27
2
-33
0
0
3
-2
11
6
0
-19
9
20
-2
0
0
-29
39
-2
0
0
-2
-6
0
0
-1
-43
22
-6
0
2
-1
-4
-7
0
-6
-11
-17
-3
-45
-36
47
-24
-1
0
-11
50
-17
2
0
27
-9
8
1
0
21
2
21
-2
0
-35
-24
24
-3
0
-19
-12
4
0
0
6
-2
2
-6
0
0
4
0
0
0
11
10
1
-4
0
-4
23
-3
0
0
6
13
-4
1
0
-3
-28
-12
0
0
-6
-15
25
6
0
-14
29
3
2
0
-1
18
-10
2
0
14
7
-13
1
0
-26
18
9
27
0
28
-42
-41
10
0
-23
58
-13
-56
0
44
-53
-68
17
0
-10
34
-34
20
0
-4
-19
-66
46
0
-17
-104
1
-10
0
18
16
63
-59
0
39
88
8
-5
0
-6
-38
43
-72
0
-33
11
-31
-34
0
-29
-9
-24
-50
0
-17
-46
-1
3
0
44
9
-6
78
0
-2
-30
57
42
0
3
-10
35
46
17
55
71
-20
-10
0
-11
-18
5
1
0
-48
17
14
0
0
-22
6
1
-1
0
-22
-9
-9
8
0
-4
3
-2
-5
0
-14
2
1
1
0
0
4
1
1
0
-39
-16
2
-3
0
37
-2
6
-2
0
54
4
-5
3
0
1
-5
-14
-2
0
1
16
-20
2
0
1
-5
22
-3
0
5
14
-9
0
0
-3
0
35
0
0
-18
2
46
21
0
15
-33
-41
-44
0
-35
-64
-34
-56
0
10
53
-45
35
0
-14
14
-8
31
0
-16
-56
-50
15
0
-20
12
-10
-13
0
-4
22
56
26
0
25
7
3
-13
0
-20
36
7
-16
0
-1
-19
16
20
0
-7
3
53
5
0
1
7
22
2
0
0
8
-61
3
0
1
10
52
-1
0
19
-30
58
-15
62
17
-23
-23
14
0
11
27
-34
-1
0
7
8
20
-7
0
5
14
5
0
0
-25
22
-10
1
0
-23
4
-10
0
0
-9
5
-4
-1
0
7
6
0
-1
0
11
-4
0
0
0
-3
8
1
0
0
-8
-3
-4
-2
0
5
4
-4
0
0
15
7
22
0
0
7
-4
-16
0
0
1
-2
10
0
0
3
-8
0
0
0
-59
-13
-18
8
0
-41
-43
14
19
0
70
-84
3
-41
0
58
15
33
31
0
-66
1
22
-5
0
13
-27
-2
-38
0
8
2
-41
-5
0
-25
-21
37
11
0
-16
-1
-12
-43
0
4
-4
1
-8
0
-9
26
-26
4
0
1
-7
-48
-5
0
18
-1
-14
-8
0
1
14
15
-34
0
1
32
5
8
0
-5
-5
17
53
-45
-19
19
38
12
0
47
-6
1
6
0
-8
-27
-24
3
0
4
5
13
-1
0
-5
21
-1
-2
0
-3
26
-3
0
0
-6
-1
0
0
0
0
-7
1
0
0
28
-22
0
1
0
-8
4
2
3
0
-32
-5
-1
-3
0
1
0
-8
0
0
-16
-1
6
-1
0
0
-2
0
-1
0
0
-4
-3
0
0
18
6
1
0
0
53
17
10
1
0
-30
-40
40
-15
0
89
-70
-73
17
0
-6
14
56
6
0
-9
54
-40
20
0
15
-11
-56
17
0
16
-23
26
9
0
10
-11
-22
-16
0
31
27
6
-11
0
34
13
-42
-6
0
-43
19
16
-7
0
-1
4
19
0
0
9
-17
16
-5
0
-16
-35
-25
27
0
0
-6
34
-3
0
2
25
-70
-41
9
-9
-14
-52
-38
0
-1
31
14
12
0
50
-7
3
10
0
-26
-11
-2
-3
0
-11
6
-43
9
0
-6
-4
-1
0
0
8
-3
-7
-6
0
0
0
-4
0
0
17
1
-27
0
0
19
-10
8
-3
0
-11
1
-4
5
0
4
19
-3
1
0
18
-28
-13
-12
0
2
3
-3
0
0
0
-2
0
0
0
-9
0
1
-1
0
-2
-14
-31
-6
0
59
-66
-15
25
0
45
-2
-10
-50
0
49
23
-16
-49
0
-94
-49
-21
61
0
-5
19
-15
-8
0
-45
-14
-2
3
0
2
9
2
0
0
-23
-50
-8
38
0
47
24
22
14
0
11
-20
29
4
0
9
4
-4
-1
0
-48
40
20
-23
0
-7
-32
-16
-1
0
0
-2
24
4
0
-49
-14
13
10
28
12
-28
6
-12
0
-12
72
-14
9
0
-5
8
-12
-15
0
-11
-21
2
5
0
33
34
-1
-5
0
-3
-1
0
2
0
-16
4
0
1
0
-4
-2
-1
0
0
-31
24
0
0
0
2
-5
-9
14
0
-2
2
4
0
0
0
-8
1
0
0
15
-1
-14
2
0
2
-1
-6
0
0
-2
0
-8
0
0
0
-19
4
1
0
-6
26
-10
-5
0
60
-43
66
25
0
1
26
5
40
0
-4
-16
9
-27
0
34
-91
-12
-51
0
-51
19
-12
-50
0
-25
-26
-6
4
0
20
47
-8
-8
0
4
-37
1
9
0
-51
-9
34
4
0
20
-25
-26
-11
0
7
13
-43
-3
0
39
14
-14
-1
0
-6
-24
17
-29
0
-2
23
5
2
0
1
-43
-10
-11
15
24
-46
5
-9
0
12
19
24
-6
0
-13
9
21
7
0
2
-9
1
0
0
-24
-24
-2
0
0
4
-2
-1
0
0
4
-4
-1
1
0
0
0
0
0
0
16
-1
9
-6
0
-2
-14
15
2
0
0
23
-4
1
0
-1
-33
1
0
0
20
0
-4
-1
0
0
1
1
0
0
0
0
-3
0
0
-2
2
1
-1
0
-2
-17
0
-2
0
26
126
-10
-21
0
6
-18
45
22
0
47
-6
-26
-12
0
-67
63
17
6
0
37
-13
-45
-3
0
22
-24
-2
-35
0
27
-23
-25
4
0
-19
0
5
-2
0
-15
-3
-6
45
0
21
15
-6
-3
0
-41
-3
21
3
0
27
-13
7
-3
0
0
11
-12
-49
0
0
-9
-11
-1
0
-18
10
-33
9
-13
-27
-6
-37
10
0
9
35
32
-19
0
-10
-10
4
-10
0
20
-31
-4
-10
0
-43
-15
6
-15
0
25
3
0
2
0
-29
-2
19
-1
0
2
-4
4
-2
0
-42
-7
-7
-4
0
-13
83
-8
24
0
-43
11
17
12
0
-6
-21
-7
7
0
1
3
-5
-11
0
7
10
-15
-3
0
19
-16
-5
0
0
-1
-3
-6
-3
0
32
30
-3
5
0
41
88
-29
27
0
53
69
30
-4
0
-78
-74
33
-56
0
-98
-59
39
7
0
26
8
1
12
0
9
-6
12
-8
0
-5
-3
-13
-26
0
-34
-7
-73
12
0
29
6
47
-1
0
5
-50
13
1
0
51
-20
0
9
0
-40
11
-14
-17
0
4
-60
-35
9
0
-6
-2
0
-12
0
-7
-44
14
15
-8
6
-21
-24
-21
0
16
18
19
2
0
-67
32
11
-6
0
26
-73
31
7
0
35
-9
22
22
0
27
16
5
-6
0
7
-13
-7
3
0
25
2
0
2
0
-6
5
-29
8
0
-16
3
-26
-8
0
31
-2
8
-3
0
7
16
-8
0
0
-8
-9
19
4
0
3
-28
0
6
0
-9
2
18
0
0
0
1
-2
4
0
9
-16
21
4
0
118
15
-113
-22
0
-6
41
24
31
0
17
-37
26
-17
0
39
-22
-32
-31
0
47
-15
41
-4
0
24
55
-2
-9
0
-44
2
59
-2
0
-7
3
3
-14
0
-97
-8
25
9
0
34
122
-66
-5
0
57
-55
78
-35
0
-67
22
-16
32
0
-33
64
-49
4
0
-35
-17
30
39
0
34
-1
39
114
-28
10
74
83
-23
0
17
-5
-25
10
0
-32
-5
0
24
0
-9
12
-4
3
0
51
2
-1
2
0
8
-19
6
1
0
-42
48
0
0
0
-12
15
0
0
0
99
-12
8
1
0
-15
39
-1
-8
0
-25
-26
-4
-9
0
2
-14
7
-1
0
8
15
-2
0
0
-8
-22
0
0
0
2
11
-9
0
0
1
-4
-50
0
0
-3
33
15
0
0
34
18
-11
-2
0
-17
-24
35
15
0
102
-35
17
-19
0
-27
-12
-4
3
0
13
16
-4
1
0
34
-17
-48
-4
0
0
-3
-8
0
0
-25
-20
40
-1
0
-54
-16
11
31
0
88
21
28
-21
0
-32
-7
-8
-7
0
-30
187
-11
-4
0
6
-23
60
21
0
-4
-3
-48
2
0
0
-2
-7
-36
-16
8
17
42
-37
0
-16
33
23
-8
0
17
-30
-27
10
0
9
12
21
11
0
-16
15
22
-24
0
8
-1
16
-1
0
-19
-12
28
-1
0
4
1
9
-1
0
-54
15
-2
0
0
7
-1
23
1
0
40
-42
-3
-3
0
2
7
19
-1
0
26
-4
2
2
0
4
3
4
0
0
0
0
-21
2
0
6
-1
-2
-3
0
-55
7
-10
-18
0
-6
-10
11
-4
0
44
-63
81
-29
0
-62
34
9
17
0
77
-40
22
11
0
20
32
-29
11
0
-31
21
-40
20
0
24
-39
8
-32
0
12
4
8
22
0
-10
85
-5
36
0
75
-44
-22
46
0
-15
29
-4
-32
0
-18
-52
-3
-57
0
-23
-6
14
-10
0
-15
7
39
-6
0
65
58
18
-62
19
-86
-10
41
-2
0
-59
33
34
23
0
41
-24
-44
-13
0
-69
13
-16
20
0
27
-5
-20
7
0
23
-13
2
-2
0
14
-19
32
-13
0
65
-3
8
1
0
-52
22
3
4
0
-2
-26
-48
4
0
-42
-12
-14
3
0
4
33
-2
11
0
-74
1
6
-1
0
2
-6
8
0
0
3
-1
-20
1
0
0
-5
-10
-2
0
31
-9
15
1
0
42
-121
-20
-47
0
42
19
36
35
0
-1
-18
-10
-9
0
54
-19
6
-22
0
50
-18
-35
-18
0
6
-18
0
-8
0
-1
-3
-34
-7
0
-17
42
28
-10
0
-15
-8
53
70
0
-65
152
-124
5
0
67
-50
-57
-17
0
12
-185
89
20
0
55
52
-6
44
0
11
69
55
-35
0
-61
33
-62
-17
-56
-54
-64
9
12
0
40
56
15
-27
0
57
37
5
24
0
-78
10
18
5
0
9
-24
12
-4
0
9
12
0
3
0
37
1
-44
5
0
-8
-9
22
-2
0
1
13
-5
-8
0
-33
-38
8
4
0
29
-18
-19
5
0
-1
-11
-1
7
0
-17
4
-1
43
0
0
20
-2
1
0
3
-1
8
17
0
3
2
1
-18
0
10
-42
8
-9
0
-19
-10
92
-10
0
25
-38
-13
-19
0
-5
26
-12
-5
0
51
10
-22
-8
0
-47
5
-34
2
0
-1
-54
18
-23
0
0
11
4
-2
0
21
-8
3
-7
0
48
12
35
0
0
-14
-7
-6
-11
0
-3
-80
13
55
0
-18
-57
59
-7
0
-27
-13
15
12
0
-1
-20
-40
22
0
1
-19
-57
-35
-18
-47
5
-7
28
0
-27
3
5
44
0
22
-6
15
2
0
-27
0
-15
11
0
-59
49
-1
-35
0
-9
25
3
3
0
25
-3
45
-3
0
-16
1
-1
0
0
-27
-1
22
1
0
-17
47
6
21
0
41
-19
-73
-1
0
-6
-54
-1
-2
0
-25
17
-2
-11
0
1
9
5
-2
0
4
-5
-2
2
0
0
1
-2
0
0
-18
-2
-4
10
0
-29
71
-8
56
0
20
-61
55
-15
0
35
-43
41
-8
0
85
-46
-13
13
0
-16
18
14
9
0
-3
-19
-47
0
0
-4
20
-24
7
0
-17
2
-19
-1
0
32
38
11
5
0
6
34
79
-27
0
-86
-24
5
10
0
-6
32
-1
-37
0
-5
-28
26
21
0
-4
1
-12
-3
0
16
-28
-49
15
34
-7
-46
-51
-27
0
2
0
23
-4
0
52
-12
11
-14
0
45
39
-3
1
0
62
43
-18
-4
0
48
-1
35
1
0
-34
-43
16
-2
0
-28
0
2
1
0
32
1
-33
-16
0
28
36
-18
-12
0
-26
-18
-7
18
0
4
9
-10
2
0
-20
23
-1
15
0
-1
12
16
4
0
5
-1
-53
-2
0
5
4
-3
0
0
-44
-36
-7
-1
0
-34
-1
19
-25
0
-58
23
-23
21
0
-23
-27
5
11
0
-121
-27
-10
50
0
60
43
32
16
0
9
-1
-33
2
0
9
-61
14
23
0
25
-4
-28
-18
0
121
-92
97
7
0
28
-37
20
-17
0
-3
90
-64
-35
0
-56
46
-35
15
0
32
6
-5
-59
0
3
1
-56
-4
0
-25
2
2
-8
34
-38
-62
20
12
0
2
71
33
17
0
-23
28
11
83
0
-27
49
-12
-24
0
-20
-12
-46
20
0
23
-37
35
-4
0
-51
-44
16
5
0
-37
-10
-23
-7
0
3
-1
3
-12
0
-44
-13
1
-11
0
19
13
-21
32
0
10
-29
18
-3
0
5
9
-38
-4
0
-9
5
18
-2
0
-1
-17
-10
-2
0
-1
1
-23
10
0
23
-12
2
-10
0
17
24
72
20
0
-46
52
51
53
0
-75
1
-77
-36
0
-47
-1
-57
-14
0
-1
6
-9
5
0
18
31
-24
32
0
-31
20
-8
-14
0
-42
-13
-15
-8
0
16
31
-25
-44
0
-33
-90
15
-21
0
-14
-49
40
32
0
-5
44
6
21
0
-2
48
85
-6
0
56
-55
16
-19
0
95
30
-109
-50
-42
52
-46
-24
63
71
-32
103
44
20
58
-11
81
66
-2
-23
-10
5
-27
32
-12
36
-13
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-2
-22
-9
0
6
9
-6
-26
0
-9
18
15
-4
4
-8
-13
-62
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
13
20
18
2
-4
50
66
8
-3
13
-25
42
-1
0
9
-14
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
27
16
-9
0
2
10
-5
4
0
-8
-22
2
-1
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
-19
70
-5
-36
6
99
-41
3
-33
38
-32
37
-66
50
7
-7
38
48
70
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
9
-54
-28
1
11
-31
-17
-12
2
-5
-17
17
10
2
-34
-35
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
50
27
-1
40
-43
20
-2
-3
2
8
17
-24
-3
3
-39
-4
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
18
-7
7
0
19
-9
29
-10
0
-1
0
3
1
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
34
85
19
-45
8
3
6
5
-20
-9
-3
14
82
17
10
6
-52
12
17
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-6
20
-4
15
-1
20
-11
-22
0
-10
-13
-5
1
-3
-11
-7
-26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-29
-5
33
37
0
-22
-35
-1
-6
0
-7
-35
-38
-6
3
3
-12
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
-3
-6
0
-1
2
7
1
0
4
0
-4
0
0
3
-3
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
24
-21
5
-15
-7
81
-28
43
29
-46
15
40
61
-19
99
-44
33
19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-24
-14
6
0
-9
2
18
10
-15
3
-10
7
48
-3
-1
12
32
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-32
7
0
2
-7
4
-2
13
6
42
-39
9
2
-32
-18
11
-34
-11
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
-10
-10
0
6
0
0
3
12
2
0
19
15
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
14
-12
29
-14
-15
1
1
0
34
-16
-9
16
-8
-10
-8
59
-18
41
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-44
0
17
18
9
34
-13
-10
-11
0
0
-16
-6
-5
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
-13
-12
22
-15
1
0
10
-3
-26
0
1
-24
-18
-12
-6
0
-8
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
44
6
0
-33
7
-10
3
0
17
-8
-2
-3
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
-27
-17
66
-19
-21
-15
66
-27
-12
17
62
17
7
13
12
-9
16
-21
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
29
-56
-1
-8
28
9
10
-16
2
-2
-47
-11
-3
-1
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
-3
6
0
1
1
-2
-16
-20
-5
18
0
-3
6
5
0
0
-13
1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
27
14
-3
0
-19
-1
9
3
0
-2
-3
-4
0
0
-18
1
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
49
-15
10
-25
7
9
6
-1
-20
-11
-4
41
-57
23
-52
19
-13
45
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-12
-6
0
0
-1
-2
-2
-1
-5
1
12
-1
10
13
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
6
-21
0
-4
-1
6
-1
-2
0
-1
-5
3
-1
-1
-2
10
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
1
1
0
1
6
0
-3
0
-21
0
1
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
-99
11
2
59
11
24
-53
6
-35
-14
49
30
13
4
34
-56
-30
42
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-27
4
-17
20
-25
36
27
14
-21
24
21
-22
-19
14
11
28
-32
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
-51
12
-3
-1
-12
1
-3
0
-6
15
-2
17
-1
7
-17
19
-40
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-19
11
1
0
10
5
-2
2
0
-20
14
6
-8
0
-5
-34
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
56
-28
-22
52
13
-15
5
29
6
-11
34
-57
52
-1
-46
-14
40
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-15
28
-4
6
73
6
28
-20
13
5
-6
27
65
-7
-27
19
-9
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
31
34
-33
25
-100
-11
34
2
-8
6
-33
2
18
0
5
-33
-2
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
94
20
-35
47
-28
26
-5
-7
10
3
-27
43
-8
4
1
-1
-21
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-50
36
-27
38
54
-4
-59
-13
27
14
0
42
-13
35
34
21
89
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
31
51
-3
-35
-42
7
-17
-1
-2
-6
0
-59
-2
-23
-2
3
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-18
-62
51
-8
29
-3
-22
0
7
-7
-28
-21
-33
1
22
10
18
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
11
-3
-9
30
-20
-34
-3
5
0
7
-2
-3
8
-3
25
-22
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
7
38
26
-17
-15
-27
11
4
-15
40
-25
-18
-49
2
9
-25
14
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
13
-1
8
44
6
-1
-3
1
11
-22
-19
32
-17
9
11
-36
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
55
55
-23
0
-9
4
-15
-41
7
8
-27
-36
-2
15
-32
-78
12
-32
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-17
-29
-35
9
-39
-7
54
2
1
39
-11
-9
2
-17
12
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-45
-21
3
15
28
-53
-45
-33
13
-45
25
51
-48
12
15
58
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-15
23
4
2
-23
-10
63
-11
-7
-1
14
-39
27
-21
31
-40
36
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-40
9
-25
1
-10
-8
-8
-29
-45
4
89
22
28
5
-25
48
2
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
23
-8
-3
8
-58
5
21
0
-7
26
-42
13
-2
2
1
46
-24
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-3
26
48
8
-41
-5
-19
23
-13
-9
-36
-33
-18
-15
36
-91
6
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
41
-8
17
-9
-26
12
-16
1
29
1
13
58
-59
-10
49
-16
12
-40
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
50
32
21
1
-39
-5
10
3
-2
6
0
-10
3
-2
-8
-9
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
38
9
42
-16
57
0
41
38
3
-2
-6
-15
-34
1
-1
-8
-1
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
37
-10
38
-2
-50
10
39
-43
-5
-33
-42
-15
-27
-4
15
32
-3
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-11
25
-25
2
10
22
-15
49
6
8
-48
3
-23
0
4
23
-16
10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
13
-1
1
34
-5
-22
-13
0
-1
-1
7
-3
0
-3
-2
-10
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-6
23
16
25
-31
54
20
-10
-27
-5
5
3
1
-4
-4
-40
-13
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-43
-15
0
8
35
-13
0
8
5
18
2
4
-10
15
1
-73
74
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
1
13
0
14
-2
9
-1
1
-13
-3
-6
23
4
-48
29
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-13
18
-7
-5
-28
15
-16
-23
-13
6
-45
-37
5
0
-73
84
5
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
22
-2
-11
21
-29
17
42
-15
12
5
-15
-52
-28
3
10
3
-12
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
13
-60
46
0
15
-70
29
36
-29
-22
-51
38
3
-20
-90
-13
-25
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
57
21
-1
20
-12
24
45
-1
-18
-27
7
18
-6
-7
43
9
-39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-36
-34
-28
-3
-69
15
5
-3
-38
-3
-42
-10
-12
14
38
52
-19
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
14
6
-43
21
21
-2
8
29
17
-2
18
15
11
-19
-17
-44
-39
46
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
34
22
24
25
9
45
9
1
4
-10
-21
10
-14
0
2
21
0
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
13
5
12
8
-31
24
17
-10
-9
3
11
10
6
3
14
-2
1
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
62
37
46
-6
95
-23
38
-30
53
25
-146
19
-106
-1
-75
34
22
76
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-43
27
39
7
-14
48
-33
-6
4
0
46
9
-17
5
0
14
32
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-59
12
-27
19
-21
54
-5
3
-1
0
37
-2
8
-7
15
-13
-6
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
-22
12
11
-86
54
22
48
-6
5
-3
-9
13
12
-3
-25
-20
-38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
56
-79
40
13
85
142
98
4
-52
-47
-30
0
-26
-12
-36
-104
-77
43
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-33
-38
-84
32
-44
20
-8
2
0
10
8
1
1
0
-21
-3
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
8
-37
-7
18
-26
7
-3
-5
-21
-23
4
-47
-6
-3
62
-23
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
38
14
11
-31
-3
-12
-7
-8
0
1
18
11
-28
0
4
-29
-12
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
27
89
17
-65
65
-35
19
-41
40
-32
4
-40
14
27
-1
-73
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
57
-4
-9
6
-18
-86
2
-22
1
29
-13
-11
18
4
-17
-13
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-4
28
18
0
16
-10
35
17
-3
45
75
12
-3
2
-56
-70
20
-44
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-55
-2
-11
0
9
-12
-28
-9
9
4
26
3
31
6
-28
-28
34
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
36
16
-8
1
-26
19
-58
-29
21
-43
-42
58
55
39
72
44
-43
-54
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
-22
25
-10
-2
-20
14
11
18
9
-4
-7
1
0
-16
61
10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-13
-6
-25
-3
22
-10
-1
-13
-1
-5
5
-44
12
-17
5
-37
-22
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
11
11
35
-1
38
8
-11
0
0
0
3
7
10
2
-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
77
-62
36
-94
26
-16
37
2
-16
6
-118
-5
11
-4
8
-112
22
-8
54
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
23
3
-57
68
40
118
-70
-37
15
-40
48
-36
-61
2
7
-33
35
12
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
7
-17
13
4
-6
46
33
-12
-21
-11
53
19
2
-3
-4
50
-25
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-11
-7
-2
-24
-4
-3
27
5
-15
11
2
-1
-2
6
-8
-13
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
-1
-38
64
57
-27
50
46
15
5
30
-118
16
-16
-13
40
-104
-25
-21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
8
33
-8
33
-43
42
-4
18
-23
21
-30
55
8
-22
15
-20
-6
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
21
-21
-5
14
25
-9
-6
-5
-2
1
21
21
-3
0
-5
-6
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
8
15
2
3
-3
-1
-5
2
-3
0
-4
-1
0
1
-3
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-6
75
-37
14
35
-73
-80
-15
-6
40
42
-8
-2
-58
-1
75
36
-49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-80
40
23
-65
-19
-2
11
8
-33
-27
-40
12
-10
11
-6
-10
-17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-8
-3
6
0
12
21
-6
-3
2
-6
33
-4
17
20
7
-5
38
38
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-13
9
-1
-3
2
-22
-5
-3
2
-24
-20
2
1
-19
7
3
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
-35
-40
29
-37
38
-39
40
-40
-55
5
-12
19
-37
81
-87
-55
-65
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-50
-18
-6
30
-31
-83
25
34
-5
-27
-61
-14
-9
37
65
-20
10
34
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-48
-11
-2
-8
32
21
19
41
8
-16
-9
-6
-32
-2
-1
11
2
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
21
45
18
36
19
7
-3
17
32
5
-14
2
13
-46
15
-51
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-117
50
12
-72
-61
64
22
27
25
56
-11
-30
9
33
27
-47
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
47
-36
21
8
82
-67
2
86
19
49
68
0
8
3
-90
10
-21
15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
21
23
9
-15
50
-30
-58
-10
20
-7
12
-22
-6
-4
55
-1
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
61
-8
-41
-37
-29
-4
-51
-29
-4
-8
1
20
9
-10
9
13
-24
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
32
45
-15
-2
-9
-86
33
43
4
60
75
-16
-24
19
-74
6
13
-20
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
53
-7
-32
121
21
-7
14
-34
96
-73
65
-17
50
35
37
48
-47
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
28
17
6
0
-5
-5
13
13
9
17
-45
-68
5
1
-10
-8
14
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-67
2
22
0
-1
8
34
19
-29
-3
-11
39
-38
28
14
14
-2
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-40
44
30
9
53
-13
-42
-2
2
12
40
26
-17
-7
-50
-45
47
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
21
8
51
-72
12
52
18
-52
6
13
83
-9
-21
-12
-58
-1
-18
2
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
25
-8
-15
13
-14
22
16
-5
7
22
13
-28
0
-1
46
-38
-5
-43
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-47
1
-36
11
-18
-16
-34
-14
-21
-1
-5
-45
-28
0
-18
-2
-14
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
37
23
-18
0
-36
15
38
-2
-26
47
-91
-51
36
13
69
-57
26
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
47
13
-6
117
-2
13
35
-22
-23
-80
-18
3
84
-5
-46
-30
-44
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
-11
50
28
-20
-17
-6
28
12
27
-12
25
-56
-20
8
-74
-45
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
46
6
-43
38
6
-21
16
-31
19
-15
23
-68
4
8
5
0
20
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
30
-28
-32
-49
102
38
0
-47
-17
-101
100
-4
-55
27
-7
7
-32
38
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-8
-17
57
-33
-3
16
33
-1
18
24
0
74
-64
18
46
-68
-59
43
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-30
4
35
-1
-4
-11
39
1
7
-26
-90
7
11
-11
-11
-12
-20
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
-18
4
-25
-15
-74
13
11
-13
-2
-36
7
-2
1
-39
-5
15
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-92
-4
12
13
64
17
6
-32
5
-28
31
52
-7
-54
16
28
-32
-40
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
32
11
29
18
-30
77
-12
-15
-18
-7
41
-35
23
22
-3
27
19
-1
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
18
21
-7
-35
25
-64
-18
11
-10
-101
57
-62
4
-41
27
-36
-11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
30
11
-6
-13
-1
31
-9
2
-12
-16
41
-2
5
-10
-7
-34
21
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-10
-1
48
-2
-78
-7
16
31
56
-61
-6
-10
76
-31
-5
12
37
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-39
-89
41
-72
-85
-28
-16
20
-22
-127
-58
-11
-3
-35
-56
-82
108
-12
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-41
29
-14
2
-134
-11
-75
50
4
-31
-8
-28
48
-7
-46
10
-2
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
25
-34
43
10
-30
-5
-12
-27
23
16
0
13
-49
1
-6
-32
2
49
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
19
-61
-115
-14
58
-9
53
-4
-26
-21
18
-46
5
-30
-52
-12
-20
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
104
-107
5
-44
6
-70
-8
-2
-44
4
6
3
-3
-5
25
-13
-22
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
-10
69
58
-10
35
-20
5
14
11
-1
49
-62
3
31
-50
69
-33
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
-1
-23
-10
41
11
16
-11
-1
1
7
32
-9
-3
5
33
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-9
-3
47
1
-4
50
15
20
0
5
-27
-18
-4
0
1
-16
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
52
-12
20
2
-3
38
-23
1
-6
0
-19
5
-19
4
0
-14
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
32
33
-35
7
20
68
43
11
54
-44
58
-28
64
-22
-11
-40
31
69
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-4
-3
10
9
3
32
8
-34
-14
0
2
4
6
13
-1
-18
-11
14
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-34
-1
10
-7
42
-5
-19
-7
10
-1
7
-10
-17
0
3
-51
8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
8
1
0
-1
6
3
3
0
0
3
3
5
0
6
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
-34
25
-6
-40
43
29
-10
13
-10
32
-24
-18
6
73
-34
-8
27
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
-25
-17
-18
-4
-9
10
-33
0
0
-4
8
-14
11
3
13
-27
-34
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
4
-34
-29
0
10
-9
-12
6
0
15
-32
9
-8
-1
4
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
61
1
14
0
2
12
-15
6
0
-17
-40
31
9
0
-19
-47
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
57
-31
-23
14
3
-20
10
41
-18
-37
63
37
3
-50
59
-18
98
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
12
22
-29
-4
2
-57
2
-6
7
-2
11
-35
21
2
-7
22
-4
30
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-19
-5
-6
4
-18
-37
-2
-9
0
18
-4
12
1
10
-13
-58
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
19
-11
-3
0
17
-12
-15
-4
0
-3
-11
-5
1
2
14
-4
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-13
-42
20
-26
20
-29
41
48
-11
-5
1
45
44
12
-41
53
24
11
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
-22
-26
9
-3
5
-8
17
1
0
7
-1
24
0
0
-12
2
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-26
-16
-11
26
-38
-9
-15
7
-1
10
2
3
1
-2
-11
8
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-9
-5
0
-4
45
9
4
0
-3
-2
17
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
-40
-25
1
-18
-24
-22
37
-5
-52
16
-10
-77
6
25
6
-30
-32
61
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
21
9
9
0
14
59
-24
-5
-9
-1
4
-24
13
0
-2
4
-16
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
27
8
-8
4
50
-28
-18
9
-13
-1
2
-7
3
0
-7
3
-31
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-13
-1
-4
1
-3
2
10
5
0
-4
7
1
-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
-17
20
11
11
-5
-8
-2
-48
23
1
2
1
17
-10
-5
29
-34
34
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-17
-9
3
1
1
8
1
2
0
4
-4
-5
3
-2
-4
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
14
4
21
-2
-9
1
-4
9
2
-6
11
9
-1
0
0
-1
-3
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
45
8
-2
-1
-7
0
-3
0
0
-2
1
-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
31
37
0
20
8
40
-35
1
-3
-25
7
68
-10
7
-4
68
-79
42
-53
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-13
21
-5
-31
-24
1
4
1
1
-40
24
10
-2
20
-37
51
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
29
44
2
-2
-23
-1
8
12
-14
-4
22
-31
43
1
-15
-4
20
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-14
-29
-5
0
-9
5
6
-3
0
1
-5
-11
1
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
39
-3
87
36
-2
40
33
-16
8
-16
-12
-13
22
-8
4
-2
18
-72
9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
40
55
3
32
10
8
70
-24
7
-1
8
-27
4
5
-4
-12
5
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-20
-5
9
-5
2
11
-1
-1
-1
2
-6
0
-2
0
-14
-3
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
-16
-10
-1
0
-5
-6
56
1
0
4
8
-7
0
0
1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
35
-7
25
3
-4
-80
-16
-44
-3
26
29
-18
13
-1
12
110
-11
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-109
-2
62
6
4
12
9
-26
-14
14
-14
-23
-21
-3
-1
-31
29
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-8
4
-3
-14
9
41
-24
-1
0
-5
0
4
0
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
-2
17
-6
0
-1
15
31
-7
1
0
1
-7
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
-27
34
-19
29
29
-21
76
21
0
-19
9
-25
-10
-114
-8
27
-32
-7
-29
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-45
50
17
-20
20
-1
35
9
-4
2
8
9
10
23
-2
-2
-3
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-66
24
13
2
8
36
-40
15
7
-2
7
-29
9
0
4
26
15
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
26
17
-6
-7
3
-35
-42
7
0
12
22
17
-1
-1
6
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
-56
-34
-16
6
-41
-29
0
4
-3
10
33
-1
-25
-14
-15
69
-24
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-20
24
-15
0
-25
6
25
0
-13
1
-29
-1
37
-28
26
-19
-9
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-5
12
1
7
-28
-4
-5
-21
0
-11
-1
-6
0
5
84
6
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
24
-3
1
0
-41
1
29
-6
2
1
-13
8
2
0
52
-10
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-72
9
14
-6
-23
19
-25
8
-37
14
41
-21
-8
5
-66
3
7
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
8
-11
11
52
7
11
-17
-16
1
-5
-3
-2
-9
-3
2
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
55
-2
-16
3
-42
-14
-15
10
2
1
1
-2
-3
-1
1
-4
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
22
13
5
0
-3
13
-1
1
0
3
1
6
-4
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
-32
-9
4
11
-8
7
-14
8
-10
-1
-21
21
17
-16
-2
-32
1
33
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-8
34
-10
-14
23
27
16
90
16
1
32
-14
-10
1
0
-11
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-14
-7
-2
-15
10
7
-14
-1
-2
-8
5
0
-1
2
-6
16
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
2
2
1
-4
12
-12
-1
2
0
1
-3
-1
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
82
28
39
-6
17
23
-44
2
-14
-22
1
24
9
-17
14
-23
-10
7
43
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-66
27
26
15
-54
3
8
-13
1
17
21
25
-4
-8
-33
2
-10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-37
22
39
-27
-39
-23
20
-9
2
2
0
1
1
-5
5
-4
-14
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
54
-23
-36
-11
0
1
4
2
3
-4
-18
22
-12
-2
0
6
-22
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
119
-9
-38
-14
-45
25
30
27
18
72
-91
-46
42
23
-29
-21
2
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-80
-18
-4
-13
21
-6
-54
-11
-12
-23
-2
17
46
4
40
31
-51
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
10
54
6
-26
1
15
-8
13
-4
-12
-53
13
-3
-1
3
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
16
82
14
-6
3
-14
-19
-15
-3
3
-20
13
17
-8
2
22
-9
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
49
-26
1
18
19
-28
-4
-3
-1
15
49
-9
-7
-5
-29
-28
23
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
12
6
-27
5
9
5
-8
-10
1
6
11
-2
-2
0
-8
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
17
-8
42
-14
-40
5
-33
-56
26
-15
36
127
-72
1
-3
-84
-3
-16
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
-27
10
19
7
76
27
26
-4
6
43
-18
-27
3
0
-16
34
11
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-35
6
8
-7
60
-13
11
9
-2
-7
-34
18
11
-4
41
7
-11
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
16
0
-13
-11
20
-36
10
4
0
-1
2
-6
1
-4
-8
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-31
-11
61
30
-27
22
-14
-15
-26
-24
116
-29
-75
-9
-14
-154
-26
98
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
45
3
-15
2
-37
17
1
-3
0
31
28
-37
-1
-4
18
-48
-40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
31
-2
-5
-32
65
-5
11
-2
-36
-48
4
-26
7
15
5
-10
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
6
-11
-12
3
13
-1
-5
-8
-6
0
11
5
-21
0
-1
3
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
60
40
-77
2
23
-60
16
-3
40
-10
-95
-4
44
-29
-45
33
50
26
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
20
-86
8
24
-1
8
-8
1
-22
-33
-29
-4
-5
23
2
-14
-29
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
3
-24
-12
6
-28
50
-2
9
1
0
36
5
-2
-1
42
-15
-25
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
18
-10
-4
14
-22
-7
-7
-3
-1
8
0
16
0
-5
-24
-18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
20
6
-17
-2
-2
58
14
-47
-17
45
-24
-17
-13
-20
14
12
-70
-36
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-30
-9
2
18
-11
0
-24
-2
-27
10
43
-10
-13
1
8
16
54
-20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
15
-9
6
9
-20
-46
28
23
15
63
-12
-50
-23
-20
14
-35
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-1
2
-44
11
21
5
-20
-4
6
-3
10
3
0
0
-3
-6
1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
19
-40
-43
38
34
20
55
66
-84
-39
24
-43
-42
39
-33
33
-39
15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-42
-19
-17
-9
-1
-20
-22
7
11
1
7
6
-33
2
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
-29
27
-35
-12
34
30
18
14
-6
-20
19
-7
3
-39
6
-2
-21
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
1
-26
32
7
-56
14
-25
8
5
-5
2
1
-3
0
6
9
5
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-10
-10
-36
-15
-5
43
35
-6
5
-56
117
-22
43
-18
-37
-38
-68
-34
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-54
16
-26
-7
7
-60
-7
61
-19
0
-18
5
-26
-4
12
9
17
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
14
15
25
-2
12
5
16
-2
0
36
-30
6
-6
-11
-36
18
-27
37
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
28
-8
58
-13
-20
-14
14
5
-6
-3
-2
3
-10
3
1
5
-28
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-48
67
43
-5
-3
-85
-5
37
-31
-27
43
-112
-52
29
51
121
46
-74
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
12
55
-6
14
3
-35
-11
-3
-16
9
29
19
-21
-17
20
-18
1
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-18
1
66
-14
37
-52
1
45
4
-47
-73
-40
50
6
56
30
9
21
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
68
-40
5
-4
-49
-47
-23
-12
2
5
-2
-24
-22
-33
2
-18
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
38
1
-64
14
9
-52
14
-27
24
-68
-33
28
25
-25
-52
48
-28
-84
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-85
-57
121
-40
20
81
17
-71
-25
28
29
-7
-39
23
-11
-84
41
58
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
26
17
2
37
-7
31
-29
8
-33
50
-41
55
2
-37
19
-18
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
82
2
7
1
7
26
-11
-4
-2
-23
-19
-5
15
-2
31
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
50
59
70
7
-3
18
7
19
9
20
-23
16
-39
36
5
38
-16
14
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-40
2
-43
23
49
26
4
23
26
-39
-31
78
-15
12
-32
-10
-31
43
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-18
26
-21
-14
-51
27
54
-31
25
10
-9
-21
-45
2
-56
6
2
39
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
-9
-9
-5
83
8
-13
8
-7
0
0
0
-2
0
-4
1
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
78
34
-34
23
-29
-42
-11
76
5
-22
1
-19
42
-20
-56
5
31
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
104
-26
-18
-13
-8
-79
67
102
12
35
-20
-20
-27
-25
-3
-27
53
-50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-11
19
23
27
11
5
-18
-12
15
-23
-21
40
35
-14
42
-3
28
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-32
-13
7
-8
-2
22
-15
-4
-3
11
-7
1
-5
-14
17
-5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
17
-117
135
21
42
-48
1
-60
-30
-81
-35
108
-18
-14
8
49
-86
39
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
28
32
-7
-73
7
80
65
-61
-55
-86
-25
16
33
-26
-33
-64
35
57
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-2
-65
-14
25
-14
-29
15
-62
-28
-9
-23
12
12
6
-115
42
-11
2
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
43
24
23
2
-33
-17
4
-10
8
-26
-9
-15
5
-1
-8
-7
43
26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
-59
-99
1
-101
115
34
-5
-4
22
-94
-8
21
-16
5
-40
5
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
93
-29
-18
40
20
-46
-92
-10
39
-16
-42
-13
-17
43
-35
-5
17
7
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
31
16
56
27
75
36
0
-49
-3
-4
-45
4
-13
-14
-28
-29
16
22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-38
51
62
11
68
-22
0
4
0
-61
-18
-52
23
21
-59
9
47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
44
28
43
2
31
19
-73
-5
-40
-35
-19
-20
-46
-10
-30
-8
8
-16
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-83
-53
37
6
-23
50
-40
30
-7
-25
32
12
6
4
-26
52
-15
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
21
42
6
3
75
-4
-42
14
-20
8
-43
65
-5
5
13
-38
-35
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
56
52
28
-20
-20
-26
57
53
-9
7
-11
5
-12
-6
25
20
-6
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
60
37
-23
59
-67
18
-2
-21
-3
-21
-29
-39
46
-12
-36
-149
17
-41
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
40
41
-45
1
87
-67
-24
40
-5
-33
32
-47
22
22
-15
-12
-2
9
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
38
0
-15
31
19
-25
40
5
-31
-18
9
11
-26
0
-69
-97
23
35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-44
-30
23
21
-12
-20
34
14
21
-9
-22
-9
-13
8
7
-10
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
27
-37
61
7
-40
142
27
-46
8
66
-122
-27
-61
-19
30
-24
27
-15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
25
-23
38
56
-12
8
8
75
-23
49
-4
7
-63
-22
-3
-20
13
-82
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-32
-8
20
15
-22
20
16
24
26
-34
-18
9
-1
10
48
54
0
-114
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
30
-28
-28
2
-76
-25
42
-60
51
22
-40
6
19
-1
-12
-22
2
-11
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-77
61
80
-6
34
-5
-15
-9
12
3
-6
24
69
28
30
-62
-27
-47
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
38
24
-49
-69
-89
2
-37
12
33
-79
35
8
18
5
-59
-14
7
-15
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
17
15
16
-4
0
0
0
0
2
20
8
-46
-2
0
0
0
0
-27
-15
-39
-15
6
0
0
0
0
0
11
52
-24
9
0
0
0
0
-16
19
59
10
-51
0
0
0
0
-1
-19
50
6
11
0
0
0
0
1
-17
-16
54
14
0
0
0
0
-10
3
-18
19
46
0
0
0
0
33
18
-10
23
26
0
0
0
0
0
11
-4
44
-36
0
0
0
0
7
3
-53
-36
63
0
0
0
0
2
-1
-35
14
2
0
0
0
0
-6
22
28
-65
8
0
0
0
0
1
-1
15
3
80
0
0
0
0
-20
-2
-24
58
20
0
0
0
0
0
24
-2
52
-2
0
0
0
0
-26
7
-31
16
60
0
0
0
0
1
-5
-1
-88
36
0
0
0
0
-8
1
-8
47
-6
0
0
0
0
0
2
8
-29
13
0
0
0
0
10
-32
28
67
22
0
0
0
0
0
-3
12
-13
23
0
0
0
0
4
6
16
-32
44
0
0
0
0
1
-16
6
8
33
0
0
0
0
-18
-54
-23
-34
56
0
0
0
0
0
-9
18
32
8
0
0
0
0
13
-6
15
-14
12
0
0
0
0
2
1
-13
-20
97
0
0
0
0
17
20
-6
-20
-38
0
0
0
0
-4
-2
4
39
25
0
0
0
0
2
16
50
14
-38
0
0
0
0
15
76
-23
14
1
0
0
0
0
0
2
0
-15
2
0
0
0
25
9
0
21
16
-1
0
0
0
0
0
1
15
3
-31
0
0
0
-1
0
2
6
16
-4
0
0
0
0
-1
3
-1
-61
66
0
0
0
1
-7
-1
-26
-26
31
0
0
0
0
0
0
0
-3
-31
0
0
0
2
0
0
25
-25
22
0
0
0
0
0
-1
-4
20
30
0
0
0
-47
-8
1
-4
-25
87
0
0
0
0
0
-1
0
-13
7
0
0
0
1
0
-1
-2
9
-20
0
0
0
0
0
0
0
-1
49
0
0
0
-2
0
-1
29
39
-51
0
0
0
0
0
-1
1
14
-38
0
0
0
5
0
-13
-4
-8
27
0
0
0
0
0
1
12
10
11
0
0
0
38
0
0
25
-72
-56
0
0
0
0
0
0
1
37
-36
0
0
0
-5
0
0
-13
-21
51
0
0
0
0
0
0
0
28
-21
0
0
0
12
0
0
-1
-19
-5
0
0
0
0
0
0
0
15
0
0
0
0
-1
0
-3
-7
6
28
0
0
0
0
0
0
-1
31
-53
0
0
0
7
0
0
-4
-29
27
0
0
0
0
0
1
0
-7
14
0
0
0
-1
0
0
-4
-20
50
0
0
0
0
0
0
2
-48
50
0
0
0
-10
3
2
1
12
22
0
0
0
0
0
0
0
-28
1
0
0
0
4
-1
20
-2
-44
16
0
0
0
0
-1
1
-33
-20
-19
0
0
0
0
0
0
2
-54
33
0
0
0
0
-4
-5
3
-56
1
0
0
0
0
0
0
2
7
-74
0
0
0
0
0
0
0
-55
11
0
0
0
0
0
0
-3
35
19
0
0
0
0
0
0
0
11
-44
0
0
0
0
0
0
19
19
-34
0
0
0
0
1
3
-13
-7
81
0
0
0
0
0
-6
0
17
-6
0
0
0
0
0
0
-7
34
56
0
0
0
0
0
0
1
-31
29
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
-34
60
0
0
0
0
0
0
0
-20
4
0
0
0
0
0
0
-6
-8
-19
0
0
0
0
0
0
5
-10
-56
0
0
0
0
0
0
0
31
112
0
0
0
0
0
0
1
-14
27
0
0
0
0
0
0
-3
3
-11
0
0
0
0
0
0
0
-20
9
0
0
0
0
0
0
0
-2
65
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
0
39
-31
0
0
0
0
-1
0
3
-2
14
0
0
0
0
0
0
0
32
15
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
5
-8
5
0
0
0
0
0
2
2
11
-37
0
0
0
0
0
-1
0
-45
4
0
0
0
0
0
1
0
-22
2
0
0
0
0
-1
-7
-9
12
-2
0
0
0
0
0
1
-9
-7
-9
0
0
0
0
0
0
-4
8
-16
0
0
0
0
0
0
-3
15
15
0
0
0
-8
0
0
-9
-7
-11
0
0
0
0
0
0
-3
6
14
0
0
0
0
0
0
-14
-41
83
0
0
0
0
0
0
0
-33
58
0
0
-4
0
0
0
-20
-70
52
0
0
0
0
0
1
0
3
5
0
0
0
1
0
0
-4
10
2
0
0
0
0
0
0
0
25
-23
0
0
-9
0
0
-1
-1
-32
10
0
0
0
0
0
0
0
2
64
0
0
0
2
0
0
-1
-5
-76
0
0
0
0
0
0
0
-3
2
0
0
1
0
0
0
8
-14
51
0
0
0
0
0
0
-3
0
41
0
0
0
0
0
0
-3
-23
20
0
0
0
0
0
0
0
-17
24
0
0
-27
0
0
0
0
-10
33
0
0
0
0
0
0
-2
-4
-29
0
0
0
0
0
0
0
15
-4
0
0
0
0
0
0
1
1
-2
0
0
10
0
0
0
16
-11
-12
0
0
0
0
0
0
0
17
-50
0
0
0
1
0
0
1
53
-13
0
0
0
0
0
0
0
20
16
0
0
0
2
0
0
2
-38
22
0
0
0
0
0
0
-1
9
51
0
0
0
-1
0
0
0
-7
13
0
0
0
0
0
0
1
18
49
0
0
28
7
-1
1
-17
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
-2
8
4
6
32
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
9
45
48
0
0
0
0
0
2
4
-4
46
0
0
0
0
0
1
2
0
32
0
0
0
0
0
0
0
12
-62
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
9
16
15
0
0
0
0
18
-5
-5
13
-11
0
0
0
0
0
0
0
-58
-85
0
0
0
0
0
4
0
-38
13
0
0
0
0
0
4
-2
33
-8
0
0
0
0
0
-1
0
3
26
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-22
0
0
67
0
0
0
0
0
3
-3
7
26
0
0
0
0
-22
8
-27
-3
6
0
0
0
0
0
0
-2
9
23
0
0
0
0
0
0
4
-31
-1
0
0
0
0
0
-1
8
-3
13
0
0
0
0
0
3
2
1
-32
0
0
0
0
0
0
0
6
57
0
0
0
0
1
1
0
0
5
0
0
0
0
0
1
0
-12
-10
0
0
0
0
4
-6
1
10
-51
0
0
0
0
0
0
0
5
-44
0
0
0
0
3
1
0
-4
-44
0
0
0
0
0
0
0
-4
-39
0
0
0
0
3
3
-1
-3
34
0
0
0
0
0
0
-3
2
-43
0
0
0
0
2
0
0
4
-35
0
0
0
0
-5
-4
-17
-18
31
0
0
0
0
0
0
0
-10
-50
0
0
0
-24
0
0
0
-32
48
0
0
0
0
0
0
0
-29
46
0
0
0
0
0
0
3
-22
5
0
0
0
0
0
0
0
5
-19
0
0
0
4
0
0
0
-8
-5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
17
22
0
0
0
0
0
0
0
-3
-44
0
0
0
-15
0
0
0
-86
107
0
0
0
0
0
0
0
-28
47
0
0
0
0
0
0
-2
25
4
0
0
0
0
0
0
0
-1
-13
0
0
0
-2
0
0
0
-5
33
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
35
-21
0
0
0
0
0
0
0
-9
64
0
0
0
20
0
0
0
1
18
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
-3
20
0
0
0
1
0
0
0
7
9
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
0
11
-12
0
0
0
0
0
0
-3
-4
50
0
0
0
2
0
0
0
-17
-32
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
7
-32
0
0
0
0
0
0
-1
-2
-10
0
0
0
16
0
0
0
4
66
0
0
0
0
0
0
0
-3
53
0
0
0
-13
0
0
-1
32
-17
0
0
0
0
0
0
0
-31
23
0
0
0
0
0
0
0
-34
-16
0
0
0
0
0
0
0
3
-47
0
0
0
0
0
0
0
45
-16
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
4
4
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
-16
74
0
0
0
0
0
0
0
-8
38
0
0
0
0
0
0
1
-18
49
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
2
1
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
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
11
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
1
-32
0
0
0
0
0
0
-4
14
0
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
1
16
0
0
0
0
0
-1
-1
-18
6
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-25
-27
0
0
0
0
0
0
0
13
20
0
0
-18
0
0
0
-1
9
40
0
0
0
0
0
0
0
4
-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
-1
-1
-1
0
0
0
0
0
0
0
-28
25
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
9
19
0
0
10
0
0
0
-1
8
11
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
6
11
0
0
0
0
0
0
0
-1
-29
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
-8
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
1
0
0
0
0
0
0
0
-2
-13
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
0
-10
0
0
2
0
0
0
0
3
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
1
-16
0
0
25
0
0
0
0
-12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-50
6
9
13
0
0
0
0
0
-1
20
-31
-36
0
0
0
0
1
0
5
-62
24
0
0
0
0
0
-1
13
-29
44
0
0
0
0
5
5
6
-18
-3
0
0
0
0
0
-5
-5
19
71
0
0
0
0
0
2
-5
3
-7
0
0
0
0
0
0
-20
-4
25
0
0
0
0
-14
14
-7
13
-34
0
0
0
0
0
0
0
11
-28
0
0
0
0
1
0
16
5
48
0
0
0
0
0
1
1
-32
38
0
0
0
0
1
-10
-1
-9
-9
0
0
0
0
0
0
0
14
-28
0
0
0
0
0
-1
0
-20
43
0
0
0
0
0
3
0
-18
28
0
0
0
0
-7
-35
-26
-42
81
0
0
0
0
-3
1
-10
6
43
-3
0
0
0
-6
-1
2
23
-40
0
0
0
0
0
2
-10
13
45
-8
0
0
0
-3
-8
15
-8
-51
4
0
0
0
0
1
9
20
-15
-5
0
0
0
6
1
-16
-3
-37
11
0
0
0
8
1
5
-16
1
-14
0
0
0
16
49
23
26
25
-7
0
0
0
0
0
0
-17
-5
2
0
0
0
-1
4
-4
17
-62
17
0
0
0
0
-1
2
8
19
19
0
0
0
-1
6
1
33
-18
-24
0
0
0
0
1
1
3
-69
50
0
0
0
-1
3
1
-31
63
15
0
0
0
37
-25
-24
22
53
-1
0
0
0
0
0
0
-69
53
0
0
0
4
-3
0
-7
-42
32
0
0
0
0
0
0
0
-12
-6
0
0
0
0
0
0
8
-80
0
0
0
0
0
0
0
0
9
101
0
0
0
3
0
-9
1
43
-61
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
15
24
-48
0
0
0
0
0
0
1
-11
67
0
0
0
-3
0
0
0
-43
41
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
2
18
-12
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
2
-43
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
-1
-15
-16
1
0
0
-25
-1
0
-3
37
-4
1
0
0
0
0
0
4
11
22
6
0
0
0
0
0
-12
23
-27
11
0
0
0
0
0
1
-20
-27
3
0
0
-10
0
0
5
-19
3
26
0
0
0
0
0
0
-29
23
-18
0
0
0
0
0
8
11
59
-9
0
0
0
0
0
0
-5
36
3
0
0
8
0
0
2
-23
82
-34
0
0
0
0
0
0
12
35
-41
0
0
0
0
0
0
-3
-9
-27
0
0
0
0
0
0
-3
11
-5
0
0
-9
0
0
0
3
1
44
0
0
0
0
0
0
24
9
2
0
0
-18
0
-6
10
-25
-118
14
0
0
0
0
0
0
25
19
0
0
0
0
0
0
0
-6
-19
0
0
0
0
0
0
1
-27
4
0
0
0
0
0
0
9
55
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
-21
14
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
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
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-16
3
-4
0
0
0
0
0
0
8
-35
-11
0
0
0
0
0
-5
10
68
0
0
0
0
0
0
0
10
44
-24
0
0
0
0
0
0
-1
2
51
0
0
0
0
0
0
-1
1
44
0
0
0
0
0
0
0
2
14
0
0
0
0
0
-1
-1
2
45
0
0
0
0
0
0
-4
2
11
0
0
0
0
0
0
-1
-10
-6
0
0
0
0
0
0
0
-11
32
0
0
0
0
0
-2
-5
-2
-10
0
0
0
0
0
0
2
-1
30
0
0
0
0
0
0
-1
8
-14
0
0
0
0
0
0
0
-18
-39
0
0
0
0
0
5
-15
13
13
0
0
0
0
0
-1
52
-6
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
-2
-28
-18
0
0
5
0
0
0
5
-31
23
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
-1
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-19
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
-2
-5
0
0
-3
0
0
0
1
1
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
4
-2
0
0
0
0
0
0
-3
-23
-26
-5
0
0
0
0
0
0
-34
-31
-4
0
0
0
0
0
0
0
-25
-2
0
33
0
0
0
-7
-45
35
-22
0
0
0
0
0
0
9
-5
-9
0
0
0
0
0
2
0
11
52
0
0
0
0
0
0
-1
-1
-8
0
-1
0
0
0
0
2
-1
-9
0
0
0
0
0
0
2
-59
10
0
0
0
0
0
0
-2
8
-14
0
0
0
0
0
0
0
3
41
0
-20
0
0
0
0
-4
6
-35
0
0
0
0
0
0
-2
1
30
0
0
0
0
0
0
0
12
-37
0
0
0
0
0
0
-3
6
2
0
0
0
0
0
-6
-35
57
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-39
31
0
0
0
0
0
0
0
-6
-10
0
0
0
0
0
0
-19
-21
-33
0
0
0
0
0
1
16
-20
-16
0
0
0
0
2
-4
1
6
1
0
0
0
0
0
0
2
-2
45
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
8
0
21
0
0
0
0
11
-34
0
3
-5
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
-7
1
14
0
0
0
0
0
0
2
1
-13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
1
9
0
0
0
0
0
0
-4
-2
-16
0
0
0
0
3
15
-7
12
-75
2
0
0
0
0
0
0
-24
-49
39
0
0
0
0
0
5
0
12
10
0
0
0
0
0
-1
23
-44
36
0
0
0
-2
1
0
-8
49
47
0
0
0
0
0
0
-3
5
5
0
0
0
0
0
0
0
-7
-30
0
0
0
0
0
0
11
-7
-7
0
0
0
-5
-23
-16
-33
59
26
0
0
0
0
0
1
13
1
17
2
0
0
1
0
-14
-45
50
16
4
0
0
0
2
4
-16
34
-3
6
0
0
-2
1
-1
13
-42
-61
8
0
0
0
1
-2
-1
-23
19
8
0
0
-3
0
1
2
28
-72
17
0
0
3
2
28
-106
16
-15
9
0
0
0
0
1
-4
-26
0
0
0
34
0
0
0
-11
-37
0
0
0
0
0
0
0
7
-18
0
0
0
0
0
0
3
-6
9
0
0
0
0
0
0
-1
0
6
0
0
0
-1
0
0
-3
4
26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
1
-15
0
0
0
9
0
0
0
0
12
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
1
29
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
3
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
0
-7
1
-16
0
0
-1
0
0
0
16
-40
7
0
0
0
0
0
0
13
-28
29
0
0
0
0
0
1
-50
5
4
0
0
0
0
0
0
3
9
31
0
0
3
0
0
0
-4
7
5
0
0
0
0
0
0
-2
2
32
0
0
0
0
0
2
-2
-8
-62
0
0
0
0
0
0
-1
47
6
-5
0
8
0
0
0
-7
-45
18
0
0
0
0
0
0
-11
-37
-32
35
0
1
0
0
0
-21
50
-12
-24
0
0
0
0
0
0
55
35
-37
0
0
0
0
0
14
28
-187
22
0
0
0
0
0
-8
23
12
-28
0
7
0
0
-5
10
-13
102
-30
0
0
0
0
0
13
1
0
0
0
0
0
0
0
7
-15
0
0
0
0
0
0
0
6
-3
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
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
1
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
-1
-2
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
-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
-1
35
-56
0
0
0
0
0
0
0
-24
-31
0
0
0
0
0
0
2
12
-15
0
0
0
0
0
0
1
0
36
0
0
0
0
0
0
0
-6
43
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
-54
-108
12
0
0
0
0
0
-1
17
-12
-8
0
0
0
0
0
-22
49
-39
-8
0
0
0
0
0
-22
-10
8
28
0
0
0
0
0
0
1
57
10
0
0
0
0
0
-3
0
-15
-52
0
0
0
0
0
0
1
-39
-13
0
0
0
0
1
0
-21
130
-29
0
0
0
0
0
8
44
0
0
0
0
0
0
0
-11
13
0
0
0
0
0
0
0
3
16
0
0
9
0
0
0
0
-33
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
3
0
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
-8
0
0
-2
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
-5
-22
-19
0
0
0
0
0
0
-2
33
-1
0
0
0
0
0
0
0
1
-37
0
-1
0
0
0
0
2
0
83
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
20
0
0
0
0
0
0
-5
-5
78
-9
0
0
0
0
0
1
23
-10
-6
0
0
0
0
0
0
19
-116
64
-8
0
0
0
3
4
-23
60
-48
0
0
0
0
0
-3
-1
-45
36
0
0
0
0
0
0
5
-20
76
0
0
0
0
0
0
-4
37
12
-1
0
0
0
0
-24
52
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-25
35
26
0
0
0
0
0
3
60
6
7
0
0
0
0
1
5
4
-30
-6
0
0
0
0
0
-1
66
-113
27
0
0
0
0
-1
19
23
-45
-26
0
0
0
0
-2
-1
15
60
-21
0
0
0
0
2
-1
-18
-29
2
0
0
0
0
0
-3
-9
-54
0
0
0
0
0
1
21
-21
35
24
0
0
0
0
0
-4
-15
12
0
0
0
0
0
4
-8
-37
-5
36
0
0
0
0
0
0
-20
114
-37
0
0
0
0
0
8
1
2
-8
0
0
0
0
0
-2
12
37
-51
0
0
0
0
-7
2
3
-8
2
0
0
0
0
0
-6
11
22
3
0
0
0
0
2
-64
-31
-8
-3
0
0
0
0
0
0
-2
-9
27
0
0
0
0
-3
0
-34
-12
-8
0
0
0
0
0
1
-6
-13
49
0
0
0
0
2
-26
7
-13
18
0
0
0
0
0
0
11
-5
-7
0
0
0
0
-2
1
-6
-24
14
0
0
0
0
0
-1
29
-11
44
0
0
0
0
14
-10
1
15
-38
0
0
0
0
0
2
6
13
2
0
0
0
0
1
6
27
-32
-39
0
0
0
0
0
1
-14
-56
-2
0
0
0
0
-7
-3
1
18
0
0
0
0
0
-1
2
4
14
-24
0
0
0
0
-18
-9
27
-16
-15
0
0
0
0
41
34
-12
-24
15
0
0
0
0
0
1
-2
-72
13
0
0
0
29
0
0
-4
-15
3
0
0
0
0
0
0
-3
46
14
0
0
0
3
0
0
-5
80
-14
0
0
0
0
0
0
0
-30
28
0
0
0
0
0
0
0
-104
37
0
0
0
0
0
0
3
6
-22
0
0
0
0
0
0
0
51
-11
0
0
0
0
0
1
0
-30
7
0
0
0
12
0
0
-5
-18
66
0
0
0
0
0
0
0
8
51
0
0
0
1
0
0
1
6
-11
0
0
0
0
0
0
0
-11
12
0
0
0
-1
0
0
0
29
16
0
0
0
0
0
0
0
-5
23
0
0
0
0
0
0
0
13
-50
0
0
0
0
0
0
0
15
21
0
0
0
-54
0
0
0
-64
32
0
0
0
0
0
0
3
-5
34
0
0
0
1
0
0
2
-13
20
0
0
0
0
0
0
0
20
-64
0
0
0
0
0
0
-4
-1
49
0
0
0
0
0
0
0
3
39
0
0
0
-1
0
0
-1
24
-63
0
0
0
0
0
0
-1
41
-17
0
0
0
7
0
0
0
0
3
0
0
0
0
0
0
0
-21
-10
0
0
0
3
0
0
5
-32
38
0
0
0
0
0
0
0
-17
8
0
0
0
2
0
0
0
16
-99
0
0
0
0
0
0
0
0
64
0
0
0
-63
-10
12
-45
5
6
0
0
0
0
0
0
1
-58
39
0
0
0
0
0
0
0
-15
-14
0
0
0
0
0
0
-1
59
-6
0
0
0
0
0
0
-4
34
-47
0
0
0
0
0
1
0
5
-23
0
0
0
0
0
0
0
-41
37
0
0
0
0
0
0
0
2
-50
0
0
0
0
0
0
-5
-80
23
0
0
0
0
0
0
0
-70
56
0
0
0
0
0
0
-4
-40
58
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
-1
6
44
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
3
-3
-24
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
0
1
-7
-35
0
0
0
0
0
0
0
-12
18
0
0
0
0
0
0
4
-40
92
0
0
0
0
0
0
-4
-34
-11
0
0
0
0
0
0
1
-50
63
0
0
0
0
0
0
0
29
3
0
0
0
0
0
0
0
-11
22
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
26
68
0
0
0
0
0
0
0
18
-31
0
0
0
0
0
0
0
16
-29
0
0
0
0
0
0
0
6
32
0
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
0
9
87
0
0
0
0
0
0
0
-34
-84
0
0
0
0
0
4
-41
79
22
0
0
0
0
0
1
6
13
16
0
0
0
0
0
0
0
-22
-5
0
0
0
0
0
0
-5
-4
17
0
0
13
0
0
0
-22
-21
24
0
0
0
0
0
0
0
-18
67
0
0
0
0
0
0
2
-52
12
0
0
0
0
0
0
0
34
25
0
0
1
0
0
0
2
-13
6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
19
-38
0
0
0
0
0
0
0
-50
-40
0
0
1
0
0
0
-2
38
-26
0
0
0
0
0
0
0
-1
63
0
0
0
0
0
0
2
-36
5
0
0
0
0
0
0
0
22
21
0
0
0
0
0
0
2
-26
42
0
0
0
0
0
0
8
-52
38
0
0
0
0
0
0
1
26
-35
0
0
0
0
0
0
0
15
55
0
0
-3
0
0
0
-3
-9
5
0
0
0
0
0
0
0
32
-55
0
0
0
0
0
0
1
20
22
0
0
0
0
0
0
0
-6
23
0
0
0
0
0
0
4
10
-5
0
0
0
0
0
0
1
-13
-20
0
0
0
0
0
0
1
9
115
0
0
0
0
0
0
-3
-17
-4
0
0
6
0
0
0
0
-35
1
0
0
0
0
0
0
1
-60
45
0
0
0
0
0
0
0
32
-8
0
0
0
0
0
0
0
-1
-3
0
0
10
3
-1
-1
-2
6
4
0
0
0
0
2
3
9
-61
4
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
0
-2
8
50
0
0
0
0
0
0
-9
35
-12
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
-5
7
80
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
3
15
24
0
0
0
0
0
-10
1
-2
-17
0
0
0
0
0
0
0
5
5
0
0
0
0
0
3
0
0
16
0
0
0
0
0
0
-5
-22
-14
0
0
0
0
0
0
0
-9
39
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
-5
5
-17
0
0
0
0
-3
1
-1
-2
-6
0
0
0
0
0
0
2
-2
56
0
0
0
0
0
0
3
3
-1
0
0
0
0
0
0
-5
26
-14
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
3
0
-7
0
0
0
0
-1
0
0
7
35
0
0
0
0
0
0
-1
-3
20
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
1
23
7
0
0
0
0
0
0
-2
5
41
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
0
-17
0
0
0
0
3
-4
20
-81
26
0
0
0
0
0
0
0
-9
21
0
0
0
2
0
0
-2
-45
18
0
0
0
0
0
0
0
-25
-40
0
0
0
0
0
0
-4
-31
34
0
0
0
0
0
0
0
3
53
0
0
0
0
0
0
0
17
3
0
0
0
0
0
0
0
-1
-79
0
0
0
0
0
0
5
6
21
0
0
0
0
0
0
0
-3
-35
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
0
1
-5
52
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
-2
-18
31
0
0
0
0
0
0
-1
-14
28
0
0
0
0
0
0
1
10
-8
0
0
0
0
0
0
0
-28
-8
0
0
0
0
0
0
0
0
-4
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
1
0
0
0
0
0
0
0
-12
10
0
0
0
2
0
0
0
4
-43
0
0
0
0
0
0
-1
3
17
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
11
31
0
0
0
0
0
0
0
13
9
0
0
0
0
0
0
0
-4
4
0
0
0
-4
0
0
-8
36
20
0
0
0
0
0
0
0
-49
35
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
1
-3
-29
0
0
0
0
0
0
2
36
-42
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
-5
29
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
-6
24
0
0
0
0
0
0
0
0
-5
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
2
4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-11
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
-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
3
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
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
-51
21
0
0
0
0
0
0
2
38
-20
0
0
0
0
0
0
2
-80
1
0
0
0
0
0
0
-5
3
38
0
0
0
0
0
0
42
-104
24
0
0
0
0
0
0
-2
15
-19
0
0
0
0
0
0
0
-19
64
0
0
0
0
0
0
8
-16
-15
0
0
0
0
0
0
4
-20
44
0
0
0
0
0
0
-13
-16
20
0
0
0
0
0
0
-3
24
2
0
0
0
0
0
0
-7
-4
84
0
0
0
0
0
0
4
-12
-8
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
3
-1
40
0
0
0
0
0
1
-10
2
34
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
2
6
11
0
0
0
0
0
0
0
-4
-43
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
2
3
0
0
0
0
0
0
3
-1
-28
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
1
-1
31
0
0
0
0
0
0
-1
-2
21
0
0
0
0
0
0
-2
1
9
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
1
-31
32
-22
0
0
0
0
-8
-5
2
38
23
0
0
0
0
0
0
0
-6
47
0
0
0
0
0
-4
0
-35
-9
0
0
0
0
0
0
-11
-1
9
0
0
0
0
0
0
1
-3
38
0
0
0
0
0
0
-1
5
82
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
1
-24
5
-17
0
0
0
0
0
1
2
0
4
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
-1
-4
-6
1
0
0
0
0
0
0
0
0
20
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
3
9
0
0
0
0
0
5
0
-5
-37
0
0
0
0
0
0
0
15
25
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
-27
58
0
0
0
0
0
-2
-2
0
26
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-4
1
2
3
0
0
0
0
1
-1
0
0
27
0
0
0
0
0
0
0
-2
-23
0
0
0
0
0
0
-1
-9
16
0
0
0
0
0
0
3
1
1
0
0
0
0
0
-1
0
1
14
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
3
0
0
-14
0
0
0
0
5
-2
22
29
-61
0
0
0
0
0
0
-4
22
34
0
0
0
-5
0
0
0
10
11
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-6
-85
62
0
0
0
0
0
0
0
-13
72
0
0
0
0
0
0
0
6
53
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
-15
3
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
-3
28
0
0
0
0
0
0
0
0
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
-1
6
0
0
0
0
0
0
0
-15
17
0
0
0
-3
0
0
0
-22
-27
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
-2
13
6
0
0
0
0
0
0
0
-1
-44
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
-3
37
0
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
-4
0
0
0
0
0
0
0
-7
-34
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-3
1
0
0
0
5
-3
1
-6
-4
30
0
0
0
0
0
0
0
12
-36
0
0
0
0
0
0
0
-18
-19
0
0
0
0
0
0
0
-11
-28
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
-3
-16
27
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
98
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
2
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
3
-19
0
0
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
-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
1
-11
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
0
0
2
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
-65
16
0
0
0
0
0
0
1
1
-55
0
0
0
0
0
0
0
-12
31
0
0
0
0
0
0
0
-14
-18
0
0
0
0
0
0
1
-10
46
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
35
-4
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
7
19
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
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
-2
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
1
-3
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
-7
-3
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
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
7
-28
0
0
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
-1
0
0
0
-2
-35
25
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
4
31
-30
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
2
-3
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
3
0
0
0
0
0
0
0
1
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
-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
-3
7
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
0
29
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-32
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
-3
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
-9
-27
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
-22
-16
0
0
0
0
0
0
0
-8
19
0
0
0
0
0
0
0
6
-18
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
-1
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
-28
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
0
2
1
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
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
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
3
0
0
0
0
0
0
0
6
23
0
0
0
0
0
0
0
19
33
0
0
0
0
0
0
0
16
56
0
0
0
0
0
0
0
-11
66
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
4
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
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
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-17
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
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
-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
-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
-40
-86
0
0
0
0
0
0
-3
19
-16
0
0
0
0
0
0
1
-21
-11
0
0
0
0
0
0
4
-19
-53
0
0
0
0
0
0
1
54
-6
0
0
0
0
0
0
0
-1
-10
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
3
1
0
0
0
0
0
-1
0
0
-33
0
0
0
0
0
0
0
2
13
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
-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
1
0
0
0
0
0
0
0
-3
46
0
0
0
0
0
0
0
-27
-11
0
0
0
0
0
0
-2
2
16
0
0
0
0
0
0
-4
-43
-39
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
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
0
-4
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
1
18
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-3
-8
0
0
3
0
0
0
-4
20
22
0
0
0
0
-4
-12
-4
-39
56
0
0
0
0
0
-10
-7
56
6
0
0
0
0
0
0
-2
-66
-19
0
0
0
0
0
1
19
-14
24
0
0
0
0
-1
2
1
-13
0
0
0
0
0
0
-7
-8
10
8
0
0
0
0
0
2
2
0
4
0
0
0
0
0
-1
6
-16
11
0
0
0
0
-14
-4
-8
-4
49
0
0
0
0
0
0
0
-3
-29
0
0
0
0
0
0
-2
0
15
0
0
0
0
0
0
-1
-96
5
0
0
0
0
0
-2
0
-1
-7
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
-2
1
-2
7
0
0
0
0
0
-2
2
8
0
0
0
0
0
7
2
-4
7
90
0
0
0
0
0
0
-1
-9
42
2
0
0
0
0
0
3
3
-23
-2
0
0
0
0
0
-2
16
-8
-2
0
0
0
0
0
0
0
39
-8
0
0
0
0
0
0
7
-16
-1
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
-6
0
-15
-27
0
0
0
-7
15
2
-11
2
16
0
0
0
0
2
0
-2
32
-2
0
0
0
1
0
-2
-2
9
-4
0
0
0
0
0
0
3
-16
-2
0
0
0
4
0
0
1
-90
6
0
0
0
0
0
0
2
-37
-41
0
0
0
-3
1
0
5
29
-36
0
0
0
-10
4
18
-42
-55
4
0
0
0
0
0
0
19
10
0
0
0
-23
0
0
0
11
34
0
0
0
0
0
0
0
-18
20
0
0
0
0
0
0
-6
-16
38
0
0
0
0
0
0
0
-14
8
0
0
0
-1
0
0
0
-20
18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
8
-16
0
0
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
-11
6
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
-33
0
0
0
-2
0
0
0
11
18
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
1
-10
35
0
0
0
0
0
0
0
-1
19
-2
0
0
16
0
0
0
18
-8
-6
0
0
0
0
0
0
2
-10
-10
0
0
0
0
0
-2
29
-73
-7
0
0
0
0
0
0
0
-12
3
0
0
3
0
0
0
3
36
-52
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
1
8
21
0
0
0
0
0
0
13
-37
9
0
0
-6
0
0
0
-1
31
24
0
0
0
0
0
0
0
10
-1
0
0
-3
0
0
0
4
47
22
0
0
0
0
0
0
7
19
-1
0
0
-8
0
0
0
1
-11
-22
0
0
0
0
0
0
-2
-15
-31
0
0
7
0
2
-1
-124
10
2
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
23
83
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
0
31
-34
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
-1
5
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
2
0
0
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
5
17
0
0
0
0
0
0
0
-4
15
1
0
0
0
0
0
0
14
-56
-2
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
5
10
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
1
2
-22
0
0
0
0
0
0
5
23
9
0
0
0
0
0
0
16
-14
-1
0
0
0
0
0
0
-1
-4
-22
0
0
0
0
0
0
0
-6
-38
0
0
0
0
0
0
-8
-10
37
0
0
0
0
0
0
6
-1
-33
0
0
0
0
0
0
0
1
42
0
0
0
0
-1
0
-5
3
14
0
0
0
0
0
-1
6
-3
0
0
0
0
0
0
0
-18
38
0
0
0
0
0
0
0
6
13
0
0
10
0
0
0
1
-41
-32
0
0
0
0
0
0
0
-22
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
-2
3
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-37
7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-15
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
-1
0
0
0
0
0
0
0
0
-9
-18
0
0
0
0
0
0
2
-12
54
-7
0
0
0
0
0
0
3
-74
-6
0
0
0
0
0
0
4
2
12
0
1
0
0
0
0
2
1
14
0
0
0
0
0
0
-6
1
-4
0
0
0
0
0
0
0
3
28
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
16
0
0
0
0
0
-1
-6
-16
20
0
0
0
0
0
0
-11
-11
29
0
0
0
0
0
0
-5
-11
8
0
0
0
0
0
0
2
0
89
0
0
0
0
0
0
-1
5
-8
0
0
0
0
0
0
0
3
80
0
0
0
0
0
0
0
0
46
0
13
0
0
0
2
24
35
-13
0
0
0
1
-1
0
-4
9
0
0
0
0
0
0
-1
-19
9
0
0
0
0
0
0
0
14
-25
0
0
0
0
0
0
0
-24
48
0
0
0
0
0
0
0
0
-8
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
4
-17
0
0
0
0
1
0
0
-1
17
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
-1
0
0
0
-28
21
0
0
0
0
0
0
1
17
-9
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
-1
17
10
2
0
0
0
0
0
0
0
-21
42
0
0
0
0
0
0
0
6
97
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
-1
0
12
25
0
0
0
0
0
0
-7
-9
53
0
0
0
0
0
0
-2
1
-45
0
0
0
0
0
0
-6
0
-18
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
-2
2
-26
0
0
0
0
0
0
0
0
-9
0
0
0
0
3
0
-27
15
-20
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
-9
-10
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-2
4
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
-5
0
0
0
0
0
0
0
0
2
18
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
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
6
-30
0
0
0
0
0
0
-1
2
-42
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
-3
-3
-27
0
0
0
0
0
0
0
-3
51
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
5
-38
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
1
101
0
0
-1
0
0
0
0
-1
-7
0
0
0
0
0
0
0
1
-4
0
0
2
0
0
4
16
-6
17
0
0
0
0
0
0
2
33
0
0
0
0
0
0
0
-6
-33
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
-22
3
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
-11
-26
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-5
-31
63
0
0
0
0
0
0
25
-61
0
0
0
0
0
0
0
-7
54
0
0
0
0
0
0
0
-1
4
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
0
0
0
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
1
3
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
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
-6
-23
0
0
0
0
0
0
4
5
-43
0
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
-34
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
4
2
-5
0
0
0
0
0
0
-5
0
45
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
1
-1
14
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
11
0
-2
0
0
0
3
3
-14
-24
0
0
0
7
5
1
-19
-9
0
0
0
0
0
0
1
-7
50
0
0
0
0
0
0
0
22
2
0
0
0
0
0
0
1
37
-28
0
0
0
0
1
-2
0
4
-48
0
0
0
0
0
0
0
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
40
0
0
0
0
-2
-1
0
0
-16
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-2
-4
-11
-13
32
0
0
0
0
0
0
-12
-33
24
0
0
0
0
0
0
3
7
21
0
0
0
0
0
4
11
-8
-65
0
0
0
0
3
0
3
-58
7
0
0
0
0
0
0
-3
16
19
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
8
-44
0
0
0
0
0
1
0
-32
8
0
0
0
0
0
0
-1
-28
-57
2
0
0
0
-1
0
0
1
-59
-1
0
0
0
0
-1
-2
-6
-88
-12
0
0
0
0
0
-1
-59
12
12
0
0
0
0
0
0
9
-22
4
0
0
0
0
0
0
32
-27
3
0
0
2
2
2
-15
-57
-4
3
0
0
0
0
0
10
3
0
0
0
0
0
0
0
18
-54
0
0
0
0
0
0
-6
-10
15
0
0
0
0
0
0
11
-28
2
0
0
0
0
0
0
0
6
31
0
0
0
1
0
0
0
0
-59
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
7
19
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
-4
-8
0
0
0
0
0
0
0
0
-3
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
1
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-21
23
20
0
0
8
0
0
0
-6
5
12
0
0
0
0
0
0
-1
26
4
0
0
0
0
0
0
2
3
50
0
0
0
0
0
0
-6
6
16
0
0
0
0
0
0
0
-16
34
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
14
4
2
0
3
0
0
0
7
0
-189
9
0
0
0
0
0
0
1
-52
-11
0
0
0
0
0
0
-4
65
-31
0
0
0
0
0
0
10
1
-5
0
0
0
0
0
0
9
-21
-11
0
0
0
0
0
0
11
38
58
0
12
0
0
0
-15
-22
34
-21
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-13
-33
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
40
-12
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
-1
-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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
1
-33
8
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
6
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
9
0
0
0
0
0
0
1
1
84
0
0
0
0
0
0
0
1
-178
8
0
0
0
0
0
0
5
82
-24
0
0
0
0
0
0
0
-48
62
0
0
0
0
0
-1
0
-19
-3
0
0
0
0
0
0
-1
24
-18
0
0
0
0
0
0
0
23
-17
0
0
0
0
0
0
0
-6
66
0
0
0
0
0
-3
8
-12
-8
0
0
0
0
0
-11
-32
0
0
0
0
0
0
0
-80
44
0
0
0
0
0
0
0
-29
-6
0
0
-2
0
0
0
0
5
17
0
0
0
0
0
0
0
1
3
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
-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
-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
5
18
-43
0
0
0
0
0
0
-15
21
10
0
0
0
0
0
0
-1
1
-52
0
-1
0
0
0
0
-6
1
-71
0
0
0
0
0
0
0
0
50
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
16
0
0
0
0
0
0
0
3
-126
-1
0
0
0
0
0
0
0
47
14
0
0
0
0
0
0
0
2
13
0
0
0
0
0
1
0
-2
-7
0
0
0
0
0
0
0
-48
49
0
0
0
0
0
0
-1
1
31
0
0
0
0
0
0
0
7
-19
4
0
0
0
0
-2
6
20
9
0
0
3
1
-4
-33
-51
0
0
0
0
0
0
0
17
40
0
0
0
0
0
0
0
16
-7
0
0
0
0
0
0
1
-12
42
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
5
0
-47
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
7
2
-4
0
0
0
0
0
0
0
1
50
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
1
2
0
0
0
0
0
2
-3
0
-10
0
0
0
0
3
2
0
3
-29
-6
0
0
0
0
0
0
3
32
44
0
0
0
0
0
0
0
9
-16
0
0
0
0
0
1
-8
16
7
0
0
0
0
0
0
0
-1
68
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-1
-67
0
0
0
0
0
0
0
-18
-5
5
0
0
0
0
0
-3
6
-24
36
0
0
0
0
0
2
2
36
-26
0
0
0
0
0
0
3
-26
-5
0
0
0
0
0
2
0
25
-1
0
0
0
0
0
0
5
-17
-13
0
0
0
0
0
-9
1
27
-113
0
0
0
-1
-2
5
10
20
-18
0
0
0
0
0
3
12
0
0
0
1
0
0
0
16
16
0
0
0
0
0
0
-1
10
3
0
0
0
0
0
0
0
-25
27
0
0
0
0
0
0
0
-3
6
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
2
-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
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
12
10
0
0
-3
0
0
0
-1
-16
-24
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
0
-4
-1
-16
0
0
0
0
0
0
1
-5
51
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
-5
31
0
1
0
0
0
0
1
-15
-15
0
0
0
0
0
0
0
-25
44
0
0
0
0
0
0
1
0
-56
0
0
0
0
0
0
-1
-6
-27
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-22
35
0
-1
0
0
0
-7
60
-77
9
0
0
0
0
0
-22
21
0
0
0
0
0
0
3
2
-33
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
-3
-3
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
19
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
-3
-13
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
-5
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
0
0
-3
0
0
0
0
0
0
0
0
24
-22
0
0
0
0
0
0
1
0
-38
0
0
0
0
0
0
0
-2
37
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
1
70
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
3
25
0
0
0
0
0
0
0
1
-17
2
0
0
0
0
0
0
-1
42
-5
0
0
0
0
0
0
2
-16
8
0
0
0
0
0
0
0
10
-23
0
0
0
0
0
0
0
-56
-18
0
0
0
0
0
0
1
-2
39
0
0
0
0
0
0
0
-35
21
0
0
0
0
0
7
5
-24
104
0
0
53
33
20
-2
-8
0
0
0
60
2
14
25
7
-4
0
0
0
0
-34
-33
-8
-44
39
0
0
4
1
1
-42
51
-65
9
0
0
0
0
0
15
-24
-41
41
0
0
0
-3
-3
-3
-25
54
-39
0
0
0
0
2
-3
13
15
7
0
0
-2
1
-21
-7
-1
25
-21
0
0
0
0
34
-19
-17
19
8
0
0
0
-74
-8
3
6
-11
-8
0
0
0
0
-2
-14
-6
40
26
0
0
8
-4
1
-10
-7
-13
53
0
0
0
0
-1
-2
13
3
-22
0
0
0
-1
0
-1
3
22
29
0
0
0
0
-1
8
3
-3
-22
0
0
0
3
0
0
-9
-31
-2
0
0
0
0
-48
28
5
34
-52
-12
0
0
25
-1
-1
-27
41
-8
-7
0
0
0
-9
-1
-21
-19
-19
-1
0
1
0
1
0
14
-8
13
13
0
0
0
0
5
-17
-34
29
-69
0
0
-4
4
0
-11
-61
66
11
0
0
0
8
0
-2
13
-29
38
0
5
0
13
1
6
-3
4
-19
0
0
0
-14
-50
11
-19
-10
53
2
0
-23
-2
-11
5
-19
50
0
5
0
0
4
-4
-6
-6
59
-61
51
-57
2
0
0
-4
-25
-22
16
43
0
0
14
3
-1
5
49
-106
6
0
12
-2
4
-7
2
59
-26
1
0
0
1
19
-1
6
-8
-22
-25
-6
-11
2
24
0
-7
-82
23
-41
0
0
-1
-1
0
-24
8
0
0
0
0
0
0
0
44
5
0
0
0
0
0
0
0
49
-10
0
0
0
0
0
0
34
-7
11
0
0
0
0
0
0
0
-8
74
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
5
7
28
0
0
0
0
0
-1
0
1
33
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
-8
8
0
0
0
0
0
0
6
-72
56
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
7
-3
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-1
13
10
-11
0
0
0
0
-2
1
0
2
-61
0
0
0
0
0
0
0
-26
72
0
0
0
0
0
0
0
-1
-20
0
0
0
0
0
0
2
17
12
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-3
-8
22
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
2
23
0
0
0
0
-3
-7
0
-2
-19
0
0
0
0
0
0
0
-25
92
0
0
0
0
0
1
0
7
-33
0
0
0
0
0
0
6
-4
29
0
0
0
0
1
1
0
1
6
0
0
0
0
0
0
0
12
-74
0
0
0
0
1
0
-2
-4
31
0
0
0
0
-6
-2
6
-20
5
0
0
0
0
0
0
0
1
24
0
0
0
1
0
0
0
-22
19
0
0
0
0
0
0
0
-29
-20
0
0
0
0
0
0
-1
48
14
0
0
0
0
0
0
0
-20
24
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
-8
-36
0
0
0
0
0
0
-1
28
-46
0
0
0
0
0
0
0
-1
-3
0
0
0
8
0
0
0
-8
27
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
8
-31
0
0
0
1
0
0
0
3
-15
0
0
0
0
0
0
0
-20
-54
0
0
0
0
0
0
3
5
-35
0
0
0
0
0
0
0
-4
73
0
0
0
3
0
0
0
-2
-16
0
0
0
0
0
0
0
5
75
0
0
0
0
0
0
-1
-33
-6
0
0
0
0
0
0
0
6
-66
0
0
0
-1
0
0
0
26
2
0
0
0
0
0
0
0
-4
22
0
0
0
0
0
0
0
-32
-28
0
0
0
0
0
0
0
36
25
0
0
0
8
0
0
0
12
50
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
-60
34
0
0
0
0
0
0
0
61
-35
0
0
0
2
0
0
0
0
-18
0
0
0
0
0
0
0
-4
4
0
0
0
6
1
0
-9
-9
2
0
0
0
0
0
0
0
34
-2
0
0
0
0
0
0
0
-48
-14
0
0
0
0
0
0
0
-44
48
0
0
0
0
0
0
-1
78
48
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-21
44
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
-3
-9
26
0
0
0
0
0
0
0
-9
16
0
0
0
0
0
0
0
14
-47
0
0
0
0
0
0
0
-8
34
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
-4
99
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-22
30
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-14
-27
0
0
0
0
0
0
0
-15
-11
0
0
0
0
0
0
0
-37
19
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
2
6
0
0
0
0
0
0
-1
-6
14
0
0
0
0
0
0
0
-7
102
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
-14
19
0
0
0
0
0
0
0
-14
-24
0
0
0
0
0
0
0
12
-7
0
0
0
0
0
0
-2
1
53
0
0
0
0
0
0
0
4
4
0
0
0
0
-1
1
-5
26
-7
0
0
0
0
0
0
-2
7
-14
0
0
0
0
0
0
-1
-27
9
0
0
0
0
0
0
-6
-21
49
0
0
3
0
0
0
-10
44
-29
0
0
0
0
0
0
0
-35
80
0
0
0
0
0
0
2
-63
71
0
0
0
0
0
0
0
54
25
0
0
0
0
0
0
-29
4
11
0
0
0
0
0
0
0
-15
54
0
0
0
0
0
0
0
-17
50
0
0
0
0
0
0
0
-6
-21
0
0
0
0
0
0
-18
45
-109
0
0
0
0
0
0
0
2
-33
0
0
0
0
0
0
0
14
45
0
0
0
0
0
0
0
10
-25
0
0
0
0
0
0
1
-11
37
0
0
0
0
0
0
-4
-9
-18
0
0
0
0
0
0
0
-51
3
0
0
0
0
0
0
0
31
-9
0
0
1
0
0
0
0
7
18
0
0
0
0
0
0
0
8
19
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
8
1
2
0
0
0
0
0
0
0
-33
-3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
-4
17
0
0
1
0
0
0
-3
-18
-2
0
0
0
0
0
0
0
1
63
0
0
0
0
0
0
0
-35
45
0
0
0
0
0
0
0
-23
-40
0
0
3
-3
0
0
-15
-40
-17
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
0
0
-21
28
0
0
0
0
0
0
1
6
-30
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
18
-24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
-10
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
0
0
-12
0
0
0
0
0
0
-3
11
15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
5
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-21
1
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
-1
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
0
0
0
15
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
-5
2
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
-2
0
0
0
0
-5
0
-9
-38
103
0
0
0
0
0
0
0
-15
26
0
0
0
0
0
0
0
-27
-33
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
-74
31
0
0
0
0
0
0
0
-3
49
0
0
0
0
0
0
0
1
40
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
-1
4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
6
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
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
4
-1
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
-7
0
0
0
0
0
0
0
0
0
0
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
-22
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
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
-1
19
-20
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
0
29
-8
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
-22
-14
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
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
-1
10
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
-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
-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
-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
-6
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
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
13
-19
0
0
0
0
0
-1
1
-27
-36
0
0
0
0
0
0
0
6
19
0
0
0
0
0
0
-1
-8
20
0
0
0
0
0
0
18
9
8
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-15
-5
-16
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
12
-25
13
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
-6
-4
12
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-2
-23
-41
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
4
0
0
0
0
0
-4
-7
0
-25
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
0
0
-13
28
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-3
-19
-2
0
0
0
0
0
0
1
0
-57
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
-2
-11
5
0
0
0
0
0
0
-1
-7
-19
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
1
3
7
0
0
0
0
0
-12
-33
-20
37
0
0
0
0
0
1
0
0
-18
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
-1
0
0
45
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
1
0
0
10
0
0
0
0
0
0
-1
6
41
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
-3
0
0
0
0
0
-2
2
11
22
0
0
0
0
0
-6
0
0
-7
0
0
0
0
0
0
0
-4
1
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
-9
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
-9
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
-3
1
-3
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
-1
-1
0
0
0
0
1
-6
2
-46
43
0
0
0
0
0
0
0
-11
40
0
0
0
2
0
0
0
3
-5
0
0
0
0
0
0
0
-5
-40
0
0
0
0
0
0
3
25
24
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
-4
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
15
5
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
3
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
-11
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
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
5
0
0
0
0
0
0
0
-2
7
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
-2
2
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
-5
0
0
0
-7
0
0
-2
-72
9
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
0
-60
2
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
-11
-14
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
1
-5
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
0
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
-2
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
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
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
3
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
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
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
9
-30
0
0
0
0
0
0
0
9
-35
0
0
0
0
0
0
0
-33
-19
0
0
0
0
0
0
-1
42
12
0
0
0
0
0
0
-1
-33
-9
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
2
7
0
0
0
0
0
0
-2
28
-4
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
9
-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
1
0
2
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
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
-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
1
0
0
0
0
0
0
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
0
0
2
0
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
3
1
0
0
-5
0
0
0
2
-42
-4
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
-17
-12
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
0
0
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
0
-3
0
0
0
0
0
0
0
0
-23
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
3
5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
11
6
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-1
52
0
0
0
0
0
0
0
-2
-24
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
14
23
0
0
0
0
0
0
0
1
52
0
0
0
0
0
0
0
-15
-19
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
3
15
-33
0
0
0
0
0
0
0
0
-1
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
1
1
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
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
13
0
0
0
0
0
0
0
-3
7
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
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
1
0
0
0
0
0
0
0
0
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
-1
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
-10
-35
0
0
0
0
0
0
-6
-69
21
0
0
0
0
0
0
0
3
-33
0
0
0
0
0
0
11
49
-4
0
0
0
0
0
0
-1
2
17
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
5
0
3
0
0
0
0
0
2
1
0
-19
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
-10
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
-1
11
0
0
0
0
0
0
-6
1
-1
0
0
0
0
0
3
4
-2
15
0
0
0
0
0
0
0
-7
76
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
3
1
-13
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
4
-41
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
1
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
2
1
0
0
1
0
0
1
12
-20
67
0
0
0
0
7
5
0
-2
-2
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
-8
19
0
0
0
0
0
0
1
-19
32
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
3
27
6
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
4
-19
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
0
0
-34
0
0
0
0
2
3
0
0
61
1
0
0
0
0
0
0
4
-16
-9
0
0
0
0
0
0
0
-20
-3
0
0
0
0
0
-4
-10
19
-16
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-11
32
6
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
-4
3
-15
3
0
0
0
0
0
0
0
-60
-3
0
0
0
0
0
0
3
2
-64
0
0
0
0
0
0
-1
-26
-6
0
0
0
0
0
-3
4
-8
-7
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-26
23
0
0
0
1
9
11
-41
-25
6
0
0
0
0
0
0
-40
-111
0
0
0
-6
0
0
0
1
21
0
0
0
0
0
0
0
26
55
0
0
0
0
0
0
-5
-37
61
0
0
0
0
0
0
0
-21
11
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
-6
12
0
0
0
0
0
0
0
-4
22
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
12
-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
-3
3
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
-8
-15
-3
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
2
20
-5
0
0
0
0
0
0
-6
-18
3
0
0
0
0
0
0
0
20
2
0
0
0
0
0
0
0
-10
38
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
1
-11
0
0
0
0
0
0
15
-22
-11
0
0
2
0
0
0
-2
-78
34
0
0
0
0
0
0
1
-10
-24
0
0
0
0
0
0
-1
5
-55
0
0
0
0
0
0
-8
9
-79
0
0
-1
0
0
0
-1
0
22
0
0
0
0
0
0
0
7
29
0
0
-9
0
3
-2
21
57
1
0
0
0
0
0
0
-22
51
0
0
0
0
0
0
0
21
33
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
0
0
-31
9
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
-1
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
2
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
-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
-1
-9
0
0
0
0
0
0
0
8
-37
5
0
0
0
0
0
0
0
-45
3
0
0
0
0
0
0
-2
-2
5
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
3
59
0
0
0
0
0
0
0
0
60
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
6
26
0
0
0
0
0
0
-2
31
65
0
0
0
0
0
0
-1
0
41
0
0
0
0
0
0
1
1
-15
0
0
0
0
0
0
-1
0
32
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
15
0
0
0
0
2
1
-13
20
-10
0
0
0
0
0
-2
1
-10
0
0
0
0
0
0
0
19
-42
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
4
-12
-5
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
-10
-1
0
0
0
0
0
0
0
-1
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
-1
0
0
0
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
-25
33
-6
0
0
0
0
0
0
4
-20
-3
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
6
-1
-23
0
0
0
0
0
0
-4
-1
12
0
0
0
0
0
0
2
0
68
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
13
44
0
0
0
0
0
0
1
-7
52
0
0
0
0
0
0
-1
0
-17
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
1
0
37
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
36
0
3
0
0
0
-2
0
90
10
0
0
0
0
0
0
-2
-54
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
0
1
-38
0
0
0
0
0
0
1
38
-30
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
-1
0
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
0
-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
10
0
0
0
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
-3
0
0
0
0
0
0
0
-40
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-1
26
1
-30
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
2
30
0
0
0
0
0
0
0
-3
53
0
0
0
0
0
0
0
-5
51
0
0
0
0
0
0
0
-15
31
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
-3
-14
0
0
0
0
0
0
0
1
-75
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
31
-9
18
0
0
0
0
0
0
3
47
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
-28
-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
1
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
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
-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
-8
6
-21
0
0
0
0
0
0
-1
-3
-28
0
0
0
0
0
0
0
7
23
0
0
0
0
0
0
-2
0
-29
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-1
-53
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
0
58
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
-37
0
0
0
0
0
0
0
5
69
0
0
5
0
0
-1
19
15
1
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-56
10
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
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-35
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
-3
78
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-21
-4
61
0
0
0
0
0
0
-33
14
0
0
0
0
0
0
0
-19
18
0
0
0
0
0
0
2
12
-1
0
0
0
0
0
0
3
-5
-13
0
0
0
0
0
0
1
5
-10
0
0
0
0
0
0
-1
0
5
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
-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
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
4
0
0
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
4
-47
0
0
0
0
0
0
1
0
-21
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
2
4
72
0
0
0
0
0
0
0
-1
48
0
0
0
0
0
0
0
0
55
0
0
0
0
0
1
1
0
-3
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
82
0
0
0
0
0
0
0
-5
-28
0
7
0
0
0
1
0
-52
21
0
0
0
-2
3
0
3
-22
0
0
0
0
0
0
0
-31
23
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
6
-53
-5
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
-14
56
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
4
-1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
4
-6
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
-3
0
0
0
0
0
0
0
0
49
0
0
0
0
-1
0
0
0
-28
20
0
0
0
0
0
0
-4
-64
66
0
0
0
0
0
0
0
-22
58
0
0
0
0
0
-4
-5
22
49
0
0
0
0
0
0
0
-70
61
0
0
0
0
0
0
0
18
54
0
0
0
0
0
0
0
11
-38
0
0
0
0
0
0
0
-3
-36
0
0
0
0
1
0
0
59
-75
1
0
0
0
0
0
0
-4
-66
-8
0
0
0
0
0
0
0
-78
7
0
0
0
0
0
2
2
-63
-9
0
0
0
0
0
0
-3
-75
-10
0
0
0
0
0
0
8
-93
0
0
0
0
0
0
0
9
-245
14
0
0
6
2
1
83
52
29
1
0
0
0
0
0
27
18
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
18
-39
0
0
0
0
0
0
1
-8
41
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
-2
3
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
-1
27
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
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
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
1
20
0
0
0
0
0
0
0
25
-67
0
0
0
0
0
0
4
-6
-3
0
0
0
0
0
0
-3
-6
24
0
0
0
0
0
0
4
16
36
0
0
0
0
0
0
0
-14
-8
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
4
-53
1
0
1
0
0
0
0
23
-39
20
0
0
0
0
0
0
-1
-34
12
0
0
0
0
0
-3
0
17
7
0
0
0
0
0
0
-1
-33
12
0
-2
0
0
0
0
3
-22
18
0
0
0
0
0
0
0
28
-55
0
-3
0
0
0
-22
-42
68
14
0
0
0
0
0
3
-28
0
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-5
-18
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
6
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
35
-26
0
0
0
0
0
0
0
14
10
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
-6
50
-15
0
0
0
0
0
1
-3
-73
15
0
0
0
0
0
0
4
-23
16
0
0
0
0
0
0
0
76
12
0
0
0
0
0
0
0
41
-86
0
0
0
0
0
0
-2
38
25
0
0
0
0
0
0
0
-63
39
0
0
0
0
0
-11
8
-23
76
0
0
0
0
0
7
46
0
0
0
0
0
0
1
-49
-1
0
0
0
0
0
0
0
-22
-22
0
0
2
0
0
0
0
15
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
2
0
0
0
0
0
0
-1
11
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
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
-1
0
-1
0
0
0
0
0
0
0
1
14
-47
0
0
0
0
0
0
1
20
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
-5
52
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
3
0
-22
0
0
0
0
0
0
4
1
11
-5
0
0
0
0
0
-1
1
-117
71
0
0
0
0
0
-1
0
-25
-30
0
0
0
0
0
-2
2
-28
22
0
0
0
0
0
0
1
2
9
0
0
0
0
0
0
4
16
-24
0
0
0
0
0
-2
0
-38
26
2
0
0
0
0
-34
0
66
8
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
40
-74
0
0
0
0
0
0
0
-31
19
0
0
0
0
0
0
-2
-19
54
0
0
0
0
0
0
0
-6
-11
0
0
0
0
0
0
0
14
37
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
4
-14
8
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
-1
31
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
-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
-1
2
0
0
0
0
0
0
0
0
14
-28
0
0
0
0
0
0
1
-11
47
0
0
0
0
0
0
0
-2
-43
0
0
0
0
0
0
1
-4
61
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
25
48
5
0
0
0
0
0
0
-4
-35
38
0
0
0
0
0
0
1
39
5
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-7
28
0
0
0
0
0
0
1
22
7
0
0
0
0
0
0
1
38
-23
0
0
1
-3
0
-32
84
-36
-18
0
0
0
0
1
-2
20
0
0
0
9
0
0
0
-24
-32
0
0
0
0
0
0
0
4
68
0
0
0
0
0
0
2
-22
33
0
0
0
0
0
0
0
-3
-1
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
-4
8
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
-2
-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
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
27
19
0
0
0
0
0
0
1
18
-58
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
-9
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
-24
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-6
-35
3
0
-4
0
0
0
0
2
7
15
0
0
0
0
0
0
3
84
28
0
0
0
0
0
1
0
2
-89
0
0
0
0
0
0
-4
15
-54
0
-1
0
0
0
0
0
1
118
0
0
0
0
0
0
0
-18
-9
0
-2
0
0
0
31
-43
13
23
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
-19
42
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
-47
-54
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
7
-1
0
0
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
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
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
23
-55
0
0
0
0
0
0
0
3
-27
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
1
0
-123
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
108
2
0
0
0
0
0
-2
2
56
10
0
0
0
0
0
0
0
12
-49
0
0
0
0
0
0
0
-20
104
0
0
0
0
0
0
0
-44
-7
0
0
0
0
0
0
8
12
-32
0
0
-2
0
0
0
1
-15
-24
0
0
0
0
0
-3
-23
45
-64
0
0
-7
18
-4
-18
14
0
0
0
40
7
-4
82
27
2
0
0
0
0
-38
-16
3
-15
20
0
0
32
-4
1
-13
14
-18
-6
0
0
0
0
-1
23
23
-50
-23
0
0
0
25
-1
-67
2
-38
-16
0
0
0
0
7
-34
-8
-10
15
0
0
-4
3
-25
-5
58
8
-36
0
0
0
0
40
-32
-11
-22
-24
0
0
0
-43
-7
7
-1
11
35
0
0
0
0
23
-21
-13
-12
28
0
0
-3
1
1
3
-20
5
-3
0
0
0
0
-5
-9
8
-61
27
0
0
0
-5
1
-17
49
-21
8
0
0
0
0
-15
23
-23
19
18
0
0
1
3
4
-22
19
24
-15
0
0
0
0
-27
38
-71
-24
4
5
0
0
49
5
8
-60
43
15
-1
0
0
0
-27
-11
-12
15
-33
-7
0
1
-8
3
4
-34
-3
8
2
0
0
0
-17
-25
18
10
15
6
0
0
13
4
11
12
-70
94
-15
0
0
0
15
12
3
-7
-1
0
0
11
-1
15
-19
55
24
22
7
0
0
0
14
-62
-6
29
-50
-17
0
0
-9
-1
-19
42
58
-89
-4
-4
0
0
34
3
-10
-24
35
-15
29
-38
13
0
9
-9
-24
4
26
-24
0
0
13
33
-10
-40
13
39
-18
0
-11
-2
8
-13
35
10
-14
-10
0
0
-12
40
68
-23
44
9
-8
-23
0
34
69
14
-49
-18
17
21
0
0
13
-25
-19
-42
13
0
0
0
0
-5
-43
43
90
2
0
0
0
0
-13
9
-26
20
-1
0
0
0
0
0
-7
-2
-6
8
0
0
0
0
27
7
8
-20
-18
0
0
0
0
0
1
-1
-14
32
0
0
0
0
-2
4
49
-3
27
0
0
0
0
0
2
-14
68
-31
0
0
0
0
-35
6
21
4
37
0
0
0
0
0
-1
23
-45
14
0
0
0
0
0
-4
-2
3
40
0
0
0
0
0
0
-2
-10
-7
0
0
0
0
-5
7
9
-10
20
0
0
0
0
0
2
0
-4
44
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
-1
3
44
-51
0
0
0
0
-8
31
-35
-25
83
0
0
0
0
-2
29
-8
86
-40
0
0
0
0
0
2
16
-27
15
0
0
0
0
0
0
3
-60
10
0
0
0
0
1
-8
-9
-54
82
0
0
0
0
0
-3
16
-7
17
0
0
0
0
0
1
0
-35
22
0
0
0
0
0
-2
2
0
-7
0
0
0
0
27
12
-6
26
-85
0
0
0
0
0
0
0
4
8
0
0
0
0
-1
0
0
-3
6
0
0
0
0
0
0
-1
31
-10
0
0
0
0
-1
31
-3
-36
8
0
0
0
0
1
-1
1
-15
-9
0
0
0
0
-6
-2
6
-7
83
0
0
0
0
12
34
-45
-24
-10
0
0
0
0
0
1
53
41
-4
0
0
0
-19
-8
0
-16
-19
2
0
0
0
0
0
-1
26
-41
15
0
0
0
-2
-2
-2
-1
-34
8
0
0
0
0
0
0
-7
-1
19
0
0
0
10
0
-3
9
-66
25
0
0
0
0
0
-6
0
32
-35
0
0
0
2
0
-6
31
4
-63
0
0
0
0
0
0
-2
2
-2
0
0
0
-10
-1
1
4
37
34
0
0
0
0
0
0
0
-24
-3
0
0
0
-5
0
1
12
5
-2
0
0
0
0
0
0
0
-28
7
0
0
0
1
0
0
0
-50
63
0
0
0
0
0
0
0
-16
23
0
0
0
0
0
0
-2
-100
18
0
0
0
0
0
1
18
-8
22
0
0
0
-1
4
6
-1
29
-14
0
0
0
0
0
-1
-5
-1
-3
0
0
0
4
0
-2
-8
-5
-62
0
0
0
0
0
0
0
21
27
0
0
0
5
0
1
1
7
13
0
0
0
0
0
0
0
-4
-7
0
0
0
-1
0
0
-1
20
-24
0
0
0
0
0
-3
0
50
-19
0
0
0
64
0
-3
-6
-3
37
0
0
0
0
0
0
0
1
-14
0
0
0
1
0
0
0
-26
-54
0
0
0
0
0
0
3
32
-8
0
0
0
-15
0
0
0
27
66
0
0
0
0
0
0
0
-24
-2
0
0
0
16
0
-3
-12
7
8
0
0
0
0
0
-2
11
1
-15
0
0
0
0
0
-2
-7
47
7
0
0
0
0
0
2
0
-6
-1
0
0
0
0
-3
4
-10
-34
34
0
0
0
0
1
17
0
-21
-35
0
0
0
0
0
-2
1
-64
62
0
0
0
0
0
0
4
-19
-26
0
0
0
0
0
0
7
-48
7
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
19
-52
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
1
-9
-13
0
0
0
0
0
0
-4
13
37
0
0
0
0
0
0
0
6
-44
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
0
1
-7
9
0
0
0
0
0
0
2
-5
-9
0
0
0
0
0
0
0
-15
-21
0
0
0
0
0
0
0
12
54
0
0
0
0
0
0
-1
-4
43
0
0
0
0
-2
2
7
-14
-38
0
0
0
0
0
0
2
-5
50
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
2
-11
10
0
0
0
0
0
0
0
-32
61
0
0
0
0
0
0
0
-6
44
0
0
0
0
0
0
0
6
55
0
0
0
0
0
0
-2
-44
-36
0
0
0
0
0
0
0
-5
51
0
0
0
0
0
0
-2
4
-13
0
0
0
0
0
0
-4
36
-52
0
0
0
0
0
2
-48
24
4
0
0
0
0
0
0
-23
-1
-4
0
0
0
0
0
-1
7
-30
3
0
0
-41
-1
-4
0
20
30
1
0
0
0
0
0
0
0
42
-46
0
0
0
3
0
0
12
-9
6
0
0
0
0
0
0
-1
-117
74
0
0
2
0
0
0
-23
12
-46
0
0
0
0
0
0
2
-17
76
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
-2
12
59
0
0
-2
0
0
0
-3
27
-56
0
0
0
0
0
0
0
3
108
0
0
0
0
0
0
-1
11
-24
0
0
0
0
0
0
0
8
-8
0
0
-2
0
0
0
1
-16
15
0
0
0
0
0
0
0
-6
39
0
0
0
0
0
0
-2
-10
109
0
0
0
0
0
0
1
-23
42
0
0
28
-3
0
0
10
-14
-24
0
0
0
0
0
0
0
1
-39
0
0
0
0
0
0
1
1
-35
0
0
0
0
0
0
0
2
-4
0
0
-2
0
0
0
3
-3
-4
0
0
0
0
0
0
0
-25
36
0
0
0
0
0
0
0
4
36
0
0
0
0
0
0
-1
-2
9
0
0
22
0
0
0
-1
18
-27
0
0
0
0
0
0
1
-8
6
0
0
0
0
0
0
0
-15
-18
0
0
0
0
0
0
0
5
41
0
0
24
2
0
0
-6
-39
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-46
0
0
0
0
0
0
2
9
-17
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
45
11
0
0
0
0
0
27
-5
61
-52
0
0
0
0
0
-1
4
-17
-1
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-29
37
0
0
0
0
4
-11
0
-8
-11
0
0
0
0
0
0
0
8
58
0
0
0
0
0
0
0
20
-24
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
-10
20
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-3
-18
0
0
0
0
-31
-8
22
-12
45
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
1
0
-62
-22
0
0
0
0
0
0
0
10
100
0
0
0
0
1
-6
-3
1
31
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
2
12
3
0
0
0
0
9
24
-3
-24
28
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
1
0
23
-53
0
0
0
0
0
0
1
6
-19
0
0
0
0
3
-2
8
-8
-80
0
0
0
0
0
0
-1
-4
17
0
0
0
0
0
0
0
-1
-24
0
0
0
0
-4
-2
-6
-15
28
0
0
0
0
0
0
-2
23
8
0
0
0
16
0
0
3
-31
-18
0
0
0
0
0
0
0
-50
66
0
0
0
0
0
0
0
-21
22
0
0
0
0
0
0
0
-28
96
0
0
0
0
0
0
-2
78
-90
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-38
1
0
0
0
0
0
0
0
-6
-18
0
0
0
6
0
0
1
-13
8
0
0
0
0
0
0
0
-19
28
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
10
-43
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
-25
42
0
0
0
-60
-5
0
1
21
42
0
0
0
0
0
0
1
-4
-14
0
0
0
0
0
0
1
13
-8
0
0
0
0
0
0
0
7
57
0
0
0
1
0
0
2
15
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-3
99
0
0
0
29
0
0
0
10
3
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
-7
-22
0
0
0
0
0
0
0
-2
25
0
0
0
-1
0
0
0
-3
6
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
12
22
0
0
0
0
0
0
1
-24
29
0
0
0
0
0
0
0
16
18
0
0
0
0
0
3
0
-5
27
0
0
0
0
0
0
0
-12
54
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
1
8
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-2
0
-10
-4
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
-14
-16
0
0
0
0
0
0
0
11
-15
0
0
0
0
0
0
-5
-6
2
0
0
0
0
0
0
0
-1
-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
2
-24
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
9
15
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
-1
17
0
0
0
0
0
0
0
7
-22
0
0
0
0
0
0
0
-11
-19
0
0
0
0
0
0
0
-26
70
0
0
4
0
0
0
0
-7
22
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
12
28
0
0
0
0
0
0
0
-4
-31
0
0
0
0
0
0
-3
17
9
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
0
0
-24
-51
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
11
-21
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
2
2
-10
0
0
0
0
0
0
-1
6
19
0
0
0
0
0
0
0
0
-22
0
0
-45
0
0
0
0
10
-6
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
0
1
0
0
3
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
-8
0
0
2
0
0
0
-2
-3
8
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
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-15
65
0
0
0
0
0
0
22
-112
24
0
0
0
0
1
-2
7
-8
25
0
0
0
0
0
2
21
-30
-32
0
0
0
0
2
1
19
23
41
0
0
0
0
0
0
-3
-6
14
0
0
0
0
0
-2
0
-3
11
0
0
0
0
0
2
-4
-9
13
0
0
0
0
25
23
-1
-27
-30
0
0
0
0
0
0
-7
-55
3
0
0
0
0
0
0
0
6
30
0
0
0
0
0
0
-2
10
20
0
0
0
0
0
-1
-3
-23
-68
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
3
-6
31
0
0
0
0
13
24
27
-15
32
0
0
0
0
0
0
-8
38
-37
2
0
0
0
0
2
1
32
75
5
0
0
0
0
0
-3
20
83
0
0
0
0
-3
-7
5
21
8
-12
0
0
0
0
0
0
-7
-48
51
0
0
0
0
0
0
2
-18
26
0
0
0
0
0
0
-1
-7
8
0
0
0
-32
10
-10
-38
16
28
0
0
0
0
0
-3
-14
-92
116
0
0
0
0
0
-2
-5
-2
17
0
0
0
0
0
-1
23
-9
29
0
0
0
-5
-34
-8
80
-8
-3
0
0
0
0
0
2
0
41
-12
0
0
0
10
1
-1
8
37
0
0
0
0
6
2
-45
2
-51
12
0
0
0
0
-4
4
-4
2
0
0
0
-33
-3
9
-6
-22
-6
0
0
0
0
0
0
2
48
35
0
0
0
0
0
0
-2
-33
22
0
0
0
0
0
0
0
-5
7
0
0
0
2
0
0
-3
12
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
-2
24
0
0
0
0
0
0
-1
17
-16
0
0
0
7
0
1
3
-31
-16
0
0
0
0
0
0
0
16
-44
0
0
0
0
0
0
2
-14
-8
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
2
-3
1
0
0
0
0
0
0
1
19
-25
0
0
0
0
0
0
0
-7
-15
0
0
0
0
0
0
-6
42
80
-2
0
0
17
0
0
-2
-156
25
0
0
0
0
0
0
0
48
40
7
0
0
0
0
0
3
-31
13
-11
0
0
0
0
0
0
6
-10
-11
0
0
-4
0
0
0
-31
-60
28
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
-1
1
32
-14
0
0
0
0
0
-1
-11
-3
68
0
0
-4
0
0
0
5
34
28
0
0
0
0
0
0
-35
-16
31
0
0
0
0
0
0
22
-20
7
0
0
0
0
0
0
9
-19
8
0
0
-13
0
0
0
-14
29
-12
0
0
0
0
0
0
15
-28
10
0
0
-16
0
0
2
20
22
20
0
0
0
0
3
-4
-2
10
0
0
0
0
0
0
1
5
8
0
0
0
0
0
0
-1
-17
34
0
0
0
0
0
0
0
-7
43
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-3
3
4
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
7
-8
1
0
0
0
0
0
0
0
31
-7
0
0
0
0
0
0
0
16
29
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
3
-67
-25
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
6
0
0
0
0
0
0
-1
2
13
0
0
0
0
0
0
0
-3
-54
6
0
0
0
0
0
0
4
21
1
0
0
0
0
0
0
-3
3
2
0
0
0
0
0
0
15
-26
5
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
-2
-10
13
0
0
0
0
0
0
1
0
35
0
0
0
0
0
0
-4
1
-22
0
0
0
0
0
0
-5
-14
1
0
0
0
0
0
0
-3
24
-8
0
0
0
0
0
0
-2
1
9
0
0
0
0
0
0
0
-1
-62
0
0
0
0
0
0
-6
10
-100
0
0
0
0
0
0
-2
-2
47
0
0
0
0
0
0
5
1
-12
0
0
0
0
0
0
-1
-2
6
0
0
0
0
0
-3
7
-1
0
0
0
0
0
0
1
-59
-10
0
0
0
0
0
0
1
-26
-10
0
0
38
2
0
0
1
16
14
0
0
0
0
0
0
0
-4
2
0
0
0
-2
0
0
0
6
1
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
3
0
0
0
0
0
0
0
-12
3
0
0
0
0
0
0
0
23
22
0
0
7
0
0
0
1
40
-63
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
1
-16
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
1
29
5
-1
0
0
0
0
0
0
-57
-31
-8
0
0
0
0
0
-1
4
0
-2
0
-3
0
0
0
-2
-44
34
-15
0
0
0
0
0
0
1
5
2
0
0
0
0
0
0
0
16
-59
0
0
0
0
0
0
0
-1
24
0
-1
0
0
0
0
0
6
-97
0
0
0
0
0
0
-11
9
-34
0
0
0
0
0
0
5
1
26
0
0
0
0
0
0
3
-5
18
0
-4
0
0
0
0
-2
7
-11
0
0
0
0
0
0
-6
2
-33
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
-1
-11
0
14
0
8
0
0
0
-1
-17
25
-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
15
8
60
-60
-24
0
0
0
0
0
0
-9
-45
-7
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
8
-4
16
0
0
0
0
0
0
0
-22
39
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
12
0
0
0
0
-13
-15
-6
-48
-4
0
0
0
0
0
0
0
-5
45
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
8
4
0
0
0
0
1
-1
-1
-3
1
0
0
0
0
0
0
0
-9
-36
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
-2
0
-11
0
0
0
0
3
-22
-20
18
11
15
0
0
0
0
0
-2
4
-14
56
0
0
0
0
1
6
-10
10
35
0
0
0
0
0
1
-1
1
48
0
0
0
1
3
-2
31
-13
2
0
0
0
0
0
-1
-33
11
32
0
0
0
0
1
0
0
-23
-23
0
0
0
0
0
0
-3
24
-3
0
0
0
-23
31
3
15
26
-17
0
0
0
0
0
0
-33
3
-9
-4
0
0
0
0
-3
-19
16
9
19
0
0
0
0
0
0
-2
-78
4
0
0
3
5
-11
69
-34
9
25
0
0
0
0
0
15
-5
12
-22
0
0
0
0
0
-22
-28
-76
37
0
0
6
0
2
-17
14
-48
7
0
0
0
0
0
10
25
0
0
0
33
0
0
2
-6
-84
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
-1
-1
23
0
0
0
0
0
0
0
18
34
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
56
0
0
0
2
0
0
1
10
-20
0
0
0
0
0
0
0
8
-31
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-18
49
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
6
34
0
0
0
0
0
0
-3
-15
29
77
0
0
-9
1
0
1
-15
4
65
0
0
0
0
0
3
-8
-9
18
0
0
0
0
0
0
-10
-2
-100
0
0
0
0
0
0
-6
26
35
0
0
-3
0
0
0
21
-51
47
0
0
0
0
0
0
-4
-25
2
0
0
0
0
0
0
-5
-8
13
0
0
0
0
0
0
0
8
-73
-2
0
25
0
0
1
-19
-10
-13
-8
0
0
0
0
0
-4
2
8
-17
0
0
0
0
0
5
0
8
-4
0
0
0
0
0
-48
58
-58
47
0
1
0
0
1
-37
-16
-3
-2
0
0
0
0
0
4
8
3
-13
0
6
0
0
0
12
-23
-32
-2
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
13
-18
0
0
0
0
0
0
0
-2
-12
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
-3
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
0
-3
16
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
-32
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
4
-14
0
0
0
0
0
1
0
24
-15
12
0
0
0
0
0
0
-5
23
-14
0
0
0
0
0
0
2
5
48
0
0
0
0
0
0
3
-3
40
0
0
0
0
0
0
3
-12
87
0
0
0
0
0
0
-1
-9
49
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-1
-4
-9
0
0
0
0
0
0
-1
12
56
-7
0
0
0
0
0
0
-2
-122
-23
0
0
0
0
0
1
0
-62
-16
0
0
0
0
0
1
0
-38
5
0
0
0
0
0
-1
42
94
-38
0
0
0
0
0
0
15
-77
86
0
0
0
0
0
0
-1
-57
40
0
0
0
0
0
3
23
-51
-18
0
0
0
0
0
4
24
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
1
6
0
0
5
0
0
0
0
-4
-2
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
1
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
-1
16
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
0
41
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
-40
6
21
0
0
0
0
0
0
-1
-3
-76
0
0
0
0
0
0
0
0
20
0
6
0
0
0
0
-1
1
54
0
0
0
0
0
0
0
28
58
0
0
0
0
0
0
-8
-13
47
0
0
0
0
0
0
2
0
-37
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
-1
-41
8
0
0
0
0
0
-1
3
-87
-3
0
0
0
0
0
1
-1
-24
-33
-9
0
0
0
0
1
0
17
-15
0
0
0
0
0
0
25
58
-26
0
0
0
0
0
-1
27
18
50
0
0
0
0
0
-3
-1
-1
-71
1
0
0
0
0
-6
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
13
0
0
0
0
-3
-32
-30
8
12
0
0
0
0
-5
15
24
1
12
0
0
0
0
0
-2
-18
-65
-19
0
0
0
0
-4
-25
17
63
19
0
0
0
0
0
0
-3
-57
-3
0
0
0
0
-2
-3
5
4
-13
0
0
0
0
0
4
23
65
-23
0
0
0
0
-12
-34
-9
-6
27
0
0
0
0
0
0
5
-8
-61
0
0
0
0
0
0
6
12
43
0
0
0
0
0
0
-7
-28
13
0
0
0
0
-2
20
-1
-25
35
0
0
0
0
0
0
0
66
-26
0
0
0
0
0
0
3
19
-25
0
0
0
0
0
1
3
5
6
0
0
0
0
-25
33
-50
48
-8
0
0
0
0
0
2
-2
34
-41
0
0
0
0
1
0
21
-17
12
0
0
0
0
0
0
3
0
33
0
0
0
0
-1
37
1
11
-1
0
0
0
0
0
-4
-2
7
53
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
1
5
15
0
0
0
0
12
-23
-2
-60
-43
0
0
0
0
0
0
-2
-84
9
0
0
0
0
0
0
-8
10
48
0
0
0
0
0
0
-1
-17
-12
0
0
0
0
16
9
18
-8
-29
0
0
0
0
0
-2
0
-41
18
0
0
0
0
5
-1
2
-8
-43
0
0
0
0
5
0
-22
-80
32
0
0
0
0
0
6
-5
-16
4
0
0
0
24
0
-2
-54
111
6
0
0
0
0
0
0
-1
-14
41
0
0
0
-2
0
0
6
-36
-8
0
0
0
0
0
-1
1
13
0
0
0
0
0
0
0
0
-4
-27
0
0
0
0
0
0
2
37
-37
0
0
0
0
0
1
1
1
20
0
0
0
0
0
0
0
49
52
0
0
0
-10
0
0
2
-7
75
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
-4
29
-58
0
0
0
0
0
0
0
-5
47
0
0
0
0
0
0
0
-34
37
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
-3
-69
50
0
0
0
-91
0
1
-1
14
90
0
0
0
0
0
0
0
-26
31
0
0
0
3
0
0
2
-19
-2
0
0
0
0
0
0
0
-17
-31
0
0
0
0
0
0
3
-15
-15
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
1
-4
30
0
0
0
0
0
0
0
4
8
0
0
0
26
0
0
0
-34
-39
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-25
-5
0
0
0
0
0
0
0
-64
35
0
0
0
0
0
0
0
-22
10
0
0
0
0
0
0
0
-14
5
0
0
0
-20
0
0
2
53
36
0
0
0
0
-2
9
-22
29
3
0
0
0
0
0
0
2
-160
32
0
0
0
0
0
1
8
20
-37
0
0
0
0
0
-1
19
9
-22
0
0
0
0
0
0
-4
-17
87
0
0
0
0
0
0
0
26
17
0
0
0
0
0
0
0
-53
83
0
0
0
0
0
0
0
21
-13
0
0
0
0
0
0
-1
21
54
0
0
0
0
0
0
0
-22
7
0
0
0
0
0
0
0
8
40
0
0
0
0
0
0
2
-20
16
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
-6
-15
0
0
0
0
0
0
0
2
-38
0
0
0
0
0
-1
-9
-11
7
0
0
0
0
0
0
0
15
7
0
0
0
0
0
0
-1
-9
-21
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
0
-3
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
3
-7
-35
0
0
0
0
0
0
0
6
47
0
0
0
0
0
0
0
-15
19
0
0
0
0
0
0
0
25
-22
0
0
0
0
0
0
0
-16
-33
0
0
0
0
0
0
0
10
39
0
0
0
0
0
0
0
4
41
0
0
0
0
0
0
1
22
-15
0
0
0
0
0
1
34
0
-6
0
0
0
0
0
0
10
12
-14
0
0
0
0
0
0
10
26
23
0
0
-46
-1
0
0
-1
-5
45
0
0
0
0
0
0
3
27
-46
0
0
0
0
0
0
0
-84
32
0
0
0
0
0
0
0
-6
71
0
0
3
0
0
0
-6
-76
77
0
0
0
0
0
0
0
32
1
0
0
0
0
0
0
2
11
-19
0
0
0
0
0
0
-1
-13
49
0
0
4
0
0
0
3
7
-41
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
-29
9
0
0
-1
0
0
0
1
11
12
0
0
0
0
0
-1
4
-7
-11
0
0
0
0
0
0
-2
-37
61
0
0
0
0
0
0
0
-12
37
0
0
19
0
0
0
0
-25
40
0
0
0
0
0
0
0
40
54
0
0
0
0
0
0
2
-1
4
0
0
0
0
0
0
0
7
2
0
0
-4
0
0
0
1
2
-40
0
0
0
0
0
0
0
11
-7
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
-2
2
10
0
0
-4
0
0
0
0
5
18
0
0
0
0
0
0
0
17
21
0
0
0
0
0
0
0
-56
-14
0
0
0
0
0
0
0
-8
49
0
0
1
3
0
0
-8
-45
-30
0
0
0
0
2
-17
-36
9
-4
0
0
0
0
0
-3
17
-31
-2
0
0
0
0
0
0
2
-34
115
0
0
0
0
0
0
-2
35
16
0
0
0
0
-1
0
16
-29
-10
0
0
0
0
0
0
1
12
34
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
1
10
8
0
0
0
0
1
1
-4
10
47
0
0
0
0
0
0
-1
-4
33
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
5
4
9
0
0
0
0
0
0
-2
1
20
0
0
0
0
0
0
0
11
-33
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
-2
9
0
0
0
0
14
-32
-3
9
1
0
0
0
0
0
4
0
-32
25
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
-2
0
10
-21
0
0
0
0
0
0
-2
-2
-15
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-2
0
1
0
0
0
0
1
1
1
-8
20
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
-4
-39
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-15
-8
-19
0
0
0
0
0
0
0
-35
-7
0
0
0
3
0
0
-4
-8
12
0
0
0
0
0
0
1
-20
6
0
0
0
0
0
0
-3
26
-2
0
0
0
0
0
0
-2
2
20
0
0
0
0
0
0
1
5
-3
0
0
0
0
0
0
0
-1
-29
0
0
0
0
0
0
7
17
20
0
0
0
0
0
0
0
-4
24
0
0
0
0
0
0
1
1
26
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
1
-14
0
0
0
0
0
0
0
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
0
0
0
0
0
0
0
-18
14
0
0
0
-16
0
0
1
-19
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
-2
-5
-12
0
0
0
0
0
0
0
1
18
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
2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-3
52
0
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
11
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
12
-10
0
0
0
0
0
0
1
11
2
0
0
0
0
0
0
0
26
8
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
-84
1
0
0
0
0
0
0
3
2
27
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
-14
61
0
0
0
0
0
0
0
-4
22
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
0
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
2
4
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
-3
-12
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
0
0
0
2
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
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
28
0
0
0
0
0
0
2
-27
20
0
0
0
0
0
1
15
-27
13
0
0
0
0
0
0
4
-51
9
0
0
0
0
0
0
-12
7
-8
0
0
0
0
0
0
-20
-13
33
0
0
0
0
0
0
9
-32
72
0
0
0
0
0
0
1
6
39
0
0
0
0
0
0
8
-32
17
0
0
0
0
0
0
0
-11
-18
0
0
0
0
0
0
0
17
-47
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
-1
-17
18
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
55
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
13
0
0
0
0
0
1
16
-25
-23
0
0
0
0
0
0
-1
-49
6
0
0
0
0
0
0
0
4
5
0
0
2
0
0
0
1
26
10
0
0
0
0
0
0
0
-1
10
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
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
1
43
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
-4
-2
-25
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-3
21
-31
0
0
0
0
-6
-52
-21
18
29
0
0
0
0
0
0
0
-58
-10
0
0
0
0
0
0
-11
-12
11
0
0
0
0
0
0
1
12
-6
0
0
0
0
0
0
-11
0
-28
0
0
0
0
0
0
3
6
83
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
1
39
0
0
0
0
0
29
-7
-12
-19
0
0
0
0
0
0
0
20
62
0
0
0
0
0
0
0
17
-9
0
0
0
0
0
0
2
13
25
0
0
0
0
0
-2
0
4
-10
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
12
-19
0
0
0
0
7
2
-1
-3
-11
0
0
0
0
0
0
0
11
7
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
-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
-8
0
0
0
0
0
0
-2
4
0
45
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
-1
0
0
23
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
11
-14
0
0
0
0
0
0
-9
1
107
0
0
0
-19
0
0
0
-23
-10
0
0
0
0
0
0
1
4
82
0
0
0
0
0
0
4
4
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
-16
21
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
-44
-2
0
0
0
3
0
0
0
-59
73
0
0
0
0
0
0
0
-43
38
0
0
0
0
0
0
-2
6
10
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
1
-9
0
0
0
3
0
0
-1
-4
11
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
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
0
0
0
0
3
6
0
0
0
1
0
0
0
-8
4
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
0
0
8
26
0
0
0
0
0
0
0
-7
-1
0
0
0
4
0
0
-1
0
-22
0
0
0
0
0
0
-1
-4
24
0
0
0
0
0
0
0
-7
-26
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
0
-43
-50
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
1
6
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
-7
-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
0
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
0
1
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
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
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
-1
0
0
0
0
0
0
0
18
6
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
10
-34
0
0
0
0
0
0
2
1
-8
0
0
-13
0
0
0
2
-22
-21
0
0
0
0
0
0
0
0
33
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
-2
-1
0
0
0
0
0
0
0
-10
38
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
-9
38
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
1
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
-17
-7
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-3
0
0
2
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
-5
-2
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
8
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
16
4
0
0
0
0
0
0
2
0
22
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
14
22
0
0
0
0
0
0
1
0
23
0
0
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
23
0
0
0
0
0
0
0
2
-66
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
0
13
0
0
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
-1
-1
-1
-1
39
0
0
0
0
0
0
0
3
-24
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
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
5
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
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-38
0
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
41
21
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-17
88
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
-6
0
0
0
0
0
0
0
1
-38
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
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
1
0
0
0
0
0
0
0
0
0
27
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
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
-2
5
17
0
0
0
0
0
0
0
-27
-48
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
35
53
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
1
22
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
1
-12
0
0
0
0
0
0
0
0
-13
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
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
2
23
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-13
5
17
-74
0
0
0
0
0
0
-1
-39
-91
0
0
0
0
0
0
-1
-40
65
0
0
0
0
0
0
-5
-8
-20
0
0
0
0
0
0
-2
3
-21
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
-3
7
0
0
0
0
0
0
-1
-1
-23
0
0
0
0
0
0
0
-5
39
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
22
-21
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
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
5
-54
0
0
0
0
0
0
0
-55
46
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
11
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
-2
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
7
15
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
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
3
21
0
0
0
0
-1
-35
-9
2
49
0
0
0
0
0
0
-1
54
20
0
0
0
0
0
0
4
29
-29
0
0
0
0
0
1
0
-34
44
0
0
0
0
0
22
-14
-23
-18
0
0
0
0
0
-2
-5
7
40
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
1
22
-97
0
0
0
0
-6
6
-7
-21
-10
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
-2
-2
-9
22
0
0
0
0
0
0
0
-6
26
0
0
0
0
0
0
0
0
14
0
0
0
0
0
1
0
-4
29
0
0
0
0
-8
9
-23
-65
66
0
0
0
0
0
0
-5
-7
4
0
0
0
0
0
3
5
17
-49
5
0
0
0
0
-5
0
-51
-13
-7
0
0
0
-3
-3
1
-8
11
13
0
0
0
0
0
0
-10
6
17
0
0
0
0
0
0
0
9
23
0
0
0
0
0
0
-1
-8
0
0
0
0
-16
-2
4
1
-59
3
0
0
0
0
0
0
-4
34
-59
0
0
0
0
0
0
4
-106
33
0
0
0
0
0
-1
4
7
-32
0
0
0
3
-1
0
5
3
33
0
0
0
0
0
1
4
-2
-6
0
0
0
0
0
0
-3
15
12
0
0
0
0
-2
-2
-14
-51
-3
0
0
0
0
0
0
12
12
0
0
0
-27
0
0
-6
-9
39
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-44
67
0
0
0
0
0
0
-2
-6
-21
0
0
0
0
0
0
1
14
-10
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
6
-28
0
0
0
0
0
0
0
-1
2
0
0
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
3
42
2
0
0
-12
0
0
0
54
17
-3
0
0
0
0
0
0
21
44
-5
0
0
0
0
0
0
-18
37
-16
0
0
0
0
0
0
4
17
-3
0
0
0
0
0
0
-2
-52
49
0
0
0
0
0
0
2
0
14
0
0
0
0
0
-2
-2
-5
0
0
0
0
0
0
0
31
16
-4
0
0
3
0
0
0
4
-33
0
0
0
0
0
0
0
-5
-1
31
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
-1
7
64
0
0
-3
0
0
0
-15
4
29
0
0
0
0
0
0
0
-4
10
0
0
1
0
0
0
-103
-13
20
0
0
0
0
-4
1
11
-23
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
-31
-11
0
0
0
0
0
0
0
57
8
0
0
0
0
0
0
1
2
-6
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
-6
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
4
0
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
5
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-17
23
0
0
0
0
0
0
0
-8
-18
6
0
0
0
0
0
0
20
15
8
0
0
0
0
0
0
18
-2
0
0
0
0
0
0
0
0
-5
36
0
0
0
0
0
0
-2
3
-8
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
-3
-4
-49
0
0
0
0
0
0
4
-15
-3
0
0
0
0
0
0
0
-3
-33
0
0
0
0
0
0
-1
2
39
0
0
0
0
0
0
0
3
-42
0
0
0
0
0
0
0
7
22
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
3
1
-45
0
0
0
0
0
0
-23
16
-64
0
0
0
0
0
-1
-7
-17
0
0
0
0
0
0
1
-33
-1
0
0
0
0
0
0
0
6
14
0
0
14
0
0
0
-1
-48
28
0
0
0
0
0
0
0
-17
40
0
0
0
0
0
0
0
-11
-18
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-20
-26
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
-14
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
-1
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
2
2
19
-8
0
0
0
0
0
-3
6
26
-17
0
0
0
0
0
0
-29
-9
9
0
-12
0
0
0
0
48
-1
9
0
0
0
0
0
0
1
-8
19
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-2
-4
48
0
0
0
0
0
-1
-1
0
10
0
0
0
0
0
0
-9
8
15
0
0
0
0
0
0
3
2
17
0
0
0
0
0
0
-2
-1
26
0
4
0
0
0
0
-4
-1
-38
0
0
0
0
0
0
-7
0
-7
0
0
0
0
0
0
1
0
-124
0
0
0
0
0
0
-1
0
-18
0
4
0
0
0
0
8
1
35
0
0
0
0
0
-2
-19
57
0
0
0
0
0
0
0
-16
-11
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
2
0
-1
29
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
0
-24
7
13
0
0
0
0
0
0
-35
-35
-8
0
0
0
0
0
1
1
0
62
0
0
0
0
0
-1
1
-3
12
0
0
0
1
0
0
14
10
13
0
0
0
0
0
1
-3
-44
-49
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
2
1
2
-42
0
0
0
0
-1
3
0
-15
43
0
0
0
0
0
0
0
-4
89
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
4
-31
0
0
0
0
0
0
-3
-6
44
0
0
0
0
0
0
0
3
53
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
1
2
1
0
0
0
-1
0
0
0
-23
19
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
3
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
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
19
0
0
1
0
0
-1
0
-9
13
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-1
1
-13
-19
0
0
0
0
0
0
0
-11
52
0
0
0
0
0
0
0
-13
40
0
0
0
0
0
0
0
-2
-68
0
0
0
0
0
0
0
3
-80
0
0
0
0
0
0
0
-4
-3
0
0
3
0
0
0
0
1
15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
14
20
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
0
10
0
0
1
0
0
0
9
12
-45
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-2
-1
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-22
30
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
-3
4
34
0
0
0
0
0
0
0
-2
61
0
0
0
0
0
0
0
-1
-37
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-3
-68
0
0
0
0
0
0
0
-1
-94
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
-2
25
0
0
0
0
0
1
11
-12
0
0
0
0
0
0
0
-1
-39
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-26
-2
0
0
0
0
0
0
0
1
-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
-1
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
3
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
3
1
0
0
0
0
0
2
3
0
-12
0
0
0
0
0
0
1
13
-16
0
0
0
0
0
1
2
12
-36
0
0
0
0
0
0
0
-9
-94
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-7
-1
9
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
2
-3
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
-3
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
-5
-14
0
0
0
4
8
-3
26
-76
0
0
0
0
0
-1
0
0
-13
0
0
0
0
0
-1
0
-12
55
0
0
0
0
0
0
0
4
39
0
0
0
0
0
-1
-1
10
-22
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
-1
0
8
-7
0
0
0
0
0
0
0
-6
-30
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
-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
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
3
-4
7
16
57
-5
0
0
0
0
0
1
12
-88
29
0
0
0
0
0
0
-4
2
-30
0
0
0
0
0
0
3
-5
-4
0
0
0
0
0
0
3
4
-61
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
1
-2
78
0
0
0
6
15
-1
35
23
37
0
0
0
0
0
3
11
44
25
-3
0
0
0
0
0
1
-31
-9
12
0
0
0
0
0
1
74
-53
-4
0
0
0
0
-1
-2
-13
-11
6
0
0
0
0
0
-2
-39
-7
22
0
0
0
0
0
0
-15
-115
36
0
0
2
0
0
-3
-9
12
10
0
0
0
0
1
22
-13
0
0
0
1
0
0
2
15
-29
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
7
16
32
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
2
10
-18
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
6
-20
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
-3
-3
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
0
0
-5
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
9
35
-39
0
0
7
0
0
1
-16
-70
-20
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
6
-67
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
-6
1
40
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
68
53
-13
0
9
0
0
0
-2
108
10
-19
0
0
0
0
0
0
12
-40
35
0
0
0
0
0
8
-18
26
-21
0
0
0
0
0
-1
-5
16
26
0
0
0
0
0
-3
-7
26
-49
0
0
0
0
0
0
3
38
21
0
8
0
0
0
-26
-18
88
-41
0
0
0
0
0
3
12
0
0
0
0
0
0
0
14
14
0
0
0
0
0
0
0
-2
-17
0
0
0
0
0
0
0
8
9
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
1
-5
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
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
12
7
-11
0
0
0
0
0
0
-6
22
24
0
0
0
0
0
0
-4
-3
-39
0
0
0
0
0
0
-10
0
-38
0
0
0
0
0
0
2
-3
10
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
0
26
0
0
0
0
0
0
-9
-14
123
-13
0
0
0
0
0
-3
-17
17
-29
0
0
0
0
0
-4
-7
0
20
0
0
0
0
0
-2
-3
13
-19
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-68
12
0
0
0
0
0
0
-1
-44
60
0
0
0
0
0
-12
-16
0
0
0
0
0
0
0
-24
51
0
0
0
0
0
0
0
-21
0
0
0
-1
0
0
0
0
-10
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
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-5
-15
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
-4
4
-59
0
0
0
0
0
0
-1
-2
18
0
4
0
0
0
0
3
1
5
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
1
0
0
0
0
0
0
4
85
-75
-1
0
0
0
0
0
-38
-34
-74
14
0
0
0
0
0
0
2
-56
-94
0
0
0
0
0
-2
7
-19
11
0
0
0
0
0
0
0
31
5
0
0
0
0
0
0
0
-2
167
0
0
0
0
0
0
0
4
-113
0
0
0
0
0
-3
11
23
-20
0
0
4
-1
7
-22
3
0
0
0
0
0
0
-1
-2
-18
0
0
0
0
0
0
-1
12
10
0
0
0
0
0
0
0
-13
-15
0
0
0
0
0
0
-1
-15
-20
0
0
0
0
0
0
2
2
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
20
0
0
0
0
2
0
0
-8
-6
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
0
-3
0
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
0
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
-27
27
0
0
0
0
0
0
3
5
-19
0
0
0
0
0
0
-2
0
-22
0
0
0
0
0
0
0
0
51
0
0
0
0
0
1
-5
11
11
0
0
0
0
0
0
-1
12
-32
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-1
-6
0
0
0
0
1
0
3
20
69
-3
0
0
0
0
0
1
29
23
-24
0
0
0
0
0
1
-1
-48
62
0
0
0
0
0
0
-3
6
-23
0
0
0
0
0
0
-4
-18
37
0
0
0
0
0
0
0
50
-74
0
0
0
0
0
1
0
28
-2
0
0
0
0
0
0
12
-53
19
0
0
0
0
-1
7
-10
0
0
0
-10
0
0
0
10
-26
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-3
50
0
0
0
0
0
0
0
3
-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
1
2
0
0
0
0
0
0
0
-3
34
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
1
0
0
0
0
0
0
0
0
0
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
-3
22
-1
0
0
1
0
0
0
1
-33
2
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
1
1
20
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-1
-8
35
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
-18
-14
-14
0
0
0
0
0
-1
-22
-60
29
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-2
12
-39
0
0
0
0
0
0
-1
-18
14
0
0
0
0
0
0
-1
-4
52
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
43
-4
-13
0
0
0
-1
0
33
-40
0
0
0
0
0
0
4
-8
25
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
2
-6
14
0
0
0
0
0
0
1
1
12
0
0
0
0
0
0
0
15
8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-2
4
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
3
-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
-6
21
-16
0
0
0
0
0
0
7
6
-1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
1
5
52
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
8
-1
-10
0
0
0
0
0
0
3
-22
27
0
0
0
0
0
0
1
-13
-1
0
0
0
0
0
0
0
12
44
0
0
0
0
0
0
0
-17
3
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
27
-87
0
0
0
0
0
5
1
-81
150
0
0
18
35
36
-132
4
0
0
0
-6
-11
-47
20
-63
39
0
0
0
0
2
-23
-17
26
9
0
0
-2
1
-12
2
-13
-12
0
0
0
0
0
32
35
6
23
5
0
0
0
-7
1
-3
8
14
0
0
0
0
0
0
1
-3
-28
24
0
0
-2
5
0
-2
5
54
-29
0
0
0
0
2
-4
6
1
-19
0
0
0
3
-3
-1
6
39
-52
0
0
0
0
0
0
5
8
-56
0
0
6
0
0
0
1
-2
-22
0
0
0
0
-1
-1
2
1
6
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
2
32
-4
0
0
-1
2
0
0
-5
-88
22
0
0
0
0
-19
-13
8
53
-47
-6
0
0
0
-3
-2
-11
19
-20
-6
0
0
0
1
0
1
38
19
-53
0
-22
1
0
1
5
-74
40
-8
0
0
0
7
-32
12
18
-15
-36
0
0
-5
0
0
0
-21
-8
-9
0
0
0
0
0
-1
-63
10
47
0
-1
-1
0
2
0
-5
-3
-7
0
0
0
-7
33
-32
-2
-21
-14
8
0
40
0
-3
1
-4
-32
3
-32
0
0
-1
0
1
-19
-5
-13
-6
14
0
0
0
0
0
-10
10
10
0
0
-29
-6
14
88
26
-3
-70
0
-21
0
0
2
-28
19
-26
11
0
0
-2
-2
-6
-8
37
8
-28
-6
0
4
1
-10
-10
17
-31
-5
0
0
-33
-17
21
44
1
0
0
0
0
0
2
-5
-7
2
0
0
0
0
0
0
0
3
-51
0
0
0
0
0
0
15
24
-19
0
0
0
0
0
1
6
-5
30
0
0
0
0
0
-2
0
4
15
0
0
0
0
0
-4
0
-9
32
0
0
0
0
0
1
14
-32
37
0
0
0
0
-3
2
0
-16
26
0
0
0
0
0
0
0
50
-36
0
0
0
0
0
0
0
22
24
0
0
0
0
0
0
4
-23
48
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
6
-26
0
0
0
0
0
0
0
2
-26
0
0
0
0
0
0
0
-14
19
0
0
0
0
-7
-1
5
-8
43
0
0
0
0
0
1
2
-16
84
0
0
0
0
0
0
-1
-41
27
0
0
0
0
0
0
2
-48
-31
0
0
0
0
0
1
2
-7
13
0
0
0
0
0
0
1
10
-66
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
-19
-2
0
0
0
0
1
-1
0
6
11
0
0
0
0
0
0
2
3
20
0
0
0
0
0
0
0
7
27
0
0
0
0
0
0
-1
17
-32
0
0
0
0
3
-1
2
-2
2
0
0
0
0
0
0
2
-1
9
0
0
0
0
3
0
1
8
25
0
0
0
0
-1
1
-23
-19
46
0
0
0
0
0
0
4
35
-10
0
0
0
-18
0
0
0
-17
19
0
0
0
0
0
0
0
36
2
0
0
0
0
0
0
1
29
10
0
0
0
0
0
0
1
10
33
0
0
0
0
0
0
0
-23
64
0
0
0
0
0
0
0
15
-23
0
0
0
0
0
0
1
21
-31
0
0
0
0
0
0
0
45
-4
0
0
0
1
0
0
0
7
58
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-2
-45
0
0
0
0
0
0
0
-5
63
0
0
0
0
0
0
0
-25
-21
0
0
0
0
0
0
0
-7
-23
0
0
0
0
0
0
-2
-15
26
0
0
0
0
0
0
-4
-21
94
0
0
0
7
0
0
0
18
-28
0
0
0
0
0
0
0
-33
2
0
0
0
0
0
0
0
-24
55
0
0
0
0
0
0
0
-11
20
0
0
0
1
0
0
0
-39
31
0
0
0
0
0
0
0
2
-42
0
0
0
0
0
0
0
9
-19
0
0
0
0
0
0
0
-9
-38
0
0
0
4
0
0
0
32
18
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
14
-64
0
0
0
0
0
0
0
-19
-23
0
0
0
-2
0
0
0
-34
38
0
0
0
0
0
0
0
-12
7
0
0
0
20
0
-1
0
21
24
0
0
0
0
0
1
1
-18
14
0
0
0
0
0
0
0
144
-33
0
0
0
0
0
0
0
-16
54
0
0
0
0
0
0
-3
-46
51
0
0
0
0
0
0
1
6
31
0
0
0
0
0
0
1
10
10
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
0
46
-21
0
0
0
0
0
0
-3
-6
21
0
0
0
0
0
0
0
-23
52
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
-2
-8
-33
0
0
0
0
0
0
0
-1
55
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
2
-29
-2
0
0
0
0
0
0
0
-56
73
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-10
-17
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
5
-16
7
0
0
0
0
0
0
0
-16
38
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
2
-2
10
0
0
0
0
0
0
0
-27
-2
0
0
0
0
0
0
0
-12
32
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
22
1
0
0
0
0
0
-1
7
0
28
0
0
0
0
0
0
-8
-8
-7
0
0
0
0
0
0
-1
-50
28
0
0
-16
0
0
0
0
31
-5
0
0
0
0
0
0
5
26
-22
0
0
0
0
0
0
-1
29
19
0
0
0
0
0
0
1
-4
4
0
0
0
0
0
0
-4
25
2
0
0
0
0
0
0
1
-25
102
0
0
0
0
0
0
2
-69
1
0
0
0
0
0
0
0
-27
39
0
0
3
0
0
0
-3
-17
5
0
0
0
0
0
0
-2
4
-6
0
0
0
0
0
0
0
4
-39
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-2
-11
10
0
0
0
0
0
0
-6
-27
-33
0
0
0
0
0
0
1
25
75
0
0
0
0
0
0
0
-8
16
0
0
-1
0
0
0
0
-13
-24
0
0
0
0
0
0
-4
11
-19
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
10
17
0
0
0
0
0
0
17
-21
1
0
0
0
0
0
0
-1
-3
42
0
0
0
0
0
0
-1
5
1
0
0
1
0
0
0
0
35
2
0
0
0
0
0
0
-1
-8
-24
0
0
0
0
0
0
0
28
20
0
0
0
0
0
0
0
-7
-9
0
0
1
-1
0
0
-8
-45
15
0
0
0
0
0
-1
14
-7
11
0
0
0
0
0
0
2
-65
81
0
0
0
0
0
0
-1
-3
5
0
0
0
0
0
0
-6
40
-59
0
0
0
0
0
0
5
6
-17
0
0
0
0
0
0
1
-6
-19
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
1
5
-87
0
0
0
0
0
0
1
0
28
0
0
0
0
0
0
0
-1
42
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
-3
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
-6
0
28
0
0
0
0
0
0
0
10
26
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
-1
1
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
-2
4
0
0
0
0
0
0
-5
1
1
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-1
0
56
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
-10
-15
0
0
0
0
0
0
-1
-32
-11
0
0
0
-2
0
0
0
-21
-39
0
0
0
0
0
0
0
1
40
0
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
-1
-7
81
0
0
0
0
0
0
0
0
115
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
1
23
0
0
0
0
0
0
0
-4
-23
0
0
0
0
0
0
0
-4
75
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
5
4
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
2
-53
0
0
0
0
0
0
0
-3
-23
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
4
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
0
0
0
0
0
0
0
-3
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
1
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
-2
0
0
0
0
0
0
1
4
-15
0
0
0
0
0
0
0
19
25
0
0
0
0
0
0
0
-26
22
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
-1
15
-20
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
3
-2
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-1
39
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
-1
2
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
4
-17
39
56
0
0
0
0
0
0
-15
-83
51
0
0
0
0
0
0
12
-5
-39
0
0
0
0
0
0
-3
-38
81
0
0
0
0
0
0
-4
-6
-13
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
1
9
-15
0
0
0
0
0
0
-1
-19
-35
0
0
0
0
0
0
-7
17
-40
0
0
0
0
0
0
0
39
-18
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
9
-11
0
0
0
0
0
-1
-9
42
2
0
0
0
0
0
0
0
-53
17
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
2
7
1
0
0
0
0
0
0
4
-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
1
-5
1
0
0
0
0
0
0
-3
-12
-23
0
0
0
0
0
0
-4
1
2
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
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
3
2
0
0
0
0
3
-11
0
-3
5
0
0
0
0
0
0
-2
-23
49
0
0
0
0
0
0
0
52
-46
0
0
0
0
0
0
2
4
17
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
0
0
-3
9
12
0
0
0
0
0
0
1
1
7
0
0
0
0
0
0
2
5
36
0
0
0
0
0
-6
0
4
-6
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-3
0
-2
-26
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
1
11
0
0
0
0
0
-3
0
2
11
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
-2
0
0
0
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
20
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
-13
-41
0
0
0
0
0
0
0
2
-14
0
0
0
-3
0
0
2
-6
-16
0
0
0
0
0
0
0
13
19
0
0
0
0
0
0
-1
10
-26
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
11
58
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
5
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
-9
0
0
0
0
0
0
0
0
-10
-7
0
0
0
3
0
0
0
-8
-23
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
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
-2
40
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
-11
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-27
31
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
6
34
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
-7
-19
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
2
-14
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
0
17
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
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
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
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
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-11
0
0
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
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
-1
-5
18
-7
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
-1
-5
-31
0
0
-4
0
0
0
0
-56
38
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
-10
41
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
1
-73
0
0
0
0
0
0
0
6
23
0
0
0
0
0
0
0
0
1
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
-4
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
6
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
-1
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
0
0
0
0
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
4
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
-1
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
0
0
0
0
-3
0
0
0
0
17
-38
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
1
-53
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
-7
-36
0
0
0
0
0
0
0
0
1
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
0
-4
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
12
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
-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
-1
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
-1
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
3
-26
0
0
0
0
0
0
-4
-5
55
0
0
0
-1
0
0
-2
1
-24
0
0
0
0
0
0
-1
0
53
0
0
0
0
0
0
0
-23
7
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
2
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
5
-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
3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-27
0
0
0
0
0
0
0
-9
-19
0
0
0
0
0
0
0
-23
4
0
0
0
0
0
0
0
-1
111
0
0
0
0
0
0
0
11
21
0
0
0
0
0
0
0
2
-28
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
0
-2
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-23
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
1
0
0
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
-29
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
13
0
-16
35
0
0
0
0
0
1
-1
-10
-43
0
0
0
0
0
0
6
-7
23
0
0
0
0
0
0
-1
43
15
0
0
0
0
0
2
1
-2
-6
0
0
0
0
0
1
0
-1
3
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
-1
0
-5
-4
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
-1
-1
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
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-12
-4
6
-7
0
0
0
0
0
1
-1
1
50
0
0
0
0
0
0
6
-1
27
0
0
0
0
0
0
1
3
0
0
0
0
0
0
1
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
-2
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
-1
9
0
0
0
0
14
-14
0
10
65
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
-22
51
0
0
0
0
0
0
0
23
42
0
0
0
0
0
0
-7
0
23
0
0
0
0
0
0
0
15
-39
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-5
-26
0
0
0
0
-1
3
0
-8
-5
0
0
0
0
0
0
0
4
-43
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
2
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
-25
0
0
0
0
0
0
0
2
-18
0
0
0
0
1
2
-5
2
-44
3
0
0
0
0
0
0
-17
-46
7
0
0
0
0
0
0
-2
25
2
0
0
0
0
0
0
18
6
-10
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
-4
-51
-28
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
-1
-44
0
0
0
-1
0
0
-1
-4
1
0
0
0
0
0
0
-3
19
19
0
0
0
0
0
0
-2
21
31
0
0
0
0
0
0
10
23
-46
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
-1
5
-14
0
0
0
-1
-3
1
-60
1
-18
0
0
0
0
0
-5
16
-2
0
0
0
-20
0
0
-3
-11
44
0
0
0
0
0
0
0
-13
133
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
4
17
0
0
0
0
0
0
0
-19
7
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
5
37
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
-4
12
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
-4
-37
0
0
0
0
0
0
0
12
23
0
0
0
0
0
0
0
-28
27
2
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
8
-4
-3
0
0
0
0
0
0
1
-10
16
0
0
0
0
0
0
3
4
-36
0
0
0
0
0
0
0
-3
-28
0
0
0
0
0
0
0
3
-47
0
0
0
0
0
0
14
-4
66
0
0
0
0
0
0
-9
7
-6
0
0
0
0
0
0
-5
-16
117
0
0
0
0
0
0
-14
10
-18
0
0
0
0
0
0
6
-11
-5
0
0
1
0
0
0
1
-1
-16
0
0
0
0
0
0
6
-3
12
0
0
-14
0
0
0
2
-95
15
0
0
0
0
0
0
-12
53
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
19
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
0
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
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
4
24
-6
0
0
0
0
0
0
0
9
-15
0
0
0
0
0
0
-1
-6
-3
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
-1
-5
-5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
1
-31
40
0
0
0
0
0
0
0
-11
-17
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
-6
80
0
0
0
0
0
0
0
-3
81
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
-13
7
19
0
0
0
0
0
-3
-29
1
0
0
0
0
0
0
0
-26
17
0
0
0
0
0
0
-4
2
-5
0
0
-3
0
0
0
-1
-22
21
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
2
0
0
0
0
0
0
0
3
6
-16
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
8
-28
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
11
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
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
35
25
-19
0
0
0
0
0
0
0
2
1
0
1
0
0
0
0
6
0
2
0
0
0
0
0
0
1
0
32
0
0
0
0
0
0
-5
1
48
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
-27
0
0
0
0
0
0
-24
23
29
0
0
0
0
0
0
5
-2
-54
0
0
0
0
0
0
0
-1
-62
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
0
0
-5
52
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
2
0
-75
0
2
0
0
0
0
3
51
-30
0
0
0
0
-1
-2
20
-23
0
0
0
0
0
0
0
31
-29
0
0
0
0
0
0
-1
-11
-21
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
-1
-11
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
-21
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
10
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
1
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
-4
-58
19
0
0
0
0
0
0
0
4
59
0
0
0
0
0
0
7
2
7
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
-1
0
58
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
24
75
0
0
0
0
0
0
3
4
-5
0
0
0
0
0
0
0
2
-73
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
-2
37
0
0
0
0
0
0
0
-5
-20
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
41
-26
0
0
0
0
0
-1
1
15
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
2
28
0
0
0
0
0
0
0
22
-6
0
0
0
0
0
0
0
1
-7
0
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
-6
-23
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
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
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
20
2
0
0
0
0
0
0
0
-20
1
0
0
0
0
0
0
0
4
36
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
16
-53
0
0
0
0
0
0
-1
-10
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
34
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
37
0
0
2
0
0
0
-13
-19
-31
0
0
0
0
0
1
-3
25
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-21
4
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
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
-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
4
1
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
-1
47
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
2
-9
0
0
0
0
0
5
17
34
0
0
0
0
0
0
3
16
-12
0
0
0
0
0
0
1
-15
-4
0
0
0
0
0
0
-1
-14
-35
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
-14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
-11
0
0
0
0
0
0
7
-7
-23
0
0
0
0
0
0
-3
1
21
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
153
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
4
-93
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
-2
-14
0
0
0
-1
-4
-1
-1
21
0
0
0
0
0
0
0
5
60
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-3
-47
6
0
0
0
0
0
0
-4
10
-26
0
0
0
0
0
0
0
-16
50
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
-2
29
0
0
0
0
1
0
0
0
39
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
-1
0
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
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
-3
2
0
3
0
-14
0
0
0
0
0
0
-40
-28
-7
0
0
0
0
0
0
0
-45
13
0
0
0
0
0
0
6
3
5
0
0
0
0
0
0
0
-69
86
0
0
0
0
0
0
0
13
-10
0
0
0
0
0
0
0
3
-30
0
0
0
0
0
0
-1
-1
88
0
0
0
-1
2
0
0
10
32
1
0
0
0
0
0
-3
-18
125
-8
0
0
0
0
0
0
2
-160
24
0
0
0
0
0
0
2
-25
2
0
0
0
0
0
0
13
-58
-17
0
0
0
0
0
0
-10
-7
7
0
0
0
0
0
0
-4
-18
-27
0
0
5
0
-1
56
2
-59
7
0
0
0
0
2
-12
35
0
0
0
-1
0
0
0
-64
93
0
0
0
0
0
0
0
14
37
0
0
0
0
0
0
0
-15
-11
0
0
0
0
0
0
0
-1
-20
0
0
0
0
0
0
0
20
-74
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
-3
-16
0
0
0
-1
0
0
0
1
8
0
0
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
-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
14
52
-11
0
0
4
0
0
0
3
-41
6
0
0
0
0
0
0
-3
18
-17
0
0
0
0
0
0
7
18
47
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
-6
48
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
-35
0
0
0
0
0
0
2
25
62
3
0
3
0
0
0
3
-20
-106
5
0
0
0
0
0
-2
-1
61
-19
0
0
0
0
0
0
-1
-42
4
0
0
0
0
0
0
3
-50
-17
0
-1
0
0
0
0
2
-6
10
0
0
0
0
0
0
0
0
-25
0
-4
0
0
0
-16
-25
14
7
0
0
0
0
0
-23
15
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
-29
10
0
0
0
0
0
0
0
11
9
0
0
0
0
0
0
0
2
6
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
2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
12
18
-9
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
-4
75
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
-3
68
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
2
-3
38
0
0
0
0
0
0
0
-5
-53
12
0
0
0
0
0
0
0
-26
44
0
0
0
0
0
0
0
53
2
0
0
0
0
0
0
-1
-54
63
0
0
0
0
0
-1
0
-18
-5
0
0
0
0
0
0
0
17
113
0
0
0
0
0
0
-8
-7
-39
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
1
0
4
0
0
2
0
0
0
-1
-5
-7
0
0
0
0
0
0
0
-15
12
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
0
-1
7
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
-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
1
14
23
-4
0
0
0
0
0
0
18
-8
16
0
0
0
0
0
0
1
1
20
0
0
0
0
0
0
5
0
-55
0
0
0
0
0
0
0
3
-68
0
0
0
0
0
0
0
-1
50
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
-18
-37
-5
0
0
0
0
0
2
1
-47
-16
0
0
0
0
0
0
0
-29
18
0
0
0
0
0
-4
0
1
-9
0
0
0
0
0
-2
-3
-35
9
0
0
0
0
0
-2
0
-1
-25
0
0
0
0
0
0
0
-9
-42
1
0
0
0
0
-22
29
14
-19
0
0
0
0
0
-2
-13
0
0
0
0
0
0
-2
-11
-5
0
0
0
0
0
0
2
-4
17
0
0
0
0
0
0
1
-43
59
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
0
-2
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
34
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
-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
0
-1
-1
0
0
0
0
0
0
-1
-1
31
-15
0
0
0
0
0
1
19
40
15
0
0
0
0
0
0
0
-5
54
0
0
0
0
0
0
-1
1
95
0
0
0
0
0
0
0
3
-101
0
0
0
0
0
0
0
-7
76
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
-9
16
-5
0
0
0
0
0
0
21
-13
-46
0
0
0
0
0
0
0
17
-28
0
0
0
0
0
1
-2
-1
44
0
0
0
0
0
0
0
-45
93
0
0
0
0
0
0
0
12
18
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
-8
-3
67
18
0
0
0
0
0
-2
12
0
0
0
-1
0
0
0
-24
-19
0
0
0
0
0
0
0
-18
75
0
0
0
0
0
0
0
2
35
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-2
-55
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
20
0
0
0
-2
0
0
0
-1
28
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
39
-26
0
0
-3
0
0
0
-4
-41
48
0
0
0
0
0
0
-1
0
-30
0
0
0
0
0
0
0
4
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
1
0
-39
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
40
2
0
-1
0
0
0
0
2
73
-26
0
0
0
0
0
0
0
-27
-18
0
0
0
0
0
0
0
-1
51
0
0
0
0
0
0
-5
8
-5
0
0
0
0
0
0
1
-3
11
0
0
0
0
0
0
0
3
58
0
-3
0
0
0
0
-2
2
-32
0
0
7
-3
3
13
-80
0
0
0
0
0
0
0
12
29
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-21
21
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
24
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
-2
-7
0
0
0
0
0
0
0
6
-6
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
-2
0
0
0
64
-5
0
0
0
0
0
0
2
15
-6
0
0
0
0
0
0
0
1
40
0
0
0
0
0
0
1
1
-29
0
0
0
0
0
0
0
2
-78
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
3
-59
17
0
0
0
0
0
-1
-3
-7
43
0
0
0
0
0
0
0
24
-55
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
1
50
-102
0
0
0
0
0
0
-2
0
-21
0
0
0
0
0
0
0
9
-41
0
0
0
0
0
-1
8
-37
-1
0
0
5
-22
-16
-13
5
0
0
0
46
-19
-64
59
27
-4
0
0
0
0
5
-13
4
-28
-21
0
0
-1
7
-13
-35
6
-15
18
0
0
0
0
18
19
28
8
6
0
0
0
-17
-3
9
57
-3
8
0
0
0
0
-1
-5
26
13
8
0
0
3
8
0
-19
6
24
-7
0
0
0
0
-4
48
25
-34
-14
0
0
0
2
-3
-9
-6
-42
10
0
0
0
0
1
5
15
35
-20
0
0
8
0
1
1
6
7
-43
0
0
0
0
4
18
5
-11
-14
0
0
0
2
0
0
13
-21
-9
0
0
0
0
0
-2
0
-17
75
0
0
-4
0
0
3
-3
-42
31
0
0
0
0
-29
5
35
-16
-69
3
0
0
-66
7
16
-29
49
-23
1
0
0
0
8
10
-21
68
61
0
0
-28
7
6
-10
20
-34
47
-3
0
0
0
5
-42
-8
27
70
-4
0
0
-8
-1
6
-23
-5
-70
14
0
0
0
0
2
10
-92
-49
25
0
-3
-1
0
4
13
-20
-29
19
0
0
0
28
59
-13
19
-33
10
3
0
71
-3
-10
1
-49
23
6
9
0
0
-4
-1
10
-68
-7
61
0
35
-1
-4
8
-16
25
5
-53
-18
0
0
-4
17
18
26
48
-33
22
0
-39
1
2
-12
-60
40
-18
44
0
0
-2
-10
-16
-16
44
12
15
23
20
5
1
-57
51
54
-69
-16
0
0
-14
-41
-16
22
0
0
0
0
0
0
-20
73
-28
-17
0
0
0
0
-6
38
-28
10
21
0
0
0
0
0
0
14
-48
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
31
0
0
0
0
0
0
0
25
-43
0
0
0
0
0
-3
-1
-14
-6
0
0
0
0
0
0
0
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
59
7
-21
-32
7
0
0
0
0
0
0
14
-8
19
0
0
0
0
0
0
9
-21
63
0
0
0
0
0
0
0
-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
-12
10
-37
-37
23
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
0
31
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
11
5
0
0
0
21
-1
16
1
-12
4
0
0
0
0
0
3
-2
70
-14
0
0
0
3
0
-3
2
-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
0
-23
-26
0
0
0
-20
0
0
-1
32
1
0
0
0
0
0
0
0
-2
29
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
0
0
0
0
0
0
0
0
1
5
-12
128
0
0
0
-55
-4
0
0
45
42
0
0
0
0
0
0
0
17
18
0
0
0
0
0
0
-3
8
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
-27
-32
0
0
0
26
0
0
0
-12
34
0
0
0
0
0
0
0
2
-22
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
22
-11
72
-2
0
0
0
0
0
4
6
-79
-12
0
0
0
0
0
0
25
19
29
0
0
0
0
0
1
-40
-44
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
16
26
0
0
0
0
0
0
0
16
19
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
9
0
0
0
0
0
0
0
-23
23
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
15
-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
-11
8
0
0
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
47
-19
20
0
0
0
0
0
-5
26
-12
-1
0
0
0
0
0
2
-3
23
-41
0
0
-24
-1
0
1
-27
-51
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
-11
79
0
0
0
0
0
0
0
11
29
0
0
0
0
0
0
2
3
32
0
0
-2
0
0
0
0
47
-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
16
6
21
0
0
0
0
0
0
-2
-27
24
0
0
0
0
0
0
0
7
-41
0
0
38
0
0
0
-2
-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
-4
2
-6
0
0
0
0
0
0
1
0
34
0
0
0
0
0
0
0
-1
-5
0
0
6
0
0
0
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
5
9
-17
0
0
0
0
0
0
0
1
-8
57
21
0
0
0
0
0
0
-3
0
22
0
0
0
0
0
0
6
28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-5
44
0
0
0
0
0
0
0
5
-31
0
0
0
0
0
0
-1
8
39
0
0
0
0
0
0
0
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
6
-12
0
0
0
0
0
0
-1
10
11
0
0
0
0
0
0
5
-5
-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
-1
3
14
-4
11
0
0
0
0
0
0
-2
-3
-24
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
3
0
0
-26
-26
7
0
0
0
0
0
0
1
-34
-17
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
-5
39
0
0
0
-14
0
0
0
10
42
0
0
0
0
0
0
0
3
79
0
0
0
0
0
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
2
5
0
0
0
0
0
0
4
-22
-23
0
0
0
0
0
0
0
0
-9
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
0
0
0
0
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
0
0
0
1
0
0
0
23
6
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
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
10
-10
36
0
0
0
0
0
0
8
-21
24
0
0
0
0
0
0
-7
-35
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
4
-14
0
0
0
0
0
0
0
1
18
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
26
0
0
0
0
0
0
23
-32
12
0
0
0
0
0
0
-19
-75
54
0
0
-5
0
0
0
43
39
-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
-4
9
-31
0
0
0
0
0
0
3
-6
67
0
0
0
0
0
0
0
20
-44
0
0
2
0
0
0
0
-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
7
-18
52
0
0
0
0
0
0
0
5
-22
0
0
0
0
0
0
-3
-1
6
0
0
0
0
0
0
0
-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
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
20
0
0
0
0
0
0
-6
7
6
0
0
0
0
0
0
2
-42
1
0
0
0
0
0
0
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
1
5
0
-5
-32
0
0
0
0
0
0
0
23
47
0
0
0
0
0
0
0
0
32
0
0
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
-6
-6
-5
-14
38
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
1
-9
13
0
0
0
0
0
0
0
34
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
2
9
0
7
-12
0
0
0
0
0
0
0
-13
49
0
0
0
0
0
0
0
0
22
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
-2
-46
32
0
0
0
22
0
1
0
-43
21
0
0
0
0
0
0
3
-52
57
0
0
0
0
0
0
1
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
-39
0
0
0
0
0
0
0
-7
33
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
-5
-2
26
0
0
0
-17
0
0
0
-14
-1
0
0
0
0
0
0
0
-4
11
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
1
-19
0
0
0
4
0
0
-1
15
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
28
0
0
0
0
0
0
0
19
-29
0
0
0
0
0
0
0
-27
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
3
27
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-2
-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
0
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
0
0
0
0
0
0
0
37
-47
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
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
1
-28
0
0
0
0
0
0
0
12
15
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
-1
62
0
0
0
0
0
0
-2
14
-6
0
0
0
0
0
0
-9
26
-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
2
-38
0
0
0
0
0
0
0
12
-17
0
0
0
0
0
0
0
0
3
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
-2
-6
21
0
0
0
0
0
0
0
-21
14
0
0
0
0
0
0
1
1
11
0
0
0
0
0
0
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
0
0
0
-6
0
0
0
0
0
0
1
1
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
-22
0
0
0
0
0
0
0
2
79
0
0
0
0
0
0
0
-12
34
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
1
0
0
3
-39
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
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
0
4
-7
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
-1
0
-9
20
-5
0
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
64
0
0
0
0
0
0
-3
10
-49
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-14
31
0
0
0
0
0
0
0
3
-8
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
4
-6
0
0
0
0
0
0
0
-1
70
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
0
0
0
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
0
-1
0
0
0
4
13
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
1
0
3
-6
0
0
0
0
0
0
1
-30
-6
0
0
0
0
0
0
0
3
-31
0
0
0
0
0
0
-3
20
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
-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
-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
-3
1
-23
0
0
0
0
0
0
0
2
33
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
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
2
17
31
28
0
0
0
0
0
0
-4
-74
-1
0
0
0
0
0
0
-7
14
-58
0
0
1
0
0
0
-1
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
-1
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
-9
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
-1
-1
-41
0
0
0
0
0
0
0
0
27
-21
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
-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
-27
28
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
-17
-43
66
0
0
0
0
0
-1
-10
30
-28
0
0
0
0
0
0
1
-5
73
0
0
0
0
0
0
1
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
10
12
-2
29
-62
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
-21
24
0
0
0
0
0
0
0
-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
-28
-14
9
-2
-35
1
0
0
0
0
-6
0
-28
24
-1
0
0
0
0
0
0
-13
10
4
0
0
0
0
0
0
10
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
-4
-22
13
-51
-29
23
0
0
0
0
0
0
-43
4
73
0
0
0
0
0
-2
23
-33
40
0
0
0
0
0
0
-1
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
6
12
11
0
0
0
-16
0
0
-5
25
81
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
-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
0
0
0
0
0
-44
0
0
0
0
-4
0
-1
-2
-5
19
0
0
0
0
0
0
0
-5
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
0
0
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
54
0
0
0
20
0
1
1
30
4
-3
0
0
0
0
0
0
19
-2
-16
0
0
0
0
0
0
-10
-41
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
-1
0
0
-1
-25
36
45
0
0
0
0
0
0
0
9
-24
0
0
0
0
0
0
-1
-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
-1
1
40
-27
0
0
0
0
0
0
1
23
16
0
0
0
0
0
0
0
6
1
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
4
7
1
0
0
0
0
0
0
0
-12
-9
0
0
0
0
0
0
0
-10
8
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
24
-50
-3
0
0
0
0
0
0
0
45
-4
0
0
0
0
0
0
-1
-21
23
0
0
0
0
0
0
1
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
-24
11
27
0
0
0
0
0
0
5
12
45
0
0
0
0
0
0
5
1
34
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
19
-54
0
0
0
0
0
0
2
-70
-3
0
0
0
0
0
0
0
3
12
0
0
24
0
0
0
-2
-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
39
31
0
0
0
0
0
0
0
-80
-45
0
0
0
0
0
0
0
-40
-28
0
0
3
0
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
1
7
-41
-1
0
0
0
0
0
-1
-17
48
-17
0
0
0
0
0
0
3
-1
-4
0
13
0
0
0
-1
-47
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
-15
15
-73
0
0
0
0
0
0
-10
28
39
0
0
0
0
0
0
4
-5
-38
0
-4
0
0
0
0
-10
-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
2
-4
11
-43
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
-3
-3
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
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
-24
-11
0
0
0
0
0
0
2
0
54
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
-4
2
27
1
0
0
0
0
0
0
-15
-37
26
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
6
-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
2
-9
-9
31
0
0
0
0
0
0
-31
7
33
0
0
0
0
0
0
-2
-10
1
0
0
0
0
0
0
2
12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
1
-24
6
0
0
0
0
0
0
0
-3
-18
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
6
11
0
0
0
3
0
0
-1
5
21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
2
0
0
2
0
0
0
-2
-117
28
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
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
-1
79
-36
0
0
2
0
0
0
18
54
21
0
0
0
0
0
0
-1
15
52
0
0
0
0
0
0
0
3
-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
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
11
6
0
0
0
0
0
0
0
-14
-8
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
0
0
0
0
0
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
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
6
6
0
0
0
0
0
0
-1
22
-5
0
0
0
0
0
0
0
1
55
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
38
0
0
0
0
0
0
1
12
-113
0
0
0
0
0
0
0
-2
-2
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
-1
3
8
0
0
0
0
0
0
2
-15
-8
0
0
0
0
0
0
0
4
-10
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
1
0
-8
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
1
-1
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
1
7
27
13
0
0
0
0
0
1
-5
12
13
0
0
0
0
0
0
0
4
-1
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
0
0
0
0
0
0
0
0
0
0
26
-43
-11
0
0
0
0
0
0
12
2
-51
0
0
0
0
0
0
-7
1
-19
0
-2
0
0
0
0
1
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
6
11
-14
45
-24
0
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
-4
-57
0
0
0
0
0
0
0
15
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
-4
11
20
-51
-22
0
0
0
0
0
0
-1
2
-11
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
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
34
-23
-3
-11
27
-9
0
0
0
0
0
2
-41
-63
48
0
0
0
0
0
-1
52
4
-70
0
0
0
0
0
1
2
-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
6
1
1
33
-11
13
0
0
0
0
0
0
7
-18
6
-1
0
0
0
0
0
10
-14
-74
10
0
0
0
0
0
0
-2
-139
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
-4
2
16
-2
0
0
0
0
0
0
0
14
7
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
-12
40
0
0
0
7
0
0
0
13
81
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
0
0
0
0
0
0
0
0
0
0
0
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
-13
-3
0
0
10
0
0
-2
-21
34
1
0
0
0
0
0
0
-3
-5
90
0
0
0
0
0
-4
-7
-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
-5
-15
-58
-7
0
5
0
0
0
6
-33
50
-24
0
0
0
0
0
-4
4
15
10
0
0
0
0
0
-2
-3
-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
1
33
0
0
0
0
0
0
0
29
53
0
0
0
0
0
0
0
-7
34
0
0
0
0
0
0
0
-27
-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
-3
-16
0
0
0
0
0
0
0
-29
-44
0
0
0
0
0
0
0
-1
-2
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
0
0
-2
4
0
-3
0
0
0
0
0
0
-2
-59
38
0
0
0
0
0
0
9
-10
-23
0
0
0
0
0
0
0
-4
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
-1
-4
18
48
-17
0
0
0
0
0
1
0
-27
-11
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
-122
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
-20
35
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
-39
40
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
-1
99
0
0
0
0
0
0
0
-1
11
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
-2
10
-9
0
0
0
0
0
-1
-26
5
27
0
0
0
0
0
0
5
-3
-81
0
1
0
0
0
0
-22
-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
2
4
-58
16
0
0
0
0
0
-5
-1
-20
10
0
0
0
0
0
0
0
-26
14
3
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
9
17
11
13
-27
0
0
0
0
0
0
0
1
-47
0
0
0
0
0
0
2
0
39
0
0
0
0
0
0
0
-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
2
1
-1
10
106
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
17
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-5
28
0
0
0
0
0
0
-22
64
29
0
0
0
0
0
-4
12
-33
-12
0
0
0
0
0
0
2
-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
1
5
0
-3
34
-48
2
0
0
0
0
0
2
-30
6
-13
0
0
0
0
0
-9
4
50
1
0
0
0
0
0
3
7
39
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
-8
0
0
0
-14
7
0
0
0
0
0
0
0
-6
77
0
0
0
2
0
0
-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
0
0
0
0
0
9
24
0
0
0
1
0
0
0
0
-31
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
0
0
-2
-10
40
0
0
-5
0
0
0
4
11
24
0
0
0
0
0
0
1
-1
-34
0
0
0
0
0
0
1
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
3
56
-61
-23
0
-2
0
0
0
-10
-92
-141
164
0
0
0
0
0
0
-5
5
-4
0
0
0
0
0
1
0
25
-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
-3
-1
10
-29
0
0
0
0
0
0
-1
7
14
0
0
0
0
0
0
1
-2
21
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
2
0
-3
25
0
0
0
0
0
0
0
-11
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
8
3
-5
0
0
0
0
0
0
-4
3
-69
0
0
0
0
0
0
0
-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
-3
0
-5
-2
2
13
27
0
0
0
0
0
14
-1
-71
9
0
0
0
0
0
-1
6
0
-125
0
0
0
0
0
3
-4
-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
3
21
18
8
-3
0
0
0
10
-9
-22
-24
128
-3
0
0
0
0
11
2
21
-38
-11
0
0
25
-2
-10
-1
20
-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
1
-16
6
-32
-16
0
0
0
33
0
0
-2
-28
27
0
0
0
0
0
4
-2
-1
-28
0
0
-7
0
0
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
28
-20
40
7
10
-8
0
0
-17
-2
5
-20
-3
14
-8
0
0
0
-8
1
1
-66
-7
21
0
-27
3
0
0
-1
-13
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
11
11
18
47
-39
-11
1
0
-9
-2
-1
-3
-21
-7
-73
-10
0
0
1
0
0
-12
20
-43
-8
-2
0
0
0
-2
-68
-38
-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
-69
6
-17
3
24
0
0
0
0
0
-6
24
-61
14
0
0
0
0
-4
-1
10
54
-23
0
0
0
0
0
0
14
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
6
2
-2
-9
-27
0
0
0
0
0
0
2
-7
15
0
0
0
0
0
0
2
-38
-7
0
0
0
0
0
0
-2
4
-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
3
-2
-5
-19
19
0
0
0
0
0
0
1
-23
16
0
0
0
0
0
0
2
4
-6
0
0
0
0
0
0
-1
-37
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
4
11
4
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
0
0
0
0
0
0
0
0
0
0
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
36
5
0
0
0
14
0
5
4
48
-10
0
0
0
0
0
0
-3
-76
60
0
0
0
0
0
0
-1
88
-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
-23
60
0
0
0
-10
0
0
-7
-3
43
0
0
0
0
0
0
0
-32
71
0
0
0
0
0
0
3
-16
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
17
7
0
0
0
9
0
0
2
17
-6
0
0
0
0
0
0
0
16
-42
0
0
0
0
0
0
0
-3
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
-80
-44
0
0
0
6
0
0
0
-42
20
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
1
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
-1
2
12
6
26
0
0
0
0
0
0
0
69
17
0
0
0
0
0
0
2
-47
26
0
0
0
0
0
0
1
-47
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
-11
44
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
-33
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
16
-57
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-5
31
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
0
0
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
54
0
0
0
0
0
0
0
-16
7
0
0
0
0
0
0
0
-1
21
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
-2
-28
-1
13
0
0
0
0
0
0
-20
6
-3
0
0
0
0
0
0
7
10
-2
0
0
10
0
0
0
5
-103
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
1
0
0
-3
40
27
0
0
0
0
0
0
-3
-5
43
0
0
2
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
1
-14
44
0
0
0
0
0
0
4
8
17
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
-2
-53
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
14
-11
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-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
1
6
-50
13
29
0
0
0
0
0
0
7
4
12
0
0
0
0
0
0
-1
37
-52
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
-1
-1
-9
-21
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
-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
13
-59
-26
0
0
0
0
0
0
1
-4
-17
0
0
0
0
0
0
3
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
3
62
0
0
0
0
0
0
0
1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
1
-11
30
0
0
0
0
0
0
0
-33
-9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-9
31
0
0
0
0
0
0
0
8
35
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
0
0
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
0
-3
0
0
2
-21
-12
0
0
0
0
0
0
0
0
8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
2
37
-40
0
0
0
0
0
0
0
47
9
0
0
0
0
0
0
0
-13
-9
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
22
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
0
0
0
0
0
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
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
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
6
-2
-38
-2
0
0
0
0
0
-2
-7
-42
-41
0
0
0
0
0
0
-9
-28
49
0
0
0
0
0
0
16
-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
1
12
-30
0
0
0
0
0
0
-1
-34
4
0
0
0
0
0
0
0
12
-3
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
0
0
0
0
0
0
0
-32
18
11
0
0
0
0
0
0
8
21
48
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
-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
-1
4
0
-13
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
33
1
0
0
0
0
0
-2
-1
-16
45
0
0
0
0
0
0
-1
-49
16
0
0
0
0
0
0
0
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
0
-8
3
-16
-22
0
0
0
0
0
0
0
13
14
0
0
0
0
0
-2
0
0
-12
0
0
0
0
0
0
0
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
1
5
-2
1
-3
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
3
-39
21
0
0
0
0
0
0
0
-40
29
0
0
0
0
0
0
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
-4
-14
0
0
0
3
0
0
0
20
-5
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
-21
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
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
-3
9
0
0
0
-1
0
0
0
-7
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
22
17
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
0
0
-2
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
-19
42
0
0
0
0
0
0
0
-7
32
0
0
0
0
0
0
0
-21
-24
0
0
0
0
0
0
0
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
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
3
52
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
0
0
0
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
-2
-2
0
0
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
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
-2
-8
-12
0
0
0
0
0
0
0
-1
-13
0
0
-6
0
0
0
-7
50
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
0
0
0
0
0
-30
32
0
0
0
0
0
0
0
18
15
0
0
1
0
0
0
-4
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
3
-1
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
-1
-4
0
0
-3
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
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-74
0
0
0
0
0
0
0
-13
43
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
1
0
-7
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
0
0
0
-1
0
0
-6
-16
-22
0
0
0
0
0
0
0
-4
47
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
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
2
-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
-11
0
0
0
0
0
0
0
-12
55
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
0
0
0
0
0
5
24
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-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
0
0
-2
-35
0
0
0
0
0
0
0
0
-32
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
-49
0
0
0
0
0
0
0
1
16
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
16
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
20
10
-20
58
0
0
0
0
0
-10
9
-8
59
0
0
0
0
0
2
0
-8
18
0
0
1
0
0
0
-3
-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
-4
2
8
-37
0
0
0
0
0
3
0
1
14
0
0
0
0
0
1
0
9
-5
0
0
0
0
0
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
-1
2
7
24
0
0
0
0
0
0
-1
6
-61
0
0
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
8
0
0
0
0
0
0
0
2
-5
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
-18
-5
1
-28
15
0
0
0
0
0
0
0
4
17
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
-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
1
0
0
13
38
0
0
0
0
0
0
0
6
-115
0
0
0
0
0
0
0
3
5
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
-9
-2
-6
-13
-80
1
0
0
0
0
0
0
2
123
-5
0
0
0
0
0
-9
-10
14
-2
0
0
0
0
0
0
12
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
-4
-9
-16
24
0
0
0
0
0
0
11
15
-11
0
0
0
0
0
0
5
-25
38
0
0
0
0
0
0
0
-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
1
-3
-4
39
0
0
0
-4
0
0
-5
7
51
0
0
0
0
0
0
0
-12
1
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
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
0
0
0
3
0
0
0
-6
63
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
32
3
0
0
-37
0
0
0
72
-99
0
0
0
0
0
0
0
50
-4
-19
0
0
0
0
0
-6
-37
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
-2
4
23
0
0
1
0
0
0
-83
10
-3
0
0
0
0
0
0
0
-1
90
0
0
0
0
0
0
0
-17
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
1
-40
69
0
0
0
0
0
0
0
-50
47
0
0
0
0
0
0
0
44
-27
0
0
0
0
0
0
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
8
3
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
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
87
5
0
0
0
0
0
0
18
-7
-2
0
0
0
0
0
0
-7
-26
7
0
0
0
0
0
0
13
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
-2
-4
16
0
0
0
0
0
0
2
-8
12
0
0
0
0
0
0
2
2
7
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
1
-4
7
30
0
0
0
0
0
0
1
-15
6
0
0
0
0
0
0
0
7
28
0
0
-8
0
0
0
-2
-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
12
11
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
-2
-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
2
-18
4
3
0
0
0
0
0
0
-44
37
-6
0
0
0
0
0
5
9
-7
-13
0
7
0
0
0
-2
14
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
9
24
-19
0
0
0
0
0
0
3
-8
6
0
0
0
0
0
0
1
0
-53
0
2
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
-1
38
-18
0
0
0
0
0
0
0
-22
-12
0
0
0
0
0
0
0
20
46
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
-3
-44
0
0
0
0
0
0
0
7
-2
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
-3
-3
3
-19
27
0
0
0
0
0
0
18
-69
-2
0
0
0
0
0
-1
4
6
19
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
0
0
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
22
0
0
0
0
0
0
0
5
50
0
0
0
0
0
0
2
0
-43
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
8
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
-10
15
5
0
0
3
0
0
0
-17
54
-9
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
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
-1
59
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
0
-30
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
1
1
34
0
0
0
0
0
0
0
-8
-40
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-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
-1
13
0
0
0
0
0
0
0
-3
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
-2
19
0
0
0
0
0
0
0
-13
9
35
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
104
0
0
0
0
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
0
0
0
0
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
-58
0
0
0
0
0
0
3
-35
-21
0
0
0
0
0
0
1
8
54
0
0
6
0
0
0
-2
-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
4
9
10
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
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
53
6
0
0
0
0
0
1
-7
-20
1
0
0
0
0
0
1
2
2
-34
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
6
9
-45
0
0
0
0
0
0
1
-4
-49
0
0
0
0
0
0
0
-5
-39
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-12
45
19
0
0
0
0
0
0
0
-33
46
0
0
0
0
0
0
0
-5
52
0
0
0
0
0
0
-1
-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
8
-1
0
0
0
0
0
0
0
-1
-17
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
1
1
-8
-54
-5
2
0
0
0
0
0
0
-20
-17
8
0
0
0
0
0
0
2
1
-25
0
0
0
0
0
0
0
-31
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
12
11
1
0
0
0
0
2
5
54
54
-2
0
0
0
0
0
-3
-19
-46
9
0
0
0
0
0
4
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
1
-1
7
0
0
0
-7
0
0
3
-30
62
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
7
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
-7
-2
0
0
0
-1
0
0
0
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
1
0
0
0
1
0
-26
0
0
0
0
0
0
-5
-11
40
0
0
0
0
0
0
-10
-14
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
18
2
-36
4
0
13
0
0
0
15
11
-41
-7
0
0
0
0
0
0
5
36
-4
0
0
0
0
0
11
14
-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
-11
-7
0
0
0
0
0
0
0
-7
-15
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
-1
-13
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
-14
64
-15
0
0
0
0
0
0
4
-3
-6
0
0
0
0
0
0
1
0
31
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
-1
-16
-40
98
11
0
0
0
0
0
11
-6
-9
63
0
0
0
0
0
3
-11
86
-29
0
0
0
0
0
0
-2
-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
1
0
13
21
0
0
0
0
0
0
-1
-44
14
0
0
0
0
0
0
-1
13
-27
0
0
1
0
0
0
1
-26
-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
-1
8
0
0
0
0
0
0
0
2
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
0
0
0
0
0
0
-17
3
-7
0
0
0
0
0
0
-6
4
-23
0
1
0
0
0
0
-16
4
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
-44
20
-38
-3
0
0
0
0
0
14
-1
-33
-5
0
0
0
0
0
-1
4
-13
-39
0
0
0
0
0
-12
-10
45
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-63
51
0
0
0
0
0
0
-1
18
36
0
0
0
0
0
0
0
-7
13
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
0
0
0
0
0
0
0
0
0
0
2
4
7
-1
0
0
0
0
0
0
0
-16
-24
0
0
0
0
0
0
0
1
19
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
1
1
-2
9
55
28
0
0
0
0
0
0
-11
8
-18
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
3
-2
-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
10
4
22
0
0
0
0
0
4
-15
59
11
0
0
0
0
0
-3
-1
83
48
0
0
0
0
0
0
10
-10
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
-2
-6
-8
0
0
0
6
0
0
1
-34
28
0
0
0
0
0
0
0
-10
-13
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
0
0
9
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
20
0
0
-19
0
0
0
-5
26
-13
0
0
0
0
0
0
2
0
-34
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-104
36
0
0
0
0
0
-21
-23
2
-16
0
0
0
0
0
0
0
14
-39
0
0
0
0
0
-1
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
4
-2
5
-40
-59
0
0
0
0
0
0
0
-37
2
0
0
0
0
0
0
0
6
86
0
0
0
0
0
0
2
-28
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
-5
32
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
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
-14
17
2
0
0
0
0
0
0
-1
-13
-22
0
0
0
0
0
0
2
-32
28
0
0
0
0
0
0
-1
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
1
-1
12
15
-16
0
0
0
0
0
1
14
28
-24
0
0
0
0
0
-2
-2
-91
34
0
0
0
0
0
0
-2
-37
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
26
15
14
11
-8
0
0
0
1
-8
-18
84
63
0
0
0
0
0
-3
61
24
-14
3
0
0
-10
-6
-16
-24
-59
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-8
-29
0
0
0
0
-4
-11
-9
-25
37
0
0
0
0
0
-4
17
-31
11
0
0
-31
0
0
0
-18
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
16
-72
34
104
-15
5
0
0
25
-5
16
-25
-107
-4
-1
0
0
0
-12
12
9
-50
38
-7
0
48
3
5
0
-16
-14
-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
22
19
-22
-28
31
-17
2
0
9
-2
4
0
4
17
-76
4
0
0
2
-3
-16
-39
8
-47
11
-8
4
0
0
-5
-116
-34
-69
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-29
69
-71
15
0
0
0
0
1
55
-63
-99
7
0
0
0
0
5
-32
-21
-21
26
0
0
0
0
-3
27
107
7
-16
0
0
0
0
-16
32
61
-27
10
0
0
0
0
-34
-6
-57
61
25
0
0
0
0
-3
24
2
-52
12
0
0
0
0
-56
66
3
6
30
0
0
0
0
5
14
38
-109
35
0
0
0
0
0
61
-24
1
8
0
0
0
0
-17
-24
22
-38
43
0
0
0
0
4
18
-94
46
1
0
0
0
0
32
45
5
6
48
0
0
0
0
16
-16
-5
3
24
0
0
0
0
7
-59
-38
87
29
0
0
0
0
5
-38
14
-49
1
0
0
0
0
-15
-53
-15
-66
103
0
0
0
0
-3
38
-5
-77
28
0
0
0
0
-11
31
-18
-11
20
0
0
0
0
0
-41
-28
-26
72
0
0
0
0
-23
-39
-13
-28
34
0
0
0
0
14
-51
38
25
-10
0
0
0
0
-31
21
11
-10
-6
0
0
0
0
61
-43
85
-33
-56
0
0
0
0
-33
-13
24
42
67
0
0
0
0
2
-45
61
-2
65
0
0
0
0
30
6
69
-77
-25
0
0
0
0
3
75
0
20
-39
0
0
0
0
17
-33
0
-92
49
0
0
0
0
25
-23
116
-75
-30
0
0
0
0
-28
96
32
-20
-17
0
0
0
0
53
16
-1
-12
-13
0
0
0
0
0
50
-25
13
6
0
0
0
5
-4
94
54
-10
7
0
0
0
0
0
-7
9
13
14
0
0
0
1
0
-14
28
-13
3
0
0
0
0
0
20
75
4
7
0
0
0
60
-11
-13
-58
16
28
0
0
0
0
0
3
-14
-49
33
0
0
0
16
0
8
57
-57
22
0
0
0
0
0
-37
-11
-6
63
0
0
0
-63
-14
-9
-27
35
66
0
0
0
0
0
-34
-18
-56
54
0
0
0
52
0
-20
-77
-56
53
0
0
0
0
0
-5
2
-155
58
0
0
0
54
0
-17
8
36
-12
0
0
0
0
0
-1
-18
-4
-23
0
0
0
-34
1
6
50
45
16
0
0
0
0
0
5
36
-7
-5
0
0
0
100
1
-9
-17
-13
12
0
0
0
0
0
2
-16
16
-18
0
0
0
-3
0
0
-53
-7
44
0
0
0
0
1
2
-36
-34
42
0
0
0
-59
10
20
-59
61
-23
0
0
0
0
0
9
11
0
-31
0
0
0
18
0
-2
81
-24
0
0
0
0
0
0
5
4
66
-18
0
0
0
-31
1
28
-24
-94
75
0
0
0
0
0
4
11
-69
59
0
0
0
30
0
-6
-9
-18
45
0
0
0
0
-2
5
-72
-40
47
0
0
0
-26
4
-2
41
5
26
0
0
0
0
0
-16
5
-45
64
0
0
0
35
3
-10
71
5
-2
0
0
0
0
13
-51
56
-64
-15
0
0
0
0
0
2
-4
32
-5
0
0
0
0
-3
28
-15
-18
13
0
0
0
0
0
-20
-15
32
19
0
0
0
0
-2
12
9
24
-32
0
0
0
0
0
-4
32
-3
-6
0
0
0
0
4
-5
26
-37
29
0
0
0
0
0
-81
67
1
-22
0
0
0
0
21
85
-49
-47
-32
0
0
0
0
0
-10
18
15
-10
0
0
0
0
18
-59
72
-37
5
0
0
0
0
0
-1
19
-62
12
0
0
0
0
-1
8
-39
-7
53
0
0
0
0
0
-11
-7
-38
-47
0
0
0
0
-6
47
55
-98
-1
0
0
0
0
-8
28
39
-93
31
0
0
0
0
0
6
40
-4
-32
0
0
0
0
0
2
6
-9
0
0
0
0
0
5
-32
-80
-4
69
0
0
0
0
0
7
-63
-19
23
0
0
0
0
0
26
-29
-59
29
0
0
0
0
0
3
-50
-46
27
0
0
0
0
1
5
45
18
-14
0
0
0
0
-4
18
27
-17
50
0
0
0
0
40
12
97
-196
69
0
0
0
0
0
3
-28
46
-47
0
0
0
0
20
27
-81
-78
27
0
0
0
0
0
-13
-10
32
28
0
0
0
0
27
61
26
57
-156
0
0
0
0
12
25
-45
-53
41
0
0
0
0
-14
-40
16
-92
93
0
0
0
0
13
27
50
-35
4
0
0
0
0
0
31
-31
13
-12
0
0
0
19
-3
-11
-11
-18
27
0
0
0
0
0
-9
-62
21
17
0
0
6
-14
4
39
-55
-36
20
0
0
0
0
0
2
-3
-59
6
0
0
0
0
0
-14
-32
35
-4
0
0
0
0
0
-32
9
-31
66
0
0
-5
-3
-21
-20
50
-5
-6
0
0
0
0
0
0
-8
91
-10
0
0
0
-7
0
-2
117
-73
-12
0
0
0
0
0
93
-38
48
-115
0
0
-49
-2
-3
-14
56
-57
-4
0
0
0
0
0
-7
7
3
-29
0
0
0
-5
0
-5
-10
-12
24
0
0
0
0
0
2
-25
-55
-22
0
0
18
-4
8
81
-32
9
-46
0
0
0
0
0
2
45
-92
11
0
0
0
0
0
0
-11
-108
81
0
0
0
0
0
-5
-32
26
49
0
0
-24
-13
3
-8
22
5
-10
0
0
0
0
0
-7
-67
21
5
0
0
0
0
0
9
-6
-31
-37
0
0
0
0
0
0
0
-27
57
0
0
73
0
6
-32
27
-19
-73
0
0
0
0
0
2
18
-12
30
0
0
0
22
0
0
-10
-35
27
0
0
0
0
0
-9
-50
1
82
0
0
17
10
1
-61
1
39
-16
0
0
0
0
0
19
-41
-23
12
0
0
0
-9
0
-1
-46
-76
117
0
0
0
0
-1
27
30
-105
93
0
0
-7
51
-68
-21
18
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
21
33
0
0
0
0
0
0
-24
45
-24
0
0
0
0
-2
-24
-29
19
42
0
0
0
0
0
-21
18
-25
27
0
0
0
0
7
29
-7
51
18
0
0
0
0
-1
0
-22
5
-30
0
0
0
0
2
-3
59
-8
32
0
0
0
0
-2
-6
-25
-78
128
0
0
0
0
77
-9
1
45
3
0
0
0
0
0
9
2
-47
-4
0
0
0
0
4
27
55
-78
-14
0
0
0
0
0
39
-50
-51
56
0
0
0
0
3
-28
61
-55
37
0
0
0
0
-1
-24
8
16
23
0
0
0
0
16
-28
20
-39
13
0
0
0
0
-10
81
-106
94
0
0
0
0
0
-53
-17
14
41
30
0
0
0
0
0
1
-1
-66
58
0
0
0
0
5
-25
-5
-96
80
0
0
0
0
0
-16
16
-22
58
0
0
0
0
3
3
-31
-45
122
0
0
0
0
0
3
7
-36
77
0
0
0
0
9
-27
21
-11
4
0
0
0
0
-19
26
5
-3
-3
0
0
0
0
4
-123
42
44
51
0
0
0
0
0
11
4
32
-32
0
0
0
0
0
5
51
-8
-9
0
0
0
0
-4
15
36
16
-19
0
0
0
0
-15
-43
111
47
-32
0
0
0
0
3
10
-15
39
-29
0
0
0
0
17
17
-103
-21
8
0
0
0
0
15
59
-43
-35
-4
0
0
0
0
0
-1
-11
114
-9
0
0
0
2
-1
0
-14
-54
50
0
0
0
0
0
0
-8
-64
-2
0
0
0
13
0
1
38
-15
-47
0
0
0
0
0
0
-7
-25
75
0
0
0
6
0
0
-32
3
12
0
0
0
0
0
0
5
30
-10
0
0
0
-2
0
0
72
-14
7
0
0
0
0
0
4
-31
19
-28
0
0
0
35
0
-7
31
17
-21
0
0
0
0
0
0
4
-68
35
0
0
0
-2
0
0
-124
45
24
0
0
0
0
0
-2
-11
-4
61
0
0
0
-17
0
6
-25
-17
-21
0
0
0
0
0
1
6
-55
-4
0
0
0
-4
0
-27
59
5
-17
0
0
0
0
0
1
11
34
-14
0
0
0
32
0
3
1
-131
78
0
0
0
0
0
0
-7
-19
26
0
0
0
0
0
-3
8
21
-71
0
0
0
0
0
0
-7
-7
23
0
0
0
29
0
7
-3
67
-103
0
0
0
0
0
0
1
-23
10
0
0
0
-3
0
1
-38
-55
-8
0
0
0
0
0
6
21
-89
61
0
0
0
18
0
-6
2
-23
56
0
0
0
0
0
0
0
159
-64
0
0
0
-2
0
2
0
-80
62
0
0
0
0
0
6
8
-26
13
0
0
0
54
-4
4
3
-23
-45
0
0
0
0
-3
0
0
-36
-3
0
0
0
-62
3
-48
-29
-31
20
0
0
0
0
-3
-11
-7
-63
101
0
0
0
0
0
5
-11
-70
25
0
0
0
0
0
2
2
-40
-54
0
0
0
0
0
6
3
3
38
0
0
0
0
0
-1
2
-31
1
0
0
0
0
0
0
-5
57
-33
0
0
0
0
0
-4
-2
-19
-26
0
0
0
0
0
-1
-8
13
19
0
0
0
0
0
6
-58
-77
79
0
0
0
0
0
-4
-7
-69
75
0
0
0
0
-7
27
46
-77
-29
0
0
0
0
0
19
-2
-8
-42
0
0
0
0
-1
8
-5
7
-86
0
0
0
0
0
-3
-1
-14
-42
0
0
0
0
-14
-44
2
-18
82
0
0
0
0
-17
-65
70
-10
-45
0
0
0
0
-1
-5
8
17
61
0
0
0
0
0
0
0
17
-35
0
0
0
0
0
-1
-4
36
-41
0
0
0
0
0
0
0
34
1
0
0
0
0
0
0
4
-35
47
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
-3
3
14
0
0
0
0
0
-2
13
-7
-18
0
0
0
0
3
1
-7
24
3
0
0
0
0
0
0
0
-1
5
0
0
0
0
-8
20
0
86
-68
0
0
0
0
0
7
-9
-65
80
0
0
0
0
0
-5
8
54
-14
0
0
0
0
0
2
-9
-37
58
0
0
0
0
18
0
-22
-23
64
0
0
0
0
-18
38
-113
-47
53
0
0
0
0
0
15
6
41
29
0
0
0
0
0
-3
-16
-13
22
0
0
0
0
0
0
0
-31
42
0
0
6
0
0
6
-118
36
76
0
0
0
0
0
0
16
-5
-93
0
0
0
0
0
3
8
-56
-37
0
0
0
0
0
-3
1
-6
32
0
0
3
0
0
4
-1
-12
5
0
0
0
0
0
-10
70
-53
-25
0
0
0
4
0
0
4
-87
14
0
0
0
0
0
-7
-48
46
-25
0
0
46
5
0
17
-36
-17
-32
0
0
0
0
0
0
5
4
13
0
0
0
0
0
-1
-8
1
-23
0
0
0
0
0
0
-12
-77
13
0
0
0
10
-2
-51
-13
-44
77
0
0
0
0
0
-2
16
54
-53
0
0
0
0
0
0
1
-12
34
0
0
0
0
0
-4
0
-15
67
0
0
37
0
0
2
9
-82
9
0
0
0
0
0
0
14
-16
-79
0
0
0
0
0
0
3
-14
-17
0
0
0
0
0
0
-10
-6
8
0
0
-5
0
0
4
-66
9
-17
0
0
0
0
0
0
6
-25
104
0
0
0
0
0
0
5
27
-12
0
0
0
0
0
0
-4
11
-7
0
0
17
-8
-3
-2
52
-79
86
0
0
0
0
0
3
0
4
63
0
0
0
-5
0
0
15
41
-94
0
0
0
0
2
-4
27
6
-61
0
0
16
-22
-1
29
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
-25
47
-8
0
0
0
0
0
9
23
-44
-20
0
0
0
0
-7
19
-59
45
13
0
0
0
0
0
51
-28
11
37
0
0
0
0
-24
-19
56
-26
-8
0
0
0
0
3
-46
31
-36
32
0
0
0
0
1
-15
-57
75
-28
0
0
0
0
-3
-14
-15
29
1
0
0
0
0
-78
33
64
43
-2
0
0
0
0
0
4
4
97
28
0
0
0
0
13
-24
-18
-16
71
0
0
0
0
0
21
-35
7
2
0
0
0
0
5
18
-21
31
-1
0
0
0
0
0
-17
11
-73
37
0
0
0
0
39
-46
50
-37
44
0
0
0
0
-26
27
2
-16
2
0
0
0
0
76
4
10
-61
-37
4
0
0
0
-11
-38
36
-45
-32
17
0
0
0
-43
38
70
24
-55
6
0
0
0
1
5
60
-20
131
0
0
0
0
10
4
50
-26
15
8
0
0
0
-9
-32
-9
-67
-36
22
0
0
0
29
22
-50
-113
110
-7
0
0
0
65
-24
54
4
-32
-11
0
0
0
6
63
-21
105
39
-3
0
0
0
0
-9
10
-69
-46
34
0
0
0
27
25
26
-18
94
16
0
0
0
-1
-38
-74
-52
-3
40
0
0
0
-48
7
46
19
44
10
0
0
0
34
-68
79
-26
52
6
0
0
0
-22
26
31
87
54
-26
0
0
0
-30
-77
28
-19
32
4
0
0
0
0
9
-4
-23
27
0
0
0
-31
-5
3
-49
-81
63
0
0
0
0
0
0
74
22
-81
0
0
0
2
0
-4
30
-55
27
0
0
0
0
0
9
-60
73
56
0
0
0
54
0
-18
113
-41
-41
0
0
0
0
0
-2
-1
-55
42
0
0
0
0
3
-10
30
-22
9
0
0
0
0
0
4
13
-18
78
0
0
0
20
0
2
0
-40
-17
0
0
0
0
0
3
-9
-28
16
0
0
0
11
0
-12
-4
-49
25
0
0
0
0
0
0
2
-66
-6
0
0
0
54
0
9
-35
9
-29
0
0
0
0
0
13
-5
-54
45
0
0
0
13
2
-34
39
-21
16
0
0
0
0
0
-1
50
30
22
-8
0
0
-63
-2
2
-9
-10
35
2
0
0
0
0
3
69
-21
4
3
0
0
0
0
0
4
6
0
-12
0
0
0
0
-1
38
-33
-84
13
0
0
-105
-2
-2
45
-121
96
12
0
0
0
0
-2
0
-69
75
-27
0
0
0
2
21
-54
6
35
-5
0
0
0
0
6
8
-40
-59
6
0
0
12
0
0
-26
-143
-36
76
0
0
0
0
0
19
-72
26
-21
0
0
45
0
-5
-20
-110
111
4
0
0
0
7
-5
-13
38
57
-16
0
0
61
-6
1
-60
30
-1
24
0
0
0
7
-8
-13
43
-1
-2
0
0
-61
-3
22
-78
-15
3
-2
0
0
0
4
4
-7
-27
53
0
0
0
0
0
0
3
21
26
0
0
0
0
4
33
38
-61
-38
0
0
0
0
0
2
41
-87
50
0
0
0
0
0
1
-28
-59
22
0
0
0
0
0
6
-3
-30
67
0
0
0
0
1
2
-1
40
6
0
0
0
0
0
12
10
-46
69
0
0
0
0
-1
3
-6
24
31
0
0
0
0
0
0
2
6
-4
0
0
0
0
-1
10
2
26
-48
0
0
0
0
0
-8
2
-49
6
0
0
0
0
0
-1
0
21
-25
0
0
0
0
0
0
1
-22
5
0
0
0
0
0
-11
42
70
-42
0
0
0
0
2
2
28
-19
-5
0
0
0
0
2
0
-15
-192
33
-5
0
0
0
0
0
2
55
-21
-5
0
0
0
-19
-43
-100
6
9
3
0
0
0
0
-7
89
-47
-129
13
0
0
0
0
0
6
-27
-97
8
0
0
0
0
0
-17
48
-42
23
0
0
0
-9
-35
-28
7
-13
13
0
0
0
10
66
-17
-67
43
-12
0
0
0
0
-3
73
-37
34
7
0
0
0
0
3
-4
-63
-18
64
0
0
0
3
-20
-39
6
-28
24
0
0
0
0
0
-57
-13
113
21
0
0
0
-4
-2
8
36
54
26
0
0
0
-2
-4
27
-20
26
6
0
0
0
9
53
16
-56
-63
25
0
0
0
-35
-40
29
-17
46
6
0
0
0
1
-7
31
50
-14
0
0
0
0
0
-3
31
15
-41
0
0
0
0
0
-3
51
-53
-2
0
0
6
7
3
-12
-50
-27
19
0
0
0
0
0
4
12
-30
-51
0
0
0
0
0
6
6
-59
15
0
0
0
0
0
0
2
12
21
0
0
-4
0
-3
55
-29
-58
75
0
0
0
0
0
4
-9
-23
108
0
0
0
0
0
0
1
2
21
0
0
0
0
0
7
-14
-89
43
0
0
-2
1
0
28
-36
48
-16
0
0
0
0
0
0
-8
13
-55
0
0
0
0
0
0
1
-7
15
0
0
0
0
0
1
-5
5
32
0
0
16
0
-2
-27
2
-66
3
0
0
0
0
0
4
-9
5
36
-19
0
0
0
0
-1
3
-27
7
-11
0
0
0
0
-5
-1
-117
-72
12
0
-38
-1
5
-13
-66
-18
120
8
0
0
0
0
-3
-39
101
28
-8
0
0
0
0
0
68
4
43
-29
0
0
0
0
0
19
-47
-23
-5
0
15
0
6
-23
-38
10
10
-24
0
0
0
0
0
3
59
-43
-22
0
0
-5
0
0
11
0
91
-58
0
0
0
0
0
7
-66
61
3
0
-2
0
1
0
25
-62
14
48
0
0
0
0
-1
15
-80
-59
23
0
0
14
0
1
-1
-5
19
-39
0
0
0
0
-7
47
-37
2
0
0
19
-9
14
-17
-90
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-81
33
0
0
0
0
0
1
-5
1
-8
0
0
0
0
5
8
153
-90
-5
0
0
0
0
0
8
35
-63
15
0
0
0
0
-1
-47
-29
8
86
0
0
0
0
-1
-1
32
5
-4
0
0
0
0
-1
-10
5
-2
-8
0
0
0
0
0
-29
-36
27
77
0
0
0
0
-32
11
30
35
-51
0
0
0
0
0
4
4
-110
26
0
0
0
0
-2
-20
-38
78
75
0
0
0
0
-1
-24
-64
64
-14
0
0
0
0
6
-24
11
21
19
0
0
0
0
-5
7
-5
0
-14
0
0
0
0
19
10
-14
-43
84
0
0
0
0
34
-2
-31
-78
3
0
0
0
0
30
64
57
-20
-10
-8
0
0
0
0
0
24
10
-10
33
0
0
0
1
8
82
-6
12
-11
0
0
0
0
3
38
-12
-12
10
0
0
0
4
34
-17
35
-6
-41
0
0
0
-3
9
-7
-20
21
21
0
0
0
0
18
-6
113
-50
-11
0
0
0
-6
37
43
29
22
-21
0
0
0
9
-32
-24
0
17
-17
3
0
0
0
-14
-13
35
-18
7
9
0
0
8
-32
-86
-47
-2
2
7
0
0
1
57
19
-38
25
5
7
0
0
-77
-51
9
-8
57
-7
5
0
0
-12
-69
-49
-4
124
-4
8
0
0
4
19
-4
-19
54
16
-7
0
0
18
50
119
-25
-5
-9
5
0
0
0
0
17
-130
32
0
0
0
-3
0
4
-5
-106
18
0
0
0
0
0
0
-19
-14
12
0
0
0
6
0
-6
14
-64
89
0
0
0
0
0
0
-2
-1
157
0
0
0
3
0
0
-10
-13
6
0
0
0
0
0
0
9
38
7
0
0
0
0
0
0
13
-13
18
0
0
0
0
0
1
7
-6
-13
0
0
0
22
0
-4
0
-40
23
0
0
0
0
0
0
1
-24
-33
0
0
0
-13
0
-11
69
-51
1
0
0
0
0
0
7
-1
-21
78
0
0
0
-23
0
0
-18
-7
94
0
0
0
0
0
1
11
-8
-36
0
0
0
-4
0
9
30
-22
-37
0
0
0
0
0
0
15
-76
-49
11
0
0
-6
0
4
10
-45
-20
24
0
0
0
0
0
2
-35
18
-5
0
0
0
0
0
-22
-77
-5
60
0
0
0
0
-1
-19
44
50
-42
0
0
28
0
-7
32
17
-5
-12
0
0
0
0
1
1
72
126
-68
0
0
0
0
-3
-13
-124
58
-5
0
0
0
0
0
42
-17
19
11
-8
0
51
0
-48
-65
64
10
-15
-13
0
0
0
0
-49
32
-121
30
0
0
-3
0
-10
14
13
-22
-3
-1
0
0
11
-6
24
46
-7
-6
-13
0
4
-1
-1
-35
-12
-5
40
5
0
0
-1
-14
-17
-112
-1
14
28
0
54
-8
-33
-65
38
-36
27
-11
0
0
0
8
1
-46
-36
0
0
0
0
0
0
-6
-74
95
0
0
0
0
1
0
34
39
-1
0
0
0
0
0
4
5
-1
75
0
0
0
0
0
-1
1
-12
-9
0
0
0
0
0
0
-5
-23
-2
0
0
0
0
0
0
-4
-49
0
0
0
0
0
0
1
34
1
26
0
0
0
0
3
0
0
-70
30
0
0
0
0
0
0
0
5
-7
0
0
0
0
-3
-5
-20
99
-11
0
0
0
0
0
-4
5
-40
101
0
0
0
0
0
1
0
5
7
0
0
0
0
0
-3
0
-31
-12
0
0
0
0
-3
-2
0
-8
-19
0
0
0
0
8
-7
-79
16
32
0
0
0
0
0
-9
10
-45
-25
-10
0
0
0
0
0
2
-34
-39
14
0
0
0
1
0
7
-20
11
-16
0
0
0
0
-3
-1
20
-52
-27
0
0
0
0
1
-19
-5
31
-63
0
0
0
0
-6
1
-10
4
21
0
0
0
0
0
1
14
-9
-3
0
0
0
0
-40
50
-92
56
40
0
0
0
-4
-3
-25
58
-58
14
13
0
0
0
0
1
-59
-43
-60
39
0
0
-15
54
23
-69
-12
-40
9
0
0
-6
5
-47
-50
-61
77
22
0
0
-19
2
-2
2
47
13
-19
0
0
-1
-5
-6
-11
-45
66
21
0
0
-27
9
28
98
58
-36
12
0
0
-23
-21
-108
-52
14
-22
30
0
0
0
0
9
96
-90
0
0
0
0
0
0
-22
-34
76
0
0
0
0
0
0
-31
43
30
0
0
1
0
0
1
-38
-36
-41
0
0
0
0
0
-2
2
-17
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
12
4
0
0
0
0
0
1
-98
-8
3
0
0
0
0
0
-4
6
-5
12
0
0
0
0
0
0
-3
-53
-6
0
0
0
0
0
1
10
-12
-43
0
0
-11
-1
0
43
-21
67
-73
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
1
3
0
4
0
0
-2
-3
0
-4
-10
24
-18
0
0
0
0
0
3
-20
-146
51
-18
0
0
0
0
0
-48
-28
79
18
0
0
0
0
0
11
21
-15
-94
0
-46
0
0
-5
-74
-78
55
58
0
0
0
0
-3
0
1
-20
60
0
0
0
0
-1
-9
-7
7
60
0
0
0
0
0
-4
2
3
-69
0
9
0
0
-73
64
-53
-13
32
0
0
0
0
19
-70
68
-10
-23
-14
0
1
0
-1
48
91
11
-31
-40
0
0
0
1
11
-30
50
-41
0
16
3
-1
-110
33
-85
-72
-43
11
0
0
0
-14
-8
-44
-10
28
15
0
1
0
-5
52
-12
-109
-85
70
0
0
-3
2
-19
30
60
-56
51
-114
40
1
-56
-49
-33
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
-37
50
50
0
0
0
0
-5
18
-73
-48
5
0
0
0
0
42
-11
-33
-25
1
0
0
0
0
0
11
-5
-12
-5
0
0
0
0
9
25
-41
-73
84
0
0
0
0
-19
12
65
-48
25
0
0
0
0
9
16
16
-68
30
0
0
0
0
3
-9
-6
-54
10
0
0
0
0
-18
-37
47
24
9
0
0
0
0
0
5
24
-80
21
0
0
0
0
17
16
-24
29
20
0
0
0
0
-2
16
-73
4
58
0
0
0
0
6
87
-20
-32
33
0
0
0
0
0
-3
33
58
-41
0
0
0
0
16
61
30
-18
53
0
0
0
0
17
-5
11
8
-3
0
0
0
0
11
-74
-51
-32
70
0
0
0
0
4
5
-73
57
23
0
0
0
0
-5
-14
-27
14
114
0
0
0
0
1
-3
-35
-21
31
0
0
0
0
-6
-12
-45
86
35
0
0
0
0
0
-17
-1
-27
25
0
0
0
0
3
3
26
-73
59
0
0
0
0
12
-15
24
34
-18
0
0
0
0
8
-4
12
-35
20
0
0
0
0
0
10
-7
-48
47
0
0
0
0
-52
-16
77
-107
73
0
0
0
0
2
-11
78
-45
-55
0
0
0
0
-16
-39
19
-4
35
0
0
0
0
14
-20
5
48
-22
0
0
0
0
24
-21
27
-7
-39
0
0
0
0
21
59
-15
-4
-2
0
0
0
0
0
12
125
-88
31
0
0
0
47
6
2
20
-18
18
0
0
0
0
0
-1
2
-43
-10
0
0
0
-2
0
-13
-27
-59
25
0
0
0
0
0
-3
1
-51
-22
0
0
0
8
0
2
-36
8
16
0
0
0
0
0
-2
6
-49
4
0
0
0
-2
0
-4
13
-78
-33
0
0
0
0
11
0
-79
-28
23
0
0
0
14
0
6
-25
17
23
0
0
0
0
0
-5
-7
47
39
0
0
0
31
0
-3
18
-23
14
0
0
0
0
0
1
38
2
-21
0
0
0
-3
0
-14
0
-113
70
0
0
0
0
0
-3
2
6
-21
0
0
0
-56
0
6
-33
13
21
0
0
0
0
0
1
-49
-24
-2
0
0
0
-9
0
0
13
-54
21
0
0
0
0
0
-3
16
32
24
0
0
0
-5
0
7
46
-55
23
0
0
0
0
0
0
10
-28
-1
0
0
0
-41
0
0
-18
-28
24
0
0
0
0
0
0
13
-13
-18
0
0
0
-2
0
-47
60
-27
41
0
0
0
0
0
-10
-93
53
-7
0
0
0
-16
0
6
-11
15
8
0
0
0
0
0
-20
7
-28
-19
0
0
0
17
0
-13
-6
-56
24
0
0
0
0
0
-2
-24
-22
-41
0
0
0
38
-2
-2
28
-16
-23
0
0
0
0
1
-10
-11
3
-11
0
0
0
-9
46
45
-78
-29
26
0
0
0
0
2
2
-97
-5
40
0
0
0
0
0
0
-23
22
9
0
0
0
0
2
-6
-24
34
-39
0
0
0
0
0
-2
57
-11
-22
0
0
0
0
0
1
25
46
-42
0
0
0
0
0
-5
-2
3
9
0
0
0
0
0
0
-6
-13
38
0
0
0
0
0
-25
51
29
-46
0
0
0
0
0
5
-37
-80
44
0
0
0
0
0
0
-12
-21
13
0
0
0
0
-1
16
9
4
-33
0
0
0
0
0
0
-41
33
-30
0
0
0
0
0
6
2
34
-57
0
0
0
0
0
0
-15
-33
-17
0
0
0
0
0
8
55
-47
-14
0
0
0
0
0
7
-22
-11
15
0
0
0
0
0
2
20
-63
50
0
0
0
0
0
0
4
-5
-7
0
0
0
0
0
2
-38
-45
82
0
0
0
0
0
13
-10
-113
73
0
0
0
0
0
0
-5
-35
27
0
0
0
0
0
0
-3
-34
50
0
0
0
0
0
0
0
41
-1
0
0
0
0
-1
4
22
-20
56
0
0
0
0
0
1
32
7
13
0
0
0
0
0
2
0
-39
0
0
0
0
0
0
0
4
-24
-57
0
0
0
0
0
6
-4
-35
17
0
0
0
0
0
-1
22
-13
40
0
0
0
0
-1
-4
14
-41
-4
0
0
0
0
5
10
-2
-46
12
0
0
0
0
-40
-92
-17
-18
21
0
0
0
0
6
5
11
-60
2
0
0
0
0
0
1
28
3
27
0
0
0
0
0
0
25
-53
12
0
0
32
2
0
0
51
-19
23
0
0
0
0
0
0
-6
-110
32
0
0
0
0
0
-9
-32
26
-11
0
0
0
0
0
0
5
14
-51
0
0
3
0
0
-4
-21
5
35
0
0
0
0
0
1
14
-46
17
0
0
0
0
0
0
12
-38
-7
0
0
0
0
0
3
33
-104
36
0
0
-44
1
0
-1
17
53
-43
0
0
0
0
0
-16
-18
-2
59
0
0
0
0
0
3
59
-38
-93
0
0
0
0
0
-2
15
25
11
0
0
-4
0
0
-14
13
-68
35
0
0
0
0
0
-2
-12
-29
63
0
0
0
0
0
0
41
-4
18
0
0
0
0
0
0
36
-45
-22
0
0
-51
2
0
0
-38
85
-6
0
0
0
0
0
-3
12
-22
58
0
0
0
0
0
2
-15
63
0
0
0
0
0
0
0
22
-29
41
0
0
42
0
0
-12
23
7
15
0
0
0
0
0
3
25
-92
60
0
0
0
0
0
0
49
-39
-29
0
0
0
0
0
2
-76
36
6
0
0
-54
0
0
1
56
41
-48
0
0
0
0
0
6
13
-64
28
0
0
0
3
0
0
67
13
-30
0
0
0
0
0
11
-39
-50
68
0
0
54
1
-5
52
-51
-26
31
0
0
0
0
15
8
26
-75
28
0
0
0
0
0
-2
66
-21
24
0
0
0
0
0
0
52
0
-16
0
0
0
0
0
2
33
-57
38
0
0
0
0
0
11
20
-33
18
0
0
0
0
0
7
-8
5
11
0
0
0
0
0
0
-2
88
-31
0
0
0
0
0
-2
19
-16
1
0
0
0
0
0
-24
-5
27
32
0
0
0
0
0
-7
0
58
-45
0
0
0
0
0
4
-36
-59
34
0
0
0
0
0
8
-76
-18
43
0
0
0
0
-2
-9
4
-8
49
0
0
0
0
0
-1
-18
-3
19
0
0
0
0
-1
-18
-3
6
83
0
0
0
0
-3
20
-19
21
32
0
0
0
0
3
-19
60
-88
-2
0
0
0
0
0
-4
3
-8
37
0
0
0
0
0
-5
-31
28
-6
0
0
0
0
0
0
34
83
-64
0
0
0
0
1
3
-38
7
11
0
0
0
0
0
-3
23
14
-16
0
0
0
0
0
2
10
-23
-44
0
0
0
0
0
-25
4
-24
73
0
0
0
0
-22
-2
-27
-52
45
0
0
0
0
0
0
8
-47
-6
0
0
0
0
0
2
-72
0
39
0
0
0
0
0
48
-45
26
-22
0
0
0
0
1
6
-10
11
58
0
0
0
0
0
0
14
-14
-24
0
0
0
0
-2
-18
66
36
11
0
0
0
0
37
-11
29
-72
18
0
0
0
0
0
0
-4
23
18
0
0
0
1
0
0
-6
-53
6
0
0
0
0
0
0
-3
-176
84
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
11
24
17
0
0
0
0
0
-1
48
31
-5
0
0
0
0
0
0
-5
18
-16
0
0
0
0
0
0
0
-86
18
0
0
0
0
0
0
13
-31
12
0
0
0
1
0
0
5
-16
41
0
0
0
0
0
-3
20
-14
-57
0
0
0
0
0
0
16
25
-3
0
0
0
0
0
0
-3
-13
92
0
0
0
2
0
0
0
-4
-18
0
0
0
0
0
1
11
-13
-32
0
0
0
0
0
2
80
13
-25
0
0
0
0
0
0
-13
-25
69
0
0
0
8
0
-2
-82
-17
11
0
0
0
0
0
0
6
41
-48
0
0
0
0
0
0
-47
-32
30
0
0
0
0
0
0
1
-2
35
0
0
0
0
0
0
-10
50
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
-17
-6
15
0
0
0
0
0
1
-2
3
-30
0
0
0
5
0
0
21
-28
9
0
0
0
0
0
-5
-18
-55
23
0
0
0
-5
0
-1
-44
-5
122
0
0
0
0
0
0
-37
13
-21
0
0
0
-1
0
0
-2
40
-78
0
0
0
0
-4
0
-73
-6
61
0
0
0
-15
0
12
-70
10
22
0
0
0
0
3
-7
3
-31
8
0
0
0
0
0
0
0
-70
43
0
0
0
0
0
0
-10
-35
46
0
0
0
0
0
0
18
27
-29
0
0
0
0
0
-2
2
12
11
0
0
0
0
0
0
3
-8
-11
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
2
31
-17
-15
0
0
0
0
0
1
1
25
-13
0
0
0
0
0
0
3
-11
-2
0
0
0
0
0
0
2
24
43
0
0
0
0
0
0
65
2
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
4
-27
0
0
0
0
1
0
1
0
21
0
0
0
0
0
11
-43
-1
-61
0
0
0
0
0
-9
13
-32
27
0
0
0
0
0
0
0
-51
102
0
0
0
0
0
0
5
16
-17
0
0
0
0
0
0
-1
-104
12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-5
-8
-1
-23
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-4
2
-33
-1
0
0
0
0
0
3
6
5
-6
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-18
2
-28
0
0
0
0
0
-1
-3
44
-5
0
0
0
0
0
1
-27
-20
56
0
0
0
0
0
-8
-1
3
57
0
0
0
0
-3
0
2
6
-3
0
0
0
0
11
-31
15
23
-12
0
0
0
0
0
-11
126
-58
23
0
0
0
0
0
6
-20
-52
8
0
0
0
0
0
10
-23
13
12
0
0
-7
0
0
10
57
1
22
0
0
0
0
0
0
-12
-11
45
0
0
0
0
0
-1
74
-70
54
0
0
0
0
0
0
36
31
-130
0
0
0
0
0
-42
2
15
-13
0
0
0
0
0
-10
30
-3
55
0
0
0
0
0
0
24
-38
1
0
0
0
0
0
7
-7
-6
-26
0
0
0
0
0
-14
-22
-68
116
0
0
0
0
0
-3
2
-10
-9
0
0
0
0
0
7
-36
-9
-12
0
0
0
0
0
-5
-44
-20
7
0
0
0
0
0
-54
-38
61
-29
0
0
0
0
0
7
-16
73
-47
0
0
0
0
0
0
-11
-61
69
0
0
0
0
0
-5
-36
-41
73
0
0
9
0
0
-5
-6
32
37
0
0
0
0
0
10
23
-89
5
0
0
0
0
0
-2
27
31
-52
0
0
0
0
0
1
-56
33
-2
0
0
0
0
0
-60
-7
-17
52
0
0
0
0
0
-3
41
-13
-29
0
0
0
0
0
4
19
-40
-4
0
0
0
0
0
-2
-29
-36
55
0
0
4
0
0
-15
-17
78
-19
0
0
0
0
0
14
19
39
-65
0
0
0
2
0
-4
20
54
-23
0
0
0
0
-9
69
-73
-54
50
0
0
-15
0
0
-53
27
-71
21
0
0
0
0
22
-5
-20
57
-12
0
0
0
0
0
1
-19
16
10
0
0
0
0
0
6
22
-29
31
0
0
0
0
0
19
-11
-83
29
0
0
0
0
0
17
40
29
-44
0
0
0
0
0
9
-8
-66
44
0
0
0
0
0
7
-47
-50
129
0
0
0
0
1
36
-30
-33
43
0
0
0
0
-25
22
-56
2
11
0
0
0
0
0
13
0
105
-79
0
0
0
0
-2
11
-39
-98
82
0
0
0
0
-1
-18
-6
-16
63
0
0
0
0
0
0
-4
7
30
0
0
0
0
0
3
15
-6
10
0
0
0
0
11
-3
-19
-14
37
0
0
0
0
-2
2
59
5
5
0
0
0
0
-26
18
-33
41
37
0
0
0
0
0
-8
-10
49
-12
0
0
0
0
0
4
26
69
32
0
0
0
0
0
-4
20
6
53
0
0
0
0
3
-43
-9
-31
-43
0
0
0
0
0
3
32
25
-36
0
0
0
0
0
3
2
-10
55
0
0
0
0
2
-1
81
-29
21
0
0
0
0
-29
5
-6
17
5
0
0
0
0
0
-3
5
-8
-10
0
0
0
0
0
-8
-11
-55
26
0
0
0
0
0
-14
47
-76
63
0
0
0
0
4
-19
7
31
-17
0
0
0
0
0
-9
-10
-46
75
0
0
0
0
-15
-64
62
94
-49
0
0
0
0
-21
-44
71
-9
-4
0
0
0
0
0
0
-58
-25
33
0
0
0
-56
0
9
-11
47
2
0
0
0
0
0
0
-1
-22
0
0
0
0
15
0
0
-4
18
9
0
0
0
0
0
0
10
-41
71
0
0
0
17
0
0
2
-40
-7
0
0
0
0
0
0
0
-27
10
0
0
0
0
0
1
84
-8
31
0
0
0
0
0
-1
-19
-12
79
0
0
0
9
0
-1
1
-48
7
0
0
0
0
0
4
12
-49
-7
0
0
0
-6
0
5
-74
-45
97
0
0
0
0
0
0
0
-8
6
0
0
0
-5
0
0
-1
6
48
0
0
0
0
0
-8
3
-10
38
0
0
0
-2
0
7
10
-77
-43
0
0
0
0
0
0
16
47
-11
0
0
0
21
0
2
-2
-40
39
0
0
0
0
0
0
-1
1
20
0
0
0
0
0
-1
14
-27
-65
0
0
0
0
0
0
3
-24
16
0
0
0
6
0
0
0
-39
4
0
0
0
0
0
0
-1
-65
15
0
0
0
-1
0
0
-3
-26
2
0
0
0
0
0
-1
3
-39
29
0
0
0
42
0
-2
2
-42
-93
0
0
0
0
0
0
2
-56
30
0
0
0
0
0
-1
-18
8
35
0
0
0
0
0
-5
-4
0
27
0
0
0
-34
0
-2
4
50
-46
0
0
0
0
0
-2
0
-40
102
0
0
0
52
-11
54
41
-11
4
0
0
0
0
2
12
11
-4
-5
0
0
0
0
0
0
5
44
-22
0
0
0
0
0
-5
-4
-48
40
0
0
0
0
0
0
-75
12
10
0
0
0
0
0
0
1
16
35
0
0
0
0
0
0
-13
51
-46
0
0
0
0
0
-1
0
-26
-9
0
0
0
0
0
0
-55
40
16
0
0
0
0
0
6
-6
15
-20
0
0
0
0
0
0
0
-79
49
0
0
0
0
3
0
3
4
-55
0
0
0
0
0
0
-14
-54
32
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
-1
-28
13
0
0
0
0
0
6
-15
1
9
0
0
0
0
0
0
17
-6
-45
0
0
0
0
0
0
5
-74
-3
0
0
0
0
0
-4
-1
32
1
0
0
0
0
0
0
-13
-43
-17
0
0
0
0
0
0
1
11
63
0
0
0
0
0
0
0
-11
-84
0
0
0
0
0
0
-2
1
13
0
0
0
0
0
0
-59
-8
-6
0
0
0
0
2
-3
0
12
2
0
0
0
0
0
0
-3
36
-18
0
0
0
0
0
-2
-3
15
-6
0
0
0
0
0
2
-11
-49
0
0
0
0
0
-2
0
0
-38
30
0
0
0
0
0
0
10
-60
79
0
0
0
0
-5
1
3
9
51
0
0
0
0
-9
-39
-60
-25
-11
0
0
0
0
0
7
36
-24
-7
0
0
0
0
0
0
-38
-33
-11
0
0
0
0
0
0
11
14
29
0
0
12
0
0
0
-45
75
40
0
0
0
0
0
-3
10
55
20
0
0
0
0
0
0
-4
11
-24
0
0
0
0
0
1
-11
12
-39
0
0
0
0
0
11
27
70
-26
0
0
0
0
0
0
27
20
-24
0
0
0
0
0
-1
0
12
43
0
0
0
0
0
-1
23
-51
68
0
0
-3
0
0
0
33
4
-66
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
0
5
-18
75
0
0
0
0
0
-3
17
-2
-22
0
0
1
0
0
0
-41
64
-14
0
0
0
0
0
2
-8
-7
16
0
0
0
0
0
0
10
2
-35
0
0
0
0
0
0
2
-57
22
0
0
-4
0
0
0
3
-47
-15
0
0
0
0
0
-5
-12
30
-15
0
0
0
0
0
0
-40
-55
76
0
0
0
0
0
0
5
62
-4
0
0
2
0
0
18
12
-10
-88
0
0
0
0
0
0
-1
-1
51
0
0
0
0
0
0
11
-53
-18
0
0
0
0
0
1
18
-82
-82
0
0
21
0
0
1
-23
-19
13
0
0
0
0
0
0
22
-23
58
0
0
0
3
0
0
-6
-17
-34
0
0
0
0
0
-1
16
-96
8
0
0
-15
-38
6
-19
-69
-72
104
0
0
0
0
-1
6
-17
-14
48
0
0
0
0
0
4
-18
-36
43
0
0
0
0
0
0
0
-24
10
0
0
0
0
0
0
41
-29
-9
0
0
0
0
0
-6
-1
4
8
0
0
0
0
0
0
-8
2
19
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
55
-16
-72
0
0
0
0
0
0
0
-11
13
0
0
0
0
0
0
0
-10
42
0
0
0
0
1
0
0
-2
77
0
0
0
0
0
-1
3
-4
-22
0
0
0
0
-2
-4
0
2
-5
0
0
0
0
0
0
7
0
17
0
0
0
0
0
0
0
-3
12
0
0
0
0
3
1
-15
3
2
0
0
0
0
4
-7
37
18
-10
0
0
0
0
0
0
1
-12
45
0
0
0
0
0
1
2
-1
-4
0
0
0
0
0
0
3
2
26
0
0
0
0
0
-3
0
-9
103
0
0
0
0
0
0
7
-33
24
0
0
0
0
0
3
-3
13
-2
0
0
0
0
1
0
49
24
-124
0
0
0
0
7
0
-1
-5
25
0
0
0
0
0
0
3
4
-59
0
0
0
0
-1
-1
14
-16
14
0
0
0
0
0
0
14
-11
57
0
0
0
0
3
5
14
4
-32
0
0
0
0
0
-2
4
-3
80
0
0
0
0
-2
1
6
-19
-8
0
0
0
0
-38
5
3
-52
-32
0
0
0
0
0
0
3
-84
55
0
0
0
0
0
0
-11
-33
40
0
0
0
0
0
0
10
-30
64
0
0
0
0
0
0
-50
0
48
0
0
0
0
0
0
-10
-14
6
0
0
0
-1
0
0
0
2
-61
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-4
21
23
-33
0
0
0
0
0
0
0
11
53
0
0
0
0
0
0
1
14
-41
0
0
0
0
0
0
-1
-21
27
0
0
0
0
0
0
9
-43
-55
0
0
0
0
0
0
0
1
-8
0
0
0
-2
0
0
-3
0
41
0
0
0
0
0
0
1
-1
29
0
0
0
1
0
0
5
1
57
0
0
0
0
0
0
8
-30
20
0
0
0
-2
0
0
-7
-60
-48
0
0
0
0
0
0
-7
-13
51
0
0
0
0
0
0
-21
7
-28
0
0
0
0
0
0
0
23
36
0
0
0
0
0
0
-1
-4
-33
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
-2
4
-8
7
0
0
0
0
0
0
0
-55
7
0
0
0
-1
0
0
-4
5
30
0
0
0
0
0
0
-4
7
26
0
0
0
0
0
0
4
-27
5
0
0
0
0
0
0
0
-25
-10
0
0
0
0
0
-5
2
17
9
0
0
0
0
0
1
0
-10
-13
0
0
0
23
5
-42
-39
19
15
0
0
0
0
-6
0
7
121
-6
0
0
0
0
0
-1
0
6
31
0
0
0
0
0
-1
-1
-44
61
0
0
0
0
0
-2
-6
-4
12
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
-13
62
0
0
0
0
0
0
3
4
45
0
0
0
0
0
12
-57
-36
-25
0
0
0
0
0
-4
2
1
25
0
0
0
0
0
-1
0
-5
34
0
0
0
0
-4
0
3
18
-14
0
0
0
0
0
-1
-3
24
-31
0
0
0
0
0
1
0
-3
-15
0
0
0
0
0
0
4
-3
15
0
0
0
0
0
-2
0
0
10
0
0
0
0
0
1
3
-1
73
0
0
0
0
0
0
-8
-33
17
0
0
0
0
0
0
1
-1
-49
0
0
0
0
0
0
-3
-15
14
0
0
0
0
0
-3
-7
9
24
0
0
0
0
0
0
-2
-5
-87
0
0
0
0
0
0
-10
-4
-35
0
0
0
0
0
0
-3
20
-9
0
0
0
0
0
3
-10
-68
6
0
0
0
0
0
1
-2
3
57
0
0
0
0
0
-6
0
-10
1
0
0
0
0
3
0
0
1
-7
0
0
0
0
0
0
-12
-11
-20
0
0
0
0
-3
6
-3
-16
-1
0
0
0
0
0
-5
0
27
32
0
0
0
0
-15
0
2
35
-46
0
0
0
0
15
23
23
-115
38
0
0
0
0
0
19
4
134
-71
0
0
0
0
0
1
-62
19
3
0
0
0
0
0
0
11
-18
48
0
0
-3
0
0
1
-15
-7
40
0
0
0
0
0
4
12
-17
12
0
0
0
0
0
0
2
41
-62
0
0
0
0
0
-1
63
-98
18
0
0
0
0
0
-1
19
-9
4
0
0
0
0
0
-32
15
7
-10
0
0
0
0
0
0
9
-17
69
0
0
0
0
0
4
-12
71
-15
0
0
0
0
0
-2
-8
-36
-6
0
0
0
0
0
-10
0
2
49
0
0
0
0
0
-3
-2
8
-22
0
0
0
0
4
-17
-4
-5
12
0
0
0
0
6
16
46
-105
12
0
0
0
0
1
18
-15
7
19
0
0
0
0
0
0
55
-134
14
0
0
0
0
0
8
1
-27
14
0
0
1
0
0
3
28
-79
-65
0
0
0
0
0
-13
1
-5
13
0
0
0
1
0
2
52
-12
-103
0
0
0
0
0
0
-13
40
1
0
0
0
0
0
-15
45
-57
-16
0
0
0
0
-1
27
-38
-42
44
0
0
0
-1
0
0
14
-77
77
0
0
0
0
0
24
-32
40
-73
0
0
9
0
0
6
-11
-38
-50
0
0
0
0
1
8
-13
22
99
0
0
0
-1
0
6
-14
-70
30
0
0
0
0
0
-9
12
-13
-62
0
0
12
7
-34
-84
12
-22
-11
0
0
0
0
-77
-34
-32
34
59
0
0
0
0
0
-13
8
-79
19
0
0
0
0
-3
-1
8
-40
-2
0
0
0
0
0
14
27
-21
-13
0
0
0
0
-6
-5
-3
43
30
0
0
0
0
-3
-7
46
-7
-33
0
0
0
0
2
8
-23
13
10
0
0
0
0
-5
-83
7
44
44
0
0
0
0
-70
-17
-49
-33
134
0
0
0
0
0
0
4
-42
-86
0
0
0
0
-7
-17
-23
52
62
0
0
0
0
0
12
-21
-45
55
0
0
0
0
1
-9
1
8
-25
0
0
0
0
-4
4
1
16
-5
0
0
0
0
12
-19
10
24
-50
0
0
0
0
-50
20
116
-6
13
0
0
0
0
-13
-61
3
-73
-36
6
0
0
0
0
9
-5
23
55
3
0
0
0
0
-18
23
32
33
0
0
0
0
0
-17
10
60
-7
-1
0
0
0
6
10
-58
22
79
4
0
0
0
-1
0
-29
55
-64
9
0
0
0
9
-13
-5
77
-75
17
0
0
0
12
20
73
-102
7
4
0
0
0
-34
11
83
-6
36
22
0
0
0
0
2
0
-20
18
16
0
0
0
-7
-5
-20
-60
153
3
0
0
0
0
30
-42
-27
62
16
0
0
0
82
18
-32
-86
8
12
0
0
0
0
-6
2
6
77
11
0
0
0
-19
33
-12
-57
85
-4
0
0
0
99
64
79
3
70
9
0
0
0
0
3
26
29
-29
0
0
0
-36
0
0
3
8
3
0
0
0
0
0
0
9
-68
63
0
0
0
14
0
0
3
-50
6
0
0
0
0
0
0
-5
-51
30
0
0
0
2
0
0
-1
-11
31
0
0
0
0
0
1
-2
0
3
0
0
0
-8
0
0
25
-25
-31
0
0
0
0
0
-2
2
20
7
0
0
0
11
0
-6
-1
-44
46
0
0
0
0
0
1
1
-18
-56
0
0
0
0
0
3
-12
54
16
0
0
0
0
0
0
0
24
-10
0
0
0
-1
0
0
0
48
-13
0
0
0
0
0
0
0
-22
8
0
0
0
2
0
-25
-8
-56
121
0
0
0
0
0
0
7
-83
30
4
0
0
-7
0
0
0
25
-2
-4
0
0
0
0
0
0
-8
-56
-11
0
0
0
0
-4
-10
-33
-147
28
0
0
0
0
0
-1
-101
158
-2
0
0
-1
0
0
-1
-59
80
5
0
0
0
0
0
-5
10
13
18
0
0
-1
0
0
-17
42
24
-9
0
0
0
-3
0
5
81
-8
-7
0
0
-12
0
0
-6
-39
56
50
0
0
0
0
1
-4
-34
-88
5
0
0
-19
0
-3
-16
-125
114
32
0
0
0
0
0
0
44
17
-1
0
0
32
0
-2
5
37
-29
-33
0
0
0
7
0
0
-40
-53
1
0
0
93
-11
-22
17
-72
-3
1
0
0
0
5
0
-1
-66
-11
0
0
0
0
0
0
0
-46
31
0
0
0
0
0
-2
-1
6
-27
0
0
0
0
0
1
-1
0
22
0
0
0
0
0
-1
-4
12
-5
0
0
0
0
0
0
0
23
-12
0
0
0
0
0
-7
-1
-12
4
0
0
0
0
0
5
-85
-17
20
0
0
0
0
0
0
9
8
36
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
1
2
0
15
0
0
0
0
0
-7
-8
-20
21
0
0
0
0
0
0
-1
-52
17
0
0
0
0
0
-3
2
-26
-43
0
0
0
0
0
-9
0
21
-14
0
0
0
0
3
-3
-10
-4
33
0
0
0
0
12
0
3
-78
31
-3
0
0
0
0
0
1
-22
-27
4
0
0
0
0
0
-7
43
-14
-11
0
0
0
0
0
-6
-52
35
-6
0
0
0
0
0
0
17
-36
-13
0
0
0
0
0
2
10
53
-21
0
0
0
0
0
-3
-15
0
15
0
0
0
0
0
-58
46
4
6
0
0
0
0
-2
0
-74
100
-11
0
0
0
0
0
0
46
-26
-27
0
0
0
0
2
0
26
42
-32
0
0
0
0
-2
-10
-54
16
8
0
0
0
0
0
1
53
-11
6
0
0
0
0
-1
11
-1
10
-35
0
0
0
0
-12
0
-12
-2
-24
0
0
0
38
20
21
-27
30
0
0
0
0
0
0
17
-36
20
0
0
0
0
0
-4
8
-115
49
0
0
0
0
0
0
15
19
-27
0
0
-3
0
0
-3
-31
-2
26
0
0
0
0
0
-3
35
-37
-19
0
0
0
0
0
1
-17
-7
48
0
0
0
0
0
2
9
-20
0
0
0
1
0
0
-2
-16
-1
68
0
0
0
0
0
-4
10
-43
20
0
0
0
0
0
0
0
2
4
0
0
0
0
0
4
3
11
28
0
0
-10
0
0
9
3
15
-15
0
0
0
0
0
0
0
-24
-6
0
0
0
0
0
-1
0
-1
-17
0
0
0
0
0
0
1
-71
-3
0
0
0
0
0
-12
-9
-41
-4
0
0
0
0
0
0
25
51
142
-11
0
0
0
0
0
-17
-117
-78
18
0
0
0
0
4
-6
-166
-25
25
0
-36
0
0
2
21
-59
9
-26
0
0
0
0
0
-4
-85
35
8
0
0
0
0
0
11
-32
-51
29
0
0
0
0
0
0
16
0
-27
0
-1
0
0
0
-48
-118
-13
22
0
0
0
0
1
-9
21
40
4
0
0
0
0
0
6
8
15
5
0
0
0
0
0
18
17
-28
-15
0
132
0
0
-3
6
4
-86
-65
0
0
0
0
0
-5
26
67
-38
0
0
0
0
-1
6
19
16
-96
0
0
0
0
0
-9
-74
34
18
0
-26
-3
2
-45
-9
-33
87
-8
0
0
0
9
4
-44
-53
61
0
0
0
0
0
0
-1
4
47
0
0
0
0
-2
-6
-54
1
16
0
0
0
0
0
12
-58
-22
30
0
0
0
0
0
-4
0
-5
-34
0
0
0
0
0
0
-15
1
40
0
0
0
0
0
1
5
0
-4
0
0
0
0
0
-7
-13
19
-7
0
0
0
0
7
0
2
-24
33
0
0
0
0
0
0
-2
-6
55
0
0
0
0
0
0
-7
5
25
0
0
0
0
0
4
20
4
-28
0
0
0
0
1
-4
8
0
51
0
0
0
0
0
0
0
5
-21
0
0
0
0
4
-1
-5
7
13
0
0
0
0
-9
-26
88
14
-25
0
0
0
0
-5
3
-14
-4
4
7
0
0
0
0
0
4
-15
74
2
0
0
0
0
-1
27
5
-28
-37
0
0
0
0
-17
-3
12
114
-44
0
0
0
1
-9
0
-7
-81
64
0
0
0
0
5
-2
0
-13
16
0
0
0
-13
-3
3
7
-6
15
0
0
0
0
12
25
-58
-16
12
0
0
0
0
2
5
-11
56
9
0
0
0
0
0
5
-24
-6
37
0
0
0
0
0
6
5
-21
15
0
0
0
0
-8
-7
-29
-126
97
0
0
0
1
-1
0
8
13
-1
0
0
0
0
0
3
-71
-12
40
0
0
0
-10
0
1
-11
13
-3
0
0
0
14
44
45
-38
23
0
0
0
0
0
-3
18
55
-54
0
0
0
-2
0
0
4
-38
12
0
0
0
0
0
0
-20
-2
-1
0
0
0
0
0
0
-8
-72
52
0
0
0
0
0
0
-1
1
14
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
-3
4
0
0
0
0
0
-6
-42
-6
14
0
0
0
0
0
0
7
15
-32
0
0
0
1
0
0
0
-43
108
0
0
0
0
0
0
10
-6
18
0
0
0
0
0
0
-4
23
-17
0
0
0
0
0
0
0
-10
-12
0
0
0
4
0
0
0
0
3
0
0
0
0
0
0
0
1
-23
0
0
0
0
3
4
6
-3
-16
0
0
0
0
0
0
0
-6
-7
2
0
0
0
0
0
1
21
3
21
0
0
0
0
0
-3
-12
35
-18
0
0
0
0
0
6
-21
-28
-27
0
0
0
0
0
2
-1
-41
-17
0
0
-1
0
0
0
0
-13
30
0
0
0
0
0
1
0
16
-43
0
0
0
0
2
-2
1
1
-77
0
0
0
0
0
1
42
-54
-43
0
0
7
0
0
-22
-12
13
10
0
0
0
0
0
-4
-10
-106
77
0
0
1
0
0
1
9
-13
-33
0
0
0
0
0
0
-1
-38
-17
0
0
-8
0
0
3
0
-20
7
0
0
0
-1
0
5
-11
15
-48
0
0
22
3
0
34
14
61
-25
0
0
0
-4
0
-2
-60
16
0
0
0
0
0
0
5
-28
-8
0
0
0
0
0
0
2
3
11
0
0
0
0
0
0
-6
-101
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
-4
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
5
-11
3
0
0
0
0
0
0
4
-8
23
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-3
3
6
-23
0
0
0
0
0
0
2
1
19
9
0
0
0
0
0
-2
4
-86
27
0
0
0
0
0
0
6
-53
17
0
0
0
0
0
-1
48
1
-25
0
0
0
0
0
0
0
12
-31
0
0
0
0
0
1
0
-2
-47
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
11
0
-22
0
0
0
4
0
2
4
-3
29
0
0
0
0
0
1
2
-20
39
0
0
0
1
0
0
-3
9
-3
0
0
0
0
0
-8
-3
-2
-53
0
0
0
0
0
0
-18
4
-42
0
0
0
0
0
0
-2
-5
9
0
0
0
3
0
0
6
0
-21
0
0
0
-19
9
-40
66
-73
23
0
0
0
0
5
-32
4
-16
0
0
0
0
0
0
0
-35
31
0
0
0
0
0
-3
21
-48
12
0
0
0
0
0
0
61
-87
30
0
0
0
0
0
6
-7
-1
2
0
0
0
0
0
0
6
-5
27
0
0
0
0
0
1
-3
1
3
0
0
0
0
0
2
-79
19
14
0
0
0
0
0
3
-9
37
26
0
0
0
0
0
0
9
15
12
0
0
0
0
0
3
-23
-21
31
0
0
0
0
0
9
-31
2
1
0
0
0
0
0
0
-6
0
-34
0
0
0
0
0
0
-15
3
7
0
0
0
0
0
0
-10
1
-8
0
0
0
0
0
6
39
-72
-14
0
0
0
0
2
4
3
35
20
-13
0
0
0
0
0
0
-41
107
-5
0
0
0
0
-5
5
-19
-31
33
0
-3
0
0
2
-12
54
4
18
0
0
0
0
0
2
6
-31
-27
0
0
0
0
0
1
11
-4
-31
0
0
0
0
2
0
-5
0
-29
0
0
0
0
-1
10
5
3
-69
0
0
0
0
-1
3
-24
51
-21
0
0
0
0
0
3
-31
5
-33
0
0
0
0
0
9
-4
-12
-48
0
-4
0
0
1
19
-13
7
43
0
0
0
0
-2
4
-8
-32
-61
0
0
0
0
0
13
-50
-9
-82
0
0
0
1
0
9
0
7
-19
0
-17
-3
1
-12
-5
-22
-30
7
0
0
0
35
-34
47
-71
17
0
0
0
0
0
0
-7
-58
50
0
0
0
0
-1
-5
11
33
-25
0
0
0
0
3
0
58
-54
30
0
0
0
0
9
-54
-20
76
-1
0
0
0
0
0
-2
-43
2
52
0
0
0
0
0
22
1
-15
-1
0
0
0
0
0
10
42
-14
-45
0
0
0
0
-11
17
43
-31
-28
0
0
0
0
0
7
-1
55
10
0
0
0
0
0
-13
-2
9
-33
0
0
0
0
0
2
18
-12
42
0
0
0
0
0
2
-18
-6
77
0
0
0
0
0
0
-9
17
3
0
0
0
0
-4
0
3
0
-11
0
0
0
0
26
54
-2
-40
-23
0
0
0
0
11
7
-32
-107
29
24
0
0
0
0
0
5
-3
50
-22
0
0
0
0
0
-3
-31
11
5
0
0
0
0
-9
63
4
46
-49
0
0
0
11
20
28
15
-110
-3
0
0
0
-2
8
14
-6
61
0
0
0
0
0
9
0
-19
-14
-27
0
0
0
1
-7
-7
-8
-36
7
0
0
0
4
-13
0
-21
-15
11
5
0
0
0
0
7
-23
85
10
9
0
0
1
5
-12
24
66
-2
10
0
0
-1
-11
-30
-70
-19
10
19
0
0
-62
-44
-5
16
104
45
7
0
0
7
-3
55
-18
146
21
-1
0
0
-23
-8
0
20
97
-20
-2
0
0
26
57
-37
10
19
-18
10
0
0
0
0
-13
38
6
0
0
0
-14
0
4
2
-42
18
0
0
0
0
0
0
-14
-22
58
0
0
0
0
0
1
62
29
-62
0
0
0
0
0
0
8
-5
18
0
0
0
2
0
0
7
-20
-9
0
0
0
0
0
0
4
-13
-45
0
0
0
0
0
-3
55
-95
51
0
0
0
0
0
-7
3
-6
48
0
0
0
0
0
0
0
-15
25
0
0
0
0
0
5
-8
-47
49
0
0
0
0
0
-1
3
-45
56
0
0
0
0
0
0
0
-49
52
0
0
0
33
0
-7
3
-6
-57
0
0
0
0
0
8
-1
-13
30
0
0
0
9
0
2
-7
85
-57
0
0
0
0
0
-1
10
-75
5
22
0
0
6
0
0
-1
-89
26
-6
0
0
0
0
0
-2
-44
-13
49
0
0
0
0
2
-14
-21
47
25
0
0
0
0
0
-9
5
-18
60
0
0
-7
0
0
-22
56
-14
29
0
0
0
0
0
-2
-14
32
18
0
0
0
0
0
8
-91
65
8
0
0
0
0
6
5
75
31
-1
-2
0
53
0
-1
0
20
18
-123
9
0
0
0
0
-14
38
106
-22
-16
0
-4
0
0
-5
-19
-43
-39
26
0
0
0
0
0
56
52
-46
-49
0
13
0
3
7
32
-21
18
-28
0
0
0
0
1
-8
33
53
-17
0
98
11
19
-31
-38
-35
-16
4
0
0
0
3
-2
8
63
0
0
0
0
0
0
-1
-7
11
0
0
0
0
0
0
0
54
14
0
0
0
0
0
0
-15
44
-20
0
0
0
0
0
-1
-2
-57
-24
0
0
0
0
0
0
-8
-5
11
0
0
0
0
0
-16
4
1
0
0
0
0
0
0
0
-83
-53
41
0
0
0
0
0
-8
10
11
-5
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
10
-31
-2
0
0
0
0
0
8
-13
5
11
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
2
7
3
0
0
0
0
0
-14
0
-3
1
0
0
0
0
0
-4
-1
-19
5
0
0
0
0
0
0
-3
-6
-36
3
0
0
0
0
0
-8
5
-64
49
0
0
0
0
0
-2
-26
32
57
0
0
0
0
-4
-2
35
-12
-3
0
0
0
0
0
0
-20
21
41
0
0
0
0
0
-1
2
0
18
0
0
0
0
1
0
-6
-10
15
0
0
0
0
0
0
28
-13
-107
0
0
0
-1
7
0
-5
62
-34
-1
0
0
0
0
0
16
-32
47
-15
0
0
0
0
0
56
-7
-70
40
0
0
0
-1
-3
-65
-9
-56
18
0
0
0
0
0
3
-6
7
21
0
0
0
0
3
-13
7
63
-1
0
0
-3
-1
0
-8
20
-64
34
0
0
-3
23
22
-23
-7
-33
-3
0
0
0
1
-54
-41
39
0
0
0
0
0
0
0
-17
14
0
0
0
0
0
0
18
19
-57
0
0
33
0
0
2
22
-35
13
0
0
0
0
0
0
-26
-40
39
0
0
0
0
0
7
-7
-26
6
0
0
0
0
0
0
-3
4
-3
0
0
-8
0
0
3
-27
11
32
0
0
0
0
0
0
6
-29
-16
0
0
0
0
0
0
0
-18
-3
0
0
0
0
0
-1
-2
-3
10
0
0
-2
0
0
-3
9
-64
1
0
0
0
0
0
-2
2
0
7
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
6
2
-17
0
0
0
0
0
0
4
-8
3
7
0
0
0
0
0
0
1
3
-9
-41
0
0
0
0
0
7
-67
41
9
0
0
0
0
-13
-12
2
46
-7
0
27
0
0
6
-50
-39
53
7
0
0
0
0
0
-3
46
-20
57
0
0
0
0
0
2
5
14
4
0
0
0
0
0
0
-41
3
-103
0
-4
0
0
0
5
1
-3
-21
0
0
0
0
-1
-12
75
-2
-64
0
0
0
0
0
7
-17
46
-108
25
0
0
0
6
0
1
-1
-90
4
2
0
0
0
-5
-110
35
27
16
0
0
0
0
0
0
-11
61
-18
0
0
0
0
-1
-9
-15
102
20
0
0
0
0
7
14
0
-78
-16
-127
-11
5
-51
76
18
-54
-43
-2
0
0
43
13
-38
-67
-6
0
0
0
0
0
0
-1
-51
18
0
0
0
0
-2
-6
30
-15
58
0
0
0
0
0
9
0
-52
-5
0
0
0
0
0
4
-13
-14
1
0
0
0
0
0
0
35
3
-45
0
0
0
0
-1
-5
-12
28
2
0
0
0
0
1
-36
74
-17
-18
0
0
0
0
-18
5
5
29
-28
0
0
0
0
0
0
2
-39
68
0
0
0
0
6
-16
-17
61
-29
0
0
0
0
0
-20
6
49
-86
0
0
0
0
0
-8
-5
1
6
0
0
0
0
0
4
-12
-4
32
0
0
0
0
2
-8
0
22
48
0
0
0
0
-2
85
-133
27
-13
0
0
0
0
13
10
23
-19
-39
-2
0
0
0
0
0
3
11
101
-51
0
0
0
2
0
6
12
-16
-32
0
0
0
0
-1
54
-47
42
-1
0
0
0
-9
-2
-1
-54
33
29
0
0
0
0
-2
-1
-36
59
-2
0
0
0
15
9
0
-17
3
-42
0
0
0
-8
4
-14
-18
38
-11
0
0
0
26
-1
4
16
-52
34
-10
0
0
0
0
-6
21
56
-37
-32
0
0
-7
-1
0
-13
-33
-94
73
0
0
0
6
-7
1
68
29
2
0
0
-11
2
0
2
70
1
-3
0
0
0
-2
-20
53
-11
4
37
0
0
-10
3
-7
-25
-4
-40
44
0
0
-7
-11
40
-15
17
-7
-31
0
0
0
-4
-1
-15
-3
0
0
0
-27
0
0
-8
-56
42
0
0
0
0
0
0
-12
49
-36
0
0
0
0
0
10
-32
12
-8
0
0
0
0
0
0
-9
-63
89
0
0
0
1
0
0
-5
-3
-63
0
0
0
0
0
-7
-7
-1
-1
0
0
0
0
0
0
-16
-13
-18
0
0
0
0
0
2
0
-3
31
0
0
0
-12
0
0
1
25
30
0
0
0
0
0
-1
6
-21
82
0
0
0
1
0
1
-1
15
-68
0
0
0
0
0
0
0
-3
-4
0
0
0
-7
0
0
-7
2
36
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-12
38
-4
-24
0
0
0
0
0
0
0
5
-34
8
0
0
-9
0
0
-2
-4
32
29
0
0
0
0
0
-4
-4
10
23
0
0
0
0
0
18
-4
-7
-32
0
0
0
0
0
-4
-15
-21
43
0
0
11
0
0
-5
-6
28
15
0
0
0
0
0
0
4
7
-99
0
0
0
0
0
1
-32
18
4
0
0
0
0
0
0
-37
45
-84
2
0
-26
0
0
0
83
74
-101
13
0
0
0
-2
0
3
16
37
-16
0
12
0
1
-7
-29
-52
-52
31
0
0
0
0
0
-7
43
30
-4
0
-2
0
6
0
-1
7
-75
-43
0
0
-15
0
2
-8
-6
-64
3
0
-113
2
-24
-36
-81
35
63
-35
0
0
0
-17
4
-51
73
0
0
0
0
0
0
-2
-103
40
0
0
0
0
0
-1
0
0
49
0
0
0
0
0
-2
-57
-79
52
0
0
0
0
0
10
-13
27
-27
0
0
0
0
0
-1
-16
37
61
0
0
0
0
0
-11
0
0
14
0
0
0
0
-1
-59
127
-35
-15
0
0
0
0
-3
3
-1
-18
26
0
0
0
0
0
-1
5
-37
76
0
0
0
0
4
0
-4
21
-138
0
0
0
0
0
5
8
-5
-42
0
0
0
0
4
-2
0
2
-2
0
0
0
0
0
0
1
-16
-44
0
0
0
0
1
1
-3
0
-8
0
0
0
0
-1
-41
32
38
-99
0
0
0
0
-8
3
-6
9
49
8
0
0
0
0
0
-3
2
38
-17
0
0
0
-1
0
6
-4
-46
16
0
0
0
0
0
-10
-12
8
-5
0
0
0
0
1
0
-31
9
-17
0
0
0
0
-1
-3
12
-46
13
0
0
0
0
3
1
-2
6
-52
0
0
0
-7
16
2
10
3
-91
0
0
0
11
0
-1
-17
-54
-29
15
0
0
0
-2
-3
-12
77
14
-10
0
0
1
-2
-25
12
63
-65
12
0
0
0
-2
11
-15
21
26
1
0
0
0
1
0
-2
8
-54
35
0
0
2
0
-7
-4
6
-88
66
0
0
22
-9
0
4
0
16
-17
0
0
18
-88
1
-66
-37
19
38
0
0
25
15
4
50
13
0
0
0
57
8
67
-10
-2
-5
0
0
0
0
-39
-75
13
49
10
0
0
-9
53
3
-70
-79
14
60
0
0
0
0
4
18
23
-23
-20
0
0
0
99
4
-46
-36
-15
52
0
0
0
0
-10
-50
-23
89
-6
0
0
-1
4
-31
9
-8
38
20
0
0
0
0
-10
15
44
3
-9
0
0
0
-53
-15
-13
51
-36
-2
0
0
0
0
34
-49
12
-7
20
0
0
-6
-15
0
35
-69
-57
33
0
0
0
0
-7
-12
25
-10
23
0
0
0
17
6
-18
39
-51
-46
0
0
0
0
5
19
-33
-55
-15
0
0
14
3
-19
-10
-33
-77
-3
0
0
0
0
45
85
-12
-6
-25
0
0
0
9
-4
-32
25
53
-20
5
0
0
0
-3
21
27
-83
-4
11
0
1
-8
5
-16
46
-34
-9
2
0
0
0
-6
-16
16
27
16
-39
0
0
-90
1
23
-11
-35
-29
-22
0
0
0
2
-34
23
56
13
-21
0
22
-4
19
112
8
-20
-12
-56
0
0
0
15
-44
-9
-64
24
-10
13
0
80
1
-41
-33
42
-1
15
-3
0
0
61
-34
8
-73
29
-37
11
-78
-33
-7
-23
-39
36
37
17
-26
0
0
-22
16
69
87
-17
-35
-6
0
-41
-4
-28
-52
-152
-17
-24
3
0
0
44
-34
-18
15
-61
-40
22
100
-100
-93
-10
-85
-17
34
-24
-6
0
0
6
-6
-4
-30
22
0
0
0
0
0
0
-25
-6
17
0
0
0
0
-2
0
23
-40
20
0
0
0
0
0
-1
-7
22
-21
0
0
0
0
0
-1
0
-36
-23
0
0
0
0
0
-1
-56
46
18
0
0
0
0
0
-17
-22
-9
25
0
0
0
0
-1
56
9
-64
7
0
0
0
0
1
-7
-4
-27
-1
0
0
0
0
0
2
-4
16
33
0
0
0
0
3
17
-4
-3
-9
0
0
0
0
0
2
31
-13
2
0
0
0
0
-5
3
0
2
27
0
0
0
0
0
0
0
57
31
0
0
0
0
1
25
1
-18
-14
0
0
0
0
7
16
111
-54
-30
0
0
0
0
2
-10
5
3
33
0
0
0
0
0
0
-1
13
52
0
0
0
0
0
9
5
42
-13
0
0
0
0
0
9
19
-25
-6
0
0
0
0
-2
13
-2
-103
53
0
0
0
0
-3
0
20
7
41
0
0
0
0
10
-11
8
47
56
0
0
0
0
-4
16
37
-65
26
0
0
0
0
-13
-37
10
7
36
0
0
0
0
0
4
4
-28
18
0
0
0
0
-6
-1
12
-35
5
0
0
0
0
0
17
17
0
40
0
0
0
0
-1
22
2
103
-70
0
0
0
0
9
-3
39
-32
11
0
0
0
0
31
-54
-7
20
68
0
0
0
0
-14
10
8
22
0
0
0
0
0
0
-1
0
2
2
0
0
0
-6
0
0
0
-30
17
0
0
0
0
0
0
-3
-59
32
0
0
0
2
0
0
-15
-18
0
0
0
0
0
0
0
-10
50
28
0
0
0
0
0
3
-7
57
-25
0
0
0
0
0
0
0
-50
58
0
0
0
0
0
-1
10
-19
27
0
0
0
0
0
0
4
16
52
0
0
0
9
0
5
0
-3
3
0
0
0
0
0
0
1
-21
33
0
0
0
0
0
0
-3
-24
3
0
0
0
0
0
0
0
-6
23
0
0
0
4
0
-3
0
-3
35
0
0
0
0
0
0
-3
58
-36
0
0
0
-12
0
1
-13
92
6
0
0
0
0
0
0
6
-10
-28
0
0
0
-16
0
0
-7
-44
72
0
0
0
0
0
0
15
3
-66
0
0
0
0
0
1
-1
25
-24
0
0
0
0
0
0
-2
47
-11
0
0
0
-11
0
0
5
21
5
0
0
0
0
0
0
0
37
-27
0
0
0
1
0
-2
-10
2
-22
0
0
0
0
0
0
-4
18
-18
0
0
0
56
0
0
0
-14
-4
0
0
0
0
0
0
-7
-5
22
0
0
0
-8
0
-1
5
-17
28
0
0
0
0
0
0
1
49
11
0
0
0
52
0
-3
7
-15
-7
0
0
0
0
0
0
0
-9
1
0
0
0
7
5
-33
-4
-76
14
0
0
0
0
0
2
0
-34
17
0
0
0
0
0
0
3
11
14
0
0
0
0
0
0
-5
-65
29
0
0
0
0
0
0
-120
7
64
0
0
0
0
0
0
1
6
64
0
0
0
0
0
0
-15
40
-9
0
0
0
0
0
1
-8
-17
2
0
0
0
0
0
-15
-29
-3
-23
0
0
0
0
0
1
12
-2
-33
0
0
0
0
0
0
1
48
-37
0
0
0
0
0
-6
3
-79
-2
0
0
0
0
0
-2
-72
14
52
0
0
0
0
0
0
4
-2
57
0
0
0
0
0
0
4
-62
49
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
-3
10
-75
65
0
0
0
0
0
-5
2
-87
67
0
0
0
0
0
0
6
-59
-28
0
0
0
0
0
0
-12
-55
-19
0
0
0
0
0
0
-2
-2
74
0
0
0
0
0
0
0
18
-4
0
0
0
0
0
0
-7
13
45
0
0
0
0
0
0
5
-7
62
0
0
0
0
0
-5
41
14
-76
0
0
0
0
0
0
-1
-45
13
0
0
0
0
0
0
-3
-71
66
0
0
0
0
0
-1
-22
-7
55
0
0
0
0
0
-1
-76
9
72
0
0
0
0
0
-1
6
30
30
0
0
0
0
0
-2
1
3
68
0
0
0
0
-14
3
0
-23
-38
0
0
0
0
45
10
-66
28
-20
0
0
0
0
-2
-5
-28
34
17
0
0
0
0
0
0
41
-40
6
0
0
0
0
0
0
1
0
1
0
0
82
0
0
0
-55
30
-12
0
0
0
0
0
0
-48
-4
-23
0
0
0
0
0
0
27
-36
-4
0
0
0
0
0
0
-32
-18
27
0
0
0
0
0
-2
-12
-53
9
0
0
0
0
0
5
16
8
-1
0
0
0
0
0
0
-33
-19
40
0
0
0
0
0
0
-18
61
-4
0
0
-5
0
0
4
-11
68
-80
0
0
0
0
0
0
-2
-15
-11
0
0
0
0
0
0
-28
80
-40
0
0
0
0
0
0
-17
70
-8
0
0
0
0
0
8
-42
-10
18
0
0
0
0
0
-3
-10
-44
66
0
0
0
0
0
0
52
-5
1
0
0
0
0
0
0
-1
-88
110
0
0
-12
0
0
0
35
6
-1
0
0
0
0
0
0
15
19
-7
0
0
0
0
0
0
-80
0
52
0
0
0
0
0
0
9
-22
50
0
0
8
0
0
-7
-14
-5
89
0
0
0
0
0
0
47
-16
56
0
0
0
5
0
0
-8
-71
60
0
0
0
0
0
0
40
-36
-3
0
0
19
0
0
0
86
-31
-26
0
0
0
0
0
0
-32
-27
18
0
0
0
0
0
0
49
-46
-8
0
0
0
0
0
0
55
-17
-15
0
0
-20
-13
9
-20
-26
5
27
0
0
0
0
-1
8
0
-97
6
0
0
0
0
0
0
-14
-84
1
0
0
0
0
0
0
-5
21
4
0
0
0
0
0
16
21
-13
11
0
0
0
0
0
0
-2
-3
-24
0
0
0
0
0
0
-24
34
14
0
0
0
0
0
0
3
5
-33
0
0
0
0
0
16
-48
-40
36
0
0
0
0
0
1
-5
2
-30
0
0
0
0
0
0
0
-42
91
0
0
0
0
0
-1
0
3
38
0
0
0
0
0
0
-14
-52
-27
0
0
0
0
0
0
-3
8
33
0
0
0
0
0
0
-1
11
-7
0
0
0
0
0
-4
2
-7
8
0
0
0
0
-1
-10
-13
11
56
0
0
0
0
0
-6
-1
11
1
0
0
0
0
0
0
5
-49
62
0
0
0
0
0
0
13
15
-1
0
0
0
0
0
-5
6
-39
-5
0
0
0
0
0
0
1
-2
-15
0
0
0
0
0
0
-18
43
-54
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
-5
59
-34
-15
0
0
0
0
0
0
11
11
-64
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
5
-26
15
0
0
0
0
0
1
2
-68
16
0
0
0
0
7
0
0
-12
46
0
0
0
0
0
1
9
-24
-25
0
0
0
0
1
0
10
-6
-45
0
0
0
0
-29
19
-16
-8
42
0
0
0
0
0
0
15
-47
-21
0
0
0
5
0
0
6
-68
16
0
0
0
0
0
0
5
-32
41
0
0
0
0
0
0
-56
-46
52
0
0
0
0
0
0
-1
40
-9
0
0
0
0
0
0
-35
-7
15
0
0
0
0
0
0
-8
-6
60
0
0
0
0
0
2
-34
9
11
0
0
0
0
0
-3
2
1
77
0
0
0
0
0
0
0
10
12
0
0
0
0
0
0
-1
3
-26
0
0
0
0
0
3
9
14
-27
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
2
17
0
0
0
0
0
4
-1
7
-44
0
0
0
0
0
0
4
-12
23
0
0
0
1
0
0
-3
-19
9
0
0
0
0
0
0
2
-9
-1
0
0
0
0
0
0
-2
-24
21
0
0
0
0
0
0
0
-13
53
0
0
0
0
0
0
1
18
-54
0
0
0
0
0
0
5
6
24
0
0
0
0
0
0
-4
-46
31
0
0
0
0
0
0
2
9
16
0
0
0
-24
0
0
-4
-9
-1
0
0
0
0
0
0
-3
4
-5
0
0
0
0
0
0
-9
-2
39
0
0
0
0
0
-1
-1
-10
-32
0
0
0
-8
0
0
0
13
-73
0
0
0
0
0
0
-4
-12
53
0
0
0
27
8
-41
93
-53
-15
0
0
0
0
0
0
0
-72
81
0
0
0
0
0
0
-5
-32
19
0
0
0
0
0
0
-1
82
-80
0
0
0
0
0
0
-6
-22
-9
0
0
0
0
0
0
3
-1
16
0
0
0
0
0
0
1
-29
25
0
0
0
0
0
0
1
-41
1
0
0
0
0
0
0
27
31
-43
0
0
0
0
0
-8
0
-8
4
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
-5
0
4
-42
0
0
0
0
0
0
5
-1
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-3
0
1
6
0
0
0
0
0
8
7
-2
-22
0
0
0
0
-3
0
0
-1
-2
0
0
0
0
0
0
-27
3
5
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
3
-68
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-10
0
17
0
0
0
0
0
0
-2
0
-12
0
0
0
0
0
-1
-3
10
-24
0
0
0
0
0
1
6
-5
55
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
-4
10
0
0
0
0
0
0
-8
10
4
0
0
0
0
-6
0
0
5
18
0
0
0
0
0
2
0
0
16
0
0
0
0
-1
0
0
-1
1
0
0
0
0
-6
1
4
47
-20
0
0
0
0
0
0
18
-46
22
0
0
0
0
0
10
-43
24
-1
0
0
0
0
0
2
-36
-31
13
0
0
0
0
0
-28
75
103
-57
0
0
0
0
0
-8
-20
-34
46
0
0
0
0
0
-8
14
-6
17
0
0
0
0
0
4
57
-14
-81
0
0
0
0
0
32
2
61
-3
0
0
0
0
0
11
-51
8
7
0
0
0
0
0
-4
-14
-20
51
0
0
0
0
0
18
-10
-27
46
0
0
0
0
0
49
7
-37
-33
0
0
0
0
0
-1
2
-1
-23
0
0
0
0
0
5
51
-22
28
0
0
0
0
0
34
-13
-3
-36
0
0
0
0
0
-13
-115
30
36
0
0
0
0
0
-14
59
-11
-28
0
0
0
0
0
0
-14
36
-67
0
0
0
0
0
-1
8
-22
-2
0
0
-8
0
0
-4
-2
-34
14
0
0
0
0
0
-11
-40
24
-5
0
0
0
0
0
0
-19
10
-17
0
0
0
0
0
0
-33
22
-27
0
0
0
0
0
-54
17
-79
62
0
0
0
0
0
16
46
38
-64
0
0
0
0
0
-10
15
-9
60
0
0
0
0
0
4
6
-32
14
0
0
0
0
0
1
-22
-42
105
0
0
0
0
0
0
46
-81
-43
0
0
0
0
0
-37
35
-13
71
0
0
0
0
5
18
-40
-29
-58
0
0
3
-9
1
-10
-28
-2
-8
0
0
0
0
1
-1
4
-32
71
0
0
0
0
0
0
0
21
26
0
0
0
0
0
7
0
6
20
0
0
0
0
0
-4
32
-15
-1
0
0
0
0
0
-3
0
5
71
0
0
0
0
0
0
24
-2
55
0
0
0
0
1
-5
3
-10
2
0
0
0
0
0
45
20
-55
30
0
0
0
0
1
-4
-13
1
24
0
0
0
0
0
0
2
-24
39
0
0
0
0
-5
-2
-3
27
6
0
0
0
0
0
7
-23
-69
77
0
0
0
0
0
-7
-6
0
43
0
0
0
0
0
-12
0
5
-25
0
0
0
0
0
-39
7
9
-13
0
0
0
0
0
-31
-33
7
-17
0
0
0
0
1
1
-1
0
29
0
0
0
0
0
0
-5
13
48
0
0
0
0
0
-1
2
-13
12
0
0
0
0
0
-12
20
17
-1
0
0
0
0
0
0
0
1
34
0
0
0
0
-1
-1
-7
15
13
0
0
0
0
0
0
0
0
-64
0
0
0
0
-2
33
-45
63
-84
0
0
0
0
0
8
0
1
-72
0
0
0
0
0
1
-4
19
-30
0
0
0
0
-8
-1
-1
17
-5
0
0
0
0
-1
1
8
-69
-42
0
0
0
0
0
3
0
6
-44
0
0
0
0
2
0
-1
8
72
0
0
0
0
16
15
0
6
-1
0
0
0
0
-7
11
44
-54
8
0
0
0
0
0
0
1
32
-11
0
0
0
0
0
0
-2
-108
34
0
0
0
0
0
0
-1
4
28
0
0
0
0
0
0
-16
-41
36
0
0
0
0
0
0
4
-8
-79
0
0
0
0
0
0
1
17
14
0
0
0
0
0
0
2
5
9
0
0
0
0
0
-5
8
23
-2
0
0
0
0
0
0
8
-28
67
0
0
0
-3
0
0
-4
5
120
0
0
0
0
0
0
-12
33
-36
0
0
0
0
0
0
-5
18
-48
0
0
0
0
0
0
4
-14
-62
0
0
0
2
0
0
0
25
31
0
0
0
0
0
0
0
-4
66
0
0
0
0
0
2
9
-2
27
0
0
0
0
0
0
2
25
-32
0
0
0
-9
0
0
-6
3
71
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
0
1
-21
16
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
-13
0
74
0
0
0
0
0
0
0
-12
81
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
2
-24
-71
0
0
0
4
0
0
0
-14
32
0
0
0
0
0
0
0
8
8
0
0
0
5
0
-3
-1
-48
-19
0
0
0
0
0
0
0
0
50
0
0
0
18
0
0
1
-12
-37
0
0
0
0
0
0
0
4
-15
0
0
0
13
0
20
-58
-70
15
0
0
0
0
0
7
0
57
-10
0
0
0
0
0
0
3
4
11
0
0
0
0
0
0
3
8
-11
0
0
0
0
0
0
-2
-67
45
0
0
0
0
0
0
0
-34
69
0
0
0
0
0
0
-2
-28
35
0
0
0
0
0
0
0
24
-8
0
0
0
0
0
-7
14
-7
14
0
0
0
0
0
-5
1
-4
7
0
0
0
0
0
0
0
-16
-23
0
0
0
0
0
-3
-4
-14
59
0
0
0
0
0
0
-5
1
31
0
0
0
0
0
0
0
1
54
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
11
14
0
0
0
0
-1
16
0
-16
51
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
2
9
24
0
0
0
0
0
0
0
-7
27
0
0
0
0
0
0
-11
51
-13
0
0
0
0
0
0
0
-5
-41
0
0
0
0
0
0
-4
-9
4
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
5
0
-77
-5
0
0
0
0
0
0
0
-8
47
0
0
0
0
0
0
0
31
9
0
0
0
0
0
0
0
25
22
0
0
0
0
0
0
-2
49
-35
0
0
0
0
0
-3
0
25
-2
0
0
0
0
0
0
0
1
53
0
0
0
0
0
0
0
-10
-31
0
0
0
0
37
8
3
-93
20
0
0
0
0
0
7
-32
17
44
0
0
0
0
0
0
20
-27
-1
0
0
0
0
0
0
-9
62
4
0
0
-7
0
0
0
0
40
32
0
0
0
0
0
3
-6
-12
50
0
0
0
0
0
0
-1
20
-28
0
0
0
0
0
0
0
-23
37
0
0
0
0
0
-7
36
1
-42
0
0
0
0
0
-2
12
24
-24
0
0
0
0
0
0
4
-25
-19
0
0
0
0
0
-5
1
-110
83
0
0
0
0
0
-5
-52
15
-10
0
0
0
0
0
-1
0
-2
-4
0
0
0
0
0
0
0
-49
13
0
0
0
0
0
3
5
-4
29
0
0
0
0
0
31
80
-33
-8
0
0
0
0
0
2
16
12
3
0
0
0
0
0
0
-3
-5
51
0
0
0
0
0
-2
-9
-5
38
0
0
-1
0
0
6
-28
-25
0
0
0
0
0
0
0
0
-13
-40
0
0
0
0
0
0
2
7
-8
0
0
0
0
0
3
-6
10
0
0
0
1
0
0
-6
6
-67
36
0
0
0
0
0
0
-19
-72
45
0
0
0
0
0
1
4
7
28
0
0
0
0
0
-4
0
-91
7
0
0
3
0
0
-1
12
35
-20
0
0
0
0
0
0
3
8
-1
0
0
0
-3
0
0
7
20
-139
0
0
0
0
0
3
-7
-11
4
0
0
-12
3
2
-17
0
-92
57
0
0
0
0
0
13
1
-3
82
0
0
0
0
0
0
1
-48
-10
0
0
0
0
0
0
0
19
-35
0
0
0
0
0
0
-19
12
33
0
0
0
0
0
0
-1
0
-70
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
10
-66
0
0
0
0
0
-3
0
-5
-6
0
0
0
0
0
0
0
-5
52
0
0
0
0
0
1
0
6
-13
0
0
0
0
0
0
-1
-13
19
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-5
0
6
0
0
0
0
0
-1
-7
13
-6
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
4
3
-12
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
1
-95
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
-20
43
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
46
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
-4
7
-18
0
0
0
0
0
0
0
5
46
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
-3
-4
0
-6
0
0
0
0
17
-21
-69
-18
42
0
0
0
0
0
-4
-6
5
26
0
0
0
3
0
0
0
-18
24
0
0
0
0
0
0
4
-10
-19
0
0
0
0
0
0
-22
-62
21
0
0
0
0
0
0
13
0
-24
0
0
0
0
0
0
0
20
24
0
0
0
0
0
0
0
0
19
0
0
0
0
0
3
8
12
20
0
0
0
0
0
0
0
-14
91
0
0
0
0
0
0
-2
-2
21
0
0
0
0
0
0
2
0
-34
0
0
0
0
0
0
-2
-6
57
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-4
-3
-5
5
0
0
0
0
0
0
0
15
-42
0
0
0
0
0
0
2
24
-30
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
-34
5
0
0
0
0
0
0
-3
-3
-35
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
-22
-9
0
0
0
0
0
0
0
0
34
0
0
0
2
0
0
0
3
-4
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-15
10
0
0
0
0
0
0
-7
-5
7
0
0
0
7
0
0
-1
0
6
0
0
0
0
0
0
0
0
17
0
0
0
-6
-2
-1
-101
7
-8
0
0
0
0
0
-6
0
-15
62
0
0
0
0
0
0
-9
-2
36
0
0
0
0
0
-2
-3
13
-23
0
0
0
0
0
0
5
33
-57
0
0
0
0
0
0
-3
0
36
0
0
0
0
0
0
-2
3
97
0
0
0
0
0
-2
-1
-7
3
0
0
0
0
0
1
-17
-20
20
0
0
0
0
0
7
0
-1
-67
0
0
0
0
0
0
0
-19
37
0
0
0
0
0
0
0
-21
31
0
0
0
0
0
0
-1
-27
37
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
43
0
0
0
0
1
9
0
-5
-7
0
0
0
0
0
0
5
-10
-20
0
0
0
0
0
-1
0
-5
28
0
0
0
0
0
0
-1
-21
45
0
0
0
0
0
0
0
11
21
0
0
0
0
0
-2
-13
13
16
0
0
0
0
0
2
2
-6
-2
0
0
0
0
0
0
0
0
-47
0
0
0
0
-10
0
1
1
-11
0
0
0
0
0
0
1
10
25
0
0
0
0
-2
-2
0
0
116
0
0
0
0
0
0
0
9
-5
0
0
0
0
-4
0
1
0
-11
0
0
0
0
1
0
6
-7
5
0
0
0
0
1
0
0
4
-31
0
0
0
0
-1
-2
0
0
24
0
0
0
0
15
0
-11
-6
-11
0
0
0
0
-3
1
30
-42
-39
0
0
0
0
-2
98
2
129
-58
0
0
0
0
0
0
0
-94
7
0
0
0
0
0
10
17
6
-2
0
0
2
0
0
0
-31
-24
29
0
0
0
0
-1
21
-20
-55
69
0
0
0
0
0
-8
6
-7
-10
0
0
0
0
-1
-17
3
2
-28
0
0
0
0
0
-49
-23
-11
20
0
0
0
0
4
22
45
-15
-35
0
0
0
0
0
-5
-11
-49
76
0
0
0
0
0
-5
2
-3
-8
0
0
0
0
0
-1
50
-77
-32
0
0
0
0
0
-1
13
0
-3
0
0
0
0
0
-5
4
-21
37
0
0
0
0
0
25
2
-2
34
0
0
0
0
0
-29
-7
-53
86
0
0
0
0
0
-2
38
-79
18
0
0
0
0
0
-10
29
-36
21
0
0
0
0
0
-2
-3
-4
55
0
0
0
0
0
-1
43
46
-98
0
0
0
0
0
-25
-35
57
-56
0
0
0
0
0
-1
37
15
-78
0
0
0
0
0
-1
-2
6
27
0
0
0
0
0
35
-20
-1
-52
0
0
0
0
-6
-27
15
-3
8
0
0
0
-1
0
-4
1
-21
-6
0
0
0
0
0
69
-34
-76
39
0
0
9
0
0
-25
-19
41
-7
0
0
0
0
-6
-8
2
27
5
0
0
0
1
-2
-20
-3
44
53
0
0
0
0
-3
-36
23
-44
47
0
0
-14
2
-64
-10
42
-20
12
0
0
0
0
5
6
0
-39
0
0
0
0
0
0
-1
-1
-64
55
0
0
0
0
0
-3
4
-37
33
0
0
0
0
0
0
79
-11
-38
0
0
0
0
-3
-7
2
2
-1
0
0
0
0
0
0
19
-25
-9
0
0
0
0
0
-1
-1
7
7
0
0
0
0
0
14
-9
1
5
0
0
0
0
0
3
0
-9
9
0
0
0
0
0
0
-1
32
-54
0
0
0
0
0
4
-2
-24
14
0
0
0
0
0
0
-14
73
29
0
0
0
0
0
-19
20
0
-16
0
0
0
0
0
0
0
3
21
0
0
0
0
1
7
0
0
-14
0
0
0
0
-8
19
50
9
3
0
0
0
0
2
3
-1
-51
43
3
0
0
0
0
0
-5
-14
-3
8
0
0
0
0
0
5
-24
35
8
0
0
0
0
1
-25
-80
-12
2
0
0
0
-2
0
0
-69
27
-2
0
0
0
-9
-2
-32
-73
39
30
0
0
0
0
7
-2
-9
-36
3
0
0
0
-1
9
43
75
9
-5
0
0
0
0
0
1
26
34
12
0
0
0
0
0
-1
36
-48
-3
0
0
0
2
-3
-1
-23
-11
15
0
0
0
0
3
18
52
7
3
0
0
0
2
-4
-16
-3
7
18
0
0
0
7
1
-51
-37
54
9
0
0
0
-55
-6
2
-57
-18
34
0
0
0
44
-26
43
59
79
9
0
0
0
0
-1
4
-70
41
0
0
0
-6
0
3
0
-42
57
0
0
0
0
0
0
-4
45
13
0
0
0
0
0
-1
-56
-63
82
0
0
0
0
0
0
5
-4
-38
0
0
0
0
0
0
-6
64
12
0
0
0
0
0
0
3
-1
-4
0
0
0
0
0
3
6
-6
80
0
0
0
0
0
0
0
24
9
0
0
0
-2
0
0
0
-36
2
0
0
0
0
0
0
0
-11
-33
0
0
0
10
0
0
-1
-21
7
0
0
0
0
0
0
0
14
43
0
0
0
-8
0
0
0
4
-29
0
0
0
0
0
0
0
-17
30
0
0
0
-1
0
-7
-4
-11
15
0
0
0
0
0
0
-2
40
-58
3
0
0
10
0
0
0
-13
-144
2
0
0
0
0
0
0
38
-19
-3
0
0
0
0
0
8
-34
-44
-2
0
0
0
0
0
0
-91
62
-16
0
0
-5
0
0
-1
-12
-115
17
0
0
0
0
0
0
5
27
-37
0
0
0
0
3
0
-60
-109
10
0
0
0
0
0
6
-43
-13
26
0
0
-9
0
0
0
-22
-33
-19
0
0
0
0
0
0
20
-23
6
0
0
2
0
0
-1
39
-65
18
0
0
0
0
0
1
-43
71
6
0
0
-27
0
0
0
22
-49
37
0
0
0
0
0
0
-59
83
-21
0
0
50
-4
46
-10
-33
21
0
0
0
0
0
4
0
-13
2
0
0
0
0
0
0
0
-20
33
0
0
0
0
0
0
0
-42
37
0
0
0
0
0
0
3
-55
21
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
13
-5
59
0
0
0
0
0
0
0
23
-27
0
0
0
0
0
0
0
-29
-17
0
0
0
0
0
-2
0
-7
5
0
0
0
0
0
0
1
-12
1
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
-1
-13
15
0
0
0
0
0
-2
0
-7
16
0
0
0
0
0
-16
-1
10
70
0
0
0
0
0
-9
-8
42
-67
-9
0
0
0
0
0
-4
-43
-47
-2
0
0
0
0
0
-1
67
-24
-21
0
0
0
0
0
7
-62
2
-3
0
0
0
0
0
0
12
-2
-21
0
0
0
0
0
-2
-48
-27
34
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
4
-29
16
6
0
0
0
0
0
-1
17
95
-33
0
0
0
0
0
-3
23
-36
21
0
0
0
0
3
3
-19
8
21
0
0
0
0
-2
1
-29
8
23
0
0
0
0
0
1
-14
43
-33
0
0
0
0
0
0
27
53
-28
0
0
0
0
0
0
4
0
-3
0
0
0
-4
31
-16
16
-12
3
0
0
0
0
2
-10
29
-22
0
0
0
0
0
0
-36
28
-30
0
0
0
0
0
0
19
-20
8
0
0
-6
0
0
0
108
-10
13
0
0
0
0
0
0
12
13
-4
0
0
0
0
0
0
-1
-5
-22
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
15
3
0
0
0
0
0
0
1
1
-41
18
0
0
0
0
0
0
0
-23
-4
0
0
0
0
0
0
-5
-16
12
0
0
0
0
0
0
8
12
0
0
0
0
0
0
0
1
4
7
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
-2
24
19
-56
0
0
0
0
0
-7
29
-22
-2
-8
0
0
0
0
0
-7
-4
20
2
0
0
0
0
0
5
-15
-16
10
0
2
0
0
0
4
9
-65
41
0
0
0
0
0
-3
-19
11
18
0
0
0
0
0
5
-69
14
5
0
0
0
0
0
0
1
0
-7
0
-2
0
0
0
-4
1
-19
-14
0
0
0
0
0
6
-8
71
-15
0
0
0
0
0
0
55
-45
-17
0
0
0
0
0
-8
77
19
11
0
18
0
0
0
23
-132
-24
52
0
0
0
0
0
2
-41
79
-56
0
0
0
0
0
-2
3
34
-64
0
0
0
0
0
0
-98
4
-35
0
30
18
-1
-57
-128
-38
19
21
0
0
0
0
0
-8
13
8
0
0
0
0
0
0
4
19
7
0
0
0
0
0
0
0
-14
19
0
0
0
0
0
0
28
-87
120
0
0
0
0
0
1
-5
0
-6
0
0
0
0
0
0
14
-81
-39
0
0
0
0
0
0
3
-5
-14
0
0
0
0
0
-2
11
-33
39
0
0
0
0
0
0
0
-14
39
0
0
0
0
0
0
1
14
11
0
0
0
0
0
0
-10
6
-20
0
0
0
0
0
1
31
-24
19
0
0
0
0
0
0
-2
-1
26
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
1
4
0
0
0
0
-3
13
-110
37
2
0
0
0
0
0
0
6
-56
-39
7
0
0
0
0
0
0
0
14
-26
0
0
0
0
0
-13
21
5
-3
0
0
0
0
-1
-1
28
-31
59
0
0
0
0
0
-1
0
27
-83
0
0
0
0
0
-3
5
32
-36
0
0
0
0
0
1
-12
-1
35
0
0
0
0
4
-2
-26
6
9
0
0
0
0
0
0
1
-43
26
0
0
0
0
0
0
2
50
-34
0
0
0
0
0
1
20
-9
-45
0
0
0
0
0
-5
11
26
12
0
0
0
-5
0
0
4
-31
-13
0
0
0
0
0
2
-49
3
43
0
0
0
0
1
1
20
15
-73
0
0
0
13
8
-62
-14
-51
9
0
0
0
0
2
5
-3
44
0
0
0
-1
0
0
-4
-28
2
0
0
0
0
0
0
2
-37
2
0
0
0
0
0
0
-2
-76
-17
0
0
0
0
0
0
0
15
44
0
0
0
0
0
0
0
-28
36
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
2
1
24
-51
0
0
0
0
0
0
1
-5
76
0
0
0
0
0
0
0
-2
-42
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
11
0
-37
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
3
2
38
0
0
0
0
0
0
4
-9
62
0
0
0
0
0
0
-1
-53
-55
8
0
0
0
0
0
0
-38
53
-21
0
0
0
0
0
-1
-1
-2
-9
0
0
0
0
0
1
8
25
-31
0
0
0
0
0
0
-12
-10
0
0
0
0
0
0
7
8
52
-24
0
0
0
0
0
0
-3
1
-125
0
0
0
0
1
0
-8
-66
82
0
0
0
0
0
-5
9
41
12
0
0
11
0
0
0
28
-65
34
0
0
0
0
0
0
10
4
35
0
0
0
0
0
0
2
-10
19
0
0
0
0
0
-4
13
-47
19
0
0
0
0
0
0
-18
-1
35
0
0
0
1
-5
-1
4
-9
23
0
0
-9
-15
-14
45
-82
45
8
0
0
0
0
0
0
-43
51
0
0
0
0
0
0
0
35
12
0
0
0
0
0
0
0
-17
7
0
0
0
0
0
0
-8
-46
54
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
62
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
7
-4
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
-3
49
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-6
-8
-29
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
0
0
1
7
0
0
0
0
0
0
-3
-4
-12
0
0
0
0
0
0
0
-2
101
-29
0
0
0
0
0
0
-4
12
-15
0
0
0
0
0
0
-2
1
-5
0
0
0
0
0
0
2
3
-8
0
0
0
0
0
0
-7
-3
-34
0
0
0
0
0
0
0
-12
50
0
0
0
0
0
0
5
-9
11
0
0
0
0
0
0
2
7
-59
0
0
0
0
0
0
0
-5
-30
0
0
0
0
0
0
-12
-7
71
0
0
0
0
0
0
-4
3
-77
0
0
0
0
-4
0
3
-17
19
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
-7
-35
17
0
0
0
2
0
0
0
-12
-42
0
0
0
-13
25
-9
-69
-27
8
0
0
0
0
18
26
-69
67
0
0
0
0
0
0
-14
-28
6
0
0
0
0
0
0
10
23
-54
0
0
0
0
0
0
87
-8
-17
0
0
0
0
0
2
-27
47
-7
0
0
0
0
0
0
21
10
23
0
0
0
0
0
-4
0
-15
3
0
0
0
0
0
-19
15
-75
12
0
0
0
0
0
-1
37
37
-14
0
0
0
3
0
0
0
-3
-64
0
0
0
0
0
5
-3
-9
-16
0
0
0
0
0
0
-59
-80
83
0
0
0
0
0
0
-5
-5
-8
0
0
0
0
0
0
3
1
-12
0
0
0
0
0
8
4
-1
13
0
0
0
0
0
1
31
-15
-85
0
0
0
0
0
-7
36
69
39
-14
0
0
0
0
0
2
-38
39
20
0
0
0
0
-4
12
-14
0
-1
0
0
0
0
0
-2
14
19
-51
0
0
0
0
0
-39
55
-6
30
0
0
0
0
0
1
-19
4
59
0
0
0
0
3
0
-26
-1
3
0
0
0
0
4
-19
-8
12
48
0
0
0
0
-1
-9
9
0
-32
0
0
0
0
0
10
-26
53
-8
0
0
0
0
-2
0
-26
-10
37
0
1
0
0
0
21
2
8
-100
0
0
0
0
0
-7
6
52
-23
0
0
0
0
-1
-4
0
1
1
0
0
0
2
4
0
-4
-2
-75
0
19
4
8
7
-36
-23
-100
-14
0
0
0
-3
5
-1
33
21
0
0
0
0
0
0
2
8
-10
0
0
0
0
0
0
-1
27
-56
0
0
0
0
0
1
27
-28
-20
0
0
0
0
0
1
0
14
25
0
0
0
0
0
-2
-10
-24
53
0
0
0
0
0
4
-1
3
-6
0
0
0
0
-1
6
-15
-8
59
0
0
0
0
-5
-1
0
-30
59
0
0
0
0
0
0
-1
-21
13
0
0
0
0
1
2
-1
14
20
0
0
0
0
0
-5
-15
-17
20
0
0
0
0
-4
3
0
-5
57
0
0
0
0
0
0
4
-4
-87
0
0
0
0
-2
-12
7
4
43
0
0
0
0
8
-45
27
10
-68
0
0
0
0
-4
-3
-8
3
30
11
0
0
0
0
0
1
-7
41
17
0
0
0
0
0
0
2
21
6
0
0
0
0
-1
49
-8
111
-63
0
0
0
0
1
0
22
-40
-16
0
0
0
0
0
2
-116
91
53
0
0
0
0
-2
0
1
37
-17
0
0
0
3
3
-6
32
36
3
0
0
0
6
3
0
-9
-62
39
3
0
0
0
0
0
-26
-5
42
-10
0
0
1
8
0
-37
-12
-4
-3
0
0
0
3
-7
-29
-17
20
14
0
0
-1
1
5
3
37
-48
15
0
0
0
-2
2
-60
119
-4
0
0
0
5
-1
7
54
87
11
5
0
0
17
23
31
59
49
-5
8
0
0
0
0
2
29
7
0
0
0
5
0
0
-6
23
-22
0
0
0
0
0
0
-1
24
4
0
0
0
0
0
-3
43
13
-91
0
0
0
0
0
0
-2
1
59
0
0
0
0
0
0
0
-39
65
0
0
0
0
0
0
1
-7
-28
0
0
0
0
0
-7
-63
-23
27
0
0
0
0
0
-1
0
2
12
0
0
0
0
0
0
0
20
23
0
0
0
0
0
0
6
-40
2
0
0
0
0
0
4
0
10
5
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
-4
-1
0
-40
0
0
0
0
0
0
3
-13
13
17
0
0
0
0
0
0
-65
81
-18
0
0
0
0
0
0
28
-7
-20
0
0
0
0
0
-7
-29
-16
48
0
0
0
0
0
-1
-57
72
-14
0
0
-4
0
0
0
33
-62
-13
0
0
0
0
0
0
-12
40
-90
0
0
0
0
1
3
16
36
-32
0
0
0
0
0
-6
-25
107
27
-3
0
0
0
0
-2
42
40
-52
-16
0
0
0
0
0
3
-43
-9
11
0
-9
0
0
0
29
37
-50
7
0
0
0
0
1
-25
-39
-39
11
0
1
0
0
0
-12
-2
6
41
0
0
0
0
0
-73
-21
-2
28
0
-69
-14
17
43
-75
7
25
-4
0
0
0
0
-5
12
84
0
0
0
0
0
0
10
-81
49
0
0
0
0
0
0
0
54
-105
0
0
0
0
0
0
-26
40
-24
0
0
0
0
0
0
-1
-24
-8
0
0
0
0
0
0
-3
13
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
8
-15
11
0
0
0
0
0
0
0
-17
22
0
0
0
0
0
0
0
23
-51
0
0
0
0
3
0
0
12
-54
0
0
0
0
0
0
2
34
-13
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
-1
0
-15
28
0
0
0
0
4
5
1
1
-17
0
0
0
0
0
5
0
-15
-22
38
0
0
0
0
0
6
44
-1
-9
0
0
0
0
0
0
38
-92
15
0
0
0
0
-1
-22
-39
54
-1
0
0
0
0
0
1
18
35
-42
0
0
0
0
0
0
-9
25
-30
0
0
0
0
0
0
-4
2
24
0
0
0
0
-2
-4
-24
45
-11
0
0
0
0
0
0
4
-99
-16
0
0
0
0
0
0
2
-2
-153
18
0
0
0
0
0
-58
-8
26
11
0
0
0
0
0
51
-17
-66
0
0
0
0
0
0
-3
2
40
-20
0
0
0
0
-1
4
-40
-41
31
0
0
-1
0
0
18
0
-42
-53
0
0
-4
22
65
-121
26
0
-12
0
0
0
-9
-15
89
-90
0
0
0
0
0
0
3
-37
38
0
0
0
0
0
0
4
-9
-84
0
0
21
0
0
1
50
-82
19
0
0
0
0
0
0
13
12
33
0
0
0
0
0
0
-10
-47
1
0
0
0
0
0
-1
12
-23
42
0
0
0
0
0
-1
29
-10
-48
0
0
0
0
0
-3
20
-49
57
0
0
0
0
0
0
0
18
21
0
0
0
0
0
1
11
-31
17
0
0
3
0
0
-3
18
25
11
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
-1
0
1
0
0
-3
0
0
-1
-7
-3
17
0
0
0
0
0
-2
5
16
16
29
0
0
0
0
0
2
-50
103
-18
0
0
0
0
0
1
-39
-6
70
0
14
0
0
0
2
-23
-3
-49
0
0
0
0
0
-10
7
11
6
0
0
0
0
0
-3
14
37
-71
0
0
0
0
0
0
11
-6
4
0
0
0
0
1
-28
-58
-11
-51
0
0
0
0
0
5
-15
99
-14
10
0
3
0
0
2
-44
-15
4
21
0
0
0
1
0
58
-25
-10
-41
-20
0
0
0
-1
0
-38
20
-23
0
0
0
0
0
5
9
10
-16
0
-1
0
0
-2
18
17
9
-80
0
0
0
1
0
-4
-34
-103
-25
-82
-18
-3
-126
-171
8
-36
71
15
0
0
12
0
-3
-57
76
0
0
0
0
0
0
-2
43
-17
0
0
0
0
2
-1
1
5
-19
0
0
0
0
0
0
-62
29
12
0
0
0
0
0
4
10
-77
-17
0
0
0
0
0
0
7
19
8
0
0
0
0
0
-1
3
-9
8
0
0
0
0
0
1
47
-6
-56
0
0
0
0
1
-2
-3
45
-4
0
0
0
0
0
0
1
-22
13
0
0
0
0
0
0
-1
-5
82
0
0
0
0
0
1
-17
-46
-1
0
0
0
0
0
0
-8
-2
19
0
0
0
0
0
0
0
23
-44
0
0
0
0
-1
-5
3
0
8
0
0
0
0
-6
34
-54
-5
-17
0
0
0
0
0
3
14
-29
47
12
0
0
0
0
0
0
-28
-18
29
0
0
0
0
0
3
6
-37
11
0
0
0
0
-4
-2
-55
-11
43
0
0
0
0
0
-4
1
-6
6
0
0
0
0
0
0
16
-10
-14
0
0
0
0
3
0
0
-16
34
0
0
0
0
-2
5
-62
103
-52
0
0
0
-1
-2
0
0
3
-11
27
0
0
0
0
0
31
-18
-124
28
0
0
0
0
0
2
36
0
-30
0
0
0
-3
-7
-61
79
-1
-17
0
0
4
0
0
6
12
-31
19
0
0
0
-2
1
8
-37
-77
38
0
0
-5
-5
0
9
-18
27
-1
0
0
-33
-67
51
-17
123
-14
4
0
0
0
0
19
3
-10
0
0
0
-39
0
0
0
-43
75
0
0
0
0
1
0
4
-3
35
0
0
0
4
0
0
-56
-25
56
0
0
0
0
0
2
3
-26
11
0
0
0
1
0
0
7
15
-17
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
43
-66
-21
0
0
0
0
0
0
1
4
31
0
0
0
-1
0
0
0
1
-22
0
0
0
0
0
0
0
-1
51
0
0
0
-1
0
-4
0
-27
8
0
0
0
0
0
0
0
5
-9
0
0
0
3
0
0
0
0
10
0
0
0
0
0
0
0
-13
-18
0
0
0
4
0
-4
-55
8
10
0
0
0
0
0
0
-14
-13
24
17
0
0
7
0
0
0
5
-15
-14
0
0
0
0
0
0
-20
11
3
0
0
0
0
-3
-3
42
-5
-26
0
0
0
0
0
0
-9
-4
-2
0
0
-17
0
0
5
9
6
-41
0
0
0
0
0
0
0
-20
6
0
0
0
0
-1
5
15
-19
-40
0
0
0
0
0
-2
4
-52
-46
28
0
-48
0
0
0
0
-62
48
32
0
0
0
0
0
-7
9
-80
5
0
-2
0
0
-3
0
9
-32
27
0
0
0
0
0
4
-3
27
-30
0
25
0
0
0
-14
-13
-1
37
0
0
-10
0
-2
19
13
64
-53
0
0
19
-27
13
2
-58
18
13
0
0
-4
0
-2
0
46
0
0
0
0
0
0
-4
18
-31
0
0
0
0
0
-8
6
-66
44
0
0
0
0
0
-1
21
-26
49
0
0
0
0
1
-7
2
-24
8
0
0
0
0
0
0
-12
1
-29
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
-2
21
-17
58
0
0
0
0
3
-3
1
21
-43
0
0
0
0
0
3
0
7
23
0
0
0
0
-7
0
1
23
-33
0
0
0
0
-1
-2
-11
46
4
0
0
0
0
-1
0
-4
2
4
0
0
0
0
-2
4
0
-2
7
0
0
0
0
7
-23
-1
0
-30
0
0
0
0
4
-6
-41
58
55
0
0
0
0
4
4
-1
-20
21
8
0
0
0
0
0
-2
-38
11
17
0
0
0
0
0
0
10
-19
12
0
0
0
4
0
-17
-30
-6
37
0
0
0
1
0
0
-4
10
33
0
0
0
0
0
0
-5
-21
-8
0
0
0
1
0
-2
0
2
-39
0
0
0
3
-6
8
22
-13
-69
0
0
0
-18
2
0
-1
44
32
-12
0
0
0
0
-1
-21
35
11
3
0
0
6
-3
0
-1
7
25
-40
0
0
0
0
-6
-9
3
13
-28
0
0
-3
-1
0
3
-12
-5
-30
0
0
-2
0
6
-16
-4
13
-21
0
0
-6
0
-3
5
14
-42
32
0
0
-14
22
14
-54
7
-39
95
0
0
3
26
71
-44
-2
0
0
0
44
25
-4
-2
-28
13
0
0
0
0
10
-19
-52
-32
20
0
0
-30
41
-80
-31
-73
-17
18
0
0
0
0
19
11
58
-22
-7
0
0
0
60
-50
-9
-69
-18
-12
0
0
0
0
12
-55
17
35
-42
0
0
-4
-29
-55
-46
7
-28
-4
0
0
0
0
-9
14
-12
20
15
0
0
0
-18
-21
44
188
21
-8
0
0
0
0
32
-69
-21
6
10
0
0
31
21
-15
-10
-30
-7
-53
0
0
0
0
25
10
-21
8
-8
0
0
0
8
-12
-11
-31
0
-4
0
0
0
0
24
1
-41
-54
2
0
0
16
0
20
-43
57
-33
-3
0
0
0
0
53
42
-8
-67
64
9
0
0
8
21
-24
-91
-55
-32
2
0
0
0
-18
-80
62
-73
66
3
0
-33
-76
34
10
18
-22
47
-14
0
0
0
-8
-16
67
-20
6
2
0
0
-28
22
-9
-13
-93
-39
-10
0
0
0
47
11
1
-21
55
-10
0
36
24
8
45
42
30
1
-11
0
0
0
7
-15
26
-29
-3
-4
11
0
43
-56
-23
10
19
-41
-10
-2
0
0
126
14
-21
21
4
-20
-8
-22
1
0
0
1
-64
27
16
4
0
0
12
-45
38
-38
24
-8
-3
0
-60
7
-33
-20
15
-18
-13
0
0
0
8
71
66
-18
67
-27
8
9
11
-62
13
62
-7
12
-15
-3
0
0
-16
-39
-48
-28
29
0
0
0
0
-54
-9
27
-7
7
0
0
0
0
-22
55
56
-2
7
0
0
0
0
-20
-3
33
-65
23
0
0
0
0
10
104
54
-39
1
0
0
0
0
25
48
-44
-73
13
0
0
0
0
8
-31
40
0
-47
0
0
0
0
10
20
-21
-23
-29
0
0
0
0
24
-13
-4
-16
8
0
0
0
0
0
-42
121
-23
18
0
0
0
0
45
-31
-4
-13
4
0
0
0
0
-8
2
15
-11
-30
0
0
0
0
-41
53
-32
-18
1
0
0
0
0
0
-2
-68
-48
39
0
0
0
0
-17
32
47
4
-6
0
0
0
0
3
-39
-37
28
6
0
0
0
0
-43
-34
-7
73
53
0
0
0
0
-1
93
-30
18
38
0
0
0
0
-16
33
52
-32
15
0
0
0
0
-2
21
39
-78
25
0
0
0
0
54
8
26
-50
71
0
0
0
0
-3
-68
50
-71
56
0
0
0
0
8
55
-73
77
4
0
0
0
0
-2
-27
10
119
-24
0
0
0
0
26
45
43
-18
-7
0
0
0
0
-1
17
-4
22
23
0
0
0
0
-8
46
-45
-77
83
0
0
0
0
0
-2
52
-75
-16
0
0
0
0
39
-41
26
-1
-4
0
0
0
0
19
-16
99
19
-42
0
0
0
0
-59
-32
88
-59
38
0
0
0
0
42
38
49
-14
-8
0
0
0
0
0
-4
-56
6
8
0
0
0
-33
19
122
31
-19
9
0
0
0
0
63
47
-36
-29
16
0
0
0
20
0
-39
38
10
20
0
0
0
0
0
-7
19
-65
25
0
0
0
79
1
6
-60
15
27
0
0
0
0
0
-31
87
-13
-4
0
0
0
40
0
14
1
-31
-28
0
0
0
0
0
0
51
-69
56
0
0
0
-4
3
30
14
-5
-9
0
0
0
0
0
18
94
-72
-28
0
0
0
35
0
22
-42
-66
45
0
0
0
0
0
0
11
-207
24
0
0
0
31
0
-50
48
-64
42
0
0
0
0
0
9
60
-23
-27
0
0
0
-3
0
-24
53
12
-15
0
0
0
0
0
-8
64
-89
6
0
0
0
-32
-23
-20
39
9
57
0
0
0
0
3
-3
-3
-79
73
0
0
0
8
0
-5
-51
-7
26
0
0
0
0
0
0
8
15
40
0
0
0
58
0
10
-51
1
65
0
0
0
0
0
-6
-18
83
-13
0
0
0
-3
0
2
-5
23
-17
0
0
0
0
0
-15
-9
51
13
0
0
0
24
0
26
-13
-50
23
0
0
0
0
0
2
45
18
-43
0
0
0
-1
0
3
-25
61
-52
0
0
0
0
0
0
34
-18
27
0
0
0
42
0
0
26
13
9
0
0
0
0
5
-1
-36
13
25
0
0
0
28
-3
-150
-62
-7
9
0
0
0
0
3
35
-4
4
-15
0
0
0
0
1
-50
30
-13
14
0
0
0
0
16
21
10
10
12
0
0
0
0
49
-18
-35
8
2
0
0
0
0
35
12
-1
-35
-2
0
0
0
0
0
-30
8
-1
-16
0
0
0
0
-15
23
-4
49
1
0
0
0
0
9
62
-5
-45
-13
0
0
0
0
0
60
24
-68
-12
0
0
0
0
0
2
4
-127
84
0
0
0
0
-1
-42
-41
38
44
0
0
0
0
0
-50
19
26
9
0
0
0
0
-12
63
-54
-31
4
0
0
0
0
0
-4
-27
62
11
0
0
0
0
6
1
6
-125
78
0
0
0
0
-2
-14
-32
-33
13
0
0
0
0
-2
12
72
-75
-15
0
0
0
0
-2
2
19
16
-24
0
0
0
0
-22
-6
-57
-47
93
0
0
0
0
4
5
-31
-79
67
0
0
0
0
-17
29
56
-103
-1
0
0
0
0
0
-11
-32
-23
7
0
0
0
0
6
-12
7
-15
59
0
0
0
0
1
-23
10
15
85
0
0
0
0
0
0
6
-5
62
0
0
0
0
0
-1
8
-20
-48
0
0
0
0
-2
-5
-87
18
20
0
0
0
0
-9
-3
63
-91
28
0
0
0
0
26
63
-64
24
-18
0
0
0
0
2
-7
54
-36
-44
0
0
0
0
3
-75
77
-52
0
0
0
0
0
43
17
74
-24
-39
0
0
0
0
3
54
-92
-54
0
0
0
0
2
-9
-33
-143
111
-11
0
0
0
0
38
67
41
-37
-12
0
0
-42
-54
-9
68
87
71
-27
0
0
0
0
0
-3
-31
-7
17
0
0
0
-24
-5
18
124
-6
-42
0
0
0
0
6
22
40
-114
4
0
0
-1
3
2
0
55
-24
-55
0
0
0
0
0
-7
14
-48
43
0
0
0
0
0
-28
85
-7
9
0
0
0
0
0
-52
-27
-13
39
0
0
82
-11
0
-10
-88
12
47
0
0
0
0
0
-7
-11
40
35
0
0
0
4
0
-4
-30
65
0
0
0
0
0
0
-12
67
12
-41
0
0
58
0
-2
-7
-18
-39
-6
0
0
0
0
6
18
-26
-89
59
0
0
0
9
0
-15
77
-9
8
0
0
0
0
4
0
-96
1
116
0
0
33
-14
3
-49
-18
-11
-1
0
0
0
0
0
9
37
-48
-1
0
0
0
43
0
1
38
-87
-58
0
0
0
0
2
-6
5
-29
-7
0
0
93
0
5
-16
-48
-87
-52
0
0
0
0
0
2
27
-21
-19
0
0
0
0
0
2
6
11
54
0
0
0
0
0
0
-106
13
58
0
0
5
4
0
56
-19
-36
-37
0
0
0
0
0
-3
-44
-78
98
0
0
0
31
0
-4
-25
-126
51
0
0
0
0
-10
6
-57
-4
4
0
0
-41
64
-20
-68
-54
-28
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
-2
30
60
51
-38
0
0
0
0
0
3
-14
-23
4
0
0
0
0
-1
10
-42
-33
77
0
0
0
0
0
0
34
-72
-1
0
0
0
0
-23
-10
9
78
-69
0
0
0
0
0
-2
-6
-107
39
0
0
0
0
4
-5
-50
-78
151
0
0
0
0
4
-13
-10
-3
40
0
0
0
0
-22
25
-11
54
16
0
0
0
0
0
0
-22
41
-13
0
0
0
0
0
0
35
25
-52
0
0
0
0
0
1
-5
-10
2
0
0
0
0
1
22
-16
2
-47
0
0
0
0
-3
-1
3
24
-13
0
0
0
0
-1
-1
-2
13
26
0
0
0
0
0
-2
-32
43
22
0
0
0
0
-5
-38
70
-78
85
0
0
0
0
0
-11
-59
-117
76
0
0
0
0
0
-33
31
27
15
0
0
0
0
1
11
-24
-78
50
0
0
0
0
2
-49
-1
-4
80
0
0
0
0
-16
5
11
39
8
0
0
0
0
0
0
25
32
26
0
0
0
0
1
5
28
-3
22
0
0
0
0
50
38
53
-6
-16
0
0
0
0
0
-2
26
-40
0
0
0
0
0
-2
17
47
-21
-12
0
0
0
0
1
18
-16
-50
52
0
0
0
0
32
-76
108
60
-29
0
0
0
0
-2
34
11
-23
6
0
0
0
0
-6
-32
5
0
-21
0
0
0
0
-47
-7
11
-11
22
0
0
0
0
0
0
6
-39
22
0
0
0
39
0
0
7
4
-14
0
0
0
0
0
0
-5
-66
-47
0
0
0
1
0
-1
-54
-23
18
0
0
0
0
0
-3
-30
22
1
0
0
0
-15
0
-36
-27
-6
26
0
0
0
0
0
0
16
-123
55
0
0
0
0
0
17
2
-82
-9
0
0
0
0
0
2
22
11
-14
0
0
0
9
0
0
12
-62
15
0
0
0
0
0
0
-7
-2
3
0
0
0
2
0
1
5
43
-76
0
0
0
0
0
0
0
0
65
0
0
0
-11
0
1
-3
0
13
0
0
0
0
0
-3
0
-31
39
0
0
0
-7
0
-2
-7
-26
91
0
0
0
0
0
1
-16
34
-29
0
0
0
22
-1
-13
18
-12
6
0
0
0
0
0
0
15
-70
29
0
0
0
3
0
9
-30
-8
43
0
0
0
0
0
-1
4
-6
-4
0
0
0
-8
0
2
24
35
-20
0
0
0
0
0
-1
-6
-1
27
0
0
0
0
0
0
26
18
70
0
0
0
0
0
4
28
-36
-8
0
0
0
48
2
-56
-80
37
39
0
0
0
0
0
0
-7
-36
59
0
0
0
-1
0
-3
11
-7
3
0
0
0
0
0
0
43
-50
-29
0
0
0
30
0
-9
8
-2
-13
0
0
0
0
-4
11
-8
40
-23
0
0
0
-35
0
13
-106
-28
26
0
0
0
0
18
-4
-39
-7
-17
0
0
0
0
0
0
0
-35
71
0
0
0
0
-4
-11
4
18
34
0
0
0
0
0
20
8
-36
29
0
0
0
0
-3
13
-4
65
-14
0
0
0
0
0
-18
5
0
-49
0
0
0
0
-3
0
4
-12
-60
0
0
0
0
0
6
50
-46
8
0
0
0
0
-2
1
4
-19
20
0
0
0
0
0
0
7
61
-39
0
0
0
0
1
1
-3
15
26
0
0
0
0
0
6
-13
-43
83
0
0
0
0
4
32
25
35
-11
0
0
0
0
0
-1
-50
3
63
0
0
0
0
2
8
-11
-4
-38
0
0
0
0
0
16
21
-12
-45
0
0
0
0
-3
-6
-6
-38
107
0
0
0
0
2
-2
7
-56
63
0
0
0
0
1
-1
3
-50
-25
0
0
0
0
-1
-2
57
32
-97
0
0
0
0
0
12
20
-26
-29
0
0
0
0
0
0
1
-42
-29
0
0
0
0
-1
-1
-5
70
-41
0
0
0
0
-1
-13
-45
-34
27
0
0
0
0
9
-21
-32
64
-8
0
0
0
0
1
0
-10
-79
76
0
0
0
0
-2
2
6
-115
7
0
0
0
0
3
-2
5
30
-16
0
0
0
0
7
17
13
-103
47
0
0
0
0
0
-2
-11
-4
14
0
0
0
0
4
-8
-10
46
49
0
0
0
0
-12
-12
0
35
-14
0
0
0
0
0
-4
-1
65
27
0
0
0
1
0
0
-5
57
-7
0
0
0
0
0
-4
2
17
-10
0
0
8
-12
0
-10
41
-5
20
0
0
0
0
0
2
-8
11
18
0
0
0
2
0
0
-27
45
-48
0
0
0
0
0
0
1
-57
-36
0
0
1
0
0
-16
-110
50
29
0
0
0
0
0
-1
-6
-13
11
0
0
0
19
0
-2
-35
-2
-2
0
0
0
0
0
1
2
-70
32
0
0
20
0
0
-2
22
-19
-27
0
0
0
0
0
-5
-6
49
17
0
0
0
-3
0
-1
33
8
-44
0
0
0
0
0
0
-15
-62
74
0
0
-2
0
0
0
82
-36
-21
0
0
0
0
0
7
-6
-3
-10
0
0
0
0
0
6
-62
-28
62
0
0
0
0
0
8
14
-20
-68
0
0
38
0
0
-10
41
-79
-41
0
0
0
0
0
0
-9
-14
38
0
0
0
0
0
1
-1
-70
-1
0
0
0
0
-1
-7
4
-21
17
0
0
0
0
0
0
-6
-22
9
0
0
0
0
0
9
8
-3
-58
0
0
0
-3
0
-4
6
21
-30
0
0
0
0
0
-5
-4
6
-20
0
0
-12
0
0
3
-107
-75
48
0
0
0
0
0
5
16
-5
-33
0
0
0
-20
0
0
45
-131
34
0
0
0
0
1
5
2
-17
-35
0
0
-28
-3
0
-3
-12
-53
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
13
-78
-8
-10
27
0
0
0
0
0
-29
-19
-18
17
0
0
0
0
3
-48
-2
-8
26
0
0
0
0
-2
33
-26
-67
25
0
0
0
0
0
-37
-2
11
77
0
0
0
0
3
-5
7
-53
83
0
0
0
0
-3
-24
57
12
-13
0
0
0
0
0
-48
144
-7
12
0
0
0
0
30
39
34
-37
-28
0
0
0
0
0
26
-31
2
-14
0
0
0
0
1
-2
5
-85
72
0
0
0
0
1
-13
-63
20
-15
0
0
0
0
-34
-40
12
-26
37
0
0
0
0
0
0
44
-66
54
0
0
0
0
78
7
42
64
-55
0
0
0
0
1
45
-22
-31
30
0
0
0
0
-44
-6
82
64
58
2
0
0
0
0
-1
-5
-119
-19
4
0
0
0
-1
-14
54
59
70
3
0
0
0
-5
27
-26
-5
7
7
0
0
0
-51
56
46
79
49
0
0
0
0
-2
0
12
-48
0
10
0
0
0
-1
-62
7
-29
76
11
0
0
0
0
3
1
-23
31
-15
0
0
0
-21
-28
-61
-13
8
26
0
0
0
0
-4
27
-56
-34
44
0
0
0
-39
39
1
5
-30
25
0
0
0
0
11
-2
-37
2
19
0
0
0
34
73
-93
134
102
-4
0
0
0
4
-3
-53
-3
-52
10
0
0
0
56
8
24
-70
-28
9
0
0
0
-19
31
-66
14
-19
13
0
0
0
0
24
8
-19
17
0
0
0
-21
0
42
21
-39
16
0
0
0
0
0
-5
9
-72
101
0
0
0
0
0
-4
-58
-41
76
0
0
0
0
0
-9
23
51
-63
0
0
0
-23
0
-5
-63
39
52
0
0
0
0
0
0
34
-44
-65
0
0
0
0
0
0
-77
17
-13
0
0
0
0
0
6
86
-91
16
0
0
0
-29
0
29
-59
-24
6
0
0
0
0
-11
-2
-50
40
-10
0
0
0
7
0
2
23
-14
7
0
0
0
0
0
0
-19
-39
37
0
0
0
18
0
-24
13
-120
50
0
0
0
0
1
-13
26
-55
-14
0
0
0
11
-1
13
24
-6
-8
0
0
0
0
0
11
-6
74
0
-1
0
0
35
7
-62
-20
40
1
-2
0
0
0
0
0
8
-58
-22
2
0
0
9
0
1
51
-25
87
-5
0
0
0
0
0
-17
45
-47
20
0
0
49
3
0
-22
66
-21
-7
0
0
0
0
-4
0
-36
11
11
0
0
0
0
5
-8
69
-31
-15
0
0
0
0
1
11
-93
23
5
0
0
-96
-5
-2
-75
-15
55
65
0
0
0
7
-4
-22
-28
-30
-5
0
0
4
0
-3
12
54
-88
24
0
0
0
0
4
34
3
-15
32
0
0
-74
0
-7
-15
-2
45
49
0
0
0
-1
25
35
-91
12
9
0
0
24
-13
-12
92
-59
35
-3
0
0
0
-2
0
0
-12
-8
0
0
0
0
0
0
32
6
76
0
0
0
0
23
-18
6
-77
69
0
0
0
0
3
19
-47
33
68
0
0
0
0
-5
5
-27
-63
-31
0
0
0
0
0
0
-21
33
23
0
0
0
0
0
4
-10
5
-3
0
0
0
0
0
-64
83
-47
18
0
0
0
0
0
-1
-10
64
-23
0
0
0
0
0
-10
2
-18
41
0
0
0
0
-10
-2
6
-119
112
0
0
0
0
5
4
-62
-22
48
0
0
0
0
0
-2
61
-70
29
0
0
0
0
0
6
4
-9
36
0
0
0
0
-3
-21
-51
33
-4
0
0
0
0
-10
12
0
-54
1
0
0
0
0
-3
41
35
-11
-58
-3
0
0
0
0
-1
85
-52
60
-2
0
0
0
-2
1
0
7
-65
-7
0
0
0
0
0
-24
-2
-36
6
0
0
0
3
-8
60
-24
29
3
0
0
0
0
0
-17
-22
-125
44
0
0
0
0
1
-42
-17
-13
21
0
0
0
2
-2
3
-84
87
5
0
0
0
2
-15
-41
-5
30
19
0
0
0
0
-1
4
-8
-23
5
0
0
0
-4
-1
1
-27
55
-62
0
0
0
-9
-7
-36
41
14
26
0
0
0
-2
14
45
-27
-29
16
0
0
0
0
-2
-2
-20
81
-17
0
0
0
-3
-6
12
17
-3
20
0
0
0
-17
12
-63
-39
-131
32
0
0
0
0
-3
-21
25
40
0
0
0
-1
0
4
4
3
25
0
0
0
0
7
20
-45
-15
40
0
0
33
0
0
14
25
17
12
0
0
0
0
0
0
14
-27
37
0
0
0
-7
0
-3
-50
-58
44
0
0
0
0
-1
0
-36
-33
-1
0
0
1
0
-4
-9
-25
-6
19
0
0
0
0
0
1
16
60
-59
0
0
0
0
0
-1
34
-3
-13
0
0
0
0
0
-24
-26
-14
30
0
0
-42
-6
0
15
72
4
-51
0
0
0
0
0
0
7
-42
22
0
0
0
0
0
-1
-57
-9
-5
0
0
0
0
0
-31
1
-35
32
0
0
14
0
-2
-28
19
-54
-3
0
0
0
0
3
2
-1
119
37
-12
0
0
0
0
-4
115
-124
70
-4
0
0
0
1
15
-12
-141
-40
11
0
14
0
0
9
17
-39
41
7
0
0
0
0
0
5
3
67
16
0
0
9
0
0
12
-11
74
-32
0
0
0
3
4
-1
-85
-8
1
0
-50
0
0
-21
5
-74
-3
25
0
0
0
0
3
10
-23
39
2
0
0
0
0
-9
-15
2
-7
28
0
0
0
3
1
47
75
-57
-35
0
-7
0
0
-2
-46
-49
63
-5
0
0
0
0
-14
1
-48
-41
56
0
0
-9
0
2
-22
12
10
9
0
0
0
4
-18
-50
-39
174
-23
0
41
8
0
-48
-18
-39
-64
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
33
56
10
-45
0
0
0
0
0
0
-25
-135
62
0
0
0
0
3
-3
34
-67
32
0
0
0
0
0
0
7
-7
20
0
0
0
0
-38
46
38
33
-105
0
0
0
0
-1
-6
-11
-80
8
0
0
0
0
0
4
-2
43
-23
0
0
0
0
0
0
6
-47
130
0
0
0
0
25
9
44
-58
-18
0
0
0
0
0
-11
-18
-83
17
0
0
0
0
0
8
64
-8
-30
0
0
0
0
0
9
-5
32
23
0
0
0
0
64
14
34
-36
-8
0
0
0
0
1
0
-20
-12
-13
0
0
0
0
-9
59
5
-3
-11
0
0
0
0
23
-75
28
-66
-5
0
0
0
0
-34
32
-45
80
19
19
0
0
0
0
7
-22
-14
29
-3
0
0
0
0
-18
-6
-63
12
19
0
0
0
1
0
6
36
-15
6
0
0
0
34
34
10
107
28
-9
0
0
0
-2
6
-34
-25
73
26
0
0
0
-17
14
0
29
46
-18
0
0
0
-3
0
-45
8
8
-5
0
0
0
-21
-64
181
9
33
7
5
0
0
0
-2
-31
-79
-44
58
3
0
0
0
-50
-73
-22
89
-24
15
0
0
0
-12
34
58
-21
7
3
0
0
-49
-33
16
-36
-28
22
30
0
0
-3
-13
46
-68
41
-62
10
0
0
53
42
-72
85
-30
-49
15
0
0
25
-24
-36
24
44
-9
8
0
0
0
1
18
-7
19
0
0
0
54
0
5
-21
49
-50
0
0
0
0
0
0
0
46
-39
0
0
0
0
0
0
-38
11
17
0
0
0
0
0
0
-56
-5
81
0
0
0
12
0
-9
82
-61
-15
0
0
0
0
0
0
0
8
29
0
0
0
0
0
1
32
49
8
0
0
0
0
0
-5
34
-53
64
0
0
0
89
0
-5
-33
-50
5
0
0
0
0
1
0
-1
0
-44
0
0
0
-7
0
-3
35
-11
10
0
0
0
0
0
-3
-11
-39
99
0
0
0
5
0
-1
-19
-29
40
0
0
0
0
0
1
2
-106
61
0
0
0
-14
0
0
-7
35
76
0
0
0
0
0
0
-34
-100
5
29
0
0
-26
5
-33
-8
8
22
22
0
0
0
0
1
0
-36
36
-27
0
0
0
0
-2
1
-10
-25
51
0
0
0
0
0
-38
-17
-78
63
0
0
-76
-5
-4
22
-53
51
-18
0
0
0
0
2
6
-6
-35
20
0
0
-1
0
5
1
-22
0
11
0
0
0
0
0
-97
-26
104
-23
-9
0
78
0
25
-94
-36
27
-21
-27
0
0
0
-4
13
-102
13
-34
3
0
-12
0
-4
-4
-76
-19
-86
11
0
0
0
-6
-9
26
16
-4
27
0
14
-1
1
39
-13
-35
-22
-29
0
0
-2
5
10
-136
-37
30
5
0
-65
-5
-34
-1
-16
6
22
-12
0
0
-3
3
-14
-49
101
0
0
0
0
0
0
0
-5
-39
0
0
0
0
0
3
37
44
-8
0
0
0
0
0
3
1
-36
12
0
0
0
0
5
4
-13
-12
-111
0
0
0
0
0
-2
3
25
-7
0
0
0
0
0
-14
0
-9
16
0
0
0
0
0
2
-83
-23
5
0
0
0
0
13
0
-19
-4
-18
0
0
0
0
0
0
8
-148
23
0
0
0
0
-5
-11
5
17
50
0
0
0
0
-1
3
11
-27
25
0
0
0
0
3
5
-1
51
13
0
0
0
0
0
0
-20
-18
27
0
0
0
0
-3
0
-43
-7
72
0
0
0
0
3
11
32
-13
-36
0
0
0
0
-21
-28
10
44
49
-5
0
0
0
0
0
-9
-7
-32
8
0
0
0
-2
-3
8
-42
-36
50
0
0
0
0
0
-25
-55
12
73
0
0
0
-10
4
8
11
-79
29
0
0
0
0
-3
-5
39
-104
-3
0
0
0
1
-5
-1
1
48
-32
0
0
0
-1
-6
15
-91
-20
74
0
0
0
-40
-61
-1
-45
34
22
28
0
0
0
-6
2
-104
14
-45
25
0
0
0
13
-23
-55
-24
-73
25
0
0
-12
3
0
24
-47
-100
7
0
0
-23
-8
-24
66
136
-45
-19
0
0
0
4
2
60
71
-77
-36
0
0
-12
10
-12
44
34
-35
13
0
0
-7
24
-15
-91
-54
-27
42
0
0
0
-4
-4
-11
43
0
0
0
1
0
0
-1
-2
-5
0
0
0
0
0
0
3
-38
-56
0
0
46
12
0
2
-72
-77
28
0
0
0
0
0
0
-6
8
-39
0
0
0
0
0
0
-49
-53
70
0
0
0
0
0
-2
4
6
6
0
0
4
0
0
-8
-28
68
17
0
0
0
0
-1
0
-9
-23
27
0
0
0
0
0
1
-15
26
-32
0
0
0
0
0
-17
1
-24
-64
0
0
49
0
0
-9
31
-54
-23
0
0
0
0
0
-1
-64
9
52
0
0
0
-7
0
0
-32
-83
17
0
0
0
0
0
-23
-11
-37
22
0
0
-51
0
0
5
-41
25
27
0
0
0
0
0
0
-3
-141
26
25
0
0
0
0
-2
7
23
47
-30
0
0
0
0
3
-47
-13
19
29
0
-36
-1
0
-5
29
44
-32
-19
0
0
0
0
0
-1
-21
-44
26
0
0
0
0
0
-7
-91
91
22
0
0
0
0
0
-8
10
-123
22
0
-45
0
0
-4
88
-32
11
-36
0
0
0
0
-7
5
14
-4
-6
4
0
-2
0
-5
-50
86
-3
-77
2
0
0
0
-4
-6
-10
62
-46
2
-108
1
0
-15
-10
-4
48
-62
8
0
0
0
4
2
1
82
28
-39
0
11
0
1
3
-12
-41
-4
-8
0
0
0
-13
-1
-62
-84
-90
45
-15
-9
-3
-21
-115
-14
20
-89
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
-71
47
40
0
0
0
0
-7
-78
-97
-12
43
0
0
0
0
46
53
-118
-31
21
0
0
0
0
-6
-17
-25
-39
4
0
0
0
0
-6
-89
-75
5
43
0
0
0
0
1
55
21
-16
30
0
0
0
0
-14
-31
-31
42
-14
0
0
0
0
0
17
66
-12
-18
0
0
0
0
1
2
19
-66
25
0
0
0
0
0
1
-9
-35
84
0
0
0
0
31
-27
17
3
-19
0
0
0
0
2
-17
6
11
30
0
0
0
0
12
33
-87
-43
68
0
0
0
0
0
4
14
-57
5
0
0
0
0
51
-35
50
69
-44
0
0
0
0
3
27
-30
-53
18
0
0
0
0
-20
3
-29
27
18
0
0
0
0
0
26
87
-86
-2
0
0
0
0
5
-15
50
-108
32
0
0
0
0
1
14
-13
-16
-24
0
0
0
0
-3
79
93
-19
-30
0
0
0
0
1
-28
-24
95
61
0
0
0
0
-14
0
5
-4
21
0
0
0
0
0
18
29
-102
124
0
0
0
0
-31
-9
33
-29
23
0
0
0
0
-1
0
-29
-52
37
0
0
0
0
-10
38
-44
73
-32
0
0
0
0
0
32
14
18
4
0
0
0
0
42
-34
-13
-17
6
0
0
0
0
9
-17
16
-28
22
0
0
0
0
7
-78
85
-43
22
0
0
0
0
-13
6
11
-55
24
0
0
0
0
0
27
-56
-29
7
0
0
0
-11
5
-21
28
-26
27
0
0
0
0
0
-8
-23
-4
17
0
0
0
-6
0
-25
-62
1
2
0
0
0
0
13
-25
-18
-30
30
0
0
0
29
0
57
73
-69
-1
0
0
0
0
1
-14
28
-3
9
0
0
0
-8
0
0
26
-32
25
0
0
0
0
0
0
20
2
-24
0
0
0
38
2
3
2
-26
43
0
0
0
0
0
-3
2
25
42
0
0
0
8
0
-6
-40
7
-11
0
0
0
0
0
0
-20
-35
-3
0
0
0
34
0
2
4
-3
5
0
0
0
0
0
-5
-8
0
-6
0
0
0
-1
0
16
-50
24
3
0
0
0
0
0
0
-12
4
6
0
0
0
-43
0
-19
58
-15
12
0
0
0
0
0
0
0
-11
4
0
0
0
6
0
1
41
-52
24
0
0
0
0
1
0
-31
-24
-19
0
0
0
-6
0
1
38
-24
18
0
0
0
0
0
0
7
10
-52
0
0
0
-2
0
-1
5
-8
-32
0
0
0
0
0
0
3
-144
66
0
0
0
-69
0
4
-11
-33
56
0
0
0
0
0
0
2
12
9
0
0
0
1
0
-1
-4
-51
-6
0
0
0
0
0
-2
2
-40
-5
0
0
0
0
1
1
28
-40
-18
0
0
0
0
2
6
-27
-40
33
0
0
0
-3
-5
-15
-100
-9
21
0
0
0
0
19
11
-78
44
20
0
0
0
0
0
3
-36
-9
12
0
0
0
0
-3
75
-23
-16
3
0
0
0
0
0
-5
24
-41
17
0
0
0
0
2
2
-30
-18
-13
0
0
0
0
0
1
34
-80
45
0
0
0
0
0
-5
16
-79
73
0
0
0
0
0
-8
33
-8
-13
0
0
0
0
-1
-11
54
72
-36
0
0
0
0
0
0
1
1
17
0
0
0
0
0
-3
37
31
17
0
0
0
0
0
3
32
4
2
0
0
0
0
0
0
-31
-28
39
0
0
0
0
0
0
-7
-69
14
0
0
0
0
0
0
30
-43
-19
0
0
0
0
0
2
22
50
-64
0
0
0
0
0
-4
-25
-5
6
0
0
0
0
0
0
6
-12
-16
0
0
0
0
0
6
54
-37
22
0
0
0
0
0
0
-22
-89
53
0
0
0
0
0
3
6
-76
57
0
0
0
0
0
0
0
18
11
0
0
0
0
1
1
-14
-19
26
0
0
0
0
0
0
5
-24
132
0
0
0
0
0
0
59
-25
-30
0
0
0
0
0
0
0
26
-56
0
0
0
0
1
-3
-60
36
51
0
0
0
0
0
0
88
-28
-31
0
0
0
0
0
1
8
-2
-14
0
0
0
0
0
0
1
18
-16
0
0
0
0
0
5
14
-77
121
0
0
0
0
-2
40
-52
-31
37
0
0
0
0
0
39
-46
-59
20
0
0
0
0
0
9
31
-45
15
0
0
0
0
0
2
14
18
-29
0
0
-27
8
2
7
127
-7
14
0
0
0
0
0
0
-94
79
-29
0
0
0
0
0
-14
-59
-11
39
0
0
0
0
0
0
-25
-16
16
0
0
-1
0
0
3
61
-33
5
0
0
0
0
0
10
0
-10
24
0
0
0
0
0
1
36
14
-23
0
0
0
0
0
2
40
24
-58
0
0
65
2
0
0
-2
44
-36
0
0
0
0
0
0
-6
-101
48
0
0
0
0
0
0
9
-47
67
0
0
0
0
0
3
17
-12
-2
0
0
-18
0
-2
-5
-5
2
70
0
0
0
0
0
8
63
-46
-7
0
0
0
0
0
2
18
-27
47
0
0
0
0
0
-5
22
-79
50
0
0
-7
-4
0
-11
-17
77
46
0
0
0
0
0
1
-64
-17
1
0
0
0
0
0
0
13
19
-23
0
0
0
0
0
1
-25
8
-25
0
0
-12
0
0
7
66
-59
-25
0
0
0
0
0
-1
21
-90
102
0
0
0
0
0
0
-12
6
-12
0
0
0
0
0
2
-2
31
31
0
0
-18
0
0
-5
57
-26
62
0
0
0
0
0
-8
2
-46
8
0
0
0
0
0
0
-12
-17
39
0
0
0
0
0
7
32
-13
-6
0
0
86
7
-3
-51
17
-1
-28
0
0
0
0
9
-32
-27
-30
39
0
0
0
0
0
-21
78
-53
11
0
0
0
0
0
26
74
-90
-13
0
0
0
0
0
0
-33
5
27
0
0
0
0
-3
11
-1
-105
52
0
0
0
0
0
3
-71
50
19
0
0
0
0
0
1
48
5
-70
0
0
0
0
0
5
91
2
-92
0
0
0
0
6
-42
-21
-48
69
0
0
0
0
0
-9
-21
0
26
0
0
0
0
0
4
43
30
-15
0
0
0
0
0
1
-45
13
44
0
0
0
0
-2
-8
-41
-6
71
0
0
0
0
0
0
-9
12
-11
0
0
0
0
0
-2
6
5
110
0
0
0
0
-5
0
-1
-84
100
0
0
0
0
27
27
-13
9
69
0
0
0
0
0
8
7
-3
-42
0
0
0
0
0
-2
9
6
3
0
0
0
0
0
9
-30
3
-31
0
0
0
0
-4
-31
37
56
-62
0
0
0
0
0
4
29
-36
-53
0
0
0
0
0
0
3
5
30
0
0
0
0
0
-3
2
-1
0
0
0
0
0
-77
55
30
-32
-13
0
0
0
0
0
0
-8
-20
-3
0
0
0
0
-1
0
5
106
-20
0
0
0
0
0
4
-5
14
19
0
0
0
0
3
-82
19
-28
44
0
0
0
0
0
0
11
-17
-4
0
0
0
0
-2
-6
-19
46
69
0
0
0
0
-2
-25
22
-35
16
0
0
0
0
0
0
-16
-19
83
0
0
0
-7
0
0
-102
63
49
0
0
0
0
0
0
6
20
55
0
0
0
0
0
2
-27
90
-44
0
0
0
0
0
-1
56
-113
7
0
0
0
0
0
-5
7
5
-14
0
0
0
0
0
0
5
-16
10
0
0
0
0
0
0
28
-18
-28
0
0
0
0
0
-2
35
-73
-4
0
0
0
6
0
0
-22
-42
28
0
0
0
0
0
0
1
-29
109
0
0
0
0
0
-3
-3
36
-101
0
0
0
0
0
0
10
43
4
0
0
0
0
0
-5
-30
-72
31
0
0
0
0
0
0
-5
-6
-43
0
0
0
0
0
1
-63
3
-19
0
0
0
0
1
0
-4
-23
-6
0
0
0
48
5
-1
-31
-45
35
0
0
0
0
0
0
-1
-54
128
0
0
0
0
0
2
2
11
4
0
0
0
0
0
0
-2
-3
16
0
0
0
0
0
5
-47
-18
19
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
14
6
0
0
0
0
0
0
-10
7
2
0
0
0
11
0
0
11
-95
47
0
0
0
0
0
0
-1
6
-10
0
0
0
0
0
-9
-11
44
20
0
0
0
0
0
0
16
-50
59
0
0
0
3
0
-12
7
-69
6
0
0
0
0
0
0
0
-25
11
0
0
0
3
0
18
-69
-33
14
0
0
0
0
-1
13
61
18
-31
0
0
0
0
0
-1
-11
-68
27
0
0
0
0
0
7
23
-27
-28
0
0
0
0
0
0
7
-34
17
0
0
0
0
0
-1
41
40
-83
0
0
0
0
0
0
-5
-34
-33
0
0
0
0
0
-2
2
-54
52
0
0
0
0
0
2
0
51
20
0
0
0
0
0
0
-6
-8
59
0
0
0
0
0
-13
1
26
-17
0
0
0
0
0
-5
-12
16
12
0
0
0
0
0
0
4
74
-41
0
0
0
0
0
0
-22
-4
70
0
0
0
0
0
0
2
7
-52
0
0
0
0
0
0
-2
-3
40
0
0
0
0
0
-9
2
-49
-7
0
0
0
0
4
-4
10
-43
14
0
0
0
0
0
4
11
-65
-28
0
0
0
0
0
3
0
-41
15
0
0
0
0
0
0
0
-23
52
0
0
0
0
0
-1
0
4
-14
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
-1
-16
8
0
0
0
0
0
-3
0
-8
41
0
0
0
0
0
2
3
16
-58
0
0
0
0
0
-1
-8
-22
26
0
0
0
0
0
0
0
-35
-20
0
0
0
0
0
3
-22
-12
30
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
-1
2
18
-16
0
0
0
0
-8
14
62
48
-30
0
0
0
0
0
9
96
-10
-62
0
0
0
0
0
-8
116
4
-47
0
0
0
0
0
-43
10
47
41
0
0
-4
0
0
21
69
-26
-54
0
0
0
0
0
11
-2
-43
-34
0
0
0
0
0
-6
62
-14
-48
0
0
0
0
0
-16
-46
17
40
0
0
0
0
0
-38
54
-18
11
0
0
0
0
0
7
69
-100
-10
0
0
0
0
0
-4
-69
21
21
0
0
0
0
0
-6
-26
-75
86
0
0
-3
0
0
10
-46
-62
45
0
0
0
0
0
-1
35
9
14
0
0
0
0
0
6
22
-61
22
0
0
0
0
0
5
-5
9
0
0
0
0
0
0
-29
-57
116
-40
0
0
0
0
0
61
47
-24
13
0
0
0
0
0
-4
-38
45
3
0
0
0
0
0
12
10
-54
36
0
0
-11
0
0
-6
-38
-29
35
0
0
0
0
0
-7
9
17
-25
0
0
0
0
0
1
-9
-22
20
0
0
0
0
0
0
-14
9
15
0
0
0
0
0
-34
3
76
0
0
0
0
0
0
56
-83
-30
43
0
0
0
0
0
-2
-31
-68
160
0
0
0
0
0
-4
1
-40
12
0
0
-9
0
0
1
-3
9
-8
0
0
0
0
0
10
-85
-32
49
0
0
0
0
0
-8
41
57
-143
0
0
0
0
0
-5
-64
-22
54
0
0
-9
1
-2
7
-35
9
57
0
0
0
0
100
-39
-15
-21
13
0
0
0
0
0
50
17
-55
-35
0
0
0
0
0
-7
-16
37
-1
0
0
0
0
0
-27
-51
33
11
0
0
0
0
0
-11
54
-20
-25
0
0
0
0
0
-13
8
-70
73
0
0
0
0
0
-12
0
17
8
0
0
0
0
0
5
47
-39
3
0
0
0
0
-33
25
-39
12
-10
0
0
0
0
0
-2
-2
-4
-1
0
0
0
0
0
-16
0
60
-8
0
0
0
0
0
8
0
-12
19
0
0
0
0
-9
-18
10
112
15
0
0
0
0
0
2
-12
31
32
0
0
0
0
-3
35
31
-111
56
0
0
0
0
0
-9
6
78
-43
0
0
0
0
20
-36
79
-38
-33
0
0
0
0
0
-1
11
9
-3
0
0
0
0
0
-1
-16
-44
26
0
0
0
0
0
5
10
0
2
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
0
14
79
0
0
0
0
0
0
-6
1
-14
0
0
0
0
0
-7
0
-28
-35
0
0
0
0
44
12
-2
-26
-4
0
0
0
0
0
-4
-6
-50
69
0
0
0
0
0
-2
3
-15
38
0
0
0
0
0
6
-18
17
21
0
0
0
0
-68
15
140
-32
-14
0
0
0
0
0
-4
0
4
27
0
0
0
0
12
-19
-2
75
-10
0
0
0
0
2
-26
35
6
34
0
0
0
0
0
0
-32
50
45
0
0
0
-36
0
-1
1
-47
39
0
0
0
0
0
0
2
-47
27
0
0
0
0
0
-1
46
-32
-52
0
0
0
0
0
0
-10
5
9
0
0
0
1
0
4
-7
-29
18
0
0
0
0
0
0
0
-27
-26
0
0
0
0
0
4
19
-43
71
0
0
0
0
0
-3
16
5
-55
0
0
0
50
0
0
8
-94
26
0
0
0
0
0
0
1
-35
75
0
0
0
9
0
5
12
-81
41
0
0
0
0
0
1
2
-39
22
0
0
0
17
0
-2
-24
-3
-37
0
0
0
0
0
2
0
-79
-10
0
0
0
-13
0
2
-40
-3
74
0
0
0
0
0
0
1
81
-15
0
0
0
0
0
5
-20
-6
15
0
0
0
0
0
0
-2
-2
3
0
0
0
0
0
-1
2
-10
-3
0
0
0
0
0
0
1
13
-1
0
0
0
4
0
0
3
-22
36
0
0
0
0
0
0
0
1
6
0
0
0
0
0
-1
-12
-8
-4
0
0
0
0
0
0
0
5
-68
0
0
0
16
0
-2
7
59
-32
0
0
0
0
0
0
1
-25
31
0
0
0
-1
0
0
10
21
-40
0
0
0
0
0
0
5
-15
31
0
0
0
3
0
0
9
-53
58
0
0
0
0
0
0
0
-30
-23
0
0
0
43
0
0
-41
-49
-58
0
0
0
0
0
13
7
45
-5
0
0
0
0
0
0
4
-26
-30
0
0
0
0
-1
-3
33
4
-3
0
0
0
0
0
0
-5
18
59
0
0
0
0
0
1
-15
-19
33
0
0
0
0
0
0
1
-30
-19
0
0
0
0
0
-1
4
-43
12
0
0
0
0
0
1
-30
-22
116
0
0
0
0
2
5
-40
33
0
0
0
0
0
0
0
0
-84
16
0
0
0
0
-5
3
-5
2
16
0
0
0
0
0
-6
12
17
11
0
0
0
0
0
0
6
-11
-28
0
0
0
0
0
0
-1
8
-17
0
0
0
0
4
8
0
-155
83
0
0
0
0
0
0
-16
19
4
0
0
0
0
0
2
-3
-82
80
0
0
0
0
0
0
0
-19
1
0
0
0
0
-3
1
1
-20
-7
0
0
0
0
0
0
4
37
-4
0
0
0
0
0
0
0
14
91
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
-1
7
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-3
-13
18
-1
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
8
-12
18
28
0
0
0
0
0
0
0
-55
-3
0
0
0
0
1
-3
-28
63
33
0
0
0
0
0
0
-6
46
18
0
0
0
0
1
0
-11
-3
-16
0
0
0
0
-6
7
-16
26
-7
0
0
0
0
0
-4
23
-50
-11
0
0
0
-3
0
2
-5
103
-20
0
0
0
0
0
0
26
-24
51
0
0
-35
2
0
0
-34
23
20
0
0
0
0
0
0
2
0
3
0
0
0
0
0
1
2
-18
49
0
0
0
0
0
-2
1
-7
26
0
0
10
0
0
1
37
-51
-51
0
0
0
0
0
5
10
-24
-37
0
0
0
0
0
3
36
-47
25
0
0
0
0
0
1
-2
-17
119
0
0
5
0
0
3
12
-20
9
0
0
0
0
0
0
-7
-7
82
0
0
0
0
0
3
-24
39
20
0
0
0
0
0
3
-10
23
15
0
0
-1
0
0
-1
-28
-20
-21
0
0
0
0
0
8
4
7
-7
0
0
0
0
0
0
-3
-76
120
0
0
0
0
0
0
4
-2
-6
0
0
12
0
0
0
26
-78
18
0
0
0
0
0
0
-4
10
-13
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
9
1
3
0
0
0
0
0
0
14
3
21
0
0
0
0
0
0
-1
1
-67
0
0
0
0
0
0
2
-9
-3
0
0
5
0
0
-1
3
20
14
0
0
0
0
0
-9
-2
5
21
0
0
0
-11
0
0
-9
-17
-5
0
0
0
0
0
0
-9
-44
50
0
0
17
-8
0
-8
0
15
-14
0
0
0
0
0
2
15
3
-35
0
0
0
0
0
0
-5
-34
6
0
0
0
0
0
0
19
-17
-39
0
0
0
0
0
1
0
-44
67
0
0
0
0
1
0
-32
7
115
0
0
0
0
0
4
10
-32
3
0
0
0
0
0
5
-2
-1
-26
0
0
0
0
0
0
2
3
-25
0
0
0
0
-1
31
10
11
19
0
0
0
0
0
0
4
38
-30
0
0
0
0
0
0
23
-25
4
0
0
0
0
0
0
0
-74
110
0
0
0
0
0
-12
26
-7
16
0
0
0
0
0
0
4
-19
-8
0
0
0
0
0
-2
4
-9
-58
0
0
0
0
0
0
1
17
30
0
0
0
0
-20
-27
27
35
56
0
0
0
0
0
2
0
-53
4
0
0
0
0
0
2
7
-42
55
0
0
0
0
0
0
-4
13
8
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
-3
2
-2
0
0
0
0
0
0
-8
-1
-4
-29
0
0
0
0
7
-8
5
-3
8
0
0
0
0
0
-2
-3
-50
65
0
0
0
0
0
0
16
-2
5
0
0
0
0
0
0
1
-6
2
0
0
0
0
2
-2
-37
-5
49
0
0
0
0
0
3
3
22
-50
0
0
0
0
7
1
0
-13
19
0
0
0
0
-3
6
13
2
-58
0
0
0
0
0
0
0
-28
11
0
0
0
1
0
-5
1
-5
-37
0
0
0
0
0
0
-12
-69
105
0
0
0
0
0
0
-31
11
60
0
0
0
0
0
0
0
-4
71
0
0
0
0
0
0
14
21
-15
0
0
0
0
0
0
1
0
-26
0
0
0
0
0
0
-32
21
4
0
0
0
0
0
0
-7
-36
87
0
0
0
5
0
1
50
-7
-54
0
0
0
0
0
0
1
-16
3
0
0
0
0
0
0
-4
-36
60
0
0
0
0
0
0
0
-4
43
0
0
0
0
0
-4
-1
-31
15
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-37
-75
0
0
0
0
0
0
-1
-41
51
0
0
0
12
0
-2
-3
-27
9
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
-2
16
-26
20
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
2
19
62
0
0
0
-7
0
0
-1
18
-16
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
-6
-3
-17
0
0
0
0
0
0
0
6
-42
0
0
0
4
0
0
0
-55
6
0
0
0
0
0
0
0
-7
11
0
0
0
-1
0
-8
-51
-47
49
0
0
0
0
2
13
-1
-17
6
0
0
0
0
0
1
12
3
-23
0
0
0
0
0
0
32
-49
-35
0
0
0
0
0
-3
-17
-32
62
0
0
0
0
-1
0
-3
16
-1
0
0
0
0
0
0
2
-8
-14
0
0
0
0
0
11
-5
0
-7
0
0
0
0
0
0
-5
-7
107
0
0
0
0
-3
2
4
-26
5
0
0
0
0
0
0
-8
-37
-41
0
0
0
0
0
-1
-7
-9
8
0
0
0
0
0
0
-3
5
28
0
0
0
0
-4
0
4
1
-25
0
0
0
0
0
-1
0
-7
4
0
0
0
0
0
0
0
4
2
0
0
0
0
0
-4
-9
-2
-3
0
0
0
0
3
-6
-7
6
35
0
0
0
0
0
-1
0
-5
9
0
0
0
0
0
18
1
2
-47
0
0
0
0
0
0
-1
20
-106
0
0
0
0
-3
0
1
0
8
0
0
0
0
0
0
-7
1
13
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-3
8
-26
5
0
0
0
0
0
-8
0
5
-22
0
0
0
0
0
-1
3
-34
27
0
0
0
0
0
5
0
-4
-14
0
0
0
0
5
-1
1
-7
-76
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
4
-5
3
0
0
0
0
0
6
-6
-10
-51
76
0
0
0
0
8
-41
11
7
13
0
0
0
-3
0
-2
-38
-36
-8
0
0
0
0
0
-5
40
-96
45
0
0
3
0
0
8
19
9
-55
0
0
0
0
0
-3
-52
-11
67
0
0
0
0
0
-6
-5
-21
25
0
0
0
0
0
0
10
-68
38
0
0
0
0
0
1
-2
42
-40
0
0
0
0
0
1
-5
-35
9
0
0
0
1
0
0
62
-74
-38
0
0
0
0
0
-5
1
46
-41
0
0
-3
0
0
-16
-7
-34
-46
0
0
0
0
0
9
-10
60
-47
0
0
0
0
0
0
-23
-1
-34
0
0
0
0
0
-18
13
-41
63
0
0
0
0
0
7
22
-3
-29
0
0
0
0
-2
50
92
-18
-54
0
0
0
-6
0
-6
-1
-96
35
0
0
0
0
0
6
-25
-10
25
0
0
0
0
0
-3
-8
14
-45
0
0
0
0
0
30
-10
-40
15
0
0
0
0
0
0
-22
3
-6
0
0
0
0
-1
2
-1
-17
16
0
0
0
0
0
1
-27
38
-9
0
0
0
0
0
-25
1
-11
7
0
0
0
0
0
-1
-19
54
-3
0
0
0
0
0
0
3
-98
34
0
0
-4
0
0
1
-10
7
-21
0
0
0
0
0
-15
-6
74
33
0
0
0
0
0
0
13
-19
67
0
0
0
0
0
-2
-6
-6
13
0
0
13
1
-2
-17
-58
24
-31
0
0
0
0
14
-70
-29
26
41
0
0
0
0
0
1
-6
17
6
0
0
0
0
10
9
-92
-22
111
0
0
0
0
-3
-3
40
-13
-14
0
0
0
0
-39
86
-48
-10
34
0
0
0
0
-3
-7
-86
63
1
0
0
0
0
0
8
26
-55
-2
0
0
0
0
-2
18
29
3
-48
0
0
0
0
31
-27
75
-32
-9
0
0
0
0
0
0
-18
-62
171
0
0
0
0
1
-26
-11
128
3
0
0
0
0
0
10
-13
-41
17
0
0
0
0
-36
57
-47
-87
55
0
0
0
0
0
-3
15
-30
121
0
0
0
0
18
1
-13
1
-22
0
0
0
0
-4
-38
35
-21
94
0
0
0
0
-79
-56
-45
-53
19
1
0
0
0
0
-15
-37
99
25
1
0
0
0
2
-2
11
-17
-85
2
0
0
0
-7
-10
-24
-101
30
-1
0
0
0
-16
-53
85
-44
66
9
0
0
0
2
6
19
-55
92
-18
0
0
0
0
-1
6
19
19
10
0
0
0
-1
15
75
-44
33
-15
0
0
0
11
-65
-23
52
-2
1
0
0
0
0
-2
-8
8
-32
10
0
0
0
-2
-1
88
63
-71
9
0
0
0
0
44
-27
16
61
-2
0
0
0
19
12
-40
1
16
7
0
0
0
6
5
7
80
14
-9
0
0
0
27
51
-12
-39
67
6
0
0
0
6
-9
84
17
-44
0
0
0
0
0
0
39
80
-54
0
0
0
12
0
0
-26
6
11
0
0
0
0
0
0
0
27
-25
0
0
0
2
0
-8
-59
27
-3
0
0
0
0
0
7
50
-31
-41
0
0
0
15
0
0
-18
-47
26
0
0
0
0
0
-1
0
-26
63
0
0
0
0
0
-12
5
-28
1
0
0
0
0
0
1
-3
-1
39
0
0
0
8
0
2
0
-28
31
0
0
0
0
0
0
0
-38
6
0
0
0
-15
0
-1
-8
-44
58
0
0
0
0
0
-2
4
-25
35
0
0
0
-1
0
-2
-1
29
49
0
0
0
0
0
0
0
-15
-19
0
0
0
5
0
-2
-5
-89
68
0
0
0
0
0
1
14
-17
39
4
0
0
-21
9
-10
-1
39
28
-8
0
0
0
0
0
0
48
-32
3
0
0
0
0
0
-7
-34
58
-17
0
0
0
0
-2
15
-32
38
9
0
0
18
0
0
1
-51
-19
9
0
0
0
0
0
0
-41
51
27
0
0
-1
0
0
2
-40
-80
-8
0
0
0
0
0
0
-22
-13
9
0
0
-20
0
0
-5
-49
10
2
0
0
0
0
0
0
-94
12
63
0
0
2
0
0
1
-15
-75
62
0
0
0
0
2
8
-44
31
11
0
0
95
0
1
-13
79
46
-59
0
0
0
0
1
0
-84
-63
40
0
0
4
0
-9
-73
-29
18
7
0
0
0
0
-5
-27
-39
56
0
0
0
0
0
0
0
23
-12
0
0
0
0
0
2
3
-52
43
0
0
0
0
0
-4
-11
-12
-9
0
0
0
0
0
-2
5
4
27
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-4
-1
-10
0
0
0
0
0
-4
-6
-24
12
0
0
0
0
0
0
-2
29
-8
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
-8
0
-52
0
0
0
0
0
0
3
6
-68
0
0
0
0
0
0
-5
0
-63
78
0
0
0
0
0
0
0
-21
134
0
0
0
0
0
-3
-3
-15
18
0
0
0
0
1
6
-3
-61
17
0
0
0
0
8
-1
2
19
66
-1
0
0
0
0
0
0
-20
-18
1
0
0
0
0
0
10
-13
19
2
0
0
0
0
-2
0
41
-85
6
0
0
0
0
0
1
-59
8
13
0
0
0
0
0
2
-2
66
-17
0
0
0
2
0
5
34
-11
19
0
0
0
0
-2
7
20
-1
-5
0
0
0
-1
-1
-1
26
76
-2
0
0
0
0
0
0
29
32
-5
0
0
0
0
0
-15
69
-33
36
0
0
0
0
-7
-3
-65
-34
39
0
0
0
0
-1
6
7
66
-47
0
0
0
0
0
-8
-27
-1
-11
0
0
0
2
0
6
-70
-20
19
0
0
0
-4
3
61
-54
-25
7
0
0
0
0
-7
17
-21
114
0
0
0
0
0
-5
13
27
-29
0
0
0
0
0
0
-4
-10
30
0
0
-40
-4
0
2
43
-36
82
0
0
0
0
0
-1
5
-51
90
0
0
0
0
0
-2
6
-44
-61
0
0
0
0
0
0
8
4
15
0
0
-2
0
0
-26
42
5
-7
0
0
0
0
0
-1
5
42
-10
0
0
0
0
0
0
11
-8
-3
0
0
0
0
0
0
1
-27
-1
0
0
2
0
0
-2
9
-33
-40
0
0
0
0
0
0
1
2
-15
0
0
0
0
0
0
-5
14
55
0
0
0
0
0
0
10
-25
-43
0
0
0
0
-1
-4
15
-19
-22
0
0
0
0
0
0
-27
-129
23
3
0
0
0
0
0
-3
-2
114
-8
0
0
0
0
0
-24
8
-70
9
0
-14
0
0
6
-59
51
-63
15
0
0
0
0
2
1
-60
-61
53
0
0
0
0
0
-7
-32
2
16
0
0
0
0
0
4
-58
47
11
0
17
0
0
0
-10
-39
-85
17
0
0
0
0
-1
-40
38
160
-25
0
0
0
0
-1
-22
16
-22
25
0
0
0
0
10
-20
-57
16
43
0
112
0
0
-2
-21
-113
-37
-5
0
0
0
0
0
-11
-44
22
3
0
0
0
0
2
39
-99
28
-66
0
0
0
0
0
-2
24
79
2
0
99
-1
3
-2
-53
-43
22
-15
0
0
0
15
-3
-57
-16
0
0
0
0
0
0
-8
-6
-55
3
0
0
0
0
0
0
25
-28
27
0
0
0
0
0
4
4
19
16
0
0
0
0
6
12
-25
49
-23
0
0
0
0
0
0
1
-76
59
0
0
0
0
1
0
2
-5
14
0
0
0
0
0
0
-78
-27
39
0
0
0
0
-2
-1
-4
-4
66
0
0
0
0
0
0
1
-16
-4
0
0
0
0
0
0
-10
5
4
0
0
0
0
0
-1
3
15
-48
0
0
0
0
0
0
-10
9
-29
0
0
0
0
0
-2
1
-5
6
0
0
0
0
0
1
0
-6
-9
0
0
0
0
0
4
24
-18
-31
0
0
0
0
-62
22
-20
-17
23
-2
0
0
0
0
-1
0
-89
68
11
0
0
0
0
2
11
56
26
-19
0
0
0
0
3
10
-82
15
18
0
0
0
-32
29
-2
39
90
-20
0
0
0
0
0
-12
-45
-90
60
0
0
0
0
0
-10
14
24
12
0
0
0
0
-20
7
-23
35
-25
0
0
0
1
-3
-20
25
-28
28
0
0
0
0
-2
-1
-4
7
30
0
0
0
0
1
0
-25
-9
-10
0
0
0
0
-2
3
-2
15
-47
0
0
0
5
-2
16
3
62
-38
0
0
0
-2
0
15
-48
-33
-9
0
0
0
0
1
-1
21
30
-31
0
0
0
1
-38
67
101
3
-41
0
0
0
6
2
2
32
29
0
0
0
0
0
1
1
-19
76
0
0
0
0
0
0
-6
1
-3
0
0
0
0
0
0
9
-128
111
0
0
0
0
0
0
-1
24
-73
0
0
0
0
0
0
10
-43
3
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
-41
-5
34
0
0
0
0
0
0
6
18
-10
0
0
0
11
0
0
-2
-10
-19
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
3
-26
-5
0
0
0
0
0
0
0
-1
50
0
0
0
0
0
0
3
-7
-44
0
0
0
0
0
0
0
0
-42
0
0
0
1
0
1
34
12
-14
0
0
0
0
0
0
8
-6
46
-2
0
0
-21
0
0
-1
-1
-22
32
0
0
0
0
0
2
8
3
75
0
0
0
0
0
-7
29
7
-51
0
0
0
2
0
-3
-9
-4
16
0
0
26
0
0
31
-22
8
-47
0
0
0
0
0
0
9
-47
-62
0
0
0
0
-1
-10
13
-20
-23
0
0
0
0
0
-5
22
-43
81
0
0
7
0
0
5
20
-27
-46
0
0
0
0
0
-2
4
6
-6
0
0
0
0
0
2
-1
-13
-52
0
0
0
0
0
12
42
28
-72
0
0
4
0
0
8
16
-48
0
0
0
0
0
0
11
37
-26
-85
0
0
-5
3
1
31
-88
110
-39
0
0
0
0
-6
-5
32
20
0
0
0
0
0
0
0
66
34
0
0
0
0
0
14
3
-5
28
0
0
0
0
0
0
-12
-5
35
0
0
0
0
0
0
-6
-9
-7
0
0
0
0
0
0
0
-7
-33
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
1
-7
18
3
0
0
0
0
0
0
1
-4
-13
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
1
0
-1
-6
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
7
-2
6
5
0
0
0
0
-2
0
5
17
6
-10
0
0
0
0
0
3
-50
51
-18
0
0
0
0
-5
-2
-20
16
27
0
0
0
0
0
-5
22
3
-18
0
0
0
3
0
-14
-1
-55
56
0
0
0
0
0
0
8
-76
-49
0
0
0
4
0
0
-17
9
2
0
0
0
0
0
4
-4
-6
-6
0
0
0
0
-7
0
2
-63
69
0
0
0
0
0
0
-6
-4
-2
0
0
0
0
0
-4
6
0
37
0
0
0
0
0
0
-2
0
-49
0
0
0
3
0
-1
4
-25
-1
0
0
0
0
0
0
3
19
-53
0
0
0
1
1
12
25
9
-39
0
0
0
-1
3
-28
-10
-46
6
0
0
0
-2
-3
-45
-4
88
0
0
0
0
0
0
-17
-35
39
0
0
0
0
0
0
-2
16
-105
0
0
-7
0
0
1
28
-92
43
0
0
0
0
0
-3
6
-2
-49
0
0
0
0
0
1
15
15
81
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
-17
0
-43
62
0
0
0
0
0
0
0
1
48
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
3
0
0
0
10
0
0
-6
9
-20
-1
0
0
0
0
0
0
1
1
-27
0
0
0
0
0
0
-2
-7
2
0
0
0
0
0
0
0
2
24
0
0
0
0
0
5
52
-41
10
0
0
0
0
0
0
54
159
-35
-9
0
0
0
0
-3
-2
-17
25
25
0
0
0
0
1
-12
-21
45
-33
0
0
0
0
7
16
-19
21
-19
0
0
0
0
0
11
-5
-1
-17
0
0
0
0
0
51
-34
-20
11
0
0
0
0
5
15
-8
-21
-68
0
-5
0
-2
-3
-27
77
-22
-3
0
0
0
0
0
27
-10
0
13
0
0
0
0
0
0
-17
33
-8
0
0
0
0
0
-23
-3
12
-140
0
-7
0
0
0
-39
4
-2
-15
0
0
0
0
0
-9
7
-75
47
0
0
0
0
4
9
-64
-20
17
0
0
0
0
-4
39
-49
-3
-67
0
-3
-2
0
25
-20
-30
22
7
0
0
0
-18
48
-24
-11
5
0
0
0
0
0
-8
-4
52
21
0
0
0
0
1
0
7
-52
71
0
0
0
0
0
-3
8
-53
59
0
0
0
0
4
-19
13
-26
-14
0
0
0
0
0
0
-24
17
11
0
0
0
0
-3
-14
-1
3
27
0
0
0
0
0
1
-6
-30
6
0
0
0
0
22
67
-90
-60
47
0
0
0
0
0
0
-16
-33
11
0
0
0
0
0
-3
26
16
-5
0
0
0
0
2
0
41
11
-60
0
0
0
0
-1
-22
10
24
-22
0
0
0
0
0
1
2
-5
-43
0
0
0
0
4
4
2
-42
18
0
0
0
0
2
3
-3
-7
-24
0
0
0
0
-19
47
-16
-81
-7
7
0
0
0
0
-1
-27
39
8
-7
0
0
0
0
4
-8
-62
66
7
0
0
0
0
0
0
-61
35
-16
0
0
0
-4
-3
40
26
102
-34
0
0
0
0
0
0
1
2
62
0
0
0
4
-6
0
1
28
-9
0
0
0
0
0
-5
2
-34
23
0
0
0
26
4
11
113
-14
-36
7
0
0
0
-6
47
32
48
-39
0
0
0
0
13
29
-27
53
6
11
0
0
1
-9
52
22
137
-44
5
0
0
-21
-2
-23
-50
-7
21
15
0
0
0
-3
1
-101
54
27
-4
0
0
-18
-1
20
-32
79
-4
-3
0
0
-15
24
87
-26
-58
-13
-8
0
0
0
0
-4
1
17
0
0
0
-13
0
-3
-14
15
61
0
0
0
0
0
0
0
15
38
0
0
0
0
0
5
-8
-28
23
0
0
0
0
0
-18
0
51
-2
0
0
0
0
0
-7
-11
0
76
0
0
0
0
0
0
1
-6
-48
0
0
0
0
0
0
-27
56
-104
0
0
0
0
0
0
0
-92
63
0
0
0
39
0
0
-14
0
-5
0
0
0
0
0
0
0
-87
21
0
0
0
4
0
-2
-7
80
-60
0
0
0
0
0
1
0
-20
107
0
0
0
2
0
-1
-9
0
26
0
0
0
0
0
0
0
-6
-61
0
0
0
6
0
9
28
-79
-55
0
0
0
0
0
-1
4
20
13
11
0
0
-19
0
-7
-7
-37
18
23
0
0
0
0
0
0
-6
-61
53
0
0
0
0
0
-17
-17
26
21
0
0
0
0
0
-9
-29
42
-13
0
0
1
0
2
2
2
-36
5
0
0
0
0
0
0
4
4
35
0
0
0
0
0
0
-1
27
29
0
0
0
0
4
7
60
8
-12
-11
0
62
0
-7
-9
-58
24
-69
-17
0
0
0
0
5
-83
127
-62
-4
0
-1
0
7
-68
-51
-30
-22
13
0
0
0
-1
-1
-14
-51
-19
-4
0
-45
0
0
-38
38
50
73
-40
0
0
0
5
0
-51
-61
-75
18
0
88
0
-4
-24
-78
75
-81
-23
0
0
5
-7
-6
-8
55
0
0
0
0
0
0
-4
-25
106
0
0
0
0
0
-1
8
-34
103
0
0
0
0
0
0
-2
-26
92
0
0
0
0
0
-2
-4
34
-60
0
0
0
0
0
0
-8
-40
5
0
0
0
0
0
-4
7
3
4
0
0
0
0
0
0
-35
13
0
0
0
0
0
0
0
6
5
-66
0
0
0
0
0
0
0
2
55
0
0
0
0
0
2
-2
14
-15
0
0
0
0
0
-2
-4
69
-9
0
0
0
0
0
4
0
-1
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-4
-6
10
-29
0
0
0
0
0
0
4
-6
11
0
0
0
0
-5
0
-2
6
-25
5
0
0
0
0
0
0
-31
116
9
0
0
0
1
1
2
-7
-74
9
0
0
0
0
0
0
-9
-56
50
0
0
0
0
0
-4
12
38
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
3
4
-43
0
0
0
0
0
1
2
0
-19
0
0
0
0
1
7
-91
61
-16
11
0
0
0
0
-2
50
-11
-93
9
0
0
0
-18
1
-40
-90
-9
-2
0
0
0
0
-7
-47
26
-53
7
0
0
1
4
6
14
22
-35
-5
0
0
0
0
0
6
-27
-29
42
0
0
4
-1
1
16
-45
-68
18
0
0
0
26
-52
25
-48
-33
6
0
0
0
6
26
-16
21
0
0
0
-1
0
0
2
20
39
0
0
0
0
0
0
-1
72
-52
0
0
68
0
0
-3
-11
-40
108
0
0
0
0
0
0
6
3
-3
0
0
0
0
0
0
-15
-2
59
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-3
1
-62
20
0
0
0
0
0
16
3
32
-23
0
0
0
0
0
-1
-4
-104
89
0
0
0
0
0
-8
3
-86
-1
0
0
-5
0
0
5
-4
-51
15
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
4
16
-6
0
0
0
0
0
0
0
22
4
0
0
-1
0
0
2
2
18
-65
0
0
0
0
0
0
5
43
40
-20
0
0
6
0
1
-18
94
90
-45
0
0
0
0
0
-1
-15
9
35
0
34
0
0
0
-48
-70
18
-7
0
0
0
0
0
0
1
2
-30
0
0
0
0
0
-2
-17
1
70
0
0
0
0
0
-1
-1
6
-33
0
1
0
0
-1
1
-18
0
109
0
0
0
0
-3
46
-1
29
9
-6
0
0
0
6
-88
-18
-33
-42
9
0
0
0
0
-7
-13
-98
-89
15
-125
0
0
-4
12
-28
3
-33
9
0
0
0
2
6
84
-12
-117
-15
0
0
0
0
-6
-31
-15
-66
58
0
0
0
4
0
22
-1
14
-34
-115
-6
5
-43
-68
-55
51
-26
44
0
0
34
2
33
-30
-42
0
0
0
0
0
4
-8
17
10
0
0
0
0
-6
-6
-39
-85
105
0
0
0
0
0
2
-17
-8
-31
0
0
0
0
-11
7
-2
-4
79
0
0
0
0
0
-15
-2
48
-48
0
0
0
0
-3
2
-3
13
22
0
0
0
0
0
-4
-8
40
-61
0
0
0
0
27
5
34
-42
-18
0
0
0
0
0
-9
8
-6
44
0
0
0
0
0
5
-25
-64
46
0
0
0
0
0
0
-22
19
63
0
0
0
0
4
7
-19
-87
45
0
0
0
0
0
0
3
2
55
0
0
0
0
0
8
-3
33
10
0
0
0
0
0
17
-2
-50
-19
0
0
0
0
-50
9
43
127
71
-6
0
0
0
0
-2
17
-45
59
-13
0
0
0
-2
1
-5
-5
6
10
0
0
0
0
0
13
18
-25
10
0
0
0
-15
-4
-7
-3
-4
8
0
0
0
0
0
0
-32
-44
20
0
0
0
0
14
-3
-3
-18
8
0
0
0
-1
3
-7
-24
-16
-13
0
0
0
-5
18
9
5
-20
-26
34
0
0
0
-1
-2
69
41
-23
-28
0
0
0
2
-1
-60
41
-36
14
0
0
0
0
-4
48
48
-88
-12
0
0
8
10
28
-2
82
-10
-27
0
0
5
0
17
22
-38
9
6
0
0
-2
-6
1
-25
-82
-19
14
0
0
33
-22
-55
-86
15
-33
41
0
0
-2
-3
-4
-36
68
0
0
0
-64
-1
3
5
-69
85
0
0
0
0
-10
0
4
-26
-60
0
0
0
13
0
1
-68
28
41
0
0
0
0
0
3
-8
2
-38
0
0
0
0
0
1
-28
-5
43
0
0
0
0
0
0
-2
-5
-79
0
0
0
0
0
-7
9
-57
63
0
0
0
0
0
0
-2
43
33
0
0
0
-46
0
8
-7
33
29
0
0
0
0
0
0
-1
-43
11
0
0
0
-11
0
0
12
-39
-54
0
0
0
0
0
0
0
6
-32
0
0
0
-4
0
0
-1
-17
32
0
0
0
0
0
-4
-7
20
10
0
0
0
1
0
0
-16
-1
77
0
0
0
0
0
0
0
37
-107
0
0
0
-10
0
7
-1
-19
2
-6
0
0
0
0
1
3
-50
43
1
0
0
0
0
4
5
62
-28
-33
0
0
0
0
0
11
-18
39
-31
0
0
-18
0
0
5
4
36
-63
0
0
0
0
0
0
4
-4
15
0
0
0
0
0
-15
3
-18
51
0
0
0
0
0
-2
10
78
-45
-28
0
15
0
-1
6
-5
65
-43
-44
0
0
0
0
-2
-18
0
-85
105
0
0
0
-1
-10
-53
-30
17
18
0
0
0
0
-2
9
-36
-19
41
0
28
0
0
7
-64
94
-63
-35
0
0
-1
0
-4
53
-45
-3
-12
0
-61
0
-15
-37
-33
55
35
-23
0
0
27
-37
92
25
-8
0
0
0
0
0
-17
-4
-8
34
0
0
0
0
0
1
-32
10
-8
0
0
0
0
0
0
-33
-30
81
0
0
0
0
0
-7
47
-10
0
0
0
0
0
0
-2
10
-22
37
0
0
0
0
0
0
-1
-27
34
0
0
0
0
-1
-23
25
-24
27
0
0
0
0
-8
-21
5
27
9
0
0
0
0
0
0
0
11
-11
0
0
0
0
-1
0
3
10
-60
0
0
0
0
0
-1
-6
-66
64
0
0
0
0
0
0
-1
-1
-15
0
0
0
0
0
-2
-10
-2
12
0
0
0
0
0
0
0
23
-65
0
0
0
0
0
0
-1
17
-16
0
0
0
0
17
44
-12
-30
38
-12
0
0
0
-2
2
-13
48
45
4
0
0
0
-1
-8
2
-49
56
16
0
0
0
0
-2
8
-53
54
-36
0
0
0
10
-2
10
7
22
-58
0
0
0
-3
0
0
-22
-44
10
0
0
0
-4
0
0
13
2
-26
0
0
0
0
-20
3
-8
15
-6
0
0
0
28
6
-36
-69
-56
19
-6
0
0
-1
-5
-5
-57
145
79
-31
0
0
0
-10
-4
15
-34
-56
42
0
0
0
-1
-2
-13
-42
-22
32
0
0
20
-5
12
-8
9
-56
-7
0
0
0
-1
-8
6
2
23
11
0
0
1
6
7
-14
4
-26
4
0
0
-22
-80
-19
54
-116
3
34
0
0
-25
37
52
-5
10
0
0
0
22
-10
7
-5
26
25
0
0
0
0
53
-54
-8
-50
24
0
0
61
-5
-49
-15
19
-28
23
0
0
0
0
68
28
65
61
-61
0
0
0
52
-2
-29
-61
-57
-1
0
0
0
0
-20
9
48
30
-86
0
0
-8
11
10
-49
-145
-32
45
0
0
0
0
52
-31
13
-38
-31
0
0
0
-52
1
-49
56
68
-9
0
0
0
0
-29
27
-102
-49
43
0
0
46
-6
-5
10
-22
-74
-29
0
0
0
0
-5
44
65
30
-93
0
0
0
-36
1
-23
-67
-61
46
0
0
0
0
-58
-46
25
3
83
0
0
52
-6
9
-57
36
-65
-26
0
0
0
0
36
2
-14
63
-2
1
0
0
26
-4
35
-40
-30
-19
15
0
0
0
-8
5
15
54
36
-7
0
-7
4
11
57
3
-111
-39
-9
0
0
0
80
43
50
-31
-51
-12
0
0
-19
-16
-38
-71
-9
40
-29
0
0
0
-4
4
-35
-37
35
22
0
-31
-3
-3
12
-131
-8
35
12
0
0
0
1
-29
1
41
5
-49
4
0
26
-5
-24
27
-26
-41
-2
-45
0
0
-28
-1
-60
-77
39
-114
20
-14
-1
-16
-33
40
-54
-13
-55
23
0
0
-8
12
35
17
4
1
6
0
7
-6
-49
-63
2
37
31
-55
0
0
9
-34
-37
-7
-10
-12
21
-117
-14
22
14
15
-96
-28
-40
-20
0
0
70
-32
46
13
3
0
0
0
0
0
-8
-79
21
27
0
0
0
0
0
49
-11
-45
29
0
0
0
0
1
-15
-38
-34
47
0
0
0
0
-5
7
-25
65
7
0
0
0
0
0
26
-58
-3
35
0
0
0
0
-3
-9
14
-6
32
0
0
0
0
0
-16
44
-81
67
0
0
0
0
12
24
-11
-76
34
0
0
0
0
0
-6
12
7
-31
0
0
0
0
0
9
2
73
-60
0
0
0
0
0
6
37
102
-88
0
0
0
0
-4
-6
53
18
-7
0
0
0
0
0
0
36
-8
19
0
0
0
0
-5
14
-16
-90
26
0
0
0
0
0
-15
60
-77
48
0
0
0
0
-37
4
22
-15
4
0
0
0
0
0
5
-16
-84
5
0
0
0
0
0
3
11
-97
70
0
0
0
0
0
0
42
-61
-13
0
0
0
0
-19
41
32
-33
7
0
0
0
0
0
0
3
-26
-17
0
0
0
0
1
1
-26
-18
17
0
0
0
0
-1
-2
7
22
66
0
0
0
0
-21
2
-9
-4
40
0
0
0
0
0
2
-6
-23
24
0
0
0
0
3
1
-18
-11
32
0
0
0
0
0
5
-11
53
56
0
0
0
0
45
-57
0
11
16
0
0
0
0
0
-2
39
31
17
0
0
0
0
29
-16
-22
85
-12
0
0
0
0
-34
-11
-21
63
43
0
0
0
0
0
-5
-34
33
15
0
0
0
-48
0
0
-3
-51
36
0
0
0
0
0
0
3
0
-15
0
0
0
0
0
2
21
-28
21
0
0
0
0
0
0
11
-10
-15
0
0
0
0
0
0
-6
-20
68
0
0
0
0
0
0
-4
-21
-32
0
0
0
0
0
10
-5
-62
34
0
0
0
0
0
0
0
34
-16
0
0
0
-24
0
0
4
48
-26
0
0
0
0
0
0
-2
35
-15
0
0
0
-3
0
-6
5
-10
33
0
0
0
0
0
0
-9
-12
15
0
0
0
0
0
0
3
8
19
0
0
0
0
0
-1
12
-69
-29
0
0
0
0
0
3
-27
0
20
0
0
0
0
0
0
13
8
8
0
0
0
4
0
0
4
-86
39
0
0
0
0
0
0
3
-43
58
0
0
0
0
0
0
-1
-73
119
0
0
0
0
0
0
-2
24
-44
0
0
0
28
0
0
3
-67
23
0
0
0
0
0
0
1
83
-69
0
0
0
-1
0
0
3
-28
-41
0
0
0
0
0
0
1
-8
23
0
0
0
24
0
0
-3
83
-55
0
0
0
0
0
0
0
-7
-37
0
0
0
0
0
-3
-2
65
35
0
0
0
0
0
0
0
-4
32
0
0
0
-20
0
0
-14
24
-18
0
0
0
0
0
1
7
-20
19
0
0
0
18
0
-31
-36
4
10
0
0
0
0
0
3
14
6
-12
0
0
0
0
0
0
22
44
0
0
0
0
0
0
0
18
-18
40
0
0
0
0
0
-10
-5
-22
10
0
0
0
0
0
0
14
-76
61
0
0
0
0
0
0
24
-12
2
0
0
0
0
0
1
12
-34
12
0
0
0
0
0
-4
-19
-8
8
0
0
0
0
0
0
-35
-25
78
0
0
0
0
0
0
-3
-48
4
0
0
0
0
0
0
-15
11
-10
0
0
0
0
0
-2
-9
79
-7
0
0
0
0
0
0
5
-116
82
0
0
0
0
0
0
-1
-10
59
0
0
0
0
-1
0
0
-2
-48
0
0
0
0
0
-4
-22
-5
44
0
0
0
0
-1
1
-12
-45
38
0
0
0
0
0
0
19
-81
25
0
0
0
0
0
0
2
12
-27
0
0
0
0
0
0
-37
30
26
0
0
0
0
0
2
-19
21
-42
0
0
0
0
0
0
-9
14
9
0
0
0
0
0
0
0
29
-27
0
0
0
0
0
0
6
12
-108
0
0
0
0
-2
5
27
-66
48
0
0
0
0
0
0
-1
-8
52
0
0
0
0
0
-1
-35
-51
124
0
0
0
0
0
0
9
-8
5
0
0
0
0
-1
2
-2
-73
67
0
0
0
0
0
0
20
-45
69
0
0
0
0
0
0
-3
29
-8
0
0
0
0
6
-21
-123
-11
67
0
0
0
0
1
-9
70
-31
8
0
0
0
0
0
0
-86
-9
52
0
0
0
0
0
1
-27
-39
-29
0
0
-26
0
0
1
-51
17
58
0
0
0
0
0
0
56
-13
-32
0
0
0
0
0
0
-32
-39
51
0
0
0
0
0
0
24
13
-23
0
0
-3
0
0
-1
13
21
-12
0
0
0
0
0
-2
29
4
37
0
0
0
0
0
0
37
-32
6
0
0
0
0
0
0
19
-40
66
0
0
10
0
0
2
6
-103
6
0
0
0
0
0
0
-34
1
52
0
0
0
0
0
0
32
-55
-9
0
0
0
0
0
0
15
-57
102
0
0
0
0
0
0
-59
50
11
0
0
0
0
0
0
-7
-25
-40
0
0
0
2
0
0
-13
-71
11
0
0
0
0
0
-3
18
23
13
0
0
-10
0
0
-2
33
-52
-26
0
0
0
0
0
0
-28
77
-44
0
0
0
0
0
0
-56
-13
68
0
0
0
0
0
0
-45
-40
51
0
0
7
0
0
0
-13
-17
32
0
0
0
0
0
3
3
19
11
0
0
0
-1
0
0
10
45
-59
0
0
0
0
0
1
-49
27
17
0
0
-31
0
0
-7
2
78
0
0
0
0
0
0
0
38
10
-54
0
0
0
-1
0
0
-8
49
-77
0
0
0
0
0
5
17
8
-48
0
0
58
-14
3
-10
-2
-66
2
0
0
0
0
-8
-29
-79
-60
79
0
0
0
0
0
2
-18
16
8
0
0
0
0
0
0
62
-51
24
0
0
0
0
0
0
5
-47
53
0
0
0
0
0
-2
2
-9
33
0
0
0
0
0
1
31
-30
48
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
33
-41
12
0
0
0
0
0
0
13
-79
46
0
0
0
0
0
-1
-4
-26
63
0
0
0
0
0
0
-3
-40
-10
0
0
0
0
0
3
10
-28
14
0
0
0
0
0
0
-7
15
-24
0
0
0
0
0
0
-13
-27
53
0
0
0
0
0
0
3
32
7
0
0
0
0
0
4
-12
-11
56
0
0
0
0
6
3
20
-17
-44
0
0
0
0
0
5
-1
-10
0
0
0
0
0
0
6
2
-27
12
0
0
0
0
0
6
-15
3
-12
0
0
0
0
0
0
-1
15
29
0
0
0
0
0
0
2
-33
-25
0
0
0
0
0
0
-3
2
-4
0
0
0
0
0
15
-12
-6
0
0
0
0
0
2
-7
-31
-23
-9
0
0
0
0
0
-1
-1
10
0
0
0
0
0
0
3
0
64
-65
0
0
0
0
0
-1
18
39
-75
0
0
0
0
0
-1
11
15
12
0
0
0
0
0
0
5
-25
18
0
0
0
0
0
0
10
0
46
0
0
0
0
-1
1
49
66
-43
0
0
0
0
0
0
26
24
9
0
0
0
0
0
-1
-11
-2
58
0
0
0
0
0
0
16
-39
63
0
0
0
0
0
-5
17
-56
71
0
0
0
0
0
0
3
0
41
0
0
0
0
0
0
3
-29
5
0
0
0
0
0
0
-6
3
34
0
0
0
0
0
2
-6
-14
27
0
0
0
0
0
0
2
-2
-7
0
0
0
1
0
4
-3
42
-38
0
0
0
0
0
0
5
8
-57
0
0
0
0
0
-1
-7
-43
28
0
0
0
0
0
0
-6
2
-15
0
0
0
0
0
0
-10
-7
32
0
0
0
0
0
0
0
9
24
0
0
0
0
0
10
30
-41
-119
0
0
0
0
0
0
15
44
-27
0
0
0
3
0
0
3
12
-13
0
0
0
0
0
0
-5
-20
-22
0
0
0
0
0
-1
-2
-31
40
0
0
0
0
0
0
6
-6
24
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
2
2
4
0
0
0
0
0
2
-5
-24
1
0
0
0
-6
0
0
3
-15
20
0
0
0
0
0
0
-8
14
31
0
0
0
0
0
0
-5
-33
35
0
0
0
0
0
0
-3
-20
-26
0
0
0
3
0
0
5
-8
28
0
0
0
0
0
0
-9
1
-73
0
0
0
-2
0
6
45
-79
-25
0
0
0
0
3
0
8
-29
-7
0
0
0
0
0
0
-11
-2
54
0
0
0
0
0
2
0
-23
-2
0
0
0
0
0
-3
-5
43
1
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
-4
7
-103
0
0
0
0
0
0
0
5
-24
0
0
0
0
0
9
9
-5
1
0
0
0
0
2
-6
0
48
-31
0
0
0
0
0
-1
0
-3
-16
0
0
0
0
0
0
0
-48
16
0
0
0
0
0
4
4
-46
31
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
-7
-22
0
0
0
0
0
3
1
9
65
0
0
0
0
0
0
0
-6
13
0
0
0
0
6
0
1
26
-15
0
0
0
0
0
0
-2
-34
26
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-12
-21
7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-4
0
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
5
0
0
0
0
1
-8
0
32
-26
0
0
0
0
0
3
7
-34
-33
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
5
0
9
0
0
0
0
0
-1
-3
-1
-19
24
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
7
29
6
0
0
0
0
0
0
0
-41
-41
0
0
0
0
0
47
4
-33
26
0
0
0
0
0
-8
-56
12
56
0
0
0
0
0
1
22
2
-3
0
0
-3
0
0
48
-51
2
-9
0
0
0
0
0
3
-5
-63
8
0
0
0
0
0
-1
1
-62
26
0
0
0
0
0
7
13
3
-48
0
0
0
0
0
6
6
-49
10
0
0
0
0
0
7
45
43
-54
0
0
0
0
0
0
-62
-25
57
0
0
0
0
0
0
14
-2
36
0
0
0
0
0
9
71
-16
-52
0
0
0
0
0
5
-10
-35
53
0
0
0
0
0
-5
21
-21
-7
0
0
0
0
0
-1
87
-5
-7
0
0
0
0
0
-31
11
-2
-40
0
0
0
0
0
39
4
100
-24
0
0
0
4
0
-13
-2
-28
85
0
0
0
0
0
4
4
14
38
0
0
-2
0
0
14
-56
50
1
0
0
0
0
0
9
20
25
-47
0
0
0
0
0
8
50
-38
-14
0
0
0
0
0
1
-4
-2
0
0
0
0
0
0
-16
-6
71
-12
0
0
0
0
0
19
33
-73
25
0
0
0
0
0
-18
-55
88
42
0
0
0
0
0
0
-34
6
-2
0
0
-2
0
0
-2
-39
-129
-1
0
0
0
0
0
-23
2
21
-48
0
0
0
0
0
2
13
-32
17
0
0
0
0
0
-35
-5
-59
41
0
0
3
0
-2
-26
-23
15
-35
0
0
0
0
40
11
-15
-35
10
0
0
0
0
0
-7
-1
-19
45
0
0
0
0
-3
7
-33
139
-75
0
0
0
0
-8
15
58
-17
48
0
0
0
0
0
-20
-17
-6
-11
0
0
0
0
0
1
3
23
-47
0
0
0
0
0
0
6
-32
28
0
0
0
0
0
-6
-34
55
6
0
0
0
0
3
16
-6
6
12
0
0
0
0
0
0
-9
-84
-33
0
0
0
0
0
-20
-2
-11
42
0
0
0
0
0
-6
9
-35
-18
0
0
0
0
0
-6
0
-4
14
0
0
0
0
0
-4
-25
15
39
0
0
0
0
1
-2
-3
-1
32
0
0
0
0
-4
1
2
-1
50
0
0
0
0
-36
-31
-11
27
73
0
0
0
0
0
0
-9
-17
24
0
0
0
0
0
0
2
42
-12
0
0
0
0
0
2
2
-10
-63
0
0
0
0
-1
-1
4
6
14
0
0
0
0
0
1
-7
18
53
0
0
0
0
0
0
4
-7
-5
0
0
0
0
0
-1
8
-21
-18
0
0
0
0
3
-4
-3
35
13
0
0
0
0
0
0
-4
-29
27
0
0
0
0
0
0
0
-28
8
0
0
0
0
0
0
2
63
6
0
0
0
0
-10
-12
-5
-8
6
0
0
0
0
0
0
0
-45
9
0
0
0
0
2
3
-1
-33
59
0
0
0
0
10
25
109
-78
54
0
0
0
0
0
0
-3
-48
4
0
0
0
18
0
0
8
-61
47
0
0
0
0
0
0
-3
73
-31
0
0
0
0
0
1
-8
77
-2
0
0
0
0
0
0
0
-14
29
0
0
0
0
0
-5
4
-6
33
0
0
0
0
0
0
0
-26
37
0
0
0
0
0
3
-12
-55
-9
0
0
0
0
0
0
1
12
-27
0
0
0
0
0
0
0
-50
67
0
0
0
0
0
0
-3
-44
63
0
0
0
0
0
0
-10
31
58
0
0
0
0
0
0
3
0
22
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
1
-13
22
0
0
0
0
0
0
2
-16
40
0
0
0
0
0
0
-4
-66
55
0
0
0
26
0
-2
4
8
-36
0
0
0
0
0
0
0
-17
14
0
0
0
0
0
0
-18
5
34
0
0
0
0
0
0
-2
-1
81
0
0
0
-6
0
0
1
-17
43
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
6
-31
-18
0
0
0
0
0
1
10
-18
67
0
0
0
-1
0
0
0
22
8
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
-16
45
0
0
0
9
0
0
7
-70
52
0
0
0
0
0
0
-5
10
-10
0
0
0
-8
0
0
49
31
-51
0
0
0
0
-1
7
16
-24
23
0
0
0
0
0
-5
0
-1
-1
0
0
0
0
0
15
1
-30
-35
0
0
0
0
0
1
57
-26
-41
0
0
0
0
0
-1
1
31
-38
0
0
0
0
0
0
17
-81
19
0
0
0
0
0
0
-1
-9
18
0
0
0
0
0
-3
-13
29
-13
0
0
0
0
0
2
-9
-40
80
0
0
0
0
0
0
-3
6
-27
0
0
0
0
0
0
0
-11
67
0
0
0
0
0
0
-1
-2
18
0
0
0
0
0
0
1
-4
-2
0
0
0
0
0
0
1
5
48
0
0
0
0
1
-2
0
-5
-41
0
0
0
0
0
-2
4
27
-23
0
0
0
0
-5
-9
-3
-9
76
0
0
0
0
0
2
2
-11
-25
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
-15
-7
24
0
0
0
0
-4
2
0
-31
37
0
0
0
0
0
0
-13
-9
54
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
-5
-7
-19
0
0
0
0
0
0
2
-2
45
0
0
0
0
0
2
-5
-23
51
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
-1
0
4
-5
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
-9
-10
44
10
0
0
0
0
0
0
2
20
15
0
0
0
0
-1
-5
-29
9
-29
0
0
0
0
0
-5
-43
29
75
0
0
0
0
0
6
2
-36
-16
0
0
0
0
0
9
-23
6
-42
0
0
-14
0
0
-1
51
-20
91
0
0
0
0
0
-1
-9
-42
-3
0
0
0
0
0
-14
-41
-9
43
0
0
0
0
0
0
3
-19
-14
0
0
0
0
0
-1
24
34
-23
0
0
0
0
0
5
32
10
-69
0
0
0
0
0
2
27
-10
37
0
0
0
0
0
-5
3
-76
28
0
0
5
0
0
-4
9
46
-55
0
0
0
0
0
0
-6
45
-10
0
0
0
0
0
0
-12
-3
6
0
0
0
0
0
-4
0
-36
16
0
0
0
0
0
0
2
16
42
0
0
0
0
0
6
4
-52
28
0
0
0
0
0
-1
11
-106
83
0
0
0
0
0
0
2
6
-6
0
0
0
0
0
9
33
-27
-10
0
0
0
0
0
3
7
-19
4
0
0
0
0
0
0
11
-46
68
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
-17
-72
8
0
0
0
0
0
-18
-20
52
-52
0
0
0
-7
0
1
-5
45
13
0
0
0
0
0
0
0
-19
23
0
0
3
0
0
3
-1
-24
2
0
0
0
0
0
1
-5
29
-24
0
0
0
-1
0
0
-19
17
57
0
0
0
0
0
1
3
-61
0
0
0
-24
3
-1
3
4
-1
-23
0
0
0
0
6
-6
1
-8
12
0
0
0
0
0
12
0
-14
20
0
0
0
0
0
0
-1
-19
19
0
0
0
0
0
0
-7
-17
13
0
0
0
0
0
-1
-4
3
-16
0
0
0
0
0
0
0
36
-103
0
0
0
0
0
0
1
-4
-63
0
0
0
0
0
-1
1
12
-36
0
0
0
0
3
2
0
3
43
0
0
0
0
0
0
0
16
49
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
1
-23
49
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
0
-2
0
83
0
0
0
0
0
0
0
5
-49
0
0
0
0
0
0
-4
16
-54
0
0
0
0
0
3
2
3
-44
0
0
0
0
0
0
-5
-78
44
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
-3
8
-7
0
0
0
0
0
0
0
16
-13
0
0
0
0
0
0
0
-5
-77
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
-15
5
0
0
0
0
0
2
-3
-4
25
-14
0
0
0
0
0
0
0
-29
36
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
2
-5
1
-33
0
0
0
0
0
0
0
10
7
0
0
0
0
0
-2
0
-4
-16
0
0
0
0
0
-3
-40
-36
46
0
0
0
0
0
-1
2
-32
51
0
0
0
-1
0
0
-2
-108
55
0
0
0
0
0
0
1
-7
55
0
0
0
0
0
0
3
-64
107
0
0
0
0
0
0
9
-1
27
0
0
0
0
0
0
0
25
-22
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
-10
12
0
0
0
0
0
9
1
-8
94
0
0
0
0
0
0
3
-18
65
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
0
-7
35
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
-2
22
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
-2
-2
-2
0
0
0
0
0
0
-5
7
-3
0
0
0
-3
0
0
5
5
95
0
0
0
0
0
0
-1
-5
5
0
0
0
0
0
0
8
-1
42
0
0
0
0
0
0
-7
12
8
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
10
3
0
0
0
0
0
-3
-6
0
-13
0
0
0
7
0
0
0
-4
-8
0
0
0
0
0
0
-3
-15
-1
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
-20
-3
0
0
0
-1
0
0
-1
-5
-19
0
0
0
0
0
0
2
-2
-5
0
0
0
0
-2
-1
-111
-8
34
0
0
0
0
12
-3
-19
-54
15
0
0
0
0
0
-4
7
-59
30
0
0
0
0
0
-6
-4
-33
64
0
0
0
0
0
0
1
-24
62
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
-1
-13
3
0
0
0
0
0
0
0
-20
13
0
0
0
0
0
1
0
-37
24
0
0
0
0
-1
-3
-5
-31
-8
0
0
0
0
0
0
0
-6
-11
0
0
0
0
0
11
4
9
-43
0
0
0
0
0
0
-3
-16
65
0
0
0
0
0
0
0
7
51
0
0
0
0
0
0
0
1
47
0
0
0
0
0
0
0
-4
24
0
0
0
0
-2
-3
2
-1
19
0
0
0
0
-24
2
0
-2
39
0
0
0
0
0
1
6
-16
13
0
0
0
0
0
0
-2
9
13
0
0
0
0
0
-1
-23
-17
42
0
0
0
0
0
0
7
1
-51
0
0
0
0
0
0
-1
6
-34
0
0
0
0
0
0
0
0
-19
0
0
0
0
-1
-3
-1
2
-3
0
0
0
0
10
4
2
-1
-41
0
0
0
0
0
0
0
-13
37
0
0
0
0
0
0
-2
-2
-11
0
0
0
0
0
0
-3
2
-11
0
0
0
0
5
-8
7
-9
37
0
0
0
0
-4
0
0
-9
26
0
0
0
0
1
0
0
-1
-16
0
0
0
0
0
49
-39
-10
20
0
0
0
0
-10
14
24
-100
27
0
0
0
-5
0
8
9
-32
34
0
0
0
0
0
23
20
-22
45
0
0
9
0
0
-1
-60
60
-62
0
0
0
0
0
16
33
-28
-5
0
0
0
0
0
13
-39
22
37
0
0
0
0
0
-3
7
6
47
0
0
0
0
0
8
-27
-60
63
0
0
0
0
0
-13
-39
68
39
0
0
0
2
0
-8
8
-22
-12
0
0
0
0
0
5
4
11
-69
0
0
2
0
0
-12
-25
23
43
0
0
0
0
0
26
-17
14
-62
0
0
0
0
0
-3
13
0
-20
0
0
0
0
0
7
4
6
10
0
0
0
0
-2
-6
14
-20
19
0
0
0
0
4
-53
83
-25
8
0
0
0
8
-1
-3
24
-54
-4
0
0
0
0
0
1
-19
19
19
0
0
-5
0
0
0
31
-12
-95
0
0
0
0
-6
33
3
13
7
0
0
0
0
0
-43
-6
-4
36
0
0
0
0
0
-4
-7
1
5
0
0
0
0
0
3
9
2
-58
0
0
0
0
-11
-42
50
66
-11
0
0
0
0
0
-9
17
-14
-20
0
0
0
0
0
-47
14
11
42
0
0
-14
0
0
-17
-7
14
-9
0
0
0
0
-10
15
-2
5
-78
0
0
0
-2
0
-17
18
-23
-59
0
0
0
0
-1
-55
19
-78
79
0
0
-4
-2
1
33
38
-44
-37
0
0
0
0
40
-47
11
-33
43
0
0
0
0
0
3
5
-41
9
0
0
0
0
4
2
7
11
24
0
0
0
0
0
2
-43
-12
7
0
0
0
0
0
51
-26
-51
31
0
0
0
0
0
1
-3
10
-35
0
0
0
0
-1
2
10
10
13
0
0
0
0
0
1
72
-25
-8
0
0
0
0
-36
7
0
-18
23
0
0
0
0
0
0
3
-57
47
0
0
0
0
1
5
4
55
10
0
0
0
0
1
9
41
26
-92
0
0
0
0
0
-4
-3
-4
13
0
0
0
0
0
0
0
-34
-10
0
0
0
0
4
6
1
14
14
0
0
0
0
-5
1
52
15
-6
0
0
0
0
35
73
-48
50
41
8
0
0
0
0
1
9
-118
-12
6
0
0
0
0
2
12
-54
56
-5
0
0
0
0
0
2
-90
13
-1
0
0
0
0
2
-5
-6
23
6
0
0
0
0
0
-8
2
-51
23
0
0
0
-9
-2
-1
-1
-13
-7
0
0
0
1
3
-8
-8
29
14
0
0
0
-10
8
-21
-9
36
-1
0
0
0
0
0
1
4
-24
7
0
0
0
0
-3
0
-17
101
-11
0
0
0
1
4
-21
-21
76
-42
0
0
0
-5
1
-21
16
59
1
0
0
0
0
0
11
11
-49
24
0
0
0
-4
-2
0
-122
37
31
0
0
0
9
-32
50
41
14
-11
0
0
0
0
4
-34
39
-28
0
0
0
-28
0
-1
-12
-20
42
0
0
0
0
0
0
-3
-53
126
0
0
0
0
0
3
-3
-18
33
0
0
0
0
0
5
1
78
-54
0
0
0
6
0
0
2
7
-55
0
0
0
0
0
0
2
-74
17
0
0
0
0
0
-5
9
-29
-28
0
0
0
0
0
0
-2
3
-22
0
0
0
6
0
0
-1
19
33
0
0
0
0
0
0
-1
26
-11
0
0
0
0
0
-1
-8
-86
42
0
0
0
0
0
0
14
6
-5
0
0
0
0
0
-2
-6
43
-69
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
-2
-6
-54
67
0
0
0
0
0
0
1
22
-89
9
0
0
-41
0
0
-1
-35
90
12
0
0
0
0
0
0
-108
52
-7
0
0
0
0
0
-3
-72
-54
21
0
0
0
0
0
4
-68
-9
12
0
0
5
0
0
3
16
-170
55
0
0
0
0
0
0
-31
28
10
0
0
0
0
-2
4
4
47
17
0
0
0
0
5
11
34
75
-28
0
0
5
0
0
6
-63
-18
52
0
0
0
0
0
0
-7
26
-16
0
0
0
0
0
0
-44
-9
11
0
0
0
0
0
-6
78
-12
-7
0
0
6
0
0
1
63
44
-34
0
0
0
0
0
-1
37
3
10
0
0
60
0
8
-78
-70
23
-26
0
0
0
7
0
-14
20
17
0
0
0
0
0
0
-1
21
12
0
0
0
0
0
-6
-1
-44
14
0
0
0
0
0
-2
1
-34
-22
0
0
0
0
0
-2
-9
25
39
0
0
0
0
0
0
-4
7
111
0
0
0
0
0
0
3
31
-6
0
0
0
0
0
0
-6
-51
4
0
0
0
0
-2
-3
4
52
5
0
0
0
0
0
0
-5
-19
-33
0
0
0
0
0
-2
-1
0
41
0
0
0
0
0
-1
-7
-61
-7
0
0
0
0
0
0
0
-9
24
0
0
0
0
0
0
-2
-5
2
0
0
0
0
0
0
0
5
-20
0
0
0
0
0
0
-2
3
-52
0
0
0
0
-13
-5
3
11
42
5
0
0
0
0
0
2
19
31
-15
0
0
0
0
0
-8
10
-22
-6
0
0
0
0
0
-10
-88
17
26
0
0
0
2
9
0
-2
-27
-7
0
0
0
0
0
-3
-9
-51
-14
0
0
0
0
0
0
9
-6
-21
0
0
0
0
0
0
3
1
8
0
0
0
3
-9
0
-82
-23
59
0
0
0
0
0
-2
55
6
-29
0
0
0
0
0
-4
-14
-20
6
0
0
0
0
0
1
-18
14
-29
0
0
0
-5
0
1
-2
62
-20
0
0
0
0
0
0
15
38
-41
0
0
0
0
0
0
35
43
-28
0
0
0
1
8
20
-104
19
-5
0
0
0
0
14
-64
-19
36
0
0
0
0
0
0
35
-93
-20
0
0
0
0
0
-12
-18
-20
11
0
0
-27
0
0
0
41
-42
3
0
0
0
0
0
-1
-32
28
53
0
0
0
0
0
0
-9
30
3
0
0
0
0
0
0
-7
-3
3
0
0
1
0
0
-1
40
28
4
0
0
0
0
0
1
24
-37
-33
0
0
0
0
0
0
-5
-7
11
0
0
0
0
0
-1
9
-57
21
0
0
2
0
0
0
-16
4
-9
0
0
0
0
0
0
-6
-7
16
0
0
0
0
0
0
-26
68
-35
0
0
0
0
0
1
16
-18
-12
0
0
0
0
0
4
26
-63
1
0
0
0
0
0
0
27
4
45
10
0
0
0
0
0
-2
44
116
-24
0
0
0
0
0
1
62
20
-37
0
-10
0
0
0
4
89
18
-37
0
0
0
0
0
-52
-9
-21
39
0
0
0
0
0
7
-22
11
4
0
0
0
0
0
4
15
7
27
0
-7
0
0
0
-1
-25
1
26
0
0
0
0
0
-1
-53
-39
54
0
0
0
0
3
0
-47
-87
65
0
0
0
0
0
11
-27
2
-20
0
-2
0
0
0
4
4
-20
-41
0
0
0
0
0
0
-23
26
-22
0
0
0
0
0
-1
-30
-5
-13
0
0
0
0
-8
-14
-126
55
28
0
37
17
0
-53
-49
11
29
-36
0
0
0
6
-6
-85
-87
36
0
0
0
0
0
0
1
-29
27
0
0
0
0
0
-3
2
-9
39
0
0
0
0
0
-4
25
-54
12
0
0
0
0
0
0
15
-17
-10
0
0
0
0
0
0
4
-6
-75
0
0
0
0
0
0
3
6
13
0
0
0
0
0
0
14
-10
34
0
0
0
0
0
0
4
-16
-15
0
0
0
0
0
0
-3
-3
26
0
0
0
0
0
0
-9
-57
40
0
0
0
0
0
0
-46
-4
18
0
0
0
0
0
0
3
-5
6
0
0
0
0
0
0
2
-8
-29
0
0
0
0
-2
0
-6
0
-28
0
0
0
0
0
0
-33
-34
83
0
0
0
0
2
-1
6
58
-47
-1
0
0
0
0
0
0
-74
-73
25
0
0
0
0
0
0
-55
-20
41
0
0
0
0
1
3
58
-6
-23
0
0
0
0
0
13
17
14
-32
0
0
0
0
0
0
4
3
-37
0
0
0
0
0
0
-4
17
-22
0
0
0
0
6
3
11
-2
-80
0
0
0
-10
-2
4
48
61
-50
0
0
0
0
0
1
-8
102
-62
0
0
0
0
0
0
-22
-1
-50
0
0
0
0
0
-6
17
-28
-10
0
0
0
0
0
-3
20
-16
-28
0
0
0
1
0
0
-3
17
-39
0
0
0
0
0
0
3
-8
-20
0
0
0
1
-10
5
-63
78
-4
0
0
0
0
1
-12
49
22
0
0
0
-5
0
0
11
41
-80
0
0
0
0
0
0
-1
-22
21
0
0
0
0
0
8
22
8
-73
0
0
0
0
0
0
2
-30
32
0
0
0
0
0
0
0
5
-27
0
0
0
0
0
0
10
-10
48
0
0
0
0
0
0
-25
-13
-11
0
0
0
0
0
0
-1
-16
2
0
0
0
0
0
0
4
49
15
0
0
0
0
0
0
0
-7
95
0
0
0
0
0
0
6
34
-6
0
0
0
0
0
0
3
-1
-46
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
-2
-4
-4
0
0
0
0
0
2
-2
-29
-68
0
0
0
0
0
0
-3
-90
50
7
0
0
0
0
0
-5
-24
77
5
0
0
0
0
0
2
2
-11
20
0
0
0
0
0
17
13
-8
-16
0
0
0
0
0
0
-13
20
-28
0
0
2
0
0
4
4
4
-53
0
0
0
0
0
0
-11
-12
52
0
0
0
0
0
-4
6
0
13
0
0
0
0
0
-4
8
-31
-12
0
0
8
0
0
0
-74
-6
64
0
0
0
0
0
2
-35
-16
-6
0
0
0
0
1
-2
6
-3
-41
0
0
0
0
0
-1
23
34
42
0
0
-4
0
0
0
-6
9
-64
0
0
0
0
2
2
-33
-18
42
0
0
0
-4
6
-9
-42
17
0
0
0
0
-9
-3
0
-18
57
0
0
0
0
0
0
-3
-39
14
0
0
0
0
0
0
0
-2
-34
0
0
0
0
0
0
-26
-14
109
0
0
0
0
0
0
2
-11
5
0
0
0
0
0
0
0
-17
23
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-8
0
0
0
0
0
2
0
0
8
-56
0
0
0
0
0
0
0
48
32
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
7
-66
-17
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
13
-19
0
0
0
0
-1
0
0
12
23
-6
0
0
0
0
0
0
-17
25
15
0
0
0
0
0
0
10
-9
-29
0
0
0
0
0
-8
-2
-6
-12
0
0
0
3
0
0
-3
0
19
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
4
-34
0
0
0
0
0
0
-2
0
-57
0
0
0
0
-1
-4
-26
-8
19
0
0
0
0
0
0
20
-15
-39
0
0
0
0
0
0
-44
-5
20
0
0
0
0
0
1
-19
-1
-4
0
0
0
-8
0
0
-1
-25
60
0
0
0
0
0
-2
-1
5
-1
0
0
0
0
0
0
0
0
-23
0
0
0
-1
2
-8
4
-29
-17
0
0
0
2
2
-45
13
35
0
0
0
0
0
3
-13
53
-7
0
0
0
0
0
2
43
-72
-9
0
0
-6
0
0
3
18
47
-54
0
0
0
0
0
8
-92
75
5
0
0
0
0
0
2
24
-22
2
0
0
0
0
0
-2
-6
-8
-14
0
0
0
0
0
-8
-9
-58
85
0
0
0
0
-1
31
43
19
-38
0
0
0
2
0
0
-7
-10
18
0
0
0
0
0
0
-2
-116
29
0
0
0
0
0
0
-52
1
-54
0
0
0
0
0
0
3
-45
20
0
0
0
0
0
-1
-31
-11
-13
0
0
0
0
0
4
2
5
48
0
0
0
0
0
8
-53
-34
30
0
0
0
0
-2
1
22
42
-85
-5
0
0
0
0
0
4
40
-34
-3
0
0
0
0
-2
-13
-38
12
12
0
22
0
0
0
13
-68
-1
-11
0
0
0
2
-2
0
1
-7
-8
0
0
0
0
0
0
-12
6
9
0
0
0
0
5
-5
0
0
-58
0
0
0
0
0
8
-2
0
-40
0
0
0
0
10
47
15
23
-11
0
0
0
0
0
-64
-1
-42
54
0
0
0
0
0
-12
-39
1
-14
0
0
0
0
0
62
7
-22
23
0
0
0
0
-3
15
28
-20
29
0
0
-3
0
0
-2
-14
19
-5
0
0
0
0
-3
6
-1
11
-23
0
1
9
-1
19
9
-47
30
-55
0
0
0
-10
14
33
101
-19
0
0
0
0
0
5
11
31
8
0
0
0
0
0
-6
33
35
52
0
0
0
0
2
1
-14
-19
82
0
0
0
0
-1
-3
-16
68
8
0
0
0
0
0
7
-46
-10
58
0
0
0
0
7
-5
-12
6
-68
0
0
0
0
0
6
26
14
-12
0
0
0
0
-1
-24
-13
-85
98
0
0
0
0
0
1
16
-28
0
0
0
0
0
0
0
8
-49
57
0
0
0
0
0
-6
10
-24
39
0
0
0
0
0
6
3
-2
-28
0
0
0
0
0
1
0
-7
19
0
0
0
0
0
4
2
-2
-71
0
0
0
0
3
19
-13
-36
29
0
0
0
0
-16
35
-23
-37
65
5
0
0
0
0
2
-7
73
-4
1
0
0
0
0
-4
-3
40
15
-15
0
0
0
0
3
60
-5
-42
2
0
0
0
0
9
-2
-18
20
8
0
0
0
0
0
0
-48
120
-17
0
0
0
-2
0
0
1
-8
-24
0
0
0
0
-2
-13
27
-4
-18
0
0
0
-1
12
-71
26
-22
0
5
0
0
0
-3
0
-60
90
-28
-13
0
0
0
1
0
-24
19
-59
-6
0
0
0
4
-9
-43
16
76
-1
0
0
3
-3
-2
-50
47
-48
1
0
0
0
-5
0
-6
-172
26
36
0
0
-4
0
3
1
57
42
-20
0
0
27
5
-24
-46
2
-3
16
0
0
0
-2
8
-37
-31
0
0
0
-60
0
0
9
34
26
0
0
0
0
0
0
4
-6
14
0
0
0
0
0
0
11
-11
-7
0
0
0
0
0
0
-2
-30
50
0
0
0
-2
0
0
15
-51
30
0
0
0
0
0
0
-2
17
-11
0
0
0
0
0
0
-5
65
-22
0
0
0
0
0
0
-7
-73
65
0
0
0
2
0
0
-8
-13
-25
0
0
0
0
0
-1
1
28
-8
0
0
0
0
0
0
0
-27
67
0
0
0
0
0
0
0
-2
-5
0
0
0
2
0
0
0
0
11
0
0
0
0
0
0
0
2
20
0
0
0
-1
0
0
3
20
-88
0
0
0
0
0
0
2
50
10
-7
0
0
-42
0
0
-2
-52
76
18
0
0
0
0
0
6
-130
11
27
0
0
0
0
1
-12
-12
48
-32
0
0
0
0
0
-1
3
103
-52
0
0
-1
0
0
0
-22
-43
83
0
0
0
0
0
0
5
-8
35
0
0
0
0
0
-3
-9
-16
51
0
0
0
0
-1
-3
-55
-10
24
-4
0
52
0
0
-12
0
33
-30
-7
0
0
0
0
0
-44
-69
87
-24
0
0
0
0
-1
-62
13
-145
29
0
0
0
0
0
23
14
-38
7
0
-24
0
0
0
-47
13
9
-38
0
0
0
0
0
31
28
-146
19
0
-7
0
-4
-6
-34
-14
34
2
0
0
-1
-12
3
-35
15
0
0
0
0
0
0
-3
-73
51
0
0
0
0
0
11
0
-67
51
0
0
0
0
0
0
-4
-29
5
0
0
0
0
0
-2
-5
14
0
0
0
0
0
0
0
17
-50
63
0
0
0
0
0
5
0
-1
17
0
0
0
0
0
-1
-21
61
7
0
0
0
0
4
-1
6
-7
62
0
0
0
0
0
0
0
19
56
0
0
0
0
0
0
0
56
-34
0
0
0
0
0
0
0
26
-2
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
-7
-3
28
0
0
0
0
0
0
0
-9
-21
0
0
0
0
0
0
9
-74
-22
0
0
0
0
-3
0
32
40
45
-11
0
0
0
0
0
0
61
15
6
0
0
0
0
0
4
-33
68
-19
0
0
0
0
0
-11
74
-89
-29
0
0
0
5
-2
1
18
-122
38
0
0
0
0
0
-2
-1
7
-28
0
0
0
0
0
0
0
4
-3
0
0
0
0
-6
4
17
0
-24
0
0
0
-7
0
4
-28
6
-22
17
0
0
0
0
-2
-20
-113
46
23
0
0
0
-1
-1
-14
31
-21
-13
0
0
0
0
0
-55
-4
-70
13
0
0
0
2
0
10
14
-95
-40
0
0
0
0
-1
-16
-20
-28
3
0
0
0
0
0
8
0
-28
27
0
0
3
2
7
-33
-50
9
9
0
0
0
0
-7
44
-25
0
0
0
0
0
0
10
18
-32
0
0
0
0
0
-14
10
-26
23
0
0
83
0
0
0
95
-61
-27
0
0
0
0
0
0
-7
23
-21
0
0
0
0
0
0
-16
-79
29
0
0
0
0
0
9
10
-69
20
0
0
9
0
0
-3
-66
-30
26
0
0
0
0
0
5
21
-74
-13
0
0
0
9
0
-2
-4
-42
-17
0
0
0
0
0
0
0
-8
-69
0
0
-17
0
0
0
3
-45
50
0
0
0
0
0
0
0
-13
-27
0
0
0
0
0
0
4
-15
5
0
0
0
0
0
0
-6
0
6
0
0
0
0
0
-1
21
-62
50
0
0
0
0
2
-4
14
39
-4
-1
0
0
0
0
0
-19
56
37
-34
0
0
0
0
-4
-25
-11
81
13
0
16
0
0
0
20
18
-21
14
0
0
0
0
0
21
31
45
-46
0
0
0
0
0
-2
12
-12
7
0
0
0
0
0
-1
-3
-13
45
0
-1
0
0
1
3
-42
33
-4
0
0
0
0
-5
-11
-11
-93
80
2
0
-4
0
0
-11
11
-17
28
-11
0
0
0
1
3
41
-10
-107
-20
-19
0
0
-3
6
-23
-4
80
-5
0
0
0
0
1
-70
38
17
13
0
0
0
2
-4
14
-12
-21
-2
0
0
0
-4
0
-4
-13
-34
8
-30
-5
5
-1
13
-58
47
-30
6
0
0
-23
-42
7
9
12
0
0
0
0
0
0
15
24
-29
0
0
0
0
0
3
-15
-55
80
0
0
0
0
0
0
-29
-25
28
0
0
0
0
-4
-3
-12
5
12
0
0
0
0
0
0
-7
-69
71
0
0
0
0
-1
-1
6
-17
-29
0
0
0
0
0
-1
16
-4
-26
0
0
0
0
0
-1
4
-39
69
0
0
0
0
0
0
10
-16
-52
0
0
0
0
0
-3
-5
-2
35
0
0
0
0
0
1
-18
89
-69
0
0
0
0
-2
-4
0
-25
75
0
0
0
0
0
0
-7
-1
40
0
0
0
0
1
-7
6
-24
5
0
0
0
0
0
3
16
15
-2
0
0
0
0
-1
-1
-34
1
73
6
0
0
0
0
-2
0
98
17
-10
0
0
0
0
0
2
-28
-1
-4
0
0
0
0
0
4
-11
21
-17
0
0
0
-3
0
2
-5
-16
2
0
0
0
0
0
-4
-24
-83
55
0
0
0
0
0
0
2
6
-54
0
0
0
0
-4
18
15
2
-65
0
0
0
-2
-10
3
-20
-26
27
-7
0
0
0
0
-4
3
1
53
-31
0
0
0
-1
-1
-12
0
-141
40
0
0
0
0
6
-27
-23
46
-9
0
0
-1
-1
12
0
-14
-73
-5
0
0
0
0
3
-14
9
-81
38
0
0
4
-3
-4
-2
-12
-38
48
0
0
-1
-38
45
-31
-13
-32
0
0
0
-3
1
-2
-29
34
0
0
0
-35
0
2
-3
-13
-14
0
0
0
0
0
2
-19
27
-27
0
0
0
0
0
-13
-33
48
-19
0
0
0
0
0
0
2
-13
52
0
0
0
5
0
-1
-14
-67
43
0
0
0
0
0
0
2
29
-66
0
0
0
0
0
4
-9
-18
-72
0
0
0
0
1
4
1
-12
61
0
0
0
-14
0
0
5
-42
41
0
0
0
0
0
0
-2
35
-54
0
0
0
2
0
0
2
-2
-22
0
0
0
0
0
0
0
-5
-17
0
0
0
-4
0
0
0
17
-73
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
-1
-10
-18
1
0
0
0
0
0
0
-4
-59
70
25
0
0
-2
0
0
-5
-24
-30
32
0
0
0
0
0
3
-27
25
12
0
0
0
0
0
1
-7
26
-12
0
0
0
0
0
3
-34
-32
34
0
0
38
0
0
-2
-18
2
-50
0
0
0
0
0
-5
12
13
-22
0
0
0
0
0
-1
-2
3
47
0
0
0
0
-4
7
-9
59
-1
-7
0
-84
0
0
0
31
-74
-72
73
0
0
1
0
0
4
-4
-50
5
0
5
0
0
1
-46
-10
-6
1
0
0
0
0
-1
-27
24
58
18
0
23
0
0
0
3
18
-71
-41
0
0
-1
0
-5
3
-5
-24
-2
0
-2
-5
-12
4
-36
34
-53
-20
0
0
41
-27
22
58
-44
0
0
0
0
0
5
-2
7
4
0
0
0
0
1
-1
0
-52
-12
0
0
0
0
0
-8
-118
43
20
0
0
0
0
-1
-1
-9
-15
-8
0
0
0
0
0
-17
1
33
19
0
0
0
0
0
0
0
7
-25
0
0
0
0
0
1
-39
-2
1
0
0
0
0
-20
1
1
18
41
0
0
0
0
0
-1
0
-45
-33
0
0
0
0
0
-3
-18
-11
18
0
0
0
0
-1
0
6
-48
105
0
0
0
0
-4
-1
0
0
24
0
0
0
0
0
3
0
-1
65
0
0
0
0
3
0
-3
0
-3
0
0
0
0
0
-13
8
52
-50
0
0
0
0
-32
-1
-2
-2
19
5
0
0
0
-1
0
-1
-9
22
-1
0
0
0
-2
0
-5
-7
-43
35
0
0
0
0
0
-7
-51
-22
14
0
0
0
0
2
3
-24
2
52
0
0
0
1
1
2
1
10
-18
0
0
0
0
0
0
0
-2
-55
0
0
0
0
-11
1
1
0
14
0
0
0
0
2
9
-11
24
10
-3
0
0
0
0
0
2
94
-56
-22
0
0
4
0
1
-18
4
-103
90
0
0
-1
0
0
-15
-39
12
-10
0
0
-5
0
-4
-2
-8
-61
176
0
0
0
0
-1
-48
-23
62
-45
0
0
-5
3
0
-8
0
16
-62
0
0
-72
6
-6
-66
129
-11
-38
0
0
-6
-10
15
12
15
0
0
0
-3
-58
-5
23
-5
14
0
0
0
0
77
12
19
5
3
0
0
29
53
9
-11
-39
-15
1
0
0
0
0
-15
46
2
12
-5
0
0
0
16
-59
-47
39
-15
3
0
0
0
0
-12
-99
-34
12
15
0
0
14
48
51
-10
-55
11
-27
0
0
0
0
45
27
54
-19
-10
0
0
0
36
3
-46
42
-83
0
0
0
0
0
7
-48
-24
-44
25
0
0
6
86
-15
43
-13
-77
-42
0
0
0
0
-35
97
11
-69
9
0
0
0
4
11
-49
11
-61
-21
0
0
0
0
-58
-49
-3
-45
11
0
0
35
-58
42
-40
8
-6
-28
0
0
0
0
-28
33
81
-69
35
11
0
0
-67
-34
-45
11
64
13
2
0
0
0
-50
18
8
35
2
4
0
-9
13
19
3
36
-62
19
-13
0
0
0
85
-47
23
17
57
4
0
0
63
-9
-51
24
-90
-50
1
0
0
0
-63
25
-16
-47
83
-4
0
-4
-30
-57
-24
107
-59
-29
6
0
0
0
-18
24
64
-20
4
6
14
0
67
29
-6
-121
-40
19
-10
-12
0
0
-139
-34
-25
-4
-17
-4
14
7
-11
7
102
-115
-37
8
-33
0
0
0
25
56
44
32
29
-2
-14
0
-34
-5
-38
11
-70
14
18
-17
0
0
23
13
-26
13
1
-15
-24
-73
3
9
-8
-117
-36
-1
-59
11
0
0
-4
-4
-67
7
18
0
0
0
0
5
-34
15
-47
9
0
0
0
0
19
-50
44
-36
14
0
0
0
0
0
-31
-62
-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
0
0
0
0
0
-35
-18
97
-89
36
0
0
0
0
0
0
24
22
-15
0
0
0
0
9
-31
70
-95
14
0
0
0
0
0
-2
11
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
14
9
-41
15
-13
0
0
0
0
0
29
-26
39
9
0
0
0
0
0
11
38
8
-12
0
0
0
0
0
31
-12
-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
-19
28
-73
55
47
0
0
0
0
0
3
-53
-9
44
0
0
0
0
-1
7
12
-52
56
0
0
0
0
0
-8
7
-73
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
-7
17
7
-41
26
0
0
0
-9
8
34
10
-25
6
0
0
0
0
46
5
-49
11
-8
0
0
0
37
5
-25
54
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
1
-9
-10
0
0
0
-4
0
0
26
-34
-10
0
0
0
0
0
-1
5
-34
2
0
0
0
-2
0
5
0
-61
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-10
0
0
0
-21
-5
-71
44
18
65
0
0
0
0
0
-3
8
-96
76
0
0
0
0
0
-10
-74
47
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
10
26
-60
0
0
0
40
0
-45
-47
-1
58
0
0
0
0
0
0
-11
3
-37
0
0
0
-2
0
-2
21
55
-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
35
49
98
-23
6
0
0
0
0
-6
-14
34
1
-21
0
0
0
0
29
44
48
35
11
0
0
0
0
-9
0
-58
-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
3
13
44
0
0
0
0
0
0
-7
-14
23
0
0
0
0
0
5
-8
67
-22
0
0
0
0
0
2
-52
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
-1
-25
-6
-101
111
0
0
0
0
0
2
20
-2
-25
0
0
0
0
0
37
-71
9
101
0
0
0
0
2
-10
46
-28
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-29
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
-9
-12
3
0
0
0
0
2
0
-3
-113
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
-5
32
33
-10
17
0
0
0
-3
-1
-16
22
-22
-18
0
0
0
0
1
-52
85
-6
6
0
0
-17
3
-9
51
27
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
0
0
0
0
0
0
1
-69
-87
105
0
0
0
0
0
0
-26
-64
112
0
0
0
0
0
10
9
12
-65
0
0
48
0
0
-1
44
-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
0
-1
-5
30
19
0
0
0
0
0
2
-28
16
16
0
0
0
0
-5
-6
72
-44
-26
0
0
-42
-7
0
18
127
-65
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
1
-47
43
33
0
0
0
0
0
11
10
-65
12
0
0
0
0
0
0
0
-2
-22
0
0
18
0
0
7
16
-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
0
0
0
0
0
0
0
0
34
-48
2
9
35
0
0
0
0
0
39
64
4
24
0
0
0
0
0
17
-5
18
-4
0
0
0
0
0
-10
48
-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
-9
-63
-43
20
47
0
0
0
0
0
0
-50
17
39
0
0
0
0
-1
9
-4
-33
9
0
0
0
0
0
4
0
-72
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
-12
-43
31
-2
88
0
0
0
0
0
-1
10
52
-26
0
0
0
0
0
2
11
-40
-41
0
0
0
0
0
0
10
52
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
79
29
-23
-24
0
0
0
0
0
-1
6
-137
7
0
0
0
0
-2
-7
0
25
12
0
0
0
0
0
-3
-1
-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
2
5
15
-91
16
0
0
0
44
0
4
-139
-6
20
0
0
0
0
-6
15
22
-27
-21
0
0
0
7
0
6
21
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
4
-13
-3
14
0
0
0
-23
4
1
16
-62
29
0
0
0
0
0
-10
-20
-25
77
0
0
0
-4
0
1
15
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
3
0
27
-42
-37
0
0
0
3
0
-5
49
-39
-3
0
0
0
0
0
-3
-11
-19
-45
0
0
0
0
0
-3
-21
-61
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
-51
47
0
0
0
1
0
-9
-75
84
-55
0
0
0
0
0
0
-5
-6
-1
0
0
0
0
0
-2
3
18
-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
-56
35
100
28
-11
0
0
0
0
0
-7
20
-18
-9
0
0
0
0
0
-3
6
-138
52
0
0
0
0
-5
4
59
-67
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
9
0
0
0
0
0
0
-2
-39
50
0
0
0
0
-8
0
1
-56
1
0
0
0
0
0
-2
-4
-55
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
5
2
20
-66
5
0
0
0
0
0
-1
12
10
-3
0
0
0
0
0
0
2
-52
-18
0
0
0
0
0
5
-3
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
0
0
-1
-3
-1
88
-7
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
-4
0
100
16
0
0
0
0
0
0
-15
-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
32
28
-3
-24
0
0
0
1
0
-13
-4
1
10
0
0
0
0
6
-16
-48
1
7
0
0
-20
0
-10
-73
44
-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
-13
-9
2
-42
0
0
0
0
0
4
3
18
-4
0
0
0
0
0
-33
-14
-18
-17
0
0
-7
0
0
44
-11
68
-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
-13
10
-15
-27
0
0
0
4
0
-2
5
-40
29
0
0
0
0
-2
-21
39
-39
1
0
0
0
0
0
-100
1
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
4
-34
-72
11
0
0
0
0
0
0
38
-9
38
0
0
0
0
0
2
-78
28
78
0
0
-1
0
0
-1
28
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
-1
0
69
-46
8
0
0
0
0
0
15
14
35
-17
0
0
0
0
-5
7
46
0
11
0
0
0
0
0
3
28
-103
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
13
24
39
28
13
0
0
0
0
0
0
-13
57
-5
0
0
0
0
0
-2
-3
28
34
0
0
0
0
0
0
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-69
12
-26
15
0
0
0
0
0
-1
32
43
-1
0
0
0
0
0
5
89
-63
12
0
0
0
0
-2
13
-57
-125
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
-20
23
0
0
0
0
0
-4
15
29
12
0
0
0
0
-6
-32
2
94
-68
0
0
0
0
0
-21
-15
-40
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
1
6
-9
17
0
0
0
22
-3
84
-36
-27
27
0
0
0
0
0
23
-6
-42
-23
0
0
0
0
0
-11
-38
20
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
-1
0
0
5
-5
-21
0
0
0
0
0
-1
-2
-31
-39
0
0
0
0
0
0
-25
-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
-62
-23
7
0
0
0
59
-4
14
26
-37
18
0
0
0
0
0
-1
-19
5
20
0
0
0
0
0
-4
-15
38
-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
3
12
-44
-11
0
0
0
41
0
0
54
-7
-11
0
0
0
0
0
-5
-4
-8
-11
0
0
0
0
0
2
22
-115
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
-8
-22
12
-104
30
0
0
0
0
0
2
-30
7
71
0
0
0
0
0
3
-14
-35
-19
0
0
0
0
2
-4
-46
17
-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
-1
-3
-45
136
0
0
0
0
0
0
-3
-109
4
0
0
0
0
0
7
-9
34
38
0
0
0
0
1
0
-6
-21
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
66
4
0
0
0
0
1
21
-14
-44
-4
0
0
0
0
-8
-19
-4
47
-21
0
0
0
0
3
6
25
24
-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
2
-56
6
19
0
0
0
0
0
0
-4
-39
64
0
0
0
0
-4
11
7
-41
-60
0
0
0
0
0
0
14
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
5
-2
-33
24
0
0
0
-17
0
2
39
19
-13
0
0
0
0
0
-1
-8
-2
12
0
0
77
-1
1
-1
106
29
-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
2
6
87
-47
0
0
0
0
0
2
-12
40
-14
0
0
0
0
0
0
26
-102
13
0
0
29
0
0
16
-19
-72
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
2
-7
-15
46
0
0
0
0
0
4
-38
-34
55
0
0
0
0
0
-3
13
52
-41
0
0
-64
-1
0
-7
9
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
-10
-26
27
0
0
0
0
0
-1
-16
-114
127
0
0
0
0
0
-2
-4
-32
-15
0
0
14
-1
0
-1
-7
-48
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
26
-6
-12
-45
35
0
0
0
0
0
-6
23
37
2
0
0
0
0
0
13
-12
-144
39
0
0
0
0
0
0
-5
-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
23
10
5
5
-59
0
0
0
0
0
0
9
-7
-20
0
0
0
0
-2
19
0
29
-61
0
0
0
0
0
1
-3
-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
-7
1
98
-27
26
0
0
0
0
0
-5
10
-6
-2
0
0
0
0
0
-4
-14
-4
72
0
0
0
0
0
0
33
-91
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
-2
53
11
-40
0
0
0
0
0
0
-5
12
-29
0
0
0
0
-11
6
-13
57
-5
0
0
0
0
0
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-140
64
0
0
0
6
0
1
-36
39
11
0
0
0
0
0
-1
1
-23
-29
0
0
0
0
0
1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
7
0
0
0
-1
0
0
16
-7
-17
0
0
0
0
0
1
-6
-95
69
0
0
0
2
0
-7
5
-12
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
4
19
-50
0
0
0
2
0
-2
-32
-52
123
0
0
0
0
0
0
5
-35
-21
0
0
0
0
0
0
-21
-47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
22
0
-1
-1
28
-59
0
0
0
0
0
0
-3
-45
-73
0
0
0
0
0
0
-34
-45
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
-26
19
25
-29
1
0
0
0
0
0
-6
27
-43
-38
0
0
0
0
3
-13
-5
-34
57
0
0
0
0
0
11
-76
48
-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
0
11
-16
0
0
0
0
0
-3
0
-50
28
0
0
0
0
0
-2
-4
-13
48
0
0
0
0
0
9
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-15
14
-12
0
0
0
0
-1
1
14
-37
-5
0
0
0
0
0
-1
1
-3
45
0
0
0
0
0
-1
-29
-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
-20
-3
19
-69
69
0
0
0
0
0
2
3
-37
22
0
0
0
0
1
-2
-2
-29
1
0
0
0
0
0
6
-39
-11
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
11
14
-7
-40
35
0
0
0
5
0
-20
48
-100
51
0
0
0
0
-5
-11
32
36
-48
0
0
-3
3
0
9
61
-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
-44
-2
-46
31
0
0
0
0
0
-2
-8
-56
112
0
0
0
0
0
-39
-33
-46
60
0
0
8
0
0
11
43
-90
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-116
-34
0
0
0
-1
0
22
-50
6
7
0
0
0
0
-2
-1
-16
-84
54
0
0
2
0
0
-33
16
-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
16
50
-15
29
-75
0
0
0
-29
0
-16
27
22
11
0
0
0
0
-2
0
-75
-41
-2
0
0
20
0
0
-40
-58
133
-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
-2
9
-68
9
4
0
0
0
0
1
2
9
-3
-46
0
0
0
0
-3
41
6
31
-30
0
0
0
0
4
7
7
-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
-9
-26
50
84
-22
0
0
0
0
0
0
-19
-53
75
0
0
0
0
-4
-11
-5
-61
48
0
0
0
0
-7
20
22
-74
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
22
-9
22
45
55
3
0
0
0
0
-5
46
25
6
-1
0
0
0
7
-9
46
16
49
0
0
0
0
0
-4
-30
-65
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
33
19
-29
68
43
7
0
0
0
0
-40
-28
10
-26
50
0
0
0
-1
39
-41
-9
30
18
0
0
0
0
0
7
-75
-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
0
0
-25
33
-16
35
0
0
0
0
1
-37
10
-69
91
0
0
0
0
0
-4
14
-44
-18
0
0
0
5
0
4
-83
-48
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
20
-68
47
0
0
0
77
0
0
6
33
-41
0
0
0
0
0
2
1
26
-57
0
0
0
-1
0
0
-1
-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
-10
-70
-6
30
9
0
0
80
8
-19
-18
9
23
2
0
0
0
-3
-3
-10
-79
-38
3
0
0
-1
0
1
13
-2
-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
34
-80
70
36
0
0
33
0
-11
53
-20
-55
36
0
0
0
0
1
6
-21
-73
-18
0
0
3
0
0
-11
38
-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
0
0
0
0
0
0
0
0
0
0
2
-20
-34
6
32
0
0
0
0
0
-1
12
-6
10
0
0
0
0
-18
3
-18
-60
35
0
0
0
0
16
-8
11
-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
-7
-64
-28
40
0
0
0
0
0
-3
-1
-74
12
0
0
0
0
4
10
11
-26
-2
0
0
0
0
0
-12
-11
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
-19
-16
168
42
-5
0
0
0
0
-3
3
8
-70
-11
0
0
0
-2
2
10
38
-31
-6
0
0
0
0
0
13
-26
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
-8
-41
-90
123
25
0
0
0
0
-2
-3
-124
-17
-3
0
0
0
-5
4
-16
-67
161
-51
0
0
0
-7
-2
37
-81
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
0
0
0
0
0
0
0
0
-6
7
-14
65
0
0
0
0
0
-13
75
-77
69
0
0
0
0
2
-17
-57
17
36
0
0
38
-1
1
16
24
-43
-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
5
-13
-37
2
0
0
0
0
0
-3
-33
-94
125
0
0
0
0
0
-1
25
-19
-27
0
0
-8
0
-2
-32
97
69
-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
-8
-121
31
-13
-3
0
0
0
0
2
34
-14
47
-8
0
0
0
0
8
2
-85
66
9
0
95
0
0
44
-56
-51
-42
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
1
0
0
0
0
-9
-9
-48
125
-24
0
0
0
-7
11
10
-143
-19
93
0
49
0
0
-5
-87
-5
-82
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
24
31
32
67
-81
0
0
0
0
0
-6
18
-106
61
0
0
0
0
0
8
-36
-15
-37
0
0
0
0
0
-2
-20
-37
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
60
-73
73
0
0
0
0
0
0
2
12
3
0
0
0
0
3
1
2
15
39
0
0
0
0
0
1
-9
-6
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
-3
42
77
21
66
7
0
0
0
0
2
-15
-22
13
4
0
0
0
-4
-15
0
-22
12
17
0
0
0
0
1
-10
-1
64
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-34
59
-35
5
9
0
0
0
0
2
-16
-22
35
-19
0
0
0
-7
-5
-4
-15
30
-1
0
0
0
0
-4
20
52
-108
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
97
0
0
0
36
0
1
-62
-16
-5
0
0
0
0
0
-1
30
-29
-47
0
0
0
0
0
-2
-27
-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
-4
-2
54
-132
0
0
0
-74
0
5
26
7
23
0
0
0
0
0
0
4
-28
-31
0
0
0
3
0
0
23
-65
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
19
-6
-32
4
0
0
11
0
-7
-4
-46
-2
11
0
0
0
0
1
6
15
-8
-24
0
0
0
0
0
-12
12
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
-1
27
33
0
-35
0
0
7
0
2
-5
63
-33
-17
0
0
0
0
0
2
-26
-23
-77
0
0
-6
0
1
14
63
-36
-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
-6
5
-23
41
-42
0
0
0
0
0
-5
-13
-6
27
0
0
0
0
1
2
-6
-76
-5
0
0
0
0
0
-2
-66
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
3
3
5
43
-52
0
0
0
0
0
0
3
10
-23
0
0
0
0
1
11
-1
59
-11
0
0
0
0
0
0
-3
-18
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
8
7
5
-56
-32
5
0
0
0
0
0
0
18
28
-6
0
0
0
0
1
0
-8
24
-6
0
0
0
0
0
5
5
-12
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
-3
-2
19
-55
-18
13
0
0
0
0
0
-5
-5
3
-18
0
0
0
0
-7
0
68
-28
25
0
0
0
0
0
6
24
-31
-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
-11
9
-51
49
0
0
0
0
0
4
22
-72
71
0
0
0
0
-2
2
-12
-112
29
0
0
8
0
-1
-16
42
55
-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
2
-29
59
-69
115
0
0
0
-2
0
-2
-19
-8
123
0
0
0
0
7
-3
-58
-15
-21
0
0
-2
0
0
-11
48
-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
33
1
-16
21
-19
0
0
0
0
11
34
-86
-45
-8
0
0
0
2
-5
-12
-34
47
1
0
-6
0
0
11
-40
90
-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
-5
43
2
-5
10
0
0
0
0
3
9
17
-56
46
0
0
0
0
5
-38
-84
14
60
0
-89
0
0
21
-54
53
54
-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
-2
69
49
-7
2
0
0
0
0
0
7
-14
19
-9
0
0
0
0
-3
7
-47
-56
38
0
0
0
0
0
-1
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
42
-71
6
0
0
0
0
0
11
16
-78
-22
0
0
0
0
-1
26
41
-10
39
0
0
0
0
0
-18
-9
-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
-10
-52
10
25
98
-6
0
0
0
0
0
53
-109
-13
42
0
0
0
0
35
9
74
-22
-20
0
0
0
1
4
17
-59
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
52
-59
51
84
70
-10
4
0
0
0
19
16
-27
45
-7
-11
0
0
4
-47
7
-68
-36
-12
18
0
0
0
-35
6
5
63
-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
18
48
-5
0
0
0
84
-1
-50
6
10
6
0
0
0
0
0
-16
0
-44
10
0
0
0
0
0
1
-28
-52
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-34
-74
-18
0
0
0
51
0
-1
-26
-26
21
0
0
0
0
0
1
-10
62
10
0
0
0
2
0
2
14
-38
-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
-6
58
4
51
-49
0
0
91
2
-7
-95
-2
-16
17
0
0
0
0
0
1
-44
3
23
0
0
0
0
5
12
-4
-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
3
1
-46
-40
20
-9
0
-40
0
35
-65
-61
-3
14
-18
0
0
0
12
-15
-51
86
-33
-20
0
5
0
1
-13
-29
57
-77
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
25
0
0
0
0
0
-3
1
-21
53
0
0
0
0
3
2
-8
-35
8
0
0
0
0
-1
-3
0
-1
-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
2
18
67
7
-2
0
0
0
0
0
-3
-1
6
32
0
0
0
0
0
1
-4
-80
34
0
0
0
0
0
-7
3
38
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-34
61
5
0
0
0
0
-5
12
-18
45
-46
0
0
0
-8
-11
-61
42
-74
49
0
0
0
-12
1
-6
-22
-50
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
-3
-50
-7
21
3
-11
23
0
0
0
-5
-22
-46
66
1
-5
0
0
-6
0
1
40
-17
2
12
0
0
0
6
2
-21
15
-55
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-31
0
0
0
-1
0
4
-14
1
-6
0
0
0
0
0
7
-4
-10
-28
0
0
-9
0
0
6
-102
16
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
5
-18
27
-16
0
0
0
0
0
3
-24
-4
60
0
0
0
0
0
-5
9
-16
-61
0
0
-4
0
0
-1
-4
34
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
32
70
-44
0
0
0
0
1
41
-120
8
84
0
0
0
0
7
38
0
44
-8
0
48
0
0
-17
22
-16
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
1
-33
26
-40
-28
17
0
0
0
-7
-57
-8
129
-99
-33
0
0
-1
-9
57
4
11
15
9
-159
0
0
5
-100
-92
7
-119
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
67
5
-84
0
0
0
0
0
4
62
12
-61
0
0
0
0
0
-2
-7
-15
17
0
0
0
0
0
0
-60
-26
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
0
0
0
0
0
0
0
0
30
26
-7
36
-55
0
0
0
0
0
0
7
-5
34
0
0
0
0
-9
-45
4
-11
11
0
0
0
0
0
0
4
-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
-86
106
1
109
9
6
0
0
0
0
-3
-7
1
54
17
0
0
0
0
-40
30
-6
-24
31
0
0
0
0
-1
-8
-54
-54
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
77
44
73
11
23
-24
11
0
0
0
0
2
-66
-12
-57
6
0
0
4
-13
-28
-9
106
36
-28
0
0
0
0
-55
-41
16
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
2
20
-15
21
0
0
0
18
0
11
-29
-60
62
0
0
0
0
-5
-1
4
18
-10
0
0
0
-49
0
0
-61
-13
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-6
0
0
0
32
0
-9
11
5
-3
0
0
0
0
0
0
-14
21
0
0
0
0
-6
0
1
-2
34
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-75
20
0
0
-128
1
16
-72
-88
139
-1
0
0
0
3
0
9
7
40
-24
0
0
5
0
1
-2
-23
-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
3
-4
1
-55
1
-59
11
0
-29
0
6
26
-77
-4
38
5
0
0
-2
0
-4
-80
100
-21
-23
0
8
0
-11
-40
38
-5
97
-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
22
-92
72
-63
7
0
0
0
0
0
5
-76
-43
87
0
0
0
0
-2
-18
20
-95
83
0
0
0
0
3
-7
48
-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
47
8
-12
-63
33
0
0
0
0
0
-7
-9
30
-75
0
0
0
0
-5
-1
-6
11
35
0
0
0
0
1
-20
6
96
-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
-41
66
59
-40
6
4
0
0
0
-5
-18
14
13
0
6
0
0
0
0
-79
-28
-32
20
24
0
0
0
-3
42
8
0
52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-77
-26
67
-8
-61
37
0
0
-6
-1
39
-112
79
-38
-5
0
0
-5
-10
23
-98
26
22
19
0
0
1
1
-57
69
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
0
0
0
0
0
0
0
-17
-14
13
-8
0
0
0
0
9
-63
-65
-63
26
-15
0
0
0
0
-2
-29
-20
10
14
0
0
33
-67
-11
-6
81
-12
-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
14
-43
-22
23
39
0
0
0
-43
1
18
1
73
-38
0
0
0
0
3
18
-101
43
25
0
0
-59
-26
-1
37
-86
-48
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
18
-21
82
39
-10
-15
0
0
-75
-40
-19
-26
14
50
-4
0
0
0
-19
-9
-122
-15
5
16
0
-38
100
8
-54
-63
-118
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
-55
-16
33
-57
4
-73
5
0
9
-5
1
15
-2
-22
-22
-34
0
0
-15
-46
-40
41
68
-60
13
9
-6
0
7
-2
-105
-9
-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
-64
35
-56
8
22
0
0
0
0
1
-8
105
-42
17
0
0
0
0
29
33
3
-25
10
0
0
0
0
4
2
45
54
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-9
20
0
0
0
0
0
-1
5
92
-9
0
0
0
0
-2
9
10
-105
70
0
0
0
0
0
-5
5
-34
-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
11
-15
11
-66
14
0
0
0
0
0
-7
-6
21
38
0
0
0
0
9
-9
27
26
0
0
0
0
0
0
6
-4
-84
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
-1
22
-7
35
-1
0
0
0
0
0
-1
44
-24
15
0
0
0
0
0
-6
-23
-63
49
0
0
0
0
0
0
17
-23
-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
-48
21
5
19
0
0
0
2
2
20
9
40
7
0
0
0
0
0
0
9
30
-17
0
0
0
2
0
-1
-53
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
20
-44
-20
0
0
0
22
0
-2
2
-76
2
0
0
0
0
0
0
1
-11
15
0
0
0
2
0
0
-39
38
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
-4
16
-25
6
0
0
0
40
2
1
11
-6
20
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
4
-23
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
0
11
-16
-51
0
0
0
29
0
-4
6
-13
-35
0
0
0
0
0
0
-5
-27
41
0
0
0
0
0
0
-11
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
-18
-12
13
-49
34
0
0
0
0
0
-5
-6
-116
43
0
0
0
0
21
23
40
-56
-13
0
0
0
0
0
4
-88
-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
3
16
-1
87
-99
0
0
0
0
0
0
4
-104
36
0
0
0
0
0
1
-18
34
-37
0
0
0
0
0
0
-7
-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
2
-5
9
-11
20
0
0
0
0
0
0
1
-75
120
0
0
0
0
7
-8
-23
45
15
0
0
0
0
0
0
-5
-37
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
-5
-5
-53
2
33
0
0
0
0
0
0
-99
42
36
0
0
0
0
0
-8
6
-4
-56
0
0
0
0
0
0
2
-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
23
22
-15
4
0
0
0
0
0
7
-61
-6
15
0
0
0
0
0
-6
27
-32
4
0
0
60
-2
-2
24
-12
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
1
27
-18
30
0
0
0
-1
0
0
-9
13
-95
0
0
0
0
0
0
-3
39
19
0
0
-11
0
0
5
35
46
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
20
0
0
0
0
0
0
35
-9
37
0
0
0
0
0
0
28
-17
29
0
0
-7
0
-1
4
-77
-41
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
-102
0
0
0
9
0
-7
-85
5
5
0
0
0
0
0
0
6
-58
-29
0
0
13
0
0
0
56
-40
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
105
-31
-89
-10
0
0
0
0
0
-5
17
14
4
0
0
0
0
0
1
-66
79
-19
0
0
0
0
0
3
108
-47
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
22
0
0
0
0
0
-5
-3
67
-54
0
0
0
0
0
6
1
-42
102
0
0
0
0
0
6
6
-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
7
-40
56
-46
38
0
0
0
0
0
10
65
-62
-24
0
0
0
0
0
-4
19
-49
21
0
0
0
0
0
0
-27
-35
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
-2
-25
9
39
-6
0
0
0
0
0
0
5
22
27
0
0
0
0
0
-5
9
50
-9
0
0
0
0
0
3
11
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
13
0
0
0
12
0
2
-6
15
-1
0
0
0
0
0
0
-1
-78
2
0
0
0
0
0
1
-41
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
0
0
0
0
7
-49
103
0
0
0
6
0
5
1
5
-18
0
0
0
0
0
0
0
15
16
0
0
0
0
0
-4
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
0
0
6
1
-23
-53
52
0
0
0
-30
0
0
-1
-41
37
0
0
0
0
0
0
-5
28
39
0
0
0
0
0
0
57
-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
4
41
-41
-2
0
0
0
-20
0
0
22
5
44
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-17
-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
17
-3
-24
63
-52
0
0
0
0
0
0
-9
46
11
0
0
0
0
0
-1
4
-44
34
0
0
0
0
0
11
49
-42
-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
2
-25
3
54
0
0
0
0
0
2
0
7
36
0
0
0
0
0
-1
0
-39
15
0
0
0
0
0
-1
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
-5
15
4
37
0
0
0
0
0
-4
-4
9
27
0
0
0
0
0
0
-6
12
-33
0
0
0
0
0
5
-5
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
4
-2
4
68
0
0
0
0
0
-2
-8
-9
21
0
0
0
0
-5
1
-1
-4
10
0
0
0
0
0
0
14
-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
-2
9
52
-34
20
0
0
0
5
0
-43
-34
-44
12
0
0
0
0
0
19
-12
53
8
0
0
5
0
0
-18
50
-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
-35
-56
54
47
0
0
0
0
0
10
-32
-19
34
0
0
0
0
0
-7
12
59
-20
0
0
0
0
0
6
-24
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
0
-3
11
-29
37
40
0
0
0
-2
0
45
-15
-39
13
0
0
0
0
0
52
14
-4
-74
0
0
-11
0
0
-47
90
-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
-51
22
30
-59
0
0
0
0
0
11
-17
-62
8
0
0
0
0
0
6
-24
-4
1
0
0
0
0
0
-23
37
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
52
-77
-37
79
30
0
0
0
0
0
-15
-7
8
-21
0
0
0
0
3
24
-16
-133
64
0
0
0
0
0
19
-28
-45
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
110
-5
-23
0
0
0
0
0
1
6
39
-21
0
0
0
0
0
-5
7
55
33
0
0
0
0
0
-3
-20
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
-9
50
-38
24
25
0
0
0
0
0
4
18
-50
-26
0
0
0
0
0
6
3
-58
4
0
0
0
0
0
0
3
-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
2
-38
-27
-44
112
0
0
0
0
0
0
-4
-5
35
0
0
0
0
0
0
4
6
48
0
0
0
0
0
-11
2
-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
4
35
24
17
0
0
0
37
0
11
12
16
8
0
0
0
0
0
-3
-4
-29
78
0
0
0
12
0
-5
-10
-27
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
2
0
-43
63
0
0
0
11
0
-2
-6
0
-3
0
0
0
0
0
0
0
39
5
0
0
0
0
0
0
14
-89
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
-6
14
44
0
0
0
-2
0
-4
3
-24
50
0
0
0
0
0
0
-7
-27
-12
0
0
0
0
0
0
-3
-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
4
-81
43
0
0
0
19
0
2
0
-32
-42
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
-19
-20
-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
-3
-52
-35
27
4
0
0
0
0
0
1
-3
-9
2
0
0
0
0
-2
-11
28
-48
47
0
0
0
0
0
0
-8
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
-1
0
4
20
-7
0
0
0
0
0
0
-2
-74
6
0
0
0
0
-1
-60
60
-86
23
0
0
0
0
0
0
18
-105
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
-2
-1
0
36
16
0
0
0
0
0
-3
-14
31
-3
0
0
0
0
0
-2
0
-30
3
0
0
0
0
0
0
-7
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
-6
-20
69
0
0
0
0
0
0
-3
-39
51
0
0
0
0
0
12
0
15
-99
0
0
0
0
0
0
1
72
-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
35
115
16
-31
0
0
0
-3
0
0
-22
40
28
0
0
0
0
0
1
-17
-4
58
0
0
46
0
-4
-23
11
-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
-2
-46
37
21
0
0
0
4
0
2
40
-43
11
0
0
0
0
0
3
-6
-48
-23
0
0
-44
-2
0
33
59
-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
0
0
0
-11
21
40
-46
0
0
0
0
0
3
-37
-38
-29
0
0
0
0
0
-3
3
-28
18
0
0
-3
0
0
-16
-35
7
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
1
-22
46
23
0
0
0
0
0
-11
12
-121
134
0
0
0
0
0
-1
-1
-32
38
0
0
5
0
0
-4
-34
-83
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
27
20
-36
23
2
0
0
0
0
0
0
-10
-16
38
0
0
0
0
0
0
-11
73
12
0
0
0
0
0
0
-17
-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
-4
5
-1
68
-74
0
0
0
0
0
0
4
27
-23
0
0
0
0
0
-2
-5
-22
33
0
0
0
0
0
0
-3
-53
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
53
-17
0
0
0
0
0
0
-9
-6
47
0
0
0
0
0
0
-5
0
42
0
0
0
0
0
0
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
7
-2
-6
52
-92
0
0
0
0
0
0
8
6
-5
0
0
0
0
0
0
-7
3
24
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
-4
-54
25
41
0
0
0
0
0
-5
-6
-29
-18
0
0
0
0
0
0
31
-68
12
0
0
0
0
0
3
-51
-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
0
0
0
7
-70
43
0
0
0
-2
0
5
-29
21
45
0
0
0
0
0
0
-1
-15
5
0
0
0
0
0
0
-18
-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
-3
0
-8
5
53
0
0
0
0
0
0
8
-46
38
0
0
0
0
0
0
3
-10
25
0
0
0
0
0
0
-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
-2
6
-29
89
0
0
0
5
0
0
0
-37
37
0
0
0
0
0
0
0
-2
9
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
37
60
17
-94
-11
0
0
0
0
0
2
-3
-20
-11
0
0
0
0
-10
16
3
-59
30
0
0
0
0
0
0
86
-84
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-54
69
0
0
0
0
0
-1
1
-18
16
0
0
0
0
3
5
-13
11
26
0
0
0
0
0
0
0
-115
154
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
8
11
-57
0
0
0
0
0
0
9
12
-81
0
0
0
0
-5
-5
-11
19
-21
0
0
0
0
0
0
2
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
16
-4
6
-19
-9
0
0
0
0
0
0
0
-13
100
0
0
0
0
-13
10
2
3
1
0
0
0
0
0
-2
-27
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
-37
-28
62
-13
4
0
0
0
-7
0
-15
5
26
-6
0
0
0
0
1
-107
28
5
55
0
0
-9
6
-4
32
-50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
62
5
22
0
0
0
2
0
-39
14
-56
40
0
0
0
0
-4
68
-42
58
-53
0
0
0
0
1
48
-7
-90
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
1
9
10
-40
-39
0
0
0
1
-1
-11
-67
51
-16
0
0
0
0
0
-29
94
-134
62
0
0
-19
0
1
2
75
-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
-15
58
-14
-2
-23
0
0
0
-9
0
-64
24
-38
-5
0
0
0
0
-3
11
-1
-18
25
0
0
21
0
0
-15
29
-43
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
111
-106
4
0
0
0
0
0
6
12
-57
39
0
0
0
0
-5
-1
-22
39
-53
0
0
0
0
-1
1
22
-68
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
56
-40
8
-25
0
0
0
0
0
1
7
-83
47
0
0
0
0
0
1
4
-30
0
0
0
0
0
0
-2
1
-22
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
68
23
6
0
0
0
0
6
47
46
31
-2
0
0
0
-11
33
-63
-23
48
1
0
0
0
0
-4
8
-6
-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
23
-6
-18
10
-10
-4
0
0
0
0
0
3
9
35
-9
0
0
0
0
3
-4
43
0
13
0
0
0
0
0
33
-95
-28
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
17
11
12
-38
0
0
0
28
-1
6
-27
-23
-15
0
0
0
0
0
0
-4
-52
32
0
0
0
0
0
0
19
90
-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
2
1
-59
45
0
0
0
5
0
2
10
-106
33
0
0
0
0
0
0
0
-14
-24
0
0
0
0
0
0
1
-72
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
-6
8
-72
-19
11
0
0
53
-1
0
-57
-32
8
2
0
0
0
0
0
11
84
-36
-6
0
0
0
0
0
-12
-52
-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
-3
2
-26
-3
3
0
0
-5
0
-2
8
-23
21
20
0
0
0
0
0
0
11
102
-63
0
0
-8
0
0
6
90
-57
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-90
90
0
0
0
0
0
0
-5
-33
87
0
0
0
0
0
-4
-11
55
-33
0
0
0
0
0
-8
1
-35
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
4
7
0
11
25
0
0
0
0
0
0
1
-90
20
0
0
0
0
0
1
-8
-13
3
0
0
0
0
0
0
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
5
-8
6
-35
22
10
0
0
0
0
0
0
-69
18
19
0
0
0
5
-19
-34
-46
23
11
0
0
0
0
0
0
26
-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
0
0
0
0
0
-13
-9
33
6
97
-45
0
0
0
0
0
-3
79
-31
-35
0
0
0
0
-10
1
47
-69
-13
0
0
0
0
0
-4
83
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
-27
-1
19
54
0
0
0
0
0
0
6
17
-21
0
0
0
0
0
0
-38
-20
69
0
0
-15
9
2
24
-54
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
-6
9
25
31
0
0
0
0
0
0
14
20
-22
0
0
0
0
0
0
0
33
-41
0
0
3
0
0
0
20
-37
-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
-25
37
-22
-140
14
0
0
0
0
0
79
8
-7
2
0
0
0
0
0
23
-129
46
3
0
43
0
0
-9
64
-4
144
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
36
30
0
0
2
0
-2
-15
-4
31
-31
0
0
0
0
0
1
-58
-33
52
0
1
0
0
3
-69
46
48
-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
49
-4
-23
-3
5
0
0
0
0
0
-3
38
-113
13
0
0
0
0
-1
0
-22
-114
72
0
0
0
0
0
0
-25
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
0
7
-7
-14
-55
56
0
0
0
0
0
0
-2
-70
65
0
0
0
0
0
0
0
40
-32
0
0
0
0
0
0
3
-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
-14
29
13
67
-22
8
0
0
0
-1
1
-104
-77
107
23
0
0
0
0
0
-3
32
30
-7
0
0
0
0
-1
-12
-20
-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
1
-1
-19
83
-39
4
0
0
0
0
0
1
-56
-69
-20
0
0
0
0
0
1
38
22
-171
0
0
0
0
0
-7
13
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
-1
0
-22
1
-12
0
0
0
-1
0
1
6
-16
5
0
0
0
0
0
1
2
-30
-7
0
0
0
0
0
0
22
-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
1
-99
57
0
0
0
9
0
0
-2
8
-19
0
0
0
0
0
0
-5
3
9
0
0
0
0
0
0
-2
-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
2
11
48
-61
-35
-3
0
0
18
0
-6
72
-39
-106
14
0
0
0
0
0
4
-35
-54
6
0
0
0
0
0
-53
11
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
-7
-66
-3
16
0
0
6
0
8
0
-17
-72
3
0
0
0
0
0
0
0
2
-115
0
0
0
0
0
-1
-34
33
-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
2
-2
4
-81
0
0
0
0
0
0
0
1
17
5
0
0
0
0
0
6
1
-20
3
0
0
0
0
0
0
-12
-33
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
2
0
0
4
-73
0
0
0
0
0
0
-7
12
-9
0
0
0
0
0
2
0
-34
-24
0
0
0
0
0
0
7
15
-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
-11
11
-16
-24
231
-12
0
0
0
0
0
0
-65
2
5
0
0
0
-1
4
-1
-45
-11
12
0
0
0
0
-5
-3
0
45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-2
-1
-7
0
0
0
0
-4
-4
-5
-29
-2
0
0
0
0
0
-1
-19
-4
67
0
0
0
0
0
-8
1
11
-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
-4
-10
14
16
19
0
0
0
-6
0
12
-18
-23
40
0
0
0
0
0
0
-3
-56
10
0
0
18
0
0
-34
-14
-60
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
5
17
72
-41
-28
0
0
0
4
0
-3
-16
8
50
0
0
0
0
0
-4
-11
36
-10
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
62
70
36
-2
0
0
5
0
19
-13
-61
7
0
0
0
0
-1
-11
-42
-4
-15
7
0
-1
0
-2
82
-80
-61
-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
20
14
16
17
-32
0
0
2
0
-1
45
-66
-24
55
0
0
0
2
3
38
-61
-25
-75
0
1
0
0
0
-37
44
-3
-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
-50
8
7
61
36
0
0
0
0
0
5
23
-87
76
0
0
0
0
-3
15
24
-76
0
0
0
0
0
0
28
-9
-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
7
19
-45
31
-11
0
0
0
0
0
0
4
-32
9
0
0
0
0
0
-4
3
44
-33
0
0
0
0
0
0
0
-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
46
15
-55
32
105
8
0
0
0
0
2
-18
9
-60
10
0
0
0
-5
16
57
23
-40
11
0
0
0
0
3
-14
-11
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
76
-70
92
-1
43
-17
4
0
0
0
-9
17
-19
54
23
-9
0
0
-1
10
-44
-101
90
6
2
0
0
4
3
-46
58
20
11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
7
0
0
0
-3
1
5
27
-111
37
0
0
0
0
0
0
9
34
-71
0
0
0
-1
0
0
-76
-30
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
6
-10
0
0
0
-6
0
-4
-5
-5
-21
0
0
0
0
0
0
0
-13
44
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-43
72
5
0
0
-13
0
-7
-38
-70
-37
47
0
0
0
0
1
0
15
-67
37
0
0
0
0
-3
29
-35
58
-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
26
44
12
-16
-4
0
-23
0
-13
20
-7
-17
-24
-4
0
0
0
0
-13
-97
60
10
2
0
1
0
5
-16
33
28
-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
-3
24
-22
8
-30
0
0
0
0
0
-2
-1
71
12
0
0
0
0
-13
5
-2
-16
51
0
0
0
0
0
-1
-5
-71
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
1
-56
4
0
0
0
0
-2
1
0
-17
16
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
5
-44
-61
31
-2
0
0
0
0
0
0
-16
-5
-14
0
0
0
8
-8
8
-2
-21
-5
0
0
0
0
3
-12
-22
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
6
9
40
13
-44
-64
22
0
0
0
0
24
12
-28
21
-14
0
0
-1
-1
14
-7
-21
-24
3
0
0
0
1
3
41
-10
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
4
-62
71
-15
45
0
0
0
3
0
0
50
-61
18
0
0
0
0
0
-1
4
29
-47
0
0
33
0
-6
-26
7
-56
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
33
0
0
0
0
0
0
11
28
43
0
0
0
0
0
0
-2
-55
-9
0
0
23
0
0
-10
-17
88
-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
12
13
-13
-8
-9
0
0
-6
0
0
43
-6
-44
13
0
0
0
0
0
6
-63
42
26
0
-58
0
-6
3
-32
-95
-4
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
-2
-5
-32
37
11
-4
0
5
0
-2
-123
-21
45
-8
12
0
0
0
-1
-11
-20
-91
-18
10
-22
-1
0
-11
1
-14
-34
-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
-8
-29
18
7
27
0
0
0
0
0
7
73
-60
-15
0
0
0
0
0
3
22
-80
80
0
0
0
0
0
0
-72
-20
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
3
-19
24
-18
-6
0
0
0
0
0
-18
-4
-6
35
0
0
0
0
-1
0
-3
-9
47
0
0
0
0
0
1
-5
-25
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
8
-26
-18
51
3
-7
0
0
0
0
8
-28
94
-33
-5
0
0
0
0
0
6
74
-49
-12
0
0
0
0
0
28
-13
40
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-77
-35
-4
32
0
0
-1
0
-18
-2
19
-45
-14
0
0
-5
-4
-5
30
18
56
-72
0
0
0
0
10
-69
-18
-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
-3
-2
10
-22
-2
0
0
0
18
2
-12
40
-29
-27
0
0
0
0
-2
9
-3
-80
70
0
0
0
-25
0
-11
-74
9
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
-9
-28
0
0
0
-49
0
2
-17
29
18
0
0
0
0
0
0
1
39
-29
0
0
0
0
0
0
-9
-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
-1
0
-21
52
-62
17
0
0
-27
0
-2
23
-49
101
-14
0
0
0
0
-2
1
-3
48
15
0
0
-1
0
0
14
-16
-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
-1
-24
-73
5
11
19
0
91
0
-2
-4
-19
-72
72
-27
0
0
-1
0
-3
-78
0
-35
14
0
0
0
0
-12
-24
4
-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
-62
35
22
45
15
0
0
0
0
0
-5
-24
-62
38
0
0
0
0
5
-7
0
25
18
0
0
0
0
0
3
23
-98
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
-16
-3
-15
-4
67
0
0
0
0
0
-1
-1
31
-10
0
0
0
0
22
-26
-2
13
-21
0
0
0
0
0
1
-22
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
37
-15
-6
-96
23
7
0
0
0
1
-8
10
18
28
-24
0
0
0
1
-1
-7
27
24
-2
0
0
0
0
1
-17
-48
136
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
-112
5
-22
0
0
0
3
2
-11
-27
-34
-5
0
0
-52
5
8
20
8
21
-9
0
0
0
-1
-7
-29
41
-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
7
40
6
-12
-5
0
0
0
2
-40
-3
-20
2
-2
0
0
0
0
34
71
72
28
-25
0
0
-2
22
-50
-57
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
0
4
-61
26
-11
15
0
0
0
72
6
32
-113
-35
34
0
0
0
0
22
68
-3
-44
19
0
0
51
-24
11
-56
-65
17
-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
45
65
64
51
3
0
0
46
9
38
-13
-3
37
-2
0
0
0
10
52
39
-44
54
0
0
74
42
-12
-58
44
-63
-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
-32
10
-8
7
24
3
2
0
-47
19
-11
110
-26
18
18
-23
0
0
-15
-62
-46
12
3
-2
18
-124
24
23
-198
-51
-90
-45
-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
23
-40
62
-53
23
0
0
0
0
1
50
-69
-99
13
0
0
0
0
15
-35
-26
-7
20
0
0
0
0
-6
29
102
14
-20
0
0
0
0
-16
42
60
-24
8
0
0
0
0
-34
-7
-65
52
23
0
0
0
0
-4
25
-1
-60
17
0
0
0
0
-56
66
12
13
22
0
0
0
0
-2
11
36
-116
49
0
0
0
0
0
63
-25
0
4
0
0
0
0
-23
-19
24
-36
38
0
0
0
0
4
23
-91
55
2
0
0
0
0
33
41
0
12
47
0
0
0
0
17
-16
-10
1
-2
0
0
0
0
9
-55
-35
82
44
0
0
0
0
1
-46
16
-63
10
0
0
0
0
-11
-47
-19
-79
121
0
0
0
0
-3
39
-9
-66
34
0
0
0
0
-9
27
-22
-18
26
0
0
0
0
0
-41
-31
-19
81
0
0
0
0
-28
-36
-10
-34
47
0
0
0
0
15
-49
42
14
-26
0
0
0
0
-34
21
10
-5
-4
0
0
0
0
60
-43
86
-40
-54
0
0
0
0
-27
-4
29
47
61
0
0
0
0
2
-45
64
0
61
0
0
0
0
25
9
76
-84
-34
0
0
0
0
2
71
1
12
-35
0
0
0
0
16
-30
-5
-99
63
0
0
0
0
22
-22
119
-84
-14
0
0
0
0
-30
98
34
-27
-6
0
0
0
0
58
5
16
-14
-7
0
0
0
0
0
51
-22
11
19
0
0
0
0
-1
96
53
-5
15
0
0
0
0
0
-7
9
10
8
0
0
0
7
0
-17
22
-8
-1
0
0
0
0
0
19
72
10
0
0
0
0
65
-11
-14
-51
24
20
0
0
0
0
0
3
-16
-61
32
0
0
0
16
0
11
48
-66
18
0
0
0
0
0
-35
-9
-2
59
0
0
0
-66
-14
-12
-29
39
66
0
0
0
0
0
-36
-18
-60
55
0
0
0
55
0
-22
-77
-58
61
0
0
0
0
0
-5
1
-152
48
0
0
0
56
0
-18
2
34
-12
0
0
0
0
0
-1
-16
-2
-16
0
0
0
-38
1
8
42
48
29
0
0
0
0
0
5
36
-1
2
0
0
0
108
1
-9
-19
-5
36
0
0
0
0
0
2
-16
18
-27
0
0
0
-3
0
0
-48
-13
41
0
0
0
0
1
2
-36
-36
34
0
0
0
-59
10
21
-59
61
-16
0
0
0
0
0
9
11
6
-35
0
0
0
19
0
1
82
-28
-1
0
0
0
0
0
5
5
64
-16
0
0
0
-32
1
30
-24
-95
81
0
0
0
0
0
4
11
-64
63
0
0
0
28
0
-6
-10
-10
35
0
0
0
0
-2
6
-72
-39
41
0
0
0
-33
4
-2
38
2
23
0
0
0
0
0
-19
4
-42
57
0
0
0
29
0
-15
64
5
-2
0
0
0
0
13
-53
60
-56
-14
0
0
0
0
0
2
-2
39
-14
0
0
0
0
-3
31
-10
-15
17
0
0
0
0
0
-19
-6
38
17
0
0
0
0
-2
11
8
23
-19
0
0
0
0
0
-4
30
-5
1
0
0
0
0
4
-5
29
-42
47
0
0
0
0
0
-82
64
10
-26
0
0
0
0
20
90
-50
-48
-41
0
0
0
0
0
-10
18
17
-13
0
0
0
0
22
-60
72
-47
9
0
0
0
0
0
-4
18
-63
18
0
0
0
0
-1
8
-38
-8
50
0
0
0
0
0
-11
-7
-32
-51
0
0
0
0
-6
48
55
-101
-14
0
0
0
0
-8
30
38
-96
28
0
0
0
0
1
6
40
-1
-26
0
0
0
0
0
2
7
-9
3
0
0
0
0
5
-34
-83
1
72
0
0
0
0
0
7
-63
-25
18
0
0
0
0
0
27
-32
-58
31
0
0
0
0
0
3
-50
-52
17
0
0
0
0
1
5
47
21
-14
0
0
0
0
-4
19
30
-22
58
0
0
0
0
37
12
99
-205
76
0
0
0
0
0
3
-28
44
-56
0
0
0
0
21
27
-84
-79
28
0
0
0
0
0
-13
-11
35
28
0
0
0
0
27
63
25
56
-163
0
0
0
0
13
22
-42
-49
39
0
0
0
0
-13
-41
12
-87
100
0
0
0
0
11
21
45
-41
4
0
0
0
0
0
32
-29
16
-13
0
0
0
19
-3
-12
-10
-32
41
0
0
0
0
0
-9
-56
26
21
0
0
13
-15
4
44
-42
-32
29
0
0
0
0
0
2
-3
-61
8
0
0
0
0
0
-15
-36
41
-18
0
0
0
0
0
-32
10
-39
67
0
0
-4
-3
-21
-18
57
5
-2
0
0
0
0
0
0
-9
87
-11
0
0
0
-2
0
-2
117
-67
-10
0
0
0
0
0
93
-38
45
-128
0
0
-50
-2
-3
-12
54
-54
-5
0
0
0
0
0
-7
8
2
-41
0
0
0
-5
0
-5
-10
-9
34
0
0
0
0
0
2
-25
-51
-22
0
0
22
-4
8
79
-41
13
-39
0
0
0
0
0
2
45
-89
4
0
0
0
0
0
0
-11
-105
74
0
0
0
0
0
-5
-33
26
44
0
0
-22
-13
3
-7
17
7
0
0
0
0
0
0
-7
-70
25
7
0
0
0
0
0
9
-10
-38
-35
0
0
0
0
0
0
-4
-31
62
0
0
70
0
6
-32
26
-22
-75
0
0
0
0
0
2
19
-15
31
0
0
0
21
0
0
-9
-35
31
0
0
0
0
0
-9
-49
3
78
0
0
14
10
1
-62
6
36
-15
0
0
0
0
0
19
-43
-26
8
0
0
0
-8
0
-1
-50
-79
117
0
0
0
0
-1
27
28
-109
90
0
0
-2
47
-66
-33
28
31
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
21
36
0
0
0
0
0
0
-24
45
-9
0
0
0
0
-2
-25
-34
22
43
0
0
0
0
0
-21
15
-21
21
0
0
0
0
7
25
-7
48
12
0
0
0
0
-1
0
-22
4
-23
0
0
0
0
2
-3
63
-9
30
0
0
0
0
-2
-6
-23
-80
123
0
0
0
0
81
-9
-3
38
9
0
0
0
0
0
9
2
-46
2
0
0
0
0
4
25
58
-77
-9
0
0
0
0
0
39
-49
-53
56
0
0
0
0
3
-26
61
-55
39
0
0
0
0
-1
-24
9
16
23
0
0
0
0
15
-20
22
-43
3
0
0
0
0
-10
75
-106
92
-6
0
0
0
0
-50
-9
16
40
26
0
0
0
0
0
1
-1
-63
59
0
0
0
0
5
-25
-4
-96
72
0
0
0
0
0
-16
16
-21
56
0
0
0
0
4
4
-33
-51
121
0
0
0
0
0
3
6
-37
74
0
0
0
0
9
-29
16
-10
4
0
0
0
0
-17
29
1
6
-9
0
0
0
0
5
-122
46
45
66
0
0
0
0
0
11
4
30
-20
0
0
0
0
0
5
51
-8
-6
0
0
0
0
-4
14
36
20
-21
0
0
0
0
-14
-41
110
46
-32
0
0
0
0
3
10
-12
34
-28
0
0
0
0
18
14
-100
-22
8
0
0
0
0
20
53
-48
-38
-1
0
0
0
0
0
-1
-10
113
8
0
0
0
13
-1
0
-14
-47
48
0
0
0
0
0
0
-6
-63
-11
0
0
0
13
0
1
35
-20
-47
0
0
0
0
0
0
-7
-29
76
0
0
0
6
0
0
-32
2
17
0
0
0
0
0
0
5
32
-12
0
0
0
-2
0
0
71
-16
10
0
0
0
0
0
4
-29
20
-14
0
0
0
37
0
-7
31
19
-42
0
0
0
0
0
0
6
-61
16
0
0
0
-2
0
0
-122
50
16
0
0
0
0
0
-2
-11
-3
66
0
0
0
-18
0
7
-26
-21
-14
0
0
0
0
0
1
6
-57
2
0
0
0
-4
0
-26
60
-6
-16
0
0
0
0
0
1
11
37
-19
0
0
0
37
0
3
1
-137
66
0
0
0
0
0
0
-7
-18
33
0
0
0
0
0
-3
6
21
-75
0
0
0
0
0
0
-7
-4
15
0
0
0
28
0
7
-2
64
-109
0
0
0
0
0
0
1
-22
6
0
0
0
-3
0
1
-40
-54
-7
0
0
0
0
0
6
20
-83
58
0
0
0
16
0
-6
2
-24
54
0
0
0
0
0
0
0
157
-64
0
0
0
-2
0
2
1
-90
68
0
0
0
0
0
6
8
-21
31
0
0
0
54
-4
4
2
-26
-46
0
0
0
0
-3
0
1
-33
1
0
0
0
-72
3
-48
-23
-31
20
0
0
0
0
-3
-11
-7
-53
95
0
0
0
0
0
5
-11
-70
31
0
0
0
0
0
2
2
-33
-54
0
0
0
0
0
6
6
-7
35
0
0
0
0
0
-1
2
-32
6
0
0
0
0
0
0
-5
54
-30
0
0
0
0
0
-4
-2
-14
-31
0
0
0
0
0
-1
-9
14
15
0
0
0
0
0
6
-58
-75
74
0
0
0
0
0
-4
-7
-69
75
0
0
0
0
-6
30
45
-82
-30
0
0
0
0
0
23
-3
-2
-32
0
0
0
0
-1
8
-5
7
-84
0
0
0
0
0
-3
-1
-13
-40
0
0
0
0
-14
-43
1
-14
84
0
0
0
0
-19
-61
64
-9
-41
0
0
0
0
-1
-5
8
18
64
0
0
0
0
0
0
0
15
-34
0
0
0
0
0
-1
-4
37
-46
0
0
0
0
0
0
0
36
3
0
0
0
0
0
0
4
-33
48
0
0
0
0
0
0
-1
-11
-1
0
0
0
0
0
0
-3
7
12
0
0
0
0
0
-2
14
-10
-18
0
0
0
0
3
1
-7
25
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
21
2
88
-61
0
0
0
0
0
7
-8
-64
80
0
0
0
0
0
-5
8
53
-16
0
0
0
0
0
2
-9
-42
55
0
0
0
0
19
-5
-22
-22
61
0
0
0
0
-19
38
-112
-56
51
0
0
0
0
0
15
6
45
26
0
0
0
0
0
-3
-17
-10
23
0
0
0
0
0
0
0
-43
39
0
0
13
0
0
6
-119
38
67
0
0
0
0
0
0
16
-6
-97
0
0
0
0
0
3
8
-62
-34
0
0
0
0
0
-3
1
-6
32
0
0
3
0
0
4
-2
-12
4
0
0
0
0
0
-10
70
-52
-29
0
0
0
4
0
0
1
-88
20
0
0
0
0
0
-7
-45
44
-23
0
0
39
5
0
21
-34
-21
-37
0
0
0
0
0
0
5
8
12
0
0
0
0
0
-1
-8
2
-19
0
0
0
0
0
0
-12
-79
20
0
0
0
11
-2
-47
-9
-40
80
0
0
0
0
0
-2
16
50
-54
0
0
0
0
0
0
1
-12
35
0
0
0
0
0
-4
0
-13
67
0
0
37
0
0
2
10
-88
6
0
0
0
0
0
0
15
-17
-79
0
0
0
0
0
0
3
-11
-17
0
0
0
0
0
0
-10
-6
9
0
0
-4
0
0
4
-67
9
-16
0
0
0
0
0
0
6
-26
105
0
0
0
0
0
0
5
26
-13
0
0
0
0
0
0
-4
11
-8
0
0
11
-8
-3
-2
48
-78
91
0
0
0
0
0
3
1
5
65
0
0
0
-5
0
0
16
40
-97
0
0
0
0
2
-4
30
6
-65
0
0
11
-24
-1
32
-52
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
44
-2
0
0
0
0
0
8
23
-40
-12
0
0
0
0
-7
23
-61
45
15
0
0
0
0
0
51
-24
12
31
0
0
0
0
-26
-18
55
-24
-13
0
0
0
0
3
-49
31
-34
19
0
0
0
0
1
-15
-55
70
-28
0
0
0
0
-3
-11
-8
27
5
0
0
0
0
-73
30
62
45
-4
0
0
0
0
0
4
4
100
35
0
0
0
0
13
-23
-16
-14
65
0
0
0
0
0
22
-35
12
-4
0
0
0
0
7
15
-18
34
-5
0
0
0
0
0
-19
12
-75
41
0
0
0
0
41
-48
49
-38
45
0
0
0
0
-30
30
2
-16
2
0
0
0
0
84
10
7
-47
-28
0
0
0
0
-11
-41
36
-64
-46
24
0
0
0
-45
39
73
19
-54
5
0
0
0
1
7
63
-26
132
1
0
0
0
12
3
46
-22
23
13
0
0
0
-10
-32
-15
-61
-25
19
0
0
0
30
20
-46
-114
112
0
0
0
0
66
-23
50
9
-34
-13
0
0
0
6
64
-17
104
40
9
0
0
0
0
-9
10
-66
-48
30
0
0
0
25
22
34
-22
96
11
0
0
0
-1
-41
-71
-53
-1
43
0
0
0
-52
8
44
18
46
13
0
0
0
34
-70
79
-29
57
1
0
0
0
-22
28
32
85
54
-17
0
0
0
-34
-80
27
-14
31
2
0
0
0
0
10
-3
-23
31
0
0
0
-33
-5
3
-45
-88
62
0
0
0
0
0
0
76
19
-84
0
0
0
2
0
-4
29
-50
37
0
0
0
0
0
9
-59
71
46
0
0
0
51
0
-16
116
-46
-43
0
0
0
0
0
-2
-1
-52
40
0
0
0
0
3
-13
18
-25
7
0
0
0
0
0
4
10
-18
78
0
0
0
24
0
2
-1
-39
-14
0
0
0
0
0
3
-10
-29
12
0
0
0
12
0
-12
-4
-58
20
0
0
0
0
0
0
2
-69
-13
0
0
0
53
0
9
-37
6
-24
0
0
0
0
0
11
-5
-48
48
0
0
0
12
2
-34
44
-17
14
0
0
0
0
0
-1
43
35
32
-6
0
0
-60
-2
2
-8
-20
31
2
0
0
0
0
3
69
-19
2
7
0
0
0
0
0
5
6
3
-26
0
0
0
0
-1
39
-27
-75
7
0
0
-98
-2
-2
43
-113
86
13
0
0
0
0
-2
0
-64
72
-38
0
0
0
2
21
-53
7
31
-16
0
0
0
0
6
8
-45
-63
30
0
0
7
0
0
-25
-139
-44
92
0
0
0
0
0
19
-76
31
-44
0
0
47
0
-5
-18
-115
116
17
0
0
0
7
-5
-13
38
40
-4
0
0
62
-6
1
-62
34
5
31
0
0
0
7
-8
-16
46
-3
-16
0
0
-56
-3
24
-76
-7
25
-9
0
0
0
4
4
-8
-24
55
0
0
0
0
0
0
3
15
26
0
0
0
0
4
33
38
-56
-37
0
0
0
0
0
2
41
-90
43
0
0
0
0
0
1
-28
-59
25
0
0
0
0
0
6
-3
-23
66
0
0
0
0
1
1
-1
40
6
0
0
0
0
0
13
13
-49
67
0
0
0
0
-1
3
-6
24
33
0
0
0
0
0
0
2
4
-4
0
0
0
0
-1
10
2
24
-50
0
0
0
0
0
-8
1
-47
6
0
0
0
0
0
-1
0
21
-23
0
0
0
0
0
0
1
-22
6
0
0
0
0
0
-11
41
69
-44
0
0
0
0
2
1
32
-17
-5
0
0
0
0
2
0
-13
-185
31
-6
0
0
0
0
0
2
50
-21
6
0
0
0
-19
-44
-98
-8
1
8
0
0
0
0
-7
90
-49
-135
10
0
0
0
0
0
6
-25
-92
-13
0
0
0
0
0
-18
43
-44
27
0
0
0
-9
-35
-31
8
-14
16
0
0
0
10
65
-18
-64
44
-11
0
0
0
0
-3
71
-32
30
2
0
0
0
0
3
-4
-63
-19
61
0
0
0
3
-22
-38
11
-29
29
0
0
0
0
0
-55
-11
114
9
0
0
0
-4
-2
8
39
55
13
0
0
0
-2
-4
31
-19
25
10
0
0
0
9
48
18
-59
-67
26
0
0
0
-37
-39
32
-19
57
-3
0
0
0
1
-8
35
47
-13
0
0
0
0
0
-3
31
15
-45
0
0
0
0
0
-3
51
-54
-2
0
0
2
7
3
-12
-50
-25
13
0
0
0
0
0
4
13
-27
-48
0
0
0
0
0
6
8
-54
7
0
0
0
0
0
0
2
12
21
0
0
-4
0
-3
60
-31
-60
78
0
0
0
0
0
4
-11
-28
108
0
0
0
0
0
0
1
3
21
0
0
0
0
0
7
-14
-87
43
0
0
-3
1
0
28
-33
49
-11
0
0
0
0
0
0
-11
13
-53
0
0
0
0
0
0
1
-10
15
0
0
0
0
0
1
-5
8
33
0
0
16
0
-2
-31
9
-61
-1
0
0
0
0
0
4
-8
4
35
-11
0
0
0
0
-1
-3
-24
-1
-9
0
0
0
0
-5
0
-110
-70
8
0
-36
-1
5
-13
-68
-27
103
10
0
0
0
0
-4
-37
104
31
-14
0
0
0
0
0
69
9
40
-41
0
0
0
0
0
21
-47
-21
-5
0
14
0
6
-24
-36
6
7
-20
0
0
0
0
0
2
61
-35
-34
0
0
-5
0
0
12
-4
87
-62
0
0
0
0
0
7
-59
62
-7
0
-2
0
1
1
23
-49
12
55
0
0
0
0
-1
15
-77
-56
14
0
0
14
0
1
-3
-5
16
-32
0
0
0
0
-8
49
-40
6
8
0
21
-9
14
-18
-85
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-76
36
0
0
0
0
0
1
-7
8
-12
0
0
0
0
5
8
155
-91
-2
0
0
0
0
0
8
30
-52
18
0
0
0
0
-1
-53
-27
6
85
0
0
0
0
-1
-1
32
5
-11
0
0
0
0
-1
-10
8
-4
-8
0
0
0
0
0
-32
-36
30
75
0
0
0
0
-34
12
31
32
-50
0
0
0
0
0
4
4
-111
25
0
0
0
0
-2
-21
-43
77
84
0
0
0
0
-1
-25
-68
62
-19
0
0
0
0
6
-23
11
23
24
0
0
0
0
-5
7
-5
0
-16
0
0
0
0
20
11
-16
-43
84
0
0
0
0
36
1
-27
-75
18
0
0
0
0
31
58
55
-25
-9
-10
0
0
0
0
0
23
6
-7
42
0
0
0
1
8
78
-13
17
-17
0
0
0
0
3
37
-12
-12
7
0
0
0
-1
33
-17
38
-8
-44
0
0
0
-3
9
-7
-15
25
7
0
0
0
0
18
-9
111
-46
-21
0
0
0
-6
38
43
32
26
-23
0
0
0
12
-29
-23
5
10
-30
-3
0
0
0
-13
-14
31
-18
-3
13
0
0
5
-37
-79
-41
-1
6
2
0
0
1
59
20
-39
11
-3
8
0
0
-80
-50
5
-12
59
5
10
0
0
-13
-70
-48
-5
133
3
5
0
0
4
19
-2
-14
51
27
-18
0
0
16
47
118
-34
-27
5
2
0
0
0
0
18
-127
49
0
0
0
-5
0
4
-3
-103
11
0
0
0
0
0
0
-16
-21
13
0
0
0
6
0
-6
13
-67
89
0
0
0
0
0
0
-2
0
158
0
0
0
3
0
0
-8
-19
7
0
0
0
0
0
0
9
38
8
0
0
0
0
0
0
13
-9
15
0
0
0
0
0
1
8
-4
-6
0
0
0
23
0
-4
0
-43
25
0
0
0
0
0
0
1
-20
-33
0
0
0
-13
0
-11
70
-56
0
0
0
0
0
0
7
-1
-20
75
0
0
0
-21
0
0
-19
-9
94
0
0
0
0
0
1
11
-8
-36
0
0
0
-4
0
9
29
-21
-39
0
0
0
0
0
0
17
-71
-50
30
0
0
-9
0
4
10
-48
-16
17
0
0
0
0
0
2
-34
15
-18
0
0
0
0
0
-19
-77
-5
54
0
0
0
0
-1
-21
44
47
-47
0
0
27
0
-7
32
18
1
-14
0
0
0
0
1
1
73
126
-69
0
0
0
0
-4
-11
-119
62
6
0
0
0
0
2
43
-10
23
6
-7
0
47
0
-47
-67
64
10
-14
-20
0
0
0
0
-50
30
-120
32
-13
0
-3
0
-11
10
16
-23
-15
3
0
0
11
-6
25
47
-6
-15
-5
0
7
-1
-3
-40
-10
-3
51
9
0
0
-1
-13
-17
-114
-8
13
42
0
50
-8
-30
-61
23
-26
33
3
0
0
0
8
1
-47
-42
0
0
0
0
0
0
-6
-77
98
0
0
0
0
1
0
32
39
4
0
0
0
0
0
4
5
2
77
0
0
0
0
0
-1
1
-12
-9
0
0
0
0
0
0
-5
-24
-2
0
0
0
0
0
0
-4
-50
0
0
0
0
0
0
1
32
0
24
0
0
0
0
3
0
0
-71
32
0
0
0
0
0
0
0
4
-7
0
0
0
0
-3
-6
-25
102
-10
0
0
0
0
0
-4
5
-41
101
0
0
0
0
0
1
0
5
7
0
0
0
0
0
-3
0
-31
-12
0
0
0
0
-3
-1
1
-10
-19
0
0
0
0
8
-6
-81
14
35
0
0
0
0
0
-9
10
-45
-21
-10
0
0
0
0
0
2
-35
-37
17
0
0
0
1
0
7
-16
6
-26
0
0
0
0
-3
-1
16
-51
-48
0
0
0
0
1
-19
-3
37
-67
0
0
0
0
-6
1
-10
4
30
0
0
0
0
0
1
14
-9
6
0
0
0
0
-42
47
-95
57
35
0
0
0
-4
-4
-24
58
-54
10
8
0
0
0
0
1
-60
-41
-52
36
0
0
-15
54
27
-74
-9
-29
9
0
0
-6
5
-46
-52
-62
86
29
0
0
-19
2
-2
1
52
2
-23
0
0
-1
-5
-6
-13
-47
63
25
0
0
-29
7
26
91
61
-29
17
0
0
-24
-22
-108
-48
19
-27
28
0
0
0
0
9
95
-89
0
0
0
0
0
0
-22
-32
73
0
0
0
0
0
0
-29
39
28
0
0
2
0
0
1
-39
-29
-33
0
0
0
0
0
-2
2
-17
0
0
0
0
0
0
0
-1
20
10
0
0
0
0
0
0
0
12
4
0
0
0
0
0
1
-98
-3
6
0
0
0
0
0
-4
6
-4
12
0
0
0
0
0
0
-3
-56
-7
0
0
0
0
0
1
10
-11
-37
0
0
-9
-1
0
44
-22
60
-71
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
1
3
0
4
0
0
-2
-3
0
-5
-12
24
-16
0
0
0
0
0
3
-21
-145
52
-19
0
0
0
0
0
-48
-25
79
28
0
0
0
0
0
11
20
-15
-80
0
-48
0
0
-5
-73
-78
54
63
0
0
0
0
-3
0
1
-20
58
0
0
0
0
-1
-9
-8
7
77
0
0
0
0
0
-4
3
3
-73
0
5
0
0
-70
62
-48
-13
29
0
0
0
0
20
-71
61
-6
-58
-21
0
1
0
-1
47
88
13
-21
-54
0
0
0
1
11
-28
47
-27
-16
19
3
-1
-114
31
-80
-64
-58
22
0
0
0
-14
-8
-41
-7
39
10
0
1
0
-5
53
-8
-109
-87
67
0
0
-3
2
-20
31
53
-48
43
-111
40
1
-49
-42
-29
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-40
54
49
0
0
0
0
-5
15
-77
-52
14
0
0
0
0
42
-13
-33
-23
10
0
0
0
0
0
9
-12
-6
-23
0
0
0
0
8
27
-36
-78
84
0
0
0
0
-19
11
64
-55
41
0
0
0
0
9
17
16
-73
39
0
0
0
0
3
-10
-8
-45
18
0
0
0
0
-21
-43
49
25
8
0
0
0
0
0
4
24
-75
11
0
0
0
0
17
21
-20
18
17
0
0
0
0
-2
14
-74
4
62
0
0
0
0
9
85
-21
-34
28
0
0
0
0
0
-3
28
61
-43
0
0
0
0
12
66
31
-14
58
0
0
0
0
15
-8
16
13
15
0
0
0
0
14
-68
-56
-31
88
0
0
0
0
4
5
-74
53
25
0
0
0
0
-5
-14
-20
14
125
0
0
0
0
1
-1
-39
-25
38
0
0
0
0
-7
-13
-48
90
33
0
0
0
0
0
-17
1
-32
31
0
0
0
0
3
5
30
-71
69
0
0
0
0
12
-12
28
34
-21
0
0
0
0
12
-4
17
-31
29
0
0
0
0
0
11
-9
-52
61
0
0
0
0
-55
-12
82
-103
75
0
0
0
0
2
-12
80
-31
-60
0
0
0
0
-16
-41
18
-6
44
0
0
0
0
14
-22
6
49
2
0
0
0
0
29
-17
29
-13
-48
0
0
0
0
17
57
-12
-7
5
0
0
0
0
0
12
125
-84
26
0
0
0
47
6
2
21
-4
16
0
0
0
0
0
-1
2
-42
-15
0
0
0
-2
0
-13
-24
-68
27
0
0
0
0
0
-3
1
-44
-20
0
0
0
11
0
2
-40
11
8
0
0
0
0
0
-2
6
-53
23
0
0
0
-2
0
-4
13
-76
-35
0
0
0
0
11
-1
-78
-24
21
0
0
0
7
0
6
-24
20
2
0
0
0
0
0
-5
-7
44
46
0
0
0
33
0
-3
17
-32
19
0
0
0
0
0
1
38
4
-29
0
0
0
-1
0
-14
0
-122
65
0
0
0
0
0
-3
2
7
-28
0
0
0
-54
0
6
-30
13
38
0
0
0
0
0
1
-50
-31
-6
0
0
0
-1
0
0
13
-48
28
0
0
0
0
0
-3
16
30
35
0
0
0
-5
0
7
44
-57
8
0
0
0
0
0
0
10
-28
11
0
0
0
-39
0
0
-18
-28
22
0
0
0
0
0
0
13
-13
-17
0
0
0
-2
0
-46
61
-32
35
0
0
0
0
0
-8
-92
49
-7
0
0
0
-17
0
6
-11
16
0
0
0
0
0
0
-20
7
-32
-24
0
0
0
21
0
-15
-7
-55
20
0
0
0
0
0
-2
-29
-25
-47
0
0
0
39
-2
-2
28
-17
-3
0
0
0
0
1
-10
-12
3
0
0
0
0
-2
45
44
-74
-34
31
0
0
0
0
2
2
-95
-7
37
0
0
0
0
0
0
-23
26
8
0
0
0
0
2
-6
-24
32
-42
0
0
0
0
0
-2
61
-3
-22
0
0
0
0
0
1
24
48
-35
0
0
0
0
0
-5
-2
6
14
0
0
0
0
0
0
-6
-13
42
0
0
0
0
0
-26
49
40
-44
0
0
0
0
0
5
-39
-81
40
0
0
0
0
0
0
-12
-21
16
0
0
0
0
-1
15
9
1
-40
0
0
0
0
0
0
-37
33
-20
0
0
0
0
0
6
2
33
-62
0
0
0
0
0
0
-15
-34
-18
0
0
0
0
0
8
53
-47
-12
0
0
0
0
0
6
-22
-19
23
0
0
0
0
0
2
21
-59
46
0
0
0
0
0
0
4
-2
-10
0
0
0
0
0
2
-38
-39
89
0
0
0
0
0
13
-12
-109
87
0
0
0
0
0
0
-5
-39
18
0
0
0
0
0
0
-4
-35
54
0
0
0
0
0
0
0
45
-2
0
0
0
0
-1
4
25
-23
56
0
0
0
0
0
1
32
6
7
0
0
0
0
0
2
0
-43
3
0
0
0
0
0
0
3
-23
-56
0
0
0
0
0
6
-7
-43
22
0
0
0
0
0
-1
20
-10
48
0
0
0
0
-1
-4
13
-42
-21
0
0
0
0
5
10
-3
-38
14
0
0
0
0
-46
-92
-4
-42
27
0
0
0
0
6
5
12
-63
5
0
0
0
0
0
1
26
0
35
0
0
0
0
0
0
31
-60
5
0
0
25
2
0
0
53
-2
25
0
0
0
0
0
0
-8
-110
26
0
0
0
0
0
-9
-32
37
-16
0
0
0
0
0
0
6
7
-54
0
0
3
0
0
-4
-19
5
25
0
0
0
0
0
1
14
-48
18
0
0
0
0
0
0
11
-36
-4
0
0
0
0
0
3
30
-100
37
0
0
-46
1
0
-1
16
60
-41
0
0
0
0
0
-16
-20
-7
51
0
0
0
0
0
3
59
-37
-88
0
0
0
0
0
-2
15
24
13
0
0
-4
0
0
-14
7
-66
34
0
0
0
0
0
-2
-15
-21
69
0
0
0
0
0
0
41
-5
29
0
0
0
0
0
0
35
-49
-27
0
0
-50
2
0
0
-39
87
-12
0
0
0
0
0
-3
12
-27
69
0
0
0
0
0
2
-13
64
-11
0
0
0
0
0
0
22
-25
41
0
0
45
0
0
-12
24
10
15
0
0
0
0
0
3
25
-95
68
0
0
0
0
0
0
47
-37
-27
0
0
0
0
0
2
-74
38
4
0
0
-53
0
0
1
54
48
-48
0
0
0
0
0
6
14
-52
22
0
0
0
3
0
0
68
4
-27
0
0
0
0
0
11
-41
-49
68
0
0
65
0
-8
47
-51
-19
16
0
0
0
0
15
7
23
-70
21
0
0
0
0
0
-2
64
-24
18
0
0
0
0
0
0
54
-1
-28
0
0
0
0
0
2
35
-62
40
0
0
0
0
0
11
20
-32
19
0
0
0
0
0
7
-8
5
8
0
0
0
0
0
0
-2
86
-24
0
0
0
0
0
-2
20
-16
-1
0
0
0
0
0
-19
-8
22
37
0
0
0
0
0
-7
0
57
-43
0
0
0
0
0
4
-33
-58
31
0
0
0
0
0
8
-80
-22
41
0
0
0
0
-2
-9
4
-7
46
0
0
0
0
0
-1
-18
-2
20
0
0
0
0
-1
-18
-3
6
89
0
0
0
0
-3
20
-17
21
38
0
0
0
0
3
-18
59
-85
6
0
0
0
0
0
-4
1
-7
36
0
0
0
0
0
-5
-36
28
-11
0
0
0
0
0
0
36
79
-62
0
0
0
0
1
3
-39
7
8
0
0
0
0
0
-3
22
12
-15
0
0
0
0
0
2
10
-24
-45
0
0
0
0
0
-25
4
-26
72
0
0
0
0
-22
-1
-25
-55
41
0
0
0
0
0
0
7
-47
-9
0
0
0
0
0
2
-72
-5
43
0
0
0
0
0
47
-46
28
-21
0
0
0
0
1
6
-10
11
58
0
0
0
0
0
0
14
-18
-21
0
0
0
0
-1
-21
67
34
11
0
0
0
0
39
-14
26
-70
23
0
0
0
0
0
0
-3
24
18
0
0
0
2
0
0
-6
-55
11
0
0
0
0
0
0
-4
-176
90
0
0
0
0
0
0
-3
-14
25
0
0
0
0
0
0
11
24
20
0
0
0
0
0
-1
45
29
-3
0
0
0
0
0
0
-5
20
-17
0
0
0
0
0
0
0
-87
15
0
0
0
0
0
0
11
-33
9
0
0
0
1
0
0
5
-17
39
0
0
0
0
0
-3
21
-16
-55
0
0
0
0
0
0
14
26
-2
0
0
0
0
0
0
-3
-13
93
0
0
0
2
0
0
0
-4
-17
0
0
0
0
0
1
12
-14
-26
0
0
0
0
0
2
79
13
-32
0
0
0
0
0
0
-12
-24
80
0
0
0
7
0
-2
-83
-18
16
0
0
0
0
0
0
6
43
-47
0
0
0
0
0
0
-47
-33
32
0
0
0
0
0
0
1
-3
33
0
0
0
0
0
0
-10
49
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
-17
-8
14
0
0
0
0
0
1
-4
4
-30
0
0
0
5
0
0
21
-30
16
0
0
0
0
0
-5
-19
-59
22
0
0
0
-5
0
-1
-44
-1
121
0
0
0
0
0
0
-35
11
-22
0
0
0
-1
0
0
-2
44
-88
0
0
0
0
-4
0
-72
-10
66
0
0
0
-21
0
13
-69
3
7
0
0
0
0
3
-7
3
-31
8
0
0
0
0
0
0
0
-75
50
0
0
0
0
0
0
-10
-35
50
0
0
0
0
0
0
21
25
-26
0
0
0
0
0
-2
2
12
9
0
0
0
0
0
0
3
-8
-17
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
3
32
-18
-16
0
0
0
0
0
1
1
25
-15
0
0
0
0
0
0
3
-13
-5
0
0
0
0
0
0
2
24
52
0
0
0
0
0
0
65
2
-2
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
4
-24
0
0
0
0
1
0
1
0
17
0
0
0
0
0
10
-41
-1
-61
0
0
0
0
0
-9
13
-29
31
0
0
0
0
0
0
0
-46
107
0
0
0
0
0
0
5
16
-16
0
0
0
0
0
0
-1
-106
13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-5
-8
-2
-20
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-4
5
-32
-6
0
0
0
0
0
3
6
5
-3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-18
0
-28
0
0
0
0
0
-1
-3
43
-6
0
0
0
0
0
1
-27
-20
56
0
0
0
0
0
-8
-1
2
60
0
0
0
0
-3
0
1
6
-8
0
0
0
0
11
-33
17
15
-26
0
0
0
0
0
-11
127
-58
37
0
0
0
0
0
6
-21
-44
16
0
0
0
0
0
10
-24
17
6
0
0
-7
0
0
10
52
20
18
0
0
0
0
0
0
-14
-12
45
0
0
0
0
0
-1
72
-74
53
0
0
0
0
0
0
32
25
-133
0
0
0
0
0
-39
2
9
-12
0
0
0
0
0
-9
30
-5
59
0
0
0
0
0
0
22
-36
-5
0
0
0
0
0
7
-1
-2
-45
0
0
0
0
0
-13
-19
-66
110
0
0
0
0
0
-3
2
-10
-10
0
0
0
0
0
7
-37
-8
-9
0
0
0
0
0
-5
-44
-26
3
0
0
0
0
0
-52
-41
65
-41
0
0
0
0
0
7
-12
77
-44
0
0
0
0
0
0
-10
-64
72
0
0
0
0
0
-5
-37
-41
68
0
0
9
0
0
-5
-5
35
35
0
0
0
0
0
10
20
-89
7
0
0
0
0
0
-2
26
27
-46
0
0
0
0
0
1
-57
34
-2
0
0
0
0
0
-61
-5
-12
52
0
0
0
0
0
-4
47
-9
-30
0
0
0
0
0
4
21
-35
-17
0
0
0
0
0
-2
-26
-32
50
0
0
4
0
0
-15
-19
78
-22
0
0
0
0
0
15
19
36
-71
0
0
0
2
0
-4
21
53
-31
0
0
0
0
-9
68
-69
-58
53
0
0
-15
0
0
-56
30
-84
28
0
0
0
0
26
-8
-17
59
-35
0
0
0
0
0
1
-19
16
-3
0
0
0
0
0
6
22
-23
47
0
0
0
0
0
19
-12
-80
27
0
0
0
0
0
18
40
30
-41
0
0
0
0
0
9
-7
-70
35
0
0
0
0
0
7
-46
-48
127
0
0
0
0
1
35
-28
-34
38
0
0
0
0
-25
22
-54
2
15
0
0
0
0
0
13
0
103
-80
0
0
0
0
-2
11
-39
-94
87
0
0
0
0
-1
-18
-5
-17
67
0
0
0
0
0
0
-4
7
28
0
0
0
0
0
3
15
-6
15
0
0
0
0
11
-3
-19
-14
34
0
0
0
0
-2
1
54
-2
4
0
0
0
0
-26
18
-36
38
36
0
0
0
0
0
-8
-10
47
-15
0
0
0
0
0
4
25
67
25
0
0
0
0
0
-4
23
8
47
0
0
0
0
3
-43
-9
-27
-43
0
0
0
0
0
3
32
27
-36
0
0
0
0
0
3
2
-12
56
0
0
0
0
2
-2
77
-24
31
0
0
0
0
-30
9
-6
17
-6
0
0
0
0
0
-3
4
-9
-3
0
0
0
0
0
-8
-9
-55
24
0
0
0
0
0
-17
45
-76
56
0
0
0
0
8
-17
7
31
-24
0
0
0
0
0
-9
-10
-49
78
0
0
0
0
-15
-66
61
95
-48
0
0
0
0
-21
-51
76
-18
5
0
0
0
0
0
0
-58
-28
31
0
0
0
-56
0
9
-11
49
-5
0
0
0
0
0
0
-1
-21
8
0
0
0
15
0
0
-7
21
1
0
0
0
0
0
0
10
-44
67
0
0
0
17
0
0
2
-35
-11
0
0
0
0
0
0
0
-28
11
0
0
0
0
0
1
81
-10
31
0
0
0
0
0
-1
-19
-13
88
0
0
0
7
0
-1
1
-47
15
0
0
0
0
0
4
12
-51
-2
0
0
0
-6
0
5
-77
-49
100
0
0
0
0
0
0
0
-8
2
0
0
0
-5
0
0
-1
7
49
0
0
0
0
0
-8
3
-11
38
0
0
0
-2
0
6
11
-77
-42
0
0
0
0
0
0
16
49
-11
0
0
0
20
0
2
-2
-44
44
0
0
0
0
0
0
-1
-7
24
0
0
0
0
0
-1
14
-30
-67
0
0
0
0
0
0
3
-23
18
0
0
0
6
0
0
0
-39
6
0
0
0
0
0
0
-1
-63
13
0
0
0
-1
0
0
-3
-25
2
0
0
0
0
0
-1
3
-36
27
0
0
0
44
0
-2
2
-43
-100
0
0
0
0
0
0
2
-52
29
0
0
0
0
0
-1
-18
6
39
0
0
0
0
0
-5
-4
-2
39
0
0
0
-30
0
-2
4
49
-45
0
0
0
0
0
-2
0
-38
97
0
0
0
47
-11
54
34
0
-6
0
0
0
0
2
12
11
0
0
0
0
0
0
0
0
5
41
-19
0
0
0
0
0
-5
-4
-48
48
0
0
0
0
0
0
-74
10
18
0
0
0
0
0
0
1
14
36
0
0
0
0
0
0
-13
47
-47
0
0
0
0
0
-1
0
-26
-9
0
0
0
0
0
0
-56
43
15
0
0
0
0
0
6
-6
14
-17
0
0
0
0
0
0
0
-81
46
0
0
0
0
3
0
3
3
-53
0
0
0
0
0
0
-14
-60
30
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
-1
-29
8
0
0
0
0
0
6
-17
1
15
0
0
0
0
0
0
17
-3
-51
0
0
0
0
0
0
5
-72
-4
0
0
0
0
0
-4
-1
31
1
0
0
0
0
0
0
-14
-45
-17
0
0
0
0
0
0
1
11
66
0
0
0
0
0
0
0
-13
-90
0
0
0
0
0
0
-2
1
15
0
0
0
0
0
0
-60
-7
-5
0
0
0
0
2
-3
0
11
7
0
0
0
0
0
0
-3
36
-18
0
0
0
0
0
-2
-3
17
-7
0
0
0
0
0
2
-13
-50
-2
0
0
0
0
-2
0
0
-36
30
0
0
0
0
0
0
10
-66
73
0
0
0
0
-5
1
3
8
52
0
0
0
0
-12
-41
-58
-15
-18
0
0
0
0
0
8
34
-20
1
0
0
0
0
0
0
-38
-31
1
0
0
0
0
0
0
14
18
32
0
0
8
0
0
0
-46
79
37
0
0
0
0
0
-3
10
57
18
0
0
0
0
0
0
-4
12
-31
0
0
0
0
0
1
-11
17
-45
0
0
0
0
0
13
25
70
-21
0
0
0
0
0
0
27
18
-25
0
0
0
0
0
-1
0
9
40
0
0
0
0
0
-1
23
-53
64
0
0
-4
0
0
0
34
4
-69
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
5
-19
75
0
0
0
0
0
-3
17
0
-24
0
0
1
0
0
0
-43
57
-13
0
0
0
0
0
2
-9
-5
16
0
0
0
0
0
0
11
2
-40
0
0
0
0
0
0
2
-56
23
0
0
-5
0
0
0
3
-48
-15
0
0
0
0
0
-5
-13
30
-15
0
0
0
0
0
0
-43
-56
76
0
0
0
0
0
0
5
63
-6
0
0
2
0
0
19
14
-15
-81
0
0
0
0
0
0
-1
-3
50
0
0
0
0
0
0
11
-48
-17
0
0
0
0
0
1
19
-84
-83
0
0
18
0
0
1
-22
-13
14
0
0
0
0
0
0
20
-24
56
0
0
0
3
0
0
-6
-17
-34
0
0
0
0
0
-1
16
-95
7
0
0
-16
-39
6
-19
-67
-69
99
0
0
0
0
-1
6
-19
-14
49
0
0
0
0
0
4
-18
-36
36
0
0
0
0
0
0
-1
-24
5
0
0
0
0
0
0
38
-34
-3
0
0
0
0
0
-6
-1
4
11
0
0
0
0
0
0
-9
2
20
0
0
0
0
0
0
2
1
6
0
0
0
0
0
0
52
-15
-77
0
0
0
0
0
0
0
-11
14
0
0
0
0
0
0
0
-9
41
0
0
0
0
1
0
0
-2
72
0
0
0
0
0
-1
3
-4
-22
0
0
0
0
-2
-4
0
2
-4
0
0
0
0
0
0
7
0
18
0
0
0
0
0
0
0
-3
13
0
0
0
0
3
1
-15
3
1
0
0
0
0
4
-8
37
18
8
0
0
0
0
0
0
1
-8
45
0
0
0
0
0
1
2
-1
-5
0
0
0
0
0
0
3
2
27
0
0
0
0
0
-3
0
-9
103
0
0
0
0
0
0
8
-35
24
0
0
0
0
0
3
-3
16
-2
0
0
0
0
1
1
49
25
-125
0
0
0
0
7
0
-1
-6
22
0
0
0
0
0
0
3
2
-62
0
0
0
0
-1
-1
14
-16
13
0
0
0
0
0
0
14
-8
59
0
0
0
0
3
5
14
4
-29
0
0
0
0
0
-2
5
-3
83
0
0
0
0
-2
1
6
-19
-11
0
0
0
0
-38
4
8
-54
-14
0
0
0
0
0
0
3
-83
58
0
0
0
0
0
0
-11
-34
48
0
0
0
0
0
0
10
-27
67
0
0
0
0
0
0
-48
-5
51
0
0
0
0
0
0
-10
-14
8
0
0
0
-1
0
0
0
2
-64
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-4
20
22
-36
0
0
0
0
0
0
0
12
56
0
0
0
0
0
0
1
13
-37
0
0
0
0
0
0
-1
-21
26
0
0
0
0
0
0
9
-42
-61
0
0
0
0
0
0
0
1
-5
0
0
0
-2
0
0
-3
0
41
0
0
0
0
0
0
1
-1
29
0
0
0
1
0
0
5
1
55
0
0
0
0
0
0
8
-30
24
0
0
0
-2
0
0
-7
-60
-45
0
0
0
0
0
0
-7
-12
52
0
0
0
0
0
0
-21
3
-30
0
0
0
0
0
0
0
23
35
0
0
0
0
0
0
-1
-4
-34
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
-2
4
-8
5
0
0
0
0
0
0
0
-54
13
0
0
0
-1
0
0
-4
7
27
0
0
0
0
0
0
-4
7
27
0
0
0
0
0
0
4
-27
5
0
0
0
0
0
0
0
-22
-9
0
0
0
0
0
-5
2
17
11
0
0
0
0
0
1
0
-10
-21
0
0
0
23
5
-47
-39
19
1
0
0
0
0
-6
0
7
118
-3
0
0
0
0
0
-1
0
11
21
0
0
0
0
0
-1
-2
-42
55
0
0
0
0
0
-2
-4
0
4
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
-9
65
0
0
0
0
0
0
3
4
47
0
0
0
0
0
13
-57
-38
-27
0
0
0
0
0
-4
2
1
28
0
0
0
0
0
-1
0
-4
34
0
0
0
0
-4
0
3
18
-17
0
0
0
0
0
-1
-3
24
-27
0
0
0
0
0
1
0
-3
-16
0
0
0
0
0
0
4
-3
13
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
1
3
-1
73
0
0
0
0
0
0
-8
-32
24
0
0
0
0
0
0
1
0
-53
0
0
0
0
0
0
-3
-17
16
0
0
0
0
0
-3
-7
10
24
0
0
0
0
0
0
-2
-5
-82
0
0
0
0
0
0
-10
-7
-31
0
0
0
0
0
0
-3
20
-9
0
0
0
0
0
3
-12
-67
7
0
0
0
0
0
1
-2
3
62
0
0
0
0
0
-6
0
-8
-5
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
-12
-12
-19
0
0
0
0
-3
6
-3
-16
1
0
0
0
0
0
-5
0
27
28
0
0
0
0
-15
0
2
35
-46
0
0
0
0
15
21
24
-100
51
0
0
0
0
0
20
12
137
-51
0
0
0
0
0
1
-61
25
7
0
0
0
0
0
0
11
-20
63
0
0
-3
0
0
1
-20
-11
38
0
0
0
0
0
3
12
-17
14
0
0
0
0
0
0
3
44
-64
0
0
0
0
0
-1
64
-98
20
0
0
0
0
0
-3
23
-7
7
0
0
0
0
0
-33
15
6
-9
0
0
0
0
0
0
9
-17
69
0
0
0
0
0
4
-13
74
-20
0
0
0
0
0
-2
-7
-36
-6
0
0
0
0
0
-10
0
2
54
0
0
0
0
0
-3
-2
8
-25
0
0
0
0
4
-17
-2
-5
12
0
0
0
0
6
17
44
-105
7
0
0
0
0
1
14
-15
7
9
0
0
0
0
0
0
50
-134
9
0
0
0
0
0
8
0
-23
8
0
0
1
0
0
3
31
-78
-65
0
0
0
0
0
-13
1
-6
11
0
0
0
1
0
2
52
-11
-107
0
0
0
0
0
0
-12
40
1
0
0
0
0
0
-16
47
-58
-12
0
0
0
0
-1
28
-34
-46
43
0
0
0
-1
0
0
14
-70
82
0
0
0
0
0
24
-33
41
-73
0
0
9
0
0
6
-12
-39
-48
0
0
0
0
1
9
-14
20
96
0
0
0
-1
0
7
-14
-69
27
0
0
0
0
0
-9
12
-14
-61
0
0
13
9
-34
-81
21
-31
-9
0
0
0
0
-82
-35
-31
38
62
0
0
0
0
0
-13
10
-86
13
0
0
0
0
-3
-1
2
-37
-7
0
0
0
0
0
14
23
-19
-11
0
0
0
0
-6
-8
-3
43
32
0
0
0
0
-3
-7
44
-5
-28
0
0
0
0
2
8
-19
13
10
0
0
0
0
-5
-82
11
42
43
0
0
0
0
-74
-17
-53
-36
132
0
0
0
0
0
0
4
-43
-88
0
0
0
0
-7
-19
-18
53
60
0
0
0
0
0
17
-16
-41
55
0
0
0
0
1
-7
1
8
-19
0
0
0
0
-4
4
1
16
-8
0
0
0
0
13
-17
10
27
-46
0
0
0
0
-54
16
110
-10
13
0
0
0
0
-11
-57
2
-73
-40
-2
0
0
0
0
9
-4
21
44
6
0
0
0
0
-18
27
39
36
5
0
0
0
0
-16
8
58
1
1
0
0
0
5
9
-58
23
79
5
0
0
0
-1
0
-27
56
-62
15
0
0
0
10
-13
-5
80
-72
21
0
0
0
12
22
74
-106
9
16
0
0
0
-35
9
83
-4
34
24
0
0
0
0
2
0
-24
9
33
0
0
0
-7
-6
-20
-59
148
7
0
0
0
0
28
-42
-32
65
28
0
0
0
79
19
-32
-86
19
10
0
0
0
0
-6
1
9
90
23
0
0
0
-17
33
-13
-58
89
-2
0
0
0
103
57
74
11
69
18
0
0
0
0
3
26
29
-45
0
0
0
-33
0
0
3
6
4
0
0
0
0
0
0
9
-64
65
0
0
0
14
0
0
3
-49
5
0
0
0
0
0
0
-5
-53
28
0
0
0
2
0
0
-1
-9
30
0
0
0
0
0
1
-2
0
3
0
0
0
-8
0
0
25
-29
-30
0
0
0
0
0
-2
2
20
9
0
0
0
10
0
-6
-1
-41
46
0
0
0
0
0
1
1
-15
-54
0
0
0
0
0
3
-11
52
16
0
0
0
0
0
0
0
25
-9
0
0
0
-1
0
0
0
51
-16
0
0
0
0
0
0
0
-20
12
0
0
0
1
0
-25
-6
-56
124
0
0
0
0
0
0
7
-83
38
0
0
0
-5
0
0
0
26
-13
3
0
0
0
0
0
0
-13
-56
-26
0
0
0
0
-4
-10
-35
-150
18
0
0
0
0
0
-1
-99
161
-13
0
0
-1
0
0
-1
-59
80
1
0
0
0
0
0
-5
12
11
19
0
0
-1
0
0
-17
46
24
-21
0
0
0
-3
0
5
77
-7
-13
0
0
-14
0
0
-6
-40
52
47
0
0
0
0
1
-4
-35
-84
1
0
0
-22
0
-3
-16
-127
115
32
0
0
0
0
0
0
45
14
8
0
0
34
0
-2
5
28
-32
-25
0
0
0
7
0
0
-40
-51
6
0
0
91
-11
-19
18
-61
-14
14
0
0
0
5
0
-1
-69
-5
0
0
0
0
0
0
0
-50
25
0
0
0
0
0
-2
-1
4
-26
0
0
0
0
0
1
-1
-10
22
0
0
0
0
0
-1
-4
11
-5
0
0
0
0
0
0
0
28
-14
0
0
0
0
0
-7
-1
-14
4
0
0
0
0
0
5
-85
-19
21
0
0
0
0
0
0
9
8
35
0
0
0
0
0
0
0
-9
-11
0
0
0
0
0
1
2
4
15
0
0
0
0
0
-7
-8
-17
22
0
0
0
0
0
0
-1
-51
17
0
0
0
0
0
-3
2
-24
-43
0
0
0
0
0
-9
0
21
-13
0
0
0
0
3
-4
-10
-10
29
0
0
0
0
12
0
3
-78
33
-5
0
0
0
0
0
1
-26
-30
13
0
0
0
0
0
-7
43
-14
-6
0
0
0
0
0
-7
-53
34
-5
0
0
0
0
0
0
17
-33
3
0
0
0
0
0
2
10
52
-14
0
0
0
0
0
-3
-15
0
2
0
0
0
0
0
-58
45
4
0
0
0
0
0
-2
0
-67
100
-21
0
0
0
0
0
0
44
-26
-32
0
0
0
0
2
0
26
43
-32
0
0
0
0
-2
-10
-58
23
6
0
0
0
0
0
1
48
-8
-8
0
0
0
0
-1
11
-3
11
-35
0
0
0
0
-12
0
-16
-1
-23
0
0
0
38
20
21
-30
21
-6
0
0
0
0
0
16
-32
20
0
0
0
0
0
-4
8
-116
51
0
0
0
0
0
0
15
19
-27
0
0
-1
0
0
-3
-27
9
25
0
0
0
0
0
-3
35
-35
-19
0
0
0
0
0
1
-16
-9
48
0
0
0
0
0
2
9
-19
0
0
0
1
0
0
-2
-15
2
69
0
0
0
0
0
-4
9
-42
22
0
0
0
0
0
0
0
2
5
0
0
0
0
0
4
3
4
29
0
0
-13
0
0
9
4
14
-16
0
0
0
0
0
0
0
-25
-6
0
0
0
0
0
-1
0
-1
-17
0
0
0
0
0
0
1
-71
-3
0
0
0
0
0
-12
-2
-31
-5
0
0
0
0
0
0
25
57
135
0
0
0
0
0
0
-17
-125
-80
15
0
0
0
0
4
-6
-170
-27
12
0
-41
0
0
2
23
-64
9
-23
0
0
0
0
0
-4
-82
35
2
0
0
0
0
0
11
-32
-51
25
0
0
0
0
0
0
15
0
-17
0
-1
0
0
0
-48
-116
-14
8
0
0
0
0
1
-9
16
41
-2
0
0
0
0
0
7
12
18
-12
0
0
0
0
0
18
21
-27
-11
0
133
0
0
-3
7
9
-89
-68
0
0
0
0
0
-7
25
66
-39
0
0
0
0
-1
6
20
21
-109
0
0
0
0
0
-9
-74
33
-3
0
-34
-3
2
-44
-10
-25
92
-8
0
0
0
9
4
-44
-49
59
0
0
0
0
0
0
-1
7
47
0
0
0
0
-2
-6
-52
-6
18
0
0
0
0
0
12
-62
-19
33
0
0
0
0
0
-4
0
-5
-33
0
0
0
0
0
0
-16
1
38
0
0
0
0
0
1
5
0
-4
0
0
0
0
0
-7
-7
19
-4
0
0
0
0
7
0
2
-24
32
0
0
0
0
0
0
-2
-7
58
0
0
0
0
0
0
-7
5
27
0
0
0
0
0
4
20
3
-31
0
0
0
0
1
-4
8
0
51
0
0
0
0
0
0
0
5
-18
0
0
0
0
4
-1
-5
7
12
0
0
0
0
-9
-27
90
14
-22
0
0
0
0
-5
3
-14
-3
10
-18
0
0
0
0
0
4
-14
70
-3
0
0
0
0
-1
27
5
-29
-35
0
0
0
0
-17
-3
12
118
-49
0
0
0
1
-9
0
-7
-81
66
0
0
0
0
5
-2
0
-11
-2
0
0
0
-13
-3
3
7
-6
25
0
0
0
0
12
30
-59
-17
25
0
0
0
0
2
5
-13
55
-4
0
0
0
0
0
5
-27
-4
46
0
0
0
0
0
6
6
-19
7
0
0
0
0
-8
-7
-27
-125
92
0
0
0
1
-1
0
8
14
18
0
0
0
0
0
3
-71
-16
45
0
0
0
-10
0
1
-11
13
-3
0
0
0
14
37
49
-29
24
-7
0
0
0
0
-3
19
53
-59
0
0
0
-2
0
0
4
-33
9
0
0
0
0
0
0
-20
-4
-9
0
0
0
0
0
0
-6
-74
56
0
0
0
0
0
0
-1
1
14
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
-3
4
0
0
0
0
0
-6
-44
-6
14
0
0
0
0
0
0
7
15
-29
0
0
0
1
0
0
0
-43
106
0
0
0
0
0
0
10
-6
17
0
0
0
0
0
0
-4
27
-14
0
0
0
0
0
0
0
-10
-11
0
0
0
4
0
0
0
0
3
0
0
0
0
0
0
0
1
-27
0
0
0
0
3
4
8
-3
-15
0
0
0
0
0
0
0
-6
-8
1
0
0
0
0
0
1
20
5
37
0
0
0
0
0
-3
-12
33
-6
0
0
0
0
0
6
-22
-27
-26
0
0
0
0
0
2
-1
-41
-18
0
0
-1
0
0
0
0
-14
20
0
0
0
0
0
1
0
16
-47
0
0
0
0
2
-2
1
1
-73
0
0
0
0
0
1
42
-49
-52
0
0
7
0
0
-22
-12
14
4
0
0
0
0
0
-4
-9
-105
71
0
0
1
0
0
1
8
-12
-27
0
0
0
0
0
0
0
-37
-33
0
0
-9
0
0
3
0
-18
6
0
0
0
-1
0
5
-11
15
-55
0
0
20
3
-1
34
9
49
-20
0
0
0
-4
0
-2
-55
13
0
0
0
0
0
0
5
-26
-9
0
0
0
0
0
0
2
2
11
0
0
0
0
0
0
-6
-95
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
-4
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
5
-11
3
0
0
0
0
0
0
4
-8
23
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-3
3
6
-22
0
0
0
0
0
0
2
1
18
-1
0
0
0
0
0
-2
4
-85
26
0
0
0
0
0
0
6
-53
17
0
0
0
0
0
-1
48
1
-33
0
0
0
0
0
0
0
12
-30
0
0
0
0
0
1
0
-2
-46
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
11
0
-5
0
0
0
4
0
2
4
-2
46
0
0
0
0
0
1
2
-20
45
0
0
0
1
0
0
-3
9
-8
0
0
0
0
0
-8
-3
-2
-49
0
0
0
0
0
0
-18
4
-45
0
0
0
0
0
0
-2
-5
8
0
0
0
3
0
0
6
0
-29
0
0
0
-19
9
-40
64
-67
3
0
0
0
0
5
-35
0
-13
0
0
0
0
0
0
1
-34
31
0
0
0
0
0
-3
22
-48
13
0
0
0
0
0
0
62
-93
28
0
0
0
0
0
6
-7
-1
2
0
0
0
0
0
0
6
-4
30
0
0
0
0
0
1
-3
1
3
0
0
0
0
0
2
-79
20
14
0
0
0
0
0
3
-9
39
24
0
0
0
0
0
0
9
15
15
0
0
0
0
0
3
-24
-24
31
0
0
0
0
0
9
-32
1
1
0
0
0
0
0
0
-6
0
-35
0
0
0
0
0
0
-15
2
7
0
0
0
0
0
0
-10
1
-8
0
0
0
0
0
8
38
-73
-19
0
0
0
0
2
4
3
34
22
-1
0
0
0
0
0
0
-45
107
9
0
0
0
0
-5
5
-18
-29
33
0
-3
0
0
2
-12
54
4
5
0
0
0
0
0
2
6
-31
-26
0
0
0
0
0
1
11
-4
-38
0
0
0
0
2
0
-5
0
-23
0
0
0
0
-1
10
5
3
-75
0
0
0
0
-1
3
-21
48
-29
0
0
0
0
0
3
-32
5
-32
0
0
0
0
0
10
-2
-12
-51
0
-4
0
0
1
20
-16
7
40
0
0
0
0
-2
4
-8
-32
-57
0
0
0
0
0
13
-51
-9
-82
0
0
0
1
0
9
0
7
-24
0
-17
-3
1
-13
-6
-21
-27
5
0
0
0
35
-31
46
-74
17
0
0
0
0
0
0
-7
-56
57
0
0
0
0
-1
-5
16
43
-21
0
0
0
0
3
0
61
-61
32
0
0
0
0
9
-54
-20
72
0
0
0
0
0
0
-2
-48
0
49
0
0
0
0
0
22
2
-14
0
0
0
0
0
0
9
44
-6
-52
0
0
0
0
-11
17
43
-31
-29
0
0
0
0
0
7
-1
53
15
0
0
0
0
0
-13
0
11
-35
0
0
0
0
0
3
18
-15
39
0
0
0
0
0
1
-19
-6
78
0
0
0
0
0
0
-8
19
5
0
0
0
0
-4
0
3
1
-3
0
0
0
0
28
54
0
-42
-21
0
0
0
0
13
9
-32
-103
32
34
0
0
0
0
0
3
-1
72
-21
0
0
0
0
0
-4
-38
3
-12
0
0
0
0
-9
66
6
39
-51
0
0
0
11
22
28
15
-106
-7
0
0
0
-2
8
14
-2
55
-6
0
0
0
0
9
0
-19
-14
-41
0
0
0
1
-7
-16
-4
-36
2
0
0
0
0
-12
-1
-25
-12
9
-3
0
0
0
0
7
-28
91
34
-5
0
0
1
5
-12
21
69
13
11
0
0
-1
-11
-28
-76
-19
4
29
0
0
-62
-48
-5
18
108
49
8
0
0
7
-3
52
-20
146
14
6
0
0
-27
-8
0
19
99
2
2
0
0
25
63
-39
7
23
-27
6
0
0
0
0
-13
42
13
0
0
0
-19
0
4
2
-41
19
0
0
0
0
0
0
-15
-31
54
0
0
0
0
0
1
64
32
-68
0
0
0
0
0
0
8
-3
9
0
0
0
2
0
0
7
-24
-3
0
0
0
0
0
0
4
-16
-45
0
0
0
0
0
-3
55
-98
52
0
0
0
0
0
-7
3
-5
48
0
0
0
0
0
0
0
-10
22
0
0
0
0
0
5
-7
-49
51
0
0
0
0
0
-1
3
-46
58
0
0
0
0
0
0
0
-47
52
0
0
0
33
0
-7
3
-6
-54
0
0
0
0
0
8
-1
-13
29
0
0
0
9
0
2
-7
87
-57
0
0
0
0
0
-1
10
-77
-8
31
0
0
5
0
0
-1
-96
24
10
0
0
0
0
0
-2
-45
-16
41
0
0
0
0
2
-15
-16
42
19
0
0
0
0
0
-9
5
-14
62
0
0
-7
0
0
-23
56
-17
30
0
0
0
0
0
-2
-17
32
27
0
0
0
0
0
9
-94
66
11
0
0
0
0
6
5
75
29
12
-8
0
56
0
-1
0
17
21
-117
0
0
0
0
0
-14
38
107
-25
-18
0
-4
0
0
-5
-21
-40
-40
26
0
0
0
0
0
54
48
-53
-37
0
13
0
3
7
35
-22
17
-26
0
0
0
0
1
-8
28
52
-24
0
95
11
13
-26
-41
-36
-61
22
0
0
0
3
-2
8
66
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
49
14
0
0
0
0
0
0
-13
46
-24
0
0
0
0
0
-1
-2
-55
-28
0
0
0
0
0
0
-8
-10
6
0
0
0
0
0
-16
4
-5
0
0
0
0
0
0
0
-83
-54
41
0
0
0
0
0
-8
10
11
-5
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
10
-31
-2
0
0
0
0
0
8
-13
5
12
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
2
8
3
0
0
0
0
0
-14
0
-3
0
0
0
0
0
0
-4
-1
-19
3
0
0
0
0
0
0
-3
-6
-41
6
0
0
0
0
0
-8
2
-61
48
0
0
0
0
0
-2
-25
32
57
0
0
0
0
-4
-2
35
-16
-10
0
0
0
0
0
0
-21
20
39
0
0
0
0
0
-1
2
-1
13
0
0
0
0
1
0
-6
-10
20
0
0
0
0
0
0
28
-12
-112
0
0
0
-1
7
0
-5
60
-33
-3
0
0
0
0
0
14
-37
47
-5
0
0
0
0
0
53
-7
-73
18
0
0
0
-1
-3
-66
-9
-58
27
0
0
0
0
0
3
-6
-5
20
0
0
0
0
3
-17
8
53
-10
0
0
-3
-1
0
-5
20
-66
13
0
0
-3
24
16
-26
-5
-24
10
0
0
0
1
-53
-42
43
0
0
0
0
0
0
0
-17
21
0
0
0
0
0
0
18
24
-58
0
0
32
0
0
2
18
-46
12
0
0
0
0
0
0
-26
-39
38
0
0
0
0
0
7
-6
-31
7
0
0
0
0
0
0
-3
7
-2
0
0
-8
0
0
3
-26
12
32
0
0
0
0
0
0
7
-30
-16
0
0
0
0
0
0
0
-20
-3
0
0
0
0
0
-1
-2
-1
9
0
0
-4
0
0
-3
10
-66
1
0
0
0
0
0
-2
2
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
2
-17
0
0
0
0
0
0
4
-8
3
8
0
0
0
0
0
0
4
-1
-3
-24
0
0
0
0
0
8
-61
45
11
0
0
0
0
-13
-12
0
45
-14
0
30
0
0
6
-48
-45
50
8
0
0
0
0
0
-3
47
-22
51
0
0
0
0
0
1
5
12
7
0
0
0
0
0
0
-36
3
-100
0
-5
0
0
0
3
2
-3
-32
0
0
0
0
-1
-12
79
-6
-47
0
0
0
0
0
7
-16
47
-116
14
0
0
0
6
0
0
-1
-92
8
4
0
0
0
-5
-114
36
25
9
0
0
0
0
0
-2
-11
60
-35
0
0
0
0
-1
-6
-15
104
24
0
0
0
0
7
14
0
-77
-6
-124
-11
5
-52
71
19
-53
-46
-2
0
0
43
13
-38
-62
9
0
0
0
0
0
0
-1
-60
25
0
0
0
0
-2
-6
28
-18
55
0
0
0
0
0
9
4
-45
-4
0
0
0
0
0
4
-14
-11
2
0
0
0
0
0
0
37
-1
-37
0
0
0
0
-1
-5
-12
27
-1
0
0
0
0
1
-39
71
-18
-15
0
0
0
0
-17
5
5
27
-22
0
0
0
0
0
0
2
-37
67
0
0
0
0
6
-18
-17
62
-35
0
0
0
0
0
-21
6
53
-91
0
0
0
0
0
-8
-5
1
8
0
0
0
0
0
4
-12
-4
35
0
0
0
0
2
-10
0
20
50
0
0
0
0
-2
83
-134
26
-14
0
0
0
0
12
10
22
-14
-25
-10
0
0
0
0
0
3
11
100
-56
0
0
0
2
0
6
13
-16
-24
0
0
0
0
-1
54
-50
40
-5
0
0
0
-9
-2
-1
-51
35
9
0
0
0
0
-2
-1
-34
58
-15
0
0
0
15
9
0
-16
2
-39
0
0
0
-8
4
-18
-20
40
-10
0
0
0
27
-1
4
18
-50
15
12
0
0
0
0
-6
23
57
-39
-39
0
0
-7
-1
0
-12
-28
-96
50
0
0
0
6
-7
4
65
27
-6
0
0
-13
2
0
2
70
-3
1
0
0
0
-2
-20
53
-16
4
50
0
0
-11
4
-6
-23
-6
-39
72
0
0
-8
-11
40
-25
35
-7
-58
0
0
0
-4
-1
-17
6
0
0
0
-24
0
0
-8
-59
48
0
0
0
0
0
0
-10
45
-41
0
0
0
0
0
10
-30
19
-5
0
0
0
0
0
0
-9
-64
91
0
0
0
1
0
0
-5
-4
-67
0
0
0
0
0
-7
-7
-1
-1
0
0
0
0
0
0
-17
-16
-17
0
0
0
0
0
2
0
-5
38
0
0
0
-13
0
0
1
20
30
0
0
0
0
0
-1
6
-23
82
0
0
0
1
0
1
-1
12
-58
0
0
0
0
0
0
0
-1
-7
0
0
0
-7
0
0
-7
2
35
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-13
36
-4
-19
0
0
0
0
0
0
0
3
-38
2
0
0
-3
0
0
-2
-1
34
23
0
0
0
0
0
-4
-4
6
25
0
0
0
0
0
18
0
-6
-29
0
0
0
0
0
-4
-15
-17
40
0
0
13
0
0
-5
-7
27
20
0
0
0
0
0
0
4
7
-106
0
0
0
0
0
1
-32
23
4
0
0
0
0
0
0
-37
46
-95
9
0
-30
0
0
0
86
65
-96
12
0
0
0
-2
0
5
15
39
-21
0
12
0
1
-7
-30
-53
-50
40
0
0
0
0
0
-7
42
28
-7
0
-2
0
6
0
-1
7
-75
-48
0
0
-15
0
2
-8
-6
-59
-6
0
-117
2
-22
-44
-71
40
74
-39
0
0
0
-17
4
-52
82
0
0
0
0
0
0
-2
-106
24
0
0
0
0
0
-1
0
0
50
0
0
0
0
0
-2
-57
-80
54
0
0
0
0
0
10
-16
30
-34
0
0
0
0
0
-1
-16
40
60
0
0
0
0
0
-11
0
0
14
0
0
0
0
-1
-59
127
-28
-13
0
0
0
0
-3
3
-1
-22
21
0
0
0
0
0
-1
5
-32
73
0
0
0
0
4
0
-4
24
-139
0
0
0
0
0
5
8
-1
-45
0
0
0
0
4
-2
0
2
-2
0
0
0
0
0
0
1
-16
-44
0
0
0
0
1
1
-3
0
-9
0
0
0
0
1
-37
34
35
-98
0
0
0
0
-8
3
-6
13
46
35
0
0
0
0
0
-3
1
33
-11
0
0
0
-1
0
6
-4
-46
13
0
0
0
0
0
-10
-17
6
-8
0
0
0
0
1
0
-32
11
-24
0
0
0
0
-1
-3
11
-43
13
0
0
0
0
3
1
-2
5
-61
0
0
0
-7
18
3
12
3
-98
0
0
0
11
0
-1
-17
-56
-32
23
0
0
0
-2
-3
-13
78
15
-15
0
0
1
-2
-25
13
64
-61
14
0
0
0
-2
11
-14
21
36
-13
0
0
0
1
0
-2
8
-58
26
0
0
2
0
-7
-5
5
-85
63
0
0
23
-9
0
4
-1
13
-7
0
0
19
-85
6
-67
-19
4
24
0
0
27
13
-1
63
23
0
0
0
48
8
61
-15
0
5
0
0
0
0
-31
-72
17
56
4
0
0
1
56
2
-68
-80
10
56
0
0
0
0
1
23
18
-26
-15
0
0
0
98
3
-43
-29
-28
45
0
0
0
0
-11
-53
-23
84
-13
0
0
-1
4
-29
15
-7
37
23
0
0
0
0
-9
21
50
6
-13
0
0
0
-31
-15
-13
45
-41
9
0
0
0
0
38
-49
5
-2
18
0
0
-6
-16
0
40
-67
-58
35
0
0
0
0
-4
-11
23
-7
20
0
0
0
15
6
-19
41
-51
-55
0
0
0
0
3
21
-38
-46
-7
0
0
13
-4
-21
-3
-38
-77
16
0
0
0
0
49
82
-9
-16
-15
12
0
0
19
-3
-33
27
52
-8
4
0
0
0
-2
19
25
-82
-13
22
0
2
-8
5
-16
51
-30
-9
-2
0
0
0
-9
-19
23
32
17
-26
0
0
-93
1
25
-10
-30
-42
-14
0
0
0
2
-36
18
56
16
-29
0
16
-4
19
112
5
-18
-21
-53
0
0
0
25
-35
-5
-52
25
-3
15
0
75
1
-43
-35
40
0
-2
11
0
0
55
-35
14
-70
25
-41
14
-85
-34
-6
-30
-30
34
40
-8
-25
0
0
-28
17
69
79
-25
-28
7
0
-50
-5
-29
-53
-145
-25
-23
-6
0
0
43
-39
-14
10
-57
-16
9
98
-97
-93
-12
-77
-22
37
-26
-4
0
0
6
-7
-5
-28
10
0
0
0
0
0
0
-25
-19
33
0
0
0
0
-2
0
23
-46
16
0
0
0
0
0
-1
-12
31
-23
0
0
0
0
0
-1
0
-36
-25
0
0
0
0
0
-1
-54
45
30
0
0
0
0
0
-17
-22
-9
30
0
0
0
0
-1
56
10
-61
7
0
0
0
0
1
-7
-4
-27
1
0
0
0
0
0
2
-4
16
26
0
0
0
0
3
17
-4
-6
-17
0
0
0
0
0
2
30
-11
7
0
0
0
0
-5
3
0
2
25
0
0
0
0
0
0
0
58
28
0
0
0
0
1
29
1
-17
0
0
0
0
0
7
15
114
-51
-25
0
0
0
0
6
-9
5
3
48
0
0
0
0
0
0
-1
15
43
0
0
0
0
0
9
5
42
-11
0
0
0
0
0
9
19
-24
-8
0
0
0
0
-2
13
-2
-104
70
0
0
0
0
-3
0
20
11
37
0
0
0
0
10
-11
6
47
62
0
0
0
0
-4
17
39
-59
22
0
0
0
0
-11
-39
10
8
33
0
0
0
0
0
4
4
-34
11
0
0
0
0
-6
-3
12
-31
14
0
0
0
0
0
14
16
-7
32
0
0
0
0
0
23
2
99
-65
0
0
0
0
9
-3
44
-31
23
0
0
0
0
32
-54
-6
19
65
0
0
0
0
-13
7
5
21
0
0
0
0
0
0
-1
0
5
-2
0
0
0
-5
0
0
0
-30
12
0
0
0
0
0
0
-3
-64
55
0
0
0
2
0
0
-17
-20
-1
0
0
0
0
0
0
-10
53
19
0
0
0
0
0
3
-7
62
-21
0
0
0
0
0
0
0
-56
63
0
0
0
0
0
-1
8
-24
23
0
0
0
0
0
0
4
9
51
0
0
0
9
0
5
0
0
8
0
0
0
0
0
0
1
-23
31
0
0
0
0
0
0
-3
-22
10
0
0
0
0
0
0
0
-7
33
0
0
0
4
0
-3
0
-4
33
0
0
0
0
0
0
-3
67
-33
0
0
0
-12
0
0
-14
94
18
0
0
0
0
0
0
6
-9
-34
0
0
0
-16
0
0
-7
-48
89
0
0
0
0
0
0
15
2
-79
0
0
0
0
0
1
-1
24
-21
0
0
0
0
0
0
-2
47
-6
0
0
0
-9
0
0
5
24
12
0
0
0
0
0
0
0
44
-27
0
0
0
1
0
-2
-9
4
-20
0
0
0
0
0
0
-4
18
-15
0
0
0
51
0
0
0
-15
-7
0
0
0
0
0
0
-7
-2
15
0
0
0
-8
0
-1
5
-5
35
0
0
0
0
0
0
1
41
15
0
0
0
54
0
-3
7
-13
-2
0
0
0
0
0
0
0
-10
4
0
0
0
6
5
-33
-1
-85
22
0
0
0
0
0
2
0
-33
11
0
0
0
0
0
0
3
13
8
0
0
0
0
0
0
-5
-65
21
0
0
0
0
0
0
-118
-3
67
0
0
0
0
0
0
1
7
70
0
0
0
0
0
0
-15
41
-3
0
0
0
0
0
1
-8
-16
6
0
0
0
0
0
-15
-32
5
-32
0
0
0
0
0
1
12
-4
-29
0
0
0
0
0
0
1
47
-34
0
0
0
0
0
-6
4
-82
1
0
0
0
0
0
-2
-76
11
46
0
0
0
0
0
0
4
-2
53
0
0
0
0
0
0
4
-62
49
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
10
-77
69
0
0
0
0
0
-5
2
-82
75
0
0
0
0
0
0
6
-59
-33
0
0
0
0
0
0
-12
-55
-17
0
0
0
0
0
0
-2
-1
74
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-7
14
52
0
0
0
0
0
0
5
-7
61
0
0
0
0
0
-5
45
12
-82
0
0
0
0
0
0
-1
-47
6
0
0
0
0
0
0
-3
-70
65
0
0
0
0
0
-1
-22
-6
54
0
0
0
0
0
-1
-79
16
78
0
0
0
0
0
-1
6
26
39
0
0
0
0
0
-2
1
2
77
0
0
0
0
-14
3
0
-25
-39
0
0
0
0
43
12
-68
18
-27
0
0
0
0
-2
-5
-34
32
33
0
0
0
0
0
0
42
-50
9
0
0
0
0
0
0
6
5
-11
0
0
82
0
0
0
-59
23
-9
0
0
0
0
0
0
-48
1
-24
0
0
0
0
0
0
31
-31
-13
0
0
0
0
0
0
-31
-28
26
0
0
0
0
0
-1
-10
-48
11
0
0
0
0
0
5
11
8
-11
0
0
0
0
0
0
-34
-18
30
0
0
0
0
0
0
-15
60
-11
0
0
-5
0
0
4
-7
67
-79
0
0
0
0
0
0
-2
-14
-8
0
0
0
0
0
0
-29
79
-42
0
0
0
0
0
0
-19
72
-5
0
0
0
0
0
8
-43
-17
18
0
0
0
0
0
-3
-10
-41
74
0
0
0
0
0
0
53
-11
6
0
0
0
0
0
0
-2
-84
113
0
0
-8
0
0
0
34
2
-7
0
0
0
0
0
0
14
20
-13
0
0
0
0
0
0
-81
5
51
0
0
0
0
0
0
9
-24
53
0
0
8
0
0
-7
-14
-9
91
0
0
0
0
0
0
44
-10
65
0
0
0
5
0
0
-8
-66
59
0
0
0
0
0
0
39
-38
-5
0
0
16
0
0
0
86
-24
-33
0
0
0
0
0
0
-35
-24
14
0
0
0
0
0
0
48
-47
-8
0
0
0
0
0
0
56
-4
-18
0
0
-8
-13
9
-22
-30
5
27
0
0
0
0
-1
8
0
-97
11
0
0
0
0
0
0
-14
-86
1
0
0
0
0
0
0
-5
14
2
0
0
0
0
0
16
20
-12
16
0
0
0
0
0
0
-2
-5
-20
0
0
0
0
0
0
-20
29
10
0
0
0
0
0
0
3
5
-32
0
0
0
0
0
16
-45
-41
43
0
0
0
0
0
1
-5
2
-32
0
0
0
0
0
0
0
-43
90
0
0
0
0
0
-1
0
3
37
0
0
0
0
0
0
-14
-55
-34
0
0
0
0
0
0
-3
8
35
0
0
0
0
0
0
-1
11
-2
0
0
0
0
0
-4
2
-7
14
0
0
0
0
-1
-9
-13
8
60
0
0
0
0
0
-6
-1
11
0
0
0
0
0
0
0
5
-45
63
0
0
0
0
0
0
13
15
-1
0
0
0
0
0
-5
7
-40
-5
0
0
0
0
0
0
1
-2
-18
0
0
0
0
0
0
-16
42
-61
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
-5
57
-31
-14
0
0
0
0
0
0
11
11
-65
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
5
-25
12
0
0
0
0
0
1
1
-72
15
0
0
0
0
7
0
0
-12
43
0
0
0
0
0
1
9
-22
-27
0
0
0
0
1
0
10
-3
-46
0
0
0
0
-29
14
-4
-9
29
0
0
0
0
0
0
15
-44
-17
0
0
0
5
0
0
6
-74
24
0
0
0
0
0
0
5
-33
42
0
0
0
0
0
0
-56
-37
49
0
0
0
0
0
0
-1
39
-4
0
0
0
0
0
0
-37
-10
9
0
0
0
0
0
0
-8
-6
58
0
0
0
0
0
2
-35
11
14
0
0
0
0
0
-3
2
0
78
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
-1
3
-26
0
0
0
0
0
3
9
16
-30
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
2
12
0
0
0
0
0
4
-3
8
-45
0
0
0
0
0
0
4
-12
25
0
0
0
1
0
0
-4
-19
4
0
0
0
0
0
0
2
-9
-1
0
0
0
0
0
0
-2
-22
21
0
0
0
0
0
0
0
-12
54
0
0
0
0
0
0
1
18
-55
0
0
0
0
0
0
5
6
24
0
0
0
0
0
0
-4
-48
30
0
0
0
0
0
0
3
9
13
0
0
0
-24
0
0
-4
-9
-3
0
0
0
0
0
0
-3
3
-5
0
0
0
0
0
0
-10
-1
39
0
0
0
0
0
-1
-1
-10
-37
0
0
0
-8
0
0
0
13
-83
0
0
0
0
0
0
-5
-12
53
0
0
0
27
8
-42
91
-44
-25
0
0
0
0
0
0
0
-74
84
0
0
0
0
0
0
-5
-32
20
0
0
0
0
0
0
-1
83
-83
0
0
0
0
0
0
-6
-11
-6
0
0
0
0
0
0
3
-1
14
0
0
0
0
0
0
1
-28
23
0
0
0
0
0
0
1
-42
1
0
0
0
0
0
0
27
32
-45
0
0
0
0
0
-8
0
-8
2
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
-5
0
4
-43
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-3
0
1
6
0
0
0
0
0
8
7
-2
-26
0
0
0
0
-3
0
0
-1
-2
0
0
0
0
0
0
-27
3
4
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
3
-69
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-10
0
17
0
0
0
0
0
0
-2
0
-12
0
0
0
0
0
-1
-3
9
-25
0
0
0
0
0
1
6
-5
53
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-5
-4
10
0
0
0
0
0
0
-9
10
4
0
0
0
0
-6
0
0
5
18
0
0
0
0
0
2
0
0
15
0
0
0
0
-1
0
0
-1
1
0
0
0
0
-6
1
6
44
-16
0
0
0
0
0
-2
23
-42
20
0
0
0
0
0
10
-44
31
7
0
0
0
0
0
2
-39
-27
15
0
0
0
0
0
-28
75
111
-69
0
0
0
0
0
-7
-25
-31
44
0
0
0
0
0
-8
19
-10
14
0
0
0
0
0
4
51
-16
-81
0
0
0
0
0
33
-1
63
-7
0
0
0
0
0
10
-55
7
7
0
0
0
0
0
-4
-14
-18
52
0
0
0
0
0
20
-8
-30
42
0
0
0
0
0
49
9
-43
-23
0
0
0
0
0
-1
2
-1
-27
0
0
0
0
0
5
51
-22
27
0
0
0
0
0
36
-13
-3
-35
0
0
0
0
0
-15
-108
36
44
0
0
0
0
0
-14
57
-9
-28
0
0
0
0
0
0
-16
40
-70
0
0
0
0
0
-1
6
-23
-2
0
0
-8
0
0
-4
-1
-32
16
0
0
0
0
0
-14
-42
24
-1
0
0
0
0
0
0
-21
8
-19
0
0
0
0
0
0
-32
22
-29
0
0
0
0
0
-52
22
-83
61
0
0
0
0
0
16
43
39
-65
0
0
0
0
0
-10
14
-4
53
0
0
0
0
0
2
6
-28
14
0
0
0
0
0
0
-22
-43
106
0
0
0
0
0
0
44
-79
-37
0
0
0
0
0
-37
34
-16
71
0
0
0
0
5
19
-41
-33
-59
0
0
3
-9
1
-12
-18
-7
-1
0
0
0
0
1
-1
4
-35
72
0
0
0
0
0
0
0
21
28
0
0
0
0
0
7
0
6
20
0
0
0
0
0
-4
34
-24
-1
0
0
0
0
0
-3
0
5
74
0
0
0
0
0
0
24
-2
57
0
0
0
0
1
-5
3
-11
2
0
0
0
0
0
44
16
-51
33
0
0
0
0
1
-4
-13
1
28
0
0
0
0
0
0
2
-24
38
0
0
0
0
-5
-2
-3
29
4
0
0
0
0
0
8
-26
-68
83
0
0
0
0
0
-7
-6
0
44
0
0
0
0
0
-12
0
7
-25
0
0
0
0
0
-39
7
9
-17
0
0
0
0
0
-30
-34
9
-21
0
0
0
0
1
1
-1
0
29
0
0
0
0
0
0
-5
22
44
0
0
0
0
0
-1
2
-13
12
0
0
0
0
0
-12
20
14
-1
0
0
0
0
0
0
0
1
34
0
0
0
0
-1
-1
-7
16
12
0
0
0
0
0
0
0
0
-60
0
0
0
0
-2
37
-42
60
-77
0
0
0
0
0
8
0
1
-74
0
0
0
0
0
1
-4
22
-32
0
0
0
0
-8
-1
-1
17
-2
0
0
0
0
-1
1
9
-67
-38
0
0
0
0
0
3
0
6
-44
0
0
0
0
2
0
-1
9
75
0
0
0
0
16
17
1
7
-9
0
0
0
0
-5
9
42
-47
12
0
0
0
0
0
0
1
34
-8
0
0
0
0
0
0
-2
-109
36
0
0
0
0
0
0
-1
4
28
0
0
0
0
0
0
-15
-44
34
0
0
0
0
0
0
4
-9
-78
0
0
0
0
0
0
1
19
10
0
0
0
0
0
0
2
5
9
0
0
0
0
0
-5
8
16
-5
0
0
0
0
0
0
8
-31
66
0
0
0
-3
0
0
-4
5
120
0
0
0
0
0
0
-12
35
-33
0
0
0
0
0
0
-6
20
-47
0
0
0
0
0
0
4
-14
-64
0
0
0
2
0
0
0
25
30
0
0
0
0
0
0
0
-4
67
0
0
0
0
0
2
10
1
25
0
0
0
0
0
0
2
25
-33
0
0
0
-9
0
0
-6
4
71
0
0
0
0
0
0
0
-14
12
0
0
0
0
0
0
1
-24
15
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
-13
0
77
0
0
0
0
0
0
0
-12
76
0
0
0
0
0
0
0
10
-19
0
0
0
0
0
0
2
-26
-78
0
0
0
4
0
0
0
-14
36
0
0
0
0
0
0
0
8
8
0
0
0
5
0
-3
-1
-47
-18
0
0
0
0
0
0
0
1
50
0
0
0
22
0
0
1
-13
-36
0
0
0
0
0
0
0
4
-14
0
0
0
20
0
21
-59
-70
3
0
0
0
0
0
7
0
57
-16
0
0
0
0
0
0
3
7
17
0
0
0
0
0
0
3
12
-15
0
0
0
0
0
0
-2
-62
38
0
0
0
0
0
0
0
-35
73
0
0
0
0
0
0
-2
-33
38
0
0
0
0
0
0
0
24
-10
0
0
0
0
0
-7
15
-7
14
0
0
0
0
0
-5
1
-4
8
0
0
0
0
0
0
0
-17
-22
0
0
0
0
0
-3
-4
-15
58
0
0
0
0
0
0
-3
3
34
0
0
0
0
0
0
0
1
56
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
11
12
0
0
0
0
-1
17
0
-19
51
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
2
8
21
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
-12
49
-13
0
0
0
0
0
0
0
-5
-40
0
0
0
0
0
0
-4
-8
4
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
5
0
-80
-6
0
0
0
0
0
0
0
-8
53
0
0
0
0
0
0
0
30
5
0
0
0
0
0
0
0
25
21
0
0
0
0
0
0
-2
51
-37
0
0
0
0
0
-3
0
25
-1
0
0
0
0
0
0
0
-4
50
0
0
0
0
0
0
0
-8
-32
0
0
0
0
38
6
11
-97
30
0
0
0
0
0
7
-33
19
55
0
0
0
0
0
0
20
-20
7
0
0
0
0
0
0
-10
57
2
0
0
-7
0
0
0
-1
31
40
0
0
0
0
0
3
-6
-12
49
0
0
0
0
0
0
-2
19
-33
0
0
0
0
0
0
0
-22
37
0
0
0
0
0
-8
37
-6
-42
0
0
0
0
0
-2
12
24
-28
0
0
0
0
0
0
5
-23
-16
0
0
0
0
0
-5
1
-109
82
0
0
0
0
0
-5
-51
21
-5
0
0
0
0
0
-1
0
-2
-4
0
0
0
0
0
0
0
-48
13
0
0
0
0
0
3
5
-4
28
0
0
0
0
0
31
81
-35
-14
0
0
0
0
0
2
16
15
0
0
0
0
0
0
0
-3
-5
54
0
0
0
0
0
-2
-9
-5
42
0
0
-1
0
0
6
-28
-21
0
0
0
0
0
0
0
0
-13
-36
0
0
0
0
0
0
2
7
-8
0
0
0
0
0
3
-6
9
0
0
0
1
0
0
-6
7
-63
31
0
0
0
0
0
0
-19
-72
47
0
0
0
0
0
1
4
5
25
0
0
0
0
0
-4
0
-94
7
0
0
3
0
0
-1
12
40
-22
0
0
0
0
0
0
3
11
0
0
0
0
-3
0
0
7
20
-138
0
0
0
0
0
3
-7
-13
4
0
0
-14
3
2
-14
-7
-91
51
0
0
0
0
0
13
1
-3
95
0
0
0
0
0
0
1
-48
-4
0
0
0
0
0
0
0
19
-36
0
0
0
0
0
0
-19
13
36
0
0
0
0
0
0
-1
0
-74
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
10
-67
0
0
0
0
0
-3
0
-5
-10
0
0
0
0
0
0
0
-5
51
0
0
0
0
0
1
0
6
-11
0
0
0
0
0
0
-1
-14
18
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-5
0
6
0
0
0
0
0
-1
-7
13
-7
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
4
3
-11
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
1
-99
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
-20
42
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
49
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
-4
5
-18
0
0
0
0
0
0
0
5
43
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
-3
-4
0
-6
0
0
0
0
18
-20
-69
-19
38
0
0
0
0
0
-4
-6
5
21
0
0
0
3
0
0
0
-12
34
0
0
0
0
0
0
4
-9
-10
0
0
0
0
0
0
-22
-63
27
0
0
0
0
0
0
13
0
-25
0
0
0
0
0
0
0
20
25
0
0
0
0
0
0
0
0
19
0
0
0
0
0
3
8
12
19
0
0
0
0
0
0
0
-14
96
0
0
0
0
0
0
-2
-2
21
0
0
0
0
0
0
2
0
-32
0
0
0
0
0
0
-2
-6
56
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-4
-3
-5
7
0
0
0
0
0
0
0
15
-40
0
0
0
0
0
0
2
25
-31
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
-34
5
0
0
0
0
0
0
-3
-3
-36
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
-22
-8
0
0
0
0
0
0
0
0
35
0
0
0
2
0
0
0
3
-4
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-15
10
0
0
0
0
0
0
-7
-5
5
0
0
0
7
0
0
-1
0
6
0
0
0
0
0
0
0
0
18
0
0
0
-6
-2
-3
-98
9
-6
0
0
0
0
0
-6
0
-16
65
0
0
0
0
0
0
-9
-5
34
0
0
0
0
0
-2
-3
14
-22
0
0
0
0
0
0
5
36
-60
0
0
0
0
0
0
-3
0
31
0
0
0
0
0
0
-2
3
96
0
0
0
0
0
-2
-1
-7
3
0
0
0
0
0
1
-18
-16
15
0
0
0
0
0
7
0
-1
-64
0
0
0
0
0
0
0
-19
39
0
0
0
0
0
0
0
-22
33
0
0
0
0
0
0
-1
-25
34
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
43
0
0
0
0
1
9
0
-5
-8
0
0
0
0
0
0
5
-10
-16
0
0
0
0
0
-1
0
-5
33
0
0
0
0
0
0
-1
-22
49
0
0
0
0
0
0
0
10
21
0
0
0
0
0
-2
-13
14
16
0
0
0
0
0
2
2
-6
-4
0
0
0
0
0
0
0
0
-46
0
0
0
0
-10
0
1
1
-12
0
0
0
0
0
0
1
10
23
0
0
0
0
-2
-2
0
0
111
0
0
0
0
0
0
0
9
-4
0
0
0
0
-4
0
1
0
-11
0
0
0
0
1
0
6
-7
5
0
0
0
0
1
0
0
3
-31
0
0
0
0
-1
-2
0
0
25
0
0
0
0
15
0
-11
-7
-11
0
0
0
0
-6
1
29
-48
-30
0
0
0
0
-2
98
2
127
-43
0
0
0
0
0
0
0
-90
9
0
0
0
0
0
8
17
5
5
0
0
2
0
0
0
-29
-36
31
0
0
0
0
-1
18
-21
-55
69
0
0
0
0
0
-8
6
-6
-9
0
0
0
0
-1
-17
3
-1
-32
0
0
0
0
0
-51
-22
-11
17
0
0
0
0
4
18
45
-15
-33
0
0
0
0
0
-5
-11
-50
77
0
0
0
0
0
-2
2
-3
-9
0
0
0
0
0
-1
51
-76
-31
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-5
4
-23
35
0
0
0
0
0
29
2
-2
29
0
0
0
0
0
-28
-6
-54
88
0
0
0
0
0
-3
36
-76
30
0
0
0
0
0
-10
30
-34
21
0
0
0
0
0
-2
-3
-4
52
0
0
0
0
0
-1
43
38
-100
0
0
0
0
0
-25
-41
58
-55
0
0
0
0
0
-1
37
15
-82
0
0
0
0
0
-1
-2
6
26
0
0
0
0
0
36
-19
0
-50
0
0
0
0
-6
-27
15
-6
11
0
0
0
-1
0
-4
1
-21
-5
0
0
0
0
0
71
-34
-77
37
0
0
9
0
0
-27
-20
40
-6
0
0
0
0
-6
-8
2
28
5
0
0
0
1
-2
-23
-5
44
56
0
0
0
0
-3
-40
23
-53
42
0
0
-14
1
-66
-14
41
-12
6
0
0
0
0
4
6
0
-40
-7
0
0
0
0
0
-1
-1
-66
57
0
0
0
0
0
-3
5
-36
35
0
0
0
0
0
0
80
-9
-37
0
0
0
0
-3
-7
2
2
0
0
0
0
0
0
0
19
-27
-7
0
0
0
0
0
-1
0
7
7
0
0
0
0
0
18
-6
4
6
0
0
0
0
0
3
0
-9
9
0
0
0
0
0
0
-1
32
-56
0
0
0
0
0
4
-2
-25
14
0
0
0
0
0
0
-16
74
28
0
0
0
0
0
-19
20
0
-19
0
0
0
0
0
0
0
3
24
0
0
0
0
1
7
0
0
-14
0
0
0
0
-8
19
50
8
3
0
0
0
0
2
3
-1
-49
46
-2
0
0
0
0
0
-5
-14
-8
-5
0
0
0
0
0
5
-25
38
9
0
0
0
0
1
-24
-79
-9
11
0
0
0
-2
0
0
-69
30
-9
0
0
0
-9
-2
-32
-74
41
45
0
0
0
0
7
-2
-9
-39
-3
0
0
0
-1
10
40
73
13
5
0
0
0
0
0
1
26
39
21
0
0
0
0
0
-1
37
-55
4
0
0
0
2
-3
-1
-25
-9
26
0
0
0
0
3
22
52
8
11
0
0
0
2
-4
-16
-4
2
26
0
0
0
7
1
-52
-37
55
20
0
0
0
-54
-7
2
-60
-14
36
0
0
0
49
-29
43
55
87
7
0
0
0
0
-1
4
-68
52
0
0
0
-4
0
3
0
-47
59
0
0
0
0
0
0
-4
43
4
0
0
0
0
0
-1
-55
-58
68
0
0
0
0
0
0
5
-5
-42
0
0
0
0
0
0
-6
68
16
0
0
0
0
0
0
3
-1
-4
0
0
0
0
0
3
4
-7
79
0
0
0
0
0
0
0
21
5
0
0
0
-2
0
0
0
-35
3
0
0
0
0
0
0
0
-12
-30
0
0
0
10
0
0
-1
-25
6
0
0
0
0
0
0
0
14
40
0
0
0
-8
0
0
0
4
-28
0
0
0
0
0
0
0
-15
32
0
0
0
-1
0
-7
-4
-9
10
0
0
0
0
0
0
-2
44
-65
1
0
0
11
0
0
0
-10
-142
13
0
0
0
0
0
0
34
-27
4
0
0
0
0
0
8
-38
-46
-4
0
0
0
0
0
0
-94
66
-27
0
0
-5
0
0
-1
-11
-117
1
0
0
0
0
0
0
5
27
-28
0
0
0
0
3
0
-57
-114
15
0
0
0
0
0
6
-44
-16
25
0
0
-9
0
0
0
-24
-20
-7
0
0
0
0
0
0
19
-24
-1
0
0
2
0
0
-1
39
-61
17
0
0
0
0
0
1
-44
75
7
0
0
-29
0
0
0
23
-46
35
0
0
0
0
0
0
-57
82
-27
0
0
55
-4
45
-9
-34
-11
6
0
0
0
0
4
0
-8
-5
0
0
0
0
0
0
0
-19
30
0
0
0
0
0
0
0
-42
34
0
0
0
0
0
0
3
-52
18
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
13
-6
59
0
0
0
0
0
0
0
23
-28
0
0
0
0
0
0
0
-29
-17
0
0
0
0
0
-2
0
-7
5
0
0
0
0
0
0
1
-11
1
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
-1
-13
17
0
0
0
0
0
-2
0
-7
16
0
0
0
0
0
-16
-1
10
72
0
0
0
0
0
-9
-8
39
-71
-8
0
0
0
0
0
-4
-40
-42
2
0
0
0
0
0
-1
68
-23
-28
0
0
0
0
0
10
-63
3
-17
0
0
0
0
0
0
12
-2
-22
0
0
0
0
0
-2
-50
-27
27
0
0
0
0
0
0
0
-5
27
0
0
0
0
0
2
-31
15
5
0
0
0
0
0
-1
18
96
-42
0
0
0
0
0
-3
22
-39
19
0
0
0
0
3
3
-19
12
11
0
0
0
0
-2
1
-31
9
15
0
0
0
0
0
1
-15
43
-51
0
0
0
0
0
0
29
51
-29
0
0
0
0
0
0
4
0
12
0
0
0
-4
29
-14
15
-16
7
0
0
0
0
2
-11
30
-21
0
0
0
0
0
0
-37
21
-31
0
0
0
0
0
0
19
-26
6
0
0
-6
0
0
0
108
-12
17
0
0
0
0
0
0
12
10
-4
0
0
0
0
0
0
-1
-4
-22
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
15
2
0
0
0
0
0
0
1
1
-43
18
0
0
0
0
0
0
0
-26
-4
0
0
0
0
0
0
-5
-17
12
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
1
4
7
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
-2
27
20
-53
0
0
0
0
0
-7
31
-15
-4
13
0
0
0
0
0
-7
-4
21
-4
0
0
0
0
0
5
-18
-15
-7
0
2
0
0
0
4
9
-65
43
0
0
0
0
0
-3
-19
11
20
0
0
0
0
0
5
-68
13
-11
0
0
0
0
0
0
1
0
-15
0
-2
0
0
0
-4
1
-18
-14
0
0
0
0
0
4
-16
73
-9
0
0
0
0
0
0
53
-45
-30
0
0
0
0
0
-8
78
20
13
0
18
0
0
0
22
-127
-25
57
0
0
0
0
0
2
-41
79
-52
0
0
0
0
0
-2
3
35
-64
0
0
0
0
0
0
-100
4
-30
0
30
18
-1
-59
-116
-49
10
15
0
0
0
0
0
-8
16
22
0
0
0
0
0
0
4
18
15
0
0
0
0
0
0
0
-14
22
0
0
0
0
0
0
27
-93
126
0
0
0
0
0
1
-5
1
-2
0
0
0
0
0
0
14
-84
-41
0
0
0
0
0
0
3
-5
-14
0
0
0
0
0
-2
14
-31
37
0
0
0
0
0
0
0
-14
42
0
0
0
0
0
0
1
14
8
0
0
0
0
0
0
-10
7
-22
0
0
0
0
0
1
33
-24
19
0
0
0
0
0
0
-2
-1
26
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
1
5
0
0
0
0
-3
15
-107
37
2
0
0
0
0
0
0
6
-57
-40
-5
0
0
0
0
0
0
-1
22
-31
0
0
0
0
0
-13
22
5
-11
0
0
0
0
-1
-1
27
-35
77
0
0
0
0
0
-1
0
28
-77
0
0
0
0
0
-3
5
34
-40
0
0
0
0
0
1
-14
-1
36
0
0
0
0
4
-1
-25
6
3
0
0
0
0
0
0
0
-44
10
0
0
0
0
0
0
2
51
-36
0
0
0
0
0
1
21
-8
-46
0
0
0
0
0
-5
10
26
5
0
0
0
-5
0
0
4
-29
10
0
0
0
0
0
2
-50
3
42
0
0
0
0
1
1
20
15
-81
0
0
0
9
7
-62
-12
-45
-4
0
0
0
0
2
5
-4
43
0
0
0
-1
0
0
-4
-29
-1
0
0
0
0
0
0
2
-36
-2
0
0
0
0
0
0
-2
-75
-15
0
0
0
0
0
0
0
14
40
0
0
0
0
0
0
0
-30
36
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
2
1
23
-51
0
0
0
0
0
0
1
-5
78
0
0
0
0
0
0
0
-2
-45
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
11
-2
-36
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
3
2
37
0
0
0
0
0
0
4
-11
61
0
0
0
0
0
0
-1
-54
-55
18
0
0
0
0
0
0
-37
55
-8
0
0
0
0
0
-1
-1
-2
-1
0
0
0
0
0
1
7
25
-41
0
0
0
0
0
0
-12
-10
-1
0
0
0
0
0
7
8
51
-21
0
0
0
0
0
0
-3
1
-119
0
0
0
0
1
0
-9
-60
79
0
0
0
0
0
-5
12
42
7
0
0
11
0
0
0
28
-72
32
0
0
0
0
0
0
10
4
26
0
0
0
0
0
0
3
-10
13
0
0
0
0
0
-4
14
-48
14
0
0
0
0
0
0
-15
-1
40
0
0
0
1
-5
-1
4
-9
15
0
0
-11
-15
-20
45
-81
40
9
0
0
0
0
0
0
-38
45
0
0
0
0
0
0
0
39
14
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
-8
-44
54
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
59
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
4
-4
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
-3
51
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
-6
-7
-30
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
0
0
1
8
0
0
0
0
0
0
-3
-4
-11
0
0
0
0
0
0
0
-2
97
-17
0
0
0
0
0
0
-3
12
7
0
0
0
0
0
0
-2
1
-7
0
0
0
0
0
0
2
3
-24
0
0
0
0
0
0
-7
-3
-45
0
0
0
0
0
0
0
-12
61
0
0
0
0
0
0
5
-9
13
0
0
0
0
0
0
2
7
-63
0
0
0
0
0
0
0
-5
-48
0
0
0
0
0
0
-12
-7
67
0
0
0
0
0
0
-4
3
-80
0
0
0
0
-4
0
3
-17
20
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
-7
-33
22
0
0
0
2
0
0
0
-12
-45
0
0
0
-12
27
-7
-71
-14
3
0
0
0
0
20
26
-64
62
0
0
0
0
0
0
-14
-23
7
0
0
0
0
0
0
11
21
-58
0
0
0
0
0
0
84
-7
-15
0
0
0
0
0
2
-26
47
-7
0
0
0
0
0
0
24
3
23
0
0
0
0
0
-4
0
-15
3
0
0
0
0
0
-20
14
-75
12
0
0
0
0
0
-1
37
36
-7
0
0
0
3
0
0
0
-3
-60
0
0
0
0
0
5
-3
-10
-15
0
0
0
0
0
0
-58
-77
84
0
0
0
0
0
0
-5
-5
-8
0
0
0
0
0
0
3
1
-13
0
0
0
0
0
8
4
-1
14
0
0
0
0
0
1
29
-16
-85
0
0
0
0
0
-7
35
68
39
-13
0
0
0
0
0
2
-39
37
33
0
0
0
0
-4
13
-14
-1
-2
0
0
0
0
0
-2
19
19
-56
0
0
0
0
0
-39
56
-4
25
0
0
0
0
0
1
-19
4
61
0
0
0
0
3
0
-26
-1
7
0
0
0
0
4
-21
-11
12
51
0
0
0
0
-1
-9
11
-4
-50
0
0
0
0
0
10
-28
53
-3
0
0
0
0
-2
0
-27
-10
47
0
1
0
0
0
24
2
8
-93
0
0
0
0
0
-7
6
52
-39
0
0
0
0
-1
-5
1
1
3
0
0
0
2
4
0
-4
-2
-86
0
19
3
8
7
-36
-15
-90
-14
0
0
0
-3
5
-1
36
31
0
0
0
0
0
0
2
12
-24
0
0
0
0
0
0
-1
24
-57
0
0
0
0
0
1
26
-26
-17
0
0
0
0
0
1
0
14
30
0
0
0
0
0
-2
-10
-26
52
0
0
0
0
0
4
-1
3
-5
0
0
0
0
-1
6
-8
-8
62
0
0
0
0
-5
-1
0
-29
56
0
0
0
0
0
0
-1
-21
16
0
0
0
0
1
1
-1
15
18
0
0
0
0
0
-2
-14
-19
21
0
0
0
0
-4
3
0
-5
56
0
0
0
0
0
0
4
-4
-90
0
0
0
0
-2
-12
7
4
42
0
0
0
0
8
-43
26
13
-63
0
0
0
0
-4
-3
-8
3
41
12
0
0
0
0
0
1
-4
46
3
0
0
0
0
0
0
5
27
-5
0
0
0
0
-1
48
-2
111
-91
0
0
0
0
1
0
24
-39
-11
0
0
0
0
0
2
-116
93
38
0
0
0
0
-2
0
1
37
-5
0
0
0
3
3
-7
33
39
1
0
0
0
6
3
0
-10
-73
37
5
0
0
0
0
0
-29
-9
46
-11
0
0
1
8
0
-39
-11
0
-2
0
0
0
2
-7
-31
-19
20
13
0
0
-1
1
5
3
39
-42
16
0
0
0
-2
2
-61
117
17
9
0
0
7
-1
7
55
89
36
10
0
0
13
20
26
55
49
-17
13
0
0
0
0
2
26
-3
0
0
0
4
0
0
-6
20
-22
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
-3
45
17
-95
0
0
0
0
0
0
-2
0
59
0
0
0
0
0
0
0
-38
65
0
0
0
0
0
0
1
-7
-30
0
0
0
0
0
-7
-63
-20
26
0
0
0
0
0
-1
0
2
11
0
0
0
0
0
0
0
21
23
0
0
0
0
0
0
6
-39
10
0
0
0
0
0
4
0
11
7
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
-4
-1
0
-41
0
0
0
0
0
0
3
-13
13
17
0
0
0
0
0
0
-68
77
-7
0
0
0
0
0
0
27
-7
-21
0
0
0
0
0
-7
-33
-21
38
0
0
0
0
0
-1
-57
72
-10
0
0
-4
0
0
0
33
-57
-15
0
0
0
0
0
0
-11
40
-93
0
0
0
0
1
4
18
37
-30
0
0
0
0
0
-6
-28
111
28
-8
0
0
0
0
-2
40
35
-46
-37
0
0
0
0
0
2
-41
-5
23
0
-9
0
0
0
31
37
-57
17
0
0
0
0
1
-25
-34
-45
4
0
2
0
0
0
-12
-2
1
34
0
0
0
0
0
-77
-23
3
36
0
-78
-14
18
46
-76
10
12
5
0
0
0
0
-5
10
88
0
0
0
0
0
0
10
-82
52
0
0
0
0
0
0
0
56
-104
0
0
0
0
0
0
-27
39
-12
0
0
0
0
0
0
-1
-22
-8
0
0
0
0
0
0
-3
12
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
7
-6
12
0
0
0
0
0
0
0
-17
23
0
0
0
0
0
0
0
22
-51
0
0
0
0
3
0
0
12
-55
0
0
0
0
0
0
2
36
-12
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
-1
0
-15
28
0
0
0
0
4
5
1
1
-18
0
0
0
0
0
5
0
-17
-21
32
0
0
0
0
0
6
41
-2
-4
0
0
0
0
0
0
37
-98
13
0
0
0
0
-1
-21
-45
53
10
0
0
0
0
0
1
18
35
-40
0
0
0
0
0
0
-13
27
-35
0
0
0
0
0
0
-4
2
24
0
0
0
0
-2
-5
-20
46
-23
0
0
0
0
0
0
3
-100
-8
15
0
0
0
0
0
1
-4
-153
27
0
0
0
0
0
-57
-7
24
-9
0
0
0
0
0
52
-19
-67
-9
0
0
0
0
0
-3
2
31
-23
0
0
0
0
-1
4
-39
-42
33
0
0
-1
0
0
16
0
-20
-53
0
0
-3
21
66
-119
27
15
-25
0
0
0
-9
-14
87
-77
0
0
0
0
0
0
4
-38
41
0
0
0
0
0
0
4
0
-79
0
0
19
0
0
1
50
-72
17
0
0
0
0
0
0
13
12
30
0
0
0
0
0
0
-9
-47
0
0
0
0
0
0
-1
12
-24
42
0
0
0
0
0
-1
28
-15
-46
0
0
0
0
0
-3
22
-48
61
0
0
0
0
0
0
0
21
22
0
0
0
0
0
1
11
-33
19
0
0
3
0
0
-3
18
24
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
-1
0
2
0
0
-3
0
0
-1
-7
-3
18
0
0
0
0
0
-2
5
14
12
43
0
0
0
0
0
2
-51
102
-29
0
0
0
0
0
1
-33
-7
60
0
14
0
0
0
3
-23
-5
-55
0
0
0
0
0
-10
7
9
6
0
0
0
0
0
-3
12
37
-75
0
0
0
0
0
0
11
-6
1
0
0
0
0
1
-30
-55
-9
-56
0
0
0
0
0
5
-18
98
0
15
0
3
0
0
2
-43
-17
8
21
0
0
0
1
0
59
-25
-8
-37
-20
0
0
0
-1
3
-38
22
-18
0
0
0
0
0
6
9
6
-20
0
-1
0
0
-2
18
17
15
-87
0
0
0
1
0
-4
-37
-98
-27
-86
-19
-3
-129
-169
21
-36
71
16
0
0
12
0
-3
-61
85
0
0
0
0
0
0
-2
39
-18
0
0
0
0
2
-1
1
10
-21
0
0
0
0
0
0
-62
43
9
0
0
0
0
0
4
10
-71
-15
0
0
0
0
0
0
7
21
4
0
0
0
0
0
-1
3
-9
7
0
0
0
0
0
1
48
-8
-61
0
0
0
0
1
-2
-3
41
-7
0
0
0
0
0
0
1
-23
14
0
0
0
0
0
0
-1
-5
75
0
0
0
0
0
1
-16
-50
1
0
0
0
0
0
0
-8
-2
21
0
0
0
0
0
0
0
24
-39
0
0
0
0
-1
-5
3
0
7
0
0
0
0
-6
31
-50
-8
-18
0
0
0
0
0
3
14
-28
51
23
0
0
0
0
0
0
-34
-10
27
0
0
0
0
0
3
6
-37
8
0
0
0
0
-4
-2
-58
-10
47
0
0
0
0
0
-4
1
-5
5
0
0
0
0
0
0
16
-11
-14
0
0
0
0
3
0
0
-17
28
0
0
0
0
-2
5
-63
105
-68
0
0
0
-1
-2
0
0
2
-13
33
0
0
0
0
0
31
-18
-122
26
0
0
0
0
0
2
39
-1
-53
0
0
0
-3
-7
-59
79
1
-11
0
0
4
0
0
6
11
-34
25
0
0
0
-2
1
6
-39
-87
56
0
0
-5
-5
0
10
-19
24
6
0
0
-27
-68
52
-12
124
-8
-9
0
0
0
0
19
0
-13
0
0
0
-36
0
0
0
-39
83
0
0
0
0
1
0
4
-1
33
0
0
0
4
0
0
-54
-23
57
0
0
0
0
0
2
3
-29
18
0
0
0
1
0
0
7
17
-17
0
0
0
0
0
0
0
3
27
0
0
0
0
0
0
41
-66
-19
0
0
0
0
0
0
1
3
29
0
0
0
-1
0
0
0
1
-21
0
0
0
0
0
0
0
-1
48
0
0
0
-1
0
-4
0
-28
5
0
0
0
0
0
0
0
5
-9
0
0
0
3
0
0
0
0
10
0
0
0
0
0
0
0
-10
-18
0
0
0
5
0
-4
-55
9
11
0
0
0
0
0
0
-14
-12
19
30
0
0
7
0
0
0
6
-13
2
0
0
0
0
0
0
-19
11
-2
0
0
0
0
-3
-3
45
-5
-31
0
0
0
0
0
0
-8
-7
-9
0
0
-19
0
0
5
8
7
-41
0
0
0
0
0
0
0
-22
8
0
0
0
0
-1
5
15
-20
-39
0
0
0
0
0
-2
6
-52
-34
22
0
-48
0
0
0
0
-64
48
32
0
0
0
0
0
-8
9
-89
-7
0
-2
0
0
-3
0
10
-33
34
0
0
0
0
0
4
-4
23
-23
0
23
0
0
0
-14
-13
-2
31
0
0
-10
0
-2
19
13
68
-50
0
-1
20
-25
16
-4
-39
6
15
0
0
-3
0
-2
2
45
0
0
0
0
0
0
-4
20
-36
0
0
0
0
0
-8
7
-65
48
0
0
0
0
0
-1
21
-17
50
0
0
0
0
1
-7
2
-24
7
0
0
0
0
0
0
-11
1
-27
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
-2
21
-14
58
0
0
0
0
3
-3
1
21
-42
0
0
0
0
0
3
0
9
29
0
0
0
0
-7
0
1
23
-31
0
0
0
0
-1
-2
-11
49
-1
0
0
0
0
-1
0
-4
2
4
0
0
0
0
-2
4
0
-2
7
0
0
0
0
8
-23
-1
0
-32
0
0
0
0
2
-7
-41
57
54
0
0
0
0
4
4
-1
-21
22
18
0
0
0
0
0
-2
-41
4
28
0
0
0
0
0
0
10
-21
23
0
0
0
4
0
-17
-36
-6
31
0
0
0
1
0
0
-4
11
26
0
0
0
0
0
0
-5
-23
-14
0
0
0
1
0
-2
0
2
-38
0
0
0
3
-6
8
22
-13
-62
0
0
0
-18
2
0
-1
45
21
-1
0
0
0
0
-1
-21
36
12
-11
0
0
6
-3
0
-1
10
9
-27
0
0
0
0
-6
-12
3
5
-31
0
0
-3
-1
0
3
-12
3
-34
0
0
-2
0
6
-16
-6
7
-17
0
0
-7
0
-3
5
13
-42
36
0
0
-17
15
14
-53
17
-44
88
0
0
7
19
66
-21
2
0
0
0
40
22
-7
-13
-26
19
0
0
0
0
18
-22
-55
-22
21
0
0
-27
42
-82
-29
-56
-21
11
0
0
0
0
18
18
52
-20
-12
0
0
0
61
-48
-6
-78
-8
-15
0
0
0
0
10
-53
24
26
-50
0
0
-4
-30
-56
-44
7
-24
1
0
0
0
0
-9
23
-20
22
15
0
0
0
-2
-20
42
192
21
-21
0
0
0
0
32
-68
-22
14
9
0
0
28
19
-16
-4
-31
-2
-48
0
0
0
0
31
8
-20
15
-18
0
0
0
9
-15
-11
-32
6
-3
0
0
0
0
25
-5
-44
-59
6
0
0
17
-2
16
-44
35
-34
17
0
0
0
0
65
48
-10
-67
75
5
0
0
28
23
-29
-103
-69
-33
9
0
0
0
-18
-85
58
-82
63
11
0
-32
-81
33
12
28
-18
46
-9
0
0
0
-16
-6
67
-15
15
-5
0
0
-26
23
-11
-17
-99
-55
0
0
0
0
47
9
-6
-13
68
-18
0
30
23
8
48
34
32
1
-16
0
0
0
11
-4
42
-20
-2
-6
19
0
34
-56
-22
9
20
-24
-10
2
0
0
115
12
-5
18
-8
-2
-15
-26
-2
2
-6
12
-77
22
22
13
0
0
1
-45
39
-43
21
-7
3
0
-61
5
-34
-19
4
-18
-2
-4
0
0
7
71
66
-10
68
-34
-11
15
9
-61
8
48
-4
20
-11
-1
0
0
-12
-34
-34
-17
37
0
0
0
0
-53
-4
21
-21
12
0
0
0
0
-27
60
59
6
13
0
0
0
0
-20
3
36
-66
12
0
0
0
0
9
107
59
-58
12
0
0
0
0
25
48
-43
-74
26
0
0
0
0
8
-27
40
12
-66
0
0
0
0
10
14
-19
-39
-23
0
0
0
0
34
0
-6
-11
0
0
0
0
0
0
-42
111
-20
18
0
0
0
0
45
-33
-7
-11
0
0
0
0
0
-8
3
13
-15
-33
0
0
0
0
-46
50
-32
-18
-4
0
0
0
0
0
-1
-64
-45
20
0
0
0
0
-17
31
48
-3
7
0
0
0
0
3
-39
-42
23
13
0
0
0
0
-37
-42
-2
68
68
0
0
0
0
-1
92
-36
19
40
0
0
0
0
-17
29
49
-27
19
0
0
0
0
-3
21
33
-70
34
0
0
0
0
47
10
26
-50
65
0
0
0
0
-3
-68
58
-79
63
0
0
0
0
9
54
-75
83
3
0
0
0
0
-2
-26
2
122
-20
0
0
0
0
24
37
38
-30
5
0
0
0
0
-1
17
-8
15
27
0
0
0
0
-8
45
-44
-77
78
0
0
0
0
0
-3
51
-77
-11
0
0
0
0
41
-39
29
0
12
0
0
0
0
18
-17
100
23
-32
0
0
0
0
-61
-33
86
-60
41
0
0
0
0
38
34
54
-12
2
0
0
0
0
0
-8
-60
16
15
0
0
0
-27
21
120
25
-10
15
0
0
0
0
62
50
-34
-34
9
0
0
0
27
0
-38
43
14
20
0
0
0
0
0
-7
16
-71
15
0
0
0
84
1
5
-63
25
21
0
0
0
0
0
-31
88
-12
-4
0
0
0
43
0
12
-1
-42
-32
0
0
0
0
0
0
53
-77
60
0
0
0
-6
3
28
17
-8
-11
0
0
0
0
0
19
94
-85
-26
0
0
0
35
0
24
-51
-64
45
0
0
0
0
0
0
10
-201
21
0
0
0
29
0
-49
48
-56
44
0
0
0
0
0
8
60
-18
-36
0
0
0
-6
0
-25
54
26
-2
0
0
0
0
0
-8
63
-90
4
0
0
0
-35
-22
-26
45
1
76
0
0
0
0
3
-3
1
-75
66
0
0
0
8
0
-5
-53
-6
42
0
0
0
0
0
0
8
14
47
0
0
0
59
0
10
-46
-3
71
0
0
0
0
0
-6
-19
82
-12
0
0
0
-3
0
3
-3
21
-11
0
0
0
0
0
-15
-9
46
8
0
0
0
11
0
26
-19
-41
12
0
0
0
0
0
2
44
17
-41
0
0
0
-1
0
3
-31
71
-49
0
0
0
0
0
0
34
-17
33
0
0
0
47
0
-1
28
14
5
0
0
0
0
5
-1
-42
19
12
0
0
0
20
-3
-148
-66
-5
6
0
0
0
0
2
35
-10
19
-4
0
0
0
0
1
-50
33
-15
2
0
0
0
0
21
19
4
15
5
0
0
0
0
48
-18
-32
13
7
0
0
0
0
36
15
-3
-30
0
0
0
0
0
0
-30
12
8
-19
0
0
0
0
-16
22
-12
58
-2
0
0
0
0
8
66
-4
-38
-10
0
0
0
0
0
59
26
-64
-11
0
0
0
0
0
2
4
-138
92
0
0
0
0
-1
-44
-40
35
35
0
0
0
0
0
-49
19
17
18
0
0
0
0
-12
64
-54
-37
-4
0
0
0
0
0
-4
-29
57
19
0
0
0
0
6
1
5
-122
80
0
0
0
0
-2
-14
-21
-40
21
0
0
0
0
-2
12
71
-77
-17
0
0
0
0
-2
2
19
20
-21
0
0
0
0
-23
-6
-59
-51
94
0
0
0
0
4
5
-26
-76
63
0
0
0
0
-14
30
55
-109
2
0
0
0
0
0
-11
-34
-22
4
0
0
0
0
6
-12
5
-11
57
0
0
0
0
1
-24
11
17
88
0
0
0
0
0
-1
6
-9
63
0
0
0
0
0
-1
8
-14
-57
0
0
0
0
-2
-5
-88
13
25
0
0
0
0
-9
-3
63
-93
26
0
0
0
0
25
59
-60
27
-17
0
0
0
0
2
-7
58
-41
-52
0
0
0
0
8
-77
78
-52
3
0
0
0
0
42
18
73
-21
-27
0
0
0
0
3
56
-82
-63
14
0
0
0
2
-9
-37
-141
114
-8
0
0
0
0
38
67
42
-34
-6
0
0
-38
-55
-9
68
86
71
-25
0
0
0
0
0
-3
-30
-7
23
0
0
0
-17
-5
17
121
-6
-49
0
0
0
0
6
22
41
-103
-4
0
0
-3
3
2
1
54
-16
-42
0
0
0
0
0
-7
11
-40
26
0
0
0
0
0
-29
81
-7
10
0
0
0
0
0
-51
-24
-9
30
0
0
90
-11
0
-9
-87
2
47
0
0
0
0
0
-7
-12
44
24
0
0
0
4
0
-4
-30
72
4
0
0
0
0
0
-14
68
8
-31
0
0
60
0
-2
-8
-18
-48
-2
0
0
0
0
6
18
-24
-85
61
0
0
0
9
0
-15
76
-6
-4
0
0
0
0
4
0
-96
4
115
0
0
25
-14
3
-50
-27
-17
-3
0
0
0
0
0
9
38
-48
-3
0
0
0
44
0
2
38
-85
-60
0
0
0
0
2
-6
5
-33
-3
0
0
95
0
5
-18
-45
-89
-48
0
0
0
0
0
2
23
-18
-12
0
0
0
0
0
2
7
10
53
0
0
0
0
0
0
-102
13
65
0
0
12
4
0
56
-15
-44
-33
0
0
0
0
0
-4
-48
-81
90
0
0
0
31
0
-4
-26
-124
55
0
0
0
0
-10
6
-57
-5
8
0
0
-44
60
-17
-70
-40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-28
0
0
0
0
0
3
-14
-25
10
0
0
0
0
-1
10
-40
-33
77
0
0
0
0
0
0
35
-75
3
0
0
0
0
-23
-16
15
72
-65
0
0
0
0
0
-2
-5
-102
33
0
0
0
0
4
-5
-51
-83
148
0
0
0
0
4
-13
-9
-5
32
0
0
0
0
-20
24
-8
56
18
0
0
0
0
0
0
-24
47
-11
0
0
0
0
0
2
34
25
-49
0
0
0
0
0
1
-6
-12
5
0
0
0
0
1
22
-16
5
-49
0
0
0
0
-3
-1
3
27
-15
0
0
0
0
-1
-1
-2
13
28
0
0
0
0
0
-3
-36
46
22
0
0
0
0
-3
-30
70
-71
90
0
0
0
0
0
-10
-59
-113
72
0
0
0
0
0
-34
30
33
29
0
0
0
0
1
11
-27
-78
46
0
0
0
0
1
-42
-2
-5
82
0
0
0
0
-16
5
9
39
15
0
0
0
0
0
0
26
29
28
0
0
0
0
1
5
27
-6
22
0
0
0
0
50
38
49
-4
-15
0
0
0
0
0
-2
25
-38
-12
0
0
0
0
-2
18
47
-28
-1
0
0
0
0
1
16
-14
-52
54
0
0
0
0
36
-73
103
61
-32
0
0
0
0
-2
34
7
-21
3
0
0
0
0
-5
-33
9
-2
-19
0
0
0
0
-42
-9
7
-21
23
0
0
0
0
0
0
6
-42
17
0
0
0
38
0
0
7
6
-10
0
0
0
0
0
0
-5
-67
-59
0
0
0
1
0
-1
-52
-22
12
0
0
0
0
0
-3
-26
23
5
0
0
0
-15
0
-37
-29
-11
36
0
0
0
0
0
0
16
-120
55
0
0
0
0
0
18
2
-85
-5
0
0
0
0
0
2
22
7
-7
0
0
0
6
0
0
13
-56
12
0
0
0
0
0
0
-4
-3
-4
0
0
0
2
0
1
8
43
-71
0
0
0
0
0
0
0
0
56
0
0
0
-11
0
1
-2
-3
21
0
0
0
0
0
-3
0
-32
44
0
0
0
-7
0
-2
-7
-26
97
0
0
0
0
0
1
-15
41
-30
0
0
0
36
-1
-13
20
-24
-10
0
0
0
0
0
0
15
-70
32
0
0
0
3
0
9
-31
-6
41
0
0
0
0
0
-1
4
-4
-7
0
0
0
-8
0
2
26
41
-25
0
0
0
0
0
-1
-6
-1
27
0
0
0
0
0
0
26
17
64
0
0
0
0
0
4
30
-37
-17
0
0
0
46
2
-55
-81
35
29
0
0
0
0
0
0
-7
-32
55
0
0
0
-1
0
-3
12
-17
10
0
0
0
0
0
0
43
-42
-34
0
0
0
29
0
-9
11
-4
-16
0
0
0
0
-4
11
-8
42
-26
0
0
0
-40
0
13
-100
-28
32
0
0
0
0
19
-4
-40
-2
-19
0
0
0
0
0
0
0
-37
69
0
0
0
0
-4
-11
4
20
36
0
0
0
0
0
20
8
-37
20
0
0
0
0
-3
15
-4
64
-23
0
0
0
0
0
-18
5
-1
-59
0
0
0
0
-3
0
4
-10
-65
0
0
0
0
0
9
49
-54
6
0
0
0
0
-2
1
3
-19
26
0
0
0
0
0
0
7
60
-35
0
0
0
0
1
1
-3
18
29
0
0
0
0
0
6
-15
-38
83
0
0
0
0
4
32
25
36
-6
0
0
0
0
0
-1
-51
6
62
0
0
0
0
2
8
-12
-2
-40
0
0
0
0
0
19
22
-9
-43
0
0
0
0
-3
-6
-8
-38
112
0
0
0
0
2
-2
9
-72
62
0
0
0
0
1
-1
3
-45
-20
0
0
0
0
-1
-2
55
31
-86
0
0
0
0
0
12
20
-23
-28
0
0
0
0
0
0
1
-43
-29
0
0
0
0
-1
-1
-5
71
-42
0
0
0
0
-1
-13
-44
-37
27
0
0
0
0
9
-20
-32
67
-2
0
0
0
0
1
0
-10
-76
74
0
0
0
0
-2
2
7
-114
2
0
0
0
0
3
-2
5
36
-16
0
0
0
0
9
17
18
-101
40
0
0
0
0
0
-2
-14
-6
19
0
0
0
0
4
-8
-10
48
54
0
0
0
0
-14
-12
3
35
-10
0
0
0
0
0
-4
1
58
35
0
0
0
1
0
0
-6
59
-4
0
0
0
0
0
-4
3
23
-22
0
0
7
-12
0
-10
49
-13
13
0
0
0
0
0
2
-8
10
23
0
0
0
2
0
0
-28
38
-49
0
0
0
0
0
0
1
-56
-31
0
0
1
0
0
-15
-118
44
30
0
0
0
0
0
-1
-7
-16
12
0
0
0
19
0
-2
-37
-1
-4
0
0
0
0
0
1
2
-70
35
0
0
16
0
0
-2
24
-20
-25
0
0
0
0
0
-5
-6
46
21
0
0
0
-3
0
-1
34
9
-51
0
0
0
0
0
0
-16
-61
74
0
0
-2
0
0
0
84
-30
-12
0
0
0
0
0
7
-7
1
-20
0
0
0
0
0
6
-64
-30
57
0
0
0
0
0
8
16
-21
-67
0
0
40
0
0
-9
41
-82
-45
0
0
0
0
0
0
-9
-14
43
0
0
0
0
0
1
1
-68
-4
0
0
0
0
-1
-7
4
-23
17
0
0
0
0
0
0
-3
-24
11
0
0
0
0
0
9
10
-4
-63
0
0
0
-3
0
-4
9
21
-28
0
0
0
0
0
-5
-4
4
-16
0
0
-18
0
0
3
-111
-69
45
0
0
0
0
0
5
12
-3
-29
0
0
0
-27
0
0
48
-125
30
0
0
0
0
1
5
4
-18
-29
0
0
-35
-3
0
-4
-9
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-77
-16
-14
36
0
0
0
0
0
-26
-16
-3
8
0
0
0
0
3
-45
-1
-10
23
0
0
0
0
-2
35
-25
-67
26
0
0
0
0
-1
-42
-5
8
74
0
0
0
0
3
-5
4
-52
81
0
0
0
0
-4
-25
58
12
-15
0
0
0
0
0
-49
143
-14
8
0
0
0
0
30
42
34
-35
-18
0
0
0
0
0
28
-26
0
-7
0
0
0
0
1
1
3
-82
71
0
0
0
0
1
-13
-60
14
-13
0
0
0
0
-30
-37
12
-18
45
0
0
0
0
0
0
34
-69
57
0
0
0
0
75
9
44
65
-52
0
0
0
0
0
41
-27
-26
18
0
0
0
0
-44
-8
88
72
57
7
0
0
0
0
-1
-7
-120
-42
14
0
0
0
-1
-14
51
56
72
2
0
0
0
-5
26
-24
-12
6
12
0
0
0
-48
54
47
76
55
-4
0
0
0
-2
0
11
-54
12
-1
0
0
0
-1
-62
7
-17
76
-6
0
0
0
0
3
0
-21
30
-24
0
0
0
-15
-26
-54
-11
0
21
0
0
0
0
-5
32
-52
-23
23
0
0
0
-39
37
-1
5
-21
6
0
0
0
0
10
-3
-41
5
34
0
0
0
36
77
-91
132
107
-8
0
0
0
4
-2
-53
-3
-50
28
0
0
0
57
7
27
-79
-33
18
0
0
0
-23
22
-52
21
-19
15
0
0
0
0
25
10
-17
20
0
0
0
-19
0
43
19
-31
26
0
0
0
0
0
-5
7
-85
103
0
0
0
0
0
-4
-61
-40
73
0
0
0
0
0
-9
26
54
-61
0
0
0
-22
0
-5
-68
41
50
0
0
0
0
0
0
34
-46
-66
0
0
0
0
0
0
-79
16
-18
0
0
0
0
0
6
87
-101
10
0
0
0
-29
0
32
-59
-23
13
0
0
0
0
-11
-3
-51
39
-5
0
0
0
7
0
2
24
-13
9
0
0
0
0
0
0
-20
-38
37
0
0
0
14
0
-25
16
-123
48
0
0
0
0
1
-16
23
-54
-11
0
0
0
12
-1
13
22
-12
-15
0
0
0
0
0
11
-9
75
2
7
0
0
41
7
-62
-17
54
-6
1
0
0
0
0
0
8
-57
-25
-3
0
0
9
0
1
51
-31
82
-7
0
0
0
0
0
-17
42
-49
4
0
0
50
3
0
-22
66
-19
-15
0
0
0
0
-4
0
-36
5
-3
0
0
0
0
5
-7
75
-34
-22
0
0
0
0
1
13
-109
34
1
0
0
-99
-5
-2
-73
-7
55
64
0
0
0
7
-4
-21
-20
-34
4
0
0
4
0
-3
15
60
-87
14
0
0
0
0
4
35
2
-10
26
0
0
-69
0
-7
-17
3
41
31
0
0
0
-1
25
35
-96
7
7
0
0
28
-13
-8
91
-61
39
-13
0
0
0
-2
-3
1
-6
-8
0
0
0
0
0
0
29
10
79
0
0
0
0
23
-18
6
-79
66
0
0
0
0
3
19
-48
33
66
0
0
0
0
-5
5
-26
-64
-29
0
0
0
0
0
0
-21
30
21
0
0
0
0
0
4
-10
6
-3
0
0
0
0
0
-67
81
-45
18
0
0
0
0
0
-1
-11
67
-19
0
0
0
0
0
-10
2
-19
37
0
0
0
0
-11
-3
7
-125
111
0
0
0
0
5
5
-58
-10
46
0
0
0
0
0
-2
64
-69
27
0
0
0
0
0
6
4
-6
39
0
0
0
0
-3
-22
-52
31
-4
0
0
0
0
-10
12
1
-55
-3
0
0
0
0
-3
42
34
-5
-68
-12
0
0
0
0
-1
85
-50
67
-14
0
0
0
-2
1
0
0
-68
-7
0
0
0
0
0
-25
-3
-32
-6
0
0
0
3
-8
60
-26
29
-4
0
0
0
0
0
-18
-26
-123
50
0
0
0
0
1
-43
-20
-13
19
0
0
0
2
-3
5
-84
88
11
0
0
0
2
-15
-42
1
28
26
0
0
0
0
-1
4
2
-31
5
0
0
0
-4
-1
2
-28
54
-57
0
0
0
-9
-7
-33
37
16
20
0
0
0
-2
15
44
-27
-29
23
0
0
0
0
-2
-2
-17
85
-33
0
0
0
-3
-6
13
11
-2
26
0
0
0
-17
13
-67
-43
-124
44
0
0
0
0
-3
-27
28
40
0
0
0
-1
0
4
4
3
24
0
0
0
0
7
20
-42
-11
41
0
0
35
0
0
14
21
16
6
0
0
0
0
0
0
16
-31
40
0
0
0
-7
0
-3
-49
-54
46
0
0
0
0
-1
0
-36
-32
-1
0
0
1
0
-4
-7
-22
-5
17
0
0
0
0
0
1
17
58
-60
0
0
0
0
0
-1
37
-1
-13
0
0
0
0
0
-23
-27
-16
28
0
0
-44
-6
0
17
72
-4
-47
0
0
0
0
0
0
7
-42
22
0
0
0
0
0
-1
-57
-11
-7
0
0
0
0
0
-31
3
-31
31
0
0
15
0
-2
-28
17
-49
0
0
0
0
0
3
2
-4
115
33
-24
0
0
0
0
-4
115
-122
73
-11
0
0
0
1
15
-12
-145
-46
-2
0
22
0
0
9
21
-36
40
5
0
0
0
0
0
6
3
68
2
0
0
9
0
0
11
-11
71
-25
0
0
0
3
4
-1
-85
-8
14
0
-54
0
0
-23
6
-71
-9
42
0
0
0
0
3
10
-14
52
4
0
0
0
0
-9
-16
-2
-8
25
0
0
0
3
1
48
76
-56
-45
0
-11
0
0
-2
-44
-47
57
-13
0
0
0
0
-14
2
-47
-40
65
0
0
-9
0
2
-22
10
14
27
0
0
0
4
-18
-51
-36
170
-28
0
39
10
0
-50
-16
-23
-64
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
37
50
13
-46
0
0
0
0
0
0
-25
-134
71
0
0
0
0
3
-3
33
-68
38
0
0
0
0
0
0
7
-3
19
0
0
0
0
-37
43
36
37
-100
0
0
0
0
-1
-6
-10
-79
11
0
0
0
0
0
4
-3
42
-26
0
0
0
0
0
0
1
-48
129
0
0
0
0
29
12
50
-49
-23
0
0
0
0
0
-11
-16
-83
16
0
0
0
0
0
8
63
-10
-37
0
0
0
0
0
11
-5
28
24
0
0
0
0
65
15
34
-35
-8
0
0
0
0
1
0
-21
-10
-8
0
0
0
0
-9
59
5
-5
-7
0
0
0
0
23
-76
31
-66
-2
0
0
0
0
-39
28
-52
78
17
22
0
0
0
0
7
-22
-18
34
0
0
0
0
0
-17
-11
-67
14
10
0
0
0
1
0
2
34
-21
6
0
0
0
34
37
10
102
26
-14
0
0
0
-2
7
-33
-19
70
23
0
0
0
-18
14
-3
32
48
-6
0
0
0
-3
0
-49
16
7
-15
0
0
0
-17
-73
174
8
25
8
6
0
0
0
-2
-30
-78
-39
31
18
0
0
0
-54
-70
-22
87
-32
4
0
0
0
-13
36
55
-18
16
-3
0
0
-53
-31
16
-34
-28
20
13
0
0
-3
-13
46
-69
40
-50
8
0
0
51
39
-72
87
-22
-44
6
0
0
23
-27
-39
26
39
2
1
0
0
0
1
18
-12
15
0
0
0
50
0
5
-21
51
-46
0
0
0
0
0
0
0
46
-32
0
0
0
0
0
0
-39
5
16
0
0
0
0
0
0
-55
-4
76
0
0
0
12
0
-9
81
-56
-11
0
0
0
0
0
0
0
10
32
0
0
0
0
0
1
33
50
11
0
0
0
0
0
-5
36
-50
51
0
0
0
90
0
-5
-29
-54
10
0
0
0
0
1
0
0
-4
-42
0
0
0
-7
0
-3
40
-5
9
0
0
0
0
0
-3
-12
-45
100
0
0
0
4
0
-1
-19
-27
33
0
0
0
0
0
1
1
-101
63
0
0
0
-13
0
0
-7
34
75
0
0
0
0
0
0
-30
-97
4
32
0
0
-18
5
-33
-9
5
24
28
0
0
0
0
1
0
-37
34
-35
0
0
0
0
-2
6
-13
-22
65
0
0
0
0
0
-41
-13
-65
50
0
0
-77
-5
-4
21
-64
59
-22
0
0
0
0
2
6
-6
-31
14
0
0
-1
0
5
2
-18
14
12
0
0
0
0
0
-98
-21
110
-26
0
0
74
0
26
-95
-35
21
-16
-16
0
0
0
-4
13
-101
13
-34
-5
0
-12
0
-4
-4
-76
-20
-92
2
0
0
0
-6
-9
35
8
11
7
0
9
-1
0
34
-6
-36
-24
-12
0
0
-2
5
11
-140
-45
23
6
0
-65
-5
-33
3
-21
19
13
-15
0
0
-3
3
-14
-52
105
0
0
0
0
0
0
0
-4
-38
0
0
0
0
0
3
36
43
-9
0
0
0
0
0
3
1
-37
17
0
0
0
0
5
4
-13
-13
-110
0
0
0
0
0
-2
3
23
-4
0
0
0
0
0
-14
0
-11
17
0
0
0
0
0
2
-86
-21
6
0
0
0
0
13
0
-19
-2
-14
0
0
0
0
0
0
8
-144
28
0
0
0
0
-5
-11
5
16
47
0
0
0
0
-1
3
10
-32
21
0
0
0
0
3
5
-2
47
10
0
0
0
0
0
0
-20
-18
28
0
0
0
0
-3
0
-45
-7
72
0
0
0
0
3
17
36
-17
-27
0
0
0
0
-21
-28
10
38
54
-1
0
0
0
0
0
-8
-10
-39
6
0
0
0
-2
-3
8
-43
-34
45
0
0
0
0
0
-26
-53
14
64
0
0
0
-10
4
8
12
-78
27
0
0
0
0
-3
-5
37
-101
-2
0
0
0
1
-5
-1
-2
46
-32
0
0
0
-1
-6
18
-87
-20
71
0
0
0
-40
-64
-1
-42
37
31
22
0
0
0
-6
2
-106
14
-38
16
0
0
0
13
-23
-51
-25
-79
29
0
0
-12
3
0
24
-48
-97
10
0
0
-26
-10
-31
63
136
-58
-19
0
0
0
4
1
65
73
-62
-50
0
0
-12
10
-12
42
32
-45
17
0
0
-6
23
-12
-93
-49
-18
40
0
0
0
-4
-4
-12
39
0
0
0
1
0
0
-1
-5
4
0
0
0
0
0
0
3
-38
-56
0
0
53
12
0
2
-72
-76
29
0
0
0
0
0
0
-6
10
-39
0
0
0
0
0
0
-51
-57
70
0
0
0
0
0
-2
4
5
7
0
0
4
0
0
-8
-31
65
17
0
0
0
0
-1
0
-9
-20
31
0
0
0
0
0
1
-14
30
-38
0
0
0
0
0
-17
1
-25
-63
0
0
46
0
0
-10
32
-52
-20
0
0
0
0
0
-1
-65
11
54
0
0
0
-7
0
0
-30
-81
24
0
0
0
0
0
-23
-11
-36
32
0
0
-53
0
0
7
-40
24
30
0
0
0
0
0
0
-3
-137
23
30
0
0
0
0
-2
7
25
52
-23
0
0
0
0
3
-47
-11
18
28
0
-44
-1
0
-6
30
44
-31
-19
0
0
0
0
0
-1
-21
-58
16
0
0
0
0
0
-11
-98
97
20
0
0
0
0
0
-8
12
-124
25
0
-48
0
0
-4
86
-30
9
-11
0
0
0
0
-7
4
13
-3
-20
-5
0
-2
0
-5
-49
89
-4
-73
-19
0
0
0
-2
-9
-10
63
-34
-5
-99
1
0
-15
-8
1
48
-60
3
0
0
0
3
3
1
77
20
-45
0
11
0
1
3
-16
-40
-8
-5
0
0
0
-13
-3
-58
-86
-87
80
-14
-9
-3
-15
-111
-10
20
-94
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
-83
55
36
0
0
0
0
-7
-78
-102
-15
58
0
0
0
0
41
49
-120
-26
19
0
0
0
0
-6
-13
-21
-35
20
0
0
0
0
-6
-89
-72
1
50
0
0
0
0
1
56
23
1
35
0
0
0
0
-14
-32
-30
37
-13
0
0
0
0
0
16
62
-15
-12
0
0
0
0
5
9
22
-67
19
0
0
0
0
0
0
-10
-30
98
0
0
0
0
31
-30
16
-2
-17
0
0
0
0
2
-18
6
14
33
0
0
0
0
11
30
-82
-46
71
0
0
0
0
0
4
15
-58
10
0
0
0
0
48
-36
50
66
-38
0
0
0
0
3
28
-30
-48
18
0
0
0
0
-18
2
-22
18
28
0
0
0
0
0
26
88
-93
1
0
0
0
0
5
-15
50
-109
33
0
0
0
0
1
14
-15
-18
-18
0
0
0
0
-4
80
95
-22
-27
0
0
0
0
1
-28
-23
93
63
0
0
0
0
-14
0
5
-1
32
0
0
0
0
0
18
32
-103
129
0
0
0
0
-35
-5
34
-32
33
0
0
0
0
-1
0
-28
-40
38
0
0
0
0
-10
39
-40
76
-35
0
0
0
0
0
33
16
16
10
0
0
0
0
40
-29
-17
-11
2
0
0
0
0
9
-17
15
-20
31
0
0
0
0
4
-80
82
-47
22
0
0
0
0
-16
5
18
-58
21
0
0
0
0
0
27
-55
-13
9
0
0
0
-12
5
-20
33
-45
26
0
0
0
0
0
-8
-23
2
6
0
0
0
-5
0
-25
-68
3
5
0
0
0
0
13
-25
-17
-29
21
0
0
0
38
0
57
72
-69
1
0
0
0
0
1
-14
28
-3
-1
0
0
0
-7
0
-3
29
-28
15
0
0
0
0
0
0
20
-4
-37
0
0
0
38
2
3
2
-36
37
0
0
0
0
0
-3
2
19
57
0
0
0
8
0
-6
-37
7
2
0
0
0
0
0
0
-20
-39
-9
0
0
0
34
0
2
6
3
-2
0
0
0
0
0
-5
-8
-2
-4
0
0
0
-1
0
18
-51
13
9
0
0
0
0
0
0
-12
4
13
0
0
0
-38
0
-19
58
-10
5
0
0
0
0
0
0
0
-6
-1
0
0
0
6
0
1
41
-47
20
0
0
0
0
1
0
-31
-26
-13
0
0
0
-3
0
1
38
-24
21
0
0
0
0
0
0
7
8
-46
0
0
0
-2
0
-1
6
-4
-35
0
0
0
0
0
0
3
-142
77
0
0
0
-78
0
4
-12
-35
66
0
0
0
0
0
0
2
10
4
0
0
0
1
0
-1
-4
-43
-10
0
0
0
0
0
-2
0
-34
1
0
0
0
2
1
1
29
-43
-12
0
0
0
0
2
6
-29
-35
31
0
0
0
6
-5
-16
-99
-30
22
0
0
0
0
17
10
-84
50
29
0
0
0
0
0
3
-36
-13
19
0
0
0
0
-3
74
-23
-14
20
0
0
0
0
0
-5
20
-40
26
0
0
0
0
2
2
-25
-16
-26
0
0
0
0
0
1
35
-84
42
0
0
0
0
0
-5
16
-75
64
0
0
0
0
0
-7
38
-1
-14
0
0
0
0
-1
-11
56
78
-45
0
0
0
0
0
0
1
-5
20
0
0
0
0
0
-2
37
28
9
0
0
0
0
0
3
32
8
0
0
0
0
0
0
0
-31
-30
37
0
0
0
0
0
0
-7
-73
19
0
0
0
0
0
0
30
-41
-14
0
0
0
0
0
2
22
46
-50
0
0
0
0
0
-4
-24
0
5
0
0
0
0
0
0
5
-15
-10
0
0
0
0
0
7
54
-33
31
0
0
0
0
0
0
-23
-90
52
0
0
0
0
0
3
6
-74
52
0
0
0
0
0
0
0
19
15
0
0
0
0
1
1
-15
-20
21
0
0
0
0
0
0
3
-26
133
0
0
0
0
0
0
58
-27
-20
0
0
0
0
0
0
0
23
-60
0
0
0
0
1
-3
-59
41
46
0
0
0
0
0
0
85
-37
-33
0
0
0
0
0
1
10
2
-12
0
0
0
0
0
0
1
10
-26
0
0
0
0
0
5
17
-83
120
0
0
0
0
-1
42
-50
-31
33
0
0
0
0
0
40
-46
-61
21
0
0
0
0
0
9
34
-49
20
0
0
0
0
0
2
16
13
-49
0
0
-28
8
2
6
129
-9
12
0
0
0
0
0
0
-96
73
-23
0
0
0
0
0
-14
-68
-1
42
0
0
0
0
0
0
-27
-14
11
0
0
-1
0
0
3
58
-29
-2
0
0
0
0
0
10
1
-14
31
0
0
0
0
0
1
37
23
-25
0
0
0
0
0
2
40
34
-65
0
0
74
2
0
0
-3
45
-37
0
0
0
0
0
0
-6
-100
51
0
0
0
0
0
0
9
-44
64
0
0
0
0
0
3
18
-7
3
0
0
-17
0
-2
-5
-6
10
72
0
0
0
0
0
8
61
-38
-10
0
0
0
0
0
2
20
-23
55
0
0
0
0
0
-5
22
-77
47
0
0
-2
-4
0
-11
-20
75
50
0
0
0
0
0
1
-65
-15
-1
0
0
0
0
0
0
14
18
-22
0
0
0
0
0
1
-27
8
-25
0
0
-11
0
0
7
66
-64
-20
0
0
0
0
0
-1
19
-96
101
0
0
0
0
0
0
-11
6
-15
0
0
0
0
0
2
0
34
29
0
0
-11
0
0
-5
60
-23
67
0
0
0
0
0
-8
6
-47
4
0
0
0
0
0
0
-13
-12
40
0
0
0
0
0
7
35
-8
-8
0
0
81
7
-4
-52
15
19
-29
0
0
0
0
10
-32
-25
-29
41
0
0
0
0
0
-20
77
-49
10
0
0
0
0
0
25
77
-100
-24
0
0
0
0
0
0
-28
3
30
0
0
0
0
-3
11
-3
-107
49
0
0
0
0
0
3
-70
47
13
0
0
0
0
0
1
48
5
-68
0
0
0
0
0
5
91
-3
-87
0
0
0
0
6
-43
-19
-52
72
0
0
0
0
0
-9
-28
0
15
0
0
0
0
0
4
43
26
-18
0
0
0
0
0
1
-45
10
46
0
0
0
0
-2
-8
-43
-4
77
0
0
0
0
0
0
-10
12
-10
0
0
0
0
0
-2
5
5
109
0
0
0
0
-5
0
-2
-86
93
0
0
0
0
30
33
-13
9
71
0
0
0
0
0
8
9
-3
-42
0
0
0
0
0
-2
9
12
2
0
0
0
0
0
9
-33
3
-26
0
0
0
0
-4
-31
35
58
-58
0
0
0
0
0
4
32
-36
-55
0
0
0
0
0
0
3
5
28
0
0
0
0
0
-3
2
-1
-1
0
0
0
0
-77
52
29
-31
-13
0
0
0
0
0
0
-9
-20
1
0
0
0
0
-1
0
5
108
-22
0
0
0
0
0
4
-5
14
19
0
0
0
0
4
-82
18
-29
48
0
0
0
0
0
0
11
-19
-5
0
0
0
0
-2
-8
-19
43
67
0
0
0
0
-2
-28
25
-31
21
0
0
0
0
0
0
-16
-22
103
0
0
0
-7
0
0
-105
59
54
0
0
0
0
0
0
6
29
51
0
0
0
0
0
2
-26
81
-46
0
0
0
0
0
-1
51
-115
21
0
0
0
0
0
-5
11
1
-11
0
0
0
0
0
0
5
-13
14
0
0
0
0
0
0
30
-21
-24
0
0
0
0
0
-2
35
-75
-9
0
0
0
6
0
0
-21
-45
30
0
0
0
0
0
0
0
-28
106
0
0
0
0
0
-3
-2
35
-109
0
0
0
0
0
0
10
41
-1
0
0
0
0
0
-5
-30
-72
34
0
0
0
0
0
0
-5
-6
-45
0
0
0
0
0
1
-64
4
-16
0
0
0
0
1
0
-4
-20
-6
0
0
0
49
5
-1
-29
-46
30
0
0
0
0
0
0
-1
-54
125
0
0
0
0
0
2
1
11
8
0
0
0
0
0
0
-2
-2
13
0
0
0
0
0
5
-47
-22
19
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
14
7
0
0
0
0
0
0
-10
8
-5
0
0
0
9
0
0
8
-96
43
0
0
0
0
0
0
-1
7
-10
0
0
0
0
0
-9
-11
43
20
0
0
0
0
0
0
16
-52
62
0
0
0
3
0
-12
8
-69
6
0
0
0
0
0
0
0
-24
11
0
0
0
3
0
17
-69
-31
14
0
0
0
0
-1
13
60
16
-34
0
0
0
0
0
-1
-9
-77
23
0
0
0
0
0
7
16
-40
-30
0
0
0
0
0
0
7
-32
22
0
0
0
0
0
-1
41
41
-82
0
0
0
0
0
0
-5
-35
-35
0
0
0
0
0
-2
3
-54
44
0
0
0
0
0
2
0
53
19
0
0
0
0
0
0
-6
-8
62
0
0
0
0
0
-13
1
26
-19
0
0
0
0
0
-5
-13
22
14
0
0
0
0
0
0
4
71
-36
0
0
0
0
0
0
-22
-4
70
0
0
0
0
0
0
2
7
-53
0
0
0
0
0
0
-2
-3
43
0
0
0
0
0
-9
3
-44
-3
0
0
0
0
4
-4
10
-42
8
0
0
0
0
0
4
11
-62
-28
0
0
0
0
0
3
0
-40
15
0
0
0
0
0
0
0
-26
53
0
0
0
0
0
-1
0
4
-13
0
0
0
0
0
0
0
-3
-21
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
-16
8
0
0
0
0
0
-3
0
-8
44
0
0
0
0
0
2
3
19
-64
0
0
0
0
0
-1
-8
-22
25
0
0
0
0
0
0
0
-35
-21
0
0
0
0
0
3
-24
-11
29
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
-1
4
18
-16
0
0
0
0
-8
15
64
44
-40
0
0
0
0
0
10
103
-3
-50
0
0
0
0
0
-8
112
12
-48
0
0
0
0
0
-40
12
56
40
0
0
-4
0
0
21
77
-26
-59
0
0
0
0
0
11
-3
-42
-35
0
0
0
0
0
-6
58
-10
-51
0
0
0
0
0
-16
-46
11
35
0
0
0
0
0
-38
46
-24
10
0
0
0
0
0
7
64
-103
-9
0
0
0
0
0
-4
-69
19
20
0
0
0
0
0
-6
-25
-77
86
0
0
-3
0
0
11
-50
-58
46
0
0
0
0
0
-1
36
8
8
0
0
0
0
0
6
23
-56
12
0
0
0
0
0
5
-5
11
-2
0
0
0
0
0
-29
-50
121
-42
0
0
0
0
0
63
48
-18
17
0
0
0
0
0
-4
-39
52
-4
0
0
0
0
0
12
10
-57
37
0
0
-11
0
0
-6
-46
-29
35
0
0
0
0
0
-7
10
17
-25
0
0
0
0
0
1
-8
-25
25
0
0
0
0
0
0
-15
3
13
0
0
0
0
0
-35
4
79
0
0
0
0
0
0
57
-87
-31
46
0
0
0
0
0
-2
-33
-66
152
0
0
0
0
0
-4
1
-44
9
0
0
-9
0
0
1
0
10
-9
0
0
0
0
0
11
-81
-32
50
0
0
0
0
0
-8
37
57
-145
0
0
0
0
0
-5
-63
-19
57
0
0
-9
1
-2
9
-30
5
59
0
0
0
0
104
-30
-14
-23
9
0
0
0
0
0
49
17
-52
-20
0
0
0
0
0
-8
-15
38
6
0
0
0
0
0
-26
-48
37
2
0
0
0
0
0
-13
56
-21
-27
0
0
0
0
0
-13
6
-70
67
0
0
0
0
0
-11
0
19
4
0
0
0
0
0
5
44
-38
-10
0
0
0
0
-33
31
-37
12
-10
0
0
0
0
0
-2
-3
-1
-14
0
0
0
0
0
-16
2
57
-17
0
0
0
0
0
10
2
-13
21
0
0
0
0
-9
-19
11
110
25
0
0
0
0
0
2
-12
31
31
0
0
0
0
-3
34
28
-106
61
0
0
0
0
0
-10
5
80
-40
0
0
0
0
18
-36
79
-34
-43
0
0
0
0
0
-1
11
1
-1
0
0
0
0
0
-1
-17
-44
23
0
0
0
0
0
5
11
4
2
0
0
0
0
0
1
1
-11
1
0
0
0
0
0
0
0
14
80
0
0
0
0
0
0
-6
1
-15
0
0
0
0
0
-7
0
-27
-36
0
0
0
0
40
8
-4
-29
-10
0
0
0
0
0
-4
-6
-55
73
0
0
0
0
0
-2
3
-16
44
0
0
0
0
0
6
-19
17
21
0
0
0
0
-65
17
141
-29
-4
0
0
0
0
0
-4
0
5
28
0
0
0
0
10
-19
-3
77
-16
0
0
0
0
2
-28
34
6
34
0
0
0
0
0
0
-32
50
50
0
0
0
-33
0
-1
1
-42
35
0
0
0
0
0
0
2
-51
20
0
0
0
0
0
-1
44
-36
-54
0
0
0
0
0
0
-10
7
2
0
0
0
1
0
4
-5
-28
8
0
0
0
0
0
0
0
-26
-26
0
0
0
0
0
4
19
-42
73
0
0
0
0
0
-3
16
7
-42
0
0
0
50
0
0
7
-82
10
0
0
0
0
0
0
1
-37
73
0
0
0
9
0
5
11
-94
50
0
0
0
0
0
1
2
-40
24
0
0
0
17
0
-2
-27
2
-33
0
0
0
0
0
2
0
-81
-8
0
0
0
-13
0
2
-42
-3
79
0
0
0
0
0
0
1
83
-10
0
0
0
-3
0
5
-20
-4
17
0
0
0
0
0
0
-2
-2
3
0
0
0
0
0
-1
3
-9
-3
0
0
0
0
0
0
1
13
0
0
0
0
4
0
0
3
-22
35
0
0
0
0
0
0
0
1
6
0
0
0
0
0
-1
-12
-8
-3
0
0
0
0
0
0
0
6
-72
0
0
0
17
0
-2
7
62
-33
0
0
0
0
0
0
1
-21
34
0
0
0
-1
0
0
9
19
-35
0
0
0
0
0
0
5
-23
24
0
0
0
1
0
0
9
-57
52
0
0
0
0
0
0
0
-33
-31
0
0
0
38
0
0
-39
-49
-44
0
0
0
0
0
15
8
41
-5
0
0
0
0
0
0
4
-23
-33
0
0
0
0
-1
-3
34
6
3
0
0
0
0
0
0
-5
20
66
0
0
0
0
0
1
-15
-21
36
0
0
0
0
0
0
1
-29
-21
0
0
0
0
0
-1
4
-43
9
0
0
0
0
0
1
-30
-27
120
0
0
0
0
2
5
-38
30
-1
0
0
0
0
0
0
0
-89
22
0
0
0
0
-5
3
-6
6
15
0
0
0
0
0
-6
12
12
17
0
0
0
0
0
0
6
-12
-32
0
0
0
0
0
0
-1
8
-14
0
0
0
0
4
8
-1
-159
84
0
0
0
0
0
0
-12
16
6
0
0
0
0
0
2
-3
-84
76
0
0
0
0
0
0
0
-21
0
0
0
0
0
-3
1
1
-20
-5
0
0
0
0
0
0
4
32
-4
0
0
0
0
0
0
0
12
91
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
-1
7
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-3
-13
22
-2
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
8
-12
20
29
0
0
0
0
0
0
0
-53
-3
0
0
0
0
1
-3
-31
66
35
0
0
0
0
0
0
-6
42
17
0
0
0
0
1
0
-11
-3
-16
0
0
0
0
-6
8
-17
28
-7
0
0
0
0
0
-3
23
-54
-6
0
0
0
-3
0
2
-5
112
-19
0
0
0
0
0
0
26
-27
53
0
0
-35
2
0
0
-33
22
21
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
2
-17
44
0
0
0
0
0
-2
1
-9
23
0
0
10
0
0
1
30
-50
-51
0
0
0
0
0
5
12
-12
-38
0
0
0
0
0
3
39
-45
19
0
0
0
0
0
1
-2
-21
117
0
0
1
0
0
3
9
-15
2
0
0
0
0
0
0
-6
-4
80
0
0
0
0
0
3
-25
40
19
0
0
0
0
0
3
-8
25
14
0
0
-1
0
0
-2
-30
-33
-16
0
0
0
0
0
8
4
7
-7
0
0
0
0
0
0
-3
-79
124
0
0
0
0
0
0
4
-2
-6
0
0
11
0
0
0
26
-77
19
0
0
0
0
0
0
-4
10
-13
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
9
1
3
0
0
0
0
0
0
14
5
22
0
0
0
0
0
0
-1
1
-67
0
0
0
0
0
0
2
-8
-3
0
0
5
0
0
-1
2
15
15
0
0
0
0
0
-9
-2
1
17
0
0
0
-11
0
0
-11
-14
2
0
0
0
0
0
0
-8
-44
49
0
0
15
-8
0
-7
4
21
-18
0
0
0
0
0
4
13
7
-34
0
0
0
0
0
0
-5
-35
-5
0
0
0
0
0
0
19
-17
-38
0
0
0
0
0
1
1
-44
71
0
0
0
0
1
0
-32
7
117
0
0
0
0
0
4
11
-31
4
0
0
0
0
0
5
-5
-1
-27
0
0
0
0
0
0
2
3
-28
0
0
0
0
-1
32
10
13
16
0
0
0
0
0
0
4
40
-17
0
0
0
0
0
0
24
-22
6
0
0
0
0
0
0
0
-73
110
0
0
0
0
0
-12
26
-7
11
0
0
0
0
0
0
4
-21
-6
0
0
0
0
0
-2
4
-9
-57
0
0
0
0
0
0
1
19
25
0
0
0
0
-20
-22
25
33
53
0
0
0
0
0
2
0
-52
15
0
0
0
0
0
2
7
-44
52
0
0
0
0
0
0
-4
13
10
0
0
0
0
0
2
3
0
6
0
0
0
0
0
0
0
0
31
0
0
0
0
0
-3
2
-2
0
0
0
0
0
0
-8
-1
-4
-29
0
0
0
0
8
-8
4
-3
12
0
0
0
0
0
-2
-3
-50
62
0
0
0
0
0
0
16
-2
5
0
0
0
0
0
0
1
-6
2
0
0
0
0
2
-2
-39
-5
52
0
0
0
0
0
3
3
24
-57
0
0
0
0
7
1
0
-14
24
0
0
0
0
-3
4
16
0
-50
0
0
0
0
0
0
0
-27
19
0
0
0
0
0
-5
1
-7
-51
0
0
0
0
0
0
-12
-66
102
0
0
0
0
0
0
-34
6
57
0
0
0
0
0
0
0
-4
71
0
0
0
0
0
0
13
23
-11
0
0
0
0
0
0
1
0
-26
0
0
0
0
0
0
-32
19
5
0
0
0
0
0
0
-7
-35
91
0
0
0
5
0
1
49
-6
-43
0
0
0
0
0
0
1
-15
1
0
0
0
0
0
0
-4
-35
60
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
-4
-1
-33
16
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
-32
-73
0
0
0
0
0
0
-1
-39
55
0
0
0
12
0
-2
-3
-25
10
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-2
16
-28
20
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
2
19
63
0
0
0
-7
0
0
-1
18
-21
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
-6
-3
-17
0
0
0
0
0
0
0
6
-43
0
0
0
4
0
0
0
-55
-3
0
0
0
0
0
0
0
-7
11
0
0
0
-1
0
-10
-57
-43
47
0
0
0
0
3
13
-1
-18
0
0
0
0
0
0
1
12
14
-14
0
0
0
0
0
0
32
-46
-39
0
0
0
0
0
-3
-17
-29
56
0
0
0
0
-1
0
-3
15
-8
0
0
0
0
0
0
2
-7
-15
0
0
0
0
0
11
-5
0
-5
0
0
0
0
0
0
-5
-8
105
0
0
0
0
-6
2
4
-27
8
0
0
0
0
0
0
-8
-37
-39
0
0
0
0
0
-1
-7
-7
10
0
0
0
0
0
0
-3
9
28
0
0
0
0
-4
0
4
1
-26
0
0
0
0
0
-1
0
-7
8
0
0
0
0
0
0
0
4
6
0
0
0
0
0
-4
-9
-1
-3
0
0
0
0
3
-6
-7
6
38
0
0
0
0
0
-1
0
-3
3
0
0
0
0
0
18
1
5
-47
0
0
0
0
0
0
-1
23
-106
0
0
0
0
-3
0
1
0
11
0
0
0
0
0
0
-7
-1
13
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
-5
1
0
0
0
0
-1
-3
8
-28
9
0
0
0
0
0
-8
0
5
-16
0
0
0
0
0
-1
3
-34
28
0
0
0
0
0
5
0
-3
-14
0
0
0
0
5
-1
1
-8
-71
0
0
0
0
0
0
-1
1
6
0
0
0
0
0
4
-5
3
0
0
0
0
0
6
-9
-11
-49
79
0
0
0
0
8
-42
14
8
22
0
0
0
-3
0
-2
-34
-33
7
0
0
0
0
0
-5
40
-96
42
0
0
3
0
0
8
16
9
-55
0
0
0
0
0
-6
-50
-12
75
0
0
0
0
0
-6
-7
-16
24
0
0
0
0
0
0
10
-67
38
0
0
0
0
0
1
-2
39
-36
0
0
0
0
0
1
-1
-34
13
0
0
0
1
0
0
59
-72
-41
0
0
0
0
0
-5
2
44
-46
0
0
-3
0
0
-16
-9
-38
-37
0
0
0
0
0
9
-11
62
-49
0
0
0
0
0
0
-22
1
-39
0
0
0
0
0
-19
13
-40
63
0
0
0
0
0
8
21
-4
-28
0
0
0
0
-2
50
92
-18
-55
0
0
0
-6
0
-5
-1
-94
22
0
0
0
0
0
6
-26
-12
26
0
0
0
0
0
-3
-8
14
-44
0
0
0
0
0
31
-10
-38
17
0
0
0
0
0
0
-23
3
-12
0
0
0
0
-1
2
-1
-17
16
0
0
0
0
0
1
-24
38
-10
0
0
0
0
0
-26
1
-8
2
0
0
0
0
0
-1
-20
53
-4
0
0
0
0
0
0
3
-99
30
0
0
-4
0
0
1
-11
11
-20
0
0
0
0
0
-18
-7
74
29
0
0
0
0
0
0
11
-21
71
0
0
0
0
0
-1
-6
-8
17
0
0
13
1
-2
-18
-48
24
-27
0
0
0
0
13
-76
-30
25
46
0
0
0
0
0
1
-7
15
7
0
0
0
0
10
7
-89
-26
110
0
0
0
0
-3
-3
39
-5
-20
0
0
0
0
-38
88
-44
-12
40
0
0
0
0
-3
-7
-85
63
2
0
0
0
0
0
8
24
-56
-4
0
0
0
0
-2
18
29
-2
-45
0
0
0
0
32
-29
73
-30
-9
0
0
0
0
0
0
-18
-61
171
0
0
0
0
1
-25
-10
129
2
0
0
0
0
0
10
-13
-41
14
0
0
0
0
-42
57
-46
-84
54
0
0
0
0
0
-3
15
-30
121
0
0
0
0
18
0
-14
2
-19
0
0
0
0
-4
-38
40
-22
91
0
0
0
0
-78
-60
-46
-49
4
3
0
0
0
0
-15
-35
103
17
4
0
0
0
2
-2
7
-15
-82
8
0
0
0
-7
-10
-25
-99
36
-5
0
0
0
-15
-53
85
-49
66
2
0
0
0
2
6
20
-55
90
-3
0
0
0
0
-1
6
18
20
17
0
0
0
-1
15
74
-46
39
-33
0
0
0
11
-68
-21
52
3
8
0
0
0
0
-2
-8
5
-31
34
0
0
0
-2
-1
89
62
-55
13
0
0
0
0
44
-33
12
62
17
0
0
0
15
12
-42
5
14
7
0
0
0
6
5
7
83
16
-1
0
0
0
25
51
-13
-37
61
14
0
0
0
6
-9
87
15
-43
2
0
0
0
0
0
39
84
-60
0
0
0
22
0
0
-26
15
2
0
0
0
0
0
0
0
27
-31
0
0
0
2
0
-8
-62
25
2
0
0
0
0
0
7
51
-34
-47
0
0
0
15
0
0
-18
-48
32
0
0
0
0
0
-1
0
-26
70
0
0
0
0
0
-12
4
-32
-1
0
0
0
0
0
1
-3
-6
42
0
0
0
9
0
2
0
-27
33
0
0
0
0
0
0
0
-38
6
0
0
0
-15
0
-1
-8
-49
58
0
0
0
0
0
-2
4
-20
34
0
0
0
-1
0
-2
-1
29
53
0
0
0
0
0
0
0
-14
-23
0
0
0
5
0
-2
-5
-89
66
0
0
0
0
0
1
14
-19
43
9
0
0
-17
9
-10
-1
44
10
-9
0
0
0
0
0
0
50
-33
6
0
0
0
0
0
-6
-38
53
-5
0
0
0
0
-2
15
-35
39
-4
0
0
15
0
0
1
-53
-17
-9
0
0
0
0
0
0
-42
50
27
0
0
-1
0
0
2
-38
-84
-6
0
0
0
0
0
0
-30
-15
22
0
0
-22
0
0
-5
-42
9
11
0
0
0
0
0
0
-95
12
54
0
0
2
0
0
1
-20
-73
55
0
0
0
0
2
8
-45
35
-5
0
0
90
0
1
-13
85
48
-64
0
0
0
0
1
-1
-83
-59
41
0
0
0
0
-9
-74
-23
12
4
0
0
0
0
-5
-24
-42
57
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
2
3
-53
44
0
0
0
0
0
-4
-12
-18
-11
0
0
0
0
0
-2
5
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-10
0
0
0
0
0
-4
-6
-34
14
0
0
0
0
0
0
-2
29
-9
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
-8
0
-52
1
0
0
0
0
0
3
6
-64
1
0
0
0
0
0
-5
0
-61
77
0
0
0
0
0
0
0
-22
137
0
0
0
0
0
-3
-3
-18
17
0
0
0
0
1
6
-3
-61
17
0
0
0
0
8
-1
2
20
63
14
0
0
0
0
0
0
-25
-16
11
0
0
0
0
0
10
-14
19
-8
0
0
0
0
-2
0
41
-89
10
0
0
0
0
0
1
-59
8
5
0
0
0
0
0
2
-2
63
-12
0
0
0
2
0
5
36
-11
6
0
0
0
0
-2
7
17
0
1
0
0
0
-1
-1
0
20
75
1
0
0
0
0
0
0
32
31
-7
0
0
0
0
0
-15
66
-34
13
0
0
0
0
-7
-3
-66
-35
40
0
0
0
0
-1
6
8
65
-47
0
0
0
0
0
-8
-29
0
-10
0
0
0
2
0
6
-69
-20
29
0
0
0
-4
3
60
-51
-27
4
0
0
0
0
-7
18
-19
120
0
0
0
0
0
-5
13
24
-32
0
0
0
0
0
0
-4
-7
25
0
0
-38
-4
0
2
43
-40
82
0
0
0
0
0
-1
4
-54
89
0
0
0
0
0
-2
7
-45
-60
0
0
0
0
0
0
8
5
15
0
0
-2
0
0
-26
37
6
-12
0
0
0
0
0
-1
5
45
-10
0
0
0
0
0
0
11
-7
-4
0
0
0
0
0
0
1
-27
-1
0
0
2
0
0
-2
13
-20
-41
0
0
0
0
0
0
1
1
-13
0
0
0
0
0
0
-5
14
55
0
0
0
0
0
0
10
-24
-38
0
0
0
0
-1
-4
16
-19
-23
0
0
0
0
0
0
-28
-129
24
6
0
0
0
0
0
-3
-7
111
14
0
0
0
0
0
-26
11
-68
-6
0
-16
0
0
6
-59
48
-65
5
0
0
0
0
2
-1
-61
-60
39
0
0
0
0
0
-7
-32
4
16
0
0
0
0
0
4
-57
47
15
0
17
0
0
0
-13
-36
-84
31
0
0
0
0
-1
-43
38
160
-40
0
0
0
0
-1
-19
18
-22
20
0
0
0
0
10
-21
-58
16
39
0
108
0
0
-2
-20
-107
-37
-11
0
0
0
0
0
-11
-44
21
5
0
0
0
0
2
41
-103
29
-51
0
0
0
0
0
-2
22
78
-13
0
95
-1
3
-3
-50
-31
17
-18
0
0
0
15
-3
-56
-14
-1
0
0
0
0
0
-8
-6
-50
4
0
0
0
0
0
0
25
-26
28
0
0
0
0
0
4
5
19
10
0
0
0
0
6
12
-24
47
-30
0
0
0
0
0
0
1
-77
61
0
0
0
0
1
0
2
-5
14
0
0
0
0
0
0
-79
-27
43
0
0
0
0
-2
-1
-4
-4
66
0
0
0
0
0
0
1
-16
-3
0
0
0
0
0
0
-10
5
4
0
0
0
0
0
-1
3
14
-50
0
0
0
0
0
0
-10
11
-27
0
0
0
0
0
-2
1
-5
4
0
0
0
0
0
1
0
-6
-7
0
0
0
0
0
4
24
-18
-29
0
0
0
0
-61
21
-17
-11
21
1
0
0
0
0
-1
0
-88
73
-1
0
0
0
0
2
11
55
30
-18
0
0
0
0
3
11
-83
16
10
0
0
0
-29
30
1
39
86
-40
0
0
0
0
0
-13
-45
-84
68
0
0
0
0
0
-9
14
24
4
0
0
0
0
-20
7
-22
35
-20
0
0
0
1
-3
-22
24
-24
29
0
0
0
0
-2
-1
-4
11
25
0
0
0
0
1
0
-25
-9
-6
0
0
0
0
-2
3
-2
15
-54
0
0
0
6
-2
16
5
65
-38
0
0
0
-2
0
15
-54
-33
-11
0
0
0
0
1
-1
20
25
-38
0
0
0
1
-37
70
103
0
-41
0
0
0
6
2
2
33
26
0
0
0
-1
0
1
1
-18
81
0
0
0
0
0
0
-6
1
-1
0
0
0
0
0
0
9
-125
113
0
0
0
0
0
0
-1
24
-73
0
0
0
0
0
0
10
-44
-6
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
-40
-5
29
0
0
0
0
0
0
6
19
-12
0
0
0
11
0
0
-2
-10
-19
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
3
-29
-5
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
3
-7
-42
0
0
0
0
0
0
0
0
-41
0
0
0
1
0
1
36
12
-15
0
0
0
0
0
0
9
-7
48
-2
0
0
-19
0
0
1
-11
-26
26
0
0
0
0
0
2
8
3
76
0
0
0
0
0
-7
30
10
-53
0
0
0
2
0
-3
-9
-3
21
0
0
24
0
0
31
-22
9
-54
0
0
0
0
0
0
9
-48
-61
0
0
0
0
-1
-14
16
-18
-18
0
0
0
0
0
-5
22
-42
70
0
0
8
0
0
5
22
-23
-52
0
0
0
0
0
-2
4
6
-1
0
0
0
0
0
2
-1
-13
-53
0
0
0
0
0
12
45
26
-84
0
0
4
0
0
8
21
-52
0
0
0
0
0
0
11
37
-27
-85
0
0
-5
3
1
30
-96
108
-28
0
0
0
0
-6
-5
32
14
0
0
0
0
0
0
0
68
26
0
0
0
0
0
14
3
-3
29
0
0
0
0
0
0
-12
4
38
0
0
0
0
0
0
-6
-10
-7
0
0
0
0
0
0
0
-7
-33
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
1
-7
19
4
0
0
0
0
0
0
1
-4
-13
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
1
0
-3
-6
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
7
-2
6
5
0
0
0
0
-2
0
5
21
6
4
0
0
0
0
0
3
-53
52
-26
0
0
0
0
-5
-2
-19
16
23
0
0
0
0
0
-5
20
3
-34
0
0
0
3
0
-14
-1
-51
47
0
0
0
0
0
0
8
-78
-44
0
0
0
4
0
0
-16
9
-6
0
0
0
0
0
4
-4
-6
3
0
0
0
0
-7
0
2
-66
82
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-4
6
0
35
0
0
0
0
0
0
-2
0
-49
0
0
0
3
0
-1
4
-26
-6
0
0
0
0
0
0
3
19
-56
0
0
0
1
1
12
27
9
-47
0
0
0
-1
3
-28
-10
-37
-15
0
0
0
-2
-3
-47
-5
98
0
0
0
0
0
0
-17
-32
37
0
0
0
0
0
0
-2
16
-105
0
0
-7
0
0
1
29
-92
44
0
0
0
0
0
-3
6
-2
-46
0
0
0
0
0
1
15
15
81
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
-17
-3
-38
66
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
3
0
0
0
10
0
0
-6
9
-20
-1
0
0
0
0
0
0
1
0
-30
0
0
0
0
0
0
-2
-7
2
0
0
0
0
0
0
0
2
26
0
0
0
0
0
6
55
-42
11
0
0
0
0
0
0
52
158
-35
-9
0
0
0
0
-3
-2
-18
30
16
0
0
0
0
1
-12
-22
45
-44
0
0
0
0
7
17
-18
22
-12
0
0
0
0
0
11
-5
-2
-29
0
0
0
0
0
52
-35
-23
15
0
0
0
0
5
16
-8
-21
-71
0
-5
0
-2
-3
-30
77
-22
6
0
0
0
0
0
26
-13
-10
30
0
0
0
0
0
0
-17
32
-14
0
0
0
0
0
-25
-3
12
-150
0
-7
0
0
0
-37
5
-2
-10
0
0
0
0
0
-9
7
-75
51
0
0
0
0
4
8
-65
-20
16
0
0
0
0
-4
38
-51
-3
-65
0
-3
-2
0
28
-21
-31
23
11
0
0
0
-16
46
-24
-17
14
0
0
0
0
0
-8
-5
51
25
0
0
0
0
1
0
6
-49
71
0
0
0
0
0
-3
7
-53
62
0
0
0
0
4
-21
13
-17
-11
0
0
0
0
0
0
-23
16
11
0
0
0
0
-3
-14
0
3
27
0
0
0
0
0
1
-6
-29
4
0
0
0
0
20
68
-90
-59
47
0
0
0
0
0
0
-16
-30
28
0
0
0
0
0
-3
28
12
-5
0
0
0
0
2
0
43
10
-61
0
0
0
0
-1
-21
10
21
-25
0
0
0
0
0
1
2
-5
-41
0
0
0
0
4
4
2
-44
16
0
0
0
0
2
3
-3
-8
-24
0
0
0
0
-23
50
-20
-85
-12
9
0
0
0
0
-1
-28
37
30
-12
0
0
0
0
4
-9
-63
68
13
0
0
0
0
0
0
-63
35
-19
0
0
0
-4
-3
38
26
104
-21
0
0
0
0
0
0
1
5
57
0
0
0
4
-6
0
1
28
-10
0
0
0
0
0
-5
3
-34
1
0
0
0
26
-1
8
111
-25
-50
11
0
0
0
-6
49
33
52
-49
4
0
0
0
15
32
-25
65
6
9
0
0
1
-8
55
19
129
-26
-1
0
0
-21
-2
-25
-53
-17
27
31
0
0
0
-3
1
-94
60
34
-11
0
0
-14
-1
20
-31
79
9
-15
0
0
-15
22
89
-30
-48
-13
-8
0
0
0
0
-4
-3
10
0
0
0
-21
0
-3
-14
18
67
0
0
0
0
0
0
0
14
39
0
0
0
0
0
5
-7
-30
17
0
0
0
0
0
-18
0
52
-7
0
0
0
0
0
-7
-11
0
76
0
0
0
0
0
0
1
-6
-46
0
0
0
0
0
0
-27
52
-103
0
0
0
0
0
0
0
-90
66
0
0
0
39
0
0
-14
-3
-4
0
0
0
0
0
0
0
-89
17
0
0
0
4
0
-2
-7
81
-65
0
0
0
0
0
1
0
-21
102
0
0
0
2
0
-1
-11
1
26
0
0
0
0
0
0
0
-5
-55
0
0
0
6
0
9
29
-82
-51
0
0
0
0
0
-1
4
20
3
7
0
0
-16
0
-7
-7
-37
15
37
0
0
0
0
0
0
-9
-62
59
0
0
0
0
0
-17
-17
26
21
0
0
0
0
0
-9
-33
40
-20
0
0
1
0
2
2
4
-36
-1
0
0
0
0
0
0
4
3
39
0
0
0
0
0
0
-2
29
33
0
0
0
0
4
7
71
8
-28
-3
0
63
0
-7
-9
-60
19
-87
-4
0
0
0
0
5
-84
125
-59
-25
0
-1
0
7
-68
-51
-38
-24
10
0
0
0
-1
-1
-18
-38
-34
1
0
-47
0
0
-37
39
49
82
-38
0
0
0
5
0
-52
-64
-73
0
0
89
0
-4
-25
-76
75
-92
-14
0
0
5
-7
-6
-5
54
0
0
0
0
0
0
-4
-31
102
0
0
0
0
0
-1
8
-30
102
0
0
0
0
0
0
-2
-23
92
0
0
0
0
0
-2
-4
34
-60
0
0
0
0
0
0
-8
-38
6
0
0
0
0
0
-4
7
3
4
0
0
0
0
0
0
-35
12
0
0
0
0
0
0
0
6
5
-69
0
0
0
0
0
0
0
0
61
0
0
0
0
0
2
-2
17
-15
0
0
0
0
0
-2
-4
63
-9
0
0
0
0
0
4
0
-1
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-4
-6
9
-29
0
0
0
0
0
0
5
-10
11
0
0
0
0
-5
0
-2
6
-24
15
0
0
0
0
0
0
-36
112
-3
0
0
0
1
1
2
-10
-74
15
0
0
0
0
0
0
-12
-60
64
0
0
0
0
0
-4
12
38
-11
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
3
4
-61
0
0
0
0
0
1
2
0
-17
0
0
0
0
1
7
-90
56
-21
-3
0
0
0
0
-2
47
-14
-106
12
0
0
0
-18
1
-36
-89
-13
1
0
0
0
0
-7
-42
27
-68
17
0
0
1
4
6
14
21
-25
-38
0
0
0
0
0
8
-28
-28
45
0
0
4
-1
1
17
-41
-65
21
0
0
0
28
-55
22
-47
-29
5
0
0
0
6
27
-13
27
0
0
0
-1
0
0
2
18
38
0
0
0
0
0
0
-1
76
-49
0
0
68
0
0
-3
-11
-39
107
0
0
0
0
0
0
7
3
-3
0
0
0
0
0
0
-15
0
59
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-3
2
-65
25
0
0
0
0
0
16
3
33
-25
0
0
0
0
0
-1
-4
-104
88
0
0
0
0
0
-8
3
-86
-1
0
0
-5
0
0
5
-3
-55
16
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
4
17
-6
0
0
0
0
0
0
0
22
4
0
0
-1
0
0
2
0
17
-65
0
0
0
0
0
0
4
47
36
-9
0
0
6
0
1
-18
94
89
-49
0
0
0
0
0
-1
-19
8
19
0
31
0
0
0
-49
-77
21
-13
0
0
0
0
0
0
1
2
-32
0
0
0
0
0
-2
-20
1
78
0
0
0
0
0
-1
-1
6
-33
0
1
0
0
-1
1
-19
0
108
0
0
0
0
-3
46
5
27
15
-8
0
0
0
6
-86
-11
-34
-55
6
0
0
0
0
-7
-16
-102
-80
34
-126
0
0
-4
11
-33
9
-29
3
0
0
0
2
6
86
-14
-120
-33
0
0
0
0
-7
-24
-15
-67
50
0
0
0
4
0
23
-1
11
-9
-113
-6
5
-44
-73
-55
55
-15
29
0
0
34
3
33
-29
-22
0
0
0
0
0
4
-7
16
28
0
0
0
0
-6
-6
-45
-82
101
0
0
0
0
0
2
-16
-15
-37
0
0
0
0
-11
7
-3
-5
89
0
0
0
0
0
-15
-2
48
-48
0
0
0
0
-3
2
-3
12
22
0
0
0
0
0
-4
-8
41
-67
0
0
0
0
28
5
31
-43
-16
0
0
0
0
0
-9
8
-8
35
0
0
0
0
0
5
-27
-64
44
0
0
0
0
0
0
-26
13
64
0
0
0
0
4
7
-19
-87
45
0
0
0
0
0
0
3
2
53
0
0
0
0
0
8
-3
34
12
0
0
0
0
0
17
-1
-48
-22
0
0
0
0
-48
7
44
129
90
-11
0
0
0
0
-2
17
-46
62
-12
0
0
0
-2
1
-5
-4
7
10
0
0
0
0
0
14
16
-26
11
0
0
0
-16
-4
-7
-2
-1
-7
0
0
0
0
0
0
-31
-42
9
0
0
0
0
14
-3
-3
-20
-3
0
0
0
-1
3
-7
-27
-17
-12
0
0
0
-6
19
11
10
-26
-41
48
0
0
0
-1
-2
66
39
-24
-19
0
0
0
2
-1
-58
46
-30
2
0
0
0
0
-2
49
47
-92
-10
0
0
9
10
29
0
81
-2
-43
0
0
5
0
17
20
-38
7
5
0
0
-2
-6
1
-27
-84
-24
-1
0
0
34
-23
-54
-82
33
-26
28
0
0
-2
-3
-4
-36
66
0
0
0
-58
-1
3
4
-74
94
0
0
0
0
-10
0
5
-31
-53
0
0
0
13
0
1
-67
27
33
0
0
0
0
0
3
-7
3
-35
0
0
0
0
0
1
-30
-8
43
0
0
0
0
0
0
-2
-6
-79
0
0
0
0
0
-7
7
-56
64
0
0
0
0
0
0
-2
44
33
0
0
0
-50
0
8
-7
30
40
0
0
0
0
0
0
-1
-44
16
0
0
0
-11
0
0
13
-41
-53
0
0
0
0
0
0
0
9
-32
0
0
0
-6
0
0
-1
-17
30
0
0
0
0
0
-4
-7
20
11
0
0
0
1
0
0
-18
-1
76
0
0
0
0
0
0
0
40
-112
2
0
0
-9
0
7
-1
-22
7
-16
0
0
0
0
1
3
-51
45
-9
0
0
0
0
4
4
64
-30
-22
0
0
0
0
0
11
-18
38
-22
0
0
-19
0
0
5
5
47
-71
0
0
0
0
0
0
4
-4
12
0
0
0
0
0
-15
3
-19
49
0
0
0
0
0
-2
11
82
-36
-9
0
10
0
-1
6
-6
67
-39
-57
0
0
0
0
-2
-18
-1
-89
102
0
0
0
-1
-12
-53
-29
18
14
0
0
0
0
-2
9
-35
-22
45
0
29
0
0
6
-58
84
-57
-42
0
0
-1
0
-4
53
-46
-9
-12
0
-62
0
-15
-40
-24
45
36
-29
0
0
27
-40
90
14
-9
0
0
0
0
0
-15
-5
-8
34
0
0
0
0
0
2
-31
14
-4
0
0
0
0
0
0
-37
-36
83
0
0
0
0
0
-7
47
-10
0
0
0
0
0
0
-2
11
-24
38
0
0
0
0
0
0
-1
-27
34
0
0
0
0
-1
-23
26
-21
29
0
0
0
0
-8
-21
5
32
-2
0
0
0
0
0
0
0
17
-14
0
0
0
0
-1
0
3
11
-63
0
0
0
0
0
-1
-6
-66
62
0
0
0
0
0
0
-1
-1
-15
0
0
0
0
0
-2
-10
-2
13
0
0
0
0
0
0
0
27
-65
0
0
0
0
0
0
-1
21
-14
0
0
0
0
17
43
-12
-28
33
-8
0
0
0
-2
2
-13
47
41
0
0
0
0
-1
-8
2
-56
52
12
0
0
0
0
-2
8
-56
55
-48
0
0
0
11
-2
10
7
22
-55
0
0
0
-3
0
0
-22
-43
4
0
0
0
-4
0
0
14
2
-27
0
0
0
0
-20
3
-8
16
-4
0
0
0
29
5
-34
-71
-58
25
-3
0
0
-1
-5
-5
-52
141
76
-54
0
0
0
-10
-4
13
-33
-49
51
0
0
0
-1
-2
-10
-43
-22
11
0
0
21
-5
12
-9
8
-62
-7
0
0
0
-1
-8
6
5
22
23
0
0
1
6
7
-15
4
-18
11
0
0
-23
-78
-17
48
-99
-5
15
0
0
-31
37
60
7
25
0
0
0
24
-10
14
-14
43
27
0
0
0
0
59
-45
-3
-56
35
0
0
70
-1
-48
-12
30
-12
3
0
0
0
0
63
28
57
54
-54
0
0
0
60
-2
-31
-63
-66
10
0
0
0
0
-20
7
50
46
-97
0
0
-7
11
8
-52
-144
-37
49
0
0
0
0
62
-27
11
-36
-26
0
0
0
-52
1
-49
53
55
0
0
0
0
0
-31
28
-102
-59
48
0
0
45
-6
-5
15
-23
-79
-32
0
0
0
0
-5
44
60
37
-90
0
0
0
-42
1
-23
-64
-67
45
0
0
0
0
-58
-45
26
9
72
0
0
51
-9
9
-56
40
-63
-21
0
0
0
0
34
3
-13
60
4
6
0
0
36
-4
37
-43
-38
-18
35
0
0
0
-8
2
17
55
37
-7
0
-13
4
11
58
2
-108
-31
-12
0
0
0
76
50
50
-22
-60
-6
0
0
-15
-16
-43
-70
-9
36
-27
0
0
0
-8
4
-37
-31
31
21
0
-31
-3
-3
14
-127
1
29
16
0
0
0
3
-30
4
23
24
-47
3
0
15
-5
-18
24
-18
-58
-7
-28
0
0
-30
-2
-55
-78
44
-111
18
-15
-2
-16
-33
37
-53
-12
-59
30
0
0
0
11
24
22
2
10
-8
0
6
-7
-52
-66
9
34
26
-45
0
0
9
-31
-40
-21
-12
-22
38
-120
-19
21
6
27
-96
-23
-25
-26
0
0
77
-37
47
13
-1
0
0
0
0
0
-9
-81
23
29
0
0
0
0
0
48
-14
-46
42
0
0
0
0
1
-16
-37
-31
57
0
0
0
0
-5
7
-23
65
6
0
0
0
0
0
26
-58
2
29
0
0
0
0
-3
-9
16
-5
20
0
0
0
0
0
-17
44
-78
63
0
0
0
0
12
25
-9
-78
38
0
0
0
0
0
-6
12
5
-36
0
0
0
0
0
10
1
67
-57
0
0
0
0
0
8
41
100
-97
0
0
0
0
-4
-7
52
18
-9
0
0
0
0
0
0
38
-7
27
0
0
0
0
-5
14
-18
-90
40
0
0
0
0
0
-16
60
-81
51
0
0
0
0
-33
1
28
-18
10
0
0
0
0
0
5
-16
-83
-14
0
0
0
0
0
3
11
-98
66
0
0
0
0
0
0
43
-53
5
0
0
0
0
-19
43
34
-32
7
0
0
0
0
0
0
3
-25
-9
0
0
0
0
1
1
-26
-19
14
0
0
0
0
-1
-2
8
23
79
0
0
0
0
-21
1
-9
-4
44
0
0
0
0
0
2
-4
-18
28
0
0
0
0
3
2
-18
-15
36
0
0
0
0
0
4
-14
55
73
0
0
0
0
42
-60
-3
11
23
0
0
0
0
0
-2
40
32
17
0
0
0
0
32
-16
-24
87
-16
0
0
0
0
-35
-10
-18
55
35
0
0
0
0
0
-5
-35
35
18
0
0
0
-40
0
0
-3
-48
33
0
0
0
0
0
0
3
-1
-13
0
0
0
0
0
2
21
-34
29
0
0
0
0
0
0
11
-8
-24
0
0
0
0
0
0
-8
-15
73
0
0
0
0
0
0
-4
-18
-37
0
0
0
0
0
10
-7
-63
39
0
0
0
0
0
0
0
38
-5
0
0
0
-23
0
0
4
44
-33
0
0
0
0
0
0
-2
33
-3
0
0
0
-3
0
-6
6
-15
38
0
0
0
0
0
0
-9
-17
7
0
0
0
0
0
0
3
7
23
0
0
0
0
0
-1
12
-65
-25
0
0
0
0
0
3
-27
9
21
0
0
0
0
0
0
12
7
-10
0
0
0
1
0
0
4
-84
58
0
0
0
0
0
0
3
-40
58
0
0
0
0
0
0
-1
-77
124
0
0
0
0
0
0
-2
24
-47
0
0
0
27
0
0
3
-65
29
0
0
0
0
0
0
1
83
-63
0
0
0
-1
0
0
3
-29
-33
0
0
0
0
0
0
1
-8
39
0
0
0
22
0
0
-3
82
-64
0
0
0
0
0
0
0
-7
-44
0
0
0
0
0
-3
-2
66
47
0
0
0
0
0
0
0
-9
47
0
0
0
-19
0
0
-14
27
-14
0
0
0
0
0
1
7
-22
21
0
0
0
17
0
-31
-35
6
9
0
0
0
0
0
3
12
14
-13
0
0
0
0
0
0
22
39
-6
0
0
0
0
0
0
18
-18
27
0
0
0
0
0
-10
-5
-23
6
0
0
0
0
0
0
13
-81
62
0
0
0
0
0
0
25
-11
3
0
0
0
0
0
1
12
-30
8
0
0
0
0
0
-4
-20
-1
10
0
0
0
0
0
0
-37
-23
84
0
0
0
0
0
0
-3
-49
-10
0
0
0
0
0
0
-15
9
-4
0
0
0
0
0
-2
-10
76
-1
0
0
0
0
0
0
5
-115
82
0
0
0
0
0
0
-1
-11
58
0
0
0
0
-1
0
0
-3
-41
0
0
0
0
0
-4
-22
-10
52
0
0
0
0
-1
1
-11
-47
42
0
0
0
0
0
0
19
-78
24
0
0
0
0
0
0
2
13
-28
0
0
0
0
0
0
-40
29
27
0
0
0
0
0
2
-21
20
-40
0
0
0
0
0
0
-9
13
5
0
0
0
0
0
0
0
30
-26
0
0
0
0
0
0
5
14
-113
0
0
0
0
-2
5
28
-68
47
0
0
0
0
0
0
-1
-15
53
0
0
0
0
0
-1
-35
-50
126
0
0
0
0
0
0
9
-13
1
0
0
0
0
-1
2
-2
-66
68
0
0
0
0
0
0
20
-43
65
0
0
0
0
0
0
-3
24
-4
0
0
0
0
6
-22
-122
-12
71
0
0
0
0
1
-9
71
-26
12
0
0
0
0
0
0
-88
-14
60
0
0
0
0
0
1
-24
-34
-21
0
0
-21
0
0
1
-50
27
54
0
0
0
0
0
0
58
-20
-19
0
0
0
0
0
0
-34
-42
53
0
0
0
0
0
0
24
13
-28
0
0
-3
0
0
-1
11
11
-3
0
0
0
0
0
-2
31
-2
22
0
0
0
0
0
0
37
-26
3
0
0
0
0
0
0
18
-41
59
0
0
13
0
0
2
5
-100
5
0
0
0
0
0
0
-37
-2
58
0
0
0
0
0
0
32
-55
-4
0
0
0
0
0
0
15
-51
97
0
0
0
0
0
0
-61
55
20
0
0
0
0
0
0
-11
-13
-43
0
0
0
2
0
0
-13
-80
6
0
0
0
0
0
-3
18
24
15
0
0
-8
0
0
-2
35
-54
-22
0
0
0
0
0
0
-27
77
-42
0
0
0
0
0
0
-56
-16
74
0
0
0
0
0
0
-44
-43
49
0
0
7
0
0
0
-12
-20
32
0
0
0
0
0
3
-3
21
12
0
0
0
-1
0
0
10
48
-69
0
0
0
0
0
1
-45
30
18
0
0
-28
0
0
-7
1
77
-7
0
0
0
0
0
0
39
16
-59
0
0
0
-1
0
0
-9
43
-75
0
0
0
0
0
5
18
11
-51
0
0
62
-14
3
-10
-4
-63
-4
0
0
0
0
-8
-26
-80
-66
81
0
0
0
0
0
2
-17
15
7
0
0
0
0
0
0
62
-51
30
0
0
0
0
0
0
8
-50
64
0
0
0
0
0
-2
4
-9
39
0
0
0
0
0
1
31
-27
48
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
35
-43
17
0
0
0
0
0
0
15
-80
44
0
0
0
0
0
-1
-4
-27
63
0
0
0
0
0
0
-3
-40
-16
0
0
0
0
0
3
10
-29
22
0
0
0
0
0
0
-7
15
-25
0
0
0
0
0
0
-13
-28
52
0
0
0
0
0
0
2
32
8
0
0
0
0
0
4
-14
-12
60
0
0
0
0
6
3
25
-16
-45
0
0
0
0
0
5
-1
-11
-4
0
0
0
0
0
6
2
-25
12
0
0
0
0
0
6
-14
6
-12
0
0
0
0
0
0
-1
13
29
0
0
0
0
0
0
2
-32
-26
0
0
0
0
0
0
-3
2
-4
0
0
0
0
0
15
-12
-6
0
0
0
0
0
2
-7
-33
-24
-12
0
0
0
0
0
-1
-1
11
-13
0
0
0
0
0
3
0
64
-60
0
0
0
0
0
-1
19
36
-76
0
0
0
0
0
-1
13
13
4
0
0
0
0
0
0
5
-23
13
0
0
0
0
0
0
10
1
40
0
0
0
0
-1
-1
53
67
-50
0
0
0
0
0
0
28
22
17
0
0
0
0
0
-1
-11
1
66
0
0
0
0
0
0
16
-40
54
0
0
0
0
0
-5
16
-61
72
0
0
0
0
0
0
3
0
31
0
0
0
0
0
0
3
-29
-3
0
0
0
0
0
0
-6
3
35
0
0
0
0
0
2
-6
-10
24
0
0
0
0
0
0
2
1
-8
0
0
0
1
0
4
-3
41
-34
0
0
0
0
0
0
5
9
-61
0
0
0
0
0
-1
-9
-41
26
0
0
0
0
0
0
-6
2
-22
0
0
0
0
0
0
-11
-7
36
0
0
0
0
0
0
0
9
23
0
0
0
0
0
10
31
-39
-117
0
0
0
0
0
0
15
47
-21
0
0
0
3
0
0
3
12
-12
0
0
0
0
0
0
-5
-20
-21
0
0
0
0
0
-1
-2
-34
39
0
0
0
0
0
0
6
-6
22
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
2
2
4
0
0
0
0
0
2
-6
-23
0
0
0
0
-6
0
0
3
-13
17
0
0
0
0
0
0
-8
14
32
0
0
0
0
0
0
-5
-32
32
0
0
0
0
0
0
-4
-24
-31
0
0
0
3
0
0
6
-7
27
0
0
0
0
0
0
-9
2
-72
0
0
0
-2
0
6
45
-72
-24
0
0
0
0
3
0
8
-27
0
0
0
0
0
0
0
-11
3
53
0
0
0
0
0
2
0
-18
-7
0
0
0
0
0
-3
-5
38
7
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
-4
7
-107
0
0
0
0
0
0
0
5
-23
0
0
0
0
0
9
9
-7
1
0
0
0
0
2
-6
0
48
-38
0
0
0
0
0
-1
0
-2
-14
0
0
0
0
0
0
0
-49
15
0
0
0
0
0
4
4
-47
31
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
-7
-24
0
0
0
0
0
3
1
9
65
0
0
0
0
0
0
0
-6
15
0
0
0
0
6
0
1
27
-15
0
0
0
0
0
0
-2
-35
25
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-12
-19
7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-4
0
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
5
0
0
0
0
1
-8
0
33
-24
0
0
0
0
0
3
7
-39
-32
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
5
0
7
0
0
0
0
0
-1
-3
-1
-19
24
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
7
29
6
0
0
0
0
0
0
0
-42
-34
0
0
0
0
0
48
7
-33
30
0
0
0
0
0
-9
-50
23
54
0
0
0
0
0
1
20
-2
3
0
0
-3
0
0
49
-55
5
-13
0
0
0
0
0
2
-5
-66
13
0
0
0
0
0
-1
1
-69
25
0
0
0
0
0
7
14
0
-55
0
0
0
0
0
6
9
-48
6
0
0
0
0
0
8
43
43
-55
0
0
0
0
0
0
-63
-29
63
0
0
0
0
0
0
16
-4
33
0
0
0
0
0
9
69
-17
-54
0
0
0
0
0
5
-8
-33
50
0
0
0
0
0
-5
23
-22
-5
0
0
0
0
0
-1
87
-5
-3
0
0
0
0
0
-34
14
-2
-34
0
0
0
0
0
39
5
107
-27
0
0
0
4
0
-14
-2
-22
85
0
0
0
0
0
4
5
16
38
0
0
-2
0
0
14
-63
51
1
0
0
0
0
0
10
17
26
-50
0
0
0
0
0
8
53
-36
-13
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-17
-3
72
-12
0
0
0
0
0
20
28
-68
25
0
0
0
0
0
-19
-56
84
40
0
0
0
0
0
0
-32
10
-3
0
0
-2
0
0
-2
-32
-124
1
0
0
0
0
0
-23
-2
21
-49
0
0
0
0
0
2
11
-32
14
0
0
0
0
0
-36
-7
-56
39
0
0
3
0
-2
-23
-20
16
-22
0
0
0
0
39
13
-15
-35
15
0
0
0
0
0
-7
0
-11
50
0
0
0
0
-3
8
-34
141
-83
0
0
0
0
-8
15
57
-20
40
0
0
0
0
0
-21
-14
-5
-7
0
0
0
0
0
1
4
19
-47
0
0
0
0
0
0
6
-34
29
0
0
0
0
0
-6
-33
56
8
0
0
0
0
3
16
-6
4
15
0
0
0
0
0
0
-9
-85
-28
0
0
0
0
0
-20
-2
-6
39
0
0
0
0
0
-6
9
-36
-18
0
0
0
0
0
-6
0
-4
15
0
0
0
0
0
-4
-25
15
38
0
0
0
0
1
-2
-3
0
37
0
0
0
0
-4
1
2
2
53
0
0
0
0
-38
-36
-11
26
78
0
0
0
0
0
0
-9
-17
21
0
0
0
0
0
0
2
39
-12
0
0
0
0
0
2
4
-11
-65
0
0
0
0
-1
-1
4
6
10
0
0
0
0
0
1
-7
18
57
0
0
0
0
0
0
4
-7
-5
0
0
0
0
0
-1
9
-20
-15
0
0
0
0
3
-4
-3
36
23
0
0
0
0
0
0
-4
-29
30
0
0
0
0
0
0
0
-29
11
0
0
0
0
0
0
2
62
5
0
0
0
0
-10
-15
-5
-8
3
0
0
0
0
0
0
0
-46
15
0
0
0
0
2
3
-1
-35
55
0
0
0
0
10
24
109
-78
57
0
0
0
0
0
0
-3
-53
2
0
0
0
17
0
0
8
-63
49
0
0
0
0
0
0
-3
69
-30
0
0
0
0
0
1
-6
72
-9
0
0
0
0
0
0
0
-13
31
0
0
0
0
0
-5
5
-8
28
0
0
0
0
0
0
0
-24
35
0
0
0
0
0
3
-12
-53
-16
0
0
0
0
0
0
1
13
-22
0
0
0
0
0
0
0
-50
70
0
0
0
0
0
0
-3
-43
62
0
0
0
0
0
0
-10
31
57
0
0
0
0
0
0
3
0
24
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
1
-13
21
0
0
0
0
0
0
2
-15
42
0
0
0
0
0
0
-4
-63
57
0
0
0
26
0
-2
4
9
-38
0
0
0
0
0
0
0
-17
14
0
0
0
0
0
0
-18
4
32
0
0
0
0
0
0
-2
-1
83
0
0
0
-6
0
0
1
-17
44
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
6
-32
-18
0
0
0
0
0
1
10
-18
64
0
0
0
-1
0
0
0
24
7
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
-17
45
0
0
0
9
0
0
7
-67
50
0
0
0
0
0
0
-5
10
-10
0
0
0
-8
0
0
45
29
-64
0
0
0
0
-1
7
20
-28
24
0
0
0
0
0
-5
0
9
2
0
0
0
0
0
15
2
-27
-35
0
0
0
0
0
1
58
-27
-36
0
0
0
0
0
-1
1
34
-52
0
0
0
0
0
0
17
-90
19
0
0
0
0
0
0
-1
-10
19
0
0
0
0
0
-3
-13
29
-16
0
0
0
0
0
2
-9
-41
79
0
0
0
0
0
0
-3
9
-18
0
0
0
0
0
0
0
-13
61
0
0
0
0
0
0
-1
-5
18
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
1
5
51
0
0
0
0
1
-2
0
-5
-34
0
0
0
0
0
-2
4
28
-25
0
0
0
0
-5
-9
-3
-9
73
0
0
0
0
0
2
5
-16
-29
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
-15
-6
26
0
0
0
0
-4
2
0
-31
38
0
0
0
0
0
0
-14
-9
55
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-5
-7
-19
0
0
0
0
0
0
2
-2
41
0
0
0
0
0
2
-5
-22
48
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
-1
0
1
-5
0
0
0
0
0
1
0
0
-15
0
0
0
0
0
-9
-10
42
10
0
0
0
0
0
0
2
20
17
0
0
0
0
-1
-3
-28
16
-24
0
0
0
0
0
-6
-44
29
84
0
0
0
0
0
6
2
-33
-17
0
0
0
0
0
9
-23
10
-46
0
0
-13
0
0
-1
53
-17
93
0
0
0
0
0
-1
-7
-43
-8
0
0
0
0
0
-14
-42
-5
41
0
0
0
0
0
0
3
-20
-14
0
0
0
0
0
-1
15
22
-21
0
0
0
0
0
5
33
10
-61
0
0
0
0
0
2
26
-13
39
0
0
0
0
0
-5
3
-77
27
0
0
5
0
0
-4
11
50
-55
0
0
0
0
0
0
-6
47
-13
0
0
0
0
0
0
-12
-3
6
0
0
0
0
0
-4
0
-37
17
0
0
0
0
0
0
1
23
41
0
0
0
0
0
6
3
-57
28
0
0
0
0
0
-1
13
-101
86
0
0
0
0
0
0
2
5
-6
0
0
0
0
0
9
35
-24
-9
0
0
0
0
0
3
7
-19
3
0
0
0
0
0
0
12
-46
68
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
-16
-73
8
0
0
0
0
0
-18
-21
53
-48
0
0
0
-7
0
1
-5
42
13
0
0
0
0
0
0
0
-20
24
0
0
3
0
0
3
-1
-22
2
0
0
0
0
0
1
-5
29
-27
0
0
0
-1
0
0
-17
23
57
0
0
0
0
0
1
3
-63
1
0
0
-25
3
-1
7
7
-2
-17
0
0
0
0
6
-6
0
-8
14
0
0
0
0
0
12
0
-13
25
0
0
0
0
0
0
-1
-18
14
0
0
0
0
0
0
-7
-12
15
0
0
0
0
0
-1
-4
3
-15
0
0
0
0
0
0
0
35
-101
0
0
0
0
0
0
1
-4
-63
0
0
0
0
0
-1
1
12
-39
0
0
0
0
3
2
0
3
36
0
0
0
0
0
0
0
16
52
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
2
-24
47
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
-2
0
83
0
0
0
0
0
0
0
5
-50
0
0
0
0
0
0
-4
16
-56
0
0
0
0
0
3
2
3
-40
0
0
0
0
0
0
-5
-77
47
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
-3
8
-7
0
0
0
0
0
0
0
16
-15
0
0
0
0
0
0
0
-5
-78
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
-17
5
-1
0
0
0
0
2
-3
-4
25
-12
0
0
0
0
0
0
0
-28
35
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
2
-5
1
-36
0
0
0
0
0
0
0
10
7
0
0
0
0
0
-2
0
-4
-16
0
0
0
0
0
-2
-42
-37
47
0
0
0
0
0
-1
2
-28
57
0
0
0
-1
0
0
-2
-106
57
0
0
0
0
0
0
1
-7
56
0
0
0
0
0
0
2
-64
106
0
0
0
0
0
0
9
-1
23
0
0
0
0
0
0
0
26
-28
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
-10
18
0
0
0
0
0
9
1
-8
98
0
0
0
0
0
0
3
-18
67
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
0
-8
37
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
-2
21
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
-2
-2
-4
0
0
0
0
0
0
-5
7
2
0
0
0
-3
0
0
5
5
97
0
0
0
0
0
0
-1
-5
5
0
0
0
0
0
0
8
1
41
0
0
0
0
0
0
-7
12
7
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
10
3
0
0
0
0
0
-3
-6
0
-15
0
0
0
7
0
0
0
-4
-6
0
0
0
0
0
0
-3
-15
-1
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
-20
-3
0
0
0
-1
0
0
-1
-5
-19
0
0
0
0
0
0
2
-2
-6
0
0
0
0
-2
-1
-109
-6
46
0
0
0
0
13
-3
-20
-56
23
0
0
0
0
0
-4
7
-65
37
0
0
0
0
0
-6
-4
-29
59
0
0
0
0
0
0
1
-29
60
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
-1
-11
-1
0
0
0
0
0
0
0
-20
12
0
0
0
0
0
1
0
-40
22
0
0
0
0
-1
-3
-5
-32
-2
0
0
0
0
0
0
0
-4
-14
0
0
0
0
0
11
4
9
-45
0
0
0
0
0
0
-3
-12
62
0
0
0
0
0
0
0
7
51
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
-4
25
0
0
0
0
-2
-3
2
-1
17
0
0
0
0
-24
2
0
-2
35
0
0
0
0
0
1
6
-20
10
0
0
0
0
0
0
-2
9
13
0
0
0
0
0
-1
-24
-18
42
0
0
0
0
0
0
7
1
-48
0
0
0
0
0
0
-1
6
-36
0
0
0
0
0
0
0
0
-19
0
0
0
0
-1
-3
-1
2
-3
0
0
0
0
10
4
2
-1
-45
0
0
0
0
0
0
0
-11
40
0
0
0
0
0
0
-2
-2
-10
0
0
0
0
0
0
-3
2
-11
0
0
0
0
6
-8
7
-9
37
0
0
0
0
-4
0
0
-8
25
0
0
0
0
1
0
0
-1
-13
0
0
0
0
0
50
-38
-15
30
0
0
0
0
-11
11
21
-104
37
0
0
0
-5
0
8
9
-38
47
0
0
0
0
0
25
21
-20
43
0
0
9
0
0
-2
-62
52
-72
0
0
0
0
0
17
35
-27
-1
0
0
0
0
0
11
-40
26
36
0
0
0
0
0
-5
7
6
52
0
0
0
0
0
13
-25
-60
65
0
0
0
0
0
-12
-39
71
37
0
0
0
2
0
-8
8
-22
-5
0
0
0
0
0
5
4
12
-70
0
0
2
0
0
-12
-25
21
40
0
0
0
0
0
28
-17
14
-61
0
0
0
0
0
-3
13
0
-21
0
0
0
0
0
7
6
6
11
0
0
0
0
-2
-8
13
-19
18
0
0
0
0
4
-55
86
-33
2
0
0
0
9
-1
-3
21
-55
-2
0
0
0
0
0
1
-20
16
14
0
0
-5
0
0
1
30
-12
-95
0
0
0
0
-6
34
6
14
8
0
0
0
0
0
-42
-5
-5
39
0
0
0
0
0
-4
-7
1
3
0
0
0
0
0
5
11
4
-58
0
0
0
0
-11
-42
51
66
-12
0
0
0
0
0
-9
17
-13
-19
0
0
0
0
0
-47
15
8
41
0
0
-14
0
0
-17
-7
19
-10
0
0
0
0
-10
14
-5
4
-74
0
0
0
-2
0
-17
18
-24
-59
0
0
0
0
-1
-58
21
-79
83
0
0
-4
-2
1
29
42
-38
-37
0
0
0
0
37
-47
13
-33
51
0
0
0
0
0
3
5
-39
-2
0
0
0
0
4
2
7
13
27
0
0
0
0
0
2
-42
-12
1
0
0
0
0
0
51
-26
-51
36
0
0
0
0
0
1
-1
10
-43
0
0
0
0
-1
2
10
9
11
0
0
0
0
0
1
76
-27
-6
0
0
0
0
-34
9
0
-19
23
0
0
0
0
0
0
3
-57
51
0
0
0
0
1
5
4
54
11
0
0
0
0
1
11
42
25
-92
0
0
0
0
0
-4
-3
-5
13
0
0
0
0
0
0
0
-33
-8
0
0
0
0
4
6
1
16
14
0
0
0
0
-5
1
53
20
-10
0
0
0
0
34
73
-47
48
39
4
0
0
0
0
1
9
-121
-16
4
0
0
0
0
2
12
-56
56
-4
0
0
0
0
0
1
-98
14
8
0
0
0
0
2
-5
-6
27
12
0
0
0
0
0
-8
2
-47
35
0
0
0
-9
-2
-1
-1
-10
-7
0
0
0
1
3
-10
-8
30
27
0
0
0
-11
8
-20
-10
32
-17
0
0
0
0
0
1
7
-27
0
0
0
0
0
-3
0
-18
100
-22
0
0
0
1
4
-21
-28
79
-37
0
0
0
-4
1
-21
20
64
15
0
0
0
0
0
11
12
-53
42
0
0
0
-4
-2
0
-124
40
39
0
0
0
9
-30
52
42
24
-6
0
0
0
0
4
-34
39
-27
0
0
0
-22
0
-1
-12
-26
25
0
0
0
0
0
0
-3
-54
119
0
0
0
0
0
3
-2
-20
35
0
0
0
0
0
5
1
77
-63
0
0
0
6
0
0
2
10
-64
0
0
0
0
0
0
2
-77
15
0
0
0
0
0
-5
8
-33
-28
0
0
0
0
0
0
-2
5
-23
0
0
0
6
0
0
-1
27
40
0
0
0
0
0
0
-1
28
-11
0
0
0
0
0
-1
-8
-87
43
0
0
0
0
0
0
14
11
-5
0
0
0
0
0
-2
-6
41
-77
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
-2
-6
-54
74
0
0
0
0
0
0
1
25
-91
2
0
0
-41
0
0
-1
-35
88
9
0
0
0
0
0
0
-106
58
-6
0
0
0
0
0
-3
-76
-55
37
0
0
0
0
0
4
-69
-10
3
0
0
5
0
0
3
14
-175
57
0
0
0
0
0
0
-31
27
7
0
0
0
0
-2
4
2
43
22
0
0
0
0
5
11
37
73
-35
0
0
4
0
0
6
-64
-25
51
0
0
0
0
0
0
-6
27
-19
0
0
0
0
0
0
-44
-10
10
0
0
0
0
0
-6
75
-11
-5
0
0
5
0
0
1
62
40
-27
0
0
0
0
0
-1
36
5
11
0
0
64
0
8
-76
-72
22
-25
0
0
0
7
0
-14
23
16
0
0
0
0
0
0
-1
20
17
0
0
0
0
0
-6
-1
-46
6
0
0
0
0
0
-2
0
-37
-21
0
0
0
0
0
-2
-9
25
38
0
0
0
0
0
0
-4
8
111
0
0
0
0
0
0
3
31
-6
0
0
0
0
0
0
-6
-51
6
0
0
0
0
-2
-3
4
53
3
0
0
0
0
0
0
-5
-23
-35
0
0
0
0
0
-2
-1
0
41
0
0
0
0
0
-1
-7
-60
-7
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
-2
-5
2
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
0
-2
0
-52
0
0
0
0
-13
-5
3
11
47
14
0
0
0
0
0
2
21
31
-10
0
0
0
0
0
-8
10
-25
-11
0
0
0
0
0
-10
-88
17
25
0
0
0
2
9
0
-2
-26
-19
0
0
0
0
0
-3
-9
-51
-4
0
0
0
0
0
0
9
-6
-24
0
0
0
0
0
0
4
1
-4
0
0
0
3
-9
0
-83
-21
60
0
0
0
0
0
-2
59
10
-12
0
0
0
0
0
-4
-13
-24
-6
0
0
0
0
0
1
-19
18
-32
0
0
0
-5
0
1
-2
61
-50
0
0
0
0
0
0
15
36
-39
0
0
0
0
0
0
34
44
-42
0
0
0
1
8
24
-103
14
-14
0
0
0
0
14
-63
-20
37
0
0
0
0
0
0
35
-92
-27
0
0
0
0
0
-12
-19
-20
8
0
0
-24
0
0
0
39
-43
3
0
0
0
0
0
-1
-31
25
56
0
0
0
0
0
0
-9
27
3
0
0
0
0
0
0
-7
-3
3
0
0
1
0
0
-1
41
26
7
0
0
0
0
0
1
26
-39
-37
0
0
0
0
0
0
-4
-8
14
0
0
0
0
0
-1
9
-62
20
0
0
2
0
0
0
-16
-3
-10
0
0
0
0
0
0
-6
-9
15
0
0
0
0
0
0
-26
68
-37
0
0
0
0
0
1
16
-18
-13
0
0
0
0
0
4
25
-65
0
0
0
0
0
0
0
28
6
42
-2
0
0
0
0
0
-2
42
115
-11
0
0
0
0
0
1
64
21
-37
0
-12
0
0
0
4
80
18
-44
0
0
0
0
0
-53
-10
-22
36
0
0
0
0
0
7
-20
11
-3
0
0
0
0
0
4
15
7
21
0
-7
0
0
0
-1
-28
1
46
0
0
0
0
0
-1
-53
-46
48
0
0
0
0
3
0
-48
-84
67
0
0
0
0
0
11
-32
2
-21
0
-3
0
0
0
4
2
-20
-33
0
0
0
0
0
0
-16
32
-36
0
0
0
0
0
-1
-29
-5
-8
0
0
0
0
-8
-14
-128
56
41
0
35
17
0
-56
-43
9
16
-56
0
0
0
6
-6
-83
-88
52
0
0
0
0
0
0
1
-34
24
0
0
0
0
0
-3
2
-5
47
0
0
0
0
0
-4
23
-57
12
0
0
0
0
0
0
17
-19
-8
0
0
0
0
0
0
5
-9
-70
0
0
0
0
0
0
3
6
13
0
0
0
0
0
0
15
-10
34
0
0
0
0
0
0
4
-17
-12
0
0
0
0
0
0
-3
-4
29
0
0
0
0
0
0
-9
-59
39
0
0
0
0
0
0
-47
-1
20
0
0
0
0
0
0
3
-5
5
0
0
0
0
0
0
2
-7
-30
0
0
0
0
-2
0
-6
-1
-29
0
0
0
0
0
0
-33
-37
82
0
0
0
0
2
-1
6
60
-49
15
0
0
0
0
0
0
-70
-72
16
0
0
0
0
0
0
-56
-18
35
0
0
0
0
1
3
51
-3
-28
0
0
0
0
0
13
16
15
-55
0
0
0
0
0
0
4
6
-41
0
0
0
0
0
0
-4
17
-29
0
0
0
0
6
3
11
-2
-91
0
0
0
-10
-2
5
47
55
-56
0
0
0
0
0
1
-10
102
-62
0
0
0
0
0
0
-23
-2
-37
0
0
0
0
0
-6
16
-29
-15
0
0
0
0
0
-3
21
-13
-29
0
0
0
1
0
0
-3
19
-32
0
0
0
0
0
0
3
-10
-14
0
0
0
1
-10
5
-61
85
-24
0
0
0
0
1
-15
47
23
0
0
0
-10
0
0
11
40
-93
0
0
0
0
0
0
-1
-23
21
0
0
0
0
0
8
23
8
-76
0
0
0
0
0
0
2
-29
35
0
0
0
0
0
0
0
6
-30
0
0
0
0
0
0
10
-10
48
0
0
0
0
0
0
-26
-15
-6
0
0
0
0
0
0
-1
-11
4
0
0
0
0
0
0
4
51
13
0
0
0
0
0
0
0
-6
92
0
0
0
0
0
0
6
35
-6
0
0
0
0
0
0
3
-1
-47
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
-2
-4
-3
0
0
0
0
0
2
-2
-34
-68
0
0
0
0
0
0
-3
-88
47
18
0
0
0
0
0
-5
-24
79
10
0
0
0
0
0
2
2
-10
6
0
0
0
0
0
17
15
-11
-21
0
0
0
0
0
0
-14
21
-24
0
0
2
0
0
4
3
4
-52
0
0
0
0
0
0
-11
-12
49
0
0
0
0
0
-4
6
0
14
0
0
0
0
0
-1
8
-36
-8
0
0
8
0
0
0
-73
-4
53
0
0
0
0
0
2
-37
-14
-4
0
0
0
0
1
-2
8
-2
-42
0
0
0
0
0
-1
25
30
38
0
0
-4
0
0
0
-7
9
-61
0
0
0
0
2
2
-35
-18
41
0
0
0
-4
6
-10
-42
20
1
0
0
0
-9
-3
0
-15
59
0
0
0
0
0
0
-3
-37
14
0
0
0
0
0
0
0
-7
-33
0
0
0
0
0
0
-26
-12
106
0
0
0
0
0
0
2
-12
11
0
0
0
0
0
0
0
-17
24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-10
0
0
0
0
0
2
0
0
8
-62
0
0
0
0
0
0
0
47
33
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
7
-65
-16
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
13
-18
0
0
0
0
-1
0
0
15
22
3
0
0
0
0
0
0
-18
28
28
0
0
0
0
0
0
11
-9
-27
0
0
0
0
0
-8
-1
-6
-20
0
0
0
3
0
0
-3
0
14
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
-2
0
-53
0
0
0
0
-1
-4
-29
-11
9
0
0
0
0
0
0
23
-13
-46
0
0
0
0
0
0
-46
-5
17
0
0
0
0
0
1
-17
1
-13
0
0
0
-8
0
0
-1
-27
51
0
0
0
0
0
-2
-1
5
2
0
0
0
0
0
0
0
0
-27
0
0
0
-1
3
-8
-2
-25
-18
0
0
0
2
0
-44
14
34
0
0
0
0
0
3
-16
53
1
0
0
0
0
0
2
46
-66
-6
0
0
-6
0
0
3
18
49
-52
0
0
0
0
0
8
-92
75
7
0
0
0
0
0
2
24
-18
-3
0
0
0
0
0
-2
-6
-8
-14
0
0
0
0
0
-8
-10
-55
85
0
0
0
0
-1
32
44
21
-36
0
0
0
2
0
0
-7
-7
16
0
0
0
0
0
0
-2
-113
30
0
0
0
0
0
0
-52
-3
-53
0
0
0
0
0
0
3
-46
13
0
0
0
0
0
-1
-33
-10
-10
0
0
0
0
0
4
1
9
44
0
0
0
0
0
8
-55
-34
33
0
0
0
0
-2
1
21
41
-88
9
0
0
0
0
0
4
35
-39
12
0
0
0
0
-2
-14
-39
12
5
0
22
0
0
0
14
-71
-1
-20
0
0
0
2
-2
0
1
-8
-29
0
0
0
0
0
0
-13
6
2
0
0
0
0
5
-5
0
0
-62
0
0
0
0
0
9
-2
0
-49
0
0
0
0
11
48
17
22
13
0
0
0
0
0
-64
0
-40
55
0
0
0
0
0
-11
-35
1
-11
0
0
0
0
0
63
2
-22
21
0
0
0
0
-3
16
27
-21
32
0
0
-3
0
0
-4
-13
23
-18
0
0
0
0
-3
6
-1
11
-16
0
0
9
-1
21
11
-39
35
-59
0
0
0
-12
18
34
101
-14
0
0
0
0
0
5
12
34
-8
0
0
0
0
0
-7
32
33
55
0
0
0
0
2
1
-13
-10
92
0
0
0
0
-1
-5
-14
71
6
0
0
0
0
0
7
-45
-11
63
0
0
0
0
7
-5
-12
6
-76
0
0
0
0
0
9
26
8
-19
0
0
0
0
0
-24
-13
-85
102
0
0
0
0
0
1
17
-28
-1
0
0
0
0
0
0
8
-48
54
0
0
0
0
0
-6
10
-28
41
0
0
0
0
0
8
3
-2
-29
0
0
0
0
0
1
0
-7
19
0
0
0
0
0
4
2
-2
-67
0
0
0
0
3
19
-13
-35
30
0
0
0
0
-15
29
-22
-39
72
4
0
0
0
0
2
-7
76
7
-11
0
0
0
0
-4
-5
39
16
-10
0
0
0
0
3
61
-6
-45
-2
0
0
0
0
9
-2
-19
28
4
0
0
0
0
0
-1
-45
112
-20
0
0
0
-2
0
0
1
-8
1
0
0
0
0
-2
-13
27
2
-29
0
0
0
-1
13
-73
26
-25
-5
-2
0
0
0
-3
0
-60
94
-75
-13
0
0
0
1
0
-23
19
-51
0
0
0
0
4
-10
-39
18
95
-8
0
0
3
-3
-2
-50
47
-44
-2
0
0
0
-5
0
-10
-178
32
30
0
0
-4
0
3
2
59
41
-9
0
0
27
6
-24
-43
2
2
16
0
0
0
-2
9
-37
-35
0
0
0
-69
0
0
9
38
16
0
0
0
0
0
0
4
-5
11
0
0
0
0
0
0
12
-12
-9
0
0
0
0
0
0
-2
-34
51
0
0
0
-2
0
0
15
-52
35
0
0
0
0
0
0
-2
19
-11
0
0
0
0
0
0
-5
66
-21
0
0
0
0
0
0
-7
-74
63
0
0
0
2
0
0
-8
-13
-25
0
0
0
0
0
-1
1
27
-3
0
0
0
0
0
0
0
-29
68
0
0
0
0
0
0
0
-2
-5
0
0
0
2
0
0
0
0
12
0
0
0
0
0
0
0
2
22
0
0
0
-1
0
0
3
21
-86
0
0
0
0
0
0
2
52
5
-22
0
0
-47
0
0
-2
-57
77
35
0
0
0
0
0
6
-133
7
25
0
0
0
0
1
-13
-12
51
-45
0
0
0
0
0
-1
4
106
-56
0
0
-1
0
0
0
-26
-41
81
0
0
0
0
0
0
5
-8
35
0
0
0
0
0
-3
-9
-17
52
0
0
0
0
-1
-3
-60
-14
11
13
0
53
0
0
-12
-2
36
-23
-27
0
0
0
0
0
-43
-73
76
-22
0
0
0
0
-1
-60
14
-150
29
0
0
0
0
0
24
13
-27
2
0
-25
0
0
0
-43
13
14
-38
0
0
0
0
0
32
29
-137
3
0
-10
0
-4
-4
-39
-14
37
5
0
0
-1
-12
3
-38
23
0
0
0
0
0
0
-3
-79
52
0
0
0
0
0
11
0
-61
57
0
0
0
0
0
0
-4
-28
6
0
0
0
0
0
-2
-5
14
-4
0
0
0
0
0
0
17
-50
65
0
0
0
0
0
5
0
-1
19
0
0
0
0
0
-1
-25
62
8
0
0
0
0
4
-1
6
-6
63
0
0
0
0
0
0
0
22
55
0
0
0
0
0
0
0
57
-36
0
0
0
0
0
0
0
25
-2
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
-7
-3
28
0
0
0
0
0
0
0
-9
-21
0
0
0
0
0
0
9
-75
-21
0
0
0
0
-3
0
33
43
37
1
0
0
0
0
0
0
55
14
2
0
0
0
0
0
4
-32
68
-23
0
0
0
0
0
-11
75
-84
-16
0
0
0
5
-2
1
20
-121
33
0
0
0
0
0
-2
0
14
-43
0
0
0
0
0
0
0
4
-10
0
0
0
0
-6
4
17
0
-14
0
0
0
-7
0
4
-30
7
-26
8
0
0
0
0
-2
-19
-116
60
26
0
0
0
-1
-1
-14
32
-20
-23
0
0
0
0
0
-53
-4
-72
10
0
0
0
2
0
8
11
-96
-38
0
0
0
0
-1
-17
-20
-18
10
0
0
0
0
0
8
0
-37
26
0
0
3
2
5
-30
-47
22
9
0
0
0
0
-6
44
-27
0
0
0
0
0
0
10
27
-36
0
0
0
0
0
-14
11
-26
23
0
0
77
0
0
0
94
-65
-24
0
0
0
0
0
0
-9
27
-23
0
0
0
0
0
0
-16
-78
31
0
0
0
0
0
9
10
-68
20
0
0
9
0
0
-3
-66
-30
25
0
0
0
0
0
5
21
-78
-16
0
0
0
9
0
-2
-4
-41
-17
0
0
0
0
0
0
0
-7
-66
0
0
-18
0
0
0
4
-45
52
0
0
0
0
0
0
0
-15
-27
0
0
0
0
0
0
4
-15
5
0
0
0
0
0
0
-6
0
6
0
0
0
0
0
-1
22
-62
51
0
0
0
0
2
-4
17
38
-3
2
0
0
0
0
0
-19
53
41
-44
0
0
0
0
-4
-25
-9
80
-1
0
18
0
0
0
20
16
-24
14
0
0
0
0
0
21
32
46
-38
0
0
0
0
0
-2
14
-14
3
0
0
0
0
0
-1
-3
-13
38
0
-1
0
0
1
2
-42
34
-2
0
0
0
0
-5
-11
-12
-92
83
9
0
-4
0
0
-13
13
-17
29
-7
0
0
0
1
3
45
-10
-103
-19
-16
0
0
-3
6
-19
-4
80
-1
0
0
0
0
1
-70
39
20
-8
0
0
0
2
-4
16
-10
-21
2
0
0
0
-4
0
-5
-13
-32
18
-37
-5
5
0
14
-53
39
-30
-4
0
0
-20
-41
5
12
10
0
0
0
0
0
0
15
27
-22
0
0
0
0
0
3
-15
-50
87
0
0
0
0
0
0
-28
-25
19
0
0
0
0
-4
-3
-11
4
13
0
0
0
0
0
0
-8
-69
76
0
0
0
0
-1
-1
6
-18
-34
0
0
0
0
0
-1
18
-1
-24
0
0
0
0
0
-1
4
-42
61
0
0
0
0
0
0
10
-20
-51
0
0
0
0
0
-3
-5
-4
33
0
0
0
0
0
1
-17
86
-66
0
0
0
0
-2
-4
0
-25
74
0
0
0
0
0
0
-7
-2
43
0
0
0
0
1
-7
6
-24
5
0
0
0
0
0
3
17
15
-3
0
0
0
0
-1
-3
-36
-1
77
14
0
0
0
0
-2
0
100
15
-21
0
0
0
0
0
2
-26
-1
-16
0
0
0
0
0
4
-9
24
-25
0
0
0
-3
0
2
-5
-16
0
0
0
0
0
0
-4
-25
-84
51
0
0
0
0
0
0
2
6
-67
0
0
0
0
-4
20
14
2
-67
0
0
0
-2
-10
3
-22
-26
30
-6
0
0
0
0
-4
2
-1
58
-30
0
0
0
-1
-1
-12
0
-132
48
0
0
0
0
6
-27
-23
36
-7
0
0
-1
-1
12
0
-14
-65
-7
0
0
0
0
3
-17
9
-82
30
0
0
4
-3
-4
-2
-13
-37
33
0
0
0
-39
45
-27
-20
-39
7
0
0
-3
1
-1
-29
39
0
0
0
-30
0
2
-3
-14
-13
0
0
0
0
0
2
-20
25
-32
0
0
0
0
0
-13
-33
50
-19
0
0
0
0
0
0
2
-13
55
0
0
0
5
0
-1
-14
-65
49
0
0
0
0
0
0
2
30
-68
0
0
0
0
0
4
-8
-17
-76
0
0
0
0
1
4
1
-14
71
0
0
0
-14
0
0
5
-38
35
0
0
0
0
0
0
-2
34
-53
0
0
0
2
0
0
2
-3
-22
0
0
0
0
0
0
0
-5
-17
0
0
0
-4
0
0
0
17
-74
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
-1
-10
-17
3
0
0
0
0
0
0
-4
-59
72
21
0
0
-1
0
0
-5
-20
-29
42
0
0
0
0
0
3
-29
24
6
0
0
0
0
0
1
-11
26
-11
0
0
0
0
0
3
-35
-31
33
0
0
37
0
0
-2
-17
-1
-49
0
0
0
0
0
-5
12
13
-26
0
0
0
0
0
-1
-2
3
46
0
0
0
0
-4
7
-9
57
-7
6
0
-87
0
0
0
31
-74
-79
86
0
0
1
0
0
5
-4
-42
17
0
5
0
0
1
-46
-10
-5
-3
0
0
0
0
-1
-31
28
60
2
0
27
0
0
0
3
20
-74
-37
0
0
-1
0
-5
4
-6
-29
-14
0
-7
-5
-14
9
-33
40
-41
-41
0
0
39
-26
23
59
-32
0
0
0
0
0
5
-2
8
14
0
0
0
0
1
-1
1
-55
-15
0
0
0
0
0
-8
-117
48
16
0
0
0
0
-1
-1
-9
-15
-8
0
0
0
0
0
-17
1
35
18
0
0
0
0
0
0
0
9
-24
0
0
0
0
0
-2
-42
-1
0
0
0
0
0
-20
1
1
20
35
0
0
0
0
0
-1
0
-42
-28
0
0
0
0
0
-3
-18
-18
18
0
0
0
0
-1
0
6
-47
105
0
0
0
0
-4
-1
0
0
24
0
0
0
0
0
3
0
-1
65
0
0
0
0
3
0
-3
0
-4
0
0
0
0
0
-15
11
53
-52
0
0
0
0
-31
-1
-2
-1
16
17
0
0
0
-1
0
-1
-8
22
0
0
0
0
-2
0
-5
-9
-38
29
0
0
0
0
0
-7
-43
-23
13
0
0
0
-1
2
3
-25
3
64
0
0
0
1
1
2
1
9
-30
0
0
0
0
0
0
0
-2
-61
0
0
0
0
-11
1
1
0
20
0
0
0
1
2
9
-11
24
13
1
0
0
0
0
0
3
91
-51
-34
0
0
4
0
1
-23
4
-115
101
0
0
-1
0
0
-14
-38
19
-16
0
0
-5
0
-4
-2
-10
-67
185
0
0
0
0
-1
-46
-26
58
-46
0
0
-3
3
0
-8
0
3
-55
0
0
-76
3
-9
-62
134
-10
-44
0
0
-6
-7
17
30
13
0
0
0
0
-51
1
17
-11
30
0
0
0
0
81
17
20
-1
6
0
0
30
58
10
-5
-37
-10
-2
0
0
0
0
-15
45
1
-6
-1
0
0
0
33
-58
-47
23
-11
10
0
0
0
0
-11
-102
-36
22
12
0
0
9
50
49
-2
-55
-1
-29
0
0
0
0
56
42
50
-19
-12
0
0
0
35
3
-49
45
-91
10
0
0
0
0
6
-40
-21
-54
18
0
0
6
83
-15
47
-17
-75
-37
0
0
0
0
-37
90
1
-62
4
0
0
0
-5
11
-48
12
-51
-37
0
0
0
0
-58
-51
-4
-39
5
0
0
34
-61
38
-38
14
-9
-29
0
0
0
0
-33
41
72
-55
55
18
0
0
-52
-35
-46
10
54
4
5
0
0
0
-51
8
11
42
1
4
0
-14
12
19
-1
31
-55
21
-24
0
0
0
84
-40
23
16
52
-1
0
0
64
-13
-54
33
-97
-51
4
0
0
0
-67
25
-24
-35
83
-6
0
-3
-29
-56
-24
103
-49
-38
-6
0
0
0
-14
16
64
-38
23
16
19
0
57
25
-4
-114
-23
8
-8
4
0
0
-137
-37
-25
-4
-5
-9
-2
2
-15
7
99
-115
-30
4
-25
4
0
0
29
59
43
41
21
1
-10
0
-36
-3
-43
3
-58
23
-4
-18
0
0
21
16
-30
16
-12
-23
-14
-71
-4
9
-22
-108
-55
11
-31
5
0
0
-2
-4
-60
4
34
0
0
0
0
4
-33
13
-26
19
0
0
0
0
19
-56
46
-28
11
0
0
0
0
0
-30
-75
-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
-35
-11
99
-103
46
0
0
0
0
0
0
24
22
-1
0
0
0
0
9
-29
76
-90
20
0
0
0
0
0
-2
10
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
8
12
-21
18
-8
0
0
0
0
0
30
-26
39
16
0
0
0
0
0
9
33
-1
-10
0
0
0
0
0
32
-11
-74
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
29
-67
74
45
0
0
0
0
0
3
-54
-10
63
0
0
0
0
-1
7
7
-55
58
0
0
0
0
0
-8
8
-71
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
-7
15
19
-36
21
0
0
0
-10
10
36
9
-29
11
0
0
0
0
49
10
-51
15
-16
0
0
0
44
5
-29
55
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
4
0
0
25
-34
-15
0
0
0
0
0
-1
5
-32
1
0
0
0
-2
0
5
0
-66
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-4
0
0
0
-12
-5
-68
39
11
64
0
0
0
0
0
-3
7
-96
82
0
0
0
0
0
-10
-70
48
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
10
21
-50
0
0
0
40
0
-44
-46
-5
60
0
0
0
0
0
0
-12
0
-37
0
0
0
-2
0
-2
22
55
-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
35
46
102
-32
20
0
0
0
0
-6
-16
27
6
-8
0
0
0
0
28
43
43
43
3
0
0
0
0
-9
-1
-44
-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
2
15
38
0
0
0
0
0
0
-7
-15
18
0
0
0
0
0
5
-9
64
-23
0
0
0
0
0
2
-53
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
-30
-3
-98
118
0
0
0
0
0
2
20
-7
-31
0
0
0
0
0
35
-72
10
101
0
0
0
0
2
-9
40
-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
-7
9
-41
-31
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
-9
-17
4
0
0
0
0
2
0
-3
-114
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
-5
33
28
3
6
0
0
0
-3
-1
-18
20
-24
-6
0
0
0
0
1
-52
82
7
8
0
0
-7
5
-9
50
32
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
1
-70
-71
101
0
0
0
0
0
0
-25
-71
102
0
0
0
0
0
10
7
5
-66
0
0
46
0
0
-1
42
-55
-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
-5
29
24
0
0
0
0
0
2
-31
23
16
0
0
0
0
-5
-7
70
-48
-16
0
0
-41
-7
0
18
125
-65
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
1
-44
47
30
0
0
0
0
0
11
10
-65
7
0
0
0
0
0
0
1
-5
-25
0
0
18
0
0
7
15
-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
41
-49
-1
6
46
0
0
0
0
0
39
66
-8
13
0
0
0
0
0
18
3
13
-9
0
0
0
0
0
-9
51
-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
-10
-62
-42
21
45
0
0
0
0
0
0
-48
20
40
0
0
0
0
-1
9
-1
-34
6
0
0
0
0
0
4
1
-69
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
-14
-43
26
3
96
0
0
0
0
0
-1
7
50
-26
0
0
0
0
0
2
13
-41
-45
0
0
0
0
0
0
10
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
25
80
26
-27
-29
0
0
0
0
0
-1
6
-138
13
0
0
0
0
-2
-7
-1
27
13
0
0
0
0
0
-3
-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
2
5
16
-100
17
0
0
0
44
0
4
-142
-6
28
0
0
0
0
-6
15
22
-26
-9
0
0
0
7
0
6
23
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
4
-19
-4
12
0
0
0
-23
4
1
17
-64
9
0
0
0
0
0
-10
-20
-26
79
0
0
0
-4
0
2
20
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
3
0
27
-46
-36
0
0
0
3
0
-5
50
-39
-1
0
0
0
0
0
-3
-12
-19
-43
0
0
0
0
0
-3
-21
-61
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
-6
-51
45
0
0
0
1
0
-9
-81
88
-56
0
0
0
0
0
0
-5
-6
1
0
0
0
0
0
-2
3
18
-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
-58
32
103
30
-12
0
0
0
0
0
-7
18
-14
-32
0
0
0
0
0
-3
2
-145
57
0
0
0
0
-5
4
60
-74
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-2
-37
52
0
0
0
0
-8
0
1
-58
2
0
0
0
0
0
-2
-4
-55
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
5
2
22
-67
8
0
0
0
0
0
-1
12
10
-5
0
0
0
0
0
0
2
-54
-18
0
0
0
0
0
4
-1
28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
-5
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
-4
0
101
19
0
0
0
0
0
0
-15
-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
37
32
2
-26
0
0
0
1
0
-17
-2
9
5
0
0
0
0
6
-16
-36
6
5
0
0
-20
0
-10
-73
35
-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
-13
-4
-1
-41
0
0
0
0
0
4
3
17
-9
0
0
0
0
0
-33
-19
-17
-13
0
0
-7
0
0
45
-8
70
-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
-13
6
-18
-33
0
0
0
4
0
-2
9
-42
26
0
0
0
0
-2
-21
36
-44
3
0
0
0
0
0
-100
-1
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
5
-37
-72
10
0
0
0
0
0
0
37
-7
32
0
0
0
0
0
2
-80
26
77
0
0
-1
0
0
-1
30
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
1
8
70
-44
11
0
0
0
0
0
15
15
36
-22
0
0
0
0
-5
8
49
9
7
0
0
0
0
0
1
24
-108
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
14
25
38
28
23
0
0
0
0
0
0
-10
56
-21
0
0
0
0
0
-2
-3
29
35
0
0
0
0
0
0
-12
-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
64
-67
8
-22
9
0
0
0
0
0
-1
31
46
-3
0
0
0
0
0
5
89
-62
1
0
0
0
0
-2
13
-59
-132
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
-7
8
81
-20
21
0
0
0
0
0
-4
17
33
12
0
0
0
0
-6
-37
2
92
-66
0
0
0
0
0
-21
-16
-40
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
1
4
0
13
0
0
0
19
-3
85
-41
-15
21
0
0
0
0
0
25
-10
-43
-18
0
0
0
0
0
-11
-36
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
10
-52
43
0
0
0
-1
0
0
5
-4
-32
0
0
0
0
0
-1
-2
-34
-36
0
0
0
0
0
0
-26
-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
-63
-24
6
0
0
0
57
-4
16
23
-31
12
0
0
0
0
0
-1
-19
4
17
0
0
0
0
0
-4
-16
39
-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
3
9
-44
1
0
0
0
41
0
0
57
-15
-15
0
0
0
0
0
-5
-4
-8
-8
0
0
0
0
0
2
24
-121
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
-8
-22
12
-111
30
0
0
0
0
0
2
-32
0
74
0
0
0
0
0
3
-14
-38
-14
0
0
0
0
2
-6
-47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-39
133
0
0
0
0
0
0
-3
-112
10
0
0
0
0
0
7
-9
35
36
0
0
0
0
1
0
-6
-20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
58
0
0
0
0
0
1
23
-15
-47
-1
0
0
0
0
-8
-19
-4
50
-19
0
0
0
0
3
6
28
27
-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
2
-58
12
16
0
0
0
0
0
0
-4
-40
66
0
0
0
0
-4
11
7
-43
-59
0
0
0
0
0
0
15
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
28
0
0
0
-17
0
2
36
13
-24
0
0
0
0
0
-1
-10
-12
10
0
0
75
-1
1
-2
108
51
-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
2
6
88
-43
0
0
0
0
0
2
-12
41
-10
0
0
0
0
0
0
25
-100
10
0
0
27
0
0
17
-22
-72
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
2
-3
-11
38
0
0
0
0
0
3
-38
-38
63
0
0
0
0
0
-3
11
44
-41
0
0
-66
-1
0
-8
11
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
-10
-25
22
0
0
0
0
0
-1
-17
-109
121
0
0
0
0
0
-2
-4
-37
-13
0
0
8
-1
0
-1
-3
-50
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
27
-8
-16
-39
43
0
0
0
0
0
-6
24
37
-7
0
0
0
0
0
13
-11
-142
37
0
0
0
0
0
0
-5
-52
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
5
-47
0
0
0
0
0
0
9
-5
-19
0
0
0
0
-2
19
0
28
-63
0
0
0
0
0
1
-3
-15
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
-7
0
96
-27
17
0
0
0
0
0
-5
10
-6
-1
0
0
0
0
0
-4
-14
-7
75
0
0
0
0
0
0
33
-90
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
-2
-4
54
6
-21
0
0
0
0
0
0
-6
14
-32
0
0
0
0
-11
6
-12
53
-6
0
0
0
0
0
0
5
-5
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
1
-3
-138
62
0
0
0
6
0
1
-36
36
18
0
0
0
0
0
-1
1
-19
-31
0
0
0
0
0
1
-3
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
2
-17
7
0
0
0
-1
0
0
16
-6
-14
0
0
0
0
0
1
-6
-96
63
0
0
0
2
0
-7
5
-13
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
4
22
-51
0
0
0
2
0
-2
-35
-46
116
0
0
0
0
0
0
5
-32
-22
0
0
0
0
0
0
-23
-51
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-57
40
0
0
0
20
0
-1
-1
31
-59
0
0
0
0
0
0
-3
-48
-66
0
0
0
0
0
0
-38
-48
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
-29
21
22
-36
17
0
0
0
0
0
-6
29
-25
-43
0
0
0
0
3
-13
-6
-32
60
0
0
0
0
0
11
-75
55
-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
-4
0
10
-12
0
0
0
0
0
-3
0
-50
23
0
0
0
0
0
-2
-4
-13
46
0
0
0
0
0
9
12
1
-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
-8
8
-15
13
-16
0
0
0
0
-1
1
14
-36
-8
0
0
0
0
0
-1
1
-9
45
0
0
0
0
0
-1
-30
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
-23
-3
18
-68
71
0
0
0
0
0
2
3
-39
28
0
0
0
0
1
-2
-2
-27
6
0
0
0
0
0
6
-40
-9
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
11
14
-6
-45
41
0
0
0
5
0
-19
49
-97
61
0
0
0
0
-5
-11
28
36
-51
0
0
-3
3
0
7
61
-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
-46
-3
-50
23
0
0
0
0
0
-2
-8
-57
111
0
0
0
0
0
-39
-35
-48
61
0
0
8
0
0
12
40
-87
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-110
-36
0
0
0
-1
0
23
-47
3
13
0
0
0
0
-2
1
-14
-80
58
0
0
2
0
0
-35
14
-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
15
48
-15
36
-83
0
0
0
-28
0
-13
30
23
6
0
0
0
0
-2
1
-73
-43
5
0
0
24
0
0
-38
-55
135
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-65
3
-7
0
0
0
0
1
2
5
-3
-40
0
0
0
0
-3
41
8
30
-33
0
0
0
0
4
7
7
-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
0
0
-9
-27
54
93
-23
0
0
0
0
0
0
-23
-56
76
0
0
0
0
-4
-9
-5
-55
48
0
0
0
0
-7
20
22
-72
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
21
-20
18
46
56
8
0
0
0
0
-5
50
26
15
4
0
0
0
7
-9
49
21
44
-5
0
0
0
0
-4
-30
-63
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
32
19
-34
74
40
4
0
0
0
0
-38
-30
11
-30
48
0
0
0
-1
39
-43
-10
29
14
0
0
0
0
0
7
-79
-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
-25
34
-19
16
0
0
0
2
1
-40
9
-66
76
0
0
0
0
0
-4
16
-39
-17
0
0
0
5
0
4
-89
-48
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
21
-71
52
0
0
0
77
0
-1
8
33
-39
0
0
0
0
0
2
1
28
-52
0
0
0
-1
0
0
1
-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
-10
-68
-7
11
9
0
0
88
8
-19
-18
-1
20
14
0
0
0
-3
-3
-10
-79
-34
-12
0
0
-1
0
1
14
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
0
0
0
35
-86
58
22
0
0
33
0
-11
52
-17
-53
27
0
0
0
0
1
6
-22
-70
-21
0
0
3
0
0
-11
44
-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
0
2
-21
-30
7
33
0
0
0
0
0
-1
15
-14
6
0
0
0
0
-21
1
-19
-62
35
0
0
0
0
16
-8
11
-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
0
0
0
0
0
0
0
0
0
0
0
-7
-64
-36
39
0
0
0
0
0
-3
-1
-73
12
0
0
0
0
4
10
11
-30
-5
0
0
0
0
0
-12
-12
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
-19
-14
172
44
-7
0
0
0
0
-3
3
4
-73
-4
0
0
0
-2
2
12
37
-30
-7
0
0
0
0
0
14
-33
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
-8
-39
-87
121
29
0
0
0
0
-2
-3
-127
-17
0
0
0
0
-5
4
-16
-68
163
-64
0
0
0
-7
-2
38
-81
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
-6
6
-15
68
0
0
0
0
0
-13
75
-70
71
0
0
0
0
2
-17
-55
13
41
0
0
34
-1
1
18
26
-44
-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
-14
-41
0
0
0
0
0
0
-3
-33
-90
138
0
0
0
0
0
-1
25
-15
-25
0
0
-15
0
-2
-32
105
64
-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
-8
-126
28
-14
-6
0
0
0
0
2
34
-12
43
-18
0
0
0
0
8
2
-83
63
2
0
98
0
0
47
-54
-45
-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
1
-13
-30
6
9
0
0
0
0
-9
-7
-40
121
-28
0
0
0
-7
11
13
-136
-20
85
0
50
0
0
-6
-90
-1
-84
151
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
67
-75
0
0
0
0
0
-6
18
-107
60
0
0
0
0
0
9
-31
-15
-35
0
0
0
0
0
-2
-22
-36
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
-70
72
0
0
0
0
0
0
2
12
6
0
0
0
0
3
1
2
17
40
0
0
0
0
0
1
-9
-1
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
-2
41
81
25
72
11
0
0
0
0
2
-15
-19
16
9
0
0
0
-4
-15
0
-24
11
16
0
0
0
0
1
-10
-3
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
25
-37
52
-29
1
12
0
0
0
0
2
-15
-24
34
-32
0
0
0
-7
-5
-4
-13
27
-16
0
0
0
0
-4
20
52
-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
2
-57
44
102
0
0
0
37
0
1
-61
-13
-9
0
0
0
0
0
-1
30
-29
-51
0
0
0
0
0
-2
-23
-60
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-136
0
0
0
-70
0
5
27
8
15
0
0
0
0
0
0
4
-27
-33
0
0
0
3
0
0
24
-65
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
21
-6
-34
8
0
0
11
0
-7
-5
-49
4
18
0
0
0
0
1
6
15
-11
-24
0
0
0
0
0
-12
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
35
-2
-52
0
0
7
0
2
-2
63
-36
-18
0
0
0
0
0
2
-26
-23
-77
0
0
-6
0
1
11
61
-33
-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
0
0
0
0
0
-6
5
-24
44
-50
0
0
0
0
0
-5
-13
-9
29
0
0
0
0
1
2
-6
-69
-5
0
0
0
0
0
-2
-66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
7
43
-55
0
0
0
0
0
0
3
11
-22
0
0
0
0
1
11
-1
60
-11
0
0
0
0
0
0
-3
-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
8
7
5
-61
-32
-5
0
0
0
0
0
0
19
26
-18
0
0
0
0
1
0
-11
24
4
0
0
0
0
0
5
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
22
-54
-19
13
0
0
0
0
0
-5
-5
9
-14
0
0
0
0
-7
0
68
-26
29
0
0
0
0
0
6
26
-33
-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
-11
6
-51
44
0
0
0
0
0
4
22
-67
76
0
0
0
0
-2
2
-12
-104
31
0
0
8
0
-1
-17
45
57
-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
2
-31
56
-69
122
0
0
0
-2
0
-2
-20
-12
118
0
0
0
0
7
-2
-59
-16
-22
0
0
-2
0
0
-11
50
-29
-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
35
-3
-17
16
-15
0
0
0
0
11
35
-82
-50
-13
0
0
0
2
-6
-14
-31
43
4
0
-6
0
0
12
-38
90
-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
-3
42
-7
-7
15
0
0
0
0
3
11
13
-53
49
0
0
0
0
5
-37
-80
16
56
0
-90
0
0
18
-54
56
56
-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
-2
65
44
-8
3
0
0
0
0
0
7
-14
22
-9
0
0
0
0
-3
7
-46
-59
45
0
0
0
0
0
-1
-24
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
2
22
38
-64
7
0
0
0
0
0
11
24
-83
-11
0
0
0
0
-1
27
40
-12
47
0
0
0
0
0
-18
-9
-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
-13
-46
16
16
113
-17
0
0
0
0
0
51
-110
11
30
0
0
0
0
35
8
74
-33
-12
0
0
0
1
4
17
-58
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
56
-64
52
78
70
-17
12
0
0
0
20
15
-24
42
0
-12
0
0
4
-47
6
-73
-31
10
-3
0
0
0
-35
6
6
67
-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
18
50
-6
0
0
0
78
-1
-49
6
6
1
0
0
0
0
0
-16
0
-51
14
0
0
0
0
0
1
-27
-47
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
2
-36
-79
-19
0
0
0
47
0
1
-24
-32
6
0
0
0
0
0
1
-10
60
13
0
0
0
2
0
2
15
-33
-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
-6
57
2
55
-41
0
0
91
2
-7
-96
-1
-34
20
0
0
0
0
0
1
-40
1
4
0
0
0
0
5
12
-2
-16
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
-41
18
4
0
-42
0
35
-68
-65
1
10
-2
0
0
0
12
-15
-53
89
-37
-34
0
5
0
1
-12
-25
61
-79
-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
-43
29
51
19
0
0
0
0
0
-3
1
-22
50
0
0
0
0
3
2
-7
-28
8
0
0
0
0
-1
-3
0
2
-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
2
20
67
1
-7
0
0
0
0
0
-3
-1
6
34
0
0
0
0
0
1
-3
-75
37
0
0
0
0
0
-7
3
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
0
0
0
0
0
0
0
0
0
0
0
11
3
-6
-37
69
11
0
0
0
0
-5
10
-21
39
-60
0
0
0
-8
-11
-64
46
-74
38
0
0
0
-12
3
-4
-32
-52
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
-3
-49
-8
18
0
-24
-5
0
0
0
-5
-22
-46
63
3
-7
0
0
-6
0
1
36
-18
-5
14
0
0
0
6
2
-20
16
-43
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-20
0
0
0
-1
0
4
-19
9
0
0
0
0
0
0
7
-4
-13
-39
0
0
-8
0
0
6
-97
10
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
5
-21
21
-17
0
0
0
0
0
3
-24
-5
57
0
0
0
0
0
-5
10
-12
-61
0
0
-4
0
0
-1
-7
35
-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
3
12
31
70
-47
0
0
0
0
1
44
-108
5
99
0
0
0
0
7
37
-1
45
0
0
42
0
0
-17
24
-22
47
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-38
-36
9
0
0
0
-7
-54
-11
132
-107
-29
0
0
-1
-9
58
7
14
16
-2
-157
0
0
5
-104
-98
7
-117
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
67
7
-83
0
0
0
0
0
4
63
12
-47
0
0
0
0
0
-3
-7
-18
13
0
0
0
0
0
0
-59
-22
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
30
19
-8
38
-54
0
0
0
0
0
0
8
-7
35
0
0
0
0
-9
-43
5
-16
4
0
0
0
0
0
0
4
-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
-84
105
-3
118
13
-12
0
0
0
0
-3
-7
3
57
-5
0
0
0
0
-41
33
-5
-17
21
0
0
0
0
-1
-8
-58
-56
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
71
45
76
10
34
-36
7
0
0
0
0
6
-70
1
-71
7
0
0
2
-15
-33
-5
110
45
-36
0
0
0
0
-55
-35
23
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
2
20
-12
18
0
0
0
22
0
11
-32
-59
65
0
0
0
0
-5
-1
4
13
-18
0
0
0
-51
0
0
-63
-12
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
-1
-41
25
-6
0
0
0
31
0
-9
17
5
-1
0
0
0
0
0
0
-14
23
-3
0
0
0
-6
0
1
-1
36
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
-4
0
0
-130
1
18
-71
-95
148
-8
0
0
0
3
0
9
6
43
-32
0
0
5
0
1
-2
-21
-5
-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
3
-4
0
-51
-9
-28
9
0
-30
0
6
24
-74
14
40
-9
0
0
-2
0
-4
-79
98
-16
-13
0
8
0
-11
-42
35
1
89
-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
23
-91
72
-70
8
0
0
0
0
0
5
-78
-45
78
0
0
0
0
-2
-18
20
-97
83
0
0
0
0
3
-7
48
-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
47
9
-9
-61
28
0
0
0
0
0
-7
-9
35
-65
0
0
0
0
-4
-1
-6
14
37
0
0
0
0
1
-20
6
97
-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
-38
69
60
-37
1
-13
0
0
0
-5
-18
14
16
-6
-8
0
0
0
0
-79
-28
-32
17
48
0
0
0
-3
45
10
0
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
-17
-82
-26
71
0
-51
17
0
0
-6
-1
39
-110
82
-37
-17
0
0
-5
-10
23
-99
22
21
55
0
0
1
2
-54
66
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
-23
-13
6
-28
15
0
0
0
12
-59
-64
-60
10
-11
0
0
0
0
0
-36
-26
-3
20
0
0
36
-69
-10
-7
80
-3
-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
21
-35
-28
42
36
0
0
0
-49
1
19
6
68
-29
0
0
0
0
2
19
-96
48
21
0
0
-67
-29
-1
41
-83
-53
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
51
-11
-10
0
0
-76
-39
-15
-26
18
44
12
0
0
0
-18
-10
-119
5
0
14
0
-40
102
8
-55
-56
-113
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
-63
-14
28
-66
12
-61
0
0
7
-5
3
15
-6
-38
-11
-28
0
0
-15
-41
-38
42
56
-57
29
11
-6
0
4
0
-92
2
-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
-59
34
-43
7
28
0
0
0
0
1
-10
106
-37
22
0
0
0
0
32
34
4
-30
15
0
0
0
0
4
2
49
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
9
23
-52
-10
31
0
0
0
0
0
-1
5
94
-19
0
0
0
0
-2
9
12
-106
79
0
0
0
0
0
-6
5
-30
-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
8
-15
11
-59
21
0
0
0
0
0
-7
-4
30
38
0
0
0
0
9
-7
26
19
2
0
0
0
0
0
5
-6
-79
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
-1
23
-7
36
3
0
0
0
0
0
-1
43
-28
16
0
0
0
0
0
-8
-22
-66
57
0
0
0
0
0
0
17
-26
-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
-48
24
-1
18
0
0
0
3
2
20
6
55
20
0
0
0
0
0
0
9
29
-17
0
0
0
2
0
0
-54
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
22
-44
-28
0
0
0
23
0
-2
2
-80
10
0
0
0
0
0
0
1
-12
14
0
0
0
2
0
0
-40
36
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
-4
16
-19
21
0
0
0
33
2
1
11
-15
12
0
0
0
0
0
0
-3
-3
13
0
0
0
0
0
4
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-44
0
0
0
26
0
-4
6
-8
-24
0
0
0
0
0
0
-5
-28
36
0
0
0
0
0
0
-11
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
-18
-10
3
-48
35
0
0
0
0
0
-5
-5
-133
39
0
0
0
0
22
22
39
-44
-25
0
0
0
0
0
4
-88
-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
3
13
2
88
-100
0
0
0
0
0
0
4
-103
31
0
0
0
0
0
1
-20
38
-37
0
0
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
2
-5
9
-21
21
0
0
0
0
0
0
1
-78
123
0
0
0
0
7
-8
-21
48
14
0
0
0
0
0
0
-5
-35
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
-5
-5
-52
1
32
0
0
0
0
0
0
-100
40
36
0
0
0
0
0
-8
6
-1
-62
0
0
0
0
0
0
2
-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
22
28
-18
24
0
0
0
0
0
7
-63
3
18
0
0
0
0
0
-6
27
-21
12
0
0
74
-2
-2
23
-9
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
1
24
-25
21
0
0
0
-1
0
0
-5
4
-112
0
0
0
0
0
0
-6
43
17
0
0
-12
0
0
5
32
44
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
12
0
0
0
0
0
0
31
-12
36
0
0
0
0
0
0
28
-14
30
0
0
-2
0
-1
4
-80
-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
-1
14
82
-104
0
0
0
9
0
-7
-86
-1
4
0
0
0
0
0
0
5
-61
-27
0
0
14
0
0
0
55
-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
24
109
-30
-97
-8
0
0
0
0
0
-5
21
7
2
0
0
0
0
0
1
-67
78
-25
0
0
0
0
0
3
110
-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
30
14
-34
21
0
0
0
0
0
-5
-3
67
-55
0
0
0
0
0
6
2
-45
99
0
0
0
0
0
6
6
-11
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
8
-44
61
-42
36
0
0
0
0
0
10
67
-63
-33
0
0
0
0
0
-4
21
-48
21
0
0
0
0
0
0
-27
-38
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
-25
9
42
-12
0
0
0
0
0
0
5
20
23
0
0
0
0
0
-5
9
51
-9
0
0
0
0
0
3
13
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
15
0
0
0
12
0
2
-14
16
1
0
0
0
0
0
0
-1
-69
1
0
0
0
0
0
1
-42
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
0
0
7
-47
94
0
0
0
6
0
5
0
7
-16
0
0
0
0
0
0
0
17
15
0
0
0
0
0
-4
10
-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
6
1
-23
-55
58
0
0
0
-33
0
0
-2
-40
32
0
0
0
0
0
0
-5
31
39
0
0
0
0
0
0
56
-2
-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
4
40
-43
-5
0
0
0
-20
0
0
23
3
41
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-18
-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
17
-3
-26
64
-56
0
0
0
0
0
0
-9
42
12
0
0
0
0
0
-1
4
-45
44
0
0
0
0
0
11
51
-41
-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
3
2
-25
6
50
0
0
0
0
0
2
0
7
38
0
0
0
0
0
-1
0
-36
11
0
0
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
-5
17
4
39
0
0
0
0
0
-4
-4
10
34
0
0
0
0
0
0
-6
8
-34
0
0
0
0
0
5
-4
47
-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
4
-4
4
67
0
0
0
0
0
-2
-8
-9
21
0
0
0
0
-5
1
-1
-5
12
0
0
0
0
0
0
14
-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
-2
4
50
-27
25
0
0
0
5
0
-44
-32
-46
18
0
0
0
0
0
21
-13
47
6
0
0
5
0
0
-20
52
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
54
45
0
0
0
0
0
10
-29
-16
37
0
0
0
0
0
-6
15
58
-22
0
0
0
0
0
6
-24
46
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
-3
8
-25
39
39
0
0
0
-2
0
44
-19
-38
11
0
0
0
0
0
53
14
-4
-80
0
0
-11
0
0
-45
93
-33
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
34
-60
0
0
0
0
0
12
-22
-63
11
0
0
0
0
0
6
-24
-3
1
0
0
0
0
0
-23
33
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
48
-73
-36
78
28
0
0
0
0
0
-15
-6
10
-13
0
0
0
0
3
28
-13
-130
69
0
0
0
0
0
18
-30
-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
-1
-12
109
-5
-16
0
0
0
0
0
1
6
41
-24
0
0
0
0
0
-5
7
54
38
0
0
0
0
0
-3
-22
99
-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
-6
47
-36
20
27
0
0
0
0
0
4
22
-49
-25
0
0
0
0
0
6
3
-58
2
0
0
0
0
0
0
3
-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
2
-36
-29
-46
116
0
0
0
0
0
0
-4
-7
39
0
0
0
0
0
0
4
8
47
0
0
0
0
0
-11
2
-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
4
33
19
17
0
0
0
37
0
13
8
17
-6
0
0
0
0
0
-3
-5
-31
72
0
0
0
12
0
-5
-7
-28
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
2
0
-38
65
0
0
0
11
0
-2
-5
0
-4
0
0
0
0
0
0
0
38
2
0
0
0
0
0
0
15
-89
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
-6
16
44
0
0
0
6
0
-4
3
-22
51
0
0
0
0
0
0
-7
-26
-12
0
0
0
0
0
0
-3
-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
4
-77
40
0
0
0
19
0
2
0
-32
-40
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
-19
-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
-3
-48
-35
32
3
0
0
0
0
0
1
-3
-15
6
0
0
0
0
-2
-11
29
-43
59
0
0
0
0
0
0
-10
-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
-1
3
4
23
-7
0
0
0
0
0
0
-2
-77
4
0
0
0
0
-1
-60
66
-88
18
0
0
0
0
0
0
17
-101
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
-2
-1
-1
40
18
0
0
0
0
0
-3
-13
27
-4
0
0
0
0
0
-2
0
-28
1
0
0
0
0
0
0
-7
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
-6
-22
66
0
0
0
0
0
0
-3
-37
57
0
0
0
0
-1
12
0
17
-95
0
0
0
0
0
0
1
72
-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
35
111
13
-30
0
0
0
-3
0
-1
-19
42
24
0
0
0
0
0
1
-15
-5
59
0
0
44
0
-4
-25
12
-23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
24
0
0
0
4
0
2
43
-41
15
0
0
0
0
0
3
-8
-47
-25
0
0
-46
-2
0
34
56
-33
-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
-11
21
42
-48
0
0
0
0
0
3
-36
-33
-24
0
0
0
0
0
-3
3
-29
17
0
0
-3
0
0
-16
-35
13
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
-22
48
26
0
0
0
0
0
-11
13
-122
131
0
0
0
0
0
-1
-1
-32
38
0
0
5
0
0
-4
-37
-78
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
25
22
-39
24
16
0
0
0
0
0
0
-10
-16
37
0
0
0
0
0
0
-11
72
9
0
0
0
0
0
0
-18
-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
-4
5
-1
65
-73
0
0
0
0
0
0
4
22
-27
0
0
0
0
0
-2
-5
-23
33
0
0
0
0
0
0
-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
2
-63
17
49
-10
0
0
0
0
0
0
-9
-8
50
0
0
0
0
0
0
-5
1
40
0
0
0
0
0
0
1
-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
7
-2
-6
53
-100
0
0
0
0
0
0
8
7
-5
0
0
0
0
0
0
-7
4
24
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
-4
-55
28
36
0
0
0
0
0
-5
-8
-32
-18
0
0
0
0
0
0
29
-69
21
0
0
0
0
0
3
-53
-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
9
-70
49
0
0
0
-2
0
5
-29
21
56
0
0
0
0
0
0
-1
-15
5
0
0
0
0
0
0
-19
-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
-3
0
-8
6
50
0
0
0
0
0
0
8
-44
43
0
0
0
0
0
0
3
-10
27
0
0
0
0
0
0
-4
45
-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
-2
6
-29
89
0
0
0
5
0
0
0
-33
36
0
0
0
0
0
0
0
-2
9
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
40
62
18
-94
-15
0
0
0
0
0
2
-4
-27
-14
0
0
0
0
-10
16
3
-57
32
0
0
0
0
0
0
86
-86
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-50
75
0
0
0
0
0
-1
1
-13
18
0
0
0
0
3
5
-13
13
25
0
0
0
0
0
0
0
-119
154
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
8
8
-56
0
0
0
0
0
0
9
15
-84
0
0
0
0
-5
-5
-11
18
-22
0
0
0
0
0
0
2
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
15
-4
7
-21
-13
0
0
0
0
0
0
0
-12
100
0
0
0
0
-13
10
2
3
1
0
0
0
0
0
-2
-27
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
-40
-36
62
-18
0
0
0
0
-7
0
-14
10
22
-1
0
0
0
0
1
-110
28
3
56
0
0
-9
6
-4
29
-49
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
1
-44
60
3
23
0
0
0
2
0
-38
16
-58
44
0
0
0
0
-4
71
-43
55
-51
0
0
0
0
1
47
-7
-93
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
-1
6
10
-42
-40
0
0
0
2
-1
-11
-69
57
-5
0
0
0
0
0
-32
97
-131
56
0
0
-19
0
1
6
70
-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
-15
59
-18
-3
-25
0
0
0
-9
0
-66
26
-41
-6
0
0
0
0
-3
14
-1
-16
29
0
0
21
0
0
-18
29
-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
0
0
0
0
0
0
0
0
8
20
114
-104
17
0
0
0
0
0
6
15
-57
42
0
0
0
0
-5
-1
-21
36
-56
0
0
0
0
-1
1
21
-68
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
56
-42
5
-24
0
0
0
0
0
1
13
-84
53
0
0
0
0
0
1
4
-30
10
0
0
0
0
0
-2
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
-5
46
-32
70
17
8
0
0
0
0
8
41
43
28
9
0
0
0
-11
34
-61
-24
37
5
0
0
0
0
-4
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
23
-6
-13
3
-13
-9
0
0
0
0
0
3
5
48
-15
0
0
0
0
3
-4
42
4
11
0
0
0
0
0
35
-94
-20
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
18
11
13
-56
0
0
0
29
-1
6
-29
-22
-24
0
0
0
0
0
0
-4
-52
30
0
0
0
0
0
0
17
88
-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
2
1
-56
35
0
0
0
5
0
2
10
-112
27
0
0
0
0
0
0
0
-13
-26
0
0
0
0
0
0
1
-68
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
-6
8
-63
-17
17
0
0
61
-1
0
-57
-39
29
9
0
0
0
0
0
12
80
-35
-21
0
0
0
0
0
-9
-51
-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
-3
2
-29
-11
6
0
0
-5
0
-2
8
-22
11
19
0
0
0
0
0
0
12
102
-75
0
0
-8
0
0
6
85
-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
2
12
-4
-88
85
0
0
0
0
0
0
-5
-24
80
0
0
0
0
0
-4
-13
58
-34
0
0
0
0
0
-8
2
-36
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
4
6
-2
9
25
0
0
0
0
0
0
1
-90
22
0
0
0
0
0
1
-8
-14
6
0
0
0
0
0
0
6
-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
5
-8
4
-36
10
12
0
0
0
0
0
0
-71
19
20
0
0
0
5
-21
-37
-46
21
7
0
0
0
0
0
2
26
-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
-13
-9
35
6
100
-61
0
0
0
0
0
-3
78
-29
-36
0
0
0
0
-10
1
45
-72
-19
0
0
0
0
0
-4
83
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
-29
3
18
55
0
0
0
0
0
0
3
16
-24
0
0
0
0
0
0
-41
-18
70
0
0
-20
9
2
23
-50
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
-6
8
23
33
0
0
0
0
0
0
15
19
-32
0
0
0
0
0
0
0
32
-42
0
0
3
0
0
0
20
-39
-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
0
0
0
0
0
0
0
0
0
-28
36
-23
-140
16
0
0
0
0
0
83
1
-18
-1
0
0
0
0
0
21
-136
43
-6
0
44
0
0
-11
65
-7
148
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-67
36
24
0
0
2
0
-2
-12
-9
35
-42
0
0
0
0
0
1
-60
-34
68
0
1
0
0
3
-70
43
48
-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
48
-4
-23
-6
11
0
0
0
0
0
-3
39
-113
16
0
0
0
0
-1
0
-23
-116
73
0
0
0
0
0
0
-25
43
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-56
62
0
0
0
0
0
0
-2
-71
65
0
0
0
0
0
0
0
40
-28
0
0
0
0
0
0
3
-37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
65
-13
0
0
0
0
-1
1
-108
-85
115
14
0
0
0
0
0
2
33
34
-11
0
0
0
0
-1
-10
-17
-46
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-19
81
-40
-10
0
0
0
0
0
0
-52
-70
-22
0
0
0
0
0
1
40
22
-174
0
0
0
0
0
-9
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
-1
0
-25
0
-20
0
0
0
-3
0
1
8
-19
-6
0
0
0
0
0
1
2
-30
-3
0
0
0
0
0
0
23
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-100
62
0
0
0
9
0
0
-1
8
-14
0
0
0
0
0
0
-5
3
11
0
0
0
0
0
0
-2
-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
2
11
51
-62
-34
-4
0
0
19
0
-6
74
-30
-116
5
0
0
0
0
0
4
-36
-51
46
0
0
0
0
0
-53
11
20
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
-6
-69
-8
6
0
0
6
0
8
1
-22
-76
4
0
0
0
0
0
0
0
2
-116
0
0
0
0
0
-1
-35
33
-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
2
-2
4
-89
0
0
0
0
0
0
0
1
19
11
0
0
0
0
0
6
1
-19
1
0
0
0
0
0
0
-12
-34
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
2
0
0
2
-69
0
0
0
0
0
0
-7
14
-9
0
0
0
0
0
2
0
-31
-25
0
0
0
0
0
0
7
16
-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
-11
11
-16
-22
233
-5
0
0
0
0
0
0
-65
3
4
0
0
0
-1
4
0
-46
-9
-11
0
0
0
0
-5
-3
2
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
3
1
28
-3
-1
-6
0
0
0
0
-4
-4
-5
-30
5
0
0
0
0
0
-1
-19
-4
59
0
0
0
0
0
-8
1
11
-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
-4
-7
13
14
31
0
0
0
-6
0
12
-26
-20
56
0
0
0
0
0
0
-3
-56
3
0
0
18
0
0
-39
-9
-51
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
5
17
73
-41
-30
0
0
0
4
0
-3
-12
10
48
0
0
0
0
0
-4
-10
36
-14
0
0
0
0
0
0
-28
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
-1
-3
60
72
35
-10
0
0
5
0
22
-16
-58
-4
-1
0
0
0
-1
-15
-44
1
-10
12
0
-1
0
-2
86
-75
-69
-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
20
11
15
16
-37
0
0
2
0
-1
46
-65
-25
58
0
0
0
2
3
38
-64
-25
-64
0
1
0
0
0
-40
45
-2
-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
-51
7
9
54
35
0
0
0
0
0
5
23
-87
68
0
0
0
0
-3
20
23
-76
-6
0
0
0
0
0
28
-9
-43
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
39
-17
0
0
0
0
0
0
4
-35
5
0
0
0
0
0
-3
3
42
-34
0
0
0
0
0
0
0
-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
41
13
-51
41
107
6
0
0
0
0
2
-17
13
-52
6
0
0
0
-5
16
58
24
-35
18
0
0
0
0
3
-12
-6
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
74
-75
89
-3
58
-10
9
0
0
0
-9
19
-20
58
-3
-6
0
0
-1
8
-47
-98
96
-2
-4
0
0
4
3
-44
59
14
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
4
24
-51
8
0
0
0
-7
1
5
27
-114
32
0
0
0
0
0
0
9
32
-80
0
0
0
-1
0
0
-76
-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
7
-9
0
0
0
-6
0
-4
-5
-7
-15
0
0
0
0
0
0
0
-13
46
0
0
0
0
0
0
2
-10
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
-15
-51
78
8
0
0
-14
0
-7
-37
-70
-42
35
0
0
0
0
1
0
12
-74
36
0
0
0
0
-3
31
-33
61
-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
26
42
9
-6
-8
0
-26
0
-13
25
-10
-14
-9
0
0
0
0
0
-13
-99
66
11
-19
0
1
0
5
-19
34
29
-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
-3
24
-22
14
-26
0
0
0
0
0
-2
-1
75
17
0
0
0
0
-13
5
-2
-15
54
0
0
0
0
0
-1
-5
-74
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
14
-42
0
0
0
0
0
0
1
-55
5
0
0
0
0
-2
1
0
-21
11
0
0
0
0
0
0
-2
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
5
-47
-58
28
6
0
0
0
0
0
0
-18
-6
-4
0
0
0
8
-9
8
-2
-17
-14
0
0
0
0
3
-12
-22
62
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
21
-46
-74
4
0
0
0
0
24
13
-28
17
-23
0
0
0
-1
18
-20
-24
-8
-7
0
0
0
1
2
40
-8
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
4
-62
70
-15
50
0
0
0
3
0
0
46
-52
13
0
0
0
0
0
-1
6
27
-40
0
0
31
0
-6
-27
9
-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
-7
20
10
31
0
0
0
0
0
0
11
25
28
0
0
0
0
0
0
-2
-59
-12
0
0
21
0
0
-10
-12
88
-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
12
11
-17
-9
-10
0
0
-6
0
0
42
-3
-40
21
0
0
0
0
0
6
-61
44
16
0
-58
0
-6
3
-35
-92
-8
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
-2
-7
-25
34
11
2
0
5
0
-2
-122
-17
40
2
4
0
0
0
-1
-12
-21
-89
-24
19
-25
-1
0
-11
2
-20
-29
-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
-7
-27
13
16
29
0
0
0
0
0
7
74
-64
-36
0
0
0
0
0
3
26
-85
79
0
0
0
0
0
0
-71
-22
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
3
-18
26
-20
-4
0
0
0
0
0
-18
-4
0
38
0
0
0
0
-1
0
-3
-11
48
0
0
0
0
0
1
-5
-25
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
11
-25
-17
57
-4
-6
0
0
0
0
8
-28
94
-33
-9
0
0
0
0
0
6
73
-48
-21
0
0
0
0
-2
31
-16
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
-19
-24
-23
-75
-27
2
42
0
0
-1
0
-18
1
28
-54
-23
0
0
-5
-4
-5
29
23
49
-69
0
0
0
0
11
-69
-16
-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
-3
-2
10
-26
6
0
0
0
15
2
-12
42
-30
-32
0
0
0
0
-2
9
-2
-80
74
0
0
0
-26
0
-11
-70
14
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
4
-14
-18
0
0
0
-50
0
2
-18
28
15
0
0
0
0
0
0
1
38
-27
0
0
0
0
0
0
-10
-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
-1
0
-21
56
-69
25
0
0
-26
0
-2
25
-47
100
-25
0
0
0
0
-2
1
-7
47
15
0
0
-1
0
0
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
-72
7
19
-4
0
92
0
-2
-2
-9
-58
74
-35
0
0
-1
0
-3
-77
1
-35
30
0
0
0
0
-11
-23
5
-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
-63
35
21
56
23
0
0
0
0
0
-5
-27
-59
51
0
0
0
0
3
-6
4
23
11
0
0
0
0
0
4
24
-94
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
-15
-3
-17
-2
69
0
0
0
0
0
-1
-1
36
-25
0
0
0
0
24
-26
-2
12
-21
0
0
0
0
0
1
-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
0
40
-14
-3
-98
23
9
0
0
0
1
-8
10
18
31
-23
0
0
0
1
-1
-7
28
22
-12
0
0
0
0
1
-17
-50
138
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
-114
9
-34
0
0
0
3
3
-5
-26
-49
6
0
0
-50
6
7
14
6
41
-6
0
0
0
-1
-7
-32
43
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-20
12
0
0
0
11
-30
-1
-37
9
-2
0
0
0
0
43
56
66
22
-16
0
0
2
31
-50
-56
17
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
14
-47
16
-10
12
0
0
0
81
5
32
-107
-31
30
0
0
0
0
20
70
-4
-35
9
0
0
50
-28
10
-57
-55
12
-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
-12
51
73
43
52
6
0
0
44
9
39
-19
7
23
-3
0
0
0
9
47
37
-33
52
-3
0
66
43
-12
-55
46
-47
-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
-45
9
-10
2
30
5
11
0
-51
16
-10
113
-31
16
30
-16
0
0
-13
-67
-44
11
4
-9
20
-122
20
22
-198
-44
-59
-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
-11
-17
1
-13
76
0
0
0
0
0
3
-12
40
22
0
0
0
0
1
-32
10
22
35
0
0
0
0
0
0
34
-1
-69
0
0
0
0
1
4
-6
-52
18
0
0
0
0
0
0
-16
36
-79
0
0
0
0
2
0
11
18
-14
0
0
0
0
-2
2
-24
-6
-4
0
0
0
0
-7
25
17
7
14
0
0
0
0
0
0
-6
-24
40
0
0
0
0
7
-18
-29
25
21
0
0
0
0
0
12
22
-12
-12
0
0
0
0
1
-9
-7
-5
7
0
0
0
0
0
4
-19
29
-40
0
0
0
0
15
24
-7
-67
70
0
0
0
0
-17
-32
66
-33
32
0
0
0
0
2
-17
24
-53
78
0
0
0
0
0
0
-4
9
-16
0
0
0
0
2
0
-10
3
-11
0
0
0
0
0
0
-19
-56
29
0
0
0
0
-17
-6
3
13
-8
0
0
0
0
-4
-3
45
5
-71
0
0
0
0
-1
3
-29
47
-8
0
0
0
0
25
-4
-17
1
-14
0
0
0
0
-10
29
20
-12
23
0
0
0
0
0
0
-1
57
-55
0
0
0
0
16
-4
24
-8
36
0
0
0
0
0
2
-31
6
25
0
0
0
0
4
40
-7
-51
59
0
0
0
0
4
-1
41
-93
80
0
0
0
0
-47
41
-18
-12
33
0
0
0
0
5
-49
12
-3
78
0
0
0
0
0
0
13
-17
-2
0
0
0
9
-1
16
6
-28
11
0
0
0
0
0
-5
19
-22
-35
0
0
0
2
0
1
37
6
16
0
0
0
0
3
1
22
15
-4
0
0
0
16
0
-3
-14
19
-30
0
0
0
0
0
0
1
-67
18
0
0
0
0
0
10
-11
-58
55
0
0
0
0
0
1
5
5
3
0
0
0
5
0
0
-20
-52
-21
0
0
0
0
0
0
0
8
18
0
0
0
20
0
-21
-14
-71
50
0
0
0
0
0
-2
-1
-45
-19
0
0
0
9
0
-2
-23
21
-6
0
0
0
0
0
-5
-4
10
-17
0
0
0
-15
0
29
-46
27
-44
0
0
0
0
0
-1
2
5
-1
0
0
0
24
0
-6
-18
-3
15
0
0
0
0
0
2
4
3
15
0
0
0
0
0
1
4
28
-17
0
0
0
0
0
0
5
-8
-57
0
0
0
-26
0
-3
-15
0
51
0
0
0
0
0
-1
0
-6
6
0
0
0
1
0
4
10
-61
98
0
0
0
0
0
0
0
1
5
0
0
0
-13
0
6
3
-54
44
0
0
0
0
0
0
10
24
11
0
0
0
2
0
-1
18
-14
-39
0
0
0
0
0
-2
-33
33
38
0
0
0
-6
0
0
-29
-4
21
0
0
0
0
1
3
1
4
-30
0
0
0
-2
3
-65
32
24
-20
0
0
0
0
-1
3
-10
27
26
0
0
0
0
0
2
4
5
-42
0
0
0
0
-2
-2
33
-12
42
0
0
0
0
0
6
25
30
-38
0
0
0
0
-1
-1
19
23
58
0
0
0
0
0
-2
11
-17
74
0
0
0
0
1
-3
9
-21
14
0
0
0
0
0
-19
-13
-5
27
0
0
0
0
0
40
-1
-18
-96
0
0
0
0
0
0
10
14
4
0
0
0
0
8
39
14
-27
-16
0
0
0
0
0
-3
16
26
24
0
0
0
0
-3
1
-1
0
23
0
0
0
0
0
-1
2
-8
-66
0
0
0
0
7
5
8
16
-59
0
0
0
0
-2
18
-13
-47
71
0
0
0
0
0
1
2
12
58
0
0
0
0
0
0
1
11
32
0
0
0
0
0
2
-62
-11
-1
0
0
0
0
0
4
-6
42
-10
0
0
0
0
0
4
-8
-2
22
0
0
0
0
0
0
-7
-12
-5
0
0
0
0
0
3
28
-8
3
0
0
0
0
-2
7
-2
-63
-8
0
0
0
0
0
10
14
-73
5
0
0
0
0
0
0
-6
-7
-24
0
0
0
0
4
4
-50
-15
32
0
0
0
0
0
-5
-17
-3
9
0
0
0
0
4
-18
10
-16
-39
0
0
0
0
1
3
8
1
8
0
0
0
0
-9
-12
-2
-17
3
0
0
0
0
-27
-72
11
-72
9
0
0
0
0
0
2
16
-34
26
0
0
0
3
0
5
-20
-5
40
0
0
0
0
0
-7
-6
45
-12
0
0
15
0
-1
13
0
-19
15
0
0
0
0
0
0
-25
2
49
0
0
0
0
0
0
-38
47
1
0
0
0
0
0
-3
4
7
28
0
0
2
0
1
-17
54
-8
-15
0
0
0
0
0
-9
12
8
-32
0
0
0
4
0
-4
44
26
48
0
0
0
0
0
4
10
-12
-33
0
0
-27
-3
-1
6
-11
53
16
0
0
0
0
0
0
10
2
-61
0
0
0
-3
0
-1
1
9
-1
0
0
0
0
0
0
2
3
-2
0
0
-2
3
2
43
-93
-51
7
0
0
0
0
0
-3
-16
5
-22
0
0
0
0
0
0
-3
-25
38
0
0
0
0
0
-3
-3
29
-8
0
0
11
0
4
-8
-2
-9
7
0
0
0
0
0
-5
-50
5
56
0
0
0
0
0
3
-6
-49
52
0
0
0
0
0
0
-2
11
4
0
0
35
0
5
-28
21
2
-1
0
0
0
0
0
0
5
-37
-7
0
0
0
0
0
0
5
-37
-28
0
0
0
0
0
0
-21
62
-1
0
0
22
0
1
-20
14
30
-39
0
0
0
0
0
5
-2
16
2
0
0
0
2
0
-1
-14
-33
2
0
0
0
0
0
5
-12
-23
2
0
0
-7
-35
-51
-55
58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-19
0
0
0
0
0
0
-12
44
35
0
0
0
0
-1
-2
-55
15
34
0
0
0
0
0
0
-12
0
2
0
0
0
0
1
3
-8
-12
0
0
0
0
0
1
0
-1
-17
18
0
0
0
0
-3
0
13
-6
17
0
0
0
0
0
-4
-16
-25
2
0
0
0
0
12
-1
-1
10
20
0
0
0
0
0
1
1
34
19
0
0
0
0
1
-5
38
-25
18
0
0
0
0
0
5
-27
3
33
0
0
0
0
0
-9
13
14
-40
0
0
0
0
0
-1
-13
34
44
0
0
0
0
13
15
7
26
-64
0
0
0
0
-7
-49
-33
39
-63
0
0
0
0
4
-12
-4
-45
14
0
0
0
0
0
0
-4
3
39
0
0
0
0
0
2
7
-27
23
0
0
0
0
0
0
-4
15
7
0
0
0
0
-1
-5
-6
-55
-15
0
0
0
0
0
1
2
13
-26
0
0
0
0
0
-1
-10
19
35
0
0
0
0
-7
7
-8
-2
-25
0
0
0
0
10
-35
11
11
8
0
0
0
0
0
0
4
-7
35
0
0
0
0
-6
1
-9
6
-1
0
0
0
0
0
1
11
17
49
0
0
0
0
2
3
29
10
-30
0
0
0
0
5
-2
6
2
-63
0
0
0
0
15
-4
-2
-38
15
0
0
0
0
27
8
25
-44
20
0
0
0
0
0
-1
0
-7
53
0
0
0
7
0
0
-2
4
3
0
0
0
0
0
0
4
-3
-13
0
0
0
1
0
1
4
7
-49
0
0
0
0
0
0
0
-38
11
0
0
0
-1
0
0
18
3
3
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
-2
-2
-16
-13
0
0
0
0
0
0
2
-8
32
0
0
0
0
0
-2
0
9
-16
0
0
0
0
0
0
3
8
-3
0
0
0
0
0
4
-22
18
-10
0
0
0
0
0
-1
-4
5
48
0
0
0
2
0
4
-7
2
55
0
0
0
0
0
-1
0
-25
4
0
0
0
3
0
-8
28
-48
9
0
0
0
0
0
1
1
-14
-7
0
0
0
-2
0
0
-2
-28
-8
0
0
0
0
0
0
-5
5
15
0
0
0
0
0
-4
5
-12
-22
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
-1
1
0
-31
0
0
0
0
0
0
5
-1
4
0
0
0
-1
0
2
-21
-25
-41
0
0
0
0
0
0
-2
-29
11
0
0
0
11
0
-1
0
8
41
0
0
0
0
0
0
0
-18
-22
0
0
0
-1
0
0
0
-70
44
0
0
0
0
0
2
1
13
22
0
0
0
8
0
-1
0
-54
58
0
0
0
0
0
0
2
1
17
0
0
0
-44
0
-18
-6
-29
24
0
0
0
0
1
-3
-1
19
15
0
0
0
0
0
0
0
-16
-3
0
0
0
0
-1
1
16
7
16
0
0
0
0
0
0
12
-44
24
0
0
0
0
0
-2
-1
0
9
0
0
0
0
0
0
3
1
-21
0
0
0
0
0
-1
3
2
-18
0
0
0
0
0
-2
-2
-16
10
0
0
0
0
-1
3
-13
-5
-20
0
0
0
0
0
0
-3
2
-4
0
0
0
0
1
22
15
-33
9
0
0
0
0
0
14
10
4
-44
0
0
0
0
0
1
1
0
5
0
0
0
0
0
-1
1
-3
9
0
0
0
0
5
11
2
22
39
0
0
0
0
8
-29
22
4
3
0
0
0
0
0
-2
1
16
24
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
-1
-4
-7
11
0
0
0
0
0
0
1
3
9
0
0
0
0
0
0
-1
-15
16
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
-9
16
4
0
0
0
0
0
2
7
-43
-11
0
0
0
0
-1
0
0
-13
-48
0
0
0
0
0
0
0
1
-6
0
0
0
0
-1
10
-6
31
14
0
0
0
0
0
2
10
-24
-14
0
0
0
0
0
0
1
-7
-4
0
0
0
0
0
0
1
-13
-8
0
0
0
0
15
-1
7
-3
-55
0
0
0
0
-3
-3
17
-71
-5
0
0
0
0
0
10
0
7
9
0
0
0
0
0
-1
-3
27
13
0
0
0
0
0
0
0
-29
-9
0
0
0
0
0
-3
-28
4
34
0
0
0
0
0
0
1
-16
-17
0
0
0
0
0
1
-11
-39
10
0
0
0
0
0
0
-3
-9
-4
0
0
0
0
0
-6
-18
-3
40
0
0
0
0
0
-5
-3
-4
-16
0
0
0
1
0
0
3
-26
-22
0
0
0
0
0
-1
9
-7
-22
0
0
5
0
0
7
-18
-38
-31
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
3
-4
-6
0
0
0
0
0
0
2
-35
7
0
0
1
2
-3
-17
-12
78
-35
0
0
0
0
0
-4
0
-2
1
0
0
0
0
0
0
1
-9
-8
0
0
0
0
0
-2
0
-2
-5
0
0
6
0
0
1
2
-25
13
0
0
0
0
0
0
4
-14
-11
0
0
0
0
0
0
1
17
-6
0
0
0
0
0
0
-9
5
20
0
0
-1
0
-1
-4
-12
17
14
0
0
0
0
0
0
-1
-9
39
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
-3
12
0
0
0
19
0
0
0
11
-38
57
0
0
0
0
0
1
0
-50
18
0
0
0
0
0
0
10
15
-44
0
0
0
0
0
2
7
7
12
0
0
-5
-7
0
-30
-41
70
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
12
32
0
0
0
0
0
0
-1
19
-8
0
0
0
0
0
5
2
22
-43
0
0
0
0
0
0
3
-10
-5
0
0
0
0
2
-9
28
-17
22
0
0
0
0
0
-5
11
-15
8
0
0
0
0
-1
-8
5
42
-24
0
0
0
0
1
5
44
-6
4
0
0
0
0
-1
-9
10
-23
-42
0
0
0
0
0
0
-2
8
7
0
0
0
0
4
-2
6
28
-1
0
0
0
0
0
1
-6
25
-3
0
0
0
0
-1
-5
5
-3
-4
0
0
0
0
0
-4
-4
-9
43
0
0
0
0
3
-20
8
-49
69
0
0
0
0
-8
21
-1
2
-21
0
0
0
0
27
9
6
3
61
-9
0
0
0
0
1
34
-5
-15
10
0
0
0
0
6
47
-22
71
-33
0
0
0
0
2
13
-5
4
3
0
0
0
10
25
21
19
-12
-21
0
0
0
2
-20
-7
-7
-3
-5
0
0
0
-7
2
-12
-36
30
48
0
0
0
20
2
-19
33
-25
-3
0
0
0
14
23
16
-17
-18
146
0
0
0
0
-2
4
-9
37
-46
0
0
0
-20
4
55
-43
11
11
0
0
0
-1
8
-5
-60
-26
71
0
0
0
-4
-24
8
10
6
35
0
0
0
0
-6
15
-7
44
-1
0
0
0
-47
27
36
32
0
6
0
0
0
-20
-14
8
-48
12
5
0
0
0
0
1
4
-13
1
0
0
0
51
0
0
-2
-33
-35
0
0
0
0
0
0
5
10
-41
0
0
0
0
0
4
0
-13
44
0
0
0
0
0
9
-2
-17
-14
0
0
0
4
0
0
14
-20
-1
0
0
0
0
0
-1
0
-7
33
0
0
0
0
0
-5
-10
1
7
0
0
0
0
0
7
6
6
-9
0
0
0
0
0
-1
0
-8
2
0
0
0
0
0
1
-4
-14
24
0
0
0
0
0
0
9
-59
7
0
0
0
0
0
-1
1
-5
-36
0
0
0
5
0
5
-10
-39
-18
0
0
0
0
0
1
-2
-23
-20
0
0
0
16
0
9
19
-11
6
0
0
0
0
0
-1
12
16
-23
28
0
0
0
0
0
-1
-16
10
-23
0
0
0
0
1
0
-22
-39
72
0
0
0
0
-1
17
7
-10
-8
0
0
0
0
0
-1
43
46
-59
0
0
-10
0
-6
-12
52
41
30
0
0
0
0
0
0
-26
22
-89
0
0
0
2
-1
-42
13
-8
-20
0
0
0
0
0
2
-50
45
8
0
0
16
0
2
-14
16
14
61
0
0
0
0
0
1
15
23
-57
0
0
-3
0
-4
11
-22
48
26
0
0
0
0
-1
-9
8
-56
-20
0
0
-2
0
-1
-26
-8
44
31
0
0
0
2
-26
-8
33
18
4
0
0
15
-3
11
0
83
-30
-21
0
0
0
0
-1
-13
-11
15
0
0
0
0
0
0
0
-18
6
0
0
0
0
8
-2
-11
-3
-16
0
0
0
0
0
1
-5
15
-5
0
0
0
0
0
3
-8
-24
7
0
0
0
0
0
1
0
2
3
0
0
0
0
1
0
-3
29
-3
0
0
0
0
0
1
24
5
-4
0
0
0
0
0
1
-9
10
-4
0
0
0
0
0
0
1
-15
2
0
0
0
0
-2
-6
1
-8
-10
0
0
0
0
0
-8
0
-25
1
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
-4
17
4
-4
0
0
0
0
1
-10
-7
10
-24
0
0
0
0
2
1
-15
6
-2
-5
0
0
0
0
0
-6
-4
-18
42
0
0
0
-2
-2
13
-31
-54
105
0
0
0
0
-1
10
-5
-22
-17
0
0
0
0
0
-8
2
-8
-24
0
0
0
0
0
-2
-13
2
-60
0
0
0
-6
-1
4
-9
-5
-4
0
0
0
9
14
-14
-18
25
-13
0
0
0
-4
-1
7
1
17
-62
0
0
0
0
-1
0
-16
5
6
0
0
0
2
-3
-7
12
28
8
0
0
0
0
1
-7
-11
5
-47
0
0
0
0
0
-4
3
0
-66
0
0
0
0
0
1
-34
-17
-31
0
0
0
1
12
-10
-14
-13
-1
0
0
0
12
-15
-34
-8
37
9
0
0
0
0
-1
13
-12
-18
0
0
0
0
0
-2
-6
-23
19
0
0
0
0
0
1
2
15
-3
0
0
-3
1
0
-17
-40
-2
15
0
0
0
0
0
1
1
11
6
0
0
0
0
0
3
-16
-24
-4
0
0
0
0
0
-1
0
-1
2
0
0
-1
0
0
49
-23
-23
9
0
0
0
0
0
2
1
-17
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
1
2
8
23
0
0
0
0
0
16
5
11
-1
0
0
0
0
0
0
-6
0
20
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-1
-1
7
7
0
0
0
0
0
-5
19
12
-5
0
0
0
0
0
1
8
-50
-28
46
0
0
0
0
0
-16
21
-65
21
0
0
0
0
-1
0
59
6
-24
0
17
0
0
4
-15
-39
-17
-1
0
0
0
0
-2
-4
8
26
9
0
0
0
0
-1
36
5
6
-134
0
0
0
0
0
8
-37
-1
131
0
3
0
0
31
28
-16
-16
-13
0
0
0
0
0
-2
16
45
-108
0
0
0
0
0
16
7
-3
8
0
0
0
0
0
4
-7
19
41
0
22
0
3
9
-10
-11
8
-18
0
0
0
0
0
7
-3
-29
-41
0
0
-2
0
0
3
-7
-23
-93
0
0
0
0
-3
32
-38
10
3
0
-35
-5
-1
-36
-32
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
17
0
0
0
0
0
0
-2
19
-33
0
0
0
0
3
-2
16
-1
-2
0
0
0
0
0
0
-3
5
-5
0
0
0
0
1
-7
-18
-5
1
0
0
0
0
0
0
-11
5
16
0
0
0
0
-1
-2
24
-1
-1
0
0
0
0
0
-10
-12
33
-2
0
0
0
0
0
3
-11
-1
2
0
0
0
0
0
2
0
-14
34
0
0
0
0
-1
-3
-3
17
77
0
0
0
0
0
0
-9
-7
-33
0
0
0
0
1
-4
0
3
27
0
0
0
0
-2
3
2
1
6
0
0
0
0
-1
-3
-8
-2
27
0
0
0
0
4
-9
-2
12
60
0
0
0
0
4
9
28
-27
-33
40
0
0
0
0
0
-8
-12
29
58
0
0
0
-2
3
5
9
-13
-64
0
0
0
0
0
-3
6
22
-48
0
0
0
1
-15
-1
39
-18
23
0
0
0
-1
-2
-6
-6
62
-14
0
0
0
0
1
4
3
11
-74
0
0
0
-10
6
25
18
21
-2
0
0
0
8
29
12
19
-45
-27
3
0
0
0
-7
18
44
5
-53
-15
0
0
5
14
57
-41
-106
5
-13
0
0
1
8
3
-18
12
-7
10
0
0
-42
-22
-19
-11
68
-16
48
0
0
-2
-3
8
25
-5
16
50
0
0
41
13
5
-37
-12
-1
12
0
0
-12
-26
47
-63
-71
60
17
0
0
0
0
1
27
35
0
0
0
2
0
1
7
-29
-38
0
0
0
0
0
0
8
-28
-9
0
0
0
1
0
-1
6
-11
1
0
0
0
0
0
0
3
-1
40
0
0
0
0
0
0
4
-20
41
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
-1
22
9
0
0
0
0
0
0
4
5
24
0
0
0
-4
0
-2
-1
-7
4
0
0
0
0
0
0
4
16
-44
0
0
0
1
0
-4
18
-9
12
0
0
0
0
0
4
0
-9
-4
0
0
0
1
0
0
0
12
1
0
0
0
0
0
0
0
1
-1
0
0
0
-1
0
4
-9
-31
-48
0
0
0
0
0
0
0
11
-42
2
0
0
-5
0
2
14
-49
6
-88
0
0
0
0
0
1
-11
11
-9
0
0
0
0
0
-36
24
10
-12
0
0
0
0
-1
-7
-9
7
35
0
0
-2
0
-1
21
-28
13
-31
0
0
0
0
1
0
2
9
-57
0
0
0
0
1
34
11
27
-40
0
0
0
0
-4
41
51
33
-52
35
0
-13
0
-7
-23
9
62
67
-9
0
0
0
0
-18
-7
-16
42
-42
0
2
0
-1
-79
-21
32
-35
9
0
0
3
2
-4
18
46
-39
-33
0
36
0
3
-35
-63
5
2
66
0
0
-2
-1
7
-40
-33
-71
113
0
-37
-1
-5
2
-111
-15
82
19
0
0
0
0
0
3
-11
0
0
0
0
0
0
-3
-19
47
0
0
0
0
0
0
4
-28
22
0
0
0
0
0
1
2
-14
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
-1
-3
-13
0
0
0
0
0
0
-1
-9
7
-2
0
0
0
0
0
0
0
-24
-10
0
0
0
0
0
0
0
-7
2
0
0
0
0
-2
-4
4
50
19
0
0
0
0
0
0
3
5
11
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
-1
0
-5
0
0
0
0
0
-4
0
-4
-10
-4
0
0
0
0
-1
-4
18
-34
14
0
0
0
0
0
0
3
2
21
-6
0
0
0
0
0
0
-2
74
-3
0
0
0
0
-2
2
16
-20
-41
0
0
0
0
-1
1
-27
6
-39
0
0
0
0
0
-16
2
16
-8
0
0
0
0
-1
5
1
-3
-21
0
0
0
0
0
1
9
-4
31
0
0
0
0
0
0
-23
2
-41
0
0
0
-4
-1
-21
18
19
-120
30
0
0
0
0
0
-40
43
0
-33
0
0
6
13
38
-101
34
-2
-7
0
0
1
2
-20
-4
-46
53
81
0
0
-1
1
0
-6
22
20
11
0
0
0
-4
-1
20
-26
38
-24
0
0
-29
-4
0
55
20
41
-76
0
0
-18
-19
-11
27
31
-54
9
0
0
0
0
1
1
-2
0
0
0
0
0
0
-3
-14
37
0
0
0
0
0
0
-14
-27
-22
0
0
3
0
0
2
6
13
18
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
-5
-2
-1
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
-3
-33
-10
-1
0
0
0
0
0
-3
4
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
-7
8
0
0
-5
1
0
26
-24
-15
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
1
0
0
0
0
-5
0
-3
-1
-21
12
0
0
0
0
0
1
-1
-18
15
27
0
0
0
0
0
-9
8
-15
-7
0
0
0
0
0
4
6
-9
-1
0
7
0
0
-2
8
8
-12
30
0
0
0
0
0
2
1
-4
-4
0
0
0
0
-1
4
-2
1
57
0
0
0
0
0
0
2
2
-30
0
-6
0
0
7
25
16
-6
-36
0
0
0
0
3
-7
-18
46
-59
-8
0
0
0
-1
-3
48
-4
-32
-7
0
0
0
0
0
-40
-43
45
21
-20
0
-2
-15
20
1
24
-105
-1
0
0
0
-5
1
-5
22
71
-52
0
0
0
-3
15
-1
-70
-2
15
0
0
-1
2
-2
-20
6
10
18
-34
8
2
1
-11
-22
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
51
0
0
0
0
0
0
-6
17
-22
0
0
0
0
2
0
5
4
6
0
0
0
0
0
4
0
8
-86
0
0
0
0
4
7
-5
-20
19
0
0
0
0
0
-3
-22
-2
51
0
0
0
0
0
0
11
-1
-7
0
0
0
0
0
3
14
-27
74
0
0
0
0
1
-7
6
-17
-1
0
0
0
0
0
1
1
-31
-51
0
0
0
0
6
5
20
-41
6
0
0
0
0
0
-2
-34
-22
13
0
0
0
0
0
3
1
-1
-57
0
0
0
0
0
0
-3
9
-23
0
0
0
0
-3
-1
-7
0
2
0
0
0
0
7
-22
33
9
56
0
0
0
0
8
-12
17
-10
26
0
0
0
0
0
0
12
2
-52
0
0
0
0
0
3
13
-2
13
0
0
0
0
0
-2
-6
1
24
0
0
0
0
-5
-2
-9
34
7
0
0
0
0
0
-1
27
12
-12
0
0
0
0
1
0
14
-13
16
0
0
0
0
3
4
11
20
14
0
0
0
0
4
4
-4
-12
1
0
0
0
0
0
1
2
3
19
0
0
0
0
-4
20
2
10
-17
0
0
0
0
-3
3
-9
11
9
0
0
0
0
1
9
0
-39
74
0
0
0
0
1
-6
24
-6
24
0
0
0
0
-6
-7
-3
-23
0
0
0
0
0
0
0
11
40
44
0
0
0
0
0
0
1
-17
-34
0
0
0
8
0
-2
0
3
-21
0
0
0
0
0
-2
3
8
-19
0
0
0
0
0
-8
-2
-20
-29
0
0
0
0
0
0
1
-13
32
0
0
0
-2
0
3
-9
-6
33
0
0
0
0
0
0
0
-13
34
0
0
0
0
0
-4
-17
-17
-3
0
0
0
0
0
-1
-15
12
0
0
0
0
0
0
2
1
10
-38
0
0
0
0
0
1
-2
33
41
0
0
0
1
0
2
12
-14
2
0
0
0
0
0
0
0
-2
17
0
0
0
1
0
-2
1
-11
10
0
0
0
0
0
-1
0
-18
34
0
0
0
2
0
11
-10
18
25
0
0
0
0
0
0
-3
-39
59
0
0
0
4
0
0
0
19
-2
0
0
0
0
0
-2
0
17
68
0
0
0
0
0
1
0
-28
-11
0
0
0
0
0
0
2
-17
71
0
0
0
-7
0
0
-3
-11
27
0
0
0
0
0
0
2
5
-20
0
0
0
0
0
-2
34
-34
3
0
0
0
0
0
0
-7
-13
-48
0
0
0
-5
0
3
-2
-1
22
0
0
0
0
0
-3
2
-28
37
0
0
0
0
0
-1
2
6
10
0
0
0
0
0
-1
-9
19
5
0
0
0
0
0
0
9
-33
47
0
0
0
0
0
-2
0
9
6
0
0
0
-2
3
-15
-5
27
53
0
0
0
0
0
0
-3
13
-17
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
4
11
-34
0
0
0
0
0
-1
3
-18
35
0
0
0
0
0
0
2
11
35
0
0
0
0
0
0
6
14
-12
0
0
0
0
0
0
2
-27
23
0
0
0
0
0
-13
1
40
56
0
0
0
0
0
2
0
4
-41
0
0
0
0
0
0
2
2
8
0
0
0
0
-1
3
0
-17
42
0
0
0
0
0
0
4
18
88
0
0
0
0
0
2
3
2
7
0
0
0
0
0
0
-1
-8
-21
0
0
0
0
0
0
-5
7
-31
0
0
0
0
0
-4
5
-18
-13
0
0
0
0
0
0
3
10
16
0
0
0
0
0
0
-1
11
4
0
0
0
0
0
0
-1
20
23
0
0
0
0
0
3
-5
21
0
0
0
0
0
0
0
-2
-48
14
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
11
18
0
0
0
0
-1
0
-11
40
-9
0
0
0
0
0
0
0
-27
-23
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
1
8
-11
0
0
0
0
0
0
-14
-67
3
0
0
0
0
-1
-10
7
-7
14
0
0
0
0
0
-3
-1
-17
-40
0
0
0
0
-1
3
10
29
15
0
0
0
0
-3
-26
17
-19
-19
0
0
0
0
0
0
13
-55
5
0
0
0
0
0
0
1
22
60
0
0
0
0
0
0
21
-26
-82
0
0
3
0
0
0
-9
57
-9
0
0
0
0
0
0
-16
7
5
0
0
0
0
0
2
4
34
1
0
0
0
0
0
0
-2
-8
-8
0
0
0
0
0
-4
33
6
-32
0
0
0
0
0
-3
37
4
8
0
0
0
0
0
0
16
-12
16
0
0
0
0
0
-4
11
12
41
0
0
-5
0
0
2
-15
10
14
0
0
0
0
0
-2
-3
-6
-5
0
0
0
0
0
0
14
35
-1
0
0
0
0
0
0
1
-14
-8
0
0
-4
0
0
0
10
4
31
0
0
0
0
0
0
-21
13
4
0
0
0
0
0
0
1
17
5
0
0
0
0
0
0
-12
1
-18
0
0
18
0
0
0
5
26
-17
0
0
0
0
0
0
6
-57
54
0
0
0
0
0
0
1
-9
37
0
0
0
0
0
0
3
-9
-31
0
0
4
0
0
-1
-2
-67
24
0
0
0
0
0
0
7
-50
50
0
0
0
0
0
0
-9
21
11
0
0
0
0
0
0
-10
15
-11
0
0
21
0
0
0
9
25
-19
0
0
0
0
0
0
4
34
-26
0
0
0
0
0
0
10
-44
8
0
0
0
0
0
5
-14
4
26
0
0
-9
0
-1
-16
54
57
-108
0
0
0
0
0
-5
-10
6
28
0
0
0
0
0
-2
-1
-13
50
0
0
0
0
0
0
11
-60
-24
0
0
0
0
0
-4
26
-11
8
0
0
0
0
0
5
3
-2
18
0
0
0
0
0
2
1
2
-43
0
0
0
0
0
0
3
3
-1
0
0
0
0
0
0
9
-13
12
0
0
0
0
0
1
-1
-1
8
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
6
7
9
0
0
0
0
0
1
-15
-13
33
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
17
0
0
0
0
-3
1
-7
1
-1
0
0
0
0
0
2
-28
-3
12
0
0
0
0
0
0
12
-9
-3
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
-9
-14
-7
0
0
0
0
0
0
4
6
5
0
0
0
0
0
3
-2
2
-14
0
0
0
0
0
-4
1
0
10
0
0
0
0
0
-1
0
-1
-8
0
0
0
0
0
-1
-6
-2
4
0
0
0
0
-1
-1
-2
7
-13
0
0
0
0
0
0
1
-33
-20
0
0
0
0
0
-2
12
-32
59
0
0
0
0
0
-1
10
-10
-56
0
0
0
0
0
0
0
14
27
0
0
0
0
1
0
2
-1
-4
0
0
0
0
-4
-1
17
-3
28
0
0
0
0
6
-29
24
-25
-28
0
0
0
0
0
0
2
-25
39
0
0
0
0
0
0
0
10
15
0
0
0
0
0
0
-2
0
28
0
0
0
0
0
0
7
34
-42
0
0
0
0
0
0
5
0
18
0
0
0
0
0
0
7
-1
-13
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
1
-10
-42
-9
0
0
0
0
0
0
-4
-3
-21
0
0
0
0
0
0
-2
7
-5
0
0
0
0
0
0
4
10
-11
0
0
0
0
0
0
9
23
3
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
-1
13
0
0
0
0
0
0
-12
-4
-7
0
0
0
0
0
0
-1
16
19
0
0
0
0
0
0
-1
-2
-3
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
-3
3
-7
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-1
3
9
5
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
1
-6
-7
0
0
0
0
0
-3
1
-26
20
0
0
0
0
0
-2
1
17
25
0
0
0
0
0
0
-9
1
-24
0
0
0
1
0
0
1
4
3
0
0
0
0
-2
0
-20
1
5
0
0
0
1
2
-4
-17
-67
41
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
-23
-25
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
5
39
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
1
-19
0
0
0
0
0
0
-3
0
-11
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
15
6
0
0
0
0
0
-1
4
-4
-28
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-5
2
-8
0
0
0
0
0
-1
1
0
2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
1
-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
4
25
0
0
0
0
0
-2
0
1
-13
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
-1
5
53
0
0
0
0
0
0
5
-3
-1
-3
0
0
0
0
0
-2
1
-1
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-34
-4
-44
-24
0
0
0
0
0
2
5
-50
11
0
0
0
0
0
3
-11
18
-12
0
0
0
0
0
-3
-14
42
26
0
0
0
0
0
6
-45
37
7
0
0
0
0
0
-3
-7
2
15
0
0
0
0
0
0
14
10
-12
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
-9
-4
-45
-10
0
0
0
0
0
1
-9
12
31
0
0
0
0
0
0
2
12
2
0
0
0
0
0
18
0
-7
-53
0
0
0
0
0
4
-7
-13
-4
0
0
0
0
0
1
0
-6
-11
0
0
0
0
0
5
-13
0
39
0
0
0
0
0
-1
-8
-5
-26
0
0
0
0
0
9
-18
14
-63
0
0
0
0
0
-1
4
8
5
0
0
0
0
0
0
-1
-20
-15
0
0
0
0
0
-3
4
8
6
0
0
1
0
0
-5
-1
-6
2
0
0
0
0
0
-2
-1
3
-8
0
0
0
0
0
0
7
-17
10
0
0
0
0
0
1
0
18
3
0
0
0
0
0
-14
3
-3
-9
0
0
0
0
0
2
-6
12
-10
0
0
0
0
0
3
16
18
12
0
0
0
0
0
2
-1
4
8
0
0
-2
0
0
-5
8
-3
-9
0
0
0
0
0
-11
27
-7
-6
0
0
0
0
0
0
14
2
4
0
0
0
0
0
14
34
-37
-6
0
0
0
0
1
-5
6
-92
60
0
0
0
0
2
-3
-2
0
-24
0
0
0
0
0
0
-1
-5
-25
0
0
0
0
0
0
5
27
32
0
0
0
0
0
2
-7
8
-12
0
0
0
0
0
2
-1
-3
-4
0
0
0
0
0
0
-3
-19
-8
0
0
0
0
0
0
-6
6
14
0
0
0
0
0
2
6
-26
1
0
0
0
0
-1
-3
-1
15
22
0
0
0
0
0
0
-1
4
43
0
0
0
0
0
1
-20
-9
44
0
0
0
0
0
2
6
-16
48
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
-2
-3
52
0
0
0
0
1
8
3
1
-21
0
0
0
0
-1
-5
-7
-9
-11
0
0
0
0
1
-1
-1
12
1
0
0
0
0
0
0
-4
18
1
0
0
0
0
0
0
7
1
-6
0
0
0
0
0
-3
5
29
1
0
0
0
0
0
0
-2
8
27
0
0
0
0
0
0
-1
10
-20
0
0
0
0
0
0
3
2
34
0
0
0
0
0
8
15
-3
9
0
0
0
0
-4
7
0
-11
-18
0
0
0
0
0
0
2
21
17
0
0
0
0
0
-1
-3
22
0
0
0
0
0
0
-4
-13
-14
16
0
0
0
0
0
5
0
1
-30
0
0
0
0
0
-5
-2
-25
25
0
0
0
0
9
-9
0
32
37
0
0
0
0
-16
-54
10
-19
10
0
0
0
0
0
0
-4
-4
-15
0
0
0
-3
0
3
0
19
-28
0
0
0
0
0
0
4
-3
10
0
0
0
3
0
0
5
-8
-30
0
0
0
0
0
0
6
-17
-23
0
0
0
3
0
0
-1
-10
-11
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
3
7
10
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
6
25
0
0
0
0
0
2
2
2
-20
0
0
0
0
0
1
-16
-9
-13
0
0
0
0
0
0
0
-4
-14
0
0
0
-2
0
0
0
1
-9
0
0
0
0
0
-2
1
-7
10
0
0
0
0
0
-1
3
-35
24
0
0
0
0
0
0
4
9
4
0
0
0
2
0
1
-5
-22
7
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
-1
4
-14
0
0
0
0
0
0
0
2
15
25
0
0
0
0
0
0
1
5
-11
0
0
0
0
0
0
-1
8
-2
0
0
0
0
0
0
1
-2
10
0
0
0
0
0
0
-3
-3
10
0
0
0
0
0
1
1
-28
-27
0
0
0
0
0
-1
2
-28
25
0
0
0
0
0
1
-3
7
-9
0
0
0
0
0
-2
-3
4
65
0
0
0
19
0
0
0
6
1
0
0
0
0
0
-7
1
-22
-12
0
0
0
-1
0
2
-16
-26
-50
0
0
0
0
1
4
0
-5
7
0
0
0
0
0
0
0
-7
-37
0
0
0
0
0
-1
1
-9
37
0
0
0
0
0
0
17
-62
27
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
-1
0
-4
3
0
0
0
0
0
2
-21
15
19
0
0
0
0
0
-1
-1
10
24
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
5
-2
-4
0
0
0
0
0
0
1
-3
-14
0
0
0
0
0
0
1
-19
-5
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
0
13
16
0
0
0
0
0
0
-3
0
-35
0
0
0
0
0
0
-4
-2
4
0
0
0
0
0
2
-4
2
2
0
0
0
0
0
-2
0
1
3
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
-1
0
-7
-4
0
0
0
0
0
1
15
-7
2
0
0
0
0
1
0
0
-3
7
0
0
0
0
0
0
2
-28
-37
0
0
0
0
-5
1
2
8
5
0
0
0
0
-2
-29
-47
53
-31
0
0
0
0
0
2
11
26
3
0
0
0
0
0
0
-8
5
24
0
0
0
0
0
0
3
-25
18
0
0
1
0
0
-1
-16
-1
-22
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
11
-33
0
0
0
0
0
0
-1
12
-8
0
0
0
0
0
4
-9
3
7
0
0
0
0
0
0
14
-18
-12
0
0
0
0
0
-2
0
-15
-13
0
0
0
0
0
0
17
-51
16
0
0
1
0
0
0
7
21
-26
0
0
0
0
0
0
1
0
12
0
0
0
0
0
0
2
-17
-1
0
0
0
0
0
-4
16
-5
-3
0
0
1
0
0
-2
0
-21
-7
0
0
0
0
0
0
-3
4
-2
0
0
0
0
0
0
3
-20
-10
0
0
0
0
0
0
-2
18
1
0
0
1
0
0
0
2
-8
0
0
0
0
0
0
-3
-13
19
-4
0
0
0
0
0
0
-4
-3
3
0
0
0
0
0
0
-1
3
1
0
0
1
0
0
2
8
-21
-1
0
0
0
0
0
0
-1
21
32
0
0
0
0
0
0
0
-12
12
0
0
0
0
0
0
6
-32
-40
0
0
4
0
0
0
-26
11
2
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-4
-29
-12
0
0
0
0
0
0
-3
-10
-21
0
0
8
0
3
-15
-19
-50
67
0
0
0
0
0
1
0
4
8
0
0
0
0
0
0
0
-28
58
0
0
0
0
0
0
3
-11
-39
0
0
0
0
0
0
8
-13
22
0
0
0
0
0
0
-2
1
25
0
0
0
0
0
0
1
-2
-9
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-4
-1
-21
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-2
39
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
3
0
8
0
0
0
0
2
2
0
-4
9
0
0
0
0
0
1
12
-2
15
0
0
0
0
0
-1
1
2
10
0
0
0
0
0
0
1
-18
7
0
0
0
0
0
0
1
-1
-13
0
0
0
0
0
0
5
3
24
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
1
0
8
2
0
0
0
0
1
1
16
4
-32
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
2
-5
5
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
4
-4
2
0
0
0
0
0
2
5
4
-26
0
0
0
0
0
-4
4
-5
38
0
0
0
0
-1
0
0
1
-1
0
0
0
0
2
-13
27
-13
37
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
-8
-14
0
0
0
0
0
0
3
5
20
0
0
0
0
0
0
-4
-9
14
0
0
0
0
0
0
1
2
3
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
0
5
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
-2
-6
14
0
0
0
0
0
0
-1
-3
-41
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
-3
0
0
0
0
0
0
-5
0
-12
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
1
-4
45
0
0
0
0
0
0
-2
1
22
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
1
11
7
0
0
0
0
0
0
1
-6
18
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-1
3
-23
0
0
0
0
0
0
1
-1
-12
0
0
0
0
0
0
0
1
-2
0
0
0
1
0
-2
1
1
-4
0
0
0
0
0
0
1
-7
-37
0
0
0
1
3
-22
14
28
6
0
0
0
0
-1
1
0
16
7
0
0
0
0
0
2
0
28
33
0
0
0
0
0
0
-1
6
-14
0
0
0
0
0
2
33
2
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
-15
-2
-2
0
0
0
0
0
-3
0
0
26
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
1
2
7
0
0
0
0
0
0
-2
3
22
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
-1
-1
-1
8
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
-1
-3
20
0
0
0
0
0
0
3
-5
-7
0
0
0
0
0
-2
2
10
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-6
-2
-12
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-1
1
-1
-9
0
0
0
0
0
0
-1
0
26
0
0
0
0
0
-7
0
2
-18
0
0
0
0
5
0
0
-12
-6
0
0
0
0
0
0
-1
-5
5
0
0
0
0
-3
3
-1
3
-2
0
0
0
0
0
-1
0
8
-1
0
0
0
0
-2
0
0
2
-5
0
0
0
0
5
13
-1
-6
-6
0
0
0
0
0
4
-2
11
30
0
0
0
0
0
0
-3
37
35
0
0
0
0
0
0
-15
-26
0
0
0
0
0
0
2
-37
-3
45
0
0
0
0
0
-1
-9
-1
-17
0
0
0
0
0
0
-18
9
-7
0
0
0
0
0
-1
-2
-9
2
0
0
0
0
0
-10
-17
-1
20
0
0
0
0
0
1
-6
8
-34
0
0
0
0
0
-1
8
0
-10
0
0
0
0
0
1
-1
10
-50
0
0
0
0
0
-3
8
25
-14
0
0
0
0
0
-3
0
1
19
0
0
0
0
0
-2
-2
-1
-17
0
0
0
0
2
-10
-1
0
-1
0
0
0
0
1
1
21
-17
-14
0
0
0
0
3
1
0
-10
24
0
0
0
0
0
0
-5
17
12
0
0
0
0
0
6
4
-17
-70
0
0
0
0
0
0
-1
64
10
0
0
0
0
0
-4
8
11
-22
0
0
0
0
0
2
25
-14
-14
0
0
0
0
0
0
-4
6
-3
0
0
0
0
0
-12
11
-6
31
0
0
0
0
0
4
-5
-14
17
0
0
0
-2
0
0
8
-21
14
0
0
0
0
0
5
-27
-19
-27
0
0
5
0
0
4
3
-32
21
0
0
0
0
0
-5
-1
4
56
0
0
0
0
0
2
-15
-29
27
0
0
0
0
0
1
-3
2
-28
0
0
0
-1
-13
-25
26
-75
61
0
0
0
0
-7
-1
8
-3
13
0
0
0
0
0
-1
0
-34
1
0
0
0
0
0
1
1
-8
11
0
0
0
0
0
0
-12
-31
13
0
0
0
0
0
2
1
-4
2
0
0
0
0
0
-2
3
1
8
0
0
0
0
0
-1
-1
5
0
0
0
0
0
-2
-5
11
-9
29
0
0
0
0
1
-11
-4
1
18
0
0
0
0
0
0
0
-2
-15
0
0
0
0
-3
-1
0
-4
20
0
0
0
0
0
3
-10
22
23
0
0
0
0
0
0
1
1
0
0
0
0
0
-2
0
0
9
-5
0
0
0
0
0
-3
0
3
12
0
0
0
0
-40
1
16
-27
-23
0
0
0
0
8
-1
15
1
-65
-14
0
0
0
0
1
0
10
-4
2
0
0
0
0
-1
0
-8
29
-10
0
0
0
0
0
-3
-29
19
38
0
0
0
0
0
-11
2
-20
-6
0
0
0
0
-4
-15
27
-5
14
0
0
0
4
0
-2
20
-4
89
0
0
0
6
7
34
-9
16
21
0
0
0
2
-11
24
5
-16
-21
0
0
0
0
-2
1
3
41
24
0
0
0
2
-2
-4
2
6
43
0
0
0
0
9
-20
-36
32
11
0
0
0
0
7
1
-13
24
21
0
0
0
0
2
-1
-20
-8
70
0
0
0
8
6
-4
-20
70
4
0
0
0
33
-26
11
30
-22
56
0
0
0
0
0
1
-2
20
0
0
0
14
0
0
0
-4
-37
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
-1
16
14
0
0
0
0
0
0
0
-5
1
0
0
0
4
0
0
-1
8
9
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
0
-23
6
0
0
0
0
0
1
-1
3
3
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
2
1
5
-19
0
0
0
0
0
1
-1
3
-31
0
0
0
0
0
0
0
3
-13
0
0
0
1
0
0
-1
5
-17
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
-2
9
-3
-3
0
0
0
0
0
0
1
1
25
-98
0
0
0
0
0
0
14
-27
-32
0
0
0
0
0
0
3
11
-67
0
0
0
0
0
0
-19
-40
-12
0
0
0
0
0
0
-3
62
-40
0
0
0
0
0
-1
0
44
14
0
0
0
0
0
0
9
2
43
0
0
-1
0
0
-3
12
-8
76
0
0
0
0
0
1
9
37
-1
0
0
-2
0
0
-1
-32
31
40
0
0
0
0
0
-2
-50
-14
56
0
0
0
0
-2
-7
-34
50
48
0
0
0
0
0
0
-5
0
-2
0
0
8
0
-2
2
-13
-24
-89
0
0
0
2
0
0
13
1
-8
0
0
-8
0
-3
1
-13
-37
111
0
0
0
0
0
-5
-21
12
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-6
-11
0
0
0
0
0
0
-1
-57
-8
0
0
0
0
0
0
-2
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
0
-12
6
7
0
0
0
0
0
0
3
-10
-1
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
1
0
1
-4
0
0
0
0
0
-1
-3
-3
-37
0
0
0
0
5
0
0
-3
17
57
0
0
0
0
0
0
-18
-24
83
0
0
0
0
0
-2
10
2
-17
0
0
0
0
0
0
-10
2
-5
0
0
0
0
0
0
3
-1
48
0
0
0
0
0
0
-4
5
31
0
0
0
0
0
0
-2
0
-88
0
0
0
0
0
-24
0
0
-15
0
0
0
0
0
-1
-7
-7
30
0
0
0
0
0
0
17
9
-26
0
0
0
0
2
-1
13
28
-11
0
0
0
0
0
1
-55
3
33
0
0
0
0
0
0
7
-24
-64
0
0
0
0
0
5
12
-1
27
0
0
0
0
-1
0
-9
-5
2
0
0
0
10
-15
-14
-90
67
-23
0
0
0
0
0
-5
8
-19
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
-1
17
2
0
0
2
0
0
0
3
-12
24
0
0
0
0
0
1
4
0
1
0
0
0
0
0
-1
-1
-8
19
0
0
0
0
0
0
4
1
0
0
0
0
0
0
-1
-15
49
6
0
0
0
0
0
-3
0
-16
1
0
0
0
0
0
0
0
2
5
0
0
0
0
0
5
-3
-8
14
0
0
1
0
0
4
7
-24
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
-2
-2
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
-4
-7
37
-47
0
0
0
0
0
-3
0
11
-33
-3
0
0
0
0
0
1
-4
-3
-21
0
0
0
0
1
-3
-6
-2
-66
0
4
0
0
2
5
-17
0
-4
0
0
0
0
0
-2
-2
10
-14
0
0
0
0
0
3
-12
1
16
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
-1
-27
0
-77
0
0
0
0
-1
2
-37
25
-55
0
0
0
0
0
4
9
12
-41
0
0
0
0
0
5
28
7
14
0
19
0
0
-2
1
14
-13
-13
0
0
0
0
-1
0
-27
-1
129
0
0
0
0
0
3
-4
11
-25
0
0
0
0
0
-2
6
7
-39
0
-4
0
0
-19
-13
-10
-27
46
0
0
0
0
3
1
9
29
0
0
0
0
0
0
-1
0
-7
0
0
0
0
-1
-1
-5
13
17
0
0
0
0
0
0
-11
41
-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
1
0
-3
0
0
0
0
0
0
-12
4
-4
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
-7
0
26
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
1
-1
0
0
0
0
3
0
-3
5
1
0
0
0
0
-1
3
7
6
18
0
0
0
0
0
0
-1
0
20
-107
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
6
0
2
50
0
0
0
0
0
-6
-5
13
-15
0
0
0
0
-2
0
-1
-7
50
0
0
0
0
2
0
0
2
-44
0
0
0
-5
-2
3
3
-1
-15
0
0
0
-1
1
9
-10
1
-8
0
0
0
0
2
4
-8
42
-11
0
0
0
0
0
2
3
15
44
0
0
0
-1
0
0
-1
25
-2
0
0
0
0
-2
-9
14
-12
-66
0
0
0
0
-1
0
2
3
-26
0
0
0
0
0
-1
-17
-12
9
0
0
0
-1
-1
-2
1
5
102
0
0
0
0
-19
48
9
-33
-30
0
0
0
0
0
3
1
-11
0
0
0
1
0
0
1
11
6
0
0
0
0
0
0
-2
-11
-18
0
0
0
0
0
0
1
-9
16
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
-1
-24
-6
-1
0
0
0
0
0
0
3
2
5
0
0
0
1
0
0
0
-5
15
0
0
0
0
0
0
2
1
-10
0
0
0
0
0
0
0
8
16
0
0
0
0
0
0
0
-1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
-1
1
4
9
1
28
0
0
0
0
0
0
0
-5
-7
-31
0
0
0
0
0
1
3
3
48
0
0
0
0
0
0
-1
2
21
0
0
0
0
0
2
3
-4
-36
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
-3
-28
0
0
0
0
0
1
0
0
-5
0
0
0
0
1
-5
1
0
-2
0
0
0
0
0
2
10
6
-43
0
0
0
0
0
-7
10
27
-26
0
0
0
0
0
0
0
14
-36
0
0
0
0
0
-1
-4
4
5
0
0
0
0
0
-1
0
1
-29
0
0
2
0
0
0
0
-4
-4
0
0
0
0
0
1
-2
1
-22
0
0
-4
-1
-3
25
-61
-33
46
0
0
0
0
0
-2
3
37
0
0
0
0
0
0
1
-5
10
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
0
-4
1
1
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
-3
-2
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-10
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
-1
0
0
0
0
0
-1
5
5
0
0
0
0
0
0
0
0
4
1
-17
0
0
0
0
0
-2
0
-2
5
0
0
0
0
0
0
1
-2
63
0
0
0
0
0
-1
0
0
25
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
-13
0
0
0
2
0
0
-4
4
11
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
-1
0
-35
0
0
0
0
0
-5
-5
0
-45
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
-36
0
0
0
-5
14
-11
-48
10
-38
0
0
0
0
-2
-4
9
7
0
0
0
0
0
0
8
-23
39
0
0
0
0
0
-7
1
9
6
0
0
1
0
0
0
-3
-42
5
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
-7
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
-4
5
-2
0
0
0
0
0
0
1
4
-2
0
0
0
0
0
0
-1
5
16
0
0
0
0
0
2
-14
17
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
-2
0
2
0
0
0
0
0
17
10
-27
-12
0
0
0
0
2
-2
-3
1
5
53
0
0
0
0
0
0
-18
11
30
0
0
0
0
-3
2
-9
2
-12
0
-1
0
0
1
-3
0
3
-15
0
0
0
0
0
-1
0
0
19
0
0
0
0
0
0
-1
0
-41
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
3
2
1
-48
0
0
0
0
-1
1
0
0
-30
0
0
0
0
0
2
0
18
38
0
0
0
0
0
1
6
2
18
0
-3
0
0
0
6
-4
0
6
0
0
0
0
-3
-3
-7
-2
-7
0
0
0
0
0
2
0
-1
-22
0
0
0
0
2
2
1
-3
-32
0
-2
-1
0
-2
-16
-52
16
-25
0
0
0
0
-1
2
5
12
0
0
0
0
0
0
0
14
-18
0
0
0
0
3
1
1
42
39
0
0
0
0
0
0
41
-43
-5
0
0
0
0
4
0
-20
-6
-17
0
0
0
0
0
-1
-12
-5
40
0
0
0
0
0
0
-1
5
-18
0
0
0
0
0
4
11
14
9
0
0
0
0
1
-1
1
-6
-9
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
-3
1
4
-5
0
0
0
0
0
0
4
-22
16
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
-2
3
-2
0
0
0
0
0
0
2
11
30
0
0
0
0
3
-14
13
-35
26
0
0
0
0
0
0
1
2
-14
-8
0
0
0
0
0
1
-50
10
-1
0
0
0
0
0
5
-36
3
21
0
0
0
0
-1
6
-6
-6
26
0
0
0
0
-2
9
-10
14
-6
0
0
0
-2
1
-4
2
-19
-32
0
0
0
0
-2
0
-1
2
2
0
0
0
-1
16
-7
4
-9
25
0
0
0
-2
-4
-4
-49
9
-8
-2
0
0
0
0
4
-18
44
-75
-68
0
0
0
6
4
-15
35
35
-9
0
0
0
0
1
-50
14
-50
5
0
0
-7
-20
3
3
22
16
71
0
0
0
-4
5
16
4
9
6
0
0
-8
-6
1
15
17
-39
55
0
0
-20
34
-28
16
16
-10
4
0
0
0
0
-3
-10
45
0
0
0
-5
0
0
0
-1
-5
0
0
0
0
0
0
2
-49
12
0
0
0
0
0
0
-1
-5
-25
0
0
0
0
0
0
3
-52
11
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
0
5
-3
2
0
0
0
0
0
-1
2
-25
22
0
0
0
0
0
0
0
12
-11
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
3
0
-8
19
0
0
0
0
0
-1
0
-4
-10
0
0
0
0
0
0
0
-6
0
0
0
0
5
0
0
-1
0
3
0
0
0
0
0
4
0
-5
-12
0
0
0
2
0
2
1
9
-14
0
0
0
0
0
0
-1
-33
-55
11
0
0
-1
0
0
0
-13
-57
-7
0
0
0
0
0
0
7
1
-44
0
0
0
0
0
0
14
-21
-33
0
0
0
0
0
-2
16
-18
53
0
0
0
0
0
-2
4
0
8
0
0
0
0
0
-1
-1
5
6
0
0
0
0
0
5
-14
28
-27
0
0
0
0
2
1
9
-32
-25
11
0
0
0
-1
0
11
4
57
6
0
0
0
0
-4
1
11
-50
38
0
0
0
0
-3
4
-4
1
48
0
0
0
0
0
-4
5
-4
3
0
-2
0
3
4
-4
-23
31
-24
0
0
0
0
-1
5
-41
-8
11
0
-20
0
-24
0
-1
46
-105
81
0
0
0
0
0
-1
-26
0
0
0
0
0
0
-2
-50
62
0
0
0
0
0
0
0
28
-10
0
0
0
0
0
0
-4
34
-18
0
0
0
0
0
-1
0
-11
3
0
0
0
0
0
0
-8
-1
-7
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
-2
-10
-1
-3
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
6
-3
7
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
-4
0
0
1
0
0
0
0
-4
-2
1
8
-10
0
0
0
0
0
0
0
-5
7
-47
0
0
0
0
0
-5
10
-4
33
0
0
0
0
0
0
-5
4
20
0
0
0
0
0
1
9
-5
3
0
0
0
0
0
0
-3
-7
-7
0
0
0
0
0
-1
5
-6
-40
0
0
0
0
0
0
1
-6
-4
0
0
0
0
0
0
10
-5
-4
0
0
0
-1
8
0
-3
31
-131
-5
0
0
0
0
0
4
-48
22
56
0
0
0
0
0
-6
-3
39
-53
0
0
0
0
6
11
4
-20
-30
0
0
-1
0
0
0
-1
-2
-86
0
0
0
0
1
3
-1
0
-24
0
0
0
2
0
-4
-4
-75
41
0
0
-10
18
-4
-24
-10
32
36
0
0
0
0
-7
-39
68
0
0
0
0
0
0
0
-25
29
0
0
0
0
0
0
-1
25
-9
0
0
3
0
0
0
15
-59
-15
0
0
0
0
0
0
-13
35
2
0
0
0
0
0
0
3
-33
0
0
0
0
0
0
-1
-3
2
0
0
0
-4
0
0
-2
-5
9
3
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
-5
0
-10
3
0
0
-3
0
0
-1
5
-20
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
-3
7
1
0
0
0
0
0
0
11
-56
9
12
0
0
0
0
0
2
11
21
-15
0
0
0
0
-3
-4
-5
6
-6
0
3
0
0
2
2
-5
2
13
0
0
0
0
0
-4
12
0
10
0
0
0
0
0
6
15
-7
5
0
0
0
0
0
0
1
2
-26
0
0
0
0
0
-5
14
-1
-48
0
0
0
0
-4
0
59
-17
32
33
0
0
0
0
4
6
0
-34
-1
0
0
0
0
0
0
1
3
-31
0
0
0
0
-2
-57
3
-4
-3
0
0
0
0
0
5
-2
-13
-55
0
0
0
0
0
5
4
11
23
0
0
0
0
5
-7
0
24
-43
-40
0
0
-37
11
-30
9
-32
43
0
0
0
-1
6
3
23
0
0
0
0
0
0
5
-22
43
0
0
0
0
0
-4
-3
-40
1
0
0
0
0
0
2
21
21
-17
0
0
0
0
0
0
1
5
4
0
0
0
0
0
0
6
-6
16
0
0
0
0
0
-1
0
-1
1
0
0
0
0
1
-1
-18
-4
3
0
0
0
0
-1
1
0
-17
-39
0
0
0
0
0
0
-6
9
32
0
0
0
0
2
-1
1
14
-4
0
0
0
0
0
-1
0
1
-10
0
0
0
0
0
0
-1
-1
2
0
0
0
0
0
3
0
0
1
0
0
0
0
3
11
0
1
5
0
0
0
0
0
4
-63
-10
-28
0
0
0
0
0
1
6
-21
53
-32
0
0
0
0
0
1
-7
37
-30
0
0
0
0
0
0
-3
2
-23
0
0
0
0
0
2
-14
2
-11
0
0
0
0
-1
1
-9
11
-77
0
0
0
0
-1
1
-8
6
-52
0
0
0
1
0
0
-1
-1
61
0
0
0
1
-1
-9
-11
2
-25
0
0
0
-1
0
0
15
10
-45
64
0
0
0
0
1
1
15
-22
15
0
0
0
0
1
7
-9
-33
-74
0
0
0
5
2
-2
-2
41
-39
0
0
-1
1
0
-3
35
-43
21
0
0
0
0
-11
24
-2
54
32
0
0
1
1
-2
16
-8
-4
75
0
0
2
-1
-5
-21
11
6
46
0
0
0
0
-7
22
6
0
0
0
7
0
0
-3
-1
78
0
0
0
0
0
0
2
-9
-24
0
0
0
0
0
0
15
71
16
0
0
0
0
0
0
-5
-1
20
0
0
0
-1
0
0
0
10
-42
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
11
-20
9
0
0
0
0
0
1
1
-4
21
0
0
0
-1
0
0
0
1
-13
0
0
0
0
0
1
5
-2
14
0
0
0
0
0
0
-6
-12
-27
0
0
0
0
0
0
0
2
-3
0
0
0
1
0
0
-1
1
3
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
3
1
4
2
0
0
0
0
0
0
0
-6
-20
15
0
0
8
0
0
-2
17
35
-35
0
0
0
0
0
-1
-12
5
38
0
0
0
0
0
-3
4
-7
4
0
0
0
0
0
-5
-6
-1
0
0
0
0
0
0
0
-4
5
14
0
0
0
0
0
0
0
4
-71
0
0
-1
0
0
0
2
3
-15
0
0
0
0
0
1
-23
27
-38
80
0
-10
0
0
0
7
11
-29
-89
0
0
0
0
0
2
3
25
-2
0
-1
0
1
-2
-8
-9
-23
42
0
0
0
0
0
-5
-6
-11
-11
0
2
0
-1
0
-3
3
-21
-19
0
0
-5
-1
4
-4
-7
16
3
0
-34
0
-11
-6
-2
-27
63
6
0
0
0
-1
0
14
23
0
0
0
0
0
0
-3
16
-22
0
0
0
0
0
-5
4
-16
47
0
0
0
0
0
0
-3
-52
2
0
0
0
0
0
-1
1
-3
-12
0
0
0
0
0
0
-3
-5
20
0
0
0
0
0
-2
0
-1
-1
0
0
0
0
-1
-19
16
13
-5
0
0
0
0
-4
4
0
-12
-38
0
0
0
0
0
-1
1
19
13
0
0
0
0
6
0
2
2
-72
0
0
0
0
0
9
0
15
-58
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
-26
0
0
0
0
0
-1
-2
1
-5
0
0
0
0
1
3
18
-10
-6
0
0
0
0
0
0
-1
39
-32
134
0
0
0
0
0
-3
14
-4
20
0
0
0
0
0
0
0
-4
79
0
0
0
0
1
-1
-17
-3
-47
0
0
0
0
0
0
-15
6
-65
0
0
0
0
-2
-1
0
3
25
0
0
0
0
0
0
-13
0
-73
0
0
0
-4
3
5
-18
0
-69
0
0
0
5
0
4
-4
10
51
-8
0
0
0
-1
0
-3
-8
35
-63
0
0
2
0
0
-5
7
-3
38
0
0
0
0
1
-3
4
-20
-35
0
0
-6
1
0
1
-8
-76
-27
0
0
7
0
-4
-4
5
-63
43
0
0
3
-7
0
1
12
-17
49
0
0
5
-11
19
-27
71
-43
-46
0
0
8
-22
37
35
22
0
0
0
8
0
11
-19
28
12
0
0
0
0
-2
18
11
18
-14
0
0
12
1
0
29
39
-25
87
0
0
0
0
4
20
-76
-32
8
0
0
0
-5
0
2
53
-45
-36
0
0
0
0
-6
-2
-14
-9
-23
0
0
0
0
5
17
45
-12
-73
0
0
0
0
3
75
-2
-19
11
0
0
0
24
0
5
-29
-38
71
0
0
0
0
23
-57
-39
29
12
0
0
38
20
0
40
0
-84
5
0
0
0
0
0
-17
-17
-42
34
0
0
0
-2
0
6
-6
-29
-3
0
0
0
0
3
37
-31
-10
0
0
0
-3
-7
-25
5
-18
-4
84
0
0
0
0
2
-17
-6
-32
80
58
0
0
-13
0
-4
22
4
25
-27
0
0
0
4
-4
-9
9
4
14
0
-10
0
0
0
19
-36
-9
-77
0
0
0
5
-29
36
9
-83
6
0
0
-12
-6
-1
53
50
67
-37
0
0
0
-7
-20
-25
-78
82
-27
0
-15
1
0
18
-59
2
-93
27
0
0
0
15
48
35
-7
22
-14
19
0
18
0
1
-20
-33
-24
-8
126
0
0
-6
0
-27
-53
-50
-22
92
-18
-20
3
-49
-21
-15
46
-31
29
0
0
-3
31
-12
7
-22
-18
84
0
-24
3
-6
24
7
8
-58
-11
0
0
27
-10
59
-44
4
29
-137
-10
-30
-52
-28
-23
47
-26
24
-8
0
0
0
0
1
6
72
0
0
0
0
0
0
0
-19
18
0
0
0
0
0
0
4
-57
-1
0
0
0
0
0
0
-10
-24
-10
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
9
6
58
0
0
0
0
0
-2
-1
2
14
0
0
0
0
-1
1
27
5
26
0
0
0
0
0
0
-2
11
27
0
0
0
0
0
0
-1
2
-30
0
0
0
0
0
-1
2
18
6
0
0
0
0
0
1
-14
9
-23
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
10
6
0
0
0
0
3
-2
0
0
60
0
0
0
0
0
-6
16
-31
20
0
0
0
0
0
-3
-1
-8
-19
0
0
0
0
0
0
-3
23
-45
0
0
0
0
0
3
1
7
10
0
0
0
0
0
1
12
17
3
0
0
0
0
-3
0
0
-22
30
0
0
0
0
-2
-3
16
13
-7
0
0
0
0
0
0
2
0
53
0
0
0
0
7
-3
-33
33
36
0
0
0
0
-1
-1
-1
3
-15
0
0
0
0
0
1
3
23
-17
0
0
0
0
-1
-5
7
5
-29
0
0
0
0
-2
3
-19
-17
29
0
0
0
0
4
11
0
15
8
0
0
0
0
4
0
24
-44
-23
0
0
0
0
-2
-5
0
5
10
0
0
0
0
9
19
5
31
-34
0
0
0
0
0
0
0
-33
17
0
0
0
-3
0
0
0
4
14
0
0
0
0
0
0
-1
-4
11
0
0
0
0
0
0
-1
-31
-13
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
-3
16
-19
0
0
0
0
0
0
0
9
5
0
0
0
0
0
-1
3
-62
-6
0
0
0
0
0
0
0
-22
35
0
0
0
0
0
1
0
10
-34
0
0
0
0
0
0
0
-17
28
0
0
0
0
0
0
-1
5
71
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
-4
-7
-45
0
0
0
-2
0
7
4
5
22
0
0
0
0
0
0
0
10
19
0
0
0
2
0
0
-2
10
9
0
0
0
0
0
0
2
1
-25
0
0
0
0
0
0
0
17
3
0
0
0
0
0
0
1
-6
46
0
0
0
-3
0
0
1
11
27
0
0
0
0
0
0
0
43
-24
0
0
0
0
0
-1
-4
-17
18
0
0
0
0
0
0
0
7
57
0
0
0
-1
0
0
0
-15
4
0
0
0
0
0
0
-2
13
-6
0
0
0
0
0
0
-1
47
-29
0
0
0
0
0
0
0
-2
45
0
0
0
9
0
-1
0
-24
6
0
0
0
0
0
0
0
-16
14
0
0
0
12
2
6
-3
-45
52
0
0
0
0
0
0
-2
-8
-36
0
0
0
0
0
0
0
-21
-40
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
11
-20
-18
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
-6
-15
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
-8
-2
6
-20
0
0
0
0
0
0
4
12
-8
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
-1
-39
24
0
0
0
0
0
-1
-16
-19
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
-3
-1
-45
1
0
0
0
0
0
0
2
-12
57
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
-2
-24
3
0
0
0
0
0
0
2
16
1
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
-2
14
-4
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
1
28
19
-16
0
0
0
0
0
0
1
-11
-13
0
0
0
0
0
0
-1
20
32
0
0
0
0
0
0
-3
17
3
0
0
0
0
0
0
-6
-3
19
0
0
0
0
0
0
1
-11
27
0
0
0
0
0
0
-1
-19
60
0
0
0
0
-5
0
-5
8
-18
0
0
0
0
2
-5
15
-15
-13
0
0
0
0
0
0
-16
-32
36
0
0
0
0
0
0
8
-12
25
0
0
0
0
0
0
15
1
-11
0
0
-2
0
0
0
-17
29
0
0
0
0
0
0
0
-4
8
1
0
0
0
0
0
0
-8
17
12
0
0
0
0
0
0
-1
-56
12
0
0
0
0
0
-4
-10
22
12
0
0
0
0
0
3
-5
-25
-18
0
0
0
0
0
0
-1
13
-23
0
0
0
0
0
0
15
31
26
0
0
-2
0
0
0
1
-10
-20
0
0
0
0
0
0
-2
1
-8
0
0
0
0
0
0
3
-4
-19
0
0
0
0
0
0
-2
10
-10
0
0
0
0
0
0
-7
25
-51
0
0
0
0
0
0
14
24
5
0
0
0
0
0
0
10
-9
3
0
0
0
0
0
0
-10
24
11
0
0
0
0
0
0
1
2
-12
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
8
17
22
0
0
0
0
0
0
-1
-51
1
0
0
3
0
0
0
-18
3
11
0
0
0
0
0
0
-4
17
50
0
0
0
0
0
0
-26
-22
17
0
0
0
0
0
0
8
-38
23
0
0
4
0
0
0
35
-58
-9
0
0
0
0
0
0
-18
67
16
0
0
0
0
0
0
2
2
44
0
0
0
0
0
0
8
8
3
0
0
8
-2
-2
-1
-48
11
24
0
0
0
0
0
0
0
9
-33
0
0
0
0
0
0
-3
-34
-5
0
0
0
0
0
0
-1
-17
-16
0
0
0
0
0
-2
6
32
-16
0
0
0
0
0
0
-2
-10
41
0
0
0
0
0
0
2
3
-21
0
0
0
0
0
0
0
2
3
0
0
0
0
0
7
6
-10
20
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
1
1
12
0
0
0
0
0
0
-1
-11
-10
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
1
1
53
0
0
0
0
0
3
26
-6
15
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
2
3
1
0
0
0
0
0
-3
-5
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
9
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
6
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
5
-14
5
0
0
0
0
0
1
-1
-25
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
-4
-9
0
0
0
0
0
0
1
12
-24
0
0
0
0
-2
11
38
-26
-6
0
0
0
0
0
0
0
14
11
0
0
0
1
0
0
0
1
13
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
-10
12
31
0
0
0
0
0
0
-1
-2
54
0
0
0
0
0
0
-7
-1
-24
0
0
0
0
0
0
-2
2
-9
0
0
0
0
0
1
10
3
6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
-1
2
-20
0
0
0
0
0
1
-1
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
10
0
0
0
0
0
2
-2
3
-30
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-4
2
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
10
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
-4
5
2
0
0
0
0
0
0
-1
0
1
0
0
0
-3
0
0
2
1
-3
0
0
0
0
0
0
-6
-5
23
0
0
0
3
2
-15
27
-59
-14
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
-3
2
27
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
0
-1
39
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
1
10
4
0
0
0
0
0
-1
0
-2
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
-4
-28
0
0
0
0
0
0
-2
1
-2
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
-2
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
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
-3
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
-1
0
0
0
0
0
0
0
-4
2
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
1
1
0
0
0
0
-1
0
0
0
1
0
0
0
0
-2
1
-13
14
-13
0
0
0
0
0
2
14
20
8
0
0
0
0
0
5
-29
-3
53
0
0
0
0
0
1
-5
11
18
0
0
0
0
0
1
7
2
-15
0
0
0
0
0
0
-1
-1
4
0
0
0
0
0
4
6
14
-9
0
0
0
0
0
0
1
-12
7
0
0
0
0
0
-1
-26
19
-15
0
0
0
0
0
-1
2
-2
15
0
0
0
0
0
-1
-1
-2
-13
0
0
0
0
0
14
1
-11
12
0
0
0
0
0
6
9
-7
17
0
0
0
0
0
0
-2
1
-6
0
0
0
0
0
3
-2
-3
3
0
0
0
0
0
2
-4
0
2
0
0
0
0
0
5
8
-4
29
0
0
0
0
0
1
-8
-8
-5
0
0
0
0
0
0
-5
-1
-3
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-5
14
0
0
0
0
0
0
-4
-24
0
14
0
0
0
0
0
0
-21
-6
-1
0
0
0
0
0
-3
-5
2
-3
0
0
0
0
0
13
51
-2
22
0
0
0
0
0
2
2
-6
-16
0
0
0
0
0
-8
7
14
-13
0
0
0
0
0
-1
5
-9
2
0
0
0
0
0
-2
1
-6
0
0
0
0
0
0
0
-2
7
-1
0
0
0
0
0
-6
-16
-12
1
0
0
0
0
1
0
-5
-19
-12
0
0
1
0
0
-17
27
-27
33
0
0
0
0
-1
0
-1
-2
14
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
1
0
-4
18
0
0
0
0
0
0
4
-4
-15
0
0
0
0
0
2
0
-4
-1
0
0
0
0
0
0
7
2
3
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
6
-5
10
6
0
0
0
0
0
-1
-9
0
-20
0
0
0
0
0
0
-1
-1
5
0
0
0
0
-1
-7
0
19
24
0
0
0
0
0
0
1
7
10
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
-1
4
3
-14
0
0
0
0
0
0
-22
-6
26
0
0
0
0
0
1
-1
0
10
0
0
0
0
0
0
-2
-6
-3
0
0
0
0
0
0
1
-3
-3
0
0
0
0
0
-4
-1
-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
5
12
0
0
0
0
-1
8
-5
6
6
0
0
0
0
0
-2
0
0
-24
0
0
0
0
0
0
-1
0
-20
0
0
0
0
-1
0
-1
1
4
0
0
0
0
0
2
6
2
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
7
6
0
0
0
0
2
3
0
-3
-13
0
0
0
0
-4
-4
-13
21
79
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
-2
-13
8
0
0
0
0
0
0
-2
-10
5
0
0
0
0
0
0
8
-4
1
0
0
0
0
0
0
4
-1
8
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
-7
-6
0
0
0
0
0
0
3
-6
-2
0
0
0
0
0
0
-4
-4
16
0
0
0
0
0
0
-1
0
-38
0
0
0
0
0
0
-1
23
7
0
0
0
0
0
0
1
-7
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
5
0
0
0
0
0
1
1
2
-7
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
-1
8
14
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
-1
-5
0
0
0
0
0
0
-6
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-14
-20
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
-2
0
-9
2
0
0
0
0
0
0
0
-1
4
0
0
0
1
0
0
0
-1
5
0
0
0
0
0
0
0
1
-3
0
0
0
-9
0
2
5
9
-43
0
0
0
0
0
0
0
10
-44
0
0
0
0
0
0
2
5
47
0
0
0
0
0
0
1
-7
1
0
0
0
0
0
0
9
17
-11
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
-3
1
18
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-2
-10
-8
2
0
0
0
0
0
-4
1
-1
-10
0
0
0
0
0
0
-3
-2
31
0
0
0
0
0
-3
-1
15
5
0
0
0
0
0
0
-8
17
17
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
3
-12
0
0
0
0
0
-1
3
-2
-2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-16
-3
1
0
0
0
0
0
0
0
-4
-6
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
-24
-29
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
6
-9
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
4
-2
0
0
0
0
1
11
27
-13
52
0
0
0
0
0
0
-2
-17
8
0
0
0
0
0
0
5
39
-83
0
0
0
0
0
0
-13
-4
6
0
0
0
0
0
0
0
-62
34
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
-4
-4
2
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-7
3
-27
9
0
0
0
0
0
0
2
-14
-10
0
0
0
0
0
0
9
2
-9
0
0
0
0
0
-3
1
-18
39
0
0
-1
0
0
1
1
24
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-3
4
0
7
0
0
0
0
0
6
5
-5
-5
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-4
1
3
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
3
1
2
0
0
0
0
0
1
-2
-1
3
0
0
0
0
0
3
10
-38
0
0
0
0
0
0
0
0
-20
25
0
0
0
0
0
0
2
11
5
0
0
0
0
0
-1
0
-22
0
0
0
0
0
0
-2
11
19
0
0
0
0
0
0
1
-1
1
-16
0
0
0
1
0
0
2
-3
-1
0
0
0
0
0
0
2
-11
-1
0
0
-20
-1
1
5
-29
27
-11
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
6
-12
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
1
10
-13
0
0
0
0
0
0
-1
0
-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
8
0
0
0
0
0
-1
0
-1
-20
0
0
0
0
0
0
0
-4
1
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
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
-1
-1
0
3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-1
-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
-3
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
-8
2
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
0
0
0
0
-1
3
-5
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-1
0
0
0
0
3
-18
-9
-29
51
0
0
0
0
0
0
-4
4
-33
0
0
0
0
0
0
0
-8
77
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-6
12
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
3
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
1
-2
-11
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
-2
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
-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
-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
-4
1
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
1
2
0
0
0
0
0
0
0
-6
-1
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
6
0
0
0
0
-3
0
-1
0
7
31
0
0
0
0
0
-3
0
-2
9
0
0
0
0
0
0
0
-11
-44
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
-2
9
-1
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
-8
0
1
0
0
0
0
0
6
0
0
-33
0
0
0
0
0
0
0
-2
56
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
2
-1
-43
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
-1
5
-10
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
2
-5
-4
0
0
0
0
1
0
0
2
2
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
-4
0
0
0
0
0
0
-16
-14
31
-13
14
0
0
0
0
0
17
-10
-2
17
0
0
0
0
0
1
2
5
37
0
0
0
0
0
-4
11
4
16
0
0
0
0
0
-1
-12
-39
17
0
0
0
0
0
2
-6
-16
-14
0
0
0
0
0
-2
3
3
-16
0
0
0
0
0
-3
0
-5
-16
0
0
0
0
0
-22
-22
5
10
0
0
0
0
0
-5
13
4
-4
0
0
0
0
0
-3
-1
0
32
0
0
0
0
0
22
6
-8
-5
0
0
0
0
0
-4
13
-6
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
7
0
3
-1
0
0
0
0
0
-19
26
-1
14
0
0
0
0
0
0
7
-3
15
0
0
0
0
0
-6
4
1
4
0
0
0
0
0
0
-2
-4
2
0
0
0
0
0
1
3
15
-23
0
0
0
0
0
-1
-14
5
-5
0
0
0
0
0
-2
4
2
-18
0
0
0
0
0
2
2
3
19
0
0
0
0
0
-8
10
0
24
0
0
0
0
-2
-17
6
-6
43
0
0
0
1
0
-2
0
0
8
0
0
0
0
0
4
-1
-9
9
0
0
7
0
0
3
3
-15
15
0
0
0
0
-5
1
-4
0
3
0
0
0
0
0
-5
3
-8
20
0
0
0
0
-8
-2
5
-41
-4
0
0
2
-5
-14
-27
24
1
7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-20
22
0
0
0
0
0
0
2
-16
-13
0
0
0
0
0
0
16
11
-17
0
0
0
0
0
-3
1
0
2
0
0
0
0
0
0
-1
-2
3
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
-2
20
-15
3
0
0
0
0
0
1
0
-1
4
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
3
0
0
2
0
0
0
0
0
0
-6
-9
-1
0
0
0
0
0
-3
4
0
-6
0
0
0
0
0
0
0
-4
2
0
0
0
0
1
5
0
-1
3
0
0
0
0
-1
7
-3
-6
5
0
0
0
0
-3
0
0
-19
-26
-26
0
0
0
0
0
-1
-20
11
-38
0
0
0
0
0
3
-1
35
-19
0
0
0
0
0
5
-12
4
-45
0
0
0
0
0
0
-14
60
8
0
0
0
0
-1
1
-4
2
46
0
0
0
0
0
0
-2
-8
32
0
0
0
3
-4
16
7
-3
-47
0
0
0
0
0
0
5
17
-44
0
0
0
0
0
1
-9
18
3
0
0
0
1
8
0
-5
29
37
0
0
0
0
5
10
11
7
1
0
0
0
0
-3
-7
1
13
-29
0
0
0
-1
0
-10
-4
-8
27
0
0
0
8
-3
-1
-9
-8
69
0
0
0
16
-20
-34
2
-27
13
0
0
0
0
0
1
3
15
0
0
0
1
0
0
0
-1
21
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-12
-2
-7
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
-2
10
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
4
0
8
0
0
0
0
0
0
0
-21
-6
0
0
0
1
0
0
0
1
21
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
-1
0
-2
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
-1
18
0
0
0
0
0
0
2
-19
8
0
0
0
0
0
0
0
19
-17
-38
0
0
3
0
0
0
-5
-6
14
0
0
0
0
0
0
-2
-52
42
0
0
0
0
0
1
-8
-20
-12
0
0
0
0
0
0
-15
-1
4
0
0
0
0
0
0
-2
-24
-43
0
0
0
0
0
0
1
0
9
0
0
0
0
0
1
2
-17
19
0
0
0
0
0
0
-12
10
-20
0
0
0
0
0
0
-25
40
27
0
0
0
0
0
0
-8
-12
-50
0
0
0
0
0
0
-20
1
-17
0
0
0
0
0
-1
-7
14
-8
0
0
-3
0
0
0
2
32
-8
0
0
0
0
0
0
-4
-6
87
0
0
7
0
-6
-4
22
22
-26
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
-20
5
0
0
0
0
0
0
0
-25
-3
0
0
0
0
0
0
-6
10
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
3
7
5
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
0
0
0
0
0
0
0
-1
2
-1
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
0
0
0
0
0
1
-4
6
11
0
0
0
0
0
0
-2
-3
-42
25
0
0
0
0
0
0
0
11
-41
0
0
0
0
0
-1
28
0
-2
0
0
0
0
0
1
-14
1
-69
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
-9
-4
1
0
0
0
0
0
0
0
0
86
0
0
0
0
0
-2
-17
2
-78
0
0
0
0
0
-2
-2
16
-56
0
0
0
0
0
0
11
-50
-19
0
0
0
0
2
0
2
7
-1
0
0
0
0
0
1
-11
0
-15
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
3
0
-33
0
0
0
0
-1
-18
4
-92
34
0
0
0
0
-2
-12
-18
8
0
0
0
0
0
0
-7
-20
1
0
0
0
0
0
0
3
-27
-2
0
0
0
0
0
0
22
-23
9
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
-4
6
0
0
0
0
0
0
-1
3
-3
-6
0
0
0
0
0
0
0
-34
1
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
6
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
2
-1
0
0
0
0
0
0
-2
-8
17
-1
0
0
0
0
0
-1
5
24
4
11
0
0
0
0
0
0
-9
2
3
0
0
0
0
0
4
-15
5
-86
0
1
0
0
0
3
-34
-9
-20
0
0
0
0
0
0
-6
3
-29
0
0
0
0
0
1
-3
0
-2
0
0
0
0
0
0
-1
0
29
0
-1
0
0
0
-2
0
-2
5
0
0
0
0
0
2
-43
5
14
0
0
0
0
0
1
27
15
-32
0
0
0
0
0
-2
14
12
-3
0
-1
0
0
0
-1
-7
1
-32
0
0
0
0
0
3
-9
14
-5
0
0
0
0
0
-1
-17
1
-32
0
0
0
0
0
0
-44
0
5
0
-7
0
1
-6
21
-66
34
3
0
0
0
0
0
-1
5
45
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
1
12
10
0
0
0
0
0
0
0
-39
2
0
0
0
0
0
0
-1
6
9
0
0
0
0
0
0
3
-48
-12
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
11
4
-2
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
3
0
0
0
0
-2
9
-34
12
9
0
0
0
0
0
0
0
-8
-10
-78
0
0
0
0
0
-1
0
9
15
0
0
0
0
0
-2
-1
0
58
0
0
0
0
0
0
-6
1
-37
0
0
0
0
0
-1
0
-6
32
0
0
0
0
0
1
-2
13
-67
0
0
0
0
0
0
-3
-1
-19
0
0
0
0
1
4
-7
-1
-15
0
0
0
0
0
0
-2
-15
17
0
0
0
0
0
0
-3
-45
-34
0
0
0
0
0
0
13
0
-53
0
0
0
0
0
-3
-4
-2
3
0
0
0
-2
0
0
4
-2
48
0
0
0
0
0
0
-12
0
-11
0
0
0
1
0
-4
3
2
-32
0
0
0
-2
4
5
5
-11
16
0
0
0
0
3
0
3
13
0
0
0
0
0
0
0
20
-3
0
0
0
0
0
0
-1
-13
-11
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
4
-1
6
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
0
-9
0
0
0
0
0
0
3
-2
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
3
1
-20
0
0
0
0
0
0
-1
-19
-13
11
0
0
0
0
0
0
2
2
35
0
0
0
0
0
0
-2
0
59
0
0
0
0
0
0
-3
2
-90
0
0
0
0
0
0
-8
-5
3
0
0
0
0
0
3
2
8
22
0
0
0
0
0
0
1
0
-57
0
0
0
0
0
0
1
12
-11
0
0
0
0
0
-1
10
24
54
0
0
0
0
0
0
6
-12
18
0
0
0
0
0
0
5
2
4
0
0
0
0
0
0
1
-6
-9
0
0
0
0
0
-4
8
-5
-15
0
0
5
0
0
0
0
-1
16
0
0
0
0
-3
0
-1
2
-22
0
0
-2
-9
-4
-4
-29
-8
19
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
-2
4
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
1
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
14
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
1
-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
4
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
1
0
0
-3
-17
0
0
0
0
0
0
1
2
7
0
0
0
0
0
0
1
1
23
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
2
0
-18
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
8
11
0
0
0
0
0
0
3
1
-10
0
0
0
0
0
0
0
8
-36
0
0
0
0
0
0
2
-2
-33
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
-28
0
0
0
-5
0
0
0
-10
-40
0
0
0
-3
13
2
-94
10
71
0
0
0
0
0
5
0
45
0
0
0
0
0
0
-2
-17
-25
0
0
0
0
0
0
0
-14
7
0
0
0
0
0
0
0
9
29
0
0
0
0
0
1
8
-19
-22
0
0
0
0
0
0
6
4
-6
0
0
0
0
0
-3
1
-2
3
0
0
0
0
0
-2
9
-33
-1
0
0
0
0
0
3
4
-4
-39
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
1
3
-3
16
0
0
0
0
0
0
-4
-14
43
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
3
3
-6
0
0
0
0
0
0
-9
-11
-6
-4
0
0
0
0
0
-2
9
33
3
4
0
0
0
0
0
1
-1
-6
-22
0
0
0
0
-4
5
-13
0
-1
0
0
0
0
0
2
15
1
44
0
0
0
0
0
-11
25
5
-34
0
0
0
0
0
-1
4
7
-27
0
0
0
0
0
0
-6
0
-2
0
0
0
0
3
-9
-1
0
32
0
0
0
-2
-1
1
4
39
-79
0
0
0
0
0
1
-1
0
-38
0
0
0
0
-2
12
-9
-9
21
0
1
0
0
0
-10
-3
7
-19
0
0
0
0
0
5
1
8
-55
0
0
1
0
0
-2
7
-7
36
0
0
0
4
-1
0
11
7
-38
0
0
-1
-2
9
6
22
-57
0
0
0
0
0
-1
1
3
58
0
0
0
0
0
0
-2
-18
-2
0
0
0
0
0
0
0
8
-36
0
0
0
0
0
0
11
6
9
0
0
0
0
0
1
0
0
5
0
0
0
0
0
-1
2
-1
-2
0
0
0
0
0
1
-1
2
1
0
0
0
0
-1
1
8
-18
17
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
1
-20
0
0
0
0
-1
5
2
2
16
0
0
0
0
0
3
-1
-4
-8
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
3
0
-9
0
0
0
0
0
-10
3
2
2
0
0
0
0
3
-1
2
7
-10
0
0
0
0
0
-1
-1
-2
14
-36
0
0
0
0
0
0
26
-8
-61
0
0
0
0
0
0
25
1
-30
0
0
0
0
0
4
10
40
-29
0
0
0
0
0
0
14
-6
-21
0
0
0
0
0
0
-2
8
-24
0
0
0
0
-2
0
-3
3
0
0
0
0
-2
2
8
-11
7
49
0
0
0
2
0
0
-3
-48
-76
-6
0
0
0
0
0
-8
-12
9
52
0
0
0
1
0
-9
-9
2
-3
0
0
0
2
1
-46
-2
37
-16
0
0
0
1
-1
4
39
-11
24
0
0
0
-3
2
-12
-1
60
30
0
0
2
-2
1
2
9
-7
-2
0
0
-14
-25
9
32
50
11
15
0
0
0
0
2
5
-48
0
0
0
1
0
0
-2
-18
-8
0
0
0
0
0
0
2
-50
0
0
0
0
0
0
-3
2
10
-6
0
0
0
0
0
0
-1
-4
5
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-4
2
8
-13
0
0
0
0
0
0
1
4
-5
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
3
0
2
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
-1
1
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
-11
17
-23
0
0
0
0
0
0
-3
30
11
0
0
0
0
0
0
-8
16
-29
0
0
0
0
0
-1
-12
-22
-28
0
0
0
0
0
0
2
18
-12
0
0
0
0
0
0
1
-22
-14
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
3
6
6
-6
0
0
0
0
0
-3
-18
66
-63
7
0
-2
0
0
-2
-8
14
3
-65
0
0
0
0
0
-13
4
4
77
0
0
0
0
0
20
-13
-21
73
0
0
0
0
0
-8
-14
-18
-54
0
2
0
0
0
1
8
10
-37
0
0
0
0
0
-11
-5
87
-51
0
-15
0
-5
-13
-12
-22
22
79
0
0
0
0
0
-19
2
0
0
0
0
0
0
5
-4
11
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
2
10
31
0
0
0
0
0
0
-1
4
-1
0
0
0
0
0
0
-2
-1
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-2
-3
5
1
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
6
-2
0
0
0
0
1
0
0
6
-26
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
3
9
-2
2
-16
0
0
0
0
0
0
0
-4
20
-13
0
0
0
0
0
3
-10
-5
-25
0
0
0
0
0
0
0
-50
6
0
0
0
0
0
9
6
6
25
0
0
0
0
0
0
3
3
20
0
0
0
0
0
0
-2
-9
-7
0
0
0
0
0
0
-1
0
17
0
0
0
0
1
-1
-6
0
-13
0
0
0
0
0
0
0
14
-41
34
0
0
0
0
0
-2
-5
-9
-15
0
0
0
0
0
-12
-4
44
-26
0
0
0
0
0
52
-11
-66
45
0
0
0
0
0
-1
1
-27
50
0
0
0
0
-4
0
-14
-11
9
0
0
0
0
0
-8
0
24
26
0
0
-1
3
50
-34
39
26
-41
0
0
0
1
-1
8
21
0
0
0
0
0
0
4
16
-15
0
0
0
0
0
0
0
2
1
0
0
4
0
0
1
14
-10
-15
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
-1
-20
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-29
-24
0
0
0
0
0
-2
5
-20
31
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
1
3
-3
8
0
0
0
0
0
3
1
1
4
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-5
1
-4
7
0
0
0
0
0
0
-6
2
-10
49
0
0
0
0
0
0
-14
24
-19
0
0
0
0
0
1
5
-8
-53
0
6
0
0
0
1
5
1
66
0
0
0
0
0
-7
16
-7
-59
0
0
0
0
0
0
-3
9
-46
0
0
0
0
0
1
-2
0
-4
0
-1
0
0
0
-15
-8
0
-17
0
0
0
0
0
-1
-15
7
-34
3
0
0
0
0
1
10
-21
6
47
0
0
0
0
0
15
-6
29
-65
7
0
0
0
0
-3
16
19
-22
0
0
0
0
0
3
9
-62
11
0
-1
0
0
-2
6
3
-4
-47
0
0
0
0
-1
-1
-13
-28
5
-47
1
-4
-68
-83
40
-32
-4
14
0
0
1
0
-2
-9
47
0
0
0
0
0
0
-1
-12
11
0
0
0
0
1
0
1
32
4
0
0
0
0
0
0
32
18
-16
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
2
4
-21
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
-12
-7
-8
0
0
0
0
0
0
0
20
-25
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
-2
11
2
0
0
0
0
0
0
-4
-25
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
4
1
0
0
-1
0
0
0
0
-9
-8
-11
-3
2
0
0
0
0
0
0
0
-7
27
49
0
0
0
0
0
0
-47
-47
33
0
0
0
0
0
0
2
-3
-21
0
0
0
0
-1
-4
-2
-3
-35
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
1
-15
-6
0
0
0
0
0
0
0
-1
-27
0
0
0
0
-1
0
-9
26
-59
0
0
0
-2
0
0
-3
3
43
-23
0
0
0
0
0
1
0
9
-6
0
0
0
0
0
6
6
19
-32
0
0
0
-3
-1
3
32
-9
-50
0
0
-1
0
0
0
-2
-17
24
0
0
0
0
0
0
4
-14
110
0
0
0
0
0
0
2
-47
34
0
0
-5
0
5
-60
28
34
26
0
0
0
0
0
-15
25
0
0
0
-3
0
0
0
-12
35
0
0
0
0
1
0
0
5
-18
0
0
0
0
0
-1
1
2
-11
0
0
0
0
0
0
1
2
8
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
1
-1
-10
6
0
0
0
0
0
0
0
-1
7
0
0
0
2
0
0
0
0
37
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-2
0
-18
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
2
-10
0
1
0
0
0
0
0
0
0
-12
-19
76
0
0
0
0
0
0
-13
-1
1
0
0
0
0
0
0
-5
0
4
0
0
0
0
-1
-2
26
-2
-21
0
0
0
0
0
0
3
-2
12
0
0
-6
0
0
0
0
5
-20
0
0
0
0
0
0
0
-3
-20
0
0
0
0
-2
1
-1
-9
-6
0
0
0
0
0
0
1
16
7
-34
0
-3
0
0
0
0
-11
25
3
0
0
0
0
0
-7
6
-77
26
0
0
0
0
1
-1
-8
6
35
0
0
0
0
0
-3
2
-16
-56
0
-1
0
0
0
-1
1
-13
1
0
0
-7
0
-2
3
1
16
-12
0
-3
1
-14
-13
-31
35
-49
15
0
0
-2
0
-1
3
28
0
0
0
0
0
0
-1
57
27
0
0
0
0
0
-2
3
3
26
0
0
0
0
0
-1
-3
-23
-9
0
0
0
0
1
-1
2
-4
3
0
0
0
0
0
0
-2
-4
3
0
0
0
0
-1
0
0
-4
-1
0
0
0
0
0
-2
2
11
-2
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
6
41
0
0
0
0
-3
0
2
1
-1
0
0
0
0
0
3
0
6
-19
0
0
0
0
0
0
0
4
1
0
0
0
0
0
4
0
1
-5
0
0
0
0
1
-2
0
0
-1
0
0
0
0
0
6
-8
6
-11
0
0
0
0
-1
3
0
-3
29
41
0
0
0
0
0
1
-5
12
-25
0
0
0
0
0
0
2
-1
17
0
0
0
0
0
-1
-44
-3
13
0
0
0
0
0
0
1
3
29
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
1
0
-12
0
0
0
1
-1
2
7
1
-16
0
0
0
1
3
0
0
6
-3
62
0
0
0
0
-1
2
21
21
-32
0
0
0
0
0
0
-1
-32
39
0
0
0
-1
-8
0
3
-15
-32
0
0
-5
0
0
0
-7
15
-37
0
0
4
0
4
0
2
-43
30
0
0
2
0
-3
-3
3
-5
-23
0
0
19
4
-7
-52
75
-33
-37
0
0
-3
9
27
45
39
0
0
0
51
0
-1
-9
44
-15
0
0
0
0
9
-31
-61
50
-4
0
0
34
2
-8
32
34
-29
-5
0
0
0
0
21
20
-81
-32
19
0
0
0
-1
-1
12
-9
10
10
0
0
0
0
-9
0
17
34
-10
0
0
1
1
13
4
-2
11
13
0
0
0
0
4
72
-41
35
-32
0
0
0
24
0
0
63
-54
-23
0
0
0
0
37
-27
-29
31
11
0
0
13
19
-17
38
-22
-108
37
0
0
0
0
1
-42
-12
11
26
0
0
0
-15
-2
14
-25
60
34
0
0
0
0
31
40
2
-85
-48
0
0
-4
-1
-10
-47
-4
-17
18
0
0
0
0
24
-17
61
-32
97
5
0
0
5
0
1
-22
-8
-2
40
0
0
0
-10
-6
-8
-38
-32
53
0
25
0
-1
-11
53
-36
16
19
0
0
0
-10
-21
70
31
-15
-5
0
0
1
-4
-28
69
-46
54
12
0
0
0
3
-13
-46
32
82
-45
0
-35
0
5
44
-96
49
-41
-6
0
0
0
-1
66
50
-31
-8
-61
46
0
-26
0
6
4
3
72
20
-45
0
0
26
4
-29
-58
-12
57
31
9
-21
2
-6
-25
-88
34
31
13
0
0
-21
-2
45
-80
17
8
5
0
17
14
-2
32
-41
-35
1
-23
0
0
4
10
49
36
-20
-35
3
4
-10
-5
-138
17
14
-24
-53
0
0
0
10
1
99
-28
30
0
0
0
0
0
18
-21
-19
3
0
0
0
0
-5
9
-3
-8
101
0
0
0
0
0
0
-26
-11
42
0
0
0
0
-1
33
23
-97
57
0
0
0
0
4
-2
-27
23
15
0
0
0
0
2
37
-6
13
-66
0
0
0
0
-1
-4
48
-19
-83
0
0
0
0
-1
-3
6
84
-49
0
0
0
0
0
-2
6
-18
6
0
0
0
0
7
-17
-29
8
11
0
0
0
0
-5
16
23
-51
-32
0
0
0
0
-3
4
-29
19
59
0
0
0
0
0
1
-13
-2
43
0
0
0
0
-20
3
9
-3
32
0
0
0
0
4
-52
-44
46
59
0
0
0
0
-37
7
18
-28
94
0
0
0
0
1
6
-16
-20
-14
0
0
0
0
-2
6
3
-27
-23
0
0
0
0
1
0
-18
10
18
0
0
0
0
9
6
4
25
-45
0
0
0
0
-1
-1
6
-71
-15
0
0
0
0
2
0
-19
0
15
0
0
0
0
3
-2
11
34
-3
0
0
0
0
17
1
0
-12
-36
0
0
0
0
0
2
-34
-6
22
0
0
0
0
1
5
7
-28
57
0
0
0
0
0
-2
8
-21
13
0
0
0
0
18
-1
-2
-4
101
0
0
0
0
2
-1
20
-7
-3
0
0
0
0
-49
10
0
33
65
0
0
0
0
-10
-21
4
43
22
0
0
0
0
0
-7
7
8
82
0
0
0
40
0
6
10
2
-17
0
0
0
0
2
16
6
11
-30
0
0
0
0
0
24
31
10
-11
0
0
0
0
0
-1
27
3
2
0
0
0
0
0
3
-14
1
-15
0
0
0
0
0
-4
8
35
8
0
0
0
1
0
1
-5
-80
10
0
0
0
0
0
-2
10
-64
5
0
0
0
11
0
-5
23
-40
38
0
0
0
0
0
-1
3
-60
0
0
0
0
2
0
7
-69
-62
16
0
0
0
0
0
0
-4
-27
27
0
0
0
6
0
-6
2
-7
-29
0
0
0
0
0
6
1
44
-37
0
0
0
-4
0
-4
-15
-11
-9
0
0
0
0
0
-1
-1
-8
43
0
0
0
-4
1
-2
6
-27
51
0
0
0
0
0
-4
-1
-9
17
0
0
0
0
0
1
-1
34
-9
0
0
0
0
0
0
-8
8
-9
0
0
0
-13
0
0
-5
-3
41
0
0
0
0
0
-1
0
1
7
0
0
0
0
0
3
8
22
19
0
0
0
0
0
0
2
3
26
0
0
0
-33
0
6
-2
32
-22
0
0
0
0
0
0
8
-11
14
0
0
0
1
0
0
-19
97
-47
0
0
0
0
0
1
-2
-41
-18
0
0
0
60
0
-2
-1
-4
-13
0
0
0
0
1
0
-39
3
-1
0
0
0
-24
0
-40
-13
-35
9
0
0
0
0
-1
-16
-4
12
71
0
0
0
0
0
-10
26
-7
15
0
0
0
0
20
14
-23
17
7
0
0
0
0
-1
-31
-28
26
5
0
0
0
0
1
9
-13
15
-55
0
0
0
0
0
-4
7
-23
-5
0
0
0
0
-3
-3
-28
-1
21
0
0
0
0
0
14
26
-2
16
0
0
0
0
0
4
17
-41
43
0
0
0
0
0
1
1
-40
21
0
0
0
0
1
-18
-14
-24
-8
0
0
0
0
0
-5
-18
-19
27
0
0
0
0
-1
0
3
-66
-2
0
0
0
0
0
-3
-16
-21
-45
0
0
0
0
4
0
-10
-39
59
0
0
0
0
-3
-9
-13
-24
27
0
0
0
0
0
3
-3
-32
-4
0
0
0
0
0
0
7
3
2
0
0
0
0
5
2
-16
-26
-9
0
0
0
0
2
1
38
25
21
0
0
0
0
0
3
-8
-33
-5
0
0
0
0
0
0
-7
15
13
0
0
0
0
4
-3
-12
17
33
0
0
0
0
0
0
28
27
3
0
0
0
0
0
2
-3
-7
2
0
0
0
0
0
0
6
-16
-21
0
0
0
0
-3
0
-10
0
-20
0
0
0
0
-4
0
17
20
4
0
0
0
0
6
14
-2
-23
35
0
0
0
0
2
-3
14
-33
-25
0
0
0
0
-4
-11
9
-20
-45
0
0
0
0
-6
14
36
-45
-31
0
0
0
0
2
-16
-24
-34
116
0
0
0
0
0
3
-12
17
30
0
0
0
0
5
-20
12
-1
0
0
0
-1
0
0
29
29
-28
5
0
0
0
0
0
3
13
3
8
0
0
0
-1
0
-2
-5
25
-4
0
0
0
0
2
4
6
69
-22
0
0
2
0
1
2
21
37
-19
0
0
0
0
0
-4
-6
9
-18
0
0
0
0
0
-8
-7
20
23
0
0
0
0
0
3
19
34
-74
0
0
35
0
0
4
16
15
3
0
0
0
0
0
-4
-4
-3
-74
0
0
0
0
0
0
-33
25
10
0
0
0
0
-1
-8
21
2
-10
0
0
4
0
0
-45
-3
-47
65
0
0
0
0
2
5
-8
-4
23
0
0
0
0
0
-2
18
39
-23
0
0
0
0
0
-1
-37
59
40
0
0
-3
-1
3
-17
-93
-58
15
0
0
0
0
0
1
0
-16
-20
0
0
0
2
0
-1
10
-22
49
0
0
0
0
2
0
-3
1
7
0
0
-2
0
0
14
41
-29
3
0
0
0
0
0
3
-18
-5
4
0
0
0
0
0
3
3
9
-25
0
0
0
0
0
-4
-15
-24
-22
0
0
-41
0
0
20
-8
-76
25
0
0
0
0
-1
3
-19
28
-26
0
0
0
-1
0
-4
3
-24
27
0
0
0
0
-2
5
-4
-35
24
0
0
0
4
-7
-12
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
11
0
0
0
0
0
0
-3
-14
33
0
0
0
0
0
1
2
5
-25
0
0
0
0
0
0
0
14
32
0
0
0
0
-11
-28
22
23
38
0
0
0
0
0
-6
17
-5
-20
0
0
0
0
0
-2
-3
-3
27
0
0
0
0
2
1
-32
23
33
0
0
0
0
-11
9
-7
30
26
0
0
0
0
0
0
11
45
24
0
0
0
0
0
1
7
-12
9
0
0
0
0
0
0
-4
-23
22
0
0
0
0
1
0
-1
14
-21
0
0
0
0
0
-1
-6
7
-51
0
0
0
0
0
-4
-1
3
14
0
0
0
0
0
-1
-6
25
-5
0
0
0
0
14
-6
45
-11
-7
0
0
0
0
0
0
-17
-16
-2
0
0
0
0
0
-3
4
44
33
0
0
0
0
0
0
-7
-31
-22
0
0
0
0
-6
14
2
-3
47
0
0
0
0
1
1
-18
-6
-13
0
0
0
0
1
0
1
12
-17
0
0
0
0
3
-1
0
-11
-21
0
0
0
0
4
9
8
-34
24
0
0
0
0
0
-3
-2
16
-33
0
0
0
0
2
-1
6
-54
68
0
0
0
0
0
8
-13
-2
-48
0
0
0
0
38
-29
-30
30
-50
0
0
0
0
1
2
11
-5
-30
0
0
0
0
3
6
11
-5
1
0
0
0
0
15
-38
34
-19
30
0
0
0
0
0
0
0
-41
17
0
0
0
0
0
0
2
-15
43
0
0
0
0
0
0
-1
7
-20
0
0
0
0
0
-1
-10
9
-8
0
0
0
0
0
0
5
5
-15
0
0
0
1
0
0
-10
-23
48
0
0
0
0
0
0
0
-22
16
0
0
0
0
0
2
4
-56
16
0
0
0
0
0
1
8
14
-23
0
0
0
1
0
0
1
17
-25
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
6
-36
55
0
0
0
0
0
0
0
-3
-17
0
0
0
-3
0
2
3
-15
78
0
0
0
0
0
0
0
-8
47
0
0
0
-1
0
-5
1
-1
58
0
0
0
0
0
0
3
40
-40
0
0
0
33
0
2
3
-62
-9
0
0
0
0
0
0
0
-52
28
0
0
0
0
0
3
-13
6
15
0
0
0
0
0
0
7
-23
18
0
0
0
-2
0
-5
-1
-2
-2
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
18
-20
-6
0
0
0
-7
0
0
-3
23
-36
0
0
0
0
0
0
-5
15
-4
0
0
0
5
0
-3
2
-58
-2
0
0
0
0
0
0
2
24
-4
0
0
0
-22
0
-1
-5
-64
5
0
0
0
0
0
1
-2
11
40
0
0
0
-14
0
-4
-8
25
-7
0
0
0
0
2
-2
-10
0
15
0
0
0
0
0
0
0
-29
-18
0
0
0
0
-3
-2
0
27
-38
0
0
0
0
0
2
23
-64
-22
0
0
0
0
0
-2
1
8
-33
0
0
0
0
0
-1
4
-9
-18
0
0
0
0
-1
0
2
0
-49
0
0
0
0
0
1
12
-19
-7
0
0
0
0
-1
1
1
9
53
0
0
0
0
0
0
-4
4
-38
0
0
0
0
0
-2
-1
-24
74
0
0
0
0
0
-2
-5
-12
33
0
0
0
0
1
20
0
-10
-31
0
0
0
0
0
0
-6
8
-21
0
0
0
0
2
4
2
5
-25
0
0
0
0
0
6
66
5
-45
0
0
0
0
1
-1
-2
8
24
0
0
0
0
1
-2
21
-10
-15
0
0
0
0
2
0
6
-35
8
0
0
0
0
0
0
20
19
22
0
0
0
0
-1
0
5
3
16
0
0
0
0
0
-1
5
-1
20
0
0
0
0
0
-2
3
3
-2
0
0
0
0
1
-9
4
-28
5
0
0
0
0
5
-5
-7
-23
12
0
0
0
0
0
0
1
17
-29
0
0
0
0
-1
5
0
-55
6
0
0
0
0
1
-2
3
-6
-2
0
0
0
0
13
-2
25
-18
-23
0
0
0
0
0
0
0
-1
47
0
0
0
0
6
-2
-8
22
34
0
0
0
0
1
4
-5
15
23
0
0
0
0
0
0
4
7
22
0
0
0
0
0
-4
0
33
-28
0
0
0
0
0
0
-21
32
-19
0
0
0
0
0
2
8
-25
6
0
0
0
0
0
0
-6
10
19
0
0
0
0
0
0
-7
-5
-15
0
0
0
0
0
0
2
-34
27
0
0
1
0
0
-20
-3
0
56
0
0
0
0
0
0
2
2
-12
0
0
0
3
0
0
-2
-16
8
0
0
0
0
0
1
3
-4
-40
0
0
2
0
0
-1
-3
41
-23
0
0
0
0
0
0
0
1
45
0
0
0
0
0
2
21
-10
-11
0
0
0
0
0
1
-13
20
-6
0
0
0
0
0
-3
35
14
-37
0
0
0
0
0
3
-5
21
-5
0
0
0
0
0
2
-20
-1
-15
0
0
0
0
0
-4
3
-23
-1
0
0
29
0
0
-14
3
-74
-5
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
2
-7
-2
-19
0
0
0
0
0
-4
1
0
-8
0
0
0
0
0
0
-12
-13
-2
0
0
0
0
0
6
-4
-1
-40
0
0
0
1
0
0
3
45
-54
0
0
0
0
0
-1
-2
-56
26
0
0
-4
0
0
2
-76
35
16
0
0
0
0
0
0
-20
-8
29
0
0
0
-5
0
0
17
11
-8
0
0
0
0
0
2
21
-38
8
0
0
-10
3
-5
-34
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
36
-7
0
0
0
0
0
1
-10
9
-11
0
0
0
0
0
2
-7
-49
22
0
0
0
0
0
-2
-33
7
35
0
0
0
0
-1
-5
7
-13
15
0
0
0
0
0
1
5
-14
4
0
0
0
0
0
-4
4
-7
-12
0
0
0
0
0
-11
4
-25
-21
0
0
0
0
-22
23
21
40
65
0
0
0
0
0
1
24
-14
-13
0
0
0
0
0
8
-14
-6
-10
0
0
0
0
-1
-22
-21
-19
23
0
0
0
0
-5
14
38
39
29
0
0
0
0
0
0
-15
-37
0
0
0
0
0
6
-1
19
41
5
0
0
0
0
-1
-7
-27
0
-18
0
0
0
0
16
15
1
18
16
5
0
0
0
0
-2
-2
-32
-8
92
0
0
0
0
0
-1
-11
-2
6
0
0
0
-2
10
1
27
-19
10
0
0
0
9
5
10
-20
44
-50
0
0
0
1
0
16
-34
48
-9
0
0
0
-2
-2
0
11
23
-3
0
0
0
0
-2
1
5
1
-49
0
0
0
34
-5
28
26
-80
3
0
0
0
0
1
14
28
79
-33
0
0
0
-2
-1
17
-12
8
-49
0
0
0
0
1
8
-17
-12
33
0
0
0
2
28
36
6
70
-56
0
0
0
0
-2
3
12
-20
37
0
0
0
7
-6
52
-99
-72
42
0
0
0
-33
0
10
-17
23
-58
0
0
0
0
1
15
-7
39
0
0
0
0
0
10
3
-16
26
0
0
0
0
0
0
-3
-81
-3
0
0
0
0
0
4
-27
-12
-31
0
0
0
0
0
-1
0
28
-24
0
0
0
0
0
-2
-53
7
-21
0
0
0
0
0
0
-4
6
-22
0
0
0
0
0
-7
-20
35
-6
0
0
0
0
0
1
4
-57
36
0
0
0
-10
0
0
-2
-4
33
0
0
0
0
-1
1
-24
36
-22
0
0
0
0
0
4
-21
30
1
0
0
0
0
0
0
-6
9
-25
0
0
0
1
0
-2
-4
-28
-4
0
0
0
0
1
-5
-24
-26
52
0
0
0
1
-1
9
7
-34
15
0
0
0
0
0
2
10
9
14
36
0
0
35
0
2
-8
52
32
-11
0
0
0
0
0
-2
-33
2
37
0
0
0
0
-1
25
-2
-31
-24
0
0
0
0
0
0
-6
-65
16
0
0
1
0
0
6
18
4
-61
0
0
0
1
-1
0
0
-15
-77
0
0
0
0
0
-15
29
-35
0
0
0
0
0
0
-3
-83
89
64
0
0
1
0
-6
1
17
36
5
0
0
0
0
-6
-2
31
4
40
0
0
1
0
-1
8
36
-45
2
0
0
0
0
1
9
12
24
12
0
0
5
0
0
-15
44
-19
-43
0
0
0
0
-5
10
-46
-30
-7
0
0
63
-3
11
11
-37
-6
-16
0
0
0
0
5
2
40
0
0
0
0
0
0
0
-5
-21
36
0
0
0
0
9
-1
2
-3
-18
0
0
0
0
0
0
4
24
-36
0
0
0
0
0
3
-27
-18
8
0
0
0
0
0
-1
-3
6
-4
0
0
0
0
0
-1
1
-1
-1
0
0
0
0
0
-22
2
1
-9
0
0
0
0
0
0
3
17
14
0
0
0
0
0
-5
1
-43
-8
0
0
0
0
-4
2
3
-58
22
0
0
0
0
0
-1
32
41
52
0
0
0
0
0
-2
8
4
8
0
0
0
0
0
1
0
7
0
0
0
0
0
-4
-4
-14
6
-39
0
0
0
0
-3
5
-24
1
-46
0
0
0
0
-2
3
-2
3
-32
-47
0
0
0
0
0
-1
-13
-43
-45
0
0
0
2
2
0
-20
-34
24
0
0
0
0
3
-13
-20
-9
-10
0
0
0
0
-3
22
-8
-13
-36
0
0
0
0
0
-1
-4
-18
-13
0
0
0
2
0
-10
-7
11
-29
0
0
0
0
-2
-4
-39
15
-9
0
0
0
0
-2
-13
7
19
86
0
0
0
0
-1
0
0
-11
29
0
0
0
0
-2
-17
-11
-2
44
0
0
0
0
-7
-4
-34
-2
-10
0
0
0
-2
-11
-4
6
8
-33
0
0
0
0
0
0
1
16
-21
0
0
0
1
-3
16
24
6
-48
0
0
0
-5
20
-41
-43
17
45
0
0
0
1
0
-10
6
24
0
0
0
0
0
-1
-4
1
-7
0
0
0
0
0
1
1
13
-9
0
0
-3
0
0
4
-16
18
13
0
0
0
0
0
0
-7
-1
9
0
0
0
0
0
0
-53
7
11
0
0
0
0
0
1
4
-4
2
0
0
0
0
0
35
-27
9
1
0
0
0
0
0
1
0
47
-33
0
0
0
0
0
0
20
2
0
0
0
0
0
0
1
11
-65
-25
0
0
-8
0
0
-3
6
-19
31
0
0
0
0
0
0
-1
-17
6
0
0
0
0
0
0
-13
-12
12
0
0
0
0
0
3
6
-15
-22
0
0
1
0
-1
-1
16
-25
0
0
0
0
0
2
1
-1
22
20
-65
0
0
0
0
-1
16
-22
-38
6
0
0
0
-2
2
-1
-38
-37
-12
0
16
0
0
8
47
25
-10
-6
0
0
0
0
0
4
3
5
-67
0
0
0
0
0
-1
-15
-3
11
0
0
0
-1
2
-1
-6
5
36
0
-5
0
0
3
7
-32
-21
-36
0
0
0
0
5
-5
15
-15
48
0
0
0
0
-9
9
-41
-17
20
0
0
0
0
3
49
-7
-31
8
0
-3
0
0
-51
2
-8
41
-2
0
0
0
0
-9
3
13
-17
-14
0
0
0
0
1
-24
28
6
38
0
0
0
1
-13
-5
-15
30
-24
0
0
-1
0
-42
16
25
36
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
46
14
0
0
0
0
0
0
-3
5
16
0
0
0
0
0
0
5
-2
8
0
0
0
0
0
-1
-1
-6
12
0
0
0
0
-4
1
31
-1
-33
0
0
0
0
0
0
-4
3
22
0
0
0
0
0
-1
1
-8
-6
0
0
0
0
0
0
7
-12
28
0
0
0
0
6
3
29
40
-12
0
0
0
0
0
-2
-8
14
29
0
0
0
0
0
4
-6
-35
-22
0
0
0
0
0
0
0
2
-22
0
0
0
0
8
14
35
-4
8
0
0
0
0
0
0
25
-23
45
0
0
0
0
0
51
-8
-29
28
0
0
0
0
-8
-19
23
-37
-19
0
0
0
0
-4
16
-42
-1
12
23
0
0
0
0
1
-3
2
67
22
0
0
0
0
5
-3
-4
9
-36
0
0
0
0
2
4
10
-18
13
0
0
0
23
5
-3
48
35
-66
0
0
0
-4
-3
9
34
-31
-12
0
0
0
-5
2
2
9
-16
4
0
0
0
-3
-14
-14
70
9
-101
0
0
0
-7
-34
-10
-13
-17
19
80
0
0
0
0
-9
-6
-23
-125
61
0
0
0
-25
1
-43
-15
-14
13
0
0
0
5
4
-23
-1
27
-9
0
0
1
3
25
-14
-50
60
-115
0
0
-1
-3
17
-11
63
-9
26
0
0
21
-1
-6
96
-20
-51
-45
0
0
-11
-24
4
-83
-44
14
0
0
0
0
0
3
-7
48
0
0
0
26
0
1
0
-11
-66
0
0
0
0
0
0
0
-10
-25
0
0
0
0
0
0
-13
6
-10
0
0
0
0
0
0
1
15
-10
0
0
0
1
0
-2
10
-2
-46
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
49
-7
0
0
0
0
0
-2
10
-18
-54
0
0
0
-13
0
-1
-19
-28
25
0
0
0
0
0
0
4
-12
-22
0
0
0
0
0
-4
11
10
12
0
0
0
0
0
-2
6
-5
62
0
0
0
0
0
0
0
13
-49
0
0
0
0
0
0
-2
6
61
0
0
0
-4
0
3
2
-40
75
0
0
0
0
0
0
-6
-4
22
-10
0
0
-19
0
-10
14
10
44
16
0
0
0
0
1
0
-18
-20
26
0
0
0
0
0
11
-6
27
-17
0
0
0
0
0
-29
-3
43
100
0
0
-5
0
-2
-2
-58
12
-17
0
0
0
0
1
4
-19
-3
-17
0
0
-1
0
4
5
0
26
-19
0
0
0
0
0
-20
15
37
0
14
0
-22
0
1
-9
-76
13
14
22
0
0
0
-1
2
-49
57
-21
-32
0
0
0
2
-51
-22
-8
1
38
0
0
0
-5
16
37
-26
-100
67
0
39
0
0
-28
-34
11
28
74
0
0
0
0
14
-46
-56
-54
-23
0
-34
-1
-8
-13
11
7
-17
18
0
0
0
0
-4
-47
13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
3
4
0
0
0
0
0
0
1
-4
6
0
0
0
0
0
1
-2
8
10
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
0
-19
-2
1
0
0
0
0
8
5
-12
1
29
0
0
0
0
0
0
0
-37
-8
0
0
0
0
-1
-4
4
-17
-5
0
0
0
0
0
4
4
-11
-17
0
0
0
0
2
-1
-13
15
-10
0
0
0
0
0
0
-5
-3
38
0
0
0
0
-1
-3
-22
-13
9
0
0
0
0
-3
1
39
-1
-3
0
0
0
0
-3
-6
5
-3
41
-11
0
0
0
0
0
0
1
-12
-17
0
0
0
0
0
5
9
17
3
0
0
0
0
0
-50
-38
4
38
0
0
0
-6
-1
3
-4
6
36
0
0
0
0
-1
-3
-18
4
10
0
0
0
0
0
0
-39
-9
-29
0
0
0
0
-1
4
13
1
-19
0
0
0
-9
-9
4
-5
20
2
-26
0
0
0
0
0
-20
23
64
-8
0
0
0
8
-1
-4
-12
-46
70
0
0
-4
8
-10
23
1
-17
37
0
0
-4
-15
2
50
73
-61
-58
0
0
0
-4
3
26
-4
-6
32
0
0
-6
-1
-24
-13
5
-27
-29
0
0
9
-4
10
-38
34
-23
-21
0
0
0
-2
1
-13
9
0
0
0
1
0
0
0
-25
31
0
0
0
0
0
0
4
-1
-6
0
0
-1
0
0
-2
-9
-25
33
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
-22
-23
49
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
-3
-13
15
-3
0
0
0
0
-1
0
1
8
-5
0
0
0
0
0
3
13
-15
-32
0
0
0
0
0
-6
5
-41
-12
0
0
-18
0
0
-6
-14
-22
-8
0
0
0
0
0
-1
-14
9
3
0
0
0
-3
0
0
-31
12
49
0
0
0
0
0
-1
4
14
20
0
0
-12
0
0
8
-1
-11
-27
0
0
0
0
0
0
0
-1
2
11
0
0
0
0
0
3
-52
-23
32
0
0
0
0
1
-10
-4
10
1
0
12
0
0
0
-11
42
-2
-53
0
0
0
0
0
0
-9
-32
17
0
0
-1
0
0
-3
-34
11
-2
0
0
0
0
0
0
18
-32
25
0
-11
0
0
-3
9
-1
-8
84
0
0
0
0
-4
5
-11
-2
-57
-23
0
-1
0
-5
-14
-31
-4
91
-58
0
0
0
1
-9
10
3
34
8
-4
0
0
2
10
-26
39
-24
-39
0
0
0
1
14
-51
4
-82
79
0
-1
0
1
-3
30
-12
-25
23
0
0
0
0
-27
-5
-28
-37
96
-23
-3
0
24
23
28
-43
27
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-49
-33
0
0
0
0
0
-1
-23
-24
11
0
0
0
0
-1
1
-38
-9
45
0
0
0
0
-2
3
-4
-8
-99
0
0
0
0
1
2
-3
13
0
0
0
0
0
0
5
1
20
47
0
0
0
0
0
1
-9
7
76
0
0
0
0
0
1
15
-32
46
0
0
0
0
3
-32
8
-21
40
0
0
0
0
0
0
-5
13
73
0
0
0
0
0
-11
19
-13
2
0
0
0
0
0
-10
4
14
35
0
0
0
0
8
2
-1
-50
-18
0
0
0
0
0
2
-2
-15
56
0
0
0
0
5
-6
9
1
28
0
0
0
0
0
4
-29
57
-31
0
0
0
0
0
3
8
19
1
0
0
0
0
0
0
0
-4
-3
0
0
0
0
3
0
1
-9
34
0
0
0
0
0
-4
-4
22
-11
0
0
0
0
-2
3
16
-33
-16
0
0
0
0
0
0
-1
-11
18
0
0
0
0
1
0
-5
4
14
0
0
0
0
-2
-1
2
7
24
0
0
0
0
7
-10
29
18
20
0
0
0
0
0
0
-3
29
16
0
0
0
0
0
0
17
-8
-20
0
0
0
0
0
0
6
-29
17
0
0
0
0
11
11
-4
-24
-76
0
0
0
0
0
0
0
38
22
0
0
0
0
-23
-14
43
-18
-22
0
0
0
0
-16
26
57
-27
-13
0
0
0
0
0
0
5
-4
59
0
0
0
16
0
-2
-2
-58
1
0
0
0
0
0
-2
0
-4
-26
0
0
0
0
0
-4
-27
-44
87
0
0
0
0
0
1
-4
1
-28
0
0
0
-1
0
-1
-5
-21
-49
0
0
0
0
0
0
3
7
-15
0
0
0
0
0
0
12
-6
-31
0
0
0
0
0
0
1
5
4
0
0
0
-8
0
2
4
-1
-27
0
0
0
0
0
-3
1
2
4
0
0
0
0
0
0
-5
3
13
0
0
0
0
0
0
-2
-24
14
0
0
0
6
0
2
-4
22
-3
0
0
0
0
0
0
-4
4
5
0
0
0
0
0
3
-4
-36
25
0
0
0
0
0
0
1
18
88
0
0
0
-5
0
0
10
20
56
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
16
14
-7
0
0
0
0
0
0
-8
29
4
0
0
0
-8
0
0
0
38
19
0
0
0
0
0
0
-1
-2
7
0
0
0
0
0
4
-3
5
7
0
0
0
0
0
0
0
-14
63
0
0
0
-28
0
0
-2
9
42
0
0
0
0
0
0
0
8
12
0
0
0
6
0
-2
1
39
-1
0
0
0
0
0
-3
-1
-10
-19
0
0
0
14
1
1
16
-39
16
0
0
0
0
0
-1
-11
-15
-15
0
0
0
45
1
-13
-14
-35
13
0
0
0
0
2
-18
-7
25
2
0
0
0
0
0
0
1
20
-29
0
0
0
0
-1
8
-21
32
21
0
0
0
0
0
0
-22
-2
2
0
0
0
0
0
1
6
3
3
0
0
0
0
0
-1
1
-35
-1
0
0
0
0
0
-1
9
-52
13
0
0
0
0
0
-8
15
6
-5
0
0
0
0
0
-2
4
22
-65
0
0
0
0
0
0
0
-11
32
0
0
0
0
0
1
11
3
-42
0
0
0
0
0
0
0
28
1
0
0
0
0
0
0
-2
4
16
0
0
0
0
0
0
-2
-8
43
0
0
0
0
0
0
4
21
65
0
0
0
0
0
1
4
25
22
0
0
0
0
0
2
4
12
12
0
0
0
0
0
0
-2
-5
27
0
0
0
0
0
1
13
2
10
0
0
0
0
0
0
0
-15
5
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
0
1
4
0
0
0
0
1
0
-2
22
11
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
-4
-21
-6
0
0
0
0
0
0
0
6
4
0
0
0
0
1
-2
2
13
-2
0
0
0
0
0
0
7
-38
-3
0
0
0
0
0
0
6
1
-46
0
0
0
0
0
0
0
13
-21
0
0
0
0
-1
0
6
-25
23
0
0
0
0
-2
0
-28
-11
-8
0
0
0
0
0
-1
-4
-15
-5
0
0
0
0
0
3
8
0
26
0
0
0
0
0
0
15
-28
-17
0
0
28
0
0
-15
20
138
-27
0
0
0
0
0
0
-2
29
45
0
0
0
0
0
-1
-10
5
12
0
0
0
0
0
0
1
-14
4
0
0
0
0
0
2
50
25
-16
0
0
0
0
0
3
-3
0
-17
0
0
0
0
0
0
13
14
-36
0
0
0
0
0
0
3
32
-26
0
0
1
0
0
1
8
-40
13
0
0
0
0
0
0
-2
-20
30
0
0
0
0
0
0
1
-2
12
0
0
0
0
0
4
-7
17
-5
0
0
0
0
-1
-3
-19
73
40
0
0
0
0
0
-1
-15
-3
2
0
0
0
0
0
0
4
-48
-24
0
0
0
0
0
-1
3
0
-6
0
0
-5
0
0
0
-9
2
12
0
0
0
0
0
0
-4
-11
-6
0
0
0
0
0
0
5
8
-6
0
0
0
0
0
0
-6
3
0
0
0
-4
0
0
1
33
-48
18
0
0
0
0
0
2
-1
-78
31
0
0
0
0
0
0
0
-33
-1
0
0
0
0
0
-2
2
-9
3
0
0
4
0
0
1
31
38
18
0
0
0
0
0
-1
5
-3
2
0
0
0
0
0
0
-13
4
6
0
0
0
0
0
6
12
35
-1
0
0
56
0
-1
-20
17
36
-41
0
0
0
0
-1
-2
-2
-28
4
0
0
0
0
0
0
5
-31
22
0
0
0
0
0
0
5
-83
-38
0
0
0
0
0
0
-17
5
12
0
0
0
0
0
2
10
9
-33
0
0
0
0
0
1
1
22
39
0
0
0
0
0
-1
-4
-4
2
0
0
0
0
0
-1
8
12
9
0
0
0
0
0
-4
33
-21
12
0
0
0
0
0
-3
26
-10
-19
0
0
0
0
0
-1
19
-16
-28
0
0
0
0
0
2
-4
-39
-13
0
0
0
0
2
0
-5
1
93
0
0
0
0
0
0
-13
3
10
0
0
0
0
0
-3
-4
2
-1
0
0
0
0
-7
0
1
-25
0
0
0
0
0
0
15
15
-22
19
0
0
0
0
0
-4
9
-10
-16
0
0
0
0
0
0
3
10
-3
0
0
0
0
0
-1
1
-7
26
0
0
0
0
-2
0
4
5
-9
0
0
0
0
0
0
-1
-31
-13
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
-8
0
-3
15
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
-1
9
-1
0
0
0
0
0
-1
1
1
1
0
0
0
0
0
-19
22
10
38
0
0
0
0
0
0
-1
-34
-7
0
0
0
0
-2
0
2
13
-4
0
0
0
0
-5
-26
-7
14
-22
0
0
0
0
0
0
-7
11
19
0
0
0
0
0
0
-1
-27
-7
0
0
0
0
0
0
-4
23
18
0
0
0
0
0
0
6
19
16
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
10
22
13
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-5
-42
24
0
0
0
0
0
-1
7
-6
-44
0
0
0
0
0
0
-10
-24
5
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
-1
-1
0
-20
0
0
0
0
0
0
-1
2
-18
0
0
0
0
0
-3
-20
2
3
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
1
-8
22
25
0
0
0
0
0
0
-3
0
2
0
0
0
6
0
0
-3
-11
-38
0
0
0
0
0
0
0
-18
23
0
0
0
0
0
1
14
3
4
0
0
0
0
0
0
0
2
4
0
0
0
0
0
2
-4
-24
3
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
18
-10
0
0
0
0
0
0
-2
1
-25
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
-3
-4
4
1
0
0
0
0
0
0
-1
-15
32
0
0
0
0
0
-2
-6
3
16
0
0
0
0
0
0
0
1
6
0
0
0
-1
0
-1
-19
-22
29
0
0
0
0
0
0
18
-4
-15
0
0
0
0
0
-1
1
-17
28
0
0
0
0
0
0
-12
-9
-2
0
0
0
0
0
0
-1
-7
22
0
0
0
0
0
0
2
3
-24
0
0
0
0
0
0
1
-10
-12
0
0
0
0
0
-1
-1
-10
-39
0
0
0
0
0
0
2
7
19
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
0
-3
7
-25
0
0
0
0
0
-2
-3
14
14
0
0
0
0
0
0
5
41
-15
0
0
0
0
0
0
-2
-1
10
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-1
1
0
-3
0
0
0
0
3
0
3
1
-1
0
0
0
0
0
2
1
-2
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
-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
3
0
0
0
0
0
-2
1
0
8
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
-10
-12
0
0
0
0
-1
3
-6
9
5
0
0
0
0
0
0
0
3
10
0
0
0
0
0
1
3
0
-3
0
0
0
0
-1
-3
37
16
-45
0
0
0
0
0
7
25
-25
19
0
0
0
0
0
0
-7
-34
13
0
0
0
0
0
0
-11
59
-14
0
0
0
0
0
11
27
-53
-19
0
0
0
0
0
1
13
-1
-18
0
0
0
0
0
-3
8
72
-1
0
0
0
0
0
-1
-7
6
-17
0
0
0
0
0
-28
-28
-26
18
0
0
0
0
0
0
15
-5
14
0
0
0
0
0
-3
6
-20
20
0
0
0
0
0
0
2
22
-6
0
0
-1
0
0
9
-19
2
-7
0
0
0
0
0
1
-9
-10
-23
0
0
0
0
0
0
12
-9
-44
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
-3
-26
55
13
0
0
0
0
0
23
7
16
-2
0
0
0
0
0
0
-4
-4
-40
0
0
0
0
0
-3
9
-2
27
0
0
-1
0
0
-8
-9
-39
30
0
0
0
0
0
-4
1
3
-4
0
0
0
0
0
1
9
-10
17
0
0
0
0
0
0
-2
-9
-13
0
0
0
0
0
2
3
16
0
0
0
0
0
0
8
0
-13
24
0
0
0
0
0
-2
-6
-4
-23
0
0
0
0
0
-2
1
-21
2
0
0
0
0
0
5
-2
2
6
0
0
0
0
0
4
11
-43
-8
0
0
0
0
0
-3
28
12
-19
0
0
0
0
0
13
17
2
11
0
0
-2
-1
0
6
-12
-23
68
0
0
0
0
21
-5
-5
-2
-50
0
0
0
0
0
0
0
7
-30
0
0
0
0
0
1
0
13
-42
0
0
0
0
0
0
4
62
-1
0
0
0
0
0
-2
18
11
5
0
0
0
0
0
-4
-1
-1
17
0
0
0
0
0
1
-5
3
-2
0
0
0
0
0
1
14
-27
-41
0
0
0
0
2
0
-8
-7
11
0
0
0
0
0
0
-7
0
5
0
0
0
0
0
-2
-14
22
14
0
0
0
0
0
13
-3
-49
48
0
0
0
0
-2
1
13
-4
92
0
0
0
0
0
1
-4
-8
33
0
0
0
0
-2
5
-27
8
47
0
0
0
0
0
-10
-13
39
-65
0
0
0
0
1
1
-7
-7
-7
0
0
0
0
0
0
-3
-7
-4
0
0
0
0
0
-1
1
1
1
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
1
1
22
4
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-2
1
-6
0
0
0
0
0
0
-1
0
-2
0
0
0
0
6
0
-10
0
-35
0
0
0
0
0
0
3
-12
14
0
0
0
0
0
-2
0
-11
14
0
0
0
0
0
-3
-3
3
-1
0
0
0
0
-10
4
10
28
100
0
0
0
0
0
0
1
-16
0
0
0
0
0
-3
0
-12
13
-27
0
0
0
0
2
-19
5
3
24
0
0
0
0
0
0
5
20
-4
0
0
0
11
0
-1
-2
-3
-51
0
0
0
0
0
0
0
-7
-23
0
0
0
0
0
-4
-3
-14
0
0
0
0
0
0
-6
1
-5
-43
0
0
0
-1
0
0
7
-21
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
-10
23
0
0
0
0
0
-1
0
36
3
0
0
0
0
0
-1
4
53
0
0
0
0
0
0
0
0
-21
48
0
0
0
1
0
4
5
-24
36
0
0
0
0
0
1
0
1
-35
0
0
0
6
0
0
-21
-5
22
0
0
0
0
0
0
0
-28
-3
0
0
0
-3
0
-1
-12
-33
21
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
12
-5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-1
-1
-8
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
-17
-12
0
0
0
1
0
1
1
20
-29
0
0
0
0
0
0
2
8
-3
0
0
0
0
0
0
5
-16
3
0
0
0
0
0
0
1
-36
19
0
0
0
10
0
0
6
-60
-20
0
0
0
0
0
-1
-1
-10
-78
0
0
0
6
0
-2
-17
-15
52
0
0
0
0
0
-1
6
-8
-17
0
0
0
0
0
0
1
-9
-21
0
0
0
0
0
-6
4
8
39
0
0
0
0
0
0
1
-23
50
0
0
0
0
0
1
-1
18
25
0
0
0
0
0
0
1
24
-24
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
1
9
15
24
0
0
0
0
0
2
4
20
-19
0
0
0
0
0
0
0
-104
27
0
0
0
0
-3
1
-12
28
1
0
0
0
0
0
-4
2
25
5
0
0
0
0
0
0
2
-3
13
0
0
0
0
0
0
-2
4
-9
0
0
0
0
0
5
14
-23
-5
0
0
0
0
0
0
3
-41
4
0
0
0
0
2
1
-2
-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
-3
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
-2
1
-5
0
0
0
0
0
0
0
-5
0
0
0
0
0
-3
-4
-13
-1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-1
-5
42
-37
0
0
0
0
0
0
-1
11
-3
0
0
0
0
0
0
-2
20
-9
0
0
0
0
-3
-5
-1
16
-18
0
0
0
0
0
1
-3
0
33
0
0
0
1
0
-2
-2
55
-6
0
0
0
0
0
0
5
-15
52
0
0
3
0
0
-2
-4
-1
8
0
0
0
0
0
0
-3
-1
-5
0
0
0
0
0
0
4
4
-28
0
0
0
0
0
-2
0
-1
5
0
0
0
0
0
-3
23
-27
-3
0
0
0
0
0
1
35
17
3
0
0
0
0
0
1
34
-60
-12
0
0
0
0
0
1
-2
-26
-21
0
0
0
0
0
4
-42
-33
6
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
3
-2
-16
6
0
0
0
0
0
2
-2
23
-21
0
0
0
0
0
-4
9
-44
-5
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
6
-13
-4
0
0
0
0
0
1
-6
7
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-20
-2
0
0
2
0
0
-1
1
-25
0
0
0
0
0
0
-9
-1
9
-35
0
0
0
-1
0
0
-3
-14
24
0
0
0
0
0
0
2
21
2
0
0
1
0
0
-4
-1
-6
-30
0
0
0
0
0
1
1
3
45
0
0
0
0
0
0
0
-35
29
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
1
2
4
0
0
0
0
0
1
0
-5
-5
0
0
0
0
0
0
1
1
-14
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
14
-4
-5
22
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
5
-7
9
0
0
0
0
0
0
0
-22
15
0
0
0
0
0
-1
2
5
-18
0
0
0
0
0
0
2
-7
14
0
0
0
0
0
-4
4
-5
12
0
0
0
0
0
0
2
1
10
0
0
0
0
-5
0
-5
3
2
0
0
0
0
0
0
0
-11
27
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
1
-4
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
2
-1
5
0
0
0
0
0
-2
3
-7
1
0
0
0
0
0
-1
5
-12
5
0
0
0
0
0
0
1
-5
7
0
0
0
0
0
0
3
1
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
2
-5
3
16
0
0
0
0
0
2
3
4
10
0
0
0
0
4
1
0
-4
0
0
0
0
0
-3
-7
-4
5
-7
0
0
0
0
0
0
-1
-1
46
0
0
0
0
0
-6
1
11
-4
0
0
0
0
0
0
2
-3
4
0
0
0
0
0
0
-13
-34
35
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
4
31
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-1
-12
0
0
0
0
0
0
-1
-1
10
0
0
0
1
0
1
13
-2
13
0
0
0
0
0
0
2
-10
-28
0
0
0
0
0
0
-2
1
14
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
-2
-1
-6
-7
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
2
-14
-4
0
0
0
0
0
0
-1
-2
19
0
0
0
0
0
0
-2
-54
16
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
-1
2
3
-1
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
0
0
0
0
0
0
0
0
-1
1
-5
0
0
0
0
0
0
1
0
4
0
0
0
-3
0
0
2
9
-6
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
4
0
0
0
-2
0
0
-1
-6
-33
0
0
0
0
0
0
0
-3
-1
0
0
0
1
0
1
-15
89
-6
0
0
0
0
1
2
-4
-8
41
0
0
0
0
0
0
2
35
57
0
0
0
0
0
0
0
7
-39
0
0
0
0
0
-1
-7
22
8
0
0
0
0
0
0
1
2
-34
0
0
0
0
0
0
2
1
-15
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-1
-2
-4
0
0
0
0
-2
0
2
2
26
0
0
0
0
0
0
-6
4
-22
0
0
0
0
0
0
0
13
15
0
0
0
0
0
0
-1
-3
4
0
0
0
0
-2
0
1
1
6
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-4
0
-2
21
0
0
0
0
0
-3
-3
-1
20
0
0
0
0
0
0
-5
-3
12
0
0
0
0
0
0
0
19
-43
0
0
0
0
0
0
-2
-5
-48
0
0
0
0
0
0
0
20
-8
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-6
1
-3
-2
0
0
0
0
0
0
0
15
5
0
0
0
0
0
-2
0
3
10
0
0
0
0
0
5
0
-8
0
0
0
0
0
1
-4
-1
-11
-13
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
2
-4
-5
-2
0
0
0
0
3
2
7
-71
17
0
0
0
0
1
-15
0
4
1
0
0
0
-3
0
0
1
-34
75
0
0
0
0
0
1
6
-3
5
0
0
0
0
0
8
18
-11
-11
0
0
0
0
0
-1
-1
1
39
0
0
0
0
0
2
-59
-8
-22
0
0
0
0
0
0
4
0
-7
0
0
0
0
0
-1
-44
41
-8
0
0
0
0
0
1
31
-20
41
0
0
0
1
0
0
0
-7
19
0
0
0
0
0
3
-6
12
-37
0
0
0
0
0
-19
-25
-37
57
0
0
0
0
0
1
-6
5
4
0
0
0
0
0
0
4
-1
-39
0
0
0
0
0
-5
4
-6
-17
0
0
0
0
0
-14
24
-31
-6
0
0
0
0
0
10
11
1
1
0
0
0
-2
0
-2
-1
12
35
0
0
0
0
0
-1
-2
6
32
0
0
1
0
0
2
-23
1
8
0
0
0
0
0
0
-2
5
17
0
0
0
0
0
0
-9
8
-47
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-3
1
10
0
0
0
0
0
13
3
-16
-42
0
0
0
0
0
-3
6
18
-59
0
0
0
0
0
0
1
-9
8
0
0
-3
0
0
2
-34
7
42
0
0
0
0
0
-4
0
-9
-10
0
0
0
0
0
-5
6
-2
24
0
0
0
0
0
1
2
10
12
0
0
1
0
-1
-18
9
0
-17
0
0
0
0
3
-13
13
23
8
0
0
0
0
0
1
0
-10
22
0
0
0
0
7
-1
-7
-42
11
0
0
0
0
-1
-1
9
-16
0
0
0
0
0
-5
2
3
0
31
0
0
0
0
-1
-6
1
4
-20
0
0
0
0
0
0
-2
-7
-4
0
0
0
0
0
7
-10
-27
31
0
0
0
0
-5
14
12
28
-28
0
0
0
0
0
0
-4
-10
9
0
0
0
0
0
0
-7
0
10
0
0
0
0
0
0
0
2
0
0
0
0
0
2
4
1
7
16
0
0
0
0
0
-3
6
6
15
0
0
0
0
0
4
-9
12
14
0
0
0
0
-1
-2
11
-65
7
0
0
0
0
2
-4
11
-17
-39
8
0
0
0
0
0
-3
-9
-4
10
0
0
0
1
1
0
10
32
24
0
0
0
0
3
-11
-1
22
-10
0
0
0
0
-1
6
-5
-15
-34
0
0
0
1
0
-1
-12
17
27
0
0
0
0
-1
1
-3
-19
42
0
0
0
0
-5
10
-1
2
-28
0
0
0
6
-10
13
5
23
76
0
0
0
0
0
-1
0
26
65
0
0
0
0
-3
5
5
6
60
0
0
0
0
-2
-17
-24
-8
81
0
0
0
6
-1
-10
11
-5
10
0
0
0
1
3
2
15
-9
11
0
0
0
17
7
-2
16
59
-5
0
0
0
-10
-16
41
9
11
-42
0
0
0
0
0
3
19
7
0
0
0
33
0
0
1
14
-51
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
-1
-5
10
38
0
0
0
0
0
3
1
-4
-14
0
0
0
1
0
-1
5
-6
-10
0
0
0
0
0
0
1
0
4
0
0
0
0
0
2
-7
-14
25
0
0
0
0
0
0
0
-7
20
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
-29
-6
0
0
0
0
0
-1
0
5
9
0
0
0
-2
0
0
0
12
44
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-3
-23
50
0
0
0
0
0
0
-1
19
-7
2
0
0
27
0
0
-1
44
0
-17
0
0
0
0
0
0
-25
-25
88
0
0
0
0
0
-1
9
-6
43
0
0
0
0
-2
1
-35
-2
-15
0
0
1
0
0
-2
-2
16
-9
0
0
0
0
0
0
3
1
-16
0
0
0
0
0
10
6
-18
-30
0
0
0
0
-1
-7
10
-24
80
0
0
-25
0
0
0
-74
21
57
0
0
0
0
0
0
-10
6
23
0
0
0
0
0
1
0
-15
-8
0
0
0
0
0
0
16
62
-41
0
0
-3
0
0
3
34
9
13
0
0
0
0
0
-2
12
14
-56
0
0
-6
0
1
6
-47
-40
11
0
0
0
0
-1
-6
-18
9
0
0
0
0
0
0
0
-7
17
0
0
0
0
0
1
-3
-10
-7
0
0
0
0
0
-2
-2
-20
0
0
0
0
0
0
0
-3
-2
-2
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
-2
3
-2
0
0
0
0
0
0
-2
-23
3
0
0
0
0
0
0
-1
21
1
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
3
1
8
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
-1
0
-21
18
0
0
0
0
0
1
0
-20
24
0
0
0
0
4
0
0
5
1
71
0
0
0
0
0
0
-9
9
32
0
0
0
0
0
4
-32
-17
-6
0
0
0
0
0
0
-11
-19
51
0
0
0
0
0
4
-7
2
-52
0
0
0
0
0
0
2
0
1
0
0
0
-2
0
1
-4
0
-6
0
0
0
0
-1
4
2
1
25
0
0
0
0
0
0
-8
-24
58
0
0
0
0
0
0
-2
-3
27
0
0
0
0
0
-1
11
2
-54
0
0
0
0
0
-1
-8
8
18
0
0
0
0
0
4
-4
13
-30
0
0
0
0
0
0
-12
3
-7
0
0
0
3
0
2
-15
0
-34
0
0
0
0
1
-17
15
-30
-16
0
0
0
0
-5
-1
6
4
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-1
-9
-3
0
0
-6
0
0
0
-8
-5
31
0
0
0
0
0
0
6
-8
-2
0
0
0
0
0
-1
0
-9
3
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
2
10
-3
0
0
0
0
0
-1
0
11
0
0
0
0
0
0
0
2
6
-2
0
0
0
0
0
0
1
-32
0
0
0
0
0
0
-4
-2
12
-2
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-1
5
7
-18
0
0
0
0
0
0
-1
-7
4
54
0
0
0
0
0
1
-29
-4
72
0
0
0
0
0
-4
34
-11
-53
0
-4
0
0
2
-11
44
-3
-79
0
0
0
0
0
-3
-5
1
-60
0
0
0
0
0
7
-9
-1
-66
0
0
0
0
0
2
-9
0
56
0
2
0
0
0
-3
20
1
52
0
0
0
0
-2
3
-10
-7
5
0
0
0
0
-4
-2
-7
-5
48
0
0
0
0
1
-5
-2
1
-7
0
15
0
0
5
5
22
-1
-3
0
0
0
0
0
-4
-37
50
-52
0
0
0
0
0
3
-32
2
30
0
0
0
0
-3
1
9
24
-41
0
19
0
1
12
-18
6
-25
29
0
0
0
1
-1
-9
19
51
0
0
0
0
0
1
0
-9
-20
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
-2
5
13
1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
4
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
1
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
2
-1
18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
3
-1
0
0
0
0
0
0
-5
5
-5
0
0
0
0
0
-1
0
1
4
0
0
0
0
0
-3
0
-1
5
0
0
0
0
0
-4
4
-2
15
0
0
0
0
-3
0
-5
2
-9
-15
0
0
0
0
-1
0
-7
9
-76
0
0
0
0
1
3
-2
1
78
0
0
0
0
0
-11
-15
10
-5
0
0
0
3
2
-3
0
-9
10
0
0
0
0
0
-5
2
0
-44
0
0
0
0
0
-1
17
-3
8
0
0
0
0
-3
5
1
-8
3
0
0
0
0
-2
-8
-2
4
7
0
0
0
0
0
0
-3
10
19
0
0
0
0
1
0
-4
-4
1
0
0
0
0
3
1
-1
0
-25
0
0
0
-1
-3
-4
2
50
-15
0
0
0
0
0
-1
-2
4
1
0
0
0
0
2
-1
7
3
9
0
0
0
-1
-2
26
50
9
-62
0
0
0
0
1
0
5
25
0
0
0
-1
0
0
0
4
-27
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
-20
23
0
0
0
0
0
0
-7
-1
14
0
0
0
0
0
1
-4
1
-17
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-16
6
-5
0
0
0
0
0
0
1
11
-5
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
3
-3
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
1
-5
-12
0
0
0
0
0
0
0
0
24
0
0
0
0
0
2
8
-3
0
0
0
0
0
0
0
0
-4
-3
37
0
0
1
0
0
1
13
16
-8
0
0
0
0
0
-1
0
1
-73
0
0
0
0
-2
-2
-19
3
31
0
0
0
0
0
-1
-6
-15
-6
0
0
1
0
0
15
7
14
-39
0
0
0
0
0
0
1
-1
-71
0
0
0
0
-2
-5
9
-2
-29
0
0
0
0
0
-1
6
13
2
0
0
0
0
0
0
5
7
-18
0
0
0
0
0
0
0
0
37
0
0
0
0
0
4
0
0
7
0
0
0
0
0
1
13
15
-38
0
0
1
0
0
-1
4
-9
-8
0
0
0
0
0
3
7
8
-24
0
0
-3
0
2
5
-49
-10
64
0
0
0
0
-1
-1
12
6
0
0
0
0
0
0
0
-1
61
0
0
0
0
0
4
-1
-2
0
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
-2
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
-9
8
-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
-4
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
1
0
1
-10
0
0
0
0
0
0
1
7
-4
44
0
0
0
0
0
-2
-1
6
5
0
0
0
0
0
-2
4
1
76
0
0
0
0
0
0
-7
1
-53
0
0
0
3
0
-6
-3
18
-42
0
0
0
0
0
0
5
-3
15
0
0
0
4
0
0
-3
-1
16
0
0
0
0
0
2
2
-9
3
0
0
0
0
-1
0
1
-2
-19
0
0
0
0
0
0
-2
-2
-2
0
0
0
0
0
1
0
0
-26
0
0
0
0
0
0
-1
0
11
0
0
0
4
0
0
1
-4
-41
0
0
0
0
0
0
3
0
-14
0
0
0
1
0
2
4
4
-56
0
0
0
1
1
7
-80
52
-29
0
0
0
0
-2
3
-6
49
0
0
0
0
0
0
-1
1
15
0
0
0
0
0
0
0
-15
10
0
0
-2
0
0
7
11
-21
25
0
0
0
0
0
-2
1
3
3
0
0
0
0
0
0
1
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-1
6
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-12
3
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
6
0
0
0
0
0
1
7
-5
6
0
0
0
0
0
0
4
3
0
-25
0
0
0
0
-1
2
-4
18
-1
0
0
0
0
2
-1
-15
0
-38
0
0
0
0
5
-23
-3
3
-82
0
0
0
0
0
-2
1
-10
-11
0
0
0
0
0
13
-9
7
30
0
0
0
0
0
1
-10
0
-35
0
-3
0
0
0
1
32
1
-70
0
0
0
0
-1
1
-10
-1
44
0
0
0
0
0
0
0
-5
-21
0
0
0
0
0
-2
0
1
-57
0
-1
0
0
1
0
6
-1
14
0
0
0
0
-2
1
2
-7
-8
0
0
0
0
2
2
-4
4
35
0
0
0
0
-3
4
-15
7
26
0
-1
-1
0
17
-15
-42
11
69
0
0
0
-2
2
-37
-27
16
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
1
-2
8
-16
0
0
0
0
0
-4
4
-11
17
0
0
0
0
2
-1
-3
5
23
0
0
0
0
0
0
1
12
-4
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
9
-5
-8
0
0
0
0
0
3
-37
9
21
0
0
0
0
0
0
0
9
24
0
0
0
0
0
-1
8
-48
-22
0
0
0
0
0
0
17
17
21
0
0
0
0
-3
-5
6
0
29
0
0
0
0
0
0
1
3
-7
0
0
0
0
2
1
0
-17
-13
0
0
0
0
0
-7
12
-8
18
0
0
0
0
-6
17
-13
0
2
5
0
0
0
0
0
-3
0
8
45
0
0
0
0
0
1
-1
5
-33
0
0
0
0
0
4
-12
3
-27
0
0
0
-1
0
8
5
4
62
0
0
0
0
0
3
-5
3
10
0
0
0
3
-3
2
0
2
-38
0
0
0
0
0
-2
2
2
-44
0
0
0
-1
-1
-4
9
-57
-53
52
0
0
0
-3
5
21
29
-26
31
0
0
0
11
3
-29
72
-51
25
0
0
0
-1
4
-37
-14
71
-30
0
0
-7
-3
13
-22
-29
-88
65
0
0
0
0
2
-33
-8
78
-69
0
0
-3
-4
1
-1
38
36
-45
0
0
-13
-20
68
-15
50
-12
8
0
0
0
0
-3
-26
62
0
0
0
-12
0
0
-1
8
22
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
-4
-15
-15
0
0
0
0
0
-2
1
11
-4
0
0
0
0
0
2
-7
-41
2
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-1
-1
2
-24
0
0
0
0
0
0
0
-27
17
0
0
0
1
0
-3
-2
13
-23
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
18
13
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
2
-1
-16
-8
0
0
0
0
0
0
-3
12
-5
-12
0
0
2
0
0
0
-15
20
-9
0
0
0
0
0
0
-6
-13
16
0
0
0
0
0
-3
12
-31
-8
0
0
0
0
0
-3
-10
-11
6
0
0
-2
0
0
3
-4
4
-1
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
-2
-1
-3
26
0
0
0
0
2
3
10
25
-79
127
0
-9
0
1
0
14
-44
59
65
0
0
0
0
3
-99
12
-9
3
0
0
0
5
-3
3
4
-20
-12
0
0
0
-3
0
23
-18
-19
9
0
-27
0
1
-20
28
16
24
13
0
0
0
3
0
-32
26
-63
-36
0
-2
0
-2
13
3
18
-31
39
0
0
0
0
1
9
10
0
0
0
0
0
0
-4
-11
37
0
0
0
0
0
-1
-2
20
5
0
0
0
0
0
0
0
-24
5
0
0
0
0
0
-1
-1
1
-7
0
0
0
0
0
0
-10
2
-7
0
0
0
0
0
-1
5
3
2
0
0
0
0
0
-1
1
5
1
0
0
0
0
0
0
3
3
6
0
0
0
0
0
0
0
5
12
0
0
0
0
0
4
-2
-9
-4
0
0
0
0
0
0
-1
39
-6
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
-2
-2
-16
0
0
0
0
0
0
1
0
2
0
0
0
0
-1
0
0
11
-2
-35
0
0
0
0
0
0
-50
-25
5
0
0
0
1
3
-1
4
-26
25
0
0
0
0
0
0
-11
-22
-8
0
0
0
0
0
2
1
1
-12
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
0
0
0
1
1
-1
5
8
-45
-26
0
0
0
0
0
-28
16
-41
7
0
0
0
3
2
-23
7
21
-65
0
0
0
0
-4
14
6
-99
18
0
0
0
1
1
14
5
8
-110
0
0
0
0
0
3
-10
-2
57
0
0
1
0
0
9
-3
-17
14
0
0
-3
-1
-45
2
25
-7
-3
0
0
0
-1
6
-34
33
0
0
0
0
0
0
0
-50
24
0
0
0
0
0
0
-1
49
-14
0
0
-1
0
0
-2
14
-20
58
0
0
0
0
0
0
1
2
-3
0
0
0
0
0
0
-8
1
3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
-9
0
-14
9
0
0
0
0
0
6
0
14
-4
0
0
0
0
0
-1
1
-47
2
0
0
0
0
0
-2
3
-15
-1
0
0
1
0
0
2
8
-9
1
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
2
4
-4
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
4
4
3
-19
0
0
0
0
0
0
4
0
13
3
0
0
1
0
0
-2
32
24
-18
0
0
0
0
0
0
-6
3
-43
0
8
0
0
0
-1
-16
-3
22
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
0
0
-6
0
-2
0
0
-1
0
-2
0
6
0
0
0
0
-1
22
22
-2
-57
39
0
0
0
0
-16
10
23
-30
-12
0
0
0
0
-4
-13
-9
29
4
-51
0
0
1
-22
-96
-4
24
28
0
0
0
2
4
57
6
-47
-6
0
0
0
0
0
41
-1
-8
7
0
0
0
-6
-1
5
0
14
-18
-39
0
1
-12
29
-7
6
8
-31
0
0
-6
34
23
5
68
0
0
0
0
0
2
5
-5
4
0
0
0
0
0
0
-24
-39
36
0
0
0
0
0
0
-14
-26
-21
0
0
0
0
0
1
-7
-9
9
0
0
0
0
0
2
-12
19
-5
0
0
0
0
-2
-2
0
3
2
0
0
0
0
0
1
4
5
-37
0
0
0
0
11
6
4
-4
-17
0
0
0
0
0
-3
-5
8
-14
0
0
0
0
1
2
-4
-27
-7
0
0
0
0
0
0
-13
11
24
0
0
0
0
1
0
-1
-12
7
0
0
0
0
0
0
0
3
20
0
0
0
0
1
1
-1
11
15
0
0
0
0
0
6
-16
-2
3
0
0
0
0
1
2
17
1
32
-15
0
0
0
0
0
4
17
13
31
0
0
0
0
1
0
-9
18
-6
0
0
0
0
0
2
19
-6
10
0
0
0
-7
-1
-3
2
27
9
0
0
0
0
0
1
3
15
15
0
0
0
0
2
0
-1
5
-25
0
0
0
-1
1
0
1
0
-10
0
0
0
-13
1
8
40
-34
-24
43
0
0
0
0
0
15
25
-41
83
0
0
0
0
0
-10
19
-11
-78
0
0
0
0
-2
-15
0
-13
21
0
0
11
5
-11
-13
13
23
-27
0
0
0
0
-1
13
9
-29
18
0
0
0
0
1
-14
-29
-3
16
0
0
20
7
-7
-4
27
-42
-2
0
0
-1
0
6
-14
39
0
0
0
-12
0
1
0
-31
37
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
1
12
-16
-30
0
0
0
0
0
2
-2
-8
1
0
0
0
0
0
0
-10
-23
-15
0
0
0
0
0
0
-1
1
-33
0
0
0
0
0
-1
-12
1
-8
0
0
0
0
0
0
-3
27
10
0
0
0
-9
0
0
1
21
46
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
0
4
-9
0
0
0
-7
0
0
1
0
-31
0
0
0
0
0
-1
-7
0
3
0
0
0
-2
0
0
-2
-3
28
0
0
0
0
0
0
0
5
11
-41
0
0
-23
0
-1
2
-6
6
-21
0
0
0
0
2
2
0
1
-5
0
0
0
0
1
1
17
-11
79
0
0
0
0
0
3
-5
8
-6
0
0
1
0
0
-2
-4
50
-23
0
0
0
0
0
0
0
-1
-14
0
0
0
0
2
1
2
-10
-32
0
0
0
0
0
0
-4
-16
34
85
0
6
0
-1
2
-15
15
-17
-102
0
0
0
0
0
6
-4
-26
33
0
0
0
0
-5
-14
-6
-1
3
0
0
0
0
0
3
-19
-38
46
0
23
0
0
3
-5
-17
-7
25
0
0
0
0
-1
3
1
38
-45
0
-17
0
0
-27
46
-31
-18
-39
0
0
3
-16
-1
-2
58
0
0
0
0
0
0
-4
16
-26
0
0
0
0
0
0
-2
8
12
0
0
0
0
0
0
-17
-30
12
0
0
0
0
0
-2
0
1
-2
0
0
0
0
0
0
-1
-2
-3
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
4
15
20
11
0
0
0
0
-7
-1
1
27
11
0
0
0
0
0
0
0
0
-33
0
0
0
0
-4
0
1
-8
-6
0
0
0
0
0
-1
-4
-52
-15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
3
2
0
8
-12
0
0
0
0
0
0
-1
14
0
0
0
0
0
1
9
-4
7
29
-41
0
0
0
0
0
3
15
-37
-50
0
0
0
-1
2
0
-20
-28
-59
0
0
0
0
-1
6
-35
5
-38
0
0
0
4
-4
3
1
2
7
0
0
0
0
-1
0
-5
-6
2
0
0
0
-4
0
0
5
-2
-22
0
0
0
0
-2
1
-4
1
-2
0
0
0
3
3
-7
-24
-25
84
-21
0
0
0
-3
1
33
-18
24
-107
0
0
0
-7
-1
-28
1
-3
85
0
0
0
1
0
4
-3
-44
-79
0
0
9
0
8
-6
-4
28
4
0
0
0
0
-1
-5
26
-15
47
0
0
-7
2
2
-12
-9
-2
36
0
0
1
8
-15
-8
22
-26
-26
0
0
-19
3
74
6
54
0
0
0
13
0
18
-23
50
-23
0
0
0
0
47
22
-5
-50
13
0
0
0
-1
1
13
53
19
-52
0
0
0
0
-6
3
16
-46
28
0
0
0
4
1
-2
-19
-27
85
0
0
0
0
0
0
23
62
-70
0
0
0
0
2
11
-22
39
-24
0
0
0
0
3
41
-44
-15
39
0
0
0
-5
0
-6
44
-73
10
0
0
0
0
-3
-8
-48
-76
74
0
0
-2
0
1
-8
27
-68
-32
0
0
0
0
-4
-28
7
47
-2
0
0
0
-13
0
-2
-19
-3
-6
0
0
0
0
-2
22
-26
5
-21
0
0
12
1
-11
-21
24
-13
-53
0
0
0
0
-3
-3
27
-51
66
22
0
0
-9
0
16
-30
-41
-2
75
0
0
0
-4
-1
-17
-17
0
53
0
34
0
-2
29
-24
8
48
-47
0
0
0
9
27
39
26
-37
-4
0
0
-17
-1
-14
3
-64
-36
28
0
0
0
-1
5
4
-31
6
-2
0
0
-1
3
14
3
12
22
-21
0
0
0
27
-24
-26
-56
76
-13
-35
0
-34
0
3
14
-11
-86
-61
124
0
0
1
12
26
-56
-26
3
1
-36
1
-3
-31
-39
87
-69
-48
30
0
0
13
-5
-63
24
12
52
-33
0
33
-1
-23
-36
66
-14
-71
43
0
0
-8
-26
-63
-70
8
-49
47
-44
-3
0
-17
26
-60
42
2
-19
0
0
29
-4
-14
-25
-49
0
0
0
0
0
-7
-3
10
17
0
0
0
0
0
3
-3
-9
24
0
0
0
0
0
-1
-25
-16
35
0
0
0
0
0
-1
-4
-4
-7
0
0
0
0
0
5
-17
1
21
0
0
0
0
0
1
9
2
36
0
0
0
0
0
-6
-9
16
-49
0
0
0
0
-2
2
-4
-5
43
0
0
0
0
0
-4
-1
-20
16
0
0
0
0
0
1
-3
2
10
0
0
0
0
0
1
1
20
7
0
0
0
0
-1
3
10
-9
39
0
0
0
0
0
0
2
-2
34
0
0
0
0
0
2
-2
-49
67
0
0
0
0
0
-21
40
9
-21
0
0
0
0
-8
1
-2
4
3
0
0
0
0
0
1
-1
-4
-23
0
0
0
0
0
0
2
22
-3
0
0
0
0
0
0
-8
-1
25
0
0
0
0
0
1
0
-7
-5
0
0
0
0
0
0
3
-13
70
0
0
0
0
1
0
-1
4
-35
0
0
0
0
-3
-5
6
22
6
0
0
0
0
1
3
-1
20
-23
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
1
-5
24
0
0
0
0
0
1
2
8
23
0
0
0
0
2
2
20
16
-1
0
0
0
0
0
0
26
31
18
0
0
0
0
2
2
0
13
-59
0
0
0
0
-12
-3
-5
17
-24
0
0
0
0
0
0
-1
3
9
0
0
0
2
0
0
0
1
2
0
0
0
0
0
0
0
-67
61
0
0
0
0
0
2
-2
-44
28
0
0
0
0
0
0
3
1
10
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
-1
-14
6
0
0
0
0
0
0
-9
-58
20
0
0
0
0
0
0
0
22
68
0
0
0
-1
0
0
0
-6
-46
0
0
0
0
0
0
-3
3
1
0
0
0
-1
0
-4
7
-9
30
0
0
0
0
0
0
-4
-14
34
0
0
0
0
0
0
2
12
-4
0
0
0
0
0
0
1
-1
29
0
0
0
0
0
3
0
43
-44
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
0
0
-10
-6
0
0
0
-5
0
0
1
32
23
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
1
1
-9
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
0
-31
-18
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
-2
2
4
40
0
0
0
0
0
0
-2
-32
3
0
0
0
9
0
0
-4
14
42
0
0
0
0
0
0
0
5
37
0
0
0
9
0
2
3
-14
40
0
0
0
0
0
-8
8
18
56
0
0
0
0
0
0
-2
0
-13
0
0
0
0
0
0
4
3
-25
0
0
0
0
0
-4
5
2
-23
0
0
0
0
0
0
-5
-9
-33
0
0
0
0
0
0
0
-3
-30
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-3
-17
8
38
0
0
0
0
0
0
-6
-61
-2
0
0
0
0
0
0
6
-7
32
0
0
0
0
0
0
2
-9
38
0
0
0
0
0
-1
-3
-9
-8
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
-4
-16
4
0
0
0
0
-1
0
0
-24
17
0
0
0
0
0
-2
0
-24
7
0
0
0
0
0
0
2
5
-15
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
2
-4
-5
0
0
0
0
0
0
-7
-5
1
0
0
0
0
0
0
-5
6
-3
0
0
0
0
0
0
-3
4
-15
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
2
-3
-11
0
0
0
0
0
-5
0
-1
29
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
0
1
-16
18
0
0
0
0
0
0
4
-2
-4
0
0
0
0
-1
0
0
8
43
0
0
0
0
0
0
12
15
-14
0
0
0
0
0
0
-2
-18
7
0
0
0
0
1
-2
4
-6
13
0
0
0
0
0
-3
9
2
15
0
0
0
0
0
0
-17
10
20
0
0
0
0
0
0
4
-15
50
0
0
-5
0
0
0
-23
-13
9
0
0
0
0
0
0
6
2
-4
0
0
0
0
0
0
-6
-16
-2
0
0
0
0
0
0
1
8
-38
0
0
0
0
0
0
6
33
54
0
0
0
0
0
0
9
-25
19
0
0
0
0
0
0
16
4
20
0
0
0
0
0
0
-6
-64
19
0
0
-2
0
0
0
0
-14
-11
0
0
0
0
0
0
-34
15
56
0
0
0
0
0
0
-5
-9
17
0
0
0
0
0
0
-15
53
-3
0
0
0
0
0
0
8
10
-2
0
0
0
0
0
0
-2
20
-21
0
0
0
0
0
0
-9
10
-23
0
0
0
0
0
0
-3
7
2
0
0
0
0
0
2
18
12
10
0
0
0
0
0
0
0
-8
-12
0
0
0
0
0
0
-3
-19
8
0
0
0
0
0
0
-23
0
15
0
0
2
0
0
0
4
10
3
0
0
0
0
0
0
-5
0
22
0
0
0
0
0
0
-6
7
8
0
0
0
0
0
0
-6
10
5
0
0
3
0
0
-1
-21
24
-18
0
0
0
0
0
0
17
-2
-5
0
0
0
0
0
0
-21
-11
13
0
0
0
0
0
1
18
5
31
0
0
19
-3
-1
-2
-29
-7
-34
0
0
0
0
0
0
13
-1
8
0
0
0
0
0
0
-4
-1
-35
0
0
0
0
0
0
-2
1
18
0
0
0
0
0
-1
-1
14
-18
0
0
0
0
0
0
-1
2
13
0
0
0
0
0
0
7
-2
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
2
12
-13
6
0
0
0
0
0
0
5
-11
-19
0
0
0
0
0
0
-1
-28
7
0
0
0
0
0
0
1
-1
10
0
0
0
0
0
3
13
11
15
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
2
2
13
0
0
0
0
0
0
-13
29
6
0
0
0
0
0
1
3
-7
-4
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
-15
-38
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
0
5
25
0
0
0
0
0
-2
9
-3
6
0
0
0
0
-1
0
4
-6
-37
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
2
-2
4
0
0
0
0
0
4
20
-4
-21
0
0
0
0
0
0
3
-7
41
0
0
0
1
0
0
-2
8
8
0
0
0
0
0
0
2
-7
-32
0
0
0
0
0
0
-6
-21
32
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
1
-5
-21
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
2
-1
6
10
0
0
0
0
0
0
0
2
-23
0
0
0
-3
0
1
-1
-10
11
0
0
0
0
0
0
1
-2
-10
0
0
0
0
0
-1
-5
-11
-17
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
35
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
2
1
2
2
0
0
0
0
0
0
-1
1
14
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-2
0
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
0
10
3
0
0
0
1
0
0
3
2
39
0
0
0
0
0
0
-4
1
8
0
0
0
0
0
0
-2
6
3
0
0
0
0
0
0
-7
-10
31
0
0
0
2
0
0
0
1
11
0
0
0
0
0
0
-10
1
-17
0
0
0
0
0
0
42
-12
-42
0
0
0
0
0
0
2
-2
15
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
-2
-1
1
24
0
0
0
0
0
0
0
0
-4
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
-4
3
0
0
0
0
0
-1
0
-1
-10
0
0
0
0
0
-1
0
1
-5
0
0
0
0
0
0
0
2
3
0
0
0
0
0
3
-2
-21
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
1
0
-1
-1
0
0
0
0
0
0
0
-2
-16
0
0
0
0
2
0
0
6
-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
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
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
-1
0
2
-12
0
0
0
0
0
1
-2
-11
7
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
1
-2
4
0
0
0
0
0
0
-1
0
-1
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
2
-8
-3
2
0
0
0
0
0
6
14
-10
-9
0
0
0
0
0
4
-9
6
11
0
0
0
0
0
0
10
16
-7
0
0
0
0
0
6
-23
42
17
0
0
0
0
0
-1
-1
-2
15
0
0
0
0
0
4
-7
-15
25
0
0
0
0
0
2
5
5
-11
0
0
0
0
0
7
5
3
17
0
0
0
0
0
6
8
9
-17
0
0
0
0
0
-2
4
-40
-15
0
0
0
0
0
0
23
-6
4
0
0
0
0
0
0
11
-15
-1
0
0
0
0
0
0
-6
-5
-29
0
0
0
0
0
1
7
-4
-6
0
0
0
0
0
-7
13
-5
1
0
0
0
0
0
-8
6
-2
15
0
0
0
0
0
20
-14
2
12
0
0
0
0
0
-2
-4
-11
26
0
0
0
0
0
-1
8
3
-2
0
0
-1
0
0
7
10
-23
0
0
0
0
0
0
1
-20
4
2
0
0
0
0
0
1
-1
-3
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
21
6
-5
0
0
0
0
0
-8
9
10
0
0
0
0
0
0
-10
-10
11
15
0
0
0
0
0
0
-2
12
-2
0
0
-1
0
0
4
-23
9
0
0
0
0
0
0
-16
-27
9
-13
0
0
0
0
0
4
20
-4
-28
0
0
0
0
0
-2
2
-19
-1
0
0
1
0
0
1
-21
6
82
0
0
0
0
1
9
-20
-7
27
0
0
0
0
0
0
0
2
-34
0
0
0
0
0
0
-8
-2
-1
0
0
0
0
-3
-1
14
-14
-61
0
0
0
0
0
3
3
5
27
0
0
0
0
0
-1
1
-9
-3
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
-17
15
52
0
0
0
0
0
3
2
-8
-35
0
0
0
0
0
0
-1
-7
54
0
0
0
0
0
-5
0
25
10
0
0
0
0
0
1
2
-21
0
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
-1
-6
5
10
0
0
0
0
0
-3
0
5
42
0
0
0
0
0
0
3
5
55
0
0
0
0
0
-1
1
0
9
0
0
0
0
0
0
-2
-10
3
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
-1
3
-6
-4
0
0
0
0
-1
0
-4
2
-21
0
0
0
0
0
0
-8
-5
-1
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
5
-1
-13
0
0
0
0
0
-1
-1
1
16
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
3
11
0
0
0
0
0
-1
-1
-9
2
9
0
0
0
0
0
0
-1
-10
17
0
0
0
0
0
1
0
9
1
0
0
0
0
0
3
-15
7
16
0
0
0
0
0
0
3
-13
15
0
0
0
2
0
0
0
-16
-33
0
0
0
0
0
0
1
14
-6
0
0
0
0
0
0
27
1
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-19
-23
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
1
3
16
25
0
0
0
0
0
0
0
2
28
0
0
0
0
0
0
0
-19
-24
0
0
0
0
0
0
-1
-2
14
0
0
0
0
0
0
-2
10
33
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
-3
-4
2
0
0
0
2
0
0
1
-6
-3
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
-1
-1
16
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
-3
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
0
0
2
-1
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
1
-21
0
0
0
-4
0
0
4
-2
8
0
0
0
0
0
0
-3
-4
-6
0
0
0
3
0
0
-11
2
-15
0
0
0
0
-1
0
1
-3
22
0
0
0
0
0
-3
0
5
46
0
0
0
0
0
5
0
11
-25
0
0
0
0
0
-3
13
-23
3
0
0
0
0
0
0
0
6
-57
0
0
0
0
0
0
3
-13
-26
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
-1
-9
-12
-26
0
0
0
0
0
0
3
-1
30
0
0
0
0
0
0
0
-17
67
0
0
0
0
0
0
-1
2
-34
0
0
0
0
0
0
-1
-17
17
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
-3
0
-1
21
0
0
0
0
0
-3
7
6
2
0
0
0
0
0
1
0
1
5
0
0
0
0
0
1
0
-22
-8
0
0
0
0
0
0
1
4
4
0
0
0
0
0
0
-12
6
8
0
0
0
0
-1
0
0
-7
10
0
0
0
0
0
0
-7
3
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
2
-1
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
-2
0
-7
4
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
7
-5
0
0
0
0
-3
-2
-25
33
-24
0
0
0
0
0
-1
-4
-11
25
0
0
0
1
0
1
2
24
0
0
0
0
0
0
0
8
1
-20
0
0
0
0
0
-1
13
-7
-40
0
0
0
0
0
0
-11
-12
-16
0
0
0
0
0
-3
-4
8
-19
0
0
0
0
0
0
2
-5
-19
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
1
10
-9
4
0
0
0
0
0
0
1
-25
5
0
0
0
0
0
-1
4
-17
-48
0
0
1
0
0
-3
2
13
-11
0
0
0
0
0
0
-6
21
10
0
0
0
0
0
0
-4
-8
34
0
0
0
0
0
-6
-3
-9
14
0
0
0
0
0
0
-10
17
32
0
0
0
0
0
0
1
-15
-2
0
0
0
0
0
0
-12
8
-6
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
3
4
12
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
2
-4
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
-4
-1
11
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
-39
1
0
0
-4
0
0
5
-7
-5
0
0
0
0
0
0
0
4
4
-56
0
0
0
0
0
0
1
-7
15
0
0
0
0
0
0
2
-21
4
0
0
-5
0
0
12
65
-18
-5
0
0
0
0
1
0
0
2
8
0
0
0
0
0
0
0
-8
-14
0
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
-2
5
-4
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
-1
4
-16
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
28
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-5
-24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
5
0
0
0
0
0
1
-2
-5
0
13
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
4
-3
-5
-7
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
1
-1
-12
-19
37
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
1
34
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
5
0
1
32
0
0
0
0
0
0
1
-8
33
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
3
-4
0
0
0
-1
0
0
2
4
44
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
5
0
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
3
0
0
0
0
0
0
-2
-3
0
-8
0
0
0
0
0
0
0
0
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
-1
-7
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
1
0
4
0
0
0
0
0
-3
0
-7
8
0
0
0
0
0
-1
0
13
52
0
0
0
0
0
-1
0
-23
-5
0
0
0
0
0
-2
-3
15
-40
0
0
0
0
0
0
-2
-21
24
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
-3
-5
-11
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
5
2
2
-35
0
0
0
0
0
-6
-1
-4
8
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
-2
-4
0
0
0
0
0
1
0
-1
3
0
0
0
0
-2
-1
0
5
6
0
0
0
0
0
0
1
8
-17
0
0
0
0
0
0
0
6
20
0
0
0
0
0
-1
-9
-6
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
1
0
0
0
0
-3
1
2
0
9
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-5
0
-1
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
-11
-10
-13
-18
22
0
0
0
0
-2
3
4
-31
26
0
0
0
-2
0
-5
-3
-29
71
0
0
0
0
0
-3
-11
5
4
0
0
3
0
0
-2
-1
-3
0
0
0
0
0
0
14
9
4
25
0
0
0
0
0
-2
0
-5
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-4
-8
-11
16
0
0
0
0
1
-5
-1
23
3
0
0
0
0
0
-4
1
1
21
0
0
0
0
0
5
-9
2
-8
0
0
0
0
0
-13
-5
-42
1
0
0
0
0
0
3
-1
6
-6
0
0
0
0
0
-2
2
-1
-8
0
0
0
0
0
2
8
-7
24
0
0
0
0
0
-3
14
-20
1
0
0
0
0
-1
-10
48
4
36
0
0
0
2
0
-3
20
3
-1
0
0
0
0
0
3
0
-20
-48
0
0
-1
0
0
2
13
14
-31
0
0
0
0
-5
-3
0
11
18
0
0
0
0
0
1
3
0
22
0
0
0
0
0
-1
2
0
-4
0
0
0
0
0
4
4
4
-11
0
0
0
0
-1
-8
27
-5
-7
0
0
0
1
0
2
2
3
9
0
0
0
0
0
-6
-1
-28
17
0
0
-1
0
0
0
0
-1
4
0
0
0
0
-1
13
-8
-5
17
0
0
0
-1
0
-7
6
5
-6
0
0
0
0
-1
-17
-12
-9
34
0
0
2
-3
-1
-41
25
12
-33
0
0
0
0
-1
14
10
-5
24
0
0
0
0
0
1
0
0
12
0
0
0
0
0
-2
-5
-3
6
0
0
0
0
0
-2
-13
-16
5
0
0
0
0
0
3
-10
2
1
0
0
0
0
0
2
8
-6
-24
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-2
17
-17
-3
0
0
0
0
0
-3
0
-6
15
0
0
0
0
0
0
1
0
15
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
4
21
29
-10
0
0
0
0
0
-4
-1
-3
-11
0
0
0
0
0
0
0
-2
-11
0
0
0
0
-1
0
0
-5
37
0
0
0
0
-1
-1
2
16
37
0
0
0
0
2
0
0
3
4
-58
0
0
0
0
0
3
-4
6
12
0
0
0
0
1
3
-7
-27
-22
0
0
0
0
0
-1
-37
7
7
0
0
0
0
1
0
0
2
-2
0
0
0
0
0
0
-4
17
-21
0
0
0
1
-2
-2
2
10
54
0
0
0
0
0
-1
-1
6
19
0
0
0
1
-6
5
17
5
-48
0
0
0
0
0
1
-1
-14
9
0
0
0
0
1
0
-35
15
-80
0
0
0
0
0
2
-24
-1
55
0
0
0
1
-1
-2
7
53
36
0
0
0
0
0
1
7
-39
60
0
0
0
-1
4
0
-37
27
0
0
0
0
2
2
17
-17
-3
41
0
0
0
0
1
2
-14
-15
0
0
0
1
0
0
-2
-22
-10
0
0
0
0
0
0
0
-25
22
0
0
0
0
0
3
1
-26
0
0
0
0
0
0
0
1
-4
7
0
0
0
1
0
0
0
2
-10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
2
-29
-6
0
0
0
0
0
0
-1
37
0
0
0
0
0
0
0
0
37
4
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
-1
-3
-1
5
0
0
0
0
0
0
4
2
-23
0
0
0
-2
0
0
-2
-6
5
0
0
0
0
0
0
0
14
2
0
0
0
0
0
-1
0
-13
-1
0
0
0
0
0
0
2
1
-47
-67
0
0
2
0
0
-2
-15
10
27
0
0
0
0
0
0
-2
11
3
0
0
0
0
0
-1
7
0
54
0
0
0
0
0
3
-2
3
-40
0
0
0
0
0
2
-1
-32
-34
0
0
0
0
0
0
-27
2
65
0
0
0
0
-1
1
2
-7
-4
0
0
0
0
3
0
-13
-7
9
0
0
0
0
-1
0
8
69
-39
0
0
0
0
0
0
2
-7
-38
0
0
0
0
0
0
-14
-10
41
0
0
0
0
0
-2
25
12
-60
0
0
-3
0
0
1
-17
-10
-9
0
0
0
0
0
-1
0
7
46
0
0
12
0
0
-2
-6
13
9
0
0
0
2
1
2
5
18
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
-1
0
22
4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
22
0
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
-1
3
5
0
0
0
0
0
0
-1
-2
-2
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
-5
0
0
0
0
0
-1
-5
1
-34
0
0
0
0
-2
0
1
2
-19
-37
0
0
0
0
0
0
-4
1
9
0
0
0
0
0
0
2
2
2
0
0
0
0
0
-8
-7
-1
45
0
0
0
0
0
0
1
-7
-50
0
0
0
0
0
-2
1
1
25
0
0
0
0
0
0
4
0
-10
0
0
0
0
0
0
3
0
-107
0
0
0
2
-2
0
-7
-10
25
0
0
0
0
0
0
-5
-5
13
0
0
0
0
0
-6
-1
-9
26
0
0
0
0
0
2
-5
-6
-15
0
0
0
-2
0
0
-18
38
-41
0
0
0
0
0
0
-1
5
-6
0
0
0
0
0
0
22
1
-38
0
0
0
0
2
10
-43
-59
-8
0
0
0
0
-2
-1
-16
5
0
0
0
0
0
0
2
-33
-10
0
0
0
0
0
-2
-6
-3
-11
0
0
-1
0
0
0
1
-6
-5
0
0
0
0
0
0
5
-20
0
0
0
0
0
0
0
-7
12
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
-7
5
0
0
0
0
0
0
10
-18
3
0
0
0
0
0
0
4
-27
-2
0
0
0
0
0
0
14
-50
-3
0
0
0
0
0
0
-3
-25
3
0
0
0
0
0
0
-1
9
1
0
0
0
0
0
0
-3
4
1
0
0
0
0
0
4
2
3
8
0
0
0
0
0
0
-4
-48
4
0
0
0
0
0
0
1
9
-1
-120
0
0
0
0
0
1
-14
14
36
0
0
0
0
0
1
-3
2
0
0
-1
0
0
0
1
1
4
-57
0
0
0
0
0
-10
-7
4
-36
0
0
0
0
0
3
1
0
12
0
0
0
0
0
1
1
2
-83
0
-4
0
0
0
0
2
1
63
0
0
0
0
0
2
-44
-15
53
0
0
0
0
0
0
-5
9
-19
0
0
0
0
0
2
-29
0
38
0
2
0
0
0
2
2
-3
-5
0
0
0
0
0
-3
33
31
-27
0
0
0
0
0
-1
-21
-3
61
0
0
0
0
-4
0
-42
16
4
0
-1
0
0
-8
47
-30
9
-37
0
0
0
0
2
-2
-3
40
0
0
0
0
0
0
0
-34
-13
0
0
0
0
0
-1
-3
7
28
0
0
0
0
0
-2
3
-10
-24
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
0
15
0
0
0
0
0
0
-2
-5
-1
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-23
-2
0
0
0
0
0
0
-13
32
-2
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
-12
-13
-13
0
0
0
0
1
0
-1
12
-3
69
0
0
0
0
0
0
3
-27
-69
0
0
0
0
0
0
-8
-12
64
0
0
0
0
0
0
3
0
-22
0
0
0
0
0
2
0
1
-25
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
1
-67
0
0
0
0
1
1
-1
-4
-33
0
0
0
-3
-1
-1
18
-7
0
0
0
0
0
0
0
-20
-3
-6
0
0
0
0
0
0
-14
-4
11
0
0
0
0
0
-3
25
-17
-15
0
0
0
1
0
1
2
-9
-41
0
0
0
0
0
0
2
10
32
0
0
0
0
1
0
1
-1
-28
0
0
0
-1
2
-2
-31
50
-64
0
0
0
0
1
-4
2
42
0
0
0
-2
0
0
1
-4
-33
0
0
0
0
0
0
1
10
-33
0
0
0
0
0
1
6
1
-2
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
1
-2
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
1
43
20
0
0
0
0
0
0
0
8
-8
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
2
-5
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
4
0
-1
-69
0
0
0
0
0
2
1
-5
-2
47
0
0
5
0
0
0
-3
15
54
0
0
0
0
0
0
1
-2
-34
0
0
0
0
0
4
-3
0
-44
0
0
0
0
0
-1
-4
-2
-32
0
0
0
0
0
2
-1
4
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
-38
0
0
0
0
0
-1
-9
-7
55
0
0
1
0
0
0
0
-22
-18
0
0
0
0
0
1
-18
-1
4
0
0
0
0
0
0
8
-2
12
0
0
0
0
0
0
4
-2
-9
0
0
0
0
0
0
3
2
17
0
0
0
0
1
0
0
-1
-10
0
0
-1
0
-5
-6
-38
23
-13
0
0
0
-8
0
0
16
7
0
0
0
0
0
1
-3
9
38
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
-13
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-4
-2
0
0
0
0
-2
0
0
6
-13
0
0
0
0
0
0
0
9
13
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
-13
3
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
3
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
4
6
41
0
0
0
0
0
0
1
0
26
0
0
0
0
0
0
4
-2
41
0
0
0
0
0
-4
4
0
16
0
0
0
1
0
0
-2
0
-14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-16
-7
42
0
0
0
0
0
0
6
-7
-3
0
0
0
0
0
0
-2
0
-19
0
0
0
0
0
1
-4
-2
16
0
0
0
0
0
0
3
-2
-47
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
0
2
0
-52
0
0
0
-1
0
-2
-29
-11
-19
0
0
0
0
-4
-18
-28
41
0
0
0
0
0
1
0
2
-41
0
0
0
0
0
2
1
25
-1
0
0
0
0
0
2
-12
-12
1
0
0
0
0
0
2
-8
23
8
0
0
0
0
0
0
9
-9
-4
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
-5
2
-15
2
0
0
0
0
0
8
-6
6
-17
0
0
0
-3
0
0
1
8
-6
0
0
0
0
0
0
2
-14
9
0
0
0
0
0
-1
-32
21
-4
0
0
0
0
0
0
7
-22
-26
0
0
0
0
0
0
-5
-5
10
0
0
0
0
0
1
1
-4
14
0
0
0
0
0
2
4
-16
49
0
0
0
0
-2
1
3
4
2
57
0
0
0
0
0
1
-12
-13
33
0
0
0
0
-1
-1
2
1
-101
0
0
0
0
0
1
-20
0
-30
0
0
0
0
-3
-1
0
-1
-62
0
0
0
0
0
0
-2
4
-16
0
0
0
0
0
-2
0
0
-26
0
0
0
0
0
1
0
0
-15
0
0
0
0
3
34
10
-14
56
0
0
0
0
0
2
0
-28
22
0
0
0
0
0
-4
-2
0
4
0
0
0
0
0
2
9
0
-74
0
0
0
0
2
5
-1
1
19
0
0
-1
0
0
4
1
9
-53
0
0
0
0
-3
13
2
2
-4
0
-1
1
0
26
52
13
-28
-48
0
0
0
2
0
0
10
52
0
0
0
0
0
0
0
14
-6
0
0
0
0
0
-1
2
22
9
0
0
0
0
0
5
-17
23
43
0
0
0
0
-1
-3
6
0
54
0
0
0
0
0
2
-2
5
34
0
0
0
0
3
-1
-5
4
-16
0
0
0
0
0
4
0
20
0
0
0
0
0
0
0
-1
-13
2
0
0
0
0
0
0
3
0
-17
0
0
0
0
0
1
2
-2
-6
0
0
0
0
0
-1
3
-21
0
0
0
0
0
0
1
2
5
-17
0
0
0
0
0
1
2
1
-8
0
0
0
0
0
3
0
-1
-4
0
0
0
0
2
-17
14
2
-10
0
0
0
0
1
3
0
-26
31
13
0
0
0
0
0
-1
19
4
-74
0
0
0
0
-1
1
-10
13
-21
0
0
0
0
2
12
-7
-11
-62
0
0
0
0
2
-1
4
5
57
0
0
0
0
0
-1
-16
1
34
0
0
0
-1
0
0
0
-8
23
0
0
0
0
-1
-9
0
38
-3
0
0
0
1
2
-6
5
-17
7
-71
0
0
0
0
0
-21
63
-97
71
0
0
0
1
-1
-10
-4
-10
22
0
0
0
-4
-3
1
9
-21
17
0
0
0
-2
4
-3
-22
-32
-9
0
0
0
-4
0
-15
-42
47
-25
0
0
-5
0
2
-9
12
-1
20
0
0
-2
2
-6
2
-3
25
7
0
0
0
-1
2
-10
-16
0
0
0
0
0
0
1
12
-39
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
16
17
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
1
24
5
0
0
0
0
0
0
-1
-17
-9
0
0
0
1
0
0
-1
-4
-3
0
0
0
0
0
0
3
-14
7
0
0
0
0
0
0
0
-23
11
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
3
0
0
0
0
-2
0
0
1
-12
18
0
0
0
0
0
1
0
13
19
-52
0
0
0
0
0
0
-9
12
-19
0
0
0
0
0
0
-21
7
57
0
0
0
0
1
0
6
-24
12
0
0
0
0
0
-2
-18
15
3
0
0
0
0
0
0
-13
12
-47
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
-1
4
-5
6
0
0
0
0
-1
0
-21
-18
-48
109
0
2
0
0
-3
-31
24
13
-69
0
0
0
0
0
-1
-21
-23
-39
0
0
0
0
0
-24
-2
-30
16
0
0
0
0
0
12
-2
54
-1
0
0
0
0
0
11
4
6
42
0
0
0
0
0
4
-8
19
-56
0
0
0
-2
-19
-8
36
-10
44
0
0
0
-4
-4
-8
24
0
0
0
0
0
0
0
-43
8
0
0
0
0
0
6
0
11
-17
0
0
0
0
0
-1
0
5
5
0
0
0
0
0
-1
2
-2
-35
0
0
0
0
0
0
6
-2
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-35
0
2
0
0
0
0
1
-1
3
8
2
0
0
0
0
0
0
0
2
-7
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
0
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
2
-19
13
0
0
0
0
0
0
0
7
-59
-7
0
0
0
0
0
0
-50
-7
53
0
0
0
0
0
3
7
6
-3
0
0
0
0
0
-4
20
-7
42
0
0
0
-4
0
2
-7
-22
-32
0
0
0
0
0
-2
4
36
-38
0
0
0
0
0
0
6
2
-40
0
0
0
0
-1
6
9
0
-1
0
0
0
0
0
0
-18
-25
41
-30
0
0
0
0
1
-1
-9
-16
91
0
0
0
0
-1
-4
4
22
-23
0
0
0
0
0
-6
0
-4
-22
0
0
0
-1
0
4
-17
24
20
0
0
0
0
0
-3
-4
33
-3
0
0
0
0
0
9
-2
4
-5
0
0
1
9
14
4
-6
-111
47
0
0
0
-4
7
-1
43
0
0
0
0
0
0
1
-24
11
0
0
0
0
0
-2
7
25
-35
0
0
-5
0
0
-1
9
13
37
0
0
0
0
0
0
-16
-2
5
0
0
0
0
0
0
5
0
-5
0
0
0
0
0
0
1
-1
8
0
0
1
0
0
4
-34
-29
-10
0
0
0
0
0
-1
5
12
-35
0
0
0
2
0
0
-3
5
-22
0
0
0
0
0
0
0
-24
8
0
0
-1
0
0
0
5
-59
4
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-3
-25
12
0
0
0
0
0
1
1
3
28
-46
0
0
0
0
0
1
33
49
-31
0
0
0
0
-1
-8
6
0
16
0
12
0
0
0
0
-13
-16
6
0
0
0
0
0
-1
7
-5
29
0
0
0
0
0
-2
-8
5
15
0
0
0
0
0
1
-5
-8
-50
0
0
0
0
0
11
-14
7
-48
0
0
0
0
0
-18
5
-18
-16
52
0
0
0
0
-5
0
-3
38
-41
0
0
0
0
0
9
0
28
58
0
0
0
0
-3
6
3
0
-21
0
0
0
0
0
-8
6
25
-54
0
0
0
0
-3
1
-15
-15
111
0
0
0
-4
0
-27
-1
-19
-19
3
0
-2
-11
-6
29
-48
-51
-6
0
0
0
1
-11
31
-34
0
0
0
0
0
0
0
4
79
0
0
0
0
0
0
-1
-25
29
0
0
0
0
0
0
-20
-14
5
0
0
0
0
-2
1
1
6
6
0
0
0
0
0
0
-4
1
18
0
0
0
0
-1
0
0
6
-6
0
0
0
0
0
4
13
13
-16
0
0
0
0
0
1
0
-4
-20
0
0
0
0
0
0
-4
9
2
0
0
0
0
0
-3
0
-16
-2
0
0
0
0
0
-1
4
23
-7
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
-2
-4
56
0
0
0
0
-1
-3
0
-13
-1
0
0
0
0
0
3
12
4
-5
0
0
0
0
-2
1
-3
6
2
1
0
0
0
0
0
-2
9
-37
8
0
0
0
0
0
2
-6
1
41
0
0
0
0
0
2
-8
14
-33
0
0
0
0
0
1
-1
1
-45
0
0
0
0
0
3
-1
-25
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
-3
15
3
2
-31
0
0
0
2
-2
0
6
-1
24
-36
0
0
0
0
-1
-1
-10
-47
10
0
0
0
-1
-1
-1
1
11
30
0
0
0
0
2
-16
5
16
32
0
0
-1
0
0
0
-26
9
-20
0
0
0
0
1
-3
-12
-17
-22
0
0
2
0
-6
4
-1
-28
8
0
0
2
-12
1
-12
-5
15
62
0
0
-1
1
-1
10
23
0
0
0
11
0
0
0
-25
58
0
0
0
0
0
0
-4
-2
17
0
0
0
0
0
-4
-5
26
-31
0
0
0
0
0
0
3
-1
0
0
0
0
2
0
1
-7
-6
45
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
3
4
-19
0
0
0
0
0
4
1
8
53
0
0
0
-3
0
0
1
5
-29
0
0
0
0
0
0
-1
-15
-19
0
0
0
0
0
0
2
-4
11
0
0
0
0
0
0
0
-2
1
0
0
0
-1
0
0
0
-1
-19
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-5
-4
20
0
0
0
0
-1
0
0
-3
26
-1
0
0
-10
0
0
1
6
1
55
0
0
0
0
0
0
-13
-11
16
0
0
0
0
0
0
10
-6
-7
0
0
0
0
0
7
-4
1
37
0
0
-2
0
0
-2
0
-1
-5
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
-4
-3
0
21
0
0
0
0
-1
1
-2
18
-21
38
0
-18
0
0
0
3
-22
-26
71
0
0
0
0
0
-7
-1
-9
-20
0
4
0
0
1
-3
-6
8
-62
0
0
0
0
0
-9
19
-26
8
0
11
0
0
0
0
-8
-22
17
0
0
0
-2
-2
2
-4
15
-17
0
-10
0
-7
17
-5
50
-75
-31
0
0
-1
-3
0
2
32
0
0
0
0
0
-1
2
10
30
0
0
0
0
-1
0
-3
-17
16
0
0
0
0
0
2
-12
24
26
0
0
0
0
0
1
1
6
27
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
1
6
0
0
0
0
0
-8
-8
9
-21
0
0
0
0
-3
1
0
4
-8
0
0
0
0
0
-1
-1
7
-2
0
0
0
0
0
0
-10
-15
-6
0
0
0
0
0
-1
4
-3
18
0
0
0
0
-3
0
0
0
29
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-2
-1
0
0
0
0
0
0
-2
-4
12
29
0
0
0
0
0
1
-14
13
-60
0
0
0
1
0
0
-2
-2
34
0
0
0
0
0
0
4
-2
-20
0
0
0
0
1
0
-6
3
16
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
0
-25
0
0
0
0
-2
-1
-5
0
26
0
0
0
13
-1
3
2
-1
9
35
0
0
0
0
0
10
4
28
-25
0
0
3
0
0
-3
0
-34
22
0
0
-1
0
0
0
-8
29
-1
0
0
-10
0
1
-3
2
-46
31
0
0
0
0
0
-6
-5
-38
21
0
0
4
3
0
-4
0
-21
-47
0
0
-30
21
-19
5
52
28
-78
0
0
-13
-23
56
14
45
0
0
0
60
1
10
-8
-33
33
0
0
0
0
69
56
-3
-37
25
0
0
23
-6
-3
27
-4
-38
1
0
0
0
0
-1
4
7
-18
-3
0
0
0
-6
5
-57
-82
6
91
0
0
0
0
0
-22
-13
31
-37
0
0
1
5
1
1
31
-49
-48
0
0
0
0
8
34
-23
38
-11
0
0
0
13
0
-7
105
-63
-10
0
0
0
0
-27
-18
-39
7
0
0
0
18
12
-7
36
0
-13
-30
0
0
0
0
-5
-14
-8
6
-8
0
0
0
1
1
12
-46
15
-38
0
0
0
0
-8
22
-22
2
-33
0
0
5
-32
-33
-30
-28
-9
6
0
0
0
0
8
38
46
-7
117
35
0
0
-35
-5
25
-10
3
6
40
0
0
0
2
-24
-17
-50
-3
1
0
37
-2
1
-14
6
52
0
-80
0
0
0
19
42
8
33
0
-28
0
0
15
-1
-19
57
-43
-50
26
0
0
0
-21
2
5
5
-16
-9
0
8
0
3
16
34
-26
1
-33
0
0
0
17
15
-28
-128
75
2
67
0
-24
0
5
-20
57
-74
105
62
0
0
-11
-24
50
-57
-35
6
-15
-27
7
0
0
-38
11
-39
1
15
0
0
39
-9
-4
12
24
-2
30
0
-2
1
-22
-26
42
61
-98
-13
0
0
-15
-18
-21
0
-61
-35
15
-35
11
-6
-90
36
-46
19
12
-40
0
0
22
73
-11
8
10
0
0
0
0
4
15
52
11
-16
0
0
0
0
3
-46
24
-60
3
0
0
0
0
1
-4
-14
-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
0
-4
0
5
-28
0
0
0
0
0
0
0
-19
-2
0
0
0
0
2
4
26
-26
38
0
0
0
0
0
4
1
-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
-42
11
65
37
-22
0
0
0
0
0
1
-3
4
0
0
0
0
0
0
-7
-22
-52
10
0
0
0
0
0
3
-11
-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
-5
2
33
29
-15
0
0
0
0
0
2
11
8
66
0
0
0
0
0
-1
-11
26
27
0
0
0
0
0
-3
-1
-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
1
20
-52
2
0
0
0
7
1
11
-26
0
35
0
0
0
0
0
16
9
-8
16
0
0
0
1
1
-20
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
45
-45
0
0
0
6
0
0
-1
-2
14
0
0
0
0
0
2
3
6
-17
0
0
0
-2
0
1
0
-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
0
-1
1
-27
61
0
0
0
23
0
-10
-5
0
13
0
0
0
0
0
0
-2
-13
24
0
0
0
0
0
-8
-7
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
-2
18
0
0
0
-5
0
-7
-1
-3
23
0
0
0
0
0
0
-7
-8
2
0
0
0
-1
0
0
6
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
-7
34
15
11
0
0
0
0
0
-3
4
20
10
0
0
0
0
9
5
-5
8
-21
0
0
0
0
-1
-15
-13
27
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
1
-47
-27
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
-8
-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
0
0
0
0
0
0
0
0
0
-3
-1
23
-47
59
0
0
0
0
0
2
-1
-4
-29
0
0
0
0
1
-11
-11
40
5
0
0
0
0
0
-5
-4
-27
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
9
-27
0
0
0
0
0
0
0
13
5
0
0
0
0
0
0
2
-43
-1
0
0
0
0
0
0
-2
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
7
0
0
0
0
0
2
39
24
-42
0
0
0
0
2
-20
15
40
40
0
0
85
0
-1
5
35
22
-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
1
0
-4
0
0
0
0
0
0
-8
-25
18
0
0
0
0
0
0
24
-13
-11
0
0
1
0
0
-2
52
-13
-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
-23
-34
19
0
0
0
0
0
1
-22
28
39
0
0
0
0
-4
-3
32
-5
-25
0
0
0
0
0
-10
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
0
-31
9
-4
0
0
0
0
0
3
13
8
-24
0
0
0
0
0
-1
-2
-10
3
0
0
10
0
0
5
-15
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
12
-15
52
7
-20
0
0
0
0
0
0
13
0
-38
0
0
0
0
0
11
-9
-37
-5
0
0
0
0
0
2
21
-21
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
9
-18
26
-11
8
0
0
0
0
0
0
2
-38
19
0
0
0
0
0
-3
6
6
19
0
0
0
0
0
-2
6
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
-8
7
2
31
0
0
0
0
0
-2
-2
-6
-8
0
0
0
0
0
2
-4
-38
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
0
0
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
30
-13
-5
0
0
0
0
0
0
1
-57
-1
0
0
0
0
-2
-2
1
-10
15
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
-17
-3
0
0
0
-1
0
4
-62
2
19
0
0
0
0
-2
5
7
9
80
0
0
0
1
0
-3
7
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
0
0
0
-1
-11
-15
-4
0
0
0
23
0
-3
18
-38
26
0
0
0
0
0
-5
-4
8
-34
0
0
0
0
0
2
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
-4
-10
-6
0
0
0
0
0
0
-3
-23
14
0
0
0
0
0
-1
-7
2
-7
0
0
0
0
0
-1
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
-8
0
35
0
0
0
-1
0
-2
-8
-3
6
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
5
-2
-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
-6
2
16
24
-23
0
0
0
0
0
-1
-13
3
-44
0
0
0
0
0
0
-19
-12
22
0
0
0
0
-2
5
21
-32
-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
-9
11
0
0
0
0
0
0
0
-11
26
0
0
0
0
0
0
-2
-11
-12
0
0
0
0
0
1
-2
-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
3
-5
7
-12
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
1
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
-3
1
32
7
0
0
0
0
0
-2
0
-3
3
0
0
0
0
0
0
0
33
4
0
0
0
0
0
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
1
33
-38
3
0
0
0
0
0
0
-12
34
28
-62
0
0
0
0
0
-3
64
-29
4
0
0
0
0
-1
-15
-12
-26
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
-8
41
-16
-19
0
0
0
0
0
-3
0
-3
53
0
0
0
0
1
4
-7
9
42
0
0
-1
0
0
16
-1
26
-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
7
12
-24
-32
0
0
0
1
0
2
11
12
-25
0
0
0
0
-1
7
-18
-65
20
0
0
0
0
0
-29
23
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
-2
-16
-21
20
0
0
0
0
0
3
-2
-5
-1
0
0
0
0
0
1
-35
-7
1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
10
10
-6
-10
52
0
0
0
0
0
1
-16
-2
30
0
0
0
0
0
-3
-12
43
-6
0
0
0
0
0
1
23
-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
-4
-2
-8
-15
41
0
0
0
0
0
0
2
27
-33
0
0
0
0
0
2
0
3
-18
0
0
0
0
0
0
-5
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
20
-5
1
40
-32
0
0
0
0
0
-3
9
-25
18
0
0
0
0
0
1
1
-10
-31
0
0
0
0
-1
3
-44
-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
-3
8
17
22
46
0
0
0
0
0
0
21
44
-18
0
0
0
0
-4
-2
5
1
43
0
0
0
0
0
-4
-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
5
-20
-14
0
0
0
-6
0
10
16
-14
14
0
0
0
0
0
-1
-26
-2
-4
0
0
0
0
0
-1
1
2
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
25
-1
0
0
0
4
0
0
-1
-23
-72
0
0
0
0
0
-7
0
-26
25
0
0
0
0
0
0
3
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
-13
31
-32
0
0
0
28
0
2
-13
-42
3
0
0
0
0
0
0
-15
-25
-21
0
0
0
0
0
-4
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-21
-16
0
0
0
4
0
0
9
-18
-24
0
0
0
0
0
0
-2
-2
21
0
0
0
0
0
-3
7
-61
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
1
-7
-30
12
0
0
0
0
-2
4
-19
-29
24
0
0
0
0
2
-1
20
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
-1
2
-20
41
0
0
0
0
0
0
5
-66
-2
0
0
0
0
0
2
-11
-20
-7
0
0
0
0
1
0
-2
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-27
0
0
0
0
1
0
4
-16
7
0
0
0
0
-3
-8
-3
9
-10
0
0
0
0
3
0
28
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
0
0
1
-29
55
9
0
0
0
0
0
0
-1
-17
3
0
0
0
0
-6
5
3
3
-6
0
0
0
0
-2
0
15
31
-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
2
-1
3
38
0
0
0
-2
0
4
-32
-65
4
0
0
0
0
0
-2
7
-24
-45
0
0
2
0
1
-15
50
-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
0
0
0
0
0
0
0
0
-1
-6
-1
31
0
0
0
0
0
-1
-3
-10
35
0
0
0
0
0
0
12
-38
-4
0
0
5
0
0
5
-25
-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
0
0
0
0
0
0
0
0
0
2
22
-3
-50
0
0
0
0
0
-5
17
-37
6
0
0
0
0
0
3
-10
4
6
0
0
-12
0
0
-14
12
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
0
-2
4
12
8
0
0
0
0
0
-2
-6
-15
-67
0
0
0
0
0
0
5
2
-2
0
0
-14
0
0
1
1
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
5
-1
-8
-2
17
0
0
0
0
0
-2
3
-24
-9
0
0
0
0
0
3
2
-17
-20
0
0
0
0
0
0
2
-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
0
0
2
8
-1
15
17
0
0
0
0
0
0
3
-7
39
0
0
0
0
0
7
1
0
-15
0
0
0
0
0
0
-3
-5
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
-10
24
-6
13
0
0
0
0
0
-3
4
6
12
0
0
0
0
0
0
-2
-14
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
0
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
39
-10
57
0
0
0
0
0
0
0
9
13
0
0
0
0
-2
-1
-8
-1
-25
0
0
0
0
0
0
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
-1
1
-12
22
0
0
0
-3
0
1
-2
-11
-21
0
0
0
0
0
1
-2
2
-11
0
0
0
0
0
0
16
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
-4
-9
0
0
0
0
0
0
2
7
16
0
0
0
0
0
0
-1
-10
19
0
0
0
3
0
-8
-10
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
-1
7
23
0
0
0
2
0
0
-22
24
4
0
0
0
0
0
0
4
3
2
0
0
0
0
0
0
-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
9
13
-25
0
0
0
-4
0
1
0
14
47
0
0
0
0
0
0
0
-19
-15
0
0
0
0
0
0
-9
-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
-29
0
15
-40
-16
0
0
0
0
0
-1
13
-12
46
0
0
0
0
3
-2
-22
32
25
0
0
0
0
4
0
-6
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
1
1
3
0
0
0
0
0
-1
0
-2
32
0
0
0
0
0
-2
3
-2
-5
0
0
0
0
0
-4
-2
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
-4
14
6
-11
51
0
0
0
0
0
0
-4
13
-23
0
0
0
0
0
0
-3
6
-13
0
0
0
0
0
-2
-7
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
-3
-5
-1
-18
-38
0
0
0
0
0
0
5
1
23
0
0
0
0
1
0
0
-14
13
0
0
0
0
0
1
-8
-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
9
12
-37
9
16
0
0
0
0
0
-4
25
-8
-8
0
0
0
0
-2
-22
-54
17
11
0
0
-3
0
0
10
-17
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
-16
1
-22
22
0
0
0
0
0
-1
0
-9
53
0
0
0
0
0
-17
-5
-23
2
0
0
-3
0
0
6
0
11
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
20
9
-20
-17
0
0
0
-1
0
11
-22
-28
-37
0
0
0
0
-1
-3
-4
-24
-13
0
0
0
0
0
-22
5
-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
0
-4
8
-14
48
-4
0
0
0
-7
0
-4
14
-18
-4
0
0
0
0
0
-19
-25
-20
59
0
0
6
0
0
-8
-11
33
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
2
-63
6
55
0
0
0
0
0
1
14
2
-3
0
0
0
0
3
6
6
-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
7
-13
58
16
-47
0
0
0
0
0
0
-18
-27
24
0
0
0
0
-1
-14
7
18
32
0
0
0
0
-1
3
-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
14
-11
-23
31
2
14
0
0
0
0
1
13
12
56
9
0
0
0
3
-2
4
-44
-37
-4
0
0
0
0
-1
3
-8
44
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-12
8
-3
31
22
0
0
0
0
-4
-21
-6
-10
26
0
0
0
0
0
-1
24
23
18
0
0
0
0
0
5
-69
3
-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
0
0
0
0
0
-2
-3
-12
-22
0
0
0
18
0
-8
7
-2
12
0
0
0
0
0
-2
0
-16
13
0
0
0
0
0
2
-22
-33
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
-4
-13
33
0
0
0
12
0
2
17
41
-29
0
0
0
0
0
1
-1
12
-34
0
0
0
0
0
0
-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
4
-3
11
54
0
0
29
0
-2
-8
-46
4
71
0
0
0
-2
-2
0
-22
-7
-47
0
0
0
0
0
2
29
-22
-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
-29
29
-71
0
0
7
0
0
4
14
34
-1
0
0
0
0
1
-1
-33
-1
-18
0
0
-3
0
0
-3
36
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
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
11
0
0
0
0
0
0
-1
5
-16
-10
0
0
0
0
-2
4
-5
-49
2
0
0
0
0
7
1
-12
-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
-1
-11
-6
9
0
0
0
0
0
0
0
-21
28
0
0
0
0
4
3
0
-15
-11
0
0
0
0
0
-3
-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
4
-21
23
33
-45
0
0
0
0
0
0
26
11
7
0
0
0
-3
0
0
-13
-32
23
0
0
0
0
0
-1
-20
-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
0
0
0
0
0
0
1
-13
-12
7
46
0
0
0
0
-2
0
-73
-19
45
0
0
0
0
1
-5
-40
32
-14
0
0
0
-2
0
8
-21
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
-1
-11
29
13
0
0
0
0
0
-3
3
11
14
0
0
0
0
1
-3
-7
7
26
0
0
14
0
1
4
-5
-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
2
-11
-24
2
0
0
0
0
0
-1
-14
-2
41
0
0
0
0
0
-1
19
12
-6
0
0
-4
0
0
-14
29
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
-11
31
-10
-3
0
0
0
0
1
10
-52
-39
4
0
0
0
0
2
-4
23
-17
17
0
27
0
0
22
8
26
-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
0
-3
9
-11
13
5
0
0
0
0
-8
-4
-14
14
68
0
0
0
-3
3
8
-27
-3
-58
0
14
0
0
1
-18
-45
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
6
6
-28
-10
40
0
0
0
0
0
-5
2
9
12
0
0
0
0
0
-8
12
-11
-15
0
0
0
0
0
-7
-1
-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
8
-2
14
12
13
0
0
0
0
0
0
-2
2
10
0
0
0
0
3
-1
1
0
4
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
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
62
6
31
26
0
0
0
0
1
-5
-3
31
40
0
0
0
-2
0
2
1
-16
6
0
0
0
0
2
0
-5
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
9
-44
-30
24
50
-7
0
0
0
0
2
-3
34
3
-35
0
0
0
-5
4
-4
15
3
-58
0
0
0
0
-1
5
2
4
-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
2
-6
-15
26
0
0
0
2
0
0
-17
-6
38
0
0
0
0
0
-1
6
6
-35
0
0
0
0
0
1
-16
-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
0
0
0
0
0
0
0
-2
-1
7
-17
0
0
0
-1
0
4
11
1
6
0
0
0
0
0
0
2
-12
-3
0
0
0
0
0
0
9
-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
5
-12
-4
37
0
0
1
0
0
-3
-8
22
42
0
0
0
0
0
5
5
-7
-92
0
0
0
0
0
-5
-4
-11
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
-3
21
-26
-40
0
0
-9
0
0
-17
41
65
-74
0
0
0
0
0
0
-7
-13
19
0
0
0
0
1
-6
25
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
-5
1
7
3
22
0
0
0
0
0
-1
-3
-16
54
0
0
0
0
0
1
-1
10
0
0
0
0
0
0
1
-15
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
2
0
-3
2
-2
0
0
0
0
0
0
1
4
-15
0
0
0
0
0
5
0
9
-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
5
1
1
-8
4
-14
0
0
0
0
0
0
-10
9
-90
0
0
0
0
0
0
-11
0
44
0
0
0
0
0
0
3
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
2
0
-8
8
-15
33
0
0
0
0
0
-1
-1
22
1
0
0
0
0
-1
1
27
18
-43
0
0
0
0
0
12
-13
-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
-1
-10
-5
3
0
0
0
-1
0
0
-5
-16
33
0
0
0
0
-3
7
2
-15
40
0
0
-2
0
0
-16
26
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
1
-6
3
-22
34
0
0
0
0
0
-1
-13
2
-6
0
0
0
0
2
-2
3
-11
-5
0
0
1
0
0
-2
37
-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
1
-11
-11
16
-58
0
0
0
0
6
26
-4
-2
-34
0
0
0
2
2
-7
-6
22
-7
0
-4
0
0
2
-27
10
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
-1
4
10
-37
-24
21
0
0
0
0
3
5
-33
-18
-33
0
0
0
0
2
-3
20
-5
25
0
-4
0
0
8
-31
-16
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
0
0
0
0
0
0
0
0
0
0
0
-13
4
10
-21
-11
0
0
0
0
0
0
3
38
12
0
0
0
0
-1
-2
-6
-3
-8
0
0
0
0
0
0
-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
9
-8
31
21
5
0
0
0
0
0
0
31
-43
39
0
0
0
0
-3
11
6
-32
15
0
0
0
0
0
-4
-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
-26
25
24
0
41
-29
0
0
0
0
0
-10
-1
43
-83
0
0
0
6
0
-1
-15
-43
-17
0
0
0
0
-2
-2
-14
22
-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
2
-18
66
-41
18
-19
22
0
0
0
7
11
-14
2
-8
7
0
0
2
-1
-2
-25
11
3
-17
0
0
0
-13
10
-43
12
108
-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
39
49
0
0
0
-6
0
-13
-10
-12
-53
0
0
0
0
0
-1
0
-15
24
0
0
0
0
0
1
-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
1
-12
-33
-13
0
0
0
-25
0
-4
-3
-36
-25
0
0
0
0
0
0
-4
17
-3
0
0
0
-1
0
1
13
-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
28
-41
-25
-3
0
0
4
0
1
-9
19
-65
-7
0
0
0
0
0
-8
35
24
36
0
0
0
0
1
8
38
-39
-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
2
-24
-34
-36
-48
91
0
-30
0
15
-20
-52
49
-24
126
0
0
0
4
0
-17
43
-49
-16
0
2
0
0
-3
-14
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
25
20
0
0
0
0
0
0
2
-29
-31
0
0
0
0
3
-2
-3
22
-3
0
0
0
0
-2
-1
8
38
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
2
0
1
6
0
0
0
0
0
-1
-9
-2
37
0
0
0
0
0
4
3
-29
10
0
0
0
0
0
-4
-1
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
2
4
19
-33
-33
0
0
0
0
-1
-2
-14
-36
-42
0
0
0
-3
-2
-8
17
29
-45
0
0
0
-7
2
-12
-35
-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
0
0
0
0
0
0
0
0
0
0
0
1
4
-12
-43
-1
-117
0
0
0
0
-17
29
14
-50
-42
0
0
-3
0
1
-33
-20
-11
76
0
0
0
4
12
-2
1
-36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
4
0
2
1
-12
36
0
0
0
0
0
6
21
-12
-25
0
0
-6
0
0
9
9
-41
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
1
-7
-14
-6
0
0
0
0
0
1
-3
16
-11
0
0
0
0
0
-2
5
-5
-22
0
0
-14
0
0
-3
-43
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
-1
1
-4
2
20
-107
0
0
0
0
-3
10
9
-13
24
0
0
0
0
1
9
-36
1
46
0
-13
0
0
-4
13
-37
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
3
4
-5
-5
7
58
0
0
0
-7
14
32
37
-45
-28
0
0
-1
-4
-6
27
3
32
-27
-38
0
0
-1
-18
-9
-13
-25
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
21
-21
0
0
0
0
0
2
-3
-15
99
0
0
0
0
0
0
-28
-1
24
0
0
0
0
0
0
1
-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
8
-1
-7
-11
8
0
0
0
0
0
0
12
-2
4
0
0
0
0
1
-8
0
11
-13
0
0
0
0
0
1
-1
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
-12
26
-23
42
27
-71
0
0
0
0
-1
-4
20
-9
-45
0
0
0
0
-7
14
-14
13
-1
0
0
0
0
0
-2
-39
-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
-3
23
61
1
-56
-15
0
0
0
0
-13
-76
44
2
42
0
0
1
11
-11
-19
44
11
20
0
0
0
-2
-22
26
-9
20
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
-4
3
11
0
0
0
15
0
0
6
40
-80
0
0
0
0
0
0
12
-42
-85
0
0
0
0
0
1
-22
-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
0
0
0
-1
-8
-27
-6
0
0
0
9
0
-4
13
10
1
0
0
0
0
0
0
-1
23
-18
0
0
0
-1
0
1
7
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
-2
0
-1
17
39
-134
0
0
-20
0
-2
-8
-40
17
56
0
0
0
0
0
4
-5
29
38
0
0
0
0
0
-11
2
-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
0
0
2
2
0
62
-2
3
0
-9
0
0
-23
2
26
-13
11
0
0
-2
0
-2
3
26
-11
2
0
0
0
1
-4
-19
-9
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-19
39
0
0
0
0
0
0
-1
-15
-9
0
0
0
0
-3
-1
13
-42
3
0
0
0
0
1
-1
-13
-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
8
-8
-20
0
-2
0
0
0
0
0
0
-10
5
-22
0
0
0
0
1
-1
-2
8
4
0
0
0
0
0
-1
4
14
-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
4
28
21
-8
-21
-1
0
0
0
-2
-15
-2
10
26
-80
0
0
0
0
-15
-5
19
-5
33
0
0
0
-13
32
16
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
0
0
0
0
10
-21
31
30
-40
-14
-1
0
0
0
1
2
9
-17
-60
-19
0
0
3
-4
4
-54
-10
6
59
0
0
4
2
8
-22
37
-45
-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
-34
23
-73
52
0
0
0
-34
5
30
13
-41
8
0
0
0
0
15
3
12
-57
31
0
0
23
11
0
-38
-55
29
-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
24
5
-56
81
11
0
0
0
-33
0
-3
24
-1
-8
0
0
0
0
6
14
-11
-16
-7
0
0
-3
4
0
16
-82
-8
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
3
-14
80
-67
0
25
0
0
46
-4
12
9
45
13
-28
0
0
0
14
-6
-3
86
22
-62
0
30
-3
-1
-12
-6
-36
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
-35
-1
-15
-39
38
0
-25
0
9
1
20
19
-58
-137
44
45
0
0
-8
13
-28
1
-40
16
40
-49
-10
0
4
-3
-21
-53
89
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
-2
53
-14
6
-29
0
0
0
0
0
-15
-1
26
-4
0
0
0
0
6
-40
29
-35
-4
0
0
0
0
1
5
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
44
-9
45
0
0
0
0
0
1
2
0
36
0
0
0
0
-1
1
8
-22
41
0
0
0
0
0
2
7
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
-16
-2
33
12
16
0
0
0
0
0
-3
6
34
8
0
0
0
0
6
7
-2
-7
9
0
0
0
0
0
-2
-22
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
7
-11
7
46
4
0
0
0
0
0
-1
-1
-17
4
0
0
0
0
0
-3
-8
-34
37
0
0
0
0
0
0
2
23
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
-7
1
5
-12
2
27
0
0
0
0
0
0
1
0
12
0
0
0
2
0
5
-15
-65
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
3
32
-46
0
0
0
-1
0
0
1
-42
63
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
-1
42
-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
-4
-12
25
0
0
0
-7
0
1
2
-12
9
0
0
0
0
0
0
-1
-26
21
0
0
0
0
0
3
-7
-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
4
-5
22
0
0
0
-4
0
-1
2
-13
70
0
0
0
0
0
0
-2
16
-32
0
0
0
0
0
0
-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
-4
-5
-11
-25
18
0
0
0
0
0
0
10
-67
38
0
0
0
0
0
-11
-3
-30
4
0
0
0
0
0
2
-16
28
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
1
9
-5
0
0
0
0
0
0
-1
8
-55
0
0
0
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
-1
-1
-72
28
0
0
0
0
0
0
2
-29
24
0
0
0
0
-1
-6
-2
-7
29
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
1
4
45
46
0
0
0
0
0
0
-20
21
2
0
0
0
0
0
-4
2
-2
-32
0
0
0
0
0
0
-7
-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
3
13
-33
87
0
0
0
-2
0
0
-19
56
-23
0
0
0
0
0
1
-27
-7
73
0
0
33
0
0
15
12
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-27
-6
0
0
0
0
0
0
-9
3
-3
0
0
0
0
0
0
13
33
-8
0
0
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
-8
-12
41
0
0
0
0
0
0
16
-26
-28
0
0
0
0
0
0
15
14
11
0
0
-4
0
0
-2
-25
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
-19
42
-15
0
0
0
0
0
-1
-25
-62
49
0
0
0
0
0
0
2
9
7
0
0
-1
0
0
0
-24
23
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-41
0
0
0
0
0
-4
37
1
-11
0
0
0
0
0
-3
-15
22
20
0
0
0
0
0
4
27
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
1
-7
4
-51
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
2
10
-9
3
0
0
0
0
0
-1
5
-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
-1
0
11
-67
8
0
0
0
0
0
1
7
-15
10
0
0
0
0
0
0
-17
-2
-1
0
0
0
0
0
-5
-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
18
-39
0
0
0
0
0
0
5
-8
6
0
0
0
0
0
0
6
-4
-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
2
-6
1
-26
0
0
0
1
0
3
-23
-26
15
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
1
-33
16
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
5
-7
0
0
0
0
0
1
5
12
44
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-3
-7
-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
3
0
4
10
20
0
0
0
0
0
0
14
-29
5
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-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
3
4
-7
12
0
0
0
3
0
0
5
-2
20
0
0
0
0
0
0
-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
0
0
-2
1
16
6
0
0
0
0
0
0
-3
-16
-23
0
0
0
0
0
-1
0
-10
31
0
0
0
0
0
7
4
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
1
-9
4
4
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
-1
-20
6
0
0
0
0
0
0
-2
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
2
-1
5
20
16
0
0
0
0
0
-2
2
10
2
0
0
0
0
0
0
0
2
-6
0
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
1
2
5
2
-3
0
0
0
0
0
-1
0
2
0
0
0
0
0
-2
-1
0
1
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
37
51
24
0
0
0
1
0
-10
-23
-7
25
0
0
0
0
0
32
-15
7
17
0
0
1
0
0
-2
-15
-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
3
8
11
22
0
0
0
0
0
-2
9
-18
0
0
0
0
0
0
4
-21
13
-33
0
0
0
0
0
6
8
-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
-2
24
8
6
-13
0
0
0
0
0
16
-18
-2
33
0
0
0
0
0
11
-16
9
-6
0
0
-6
0
0
-22
38
-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
-13
-16
-20
-16
0
0
0
0
0
11
-11
-48
-15
0
0
0
0
0
4
18
14
4
0
0
0
0
0
-19
15
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
-1
4
-18
28
0
0
0
0
0
0
1
4
17
-20
0
0
0
0
0
28
-1
-23
54
0
0
0
0
0
-7
-17
40
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
-9
0
0
0
0
0
0
-1
-3
-14
0
0
0
0
-1
-1
0
20
17
0
0
0
0
0
-1
-16
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
-8
10
-1
15
2
0
0
0
0
0
1
3
-13
26
0
0
0
0
0
4
-2
-2
-1
0
0
0
0
0
0
6
-44
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-7
19
0
0
0
0
0
0
1
-1
17
0
0
0
0
0
0
2
1
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
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
-5
0
0
-27
0
-7
0
0
0
0
0
-1
3
5
-27
0
0
0
1
0
-4
21
-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
0
-41
-22
0
0
0
-1
0
-1
5
1
-15
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
7
-9
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
-1
-4
5
0
0
0
0
0
-2
2
7
0
0
0
0
0
0
0
-5
3
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-7
9
0
0
0
2
0
1
0
-14
26
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
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
-1
-29
38
25
0
0
0
0
0
0
-3
-17
10
0
0
0
0
-2
-7
0
-22
-14
0
0
0
0
0
-3
-18
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
2
-5
14
-25
0
0
0
0
0
0
-1
-23
49
0
0
0
0
3
-7
42
-29
15
0
0
0
0
0
0
-6
-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
-1
-1
0
-10
2
0
0
0
0
0
-1
0
-2
-41
0
0
0
0
1
-2
0
-9
6
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
-4
-12
-22
0
0
0
0
0
0
-6
-12
30
0
0
0
0
0
4
1
-4
4
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
2
6
-25
33
0
0
0
-1
0
3
21
-49
-71
0
0
0
0
0
-3
-7
13
-5
0
0
-8
0
-1
-31
7
-19
-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
-6
-48
25
40
0
0
0
1
0
3
-2
11
-39
0
0
0
0
0
2
23
-52
-26
0
0
-2
0
0
-19
13
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
-1
7
-4
-4
0
0
0
0
0
2
-11
-1
22
0
0
0
0
0
-1
-1
-14
2
0
0
3
0
0
-4
1
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
0
0
1
9
4
0
0
0
0
0
-6
4
-14
2
0
0
0
0
0
2
1
4
1
0
0
-3
0
0
0
-20
-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
4
2
2
-27
-5
0
0
0
0
0
0
0
21
-36
0
0
0
0
0
0
-5
-9
-10
0
0
0
0
0
0
-7
-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
1
-3
-6
21
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
-1
-2
-16
32
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
0
0
0
0
0
0
0
0
0
0
-1
1
15
20
0
0
0
0
0
0
-2
0
-17
0
0
0
0
0
0
0
-1
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
2
0
-10
19
-41
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-4
-1
7
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
6
-2
4
-3
-30
0
0
0
0
0
-2
0
-19
11
0
0
0
0
0
0
0
0
51
0
0
0
0
0
2
-22
-8
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
5
11
0
0
0
0
0
6
4
2
31
0
0
0
0
0
0
-2
-2
-2
0
0
0
0
0
0
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
-4
15
-37
0
0
0
0
0
0
3
11
-9
0
0
0
0
0
0
1
-8
-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
-2
1
4
9
0
0
0
-1
0
0
1
-7
-4
0
0
0
0
0
0
0
0
3
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
10
17
2
22
-25
0
0
0
0
0
-1
2
-13
-19
0
0
0
0
-1
4
2
-25
11
0
0
0
0
0
-3
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
-5
-22
-5
21
42
0
0
0
0
0
-1
0
10
21
0
0
0
0
1
3
-5
24
-27
0
0
0
0
0
0
-1
-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
-4
2
6
5
-8
0
0
0
0
0
0
2
13
-34
0
0
0
0
-2
1
0
5
11
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
3
-3
0
0
0
0
-4
5
-1
0
-1
0
0
0
0
0
-2
-15
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-38
47
0
0
0
-4
0
5
16
-10
47
0
0
0
0
0
6
19
1
-33
0
0
-3
1
-3
-7
-23
40
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
-36
22
-17
13
0
0
0
1
0
-13
1
-28
-11
0
0
0
0
-2
13
4
0
49
0
0
-2
0
0
-6
-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
-5
-27
1
5
8
0
0
0
-1
0
-2
-34
-7
54
0
0
0
0
0
-17
19
-3
6
0
0
0
0
1
4
13
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
-3
-5
-5
-11
15
0
0
0
-1
0
-18
3
-24
25
0
0
0
0
-6
2
0
5
4
0
0
10
0
0
-14
32
-19
-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
-6
-4
17
-24
48
0
0
0
0
0
2
4
-7
-27
0
0
0
0
-1
-2
-7
21
1
0
0
0
0
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
-3
-17
48
-2
0
0
0
0
0
1
5
-48
-11
0
0
0
0
1
0
5
-4
9
0
0
0
0
0
0
1
-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
-7
-17
23
14
2
0
0
0
0
2
-23
-34
16
-20
0
0
0
3
12
-15
-10
-7
18
0
0
0
0
7
22
24
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
10
-23
2
-16
-42
7
0
0
0
0
0
3
-40
63
90
0
0
0
0
3
1
-4
60
-71
0
0
0
0
-1
11
-41
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
2
5
-1
-19
0
0
0
-4
0
3
6
-7
52
0
0
0
0
0
0
-2
-12
-6
0
0
0
0
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-5
0
0
0
1
0
1
1
-47
5
0
0
0
0
0
0
0
-7
3
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
0
0
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
-25
89
0
0
49
0
2
-1
-15
50
-36
0
0
0
0
0
4
12
-2
-43
0
0
0
0
0
-3
-35
-36
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
2
4
14
-3
0
0
5
0
3
4
1
-82
-1
0
0
0
0
0
0
7
22
-22
0
0
-3
0
0
2
14
12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
-1
42
-34
0
0
0
0
0
0
-6
26
-11
0
0
0
0
0
-3
-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
2
-1
-2
-6
-12
0
0
0
0
0
0
-1
-47
8
0
0
0
0
0
0
-2
-7
15
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
-1
-28
5
-48
62
0
0
0
0
0
0
-21
-2
-56
0
0
0
4
-6
-24
-29
-22
25
0
0
0
0
2
-2
12
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
-3
-2
13
3
39
8
0
0
0
0
0
0
10
7
-17
0
0
0
0
5
0
-11
-44
-8
0
0
0
0
0
-2
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
16
-24
0
0
0
0
0
1
-13
-24
53
0
0
0
0
0
0
-7
-20
8
0
0
2
0
2
5
34
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
-1
2
-38
17
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
0
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
23
4
-78
0
0
0
0
-2
8
-32
-26
-80
0
0
0
0
0
-3
-67
-8
-8
0
-7
0
0
4
22
-78
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
-10
-41
-3
-10
0
0
0
0
-1
3
-4
10
-22
0
0
0
0
0
0
-41
6
46
0
0
0
0
5
-6
-5
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
2
2
-3
-11
-3
0
0
0
0
0
0
11
-3
22
0
0
0
0
0
0
-3
-29
6
0
0
0
0
0
0
13
-37
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
17
0
0
0
0
0
0
-2
-11
6
0
0
0
0
0
0
0
12
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
19
3
43
-1
0
0
0
-2
1
-31
-26
32
-24
0
0
0
0
0
11
26
-12
5
0
0
0
0
-1
-2
-7
-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
-1
-2
-14
-24
-42
0
0
0
0
0
1
-8
-37
-18
0
0
0
1
0
0
-3
4
-9
0
0
0
0
0
-5
7
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
-1
14
19
0
0
0
-2
0
1
3
-5
-12
0
0
0
0
0
-4
0
6
-25
0
0
0
0
0
0
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
-5
33
0
0
0
0
0
2
-3
0
-18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-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
1
6
18
-19
-12
2
0
0
-4
0
-5
26
48
-55
54
0
0
0
0
0
2
-6
-19
110
0
0
0
0
0
0
-17
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
9
-24
-10
-23
0
0
2
0
4
5
-5
-2
-42
0
0
0
0
0
0
-1
0
-31
0
0
0
0
0
0
-3
-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
-1
0
1
1
2
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
-1
1
-9
-51
0
0
0
0
0
0
0
16
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
20
-20
0
0
0
0
0
1
0
-11
-5
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
-5
0
3
5
18
-36
0
0
0
0
0
0
-15
12
-35
0
0
0
0
0
-1
-26
-3
2
0
0
0
0
-1
-1
-15
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
1
1
-1
4
13
24
0
0
0
0
-3
-1
0
-10
29
0
0
0
0
0
0
-3
-3
-4
0
0
0
0
0
-4
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
2
-4
-11
6
33
0
0
0
0
0
2
-1
-5
21
0
0
0
0
0
0
2
-51
-9
0
0
-1
0
0
-20
53
18
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
3
0
11
-17
10
0
0
0
0
0
-2
18
-3
-2
0
0
0
0
0
-1
-1
-21
-14
0
0
-1
0
0
0
5
20
-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
-14
-11
44
-6
-14
0
0
1
0
21
17
28
-46
24
0
0
0
0
5
-47
-20
-11
-55
0
1
0
-5
27
-47
-45
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
10
12
19
-26
0
0
0
0
-2
15
-10
3
-40
0
0
0
2
2
4
-21
-5
21
0
0
0
0
-1
-4
-15
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
0
0
0
0
0
0
0
0
0
-7
8
9
-27
17
0
0
0
0
0
4
4
-2
48
0
0
0
0
-3
1
-2
5
18
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
4
6
21
12
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
-2
4
-15
1
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
8
-8
22
21
-27
-16
0
0
0
0
0
-3
38
35
11
0
0
0
-1
1
31
13
-7
-30
0
0
0
0
4
1
-20
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
5
-32
25
-16
15
-15
44
0
0
0
0
12
-31
28
-1
13
0
0
0
-8
-15
-7
34
43
-42
0
0
0
4
-11
-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
0
0
0
0
0
0
0
0
0
0
-1
4
-5
30
0
0
0
8
0
-4
-7
-9
43
0
0
0
0
0
0
1
-10
-33
0
0
0
0
0
0
-4
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
0
0
0
0
0
-8
-2
0
0
0
-1
0
-2
-3
-18
15
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
2
-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
2
-8
21
74
0
0
0
0
-7
-7
5
-20
-10
0
0
0
0
0
0
-2
2
1
0
0
0
0
-3
13
19
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-23
8
-46
0
-27
0
-5
8
1
-6
47
2
0
0
0
0
-5
-61
9
-48
10
0
0
0
6
2
-12
-23
-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
2
2
0
5
0
0
0
0
0
0
0
23
-12
0
0
0
0
-5
2
-7
-17
15
0
0
0
0
0
0
-1
-17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
10
0
0
0
0
-1
5
0
-3
-49
0
0
0
0
0
0
2
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
1
1
-13
19
2
35
0
0
0
0
1
-2
-22
-2
82
0
0
0
3
-1
0
10
-21
-21
0
0
0
0
2
-3
43
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
1
1
11
38
3
-4
-82
0
0
0
0
7
-13
-49
-87
160
0
0
-6
5
7
-71
-27
-21
29
0
0
0
0
22
-33
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
7
-20
-27
0
0
0
1
0
0
6
-46
-15
0
0
0
0
0
0
6
-8
23
0
0
37
0
-2
-24
25
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
-1
9
-14
24
0
0
0
0
0
0
0
-10
-25
0
0
0
0
0
0
-8
-4
-11
0
0
6
0
0
-4
7
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
-5
-6
32
-61
0
0
1
0
0
6
10
-10
16
0
0
0
0
0
2
12
0
-32
0
1
0
0
3
-49
19
-15
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
1
4
3
43
-30
21
0
2
0
-2
-31
28
8
25
-29
0
0
0
0
-6
-7
-13
-42
-15
-26
0
0
-2
0
-28
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
7
-10
-22
54
7
0
0
0
0
0
4
5
-40
0
0
0
0
0
0
-1
15
-22
-7
0
0
0
0
0
2
-15
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
21
2
28
0
0
0
0
0
0
-3
5
7
0
0
0
0
1
0
-1
-12
-15
0
0
0
0
0
-1
-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
-3
37
9
20
-71
72
0
0
0
0
0
5
11
-18
-10
0
0
0
0
1
1
6
-19
-38
0
0
0
0
0
2
-16
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
-14
-36
-16
-11
65
-66
-2
0
0
0
0
-18
3
18
-56
-62
0
0
-2
-2
-1
8
35
-1
41
0
0
0
0
8
10
9
-16
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
-2
1
0
-9
37
0
0
0
-5
0
-2
14
-20
24
0
0
0
0
0
3
-2
-20
34
0
0
0
-2
0
-5
-9
-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
-22
68
0
0
0
-24
0
-1
-17
-1
15
0
0
0
0
0
0
4
15
-37
0
0
0
0
0
0
-2
-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
-2
2
-5
23
-33
11
0
0
1
0
-5
-7
4
-47
-46
0
0
0
1
-2
1
4
0
-39
0
0
0
0
-1
11
-10
-49
-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
-12
-17
-19
14
-18
0
18
0
-1
-20
10
34
53
-40
0
0
-4
0
-1
-17
-11
-5
50
0
0
0
1
-11
-28
27
-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
0
0
0
0
0
0
0
0
-2
16
-15
54
38
0
0
0
0
-1
-5
-6
-12
36
0
0
0
0
-3
6
0
-9
23
0
0
0
0
0
2
11
-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
12
-1
-2
-12
-20
0
0
0
0
0
-1
0
23
0
0
0
0
0
6
-1
-1
-2
9
0
0
0
0
0
2
-1
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
18
2
9
-17
26
10
0
0
0
0
-2
-3
1
67
-13
0
0
0
0
0
-3
-1
11
-18
0
0
0
0
0
-15
-17
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
-23
-2
4
32
-33
-52
-8
0
0
0
2
1
1
18
-113
101
0
0
0
4
5
-2
27
7
-89
0
0
0
1
-6
-40
18
60
-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
-28
27
-28
-39
15
0
0
0
57
10
22
25
35
-21
0
0
0
0
28
-13
39
-21
-23
0
0
35
-1
9
-34
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-16
-34
39
-39
0
0
0
48
-1
-28
30
-72
22
0
0
0
0
22
5
6
23
-41
0
0
31
-8
-9
-55
-28
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
33
58
107
-72
42
3
0
0
45
-1
12
-37
19
-38
19
0
0
0
15
-32
1
22
-4
-7
0
10
-14
-24
5
61
66
-27
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
-17
2
8
26
0
-47
-1
10
29
-7
-25
1
31
0
0
3
-42
-96
20
79
-8
-17
-47
-19
-7
16
29
-3
-5
-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
23
46
-8
0
0
13
18
-3
6
0
-66
54
13
2
0
27
-2
21
3
0
-27
-17
2
0
5
-12
-66
-42
13
-4
32
-108
-24
-60
-12
-248
-231
-150
-47
2
-356
-191
-298
-116
-79
-9
-10
0
0
0
8
22
-14
0
0
-27
24
-1
2
0
-26
15
-5
3
0
15
-8
2
15
-25
0
-32
45
-35
-4
17
11
7
13
13
-69
-41
-14
49
-21
-11
10
15
37
115
0
3
0
0
0
3
-2
-3
0
0
-2
5
2
0
0
-2
15
-5
0
0
4
31
34
11
0
23
-2
88
1
-29
-10
0
35
4
-38
23
-21
20
31
-8
47
5
37
65
99
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
49
12
0
-3
-8
-74
9
49
19
18
21
45
19
-14
0
16
76
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
12
28
-10
-30
0
14
-19
-7
29
0
-8
31
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
3
0
0
0
-4
15
0
0
0
0
0
0
32
11
4
0
0
-33
-4
7
-1
0
-22
-33
-8
-2
0
8
25
20
11
0
49
-39
10
1
-2
8
3
-19
41
8
-42
-26
-38
4
-24
-67
-12
-18
-59
-14
-51
-41
-71
-23
-34
0
-4
-2
0
0
2
-5
-4
0
0
9
2
11
0
0
8
11
9
12
0
0
22
-26
-16
25
-17
33
0
1
-3
11
-10
12
42
52
-35
-15
15
26
-15
31
16
-2
12
36
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-8
0
0
-3
20
-17
-19
2
64
-45
-10
-67
29
49
8
15
12
40
71
15
33
17
0
36
49
22
34
51
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
-24
3
28
6
43
-5
-13
57
-7
14
22
6
-12
0
84
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
0
0
0
0
0
0
-27
-1
-3
0
-20
-23
-2
10
0
0
-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
0
0
0
0
1
-1
0
0
0
-4
-3
3
0
0
-9
2
-2
0
0
-8
18
-16
-4
0
-20
-6
57
26
-11
-48
19
3
53
-6
-83
23
-29
-77
62
-3
10
-26
16
-18
38
-37
-21
-64
-23
0
0
0
0
0
0
0
0
0
0
3
-10
0
0
0
-9
3
-3
0
0
-1
-7
29
5
-8
-10
-11
17
-19
-13
61
14
41
48
-11
-6
14
50
23
-10
60
30
8
10
11
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
2
42
-21
-1
-10
45
26
-21
25
-26
36
9
27
5
24
-57
43
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
3
-7
-1
0
-1
47
5
-10
0
8
-92
22
31
0
-3
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-17
7
0
7
84
-19
31
-26
34
54
-39
15
-10
43
12
10
-72
15
69
-36
-86
-27
-24
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
-22
19
4
-12
9
26
-28
32
10
50
21
47
8
5
45
-20
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
0
0
0
-2
3
0
3
-15
7
39
0
79
-66
-108
16
0
-1
40
-142
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-2
10
-14
-2
86
-43
-13
67
14
-12
46
100
61
13
49
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
17
12
-6
-9
0
-68
47
-75
-111
-3
0
61
-47
-183
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
-2
0
0
0
112
-6
0
0
0
-7
-38
-3
0
0
-26
-14
-5
-6
0
-45
-31
-32
-8
-3
-52
-28
-55
-42
6
26
-78
-23
-43
-15
-121
-2
-122
-40
-75
1
0
0
0
0
-1
-8
0
0
0
0
3
1
0
0
4
-15
-2
-1
0
-49
27
-11
0
0
-8
-6
26
-83
2
52
-47
23
-12
22
11
-40
-33
13
-26
-16
-45
-34
-37
8
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
-50
15
-20
-21
6
-34
11
19
11
16
0
5
-8
22
20
-78
13
3
-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
14
5
-2
0
18
42
-29
21
1
9
-5
-15
-10
0
25
-94
-15
-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
2
0
0
0
0
22
16
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
-1
0
0
0
0
0
2
0
0
0
20
-4
0
0
0
-16
14
1
0
0
46
1
14
-10
0
-36
32
-102
-48
3
2
64
57
18
41
-9
-23
25
-16
19
-7
16
-173
-20
-44
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
1
1
0
0
13
-5
14
-2
0
-19
-75
-16
-11
-33
-26
-5
-9
-11
0
-4
1
4
17
-8
25
-51
-25
-52
7
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
17
-47
17
15
-34
29
10
21
55
-25
9
-7
-10
-5
-4
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
5
0
0
-2
-43
3
-3
0
-112
-61
-6
12
0
2
-120
-52
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-6
0
-21
49
46
-26
-32
47
5
-42
59
21
-3
4
2
-18
29
20
-77
-155
-54
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
3
0
-38
12
11
14
11
-5
19
-6
-38
-38
44
-1
26
-10
-31
-6
-4
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
-3
0
12
-1
0
-38
70
-59
-24
-51
-9
-43
-114
-66
0
-21
-95
87
-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
10
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
5
0
-26
3
-2
-65
-1
18
-6
143
4
61
8
0
14
-60
5
21
-53
59
-90
-12
0
0
0
0
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
5
12
-23
14
-25
-55
19
-22
-96
-98
11
53
-3
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
-2
-6
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
-11
-5
0
-6
2
3
0
0
149
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-10
-11
-19
0
11
-60
19
-65
0
-82
-50
-122
84
-15
-94
13
-37
-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
-5
-21
-29
4
0
-47
62
-1
1
40
2
-19
31
-15
24
8
40
-11
-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
1
58
-11
7
-1
24
9
-8
-4
13
39
34
-15
-58
-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
-3
-28
91
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
44
-14
0
-27
18
-36
8
-31
9
16
18
-14
-96
16
-38
94
10
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
-6
6
14
6
0
-54
-4
17
24
-85
41
8
14
7
-40
15
-74
-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
1
-70
21
-18
0
4
36
-11
14
-56
0
0
89
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-71
-37
-1
0
-38
-3
-20
45
-4
42
-7
24
51
-10
27
30
-23
15
-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
-1
0
0
0
4
5
-16
3
0
55
-19
-83
-103
34
-17
-2
-12
-3
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
-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
1
0
0
2
-5
-9
-34
0
-4
-38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-70
-9
0
0
0
32
59
-43
0
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
10
15
7
0
0
-3
-65
61
21
3
38
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
93
35
0
0
0
-37
115
45
0
-129
-57
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
109
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-7
23
19
50
-16
15
38
-87
28
-30
23
8
-23
-29
-9
7
8
-25
29
-27
-12
-14
-16
-13
1
-25
11
-13
-7
20
56
55
-52
-41
10
67
48
-11
-16
14
37
69
-89
-30
-17
-16
6
-13
32
-25
-12
-20
-56
36
15
-1
-15
20
0
2
-18
-46
-13
8
9
7
9
-1
-20
-35
5
0
10
24
-1
21
14
-20
-4
-4
0
5
-25
-16
-8
19
26
5
13
0
0
0
4
-7
8
0
3
3
-1
21
-8
5
-4
-14
26
25
7
35
49
45
-21
-7
30
-4
-23
-17
-63
28
24
1
8
-46
66
13
32
-9
5
-66
7
-10
22
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-6
73
54
-3
1
40
33
-22
18
94
26
17
18
-40
-43
-12
41
19
-17
2
-7
-36
13
17
0
0
0
0
0
0
0
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
5
45
43
0
34
56
-8
81
0
5
1
29
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
-1
0
0
0
-3
77
0
0
0
0
0
0
86
16
-23
20
-1
48
-49
8
29
-38
48
-8
11
-33
-29
36
-6
-1
3
-47
34
-3
25
13
-48
36
36
16
43
39
8
2
20
20
33
-12
18
42
18
36
44
26
35
8
-25
2
-14
-8
6
-3
42
-6
-9
7
-2
-7
-29
0
19
8
-37
34
-3
-14
44
4
26
-48
-10
15
36
-6
-11
12
24
23
18
1
1
23
-6
18
2
7
10
24
16
0
14
-19
0
0
0
0
0
0
0
0
-2
0
1
2
0
-11
0
-1
14
-47
-25
-6
-5
-24
-58
33
3
59
32
37
-22
27
38
28
19
1
12
26
16
16
-7
37
19
5
8
5
35
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
34
25
0
-73
8
14
3
18
-24
-6
4
70
-2
22
0
-53
37
58
-15
0
0
0
0
0
0
0
0
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
2
5
0
-56
-49
59
-7
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
0
0
0
0
0
0
0
0
0
0
0
8
-5
5
0
0
-10
-6
9
2
0
-18
-35
-18
19
1
19
88
3
64
-41
-10
-39
7
44
-37
-43
7
3
-5
40
-15
9
-1
15
9
-4
20
19
0
-10
50
18
53
-2
-79
0
0
0
0
0
0
0
2
0
0
7
-20
2
-6
-1
-11
83
-53
34
1
15
26
3
7
14
0
14
-7
29
-21
18
-11
33
3
-2
9
21
-11
-12
-11
-2
-5
15
-1
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
65
-26
9
9
-95
-65
-9
-20
35
31
25
-3
54
32
-6
18
-11
14
15
50
26
28
9
0
0
0
0
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
0
-13
113
-10
0
0
51
15
-45
-13
0
-3
150
93
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-50
25
-42
-23
50
6
15
-21
24
-87
50
-16
7
-16
-10
5
23
-21
43
31
65
-44
-52
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
-1
-13
20
3
48
36
-6
-2
12
-10
47
8
2
-14
-13
-8
35
45
-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
16
20
18
12
1
44
15
18
22
2
75
23
15
-47
0
-2
-103
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
-27
23
48
10
-8
57
82
4
17
-33
41
14
78
-77
66
18
-5
-101
-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
-12
1
-9
0
0
-20
-66
16
27
0
-46
6
-80
-46
-2
0
-63
-69
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
20
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-3
5
2
0
75
8
-54
-11
0
-25
-14
13
13
-3
10
36
-36
-17
36
-42
-39
-7
-23
-50
20
-22
25
1
-22
-3
-17
-39
27
60
51
3
-10
42
130
11
3
0
-1
0
9
-6
6
13
0
7
-68
8
-15
-1
-88
-32
6
-20
7
-32
-62
-22
11
48
-93
-45
-26
-88
-17
25
-26
3
-23
16
-48
-1
-22
14
26
13
-7
-15
35
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
15
0
-1
-2
10
16
0
-69
-128
51
35
-71
17
3
-17
22
-22
-31
0
0
8
48
2
84
12
5
162
0
0
0
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
20
-14
1
59
-29
-20
36
-1
8
-48
-21
-43
0
22
33
-18
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
49
0
0
0
2
50
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
-8
11
6
6
0
33
27
7
12
0
7
2
-28
25
13
12
77
41
22
-53
-19
39
-36
-5
19
-5
12
-35
24
9
4
1
-16
52
52
42
33
66
59
-16
0
0
0
0
0
0
0
1
0
0
20
-3
-3
-13
-1
6
-56
-58
-30
-7
53
-1
15
-24
0
4
-8
-99
-79
-6
-6
11
14
21
-33
-33
2
-22
5
18
13
-8
22
30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
4
0
-35
56
-6
2
-6
-31
-24
-41
2
58
31
0
13
14
4
17
31
22
53
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-20
-100
-43
57
0
-78
18
-4
47
0
13
-32
-43
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
-12
33
-25
-15
17
-12
-17
52
-51
-83
-10
26
22
-10
115
-14
21
23
5
-31
22
-42
44
33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
12
-3
-2
-21
-12
-2
-82
-65
-11
-8
2
-3
-23
-43
8
-36
-19
-8
-12
-71
-15
40
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
12
-7
-4
-1
-7
-7
46
-14
-96
-56
25
-95
-1
-20
-2
-15
-28
-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
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
11
0
18
-53
13
-16
-1
28
31
-53
-30
3
-25
28
-34
-4
12
-20
-23
-71
-107
-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
10
0
22
0
-4
-29
49
-31
13
5
28
-127
-74
91
-15
33
62
138
-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
-1
-2
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
-2
0
-2
2
-1
-4
2
0
0
-2
89
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-9
0
0
1
33
-22
3
-15
-4
101
-85
-147
-63
38
14
-67
2
27
-26
18
-68
92
-29
119
43
44
49
33
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
-2
0
26
-32
4
-38
1
-40
-71
-53
-21
62
-30
-23
-68
-16
71
10
136
18
-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
12
-1
0
-6
0
63
-93
79
37
-12
25
-50
-16
16
55
19
5
-8
119
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
-2
0
11
0
0
-43
-16
38
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
-36
-19
84
25
-5
43
-7
13
24
-38
-6
26
-23
1
-57
8
-50
-4
-32
55
0
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
42
4
-6
0
-75
-34
-37
50
-40
-60
4
7
-35
10
55
-91
33
-67
24
0
0
0
0
0
0
0
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
-5
-5
0
13
-59
58
-26
-104
0
0
29
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
4
0
-62
-7
9
-19
60
12
128
139
-66
63
-89
145
94
-34
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
9
0
-1
0
-48
76
-16
-5
-2
1
13
37
-17
-10
25
-4
-40
-22
179
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
6
-10
-5
-5
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-75
-17
0
0
0
31
-23
-11
2
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
1
0
0
0
0
1
-9
10
0
0
-19
91
90
2
24
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
131
113
0
0
-2
110
29
2
0
-135
29
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
7
104
1
-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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-11
24
14
47
-5
8
32
-88
20
-37
22
11
-29
-37
-11
7
5
-20
32
-25
-8
-16
-9
-13
-3
-7
15
-7
10
33
53
67
-18
20
18
82
58
43
3
38
47
70
-97
-25
-13
-21
6
-16
34
-27
-13
-20
-53
29
13
1
-14
28
-6
8
-18
-44
-16
10
0
12
12
7
-20
-37
22
11
10
21
4
35
7
-29
3
2
11
0
-21
-18
-28
5
2
5
13
0
0
0
4
-7
8
0
3
3
2
20
-9
5
-6
-15
22
29
5
34
51
48
-25
-6
28
-3
-31
-13
-60
24
15
-16
8
-33
47
13
25
-15
5
-62
-15
-27
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-6
70
50
-3
1
39
29
-24
19
95
44
14
13
-35
-45
-33
41
21
-10
2
13
-39
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
-1
0
0
0
-33
11
46
43
0
37
67
-15
77
0
5
3
31
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
-1
0
0
0
-3
76
0
0
0
0
0
0
85
17
-28
24
-1
54
-47
9
34
-41
44
-4
17
-32
-31
31
-2
-9
-3
-40
31
14
28
12
-45
34
31
3
27
40
16
-2
17
22
31
0
11
46
21
28
54
23
46
2
0
2
-13
-8
6
-3
37
-4
-3
5
-2
1
-32
0
17
8
-40
41
5
-14
42
-2
19
-36
1
13
29
-5
-6
16
28
24
20
12
2
12
13
14
4
2
-7
29
9
8
11
5
0
0
0
0
0
0
0
0
-2
0
1
2
0
-11
0
-1
14
-41
-20
-7
-5
-23
-68
33
3
57
30
49
-31
21
37
30
26
6
12
6
25
7
6
53
20
0
-4
-1
41
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
36
36
-1
-77
7
7
-3
29
-31
-6
-8
93
-2
24
0
-65
53
79
-8
0
0
0
0
0
0
0
0
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
1
2
0
-55
-54
63
-6
0
0
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
0
0
0
0
0
0
0
0
8
-5
5
0
0
-10
-6
9
2
0
-16
-38
-18
18
1
17
93
2
61
-47
-6
-59
-1
41
-37
-48
14
5
-12
41
2
10
0
19
5
-7
4
31
-6
13
59
32
25
15
-106
0
0
0
0
0
0
0
2
0
0
7
-20
2
-6
-1
-11
87
-49
38
2
17
25
4
0
15
-5
8
-24
40
-19
24
-9
35
0
5
31
11
-13
-21
-17
-13
-14
14
5
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
64
-26
9
9
-94
-67
-11
-14
36
50
37
-9
66
30
-21
22
-7
23
24
52
24
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
1
-18
8
0
-13
109
-4
4
0
48
27
-47
-11
0
-4
155
103
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
32
-57
18
-41
-21
44
11
22
-23
29
-107
53
-13
1
-38
5
23
34
-18
30
37
69
-53
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
10
3
-1
-16
17
0
49
34
-28
-7
12
-18
64
17
10
-15
3
-35
48
37
-26
-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
18
16
12
1
53
23
15
23
2
59
18
25
-47
0
-1
-104
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
-26
24
50
8
-9
57
84
8
19
-33
30
14
88
-110
68
17
-4
-102
-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
-12
1
-9
0
0
-19
-62
17
31
0
-45
7
-76
-48
-2
0
-62
-67
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
19
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-20
-8
4
2
0
75
12
-52
-8
0
-32
-17
14
12
-1
14
30
-38
-17
37
-39
-34
-2
-27
-55
12
-16
9
10
-16
-9
-13
-49
29
63
57
4
-10
42
130
11
3
0
-1
0
10
-6
6
13
0
4
-67
8
-16
-1
-84
-31
7
-20
7
-23
-68
-21
12
44
-106
-42
-21
-80
-20
8
-19
-4
-42
21
-59
-3
-23
12
31
-10
0
-18
34
133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
15
0
-1
-2
10
17
0
-69
-113
56
37
-71
21
9
-15
29
-26
-28
-23
5
10
36
6
93
31
15
188
0
0
0
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
-14
-1
57
-42
-19
36
-1
35
-63
-23
-50
0
21
39
-26
122
0
0
0
0
0
0
0
0
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
2
49
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
-8
11
6
6
0
31
27
8
16
0
9
-5
-26
26
15
7
83
37
33
-53
-6
26
-35
-6
12
-6
17
-33
22
1
2
21
-31
43
32
31
31
75
62
-9
0
0
0
0
0
0
0
1
0
0
20
-3
-3
-13
-1
6
-54
-60
-31
-7
51
-4
20
-28
3
7
-11
-96
-86
-7
-14
18
18
27
-46
-29
3
-25
2
35
12
1
14
40
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
4
0
-35
55
-8
5
-5
-33
-22
-48
15
51
26
1
21
14
15
27
26
40
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
21
0
0
-20
-102
-45
56
0
-79
18
-3
44
0
14
-29
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
-16
43
-24
-12
17
1
-33
53
-48
-84
-28
20
18
-18
120
-36
15
31
-14
-44
19
-45
79
21
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
13
-2
-2
-14
-9
-4
-88
-69
-7
-9
-2
-7
-14
-48
9
-55
-30
-36
-6
-84
-41
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
12
-7
-5
-1
-6
-13
46
-12
-94
-50
53
-95
6
-17
-2
-15
-31
-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
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
11
0
17
-53
16
-19
0
28
31
-55
-33
-5
-14
37
-49
7
2
-2
-23
-73
-114
-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
11
0
22
0
-4
-32
51
-31
12
6
52
-124
-68
100
-16
34
68
139
-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
-1
-2
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
-2
0
-2
2
-1
-3
2
0
0
-2
89
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-9
0
0
1
34
-21
3
-15
-4
103
-83
-147
-62
38
17
-64
-4
28
-24
10
-81
105
-43
121
33
43
51
33
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
-2
0
32
-27
3
-41
1
-30
-75
-58
-25
63
-44
-34
-97
-23
81
17
140
15
-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
12
-1
0
-6
0
62
-94
84
39
-12
25
-84
-15
24
54
19
5
-16
114
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
11
0
0
-45
-15
36
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-52
-10
83
25
-5
50
-1
12
14
-37
-3
21
-45
-11
-54
-9
-52
-7
-35
54
0
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
41
7
-4
0
-68
-23
-29
55
-40
-83
3
5
-41
11
43
-97
39
-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
4
-94
-5
-5
0
13
-71
58
-21
-102
0
0
28
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
4
0
-70
-7
10
-22
63
13
139
149
-65
73
-115
146
89
-32
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
9
0
-1
0
-50
74
-16
-5
-2
6
5
32
-17
-13
28
-4
-39
-21
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
6
-10
-5
-5
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-74
-16
0
0
0
32
-19
-10
3
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
1
0
0
0
0
2
-9
10
0
0
-16
103
83
2
23
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
140
114
0
0
-2
114
28
2
0
-135
29
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
7
104
1
-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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-16
1
-15
24
24
3
6
-14
-17
-18
25
26
-52
-7
-23
-8
-22
-13
4
-3
38
-47
-15
-25
-17
18
-14
-16
24
22
47
39
-58
65
29
80
38
-50
35
-18
-29
25
0
-6
3
-3
4
9
-3
-3
-45
-25
12
32
7
3
-21
14
-64
-43
24
-2
5
-45
-14
30
11
-9
7
-21
37
23
-11
-2
9
37
-30
-22
19
-10
61
-19
32
1
-62
-25
-7
0
0
0
0
0
1
0
0
2
0
0
-1
0
6
0
3
-38
-18
49
-2
-23
53
21
-37
-4
-3
-15
-50
41
1
39
-10
-18
4
25
-29
-26
5
18
22
57
25
-2
41
-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
1
0
9
-12
16
0
42
25
23
-10
-5
1
-79
46
-90
6
0
31
19
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
-33
5
0
0
18
12
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
3
15
-5
0
-2
31
8
-18
6
-9
-12
-5
6
-23
0
31
21
-7
24
16
31
71
-1
-20
-9
28
-39
38
1
-1
14
-32
26
-32
-7
-58
13
9
-67
-34
-25
-17
58
38
-7
0
0
0
0
-1
0
0
-4
4
3
0
4
-9
4
4
-13
63
30
-50
20
-54
29
47
-6
31
5
-3
72
6
-8
24
11
-22
59
12
31
24
8
-27
-1
14
-41
27
15
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
5
-1
-1
-5
4
6
-59
-21
-1
5
0
48
-72
-5
7
16
78
-8
-27
-39
48
37
46
-34
83
16
42
-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
4
-13
-1
-5
1
-32
40
-25
-2
10
4
29
-5
0
2
-14
45
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
1
-4
22
-2
-15
30
-118
-3
32
13
-61
-19
2
-46
5
-46
-24
44
-48
-7
45
-8
14
-52
31
51
-22
-81
24
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-9
-6
0
1
-1
-34
2
8
5
44
-75
12
-45
-41
2
26
2
56
48
-8
-51
-7
67
30
74
12
124
69
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
16
-5
-1
-1
10
60
27
-14
32
23
18
3
-50
35
5
19
-4
71
-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
1
-2
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
2
-1
-4
-4
-9
-9
-11
-71
-5
-31
12
53
23
-32
35
-17
49
39
18
56
-50
-11
1
-22
-76
-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
-10
-16
21
-16
-7
-39
35
-27
0
-12
73
55
-32
14
-15
17
41
-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
-1
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
0
-2
-6
3
2
3
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-7
-4
-1
-5
3
15
18
-5
25
-1
21
3
13
-22
11
27
-13
1
-39
37
-19
-7
-19
-59
-59
-10
57
-92
56
6
67
-61
-49
18
8
6
20
33
11
-37
0
0
0
0
0
0
-1
0
8
0
0
-7
2
-2
0
5
-14
17
6
2
33
-42
-29
-14
2
4
-68
39
6
-26
-71
-31
-6
-68
12
-11
55
63
-66
-44
-96
-53
44
-63
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
6
0
0
6
15
24
30
8
57
78
12
28
-5
-23
-90
119
50
42
-39
12
51
29
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
-9
-6
-6
2
0
-7
5
5
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
-1
2
1
0
-1
0
6
5
0
-19
7
10
-7
9
-10
53
25
59
7
8
56
-25
-18
-1
49
26
23
-18
-2
80
-24
-98
-24
-35
22
32
-1
3
88
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-8
1
-4
-2
-5
2
17
-1
-1
-41
-79
3
-13
28
0
17
-6
15
-8
53
82
-35
16
-57
129
-47
7
23
-66
0
0
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
9
3
-1
-25
-25
-2
7
-12
-22
5
5
-5
21
1
-10
32
-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
-3
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
24
11
-15
21
4
16
-3
-18
-75
7
-4
20
-60
-22
-30
-33
-24
-29
9
11
13
25
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
-20
28
-11
0
16
21
-22
-5
0
40
48
-37
-43
-33
55
-41
-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
0
0
0
0
0
0
0
-1
-1
-3
0
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
-5
-1
0
2
-14
-3
3
9
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
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
-2
0
0
-2
-3
3
-1
6
-2
-4
-52
-31
-37
1
51
18
14
14
-2
60
-28
-27
2
-15
-25
3
14
-8
-2
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
5
3
6
-3
-2
27
20
-1
-31
1
-72
41
10
-7
19
3
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
-1
0
-2
-3
2
-2
0
-1
-16
-12
-26
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
62
-3
6
0
19
2
-5
-4
0
14
-50
-2
-19
-5
-1
-3
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
-1
-1
1
0
0
10
-2
1
1
0
-2
-59
6
-8
5
-14
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
0
-18
-1
0
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-59
-11
0
0
0
-37
1
4
0
0
54
-5
10
0
0
0
-27
4
-3
-1
-7
77
7
-35
1
-30
38
-16
-6
-30
34
30
30
28
78
-8
-29
-9
-1
-18
-3
0
0
0
0
-7
-8
-2
0
0
-11
-8
2
0
0
19
-24
-1
0
0
-38
-32
39
-16
-14
-32
27
-57
3
10
21
-84
41
8
-38
-47
1
0
47
9
-8
-29
-9
-1
-18
4
5
0
0
0
-49
-5
0
0
0
-17
-12
1
0
0
-24
-6
-19
0
0
-16
-4
58
-1
0
-46
-1
-15
-65
-20
32
49
-36
47
62
52
12
2
66
236
-8
-29
-9
-1
-18
3
-2
0
0
0
-11
-7
0
0
0
-38
-48
6
0
0
-18
-4
-6
0
0
-38
8
20
4
-3
11
17
-70
-7
-9
21
-24
26
-4
-20
6
18
5
-33
36
20
78
72
139
3
5
-3
0
0
0
-28
-9
0
0
0
-17
-15
7
0
0
-21
-35
-7
0
0
-10
-67
26
8
0
-62
-22
23
-49
5
15
-56
-13
33
3
-25
35
-36
-13
-20
-4
2
12
-71
34
-5
-13
0
0
0
0
0
0
0
0
-13
1
-4
0
0
-23
-16
8
0
0
12
-28
28
-1
0
-26
30
6
-75
-10
-26
-38
-2
-101
-25
-71
-9
7
-22
2
19
-10
60
32
-28
-5
-13
0
0
0
-3
0
0
0
0
-12
-3
-4
0
0
10
-14
-2
0
0
-7
5
5
-12
0
-16
-27
-7
-11
-35
-6
7
-86
-75
1
16
5
-16
-11
29
8
-2
-30
-49
-1
-5
-13
0
0
0
-35
0
0
0
0
-21
-2
1
0
0
-16
-5
7
0
0
-16
7
-17
-8
0
-51
37
-3
3
-19
2
3
-27
6
-18
20
-15
-33
-9
-25
-8
-48
-110
-28
21
6
0
0
0
0
4
0
-1
0
0
1
-8
0
0
0
-21
-3
-2
0
0
5
-34
24
6
0
-56
-40
-18
-15
25
28
-56
-10
26
-14
-111
-28
-31
-33
-36
0
0
0
0
0
3
-3
-1
0
0
-3
-2
0
0
0
-7
8
0
0
0
-41
-2
-12
0
0
5
9
-9
7
0
-63
-20
-2
-3
-27
18
-8
-82
-2
36
15
-36
-5
-21
-4
0
0
0
0
0
0
-23
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
-9
11
0
0
0
-64
0
0
0
6
-20
2
-36
-15
18
-34
-7
-5
19
-214
8
-21
-11
-55
0
0
0
0
0
-1
0
0
0
0
-3
4
0
0
0
0
4
2
0
0
-6
0
-2
0
0
38
-42
18
-7
0
-99
1
-6
-9
-7
22
-96
-46
-23
-10
46
-16
-2
-30
29
-56
10
-21
-4
49
0
3
0
0
0
0
1
0
0
0
0
-12
-3
0
0
0
28
-15
0
0
0
10
27
1
0
6
10
-63
-17
-9
-23
-1
-73
-19
42
-11
-13
-35
-2
12
-31
-3
-57
-24
122
0
0
0
0
0
-38
-9
9
0
0
-1
-2
3
0
0
3
-10
0
0
0
6
-29
23
-8
0
-21
-92
-25
73
-19
-74
135
-14
48
62
-6
-34
7
-54
-97
-59
15
-49
-43
5
0
0
0
0
0
-23
-10
9
0
0
5
2
0
0
0
-23
-10
0
0
0
0
-51
6
-8
-1
-28
20
12
-5
13
-1
-28
36
9
-5
-62
10
-27
-98
-5
-154
-2
-60
-85
-14
0
0
0
0
0
0
-5
-10
0
0
0
-9
6
0
0
0
3
-8
0
0
0
-65
43
-1
-3
-14
-36
-62
17
-14
-16
-13
41
20
-22
-40
-10
-86
-11
26
-49
5
15
-111
-125
0
6
0
0
0
-5
0
0
0
0
-2
1
0
0
0
-1
-4
3
0
0
-1
24
20
0
0
-5
-5
-20
6
-51
-3
-93
-22
-53
41
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
-4
0
0
0
0
3
0
2
0
0
4
7
2
0
0
-1
0
21
4
0
2
-45
21
-24
5
-43
12
-74
-22
-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
-3
0
0
0
0
7
2
0
-1
0
-31
45
-2
-15
-19
-21
-59
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
3
0
1
0
0
0
-4
-3
0
0
0
5
39
2
0
18
3
35
-3
-4
-1
24
-54
-21
5
-158
-44
20
30
-38
-29
-49
-55
79
-105
0
0
-1
0
0
0
0
-4
0
0
0
0
8
0
0
0
0
9
0
0
0
0
4
-1
0
2
-4
-41
44
1
-28
-15
37
23
-24
-9
2
-15
143
-33
-75
-13
62
9
-105
0
0
0
0
0
0
0
0
0
0
-15
-8
8
0
0
0
0
-2
0
0
1
8
11
0
0
-5
-108
12
-21
-8
26
-60
-25
0
9
-28
-4
-29
20
-34
-9
-137
-56
-59
-126
0
0
0
0
0
0
0
0
0
0
-26
-13
7
0
0
5
0
0
0
0
0
7
19
-2
0
-11
-32
4
-1
-21
-21
-42
82
-22
-2
-120
53
-41
-8
-64
23
-83
-132
-114
-105
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
33
2
0
1
-19
-7
-48
4
-22
-50
-41
-44
-44
-85
-3
-25
-19
103
-12
-9
-55
-5
115
0
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
-77
-25
-1
-23
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
-1
0
0
0
0
0
0
0
0
5
-14
2
0
0
8
-17
-42
-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
-1
0
-6
-14
16
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
-3
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
12
-6
0
0
-3
-95
24
-32
-5
-11
-9
51
13
-20
-76
47
-56
-23
-90
-77
-12
-110
-273
-146
0
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
5
24
-8
-5
-42
-29
-45
-41
-40
-103
-20
-173
-8
-11
-56
-17
-89
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
-14
0
0
0
0
0
-2
0
-12
-9
-28
3
0
28
7
31
55
-25
74
1
-58
76
12
-36
-8
56
-8
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
21
5
0
0
0
-2
0
0
0
-1
39
-81
-8
1
72
18
44
69
-23
-79
-49
-42
75
14
-89
31
60
-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
-3
0
0
0
1
-4
-1
54
-66
-39
-8
28
-31
-17
75
27
-38
-52
19
84
139
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-3
1
-18
-2
-47
-4
50
21
-2
21
-79
-106
-74
-29
-3
-46
-217
-118
-16
0
0
0
0
0
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
27
-23
51
-24
9
4
32
-16
17
2
-7
-123
-140
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-21
-24
2
0
-1
-10
-19
-40
12
-22
-84
-33
8
-44
-10
-46
48
32
60
-60
13
-65
-103
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-20
43
16
0
1
-6
-2
13
0
4
-76
-22
-37
43
32
-53
-77
-105
-66
-4
-4
100
9
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
0
0
1
-9
-11
0
-15
3
-1
14
-18
180
-42
18
71
5
-11
20
-21
24
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
10
0
-12
5
-8
10
0
14
-10
-73
7
0
-1
-169
-160
-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
0
0
-2
-20
0
0
3
47
-39
0
-1
-103
-3
-28
0
0
-46
-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
-11
117
-11
1
0
3
27
54
-27
0
-2
-130
-68
131
0
-12
27
-68
-209
0
0
0
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
-15
-11
7
5
-69
32
58
-3
7
53
-1
44
-15
61
9
63
79
-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
1
-49
1
3
0
0
25
21
14
0
-4
127
36
-18
0
-32
3
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-33
0
0
0
-33
-118
0
0
-31
-28
-96
0
0
-207
-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
0
0
-2
0
0
0
0
-25
6
0
0
8
34
-59
0
0
-3
-3
-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
0
0
0
0
0
0
70
16
-15
0
0
31
1
-68
0
0
-84
0
-31
0
0
0
0
0
0
0
0
0
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
8
9
-28
0
-57
13
-37
-17
1
5
17
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
27
-3
17
0
0
2
65
36
0
0
-4
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
2
0
0
0
0
32
0
0
0
3
-44
0
0
0
-41
-94
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
2
4
0
0
0
4
-168
0
0
0
-63
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
14
-156
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
24
48
14
-96
7
0
-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
17
48
0
0
0
-10
-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
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
7
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-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
0
0
0
0
27
-20
-1
4
2
-83
-5
-6
-15
0
36
-30
-8
17
7
44
-46
51
15
11
97
73
4
-23
61
-41
-24
59
12
-17
11
24
17
7
-46
27
18
50
62
58
18
15
-1
-11
-9
-26
20
3
0
-1
16
-43
-141
-31
-1
-47
-43
19
-18
-6
4
37
-29
31
10
27
41
90
11
-46
134
48
59
2
71
55
100
33
60
42
12
16
15
71
73
18
15
-1
-11
-9
60
-18
10
-3
0
-28
-53
-28
23
6
27
-6
53
-24
-7
9
-9
-31
20
17
-85
25
14
10
22
-15
2
-27
-10
-15
-3
17
32
51
69
22
3
10
28
-74
18
15
-1
-11
-9
-53
-12
5
-2
5
-10
17
-28
-3
-2
-21
1
49
33
-3
-27
24
-13
35
9
-23
83
38
-2
0
78
29
29
-8
23
32
26
0
22
12
44
24
23
34
72
44
45
68
69
51
64
-34
-1
0
2
36
-40
-18
-4
1
51
1
1
11
15
-13
72
8
85
62
-40
-47
8
59
42
25
20
35
14
-43
26
28
34
27
17
12
30
31
49
57
28
26
52
70
133
-38
-5
17
6
3
55
25
-15
7
0
-1
-2
-36
2
-4
-49
-61
14
-7
-14
37
9
-51
21
-27
8
33
-2
-6
-25
12
1
-24
-13
2
-18
4
-27
-6
-27
18
-11
25
-37
-12
-38
-5
17
6
3
22
-7
-48
7
-4
43
38
8
-29
1
8
-6
34
-12
12
30
13
3
20
55
18
31
20
10
-38
30
37
21
2
-9
29
15
5
-21
4
23
19
-3
-9
-74
-38
-5
17
6
3
52
0
-45
-2
8
-22
-42
-7
-46
-2
20
-8
24
10
-60
-18
-29
26
-13
-48
-8
34
-30
21
-5
5
15
-7
19
-38
30
4
-6
-3
-13
8
5
-43
-23
-32
-3
-60
-5
-9
1
11
-45
-13
28
-1
-63
10
4
-2
0
20
-69
20
-40
-3
-42
-94
7
30
21
-31
1
-24
-12
31
7
6
16
2
88
13
8
-4
-17
-38
0
0
0
0
0
-37
-24
3
-7
0
5
23
4
9
1
24
-72
14
45
-13
35
-52
-1
-2
-25
43
-77
71
-8
-10
-89
-46
17
12
-46
42
25
-16
-13
-6
-2
3
0
-32
-12
0
0
0
0
0
0
5
-3
-6
2
0
14
-19
-19
0
-4
-23
2
17
2
-6
-32
-74
-46
-13
111
-43
-44
58
-52
11
-23
5
4
-2
22
22
20
-1
7
24
15
-6
-16
0
0
0
0
0
0
-5
17
-2
-5
0
-22
35
-13
17
-2
71
22
35
-39
2
13
-41
37
56
-27
59
-17
-11
-43
30
-93
5
-67
14
1
52
-5
-13
-28
-24
-45
19
-7
-2
16
79
53
64
42
9
0
-26
1
-7
1
2
31
2
0
2
-3
-30
18
1
-12
4
-41
-49
-24
-41
45
35
23
-60
37
-119
-30
-22
-122
-18
-58
-14
44
0
25
-19
13
-1
-6
-7
12
24
49
45
-94
0
0
0
0
0
-51
-45
-19
-14
37
6
-70
69
-1
-6
-3
-23
-23
-51
-7
153
-17
77
15
22
-15
6
13
-15
-10
5
11
23
57
110
31
0
10
-29
-3
-17
21
7
6
-13
0
0
0
0
0
-18
-21
45
-70
11
37
-10
73
46
-1
23
-1
-29
-43
7
-6
20
-59
-15
-12
-26
78
47
-17
38
44
15
26
-3
49
12
-5
10
-7
26
-9
-12
-9
-12
6
0
0
0
0
0
7
-14
-11
1
-26
-8
-27
6
67
-1
-1
-25
-46
26
-13
11
-13
-25
-47
-98
-27
31
11
44
-27
2
-3
50
-4
-16
-43
6
15
22
12
23
7
-4
8
50
1
18
3
-4
0
-10
5
-29
-3
5
47
-3
14
-24
0
-103
3
-26
36
4
-44
-5
-29
13
-2
-18
55
-62
23
-29
24
-32
0
-11
-8
0
0
0
0
0
0
0
0
0
0
30
-15
2
3
-1
14
-14
0
2
10
-8
18
37
-17
0
-1
-30
57
-17
-25
-174
-54
-82
-27
81
6
-86
-21
-18
-17
-92
-33
-45
-28
-10
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
0
1
0
-24
1
-7
2
0
-40
8
0
0
-3
7
82
-28
5
11
7
24
37
-35
1
-44
-27
69
-6
-28
-18
-32
-20
0
0
0
0
0
0
0
0
0
0
-8
-3
-6
0
0
0
8
-48
15
-2
29
-38
23
20
-1
8
4
-41
-45
14
28
-107
31
61
8
56
-81
-28
-9
-10
-23
-49
7
-16
19
-60
-29
-1
-21
-66
2
8
1
-32
-44
0
0
2
0
1
0
0
-61
-1
7
1
1
12
-18
-1
2
-3
5
-27
-3
2
-10
13
13
31
-74
1
-49
29
3
-84
2
-14
-37
6
14
6
9
-85
-74
-1
30
-74
21
15
0
0
0
0
0
0
0
0
0
0
-16
6
13
-11
6
-35
-14
-6
20
-9
-92
-41
-13
78
-58
-31
-27
-4
-2
54
82
2
1
-32
-67
-23
-10
-18
5
14
32
12
15
6
77
0
0
0
0
0
0
0
0
0
0
-90
-60
-68
-21
-19
-47
-104
-37
9
-3
-89
1
58
82
21
-5
-60
-85
-48
-74
5
20
-2
-10
68
32
2
-9
-20
25
-33
25
3
15
31
0
0
0
0
0
0
0
0
0
0
6
33
32
-11
-13
0
-2
-21
-22
10
-7
-21
0
29
83
-49
-65
-48
-47
22
-82
-17
-4
-125
62
-40
9
14
-2
-37
23
-5
-14
-32
-19
0
3
0
-1
0
-9
-1
-1
-2
0
-13
-1
-1
-2
-1
3
-27
6
-12
0
5
61
2
0
27
49
8
-14
-7
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-2
10
5
0
-9
16
62
-4
6
0
-5
-19
-24
-7
2
20
-43
-27
-54
3
-161
-30
-71
-55
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
17
1
0
0
0
13
0
0
0
1
-37
0
0
0
0
-95
-7
-2
38
12
-36
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
-7
-2
31
-10
-7
7
2
-2
14
-21
15
-7
15
-55
-68
-37
-4
-27
48
-82
22
7
-99
-182
106
-34
-72
-51
-31
35
-57
-18
26
-40
-67
-41
-52
-74
35
-74
-43
-76
0
0
0
-4
0
0
0
0
-11
0
0
0
0
-7
-4
0
1
0
-43
6
0
-37
16
-16
8
-17
24
25
-4
-57
-57
-52
11
-28
-88
84
45
-60
-21
-87
-2
-102
-68
-86
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
21
-41
15
-1
-8
-97
-16
-105
33
-14
-75
-35
68
59
-16
56
32
16
-34
157
21
40
18
-52
38
42
-13
-20
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
38
-35
24
0
35
-93
-60
-39
-10
-104
-140
-61
66
43
55
-48
7
-48
-149
-59
-1
5
25
19
-122
-10
14
19
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
23
-17
51
-5
-3
-9
-46
15
11
-20
35
-27
-25
39
54
37
-11
-18
11
2
45
20
-22
16
-52
10
-26
-1
0
-4
0
0
0
-2
0
-1
0
-4
0
0
0
0
-5
0
0
-9
15
-18
-18
-89
10
-62
-22
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
2
0
0
0
0
-9
-1
-2
1
0
-9
49
-1
1
0
95
24
-45
-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
5
0
0
0
0
0
0
0
0
0
3
0
0
13
-31
17
52
23
47
-52
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
1
0
-11
-22
0
0
7
-2
3
-3
2
0
-3
-17
6
0
2
-31
-38
-85
-33
12
23
-75
-65
-11
-23
37
-15
35
-108
-99
-92
-108
-39
-143
-47
37
-89
-18
-70
-143
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-2
0
0
0
-3
-54
0
5
-11
-1
-76
-16
-49
-84
-8
92
-14
12
-51
-72
-4
-87
-64
-119
-166
-62
-55
30
-165
-18
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
26
5
-85
67
-61
-70
-25
-39
-61
-83
-101
-32
-94
4
26
5
-62
-12
-13
-10
-23
8
-60
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-49
-4
-24
29
-104
-75
-14
5
-64
-2
-16
-67
-1
37
7
4
-58
-8
-139
-9
-62
32
-79
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
67
-43
28
82
-1
-72
-39
-14
-11
89
40
78
5
70
-50
-54
-89
-27
-84
-64
55
29
124
8
1
1
0
0
0
0
0
0
0
0
0
2
-1
11
0
-23
82
-91
-11
0
0
0
0
0
0
0
0
0
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
4
-1
0
0
0
-57
-4
-32
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
-3
0
1
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
-12
-1
0
0
-13
0
0
0
0
0
2
0
-1
0
5
3
0
-2
0
4
-29
-41
-35
0
-15
3
9
-10
0
-85
-41
2
-59
0
81
-113
38
-65
0
61
-179
-73
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
1
-56
0
4
0
31
41
0
-11
27
-23
-29
0
42
-93
-117
-62
0
12
-13
-83
-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
-27
15
-8
-61
0
26
59
11
111
0
-20
-28
4
-15
0
-67
98
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
34
-23
36
-102
17
-72
-115
-12
33
38
-66
-45
-13
-12
54
53
31
-25
-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
67
-20
19
-17
0
2
-108
118
38
0
-94
-53
-41
11
0
-55
-59
-37
61
0
0
0
0
0
0
0
2
-5
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
-1
0
0
0
0
5
-23
-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
1
0
0
0
0
0
0
0
0
0
0
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
2
-35
17
0
0
-2
-47
-44
0
0
34
-7
-29
0
0
-64
-56
-72
0
0
-134
-74
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-40
0
0
0
-13
71
0
0
-25
-94
-59
0
0
97
4
-41
0
0
-25
-2
-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
24
30
101
0
0
-78
-3
70
0
0
-85
-15
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
10
-46
27
-14
-7
-12
-19
-90
-68
-95
-35
-8
-58
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
78
-23
13
0
0
98
-7
52
0
0
-25
2
46
0
0
6
6
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
13
0
0
0
1
38
0
0
0
-53
-31
0
0
0
-130
-53
0
0
0
-110
-77
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
-2
-13
0
0
0
7
71
0
0
0
-66
-13
0
0
0
-133
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
122
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
69
-29
-167
-126
47
-25
-16
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
51
12
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
0
17
0
0
0
0
-74
0
0
0
0
-6
0
0
0
0
-187
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
52
0
0
0
0
-60
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
-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
-37
68
5
-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
-32
0
0
0
0
35
-24
-1
4
2
-85
-1
-12
-16
0
36
-35
-9
14
12
42
-51
52
14
12
89
78
4
-23
56
-27
-49
57
14
-15
7
12
13
15
-47
26
17
53
71
51
25
16
9
1
7
-26
18
3
0
-1
12
-38
-142
-34
-1
-47
-38
19
-26
-5
-2
47
-21
32
10
35
47
92
13
-46
133
44
58
-4
72
52
99
41
50
50
29
16
30
58
72
25
16
9
1
7
63
-13
10
-3
0
-29
-56
-29
25
6
27
-3
52
-25
-7
9
-4
-23
19
16
-86
24
2
5
24
-6
-4
2
-5
-9
18
32
29
39
71
18
12
13
27
-82
25
16
9
1
7
-53
-12
5
-2
5
-11
18
-27
-4
-2
-14
1
47
35
-3
-27
35
-10
32
10
-29
85
15
0
-1
71
40
64
4
32
26
22
6
33
22
45
13
37
34
89
36
49
53
55
64
67
-36
-1
0
2
41
-40
-18
-5
1
51
3
0
15
16
-11
72
3
79
64
-41
-33
7
56
39
33
21
39
23
-38
42
43
34
23
14
25
5
48
41
44
22
24
60
84
158
-34
-9
13
3
3
46
25
-15
7
0
-9
-2
-36
2
-4
-52
-62
15
-9
-18
34
20
-57
18
-32
33
31
-7
2
-23
15
13
-37
-5
10
-4
7
-13
-11
-38
8
-49
-11
-41
-24
-34
-9
13
3
3
23
-8
-47
7
-4
46
39
-2
-32
1
13
0
33
-13
13
37
16
2
27
54
30
49
43
17
-32
48
43
36
5
-5
31
19
13
-25
9
19
3
-2
0
-84
-34
-9
13
3
3
57
-1
-46
-2
8
-20
-40
-7
-50
-2
17
-6
26
12
-60
-19
-32
16
-5
-51
-8
34
-23
12
-6
14
12
1
20
-38
30
16
12
15
7
8
12
-34
-15
-31
-5
-63
-5
-9
1
11
-47
-12
30
-1
-63
13
0
-7
0
17
-69
25
-45
-2
-36
-91
6
24
19
-39
10
-16
-13
32
14
16
17
-12
88
31
19
9
-9
-27
0
0
0
0
0
-37
-23
3
-7
0
9
20
3
8
1
26
-71
11
48
-13
41
-48
0
-4
-24
40
-70
66
-6
-10
-80
-44
9
19
-46
47
35
-11
-8
-5
-17
11
2
-10
-4
0
0
0
0
0
0
-3
-3
-6
2
0
18
-18
-20
0
-4
-22
3
13
2
-8
-27
-81
-48
-13
112
-31
-43
58
-50
15
-14
6
10
1
17
19
25
8
11
51
21
3
5
9
0
0
0
0
0
-3
18
-2
-5
0
-21
31
-14
15
-2
68
20
36
-39
2
18
-45
42
53
-27
64
-7
-12
-43
28
-77
-14
-59
14
-3
51
6
4
-28
-24
-47
37
6
14
32
88
41
74
43
13
0
-30
0
-7
1
2
33
1
0
2
-3
-31
21
0
-14
3
-33
-41
-28
-40
46
34
19
-60
34
-118
-27
-12
-113
-16
-62
-18
54
0
24
-10
25
2
1
-11
25
22
69
43
-136
0
0
0
0
0
-46
-44
-22
-19
38
6
-76
67
-1
-6
-5
-19
-16
-53
-7
157
-13
75
12
22
-29
16
33
-18
-8
6
-1
28
59
104
12
3
6
-5
28
-9
35
23
17
14
0
0
0
0
0
-25
-20
44
-76
9
31
-9
77
45
-1
25
3
-34
-41
8
-4
34
-57
-17
-8
-12
64
45
-13
29
39
21
16
3
45
8
8
17
13
26
10
-6
9
-8
21
0
0
0
0
0
7
-12
-13
-4
-27
-8
-26
4
67
-1
-1
-20
-42
23
-15
8
0
-31
-45
-98
-12
31
11
55
-25
-3
14
55
-6
-1
-29
11
37
13
-6
23
11
-4
21
86
1
18
3
-4
0
-11
5
-28
-3
5
46
-3
13
-26
0
-100
7
-24
36
4
-52
-7
-29
13
-2
-17
57
-54
19
-31
30
-6
5
0
-7
0
0
0
0
0
0
0
0
0
0
25
-15
2
3
-1
13
-16
1
2
10
-9
10
37
-22
0
-2
-36
57
-19
-27
-173
-53
-78
-32
81
7
-82
-11
-9
-19
-88
-29
-54
-26
-14
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
0
1
0
-25
1
-7
2
0
-44
10
0
0
-3
13
82
-25
5
11
4
25
37
-36
2
-50
-27
69
-13
-7
-19
-30
-21
0
0
0
0
0
0
0
0
0
0
-8
-3
-6
0
0
0
9
-50
14
-2
26
-36
22
19
-1
3
6
-36
-48
15
26
-107
29
60
9
58
-74
-39
-12
-10
-16
-55
3
-20
21
-44
-42
-15
-40
-65
-2
9
-2
-23
-55
0
0
2
0
1
0
0
-61
-1
7
1
1
9
-23
-1
2
-3
11
-29
-3
2
-9
9
11
33
-74
-2
-41
25
2
-89
0
-19
-35
11
14
10
3
-99
-57
1
34
-85
1
32
0
0
0
0
0
0
0
0
0
0
-13
9
12
-14
6
-34
-12
-11
17
-8
-91
-44
-16
81
-58
-40
-16
-9
-6
53
69
0
0
-34
-62
-13
-5
-19
18
13
40
25
13
23
87
0
0
0
0
0
0
0
0
0
0
-90
-58
-67
-22
-21
-52
-103
-35
6
-3
-93
1
54
82
18
-15
-64
-89
-44
-65
0
28
-5
-17
74
58
0
0
-14
33
-43
32
11
24
46
0
0
0
0
0
0
0
0
0
0
6
34
28
-9
-16
0
-2
-20
-28
15
-8
-23
-3
28
82
-50
-65
-33
-48
23
-82
-2
-6
-117
63
-38
-22
-6
4
-33
32
0
-7
-42
-47
0
3
0
-1
0
-9
-1
-1
-2
0
-13
0
-2
-3
-1
3
-26
6
-14
0
5
62
2
0
24
48
29
-5
7
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-2
11
5
0
-9
17
59
-4
7
0
-6
-19
-25
-11
2
21
-40
-30
-55
3
-160
-20
-48
-57
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
15
1
0
0
0
14
0
0
0
1
-38
0
0
0
0
-90
-10
-6
38
3
-29
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
-7
-2
31
-10
-6
8
2
-2
13
-22
14
-7
12
-54
-75
-37
-2
-27
55
-75
18
4
-100
-176
99
-34
-68
-43
-19
30
-62
-26
23
-40
-75
-25
-55
-67
30
-65
-17
-81
0
0
0
-4
0
0
0
0
-16
0
0
0
0
-6
-4
0
1
0
-40
6
0
-36
16
-16
8
-17
26
24
-13
-56
-54
-51
15
-20
-83
88
37
-55
-7
-81
2
-101
-71
-68
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
21
-39
12
-1
-7
-98
-18
-101
34
-16
-76
-39
77
59
-12
63
30
3
-39
156
25
33
10
-58
42
45
-11
-23
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
33
-25
16
-1
30
-98
-61
-42
-13
-104
-148
-54
67
43
52
-58
4
-57
-145
-57
-14
-4
23
18
-112
-18
19
26
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
25
-17
49
-5
-3
-10
-54
10
8
-18
35
-19
-25
32
53
32
-13
-23
12
-2
45
-12
-30
13
-57
9
-38
-5
0
-4
0
0
0
-2
0
-1
0
-4
0
0
0
0
-5
0
0
-13
15
-20
-7
-77
1
-62
-21
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
2
0
0
0
0
-9
-1
-2
1
0
-10
46
-1
0
0
81
27
-51
-5
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
5
0
0
0
0
0
0
0
0
0
3
0
0
13
-33
18
52
25
50
-54
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
1
0
-11
-23
0
0
7
-2
3
-3
2
0
-3
-17
6
0
-1
-34
-37
-86
-34
11
27
-73
-66
-11
-23
39
-19
29
-107
-95
-97
-103
-41
-157
-76
38
-88
-5
-79
-138
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-2
0
0
0
-3
-54
1
5
-13
-1
-80
-16
-51
-86
-8
94
-13
10
-56
-76
-5
-97
-55
-117
-167
-69
-52
31
-165
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
31
6
-87
67
-61
-65
-17
-34
-61
-80
-98
-25
-95
5
32
-5
-64
-11
-29
-13
-15
15
-54
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-45
-13
-30
25
-106
-79
-13
4
-64
-2
-10
-71
5
28
-1
-3
-62
-9
-151
-9
-61
29
-85
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
71
-36
25
84
-1
-76
-43
-8
-9
87
42
80
9
74
-48
-83
-95
-19
-92
-64
54
25
132
15
1
1
0
0
0
0
0
0
0
0
0
2
1
12
0
-21
85
-89
-11
0
0
0
0
0
0
0
0
0
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
4
-1
0
0
0
-58
-4
-31
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
-3
0
1
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
-12
-1
0
0
-14
0
0
0
0
0
2
0
-1
0
5
3
0
-2
0
4
-32
-43
-34
0
-14
4
4
-14
0
-74
-34
-5
-59
0
81
-115
32
-64
0
63
-173
-65
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
1
-57
0
4
0
31
44
0
-16
22
-30
-32
0
45
-105
-108
-59
0
12
-7
-90
-151
0
0
0
0
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
-66
0
26
58
19
112
0
-21
-31
-1
-16
0
-66
98
32
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
32
-10
36
-106
13
-73
-117
-15
32
41
-68
-46
-19
-12
56
45
37
-35
-11
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
68
-19
18
-15
0
2
-110
114
31
0
-92
-50
-48
21
0
-51
-61
-45
68
0
0
0
0
0
0
0
2
-5
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
-1
0
0
0
0
5
-20
-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
1
0
0
0
0
0
0
0
0
0
0
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
4
-36
25
0
0
-2
-42
-42
0
0
35
-8
-30
0
0
-64
-50
-78
0
0
-126
-71
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-43
0
0
0
-11
68
0
0
-24
-86
-55
0
0
96
-6
-35
0
0
-20
-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
33
32
111
0
0
-79
-14
83
0
0
-81
-15
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
3
-39
31
-15
-2
-11
-15
-95
-68
-95
-36
-8
-57
4
-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
86
-22
13
0
0
96
-13
56
0
0
-24
2
52
0
0
6
6
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
15
0
0
0
1
33
0
0
0
-55
-35
0
0
0
-118
-51
0
0
0
-106
-77
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
-2
-15
0
0
0
-1
72
0
0
0
-66
44
0
0
0
-133
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
26
0
0
0
142
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-27
-163
-124
50
-24
-17
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
55
-11
0
0
0
-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
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
-7
0
0
0
0
-3
0
0
0
0
18
0
0
0
0
-75
0
0
0
0
-1
0
0
0
0
-191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
53
0
0
0
0
-66
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
-142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
70
2
-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
-35
0
0
0
0
0
-2
0
1
0
-6
12
-12
-1
-2
0
-27
-35
8
3
-24
-39
17
-22
-19
-9
25
-31
-11
24
5
-78
-1
0
-58
-2
3
-45
79
18
-14
5
44
-16
16
13
-4
20
3
39
0
0
2
-4
-1
16
12
-4
-10
-2
0
3
11
-16
-7
-18
65
22
13
33
27
4
50
2
-6
-4
0
27
42
35
31
15
51
1
94
60
65
57
58
-17
13
-4
20
3
39
10
0
1
-4
-1
-15
-10
-1
5
1
-3
-1
-3
2
-2
-2
-25
9
3
-1
-55
-14
-74
-64
10
24
-31
78
20
-14
41
-20
-49
17
4
9
-6
-12
-25
24
13
-4
20
3
39
1
-1
0
-5
2
15
-1
6
-2
-1
4
20
35
3
-1
3
15
30
38
18
-13
2
-29
-19
-18
-57
42
76
46
15
36
-17
99
53
55
32
52
14
-24
45
-5
-19
-67
122
81
9
2
1
0
3
8
-1
0
-2
2
-3
-2
1
-11
3
-5
36
4
5
37
-34
40
7
39
5
82
-28
28
8
-3
36
60
30
24
53
-4
-43
89
18
27
-7
-19
66
8
-8
1
-20
-5
-11
-1
0
-5
0
2
0
-22
10
5
21
-2
-21
-18
20
11
-13
28
12
-38
-5
-25
60
6
-25
-4
26
-44
1
-53
27
5
12
70
50
-54
0
-28
-97
50
-38
-67
1
-20
-5
-11
-1
-1
2
1
1
-2
5
20
-1
8
0
31
2
57
23
16
49
17
-11
27
24
75
79
52
33
62
86
43
84
33
29
42
34
48
19
69
45
18
-15
56
44
1
-20
-5
-11
-1
0
1
-5
-4
1
-12
-4
2
-11
-1
8
11
-20
5
-38
-39
11
-16
-17
-9
-10
22
-44
-44
1
3
-48
-38
-2
-12
-11
46
73
87
27
-10
-53
-21
92
62
-1
-9
1
-3
-2
-1
-8
1
0
-2
-5
25
-11
-22
-2
33
-27
34
-45
2
-30
-12
35
32
2
-20
-8
-6
-7
1
-20
-16
9
13
30
16
16
4
32
18
0
0
0
0
0
-3
-1
1
1
0
-4
-4
-1
-5
0
14
2
-5
-1
0
5
-41
1
0
-17
-32
-24
24
-6
-6
10
-12
-18
-28
-12
15
-7
-32
20
10
-88
-58
11
-5
32
0
0
0
0
0
0
-18
0
2
1
0
11
1
-7
0
0
-2
25
-35
0
-3
22
-60
-11
19
4
12
20
43
13
24
-9
-17
-31
1
15
0
40
-1
20
5
14
53
34
13
0
0
0
0
0
-2
1
0
0
0
1
-2
0
-10
-2
-7
-31
-6
6
-2
-16
-65
33
-3
4
-34
18
3
5
25
42
-72
-25
-5
21
-1
68
14
-30
-56
-1
-11
-39
138
39
35
-59
29
-49
-19
0
-5
0
-8
0
0
4
0
-1
1
0
-12
17
11
3
-1
-16
35
-1
-7
14
-2
-37
-40
33
-56
60
35
-19
-27
47
32
-14
60
-50
39
12
85
114
-20
7
45
21
4
27
0
0
0
0
0
-12
2
-16
-38
27
-10
1
25
0
-2
-26
-23
17
-9
2
35
-24
-2
-18
32
-28
-6
11
-34
-66
-28
17
-21
59
-5
-33
13
-23
129
64
49
74
90
114
107
0
0
0
0
0
-15
-1
-4
-56
3
-26
-5
16
-12
1
13
-9
2
-21
4
-61
73
32
16
-2
20
-39
-50
32
-48
9
3
-79
9
-16
-22
71
14
54
-30
48
-5
58
8
66
0
0
0
0
0
-2
-12
13
-39
4
0
-12
-2
40
-3
-2
11
6
18
7
13
9
-61
-20
-11
70
-53
36
29
-41
14
26
69
62
67
73
1
46
-50
-19
51
76
69
-42
-30
0
-1
-1
-2
0
-2
-1
0
-2
0
0
-3
7
-22
0
-2
1
-7
57
5
-50
-10
-3
-3
-2
-16
58
3
-64
14
78
49
28
-10
-7
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
-2
1
0
-5
3
3
-4
0
1
-1
-1
-24
-24
11
24
2
-38
-8
-38
-53
13
6
-18
-22
26
-14
-36
7
-3
27
-41
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-25
2
-4
0
0
-10
5
0
0
-2
36
22
-5
3
-1
-30
-12
28
-9
0
-57
-17
-17
-22
57
-41
19
8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
1
0
-3
1
6
-2
1
2
18
-49
-39
2
-3
-11
4
-14
-16
42
-6
-28
-5
-29
5
-34
-1
87
35
-3
-13
35
-70
27
-4
47
58
-27
5
0
0
0
0
2
-1
0
-23
1
2
0
0
-10
5
-1
2
0
-18
-2
-4
2
0
-12
3
2
-14
-35
-48
-35
-50
11
-78
-3
-24
6
19
-40
-70
24
83
-21
18
36
-70
22
0
0
0
0
0
0
0
0
0
0
14
-22
-22
-28
-2
-1
4
-10
-12
17
-16
11
17
47
-3
-18
51
4
-22
-1
-8
-3
22
-34
6
14
65
-55
68
-61
-55
-24
-49
54
34
0
0
0
0
0
0
0
0
0
0
-8
-21
-14
-1
-6
-40
-13
-16
16
1
-6
-58
-34
12
1
-93
-77
-69
-10
-13
-70
6
15
-5
21
23
-36
44
34
-2
-55
-1
-2
-16
-41
0
0
0
0
0
0
0
0
0
0
2
2
1
-13
-8
0
-1
18
-10
8
0
-13
14
-20
4
-27
-10
0
-16
9
31
48
3
-25
74
-53
-80
-102
30
47
2
0
49
-18
-13
0
1
0
0
0
-2
-1
0
0
0
-6
1
2
5
1
1
-1
1
10
0
1
15
0
-24
-3
24
-3
-2
85
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
1
0
-3
5
-12
-1
0
0
0
-8
-24
-5
0
10
-37
-41
-32
2
-27
-3
-32
-30
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
1
0
0
0
15
-1
0
0
2
-22
0
0
0
0
-26
-17
-32
-13
-9
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
-4
0
-1
0
0
1
0
1
-3
1
-4
8
7
-33
-17
-1
-6
27
-11
29
1
-28
-32
-27
-33
-33
-58
19
-52
-61
17
-40
64
-30
15
-5
22
-2
47
-5
-59
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
-3
0
1
0
-23
3
0
-16
14
28
0
-23
65
19
15
14
-12
-28
22
-17
13
107
-161
49
-103
-4
32
1
-6
55
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
-21
-6
9
-1
-17
-41
-36
3
2
-14
-19
74
3
81
-24
-41
-33
-17
22
-62
-148
-17
-40
60
46
73
-98
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-16
-30
-47
11
31
-26
-7
-18
2
-18
-25
51
3
-17
-13
21
8
-27
-9
-25
-37
-89
-14
-2
-38
-54
-41
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
11
-33
26
3
-4
4
-5
7
-5
29
0
55
-24
6
5
-3
-2
-94
1
112
7
-45
-52
-57
-43
-40
1
-44
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
-13
-9
2
41
-2
-37
-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
-3
0
0
1
0
1
-15
-7
0
0
-18
58
-24
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
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-1
31
1
18
23
-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
1
0
0
0
2
0
0
0
0
0
0
-24
2
-1
-17
-2
11
-31
-5
41
26
5
-18
-17
-37
21
-15
-38
-14
9
-97
15
-33
-35
-32
19
11
36
3
60
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
-24
-1
4
2
0
-19
-2
-48
-23
-8
5
-21
-72
-43
-36
18
-71
120
-5
13
-75
-10
9
4
31
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
31
19
-15
18
-5
10
32
19
-6
17
24
21
-29
62
2
-9
53
-7
30
-30
11
61
90
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-50
-34
-88
0
-27
-44
19
-24
-18
9
-8
8
25
-15
-20
-87
-65
-19
-13
6
-6
2
22
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
6
50
15
0
-17
-27
23
16
14
12
22
11
22
19
-117
-4
19
-9
18
41
-19
38
77
0
0
0
0
0
0
0
0
2
0
0
0
2
19
0
-3
39
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
1
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
4
-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
-5
0
0
0
-1
0
0
1
0
0
1
0
1
0
1
0
0
-2
0
3
-10
-10
-9
0
1
4
-23
0
0
43
-7
-13
4
0
4
17
3
-10
0
11
17
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
1
-32
0
1
1
-15
25
0
-14
-18
-27
13
0
-11
43
-14
1
0
0
-47
-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
1
-71
-24
-45
0
37
19
77
58
0
-26
-23
-17
2
0
-66
-28
-49
-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
15
-37
-12
-35
-37
-4
-52
-19
-4
4
-6
-50
-34
-25
-21
-5
17
11
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
16
-9
15
-33
0
1
-32
-21
36
0
-7
53
-13
-3
0
6
-14
-33
-26
0
0
0
0
0
0
0
0
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
-6
-16
-30
0
0
13
-24
-27
0
0
5
-59
-39
0
0
47
4
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-6
0
0
-1
0
4
0
0
-6
26
-8
0
0
22
74
-5
0
0
37
77
-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
14
36
48
0
0
-13
-98
74
0
0
4
1
-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
-31
20
-27
3
5
2
34
-8
17
-4
0
-7
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
24
9
13
0
0
16
39
-9
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-12
0
0
0
-57
-30
0
0
0
41
-45
0
0
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
-1
0
0
0
-2
-20
0
0
0
-19
8
0
0
0
-26
100
0
0
0
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
-20
31
0
0
0
94
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
53
-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
0
14
-26
0
0
0
23
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
-30
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
3
0
0
0
0
22
0
0
0
0
-84
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
-83
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-2
7
0
0
0
18
-27
0
0
0
-2
-40
3
-1
0
51
9
-5
0
0
-24
-8
-20
12
3
-41
-48
-16
-14
-58
19
-16
-26
-32
69
21
0
1
26
32
1
6
-10
0
-9
1
5
0
0
0
1
-31
3
0
0
-28
-6
-9
0
0
-16
-17
0
-5
0
-31
-32
-17
-12
-6
19
-78
10
39
13
-6
55
-8
14
-5
7
0
-17
-25
-144
1
6
-10
0
-9
-52
-1
0
0
0
8
-16
-4
0
0
-16
-13
2
0
0
10
12
-19
0
0
-7
44
-15
-12
1
-82
-8
-34
-14
-3
-4
14
-42
-56
7
4
-11
0
32
2
1
6
-10
0
-9
-7
0
0
0
0
-23
3
-8
0
0
-15
-29
7
0
0
-8
-9
-3
5
0
-23
11
-8
-19
-4
-11
-35
-35
-2
-22
4
10
-24
-14
29
34
0
-1
-7
12
7
8
31
14
-37
-61
10
0
0
0
-12
-1
0
0
0
-29
-24
-2
0
0
3
-8
2
-1
0
0
-17
-8
-16
2
-59
-59
-25
-5
-18
-6
-2
-30
-31
25
-14
-24
0
-13
6
-7
-18
-10
29
-8
-26
13
2
0
0
-9
-4
-2
0
0
-37
0
0
0
0
2
-3
35
0
0
-18
8
-14
-8
-5
-46
-70
-78
-9
8
35
9
6
19
44
-12
11
8
3
8
-2
-14
8
26
13
-26
13
2
0
0
22
-8
-4
0
0
-4
-16
2
0
0
39
-2
1
0
0
-33
-6
-16
-12
3
19
-28
-42
-29
35
26
-2
-19
-26
-12
-23
2
1
3
9
-5
-61
-6
47
-25
-26
13
2
0
0
12
-13
-9
0
0
-21
0
1
0
0
6
12
17
0
0
-8
-20
-8
-9
-2
-93
56
-37
15
32
-18
-31
10
-49
-46
16
1
10
-5
-2
16
5
-4
-9
44
-1
2
-1
0
0
19
-4
2
0
0
-6
23
-3
0
0
-6
-3
-22
0
0
49
-41
13
-34
-1
-23
4
-10
25
31
-98
-8
6
-41
-16
-91
1
5
-3
9
0
0
0
0
0
-5
0
1
0
0
-3
-4
1
0
0
-11
-28
-3
0
0
5
12
-7
-1
1
6
-12
-11
7
8
-23
10
-64
9
-28
38
15
-106
-28
-11
-49
-6
-2
11
0
0
0
0
0
0
0
-14
0
0
0
0
-4
14
0
0
0
-5
0
0
0
0
-19
1
0
0
0
-78
0
-14
-3
-3
-13
-4
-16
12
25
-12
-24
-21
11
-81
19
-4
-1
-8
0
0
0
0
0
-1
2
0
0
0
-2
-10
6
0
0
-13
17
3
0
0
-2
49
-11
-1
0
-17
-53
-25
-7
0
-110
-16
-43
3
16
-15
-9
-51
-19
6
13
33
11
5
18
-25
-20
-24
23
-31
0
0
1
0
0
0
6
-1
0
0
0
-3
2
0
0
0
-7
-16
0
0
1
-27
-17
-16
-1
44
61
-35
-51
15
24
-10
-52
-38
38
8
6
9
33
-18
-27
30
-1
-10
-5
0
0
0
0
0
5
-64
15
-1
0
-4
-9
5
0
0
-5
-2
-1
0
0
34
15
3
-21
0
1
91
-12
69
23
-54
-39
52
20
-55
-81
2
-13
-4
-2
15
27
4
-1
22
0
0
0
0
0
-31
7
8
0
0
-14
7
0
0
0
-10
17
0
0
0
11
7
-9
-20
-1
-122
68
-46
18
-44
7
-17
-18
-8
18
4
3
6
-25
-19
-28
3
30
-7
38
0
0
0
0
0
-3
-62
28
-2
0
0
-15
-16
0
0
0
-17
-16
0
0
0
-39
21
1
-2
45
-55
-30
29
-21
-71
25
-40
12
58
-182
1
-19
-29
-41
-44
33
-4
-24
-30
1
-1
1
0
0
2
0
-5
0
0
4
-7
-3
0
0
3
-6
4
0
0
-33
-5
9
0
0
-6
-61
-76
-16
-7
8
-18
-33
-17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
7
4
3
0
0
4
-13
3
0
0
-5
9
0
5
0
-65
11
-79
-31
13
-28
-74
-32
-61
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
15
0
0
0
0
4
0
0
0
0
-24
1
0
-5
0
-14
18
-30
-1
-39
-15
-49
-37
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
4
-2
-1
0
0
1
-1
-1
0
0
-1
-48
35
0
0
21
-8
3
9
0
-17
13
-6
-20
1
-7
-15
-14
8
19
-96
13
6
4
15
-74
15
8
10
-39
0
0
-1
0
0
0
0
-8
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
-27
1
-1
-21
0
-71
77
-2
-19
77
33
9
-33
-55
-5
9
11
-21
-60
12
-11
13
-17
0
0
0
0
0
0
0
0
0
0
8
-2
34
-5
0
0
5
-12
0
0
-6
-5
-15
0
0
-9
14
-88
11
-5
-49
20
50
-135
-64
61
-13
-25
-36
-121
-53
-95
-16
-91
-58
0
0
0
0
0
0
0
0
0
0
-23
-15
16
-2
0
-26
11
-1
0
0
-8
-31
23
1
0
-15
-98
-4
35
-35
44
-43
9
-30
3
-87
1
30
-42
-8
2
33
17
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
-16
0
0
0
0
-76
-8
2
-6
-40
-45
-87
-35
60
29
-13
-5
24
-27
-38
-25
-31
-119
-97
-70
14
-30
-16
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-18
0
-17
4
-37
12
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
13
-41
-2
-6
0
-45
-4
-39
-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
3
3
18
-12
-76
-5
-5
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
-2
4
-14
0
0
0
3
-5
-11
0
-22
13
-40
35
-2
-10
-1
2
-36
-36
-19
0
-12
5
-137
-91
-12
-79
-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
13
0
-9
-1
7
36
5
31
-57
-58
-53
-32
46
-38
19
28
12
17
-8
-102
-25
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-17
-33
-9
0
0
-20
1
-3
3
-10
-62
-28
-40
2
11
-192
-92
-44
-48
67
-17
-39
-7
-14
21
8
28
-135
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-34
-6
4
0
2
-18
-5
3
0
-10
-11
-35
-1
11
12
41
23
-52
15
-51
2
37
-44
50
-101
-6
-3
-11
-57
0
0
0
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
44
1
5
-124
-142
-72
-34
37
-36
-34
-3
-63
-83
-21
-25
-64
20
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
-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
2
2
0
0
0
0
28
-37
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
0
0
-1
0
0
0
0
0
6
0
0
0
0
-7
5
0
0
8
-37
-7
0
-4
2
-125
41
-36
-48
-56
-32
-26
-121
6
-3
-105
-11
-34
-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
1
-4
-2
4
24
-3
-30
-29
-26
-42
32
-19
-66
-37
-28
3
-63
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-65
-29
2
0
0
10
18
-47
-32
25
-50
-85
-8
35
63
-17
-135
-120
15
-131
83
-48
-184
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-33
-7
2
12
-69
-5
32
0
-18
-61
-6
-24
-13
10
5
84
-74
-47
-94
38
23
-35
-24
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
9
4
-7
59
-10
-49
0
-27
-75
-60
2
35
-94
-3
-16
-7
-46
13
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
1
0
-1
0
0
3
10
-32
0
28
-47
-4
-65
0
-111
-16
-120
-42
0
-37
-66
4
-175
0
0
0
0
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
-50
0
-1
-18
28
-51
0
-10
13
-38
-86
0
-12
-40
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
-28
-48
18
7
0
-78
-63
-139
-61
0
-9
-14
-256
-129
0
6
-64
-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
4
44
-14
-39
15
-8
-41
76
-35
11
12
10
-77
-22
-2
-16
-14
13
-60
-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
-6
18
-28
0
0
-3
-35
18
27
0
0
-13
-57
-16
0
-55
-4
39
-40
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
72
-62
0
0
-37
-94
-41
0
0
-24
-75
-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
-2
0
0
0
6
-33
26
0
0
-47
25
5
0
0
-73
109
11
0
0
0
0
0
0
0
0
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
-56
0
0
-121
-41
-239
0
0
-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
-63
68
-21
36
-56
16
-9
-107
-13
0
26
-10
-39
-55
-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
7
70
-9
0
0
-1
-75
-126
0
0
72
0
-16
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-11
0
0
0
0
27
0
0
0
-31
-127
0
0
0
-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
0
-2
73
0
0
0
-3
-57
0
0
0
75
-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
31
-3
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
0
0
0
0
-16
35
-71
8
-83
-10
-29
18
-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
-47
-45
0
0
0
-113
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-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
-98
-22
-21
-28
-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
-19
0
0
0
0
30
-26
-3
0
-6
5
18
29
-53
0
-21
37
4
-15
7
99
54
-30
13
0
-13
45
-6
49
27
66
85
49
40
41
30
32
74
17
6
30
32
26
14
-19
19
25
10
14
12
-3
19
-3
12
0
-13
12
120
4
2
-20
2
26
20
-14
34
-42
-16
-29
-74
-7
-55
-19
-48
-4
43
-19
-18
16
41
27
-14
19
-20
-27
24
14
2
12
-23
19
25
10
14
12
-43
-6
5
-4
0
15
-31
24
3
2
45
3
-41
-27
-4
-4
51
49
-43
-5
-23
-31
-23
36
28
-1
60
39
18
26
18
-4
29
39
37
21
26
23
-9
-8
19
25
10
14
12
60
-2
7
4
-4
2
-8
-43
14
15
8
-29
-17
-75
-18
6
-60
-9
4
29
-51
-100
-52
-23
-55
5
14
6
-54
-83
26
8
2
-18
-16
-35
23
14
0
48
0
11
7
-4
21
-52
27
6
2
-1
9
-40
-55
-19
1
-19
-60
-76
0
-28
-11
-10
-3
-95
23
-1
-59
-39
15
42
-38
23
6
14
-8
7
23
1
-18
42
1
20
21
-3
-10
4
-9
8
-3
-40
13
40
-15
-8
-3
-14
12
-100
5
3
-22
-59
27
-1
1
-79
-10
-33
48
-73
73
39
20
15
29
0
2
-2
-5
-33
7
27
16
39
34
33
30
12
44
49
48
3
43
39
43
13
40
-15
-8
-3
-9
-21
-24
-4
-3
-68
-25
-61
-77
-7
-33
-102
48
-68
-103
0
66
-18
-42
-2
25
-48
-9
-54
-37
-27
21
-15
-18
-50
19
17
6
-6
12
15
-5
5
-24
19
13
40
-15
-8
-3
52
-1
6
3
10
35
15
-44
-5
5
-30
11
12
-1
-53
4
30
53
35
35
7
6
93
1
17
25
30
36
13
24
45
28
36
50
32
26
48
27
22
22
-23
78
1
-2
2
-4
-6
26
-14
-3
-14
-34
-14
73
-9
-1
-59
-58
81
6
70
-37
29
21
80
55
39
29
55
28
21
39
20
42
71
33
6
10
11
7
0
0
0
0
0
90
-22
25
-8
0
-1
17
-8
-42
-3
-20
-59
-70
-63
-7
-118
-40
-3
21
21
12
43
-43
27
-6
35
61
54
-14
74
22
4
38
-7
11
46
18
13
3
7
0
0
0
0
0
6
-85
8
6
0
-5
-11
-7
-7
3
3
-28
25
-12
0
12
-30
13
-28
-19
14
2
21
3
11
37
-12
2
58
73
22
4
15
10
12
18
0
12
9
-1
0
0
0
0
0
-3
-27
-2
0
0
-30
2
-10
-10
-12
77
74
3
-13
9
-85
-54
-50
-20
6
8
-45
41
-32
13
57
-32
26
36
47
-6
3
15
-4
-17
6
10
-1
14
52
36
25
43
9
71
0
-43
-22
5
0
-3
19
13
10
1
1
28
0
-23
17
14
-6
-7
-9
-35
6
-5
-17
-33
-71
-15
4
9
9
37
-26
30
54
19
-48
54
12
26
39
49
21
34
51
-3
44
0
0
0
0
0
8
-31
23
-49
-6
49
87
-81
-59
1
47
11
-22
4
28
50
-49
-45
-42
-71
8
13
25
-11
-66
53
9
3
90
-15
-3
15
11
1
-5
50
36
36
47
18
0
0
0
0
0
24
-6
-27
-32
14
-18
9
-27
7
0
108
70
19
41
1
-4
48
-2
14
26
9
17
-17
50
33
69
1
-2
31
91
23
9
16
15
42
25
16
2
-2
10
0
0
0
0
0
-25
-44
-51
-18
-20
-3
-6
-60
0
-4
3
3
-62
-69
62
37
23
-6
-51
-62
62
9
-32
2
27
-9
3
19
22
-1
39
10
-10
21
-29
50
46
20
47
75
8
-2
3
11
0
-3
1
-16
-8
1
81
1
1
-36
0
2
48
32
21
8
17
21
-28
10
-27
-78
-58
-34
-20
0
-18
-52
-37
-44
-9
0
0
0
0
0
0
0
0
0
0
-7
-7
-11
8
3
-17
-52
3
2
2
-57
-78
74
-18
3
3
7
12
-2
4
-2
-1
39
7
-23
9
10
-45
-32
-13
26
9
-16
-15
-14
0
0
0
0
0
0
0
0
0
0
0
11
-17
9
0
0
0
-21
-1
-1
-1
10
-11
-9
0
2
8
-12
-12
14
34
39
-19
-32
-17
24
1
-38
4
-12
-18
-86
-41
-27
-21
0
0
0
0
0
0
0
0
0
0
-8
13
1
-1
1
10
6
-39
10
0
46
-104
-17
-26
11
-86
37
-4
-20
-49
-17
67
18
55
-19
2
5
-64
-66
-53
23
30
23
37
-27
46
-14
24
43
-25
-3
20
29
0
-32
0
2
20
-2
0
4
-1
-28
0
5
0
0
1
-48
-1
0
-4
-84
-22
3
-27
22
8
-55
-4
74
-30
-61
-68
-28
15
-19
-31
-104
16
-38
32
20
-7
4
50
57
26
6
23
0
0
0
0
0
0
0
0
0
0
-32
-16
-15
-16
-27
-57
-25
-19
-47
-19
-67
34
-43
-5
-23
8
9
20
-22
-9
97
5
-2
2
-44
15
-14
5
-12
-30
14
42
36
15
-40
0
0
0
0
0
0
0
0
0
0
64
17
7
15
-18
-56
46
-44
19
18
38
-142
-33
83
18
-57
39
-4
12
-43
-57
30
0
33
15
8
24
-20
7
-38
33
18
7
18
77
0
0
0
0
0
0
0
0
0
0
-1
-17
34
-64
-28
0
1
-11
17
2
-34
-11
-22
-59
-5
-110
-69
-48
-9
-47
8
41
-12
-41
-35
18
1
-24
17
48
75
23
12
-12
-6
-2
0
-1
0
0
-5
7
-2
15
0
-7
10
-38
-42
7
-10
15
3
-51
0
4
-22
-16
-33
-73
-56
-43
-70
-75
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
7
0
0
-16
8
-10
1
0
49
1
-17
18
-3
8
51
-50
-43
0
52
2
18
35
2
-10
-26
-29
-57
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
2
0
-2
0
6
-8
0
7
-7
-18
0
-1
3
-14
-20
0
26
-38
-95
-44
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
8
-38
-4
2
0
-6
11
-5
22
-5
74
52
-31
-31
-11
13
12
14
-39
-18
-90
-78
43
41
51
43
59
23
0
18
-34
13
-33
-5
-59
76
32
27
5
-13
0
0
0
6
0
0
0
0
-41
0
0
2
0
11
-6
0
0
27
82
-14
3
-16
-14
8
0
-17
-36
26
32
33
8
6
-88
55
-74
-21
37
-14
-19
25
6
52
55
56
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-10
18
-58
12
-48
-6
17
-41
54
70
10
-100
-6
67
16
18
-98
-83
20
8
-4
-56
-18
-83
-22
-92
-20
-26
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-85
-53
-4
29
15
-38
13
-53
-11
-113
-71
-11
-29
3
70
55
23
-59
-40
-34
42
22
45
5
-10
-59
26
-9
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-83
-33
3
-69
-1
0
20
24
3
14
-40
59
-66
-4
-103
-94
-8
-25
32
-89
20
-72
12
-28
-16
-17
-49
10
35
2
-3
0
0
0
0
-2
0
-12
0
-8
0
0
0
1
-8
-12
36
-118
-66
0
-55
-45
-57
-47
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
6
-3
-3
0
0
-3
-1
-1
0
0
48
25
5
2
-2
14
51
-38
-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
-2
0
0
0
0
2
0
0
0
0
5
0
0
-9
46
-25
7
-43
-43
15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
6
0
-5
-28
-12
0
2
-8
-12
-7
8
0
-7
1
4
0
-17
51
34
0
16
62
-22
-44
-17
-50
44
77
0
27
-74
-14
45
9
2
-25
-14
33
-23
22
33
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-26
6
4
5
8
3
9
9
-18
-147
1
6
-25
39
24
-8
-7
49
21
10
-6
100
67
21
67
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-62
63
34
-15
-115
-43
-75
4
52
-51
-92
-64
-56
-58
-112
-60
-40
-28
-109
33
-40
-23
-24
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-21
1
-48
-105
91
13
-12
-53
-51
193
15
110
-7
34
-24
21
-12
32
35
38
17
14
45
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-72
-49
-29
-13
-9
12
-84
28
-117
-13
-45
-108
-63
-53
-96
-76
-16
-68
-106
15
-85
-137
-36
-21
2
0
-2
0
0
0
0
0
-1
0
7
-3
11
-13
0
-83
-55
-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
-2
-4
0
0
-60
-16
3
-21
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-14
-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
-18
0
0
0
-10
0
0
-5
0
0
-6
0
0
0
-3
-13
2
24
0
7
47
-38
-9
0
-41
0
-139
10
0
32
-14
4
-31
0
-80
17
6
9
0
-28
8
18
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
7
0
9
0
0
57
0
-1
-40
-92
-116
0
-68
-41
32
-13
0
53
-30
-35
26
0
32
-4
8
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
-5
-103
4
-92
0
-64
-42
-7
-46
0
-77
-123
-15
-60
0
-202
-97
-13
-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
17
78
-68
-57
39
13
-50
33
30
-25
110
-22
88
102
46
6
79
-31
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
-108
62
-97
46
0
14
-90
-50
-15
0
-51
-58
-112
-58
0
-3
-73
-214
-48
0
0
0
0
0
0
0
-5
-5
0
0
-19
-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
-2
70
-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
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-2
2
0
0
29
23
-60
0
0
0
-41
-58
0
0
-31
-33
-107
0
0
44
-4
-4
0
0
-37
55
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
45
0
0
0
-49
0
0
0
10
43
-62
0
0
43
-11
-26
0
0
-42
-30
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
-11
-56
-55
0
0
-56
-86
-32
0
0
-131
-59
-16
0
0
0
0
0
0
0
0
0
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
57
-58
-13
-9
-3
-51
51
55
-69
-131
55
80
-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
0
0
0
0
-2
-17
-39
0
0
70
-78
-119
0
0
-54
-2
-110
0
0
-1
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
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
-1
0
0
0
-2
-6
0
0
0
0
-88
0
0
0
5
25
0
0
0
-4
-70
0
0
0
30
14
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
35
0
0
0
-1
5
0
0
0
72
23
0
0
0
-48
13
0
0
0
-38
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-114
0
0
0
-157
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
3
-114
36
39
38
21
-19
57
-61
12
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
13
0
0
0
0
26
0
0
0
0
-38
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
2
0
0
0
0
-5
0
0
0
0
14
0
0
0
0
13
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
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
-59
43
108
89
-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
-117
0
0
0
0
33
-28
-3
0
-6
7
14
23
-54
0
-23
27
0
-19
8
96
57
-25
22
2
-7
46
2
49
27
73
95
85
43
59
42
44
90
23
5
30
33
32
20
-20
23
28
13
25
16
1
7
-3
12
0
-11
14
114
8
2
-19
4
24
25
-15
33
-40
-14
-27
-76
-2
-39
-20
-45
-4
58
-2
-24
16
28
32
-12
11
-15
-24
26
10
4
14
-30
23
28
13
25
16
-34
-6
5
-4
0
26
-35
27
3
2
42
13
-45
-27
-5
-4
49
55
-46
-7
-25
-28
-18
47
31
19
55
39
17
25
17
-7
20
45
31
24
32
21
1
-23
23
28
13
25
16
75
-5
7
4
-4
5
-12
-45
12
15
12
-21
-20
-75
-21
6
-57
-2
9
26
-33
-94
-50
-38
-49
9
16
3
-53
-85
20
5
-3
-31
-18
-32
22
10
-20
29
-4
-2
-8
-6
10
-44
20
6
2
-1
20
-40
-61
-22
1
-21
-60
-82
5
-29
-11
-11
-3
-85
21
0
-51
-33
20
44
-12
31
-5
20
6
4
26
8
-17
44
15
19
18
-8
-42
8
-4
17
5
-24
20
26
-10
-10
-3
-12
10
-101
5
3
-17
-59
26
-1
1
-86
-7
-43
49
-78
75
47
19
15
28
12
20
18
2
-29
13
35
10
43
26
32
29
-6
39
43
51
-3
51
38
48
20
26
-10
-10
-3
-8
-16
-24
-4
-3
-70
-22
-67
-75
-7
-32
-111
46
-64
-109
4
65
-22
-43
-1
17
-44
0
-56
-62
-28
9
-22
-21
-55
37
16
-13
-15
17
17
-2
8
-38
25
20
26
-10
-10
-3
62
3
8
3
10
31
21
-43
-6
5
-32
11
6
9
-53
5
33
54
25
37
28
20
112
1
0
29
33
48
27
23
46
31
28
43
11
28
42
5
22
17
-17
70
1
-2
2
-7
-7
25
-13
-3
-13
-28
-17
73
-9
-6
-67
-57
80
6
65
-23
24
21
80
56
26
20
59
20
17
33
-12
40
74
54
5
14
8
7
0
0
0
0
0
93
-23
25
-8
0
1
19
-11
-44
-3
-22
-54
-71
-62
-8
-117
-43
2
31
15
20
52
-31
24
-4
34
70
69
-19
79
25
1
52
-1
11
58
30
17
2
13
0
0
0
0
0
6
-94
8
6
0
-5
-7
-15
-5
3
3
-37
26
-18
0
14
-27
12
-25
-21
21
15
20
2
12
44
8
3
55
69
28
10
15
17
20
40
-8
18
3
5
0
0
0
0
0
-3
-31
-2
0
0
-23
2
-12
-12
-12
75
66
4
-9
9
-88
-72
-47
-16
5
-1
-30
42
-24
18
70
-26
37
40
38
-8
4
27
0
-25
3
6
-18
8
27
59
24
57
-1
102
0
-47
-21
5
0
-3
15
14
11
1
1
31
-1
-19
18
15
-3
-3
-6
-32
8
2
-14
-30
-68
-23
9
18
10
32
-22
41
42
13
-64
54
13
15
28
50
10
26
45
10
51
0
0
0
0
0
16
-32
17
-47
-9
51
85
-83
-59
0
48
7
-16
2
30
55
-42
-43
-41
-66
2
1
29
-14
-70
51
16
-11
84
-11
26
6
25
4
2
62
37
39
60
27
0
0
0
0
0
35
-11
-34
-30
13
-17
7
-30
10
0
99
64
19
41
3
-2
56
3
7
33
40
17
-8
45
38
72
15
11
41
92
20
-2
42
26
68
37
12
23
0
9
0
0
0
0
0
-25
-44
-58
-17
-20
-3
-10
-60
1
-4
3
2
-57
-63
62
37
38
-7
-57
-64
57
9
-25
1
40
-1
-2
15
8
-10
64
-3
12
32
-14
56
47
55
58
99
8
-2
3
11
0
-2
1
-16
-8
1
81
2
-1
-31
0
0
47
29
22
8
22
21
-19
5
-27
-76
-50
-31
-11
-2
-26
-57
-24
-43
-14
0
0
0
0
0
0
0
0
0
0
-6
-8
-11
8
3
-13
-56
4
1
2
-60
-85
71
-16
5
7
9
1
-1
7
2
-3
45
3
-23
18
19
-38
-30
-12
19
12
-22
-14
-18
0
0
0
0
0
0
0
0
0
0
0
11
-15
9
0
0
0
-26
-1
-1
-1
10
-11
-8
0
2
8
-14
-6
18
35
41
-9
-36
-20
28
4
-27
5
-12
-19
-81
-43
-28
-27
0
0
0
0
0
0
0
0
0
0
-8
13
1
-1
1
11
10
-39
12
0
41
-101
-20
-26
13
-88
42
-8
-16
-48
-21
65
22
54
-22
11
6
-58
-61
-46
29
29
8
37
-30
47
-29
23
53
-6
-11
13
47
-7
-39
0
2
20
-2
0
4
-1
-31
0
5
0
0
4
-48
-1
0
-5
-89
-21
2
-26
21
13
-51
-5
83
-23
-42
-78
-24
29
-19
-38
-108
22
-20
19
18
0
7
53
55
31
2
20
0
0
0
0
0
0
0
0
0
0
-42
-12
-19
-11
-28
-56
-25
-22
-47
-20
-61
34
-35
-3
-20
23
-1
13
-14
-13
92
-14
5
7
-50
12
-44
11
-18
-36
-13
62
32
33
-47
0
0
0
0
0
0
0
0
0
0
63
17
7
15
-18
-60
47
-42
20
19
39
-135
-32
85
18
-52
56
-11
15
-34
-58
29
-8
14
13
12
34
-9
9
-48
26
12
-13
52
78
0
0
0
0
0
0
0
0
0
0
-1
-17
29
-61
-27
0
1
-11
15
4
-34
-8
-11
-62
-6
-105
-73
-64
1
-52
5
38
-21
-55
-42
23
-9
-36
2
68
91
30
-2
-7
-7
-2
0
-1
0
0
-5
7
-2
16
0
-7
13
-37
-39
7
-10
15
4
-48
0
4
-19
-15
-30
-69
-40
-31
-84
-82
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
7
0
0
-16
9
-10
1
0
49
1
-19
18
-3
8
51
-50
-43
1
50
10
17
34
2
-9
-43
-36
-49
-28
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
0
-2
0
15
-8
0
7
-7
-13
0
-1
3
-16
-28
-1
18
-36
-90
-35
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
10
-40
-9
5
0
-5
8
-4
20
-5
74
59
-39
-30
-9
15
8
20
-39
-19
-86
-83
56
50
58
45
78
24
4
17
-31
25
-23
9
-59
85
40
47
31
-12
0
0
0
6
0
0
0
0
-41
0
0
2
0
11
-6
0
0
27
83
-17
3
-17
-16
3
1
-15
-40
24
29
23
4
6
-85
75
-62
-23
44
1
-9
26
5
51
62
67
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-11
24
-46
13
-47
-3
21
-44
52
71
18
-92
-4
70
12
10
-98
-83
21
3
-10
-63
-8
-83
-25
-102
-23
-29
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-75
-56
4
29
14
-36
16
-57
-12
-113
-69
-10
-24
9
59
50
19
-51
-45
-28
61
27
49
1
4
-61
27
3
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-84
-35
4
-69
-1
-1
23
34
7
14
-40
57
-78
-4
-101
-80
0
-27
45
-98
20
-92
16
-27
-13
-18
-57
3
32
2
-3
0
0
0
0
-2
0
-12
0
-8
0
0
0
1
-8
-12
29
-115
-68
6
-49
-44
-56
-45
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
6
-3
-3
0
0
-3
-1
-1
0
0
45
25
5
2
-2
11
46
-41
-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
-2
0
0
0
0
2
0
0
0
0
5
0
0
-9
49
-28
9
-40
-38
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
6
0
-4
-27
-12
0
2
-8
-13
-7
8
0
-7
0
4
1
-17
50
36
1
19
62
-28
-43
-17
-48
38
78
1
28
-70
-1
43
5
35
-23
0
29
-23
20
42
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-27
6
4
6
8
3
7
10
-18
-145
0
7
-25
33
28
-12
-11
54
23
10
10
100
72
41
68
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-56
67
30
-13
-118
-46
-70
3
54
-52
-90
-68
-56
-61
-117
-77
-18
-34
-122
64
-50
-24
-39
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-14
11
-41
-99
93
5
-7
-54
-48
204
25
113
1
28
-28
18
8
28
22
38
19
14
36
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-71
-47
-28
-10
-10
12
-85
31
-109
-15
-44
-100
-63
-59
-91
-73
-13
-99
-121
13
-82
-130
-29
-25
2
0
-2
0
0
0
0
0
-1
0
7
-3
12
-11
0
-75
-54
-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
-2
-4
0
0
-61
-22
3
-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
8
-4
0
-11
-18
-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
-18
0
0
0
-10
0
0
-5
0
0
-6
0
0
0
-3
-13
3
25
0
6
48
-33
-3
0
-42
1
-139
5
0
28
-14
1
-25
0
-72
33
17
2
0
-26
5
11
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
9
0
9
1
0
50
0
-2
-40
-93
-108
0
-69
-43
38
-17
0
51
-34
-38
20
0
33
-5
15
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
-90
-4
-97
0
-55
-41
-2
-47
0
-78
-112
-10
-56
0
-206
-92
-4
-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
17
81
-70
-51
39
16
-53
30
30
-25
110
-25
84
103
45
1
77
-34
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
-111
55
-95
55
0
14
-88
-70
-12
0
-51
-51
-111
-56
0
-1
-69
-240
-46
0
0
0
0
0
0
0
-5
-5
0
0
-22
-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
-2
71
-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
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-2
2
0
0
35
24
-64
0
0
0
-39
-64
0
0
-29
-49
-108
0
0
56
7
-10
0
0
-30
65
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
49
0
0
0
-50
-5
0
0
7
42
-62
0
0
45
-20
-32
0
0
-36
-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
-9
-57
-54
0
0
-40
-73
-28
0
0
-125
-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
18
26
61
-59
-1
-6
-4
-50
58
54
-72
-132
59
82
-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
0
0
0
0
-6
-17
-37
0
0
74
-96
-108
0
0
-56
-2
-94
0
0
-1
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
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
-1
0
0
0
-2
-6
0
0
0
0
-85
0
0
0
5
31
0
0
0
-5
-63
0
0
0
34
25
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
38
0
0
0
-1
2
0
0
0
77
13
0
0
0
-52
4
0
0
0
-36
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-145
0
0
0
-161
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
4
-122
40
49
35
20
-14
54
-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
-179
-20
0
0
0
-83
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
11
0
0
0
0
27
0
0
0
0
-34
0
0
0
0
52
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
-5
0
0
0
0
19
0
0
0
0
17
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
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
-64
42
123
93
-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
-122
0
0
0
0
2
0
0
0
-5
-17
1
9
-6
-1
-21
23
1
-4
5
-13
-9
-26
44
10
18
-1
7
64
49
21
16
49
15
30
30
46
18
19
2
35
29
58
39
37
13
2
-1
28
36
1
-1
1
4
0
14
9
2
-1
1
-6
25
5
9
-7
1
26
-32
-14
-15
2
18
7
-4
10
-7
0
-76
37
-63
-58
-73
-2
-3
3
-20
-36
-3
41
-27
13
2
-1
28
36
8
0
1
-3
0
27
-3
-3
7
-1
-2
-3
-21
-1
-1
29
0
57
-8
3
-29
0
30
57
38
-3
14
44
33
-37
64
-24
12
-4
7
-22
20
-14
113
-57
13
2
-1
28
36
2
0
0
1
0
-6
-6
1
3
2
7
9
3
-26
-8
-20
5
-17
-4
21
-8
44
18
-29
-3
-25
21
-42
33
-47
22
26
1
25
20
33
45
-66
-32
-31
-17
-6
-14
30
-16
11
4
1
1
0
26
-1
-6
0
2
-4
34
-2
-12
-18
13
-9
-17
-18
4
6
6
27
39
18
39
16
-30
11
52
-1
-7
-8
15
38
-16
15
-89
-7
-22
-19
45
85
29
-64
16
-12
23
-14
-5
-11
4
-1
1
1
-2
7
-13
11
2
0
5
-19
47
-50
-21
35
-15
-31
23
8
67
-9
37
-35
59
31
27
17
87
26
67
-100
31
27
41
-23
11
80
-19
16
-12
23
-14
-5
-1
-1
5
-2
0
-13
2
-21
-6
-2
48
-30
-5
7
-47
33
-27
-24
-20
5
-48
-26
-59
-27
-98
-15
-37
-47
47
-50
-7
-34
-80
-16
-5
20
46
62
27
-10
16
-12
23
-14
-5
32
9
-1
-2
0
12
7
-4
-23
2
13
8
-26
51
-16
19
28
-12
-3
47
71
31
29
14
-28
41
-13
43
31
16
8
-5
47
-72
-33
-16
-22
31
46
61
-2
1
0
-1
-1
-1
3
-8
0
0
-7
-8
-13
5
-6
-1
2
-10
25
-9
-50
17
-3
14
42
-37
-27
6
9
-28
12
16
-31
-2
91
20
-13
1
-5
20
0
0
0
0
0
3
-1
1
-3
0
2
0
4
-4
-3
-13
-6
-49
-27
1
13
-38
49
66
0
1
23
-24
22
12
9
37
49
-91
47
42
11
-11
5
9
21
73
14
4
30
0
0
0
0
0
0
-37
0
3
0
0
5
-20
4
2
0
1
15
-6
1
-1
13
-47
-12
14
42
81
32
-24
22
32
13
-48
55
14
29
36
23
77
70
74
-42
47
-44
46
0
0
0
0
0
0
-1
-1
0
0
5
14
-3
0
0
21
-1
-17
-25
0
-2
-135
16
-15
-7
-32
26
9
-18
38
-8
-3
-31
13
-5
-7
-18
66
-46
-26
-45
-51
-29
31
-62
17
-12
-29
29
62
0
-3
-2
0
0
0
-14
-1
3
2
0
-30
-34
31
20
3
37
10
9
1
-58
11
-11
25
-1
4
11
-7
111
-23
62
27
-14
-6
-21
16
-1
-47
-51
-67
4
-94
-98
90
45
0
0
0
0
0
31
7
-20
-3
-16
2
36
-17
-40
2
2
1
19
20
32
48
23
-28
24
10
-24
-62
36
-14
-11
-12
-18
0
-21
-13
69
-9
28
24
26
-29
38
-1
88
18
0
0
0
0
0
18
-1
-43
15
-14
-8
-13
-2
4
1
-18
-3
21
8
6
-50
95
12
3
30
53
-62
37
115
-15
9
42
75
60
20
-20
-5
59
17
55
23
-36
25
8
62
0
0
0
0
0
-4
-1
-28
-4
-16
0
9
-17
-4
-5
0
-1
12
6
29
37
18
2
-26
-9
-47
11
-35
23
84
25
47
-43
-7
28
17
-107
-50
39
48
-11
41
91
62
-35
0
0
0
2
0
8
0
-3
-1
0
6
-1
-27
-4
1
18
8
16
-9
7
-26
50
62
-23
-11
-32
48
-36
-21
1
-30
-31
18
12
-25
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
0
0
1
-2
2
0
-9
-24
32
2
3
12
-23
-16
-5
7
6
-27
40
22
1
72
52
-9
23
-1
12
46
-11
7
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
3
-1
-2
0
4
-24
16
-1
0
0
4
15
0
7
9
-22
-20
1
15
2
-16
-21
-4
-68
17
-38
12
-25
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
-2
0
15
-2
-1
-14
2
-20
10
11
7
41
-38
10
-14
-14
-19
2
21
-17
-26
-12
22
-19
-34
2
-11
1
47
-16
-108
44
-12
-45
116
26
16
87
11
46
0
0
0
1
0
0
0
-27
1
0
0
0
-6
-5
0
0
-1
-19
2
0
-9
-2
4
-14
11
36
7
51
-73
-15
18
-11
-12
-1
82
29
-37
36
56
62
1
2
12
-56
58
0
0
0
0
0
0
0
0
0
0
-14
-20
-6
13
-6
0
0
-62
-14
-1
21
13
-18
-17
-12
32
-35
-60
-4
-39
-21
-58
-39
88
-37
-54
-37
34
-25
-45
-111
-15
8
-3
3
0
0
0
0
0
0
0
0
0
0
15
28
-4
4
-11
-5
8
-7
17
0
0
9
17
43
11
3
34
13
-25
21
-8
11
29
-42
23
51
152
-2
-8
-42
-34
-7
-40
19
-18
0
0
0
0
0
0
0
0
0
0
1
8
-16
18
17
0
0
-25
-3
3
-22
17
6
-14
3
13
-25
-51
47
-47
-31
-14
34
-36
15
24
22
-5
-71
37
36
32
1
16
43
0
0
0
0
0
0
2
0
4
0
-2
3
-2
-11
7
4
-1
3
-21
0
-2
26
8
39
-23
32
-23
-83
-17
-55
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
8
-2
0
4
-2
0
5
-15
-23
-4
-5
5
0
7
0
-74
-67
-35
35
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-17
1
0
0
0
12
-2
0
6
-4
-6
0
0
1
-5
36
-2
-23
-39
-63
-25
-20
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
1
0
2
30
-1
34
32
-9
17
-4
21
-11
21
-19
-4
24
-35
54
24
11
47
48
-21
11
1
-15
14
-2
61
48
42
13
104
18
2
0
0
0
1
0
0
0
0
-26
0
0
2
0
3
-5
0
-1
-2
52
-1
3
7
-14
2
5
-7
-21
-19
4
-30
49
-7
59
3
-12
5
48
35
73
-1
5
1
7
-14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-20
43
-3
4
-17
-5
11
31
22
21
-3
4
-31
16
-11
-14
-21
-8
37
-24
34
24
4
35
11
-46
56
-65
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-33
11
30
6
-12
-11
-36
-9
-29
-10
-24
7
20
0
-28
7
-21
-5
17
55
4
4
4
46
16
-27
12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
-7
-28
0
-2
5
64
-4
-24
-45
-8
-72
-8
-6
36
-23
44
-22
-78
42
-26
79
14
26
-37
-53
-45
19
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
2
-3
-1
-9
0
-26
59
-14
-36
-59
-19
0
0
0
0
0
0
0
0
0
0
0
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
10
3
1
-2
-11
15
1
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
-2
0
0
0
0
2
0
0
0
0
7
0
0
-3
25
-23
-20
-22
-31
-35
-10
0
0
0
0
0
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
2
1
0
1
4
2
-2
-8
0
9
-15
5
28
-1
1
6
24
12
39
7
17
6
23
51
67
154
-5
9
25
25
131
26
21
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
-25
1
1
-4
0
18
1
18
-6
-23
-44
-13
0
12
27
-52
-11
8
-14
-8
39
3
14
117
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
61
27
-3
-6
-26
-29
32
15
-21
25
-1
-22
-20
-74
-120
-14
-24
-6
31
-46
44
-39
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
37
38
6
14
12
10
-32
1
62
2
45
17
16
-18
-8
88
-9
-56
43
-29
-13
60
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
5
-2
5
-7
6
-14
-66
-49
10
12
-8
-2
6
-37
115
-11
58
-70
-1
-20
37
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
26
-13
-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
1
-9
-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
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-3
-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
-2
0
0
0
-1
0
0
0
0
0
-2
0
0
0
-2
0
2
9
0
1
-8
6
79
0
-8
-5
-63
-95
0
-16
-7
0
-22
0
7
9
21
-18
0
13
7
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
7
0
0
-33
0
2
-8
-28
-1
0
-26
-42
-11
55
0
-12
64
-47
-75
0
0
-6
-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
-32
-7
-32
-13
0
-20
29
6
46
0
-6
-17
-3
20
0
-14
-3
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
-6
13
-53
-6
17
23
30
-22
-1
-2
0
-21
-66
-7
37
14
-9
-2
39
-10
0
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
17
27
0
-3
-50
-57
-4
0
-2
51
-13
58
0
55
-4
-23
-6
0
0
0
0
0
0
0
2
-4
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-29
-51
0
0
-1
-3
18
0
0
72
19
25
0
0
-48
-52
-116
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
0
0
0
-15
-35
0
0
-12
-3
7
0
0
-16
-16
39
0
0
19
8
-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
-21
-9
48
0
0
-12
19
4
0
0
20
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
3
72
17
-15
75
-3
-37
15
40
-1
-5
-5
28
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
-39
-14
34
0
0
25
11
19
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
4
60
0
0
0
-7
42
0
0
0
9
1
0
0
0
26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-52
0
0
0
24
10
0
0
0
-1
-62
0
0
0
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
-31
43
0
0
0
-4
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
-16
-3
16
46
-4
-2
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
-11
2
0
0
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
10
0
0
0
0
2
0
0
0
0
-13
0
0
0
0
8
0
0
0
0
-20
0
0
0
0
0
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
25
0
0
0
0
-3
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-29
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
10
-3
1
-25
-1
0
0
0
-4
10
52
5
-18
-9
0
0
0
-2
12
46
-2
-21
-9
0
0
0
-7
-54
68
-103
-15
-2
0
0
0
-43
124
14
-12
-19
-11
0
0
0
-4
144
31
-18
-69
-142
0
0
0
-2
156
25
-5
-101
-145
0
0
0
-7
-9
-25
41
-172
3
0
0
0
-43
0
64
-15
-22
-9
11
0
0
-4
0
82
-53
-52
-31
-42
0
0
-2
0
82
-60
-70
-42
-43
0
0
-7
0
17
-88
-137
-18
-9
0
0
-43
-2
-14
-40
-61
-77
-53
29
0
0
0
-44
-52
-84
-78
-61
-86
2
-1
0
0
13
4
-21
-39
28
-2
9
3
0
0
-13
-26
-41
-57
110
8
-15
0
0
0
19
25
0
3
-61
54
4
4
0
0
12
44
79
63
75
1
1
0
0
0
31
2
34
44
64
-5
0
0
0
0
108
57
144
23
14
0
0
0
0
0
42
-37
65
49
-1
0
0
0
0
0
44
37
27
-2
1
0
0
0
0
0
15
14
-28
2
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
0
-20
41
24
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-41
-2
-18
11
0
0
0
-4
-50
12
64
4
-34
-3
0
0
0
43
24
22
-4
49
25
-7
0
0
0
32
18
62
3
27
27
0
0
0
0
42
51
-15
20
17
43
19
0
0
0
94
66
-19
23
2
14
0
0
0
0
2
47
-22
46
14
0
0
0
0
0
204
104
-76
9
5
0
0
0
0
0
-76
35
-35
5
3
0
0
0
0
0
101
-8
9
-2
0
0
0
0
0
0
-5
-22
20
-1
0
0
0
0
0
0
40
12
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-31
-53
-17
24
-42
3
0
0
0
-65
-77
-86
-1
-56
-5
0
-1
0
0
24
6
-61
9
-31
8
3
0
0
0
4
1
-6
88
-13
-25
0
0
0
0
12
61
64
83
-17
2
0
0
0
0
100
115
187
57
7
0
0
0
0
0
33
105
74
21
0
0
0
0
0
0
133
238
70
1
0
0
0
0
0
0
-51
107
-27
0
0
0
0
0
0
0
34
34
18
0
0
0
0
0
0
0
8
7
-1
0
0
0
0
0
0
0
44
-2
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
25
-7
15
7
-27
13
2
0
0
0
-1
18
36
163
83
29
1
0
0
0
38
46
66
124
38
-2
0
0
0
0
98
64
154
13
8
2
0
0
0
0
57
88
140
82
7
3
2
0
0
0
202
120
143
32
-3
0
0
0
0
0
12
109
80
42
0
0
0
0
0
0
101
112
63
1
0
0
0
0
0
0
60
0
18
0
0
0
0
0
0
0
72
31
2
0
0
0
0
0
0
0
-28
-10
0
0
0
0
0
0
0
0
-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
-45
-10
22
-134
12
0
0
0
0
0
-28
-34
77
29
-1
1
0
0
0
0
19
51
119
28
2
0
0
0
0
0
71
169
128
120
1
0
0
0
0
0
51
127
89
-1
-1
0
0
0
0
0
202
29
83
6
0
0
0
0
0
0
16
57
39
0
0
0
0
0
0
0
133
-21
5
0
0
0
0
0
0
0
45
-13
0
0
0
0
0
0
0
0
22
-3
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
10
101
48
61
4
0
0
0
0
0
39
115
192
39
0
0
0
0
0
0
99
75
41
-20
1
0
0
0
0
0
162
113
55
16
-1
0
0
0
0
0
76
81
10
2
0
0
0
0
0
0
122
-3
22
0
0
0
0
0
0
0
67
-4
15
0
0
0
0
0
0
0
44
-15
0
0
0
0
0
0
0
0
-17
44
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
9
51
-9
-17
0
0
0
0
0
0
109
48
110
1
0
0
0
0
0
0
22
-124
-71
1
0
0
0
0
0
0
115
125
54
0
0
0
0
0
0
0
24
21
14
0
0
0
0
0
0
0
134
31
3
0
0
0
0
0
0
0
5
-25
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
3
3
0
0
0
0
0
0
88
1
-26
0
0
0
0
0
0
0
-5
39
-12
0
0
0
0
0
0
0
53
48
-2
0
0
0
0
0
0
0
157
-12
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-29
6
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
0
0
0
0
0
0
0
0
29
16
-1
1
0
0
0
0
0
0
35
2
-3
0
0
0
0
0
0
0
117
6
4
0
0
0
0
0
0
0
4
-6
1
0
0
0
0
0
0
0
7
13
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
-9
7
-4
0
0
0
0
0
0
0
-5
4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
-73
-65
-48
-70
36
58
-11
2
-124
-80
-53
-70
-41
-40
-34
92
22
0
-15
-16
-14
13
67
97
36
20
16
0
-24
-26
-6
20
50
92
114
44
7
0
-10
-2
23
17
41
92
115
27
-2
0
38
31
45
50
88
111
38
-39
0
0
40
32
55
86
78
57
77
2
0
0
26
41
55
116
141
34
12
4
0
0
92
49
92
68
0
51
3
0
0
0
79
90
116
96
-51
45
2
0
0
0
66
103
-18
155
69
3
0
0
0
0
122
110
-8
70
-23
2
0
0
0
0
18
-3
56
-17
2
0
0
0
0
0
34
58
21
-29
1
0
0
0
0
0
-14
11
82
-7
0
0
0
0
0
0
4
24
3
0
0
0
0
0
0
0
-8
-2
-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
-82
-39
-52
-48
-59
-35
26
-22
0
0
-25
-63
-22
-31
7
-22
48
31
0
0
3
8
16
22
40
133
127
-7
-6
0
4
0
37
47
71
72
32
-21
1
0
23
39
41
36
67
143
121
25
1
0
41
52
76
100
154
84
100
1
0
0
46
42
66
89
95
47
80
0
0
0
119
70
113
149
128
-28
19
0
0
0
61
79
74
123
55
61
1
0
0
0
123
92
106
-14
50
-14
-1
0
0
0
56
97
11
93
75
3
0
0
0
0
83
106
-5
-24
-8
-2
0
0
0
0
-17
28
35
32
0
0
0
0
0
0
27
-9
-80
-7
1
0
0
0
0
0
-2
-2
53
-2
0
0
0
0
0
0
8
20
-8
0
0
0
0
0
0
0
3
-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
0
0
0
-17
-2
8
5
-13
-77
80
5
-1
0
-42
-1
11
-16
-35
-41
5
3
0
0
4
20
23
8
12
66
24
1
0
0
4
23
29
76
69
11
72
3
0
0
44
30
34
70
91
37
-4
0
0
0
42
30
60
81
62
71
2
1
0
0
35
37
68
72
47
15
0
0
0
0
79
63
132
-36
54
62
0
0
0
0
74
76
8
21
9
0
0
0
0
0
83
70
103
107
32
5
0
0
0
0
6
43
16
13
1
0
0
0
0
0
-25
-11
38
-49
0
0
0
0
0
0
-52
58
59
0
0
0
0
0
0
0
65
9
22
0
0
0
0
0
0
0
44
-23
0
0
0
0
0
0
0
0
-29
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
65
8
-6
18
0
0
0
-45
-25
-37
19
105
138
-6
0
0
0
27
16
37
44
47
-12
6
7
0
0
55
39
69
80
100
-8
-49
1
0
0
53
37
52
63
-13
107
25
0
0
0
78
40
66
69
-1
71
2
0
0
0
88
52
12
72
-40
20
0
0
0
0
38
62
72
0
78
4
0
0
0
0
10
-6
98
84
-53
0
0
0
0
0
63
96
110
-82
-1
0
0
0
0
0
42
54
-12
31
1
0
0
0
0
0
23
-2
3
3
0
0
0
0
0
0
12
12
6
-4
0
0
0
0
0
0
45
12
7
0
0
0
0
0
0
0
-7
19
1
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
28
36
-29
24
31
0
0
0
0
0
52
19
47
22
-10
-6
13
0
0
0
74
64
50
6
166
16
0
0
0
0
8
29
70
28
68
16
0
0
0
0
45
73
-20
58
-6
-4
0
0
0
0
31
27
-10
78
-33
5
0
0
0
0
85
45
42
18
-2
0
0
0
0
0
74
31
136
-10
-2
0
0
0
0
0
70
-25
-108
-5
0
0
0
0
0
0
116
13
39
6
0
0
0
0
0
0
98
-42
4
0
0
0
0
0
0
0
6
-41
-4
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
40
91
-9
-8
0
0
0
4
-20
22
-39
5
-7
0
0
0
0
39
88
40
-7
-50
51
1
0
0
0
50
45
73
122
0
11
0
0
0
0
56
-8
16
17
-3
-10
0
0
0
0
67
21
89
0
-6
1
0
0
0
0
17
137
-13
90
-3
0
0
0
0
0
84
-102
-1
20
-6
0
0
0
0
0
-51
58
-48
2
-1
0
0
0
0
0
65
85
23
3
0
0
0
0
0
0
7
131
19
0
0
0
0
0
0
0
-18
-70
1
0
0
0
0
0
0
0
37
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-115
-16
-113
-24
0
0
0
0
0
1
1
39
-67
0
0
0
0
0
0
84
84
-25
-13
-6
0
0
0
0
0
89
80
104
29
3
0
0
0
0
0
-28
-3
49
-16
0
0
0
0
0
0
99
18
15
1
0
0
0
0
0
0
23
22
81
-1
0
0
0
0
0
0
102
-28
-16
1
0
0
0
0
0
0
59
113
0
0
0
0
0
0
0
0
105
-62
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-39
-33
-54
-4
0
0
0
0
0
-25
-39
130
7
0
0
0
0
0
0
47
2
-76
-32
0
0
0
0
0
0
42
-33
-51
5
0
0
0
0
0
0
15
-28
-35
-19
0
0
0
0
0
0
58
-91
-139
4
0
0
0
0
0
0
62
-146
-34
0
0
0
0
0
0
0
12
87
4
0
0
0
0
0
0
0
30
-18
2
0
0
0
0
0
0
0
17
5
0
0
0
0
0
0
0
0
4
8
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
124
-59
-14
14
0
0
0
0
0
0
-29
-15
-19
0
0
0
0
0
0
0
88
127
50
4
0
0
0
0
0
0
-90
-122
7
0
0
0
0
0
0
0
-35
9
-15
0
0
0
0
0
0
0
-10
-92
-1
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-11
9
0
0
0
0
0
0
0
1
-10
0
-7
0
0
0
0
0
0
-43
47
-6
0
0
0
0
0
0
0
-64
39
3
0
0
0
0
0
0
0
117
-37
3
0
0
0
0
0
0
0
14
0
-2
0
0
0
0
0
0
0
-28
2
9
0
0
0
0
0
0
0
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
-6
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
2
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-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
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-111
-68
-37
-19
-54
22
65
-12
2
-140
-90
-56
-48
-31
-35
-24
89
23
0
-50
-15
15
36
78
119
28
11
20
0
-18
-5
38
45
43
97
113
46
7
0
-11
12
57
46
79
84
112
27
-2
0
55
59
70
46
83
95
35
-39
0
0
20
52
76
65
75
56
72
1
0
0
41
63
43
109
117
35
15
3
0
0
80
89
88
70
-4
54
3
0
0
0
90
81
103
102
-52
47
2
0
0
0
73
111
7
134
65
2
0
0
0
0
125
101
-6
67
-23
2
0
0
0
0
23
-10
45
-22
2
0
0
0
0
0
33
61
27
-33
1
0
0
0
0
0
-15
7
78
-7
0
0
0
0
0
0
8
26
3
0
0
0
0
0
0
0
-8
-2
-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
-108
-67
-47
-43
-36
-28
25
-20
0
0
-42
-75
-38
-46
6
-15
52
33
0
0
4
11
19
45
72
125
124
-11
-6
0
4
23
41
53
77
86
22
-22
1
0
25
52
61
46
75
133
113
28
1
0
56
82
71
81
126
86
105
2
0
0
58
57
81
68
76
45
80
0
0
0
100
79
88
126
117
-29
20
0
0
0
93
67
93
105
53
61
1
0
0
0
127
102
110
-11
38
-15
-1
0
0
0
60
91
19
94
68
3
0
0
0
0
78
106
0
-21
-6
-2
0
0
0
0
-8
21
26
34
1
0
0
0
0
0
29
-6
-82
-8
1
0
0
0
0
0
-8
-1
54
-2
0
0
0
0
0
0
8
23
-8
0
0
0
0
0
0
0
3
-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
0
0
0
-37
-11
38
-4
-22
-76
82
5
-1
0
-68
28
41
-12
-19
-37
3
3
0
0
-1
18
34
17
22
61
23
1
0
0
33
35
36
53
78
19
70
3
0
0
46
35
52
74
100
42
-5
0
0
0
60
45
62
68
60
65
2
1
0
0
36
56
77
70
43
14
0
0
0
0
102
41
86
-18
50
66
0
0
0
0
64
72
2
10
11
0
0
0
0
0
67
79
94
103
38
5
0
0
0
0
1
53
10
9
1
0
0
0
0
0
-22
-19
32
-45
0
0
0
0
0
0
-55
59
58
0
0
0
0
0
0
0
58
12
22
0
0
0
0
0
0
0
45
-23
0
0
0
0
0
0
0
0
-31
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
12
38
7
-18
16
0
0
0
-52
-18
-10
-6
97
130
-7
0
0
0
49
13
26
27
24
-11
9
7
0
0
65
45
47
71
99
-9
-48
1
0
0
54
23
43
70
-23
104
28
0
0
0
65
43
36
67
2
68
2
0
0
0
104
45
25
57
-44
19
0
0
0
0
50
46
69
-4
83
4
0
0
0
0
1
11
89
82
-56
0
0
0
0
0
58
105
108
-85
-1
0
0
0
0
0
59
53
-15
33
1
0
0
0
0
0
16
0
3
3
0
0
0
0
0
0
17
15
5
-4
0
0
0
0
0
0
45
14
7
0
0
0
0
0
0
0
-6
19
1
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
56
-5
-51
45
29
0
0
0
0
0
67
60
57
19
-9
-7
13
0
0
0
86
40
32
14
160
17
0
0
0
0
31
26
57
13
59
15
0
0
0
0
39
42
-30
55
-4
-4
0
0
0
0
38
35
-27
75
-32
5
0
0
0
0
97
33
32
24
-2
0
0
0
0
0
75
32
144
-7
-2
0
0
0
0
0
55
-22
-109
-6
0
0
0
0
0
0
111
13
41
6
0
0
0
0
0
0
98
-35
3
0
0
0
0
0
0
0
6
-44
-4
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
27
93
-9
-8
0
0
0
21
-20
21
-41
8
-7
0
0
0
0
36
88
48
-4
-49
53
1
0
0
0
53
36
76
116
2
11
0
0
0
0
37
0
14
18
-1
-12
0
0
0
0
77
30
81
-6
-6
1
0
0
0
0
-2
135
-21
91
-3
0
0
0
0
0
79
-87
-1
19
-6
0
0
0
0
0
-40
55
-48
2
-1
0
0
0
0
0
68
81
20
3
0
0
0
0
0
0
12
130
19
0
0
0
0
0
0
0
-17
-73
1
0
0
0
0
0
0
0
41
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-115
-21
-112
-24
0
0
0
0
0
-7
-9
31
-64
0
0
0
0
0
0
122
120
-21
-8
-6
0
0
0
0
0
96
78
107
31
3
0
0
0
0
0
-25
-2
53
-21
0
0
0
0
0
0
95
13
15
1
0
0
0
0
0
0
19
26
82
-1
0
0
0
0
0
0
107
-28
-17
1
0
0
0
0
0
0
58
114
0
0
0
0
0
0
0
0
105
-64
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-59
-4
0
0
0
0
0
-28
-43
130
7
0
0
0
0
0
0
56
-5
-75
-46
0
0
0
0
0
0
43
-38
-51
5
0
0
0
0
0
0
7
-25
-32
-22
0
0
0
0
0
0
59
-92
-141
4
0
0
0
0
0
0
57
-146
-35
0
0
0
0
0
0
0
7
88
4
0
0
0
0
0
0
0
33
-17
2
0
0
0
0
0
0
0
17
5
0
0
0
0
0
0
0
0
4
8
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
126
-62
-14
14
0
0
0
0
0
0
-26
-16
-19
0
0
0
0
0
0
0
91
130
49
4
0
0
0
0
0
0
-90
-116
7
0
0
0
0
0
0
0
-38
4
-15
0
0
0
0
0
0
0
-8
-90
-1
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
1
-10
0
-7
0
0
0
0
0
0
-41
47
-6
0
0
0
0
0
0
0
-62
39
3
0
0
0
0
0
0
0
118
-37
3
0
0
0
0
0
0
0
13
0
-2
0
0
0
0
0
0
0
-28
2
9
0
0
0
0
0
0
0
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
-6
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
2
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-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
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
4
-82
54
-53
31
-4
1
-22
-116
-83
-1
85
83
13
50
10
0
-16
-116
87
9
94
173
19
12
3
0
-18
-39
-1
47
88
55
52
44
-1
0
-4
2
78
88
119
39
16
1
-1
0
-42
33
60
81
16
-37
100
-12
0
0
-135
-37
78
-61
58
34
16
-1
0
0
55
45
52
31
-24
6
43
1
0
0
15
-29
5
153
1
24
2
0
0
0
25
71
-40
76
-22
61
1
0
0
0
78
-1
97
0
-52
-1
0
0
0
0
92
67
-19
67
-46
0
0
0
0
0
-53
-39
-74
22
7
0
0
0
0
0
-15
36
15
-18
1
0
0
0
0
0
-47
1
72
-4
0
0
0
0
0
0
3
9
-3
0
0
0
0
0
0
0
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
-5
3
-34
-97
19
44
73
-5
4
0
-21
-132
-126
-25
62
99
38
26
0
0
-31
-22
-28
31
52
29
2
9
-1
0
-57
-8
74
-37
97
84
-29
39
0
0
98
9
-15
40
19
-53
110
40
0
0
-11
33
6
-66
14
60
42
-3
0
0
-67
39
-23
-25
45
76
7
-1
0
0
-71
49
-62
-1
12
33
12
0
0
0
8
2
31
-3
36
16
0
0
0
0
12
94
40
-19
-65
-27
-1
0
0
0
24
-55
80
61
1
1
0
0
0
0
-78
-70
-32
22
-9
-1
0
0
0
0
12
-103
61
9
9
0
0
0
0
0
15
-3
-42
-8
0
0
0
0
0
0
-5
-32
55
5
0
0
0
0
0
0
5
22
-10
0
0
0
0
0
0
0
-1
-15
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
-1
-4
20
-125
-97
-24
8
0
0
0
-4
-62
-80
0
16
-2
36
-5
0
0
-26
8
-49
63
-83
0
-13
0
0
0
-4
-5
17
-17
22
9
-11
2
0
0
-23
11
25
78
157
7
-3
0
0
0
36
-1
71
21
22
30
-20
0
0
0
-37
-30
27
-1
70
-8
0
0
0
0
60
-3
9
119
-42
5
0
0
0
0
-63
-5
42
-10
26
0
0
0
0
0
4
93
-7
-5
43
7
0
0
0
0
39
84
43
-16
3
0
0
0
0
0
-21
-38
-7
-31
1
0
0
0
0
0
-50
-38
26
-2
0
0
0
0
0
0
-27
-24
2
-1
0
0
0
0
0
0
14
-15
1
0
0
0
0
0
0
0
-13
-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
-19
77
-122
-92
35
5
1
0
0
0
19
-29
17
-71
-44
38
-4
0
0
0
-8
-19
-24
54
-94
-25
29
4
0
0
24
16
-39
59
102
-37
-14
0
0
0
-29
-39
43
72
-45
47
5
0
0
0
-17
-36
-5
30
119
28
2
0
0
0
-53
31
35
-20
-4
-9
0
0
0
0
49
-51
105
-49
47
-2
0
0
0
0
-97
53
32
94
-49
0
0
0
0
0
-41
96
63
-21
-26
0
0
0
0
0
47
40
51
33
1
0
0
0
0
0
-118
42
-28
4
0
0
0
0
0
0
-34
45
12
-6
0
0
0
0
0
0
24
12
9
0
0
0
0
0
0
0
1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-47
-7
5
4
0
0
0
0
-2
23
-14
37
-20
-5
8
0
0
0
-29
27
-75
21
22
6
0
0
0
0
-43
-36
19
-79
8
-12
0
0
0
0
-47
-26
-10
32
27
0
0
0
0
0
-23
-21
-45
28
-11
6
0
0
0
0
47
54
2
79
3
0
0
0
0
0
-9
38
76
10
0
0
0
0
0
0
-41
-67
-55
1
0
0
0
0
0
0
33
-17
7
1
0
0
0
0
0
0
17
14
9
0
0
0
0
0
0
0
-17
-12
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
-18
8
-1
-4
0
0
0
-1
-5
-24
-56
-34
-3
0
0
0
0
8
30
-47
101
-26
3
0
0
0
0
7
-74
-36
-31
-6
7
0
0
0
0
2
67
-71
30
-33
0
0
0
0
0
5
-61
44
-26
-8
1
0
0
0
0
-33
-16
81
44
0
0
0
0
0
0
-49
30
-33
6
-7
0
0
0
0
0
38
0
-8
-1
-1
0
0
0
0
0
59
32
3
2
1
0
0
0
0
0
21
33
-4
0
0
0
0
0
0
0
-8
-45
1
0
0
0
0
0
0
0
8
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
5
-17
-5
0
0
0
0
0
0
-6
-4
-22
3
0
0
0
0
0
0
0
22
2
21
-2
0
0
0
0
0
-4
57
57
-1
6
0
0
0
0
0
-12
-114
10
-20
2
0
0
0
0
0
-52
-15
37
1
0
0
0
0
0
0
1
36
23
-1
0
0
0
0
0
0
-15
-16
-3
1
0
0
0
0
0
0
1
26
4
0
0
0
0
0
0
0
26
-17
-1
0
0
0
0
0
0
0
0
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
-3
0
12
-5
0
0
0
0
0
0
-21
20
-7
-64
0
0
0
0
0
0
-7
-19
26
17
0
0
0
0
0
0
9
-13
26
-14
0
0
0
0
0
0
6
-23
-28
2
0
0
0
0
0
0
55
-91
-33
0
0
0
0
0
0
0
-9
9
1
0
0
0
0
0
0
0
2
-13
4
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
-1
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
-1
-15
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
-1
-1
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-4
-215
83
-84
-200
-8
-1
-45
-31
16
-74
-50
79
-140
34
-24
-35
-112
-66
-56
-92
-1
-153
-54
-14
-54
-53
-63
-58
-40
-62
-38
-106
-57
-30
-24
-30
-43
-22
-66
5
-87
-4
-2
-19
-29
-33
-26
-31
-33
-9
-19
-23
-20
-26
-22
-21
28
-28
15
-11
0
-10
8
-11
-4
18
31
-32
-1
0
-37
7
54
27
36
84
-16
-1
48
-64
-55
-39
-21
-51
-48
-6
0
-34
-56
-137
-75
-3
2
-10
-2
0
25
-15
-71
31
-29
57
17
0
1
8
-40
6
-5
-20
3
-1
0
0
-10
-19
-44
0
1
-2
0
0
0
0
-4
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
-7
-35
-11
-13
-24
-26
-30
-113
-7
58
-46
19
-29
-21
-73
-23
-25
-105
-31
-8
-28
5
16
16
23
-84
20
12
-5
-16
-10
0
12
-39
45
19
-21
-15
-10
10
-5
1
-74
-16
26
-33
-23
-25
-3
-10
-19
10
43
-125
-41
-32
-31
-27
-34
-26
-32
18
-83
0
2
-24
-32
-5
-63
-2
3
-55
0
-11
-12
-19
-15
-77
-68
-59
10
-78
-48
-23
-49
45
7
69
-55
-2
-61
-57
-64
-28
41
-33
-18
-19
-4
-42
65
-48
-17
-81
86
-41
23
16
52
-15
-42
-93
-30
-17
9
12
0
-44
-7
-36
29
-16
-4
-14
34
9
2
-37
92
-17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-45
-5
-2
-34
-29
-34
-115
-7
57
-44
22
-8
-22
-65
-25
-43
-105
-38
3
-3
0
22
27
31
-78
19
12
-22
-9
-1
-8
38
-20
52
11
-18
-1
-28
-7
-23
1
-73
0
22
-16
-9
-50
-10
-9
-14
-7
35
-126
-27
-15
-17
-28
-76
-32
-36
13
-83
0
-1
-26
-30
4
-84
-6
8
-50
0
-7
-1
-21
0
-74
-75
-57
10
-75
-26
-35
-33
52
9
69
-56
-2
-68
-58
-49
-25
40
-33
-22
-23
-4
-39
72
-35
-15
-80
85
-39
25
16
55
-19
-55
-90
-29
-21
10
8
0
-48
0
-38
26
-17
-3
-15
34
9
3
-37
92
-17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-62
125
-2
-76
-50
0
0
0
-49
-25
28
-7
-68
-40
-21
-37
1
-28
5
116
31
89
119
-12
-13
-7
86
-54
-4
40
-138
-19
-75
28
-17
4
-32
-109
-80
-67
-46
-35
-45
-30
68
34
-55
-123
48
16
-74
-65
-37
74
8
37
-7
-26
92
16
-50
-8
0
14
37
51
27
29
-12
-63
-15
0
22
39
-11
26
58
-23
-30
2
47
46
-31
48
61
-17
-13
-13
0
-78
-1
92
-3
50
1
0
-4
-2
-1
-22
10
16
-5
-49
-22
-2
0
-23
-18
-41
30
2
-16
0
0
0
-11
-2
-13
15
-3
-3
-1
8
0
2
-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
4
9
14
-68
192
-125
-95
-10
-1
39
-22
81
43
-31
170
-71
-53
12
-23
21
32
-8
17
19
38
-23
-26
-7
-10
-5
-2
-3
-8
13
-31
-37
-32
-21
-19
-2
1
-16
-20
26
-12
-20
-16
-11
-12
-10
-24
25
-53
-28
0
2
0
-6
-15
-20
-102
-49
-22
0
19
-7
-18
-15
-37
16
-119
0
0
2
-15
26
-15
23
-36
-33
0
0
10
2
27
-7
19
-3
-1
-1
27
71
19
14
-32
-21
-1
0
0
-26
-26
1
37
-29
-37
-3
0
0
-62
-61
-3
-26
-5
0
1
1
0
-6
7
-2
-1
-9
-9
0
0
0
0
1
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
-7
-9
-32
37
-3
47
-23
9
-4
7
4
27
-13
30
-17
-8
9
-6
34
14
22
25
-8
-48
0
15
-72
-29
17
8
17
12
28
-39
65
-94
-4
-7
-9
2
7
24
-57
-106
-23
-7
-19
-8
-4
-2
8
-62
-56
-94
0
-9
9
4
3
-10
-57
-64
-94
0
1
13
15
-2
-1
-50
-122
-50
0
-14
3
-33
-27
63
-30
-121
0
0
1
38
10
-8
8
-44
2
-4
66
45
-2
26
0
-70
-77
8
-2
-50
123
-32
24
-20
38
-35
4
0
-81
-132
-7
-27
63
-50
2
7
0
8
-28
-96
-20
-43
-5
-31
0
0
0
7
-3
-1
-12
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-14
55
-32
39
-24
4
-4
6
-3
11
-17
45
-10
-4
4
-6
35
11
14
11
-5
-57
-24
16
-74
-27
7
19
18
33
32
-31
66
-93
12
11
-5
13
11
28
-63
-95
-22
28
5
-7
-3
-1
32
-76
-53
-92
0
-1
22
9
-31
-13
-61
-67
-94
0
14
7
30
4
-14
-53
-119
-48
0
-30
-14
-21
-20
59
-25
-121
0
0
15
21
3
-7
11
-44
3
-4
60
22
-2
18
3
-73
-78
8
-2
-45
125
-40
22
-15
41
-34
4
0
-75
-133
-7
-24
66
-47
4
7
0
14
-32
-98
-19
-46
-2
-27
0
0
0
8
-5
0
-12
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
12
60
58
-52
22
58
-8
0
-45
-15
-99
101
22
56
-28
-11
9
-2
23
91
-5
71
-45
-79
55
-32
106
21
45
-66
-34
-41
-16
-12
-10
-12
119
8
48
77
-42
-117
-20
-2
129
119
-12
-126
-112
32
38
-28
12
0
57
-10
86
-135
-53
-76
-88
-19
0
36
-91
86
-27
-13
32
30
-2
0
-35
-49
51
-7
-8
-15
-7
0
0
70
-50
-11
-22
0
-33
6
0
-57
-130
0
-8
69
-40
-7
0
0
0
42
-7
30
8
-6
5
0
0
-17
-43
-16
18
7
-5
0
1
0
2
11
0
-7
-3
5
0
0
0
0
0
0
0
0
2
0
0
0
-53
-58
-41
-27
-22
-14
-8
-3
1
6
7
5
19
3
7
9
26
-23
-8
45
4
-48
-38
-16
-15
-4
5
8
22
17
14
47
35
-5
-164
-124
-103
-86
-70
-50
-31
-23
-15
5
11
28
26
39
44
61
6
-36
-26
-82
-67
-68
-56
-37
-29
-24
-21
-4
-1
18
15
17
36
48
-156
-80
-105
-93
-73
-71
-33
-28
-22
-7
2
19
45
37
45
58
56
-36
-10
-101
-92
-86
-53
-52
-39
-30
-30
-15
2
-6
5
32
61
63
-8
5
-114
-114
13
-85
-28
-23
9
-58
18
13
148
56
10
41
53
3
-13
11
-116
-77
33
-35
-18
4
-3
-15
74
-87
1
46
59
37
-16
4
-18
-4
3
-23
-27
-5
-16
-23
-10
-1
-10
1
1
-35
-24
-14
-8
-22
-4
2
-6
3
-2
-5
-7
0
-3
-2
-15
1
-14
1
-3
-5
-10
1
-1
1
-5
1
-7
0
0
-13
1
-2
-3
-5
-8
-2
-5
6
6
-3
-10
3
-3
-3
-8
0
-5
2
-1
1
-11
-6
-6
-1
-5
2
-8
1
3
-9
-6
2
-2
-4
2
0
-10
2
0
-3
-3
-2
3
-3
4
0
-8
-2
-7
-10
0
-5
0
-4
-7
0
-12
1
0
-6
13
-1
-4
-5
14
3
-11
-4
-8
-4
-1
-3
-7
3
3
0
-2
2
-1
-12
0
-2
6
4
-6
1
-10
13
4
-2
2
-9
1
1
-14
0
-4
3
-2
-5
-10
5
2
0
-7
0
-9
13
-3
0
1
0
1
3
2
-3
-5
0
-7
1
1
1
-1
1
-1
7
-9
6
-8
3
8
7
-3
-9
1
-5
-15
-7
-28
-22
-16
-18
-12
-10
2
-4
-15
-16
-29
-23
-19
-12
-13
-17
-7
-2
-6
0
-10
-6
-7
-9
-6
-4
2
-3
-9
-7
-7
-13
-2
-3
-3
-2
3
-2
-7
-1
-10
-9
-6
5
-5
-12
1
2
-12
-5
-8
-9
-1
-6
-2
-6
7
-7
-9
-4
-4
-15
-7
1
-7
5
4
-3
-5
-8
-6
-5
-5
-5
-1
3
-3
3
-9
-4
-5
-5
-5
-6
3
-3
2
2
-9
-2
-8
-10
-8
-3
-2
3
4
-1
-4
-5
-5
-5
-2
-9
-5
3
8
4
-8
-1
-6
-8
-3
-6
6
3
2
0
6
-4
-4
-5
5
-1
1
0
2
-3
-2
4
-6
5
-1
2
-7
-5
4
10
-7
-1
-2
-4
-5
2
6
11
9
-1
2
-12
3
-3
-5
-4
8
10
8
7
-6
-14
-2
-4
-2
0
11
-3
-4
-1
-1
5
-4
0
0
0
0
-4
-12
-5
-22
-20
-28
-29
-27
-38
-23
-16
-19
-5
-27
-20
-27
-37
-26
-29
-23
-19
-1
-3
-5
-7
-6
-8
0
-6
-1
-3
-5
-2
-2
-10
-5
-9
-5
-6
-2
-1
-6
5
-7
-1
-5
-18
8
-12
7
-4
-6
-1
-9
-4
-5
-5
-3
-6
-6
1
-13
7
5
0
-15
-7
-6
3
-1
-2
0
7
-1
-5
-8
-12
-8
2
3
2
-8
-1
-6
1
5
4
-9
-6
0
-10
2
3
-2
-8
-7
-6
4
-11
1
-3
-2
2
-9
-6
-4
-9
-1
-13
-4
9
-2
3
-2
-1
-8
-12
0
-11
-1
9
0
-1
-1
-3
-4
-7
-17
3
-6
5
1
2
-1
-4
-1
3
-4
-4
-2
5
-1
4
-8
1
0
-5
2
-4
-6
11
-2
0
-7
5
0
0
-2
-1
0
3
7
-2
0
-5
-2
-3
1
-6
12
5
-1
-7
-1
2
0
-2
-2
-6
7
4
-57
-35
-46
-51
-27
-69
-53
-55
-19
-14
-57
-35
-45
-51
-27
-70
-53
-55
-18
-14
-2
1
-2
-2
0
1
-1
-3
0
0
-1
-2
-2
2
0
0
-1
-1
2
-1
-1
0
0
-1
0
-1
-1
-2
3
0
-2
-4
-1
1
0
-1
-2
-3
0
1
0
-1
1
-1
0
0
-1
-2
-1
-1
-1
-2
-1
-2
0
-2
0
-1
0
2
-1
2
-2
-2
0
-3
-3
0
1
1
0
1
-2
-1
0
0
-3
-1
0
-1
0
-2
-2
0
0
-2
-2
-1
2
3
-1
1
1
-4
0
-1
-1
-1
-1
1
0
-5
0
1
-1
0
1
0
0
1
0
1
-1
-2
0
0
0
0
2
0
1
0
0
-1
-1
1
-2
0
1
-1
0
3
-1
0
0
0
-2
0
0
1
0
1
0
0
0
-1
-1
-2
2
0
0
0
0
0
0
0
2
-2
3
-1
35
6
2
-1
7
-7
0
1
-12
-13
-22
-18
-19
-16
-30
-45
-39
-63
21
6
2
1
-9
-1
4
-4
-3
-16
-23
-23
-23
-20
-29
-45
-40
-57
0
-3
-1
-6
4
2
-4
2
-4
-1
-1
-3
-1
-4
-1
0
-7
-1
-1
-5
-1
2
-4
-5
-8
-2
1
1
-2
0
-4
-2
2
-3
-1
-6
-5
-5
-2
5
-5
1
-5
0
-9
4
-2
-6
-8
2
-2
-8
-5
-2
6
-5
2
-19
-3
0
0
-1
-7
-2
-12
-5
0
-1
1
1
4
-1
7
-2
-1
-3
3
-6
-3
-2
-2
-5
-3
2
2
-4
-8
-2
1
-5
7
-8
1
-11
-3
5
4
-1
-4
0
1
-2
-4
4
-4
-10
-2
-5
3
2
1
7
-6
-2
5
-1
-3
-4
4
-7
0
-2
-4
-1
4
-2
2
-4
-5
-2
-6
-4
-1
-3
-4
2
5
-8
-3
-7
-7
3
0
-5
0
-2
3
-1
-4
4
8
-1
-1
-5
-5
8
-5
-2
5
-2
5
1
5
-1
1
-3
-11
2
-6
4
0
-10
-1
-1
9
4
-1
-1
-7
-2
11
-3
1
4
0
-3
2
2
-2
6
-1
2
-2
-3
1
-2
0
-4
2
1
2
-1
0
1
3
-1
-4
-3
1
0
-1
3
-1
-3
-3
1
1
1
0
-3
-2
0
1
-3
-7
-7
-1
3
1
-3
2
2
0
-2
-1
1
1
10
6
-12
-7
-9
-3
-2
-5
6
2
-8
4
4
8
-2
1
0
0
-2
2
-1
-3
-4
-6
5
0
1
-4
7
-3
0
-3
-1
9
8
-2
8
20
-11
4
-17
-14
7
5
5
-7
-2
-3
-3
-4
-4
9
-13
4
-34
-17
-18
-26
-6
-21
-10
-12
-17
-34
-32
-33
-49
-68
-68
9
-14
3
-35
-28
-11
-26
-10
-21
-16
-13
-24
-36
-37
-32
-49
-58
-61
1
-6
0
-8
-8
-7
-5
6
1
1
-2
0
-6
-10
-4
1
-12
-4
7
-7
-2
-9
-7
-12
-11
3
-5
5
-1
-2
-3
-1
-1
-5
-14
-9
4
-4
-2
2
1
-2
-2
-3
-3
2
-1
-8
-7
0
-5
-11
-3
0
4
-3
2
-17
6
-5
-11
1
-9
-4
-2
-2
-10
-1
2
-1
-1
-4
4
-10
7
-11
-2
-3
-3
-2
-12
5
-5
5
2
-6
-9
-10
-16
-2
0
-2
7
1
-12
-7
-4
-2
-3
1
-2
0
-11
3
2
-1
-13
-4
8
0
-3
-8
-14
-3
-13
2
-5
0
-4
-5
-8
-2
-1
-7
9
2
5
-6
-7
-8
1
1
-8
0
-4
1
-3
-1
-4
-16
-1
-3
5
-7
-1
-3
0
-6
-2
-12
-6
1
-1
1
0
-1
-7
-7
3
1
-3
-12
4
6
3
-6
5
-6
-1
1
-9
-3
-3
-2
1
11
1
-10
-7
-2
0
5
3
-5
-7
0
10
3
-5
1
-1
3
5
-6
4
-4
-9
-2
-5
-3
5
3
-14
-4
-1
7
3
3
2
5
0
-6
-5
3
-9
0
6
3
-1
11
-7
5
-3
-2
-7
-1
4
0
-1
3
0
0
3
-3
3
-11
1
-9
0
10
0
0
9
6
-4
-2
4
2
-3
-4
7
-1
-6
-3
2
-2
6
1
-8
0
7
-8
7
-4
1
3
3
1
-1
3
-1
4
-2
7
-3
-2
-1
-7
1
6
8
1
4
-9
-4
-6
-6
-4
-11
-24
-13
-34
-25
-13
-30
-7
-26
-13
-23
-26
-36
-35
-46
-56
-78
-79
-17
-25
-13
-32
-21
-18
-31
-8
-27
-15
-22
-24
-38
-40
-46
-56
-77
-78
-3
-7
-2
-1
2
-5
-7
4
-4
-1
-6
3
-4
-4
-2
-3
-3
-1
0
-7
-3
-1
-8
-9
-1
4
-3
-2
-8
-4
-3
-3
1
-6
-3
-6
-5
-8
0
-4
-5
5
-2
7
-3
1
0
-8
2
1
-5
-6
-6
0
-13
-7
1
-1
-4
1
-9
2
0
-5
-1
-5
-6
2
0
-1
-5
-2
-11
-1
-2
-3
3
-4
-4
3
1
3
-1
0
-3
-1
-4
-3
-5
-4
3
3
2
-6
0
-4
-1
3
-6
-1
0
1
-1
-5
-1
-1
-5
-3
3
-3
2
-6
-4
-1
-8
6
-2
-3
-2
-2
-6
3
0
-4
0
-4
-1
-2
-6
-2
0
1
-7
-2
2
1
2
-3
0
-2
-9
3
1
-1
0
-5
-1
-3
1
-7
-3
0
-6
1
-5
2
1
-10
-6
-1
3
-6
9
0
6
-10
0
1
-10
0
-5
4
-2
-5
-10
-3
1
-4
0
-3
2
-2
2
-11
-3
-6
-6
4
1
-4
-2
-3
-4
-1
-3
2
-4
-1
0
-3
-3
0
5
-3
2
9
-6
4
-2
-3
3
0
-2
0
-2
0
5
1
1
2
-1
-1
-3
0
-8
1
3
-4
-2
0
1
2
-4
-2
2
-5
0
-2
4
-2
1
-4
1
3
-5
3
2
1
-7
-4
2
0
-2
2
2
4
-3
2
3
-1
1
-2
2
1
-1
-1
1
0
-2
0
-4
2
3
2
-7
6
-1
0
-7
-3
9
7
2
2
-2
0
-10
-4
-16
-13
-3
-19
-23
-11
-31
-23
-34
-32
-49
-22
-3
13
-60
1
-23
-26
-15
-13
-3
-19
-23
-11
-31
-23
-34
-31
-49
-22
-3
13
-60
1
-23
-26
-1
-1
0
-1
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-4
-2
0
1
0
0
0
0
0
0
0
-1
-1
0
-1
0
1
0
-1
0
-2
-1
1
1
2
0
0
0
0
0
-1
0
0
0
0
-1
-1
0
1
-3
-4
0
0
0
0
0
1
0
1
0
-1
0
0
0
-2
0
-1
-2
-1
0
0
-1
0
0
0
-1
2
0
0
0
-2
-1
-2
0
0
-2
-1
0
0
-1
0
0
0
-2
-1
0
0
1
0
0
-1
1
-4
1
-1
0
0
0
0
0
0
-2
-1
-1
0
0
1
0
0
1
-1
-5
0
1
0
0
0
0
0
1
0
0
0
0
0
0
-1
-2
-1
-1
-2
3
1
-1
0
0
0
0
-1
0
-1
0
0
0
1
-1
-2
-1
0
-1
1
-1
0
0
0
2
0
-2
0
0
0
0
-1
-3
-1
-1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
-1
-1
1
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
-3
0
0
1
0
-1
0
-1
1
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
1
0
2
0
0
0
-1
-2
3
0
0
8
-4
-12
0
-6
-3
4
0
1
-7
0
1
0
2
-2
-2
-6
1
0
1
-3
4
1
-2
1
0
10
-4
-1
2
3
-2
0
6
2
-2
-2
-1
-2
-2
3
0
2
-4
-3
3
3
-1
-3
1
-2
0
3
1
-1
-1
-1
-5
-3
7
-8
6
-5
0
-8
3
4
1
-4
0
0
0
2
1
1
0
-5
3
2
7
-1
9
1
-6
1
1
-1
-1
-2
0
0
0
2
-2
4
2
-1
2
1
-8
-5
-2
0
3
1
3
-1
-3
1
7
-7
3
0
-4
-3
0
2
0
-2
-1
1
0
1
3
-5
5
4
-7
1
0
0
0
0
-2
-1
1
2
-2
0
0
3
-2
-2
1
0
-1
0
0
0
0
1
-4
3
-11
4
-1
-3
-6
6
2
4
-4
-2
1
0
0
3
0
-6
8
4
-7
-6
-6
3
3
1
6
-9
-3
-1
1
-1
-2
0
4
-1
-1
-4
-5
-6
3
4
2
-3
6
1
-3
-1
2
-1
3
0
5
-4
-7
-5
1
0
2
3
-1
3
-1
0
-1
0
0
-1
4
-3
-5
4
-2
1
0
-5
3
2
9
-1
-3
1
1
-1
-2
0
-7
6
0
4
-2
1
-4
-4
-2
-3
-2
-1
3
2
0
-1
3
-11
7
0
6
-1
2
-1
-1
0
-2
1
3
-4
0
0
-5
-3
3
2
6
5
5
-2
3
-6
2
-4
1
1
-4
0
0
-2
0
3
-2
1
4
5
0
-1
-2
0
0
0
-1
0
0
2
1
-2
-3
2
-2
4
-8
-3
7
3
-1
-1
1
1
-1
0
1
-1
-2
4
-7
-3
9
-2
-4
1
1
1
1
-3
-4
0
2
0
-3
1
1
1
0
-3
-4
-1
4
-1
-6
5
0
0
-1
0
0
1
2
-2
3
-5
-4
9
-5
-4
0
1
1
-1
-3
0
1
0
0
-1
-2
6
0
1
0
0
-3
1
-7
4
2
-3
0
2
0
1
2
-2
-5
1
1
7
3
-2
-4
-4
-1
-4
-1
1
2
0
1
0
-2
-2
6
0
2
6
0
-5
6
-4
-1
2
0
0
0
0
-1
1
0
3
0
0
6
-2
-2
1
0
3
1
-1
0
0
0
0
1
0
-1
0
2
-4
4
-2
2
1
-1
1
1
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
-1
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
0
0
0
-1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-1
1
0
0
-1
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
-1
-1
0
0
0
1
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
-1
-1
-1
1
1
-6
2
2
-1
1
-2
1
5
4
1
0
2
-5
6
2
0
-1
-5
1
-2
0
2
-6
2
-5
1
0
1
0
1
-4
1
-3
0
0
3
-3
5
1
2
-1
3
0
-1
-2
4
-1
-4
3
0
3
-3
-2
1
-1
-1
0
1
1
2
1
-1
5
-2
1
0
0
-2
0
2
3
3
0
-4
1
-2
5
6
3
-3
0
0
-1
-1
-6
-1
0
-1
-4
-3
3
-3
3
5
-1
-2
-6
-12
4
-1
0
4
2
-1
2
1
3
1
-2
-3
-3
2
-2
-2
-3
7
3
0
-3
-3
3
-2
-6
0
1
-2
2
1
4
1
-1
0
-1
2
1
-8
-1
2
-1
-2
-3
7
1
0
1
-1
-1
0
-5
9
-2
4
-1
1
-1
-2
0
1
-6
0
1
-2
1
2
0
3
3
3
3
0
0
3
1
-4
-4
0
0
0
-6
3
1
-1
1
-2
1
-2
10
-3
-1
0
0
0
-2
-9
-1
1
6
3
-1
0
2
-2
-1
7
3
-2
-4
1
0
-2
-1
1
2
6
-1
-13
-6
0
3
-6
0
-2
1
-3
0
0
1
2
-3
0
0
-1
1
0
-1
0
0
0
0
-3
-4
8
-6
2
1
-1
0
0
4
3
-2
-1
2
0
-2
0
-3
-5
-2
1
-4
-5
2
4
12
0
-1
-2
-1
-3
-3
0
2
-2
1
-1
-4
-8
0
3
-1
-1
1
-2
0
-4
-1
0
2
2
-1
-2
-1
5
-2
-1
0
-1
1
1
1
-4
1
-2
-2
4
6
-3
0
-2
0
0
-1
-3
-1
-4
4
5
0
0
-4
-1
0
-1
3
4
-5
0
-2
5
-1
-4
1
-7
5
0
-5
-2
-1
-4
3
6
0
-1
-1
-3
-5
-3
-6
0
7
3
5
0
-1
0
4
2
2
4
4
2
-3
-8
1
4
-6
-3
4
-1
-2
0
3
-4
2
0
-3
-2
4
0
-4
4
-2
-4
1
-4
-6
4
2
-1
1
1
-1
-5
1
2
0
0
4
0
0
0
1
-1
-2
6
1
-2
0
-1
6
-5
5
-8
1
-3
8
-2
5
-5
3
1
4
-2
-4
0
3
0
1
-3
-2
-2
15
-8
-2
1
2
-3
-3
-1
-5
-3
-1
1
0
-1
-1
0
2
2
0
-2
-4
2
-1
4
2
3
-1
0
1
-4
-2
0
1
-1
-1
-1
-9
0
2
5
-5
1
3
-1
7
-3
-2
-4
-2
0
2
-3
4
3
0
2
-1
1
0
0
0
1
-2
-2
-1
9
0
4
-3
-4
1
2
1
-2
-3
-3
-4
0
1
-6
2
1
-3
0
1
-5
5
-2
1
-2
-4
4
1
-6
-2
1
2
0
-7
1
-4
3
-6
1
1
0
-1
-2
-1
6
0
1
-1
-3
-6
2
-2
2
-1
2
-3
2
-8
-2
6
-1
-1
5
5
-8
6
-1
-2
9
-2
1
-3
3
-3
3
8
1
0
0
0
-8
-9
0
0
-2
0
1
2
-1
1
-3
-1
0
1
12
-3
-2
-1
2
8
3
-2
-2
1
-1
5
2
2
-7
4
0
-3
-1
-1
3
-1
0
1
0
-1
3
0
5
2
2
-4
-6
1
0
0
0
-2
-3
-4
-3
2
0
1
1
4
0
3
-7
-1
2
-1
-4
1
-1
0
3
4
-12
0
0
-1
-2
1
5
1
-2
-3
3
0
0
6
1
0
-1
-2
1
-2
-4
0
2
1
1
1
0
-5
-1
-1
0
0
-1
0
0
4
-6
2
2
0
0
1
1
-3
-3
-4
4
3
1
3
2
-1
0
-2
1
5
-2
1
3
-2
0
-1
2
-3
1
-2
0
-1
2
2
-3
-3
-1
4
3
0
-2
1
4
-1
2
5
1
0
0
8
1
-4
-1
-3
-1
1
-9
2
-1
-5
-5
2
6
-1
2
0
0
-3
-2
4
-8
6
-4
1
0
0
-1
-1
-1
2
2
0
0
-1
0
0
1
4
0
-1
4
1
-2
-1
0
0
1
0
3
-3
5
-11
-1
6
-3
0
-1
3
-4
-1
0
-3
1
1
0
0
2
-3
3
-2
-2
-1
1
1
1
1
3
0
-1
0
0
2
2
-2
-3
3
-2
-2
1
2
2
0
-1
4
0
-2
-2
-4
0
1
-1
1
-2
2
3
0
0
-2
1
-4
2
0
0
0
-1
-2
3
0
0
0
-5
-2
6
2
-5
-2
-2
-1
0
-1
0
5
0
0
3
0
-3
2
1
-4
-2
2
2
-2
2
3
0
1
0
-4
0
-1
6
3
-1
-1
-2
-6
2
-4
0
2
2
-2
-1
-3
0
-2
4
4
-7
2
0
1
1
-5
2
0
-1
4
-1
0
-5
1
-2
2
0
-3
1
1
7
3
1
-5
1
-1
2
2
-4
-2
-4
-1
-6
3
2
3
0
0
1
-2
2
-6
0
1
1
-2
-1
-4
0
0
-7
2
6
-3
-3
1
-3
-1
-7
2
6
0
-1
1
6
-5
-3
-7
-7
1
7
0
-6
5
3
-1
3
3
-5
4
1
-1
1
0
3
2
-7
-2
3
1
2
-4
-1
1
-5
-6
0
4
-2
-5
-1
1
2
2
3
-1
-3
5
-1
-5
1
3
-2
-4
6
2
-5
2
0
3
0
0
-6
3
-1
-1
1
1
-3
-1
1
4
-4
-2
-1
-1
0
0
1
1
0
-1
2
-5
0
3
-1
0
3
2
-5
7
0
8
-1
-3
0
-5
1
4
-2
-5
3
-3
1
-1
1
-1
-3
-1
1
-1
0
1
-3
3
5
0
1
-2
0
3
-6
-7
-3
-3
6
5
-1
-2
0
-5
3
-7
-1
10
2
4
6
-1
0
-6
-2
-8
-4
4
-2
5
1
2
3
0
1
-2
-7
2
4
7
-4
0
0
1
0
0
3
-3
0
1
3
1
-5
-1
4
-4
-1
-4
-1
0
3
3
-3
-4
2
0
-6
-1
3
3
0
0
1
4
-1
-2
0
1
-4
5
-3
4
0
3
-2
0
3
-4
-5
4
-4
-2
3
4
3
6
-1
-2
-1
1
-1
-5
-9
4
-4
3
5
1
-3
1
4
0
-7
2
-2
-4
-4
1
3
-3
-2
2
-2
3
-3
1
4
-1
-1
-4
1
-1
5
0
0
2
3
2
2
-2
-1
1
0
0
-6
1
2
-2
-4
-5
-2
-2
5
-2
2
1
-2
2
-4
3
-1
3
-6
4
2
-6
-2
-1
-2
1
6
-8
-2
1
-1
1
-2
3
-4
0
2
1
2
-2
1
-3
-4
0
-1
0
-3
9
2
-5
-6
5
-1
2
-2
-1
2
-3
-3
1
-1
-7
4
3
3
4
1
1
0
-2
4
-6
-3
-1
0
0
2
0
-4
4
2
1
0
5
2
2
0
0
1
-2
-1
0
1
-1
0
1
2
-2
-1
4
-3
3
7
1
2
-5
-4
0
-4
5
-2
5
0
-2
1
-4
-2
3
-3
0
-1
-3
-1
0
3
-1
0
1
-3
1
-2
0
1
7
0
-9
2
0
2
1
-1
9
-2
-4
1
1
7
1
4
-4
1
0
-3
-4
6
-6
-3
-1
4
0
-6
-1
1
-1
-3
1
1
0
3
-3
2
2
-3
3
1
1
-4
-3
-7
3
1
1
0
0
2
-3
8
1
-1
-6
1
0
-7
3
0
-3
-2
9
3
3
-4
-1
1
1
5
-4
1
-5
2
2
-1
0
-1
-2
2
-1
1
-2
3
-1
-1
3
5
2
-1
3
0
2
-1
-4
0
2
-1
-3
1
5
-1
0
0
-2
-1
2
-1
-2
0
-2
4
-1
-1
-1
1
0
-1
-1
2
0
-1
2
1
-1
0
0
-1
-1
0
-1
3
-2
3
3
-2
0
-2
0
2
1
-1
5
2
0
3
-2
-1
0
-2
0
-7
0
1
1
4
0
1
0
1
-2
-2
0
2
2
2
0
-2
0
0
1
-1
-4
3
-4
4
2
1
-3
2
1
-5
-1
1
-2
4
-5
3
-3
1
-1
-5
2
-2
-1
1
2
-2
-2
3
-4
2
1
-6
0
2
-1
-1
0
1
-2
1
0
-1
2
-1
-1
1
0
1
7
0
-3
2
0
1
-1
0
0
-1
2
5
0
1
-5
1
6
-4
0
1
3
-5
-5
2
0
-1
1
1
0
-2
-1
6
-1
-1
2
-1
1
0
1
-1
1
1
0
2
-1
0
1
1
0
0
0
-1
2
0
0
0
0
-1
-1
0
0
-1
1
0
2
0
0
1
1
0
0
0
0
-1
0
0
0
-1
-1
-1
-2
0
1
-1
1
2
-2
0
4
-1
0
-1
0
1
0
0
-1
0
-2
0
0
-1
0
0
0
-2
0
3
2
-2
3
0
-1
-1
0
1
0
0
1
0
-1
-1
1
0
0
1
-1
0
0
2
-1
1
1
0
-2
1
-1
4
1
0
-1
1
0
0
1
-1
0
-2
0
2
-1
-1
-4
3
0
-2
0
1
0
-1
1
-1
-1
1
0
-1
-1
-1
-1
1
0
-1
0
2
-2
-2
3
0
3
-1
-4
0
0
-4
4
2
2
-1
0
-2
-1
3
0
0
0
1
1
-4
-2
-2
3
0
0
0
0
0
1
1
0
-2
0
5
-4
0
-1
1
0
2
2
0
-3
-1
1
-2
0
-1
5
2
2
2
-1
-1
0
-2
1
-1
5
-4
-2
-1
1
6
-3
0
0
-2
-2
2
-1
-1
-1
2
0
-1
-1
1
-3
0
-1
-1
1
0
-1
0
-1
2
0
-4
-1
0
2
-3
6
2
-2
2
1
2
-2
-1
0
0
-5
1
1
4
-2
1
1
-2
-8
-1
5
-1
1
0
-2
0
-1
0
2
1
-2
-1
0
-1
1
-1
-2
-3
-1
0
0
-1
-3
2
-1
3
-1
8
2
0
1
-2
3
0
0
0
6
0
2
1
5
-3
-4
0
-2
-1
2
0
-2
-2
-1
1
-1
0
0
0
-1
2
0
0
1
1
-2
-3
1
-1
-1
0
-4
1
1
3
4
1
-2
6
-2
4
-1
-2
0
-2
-2
-2
-1
2
-1
-1
4
1
-1
0
1
0
1
-4
-2
-1
-1
2
1
0
-2
-1
-2
0
2
-6
4
-1
-3
6
2
0
-1
0
-1
-6
-1
-3
3
-2
2
0
-4
1
0
2
0
1
3
-2
2
1
-1
-2
4
-2
5
1
-1
-2
0
4
2
-3
1
-1
-3
0
0
0
2
0
1
5
2
-2
-2
-2
0
-5
4
2
-1
1
-1
0
1
-1
1
2
1
1
-3
3
0
1
-1
0
-1
-1
0
-1
-1
-1
1
-2
3
-5
0
-1
1
1
0
0
-1
-2
-2
2
-1
1
-3
1
-4
-1
0
2
4
-3
3
-2
0
1
-1
-1
-3
-3
-1
-4
-4
1
1
2
6
4
-3
0
1
-2
0
0
-2
0
-1
-1
0
-1
-1
2
0
-1
0
0
-1
0
3
1
2
-1
-1
0
-1
-4
-1
1
-4
-2
2
-2
-1
0
0
-2
1
3
1
0
2
1
0
-1
1
0
1
-1
0
-1
1
-2
-1
-1
-2
1
0
0
-2
1
1
-2
0
3
2
-4
-3
0
-4
4
-4
2
-2
1
-2
1
2
1
0
-5
0
0
1
0
-1
-1
8
-5
-2
0
-6
1
0
2
-1
2
1
1
1
2
1
0
0
1
-1
-1
1
-1
1
-1
3
1
-2
0
-2
2
-1
1
0
2
-1
2
-2
-3
0
1
-1
-5
1
0
-3
2
5
1
-1
-3
0
1
0
2
1
0
-1
1
1
-2
0
-1
0
1
-3
3
0
2
-1
1
1
0
0
-6
5
-4
0
-3
0
0
-1
-2
-1
2
-1
-3
1
3
-1
0
0
3
-2
3
2
-1
-1
-1
1
0
-1
-2
0
0
1
-1
0
0
0
-1
0
0
1
-2
1
-1
0
1
-1
0
-1
-1
-1
0
1
-1
1
-1
-2
1
2
-2
0
2
0
1
-1
1
0
1
0
0
-1
0
0
0
1
1
3
0
0
0
1
1
0
-1
-1
2
0
-1
-3
-4
0
0
1
2
0
-2
-3
2
-1
1
-1
1
-1
-1
0
2
-1
-1
-2
2
0
2
0
0
-1
-1
0
-1
1
0
0
1
0
-1
0
0
-2
2
0
-2
0
-1
3
-1
0
-3
1
0
-2
0
0
1
1
1
1
0
-1
-2
0
0
0
0
-1
1
0
4
-1
2
0
-1
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
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
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
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
-1
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
-1
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
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
1
0
0
0
0
1
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
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
1
0
0
0
0
0
-1
1
-1
-1
0
0
0
0
0
-1
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
1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
-1
0
1
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
-1
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
57
-6
0
-2
-10
40
-78
-55
-42
-32
0
0
-6
-1
-10
0
-199
-4
0
-84
-10
-84
10
-53
-219
70
0
0
2
0
1
0
-53
-90
0
55
54
-12
18
24
88
-157
0
0
-2
0
1
3
-2
0
0
15
38
39
5
29
21
-43
0
0
-31
2
-12
0
-8
-29
0
-106
-12
126
-104
-3
-44
-50
0
0
-64
37
-55
-49
-56
-17
0
-48
15
-26
19
-11
-35
-78
0
0
-50
-1
-8
3
-34
-92
0
1
54
30
52
-1
-32
73
0
0
-2
-1
-10
11
-68
-143
0
35
64
121
79
39
151
50
0
0
-28
4
11
-43
3
-1
0
-9
129
58
44
-15
-16
-79
0
0
-179
-7
-42
-93
5
-137
0
-16
-30
-7
-108
-123
-153
28
0
0
-82
38
-53
-48
-61
-17
0
-64
5
-32
27
-10
-28
-85
0
0
-49
-1
-7
3
-29
-92
0
-19
88
51
67
16
-13
75
0
0
0
-1
-10
11
-74
-150
0
-8
74
114
86
38
157
31
0
0
-32
4
11
-41
3
-1
0
-8
139
60
32
-15
-17
-73
0
0
-181
-8
-42
-97
7
-139
0
-15
-28
-23
-100
-131
-155
31
0
0
-47
0
-3
1
-38
0
0
-64
9
-1
8
-9
-1
-41
0
0
3
0
1
-1
-10
-6
0
-66
131
107
54
28
-2
-49
0
0
26
0
-3
4
-3
-24
0
-182
119
76
66
-33
-64
-22
0
0
-6
0
-1
-4
-2
0
0
-37
51
47
8
-25
-27
-8
0
0
-16
-8
-4
0
-14
-4
0
-13
18
-49
75
-110
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-16
23
7
2
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
10
3
0
0
0
0
-18
6
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-27
-125
5
0
0
0
8
-5
0
-15
-71
-57
0
61
-43
22
4
0
0
0
70
-108
-54
-48
0
0
0
46
-34
-173
-70
0
0
0
43
40
-58
0
-2
0
0
-48
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-55
-14
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
24
-111
-98
-56
0
0
93
-144
-63
-14
74
16
0
90
-92
-93
-18
-11
0
0
-9
13
49
-4
-43
0
0
-26
-16
4
-36
38
0
0
-36
-63
-180
-56
16
0
0
9
64
44
-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
46
-53
1
0
0
0
0
-52
-6
9
0
0
0
0
0
0
0
0
0
0
0
65
-57
28
6
0
0
0
27
15
23
-89
-8
0
0
-34
5
11
-9
0
0
0
30
-5
-44
-65
-13
0
0
19
51
-41
47
6
0
0
67
114
-80
9
0
0
0
121
-263
-59
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
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
11
0
0
0
0
0
66
-24
-3
0
0
0
0
56
-9
0
0
0
0
0
34
-19
-1
0
0
0
0
-10
9
1
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
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
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-129
1
0
0
0
0
8
-25
-88
99
8
0
0
72
46
9
-26
0
0
0
-67
45
-70
2
0
0
0
-72
119
-31
-6
0
0
0
43
-85
-5
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
-53
-4
-32
-28
-1
1
0
10
0
0
0
0
0
0
-7
0
0
-2
-1
0
0
-16
2
-9
6
0
0
0
-50
15
-1
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-69
-10
6
-12
0
0
29
-29
-22
-66
-46
-72
0
-2
-82
26
12
0
0
0
33
-77
21
66
1
0
0
-16
3
10
-128
13
0
0
44
34
-128
-7
-22
0
0
-26
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
64
-26
-15
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-123
-34
103
-47
-1
0
3
-58
18
55
175
55
0
22
-27
-18
174
-33
0
0
6
-25
23
82
51
0
0
4
-16
-90
-149
93
11
0
-17
-28
-107
10
-35
0
0
56
62
-80
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
4
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-23
-41
8
0
0
0
0
-18
-50
10
0
0
0
0
0
0
0
0
0
0
0
35
19
8
28
0
0
0
12
85
72
141
112
0
0
0
69
113
19
0
0
0
45
25
66
0
0
0
0
36
20
245
101
-1
0
0
123
7
59
-5
0
0
0
-21
55
-50
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
4
0
0
0
0
0
0
10
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
-21
21
12
0
0
0
0
45
90
20
-2
0
0
0
53
29
-2
0
0
0
0
4
79
-7
-2
0
0
0
-80
30
1
1
0
0
0
0
6
0
0
0
0
0
-55
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
-102
-8
4
0
0
0
0
0
0
0
0
0
2
-5
-9
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-17
-5
0
0
0
0
-44
27
53
-15
-31
11
0
-84
82
49
-39
0
0
0
-8
23
-87
-11
0
0
0
-1
-36
-23
-6
0
0
0
-29
-136
-10
0
0
0
0
24
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-3
-32
-33
-1
1
0
10
0
0
0
0
0
0
-7
0
0
-2
-1
0
0
-16
2
-9
6
0
0
0
-55
15
-1
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-76
-13
6
-12
0
0
33
-52
-37
-68
-37
-73
0
-7
-79
25
12
0
0
0
28
-68
21
73
1
0
0
-26
17
13
-124
13
0
0
56
29
-128
-7
-22
0
0
-32
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
65
-23
-15
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-186
-28
101
-48
-1
0
0
-32
42
60
174
56
0
17
-5
-17
173
-28
0
0
29
-35
24
85
50
0
0
7
-10
-78
-147
92
11
0
-12
-6
-110
8
-38
0
0
55
66
-78
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
4
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-25
-47
8
0
0
0
0
-16
-60
10
0
0
0
0
0
0
0
0
0
0
0
-1
9
7
29
0
0
0
14
97
92
150
106
0
0
1
66
112
23
0
0
0
52
32
63
-2
0
0
0
40
-4
255
97
-1
0
0
133
4
58
-5
0
0
0
-28
57
-55
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
4
0
0
0
0
0
0
10
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
-22
23
12
0
0
0
0
49
99
23
-2
0
0
0
54
30
-2
0
0
0
0
-5
79
-7
-2
0
0
0
-76
25
1
1
0
0
0
-1
6
0
0
0
0
0
-50
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-21
-103
-8
4
0
0
0
0
0
0
0
0
0
2
-5
-9
0
0
0
0
0
0
0
0
0
0
0
27
2
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-11
-3
0
0
0
0
-65
37
71
-15
-33
10
0
-98
78
51
-39
0
0
0
-2
20
-84
-11
0
0
0
3
-53
-22
-6
0
0
0
-30
-136
-10
0
0
0
0
30
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
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
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-2
-4
-1
0
0
0
-13
-73
13
59
1
0
0
-24
13
10
0
0
0
0
26
-19
-24
0
0
0
0
-11
13
-23
0
0
0
0
34
-11
-3
-2
0
0
0
-16
-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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-111
-46
-12
0
0
0
5
195
-57
87
-7
-1
0
48
92
-2
-8
0
0
0
65
-31
-36
13
-3
0
0
-35
131
-38
26
-4
0
0
20
8
-6
-2
0
0
0
5
9
-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
4
0
0
0
0
0
0
0
-3
1
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
-75
-2
5
0
0
0
102
-3
-17
15
0
0
0
103
-52
31
0
0
0
0
5
73
-2
1
0
0
0
-7
-51
9
0
0
0
0
-8
-29
0
-1
0
0
0
-10
-2
-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
-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
-45
-1
2
0
0
0
0
11
12
10
0
0
0
0
24
7
1
0
0
0
0
7
18
-1
0
0
0
0
-36
22
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
-1
3
-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
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
35
2
0
0
0
0
9
-21
48
-4
-3
0
0
-54
5
1
0
0
0
0
-14
70
19
0
0
0
0
-66
-42
0
2
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
-30
-11
-13
-3
1
19
12
9
29
-45
-34
-28
-20
-16
-8
-24
-14
-29
-27
-28
-17
-3
0
6
13
15
-2
-54
-47
-39
-28
-21
-12
11
12
27
-24
-30
-28
-10
-8
-2
7
5
15
-70
-69
-59
-46
-30
-15
5
11
31
-106
-52
-44
-45
-21
-11
-10
21
-53
-45
-94
-58
-46
-40
-24
-3
-24
12
0
0
-11
0
0
0
0
0
0
-45
30
-18
-53
-56
0
-79
0
0
22
0
19
-17
0
13
0
34
56
41
126
53
0
83
0
0
-4
0
-16
-76
0
-4
0
-143
-34
-87
-33
-79
0
-103
0
0
-135
0
-105
145
0
-11
0
66
33
-31
57
40
0
149
0
0
-28
0
0
0
0
0
0
-105
27
-58
139
2
0
-54
0
0
-155
-3
-20
69
0
16
0
-10
-10
23
16
49
0
140
0
0
48
0
4
-141
0
-2
0
77
-13
9
-83
-36
0
90
0
0
-3
0
-69
166
0
-128
0
-46
-4
36
-8
-14
0
126
0
0
-29
0
0
0
0
0
0
-106
51
-54
156
8
0
-48
0
0
-154
-3
-20
68
0
14
0
-18
-59
22
3
22
0
142
0
0
49
0
4
-137
0
-2
0
99
35
4
-110
-26
0
95
0
0
-2
0
-69
166
0
-125
0
-71
-27
38
-42
-39
0
143
0
0
1
0
0
0
0
0
0
-10
45
3
-11
-8
0
12
0
0
-3
0
0
-2
0
0
0
50
13
-1
-17
49
0
8
0
0
0
0
1
3
0
0
0
-19
-18
1
-36
-1
0
-5
0
0
31
0
0
2
0
0
0
-35
43
-4
59
56
0
2
-26
15
26
36
8
-4
46
-6
-60
2
20
-30
-9
92
0
-1
27
-81
-5
0
62
-104
-17
0
0
2
29
82
88
-2
13
-9
-43
19
0
24
-15
-53
-26
0
-5
-108
64
0
0
29
-50
-10
0
0
-12
15
-31
61
0
60
-43
-21
65
0
27
-76
58
7
0
-15
-60
18
0
0
19
1
0
0
0
10
23
80
6
0
-41
92
70
4
0
-58
51
11
0
0
2
0
0
0
0
0
0
0
0
0
14
38
0
0
0
-50
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
-24
-11
-1
33
-39
75
11
0
28
81
-101
-24
0
-19
-3
0
0
0
19
-5
0
0
0
-21
36
-29
13
0
26
36
73
45
0
28
5
-77
-8
0
-6
25
-1
0
0
44
-5
0
0
0
29
-45
74
1
0
20
-37
84
-2
0
20
11
27
0
0
36
-11
0
0
0
1
0
0
0
0
30
33
41
0
0
34
50
12
0
0
-31
6
0
0
0
-6
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
-12
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
37
29
2
0
44
39
81
0
0
-2
-26
34
0
0
-17
-8
0
0
0
-2
0
0
0
0
15
-40
27
0
0
-24
33
29
0
0
-8
-7
17
0
0
19
23
0
0
0
0
0
0
0
0
64
72
-15
0
0
47
51
-16
0
0
-54
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
42
9
0
0
0
-21
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
0
0
12
15
1
0
0
10
33
0
0
0
-11
0
0
0
0
0
0
0
0
0
141
40
-1
0
0
23
5
0
0
0
27
13
0
0
0
-3
0
0
0
0
0
0
0
0
0
15
20
0
0
0
22
6
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
7
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
52
-4
34
0
40
-26
-7
-37
0
-51
55
25
5
0
-3
107
-16
0
0
-2
0
0
0
0
52
1
-29
-37
0
26
63
-69
-43
0
35
5
-59
3
0
-10
-14
-6
0
0
0
0
0
0
0
85
-74
4
0
0
128
-37
-25
0
0
14
-40
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-5
69
1
0
0
-31
35
-1
0
0
-17
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
26
-84
-4
0
73
-31
1
1
0
16
0
28
1
0
128
24
2
0
0
-1
0
0
0
0
15
-9
1
-2
0
-57
34
21
0
0
18
-22
15
0
0
42
8
0
0
0
0
0
0
0
0
-13
24
-9
0
0
-7
32
0
0
0
-5
7
0
0
0
-11
0
0
0
0
0
0
0
0
0
-40
16
0
0
0
-39
4
0
0
0
-24
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
-41
32
-17
0
0
20
54
-7
0
0
37
12
0
0
0
35
0
0
0
0
0
0
0
0
0
54
38
-2
0
0
81
32
0
0
0
42
3
0
0
0
5
0
0
0
0
0
0
0
0
0
30
17
0
0
0
17
12
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
-55
-19
0
0
0
-26
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-11
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-13
3
0
-21
11
-11
-1
0
11
20
9
0
0
-9
4
0
0
0
0
0
0
0
0
44
-57
1
0
0
23
-49
3
0
0
63
-20
0
0
0
1
0
0
0
0
0
0
0
0
0
33
34
0
0
0
-8
-22
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
0
0
0
0
0
0
0
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
-53
-7
0
0
29
13
-3
0
0
-61
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-48
-7
1
0
0
-6
7
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
4
-17
29
2
0
-10
33
-52
-11
0
31
-60
-52
-1
0
-53
-22
0
0
0
11
20
-11
0
0
67
-4
34
-12
0
1
38
-50
-4
0
-53
-85
-18
0
0
-41
-15
0
0
0
38
-60
6
3
0
-16
13
29
1
0
28
46
17
0
0
-32
-33
1
0
0
0
0
0
0
0
56
-19
21
0
0
54
20
13
0
0
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
-50
38
0
31
-15
53
24
0
6
117
-87
0
0
-1
51
-2
0
0
-1
0
0
0
0
27
-39
-76
9
0
4
-105
-49
1
0
-36
-78
-70
0
0
-58
-9
-1
0
0
0
0
0
0
0
-8
-53
34
0
0
10
86
9
0
0
10
28
0
0
0
-9
1
0
0
0
0
0
0
0
0
23
2
0
0
0
-8
0
2
0
0
6
0
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
0
0
0
0
0
0
63
118
-37
0
0
-42
23
-10
0
0
69
31
2
0
0
19
-1
0
0
0
0
0
0
0
0
43
38
1
0
0
-36
-22
-13
0
0
-2
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
15
2
-1
0
0
-40
-15
-2
0
0
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
25
-2
0
0
0
-8
-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
2
-38
0
0
0
-11
-23
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-9
0
0
0
-27
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
88
-22
0
41
59
57
-2
0
71
52
-2
0
0
2
-3
1
0
0
0
0
0
0
0
55
-6
29
0
0
-51
-63
-22
0
0
70
-46
-26
0
0
22
0
1
0
0
0
0
0
0
0
-55
11
33
0
0
4
42
23
0
0
1
11
0
0
0
-1
0
0
0
0
0
0
0
0
0
23
6
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
9
11
15
1
0
-96
68
7
0
0
9
27
-2
0
0
5
-3
0
0
0
0
0
0
0
0
78
50
12
0
0
-42
46
3
0
0
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
49
9
1
0
0
-2
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-31
13
0
0
0
21
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-9
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
0
0
32
23
1
0
0
-27
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
53
3
0
0
0
15
22
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
-23
-4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
0
0
45
38
37
1
0
-55
-15
20
0
0
-97
-19
0
0
0
0
0
0
0
0
65
-61
47
0
0
35
-61
43
0
0
13
-79
1
0
0
-80
-2
0
0
0
0
0
0
0
0
98
-71
6
0
0
78
-38
0
0
0
-53
-49
0
0
0
1
0
0
0
0
0
0
0
0
0
32
-7
0
0
0
11
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
35
-62
27
0
0
21
3
0
0
0
-6
-1
0
0
0
0
0
0
0
0
3
-46
5
0
0
-6
-17
3
0
0
-28
-16
0
0
0
-4
-2
0
0
0
0
0
0
0
0
35
-15
0
0
0
-4
13
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-6
0
0
0
12
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-3
12
9
0
0
-6
35
0
0
0
21
4
0
0
0
0
0
0
0
0
38
-1
2
0
0
-74
11
0
0
0
-10
1
0
0
0
1
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
3
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
0
-32
-7
0
0
0
-17
-13
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
12
0
0
0
18
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-52
3
3
0
45
13
1
-4
-12
-27
-1
10
-58
-17
-15
0
-37
30
-24
0
0
3
-3
4
124
-57
0
-11
-27
9
-1
-2
8
18
-91
-5
-43
29
1
0
0
-1
14
-14
0
0
-14
-12
-66
85
0
-9
-10
45
39
0
-27
-5
66
35
0
-34
-19
-34
-3
0
-14
-26
0
0
0
-26
-61
13
27
0
-38
7
120
11
0
-66
-3
117
0
0
71
-18
-1
0
0
-2
0
0
0
0
-35
-47
-5
0
0
-50
-24
6
0
0
-2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-16
13
3
9
-20
-38
17
2
2
-1
-16
26
0
4
-17
73
-6
0
-41
22
2
0
0
-8
-16
-32
17
0
3
2
28
35
0
-14
30
-41
-74
0
-13
-16
-77
-2
0
88
-24
1
0
0
-37
10
6
-28
0
2
5
30
-73
0
-1
29
16
-9
0
29
7
-11
0
0
151
-2
0
0
0
-15
47
-22
1
0
22
-45
13
3
0
-33
39
-10
0
0
-55
7
0
0
0
0
0
0
0
0
-12
69
-1
0
0
17
23
0
0
0
14
20
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-32
-42
-39
0
-5
-26
45
30
0
-23
-45
129
14
0
-42
9
11
0
0
153
3
0
0
0
-52
-8
-50
71
0
-8
86
-24
67
0
24
38
-3
-6
0
-30
84
9
0
0
23
-11
0
0
0
-33
13
98
16
0
18
-75
-13
4
0
-44
-57
-1
0
0
74
12
-11
0
0
5
0
0
0
0
-21
-3
35
0
0
31
44
69
0
0
85
17
3
0
0
-10
-3
0
0
0
0
0
0
0
0
-58
-1
0
0
0
-33
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-79
1
-1
0
-19
18
-47
0
0
-35
73
-38
0
0
43
-57
-2
0
0
0
0
0
0
0
-8
44
-95
0
0
-36
81
1
0
0
37
25
15
0
0
-73
-4
0
0
0
0
0
0
0
0
35
90
17
0
0
24
-35
18
0
0
-103
-77
22
0
0
-26
-5
0
0
0
0
0
0
0
0
-44
-6
0
0
0
7
-2
0
0
0
-15
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
-25
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
20
0
0
0
14
-28
0
0
0
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
123
70
1
0
0
39
19
0
0
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
71
34
0
0
0
4
-13
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
18
3
-1
-17
8
-37
0
18
-5
-24
25
0
-25
-3
43
-3
0
16
-15
0
0
0
-7
0
12
-100
0
6
15
-1
-61
0
-19
13
64
16
0
-24
-5
8
0
0
43
-10
0
0
0
-10
10
3
8
0
-7
-30
-121
7
0
-14
-58
-69
0
0
19
71
-4
0
0
-19
0
0
0
0
-48
16
-45
0
0
-58
153
3
0
0
61
-112
-10
0
0
-28
0
0
0
0
0
0
0
0
0
-61
-58
0
0
0
-12
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
50
72
0
-2
40
33
-6
0
-28
18
24
4
0
-17
7
-17
0
0
-84
-4
0
0
0
3
11
-31
17
0
-16
-21
-19
2
0
2
-36
14
-8
0
13
75
-2
0
0
15
-2
0
0
0
-27
-44
38
-9
0
55
43
24
-2
0
2
1
1
0
0
24
58
-4
0
0
-1
0
0
0
0
19
-92
-93
0
0
28
19
-13
0
0
39
-51
0
0
0
-6
3
0
0
0
0
0
0
0
0
9
-3
0
0
0
21
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
7
60
-5
0
-8
34
-19
-5
0
0
19
8
0
0
-3
-73
-16
0
0
1
0
0
0
0
-3
-10
23
-10
0
5
-30
28
-5
0
-6
-45
-49
0
0
-11
-4
-10
0
0
0
0
0
0
0
49
3
65
0
0
-85
-53
37
0
0
61
73
-11
0
0
59
4
0
0
0
0
0
0
0
0
-99
-67
1
0
0
-25
22
0
0
0
49
-11
0
0
0
5
0
0
0
0
0
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
-41
-20
-9
0
0
-32
49
-53
0
0
62
33
-14
0
0
21
0
0
0
0
0
0
0
0
0
63
77
-63
0
0
-42
21
-24
0
0
10
-4
-12
0
0
-1
0
0
0
0
0
0
0
0
0
-4
48
-2
0
0
17
8
0
0
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
2
0
0
0
-48
-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
-73
-10
0
0
0
-18
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
-15
19
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-6
0
-12
16
25
-11
0
-60
50
32
0
0
2
66
7
0
0
2
0
0
0
0
17
-72
-12
-2
0
26
36
29
0
0
65
-21
-8
0
0
21
14
0
0
0
0
0
0
0
0
-74
156
-5
0
0
-63
-82
0
0
0
91
-68
1
0
0
-7
0
0
0
0
0
0
0
0
0
-7
-15
0
0
0
55
-16
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-71
88
0
0
14
-16
4
0
0
-51
60
-12
0
0
8
3
0
0
0
0
0
0
0
0
-74
30
39
0
0
-38
53
-13
0
0
-34
35
-12
0
0
34
5
0
0
0
0
0
0
0
0
22
-43
15
0
0
-30
-31
5
0
0
61
-13
0
0
0
4
0
0
0
0
0
0
0
0
0
-13
-10
0
0
0
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-42
-13
0
0
35
-1
-6
0
0
10
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
68
84
-2
0
0
64
78
3
0
0
-33
1
0
0
0
3
0
0
0
0
0
0
0
0
0
68
54
0
0
0
-36
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-40
-7
0
0
0
-17
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
0
0
0
17
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-3
-8
-9
-5
-52
0
0
2
-12
-15
0
-51
38
30
-1
0
9
-25
-32
0
0
-11
0
1
-35
-12
2
-14
28
-71
0
5
-33
3
-49
0
44
-26
-56
2
0
-71
-18
0
0
0
-14
-26
-24
-72
0
-14
16
-4
-31
0
8
30
-21
12
0
-14
-17
-8
0
0
-46
-2
0
0
0
-81
-5
-20
7
0
73
-43
2
0
0
-32
4
15
0
0
57
0
0
0
0
0
0
0
0
0
-4
2
-5
0
0
-7
-6
0
0
0
-24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-14
42
0
3
17
31
3
0
21
-16
-19
19
0
-5
24
-56
0
0
24
13
0
0
0
-15
13
10
-26
0
-3
-39
-14
27
0
-29
-9
42
15
0
6
57
-35
0
0
45
14
0
0
0
-14
25
36
-25
0
2
15
-49
8
0
7
-100
-55
0
0
-54
34
1
0
0
2
0
0
0
0
23
88
-17
0
0
-74
13
-60
0
0
96
96
0
0
0
-42
-6
0
0
0
0
0
0
0
0
5
15
0
0
0
15
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
-14
-6
0
-23
-1
-67
2
0
4
48
47
0
0
-5
-59
-3
0
0
3
0
0
0
0
-25
-29
37
5
0
15
5
-63
6
0
-48
52
-64
0
0
-7
-44
-1
0
0
3
0
0
0
0
3
27
60
2
0
20
-69
24
0
0
59
69
-4
0
0
-24
-4
0
0
0
0
0
0
0
0
83
-80
18
0
0
16
-11
6
0
0
-20
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
19
3
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
47
64
0
0
-28
6
61
0
0
-63
118
9
0
0
1
-3
0
0
0
0
0
0
0
0
43
-10
-60
0
0
-41
-35
1
0
0
33
5
0
0
0
-6
-3
0
0
0
0
0
0
0
0
2
-46
-1
0
0
-19
-68
0
0
0
-11
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
26
2
0
0
0
-34
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
25
-25
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
0
0
0
14
-3
0
0
0
2
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
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
14
0
12
-21
7
-9
0
-19
15
-5
6
0
-7
70
-5
0
0
68
0
0
0
0
2
1
93
-15
0
-7
-14
-84
-20
0
-19
-23
113
3
0
58
-61
18
0
0
8
-1
0
0
0
-3
-14
55
-1
0
18
69
42
0
0
37
127
-30
0
0
27
11
0
0
0
-1
0
0
0
0
24
97
-10
0
0
44
51
-1
0
0
38
-13
0
0
0
-4
0
0
0
0
0
0
0
0
0
-53
8
0
0
0
11
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-5
26
55
0
-29
29
-30
-3
0
36
8
-5
0
0
55
-60
5
0
0
-2
0
0
0
0
-19
13
-7
-4
0
19
46
-72
-1
0
-48
0
38
0
0
-11
-64
7
0
0
2
0
0
0
0
3
-18
-55
0
0
20
-11
1
0
0
12
-50
-3
0
0
34
0
0
0
0
0
0
0
0
0
54
-11
5
0
0
-10
7
0
0
0
110
-3
0
0
0
-2
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
-9
-4
-80
0
0
-49
36
-16
0
0
-15
38
-6
0
0
17
5
0
0
0
0
0
0
0
0
15
67
-83
0
0
36
-5
-8
0
0
-11
7
-3
0
0
-47
1
0
0
0
0
0
0
0
0
-27
28
-13
0
0
-16
5
-8
0
0
-19
13
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
-27
0
0
0
33
1
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
81
6
-5
0
0
33
11
-5
0
0
104
0
0
0
0
5
0
0
0
0
0
0
0
0
0
21
81
-3
0
0
74
16
0
0
0
37
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-28
-7
0
0
0
4
0
0
0
0
14
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-11
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
-33
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
48
-77
0
0
-72
-19
-45
0
0
31
-35
-11
0
0
74
3
0
0
0
0
0
0
0
0
-12
-61
-54
0
0
90
-48
-31
0
0
-75
-138
-2
0
0
-9
-1
0
0
0
0
0
0
0
0
-103
-52
-10
0
0
55
-40
-12
0
0
-25
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
4
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
48
0
0
3
-19
-16
0
0
77
-24
-1
0
0
5
1
0
0
0
0
0
0
0
0
-45
7
-17
0
0
-18
-55
-20
0
0
-19
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
99
-55
0
0
0
-1
-8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
22
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
13
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
55
0
0
0
53
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
0
0
0
-7
0
0
0
0
-4
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
28
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-54
-25
0
-12
36
-49
5
0
-1
33
-24
0
0
-117
-13
-2
0
0
-1
0
0
0
0
-21
1
-30
-3
0
21
-38
14
0
0
-6
-92
-58
0
0
28
28
0
0
0
9
0
0
0
0
26
-56
-31
0
0
-48
-11
-14
0
0
18
-87
-5
0
0
-165
6
0
0
0
0
0
0
0
0
37
-29
0
0
0
-10
22
0
0
0
-11
3
0
0
0
-12
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
6
-89
70
0
0
-10
27
23
0
0
-84
68
-61
0
0
64
26
0
0
0
0
0
0
0
0
-3
39
53
0
0
-55
72
66
0
0
13
79
0
0
0
50
4
0
0
0
0
0
0
0
0
-44
112
19
0
0
16
98
2
0
0
104
39
0
0
0
5
2
0
0
0
0
0
0
0
0
36
-21
0
0
0
-27
18
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
64
0
0
-18
-84
3
0
0
83
-103
0
0
0
71
0
0
0
0
0
0
0
0
0
-18
28
3
0
0
107
41
4
0
0
3
-71
0
0
0
21
0
0
0
0
0
0
0
0
0
73
12
0
0
0
-31
11
0
0
0
30
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
-28
-9
0
0
0
-37
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
9
49
0
0
0
-62
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-4
0
0
0
46
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-28
-19
0
0
-6
-40
-40
0
0
44
54
-10
0
0
28
-4
0
0
0
0
0
0
0
0
0
14
-48
0
0
-47
-17
-78
0
0
-58
47
1
0
0
42
-7
0
0
0
0
0
0
0
0
-19
-2
-1
0
0
37
-12
0
0
0
63
-4
0
0
0
-15
0
0
0
0
0
0
0
0
0
57
10
0
0
0
-6
11
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
142
18
0
0
13
59
1
0
0
0
-16
0
0
0
-79
1
0
0
0
0
0
0
0
0
-27
26
-4
0
0
74
50
0
0
0
-5
16
0
0
0
2
1
0
0
0
0
0
0
0
0
9
-19
0
0
0
1
-38
0
0
0
26
-3
0
0
0
-12
0
0
0
0
0
0
0
0
0
52
1
0
0
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
-6
36
0
0
0
14
66
0
0
0
36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
28
0
0
0
70
16
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
1
0
0
0
-50
0
0
0
0
-16
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
-18
-3
0
0
0
-23
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
-74
0
0
0
0
97
1
0
0
0
8
0
0
0
0
0
0
0
0
0
68
1
0
0
0
63
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
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
14
1
0
0
0
-34
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
3
0
0
0
42
0
0
0
0
0
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
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-11
-44
-2
-11
-6
54
15
-21
-9
7
-24
-1
-15
-82
-14
-14
0
-56
32
-23
0
0
1
-11
1
137
-55
-11
-20
-45
16
-1
-21
24
34
-88
-5
-35
41
-1
0
0
-17
12
-14
0
0
-21
-28
-80
82
0
-15
5
41
34
0
-39
16
72
35
0
-29
-14
-38
-3
0
-18
-26
0
0
0
-37
-72
7
27
0
-49
-5
109
11
0
-60
-15
111
0
0
67
-18
-1
0
0
-2
0
0
0
0
-52
-56
-5
0
0
-56
-33
6
0
0
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-3
2
3
1
-11
-43
9
2
-6
-5
2
23
0
-5
-25
69
-6
0
-44
22
2
0
0
-5
-13
-15
12
0
-2
-18
30
28
0
-13
16
-20
-76
0
-9
-14
-78
-2
0
85
-26
1
0
0
-35
16
11
-31
0
14
17
25
-75
0
15
37
17
-9
0
20
5
-12
0
0
152
-2
0
0
0
-40
54
-18
1
0
31
-42
10
3
0
-21
36
-13
0
0
-55
8
0
0
0
0
0
0
0
0
-29
61
-1
0
0
11
18
0
0
0
12
20
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-36
-44
-36
0
-14
-34
47
32
0
-22
-59
124
14
0
-49
10
10
0
0
154
3
0
0
0
-38
6
-50
72
0
-26
86
-24
65
0
36
31
-1
-6
0
-35
83
8
0
0
21
-11
0
0
0
-42
21
94
16
0
30
-72
-23
4
0
-23
-48
-2
0
0
73
13
-11
0
0
5
0
0
0
0
-18
3
36
0
0
31
47
69
0
0
77
16
3
0
0
-11
-3
0
0
0
0
0
0
0
0
-64
-1
0
0
0
-34
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-90
6
-1
0
-19
10
-47
0
0
-11
63
-42
0
0
46
-64
-2
0
0
0
0
0
0
0
-31
21
-99
0
0
-37
68
2
0
0
47
14
9
0
0
-76
-6
0
0
0
0
0
0
0
0
30
83
18
0
0
31
-35
19
0
0
-88
-77
22
0
0
-28
-5
0
0
0
0
0
0
0
0
-35
2
0
0
0
12
2
0
0
0
-13
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
-25
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
21
0
0
0
6
-28
0
0
0
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
113
70
1
0
0
34
17
0
0
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
67
33
0
0
0
-2
-13
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
4
3
-12
-27
3
-37
0
18
-2
-35
25
0
-27
-13
35
-3
0
11
-16
0
0
0
-17
-2
7
-103
0
14
23
-11
-62
0
-27
21
64
16
0
-28
-11
5
0
0
40
-10
0
0
0
-31
38
3
7
0
-31
-30
-120
6
0
-3
-43
-71
0
0
9
70
-4
0
0
-19
0
0
0
0
-45
15
-45
0
0
-61
147
-2
0
0
63
-114
-10
0
0
-27
0
0
0
0
0
0
0
0
0
-63
-55
0
0
0
-8
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-22
58
69
0
-10
30
22
-10
0
-25
21
14
3
0
-27
4
-22
0
0
-88
-4
0
0
0
-3
12
-28
16
0
-2
-14
-21
-2
0
9
-42
11
-8
0
11
72
-2
0
0
15
-2
0
0
0
-21
-44
37
-9
0
62
23
21
-2
0
17
8
-1
0
0
20
57
-4
0
0
-1
0
0
0
0
21
-89
-93
0
0
21
16
-13
0
0
44
-53
0
0
0
-3
3
0
0
0
0
0
0
0
0
8
-3
0
0
0
21
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-4
60
-5
0
14
41
-16
-5
0
-8
17
5
0
0
-4
-68
-16
0
0
1
0
0
0
0
-3
-5
27
-10
0
15
-22
28
-5
0
-11
-48
-52
0
0
-18
-3
-10
0
0
0
0
0
0
0
64
7
60
0
0
-83
-58
32
0
0
70
77
-11
0
0
58
4
0
0
0
0
0
0
0
0
-90
-61
1
0
0
-21
23
0
0
0
49
-11
0
0
0
5
0
0
0
0
0
0
0
0
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
-35
-33
-13
0
0
-31
40
-56
0
0
60
27
-14
0
0
20
0
0
0
0
0
0
0
0
0
65
66
-67
0
0
-44
9
-26
0
0
4
-10
-12
0
0
-2
0
0
0
0
0
0
0
0
0
-5
41
-2
0
0
14
4
0
0
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
2
0
0
0
-47
-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
-75
-9
0
0
0
-18
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
-15
19
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-6
0
-30
17
25
-11
0
-64
50
32
0
0
1
66
7
0
0
2
0
0
0
0
-22
-73
-11
-2
0
8
44
30
0
0
56
-22
-8
0
0
18
14
0
0
0
0
0
0
0
0
-79
149
-4
0
0
-55
-80
0
0
0
93
-67
1
0
0
-7
0
0
0
0
0
0
0
0
0
-8
-19
0
0
0
52
-16
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-55
89
0
0
19
-10
5
0
0
-44
60
-12
0
0
6
3
0
0
0
0
0
0
0
0
-69
37
40
0
0
-47
54
-12
0
0
-39
33
-12
0
0
31
5
0
0
0
0
0
0
0
0
27
-46
15
0
0
-23
-32
5
0
0
63
-13
0
0
0
4
0
0
0
0
0
0
0
0
0
-13
-10
0
0
0
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-43
-12
0
0
33
-3
-6
0
0
3
-15
0
0
0
1
0
0
0
0
0
0
0
0
0
64
84
-2
0
0
58
76
3
0
0
-39
1
0
0
0
3
0
0
0
0
0
0
0
0
0
67
54
0
0
0
-38
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-37
-9
0
0
0
-20
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-3
0
0
0
13
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
23
-3
-21
5
-1
-40
0
-7
1
5
-3
0
-42
43
30
-1
0
12
-24
-32
0
0
-24
-2
12
-27
-12
-2
3
38
-61
0
4
-22
16
-41
0
51
-12
-54
2
0
-76
-17
0
0
0
-25
-6
-39
-72
0
-22
16
-20
-30
0
-5
26
-20
12
0
-7
-16
-8
0
0
-45
-2
0
0
0
-98
2
-15
7
0
56
-44
-3
0
0
-45
-2
14
0
0
52
-1
0
0
0
0
0
0
0
0
-12
-1
-5
0
0
-12
-10
0
0
0
-24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
-3
36
0
13
4
26
2
0
11
-26
-10
18
0
7
22
-55
0
0
20
13
0
0
0
-12
8
23
-29
0
6
-35
-7
23
0
-24
-2
52
15
0
18
57
-33
0
0
44
14
0
0
0
-3
26
35
-23
0
12
1
-52
8
0
-4
-112
-58
0
0
-54
32
1
0
0
2
0
0
0
0
16
99
-12
0
0
-71
14
-61
0
0
99
93
0
0
0
-44
-6
0
0
0
0
0
0
0
0
-3
12
0
0
0
12
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
9
-7
0
-8
8
-54
2
0
-3
30
48
0
0
-12
-63
-3
0
0
3
0
0
0
0
-13
-42
42
5
0
26
10
-56
6
0
-45
45
-62
0
0
-7
-44
-1
0
0
3
0
0
0
0
-22
17
59
2
0
17
-79
21
0
0
54
64
-4
0
0
-24
-4
0
0
0
0
0
0
0
0
78
-80
18
0
0
2
-13
6
0
0
-27
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
3
0
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
52
68
0
0
-30
13
65
0
0
-59
117
9
0
0
2
-3
0
0
0
0
0
0
0
0
48
-8
-58
0
0
-28
-34
3
0
0
39
3
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-1
-48
-1
0
0
-17
-69
0
0
0
-9
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
28
2
0
0
0
-33
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
22
-25
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-21
0
0
0
8
-3
0
0
0
2
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
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
10
0
27
-31
-8
-10
0
-31
6
-12
6
0
-27
62
-4
0
0
70
0
0
0
0
-4
-1
99
-15
0
-5
-28
-78
-18
0
-12
-13
115
3
0
48
-61
18
0
0
8
-1
0
0
0
4
-8
57
-1
0
11
63
41
0
0
30
128
-31
0
0
19
12
0
0
0
-1
0
0
0
0
19
101
-10
0
0
35
45
-1
0
0
30
-14
0
0
0
-4
0
0
0
0
0
0
0
0
0
-52
8
0
0
0
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-19
29
52
0
-26
21
-25
-3
0
40
13
-4
0
0
45
-65
5
0
0
-2
0
0
0
0
-31
7
-4
-4
0
8
37
-68
-1
0
-34
9
40
0
0
-17
-68
7
0
0
2
0
0
0
0
1
-11
-53
0
0
15
-15
1
0
0
18
-44
-3
0
0
29
0
0
0
0
0
0
0
0
0
52
-12
5
0
0
-11
7
0
0
0
111
-3
0
0
0
-2
0
0
0
0
0
0
0
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
-1
-9
-75
0
0
-32
36
-13
0
0
-16
41
-5
0
0
14
5
0
0
0
0
0
0
0
0
17
56
-79
0
0
35
-13
-6
0
0
-8
9
-3
0
0
-50
1
0
0
0
0
0
0
0
0
-12
28
-13
0
0
-11
4
-8
0
0
-19
12
0
0
0
-17
0
0
0
0
0
0
0
0
0
3
-27
0
0
0
33
1
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
73
-1
-5
0
0
26
8
-5
0
0
98
0
0
0
0
5
0
0
0
0
0
0
0
0
0
23
77
-3
0
0
70
12
0
0
0
32
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-32
-10
0
0
0
2
0
0
0
0
14
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-11
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
-35
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
47
-76
0
0
-82
-23
-44
0
0
31
-35
-11
0
0
72
3
0
0
0
0
0
0
0
0
-17
-63
-53
0
0
85
-51
-31
0
0
-72
-136
-2
0
0
-9
-1
0
0
0
0
0
0
0
0
-105
-51
-10
0
0
59
-40
-12
0
0
-26
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-2
2
0
0
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
-49
-4
49
0
0
16
-17
-16
0
0
85
-22
-1
0
0
5
1
0
0
0
0
0
0
0
0
-39
8
-17
0
0
-16
-57
-20
0
0
-18
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
98
-56
0
0
0
2
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
22
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
-1
12
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
54
0
0
0
50
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
0
0
0
-10
0
0
0
0
-4
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
30
0
0
0
0
1
0
0
0
0
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-66
-26
0
-21
41
-51
4
0
9
41
-21
0
0
-116
-11
-2
0
0
-1
0
0
0
0
-38
5
-37
-3
0
18
-39
11
0
0
14
-94
-56
0
0
35
31
0
0
0
9
0
0
0
0
2
-63
-34
0
0
-50
-15
-16
0
0
28
-86
-5
0
0
-154
6
0
0
0
0
0
0
0
0
33
-34
0
0
0
-3
21
0
0
0
-12
2
0
0
0
-12
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
-2
-88
62
0
0
-27
22
19
0
0
-75
63
-59
0
0
59
22
0
0
0
0
0
0
0
0
2
46
48
0
0
-53
71
66
0
0
38
74
0
0
0
44
4
0
0
0
0
0
0
0
0
-63
99
18
0
0
19
90
2
0
0
101
34
0
0
0
3
2
0
0
0
0
0
0
0
0
28
-26
0
0
0
-24
15
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
2
62
0
0
-21
-83
-1
0
0
87
-110
0
0
0
67
0
0
0
0
0
0
0
0
0
-14
33
-2
0
0
107
42
4
0
0
7
-78
0
0
0
20
0
0
0
0
0
0
0
0
0
64
11
0
0
0
-35
11
0
0
0
29
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
-29
-9
0
0
0
-37
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
7
46
0
0
0
-63
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
0
0
0
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-40
-19
0
0
16
-48
-42
0
0
45
47
-10
0
0
20
-4
0
0
0
0
0
0
0
0
-1
8
-49
0
0
-39
-24
-78
0
0
-55
45
1
0
0
37
-7
0
0
0
0
0
0
0
0
-17
-4
-1
0
0
37
-15
0
0
0
65
-4
0
0
0
-15
0
0
0
0
0
0
0
0
0
56
9
0
0
0
-5
11
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
139
17
0
0
10
55
0
0
0
2
-22
0
0
0
-82
1
0
0
0
0
0
0
0
0
-14
22
-4
0
0
75
46
0
0
0
1
15
0
0
0
-1
1
0
0
0
0
0
0
0
0
11
-19
0
0
0
4
-39
0
0
0
28
-3
0
0
0
-12
0
0
0
0
0
0
0
0
0
51
1
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
7
37
0
0
0
25
68
0
0
0
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
29
0
0
0
73
15
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
1
0
0
0
-50
0
0
0
0
-16
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
-18
-3
0
0
0
-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
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
-151
-19
0
0
0
-72
-2
0
0
0
102
1
0
0
0
8
0
0
0
0
0
0
0
0
0
67
0
0
0
0
63
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
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
19
1
0
0
0
-27
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
3
0
0
0
43
0
0
0
0
0
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
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-48
-1
-11
-28
-73
12
3
-44
-48
9
11
0
-56
-107
-6
-7
0
-39
-8
0
0
0
-8
-42
34
3
-2
-15
-23
-29
29
-1
22
-33
38
-5
0
-81
-21
-4
-5
0
-3
-33
0
0
0
-51
-7
20
-63
0
-39
7
-22
-40
0
-29
25
17
3
0
12
-13
-33
0
0
4
-12
0
0
0
-90
48
-8
-3
0
-63
-22
-8
0
0
-12
-61
-20
0
0
-44
17
0
0
0
0
0
0
0
0
-166
-110
1
0
0
-47
-68
1
0
0
-17
-6
0
0
0
-5
0
0
0
0
0
0
0
0
0
11
4
-49
-78
1
-12
-11
-55
-31
1
-38
31
65
10
0
-3
38
0
0
0
-20
-8
0
0
0
-29
-38
-9
-31
-1
-26
-10
36
-18
0
6
-39
25
-4
0
87
8
-13
-1
0
36
-2
0
0
0
-20
36
19
-26
0
-9
-28
0
-10
0
-17
-5
-8
3
0
-54
-38
-6
0
0
17
0
0
0
0
-57
72
6
-2
0
69
3
-11
0
0
-4
-16
-13
0
0
-53
6
0
0
0
0
0
0
0
0
-82
-44
0
0
0
0
-34
0
0
0
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-37
0
0
-65
78
48
19
0
-37
-44
16
8
0
-92
13
-6
0
0
40
5
0
0
0
17
-1
-33
17
0
-46
20
-3
24
0
54
-78
-38
3
0
-73
3
-7
0
0
22
1
0
0
0
-49
105
25
-6
0
76
41
-15
-5
0
95
27
2
0
0
-29
18
-2
0
0
1
0
0
0
0
-8
101
16
0
0
66
77
15
0
0
13
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-51
-12
0
0
0
-4
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-114
34
0
0
9
-5
72
0
0
104
-50
-15
0
0
63
-25
0
0
0
0
0
0
0
0
-31
-94
-32
0
0
-1
-50
25
0
0
49
-83
5
0
0
-11
-12
0
0
0
0
0
0
0
0
-37
-93
12
0
0
2
-80
14
0
0
49
-71
3
0
0
0
-5
0
0
0
0
0
0
0
0
10
-1
0
0
0
27
6
0
0
0
9
-1
0
0
0
4
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
-17
14
0
0
0
22
3
0
0
0
22
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
-8
17
0
0
0
35
11
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
0
0
-37
1
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
-81
-1
-37
-91
0
-30
-1
23
-10
0
33
-61
-53
12
0
99
-55
43
0
0
-29
-9
0
0
0
-36
15
-4
-77
0
5
33
18
-33
0
22
5
3
3
0
51
-61
27
0
0
3
-7
0
0
0
19
-111
35
-24
0
10
-36
24
-5
0
53
38
-23
0
0
15
22
-7
0
0
-5
0
0
0
0
2
32
-21
0
0
-36
16
-1
0
0
-67
-73
-6
0
0
-9
5
0
0
0
0
0
0
0
0
-59
-22
0
0
0
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
-24
-59
0
5
10
-43
-20
0
-32
-8
3
-2
0
-20
-22
16
0
0
-15
-5
0
0
0
-35
10
3
-59
0
8
15
-16
-39
0
33
3
-12
-5
0
63
-12
4
0
0
3
-5
0
0
0
-23
-45
2
-9
0
22
-38
-19
0
0
15
38
-21
0
0
24
13
-2
0
0
0
0
0
0
0
-56
15
-13
0
0
-11
37
-6
0
0
19
-46
0
0
0
9
5
0
0
0
0
0
0
0
0
-13
-3
0
0
0
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
1
-14
-24
0
66
109
30
-6
0
-12
-2
-25
0
0
-32
5
-3
0
0
-1
0
0
0
0
-39
4
5
-8
0
29
19
9
0
0
15
-32
-41
0
0
-29
3
-3
0
0
0
0
0
0
0
65
54
-2
0
0
-35
3
2
0
0
49
22
-5
0
0
20
6
0
0
0
0
0
0
0
0
-2
64
1
0
0
43
61
0
0
0
12
-4
0
0
0
5
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
12
-3
-19
0
0
4
21
18
0
0
-27
-29
-10
0
0
-7
-1
0
0
0
0
0
0
0
0
65
-1
-24
0
0
-3
5
-8
0
0
-21
-38
-9
0
0
-4
0
0
0
0
0
0
0
0
0
31
21
0
0
0
9
10
0
0
0
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
0
0
0
-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
-22
4
0
0
0
-14
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
0
0
0
-7
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-57
-8
2
-4
0
34
54
10
0
0
-27
12
-4
0
0
13
-2
0
0
0
0
0
0
0
0
-173
-45
14
0
0
-55
75
19
0
0
-24
-1
1
0
0
10
1
0
0
0
0
0
0
0
0
-35
-13
9
0
0
50
2
2
0
0
57
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
22
-22
0
0
0
43
-7
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
1
-31
4
0
0
-61
-59
6
0
0
-25
-13
-4
0
0
-6
1
0
0
0
0
0
0
0
0
23
-16
16
0
0
-20
-4
-1
0
0
-27
-22
-1
0
0
-6
1
0
0
0
0
0
0
0
0
20
-10
5
0
0
28
-20
1
0
0
60
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-7
0
0
0
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-21
3
0
0
21
-26
3
0
0
-31
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-27
1
3
0
0
-20
9
4
0
0
-48
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
25
0
0
0
-17
0
0
0
0
-4
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
5
-5
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
95
11
5
-23
-4
77
41
1
-53
-25
12
17
0
-82
-37
-8
-1
0
-6
-11
0
0
0
-55
-107
5
46
0
23
-2
-2
37
0
9
58
67
6
0
9
-2
24
1
0
-13
-9
0
0
0
-45
71
-2
15
0
-50
-28
-36
15
0
-48
-38
16
10
0
-25
-33
-7
0
0
-4
0
0
0
0
-36
-10
29
0
0
-64
31
29
0
0
3
-15
-1
0
0
-45
-2
0
0
0
0
0
0
0
0
-52
-47
-1
0
0
-9
-12
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
15
-60
-49
0
20
11
-45
-38
0
-32
-16
3
-3
0
0
-69
-29
0
0
-22
-9
0
0
0
24
-7
6
-33
0
64
-11
17
-11
0
0
47
31
1
0
54
-33
2
0
0
0
-4
0
0
0
41
2
-21
7
0
-17
-62
-16
3
0
-80
-52
-12
0
0
19
-18
1
0
0
0
0
0
0
0
57
25
27
0
0
3
50
3
0
0
46
11
-2
0
0
-47
-5
0
0
0
0
0
0
0
0
-4
-10
0
0
0
7
-4
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-13
97
-2
0
26
117
78
5
0
-67
-12
12
0
0
9
12
0
0
0
1
0
0
0
0
35
-96
7
2
0
-27
50
14
3
0
-50
-12
-43
0
0
24
0
0
0
0
1
0
0
0
0
-87
-54
12
0
0
39
-14
11
0
0
-25
-32
-4
0
0
-18
-4
0
0
0
0
0
0
0
0
-70
-40
2
0
0
0
9
1
0
0
-3
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
-34
29
0
0
-53
-17
39
0
0
-8
-4
0
0
0
31
-4
0
0
0
0
0
0
0
0
2
25
-12
0
0
29
18
5
0
0
-26
-19
0
0
0
10
-4
0
0
0
0
0
0
0
0
84
-6
-1
0
0
3
-23
0
0
0
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
0
-29
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
-3
7
0
0
0
23
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
12
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
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
-12
-20
0
-19
-26
-3
21
0
-56
55
-2
-2
0
-32
-19
8
0
0
-7
-1
0
0
0
36
24
-5
-15
0
37
11
-13
4
0
-53
135
74
0
0
-17
-14
9
0
0
1
-2
0
0
0
-82
4
-35
0
0
-46
6
-23
0
0
-17
28
-7
0
0
-5
-2
0
0
0
-1
0
0
0
0
-24
-24
-5
0
0
-40
3
1
0
0
-76
-14
0
0
0
-5
0
0
0
0
0
0
0
0
0
-25
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
-10
-22
0
-34
5
25
-3
0
7
46
59
0
0
-19
-60
7
0
0
-4
0
0
0
0
57
65
11
-5
0
1
17
-2
0
0
0
55
57
0
0
-4
-48
10
0
0
-1
0
0
0
0
-16
65
-37
0
0
4
38
-14
0
0
-5
22
-1
0
0
-2
0
0
0
0
0
0
0
0
0
-15
-41
0
0
0
-12
-7
0
0
0
2
-4
0
0
0
-4
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
-24
7
-5
0
0
45
-5
4
0
0
-3
7
-1
0
0
17
5
0
0
0
0
0
0
0
0
21
-38
-13
0
0
24
-43
-9
0
0
-28
-11
-1
0
0
-12
0
0
0
0
0
0
0
0
0
53
-9
-4
0
0
8
-3
-2
0
0
-10
6
0
0
0
-9
0
0
0
0
0
0
0
0
0
14
-8
0
0
0
12
-1
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
2
1
-2
0
0
13
-13
-1
0
0
17
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
23
22
-1
0
0
33
9
0
0
0
-19
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
45
-1
0
0
0
6
1
0
0
0
9
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
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
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
-1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
-19
-8
-3
0
0
-43
-6
0
0
0
-1
2
0
0
0
0
0
0
0
0
6
-2
-11
0
0
36
1
-2
0
0
23
1
0
0
0
1
1
0
0
0
0
0
0
0
0
-10
-15
-1
0
0
51
2
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
0
0
0
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
-1
16
1
0
0
39
-19
-3
0
0
19
4
0
0
0
2
0
0
0
0
0
0
0
0
0
13
-4
0
0
0
25
-13
-4
0
0
19
1
0
0
0
2
0
0
0
0
0
0
0
0
0
64
-4
0
0
0
56
2
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-5
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
0
0
0
7
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
8
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-89
-1
0
-5
-58
-30
0
0
30
-52
5
0
0
20
-33
0
0
0
5
0
0
0
0
-80
25
-82
0
0
-17
40
-9
0
0
74
24
-3
0
0
15
-9
0
0
0
1
0
0
0
0
42
-31
-55
0
0
5
-21
-3
0
0
-9
-12
0
0
0
16
0
0
0
0
0
0
0
0
0
-46
-57
0
0
0
-18
-17
0
0
0
-8
-4
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
-149
7
-54
0
0
13
-31
-17
0
0
91
-65
-11
0
0
29
-7
0
0
0
0
0
0
0
0
-71
-1
-33
0
0
83
-8
15
0
0
76
-3
-2
0
0
29
2
0
0
0
0
0
0
0
0
34
-17
-15
0
0
20
-20
0
0
0
-6
-12
0
0
0
-6
0
0
0
0
0
0
0
0
0
-43
-63
0
0
0
-42
-20
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
-23
58
-13
0
0
40
13
1
0
0
37
-53
0
0
0
-9
0
0
0
0
0
0
0
0
0
-31
33
2
0
0
-21
13
0
0
0
-23
-25
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
-55
-7
0
0
0
-17
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
-42
-12
0
0
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
-20
-19
0
0
0
-15
14
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
0
0
0
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
0
0
3
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
-12
0
0
0
-39
-1
0
0
-65
-40
-2
0
0
-58
-5
0
0
0
0
0
0
0
0
60
-37
-8
0
0
3
-23
2
0
0
-19
15
0
0
0
-14
-1
0
0
0
0
0
0
0
0
17
-20
-1
0
0
10
-3
0
0
0
11
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
59
2
0
0
0
-2
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
84
19
4
0
0
-19
-9
0
0
0
-9
-26
0
0
0
-13
0
0
0
0
0
0
0
0
0
58
-29
-4
0
0
1
-38
0
0
0
-3
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
17
5
0
0
0
-6
-4
0
0
0
8
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
56
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
79
63
0
0
0
60
59
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
25
0
0
0
1
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-40
-1
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
12
-3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
27
4
0
0
0
15
0
0
0
0
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
45
1
20
-19
-24
27
0
78
-49
41
15
0
71
92
16
1
0
-18
-4
0
0
0
51
-90
-25
-64
0
-41
41
-37
-26
0
-25
54
-26
-9
0
-49
29
33
0
0
-12
0
0
0
0
95
95
-8
3
0
-49
53
-7
-2
0
-43
13
8
0
0
-5
13
0
0
0
0
0
0
0
0
1
59
-7
0
0
-38
32
-3
0
0
20
0
0
0
0
-1
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
78
17
47
-10
0
-15
-60
45
16
0
-42
50
-11
0
0
35
-4
2
0
0
-5
0
0
0
0
29
15
-9
-23
0
-72
34
39
0
0
-21
44
-19
0
0
20
13
0
0
0
0
0
0
0
0
29
-10
-2
0
0
-45
-31
-7
0
0
-23
12
0
0
0
-3
0
0
0
0
0
0
0
0
0
17
-2
-1
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
-70
-5
2
0
79
25
-9
0
0
-8
7
1
0
0
-11
1
0
0
0
0
0
0
0
0
-51
-12
-15
0
0
-28
11
-5
0
0
-38
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-14
0
-1
0
0
-4
1
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
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
0
0
53
17
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
13
1
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
117
-8
33
10
0
-118
-80
45
6
0
-15
-51
-28
0
0
-5
-27
-1
0
0
1
0
0
0
0
-13
50
57
2
0
103
17
33
0
0
3
13
-4
0
0
9
1
0
0
0
0
0
0
0
0
23
-33
0
0
0
75
-21
0
0
0
10
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
0
0
0
0
0
39
-58
-9
0
0
126
34
18
0
0
16
6
-2
0
0
8
0
0
0
0
0
0
0
0
0
12
17
10
0
0
40
11
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
0
0
0
5
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
77
47
-1
0
0
66
22
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
17
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
12
22
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
42
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-48
-5
0
-57
113
-12
-21
0
-1
-85
37
0
0
51
-4
4
0
0
-5
0
0
0
0
-44
15
29
2
0
0
-12
40
-3
0
64
6
5
0
0
20
-3
0
0
0
-2
0
0
0
0
-48
-34
-7
0
0
45
39
8
0
0
-3
3
0
0
0
2
0
0
0
0
0
0
0
0
0
51
16
-1
0
0
78
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
-16
-70
90
-2
0
-93
136
70
-2
0
17
-7
3
0
0
35
1
0
0
0
0
0
0
0
0
114
2
12
0
0
29
-10
7
0
0
-9
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
31
-25
-1
0
0
40
11
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
-58
-10
0
0
-3
-16
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-1
0
0
6
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
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
18
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
172
57
0
0
-87
77
50
0
0
80
35
0
0
0
-3
0
0
0
0
0
0
0
0
0
86
-16
9
0
0
35
-8
3
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-8
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
-15
10
-1
0
0
-34
20
2
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
21
0
0
-49
-53
3
0
0
62
27
0
0
0
5
0
0
0
0
0
0
0
0
0
9
30
5
0
0
37
5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
2
0
0
0
34
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
28
19
-1
0
0
-21
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-7
0
0
0
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
18
3
0
0
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
2
-13
14
-24
22
-15
24
5
4
5
19
-47
0
-32
38
92
1
0
23
11
2
0
0
33
31
19
-97
-2
19
-8
-14
-32
0
7
-27
-108
-95
0
-37
8
35
-2
0
-12
19
1
0
0
64
-33
25
-11
0
-10
5
12
18
0
34
-19
-74
-10
0
69
56
-6
0
0
28
0
0
0
0
-33
28
-21
-14
0
-19
-83
-31
-7
0
41
-10
-1
0
0
13
31
0
0
0
0
0
0
0
0
40
-116
0
0
0
11
-59
0
0
0
-85
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
70
11
1
20
1
15
-29
8
8
3
5
-22
-35
44
0
40
0
5
0
0
39
-8
1
0
0
39
-31
-53
68
-1
-28
17
93
46
0
0
-31
60
-7
0
7
-28
9
0
0
53
6
0
0
0
6
10
103
-78
0
-18
-33
-48
-13
0
-26
33
-24
0
0
9
67
-3
0
0
13
0
0
0
0
-35
68
15
-4
0
-2
-110
-5
0
0
-18
25
-1
0
0
-42
1
0
0
0
0
0
0
0
0
17
-69
0
0
0
33
-25
0
0
0
-26
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
70
9
10
-15
0
-8
4
25
18
0
15
81
23
0
0
-70
100
-5
0
0
35
0
0
0
0
-11
-5
-38
60
0
-19
7
-36
18
0
4
65
1
0
0
71
-29
-7
0
0
4
0
0
0
0
1
-40
14
1
0
-42
12
-29
0
0
-32
26
10
0
0
-19
8
0
0
0
0
0
0
0
0
13
2
-14
0
0
-13
-91
-4
0
0
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
0
0
0
-59
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-36
48
0
0
31
-21
81
0
0
-79
-33
-11
0
0
69
-11
0
0
0
0
0
0
0
0
43
24
-27
0
0
78
-28
14
0
0
21
9
-10
0
0
22
-10
0
0
0
0
0
0
0
0
-92
-5
-18
0
0
-73
0
-20
0
0
-50
-11
0
0
0
-16
-1
0
0
0
0
0
0
0
0
-7
20
0
0
0
-12
-4
0
0
0
5
-1
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
-75
5
0
0
0
-95
-2
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-8
0
0
0
-80
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
1
0
0
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-4
6
0
-19
43
29
0
0
-8
-32
-18
4
0
-19
-60
94
0
0
40
-7
0
0
0
34
18
6
24
0
-16
-94
65
9
0
-1
18
137
2
0
-12
53
44
0
0
-12
-4
0
0
0
-34
27
-4
-2
0
19
64
30
1
0
-150
84
25
0
0
24
39
-1
0
0
-6
0
0
0
0
-20
73
26
0
0
70
86
33
0
0
-27
-15
0
0
0
13
0
0
0
0
0
0
0
0
0
17
-1
0
0
0
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-28
-23
94
0
-11
-11
70
50
0
-74
-19
33
3
0
3
-47
-11
0
0
-5
-2
0
0
0
-69
2
25
12
0
19
17
18
2
0
49
76
92
0
0
53
0
-11
0
0
-5
0
0
0
0
-13
50
15
0
0
-45
40
1
0
0
-23
14
-2
0
0
88
0
0
0
0
0
0
0
0
0
-10
67
14
0
0
41
2
2
0
0
11
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
56
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
96
-20
6
0
-51
-26
-77
0
0
-26
-48
-29
0
0
14
-22
0
0
0
0
0
0
0
0
-32
-70
51
0
0
72
-20
-37
0
0
48
-23
-22
0
0
56
-2
0
0
0
0
0
0
0
0
-11
-9
4
0
0
7
6
2
0
0
23
-22
0
0
0
1
-2
0
0
0
0
0
0
0
0
32
37
6
0
0
49
-4
0
0
0
34
-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
-39
-27
4
0
0
62
6
7
0
0
-56
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
46
-31
-6
0
0
73
-3
-6
0
0
-19
-13
0
0
0
-3
0
0
0
0
0
0
0
0
0
-22
-44
0
0
0
-25
-13
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-22
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-48
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
-19
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
2
60
-1
0
18
18
68
0
0
-44
-16
-3
0
0
23
4
0
0
0
0
0
0
0
0
-39
3
49
0
0
-94
62
22
0
0
-37
25
3
0
0
-1
1
0
0
0
0
0
0
0
0
6
-25
3
0
0
-82
44
0
0
0
30
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
34
1
0
0
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
-52
-71
14
0
0
-48
-42
5
0
0
-67
-9
0
0
0
-5
0
0
0
0
0
0
0
0
0
88
-10
4
0
0
58
27
0
0
0
-76
0
0
0
0
2
0
0
0
0
0
0
0
0
0
43
-2
0
0
0
-56
2
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
-34
-52
0
0
0
7
-24
0
0
0
12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-19
13
0
0
0
-33
6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
-49
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
0
0
0
0
0
0
0
0
0
8
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
3
37
9
27
-43
5
16
-1
-14
9
-13
-57
0
13
-10
-44
-3
0
31
8
0
0
0
29
-41
-27
40
0
-47
3
11
19
0
29
-2
-41
-21
0
-44
27
-21
0
0
-43
-6
0
0
0
-63
57
-44
9
0
-39
76
-41
5
0
-41
-75
-1
1
0
-44
25
-2
0
0
6
0
0
0
0
5
-21
18
0
0
137
-32
15
0
0
-58
2
6
0
0
32
-5
0
0
0
0
0
0
0
0
49
-1
0
0
0
-13
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-4
-43
-74
0
-55
30
74
-42
0
-12
20
22
1
0
6
-81
-12
0
0
18
-3
0
0
0
-46
-19
-16
2
0
9
66
-37
-5
0
31
76
55
0
0
-86
-135
3
0
0
-6
-4
0
0
0
-19
-80
31
-1
0
21
66
-58
0
0
82
-16
5
0
0
-14
-15
0
0
0
0
0
0
0
0
21
28
2
0
0
38
12
-1
0
0
20
64
0
0
0
8
-4
0
0
0
0
0
0
0
0
62
5
0
0
0
-4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-35
-5
-3
0
-6
-85
-10
-2
0
48
-65
-18
0
0
28
4
0
0
0
0
0
0
0
0
-44
62
40
0
0
42
-54
-16
0
0
21
-10
-7
0
0
43
-4
0
0
0
0
0
0
0
0
71
67
39
0
0
63
34
-3
0
0
-17
-17
0
0
0
-20
-1
0
0
0
0
0
0
0
0
-23
-21
0
0
0
5
-20
0
0
0
-16
-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
37
49
14
0
0
64
42
7
0
0
2
4
0
0
0
26
-1
0
0
0
0
0
0
0
0
11
50
-4
0
0
-1
4
0
0
0
-1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-27
-14
0
0
0
8
1
0
0
0
-20
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
-13
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
47
-1
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
58
20
0
-38
12
174
19
0
15
-54
13
0
0
17
-101
2
0
0
-10
0
0
0
0
-10
-45
-16
0
0
7
93
34
0
0
32
76
26
0
0
100
-15
1
0
0
-8
0
0
0
0
-58
-114
-45
0
0
49
-107
-14
0
0
7
37
0
0
0
-21
0
0
0
0
0
0
0
0
0
-86
-41
5
0
0
-25
-28
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
-43
-52
-106
-5
0
47
21
-2
0
0
-32
-83
34
0
0
32
-71
0
0
0
-6
0
0
0
0
62
-66
-65
0
0
-3
83
-84
0
0
42
-8
1
0
0
4
-23
0
0
0
-8
0
0
0
0
-80
41
-15
0
0
-108
20
-9
0
0
-44
-11
0
0
0
7
0
0
0
0
0
0
0
0
0
-36
-24
0
0
0
-49
-17
0
0
0
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
29
-48
0
0
14
-17
-18
0
0
5
17
0
0
0
26
-1
0
0
0
0
0
0
0
0
67
-59
-21
0
0
89
-56
-7
0
0
-7
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
50
14
5
0
0
-40
-15
0
0
0
-14
1
0
0
0
1
0
0
0
0
0
0
0
0
0
10
4
0
0
0
5
-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
44
-5
0
0
0
-5
-7
0
0
0
20
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-73
-7
0
0
0
-14
-2
0
0
0
-12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-37
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
0
0
0
0
0
0
0
0
0
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
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
-14
74
2
0
0
60
24
0
0
0
-63
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
74
30
2
0
0
-4
27
0
0
0
13
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
-9
-1
0
0
0
-4
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
-49
41
1
0
0
62
21
0
0
0
-11
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-30
4
0
0
0
48
8
0
0
0
25
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
-6
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
23
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
115
-16
0
-22
-43
-7
0
0
27
23
-44
0
0
85
-50
0
0
0
0
0
0
0
0
-52
-42
140
0
0
71
42
108
0
0
-85
-3
-5
0
0
127
-1
0
0
0
0
0
0
0
0
-2
-45
-87
0
0
-39
-14
0
0
0
-48
-42
0
0
0
6
0
0
0
0
0
0
0
0
0
49
21
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
32
9
89
0
0
-60
-49
-47
0
0
24
-4
-1
0
0
57
-3
0
0
0
0
0
0
0
0
-1
-39
48
0
0
27
18
-14
0
0
-53
4
0
0
0
61
0
0
0
0
0
0
0
0
0
3
60
-3
0
0
8
62
0
0
0
-29
-14
0
0
0
3
0
0
0
0
0
0
0
0
0
-22
1
0
0
0
-64
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
34
-24
1
0
0
89
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
-69
-23
1
0
0
-88
-13
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
0
61
0
0
0
0
-2
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-20
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
2
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
21
-35
-11
0
0
-18
-6
1
0
0
-39
-56
0
0
0
2
-7
0
0
0
0
0
0
0
0
47
9
3
0
0
-44
37
4
0
0
-32
0
0
0
0
25
0
0
0
0
0
0
0
0
0
-26
-44
0
0
0
-68
-19
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-20
-2
0
0
-13
-9
0
0
0
23
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-44
-52
0
0
0
-13
6
0
0
0
7
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-18
10
0
0
0
-35
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-5
52
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
7
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
-1
-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
-23
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
-45
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
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-14
-27
14
-15
17
-30
26
5
-2
0
12
-38
0
-31
35
89
1
0
24
10
2
0
0
52
43
24
-98
-2
18
-7
-2
-30
0
3
-40
-106
-90
0
-21
12
27
-2
0
-11
21
1
0
0
48
-50
19
-21
0
4
-9
5
11
0
27
-16
-69
-10
0
70
54
-9
0
0
30
0
0
0
0
-39
28
-17
-14
0
-10
-77
-28
-7
0
39
-11
-1
0
0
15
34
0
0
0
0
0
0
0
0
30
-117
0
0
0
7
-59
0
0
0
-87
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
68
11
-4
13
1
13
-15
-2
6
3
15
-17
-33
46
0
43
7
3
0
0
41
-11
1
0
0
18
-42
-45
66
-1
-25
18
97
43
0
-4
-43
66
-5
0
5
-26
7
0
0
51
6
0
0
0
-5
10
109
-83
0
-17
-27
-45
-14
0
-22
25
-21
0
0
3
63
-3
0
0
13
0
0
0
0
-30
75
16
-4
0
11
-105
-4
0
0
-15
21
-1
0
0
-40
1
0
0
0
0
0
0
0
0
12
-69
0
0
0
31
-26
0
0
0
-28
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
46
4
14
-12
0
-9
5
31
20
0
6
66
21
0
0
-74
93
-5
0
0
34
0
0
0
0
-1
-1
-30
60
0
-27
4
-34
19
0
-10
54
-1
0
0
65
-36
-7
0
0
4
0
0
0
0
8
-25
18
1
0
-43
19
-33
0
0
-31
29
9
0
0
-24
6
0
0
0
0
0
0
0
0
2
9
-15
0
0
-20
-88
-4
0
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
0
0
0
-61
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-43
50
0
0
15
-27
82
0
0
-72
-40
-12
0
0
72
-11
0
0
0
0
0
0
0
0
29
8
-29
0
0
62
-39
14
0
0
21
4
-10
0
0
23
-10
0
0
0
0
0
0
0
0
-94
-6
-18
0
0
-70
-1
-20
0
0
-42
-13
0
0
0
-16
-1
0
0
0
0
0
0
0
0
-3
24
0
0
0
-9
-4
0
0
0
5
-1
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
-77
8
0
0
0
-95
-2
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-5
0
0
0
-81
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
1
0
0
0
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-21
8
0
-13
48
22
5
0
9
-19
-16
10
0
-12
-61
91
0
0
43
-7
0
0
0
14
-4
-11
24
0
-39
-102
58
11
0
-4
13
134
2
0
-11
50
41
0
0
-12
-4
0
0
0
-36
16
-4
-1
0
35
54
28
1
0
-133
84
26
0
0
20
35
-1
0
0
-6
0
0
0
0
-13
70
26
0
0
77
84
33
0
0
-26
-15
0
0
0
13
0
0
0
0
0
0
0
0
0
19
-1
0
0
0
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-28
96
0
1
-1
65
51
0
-59
-11
31
3
0
8
-47
-11
0
0
-5
-2
0
0
0
-78
3
18
12
0
24
13
11
2
0
47
71
88
0
0
50
-1
-11
0
0
-5
0
0
0
0
-16
42
17
0
0
-27
32
-1
0
0
-4
14
-2
0
0
84
-1
0
0
0
0
0
0
0
0
-2
70
14
0
0
44
0
2
0
0
13
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
58
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
88
-16
6
0
-53
-29
-75
0
0
-31
-54
-32
0
0
20
-25
0
0
0
0
0
0
0
0
-30
-72
54
0
0
63
-23
-36
0
0
40
-31
-22
0
0
52
-2
0
0
0
0
0
0
0
0
-13
-14
4
0
0
1
2
2
0
0
33
-25
0
0
0
1
-2
0
0
0
0
0
0
0
0
39
39
6
0
0
52
-4
0
0
0
37
-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
-45
-36
3
0
0
54
-1
7
0
0
-54
-11
0
0
0
-2
0
0
0
0
0
0
0
0
0
37
-41
-6
0
0
62
-12
-6
0
0
-20
-15
0
0
0
-3
0
0
0
0
0
0
0
0
0
-21
-47
0
0
0
-27
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-22
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-48
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
-19
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
2
59
-1
0
16
19
68
0
0
-32
-16
-3
0
0
27
4
0
0
0
0
0
0
0
0
-40
6
48
0
0
-94
65
22
0
0
-31
27
3
0
0
-1
1
0
0
0
0
0
0
0
0
11
-26
3
0
0
-74
46
0
0
0
35
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
37
1
0
0
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
-43
-61
14
0
0
-42
-40
5
0
0
-54
-7
0
0
0
-5
0
0
0
0
0
0
0
0
0
94
-4
4
0
0
60
30
0
0
0
-71
0
0
0
0
2
0
0
0
0
0
0
0
0
0
44
-2
0
0
0
-52
3
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
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
-29
-52
0
0
0
10
-24
0
0
0
13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-23
13
0
0
0
-34
6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
0
0
-49
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
0
0
0
0
0
0
0
0
0
11
5
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-6
37
9
20
-66
10
22
-1
-28
2
-17
-50
0
3
-11
-43
-3
0
33
8
0
0
0
27
-43
-31
41
0
-48
9
14
24
0
24
-7
-43
-21
0
-47
30
-22
0
0
-43
-6
0
0
0
-51
45
-44
10
0
-18
72
-43
5
0
-38
-80
-1
1
0
-42
26
-2
0
0
6
0
0
0
0
4
-26
20
0
0
132
-35
15
0
0
-60
1
6
0
0
36
-5
0
0
0
0
0
0
0
0
46
-1
0
0
0
-19
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-50
-77
0
-32
28
63
-46
0
-20
27
18
1
0
7
-77
-12
0
0
17
-3
0
0
0
-71
-14
-10
-1
0
8
73
-39
-6
0
20
75
53
0
0
-87
-134
3
0
0
-6
-4
0
0
0
-4
-81
36
-1
0
29
63
-55
0
0
82
-25
5
0
0
-12
-14
0
0
0
0
0
0
0
0
24
28
2
0
0
35
9
-1
0
0
22
62
0
0
0
10
-4
0
0
0
0
0
0
0
0
59
5
0
0
0
-7
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
7
-3
0
-8
-66
-6
-2
0
42
-68
-18
0
0
28
3
0
0
0
0
0
0
0
0
-39
73
44
0
0
38
-46
-15
0
0
16
-13
-7
0
0
43
-4
0
0
0
0
0
0
0
0
55
61
40
0
0
51
30
-3
0
0
-19
-21
0
0
0
-22
-1
0
0
0
0
0
0
0
0
-37
-21
0
0
0
-8
-21
0
0
0
-21
-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
12
52
14
0
0
47
43
7
0
0
-1
0
0
0
0
26
-1
0
0
0
0
0
0
0
0
-2
47
-3
0
0
-8
-1
0
0
0
-2
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-31
-17
0
0
0
5
-2
0
0
0
-19
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
-14
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
-1
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
6
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
-1
-20
50
19
0
-27
10
165
19
0
29
-46
12
0
0
17
-100
2
0
0
-10
0
0
0
0
-26
-48
-19
0
0
-7
86
28
0
0
30
76
25
0
0
99
-16
1
0
0
-8
0
0
0
0
-29
-110
-45
0
0
67
-106
-16
0
0
15
37
0
0
0
-23
0
0
0
0
0
0
0
0
0
-85
-43
5
0
0
-21
-30
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
-44
-45
-103
-5
0
58
26
2
0
0
-21
-76
37
0
0
29
-74
0
0
0
-6
0
0
0
0
54
-59
-63
0
0
-12
83
-87
0
0
39
-9
1
0
0
1
-23
0
0
0
-8
0
0
0
0
-62
44
-16
0
0
-97
21
-9
0
0
-37
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
-34
-26
0
0
0
-48
-20
0
0
0
6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
23
-44
0
0
13
-18
-17
0
0
1
19
0
0
0
26
-1
0
0
0
0
0
0
0
0
65
-65
-21
0
0
82
-60
-7
0
0
-13
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
48
12
5
0
0
-47
-18
0
0
0
-14
1
0
0
0
1
0
0
0
0
0
0
0
0
0
11
4
0
0
0
3
-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
36
-10
0
0
0
-11
-11
0
0
0
22
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-80
-11
0
0
0
-19
-6
0
0
0
-13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-38
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
0
0
0
0
0
0
0
0
0
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
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
-16
73
2
0
0
63
23
0
0
0
-60
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
75
30
2
0
0
-9
28
0
0
0
14
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-8
-1
0
0
0
-4
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
-46
42
1
0
0
71
22
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-31
5
0
0
0
48
8
0
0
0
25
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
-6
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
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
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
23
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
42
112
-16
0
-28
-38
-12
0
0
37
16
-43
0
0
82
-51
0
0
0
0
0
0
0
0
-72
-42
138
0
0
71
44
108
0
0
-76
-4
-5
0
0
123
-1
0
0
0
0
0
0
0
0
1
-51
-88
0
0
-32
-18
0
0
0
-46
-40
0
0
0
6
0
0
0
0
0
0
0
0
0
44
21
0
0
0
12
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
0
0
0
0
0
0
30
15
85
0
0
-63
-49
-50
0
0
36
-6
-1
0
0
53
-3
0
0
0
0
0
0
0
0
-2
-33
46
0
0
34
24
-14
0
0
-51
5
0
0
0
58
0
0
0
0
0
0
0
0
0
11
57
-3
0
0
17
62
0
0
0
-28
-15
0
0
0
3
0
0
0
0
0
0
0
0
0
-24
1
0
0
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
29
-5
11
0
0
30
-23
1
0
0
81
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
-58
-20
1
0
0
-87
-12
0
0
0
-15
0
0
0
0
2
0
0
0
0
0
0
0
0
0
65
0
0
0
0
-1
-7
0
0
0
38
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
-13
-15
0
0
0
-23
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
2
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
26
-38
-12
0
0
-10
-3
0
0
0
-35
-57
0
0
0
1
-7
0
0
0
0
0
0
0
0
52
10
3
0
0
-38
34
4
0
0
-25
1
0
0
0
25
0
0
0
0
0
0
0
0
0
-21
-46
0
0
0
-64
-21
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-17
-2
0
0
-14
-9
0
0
0
26
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-36
-50
0
0
0
-8
7
0
0
0
10
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-15
10
0
0
0
-31
3
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
0
0
0
-1
13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
-1
-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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-31
8
28
-15
31
31
3
9
84
-53
14
0
59
5
-30
-4
0
14
-6
0
0
0
61
29
-18
44
-1
-4
16
31
43
0
-25
7
-4
12
0
9
-7
-27
-2
0
-3
-5
0
0
0
-29
-113
-60
-74
0
4
-12
-71
-39
0
-37
-14
-18
-1
0
-23
12
-9
0
0
0
0
0
0
0
-47
-21
29
-8
0
15
-57
13
-2
0
5
-3
2
0
0
32
8
0
0
0
0
0
0
0
0
-15
-58
0
0
0
35
-11
0
0
0
-24
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
51
4
-7
-57
2
9
-26
23
2
0
45
1
-11
6
0
75
53
0
0
0
27
-7
0
0
0
-12
29
3
-8
0
-26
37
66
6
0
-47
-2
15
-1
0
-34
-14
-8
0
0
13
-4
0
0
0
-3
-20
18
-28
0
-5
36
-19
1
0
33
-10
-1
0
0
-31
-13
-3
0
0
6
0
0
0
0
-27
41
31
-6
0
15
-49
7
0
0
31
25
1
0
0
10
-2
0
0
0
0
0
0
0
0
4
-20
0
0
0
39
4
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-45
32
-1
0
4
-6
64
19
0
-27
-65
13
0
0
-67
-6
-4
0
0
6
0
0
0
0
26
-9
10
15
0
-54
-15
1
9
0
-21
-66
-26
0
0
-55
-42
-2
0
0
1
0
0
0
0
-33
87
27
0
0
-25
35
-11
0
0
35
17
6
0
0
-37
1
0
0
0
0
0
0
0
0
-74
49
6
0
0
-59
-11
2
0
0
35
3
0
0
0
2
0
0
0
0
0
0
0
0
0
-17
2
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-56
39
0
0
-87
-30
38
0
0
39
-40
-13
0
0
59
-8
0
0
0
0
0
0
0
0
-5
-61
3
0
0
-52
-27
6
0
0
35
-52
-8
0
0
11
-8
0
0
0
0
0
0
0
0
4
-15
-2
0
0
-19
-16
-5
0
0
35
-15
0
0
0
-4
-1
0
0
0
0
0
0
0
0
4
17
0
0
0
6
-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
-28
9
0
0
0
-17
4
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
0
0
0
-33
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
0
0
0
-39
0
0
0
0
2
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
0
0
0
0
0
0
0
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
-36
-51
0
-1
-16
46
12
0
-7
-13
21
6
0
39
-36
18
0
0
-6
-3
0
0
0
63
-27
-24
-12
0
-12
-59
5
13
0
-38
-5
52
4
0
27
-27
0
0
0
-4
-2
0
0
0
18
-10
19
-3
0
23
-1
21
0
0
-17
-14
0
0
0
-15
4
0
0
0
-3
0
0
0
0
38
79
20
0
0
27
43
6
0
0
-13
-5
0
0
0
7
0
0
0
0
0
0
0
0
0
31
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
88
-42
-6
0
64
-21
-10
21
0
-6
-14
6
0
0
25
-35
-4
0
0
-5
-1
0
0
0
-71
-11
-22
-6
0
38
-9
-4
-1
0
13
10
11
0
0
32
-9
-4
0
0
-5
0
0
0
0
-71
16
19
0
0
-18
-1
-5
0
0
18
3
-1
0
0
24
1
0
0
0
0
0
0
0
0
63
77
4
0
0
33
18
1
0
0
5
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
51
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
-36
-5
-3
0
-18
5
14
0
0
-22
-39
-2
0
0
30
-5
0
0
0
0
0
0
0
0
-1
-84
4
0
0
59
-30
-2
0
0
42
-58
-10
0
0
10
0
0
0
0
0
0
0
0
0
-81
-5
-6
0
0
-30
-11
7
0
0
79
-8
0
0
0
8
1
0
0
0
0
0
0
0
0
26
49
0
0
0
24
9
0
0
0
21
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
-60
-29
4
0
0
-30
1
5
0
0
-31
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-34
-3
0
0
-14
-8
-2
0
0
-10
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-14
0
0
0
-19
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-16
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
18
0
0
53
17
12
0
0
74
1
0
0
0
8
2
0
0
0
0
0
0
0
0
22
-16
15
0
0
-30
56
2
0
0
31
8
2
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
1
0
0
-14
21
0
0
0
56
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
20
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-18
-28
2
0
0
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-9
5
0
0
-44
8
0
0
0
-24
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-44
-1
0
0
0
23
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
31
-12
0
0
0
18
-8
0
0
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-46
4
0
0
0
-33
6
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-9
3
13
-4
36
-1
0
49
26
-47
-6
0
4
4
-11
0
0
-14
-6
0
0
0
-15
14
-58
0
0
-35
17
-53
8
0
-52
-39
-39
-5
0
8
11
6
0
0
-5
-3
0
0
0
18
7
-23
-2
0
65
27
-6
-1
0
72
-17
5
0
0
-16
-2
-2
0
0
0
0
0
0
0
12
-36
19
0
0
-26
-35
12
0
0
-15
-8
1
0
0
11
-4
0
0
0
0
0
0
0
0
25
-1
0
0
0
14
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-29
-62
-42
0
-17
-21
-25
-20
0
38
4
-35
0
0
24
-49
-4
0
0
-3
-4
0
0
0
-52
51
0
-26
0
-26
53
-33
-8
0
-16
-3
-19
0
0
-4
-53
5
0
0
-7
-4
0
0
0
20
11
28
-1
0
32
34
16
0
0
31
-15
0
0
0
13
-8
0
0
0
0
0
0
0
0
54
24
2
0
0
-10
3
4
0
0
17
14
0
0
0
6
-1
0
0
0
0
0
0
0
0
56
6
0
0
0
16
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
73
50
1
0
31
34
48
1
0
30
19
23
0
0
46
6
0
0
0
0
0
0
0
0
43
-5
-35
0
0
-31
-11
-36
0
0
-6
-23
-2
0
0
32
-5
0
0
0
0
0
0
0
0
-37
-9
7
0
0
2
-7
-1
0
0
7
-30
0
0
0
1
-3
0
0
0
0
0
0
0
0
-97
-32
0
0
0
-55
-26
0
0
0
3
-2
0
0
0
1
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
-73
14
9
0
0
-46
-25
3
0
0
-13
-13
0
0
0
16
-1
0
0
0
0
0
0
0
0
5
33
0
0
0
-3
24
0
0
0
-23
-11
0
0
0
1
0
0
0
0
0
0
0
0
0
5
-31
0
0
0
19
-17
0
0
0
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-23
2
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
35
0
0
0
0
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-2
0
38
2
26
1
0
-59
-22
20
0
0
9
-57
0
0
0
-12
0
0
0
0
-20
-58
-23
-1
0
-17
-15
-19
0
0
-78
22
9
0
0
6
-26
0
0
0
-6
0
0
0
0
60
27
-21
0
0
29
38
-11
0
0
64
45
0
0
0
2
0
0
0
0
0
0
0
0
0
-33
-22
0
0
0
-24
-5
0
0
0
-14
0
0
0
0
-1
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
-22
-49
-44
0
0
77
41
14
0
0
50
18
39
0
0
26
-41
0
0
0
-5
0
0
0
0
-9
-1
-15
0
0
17
34
-15
0
0
-4
3
1
0
0
5
-16
0
0
0
-2
0
0
0
0
29
80
-11
0
0
-9
50
-10
0
0
41
19
0
0
0
8
0
0
0
0
0
0
0
0
0
-21
-2
0
0
0
-37
-2
0
0
0
-11
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
-5
-37
-20
0
0
-21
-64
-4
0
0
20
15
0
0
0
29
-1
0
0
0
0
0
0
0
0
26
-65
-23
0
0
21
-53
-6
0
0
-20
-16
0
0
0
7
0
0
0
0
0
0
0
0
0
15
9
0
0
0
-37
-9
0
0
0
32
0
0
0
0
2
0
0
0
0
0
0
0
0
0
9
-1
0
0
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
-19
-13
0
0
0
-29
-19
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
4
0
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
18
3
0
0
0
-17
0
0
0
0
1
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
2
0
0
-2
-5
0
0
0
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
0
0
-32
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
2
0
0
61
-4
0
0
0
15
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-46
3
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
-9
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
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
-1
0
0
0
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
-44
-2
0
-29
-1
-7
0
0
-4
-73
-3
0
0
7
-10
0
0
0
0
0
0
0
0
-101
-22
-14
0
0
-98
-7
-4
0
0
-47
-21
-1
0
0
7
-2
0
0
0
0
0
0
0
0
77
-4
-21
0
0
-38
5
0
0
0
-51
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
7
-11
0
0
0
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
43
-27
0
0
22
6
-1
0
0
40
-38
-1
0
0
21
-1
0
0
0
0
0
0
0
0
22
48
4
0
0
23
0
-3
0
0
-32
-18
0
0
0
18
0
0
0
0
0
0
0
0
0
95
18
-1
0
0
10
15
0
0
0
-22
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
10
-10
0
0
0
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
54
-2
0
0
28
31
1
0
0
30
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
38
22
2
0
0
-14
8
0
0
0
-10
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
35
-2
0
0
0
-29
-5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
5
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-11
0
0
-22
28
5
0
0
6
-18
0
0
0
-2
-3
0
0
0
0
0
0
0
0
17
-18
2
0
0
7
6
1
0
0
2
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
25
-12
0
0
0
-2
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
12
0
0
0
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-20
0
0
0
45
-4
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
45
9
0
0
0
19
4
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
-1
41
0
0
0
3
14
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
0
0
0
12
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-85
-6
-4
-9
-19
-3
-6
-18
-14
24
-112
-41
2
0
2
-1
-30
-23
-104
-57
56
-65
-11
0
-25
-40
-17
-22
-38
23
-29
-11
0
-28
-69
1
53
-11
-40
9
6
0
10
-46
-16
-3
50
0
-7
-5
0
0
-1
9
-17
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
-44
-1
-1
-25
0
0
0
0
0
-58
-7
-35
-23
-26
-2
-1
0
0
-59
-9
-13
-28
11
4
0
0
0
-37
-30
28
-66
-33
-17
0
0
0
31
1
-45
-63
-11
20
0
0
0
0
1
-16
-50
16
2
0
0
0
0
0
-1
1
-18
0
0
0
0
0
0
0
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
6
-2
97
0
32
11
-1
7
15
-2
-1
5
-67
-16
-75
-61
-9
57
-12
-7
-15
-65
-12
16
28
0
-48
6
29
5
43
-51
-41
-42
-6
-106
-30
101
61
64
-1
-7
6
0
0
-31
-3
38
8
-4
0
-1
0
0
0
1
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
-25
10
-9
-93
6
0
0
0
0
13
4
-29
-55
10
-4
0
0
0
31
-28
-9
-52
14
-2
3
0
0
-8
-53
-2
36
-33
-7
1
0
0
-2
26
35
71
-15
-11
0
0
0
0
0
-14
4
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
35
11
9
2
-13
16
-26
2
62
22
-13
10
-34
-24
-5
-12
-84
102
14
-9
-8
16
1
15
-44
-12
-8
44
40
5
8
25
-4
-16
-3
-40
-1
49
-19
8
-11
-14
0
8
0
0
-6
61
-5
0
8
-4
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
-19
27
-29
57
5
2
0
0
0
-19
45
-19
38
-7
-6
-2
2
0
37
61
45
65
-25
23
-4
-3
0
3
-21
36
90
1
-1
-2
0
0
0
4
27
12
8
-1
0
0
0
0
0
-1
7
-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
14
24
-28
6
-2
-3
-7
4
7
43
48
-27
12
-8
3
-16
20
-8
61
-16
37
19
-7
24
11
9
-4
47
-13
32
-6
37
1
11
3
0
0
-12
20
28
16
5
-1
-2
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
100
45
3
34
0
0
0
0
0
33
-20
61
48
-4
1
0
-1
0
5
133
19
17
-3
-1
0
0
0
2
10
2
24
-5
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
115
16
-10
22
-1
0
0
0
1
-5
-9
4
15
2
1
0
0
0
19
130
-29
28
0
0
0
-2
0
0
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
-56
100
24
0
0
0
0
0
0
71
13
-40
9
0
0
0
0
0
2
29
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
4
32
11
-1
0
0
0
0
0
52
-23
1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
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
-3
2
0
0
0
0
0
0
0
9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
49
-29
-8
11
-27
-13
5
-4
-6
-13
-40
-2
-69
-18
-9
47
2
6
36
1
-38
-2
-67
-5
-64
-10
27
22
-30
5
-41
8
3
17
-38
-13
29
4
22
-2
-5
0
-2
17
-40
-24
-6
-3
0
0
0
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
-65
8
-67
-16
4
0
0
0
0
25
25
-15
-33
-1
0
0
0
0
-10
24
-48
7
20
-1
0
0
0
120
193
-56
-53
23
0
0
0
0
0
3
-42
67
-7
-5
0
0
0
0
1
-23
12
-9
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
29
42
-40
4
-59
-5
-21
60
23
57
46
-18
23
-73
9
16
30
87
16
14
55
6
-51
-35
17
-58
-39
7
40
26
23
-15
-12
3
-26
-29
-33
107
39
12
-37
-18
-2
18
0
0
-2
-19
45
17
6
-1
-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
20
75
-20
-6
2
0
0
0
0
55
73
20
-28
-15
-1
0
0
0
164
-63
22
72
16
-7
0
2
0
-3
-84
109
-11
6
3
-1
0
0
0
8
-4
23
7
-1
0
0
0
0
0
1
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
52
53
40
-104
1
-17
-23
82
50
30
47
25
35
23
-52
79
4
-36
82
42
-16
14
32
1
-42
17
45
-9
114
1
2
-28
-4
18
0
-9
-1
-1
38
14
0
-6
2
-5
-4
0
0
4
20
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
-9
114
-34
73
0
-3
0
-1
0
98
74
6
-10
-9
2
0
-1
0
-7
-20
10
18
9
-2
-1
0
0
-1
10
21
26
-3
2
-1
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
84
-20
-20
21
-20
-21
-18
-6
65
29
-6
-17
-13
9
45
7
59
-33
1
82
11
26
-3
-19
-27
-3
3
-54
91
15
0
3
-2
0
0
0
1
-3
-2
2
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
51
129
60
13
0
0
0
0
0
48
147
-45
4
1
0
0
3
0
-11
-54
11
-5
-1
-1
0
0
0
0
6
-3
-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
-45
42
-34
6
0
2
1
2
-1
47
-48
99
20
-1
-1
1
-2
-1
-9
-42
-4
6
0
-1
1
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
0
0
0
0
0
0
0
0
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
58
26
0
0
0
0
0
0
27
-12
-4
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
0
0
0
0
0
0
13
-7
8
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
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-18
-8
-10
-5
6
4
9
-26
-30
51
-12
24
-5
8
3
35
-44
-33
46
4
-18
26
10
0
-63
-121
74
124
23
1
0
-1
-1
-1
43
2
-27
-1
1
0
0
0
0
-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
-34
-3
-80
-11
-3
0
0
0
0
-47
-22
-91
6
10
3
-1
0
0
-60
20
-48
19
-20
0
0
0
0
111
-57
-7
-83
0
0
0
0
0
-8
24
-6
-71
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
0
0
0
0
0
0
0
0
0
-3
-14
47
-36
16
18
-1
-10
1
8
-10
85
91
73
6
-15
-11
3
27
31
56
-20
5
17
40
-13
-3
-37
75
36
39
-16
-10
-3
-3
1
4
-67
27
57
-14
-3
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
12
3
7
-6
2
0
0
0
0
-39
42
8
9
-13
2
-1
0
0
20
90
43
-7
35
1
0
0
0
33
57
28
-2
-11
1
0
0
0
0
-16
42
-25
-18
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
50
35
74
-24
-7
9
6
8
-1
-39
24
42
85
4
14
-14
18
4
24
56
64
-25
32
-14
-11
27
-1
50
17
-13
11
41
-4
1
0
0
0
-4
-1
-6
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
0
0
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
57
56
0
0
3
0
0
112
67
-5
-1
-4
0
0
0
0
11
29
73
67
9
1
0
0
0
2
7
33
16
3
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
77
-17
87
18
0
1
-2
-5
1
24
55
117
10
0
1
8
-18
0
38
11
49
5
0
-1
-1
0
0
2
-5
14
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
90
78
5
2
0
0
0
0
0
101
120
51
9
-2
-1
0
0
0
10
31
5
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-97
23
0
0
0
0
0
0
63
33
9
0
0
0
0
0
0
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
-15
48
0
0
0
0
0
0
0
28
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-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
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
38
19
-2
7
9
59
22
3
-40
-15
-8
15
-15
-6
33
-9
83
17
-5
21
1
15
4
-4
65
-48
-13
0
4
1
0
0
6
-21
-6
32
0
1
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
38
-21
-11
0
-1
0
0
0
0
-4
27
-44
45
1
0
0
0
0
-42
20
65
25
-3
0
0
0
0
44
80
89
-19
-2
0
0
0
0
0
3
52
4
-1
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
56
45
80
32
17
-65
-10
0
8
84
73
62
-14
-37
-44
57
24
-11
42
40
51
20
-32
33
14
-58
0
-33
96
147
11
-21
1
1
3
0
1
22
16
6
3
-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
101
113
-83
21
-4
0
0
0
0
140
27
-30
4
-8
1
0
2
0
71
88
59
8
10
-3
0
-1
0
2
22
9
-12
-2
-3
0
0
0
0
0
6
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
92
43
25
55
18
6
-3
-23
-10
110
119
33
5
-4
-7
-24
-1
-4
23
173
41
-12
9
-3
-1
37
-3
0
19
22
3
3
2
0
0
4
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
86
138
74
-3
0
0
0
0
0
63
116
3
-3
0
0
0
1
0
146
-71
97
14
1
0
0
0
0
0
5
5
3
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
-35
11
-15
4
2
2
-2
11
1
36
71
24
8
9
10
1
-6
2
24
66
-15
3
0
1
-4
2
2
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
40
53
50
0
0
0
0
0
0
61
63
12
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
112
25
0
0
0
0
-2
0
-10
31
-4
-2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-2
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
40
-47
-3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
5
0
0
-13
-14
0
56
3
-4
-5
0
0
7
-1
0
16
49
22
-3
0
0
0
-1
0
-52
-10
-38
-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
-17
26
-54
-6
0
0
0
0
0
2
-14
8
-42
-2
0
0
0
0
35
-68
43
1
0
-1
0
0
0
9
29
0
0
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
56
-17
43
6
0
-3
1
-1
-8
128
-25
54
-29
0
-6
8
7
0
122
-50
101
16
1
-2
-3
-1
0
34
-7
24
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
72
-6
0
0
0
0
0
178
41
14
-11
1
0
0
0
0
36
4
63
20
-2
0
0
0
0
0
59
34
-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
94
52
-15
2
0
-9
-1
4
-4
174
-56
39
1
0
1
2
4
0
6
105
10
0
0
0
-3
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
130
74
46
0
0
0
0
0
0
56
27
-7
2
0
0
0
0
0
-1
77
16
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
53
-27
20
0
0
0
0
-1
0
25
52
-10
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
220
-41
0
0
0
0
0
0
-6
-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
0
35
15
0
0
0
0
0
0
0
-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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
-28
0
0
-1
-6
6
98
-73
75
-9
-2
0
-6
2
-1
98
-52
-45
-2
0
0
0
3
0
22
33
-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
35
35
-32
3
0
0
0
0
0
-35
103
82
3
0
0
0
0
0
86
32
17
9
-3
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
75
60
64
12
-1
0
-5
-2
-13
49
22
41
-20
-4
2
8
4
0
-15
22
-25
-5
0
0
0
3
0
2
-37
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
50
73
63
-1
0
0
0
0
0
-39
201
39
-5
-1
0
0
0
0
26
67
-34
2
0
0
0
0
0
0
3
-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
22
11
71
5
0
0
-2
-11
2
89
30
-51
2
0
0
0
5
0
1
-6
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
126
15
-1
0
0
0
0
0
66
-68
17
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
1
43
5
0
0
0
0
-3
0
27
-31
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
11
31
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
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
10
0
0
0
0
0
0
-72
56
-6
0
0
0
0
0
0
-5
24
-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
67
-6
-43
0
0
0
0
0
0
7
46
-6
-2
0
0
0
0
0
7
55
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
24
14
5
0
0
0
0
5
0
-64
-69
1
0
0
0
0
0
0
-6
-73
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
25
56
11
-2
0
0
0
0
0
75
58
-9
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
18
87
0
0
0
0
0
0
0
6
27
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
50
102
0
0
0
0
0
0
0
-2
20
-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
-13
15
1
0
0
0
0
0
0
-12
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
7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-6
0
0
0
0
0
0
40
-65
3
0
0
0
0
0
0
7
-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
-1
135
3
0
0
0
0
0
0
-26
35
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
40
3
0
0
0
0
0
0
74
-32
7
0
0
0
0
2
0
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
23
39
0
0
0
0
0
0
0
-13
50
6
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
72
46
0
0
0
0
0
0
0
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
-33
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
64
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-150
-18
-11
-13
0
-21
-3
-10
-40
-96
-17
-86
-115
-21
11
1
-14
-25
-53
-41
-132
-6
-112
-96
8
-44
-6
-19
-74
-93
-67
-78
-156
-54
8
-7
4
11
-13
-186
-17
62
-4
44
-34
37
69
-49
-68
-4
-23
-1
0
-33
-88
-4
-8
84
-8
-7
0
0
0
1
5
10
-13
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
23
-27
-160
-29
0
0
0
0
0
3
-24
-97
-33
-82
-7
-3
0
0
7
-21
-67
-62
-8
-52
-9
0
0
54
37
-4
-53
-65
21
-8
0
0
-1
-42
16
-36
-75
31
-7
4
0
-24
98
33
-9
-51
29
-16
-4
0
0
0
61
34
-49
-35
-6
0
0
0
0
0
1
65
-21
8
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
-95
-86
37
-24
9
-9
-6
5
-22
-35
-72
-49
-65
-19
-148
-125
-6
-3
2
-3
-93
-63
16
-16
-47
20
13
4
10
-34
-1
-85
-50
-53
23
6
-16
0
10
26
-9
25
2
34
43
44
-7
44
71
-148
12
7
-2
11
38
-20
-27
36
-11
4
0
0
0
1
34
-3
-16
-3
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
24
11
-121
-58
3
0
0
-1
0
37
18
-48
-16
-200
-27
17
-2
-7
23
22
12
-30
-66
-67
-90
-32
9
40
57
10
-19
-20
36
-26
31
4
75
67
18
18
-30
-68
-21
9
0
9
14
87
-19
14
35
9
-3
0
0
0
64
103
-39
-15
17
3
0
0
0
-5
18
-35
58
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
37
11
-21
-75
-56
99
-40
24
-53
28
12
7
13
-63
40
-24
-50
-132
27
21
11
-20
-25
-13
-50
-106
-42
55
49
37
33
-46
26
-16
-108
-70
2
46
61
73
69
68
82
-49
16
-2
17
-29
44
-51
-20
109
-15
2
0
0
7
92
-6
-38
8
-1
0
0
0
0
6
-5
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
-65
39
-39
2
2
-3
-7
36
22
-2
7
-2
-37
-17
25
6
65
35
36
27
-17
39
-5
-43
7
-1
56
57
59
-2
-25
59
-8
0
2
134
28
63
37
13
51
0
0
4
-4
2
77
12
55
1
0
0
0
0
-19
5
39
13
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
22
-1
30
0
54
-72
-34
3
8
30
23
-1
49
-66
-101
29
-20
-31
24
22
42
43
26
-17
2
-35
15
46
85
71
74
-13
-33
77
2
0
92
81
8
-6
59
33
-19
-51
-3
1
21
21
3
5
46
-11
7
1
0
0
0
6
61
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
39
-16
19
29
5
-4
-2
0
35
37
33
21
-36
-112
17
-15
0
108
91
18
13
-4
35
-62
0
0
17
67
-2
90
35
-17
-10
1
0
-6
75
69
-72
107
46
3
0
0
0
0
0
82
-47
-4
2
0
0
0
0
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
14
-4
14
169
-3
15
-5
-1
6
18
27
51
56
76
42
-28
-23
-4
-5
86
83
100
59
23
29
-83
0
-94
25
-17
59
53
45
-35
10
0
-23
5
51
25
-17
17
4
3
0
0
0
7
1
-14
-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
-3
46
12
48
28
3
0
-15
0
58
86
37
13
47
22
0
-4
0
-54
74
88
13
-12
62
0
0
0
71
78
23
4
-137
-14
10
0
0
0
3
7
-24
-33
-6
2
0
0
0
0
-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
5
53
92
-8
0
0
0
0
0
0
14
64
76
-3
0
-1
0
0
-54
83
33
-15
35
0
-5
8
0
-2
33
76
29
27
-3
-12
0
0
0
-14
10
17
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
83
68
2
-26
0
0
0
0
0
119
84
-28
0
59
0
0
0
0
-21
58
34
-34
-17
5
0
0
0
0
22
3
6
26
1
0
0
0
0
0
1
5
-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
-87
101
-20
6
0
0
0
0
0
26
45
-52
-10
-8
2
0
0
0
-107
31
-12
5
29
-1
0
0
0
0
37
-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
17
73
-9
0
0
0
0
0
0
54
68
-18
-11
1
0
0
0
0
1
52
-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
3
-2
4
0
0
0
0
0
0
43
26
-32
2
0
0
0
0
0
15
27
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
6
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
4
-1
-29
25
-42
-44
-17
-37
-106
-104
-18
25
-44
-76
3
-5
-8
-34
-34
-60
-40
28
-154
-73
7
20
-17
5
-69
-73
-132
-67
-8
-18
43
-11
49
-48
-58
-84
34
9
-14
2
10
14
-24
-2
2
-9
0
0
-9
-24
5
-8
32
10
1
0
0
0
0
-21
2
3
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-101
-103
-14
11
0
0
0
0
22
3
-41
-25
-48
-1
0
0
0
-20
16
-29
-102
-40
27
2
0
0
30
11
-16
-65
-33
-60
-1
-5
0
96
-93
-57
14
51
-15
6
1
0
10
10
-67
-7
-17
-12
8
-1
0
0
0
0
28
23
-11
-1
0
0
0
0
0
3
60
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-15
-99
34
-142
6
-122
100
38
20
5
-22
-15
-34
-61
-58
-66
22
18
23
9
41
-29
6
30
-98
-119
-18
65
2
28
-1
43
16
-27
-78
-38
63
-10
15
-21
-57
65
31
9
-22
-26
22
46
141
19
7
52
-24
0
-6
105
4
3
3
19
-2
0
0
0
1
16
-11
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-46
-46
15
-1
0
0
0
31
54
-11
-41
70
-74
-15
-3
-3
20
40
-2
8
67
-66
-17
9
-2
51
109
25
-12
-58
12
-6
7
0
-22
224
22
-56
-25
-9
8
-2
1
1
3
-33
130
13
7
-6
9
0
0
0
-1
-32
17
-8
0
0
0
0
0
0
-3
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
14
-24
-29
54
-1
-123
-22
-13
26
14
-16
17
-46
-71
-21
-40
-51
22
37
18
66
-27
-5
0
-67
-76
-11
74
91
71
10
-49
-21
-10
51
25
20
151
78
51
-112
-32
36
9
1
21
128
50
53
39
-60
-12
1
0
0
-2
-4
24
15
-2
2
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
44
25
-11
45
-24
-12
-1
0
0
37
38
-29
6
11
31
-6
-2
1
74
71
26
51
-8
35
-33
-1
0
139
51
50
2
-35
47
-27
-1
-1
-18
42
122
57
11
-30
-41
2
0
0
0
66
-22
35
-24
5
0
0
0
0
8
-28
66
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
49
40
-10
-9
46
-8
23
-2
-43
46
52
-2
-40
-56
151
64
17
-9
8
60
25
80
-4
103
15
22
18
1
42
69
104
48
-21
76
37
5
-47
108
53
-27
48
12
48
7
16
1
-32
20
54
-31
2
3
2
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
6
34
-42
50
75
-16
0
-5
0
47
76
30
29
42
-15
-6
13
0
134
1
60
15
15
26
-24
5
3
108
56
129
-73
-5
-3
15
12
0
0
-13
71
44
43
5
0
0
0
0
0
-5
-32
13
18
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
36
42
-35
26
-1
19
21
-11
-9
34
60
91
24
-33
-4
153
27
0
-9
54
34
41
7
56
84
52
2
-28
34
-22
124
48
45
63
1
-3
-28
32
44
-45
75
32
-1
-2
0
0
0
1
-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
70
71
-23
88
-14
0
0
0
0
83
31
-39
64
5
8
-3
5
0
30
123
-21
63
-6
18
3
0
0
4
-21
38
10
11
10
-5
0
0
-5
0
-24
-15
11
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
68
47
25
0
0
-7
9
0
47
37
124
-49
-6
7
2
-11
1
-82
23
-3
81
8
-8
-3
4
0
38
-70
46
62
13
0
5
0
0
0
2
19
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
38
92
-22
-34
0
0
0
0
0
-60
147
-25
92
-11
0
0
0
0
-12
98
-54
-19
5
1
0
0
0
0
1
-28
-5
21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-110
-4
0
0
0
0
0
19
32
-3
-25
0
0
0
0
0
38
93
-66
-18
-1
2
0
0
0
3
6
8
-5
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
57
-69
-22
10
0
0
0
0
0
-21
-7
25
2
0
0
0
0
0
-8
-25
-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
27
-1
-1
0
0
0
0
0
0
-36
71
-4
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
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
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-24
-7
-7
-10
5
11
-10
-28
-2
55
-61
-15
-11
16
10
-27
-17
-30
31
-21
-93
93
5
0
-54
50
-22
8
87
38
-3
6
-19
74
-60
-38
-14
-28
0
-2
-2
0
-13
-35
46
69
-35
-4
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
-7
-47
69
-34
-2
0
0
0
0
-14
-13
60
-68
39
8
-7
0
0
-10
-13
31
37
-80
1
4
0
0
-4
31
-56
21
-95
4
2
0
0
84
-23
-96
-24
17
5
-1
-1
0
0
39
-29
-37
-74
-7
1
0
0
0
0
2
4
12
1
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
5
2
1
-7
34
35
6
-32
-8
11
-2
12
14
176
-26
-89
-30
20
15
11
22
40
60
-5
-77
-5
-7
15
50
32
2
55
-32
-67
-41
-2
-31
93
32
6
27
-60
9
-2
0
0
-64
36
60
12
-15
-6
0
0
0
3
5
-23
2
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
23
-48
1
10
2
0
0
0
25
12
16
29
56
-13
1
5
-5
52
38
-25
66
95
-31
-1
3
0
-14
30
-16
54
26
46
2
3
0
69
-19
34
-21
8
20
7
1
0
0
-18
-23
125
-67
29
-9
0
0
0
0
0
-6
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
13
0
21
83
-32
6
48
66
5
26
15
-3
70
39
18
-7
10
-13
15
12
-6
127
55
64
-32
113
7
34
5
-25
56
82
-58
76
-1
2
-3
75
-87
39
45
56
-27
2
0
0
-1
31
3
-42
0
-3
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
29
16
6
97
1
8
8
-34
0
53
60
7
-65
-47
47
-10
-5
0
10
61
48
-12
-22
23
14
0
0
-1
-19
89
106
-39
48
34
-1
0
1
102
57
-69
2
0
7
-1
0
0
9
19
-5
82
-4
0
0
0
0
0
0
-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
52
21
18
-3
-1
25
-14
-18
-15
39
7
105
120
-34
-57
-29
-56
0
4
-25
-78
106
54
97
45
43
8
28
37
-29
68
-60
3
-8
16
0
-2
38
-101
-18
15
-2
1
4
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
28
7
39
29
-3
4
2
10
0
73
67
-5
32
-63
-23
6
-2
0
41
6
-15
-6
137
60
0
0
0
169
-168
-64
55
41
27
-2
-8
0
0
-7
-27
86
9
3
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
82
25
32
-9
0
-1
6
0
0
75
16
47
30
3
-7
1
3
0
36
41
-51
18
9
-3
1
-10
0
1
120
-27
5
-20
-2
1
0
0
0
-7
-5
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
108
5
-82
54
0
0
0
0
0
132
45
-21
28
4
-3
-3
0
0
18
98
54
-2
-21
2
0
0
0
-1
92
11
8
12
2
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
119
65
-82
0
0
0
0
0
0
55
47
22
0
1
0
0
0
0
48
37
-12
-13
4
7
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
46
-25
-38
3
0
0
0
0
0
-33
58
-20
-4
-13
0
0
0
0
-17
59
14
1
1
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
41
-73
-2
0
0
0
0
0
0
40
36
-2
1
0
0
0
0
0
4
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
69
-14
0
0
0
0
0
0
0
4
-9
-6
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
-107
54
-2
25
0
3
15
2
-23
-28
51
-109
-46
46
-51
12
-30
-22
-32
123
-64
99
-53
12
-2
-40
-18
9
-27
38
55
48
7
7
-14
19
-3
20
65
-25
-6
4
1
-26
21
25
-20
-6
1
-2
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
-20
30
-124
-6
-3
0
0
0
0
19
22
2
-32
-6
0
0
0
0
73
4
-62
-63
-12
1
3
0
0
8
-19
49
75
-86
1
0
-2
0
-1
-14
-25
18
43
41
0
0
0
6
0
-1
53
-5
4
3
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
32
7
-100
2
22
3
9
1
12
37
23
6
81
7
-34
41
23
-43
34
-8
15
130
-64
-10
46
-149
-25
-18
26
32
95
-17
-3
49
41
10
31
156
7
10
-9
-66
-13
-3
0
0
7
-30
-11
3
-9
16
0
0
0
0
0
0
-5
-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
19
-15
55
70
-13
-1
-2
-1
0
-9
49
41
-21
-124
31
-12
26
0
-9
66
51
34
-46
-32
-5
-6
0
110
78
36
1
-94
10
0
-2
0
22
-39
121
37
-15
-14
4
0
0
0
0
-1
6
18
-3
-4
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
18
13
6
75
13
-23
-65
100
-31
39
33
30
-2
65
17
-38
25
58
14
21
-18
89
32
56
40
128
-4
-70
-33
-2
64
64
71
45
68
11
-65
-1
-34
65
17
26
-1
-6
0
0
0
-1
17
9
-4
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
32
21
79
15
-2
-3
0
9
0
40
56
-14
-61
10
17
4
6
0
33
72
18
75
-16
23
-6
0
0
-4
70
-22
28
38
41
1
0
0
-6
-1
3
7
-27
8
0
0
0
0
0
1
9
44
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-97
60
69
-10
-24
64
1
0
24
-46
117
-45
-9
91
90
33
77
63
8
10
1
80
-62
10
19
5
91
31
-13
-72
41
22
-1
0
-4
-55
0
34
16
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
41
104
27
-8
-7
0
0
0
0
113
80
-23
3
-18
-12
1
-2
0
25
-11
124
10
-40
4
8
0
0
11
-53
-22
37
54
1
0
0
0
0
0
21
0
7
1
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
24
77
7
12
0
1
22
-8
7
5
107
36
-7
38
21
1
-8
-4
56
-4
86
14
10
-4
4
2
0
-6
78
62
-38
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
75
75
-2
0
0
0
0
0
-26
100
27
50
2
-5
0
0
0
42
-45
82
48
4
-4
0
0
0
0
-6
-53
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
30
-13
-3
0
0
0
0
0
-22
107
-34
17
0
0
1
0
0
45
-45
26
-13
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
28
27
-101
0
0
0
0
0
0
40
-53
50
4
-1
0
0
0
0
2
53
-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
35
31
0
0
0
0
0
0
0
24
-73
-2
2
0
0
0
0
0
1
-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
-6
-9
-2
0
0
0
0
0
0
-1
-8
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
1
-15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
47
6
5
0
1
-27
-21
0
-10
-14
-58
-11
0
0
14
-1
0
-31
59
-50
-26
1
2
0
-2
0
-10
72
-16
-4
-5
-2
0
0
0
6
-28
8
-4
0
0
4
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
64
-16
-10
-4
0
0
0
0
0
53
42
-60
-119
-2
0
0
0
0
27
-26
-67
86
-10
-2
0
0
0
20
0
37
12
-3
0
0
0
0
0
10
-1
-10
-6
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
0
0
0
0
0
0
-3
-1
22
41
0
-9
-6
5
-18
-43
-3
71
32
-9
-19
38
4
0
101
-88
-3
3
8
-1
-5
-8
4
127
14
-111
-34
3
4
-5
0
0
13
73
4
27
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
30
59
-23
-51
1
0
0
0
0
30
49
-22
33
-5
0
2
0
0
52
45
-48
27
-18
0
0
0
0
-11
66
48
-111
3
-2
0
0
0
0
3
26
83
-9
-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
75
21
-93
4
2
-28
-8
-4
-2
24
-22
90
-83
4
-2
5
21
12
36
32
-46
-63
16
0
-19
6
6
6
41
47
42
-2
3
0
2
0
-1
6
-4
-8
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
0
0
0
65
70
-57
4
0
0
0
0
0
23
34
-38
81
-19
-1
0
-2
0
47
70
-62
-54
-1
0
0
0
0
6
131
-8
-14
-13
-20
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
60
27
29
11
0
1
16
-1
0
13
7
-24
50
-1
-2
-4
-1
0
-61
-16
60
-26
9
0
0
-1
0
10
19
16
-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
157
28
-71
1
3
0
0
0
0
46
64
1
-19
2
1
0
0
0
60
45
46
9
4
-1
0
0
0
-4
1
1
-11
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
21
50
19
0
0
0
0
0
0
102
-41
-49
-1
-4
0
0
0
0
-72
31
-27
-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
0
0
0
0
0
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
3
0
0
0
0
0
0
0
-21
42
-16
-1
0
0
0
0
0
3
7
0
1
-4
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
69
6
-4
0
0
0
0
0
0
-82
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
49
-30
-1
-6
-6
-7
6
-59
-3
59
-34
-7
-14
-4
9
7
-73
-108
17
43
-4
6
-3
13
0
-123
-9
74
29
3
-2
0
0
0
-4
28
-6
17
-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
-32
-8
-79
14
0
0
0
0
0
-33
26
11
-2
-1
0
0
0
0
147
-47
-60
44
-10
0
0
0
0
-45
94
25
-40
0
-1
0
0
0
-6
-9
-12
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
-21
-13
98
-65
-3
0
-6
-5
-6
-35
-30
68
76
6
1
27
-1
-5
-78
11
59
-39
-13
0
11
8
11
-90
53
29
59
0
-3
0
0
0
2
10
0
-18
0
1
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-28
37
7
0
0
0
0
0
15
16
-87
46
0
0
0
0
0
100
70
-162
32
1
0
0
0
0
68
64
-64
19
9
2
0
0
0
-5
0
-5
0
-6
1
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
22
-11
24
35
4
0
6
-27
11
-11
2
-60
67
-23
2
-4
5
-12
-123
93
31
110
4
2
-1
4
2
53
-48
6
-18
-4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
170
-31
-49
17
0
0
0
0
91
44
-39
2
-5
7
0
0
0
-4
103
40
-37
0
8
0
0
0
-12
3
-24
-2
2
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
11
78
74
-13
0
0
-4
3
-2
87
-26
92
16
10
0
2
4
0
55
-41
-62
10
3
0
2
-6
0
28
11
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
63
72
-23
-6
5
0
0
0
0
25
-29
-85
4
0
0
0
0
0
-37
-13
38
0
9
0
0
0
0
0
-1
9
7
-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
0
0
0
0
0
0
0
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
43
0
0
0
-2
0
0
-69
47
23
-1
0
0
4
10
0
-56
38
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
-6
0
0
0
0
0
0
132
-7
-18
1
0
0
0
0
0
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
-31
-65
4
2
0
0
0
0
0
38
67
0
2
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
7
-5
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-75
34
-24
-1
0
0
0
0
0
20
-3
-8
-2
0
0
0
0
0
-19
-2
0
-15
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-8
-8
0
0
0
0
0
-122
44
3
2
0
0
0
0
0
-89
57
22
-1
0
0
0
0
0
-2
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
58
12
1
0
3
0
0
8
0
-94
44
61
8
0
0
0
0
0
17
-35
26
0
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-46
27
-1
0
0
0
0
0
153
-9
-69
-8
0
0
0
0
0
-80
17
108
-4
0
0
0
0
0
0
8
-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
54
54
-4
0
0
0
0
-2
0
-26
5
1
0
0
0
0
0
0
-17
32
0
4
2
1
0
0
0
7
-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
137
2
-15
0
0
0
0
0
0
65
3
-27
0
0
0
0
0
0
-24
37
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
13
4
0
0
0
0
0
0
21
31
2
0
0
0
0
0
0
-2
38
-1
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
140
5
-7
-6
0
0
0
0
0
24
-68
19
-1
0
0
0
0
0
-4
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
12
19
0
0
0
0
0
0
0
12
3
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
7
-3
2
0
0
0
0
0
0
0
-18
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-2
7
0
0
0
0
0
-31
13
17
0
0
0
-1
0
0
92
-91
-7
-2
0
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
7
0
0
0
0
0
0
10
21
-11
0
0
0
0
0
0
21
-57
52
11
0
0
0
0
0
-3
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
56
-1
-7
4
11
0
0
0
-3
-138
53
89
1
-2
0
3
-1
0
45
-53
-45
7
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
0
0
0
0
0
0
0
0
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
0
7
0
0
0
0
0
-37
-26
2
3
0
0
0
0
0
4
-58
10
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-64
-3
2
0
0
0
12
0
2
91
-45
-1
3
0
0
1
0
-111
-6
52
0
0
0
-1
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
44
-7
0
0
0
0
0
0
0
-34
-75
18
-5
0
0
0
0
0
-1
-8
-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
23
16
0
0
0
0
0
0
0
2
-111
4
0
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
72
1
0
0
0
0
0
0
6
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
105
0
0
0
0
0
0
0
-5
7
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
-14
6
0
0
0
0
0
0
0
-1
5
4
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-1
0
0
0
0
0
0
31
40
0
0
0
0
0
0
0
-1
-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
-3
-25
0
0
0
0
0
0
0
-6
-105
-1
0
0
0
0
0
0
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
-8
19
0
0
0
0
0
0
0
3
21
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
-15
9
2
0
0
0
0
0
0
-10
-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
34
-21
3
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
28
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
0
0
0
0
0
0
0
27
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
11
-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
-3
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-64
-158
-20
-10
-13
0
-21
-3
-17
-83
-114
-20
-84
-118
-21
16
1
-36
10
-51
-29
-131
-8
-113
-98
10
-26
18
-19
-73
-91
-66
-81
-153
-56
15
22
14
0
-17
-185
-17
60
-4
43
-33
50
76
-59
-63
-3
-23
-1
0
-34
-94
-7
-10
87
-8
-7
0
0
0
1
13
9
-13
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
45
-52
-170
-29
0
0
0
0
0
24
-58
-111
-26
-83
-7
-3
0
0
3
-21
-76
-58
-9
-52
-8
0
0
61
50
-7
-40
-59
22
-8
0
0
-7
-40
38
-44
-73
29
-8
4
0
-24
101
37
2
-57
25
-16
-4
0
0
0
62
33
-40
-36
-6
0
0
0
0
0
1
62
-23
8
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-70
-92
-93
40
-24
9
-14
-5
-12
-39
-21
-59
-52
-69
-13
-167
-121
34
-4
3
17
-105
-65
4
-20
-42
50
14
0
5
-27
9
-82
-49
-49
32
10
-17
0
11
26
-9
28
1
36
51
44
3
44
75
-145
12
7
-2
11
38
-31
-27
44
-13
4
0
0
0
1
34
-3
-21
-3
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
45
15
-137
-55
-1
0
0
-1
0
32
40
-41
-2
-202
-27
18
-2
-7
55
25
26
-25
-62
-68
-92
-32
9
32
75
13
-12
-17
39
-29
32
4
71
59
20
11
-27
-65
-22
10
0
9
17
87
-6
0
37
13
-3
0
0
0
62
102
-37
-19
17
3
0
0
0
-5
20
-36
59
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
34
1
-11
-75
-52
103
-42
24
-51
31
25
-5
24
-62
43
-24
-49
-131
25
28
32
-6
-22
-11
-52
-98
-46
62
67
33
44
-45
21
-11
-107
-69
-3
54
63
81
74
72
86
-40
16
-1
15
-29
24
-38
-20
108
-17
2
0
0
7
88
-9
-37
8
-1
0
0
0
0
6
-5
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
41
22
-71
34
-43
2
2
-3
-7
60
35
9
4
-2
-35
-16
25
6
63
61
18
49
-14
33
-1
-42
7
2
59
71
35
-14
-21
70
-9
0
-4
132
25
58
56
12
48
-1
0
4
-4
-1
72
8
52
-1
0
0
0
0
-22
5
40
12
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
10
-22
48
1
58
-70
-34
3
9
36
32
11
47
-70
-97
34
-19
-28
17
51
47
49
29
-19
1
-34
11
31
100
47
76
-12
-31
81
0
1
92
81
9
-2
55
35
-16
-54
-3
1
22
24
2
9
40
-11
7
1
0
0
0
5
61
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
67
-32
19
26
5
-4
-2
0
29
68
33
17
-41
-112
20
-15
0
88
90
13
10
2
41
-61
0
0
19
65
1
80
41
-17
-10
1
0
-6
73
61
-70
96
42
2
0
0
0
0
1
82
-49
-6
2
0
0
0
0
0
2
-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
-6
5
8
169
-3
15
-5
-1
6
28
63
51
57
72
43
-25
-23
-4
9
73
90
96
61
21
30
-79
0
-91
16
-19
66
52
48
-36
10
0
-22
5
47
20
-18
19
4
3
0
0
0
7
0
-12
-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
8
42
11
49
29
3
0
-15
0
60
74
38
13
47
26
0
-4
0
-48
66
86
12
-11
60
0
0
0
72
76
20
8
-135
-13
11
0
0
0
3
8
-24
-32
-6
2
0
0
0
0
-3
5
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
4
57
93
-8
0
0
0
0
0
-12
19
71
81
-1
0
-1
0
0
-47
81
46
-13
34
0
-5
8
0
-7
24
70
28
30
-3
-12
0
0
0
-15
11
19
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
96
58
6
-29
0
0
0
0
0
120
73
-28
-1
62
0
0
0
0
-24
63
36
-38
-17
5
0
0
0
0
22
4
4
23
1
0
0
0
0
0
1
5
-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
-85
107
-20
6
0
0
0
0
0
15
42
-52
-10
-8
2
0
0
0
-110
25
-14
7
29
-1
0
0
0
0
37
-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
15
76
-9
0
0
0
0
0
0
58
71
-19
-11
1
0
0
0
0
1
54
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
42
24
-34
2
0
0
0
0
0
12
27
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
6
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-56
3
3
-29
24
-45
-44
-22
-52
-134
-107
-14
19
-39
-81
2
-13
-18
-23
-29
-51
-38
30
-159
-71
13
26
-16
4
-67
-75
-134
-71
-8
-13
49
4
47
-50
-63
-81
35
8
-17
3
9
17
-22
-5
2
-9
0
0
-9
-22
-3
-3
31
10
1
0
0
0
0
-19
2
3
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-119
-105
-12
11
0
0
0
0
36
-12
-54
-27
-48
-1
0
0
0
-15
-13
-12
-113
-42
26
2
0
0
24
-18
-2
-62
-41
-60
-1
-5
0
99
-85
-59
6
50
-17
6
1
0
10
10
-66
1
-13
-13
9
-1
0
0
0
0
31
24
-13
-1
0
0
0
0
0
3
65
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-20
-104
44
-140
8
-117
105
43
23
4
-26
-5
-30
-62
-60
-80
16
23
40
3
56
-25
7
20
-97
-119
4
53
-3
30
0
55
21
-16
-84
-29
61
10
6
-25
-39
66
28
12
-24
-19
26
38
135
18
3
52
-24
0
-6
105
2
5
0
19
-2
0
0
0
1
15
-14
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
11
-37
-56
15
-1
0
0
0
29
59
-5
-35
70
-77
-15
-3
-3
6
49
-1
5
64
-64
-17
9
-2
47
122
20
-15
-57
9
-7
7
0
-24
223
25
-61
-17
-3
8
-2
1
1
3
-30
139
16
6
-7
9
0
0
0
-1
-36
10
-8
0
0
0
0
0
0
-3
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
24
-21
-31
55
-2
-128
-21
-21
29
29
-18
14
-36
-61
-24
-55
-45
13
51
28
63
-23
5
15
-65
-82
19
50
80
83
13
-46
-28
-12
60
26
20
139
95
49
-112
-30
37
10
1
20
122
42
59
42
-62
-14
1
0
0
-2
-8
22
16
-2
2
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
68
32
-12
40
-24
-12
-1
0
0
19
54
-5
1
13
28
-5
-2
1
89
66
27
42
-10
33
-34
-4
0
122
53
44
4
-28
44
-31
-1
-1
-19
44
120
44
-3
-31
-43
2
0
0
0
65
-23
39
-23
5
0
0
0
0
8
-28
67
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
50
36
-1
-12
44
-7
29
5
-41
31
51
17
-32
-42
156
55
23
-12
31
57
23
71
-7
104
16
28
25
-12
45
64
100
42
-22
77
32
9
-46
104
42
-32
45
12
46
9
16
1
-35
21
60
-36
2
3
2
0
0
0
0
-3
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
-3
26
-41
47
77
-16
0
-5
0
54
60
36
35
44
-13
-7
13
0
115
-1
55
16
12
27
-26
5
3
105
48
115
-73
-7
-3
15
12
0
0
-14
68
41
44
2
0
0
0
0
0
-5
-32
15
19
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
40
64
-30
27
-1
19
22
-12
-9
19
71
81
30
-33
-4
153
23
0
0
65
28
40
5
54
87
55
2
-35
19
-21
129
46
46
63
1
-3
-29
37
46
-45
72
31
-1
-2
0
0
0
1
-20
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-26
86
-14
0
0
0
0
76
43
-34
59
6
8
-3
5
0
32
126
-19
59
-7
20
3
0
0
4
-24
37
14
10
10
-5
0
0
-5
0
-33
-16
9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
64
48
26
0
0
-7
9
0
45
43
111
-49
-6
7
2
-11
1
-85
37
0
78
14
-8
-3
4
0
36
-70
47
64
12
0
5
0
0
0
2
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
88
-20
-35
0
0
0
0
0
-61
146
-29
93
-11
0
0
0
0
-13
105
-55
-21
4
1
0
0
0
0
1
-28
-5
21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
-107
-4
0
0
0
0
0
17
35
-6
-27
0
0
0
0
0
37
86
-68
-19
-1
2
0
0
0
3
6
8
-5
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
58
-66
-24
10
0
0
0
0
0
-22
-9
27
2
0
0
0
0
0
-8
-25
-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
27
-7
-1
0
0
0
0
0
0
-34
71
-4
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
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
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-70
52
-27
-7
-7
-10
5
11
5
-39
-5
55
-62
-15
-15
16
10
-15
12
-28
30
-23
-91
89
6
0
-63
64
-29
2
89
35
-3
8
-19
69
-64
-28
-20
-30
-1
-2
-2
0
-13
-34
48
67
-35
-4
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
-9
-70
69
-32
-2
0
0
0
0
-14
6
88
-68
39
8
-7
0
0
25
-27
45
43
-79
1
4
0
0
1
49
-71
18
-97
5
2
0
0
85
-15
-97
-11
17
3
-1
-1
0
0
39
-29
-32
-75
-8
1
0
0
0
0
2
4
13
1
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
7
11
-18
-18
31
33
5
-31
-7
14
-7
-2
2
177
-21
-90
-37
21
20
25
11
40
66
-12
-79
-2
-7
27
43
32
4
61
-37
-66
-39
-2
-32
96
38
1
24
-54
9
-2
0
0
-63
32
57
10
-15
-6
0
0
0
3
5
-24
2
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
7
48
-49
2
10
2
0
0
0
42
19
3
30
57
-13
1
5
-5
48
47
-27
61
97
-27
-1
3
0
-19
31
-20
47
22
39
2
3
0
68
-13
27
-15
13
24
7
1
0
0
-18
-23
123
-62
28
-9
0
0
0
0
0
-7
88
9
0
0
0
0
0
0
0
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
31
88
-33
7
51
61
4
41
22
-10
59
42
17
-5
10
-15
30
25
-7
119
49
68
-33
114
7
22
15
-15
53
80
-58
77
-1
2
-4
74
-90
43
46
57
-27
2
0
0
-1
33
9
-44
0
-3
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
39
31
7
95
1
8
8
-34
0
39
57
23
-60
-51
47
-10
-5
0
19
61
47
-18
-19
22
15
0
0
-9
-18
89
94
-36
50
35
-1
0
1
101
57
-67
-2
2
7
-1
0
0
9
19
-5
81
-5
0
0
0
0
0
0
-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
54
31
12
-9
-1
25
-14
-18
-15
45
37
85
119
-35
-60
-30
-52
0
11
-16
-80
101
55
98
40
46
8
24
38
-28
68
-61
3
-8
17
0
-2
36
-105
-21
20
-2
1
4
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
16
44
41
30
-2
4
2
10
0
61
49
-1
27
-63
-24
6
-2
0
27
-14
-27
-6
134
60
0
0
0
172
-164
-62
56
44
26
-2
-8
0
0
-7
-28
88
5
3
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
73
29
33
-10
0
-1
6
0
0
66
23
49
34
3
-7
1
3
0
29
39
-43
16
9
-3
1
-10
0
-2
120
-30
4
-21
-2
1
0
0
0
-7
-5
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
111
-13
-84
53
0
0
0
0
0
116
62
-17
33
4
-3
-3
0
0
11
92
55
-2
-21
2
0
0
0
-1
91
11
7
12
2
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
113
66
-81
0
0
0
0
0
0
51
54
27
0
1
0
0
0
0
48
30
-15
-13
4
7
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
3
0
0
0
0
0
-28
53
-25
-5
-13
0
0
0
0
-18
55
14
1
1
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
39
-74
-2
0
0
0
0
0
0
42
35
-2
1
0
0
0
0
0
4
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
68
-20
0
0
0
0
0
0
0
5
-9
-6
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-54
-117
54
-5
24
0
5
15
-2
-5
-28
64
-121
-55
46
-52
12
-18
-16
-51
119
-64
103
-58
13
-3
-57
-25
-2
-24
37
54
47
7
7
-15
24
-7
22
66
-27
-6
4
1
-26
21
23
-22
-7
1
-2
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
-41
43
-131
-7
-3
0
0
0
0
19
19
8
-36
-6
0
0
0
0
116
-1
-65
-66
-6
1
3
0
0
-10
-23
41
80
-86
1
0
-2
0
0
-20
-30
20
46
41
0
0
0
6
0
-1
47
-6
6
3
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
47
32
-113
-3
21
7
6
-1
14
28
22
16
94
7
-41
43
30
-48
31
-6
10
122
-58
-17
52
-145
-28
-16
23
18
97
-17
-3
51
39
4
31
132
-3
17
-6
-67
-13
-3
0
0
7
-31
-11
4
-9
16
0
0
0
0
0
3
-5
-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
33
-35
75
64
-13
-1
-2
-1
0
-11
55
43
-22
-123
31
-12
26
0
-16
55
47
33
-44
-33
-5
-6
0
107
77
39
-7
-91
10
0
-2
0
21
-36
110
38
-13
-10
4
0
0
0
0
-1
7
21
-3
-4
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
6
36
0
79
10
-21
-68
102
-42
26
39
51
-6
64
7
-37
21
58
11
19
-18
83
32
59
41
129
-2
-75
-24
1
56
63
71
46
69
11
-64
-1
-42
59
20
29
-1
-6
0
0
0
-1
16
8
-4
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
20
14
87
18
-2
-3
0
9
0
39
70
-24
-64
9
17
4
6
0
21
77
2
66
-16
24
-6
0
0
-3
72
-20
27
36
39
1
0
0
-6
-1
9
8
-34
9
0
0
0
0
0
1
9
40
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-95
63
74
-10
-23
60
1
-9
21
-41
118
-51
-9
91
93
34
80
68
13
20
-2
78
-62
10
19
8
82
24
-17
-76
40
22
-1
0
-4
-57
0
33
16
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
41
112
30
-8
-8
0
0
0
0
103
80
-23
-3
-19
-12
1
-2
0
34
-14
120
6
-44
4
8
0
0
11
-57
-27
40
53
1
0
0
0
0
0
21
0
7
1
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
31
57
8
14
0
1
22
-8
7
15
110
40
1
37
21
1
-8
-4
46
1
85
14
10
-4
4
2
0
-7
79
61
-39
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
70
72
-2
0
0
0
0
0
-24
96
30
54
2
-5
0
0
0
40
-49
83
47
5
-4
0
0
0
0
-6
-53
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
47
-6
-3
0
0
0
0
0
-23
102
-31
18
0
0
1
0
0
46
-48
27
-13
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
31
17
-104
0
0
0
0
0
0
39
-48
51
4
-1
0
0
0
0
2
53
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
37
35
0
0
0
0
0
0
0
26
-71
-2
2
0
0
0
0
0
1
-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
-5
-9
-2
0
0
0
0
0
0
-1
-8
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
1
-15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
88
9
5
0
1
-27
-21
0
-41
-25
-59
-11
0
0
14
-1
0
-47
53
-48
-26
1
2
0
-2
0
0
84
-10
-4
-5
-2
0
0
0
5
-29
8
-4
0
0
4
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
92
-28
-11
-4
0
0
0
0
0
59
83
-64
-122
-2
0
0
0
0
24
-14
-73
88
-10
-2
0
0
0
15
-3
36
14
-3
0
0
0
0
0
11
-1
-10
-6
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
0
0
0
0
0
0
-7
4
30
40
0
-9
-6
5
-18
-78
8
59
32
-9
-18
38
4
0
83
-83
-10
4
8
-1
-5
-8
4
125
26
-114
-34
3
4
-5
0
0
14
70
4
25
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
35
93
-36
-51
1
0
0
0
0
24
60
-23
32
-5
0
2
0
0
40
51
-52
27
-18
0
0
0
0
-14
64
42
-114
3
-2
0
0
0
0
3
26
80
-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
78
23
-98
4
2
-28
-8
-4
-2
-1
-27
81
-83
4
-1
6
21
12
30
29
-46
-64
16
0
-19
6
6
2
45
45
42
-2
3
0
2
0
-1
6
-3
-6
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
0
0
0
69
75
-60
4
0
0
0
0
0
26
35
-34
81
-20
-1
0
-2
0
47
62
-68
-57
-1
0
0
0
0
8
131
-11
-15
-12
-21
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
56
37
33
11
0
1
16
-1
0
4
0
-21
50
-1
-2
-4
-1
0
-68
-15
59
-30
9
0
0
-1
0
10
21
18
-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
168
19
-72
1
3
0
0
0
0
49
64
-3
-22
2
1
0
0
0
60
48
46
12
4
-1
0
0
0
-4
1
3
-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
8
52
17
0
0
0
0
0
0
102
-38
-47
-1
-4
0
0
0
0
-72
31
-29
-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
0
0
0
0
0
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
-3
-1
0
0
0
0
0
0
-20
40
-16
-1
0
0
0
0
0
4
9
0
1
-4
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
71
5
-4
0
0
0
0
0
0
-78
39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
51
-28
0
-6
-6
-7
6
-89
23
52
-33
-7
-14
-4
8
7
-93
-104
21
43
-4
6
-3
13
0
-130
-11
71
28
3
-2
0
0
0
-4
31
-7
17
-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
-23
1
-78
13
0
0
0
0
0
-35
32
10
-2
-1
0
0
0
0
147
-50
-58
41
-10
0
0
0
0
-48
92
27
-39
0
-1
0
0
0
-6
-9
-12
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
-7
-28
100
-63
-6
0
-6
-8
-6
-66
3
67
77
7
1
27
1
-5
-90
31
65
-39
-15
0
11
7
11
-91
56
29
59
0
-3
0
0
0
2
11
0
-17
0
1
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-15
35
7
0
0
0
0
0
21
7
-94
49
0
0
0
0
0
98
72
-156
31
1
0
0
0
0
68
60
-69
21
9
2
0
0
0
-5
0
-5
0
-6
1
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
23
-20
21
35
4
0
6
-27
11
-33
23
-57
70
-23
2
-4
5
-12
-127
106
16
111
4
2
-1
4
2
54
-50
8
-19
-4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
183
-33
-48
17
0
0
0
0
86
55
-37
2
-5
7
0
0
0
-6
99
40
-40
0
8
0
0
0
-12
2
-27
-3
2
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
-4
77
71
-13
0
0
-4
3
-2
85
-32
93
16
10
0
2
4
0
51
-40
-62
8
3
0
2
-6
0
28
15
7
-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
62
68
-24
-6
5
0
0
0
0
28
-21
-80
4
0
0
0
0
0
-37
-15
38
0
9
0
0
0
0
0
-1
9
7
-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
0
0
0
0
0
0
0
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
43
0
0
0
-2
0
0
-72
51
21
-1
0
0
4
10
0
-58
39
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-67
-6
0
0
0
0
0
0
135
-12
-17
1
0
0
0
0
0
0
12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-61
4
2
0
0
0
0
0
40
70
0
2
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
7
-5
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
13
-4
0
0
0
0
0
0
-72
27
-24
-1
0
0
0
0
0
19
-8
-8
-2
0
0
0
0
0
-19
-1
0
-15
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-8
-8
0
0
0
0
0
-126
45
3
2
0
0
0
0
0
-89
51
22
-1
0
0
0
0
0
-2
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
85
27
1
0
3
0
0
8
0
-84
65
65
8
0
0
0
0
0
19
-33
26
0
0
0
0
0
0
-2
-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
81
-32
26
-1
0
0
0
0
0
158
-17
-67
-8
0
0
0
0
0
-77
13
112
-4
0
0
0
0
0
0
8
-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
49
55
-4
0
0
0
0
-2
0
-24
6
1
0
0
0
0
0
0
-17
36
0
4
2
1
0
0
0
7
-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
137
2
-15
0
0
0
0
0
0
65
0
-27
0
0
0
0
0
0
-23
37
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
-1
12
4
0
0
0
0
0
0
23
31
2
0
0
0
0
0
0
-2
36
-1
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
145
6
-7
-6
0
0
0
0
0
22
-66
20
-1
0
0
0
0
0
-4
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
12
19
0
0
0
0
0
0
0
12
3
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
7
-3
2
0
0
0
0
0
0
0
-18
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
-2
7
0
0
0
0
0
-30
8
16
0
0
0
-1
0
0
94
-97
-7
-2
0
0
0
0
0
-3
-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
0
0
0
0
0
0
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
7
0
0
0
0
0
0
9
16
-11
0
0
0
0
0
0
21
-59
52
11
0
0
0
0
0
-3
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
67
-3
-6
4
11
0
0
0
-3
-146
57
86
1
-2
0
3
-1
0
49
-56
-45
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
19
0
7
0
0
0
0
0
-37
-27
2
3
0
0
0
0
0
4
-58
10
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-70
-3
2
0
0
0
12
0
2
95
-46
-1
3
0
0
1
0
-111
-7
54
0
0
0
-1
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
44
-2
0
0
0
0
0
0
0
-38
-72
18
-5
0
0
0
0
0
-1
-8
-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
22
13
0
0
0
0
0
0
0
2
-111
4
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
68
1
0
0
0
0
0
0
6
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
2
22
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
104
0
0
0
0
0
0
0
-5
7
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
-14
6
0
0
0
0
0
0
0
-1
5
4
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
29
41
0
0
0
0
0
0
0
-1
-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
-3
-23
0
0
0
0
0
0
0
-6
-102
-1
0
0
0
0
0
0
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
-9
19
0
0
0
0
0
0
0
3
21
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
-15
9
2
0
0
0
0
0
0
-10
-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
34
-21
3
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
0
0
0
0
0
0
0
27
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
11
-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
-3
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-1
1
0
-1
0
0
-71
15
-9
7
2
0
-2
2
0
54
15
-41
-16
-4
-1
-2
0
0
47
7
-77
43
-9
-55
-3
-2
-7
6
72
57
0
-36
-12
-1
0
0
0
-2
-45
-25
-6
35
2
0
0
0
0
0
12
6
-12
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-48
-46
4
-9
1
0
0
0
0
-59
10
-16
-14
-14
-1
-2
0
0
-17
-35
-19
82
1
2
-3
0
0
-29
115
43
6
-45
-3
0
2
0
-5
9
41
31
7
15
1
-1
0
0
0
5
17
5
-16
-5
0
0
0
0
0
-2
54
-1
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
-13
1
0
0
0
0
1
0
-68
-91
-14
21
1
1
-2
-15
0
167
-104
18
45
-22
-34
-17
-7
-11
108
29
-9
-19
-44
18
13
-7
7
121
-52
-9
41
-19
-10
-37
13
-2
-10
40
-24
110
18
37
-21
1
1
-3
2
1
22
-12
-2
16
-1
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
-14
-10
-6
3
0
0
0
0
0
-48
83
-7
-23
-65
-5
-1
0
0
32
-41
-5
45
-55
-11
1
-4
0
-54
67
59
2
4
-6
-27
1
2
27
8
11
17
38
-6
-20
2
0
3
-44
17
35
-19
66
-10
-3
0
0
0
20
48
-6
6
0
0
0
0
0
-2
8
-41
64
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-62
13
38
-4
-3
0
0
1
1
49
-93
-84
10
25
9
19
18
0
44
-18
54
24
7
-6
-35
27
14
32
36
-6
59
36
7
31
27
0
-11
92
67
-44
-10
84
-9
17
2
-5
-20
57
-16
-19
3
23
-3
0
0
-1
1
5
-9
3
3
-1
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
35
-10
-88
6
5
0
0
0
0
-80
82
12
16
19
-6
-6
-2
0
-19
27
-39
124
41
-32
-2
1
2
18
-5
82
-50
-22
10
58
-4
0
1
-36
-5
13
53
-69
1
1
0
2
0
-6
-13
-7
17
-12
0
0
0
0
2
29
56
6
1
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
-64
-74
-7
-8
12
-2
-1
1
0
-54
-7
47
17
1
-31
10
-11
0
-47
59
84
2
9
-14
43
2
1
-63
27
-43
41
-17
30
44
-9
-2
-10
29
51
46
27
7
4
-2
0
1
8
3
-8
29
-21
-2
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
-6
170
-93
1
2
-2
0
0
0
-44
29
2
56
-62
-18
2
1
0
-1
103
-16
28
-6
8
0
3
0
89
92
-54
24
31
-15
-32
0
0
-1
20
-29
-25
32
-6
0
0
0
0
0
8
15
-42
4
1
0
0
0
0
0
3
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
-40
1
5
34
5
3
-1
0
0
-65
57
-72
23
1
28
10
-1
0
74
3
-17
-6
19
-32
32
-2
0
21
135
-21
51
-12
4
-9
0
0
-8
19
13
18
8
2
2
0
0
0
0
4
-4
-7
-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
42
30
-33
-6
5
0
0
0
0
-6
-21
111
-48
9
17
0
0
0
20
-23
-52
-16
8
41
1
0
0
66
13
2
-13
-24
16
6
0
0
0
1
9
-18
-46
-4
2
0
0
0
0
-1
5
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
9
74
11
8
0
0
0
0
0
-15
-16
16
8
7
0
-2
0
0
12
44
7
36
7
-4
0
0
0
1
-39
21
35
4
0
-1
0
0
0
-23
-10
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
104
18
8
-2
0
0
0
0
0
91
-42
8
-22
40
0
0
0
0
-30
33
33
-26
-10
-1
0
0
0
0
-14
48
-9
34
2
0
0
0
0
0
0
3
-6
-9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
7
2
0
0
0
0
0
-74
18
-21
-8
-4
0
0
0
0
-65
-12
-8
-14
6
1
0
0
0
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
-49
38
-1
0
0
0
0
0
0
32
20
-10
-5
2
0
0
0
0
3
53
-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
-11
-31
2
0
0
0
0
0
0
24
-21
4
1
0
0
0
0
0
10
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
-14
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-72
72
-16
-1
-1
-1
1
2
0
32
-120
-12
24
-14
22
-2
-2
-8
-5
27
-17
-58
14
2
-37
-6
-2
-6
19
-70
53
27
16
18
-1
4
-2
33
-33
17
-30
44
0
-2
0
0
-2
7
14
14
12
6
0
0
0
0
0
-7
0
4
0
0
0
0
0
0
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
-48
-29
-17
0
0
0
0
0
-10
-83
15
-32
-44
3
0
0
0
24
54
0
-4
-71
-1
0
-2
0
69
25
-27
38
-29
18
0
1
0
4
0
-9
78
-2
18
-2
0
0
0
0
-1
34
15
-33
0
0
0
0
0
0
0
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-24
2
7
0
0
0
1
-1
57
-87
-27
52
0
-21
-10
-53
-17
87
-13
-57
-7
17
-26
-28
-16
-4
101
-56
-2
-6
26
50
26
25
1
-49
73
13
44
-10
15
18
-1
1
2
29
4
-60
-24
57
-8
4
0
0
-4
-14
32
-16
-24
4
0
0
0
0
3
1
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-11
2
-2
0
0
0
0
0
99
-51
-8
-15
-34
-6
-3
0
0
-25
50
60
-9
-3
26
-1
1
-1
5
-7
-79
-3
3
17
9
0
0
36
33
99
-49
20
-34
12
0
0
2
1
-26
62
37
-2
1
9
0
0
0
-1
-17
-38
5
0
0
0
0
0
0
-3
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
38
29
-12
2
10
2
2
2
11
7
7
52
-21
44
-14
5
-15
-98
60
44
-45
3
-1
28
27
-10
70
-42
-56
70
-61
8
-11
-19
67
-63
12
68
96
38
-38
-11
9
7
-5
15
19
-68
-5
37
-6
1
0
0
0
-4
36
23
10
-1
2
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
70
-78
16
-24
-6
0
0
0
0
2
-6
37
5
6
11
0
0
0
-17
53
-9
-53
28
27
2
-2
0
30
32
-6
-36
4
-8
7
2
0
8
28
50
-9
-43
-1
-13
1
0
0
0
-13
-15
56
19
0
0
0
0
0
0
-9
65
-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
14
-186
63
-28
3
0
2
2
0
-94
-33
133
2
11
27
-42
-21
-9
10
-22
23
-18
7
-19
7
5
27
24
28
-13
-18
39
-1
-10
-20
1
-11
101
-32
-6
32
-8
4
2
0
5
-28
48
68
-25
8
2
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
-73
45
-54
-8
4
-7
0
0
0
5
1
-10
78
-1
-5
1
-1
0
55
-75
-34
12
-35
11
-1
4
0
36
-2
-32
-23
-16
27
2
0
0
-1
-3
28
25
-7
-13
2
0
0
0
0
-1
-12
33
8
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-42
46
-1
-4
0
4
-1
0
-45
23
-27
15
-6
-9
8
-5
-1
53
4
-5
-21
-4
20
15
9
-2
-43
-22
-74
117
10
27
4
1
0
-8
4
45
-13
8
22
-2
0
0
0
0
3
-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
2
-22
29
9
-1
0
0
0
0
-54
81
30
13
17
0
2
0
0
-5
63
17
28
-12
11
1
0
0
5
-32
-18
12
19
5
-6
0
0
0
0
-48
-17
-11
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
14
18
0
0
0
0
0
-53
-20
-24
-2
-2
2
0
0
0
-15
80
-35
68
16
-1
-2
0
0
16
-33
-6
82
1
-1
-1
0
0
0
5
19
-20
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-8
0
0
0
0
0
-2
-6
-46
13
-7
0
0
0
0
-28
35
-13
0
-7
0
0
0
0
0
4
-12
-2
23
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
8
21
-19
-1
0
0
0
0
0
-20
-59
12
-5
0
0
0
0
0
20
71
-16
-32
0
2
0
0
0
4
-10
7
-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
3
-1
5
4
0
0
0
0
0
-14
-15
18
-1
0
0
0
0
0
-6
10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-57
19
-8
0
0
0
0
0
0
-1
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-9
-3
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-1
0
0
0
0
0
0
60
-43
-5
5
-1
0
0
0
0
8
-66
-3
-58
-2
1
-4
0
0
-2
-63
7
-31
-10
1
2
0
0
-2
-3
9
1
1
-3
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
-1
0
0
0
0
0
0
0
0
-60
2
-6
-12
0
0
0
0
0
37
-90
-71
3
-1
-1
0
0
0
53
-25
-34
39
-36
-6
0
0
0
2
-3
-19
10
31
3
0
0
0
0
0
-8
-2
-9
0
0
0
0
0
0
1
-2
3
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
-13
-8
0
0
0
0
0
0
0
-20
-56
39
-13
3
4
0
6
1
-18
-111
-60
102
2
-2
-7
0
0
14
-42
61
44
-1
14
1
1
-2
-20
-20
-15
-32
4
5
2
0
0
-2
3
4
-26
-7
-2
-2
0
0
0
-1
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
11
-31
3
0
0
0
0
0
0
37
8
-43
-22
-9
0
-1
0
0
-16
-1
5
11
60
-6
-2
0
0
16
-16
-29
33
1
-24
2
0
0
25
-8
-2
-13
29
39
-2
0
0
0
0
-11
41
0
-18
-2
0
0
0
0
0
-7
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
-22
-23
4
3
-3
0
0
-4
0
13
-28
-32
13
10
2
1
1
-1
17
94
-67
18
-53
34
-1
0
-5
28
86
6
-7
17
-12
9
0
0
18
57
-27
73
12
15
-3
0
0
0
-2
5
5
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
15
32
-17
-3
0
1
0
0
0
-12
77
-5
21
-24
4
0
-2
0
92
55
43
-75
-21
22
-6
0
0
10
-41
-43
5
51
42
9
0
0
0
11
8
-11
14
8
3
0
0
0
1
3
9
16
18
0
0
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
35
-14
-21
-6
-1
1
-1
0
0
68
-12
-49
-12
-3
1
-6
-4
0
40
-11
-77
8
39
15
-2
3
1
14
54
-22
3
-37
0
-3
3
0
-1
44
14
-23
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
-39
126
-42
11
0
1
0
0
0
-12
11
20
-47
-13
-2
0
0
0
-7
57
-46
-39
59
7
1
0
0
63
40
-27
25
14
15
-1
0
0
0
-6
-38
10
1
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-4
-38
-2
0
0
0
0
0
-104
-23
76
-1
-2
-2
0
0
0
41
-32
37
26
2
-6
3
0
0
30
12
-6
6
-10
-3
0
0
0
0
-10
0
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
29
-3
-28
0
0
0
0
0
0
-23
89
30
16
6
-2
0
0
0
-41
63
10
10
-58
1
0
0
0
3
11
3
8
0
1
0
0
0
0
0
-1
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
51
-1
-8
0
0
0
0
0
0
48
35
8
-5
2
0
0
0
0
31
39
-14
-4
0
5
0
0
0
-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
13
-15
-8
0
0
0
0
0
0
23
18
-40
4
-8
0
0
0
0
-3
11
1
1
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
-4
-37
0
0
0
0
0
0
0
5
-40
-2
1
0
0
0
0
0
5
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
1
-16
0
0
0
0
0
0
0
2
-16
-7
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
41
-17
-1
-2
0
0
-1
0
-40
12
-92
-26
-1
-1
-1
1
0
9
-69
-34
1
6
-2
-1
4
0
-16
39
-24
2
7
-1
0
0
0
-5
1
11
11
-1
-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
7
0
0
0
0
0
0
0
-3
-16
-31
6
0
0
0
0
0
84
-12
-39
-27
-1
0
0
0
0
-85
29
-11
25
-15
-4
0
0
0
-3
-9
-33
3
-16
2
0
0
0
3
0
-3
-2
3
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
0
0
0
0
0
0
0
0
0
0
0
0
-41
43
-9
0
0
0
0
-2
0
-74
39
-2
13
-26
-2
-2
2
-2
15
-23
-24
24
-25
12
-4
-22
-6
12
-37
-30
8
50
7
20
-3
0
-1
-43
-40
27
2
-6
0
0
0
0
-6
3
-31
2
0
0
0
0
0
0
0
3
-3
-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
35
-4
-7
1
0
0
0
0
0
40
-78
3
-23
0
4
0
1
0
26
-100
8
-8
26
3
0
0
0
-45
29
76
2
-2
-6
2
0
0
-5
27
62
35
-10
9
5
0
0
0
0
1
-2
19
2
-3
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
-7
-6
-11
2
-3
0
0
4
0
-67
26
33
-5
-6
-39
-6
-4
0
10
26
-74
46
-20
31
8
13
-2
-45
14
64
30
8
-3
1
8
0
-34
8
-6
-10
3
4
0
-2
0
0
1
0
9
-5
-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
-29
13
11
0
0
0
0
0
0
-51
47
-13
12
-24
-6
-1
0
0
-24
77
-30
-1
-41
1
-2
0
0
28
-34
38
59
-16
-15
-3
0
0
-2
9
7
45
16
0
0
0
0
0
0
2
-1
6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
-6
0
0
-1
0
-2
0
-33
27
-14
7
0
-2
2
1
4
48
65
-23
-11
-19
-2
-10
1
6
15
5
3
-25
-30
12
3
0
0
-9
-18
24
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
16
35
16
-2
-2
0
0
0
0
-52
39
9
-39
2
-1
1
0
0
28
-1
56
21
11
4
-2
0
0
2
-17
-21
22
-20
-3
0
0
0
0
0
13
0
14
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
29
-86
-28
-4
0
0
1
-1
0
-20
105
-13
14
5
0
0
1
0
90
-20
2
-32
5
0
1
0
0
55
77
13
-14
3
0
0
0
0
0
0
-3
-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
-9
12
-44
-4
0
0
0
0
0
14
51
-8
34
-1
0
0
0
0
24
-25
86
-3
-11
-4
0
0
0
0
-5
-17
4
-6
0
0
0
0
0
0
-14
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
-17
89
3
-2
0
0
0
0
0
-12
19
14
-5
0
0
0
0
0
60
-28
25
-4
0
0
0
0
0
-5
1
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
3
-83
-44
0
0
0
0
0
0
-18
44
33
1
-2
0
0
0
0
0
4
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
3
2
0
0
0
0
0
0
0
17
4
-2
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
-3
2
0
0
0
0
0
0
0
-2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-24
-25
-5
1
0
0
0
0
0
-16
58
-15
-5
0
0
0
0
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
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
34
-3
0
0
0
0
0
0
-35
3
-2
3
0
0
0
0
0
13
5
12
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
0
0
0
0
0
0
0
-52
41
-1
-1
0
0
1
0
0
-124
99
-30
-5
0
-3
0
0
0
9
47
-31
-6
1
1
-2
0
0
6
0
-4
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
-3
-20
-5
-1
0
0
0
0
0
-15
-15
-13
4
-2
0
0
0
0
-24
37
-15
27
3
0
0
0
0
-35
-6
5
-29
-2
-2
0
0
0
0
1
14
15
-2
-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
-15
-33
5
0
0
0
0
0
0
-129
14
48
-4
1
-6
0
4
0
-27
-29
12
-1
9
-1
0
0
0
28
16
-8
0
-3
0
0
0
0
-1
3
5
-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
-16
-24
9
0
0
0
0
0
0
-35
14
-15
43
-2
-1
0
0
0
19
9
-56
-26
-3
0
0
0
0
25
35
-17
-9
-5
-3
0
0
0
0
0
-1
-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
0
53
-28
-3
5
0
0
0
0
0
-51
84
0
-3
0
0
-1
0
0
18
-17
26
-14
0
0
0
0
0
15
34
19
-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
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
44
-22
24
5
1
2
0
0
0
0
54
-15
12
3
-1
0
0
0
-2
0
2
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
0
0
0
0
0
0
0
0
0
-9
-20
2
0
0
0
0
0
0
-12
-26
-11
-1
0
0
0
0
0
2
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-10
-3
0
0
0
0
0
0
-12
9
-18
0
0
0
0
0
0
4
5
0
1
-3
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
-1
13
-1
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-8
1
0
0
0
0
0
0
-35
1
-35
1
-1
0
0
0
0
-47
-13
13
-6
1
0
0
0
0
-5
5
-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
-1
0
0
0
0
0
0
0
0
10
-4
-4
0
0
0
0
0
0
8
-2
-14
-1
0
0
0
0
0
-2
1
1
-3
0
0
0
0
0
-2
-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
0
0
0
0
0
14
-4
0
0
0
0
0
0
0
-73
0
65
-1
-3
0
-1
0
-2
-99
28
16
19
2
0
2
0
0
37
54
-31
12
-1
-1
0
-2
0
3
3
-2
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
-6
17
-2
0
0
0
0
0
0
-20
-20
-51
5
3
0
0
0
0
20
-1
-37
-20
-1
0
0
0
0
3
2
-32
-3
6
0
0
0
0
-2
0
-2
0
-1
1
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
7
-33
14
1
0
0
0
0
0
41
63
-35
29
-1
0
0
-1
-2
-76
47
-15
-1
-3
1
0
0
1
32
12
-6
6
-6
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
11
8
5
-4
0
0
0
0
0
-32
19
-10
-3
-2
1
0
0
0
45
-8
-3
17
-2
2
0
0
0
0
5
-3
-16
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
-60
23
0
-2
0
0
0
0
0
-22
-15
6
7
8
0
0
0
0
42
33
-29
8
1
0
1
0
0
-2
12
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
-16
-22
2
-4
1
0
0
0
0
19
-35
42
2
0
0
0
0
0
-16
-27
8
-1
2
0
0
0
0
0
-1
6
5
-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
26
17
6
0
0
0
0
0
0
-69
62
5
-1
0
0
0
0
0
-23
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
25
40
-6
0
0
0
0
0
0
25
6
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
0
0
0
0
0
0
7
7
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
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
-2
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
15
-14
0
1
0
0
0
0
0
10
5
-2
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
-4
-1
0
0
0
0
0
0
0
98
-18
2
-3
0
0
0
0
0
3
17
-1
3
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
-1
-5
0
0
0
0
0
0
0
-43
-67
-1
0
0
0
0
0
0
-23
-4
6
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
0
-18
-7
0
0
0
0
0
0
0
-2
-4
0
1
0
0
0
0
0
15
-2
5
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
1
-2
0
0
0
0
0
0
0
7
16
0
0
0
0
0
0
0
-1
10
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
-3
1
0
-2
0
0
0
0
0
-17
12
-3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
2
3
2
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
-1
2
-1
0
0
0
0
0
0
-12
37
0
0
0
0
0
0
0
29
-20
-10
4
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
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
1
-3
3
-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
1
12
0
0
0
0
0
0
0
-35
45
-9
-1
2
0
0
0
0
-11
24
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
0
-3
12
0
0
0
0
0
0
0
-12
25
2
-2
0
0
0
0
0
1
-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
0
0
0
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
0
0
0
0
0
0
0
-25
-42
0
0
0
0
0
0
0
-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
-4
4
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
1
0
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
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
111
0
0
0
0
0
0
0
0
47
28
0
0
0
0
0
0
0
-54
3
119
0
0
0
0
0
0
-11
-59
-5
110
0
0
0
0
0
17
11
-33
3
149
0
0
0
0
-9
-3
-7
-70
-16
25
0
0
0
-35
-105
-13
84
-145
-65
25
0
0
-65
-63
-65
-81
-94
31
-39
86
0
36
-20
10
-159
-13
-141
-175
291
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
30
96
0
0
0
0
0
0
0
29
-20
75
0
0
0
0
0
0
128
-15
-10
137
0
0
0
0
0
67
99
-3
79
-14
0
0
0
0
-85
121
12
85
-30
10
0
0
0
82
2
-13
40
-12
31
-93
0
0
-6
-30
-54
37
102
116
104
165
0
-35
-62
-100
-57
57
45
24
165
-31
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-52
-5
0
0
0
0
0
0
0
-75
-81
50
0
0
0
0
0
0
-42
-81
-70
75
0
0
0
0
0
-20
-15
25
21
35
0
0
0
0
15
19
-140
-102
-134
181
0
0
0
-86
-8
-103
-30
-136
-195
46
0
0
-15
35
24
-105
-76
-60
-180
128
0
61
18
-85
-19
-33
-76
-183
-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
30
0
0
0
0
0
0
0
0
-17
40
0
0
0
0
0
0
0
-146
-38
-27
0
0
0
0
0
0
-83
-29
-52
49
0
0
0
0
0
17
-104
-26
65
42
0
0
0
0
99
37
-82
-2
-102
34
0
0
0
-58
-22
3
-36
118
59
-4
0
0
5
-69
11
-50
15
-22
57
17
65
0
0
0
0
0
0
0
0
0
159
95
0
0
0
0
0
0
0
0
33
34
-6
0
0
0
0
0
0
0
-5
4
2
0
0
0
0
0
0
0
122
128
133
-117
-21
0
0
0
0
0
99
95
59
90
-121
20
0
0
0
0
46
23
67
54
-63
67
-122
0
0
0
22
51
53
-27
-112
99
28
-99
0
0
-5
-3
-64
145
-233
-137
-194
-120
-148
0
41
19
3
-17
-30
-51
-114
-74
39
-13
0
0
0
0
0
0
0
0
0
0
0
208
0
0
0
0
0
0
0
0
0
-28
98
0
0
0
0
0
0
0
0
-7
-8
-10
0
0
0
0
0
0
0
81
-80
-102
-28
0
0
0
0
0
0
-73
117
-45
-31
-24
0
0
0
0
0
-47
-40
-131
69
18
-54
0
0
0
0
-60
-37
-5
61
46
-143
72
0
0
0
-104
-158
-61
-72
-33
18
-123
11
0
0
-60
-48
11
58
54
-22
63
-57
-53
0
0
0
0
0
0
0
0
0
0
116
0
0
0
0
0
0
0
0
0
99
65
0
0
0
0
0
0
0
0
74
46
64
0
0
0
0
0
0
0
6
110
-54
21
0
0
0
0
0
0
40
47
-105
-39
6
0
0
0
0
0
131
0
-11
-2
46
-49
0
0
0
0
151
76
-78
-9
19
-106
-38
0
0
0
27
32
133
-5
-63
-75
112
31
0
0
65
65
-25
9
24
-54
57
71
-51
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
-1
51
0
0
0
0
0
0
0
0
136
-57
-58
0
0
0
0
0
0
0
115
94
-82
11
0
0
0
0
0
0
-69
59
85
59
54
0
0
0
0
0
43
45
63
-9
38
-4
0
0
0
0
202
-35
63
-6
48
27
-3
0
0
0
53
29
-57
-67
31
24
26
6
0
0
48
-75
-113
10
-75
-22
-3
17
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
137
0
0
0
0
0
0
0
0
11
59
0
0
0
0
0
0
0
-52
-49
36
0
0
0
0
0
0
2
-54
-38
40
0
0
0
0
0
-4
-15
-87
-45
9
0
0
0
0
-24
-50
-2
-72
-53
-21
0
0
0
-131
-186
-4
73
-174
88
-2
0
0
-6
-83
-66
-30
-132
63
-93
-4
0
5
70
-99
-68
0
-142
-90
124
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
13
-22
0
0
0
0
0
0
0
79
78
72
0
0
0
0
0
0
3
44
32
-82
0
0
0
0
0
-2
11
16
-102
63
0
0
0
0
29
-54
131
116
82
-26
0
0
0
-63
98
-68
-14
26
4
-61
0
0
-33
-42
-51
-11
71
41
143
58
0
-51
-56
-44
18
4
4
27
-6
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-50
1
0
0
0
0
0
0
0
-58
-57
-1
0
0
0
0
0
0
-48
-77
-14
15
0
0
0
0
0
-46
-95
-126
-62
11
0
0
0
0
-102
-52
-37
-62
-35
46
0
0
0
-49
-54
-67
-38
-59
-63
21
0
0
-76
-83
-75
-63
-42
-84
-74
37
0
37
51
-45
-53
-53
-25
-90
-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
2
0
0
0
0
0
0
0
0
-36
3
0
0
0
0
0
0
0
127
-8
58
0
0
0
0
0
0
10
-41
51
25
0
0
0
0
0
1
9
-28
0
61
0
0
0
0
0
38
52
57
52
-75
0
0
0
7
-28
39
74
29
64
86
0
0
-22
-22
25
24
62
58
-11
45
-38
0
0
0
0
0
0
0
0
0
34
29
0
0
0
0
0
0
0
0
-16
36
122
0
0
0
0
0
0
0
-21
0
29
0
0
0
0
0
0
0
11
91
8
-10
-34
0
0
0
0
0
32
15
41
86
-43
-85
0
0
0
0
28
42
51
-9
-90
-210
-195
0
0
0
38
60
37
-50
-123
-1
-23
-8
0
0
24
29
25
-19
-106
-54
-67
-157
-28
0
24
44
34
23
-120
-16
-7
-86
-91
-15
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
81
-70
0
0
0
0
0
0
0
0
-6
59
-1
0
0
0
0
0
0
0
-53
-41
-58
52
0
0
0
0
0
0
-1
-42
-63
-173
3
0
0
0
0
0
5
-12
0
71
7
-22
0
0
0
0
-12
-13
31
14
-60
21
71
0
0
0
-32
-32
-51
-8
11
-87
5
-240
0
0
-42
5
-15
-9
-27
6
-9
-52
-11
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
27
94
0
0
0
0
0
0
0
0
16
3
-9
0
0
0
0
0
0
0
-3
-6
-14
6
0
0
0
0
0
0
47
3
-43
-50
-4
0
0
0
0
0
9
93
27
20
-53
-71
0
0
0
0
12
-13
-135
-24
21
-20
18
0
0
0
57
-14
-30
-14
-16
18
-130
112
0
0
30
4
2
-13
-6
-67
-51
-22
17
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
56
-50
0
0
0
0
0
0
0
0
21
-5
53
0
0
0
0
0
0
0
-9
78
8
93
0
0
0
0
0
0
-13
-31
94
133
40
0
0
0
0
0
31
46
49
128
12
25
0
0
0
0
-28
34
65
29
-73
78
-4
0
0
0
25
12
-31
96
118
90
132
0
0
0
31
68
-49
36
37
-18
7
32
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
14
40
0
0
0
0
0
0
0
-54
-68
49
0
0
0
0
0
0
-3
-68
-57
33
0
0
0
0
0
-14
8
-87
-79
15
0
0
0
0
-36
-81
7
-88
-71
-9
0
0
0
-126
-182
-3
66
-164
91
20
0
0
2
-81
-75
-34
-135
55
-106
-3
0
-15
97
-107
-61
13
-158
-75
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
0
0
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
75
79
73
0
0
0
0
0
0
6
46
55
-92
0
0
0
0
0
-13
0
23
-109
57
0
0
0
0
34
-54
127
132
88
-34
0
0
0
-59
98
-66
-16
30
8
-65
0
0
-43
-48
-54
-1
72
42
153
57
0
-43
-59
-17
38
-3
2
14
-23
-3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-63
3
0
0
0
0
0
0
0
-57
-60
4
0
0
0
0
0
0
-49
-73
-10
34
0
0
0
0
0
-34
-108
-157
-67
46
0
0
0
0
-104
-56
-25
-70
-12
26
0
0
0
-65
-66
-58
-37
-57
-23
33
0
0
-85
-90
-83
-74
-55
-92
-51
51
0
10
49
-49
-57
-74
-25
-75
-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
-1
0
0
0
0
0
0
0
0
-35
2
0
0
0
0
0
0
0
135
-7
60
0
0
0
0
0
0
10
-34
43
21
0
0
0
0
0
-6
17
-16
-7
70
0
0
0
0
-16
53
74
62
65
-78
0
0
0
22
-15
49
90
4
62
88
0
0
-3
5
46
31
57
54
-40
40
-73
0
0
0
0
0
0
0
0
0
15
35
0
0
0
0
0
0
0
0
-35
27
127
0
0
0
0
0
0
0
-24
-3
32
0
0
0
0
0
0
0
7
79
7
-1
-37
0
0
0
0
0
31
10
38
78
-39
-84
0
0
0
0
17
61
38
-7
-91
-226
-205
0
0
0
37
80
30
-51
-137
-1
-30
-15
0
0
18
47
42
-3
-91
-55
-56
-192
-10
0
27
16
58
10
-118
-26
-2
-86
-114
-15
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
92
-38
0
0
0
0
0
0
0
0
-4
55
-2
0
0
0
0
0
0
0
-79
-47
-61
58
0
0
0
0
0
0
21
-46
-72
-181
1
0
0
0
0
0
23
-3
17
66
10
-20
0
0
0
0
-14
-12
35
16
-71
23
74
0
0
0
-7
-31
-67
23
15
-107
3
-238
0
0
-3
2
-15
-9
-23
11
-31
-39
-14
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
-14
-21
0
0
0
0
0
0
0
-5
-7
-8
7
0
0
0
0
0
0
19
-17
-33
-51
-5
0
0
0
0
0
16
96
21
20
-43
-75
0
0
0
0
17
-36
-135
-24
21
-15
40
0
0
0
69
-11
-32
-16
-15
17
-136
119
0
0
13
0
2
-12
-3
-67
-52
-26
27
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
63
-48
0
0
0
0
0
0
0
0
6
6
59
0
0
0
0
0
0
0
-39
67
5
91
0
0
0
0
0
0
-17
-39
95
150
34
0
0
0
0
0
25
46
52
127
13
24
0
0
0
0
-34
40
63
29
-70
76
-4
0
0
0
15
12
-38
99
120
85
129
0
0
0
31
72
-50
35
43
-15
7
31
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
0
0
0
-169
0
0
0
0
0
0
0
0
-54
-57
0
0
0
0
0
0
0
65
3
47
0
0
0
0
0
0
60
-10
-9
-84
0
0
0
0
0
36
36
127
-46
81
0
0
0
0
16
34
55
-74
-70
59
0
0
0
-41
-2
4
0
-53
24
104
0
0
66
25
-30
-69
-5
-60
-2
84
0
62
21
42
7
-2
-1
-80
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-45
13
0
0
0
0
0
0
0
12
11
-3
0
0
0
0
0
0
-34
-14
11
0
0
0
0
0
0
2
-5
-1
2
3
0
0
0
0
21
-6
1
8
-13
-3
0
0
0
49
15
25
-5
0
0
-1
0
0
26
-39
84
39
-58
-55
-9
-21
0
-46
-28
112
19
-69
-72
-72
-14
-13
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-30
-5
-73
0
0
0
0
0
0
27
15
-64
-97
0
0
0
0
0
-3
19
16
34
27
0
0
0
0
42
-33
13
-3
-26
-40
0
0
0
-34
-79
-37
-118
25
27
14
0
0
-2
-2
57
-127
-27
3
-34
88
0
-153
-61
-9
51
28
-38
-113
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
7
0
10
0
0
0
0
0
0
8
7
3
5
0
0
0
0
0
-8
24
-3
29
1
0
0
0
0
-26
90
-14
37
0
29
0
0
0
-70
-21
26
-79
1
-45
6
0
0
37
24
70
-30
74
-66
47
-1
-57
0
0
0
0
0
0
0
0
0
-28
-56
0
0
0
0
0
0
0
0
32
-34
60
0
0
0
0
0
0
0
-24
-2
14
0
0
0
0
0
0
0
95
18
-2
-3
-10
0
0
0
0
0
13
7
78
11
-24
0
0
0
0
0
11
39
13
-7
-12
-4
-4
0
0
0
35
125
28
8
-22
-17
-10
10
0
0
49
-14
28
92
57
-20
8
-74
-38
0
75
-192
37
-26
4
-1
-16
-10
-19
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
-74
-52
0
0
0
0
0
0
0
0
-27
63
-3
0
0
0
0
0
0
0
7
21
-46
16
0
0
0
0
0
0
31
17
-46
-35
1
0
0
0
0
0
-2
16
23
51
38
5
0
0
0
0
43
23
67
-73
-38
-27
-3
0
0
0
81
-221
-11
97
65
5
-27
31
0
0
66
19
-8
-29
81
64
-47
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
82
31
0
0
0
0
0
0
0
0
40
-45
2
0
0
0
0
0
0
0
-14
71
0
99
0
0
0
0
0
0
-111
62
-20
-2
-2
0
0
0
0
0
75
67
-7
-1
-7
18
0
0
0
0
10
-25
35
0
6
7
71
0
0
0
63
3
6
0
-3
0
-15
-2
0
0
-15
0
-32
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-32
13
0
0
0
0
0
0
0
0
44
38
53
0
0
0
0
0
0
0
-53
-14
-33
-10
0
0
0
0
0
0
-22
16
18
8
-4
0
0
0
0
0
-62
-11
8
-15
21
0
0
0
0
0
8
67
18
-8
0
0
0
0
0
0
4
6
-38
-9
-2
-3
0
0
0
0
35
8
-3
8
0
2
0
0
0
0
0
-8
0
0
3
-5
0
0
-172
47
-28
118
-118
141
0
0
0
-65
-5
13
-1
-21
0
0
41
40
2
128
-92
202
0
0
0
41
18
2
0
-78
0
0
-89
-68
-9
21
-171
-58
0
0
0
-118
-15
-23
1
25
0
0
59
19
-19
57
39
17
0
0
0
30
-5
-82
-44
0
0
0
-80
101
76
-160
-69
-113
0
0
0
-2
-66
-104
7
84
0
0
-24
130
85
-50
15
89
0
0
0
-113
0
-161
-11
149
0
0
-82
87
-123
-199
-70
-187
0
0
0
25
0
-52
13
-227
0
0
-22
102
-48
-35
-30
21
0
0
0
-58
-19
0
21
4
0
0
51
1
-74
64
5
88
0
0
0
-57
2
-10
-4
34
0
0
10
-27
-83
25
-14
86
0
0
0
-63
22
8
0
-70
0
0
-1
56
3
47
-32
-26
0
0
0
-49
-27
-6
12
40
0
0
25
102
15
-84
45
-52
0
0
0
-17
46
-111
45
71
0
0
-1
6
27
51
-88
91
0
0
0
-35
17
-17
-2
42
0
0
-79
-35
-27
-2
-121
134
0
0
0
7
0
-100
5
77
0
0
-136
17
32
23
-83
49
0
0
0
-150
5
-84
29
-15
0
0
-99
10
-73
-21
-74
-145
0
0
0
-55
-19
0
21
4
0
0
44
8
-75
59
-17
87
0
0
0
-52
2
-10
-4
34
0
0
15
-24
-83
27
-10
84
0
0
0
-61
21
8
0
-69
0
0
-1
69
1
42
-31
-30
0
0
0
-49
-27
-7
12
40
0
0
12
98
16
-83
48
-54
0
0
0
-1
44
-113
44
77
0
0
14
-18
27
73
-77
165
0
0
0
-54
18
-13
-3
50
0
0
-85
-54
-29
-3
-141
135
0
0
0
9
0
-96
5
84
0
0
-140
-4
32
28
-95
69
0
0
0
-138
5
-85
34
-15
0
0
-96
-4
-78
-24
-91
-157
0
0
0
-1
-2
0
0
3
0
0
-16
100
0
19
-21
3
0
0
0
14
1
0
-1
0
0
0
59
-50
0
8
-2
-4
0
0
0
-2
0
0
0
7
0
0
46
-7
0
1
63
1
0
0
0
2
0
0
0
-1
0
0
-17
-4
0
-10
-8
-2
0
0
0
8
2
-4
1
23
0
0
6
-9
0
-43
-26
68
0
0
0
-8
2
3
-4
21
0
0
-32
112
28
-7
-19
-8
0
0
0
-8
0
0
0
15
0
0
-7
-71
0
-25
-44
27
0
0
0
2
0
1
-1
3
0
0
3
-98
-10
-9
-11
-2
0
0
0
-1
0
-4
0
-42
0
0
-60
-135
-24
-166
-145
30
-46
0
0
0
0
1
0
-120
-37
0
-137
-57
-137
-25
-84
-48
-115
0
0
-11
0
-1
1
-2
0
0
41
-43
13
26
67
1
-51
0
0
-27
-3
-1
3
-11
1
0
-12
-6
-42
-37
-21
-60
-78
0
0
-53
0
13
7
-53
35
0
-53
-3
-46
-64
-81
29
-154
0
0
37
6
-21
-6
-3
0
0
-95
-47
-63
9
98
40
-81
0
0
-25
-3
-1
3
-9
1
0
16
15
-30
-5
0
-66
-92
0
0
-49
0
13
7
-52
33
0
-68
18
-47
-51
-83
26
-152
0
0
32
6
-21
-6
-3
0
0
-101
-45
-68
2
101
40
-80
0
0
-8
0
0
-1
-16
-2
0
-52
10
-4
112
-38
-34
-51
0
0
15
0
-2
4
3
2
0
-83
-145
-51
50
-178
-43
31
0
0
0
0
-1
-2
0
0
0
-28
20
-25
-20
15
-3
-21
2
-19
8
-5
27
16
1
4
13
-6
2
1
3
5
5
-9
44
-20
66
-3
13
18
-34
61
-29
-34
18
-14
44
4
-63
58
29
-10
-7
25
46
25
25
34
31
-6
22
9
22
32
11
22
-43
37
101
-23
-45
-51
59
8
-23
3
-5
-8
-115
-43
-8
5
9
6
11
6
-1
13
2
13
-2
-24
6
-34
-3
3
-11
12
32
6
-18
-20
-23
5
2
57
15
-3
-17
1
-40
-27
-19
2
-15
10
9
10
-2
-4
-15
-4
10
7
14
33
-26
3
81
33
-39
-13
-28
-34
55
-33
4
-16
52
45
-10
109
26
28
-2
-16
9
22
13
-14
5
7
2
5
9
-9
6
-5
3
-18
7
-10
-6
8
-44
57
35
-9
71
-21
-41
32
-89
22
2
50
13
32
11
-41
2
0
9
18
-5
-3
9
16
12
14
9
14
9
-1
2
-35
23
-64
-25
-5
-10
-2
-26
23
-54
-48
-29
29
8
-8
10
6
-3
0
16
0
1
7
-4
-47
-5
-3
-1
-26
2
-85
1
33
-31
-16
-7
15
47
18
15
34
31
2
34
-7
48
3
4
-39
-10
-1
-1
-14
6
-2
-10
4
-31
18
-5
0
-6
45
-23
-42
21
37
32
-32
-5
4
31
-9
-18
33
-32
-6
-3
-3
3
25
-11
6
-4
13
-2
0
13
10
3
9
14
12
11
10
1
-40
3
39
-12
-6
13
-3
-48
-61
19
44
21
16
-92
58
0
1
-7
1
1
7
2
11
1
-6
-12
15
4
2
8
3
-1
72
80
-9
21
-4
8
31
12
-87
0
-51
61
31
4
-20
-7
17
13
10
-1
-15
-4
-4
10
8
5
29
8
3
0
10
46
-30
74
49
-29
-8
-53
50
51
-11
-106
82
-7
-19
-19
28
-10
15
13
-11
0
-7
-13
28
7
-13
-7
15
-6
10
6
4
51
-13
-20
-18
-26
-41
-41
-23
1
-3
50
-22
41
-4
-21
45
-5
18
17
-21
-15
-9
-6
12
0
20
0
-1
8
10
16
5
-36
31
76
62
-7
-3
40
-12
3
-47
3
-11
3
3
-11
-10
7
-8
6
28
1
-2
-4
13
17
3
31
40
12
18
24
25
18
-65
-52
-39
-35
34
-43
-37
-15
10
-102
-30
40
-51
70
22
-16
15
-24
-9
-9
-1
-9
5
-3
-4
-11
-3
-3
13
-6
-20
79
69
-7
-10
6
24
-8
1
16
-5
1
62
-2
24
-5
-19
-6
-18
-47
-5
-4
-49
-2
42
3
9
-2
-67
-5
36
-21
23
2
29
9
22
-1
-4
10
15
1
-7
28
23
10
22
15
-2
19
-34
57
-21
62
7
34
-31
28
2
31
46
13
32
28
24
21
39
-7
55
-2
-4
-42
22
5
-7
-45
7
-14
18
-3
-4
-30
89
12
49
14
-34
7
-21
14
16
52
1
-6
-15
-24
9
12
-42
-34
-42
19
-2
22
38
40
18
71
-31
28
5
4
3
-50
-10
-83
76
-9
61
19
-17
45
31
38
10
-13
58
-4
-37
47
8
15
6
-27
15
16
-32
21
-17
-5
-14
-17
12
-33
-1
24
-47
58
-21
-52
-28
-68
100
14
-19
-19
-50
-32
14
-13
42
3
16
2
43
-6
17
3
-38
26
-48
38
-51
192
-16
65
50
-16
18
-42
-14
-14
3
-47
26
22
47
28
69
40
7
65
-96
-3
-3
-38
54
25
0
-6
20
7
-23
6
-17
-24
17
-19
-54
25
-66
-43
18
-14
37
-9
-29
20
42
54
66
36
20
94
21
34
2
-37
-5
53
-13
-11
-29
56
16
21
58
27
-34
107
14
35
-23
-2
-51
-19
-16
7
2
-34
37
23
-42
-54
24
-34
-1
13
34
6
-25
75
18
-46
-10
14
10
74
-26
-51
32
-11
37
19
-66
-2
10
-22
12
10
18
68
-19
5
8
44
-23
40
-49
13
-7
15
98
-50
4
0
25
4
-12
19
24
11
12
4
-7
-4
41
-4
-16
-28
-26
54
23
-26
15
-42
51
-6
7
61
38
0
45
38
-41
47
-3
79
18
22
21
29
1
48
74
35
7
6
-25
64
34
-12
43
2
95
-7
-30
-19
-56
9
-28
-14
13
41
20
-40
10
39
24
77
24
26
4
-8
17
17
13
-22
-37
14
6
-22
-34
28
-16
-41
23
54
36
27
34
22
21
-23
-17
17
56
-13
55
5
-26
6
41
6
-32
-3
-16
-45
45
32
42
-82
-2
41
-30
-2
19
-9
6
-12
28
7
46
-2
15
74
69
27
-8
-16
28
51
9
45
-27
5
60
40
17
20
41
55
12
11
83
-58
2
-11
133
-14
101
-24
46
-9
28
18
34
29
1
12
8
49
-24
-95
44
-35
19
-23
4
4
38
-11
-52
45
15
23
63
4
-54
48
22
80
-67
7
88
-2
-12
-73
31
52
27
57
25
7
-31
2
-110
-4
-2
48
21
61
-16
6
-33
67
-10
-2
-7
0
23
34
40
23
-12
33
29
31
22
14
-24
-1
-15
-17
66
13
50
34
-16
-17
-63
44
5
-10
5
-8
-8
-37
-18
19
28
1
12
21
14
-31
16
-26
27
-14
-9
-6
50
-7
-8
5
-15
76
24
53
-10
16
-13
2
13
7
28
-40
10
38
5
13
24
16
6
19
6
5
8
7
7
3
2
-6
-19
5
-3
2
26
-44
49
-9
9
-23
-7
-16
32
25
-50
-23
-36
-22
-26
0
3
-1
5
-3
8
3
-23
3
10
-4
1
-10
-14
-7
-59
1
-53
5
1
16
35
3
-14
1
4
40
33
-1
-15
-9
45
8
2
2
7
-5
-9
-1
4
4
12
3
8
-7
-7
-34
-75
-14
63
7
17
12
15
-3
-19
67
-6
66
40
1
-20
16
-7
4
7
3
-14
-10
-4
-13
-22
-3
31
38
18
-4
-10
3
-53
36
0
-35
22
63
-30
-48
-25
-13
13
-82
67
26
77
31
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
2
-1
7
46
14
-5
13
4
3
5
7
19
4
5
14
15
6
-22
-8
2
9
25
-18
35
-10
-25
31
80
-12
-46
10
6
0
-43
14
27
0
2
18
25
15
13
-3
-51
6
15
-9
27
-10
-1
28
52
8
61
18
53
34
46
-17
47
-20
-68
-20
-6
-10
-29
15
15
-5
-12
16
11
13
18
-8
-25
-9
-1
-5
1
17
54
22
-56
0
6
-21
89
-7
-30
60
9
15
-14
-19
62
7
16
-24
-18
20
-33
23
5
4
17
34
12
-32
14
-20
-28
-26
43
-13
39
-17
-12
64
128
57
-71
-20
31
-17
56
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
18
-4
28
27
25
19
33
-16
-13
36
-10
-4
-27
-10
-54
-47
8
9
48
-11
0
8
-12
39
21
15
27
30
85
-13
-85
63
34
31
-10
-80
3
50
-5
12
39
14
7
40
-27
44
8
9
43
-16
66
-22
-14
15
19
-26
6
62
27
48
-74
-19
0
-89
-13
83
-15
90
-21
16
28
-22
27
-39
83
17
111
-42
43
-1
-33
-73
28
-37
-17
10
67
0
-36
23
43
40
-6
43
44
-46
4
108
-53
-20
0
-19
-49
-18
93
-82
-54
-50
42
126
-18
90
-5
28
23
5
45
53
-19
13
-6
49
54
-57
-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
-14
12
-8
44
-21
25
-43
13
-7
52
-34
38
-33
14
12
18
4
66
6
-64
-13
25
2
-11
38
-24
20
46
24
31
14
64
12
26
-27
36
5
95
-80
13
-24
2
14
-82
-17
-43
33
24
39
37
19
-7
-17
9
32
-53
-33
28
22
-3
-24
-79
92
104
-11
-18
24
-2
36
33
8
7
-47
-51
-47
-20
-14
-66
-10
-2
0
-11
-10
73
33
-19
-26
56
49
-3
39
21
26
75
-26
-2
-1
19
-22
-24
49
-24
20
7
37
-8
4
-45
-111
-47
29
-30
-16
-5
-17
-10
25
15
-27
-43
-14
135
-83
61
37
18
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
8
-3
13
11
0
0
0
0
32
15
15
2
0
0
0
0
-12
-7
21
-12
0
0
0
0
-29
26
5
-9
0
0
0
0
11
0
-6
-6
0
0
0
0
12
-12
-4
-28
0
0
0
0
79
52
-66
12
0
0
0
0
31
30
-59
-49
0
0
0
0
11
-1
-4
-5
0
0
0
0
15
14
-12
-30
0
0
0
0
-11
6
-12
-7
0
0
0
0
-9
-22
-56
42
0
0
0
0
4
-6
-5
12
0
0
0
0
20
-5
18
-12
0
0
0
0
17
-24
20
-31
0
0
0
0
-25
-4
15
36
0
0
0
0
12
21
-2
1
0
0
0
0
8
-9
-2
-24
0
0
0
0
15
29
41
-11
0
0
0
0
19
11
-68
7
0
0
0
0
4
7
-5
-13
0
0
0
0
4
-18
-4
-24
0
0
0
0
40
45
49
-19
0
0
0
0
-5
-83
-16
-76
0
0
0
0
5
-4
3
7
0
0
0
0
13
-11
-12
22
0
0
0
0
-14
31
5
-15
0
0
0
0
43
54
45
-74
0
0
0
0
-1
-10
-21
25
0
0
0
0
-12
2
-8
-8
0
0
0
0
-15
20
21
14
0
0
0
0
50
-43
-1
0
0
0
0
0
15
14
12
0
0
0
0
0
5
3
5
3
0
0
0
0
-17
-14
26
-57
0
0
0
0
-6
13
41
-35
0
0
0
0
15
21
-12
0
0
0
0
0
8
4
16
-21
0
0
0
0
-10
-21
53
61
0
0
0
0
-12
-4
32
77
0
0
0
0
8
5
17
6
0
0
0
0
0
3
-17
-7
0
0
0
0
-22
23
25
103
0
0
0
0
9
36
9
-43
0
0
0
0
-19
32
11
13
0
0
0
0
-11
11
51
43
0
0
0
0
42
22
43
-26
0
0
0
0
34
7
-36
50
0
0
0
0
-15
4
-7
-9
0
0
0
0
-3
-6
-11
-9
0
0
0
0
-25
-65
15
16
0
0
0
0
6
6
21
-35
0
0
0
0
-4
-5
-19
-24
0
0
0
0
-11
-4
6
-26
0
0
0
0
-26
-17
-2
91
0
0
0
0
-34
31
-31
9
0
0
0
0
0
-7
-20
-53
0
0
0
0
-18
-20
-24
-1
0
0
0
0
19
14
29
85
0
0
0
0
-12
-19
-15
44
0
0
0
0
-7
3
10
33
0
0
0
0
-12
13
-4
29
0
0
0
0
-35
-13
62
-6
0
0
0
0
7
48
-17
-25
0
0
0
0
68
-27
-33
34
0
0
0
0
-20
-21
-21
-8
0
0
0
0
10
-20
1
-9
0
0
0
0
17
28
13
110
0
0
0
0
7
-8
33
16
0
0
0
0
97
10
55
-79
0
0
0
0
24
-28
7
-45
0
0
0
0
12
-14
-28
-15
0
0
0
0
13
-53
-28
-17
0
0
0
0
68
-6
27
-7
0
0
0
0
78
15
-74
45
0
0
0
0
42
-24
47
20
0
0
0
0
-35
72
55
-34
0
0
0
0
22
108
-3
17
0
0
0
0
66
51
-15
17
0
0
0
0
-58
34
16
-12
0
0
0
0
42
47
-59
-60
0
0
0
0
-12
-1
-45
-49
0
0
0
0
84
16
59
-3
0
0
0
0
19
-13
-9
-8
0
0
0
0
-45
-46
23
-48
0
0
0
0
-30
2
58
-23
0
0
0
0
-57
38
46
-14
0
0
0
0
-1
42
6
5
0
0
0
0
73
-40
-37
30
0
0
0
0
54
-36
6
31
0
0
0
0
61
-6
15
27
0
0
0
0
22
17
-46
-73
0
0
0
0
-49
80
-27
-31
0
0
0
0
42
18
67
-16
0
0
0
0
92
0
27
45
0
0
0
0
79
-56
50
-62
0
0
0
0
14
4
14
69
0
0
0
0
2
4
-31
-9
0
0
0
0
35
12
11
-33
0
0
0
0
17
4
13
10
0
0
0
0
24
82
11
-25
0
0
0
0
8
55
-15
78
0
0
0
0
50
31
-19
-71
0
0
0
0
45
-4
44
-27
0
0
0
0
-49
-41
23
-31
0
0
0
0
-5
52
-34
88
0
0
0
0
65
35
13
56
0
0
0
0
-20
3
0
-9
0
0
0
0
8
-14
-2
59
0
0
0
0
-43
65
-15
18
0
0
0
0
22
-58
-37
52
0
0
0
0
60
-37
10
51
0
0
0
0
-27
40
3
5
0
0
0
0
-21
-3
-5
18
0
0
0
0
9
96
-89
-24
0
0
0
0
7
33
12
-3
0
0
0
0
-17
-68
79
52
0
0
0
0
-38
43
-5
43
0
0
0
0
-19
20
-17
-34
0
0
0
0
-20
-4
0
-118
0
0
0
0
-74
-47
41
2
0
0
0
0
7
42
24
37
0
0
0
0
1
22
55
-13
0
0
0
0
-21
24
14
13
0
0
0
0
-28
-10
-12
23
0
0
0
0
-10
71
-61
2
0
0
0
0
14
21
-37
156
0
0
0
0
-7
-2
23
58
0
0
0
0
2
-2
0
-9
4
1
9
-1
-2
-3
-1
-26
-6
-13
7
-40
-6
-11
69
25
-31
12
-26
-50
35
113
48
41
-17
-38
-22
-10
-19
1
36
13
8
-20
6
-3
2
-16
-3
-32
4
11
4
-15
-39
64
51
11
-31
32
28
10
-41
72
18
10
20
-35
45
-3
7
6
7
-7
2
-4
-14
32
22
11
-2
-91
2
15
6
-11
-3
-28
10
-10
28
25
-17
-4
-63
52
54
39
82
-49
41
7
-12
19
6
-9
-20
-16
0
34
-24
14
-8
-69
9
-37
34
130
82
-36
86
14
-29
25
19
47
31
2
-60
19
61
9
8
-1
6
19
21
20
0
0
-1
-5
11
10
5
12
-10
-11
5
-10
30
22
44
87
-53
-57
23
-4
4
10
66
-45
105
-3
-12
10
-2
10
7
14
-1
4
-10
18
11
19
-11
2
-3
2
11
-17
11
53
-15
-22
-48
18
-1
-8
45
7
1
-17
-16
-49
-35
24
-10
-7
9
13
-2
-12
-6
13
1
-6
1
-13
-13
12
9
-11
-18
-1
-3
52
102
-19
-60
-18
-32
38
-5
2
87
22
77
-1
-7
4
19
11
-6
-2
-15
-2
-3
28
8
37
13
-7
31
27
66
1
-2
-15
-55
-19
-18
19
41
-9
4
26
-10
13
-22
55
-28
-24
11
-62
21
5
7
22
8
8
1
-1
8
-2
-5
12
3
-1
-2
-47
8
-19
20
74
34
31
-22
26
13
34
20
64
-27
-35
-32
51
11
10
7
-36
6
12
-10
-13
23
-5
-18
-34
5
45
46
38
53
-37
1
-13
18
-37
33
-41
48
-46
-24
-24
20
-4
-33
-91
7
-1
-11
-35
-1
0
1
-41
7
0
-1
-31
-12
-4
7
-47
18
-4
8
7
3
19
-4
-4
2
36
13
-31
-24
-88
35
-74
14
0
12
78
1
-22
5
20
-3
-11
13
13
-32
-14
28
-8
30
-30
76
49
-23
-27
-48
8
19
6
58
-3
15
-31
-32
-25
-1
2
-28
19
7
9
13
-21
2
7
3
-9
11
5
15
68
3
-86
20
4
-19
-24
27
65
12
-9
-43
23
-8
-32
7
-61
15
14
-19
-8
14
20
-5
-11
-8
6
-29
-32
-38
-33
-15
39
-33
-31
-10
-11
-1
-14
89
7
-3
3
-30
-4
-26
-9
-28
-45
4
-11
-34
-42
1
-6
-15
22
9
7
-39
30
40
-67
19
-23
-26
-14
-18
50
-37
20
19
-12
-59
35
40
-56
1
10
13
18
24
18
30
7
9
24
-11
59
23
17
22
14
28
4
52
36
35
2
-11
3
68
-37
35
-40
-33
1
20
-8
-30
52
60
-5
23
37
-14
8
-7
-4
93
-40
-40
-30
-33
-10
-1
72
-24
86
26
14
-16
-17
-3
0
47
23
-49
-9
15
2
24
13
35
-9
80
-43
-21
-6
5
66
5
-7
-20
-14
25
31
39
34
-89
6
0
-25
-17
6
89
46
-51
48
42
-3
-14
5
-66
-1
-15
0
-2
-19
1
6
9
-3
-32
-3
-6
18
40
-18
16
15
62
-13
0
-3
16
-17
-22
-42
-3
-60
-13
4
27
-3
-11
-22
29
-18
34
-18
9
-27
-7
17
17
-56
-1
26
13
-18
19
14
62
-22
13
27
-1
3
24
53
20
57
46
20
35
-5
10
22
-38
-23
-3
55
-16
-20
13
-6
72
-37
-27
-10
19
33
13
16
-19
-12
-3
56
-4
-5
29
41
-12
83
-2
-57
1
55
-16
37
-19
38
-1
5
-9
-19
-33
-20
-16
-1
38
-19
-11
7
-29
23
-36
57
42
0
13
-3
36
77
52
-28
9
31
9
-16
17
49
24
20
-14
3
-28
26
10
-114
50
38
50
18
-2
-11
-16
39
-9
-4
-41
-1
-4
-15
-66
45
-27
1
78
-16
-42
5
42
6
-3
-43
24
-13
-18
38
-4
2
23
31
20
86
-18
11
-36
-27
-6
49
34
9
-15
3
-7
50
36
-44
18
-4
41
-26
5
13
-36
-28
-83
1
20
-2
25
49
36
98
81
9
-2
-16
24
35
-18
-7
81
30
66
-17
-29
5
33
32
-6
-74
-13
22
11
-20
-1
6
88
-12
19
-2
-12
-18
73
19
-22
16
70
21
69
-7
30
2
45
-15
-52
-17
75
23
-13
55
-35
-6
22
53
-16
-72
-15
13
-51
-25
-16
-20
32
79
12
3
-34
72
-32
5
3
-13
9
2
-39
15
49
38
-46
45
1
-61
75
-57
-67
-27
-8
-8
-14
9
-23
-1
13
2
-42
-10
-85
48
-11
114
5
0
-22
10
-2
28
-13
-13
84
12
29
-2
38
22
73
-6
-30
7
-39
36
8
0
-19
-3
-13
-2
42
-46
82
27
-18
8
7
8
-1
35
15
-12
49
57
-63
14
19
-31
-38
-26
-53
22
-8
14
-77
-3
10
0
-10
-3
2
-9
4
73
21
31
51
-34
40
7
41
-35
1
4
3
34
23
11
48
7
31
-23
29
19
52
53
-7
-3
-36
28
-32
-2
-25
0
-1
-7
87
25
-12
-2
-44
-4
11
-16
3
-5
-29
13
-43
24
26
-26
16
-31
-54
28
4
81
0
-14
10
5
0
-16
2
-7
-1
32
-6
60
27
2
30
8
-78
-7
-22
0
12
-46
54
34
-7
44
-36
7
2
-7
8
-33
5
18
13
15
17
7
-4
-7
35
8
0
-18
-21
18
-43
-3
27
9
8
-78
22
-42
34
1
-35
38
27
-135
83
-71
-30
-49
23
13
6
1
5
5
35
-19
-7
19
-7
-11
-1
-14
-22
7
4
59
-13
-54
-30
-71
-29
30
-12
38
4
-50
29
-5
20
-25
24
68
-4
45
4
32
10
20
16
5
53
-3
-16
33
4
37
-33
2
25
54
-11
-24
35
0
-67
22
-67
13
-85
110
10
96
0
13
12
42
27
43
31
57
-9
5
6
-42
27
7
6
50
22
41
60
34
21
125
20
-11
-14
12
74
-115
-69
12
48
-70
-1
-3
42
2
9
2
20
33
16
34
45
42
41
28
45
61
24
-7
-20
-1
25
-1
34
-27
12
18
69
125
19
-9
-49
45
-13
-1
32
43
-4
-13
28
24
-19
-46
61
79
18
30
16
48
-28
-79
-35
-63
-26
-74
4
-66
21
31
87
23
24
80
34
-49
5
21
7
41
3
26
2
32
6
7
47
-5
-26
44
-52
53
-17
-6
-18
-20
-24
30
-42
59
-47
89
20
-53
57
150
95
96
0
46
12
33
52
34
28
57
2
90
30
3
16
47
52
97
-84
-40
-61
101
33
-42
-42
-95
15
-16
39
79
9
-53
-71
-42
16
0
7
22
20
1
-9
9
6
17
3
4
13
29
16
2
50
72
65
10
37
4
87
23
103
92
-9
47
74
94
23
-41
-18
26
-45
34
7
59
-11
13
11
-6
3
-14
15
14
2
-2
44
-44
-16
-2
58
9
-59
-41
69
79
65
31
115
68
24
-17
-12
21
-10
51
26
17
14
41
26
25
30
29
29
26
17
22
-37
-17
69
17
-15
61
16
8
44
88
24
117
31
64
53
-37
11
45
42
115
-16
63
23
106
-25
12
-9
50
9
34
21
-15
54
15
17
118
-44
34
52
-15
31
84
130
41
31
123
8
13
20
-1
29
4
-5
-23
-10
13
-7
-12
-7
-16
34
26
16
26
28
-12
68
0
55
6
87
1
21
68
81
11
28
88
38
-26
-6
-6
-23
29
-7
3
-10
36
41
21
-6
0
22
14
13
10
36
-55
133
-34
53
97
53
48
-14
11
64
55
83
-43
137
11
-2
9
24
44
-4
-5
7
21
16
5
-9
74
26
11
7
22
-25
-82
-3
145
-5
41
101
70
33
4
120
184
0
-48
66
160
-14
37
-14
15
39
39
32
21
23
48
8
-31
41
33
51
11
68
-1
-23
-24
75
-35
8
-25
50
-9
-16
147
35
45
8
15
26
-25
42
-5
32
-34
67
-59
43
33
33
56
-24
73
11
6
14
47
6
5
28
-16
-17
56
29
12
14
-83
22
-19
-22
-111
86
7
34
0
30
-15
74
71
31
-5
-9
26
9
-73
29
-47
39
50
16
21
20
-41
-1
-48
-12
-55
46
33
-38
-87
-50
-26
25
0
18
51
-12
77
-16
26
-21
25
-10
-42
26
34
68
56
12
38
16
63
-29
38
-44
113
-1
42
-14
87
2
3
-10
77
12
6
44
41
-24
14
-23
51
54
39
8
15
66
-40
12
26
56
100
-19
-7
-3
50
63
61
-39
130
-38
-23
-12
-38
0
42
-12
25
45
77
35
-53
-30
21
48
-17
69
35
49
-15
93
-4
19
-62
21
152
28
34
-36
15
-29
72
46
40
35
-3
48
8
14
59
44
-7
-18
-29
75
38
51
82
97
-33
15
35
7
-19
31
-1
-21
15
-12
-8
-65
14
39
60
-10
16
-12
0
5
26
-38
-37
-3
79
23
16
35
40
42
20
45
15
-27
3
-1
-9
-78
5
67
-28
-119
-7
-60
-44
80
41
13
64
54
55
-1
47
-12
8
21
36
13
64
19
65
-54
17
157
-15
34
38
124
13
-27
-90
30
88
11
14
-9
-9
-20
65
23
109
26
30
-56
97
16
-18
-25
-68
24
37
14
37
50
-41
9
22
3
-41
56
72
33
69
63
-38
58
17
92
91
1
31
48
-10
44
-17
53
-63
24
48
49
-33
-14
-15
-42
-21
17
43
55
31
32
36
51
11
43
57
-28
-2
82
16
17
16
12
9
2
-3
36
-37
6
8
3
-17
-11
23
-83
-41
-62
7
-9
58
4
-12
8
-31
9
15
2
38
-9
81
49
45
26
84
18
74
5
53
60
-27
34
-2
10
24
29
33
-13
-15
4
101
11
-1
39
-21
31
6
105
87
17
41
18
123
-5
70
0
64
10
-17
20
45
-11
71
31
-29
-38
-45
-1
22
-23
68
28
130
-2
62
29
-31
-1
34
32
-32
36
7
40
53
44
25
83
45
35
5
-3
22
42
44
31
20
24
6
-39
57
36
55
42
-33
-34
19
-16
23
10
33
50
-99
22
-15
70
-31
-20
84
49
41
12
-10
-5
-58
12
9
58
77
-8
3
-42
44
57
80
-23
18
25
-45
-35
77
7
33
-55
97
-28
-47
92
-37
-17
80
39
6
55
27
37
78
-1
-12
-24
7
28
-8
-34
69
-47
-11
-45
-28
-26
-18
-8
58
59
39
15
-57
132
85
-68
2
52
41
-17
97
36
15
1
-30
11
65
14
-40
8
10
15
8
11
9
23
9
11
6
23
48
18
12
49
27
19
-55
5
5
42
-30
1
46
51
44
38
54
46
66
46
-70
-1
-28
20
25
6
-18
23
14
17
1
32
34
16
34
16
32
-74
-12
-16
62
22
-39
38
89
28
42
45
36
-49
-63
28
66
9
21
6
26
17
21
1
23
14
27
-8
40
28
40
-1
64
-63
-3
18
-17
22
6
-11
-1
-26
32
-35
52
35
-12
-7
-9
22
5
16
25
-5
1
-5
24
47
59
47
83
60
40
55
77
24
-5
66
-13
56
21
34
-48
-57
56
29
16
106
10
16
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
12
-14
-5
-9
9
11
9
-17
21
10
2
-1
13
13
-1
38
25
-4
-26
120
54
8
11
-1
30
3
21
12
-19
-16
6
52
12
-37
-7
-17
3
-5
30
29
12
10
23
10
-22
-28
-2
86
13
58
30
29
51
8
62
97
50
17
13
135
-5
10
20
-12
-2
19
-10
25
6
-1
-18
26
-1
8
1
4
25
76
11
46
3
90
-4
75
-31
15
-16
70
35
12
29
59
5
-6
7
23
32
16
25
49
7
-9
-19
92
0
20
-11
35
12
49
29
19
58
9
4
-44
38
56
57
14
28
60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-15
2
50
-2
-61
13
14
45
25
11
58
27
14
-20
94
-33
-10
21
-4
3
-45
8
82
18
-44
9
67
3
27
2
40
20
-20
-6
9
-20
3
43
-9
-34
6
48
95
77
37
14
-46
-11
-61
9
32
-15
-59
24
81
14
10
76
18
11
-47
82
16
-46
49
-34
30
26
92
50
26
-19
63
24
34
25
75
9
121
-55
-26
-48
1
11
45
-36
40
-11
-40
-15
42
-25
27
8
8
25
41
-16
4
-4
21
23
115
19
112
74
58
58
-5
2
51
34
21
33
-31
55
13
56
89
45
150
64
54
28
-45
-3
-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
12
48
34
-15
37
1
54
68
56
-42
4
37
19
-7
22
71
25
-8
40
33
17
23
32
31
16
20
11
0
36
-26
29
-6
48
-4
41
55
-7
-97
10
53
39
11
46
49
39
-4
-6
41
80
0
0
18
32
1
10
17
23
-14
21
87
24
11
45
69
20
39
-11
48
27
19
-8
46
42
10
-31
82
16
39
-22
59
31
32
5
-5
12
-2
-22
51
2
74
-4
35
22
-8
-28
59
24
11
36
103
57
89
92
55
-17
-15
-13
-19
8
52
17
22
24
11
9
40
49
30
-6
103
59
23
-11
14
30
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
4
-6
-33
11
0
0
0
0
-8
-31
-4
13
0
0
0
0
3
-6
-22
25
0
0
0
0
-20
-38
-3
34
0
0
0
0
-3
-23
-10
30
0
0
0
0
-13
5
22
43
0
0
0
0
-50
-34
-1
72
0
0
0
0
25
19
20
20
0
0
0
0
16
7
-18
23
0
0
0
0
23
49
-22
91
0
0
0
0
-23
34
-45
34
0
0
0
0
25
-1
18
12
0
0
0
0
8
3
-7
-9
0
0
0
0
40
49
-22
45
0
0
0
0
51
-12
113
37
0
0
0
0
0
-14
12
-13
0
0
0
0
2
0
-9
-11
0
0
0
0
23
15
5
90
0
0
0
0
13
23
71
4
0
0
0
0
-13
-31
0
19
0
0
0
0
-10
-26
-7
7
0
0
0
0
-40
-72
2
6
0
0
0
0
24
0
92
-77
0
0
0
0
24
20
8
21
0
0
0
0
3
15
8
-6
0
0
0
0
-58
55
-35
-4
0
0
0
0
-48
13
-45
28
0
0
0
0
12
-8
0
26
0
0
0
0
23
18
11
5
0
0
0
0
25
65
-6
19
0
0
0
0
6
18
50
125
0
0
0
0
28
23
35
32
0
0
0
0
3
12
0
23
0
0
0
0
10
-5
-10
13
0
0
0
0
57
-23
-8
33
0
0
0
0
3
-2
48
26
0
0
0
0
0
-3
18
-1
0
0
0
0
11
-12
128
84
0
0
0
0
2
2
76
66
0
0
0
0
20
28
34
7
0
0
0
0
-1
22
8
25
0
0
0
0
61
76
52
57
0
0
0
0
61
34
0
24
0
0
0
0
41
52
35
80
0
0
0
0
24
15
27
6
0
0
0
0
92
35
118
-3
0
0
0
0
16
9
-22
113
0
0
0
0
29
27
12
40
0
0
0
0
29
19
-2
-19
0
0
0
0
45
24
73
44
0
0
0
0
42
35
36
46
0
0
0
0
-1
-2
52
43
0
0
0
0
2
-7
4
24
0
0
0
0
36
-26
-17
108
0
0
0
0
19
-3
26
44
0
0
0
0
34
37
25
45
0
0
0
0
-6
-13
5
12
0
0
0
0
74
18
64
10
0
0
0
0
40
61
-60
29
0
0
0
0
32
49
-3
26
0
0
0
0
42
19
8
50
0
0
0
0
19
78
127
68
0
0
0
0
93
54
4
34
0
0
0
0
-23
18
-64
-16
0
0
0
0
30
34
-11
11
0
0
0
0
-26
-19
-53
-30
0
0
0
0
16
30
-22
31
0
0
0
0
-63
-30
-59
79
0
0
0
0
1
-39
33
-27
0
0
0
0
-18
-24
7
59
0
0
0
0
18
20
67
32
0
0
0
0
8
2
-87
-51
0
0
0
0
23
69
-14
32
0
0
0
0
-10
59
-6
-9
0
0
0
0
34
55
-4
-4
0
0
0
0
43
24
-4
74
0
0
0
0
42
34
12
61
0
0
0
0
18
55
-24
0
0
0
0
0
37
60
90
53
0
0
0
0
25
4
-65
-20
0
0
0
0
31
8
48
51
0
0
0
0
-38
-56
-38
-21
0
0
0
0
37
44
53
95
0
0
0
0
-30
-47
63
64
0
0
0
0
57
-59
44
61
0
0
0
0
-2
-47
-26
22
0
0
0
0
-56
-34
43
26
0
0
0
0
-13
43
-16
-21
0
0
0
0
29
82
48
25
0
0
0
0
70
32
-23
17
0
0
0
0
53
17
42
38
0
0
0
0
10
5
27
13
0
0
0
0
25
6
93
31
0
0
0
0
38
84
-5
32
0
0
0
0
-24
73
5
-8
0
0
0
0
17
-9
64
72
0
0
0
0
-16
66
41
79
0
0
0
0
-3
12
-9
47
0
0
0
0
25
34
1
22
0
0
0
0
8
-62
108
121
0
0
0
0
-32
-24
85
49
0
0
0
0
-1
-21
35
61
0
0
0
0
26
34
-24
38
0
0
0
0
2
20
-59
12
0
0
0
0
17
13
-11
-10
0
0
0
0
-22
37
5
0
0
0
0
0
41
27
-70
1
0
0
0
0
107
28
36
-23
0
0
0
0
11
60
-15
18
0
0
0
0
-6
69
17
71
0
0
0
0
-3
5
59
4
0
0
0
0
61
75
43
2
0
0
0
0
30
37
28
62
0
0
0
0
41
56
51
10
0
0
0
0
38
40
-1
24
0
0
0
0
23
40
78
68
0
0
0
0
50
26
40
81
0
0
0
0
-10
-34
26
25
0
0
0
0
24
-15
66
-2
0
0
0
0
33
58
-17
-15
0
0
0
0
75
32
-33
-23
0
0
0
0
59
-12
-27
97
0
0
0
0
34
-6
-3
12
0
0
0
0
50
57
37
139
0
0
0
0
31
-8
-60
-39
0
0
0
0
-14
31
21
50
0
0
0
0
50
-8
28
23
0
0
0
0
-1
5
-6
2
5
0
5
5
27
-1
-3
26
6
11
9
11
25
-10
-34
6
17
-29
-45
-54
-25
10
0
12
-25
-43
-12
-5
8
-10
-13
39
-14
-14
32
63
22
-21
16
39
-2
-19
-7
17
64
-3
4
52
-47
-52
10
-149
-16
-42
5
-19
-65
-74
-44
27
-7
-1
7
24
19
-11
-1
35
-8
-2
-1
17
36
4
-1
-2
19
21
0
-12
-14
-69
60
35
15
-37
-90
-52
-46
-39
112
78
-8
-8
29
31
26
31
26
70
-54
-36
53
92
28
7
-6
-13
-18
35
106
28
-55
-54
103
51
-51
-86
6
65
-8
-20
39
37
6
6
14
17
16
2
8
-6
3
22
11
0
18
-30
35
33
69
19
21
17
-9
-55
75
-1
64
25
-35
-19
26
49
5
104
-1
-7
25
92
-3
-8
28
49
6
24
33
103
27
-2
14
33
24
47
31
21
3
-55
123
-54
-30
38
-65
86
-26
-65
3
24
5
-7
15
-8
21
-2
0
6
6
9
17
-23
9
15
14
-18
-18
8
12
25
15
-39
4
-1
83
76
32
68
29
-60
75
-38
-47
-4
66
59
14
-1
8
14
-18
6
66
-20
8
1
-1
59
37
-16
-3
-29
43
53
-15
16
95
-72
-50
57
-2
63
-17
97
0
27
-25
-29
7
10
-9
-1
12
16
0
25
30
-8
17
6
5
3
34
46
25
-6
7
96
52
23
27
-33
34
45
13
36
30
17
26
17
1
22
86
-3
12
-23
15
11
20
7
22
-25
11
29
12
25
45
-15
-1
48
-30
54
5
24
27
21
47
-9
-3
10
-27
43
80
24
15
-20
22
20
31
74
-12
24
25
30
-26
-52
36
-27
96
106
48
49
-46
31
-11
-18
48
21
-61
-29
-26
-18
56
100
13
43
90
69
20
-6
56
48
33
14
46
28
-84
-51
-4
45
8
41
-19
121
65
1
64
25
37
49
-44
61
36
-17
32
48
7
17
90
57
8
23
3
13
-8
3
-11
19
-5
47
11
50
73
9
25
0
30
50
-5
39
53
-21
18
7
-67
3
108
87
-5
-1
54
9
15
28
41
42
10
4
19
17
34
-14
74
-37
-29
10
6
3
-16
44
1
74
20
52
-6
3
-12
-16
35
25
32
21
-54
-2
-3
-7
3
7
-4
-32
12
45
-56
-103
10
19
11
46
33
81
43
17
59
-37
43
10
16
13
-13
-46
12
41
8
20
79
-35
-4
-9
51
41
9
-14
1
23
-81
70
40
72
78
-6
31
-3
26
-64
-11
18
81
11
29
36
-3
69
-31
-13
-8
-44
-93
-101
49
93
16
-59
-16
24
-27
25
25
-10
-2
37
-20
-31
-77
1
42
41
-36
-14
26
6
-35
-41
-28
-35
31
58
-14
-47
-1
-18
34
80
61
50
-6
27
70
69
57
40
92
123
-45
2
-14
-4
-28
4
35
92
35
-20
-30
2
-29
4
-36
37
70
24
-49
-31
19
-6
-22
57
43
-19
19
43
-23
-29
-29
-18
-13
55
-10
-63
41
-7
16
45
83
103
14
-12
42
-38
29
13
8
126
-19
-20
46
70
49
65
94
-147
10
2
-20
17
-67
38
-65
24
114
19
-2
39
2
14
77
39
50
46
12
18
-23
-94
14
5
47
0
88
21
33
12
80
27
42
13
-7
64
-26
27
-35
-5
9
15
83
70
76
31
15
72
-17
23
-43
15
24
45
-5
-15
98
30
-19
22
66
94
-23
-45
33
52
-55
31
63
34
4
-60
-29
55
20
101
61
67
-29
79
-26
-4
-62
-9
35
3
40
-15
-19
1
69
-37
44
46
40
72
-40
81
7
64
43
13
-7
55
-22
-14
47
52
39
81
68
37
-69
-35
-54
-31
-72
58
10
-46
62
129
113
11
71
5
24
6
-11
-33
-3
-18
-24
15
73
87
44
-1
106
36
111
5
84
8
91
-27
12
-6
-111
25
-28
28
36
-73
46
-20
-52
-53
67
46
-6
12
16
64
-81
-7
27
-23
-30
40
69
58
33
-72
74
0
40
72
-46
-44
33
43
-43
-13
-26
-31
57
62
4
-20
39
-8
71
46
-60
32
50
37
7
-28
35
-29
-4
7
-5
54
5
39
78
18
-27
-11
13
-24
13
19
-16
-58
17
-44
-13
81
16
47
36
-14
20
-36
-40
35
77
-5
-5
31
16
-15
34
-26
50
-6
27
-52
-151
85
-2
45
-6
-28
77
113
-33
79
26
33
59
32
23
-30
79
-9
-45
68
-18
39
52
48
24
-7
-43
39
47
30
8
45
-40
-4
75
26
-23
6
18
53
61
41
-22
-8
38
20
38
52
-22
-10
56
2
9
57
-18
-48
21
21
41
25
6
74
24
60
-54
-9
-7
15
19
-143
-60
13
116
-34
73
81
14
74
80
52
-99
-77
56
31
87
17
52
45
72
18
81
52
30
71
28
-25
-49
31
-18
-37
52
20
-103
16
54
57
-69
-47
64
137
100
7
-66
-34
4
3
35
84
2
6
44
0
50
13
-4
82
66
9
-113
-18
-91
-51
-31
-127
20
-32
64
-85
-6
76
39
32
77
63
-70
-50
16
87
78
-67
69
115
-43
49
2
22
46
23
17
-5
10
29
20
-3
19
4
-35
-29
37
5
-10
6
-15
6
-47
-17
34
-1
12
-74
28
-32
36
-6
-40
47
28
-139
72
-64
-27
-59
29
13
17
3
7
9
9
-42
9
26
2
8
-6
-25
-11
-3
-13
50
-18
-63
-31
-70
-24
27
-9
52
1
-52
35
-8
20
-31
10
67
5
65
-4
18
-1
32
-9
15
41
9
-18
51
0
47
-34
8
39
59
1
-22
29
-8
-72
24
-70
7
-82
112
13
96
6
47
38
72
24
49
22
66
5
-7
0
-47
17
2
0
34
14
49
77
47
30
126
17
-13
-16
13
74
-123
-68
14
54
-70
3
-24
33
-8
7
-1
20
30
10
37
37
58
51
26
40
42
26
-20
-23
-2
28
-3
38
-19
11
15
83
128
5
-17
-48
45
-23
-34
27
51
15
-30
43
35
-16
-40
53
59
11
29
7
45
-23
-79
-38
-63
-24
-81
9
-66
19
36
88
22
21
78
36
-49
0
9
3
44
-1
34
10
59
1
30
40
-3
-12
60
-50
64
-16
-3
-18
-32
-20
30
-35
61
-51
90
29
-55
52
157
104
95
-12
81
22
45
29
48
40
73
-8
99
36
-10
27
56
62
84
-85
-38
-63
97
32
-37
-44
-100
7
-16
45
79
12
-47
-72
-40
0
2
-16
10
19
-10
-18
-7
21
19
17
-15
4
22
11
2
47
72
66
9
47
4
90
24
113
87
-4
58
68
105
33
-49
-10
29
-33
35
20
46
-10
4
9
-25
10
-12
14
8
17
-9
34
-52
-22
-2
63
6
-52
-43
80
88
71
33
124
59
26
-12
-13
24
-7
55
25
22
11
46
12
28
18
14
34
44
21
39
-35
-18
57
6
-8
63
21
0
49
82
27
127
28
72
58
-35
22
57
38
122
-21
67
27
97
-33
42
2
42
0
16
24
-15
56
16
20
125
-51
33
54
-19
32
86
136
43
29
124
6
19
-1
-19
21
5
-20
-23
-24
23
11
-13
1
-3
45
22
5
40
19
-8
70
-5
70
16
88
3
28
70
86
10
36
100
44
-27
-9
-15
-18
50
-11
9
2
22
34
9
5
23
26
2
28
-8
40
-57
137
-28
60
90
61
52
-13
10
68
54
85
-38
140
5
-19
14
26
69
-2
3
-12
21
-3
11
-26
74
28
20
20
14
-32
-89
-12
149
2
38
100
70
22
1
131
184
-2
-53
59
170
-18
47
-19
3
35
36
38
24
14
40
-2
-17
45
52
53
13
77
4
-24
-24
80
-37
10
-29
53
-9
-17
149
33
45
7
15
34
-21
34
6
34
-40
70
-65
62
40
53
52
-23
75
1
7
8
32
15
6
36
-20
-31
50
56
-2
14
-91
9
-29
-22
-113
71
-17
28
-16
42
-14
78
72
25
-1
-19
33
16
-70
35
-44
46
64
21
35
33
-17
-5
-50
-3
-73
44
37
-32
-94
-53
-24
21
-3
22
46
-9
80
-14
34
-34
35
-15
-52
28
31
74
61
-9
44
12
62
-32
37
-53
115
-13
48
-16
92
16
-4
-7
91
22
2
33
62
-7
19
-29
57
52
47
11
17
71
-43
8
22
55
115
-16
-9
7
45
63
71
-46
142
-41
-28
-29
-36
-2
50
-27
18
36
86
62
-50
-21
17
50
-17
78
30
61
-13
93
2
28
-61
22
159
28
32
-35
10
-44
78
55
40
32
-1
40
14
17
67
56
-18
-19
-38
72
42
65
85
101
-33
11
39
8
-18
21
8
-28
19
-20
-4
-72
23
35
62
-8
15
-10
-2
6
23
-39
-30
-2
79
19
26
31
38
36
24
51
19
-25
3
-1
-10
-80
-6
81
-30
-112
-5
-52
-49
77
42
13
69
54
60
1
47
-8
13
22
37
15
62
22
66
-57
16
152
-15
38
43
119
13
-27
-87
27
87
10
13
-13
-10
-27
64
23
107
27
27
-55
98
7
-19
-34
-69
28
46
8
38
56
-37
12
31
5
-37
54
76
28
69
50
-36
67
16
90
93
2
25
41
-13
24
-21
48
-63
27
61
37
-35
-19
-21
-42
-21
13
48
50
31
36
37
57
7
63
64
-33
0
76
5
13
16
20
13
3
-1
40
-36
10
8
-2
-21
-13
25
-84
-50
-76
9
-18
57
0
-23
7
-28
17
19
2
36
-17
77
56
37
33
84
29
84
17
59
53
-27
30
-6
14
32
30
34
-14
-10
10
100
3
2
31
-18
24
3
100
89
20
48
18
130
1
72
-7
71
17
-26
20
43
-11
69
26
-33
-43
-53
4
24
-25
73
27
133
-10
51
13
-54
-9
35
42
-24
43
18
34
52
53
15
70
47
46
14
0
18
61
54
42
25
18
9
-39
61
30
52
37
-28
-33
22
-6
25
24
27
58
-101
17
-15
74
-31
-21
90
49
37
12
-9
-5
-53
8
25
64
70
0
-2
-44
33
62
80
-26
13
30
-44
-39
77
-2
40
-56
101
-37
-60
95
-38
-20
84
48
9
54
31
56
67
-8
-3
-19
4
25
-5
-38
71
-50
-10
-44
-32
-24
-25
-7
67
59
37
16
-53
132
87
-74
6
48
45
-18
96
55
23
3
-30
16
56
10
-53
4
-13
11
20
12
2
18
17
6
3
19
40
31
4
42
22
18
-73
19
13
44
-34
-3
49
52
48
52
77
58
72
47
-73
2
-44
37
33
5
-36
26
23
19
-26
33
54
28
42
20
57
-68
-26
-2
66
20
-43
43
92
26
51
39
39
-45
-54
30
69
-3
61
8
38
6
41
4
31
8
53
1
54
24
57
-6
73
-74
-18
16
-22
11
9
-2
5
-36
28
-36
55
28
-9
-2
-11
25
31
23
32
-9
-7
13
32
20
72
57
69
59
41
64
68
5
9
68
-10
57
24
42
-39
-57
55
30
19
98
10
20
-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
-10
-17
27
4
-26
-9
-20
3
18
4
-27
32
18
6
-2
7
28
-14
31
38
2
-29
116
67
18
12
3
55
3
8
30
-11
-20
4
36
-1
-58
-6
-6
-2
-25
41
44
1
11
20
-10
-13
-24
2
80
16
51
26
20
53
-8
73
102
61
36
23
138
-9
19
18
0
-23
24
-12
26
-5
21
-28
24
-14
24
-8
0
7
81
13
57
-2
95
20
63
-42
9
-32
80
28
13
18
53
18
7
14
58
20
21
20
53
21
1
-30
95
-12
21
-12
32
20
53
33
23
69
24
0
-49
23
55
53
-1
22
53
33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-16
50
8
-53
23
14
18
10
14
60
28
5
-21
103
-47
15
7
-10
8
-46
8
83
14
-37
7
66
28
22
-1
43
21
-21
-17
22
-7
9
60
-5
-39
4
60
102
77
48
4
-45
4
-65
4
30
-17
-70
17
88
23
-2
78
22
-13
-55
84
21
-41
47
-30
37
2
92
27
33
-8
77
13
31
28
73
-2
119
-53
-32
-54
13
30
38
-33
29
-31
-47
-13
45
-22
40
7
6
25
44
-15
-1
-8
18
27
112
9
121
82
64
59
3
6
51
33
30
24
-30
63
16
54
82
46
167
63
51
29
-46
7
-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
25
28
37
-19
46
-9
77
69
82
-62
18
39
35
-2
12
84
49
-21
45
40
21
26
47
34
20
36
7
-14
27
-32
26
-12
51
-9
48
56
1
-107
14
48
57
20
46
68
49
-1
-1
39
77
3
-15
30
10
-3
3
17
37
-20
11
88
19
36
40
56
21
34
-21
57
25
11
-16
49
40
15
-29
88
12
41
-24
58
19
39
-4
-8
17
12
-25
55
-9
73
-13
34
14
-2
-20
70
14
15
40
106
62
88
89
60
-20
-12
-4
-19
30
60
14
24
26
20
24
58
57
25
0
104
67
29
-7
0
27
42
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
-2
-3
-3
28
0
0
0
0
3
-22
-18
0
0
0
0
0
5
-20
-11
30
0
0
0
0
10
-14
-26
7
0
0
0
0
-33
-39
17
51
0
0
0
0
-11
-38
-5
28
0
0
0
0
-26
-19
33
44
0
0
0
0
-43
-32
1
83
0
0
0
0
16
53
27
23
0
0
0
0
6
2
-23
38
0
0
0
0
37
47
-37
92
0
0
0
0
-8
36
-38
26
0
0
0
0
31
24
33
32
0
0
0
0
12
0
-28
1
0
0
0
0
41
56
-30
49
0
0
0
0
53
-9
112
45
0
0
0
0
-11
-30
14
9
0
0
0
0
17
-2
-8
-7
0
0
0
0
4
-2
-2
82
0
0
0
0
23
18
84
1
0
0
0
0
-27
-46
-2
22
0
0
0
0
-18
-28
3
-2
0
0
0
0
-41
-68
-4
16
0
0
0
0
16
9
97
-78
0
0
0
0
27
34
16
31
0
0
0
0
-2
19
14
-4
0
0
0
0
-52
56
-34
-13
0
0
0
0
-46
11
-60
36
0
0
0
0
24
-13
16
10
0
0
0
0
26
20
2
13
0
0
0
0
25
67
-10
24
0
0
0
0
5
19
52
131
0
0
0
0
35
23
37
12
0
0
0
0
7
23
-15
21
0
0
0
0
18
-14
-25
18
0
0
0
0
55
-31
-10
37
0
0
0
0
-3
-8
49
32
0
0
0
0
-13
-2
20
-17
0
0
0
0
6
-12
129
84
0
0
0
0
6
5
87
68
0
0
0
0
14
55
7
3
0
0
0
0
-8
26
-3
43
0
0
0
0
64
79
40
51
0
0
0
0
54
39
-2
29
0
0
0
0
61
39
43
83
0
0
0
0
35
15
19
-4
0
0
0
0
106
25
120
-4
0
0
0
0
23
12
-16
119
0
0
0
0
42
31
3
35
0
0
0
0
26
28
-17
-2
0
0
0
0
60
36
75
45
0
0
0
0
48
26
18
57
0
0
0
0
2
-1
57
49
0
0
0
0
-2
-12
8
30
0
0
0
0
58
-27
-13
106
0
0
0
0
30
-6
26
42
0
0
0
0
49
54
29
51
0
0
0
0
1
-8
0
13
0
0
0
0
73
7
65
11
0
0
0
0
39
62
-66
22
0
0
0
0
28
50
-1
16
0
0
0
0
29
12
-2
50
0
0
0
0
29
94
121
65
0
0
0
0
95
45
12
37
0
0
0
0
-39
30
-55
-27
0
0
0
0
31
32
1
28
0
0
0
0
-44
-38
-54
-34
0
0
0
0
36
40
-35
37
0
0
0
0
-57
-37
-56
77
0
0
0
0
-10
-24
35
-18
0
0
0
0
-23
-16
7
62
0
0
0
0
24
11
88
39
0
0
0
0
-1
16
-86
-39
0
0
0
0
9
70
-5
30
0
0
0
0
-21
70
-6
-11
0
0
0
0
15
76
-17
-6
0
0
0
0
54
40
0
83
0
0
0
0
32
13
22
64
0
0
0
0
9
59
-25
11
0
0
0
0
26
69
96
48
0
0
0
0
16
-3
-59
-18
0
0
0
0
51
6
40
57
0
0
0
0
-50
-66
-42
-30
0
0
0
0
46
48
53
104
0
0
0
0
-5
-46
56
70
0
0
0
0
48
-67
31
55
0
0
0
0
-7
-53
-35
27
0
0
0
0
-53
-34
41
31
0
0
0
0
-35
41
-4
-25
0
0
0
0
37
81
41
29
0
0
0
0
60
38
-21
23
0
0
0
0
42
22
40
61
0
0
0
0
28
-6
27
19
0
0
0
0
17
0
92
28
0
0
0
0
32
89
-3
30
0
0
0
0
-29
79
12
5
0
0
0
0
21
-11
66
68
0
0
0
0
13
64
46
82
0
0
0
0
-21
24
-4
58
0
0
0
0
53
32
11
29
0
0
0
0
8
-68
112
131
0
0
0
0
-41
-31
84
54
0
0
0
0
-8
-27
33
74
0
0
0
0
6
30
-35
47
0
0
0
0
-7
22
-70
16
0
0
0
0
23
-2
-7
-35
0
0
0
0
-17
51
14
-9
0
0
0
0
43
34
-75
-6
0
0
0
0
116
38
36
-38
0
0
0
0
19
49
-4
20
0
0
0
0
10
81
31
62
0
0
0
0
-12
15
60
0
0
0
0
0
63
79
45
1
0
0
0
0
59
36
26
69
0
0
0
0
43
54
62
17
0
0
0
0
48
48
-11
26
0
0
0
0
41
33
77
64
0
0
0
0
55
33
44
79
0
0
0
0
-5
-29
27
42
0
0
0
0
26
-26
74
3
0
0
0
0
23
58
-20
-15
0
0
0
0
63
28
-38
-26
0
0
0
0
56
0
-17
101
0
0
0
0
41
-9
8
3
0
0
0
0
51
63
35
139
0
0
0
0
40
-17
-53
-36
0
0
0
0
-18
33
19
37
0
0
0
0
69
-12
20
8
0
0
0
0
-1
20
-9
20
7
-8
10
17
17
-3
-19
19
-4
-12
1
17
31
8
-26
-11
-1
-27
-39
-36
-18
-12
-10
32
-17
-32
-19
-5
-2
35
-2
51
-26
-16
51
55
16
-12
-4
38
-10
-24
0
11
63
-8
3
53
-46
-56
6
-150
-9
-45
-1
-24
-67
-71
-51
28
-5
-6
5
40
20
11
-6
29
-9
-33
2
23
36
22
-8
-17
30
34
2
1
-22
-70
67
35
12
-43
-92
-57
-48
-36
115
76
-36
-23
33
27
48
23
40
64
-46
-32
57
115
34
15
-11
-16
-21
42
101
24
-52
-47
110
50
-50
-89
12
69
-12
-24
35
35
9
10
16
19
10
-11
-9
-5
12
19
23
13
27
-36
25
31
52
21
20
24
3
-53
84
-5
53
33
-49
-14
27
53
9
100
-2
0
56
99
-13
-30
46
55
-7
29
46
121
8
-12
26
57
38
50
27
28
3
-59
129
-54
-21
40
-68
87
-28
-65
6
26
-7
-16
15
-5
13
23
5
6
-7
-5
31
-32
25
27
27
-28
-12
0
23
19
15
-38
7
-1
87
69
36
66
30
-61
72
-36
-52
-37
66
61
29
17
22
16
-3
-6
70
-33
14
23
1
55
31
-17
-2
-27
48
51
-14
9
94
-72
-52
51
-1
63
-14
96
18
15
-30
-27
-6
25
-2
-3
17
24
-5
32
32
-11
14
1
27
6
19
50
9
-9
5
94
62
17
24
-27
40
41
8
30
36
33
34
2
-6
1
91
-1
5
-32
16
15
12
3
26
-23
13
34
9
27
47
-17
-5
47
-34
53
3
30
29
22
50
-7
-15
5
-38
50
77
15
6
-27
5
-4
51
70
-13
30
31
27
-38
-60
44
-26
107
110
49
46
-53
35
-12
-26
48
21
-59
-24
-31
-15
54
123
7
58
104
77
21
-5
52
46
39
32
44
26
-78
-52
-3
43
10
40
-21
120
71
-7
67
24
39
64
-52
59
16
-27
27
50
4
-11
95
49
17
27
-13
39
4
9
-28
0
-2
52
7
47
79
12
23
2
38
52
-6
41
48
-13
23
8
-69
7
114
90
-28
-5
66
4
-3
22
52
37
27
-10
9
31
38
-15
73
-39
-35
12
5
6
-17
50
-5
69
24
43
-5
4
-24
-42
41
30
44
27
-59
4
-4
23
9
-19
-2
-15
12
35
-70
-97
8
18
7
55
34
85
54
18
63
-34
50
8
16
21
-22
-63
8
40
9
17
78
-36
-27
-7
49
19
2
-11
15
10
-82
72
34
70
81
-6
36
-6
25
-70
-11
22
82
6
28
35
13
65
-49
-18
-15
-50
-92
-100
51
88
10
-60
0
28
-21
19
36
10
-7
42
-12
-47
-80
9
46
36
-19
-17
35
0
-47
-35
-30
-40
28
62
-17
-47
-6
-18
41
81
66
50
-2
28
72
65
59
39
100
135
-30
0
-13
-2
-29
1
33
85
32
-21
-37
3
-28
-1
-28
42
73
25
-54
-30
11
-6
-18
64
46
-16
13
46
-31
-35
-44
-15
-7
53
-27
-60
48
-11
11
46
91
109
8
-10
41
-34
29
15
9
144
-23
-18
45
73
52
70
98
-155
3
0
-19
21
-73
51
-69
15
123
19
1
37
-1
14
81
42
55
44
-4
19
-14
-98
18
5
49
1
106
21
25
16
77
20
44
11
2
65
-31
28
-42
-9
6
27
88
75
82
29
17
77
-17
18
-49
10
33
39
-7
-17
107
33
-11
23
70
96
-34
-47
36
62
-45
29
67
31
2
-57
-28
56
17
95
58
75
-25
81
-29
-5
-80
-10
36
3
39
-14
-16
4
69
-35
41
41
39
70
-37
87
7
71
49
13
0
53
-30
-19
58
52
40
79
70
46
-64
-42
-57
-29
-68
61
8
-44
66
127
113
1
70
7
26
5
-10
-38
0
-15
-21
10
73
82
43
-2
107
22
118
11
88
8
91
-21
25
-23
-112
26
-36
18
33
-80
47
-20
-60
-56
53
58
-11
17
13
58
-87
-4
17
-15
-33
46
83
70
33
-73
67
-6
46
68
-42
-39
31
45
-58
-10
-22
-33
58
60
6
-17
41
-5
71
47
-61
31
44
39
4
-34
37
-30
-10
8
-13
54
18
39
82
16
-24
-4
16
-28
23
17
-7
-53
11
-55
-10
85
24
42
43
-15
12
-35
-37
36
82
3
-7
28
42
-23
28
-25
49
-2
34
-51
-151
84
-1
54
-4
-27
81
112
-40
84
35
35
61
23
21
-31
81
-1
-49
71
-18
38
50
47
25
-9
-41
34
49
33
12
44
-43
-6
77
27
-24
4
13
57
56
45
-32
-10
46
17
43
55
-39
-22
63
-7
2
64
-9
-50
27
27
36
27
21
77
28
61
-50
-10
-4
16
17
-147
-60
13
119
-36
72
80
14
86
81
50
-105
-75
54
32
94
11
55
47
72
21
74
60
32
68
30
-23
-51
32
-16
-42
59
20
-101
17
50
60
-79
-50
62
139
101
7
-76
-36
15
7
38
87
0
6
46
3
54
20
-4
86
65
9
-112
-17
-92
-57
-23
-129
19
-32
65
-84
-8
80
43
31
76
67
-66
-54
20
84
77
-72
67
112
-48
51
7
20
54
26
16
-10
42
53
-18
-79
7
40
-144
-71
78
3
5
92
-64
-75
-34
-30
-64
26
74
-40
-4
-50
3
1
-72
3
-28
6
-47
-4
-24
-29
-12
-11
52
-59
18
-112
-112
-117
83
-33
22
165
5
-21
5
-57
-61
-28
9
-2
-44
66
-41
17
14
-7
-7
-25
16
-36
14
-1
11
57
75
90
-81
18
-56
-1
-73
46
-37
-6
20
106
35
-23
4
-81
29
23
-20
-43
-9
50
-54
23
-42
4
4
27
4
-1
63
68
102
177
-10
20
-72
-15
79
-92
28
21
-7
29
25
8
30
78
14
61
16
61
1
-9
12
17
-20
-43
1
23
-5
1
23
-68
12
-36
-15
26
-7
25
-11
-13
-99
28
-40
-38
22
-64
51
-88
-30
2
39
-14
31
22
-41
-29
32
-18
-32
-34
-29
18
-61
-59
-51
30
40
-80
66
13
-26
-8
22
25
-7
8
105
28
10
-18
-19
-12
-34
4
21
-10
-58
-1
3
-1
5
14
1
-4
-17
46
37
83
20
70
9
109
-5
53
-12
14
55
-4
31
5
18
-23
70
-8
-12
-23
4
24
-54
3
9
-18
-11
12
33
6
-33
99
41
8
-31
75
76
84
17
-10
-22
-54
28
50
-7
-10
-3
44
-40
-2
8
16
1
-1
-37
1
8
0
-3
-2
7
14
-17
26
-95
-41
-9
40
-35
5
58
-45
13
-15
5
-12
-20
69
3
-49
65
14
-3
-3
-12
-26
-37
43
-20
29
44
87
31
-12
-27
22
7
-3
-42
-16
30
-78
-48
-55
-12
-26
8
62
56
19
46
-64
22
-52
26
7
14
-5
51
55
9
0
40
-36
4
17
-61
-3
-23
-9
-17
49
18
-49
-43
49
-41
-74
-44
34
14
98
-5
50
16
-19
-49
-15
4
-21
-52
9
17
6
25
11
-10
-5
-39
-44
21
7
52
-43
32
-35
-34
89
12
-40
-1
-48
85
-9
16
15
39
32
-16
-20
10
-1
23
-14
4
-17
10
-20
-3
32
-40
-64
-111
-13
41
-70
17
86
38
-129
23
-39
51
43
65
72
-52
64
9
-11
0
37
6
-14
35
35
0
16
-18
1
22
-39
16
-64
30
63
-65
-72
122
-26
-39
-125
75
91
70
14
-22
-38
-47
-12
-1
6
12
8
6
-1
-50
-10
0
14
23
20
17
-11
-60
12
47
19
46
43
-36
7
-172
88
36
3
48
79
25
-114
10
-59
-4
13
-21
25
-13
15
-13
5
12
15
-7
-15
12
51
12
63
-19
-10
62
7
74
51
-55
-32
-10
52
-33
58
17
18
15
-3
-10
10
9
-3
6
10
-7
3
-21
29
5
6
-1
-7
71
-16
33
-47
-5
-32
-23
-29
30
-79
47
-8
-44
-12
-2
20
-1
38
-67
-31
11
-59
-27
-22
75
-17
-26
-25
-44
-56
3
-24
46
24
-57
-70
-18
23
43
-53
-59
28
-17
-29
36
22
-22
17
57
-30
-26
53
75
68
-103
-12
-12
-56
-28
34
-17
-1
-22
10
7
-62
-84
35
21
39
24
78
-91
21
7
-19
32
-6
7
31
-105
48
-27
-36
-54
-5
-28
31
-2
31
-45
7
30
-19
-11
8
18
27
-8
60
48
-28
-11
0
-18
18
-26
14
1
3
-27
-33
-33
92
35
-53
3
4
29
29
2
19
19
-4
-20
37
-16
29
-91
-55
-73
41
62
14
71
-16
26
-10
-5
5
-1
31
12
-9
30
28
-45
48
-66
20
-6
-41
19
-8
56
-16
22
-1
-1
50
50
71
38
24
-11
-20
-15
56
46
19
22
-22
8
-1
-38
-52
-3
-19
-18
38
-39
-50
-11
15
22
-16
12
-18
-21
-4
2
-8
-60
37
-26
-14
-45
37
10
51
-4
45
35
24
1
-9
14
-16
-50
-9
55
-8
-13
-23
18
-1
-50
15
26
4
-3
14
-31
17
6
34
-17
29
17
10
11
47
-16
24
-3
29
-1
35
-3
-7
-9
-13
-9
-15
18
1
-27
-24
-29
9
-5
2
-11
-20
-4
14
-78
39
-66
-18
-10
-20
20
14
-31
37
0
-20
-4
-9
-24
28
34
1
33
6
8
13
-51
51
15
65
-39
29
-35
1
23
-19
-4
-25
6
29
65
-20
1
-14
18
-5
-18
-2
-18
-8
33
-10
82
30
1
-41
28
-11
-25
26
88
40
43
16
-12
43
37
-29
24
44
-46
-3
37
1
1
-26
-43
-38
-44
-11
-36
10
22
34
-9
15
-53
4
-13
-32
22
14
44
4
41
12
-22
-7
2
1
57
44
1
-7
0
-13
-1
-11
1
-18
-23
28
-47
-5
-7
-9
-36
8
-13
22
20
20
23
14
3
-42
33
-25
-1
9
-23
-18
-53
-10
58
-7
-76
19
-4
13
-33
-45
-48
-6
39
-3
35
57
21
35
-40
1
56
26
-19
-5
27
20
50
7
142
20
76
8
-29
43
14
6
-18
-16
-9
-7
16
13
-14
1
6
-33
53
-27
3
6
40
63
-33
6
8
14
1
16
23
35
51
32
-15
-6
6
-42
21
8
-13
-20
13
0
-5
1
11
-4
-20
3
4
12
7
-17
24
7
38
-12
26
-26
52
48
56
-20
-15
40
61
25
31
14
-16
55
-8
4
5
7
-8
-23
3
35
32
2
-14
3
-18
12
-26
-4
-12
-1
20
25
23
26
-2
-3
63
-12
4
-11
21
-61
-22
-16
11
12
28
94
-44
-59
-24
-72
41
-44
-60
-18
15
-70
-20
47
-27
52
-43
-11
-2
7
56
21
50
23
35
-26
37
2
50
33
-20
-63
58
7
41
-73
-4
33
55
36
53
16
-45
-116
59
54
-98
30
-28
36
-38
57
23
-23
56
-47
53
45
-47
181
-42
101
-101
166
28
48
-52
39
-44
76
-71
48
59
-6
-52
-4
-2
9
-26
-25
63
-15
-54
14
44
11
5
7
8
17
9
9
40
38
55
121
80
31
-52
76
36
-4
-37
33
43
-8
-30
-15
33
99
14
-50
76
-23
-33
27
21
0
-23
31
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
16
-56
-19
-39
-36
-79
-15
-85
67
60
-44
-130
36
54
15
69
-14
-54
-39
12
58
-2
-10
-5
1
41
0
25
25
0
89
23
-34
-88
14
-83
-66
-148
23
-25
-5
-72
0
24
29
20
-2
2
24
-25
13
-30
39
-77
-48
-27
47
-66
-7
13
61
41
-9
5
-49
62
12
53
-79
29
-13
23
-31
61
15
81
-4
-48
-16
58
-128
8
35
6
-5
13
49
18
-56
25
-5
-14
-29
5
-16
-31
75
-62
8
113
-62
-53
2
-4
6
5
-74
52
-17
-18
-43
74
54
10
32
35
19
48
13
11
-121
37
-2
12
21
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
-18
53
-30
10
13
19
-139
35
-88
28
-28
-4
41
25
0
-22
-7
-38
2
-35
-8
-14
11
46
7
40
87
-34
32
-15
-32
-59
75
147
-12
-56
80
-12
-19
-63
12
17
-9
22
16
7
41
-38
-69
44
-31
-46
30
20
60
-85
14
13
-74
25
17
15
-5
26
27
2
-77
-48
-29
80
-17
20
23
-21
-44
29
-14
16
-30
14
-54
30
22
22
-52
3
-119
46
-39
-18
-49
10
53
16
26
99
-64
20
-12
-12
40
26
-24
29
-10
9
31
0
33
-4
-24
43
-16
33
52
-18
-15
-42
33
29
27
-34
18
-22
-1
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
52
-69
-33
10
-4
0
13
1
101
-13
3
-18
51
-50
-58
56
-7
34
-14
3
-17
35
21
30
71
93
-48
-11
97
76
-75
12
-16
16
-19
102
-18
-18
52
-34
41
17
-45
24
36
-21
-48
-41
-48
1
-98
6
17
-10
-11
15
37
48
28
-42
-7
70
-16
52
-3
-35
-92
2
5
6
-37
50
70
-69
-65
25
17
-12
14
3
-97
112
-50
-52
16
96
-18
-3
59
12
-77
7
24
19
75
6
-81
-84
60
94
35
22
14
15
39
-20
65
-43
3
-19
18
27
67
87
3
-63
36
1
-12
32
38
20
-23
-64
28
5
21
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
-13
-6
65
0
0
0
0
34
-22
5
-38
0
0
0
0
45
2
-2
23
0
0
0
0
17
-6
-76
-20
0
0
0
0
6
-68
89
-15
0
0
0
0
-1
-25
4
10
0
0
0
0
-10
-108
32
48
0
0
0
0
0
9
-17
43
0
0
0
0
-23
104
14
55
0
0
0
0
-78
12
-81
14
0
0
0
0
20
51
-8
56
0
0
0
0
-34
68
2
2
0
0
0
0
102
135
51
29
0
0
0
0
24
47
-11
-40
0
0
0
0
-5
69
-13
31
0
0
0
0
64
-22
41
22
0
0
0
0
-4
-83
-9
-39
0
0
0
0
30
-45
129
-51
0
0
0
0
-64
-34
-14
-78
0
0
0
0
29
25
-14
-31
0
0
0
0
-20
-53
52
52
0
0
0
0
-49
-41
78
-71
0
0
0
0
-78
-57
-106
17
0
0
0
0
-75
1
4
31
0
0
0
0
12
69
10
-20
0
0
0
0
-30
-6
-6
-16
0
0
0
0
-13
-11
41
-53
0
0
0
0
-55
-12
36
45
0
0
0
0
48
0
95
-5
0
0
0
0
-4
-1
-61
80
0
0
0
0
21
31
-6
30
0
0
0
0
-41
11
-16
38
0
0
0
0
35
-33
-10
-40
0
0
0
0
19
17
-46
-51
0
0
0
0
64
-66
11
46
0
0
0
0
-12
-9
29
0
0
0
0
0
-35
-48
-44
91
0
0
0
0
-59
-33
63
-3
0
0
0
0
-95
-3
0
50
0
0
0
0
-18
5
65
-5
0
0
0
0
-13
82
-102
48
0
0
0
0
-28
107
-140
63
0
0
0
0
-13
68
-51
-28
0
0
0
0
61
10
3
54
0
0
0
0
52
12
24
64
0
0
0
0
12
52
0
21
0
0
0
0
17
-28
2
-2
0
0
0
0
2
-11
54
-9
0
0
0
0
57
92
33
-51
0
0
0
0
49
78
-39
48
0
0
0
0
29
39
37
-30
0
0
0
0
17
29
-62
32
0
0
0
0
-44
-26
59
26
0
0
0
0
1
-71
61
-89
0
0
0
0
18
11
35
6
0
0
0
0
38
15
-11
-24
0
0
0
0
100
113
-3
71
0
0
0
0
-39
35
-50
-30
0
0
0
0
8
-30
-24
10
0
0
0
0
12
72
-11
-59
0
0
0
0
-48
-5
-59
24
0
0
0
0
-48
-94
53
-22
0
0
0
0
63
31
-50
6
0
0
0
0
46
-14
-14
33
0
0
0
0
-63
32
-35
-87
0
0
0
0
-41
-26
-9
15
0
0
0
0
-28
33
-46
-17
0
0
0
0
41
-7
-12
-10
0
0
0
0
13
-132
6
32
0
0
0
0
-35
-65
72
64
0
0
0
0
-48
-47
10
31
0
0
0
0
32
-6
42
67
0
0
0
0
-86
101
0
35
0
0
0
0
-51
-21
60
10
0
0
0
0
52
-35
-36
27
0
0
0
0
-26
84
-49
-58
0
0
0
0
6
-31
56
25
0
0
0
0
65
-80
9
7
0
0
0
0
44
-45
24
49
0
0
0
0
64
-19
34
32
0
0
0
0
-88
19
-16
50
0
0
0
0
112
-20
-45
6
0
0
0
0
5
-62
-42
-39
0
0
0
0
-34
-22
-34
-64
0
0
0
0
67
-57
-32
82
0
0
0
0
-126
-93
-35
11
0
0
0
0
-21
10
2
4
0
0
0
0
-39
-30
9
58
0
0
0
0
-91
65
92
-47
0
0
0
0
1
5
5
29
0
0
0
0
-45
-18
-12
22
0
0
0
0
12
-1
1
-13
0
0
0
0
35
47
-6
63
0
0
0
0
-26
-22
8
83
0
0
0
0
-9
8
2
-9
0
0
0
0
-20
-18
22
56
0
0
0
0
-20
-21
-3
65
0
0
0
0
153
0
-30
11
0
0
0
0
-14
48
-18
34
0
0
0
0
79
-10
-48
64
0
0
0
0
-1
-29
18
59
0
0
0
0
34
-42
8
0
0
0
0
0
-34
-27
21
-1
0
0
0
0
-36
-20
-4
49
0
0
0
0
-5
-14
-96
-5
0
0
0
0
-10
-15
-7
-52
0
0
0
0
27
58
-5
-46
0
0
0
0
-40
3
3
-7
0
0
0
0
-56
76
3
-17
0
0
0
0
52
-73
15
62
0
0
0
0
39
85
13
-25
0
0
0
0
-46
-33
-1
25
0
0
0
0
-38
64
12
-8
0
0
0
0
58
42
8
-2
0
0
0
0
23
4
39
26
0
0
0
0
72
-3
34
-50
0
0
0
0
26
19
0
31
0
0
0
0
21
68
22
4
0
0
0
0
-32
1
-12
16
0
0
0
0
1
19
13
37
0
0
0
0
19
6
1
0
0
0
0
0
-67
62
-24
-14
0
0
0
0
24
87
-40
38
0
0
0
0
111
-19
4
14
0
0
0
0
6
6
34
9
0
0
0
0
53
-62
26
-14
0
0
0
0
-6
0
27
-6
0
0
0
0
61
17
15
14
0
0
0
0
21
164
95
43
-13
-20
-13
50
-10
12
-35
74
-13
-66
27
8
26
24
-11
45
-135
21
-5
-7
75
22
-68
30
49
48
-22
85
38
137
3
66
-41
-83
93
43
-89
-5
-20
25
-40
-154
-19
-7
16
-5
13
4
-34
8
-6
-29
4
-33
11
-8
-25
3
-1
16
77
-56
46
78
8
30
-56
-104
-11
-60
75
27
-76
1
21
1
-56
36
24
24
-6
-6
-5
24
51
-42
-38
-17
36
-10
29
4
-166
31
49
32
84
39
43
-2
-34
-14
-13
23
-68
-12
-32
3
-21
67
-11
-4
6
0
14
28
2
2
-25
15
-28
-19
17
18
63
15
3
96
-1
-34
-22
-38
3
-22
-38
35
22
-60
-61
37
-48
15
-80
61
20
-25
51
8
-19
-12
-97
-12
16
-3
15
1
-55
-70
3
81
-79
-67
83
34
-11
-24
-4
88
-63
-8
45
51
-14
33
-8
51
-8
-26
20
27
35
-41
11
12
-35
-24
39
-1
-98
-13
26
42
-57
22
-19
53
-65
-40
81
-122
-22
47
34
-19
12
5
-8
-2
2
8
13
12
12
-11
-7
1
-4
-16
-4
-5
-41
-17
-17
-21
8
-2
70
57
76
70
46
-18
68
93
27
-6
-47
-30
-13
-26
-7
24
-5
-27
-8
1
-26
11
3
-2
18
3
61
-54
-67
-77
-35
-60
64
-18
6
81
-25
-61
87
-52
-10
-115
117
64
-41
7
-36
-18
-51
5
98
32
-31
29
17
25
-41
1
-75
29
52
-29
-22
-117
93
16
17
1
-103
45
-3
-100
44
-79
-3
-12
-2
26
39
-23
1
9
39
-17
15
23
23
51
-24
29
19
1
-9
-106
-1
-13
28
60
-23
-78
81
40
-73
34
63
-34
-75
-29
-13
-17
47
11
15
-2
-1
22
-8
-43
9
-42
-1
24
-52
-34
3
83
-115
-13
-33
52
41
-10
-70
-21
86
98
51
65
14
-25
39
-1
-40
13
10
-8
-11
-26
18
-14
65
82
-33
16
-15
-66
-78
12
-45
-47
-37
8
-8
74
23
62
72
94
-23
-37
-21
35
22
15
-19
-1
13
8
57
-16
40
-25
5
34
31
-4
-7
-88
-5
48
-62
22
-15
7
67
57
32
-5
61
13
7
12
-47
-24
34
-21
-63
-26
-1
6
11
17
-3
-21
-53
-28
8
2
-46
-94
-11
51
-45
9
-25
4
-71
51
-8
-8
32
21
-5
-71
-64
-8
-17
-2
2
27
12
10
-35
37
47
31
23
9
51
23
-16
-67
-31
25
4
16
15
36
-18
43
29
-5
16
-19
-8
45
-11
-3
-15
-6
-6
15
6
29
-7
-7
1
4
9
2
-14
10
24
36
-7
-51
38
-38
-26
4
119
25
-22
-38
6
62
-24
-5
80
100
27
-62
45
-91
-44
27
-5
-19
9
-60
17
-12
-41
4
1
-47
14
100
-48
-15
-40
8
-5
-31
38
-5
18
27
10
9
3
19
-23
6
22
-34
40
27
9
9
-34
-1
29
16
2
20
-14
-24
-34
42
19
24
-26
3
-41
-31
71
10
-23
1
-28
10
-9
-19
-35
-12
51
-16
-28
-8
16
-5
-43
18
3
16
1
16
-59
-12
-54
-16
44
45
-35
-1
9
4
19
7
12
-46
-12
-21
9
-50
13
33
-75
-56
6
35
3
26
-14
23
-10
10
10
-23
-35
-49
60
-6
-50
39
35
-45
24
-18
14
6
2
-7
8
-22
72
46
-54
18
-45
-16
37
5
-32
21
13
-11
24
78
-9
-24
-75
-52
53
-10
7
-5
26
5
-12
-11
-42
-12
17
-43
18
9
5
-69
85
17
-40
-24
-19
-31
12
34
-21
-9
29
-4
9
0
-17
-25
8
-24
26
-3
13
22
-11
9
24
-16
33
-11
-20
1
8
0
52
-21
19
6
-57
4
0
11
-42
19
19
51
-34
-29
-56
35
30
29
-21
10
54
18
21
-15
12
7
50
0
8
-47
-6
21
7
2
13
-11
15
17
-3
-31
14
21
-9
-12
10
15
-9
8
-23
9
-2
-6
-12
-44
39
-5
3
14
16
-6
-5
15
7
-46
37
28
0
16
-6
-8
13
12
11
-19
17
-41
31
-10
-27
15
15
-15
-56
-45
-3
-10
6
-27
2
16
-14
-1
-6
7
-2
-13
15
29
8
14
-17
-1
-30
-16
9
9
66
-41
17
-45
3
16
34
27
75
-9
0
-11
18
-29
2
-19
58
-7
35
0
-65
12
1
-27
3
31
-18
-10
50
28
-2
-19
-7
5
47
-4
-2
-9
-12
69
5
37
1
7
-2
-9
24
9
-1
-22
0
-3
51
-8
-54
47
-32
3
9
-8
-58
-20
25
-1
40
29
18
7
-66
9
-13
6
19
4
-20
8
0
0
16
-13
57
-8
9
-4
-28
-85
-32
12
7
20
-1
-15
14
-43
-2
40
14
31
11
25
-14
17
-1
-7
38
-2
-17
9
9
6
-6
-13
16
19
-6
21
-89
-29
9
18
3
-17
23
2
-24
-27
-8
40
6
5
13
-21
-51
10
-5
-18
14
2
-7
-3
-27
-11
-35
3
44
8
31
10
-20
-4
18
-2
28
8
21
9
30
-32
48
-15
12
45
-2
-1
12
14
-15
-14
1
-23
-3
-18
-14
13
11
14
15
23
-6
20
0
-28
3
31
6
-6
6
25
11
43
20
62
-49
-4
19
-3
0
2
91
-8
-94
0
0
41
-22
-21
0
0
1
14
-91
0
0
-2
-59
132
0
0
37
45
-56
0
0
5
37
8
0
0
36
8
2
0
0
11
34
-4
0
0
67
21
9
0
0
-55
-100
16
0
0
-78
89
101
0
0
-26
38
-60
0
0
-3
4
-29
0
0
133
-50
-19
0
0
-35
-66
45
0
0
-14
56
-60
0
0
-9
31
0
0
0
-27
-81
6
0
0
5
-54
-1
0
0
-21
14
-3
0
0
-17
-42
-6
0
0
-35
-5
-2
0
0
2
4
-1
0
0
10
-7
0
0
0
-38
0
14
0
0
1
1
0
0
0
-17
39
2
0
0
3
-11
0
0
0
-12
19
1
0
0
0
-13
0
0
0
-3
7
-3
0
0
1
3
0
0
-19
28
25
11
0
0
-5
-33
-3
0
0
-20
-33
19
0
0
-32
-48
-29
0
0
-9
84
17
0
0
12
-23
-129
0
0
-6
-21
22
0
0
-2
-43
-4
0
0
160
-50
-46
0
0
-103
-67
-47
0
0
-78
-29
98
0
0
26
56
-15
0
0
-110
154
-42
0
0
106
-18
12
0
0
-136
84
91
0
0
-92
-42
13
0
0
-32
31
7
0
0
-4
11
0
0
0
7
28
1
0
0
-3
-8
0
0
0
5
7
2
0
0
4
18
4
0
0
8
2
0
0
0
-14
2
0
0
0
-1
-22
3
0
0
0
0
0
0
0
-12
-5
1
0
0
5
-4
0
0
0
25
-6
0
0
0
3
1
0
0
0
-32
0
0
0
0
-6
1
0
0
-14
61
26
-82
0
0
-40
-33
234
0
0
6
-86
15
0
0
2
-75
-29
0
0
8
4
9
0
0
-36
14
47
0
0
34
3
-6
0
0
-4
-54
0
0
0
-4
92
72
0
0
12
-29
-27
0
0
-95
-107
-11
0
0
-159
70
14
0
0
26
78
-114
0
0
72
-16
50
0
0
-55
42
-23
0
0
-41
-14
49
0
0
-22
-4
17
0
0
47
16
-1
0
0
1
-3
2
0
0
-27
17
0
0
0
4
-17
-4
0
0
13
2
0
0
0
-2
0
-1
0
0
-1
52
0
0
0
-19
-6
1
0
0
0
-1
0
0
0
29
-2
-1
0
0
0
-2
0
0
0
-6
5
0
0
0
-11
2
0
0
0
-34
0
2
0
0
-7
-4
0
0
-16
0
32
-127
0
0
-138
-93
93
0
0
20
-11
-130
0
0
-9
23
38
0
0
-46
-79
22
0
0
0
-41
-22
0
0
-47
53
0
0
0
32
-56
-27
0
0
81
-18
-3
0
0
-7
-31
16
0
0
-145
-4
-6
0
0
-51
-26
-1
0
0
-2
-32
-12
0
0
-56
70
-34
0
0
27
37
1
0
0
3
22
-15
0
0
17
-21
0
0
0
6
4
3
0
0
7
4
0
0
0
20
-1
0
0
0
11
-4
0
0
0
12
13
0
0
0
-10
1
0
0
0
7
-49
0
0
0
-24
-8
1
0
0
1
0
0
0
0
-1
11
1
0
0
21
2
0
0
0
11
0
0
0
0
0
0
0
0
0
16
3
0
0
0
2
2
0
0
5
61
3
-113
0
0
-65
35
-122
0
0
-15
5
-74
0
0
-3
-22
-76
0
0
35
30
-113
0
0
-21
30
-74
0
0
-12
-3
18
0
0
-28
-15
-3
0
0
17
84
-29
0
0
-86
-89
66
0
0
-72
89
97
0
0
-17
-93
-32
0
0
21
-103
-12
0
0
-36
-62
46
0
0
-193
-76
95
0
0
35
-140
127
0
0
-4
4
48
0
0
-1
25
0
0
0
0
1
0
0
0
-1
12
0
0
0
5
22
-4
0
0
0
-5
0
0
0
-8
-10
2
0
0
0
3
0
0
0
-13
2
3
0
0
0
3
-2
0
0
-10
0
-7
0
0
0
0
-1
0
0
-18
1
-1
0
0
1
-21
0
0
0
1
0
0
0
0
0
0
0
0
3
30
2
77
0
0
-82
-19
-43
0
0
-148
-11
-37
0
0
-70
39
6
0
0
-15
65
-60
0
0
20
76
-40
0
0
22
61
19
0
0
-28
53
1
0
0
45
-80
19
0
0
-90
68
-28
0
0
-191
-73
37
0
0
-103
-44
-3
0
0
21
19
54
0
0
-38
35
-4
0
0
-152
60
30
0
0
-74
0
135
0
0
35
0
1
0
0
-2
-3
0
0
0
1
0
0
0
0
6
-18
0
0
0
0
2
0
0
0
3
3
0
0
0
5
-1
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
2
-4
0
0
3
101
-38
-10
0
0
-30
8
-73
0
0
14
-22
-18
0
0
17
-32
-210
0
0
-9
-89
-82
0
0
-7
-14
-60
0
0
-45
-7
6
0
0
3
-21
4
0
0
24
-37
41
0
0
-83
-35
47
0
0
-56
-48
57
0
0
39
13
51
0
0
-93
24
-71
0
0
64
13
-58
0
0
-41
2
34
0
0
-79
62
13
0
0
34
-18
-1
0
0
0
-6
0
0
0
-1
1
2
0
0
24
-11
0
0
0
9
0
0
0
0
-2
0
0
0
0
-9
-2
-2
0
0
-1
-2
0
0
0
9
5
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
3
0
0
0
11
-3
0
0
0
0
1
0
0
0
0
0
1
0
0
0
-1
0
0
9
2
13
-57
0
0
-54
32
-72
0
0
-31
-71
-81
0
0
23
-45
-5
0
0
22
-50
-73
0
0
8
-154
-40
0
0
17
-51
1
0
0
14
-31
49
0
0
48
-11
-66
0
0
-54
45
49
0
0
-109
9
38
0
0
-39
17
16
0
0
-99
35
39
0
0
-46
65
33
0
0
11
-35
-62
0
0
92
-36
-35
0
0
12
-1
1
0
0
0
1
0
0
0
3
0
0
0
0
-19
12
0
0
0
2
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
19
4
0
0
0
-11
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
1
0
0
0
-1
2
0
0
0
0
3
-1
0
3
-35
21
-21
0
0
17
-11
-100
0
0
-22
55
56
0
0
87
-24
-10
0
0
-50
27
2
0
0
-109
14
-79
0
0
-48
-19
131
0
0
6
20
16
0
0
-17
-42
16
0
0
-39
-39
62
0
0
84
17
20
0
0
79
-51
-18
0
0
86
40
11
0
0
51
28
67
0
0
-65
-37
-9
0
0
-58
-49
69
0
0
41
-5
46
0
0
-21
-12
31
0
0
-2
18
-25
0
0
-4
-22
0
0
0
-63
-74
3
0
0
0
2
1
0
0
19
-18
-4
0
0
-13
2
-4
0
0
-29
-8
-54
0
0
0
-9
3
0
0
-1
58
-11
0
0
11
-5
0
0
0
52
27
-5
0
0
1
13
3
0
0
25
-13
5
0
0
2
0
0
0
2
99
11
-58
0
0
-37
6
23
0
0
25
-3
20
0
0
39
63
59
0
0
-49
23
-49
0
0
-173
27
-94
0
0
-62
24
-61
0
0
-93
28
15
0
0
145
65
5
0
0
57
-69
40
0
0
1
89
1
0
0
51
15
-26
0
0
-20
17
56
0
0
-48
-3
60
0
0
35
-60
-6
0
0
-3
-97
-30
0
0
42
0
-3
0
0
2
13
3
0
0
2
15
12
0
0
-9
-7
2
0
0
3
-21
0
0
0
0
7
1
0
0
-43
-4
0
0
0
6
0
0
0
0
10
-11
6
0
0
-2
-2
-2
0
0
15
-7
14
0
0
-1
-4
-5
0
0
-19
1
-26
0
0
8
17
1
0
0
-13
0
0
0
0
7
0
1
0
-15
15
3
-70
0
0
-53
9
-44
0
0
64
0
-22
0
0
8
31
22
0
0
-68
-8
-17
0
0
-38
3
-49
0
0
-34
17
38
0
0
-38
-9
29
0
0
98
-49
-4
0
0
-27
-58
-4
0
0
-90
34
13
0
0
113
-39
9
0
0
-49
6
33
0
0
20
-29
101
0
0
6
-71
50
0
0
73
-34
-22
0
0
3
38
-24
0
0
0
4
-25
0
0
-5
-5
20
0
0
-2
29
-4
0
0
4
32
1
0
0
-15
-1
11
0
0
52
-25
-11
0
0
5
2
-2
0
0
19
-1
-44
0
0
8
-1
3
0
0
28
6
2
0
0
-2
-15
0
0
0
8
22
10
0
0
-4
3
0
0
0
11
1
-18
0
0
-8
1
0
0
-27
-54
104
-5
0
0
-10
36
14
0
0
-5
117
-52
0
0
-10
-28
3
0
0
15
-25
9
0
0
-4
-3
36
0
0
-44
-70
37
0
0
66
-10
10
0
0
-10
-11
66
0
0
-34
-63
71
0
0
36
-28
-105
0
0
49
-54
-82
0
0
-28
19
9
0
0
21
-20
0
0
0
-67
67
24
0
0
8
-6
4
0
0
17
-24
7
0
0
-4
0
-1
0
0
9
0
-26
0
0
-25
-3
2
0
0
-20
0
-5
0
0
-15
11
-3
0
0
21
-22
0
0
0
14
5
2
0
0
-9
0
-10
0
0
-26
0
0
0
0
-7
0
-2
0
0
-25
-11
1
0
0
45
10
0
0
0
8
2
0
0
0
17
-2
0
0
0
-17
-1
0
0
-35
110
81
96
0
0
-49
59
45
0
0
26
-23
71
0
0
-55
20
70
0
0
-31
-62
-41
0
0
-32
-11
9
0
0
-11
-28
-100
0
0
-35
8
-57
0
0
-66
12
10
0
0
7
55
13
0
0
79
25
45
0
0
26
36
16
0
0
-31
-17
-2
0
0
-15
2
-25
0
0
2
47
-10
0
0
60
82
-51
0
0
-10
-41
-26
0
0
0
-13
-3
0
0
60
7
12
0
0
0
-9
0
0
0
29
-4
-17
0
0
-2
14
0
0
0
23
14
6
0
0
-2
1
0
0
0
22
-7
48
0
0
-3
-13
11
0
0
-3
6
-21
0
0
1
-1
0
0
0
-19
-12
-14
0
0
-9
-11
0
0
0
20
-22
5
0
0
-10
6
-3
0
8
47
134
-9
0
0
-77
45
82
0
0
-25
-16
20
0
0
27
-6
-39
0
0
6
-37
-62
0
0
-25
-1
63
0
0
-51
4
-109
0
0
16
26
-70
0
0
8
-92
18
0
0
-59
-59
54
0
0
8
-26
28
0
0
-31
-49
3
0
0
85
17
21
0
0
37
-3
-51
0
0
-16
21
-4
0
0
40
-21
45
0
0
-32
3
-15
0
0
0
1
1
0
0
-8
1
0
0
0
-5
18
0
0
0
6
1
0
0
0
-4
-8
0
0
0
9
0
0
0
0
17
5
0
0
0
-10
1
9
0
0
1
-6
1
0
0
1
0
-42
0
0
-8
-1
0
0
0
11
0
26
0
0
-2
1
0
0
0
24
-5
0
0
0
10
-1
0
0
-21
92
15
-102
0
0
-24
4
-125
0
0
-153
-22
-27
0
0
67
19
-59
0
0
8
-136
-55
0
0
-18
-57
19
0
0
-19
24
77
0
0
-35
22
78
0
0
53
-15
-27
0
0
-32
42
-29
0
0
41
-155
19
0
0
104
-75
33
0
0
32
-88
46
0
0
90
-16
-79
0
0
21
-34
39
0
0
10
109
-67
0
0
2
-1
1
0
0
5
-3
-9
0
0
-1
0
2
0
0
4
-1
0
0
0
-5
-1
-5
0
0
-1
0
7
0
0
13
-10
-3
0
0
0
2
-1
0
0
15
-1
-2
0
0
0
2
-3
0
0
0
1
-2
0
0
0
5
0
0
0
29
3
-4
0
0
0
0
-1
0
0
20
18
-5
0
0
-15
-1
0
0
2
-99
-55
47
0
0
-6
-4
-23
0
0
-29
36
11
0
0
5
20
38
0
0
42
-59
-46
0
0
131
-159
-3
0
0
24
62
-27
0
0
-13
109
10
0
0
74
47
-47
0
0
-45
76
-49
0
0
8
37
-160
0
0
-69
31
0
0
0
-36
-85
91
0
0
-80
-4
-79
0
0
-64
35
79
0
0
17
-24
80
0
0
9
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
-12
-3
0
0
0
1
0
0
0
0
1
-11
1
0
0
-24
-2
0
0
0
3
-2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-7
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
4
0
0
0
-1
0
0
0
32
5
31
4
0
0
-65
33
22
0
0
54
120
-38
0
0
-7
20
-5
0
0
74
38
-12
0
0
-34
21
4
0
0
4
23
-1
0
0
-13
13
-4
0
0
-41
-9
-2
0
0
23
-12
-1
0
0
16
37
-10
0
0
9
22
0
0
0
58
-33
0
0
0
45
-49
0
0
0
8
-13
-1
0
0
82
-19
0
0
0
32
-26
-87
0
0
-64
18
14
0
0
9
19
18
0
0
-4
4
-7
0
0
-20
71
49
0
0
-17
-27
-13
0
0
-37
-26
-2
0
0
0
-8
0
0
0
-6
-35
-29
0
0
2
-20
-2
0
0
-10
-65
11
0
0
13
6
0
0
0
-67
-38
16
0
0
0
51
7
0
0
-9
26
1
0
0
-16
40
-10
0
23
-29
-59
-23
0
0
-23
49
2
0
0
-41
31
4
0
0
-50
33
-7
0
0
9
-18
-4
0
0
50
6
0
0
0
2
14
-1
0
0
28
-26
0
0
0
83
-27
2
0
0
5
51
0
0
0
25
12
0
0
0
12
-20
0
0
0
-20
-46
0
0
0
-11
-19
0
0
0
34
-25
-1
0
0
-4
-1
0
0
0
-11
5
-14
0
0
11
-4
3
0
0
1
55
0
0
0
0
-3
-3
0
0
-23
23
-8
0
0
45
29
2
0
0
7
9
0
0
0
-1
1
0
0
0
-8
23
29
0
0
0
-10
0
0
0
58
-43
2
0
0
0
15
0
0
0
-12
19
0
0
0
0
-2
2
0
0
-3
23
1
0
0
1
-18
4
0
7
-7
40
-2
0
0
-4
-4
-3
0
0
-17
68
-9
0
0
53
23
-1
0
0
13
49
-14
0
0
19
32
-2
0
0
6
6
0
0
0
-6
5
-5
0
0
104
10
9
0
0
1
11
2
0
0
-5
10
8
0
0
5
19
0
0
0
-19
48
0
0
0
7
-13
1
0
0
11
32
0
0
0
9
25
0
0
0
37
-40
-39
0
0
0
-19
-1
0
0
-6
-19
-3
0
0
1
35
-10
0
0
-4
-12
23
0
0
-4
-11
35
0
0
10
-20
1
0
0
-2
18
0
0
0
-40
40
-26
0
0
1
24
-1
0
0
-15
12
-5
0
0
6
-30
-1
0
0
11
93
-19
0
0
0
-11
0
0
0
-10
-38
9
0
0
50
-56
-1
0
85
-13
-11
-6
0
0
5
3
-1
0
0
-8
11
0
0
0
16
-18
0
0
0
38
-2
0
0
0
-5
-5
0
0
0
7
-5
0
0
0
10
-12
0
0
0
20
-21
0
0
0
9
4
1
0
0
-55
11
0
0
0
5
-26
1
0
0
37
25
0
0
0
-2
-1
0
0
0
-22
-36
0
0
0
12
2
0
0
0
12
-4
1
0
0
0
3
-4
0
0
0
2
-1
0
0
-20
-1
0
0
0
8
0
-3
0
0
10
14
1
0
0
12
-5
0
0
0
6
-2
0
0
0
0
-1
0
0
0
1
2
-1
0
0
0
-2
5
0
0
2
-21
0
0
0
-14
6
3
0
0
-3
-11
0
0
0
0
-2
-2
0
0
-9
2
-1
0
-43
10
-28
22
0
0
11
-24
0
0
0
1
-52
-7
0
0
0
-41
0
0
0
1
26
3
0
0
-2
3
0
0
0
-11
12
0
0
0
-2
4
0
0
0
-67
-15
-3
0
0
6
43
-1
0
0
26
28
-1
0
0
18
11
0
0
0
-15
-13
0
0
0
-2
-31
0
0
0
-51
32
-1
0
0
9
-25
0
0
0
-2
-11
-8
0
0
0
-5
-3
0
0
5
18
2
0
0
-2
5
0
0
0
10
-26
5
0
0
5
-1
0
0
0
-16
17
0
0
0
0
-5
-2
0
0
-2
21
-20
0
0
-2
-57
-6
0
0
14
7
14
0
0
-12
-8
2
0
0
-37
8
-22
0
0
-3
13
-6
0
0
-33
56
-2
0
0
-2
14
-7
0
-11
-23
77
4
0
0
-1
2
0
0
0
-3
5
1
0
0
24
16
0
0
0
0
-1
0
0
0
-5
13
0
0
0
1
0
0
0
0
-1
-6
0
0
0
-12
-17
0
0
0
5
19
0
0
0
1
-6
0
0
0
-13
56
0
0
0
-25
3
9
0
0
-7
-1
0
0
0
23
14
0
0
0
-4
19
0
0
0
-35
18
0
0
0
0
-14
1
0
0
-3
4
3
0
0
3
2
0
0
0
-3
4
0
0
0
-5
1
0
0
0
-14
3
0
0
0
3
3
0
0
0
-13
14
-11
0
0
-2
2
-2
0
0
4
1
0
0
0
4
-6
-1
0
0
-6
-3
-12
0
0
0
33
-4
0
0
-7
2
-2
0
0
-3
6
0
0
21
-17
-49
-4
0
0
0
-3
0
0
0
-9
12
1
0
0
0
2
-2
0
0
16
1
-4
0
0
-1
-1
0
0
0
-5
0
2
0
0
-1
-12
0
0
0
3
15
-2
0
0
3
0
1
0
0
17
2
-7
0
0
29
-3
0
0
0
-20
3
-1
0
0
-8
5
-2
0
0
-11
-15
1
0
0
1
16
0
0
0
7
-7
3
0
0
2
-18
-1
0
0
9
-1
7
0
0
7
4
-5
0
0
0
-2
3
0
0
1
0
0
0
0
20
-22
-1
0
0
2
-5
-2
0
0
24
-7
26
0
0
1
1
1
0
0
40
1
-1
0
0
-1
16
1
0
0
0
-18
-5
0
0
0
-7
0
0
0
-10
-15
0
0
0
1
42
6
0
17
-13
-1
0
0
0
3
-1
-1
0
0
-1
-4
0
0
0
19
3
0
0
0
-3
0
0
0
0
-1
-4
0
0
0
-1
0
0
0
0
-2
4
0
0
0
27
17
0
0
0
5
-37
0
0
0
2
3
0
0
0
25
38
0
0
0
42
0
0
0
0
-22
-1
0
0
0
7
0
0
0
0
-2
-6
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
-3
2
3
0
0
-33
0
1
0
0
0
0
0
0
0
-23
11
0
0
0
-4
1
0
0
0
-40
0
9
0
0
0
0
0
0
0
5
0
0
0
0
4
-2
-4
0
0
-3
-5
0
0
0
0
6
0
0
0
-1
0
1
0
0
1
-4
-1
0
-47
7
94
21
0
0
-3
-31
-16
0
0
7
20
16
0
0
-4
26
0
0
0
17
-47
0
0
0
-5
12
-7
0
0
10
45
0
0
0
-1
-9
0
0
0
-88
-4
-20
0
0
-44
-21
3
0
0
-7
-12
-1
0
0
-5
-38
-7
0
0
10
81
-3
0
0
2
-3
2
0
0
-37
77
1
0
0
9
17
-1
0
0
-21
-18
-42
0
0
-2
61
19
0
0
2
-31
-21
0
0
15
-77
-16
0
0
3
-5
18
0
0
1
-34
7
0
0
-40
41
23
0
0
0
-49
2
0
0
-18
3
-19
0
0
50
-45
19
0
0
-2
-5
20
0
0
-11
41
-2
0
0
15
19
2
0
0
40
23
-10
0
0
-47
45
37
0
0
40
47
6
0
-35
23
54
1
0
0
-4
5
0
0
0
0
-41
0
0
0
-23
1
0
0
0
-5
-4
0
0
0
-3
27
1
0
0
18
24
0
0
0
-2
-15
0
0
0
-16
-40
2
0
0
-24
-9
0
0
0
-18
47
-3
0
0
33
-4
0
0
0
-20
-22
-1
0
0
14
23
0
0
0
29
45
0
0
0
-3
-28
3
0
0
67
89
-5
0
0
-27
-5
-15
0
0
-6
3
21
0
0
16
25
3
0
0
15
-2
12
0
0
10
21
-4
0
0
10
21
7
0
0
-2
34
2
0
0
34
-39
44
0
0
-17
14
14
0
0
-41
-33
-11
0
0
3
42
41
0
0
-21
34
22
0
0
-5
38
-28
0
0
-5
44
-17
0
0
-12
26
0
0
-65
25
-23
2
0
0
-11
33
3
0
0
3
7
3
0
0
-2
-34
0
0
0
29
-42
0
0
0
3
-44
-2
0
0
-24
23
0
0
0
1
-7
0
0
0
30
22
-1
0
0
-19
54
0
0
0
13
24
-2
0
0
25
85
-1
0
0
-13
-2
1
0
0
-9
120
0
0
0
-45
-54
0
0
0
-11
60
0
0
0
22
34
50
0
0
0
-43
16
0
0
1
52
-3
0
0
-47
27
15
0
0
17
6
-12
0
0
3
-16
7
0
0
15
-14
-17
0
0
-5
77
-3
0
0
7
-44
-58
0
0
4
-4
-13
0
0
7
54
-8
0
0
-20
-29
4
0
0
41
-26
29
0
0
36
-9
26
0
0
41
-8
41
0
0
4
37
-3
0
42
-49
-11
0
0
0
4
7
0
0
0
0
-4
3
0
0
2
16
1
0
0
1
-9
0
0
0
-1
1
0
0
0
-3
-2
0
0
0
-10
3
0
0
0
38
18
0
0
0
-23
24
0
0
0
38
-97
0
0
0
-5
48
0
0
0
-15
23
0
0
0
31
-2
0
0
0
16
19
0
0
0
-11
-4
-3
0
0
71
-39
4
0
0
7
48
-7
0
0
-14
7
10
0
0
37
3
-23
0
0
41
-5
1
0
0
-2
2
5
0
0
-25
15
-8
0
0
5
12
1
0
0
-14
-3
-2
0
0
-6
41
9
0
0
4
-18
-3
0
0
23
11
3
0
0
-12
-4
-7
0
0
-8
-29
8
0
0
-29
14
1
0
0
20
11
-3
0
-16
-94
-46
14
0
0
-1
10
0
0
0
-22
17
-4
0
0
8
-13
0
0
0
-20
-8
-1
0
0
-1
46
0
0
0
20
-86
3
0
0
1
47
0
0
0
32
-9
-4
0
0
-9
13
1
0
0
10
38
-3
0
0
55
-24
0
0
0
-21
24
15
0
0
-1
-24
0
0
0
-56
55
1
0
0
-21
29
0
0
0
53
-14
-46
0
0
0
8
10
0
0
0
-66
-15
0
0
0
26
6
0
0
3
-13
24
0
0
-5
15
-3
0
0
-27
5
1
0
0
-2
2
1
0
0
-11
-18
-35
0
0
62
0
23
0
0
-50
-37
26
0
0
40
58
10
0
0
13
-37
8
0
0
49
-17
2
0
0
12
-15
-45
0
0
-34
-8
7
0
-82
14
26
-3
0
0
-7
-2
0
0
0
1
10
0
0
0
-2
9
0
0
0
13
10
0
0
0
-3
-12
0
0
0
-9
10
0
0
0
-1
2
0
0
0
29
36
0
0
0
-35
-9
0
0
0
-7
22
0
0
0
65
-46
-1
0
0
-67
42
-7
0
0
26
-5
0
0
0
103
-9
0
0
0
7
-21
0
0
0
15
-1
1
0
0
0
10
-3
0
0
2
6
4
0
0
0
-1
1
0
0
-24
1
4
0
0
6
-3
-3
0
0
-43
4
-10
0
0
-7
3
3
0
0
-36
12
-25
0
0
-25
33
-7
0
0
10
0
20
0
0
7
-17
-13
0
0
3
-25
-24
0
0
-3
15
2
0
0
6
-2
-3
0
0
25
-11
-3
0
0
-12
16
-1
0
0
0
52
2
0
0
23
8
-2
0
0
-1
8
0
0
0
-21
-10
0
0
0
0
2
0
0
0
-8
55
0
0
0
0
-3
0
0
0
-24
1
1
0
0
-4
-11
0
0
0
-10
4
0
0
0
23
2
0
0
0
32
-21
3
0
0
-27
-19
4
0
0
3
26
0
0
0
-4
47
0
0
0
-27
2
-13
0
0
0
-6
-4
0
0
1
0
-6
0
0
-1
28
-1
0
0
21
8
-8
0
0
1
-9
0
0
0
-27
-1
3
0
0
-3
-14
0
0
0
-15
23
19
0
0
-9
-5
-2
0
0
-16
-1
18
0
0
-5
3
-6
0
0
-5
82
-62
0
0
-10
29
11
0
0
21
-33
18
0
0
-5
11
20
0
20
-17
4
0
0
0
-12
0
0
0
0
0
0
0
0
0
1
-24
0
0
0
1
-8
0
0
0
3
6
0
0
0
1
-6
0
0
0
5
0
0
0
0
21
-22
0
0
0
-6
-4
0
0
0
-12
4
0
0
0
-2
-9
3
0
0
-30
-3
0
0
0
47
-1
0
0
0
-17
-3
0
0
0
12
14
0
0
0
0
2
0
0
0
4
0
4
0
0
1
1
2
0
0
8
8
0
0
0
7
0
-3
0
0
-2
-3
0
0
0
40
0
7
0
0
-9
5
0
0
0
-15
6
-24
0
0
25
1
2
0
0
0
1
-1
0
0
13
-14
6
0
0
6
-3
3
0
0
16
-7
2
0
0
25
21
6
0
0
-3
-3
-4
8
72
14
14
-15
0
-74
16
2
64
0
-46
14
31
28
0
-48
11
-77
53
0
11
3
7
-42
0
7
31
-10
35
0
-3
-1
47
-5
0
-13
-4
-29
-5
0
31
19
9
-17
0
38
-108
47
-50
0
38
-50
-9
-25
0
3
79
62
48
0
-23
-34
11
47
0
10
-19
29
-73
0
-76
25
-19
-68
0
-10
-13
36
-12
0
-54
44
-56
-61
0
-49
28
72
26
0
-86
39
81
-63
0
105
6
1
2
0
-17
20
-57
-5
0
2
-105
27
1
0
8
22
12
10
0
-20
2
0
3
0
-31
-8
5
-15
0
14
19
-64
4
0
-53
4
-2
-18
0
24
0
-21
2
0
15
3
-17
28
0
54
44
-9
-7
0
0
-35
0
1
0
-27
-1
-1
1
10
72
-3
33
30
0
-107
-49
-45
104
0
-106
0
49
-5
0
-130
3
37
-2
0
-12
-29
1
19
0
-1
-9
4
-52
0
14
-29
8
-41
0
10
-4
-39
-29
0
56
-19
-11
-40
0
27
71
26
-48
0
5
144
5
-98
0
-12
86
21
-43
0
-77
41
-6
-101
0
10
-2
-89
-51
0
-28
12
-31
-39
0
-5
-28
-80
10
0
-5
-71
1
-14
0
20
-7
-31
2
0
-19
28
-39
-5
0
-13
15
11
0
0
-81
5
27
2
0
-1
7
33
4
0
-46
-18
-3
0
0
-11
69
-7
0
0
51
-76
20
-20
0
9
35
14
1
0
-14
-19
-10
12
0
-1
-8
4
-3
0
-33
53
35
2
0
-4
-45
-18
-1
0
-28
-13
1
0
0
-17
-29
13
0
12
10
38
13
8
0
-27
9
-1
46
0
-9
6
-4
5
0
7
39
-88
-7
0
21
-57
10
56
0
21
5
-25
39
0
-7
-21
21
23
0
-28
-7
-26
-19
0
-10
43
-18
20
0
-102
44
26
-31
0
-42
-18
-25
96
0
4
17
62
54
0
-32
80
-65
-87
0
53
88
-28
-92
0
-64
-112
-1
-47
0
-61
-3
-74
-13
0
-8
-12
-9
-6
0
47
-48
23
-12
0
32
-20
-18
-17
0
-9
43
3
2
0
-23
-4
10
10
0
7
0
0
-7
0
-49
28
0
-4
0
-20
-6
-1
0
0
9
1
-24
1
0
-6
1
-21
-1
0
29
13
37
28
0
0
20
-9
3
0
0
-35
-9
1
0
25
-14
71
0
0
67
16
-16
4
0
-2
-2
-2
0
-39
8
-27
-37
7
0
46
-53
-49
-22
0
-43
-69
-76
-15
0
-9
-14
-103
35
0
57
-96
3
-2
0
30
31
-1
-78
0
3
-11
72
-14
0
9
-47
-46
-49
0
76
53
53
-35
0
-132
-7
-65
73
0
-20
13
68
17
0
8
24
-16
-13
0
-26
-3
74
-12
0
92
-6
-66
10
0
3
-20
10
3
0
67
-5
-10
-6
0
2
-18
15
1
0
-8
10
-6
0
0
-2
11
11
0
0
-1
-31
7
-4
0
-29
-4
0
0
0
-16
-9
1
0
0
34
-26
0
0
0
-4
-15
0
0
0
-1
17
-11
1
0
15
-26
12
0
0
6
-37
0
0
0
1
21
0
0
0
-2
1
0
0
0
2
65
-21
0
0
-5
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
11
-44
0
-64
21
12
28
0
21
-25
26
-63
0
63
-1
36
65
0
28
10
-14
22
0
28
13
51
-11
0
25
2
-9
-22
0
49
-21
-8
-81
0
-16
11
22
49
0
-87
-43
-12
33
0
14
3
12
42
0
-25
-43
20
41
0
-26
-6
18
36
0
-5
-38
31
13
0
27
25
-2
-19
0
86
-10
68
-67
0
-3
37
-8
20
0
-7
-12
33
-5
0
41
18
41
-16
0
-42
16
-14
-3
0
-23
24
1
5
0
3
4
12
0
0
-68
69
-51
12
0
27
4
-1
2
0
-97
-37
-8
42
0
22
-54
42
-12
0
23
10
32
43
0
10
15
-42
2
0
22
-31
-55
-34
0
-143
-5
58
-4
0
-37
6
-35
-37
0
68
-11
-13
2
3
87
25
-62
-6
0
-65
33
-128
-68
0
67
-44
-11
44
0
-10
-24
34
-102
0
33
15
-8
48
0
63
20
29
10
0
20
34
-85
-74
0
32
9
-6
-39
0
-174
11
3
-1
0
-44
-4
-27
14
0
10
-84
-5
4
0
1
-63
-30
39
0
-16
-6
13
7
0
-38
-22
27
6
0
17
25
26
19
0
102
-16
4
-7
0
-24
-10
-5
-3
0
10
55
-33
6
0
-13
29
16
2
0
28
-27
15
3
0
16
-3
-12
-3
0
-7
-26
33
0
0
-106
23
-3
0
0
-6
-2
-1
0
0
43
-68
108
-2
0
-30
43
85
-1
0
-45
79
19
-1
0
-2
7
-1
0
0
-58
-16
27
1
0
4
3
-13
-1
0
82
-17
-12
0
0
15
39
15
-1
-29
-4
3
-21
25
0
23
8
37
88
0
71
-61
-36
-40
0
23
19
49
8
0
43
-29
-43
35
0
13
6
-84
-125
0
6
39
59
-99
0
11
16
37
133
0
-23
-37
-4
17
0
-61
-11
-7
36
0
30
45
-17
11
0
19
-199
-57
0
0
-8
29
5
7
0
-25
-47
24
-2
0
13
2
5
-87
0
-8
-19
36
41
0
-42
-1
-51
5
0
-2
47
13
-1
0
47
-1
94
1
0
24
17
-24
5
0
-30
11
-39
7
0
34
-6
-4
0
0
71
-36
28
9
0
65
-38
8
0
0
-85
-58
-51
-15
0
-40
37
8
8
0
0
-4
175
-8
0
14
-15
-42
-1
0
-76
-2
-6
1
0
29
12
-1
0
0
17
-34
12
-1
0
17
9
-34
0
14
29
-19
28
-53
0
72
-22
-7
32
0
17
-58
-167
2
0
-21
12
52
-10
0
40
-48
70
-98
0
35
7
-7
-11
0
-17
24
40
-16
0
-11
85
-23
-16
0
-141
-24
-21
49
0
-6
-87
48
28
0
79
75
1
11
0
24
84
-35
-9
0
12
-30
27
-8
0
-39
-56
-67
22
0
24
-9
3
13
0
-102
13
-25
46
0
-4
13
-15
0
0
-10
-5
-14
0
0
19
-6
-2
1
0
8
-3
-1
-5
0
-14
1
1
0
0
-1
-50
-2
0
0
17
32
-8
0
0
-37
11
3
0
0
-48
-66
22
0
0
-67
-21
34
1
0
55
31
8
0
0
25
-13
0
0
0
67
-18
-37
0
0
-15
14
32
0
0
-23
8
-2
1
0
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-53
-30
0
-51
-30
47
39
0
-8
-29
57
23
0
6
-21
-9
0
0
-7
-64
25
-18
0
33
27
-2
-3
0
-11
26
-11
48
0
-7
15
39
-4
0
6
-35
30
39
0
6
-3
-33
-26
0
-85
18
0
29
0
122
20
-8
-8
0
-27
12
-21
-18
0
-8
-5
-4
12
0
0
43
-6
-19
0
16
-78
-8
0
0
49
34
12
1
0
15
-27
60
18
0
0
66
13
18
0
47
-13
49
9
0
23
-59
52
47
0
3
23
-14
7
0
39
27
-39
6
0
21
48
-2
1
0
34
79
-16
-34
0
-11
120
28
25
0
-22
-20
38
31
0
-34
2
14
2
0
-33
-43
12
-30
0
-3
9
-50
16
0
5
-31
101
-24
0
23
71
-25
5
-32
-14
55
-49
-6
0
15
8
-3
7
0
29
-11
-28
2
0
-41
15
-8
-2
0
-15
-1
17
7
0
19
91
-23
-1
0
50
-10
-65
0
0
-9
29
-5
-1
0
50
4
-21
23
0
-9
24
17
1
0
-2
-19
28
-1
0
24
-38
47
-2
0
-31
21
-21
-4
0
-54
43
9
-2
0
78
-42
2
1
0
-44
0
-8
0
0
11
-8
44
-11
0
3
48
-7
-4
0
9
28
13
19
0
-1
73
-11
-6
0
-27
-13
-29
-6
0
-3
42
25
-6
0
6
-35
-40
2
0
-13
18
1
-5
0
-56
56
-9
-69
0
29
-70
28
26
0
4
-4
45
-24
0
-10
3
12
-5
0
37
19
-37
61
0
116
-45
53
-8
0
67
-12
51
73
0
19
7
4
2
7
55
18
38
46
0
-12
16
-8
0
0
8
-36
75
-10
0
16
5
23
-2
0
-18
-77
78
-14
0
-19
-12
-9
0
0
41
-22
2
-4
0
-17
44
6
0
0
8
30
-56
-8
0
25
16
-38
2
0
-17
-27
-24
-4
0
11
-17
4
-23
0
5
32
-4
-9
0
-51
88
9
2
0
69
12
10
22
0
54
50
-1
0
0
-12
109
32
6
0
-12
-13
26
2
0
-24
-30
-2
-14
0
-9
4
-27
-6
0
9
-63
20
-37
0
-1
-4
59
0
0
-6
10
-47
3
0
-17
7
1
0
0
15
-27
-31
14
0
39
-61
41
-2
0
13
14
48
35
0
-20
-37
55
-1
0
-28
23
6
50
0
2
-4
38
2
0
25
-22
87
3
0
-38
-51
7
-1
-13
-15
16
23
-1
0
-23
46
-6
0
0
44
-16
-26
14
0
-69
71
-2
-7
0
-21
-8
1
0
0
-2
17
-12
0
0
-4
-20
8
-3
0
62
-19
1
-2
0
-39
-26
5
-1
0
14
-2
7
0
0
-2
46
3
-3
0
-49
72
4
-2
0
-18
-34
1
8
0
10
43
-2
-10
0
-5
39
-1
0
0
10
-25
1
0
0
6
-19
-18
-3
0
3
1
-2
0
0
23
22
1
1
0
0
0
1
0
0
-15
-1
-1
2
0
-7
-15
-7
1
0
14
0
1
0
0
25
-1
4
0
0
15
-31
44
-3
0
-23
-14
3
4
0
-33
41
-14
-3
0
-8
85
-12
0
0
10
39
-68
-2
0
7
-28
-29
2
0
13
-9
1
1
0
69
73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-178
107
83
0
102
-43
-13
-12
0
37
42
31
0
0
-13
-6
21
-1
0
63
-79
-48
20
0
-20
-21
60
4
0
6
60
-3
-11
0
36
7
5
0
0
38
-77
1
6
0
17
26
-51
-18
0
41
-13
57
7
0
36
-59
44
-7
0
-5
17
35
-17
0
30
-15
32
53
0
-14
3
-49
3
0
62
-28
-6
0
0
-29
-80
51
-49
0
-2
165
-85
20
0
-62
110
30
-14
0
-24
-38
-81
14
0
22
-49
-14
-47
0
16
34
48
-9
0
76
60
-34
-7
0
85
-17
-6
18
0
-9
37
28
-20
0
-40
-39
60
-53
0
-8
44
67
27
0
54
6
47
7
0
1
14
57
35
0
-28
-7
15
-39
0
-50
-95
77
12
0
-43
-39
10
1
4
-11
70
78
6
0
23
24
-17
16
0
-3
-7
-9
-7
0
-19
41
-51
1
0
-39
42
-15
-7
0
8
-20
-2
0
0
-14
55
-2
2
0
4
7
-1
0
0
0
-2
8
-21
0
3
83
6
34
0
46
2
-20
4
0
26
-21
-30
6
0
-34
0
33
47
0
-88
49
9
52
0
-25
-23
3
4
0
64
-12
10
4
0
66
-31
38
41
0
13
6
-10
-13
0
38
19
-44
50
0
16
14
22
-4
0
69
-11
-63
3
0
3
-17
-1
0
0
49
11
-19
-2
0
-31
-36
-9
0
0
-82
29
99
-44
0
-8
5
7
7
0
40
53
-88
-23
0
25
-11
43
-13
0
-1
31
33
12
0
-15
11
12
-6
0
-29
44
95
17
0
18
8
-10
-1
9
3
7
-58
4
0
31
-20
2
-1
0
-3
-27
20
9
0
24
-7
-7
13
0
106
-14
70
2
0
-27
-16
-6
0
0
23
-3
-25
15
0
-2
38
2
0
0
-3
11
-56
-4
0
-13
9
-29
31
0
20
38
-36
20
0
14
-16
0
3
0
-5
16
-30
66
0
-59
-28
-56
-16
0
-9
-9
11
-29
0
-67
-14
9
4
0
3
-4
20
19
0
-4
-4
85
-11
0
2
-38
44
-6
0
-33
62
26
-18
0
68
-6
-46
9
0
8
-39
83
-12
0
18
17
21
-20
0
5
10
40
3
0
-19
-32
-11
93
0
48
1
27
-33
0
77
58
-65
-20
0
9
97
-16
-1
0
-10
78
-54
10
0
36
106
-12
-31
0
14
79
-78
0
0
59
-9
-18
-23
0
-19
52
27
-13
0
-28
-9
-12
0
0
3
11
-1
-13
0
15
-5
5
0
0
5
-1
-2
0
0
-23
-28
-2
0
0
20
-39
-7
0
0
-12
9
0
0
0
45
53
21
2
0
-75
100
3
10
0
-27
-13
8
-3
0
-14
-7
14
-36
0
6
-25
-3
6
0
19
-38
6
-18
0
21
-2
-1
2
0
-20
-7
-6
1
0
1
-4
12
-1
0
4
-11
3
0
0
-12
-3
40
-11
0
51
5
-12
-6
0
-2
-37
12
-7
0
-1
55
-29
1
0
-23
-35
19
0
0
-25
-18
4
0
0
-25
-32
22
26
0
-18
-27
13
45
0
-159
13
-46
30
0
9
-9
28
39
0
8
-59
20
-25
0
-36
-30
55
-11
0
26
24
9
-9
0
21
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-10
-26
-2
10
18
14
-21
-14
16
15
0
35
-34
-17
-11
-33
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
8
0
18
-59
55
12
3
-2
6
-74
37
10
-11
44
92
-8
-9
-48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-21
35
-46
3
11
-75
14
88
-5
87
-74
-84
-11
-39
-38
54
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-14
65
-31
6
45
-56
-4
21
11
-39
-11
-5
29
18
-27
-27
45
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-57
-21
-17
104
-27
10
-13
51
24
-10
-41
-35
15
-13
-12
6
21
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-43
-85
40
81
133
4
-41
-127
9
18
17
117
-114
-31
40
40
-36
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
48
12
44
-9
-22
-33
-8
-6
10
-42
-17
-23
24
-9
8
-13
64
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-23
22
-13
-7
-19
-29
9
37
-6
-17
-23
-62
6
-6
-12
-11
41
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-18
35
-37
-45
14
33
-17
26
-15
0
2
-6
16
-8
-43
15
-48
-21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
1
-16
-2
-54
-21
37
-5
45
1
109
-32
21
-45
-62
-29
-17
76
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-15
-23
82
1
34
28
25
27
-29
-54
-27
-20
-2
-37
-16
-36
-17
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-131
-7
16
5
-26
41
-49
12
2
7
-16
-33
25
-7
55
-14
-7
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-21
4
-41
-65
21
39
-37
-109
7
25
-10
-17
8
11
-79
71
-5
34
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-21
-52
-38
27
103
-73
-16
-5
8
-66
-131
-36
24
7
-65
-2
-14
20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
44
42
6
8
6
30
-1
8
-7
8
-55
28
3
8
19
-15
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
9
-35
16
9
11
63
40
-17
0
-3
-3
34
-57
0
-6
13
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-43
7
-5
12
-10
10
4
-20
-64
3
-67
-4
18
11
37
14
-16
-16
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-17
-6
-55
-17
-16
7
-8
-24
-56
-75
7
4
-64
80
-46
163
-60
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
9
-2
-17
45
-6
82
-4
-24
5
24
88
19
23
0
-2
65
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-16
14
29
-1
40
11
14
-9
-53
-180
19
-34
-2
11
-12
29
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-32
7
12
28
-62
17
19
-28
70
4
-81
28
1
-10
-95
19
-94
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
37
-32
40
23
-132
-19
-33
-93
-54
-26
33
-3
14
-134
-51
-165
-28
-58
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-68
35
4
8
8
12
-73
-11
6
-4
45
59
-11
1
-16
-58
63
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-13
41
24
1
10
-28
-10
2
-3
28
43
5
3
0
2
-25
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
4
18
10
-26
8
-27
-19
-40
-18
-44
-6
3
17
-84
71
7
21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-18
-89
60
-38
73
-11
-89
-2
-163
-13
-33
-74
-115
-33
40
-1
-101
173
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-37
8
48
-4
0
-9
46
-31
1
19
18
27
45
1
0
-6
-14
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-74
1
9
12
-10
-50
-19
19
0
31
73
-29
4
0
2
12
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-38
-2
-3
-19
-115
52
-8
-26
19
55
-123
42
10
-29
-83
-19
-18
27
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-31
-52
-9
14
-34
-61
-25
95
27
-27
-26
-76
61
70
-43
-39
-38
35
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-39
10
0
-1
-4
19
-3
-1
13
-4
-29
-6
0
0
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
19
16
-7
-7
-7
0
-2
0
-2
-4
4
0
1
-12
-4
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
15
-33
14
-120
-24
3
-2
72
-24
-83
17
-62
-8
-53
-38
-5
-58
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
31
18
17
36
5
5
-8
15
106
20
-10
-1
17
149
-2
-7
57
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-9
22
-21
11
-1
47
41
-80
-31
92
-107
27
24
12
1
-7
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
3
45
43
4
-12
-24
73
5
-39
-32
62
38
-35
36
8
-23
-86
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-31
-25
-76
41
0
-87
5
114
-50
39
-114
10
-34
-3
16
-56
-10
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
17
43
16
-8
-35
18
4
14
-17
-15
62
20
-2
-11
-14
29
-51
56
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
38
5
40
8
3
-30
-1
6
-9
11
-18
45
32
16
-3
-58
72
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
66
24
70
-29
-11
-9
-14
-54
-5
-51
61
44
18
-20
3
1
-25
3
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
-35
-52
4
-124
27
6
-15
26
-58
8
-26
-39
-5
77
13
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-29
34
-22
60
18
7
32
-71
58
78
-1
16
-37
34
22
-71
18
-66
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-62
16
-11
-11
-12
22
45
-15
16
65
61
-36
-1
7
-32
17
8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-82
-69
67
-18
63
9
30
-18
-4
-39
38
-6
-10
-3
43
-45
-36
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-26
-57
-53
76
-66
0
-49
25
79
-93
57
-91
-54
-23
76
38
-5
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-22
35
-36
112
-28
-16
2
-42
48
39
20
34
30
50
20
7
14
1
-122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-34
-52
2
-11
7
44
-39
25
7
92
22
-6
13
-9
-21
8
41
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
33
47
-11
-10
-13
-20
7
-15
-6
-16
-12
1
-14
-1
19
10
39
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
26
-30
15
-154
-96
-14
-44
42
12
11
37
-37
-12
-122
33
6
-47
48
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-4
22
25
-10
-23
-12
-12
10
27
-122
22
0
7
40
26
-64
-22
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
91
-8
54
-21
12
5
-65
18
-15
26
-77
43
7
-8
32
-14
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-61
7
-46
-39
14
-80
28
21
5
81
-4
52
-26
37
-74
-19
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-10
-12
-22
-64
-2
-2
-71
4
-21
-65
-23
-85
-38
49
-7
-147
-55
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-72
7
24
-10
-12
-55
-55
14
34
79
24
-13
-25
-9
-78
-4
-46
2
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
53
-30
-51
16
-7
43
-23
28
17
-15
-3
18
-31
-1
-6
-45
41
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-91
23
-11
-6
-13
69
-40
8
0
46
-5
4
-7
7
-12
-7
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-27
-81
24
-48
-75
0
-21
17
-234
10
45
-36
31
46
-19
-4
-126
-2
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-54
6
-40
23
-42
-67
12
-44
-48
-6
-28
-6
-1
0
-49
-78
1
-59
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
21
2
8
-32
0
2
30
-4
0
11
-9
-38
-53
1
-14
-6
19
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
57
0
21
4
31
12
90
-7
1
27
-22
16
-4
1
22
19
-25
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-18
-61
28
13
-4
19
-116
87
-46
-73
50
53
58
-5
-42
-41
74
-81
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-78
-6
-9
6
-50
-23
-46
13
-39
-56
9
33
-38
-42
10
47
62
-69
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
3
0
0
-7
15
4
0
10
5
0
0
0
1
17
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-19
-17
-6
11
-23
17
-5
0
-12
-6
12
9
0
1
-1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
69
35
-33
104
21
58
16
11
-52
11
40
7
35
-42
0
0
60
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-7
-45
111
4
13
31
-60
-13
-3
62
7
20
31
-4
-26
-28
26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
17
-23
-4
-10
-13
-58
73
5
-11
-79
12
-19
-48
-32
6
142
82
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
30
-88
21
4
35
-9
52
-84
-24
14
17
-3
-3
-34
23
-24
80
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-31
86
-19
-39
9
64
-82
-17
12
98
39
-23
30
-12
-3
3
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
24
45
-10
9
-48
30
-27
-47
2
43
5
-16
41
-1
-10
43
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-28
-78
11
-9
-16
-78
101
-16
1
-22
-4
166
-24
-10
-2
-15
-46
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-18
16
26
23
10
-15
33
-1
1
48
-71
25
-28
-7
-22
-41
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
76
-41
4
17
-20
-7
17
0
-8
36
-5
-16
5
4
-17
-28
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
73
31
-66
-15
-21
-18
35
17
-1
42
-91
39
-31
0
-23
-4
18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-65
20
-100
30
8
27
-1
4
-57
0
17
-17
9
57
-3
39
49
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
-45
53
-10
-67
-19
71
-15
21
-16
11
124
-38
-12
-7
-1
33
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-11
-38
-15
2
-9
17
55
-9
2
-7
23
8
14
-1
9
-4
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
49
1
1
0
30
103
12
-5
0
-25
-67
10
-2
2
-35
85
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
67
-9
7
5
-10
44
4
10
-3
8
-8
-18
8
0
-3
12
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
24
-6
87
-3
-6
-17
18
0
1
2
11
28
32
-11
-8
11
-23
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
8
-34
47
21
0
35
63
-14
-1
-1
-35
32
12
0
-1
17
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
5
12
-28
24
-13
36
41
-26
0
-76
8
37
17
-13
6
-37
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
25
69
-5
36
0
-52
72
75
-1
2
99
-37
19
7
6
-5
11
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-8
-29
68
2
-42
10
-15
55
-50
15
87
-59
57
-30
31
54
-41
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-18
28
0
5
12
7
-11
-3
-5
3
-33
9
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
33
-23
-31
27
-2
10
10
15
-1
0
-43
-44
35
20
3
-48
55
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
-12
-3
22
0
37
22
13
12
1
1
5
87
-4
0
2
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
46
-11
-53
-41
50
-8
8
19
17
-29
13
12
-52
-2
2
3
13
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-57
37
3
5
0
16
1
-5
0
-1
19
-26
-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
-8
44
-6
13
9
-2
-23
8
57
0
-4
-30
-25
-13
-9
-12
47
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
28
0
13
0
19
14
-14
0
0
-26
14
73
3
-2
-22
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-53
-21
-4
2
19
17
-25
1
-33
-19
-1
-47
-1
10
-25
14
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
26
-3
0
0
1
34
1
0
-3
23
-4
-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
15
36
8
-7
3
2
49
8
0
0
10
29
0
10
-2
-4
42
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
17
-33
0
3
-24
3
-4
0
0
9
-11
3
0
1
21
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-10
24
-3
4
-45
-6
11
0
7
32
-4
-15
-1
19
-53
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
80
-1
-52
12
1
-47
-12
108
-1
6
25
98
3
21
0
68
-19
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
23
-136
42
14
-10
-44
-24
72
11
-2
39
32
40
-4
-3
67
59
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
7
17
50
-23
14
22
82
-28
43
-61
7
36
103
-40
2
26
-4
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
82
19
18
24
-60
38
-20
48
14
24
-33
33
11
31
-20
6
51
-46
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
29
66
26
4
0
-91
80
16
0
5
-18
43
-12
0
4
17
-59
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
24
-18
-8
4
-12
-25
33
77
1
-10
1
0
-18
-4
56
-19
9
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-54
-1
22
31
33
-26
-21
2
52
-1
-17
69
24
-4
11
-39
-58
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
144
-92
66
10
55
62
-63
30
72
-5
0
104
-24
21
51
100
-1
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
-22
48
38
0
89
11
-43
-1
-9
26
23
-17
6
3
-22
-28
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
7
-45
-36
-17
95
15
-76
8
-22
-106
13
19
5
-27
25
-13
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
62
-45
132
94
-6
72
-25
12
6
-10
20
-76
27
13
18
14
12
32
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-23
12
-51
-23
37
-13
104
25
26
35
55
-14
52
4
30
-39
3
21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-57
11
-6
-2
-12
10
16
0
0
-4
4
-8
0
0
49
12
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-15
-6
6
-9
103
26
-9
1
9
2
59
-11
0
5
46
25
-1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
64
34
-47
19
-19
23
-68
10
7
-19
-13
-57
12
22
-11
10
11
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
138
-80
15
8
27
-39
-10
-11
-44
23
40
-40
-17
11
47
7
-21
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
10
-32
-43
-4
0
33
16
-2
-5
-2
28
-17
3
-2
0
18
-12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-22
70
55
11
2
57
-99
-18
1
51
34
47
-8
-12
-16
13
2
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-13
100
30
9
-15
18
54
67
-5
-3
-37
-79
42
14
-4
0
104
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-28
-90
58
-11
-53
-50
17
14
53
74
22
67
-45
-70
-16
-36
57
112
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
4
11
-4
-32
-46
47
2
0
0
50
-47
-15
2
2
94
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
85
3
6
3
0
-1
-3
-43
-17
-28
7
0
28
7
22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-47
47
-26
33
-5
28
-18
-16
-16
-5
-2
36
0
-8
-6
18
39
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-47
-19
103
35
-43
4
31
-21
0
25
22
-37
-2
25
-25
-27
-21
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-7
-22
3
0
3
-14
1
0
-5
-28
7
1
-1
-2
5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
57
44
-65
18
-22
14
3
0
0
-9
36
-31
11
0
14
-21
17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-13
8
20
10
0
-4
6
-55
5
19
-16
-29
31
11
0
-10
-17
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
50
9
25
24
25
30
-19
-13
28
-1
-16
-6
-58
25
-25
7
3
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
1
-1
0
29
10
3
0
0
1
0
0
0
0
38
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
4
-21
2
-23
42
-15
17
0
-14
43
-5
8
0
-18
-34
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
33
-11
6
-1
-12
-62
-4
0
5
10
-35
22
0
4
-11
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
2
57
-12
34
8
80
-11
3
-9
-29
-51
113
23
-16
5
-4
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-57
23
60
-38
-3
52
75
-3
3
5
-35
68
63
-49
-31
61
40
-53
-38
-47
-29
29
11
-69
26
-59
48
-31
-15
26
-19
1
-20
30
-4
-34
7
-9
16
52
2
63
-19
51
-36
-3
13
-25
26
-6
-16
56
-5
13
-49
-21
-79
-87
-92
-33
59
68
72
44
-97
5
28
5
-23
-96
8
5
74
2
-21
-5
-68
-68
46
-75
12
-5
-31
-48
62
53
-26
-23
16
-15
-11
-26
-8
38
-11
25
3
5
3
52
6
8
-22
-12
-6
-19
14
4
3
-24
45
-12
10
10
9
-18
4
0
0
-25
85
34
22
54
-41
84
-20
70
-9
-10
-13
31
40
48
-31
-31
18
2
-3
35
36
-22
104
-10
31
0
-39
20
2
1
4
27
-20
-5
11
-31
14
1
0
22
59
11
-13
-40
6
30
27
-1
-5
25
70
-18
143
-47
-97
-6
-24
28
64
-55
-106
37
19
-32
-49
-79
121
117
-135
-35
-56
20
50
-3
-62
60
36
53
-45
54
5
37
52
-5
33
8
-9
-63
-24
11
16
-42
45
75
-2
-45
-97
4
-19
-13
-30
-61
-56
-15
28
-13
47
-3
10
-14
-75
-109
16
-34
-14
-39
68
20
-18
-17
-11
-31
-21
-2
32
57
-52
17
41
-27
-8
-8
34
10
-34
-25
3
-7
0
19
29
4
-23
-8
-23
-1
18
-5
-10
-1
18
2
-3
0
-3
48
-5
-2
0
13
77
25
-17
-25
49
-46
6
-29
18
3
-50
16
-13
52
29
-5
-20
10
-20
0
46
6
41
-29
-23
47
-17
11
-4
-3
-33
5
1
2
-1
11
-3
0
0
-2
-42
7
-20
-76
1
7
14
44
-11
4
-42
0
-48
-31
34
-101
-4
-64
-11
31
-16
37
-40
-149
-49
7
16
-14
-52
65
-39
2
-3
-35
-22
-89
10
37
-111
2
-53
-40
-9
88
57
-68
-46
15
1
95
-52
-89
-9
-32
-7
-57
-92
26
-2
-39
-32
9
13
-7
-15
-36
-72
1
-11
-23
5
-52
29
16
-8
-3
2
-56
-67
4
-98
43
42
-15
27
-29
-10
-2
1
-46
-9
18
-1
-27
-1
50
-2
4
0
-3
36
64
-77
2
-8
-1
-13
1
0
-12
-11
-6
0
0
43
-1
2
3
0
10
-80
-5
7
1
38
14
11
51
8
-63
68
-14
-9
43
1
-6
18
16
4
-29
3
23
38
0
-4
-50
23
8
-1
18
32
-21
-1
1
-4
8
0
0
0
25
14
-20
-64
19
-4
72
-33
68
-11
38
66
13
-32
18
-44
-76
4
-42
39
-1
23
40
-57
-27
-28
-36
15
-31
-28
-52
127
-21
-31
-166
1
34
-9
13
-131
6
6
-159
-2
56
-109
-82
21
-21
26
-8
-52
-11
2
-49
-13
-49
13
44
-11
-86
-17
-85
104
-34
-3
22
-107
23
51
110
-11
-89
59
-51
-4
-21
5
73
4
-37
57
16
28
0
10
58
-7
-3
0
-15
56
41
1
2
-11
-11
33
0
0
7
-77
5
55
3
19
-52
12
-1
0
-1
16
4
4
1
0
1
0
4
0
8
3
0
5
0
-51
79
18
2
5
-14
16
-13
-15
-2
4
-42
-10
-12
3
-1
47
-16
1
-1
10
16
-12
1
-1
0
2
-6
0
3
-1
7
-2
0
0
-36
-13
-31
-21
-63
11
-44
-44
-61
11
21
-32
19
61
-46
-33
-28
3
29
-40
4
20
-32
-57
2
11
-12
-4
0
46
39
16
-16
-19
22
-21
-39
-2
-6
10
77
14
46
-1
-35
31
-6
49
-102
36
-46
-1
51
-10
-177
-34
-32
46
-36
-14
-43
-4
29
19
71
-132
10
8
-1
40
-24
12
8
-12
84
-15
-9
-113
76
-8
50
-88
16
74
-7
-4
14
75
-21
2
1
23
-9
3
-8
-7
-5
-14
-2
-2
-105
-41
38
14
1
4
-86
26
-2
-16
32
-93
59
-2
-4
2
5
0
0
0
9
-11
23
-64
40
-36
21
-27
21
-2
-6
55
26
22
27
-15
4
11
-2
-3
118
23
-35
23
20
-13
39
-1
-1
4
23
32
-55
3
0
0
2
25
0
0
-14
-14
-13
64
1
-20
-57
3
-61
-2
48
35
-5
1
32
-9
-41
13
3
85
-112
-2
-20
21
31
-9
25
-39
-69
-30
5
13
-7
-1
3
-108
-9
12
17
-14
83
27
37
19
-26
64
12
24
-114
77
19
28
87
40
46
0
-42
121
2
80
-58
9
-26
27
10
74
-11
51
5
-46
-14
-33
36
39
-69
-12
-63
-126
94
-110
44
34
-26
14
-19
19
4
-17
-28
2
-20
14
-17
8
-1
11
-1
-16
-8
-1
6
-41
-28
8
-2
-5
70
-2
-3
0
-1
-5
-1
0
0
-2
3
0
0
0
6
87
-38
7
-15
-29
56
-2
-6
-7
-8
-19
76
3
-5
15
-2
12
0
-9
22
85
0
1
-37
29
-22
-6
-4
0
1
-16
-5
0
0
-1
9
0
0
0
-2
37
-4
18
-76
-56
-3
-52
-13
-53
-30
-19
17
-37
-11
-8
33
9
24
-82
-44
42
0
-6
-83
73
37
6
3
-24
-84
37
-2
16
-1
-27
-13
-19
5
-26
-18
11
39
18
-74
-17
-4
-5
-63
-28
-16
8
30
-22
-25
31
3
17
-32
-6
-54
3
26
8
-55
-76
-46
-13
10
-33
20
-12
15
-43
-31
-12
13
24
-97
-35
-8
-43
17
-2
-1
10
-58
0
4
-1
17
-43
15
-2
-3
0
-10
15
-4
1
-2
86
-57
6
0
3
-44
-1
8
-2
8
-34
11
-4
-1
0
6
0
-2
0
-15
-47
19
-3
2
-4
-18
42
-19
3
-26
-66
99
7
3
-1
26
-7
7
-2
35
70
5
22
2
13
8
-5
-12
1
2
2
-7
-2
0
1
-2
-1
0
0
-22
54
-1
-5
13
-99
69
-74
7
46
-67
70
-7
-71
20
-39
-38
-3
45
5
-73
28
6
-2
-30
3
46
-21
-14
-20
-79
-41
5
-32
-22
27
94
-17
-31
30
-20
36
37
62
-67
-28
-41
-39
11
-56
-50
-20
-32
60
63
23
-4
-18
-6
-11
61
41
22
35
-8
16
98
-13
58
-45
19
-46
35
-57
36
-3
-80
101
15
1
0
8
17
0
0
-1
-47
23
1
0
2
9
-7
-3
0
-23
71
21
5
0
2
-32
11
-11
0
-5
7
-7
0
0
0
4
-1
0
0
0
0
0
1
0
2
11
0
2
-1
21
55
1
0
0
-6
29
1
1
1
-12
15
0
0
2
-2
-2
-12
1
2
1
0
1
0
0
-4
0
0
0
0
0
-3
0
0
0
16
-13
19
-13
56
-31
-33
1
51
-23
6
-9
26
-68
-121
-15
-73
-17
13
52
3
-46
15
116
-111
5
-100
25
131
-95
2
-43
4
-12
-57
-56
-40
6
42
56
33
18
5
5
-44
-27
7
-7
-24
-33
-13
23
-10
-16
14
65
0
-46
102
-5
52
34
3
5
-33
21
19
-36
-8
-35
-27
26
0
36
13
47
-20
-99
-26
-23
38
21
-9
-72
-3
32
-1
-87
12
-2
12
-33
-31
-25
-3
2
-23
-1
0
0
38
28
18
-20
12
8
19
-5
4
0
9
108
-67
-23
-1
-7
19
3
1
0
83
36
54
44
-1
-24
112
-37
96
0
63
-20
-24
17
-12
20
3
-10
-1
1
-23
30
-20
-37
-3
-25
42
-10
-1
-1
27
67
-2
25
-1
-2
26
-3
0
0
86
4
-2
8
-13
-42
80
-24
44
-24
-15
60
43
-96
-50
64
38
4
-21
-18
47
-120
33
-70
6
-42
-201
29
-20
20
8
-79
37
-127
-83
-50
-32
-3
50
-4
-45
34
4
-14
-29
-77
1
-29
-43
16
-63
12
-21
4
9
-43
40
-11
-80
71
-91
3
-4
2
11
29
73
-38
-7
16
-17
-39
-11
18
34
11
-23
-17
23
7
-24
42
7
-35
0
-12
-42
-5
2
0
52
16
15
0
-2
-4
24
0
0
0
1
-28
-2
13
0
-2
20
1
-3
0
7
58
-4
0
-4
23
0
-1
0
0
33
35
65
21
-3
7
3
-3
-40
0
-11
-43
19
18
1
30
12
-5
-6
0
6
-26
11
73
0
-13
160
0
-5
1
0
-2
1
2
0
-6
11
-5
13
0
14
-18
2
4
-17
-2
-15
4
35
17
-7
-10
11
29
-45
28
88
4
-61
7
9
-6
5
-67
-86
-48
-29
26
65
44
-44
32
-3
13
100
-38
-32
50
-72
65
-47
21
-5
4
31
-33
-3
-36
11
-21
-56
9
-24
-37
39
-14
48
-41
18
24
-124
51
23
7
22
0
23
-10
1
23
4
7
37
-38
8
-21
79
-82
-19
36
29
22
-16
3
0
-1
-2
7
-10
0
25
-36
62
-10
17
-2
51
-21
0
0
20
34
-20
3
2
2
25
15
0
0
-17
15
-1
2
0
9
-15
-2
-1
0
-6
18
-55
20
4
-1
-65
-2
5
0
-11
112
-16
-49
-2
-3
25
-20
43
12
-4
-8
-6
-62
-1
0
-1
5
-6
0
-1
77
1
-7
1
-4
2
0
-3
0
-33
36
-53
89
6
-88
-22
-16
-22
16
5
30
-33
6
6
-28
32
-8
19
19
-6
0
5
84
64
-116
-52
64
-72
139
-48
-10
-51
5
19
-47
41
86
80
6
5
9
-32
21
-37
-6
-19
-72
22
56
37
-17
-35
2
-4
22
10
54
38
28
-91
-15
38
-2
36
9
18
-62
58
61
2
31
0
-74
-83
1
2
59
3
-50
0
40
7
-12
0
-3
75
-4
0
0
-1
-1
2
7
-4
0
-34
0
1
0
9
-12
7
-4
0
11
33
9
3
0
0
-66
5
0
0
0
1
0
-1
0
6
-29
24
14
0
2
-102
-5
-6
0
22
-22
-40
-50
1
20
-27
-13
20
0
-3
-16
24
7
-2
7
-9
-2
2
0
-1
-2
-10
12
0
0
14
0
0
0
51
-20
11
6
11
10
-50
1
-70
-5
55
-38
-11
-33
-5
26
-15
28
-25
-11
4
-95
9
88
-147
-39
18
1
34
10
12
-99
35
39
-70
37
-24
-74
66
-5
31
3
26
16
9
-77
-17
9
-3
19
-45
3
-1
-14
-78
-45
-31
-28
5
21
-20
-13
-13
27
-8
-143
-24
-35
25
-40
-32
-22
17
17
10
-48
16
-3
32
22
0
-6
20
124
-8
-3
34
22
22
0
-6
21
5
-8
0
1
-8
-1
5
0
5
9
30
-16
1
0
6
-34
4
0
-1
-38
-12
-1
5
0
23
1
0
0
3
-77
18
-38
9
20
59
-47
2
2
5
127
-33
-6
-1
19
44
-18
0
0
31
-107
98
-4
8
1
-80
29
-5
0
-1
-109
-21
2
0
0
-1
4
0
0
-7
-29
-32
-61
79
10
-32
4
-129
22
-71
-72
-41
28
-15
44
-34
-42
-15
0
-51
-77
1
-18
11
105
-81
-2
-55
25
48
-83
11
-68
24
16
-71
32
-58
12
17
5
18
12
49
7
-6
11
4
5
7
7
10
-3
31
-17
-51
4
-36
124
83
-44
-6
36
0
-71
4
33
19
-94
-26
-51
18
35
-51
1
-112
30
88
-48
0
-24
-6
14
0
0
36
-8
4
0
5
75
5
-4
0
5
58
-1
0
0
0
44
-14
9
0
0
11
-3
1
0
0
-20
0
2
0
-6
3
-2
-2
0
0
6
13
3
-8
-4
1
-34
-2
0
-3
-4
6
2
1
2
4
5
1
0
0
-12
1
35
0
-2
20
-1
0
0
0
-1
-1
-1
0
-2
1
0
-5
0
13
-34
11
-70
-54
-62
-113
9
20
-29
-10
-21
40
-128
-41
33
-49
-127
50
39
-28
-129
11
-51
-27
-115
46
7
-157
-6
13
-73
-18
43
9
24
-4
-12
-55
51
-27
3
18
31
17
50
-10
-13
49
-37
-42
12
-21
-9
68
13
15
-24
-53
-5
-12
2
-7
13
-1
176
4
-9
33
31
-61
-4
-25
44
-13
-16
-148
44
17
4
-8
5
52
51
-1
0
-33
-41
0
0
-22
-32
51
-17
-1
0
10
-4
4
0
-1
40
16
8
0
-3
64
1
-3
0
0
-7
2
-6
2
0
1
3
0
0
6
-10
-32
-3
-13
4
-22
-2
-5
-1
-4
43
60
-11
11
6
-5
6
0
0
1
-50
32
-33
1
0
-10
-5
16
0
7
-9
-9
8
-1
0
0
0
-1
0
-27
60
27
-73
1
17
24
7
81
-5
109
-86
-49
75
1
-37
53
35
13
-1
-12
-89
4
-89
110
-148
-25
3
-61
40
100
-144
-15
-57
2
-2
-40
104
-3
-2
8
13
2
54
11
-21
-5
11
55
-114
-43
30
15
-39
-32
-23
63
-30
-33
42
-45
-71
-36
43
-72
-35
-13
-34
105
-97
-16
-71
1
-42
-7
14
-39
39
-49
-27
-2
-15
0
0
0
0
33
1
3
0
0
-19
14
0
0
3
39
1
0
0
0
-64
5
0
0
0
22
-2
0
0
0
3
-2
0
0
0
-6
1
0
0
6
2
-4
-2
9
-2
21
9
-3
-1
-2
10
0
-3
0
3
6
3
0
0
0
8
-3
9
0
0
-1
39
-2
0
0
0
-4
-5
0
-1
0
2
-1
0
4
24
-19
19
-27
-26
46
2
-18
-1
57
-62
46
83
-6
43
12
-74
-1
0
-60
60
-40
-78
18
-3
10
-2
-15
0
-3
-22
12
-8
1
-2
12
-12
-22
0
-27
-60
29
-3
6
-8
6
-21
16
24
33
109
-49
9
-3
-6
-42
109
-18
1
-51
69
-72
49
20
24
49
-22
-2
2
155
-45
-36
-7
4
-91
58
-6
0
0
-7
26
63
6
11
-22
6
123
-6
3
45
5
51
-5
-7
23
27
-21
39
0
-39
44
23
68
-36
14
23
59
-6
19
-33
23
3
3
2
4
-29
10
7
0
-35
60
9
13
-10
29
-109
49
-38
5
-12
-59
78
3
40
29
62
2
-34
13
42
4
-19
43
1
-36
-22
-5
60
13
-47
-30
82
17
16
20
15
-21
6
0
60
37
42
-29
-1
-18
20
-28
8
2
8
-22
-20
6
7
-6
-10
-12
-15
0
20
50
-26
-10
-1
-27
-12
6
-5
0
-6
22
0
5
1
-3
-4
-1
-2
0
-8
6
-5
-18
-1
35
-49
55
4
-2
11
-46
40
4
-6
35
5
-77
4
0
-61
33
93
-29
6
-26
4
-85
0
1
24
25
18
6
1
11
1
0
-1
0
17
69
21
2
-9
-4
48
-43
-49
0
8
-87
30
-3
-2
54
-15
-26
-6
1
-1
17
19
27
2
4
-22
-8
20
-1
0
72
-11
-18
4
0
-29
16
1
0
-2
-15
14
10
14
23
35
60
-10
40
65
44
-54
26
-26
-18
3
51
-11
-16
-27
-36
44
112
-30
-23
28
-31
56
-4
-18
88
37
-45
42
-19
10
2
-8
-1
34
-1
-3
1
-3
49
6
6
6
0
-8
-37
-14
3
-3
31
-21
-20
-6
0
-31
-25
-13
10
-4
0
-10
9
0
0
6
-25
-17
24
0
0
4
0
0
0
9
24
7
74
-16
-18
66
5
-4
0
16
56
-9
10
0
29
10
-38
7
-5
108
-65
-40
-25
-18
58
-12
-7
2
0
37
2
16
-5
6
-7
0
0
0
0
7
-14
13
-82
4
1
-80
33
19
-27
54
-2
63
0
5
-15
-40
8
10
-3
-18
23
-81
-28
18
5
-55
-40
9
0
-6
-2
22
1
2
1
-7
1
-10
0
-36
28
26
8
-11
18
-44
35
-31
-25
29
-79
-23
54
-11
10
15
-37
-53
13
24
90
-34
54
26
-53
-6
-25
65
16
5
16
11
-13
7
-1
19
-9
0
2
-5
-18
31
-3
0
-9
-18
-4
-2
0
10
-10
8
0
0
-22
-14
-13
-6
0
0
25
-7
6
0
22
-40
-7
-2
0
0
-27
5
-1
0
-4
34
-2
0
0
-25
49
41
-2
0
-15
11
33
1
0
1
58
-49
8
-3
-19
-31
-9
7
0
26
17
1
2
0
20
1
-22
-9
0
0
-2
-4
9
0
5
1
-1
-2
0
0
76
-35
19
0
-6
30
1
-1
3
11
-2
-17
22
0
-41
8
66
6
-1
-3
35
-18
35
-1
-14
-17
57
22
0
-2
-1
-12
-1
0
3
45
-2
0
0
-43
44
42
-4
49
4
-51
53
-2
-9
-18
67
31
-12
26
-26
55
-14
-5
55
30
-72
4
28
1
-1
5
35
-7
16
1
25
9
-27
-5
-2
20
-28
-9
-5
-32
-28
90
14
11
-62
25
4
-2
0
-12
40
-27
-17
4
39
15
18
-17
0
-19
7
37
-25
0
4
-15
-3
8
0
9
3
-70
2
0
2
-9
-10
-1
0
4
21
55
-75
2
77
9
24
-16
0
-7
-89
32
22
7
-4
11
-34
1
0
20
-91
30
-25
6
-18
6
-28
2
0
-3
25
-5
16
-7
1
4
2
2
0
118
-13
-146
-1
-23
5
-25
73
19
-6
-18
-1
9
9
-19
13
30
-38
-5
0
-9
-25
64
-49
24
8
114
-22
-27
11
-12
49
23
8
-7
4
-16
2
1
0
-13
152
-100
2
49
8
32
-5
6
-19
44
0
-15
11
-3
-37
-24
91
22
16
-38
-14
11
-56
20
54
-41
-10
-22
1
-8
67
-43
-19
27
-18
1
77
5
0
1
11
87
-44
-1
-6
-30
-4
-12
-2
-19
-1
12
-2
-2
-1
-9
-30
-4
0
-2
7
21
0
0
-13
55
3
-22
1
4
-21
2
1
0
0
-27
-1
0
0
-29
-31
13
-4
-2
-42
62
-23
-1
0
-9
-13
-32
0
4
-16
3
-9
0
0
11
15
5
-3
-3
1
-7
35
3
0
-16
-3
8
0
0
1
5
0
0
0
-52
47
25
17
-3
4
-27
-45
38
0
-2
-51
31
-14
-3
-2
39
-10
6
0
-10
32
-9
10
2
-1
7
-4
7
-2
0
15
6
-1
0
-7
12
0
1
0
47
15
104
20
-59
18
47
-35
26
38
69
33
-63
-19
19
-67
62
-31
55
-37
0
56
18
-6
-12
5
-28
-13
-16
-19
-5
-9
-36
16
1
1
-8
-1
0
0
-19
32
2
6
-2
9
20
0
15
0
-7
33
0
6
2
0
-18
4
8
0
0
69
10
-8
-1
2
-28
7
0
0
75
-22
-7
0
0
1
-2
0
0
0
-27
46
-15
8
7
-1
25
-41
0
0
-5
16
-4
-3
6
-18
4
-3
0
0
28
22
-10
-6
1
-3
0
-23
-6
0
4
9
18
0
5
2
2
-2
0
0
13
36
21
-73
-6
-2
17
19
2
0
5
-36
19
-3
35
-2
-9
3
3
-6
-17
-3
-30
18
0
-5
-37
26
-1
0
-10
-5
-11
13
0
1
7
0
1
0
-6
-24
-51
79
15
80
53
-15
8
-38
24
-13
57
-15
-23
26
73
-3
7
4
-9
77
-30
-27
22
18
79
25
1
-19
8
6
-65
2
7
0
-3
-26
-1
0
0
42
1
0
0
0
10
3
0
0
2
-19
7
0
0
-1
-3
-8
0
0
-2
0
5
-1
0
1
-1
10
0
0
1
3
0
0
0
0
4
1
0
0
0
1
6
0
0
26
2
32
3
0
27
-2
55
0
0
16
-2
-11
-5
0
15
-1
-1
0
0
-4
12
38
0
0
0
3
0
0
0
0
1
3
4
0
0
69
-23
-18
0
0
-22
0
0
0
0
-11
-11
2
0
0
-9
0
0
0
10
7
32
2
0
-1
-21
-2
0
0
0
-2
-3
0
0
0
28
0
0
0
3
4
-7
20
0
-9
-37
25
4
11
15
-18
26
-19
37
-1
-1
-3
-17
-7
-2
-16
24
3
-2
26
-21
0
-3
-2
0
0
23
1
0
0
-5
0
0
2
-50
67
-45
-33
-7
12
-19
24
4
1
-11
-18
51
10
-3
0
-6
-5
9
0
-13
-97
28
6
-3
2
-77
31
0
0
6
-13
1
-7
0
0
-1
-2
3
0
-40
39
47
22
17
24
13
-9
82
-8
53
14
-10
76
4
-3
0
74
13
0
-11
16
38
-30
20
-12
9
21
-18
0
-16
-27
-8
29
-2
2
5
-12
-9
0
-64
48
-38
-30
41
15
-5
69
-21
-18
-42
34
86
-65
6
-1
2
-21
60
1
-66
9
70
83
-16
3
30
60
60
0
10
26
-1
24
-11
0
1
6
2
0
-112
27
47
36
63
-64
12
45
39
-22
-23
16
-25
65
13
63
16
-47
7
39
-1
52
12
-19
-2
33
23
48
-5
-37
-19
59
-46
38
10
-2
-1
-3
44
-1
1
50
-2
3
0
-45
45
19
2
0
0
-22
7
-2
0
-1
25
7
0
0
2
36
-4
5
2
0
-18
-21
12
0
0
9
4
0
0
0
-9
0
0
0
-2
-4
-25
-44
-1
-1
11
-57
0
-6
1
26
23
-8
9
9
-4
85
-7
-7
12
-2
-74
-10
6
4
5
31
0
3
1
38
-1
29
-1
-3
-6
12
11
0
-6
82
45
61
-15
4
30
-20
15
0
-15
-35
19
13
0
-2
-48
17
-2
3
1
60
29
-13
1
0
-30
-17
9
-1
0
-41
-18
-6
3
-4
-20
32
-7
0
-16
-14
56
82
12
6
41
-32
30
21
15
-51
-72
128
-10
13
-9
7
20
7
3
-90
57
-72
24
-14
-39
33
53
-1
-4
-15
29
-3
-1
-2
-11
-5
23
3
-7
-15
-31
60
-12
1
-19
-6
-2
0
-4
9
-63
11
0
7
-4
-13
-1
0
-27
-59
-2
0
-3
0
-97
-4
0
0
-2
35
-8
6
0
2
0
0
-1
0
-6
66
10
-40
-8
24
-49
49
1
-4
-83
-16
-1
8
3
108
6
-25
-10
0
21
-46
21
23
0
7
21
-7
-6
0
16
6
15
-3
-2
0
-6
-1
10
0
0
29
45
-43
6
-6
17
-17
9
-1
27
26
-62
-21
1
0
76
-4
-9
0
8
-17
-38
11
-11
-2
99
-10
-34
-1
-9
-32
-26
96
0
1
29
3
1
0
57
-51
-18
48
-3
2
79
-8
37
15
39
17
-30
13
-12
-12
14
109
-48
-8
5
-20
82
37
6
-24
19
-4
-6
18
-27
55
-8
-52
-16
-2
-28
-39
20
-1
0
-12
-2
4
1
0
-8
5
0
0
0
3
-1
0
0
5
2
6
0
0
-1
-1
-5
4
0
1
-31
-1
9
0
0
-4
5
1
0
0
14
0
0
0
-3
25
5
-2
0
0
-17
-18
-2
-2
3
-1
-10
-5
-1
1
10
-37
1
0
-2
2
-37
9
0
1
-4
82
4
1
-3
2
10
-1
3
1
7
0
0
0
3
-29
5
13
0
-3
-23
-9
-3
0
5
53
-24
-8
0
0
-21
-2
9
0
0
6
-6
49
0
0
19
-14
-10
0
0
6
10
3
2
1
-4
1
0
0
-8
120
-72
-9
8
6
-64
69
-59
-2
-4
44
51
-20
-7
0
28
4
-36
-6
-3
9
-3
1
4
-4
-20
-32
28
2
1
-16
-25
59
1
12
-4
-7
-8
0
66
-79
-65
22
0
-31
-68
20
-3
1
-2
1
-41
4
-1
0
0
-10
3
1
-2
-45
20
6
2
8
-15
-6
4
0
-5
10
8
-8
-1
0
-4
-1
0
0
28
-8
-20
-6
-1
2
-47
98
6
8
-10
32
-2
19
0
-9
-2
-20
5
0
19
44
24
-53
2
-21
-5
15
2
-1
-19
9
-24
0
1
0
3
7
-3
0
25
15
65
-51
29
-5
-18
58
48
-2
-3
-18
-7
4
-29
4
148
43
14
0
32
2
56
17
-8
0
39
10
36
25
-2
-28
-7
-46
-17
0
-2
9
1
0
-4
-38
66
20
-61
17
-11
6
-26
3
33
42
-32
-55
38
15
4
25
-12
-2
-41
-32
-5
45
-28
16
-30
62
24
7
20
-112
134
-9
-51
3
-9
-16
12
-8
-2
27
-57
-6
0
-3
-52
-14
0
0
0
1
-1
0
0
0
9
-1
5
0
0
-28
19
1
6
0
-1
-3
6
0
-1
3
6
0
0
0
1
3
0
0
-14
-25
40
4
6
3
43
-2
-11
-1
0
-16
25
3
0
-52
3
57
-8
0
12
-2
27
3
-3
0
-10
-26
1
1
-1
37
13
-2
0
0
0
6
0
0
0
67
-54
27
0
0
3
1
-28
2
0
88
44
-43
-2
0
-8
11
1
0
0
5
-6
16
0
0
-12
-10
-33
2
0
-12
19
-4
0
0
-2
-27
4
0
7
47
21
49
15
3
35
1
21
6
0
25
-18
34
-14
31
17
13
-4
-4
-6
2
-18
4
-15
0
-39
-18
16
-3
-1
17
38
-24
5
1
-6
-29
84
2
0
-89
8
-5
0
6
8
0
0
0
-3
19
-10
-1
0
3
4
-15
1
0
3
0
0
0
1
0
-1
4
0
0
-6
23
-3
3
0
0
0
-2
0
0
-35
4
-52
10
0
4
7
29
-3
0
8
51
56
-38
1
-1
-12
21
0
0
-6
2
-93
7
1
-5
2
18
1
0
-4
-22
-2
-13
0
1
0
11
0
0
14
3
-32
43
-3
0
-46
-29
27
0
-19
83
17
-28
0
2
31
15
0
0
0
-31
-47
-14
17
0
61
15
26
-4
0
-9
13
7
3
0
-2
-7
6
0
-24
15
-29
62
7
0
-34
-2
19
-4
-38
62
-64
94
3
-10
16
23
16
0
-43
5
45
13
3
1
33
51
12
7
2
8
-75
7
5
0
1
12
-15
1
0
11
1
2
0
0
0
-1
0
0
-1
1
9
0
0
0
-1
0
0
0
0
-2
-4
0
0
0
5
3
0
0
0
2
-1
0
0
0
-1
0
0
0
9
-3
-14
8
0
-7
1
57
0
0
2
2
16
0
0
23
9
3
4
0
-4
0
24
-1
0
0
-1
-13
0
0
-1
1
14
0
0
0
-4
0
0
0
0
-33
-13
10
0
0
-17
-1
-1
-1
2
22
-6
-3
-7
0
10
0
0
0
0
30
-38
-5
-1
0
12
-12
4
0
1
-3
-2
-1
0
0
2
4
-1
0
-1
-29
35
-13
-31
-7
15
-5
-1
3
0
-15
10
-8
-5
-2
-8
-17
6
5
0
-11
7
-4
4
0
5
-17
-16
-1
0
8
-20
-4
3
0
2
5
-11
-2
0
25
11
20
15
0
0
-43
29
36
0
0
-44
-18
46
0
0
-32
-28
22
0
0
11
-7
23
0
0
10
-29
-7
0
0
8
-29
15
0
0
9
-32
24
0
0
-40
27
-62
0
0
-38
-11
87
0
0
-25
15
28
0
0
-54
23
-32
0
0
47
-31
-2
0
0
49
-46
-71
0
0
-41
-47
-35
0
0
21
-50
-53
0
0
53
10
14
0
0
28
-53
-17
0
0
-3
-30
-61
0
0
1
52
-9
0
0
-48
37
2
0
0
-26
-35
-1
0
0
68
53
-40
0
0
32
-68
-15
0
0
20
-34
-65
0
0
27
-29
-14
0
0
-88
126
66
0
0
-28
-59
0
0
0
29
24
-83
0
0
6
58
-6
0
0
-12
19
-42
0
0
-45
-43
0
0
-24
-8
17
25
0
0
-24
39
90
0
0
-13
34
81
0
0
-48
38
17
0
0
-9
3
38
0
0
-7
35
8
0
0
-26
17
-23
0
0
-29
-4
-28
0
0
0
60
-25
0
0
87
46
43
0
0
-25
-21
-12
0
0
140
19
-118
0
0
14
-15
-59
0
0
64
14
10
0
0
79
-181
19
0
0
90
-46
-101
0
0
95
82
11
0
0
-15
-5
33
0
0
2
-14
9
0
0
171
-49
-4
0
0
-47
-34
26
0
0
-29
-17
7
0
0
68
12
-4
0
0
-11
-18
0
0
0
-9
-122
35
0
0
-10
51
-23
0
0
-95
-4
2
0
0
-11
-14
-2
0
0
58
-21
51
0
0
7
-29
-13
0
0
-72
-22
-1
0
0
6
-23
4
0
7
4
19
31
0
0
104
73
-131
0
0
-1
33
23
0
0
15
3
36
0
0
-7
-7
37
0
0
1
-6
73
0
0
23
15
36
0
0
-2
-18
82
0
0
52
3
28
0
0
-39
96
-60
0
0
26
-1
23
0
0
-44
-27
-28
0
0
0
108
33
0
0
-114
-22
80
0
0
-11
-28
39
0
0
10
26
-39
0
0
-65
-86
-50
0
0
137
-106
-102
0
0
5
54
37
0
0
-26
90
-7
0
0
-13
-56
6
0
0
-40
-49
76
0
0
8
-31
-57
0
0
38
34
0
0
0
-81
-32
-4
0
0
7
-14
1
0
0
44
16
-73
0
0
10
-1
1
0
0
-44
-47
-6
0
0
-10
49
-5
0
0
-48
-6
1
0
0
15
-4
0
0
18
28
-14
-6
0
0
26
64
-21
0
0
-1
41
113
0
0
58
-43
-15
0
0
6
-22
1
0
0
-31
-5
42
0
0
-5
-72
48
0
0
1
15
73
0
0
8
5
97
0
0
-35
71
32
0
0
-43
40
45
0
0
-78
1
-17
0
0
40
30
-57
0
0
-55
-15
72
0
0
28
5
-10
0
0
0
117
-32
0
0
42
-33
-28
0
0
-4
79
24
0
0
106
26
-10
0
0
125
-51
12
0
0
-49
15
-8
0
0
66
23
-1
0
0
-20
15
0
0
0
25
-31
0
0
0
-97
46
-34
0
0
-17
38
0
0
0
-36
-9
12
0
0
103
27
0
0
0
-7
0
-3
0
0
-17
5
0
0
0
30
35
3
0
0
-16
-3
-1
0
-2
20
-27
26
0
0
28
-18
-29
0
0
13
29
24
0
0
0
30
18
0
0
-18
22
16
0
0
-17
9
17
0
0
6
50
-17
0
0
32
7
19
0
0
-11
62
48
0
0
-92
156
11
0
0
-26
-45
59
0
0
8
6
-20
0
0
9
6
-8
0
0
91
-63
16
0
0
22
92
-21
0
0
-40
62
19
0
0
77
-74
-11
0
0
-42
11
-30
0
0
11
47
35
0
0
-54
14
4
0
0
13
20
29
0
0
2
-66
-33
0
0
39
-58
4
0
0
0
85
0
0
0
-6
-44
47
0
0
-39
24
12
0
0
-14
-15
-11
0
0
1
-3
-10
0
0
-83
8
36
0
0
10
-40
-2
0
0
60
-69
8
0
0
0
5
2
0
-1
23
-42
-81
0
0
-31
-1
-27
0
0
42
20
55
0
0
48
38
-33
0
0
-61
46
58
0
0
20
35
21
0
0
6
47
56
0
0
41
48
16
0
0
-14
53
15
0
0
-60
12
8
0
0
102
-41
8
0
0
-4
64
43
0
0
-14
-35
-12
0
0
-11
-19
30
0
0
-41
-77
83
0
0
40
-15
-37
0
0
18
1
23
0
0
-76
-18
-9
0
0
-59
-10
-12
0
0
-45
-49
2
0
0
-25
-2
10
0
0
32
47
0
0
0
-34
-50
7
0
0
0
-64
0
0
0
-43
8
18
0
0
-5
-16
0
0
0
33
-14
0
0
0
-40
-2
0
0
0
-31
29
0
0
0
-12
23
4
0
0
20
3
0
0
0
-26
-9
-4
0
2
-53
-42
-134
0
0
46
2
75
0
0
0
61
-18
0
0
-3
53
166
0
0
-29
18
-32
0
0
-6
-9
9
0
0
-14
11
7
0
0
19
21
69
0
0
34
15
-104
0
0
67
29
-30
0
0
-5
-1
18
0
0
24
60
-68
0
0
-11
-77
24
0
0
41
51
-13
0
0
-115
93
-17
0
0
38
34
-46
0
0
33
-10
-6
0
0
-3
-11
37
0
0
-2
-11
-35
0
0
79
-46
-1
0
0
21
9
21
0
0
-9
22
7
0
0
10
-70
7
0
0
-28
-29
10
0
0
61
43
-19
0
0
-6
-4
-3
0
0
10
-21
2
0
0
-8
6
1
0
0
19
-15
62
0
0
4
18
0
0
0
-26
36
-11
0
0
-5
21
0
0
8
84
-54
-18
0
0
22
69
-34
0
0
-28
16
73
0
0
9
45
40
0
0
-33
71
3
0
0
11
90
-23
0
0
-21
49
-4
0
0
5
51
21
0
0
-10
-35
28
0
0
69
1
94
0
0
13
36
23
0
0
40
-46
-32
0
0
101
35
63
0
0
36
-22
-47
0
0
30
-47
-64
0
0
101
-56
-38
0
0
61
-157
13
0
0
-26
28
0
0
0
17
4
-3
0
0
-29
76
3
0
0
59
-19
0
0
0
-38
4
0
0
0
-87
-21
1
0
0
51
30
0
0
0
-45
-4
4
0
0
12
1
-2
0
0
-4
-15
10
0
0
63
-18
0
0
0
1
8
4
0
0
15
11
-4
0
0
-1
29
1
0
0
2
19
2
0
-15
30
78
9
0
0
-7
63
56
0
0
38
-20
-130
0
0
-24
-11
-67
0
0
57
1
-15
0
0
62
6
13
0
0
20
43
-70
0
0
27
31
-169
0
0
-57
74
77
0
0
1
26
53
0
0
-26
5
23
0
0
-5
26
-93
0
0
32
-41
20
0
0
93
-59
-78
0
0
-17
-10
36
0
0
-62
3
16
0
0
4
-1
14
0
0
-37
-12
26
0
0
33
3
-3
0
0
-5
-29
6
0
0
-73
-40
77
0
0
-48
58
17
0
0
-53
31
2
0
0
-11
23
-19
0
0
61
52
19
0
0
28
-15
-29
0
0
56
-1
-22
0
0
34
-37
8
0
0
48
39
2
0
0
85
8
12
0
0
59
-69
-2
0
0
24
-32
-6
0
-53
-67
16
83
0
0
-29
-26
44
0
0
-50
-13
65
0
0
-52
7
56
0
0
6
-3
36
0
0
68
20
2
0
0
91
7
39
0
0
-20
-37
-77
0
0
52
36
38
0
0
-39
22
-2
0
0
-44
-54
-2
0
0
51
-38
-72
0
0
66
-4
-58
0
0
-6
-14
-10
0
0
72
-70
-51
0
0
84
-3
-26
0
0
-125
89
5
0
0
2
-39
4
0
0
-10
-30
-22
0
0
-25
-49
-2
0
0
-27
-77
24
0
0
0
-19
-3
0
0
-104
25
0
0
0
39
-34
-2
0
0
126
-63
22
0
0
23
4
35
0
0
-37
20
-36
0
0
98
-16
15
0
0
24
43
3
0
0
-82
47
-10
0
0
-13
3
5
0
0
44
-39
-15
0
15
-57
6
26
0
0
-33
25
-9
0
0
152
0
-6
0
0
98
-52
69
0
0
-2
15
79
0
0
-20
19
139
0
0
-4
49
27
0
0
-42
8
43
0
0
-31
8
52
0
0
52
34
62
0
0
-25
-25
16
0
0
29
33
-77
0
0
18
35
38
0
0
-23
56
-12
0
0
56
32
-66
0
0
66
-6
-51
0
0
-37
29
-55
0
0
-6
6
-51
0
0
-15
32
26
0
0
32
33
-16
0
0
-95
-67
16
0
0
69
-41
16
0
0
28
-10
14
0
0
-16
-13
0
0
0
4
13
5
0
0
19
12
9
0
0
38
2
8
0
0
31
9
8
0
0
-109
9
9
0
0
15
-40
6
0
0
2
-22
-56
0
0
37
-12
1
0
-7
57
-130
71
0
0
-39
-30
33
0
0
93
57
-72
0
0
117
-15
40
0
0
0
-62
-52
0
0
88
31
35
0
0
107
13
-12
0
0
41
36
-26
0
0
-3
57
-79
0
0
-14
-51
-13
0
0
-92
112
10
0
0
-18
85
14
0
0
11
54
-37
0
0
21
-40
-8
0
0
31
-39
25
0
0
-1
29
27
0
0
-45
-53
11
0
0
57
12
-4
0
0
65
9
-2
0
0
58
71
3
0
0
24
-3
-12
0
0
2
97
-1
0
0
47
-4
-2
0
0
-96
91
-4
0
0
8
-7
-36
0
0
-8
-4
-19
0
0
-20
1
32
0
0
-35
-3
-7
0
0
-1
32
-9
0
0
58
40
8
0
0
17
-43
-1
0
0
-23
71
0
0
-12
49
-13
-2
0
0
-73
-45
28
0
0
-16
50
-10
0
0
23
67
0
0
0
-19
37
55
0
0
-8
74
18
0
0
-4
28
27
0
0
-5
55
-35
0
0
33
59
38
0
0
-49
21
32
0
0
-12
-67
36
0
0
-21
2
49
0
0
9
-40
12
0
0
7
-45
-6
0
0
-34
-45
2
0
0
-1
-32
-28
0
0
119
-23
-65
0
0
-9
-38
11
0
0
117
22
20
0
0
-3
-19
-6
0
0
100
74
6
0
0
7
19
23
0
0
83
-92
53
0
0
-36
27
1
0
0
-50
61
58
0
0
-6
-32
8
0
0
-15
5
22
0
0
39
-2
8
0
0
2
-59
24
0
0
-36
-4
-46
0
0
46
60
27
0
0
-7
76
-49
0
8
3
-52
57
0
0
-89
18
-41
0
0
-125
46
-56
0
0
11
88
-94
0
0
-34
9
18
0
0
-41
46
-121
0
0
-49
-12
2
0
0
-19
7
83
0
0
-9
-2
-15
0
0
-41
86
5
0
0
-22
43
49
0
0
-23
79
24
0
0
7
-27
8
0
0
-80
4
50
0
0
-102
-5
14
0
0
-24
51
-1
0
0
-38
37
-55
0
0
-5
43
8
0
0
-8
-4
6
0
0
35
-25
1
0
0
-28
43
4
0
0
-14
3
0
0
0
42
-11
1
0
0
59
-21
-1
0
0
-4
22
5
0
0
-2
-30
32
0
0
27
11
-40
0
0
-55
34
7
0
0
55
-11
62
0
0
-11
-8
-3
0
0
27
11
2
0
0
68
-5
10
0
9
-124
-46
18
0
0
59
-74
28
0
0
-18
-2
5
0
0
121
28
-28
0
0
4
8
-71
0
0
-1
54
-33
0
0
-5
27
-82
0
0
-39
45
69
0
0
25
-36
50
0
0
45
-84
71
0
0
-106
-11
107
0
0
-28
23
102
0
0
-12
-39
28
0
0
15
73
-40
0
0
-75
54
43
0
0
6
-39
15
0
0
-25
67
-60
0
0
6
-36
7
0
0
-35
-12
-59
0
0
25
-10
0
0
0
69
10
-32
0
0
4
22
15
0
0
-23
-34
-2
0
0
-26
38
4
0
0
-31
35
1
0
0
0
17
-3
0
0
0
-10
11
0
0
20
45
2
0
0
39
2
-10
0
0
1
-21
-56
0
0
50
19
-1
0
0
-35
15
1
0
33
-72
-73
-113
0
0
-12
-34
111
0
0
-4
-23
-3
0
0
83
30
-156
0
0
-13
83
53
0
0
-26
21
0
0
0
10
-46
-3
0
0
4
122
-114
0
0
14
39
-5
0
0
33
21
-14
0
0
116
-46
96
0
0
8
-4
64
0
0
-15
73
-62
0
0
67
4
-64
0
0
-19
21
-15
0
0
-52
-44
63
0
0
5
1
1
0
0
37
-1
-9
0
0
2
1
0
0
0
9
-6
-18
0
0
22
-9
1
0
0
24
4
-5
0
0
23
3
6
0
0
51
-5
1
0
0
-27
0
-1
0
0
8
1
-1
0
0
-17
-3
-26
0
0
-73
-32
1
0
0
-24
6
0
0
0
-48
4
1
0
0
-22
51
-3
0
0
-51
37
-2
0
-16
-22
88
77
0
0
-24
37
86
0
0
57
-68
22
0
0
-101
19
-26
0
0
-28
-1
9
0
0
-33
25
-77
0
0
-30
21
67
0
0
47
80
-22
0
0
24
53
-4
0
0
25
32
16
0
0
115
50
-133
0
0
86
2
23
0
0
-16
-17
-21
0
0
46
-120
-11
0
0
70
-15
-5
0
0
8
-31
-1
0
0
-102
37
57
0
0
112
14
-42
0
0
-3
-44
86
0
0
-17
21
25
0
0
-40
23
43
0
0
-27
-19
1
0
0
-12
-7
14
0
0
-9
-3
-2
0
0
35
-57
5
0
0
-33
91
38
0
0
39
32
-102
0
0
58
63
31
0
0
-31
108
-33
0
0
-14
13
-116
0
0
-61
-117
-71
0
0
-88
51
-42
0
-21
14
113
37
0
0
-90
0
-15
0
0
11
-68
-6
0
0
-42
-5
-49
0
0
2
21
98
0
0
29
-72
40
0
0
-23
113
8
0
0
30
35
-8
0
0
63
-84
64
0
0
80
64
0
0
0
-9
20
-8
0
0
6
9
-4
0
0
64
-148
4
0
0
-20
-53
-5
0
0
16
33
-5
0
0
16
-27
-5
0
0
31
169
-21
0
0
3
111
77
0
0
12
0
-1
0
0
-36
-51
-15
0
0
-61
99
-46
0
0
73
44
21
0
0
23
13
-7
0
0
53
-102
-6
0
0
-2
-47
19
0
0
4
-19
-8
0
0
71
4
-3
0
0
-13
-45
-1
0
0
-28
30
-59
0
0
-7
-60
-17
0
0
-2
-26
11
0
0
15
29
-2
0
45
49
15
-69
0
0
-3
-53
-19
0
0
-43
17
-35
0
0
1
16
38
0
0
-4
112
-39
0
0
93
65
-38
0
0
-41
36
-17
0
0
-39
28
15
0
0
-62
7
30
0
0
24
8
14
0
0
-53
-10
38
0
0
38
-112
1
0
0
51
62
8
0
0
8
76
6
0
0
32
18
-2
0
0
2
-6
-1
0
0
23
-51
-86
0
0
1
58
-47
0
0
-25
38
44
0
0
9
37
5
0
0
-91
31
27
0
0
10
35
-63
0
0
-82
29
12
0
0
5
-65
8
0
0
34
63
-63
0
0
-3
-11
37
0
0
-15
-32
14
0
0
4
-48
0
0
0
-60
65
127
0
0
0
-29
-11
0
0
46
-21
32
0
0
58
-28
-2
0
62
-46
2
3
0
0
81
-33
40
0
0
-30
65
55
0
0
-28
-54
-51
0
0
35
-69
-17
0
0
44
30
-81
0
0
-72
29
5
0
0
42
-22
-21
0
0
32
-29
-27
0
0
45
13
-1
0
0
-76
77
0
0
0
94
-1
9
0
0
7
20
1
0
0
-28
12
-5
0
0
55
-29
0
0
0
49
-48
2
0
0
3
68
12
0
0
-13
35
18
0
0
-23
-8
19
0
0
125
-36
0
0
0
-77
-38
24
0
0
119
-35
12
0
0
21
-15
7
0
0
62
-74
11
0
0
-46
29
-24
0
0
-19
20
-8
0
0
5
36
-14
0
0
38
5
-5
0
0
-45
-12
13
0
0
-19
68
-7
0
0
-21
-9
7
0
0
-29
98
7
0
-11
57
-34
-48
0
0
62
-34
-6
0
0
54
63
-123
0
0
-29
86
32
0
0
-31
-56
63
0
0
18
-70
-2
0
0
-4
44
11
0
0
4
31
0
0
0
-40
10
46
0
0
-35
-48
8
0
0
6
23
12
0
0
24
48
3
0
0
104
44
-3
0
0
-17
20
0
0
0
116
-54
9
0
0
-23
-22
-2
0
0
96
-5
6
0
0
-6
17
-2
0
0
-54
-40
-36
0
0
19
-23
-11
0
0
-201
-50
71
0
0
-34
145
-50
0
0
-39
-5
30
0
0
5
-33
-1
0
0
-20
37
-130
0
0
19
-6
-6
0
0
83
63
75
0
0
-51
-5
16
0
0
-46
73
-38
0
0
-10
-27
-72
0
0
-13
92
91
0
0
17
2
-20
0
-79
29
85
10
0
0
-41
-6
-26
0
0
-21
-18
28
0
0
28
-11
-39
0
0
15
-19
-1
0
0
2
-60
32
0
0
4
-47
0
0
0
34
-99
4
0
0
-45
33
-7
0
0
40
10
2
0
0
-28
7
-6
0
0
-68
25
7
0
0
92
-36
3
0
0
48
57
0
0
0
13
29
-1
0
0
29
42
6
0
0
-62
-36
2
0
0
-3
-10
-30
0
0
-44
61
-12
0
0
-66
-27
-19
0
0
-51
41
-29
0
0
-25
7
-13
0
0
58
-38
3
0
0
-13
6
4
0
0
-1
3
24
0
0
10
48
3
0
0
-41
26
8
0
0
75
-23
-21
0
0
-84
-5
-16
0
0
-20
-22
25
0
0
-20
-2
-11
0
0
-65
108
0
0
-4
21
35
-4
0
0
-18
-25
-8
0
0
-1
31
25
0
0
-22
41
-9
0
0
-29
50
-37
0
0
14
-22
17
0
0
-27
45
-42
0
0
-59
26
12
0
0
96
28
-46
0
0
-31
12
-5
0
0
36
48
-15
0
0
5
23
-2
0
0
-12
34
-8
0
0
13
-26
-19
0
0
11
-59
7
0
0
-9
5
2
0
0
-5
7
6
0
0
3
-8
-24
0
0
19
-10
31
0
0
7
28
-1
0
0
-37
-18
28
0
0
-14
-16
10
0
0
-57
-50
6
0
0
15
-39
-11
0
0
-46
54
-10
0
0
21
-13
31
0
0
-39
-5
45
0
0
35
-61
3
0
0
51
-22
-38
0
0
-8
-29
-20
0
0
-29
-6
-18
0
0
-31
118
14
0
67
34
-115
-13
0
0
79
-7
-5
0
0
0
0
-1
0
0
24
17
2
0
0
-36
0
6
0
0
19
-2
7
0
0
-3
27
0
0
0
-30
52
1
0
0
61
11
1
0
0
65
-28
0
0
0
14
15
7
0
0
99
-13
1
0
0
95
-13
-3
0
0
15
31
-3
0
0
-10
45
0
0
0
-46
89
1
0
0
-53
3
2
0
0
2
5
-25
0
0
2
-4
-9
0
0
-36
23
0
0
0
-30
-19
-2
0
0
2
10
-1
0
0
-32
26
0
0
0
27
16
-5
0
0
-43
4
68
0
0
-2
-36
1
0
0
23
8
-21
0
0
28
5
13
0
0
-41
-52
14
0
0
-5
4
73
0
0
-19
13
0
0
0
-41
47
3
0
2
-23
132
-27
0
0
15
17
-6
0
0
-74
11
18
0
0
1
-81
-1
0
0
-22
57
7
0
0
-20
-29
60
0
0
20
28
0
0
0
-5
113
2
0
0
30
44
-28
0
0
-49
8
0
0
0
52
73
35
0
0
-42
24
-3
0
0
21
56
73
0
0
57
-30
-5
0
0
16
15
10
0
0
-81
-7
3
0
0
2
-11
71
0
0
-31
71
16
0
0
-59
-20
45
0
0
58
-9
-7
0
0
-23
-13
47
0
0
27
-54
-50
0
0
46
-81
-25
0
0
-26
43
25
0
0
48
29
91
0
0
28
-71
18
0
0
14
75
30
0
0
-22
39
50
0
0
85
80
9
0
0
-1
-22
0
0
0
5
97
-7
0
0
-38
20
28
0
-30
78
-4
68
0
0
-40
-44
18
0
0
4
28
-3
0
0
-2
-98
5
0
0
-19
52
-8
0
0
2
24
1
0
0
17
27
0
0
0
-17
-108
0
0
0
39
-5
-18
0
0
-30
70
-1
0
0
-8
0
-22
0
0
25
-29
0
0
0
12
4
14
0
0
12
104
0
0
0
-10
71
0
0
0
-40
39
3
0
0
29
-56
14
0
0
-73
-69
-3
0
0
-60
-22
65
0
0
118
66
-18
0
0
-20
-18
-3
0
0
41
51
-70
0
0
81
32
18
0
0
11
175
1
0
0
88
-60
-52
0
0
-48
35
40
0
0
-45
-67
7
0
0
93
-88
15
0
0
-21
99
-28
0
0
-7
-4
39
0
0
-68
73
107
0
0
21
60
20
0
61
-15
-30
18
0
0
-73
0
-42
0
0
-24
76
15
0
0
55
34
2
0
0
51
-41
-9
0
0
-14
30
-30
0
0
-1
-49
-22
0
0
1
54
3
0
0
-27
23
-54
0
0
35
-17
-13
0
0
46
38
-58
0
0
28
95
-7
0
0
40
-17
-3
0
0
-73
150
14
0
0
-36
10
9
0
0
-14
87
-7
0
0
-91
22
27
0
0
17
9
47
0
0
-3
3
-14
0
0
-67
50
23
0
0
47
54
19
0
0
-14
-66
19
0
0
30
15
-46
0
0
-13
45
6
0
0
33
-8
-35
0
0
6
-24
43
0
0
68
0
78
0
0
-19
56
19
0
0
-25
-39
-30
0
0
33
-39
25
0
0
-44
35
77
0
0
43
50
-27
0
3
44
-144
1
0
0
-9
41
7
0
0
-17
-35
12
0
0
30
-54
-31
0
0
58
22
-4
0
0
1
25
-27
0
0
1
15
-2
0
0
-4
64
39
0
0
-1
47
6
0
0
-16
98
0
0
0
6
-72
-2
0
0
-15
76
-26
0
0
-40
-5
-1
0
0
23
68
0
0
0
39
-18
6
0
0
0
-90
-6
0
0
82
-28
-4
0
0
13
67
27
0
0
6
40
-40
0
0
-18
65
-11
0
0
-53
23
4
0
0
29
42
29
0
0
23
39
-35
0
0
-20
0
12
0
0
-65
17
48
0
0
-21
54
-12
0
0
-7
-67
28
0
0
27
86
34
0
0
6
-49
5
0
0
-9
-22
71
0
0
52
24
135
0
0
29
38
-20
0
10
72
37
-34
0
0
-90
92
28
0
0
-77
5
5
0
0
2
-52
-3
0
0
31
1
-35
0
0
7
39
3
0
0
74
-33
-19
0
0
-2
10
0
0
0
-21
-30
15
0
0
-66
9
-5
0
0
-31
21
-37
0
0
11
50
-9
0
0
34
75
65
0
0
-24
-14
0
0
0
26
58
3
0
0
-41
91
-1
0
0
-4
-53
19
0
0
16
59
13
0
0
-28
19
44
0
0
12
89
-1
0
0
35
-104
-22
0
0
-34
-8
21
0
0
58
44
-38
0
0
9
3
3
0
0
-12
55
-9
0
0
3
-27
36
0
0
-23
-55
-7
0
0
45
15
53
0
0
108
63
21
0
0
36
87
-92
0
0
52
-1
11
0
0
-63
-35
77
0
-16
1
90
-14
0
0
-12
-1
-3
0
0
-7
18
-2
0
0
-7
-31
3
0
0
37
106
0
0
0
-8
-52
-1
0
0
3
12
1
0
0
-11
13
0
0
0
-11
-5
-4
0
0
4
56
-1
0
0
18
12
10
0
0
-11
-17
-7
0
0
19
25
-25
0
0
15
-64
1
0
0
19
66
1
0
0
-24
-62
-1
0
0
-17
14
-3
0
0
-8
-78
-7
0
0
35
-22
6
0
0
-17
-17
-3
0
0
-124
29
-45
0
0
35
24
3
0
0
-81
64
-21
0
0
0
1
8
0
0
37
-17
15
0
0
47
40
54
0
0
41
-30
115
0
0
-42
-6
-27
0
0
37
-57
-56
0
0
-43
4
15
0
0
53
27
-24
0
0
39
55
21
0
5
-34
31
-18
0
0
-1
3
10
0
0
19
100
8
0
0
47
-30
0
0
0
-17
-65
0
0
0
24
57
1
0
0
-25
64
-5
0
0
10
-20
0
0
0
33
-60
-10
0
0
54
-24
0
0
0
19
50
-11
0
0
58
-23
0
0
0
34
-16
6
0
0
-36
10
6
0
0
10
10
-3
0
0
40
47
2
0
0
-30
-83
-70
0
0
-44
12
-47
0
0
5
17
-11
0
0
-33
-20
5
0
0
73
4
-29
0
0
15
-6
1
0
0
19
17
17
0
0
14
7
4
0
0
-27
17
60
0
0
-11
16
30
0
0
-118
5
-2
0
0
-6
-6
-50
0
0
55
-48
1
0
0
-16
44
75
0
0
73
68
104
0
0
-9
14
54
0
40
52
-88
-3
0
0
-65
12
-3
0
0
5
4
0
0
0
-7
12
0
0
0
5
-29
0
0
0
7
-32
4
0
0
2
8
0
0
0
87
-31
0
0
0
80
-19
0
0
0
-24
44
0
0
0
-8
24
0
0
0
28
56
6
0
0
17
-20
0
0
0
57
12
4
0
0
117
-36
-10
0
0
6
72
-4
0
0
-64
18
-8
0
0
25
42
9
0
0
-2
-13
-2
0
0
66
21
16
0
0
-16
19
-14
0
0
-32
25
-5
0
0
-59
-3
8
0
0
-46
82
0
0
0
-28
43
-30
0
0
97
75
-55
0
0
17
-39
3
0
0
11
-80
-24
0
0
-13
38
25
0
0
4
-17
39
0
0
-12
2
14
0
0
-14
39
2
12
-2
14
11
32
0
-34
7
-21
16
0
8
17
1
51
0
-24
38
68
32
0
5
6
-9
51
0
8
30
-20
-4
0
5
14
34
6
0
3
23
-12
-7
0
32
-16
-5
-22
0
29
-3
-1
-53
0
-1
2
28
23
0
3
-22
77
74
0
12
-10
38
-36
0
-26
-12
17
-86
0
-9
-50
-16
13
0
31
-5
39
21
0
23
26
5
-46
0
-16
-45
10
-79
0
-15
-108
-57
14
0
54
2
121
-55
0
-10
10
-15
4
0
-133
-45
38
50
0
-55
22
55
-58
0
67
-27
-19
18
0
4
-20
-31
31
0
100
-19
-85
-15
0
2
24
38
-29
0
-47
-70
-49
63
0
-40
12
64
41
0
-14
32
67
25
0
46
63
-68
45
0
-17
-46
35
11
-5
5
-10
36
11
0
-38
16
-25
11
0
-12
1
41
96
0
4
-11
58
-1
0
-1
8
41
-7
0
-10
7
-1
23
0
8
29
1
41
0
-3
29
-59
23
0
-22
2
0
-35
0
11
-5
36
-7
0
32
65
22
78
0
73
-21
1
36
0
-12
6
-18
21
0
1
-71
80
-44
0
8
14
29
-8
0
10
41
-3
26
0
-25
-42
-122
12
0
2
1
61
-60
0
-47
56
29
23
0
51
-12
17
-83
0
-13
-54
-16
17
0
-85
-24
9
96
0
-29
-35
118
-38
0
-55
65
24
100
0
4
-42
21
-36
0
-24
21
-73
49
0
24
50
46
0
0
119
-78
25
66
0
0
148
-11
21
0
53
-115
16
-12
0
41
-29
-19
22
0
-13
-54
94
-1
16
24
-12
-8
20
0
3
38
9
-9
0
16
-7
45
34
0
13
6
65
54
0
2
-3
6
44
0
-16
7
6
-30
0
-1
4
39
19
0
-7
15
19
11
0
33
55
6
-49
0
102
-22
20
34
0
-20
-20
-20
-6
0
23
-63
55
40
0
21
15
43
-70
0
-35
-74
31
-26
0
15
2
6
8
0
29
71
-90
-1
0
-19
-20
98
-12
0
74
74
13
-55
0
33
-140
-73
32
0
-9
62
-84
-44
0
22
-31
-73
90
0
-16
14
62
7
0
-53
-41
25
9
0
-1
-29
0
-38
0
46
-2
-7
54
0
43
100
45
-9
0
48
-55
18
-4
0
-71
74
30
52
0
63
6
30
-13
0
-29
14
87
-2
0
-93
40
-5
-21
0
19
125
42
-3
11
52
-23
25
24
0
1
20
24
-11
0
83
-32
29
-12
0
21
0
16
80
0
13
1
25
-25
0
-52
-74
-6
90
0
30
-7
9
52
0
-25
21
-15
59
0
-33
65
-56
-1
0
69
42
-4
20
0
64
89
-44
11
0
-4
-5
83
-24
0
16
83
-37
-5
0
76
-23
20
-11
0
-101
8
-36
66
0
15
27
27
22
0
-65
4
49
-29
0
17
38
-82
52
0
60
110
19
-80
0
-44
29
15
-32
0
-88
33
-4
-16
0
-33
-122
23
-21
0
-8
-24
10
-1
0
74
-63
-18
-3
0
-40
48
51
4
0
125
33
-19
2
0
-6
-82
47
-1
0
-6
37
-5
1
0
60
26
-52
-41
0
4
25
19
-9
0
-1
16
-21
7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-11
28
0
-25
-4
-57
-68
0
-6
38
-9
-112
0
-3
-5
25
-81
0
-7
21
-2
0
0
11
30
37
41
0
8
20
39
4
0
6
39
-61
41
0
-26
-26
17
23
0
23
-8
7
14
0
14
-16
19
-36
0
25
-39
-61
-27
0
4
0
41
17
0
0
-3
39
10
0
53
-4
4
-19
0
66
-32
17
23
0
31
69
97
-88
0
33
36
46
4
0
18
7
22
24
0
15
-68
96
95
0
57
80
70
-12
0
-22
-33
-16
-12
0
55
-40
-61
98
0
30
-33
5
3
0
29
-27
9
-19
0
-78
16
106
0
0
56
-13
33
33
0
23
6
-26
-3
0
-24
6
97
-84
0
-20
73
-60
-48
0
-52
11
24
-77
0
-11
2
-33
-27
-29
17
-33
8
-27
0
19
-10
-23
-31
0
48
-21
-61
66
0
28
27
-43
109
0
-21
1
47
43
0
-23
11
25
-68
0
27
-39
56
49
0
13
-30
-26
68
0
13
-28
-4
9
0
1
-82
6
-8
0
39
94
-3
-32
0
45
43
3
-3
0
28
6
52
48
0
11
-17
-30
-33
0
48
-32
32
-42
0
31
-89
23
-19
0
-46
-12
-69
-14
0
-84
12
-54
31
0
-5
-5
-8
-13
0
-3
63
-84
58
0
52
-61
50
-22
0
61
4
-11
12
0
-13
164
49
2
0
-25
-29
-16
-4
0
-35
-5
29
3
0
-66
-11
42
-8
0
-35
68
34
-20
0
17
-17
20
-4
0
24
49
54
33
0
-21
31
-12
-5
0
-38
23
13
10
0
7
55
72
-5
24
3
-9
-12
50
0
-132
25
24
-12
0
-1
-17
85
-41
0
18
75
32
-19
0
-30
14
-2
-56
0
-10
-21
-10
133
0
21
-18
-57
-38
0
-40
-1
55
43
0
-42
38
4
34
0
23
44
39
18
0
-24
10
7
72
0
6
63
32
-22
0
-32
-16
-7
-7
0
43
28
31
-41
0
-56
20
17
52
0
10
58
31
-58
0
-9
-14
14
-13
0
11
-50
30
3
0
94
18
2
-41
0
68
63
-14
-6
0
67
41
-63
-44
0
92
-83
9
11
0
-44
-73
5
41
0
103
-40
33
4
0
-97
-39
-26
-28
0
45
71
1
19
0
31
17
-88
-41
0
86
-4
-34
-4
0
-112
-16
66
47
0
-11
0
4
1
0
51
26
40
-21
0
55
25
-47
-6
-1
-20
-77
-41
-71
0
-21
44
14
27
0
-43
15
8
49
0
93
36
-13
-88
0
15
0
-61
-49
0
39
27
84
-147
0
36
-15
-5
-13
0
-1
-24
7
1
0
-31
62
30
95
0
27
-46
12
-25
0
-30
57
-52
5
0
47
28
-22
-31
0
36
-71
-17
28
0
42
7
27
-3
0
28
72
-23
44
0
50
100
-12
-46
0
-11
62
-56
-52
0
-9
88
-14
-8
0
118
17
57
-6
0
-27
30
52
-50
0
5
-67
37
6
0
-60
10
41
-6
0
3
67
2
-3
0
-36
48
38
-6
0
-21
-116
42
-3
0
-38
-47
57
5
0
16
-25
-53
-1
0
57
-83
-32
24
0
-2
-79
-30
45
0
-29
54
-7
3
0
-48
25
-91
8
0
21
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
13
-5
0
-52
-28
-28
121
0
5
13
40
0
0
50
-18
75
5
0
58
-35
20
-66
0
47
-88
-19
-81
0
-63
-6
-8
-61
0
-53
-17
4
-13
0
5
51
9
0
0
33
95
104
-153
0
20
-7
33
93
0
22
-4
88
5
0
20
30
32
48
0
-1
18
49
99
0
50
14
79
49
0
116
-49
21
-23
0
-20
8
47
-21
0
-75
82
-51
-42
0
-85
-7
-71
-7
0
-35
-6
51
55
0
-107
55
-17
52
0
-13
-31
18
-79
0
-28
92
-4
9
0
81
40
-35
35
0
31
-7
20
-5
0
-53
-51
-32
71
0
-41
-4
19
10
0
-145
29
50
-4
0
20
-6
17
22
0
12
-14
40
-79
0
85
2
29
35
0
97
57
-53
-12
-37
-55
32
-14
-31
0
98
-69
-39
11
0
25
63
-51
-55
0
-4
-6
-28
72
0
53
41
-47
61
0
-44
-16
-25
46
0
101
-11
-93
13
0
-67
5
128
8
0
25
43
-24
-34
0
-84
58
-2
4
0
83
-108
50
-1
0
-130
60
46
27
0
11
-77
-30
23
0
-40
-51
-17
-29
0
-41
-59
65
9
0
-74
106
-1
-9
0
41
-4
28
-10
0
54
-18
-67
74
0
-5
-56
168
97
0
71
-32
-4
13
0
-94
22
-27
-63
0
-43
-2
-38
27
0
0
42
-19
-52
0
-1
-12
-6
-16
0
-9
118
11
-1
0
-74
50
-15
79
0
38
-7
28
20
0
65
169
25
2
0
16
-25
19
47
0
60
-18
31
-89
0
17
-27
9
54
0
63
23
16
9
-3
44
-45
20
-99
0
84
115
-33
76
0
-92
2
56
-74
0
-35
20
-22
-19
0
-39
8
18
19
0
-28
59
-75
28
0
-6
-50
-71
38
0
29
13
-33
5
0
52
-44
30
-37
0
137
37
-113
44
0
14
-43
24
22
0
43
20
-4
-28
0
27
5
16
68
0
32
104
-16
14
0
94
52
89
8
0
-21
34
77
0
0
-31
-81
-46
51
0
-95
-32
-22
28
0
-117
24
-44
73
0
128
78
-29
20
0
-10
5
-12
-101
0
49
64
33
-22
0
10
-72
-1
-3
0
-93
82
-32
-3
0
36
9
-14
146
0
78
-44
-21
-36
0
-57
-35
43
14
0
18
36
62
1
0
-89
85
12
-48
0
90
-51
-91
36
0
49
-2
-33
-41
0
26
62
1
-9
-44
24
24
41
-24
0
-167
50
17
-4
0
-15
-27
8
94
0
-20
6
76
57
0
-48
-10
18
-4
0
-16
7
-23
38
0
28
-19
-18
21
0
64
47
34
7
0
35
64
18
-35
0
59
23
-13
3
0
7
32
110
12
0
64
-38
-36
-28
0
70
50
-52
21
0
20
-40
-48
-15
0
-5
3
1
5
0
53
-31
61
0
0
63
-33
67
-87
0
-7
104
18
15
0
-103
85
16
-76
0
-45
-7
-10
28
0
-89
34
21
104
0
10
59
76
-80
0
-23
7
7
14
0
-32
44
4
0
0
34
23
79
86
0
46
48
-7
1
0
-49
-11
29
-40
0
-118
8
40
1
0
15
22
-12
-29
0
-50
-66
59
-5
0
105
7
5
-1
0
7
81
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
108
-84
-10
-32
0
131
48
78
-26
0
136
-15
-10
-4
0
-55
58
79
-51
0
10
50
59
-1
0
-64
20
79
35
0
-63
37
16
57
0
81
29
9
13
0
-1
32
-19
55
0
-24
60
-161
0
0
15
76
71
52
0
-4
46
64
-32
0
37
39
-50
5
0
3
4
31
57
0
60
-55
-2
-5
0
-50
9
82
10
0
-33
41
-15
-26
0
88
-83
76
-32
0
-94
106
53
81
0
1
18
-82
-58
0
-79
36
49
-1
0
-5
63
-22
55
0
7
-79
9
-44
0
-15
-5
116
65
0
-45
2
49
58
0
-127
-4
-3
-59
0
23
-1
97
30
0
67
45
60
94
0
40
-72
73
-7
0
-46
13
38
-24
0
19
54
91
-12
0
67
68
-126
-21
-37
118
28
16
-14
0
-38
35
-82
23
0
-3
52
24
13
0
10
-41
21
-5
0
28
-99
16
-13
0
56
20
103
6
0
62
-21
21
-3
0
22
54
-3
-6
0
-30
104
-1
-25
0
-83
9
0
87
0
48
126
-20
6
0
-17
73
51
40
0
-9
-38
158
38
0
-27
-87
84
149
0
-59
14
-26
-10
0
23
1
31
-35
0
-27
-6
17
134
0
-61
27
76
-81
0
180
63
30
-26
0
44
82
-11
3
0
33
65
33
22
0
-16
-5
-42
-10
0
79
-18
3
-70
0
90
-3
99
23
0
-43
-3
-5
73
0
-89
11
53
-36
0
-49
-13
42
14
0
44
7
46
25
0
-23
26
45
2
0
-37
16
-40
14
0
-9
72
3
-13
0
15
-20
48
57
-39
76
42
19
-41
0
35
-3
61
43
0
-26
39
-17
-7
0
-69
85
-4
47
0
30
79
102
-39
0
30
46
-130
-4
0
-6
-3
-43
45
0
99
15
-3
0
0
70
32
6
-117
0
-34
66
3
15
0
-94
72
-5
19
0
125
55
43
47
0
9
27
1
27
0
10
0
-47
9
0
12
92
34
-103
0
-83
-6
-28
-32
0
-80
-53
75
-5
0
41
39
59
9
0
95
-29
56
91
0
36
91
42
50
0
83
-31
-19
-7
0
70
-48
10
-50
0
-30
-63
9
32
0
-29
-18
-17
32
0
-36
9
-6
110
0
-52
-5
51
15
0
-5
21
33
49
0
-1
43
28
-47
0
-45
-28
-30
161
0
85
-4
-48
23
0
-25
5
-21
86
0
-26
1
59
10
27
-49
91
0
-6
0
25
-61
34
-16
0
22
4
33
-20
0
56
4
50
4
0
-12
15
-24
44
0
0
-47
41
1
0
42
-16
19
-6
0
3
29
43
2
0
-13
92
154
1
0
-52
137
33
1
0
51
55
20
21
0
18
1
73
8
0
54
-45
-89
64
0
0
-28
85
-16
0
28
-22
-64
-60
0
28
2
0
15
0
-129
9
17
18
0
-38
1
23
-32
0
-70
41
-1
-13
0
-70
7
-6
-49
0
29
-88
101
-26
0
43
-17
-10
5
0
-37
-19
16
-1
0
12
-22
45
-3
0
-13
12
-24
26
0
50
19
-29
72
0
26
-25
9
-55
0
50
1
13
-6
0
19
-15
91
-71
0
93
27
59
41
0
91
3
31
-20
0
-72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
11
11
15
22
16
19
14
31
12
4
16
1
34
-4
2
-5
-16
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
18
-13
22
39
7
9
-56
0
13
-27
4
-94
51
-13
-31
14
92
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
9
-43
-36
-29
-93
9
-51
102
-10
-52
-4
36
45
-62
-39
-60
43
54
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
23
-20
18
-21
89
-26
-50
-6
13
47
59
-15
20
151
25
-32
-16
-14
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
15
30
-13
-3
-8
24
-11
48
-26
-10
22
29
79
-69
14
7
64
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-18
11
-10
-1
-50
-17
26
-72
29
119
16
24
-39
-23
-34
-1
-29
52
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-116
-18
89
29
-55
-57
71
35
-38
6
32
13
-83
-1
7
36
43
38
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-84
-61
-13
-126
47
-9
-70
65
18
83
-61
-72
-30
35
82
41
12
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-17
19
51
108
38
-9
46
14
65
20
4
9
2
37
11
43
37
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
10
-31
21
26
69
3
-7
34
7
-85
22
-57
53
66
3
40
-41
-15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
47
37
29
17
-31
33
95
4
-71
-16
-29
-81
45
12
53
-21
-71
58
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-12
55
-31
-13
8
-42
30
88
27
-39
-92
10
103
16
-20
5
15
-16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-11
-4
21
19
36
-46
28
29
-7
20
-5
5
35
35
-5
82
44
16
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
67
-4
13
85
-47
-15
-16
51
40
-54
47
-9
31
3
-60
-34
-52
20
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
24
41
21
-14
98
-5
-52
-12
45
21
87
-58
113
-75
4
71
18
-47
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-31
93
50
22
37
79
21
-13
-1
-92
18
167
-32
6
4
5
-31
28
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
23
-1
11
-1
15
9
10
-13
61
1
14
-2
-2
1
-40
49
48
30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-21
-4
-37
-8
-72
-28
23
45
-3
36
5
33
58
4
-12
-33
11
5
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
43
3
14
-38
66
87
-37
-69
-136
-116
53
25
85
-3
25
73
-18
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-46
-30
-20
59
-17
61
12
34
64
-93
-11
-79
73
69
68
-95
77
-23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-10
1
20
5
-5
4
-14
-12
58
5
33
-27
58
119
-122
-4
54
94
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
25
56
-43
-79
-68
-10
18
19
-26
-1
34
63
79
-46
-66
-51
-50
-36
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-172
60
-7
65
86
-73
-28
-51
14
-16
137
-73
-1
24
3
-57
123
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
35
-56
-46
-14
-74
-36
16
-129
-66
-39
53
25
83
24
36
-136
124
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-8
7
1
-3
46
27
4
17
14
23
-8
28
44
10
74
3
54
12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-28
14
-36
-79
-39
-61
38
3
-38
85
13
55
42
-69
1
-125
-5
-26
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
132
17
31
-1
-23
-4
52
-17
39
-44
-29
109
-31
25
-24
15
12
40
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-104
-19
57
70
-61
-89
92
9
-1
-26
21
36
-36
-36
22
70
-2
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
18
2
0
44
80
-43
34
25
96
-80
31
9
29
42
54
-4
84
17
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
12
-9
25
-27
-3
24
-96
5
-17
-9
31
-12
-6
57
19
23
61
62
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-89
31
95
41
24
-32
-29
30
11
33
25
4
-72
18
-22
30
-45
-49
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-16
8
75
-107
0
-57
64
-43
26
-94
42
13
23
5
46
1
-20
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
31
16
-17
-75
9
3
-35
24
-4
33
-3
6
-21
7
37
-44
43
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
5
5
39
13
17
2
3
-7
17
-49
5
16
3
-11
37
19
-45
-34
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-11
49
22
-5
-23
14
7
16
2
19
-71
58
-16
22
67
-17
-45
32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
54
70
14
20
101
-45
36
24
-77
-18
19
25
-13
55
28
-128
9
12
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
11
33
50
-47
-34
-14
-10
-11
-118
40
37
37
-8
29
-15
-12
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
12
-7
14
-7
25
-5
14
-8
19
3
-6
6
-19
35
108
-4
10
-53
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-86
30
-40
-38
-101
14
28
35
8
108
-12
7
16
-12
-25
-21
82
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
86
118
111
-124
31
-13
69
99
6
19
-70
160
92
-51
-17
-22
53
-52
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
-19
48
121
2
8
66
14
24
34
34
21
28
26
-6
-20
32
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
53
-1
29
-15
20
23
4
-6
6
-38
41
-5
22
12
-17
20
-23
-31
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-50
25
40
6
58
100
36
2
34
5
42
108
-27
-12
-30
-17
-27
41
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-38
59
8
-53
-12
24
7
55
-22
57
-23
-6
42
-6
-27
34
-44
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
-23
23
108
-20
-51
-4
53
-39
116
-30
20
30
59
-29
36
-8
6
125
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
53
-9
24
-50
-15
7
-39
12
-16
66
17
-56
-62
-59
73
10
19
35
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
3
-65
107
26
29
83
81
-125
62
129
90
34
-54
-5
-47
8
86
28
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
19
25
20
45
-126
-6
11
55
8
-15
-27
-37
-79
-50
38
-1
52
-26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
44
41
60
-11
47
49
36
17
-36
-29
36
31
47
-18
-106
38
50
-71
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-4
14
36
5
11
5
0
-10
20
47
-35
30
6
-22
47
-8
-14
-65
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
69
47
-69
-8
-40
25
-39
68
74
34
-26
10
24
9
-14
43
-25
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-87
90
20
-6
-25
8
53
-23
93
94
127
-44
-69
59
-25
44
-8
65
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
35
33
79
-41
51
-18
13
34
-97
27
92
28
44
21
71
1
-36
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
24
34
32
-5
-74
-10
-29
-3
-9
-35
-73
10
9
-38
-99
-119
19
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
30
18
-40
53
3
0
67
52
5
-56
-10
41
-72
9
-32
-33
123
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-36
71
-17
29
-39
-79
87
-21
-19
78
41
4
20
-15
4
-8
22
48
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
21
-4
43
-38
45
48
-33
-92
-45
58
26
1
-25
45
114
-59
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
50
13
54
30
43
35
-37
52
51
-24
38
-8
20
-11
82
-71
-57
-65
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-41
42
11
-82
-4
-24
36
93
13
0
-26
-20
-56
-15
-21
20
38
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
26
27
47
-28
39
-33
106
37
15
8
-65
37
-4
3
100
13
45
117
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
1
-33
21
-36
-31
25
30
30
7
-57
-3
-78
59
-28
-59
-22
167
-112
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
36
-19
47
1
54
75
-47
52
-27
-46
-14
5
62
-21
-45
-115
-31
33
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-33
-27
36
3
-12
-40
67
36
-18
57
23
-32
7
1
-41
73
-1
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
118
-39
30
42
45
51
37
-15
-4
38
30
105
11
5
46
40
-79
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-27
-16
-24
30
26
-22
39
86
-36
-78
-12
37
-88
-38
35
-39
-12
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
1
48
39
-64
-49
73
28
-15
18
-60
20
50
37
-41
-34
82
28
34
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-56
10
42
-2
-104
14
-30
39
9
58
53
-57
-67
-13
13
105
2
-87
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
13
8
16
67
29
-75
15
94
90
-93
35
48
44
-60
-1
-22
0
93
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
-11
35
-75
-108
-62
46
-45
19
-69
-114
40
47
-41
-77
-44
30
-37
27
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
23
-1
81
-3
36
33
-48
25
-19
78
14
73
29
-87
11
18
-8
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
40
53
3
-1
3
39
-8
-135
44
103
75
31
3
-57
47
-144
-22
-30
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-30
-32
25
26
-95
-5
-2
13
47
40
-61
70
-33
-11
1
43
-20
83
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
66
108
-35
-52
-64
13
41
-38
27
165
-31
-23
-3
25
-44
53
-38
-9
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-17
50
-36
-80
41
26
32
-7
-48
50
52
-95
-64
-14
-65
-39
-96
37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
60
83
39
94
-17
-43
37
-13
-29
12
-72
8
42
63
-60
39
85
38
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
21
-30
59
16
23
-62
-52
-57
71
-9
-27
27
-84
-66
19
22
23
-36
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
9
-6
31
59
9
98
8
-11
65
1
31
60
-113
4
75
49
39
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-12
-91
-58
61
84
-50
85
39
-1
-81
74
2
-4
5
-44
51
48
46
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
161
-68
77
-94
15
112
72
-28
-62
-24
17
-2
-76
-42
1
-25
64
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-23
134
105
17
8
75
15
51
-50
-46
84
-20
31
-51
55
31
93
32
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-12
-33
62
-20
19
-110
-45
52
174
2
-11
37
12
21
22
26
76
31
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
72
-64
29
-47
84
5
-133
31
26
-42
19
86
19
-66
32
63
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
-21
27
20
18
-21
37
57
-68
-30
45
44
-27
71
73
-32
-51
58
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-11
1
37
16
-76
-2
56
156
-158
31
19
69
7
-5
108
81
-63
12
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
44
3
-36
49
14
-69
22
2
-37
-57
-8
36
4
28
26
48
20
5
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
105
13
-3
-22
-94
31
-33
-18
11
-56
33
5
60
60
-84
5
94
25
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
35
-52
26
48
-25
-65
-13
-26
46
-23
-104
2
30
35
20
-8
8
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-41
-20
-15
2
-21
42
18
10
8
97
55
24
-126
56
24
19
-10
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
67
57
-36
-25
-25
37
-33
-31
31
14
-108
148
14
-43
3
21
22
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-12
-64
-20
20
-58
17
-13
51
5
95
53
-43
32
-4
6
-84
28
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
48
-28
-27
-28
15
46
-34
54
54
-60
48
-7
-22
59
-14
2
70
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
12
66
-5
16
-40
61
-64
24
11
20
19
12
-67
101
-31
7
38
87
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-13
64
29
15
-2
78
-35
53
-65
25
30
-34
32
3
-1
-5
-80
-48
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-20
27
47
-19
42
32
71
-58
5
26
-88
104
16
-9
-78
53
-6
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
2
-1
12
31
85
-71
50
42
-11
27
28
-2
-15
-2
-1
-6
83
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-7
12
26
-69
-18
-31
-68
3
-17
11
54
-2
71
0
-42
-42
68
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
26
-30
50
110
-18
50
26
31
-22
44
63
36
-119
1
-55
-8
10
92
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
55
50
80
79
12
3
-13
68
-30
53
94
24
29
-3
100
-35
40
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-4
16
-1
1
-38
8
-69
4
-189
-10
-1
-34
21
-105
-50
-42
21
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-51
35
50
-18
41
33
45
67
43
-26
69
-4
45
64
-9
-1
0
62
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
70
-57
17
46
39
89
-71
39
-50
35
-112
70
-29
5
108
52
-5
-104
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
12
-11
-13
-60
-1
15
-38
69
35
86
14
33
-35
5
146
42
9
27
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
18
18
71
-3
67
-88
33
-21
-12
-110
2
50
116
-17
58
-31
36
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
58
90
30
141
-16
21
70
-17
44
44
-19
-53
84
81
-63
-3
-12
62
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
18
-36
16
29
8
-12
-16
26
-78
-45
0
-16
57
-33
5
1
-24
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
21
2
-13
11
37
41
51
-47
9
39
17
-33
-39
3
6
-44
38
27
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-21
42
38
20
52
46
63
-7
-30
50
-15
18
26
-8
-16
65
22
95
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
6
24
34
65
78
-41
45
48
17
21
-37
-40
-11
-14
3
49
79
16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
84
86
9
93
-1
-98
38
30
0
3
26
77
-9
-52
5
-56
7
-28
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
-10
20
41
-51
14
44
-14
60
46
3
-6
9
1
36
61
-39
-14
80
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
48
67
10
84
-21
-6
-21
-99
26
37
-33
-48
-31
62
69
59
56
-24
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-2
-27
-18
-34
57
29
21
63
34
61
101
-58
100
-6
85
12
9
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
17
32
93
-69
0
-41
22
48
-72
40
-106
-38
54
24
-2
29
23
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
64
-43
25
49
106
29
-103
26
-20
104
12
81
-24
-26
70
89
13
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-111
65
-32
-78
22
19
-69
39
24
-26
-56
-16
46
31
-10
31
86
-11
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
13
17
62
41
11
146
25
16
-61
-17
52
3
21
-110
-10
-24
20
4
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-78
56
42
-63
-45
21
-22
81
15
0
-25
90
-15
7
11
71
24
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
112
55
-10
33
-39
66
57
-5
-9
-28
-28
134
-48
47
57
25
45
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
71
-77
125
-99
5
-7
51
-4
-3
-28
15
54
38
-15
21
16
55
14
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
89
11
80
53
34
31
-4
33
92
-9
30
16
34
0
-72
15
-45
19
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
92
25
-104
1
0
33
-8
28
-3
-35
-32
-10
59
24
-6
-24
-22
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
17
3
153
113
-26
61
56
21
-10
31
-26
-45
-23
44
-59
25
49
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
0
-17
49
-33
-2
72
-2
68
-3
-18
106
-28
17
1
12
7
30
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-19
-33
-23
27
13
84
-26
-42
71
56
-76
-15
3
72
44
89
-37
-93
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
16
60
-8
0
33
-26
21
2
0
-18
-13
-70
5
6
16
23
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
126
84
-28
-7
44
-26
-38
-4
4
-48
98
-112
-11
34
-26
58
-34
-144
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
79
-41
-55
-4
7
-46
47
-23
-43
31
-90
68
0
11
-63
-2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
92
-27
18
26
43
31
-15
46
-75
-7
-20
58
51
44
-25
65
32
128
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
32
72
39
4
-4
4
52
69
27
1
30
56
83
-5
5
51
33
10
18
1
18
19
28
63
22
36
13
0
-20
2
6
14
-4
47
80
48
61
-120
21
22
-18
54
29
11
26
32
-12
24
39
21
-9
34
-2
47
-33
-39
-50
-95
-1
11
9
-54
62
-15
-41
-2
-20
6
22
-56
14
-90
-26
-36
9
-61
2
-87
-13
37
21
35
64
-5
31
-61
12
-22
-108
48
-11
-51
39
58
20
-50
41
-49
-44
-15
32
-33
-15
-64
74
-40
2
39
99
-97
-121
7
62
-55
-2
-43
74
-29
-20
-3
25
-66
-40
37
-12
-20
94
-2
10
-52
-32
27
-6
-41
29
37
25
51
-53
-2
12
61
-96
53
48
-49
94
-80
7
34
1
53
-57
10
26
33
-50
-17
-25
-23
32
30
67
-42
-12
29
82
1
1
1
36
24
60
17
25
50
19
11
34
-20
13
-2
-12
39
28
25
31
28
30
4
67
-45
14
21
8
29
-10
31
-73
29
-26
36
-16
-30
42
12
15
-59
44
28
2
37
-17
36
106
9
-83
114
41
-6
37
-20
2
-14
-5
25
49
-81
-183
10
30
31
46
-25
-9
-33
-80
84
-76
-34
32
78
-83
88
58
-46
76
20
-12
69
19
22
50
39
-40
1
76
-31
79
-23
-68
24
-74
-25
17
51
38
-62
23
-89
71
-22
9
24
-77
22
-77
-9
-57
5
-14
-2
19
129
-30
-92
-36
120
37
-13
13
10
63
-47
80
-49
20
-14
-34
-45
18
-41
-63
-16
-1
-29
41
-8
-41
7
57
-19
3
21
65
-65
0
-2
11
-20
1
12
-8
18
-31
18
-6
25
39
26
40
30
100
28
21
34
43
-21
-21
21
26
16
97
-51
21
24
-19
48
-1
36
32
24
33
1
98
52
37
-40
18
11
-8
-3
2
-43
34
-36
16
-15
9
0
38
-59
-84
45
8
-7
46
-101
-43
-4
-15
-107
80
-46
33
9
-50
86
24
-16
-105
-32
108
-8
-5
18
3
-18
-74
47
44
29
-13
-3
120
-10
89
-52
-25
80
14
6
0
-6
71
-25
8
-29
-99
44
82
75
5
-109
36
0
69
8
55
122
-44
-171
4
-41
29
-24
30
4
15
31
-51
-39
34
-29
32
57
22
-42
-69
-82
22
4
56
-11
-26
51
32
-13
-32
58
-23
49
22
-117
-70
51
-47
45
159
-223
-39
20
-5
-16
-20
-1
-1
0
6
17
42
83
96
-8
9
1
112
34
2
-8
84
-5
78
-48
30
3
-10
132
16
25
-7
-3
-10
6
47
47
100
17
18
-57
28
-4
124
7
53
12
64
5
-31
2
61
-43
-19
38
23
-6
-3
-12
54
-28
-61
-24
27
20
-87
52
26
31
-81
5
-44
-20
20
9
-34
26
6
25
89
-92
-68
44
-23
-31
-122
27
146
-55
-8
-38
32
118
-11
106
53
0
21
-42
-164
137
69
90
19
53
86
101
15
16
30
-107
-32
11
40
48
1
-44
-47
9
-2
62
92
10
5
-27
-17
4
28
4
-8
-21
77
-8
-21
1
-56
25
43
-28
-9
39
-5
-49
-23
90
-30
73
-55
92
-22
75
40
-49
4
12
63
-76
-1
46
-9
-48
5
17
27
-17
32
-3
18
2
-2
-6
-13
19
51
6
16
-6
-7
42
34
15
-4
33
17
1
-17
20
-6
69
-7
21
5
27
78
43
-5
30
-15
14
11
9
23
27
31
68
-50
10
10
28
1
18
-38
10
24
-44
8
-61
-6
-3
45
8
-37
-15
19
-16
44
0
3
40
18
-11
-43
23
-133
-42
1
-20
49
-7
-21
5
-25
23
-89
29
2
-20
-24
51
-1
15
-3
115
104
-39
-75
-27
-5
24
74
-73
-5
-28
-19
-28
26
22
36
7
-9
42
-20
-12
32
-14
-117
47
-39
46
63
54
97
-132
-39
-16
19
-52
14
0
49
3
-34
16
11
-53
66
-23
20
13
-15
-46
1
-31
2
-48
-28
15
-78
48
-29
86
-11
-31
-5
-97
27
42
-36
9
9
103
19
10
44
26
24
13
1
0
-14
0
2
-25
-16
-12
9
11
35
36
18
8
28
40
44
84
22
71
63
-88
81
13
17
-4
27
34
66
89
49
-47
17
39
54
71
-12
54
13
24
26
46
-34
1
11
-53
36
61
-17
-81
-25
-119
64
-20
-29
33
36
162
-26
-64
-68
-35
-43
-17
33
120
-59
11
-54
-22
55
46
-25
-7
8
-101
51
-79
18
73
127
-34
91
-4
-48
48
-14
110
-56
9
-12
-18
-44
44
5
-32
1
94
8
27
-34
-36
-40
50
-49
42
5
3
10
-58
-76
1
40
-76
37
55
5
-1
-23
5
-28
-2
-1
112
-37
-35
-10
-10
35
-59
19
32
63
-47
-26
53
-68
16
-10
17
18
-20
106
88
-53
-51
-25
29
-62
24
-22
15
-5
-6
-85
0
-3
6
17
1
0
0
47
16
-14
-40
30
41
25
34
38
-12
21
80
28
39
-8
41
-10
-4
5
30
0
-7
16
2
20
-33
23
50
24
45
58
0
14
-8
62
64
33
33
22
71
68
-1
-41
-58
-56
-97
12
-39
37
44
-166
-7
-9
35
28
-78
-16
-38
15
-56
-11
5
11
9
-71
-18
-11
57
-32
97
-30
-50
-28
-5
34
3
-14
-125
9
16
-8
17
13
20
-35
-19
-49
-22
22
18
100
-12
-13
-4
-55
-15
8
50
-34
4
-42
-5
10
2
-14
13
-25
57
-17
9
-12
-60
42
91
11
3
59
-21
-26
0
-18
-12
2
37
22
-40
4
83
-33
2
-43
11
131
-41
-2
-16
80
-26
18
3
72
28
41
11
-31
34
-23
-36
-3
-16
-8
-2
28
-14
6
-5
3
-4
-10
-13
75
42
-30
-19
-56
129
11
17
-61
-134
22
19
39
54
15
24
-51
44
73
75
3
-24
22
13
45
26
5
51
20
10
11
11
47
28
70
-140
-24
17
25
72
-34
27
-7
-86
-28
-72
-11
-3
133
26
59
30
29
62
17
12
-17
6
42
34
39
-31
-29
-20
10
-60
-10
87
-37
10
31
0
-75
-36
86
45
80
20
5
-20
-40
-84
13
52
-45
53
4
85
-39
-20
34
-27
99
-58
-13
-47
72
107
-76
-10
-16
8
34
-27
1
58
-15
-18
55
0
-13
55
-72
3
6
37
40
5
21
-4
-15
60
-60
23
-7
49
89
-43
-9
6
10
-9
-10
-2
-14
-29
85
-12
5
12
-4
-3
-69
25
5
-11
0
5
1
5
-5
2
-7
-4
-1
2
-10
17
13
16
-1
-15
12
58
105
-19
-31
-4
-10
76
-17
-20
-36
18
5
-32
-8
-36
-105
18
17
38
23
9
-2
-6
-28
15
-8
6
45
7
22
-45
-62
-38
31
-57
80
-21
-34
15
19
5
47
-33
1
-2
11
37
-99
1
-16
-53
8
-81
-18
-6
2
6
-48
12
2
-5
-20
-22
-45
24
40
36
-13
-8
25
28
-80
-18
-52
4
16
-34
-1
36
-21
-71
9
35
-51
14
-11
-8
119
22
-54
-101
53
9
57
108
-48
-2
-33
50
42
-35
15
1
-28
-25
78
18
18
77
-111
-28
-6
-7
63
-23
-77
-3
44
22
14
61
23
90
26
13
-25
-26
60
127
-8
-5
-11
34
64
-44
-33
-4
47
86
-83
46
-31
-2
43
-67
-10
22
21
118
-61
19
24
-37
14
0
5
-1
13
2
-15
-37
89
-65
-44
13
5
-2
16
5
76
-9
14
17
71
-23
70
-77
44
7
-34
21
-17
19
30
-20
-4
3
134
32
-28
-44
-93
-31
-72
-13
14
14
87
-19
16
-23
-54
9
-10
-32
-7
-16
-13
7
-34
-91
-6
9
21
50
60
-49
9
-18
30
2
-21
13
-81
55
44
-31
37
-5
33
-28
-50
8
2
-1
-86
12
-22
-9
34
-77
17
-123
4
37
-6
-7
147
-17
-104
-16
2
-12
60
34
-23
4
62
115
-60
8
-8
-20
15
-4
47
0
12
62
20
3
-4
19
-4
23
-5
-2
-6
75
54
-4
-43
81
47
-17
24
-5
-6
44
15
59
-16
21
93
-41
-17
5
65
68
39
10
6
20
-29
37
-3
-11
-18
-23
1
31
0
-6
1
-27
44
1
33
15
-3
21
31
7
-9
-16
-24
25
37
0
7
-36
21
24
50
29
-35
-30
8
74
20
26
-37
-30
78
-38
-47
153
111
-9
-61
-33
-22
14
-1
-12
-65
-6
-13
-13
-11
-12
16
1
7
25
47
2
125
-4
-39
56
-22
46
13
6
-63
39
-44
37
32
7
43
-35
61
65
-2
-27
-36
10
-28
-10
-15
-88
-79
-7
19
39
98
14
-1
-82
0
5
-28
-7
-6
-2
41
13
-4
-61
24
-106
145
-54
22
-2
42
93
129
-42
-10
61
77
29
7
10
-40
74
8
1
-5
29
42
-1
0
0
-37
12
-116
-83
13
-23
106
93
-21
14
28
-58
38
28
-20
31
-29
3
33
21
55
39
81
-24
-13
-5
94
-31
-17
4
10
-62
2
-80
5
-8
8
-49
-22
0
-15
3
-8
-1
1
-89
-17
-35
36
-10
-8
9
74
13
70
-38
-16
140
114
4
16
-69
61
-60
18
17
-69
-43
18
128
-35
55
22
123
-11
-58
124
-9
65
17
57
9
0
15
-81
-33
18
54
4
-54
8
-18
-24
-30
60
123
-13
28
13
-83
20
41
10
-6
-29
40
-75
81
26
-82
53
-19
5
-18
23
-27
-13
15
6
-33
-96
-36
5
-52
-4
-10
54
32
-5
-22
-2
-13
-26
-8
3
18
-52
10
-7
-6
-11
-55
-22
62
1
-35
134
-17
-31
3
-2
-69
66
3
-5
-40
-29
16
27
0
21
-56
44
70
0
-9
46
-47
4
12
76
-27
-7
-52
-25
6
30
-24
13
14
41
27
-48
11
-3
7
72
16
44
3
0
-13
-52
8
2
1
45
4
-8
-23
-13
9
2
-35
-43
85
1
60
-2
-102
-71
-13
-23
61
-7
-68
27
-84
27
60
13
3
5
31
-13
-43
-103
41
44
105
-69
85
1
10
60
-66
-31
1
3
23
-41
22
-5
1
26
-27
11
28
21
44
-52
20
-34
12
157
109
-25
1
18
-10
-8
57
15
30
30
-108
27
26
28
24
-11
22
-21
14
37
17
41
-12
1
67
-27
53
21
24
11
14
23
18
66
9
5
-137
-40
58
-4
25
34
39
24
0
63
55
46
-109
-17
24
-167
58
-8
1
22
-81
-27
-22
40
-9
10
-31
20
-1
-97
-4
-15
37
-15
87
-21
-42
81
11
50
43
31
-19
9
41
67
-11
80
-1
3
2
-58
28
6
6
80
31
-24
-19
-2
-52
-49
30
5
0
18
-14
0
-8
52
20
86
-50
-42
-10
-25
51
-39
-119
59
0
-11
61
50
-54
69
27
88
16
3
-7
-12
18
-78
-19
44
-25
38
-93
37
75
-35
22
2
51
92
-99
-4
32
-12
11
5
-46
50
97
33
23
-36
-37
-179
31
10
47
30
8
36
45
-2
55
63
23
-6
11
47
-49
-30
2
12
-12
-29
35
4
23
33
67
80
-23
-2
-163
-1
7
53
163
-2
-36
3
82
-14
-6
36
-12
-22
-17
3
-36
0
43
-32
0
-37
62
5
-11
13
36
21
-87
1
-2
-7
-27
58
27
2
-20
37
-23
-8
0
-31
3
-4
-10
-24
-103
30
3
-11
13
-23
-13
1
-14
4
8
-74
34
6
-22
-3
-17
106
42
11
-2
58
13
29
1
-2
88
-3
-13
0
3
20
2
-7
-1
131
69
4
-140
-89
39
-10
-54
-16
48
-56
61
-16
19
10
14
-29
33
-4
0
19
23
10
52
-50
56
-21
-47
60
-13
-65
64
78
-45
-156
93
41
-35
20
13
-122
47
4
6
-56
138
-1
31
8
-129
-59
35
5
20
-46
-4
9
-7
3
-47
-45
31
3
33
28
52
39
28
63
3
-2
3
3
-6
-17
69
-43
33
23
13
-55
-33
69
-28
0
-26
94
-80
-71
0
-52
21
11
7
4
6
43
-21
-13
7
-24
-53
13
63
2
-21
-12
36
-5
0
14
-28
76
-30
54
0
-6
45
22
-1
30
3
23
71
6
5
9
-24
32
-1
1
14
80
39
37
-12
-25
13
12
-3
-9
-25
35
38
14
0
-14
-10
27
-23
37
-41
34
-37
-37
3
5
-12
-6
2
-17
65
21
-20
-10
71
6
-49
-83
-31
7
25
-40
53
2
-7
-70
21
87
-3
-47
-40
42
32
-9
-106
145
24
-21
-53
16
79
-29
-124
48
-14
-25
23
16
-6
-49
27
17
-7
-72
0
-25
-8
-40
82
-13
27
-8
16
62
-82
109
-10
-45
7
11
6
22
-14
-40
-179
1
17
82
89
68
0
-11
40
15
18
-84
46
-16
19
-1
-23
13
-28
1
11
19
57
-9
0
-8
49
57
3
0
10
53
8
23
2
-5
42
19
16
10
14
-64
2
1
-1
1
2
-25
8
0
-4
-7
19
-9
-3
10
-75
57
8
28
-5
18
-6
-2
-6
4
75
-115
-14
-6
96
-2
46
10
-2
0
1
-7
7
-9
-14
1
-39
7
3
-1
2
8
8
1
0
-10
-17
-31
-1
17
-30
43
31
-24
-24
-7
-44
-14
-25
-24
33
53
-55
84
175
106
-119
-42
-44
4
-19
37
-70
11
-50
-16
-1
-22
-4
-24
-63
43
-36
-43
1
-19
-57
-55
-1
9
39
12
62
69
71
-31
-7
57
18
104
-35
-20
22
-29
93
-23
-56
5
52
-16
102
-64
-1
27
8
49
70
-25
18
104
46
-5
-53
-44
-41
83
57
22
0
34
-10
48
70
62
-76
-5
26
-9
-40
-5
-4
34
46
-4
41
-19
81
37
-72
21
-16
2
-62
-63
12
43
-83
95
1
-93
2
-39
-10
-4
-30
-30
90
79
-6
74
88
25
-37
-38
50
69
-59
19
77
-25
-4
65
-15
117
35
109
-99
-17
-15
84
13
-25
1
57
-47
73
-21
34
34
-2
83
34
6
-22
65
82
30
-52
-9
12
51
44
-71
30
-61
-37
-16
55
58
74
25
-57
33
68
35
-23
-32
2
30
-9
42
118
-44
-40
23
20
21
4
-49
-36
-2
11
4
22
-13
-26
22
-41
0
18
119
15
89
-25
-11
-109
109
71
54
100
46
-80
36
-26
-59
25
-50
52
-3
-97
63
17
12
99
54
-37
-98
-5
3
-64
20
11
16
16
19
5
-5
3
5
-16
37
62
33
-12
-151
59
53
3
-5
23
83
12
-39
66
106
54
-30
-8
7
110
60
-41
-142
-8
-14
5
-18
77
4
69
79
-98
54
15
-24
-44
26
-18
1
4
64
-90
9
38
11
18
112
52
70
25
1
9
83
-88
71
-28
64
9
-35
-8
-59
70
35
-17
17
25
-21
40
-9
-82
112
87
-104
8
-10
-6
2
-40
-10
-3
-41
-16
123
-3
11
-18
3
25
-4
-4
-79
-30
-7
14
-12
-42
66
-36
19
12
26
-74
-82
-6
69
21
20
-7
6
-97
-52
135
83
-13
-18
-42
-48
-7
0
-41
-12
43
89
36
-20
-34
48
29
0
0
-32
124
-20
-9
80
-59
-17
41
-12
25
-30
17
-16
20
189
59
-10
-36
2
39
48
51
21
-22
-5
2
31
-15
-1
-10
42
-8
18
8
-43
56
21
82
-106
-94
19
31
12
-16
-16
-17
-18
15
13
99
-40
36
17
28
16
51
-11
-7
-3
-40
-4
-19
46
1
27
-2
2
12
-8
80
50
5
-2
93
2
11
118
-48
-26
95
-3
19
55
-46
27
70
56
-78
-11
83
5
58
27
39
-29
100
38
20
51
30
11
8
-11
76
4
33
-50
26
16
24
-63
36
10
-19
9
-63
-21
-33
-14
48
4
56
-58
-2
-48
-12
-45
78
8
40
25
-22
16
-7
53
-28
85
8
15
-21
-78
-7
19
5
-15
57
-7
-21
-1
12
18
69
11
3
20
-7
57
76
9
8
40
-42
21
12
84
20
-62
56
-19
54
29
-8
4
1
-41
79
11
-84
-74
16
0
34
25
-1
-3
-23
-14
-11
-1
-44
58
-57
-27
14
41
57
143
-79
8
54
5
-44
-40
-32
-66
36
17
-7
-12
42
27
61
28
-5
-16
100
27
64
33
-25
34
-14
12
4
2
63
-39
-26
0
-12
-66
28
13
33
-12
38
10
-26
-39
-87
45
91
57
29
-119
5
106
66
87
59
37
-75
110
13
15
44
-34
-6
37
-29
-32
72
-47
31
-9
43
-33
-22
-13
-58
10
-5
36
67
23
71
-91
41
36
137
17
-106
14
-73
-34
-30
62
-82
7
30
73
-50
-98
-23
-34
-17
-23
63
4
-12
-44
-31
15
-3
76
-78
-15
-11
0
183
-59
93
36
-71
109
14
44
23
-17
9
-25
-3
99
27
12
-66
-16
64
-12
28
54
-70
-87
30
-12
10
46
31
-17
-47
41
34
10
-16
-1
20
14
24
0
146
2
33
24
-97
-2
-32
-12
52
57
32
2
-36
33
-45
-40
32
79
17
0
5
39
-6
71
45
-98
29
82
-54
43
-31
20
-24
-21
-1
11
-7
-1
53
5
-9
35
79
146
20
79
42
42
99
-47
84
122
-16
-18
-21
8
-153
31
79
17
70
1
112
63
6
120
-18
162
-63
36
-75
-65
56
-18
83
-13
-50
130
31
17
8
3
-78
-86
53
86
58
-59
-59
-40
-98
21
88
-9
-16
103
-14
42
-24
-4
1
11
24
75
10
-97
76
-134
-40
-5
49
-73
13
-10
13
24
-44
11
-4
-2
-9
59
3
35
-25
-40
59
-3
3
-7
-18
84
-13
-17
9
36
-33
-10
-12
-8
26
-28
-9
-34
-10
-79
53
2
19
1
-40
19
52
-3
1
3
10
-25
3
1
-90
43
35
-1
-14
3
-2
-25
-7
-43
33
75
60
-4
42
-88
132
-97
133
-40
-15
-67
56
20
37
-83
97
19
-9
-4
-3
60
119
-81
-15
16
13
33
-4
-3
-23
39
65
10
87
68
30
-51
46
64
67
99
27
40
-42
-30
-16
34
29
5
17
53
1
-13
-37
34
10
73
-10
-15
16
-25
41
21
-4
13
-19
-3
63
0
112
13
3
-100
-93
-184
46
79
5
6
6
51
9
5
13
-65
-25
1
5
0
53
12
14
45
7
-13
54
3
-21
-2
102
32
-75
-7
-5
11
18
7
7
2
-65
126
60
19
11
-16
-33
84
-4
0
-37
54
47
-24
19
-3
91
18
-1
1
-6
136
22
-95
18
42
-13
-3
28
0
8
42
58
21
30
3
6
-5
1
0
148
-24
-64
-64
-55
-36
25
27
47
-3
2
-54
-23
65
22
-6
-4
28
64
-9
121
-6
-31
-31
-39
38
-2
9
-59
1
-108
13
116
-22
27
14
3
8
-62
0
55
100
-38
78
7
-7
4
-7
45
-62
-47
-15
44
109
-27
90
15
-17
-3
32
5
-15
31
49
29
-10
160
60
-1
-33
-78
11
-48
38
22
1
-56
-6
-4
25
25
-21
25
-18
1
38
3
46
-41
4
-5
-42
-45
-32
1
74
30
-44
-69
0
3
8
-50
-38
0
4
-29
73
-4
3
3
39
-7
9
0
-7
-51
2
-6
0
11
102
33
7
-2
111
-13
-105
-7
1
35
-47
151
-16
-2
16
-65
28
7
0
55
-15
-68
-1
3
-29
30
28
-4
0
-2
83
-6
0
-1
-4
-25
20
-3
-12
64
47
18
4
-22
30
6
33
-57
0
-2
29
20
57
11
3
14
8
-9
1
22
17
73
-11
-5
-14
-10
113
5
5
2
0
-10
-10
5
0
3
-13
-1
0
36
-3
30
52
42
-12
-89
-8
-6
-15
52
-99
56
36
130
-8
65
-16
35
-20
3
32
-25
9
2
-18
-17
34
28
-6
-2
-5
104
-18
-24
-3
-26
-15
14
-8
-27
57
13
49
-38
-11
113
-23
1
23
-64
24
-73
60
16
53
4
12
6
5
-7
-208
100
-15
89
75
-46
21
-3
4
62
-55
-75
-7
0
-14
10
-28
13
0
71
60
5
-60
-48
85
-11
-29
18
-33
3
17
-20
15
-7
-52
102
92
-21
0
4
33
-83
62
45
-54
7
38
-36
4
-3
-27
-12
109
-16
6
9
-32
1
0
-10
39
4
117
4
-4
-23
86
39
54
-50
-8
20
-28
13
-18
19
84
24
0
21
83
43
-32
-28
51
-25
63
-105
7
68
18
-44
54
-38
-11
3
17
-44
0
-1
36
39
-20
59
20
55
6
59
6
8
88
80
-41
82
49
-76
19
10
36
39
25
-2
88
-12
69
-41
70
68
-67
-33
11
22
14
14
-39
86
75
58
-48
1
0
33
62
-26
-2
-82
113
-35
23
-1
11
116
7
15
-29
-20
-10
0
-4
0
18
52
-81
0
-19
-89
-12
63
20
15
43
-37
-8
7
-4
-9
-15
-9
-4
-30
117
28
24
31
38
37
44
55
-20
55
-76
-8
-24
20
81
-6
44
-50
-5
25
53
83
-50
4
14
-7
40
-7
6
40
-9
-4
21
0
-13
-9
-9
16
0
-24
59
-8
-101
-26
-94
111
-109
110
7
-28
12
-53
57
19
50
151
-7
-3
17
-1
18
-9
85
13
113
-101
7
-68
2
1
44
9
-9
5
-13
7
39
14
6
-136
54
137
-36
99
57
26
103
-31
-77
21
70
-37
3
32
-3
10
60
-34
63
-34
29
-87
71
92
-74
-48
76
69
-58
-9
1
36
71
69
-25
32
3
-9
-21
44
-76
-40
1
-33
104
10
-45
-8
1
-4
-10
0
42
-4
73
43
-24
32
0
-115
168
63
18
-16
-14
-81
53
2
0
-8
-9
-4
-40
23
8
8
0
0
0
53
39
6
-36
-20
59
19
-18
-18
-3
-45
-23
69
-21
-4
56
53
36
3
3
36
33
-35
117
-28
-63
112
51
-19
1
48
99
12
5
-15
3
-4
-45
23
18
73
-17
25
17
95
42
-38
9
-37
-12
-12
52
33
-44
-67
6
-70
-10
54
-1
54
28
-130
108
-59
14
36
8
-10
-15
6
-6
-51
73
-12
-15
1
19
21
-4
-8
-2
12
-39
104
39
57
9
-8
88
-50
20
8
36
41
8
-30
-43
81
44
97
88
-30
61
71
-119
-40
101
-1
8
83
47
59
34
76
5
-15
-64
4
-12
-48
-79
9
-10
0
-4
60
61
-17
-7
-1
32
-81
14
1
19
-57
-57
-34
-1
-6
68
18
37
-11
35
51
-4
16
2
0
-15
24
-9
-1
-10
78
0
-26
0
-26
75
-42
7
4
-13
-18
11
16
-5
20
6
26
-34
-7
14
8
60
-6
-1
1
-10
12
-4
-2
11
9
118
12
9
-11
53
24
-1
3
12
76
-9
9
-5
-40
31
-33
-21
-9
48
16
-4
48
-2
-5
31
24
-18
20
18
-47
6
-15
0
-8
-30
34
108
-17
0
35
-94
-41
51
2
6
95
8
5
2
-6
5
22
3
-119
-18
5
72
-2
9
-80
106
-21
-20
67
-18
-13
25
-37
68
-20
3
-70
22
-43
75
0
-76
-4
12
-32
16
74
14
14
1
-38
102
59
-21
78
1
56
13
13
2
98
-56
-32
-41
-31
-2
-11
23
24
-25
-11
72
13
-5
12
-31
8
5
6
83
-22
-20
-17
85
-62
-15
0
9
-11
12
39
-7
-4
12
-5
-2
-1
0
31
14
-5
7
25
82
-89
113
59
-44
-79
46
79
76
-11
-37
-26
31
8
0
43
-32
-19
86
69
-55
14
37
-33
8
-2
33
-44
24
9
0
22
-15
-14
3
-42
39
-2
5
46
-33
139
55
-127
-6
23
-22
-5
68
-113
-12
-91
28
139
0
8
9
20
45
-26
0
33
14
35
50
14
70
-8
62
-61
6
-28
-6
30
-4
18
30
-4
14
2
68
-50
99
-37
11
17
83
-11
42
101
5
18
78
-66
58
-92
79
19
13
5
116
-7
89
-51
69
-9
46
99
-18
-39
6
26
32
43
7
-18
-52
-39
-46
-15
69
67
-73
-11
3
1
18
48
-2
-4
-54
74
-26
-26
-3
-2
-64
27
16
0
4
-36
37
-38
1
-3
1
-44
11
1
-7
-19
-29
0
0
-17
-120
104
123
9
-25
140
21
-37
-30
7
29
74
31
1
-15
-10
4
39
-1
0
84
29
68
-6
6
-50
17
92
3
6
-1
46
-11
1
-4
46
-10
5
7
-45
74
-3
-28
13
51
-39
-49
-43
42
8
104
48
-67
-14
4
-59
21
24
-1
14
31
50
37
9
-6
63
6
-18
21
5
-9
9
-2
39
11
22
-56
20
-1
36
64
-2
41
-5
24
-94
77
-40
106
11
0
16
79
-51
108
92
12
13
-84
-26
-11
135
49
-63
3
5
12
93
-29
-15
73
-103
65
52
-1
21
-15
26
26
-15
32
-12
62
-13
62
-28
12
-2
0
-35
50
57
-13
3
-8
47
-26
21
3
7
-26
-13
34
9
0
-3
14
-5
2
-49
43
-19
29
-15
6
-7
2
-7
-2
-19
-41
58
45
5
-47
23
84
-19
0
2
67
28
42
-40
8
19
-28
-2
2
7
-57
9
-23
19
-6
14
-5
107
1
-1
-52
72
33
2
10
-7
-26
14
-4
98
81
-1
22
-35
-13
-7
-60
-18
-4
-6
-88
52
-10
11
15
-13
-11
-17
3
-37
-56
33
-43
96
0
1
25
19
27
25
2
14
34
3
0
-37
-6
-9
-13
-20
-6
-49
34
43
0
-60
-17
79
-37
-30
26
-61
88
24
0
-15
-21
-44
-5
-17
-56
21
45
10
17
69
43
40
-20
64
66
-101
-63
-40
0
29
-26
18
7
0
72
1
-96
-6
1
26
-3
-2
-1
-1
-1
22
2
0
-4
-30
-51
-1
0
0
1
-11
-14
0
0
10
-4
0
0
0
3
-65
70
5
0
-16
11
0
0
-3
-29
-31
76
-9
5
79
9
-73
6
21
-58
3
0
2
-7
31
20
10
1
-8
-15
33
1
7
9
-20
-36
-6
0
18
26
109
28
-1
8
20
9
5
0
0
24
-109
-13
-2
2
-29
-142
-2
-3
9
36
11
-11
-14
-5
17
26
-20
1
1
57
-10
51
6
-7
86
-27
29
0
-13
42
23
-5
18
5
13
17
56
0
-60
-67
166
-72
-49
-4
41
-64
-21
35
-1
-138
85
86
-47
6
-25
-2
-12
13
0
79
13
-3
30
28
56
-26
-43
38
0
-5
34
-64
46
0
18
-33
-62
27
0
26
12
42
35
0
0
-23
47
49
0
0
-40
-26
48
0
0
-51
-45
17
0
0
-9
-9
18
0
0
27
-31
-12
0
0
4
-35
9
0
0
12
-45
24
0
0
-37
20
-82
0
0
-55
-2
97
0
0
-32
26
15
0
0
-54
37
-24
0
0
61
-43
3
0
0
31
-47
-58
0
0
-41
-46
-47
0
0
17
-53
-53
0
0
73
2
14
0
0
30
-50
-19
0
0
-10
-29
-62
0
0
0
46
-7
0
0
-58
44
3
0
0
-25
-30
-2
0
0
72
46
-40
0
0
30
-70
-15
0
0
23
-36
-72
0
0
29
-28
-15
0
0
-85
130
63
0
0
-26
-56
0
0
0
30
18
-84
0
0
8
56
-4
0
0
-11
20
-41
0
0
-46
-43
0
0
-23
15
9
48
0
0
-12
63
97
0
0
-29
46
79
0
0
-57
46
16
0
0
-1
-12
30
0
0
-7
25
34
0
0
-30
-1
-71
0
0
-27
-13
-39
0
0
11
83
-40
0
0
91
51
40
0
0
-48
-10
-19
0
0
135
25
-121
0
0
8
-29
-64
0
0
68
20
13
0
0
83
-184
24
0
0
86
-46
-109
0
0
89
86
13
0
0
-16
-5
33
0
0
2
-16
9
0
0
173
-49
-4
0
0
-47
-33
31
0
0
-31
-27
9
0
0
68
14
-4
0
0
-10
-20
0
0
0
-20
-121
36
0
0
-10
50
-22
0
0
-92
-2
2
0
0
-10
-15
-2
0
0
58
-23
52
0
0
7
-30
-13
0
0
-71
-22
-1
0
0
6
-23
4
0
11
-6
14
43
0
0
115
71
-143
0
0
-17
35
28
0
0
32
14
50
0
0
22
1
29
0
0
12
-5
81
0
0
-12
28
39
0
0
11
-24
82
0
0
67
-17
32
0
0
-32
112
-66
0
0
23
-4
22
0
0
-38
-33
-28
0
0
-6
109
32
0
0
-120
-7
81
0
0
-7
-30
39
0
0
9
28
-41
0
0
-61
-84
-56
0
0
136
-101
-108
0
0
4
56
40
0
0
-25
92
-7
0
0
-16
-47
3
0
0
-37
-52
76
0
0
11
-32
-61
0
0
38
31
0
0
0
-83
-31
-4
0
0
7
-14
1
0
0
45
17
-73
0
0
11
1
1
0
0
-44
-44
-6
0
0
-11
53
-5
0
0
-48
-6
1
0
0
15
-4
0
0
27
36
-33
-4
0
0
42
81
-27
0
0
-4
50
133
0
0
55
-38
-9
0
0
7
-10
-7
0
0
-53
7
40
0
0
9
-74
55
0
0
1
3
63
0
0
7
8
95
0
0
-36
66
27
0
0
-29
46
47
0
0
-70
10
-13
0
0
39
32
-55
0
0
-50
-15
71
0
0
29
4
-10
0
0
1
121
-31
0
0
42
-29
-25
0
0
-2
79
25
0
0
107
26
-10
0
0
130
-49
14
0
0
-50
14
-7
0
0
65
19
-1
0
0
-22
15
0
0
0
21
-26
0
0
0
-94
46
-35
0
0
-19
38
0
0
0
-38
-9
11
0
0
102
29
0
0
0
-6
0
-3
0
0
-19
5
0
0
0
28
34
3
0
0
-17
-6
-1
0
-8
41
-53
15
0
0
-15
-27
-31
0
0
35
27
37
0
0
10
28
19
0
0
-24
16
26
0
0
-36
2
18
0
0
-10
58
-30
0
0
27
-1
20
0
0
-16
63
46
0
0
-103
159
15
0
0
-15
-55
64
0
0
8
10
-21
0
0
12
-4
-19
0
0
110
-69
13
0
0
39
96
-27
0
0
-43
59
23
0
0
75
-78
-14
0
0
-43
18
-31
0
0
9
51
36
0
0
-54
13
4
0
0
17
15
29
0
0
2
-61
-31
0
0
43
-54
5
0
0
0
84
0
0
0
-7
-38
48
0
0
-39
25
14
0
0
-10
-17
-11
0
0
1
-4
-10
0
0
-85
6
33
0
0
10
-40
-2
0
0
63
-66
8
0
0
1
5
2
0
-7
28
-48
-94
0
0
-35
-17
-59
0
0
75
14
71
0
0
52
29
-30
0
0
-46
44
54
0
0
-2
34
20
0
0
16
70
64
0
0
44
56
21
0
0
-7
58
18
0
0
-65
-5
15
0
0
112
-50
-1
0
0
7
70
50
0
0
-14
-34
-8
0
0
-2
-25
36
0
0
-29
-75
88
0
0
30
-13
-38
0
0
2
0
22
0
0
-77
-21
-8
0
0
-60
-10
-15
0
0
-44
-45
2
0
0
-24
-1
10
0
0
31
48
0
0
0
-36
-49
7
0
0
0
-65
0
0
0
-47
8
19
0
0
-3
-17
0
0
0
31
-13
0
0
0
-38
-3
0
0
0
-32
30
0
0
0
-13
23
4
0
0
20
3
0
0
0
-25
-9
-4
0
5
-103
-39
-130
0
0
49
-1
71
0
0
-27
56
-8
0
0
25
49
164
0
0
-31
21
-30
0
0
2
-10
14
0
0
-18
-4
2
0
0
40
34
91
0
0
29
16
-107
0
0
73
27
-28
0
0
-7
-11
21
0
0
18
58
-62
0
0
-11
-74
20
0
0
36
52
-3
0
0
-131
98
-17
0
0
53
33
-43
0
0
26
-10
-2
0
0
-3
-15
37
0
0
-4
-12
-34
0
0
78
-43
-1
0
0
23
9
20
0
0
-9
23
7
0
0
10
-69
7
0
0
-28
-27
10
0
0
63
39
-19
0
0
-6
-4
-3
0
0
11
-21
2
0
0
-8
3
1
0
0
17
-15
62
0
0
4
18
0
0
0
-25
35
-11
0
0
-5
21
0
0
13
81
-47
-16
0
0
17
80
-28
0
0
-30
16
68
0
0
8
52
44
0
0
-51
83
7
0
0
0
96
-11
0
0
-14
58
-10
0
0
14
52
16
0
0
-13
-38
29
0
0
71
3
96
0
0
14
42
27
0
0
36
-38
-32
0
0
110
36
62
0
0
39
-24
-43
0
0
41
-49
-65
0
0
95
-53
-39
0
0
64
-161
15
0
0
-25
28
0
0
0
15
4
-3
0
0
-29
77
3
0
0
56
-21
0
0
0
-37
5
0
0
0
-86
-21
1
0
0
49
30
0
0
0
-47
-7
4
0
0
11
1
-2
0
0
-4
-13
10
0
0
62
-19
0
0
0
1
8
4
0
0
15
11
-4
0
0
-1
29
1
0
0
2
19
2
0
-17
34
67
-4
0
0
-3
74
55
0
0
35
-14
-136
0
0
-23
-21
-58
0
0
89
5
-23
0
0
72
-15
16
0
0
-2
43
-68
0
0
13
28
-170
0
0
-52
84
107
0
0
-5
26
45
0
0
-34
14
39
0
0
-9
21
-105
0
0
33
-51
15
0
0
85
-72
-93
0
0
-27
-14
56
0
0
-77
5
16
0
0
6
1
16
0
0
-35
-11
22
0
0
30
-2
-3
0
0
-5
-29
5
0
0
-63
-42
76
0
0
-50
59
19
0
0
-54
31
2
0
0
-10
26
-20
0
0
56
50
17
0
0
27
-16
-27
0
0
58
3
-23
0
0
32
-32
9
0
0
48
40
-4
0
0
89
10
12
0
0
58
-68
-2
0
0
24
-32
-6
0
-54
-81
14
97
0
0
-36
-26
45
0
0
-50
-20
67
0
0
-59
10
51
0
0
9
-8
45
0
0
78
31
9
0
0
84
15
38
0
0
-49
-29
-84
0
0
33
44
33
0
0
-50
19
-21
0
0
-36
-53
-11
0
0
45
-39
-74
0
0
72
-5
-92
0
0
0
-15
-1
0
0
92
-78
-50
0
0
85
23
-24
0
0
-133
88
7
0
0
2
-39
5
0
0
-10
-31
-22
0
0
-21
-48
-2
0
0
-31
-76
25
0
0
0
-18
-3
0
0
-104
24
0
0
0
36
-35
-2
0
0
129
-63
20
0
0
23
4
37
0
0
-39
17
-38
0
0
100
-16
15
0
0
29
44
2
0
0
-80
43
-10
0
0
-7
3
5
0
0
41
-36
-16
0
21
-57
-17
27
0
0
-39
28
-10
0
0
146
1
-6
0
0
105
-57
68
0
0
-10
53
83
0
0
-15
11
135
0
0
22
33
27
0
0
-49
1
42
0
0
-42
19
54
0
0
59
29
64
0
0
-11
-15
22
0
0
20
40
-84
0
0
19
31
38
0
0
-16
58
-5
0
0
68
37
-78
0
0
73
1
-60
0
0
-41
30
-56
0
0
-6
3
-51
0
0
-13
31
23
0
0
29
34
-16
0
0
-96
-66
17
0
0
71
-38
16
0
0
26
-11
15
0
0
-16
-15
0
0
0
3
12
9
0
0
16
13
8
0
0
33
2
7
0
0
29
12
8
0
0
-112
5
10
0
0
14
-39
6
0
0
2
-24
-52
0
0
37
-14
1
0
-5
64
-140
71
0
0
-38
-35
37
0
0
91
60
-68
0
0
123
-9
40
0
0
-6
-67
-48
0
0
103
38
40
0
0
109
15
-16
0
0
22
41
-27
0
0
-9
56
-90
0
0
-11
-58
-8
0
0
-84
120
15
0
0
-37
86
9
0
0
28
49
-33
0
0
27
-44
-8
0
0
40
-50
9
0
0
-6
28
24
0
0
-44
-53
9
0
0
56
12
-4
0
0
67
9
-2
0
0
59
72
4
0
0
24
-3
-12
0
0
2
96
-1
0
0
46
-2
-2
0
0
-95
93
-4
0
0
5
-7
-35
0
0
-4
-5
-16
0
0
-20
1
38
0
0
-29
-2
-7
0
0
-3
31
-9
0
0
58
40
8
0
0
16
-45
-1
0
0
-19
71
0
0
8
57
-31
-28
0
0
-69
-56
35
0
0
-19
74
-16
0
0
12
75
3
0
0
-16
69
63
0
0
-10
64
25
0
0
6
27
23
0
0
13
70
-32
0
0
38
58
50
0
0
-57
25
15
0
0
-12
-57
8
0
0
-15
5
50
0
0
6
-29
1
0
0
11
-61
2
0
0
-42
-44
10
0
0
-5
-43
-12
0
0
121
-20
-66
0
0
-9
-36
11
0
0
123
22
20
0
0
-2
-19
-6
0
0
94
72
8
0
0
10
17
26
0
0
81
-90
54
0
0
-33
30
1
0
0
-56
60
56
0
0
-6
-32
6
0
0
-9
7
24
0
0
41
-2
8
0
0
8
-56
27
0
0
-34
2
-44
0
0
50
63
22
0
0
-6
80
-49
0
-15
3
-57
44
0
0
-102
16
-59
0
0
-126
49
-62
0
0
20
93
-93
0
0
-43
13
27
0
0
-51
56
-126
0
0
-22
-9
4
0
0
-6
6
83
0
0
-3
2
-12
0
0
-43
74
8
0
0
-23
35
63
0
0
-16
89
49
0
0
9
-32
14
0
0
-89
-5
63
0
0
-93
-16
17
0
0
-19
69
-25
0
0
-32
37
-55
0
0
-5
43
7
0
0
-8
-3
6
0
0
34
-28
1
0
0
-31
45
4
0
0
-18
3
0
0
0
43
-9
1
0
0
56
-19
-1
0
0
-2
21
0
0
0
-4
-29
33
0
0
29
11
-29
0
0
-54
32
7
0
0
54
-11
65
0
0
-9
-8
-2
0
0
26
11
2
0
0
68
-8
10
0
18
-138
-52
22
0
0
59
-67
19
0
0
-23
-4
7
0
0
127
38
-28
0
0
-4
13
-81
0
0
-1
71
-32
0
0
-11
31
-87
0
0
-46
44
73
0
0
23
-39
53
0
0
55
-82
72
0
0
-113
-10
105
0
0
-32
31
107
0
0
-31
-37
25
0
0
2
81
-46
0
0
-87
42
55
0
0
15
-53
12
0
0
-24
67
-62
0
0
6
-36
8
0
0
-35
-12
-62
0
0
25
-10
0
0
0
72
10
-36
0
0
5
22
15
0
0
-21
-30
-2
0
0
-25
37
4
0
0
-38
38
0
0
0
0
18
-3
0
0
1
-10
11
0
0
20
46
2
0
0
39
3
-10
0
0
1
-22
-55
0
0
48
20
-4
0
0
-32
14
1
0
47
-82
-74
-116
0
0
-13
-31
113
0
0
-2
-29
-3
0
0
80
35
-163
0
0
-5
88
54
0
0
-14
23
0
0
0
7
-35
-3
0
0
11
123
-116
0
0
12
46
-4
0
0
32
26
-18
0
0
116
-43
99
0
0
24
-4
62
0
0
-14
74
-73
0
0
72
9
-60
0
0
-33
29
-19
0
0
-65
-49
61
0
0
-1
1
1
0
0
35
-1
-9
0
0
2
1
0
0
0
9
-5
-18
0
0
23
-9
1
0
0
26
7
-5
0
0
25
3
6
0
0
47
-5
1
0
0
-24
0
0
0
0
8
1
-1
0
0
-16
-3
-26
0
0
-74
-32
1
0
0
-23
6
0
0
0
-49
3
1
0
0
-22
51
-3
0
0
-51
36
-2
0
-19
-14
95
69
0
0
-25
41
88
0
0
54
-63
20
0
0
-101
20
-27
0
0
-31
7
13
0
0
-27
25
-69
0
0
-27
25
68
0
0
47
71
-22
0
0
28
54
2
0
0
22
36
15
0
0
113
53
-126
0
0
88
1
22
0
0
-16
-9
-23
0
0
44
-114
-11
0
0
68
-23
-6
0
0
6
-29
-1
0
0
-106
56
68
0
0
118
16
-47
0
0
-4
-43
83
0
0
-17
21
26
0
0
-34
16
41
0
0
-30
-6
-2
0
0
-15
-21
13
0
0
-10
-1
-2
0
0
40
-51
0
0
0
-32
93
37
0
0
40
33
-102
0
0
57
60
33
0
0
-29
112
-37
0
0
-13
5
-119
0
0
-61
-123
-70
0
0
-86
52
-43
0
-40
10
122
48
0
0
-91
-10
-21
0
0
17
-67
-7
0
0
-37
-9
-48
0
0
-3
31
99
0
0
30
-69
41
0
0
-23
110
8
0
0
30
39
-8
0
0
58
-85
64
0
0
81
61
0
0
0
-9
14
-8
0
0
0
10
-4
0
0
69
-141
4
0
0
-24
-55
-5
0
0
15
36
-5
0
0
19
-27
-5
0
0
42
178
-15
0
0
2
112
78
0
0
12
-4
-1
0
0
-37
-53
-14
0
0
-72
105
-43
0
0
75
33
22
0
0
24
11
-8
0
0
54
-102
-6
0
0
5
-44
12
0
0
4
-22
-8
0
0
69
5
-3
0
0
-13
-41
-1
0
0
-31
28
-59
0
0
-7
-63
-16
0
0
-2
-25
11
0
0
14
26
-1
0
55
50
10
-68
0
0
-4
-52
-21
0
0
-37
7
-32
0
0
-2
18
33
0
0
-7
112
-35
0
0
99
60
-38
0
0
-37
32
-15
0
0
-43
26
15
0
0
-70
8
23
0
0
24
9
14
0
0
-48
-9
39
0
0
40
-115
1
0
0
48
63
8
0
0
1
75
6
0
0
32
14
-2
0
0
-1
-8
-1
0
0
18
-53
-89
0
0
2
59
-45
0
0
-28
39
43
0
0
9
34
7
0
0
-93
33
31
0
0
13
31
-66
0
0
-83
32
11
0
0
4
-66
8
0
0
39
66
-67
0
0
-3
-9
40
0
0
-15
-35
13
0
0
5
-48
0
0
0
-61
62
132
0
0
0
-29
-12
0
0
47
-22
27
0
0
58
-24
-2
0
50
-45
-1
1
0
0
83
-36
41
0
0
-29
69
53
0
0
-30
-50
-51
0
0
34
-68
-20
0
0
43
39
-83
0
0
-76
31
5
0
0
38
-21
-20
0
0
33
-29
-27
0
0
47
12
-1
0
0
-77
79
0
0
0
94
-4
9
0
0
11
22
1
0
0
-26
10
-5
0
0
55
-29
0
0
0
49
-52
2
0
0
3
66
12
0
0
-13
34
18
0
0
-25
-8
20
0
0
129
-31
0
0
0
-75
-32
22
0
0
119
-37
11
0
0
24
-17
7
0
0
61
-71
11
0
0
-50
33
-27
0
0
-16
18
-8
0
0
5
37
-14
0
0
36
7
-5
0
0
-47
-13
13
0
0
-18
70
-7
0
0
-19
-12
7
0
0
-31
98
7
0
-32
55
-39
-54
0
0
60
-36
-6
0
0
54
66
-124
0
0
-27
90
33
0
0
-32
-51
63
0
0
18
-70
-1
0
0
-1
41
9
0
0
4
29
0
0
0
-36
9
49
0
0
-38
-52
8
0
0
0
27
12
0
0
28
47
3
0
0
110
46
-3
0
0
-16
18
0
0
0
124
-56
9
0
0
-19
-20
-2
0
0
97
0
1
0
0
-6
17
-2
0
0
-51
-40
-36
0
0
19
-21
-11
0
0
-207
-46
70
0
0
-37
146
-50
0
0
-34
-5
27
0
0
5
-32
-1
0
0
-16
29
-133
0
0
18
-3
-8
0
0
81
61
73
0
0
-50
-6
16
0
0
-41
73
-29
0
0
-10
-30
-70
0
0
-16
91
91
0
0
17
3
-18
0
-70
27
82
6
0
0
-46
-3
-27
0
0
-19
-20
28
0
0
35
-15
-41
0
0
19
-22
-1
0
0
2
-60
31
0
0
4
-48
0
0
0
30
-98
5
0
0
-44
35
-7
0
0
39
11
2
0
0
-29
10
-6
0
0
-67
21
7
0
0
97
-39
3
0
0
47
56
0
0
0
19
31
-1
0
0
29
37
6
0
0
-64
-40
0
0
0
-3
-10
-32
0
0
-43
61
-12
0
0
-66
-26
-22
0
0
-47
40
-30
0
0
-24
6
-13
0
0
56
-32
3
0
0
-12
4
4
0
0
-1
5
25
0
0
8
49
3
0
0
-37
22
8
0
0
74
-23
-21
0
0
-81
-8
-14
0
0
-24
-21
27
0
0
-18
-1
-10
0
0
-63
107
0
0
-5
18
43
-5
0
0
-17
-24
-8
0
0
1
31
22
0
0
-21
47
-9
0
0
-33
51
-41
0
0
14
-21
17
0
0
-21
44
-43
0
0
-59
28
12
0
0
95
27
-48
0
0
-30
11
-5
0
0
33
47
-15
0
0
3
23
-2
0
0
-10
37
-6
0
0
10
-26
-19
0
0
11
-58
7
0
0
-9
4
2
0
0
-15
7
6
0
0
3
-7
-28
0
0
19
-9
33
0
0
8
30
-4
0
0
-41
-20
28
0
0
-16
-16
10
0
0
-61
-52
9
0
0
18
-41
-11
0
0
-54
54
-6
0
0
21
-15
28
0
0
-46
-5
43
0
0
35
-60
3
0
0
50
-21
-42
0
0
-8
-28
-20
0
0
-29
-8
-20
0
0
-32
116
14
0
83
42
-115
-12
0
0
75
-7
-5
0
0
0
0
-1
0
0
24
16
3
0
0
-37
0
6
0
0
19
-2
7
0
0
-5
30
0
0
0
-33
49
1
0
0
58
12
1
0
0
62
-30
0
0
0
14
14
7
0
0
101
-16
1
0
0
97
-12
-3
0
0
19
31
-3
0
0
-10
46
0
0
0
-47
86
1
0
0
-49
3
2
0
0
2
5
-24
0
0
7
-4
-9
0
0
-36
24
0
0
0
-25
-18
-2
0
0
2
10
-1
0
0
-34
25
0
0
0
24
15
-5
0
0
-37
4
66
0
0
-2
-37
1
0
0
21
9
-21
0
0
29
5
13
0
0
-41
-54
14
0
0
-4
4
73
0
0
-18
9
0
0
0
-44
46
4
0
3
-24
124
-25
0
0
22
15
-7
0
0
-75
7
16
0
0
0
-84
-1
0
0
-25
62
9
0
0
-20
-26
58
0
0
16
29
0
0
0
-6
115
2
0
0
37
46
-32
0
0
-50
3
0
0
0
41
73
33
0
0
-34
28
-3
0
0
28
57
78
0
0
60
-43
-5
0
0
25
10
10
0
0
-77
-8
3
0
0
6
-7
72
0
0
-35
68
21
0
0
-60
-14
41
0
0
62
-12
-5
0
0
-30
-13
49
0
0
27
-51
-50
0
0
50
-81
-27
0
0
-27
39
25
0
0
52
38
108
0
0
21
-78
16
0
0
16
80
27
0
0
-15
41
54
0
0
84
71
2
0
0
-9
-20
-1
0
0
9
91
-3
0
0
-40
21
25
0
-28
78
-5
69
0
0
-39
-47
18
0
0
2
27
-3
0
0
-5
-99
6
0
0
-17
53
-7
0
0
5
25
1
0
0
17
21
0
0
0
-17
-105
0
0
0
29
-5
-18
0
0
-28
72
-1
0
0
-4
-3
-21
0
0
21
-25
0
0
0
11
6
14
0
0
13
111
0
0
0
-6
72
0
0
0
-42
35
3
0
0
19
-58
15
0
0
-73
-66
-1
0
0
-61
-21
64
0
0
121
65
-19
0
0
-16
-12
-2
0
0
42
54
-72
0
0
79
36
18
0
0
11
173
1
0
0
87
-58
-55
0
0
-45
35
43
0
0
-44
-79
7
0
0
91
-90
17
0
0
-25
104
-32
0
0
-4
-2
37
0
0
-65
77
107
0
0
24
68
20
0
55
-9
-35
17
0
0
-67
-2
-43
0
0
-21
77
15
0
0
59
39
2
0
0
45
-38
-8
0
0
-14
33
-30
0
0
-1
-51
-26
0
0
1
56
3
0
0
-25
20
-57
0
0
35
-16
-13
0
0
48
37
-59
0
0
29
89
-7
0
0
44
-19
-3
0
0
-77
149
14
0
0
-36
13
9
0
0
-12
89
-7
0
0
-87
21
25
0
0
16
14
47
0
0
-4
-2
-15
0
0
-68
49
22
0
0
43
53
18
0
0
-15
-67
21
0
0
23
11
-42
0
0
-12
48
5
0
0
40
-9
-34
0
0
5
-28
42
0
0
64
1
85
0
0
-12
61
18
0
0
-31
-35
-32
0
0
30
-36
27
0
0
-50
39
75
0
0
44
41
-25
0
13
46
-148
1
0
0
-16
43
7
0
0
-16
-35
12
0
0
27
-54
-31
0
0
56
22
-4
0
0
1
25
-25
0
0
9
13
-2
0
0
-10
66
38
0
0
1
47
6
0
0
-13
97
0
0
0
0
-72
-2
0
0
-10
74
-25
0
0
-49
0
-1
0
0
17
69
0
0
0
43
-21
6
0
0
0
-89
-6
0
0
83
-29
-4
0
0
14
68
27
0
0
3
40
-40
0
0
-20
61
-11
0
0
-49
24
4
0
0
29
45
29
0
0
20
38
-34
0
0
-18
0
12
0
0
-57
16
52
0
0
-22
50
-14
0
0
-11
-63
29
0
0
24
89
29
0
0
2
-45
6
0
0
-8
-27
68
0
0
58
22
132
0
0
24
41
-19
0
9
81
44
-36
0
0
-90
96
28
0
0
-82
3
4
0
0
1
-54
-3
0
0
33
1
-35
0
0
6
39
3
0
0
73
-27
-19
0
0
-2
11
0
0
0
-19
-37
16
0
0
-67
9
-6
0
0
-39
19
-37
0
0
6
45
-9
0
0
24
77
66
0
0
-22
-6
0
0
0
35
64
3
0
0
-38
94
-1
0
0
3
-52
21
0
0
16
58
14
0
0
-28
19
47
0
0
12
92
-1
0
0
40
-108
-23
0
0
-32
-7
21
0
0
54
48
-41
0
0
11
0
4
0
0
3
63
-6
0
0
5
-25
35
0
0
-18
-56
-11
0
0
44
16
50
0
0
109
74
34
0
0
35
89
-90
0
0
49
0
8
0
0
-62
-36
78
0
0
-9
90
-14
0
0
-12
0
-3
0
0
-7
16
-2
0
0
-7
-28
3
0
0
37
110
0
0
0
-9
-51
-1
0
0
3
11
1
0
0
-12
13
0
0
0
-1
-11
-4
0
0
5
53
-1
0
0
18
17
10
0
0
-12
-10
-7
0
0
29
27
-24
0
0
8
-68
1
0
0
17
68
1
0
0
-27
-56
0
0
0
-27
14
-3
0
0
-8
-79
-7
0
0
34
-19
6
0
0
-17
-17
-3
0
0
-119
28
-48
0
0
38
23
5
0
0
-78
66
-21
0
0
2
2
8
0
0
39
-16
12
0
0
48
35
54
0
0
40
-31
117
0
0
-44
-4
-24
0
0
39
-64
-47
0
0
-40
-1
20
0
0
50
29
-22
0
0
31
60
18
0
19
-36
30
-18
0
0
-1
-2
10
0
0
20
99
8
0
0
47
-37
0
0
0
-19
-65
0
0
0
25
55
1
0
0
-24
64
-5
0
0
7
-14
0
0
0
38
-64
-10
0
0
58
-21
0
0
0
20
51
-11
0
0
57
-29
0
0
0
34
-19
6
0
0
-32
11
6
0
0
6
15
-3
0
0
40
46
2
0
0
-31
-89
-72
0
0
-46
9
-49
0
0
5
19
-10
0
0
-29
-21
5
0
0
69
3
-29
0
0
15
-2
1
0
0
30
17
18
0
0
11
7
4
0
0
-22
13
68
0
0
-11
17
29
0
0
-117
4
3
0
0
-8
-4
-51
0
0
57
-55
-1
0
0
-11
44
72
0
0
72
75
102
0
0
-7
14
52
0
31
64
-88
-3
0
0
-59
11
-3
0
0
5
4
0
0
0
-7
15
0
0
0
5
-29
0
0
0
7
-31
4
0
0
1
8
0
0
0
88
-30
0
0
0
75
-19
0
0
0
-26
44
0
0
0
-3
22
0
0
0
31
60
6
0
0
22
-20
0
0
0
55
13
4
0
0
120
-36
-10
0
0
4
71
-4
0
0
-62
18
-8
0
0
25
42
9
0
0
-2
-13
-2
0
0
65
21
16
0
0
-18
19
-14
0
0
-28
24
-5
0
0
-67
-3
8
0
0
-43
83
0
0
0
-30
42
-29
0
0
99
73
-56
0
0
16
-39
3
0
0
8
-76
-23
0
0
-17
40
23
0
0
-1
-13
37
0
0
-12
-3
15
0
0
-16
30
3
19
7
1
10
2
0
-2
-22
-29
21
0
-9
32
-3
60
0
-6
29
72
37
0
17
-17
-14
81
0
-2
17
-18
-20
0
7
17
17
3
0
-22
36
7
-12
0
40
-14
-10
-15
0
14
-21
-16
-50
0
-17
18
55
21
0
-4
-15
79
77
0
25
-8
47
-56
0
-22
-13
11
-85
0
5
-71
-2
11
0
35
3
42
20
0
17
9
10
-35
0
-10
-43
6
-81
0
-15
-118
-64
17
0
40
7
123
-56
0
-22
7
-8
5
0
-133
-29
38
46
0
-59
13
55
-60
0
78
-21
-20
19
0
0
-17
-37
39
0
100
-20
-85
-16
0
-3
25
38
-25
0
-47
-64
-46
66
0
-39
29
69
36
0
-12
42
72
24
0
49
67
-75
46
0
-13
-46
33
11
-20
-5
1
42
19
0
-35
11
-30
-14
0
24
-5
77
103
0
13
3
51
-13
0
-9
14
28
-27
0
-23
19
-10
9
0
12
49
14
62
0
5
11
-68
30
0
-26
-13
-10
-29
0
-16
-2
45
-20
0
55
58
35
82
0
83
-26
-1
39
0
22
10
-16
29
0
-1
-91
100
-37
0
4
23
37
-3
0
10
53
11
24
0
-23
-42
-118
15
0
-4
-5
68
-63
0
-46
63
35
21
0
57
-14
19
-85
0
-12
-61
-21
21
0
-86
-20
6
93
0
-26
-37
121
-38
0
-54
55
25
100
0
0
-46
19
-34
0
-25
25
-74
51
0
23
55
47
-2
0
123
-77
25
67
0
-2
147
-7
24
0
54
-124
14
-12
0
38
-28
-16
22
0
-9
-49
93
-1
21
32
-19
-11
27
0
-3
49
11
0
0
17
1
58
39
0
12
9
69
54
0
4
-10
8
37
0
-9
1
8
-28
0
-10
5
24
29
0
0
4
45
16
0
59
53
10
-60
0
109
-38
19
48
0
-10
-13
-48
-9
0
39
-72
62
34
0
25
13
67
-74
0
-49
-82
37
-19
0
9
10
16
8
0
45
72
-94
3
0
-10
-20
109
-26
0
72
78
13
-53
0
37
-138
-77
36
0
-11
62
-85
-46
0
17
-30
-76
86
0
-16
11
62
7
0
-50
-41
29
9
0
2
-26
-1
-37
0
42
-2
-5
59
0
41
100
46
-9
0
45
-61
11
-3
0
-72
69
27
52
0
63
11
26
-13
0
-26
10
88
-2
0
-96
43
-3
-19
0
21
127
40
-3
18
47
-15
26
31
0
1
63
14
-22
0
92
-25
26
-13
0
16
13
19
86
0
21
4
18
-34
0
-53
-78
3
99
0
31
-13
12
54
0
-36
33
-8
60
0
-39
67
-50
-4
0
75
45
0
20
0
50
101
-32
2
0
-12
-13
89
-24
0
26
73
-37
-6
0
81
-24
12
-11
0
-107
8
-41
66
0
13
23
30
19
0
-75
4
43
-27
0
13
40
-83
51
0
67
109
18
-80
0
-47
39
24
-34
0
-84
31
-4
-16
0
-31
-116
21
-22
0
-12
-26
11
-1
0
77
-62
-16
-3
0
-36
48
54
4
0
125
39
-19
2
0
-1
-75
48
-1
0
-16
25
-2
1
0
61
28
-53
-41
0
3
22
18
-9
0
-2
16
-20
7
0
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
9
-26
20
0
-44
2
-74
-70
0
-13
33
-8
-121
0
-23
-4
40
-83
0
-25
32
-4
0
0
21
28
36
66
0
3
23
47
-6
0
-9
58
-64
43
0
-26
-38
6
20
0
42
7
11
17
0
22
-24
17
-45
0
24
-54
-75
-35
0
15
-7
37
3
0
-28
33
31
12
0
81
-26
6
-31
0
75
-54
21
16
0
51
79
104
-92
0
32
42
40
8
0
22
3
19
26
0
8
-68
98
98
0
61
85
58
-16
0
-21
-33
-24
-11
0
60
-52
-64
98
0
29
-31
2
3
0
39
-24
18
-29
0
-75
25
100
1
0
61
-25
40
30
0
28
5
-21
-2
0
-12
22
98
-80
0
-6
73
-59
-43
0
-57
8
23
-76
0
-7
2
-29
-27
-45
16
-23
21
-14
0
20
-27
0
-30
0
62
-19
-78
79
0
37
19
-43
108
0
-31
6
31
58
0
-33
-4
12
-80
0
40
-49
59
57
0
38
-35
-37
80
0
19
-43
12
5
0
-9
-109
8
-24
0
50
98
-5
-28
0
58
57
0
-8
0
15
31
56
58
0
2
-14
-38
-44
0
65
-62
32
-54
0
7
-97
30
-22
0
-48
-6
-60
-14
0
-86
9
-52
35
0
-4
-9
-4
-14
0
-7
59
-89
58
0
44
-66
47
-21
0
62
2
-11
12
0
-13
172
46
2
0
-30
-31
-18
-4
0
-54
-1
28
-1
0
-65
-18
44
-9
0
-38
64
35
-18
0
14
-15
18
-4
0
20
57
48
33
0
-22
30
-10
-5
0
-46
23
15
10
0
6
51
73
-5
25
19
-29
-5
57
0
-145
37
37
-23
0
1
-28
106
-45
0
15
79
15
-19
0
-55
3
6
-65
0
-17
3
-8
143
0
6
-22
-54
-42
0
-41
-8
57
51
0
-60
24
-15
33
0
46
50
48
2
0
-29
-7
5
74
0
-5
64
31
-22
0
-28
-24
-1
-9
0
60
41
32
-36
0
-67
0
9
65
0
7
50
43
-63
0
-6
-9
22
-12
0
7
-56
36
3
0
94
17
0
-39
0
74
69
-12
-7
0
66
39
-61
-46
0
91
-88
9
10
0
-43
-71
7
42
0
101
-35
31
4
0
-100
-32
-34
-34
0
52
69
-3
21
0
35
12
-101
-42
0
95
-1
-29
-4
0
-119
-19
71
50
0
-8
1
9
1
0
41
32
43
-23
0
53
26
-47
-6
0
-24
-85
-34
-72
0
-21
45
1
22
0
-68
28
11
50
0
103
45
-9
-84
0
15
0
-59
-55
0
34
21
81
-142
0
46
-34
-4
-9
0
3
-32
11
2
0
-16
72
35
108
0
34
-50
10
-32
0
-44
68
-55
4
0
38
37
-31
-22
0
42
-57
-38
27
0
47
-11
43
5
0
16
90
-16
48
0
52
107
-5
-54
0
-16
67
-53
-52
0
-9
91
-16
-7
0
119
19
57
-7
0
-24
31
51
-50
0
8
-65
37
6
0
-63
11
44
-6
0
8
63
0
-3
0
-35
52
38
-6
0
-19
-110
39
-7
0
-35
-46
60
5
0
15
-29
-57
-1
0
59
-82
-34
21
0
-2
-79
-28
44
0
-30
51
-10
3
0
-46
21
-89
8
0
20
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
26
-1
0
-47
-26
-25
121
0
11
17
45
-4
0
55
-30
71
4
0
59
-42
6
-57
0
46
-91
-14
-81
0
-59
-11
-6
-57
0
-49
-23
4
-15
0
-1
58
-6
-8
0
35
84
106
-150
0
13
-11
38
93
0
24
3
92
6
0
27
43
35
52
0
-5
19
51
99
0
38
15
84
54
0
124
-41
24
-20
0
-26
19
57
-29
0
-78
91
-55
-43
0
-90
-1
-87
-15
0
-36
-7
46
55
0
-115
58
-27
48
0
-15
-40
19
-78
0
-24
91
-6
10
0
81
37
-36
38
0
31
-6
5
-13
0
-53
-62
-31
74
0
-36
1
17
10
0
-148
43
55
-3
0
19
1
26
27
0
11
-15
45
-79
0
91
-4
26
35
0
97
53
-51
-13
-29
-53
30
-16
-31
0
89
-78
-33
8
0
18
57
-52
-55
0
3
-4
-27
79
0
61
34
-46
60
0
-48
-9
-25
46
0
96
-8
-89
18
0
-67
4
133
9
0
8
35
-25
-41
0
-83
65
-1
-4
0
86
-105
49
1
0
-136
78
42
32
0
15
-70
-28
22
0
-37
-52
-20
-29
0
-58
-59
62
8
0
-69
108
-2
-9
0
39
5
25
-10
0
54
-19
-80
79
0
-10
-52
172
95
0
70
-30
-4
14
0
-93
23
-31
-63
0
-39
-5
-37
27
0
0
38
-18
-54
0
6
-11
-6
-15
0
-10
123
20
8
0
-82
60
-14
72
0
37
1
26
18
0
75
167
29
4
0
19
-33
13
43
0
54
-20
35
-93
0
25
-24
8
51
0
65
23
18
9
-26
48
-41
21
-94
0
87
118
-29
77
0
-95
5
41
-81
0
-32
24
-15
-20
0
-46
12
16
17
0
-28
57
-76
28
0
-6
-59
-72
36
0
28
14
-33
5
0
49
-48
33
-34
0
146
39
-110
45
0
25
-52
23
22
0
46
17
-7
-28
0
30
12
6
70
0
32
108
-16
14
0
92
51
84
3
0
-23
30
76
0
0
-20
-94
-50
60
0
-95
-28
-26
30
0
-117
22
-48
77
0
129
78
-28
21
0
-6
11
-15
-100
0
51
62
27
-25
0
12
-79
-3
0
0
-89
82
-34
-3
0
42
9
-15
149
0
77
-42
-21
-36
0
-50
-32
43
7
0
22
38
59
1
0
-93
92
20
-54
0
85
-51
-96
34
0
51
0
-32
-42
0
21
64
-1
-9
-31
25
29
38
-22
0
-164
47
18
-3
0
-18
-27
10
95
0
-19
5
76
60
0
-48
-8
19
-6
0
-15
5
-17
40
0
19
-16
-22
22
0
62
50
33
7
0
35
70
20
-34
0
56
28
-16
3
0
3
31
108
12
0
66
-44
-38
-27
0
76
51
-52
19
0
21
-46
-48
-12
0
3
2
3
6
0
51
-28
60
0
0
60
-34
69
-88
0
-6
100
15
16
0
-102
81
22
-77
0
-46
-6
-3
25
0
-92
38
21
99
0
12
64
78
-85
0
-21
11
6
14
0
-37
44
3
0
0
34
26
83
84
0
50
53
-4
1
0
-54
-19
30
-38
0
-118
0
38
1
0
17
23
-3
-27
0
-42
-68
64
-5
0
114
9
2
-1
0
-2
79
-64
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
112
-74
-20
-36
0
131
55
75
-21
0
134
-17
-4
-8
0
-58
56
84
-53
0
13
55
63
-7
0
-65
20
74
35
0
-70
45
24
58
0
77
32
7
14
0
6
52
-21
55
0
-34
60
-159
0
0
19
76
64
53
0
1
56
63
-31
0
43
39
-40
-1
0
-2
2
32
61
0
64
-65
0
-3
0
-49
17
81
10
0
-44
52
-21
-21
0
87
-104
91
-34
0
-100
99
48
81
0
2
10
-84
-62
0
-83
40
64
9
0
-2
65
-19
52
0
-1
-87
19
-43
0
-14
-3
118
65
0
-37
3
49
62
0
-130
-11
4
-50
0
21
8
89
30
0
64
26
50
88
0
36
-76
84
-14
0
-42
18
32
-24
0
29
60
89
-5
0
77
78
-130
-20
-37
122
28
15
-10
0
-42
34
-80
23
0
-3
45
25
13
0
11
-41
31
-6
0
36
-102
21
-18
0
60
22
105
6
0
65
-25
22
-3
0
26
52
-5
-6
0
-45
105
-8
-15
0
-76
1
2
89
0
51
130
-24
10
0
-12
84
48
42
0
-23
-37
160
43
0
-27
-85
83
153
0
-56
12
-24
-9
0
23
-1
26
-35
0
-20
-3
18
137
0
-67
23
76
-79
0
192
61
35
-32
0
53
78
-9
3
0
34
67
24
18
0
-11
-4
-45
-9
0
79
-22
2
-71
0
85
3
102
23
0
-36
-6
-9
85
0
-84
-8
62
-45
0
-50
-21
52
16
0
45
3
47
25
0
-21
27
40
0
0
-44
13
-42
22
0
-13
75
-5
-16
0
13
-17
49
63
-40
78
40
15
-44
0
33
-2
59
43
0
-23
45
-21
-9
0
-72
84
1
48
0
38
84
101
-42
0
33
49
-135
-4
0
-2
-7
-50
49
0
101
11
-2
0
0
79
36
5
-121
0
-32
67
7
15
0
-99
71
-3
15
0
131
63
44
49
0
-11
36
-2
28
0
16
1
-46
8
0
10
88
36
-111
0
-82
2
-26
-32
0
-90
-56
73
-6
0
43
44
67
12
0
90
-30
50
95
0
40
89
47
52
0
77
-27
-15
-7
0
70
-44
7
-50
0
-39
-58
12
28
0
-23
-10
-21
32
0
-40
9
-14
96
0
-54
-5
51
17
0
-20
27
35
54
0
-3
42
20
-47
0
-38
-44
-32
175
0
77
-4
-44
32
0
-12
11
-20
84
0
-31
-6
55
16
6
-46
90
4
-8
0
23
-61
41
-16
0
21
0
31
-20
0
53
11
52
4
0
-15
15
-25
48
0
0
-44
41
1
0
41
-17
18
-6
0
5
34
44
2
0
-11
90
152
1
0
-55
138
36
2
0
63
58
24
24
0
18
6
74
9
0
66
-46
-87
65
0
0
-30
85
-14
0
28
-29
-68
-60
0
30
7
-1
14
0
-125
12
23
18
0
-42
1
32
-33
0
-68
38
-3
-13
0
-75
8
-10
-51
0
34
-86
104
-27
0
42
-19
-10
3
0
-34
-17
22
-1
0
16
-19
44
-3
0
-9
12
-20
26
0
50
32
-29
71
0
31
-30
13
-61
0
48
-7
16
-6
0
15
-16
99
-74
0
97
30
56
45
0
94
-1
22
-19
0
-84
1
58
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
25
13
20
25
17
16
3
-2
-5
-14
48
-4
3
0
4
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
10
-38
43
2
30
-4
-56
-6
27
-28
-17
-93
50
-4
-51
21
99
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
4
-39
-33
-24
-85
-2
-47
107
-10
-55
4
34
47
-56
-37
-63
40
57
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
20
-23
31
-17
88
-22
-61
-13
11
50
64
-15
10
151
20
-34
-17
-15
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
8
18
-27
-8
-12
47
-24
49
-17
11
7
45
100
-56
13
22
70
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
22
4
-7
-63
-40
38
-74
26
109
16
27
-47
-12
-52
21
-23
67
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-119
-28
81
26
-57
-69
71
30
-40
11
32
7
-84
3
11
33
40
36
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-95
-69
-3
-128
46
-3
-76
64
23
83
-61
-69
-32
37
92
42
13
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-29
36
18
113
43
-8
50
45
74
15
-2
13
-3
33
20
43
40
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
10
-11
22
4
88
-7
-29
30
7
-114
23
-60
66
73
14
49
-42
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
48
27
11
21
-34
35
96
-2
-63
-14
-13
-82
49
9
55
-23
-74
63
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-5
61
-24
-11
8
-41
33
90
33
-49
-89
14
96
16
-23
11
15
-18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-6
-6
31
13
33
-51
34
57
-7
36
3
3
38
36
4
90
56
3
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
62
-13
15
91
-50
-12
-23
51
37
-43
50
-24
33
10
-50
-16
-59
20
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
24
31
24
-10
100
-1
-54
-10
46
15
93
-52
102
-77
3
75
17
-52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-26
88
54
21
36
76
25
-17
-1
-94
21
168
-29
6
6
8
-31
25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
10
-2
0
-9
8
12
4
7
79
18
24
-11
16
-21
-45
75
52
29
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-9
4
-34
-25
-81
-8
-15
65
-15
47
10
32
50
24
-11
-43
15
2
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
54
-3
17
-41
68
81
-39
-72
-141
-140
49
24
87
-7
29
65
-20
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-43
-15
-21
59
-13
55
13
33
65
-84
-20
-81
74
70
72
-93
70
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
0
6
5
4
2
-20
-23
46
0
78
-32
60
126
-132
-22
50
98
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
21
47
-45
-96
-54
-13
13
32
-16
-5
42
56
87
-51
-69
-35
-51
-37
158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-164
70
-6
60
83
-68
-21
-48
13
-11
137
-74
-2
20
3
-62
121
-38
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
32
-62
-44
-14
-75
-41
15
-130
-66
-40
54
25
82
23
28
-137
129
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
7
14
-2
45
41
-11
7
17
47
-14
46
50
1
74
-8
77
11
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-36
14
-51
-80
-48
-75
40
2
-25
89
19
80
41
-70
-2
-128
6
-31
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
148
14
34
-3
-23
-4
55
-13
41
-44
-30
104
-42
28
-28
15
12
39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-101
-14
60
73
-60
-90
92
9
-1
-36
20
29
-37
-36
23
67
-1
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
27
-3
8
39
70
-40
26
55
90
-99
41
4
20
61
53
-5
94
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
-13
32
-24
-2
14
-101
8
-19
-13
35
-26
-5
58
27
26
65
59
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-93
40
95
43
23
-29
-28
28
11
33
27
4
-71
16
-22
31
-45
-48
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
9
73
-105
-1
-56
61
-44
27
-90
42
15
21
6
45
-3
-17
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
22
28
-21
-78
10
-3
-43
40
-13
15
-12
10
-19
19
3
-49
34
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
16
15
52
12
20
7
10
-3
0
-45
35
9
-15
-13
43
-3
-38
-49
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-8
48
26
-7
-28
17
18
28
1
10
-65
60
-14
18
64
-17
-50
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
66
69
10
17
105
-26
36
26
-76
-10
6
24
-10
50
21
-127
14
9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
24
45
54
-64
-38
-2
-5
-26
-156
33
47
54
-8
45
-9
-10
-4
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
-31
5
-8
34
-1
13
-25
26
2
-24
9
-6
44
114
-1
13
-65
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-94
22
-44
-37
-103
20
19
35
8
112
-4
4
15
-14
-24
-13
84
30
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
70
125
112
-125
35
-14
73
99
8
25
-77
168
96
-51
-17
-21
60
-54
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
11
-32
71
120
0
-1
78
37
31
45
16
27
18
28
-12
-20
43
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
78
-12
23
-37
25
29
-16
5
10
-45
42
-4
26
0
-27
34
-27
-22
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-49
27
50
7
64
106
37
3
29
-3
35
106
-33
-13
-23
-15
-24
38
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-35
60
7
-54
-15
25
5
59
-20
62
-21
-6
44
-2
-28
33
-44
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
-10
18
112
-25
-49
-21
70
-40
118
-23
44
10
57
-27
36
-22
11
133
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
67
24
8
-47
-7
4
-54
10
-27
71
20
-45
-70
-65
68
7
18
43
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-2
-55
104
26
30
78
81
-137
60
132
85
37
-50
-5
-42
19
87
28
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
21
17
24
46
-129
-8
10
63
8
-14
-27
-33
-80
-50
39
-3
49
-24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
40
36
80
9
45
49
40
14
-51
-45
20
42
35
-15
-116
35
61
-81
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-14
32
31
9
22
-35
-8
-21
34
63
-48
21
1
-43
50
0
-21
-71
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
67
60
-76
-8
-37
27
-34
62
72
31
-22
11
26
9
-15
41
-25
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-91
93
22
-10
-18
17
55
-24
94
98
128
-56
-71
59
-22
53
-3
68
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
38
33
97
-46
48
-18
26
33
-95
40
94
53
38
21
81
2
-41
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
36
29
22
-11
-94
-9
-27
7
-7
-32
-93
-2
16
-35
-100
-129
36
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
32
26
-37
53
4
-3
77
53
2
-54
-9
38
-74
9
-29
-31
120
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-35
85
-14
31
-42
-80
85
-20
-19
78
40
1
24
-15
10
-8
21
48
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
20
23
-4
41
-39
48
57
-47
-87
-47
61
13
-2
-27
48
142
-66
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
67
-3
53
34
52
40
-28
46
70
-34
19
-6
39
-5
84
-94
-64
-72
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-42
50
5
-80
-4
-29
36
93
15
2
-25
-20
-57
-15
-21
20
36
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
26
17
50
-30
38
-33
103
42
15
13
-65
41
-9
2
98
12
46
114
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
10
-37
11
-35
-26
40
32
23
6
-51
-19
-72
60
-27
-60
-21
162
-114
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
22
-31
53
3
51
91
-53
34
-33
-49
-26
3
66
-33
-44
-120
-42
39
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
-33
35
3
-12
-37
66
37
-18
57
22
-34
7
1
-41
77
-2
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
120
-35
30
43
44
56
36
-15
-5
40
29
105
8
5
42
37
-78
-8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-23
-26
-21
28
26
-26
43
87
-31
-82
-17
37
-90
-35
37
-52
-15
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
59
18
-71
-47
70
31
-15
15
-70
5
58
30
-43
-32
97
24
44
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-81
8
25
-10
-103
9
-24
34
4
60
64
-76
-64
-10
14
99
3
-80
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
46
25
15
72
23
-79
14
101
92
-97
21
57
49
-58
4
-22
-17
102
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
-4
23
-76
-106
-64
36
-52
24
-64
-123
44
41
-48
-75
-42
39
-31
27
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
28
-6
96
-2
51
39
-45
31
-22
72
18
82
28
-88
17
16
-2
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
52
65
5
-3
2
45
-11
-133
43
105
77
28
-3
-58
46
-141
-17
-28
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-35
19
30
-98
-2
-7
15
50
33
-60
83
-36
-4
4
47
-23
83
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
71
116
-26
-52
-65
17
45
-38
33
163
-31
-28
-1
27
-38
55
-42
-13
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-30
52
-35
-82
39
30
36
-7
-45
66
56
-102
-63
-14
-60
-43
-98
37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
60
82
37
96
-21
-38
36
-16
-21
6
-74
7
44
58
-64
34
84
38
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
18
-30
64
14
29
-69
-60
-52
67
-12
-30
23
-85
-73
29
26
24
-34
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
23
12
0
33
62
17
94
13
-10
72
-4
32
64
-115
0
83
42
41
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-24
-89
-61
64
84
-66
88
39
-1
-76
80
6
-1
4
-44
53
50
47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
160
-80
84
-97
21
108
77
-31
-61
-24
23
0
-78
-43
4
-24
63
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-16
133
99
18
6
88
15
49
-48
-48
84
-16
26
-47
61
40
102
34
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-14
-32
60
-29
18
-104
-52
46
177
-1
-18
44
15
21
21
24
80
29
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
84
-65
28
-48
89
9
-134
33
25
-56
7
95
22
-70
40
71
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-12
22
25
16
-20
35
56
-73
-30
51
50
-27
69
69
-30
-53
66
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-18
-2
44
17
-74
-4
57
150
-159
32
21
75
-1
-1
113
82
-54
15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
50
-3
-33
48
10
-72
22
3
-35
-56
-10
41
1
26
26
44
25
5
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
12
-2
-19
-93
20
-35
-19
12
-54
34
6
57
60
-79
4
99
22
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
32
-49
20
50
-22
-76
-27
-19
43
-24
-108
4
27
34
20
-8
11
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-41
-18
-14
5
-22
43
15
9
4
102
57
25
-125
61
31
16
-12
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
60
57
-34
-31
-25
40
-34
-31
34
15
-113
166
17
-44
3
26
24
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
-63
-16
19
-61
17
-19
51
6
97
56
-41
39
-5
6
-81
28
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
43
-36
-14
-29
16
49
-34
54
55
-60
45
-3
-31
62
-14
1
70
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
10
72
3
9
-43
60
-63
29
12
25
14
8
-65
107
-31
11
36
92
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-9
56
31
18
-2
74
-28
52
-64
27
28
-32
32
3
-1
-3
-77
-43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-23
28
48
-20
40
30
71
-59
5
22
-96
104
16
-9
-81
51
-9
17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
-2
0
15
31
85
-68
52
42
-15
25
31
-7
-14
-3
-4
-4
83
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-7
10
29
-68
-17
-30
-68
4
-17
12
54
-3
74
-1
-42
-43
67
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
29
-43
63
110
-21
53
23
30
-17
42
66
32
-127
1
-55
-18
9
94
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
10
67
66
77
78
23
6
-10
72
-21
40
100
23
31
-12
106
-38
36
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
-8
24
-4
3
-34
-1
-68
5
-188
-3
-9
-57
22
-106
-49
-40
24
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-63
51
58
-17
44
31
45
66
53
-31
87
5
42
71
-9
1
-3
76
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
70
-54
18
46
45
95
-81
35
-47
33
-110
66
-26
5
108
50
-5
-101
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
14
-8
-12
-55
5
3
-41
68
36
92
8
27
-39
5
138
44
7
28
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
19
22
69
-5
59
-95
35
-18
-20
-108
-1
47
111
-21
60
-30
51
29
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
60
91
14
142
-23
27
85
-29
44
47
-23
-61
83
80
-68
-4
-9
67
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
23
-33
11
26
8
-21
-20
25
-80
-45
7
-17
60
-34
3
0
-24
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
30
-5
-11
9
33
38
56
-47
9
43
19
-42
-42
3
8
-61
39
29
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
50
33
13
47
44
79
1
-29
53
-16
24
25
-14
-17
67
18
98
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
7
26
30
72
86
-36
38
49
13
16
-41
-44
-21
-14
-11
53
80
20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
86
93
14
98
-1
-95
38
30
0
3
30
79
-6
-54
5
-53
10
-29
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
-2
20
38
-50
5
48
-14
59
47
2
-7
16
2
38
55
-43
-12
76
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
62
11
88
-17
-8
-21
-97
24
44
-33
-54
-23
61
65
60
51
-21
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-10
-24
-11
-35
56
33
24
73
41
60
100
-58
96
-14
89
11
6
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
13
37
91
-71
0
-41
13
54
-70
35
-108
-40
57
24
-2
22
22
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
63
-41
36
51
101
43
-104
30
-22
105
4
74
-19
-26
75
89
8
-24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
-114
70
-20
-81
20
17
-76
34
22
-26
-55
-13
48
36
-10
34
88
-12
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
22
20
60
49
9
159
20
17
-58
-31
53
-4
23
-115
-16
-25
24
4
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-82
61
47
-64
-45
33
-28
85
14
0
-26
91
-15
7
11
69
23
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
108
54
-16
33
-41
87
59
1
-9
-27
-37
138
-49
48
59
20
43
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
78
-85
129
-96
2
-3
52
-10
-3
-27
16
68
47
-13
18
13
51
21
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
84
8
87
42
38
32
-1
47
91
-9
29
24
34
-2
-76
16
-37
19
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
92
25
-106
-3
0
28
-4
27
-3
-33
-33
-13
58
26
-6
-24
-22
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
11
-1
156
109
-24
67
58
20
-11
37
-42
-42
-25
44
-65
26
53
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
4
-20
49
-28
-1
76
1
69
-4
-16
110
-32
18
1
10
14
34
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-23
-31
-35
22
17
84
-31
-40
73
54
-82
-15
11
69
37
92
-38
-92
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
16
58
-9
0
32
-24
20
2
0
-19
-13
-70
5
6
13
23
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
133
84
-25
-6
46
-28
-39
-5
4
-50
96
-113
-10
34
-28
66
-32
-145
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
82
-40
-53
-4
8
-44
50
-23
-44
33
-90
67
0
10
-67
-1
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
90
-31
19
28
42
25
-24
42
-78
-6
-16
64
50
44
-25
68
29
126
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
37
106
30
-1
-5
29
45
73
24
13
37
13
80
9
-3
55
50
15
46
6
16
23
51
45
44
25
-5
8
-28
-14
-9
18
-6
54
86
25
63
-129
8
5
-12
57
33
30
19
71
-18
3
50
19
-15
20
-9
54
-33
-39
-59
-96
-1
-22
-21
-82
57
3
-49
-11
-12
8
19
-58
9
-108
-23
-44
18
-57
-3
-91
-18
43
30
39
57
-13
29
-57
21
-12
-103
52
-26
-48
41
59
25
-46
43
-49
-54
-13
39
-28
-18
-55
69
-43
1
38
99
-100
-115
8
61
-56
0
-49
75
-29
-8
-23
30
-61
-28
37
-24
-15
76
-3
4
-63
-17
24
-15
-37
33
34
29
51
-49
-10
12
63
-100
51
46
-45
93
-79
6
35
-2
54
-58
11
24
32
-48
-18
-35
-32
32
28
81
-23
-20
24
79
-4
-8
3
47
15
67
40
36
28
32
11
31
4
14
0
-26
19
54
32
23
43
45
7
71
-46
9
18
11
34
-10
34
-81
34
-37
32
-19
-31
46
21
24
-71
35
18
17
39
-21
33
130
11
-89
106
33
-19
30
-22
-2
-22
7
21
68
-85
-177
12
27
45
47
-23
-6
-35
-81
86
-84
-31
36
75
-85
88
54
-48
77
19
-9
70
19
20
53
41
-44
-5
83
-30
75
-34
-67
25
-67
-21
15
53
36
-60
25
-98
67
-19
10
25
-81
26
-76
-9
-58
7
-13
-5
19
136
-23
-90
-31
122
39
-18
6
10
62
-43
84
-51
21
-13
-34
-50
15
-47
-66
-21
3
-25
40
-9
-39
5
56
-20
2
20
65
-64
0
-2
20
-33
11
15
6
20
-29
26
-10
27
76
36
50
38
104
26
34
53
49
-23
-24
30
13
-2
105
-54
29
17
-19
45
-3
32
52
31
29
-8
108
58
38
-32
13
16
-20
-14
-11
-27
35
-46
17
-27
3
5
34
-46
-85
47
-2
-6
43
-96
-37
-2
-41
-115
86
-53
50
13
-63
107
32
-2
-129
-40
120
-8
-10
18
-1
-23
-68
53
42
24
-9
-8
124
-7
91
-52
-24
90
11
7
-2
-5
63
-25
8
-30
-96
27
77
81
3
-103
43
1
67
7
59
127
-44
-168
4
-42
25
-21
32
4
6
34
-43
-43
28
-36
27
57
17
-44
-72
-85
26
2
51
-11
-23
48
31
-13
-34
64
-19
46
21
-114
-71
49
-47
45
160
-228
-36
19
-5
-16
-22
-2
-1
0
-17
36
35
97
94
-3
3
-15
112
41
-26
-8
88
-14
84
-44
45
12
-15
129
27
25
-12
-5
-11
-8
54
43
119
14
13
-61
26
-14
135
9
34
14
78
6
-26
-10
73
-48
-15
44
32
-5
-5
-13
50
-19
-64
-20
25
23
-69
47
29
31
-74
-9
-30
-17
17
2
-32
31
14
33
93
-86
-69
45
-24
-33
-126
26
144
-55
-3
-47
40
121
-10
107
46
-7
23
-42
-162
144
61
89
20
52
95
103
20
15
27
-105
-31
14
43
43
-2
-40
-47
10
-1
61
89
9
5
-29
-21
9
29
4
-11
-18
80
-7
-20
9
-57
15
44
-27
-6
39
-3
-51
-22
90
-27
75
-55
93
-20
77
40
-50
4
14
66
-78
1
45
-12
-48
5
17
27
-16
37
-4
18
2
14
-11
-5
16
71
-29
20
-15
24
59
32
23
-11
29
8
14
-36
6
-6
75
-7
30
6
31
67
59
-29
35
-20
12
2
7
26
45
10
67
-43
-3
2
31
12
8
-39
13
37
-49
21
-83
3
-12
55
12
-48
-32
23
-12
55
-5
20
41
15
8
-66
5
-148
-38
-1
-27
53
-7
-18
1
-27
35
-102
31
-13
-28
-29
52
-21
13
-17
109
107
-43
-70
-27
-6
27
67
-70
-8
-26
-15
-14
29
25
37
7
7
51
-9
-11
34
-12
-122
45
-35
46
65
57
97
-132
-36
-16
19
-52
13
0
39
-1
-25
18
6
-58
69
-25
22
13
-13
-54
-6
-33
3
-48
-31
17
-76
50
-37
89
-15
-29
-6
-96
24
42
-34
8
6
110
27
9
44
25
24
12
1
0
-13
-14
5
-23
-19
-25
23
15
48
27
13
4
39
52
39
86
44
74
77
-90
94
-12
41
-12
31
42
78
83
52
-56
13
47
43
79
5
62
18
41
15
52
-44
-19
18
-41
42
64
-10
-109
-36
-137
67
-2
-26
27
34
164
-20
-63
-77
-40
-47
-41
62
122
-70
5
-86
-27
89
61
-20
6
-4
-114
61
-81
21
77
130
-34
85
-8
-44
46
-11
104
-53
7
-4
-19
-43
37
12
-30
2
93
8
28
-33
-38
-41
55
-43
36
5
0
13
-62
-75
-3
43
-68
38
54
5
-1
-25
5
-29
-2
2
116
-31
-34
-10
-9
33
-64
19
32
59
-51
-32
51
-68
17
-9
17
21
-19
109
88
-53
-51
-23
29
-67
28
-22
16
-4
-5
-84
0
-4
4
17
1
0
0
41
10
-10
-65
21
53
7
49
53
-17
41
91
14
44
-15
36
-6
-15
-14
37
-21
-32
32
27
9
-42
28
53
42
52
76
2
34
-11
56
58
32
37
14
78
78
23
-67
-63
-65
-96
-1
-38
38
40
-172
-20
7
37
30
-77
-22
-39
12
-56
-10
12
13
11
-87
-12
-20
62
-42
99
-28
-56
-26
-6
38
3
-19
-140
16
17
-10
13
14
25
-33
-19
-48
-23
18
18
98
-8
-10
2
-56
-13
8
42
-34
4
-43
-7
19
5
-13
13
-27
56
-22
9
-14
-59
39
94
11
2
63
-20
-28
0
-17
-15
3
40
21
-43
6
84
-34
2
-44
13
126
-44
0
-13
80
-25
13
3
72
25
41
9
-34
33
-26
-36
-3
-16
-14
-3
27
-13
6
-4
3
-4
-10
-13
94
26
-33
-44
-54
132
5
13
-74
-144
15
11
42
79
6
30
-53
49
91
81
-1
-14
13
27
49
28
5
57
21
15
8
16
55
11
85
-139
-22
15
41
66
-41
49
-16
-80
-21
-76
-16
6
138
33
64
42
34
67
16
14
-23
4
42
32
39
-34
-36
-25
14
-59
-11
89
-48
8
33
-2
-73
-27
86
44
75
16
2
-23
-35
-89
10
54
-45
56
11
82
-43
-21
38
-21
100
-58
-13
-46
75
109
-73
-9
-16
9
33
-27
1
58
-15
-20
56
0
-13
51
-71
2
5
37
41
5
21
-4
-15
59
-60
23
-7
52
84
-39
-10
6
12
-15
-11
-2
-14
-26
85
-12
4
12
-4
-2
-68
25
5
-11
3
5
1
5
-5
2
-7
-4
-1
2
-10
17
12
16
10
14
21
85
84
-3
-38
-7
-13
85
-36
-36
-53
35
14
-26
6
-27
-112
7
30
50
11
-20
-5
-6
-17
10
-17
8
60
-11
32
-55
-50
-43
32
-65
86
-23
-32
6
18
-3
56
-42
2
-5
20
57
-109
-7
-27
-49
1
-84
-24
19
4
13
-64
19
14
-5
-16
-37
-69
34
53
45
-9
-18
41
16
-100
-27
-55
-2
23
-44
0
53
-12
-65
11
40
-55
13
-8
-10
111
14
-54
-105
52
9
56
109
-49
-2
-37
47
39
-37
10
7
-27
-20
76
18
17
70
-108
-27
-6
-7
61
-21
-77
-3
48
19
18
65
23
93
30
11
-26
-28
62
129
-7
-13
-9
29
65
-45
-37
-4
46
89
-81
49
-32
-5
41
-72
-8
22
20
118
-62
18
24
-38
14
0
5
-1
13
23
-23
-54
103
-56
-38
21
-3
1
8
-7
98
-3
17
12
64
-30
71
-72
42
29
-63
38
-18
25
31
-24
0
-11
132
29
-15
-32
-89
-30
-69
-9
18
11
97
-32
39
-13
-68
25
-21
-23
-25
-7
-14
10
-37
-86
-12
14
20
69
72
-53
16
-8
39
5
-30
1
-67
57
50
-46
46
-10
36
-34
-50
7
-2
-6
-95
18
-21
-7
38
-71
16
-123
11
41
-6
-7
144
-8
-105
-16
2
-9
64
32
-23
4
68
114
-59
8
-8
-20
17
-4
46
0
13
64
20
3
-4
17
-4
23
-5
-2
-14
89
50
-5
-43
79
47
-17
28
-5
-4
40
14
57
-16
20
97
-41
-15
5
62
74
37
3
6
21
-29
39
-3
-11
-18
-23
1
31
0
-6
-2
-27
44
1
25
28
-42
23
39
-3
11
11
-31
15
33
-8
7
-39
17
22
32
33
-39
-31
10
75
-7
34
-36
-43
77
-39
-46
153
113
-14
-65
-36
-25
18
0
-27
-62
-7
-20
-2
-19
-13
4
-12
13
8
53
7
135
-21
-41
61
-31
46
0
9
-67
39
-42
18
44
24
59
-40
101
62
1
-39
-43
-7
-25
-8
-3
-95
-85
-10
20
40
103
15
5
-88
-2
3
-30
-9
-7
-2
40
8
-3
-57
24
-113
145
-52
25
-2
35
113
139
-44
-9
60
79
28
7
10
-39
78
6
5
-5
28
42
-1
0
0
-36
11
-112
-79
10
-24
107
93
-21
14
28
-66
41
30
-20
33
-32
4
27
21
53
30
84
-21
-12
-5
96
-29
-15
4
7
-65
2
-81
5
-8
8
-49
-22
0
-18
5
-2
-7
-2
-93
-12
-32
53
-6
-6
-3
84
15
71
-35
-21
137
119
0
16
-69
72
-65
13
26
-65
-82
18
123
-40
73
21
122
-10
-58
120
-9
61
18
68
6
-9
20
-78
-29
33
58
-14
-45
12
-28
-22
-34
57
122
1
20
17
-84
15
37
15
2
-16
45
-81
87
26
-82
50
-19
-2
-19
28
-24
-16
14
4
-35
-97
-44
5
-44
-4
-13
60
35
-5
-22
-3
-17
-28
-6
2
16
-50
10
-6
-6
-11
-60
-23
61
1
-33
133
-18
-31
3
-2
-66
66
3
-5
-42
-28
16
28
0
22
-58
46
68
0
-7
47
-48
3
12
75
-25
-8
-53
-24
4
37
-24
13
13
41
22
-53
11
-3
6
77
16
45
3
0
-14
-53
8
2
1
46
3
-7
-23
-25
11
-26
-31
-43
95
-8
73
-5
-103
-76
-16
-19
62
-5
-70
21
-88
26
63
9
15
22
35
-16
-54
-120
38
42
99
-60
101
-4
18
55
-67
-34
-7
7
23
-49
17
5
22
28
-29
22
30
35
45
-57
21
-54
17
185
119
-34
10
12
-9
4
67
28
24
37
-111
64
27
12
18
-15
34
-39
20
47
16
37
-18
0
67
-25
61
7
22
12
17
26
14
63
9
9
-147
-36
57
-4
24
38
38
23
0
65
76
40
-112
-21
23
-173
61
-9
1
23
-87
-26
-25
40
-9
9
-31
20
-1
-104
1
-15
35
-17
87
-24
-43
81
11
50
42
31
-17
8
41
73
-11
80
-1
-2
5
-61
24
5
6
85
31
-22
-19
-2
-54
-43
29
5
0
18
-14
0
-8
47
25
87
-59
-45
-7
-32
39
-41
-117
75
-6
-17
69
51
-60
65
27
88
17
-4
-20
-23
18
-78
-26
38
-13
27
-96
39
78
-22
15
5
53
89
-99
-6
34
-16
19
-3
-48
52
102
20
6
-35
-51
-186
38
8
75
24
11
19
35
-15
61
72
28
-11
13
57
-48
-59
11
-1
-13
-32
34
3
26
55
69
96
-28
0
-167
2
5
55
163
-2
-35
6
81
-14
-6
35
-11
-19
-17
3
-39
6
43
-35
0
-37
60
5
-9
13
37
19
-85
1
-2
-7
-28
58
27
2
-20
38
-25
-8
0
-30
10
-2
-12
-23
-102
28
3
-12
13
-22
-13
1
-13
4
8
-72
34
6
-23
-3
-18
104
41
11
-3
58
11
31
1
-2
87
-3
-13
0
3
21
4
-7
-1
142
71
0
-144
-90
34
-33
-45
-14
46
-53
62
-31
25
12
13
-24
36
-12
2
13
33
4
45
-48
64
-24
-76
62
-18
-72
64
99
-53
-157
91
45
-33
23
16
-124
51
-4
-7
-67
135
6
48
22
-126
-61
36
17
35
-57
0
14
-27
5
-51
-40
10
6
35
23
55
63
28
79
3
4
-7
26
-4
-12
67
-29
54
-5
10
-52
-40
61
-28
0
-26
95
-79
-71
0
-44
23
9
4
4
6
41
-22
-14
7
-22
-58
10
57
2
-22
-9
37
-5
0
14
-33
76
-27
51
0
-6
44
21
-1
31
4
27
76
8
4
4
-21
34
-1
1
19
77
40
39
-14
-27
12
13
-3
-9
-26
37
40
14
0
-11
-9
28
-23
37
-41
31
-40
-37
3
5
-12
-6
2
-16
62
5
-19
-13
69
8
-64
-84
-30
-1
36
-39
52
1
-10
-75
13
82
-4
-45
-47
37
31
-14
-109
149
23
-22
-49
21
80
-39
-127
48
-14
-36
26
12
-6
-53
24
23
-16
-80
-3
-42
-14
-65
97
-8
25
-12
32
59
-80
94
5
-41
-4
17
-1
29
-12
-39
-177
-19
9
81
91
66
18
-17
43
16
17
-82
40
-5
19
-2
-21
13
-28
1
12
14
57
-6
0
-8
51
57
3
0
9
50
8
20
2
-5
48
17
16
10
14
-62
3
1
-1
1
2
-24
8
0
-4
-7
19
-9
-3
10
-75
57
10
28
-5
18
-6
-5
-6
4
79
-116
-15
-6
97
-2
46
10
-1
0
3
-7
7
-9
-14
2
-45
8
3
-1
3
8
8
1
0
-10
-17
-32
-1
15
-21
37
34
-17
-31
-27
-40
-10
-26
-21
22
49
-67
85
170
106
-135
-38
-46
12
-24
37
-66
10
-47
-8
5
-21
-4
-19
-69
40
-36
-39
2
-21
-61
-53
-1
6
42
17
56
69
67
-32
-6
61
17
104
-31
-21
25
-31
95
-21
-56
3
51
-9
105
-57
-10
27
12
47
73
-22
20
105
47
-11
-49
-44
-35
83
59
23
0
22
-18
40
80
67
-82
9
28
-9
-44
0
-10
26
45
-7
38
-18
89
34
-71
28
-7
7
-66
-59
10
34
-85
95
-3
-91
2
-44
-9
-3
-30
-30
91
80
-6
80
94
26
-54
-37
52
100
-60
19
78
-26
-5
70
-10
123
23
115
-99
-15
-11
93
9
-27
5
63
-58
68
-19
50
31
1
70
34
4
-21
64
83
32
-55
-8
16
34
42
-71
29
-52
-46
-22
47
58
71
32
-56
33
68
37
-24
-33
10
28
-13
33
117
-47
-40
22
23
23
7
-50
-32
-1
14
1
21
-12
-21
23
-44
0
16
122
19
93
-24
-9
-116
110
73
52
97
50
-80
41
-19
-67
26
-45
53
-3
-92
59
16
12
99
58
-34
-104
-6
3
-65
17
7
16
16
19
10
-4
3
4
-21
33
60
25
-14
-144
63
49
5
-4
22
86
13
-32
63
118
59
-23
-6
7
114
65
-39
-138
-5
-18
5
-15
82
6
66
73
-100
55
15
-23
-43
27
-17
1
10
71
-93
12
33
16
11
114
53
69
23
-3
7
84
-88
70
-30
60
12
-32
-3
-52
66
41
-19
21
28
-25
35
-11
-87
112
84
-109
7
-11
-6
2
-37
-10
0
-41
-11
128
-3
6
-17
-5
26
-4
-3
-66
-29
-6
14
-8
-37
75
-34
20
9
22
-72
-80
-6
68
23
19
-9
6
-99
-51
137
84
-14
-17
-41
-45
-8
0
-35
-20
43
92
35
-22
-37
47
27
0
-10
-34
130
-21
-9
79
-57
-11
40
-11
26
-32
20
-18
20
191
61
-10
-39
2
33
48
51
17
-22
-5
2
31
-15
-1
-12
32
4
17
7
-39
55
21
80
-101
-98
14
31
9
-17
-14
-14
-22
22
11
99
-46
40
26
26
14
47
-10
-6
-3
-51
-1
-20
52
0
26
-4
2
14
-8
80
49
4
-2
93
0
9
115
-52
-26
98
-3
17
51
-48
29
72
56
-75
-11
81
8
63
15
41
-23
103
40
19
50
31
8
11
-12
74
4
31
-50
24
16
26
-60
33
11
-16
6
-64
-21
-33
-15
49
6
62
-60
-2
-47
-8
-45
76
8
43
25
-23
15
-7
54
-23
88
10
15
-21
-82
-14
18
5
-13
55
-6
-22
-1
13
13
66
11
3
23
-9
58
71
9
6
34
-45
22
13
86
26
-64
56
-14
54
25
-6
4
1
-44
79
12
-84
-76
16
0
34
24
-1
-3
-23
-13
-13
-1
-44
53
-55
-27
15
48
62
147
-81
8
54
6
-45
-49
-31
-61
38
16
-8
-9
39
30
65
27
-6
-13
95
26
64
35
-23
34
-17
15
4
2
63
-42
-28
0
-9
-61
20
14
31
-11
37
10
-29
-38
-87
43
93
59
24
-118
7
112
69
85
57
35
-78
116
15
16
46
-39
-3
39
-32
-28
72
-45
29
-8
43
-33
-22
-13
-64
15
-8
31
66
21
68
-91
38
37
139
25
-98
11
-73
-33
-24
58
-80
7
36
74
-45
-97
-23
-33
-19
-20
62
4
-14
-45
-31
17
-3
76
-80
-7
-10
0
187
-62
105
42
-71
113
15
47
22
-17
13
-21
-8
99
25
6
-71
-16
65
-12
28
67
-67
-93
29
-8
10
46
30
-17
-50
47
37
15
-17
-1
20
16
24
0
144
14
59
20
-104
0
-28
-11
51
61
38
-12
-32
33
-44
-35
35
82
14
1
7
46
-12
67
40
-97
21
76
-49
42
-30
25
-24
-19
-1
11
-6
-1
51
7
-2
29
93
160
15
81
42
35
94
-48
88
131
-11
-18
-18
7
-151
25
81
19
87
6
109
63
4
121
-17
164
-65
39
-77
-68
65
-18
81
-14
-50
125
31
17
6
2
-79
-82
51
91
60
-61
-62
-37
-97
26
90
-9
-15
108
-17
45
-26
-4
0
9
21
74
10
-96
71
-135
-40
-5
51
-71
15
-8
13
25
-37
11
-4
-2
-5
64
4
36
-24
-43
58
-3
3
-7
-17
81
-13
-18
9
31
-34
-9
-10
-8
27
-32
-6
-36
-11
-78
51
1
17
1
-37
17
55
-3
1
3
9
-26
3
1
-86
43
27
-4
-14
7
18
-22
-10
-41
39
77
60
-6
42
-85
132
-98
129
-40
-11
-61
60
17
33
-81
108
18
-10
-8
-3
60
121
-82
-15
16
12
34
-4
-3
-27
39
64
0
91
62
22
-49
45
61
59
96
27
40
-43
-23
-16
36
26
11
16
48
-3
-12
-31
37
15
69
-10
-15
12
-22
44
21
-7
14
-17
-1
64
0
110
8
-2
-104
-89
-187
56
83
0
6
11
46
8
4
13
-67
-22
0
5
0
54
16
8
44
6
-12
56
4
-22
-2
98
34
-70
-3
-5
11
17
7
7
2
-70
138
59
19
10
-14
-30
85
-4
0
-30
57
42
-20
18
-4
87
19
0
1
-3
133
25
-95
18
47
-12
-2
27
0
1
42
62
21
29
3
6
-5
1
0
155
-32
-67
-59
-57
-36
21
30
47
-3
-1
-50
-28
63
23
-7
-7
27
64
-9
127
-7
-35
-27
-39
38
-4
5
-59
1
-106
7
120
-23
28
14
2
8
-63
0
57
110
-42
72
8
-11
2
-9
43
-61
-57
-12
49
122
-26
85
11
-15
-4
34
-3
-17
34
55
27
-10
164
57
3
-33
-80
12
-44
35
23
2
-54
-6
-4
22
24
-28
26
-19
2
38
7
42
-42
4
-8
-41
-45
-31
1
74
31
-47
-68
0
4
14
-49
-38
0
3
-29
74
-4
3
3
39
-7
9
0
-7
-52
1
-5
0
11
100
37
7
-2
109
-12
-105
-8
1
31
-50
144
-15
-2
16
-67
28
8
0
54
-15
-67
-1
3
-28
31
26
-4
0
-2
85
-4
0
-1
-4
-24
19
-3
-12
64
53
12
2
-22
28
4
34
-56
0
-2
29
23
60
11
5
16
8
-9
1
21
13
72
-12
-5
-12
-8
114
4
5
2
0
-12
-9
5
0
0
-14
-1
0
38
-5
29
58
43
-13
-92
-10
-6
-17
49
-98
55
38
130
2
71
-16
38
-20
3
36
-25
9
2
-20
-20
34
25
-8
-2
-5
107
-17
-24
-3
-26
-14
14
-9
-23
52
18
53
-35
-13
115
-31
4
22
-61
26
-81
58
16
53
6
12
3
5
-11
-211
92
-15
90
72
-48
19
-2
4
59
-58
-75
-8
0
-14
10
-29
13
0
72
75
10
-59
-46
91
-10
-26
21
-32
4
17
-19
9
-7
-53
103
91
-21
0
3
31
-81
70
41
-54
5
47
-34
4
-2
-29
-20
107
-16
6
9
-29
0
0
-15
44
7
134
3
-8
-24
96
37
56
-51
-12
6
-28
10
-16
15
83
24
0
26
67
40
-38
-24
48
-27
68
-109
7
66
13
-48
61
-36
-11
-1
13
-45
0
0
34
25
-24
69
22
69
2
65
9
8
103
82
-50
79
49
-80
19
11
36
38
23
-17
89
-12
71
-39
71
63
-69
-32
8
18
14
10
-38
91
81
61
-47
7
0
36
62
-26
7
-80
116
-31
22
-1
14
116
6
15
-27
-23
-10
0
-4
-8
12
54
-83
0
-15
-90
-11
63
20
15
40
-37
-8
7
-4
-9
-15
-9
-4
-30
122
22
23
31
37
38
49
54
-20
54
-78
-6
-24
20
81
-7
44
-49
-5
19
56
84
-49
5
14
-7
39
-7
6
39
-7
-5
19
0
-13
-8
-9
16
0
-20
51
-11
-105
-27
-101
106
-115
108
7
-29
9
-51
58
19
48
161
-5
-2
16
6
15
-10
84
13
112
-101
7
-72
2
1
48
12
-9
5
-13
5
40
13
6
-137
55
138
-39
103
60
24
108
-31
-79
22
68
-31
6
35
-8
6
64
-37
66
-36
37
-86
85
93
-74
-50
83
72
-58
-8
1
36
75
70
-24
34
4
-9
-21
43
-72
-42
-2
-32
106
18
-49
-7
1
-2
-8
-3
41
-4
71
46
-28
34
0
-111
184
67
17
-16
-14
-81
49
3
0
-3
-5
-5
-42
26
9
9
0
0
0
57
36
-7
-34
-20
53
30
-24
-14
-1
-39
-23
72
-20
-3
58
54
37
4
3
38
33
-34
118
-28
-65
109
49
-20
1
56
100
14
6
-14
3
-4
-46
23
18
79
-18
17
14
91
42
-42
11
-37
-12
-14
49
39
-46
-68
3
-71
-8
55
-1
54
36
-124
114
-57
14
38
12
-8
-13
11
-7
-49
76
-13
-15
0
19
22
-4
-8
-1
16
-33
106
38
62
12
-13
87
-48
22
4
31
40
8
-31
-44
81
46
91
89
-36
69
70
-118
-45
107
4
6
91
47
68
38
76
5
-14
-59
2
-12
-49
-83
11
-12
0
-4
58
59
-17
-7
-1
31
-82
14
1
18
-56
-58
-36
-1
-6
71
19
42
-11
35
51
-4
16
2
0
-15
24
-7
-1
-10
77
0
-25
0
-25
76
-40
8
4
-13
-17
15
16
-5
19
6
35
-33
-7
13
7
59
-8
-1
1
-10
11
-4
-2
11
6
115
12
9
-11
51
24
-1
3
15
76
-9
9
-5
-38
28
-32
-26
-9
48
20
-2
50
-2
-5
31
28
-17
20
17
-47
7
-17
0
-11
-32
33
111
-17
0
37
-94
-43
51
2
9
95
13
5
2
-6
3
20
3
-122
-23
-2
76
-3
8
-82
111
-17
-21
72
-21
-13
20
-36
68
-20
0
-66
22
-44
75
5
-78
-4
12
-27
18
75
14
15
-1
-38
99
59
-22
77
0
57
13
13
3
105
-60
-37
-34
-33
-2
-8
23
24
-24
-10
76
14
-4
14
-31
9
5
0
81
-21
-20
-17
85
-60
-16
-4
9
-12
8
38
-6
-4
12
-5
-2
-1
0
33
12
-13
8
24
84
-86
117
56
-43
-80
42
78
75
-11
-37
-22
29
7
0
41
-30
-21
92
71
-53
12
40
-38
8
-2
32
-43
25
10
0
22
-16
-14
3
-42
25
-7
-11
43
-32
153
47
-128
-6
27
-21
1
76
-112
-12
-103
24
139
0
-4
7
18
42
-30
0
36
14
35
53
12
79
-7
65
-60
6
-27
-6
29
-4
13
33
-19
31
6
69
-54
113
-39
17
14
79
-11
41
95
5
18
81
-66
57
-93
81
21
18
10
116
-3
79
-48
71
-10
45
100
-15
-37
6
27
37
41
8
-17
-53
-36
-46
-14
70
67
-73
-13
3
1
20
51
-2
-4
-54
76
-26
-27
-3
-2
-67
19
17
0
4
-37
40
-39
1
-3
2
-45
11
1
-7
-18
-28
2
0
-16
-116
111
120
9
-27
139
21
-37
-32
6
34
74
29
1
-15
-9
5
38
-1
0
85
29
68
-6
6
-49
30
91
3
6
-3
47
-11
1
-4
47
-10
5
5
-43
69
-9
-29
13
52
-47
-47
-37
40
7
103
48
-66
-20
4
-56
19
23
-1
11
37
51
43
10
-6
60
0
-18
21
5
-4
8
2
40
11
22
-61
22
-2
37
61
1
33
3
21
-90
78
-45
105
10
4
10
77
-49
105
93
13
13
-76
-23
-11
135
51
-61
3
5
19
98
-33
-15
72
-102
73
50
-1
21
-18
21
30
-14
34
-17
62
-13
62
-26
12
-2
0
-36
52
57
-14
4
-8
47
-25
20
3
8
-24
-13
36
9
0
-3
14
-5
2
-49
50
-18
29
-15
6
-7
2
-7
-2
-14
-41
65
42
5
-46
23
87
-20
0
2
67
24
40
-41
8
18
-28
-2
2
6
-59
15
-18
17
-6
15
0
106
1
2
-53
74
30
2
10
-7
-27
14
-4
96
75
6
21
-35
-13
-11
-63
-20
-4
-11
-77
58
-7
11
15
-13
-10
-18
3
-37
-59
40
-41
94
0
6
24
17
28
26
1
13
37
3
0
-37
-6
-9
-13
-25
-9
-52
41
44
1
-62
-20
83
-37
-26
26
-63
92
20
0
-13
-22
-43
-4
-17
-56
22
55
9
17
68
45
46
-18
63
68
-105
-62
-44
0
31
-30
19
7
0
72
-1
-96
-6
1
26
-3
-2
-1
-1
-1
21
2
0
-4
-29
-50
-1
0
0
1
-12
-14
0
0
9
-4
0
0
0
3
-65
70
5
0
-14
13
0
0
-5
-27
-34
75
-9
6
78
9
-73
6
21
-58
4
0
2
-5
31
21
10
1
-8
-15
31
1
7
9
-20
-36
-6
0
18
27
115
28
-1
8
19
9
6
0
0
18
-107
-9
-2
2
-26
-143
1
-3
9
41
12
-10
-11
-5
20
26
-18
1
1
56
-6
51
6
-7
84
-27
26
0
-13
42
25
-6
19
5
11
17
60
0
-60
-68
164
-75
-46
-3
34
-60
-26
34
-1
-138
82
92
-47
6
-26
-2
-16
14
0
85
17
-5
30
28
53
-23
-47
39
0
-5
38
-68
46
0
10
-38
-60
27
2
14
139
53
38
0
0
25
38
59
0
0
5
-11
-127
0
0
-79
-126
56
0
0
0
-13
-6
0
0
8
124
-3
0
0
21
-57
3
0
0
45
-29
-62
0
0
-40
-45
-22
0
0
-6
-12
27
0
0
2
47
-2
0
0
-22
57
13
0
0
21
30
3
0
0
-4
-41
0
0
0
-38
15
-7
0
0
40
-46
-7
0
0
118
-57
-4
0
0
16
43
-22
0
0
-21
12
-11
0
0
-48
16
0
0
0
5
-12
9
0
0
-8
-15
19
0
0
22
-2
0
0
0
-12
5
0
0
0
-6
-22
-34
0
0
0
-8
-13
0
0
-3
35
0
0
0
7
-1
0
0
0
-2
3
2
0
0
10
-7
0
0
0
-26
-28
1
0
0
-3
0
0
0
-67
74
54
15
0
0
46
100
28
0
0
-4
-41
67
0
0
-50
70
-17
0
0
38
18
110
0
0
-23
-101
-13
0
0
-77
1
-106
0
0
44
-65
-47
0
0
5
-38
-32
0
0
-41
-36
32
0
0
-60
24
-1
0
0
-45
23
-13
0
0
-63
-3
9
0
0
-39
16
-1
0
0
-17
-27
7
0
0
22
4
-33
0
0
-6
57
7
0
0
-4
-43
4
0
0
-4
16
2
0
0
-2
-10
-2
0
0
-15
-8
-1
0
0
1
-54
3
0
0
1
-4
-3
0
0
1
3
0
0
0
-13
21
-3
0
0
-1
-1
0
0
0
-7
0
0
0
0
3
-17
0
0
0
23
-2
0
0
0
3
0
0
0
0
-5
3
0
0
0
-4
-4
1
0
51
-48
6
2
0
0
-34
-37
-8
0
0
-97
39
70
0
0
128
23
2
0
0
-7
22
-5
0
0
-3
-69
28
0
0
-65
10
40
0
0
48
-14
13
0
0
18
4
-57
0
0
58
17
-20
0
0
81
4
35
0
0
61
-36
-6
0
0
33
-15
4
0
0
-55
7
0
0
0
-21
34
8
0
0
-24
55
-26
0
0
-15
30
-37
0
0
2
-10
-9
0
0
-14
16
7
0
0
3
15
-1
0
0
-33
16
-1
0
0
0
-10
4
0
0
4
-14
-5
0
0
7
29
0
0
0
-17
19
-8
0
0
1
2
1
0
0
-3
0
-2
0
0
2
0
0
0
0
-7
-2
0
0
0
-4
3
-3
0
0
-6
-8
0
0
0
0
0
0
0
72
48
-69
-40
0
0
42
28
-11
0
0
-46
43
8
0
0
-25
69
55
0
0
171
21
-21
0
0
1
76
-12
0
0
-17
-43
26
0
0
3
16
-8
0
0
10
-32
-6
0
0
-17
-26
-14
0
0
-50
-3
4
0
0
-40
38
1
0
0
70
-1
0
0
0
25
-9
-1
0
0
4
4
1
0
0
14
12
-4
0
0
15
-3
3
0
0
0
45
26
0
0
4
0
0
0
0
13
17
1
0
0
-10
10
-2
0
0
1
-23
0
0
0
-18
3
0
0
0
-2
11
0
0
0
-9
0
-8
0
0
0
0
0
0
0
-1
-2
4
0
0
0
44
0
0
0
0
0
0
0
0
-3
1
0
0
0
-1
0
0
0
0
-1
-5
0
0
-23
-17
-50
-94
0
0
-97
-66
-17
0
0
50
-29
12
0
0
-10
-41
20
0
0
-20
2
86
0
0
-28
-37
-80
0
0
-88
141
37
0
0
-106
-9
17
0
0
48
73
-21
0
0
-72
-50
27
0
0
17
-46
49
0
0
19
15
-2
0
0
-32
-57
-24
0
0
45
-12
2
0
0
-22
-7
26
0
0
-6
-12
72
0
0
48
-4
-57
0
0
-13
-4
-5
0
0
5
19
-1
0
0
1
7
0
0
0
-10
-20
-16
0
0
0
15
-4
0
0
2
18
-6
0
0
0
2
0
0
0
8
17
-19
0
0
-3
-2
0
0
0
0
1
0
0
0
0
-6
0
0
0
-1
2
4
0
0
0
11
1
0
0
-3
0
1
0
0
7
-1
1
0
-52
101
95
-46
0
0
-37
-2
-46
0
0
34
-50
10
0
0
39
46
27
0
0
3
1
-61
0
0
-78
36
-43
0
0
59
-12
16
0
0
-23
28
0
0
0
7
17
-29
0
0
-69
-65
-48
0
0
23
8
-3
0
0
-17
-17
34
0
0
32
-20
18
0
0
41
31
3
0
0
58
-20
27
0
0
-3
-7
0
0
0
-38
11
-1
0
0
-1
-1
5
0
0
0
1
0
0
0
-4
-13
0
0
0
4
-2
0
0
0
2
4
0
0
0
8
-2
1
0
0
0
-6
0
0
0
-3
-1
0
0
0
0
-8
0
0
0
1
-3
0
0
0
-2
3
0
0
0
1
4
0
0
0
-1
0
-1
0
0
-1
1
0
0
0
-1
-1
-1
0
-6
-24
-90
-20
0
0
33
-76
35
0
0
-21
-93
-4
0
0
83
82
-2
0
0
-30
64
9
0
0
-73
53
-27
0
0
-8
15
-65
0
0
58
98
67
0
0
10
6
0
0
0
13
11
2
0
0
49
-6
4
0
0
-18
-22
-5
0
0
-1
29
-9
0
0
-21
1
2
0
0
-50
54
-10
0
0
18
-18
9
0
0
-26
0
2
0
0
0
-7
1
0
0
-3
-3
0
0
0
3
-2
0
0
0
10
2
1
0
0
0
2
3
0
0
-2
0
-1
0
0
-2
-2
0
0
0
29
-1
0
0
0
0
-3
-2
0
0
-4
2
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
2
0
0
0
1
4
0
0
0
0
0
0
0
23
-102
24
26
0
0
54
46
24
0
0
69
-83
-2
0
0
-8
33
-14
0
0
-86
52
-61
0
0
-29
67
51
0
0
38
78
8
0
0
51
-42
44
0
0
30
-11
7
0
0
-3
17
-3
0
0
4
17
3
0
0
-16
13
-3
0
0
7
5
3
0
0
16
1
0
0
0
1
-63
-34
0
0
-1
9
-14
0
0
57
-35
1
0
0
1
4
0
0
0
-1
1
1
0
0
9
22
0
0
0
1
1
0
0
0
1
3
0
0
0
2
1
0
0
0
-4
5
0
0
0
-22
-1
0
0
0
1
0
1
0
0
0
-1
3
0
0
0
-5
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
0
0
0
0
3
-6
0
0
-56
19
-72
-40
0
0
48
15
32
0
0
-63
74
-1
0
0
-9
16
-8
0
0
27
-70
-14
0
0
7
4
26
0
0
-50
-50
-11
0
0
-30
29
-24
0
0
-36
-38
34
0
0
-17
8
-38
0
0
18
-81
21
0
0
-18
9
1
0
0
-19
-9
-43
0
0
8
31
15
0
0
-17
-68
2
0
0
-1
19
-16
0
0
13
0
9
0
0
1
0
-18
0
0
6
-8
2
0
0
-6
20
0
0
0
38
-24
20
0
0
-14
-3
-6
0
0
-10
8
0
0
0
2
1
0
0
0
22
8
-13
0
0
-3
6
3
0
0
6
-8
-9
0
0
1
32
1
0
0
0
8
-2
0
0
0
2
1
0
0
0
4
-2
0
0
7
-5
0
0
-55
-1
17
26
0
0
-14
9
-66
0
0
-40
-29
-6
0
0
-65
29
3
0
0
34
-22
-37
0
0
-16
1
-17
0
0
-14
65
-20
0
0
-38
2
-33
0
0
-15
11
-40
0
0
-8
19
17
0
0
-21
0
-28
0
0
-9
27
6
0
0
51
35
-12
0
0
35
-24
5
0
0
22
-24
10
0
0
38
34
25
0
0
4
-3
12
0
0
0
4
-3
0
0
1
-13
1
0
0
1
-5
-1
0
0
-1
4
2
0
0
0
-8
0
0
0
2
3
0
0
0
4
-15
0
0
0
12
-10
1
0
0
8
1
-2
0
0
0
3
-1
0
0
0
1
0
0
0
-4
1
5
0
0
1
1
0
0
0
0
2
0
0
0
2
2
-1
0
1
-31
-60
13
0
0
-11
-6
24
0
0
23
23
5
0
0
-11
-1
3
0
0
16
-14
40
0
0
4
-86
-17
0
0
74
-5
18
0
0
-15
-23
-1
0
0
21
-9
-21
0
0
-9
-24
21
0
0
-10
25
3
0
0
-49
-2
3
0
0
13
-79
8
0
0
56
1
-4
0
0
33
25
-17
0
0
28
6
-42
0
0
-18
-3
-6
0
0
-1
6
-2
0
0
5
16
-1
0
0
1
4
0
0
0
-3
16
2
0
0
1
-3
0
0
0
3
-5
0
0
0
10
-32
0
0
0
-23
-1
-1
0
0
0
2
-1
0
0
4
-3
0
0
0
-1
9
2
0
0
2
13
1
0
0
0
-5
1
0
0
4
1
-6
0
0
1
-5
0
0
-2
2
27
2
0
0
11
-17
4
0
0
16
-6
-8
0
0
14
-11
-6
0
0
-41
57
33
0
0
14
37
7
0
0
-26
-2
0
0
0
-49
-18
-4
0
0
-17
-14
-26
0
0
45
-8
1
0
0
51
13
2
0
0
-50
2
3
0
0
53
-6
-5
0
0
1
-13
-25
0
0
10
-18
-3
0
0
-26
-18
-11
0
0
-14
3
0
0
0
-1
-5
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
1
0
0
0
-10
-10
-2
0
0
16
7
0
0
0
4
27
0
0
0
12
2
-3
0
0
1
2
-1
0
0
-5
0
0
0
0
7
-8
0
0
0
1
0
-1
0
0
-2
-2
0
0
0
0
1
0
0
0
-2
8
0
0
21
61
-65
-6
0
0
-2
1
-61
0
0
-32
57
-17
0
0
-24
-44
7
0
0
13
16
-8
0
0
18
-30
-13
0
0
-25
24
-2
0
0
6
-22
7
0
0
-32
-20
-20
0
0
-10
45
-88
0
0
37
3
10
0
0
8
46
7
0
0
-5
93
20
0
0
16
-27
52
0
0
66
23
106
0
0
-42
-7
-7
0
0
-35
13
-19
0
0
1
0
-1
0
0
9
-6
-4
0
0
2
-18
-1
0
0
1
1
-6
0
0
-1
5
1
0
0
-4
-11
0
0
0
3
6
0
0
0
-2
31
-2
0
0
-2
2
-1
0
0
-3
16
-1
0
0
4
0
0
0
0
14
0
2
0
0
1
-4
1
0
0
24
-10
0
0
0
0
0
-3
0
16
34
-28
-29
0
0
-131
-11
16
0
0
-8
9
17
0
0
-4
-9
7
0
0
-57
-34
-10
0
0
-72
61
33
0
0
144
-19
2
0
0
-15
-44
1
0
0
-14
-39
8
0
0
-48
-8
-15
0
0
25
-15
39
0
0
-8
39
-5
0
0
49
-10
-11
0
0
18
-12
29
0
0
-17
-6
-11
0
0
78
24
-10
0
0
18
2
-3
0
0
-1
0
1
0
0
-1
1
0
0
0
-8
-11
2
0
0
-16
3
-2
0
0
-7
-2
0
0
0
7
1
0
0
0
0
-1
-1
0
0
4
-1
-5
0
0
-3
3
1
0
0
0
0
2
0
0
2
0
0
0
0
0
1
0
0
0
3
-6
3
0
0
0
3
0
0
0
5
-16
4
0
80
6
-29
25
0
0
49
-50
-6
0
0
47
17
4
0
0
23
10
-1
0
0
6
8
-29
0
0
92
50
-4
0
0
-27
15
-2
0
0
0
-18
-2
0
0
-46
-38
13
0
0
-34
-20
-28
0
0
-11
49
-4
0
0
42
9
21
0
0
-1
62
-48
0
0
2
53
-16
0
0
-59
62
62
0
0
-51
-77
-24
0
0
-19
1
-2
0
0
0
-3
4
0
0
-3
-7
-1
0
0
0
-3
0
0
0
-8
-4
-4
0
0
1
1
1
0
0
2
0
0
0
0
3
15
0
0
0
-9
2
3
0
0
0
-2
2
0
0
4
-1
0
0
0
-2
6
0
0
0
-1
3
-1
0
0
0
0
0
0
0
7
10
0
0
0
0
-2
-3
0
13
-22
-33
-5
0
0
-28
19
3
0
0
0
-2
-10
0
0
-2
21
-21
0
0
45
-10
1
0
0
37
0
1
0
0
16
-23
0
0
0
91
-11
-2
0
0
-30
-3
3
0
0
8
0
1
0
0
-28
10
5
0
0
38
48
0
0
0
-18
-28
-23
0
0
-3
9
-7
0
0
-41
-66
13
0
0
-11
33
-12
0
0
-18
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
0
0
0
0
-2
-1
-2
0
0
-2
0
0
0
0
0
2
0
0
0
9
0
0
0
0
0
1
0
0
0
0
0
-9
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
20
0
0
17
-53
30
31
0
0
-4
-15
-11
0
0
22
-28
-9
0
0
-3
-20
11
0
0
30
28
-10
0
0
16
-71
21
0
0
-11
13
19
0
0
35
-42
3
0
0
29
59
17
0
0
-9
7
2
0
0
-2
-7
4
0
0
1
1
0
0
0
-24
-3
-3
0
0
-10
3
0
0
0
-2
-16
3
0
0
6
-1
0
0
0
26
41
58
0
0
25
33
-18
0
0
8
-4
-27
0
0
-1
-10
2
0
0
-28
5
-55
0
0
-14
-10
-7
0
0
-10
-34
3
0
0
-5
2
0
0
0
46
-11
-13
0
0
-4
-12
-4
0
0
5
-2
-14
0
0
7
4
-4
0
0
-5
13
2
0
0
7
-43
-2
0
0
-11
-8
-5
0
0
5
6
1
0
-64
-5
64
33
0
0
-13
2
-14
0
0
8
8
-3
0
0
40
3
-6
0
0
-63
19
9
0
0
-12
22
13
0
0
-15
19
0
0
0
2
-9
-1
0
0
-6
-8
5
0
0
4
2
0
0
0
-3
-9
0
0
0
-22
-9
0
0
0
51
-7
1
0
0
-1
-7
-2
0
0
1
8
0
0
0
1
2
-2
0
0
64
63
5
0
0
4
29
12
0
0
4
-13
-7
0
0
-23
-21
-1
0
0
-2
23
-8
0
0
-5
-26
17
0
0
0
-16
0
0
0
-2
2
0
0
0
-20
-34
-2
0
0
2
-4
0
0
0
-5
34
-1
0
0
-1
-4
0
0
0
-27
5
-14
0
0
0
-22
-3
0
0
1
-10
0
0
0
-2
-17
-1
0
-18
17
-8
-1
0
0
12
-31
-9
0
0
9
-31
-12
0
0
-26
7
16
0
0
-50
-14
26
0
0
28
-31
-11
0
0
0
-13
-1
0
0
-3
-26
4
0
0
-40
-12
-19
0
0
0
3
0
0
0
2
6
1
0
0
19
-14
0
0
0
-12
-3
1
0
0
-1
2
-1
0
0
3
-9
-4
0
0
0
5
0
0
0
-17
8
-20
0
0
0
-5
-3
0
0
8
-15
9
0
0
-1
-5
3
0
0
-38
14
39
0
0
18
25
-23
0
0
-25
8
-6
0
0
1
-3
1
0
0
7
7
7
0
0
0
10
0
0
0
11
-17
-33
0
0
-3
-2
0
0
0
-12
-12
17
0
0
0
7
-1
0
0
-4
12
0
0
0
0
0
-4
0
40
-7
-10
-5
0
0
-17
12
12
0
0
1
37
7
0
0
-26
-10
-4
0
0
29
-6
-6
0
0
-8
27
-4
0
0
2
1
2
0
0
-1
-6
-2
0
0
3
-13
0
0
0
12
4
0
0
0
1
-1
-1
0
0
23
-6
0
0
0
-4
0
0
0
0
17
-17
-4
0
0
4
0
0
0
0
2
-38
3
0
0
-24
-3
-3
0
0
-1
-1
6
0
0
-4
2
1
0
0
-1
-9
-1
0
0
-22
4
-3
0
0
29
-23
8
0
0
9
-3
2
0
0
4
-1
1
0
0
-19
7
1
0
0
10
-1
0
0
0
0
-6
0
0
0
10
-1
0
0
0
0
0
0
0
0
2
5
0
0
0
2
-2
0
0
0
-4
10
0
0
-67
-36
13
-72
0
0
-14
-10
-3
0
0
0
12
-22
0
0
-1
4
5
0
0
-24
-11
14
0
0
6
14
-11
0
0
11
12
5
0
0
-8
-6
0
0
0
-12
41
38
0
0
19
-25
0
0
0
-10
9
-4
0
0
-8
-2
0
0
0
-1
14
3
0
0
4
14
0
0
0
11
-5
3
0
0
0
-1
0
0
0
67
-11
4
0
0
-1
-8
-6
0
0
8
1
-10
0
0
-3
-7
1
0
0
-71
-19
18
0
0
-10
37
-25
0
0
11
-37
3
0
0
2
-1
2
0
0
13
-3
16
0
0
-5
17
-6
0
0
2
-2
1
0
0
0
-11
3
0
0
-28
15
3
0
0
4
-18
9
0
0
10
-3
-1
0
0
-6
-1
0
0
9
-35
9
-4
0
0
-3
9
-18
0
0
0
4
0
0
0
-9
-5
-2
0
0
-7
9
2
0
0
3
-13
0
0
0
6
-6
0
0
0
3
4
1
0
0
-6
8
1
0
0
-2
15
0
0
0
-14
10
0
0
0
14
3
0
0
0
23
1
1
0
0
-8
0
0
0
0
-1
2
-1
0
0
0
-1
3
0
0
-8
2
1
0
0
-1
-10
-1
0
0
-2
0
1
0
0
-11
1
-3
0
0
14
-12
10
0
0
-12
-11
-3
0
0
-6
-2
0
0
0
-4
-8
0
0
0
19
-1
2
0
0
-6
11
-3
0
0
9
-7
0
0
0
4
-4
-3
0
0
-12
15
-6
0
0
-13
5
9
0
0
-1
-1
2
0
0
-8
9
0
0
-17
-15
23
-5
0
0
1
-3
0
0
0
1
-26
2
0
0
-6
3
-3
0
0
-43
4
-5
0
0
2
-1
0
0
0
5
16
-9
0
0
-7
5
4
0
0
15
-14
2
0
0
-1
3
0
0
0
0
5
-1
0
0
10
4
0
0
0
21
-10
4
0
0
3
0
0
0
0
9
1
-1
0
0
-2
0
0
0
0
-26
-1
-8
0
0
0
-5
-2
0
0
1
-2
11
0
0
0
-2
0
0
0
-13
-2
9
0
0
-6
1
-1
0
0
4
-15
2
0
0
0
4
7
0
0
-3
12
-2
0
0
-7
-8
2
0
0
-13
-1
-1
0
0
-6
14
0
0
0
12
11
-6
0
0
-1
5
-4
0
0
5
-6
2
0
0
2
4
3
0
41
40
-10
0
0
0
8
-1
2
0
0
0
-5
0
0
0
7
5
2
0
0
14
0
0
0
0
-3
1
0
0
0
5
16
0
0
0
-11
-3
0
0
0
-7
-4
0
0
0
1
-1
0
0
0
-2
0
0
0
0
2
-15
0
0
0
8
-1
0
0
0
6
3
0
0
0
2
1
0
0
0
-7
28
0
0
0
-12
0
-2
0
0
-1
0
-8
0
0
0
-1
0
0
0
-3
-4
-2
0
0
-8
0
0
0
0
0
-14
-2
0
0
5
-1
0
0
0
1
-4
-1
0
0
-22
0
0
0
0
-2
1
0
0
0
1
-1
-3
0
0
3
4
1
0
0
-1
-3
6
0
0
-1
1
6
0
0
2
4
0
0
0
4
-2
0
0
26
43
-47
-13
0
0
12
14
-2
0
0
-15
29
-12
0
0
0
-3
-4
0
0
-46
21
8
0
0
0
6
5
0
0
-5
16
0
0
0
0
3
0
0
0
50
62
-18
0
0
-8
40
1
0
0
-4
-5
2
0
0
0
-15
0
0
0
50
21
2
0
0
35
-27
5
0
0
-15
-39
-1
0
0
1
12
0
0
0
14
-59
8
0
0
-4
11
1
0
0
-13
4
4
0
0
12
-5
2
0
0
-28
-42
-6
0
0
-1
25
-2
0
0
-9
-18
2
0
0
0
-4
0
0
0
35
22
27
0
0
-12
-44
10
0
0
15
82
-19
0
0
5
3
9
0
0
3
-48
-28
0
0
-29
-17
14
0
0
17
-7
40
0
0
14
-3
-6
0
24
-35
20
5
0
0
-8
-4
1
0
0
0
10
0
0
0
1
-8
1
0
0
4
-6
2
0
0
0
14
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
21
0
0
0
-10
-11
1
0
0
54
-21
0
0
0
-4
-10
0
0
0
16
-9
1
0
0
16
-1
0
0
0
60
-3
0
0
0
0
8
0
0
0
-55
5
-1
0
0
-6
-3
1
0
0
-7
-8
4
0
0
18
10
-5
0
0
28
26
-3
0
0
12
-8
4
0
0
-1
1
0
0
0
-2
3
0
0
0
16
33
-1
0
0
10
-6
7
0
0
0
-13
24
0
0
16
-39
2
0
0
9
6
-30
0
0
-23
6
3
0
0
-2
22
-5
0
0
3
26
0
0
-82
-18
17
-5
0
0
-3
0
-1
0
0
-8
5
0
0
0
10
-5
0
0
0
-16
20
6
0
0
-3
13
-3
0
0
8
2
-2
0
0
0
-12
1
0
0
-32
-7
-9
0
0
24
1
0
0
0
-4
-20
-7
0
0
-2
9
-4
0
0
9
-9
1
0
0
6
6
1
0
0
3
28
3
0
0
1
13
0
0
0
3
12
-5
0
0
-5
-4
3
0
0
-7
-10
-4
0
0
11
-5
-2
0
0
-12
10
1
0
0
3
-8
0
0
0
4
-45
3
0
0
-1
2
2
0
0
0
-28
14
0
0
0
-23
-4
0
0
10
-3
10
0
0
49
22
-1
0
0
-8
32
-13
0
0
-2
10
8
0
0
-5
-2
52
0
0
31
-24
0
0
39
-9
-13
-6
0
0
-5
0
3
0
0
0
-1
0
0
0
-2
-23
-3
0
0
1
0
0
0
0
-1
1
-5
0
0
3
-1
0
0
0
2
2
1
0
0
29
3
2
0
0
13
1
0
0
0
-40
13
0
0
0
-3
11
0
0
0
-56
0
0
0
0
-28
0
0
0
0
35
-1
0
0
0
-2
-20
0
0
0
2
-16
-1
0
0
0
4
0
0
0
-3
1
1
0
0
3
8
4
0
0
4
1
0
0
0
-4
15
0
0
0
-18
2
0
0
0
5
-3
0
0
0
3
-1
7
0
0
2
-9
-5
0
0
-12
-12
0
0
0
5
-4
-4
0
0
16
1
-7
0
0
-3
19
-5
0
0
-2
-11
3
0
0
6
21
1
0
-20
25
-17
-22
0
0
-9
5
1
0
0
3
26
0
0
0
3
-4
0
0
0
30
6
-9
0
0
1
-19
0
0
0
1
-2
0
0
0
0
4
0
0
0
-8
13
6
0
0
-5
3
2
0
0
-20
-4
0
0
0
3
8
0
0
0
12
38
6
0
0
-5
-31
0
0
0
46
8
0
0
0
2
51
0
0
0
14
-7
-19
0
0
1
19
0
0
0
0
-18
12
0
0
0
14
-1
0
0
10
-24
9
0
0
3
-7
-6
0
0
-9
16
0
0
0
3
-10
0
0
0
-1
25
19
0
0
0
-15
-6
0
0
2
-41
4
0
0
-1
-13
4
0
0
30
69
18
0
0
-18
25
-5
0
0
-41
28
12
0
0
-22
0
-8
0
-12
-19
6
0
0
0
1
2
0
0
0
1
1
0
0
0
1
-9
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
44
6
0
0
0
11
-3
0
0
0
-40
0
0
0
0
-10
52
0
0
0
5
-15
0
0
0
-41
-15
0
0
0
42
8
0
0
0
-9
2
0
0
0
-5
13
-2
0
0
-1
-6
7
0
0
0
-2
0
0
0
1
4
0
0
0
-20
8
-1
0
0
2
-3
0
0
0
44
3
1
0
0
1
-4
0
0
0
-10
-1
7
0
0
-1
-32
-6
0
0
-4
-2
-1
0
0
-4
23
0
0
0
4
-5
14
0
0
5
11
-1
0
0
-4
-17
0
0
0
-24
23
0
0
19
-9
-2
0
0
0
1
0
1
0
0
-5
4
4
0
0
3
-2
0
0
0
-3
-17
0
0
0
1
0
0
0
0
-2
-3
0
0
0
-1
5
0
0
0
-4
-26
0
0
0
1
-10
0
0
0
-10
7
0
0
0
11
-23
0
0
0
-24
-3
0
0
0
3
-1
0
0
0
35
22
0
0
0
3
-6
0
0
0
0
-12
0
0
0
0
-1
0
0
0
0
6
-1
0
0
-5
0
1
0
0
5
1
-2
0
0
0
1
0
0
0
0
3
-4
0
0
0
2
1
0
0
37
-10
33
0
0
-1
24
5
0
0
0
14
3
0
0
-12
10
-2
0
0
31
-43
17
0
0
-5
41
13
0
0
13
65
12
0
0
-10
7
2
0
85
48
-2
0
0
0
9
0
0
0
0
0
2
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
8
-1
0
0
0
1
1
0
0
0
4
0
0
0
0
7
2
0
0
0
38
5
0
0
0
46
-9
0
0
0
8
-8
0
0
0
9
-6
0
0
0
-6
15
1
0
0
-31
4
5
0
0
0
5
0
0
0
0
0
0
0
0
1
0
3
0
0
-15
-1
0
0
0
5
-7
-1
0
0
-32
0
0
0
0
0
16
0
0
0
-2
-2
-2
0
0
-4
-9
0
0
0
-14
-7
2
0
0
-18
7
-1
0
0
8
11
2
0
0
0
-6
1
0
0
1
-16
5
0
0
18
-21
1
1
5
18
-28
-66
0
31
-10
-78
-13
0
14
23
-25
34
0
42
-10
11
34
0
69
-55
22
-21
0
6
16
36
-83
0
21
-50
-34
-7
0
-36
85
63
79
0
-4
-20
21
-49
0
4
-95
50
-7
0
-53
5
-21
-32
0
-21
-11
26
-7
0
5
13
83
-19
0
-32
17
-52
-37
0
68
70
-20
-36
0
26
-28
-2
-4
0
-44
-23
16
4
0
-9
-47
75
-44
0
-61
-47
-122
12
0
-55
-19
-11
-11
0
-121
-62
47
-14
0
-26
86
-20
24
0
-4
-42
-11
-15
0
70
6
15
1
0
-2
33
-33
6
0
1
-55
-6
-3
0
10
12
31
6
0
-29
-4
2
-5
0
-23
30
-2
32
0
-14
40
17
-8
0
38
31
-24
2
0
-8
-6
-15
3
-29
-64
12
171
-16
0
42
-55
-3
15
0
132
7
78
-14
0
60
21
-64
87
0
-11
-27
-89
-5
0
-111
-25
-5
14
0
17
57
56
4
0
38
90
-109
6
0
12
-96
-28
-11
0
-130
81
-17
-31
0
-6
52
-49
-4
0
20
13
-6
38
0
129
-39
22
89
0
1
-118
78
38
0
71
83
-29
5
0
63
9
22
-11
0
11
-45
-38
30
0
19
-53
2
-71
0
7
42
34
-8
0
-18
-9
24
-2
0
4
-64
-4
-21
0
-17
-16
-38
18
0
45
-2
5
-15
0
-5
8
2
14
0
-13
38
-39
-5
0
-14
14
-5
2
0
4
17
25
1
0
35
51
9
7
0
7
-2
18
2
0
-43
-24
7
0
0
15
-2
39
0
0
37
-15
3
2
54
5
-11
13
23
0
-19
-40
88
-38
0
34
-74
-28
23
0
77
9
43
-24
0
-108
0
24
-26
0
-38
26
31
35
0
-15
48
-18
24
0
-64
51
26
5
0
34
-7
60
22
0
-4
-19
22
-13
0
32
7
-71
-15
0
83
2
-22
-24
0
-22
-25
118
-22
0
42
23
9
22
0
-35
10
58
3
0
33
3
1
-2
0
-31
12
20
-35
0
36
52
-32
13
0
-10
-11
-1
22
0
50
54
-33
1
0
8
-15
-25
10
0
7
-15
3
-3
0
-6
58
1
16
0
-12
-18
-2
-6
0
-6
-9
-16
11
0
21
26
0
-1
0
-65
-50
6
13
0
-3
-34
5
-1
0
13
13
-9
-2
0
-7
0
-8
-1
0
-15
6
14
4
0
10
34
15
0
5
25
-36
36
67
0
-27
129
-36
-8
0
36
-11
12
36
0
-41
28
42
42
0
-15
-2
-7
9
0
50
20
76
-18
0
-46
27
-18
-10
0
-39
1
53
-6
0
24
1
-31
-11
0
34
6
16
-16
0
-3
33
4
-19
0
38
5
0
-32
0
33
-55
8
-47
0
22
1
-10
-3
0
-32
9
9
56
0
17
-5
18
2
0
-90
34
-44
-13
0
8
24
2
17
0
20
59
-11
2
0
-28
23
2
-2
0
42
6
0
-1
0
6
0
-3
-6
0
-39
10
7
0
0
0
9
3
-2
0
32
-5
26
-2
0
47
6
1
0
0
12
-9
1
-1
0
-11
-5
11
0
0
2
-2
-7
-2
0
-2
4
5
1
0
1
3
0
0
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-34
-94
0
-51
-104
-45
54
0
-52
24
7
-47
0
-19
7
29
-60
0
-53
33
9
-4
0
1
9
-27
47
0
24
-88
0
-3
0
60
-36
-17
-39
0
7
16
-4
24
0
36
-68
104
1
0
-117
69
-30
70
0
-104
-47
-30
-35
0
37
-24
-39
3
0
-13
83
6
4
0
57
-73
52
-32
0
-9
82
-30
-29
0
59
-8
6
-20
0
-19
44
1
29
0
44
-40
-1
3
0
29
39
31
6
0
14
27
13
-25
0
-17
-23
-6
5
0
-11
-3
-55
7
0
-9
5
-13
0
0
22
0
4
-25
0
6
26
38
26
0
-27
-44
-20
-6
0
45
-2
29
-5
0
25
24
5
-16
0
42
-4
-29
25
0
-25
-3
4
11
0
14
-11
14
1
-27
-81
112
27
59
0
-52
-25
67
-17
0
38
59
61
57
0
-9
27
49
-11
0
41
-164
-15
82
0
5
5
-53
-13
0
44
-4
19
-20
0
17
20
-48
32
0
-49
-8
20
-72
0
-136
-31
-111
-53
0
38
-1
-2
-24
0
101
-8
38
0
0
-32
5
52
-65
0
26
-10
-75
-7
0
52
-6
-69
1
0
-55
-40
-47
-13
0
-7
43
-43
18
0
-48
-29
-3
-10
0
1
20
-9
2
0
1
-12
-68
4
0
-17
11
-18
-6
0
-6
-51
-42
-1
0
-14
13
19
-3
0
-20
-15
-34
-1
0
-3
29
-19
-17
0
5
-33
19
-5
0
14
-15
-17
1
0
-1
16
-29
0
0
31
6
21
-5
0
-20
-3
24
-1
0
-6
15
3
0
0
-9
-26
10
0
26
-24
43
-50
-14
0
-27
61
18
2
0
-58
-39
26
-30
0
13
18
-84
5
0
-204
-42
56
51
0
39
27
-42
-7
0
-48
35
31
-32
0
79
-118
11
4
0
-48
-34
-83
-5
0
38
38
-26
-17
0
68
-39
-30
1
0
30
-11
1
10
0
60
64
33
39
0
-4
7
-13
-10
0
20
-30
-5
-4
0
90
-36
34
-5
0
9
6
8
3
0
-2
-37
22
0
0
12
11
29
-13
0
0
15
1
-5
0
11
-17
10
-14
0
0
-15
-10
-3
0
-1
-26
12
17
0
26
10
-33
0
0
-33
2
-24
-7
0
1
-19
3
2
0
15
25
-47
11
0
5
-3
-10
0
0
-31
-12
44
15
0
11
3
-4
1
0
-57
46
-4
11
0
-7
25
-3
0
23
1
-75
2
-15
0
-29
-29
-61
-7
0
-38
-8
14
28
0
-4
52
-4
-1
0
-59
49
-27
-11
0
-3
-20
4
-25
0
-15
5
-3
0
0
33
-17
-18
22
0
1
-37
-55
33
0
52
8
5
-38
0
-72
-27
54
24
0
-6
39
18
27
0
70
16
-27
-23
0
-50
-73
-7
41
0
-46
-53
67
-14
0
12
15
9
5
0
-1
8
4
-8
0
0
14
47
-1
0
5
3
1
-8
0
22
7
6
-2
0
14
-2
0
-5
0
-9
10
10
0
0
21
0
2
-2
0
18
33
13
1
0
4
-4
7
-17
0
2
49
-7
1
0
-4
-7
-18
2
0
12
15
19
2
0
-3
-11
5
0
0
17
-34
-20
0
0
-6
-9
0
0
0
28
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
39
46
0
16
-36
-39
46
0
74
-29
-2
-6
0
23
-38
37
-9
0
-32
37
-32
-9
0
-29
-15
35
-11
0
32
-18
11
-4
0
7
-10
-5
2
0
5
15
-61
-16
0
-4
-22
11
0
0
-13
-1
-17
-17
0
-11
-9
7
0
0
-63
38
-32
-7
0
-15
16
-6
2
0
-24
32
20
15
0
38
0
6
-3
0
34
0
37
30
0
-41
-26
-63
3
0
-40
28
-24
0
0
10
2
37
11
0
-69
17
35
-14
0
-7
-71
2
15
0
-4
-1
-7
-8
0
-6
-19
-18
2
0
-14
-41
-17
-9
0
-34
-13
11
-19
0
51
31
-27
16
0
4
9
32
6
0
-6
94
19
-5
0
12
-8
31
-21
0
21
5
-18
41
0
46
-19
-17
-2
37
2
22
-20
-27
0
-40
10
17
-22
0
-39
22
10
8
0
44
30
17
25
0
94
-9
-38
-24
0
-15
-32
-29
-5
0
34
0
-3
1
0
-13
1
50
3
0
-117
-26
52
-63
0
4
34
-43
-6
0
27
15
-14
-1
0
-11
18
-10
2
0
15
4
-20
-4
0
11
22
2
3
0
-43
-1
6
3
0
18
7
-4
0
0
-8
17
-7
-12
0
-6
-10
-58
18
0
-23
-9
16
-14
0
-14
-44
13
2
0
-13
20
-47
27
0
5
-21
26
-9
0
-22
-12
9
-13
0
10
-12
-28
-5
0
14
-3
64
13
0
-41
38
-29
3
0
17
50
10
-15
0
20
31
22
0
0
50
-35
-42
-17
0
-17
29
15
-6
0
28
33
9
-4
0
5
-6
9
0
-60
-24
34
6
1
0
34
8
11
22
0
-9
27
-42
-58
0
-12
13
1
6
0
-9
-9
44
-7
0
-15
4
-50
-2
0
36
7
-35
25
0
10
10
-8
0
0
-31
-5
50
1
0
6
-22
-1
4
0
19
-18
-23
2
0
20
-34
-2
-1
0
39
-25
-24
4
0
0
-2
2
0
0
23
-8
-19
-1
0
-14
-9
3
0
0
19
-110
-41
10
0
-13
24
-21
10
0
7
-13
-25
24
0
16
24
5
1
0
4
34
-61
9
0
10
-21
-7
-3
0
-16
-22
-3
9
0
-13
31
5
-2
0
0
0
-26
17
0
8
33
-21
-8
0
18
2
3
-20
0
4
7
-1
-1
0
24
-28
14
-5
0
6
-4
-33
0
0
-13
-6
0
-5
0
24
-1
-3
-1
11
53
-6
6
5
0
-26
49
-13
-11
0
-20
-1
20
14
0
-34
10
10
0
0
2
-11
4
-16
0
-19
1
27
8
0
-45
0
-8
4
0
-8
0
19
-5
0
-16
6
7
0
0
0
7
-13
-1
0
-10
7
4
2
0
9
-18
-6
0
0
24
0
0
0
0
-2
-4
-15
0
0
33
7
5
1
0
5
-15
5
0
0
13
12
39
-14
0
1
28
-35
2
0
0
6
9
-5
0
-1
-1
9
11
0
-22
22
12
-7
0
4
24
-1
-6
0
13
3
-5
-1
0
-41
9
0
4
0
-3
18
-4
-4
0
4
-15
9
0
0
-41
-1
9
0
0
-3
-39
4
0
0
9
0
14
-4
0
0
-9
-5
1
0
13
2
8
-3
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
-57
-20
0
47
-24
-40
9
0
3
6
9
-11
0
0
11
41
-12
0
42
20
-8
-21
0
-1
10
-38
-2
0
-24
33
31
5
0
-2
-21
-12
2
0
7
22
-24
26
0
-11
11
47
2
0
87
13
-25
16
0
-55
73
3
-1
0
21
15
31
-3
0
13
-24
-1
-1
0
-29
0
5
-14
0
22
22
4
-1
0
70
42
-54
-22
0
21
-63
55
-16
0
22
-36
-21
21
0
-2
-4
-13
-9
0
-33
-24
28
23
0
7
0
-1
-5
0
11
12
56
5
0
-9
-5
33
-2
0
-48
20
60
38
0
-23
-19
48
28
0
-62
12
20
-41
0
-11
-46
-23
-12
0
-46
8
8
22
0
2
36
57
-6
0
-4
-7
4
-12
0
25
85
-26
-1
17
4
-12
-66
-4
0
-24
19
11
6
0
-6
-2
6
0
0
15
-23
63
-4
0
56
-14
12
-5
0
3
23
25
0
0
-7
-11
0
0
0
0
-10
8
0
0
-20
24
-23
-10
0
-39
17
10
16
0
5
4
-26
0
0
12
-1
-1
-6
0
-24
23
8
2
0
18
-27
10
11
0
28
-4
11
-2
0
-35
-7
-13
-2
0
16
27
-66
7
0
-5
7
-11
-17
0
47
17
-9
-23
0
50
-25
18
1
0
24
-8
-10
19
0
-8
23
16
-7
0
32
-50
10
-12
0
19
-7
-4
-9
0
-26
6
-1
58
0
39
-35
-3
-23
0
-50
-15
27
21
0
7
-96
-7
-8
0
-34
1
-3
12
0
-47
-5
25
8
0
3
15
-51
15
0
-40
55
48
58
-12
9
10
30
-28
0
-3
21
-12
0
0
6
-12
-16
-3
0
-13
3
24
-4
0
1
-1
20
-4
0
6
3
-38
-1
0
0
-16
7
6
0
5
-19
5
0
0
-10
63
-18
-6
0
19
10
20
10
0
-3
-4
11
-1
0
16
3
3
-1
0
-78
35
-14
2
0
9
12
1
-5
0
17
11
-3
-20
0
-34
14
-1
0
0
-37
-20
36
-26
0
-2
7
22
12
0
-21
-42
19
28
0
9
-4
-1
-3
0
1
-13
-14
-10
0
4
-18
20
12
0
-46
14
5
-6
0
18
2
-24
2
0
-14
4
-37
-4
0
1
18
-8
8
0
-10
-7
-5
-2
0
5
15
13
2
0
19
15
17
5
0
6
-26
5
11
0
11
-51
44
6
0
-15
10
-51
10
-74
21
-19
-16
8
0
-3
-22
68
-2
0
2
8
-6
0
0
-1
2
20
0
0
-7
1
-7
2
0
-2
5
10
0
0
8
1
5
-8
0
6
10
6
0
0
-1
-5
3
10
0
3
9
6
-1
0
48
19
7
8
0
-24
13
5
-6
0
12
11
-2
0
0
-19
-14
1
0
0
16
-6
-19
0
0
5
18
6
0
0
-20
-4
27
21
0
-11
11
25
-4
0
-27
-13
-4
-10
0
-15
2
-16
-19
0
9
-20
28
-2
0
20
5
-2
9
0
-33
0
0
0
0
1
40
1
-3
0
-20
5
27
15
0
17
59
19
10
0
8
0
20
9
0
-5
5
-7
-4
0
-11
-45
18
2
0
20
39
-40
2
0
38
-35
12
6
0
22
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-48
-13
19
29
-44
5
-6
50
-49
-117
-1
70
6
-21
14
-48
81
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
65
-43
-60
63
-239
81
-106
40
7
39
0
-67
18
-64
13
-109
25
42
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-61
2
-7
60
-13
-18
22
-43
-56
-22
14
38
22
-18
18
-47
-9
62
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
37
11
70
-22
6
78
-42
-24
-11
-9
-83
-33
-58
85
-4
-63
7
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-4
-80
-23
-9
-13
53
-43
17
94
88
-29
65
44
-88
23
-22
49
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-66
-1
19
24
-23
-87
0
-7
10
15
26
-33
-31
79
-26
31
50
60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-49
9
-48
39
-22
-123
13
11
-44
9
6
-49
-1
7
68
80
24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-47
-17
45
-43
56
10
-19
-12
-14
13
-50
-29
-5
2
-1
3
6
-44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-21
77
-65
-79
-21
-11
33
62
-63
55
-2
-31
18
50
-10
-21
-40
58
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
71
64
-3
-89
105
-112
-113
-28
5
-35
-56
66
23
31
38
0
-14
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-18
-32
-75
50
20
40
53
17
7
42
80
-45
18
-10
-11
-30
-5
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
28
-42
-22
1
49
-25
-17
32
12
-31
-44
6
14
-4
26
34
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
18
-5
46
-3
26
-50
-20
54
28
77
75
-42
39
-42
3
19
21
-2
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-15
-25
-27
-4
-31
-29
-17
24
-42
53
39
22
-16
-2
7
-10
21
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
-3
-13
6
33
45
-32
57
3
-23
-14
73
-35
-12
-7
26
21
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
2
32
2
18
0
25
-2
-3
-48
9
25
7
1
-2
15
16
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
14
-41
-28
24
61
-10
2
14
6
-6
50
20
-3
29
104
-23
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-37
62
-30
-70
-7
60
-62
-29
-26
47
9
43
-13
96
-18
-96
16
-17
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
33
-37
14
-12
34
-8
-56
-40
-15
-84
-15
-17
35
4
32
-13
0
-63
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-21
24
-28
-17
-6
-11
-9
-33
7
34
-31
-37
1
2
13
-3
-6
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
74
-12
-7
20
115
-19
-19
-88
87
27
231
-34
-23
54
-3
19
23
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-105
-80
77
-18
-52
-70
-47
-56
-9
34
22
17
45
-6
-58
53
-32
11
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
19
-37
-1
32
-15
-41
-11
1
-13
-11
-29
-43
9
-19
-8
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
-39
25
4
-59
12
-5
-21
-8
-32
4
12
12
-3
-11
0
18
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
112
-43
16
121
9
59
42
60
-33
166
25
15
19
-91
3
-44
97
19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-85
10
18
-6
-29
37
-31
-11
22
2
-8
10
-35
-29
-4
25
26
-53
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-22
-3
3
-3
8
17
16
-4
-8
7
0
-41
9
0
3
10
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-33
25
-17
-7
2
14
33
6
1
-21
23
-14
0
3
4
16
2
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-25
-39
36
-38
-35
21
40
24
6
-35
10
117
60
14
-1
2
-18
29
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-74
-23
26
23
5
28
-5
-51
-19
-39
33
5
-9
2
18
1
-2
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-30
23
55
2
3
-4
-7
-20
-2
-2
18
9
-19
22
-8
0
9
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
-8
0
-9
-14
-1
-5
2
-6
8
4
-3
-1
15
-37
15
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
22
-117
11
-16
-19
-33
19
65
83
-100
-68
-51
-20
34
22
-40
-38
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
18
15
-59
22
-50
43
44
88
-73
65
83
-96
12
2
68
-17
-21
-23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
-21
9
-5
37
29
-3
3
-45
31
-20
19
-14
-1
15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-3
51
-11
-7
2
69
23
-14
11
42
14
-9
59
-2
-23
29
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-27
-5
71
-61
-57
112
-38
5
-79
15
13
12
-15
-23
8
53
25
7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
16
-70
-89
-35
26
63
20
8
-12
-32
35
30
63
6
54
-11
-4
-32
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
-7
-10
0
-6
-18
4
3
-4
7
-14
5
-10
15
0
20
3
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-48
-18
9
-25
5
17
-8
5
1
-31
-72
28
2
1
-37
-10
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-3
-37
52
-11
15
76
26
-37
11
24
-66
-49
-12
29
-54
63
52
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-8
-81
-22
63
-14
-13
114
-52
27
-22
-20
12
-58
-78
-15
79
-137
94
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-20
-18
34
-18
31
9
-1
7
-5
-3
-4
-11
-8
0
1
-8
-11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
-13
7
-17
-20
-26
10
13
-4
-8
2
-13
-33
5
7
-7
28
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-38
-11
24
22
-7
-25
-13
11
8
79
-25
-12
10
-7
-16
42
-8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
57
21
-22
8
27
-7
-65
-26
28
9
39
32
-10
1
5
0
11
5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
7
-6
0
5
10
-8
-41
4
11
-8
-3
-8
-4
-1
-9
15
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-32
5
5
-5
-11
1
8
0
-4
3
4
16
0
-11
5
-12
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-17
-43
21
-28
-47
44
40
-38
-71
-63
22
13
17
7
-33
23
-26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
71
8
102
-38
34
-73
75
-32
62
26
-93
-56
-67
-75
2
48
-117
24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
59
95
-39
-14
2
16
5
12
2
3
-4
-3
-21
8
-9
7
-6
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
20
9
-27
10
39
-20
-20
10
41
15
-59
-1
6
0
2
1
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-3
9
26
3
-50
15
-19
-21
50
27
-14
-18
105
-39
35
10
-19
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-31
-28
14
-24
-60
-18
-22
103
-54
-22
15
27
-72
49
3
1
-19
21
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-22
13
13
0
-2
21
-5
-14
7
2
1
-3
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
-11
-6
-6
11
4
3
-24
13
-5
-11
-7
1
4
-4
0
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
3
45
12
-33
-29
-4
-1
20
4
15
52
17
-40
7
-9
7
-11
11
69
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
6
-82
-31
22
17
100
-104
31
-43
-31
-15
22
11
2
-48
17
-44
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
17
-18
-1
0
1
8
10
4
1
0
-1
-6
-4
-1
-5
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
-1
-4
-2
-3
-5
1
-2
0
8
-5
10
-13
2
-7
-2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-41
32
11
-10
10
-2
4
-50
-23
-8
-48
4
-24
-1
-11
-7
10
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-21
17
1
-9
15
104
-11
-47
16
-5
15
-11
3
-10
-3
-12
20
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
14
0
-2
17
-2
23
-1
0
0
-1
2
0
-6
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
4
14
9
0
0
-4
5
2
1
0
-4
9
3
0
0
3
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
47
-35
36
-51
22
51
-27
-32
0
-77
10
8
3
-1
45
-57
-22
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
31
-28
-67
-18
-37
73
-3
-22
-18
-36
4
-76
-33
31
54
-5
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-26
-22
-22
-51
9
-23
104
33
-32
-8
38
2
-10
1
-9
-20
-18
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
22
14
-66
49
-64
-23
-30
8
53
49
-83
-4
5
-27
19
6
-70
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-27
34
-50
-2
-23
-11
-80
-9
4
-72
-40
21
17
11
-20
-9
-5
-30
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-44
27
-30
14
45
6
-20
-21
-12
12
59
43
0
-14
14
-30
-4
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-11
44
34
12
-20
26
6
-16
-26
14
58
16
-31
-21
-11
-13
16
28
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-1
-7
5
13
-36
42
-3
-3
22
-3
-2
45
36
19
43
67
32
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
2
-7
73
-4
-20
18
53
-21
44
15
-1
0
-24
9
25
-12
7
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
10
-30
0
-15
-9
23
-12
-9
-3
24
10
4
24
0
8
-7
-4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
42
-1
45
-5
-17
-12
17
-28
-3
11
-50
-50
-6
5
-8
-7
14
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
48
-5
-28
-20
26
-47
-64
35
-5
-59
22
-30
-9
-17
2
-7
16
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
86
59
12
-17
-16
63
11
-5
18
2
-5
36
-16
-11
111
20
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-21
-6
-26
3
60
-74
14
-2
-19
-33
32
-1
-19
-2
6
-8
10
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-11
-14
16
-10
3
25
26
-5
-10
0
0
-13
-11
4
-7
23
11
18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
39
50
12
-7
3
-22
-17
-7
-17
-4
3
-5
1
5
3
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
63
-11
27
-51
-34
66
-55
-25
11
-9
-40
0
23
-17
2
1
18
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
99
70
1
4
63
18
16
-32
4
25
-37
-62
25
12
0
7
12
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
45
-3
-11
-15
-26
-2
-22
-10
-14
34
-10
-7
7
-2
-13
12
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-38
5
31
-3
-24
5
27
0
-18
23
-4
1
-19
9
17
-11
4
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-17
19
11
-1
-7
62
-19
-15
-1
9
-20
0
-23
-10
2
-9
-8
-6
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-21
18
-23
2
-6
-31
-26
-32
-1
9
48
-41
14
0
0
-5
23
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-6
11
-38
-9
-6
-42
-22
20
7
0
3
8
-8
7
-1
-3
11
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-12
28
-24
11
10
-13
-63
-13
0
35
4
13
-11
15
6
21
-1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-14
-2
10
-18
-1
6
-21
9
4
4
16
22
53
3
0
-6
-1
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
16
5
12
-5
3
-13
-35
7
1
-14
17
21
17
1
-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
5
-13
-43
16
20
-2
37
1
-16
2
-1
-6
-7
-22
6
1
-20
6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
4
4
-17
-2
-8
13
-12
31
-12
44
-41
-1
12
5
-23
3
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-19
-25
-3
7
-1
-25
17
10
17
3
-4
5
-2
3
0
2
-5
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-18
-4
12
2
0
7
8
5
-1
7
-5
41
-9
0
-14
7
6
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-3
22
4
-3
28
18
2
-1
7
-1
13
-8
1
-1
-11
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
13
-2
3
-18
7
13
-6
1
0
9
2
3
0
-19
9
39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
-69
38
-17
4
-71
37
-27
5
7
-7
-6
-44
2
-1
-51
0
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
61
-10
50
-5
-45
51
11
18
2
13
-44
14
-6
-1
-24
-62
-9
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
19
13
24
38
-3
-11
-25
24
-57
29
-10
-99
0
16
-7
-2
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-62
123
49
9
-5
-13
40
-19
-8
-35
54
1
20
3
18
10
-6
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
29
5
-15
1
-2
-14
-6
-4
13
0
-3
1
0
-1
3
11
16
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
53
14
9
-15
27
-35
-35
-22
1
22
42
-19
-1
0
-16
13
16
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
32
-8
20
-1
-5
-6
-2
-15
-26
18
10
12
15
-6
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
41
7
-49
2
6
0
21
52
-45
5
20
7
-3
-3
-14
-35
-44
2
41
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
19
-8
-16
2
-17
-24
-13
2
-3
50
-1
14
-11
1
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
55
-14
41
8
1
-34
31
-25
3
21
8
-15
-33
5
-5
-18
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
19
7
-7
-29
0
-7
-4
8
11
-8
-3
-25
0
3
-13
3
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
10
-68
18
12
19
-27
43
-2
33
13
-21
-72
8
-45
33
9
-40
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
-29
1
0
-8
-23
-13
7
0
2
-2
42
0
0
3
3
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
-2
-1
21
-1
-5
-12
2
-6
5
-14
14
10
1
9
14
3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
3
22
1
5
9
10
0
9
-1
-5
-20
1
0
10
-13
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-2
61
7
7
-8
25
8
35
12
11
5
-12
-16
-21
-3
5
-22
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
25
-9
0
0
6
-19
69
3
0
-9
10
15
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
21
-25
-8
74
25
16
57
-16
18
-3
4
-39
3
-2
-3
13
43
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
11
15
-27
6
-11
-54
16
2
1
3
11
-16
2
0
9
1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
70
82
22
15
12
-12
-21
30
-10
-38
68
-22
31
-5
-16
-18
29
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
15
-5
-2
21
16
-11
5
-1
0
3
-1
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
6
-24
9
2
-16
33
21
-4
31
1
-7
-10
10
1
8
17
1
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-47
-22
-4
0
-4
24
40
-2
0
0
1
5
0
0
2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
17
28
-1
-42
50
-18
46
37
21
10
15
55
-7
-19
6
10
-15
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
4
1
0
0
-4
6
-1
0
-1
-5
1
2
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
-3
-4
4
14
5
-1
21
0
-4
-2
23
-49
-19
17
-1
-3
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-4
7
10
0
1
7
9
4
2
13
31
-22
2
0
0
13
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
6
29
5
-6
22
-27
-22
6
7
25
36
11
14
-6
0
-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
1
-8
-1
0
0
0
3
0
0
-5
0
-1
2
0
1
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
3
-4
-1
0
-24
-16
-5
0
-2
10
-3
-13
5
-9
12
-9
-66
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
-6
0
1
-5
0
2
0
0
6
5
0
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
-2
-15
15
6
0
-43
-5
5
2
-2
6
56
4
8
-9
18
-31
32
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-19
43
62
2
-34
100
127
-69
47
28
26
97
14
-11
31
-16
31
25
-22
3
66
59
19
-2
-37
34
-28
-6
5
-15
24
-7
-2
-37
44
9
-45
14
50
-32
27
116
-1
44
-59
18
57
-12
-60
38
14
-73
-115
-13
29
21
11
-68
6
-68
-189
-81
-10
52
-24
5
-84
62
-28
27
-16
-55
-114
-7
-8
-20
4
-19
-18
-38
43
47
49
-103
47
-9
2
23
20
16
16
-1
-21
-3
-16
15
11
31
-15
-90
38
8
6
8
34
60
-25
21
-1
7
-73
-20
-13
16
-9
-14
-17
0
0
80
-44
-6
3
7
26
-6
37
-22
-13
-5
37
26
-20
-1
21
16
3
31
5
13
-50
-1
60
1
6
13
19
7
-3
-22
0
-14
18
-8
0
1
0
-7
-1
-88
54
80
-85
-6
-7
-2
-17
13
-11
-22
66
-12
101
-8
56
-23
-41
78
-8
10
25
-58
-7
7
-6
49
-73
-40
18
70
-42
52
33
34
-11
24
10
10
-5
-48
-33
5
-43
-48
16
-5
66
1
17
-32
-40
1
9
20
-6
39
-40
-18
3
-62
35
-47
2
-9
13
-22
-51
4
-29
10
-27
-3
10
1
-2
47
24
-9
7
26
-3
71
1
-39
-16
33
7
14
-17
-26
15
-34
20
13
39
-37
28
32
-19
-55
-8
14
-26
11
27
-20
4
2
9
20
-1
-6
7
1
-2
-10
31
-5
-2
2
45
-25
-11
0
-22
-50
-1
-3
12
23
27
4
2
3
19
21
-21
4
12
-3
26
-9
-20
-12
-15
1
1
15
5
0
-4
3
-3
0
0
-3
0
8
-1
-7
-21
-1
109
100
37
-25
18
-81
-35
105
82
-18
16
37
68
2
44
39
37
77
8
8
-114
16
16
-25
-11
4
-25
77
27
26
-5
5
0
-47
22
2
1
-82
54
-63
-18
-49
52
-61
-5
7
-1
43
-25
-4
-16
-14
23
16
8
-14
3
12
7
-73
-85
-44
-7
-39
8
13
26
5
-3
6
-34
23
2
5
-16
9
-2
-58
39
3
27
-18
-34
-22
-23
49
0
-24
32
-31
-5
-9
-22
-1
8
-24
-3
-11
-35
-20
28
-34
8
-7
14
-15
3
-4
-5
-4
-8
2
-6
8
-2
0
0
9
13
-1
-43
19
9
-13
3
-28
-21
0
-41
-8
-10
-3
0
7
-8
-1
0
4
20
44
13
-3
0
5
-1
-5
-1
0
-3
11
-3
0
0
0
0
-1
0
-23
-13
-13
-19
-7
69
-64
4
-68
7
-20
21
-14
-32
-11
58
12
21
24
16
44
-43
95
14
25
-19
-1
-10
-28
31
-48
7
24
-12
-18
1
-18
0
-2
22
3
11
-30
-37
-12
-1
23
-47
34
13
-15
9
-10
-19
-2
27
-3
-28
4
19
19
-13
-22
-7
17
14
20
-9
23
0
-3
-36
23
-9
-1
-1
-9
-11
20
-2
33
-112
-20
22
5
42
-49
-29
27
-8
-20
51
-31
9
5
20
50
23
23
-1
18
-15
4
22
5
-18
25
20
23
8
9
5
2
-2
0
-3
-23
6
-3
2
7
-16
2
-3
0
49
-1
-4
8
0
1
1
15
-57
4
-3
3
0
1
10
-1
-10
0
2
0
0
6
-14
10
1
0
3
1
0
1
3
12
3
1
2
75
91
-38
-32
-53
-79
-49
-129
121
23
-20
61
3
-9
-130
71
-81
-73
12
0
-92
59
53
-63
-11
45
-74
-5
67
35
-39
40
40
-102
32
-30
-11
-31
63
54
0
28
-50
-3
62
-8
47
-41
-2
-22
-45
22
-38
-34
-27
21
-6
-4
2
21
57
71
9
-70
-18
27
-1
-25
16
-9
-5
22
12
-34
9
-2
7
33
-3
3
14
-42
-35
-93
46
-36
23
31
15
24
-90
-12
25
-7
29
35
-7
24
24
3
11
68
10
11
-9
22
-39
12
-13
-10
-4
17
8
-17
-5
1
4
6
1
0
-37
-48
42
3
14
6
-15
14
20
1
0
-31
-3
-36
-4
2
10
-8
-5
0
-51
-29
-48
21
5
2
-15
1
1
2
4
2
5
5
-2
0
-1
-1
0
0
0
-85
-5
-25
13
80
7
-89
-10
-44
79
-23
14
13
-2
-1
-20
21
-6
6
15
-27
50
27
39
59
9
-36
-75
57
-26
68
-3
104
98
13
13
28
46
-48
6
-32
37
-9
14
37
7
9
-33
-29
40
85
27
-12
9
10
40
-45
-39
4
-31
-58
-45
22
-21
-27
-24
-71
2
39
1
11
-38
-36
-14
-9
23
9
0
3
-25
28
-25
-19
-1
-28
-34
2
70
16
40
-26
6
18
-1
-22
-14
10
21
-5
-17
55
18
-17
0
-5
13
-13
-2
2
0
12
8
11
2
3
-4
-2
2
0
20
-35
15
-11
-2
4
1
-42
-3
-9
3
9
-16
12
2
-1
-1
15
1
0
6
3
-3
-1
-1
-5
-11
-3
1
2
0
2
-14
0
0
-1
1
0
0
0
-65
-54
-23
18
-116
-40
-8
-43
118
10
43
-59
-28
25
22
-12
47
53
-108
0
-98
-92
42
32
44
-38
15
117
-67
-10
16
9
16
65
-13
-17
-12
19
38
-20
26
66
11
-87
1
37
-46
-27
24
-1
-49
-49
26
47
41
-1
5
-47
11
-13
-32
65
-31
28
-19
1
-48
9
37
3
-21
49
2
-4
13
0
35
-21
24
2
-33
-2
-20
-12
4
0
41
15
0
2
4
41
-9
-6
-3
-4
-9
-8
-1
0
-7
-25
55
16
-2
0
-16
6
-2
0
-12
-20
-11
54
1
0
2
3
-7
0
0
8
-10
-5
0
4
-2
1
0
0
2
1
-3
-7
-2
0
0
1
1
0
3
-5
7
-21
-1
0
1
-1
-4
-1
6
3
7
-2
0
0
1
0
0
-1
12
-113
24
-3
16
-72
-33
21
-19
20
-61
-23
22
7
-1
-41
-22
37
20
-35
5
85
-51
141
-14
56
16
-61
47
11
5
77
-18
-26
-34
-3
-26
163
54
-6
15
72
-5
20
2
-12
4
24
-9
24
-12
14
55
10
-11
0
23
-9
-18
2
5
151
23
-8
6
11
57
-38
44
31
0
4
12
57
2
1
-14
4
-34
-11
6
-35
7
-15
-5
-20
1
18
-15
4
14
23
12
-3
4
5
-4
7
-7
0
-1
-1
0
0
-7
18
-40
4
12
-3
0
12
-2
1
1
0
3
8
-2
-5
0
6
-3
4
-2
0
1
-1
0
4
1
-18
0
2
-1
-4
1
0
-4
0
0
2
-1
1
0
0
-1
0
0
0
0
-2
-3
0
1
0
2
0
0
7
45
69
37
42
-7
-24
30
77
-26
31
2
-43
-60
50
-45
24
97
-22
-55
-26
-13
50
-76
-73
-45
-128
71
-28
-6
-5
58
-76
10
38
41
-5
-1
-6
22
-40
84
-146
-12
60
50
-3
69
-53
-9
30
-1
-101
27
0
4
-41
-35
23
-6
12
8
86
34
31
0
-30
-27
19
-37
13
-11
-45
-49
3
-29
-38
-17
-19
-26
-21
30
10
8
-6
13
23
15
-9
-14
-6
-17
-15
-9
-14
-1
-3
-2
10
-9
-1
-21
-4
-18
-22
2
14
-16
7
-6
3
-11
-14
-24
4
-1
1
6
-1
1
-2
-2
-27
-10
27
5
-1
64
-3
-2
0
5
-15
1
-21
0
-1
3
0
-10
2
-12
17
-14
-12
1
1
0
1
14
0
0
-7
2
3
1
-3
-2
-1
1
0
-15
-3
-69
-62
48
45
110
-17
-46
-33
-55
91
37
-40
21
-54
-4
31
-3
-12
15
-14
54
31
-28
42
41
42
-11
-54
39
11
0
53
15
11
-4
9
-51
18
-29
-12
-2
-2
56
-45
-2
21
-39
-11
-23
-1
-73
71
-6
-2
33
45
26
-14
26
-27
38
-105
-29
-79
9
11
12
-101
12
95
57
22
29
11
-9
-40
-71
-19
-77
-6
-3
3
0
-3
15
0
-2
0
-4
1
-2
1
-5
1
7
0
-2
0
31
10
5
1
-2
3
1
-15
12
-1
-1
10
0
3
0
1
-1
2
0
0
-4
49
5
9
0
-1
5
-3
12
-1
0
5
-7
1
-5
0
2
0
0
0
0
2
-4
-6
0
3
5
7
3
0
-9
0
0
0
0
0
-1
1
0
0
-196
49
-23
15
43
113
17
13
-63
-15
-2
-108
11
-8
-11
-11
40
-37
-11
-22
-27
-49
6
-25
-32
-10
-28
33
-37
9
-12
2
16
-22
-28
13
19
-26
5
4
68
67
-73
27
-71
-52
-16
-11
35
-29
37
-61
-10
55
9
3
-3
-9
-17
4
48
-62
-18
15
-32
13
-44
-3
60
24
4
39
19
2
17
-18
28
-18
-3
8
12
-36
39
-19
-4
5
-27
10
6
0
18
0
-6
-7
-2
-42
1
2
6
1
-10
-1
50
-1
1
7
-3
-5
4
0
-2
3
1
23
0
-1
-1
1
1
0
-14
1
12
6
0
-1
8
3
-1
0
1
-4
1
5
-5
-1
-9
0
-2
0
-7
-6
8
-3
-1
0
5
-1
-3
0
0
0
4
1
1
0
0
0
0
0
-26
3
-28
23
7
-42
64
64
73
14
26
-56
7
8
15
8
-5
31
90
-6
34
1
-52
-72
-11
16
24
-46
12
9
5
52
10
-21
-3
5
17
25
-13
-5
9
32
-42
15
-1
27
-31
-69
17
20
-4
65
-50
-64
-20
7
9
-43
29
-7
-39
-9
40
15
-18
4
49
35
38
17
-5
13
-14
-19
0
0
-10
0
1
12
-29
-17
-1
27
4
-20
0
9
-5
-1
0
0
-1
6
-3
-1
1
-5
-2
-2
-4
1
3
5
0
1
-7
-9
-6
0
1
0
3
0
-3
0
-1
1
12
0
0
7
0
1
2
3
-1
0
0
-2
1
5
-7
0
-3
0
2
-1
1
0
0
1
5
2
0
-1
0
-1
-1
0
0
-5
-4
0
0
0
-2
2
0
-2
-28
24
-86
-32
17
44
-95
-19
72
-11
-5
-103
16
17
-7
-5
-39
4
-19
0
18
-33
8
29
1
-57
29
-56
-28
0
8
2
4
3
-5
-4
4
-6
11
0
-39
-47
80
47
13
-4
-11
5
16
-16
-15
-9
21
-50
61
25
16
-4
-13
8
-21
-12
23
-25
5
-20
127
46
8
-29
17
-48
41
48
-29
14
8
-14
-24
-23
4
-20
-18
1
2
-5
43
-7
-5
2
18
-7
5
5
-1
-3
4
0
-1
0
12
-14
-24
-11
1
5
-16
20
-2
1
-2
-4
1
-4
2
0
2
-4
4
0
-53
11
13
0
0
3
-15
-14
-1
-3
8
0
6
-4
3
0
-1
2
0
0
-14
41
-12
0
-7
0
16
-2
0
0
0
-1
2
2
0
0
0
0
0
-1
26
-10
-3
-22
-1
38
-32
-50
-50
2
76
65
11
-6
-2
-3
8
5
18
2
-18
-88
28
-69
7
-6
13
-42
9
1
2
-5
1
-18
2
1
-6
17
-5
-1
4
95
-136
21
-17
45
65
-2
22
-48
-33
63
-40
0
13
10
18
-12
-60
21
15
13
10
25
25
15
-136
89
-21
20
14
-3
72
-18
3
10
8
10
56
-3
-3
-26
-2
8
-3
3
12
2
-3
-4
1
-2
-1
0
0
-4
-2
1
-3
0
-10
10
2
-4
1
-2
-3
-8
2
0
0
-7
0
0
0
3
2
2
-1
0
-1
5
4
-5
-1
-3
0
5
-2
0
0
-8
0
0
0
0
0
2
0
0
0
-8
-5
7
0
2
3
0
3
1
0
-1
0
0
0
0
-3
-1
0
2
1
20
-25
-39
-6
-8
-50
14
-14
-5
17
-21
-1
6
1
9
9
9
10
0
14
-6
2
-35
8
27
1
9
33
-2
1
22
58
-34
-7
4
4
-9
28
0
17
-73
50
-14
-22
-3
96
14
1
-13
-7
57
-38
-15
-18
-2
-3
37
61
-1
32
-73
-11
-1
-5
-19
139
-8
-34
-5
-3
-40
-3
-9
-3
-11
46
-5
-40
26
0
-21
-4
-7
0
0
-3
-1
-18
0
2
-16
-2
1
0
-4
0
-1
-1
1
2
10
0
-3
1
0
0
-7
2
0
0
-8
12
4
3
0
0
1
-1
0
1
6
-3
0
0
0
1
0
2
0
1
3
-2
0
1
-2
-1
0
2
0
0
1
7
0
0
0
1
7
0
0
0
0
4
-1
2
0
1
-1
0
0
31
-1
-41
12
-26
17
-42
-68
-24
12
-16
-27
17
-3
0
-2
-4
21
5
2
-20
-14
-65
9
0
8
50
-1
18
-15
13
0
-41
9
-1
0
0
10
-2
-3
-13
43
-21
6
33
-11
23
0
14
-4
11
89
4
32
-7
1
-5
37
14
-15
18
13
75
36
6
1
-62
-11
-25
-17
1
-5
44
-38
6
0
-108
46
32
40
5
16
-3
-9
0
3
-10
3
0
0
0
3
1
-1
0
0
-1
-7
0
0
-6
0
0
3
3
0
-4
0
0
0
0
-2
-1
-1
0
-1
0
4
0
0
0
-4
0
3
0
0
0
2
0
0
2
1
-1
2
0
3
0
0
-2
0
0
2
0
0
1
-1
1
-9
0
0
0
-1
-3
-1
0
0
0
-2
-1
-1
-54
17
-88
-20
6
19
-77
-31
46
-43
68
-45
18
-81
27
-30
24
-32
19
-3
94
13
10
-21
-1
-7
-24
-14
9
2
7
9
1
-13
2
-5
0
-33
-9
-1
69
-8
26
32
-2
-22
27
-13
47
2
1
-6
-5
41
-10
-42
10
10
4
1
2
33
-23
-10
-17
18
-14
-35
13
8
11
3
-8
-8
0
0
0
4
3
-1
-98
65
-21
18
-36
-54
-9
50
-24
39
-20
-2
-43
26
-5
22
-50
5
-6
-2
61
21
6
-37
-25
-27
-7
-27
-25
-9
-13
1
-7
-9
-11
1
0
-5
16
0
27
61
-22
7
-6
37
89
-12
-8
10
-5
7
-8
-1
8
-24
-12
-27
6
-1
37
-17
11
21
-6
-27
-22
20
3
7
5
-13
21
-7
5
-6
-1
1
-19
0
-31
-116
56
32
44
-15
-1
-3
-24
-2
-18
8
-28
15
14
46
-11
-6
54
7
-21
-18
-4
-9
-4
-8
1
0
2
8
6
1
-3
-4
-11
-10
-1
-3
-5
0
8
-13
-30
-3
2
-51
-31
5
4
3
5
5
56
7
-2
20
5
3
6
-1
4
42
19
-3
5
7
0
3
4
5
-4
-6
-18
-3
0
0
0
0
-1
0
-16
26
23
-9
1
-27
-7
-7
-14
1
23
17
-3
8
-5
35
31
21
0
-3
35
8
26
14
-9
-21
-5
6
10
2
-9
8
-14
14
0
-4
1
0
8
1
-10
-27
23
16
-10
57
-32
-16
20
7
-6
-15
2
18
-6
28
-24
-3
12
-5
10
-11
25
11
-3
19
2
-8
5
-1
-9
8
-1
-6
-3
-1
0
-1
3
0
29
-1
23
48
2
-26
-16
14
6
0
14
-1
3
-23
-6
31
8
0
-2
1
-24
-5
7
-16
-1
-9
9
12
0
0
1
19
26
11
-4
0
-22
2
-6
0
74
-31
5
1
-4
-11
14
12
4
-2
-47
15
22
15
14
-1
10
2
2
0
-2
-4
42
-6
0
-3
0
1
-1
-2
-2
1
-7
-3
-2
0
1
4
-1
0
4
-99
29
-19
8
-25
14
-8
-6
-1
-49
22
-18
8
-6
-4
5
17
5
0
37
-57
5
-4
2
-8
0
-3
-1
0
-18
-1
11
29
-1
5
-3
2
8
-6
29
-1
28
27
2
1
25
5
-3
-2
-37
19
-17
-3
-12
-16
5
-2
5
-2
-5
-3
-1
-28
1
16
2
7
0
0
-3
-13
14
20
0
0
-2
-4
19
-1
-8
-34
-6
-2
-3
5
-1
0
1
-1
-6
-28
-18
-2
0
-3
32
-9
-5
1
3
-8
12
-1
0
2
3
34
4
4
-2
3
-4
5
0
-3
0
-6
-12
-6
0
3
-7
0
1
1
-39
-2
-11
0
8
-17
-9
1
0
2
7
-1
5
0
1
-5
4
0
0
0
1
2
-3
-4
1
0
8
-2
0
0
0
1
-7
0
-8
13
-2
3
2
25
15
7
-7
1
-5
-11
-9
5
6
-1
10
-15
-20
6
-1
1
14
-3
-8
5
-4
6
4
0
1
0
-3
1
1
0
1
-2
-6
0
-4
15
1
-1
0
-12
7
3
-7
1
0
-10
4
4
0
7
-1
0
5
3
-7
-11
-5
10
-1
14
28
-5
2
-1
0
2
13
5
0
0
0
2
-2
-4
-87
91
-35
-25
22
-10
5
-36
-30
2
9
21
1
5
6
-22
16
2
-5
1
73
14
21
-24
-8
-14
13
18
-7
-1
-8
-8
-6
0
-3
0
-19
0
-1
0
-17
-5
27
7
-2
-3
4
7
-7
-3
4
-4
-51
-3
-2
0
-1
4
2
-2
8
41
-20
-15
1
-1
-10
-3
3
0
-2
-2
-5
2
0
0
3
6
0
0
44
19
60
-11
-2
-24
42
77
8
22
12
-59
8
-64
-16
-21
10
40
3
-3
30
26
-55
-3
-28
-10
-52
-8
-4
3
10
-2
11
-25
3
0
-1
1
-1
3
29
-5
19
12
-3
-12
11
-10
1
-1
-14
39
-7
9
-23
-1
-10
0
0
-2
37
23
-13
33
3
31
0
31
-22
6
-2
10
29
-15
-3
0
-1
0
0
-3
16
-56
-40
-45
8
86
-57
24
-8
-1
-32
4
-12
19
-1
39
0
21
17
-6
6
-4
-29
10
0
-4
-3
-18
3
0
-1
-12
-2
2
0
-1
-2
-1
-2
-2
-5
27
7
1
-2
-14
5
3
1
0
-7
-1
8
-27
-2
1
-2
-8
8
0
6
0
13
0
1
0
11
1
-10
0
7
2
1
1
0
0
0
2
0
0
-1
5
-44
24
-16
-18
32
13
3
2
24
-1
50
8
-1
-10
42
-60
14
2
1
12
-12
-8
4
-1
41
5
-22
-3
-3
-10
22
-9
-3
2
-13
3
-1
-1
-4
8
-17
-3
4
-31
6
-6
-5
37
-21
-4
2
-1
0
6
-5
2
-12
2
-12
22
6
21
4
6
-7
-9
1
-3
-2
3
-5
-3
-2
0
-10
2
3
-3
16
-34
6
-2
-5
-31
38
2
-5
0
17
-18
8
-2
-1
-9
-7
-5
0
0
35
23
-25
-1
1
2
4
4
-2
0
1
10
-2
-9
0
2
2
-1
2
1
-8
-1
1
-3
0
-5
3
6
1
0
4
6
7
0
0
0
-7
-2
0
0
2
5
-3
0
2
0
0
1
0
0
-5
1
-2
5
1
0
1
0
2
0
25
24
22
-17
-2
1
-34
-5
12
0
0
7
8
33
3
0
-5
-2
4
0
65
-16
-15
-1
0
2
3
-24
-1
1
2
-10
4
-23
2
1
-5
-2
0
0
-11
38
-9
-4
-6
-1
5
-1
3
0
0
7
2
12
-6
0
1
15
13
0
-4
-5
12
7
0
0
-6
-10
4
0
-4
4
9
-1
5
0
1
7
-3
0
2
-11
0
-10
-1
3
-2
6
-6
2
0
7
7
-9
0
-2
0
13
-17
3
-6
22
-2
0
0
0
14
-14
2
1
6
4
1
2
0
0
0
1
5
0
1
5
-1
0
-1
3
-4
0
-2
0
2
0
-2
0
0
-2
-7
0
-3
0
0
0
-15
5
3
0
1
2
-4
-1
0
8
1
0
-1
0
-2
2
-1
-6
0
-4
2
-5
1
2
-3
4
-11
0
0
5
3
25
3
0
2
0
-4
5
0
-32
4
-4
-1
0
4
25
0
-1
0
0
1
1
0
0
-2
1
0
0
0
3
3
5
0
0
-2
-2
-2
0
0
1
12
0
8
1
1
-1
-2
-1
0
0
0
-1
1
-1
1
-11
0
-1
0
-4
0
-16
2
0
-4
0
0
-4
-37
-69
16
29
27
-12
-12
-2
20
-4
-47
-4
-28
11
1
-1
7
18
4
4
5
-77
1
-7
5
-27
4
-20
7
-1
-1
-1
-1
-18
1
-1
-6
0
3
0
-24
38
-12
-8
1
49
-12
15
2
1
7
-5
2
-11
0
-1
7
2
-4
-1
-41
-14
8
42
3
-4
2
-14
-9
0
-3
-2
-1
-2
0
0
0
1
3
0
55
-15
-47
47
5
0
14
11
-27
4
-1
12
0
-11
2
0
-9
17
22
-1
20
-9
12
-14
-1
-4
14
54
-50
-9
3
-21
-32
-5
0
-5
-1
-3
-3
0
-17
-51
-14
46
13
-11
9
27
9
7
19
28
-5
16
9
10
-16
-11
-12
0
18
31
-45
-7
5
7
-16
-2
-2
-20
-7
-6
18
26
-6
0
-3
5
-2
0
7
-47
23
22
1
0
-1
12
8
0
1
5
1
-7
-1
3
-4
-8
0
1
-12
9
-15
-3
-2
1
-1
-3
-4
-1
0
4
-4
0
0
0
0
1
-2
0
-12
3
22
1
4
-18
4
8
-5
2
-5
4
2
0
-2
0
0
-2
-1
0
-15
-4
13
1
-3
-3
0
3
1
0
2
1
-1
0
0
0
0
0
2
0
21
10
20
-26
0
-8
4
-39
-16
1
1
10
-15
3
-1
-1
6
-5
9
0
2
-12
-13
16
2
14
-7
0
-10
0
0
6
0
2
0
0
2
-1
-4
0
-6
13
21
32
10
4
2
12
7
-1
0
10
0
18
-3
-4
-29
3
-13
9
2
31
28
17
11
-2
-1
21
34
-11
0
21
1
4
5
0
6
6
-16
-2
-75
19
-4
-14
-1
19
2
-14
10
0
12
6
-2
1
0
-2
1
-5
7
0
16
18
-5
8
0
-1
0
-3
0
0
-3
-4
2
1
-1
0
1
0
-4
0
11
26
-21
-2
3
2
7
-2
-3
0
-3
-5
2
0
-1
-2
0
-1
0
0
7
7
-11
4
0
-5
-1
-2
1
0
0
0
6
2
1
0
0
0
0
0
54
-3
-61
-43
-27
4
-45
10
-5
0
-2
-7
9
7
2
0
0
6
1
-1
2
18
-4
38
-1
-1
6
-6
-5
0
2
-1
6
37
1
1
1
3
0
0
-75
21
-7
-21
13
9
34
33
-22
4
-4
19
-6
-5
1
-7
7
10
-3
0
6
8
-23
36
6
6
-5
9
18
1
14
-2
43
25
-1
-1
1
2
-12
0
-4
-6
10
-1
-2
0
-4
1
-1
0
0
-2
-2
0
0
3
1
0
-7
0
0
2
0
0
0
0
-1
-2
1
0
0
0
-1
-4
0
-2
0
0
0
0
2
1
2
4
-1
0
1
2
3
-2
0
0
-1
3
0
0
-2
0
2
0
0
4
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
17
12
1
-3
2
6
-1
0
0
1
-19
5
2
3
2
17
5
-3
0
0
-3
-17
17
-4
0
-4
-12
-18
-3
0
-1
-2
8
-2
0
-5
-3
-7
0
-3
-20
17
-20
-4
0
9
23
6
-1
11
-8
-21
-22
6
2
1
-21
6
8
0
13
23
14
0
1
6
16
4
-5
0
-4
6
-5
10
-3
17
-7
13
0
2
-59
25
-50
-1
2
8
3
1
0
0
-4
-2
-5
0
5
-2
1
1
0
-10
20
-4
-5
-4
-4
-1
-8
0
1
-3
-11
-3
3
-1
8
1
0
0
0
8
11
25
3
2
-2
2
1
0
2
1
16
4
5
-1
0
4
0
-1
0
1
-5
-20
18
-1
-3
1
1
0
3
1
8
2
0
-1
0
-1
0
0
-2
-4
-27
13
-26
-6
-6
0
-23
-25
-3
11
7
1
-2
-6
0
-12
11
1
0
8
38
10
-9
2
0
-6
10
-9
0
-2
1
-10
-1
-5
4
-2
-1
-6
0
6
1
21
26
-6
20
-18
-29
2
2
-1
-8
-21
12
0
-1
16
31
-8
1
6
14
0
15
42
1
-14
92
5
2
-1
19
-22
18
-8
-1
6
19
23
11
-22
-17
-3
-7
-1
-2
-5
3
0
3
0
3
5
1
-1
-1
4
-4
-2
0
-1
-4
-5
3
3
0
0
0
-6
0
0
-1
0
0
0
0
0
0
12
0
0
8
41
1
0
1
18
-2
0
-5
0
-3
-11
0
0
-1
-5
0
-8
0
1
10
2
8
-1
0
1
2
13
-2
1
3
2
-7
2
0
0
0
3
2
3
-32
-32
-12
4
5
-7
2
-1
0
0
-12
-11
-3
2
0
-6
5
8
-4
0
11
3
7
0
0
10
-35
-5
0
0
1
2
8
2
0
1
-5
0
0
4
-5
23
-26
0
-3
13
4
6
3
1
9
-15
-33
4
0
9
17
-5
9
1
-23
35
24
0
0
12
-1
22
-19
0
7
-5
33
-2
0
3
4
-18
5
-3
16
-9
-16
-2
0
2
3
0
0
0
5
8
2
0
0
2
-2
0
0
1
-18
-2
1
1
0
1
3
0
1
0
0
7
0
-2
3
1
0
-2
0
0
3
-2
-11
0
1
-7
0
-8
1
0
8
-5
4
-6
1
-1
3
0
0
-2
0
9
13
-1
0
0
8
0
0
-2
-5
11
-4
0
0
0
4
1
0
1
-26
39
-9
0
0
0
-3
14
-1
-1
-2
8
-10
0
0
-4
1
-17
0
1
21
4
-1
1
0
6
-2
1
0
0
3
-11
6
2
0
2
1
2
0
1
-21
2
23
8
4
-1
-16
19
-6
0
9
11
-6
0
0
-6
-6
3
0
1
21
3
63
1
-2
3
26
9
0
0
2
-60
8
1
0
3
-2
17
0
0
2
2
-7
0
0
0
3
-1
-1
0
0
0
1
0
0
0
-5
0
0
0
0
3
-3
0
0
0
0
0
0
0
-2
0
1
0
0
-2
2
0
0
0
4
-11
-1
-8
0
2
-3
2
2
0
-8
3
0
1
0
13
7
1
1
0
-3
-2
2
1
0
0
1
2
0
0
2
4
3
0
0
-1
0
-3
0
0
-8
-39
0
4
0
0
-9
0
-4
0
0
-2
2
1
0
-1
2
7
-1
0
1
6
6
-1
0
-2
2
-6
0
0
1
-1
2
0
0
-3
3
0
0
0
-11
22
-6
-7
1
-3
4
-5
2
0
1
1
16
-1
1
0
10
-6
2
0
4
-3
-14
-6
0
0
-5
-2
0
0
-2
5
-10
5
0
-4
-21
8
4
28
48
21
19
-77
-18
-6
37
-32
0
0
-1
-1
6
13
-117
19
-20
0
-22
1
-3
11
-22
141
-14
3
0
0
-1
3
-3
-34
-20
-39
-2
-14
2
0
0
11
12
-61
20
19
0
0
0
2
5
-92
111
31
1
0
9
0
0
-1
-13
-31
-9
5
0
0
0
0
4
14
-92
9
13
7
0
1
0
9
30
16
2
0
0
0
-1
0
-2
-66
-31
21
0
0
-1
0
0
-12
-7
122
10
0
0
0
0
0
0
-26
11
26
0
-5
1
0
0
-3
-49
-21
8
0
0
0
0
0
0
21
-8
14
0
0
3
0
0
0
-7
193
-9
0
0
0
0
0
0
1
-31
-28
0
0
1
0
-3
-2
94
-86
0
0
0
0
0
0
-9
16
-4
0
0
0
2
0
0
0
-5
52
0
0
0
0
0
0
0
3
-13
0
0
-1
0
0
1
-5
-14
-15
0
0
0
0
0
0
2
29
-13
0
0
0
-1
0
0
0
-33
18
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
5
28
-22
0
0
0
0
0
0
3
-56
15
0
0
0
-8
0
0
-1
-8
38
0
0
0
0
0
0
0
3
-24
0
0
-3
0
0
0
0
52
-60
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
2
-46
0
0
0
0
0
0
0
0
27
0
0
0
0
7
49
-7
-6
73
-15
7
0
0
5
0
-9
-25
-24
20
16
0
0
0
2
3
4
-39
-35
18
0
0
2
3
1
38
6
14
-36
0
0
-1
-2
6
-22
-21
50
-6
0
0
4
0
-15
-5
54
-7
31
0
0
0
-2
0
-8
-1
4
11
0
0
3
8
4
19
32
-5
13
0
0
0
0
1
-6
-18
27
0
0
0
2
6
0
6
-92
46
0
0
0
-1
-1
-1
31
55
17
0
0
0
-4
2
-2
0
50
11
0
0
0
0
0
0
-11
69
14
0
0
0
0
0
0
8
148
-24
0
0
0
0
0
0
0
-10
11
0
0
0
1
0
0
-2
33
-5
0
0
0
0
2
1
-21
-23
0
0
0
0
0
0
0
23
-3
0
0
0
0
0
0
0
0
83
0
0
0
0
2
-2
0
-9
9
0
0
0
0
0
0
0
-79
59
0
0
0
0
0
0
0
-28
-15
0
0
0
0
0
0
0
-3
62
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
0
-1
-3
-14
0
0
0
0
0
0
0
17
8
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-25
-76
0
0
0
0
0
0
0
-3
-26
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
0
0
0
0
-14
10
-10
-11
31
82
28
-12
0
0
-2
7
39
-50
14
-39
-13
0
-1
-2
0
-16
-31
-1
-17
11
0
0
0
-2
3
-28
30
-20
10
0
-18
0
0
0
16
-58
22
3
0
0
0
1
9
3
49
30
7
0
-5
0
0
12
19
51
-59
2
0
0
0
-1
2
2
61
-8
10
0
0
0
-1
19
-55
-5
4
0
0
0
0
0
-1
4
-69
3
0
0
-8
0
0
3
26
-8
-4
0
0
0
-2
0
2
3
-30
24
0
0
0
0
0
-2
-68
10
20
0
0
0
0
0
0
1
4
28
0
0
1
0
0
3
-6
-50
-5
0
0
0
0
0
-4
0
-14
12
0
0
-2
0
0
28
-10
8
0
0
0
0
0
0
4
-20
21
0
0
0
1
0
0
1
16
-18
0
0
0
0
0
0
-1
-13
38
0
0
0
5
0
-3
0
-73
20
0
0
0
0
0
0
0
-11
26
0
0
0
11
0
0
-5
0
-13
0
0
0
0
0
0
0
2
78
0
0
0
0
0
0
-1
10
27
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-22
42
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
-1
-19
0
0
0
4
0
0
0
0
5
0
0
0
0
0
0
0
0
-6
0
0
0
0
6
16
33
-42
59
-76
28
0
0
4
-1
1
-11
-58
59
15
0
0
0
1
-8
0
-55
-108
13
0
0
-10
0
2
49
-12
-91
14
0
0
1
0
-4
4
-28
26
3
0
0
-6
-5
-3
-2
-11
-63
20
0
0
0
-1
-6
28
5
1
-24
0
0
-15
-5
5
15
2
26
-19
0
0
0
1
12
-62
18
48
0
0
0
1
-1
-1
27
21
-1
0
0
0
0
-2
0
3
10
-8
0
0
0
2
1
10
-8
30
-12
0
0
0
0
0
0
2
24
-16
0
0
0
-3
0
-1
0
-25
24
0
0
0
0
0
0
-1
-4
76
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
29
-63
0
0
0
0
0
1
-7
-33
39
0
0
0
0
0
0
-4
-21
-5
0
0
0
0
0
1
0
1
-27
0
0
0
0
0
0
0
-7
49
0
0
0
0
0
0
0
26
-48
0
0
0
0
0
0
1
5
-5
0
0
0
0
-1
1
0
0
-15
0
0
0
0
0
0
0
-15
64
0
0
0
0
0
0
1
1
36
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
29
4
0
4
-43
-4
-9
14
-47
0
0
0
1
4
27
20
15
-41
0
1
0
-1
-3
26
-52
-40
14
0
0
0
0
-1
-13
-4
17
-7
24
2
0
1
-12
13
-7
5
1
0
0
0
1
2
0
-8
38
-14
0
0
0
0
1
21
96
-4
8
0
0
0
1
-1
0
7
41
-3
17
0
0
0
0
5
38
8
0
0
0
0
0
-4
-52
80
-10
0
0
4
0
0
0
27
60
4
0
0
0
0
0
3
3
31
-6
0
-1
0
0
0
13
-4
-62
6
0
0
0
0
0
0
-1
-89
10
0
0
0
0
0
0
7
26
-6
0
0
0
0
0
0
-2
17
-17
0
1
2
0
0
-4
29
-51
0
0
0
0
0
0
0
8
2
0
0
0
-2
0
0
-1
5
-34
0
0
0
0
0
0
0
0
57
0
0
13
0
0
4
7
8
-15
0
0
0
0
0
0
0
0
-28
0
0
0
1
0
0
0
-7
66
0
0
0
0
0
0
0
-4
3
0
0
-3
0
0
0
0
-71
77
0
0
0
0
0
-1
0
-8
12
0
0
0
0
0
0
0
13
-90
0
0
0
0
0
0
0
-1
14
0
0
-20
0
0
0
0
35
-45
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
26
-5
10
-89
0
0
0
-11
0
16
32
-53
-11
0
0
9
1
15
-37
228
44
-6
0
0
2
6
0
-9
-74
100
-3
0
0
0
0
0
-2
129
24
-17
0
0
0
-1
-5
0
-88
22
7
0
0
0
0
0
0
21
-14
-10
0
0
0
7
0
0
20
21
-3
0
0
0
0
-23
-12
64
13
0
0
0
0
0
0
-23
187
2
0
0
0
0
0
0
-11
139
2
0
0
0
3
1
0
15
108
-23
0
0
0
0
0
-1
4
-64
4
0
0
0
0
0
0
0
28
10
0
0
0
0
0
1
-1
-51
6
0
0
0
0
0
0
-1
2
-10
0
0
0
0
1
10
-15
-8
0
0
0
0
0
1
11
-11
-51
0
0
0
0
0
0
-26
-18
94
0
0
0
0
0
0
0
-9
-32
0
0
0
0
0
0
-5
3
-27
0
0
0
0
0
0
1
3
-16
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-3
0
-2
1
0
0
0
0
0
0
5
7
-58
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
4
0
0
0
26
-5
-2
-3
0
54
2
-5
0
0
0
0
15
3
-9
27
12
0
2
0
0
8
-15
32
-44
-2
0
0
0
0
4
4
-31
-81
4
0
-3
0
0
0
-14
54
-41
26
0
0
0
0
-2
-2
0
-39
23
0
-24
0
0
0
-29
-35
-23
7
0
0
0
-2
-2
1
-7
-23
5
0
6
0
0
-16
-13
-123
5
0
0
0
0
0
0
-6
-47
-8
0
0
2
0
0
0
10
-65
8
0
0
0
0
0
-2
2
27
4
0
0
2
0
0
0
-1
2
-45
0
0
0
0
0
0
-2
10
-62
0
0
5
0
0
0
0
5
-7
0
0
0
0
0
0
0
-7
-60
0
0
5
0
1
-9
8
-22
0
0
0
0
0
0
2
16
16
0
0
0
-5
0
0
0
-24
-4
0
0
0
0
0
0
0
1
-4
0
0
0
-15
0
0
-2
33
2
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
-1
-1
-6
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
4
19
-39
0
0
0
0
0
0
0
-1
14
0
0
0
4
0
0
0
-3
47
0
0
0
0
0
0
0
-5
23
0
0
0
-2
0
0
-1
0
33
0
0
0
0
0
0
0
0
-19
0
0
0
12
0
0
0
3
5
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
-6
-25
18
54
14
7
0
0
1
-2
-14
-11
21
-131
18
0
0
0
0
-12
5
-35
-16
-18
0
0
-14
-3
1
0
-4
-15
-6
0
0
0
0
1
-10
-2
26
-8
0
0
1
3
5
0
3
35
-15
0
0
0
0
3
2
0
-9
0
0
0
-2
-4
1
0
3
50
-13
0
0
0
1
0
-4
-29
-13
0
0
0
0
0
0
3
-15
-25
0
0
0
0
0
0
3
-3
-28
0
0
0
2
2
0
0
21
-11
0
0
0
0
-4
2
4
-47
49
0
0
0
3
1
0
0
17
-16
0
0
0
0
0
-3
1
1
12
0
0
0
4
-2
0
0
0
-15
0
0
0
0
0
-4
1
-6
0
0
0
0
-1
-1
1
0
-10
0
0
0
0
0
0
6
0
7
0
0
0
0
-2
3
-1
-1
20
0
0
0
0
0
0
0
5
5
0
0
0
0
0
-2
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
4
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
-1
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
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
-1
0
-4
0
0
0
-4
1
0
12
2
42
38
-13
0
0
0
3
3
0
76
-17
-12
0
0
1
0
-1
1
-2
-42
2
0
0
0
0
0
0
-7
-26
36
0
-6
2
0
-2
-1
-13
0
5
0
0
0
0
0
1
13
39
13
0
0
0
0
1
-1
16
49
-11
0
0
0
0
0
1
0
16
-1
0
2
0
0
0
1
-51
30
16
0
0
0
0
0
-5
-34
-12
6
0
0
0
0
0
1
54
-90
4
0
0
0
0
0
0
-3
-53
24
0
-8
0
0
0
-6
-19
-51
14
0
0
0
0
0
1
0
6
15
0
0
0
0
0
0
2
53
7
0
0
0
0
0
0
0
10
13
0
0
-3
0
0
18
-64
13
0
0
0
0
0
0
-4
38
-43
0
0
0
-1
0
0
1
-4
18
0
0
0
0
0
0
0
2
4
0
0
-3
0
0
1
1
-45
-3
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
22
-17
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
-1
-22
-31
0
0
0
0
0
0
-2
0
-65
0
0
0
0
0
0
0
7
43
0
0
0
0
0
0
0
-3
59
0
0
-1
0
0
0
-1
-34
77
0
0
0
0
0
0
0
20
5
0
0
0
0
0
0
0
11
-102
0
0
0
0
0
0
0
0
63
0
0
0
0
0
-6
-2
34
-32
0
0
0
0
1
2
12
7
5
-49
0
0
0
-1
-1
-3
-28
42
9
0
0
0
0
0
3
0
11
-23
0
0
0
0
-3
3
-4
18
-1
0
0
0
0
4
6
-16
-21
5
0
0
0
0
-12
-1
5
-26
9
0
0
0
-1
11
0
10
-18
11
0
0
0
0
1
4
26
-30
0
0
0
0
0
0
-3
-1
-55
0
0
0
0
0
0
0
7
-52
2
0
0
0
0
-6
0
0
-47
25
0
0
0
0
4
0
-4
87
5
0
0
0
0
0
0
12
-50
4
0
0
0
0
5
1
2
-4
2
0
0
0
-1
-4
0
0
33
24
0
0
0
0
0
-5
14
-7
0
0
0
0
0
-1
0
14
81
0
0
0
0
0
0
0
31
55
0
0
0
0
1
1
0
13
-3
0
0
0
0
0
0
0
19
21
0
0
0
0
0
0
0
17
-21
0
0
0
0
0
0
0
-3
-1
0
0
0
0
-1
0
0
-5
48
0
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
-18
-79
0
0
0
0
0
0
0
-46
18
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
1
65
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
0
0
1
-15
0
0
0
-1
1
-8
2
-47
-7
0
0
0
0
0
-1
4
28
74
-47
0
0
6
0
-1
-10
-7
60
-8
0
0
0
-1
0
2
-15
42
-36
0
0
0
0
4
-1
-14
3
-15
0
0
0
0
-1
-1
11
9
-15
0
0
-10
0
3
-1
-1
30
-19
0
0
0
3
2
0
8
-65
32
0
0
0
0
0
10
-6
-92
8
0
0
0
0
0
-3
-7
-22
7
0
0
-1
0
0
3
-9
48
-7
0
0
0
0
0
8
5
19
11
0
0
-2
0
0
-1
-7
8
10
0
0
0
0
0
-2
0
17
4
0
0
-4
0
0
5
1
-12
1
0
0
0
3
0
-13
0
42
-21
0
0
0
0
0
-12
3
44
0
0
0
0
0
0
-10
-50
25
0
0
0
0
0
0
2
19
-55
0
0
0
0
0
0
7
-1
27
0
0
0
0
0
0
1
-15
-25
0
0
0
0
0
0
1
-40
19
0
0
0
-6
0
0
1
23
-6
0
0
0
0
0
0
0
-7
61
0
0
0
0
0
0
0
15
38
0
0
0
0
0
0
0
-6
17
0
0
0
-2
0
0
0
-11
-67
0
0
0
0
0
0
0
10
11
0
0
0
0
0
0
0
1
-39
0
0
0
0
0
0
0
-2
-18
0
0
0
-2
0
0
0
1
-20
0
0
0
0
0
0
0
1
29
0
0
0
0
-2
6
3
-45
-40
43
0
0
0
-5
4
-7
38
20
-45
0
0
0
0
-1
0
19
8
-9
0
0
0
8
-12
0
-6
32
-68
0
0
0
0
0
1
-3
-12
16
0
0
0
-10
6
-2
-5
-34
15
0
0
0
0
0
-2
-9
-4
-11
0
0
0
11
-3
-1
-6
35
15
0
0
0
0
-3
0
-2
42
-5
0
0
0
0
0
-1
-1
-31
10
0
0
0
0
3
0
-14
40
-38
0
0
0
5
16
0
-2
39
-47
0
0
0
0
0
0
-1
-39
11
0
0
0
1
0
0
-1
46
2
0
0
0
0
10
0
0
-9
-11
0
0
0
0
-9
-2
0
-2
29
0
0
0
0
0
0
-25
87
0
0
0
0
0
-2
0
-2
-16
0
0
0
0
0
0
0
2
-28
0
0
0
0
-3
0
3
2
-33
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
-1
0
5
-36
0
0
0
0
0
0
0
-1
-24
0
0
0
0
-1
6
-4
-6
-12
0
0
0
0
0
0
0
23
-46
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
17
13
0
0
0
0
-1
0
0
1
-33
0
0
0
0
0
0
0
11
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
-3
-7
0
0
0
0
2
0
0
0
40
0
0
35
0
0
1
-7
-116
6
-21
0
0
0
0
0
0
-12
43
22
0
0
-3
0
0
1
21
6
-7
0
0
0
0
0
0
-17
-17
-2
0
-27
0
0
0
-3
-43
-108
6
0
0
0
0
3
0
-4
23
-8
0
0
0
0
0
0
-15
36
-7
0
0
0
0
0
0
0
26
14
0
5
0
0
1
4
-14
-53
14
0
0
0
0
0
0
0
76
13
0
0
2
0
0
-1
-11
-36
2
0
0
0
0
0
0
13
77
7
0
31
0
0
0
-2
-11
-10
6
0
0
0
0
0
-1
0
57
4
0
0
0
0
0
0
0
36
7
0
0
0
0
0
0
0
7
4
0
4
0
0
0
3
33
-35
0
0
0
0
0
0
0
17
-20
0
0
0
6
0
0
0
61
-1
0
0
0
0
0
0
0
1
62
0
0
6
0
0
0
-1
-45
3
0
0
0
0
0
0
0
-5
18
0
0
0
-3
0
0
0
18
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
-27
30
0
0
0
0
0
0
2
3
-69
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
3
-8
0
0
-6
0
0
0
0
1
9
0
0
0
0
0
-3
0
1
-3
0
0
0
-4
0
0
0
2
-27
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
4
4
-26
-15
22
0
0
0
0
1
1
1
18
-8
0
0
0
0
0
1
1
-64
18
0
0
0
9
-3
0
-3
-58
40
0
0
0
0
1
0
2
25
-5
0
0
0
0
-5
0
3
-58
-3
0
0
0
0
0
0
-19
-31
16
0
0
0
1
-1
0
5
-3
-8
0
0
0
0
0
0
0
-59
14
0
0
0
0
0
0
1
62
1
0
0
0
0
0
0
0
37
-2
0
0
0
0
-4
0
-1
31
10
0
0
0
0
0
0
0
5
17
0
0
0
0
0
0
0
103
6
0
0
0
0
-1
0
0
123
-10
0
0
0
-1
-1
0
0
-7
39
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-2
-50
0
0
0
0
0
0
0
3
-45
0
0
0
0
-1
1
0
-1
-11
0
0
0
0
0
0
0
-3
-21
0
0
0
0
0
-1
0
-2
-11
0
0
0
0
0
0
0
-3
-55
0
0
0
0
0
0
0
5
-28
0
0
0
0
0
0
-1
-7
-21
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
0
-104
0
0
0
0
0
0
0
2
-32
0
0
0
0
0
0
0
0
39
0
0
0
0
0
-2
0
-1
-2
0
0
0
0
0
0
0
0
93
0
0
0
0
1
0
0
0
8
0
0
0
5
-4
2
-3
-8
-5
22
0
0
0
0
0
1
-15
-13
14
0
0
-1
0
0
0
0
14
-26
0
0
0
0
0
0
0
28
-13
0
0
-1
0
0
0
6
22
8
0
0
0
0
0
0
-1
-14
8
0
0
-8
0
0
0
0
1
-6
0
0
0
6
0
0
-4
2
14
0
0
0
0
0
1
0
50
-17
0
0
0
0
0
0
0
23
5
0
0
-3
0
0
0
-1
-13
-3
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
13
-7
0
0
0
0
0
0
0
20
0
0
0
-11
0
0
0
3
35
0
0
0
0
-2
0
0
0
10
-24
0
0
9
0
0
6
5
-2
0
0
0
0
0
0
-1
50
27
0
0
0
-9
0
0
2
-2
-2
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
-1
31
0
0
0
0
0
0
0
9
-8
0
0
0
7
0
0
0
-1
-7
0
0
0
0
3
0
0
0
-1
0
0
0
-6
0
0
-1
10
-3
0
0
0
0
0
0
0
-43
22
0
0
0
17
0
0
0
-2
-2
0
0
0
0
-2
0
0
11
14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
28
0
0
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
-27
0
0
0
0
-12
-8
7
-7
-10
-2
0
0
0
0
1
1
-10
13
-6
0
0
0
0
0
0
-1
-18
6
0
0
0
-1
0
0
-1
-3
24
0
0
0
0
0
2
0
-1
-19
0
0
0
0
1
1
1
0
-56
0
0
0
0
0
1
-2
-3
13
0
0
0
3
-4
-1
-1
0
30
0
0
0
0
-1
-2
0
-10
13
0
0
0
4
0
0
0
13
-36
0
0
0
0
0
0
0
15
-5
0
0
0
1
-1
0
0
-56
10
0
0
0
0
0
-1
0
35
-19
0
0
0
0
-2
0
1
61
-22
0
0
0
0
0
0
0
50
-46
0
0
0
-5
1
0
0
-4
32
0
0
0
0
0
-3
-11
3
0
0
0
0
2
0
0
-3
1
0
0
0
0
0
0
0
1
-5
0
0
0
0
-3
0
0
-2
1
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
0
0
8
-1
0
0
0
0
-1
-2
0
2
6
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
-10
15
0
0
0
0
0
0
0
0
35
0
0
0
0
4
0
0
-5
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
-2
0
0
0
3
-1
-1
-33
60
12
0
0
0
0
0
1
-4
19
-49
0
0
0
3
0
1
4
-8
29
0
0
0
0
0
0
0
-9
2
0
0
4
10
0
0
5
38
-35
0
0
0
0
1
-2
-1
-6
20
0
0
0
0
0
0
-7
24
41
0
0
0
0
0
0
-4
-7
5
0
0
0
0
0
0
31
3
21
0
0
0
0
0
0
0
20
-8
0
0
0
0
0
0
-5
28
10
0
0
0
0
0
0
0
-1
50
0
0
0
0
0
0
-2
1
17
0
0
0
0
0
0
0
6
22
0
0
0
0
0
0
0
9
37
0
0
0
0
0
0
0
0
43
0
0
0
0
0
1
-16
-5
28
0
0
0
0
0
0
-2
39
-31
0
0
0
-1
0
0
0
54
-52
0
0
0
0
0
0
0
2
52
0
0
0
0
0
0
-3
-5
1
0
0
0
0
0
0
0
9
-28
0
0
0
0
0
0
0
-25
-12
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-5
-25
5
0
0
0
0
0
0
0
-8
-9
0
0
0
-4
0
0
0
-16
-21
0
0
0
0
0
0
0
-1
59
0
0
7
0
0
0
0
-37
2
0
0
0
0
0
0
0
-29
43
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
1
-15
56
-109
0
0
0
0
0
0
1
37
49
0
0
0
0
-1
2
2
14
5
0
0
0
0
1
0
1
51
-24
0
0
0
0
0
1
-1
-11
49
0
0
0
0
-1
0
-1
-26
-6
0
0
0
0
0
-1
0
32
12
0
0
0
0
1
2
0
-11
-10
0
0
0
0
0
0
-1
-39
47
0
0
0
0
0
0
0
-27
35
0
0
0
0
0
0
1
-18
57
0
0
0
0
0
-1
0
5
46
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
2
-39
0
0
0
0
0
0
0
3
27
0
0
0
0
0
0
0
-23
45
0
0
0
0
0
0
0
-27
-13
0
0
0
0
0
0
0
10
-50
0
0
0
0
0
0
0
-16
-3
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
-16
7
0
0
0
0
0
0
0
18
-9
0
0
0
0
0
0
0
-6
55
0
0
0
0
0
0
0
11
33
0
0
0
0
0
0
0
8
23
0
0
0
0
0
0
0
3
59
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
6
26
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-8
15
0
0
0
2
0
-1
9
-24
-21
0
0
0
0
0
0
-3
-27
27
0
0
0
1
0
0
3
-59
-16
0
0
0
0
0
0
1
14
70
0
0
0
4
0
0
-29
-20
53
0
0
0
0
0
0
2
-4
42
0
0
0
-12
0
0
-13
7
54
0
0
0
0
0
0
4
-16
-22
0
0
0
-1
0
0
-4
23
4
0
0
0
0
0
0
3
6
-9
0
0
0
-1
0
0
7
-25
38
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-1
-15
4
0
0
0
0
0
0
0
-7
55
0
0
0
1
0
0
-2
-9
-64
0
0
0
0
0
0
0
0
-36
0
0
0
1
0
0
0
1
51
0
0
0
0
0
0
0
-12
16
0
0
0
-1
0
0
0
3
5
0
0
0
0
0
0
15
-4
-27
0
0
0
-3
0
0
1
-20
27
0
0
0
0
0
0
0
63
-68
0
0
0
5
0
0
0
6
-8
0
0
0
0
0
0
0
-4
-27
0
0
0
0
0
0
-2
10
13
0
0
0
0
0
0
0
9
-26
0
0
0
-1
0
0
2
-6
6
0
0
0
0
0
0
-1
4
-16
0
0
0
1
0
0
0
-66
28
0
0
0
0
0
0
0
2
-2
0
0
0
5
0
0
0
27
-47
0
0
0
0
0
0
0
0
17
0
0
0
0
-2
7
10
-10
-16
0
0
0
0
3
0
1
-42
-3
0
0
0
0
-1
0
1
31
19
0
0
0
0
0
0
-1
-53
27
0
0
0
0
-4
0
1
-23
1
0
0
0
0
13
-6
-1
13
-26
0
0
0
0
0
0
2
-2
-55
0
0
0
0
4
-1
1
-2
38
0
0
0
0
0
0
0
31
-33
0
0
0
0
0
0
-4
1
-32
0
0
0
0
0
0
0
5
-20
0
0
0
0
-2
0
0
4
-28
0
0
0
0
0
0
5
3
-34
0
0
0
0
-1
0
0
11
19
0
0
0
0
0
0
1
0
-60
0
0
0
0
0
-1
0
2
6
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
11
24
0
0
0
0
0
0
0
-33
47
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
-11
57
0
0
0
0
0
0
-1
0
-54
0
0
0
0
0
0
0
-1
50
0
0
0
0
-1
0
0
-9
-53
0
0
0
0
0
0
0
15
164
0
0
0
0
1
0
0
2
-33
0
0
0
0
0
0
0
2
62
0
0
0
0
0
0
0
0
50
0
0
3
0
0
-1
-1
-47
49
0
0
0
0
0
1
0
8
11
0
0
0
0
0
0
0
-33
-23
0
0
0
0
0
0
0
3
-39
0
0
-15
1
0
0
-5
-9
70
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
-21
-3
0
0
0
0
0
0
0
0
8
0
0
1
0
0
1
-7
19
25
0
0
0
0
0
0
3
2
26
0
0
0
0
0
0
-1
2
21
0
0
0
0
0
0
1
4
58
0
0
12
0
0
0
0
25
-10
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
-116
0
0
-1
0
0
0
2
-12
-3
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
5
-43
-21
0
0
0
0
0
0
0
8
31
0
0
-5
-2
0
0
0
-27
42
0
0
0
0
0
-1
0
-33
29
0
0
0
-2
0
0
0
-18
17
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
1
-1
32
0
0
0
0
0
0
0
76
-103
0
0
0
0
0
0
-1
-10
22
0
0
0
0
0
0
0
-7
37
0
0
1
0
0
0
0
-55
8
0
0
0
0
0
0
0
-17
50
0
0
0
-1
0
0
0
-4
-5
0
0
0
0
0
0
0
-5
-28
0
0
0
0
0
2
16
2
-22
0
0
0
0
0
0
0
-10
-8
0
0
0
0
0
-1
2
4
-32
0
0
0
0
2
0
0
7
-21
0
0
0
0
0
0
0
-19
14
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-1
0
-7
2
0
0
0
0
0
0
-2
-35
40
0
0
0
0
0
-1
0
-9
54
0
0
0
0
0
1
0
0
48
0
0
0
0
0
6
2
2
47
0
0
0
0
0
0
-1
-1
31
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-4
98
0
0
0
0
0
3
0
-1
16
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-1
-44
0
0
0
0
0
1
0
-2
-4
0
0
0
0
0
0
0
31
33
0
0
0
0
0
0
0
-26
25
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
11
27
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-3
20
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
-2
115
0
0
0
0
1
0
0
3
-11
0
0
0
-1
-2
-4
-4
11
19
0
0
0
0
0
0
0
4
-11
0
0
0
-4
0
0
1
4
-8
0
0
0
0
0
0
0
-2
-41
0
0
0
7
0
0
3
34
-68
0
0
0
0
0
0
0
0
-23
0
0
0
-11
0
0
0
-1
9
0
0
0
0
0
2
0
-4
-3
0
0
0
-5
0
0
-8
10
-25
0
0
0
0
0
0
0
-1
42
0
0
0
-3
0
0
0
-11
23
0
0
0
0
0
-1
0
-5
-27
0
0
0
0
0
0
0
-1
-36
0
0
0
0
0
0
0
-2
19
0
0
0
-3
0
0
0
-1
-26
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-12
17
44
0
0
0
0
0
0
0
-2
42
0
0
0
1
0
0
0
17
18
0
0
0
0
0
0
0
-3
10
0
0
0
3
0
0
0
1
57
0
0
0
0
0
0
0
6
7
0
0
0
-6
0
0
0
-10
-6
0
0
0
0
0
0
0
-2
-3
0
0
0
4
0
0
12
3
-11
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-5
88
0
0
0
0
0
0
0
2
-35
0
0
0
-2
0
0
0
17
-61
0
0
0
0
0
0
0
-2
43
0
0
0
-4
0
0
0
0
17
0
0
0
0
0
0
0
2
44
0
0
0
0
1
0
-2
-12
27
0
0
0
0
-1
0
0
-13
-10
0
0
0
0
0
0
-12
-12
-3
0
0
0
0
1
0
0
-2
7
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
-2
0
0
-8
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
-8
55
0
0
0
0
-1
1
0
13
0
0
0
0
0
-1
0
0
-1
-1
0
0
0
0
0
2
0
0
17
0
0
0
0
0
2
0
-2
55
0
0
0
0
-1
-1
0
1
-12
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
1
0
0
-3
0
0
0
0
0
0
4
3
7
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
1
-8
6
0
0
0
0
0
2
0
17
19
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
-20
19
0
0
0
0
0
0
0
17
-53
0
0
0
0
0
0
0
0
28
0
0
0
0
-2
-1
2
0
9
0
0
0
0
0
0
0
1
11
0
0
0
0
-2
0
0
7
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
-2
0
0
6
-21
0
0
1
0
0
3
22
-9
1
0
0
0
0
0
2
3
-37
82
0
0
0
-4
0
-1
0
-20
10
0
0
0
0
0
0
0
11
-38
0
0
3
0
0
0
4
71
-87
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
-25
52
0
0
0
0
0
0
0
-3
46
0
0
0
0
0
0
3
49
-50
0
0
0
0
0
0
0
16
-20
0
0
0
0
0
0
0
7
-31
0
0
0
0
0
0
0
0
38
0
0
-2
0
0
0
0
-28
-6
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
4
33
0
0
0
0
0
0
0
7
20
0
0
0
0
0
0
3
-147
70
0
0
0
0
0
0
0
-42
17
0
0
0
6
0
0
-1
41
-20
0
0
0
0
0
0
0
-4
6
0
0
-2
0
0
0
0
133
-47
0
0
0
0
0
0
0
-55
40
0
0
0
0
0
0
0
57
27
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
-1
-81
43
0
0
0
0
0
0
0
39
9
0
0
0
0
0
0
0
-39
36
0
0
0
0
0
0
0
-7
6
0
0
-2
0
0
0
0
7
-1
0
0
0
0
0
0
0
-2
61
0
0
0
-3
0
0
0
22
34
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
1
1
58
-51
0
0
0
0
0
-2
2
-32
-5
0
0
0
0
0
0
0
-3
26
0
0
0
0
0
0
-2
-13
78
0
0
0
0
0
-9
0
35
13
0
0
0
0
0
0
0
14
31
0
0
0
0
0
-2
0
-35
17
0
0
0
0
0
-1
-1
60
29
0
0
0
0
0
0
7
-47
11
0
0
0
0
0
0
0
7
-51
0
0
0
0
0
0
0
4
-34
0
0
0
0
0
3
0
-22
-30
0
0
0
0
0
3
0
-1
-33
0
0
0
0
0
0
0
-12
-25
0
0
0
0
0
0
0
-1
-15
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
2
10
2
0
0
0
0
0
0
0
9
30
0
0
0
0
0
0
0
-40
-5
0
0
0
0
0
0
0
21
-33
0
0
0
0
0
7
0
-45
20
0
0
0
0
0
0
0
9
7
0
0
0
0
0
0
0
8
91
0
0
0
0
0
0
0
-15
50
0
0
0
0
0
0
-1
-50
76
0
0
0
0
0
0
0
14
-11
0
0
0
0
0
0
0
-5
-35
0
0
0
0
0
0
0
-9
31
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-23
45
0
0
0
0
0
0
0
-13
-9
0
0
0
0
0
0
0
0
-25
0
0
0
-1
3
0
-8
-21
17
0
0
0
0
0
0
-7
12
22
0
0
0
-6
0
0
-6
7
27
0
0
0
0
-5
0
0
-13
9
0
0
0
0
0
0
-6
6
20
0
0
0
0
0
0
-5
4
1
0
0
0
-5
0
0
1
-25
47
0
0
0
0
0
0
5
6
-9
0
0
0
0
0
0
1
17
54
0
0
0
0
0
0
3
-5
55
0
0
0
0
0
0
0
-9
41
0
0
0
0
2
0
-2
-4
30
0
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
-3
42
0
0
0
1
0
0
0
-1
-27
0
0
0
0
-2
0
7
0
-18
0
0
0
0
0
0
-5
-12
29
0
0
0
0
0
0
-1
23
35
0
0
0
-2
0
0
5
-18
-3
0
0
0
0
0
0
0
9
30
0
0
0
1
0
0
0
-28
26
0
0
0
0
0
0
1
1
-29
0
0
0
13
0
0
0
-9
-2
0
0
0
0
3
0
0
-5
27
0
0
0
0
0
0
-1
28
-2
0
0
0
0
0
0
0
-32
-15
0
0
0
1
0
0
1
-24
-2
0
0
0
0
-3
0
0
31
-40
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-22
49
0
0
0
2
0
0
0
-7
46
0
0
0
0
0
0
0
0
45
0
0
0
0
0
-3
4
0
-48
0
0
0
0
0
-1
-4
-25
25
0
0
0
0
0
0
0
-2
84
0
0
0
0
-2
1
1
-5
-3
0
0
0
0
0
1
2
-23
1
0
0
0
0
1
0
1
11
12
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
-1
-5
3
0
0
0
0
0
0
-1
-3
-29
0
0
0
0
0
0
0
29
2
0
0
0
0
-1
0
0
0
19
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
2
15
-36
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
-3
0
36
0
0
0
0
0
0
1
-8
21
0
0
0
0
1
0
0
-16
-5
0
0
0
0
0
0
1
-28
20
0
0
0
0
6
0
0
14
-22
0
0
0
0
0
0
0
-6
41
0
0
0
0
0
0
2
-2
-15
0
0
0
0
0
0
0
20
18
0
0
0
0
-4
0
0
3
-3
0
0
0
0
0
0
0
-22
32
0
0
0
0
-2
0
0
-24
66
0
0
0
0
-1
0
0
-7
25
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
0
13
15
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-2
68
0
0
0
0
-3
0
0
-7
26
0
0
5
0
0
3
-6
19
-36
0
0
0
0
0
0
0
-14
96
0
0
0
-1
0
0
0
-6
-51
0
0
0
0
0
0
0
-3
-8
0
0
-12
0
0
0
0
41
-21
0
0
0
0
0
0
0
-2
146
0
0
0
10
0
0
0
-2
-16
0
0
0
0
0
0
0
0
56
0
0
-4
0
0
0
1
-2
-16
0
0
0
0
0
0
0
11
14
0
0
0
0
0
0
0
-6
-22
0
0
0
0
0
0
0
-3
54
0
0
-1
0
0
0
1
-3
14
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
0
7
0
0
-4
0
0
0
2
22
11
0
0
0
0
0
0
0
-1
33
0
0
0
-3
0
0
1
2
45
0
0
0
0
0
0
0
-2
-17
0
0
-11
0
0
0
-5
-85
-22
0
0
0
0
0
0
1
13
40
0
0
0
3
0
0
0
15
-78
0
0
0
0
0
0
0
0
19
0
0
4
0
0
0
6
-23
1
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
-1
-5
4
0
0
0
0
0
0
0
3
58
0
0
1
0
0
0
0
-31
-22
0
0
0
0
0
0
0
-16
-33
0
0
0
0
0
0
0
9
39
0
0
0
0
0
0
0
2
1
0
0
0
0
0
4
-3
-40
45
0
0
0
0
0
-3
0
-2
44
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
0
-2
-65
0
0
0
0
0
10
0
-4
14
0
0
0
0
0
2
0
27
8
0
0
0
0
0
5
0
1
39
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-3
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-13
0
0
0
0
0
1
0
-3
-67
0
0
0
0
0
-1
0
-3
35
0
0
0
0
0
0
0
0
46
0
0
0
0
0
1
0
0
25
0
0
0
0
0
0
1
-37
86
0
0
0
0
0
0
0
-11
43
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-18
35
0
0
0
0
0
0
0
0
-101
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
-10
53
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
0
-16
80
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
2
-18
0
0
0
2
0
-1
-8
-22
15
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
-23
2
0
0
0
0
0
0
-1
-4
-3
0
0
0
-1
0
0
0
0
33
0
0
0
0
0
0
1
0
13
0
0
0
-1
0
0
-5
0
17
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
-1
10
30
0
0
0
0
0
0
0
0
36
0
0
0
-2
0
0
0
0
16
0
0
0
0
0
0
0
0
26
0
0
0
-1
0
0
2
0
-2
0
0
0
0
0
0
0
4
-30
0
0
0
5
0
0
0
0
15
0
0
0
0
0
0
0
0
-21
0
0
0
3
0
0
0
-4
-2
0
0
0
0
0
0
0
-6
99
0
0
0
3
0
0
0
9
-5
0
0
0
0
0
0
0
0
61
0
0
0
-1
0
0
0
-1
39
0
0
0
0
0
0
-1
-1
-19
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
5
28
0
0
0
0
0
0
0
-2
19
0
0
0
4
0
0
-1
8
-27
0
0
0
0
0
0
0
1
14
0
0
0
-1
0
0
0
0
-30
0
0
0
0
0
0
0
-6
-1
0
0
0
-1
0
0
0
0
-20
0
0
0
0
0
0
0
-1
-11
0
0
0
0
2
1
-2
4
22
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
7
-17
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
-1
0
-3
-2
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
-2
-1
-4
-22
0
0
0
0
0
-5
0
0
40
0
0
0
0
-1
0
0
0
8
0
0
0
0
4
-2
1
4
-26
0
0
0
0
0
3
0
-1
-9
0
0
0
0
-1
1
0
1
37
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
11
-10
0
0
0
0
-1
0
0
2
-11
0
0
0
0
0
0
0
-1
74
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
0
43
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
-2
3
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
-2
-1
-15
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
6
-48
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
0
43
0
0
0
0
0
-2
0
-2
12
0
0
-38
9
1
12
-14
-54
127
19
7
0
0
0
9
11
39
64
0
-30
0
-39
-1
0
14
-42
5
23
23
0
0
1
-2
-3
-47
31
-22
9
-6
-2
0
0
-16
14
-38
29
7
0
0
0
-1
-2
-44
35
11
3
0
34
0
0
-17
15
-46
20
4
0
0
0
0
-2
-12
-15
2
8
-12
1
0
-2
-3
26
-61
9
0
0
0
0
0
3
-18
50
5
0
0
-3
0
0
-9
19
23
2
0
0
0
0
1
2
-18
72
-5
0
38
2
0
0
0
-28
-34
-5
0
0
0
0
0
0
-14
6
-16
0
0
2
0
0
1
-24
2
4
0
0
0
0
0
-3
0
6
-11
0
-1
3
0
0
-17
83
-36
0
0
0
0
0
0
2
13
-3
0
0
0
0
0
0
-29
-102
101
0
0
0
0
0
0
1
8
39
0
0
-9
0
0
0
-6
-60
5
0
0
0
0
0
0
1
3
3
0
0
0
-7
0
0
4
12
-18
0
0
0
0
0
0
1
-3
-4
0
0
0
1
0
0
-2
23
-20
0
0
0
0
0
0
-1
33
-6
0
0
0
-2
0
0
6
-59
77
0
0
0
0
0
0
0
-5
-34
0
0
3
0
0
0
-1
-91
-4
0
0
0
0
0
0
-1
-41
-27
0
0
0
-3
0
0
0
3
-24
0
0
0
0
0
0
1
6
-25
0
0
0
0
-1
1
31
-12
-97
1
-3
0
0
-3
11
-6
-21
65
-17
-21
0
0
0
1
-4
-18
-3
14
1
0
0
-12
16
-11
5
52
-44
4
0
0
0
1
-2
16
-113
17
2
0
0
0
-3
6
1
-99
16
-5
0
0
0
0
5
4
68
8
-10
0
0
6
6
-1
-11
-30
18
-20
0
0
0
1
2
12
17
1
0
0
0
0
3
3
54
124
9
0
0
0
-1
2
7
6
70
-5
0
0
0
-5
-14
12
42
30
-8
0
0
0
0
0
-1
-22
62
-5
0
0
0
0
-5
2
15
10
-17
0
0
0
0
0
0
-1
15
-6
0
0
0
-1
1
0
-7
-70
-25
0
0
0
0
1
1
29
-4
0
0
0
0
-1
0
0
-67
36
0
0
0
0
0
0
3
-70
52
0
0
0
0
-1
0
0
-9
7
0
0
0
0
0
0
0
14
4
0
0
0
0
0
-2
-2
-20
36
0
0
0
0
0
0
1
-15
32
0
0
0
0
0
0
-1
48
-54
0
0
0
0
0
0
0
29
-13
0
0
0
0
0
0
2
9
-4
0
0
0
0
0
0
0
13
18
0
0
0
0
0
2
-2
12
22
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
-3
0
-44
36
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-1
0
5
32
0
0
0
10
1
0
-6
-19
128
18
0
0
0
7
-2
-27
6
-73
23
15
0
-17
0
-1
3
-76
-11
18
2
0
0
0
1
-11
-35
-41
-20
10
0
49
0
-3
14
38
7
36
-16
0
0
0
0
-5
-27
70
-9
15
0
23
0
0
2
-37
-6
13
5
0
0
8
-1
1
2
28
6
4
0
-3
0
0
11
2
13
8
0
0
0
0
8
-5
38
20
3
0
0
-24
0
0
-27
-32
26
10
0
0
0
0
-3
-2
-17
58
-15
0
0
0
0
0
0
22
-15
-18
0
0
0
0
0
0
-13
4
-5
0
0
-27
0
0
4
-3
0
-20
0
0
0
-3
-1
3
-2
-28
-31
0
0
-1
0
1
14
-7
-9
0
0
0
0
1
0
-3
-5
76
0
0
0
6
0
0
12
5
-4
0
0
0
0
-1
0
4
-7
-7
0
0
0
-1
0
0
-1
9
20
0
0
0
0
0
-1
0
-5
42
0
0
0
25
0
0
0
-19
6
0
0
0
0
0
0
1
-4
-16
0
0
0
2
0
0
2
31
-8
0
0
0
0
0
0
-2
-8
-1
0
0
0
19
0
0
8
8
39
0
0
0
0
0
0
-1
4
35
0
0
0
-6
0
0
0
2
5
0
0
0
0
0
0
-1
-4
-6
0
0
0
-4
0
0
-1
9
-31
0
0
0
0
0
0
0
-1
5
0
0
0
0
3
3
-4
13
-38
15
2
0
0
-7
-4
-3
-50
50
-4
13
0
0
2
-2
-16
5
28
35
-3
0
0
-8
2
6
-6
45
-81
-29
0
0
0
5
0
-40
-79
33
-25
0
0
3
2
-4
10
-16
44
-8
0
0
-4
2
-10
-4
-2
57
-35
0
0
-1
2
0
7
-5
63
-31
0
0
0
0
1
8
-7
-7
0
0
0
-8
-16
2
12
-30
51
0
0
0
0
-9
28
45
93
-46
0
0
0
11
15
18
20
21
-42
0
0
0
0
0
0
20
45
-54
0
0
0
4
-4
1
5
67
-64
0
0
0
0
0
2
6
38
-44
0
0
0
2
-3
-1
-2
-4
-27
0
0
0
0
0
2
27
0
0
0
0
0
1
0
-2
20
-6
0
0
0
0
1
0
3
-19
-3
0
0
0
0
-2
-2
-2
6
8
0
0
0
0
0
0
1
9
81
0
0
0
0
3
1
0
2
-14
0
0
0
0
-1
0
1
-19
-4
0
0
0
0
-3
4
0
-6
0
0
0
0
0
0
0
0
-8
18
0
0
0
0
1
1
0
11
-47
0
0
0
0
-1
0
7
-11
-68
0
0
0
0
2
0
1
8
53
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
-13
103
0
0
0
0
0
0
-2
-2
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
-29
8
11
-1
0
0
0
1
1
-2
31
47
-8
0
0
16
1
-1
-1
-4
60
-9
0
0
0
0
3
12
33
2
25
0
13
14
0
1
1
20
73
-6
0
0
0
0
0
-1
52
59
-12
0
0
4
0
2
13
-49
-19
21
0
0
0
0
0
-2
3
41
4
0
1
1
0
1
-14
-30
-3
1
0
0
0
1
-1
-3
-12
-49
9
0
0
1
0
1
10
9
29
4
0
0
0
0
0
0
5
46
-1
0
-17
-2
0
0
0
-33
10
-1
0
0
0
0
0
-1
6
-42
2
0
0
0
0
0
0
11
-43
6
0
0
0
0
0
0
-2
60
11
0
2
-1
0
0
-29
-11
8
0
0
0
0
0
0
-34
14
-40
0
0
0
-5
0
0
-3
26
-8
0
0
0
0
0
0
-1
9
3
0
0
0
-3
0
1
7
-76
24
0
0
0
0
0
0
4
21
-16
0
0
0
-2
0
0
-3
23
-10
0
0
0
0
0
0
2
2
20
0
0
-1
-7
0
0
-17
-7
8
0
0
0
0
0
0
4
-57
-14
0
0
0
6
0
0
-9
-26
19
0
0
0
0
0
0
-6
-4
75
0
0
-3
-2
0
0
-4
55
-28
0
0
0
0
0
0
1
-22
-23
0
0
0
3
0
0
0
13
-5
0
0
0
0
0
0
0
2
7
0
0
0
0
-1
5
-6
61
42
-15
0
0
0
1
4
-15
12
-36
-36
0
0
0
0
-6
6
-6
36
-6
0
0
0
5
-14
33
-30
27
58
0
0
0
0
0
0
-20
110
-22
0
0
0
0
2
2
-21
181
-6
0
0
0
0
1
-4
10
41
18
0
0
0
0
1
-5
4
-22
14
0
0
0
0
1
22
-15
12
8
0
0
0
0
0
-7
-17
-21
10
0
0
0
0
-1
-24
11
15
20
0
0
0
-7
0
-7
-45
-28
70
0
0
0
0
1
0
8
13
6
0
0
0
0
3
2
-6
85
15
0
0
0
0
-1
0
15
-1
-11
0
0
0
0
-1
0
-6
39
-2
0
0
0
0
-1
-3
-47
8
0
0
0
0
1
0
-2
0
-10
0
0
0
0
0
5
4
39
-17
0
0
0
0
7
-6
6
5
35
0
0
0
0
0
0
0
-56
51
0
0
0
0
0
8
2
-3
17
0
0
0
0
0
-1
0
17
3
0
0
0
0
-1
-1
0
5
61
0
0
0
0
0
0
3
-73
56
0
0
0
0
5
-3
-1
57
-23
0
0
0
0
-2
1
0
12
-22
0
0
0
0
1
0
3
-18
8
0
0
0
0
0
0
0
-33
-10
0
0
0
0
0
-1
-2
-38
-11
0
0
0
0
0
-1
0
-23
31
0
0
0
0
-1
-6
0
-11
16
0
0
0
-1
-6
4
-15
56
12
0
0
0
0
-1
2
-12
-32
75
-30
0
0
9
0
1
54
-84
84
-36
0
0
0
-3
0
10
3
-34
29
0
0
-4
0
-5
6
-25
62
-7
0
0
0
2
-3
2
-11
-62
-11
0
0
31
0
0
11
14
-37
13
0
0
0
-2
8
-2
2
-20
18
0
0
-2
0
1
-6
-52
146
11
0
0
0
0
0
0
9
13
16
0
0
-9
2
-2
1
0
24
-9
0
0
0
3
-2
-2
-3
-58
35
0
0
-1
0
0
-1
1
-27
2
0
0
0
-3
-1
-2
2
67
3
0
0
-9
0
1
8
-2
-15
0
0
0
0
10
-2
-8
3
17
2
0
0
0
0
0
16
-44
19
0
0
0
0
0
0
7
-7
42
0
0
0
11
0
0
1
-39
28
0
0
0
0
3
0
1
-1
-79
0
0
0
-5
0
3
23
-22
-5
0
0
0
0
1
0
7
22
-50
0
0
0
-51
0
0
21
26
-13
0
0
0
0
-1
-3
-11
-3
74
0
0
0
-2
0
0
5
-9
3
0
0
0
0
-1
1
0
0
-37
0
0
0
-6
1
0
-4
-20
46
0
0
0
0
-1
0
7
-21
28
0
0
0
7
0
-1
2
64
-37
0
0
0
0
0
0
0
2
-37
0
0
0
-15
0
0
4
-17
15
0
0
0
0
-3
0
1
1
68
0
0
0
0
7
10
3
2
-49
21
0
0
0
6
-2
0
22
71
-37
0
0
0
-9
-22
2
22
-11
-7
0
0
0
-20
-21
-42
22
20
27
0
0
0
0
0
-9
-1
7
22
0
0
0
0
-1
-1
4
-35
-9
0
0
0
-1
-1
25
1
38
7
0
0
0
2
-32
3
0
7
27
0
0
0
0
0
-2
-3
94
-7
0
0
0
8
37
0
14
-28
16
0
0
0
4
4
19
11
37
-37
0
0
0
-20
22
1
11
-32
29
0
0
0
0
0
0
1
1
12
0
0
0
1
-1
2
2
27
11
0
0
0
-1
-1
-1
-9
53
-7
0
0
0
2
16
1
-16
50
-66
0
0
0
0
1
0
-8
-12
0
0
0
0
0
-5
-2
-9
55
0
0
0
0
-1
-2
-4
-11
7
0
0
0
0
13
0
7
-1
18
0
0
0
0
0
-2
1
2
-26
0
0
0
0
-1
14
2
-43
20
0
0
0
0
0
1
-16
3
50
0
0
0
0
8
-9
-1
5
61
0
0
0
0
0
1
0
-10
42
0
0
0
0
-7
-1
3
0
-66
0
0
0
0
-4
-5
27
4
-45
0
0
0
0
13
13
-14
-18
13
0
0
0
0
0
0
0
10
-22
0
0
0
0
7
1
-3
1
17
0
0
0
0
0
13
-2
-9
-40
0
0
0
0
-8
-17
-2
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-41
12
-14
0
0
0
0
0
-1
16
25
-65
0
0
0
-2
0
0
-4
9
46
0
0
0
0
0
2
-2
-30
34
0
0
14
6
0
1
-3
-2
-36
0
0
0
0
0
-1
0
-67
102
0
0
0
-34
0
0
-3
78
6
0
0
0
0
0
0
-2
22
-3
0
0
-10
1
0
0
-3
29
24
0
0
0
0
0
1
-1
27
-2
0
0
0
-4
0
0
3
-79
8
0
0
0
0
0
-1
-2
-41
-2
0
0
50
-1
0
3
0
-35
8
0
0
0
0
0
0
0
-3
9
0
0
0
-2
0
0
-1
13
-11
0
0
0
0
0
0
-1
-3
-12
0
0
10
-1
0
0
-3
-30
1
0
0
0
0
0
0
0
-22
-50
0
0
0
6
0
0
1
-4
-50
0
0
0
0
0
0
0
21
-4
0
0
-2
-1
0
1
0
43
-19
0
0
0
0
0
0
0
-23
53
0
0
0
3
0
0
0
3
-15
0
0
0
0
0
0
-4
11
-22
0
0
-2
0
0
0
3
-12
20
0
0
0
0
0
0
1
-50
22
0
0
0
0
0
0
-1
-14
49
0
0
0
0
0
0
0
15
15
0
0
-1
1
0
0
5
11
-1
0
0
0
0
0
24
0
-26
-7
0
0
0
-2
0
0
2
23
20
0
0
0
0
0
0
3
7
79
0
0
0
0
0
-2
21
-61
24
0
0
0
0
1
-1
-1
-52
-42
0
0
0
0
0
2
-5
-8
43
0
0
0
0
0
6
10
0
-18
0
0
0
0
0
0
0
12
16
0
0
0
0
0
0
0
10
-20
0
0
0
0
0
1
0
-15
-48
0
0
0
0
0
-1
0
20
-20
0
0
0
0
0
2
1
53
-1
0
0
0
0
0
1
1
2
-28
0
0
0
0
0
-2
-1
-42
41
0
0
0
0
0
-2
0
22
6
0
0
0
0
0
0
1
-9
9
0
0
0
0
0
1
0
-2
-27
0
0
0
0
0
0
-3
8
57
0
0
0
0
0
-6
1
1
5
0
0
0
0
0
0
1
25
41
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
36
-35
0
0
0
0
0
0
2
3
12
0
0
0
0
0
0
-1
35
-10
0
0
0
0
0
0
0
5
49
0
0
0
0
0
0
0
-35
9
0
0
0
0
0
0
0
14
-22
0
0
0
0
0
0
-1
-15
24
0
0
0
0
0
2
0
-5
18
0
0
0
0
0
0
3
-57
26
0
0
0
0
0
-1
0
-23
22
0
0
0
0
0
0
2
23
44
0
0
0
0
0
1
0
-5
40
0
0
0
0
0
0
0
26
13
0
0
0
0
0
1
0
-7
-37
0
0
0
-5
0
-2
-29
-3
27
0
0
0
0
-6
0
22
-20
1
0
0
0
-15
-1
0
-1
-35
-47
0
0
0
0
-2
0
2
3
7
0
0
0
29
0
5
0
-4
26
0
0
0
0
0
-1
0
28
-37
0
0
0
54
0
0
2
6
32
0
0
0
0
0
0
-8
-3
11
0
0
0
3
0
-1
-11
9
6
0
0
0
0
0
4
7
9
18
0
0
0
-61
1
0
3
8
-12
0
0
0
0
0
10
17
42
-36
0
0
0
-1
0
0
3
23
-58
0
0
0
0
0
2
0
4
58
0
0
0
3
0
0
0
-3
-17
0
0
0
0
2
-1
0
2
57
0
0
0
-5
0
0
1
-8
-28
0
0
0
0
0
1
0
-9
37
0
0
0
23
0
0
2
-29
-8
0
0
0
0
0
0
-1
-14
-22
0
0
0
0
0
0
-2
-78
-10
0
0
0
0
0
0
0
-16
53
0
0
0
5
0
0
-2
-32
29
0
0
0
0
0
0
0
11
3
0
0
0
2
0
0
1
-67
31
0
0
0
0
0
0
0
-21
68
0
0
0
-7
0
0
-4
15
29
0
0
0
0
0
0
0
-2
-36
0
0
0
-6
0
0
0
-20
23
0
0
0
0
0
0
0
20
39
0
0
0
9
0
0
-1
-11
36
0
0
0
0
2
0
7
-6
-8
0
0
0
0
2
6
-18
-51
55
0
0
0
0
3
16
-12
25
-36
0
0
0
0
0
-1
19
-91
33
0
0
0
0
-2
7
28
-18
-9
0
0
0
0
0
0
1
42
22
0
0
0
0
0
1
-32
-2
6
0
0
0
0
0
-5
11
-4
-7
0
0
0
0
5
8
0
-5
-2
0
0
0
0
0
0
0
-52
43
0
0
0
0
2
-2
-1
-31
-6
0
0
0
0
-1
5
-2
1
-44
0
0
0
0
0
-4
-9
-4
56
0
0
0
0
0
0
0
-2
-76
0
0
0
0
-4
-2
0
-4
-23
0
0
0
0
-3
0
-1
-1
-13
0
0
0
0
-1
9
0
-5
24
0
0
0
0
0
0
0
16
85
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-13
78
0
0
0
0
2
0
0
42
1
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
1
0
1
3
0
0
0
0
0
0
-2
42
32
0
0
0
0
0
1
1
20
-28
0
0
0
0
0
0
0
25
-10
0
0
0
0
-1
0
-2
-3
8
0
0
0
0
0
0
-1
7
39
0
0
0
0
0
0
0
-6
34
0
0
0
0
-3
0
0
-7
-17
0
0
0
0
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-9
-67
-14
0
0
0
0
0
3
5
-26
21
0
0
0
7
0
-1
14
20
-68
0
0
0
0
0
0
-1
-8
55
0
0
-14
0
0
4
-5
11
-11
0
0
0
0
0
0
-10
-18
47
0
0
0
1
0
-3
2
10
-45
0
0
0
0
0
2
5
-4
-5
0
0
6
3
0
-3
6
21
-33
0
0
0
0
0
1
1
6
37
0
0
0
-1
0
0
-1
24
-46
0
0
0
0
0
0
0
21
31
0
0
-27
0
0
0
-9
-53
-20
0
0
0
0
0
0
0
-13
27
0
0
0
2
0
0
0
-26
22
0
0
0
0
0
-1
-2
-6
36
0
0
0
8
0
3
-11
-44
-17
0
0
0
0
0
-9
1
21
72
0
0
0
4
0
0
-3
21
-33
0
0
0
0
0
-1
-1
-48
12
0
0
8
-3
0
1
-1
-20
-19
0
0
0
0
0
0
-1
-36
85
0
0
0
-4
0
0
-1
65
-20
0
0
0
0
0
0
0
-26
12
0
0
3
-2
-3
-3
16
54
-1
0
0
0
0
0
0
7
-36
-25
0
0
0
-3
0
0
-2
3
27
0
0
0
0
0
0
-2
-9
23
0
0
11
-4
0
-1
-4
-51
7
0
0
0
0
0
1
0
-17
56
0
0
0
5
0
-1
-4
12
-14
0
0
0
0
0
0
0
11
47
0
0
0
0
0
-1
-1
20
21
0
0
0
0
-4
-4
0
-28
49
0
0
0
0
0
0
-6
-23
-9
0
0
0
0
-1
1
7
5
8
0
0
0
0
0
1
-1
-6
-2
0
0
0
0
0
0
3
37
46
0
0
0
0
0
0
-3
-19
-35
0
0
0
0
0
1
2
6
2
0
0
0
0
0
0
-2
-53
1
0
0
0
0
0
0
0
-27
26
0
0
0
0
-1
0
8
-18
15
0
0
0
0
-4
2
0
-25
-68
0
0
0
0
0
-5
0
-19
-4
0
0
0
0
0
-3
0
39
-72
0
0
0
0
0
0
0
51
6
0
0
0
0
0
1
0
-4
6
0
0
0
0
0
0
0
52
-5
0
0
0
0
-2
2
-1
-22
25
0
0
0
0
0
0
-3
58
12
0
0
0
0
-1
0
-2
-49
47
0
0
0
0
0
-2
0
-9
17
0
0
0
0
0
0
0
14
-5
0
0
0
0
0
1
0
1
31
0
0
0
0
1
-1
0
-56
-14
0
0
0
0
0
0
2
-69
11
0
0
0
0
0
0
1
-30
28
0
0
0
0
0
0
1
0
23
0
0
0
0
3
0
3
42
-25
0
0
0
0
0
0
0
-28
-5
0
0
0
0
0
1
0
-68
-44
0
0
0
0
0
1
0
-13
103
0
0
0
0
0
0
0
8
60
0
0
0
6
5
0
-6
-36
-15
0
0
0
0
0
-1
-6
52
-30
0
0
0
-17
0
0
12
45
-41
0
0
0
0
-1
0
0
-45
11
0
0
0
0
0
-1
18
7
-2
0
0
0
0
0
0
4
26
-10
0
0
0
26
0
6
-3
-11
-3
0
0
0
0
-4
0
1
0
24
0
0
0
-1
0
0
-2
5
-45
0
0
0
0
0
-4
29
-49
-46
0
0
0
13
-1
0
4
-5
-56
0
0
0
0
0
1
-11
-2
7
0
0
0
-3
0
0
-3
-79
36
0
0
0
0
7
-2
-5
-5
-74
0
0
0
24
-3
-6
-2
17
-57
0
0
0
0
-4
-1
0
8
15
0
0
0
0
0
-1
5
-10
5
0
0
0
0
0
-1
-2
-6
-8
0
0
0
14
0
0
7
-4
-18
0
0
0
0
5
-1
-16
22
75
0
0
0
-1
0
-3
18
-1
12
0
0
0
0
-1
-1
0
-7
-3
0
0
0
4
0
0
-4
-44
15
0
0
0
0
-2
5
1
-7
15
0
0
0
-3
0
0
0
-17
42
0
0
0
0
-3
0
1
-6
-5
0
0
0
-5
1
0
-1
3
31
0
0
0
0
0
0
5
4
21
0
0
0
8
0
0
-6
33
14
0
0
0
0
-1
0
-2
25
55
0
0
0
28
0
1
0
-50
-8
0
0
0
0
-7
-2
1
14
-16
0
0
0
0
-1
0
7
72
-34
0
0
0
0
0
1
-3
-58
85
0
0
0
0
5
0
2
-3
-17
0
0
0
0
-3
1
0
21
-27
0
0
0
0
0
0
0
23
14
0
0
0
0
0
1
-6
-28
3
0
0
0
0
4
-2
8
-8
-27
0
0
0
0
6
-1
-1
-5
1
0
0
0
0
0
-1
-2
12
21
0
0
0
0
0
0
-3
-1
-3
0
0
0
0
4
0
-13
-27
3
0
0
0
0
4
5
-1
7
-41
0
0
0
0
0
0
-4
-11
-60
0
0
0
0
0
1
0
-27
3
0
0
0
0
4
1
5
-22
22
0
0
0
0
-10
-8
1
-1
3
0
0
0
0
0
0
0
13
-20
0
0
0
0
0
0
0
8
2
0
0
0
0
-1
0
-13
-1
12
0
0
0
0
-5
2
-1
-30
-1
0
0
0
0
0
-2
6
-4
26
0
0
0
0
0
-1
2
-37
46
0
0
0
0
0
-2
1
6
-26
0
0
0
0
0
0
0
9
-28
0
0
0
0
-2
-1
4
-67
-17
0
0
0
0
3
0
1
-19
81
0
0
0
0
4
0
-2
-30
-38
0
0
0
0
2
-2
1
28
21
0
0
0
0
1
0
1
-5
55
0
0
0
0
-1
-1
0
4
25
0
0
0
0
-3
-2
-1
-1
40
0
0
0
0
10
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-15
-67
-78
-70
58
11
0
0
-15
11
-7
-36
-63
18
-3
0
-4
-3
-13
-19
-17
-12
9
-2
0
0
14
55
15
54
12
-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
5
22
6
12
28
46
-12
17
0
0
0
38
-20
-6
-61
10
-1
0
0
22
60
-30
22
6
-6
-6
0
0
0
-37
-4
-18
11
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
31
-14
-4
-3
-29
35
-49
0
0
0
0
1
-15
1
-33
23
0
0
0
24
-14
16
26
-22
-10
0
0
0
0
-12
-39
13
-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
11
1
-20
-12
-27
10
28
0
0
0
0
6
14
12
-3
12
0
0
0
-2
-22
6
44
57
-21
0
0
0
0
19
14
-11
-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
3
-18
55
38
-4
0
0
0
-4
-3
-8
-114
-29
5
0
0
0
0
-2
-18
-20
13
5
0
0
0
1
6
-1
28
-63
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
21
0
0
0
0
0
-3
-41
-58
14
0
0
0
0
0
0
3
17
-7
0
0
0
0
0
-1
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
1
4
27
42
0
0
0
0
0
0
-1
-15
60
0
0
0
0
0
-3
0
-56
-17
0
0
0
0
0
0
1
-11
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
-18
31
0
0
0
0
0
0
0
-44
74
0
0
0
0
0
0
-1
7
-64
0
0
0
0
0
0
2
-44
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
9
11
0
0
0
0
-1
47
63
-14
-6
0
-2
0
0
-5
-20
52
82
-12
0
0
1
-1
7
-5
12
-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
4
48
11
-1
0
0
0
0
0
1
-12
71
3
0
0
4
0
0
10
-78
-34
13
0
0
0
0
0
-1
2
-47
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-30
0
0
0
0
0
0
0
-32
13
0
0
0
-3
0
0
1
-13
10
0
0
0
0
1
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
-28
18
0
0
0
0
0
0
1
-20
-12
0
0
0
0
0
0
-3
-5
-50
0
0
0
0
0
0
-6
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
0
0
1
-6
6
5
-4
-1
0
0
0
-1
14
42
-15
-1
-1
0
0
0
0
15
-38
53
-71
-8
0
0
0
2
-2
12
32
95
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
-3
-79
24
6
0
0
0
0
0
1
32
-4
10
0
0
0
-10
1
13
-19
-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
1
2
2
-1
0
0
0
0
0
1
5
-15
-40
0
0
0
0
0
-1
11
8
-25
0
0
0
0
2
-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
1
25
-45
0
0
0
0
1
0
0
19
-13
0
0
0
0
0
0
0
2
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
4
0
0
0
-2
-23
-23
23
3
0
0
0
0
-2
-48
67
18
-12
0
-2
0
0
17
-19
45
14
2
0
0
0
0
-1
2
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
3
0
0
0
-4
55
20
8
0
0
0
0
0
-1
6
-49
-1
0
0
1
0
0
0
-5
-52
1
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
-3
0
0
0
0
10
-13
0
0
0
0
0
0
0
-23
52
0
0
0
-2
0
0
-2
15
19
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-26
0
0
0
0
0
0
0
66
-28
0
0
0
1
0
0
1
-64
-15
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
0
0
0
0
0
0
0
-4
-1
41
1
15
0
0
0
1
-2
20
-46
18
-20
0
0
0
0
0
4
-16
-26
22
0
0
0
0
-2
7
-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
1
-14
127
-4
0
0
0
0
-1
0
-1
10
-20
0
0
0
0
0
1
3
-56
-3
0
0
0
3
0
1
-2
-29
-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
-21
59
0
0
0
0
0
0
0
-21
63
0
0
0
0
0
0
0
5
28
0
0
0
0
0
-2
0
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
-7
-73
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
-1
0
-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
-1
0
1
-2
-42
39
6
6
0
0
0
0
-6
22
-63
0
21
0
-2
0
0
-2
42
10
2
5
0
0
-1
2
0
23
15
35
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
125
-7
0
0
0
0
0
0
-23
45
-6
0
0
-2
0
-1
3
27
-18
-10
0
0
0
-1
3
0
1
60
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
4
0
0
0
0
0
1
0
2
22
0
0
0
15
0
0
1
-12
-7
0
0
0
0
0
4
-1
-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
1
0
0
2
17
14
0
0
0
0
0
0
0
-2
49
0
0
0
0
0
0
0
2
53
0
0
0
0
0
0
-1
-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
-1
-1
-11
2
2
-9
0
0
0
8
1
-14
-37
6
-21
0
0
0
0
-1
19
-20
24
-7
0
0
-6
-2
2
-2
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
-8
-6
-23
3
0
0
0
8
0
0
8
-4
-11
0
0
0
3
0
-8
-14
15
7
0
0
0
1
4
-1
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
25
-31
0
0
0
0
0
-8
-1
1
19
0
0
0
0
0
0
0
26
6
0
0
0
0
0
3
23
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
0
0
26
9
0
0
0
0
0
-3
0
-8
-2
0
0
0
0
0
-2
-6
-1
50
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
-12
0
0
0
-24
22
35
14
0
0
0
0
0
10
4
44
11
0
0
0
0
0
2
-65
-69
22
0
0
0
0
0
1
-44
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
9
0
0
0
-5
26
-22
12
0
0
0
0
0
1
2
19
5
0
0
0
0
0
5
32
-15
7
0
0
0
0
0
-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
-5
-1
0
-2
-8
-81
23
0
0
0
0
0
3
-2
-27
10
0
0
0
2
0
0
0
7
10
0
0
0
0
0
0
0
-33
-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
-1
0
0
0
2
-37
8
0
0
0
0
0
0
0
-16
22
0
0
0
0
0
0
-7
33
28
0
0
0
0
0
0
0
21
-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
1
45
49
5
0
0
0
0
-1
1
21
-94
22
0
0
0
0
0
1
-8
82
-12
0
0
0
0
0
0
-15
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
-1
-40
-1
19
0
0
0
0
0
0
24
-5
-4
0
0
0
0
4
-3
-5
124
-16
0
0
0
9
-3
0
-2
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
-104
18
0
0
0
0
0
0
1
-8
-16
0
0
0
0
0
0
0
23
31
0
0
0
0
0
0
0
12
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-65
29
0
0
0
0
0
0
0
8
-17
0
0
0
0
0
0
0
8
12
0
0
0
0
-1
2
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
-1
12
5
128
-3
0
0
0
0
0
-5
-40
99
8
0
0
8
0
0
-18
33
76
8
0
0
0
1
0
26
-11
32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-1
0
0
0
0
1
5
4
46
-6
0
0
-8
0
0
-26
-1
0
-12
0
0
0
0
0
-6
4
-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
-4
0
-23
0
0
0
0
0
6
-1
-11
36
0
0
0
1
0
0
10
10
-23
0
0
0
0
1
-2
0
16
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
15
9
3
0
0
0
0
0
0
0
-19
36
0
0
0
4
0
0
2
-21
22
0
0
0
0
1
0
0
-38
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-22
-8
39
0
0
0
-3
-1
11
18
96
-7
0
0
0
0
0
-1
-50
47
9
0
0
0
-8
-2
0
2
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
-2
18
-42
11
0
0
0
2
-3
2
-25
41
12
0
0
0
0
2
6
1
-9
-15
0
0
0
-1
-5
-5
7
55
-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
1
35
0
0
0
0
0
0
0
3
2
8
0
0
0
0
0
-1
9
4
34
0
0
0
0
-1
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
-1
21
23
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
3
1
-49
0
0
0
0
5
2
-25
11
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
-21
0
0
0
1
-79
-21
14
0
0
0
0
0
0
-3
43
-12
0
0
13
0
0
0
-4
-9
-9
0
0
0
0
0
-8
1
29
-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
6
0
0
0
-7
-43
12
2
0
0
0
0
1
1
-8
-4
-7
0
0
-3
0
0
9
-2
29
-18
0
0
0
0
0
-3
-1
18
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-22
0
0
0
0
0
0
0
-11
-54
0
0
0
0
0
0
0
26
10
0
0
0
0
0
0
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
-9
0
0
1
0
19
5
0
0
0
0
0
0
-1
-18
26
0
0
0
7
0
0
5
-13
15
0
0
0
0
0
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
1
-46
-7
0
0
0
0
-1
0
-9
-35
-5
0
0
0
0
0
0
11
-23
-20
0
0
0
0
1
1
1
-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
-2
-35
21
2
0
0
0
0
3
-2
-6
13
-12
0
0
0
0
1
0
3
54
-14
0
0
0
-1
6
-11
1
-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
-1
9
-7
0
0
0
0
0
0
0
-5
-21
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
1
1
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
23
-60
0
0
0
0
0
0
0
11
-3
0
0
0
0
0
-3
1
-16
-18
0
0
0
0
0
0
-1
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
1
0
2
0
3
130
-12
0
0
0
0
3
-1
-7
41
-16
0
0
10
0
0
-10
-1
107
-34
0
0
0
3
-5
-1
-3
-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
-4
0
1
1
7
33
-10
0
0
0
0
0
0
0
-3
6
0
0
0
0
-3
0
0
-27
0
0
0
0
-2
4
3
0
69
-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
1
0
0
0
17
28
0
0
0
0
0
0
0
2
-21
0
0
0
-22
0
0
0
-3
69
0
0
0
0
-1
0
-2
-1
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
-7
0
4
0
-3
-23
0
0
0
0
0
0
0
-4
-28
0
0
0
0
0
0
0
-3
11
0
0
0
0
1
0
-1
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
13
-14
0
0
0
0
-1
1
-5
-3
26
16
0
0
0
0
-2
0
-20
48
-12
0
0
0
0
9
3
-6
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
-1
4
-25
6
0
0
0
0
-1
-1
0
8
16
0
0
0
-1
1
8
-3
13
0
0
0
0
34
-32
10
-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
-2
-42
0
0
0
0
0
3
0
-13
-6
0
0
0
0
0
0
0
0
52
0
0
0
0
1
-3
-4
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
-1
-12
33
0
0
0
0
0
1
0
32
26
0
0
0
0
-4
1
1
5
-8
0
0
0
0
-2
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
1
0
0
0
-1
-9
65
0
0
0
0
0
0
3
-63
49
0
0
0
0
0
0
4
-62
21
0
0
0
0
0
0
-3
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
0
0
0
0
-1
0
0
0
10
-25
-12
0
0
0
0
0
0
-22
-10
-1
0
0
0
0
0
0
0
-31
-16
0
0
0
0
0
-2
17
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
3
0
0
0
-3
-96
72
0
0
0
0
0
0
7
-33
1
0
0
0
0
0
0
-2
-23
27
0
0
0
0
0
0
0
16
-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
5
-31
18
0
0
0
0
0
0
5
8
34
0
0
0
0
0
0
4
9
12
0
0
0
0
0
0
-10
46
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
6
-10
17
0
0
0
0
0
0
-1
67
-43
0
0
0
0
0
0
0
-15
44
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
0
13
-18
69
0
0
0
0
0
0
0
20
-3
0
0
0
0
0
0
0
24
13
0
0
0
0
0
0
0
-14
-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
13
28
0
0
0
0
0
0
0
21
-50
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-22
0
0
0
0
0
0
0
-22
-15
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
-4
20
0
0
0
0
0
0
6
-31
-21
0
0
0
9
0
0
-1
-17
-20
0
0
0
0
0
0
0
42
-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
-7
-39
97
0
0
0
0
0
0
0
8
-25
0
0
0
6
0
0
17
-7
5
0
0
0
0
-1
0
-2
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
32
36
0
0
0
0
0
0
0
-1
1
0
0
0
-5
0
0
0
-99
6
0
0
0
0
0
0
-1
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
67
-34
0
0
0
0
0
0
0
-6
-10
0
0
0
-1
0
0
-4
-31
64
0
0
0
0
0
0
0
-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
0
0
1
-11
-24
0
0
0
0
0
0
10
-7
50
0
0
0
0
0
0
6
39
-5
0
0
0
0
-1
1
1
-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
-7
11
30
0
0
0
0
-1
0
6
-9
94
0
0
0
0
0
0
-25
2
18
0
0
0
0
0
0
-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
-8
60
0
0
0
0
0
0
-1
17
20
0
0
0
0
0
0
-1
-10
0
0
0
0
0
-1
0
1
-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
1
-79
-1
0
0
0
0
0
0
3
-17
30
0
0
0
0
0
0
-27
44
12
0
0
0
0
5
-1
4
-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
-6
3
0
0
-5
-18
75
0
0
0
0
0
0
0
21
25
0
0
0
-5
0
0
1
-11
-50
0
0
0
0
0
0
0
-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
-9
0
0
0
-5
-49
16
0
0
0
0
0
0
0
56
-25
0
0
0
-1
0
0
5
-25
-9
0
0
0
0
0
0
-2
-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
-1
0
0
0
1
97
-26
0
0
0
0
0
0
0
-64
87
0
0
0
0
0
0
0
-26
82
0
0
0
0
0
0
1
-40
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
-58
27
0
0
0
-1
0
0
4
8
-22
0
0
0
0
0
0
0
43
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
-2
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
44
-99
0
0
0
0
0
0
0
-12
29
0
0
0
0
0
0
-3
-5
78
0
0
0
0
0
0
-2
-22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
50
-3
0
0
0
0
0
0
0
-23
83
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
-17
15
0
0
0
0
0
0
0
-24
42
0
0
0
0
0
0
3
-25
-5
0
0
0
0
0
0
1
-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
-3
0
0
-2
6
76
0
0
0
0
0
0
-1
-20
-30
0
0
0
15
0
0
0
-14
-38
0
0
0
0
0
0
-2
-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
1
0
0
-1
85
-37
0
0
0
0
0
1
-1
10
-11
0
0
0
-13
0
0
-1
5
4
0
0
0
0
0
2
0
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
11
25
-25
0
0
0
0
0
0
0
36
-23
0
0
0
7
0
0
2
40
-47
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
0
0
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
-40
19
0
0
0
0
0
0
0
19
5
0
0
0
5
0
-1
-1
-58
6
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-18
0
0
0
0
0
0
2
-29
78
0
0
0
0
0
0
1
-10
-12
0
0
0
0
0
4
-4
-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
0
0
-3
-1
60
0
0
0
0
-5
1
-1
23
-21
0
0
0
0
0
1
-13
23
37
0
0
0
0
-3
10
0
-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
3
18
51
0
0
0
0
0
0
0
-10
-16
0
0
0
0
0
0
0
-21
35
0
0
0
0
5
-1
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
-4
4
64
0
0
0
0
1
2
0
-5
-72
0
0
0
0
-1
0
0
-14
67
0
0
0
0
0
1
-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
4
0
0
0
1
-27
-24
0
0
0
0
0
1
2
-28
14
0
0
0
0
0
0
18
72
-59
0
0
0
0
0
0
1
7
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
-1
0
0
0
-6
23
-7
0
0
0
0
0
0
15
-8
-47
0
0
0
2
0
0
5
-103
54
0
0
0
0
0
0
5
-5
-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
-1
0
0
0
-1
2
15
0
0
0
0
0
0
2
-5
-6
0
0
0
0
0
0
-10
-38
47
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-19
-12
17
0
0
0
0
0
0
0
3
36
0
0
0
1
0
0
4
6
-5
0
0
0
0
0
0
2
-93
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
15
12
0
0
0
0
0
0
-1
43
30
0
0
0
0
0
0
3
-20
-3
0
0
0
0
0
-2
-2
-21
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
-2
-78
70
0
0
0
0
0
0
-6
13
55
0
0
0
0
0
0
4
27
-62
0
0
0
0
1
-1
-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
0
0
3
33
0
0
0
0
0
0
0
-11
30
0
0
0
0
0
0
0
35
-34
0
0
0
0
0
-1
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
65
-3
0
0
0
0
0
0
3
-14
-2
0
0
0
0
0
0
0
44
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
-11
14
-30
0
0
0
0
0
0
0
-7
-15
0
0
0
8
0
0
0
-12
12
0
0
0
0
0
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
3
-8
-13
0
0
0
0
0
0
-3
-61
96
0
0
0
0
1
0
-6
-5
-19
0
0
0
0
0
0
8
6
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
0
0
0
51
64
0
0
0
0
0
-1
0
-24
39
0
0
0
1
0
0
2
31
-18
0
0
0
0
-1
3
0
-26
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-7
42
-40
0
0
0
0
0
0
0
-11
-5
0
0
0
-3
-1
0
23
-26
6
0
0
0
0
2
0
0
10
-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
1
1
12
0
0
0
0
0
-4
0
32
-30
0
0
0
0
0
0
-9
18
-8
0
0
0
0
0
1
1
-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
-1
-33
-31
0
0
0
0
1
1
-1
6
64
0
0
0
0
6
0
9
-13
-15
0
0
0
0
8
-3
-5
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
0
-3
8
28
0
0
0
0
0
-3
3
-34
-39
0
0
0
0
0
-1
-1
-3
-30
0
0
0
0
0
5
0
-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
-1
-6
2
39
0
0
0
0
-1
0
-11
-9
-27
0
0
0
0
4
-1
6
12
-38
0
0
0
0
-17
3
-7
-2
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
7
0
0
0
-1
-31
-23
0
0
0
0
0
0
0
58
-11
0
0
0
-2
0
0
0
-6
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
11
0
0
0
0
-74
46
0
0
0
0
0
0
0
-23
21
0
0
0
1
0
0
0
-9
-31
0
0
0
0
0
1
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
8
-1
0
0
0
-40
33
0
0
0
0
0
0
0
85
11
0
0
0
4
0
0
0
-41
-24
0
0
0
0
0
-2
0
12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
14
-13
0
0
0
0
0
0
0
5
21
0
0
0
-6
0
0
-8
-16
50
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
0
0
0
-23
-10
0
0
0
0
0
2
0
-55
2
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
2
26
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-15
38
0
0
0
0
0
0
5
-3
-20
0
0
0
0
0
8
1
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
0
0
0
-26
1
0
0
0
0
0
0
-1
48
-31
0
0
0
0
0
0
-3
11
-17
0
0
0
0
0
-2
0
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
15
-51
0
0
0
0
0
0
0
-22
20
0
0
0
0
0
-1
-1
12
-1
0
0
0
0
-1
-2
0
-18
-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
0
0
4
-13
-64
0
0
0
0
0
0
0
-7
-37
0
0
0
14
0
0
0
-7
28
0
0
0
0
6
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
2
0
0
-1
1
-7
0
0
0
0
0
-1
3
-3
52
0
0
0
-20
0
0
12
-10
68
0
0
0
0
-3
-3
-3
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
-37
-6
0
0
0
0
0
-1
-5
15
3
0
0
0
20
0
-2
3
-1
9
0
0
0
0
-2
-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
1
0
0
-1
-16
-25
0
0
0
0
0
0
0
-4
37
0
0
0
-1
0
-1
1
-23
12
0
0
0
0
-1
-4
0
-16
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-22
3
0
0
0
0
2
0
-1
4
3
0
0
0
0
-2
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
-1
4
-10
0
0
0
0
1
1
0
9
66
0
0
0
0
0
0
0
4
-53
0
0
0
0
-1
16
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
9
0
0
0
0
0
1
4
23
-12
0
0
0
0
0
0
4
-13
-21
0
0
0
0
-2
6
0
33
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
-2
-48
40
0
0
0
0
-5
5
1
-39
35
0
0
0
0
-2
4
-2
6
17
0
0
0
0
5
2
1
-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
0
0
0
24
20
-3
6
-3
8
-8
20
0
0
0
-2
-17
14
-36
12
31
-3
0
2
2
19
-28
-56
96
37
-18
0
0
-9
-38
86
-18
-26
-29
-6
1
-5
0
-2
-16
-54
-33
9
14
0
0
0
-12
2
3
-69
0
10
0
47
-1
34
-15
51
83
0
1
0
0
34
-15
-8
-3
8
-5
5
-3
0
-2
-8
35
-29
8
-6
0
0
0
3
-4
6
38
6
-8
0
0
-1
2
-2
21
-20
8
-6
0
0
0
8
22
-2
-8
8
-31
0
8
-4
-6
0
25
7
1
-15
0
0
0
0
-11
-9
-10
-22
-3
0
0
25
0
17
-18
21
3
-22
0
0
0
5
10
-6
9
-3
-13
0
6
2
0
-20
14
-29
1
0
0
0
0
0
-4
33
-15
1
0
0
0
4
0
0
9
14
-8
0
0
0
0
4
14
-59
8
1
0
0
15
0
0
1
-4
-67
15
0
0
0
0
0
23
-13
-52
57
0
0
0
-17
26
-8
-3
11
-47
0
0
0
0
-28
17
0
35
-52
0
0
-3
2
0
25
80
-20
32
0
0
0
0
0
4
5
-38
149
0
0
0
-18
1
24
14
-64
77
0
0
0
0
-2
-49
-30
2
79
0
0
4
5
-1
-10
0
-5
-57
0
0
0
0
-1
-18
-9
28
-14
0
0
0
-7
13
-17
12
-26
9
0
0
0
0
-11
-42
23
-13
-8
0
0
0
0
0
0
0
-33
82
12
-22
0
0
0
0
0
11
-13
30
-14
0
0
0
0
0
-16
-11
-71
63
0
0
0
-1
0
-7
1
13
33
0
0
0
0
0
-24
88
72
-4
0
0
0
0
0
2
-44
-46
73
0
0
0
0
3
0
99
12
-3
0
0
0
0
0
0
-6
-172
19
0
0
0
0
1
23
-8
-11
0
0
0
0
0
0
-8
67
-41
0
0
0
0
0
5
-26
53
-3
0
0
0
0
1
0
1
1
-24
0
0
0
0
0
0
-2
-86
18
0
0
0
0
0
0
1
10
8
0
0
0
0
0
0
0
-23
7
0
0
0
0
0
0
-5
10
-21
0
0
0
0
0
1
-53
-12
0
0
0
0
0
0
0
11
50
0
0
0
0
0
0
0
50
-9
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
22
-54
0
0
0
0
0
0
0
-12
39
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-32
-35
0
0
0
0
0
0
0
24
35
0
0
0
0
0
0
0
0
14
0
0
0
0
1
0
0
2
-24
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
-2
-35
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
-2
-57
32
-2
4
0
0
0
0
1
11
3
-21
10
0
5
0
0
0
49
-66
-11
5
0
0
0
0
0
1
15
50
-16
0
0
0
0
0
3
-6
-2
2
0
0
0
0
0
-8
33
-44
-1
0
4
0
0
-2
-5
12
-7
-27
0
0
0
0
-1
-15
3
62
-7
0
0
0
0
1
25
62
-4
0
0
0
0
0
0
0
78
-12
0
0
-1
0
0
0
-1
39
11
0
0
0
0
0
0
2
-37
-31
0
0
0
0
0
0
-15
41
9
0
0
0
0
0
0
-2
-67
15
0
0
-10
0
0
0
-2
25
1
0
0
0
0
0
0
-1
4
-31
0
0
0
0
0
-1
7
17
0
0
0
0
0
0
-1
-15
-2
0
0
0
-1
0
0
-3
24
-10
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-7
23
0
0
0
0
0
0
0
-7
37
0
0
0
-5
0
0
-1
2
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-15
-24
0
0
0
0
0
0
0
1
47
0
0
0
1
0
0
0
14
32
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-3
98
0
0
0
0
0
0
0
0
-57
0
0
0
3
0
0
0
-1
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
37
55
-56
-13
0
0
0
1
1
0
-38
49
4
0
0
0
0
1
-3
38
0
6
0
0
4
-1
2
27
0
1
-10
0
0
0
0
1
0
-69
-56
2
0
0
0
0
0
3
-23
18
-27
0
0
0
0
-4
0
53
-110
1
0
0
0
0
0
0
-3
39
-6
0
0
0
0
0
-15
-26
19
0
0
0
0
0
-4
9
-14
21
0
0
0
0
0
-6
-6
-54
44
0
0
0
1
0
11
-4
-2
-54
0
0
0
0
0
0
0
6
4
0
0
0
0
0
2
12
-5
-1
0
0
0
0
0
1
0
51
-3
0
0
0
1
0
0
0
-2
129
0
0
0
0
0
0
-6
102
0
0
0
0
0
0
-1
15
-43
0
0
0
0
0
0
2
-3
74
0
0
0
0
0
0
-1
2
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
1
17
0
0
0
0
2
0
0
0
15
0
0
0
0
0
0
0
-11
46
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-1
59
0
0
0
0
0
0
0
-4
28
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
-7
0
0
0
1
0
0
-3
2
-44
4
19
0
0
0
0
0
-13
16
-4
-26
0
-1
0
0
1
32
6
22
15
0
0
0
0
1
0
23
38
17
7
0
0
0
1
15
28
-1
2
0
0
0
0
0
-1
8
20
-33
0
1
0
0
-1
4
-3
3
-1
0
0
0
0
0
3
-10
77
-17
1
0
0
0
0
-12
-82
12
0
0
0
0
0
0
2
-16
9
0
0
0
0
0
1
12
56
3
0
0
0
0
0
0
-5
50
-11
0
-4
0
0
0
0
-19
-66
6
0
0
0
0
0
0
-6
-17
-7
0
0
3
0
0
0
0
6
-2
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
1
-16
21
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
2
71
0
0
-2
0
0
0
0
-6
-13
0
0
0
0
0
0
0
-11
-21
0
0
0
0
0
0
3
-8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
14
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
3
54
0
0
0
0
0
0
0
-3
-28
0
0
1
0
0
0
0
-3
144
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-31
-11
-1
-5
0
0
0
0
0
4
-33
1
36
0
0
0
0
0
-21
-26
-4
39
0
0
0
-1
0
-11
-8
56
1
0
0
0
0
0
11
-7
21
-8
0
0
0
0
0
-2
-1
-10
22
0
0
0
0
0
3
-4
13
-5
0
0
0
0
0
0
0
29
-23
0
0
0
0
0
-22
10
15
0
0
0
0
0
0
-8
8
16
0
0
0
0
0
0
-1
-28
-6
0
0
0
0
0
0
-10
18
2
0
0
0
0
0
0
1
19
-3
0
0
0
0
0
0
-1
18
-1
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
-1
0
0
-20
0
0
0
0
0
0
14
-8
0
0
0
0
0
0
0
6
40
0
0
0
0
0
0
0
-23
29
0
0
0
0
0
0
0
-14
7
0
0
0
0
0
0
0
-3
-41
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
1
-4
0
0
0
0
0
0
0
-13
57
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
12
-33
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-3
0
0
10
0
0
0
0
0
0
0
26
-37
-48
3
0
0
0
0
0
-29
-10
-7
32
0
-1
0
0
1
-39
-15
4
7
0
0
0
0
2
13
-13
53
12
0
-1
0
0
0
5
10
-18
19
0
0
0
0
0
-2
3
-34
-49
0
-1
0
0
0
8
1
22
-22
0
0
0
0
0
3
4
-5
1
0
0
0
0
0
1
61
3
0
0
0
0
0
0
5
18
-6
0
0
-1
0
0
0
16
-47
4
0
0
0
0
0
1
-1
-58
37
0
0
0
0
0
0
6
11
-14
0
0
0
0
0
0
-1
0
11
0
0
-1
0
0
0
6
-14
8
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
0
-17
-14
0
0
0
0
0
0
1
7
5
0
0
0
0
0
0
0
-2
112
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-12
-6
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
7
-34
0
0
0
0
0
0
0
1
34
0
0
0
1
0
0
-1
3
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
65
0
0
0
0
0
0
0
-8
0
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
-7
-18
-36
13
0
0
0
0
0
-7
-8
-21
33
0
0
0
0
0
0
18
29
30
0
0
-2
1
0
33
-1
-28
-17
0
0
0
0
0
0
-8
-9
18
0
0
0
-2
0
-3
4
0
-40
0
0
0
0
0
0
9
9
-16
0
0
0
0
0
-3
0
83
-19
0
0
0
0
0
0
8
-2
0
0
0
0
2
0
-2
33
25
0
0
0
0
0
0
0
16
2
0
0
0
-1
0
0
-5
3
45
0
0
0
0
0
0
-2
38
-6
0
0
0
0
-1
0
-3
7
-7
0
0
0
0
0
0
0
6
32
0
0
0
0
1
0
0
1
61
0
0
0
0
0
0
17
40
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
-6
1
2
0
0
0
0
0
0
8
-1
-4
0
0
0
0
0
0
0
0
-39
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
5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
2
-1
-1
32
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
-54
8
0
0
0
0
0
7
14
-43
5
0
0
0
0
0
-1
50
27
-8
0
0
0
0
0
0
10
-46
-36
0
-7
0
0
0
0
15
12
11
0
0
0
0
0
0
-1
-26
19
0
0
0
0
0
0
-24
-28
32
0
0
0
0
0
-1
1
16
-7
0
0
0
0
0
-8
-14
-16
18
0
0
0
0
0
0
25
-22
-6
0
0
0
0
0
0
0
81
-10
0
0
0
0
0
0
1
42
-64
0
0
0
0
0
2
2
-10
13
0
0
0
0
0
-1
2
-55
13
0
0
0
0
0
0
0
59
-23
0
0
0
0
0
0
2
35
-24
0
0
0
0
0
-6
-18
2
0
0
0
0
0
0
-1
-18
15
0
0
0
0
0
0
-1
-6
-5
0
0
0
0
0
0
0
0
-42
0
0
-5
0
0
0
6
-13
33
0
0
0
0
0
0
1
8
-29
0
0
0
0
0
0
-2
-6
21
0
0
0
0
0
0
1
0
28
0
0
0
0
0
0
0
23
3
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
0
7
-31
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
-7
4
-48
0
0
0
0
0
0
-68
24
-20
0
0
0
0
0
0
-42
26
-20
0
0
0
0
0
0
27
73
-65
0
0
0
0
0
0
4
-16
18
0
0
0
0
0
0
8
-11
6
0
0
0
0
0
0
-1
26
-2
0
0
0
0
0
0
-6
-9
-16
0
0
0
0
0
0
-5
-35
21
0
0
0
0
0
0
-3
78
1
0
0
0
0
0
0
-1
25
-4
0
0
0
0
0
0
0
-21
-15
0
0
0
0
0
0
-4
56
4
0
0
0
0
0
0
0
35
-12
0
0
0
0
0
0
2
-31
-13
0
0
0
0
0
0
-5
-20
5
0
0
0
0
0
0
-17
21
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
-4
53
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
14
22
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
-1
-8
31
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
10
10
0
0
0
0
0
0
0
2
-45
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
4
-64
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
21
61
-35
0
0
0
0
0
0
-6
66
-39
0
0
0
0
0
0
-18
-90
59
0
0
0
0
0
0
5
12
-94
0
0
0
0
0
0
1
-25
22
0
0
0
0
0
0
1
23
-3
0
0
0
0
0
0
4
-1
-11
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
1
-2
6
0
0
0
0
0
0
0
-1
69
-7
0
0
0
0
0
-1
6
-1
-9
0
0
0
0
0
0
0
47
-63
0
0
0
0
0
0
0
74
-1
0
0
0
0
0
0
0
50
0
0
0
-3
0
0
0
0
36
-18
0
0
0
0
0
0
0
-21
-4
0
0
0
0
0
0
-25
21
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
0
12
-32
0
0
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-17
33
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
-14
16
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
33
0
0
0
2
0
0
0
0
20
0
0
0
0
0
0
0
-4
-26
0
0
0
0
0
0
0
-3
-39
4
0
0
0
0
0
0
-24
-23
-20
0
0
0
0
0
0
28
-38
52
0
0
0
0
1
-7
-1
-3
-105
0
0
0
0
0
0
11
-13
11
0
0
0
0
0
0
10
106
-28
0
0
0
0
0
0
1
39
-51
0
0
0
0
-1
0
4
32
42
0
0
0
0
0
0
0
-38
28
0
0
0
0
0
0
-1
-29
12
0
0
0
0
0
0
5
-11
-10
0
0
0
0
0
-7
-1
24
54
0
0
0
0
0
0
-1
-1
-6
0
0
0
0
0
0
0
-26
3
0
0
0
0
0
0
0
26
18
0
0
0
2
0
0
0
-43
53
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
4
-29
0
0
0
0
0
0
2
0
-52
0
0
0
0
0
0
1
-2
10
0
0
0
0
0
0
0
-7
25
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-5
52
-58
0
0
0
0
0
-1
-3
-23
-1
0
0
0
0
0
-4
20
-35
8
0
0
0
0
0
-1
4
-14
-20
0
5
0
0
0
0
3
11
1
0
0
0
0
0
0
0
56
-12
0
0
0
0
0
-1
2
37
-31
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
-1
-12
21
6
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
4
-1
52
-4
0
0
0
0
0
2
-3
-48
20
0
0
0
0
0
0
-1
33
6
0
0
0
0
0
0
-3
-11
33
0
0
0
0
0
0
1
75
-11
0
0
0
0
0
0
-1
-31
14
0
0
0
0
0
2
4
-21
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
-11
28
0
0
0
0
0
0
0
0
80
0
0
-1
0
0
0
0
8
-13
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
-3
-3
10
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
-28
0
0
0
0
0
0
2
3
22
0
0
0
0
0
0
0
0
60
0
0
-2
0
0
0
-3
7
16
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
-12
-16
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
-15
-29
0
0
0
0
0
0
-5
12
-43
0
0
0
0
0
0
4
11
-40
0
0
0
0
0
0
0
-74
47
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-18
13
0
0
0
0
0
0
0
8
-32
0
0
0
0
-1
0
0
-20
44
0
0
0
0
0
0
2
-9
16
0
0
0
0
0
0
0
42
10
0
0
0
0
0
0
0
-68
26
0
0
0
0
0
-2
0
16
38
0
0
0
0
0
0
0
-24
2
0
0
0
0
0
0
0
-16
7
0
0
0
0
0
0
0
-24
-13
0
0
0
0
0
-1
0
-11
-20
0
0
0
0
0
0
1
-34
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
1
-33
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-27
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
-6
10
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
1
95
0
0
0
0
0
0
1
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
0
-34
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
24
-15
0
0
0
0
0
0
0
12
-2
0
0
-1
0
0
0
0
2
-21
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
-4
25
-5
0
0
0
0
0
0
0
-10
-10
0
0
-4
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
1
-36
6
0
0
2
0
0
0
0
-72
0
0
0
0
0
0
0
1
-4
52
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
0
0
4
12
0
0
-4
0
0
0
0
-30
18
0
0
0
0
0
0
0
31
8
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
0
-69
0
0
0
-1
0
0
0
0
34
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
-1
2
-25
0
0
0
0
0
0
0
-1
-23
0
0
0
1
0
0
0
1
-12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
-26
0
0
0
0
0
0
0
1
20
0
0
0
-3
0
0
-4
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
-36
0
0
0
0
0
0
0
0
32
0
0
0
4
0
0
0
-1
9
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
4
51
-53
0
0
0
0
0
0
15
5
-33
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
0
-4
11
1
0
0
0
0
0
0
0
24
-5
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-108
34
0
0
0
0
0
0
2
6
8
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
5
10
59
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
8
5
0
0
0
0
0
1
0
2
12
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
45
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
27
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
0
-5
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-1
-5
42
0
0
0
0
0
0
0
-12
-12
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
11
-19
-10
0
0
0
0
0
0
0
-19
55
0
0
0
0
0
0
-3
-9
75
0
0
0
0
0
0
1
-21
25
0
0
0
0
0
0
-2
4
19
0
0
0
0
0
0
1
-4
33
0
0
0
0
0
0
-2
-3
-3
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-4
43
-45
0
0
0
0
0
0
0
-22
-4
0
0
0
0
0
0
1
-32
114
0
0
0
0
0
0
-9
-4
-28
0
0
0
0
0
0
-7
-19
-2
0
0
0
0
0
0
0
-22
-14
0
0
0
0
0
0
2
-18
-21
0
0
0
0
0
0
5
0
-16
0
0
0
0
0
0
1
32
-11
0
0
0
0
0
0
3
-21
60
0
0
0
0
0
0
5
-9
-38
0
0
0
0
0
0
0
-3
75
0
0
0
0
0
0
1
21
2
0
0
0
0
0
0
0
-23
45
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
-8
-3
-6
0
0
0
0
0
0
0
-17
-24
0
0
0
0
0
0
0
62
-21
0
0
0
0
0
0
0
23
-21
0
0
0
0
0
0
-6
-3
-26
0
0
0
0
0
0
0
29
-39
0
0
0
0
0
0
0
-9
15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-20
45
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
0
1
13
-7
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
3
69
0
0
0
0
0
0
0
-1
-34
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
20
-20
0
0
0
0
0
0
0
17
39
0
0
0
0
0
0
0
-21
43
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-5
-14
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-24
67
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
-58
-31
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
-32
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
79
0
0
0
0
0
0
0
-15
53
0
0
0
0
0
0
0
-2
-49
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
15
17
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-3
-7
-48
0
0
0
0
0
0
0
5
-29
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
-1
-24
0
0
0
6
0
0
0
2
6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-5
16
-4
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
-6
-25
0
0
0
0
0
0
-1
-11
24
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
9
0
0
0
17
0
0
0
1
6
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
2
11
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
11
50
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
11
-14
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-1
-53
0
0
0
1
0
0
0
-12
12
0
0
0
0
0
0
0
-9
-36
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
0
4
-1
0
0
0
-8
0
0
0
0
28
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
4
-26
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
28
-40
0
0
0
0
0
0
-1
4
-49
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
-12
40
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-2
72
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
11
42
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
1
-14
66
0
0
0
0
0
0
0
9
51
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
-1
44
0
0
0
0
0
0
0
5
-1
0
0
-2
0
0
0
4
-72
52
0
0
0
0
0
0
-1
1
21
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
2
-12
0
0
3
0
0
0
-1
-2
1
0
0
0
0
0
0
0
-3
53
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-2
-5
0
0
-1
0
0
0
0
-13
8
0
0
0
0
0
0
0
-71
50
0
0
0
0
0
0
0
47
15
0
0
0
0
0
0
0
-1
-40
0
0
-3
0
0
0
3
2
-50
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
27
-28
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-6
-9
0
0
-5
0
0
0
0
13
-13
0
0
0
0
0
0
0
6
45
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
1
14
-2
0
0
0
0
0
0
0
36
-6
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-3
64
0
0
1
0
0
0
0
-23
34
0
0
0
0
0
0
0
-5
-45
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
7
44
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
24
-18
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-30
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
2
-2
-6
0
0
0
0
0
0
0
-4
46
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
4
0
0
0
0
0
0
0
-28
-4
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
0
9
-57
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
6
34
0
0
0
0
0
0
0
-16
16
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
12
24
0
0
0
0
0
0
0
-1
83
0
0
0
0
0
0
0
-7
63
0
0
0
0
0
0
0
3
-45
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
11
-7
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-9
0
0
0
-1
0
0
0
43
-25
0
0
0
0
0
0
0
3
33
0
0
0
1
0
0
0
-7
33
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
33
-39
0
0
0
0
0
0
0
-3
12
0
0
0
-1
0
0
0
-16
-1
0
0
0
0
0
0
0
37
-1
0
0
0
0
0
0
0
-4
24
0
0
0
0
0
0
0
-7
-66
0
0
0
0
0
0
0
2
39
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
18
24
0
0
0
0
0
0
0
16
-8
0
0
0
1
0
0
0
0
12
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
-31
5
0
0
0
0
0
0
0
-11
59
0
0
0
0
0
0
0
-44
53
0
0
0
0
0
0
0
11
-19
0
0
0
0
0
0
0
16
-40
0
0
0
0
0
0
0
-16
10
0
0
0
-2
0
0
0
2
-2
0
0
0
0
0
0
0
-20
13
0
0
0
0
0
0
0
-47
-20
0
0
0
0
0
0
0
16
20
0
0
0
1
0
0
0
9
-32
0
0
0
0
0
0
0
-8
6
0
0
0
5
0
0
0
1
58
0
0
0
0
0
0
0
-35
15
0
0
0
-2
0
0
0
-17
-11
0
0
0
0
0
0
0
6
-6
0
0
0
0
0
3
0
-2
17
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-33
-5
0
0
0
0
0
0
0
0
10
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
0
1
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
14
6
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
-32
0
0
0
0
0
0
0
3
-53
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
-5
32
0
0
0
0
0
0
0
3
27
0
0
0
0
0
0
0
4
-33
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
1
0
1
6
0
0
0
0
0
0
-1
-23
47
0
0
0
0
0
0
0
-25
44
0
0
0
0
0
0
0
-26
-13
0
0
0
0
0
0
0
-13
11
0
0
1
0
0
0
0
-5
-69
0
0
0
0
0
0
-1
-9
25
0
0
0
0
0
0
0
19
11
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
-40
73
0
0
0
0
0
0
0
6
55
0
0
0
0
0
0
0
2
66
0
0
0
0
0
0
-1
59
22
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
-24
19
0
0
0
0
0
0
0
-18
41
0
0
0
0
0
0
-1
-71
81
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
40
66
0
0
0
0
0
0
0
-9
31
0
0
0
0
0
0
0
31
24
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
-3
-32
4
0
0
0
0
0
0
0
35
-17
0
0
0
0
0
0
0
6
-26
0
0
0
0
0
0
0
18
0
0
0
-5
0
0
0
0
13
-17
0
0
0
0
0
0
0
-32
-45
0
0
0
0
0
0
0
-27
10
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
-6
49
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
9
50
0
0
0
0
0
0
0
-1
-3
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
-6
0
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
-2
81
0
0
0
0
0
0
0
-11
34
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
22
51
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-6
48
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-2
58
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
5
-55
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
7
48
0
0
0
0
0
0
0
-32
54
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
10
36
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
0
-10
-38
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
-26
-16
0
0
0
0
0
0
0
6
-8
0
0
0
-7
0
0
0
6
9
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-21
35
0
0
0
0
0
0
0
6
70
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-2
-42
0
0
0
0
0
0
0
3
34
0
0
0
0
0
0
0
-2
-32
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
11
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-24
-20
0
0
0
0
0
0
0
8
5
0
0
0
7
0
0
0
9
-6
0
0
0
0
0
0
0
6
18
0
0
0
0
0
0
0
17
-40
0
0
0
0
0
0
0
0
76
0
0
0
1
0
0
0
-13
1
0
0
0
0
0
0
0
5
-66
0
0
0
0
0
0
0
-34
91
0
0
0
0
0
0
0
0
-60
0
0
0
-3
0
0
0
-1
-42
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
1
6
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
7
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
-8
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
-11
-7
0
0
0
0
0
0
0
-3
-76
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
104
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
29
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
-1
53
0
0
0
0
0
-1
0
-15
19
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
-3
32
-39
0
0
0
0
0
0
0
-10
57
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
0
5
-8
0
0
1
0
0
0
0
-8
-19
0
0
0
0
0
0
0
4
-10
0
0
0
1
0
0
0
8
-25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
20
19
0
0
0
0
0
0
0
-6
-43
0
0
0
0
0
0
0
32
38
0
0
0
0
0
0
0
4
14
0
0
-2
0
0
0
0
10
-17
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-34
35
0
0
0
0
0
0
0
28
-10
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
-24
18
0
0
6
0
0
0
0
-5
14
0
0
0
0
0
0
0
22
27
0
0
0
0
0
0
0
-8
-41
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
4
12
4
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
16
-34
0
0
0
0
0
0
0
-18
-1
0
0
1
0
0
0
0
-52
-36
0
0
0
0
0
0
0
6
15
0
0
0
-1
0
0
0
-7
17
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
-2
-94
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
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
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
11
27
0
0
0
0
0
0
0
-8
15
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-1
60
0
0
0
0
0
0
0
2
-41
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
4
28
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
-10
31
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
15
32
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
5
29
0
0
0
0
0
0
0
-14
7
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-4
0
-1
44
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
-38
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
2
-29
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
1
-23
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
1
50
0
0
0
0
0
0
0
2
33
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-3
-41
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
2
-30
0
0
0
6
0
0
0
-2
-8
0
0
0
0
0
0
0
-3
-29
0
0
0
0
0
0
0
-2
-45
0
0
0
0
0
0
0
0
18
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
-4
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
1
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
6
29
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-79
0
0
0
0
0
0
0
0
15
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
22
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
0
4
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
2
-42
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
3
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
-9
0
0
0
66
9
6
7
9
-5
1
-5
0
0
-16
-68
-17
2
47
20
15
0
-24
-30
-31
133
-59
-17
16
11
0
0
26
47
-57
-36
5
-15
19
-36
-29
11
-31
-22
-15
24
10
-16
0
0
26
61
-21
-139
-48
16
21
0
-21
0
5
5
-38
9
14
30
0
0
-9
-9
-3
-45
-20
13
6
6
4
0
3
51
-6
-22
-3
0
0
0
8
14
-4
-72
24
-11
0
0
-4
-17
-14
-13
9
-26
8
0
0
0
-2
7
-27
-13
98
-20
0
-51
3
0
-18
-44
-72
28
44
0
0
0
3
-5
-13
-4
20
-26
0
0
4
0
4
-27
35
-14
8
0
0
0
0
1
-7
81
5
-10
0
-6
112
-56
22
-43
-30
22
0
0
0
0
0
-37
-65
76
40
0
0
0
-40
-2
-6
11
-29
34
0
0
0
0
0
-8
-55
44
-1
0
0
54
67
0
40
42
-155
31
0
0
0
0
0
1
-46
-116
107
0
0
0
58
0
0
20
-121
58
0
0
0
0
2
7
16
28
-42
0
0
-1
3
0
-6
-25
46
-22
0
0
0
0
1
-8
10
7
7
0
0
0
-8
0
6
28
2
-54
0
0
0
0
0
7
-3
-116
-54
0
0
46
1
0
7
35
42
-69
0
0
0
0
-2
0
3
-90
-24
0
0
0
2
0
-3
7
-47
19
0
0
0
0
1
0
-8
2
-25
0
0
0
0
37
81
65
-26
55
-30
-4
0
0
56
81
68
-21
-41
0
48
0
0
-24
-8
-51
25
-1
7
40
0
0
-49
-2
75
10
-6
10
67
0
0
-8
-6
-5
22
-5
5
11
0
0
-5
111
-58
-23
-66
-4
30
0
0
2
20
-2
-70
85
-37
-24
0
0
29
6
-37
12
-77
-8
23
0
0
-25
-58
-50
15
64
7
0
0
0
-2
63
8
9
-6
-21
0
0
0
-11
-10
37
-1
-26
-14
0
0
0
-11
0
-67
-43
34
37
0
0
0
0
-4
39
-49
-7
17
0
0
0
3
-9
28
-17
-46
-1
0
0
0
3
0
-1
15
-73
53
0
0
0
11
8
5
16
32
-28
0
0
0
-9
3
21
-25
7
0
0
0
0
0
-64
7
42
34
0
0
0
0
1
-6
21
-49
44
0
0
0
0
11
8
-27
-22
50
0
0
0
0
1
-63
-29
15
1
0
0
0
0
3
-26
-7
-88
-20
0
0
0
0
0
-2
-45
53
29
0
0
0
0
3
-8
29
-7
-13
0
0
0
0
1
3
1
-77
63
0
0
0
0
-4
-1
-4
24
3
0
0
0
0
-17
0
-12
28
44
0
0
0
0
0
5
1
-69
-34
0
0
0
0
0
0
1
12
23
0
0
0
0
-7
-1
0
-79
72
0
0
0
0
0
0
0
-6
5
0
0
0
0
-4
7
4
-16
28
0
0
0
54
75
76
34
-51
-1
-10
19
0
0
-14
16
114
-18
44
5
36
0
-67
-6
-5
-50
-96
-40
0
48
0
0
-19
-39
57
31
2
8
23
0
-71
9
-17
-3
-19
-108
40
35
0
0
-1
-24
63
-63
43
51
35
0
-48
0
2
66
-48
5
0
26
0
0
17
29
-68
-14
-42
107
10
0
-4
0
2
7
-74
54
16
0
0
0
0
-7
-16
3
48
3
0
0
54
-5
35
38
-50
26
-28
0
0
0
-13
-45
-19
-34
4
24
0
0
-3
0
0
9
-98
-37
62
0
0
0
0
3
1
4
16
8
0
0
42
0
-7
28
-62
21
-12
0
0
0
1
0
11
-26
-41
55
0
0
-1
7
-67
28
-27
19
0
0
0
0
-8
-13
-13
-43
53
0
0
0
13
0
0
-9
-57
52
0
0
0
0
0
-3
15
13
47
0
0
0
-6
0
-2
-22
-44
31
0
0
0
0
5
-2
-56
-8
-24
0
0
0
8
0
-4
28
-3
-24
0
0
0
0
0
-10
-40
33
46
0
0
0
2
0
8
-64
-63
80
0
0
0
0
-1
-1
3
61
10
0
0
0
-6
0
-2
10
-89
-9
0
0
0
0
0
0
0
-1
-39
0
0
0
0
0
0
-25
-93
80
0
0
0
0
0
1
3
43
-2
0
0
0
-22
0
0
-1
-42
22
0
0
0
0
1
0
3
1
44
0
0
0
0
-3
28
38
78
-9
12
10
0
0
31
28
-44
-17
41
-6
62
0
0
-9
41
55
-54
-1
-34
17
0
0
-30
34
-2
108
12
41
-22
0
0
12
-13
-25
-11
-43
32
20
0
0
-29
-74
-14
77
34
5
37
0
0
0
-8
13
-38
102
43
20
0
0
-71
-28
32
94
98
43
-37
0
0
-2
56
73
-18
2
-39
0
0
0
-55
-52
19
4
33
-11
0
0
0
0
12
46
-36
12
-7
0
0
0
57
-80
0
-59
33
-14
0
0
0
0
-3
10
-58
12
18
0
0
0
-6
3
36
102
-6
-49
0
0
0
0
2
12
-71
-15
75
0
0
0
104
-45
-25
-117
87
20
0
0
0
-14
-22
2
60
6
0
0
0
0
26
-13
-18
28
0
0
0
0
0
0
-3
-5
-52
91
0
0
0
0
1
18
-33
3
93
0
0
0
0
6
6
-32
-41
45
0
0
0
0
-7
63
-20
61
31
0
0
0
0
1
9
-15
29
-43
0
0
0
0
8
40
-31
-41
-64
0
0
0
0
-5
-1
38
-59
23
0
0
0
0
-7
0
-10
5
22
0
0
0
0
0
0
6
-80
144
0
0
0
0
0
-15
-27
-49
41
0
0
0
0
0
0
-7
-12
-33
0
0
0
0
-6
2
3
-29
43
0
0
0
0
0
0
2
4
61
0
0
0
0
-2
6
3
-5
-36
0
0
-87
-3
-12
-87
-74
-36
-9
18
4
0
0
-2
-60
-13
-29
-39
21
58
0
33
0
-18
-12
60
11
-27
17
0
0
2
-29
-98
16
92
-11
56
-14
6
0
-36
21
66
49
17
-10
0
0
-1
13
-17
-100
11
-6
29
0
-18
0
-1
-29
11
61
2
5
0
0
0
1
3
-4
-24
-10
19
78
2
0
19
126
-70
17
17
0
0
0
0
24
-25
-30
-30
10
0
0
8
0
-3
50
23
126
-30
0
0
0
0
-2
31
-60
32
-35
0
-9
0
0
4
31
-8
58
25
0
0
0
1
1
6
-49
39
66
0
0
-9
0
3
-3
87
113
-45
0
0
0
0
0
-8
-10
60
-12
0
22
1
0
22
28
-2
-90
0
0
0
0
0
12
-3
47
-55
0
0
0
-12
0
0
-15
-39
39
0
0
0
0
0
0
-11
7
32
0
0
-41
2
0
1
-58
-49
123
0
0
0
0
3
4
18
-46
-36
0
0
0
17
0
0
14
71
-42
0
0
0
0
0
0
-11
39
-25
0
0
-4
2
0
-4
-52
-38
122
0
0
0
0
0
-2
7
33
-73
0
0
0
1
0
-7
0
102
29
0
0
0
0
0
4
3
-12
127
0
0
-24
0
0
5
20
29
-84
0
0
0
0
0
0
0
-71
64
0
0
0
-4
0
3
0
-79
-25
0
0
0
0
0
0
1
8
10
0
0
0
0
5
-61
4
-101
15
1
8
0
0
5
33
-5
-6
-83
1
31
0
0
17
-28
100
-69
-12
-6
25
0
0
8
-56
52
40
71
-59
-1
0
0
0
-65
-52
21
90
16
-17
0
0
0
-3
8
39
-37
8
-15
0
0
0
-1
0
22
-40
6
-9
0
0
-18
46
14
65
-78
-53
34
0
0
0
-1
-121
-24
5
28
0
0
0
-1
-19
-12
-98
22
62
0
0
0
0
-2
19
26
70
-5
0
0
0
1
64
44
-8
63
-16
0
0
0
0
-8
-19
12
1
33
0
0
0
0
-8
6
9
-85
45
0
0
0
0
0
30
-2
-38
60
0
0
0
0
11
-8
33
26
2
0
0
0
0
-29
11
-7
-54
0
0
0
0
0
-7
1
-13
4
0
0
0
0
0
-1
-23
-26
-23
0
0
0
0
0
-36
8
-78
6
0
0
0
0
0
3
-20
-108
54
0
0
0
0
0
0
-4
-21
-34
0
0
0
0
0
-3
-3
-61
68
0
0
0
0
0
-34
-9
-28
85
0
0
0
0
0
2
-2
-15
66
0
0
0
0
0
-5
0
-42
85
0
0
0
0
0
0
0
-24
80
0
0
0
0
0
9
-2
2
34
0
0
0
0
0
1
0
-4
60
0
0
0
0
0
1
2
0
29
0
0
0
0
0
0
0
-15
59
0
0
0
0
0
-1
5
-10
-3
0
0
0
-8
13
-23
52
-31
-6
2
25
0
0
1
37
57
-88
-44
26
31
0
-84
1
-6
61
-24
-30
22
9
0
0
3
9
-22
21
-48
-32
23
0
36
0
-12
-45
-69
-88
37
11
0
0
0
1
20
-48
-3
69
2
0
18
0
2
-48
-100
49
38
33
0
0
-1
-49
103
67
178
-3
-8
0
8
0
1
-51
-49
-56
21
0
0
0
0
8
-26
-16
68
20
0
0
35
0
1
28
44
24
-64
0
0
0
0
5
-89
76
79
-18
0
0
-1
0
-2
-8
-39
2
30
0
0
0
0
-2
2
-9
79
17
0
0
-24
0
0
3
-51
30
29
0
0
0
-5
10
9
-14
49
-6
0
0
20
0
26
-81
-19
-15
0
0
0
0
0
3
-3
16
24
0
0
0
11
0
-5
-24
-59
20
0
0
0
0
0
0
-31
15
-10
0
0
0
-50
0
0
-28
70
22
0
0
0
0
0
5
-5
-32
87
0
0
0
80
0
0
2
-89
-14
0
0
0
0
0
-10
17
-22
57
0
0
0
2
0
0
1
66
-104
0
0
0
0
0
0
0
-67
147
0
0
0
-48
0
0
3
39
14
0
0
0
0
0
-16
-1
-8
34
0
0
0
2
0
-3
-2
14
52
0
0
0
0
0
0
2
5
40
0
0
0
-20
0
-5
0
26
-5
0
0
0
0
0
-4
8
2
16
0
0
0
0
19
-135
-92
-11
64
19
5
0
0
90
-21
-56
-30
149
40
11
0
0
-2
-31
-44
6
120
-18
6
0
0
7
34
53
-5
-87
17
14
0
0
2
-3
58
42
64
14
-9
0
0
-6
35
-27
20
3
-17
38
0
0
0
-6
18
47
4
25
8
0
0
12
163
38
-5
1
4
16
0
0
0
0
-8
-40
-46
63
0
0
0
-3
10
40
11
26
16
0
0
0
-2
-4
-19
43
6
7
0
0
0
-20
3
-36
12
110
2
0
0
0
0
-6
-7
44
9
-36
0
0
0
6
-19
-41
-1
77
97
0
0
0
0
0
4
-3
42
1
0
0
0
72
6
1
1
37
-107
0
0
0
-3
-38
1
-72
78
0
0
0
0
6
-24
7
-7
6
0
0
0
0
0
-3
31
15
-85
0
0
0
0
1
24
28
21
17
0
0
0
0
0
2
18
-56
47
0
0
0
0
-2
22
10
-25
-1
0
0
0
0
-6
15
-3
-2
-55
0
0
0
0
-1
-55
10
-16
25
0
0
0
0
0
3
2
-5
-3
0
0
0
0
0
0
0
-6
-4
0
0
0
0
-1
0
6
0
21
0
0
0
0
0
23
0
2
-29
0
0
0
0
0
2
2
-11
-1
0
0
0
0
3
-7
0
5
-1
0
0
0
0
0
0
-8
-3
-21
0
0
0
0
14
-8
6
-14
22
0
0
58
-11
0
-85
-26
41
15
-13
0
0
0
-21
13
-6
11
-37
-8
0
0
-2
0
-43
13
-104
78
21
0
0
0
2
1
-51
77
17
-13
0
22
4
1
14
72
-4
54
9
0
0
0
2
-9
-7
-154
65
31
0
0
1
0
1
-13
-53
0
26
0
0
0
0
3
14
-28
-37
2
0
16
0
5
1
50
-73
47
7
0
0
0
-14
29
0
-97
81
12
0
0
-6
-2
-56
41
12
-121
31
0
0
0
0
0
8
4
-29
22
0
-23
0
0
2
-138
-25
63
22
0
0
0
5
-1
-1
20
-44
17
0
0
0
0
0
-1
15
16
-6
0
0
0
0
0
-1
-7
19
20
0
-8
-17
-11
2
32
59
15
0
0
0
0
17
8
-25
48
-38
0
0
0
7
0
0
85
-21
-39
0
0
0
0
0
-10
1
-43
16
0
0
-37
7
0
-5
23
30
14
0
0
0
0
1
3
-3
-108
119
0
0
0
0
0
0
5
19
15
0
0
0
0
0
2
9
-5
-47
0
0
-1
0
1
23
11
85
-37
0
0
0
0
0
0
-6
37
10
0
0
0
3
0
-2
-27
26
18
0
0
0
0
0
0
4
-49
97
0
0
21
0
0
17
-33
-33
66
0
0
0
0
0
2
6
46
-21
0
0
0
0
0
0
-7
17
8
0
0
0
0
0
-3
0
-2
-42
0
0
0
0
17
-14
-11
44
6
-4
0
0
0
8
68
46
35
-12
-36
0
0
0
-1
-12
26
-155
2
52
0
0
0
2
48
74
24
17
-55
0
0
0
8
-36
41
63
24
0
0
0
0
-1
24
53
-32
12
7
0
0
0
0
-15
14
-44
17
6
0
0
0
-7
78
-15
1
-24
10
0
0
0
1
13
-148
66
99
2
0
0
0
1
-10
-27
-61
-35
44
0
0
0
1
2
-28
20
5
18
0
0
0
-7
-4
-30
-41
97
18
0
0
0
7
13
-14
-66
29
4
0
0
0
-4
1
37
153
-42
-17
0
0
0
0
0
2
9
-1
18
0
0
0
0
-12
7
-19
9
41
0
0
0
1
-12
78
-55
11
0
0
0
0
-1
7
-25
-114
77
0
0
0
0
0
4
1
-49
12
0
0
0
0
-4
1
4
-39
4
0
0
0
0
-1
-1
-9
88
-21
0
0
0
0
-2
-3
-9
55
-26
0
0
0
0
0
1
2
-15
-66
0
0
0
0
-1
7
2
-56
-20
0
0
0
0
2
4
-6
11
71
0
0
0
0
1
1
1
39
-40
0
0
0
0
9
0
0
15
-37
0
0
0
0
0
-4
-3
0
29
0
0
0
0
0
-1
1
-14
24
0
0
0
0
2
9
0
35
23
0
0
0
0
0
0
4
20
32
0
0
0
0
0
2
0
62
-64
0
0
0
-13
42
-103
86
-13
-11
8
0
0
0
-8
1
-51
10
83
38
0
0
-76
8
3
-6
-27
40
51
0
0
0
2
-23
-5
-86
79
73
0
0
26
0
13
16
28
-31
-8
0
0
0
-1
9
-34
-74
-5
64
0
0
-49
0
4
37
23
-99
62
0
0
0
-1
1
37
49
-14
20
0
0
-5
-10
12
92
17
-25
-1
0
0
0
13
0
-2
2
-56
21
0
0
49
0
0
-24
-70
70
7
0
0
0
2
-2
-31
-27
45
55
0
0
-9
0
0
-8
-24
46
5
0
0
0
0
0
2
-9
89
10
0
0
-32
0
1
5
9
87
10
0
0
0
2
0
-15
25
-18
24
0
0
-3
-7
-4
38
-29
-17
0
0
0
0
4
-2
-18
28
-57
0
0
0
-3
0
0
85
-2
-61
0
0
0
0
0
4
-6
-50
77
0
0
0
1
0
0
50
-93
61
0
0
0
0
-9
0
-15
-43
82
0
0
0
-5
0
0
3
10
-13
0
0
0
0
-3
0
-48
19
83
0
0
0
0
0
6
-12
33
-12
0
0
0
0
-1
2
0
63
42
0
0
0
-6
0
0
-6
-65
51
0
0
0
0
-2
0
2
29
75
0
0
0
-5
0
-5
5
-24
40
0
0
0
0
0
-4
0
-31
46
0
0
0
31
0
0
-3
-83
45
0
0
0
0
2
2
5
-39
-2
0
0
0
0
-32
24
-87
15
-13
30
0
0
0
-66
29
-12
74
79
-26
0
0
0
1
-2
38
-33
40
2
0
0
0
93
20
1
4
58
-106
0
0
0
-2
-49
50
1
48
-9
0
0
0
-7
12
-24
34
23
-2
0
0
0
0
36
-21
15
-70
33
0
0
0
-26
-4
61
85
44
-30
0
0
0
1
-8
-20
-48
-7
45
0
0
0
-12
-17
35
16
63
-4
0
0
0
-4
4
-10
-92
45
16
0
0
0
-7
50
14
27
-69
-10
0
0
0
0
-2
0
-56
49
37
0
0
0
10
8
5
-4
49
-9
0
0
0
0
20
1
7
-32
32
0
0
0
-15
-22
-5
-8
-5
10
0
0
0
2
2
89
-9
16
0
0
0
0
-1
-1
-5
-24
7
0
0
0
0
0
0
31
-32
30
0
0
0
0
-1
2
62
17
10
0
0
0
0
0
0
-9
-16
6
0
0
0
0
3
-6
-14
39
-28
0
0
0
0
1
8
13
42
-32
0
0
0
0
21
8
13
-26
-58
0
0
0
0
0
-6
2
0
8
0
0
0
0
11
0
-10
47
45
0
0
0
0
0
-3
-2
31
69
0
0
0
0
-6
0
5
-18
67
0
0
0
0
0
2
-1
17
-23
0
0
0
0
-1
-4
-1
55
54
0
0
0
0
0
-4
-9
-4
52
0
0
0
0
-24
-7
-1
8
87
0
0
54
51
15
-16
53
-59
0
-9
0
0
0
2
-11
18
-25
-14
16
0
0
-7
0
-1
-68
-41
120
26
0
0
0
0
0
-2
-73
69
40
0
9
0
-2
-2
-55
-53
29
39
0
0
0
2
5
21
-33
-8
0
0
0
1
0
8
-56
84
49
0
0
0
0
2
0
-2
4
92
6
0
-52
-4
0
-66
76
-45
-25
37
0
0
0
0
1
-38
-29
-92
48
0
0
4
0
0
-3
-42
62
17
0
0
0
0
0
0
31
70
25
0
99
0
0
-1
-7
-8
60
11
0
0
0
-1
-5
-3
-20
99
27
0
0
8
0
0
5
-7
48
11
0
0
0
0
-2
-1
12
60
6
0
-10
0
0
1
7
51
4
0
0
0
0
0
0
2
24
-39
0
0
0
14
0
-6
3
79
-2
0
0
0
0
0
0
0
-5
14
0
0
32
6
0
0
0
-48
44
0
0
0
0
-5
0
17
-82
68
0
0
0
-3
0
0
8
10
-15
0
0
0
0
0
0
0
-27
19
0
0
3
0
0
-4
-51
33
49
0
0
0
0
0
0
18
20
25
0
0
0
4
0
0
-1
59
26
0
0
0
0
0
0
2
9
-19
0
0
0
0
0
0
-2
-13
18
0
0
0
0
0
-7
17
-50
86
0
0
0
4
0
-1
-2
18
14
0
0
0
0
0
0
-10
-4
-31
0
0
0
0
-3
37
15
-69
24
13
0
0
0
2
12
-9
-3
0
-10
0
0
0
-10
14
-20
-83
-4
75
0
0
0
22
-34
6
94
1
-22
0
0
0
0
10
3
-67
6
34
0
0
0
0
-5
-3
78
-135
30
0
0
0
0
-2
1
-41
14
26
0
0
0
1
14
0
27
-26
-6
0
0
0
4
45
59
24
-22
-16
0
0
0
4
9
-2
-14
55
-9
0
0
0
0
2
2
-5
-51
13
0
0
0
5
-13
-11
10
31
-19
0
0
0
0
-6
17
-54
28
24
0
0
0
4
12
3
-26
-36
28
0
0
0
0
-5
-14
7
-16
10
0
0
0
6
0
-9
17
68
12
0
0
0
0
0
-22
9
13
0
0
0
0
0
10
28
-115
15
0
0
0
0
0
0
13
17
33
0
0
0
0
-2
13
-32
0
48
0
0
0
0
0
12
-15
-13
65
0
0
0
0
1
-4
10
38
17
0
0
0
0
0
0
0
-28
43
0
0
0
0
-5
3
8
24
-76
0
0
0
0
0
11
-9
-51
44
0
0
0
0
0
0
-6
-7
78
0
0
0
0
0
0
6
4
62
0
0
0
0
-2
11
7
-13
2
0
0
0
0
0
0
-1
-13
65
0
0
0
0
0
-19
-4
35
24
0
0
0
0
0
0
0
33
88
0
0
0
0
1
0
0
7
-34
0
0
0
14
5
-3
29
-134
-7
31
0
0
0
0
-1
18
29
-57
1
0
0
108
-1
6
-12
-46
31
48
0
0
0
-4
-1
32
-8
31
41
0
0
-23
-6
-5
24
22
4
9
0
0
0
0
0
0
-40
-13
52
0
0
-51
-1
3
10
-84
51
56
0
0
0
7
-4
-15
4
-71
71
0
0
4
0
5
-8
48
5
-6
0
0
0
0
-4
0
-6
30
33
0
0
-29
0
-2
-8
-48
88
13
0
0
0
2
-2
-3
0
95
-30
0
0
1
0
0
6
-16
17
8
0
0
0
0
0
-8
10
-27
27
0
0
-42
0
0
3
6
-6
9
0
0
0
-18
1
0
-14
7
39
0
0
28
0
1
6
11
-58
0
0
0
0
-3
4
45
60
-116
0
0
0
-5
0
0
5
-16
23
0
0
0
0
0
6
5
2
79
0
0
0
-3
0
-8
19
-1
69
0
0
0
0
0
0
1
14
-37
0
0
0
-8
0
0
5
-12
66
0
0
0
0
13
0
12
-1
-3
0
0
0
-1
0
-1
-2
-96
63
0
0
0
0
4
0
-2
-45
16
0
0
0
22
0
0
-2
-1
96
0
0
0
0
-5
-8
-8
17
123
0
0
0
-1
0
5
10
-12
47
0
0
0
0
0
-11
0
-1
-15
0
0
0
32
0
0
0
-34
36
0
0
0
0
-2
6
6
8
97
0
0
0
0
1
-61
75
55
-55
4
0
0
0
7
31
-9
-4
30
14
0
0
0
-3
0
-7
-19
-13
121
0
0
0
17
-18
-34
-1
-56
66
0
0
0
0
-15
-43
42
4
-58
0
0
0
0
-2
5
-39
2
31
0
0
0
2
-6
-5
-2
-21
16
0
0
0
25
9
-20
0
2
-23
0
0
0
0
-5
-13
6
37
1
0
0
0
12
0
0
0
30
-33
0
0
0
0
0
-12
11
-16
22
0
0
0
-10
5
0
1
-45
47
0
0
0
0
5
2
0
120
-4
0
0
0
-8
5
-1
6
-23
3
0
0
0
0
0
3
1
60
-3
0
0
0
-12
6
7
0
5
11
0
0
0
8
-15
28
18
8
0
0
0
0
14
0
2
-17
-43
0
0
0
0
0
0
-9
-3
-6
0
0
0
0
-17
0
-43
8
18
0
0
0
0
0
5
6
4
17
0
0
0
0
0
3
0
-1
-2
0
0
0
0
0
0
-2
10
7
0
0
0
0
-13
-10
-27
6
36
0
0
0
0
0
0
-3
-11
74
0
0
0
0
-1
0
-6
-11
80
0
0
0
0
0
2
0
-66
81
0
0
0
0
1
-8
6
-5
49
0
0
0
0
0
0
-4
-1
28
0
0
0
0
0
13
0
-6
38
0
0
0
0
0
0
0
0
-14
0
0
0
0
4
-4
12
-9
3
0
0
57
-61
-47
-76
-17
53
-11
0
0
0
0
3
7
-129
9
33
0
0
0
-11
-7
33
103
-6
-6
0
0
0
0
5
-54
-32
-55
94
0
0
-10
133
0
-2
-33
-10
2
0
0
0
0
15
-34
-92
38
-29
0
0
0
21
0
-1
-78
10
85
0
0
0
0
-2
3
-61
9
72
0
0
0
0
6
11
69
-76
29
0
0
0
0
0
-6
2
51
10
0
0
0
-6
0
-1
-2
16
17
0
0
0
0
0
0
-3
-42
74
0
0
-3
0
0
-3
-57
-99
135
0
0
0
0
1
0
-31
78
17
0
0
0
0
0
0
-7
-52
106
0
0
0
0
0
7
0
-19
21
0
0
0
-20
-6
0
8
29
61
0
0
0
0
0
3
41
-51
26
0
0
0
6
0
-6
-55
-34
52
0
0
0
0
0
-1
1
-8
25
0
0
5
-14
0
18
-6
-15
21
0
0
0
0
0
-1
11
-80
24
0
0
0
0
0
0
-18
-49
-7
0
0
0
0
0
0
0
-48
46
0
0
0
0
0
9
-23
0
26
0
0
0
0
0
2
7
32
-14
0
0
0
-7
0
7
32
-52
-4
0
0
0
0
0
0
0
-120
83
0
0
-1
0
0
1
-12
-43
9
0
0
0
0
0
-1
2
-65
-3
0
0
0
0
0
0
9
-66
-31
0
0
0
0
0
0
-16
-33
-38
0
0
0
0
73
-22
-2
53
15
0
0
0
0
3
28
10
38
-36
0
0
0
0
-2
0
-13
11
32
0
0
0
0
2
-3
-5
50
41
0
0
0
0
-1
-7
-5
15
25
0
0
0
0
-19
9
23
-73
-3
0
0
0
0
-1
-16
5
28
43
0
0
0
0
7
85
11
-58
-18
0
0
0
0
0
-25
0
72
22
0
0
0
0
-1
-1
2
0
7
0
0
0
0
0
4
8
-120
40
0
0
0
0
0
-9
-4
-2
98
0
0
0
0
0
-11
31
-46
5
0
0
0
0
0
0
0
-11
-32
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
-4
-2
45
0
0
0
0
3
14
-39
-25
26
0
0
0
0
4
-8
21
-28
41
0
0
0
0
0
0
10
-25
0
0
0
0
0
0
0
-7
-24
30
0
0
0
0
0
-5
34
-19
-18
0
0
0
0
-1
5
19
-67
11
0
0
0
0
0
0
0
64
-17
0
0
0
0
0
0
3
-45
11
0
0
0
0
-2
0
-16
-3
60
0
0
0
0
0
0
-9
-42
-25
0
0
0
0
0
0
2
-26
52
0
0
0
0
0
0
0
4
36
0
0
0
0
0
0
2
-75
-10
0
0
0
0
0
0
-2
-87
-24
0
0
0
0
0
0
0
-35
-16
0
0
0
0
-1
0
0
-74
39
0
0
0
80
-19
29
-119
27
2
0
0
0
0
0
11
26
-65
0
0
0
0
-17
-1
-1
-26
-66
72
0
0
0
0
4
25
37
22
-58
0
0
0
37
0
-18
-90
-12
24
0
0
0
0
-2
-1
7
15
88
0
0
0
25
0
-5
-20
-24
23
0
0
0
0
0
8
43
-50
21
0
0
0
-1
0
-2
-7
-61
64
0
0
0
0
0
0
-5
-24
15
0
0
0
-4
0
1
29
-90
17
0
0
0
0
0
0
-3
7
-19
0
0
0
-1
0
-1
-108
43
61
0
0
0
0
0
0
32
-32
11
0
0
0
-10
0
0
-2
35
-7
0
0
0
0
2
3
-11
-7
41
0
0
0
3
0
-10
-23
-78
39
0
0
0
0
0
-2
-11
-67
93
0
0
0
2
0
-4
-7
-8
-19
0
0
0
0
0
2
7
19
5
0
0
0
6
0
0
-53
-58
77
0
0
0
0
0
0
-14
21
11
0
0
0
10
0
2
4
-61
-6
0
0
0
0
0
0
0
24
49
0
0
0
-7
-1
-16
36
-68
42
0
0
0
0
0
0
-2
-20
23
0
0
0
0
0
10
68
21
-51
0
0
0
0
0
0
1
10
68
0
0
0
0
0
0
7
-66
33
0
0
0
0
0
0
0
-42
-21
0
0
0
8
0
1
-9
-14
-17
0
0
0
0
0
0
0
-9
36
0
0
0
0
-14
38
36
2
-18
0
0
0
0
6
-21
-65
70
4
0
0
0
0
7
-5
117
-107
-6
0
0
0
0
44
1
-19
0
45
0
0
0
0
-7
-9
27
-118
79
0
0
0
0
24
-42
-54
15
89
0
0
0
0
0
3
11
-30
4
0
0
0
0
-67
26
-45
-20
148
0
0
0
0
3
3
-21
8
56
0
0
0
0
0
0
-4
28
17
0
0
0
0
0
-3
6
32
-22
0
0
0
0
-4
-11
-36
27
45
0
0
0
0
-2
-6
11
35
-8
0
0
0
0
-3
5
0
7
-50
0
0
0
0
0
0
9
8
-7
0
0
0
0
12
-4
-2
-12
0
0
0
0
0
3
-13
13
-10
36
0
0
0
0
-1
3
51
-100
72
0
0
0
0
0
0
-19
-29
41
0
0
0
0
1
-3
-10
3
-62
0
0
0
0
0
-1
-9
21
-3
0
0
0
0
-6
7
-6
40
6
0
0
0
0
0
0
-2
66
7
0
0
0
0
-10
0
17
40
24
0
0
0
0
-1
-9
6
-70
23
0
0
0
0
-2
-6
1
63
42
0
0
0
0
0
0
0
8
-10
0
0
0
0
0
-2
0
6
-95
0
0
0
0
0
0
0
-64
37
0
0
0
0
-3
0
1
-11
-37
0
0
0
0
0
0
-4
-28
32
0
0
0
0
2
0
0
-4
-5
0
0
-57
-27
0
-105
-67
23
63
0
0
0
0
0
9
19
10
-50
0
0
0
13
0
-1
69
-111
40
0
0
0
0
0
3
-12
53
4
0
0
-7
6
0
55
-74
-9
-6
0
0
0
0
0
-22
2
-20
56
0
0
0
-29
0
0
-71
38
82
0
0
0
0
0
5
-4
-12
77
0
0
40
0
-12
2
-35
49
-18
0
0
0
0
-3
-3
28
13
18
0
0
0
2
0
-1
27
-37
30
0
0
0
0
0
-3
-4
-5
36
0
0
14
-1
0
-1
-12
54
36
0
0
0
0
0
-7
3
19
-24
0
0
0
0
0
0
20
26
40
0
0
0
0
0
0
-2
3
4
0
0
1
-10
0
-5
14
-45
23
0
0
0
0
0
4
4
-111
31
0
0
0
3
0
0
-5
-62
90
0
0
0
0
0
-4
-5
62
77
0
0
-15
-12
0
18
2
-60
65
0
0
0
0
0
-6
7
-36
21
0
0
0
18
0
0
0
-41
-22
0
0
0
0
0
0
19
-38
47
0
0
-1
0
0
10
-71
18
21
0
0
0
0
-1
10
2
68
13
0
0
0
1
0
-11
-2
-70
82
0
0
0
0
0
0
0
-26
80
0
0
-9
0
0
-3
26
-83
26
0
0
0
0
0
0
2
-51
32
0
0
0
-11
0
0
0
21
59
0
0
0
0
0
0
0
71
-80
0
0
0
0
-28
80
42
-35
42
0
0
0
0
10
28
-44
-121
91
0
0
0
0
-12
-21
26
26
34
0
0
0
0
-8
6
5
3
-16
0
0
0
0
0
10
-5
-50
-2
0
0
0
0
0
43
36
-88
-43
0
0
0
0
0
5
-3
14
25
0
0
0
0
0
3
0
50
57
0
0
0
0
0
-26
13
-2
3
0
0
0
0
8
-11
-3
-46
71
0
0
0
0
0
0
0
57
-35
0
0
0
0
0
-52
9
-66
41
0
0
0
0
0
1
-49
32
21
0
0
0
0
3
-3
2
-28
73
0
0
0
0
0
0
-9
-8
-10
0
0
0
0
0
13
12
-34
-25
0
0
0
0
0
27
-13
86
-52
0
0
0
0
2
-10
-3
7
-1
0
0
0
0
0
3
1
-76
20
0
0
0
0
0
-2
-1
16
-24
0
0
0
0
0
-4
-1
20
-39
0
0
0
0
0
-1
-4
-57
47
0
0
0
0
0
0
-10
-7
-30
0
0
0
0
0
0
0
-70
85
0
0
0
0
2
-1
12
29
-8
0
0
0
0
0
-5
-1
-61
104
0
0
0
0
0
0
0
-34
14
0
0
0
0
1
0
-15
-21
25
0
0
0
0
0
1
0
-49
-7
0
0
0
0
0
2
4
43
-58
0
0
0
0
0
0
0
-25
31
0
0
0
0
3
0
-5
26
5
0
0
0
67
-7
-15
-48
-20
13
0
0
0
0
0
-3
48
-72
4
0
0
0
10
1
4
7
-47
18
0
0
0
0
0
-3
10
39
34
0
0
0
33
0
-34
-35
58
60
0
0
0
0
0
0
31
56
-107
0
0
0
46
0
0
44
-56
-17
0
0
0
0
0
2
75
-30
-25
0
0
0
-5
0
-2
35
68
-35
0
0
0
0
0
10
13
-2
12
0
0
0
28
0
0
-2
-88
62
0
0
0
0
0
2
5
-17
87
0
0
0
3
0
-2
-25
-64
-78
0
0
0
0
0
-2
1
2
41
0
0
0
5
0
0
6
-3
39
0
0
0
0
0
-5
-1
-1
2
0
0
0
-2
0
-2
-47
3
18
0
0
0
0
0
5
0
-72
57
0
0
0
-25
0
2
-10
79
11
0
0
0
0
0
-8
-2
-26
101
0
0
0
4
0
-2
-34
-13
24
0
0
0
0
0
0
1
-43
-24
0
0
0
14
0
1
2
-102
31
0
0
0
0
0
14
2
-13
33
0
0
0
1
0
9
28
2
-2
0
0
0
0
0
0
0
48
16
0
0
0
20
0
0
0
-32
28
0
0
0
0
0
0
3
9
-16
0
0
0
-14
0
0
3
9
18
0
0
0
0
0
3
-10
3
3
0
0
0
-33
0
0
3
13
99
0
0
0
0
0
-3
9
45
47
0
0
0
0
14
22
9
-91
46
0
0
0
0
1
41
32
-26
-15
0
0
0
0
-2
-3
-7
-21
4
0
0
0
0
-40
-3
-4
5
62
0
0
0
0
0
0
38
23
-153
0
0
0
0
-1
-3
19
6
11
0
0
0
0
0
2
19
4
-59
0
0
0
0
30
2
55
12
-31
0
0
0
0
0
-9
4
-46
21
0
0
0
0
-6
5
-4
28
8
0
0
0
0
13
0
-2
-5
69
0
0
0
0
-9
-2
4
21
-13
0
0
0
0
0
6
-2
-34
107
0
0
0
0
4
-6
-7
31
-13
0
0
0
0
0
0
0
17
41
0
0
0
0
-9
10
0
5
-37
0
0
0
0
-2
22
-7
-50
34
0
0
0
0
0
-15
0
-23
28
0
0
0
0
0
1
0
-19
45
0
0
0
0
0
-1
-4
88
-43
0
0
0
0
0
2
0
-37
20
0
0
0
0
3
-7
15
-9
70
0
0
0
0
0
0
0
-31
17
0
0
0
0
0
33
-2
11
-52
0
0
0
0
0
-6
0
-29
15
0
0
0
0
1
0
0
29
-32
0
0
0
0
-6
0
-7
19
19
0
0
0
0
1
-7
0
11
103
0
0
0
0
0
0
-7
1
64
0
0
0
0
-4
6
3
6
-10
0
0
0
0
0
-3
0
4
11
0
0
0
0
-3
2
-1
40
45
0
0
36
4
-5
-39
10
-8
64
0
0
0
0
-8
-6
5
17
-27
0
0
0
-1
2
-6
-75
-24
41
0
0
0
0
0
-1
1
-65
-2
0
0
-35
-1
0
-25
8
29
65
0
0
0
0
6
-4
-4
-50
86
0
0
0
0
0
0
8
112
-93
0
0
0
0
0
0
1
-17
27
0
0
0
0
-4
12
-16
32
25
0
0
0
0
0
3
2
25
-73
0
0
0
-9
0
6
19
-10
-33
0
0
0
0
0
0
0
-9
28
0
0
-8
14
0
3
17
-102
15
0
0
0
0
0
0
-4
-40
51
0
0
0
0
0
0
9
32
-2
0
0
0
0
0
4
-5
33
13
0
0
0
-2
-19
-7
68
22
3
0
0
0
0
-1
3
-6
21
-5
0
0
0
1
0
-2
28
43
-9
0
0
0
0
0
8
-7
-64
30
0
0
-2
-4
0
0
63
-45
42
0
0
0
0
0
-22
-6
25
12
0
0
0
-1
0
-1
3
-44
45
0
0
0
0
0
0
-1
52
31
0
0
-1
0
3
-13
5
-11
38
0
0
0
0
0
0
-11
-24
2
0
0
0
4
0
4
-3
-52
15
0
0
0
0
0
0
0
-34
9
0
0
12
-4
0
0
11
-2
17
0
0
0
0
-2
-3
0
-29
-21
0
0
0
-8
0
0
-4
34
-17
0
0
0
0
-1
0
-1
-100
28
0
0
0
0
34
-22
-37
10
16
0
0
0
0
-10
14
22
-35
-8
0
0
0
0
3
1
12
-22
-56
0
0
0
0
0
10
-12
-1
-30
0
0
0
0
0
-21
-11
-4
82
0
0
0
0
-6
-5
-9
-2
72
0
0
0
0
0
0
0
-38
16
0
0
0
0
3
0
-4
-48
58
0
0
0
0
0
2
17
-57
14
0
0
0
0
0
7
5
-24
22
0
0
0
0
-5
-3
17
24
7
0
0
0
0
0
5
-3
-71
56
0
0
0
0
0
5
9
-42
18
0
0
0
0
0
-2
8
9
-21
0
0
0
0
0
0
0
24
9
0
0
0
0
2
0
0
13
-34
0
0
0
0
0
16
-6
-36
0
0
0
0
0
7
-2
13
-23
23
0
0
0
0
2
-7
-17
-43
76
0
0
0
0
0
-1
-3
-9
-7
0
0
0
0
1
10
33
-15
16
0
0
0
0
0
0
-2
15
70
0
0
0
0
0
0
0
21
-10
0
0
0
0
-3
0
0
10
50
0
0
0
0
-2
0
-74
77
14
0
0
0
0
-3
-11
17
-13
26
0
0
0
0
3
0
3
-111
63
0
0
0
0
0
0
2
-59
32
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
12
-51
-15
0
0
0
0
0
0
4
-15
-20
0
0
0
0
-9
0
-4
31
-27
0
0
0
19
19
72
18
-77
-28
0
0
0
0
-5
1
-23
24
4
0
0
0
-17
2
3
-121
55
25
0
0
0
0
-13
13
37
-122
84
0
0
0
-13
0
-3
-5
-96
-15
0
0
0
0
0
4
-13
-49
-18
0
0
0
-39
0
1
-26
-41
89
0
0
0
0
-1
0
4
-36
19
0
0
0
0
0
-2
-24
-3
-5
0
0
0
0
0
0
27
45
4
0
0
0
1
0
0
14
-46
69
0
0
0
0
8
0
-24
-4
9
0
0
0
0
0
2
46
-13
9
0
0
0
0
1
0
9
0
-9
0
0
0
24
0
0
4
19
-43
0
0
0
0
-5
-1
24
1
-28
0
0
0
-1
6
1
-37
42
5
0
0
0
0
-2
-1
-23
18
86
0
0
0
-39
0
0
-64
-1
57
0
0
0
0
2
1
-4
-22
49
0
0
0
14
0
-11
8
-20
26
0
0
0
0
0
0
22
23
-34
0
0
0
15
0
0
1
30
20
0
0
0
0
13
8
-4
-10
54
0
0
0
-2
9
12
-48
29
6
0
0
0
0
0
0
0
-5
69
0
0
0
8
-1
0
10
-13
-34
0
0
0
0
-2
0
0
37
19
0
0
0
2
0
0
-7
1
-1
0
0
0
0
2
0
-1
-81
19
0
0
0
16
-7
0
-10
51
-41
0
0
0
0
-3
0
9
-3
43
0
0
0
0
-25
52
39
-75
29
0
0
0
0
-3
28
30
-40
74
0
0
0
0
0
-4
4
-46
100
0
0
0
0
-44
8
-18
3
7
0
0
0
0
5
3
1
-91
71
0
0
0
0
5
-31
17
-53
18
0
0
0
0
0
11
1
8
71
0
0
0
0
15
1
-7
74
36
0
0
0
0
0
0
4
-42
48
0
0
0
0
1
1
-4
105
-86
0
0
0
0
-2
0
6
4
6
0
0
0
0
9
4
-27
1
-18
0
0
0
0
0
-1
42
85
-71
0
0
0
0
5
5
-3
17
-35
0
0
0
0
0
0
-16
10
33
0
0
0
0
-26
3
7
21
-3
0
0
0
0
0
-1
22
-90
62
0
0
0
0
9
0
2
-10
23
0
0
0
0
0
0
22
-45
-17
0
0
0
0
4
0
16
91
7
0
0
0
0
0
0
-19
10
51
0
0
0
0
-2
1
27
-47
50
0
0
0
0
0
0
1
-11
-31
0
0
0
0
-27
0
7
-6
116
0
0
0
0
0
-1
-11
-16
-6
0
0
0
0
-2
2
0
-88
67
0
0
0
0
-1
0
0
59
-41
0
0
0
0
8
0
-23
22
-6
0
0
0
0
0
0
0
-41
41
0
0
0
0
2
0
-22
66
-68
0
0
0
0
0
0
1
-4
41
0
0
0
0
-18
-1
5
-44
59
0
0
-36
4
-2
88
6
-1
-9
0
0
0
0
-5
-3
49
-108
-22
0
0
0
-6
0
0
-18
-23
-16
0
0
0
0
0
1
-3
-37
67
0
0
-11
-7
0
-1
4
-43
39
0
0
0
0
0
20
1
18
25
0
0
0
16
0
0
0
69
6
0
0
0
0
0
4
0
4
21
0
0
-8
0
0
8
-15
-19
31
0
0
0
0
1
1
-1
44
30
0
0
0
1
0
-1
0
-25
20
0
0
0
0
0
-1
-2
-13
-26
0
0
-43
0
0
-1
4
-28
29
0
0
0
0
0
7
0
-20
21
0
0
0
-2
0
0
-7
24
31
0
0
0
0
0
-8
0
-2
-9
0
0
8
-3
0
2
32
-8
4
0
0
0
0
0
0
7
-39
17
0
0
0
-3
0
0
-4
-1
14
0
0
0
0
0
0
4
-23
67
0
0
46
-24
0
-16
54
-57
83
0
0
0
0
0
-4
6
-17
-18
0
0
0
11
0
-1
0
42
-22
0
0
0
0
0
0
0
2
37
0
0
8
0
0
2
-9
-22
22
0
0
0
0
0
3
4
-58
24
0
0
0
1
0
-1
-1
-6
10
0
0
0
0
0
0
1
3
16
0
0
-34
0
0
0
21
21
8
0
0
0
0
-2
0
0
13
12
0
0
0
-10
0
0
0
42
13
0
0
0
0
0
4
-3
-40
8
0
0
0
0
5
56
20
33
-63
0
0
0
0
1
7
-5
-4
-35
0
0
0
0
0
-1
2
-29
-32
0
0
0
0
0
7
1
1
11
0
0
0
0
4
5
3
-14
19
0
0
0
0
-8
-17
11
114
0
0
0
0
0
0
18
0
-11
2
0
0
0
0
17
-46
0
1
4
0
0
0
0
0
-1
4
-50
7
0
0
0
0
4
-13
-7
-28
111
0
0
0
0
0
4
-13
-2
57
0
0
0
0
-4
-2
0
-9
69
0
0
0
0
0
9
-8
-10
47
0
0
0
0
5
7
-1
-6
-14
0
0
0
0
0
0
0
9
25
0
0
0
0
-5
0
-7
-32
50
0
0
0
0
0
4
4
-56
-8
0
0
0
0
0
2
0
-42
44
0
0
0
0
0
-8
7
2
17
0
0
0
0
0
0
0
-14
-25
0
0
0
0
0
1
14
-85
46
0
0
0
0
0
0
-8
58
6
0
0
0
0
0
-5
0
-16
53
0
0
0
0
2
7
1
-25
51
0
0
0
0
0
1
33
3
34
0
0
0
0
-1
0
0
-80
69
0
0
0
0
0
0
1
-12
40
0
0
0
0
0
0
-9
-24
-49
0
0
0
0
0
4
0
5
-6
0
0
0
0
0
-2
0
-22
64
0
0
0
0
0
0
0
7
35
0
0
0
0
0
0
0
46
-35
0
0
0
32
0
-17
-111
-31
15
0
0
0
0
0
-10
1
-4
39
0
0
0
23
-2
1
7
-41
-90
0
0
0
0
7
15
-9
-11
-20
0
0
0
-7
0
2
6
-13
40
0
0
0
0
0
2
-2
-1
56
0
0
0
-1
0
0
-10
6
2
0
0
0
0
0
-10
-4
4
-6
0
0
0
-8
-4
-2
1
2
68
0
0
0
0
0
1
0
-3
-29
0
0
0
43
0
-1
-14
-3
-36
0
0
0
0
0
1
-5
-4
72
0
0
0
-4
0
0
12
-8
35
0
0
0
0
0
-1
10
7
27
0
0
0
7
0
4
0
-17
31
0
0
0
0
6
-1
-2
0
35
0
0
0
12
0
0
-3
-78
8
0
0
0
0
-3
5
-9
-66
101
0
0
0
40
0
0
1
78
-20
0
0
0
0
6
-4
0
2
-23
0
0
0
-37
0
3
-4
-46
45
0
0
0
0
0
2
-5
55
48
0
0
0
-75
0
0
0
119
-13
0
0
0
0
1
0
-3
-21
14
0
0
0
5
0
-2
-7
-62
27
0
0
0
0
0
0
-3
18
61
0
0
0
32
0
0
-3
25
-44
0
0
0
0
0
0
0
103
-29
0
0
0
31
0
0
3
-98
4
0
0
0
0
0
9
-7
10
-8
0
0
0
-66
0
0
1
33
56
0
0
0
0
0
-1
-2
3
-38
0
0
0
0
1
-92
47
-3
45
0
0
0
0
7
-8
0
-20
26
0
0
0
0
-2
0
0
-3
-19
0
0
0
0
3
17
1
24
-70
0
0
0
0
0
-7
-2
0
20
0
0
0
0
2
-8
0
-5
4
0
0
0
0
-1
0
2
-1
5
0
0
0
0
11
-73
-6
-1
1
0
0
0
0
-2
4
-16
-29
-19
0
0
0
0
1
-7
-1
0
-24
0
0
0
0
-1
0
0
0
58
0
0
0
0
-7
-1
11
6
42
0
0
0
0
0
5
3
2
56
0
0
0
0
-9
19
0
12
-22
0
0
0
0
-5
6
-3
-2
22
0
0
0
0
-43
5
2
0
13
0
0
0
0
0
-2
4
65
39
0
0
0
0
-4
0
-1
8
10
0
0
0
0
0
0
0
-34
-12
0
0
0
0
3
0
-3
-17
2
0
0
0
0
0
-3
-1
18
13
0
0
0
0
1
0
0
15
37
0
0
0
0
0
0
-5
-64
37
0
0
0
0
-10
26
11
-2
36
0
0
0
0
0
1
7
60
-33
0
0
0
0
0
0
-3
33
-20
0
0
0
0
0
0
-4
-50
5
0
0
0
0
-7
-1
2
-76
45
0
0
0
0
0
0
5
-2
50
0
0
0
0
4
3
-2
-24
72
0
0
0
0
-5
-1
0
-2
50
0
0
0
0
4
1
-5
-59
10
0
0
-28
59
37
-23
-7
33
-7
4
11
0
0
-14
-9
-78
-54
3
-17
3
0
21
23
-10
-48
-1
9
15
9
0
0
14
23
-2
-2
54
1
14
124
-21
0
-42
-45
3
3
-6
11
0
0
0
-87
2
-135
98
-24
19
0
77
-2
-25
-63
-24
14
10
12
0
0
3
-28
-51
-24
83
6
5
20
-7
-3
-78
10
41
35
13
0
0
0
5
73
-30
-9
-44
-5
0
0
-4
1
10
6
42
73
5
0
0
0
-15
-9
43
2
44
17
0
24
7
2
-42
22
-91
-12
31
0
0
0
-15
4
-19
-86
41
54
0
0
-22
0
12
22
-119
40
30
0
0
0
7
3
-33
3
39
38
0
11
40
-2
-39
-35
-56
-28
0
0
0
0
2
-146
-10
-5
19
0
0
0
-5
0
2
-69
-80
-2
0
0
0
0
0
10
-63
30
22
0
0
-18
-3
0
66
-29
-57
13
0
0
0
0
0
-6
-4
-58
41
0
0
0
-3
0
3
90
-77
19
0
0
0
0
2
-3
5
76
-38
0
0
14
14
0
-26
111
-50
5
0
0
0
0
0
11
31
-4
-4
0
0
0
-12
0
11
26
-47
61
0
0
0
0
0
-1
-60
-63
184
0
0
-52
0
0
24
18
15
22
0
0
0
0
0
-3
92
-36
-36
0
0
0
29
0
0
-52
17
28
0
0
0
0
0
-7
5
-25
-1
0
0
0
0
-66
19
43
63
-68
1
-10
0
0
-30
23
-92
-79
-37
26
6
0
0
-17
-66
-27
8
19
11
11
0
0
-42
60
30
-29
-3
20
-7
0
0
-13
2
-9
-64
66
-1
-1
0
0
77
-100
-58
-108
-49
14
26
0
0
0
72
137
89
5
3
14
0
0
14
36
62
-5
-6
13
-4
0
0
-14
21
4
-113
107
12
0
0
0
4
-2
60
-49
-15
5
0
0
0
5
4
56
-39
76
9
0
0
0
0
-28
72
46
23
-12
0
0
0
0
-8
-49
26
29
41
0
0
0
9
24
-22
-12
-6
-11
0
0
0
1
-1
-54
-43
-6
44
0
0
0
-48
5
5
16
-38
62
0
0
0
12
-92
-136
-4
40
0
0
0
0
14
17
-18
-43
-22
0
0
0
0
0
3
-108
-36
41
0
0
0
0
34
50
14
-9
-42
0
0
0
0
0
-2
-61
18
16
0
0
0
0
1
6
-9
-8
-13
0
0
0
0
0
0
6
15
23
0
0
0
0
1
-8
-14
31
18
0
0
0
0
-1
-5
52
-70
19
0
0
0
0
0
-13
44
-48
22
0
0
0
0
0
0
-33
0
49
0
0
0
0
-2
13
-33
-82
95
0
0
0
0
0
3
9
-60
6
0
0
0
0
0
-19
-8
-91
12
0
0
0
0
0
-12
-34
19
20
0
0
0
0
-6
-39
6
94
-21
0
0
0
69
-32
33
45
-43
-6
-17
6
0
0
58
52
-97
30
97
-2
-1
0
-88
0
-8
8
-48
-18
8
21
0
0
26
-3
-42
-78
76
27
-4
0
64
0
17
-9
78
91
15
12
0
0
-3
1
-51
52
9
15
15
0
-40
-1
-47
16
-16
108
15
12
0
0
18
48
13
21
70
-26
-9
0
-68
0
15
46
-152
62
35
0
0
0
-7
41
91
29
-5
-12
0
0
-22
2
2
29
-78
-19
31
0
0
0
17
38
-28
11
56
-28
0
0
89
0
6
-8
-42
-56
8
0
0
0
12
19
-23
22
100
-4
0
0
-16
-1
-44
48
61
41
17
0
0
0
-17
-4
104
-15
-16
19
0
0
-28
8
-91
49
-27
-3
0
0
0
0
2
-5
36
-11
9
0
0
0
71
1
2
124
-123
-40
0
0
0
0
-6
-4
9
-10
16
0
0
0
-34
0
1
11
64
31
0
0
0
0
0
-12
-42
-23
87
0
0
0
58
0
1
-20
-10
-18
0
0
0
0
-1
-19
32
-27
-10
0
0
0
3
-1
-6
63
-23
-29
0
0
0
0
6
-5
-133
60
73
0
0
0
36
-3
-2
-20
-13
-17
0
0
0
0
3
0
-45
-13
69
0
0
0
20
0
-4
17
41
-69
0
0
0
0
0
0
-38
-4
34
0
0
0
-9
0
1
-9
26
33
0
0
0
0
0
0
9
-27
-49
0
0
0
0
17
-78
13
-41
84
-11
-5
0
0
-16
16
118
-13
19
6
-43
0
0
-59
5
53
-33
-18
-28
15
0
0
16
-31
-1
-24
35
64
-10
0
0
-3
-22
-6
-95
39
63
7
0
0
7
28
65
-19
-4
65
-40
0
0
-8
-15
-34
-34
22
32
10
0
0
84
-21
107
39
-51
43
-31
0
0
-4
-67
-2
3
173
3
0
0
0
-36
26
9
-62
12
17
0
0
0
-15
-86
56
-47
70
39
0
0
0
31
54
-31
60
27
-45
0
0
0
0
10
36
-5
71
30
0
0
0
36
8
25
-34
93
-19
0
0
0
-31
5
10
41
30
7
0
0
0
-3
-2
28
14
-31
19
0
0
0
-15
25
-15
-60
42
0
0
0
0
4
7
10
-30
7
0
0
0
0
10
8
39
-43
14
0
0
0
0
-7
-105
2
8
48
0
0
0
0
0
9
-66
-3
87
0
0
0
0
8
37
-57
54
-38
0
0
0
0
-4
12
23
48
-32
0
0
0
0
-24
18
-85
4
45
0
0
0
0
0
-5
-41
71
-4
0
0
0
0
10
20
0
-24
-24
0
0
0
0
-1
6
7
47
-3
0
0
0
0
-17
-10
54
48
-38
0
0
0
0
0
5
-12
-6
96
0
0
0
0
-2
-9
5
-16
33
0
0
0
0
6
4
-43
55
-21
0
0
0
0
-13
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-40
13
-53
16
18
-5
0
0
0
4
-19
-16
-82
15
-4
0
0
-37
-1
-64
-30
-44
39
20
0
0
0
0
62
4
-14
-6
-15
0
-102
64
-1
-64
-48
59
-11
9
0
0
0
1
7
-20
11
36
-8
0
0
53
0
-26
-126
-28
-25
14
0
0
0
0
4
-99
3
-3
28
0
53
-5
4
4
-44
-11
48
11
0
0
0
26
108
-49
-39
-34
4
0
0
24
1
17
36
30
4
-2
0
0
0
-5
-19
-5
44
-30
46
0
2
5
-4
47
-200
28
12
6
0
0
0
-1
37
72
71
-20
1
0
0
73
0
3
-14
78
-22
-1
0
0
0
4
0
21
-48
14
24
0
-28
-7
-8
-136
-12
-3
41
0
0
0
0
-7
-21
0
16
-22
0
0
0
-20
4
-40
-85
2
61
0
0
0
0
-1
-8
27
1
18
0
0
58
-18
-2
5
35
0
41
0
0
0
0
6
21
69
-45
-18
0
0
0
-54
0
-8
-21
-50
94
0
0
0
0
0
2
65
26
-10
0
0
-13
-33
-3
-31
118
-1
8
0
0
0
0
4
31
-16
-13
-11
0
0
0
25
1
-10
7
-36
-1
0
0
0
0
0
-17
-52
-54
101
0
0
-79
-3
0
50
-3
9
9
0
0
0
0
0
55
-45
0
-40
0
0
0
-13
0
-1
-25
62
4
0
0
0
0
-3
1
14
-51
43
0
0
0
0
-31
5
-248
-48
97
4
0
0
0
15
49
-8
-82
12
5
0
0
0
12
3
-21
-105
-43
34
0
0
0
-10
-67
44
58
-6
-5
0
0
0
1
14
15
21
-11
-6
0
0
0
-23
8
101
-160
-7
21
0
0
0
0
24
-3
-173
31
19
0
0
0
-2
-71
-28
20
13
15
0
0
0
-2
41
-8
-61
46
-7
0
0
0
31
-87
-73
-62
25
-1
0
0
0
1
3
24
52
51
-7
0
0
0
-25
19
61
67
-30
15
0
0
0
4
47
-83
-29
2
7
0
0
0
11
10
-10
-35
-6
9
0
0
0
0
-15
45
12
54
9
0
0
0
5
-24
27
23
-95
32
0
0
0
-2
18
29
-76
22
0
0
0
0
38
4
97
-110
-36
0
0
0
0
0
-3
-65
15
32
0
0
0
0
14
-36
65
18
-10
0
0
0
0
1
-8
19
1
-2
0
0
0
0
-2
25
43
16
-58
0
0
0
0
0
-29
55
28
22
0
0
0
0
-1
-30
0
30
39
0
0
0
0
1
-32
20
1
33
0
0
0
0
3
24
-1
-12
1
0
0
0
0
-3
6
-67
21
67
0
0
0
0
12
23
-8
70
-17
0
0
0
0
0
3
39
-62
24
0
0
0
0
-2
-68
6
-6
77
0
0
0
0
0
-3
2
-4
41
0
0
0
0
-25
-1
78
-31
57
0
0
0
-6
-70
-15
78
-73
-1
-3
0
0
0
-107
26
-21
50
48
-14
0
0
-50
7
28
26
-131
15
49
0
0
0
-47
-36
-26
20
40
70
0
0
-111
0
-36
30
54
47
4
0
0
0
23
6
36
-56
72
-20
0
0
38
0
-19
-108
34
0
-7
0
0
0
67
7
-18
-41
48
13
0
0
16
10
16
30
-104
-45
-9
0
0
0
0
-4
-5
-38
23
16
0
0
-6
-7
-2
1
1
8
17
0
0
0
16
-17
-75
5
24
20
0
0
1
-4
-28
-107
-28
7
21
0
0
0
1
21
-23
42
31
10
0
0
24
3
-4
113
-73
96
-8
0
0
0
50
-1
-93
10
94
15
0
0
30
8
60
35
-126
-22
0
0
0
0
-10
4
115
-76
24
0
0
0
62
0
1
-30
-65
-42
0
0
0
0
-2
-4
24
-16
41
0
0
0
-73
-6
48
22
-7
48
0
0
0
0
4
66
-3
-2
41
0
0
0
-85
-1
23
113
30
-12
0
0
0
0
-9
16
65
8
-8
0
0
0
3
-2
-72
-5
19
20
0
0
0
0
0
38
-26
-1
-32
0
0
0
59
12
18
-28
-75
-7
0
0
0
0
-12
-14
50
-41
44
0
0
0
24
0
2
28
38
-31
0
0
0
0
1
13
-10
-106
76
0
0
0
-36
-4
-1
57
-10
1
0
0
0
0
1
4
10
21
22
0
0
0
0
-35
18
16
-69
42
13
0
0
0
18
-7
-26
-42
10
-5
0
0
0
-9
46
15
-15
-61
13
0
0
0
32
-6
38
-60
75
-22
0
0
0
-2
16
-17
66
34
-12
0
0
0
0
-35
48
-129
90
65
0
0
0
-3
6
59
-68
73
-15
0
0
0
58
-9
-5
4
109
-17
0
0
0
-7
20
7
-4
134
-4
0
0
0
-13
-31
16
-50
-30
33
0
0
0
45
23
-26
-82
-65
70
0
0
0
-94
64
32
78
10
-72
0
0
0
2
-20
-66
-44
39
23
0
0
0
28
44
24
-30
54
7
0
0
0
-8
-18
27
-65
15
37
0
0
0
-5
31
-24
25
52
9
0
0
0
15
55
9
-46
-33
0
0
0
0
13
-30
-36
9
52
0
0
0
0
-2
-17
-16
-7
61
0
0
0
0
80
-118
12
29
25
0
0
0
0
0
3
3
-6
54
0
0
0
0
21
12
36
-63
-21
0
0
0
0
0
-12
20
45
-27
0
0
0
0
-41
-27
1
89
-89
0
0
0
0
-1
10
37
-26
12
0
0
0
0
-16
-29
23
19
18
0
0
0
0
69
1
-19
-43
19
0
0
0
0
4
33
56
-66
-26
0
0
0
0
0
10
2
36
-42
0
0
0
0
61
-7
-17
4
45
0
0
0
0
22
25
-36
-38
19
0
0
0
0
-33
-26
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
62
25
-27
-2
0
0
0
0
-4
-20
-31
0
4
0
0
0
78
0
-5
-3
-68
29
0
0
0
0
-2
-5
5
12
3
0
0
8
44
0
11
-35
-59
14
0
0
0
0
1
-13
-19
-34
-9
0
0
0
11
0
-15
-33
-21
52
0
0
0
0
-2
39
18
-5
-24
0
0
-35
-5
2
10
23
41
-29
0
0
0
0
-6
1
35
13
0
0
0
0
18
5
6
68
-33
-27
0
0
0
0
0
-3
65
-76
3
0
0
-18
-5
0
-19
-16
1
14
0
0
0
0
0
2
-54
42
47
0
0
0
-70
0
2
5
-84
133
0
0
0
0
7
0
-6
-56
73
0
0
-10
-3
-4
-66
-65
-84
29
0
0
0
0
0
40
-11
-60
-1
0
0
0
45
0
-4
16
-31
-27
0
0
0
0
0
0
15
-129
33
0
0
-22
-6
0
17
-52
32
-2
0
0
0
0
0
-11
11
-82
52
0
0
0
14
0
-5
32
-118
32
0
0
0
0
-2
4
-18
-7
28
0
0
-6
2
0
-14
91
-1
12
0
0
0
0
0
-4
3
-55
50
0
0
0
28
0
0
-106
-26
33
0
0
0
0
0
0
-3
11
40
0
0
44
-4
0
-1
-10
-88
31
0
0
0
0
0
26
-13
-81
24
0
0
0
13
0
2
-14
-29
26
0
0
0
0
1
-1
26
-20
63
0
0
0
0
-30
92
62
-3
-41
0
0
0
0
56
13
6
-35
-61
0
0
0
0
-4
2
-14
13
28
0
0
0
0
24
20
2
28
-50
0
0
0
0
4
-11
-83
30
2
0
0
0
0
1
-3
-22
35
3
0
0
0
0
5
-3
-30
-21
63
0
0
0
0
-5
14
-41
28
5
0
0
0
0
-1
15
-97
7
-18
0
0
0
0
13
-4
-20
25
-2
0
0
0
0
0
-12
47
-18
36
0
0
0
0
5
-21
29
-56
88
0
0
0
0
2
-10
94
-100
47
0
0
0
0
0
20
10
-65
2
0
0
0
0
-2
-1
17
-9
34
0
0
0
0
5
-22
-58
-18
78
0
0
0
0
0
12
-68
-36
5
0
0
0
0
-5
-42
-9
3
23
0
0
0
0
0
11
-20
-67
46
0
0
0
0
10
11
7
49
-34
0
0
0
0
0
-1
6
-83
11
0
0
0
0
3
0
-8
-138
-4
0
0
0
0
0
0
13
-15
34
0
0
0
0
-3
-22
-7
20
56
0
0
0
0
0
0
-40
-17
58
0
0
0
0
-7
0
7
-44
19
0
0
0
0
0
-4
35
9
12
0
0
0
0
-6
1
-22
9
42
0
0
0
0
0
5
9
-138
50
0
0
0
0
-3
-4
5
-1
4
0
0
0
0
0
-3
8
22
55
0
0
0
0
24
6
-4
-58
92
0
0
0
76
41
-79
6
0
-53
0
0
0
0
-26
15
5
54
3
0
0
0
-48
-9
-10
-29
-129
112
0
0
0
0
39
7
-12
-24
6
0
0
0
-24
5
22
-18
15
-20
0
0
0
0
6
-6
-23
61
44
0
0
0
-71
0
-15
28
-5
52
0
0
0
0
28
-21
21
5
68
0
0
0
4
-47
3
-4
-111
68
0
0
0
0
3
10
4
49
13
0
0
0
-49
9
-1
16
57
-25
0
0
0
0
2
-2
6
137
-24
0
0
0
-4
0
8
7
-51
49
0
0
0
0
0
-7
-2
55
39
0
0
0
19
0
3
-27
-36
51
0
0
0
0
2
-22
-16
31
105
0
0
0
-17
0
3
-26
-100
55
0
0
0
0
1
-13
27
-6
-19
0
0
0
-19
0
3
39
-109
-26
0
0
0
0
1
0
40
-137
42
0
0
0
61
0
-5
11
-111
34
0
0
0
0
0
-1
-4
-72
92
0
0
0
51
0
-5
-60
-22
28
0
0
0
0
-6
-3
-1
41
94
0
0
0
-6
3
15
7
-37
29
0
0
0
0
0
-6
-55
-84
67
0
0
0
10
0
-1
5
-9
28
0
0
0
0
0
0
27
-24
-5
0
0
0
-16
0
-5
13
-72
32
0
0
0
0
1
-12
0
42
7
0
0
0
11
0
15
-5
-63
-2
0
0
0
0
10
-1
-13
17
16
0
0
0
0
62
109
-49
-14
-85
0
0
0
0
38
-37
33
-9
13
0
0
0
0
14
13
10
-28
-21
0
0
0
0
-91
9
-20
4
72
0
0
0
0
1
-23
-13
8
8
0
0
0
0
19
1
-20
-14
36
0
0
0
0
0
-72
16
40
66
0
0
0
0
64
-8
31
-58
33
0
0
0
0
0
-16
-8
-58
13
0
0
0
0
19
1
-19
47
37
0
0
0
0
-8
72
38
-67
-12
0
0
0
0
38
12
75
-30
-33
0
0
0
0
0
5
-11
19
-7
0
0
0
0
-19
18
-18
18
24
0
0
0
0
-2
9
-15
-11
62
0
0
0
0
4
16
-24
-4
128
0
0
0
0
1
-8
16
20
-37
0
0
0
0
6
11
-17
-35
42
0
0
0
0
-1
0
18
-59
50
0
0
0
0
-39
-27
-36
77
7
0
0
0
0
0
1
20
19
15
0
0
0
0
5
5
-25
0
-17
0
0
0
0
11
4
-40
29
-11
0
0
0
0
6
22
3
-37
80
0
0
0
0
-6
-4
-50
9
96
0
0
0
0
0
2
9
-33
57
0
0
0
0
0
19
3
6
-32
0
0
0
0
-28
-5
32
90
22
0
0
0
0
0
-7
-1
28
47
0
0
0
0
-1
25
4
-22
-24
0
0
0
0
-3
-9
10
-17
-46
0
0
0
0
-6
22
-12
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
-48
-25
-5
-5
30
0
0
0
0
-18
-33
27
28
-21
0
0
0
39
0
32
59
-81
2
0
0
0
0
0
3
46
-118
48
0
0
-121
-13
0
-19
78
80
45
0
0
0
0
0
-5
-48
-41
-10
0
0
0
34
0
-10
56
16
23
0
0
0
0
0
-5
17
-54
114
0
0
9
7
-1
10
69
19
-31
0
0
0
0
3
-5
-36
-67
18
0
0
0
3
6
-17
-30
-53
40
0
0
0
0
0
-4
-27
-4
76
0
0
40
-2
0
-33
-55
48
30
0
0
0
0
0
6
-29
36
-31
0
0
0
8
0
1
-20
-31
30
0
0
0
0
0
6
-25
-36
61
0
0
6
20
-3
62
-68
-57
23
0
0
0
0
-2
-56
-57
-10
57
0
0
0
-34
-2
13
78
-65
-31
0
0
0
0
0
-1
-51
-27
70
0
0
39
-11
-3
-35
27
-37
35
0
0
0
0
11
-7
-9
32
3
0
0
0
2
0
16
-31
-5
-4
0
0
0
0
0
-4
20
0
-4
0
0
15
-27
-13
82
99
13
12
0
0
0
0
5
-1
14
-78
10
0
0
0
-5
-3
15
23
10
41
0
0
0
0
0
-8
17
-10
13
0
0
2
-7
-7
9
81
-6
3
0
0
0
0
0
22
-14
20
5
0
0
0
52
0
-8
-82
3
29
0
0
0
0
-2
-1
16
-87
54
0
0
0
0
43
56
87
-89
55
0
0
0
0
-23
12
81
-40
-20
0
0
0
0
6
-5
8
43
-39
0
0
0
0
-33
47
43
-28
-12
0
0
0
0
-8
5
30
-41
56
0
0
0
0
-12
-44
30
-19
-28
0
0
0
0
0
6
3
-98
60
0
0
0
0
5
-4
2
9
4
0
0
0
0
34
-68
-12
50
-12
0
0
0
0
16
9
-4
-8
5
0
0
0
0
-6
2
26
54
32
0
0
0
0
-13
-8
2
-23
81
0
0
0
0
0
-11
43
-43
18
0
0
0
0
2
15
-23
-45
5
0
0
0
0
-4
-3
-2
-24
52
0
0
0
0
-4
78
11
-54
0
0
0
0
0
0
-9
-89
46
32
0
0
0
0
-21
-7
57
13
12
0
0
0
0
-7
-5
-76
39
87
0
0
0
0
22
4
-75
10
64
0
0
0
0
0
-28
-45
53
21
0
0
0
0
4
-2
7
-47
44
0
0
0
0
0
7
-2
-73
64
0
0
0
0
3
4
101
-119
14
0
0
0
0
0
0
-32
78
-5
0
0
0
0
-54
-16
21
-23
8
0
0
0
0
11
2
-7
-22
3
0
0
0
0
13
14
102
-15
-43
0
0
0
0
0
10
-16
-19
17
0
0
0
0
-1
15
-2
-65
5
0
0
0
0
3
-2
-25
-18
13
0
0
0
0
16
28
-3
-37
32
0
0
0
30
9
-45
-44
-13
26
0
0
0
0
15
-47
-101
44
146
0
0
0
19
8
-51
85
-39
-55
0
0
0
0
5
7
4
-13
48
0
0
0
11
0
7
66
-86
-30
0
0
0
0
0
-2
-71
1
55
0
0
0
60
-16
38
-80
-36
12
0
0
0
0
-5
-81
48
17
80
0
0
0
6
7
-28
11
34
-37
0
0
0
0
2
-26
75
-53
7
0
0
0
18
0
11
-35
-125
59
0
0
0
0
4
23
15
-59
-4
0
0
0
-27
-1
-4
58
-35
13
0
0
0
0
11
3
-2
-39
-11
0
0
0
11
-7
4
-4
24
0
0
0
0
0
-24
-7
26
51
6
0
0
0
-27
-1
8
-19
-40
20
0
0
0
0
13
-4
22
-26
33
0
0
0
48
9
-10
-24
0
1
0
0
0
0
10
-8
1
5
40
0
0
0
-7
-10
44
15
-57
25
0
0
0
0
-9
-17
32
-37
26
0
0
0
46
0
0
-54
-107
31
0
0
0
0
3
17
0
-46
48
0
0
0
-2
1
23
46
-56
9
0
0
0
0
-3
0
30
-58
13
0
0
0
-41
6
5
-2
9
-22
0
0
0
0
-7
0
7
79
-15
0
0
0
6
4
21
-51
48
-24
0
0
0
0
1
9
-56
15
17
0
0
0
53
0
-5
-14
-12
6
0
0
0
0
11
1
2
-5
10
0
0
0
0
21
-4
-52
33
3
0
0
0
0
-7
-1
43
-12
-19
0
0
0
0
65
-3
67
-121
0
0
0
0
0
-45
-45
9
41
130
0
0
0
0
-8
26
32
-33
41
0
0
0
0
5
-24
-13
-9
93
0
0
0
0
12
-1
14
20
22
0
0
0
0
-10
-2
-20
-18
65
0
0
0
0
-6
-6
22
30
-8
0
0
0
0
14
-24
-61
55
-18
0
0
0
0
34
5
-37
-90
33
0
0
0
0
-42
-27
9
35
3
0
0
0
0
-2
-1
-31
26
39
0
0
0
0
19
3
11
-98
41
0
0
0
0
21
9
58
-48
-32
0
0
0
0
4
-43
35
-24
49
0
0
0
0
1
-46
-12
14
50
0
0
0
0
-40
-7
-21
3
37
0
0
0
0
-7
23
-60
-39
29
0
0
0
0
-9
111
-12
-7
-1
0
0
0
0
-3
-18
34
-85
56
0
0
0
0
3
46
-14
-60
71
0
0
0
0
0
1
-4
26
-11
0
0
0
0
-21
-1
43
29
19
0
0
0
0
15
5
-47
51
20
0
0
0
0
-45
7
61
19
20
0
0
0
0
-6
-2
4
-46
37
0
0
0
0
32
-23
-16
27
20
0
0
0
0
0
-1
45
-26
14
0
0
0
0
-35
-6
15
10
49
0
0
0
0
20
6
19
-31
6
0
0
0
0
38
2
-12
31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
10
-26
24
-7
41
-1
0
0
-18
5
36
-97
-50
2
-4
0
-13
-53
-25
57
-2
-18
3
2
0
0
-21
6
-3
-14
-39
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
-19
-15
7
46
-34
6
1
-7
0
0
0
104
-29
-83
-20
21
-8
0
0
-23
1
-48
-77
-69
-15
21
0
0
0
-19
-67
-23
-27
52
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
38
42
-21
-60
-57
20
-32
0
0
0
0
3
-104
58
14
-43
0
0
0
-29
36
77
46
-13
-37
0
0
0
0
15
37
-8
-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
-15
-16
-116
34
28
5
11
0
0
0
0
-15
36
-55
-31
36
0
0
0
78
3
-23
-3
4
-14
0
0
0
0
-36
-61
-40
-44
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
-21
-23
-58
1
6
0
0
-27
-76
28
-54
-29
3
-3
0
0
-2
-16
67
-43
6
5
-3
0
0
-14
77
73
37
39
-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
0
0
0
0
0
-5
59
-109
7
-6
0
0
0
0
45
-37
1
-22
-46
7
0
0
0
-16
10
39
-83
100
5
0
0
0
17
22
70
41
-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
1
8
-6
-16
11
0
0
0
0
23
5
-12
-61
7
0
0
0
0
5
-65
22
29
55
0
0
0
0
4
-51
38
-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
0
0
0
0
0
0
0
0
0
0
-10
-5
11
-104
2
0
0
0
0
-16
7
10
-45
-29
0
0
0
0
0
2
-32
17
25
0
0
0
0
-29
-16
18
-18
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
68
2
-9
28
25
32
17
13
0
0
-3
20
51
96
25
4
-3
0
-34
-12
55
-56
-19
31
11
20
0
0
-36
-24
66
7
-26
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
25
1
20
-23
-71
19
-4
0
0
0
-24
-33
81
-14
40
49
0
0
0
-5
6
-24
-195
9
42
0
0
0
8
9
3
-77
-37
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
-5
1
1
50
-118
22
0
0
0
0
-1
-16
5
9
-33
0
0
0
-47
0
-7
102
-101
-21
0
0
0
0
-1
19
-3
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
-10
-69
2
-13
0
0
0
0
5
-3
79
15
-53
0
0
0
-21
1
0
-37
-48
45
0
0
0
0
-2
1
-4
78
-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
5
-5
14
62
-59
11
11
0
0
-4
-24
75
-23
71
26
-13
0
0
18
40
13
23
-7
46
-13
0
0
49
-28
-17
-44
30
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
-8
-2
-8
-92
44
-23
0
0
0
10
-38
13
-44
-16
37
0
0
0
-14
-20
7
52
-43
35
0
0
0
-115
40
30
-104
131
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
9
13
47
-6
0
0
0
0
-41
-8
4
-25
30
0
0
0
0
-2
-11
-106
22
2
0
0
0
0
-38
29
-2
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
4
-43
29
50
0
0
0
0
7
26
-9
-4
23
0
0
0
0
3
0
35
88
19
0
0
0
0
13
-33
9
57
-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
40
14
3
-71
-70
-67
-26
5
14
0
0
4
1
52
-61
-48
23
4
0
44
0
-13
-7
79
107
0
-4
0
0
0
-1
-41
88
45
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
-50
0
0
-32
-102
105
9
22
0
0
0
-1
4
-96
33
-17
8
0
0
15
0
16
10
-88
82
-17
0
0
0
0
-6
-9
-43
-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
56
7
0
-28
38
-45
23
0
0
0
0
0
4
-7
-52
6
0
0
0
-1
0
-15
-20
10
16
0
0
0
0
0
-5
-1
10
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
-13
6
0
-17
-57
-27
-11
0
0
0
0
0
-25
9
63
24
0
0
0
-10
0
19
-34
-34
74
0
0
0
0
0
-3
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
-4
51
50
7
-24
-13
20
0
0
-1
32
-117
-55
-92
-11
46
0
0
0
19
-30
-96
60
6
17
0
0
-6
-87
5
-81
69
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
-10
14
-20
-41
64
-8
0
0
0
-2
4
-74
-140
-34
16
0
0
0
0
4
18
-75
51
1
0
0
0
25
-67
28
26
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
-9
12
-43
50
0
0
0
0
5
1
-18
-41
-30
0
0
0
0
0
18
-31
-32
-19
0
0
0
0
2
72
1
3
-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
2
-13
21
-22
72
0
0
0
0
5
5
-2
-86
75
0
0
0
0
0
3
2
-19
61
0
0
0
0
0
-36
1
-119
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
-1
0
32
109
-58
-29
9
6
0
0
4
-4
12
75
-10
11
26
0
-46
0
22
-54
48
39
-10
15
0
0
4
10
62
90
89
-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
18
0
-3
-17
14
-17
16
0
0
0
2
-14
-42
1
69
21
0
0
18
0
-16
57
76
27
-24
0
0
0
-4
12
6
-57
-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
16
0
-5
-5
-22
4
0
0
0
0
0
7
-2
-34
107
0
0
0
18
0
-1
-44
-15
12
0
0
0
0
0
-26
46
-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
9
0
10
-13
-151
109
0
0
0
0
-2
-2
-1
-46
53
0
0
0
-47
-1
-4
-20
24
23
0
0
0
0
0
1
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
6
-25
-35
-11
6
-1
0
0
0
5
-8
-11
29
29
8
0
0
-9
-56
32
-12
-17
24
7
0
0
-36
-72
77
33
30
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
-1
32
-42
7
18
15
0
0
0
27
13
-5
-5
13
30
0
0
0
9
12
-15
-119
83
-2
0
0
0
7
-2
-29
-18
-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
-1
25
-107
70
-8
0
0
0
0
7
44
-22
43
-16
0
0
0
0
0
11
-10
-98
47
0
0
0
0
6
49
7
32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
13
-26
0
0
0
0
9
7
1
-6
-41
0
0
0
0
4
-16
6
-18
21
0
0
0
0
-55
11
11
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
-40
3
0
37
-120
-18
12
35
0
0
0
-5
-39
78
-69
-5
36
0
0
7
4
3
128
-67
-30
31
0
0
0
0
37
-59
-105
139
27
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-31
25
1
9
0
0
0
2
4
-50
-30
-1
-4
0
0
0
3
-9
6
34
23
6
0
0
0
0
29
-8
-3
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
-31
1
4
-20
33
8
15
0
0
0
0
16
40
-31
20
-25
0
0
0
4
0
-12
37
-38
12
0
0
0
0
0
9
55
-80
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-13
26
-50
24
0
0
0
0
-1
3
-37
-9
40
0
0
0
0
0
-11
-7
-16
2
0
0
0
0
-6
2
22
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
2
-6
43
8
2
-6
0
0
0
-6
-23
-43
-93
-59
13
0
0
0
9
-2
-22
-11
85
-31
0
0
0
39
16
19
-155
46
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
-4
-126
-36
-44
1
0
0
0
1
-20
43
30
36
-23
0
0
0
-4
-6
30
21
35
-5
0
0
0
11
0
-22
-28
44
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-101
41
0
0
0
0
-4
4
4
-41
-3
0
0
0
0
0
0
13
-17
66
0
0
0
0
-1
8
19
-72
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
2
-40
-56
36
0
0
0
0
18
2
4
21
2
0
0
0
0
0
1
1
71
2
0
0
0
0
4
17
12
-41
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
-3
0
-62
11
-129
35
34
0
0
0
0
17
-79
-48
26
18
0
0
15
2
4
97
-69
45
6
0
0
0
6
-38
30
-7
-63
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
1
2
-13
-102
-35
66
17
0
0
0
0
40
-14
6
58
-9
0
0
4
8
1
-44
19
-72
25
0
0
0
1
-4
-23
-33
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
-2
-10
16
-20
-31
45
0
0
0
0
0
10
-3
-78
70
0
0
0
-50
0
9
-27
-30
48
0
0
0
0
0
-11
-12
-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
6
-2
5
62
23
-43
0
0
0
0
0
-4
-27
-26
44
0
0
0
20
0
0
61
-24
-16
0
0
0
0
-3
0
-11
-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
0
0
-4
-38
43
-77
82
26
0
0
0
-3
37
22
63
-22
-23
0
0
0
9
3
70
12
14
-23
0
0
0
-73
21
42
84
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
-4
-73
-44
15
18
0
0
0
2
-86
73
-3
19
17
0
0
0
4
22
69
55
-94
18
0
0
0
-10
21
-69
78
-10
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
3
3
40
30
0
0
0
0
-22
-7
-19
8
65
0
0
0
0
0
0
67
64
39
0
0
0
0
34
-43
-54
-21
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
-10
-8
-45
39
0
0
0
0
-12
4
9
-35
16
0
0
0
0
-2
0
-11
-145
79
0
0
0
0
2
-21
2
55
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
-11
0
0
0
13
-76
16
24
0
0
0
0
-3
-37
-77
31
21
0
0
54
0
5
-22
-8
5
23
0
0
0
0
4
61
-54
36
12
0
0
0
0
0
0
0
0
0
0
0
0
0
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
109
86
67
32
-12
0
0
0
-2
17
33
-70
28
-10
0
0
-5
0
0
-4
-61
19
0
0
0
0
0
1
-38
-8
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
-31
7
-3
-15
100
31
-13
0
0
0
0
0
45
33
-55
23
0
0
0
-3
0
-9
-63
43
56
0
0
0
0
0
-8
14
69
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
40
2
51
-6
0
0
0
0
1
-1
4
19
30
0
0
0
6
0
0
60
-35
38
0
0
0
0
-2
-3
-12
16
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
-44
-22
-67
100
31
0
0
0
-3
27
-15
-197
-17
32
0
0
0
0
-1
27
70
-12
12
0
0
0
-2
42
49
-17
-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
4
11
29
-54
25
-1
0
0
0
-10
-76
-44
-45
22
21
0
0
0
0
8
2
37
-38
9
0
0
0
-14
24
-23
-5
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
-6
5
-2
54
0
0
0
0
1
-7
-78
-17
43
0
0
0
0
0
0
-40
43
-14
0
0
0
0
0
40
13
-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
-6
-10
-20
3
49
0
0
0
0
0
-11
5
-39
7
0
0
0
0
0
-8
-16
77
-17
0
0
0
0
0
-13
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
11
3
-12
-64
-51
19
19
0
0
0
0
46
10
88
-48
26
0
0
21
0
-41
-20
71
17
-16
0
0
0
-3
-5
-39
4
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
-32
0
2
-22
-15
3
14
0
0
0
3
-7
6
34
21
3
0
0
122
1
-47
-45
-12
65
-12
0
0
0
34
37
14
11
-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
20
0
-2
40
-3
27
0
0
0
0
0
-19
9
-90
13
0
0
0
18
0
-2
-50
-54
139
0
0
0
0
-5
0
1
-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
-28
-1
-4
15
-31
50
0
0
0
0
5
2
14
2
13
0
0
0
0
-6
-9
8
-13
-1
0
0
0
0
1
0
-3
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
76
5
13
-58
16
0
0
0
-21
-3
25
19
75
-3
0
0
0
-4
-47
45
-11
-10
36
0
0
0
-22
-1
46
18
-28
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
1
7
20
85
93
-9
0
0
0
39
-88
57
-7
60
20
0
0
0
49
25
-65
-2
15
6
0
0
0
108
-70
-28
15
35
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
22
0
0
0
0
-1
68
-84
30
66
0
0
0
0
4
-9
24
20
38
0
0
0
0
-25
-87
29
10
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
11
32
0
0
0
0
-28
-3
-24
35
77
0
0
0
0
12
-3
-49
-4
51
0
0
0
0
22
26
-54
-23
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
86
0
-1
-94
-98
-55
69
0
0
0
0
-3
70
9
-56
16
0
0
0
-44
1
-48
-33
-27
53
0
0
0
0
15
67
-69
-45
-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
1
-2
17
67
-74
4
0
0
0
0
-3
-40
49
-25
13
0
0
0
-1
2
12
33
-60
-9
0
0
0
0
-9
-27
-14
-8
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
9
2
0
-9
18
-106
0
0
0
0
0
0
-9
20
42
-77
0
0
0
4
0
-11
7
-82
5
0
0
0
0
0
0
-40
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
0
0
0
0
0
0
0
-7
1
0
33
35
-13
-6
0
0
0
0
0
-1
51
2
25
0
0
0
5
0
24
-53
-30
-14
0
0
0
0
5
17
-36
44
-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
10
-120
-37
21
0
0
0
0
-2
-10
2
3
-46
0
0
0
0
0
-9
47
-86
4
0
0
0
0
-6
28
-8
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
0
0
0
0
0
-4
-23
110
-140
37
0
0
0
0
-1
3
-56
-20
36
0
0
0
0
-7
-6
17
12
2
0
0
0
0
8
-20
12
-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
1
-79
-49
18
0
0
0
0
0
1
-76
38
-3
0
0
0
0
0
0
-2
-34
33
0
0
0
0
0
6
-9
79
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-26
9
0
0
0
0
-1
8
-1
28
-28
0
0
0
0
1
-3
-29
-5
67
0
0
0
0
26
10
-1
-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
-8
0
16
-71
-73
40
0
0
0
0
0
0
-54
-17
2
0
0
0
66
0
-9
-29
-116
1
0
0
0
0
3
-1
-5
20
-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
-2
-1
17
0
0
0
0
0
4
107
1
1
0
0
0
-40
6
-3
70
-57
-14
0
0
0
0
5
16
74
-71
-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
5
0
-2
-18
-29
-6
0
0
0
0
0
2
5
-91
51
0
0
0
12
0
0
7
-119
33
0
0
0
0
1
1
-1
-65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
27
15
-40
0
0
0
0
0
2
-5
21
20
0
0
0
-12
0
-1
-29
-39
33
0
0
0
0
0
1
48
-71
-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
-11
18
56
-30
16
0
0
0
0
7
-16
11
-57
11
0
0
0
0
4
-13
-68
-13
65
0
0
0
0
-16
-39
62
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
-2
0
-44
36
44
0
0
0
0
0
-2
20
31
-40
0
0
0
0
0
3
-2
21
2
0
0
0
0
40
-38
-7
22
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-2
0
0
0
0
-1
3
-6
-34
94
0
0
0
0
-4
0
37
-100
30
0
0
0
0
0
6
-56
-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
0
0
8
39
-55
54
0
0
0
0
3
-9
0
-87
135
0
0
0
0
0
0
-52
84
53
0
0
0
0
9
-1
-32
-62
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
37
8
0
21
-118
3
-7
0
0
0
0
-1
4
58
-42
10
0
0
0
-13
0
-8
-56
19
1
0
0
0
0
0
-4
5
-56
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
23
0
1
-12
17
-58
-13
0
0
0
0
-2
2
55
0
-52
0
0
0
-1
-2
10
95
25
-26
0
0
0
0
0
0
3
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
43
2
0
0
11
-39
-33
0
0
0
0
0
0
5
-51
9
0
0
0
17
0
-3
-4
-96
40
0
0
0
0
0
4
9
-26
-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
-11
-7
0
0
23
-53
55
0
0
0
0
-7
-2
8
-32
10
0
0
0
-8
0
7
85
-53
22
0
0
0
0
2
-2
33
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
2
-20
11
7
-41
0
0
0
0
-9
19
-4
-46
-8
0
0
0
0
0
4
-7
-29
27
0
0
0
0
0
-53
1
-20
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
-1
37
-18
47
-45
0
0
0
0
0
7
8
-25
-35
0
0
0
0
6
-5
-1
49
8
0
0
0
0
3
17
13
-42
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
-12
11
-16
0
0
0
0
0
2
1
-65
-12
0
0
0
0
0
2
12
-33
-13
0
0
0
0
-3
4
1
-91
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
3
-42
-128
43
0
0
0
0
-4
2
23
-90
56
0
0
0
0
0
2
45
-80
50
0
0
0
0
-4
1
-13
-30
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
30
-94
2
0
0
0
0
0
-20
-7
103
-88
0
0
0
6
0
-4
-26
-48
89
0
0
0
0
1
20
-18
-105
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
-5
5
-11
-58
34
41
0
0
0
0
0
20
14
4
17
0
0
0
-55
0
11
-7
-7
89
0
0
0
0
27
31
-24
-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
-13
0
0
88
-56
38
0
0
0
0
0
-3
12
-38
63
0
0
0
76
0
0
2
-82
2
0
0
0
0
-20
4
7
-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
-10
0
9
54
-78
9
0
0
0
0
-5
-22
-12
8
57
0
0
0
39
0
-11
55
-63
72
0
0
0
0
-4
1
-6
52
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
-29
6
16
-5
0
0
0
0
7
49
-9
-26
3
0
0
0
0
-2
0
-19
29
-21
0
0
0
0
-69
91
16
-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
-2
31
35
12
-26
0
0
0
0
-5
-9
76
82
-126
0
0
0
0
1
53
-52
5
93
0
0
0
0
-26
14
-1
75
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
-65
0
0
0
0
0
17
-7
46
-19
0
0
0
0
0
1
-17
-26
46
0
0
0
0
7
-48
22
62
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-74
-5
98
0
0
0
0
0
15
48
-63
35
0
0
0
0
-5
-7
-67
-4
78
0
0
0
0
-51
-33
-51
-31
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
15
-7
1
-9
-66
28
3
0
0
0
0
0
-26
-106
29
48
0
0
0
0
0
1
42
7
46
0
0
0
0
0
32
-12
-21
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
-21
-10
0
-88
52
-17
124
0
0
0
0
3
-22
41
-88
62
0
0
0
2
-6
8
17
8
21
0
0
0
0
5
74
49
-127
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
-9
-3
0
-39
-24
-34
45
0
0
0
0
0
4
41
-35
-43
0
0
0
-4
0
-5
-67
-63
54
0
0
0
0
0
4
44
-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
-20
20
-5
-44
-57
50
-2
0
0
0
0
1
-38
33
43
-3
0
0
0
7
0
5
28
7
28
0
0
0
0
0
16
-15
-20
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
2
-9
9
-83
26
0
0
0
0
-1
-10
-80
-20
62
0
0
0
0
0
-2
27
8
23
0
0
0
0
1
5
0
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
14
-65
32
29
0
0
0
0
0
-6
-66
-15
33
0
0
0
0
0
-5
49
101
-40
0
0
0
0
20
-31
2
-47
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
10
-152
33
0
0
0
0
1
-9
-10
21
-13
0
0
0
0
1
-1
23
-95
-2
0
0
0
0
0
9
-5
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
-10
-8
67
25
-27
0
0
0
0
1
-1
97
-2
-72
0
0
0
0
-4
0
41
-69
5
0
0
0
0
-4
-5
7
-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
20
0
-1
-41
-51
28
0
0
0
0
6
5
-35
73
-16
0
0
0
33
0
-4
-37
-123
57
0
0
0
0
-3
-2
-31
22
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
2
-12
55
-45
21
0
0
0
0
0
12
79
-57
-10
0
0
0
23
4
4
13
-67
-20
0
0
0
0
28
-4
58
-69
-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
-3
0
2
36
-7
3
0
0
0
0
-2
-13
-1
22
24
0
0
0
32
0
1
-21
20
-36
0
0
0
0
1
14
-48
16
-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
21
2
-3
108
-48
14
0
0
0
0
-6
7
-16
20
19
0
0
0
-67
-5
1
-60
-10
-13
0
0
0
0
9
0
-5
-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
-1
2
22
-91
102
0
0
0
0
-34
-27
53
43
13
0
0
0
0
0
0
-16
17
5
0
0
0
0
0
10
-72
-44
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-122
105
0
0
0
0
18
-13
43
-55
3
0
0
0
0
19
14
84
-122
16
0
0
0
0
36
-21
-47
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
-3
-10
-3
-92
87
0
0
0
0
0
0
21
-16
-8
0
0
0
0
11
-3
-45
37
79
0
0
0
0
16
-4
-31
-15
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
-5
-2
5
-42
29
0
0
0
0
-19
21
32
-28
26
0
0
0
0
4
-4
26
38
-45
0
0
0
0
31
-6
36
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
37
0
0
5
11
-53
82
0
0
0
0
2
3
5
47
9
0
0
0
-10
0
17
-1
-19
-2
0
0
0
0
0
6
-1
19
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-3
-18
-45
-63
24
0
0
0
0
-6
-13
12
-16
31
0
0
0
-4
0
-8
-28
12
41
0
0
0
0
0
0
32
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
0
0
0
0
0
0
0
-64
9
0
20
25
-63
55
0
0
0
0
1
1
22
0
-11
0
0
0
6
0
-5
2
6
49
0
0
0
0
0
-7
-7
57
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
18
0
-4
-32
19
-18
12
0
0
0
0
2
-1
-19
2
29
0
0
0
1
5
0
-6
31
-5
0
0
0
0
-9
2
-5
-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
-4
3
44
18
0
0
0
0
-2
4
1
-31
99
0
0
0
0
0
2
8
63
-14
0
0
0
0
-1
-3
18
28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
12
0
0
0
0
0
-3
51
-12
-33
0
0
0
0
0
-10
12
-36
63
0
0
0
0
1
-23
27
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
0
0
3
-7
-45
19
0
0
0
0
0
4
0
-30
10
0
0
0
0
0
-2
-5
34
18
0
0
0
0
-1
-27
7
10
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
5
20
17
5
-1
0
0
0
0
4
18
-3
-66
16
0
0
0
0
3
-1
-4
44
-3
0
0
0
0
-5
9
-5
-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
-14
0
-2
29
-58
17
0
0
0
0
-1
2
12
-80
50
0
0
0
-9
0
4
3
45
-49
0
0
0
0
17
0
-6
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
30
0
-16
-30
69
-45
0
0
0
0
0
26
5
-5
-54
0
0
0
-30
0
-10
22
29
-22
0
0
0
0
-50
7
-37
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
20
0
5
-5
32
8
0
0
0
0
0
-5
3
-46
93
0
0
0
14
0
0
28
-81
-40
0
0
0
0
-6
-5
18
-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
1
0
-1
-17
24
11
0
0
0
0
-3
-11
-8
37
21
0
0
0
34
0
4
57
-112
-42
0
0
0
0
-22
1
3
-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
4
28
1
-20
0
0
0
0
7
1
-13
55
15
0
0
0
0
6
-1
9
23
28
0
0
0
0
-13
25
25
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
2
23
15
-54
0
0
0
0
1
-13
-35
53
32
0
0
0
0
4
6
-29
-96
-9
0
0
0
0
2
31
52
-79
-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
-24
-26
44
0
0
0
0
0
-27
5
62
19
0
0
0
0
0
3
-1
9
29
0
0
0
0
10
119
-13
-25
-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
18
-19
46
-18
0
0
0
0
-34
-52
44
-62
33
0
0
0
0
-14
15
-8
63
12
0
0
0
0
48
-37
4
-87
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-6
-3
3
1
10
4
0
0
-8
39
80
30
-2
-3
18
0
-19
-13
-2
-101
-76
-22
6
22
0
0
-37
32
-35
-8
-9
33
24
70
97
-16
-15
2
-49
22
2
2
0
0
48
2
-72
-101
-21
-5
6
0
76
23
-26
26
-24
-8
3
28
0
0
13
-27
-7
-27
49
4
-2
64
58
2
25
-13
12
16
-15
0
0
0
32
33
-43
16
33
-6
0
0
-44
-8
53
136
6
-21
7
0
0
0
-28
37
30
-63
14
42
0
-12
-24
-25
89
-3
-55
-1
17
0
0
0
7
-18
59
-66
-49
29
0
0
-21
22
-7
-48
5
-34
31
0
0
0
-33
-7
37
25
-16
16
0
-3
-15
9
-100
50
23
12
0
0
0
0
-1
-34
-18
-2
-3
0
0
0
27
47
10
5
-46
-38
0
0
0
0
62
7
-58
58
-31
0
0
23
-76
7
46
-22
9
-3
0
0
0
0
-5
52
16
-92
41
0
0
0
-70
44
-17
-13
48
-17
0
0
0
0
-116
45
-9
2
-7
0
0
-72
-29
19
-16
21
10
76
0
0
0
0
21
8
53
14
-78
0
0
0
-20
-2
24
-44
-41
25
0
0
0
0
-50
-2
-32
-39
90
0
0
67
40
-1
-11
29
-59
-46
0
0
0
0
-38
-73
65
-73
64
0
0
0
-13
33
17
6
-57
7
0
0
0
0
-41
-57
-24
-38
72
0
0
0
0
-26
3
-29
-28
-4
19
20
0
0
67
-43
-29
57
-59
-18
70
0
0
41
-17
39
-26
-6
84
28
0
0
-23
-48
-6
44
104
-4
7
0
0
-1
-10
-110
-110
-57
-12
29
0
0
1
23
-3
-83
60
-4
6
0
0
0
5
3
-53
204
-58
2
0
0
13
25
2
37
8
76
-42
0
0
3
3
35
-10
-52
-4
0
0
0
0
-7
-12
0
-29
4
0
0
0
7
0
40
-42
25
7
0
0
0
-5
-2
17
23
54
-10
0
0
0
0
4
8
-128
11
50
0
0
0
0
-2
-2
-79
15
34
0
0
0
0
0
3
-35
-25
55
0
0
0
-35
5
-6
-8
16
61
0
0
0
-2
-6
101
-20
-33
0
0
0
0
5
-7
-8
29
-3
0
0
0
0
0
0
24
-55
34
0
0
0
0
-21
-6
-4
-32
148
0
0
0
0
-2
4
17
-117
50
0
0
0
0
-7
-1
2
-60
18
0
0
0
0
0
-24
1
78
-19
0
0
0
0
13
4
-5
-77
-58
0
0
0
0
-1
0
1
-10
-24
0
0
0
0
2
4
0
-28
-54
0
0
0
0
2
-2
-16
21
-2
0
0
0
0
4
-3
-1
-40
-18
0
0
0
0
0
-6
0
-25
-1
0
0
0
0
5
2
-7
-23
-38
0
0
0
0
1
0
0
14
-112
0
0
0
0
-59
5
0
15
43
0
0
0
-36
-2
14
-17
-17
46
35
13
0
0
0
-15
-52
46
4
26
0
0
-8
-2
4
-117
41
69
-36
20
0
0
-9
1
8
-28
-21
-11
6
0
-10
0
2
-51
-13
8
-8
13
0
0
1
0
-10
-8
-66
25
11
0
59
0
0
43
73
-126
-29
10
0
0
0
0
3
-25
18
-46
47
0
-5
1
-8
27
-41
17
7
0
0
0
-3
4
-13
-18
33
2
0
0
-11
0
0
-9
1
-7
45
0
0
0
0
-5
-9
-27
-4
46
0
0
-3
0
0
11
30
46
-16
0
0
0
0
0
-7
-31
64
-3
0
0
-18
0
-4
11
2
-43
52
0
0
0
0
0
-1
-5
-15
2
0
0
0
-4
10
-52
-30
70
0
0
0
0
0
1
-15
8
23
0
0
0
-9
0
0
-16
19
-35
0
0
0
0
0
0
-6
-16
15
0
0
0
3
0
0
39
-89
21
0
0
0
0
3
0
-2
-70
-26
0
0
0
-45
0
0
3
-5
73
0
0
0
0
-1
0
1
-3
15
0
0
0
4
2
-7
-31
10
-18
0
0
0
0
1
-11
6
-60
-44
0
0
0
-2
0
-3
-11
31
-30
0
0
0
0
0
-2
-2
21
-80
0
0
0
-5
0
0
-1
28
-32
0
0
0
0
0
0
9
13
-53
0
0
0
9
0
-3
-10
9
43
0
0
0
0
0
0
0
0
40
0
0
0
0
2
-28
-47
24
21
-1
-1
0
0
-7
-8
54
-35
-71
6
14
0
0
4
0
47
41
44
110
14
0
0
6
-1
-52
-2
145
138
-31
0
0
6
4
2
85
-49
26
20
0
0
-4
-15
-10
16
57
-42
-1
0
0
3
0
26
28
-19
38
5
0
0
-1
28
44
99
-29
0
-16
0
0
0
-5
27
-187
-99
83
0
0
0
-1
4
-24
1
-28
0
0
0
0
0
-2
22
-44
-14
81
0
0
0
-4
-8
22
-79
126
20
0
0
0
0
-4
1
-6
93
15
0
0
0
0
0
-1
11
35
-28
0
0
0
0
0
0
-12
4
92
0
0
0
16
4
-5
8
7
-49
0
0
0
5
-2
-72
-27
39
0
0
0
0
0
-1
-7
46
16
0
0
0
0
0
0
24
10
71
0
0
0
0
11
-4
-8
-2
28
0
0
0
0
0
-2
6
-75
96
0
0
0
0
0
15
-3
-67
39
0
0
0
0
-2
0
0
32
65
0
0
0
0
0
1
-1
-9
61
0
0
0
0
0
0
-2
-72
34
0
0
0
0
0
1
2
-71
-22
0
0
0
0
0
0
2
-25
15
0
0
0
0
4
1
8
-17
26
0
0
0
0
0
-1
0
10
35
0
0
0
0
0
-10
0
-57
100
0
0
0
0
0
-4
2
-1
5
0
0
0
0
0
-1
0
9
17
0
0
-10
6
-1
8
11
-36
-16
6
4
0
0
0
-34
-46
-41
62
15
6
0
-4
0
14
18
65
38
18
-7
0
0
2
4
-20
4
-6
24
23
45
0
0
-29
-32
-5
77
9
6
0
0
-8
-1
41
-93
53
42
15
0
-4
0
3
10
-50
6
8
9
0
0
0
0
-24
-76
-62
28
3
9
0
0
0
58
-164
8
12
0
0
0
0
1
2
-53
23
22
0
0
-3
0
1
-51
1
111
2
0
0
0
0
-2
7
-52
56
63
0
-47
0
0
-3
34
16
-37
14
0
0
0
0
-1
0
-39
-55
33
0
0
18
0
0
1
13
1
-19
0
0
0
0
-2
-1
11
62
-57
0
33
6
5
-1
-8
-63
24
0
0
0
0
0
-4
-37
-15
30
0
0
0
-4
0
-3
-24
-107
81
0
0
0
0
0
5
-14
-12
60
0
0
7
0
0
-4
-9
67
-19
0
0
0
0
3
-2
35
-72
3
0
0
0
-2
0
-6
117
-80
68
0
0
0
0
0
0
-3
10
6
0
0
0
0
0
-12
-47
69
9
0
0
0
0
0
-3
1
9
-13
0
0
0
0
0
-6
-73
-28
94
0
0
0
0
0
2
-10
-13
22
0
0
-108
0
0
8
1
34
65
0
0
0
0
0
7
1
12
34
0
0
0
17
0
-1
-2
-21
52
0
0
0
0
0
6
0
5
-12
0
0
0
0
2
-21
49
-143
20
31
24
0
0
12
-31
-21
2
-102
3
49
0
0
0
-15
-4
0
20
74
0
0
0
-12
33
30
53
75
-23
-9
0
0
0
0
-20
-23
-52
6
29
0
0
3
0
0
-75
83
-5
9
0
0
0
0
-12
19
-19
-4
48
0
0
0
-1
3
-5
24
-23
15
0
0
1
0
-3
25
-98
18
0
0
0
0
2
-11
23
30
8
0
0
0
0
1
1
-12
-4
51
0
0
0
-1
0
-2
66
95
-47
0
0
0
0
0
-3
-34
148
-4
0
0
0
0
1
14
-8
32
10
0
0
0
0
0
-1
18
23
-5
0
0
0
0
-29
-8
0
10
-2
0
0
0
0
7
-44
-19
50
0
0
0
0
0
1
33
-45
74
0
0
0
0
0
0
4
-65
47
0
0
0
0
2
-4
6
-35
72
0
0
0
0
0
1
3
9
-57
0
0
0
0
-1
0
3
-65
-15
0
0
0
0
0
0
12
61
33
0
0
0
0
-1
2
-6
23
-69
0
0
0
0
0
0
-19
-25
29
0
0
0
0
0
0
-11
32
68
0
0
0
0
0
0
3
0
-64
0
0
0
0
0
-1
-4
23
69
0
0
0
0
0
5
0
2
-11
0
0
0
0
0
6
-5
-1
-61
0
0
0
0
0
0
-7
-27
33
0
0
0
0
0
-3
0
-10
11
0
0
0
-16
1
-9
-56
-10
-6
14
-14
0
0
0
0
0
-40
33
3
10
0
19
0
1
23
-149
13
-3
27
0
0
2
0
-15
-89
-88
84
57
0
0
0
-2
-34
72
-54
5
14
0
0
0
0
1
-4
68
0
19
0
-37
0
-2
-1
-4
-18
3
13
0
0
0
0
5
14
19
0
2
0
2
0
0
4
-57
68
14
0
0
0
0
2
0
-35
46
5
0
0
1
0
-2
-13
9
-63
18
0
0
0
1
1
16
-22
-42
35
0
0
0
0
2
-5
-44
24
4
0
0
0
0
0
2
-49
39
12
0
0
-1
0
0
17
10
21
6
0
0
0
0
0
-5
-22
-11
61
0
0
0
0
-10
-2
-42
80
0
0
0
0
0
0
-3
-20
55
0
0
0
1
0
0
-8
-46
20
0
0
0
0
0
0
2
-64
45
0
0
0
0
0
1
8
-49
41
0
0
0
0
0
1
0
-54
-16
0
0
0
13
0
0
-11
-36
53
0
0
0
0
0
12
-3
-6
-29
0
0
0
0
0
0
3
31
54
0
0
0
0
0
0
0
-14
112
0
0
0
8
0
0
-8
-50
47
0
0
0
0
0
-2
-2
-24
79
0
0
0
0
0
0
-2
87
-38
0
0
0
0
0
0
-3
-20
-48
0
0
0
5
0
2
1
2
31
0
0
0
0
0
-1
2
0
-48
0
0
0
0
1
-21
-6
-36
-62
62
12
0
0
-1
-49
40
-44
55
48
-42
0
0
0
0
-24
34
40
44
1
0
0
19
8
43
85
-46
9
-1
0
0
0
2
17
31
-86
-14
27
0
0
0
-4
-2
-47
-18
-8
44
0
0
0
2
-32
-29
51
0
14
0
0
-13
-24
27
-28
1
57
29
0
0
0
-1
7
-25
-17
13
0
0
0
2
5
2
3
-17
9
0
0
0
0
4
-42
19
97
-6
0
0
0
-32
-40
-70
21
46
50
0
0
0
0
3
-7
-20
10
15
0
0
0
1
6
-6
-9
24
-10
0
0
0
0
1
-15
8
-32
35
0
0
0
3
4
27
0
4
-18
0
0
0
0
12
1
69
-130
0
0
0
0
0
-6
6
-31
-3
0
0
0
0
0
-3
31
-33
-63
0
0
0
0
-1
-11
58
-35
34
0
0
0
0
0
1
5
-6
36
0
0
0
0
3
-6
7
4
34
0
0
0
0
0
19
-1
-29
-12
0
0
0
0
0
-28
-3
10
15
0
0
0
0
0
0
4
9
73
0
0
0
0
0
1
-6
-3
9
0
0
0
0
0
-2
18
-68
-49
0
0
0
0
0
5
-1
3
93
0
0
0
0
0
6
0
-49
66
0
0
0
0
-1
-6
5
6
34
0
0
0
0
0
2
7
-5
10
0
0
0
0
-2
25
4
23
-18
0
0
-21
7
2
10
20
-82
24
14
0
0
0
-3
11
50
-38
22
39
0
0
-34
13
-19
0
52
-33
32
0
0
0
0
-18
9
20
-19
48
0
-7
0
0
-4
-18
30
59
-9
0
0
0
0
21
-56
-53
80
28
0
0
1
0
-7
14
11
-14
-7
0
0
0
0
34
-3
-36
-14
16
0
0
0
0
8
-46
-50
70
16
0
0
0
2
7
91
-6
-46
20
0
0
0
0
1
5
-83
-73
46
0
0
0
0
-13
26
2
-1
48
0
-6
0
0
5
29
-11
-3
16
0
0
0
0
8
-32
0
-41
21
0
0
0
0
-2
12
2
9
16
0
0
0
0
-3
23
13
-19
31
0
-1
0
0
-2
-26
23
40
0
0
0
0
0
-3
-2
-50
37
0
0
0
2
0
0
6
-7
-13
0
0
0
0
0
-3
-5
-9
51
0
0
-7
0
0
-2
114
-1
-23
0
0
0
0
0
1
-2
-36
9
0
0
0
-1
0
-6
-8
-96
144
0
0
0
0
0
3
-9
31
-4
0
0
0
0
0
-5
6
93
-10
0
0
0
0
2
0
-29
81
40
0
0
0
0
0
0
-1
116
-44
0
0
0
0
0
-3
0
-30
12
0
0
-1
0
0
1
2
25
22
0
0
0
0
0
3
4
-20
5
0
0
0
5
0
0
-1
-6
-11
0
0
0
0
0
0
3
6
-45
0
0
0
0
0
-21
43
-43
-24
8
0
0
0
-2
-1
12
-113
107
11
0
0
0
14
-2
1
-31
32
-22
0
0
0
11
1
5
-22
84
-56
0
0
0
0
0
-39
-4
-3
14
0
0
0
0
-1
-3
-23
-26
35
0
0
0
0
0
-3
-19
76
40
0
0
0
0
0
3
-52
18
-13
0
0
0
0
-3
-7
-65
39
46
0
0
0
0
0
3
-132
65
33
0
0
0
0
0
-5
-59
50
35
0
0
0
3
3
-2
-35
5
34
0
0
0
0
-1
18
70
-42
0
0
0
0
0
-3
0
32
-3
4
0
0
0
0
0
0
5
-36
1
0
0
0
0
0
0
-9
-44
2
0
0
0
0
0
6
44
-15
0
0
0
0
0
0
0
37
12
0
0
0
0
0
0
-2
-49
70
0
0
0
0
0
0
0
7
47
0
0
0
0
0
9
0
29
14
0
0
0
0
-1
0
0
48
-24
0
0
0
0
0
0
-5
9
15
0
0
0
0
0
0
2
-4
21
0
0
0
0
0
2
-1
-52
15
0
0
0
0
0
0
16
15
24
0
0
0
0
0
0
-1
-8
-16
0
0
0
0
0
0
0
-8
47
0
0
0
0
0
0
0
-30
30
0
0
0
0
0
0
4
22
-19
0
0
0
0
0
0
0
6
-11
0
0
0
0
-1
0
0
-27
61
0
0
0
-24
1
-18
-46
9
55
-8
0
0
0
-1
3
6
48
24
4
0
0
11
0
0
29
-103
-3
48
0
0
0
-1
0
-15
-22
76
34
0
0
16
0
6
-28
-56
205
-40
0
0
0
0
0
-2
-27
67
-18
0
0
2
0
0
18
19
39
-28
0
0
0
0
0
-7
-21
31
-42
0
0
0
0
6
15
-9
37
22
0
0
0
2
0
1
9
-7
21
0
0
0
0
0
-22
-65
59
-22
0
0
0
0
0
2
39
36
-58
0
0
0
0
0
-5
-33
-40
18
0
0
0
0
-5
1
8
39
-15
0
0
-8
0
0
-4
2
80
9
0
0
0
0
0
0
0
89
-3
0
0
0
0
0
-10
31
-28
0
0
0
0
0
0
3
-103
40
0
0
0
0
0
0
-24
-38
61
0
0
0
0
0
0
0
-7
6
0
0
0
1
0
0
35
-86
41
0
0
0
0
0
0
1
97
6
0
0
0
-4
0
0
6
38
8
0
0
0
0
0
0
0
0
37
0
0
0
0
0
3
2
-41
31
0
0
0
0
-3
0
0
-14
33
0
0
0
11
0
0
4
-32
4
0
0
0
0
0
0
-5
-7
-17
0
0
0
0
0
0
3
-31
29
0
0
0
0
0
0
-3
0
15
0
0
0
8
0
0
-1
-10
-10
0
0
0
0
0
0
0
-22
21
0
0
0
0
-2
-3
-7
-32
6
26
0
0
0
4
2
65
-138
-13
22
0
0
0
3
0
29
-34
16
-49
0
0
0
-37
-5
-6
48
47
26
0
0
0
0
0
-12
83
15
-39
0
0
0
0
-2
-10
19
77
-22
0
0
0
0
0
3
93
14
39
0
0
0
3
-53
3
4
96
84
0
0
0
2
1
-6
-18
36
-26
0
0
0
2
5
-18
-57
42
26
0
0
0
0
0
-4
35
1
0
0
0
0
8
4
-1
6
1
-34
0
0
0
0
0
1
25
-36
21
0
0
0
-1
1
-9
-4
-43
58
0
0
0
0
0
0
3
59
-21
0
0
0
12
0
1
0
69
-112
0
0
0
0
0
-22
-23
-2
0
0
0
0
0
0
-3
-11
12
0
0
0
0
0
0
-3
-35
51
0
0
0
0
4
0
8
16
39
0
0
0
0
0
-4
-4
1
57
0
0
0
0
-1
7
-2
0
51
0
0
0
0
0
2
12
1
-59
0
0
0
0
0
5
0
-8
111
0
0
0
0
0
0
5
49
38
0
0
0
0
0
0
-8
-3
-15
0
0
0
0
0
0
3
19
7
0
0
0
0
0
2
8
-1
-1
0
0
0
0
0
0
2
-28
17
0
0
0
0
0
-3
6
31
-12
0
0
0
0
0
0
-2
-3
-3
0
0
0
0
7
0
-1
4
-48
0
0
32
-6
0
-2
-14
-14
-41
11
0
0
0
0
-1
-8
-80
0
58
0
0
0
0
0
-20
-12
27
4
0
0
0
0
0
25
18
24
-6
0
0
0
0
-5
2
26
80
-6
0
0
0
0
0
15
-34
-5
46
0
0
-15
0
-2
-1
44
80
9
0
0
0
0
1
-35
0
44
13
0
-25
0
0
-2
-7
42
28
24
0
0
0
0
-5
11
-29
-7
-2
0
0
1
0
0
-88
-14
76
6
0
0
0
0
-5
18
-1
-28
37
0
8
0
0
10
4
-68
16
14
0
0
0
0
0
1
39
25
14
0
0
-12
0
0
-47
-12
26
27
0
0
0
0
0
4
-5
93
-41
0
0
0
0
-7
96
-146
-3
0
0
0
0
0
0
6
-21
50
0
0
0
0
0
0
-13
-17
9
0
0
0
0
0
0
1
22
-9
0
0
10
0
0
0
29
51
-52
0
0
0
0
0
-1
21
-19
-1
0
0
0
-1
0
1
-15
17
-2
0
0
0
0
0
-1
-15
3
-30
0
0
0
0
0
-1
6
-82
31
0
0
0
0
0
9
1
-39
36
0
0
0
0
0
0
-4
-10
40
0
0
0
0
0
0
9
0
16
0
0
9
0
0
5
-6
45
5
0
0
0
0
0
4
3
-29
20
0
0
0
10
0
0
1
-13
-7
0
0
0
0
0
0
23
8
-17
0
0
0
0
0
-1
-55
-67
16
66
0
0
0
-11
-4
-1
-23
-1
-3
0
0
0
0
0
12
66
56
-20
0
0
0
0
3
6
18
79
15
0
0
0
0
0
15
-49
67
3
0
0
0
0
-5
0
-9
-87
26
0
0
0
0
0
0
21
23
9
0
0
0
0
-4
40
-6
-7
16
0
0
0
0
-3
4
4
-32
18
0
0
0
0
0
4
62
33
-20
0
0
0
0
0
-1
-13
108
-16
0
0
0
1
0
3
4
32
-2
0
0
0
0
0
-2
39
-26
0
0
0
0
0
-8
-2
-4
107
3
0
0
0
0
0
8
-14
108
-20
0
0
0
9
5
-50
0
-6
89
0
0
0
0
0
0
64
65
0
0
0
0
0
0
-4
3
19
0
0
0
0
0
0
0
59
-90
0
0
0
0
0
0
8
-21
-28
0
0
0
0
0
0
0
-34
51
0
0
0
0
3
0
2
-2
-37
0
0
0
0
0
0
1
4
-25
0
0
0
0
0
0
-6
12
-16
0
0
0
0
0
0
-6
-31
17
0
0
0
0
0
0
0
-3
46
0
0
0
0
0
0
12
46
-20
0
0
0
0
0
0
4
-1
10
0
0
0
0
-12
-1
1
1
53
0
0
0
0
0
4
0
13
30
0
0
0
0
0
1
0
-14
-19
0
0
0
0
0
-3
-9
3
51
0
0
0
4
0
-4
-15
-37
-49
43
0
0
0
2
-1
-2
-21
108
-29
0
0
-10
0
-1
7
-57
153
-9
0
0
0
6
0
17
0
-26
25
0
0
2
0
1
4
-2
105
-40
0
0
0
0
-5
3
-2
53
3
0
0
9
0
0
-9
7
-29
58
0
0
0
-3
-2
5
1
-46
64
0
0
0
0
0
2
6
-63
33
0
0
0
0
0
0
13
-61
20
0
0
-1
0
7
0
2
83
10
0
0
0
0
0
8
9
27
-14
0
0
8
0
0
4
1
-4
-4
0
0
0
0
-3
0
0
-33
28
0
0
5
0
0
0
1
3
-15
0
0
0
0
0
2
0
83
4
0
0
0
0
0
-2
-50
1
0
0
0
0
0
0
0
3
-127
0
0
0
2
0
0
0
-44
46
0
0
0
0
0
0
4
-17
54
0
0
0
-3
0
-1
-5
12
-81
0
0
0
0
0
0
0
-8
50
0
0
0
-3
0
0
0
-1
94
0
0
0
0
1
0
-2
-4
28
0
0
0
0
0
0
0
27
41
0
0
0
0
0
0
0
-13
58
0
0
0
-12
0
0
-4
1
15
0
0
0
0
0
0
-5
0
-16
0
0
0
-6
0
2
7
1
55
0
0
0
0
0
0
0
-24
47
0
0
0
44
0
0
7
-7
-66
0
0
0
0
0
1
0
2
-8
0
0
0
0
1
-6
5
-24
23
-64
0
0
0
-3
13
2
55
-49
-64
0
0
0
-13
0
12
16
41
-38
0
0
0
7
-22
12
9
30
27
0
0
0
0
0
1
14
26
-26
0
0
0
2
26
5
-20
31
-46
0
0
0
0
0
-2
5
5
-83
0
0
0
3
17
-10
2
4
-55
0
0
0
0
0
0
0
-46
27
0
0
0
-1
-1
0
-1
-62
43
0
0
0
0
-1
-19
-1
138
-30
0
0
0
10
1
38
13
35
-70
0
0
0
0
0
0
0
8
14
0
0
0
-1
1
0
2
30
-38
0
0
0
0
0
-3
0
0
22
0
0
0
-17
-47
6
1
67
45
0
0
0
0
0
0
-39
-46
0
0
0
0
0
0
-4
23
43
0
0
0
0
0
0
7
-1
-36
0
0
0
0
-1
0
13
2
5
0
0
0
0
0
0
-9
0
43
0
0
0
0
0
0
-8
23
-2
0
0
0
0
0
0
-1
-1
58
0
0
0
0
-2
-1
-3
-4
11
0
0
0
0
0
0
0
-22
99
0
0
0
0
0
-6
0
13
1
0
0
0
0
0
0
-8
-7
-46
0
0
0
0
1
0
2
18
17
0
0
0
0
0
0
3
3
93
0
0
0
0
-3
0
2
-19
26
0
0
0
0
0
-2
0
21
17
0
0
0
0
-1
1
11
2
4
0
0
-7
0
-10
-81
30
28
55
0
0
0
0
13
43
17
-7
-21
0
0
0
-3
-8
24
4
-28
-12
0
0
0
0
2
8
-13
-41
3
0
0
-6
1
0
-55
-23
-9
15
0
0
0
0
0
35
49
-108
-21
0
0
0
-3
0
-11
-18
-16
-15
0
0
0
0
0
-32
-72
-32
28
0
0
0
0
0
-24
14
36
-35
0
0
0
0
-3
21
22
-4
-6
0
0
0
1
0
3
-13
-93
29
0
0
0
0
0
-12
-29
-26
18
0
0
7
0
0
18
59
-70
2
0
0
0
0
0
-11
5
-22
79
0
0
0
0
0
-11
-38
-49
107
0
0
0
0
-3
4
9
7
-17
0
0
-1
-1
0
35
114
-26
-11
0
0
0
0
0
-2
-14
-51
49
0
0
0
0
0
0
-13
-3
-43
0
0
0
0
0
-1
14
-12
47
0
0
0
0
0
-6
5
-38
68
0
0
0
0
-3
-19
14
-27
27
0
0
0
0
0
10
0
-150
48
0
0
0
0
0
-3
-14
25
63
0
0
-3
4
0
11
56
-51
18
0
0
0
0
-1
-2
39
-47
18
0
0
0
0
0
3
-57
-35
18
0
0
0
0
0
13
42
-85
-8
0
0
2
0
0
-2
11
-12
-9
0
0
0
0
0
0
5
-22
-3
0
0
0
-2
0
1
5
0
-31
0
0
0
0
0
11
1
-51
-13
0
0
0
0
1
29
-62
-80
-13
0
0
0
0
-12
-1
8
42
-8
0
0
0
0
13
0
13
-28
-37
0
0
0
0
2
0
2
-26
38
0
0
0
0
0
15
-11
27
-44
0
0
0
0
3
-13
1
0
-47
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
-7
-2
-1
40
0
0
0
0
1
0
-9
31
11
0
0
0
0
5
0
0
41
22
0
0
0
0
-2
0
-4
-76
122
0
0
0
0
-8
0
-5
-10
66
0
0
0
0
0
-1
-3
-3
-38
0
0
0
0
-5
0
0
18
30
0
0
0
0
0
1
0
31
23
0
0
0
0
4
0
0
8
-30
0
0
0
0
0
-9
3
-36
37
0
0
0
0
0
0
-1
-12
32
0
0
0
0
0
-1
-1
-11
34
0
0
0
0
0
0
-10
34
7
0
0
0
0
0
0
1
-34
-14
0
0
0
0
0
7
0
-23
-18
0
0
0
0
0
0
-3
-106
114
0
0
0
0
-2
0
0
10
9
0
0
0
0
0
3
6
31
-37
0
0
0
0
-6
0
0
-18
42
0
0
0
0
7
0
-1
-69
72
0
0
0
0
6
-3
0
14
12
0
0
0
0
0
0
0
42
-43
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
5
6
0
0
0
-1
-1
0
22
-67
70
0
0
0
0
0
2
-7
-1
-15
0
0
0
6
0
0
-40
-54
47
0
0
0
0
0
1
-2
28
-20
0
0
0
-1
0
-1
20
74
-20
0
0
0
0
0
0
-7
11
13
0
0
0
16
0
0
-12
31
-111
0
0
0
0
0
0
-3
-3
-25
0
0
0
0
1
1
-63
-53
99
0
0
0
0
-1
0
-9
-79
87
0
0
0
-4
0
0
8
-40
-31
0
0
0
0
0
0
4
-3
48
0
0
0
0
0
0
-29
41
40
0
0
0
0
0
0
3
-28
9
0
0
0
15
0
0
3
-9
-53
0
0
0
0
0
0
2
0
26
0
0
0
-1
0
0
11
11
25
0
0
0
0
0
0
0
-30
18
0
0
0
0
0
0
-2
-26
23
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
-13
6
-8
0
0
0
0
0
0
0
32
45
0
0
0
21
0
0
1
-15
-71
0
0
0
0
0
0
2
-52
-1
0
0
0
-1
0
0
6
-50
63
0
0
0
0
0
-4
4
13
12
0
0
0
6
0
0
1
-26
43
0
0
0
0
0
0
8
-23
41
0
0
0
0
0
0
0
93
2
0
0
0
0
0
0
2
18
67
0
0
0
-15
0
0
0
-4
-11
0
0
0
0
0
0
-6
1
-13
0
0
0
0
0
-1
26
20
5
0
0
0
0
0
-4
-21
-57
34
0
0
0
0
0
0
112
-76
11
0
0
0
0
-9
3
-47
59
30
0
0
0
0
0
-2
0
-7
-15
0
0
0
0
0
7
3
71
21
0
0
0
0
0
1
11
-17
28
0
0
0
0
7
-2
-25
1
-50
0
0
0
0
0
0
3
-17
66
0
0
0
0
0
0
11
-48
127
0
0
0
0
0
0
-2
50
-37
0
0
0
0
4
0
22
53
-25
0
0
0
0
0
0
2
-11
120
0
0
0
0
0
1
2
-73
-87
0
0
0
0
0
0
-3
-14
-6
0
0
0
0
-5
-2
0
-2
14
0
0
0
0
0
0
-21
-6
55
0
0
0
0
0
0
0
37
-13
0
0
0
0
0
0
-9
-18
-7
0
0
0
0
0
0
8
32
-19
0
0
0
0
0
-1
0
-44
6
0
0
0
0
0
0
0
39
-40
0
0
0
0
0
0
16
-12
55
0
0
0
0
-2
0
-13
36
-22
0
0
0
0
0
0
1
-18
40
0
0
0
0
0
0
2
41
-11
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
-12
-35
36
0
0
0
0
0
0
0
15
16
0
0
0
0
0
0
6
15
16
0
0
0
0
0
0
-2
-3
33
0
0
0
0
0
2
0
7
16
0
0
7
-4
0
-6
41
13
-50
0
0
0
0
0
4
10
-27
-6
0
0
0
6
0
3
26
-14
5
0
0
0
0
-2
0
7
-74
-9
0
0
10
0
0
-3
11
-12
23
0
0
0
0
0
0
14
-45
34
0
0
0
0
0
1
0
17
31
0
0
0
0
0
0
1
61
-38
0
0
-11
0
0
0
-37
94
30
0
0
0
0
0
-7
0
29
9
0
0
0
2
0
0
29
-18
30
0
0
0
0
0
0
-18
57
-15
0
0
-16
0
0
0
39
58
-15
0
0
0
0
0
0
-13
10
50
0
0
0
-1
0
0
13
-64
24
0
0
0
0
0
0
0
36
-1
0
0
-4
0
0
5
40
-59
19
0
0
0
0
0
0
15
49
-52
0
0
0
3
0
-2
0
-51
63
0
0
0
0
0
-13
39
-4
-24
0
0
-2
1
0
0
-66
-58
38
0
0
0
0
0
2
0
-25
-9
0
0
0
9
0
0
4
-86
-6
0
0
0
0
0
0
-7
86
-10
0
0
0
0
0
8
41
-45
47
0
0
0
0
0
0
6
76
-37
0
0
0
-1
0
-4
27
-80
55
0
0
0
0
0
0
1
-96
52
0
0
1
0
0
-6
2
-96
59
0
0
0
0
0
0
-4
3
64
0
0
0
11
0
0
-5
42
-16
0
0
0
0
0
-2
-1
13
23
0
0
0
0
0
3
-50
-15
10
0
0
0
0
-2
-3
5
-94
0
0
0
0
0
0
0
-13
21
23
0
0
0
0
-3
0
-35
-24
169
0
0
0
0
0
0
0
-76
46
0
0
0
0
0
6
11
-30
-41
0
0
0
0
0
0
-8
29
100
0
0
0
0
0
-9
-3
-18
-4
0
0
0
0
0
-2
-1
-8
5
0
0
0
0
0
2
1
-107
114
0
0
0
0
0
0
-6
-31
74
0
0
0
0
4
-6
-1
47
4
0
0
0
0
0
0
-7
-2
36
0
0
0
0
0
0
2
-14
16
0
0
0
0
0
0
0
6
41
0
0
0
0
5
2
0
43
-10
0
0
0
0
0
0
-14
-120
23
0
0
0
0
0
0
1
-47
42
0
0
0
0
0
0
17
140
-66
0
0
0
0
2
1
5
-60
94
0
0
0
0
0
0
-1
38
-43
0
0
0
0
0
-8
4
6
-68
0
0
0
0
0
-2
0
-36
18
0
0
0
0
0
0
-3
-14
45
0
0
0
0
0
-3
0
-3
-2
0
0
0
0
0
0
-1
29
19
0
0
0
0
0
0
-2
18
19
0
0
0
0
0
0
-19
-3
61
0
0
0
0
0
-5
0
-44
36
0
0
0
0
0
0
8
24
20
0
0
0
0
0
-3
0
1
-9
0
0
0
0
-6
-2
-3
28
-25
0
0
0
-15
0
1
-76
131
-72
0
0
0
0
0
-7
-12
0
49
0
0
0
12
0
0
47
-65
-11
0
0
0
0
0
0
0
10
-4
0
0
0
-3
0
0
-20
96
47
0
0
0
0
0
0
-3
-45
41
0
0
0
6
0
-2
1
-56
-44
0
0
0
0
0
-4
1
-7
10
0
0
0
0
0
0
4
-43
105
0
0
0
0
0
0
0
7
-26
0
0
0
1
0
0
3
2
-15
0
0
0
0
0
0
-7
53
36
0
0
0
0
0
-5
-2
44
56
0
0
0
0
0
0
0
23
47
0
0
0
-21
0
0
0
-4
-8
0
0
0
0
0
0
4
24
9
0
0
0
0
0
0
6
7
2
0
0
0
0
0
0
10
-25
86
0
0
0
2
0
0
1
-13
10
0
0
0
0
0
0
0
-65
24
0
0
0
6
0
0
-6
-26
0
0
0
0
0
0
0
0
-16
83
0
0
0
6
0
0
4
-21
-33
0
0
0
0
0
0
0
-11
21
0
0
0
0
0
0
-14
10
35
0
0
0
0
0
0
1
45
-3
0
0
0
7
0
0
2
-69
7
0
0
0
0
0
0
0
13
68
0
0
0
4
0
0
0
38
24
0
0
0
0
0
0
0
62
-56
0
0
0
-20
0
2
-2
-7
22
0
0
0
0
0
0
0
-43
-17
0
0
0
0
0
12
-34
-62
8
0
0
0
0
0
-8
0
-47
117
0
0
0
0
0
0
14
-119
22
0
0
0
0
1
7
5
-18
-6
0
0
0
0
0
-1
0
-7
54
0
0
0
0
0
5
0
-23
23
0
0
0
0
0
-4
-5
19
12
0
0
0
0
13
-8
-6
22
3
0
0
0
0
0
0
8
35
-45
0
0
0
0
6
-5
0
9
21
0
0
0
0
-6
0
-17
5
112
0
0
0
0
5
-7
4
-16
-14
0
0
0
0
0
0
-2
20
-14
0
0
0
0
-1
-15
-2
-2
34
0
0
0
0
0
0
1
-21
17
0
0
0
0
-11
5
-3
-6
-24
0
0
0
0
0
0
-19
-2
18
0
0
0
0
0
12
-9
-3
-36
0
0
0
0
0
0
-3
-21
-13
0
0
0
0
0
16
-1
-19
31
0
0
0
0
0
0
0
24
31
0
0
0
0
0
-6
0
24
27
0
0
0
0
0
0
-1
28
2
0
0
0
0
-2
-1
3
-34
-16
0
0
0
0
0
0
-2
13
62
0
0
0
0
0
-1
8
-7
8
0
0
0
0
0
0
0
27
8
0
0
0
0
6
4
-11
-21
91
0
0
0
0
0
-1
0
-3
108
0
0
0
0
0
-1
-24
-29
61
0
0
0
0
0
0
-3
1
90
0
0
0
0
5
4
-3
-52
-4
0
0
3
0
-1
-11
-37
-2
66
0
0
0
0
0
-2
2
-47
28
0
0
0
0
0
0
-13
-28
-61
0
0
0
0
0
0
7
-26
26
0
0
-2
0
0
-3
26
6
-45
0
0
0
0
0
4
-11
-43
88
0
0
0
0
0
0
11
-40
38
0
0
0
0
0
-3
-6
2
-5
0
0
0
0
0
44
-3
5
25
0
0
0
0
0
0
-11
43
-40
0
0
0
0
0
-2
-16
-8
39
0
0
0
0
0
-2
-10
-36
11
0
0
-15
0
0
-12
6
95
-21
0
0
0
0
0
0
-9
3
32
0
0
0
0
0
-1
-2
-6
48
0
0
0
0
0
18
-1
-8
7
0
0
0
0
0
-9
5
-12
56
0
0
0
0
0
-6
0
73
-7
0
0
0
0
0
2
17
-54
-31
0
0
0
0
0
1
-1
-12
7
0
0
0
0
0
0
29
34
-37
0
0
0
0
0
0
-3
-20
35
0
0
0
0
0
-2
-11
13
19
0
0
0
0
0
9
-1
52
-28
0
0
0
0
0
-6
-48
14
57
0
0
0
0
0
1
-6
16
5
0
0
0
7
0
-1
9
-19
-18
0
0
0
0
2
0
4
-22
-73
0
0
-1
0
0
2
0
20
17
0
0
0
0
0
6
-6
44
23
0
0
0
8
0
-3
-5
-16
12
0
0
0
0
0
-3
5
-2
32
0
0
0
0
0
11
15
-47
-22
0
0
0
0
-8
0
0
-22
-6
0
0
0
0
0
0
-4
37
-1
0
0
0
0
0
0
0
23
-11
0
0
0
0
0
-3
-9
-68
16
0
0
0
0
0
-3
0
-16
-12
0
0
0
0
0
0
-2
-30
16
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
-8
1
13
0
0
0
0
0
0
0
-71
112
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-3
0
-20
40
0
0
0
0
0
0
0
-33
46
0
0
0
0
0
0
0
5
49
0
0
0
0
-2
0
0
-20
41
0
0
0
0
0
0
0
33
-98
0
0
0
0
0
0
0
-48
18
0
0
0
0
0
0
-1
-33
35
0
0
0
0
0
0
0
20
16
0
0
0
0
0
0
0
-65
90
0
0
0
0
0
0
0
12
-71
0
0
0
0
0
0
0
-44
67
0
0
0
0
0
0
0
70
-61
0
0
0
0
0
0
0
-69
17
0
0
0
0
0
0
0
-86
69
0
0
0
0
0
0
0
-29
13
0
0
0
0
0
0
0
5
46
0
0
0
0
0
0
1
-44
36
0
0
0
0
0
0
-4
69
-7
0
0
0
0
0
0
0
-8
51
0
0
0
0
0
-2
0
-34
-2
0
0
0
-13
0
-7
-11
-41
60
0
0
0
0
0
0
0
3
33
0
0
0
8
0
0
3
-40
-2
0
0
0
0
0
0
0
21
-90
0
0
0
2
0
1
6
-65
58
0
0
0
0
0
0
-1
38
-2
0
0
0
-26
0
0
-5
18
84
0
0
0
0
0
0
0
-100
-5
0
0
0
-1
0
5
6
-25
-16
0
0
0
0
0
0
-1
-5
-49
0
0
0
0
0
0
5
-36
21
0
0
0
0
0
0
6
-43
92
0
0
0
0
0
0
0
-46
80
0
0
0
0
0
0
0
28
-82
0
0
0
2
0
0
1
-8
23
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-13
-46
0
0
0
-3
0
0
0
-35
26
0
0
0
0
0
0
0
-18
49
0
0
0
0
0
0
2
21
33
0
0
0
0
0
0
0
-71
67
0
0
0
0
0
0
2
-52
-5
0
0
0
0
0
0
0
-11
29
0
0
0
2
0
0
0
-16
-7
0
0
0
0
2
0
0
-85
28
0
0
0
11
0
2
-1
-6
-17
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
16
46
0
0
0
0
0
0
0
-54
55
0
0
0
-11
0
0
0
12
16
0
0
0
0
0
0
0
11
-71
0
0
0
0
0
19
6
-20
-88
0
0
0
0
0
0
0
-1
68
0
0
0
0
0
0
1
-3
-6
0
0
0
0
0
-3
-1
12
26
0
0
0
0
0
0
4
-3
17
0
0
0
0
0
0
0
-55
12
0
0
0
0
0
0
3
0
-34
0
0
0
0
0
3
-1
3
-1
0
0
0
0
0
0
5
-45
2
0
0
0
0
2
0
2
14
44
0
0
0
0
0
0
-6
15
7
0
0
0
0
-13
0
-2
15
63
0
0
0
0
0
0
0
4
79
0
0
0
0
0
-2
0
6
39
0
0
0
0
0
0
1
0
25
0
0
0
0
3
0
0
-8
-11
0
0
0
0
0
0
-1
0
101
0
0
0
0
0
0
0
-87
61
0
0
0
0
0
0
0
-21
3
0
0
0
0
-2
0
0
-2
32
0
0
0
0
0
0
-1
-10
30
0
0
0
0
0
-1
0
-1
27
0
0
0
0
0
0
16
-73
43
0
0
0
0
0
8
0
1
46
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
4
-37
2
0
0
0
0
0
0
-6
-58
56
0
0
0
0
3
-1
2
-33
24
0
0
0
0
0
0
0
24
22
0
0
0
0
0
-2
0
-12
28
0
0
0
0
0
-2
3
4
-18
0
0
0
0
1
-1
-2
19
50
0
0
-3
0
0
4
-50
6
10
0
0
0
0
0
0
2
-51
52
0
0
0
0
0
0
11
40
0
0
0
0
0
0
0
0
-15
-2
0
0
-1
0
0
0
-20
-69
87
0
0
0
0
0
0
-2
10
-11
0
0
0
0
0
0
1
102
-39
0
0
0
0
0
0
11
5
-10
0
0
0
0
0
4
-7
1
50
0
0
0
0
0
0
-1
28
37
0
0
0
2
0
-2
0
-36
-20
0
0
0
0
0
1
0
-43
40
0
0
1
0
0
0
-15
35
5
0
0
0
0
0
-1
0
28
-40
0
0
0
5
0
1
0
28
-8
0
0
0
0
0
-5
0
-15
54
0
0
0
0
0
3
1
-34
9
0
0
0
0
0
0
0
-31
62
0
0
0
0
0
0
1
-44
20
0
0
0
0
0
0
0
-32
6
0
0
19
0
0
0
4
-3
-73
0
0
0
0
0
0
0
2
45
0
0
0
1
0
0
4
30
4
0
0
0
0
0
0
0
-76
49
0
0
-2
0
0
0
35
-29
25
0
0
0
0
0
0
0
22
8
0
0
0
0
0
0
6
7
-29
0
0
0
0
0
0
0
-96
86
0
0
18
0
0
0
4
-92
3
0
0
0
0
0
0
0
17
26
0
0
0
-11
0
0
4
-3
35
0
0
0
0
0
0
0
-26
75
0
0
0
0
0
1
1
-9
-68
0
0
0
0
0
0
0
-29
35
0
0
0
0
0
0
0
11
-9
0
0
0
0
-3
0
0
-47
-1
0
0
0
0
0
6
3
32
-52
0
0
0
0
0
0
0
-19
-53
0
0
0
0
0
1
0
-52
0
0
0
0
0
0
17
0
31
-5
0
0
0
0
0
0
-2
35
22
0
0
0
0
0
0
4
-73
-31
0
0
0
0
0
0
5
-10
55
0
0
0
0
-2
-2
11
18
47
0
0
0
0
0
-7
-1
-12
51
0
0
0
0
0
0
4
11
1
0
0
0
0
0
3
0
-2
70
0
0
0
0
2
16
0
3
-53
0
0
0
0
0
0
0
-48
-34
0
0
0
0
0
0
0
3
-54
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-19
57
0
0
0
0
0
1
0
-20
99
0
0
0
0
0
0
0
-52
86
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
-2
0
15
24
0
0
0
0
0
0
-2
22
44
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-14
78
0
0
0
0
1
1
0
20
4
0
0
0
0
0
0
0
4
10
0
0
0
0
0
-5
0
22
60
0
0
0
0
0
0
0
0
29
0
0
0
0
0
-15
7
10
0
0
0
0
0
0
0
-10
0
22
0
0
0
0
0
0
0
12
27
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
0
-4
-1
-21
0
0
0
0
0
-8
-6
11
24
0
0
0
0
0
0
3
0
-5
0
0
0
-6
0
0
-6
-2
-17
0
0
0
0
0
-3
9
0
-7
0
0
0
0
0
0
0
-30
81
0
0
0
0
0
0
0
8
1
0
0
0
-3
0
-4
3
-16
-36
0
0
0
0
0
-1
-4
5
-41
0
0
0
4
0
2
5
-18
21
0
0
0
0
0
13
3
-2
81
0
0
0
36
0
2
0
8
-3
0
0
0
0
8
0
0
0
64
0
0
0
0
0
0
0
2
-64
0
0
0
0
0
0
0
-18
3
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
-3
15
-11
0
0
0
0
0
0
0
4
32
0
0
0
6
0
0
0
-7
1
0
0
0
0
0
0
0
1
-42
0
0
0
0
0
0
6
46
-25
0
0
0
0
0
0
0
11
-15
0
0
0
13
0
0
0
5
2
0
0
0
0
0
0
3
24
2
0
0
0
-16
0
0
0
-45
38
0
0
0
0
0
0
0
9
72
0
0
0
24
0
-1
0
2
63
0
0
0
0
0
0
0
14
-6
0
0
0
0
7
1
-12
-13
-18
0
0
0
0
1
0
0
-3
-36
0
0
0
0
0
0
0
2
-54
0
0
0
0
3
0
-2
8
-39
0
0
0
0
0
0
-8
2
-8
0
0
0
0
0
-9
1
5
12
0
0
0
0
0
0
3
2
13
0
0
0
0
1
2
1
17
0
0
0
0
0
0
-3
0
-3
68
0
0
0
0
0
-2
-13
-33
5
0
0
0
0
-2
0
6
-7
-34
0
0
0
0
2
7
5
29
15
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
-4
4
-11
-9
0
0
0
0
4
-4
-2
7
-5
0
0
0
0
6
-24
-1
0
50
0
0
0
0
0
0
0
-27
-8
0
0
0
0
0
0
-1
0
-18
0
0
0
0
0
0
8
-8
-52
0
0
0
0
0
0
0
-17
76
0
0
0
0
0
0
0
20
52
0
0
0
0
1
0
4
-6
-58
0
0
0
0
0
3
-9
5
41
0
0
0
0
7
-8
-4
11
19
0
0
0
0
0
0
0
-69
34
0
0
0
0
1
0
4
-2
37
0
0
0
0
-17
1
22
-3
11
0
0
0
0
-6
0
-1
16
-15
0
0
0
0
0
-1
0
-10
48
0
0
0
0
0
8
0
25
-28
0
0
0
0
0
-3
11
3
-4
0
0
0
0
-4
8
-2
19
0
0
0
-6
58
1
-2
29
15
5
-1
3
0
0
-14
-70
-18
3
50
12
38
0
-19
-31
-33
134
-53
-38
33
10
0
0
25
42
-62
-32
5
-26
13
-43
-35
12
-34
-15
-17
27
0
-10
0
0
29
61
-17
-136
-65
20
26
0
-20
0
6
3
-39
-3
22
-1
0
0
-9
-9
-2
-40
-23
-21
12
3
4
-2
5
46
-10
-27
7
0
0
0
8
17
-5
-64
14
-13
0
0
-2
-18
-13
-6
-2
-26
1
0
0
0
-2
6
-28
-5
104
2
0
-45
3
0
-20
-45
-76
29
50
0
0
0
3
-5
-6
-7
24
-43
0
0
3
0
4
-29
38
-5
-5
0
0
0
0
1
-8
82
4
-20
0
-6
112
-57
20
-34
-27
22
0
0
0
0
0
-38
-59
67
38
0
0
0
-39
-2
-6
10
-22
33
0
0
0
0
0
-8
-53
44
0
0
0
58
69
0
41
51
-164
33
0
0
0
0
0
2
-46
-125
120
0
0
0
57
0
0
22
-120
58
0
0
0
0
2
7
15
29
-50
0
0
-1
3
0
-4
-26
41
-30
0
0
0
0
1
-8
11
14
14
0
0
0
-8
0
6
30
2
-52
0
0
0
0
0
7
-3
-118
-55
0
0
51
1
0
7
36
34
-73
0
0
0
0
-2
0
3
-92
-22
0
0
0
2
0
-3
7
-47
26
0
0
0
0
1
0
-8
2
-31
0
0
0
0
38
66
65
-26
40
-16
18
0
0
55
85
67
-17
-47
6
43
0
0
-21
-11
-54
24
5
18
41
0
0
-53
2
72
4
-12
-4
90
0
0
-8
-8
-4
31
1
-6
21
0
0
-7
111
-49
-26
-65
6
13
0
0
2
20
-5
-79
87
-33
-35
0
0
27
6
-35
15
-81
-9
3
0
0
-25
-56
-45
19
71
15
0
0
0
-2
66
10
15
0
-29
0
0
0
-11
-10
36
-8
-32
2
0
0
0
-8
1
-70
-41
44
45
0
0
0
0
-4
39
-56
-10
24
0
0
0
3
-9
32
-16
-50
-7
0
0
0
3
0
-1
14
-69
62
0
0
0
11
8
5
19
29
-40
0
0
0
-11
1
17
-34
8
0
0
0
0
0
-64
6
31
36
0
0
0
0
1
-8
20
-43
35
0
0
0
0
11
6
-27
-21
44
0
0
0
0
1
-63
-26
21
-14
0
0
0
0
3
-30
-8
-84
-17
0
0
0
0
0
-2
-45
61
28
0
0
0
0
3
-8
29
-6
-16
0
0
0
0
1
3
-1
-75
66
0
0
0
0
-4
-1
-6
23
13
0
0
0
0
-17
0
-13
25
45
0
0
0
0
0
5
1
-70
-35
0
0
0
0
0
0
1
20
25
0
0
0
0
-7
-1
0
-80
69
0
0
0
0
0
0
0
-6
7
0
0
0
0
-4
7
4
-17
25
0
0
0
59
75
76
32
-53
1
-12
1
0
0
-12
16
110
-13
49
14
12
0
-75
-6
-6
-44
-91
-37
12
36
0
0
-22
-37
56
36
-9
21
33
0
-73
9
-17
-2
-27
-101
12
54
0
0
-1
-24
60
-58
37
52
25
0
-46
0
2
68
-53
-2
5
26
0
0
16
29
-69
-16
-44
112
18
0
-6
0
4
4
-68
47
-1
0
0
0
0
-7
-21
1
50
17
0
0
55
-5
34
32
-47
25
-34
0
0
0
-12
-45
-19
-34
3
33
0
0
-2
0
0
7
-99
-37
56
0
0
0
0
3
2
5
17
21
0
0
38
0
-7
27
-63
24
-12
0
0
0
1
0
15
-25
-40
58
0
0
1
8
-65
20
-39
30
0
0
0
0
-8
-12
-18
-39
60
0
0
0
12
0
0
-2
-52
55
0
0
0
0
0
-3
17
12
49
0
0
0
-6
0
-2
-23
-37
31
0
0
0
0
5
-2
-55
0
-27
0
0
0
3
0
-4
27
-6
-21
0
0
0
0
0
-10
-45
32
41
0
0
0
2
0
8
-62
-71
77
0
0
0
0
-1
-1
3
64
7
0
0
0
-6
0
-2
10
-91
-12
0
0
0
0
0
0
0
-2
-42
0
0
0
0
0
0
-24
-87
78
0
0
0
0
0
1
3
46
-2
0
0
0
-23
0
0
-1
-40
22
0
0
0
0
1
0
3
1
45
0
0
0
0
-4
21
33
77
0
39
-7
0
0
29
23
-42
-19
59
3
80
0
0
-7
42
58
-61
5
-23
28
0
0
-29
28
0
109
28
53
-11
0
0
12
-17
-25
-5
-45
26
17
0
0
-26
-73
-13
75
37
3
39
0
0
0
-8
12
-44
105
43
13
0
0
-68
-26
30
95
102
45
-37
0
0
-2
58
71
-5
-2
-33
0
0
0
-58
-48
16
-1
27
-10
0
0
0
0
14
46
-37
10
-11
0
0
0
58
-81
-2
-56
36
-22
0
0
0
0
-3
9
-58
9
8
0
0
0
-6
3
37
103
-6
-54
0
0
0
0
2
12
-69
-16
71
0
0
0
103
-46
-24
-118
87
12
0
0
0
-14
-22
1
57
4
0
0
0
0
26
-14
-17
35
5
0
0
0
0
0
-3
-1
-45
98
0
0
0
0
2
19
-30
10
91
0
0
0
0
6
6
-30
-39
49
0
0
0
0
-7
63
-22
59
38
0
0
0
0
1
9
-14
27
-45
0
0
0
0
9
39
-31
-41
-67
0
0
0
0
-5
-1
38
-57
21
0
0
0
0
-7
0
-9
3
27
0
0
0
0
0
0
5
-80
144
0
0
0
0
0
-15
-25
-50
40
0
0
0
0
0
0
-7
-12
-36
0
0
0
0
-6
2
3
-26
40
0
0
0
0
0
0
2
5
65
0
0
0
0
-2
6
3
-5
-37
0
0
-79
-1
-11
-89
-62
-29
17
10
-16
0
0
-2
-60
-16
-38
-39
14
58
0
31
0
-19
-13
52
18
-35
24
0
0
2
-29
-99
19
95
-29
59
-16
6
0
-40
25
62
47
16
-8
0
0
-1
11
-15
-96
4
-6
27
0
-24
0
-1
-33
9
56
-22
28
0
0
0
1
3
-4
-26
-24
26
79
2
0
20
131
-74
19
4
0
0
0
0
23
-24
-23
-34
11
0
0
8
0
-3
51
15
134
-36
0
0
0
0
-2
32
-54
45
-38
0
-9
0
0
4
36
-6
73
20
0
0
0
1
1
6
-48
35
68
0
0
-9
0
3
-3
87
115
-44
0
0
0
0
0
-8
-11
60
-30
0
20
1
0
24
24
-9
-74
0
0
0
0
0
12
-5
48
-68
0
0
0
-12
0
0
-16
-43
43
0
0
0
0
0
0
-11
8
30
0
0
-42
2
0
1
-54
-49
124
0
0
0
0
3
4
18
-47
-38
0
0
0
17
0
0
13
77
-43
0
0
0
0
0
0
-11
42
-24
0
0
-4
2
0
-4
-58
-32
119
0
0
0
0
0
-2
10
26
-70
0
0
0
1
0
-7
0
96
40
0
0
0
0
0
4
3
-14
129
0
0
-27
0
0
5
23
25
-87
0
0
0
0
0
0
0
-77
59
0
0
0
-4
0
3
0
-79
-23
0
0
0
0
0
0
1
8
10
0
0
0
0
4
-63
4
-97
7
-15
24
0
0
6
35
-7
-9
-81
-2
-5
0
0
17
-29
101
-68
-11
1
17
0
0
10
-51
52
48
76
-65
-3
0
0
0
-66
-51
21
86
27
-2
0
0
0
-3
8
36
-31
-4
-27
0
0
0
-1
1
18
-39
25
-7
0
0
-19
46
14
67
-76
-42
30
0
0
0
-1
-118
-24
-3
30
0
0
0
-1
-20
-12
-98
13
71
0
0
0
0
-2
19
28
65
-8
0
0
0
1
62
44
-7
62
-37
0
0
0
0
-8
-19
11
-5
36
0
0
0
0
-8
5
11
-100
57
0
0
0
0
0
31
-1
-37
49
0
0
0
0
10
-8
33
26
0
0
0
0
0
-31
5
-1
-47
0
0
0
0
0
-8
1
-11
4
0
0
0
0
0
-1
-21
-20
-38
0
0
0
0
0
-33
8
-81
7
0
0
0
0
0
3
-21
-112
55
0
0
0
0
0
0
-4
-27
-32
0
0
0
0
0
-3
-3
-58
72
0
0
0
0
0
-33
-9
-28
85
0
0
0
0
0
2
-3
-14
67
0
0
0
0
0
-5
0
-38
84
0
0
0
0
0
0
0
-25
81
0
0
0
0
0
9
-2
2
32
0
0
0
0
0
1
0
-2
61
0
0
0
0
0
1
2
0
30
0
0
0
0
0
0
0
-15
62
0
0
0
0
0
-1
5
-10
-3
0
0
0
-9
8
-21
43
-33
-13
-1
38
0
0
1
39
57
-90
-48
33
7
0
-87
1
-6
63
-27
-28
33
3
0
0
3
9
-28
17
-45
-26
26
0
32
0
-12
-45
-65
-88
27
16
0
0
0
0
20
-47
-6
87
5
0
24
0
2
-50
-94
52
48
36
0
0
-1
-49
100
67
179
0
9
0
9
0
1
-47
-50
-49
8
0
0
0
0
8
-26
-10
79
22
0
0
32
0
1
27
45
30
-76
0
0
0
0
5
-89
81
73
-16
0
0
-2
0
-2
-8
-35
-1
41
0
0
0
0
-2
3
-9
83
36
0
0
-19
0
0
3
-52
25
34
0
0
0
-5
10
9
-14
53
-3
0
0
17
0
26
-77
-24
-11
0
0
0
0
0
3
-2
12
25
0
0
0
15
0
-5
-22
-63
20
0
0
0
0
0
0
-36
10
-12
0
0
0
-51
0
0
-27
73
22
0
0
0
0
0
5
-7
-29
86
0
0
0
81
0
0
2
-88
-12
0
0
0
0
0
-10
17
-22
57
0
0
0
2
0
0
1
69
-106
0
0
0
0
0
0
0
-66
144
0
0
0
-49
0
0
3
44
19
0
0
0
0
0
-16
-1
-8
31
0
0
0
2
0
-3
-2
15
46
0
0
0
0
0
0
2
5
45
0
0
0
-11
0
-5
0
26
-3
0
0
0
0
0
-4
8
2
16
0
0
0
0
18
-136
-98
-18
61
19
-7
0
0
89
-19
-44
-30
150
56
13
0
0
-2
-33
-44
5
126
-18
18
0
0
10
35
53
-8
-86
1
41
0
0
2
-2
58
44
70
7
-19
0
0
-6
35
-25
20
3
-16
48
0
0
0
-6
18
48
5
48
5
0
0
17
166
39
-6
0
16
17
0
0
0
1
-12
-41
-50
59
0
0
0
-3
10
39
9
24
28
0
0
0
-2
-4
-19
44
6
10
0
0
0
-18
-1
-38
9
107
0
0
0
0
0
-6
-7
44
7
-21
0
0
0
6
-17
-41
-3
78
108
0
0
0
0
0
4
-3
43
10
0
0
0
72
5
-1
1
37
-117
0
0
0
-3
-39
3
-67
69
0
0
0
0
7
-23
6
-5
4
0
0
0
0
0
-3
31
21
-88
0
0
0
0
1
23
28
21
16
0
0
0
0
0
2
19
-58
46
0
0
0
0
-2
22
11
-22
-1
0
0
0
0
-6
15
-3
-2
-57
0
0
0
0
-1
-59
10
-16
25
0
0
0
0
0
3
2
-6
-5
0
0
0
0
0
0
0
-6
-4
0
0
0
0
-1
0
6
0
21
0
0
0
0
0
24
0
0
-27
0
0
0
0
0
2
2
-11
0
0
0
0
0
3
-7
0
5
-1
0
0
0
0
0
0
-8
-3
-23
0
0
0
0
14
-8
6
-13
22
0
0
62
-10
-1
-80
-32
34
7
-15
0
0
0
-23
14
-11
6
-35
-1
0
0
-3
0
-42
13
-106
72
7
0
0
0
2
1
-50
82
18
-31
0
24
4
1
17
70
-6
64
9
0
0
0
2
-11
-3
-162
76
13
0
0
1
0
1
-13
-53
-1
21
0
0
0
0
3
15
-26
-38
-12
0
16
0
5
0
50
-80
57
15
0
0
0
-14
29
1
-98
84
10
0
0
-6
-2
-57
39
11
-120
41
0
0
0
0
0
8
4
-22
1
0
-19
0
0
2
-140
-25
65
12
0
0
0
5
-1
-1
23
-56
12
0
0
0
0
0
-1
17
4
-7
0
0
0
0
0
-1
-7
28
15
0
-8
-17
-11
2
30
65
8
0
0
0
0
17
8
-27
41
-32
0
0
0
7
0
0
84
-21
-33
0
0
0
0
0
-10
1
-41
17
0
0
-35
7
0
-4
21
37
16
0
0
0
0
1
5
-3
-107
117
0
0
0
0
0
0
5
21
14
0
0
0
0
0
2
9
-5
-48
0
0
-1
0
1
22
9
89
-30
0
0
0
0
0
0
-6
34
8
0
0
0
3
0
-2
-28
24
25
0
0
0
0
0
0
4
-48
107
0
0
16
0
0
17
-30
-34
64
0
0
0
0
0
2
6
45
-13
0
0
0
0
0
0
-7
16
16
0
0
0
0
0
-3
0
-2
-48
0
0
0
0
17
-16
-12
49
8
-7
0
0
0
9
68
43
34
-16
-31
0
0
0
-1
-13
27
-153
-1
67
0
0
0
4
49
75
22
14
-52
0
0
0
8
-34
43
65
14
13
0
0
0
-1
24
54
-36
14
-4
0
0
0
0
-15
12
-46
17
8
0
0
0
-7
79
-15
2
-28
9
0
0
0
1
13
-156
67
101
6
0
0
0
1
-10
-28
-61
-40
32
0
0
0
1
2
-27
22
8
25
0
0
0
-7
-4
-30
-38
95
19
0
0
0
7
13
-14
-69
26
3
0
0
0
-4
1
36
151
-44
-22
0
0
0
0
0
2
9
-2
34
0
0
0
0
-12
7
-19
1
37
0
0
0
1
-13
77
-55
6
0
0
0
0
-1
7
-25
-121
75
0
0
0
0
0
4
2
-53
8
0
0
0
0
-4
1
5
-42
4
0
0
0
0
-1
-1
-9
93
-17
0
0
0
0
-2
-3
-9
53
-28
0
0
0
0
0
1
2
-14
-59
0
0
0
0
-1
7
2
-57
-23
0
0
0
0
2
3
-5
16
77
0
0
0
0
1
1
1
41
-36
0
0
0
0
9
0
0
18
-35
0
0
0
0
0
-4
-3
0
32
0
0
0
0
0
-1
1
-12
34
0
0
0
0
2
9
0
35
23
0
0
0
0
0
0
4
21
34
0
0
0
0
0
2
0
61
-64
0
0
0
-16
46
-105
87
5
-1
-13
0
0
0
-8
-1
-53
6
82
52
0
0
-78
8
3
-6
-25
35
51
0
0
0
1
-25
-3
-83
77
72
0
0
28
0
11
16
29
-24
-12
0
0
0
-1
7
-35
-75
4
62
0
0
-46
0
4
34
24
-114
69
0
0
0
-2
1
37
50
-10
22
0
0
-5
-10
12
90
14
-31
-7
0
0
0
13
0
-2
2
-47
22
0
0
49
0
0
-25
-67
89
-16
0
0
0
2
-2
-31
-28
43
40
0
0
-9
0
0
-8
-25
47
5
0
0
0
0
0
2
-7
89
25
0
0
-30
0
1
5
9
96
10
0
0
0
2
0
-15
27
-18
39
0
0
-3
-7
-4
40
-29
-16
0
0
0
0
4
-2
-16
30
-65
0
0
0
-2
0
0
85
-9
-69
0
0
0
0
0
4
-7
-53
73
0
0
0
1
0
0
48
-91
62
0
0
0
0
-9
0
-16
-40
84
0
0
0
-3
0
0
3
12
-10
0
0
0
0
-3
0
-47
21
76
0
0
0
0
0
6
-12
35
-7
0
0
0
0
-1
2
0
61
38
0
0
0
-6
0
0
-6
-68
57
0
0
0
0
-2
0
2
30
87
0
0
0
-5
0
-5
5
-27
40
0
0
0
0
0
-4
0
-25
48
0
0
0
34
0
0
-3
-83
47
0
0
0
0
2
2
5
-39
-1
0
0
0
0
-32
25
-90
13
-11
42
0
0
0
-67
30
-10
75
77
-19
0
0
0
1
-2
39
-38
43
-3
0
0
0
96
20
-5
4
57
-94
0
0
0
-2
-48
54
1
52
-18
0
0
0
-7
19
-19
31
32
-10
0
0
0
0
33
-22
14
-72
45
0
0
0
-25
-3
66
85
47
-48
0
0
0
1
-9
-20
-49
-4
41
0
0
0
-12
-17
36
14
69
16
0
0
0
-4
4
-10
-91
53
22
0
0
0
-8
50
14
29
-74
-10
0
0
0
0
-2
0
-54
55
25
0
0
0
10
8
5
-4
52
-29
0
0
0
0
20
1
7
-28
29
0
0
0
-15
-23
-5
-8
-4
7
0
0
0
2
2
88
-6
15
0
0
0
0
-1
-1
0
-19
1
0
0
0
0
0
0
32
-37
32
0
0
0
0
-1
2
62
13
21
0
0
0
0
0
0
-8
-16
-2
0
0
0
0
3
-6
-15
36
-25
0
0
0
0
1
8
13
43
-29
0
0
0
0
19
8
13
-26
-60
0
0
0
0
0
-6
2
0
10
0
0
0
0
11
0
-10
44
48
0
0
0
0
0
-3
-2
28
77
0
0
0
0
-6
0
4
-17
68
0
0
0
0
0
2
-1
17
-23
0
0
0
0
-1
-4
-1
56
57
0
0
0
0
0
-4
-9
-4
49
0
0
0
0
-23
-7
-2
13
88
0
0
50
50
16
-17
57
-60
-13
-11
0
0
0
2
-11
18
-24
-23
7
0
0
-8
0
-1
-69
-46
121
22
0
0
0
0
0
-2
-72
68
40
0
10
0
-2
-2
-55
-55
34
20
0
0
0
2
5
21
-36
-8
-2
0
0
1
0
8
-57
91
49
-19
0
0
0
2
0
-2
4
90
18
0
-52
-4
0
-66
75
-46
-18
47
0
0
0
0
1
-38
-30
-94
47
0
0
4
0
0
-2
-40
64
22
0
0
0
0
0
0
31
73
37
0
91
0
0
-1
-8
-7
62
30
0
0
0
-1
-5
-3
-19
93
27
0
0
8
0
0
5
-7
41
4
0
0
0
0
-2
-1
12
64
14
0
-9
0
0
2
2
51
0
0
0
0
0
0
0
2
23
-36
0
0
0
14
0
-6
3
79
-1
0
0
0
0
0
0
0
-6
9
0
0
26
6
0
0
0
-53
65
0
0
0
0
-5
0
18
-84
73
0
0
0
-3
0
0
8
11
-13
0
0
0
0
0
0
0
-26
19
0
0
3
0
0
-4
-50
38
47
0
0
0
0
0
0
18
20
28
0
0
0
4
0
0
-1
61
27
0
0
0
0
0
0
2
7
-21
0
0
0
0
0
0
-2
-9
19
0
0
0
0
0
-7
17
-52
97
0
0
0
4
0
-1
-2
17
17
0
0
0
0
0
0
-10
-5
-27
0
0
0
0
1
40
17
-69
23
3
0
0
0
2
11
-9
-2
-1
-15
0
0
0
-10
14
-20
-82
-12
83
0
0
0
22
-32
6
96
4
-2
0
0
0
0
11
3
-73
0
39
0
0
0
0
-5
-3
76
-138
42
0
0
0
0
-2
1
-40
15
36
0
0
0
1
14
0
26
-27
-19
0
0
0
4
49
58
22
-16
-23
0
0
0
4
9
-2
-16
52
-16
0
0
0
0
2
2
-6
-45
18
0
0
0
5
-10
-11
7
28
6
0
0
0
0
-6
17
-53
19
35
0
0
0
4
12
3
-28
-41
22
0
0
0
0
-5
-14
7
-16
27
0
0
0
6
0
-9
17
77
-12
0
0
0
0
0
-23
9
20
0
0
0
0
0
10
28
-116
11
0
0
0
0
0
0
12
18
37
0
0
0
0
-2
12
-32
0
50
0
0
0
0
0
12
-15
-13
71
0
0
0
0
1
-4
10
35
16
0
0
0
0
0
0
0
-27
50
0
0
0
0
-5
3
8
24
-74
0
0
0
0
0
10
-9
-50
43
0
0
0
0
0
0
-6
-8
81
0
0
0
0
0
0
6
4
68
0
0
0
0
-2
11
7
-13
2
0
0
0
0
0
0
-1
-13
68
0
0
0
0
0
-19
-4
36
26
0
0
0
0
0
0
0
34
88
0
0
0
0
1
0
0
7
-36
0
0
0
8
5
-4
34
-144
-2
17
0
0
0
0
-1
19
28
-58
4
0
0
103
-1
6
-12
-40
24
57
0
0
0
-4
-1
32
-8
30
70
0
0
-22
-6
-5
23
22
2
11
0
0
0
0
0
0
-37
-11
53
0
0
-51
-1
3
8
-86
53
38
0
0
0
7
-4
-16
4
-70
72
0
0
4
0
5
-7
46
7
-25
0
0
0
0
-4
0
-6
38
30
0
0
-30
0
-2
-8
-51
76
7
0
0
0
2
-2
-3
0
97
-30
0
0
1
0
0
6
-17
14
13
0
0
0
0
0
-8
10
-22
42
0
0
-38
0
0
3
6
-15
25
0
0
0
-18
1
0
-14
5
36
0
0
28
0
2
4
12
-60
0
0
0
0
-3
4
45
60
-122
0
0
0
-7
0
0
5
-16
19
0
0
0
0
0
6
5
2
82
0
0
0
-3
0
-8
19
3
65
0
0
0
0
0
0
-1
13
-37
0
0
0
-16
0
0
5
-11
70
0
0
0
0
13
0
12
-1
-2
0
0
0
-1
0
-1
-2
-97
49
0
0
0
0
4
0
-2
-46
15
0
0
0
26
0
0
-2
-1
101
0
0
0
0
-5
-8
-8
17
123
0
0
0
-1
0
5
10
-11
42
0
0
0
0
0
-11
0
-1
-19
0
0
0
32
0
0
0
-35
32
0
0
0
0
-2
6
6
8
107
0
0
0
0
1
-61
72
58
-52
-3
0
0
0
7
33
-9
-4
30
20
0
0
0
-3
0
-7
-18
-14
114
0
0
0
13
-20
-33
-1
-57
59
0
0
0
0
-15
-44
42
5
-58
0
0
0
0
-1
5
-39
0
30
0
0
0
2
-6
-5
-2
-22
21
0
0
0
20
9
-19
0
2
-19
0
0
0
0
-5
-10
6
35
-9
0
0
0
12
0
0
0
29
-40
0
0
0
0
0
-12
10
-19
12
0
0
0
-15
5
0
1
-33
53
0
0
0
0
5
2
0
113
5
0
0
0
-8
5
-1
6
-24
18
0
0
0
0
0
3
1
56
1
0
0
0
-13
5
10
0
5
11
0
0
0
8
-15
28
20
12
0
0
0
0
14
0
2
-17
-41
0
0
0
0
0
0
-9
-3
-6
0
0
0
0
-18
0
-43
8
19
0
0
0
0
0
5
6
4
19
0
0
0
0
0
3
0
-1
-2
0
0
0
0
0
0
-2
12
7
0
0
0
0
-13
-13
-26
5
36
0
0
0
0
0
0
-3
-11
77
0
0
0
0
-1
0
-6
-11
80
0
0
0
0
0
2
0
-65
81
0
0
0
0
1
-8
6
-5
49
0
0
0
0
0
0
-4
-1
25
0
0
0
0
0
13
0
-6
37
0
0
0
0
0
0
0
0
-15
0
0
0
0
4
-4
12
-9
2
0
0
56
-61
-45
-80
-21
43
10
0
0
0
0
3
6
-124
9
39
0
0
0
-11
-7
39
100
-9
-12
0
0
0
0
5
-54
-31
-62
109
0
0
-20
131
0
-1
-30
-18
12
0
0
0
0
15
-39
-85
33
-31
0
0
0
23
0
-1
-79
10
85
0
0
0
0
-2
3
-60
8
71
0
0
0
0
6
12
64
-75
47
0
0
0
0
0
-6
2
48
21
0
0
0
-6
0
-1
1
16
33
0
0
0
0
0
0
-3
-43
73
0
0
-3
0
0
-3
-56
-107
139
0
0
0
0
1
0
-28
79
17
0
0
0
0
0
0
-8
-53
98
0
0
0
0
0
7
0
-18
20
0
0
0
-24
-6
-1
4
35
56
0
0
0
0
0
3
40
-65
27
0
0
0
6
0
-6
-52
-34
59
0
0
0
0
0
-1
1
-2
22
0
0
5
-14
0
20
-11
-18
34
0
0
0
0
0
-1
10
-83
19
0
0
0
0
0
0
-20
-55
-18
0
0
0
0
0
0
0
-48
45
0
0
0
0
0
13
-21
1
51
0
0
0
0
0
2
7
29
-28
0
0
0
-7
0
7
35
-56
-5
0
0
0
0
0
0
0
-119
73
0
0
-1
0
0
1
-13
-43
-7
0
0
0
0
0
-1
2
-67
-15
0
0
0
0
0
0
9
-62
-34
0
0
0
0
0
0
-16
-35
-35
0
0
0
0
70
-20
-6
45
13
0
0
0
0
3
27
10
24
-43
0
0
0
0
-2
0
-16
12
28
0
0
0
0
2
-4
-7
47
35
0
0
0
0
-1
-8
-10
17
37
0
0
0
0
-19
9
23
-63
-6
0
0
0
0
-1
-16
5
31
43
0
0
0
0
7
87
11
-62
-12
0
0
0
0
0
-26
-1
74
18
0
0
0
0
-1
-1
2
1
9
0
0
0
0
0
4
7
-119
34
0
0
0
0
0
-9
-4
-7
107
0
0
0
0
0
-11
34
-47
13
0
0
0
0
0
0
0
-11
-31
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-4
-2
47
0
0
0
0
3
15
-40
-28
33
0
0
0
0
4
-8
21
-22
44
0
0
0
0
0
0
10
-20
3
0
0
0
0
0
0
-7
-20
35
0
0
0
0
0
-5
37
-17
-15
0
0
0
0
-1
5
19
-62
25
0
0
0
0
0
0
0
61
-16
0
0
0
0
0
0
3
-42
7
0
0
0
0
-2
0
-14
-6
69
0
0
0
0
0
0
-9
-42
-43
0
0
0
0
0
0
2
-24
49
0
0
0
0
0
0
0
4
38
0
0
0
0
0
0
2
-72
-6
0
0
0
0
0
0
-2
-85
-31
0
0
0
0
0
0
0
-36
-21
0
0
0
0
-1
0
0
-72
40
0
0
0
75
-19
28
-117
18
8
0
0
0
0
0
10
26
-70
-1
0
0
0
-12
-1
-1
-28
-60
67
0
0
0
0
4
26
33
25
-60
0
0
0
35
0
-18
-84
-9
17
0
0
0
0
-2
-1
5
13
96
0
0
0
27
0
-5
-16
-27
21
0
0
0
0
0
8
44
-48
29
0
0
0
-1
0
-2
-9
-80
65
0
0
0
0
0
0
-1
-23
16
0
0
0
-4
0
1
27
-87
7
0
0
0
0
0
0
-3
7
-28
0
0
0
-1
0
-1
-107
43
62
0
0
0
0
0
0
32
-35
12
0
0
0
-9
0
0
0
37
-3
0
0
0
0
2
3
-11
-7
45
0
0
0
3
0
-10
-25
-81
25
0
0
0
0
0
-2
-12
-66
99
0
0
0
2
0
-4
-4
-8
-23
0
0
0
0
0
2
5
18
9
0
0
0
8
0
0
-58
-58
79
0
0
0
0
0
0
-15
19
15
0
0
0
6
0
2
4
-63
-11
0
0
0
0
0
0
0
23
51
0
0
0
-7
-1
-16
36
-67
28
0
0
0
0
0
0
-1
-18
28
0
0
0
0
0
10
68
21
-52
0
0
0
0
0
0
1
10
72
0
0
0
0
0
0
6
-61
40
0
0
0
0
0
0
0
-42
-29
0
0
0
4
0
1
-9
-17
-10
0
0
0
0
0
0
0
-9
50
0
0
0
0
-13
35
40
-3
-4
0
0
0
0
5
-22
-67
73
5
0
0
0
0
7
-5
113
-105
-18
0
0
0
0
46
1
-20
10
53
0
0
0
0
-7
-8
29
-119
95
0
0
0
0
24
-42
-54
21
89
0
0
0
0
0
3
8
-33
4
0
0
0
0
-68
33
-45
-23
152
0
0
0
0
3
3
-22
10
55
0
0
0
0
0
0
-4
34
18
0
0
0
0
0
-3
5
33
-22
0
0
0
0
-4
-11
-37
30
43
0
0
0
0
-2
-6
11
35
-2
0
0
0
0
-3
5
0
7
-51
0
0
0
0
0
0
9
7
-8
0
0
0
0
12
-4
-2
-15
-1
0
0
0
0
3
-13
12
-6
32
0
0
0
0
-1
3
50
-97
78
0
0
0
0
0
0
-19
-30
41
0
0
0
0
1
-3
-10
4
-67
0
0
0
0
0
-1
-10
22
6
0
0
0
0
-6
7
-5
38
1
0
0
0
0
0
0
-2
66
4
0
0
0
0
-9
0
17
40
31
0
0
0
0
-1
-9
7
-75
17
0
0
0
0
-2
-6
-1
66
51
0
0
0
0
0
0
0
9
-15
0
0
0
0
0
-2
0
5
-97
0
0
0
0
0
0
0
-70
23
0
0
0
0
-3
0
1
-11
-35
0
0
0
0
0
0
-4
-30
35
0
0
0
0
2
0
0
-4
-4
0
0
-52
-28
0
-102
-64
24
50
0
0
0
0
0
12
20
17
-65
0
0
0
13
0
-1
61
-115
41
0
0
0
0
0
3
-12
51
17
0
0
6
6
0
56
-72
-3
1
0
0
0
0
0
-22
2
-19
56
0
0
0
-32
0
0
-72
41
92
0
0
0
0
0
5
-4
-12
74
0
0
39
0
-12
3
-33
49
-14
0
0
0
0
-3
-3
28
18
16
0
0
0
2
0
-1
28
-37
41
0
0
0
0
0
-3
-4
-6
31
0
0
14
-1
0
-1
-10
49
50
0
0
0
0
0
-7
3
21
-19
0
0
0
0
0
0
19
25
39
0
0
0
0
0
0
-2
3
11
0
0
1
-10
0
-4
11
-42
28
0
0
0
0
0
4
5
-111
33
0
0
0
3
0
0
-6
-62
88
0
0
0
0
0
-4
-5
60
87
0
0
-18
-12
0
18
3
-64
72
0
0
0
0
0
-6
7
-39
22
0
0
0
18
0
0
0
-37
-28
0
0
0
0
0
0
19
-38
43
0
0
-1
0
0
10
-75
16
7
0
0
0
0
-1
10
4
62
18
0
0
0
1
0
-11
-2
-72
94
0
0
0
0
0
0
0
-25
75
0
0
-15
0
0
-3
26
-73
24
0
0
0
0
0
0
2
-53
36
0
0
0
-11
0
0
0
21
51
0
0
0
0
0
0
0
81
-80
0
0
0
0
-28
80
45
-33
37
0
0
0
0
10
30
-44
-119
92
0
0
0
0
-12
-21
27
28
42
0
0
0
0
-8
7
6
5
-29
0
0
0
0
0
11
-5
-44
-9
0
0
0
0
0
40
35
-94
-42
0
0
0
0
0
5
-3
15
22
0
0
0
0
0
4
0
52
57
0
0
0
0
0
-26
16
6
6
0
0
0
0
8
-11
-2
-50
75
0
0
0
0
0
0
0
59
-35
0
0
0
0
0
-52
9
-65
42
0
0
0
0
0
1
-47
33
19
0
0
0
0
3
-3
2
-27
73
0
0
0
0
0
0
-9
-7
-9
0
0
0
0
0
13
12
-33
-24
0
0
0
0
0
27
-20
89
-64
0
0
0
0
2
-10
-3
4
13
0
0
0
0
0
3
1
-78
16
0
0
0
0
0
-2
-1
17
-18
0
0
0
0
0
-4
-1
21
-48
0
0
0
0
0
-1
-4
-59
51
0
0
0
0
0
0
-10
-7
-35
0
0
0
0
0
0
0
-70
93
0
0
0
0
2
-1
11
30
-17
0
0
0
0
0
-5
-1
-58
107
0
0
0
0
0
0
0
-34
17
0
0
0
0
1
0
-15
-23
22
0
0
0
0
0
1
0
-45
-8
0
0
0
0
0
2
4
44
-61
0
0
0
0
0
0
0
-24
33
0
0
0
0
3
0
-5
22
6
0
0
0
71
-7
-12
-49
-24
9
0
0
0
0
0
-4
49
-65
5
0
0
0
13
1
4
5
-43
17
0
0
0
0
0
-3
10
36
37
0
0
0
34
0
-37
-33
52
60
0
0
0
0
0
0
33
60
-103
0
0
0
44
0
0
45
-57
-16
0
0
0
0
0
2
75
-32
-25
0
0
0
-5
0
-2
36
69
-42
0
0
0
0
0
10
13
-2
15
0
0
0
29
0
0
-2
-87
70
0
0
0
0
0
2
5
-17
90
0
0
0
3
0
-2
-26
-63
-79
0
0
0
0
0
-2
0
2
45
0
0
0
2
0
0
6
0
38
0
0
0
0
0
-5
-1
-1
2
0
0
0
-2
0
-2
-49
-3
19
0
0
0
0
0
5
0
-74
47
0
0
0
-24
0
2
-10
80
18
0
0
0
0
0
-8
-2
-26
101
0
0
0
4
0
-2
-35
-14
31
0
0
0
0
0
0
1
-43
-21
0
0
0
15
0
1
2
-97
29
0
0
0
0
0
14
2
-14
32
0
0
0
1
0
9
28
4
-4
0
0
0
0
0
0
0
46
20
0
0
0
20
0
0
0
-33
27
0
0
0
0
0
0
3
9
-7
0
0
0
-14
0
0
4
9
20
0
0
0
0
0
3
-10
3
8
0
0
0
-34
0
0
3
14
100
0
0
0
0
0
-3
9
48
45
0
0
0
0
15
24
9
-86
47
0
0
0
0
1
41
34
-24
-17
0
0
0
0
-2
-3
-8
-26
5
0
0
0
0
-42
-2
-5
6
65
0
0
0
0
0
0
37
23
-154
0
0
0
0
-1
-4
18
6
10
0
0
0
0
0
2
19
5
-57
0
0
0
0
30
2
55
13
-32
0
0
0
0
0
-9
4
-48
17
0
0
0
0
-6
5
-4
27
8
0
0
0
0
13
0
-2
-5
67
0
0
0
0
-9
-2
3
21
-11
0
0
0
0
0
6
-2
-32
111
0
0
0
0
4
-5
-7
32
-10
0
0
0
0
0
0
0
17
38
0
0
0
0
-10
10
0
5
-36
0
0
0
0
-2
22
-7
-49
35
0
0
0
0
0
-15
0
-23
29
0
0
0
0
0
1
-1
-18
45
0
0
0
0
0
-1
-4
88
-44
0
0
0
0
0
2
0
-37
17
0
0
0
0
3
-7
15
-12
71
0
0
0
0
0
0
0
-34
13
0
0
0
0
0
33
-2
11
-53
0
0
0
0
0
-6
0
-26
6
0
0
0
0
1
0
0
31
-34
0
0
0
0
-6
0
-7
18
20
0
0
0
0
1
-7
0
11
101
0
0
0
0
0
0
-7
0
65
0
0
0
0
-4
6
3
7
-13
0
0
0
0
0
-3
0
3
12
0
0
0
0
-3
2
-1
40
47
0
0
41
4
-5
-33
8
-17
58
0
0
0
0
-8
-7
7
21
-35
0
0
0
-1
2
-6
-80
-30
39
0
0
0
0
0
-1
1
-66
-1
0
0
-32
-1
0
-27
6
27
74
0
0
0
0
6
-4
-4
-44
89
0
0
0
0
0
0
8
114
-99
0
0
0
0
0
0
1
-18
28
0
0
0
0
-4
11
-15
31
28
0
0
0
0
0
3
2
25
-68
0
0
0
-9
0
6
20
-11
-31
0
0
0
0
0
0
0
-8
36
0
0
-7
14
0
3
16
-96
14
0
0
0
0
0
0
-4
-39
50
0
0
0
0
0
0
9
31
-3
0
0
0
0
0
4
-5
33
14
0
0
0
-2
-19
-6
67
23
0
0
0
0
0
-1
3
-6
25
-7
0
0
0
1
0
-2
22
50
-19
0
0
0
0
0
8
-7
-64
31
0
0
-3
-4
0
1
62
-47
47
0
0
0
0
0
-22
-6
28
5
0
0
0
-1
0
-1
3
-49
44
0
0
0
0
0
0
-1
51
33
0
0
-1
0
3
-12
5
3
28
0
0
0
0
0
0
-10
-31
-1
0
0
0
4
0
4
-4
-52
9
0
0
0
0
0
0
0
-35
6
0
0
11
-4
0
0
9
-13
9
0
0
0
0
-2
-3
0
-32
-24
0
0
0
-8
0
0
-4
32
-19
0
0
0
0
-1
0
-1
-100
30
0
0
0
0
35
-25
-38
12
15
0
0
0
0
-10
16
23
-31
4
0
0
0
0
3
1
12
-25
-65
0
0
0
0
0
10
-12
-2
-31
0
0
0
0
0
-21
-11
-7
78
0
0
0
0
-6
-5
-9
-6
72
0
0
0
0
0
0
0
-36
16
0
0
0
0
3
0
-4
-49
56
0
0
0
0
0
2
17
-57
14
0
0
0
0
0
7
5
-26
30
0
0
0
0
-5
-3
17
20
6
0
0
0
0
0
5
-3
-74
58
0
0
0
0
0
5
7
-41
23
0
0
0
0
0
-2
8
14
-24
0
0
0
0
0
0
0
25
13
0
0
0
0
2
0
0
13
-34
0
0
0
0
0
15
-5
-32
14
0
0
0
0
7
-2
14
-23
26
0
0
0
0
2
-7
-19
-45
75
0
0
0
0
0
-1
-3
-9
-5
0
0
0
0
1
10
32
-8
8
0
0
0
0
0
0
-2
16
59
0
0
0
0
0
0
0
17
-12
0
0
0
0
-3
0
0
11
50
0
0
0
0
-2
0
-74
84
17
0
0
0
0
-3
-11
17
-10
29
0
0
0
0
3
0
3
-108
62
0
0
0
0
0
0
2
-58
33
0
0
0
0
0
0
3
5
8
0
0
0
0
0
0
12
-53
-15
0
0
0
0
0
0
4
-9
-23
0
0
0
0
-9
0
-4
31
-25
0
0
0
19
19
74
22
-78
-32
0
0
0
0
-5
1
-22
26
-3
0
0
0
-14
2
3
-122
51
27
0
0
0
0
-13
13
37
-125
87
0
0
0
-13
0
-3
-6
-100
-11
0
0
0
0
0
4
-13
-52
-27
0
0
0
-37
0
1
-26
-43
78
0
0
0
0
-1
0
4
-36
20
0
0
0
0
0
-2
-24
0
-11
0
0
0
0
0
0
27
44
3
0
0
0
1
0
0
14
-47
65
0
0
0
0
8
0
-24
-3
-1
0
0
0
0
0
2
46
-15
11
0
0
0
0
1
0
9
2
-11
0
0
0
27
0
0
4
21
-40
0
0
0
0
-5
-1
24
1
-26
0
0
0
-1
6
1
-39
47
0
0
0
0
0
-2
-1
-23
14
87
0
0
0
-38
0
0
-68
2
51
0
0
0
0
2
1
-4
-24
50
0
0
0
14
0
-11
8
-21
30
0
0
0
0
0
0
22
23
-37
0
0
0
4
0
0
1
30
32
0
0
0
0
13
8
-4
-8
57
0
0
0
-2
9
12
-47
35
15
0
0
0
0
0
0
0
-6
82
0
0
0
8
-1
0
10
-11
-22
0
0
0
0
-2
0
0
35
22
0
0
0
2
0
0
-7
-2
-7
0
0
0
0
2
0
-1
-76
14
0
0
0
21
-7
0
-10
49
-49
0
0
0
0
-3
0
9
-5
43
0
0
0
0
-25
48
40
-77
34
0
0
0
0
-3
28
34
-35
73
0
0
0
0
0
-4
4
-46
103
0
0
0
0
-43
8
-20
4
6
0
0
0
0
5
3
3
-91
69
0
0
0
0
5
-31
17
-51
20
0
0
0
0
0
11
1
10
75
0
0
0
0
17
2
-7
74
34
0
0
0
0
0
0
-1
-41
45
0
0
0
0
1
1
-4
102
-84
0
0
0
0
-2
0
7
4
-1
0
0
0
0
9
4
-27
1
-15
0
0
0
0
0
-1
43
85
-77
0
0
0
0
5
5
-2
18
-40
0
0
0
0
0
0
-16
10
28
0
0
0
0
-24
3
7
21
-4
0
0
0
0
0
-1
21
-93
69
0
0
0
0
9
0
2
-8
29
0
0
0
0
0
0
22
-44
-15
0
0
0
0
4
0
15
88
16
0
0
0
0
0
0
-19
10
54
0
0
0
0
-2
1
27
-48
51
0
0
0
0
0
0
1
-15
-33
0
0
0
0
-27
0
7
-4
119
0
0
0
0
0
-1
-11
-12
-3
0
0
0
0
-2
2
0
-90
61
0
0
0
0
-1
0
0
61
-42
0
0
0
0
8
0
-23
19
-3
0
0
0
0
0
0
0
-43
40
0
0
0
0
2
0
-22
70
-73
0
0
0
0
0
0
1
-1
32
0
0
0
0
-18
-1
5
-48
57
0
0
-39
4
-2
85
13
-3
-13
0
0
0
0
-5
-3
49
-108
-29
0
0
0
-6
0
0
-20
-25
-7
0
0
0
0
0
1
-3
-40
71
0
0
-18
-7
0
-1
4
-44
40
0
0
0
0
0
20
1
18
24
0
0
0
16
0
0
0
70
5
0
0
0
0
0
4
0
4
22
0
0
-5
0
0
10
-19
-20
25
0
0
0
0
1
1
-1
41
23
0
0
0
1
0
-1
0
-24
7
0
0
0
0
0
-1
-2
-13
-48
0
0
-47
0
0
-1
6
-26
17
0
0
0
0
0
7
0
-18
20
0
0
0
-2
0
0
-7
24
41
0
0
0
0
0
-8
0
-2
-3
0
0
8
-3
0
2
39
-19
12
0
0
0
0
0
0
7
-38
28
0
0
0
-3
0
0
-4
2
4
0
0
0
0
0
0
4
-23
65
0
0
51
-24
0
-16
53
-58
89
0
0
0
0
0
-4
6
-19
-25
0
0
0
11
0
-1
0
39
-24
0
0
0
0
0
0
0
2
39
0
0
8
0
0
2
-8
-20
28
0
0
0
0
0
3
4
-56
30
0
0
0
1
0
-1
-1
-8
13
0
0
0
0
0
0
1
3
10
0
0
-38
0
0
0
21
27
26
0
0
0
0
-2
0
0
15
20
0
0
0
-10
0
0
0
39
30
0
0
0
0
0
4
-3
-40
14
0
0
0
0
6
52
25
35
-69
0
0
0
0
0
9
-5
-4
-34
0
0
0
0
0
-1
2
-29
-33
0
0
0
0
0
7
1
1
14
0
0
0
0
4
5
3
-12
19
0
0
0
0
-8
-17
11
120
-5
0
0
0
0
0
18
0
-11
-4
0
0
0
0
17
-45
0
1
5
0
0
0
0
0
-1
4
-54
9
0
0
0
0
4
-13
-7
-26
112
0
0
0
0
0
4
-13
-2
66
0
0
0
0
-4
-2
0
-9
68
0
0
0
0
0
9
-8
-9
60
0
0
0
0
5
7
-1
-5
-18
0
0
0
0
0
0
0
9
36
0
0
0
0
-5
0
-7
-32
48
0
0
0
0
0
4
4
-58
-13
0
0
0
0
0
2
0
-41
39
0
0
0
0
0
-8
7
3
22
0
0
0
0
0
0
0
-14
-26
0
0
0
0
0
1
15
-84
43
0
0
0
0
0
0
-8
58
9
0
0
0
0
0
-5
0
-18
55
0
0
0
0
2
7
1
-25
51
0
0
0
0
0
1
33
4
32
0
0
0
0
-1
0
0
-82
76
0
0
0
0
0
0
1
-10
39
0
0
0
0
0
0
-9
-24
-43
0
0
0
0
0
4
0
7
-9
0
0
0
0
0
-2
0
-20
74
0
0
0
0
0
0
0
8
38
0
0
0
0
0
0
0
49
-45
0
0
0
28
0
-17
-106
-21
9
0
0
0
0
0
-10
1
-3
34
0
0
0
30
-2
1
7
-40
-93
0
0
0
0
7
15
-9
-11
-25
0
0
0
-9
0
2
6
-12
43
0
0
0
0
0
2
-2
-1
59
0
0
0
-10
0
0
-10
4
7
0
0
0
0
0
-10
-4
4
-6
0
0
0
-8
-4
-2
0
5
69
0
0
0
0
0
1
0
-3
-26
0
0
0
37
0
-1
-14
-3
-36
0
0
0
0
0
1
-5
-4
73
0
0
0
-4
0
0
9
-8
33
0
0
0
0
0
-1
10
7
35
0
0
0
6
0
4
0
-16
26
0
0
0
0
6
-1
-2
0
38
0
0
0
12
0
0
-3
-79
0
0
0
0
0
-3
5
-10
-65
92
0
0
0
41
0
0
1
75
-16
0
0
0
0
6
-4
0
2
-22
0
0
0
-39
0
3
-4
-50
44
0
0
0
0
0
2
-5
55
51
0
0
0
-73
0
0
0
122
-9
0
0
0
0
1
0
-3
-20
16
0
0
0
5
0
-2
-7
-60
20
0
0
0
0
0
0
-3
20
64
0
0
0
37
0
0
-3
26
-28
0
0
0
0
0
0
0
101
-39
0
0
0
31
0
0
3
-99
2
0
0
0
0
0
9
-7
10
-1
0
0
0
-65
0
0
1
30
61
0
0
0
0
0
-1
-2
5
-41
0
0
0
0
1
-95
52
-7
45
0
0
0
0
7
-8
0
-20
27
0
0
0
0
-2
0
0
-3
-19
0
0
0
0
3
17
0
26
-68
0
0
0
0
0
-7
-2
0
17
0
0
0
0
2
-8
0
-4
4
0
0
0
0
-1
0
2
-1
6
0
0
0
0
9
-72
-6
-1
-1
0
0
0
0
-2
4
-15
-31
-17
0
0
0
0
1
-7
-1
0
-30
0
0
0
0
-1
0
0
0
59
0
0
0
0
-6
-1
11
6
48
0
0
0
0
0
5
3
2
59
0
0
0
0
-9
19
0
12
-23
0
0
0
0
-5
6
-3
-2
19
0
0
0
0
-41
5
2
0
14
0
0
0
0
0
-2
4
62
40
0
0
0
0
-4
0
-1
8
12
0
0
0
0
0
0
0
-34
-18
0
0
0
0
3
0
-3
-17
2
0
0
0
0
0
-3
-1
18
12
0
0
0
0
1
0
0
16
39
0
0
0
0
0
0
-5
-62
39
0
0
0
0
-10
26
11
-2
35
0
0
0
0
0
1
7
61
-15
0
0
0
0
0
0
-3
33
-15
0
0
0
0
0
0
-4
-51
10
0
0
0
0
-7
-1
2
-75
47
0
0
0
0
0
0
5
-3
52
0
0
0
0
4
3
-2
-23
65
0
0
0
0
-5
-1
0
-2
47
0
0
0
0
3
1
-5
-57
-2
0
0
-23
55
35
-19
8
42
-25
2
10
0
0
-15
-18
-88
-55
-19
-24
7
0
25
23
-13
-47
-13
-6
19
14
0
0
14
25
-2
4
52
3
24
122
-19
0
-45
-36
6
16
-19
3
0
0
0
-87
4
-133
113
-24
3
0
78
-2
-25
-65
-11
16
2
4
0
0
3
-29
-52
-24
84
11
18
22
-7
-3
-74
-2
25
63
12
0
0
0
5
74
-32
-20
-46
1
0
0
-4
1
11
4
30
95
6
0
0
0
-15
-9
40
5
49
0
0
24
7
2
-41
23
-101
-9
47
0
0
0
-15
4
-14
-92
33
52
0
0
-24
0
12
22
-117
40
24
0
0
0
7
3
-33
1
39
37
0
14
41
-2
-38
-42
-75
-14
0
0
0
0
2
-148
-13
-6
1
0
0
0
-5
0
3
-70
-80
5
0
0
0
0
0
10
-65
31
27
0
0
-17
-3
0
70
-34
-54
11
0
0
0
0
0
-6
-2
-59
37
0
0
0
-2
0
3
94
-78
18
0
0
0
0
2
-3
4
77
-38
0
0
20
14
0
-23
113
-54
2
0
0
0
0
0
11
30
-2
-2
0
0
0
-12
0
11
22
-32
64
0
0
0
0
0
-1
-50
-67
199
0
0
-54
0
0
25
18
11
37
0
0
0
0
0
-3
92
-37
-28
0
0
0
25
0
0
-52
23
29
0
0
0
0
0
-7
5
-25
-2
0
0
0
0
-67
17
45
63
-53
-6
-1
0
0
-32
21
-86
-81
-43
-1
21
0
0
-17
-62
-29
24
27
11
7
0
0
-42
48
26
-31
-4
39
11
0
0
-13
2
-3
-68
67
-1
0
0
0
80
-99
-59
-103
-49
-15
40
0
0
0
72
135
88
-2
7
13
0
0
16
37
59
-2
-12
18
-10
0
0
-15
23
2
-103
101
13
0
0
0
-2
-3
58
-50
-30
3
0
0
0
5
4
57
-33
69
8
0
0
0
-2
-23
73
43
33
-9
0
0
0
0
-8
-46
37
42
38
0
0
0
10
25
-19
-14
-13
0
0
0
0
1
-1
-55
-42
-8
53
0
0
0
-49
8
7
21
-33
79
0
0
0
11
-94
-132
-4
38
0
0
0
0
14
20
-21
-37
-38
0
0
0
0
0
3
-103
-31
45
0
0
0
0
35
51
7
-10
-32
0
0
0
0
0
-2
-61
18
17
0
0
0
0
1
5
-10
-2
-18
0
0
0
0
0
0
7
19
24
0
0
0
0
1
-8
-18
33
19
0
0
0
0
-1
0
46
-75
19
0
0
0
0
0
-13
45
-46
25
0
0
0
0
0
0
-33
3
38
0
0
0
0
-2
13
-33
-87
100
0
0
0
0
0
3
10
-59
2
0
0
0
0
0
-19
-8
-87
16
0
0
0
0
0
-12
-36
21
22
0
0
0
0
-6
-39
6
94
-19
0
0
0
66
-34
31
51
-45
-27
-29
21
0
0
60
52
-98
39
118
37
-25
0
-89
0
-8
10
-41
-10
9
18
0
0
24
-6
-44
-72
78
48
-9
0
57
0
17
-1
74
98
-9
19
0
0
-3
-1
-51
55
4
27
25
0
-43
-1
-47
8
-14
120
5
17
0
0
18
46
16
25
66
-15
-7
0
-67
0
15
50
-164
77
20
0
0
0
-7
44
94
30
4
0
0
0
-14
2
1
27
-78
2
25
0
0
0
19
41
-29
10
57
-24
0
0
87
0
6
-10
-55
-53
15
0
0
0
12
19
-22
25
102
7
0
0
-18
-1
-45
50
59
47
14
0
0
0
-19
-4
103
-12
-21
33
0
0
-28
8
-91
57
-34
-20
0
0
0
0
2
-5
37
-12
-7
0
0
0
69
1
2
123
-129
-32
0
0
0
0
-6
-4
10
-12
14
0
0
0
-34
0
1
11
61
22
0
0
0
0
0
-11
-45
-20
87
0
0
0
57
0
1
-16
-9
-12
0
0
0
0
-1
-19
34
-28
-6
0
0
0
3
-1
-7
63
-25
-38
0
0
0
0
6
-5
-135
62
72
0
0
0
37
-3
-2
-25
-11
-15
0
0
0
0
3
0
-48
-11
72
0
0
0
19
0
-4
16
41
-72
0
0
0
0
0
0
-41
-2
33
0
0
0
-11
0
1
-11
27
34
0
0
0
0
0
0
9
-29
-50
0
0
0
0
15
-76
11
-40
74
-8
14
0
0
-15
18
118
-18
15
44
-54
0
0
-62
6
62
-29
-15
-25
16
0
0
15
-31
-14
-19
41
82
-17
0
0
-3
-21
-4
-97
44
49
12
0
0
5
26
67
-17
0
89
-65
0
0
-11
-16
-35
-36
18
50
21
0
0
89
-21
107
39
-52
39
-23
0
0
-4
-68
-6
1
173
-9
0
0
0
-37
26
6
-61
21
30
0
0
0
-16
-88
58
-46
66
51
0
0
0
32
57
-31
56
26
-62
0
0
0
0
10
36
-7
75
21
0
0
0
35
13
25
-38
93
-16
0
0
0
-31
4
10
42
31
21
0
0
0
-1
-4
30
13
-29
11
0
0
0
-15
21
-19
-66
35
0
0
0
0
4
17
10
-34
17
0
0
0
0
10
8
42
-48
17
0
0
0
0
-5
-105
0
14
45
0
0
0
0
0
10
-67
-3
84
0
0
0
0
9
38
-59
47
-32
0
0
0
0
-4
13
24
50
-29
0
0
0
0
-23
18
-83
8
45
0
0
0
0
0
-5
-42
69
-3
0
0
0
0
9
21
0
-30
-23
0
0
0
0
-1
5
9
49
1
0
0
0
0
-15
-10
53
51
-42
0
0
0
0
0
5
-12
-14
91
0
0
0
0
-2
-9
5
-14
30
0
0
0
0
6
4
-42
56
-18
0
0
0
0
-12
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
-42
4
-43
27
3
-6
0
0
0
4
-17
-13
-84
-7
-2
0
0
-48
-1
-60
-34
-42
36
22
0
0
0
0
63
4
-22
2
-29
0
-97
61
-1
-67
-48
64
-27
9
0
0
0
1
6
-19
7
27
-7
0
0
53
0
-26
-133
-27
-27
6
0
0
0
0
4
-99
0
-9
28
0
56
-5
4
2
-43
4
45
2
0
0
0
26
106
-49
-31
-29
2
0
0
22
1
18
33
40
-4
-3
0
0
0
-5
-20
-9
45
-36
47
0
-5
5
-4
44
-198
27
16
17
0
0
0
-1
39
74
68
-21
8
0
0
73
0
2
-16
82
-17
-3
0
0
0
4
0
21
-48
15
22
0
-27
-8
-8
-128
-8
-4
33
0
0
0
0
-7
-26
5
14
-4
0
0
0
-17
4
-39
-90
3
56
0
0
0
0
-1
-8
24
-2
16
0
0
67
-18
-2
7
31
4
41
0
0
0
0
6
22
71
-48
-7
0
0
0
-52
0
-7
-20
-56
94
0
0
0
0
0
2
62
24
-9
0
0
-12
-33
-3
-32
115
8
14
0
0
0
0
4
30
-12
-12
-4
0
0
0
24
1
-11
9
-41
8
0
0
0
0
0
-17
-49
-52
104
0
0
-79
-3
0
51
2
7
29
0
0
0
0
0
54
-44
6
-50
0
0
0
-16
0
-1
-25
61
-10
0
0
0
0
-3
1
17
-48
53
0
0
0
0
-32
9
-244
-50
87
17
0
0
0
17
47
-6
-89
13
0
0
0
0
12
5
-22
-114
-27
23
0
0
0
-9
-68
44
54
-2
-20
0
0
0
1
15
19
24
-10
-24
0
0
0
-23
9
102
-158
-10
-2
0
0
0
0
24
-2
-180
34
22
0
0
0
-1
-73
-26
17
14
30
0
0
0
-2
36
-12
-66
44
0
0
0
0
34
-90
-74
-62
17
-14
0
0
0
1
3
27
50
59
-1
0
0
0
-24
18
67
68
-29
22
0
0
0
4
45
-84
-30
-24
20
0
0
0
11
12
-12
-38
-2
10
0
0
0
0
-15
45
12
40
11
0
0
0
5
-24
27
22
-106
22
0
0
0
-2
16
33
-77
31
0
0
0
0
38
5
98
-110
-35
0
0
0
0
0
-5
-64
13
38
0
0
0
0
13
-31
63
22
-24
0
0
0
0
1
-9
20
4
0
0
0
0
0
-2
25
41
18
-65
0
0
0
0
0
-30
51
26
21
0
0
0
0
-1
-30
-1
29
31
0
0
0
0
1
-31
16
12
31
0
0
0
0
4
25
-3
-16
-7
0
0
0
0
-3
6
-70
22
77
0
0
0
0
9
22
-15
67
-4
0
0
0
0
0
3
39
-60
33
0
0
0
0
-2
-68
6
-1
87
0
0
0
0
0
-3
2
-3
47
0
0
0
0
-26
-3
78
-32
61
0
0
0
3
-69
-14
68
-76
7
-13
0
0
0
-108
25
-16
62
42
-7
0
0
-51
7
24
22
-127
11
57
0
0
0
-46
-36
-22
19
51
71
0
0
-111
0
-35
27
55
62
-24
0
0
0
23
4
33
-61
69
-4
0
0
42
0
-19
-107
35
3
-17
0
0
0
67
2
-19
-42
53
14
0
0
15
10
18
29
-99
-50
-13
0
0
0
0
-1
-7
-39
25
37
0
0
-6
-7
-2
4
5
6
9
0
0
0
13
-17
-76
5
18
28
0
0
0
-4
-26
-109
-25
6
15
0
0
0
1
19
-22
42
29
23
0
0
20
3
-4
111
-68
98
-16
0
0
0
46
-1
-94
10
93
13
0
0
23
8
58
25
-120
-29
0
0
0
0
-10
3
116
-77
29
0
0
0
64
0
1
-30
-59
-45
0
0
0
0
-2
-3
22
-17
53
0
0
0
-74
-6
48
18
-1
41
0
0
0
0
4
66
-5
-2
50
0
0
0
-78
-1
27
122
34
-7
0
0
0
0
-10
17
64
10
-19
0
0
0
3
-2
-72
-13
10
16
0
0
0
0
0
39
-27
-1
-37
0
0
0
58
12
18
-31
-78
-15
0
0
0
0
-11
-14
52
-38
44
0
0
0
20
0
2
29
35
-32
0
0
0
0
1
12
-10
-106
77
0
0
0
-33
-4
-1
54
-12
-5
0
0
0
0
1
3
9
20
19
0
0
0
0
-42
14
27
-63
55
5
0
0
0
15
-7
-31
-45
19
6
0
0
0
-4
49
18
-18
-55
7
0
0
0
44
-4
45
-64
88
-16
0
0
0
-2
15
-16
60
37
-22
0
0
0
0
-33
51
-132
94
65
0
0
0
-3
6
62
-76
65
-9
0
0
0
57
-2
-2
4
109
-19
0
0
0
-7
20
6
-11
142
3
0
0
0
-10
-30
19
-47
-29
36
0
0
0
47
18
-28
-83
-70
71
0
0
0
-92
65
32
73
10
-70
0
0
0
2
-20
-60
-43
39
8
0
0
0
26
36
23
-28
61
6
0
0
0
-8
-18
24
-67
18
37
0
0
0
-8
30
-22
27
47
11
0
0
0
15
54
9
-51
-22
0
0
0
0
13
-30
-38
10
58
0
0
0
0
-2
-17
-14
-6
60
0
0
0
0
81
-118
11
31
29
0
0
0
0
0
8
4
-9
60
0
0
0
0
24
13
33
-63
-12
0
0
0
0
0
-15
18
48
-26
0
0
0
0
-42
-27
3
87
-91
0
0
0
0
-1
7
32
-33
7
0
0
0
0
-16
-29
18
25
14
0
0
0
0
67
2
-21
-45
20
0
0
0
0
2
31
57
-71
-36
0
0
0
0
0
11
2
30
-46
0
0
0
0
63
-9
-18
5
36
0
0
0
0
22
22
-36
-36
23
0
0
0
0
-30
-26
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
60
28
-21
-4
0
0
0
0
-4
-21
-36
0
20
0
0
0
68
0
-5
-4
-63
18
0
0
0
0
-2
-8
2
20
0
0
0
10
48
0
11
-37
-65
24
0
0
0
0
1
-12
-18
-17
-23
0
0
0
22
0
-15
-30
-25
52
0
0
0
0
-2
39
18
-10
-22
0
0
-32
-6
2
10
26
32
-50
0
0
0
0
-6
1
43
13
-19
0
0
0
12
5
6
65
-26
-29
0
0
0
0
0
-3
65
-77
9
0
0
-24
-5
0
-20
-16
6
17
0
0
0
0
0
2
-55
43
39
0
0
0
-71
0
2
3
-85
135
0
0
0
0
7
0
-4
-52
80
0
0
-22
-3
-4
-66
-65
-103
34
0
0
0
0
0
40
-11
-48
12
0
0
0
44
0
-4
16
-35
-35
0
0
0
0
0
0
15
-133
31
0
0
-18
-7
0
17
-46
26
0
0
0
0
0
0
-11
11
-75
46
0
0
0
13
0
-5
28
-116
33
0
0
0
0
-2
4
-18
-11
30
0
0
-6
2
0
-14
89
15
-1
0
0
0
0
0
-4
2
-44
45
0
0
0
26
0
0
-106
-25
30
0
0
0
0
0
0
-3
12
37
0
0
46
-4
0
-1
-12
-92
56
0
0
0
0
0
26
-12
-82
22
0
0
0
15
0
2
-12
-36
24
0
0
0
0
1
-1
26
-24
72
0
0
0
0
-29
92
63
0
-46
0
0
0
0
55
11
6
-42
-51
0
0
0
0
-4
2
-14
11
20
0
0
0
0
22
22
6
28
-41
0
0
0
0
4
-10
-82
36
4
0
0
0
0
1
-3
-26
36
12
0
0
0
0
5
-3
-30
-16
67
0
0
0
0
-5
20
-38
22
7
0
0
0
0
-1
15
-101
1
-11
0
0
0
0
13
-6
-23
28
-4
0
0
0
0
0
-13
46
-10
41
0
0
0
0
4
-17
27
-58
98
0
0
0
0
2
-10
92
-99
45
0
0
0
0
0
18
10
-61
6
0
0
0
0
-2
-1
20
-15
26
0
0
0
0
7
-21
-59
-18
73
0
0
0
0
0
13
-70
-35
10
0
0
0
0
-5
-41
-9
4
14
0
0
0
0
0
11
-21
-79
52
0
0
0
0
10
12
6
56
-40
0
0
0
0
0
-1
4
-86
13
0
0
0
0
3
0
-8
-132
-20
0
0
0
0
0
0
13
-17
28
0
0
0
0
-3
-22
-7
23
63
0
0
0
0
0
1
-38
-11
56
0
0
0
0
-7
0
7
-49
16
0
0
0
0
0
-4
36
10
13
0
0
0
0
-6
1
-21
11
41
0
0
0
0
0
5
10
-141
29
0
0
0
0
-3
-4
5
5
-12
0
0
0
0
0
-3
8
26
56
0
0
0
0
24
6
-4
-62
99
0
0
0
73
43
-79
3
3
-53
0
0
0
0
-20
18
5
56
-7
0
0
0
-48
-9
-11
-27
-116
105
0
0
0
0
44
7
-15
-27
16
0
0
0
-34
5
22
-16
-2
-23
0
0
0
0
6
-5
-23
54
42
0
0
0
-73
0
-15
27
-12
37
0
0
0
0
26
-20
20
6
73
0
0
0
4
-47
3
-1
-108
73
0
0
0
0
3
11
6
55
19
0
0
0
-48
9
-1
15
53
-29
0
0
0
0
2
-3
3
141
-21
0
0
0
-4
0
8
9
-57
58
0
0
0
0
0
-7
-2
56
36
0
0
0
19
0
3
-27
-41
40
0
0
0
0
2
-23
-16
29
103
0
0
0
-13
0
3
-25
-103
57
0
0
0
0
1
-13
27
-5
-25
0
0
0
-30
0
3
40
-105
-28
0
0
0
0
1
0
40
-136
52
0
0
0
63
0
-5
12
-105
46
0
0
0
0
0
-1
-3
-76
86
0
0
0
52
0
-5
-61
-18
22
0
0
0
0
-6
-3
-1
34
91
0
0
0
-6
3
15
7
-46
16
0
0
0
0
0
-6
-56
-79
59
0
0
0
19
0
-1
5
-10
27
0
0
0
0
0
0
27
-19
-7
0
0
0
-16
0
-5
13
-73
38
0
0
0
0
1
-12
0
38
20
0
0
0
11
0
15
-5
-63
-2
0
0
0
0
10
-1
-17
18
18
0
0
0
0
61
106
-48
-20
-81
0
0
0
0
36
-36
34
-8
17
0
0
0
0
16
17
2
-21
-28
0
0
0
0
-88
7
-22
9
70
0
0
0
0
1
-23
-14
3
9
0
0
0
0
19
0
-20
-12
29
0
0
0
0
0
-72
17
40
69
0
0
0
0
66
-8
30
-57
27
0
0
0
0
0
-16
-11
-57
8
0
0
0
0
19
1
-18
51
41
0
0
0
0
-8
72
38
-63
-7
0
0
0
0
36
10
84
-30
-31
0
0
0
0
0
5
-9
15
-6
0
0
0
0
-19
17
-18
18
33
0
0
0
0
-2
9
-14
-11
63
0
0
0
0
3
16
-25
-4
129
0
0
0
0
1
-7
16
14
-31
0
0
0
0
6
11
-17
-34
46
0
0
0
0
-1
0
13
-62
47
0
0
0
0
-36
-26
-35
76
5
0
0
0
0
0
1
20
18
22
0
0
0
0
5
5
-23
2
-20
0
0
0
0
11
4
-39
28
-12
0
0
0
0
3
20
3
-37
80
0
0
0
0
-6
-4
-50
8
93
0
0
0
0
0
-1
9
-36
75
0
0
0
0
0
19
3
3
-29
0
0
0
0
-27
-5
32
91
18
0
0
0
0
0
-7
-1
28
46
0
0
0
0
-1
22
4
-23
-25
0
0
0
0
-3
-9
7
-13
-37
0
0
0
0
-9
22
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
-45
-27
15
-16
39
0
0
0
0
-19
-35
23
27
-32
0
0
0
44
0
30
49
-82
6
0
0
0
0
0
3
49
-111
37
0
0
-129
-13
0
-20
73
87
55
0
0
0
0
0
-5
-49
-42
-20
0
0
0
31
0
-10
57
18
38
0
0
0
0
0
-5
17
-55
113
0
0
8
7
-1
11
68
22
-9
0
0
0
0
3
-5
-38
-73
8
0
0
0
5
6
-17
-26
-48
45
0
0
0
0
0
-4
-28
-2
80
0
0
38
-2
0
-31
-54
54
36
0
0
0
0
0
8
-30
39
-32
0
0
0
9
0
1
-21
-30
17
0
0
0
0
0
6
-21
-33
69
0
0
7
20
-3
60
-66
-57
44
0
0
0
0
-2
-58
-58
-18
53
0
0
0
-32
-2
13
72
-68
-23
0
0
0
0
0
-1
-50
-29
74
0
0
33
-11
-3
-33
22
-38
45
0
0
0
0
11
-7
-7
35
3
0
0
0
3
0
16
-32
-2
8
0
0
0
0
0
-4
20
-1
-1
0
0
14
-28
-13
84
103
11
15
0
0
0
0
5
-1
13
-66
14
0
0
0
-5
-3
15
26
6
41
0
0
0
0
0
-8
15
-11
2
0
0
-4
-7
-7
8
85
0
-6
0
0
0
0
0
23
-14
13
4
0
0
0
55
0
-8
-80
2
26
0
0
0
0
-2
-1
16
-89
50
0
0
0
0
43
53
83
-95
61
0
0
0
0
-20
10
82
-41
-27
0
0
0
0
6
-5
7
41
-35
0
0
0
0
-34
47
39
-29
-3
0
0
0
0
-8
5
30
-36
57
0
0
0
0
-12
-43
28
-18
-37
0
0
0
0
0
6
3
-94
63
0
0
0
0
5
-5
2
8
1
0
0
0
0
36
-66
-9
65
-9
0
0
0
0
19
9
-4
-4
6
0
0
0
0
-6
2
20
54
41
0
0
0
0
-13
-9
-2
-23
101
0
0
0
0
-1
-11
41
-37
24
0
0
0
0
2
15
-23
-50
10
0
0
0
0
-4
-3
-2
-26
56
0
0
0
0
-5
79
11
-53
-2
0
0
0
0
0
-10
-90
44
38
0
0
0
0
-21
-7
52
13
24
0
0
0
0
-7
-5
-76
33
76
0
0
0
0
22
4
-74
14
69
0
0
0
0
0
-28
-42
44
4
0
0
0
0
4
-2
7
-42
40
0
0
0
0
0
7
-2
-81
65
0
0
0
0
3
7
103
-123
13
0
0
0
0
0
0
-29
81
3
0
0
0
0
-54
-16
24
-24
10
0
0
0
0
11
2
-7
-23
-3
0
0
0
0
14
15
102
-15
-49
0
0
0
0
0
11
-12
-19
11
0
0
0
0
1
13
-2
-54
17
0
0
0
0
3
-2
-26
-22
13
0
0
0
0
15
28
-3
-36
18
0
0
0
32
7
-47
-40
-11
27
0
0
0
0
14
-52
-103
43
149
0
0
0
24
8
-55
82
-40
-59
0
0
0
0
5
7
9
-9
46
0
0
0
9
0
7
62
-92
-21
0
0
0
0
0
-1
-73
-3
53
0
0
0
57
-16
35
-85
-31
7
0
0
0
0
-5
-80
49
18
81
0
0
0
6
7
-26
17
37
-42
0
0
0
0
2
-26
74
-49
10
0
0
0
27
0
10
-33
-125
57
0
0
0
0
4
24
14
-60
5
0
0
0
-25
-1
-4
61
-35
5
0
0
0
0
11
3
-2
-39
-11
0
0
0
6
-7
4
-2
24
0
0
0
0
0
-24
-7
26
51
5
0
0
0
-28
-1
4
-24
-35
13
0
0
0
0
13
-4
21
-30
42
0
0
0
47
9
-10
-26
-1
-3
0
0
0
0
10
-8
2
4
36
0
0
0
-8
-10
44
15
-53
27
0
0
0
0
-9
-17
33
-37
34
0
0
0
51
0
0
-53
-107
24
0
0
0
0
3
17
0
-44
47
0
0
0
-2
1
23
47
-66
7
0
0
0
0
-3
0
29
-60
14
0
0
0
-48
6
5
-1
2
-26
0
0
0
0
-7
0
-1
85
-17
0
0
0
5
4
21
-50
50
-29
0
0
0
0
1
7
-56
15
26
0
0
0
55
0
-6
-14
-13
19
0
0
0
0
11
1
2
-6
19
0
0
0
0
21
-8
-55
23
7
0
0
0
0
-9
-2
43
-1
-20
0
0
0
0
65
-3
64
-129
11
0
0
0
0
-42
-49
9
41
135
0
0
0
0
-8
26
34
-34
46
0
0
0
0
5
-24
-17
-7
96
0
0
0
0
12
-1
10
19
23
0
0
0
0
-7
-2
-21
-18
63
0
0
0
0
-6
-7
22
32
-13
0
0
0
0
16
-22
-61
55
-20
0
0
0
0
32
5
-35
-87
39
0
0
0
0
-44
-26
8
35
2
0
0
0
0
-2
0
-31
30
54
0
0
0
0
18
4
12
-96
44
0
0
0
0
21
9
56
-47
-35
0
0
0
0
7
-44
35
-24
49
0
0
0
0
1
-45
-10
12
51
0
0
0
0
-40
-7
-21
8
38
0
0
0
0
-7
23
-50
-38
26
0
0
0
0
-4
112
-10
7
1
0
0
0
0
-3
-16
36
-84
61
0
0
0
0
3
47
-9
-63
63
0
0
0
0
0
1
-5
30
-8
0
0
0
0
-17
1
40
30
19
0
0
0
0
17
5
-47
56
25
0
0
0
0
-45
7
61
19
28
0
0
0
0
-5
-2
4
-48
36
0
0
0
0
28
-22
-16
25
13
0
0
0
0
0
-2
46
-22
7
0
0
0
0
-32
-4
16
15
45
0
0
0
0
14
6
17
-29
0
0
0
0
0
34
1
-10
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
6
-59
-53
11
-17
22
1
13
-2
0
0
-15
11
47
-82
-62
-7
-3
0
-17
-49
-22
57
-2
-20
-4
-1
0
0
-24
1
1
-28
-44
47
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-16
6
39
-28
15
-8
1
0
0
0
105
-33
-87
-11
11
-13
0
0
-25
-3
-39
-87
-70
-3
25
0
0
0
-16
-72
-21
-41
63
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-61
-54
38
-22
0
0
0
0
-1
-100
54
20
-37
0
0
0
-30
46
70
45
-25
-34
0
0
0
0
23
44
-12
-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
0
0
0
0
0
0
0
-22
-5
-114
39
24
9
15
0
0
0
0
-15
39
-60
-33
39
0
0
0
80
4
-31
-12
4
-10
0
0
0
0
-47
-62
-37
-38
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-24
-26
-56
8
-3
0
0
-28
-78
29
-40
-25
-13
0
0
0
-2
-20
70
-49
32
18
-10
0
0
-15
79
73
35
37
-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
-7
63
-103
1
-29
2
0
0
0
45
-38
0
-13
-42
-12
0
0
0
-15
10
38
-81
101
12
0
0
0
20
23
68
32
-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
10
-4
-15
-7
0
0
0
0
25
5
-16
-74
-6
0
0
0
0
5
-65
22
33
58
0
0
0
0
4
-50
40
-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
-10
-5
13
-104
6
0
0
0
0
-16
7
10
-42
-31
0
0
0
0
0
2
-34
18
25
0
0
0
0
-31
-16
17
-14
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
70
2
-12
21
25
36
-15
23
0
0
-3
25
55
106
28
37
4
0
-40
-12
56
-54
-25
37
6
25
0
0
-38
-21
62
8
-25
53
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-23
-80
12
1
0
0
0
-24
-35
77
-12
34
45
0
0
3
-5
5
-26
-192
14
32
0
0
0
8
9
3
-77
-28
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
-2
1
1
52
-116
28
0
0
0
0
-1
-16
2
10
-32
0
0
0
-53
0
-8
106
-101
-34
0
0
0
0
-1
19
-3
4
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
-4
0
-10
-67
3
0
0
0
0
0
5
-3
79
17
-55
0
0
0
-19
1
0
-35
-53
53
0
0
0
0
-2
1
-5
76
-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
5
-2
17
60
-50
18
7
0
0
-11
-27
69
-21
99
23
-8
0
0
17
40
17
20
-8
79
-12
0
0
44
-30
-12
-40
30
69
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-93
59
-29
0
0
0
9
-39
15
-38
-18
40
0
0
0
-14
-20
4
53
-41
16
0
0
0
-114
43
29
-103
130
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
9
13
50
-7
0
0
0
0
-41
-8
6
-16
26
0
0
0
0
-2
-11
-101
15
-3
0
0
0
0
-37
33
0
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
4
-44
28
52
0
0
0
0
7
26
-9
-9
29
0
0
0
0
3
0
35
90
18
0
0
0
0
13
-33
9
64
-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
30
14
3
-74
-69
-69
-19
3
10
0
0
4
-3
50
-58
-58
16
7
0
45
0
-13
-4
84
108
0
-9
0
0
0
0
-37
81
47
47
-19
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-96
115
10
24
0
0
0
-1
3
-95
23
-5
5
0
0
16
0
16
8
-83
76
-12
0
0
0
0
-5
-9
-44
-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
51
7
0
-28
30
-59
21
0
0
0
0
0
4
-8
-51
-12
0
0
0
-2
0
-17
-20
7
11
0
0
0
0
0
-5
-6
8
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
-17
6
0
-16
-51
-29
-3
0
0
0
0
0
-25
8
57
26
0
0
0
-10
0
17
-32
-24
82
0
0
0
0
0
-3
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
-4
51
48
2
-26
-17
12
0
0
-1
33
-116
-47
-98
-27
59
0
0
0
20
-28
-92
62
-3
26
0
0
-6
-88
8
-92
73
53
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-48
46
-6
0
0
0
-2
5
-74
-139
-41
13
0
0
0
0
1
15
-74
57
9
0
0
0
25
-68
22
23
71
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
51
0
0
0
0
5
1
-20
-37
-29
0
0
0
0
0
18
-35
-41
-16
0
0
0
0
2
70
1
8
-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
2
-13
21
-22
70
0
0
0
0
5
5
-2
-80
78
0
0
0
0
0
3
2
-22
64
0
0
0
0
0
-35
1
-118
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
3
0
32
109
-46
-33
11
9
0
0
4
-4
13
70
-3
21
30
0
-53
0
22
-56
44
49
3
17
0
0
2
7
64
84
87
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
22
-17
9
0
0
0
2
-15
-42
4
64
24
0
0
28
0
-17
60
73
27
-22
0
0
0
-5
11
6
-62
-12
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-15
1
0
0
0
0
0
5
0
-40
115
0
0
0
15
0
-1
-44
-11
11
0
0
0
0
0
-27
41
-46
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-150
114
0
0
0
0
-2
-2
-1
-46
48
0
0
0
-48
-1
-4
-22
28
5
0
0
0
0
0
1
0
23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-8
22
-9
0
0
3
4
-11
-8
33
20
11
0
0
-10
-55
34
-10
-14
26
15
0
0
-35
-76
72
34
37
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
-1
29
-41
6
26
14
0
0
0
27
12
-3
-8
15
35
0
0
0
8
12
-14
-117
81
-8
0
0
0
8
2
-30
-18
-2
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
-1
25
-108
72
-10
0
0
0
0
6
46
-19
45
-19
0
0
0
0
0
11
-9
-105
51
0
0
0
0
6
49
7
33
-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
-8
2
12
-26
0
0
0
0
9
7
1
-7
-41
0
0
0
0
4
-16
6
-15
17
0
0
0
0
-55
12
11
42
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
-37
3
0
36
-118
-22
-2
48
0
0
0
-5
-34
83
-65
-19
36
0
0
7
4
4
120
-65
-5
19
0
0
0
0
38
-63
-105
134
14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-23
24
13
-2
0
0
0
2
4
-45
-36
3
7
0
0
0
3
-11
-1
32
15
4
0
0
0
0
29
-11
-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
-32
1
4
-20
36
27
11
0
0
0
0
16
40
-33
15
-30
0
0
0
4
0
-12
39
-46
0
0
0
0
0
0
9
51
-79
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
31
8
-3
-17
26
-45
26
0
0
0
0
-1
3
-41
-5
33
0
0
0
0
0
-11
-11
-18
6
0
0
0
0
-6
2
25
51
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-1
2
-6
0
0
0
-8
-24
-43
-98
-62
12
0
0
0
9
-2
-23
-7
83
-26
0
0
0
41
17
17
-154
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
-4
-126
-35
-46
-10
0
0
0
1
-20
43
27
27
-18
0
0
0
-4
-5
33
22
44
-14
0
0
0
11
-2
-21
-29
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
7
5
4
-99
31
0
0
0
0
-4
3
4
-44
-4
0
0
0
0
0
0
14
-14
66
0
0
0
0
-1
8
19
-74
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
2
-42
-55
35
0
0
0
0
19
3
4
23
-2
0
0
0
0
0
1
1
68
10
0
0
0
0
4
17
12
-40
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
0
-63
3
-136
46
29
0
0
0
2
17
-80
-37
16
34
0
0
17
2
5
101
-78
34
-7
0
0
0
7
-36
29
-7
-68
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
1
2
-13
-101
-41
76
6
0
0
0
0
38
-16
7
54
-2
0
0
6
8
1
-47
18
-80
23
0
0
0
1
-4
-20
-32
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
-2
-10
16
-23
-34
55
0
0
0
0
0
10
-3
-83
71
0
0
0
-50
0
9
-27
-29
41
0
0
0
0
0
-13
-14
-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
6
-2
5
57
21
-49
0
0
0
0
0
-7
-27
-24
51
0
0
0
20
0
0
62
-19
-19
0
0
0
0
-3
0
-6
-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
-4
-40
41
-82
87
39
0
0
0
-3
37
21
61
-26
-29
0
0
0
9
4
72
16
9
-19
0
0
0
-71
21
45
87
36
-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
-4
-68
-45
12
25
0
0
0
3
-86
74
-2
29
0
0
0
0
4
22
73
56
-104
16
0
0
0
-10
19
-64
83
-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
3
3
48
34
0
0
0
0
-21
-8
-22
3
69
0
0
0
0
0
0
65
66
39
0
0
0
0
33
-42
-55
-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
0
-10
-8
-48
48
0
0
0
0
-12
4
4
-37
24
0
0
0
0
-2
0
-10
-147
86
0
0
0
0
3
-22
4
57
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
-12
0
0
6
12
-72
18
26
0
0
0
0
-4
-38
-76
18
39
0
0
56
0
5
-23
-7
6
17
0
0
0
0
4
67
-53
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
-45
12
0
109
76
70
16
8
0
0
0
-2
16
34
-72
41
-7
0
0
-5
0
0
-4
-63
8
-4
0
0
0
0
2
-34
-8
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
-28
7
-3
-16
100
30
2
0
0
0
0
0
46
33
-52
30
0
0
0
-1
0
-9
-63
39
56
0
0
0
0
0
-8
13
67
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
5
41
2
47
2
0
0
0
0
1
0
3
22
19
0
0
0
3
0
0
59
-33
23
0
0
0
0
-2
-3
-10
16
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
-43
-22
-69
116
26
0
0
0
-3
27
-18
-198
-16
37
0
0
0
0
-1
26
70
-11
19
0
0
0
-2
41
49
-18
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
4
11
32
-58
8
3
0
0
0
-10
-79
-46
-46
22
12
0
0
0
0
8
-1
37
-41
17
0
0
0
-15
27
-24
-5
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
-6
7
-7
75
0
0
0
0
1
-7
-77
-26
51
0
0
0
0
0
0
-42
46
-12
0
0
0
0
0
39
13
-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
-6
-10
-20
3
59
0
0
0
0
0
-11
5
-41
6
0
0
0
0
0
-8
-16
79
-20
0
0
0
0
0
-13
2
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-60
-53
22
26
0
0
0
0
46
9
93
-40
33
0
0
19
0
-39
-17
72
11
-11
0
0
0
-3
-4
-39
5
64
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
-32
0
3
-26
-12
-1
20
0
0
0
3
-6
6
34
27
0
0
0
118
1
-46
-46
-12
57
-8
0
0
0
30
38
12
11
-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
0
-2
40
-8
37
0
0
0
0
0
-20
9
-89
5
0
0
0
22
0
-3
-52
-52
134
0
0
0
0
-5
0
2
-13
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
-28
-1
-4
16
-32
49
0
0
0
0
5
2
14
5
14
0
0
0
2
-6
-10
8
-14
-10
0
0
0
0
1
0
-3
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
71
4
12
-52
15
0
0
0
-20
-7
21
30
77
-2
0
0
0
-4
-48
46
-10
-12
42
0
0
0
-25
-1
42
21
-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
1
6
17
85
105
-29
0
0
0
38
-87
60
-6
60
9
0
0
0
45
25
-68
-3
17
-1
0
0
0
109
-71
-26
16
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
-10
8
-22
25
0
0
0
0
-1
66
-83
34
71
0
0
0
0
4
-9
25
20
29
0
0
0
0
-25
-89
28
9
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
4
-13
33
9
28
0
0
0
0
-26
-3
-27
32
72
0
0
0
0
13
-3
-48
-4
56
0
0
0
0
26
27
-50
-21
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
85
0
-1
-88
-95
-50
42
0
0
0
0
-3
72
8
-52
26
0
0
0
-45
1
-48
-30
-19
52
0
0
0
0
14
64
-72
-53
-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
-2
17
60
-69
9
0
0
0
0
-3
-37
52
-26
8
0
0
0
-1
2
13
38
-58
-8
0
0
0
0
-9
-28
-14
-4
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
9
2
0
-9
12
-90
-25
0
0
0
0
0
-9
19
35
-89
0
0
0
4
0
-11
6
-82
8
0
0
0
0
0
0
-39
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
-7
1
0
33
35
5
-9
0
0
0
0
0
-2
56
1
32
0
0
0
5
0
24
-48
-37
-23
0
0
0
0
5
17
-35
44
-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
11
-120
-36
20
0
0
0
0
-2
-11
1
3
-48
0
0
0
0
0
-9
50
-82
0
0
0
0
0
-5
27
-9
22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
118
-143
22
0
0
0
0
-1
3
-58
-18
51
0
0
0
0
-7
-6
18
8
7
0
0
0
0
9
-23
15
-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
1
-79
-46
13
0
0
0
0
0
1
-79
41
-3
0
0
0
0
0
0
-2
-36
33
0
0
0
0
0
6
-7
85
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
-22
16
0
0
0
0
-1
8
-5
23
-24
0
0
0
0
1
-3
-31
-3
89
0
0
0
0
25
10
-1
-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
-8
0
16
-72
-84
43
0
0
0
0
0
0
-57
-17
17
0
0
0
65
0
-9
-33
-113
4
0
0
0
0
3
-1
-9
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
0
5
-1
-2
0
0
0
0
0
4
107
0
6
0
0
0
-39
6
-3
71
-55
-10
0
0
0
0
5
16
74
-71
-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
5
0
-2
-17
-27
-19
0
0
0
0
0
2
5
-95
65
0
0
0
7
0
0
7
-115
39
0
0
0
0
1
1
-1
-62
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
26
4
-46
0
0
0
0
0
2
-5
25
38
0
0
0
-12
0
-1
-28
-44
27
0
0
0
0
0
1
51
-76
-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
-11
18
49
-20
14
0
0
0
0
7
-14
18
-59
21
0
0
0
0
4
-13
-66
-17
74
0
0
0
0
-16
-41
58
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
-2
0
-45
36
40
0
0
0
0
0
0
18
27
-55
0
0
0
0
0
4
1
22
5
0
0
0
0
41
-40
-8
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
-1
-14
-24
-9
0
0
0
0
-1
3
-6
-34
98
0
0
0
0
-4
0
33
-104
34
0
0
0
0
0
6
-53
-3
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
8
37
-59
51
0
0
0
0
3
-9
3
-86
138
0
0
0
0
0
0
-51
84
57
0
0
0
0
9
-1
-38
-64
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
39
8
0
25
-117
3
-26
0
0
0
0
-1
5
59
-49
5
0
0
0
-13
0
-8
-57
28
-4
0
0
0
0
0
-4
5
-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
0
0
0
0
0
0
25
0
1
-16
15
-42
-4
0
0
0
0
-2
2
58
-6
-52
0
0
0
-1
-2
8
91
27
-35
0
0
0
0
0
0
2
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
39
2
0
0
14
-59
-23
0
0
0
0
0
0
4
-44
-7
0
0
0
17
0
-3
-4
-91
34
0
0
0
0
0
4
9
-25
-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
-12
-7
0
0
21
-56
64
0
0
0
0
-7
-2
6
-29
12
0
0
0
-8
0
7
83
-49
23
0
0
0
0
2
-2
35
-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
2
-22
12
13
-24
0
0
0
0
-9
18
-5
-43
-8
0
0
0
0
0
4
-5
-36
30
0
0
0
0
0
-55
1
-22
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
-1
32
-20
46
-46
0
0
0
0
0
9
8
-28
-40
0
0
0
0
6
-5
-1
44
-2
0
0
0
0
3
14
13
-45
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
-12
10
-19
0
0
0
0
0
2
1
-74
-11
0
0
0
0
0
2
12
-27
-26
0
0
0
0
-3
4
1
-87
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
3
-43
-127
48
0
0
0
0
-4
2
23
-90
57
0
0
0
0
0
2
46
-80
48
0
0
0
0
-4
1
-14
-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
0
0
0
0
0
0
0
0
0
15
2
-11
28
-104
-8
0
0
0
0
0
-20
-9
104
-86
0
0
0
3
0
-4
-25
-42
93
0
0
0
0
0
21
-16
-114
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
-5
5
-11
-59
31
56
0
0
0
0
0
20
15
1
19
0
0
0
-69
0
11
-7
-12
101
0
0
0
0
25
31
-21
-12
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
83
-67
44
0
0
0
0
0
-3
12
-38
69
0
0
0
75
0
0
2
-81
3
0
0
0
0
-20
4
7
-46
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
-10
0
9
55
-83
5
0
0
0
0
-5
-22
-12
8
64
0
0
0
40
0
-11
54
-67
74
0
0
0
0
-4
1
-6
57
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
-31
14
22
2
0
0
0
0
7
48
-10
-27
-3
0
0
0
0
-2
0
-18
32
-25
0
0
0
0
-68
96
18
-24
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
7
-30
0
0
0
0
-5
-12
76
80
-127
0
0
0
0
1
52
-49
2
93
0
0
0
0
-25
11
-2
80
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
-65
0
0
0
0
0
17
-6
46
-14
0
0
0
0
0
1
-15
-23
43
0
0
0
0
7
-45
20
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
-3
-73
-8
97
0
0
0
0
0
15
51
-62
35
0
0
0
0
-5
-6
-67
6
75
0
0
0
0
-52
-29
-51
-28
163
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-64
29
8
0
0
0
0
0
-28
-107
34
44
0
0
0
0
0
1
38
5
54
0
0
0
0
0
31
-12
-15
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
-20
-10
0
-88
55
-9
143
0
0
0
0
3
-23
36
-86
71
0
0
0
2
-6
9
11
15
20
0
0
0
0
5
74
49
-130
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
-9
-3
0
-41
-25
-37
33
0
0
0
0
0
4
31
-21
-38
0
0
0
-4
0
-5
-56
-63
47
0
0
0
0
0
4
45
-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
-19
20
-5
-45
-52
65
6
0
0
0
0
1
-36
31
50
-14
0
0
0
7
0
3
30
0
40
0
0
0
0
0
16
-15
-16
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
2
-10
9
-84
28
0
0
0
0
-1
-11
-80
-23
61
0
0
0
0
0
-2
27
10
24
0
0
0
0
1
7
1
37
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-63
34
15
0
0
0
0
0
-6
-66
-16
30
0
0
0
0
0
-5
50
105
-46
0
0
0
0
19
-31
3
-51
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
8
-157
31
0
0
0
0
1
-9
-10
20
-18
0
0
0
0
1
-1
22
-99
-3
0
0
0
0
0
9
-5
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
-10
-7
73
14
-39
0
0
0
0
1
-1
96
-5
-71
0
0
0
0
-4
0
39
-79
-3
0
0
0
0
-4
-5
6
-50
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
20
0
-1
-41
-70
38
0
0
0
0
6
5
-35
80
-20
0
0
0
32
0
-4
-36
-136
55
0
0
0
0
-2
-2
-33
24
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
2
-12
53
-45
33
0
0
0
0
0
12
77
-58
-26
0
0
0
28
4
4
17
-71
-20
0
0
0
0
28
-5
59
-72
-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
-2
0
2
37
-4
1
0
0
0
0
-2
-13
-1
25
36
0
0
0
37
0
1
-19
26
-38
0
0
0
0
1
14
-48
18
-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
21
2
-3
107
-51
20
0
0
0
0
-6
7
-15
26
22
0
0
0
-68
-5
1
-65
-11
-15
0
0
0
0
9
0
-5
-52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-96
112
0
0
0
0
-34
-24
56
45
15
0
0
0
0
0
0
-9
13
4
0
0
0
0
2
7
-78
-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
1
-117
109
0
0
0
0
18
-13
42
-61
2
0
0
0
0
19
14
82
-116
21
0
0
0
0
39
-19
-45
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
-3
-10
0
-90
96
0
0
0
0
2
4
22
-5
-14
0
0
0
0
11
-3
-44
40
86
0
0
0
0
14
-4
-33
-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
-5
-2
5
-50
23
0
0
0
0
-17
22
31
-33
34
0
0
0
0
4
-4
23
34
-38
0
0
0
0
35
-5
36
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
40
0
0
6
7
-55
85
0
0
0
0
2
3
5
41
14
0
0
0
-10
0
17
-1
-21
1
0
0
0
0
0
6
-1
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
0
0
0
0
0
0
83
-17
-3
-23
-48
-41
31
0
0
0
0
-6
-13
11
-15
27
0
0
0
-6
0
-8
-28
15
39
0
0
0
0
0
0
34
11
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
-64
9
0
20
27
-65
57
0
0
0
0
1
1
23
-1
-15
0
0
0
5
0
-5
2
12
55
0
0
0
0
0
-7
-7
50
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
14
0
-4
-32
20
-19
23
0
0
0
0
2
-1
-19
7
31
0
0
0
0
5
0
-6
31
-20
0
0
0
0
-9
2
-5
-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
-4
3
46
33
0
0
0
0
-2
4
1
-35
99
0
0
0
0
0
2
8
65
-16
0
0
0
0
-1
-3
17
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
-18
-60
82
15
0
0
0
0
0
-3
51
-7
-28
0
0
0
0
0
-10
12
-36
68
0
0
0
0
1
-25
27
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
0
3
-7
-44
22
0
0
0
0
0
4
0
-25
9
0
0
0
0
0
-2
-6
32
24
0
0
0
0
-1
-26
7
10
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
5
22
19
6
-2
0
0
0
0
4
19
-3
-69
5
0
0
0
0
3
-1
-4
49
0
0
0
0
0
-4
10
-5
-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
-16
0
-2
29
-60
10
0
0
0
0
-1
2
12
-81
52
0
0
0
-10
0
4
3
48
-51
0
0
0
0
17
0
-6
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
33
0
-16
-38
68
-52
0
0
0
0
0
26
5
0
-57
0
0
0
-20
0
-10
21
28
-36
0
0
0
0
-52
6
-34
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
20
0
5
-4
39
1
0
0
0
0
0
-5
3
-42
100
0
0
0
13
0
0
29
-78
-39
0
0
0
0
-6
-5
18
-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
2
0
-1
-13
27
8
0
0
0
0
-3
-11
-8
33
20
0
0
0
40
0
3
57
-114
-36
0
0
0
0
-22
3
3
-21
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-19
0
0
0
0
6
2
-12
57
17
0
0
0
0
6
-1
11
25
24
0
0
0
0
-13
23
26
38
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
1
-11
-36
52
27
0
0
0
0
4
4
-27
-91
-6
0
0
0
0
-1
32
58
-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
0
0
-25
-30
45
0
0
0
0
0
-24
5
61
20
0
0
0
0
0
3
-1
7
30
0
0
0
0
10
114
-14
-27
-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
19
-19
56
-9
0
0
0
0
-35
-54
44
-63
34
0
0
0
0
-14
13
-8
65
10
0
0
0
0
50
-43
3
-91
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-6
-4
-9
10
4
9
4
0
0
-6
49
73
38
0
3
24
0
-19
-10
-9
-105
-67
-32
1
30
0
0
-35
33
-33
0
-11
43
22
60
94
-16
-21
8
-46
17
3
-6
0
0
49
1
-83
-106
-26
-11
6
0
71
23
-30
25
-34
-8
8
28
0
0
13
-21
-6
-31
47
25
-4
70
61
2
21
-25
11
16
-12
0
0
0
30
31
-38
5
44
-10
0
0
-46
-8
52
131
7
-20
-7
0
0
0
-27
37
28
-62
13
40
0
-18
-24
-25
92
-3
-62
3
4
0
0
0
8
-18
56
-70
-42
-1
0
0
-19
11
-4
-46
2
-47
41
0
0
0
-32
-17
28
28
-6
18
0
-3
-15
8
-96
57
21
11
0
0
0
0
-5
-35
-26
3
17
0
0
0
25
47
10
1
-45
-30
0
0
0
0
66
13
-60
56
-44
0
0
21
-76
7
47
-30
24
-26
0
0
0
0
-2
43
20
-94
45
0
0
0
-70
40
-17
-14
34
7
0
0
0
0
-115
52
-5
9
-11
0
0
-77
-28
19
-13
19
25
65
0
0
0
0
18
9
47
14
-96
0
0
0
-9
-1
22
-46
-51
12
0
0
0
0
-49
10
-28
-34
86
0
0
70
36
-1
-5
34
-69
-37
0
0
0
0
-40
-73
64
-73
77
0
0
0
-10
31
17
2
-46
-4
0
0
0
0
-40
-62
-19
-46
77
0
0
0
0
-24
8
-28
-21
-6
5
20
0
0
74
-41
-30
59
-55
-6
82
0
0
41
-17
40
-14
-6
87
19
0
0
-26
-45
-6
46
112
4
4
0
0
-1
-9
-111
-106
-63
-21
31
0
0
1
23
-3
-79
62
0
1
0
0
0
5
3
-49
195
-42
8
0
0
14
27
2
38
11
75
-56
0
0
3
3
35
-15
-65
1
0
0
0
0
-7
-12
5
-36
7
0
0
0
7
0
38
-37
27
-13
0
0
0
-5
-2
17
24
50
-11
0
0
0
0
4
8
-131
19
33
0
0
0
0
-2
-2
-80
18
29
0
0
0
0
0
3
-35
-24
60
0
0
0
-33
5
-6
-8
15
58
0
0
0
-2
-6
104
-12
-42
0
0
0
0
5
-7
-7
30
-10
0
0
0
0
0
0
25
-58
40
0
0
0
0
-21
-6
-4
-34
149
0
0
0
0
-2
4
17
-118
54
0
0
0
0
-7
-1
2
-63
17
0
0
0
0
0
-24
1
82
-20
0
0
0
0
13
4
-5
-77
-60
0
0
0
0
-1
0
1
-12
-12
0
0
0
0
2
4
0
-31
-54
0
0
0
0
2
-2
-16
16
0
0
0
0
0
4
-3
-1
-40
-24
0
0
0
0
0
-6
0
-25
-4
0
0
0
0
5
2
-7
-21
-37
0
0
0
0
1
0
0
14
-117
0
0
0
0
-56
6
0
15
43
0
0
0
-37
-2
13
-17
-11
53
20
16
0
0
0
-14
-49
36
9
31
-5
0
-7
-2
4
-113
38
72
-56
29
0
0
-9
1
10
-27
-14
-3
12
0
-10
0
2
-53
-14
2
0
15
0
0
1
0
-9
-4
-70
55
8
0
60
0
0
43
75
-130
-24
3
0
0
0
0
3
-24
14
-47
45
0
-5
1
-7
24
-38
22
2
0
0
0
-3
5
-13
-22
27
-22
0
0
-15
0
0
-9
1
-9
47
0
0
0
0
-5
-9
-28
2
47
0
0
-3
0
0
10
36
47
-13
0
0
0
0
0
-7
-29
66
10
0
0
-14
0
-4
11
2
-47
48
0
0
0
0
0
-1
-5
-15
-10
0
0
0
-4
10
-52
-23
75
0
0
0
0
0
1
-15
11
30
0
0
0
-9
0
0
-14
22
-34
0
0
0
0
0
0
-5
-12
21
0
0
0
3
0
0
40
-90
12
0
0
0
0
3
0
-2
-70
-29
0
0
0
-42
0
0
4
-6
75
0
0
0
0
-1
0
1
-3
15
0
0
0
4
2
-7
-31
11
-21
0
0
0
0
1
-11
6
-60
-51
0
0
0
-3
0
-3
-11
27
-29
0
0
0
0
0
-2
-2
21
-84
0
0
0
-5
0
0
0
29
-37
0
0
0
0
0
0
9
13
-52
0
0
0
10
0
-3
-10
9
44
0
0
0
0
0
0
0
0
38
0
0
0
0
2
-29
-49
19
15
12
-19
0
0
-7
-6
57
-41
-69
2
-1
0
0
5
0
48
44
53
116
11
0
0
7
0
-50
-3
145
142
-40
0
0
6
4
2
84
-45
53
24
0
0
-4
-15
-10
14
51
-41
-4
0
0
3
0
26
29
-21
33
27
0
0
-1
27
44
99
-28
-3
-23
0
0
0
-5
27
-178
-107
94
0
0
0
-1
4
-29
2
-24
0
0
0
0
0
-2
22
-45
-10
78
0
0
0
-4
-8
19
-78
134
28
0
0
0
0
-4
1
-7
98
18
0
0
0
0
0
-1
10
30
-16
0
0
0
0
0
0
-12
-1
95
0
0
0
16
4
-5
8
8
-51
0
0
0
5
-2
-73
-22
33
0
0
0
0
0
-1
-6
43
22
0
0
0
0
0
0
26
3
71
0
0
0
0
11
-4
-10
-5
31
0
0
0
0
0
-2
6
-75
97
0
0
0
0
0
15
-3
-63
43
0
0
0
0
-2
0
0
32
73
0
0
0
0
0
1
-1
-11
60
0
0
0
0
0
0
-2
-72
35
0
0
0
0
0
1
2
-70
-26
0
0
0
0
0
0
2
-26
22
0
0
0
0
4
1
8
-17
30
0
0
0
0
0
-1
0
10
33
0
0
0
0
0
-10
0
-57
95
0
0
0
0
0
-4
2
-1
0
0
0
0
0
0
-1
0
9
16
0
0
-14
6
-1
12
17
-30
-16
8
0
0
0
0
-34
-48
-34
58
23
-2
0
-4
0
15
18
66
38
35
-19
0
0
2
4
-22
8
-6
19
25
43
0
0
-29
-34
-9
68
17
4
0
0
-8
-1
42
-95
54
44
2
0
-4
0
3
11
-50
9
9
1
0
0
0
0
-24
-75
-62
16
11
9
0
0
1
59
-167
9
25
0
0
0
0
1
1
-54
22
21
0
0
-3
0
2
-55
1
112
17
0
0
0
0
-2
7
-54
52
83
0
-45
0
0
-4
34
15
-34
25
0
0
0
0
-1
0
-38
-52
24
0
0
18
0
0
3
12
4
-30
0
0
0
0
-2
-1
11
63
-60
0
35
6
5
-2
-10
-63
10
0
0
0
0
0
-4
-36
-17
34
0
0
0
-4
0
-3
-22
-110
84
0
0
0
0
0
5
-12
-16
66
0
0
6
0
0
-4
-7
73
-15
0
0
0
0
3
-2
35
-72
7
0
0
0
-2
0
-6
117
-76
69
0
0
0
0
0
0
-3
10
6
0
0
0
0
0
-12
-48
66
4
0
0
0
0
0
-3
2
9
-11
0
0
0
0
0
-6
-73
-30
84
0
0
0
0
0
2
-10
-13
25
0
0
-105
0
0
8
1
36
58
0
0
0
0
0
7
1
12
36
0
0
0
17
0
-1
-2
-19
56
0
0
0
0
0
6
0
5
-12
0
0
0
0
2
-25
51
-152
24
26
33
0
0
12
-32
-23
-6
-100
14
58
0
0
0
-15
-4
3
24
91
7
0
0
-12
33
35
54
74
-27
-2
0
0
0
0
-20
-24
-54
-7
21
0
0
3
0
0
-76
87
-26
12
0
0
0
0
-12
19
-20
14
51
0
0
0
-1
3
-6
24
-21
20
0
0
1
0
-1
24
-103
12
0
0
0
0
2
-11
23
26
17
0
0
0
0
1
1
-10
-1
65
0
0
0
-1
0
-2
70
96
-34
0
0
0
0
0
-3
-37
149
-16
0
0
0
0
1
14
-8
30
4
0
0
0
0
0
-1
18
20
12
0
0
0
0
-29
-8
0
10
20
0
0
0
0
7
-43
-19
60
0
0
0
0
0
1
33
-45
79
0
0
0
0
0
0
4
-63
42
0
0
0
0
2
-4
8
-35
73
0
0
0
0
0
1
3
9
-60
0
0
0
0
-1
0
3
-66
-16
0
0
0
0
0
0
14
60
38
0
0
0
0
-1
2
-6
23
-69
0
0
0
0
0
0
-19
-20
27
0
0
0
0
0
0
-11
29
70
0
0
0
0
0
0
3
2
-69
0
0
0
0
0
-1
-5
22
70
0
0
0
0
0
5
0
2
-11
0
0
0
0
0
6
-5
-1
-60
0
0
0
0
0
0
-7
-26
32
0
0
0
0
0
-3
0
-10
11
0
0
0
-17
1
-9
-53
-14
-12
-1
3
0
0
0
0
0
-34
31
-5
2
0
18
0
1
24
-143
21
-4
11
0
0
2
0
-18
-91
-90
91
59
0
0
0
-2
-33
72
-51
7
-1
0
0
0
0
1
0
68
4
55
0
-38
0
-2
-1
-2
-18
-4
24
0
0
0
0
5
13
19
-3
4
0
2
0
0
4
-58
57
14
0
0
0
0
2
0
-37
45
-7
0
0
1
0
-2
-13
8
-62
26
0
0
0
1
1
16
-22
-42
30
0
0
0
0
2
-5
-43
24
20
0
0
0
0
0
2
-50
40
25
0
0
-1
0
0
17
9
24
16
0
0
0
0
0
-5
-22
-11
49
0
0
0
0
-10
-3
-33
77
0
0
0
0
0
0
-3
-27
51
0
0
0
1
0
0
-9
-53
36
0
0
0
0
0
0
2
-72
45
0
0
0
0
0
1
8
-48
38
0
0
0
0
0
1
0
-54
-15
0
0
0
14
0
0
-11
-33
55
0
0
0
0
0
12
-3
-5
-28
0
0
0
0
0
0
3
29
58
0
0
0
0
0
0
0
-13
105
0
0
0
8
0
0
-8
-49
52
0
0
0
0
0
-2
-2
-23
75
0
0
0
0
0
0
-2
87
-38
0
0
0
0
0
0
-3
-19
-51
0
0
0
4
0
2
1
2
32
0
0
0
0
0
-1
2
0
-48
0
0
0
0
1
-21
-9
-33
-52
51
4
0
0
-1
-51
40
-47
58
38
-62
0
0
0
0
-22
30
39
40
7
0
0
19
6
46
81
-46
20
-1
0
0
0
2
17
33
-92
-18
49
0
0
0
-4
-2
-47
-18
0
50
0
0
0
1
-30
-32
49
24
11
0
0
-14
-22
26
-26
1
64
24
0
0
0
-1
7
-21
-12
25
0
0
0
2
5
2
6
-14
-6
0
0
0
0
4
-41
21
96
-3
0
0
0
-29
-42
-70
20
45
40
0
0
0
0
3
-7
-21
7
22
0
0
0
1
7
-6
-9
24
7
0
0
0
0
2
-15
8
-31
37
0
0
0
2
7
28
0
4
-26
0
0
0
0
12
2
72
-136
0
0
0
0
0
-6
6
-33
-2
0
0
0
0
0
-3
32
-35
-63
0
0
0
0
-1
-10
54
-35
40
0
0
0
0
0
1
5
-5
38
0
0
0
0
3
-6
7
4
31
0
0
0
0
0
19
-1
-28
-13
0
0
0
0
0
-32
-4
10
15
0
0
0
0
0
0
4
9
73
0
0
0
0
0
1
-6
-1
5
0
0
0
0
0
-2
17
-69
-49
0
0
0
0
0
5
-1
2
91
0
0
0
0
0
6
0
-49
68
0
0
0
0
-1
-6
5
6
36
0
0
0
0
0
2
7
-5
9
0
0
0
0
-2
26
4
23
-18
0
0
-23
7
2
1
25
-74
27
39
0
0
0
-3
13
53
-35
20
27
0
0
-35
13
-19
-2
43
-46
52
0
0
0
0
-19
8
23
-5
34
0
-7
0
0
-4
-15
25
51
-17
0
0
0
0
21
-56
-56
88
38
0
0
1
0
-7
15
16
-15
-1
0
0
0
0
34
-1
-41
-8
11
0
0
0
0
8
-47
-56
72
21
0
0
0
2
7
93
-11
-48
34
0
0
0
0
1
5
-83
-89
56
0
0
0
0
-13
26
2
-4
56
0
-6
0
0
5
31
-10
-11
23
0
0
0
0
8
-31
0
-37
14
0
0
0
0
-2
12
2
10
10
0
0
0
0
-4
23
13
-20
28
0
-1
0
0
-2
-24
25
53
0
0
0
0
0
-3
1
-48
32
0
0
0
2
0
0
4
-7
-26
0
0
0
0
0
-3
-5
-9
54
0
0
-7
0
0
-2
111
0
-34
0
0
0
0
0
1
-2
-36
8
0
0
0
-1
0
-6
-8
-96
150
0
0
0
0
0
3
-8
32
-4
0
0
0
0
0
-5
7
94
-1
0
0
0
0
2
0
-31
83
37
0
0
0
0
0
0
-1
115
-46
0
0
0
0
0
-3
0
-29
16
0
0
-1
0
0
1
2
30
24
0
0
0
0
0
3
4
-20
2
0
0
0
5
0
0
-1
-7
-14
0
0
0
0
0
0
3
5
-51
0
0
0
0
0
-20
44
-42
-15
1
0
0
0
-2
-1
12
-117
107
26
0
0
0
14
-2
1
-28
39
-27
0
0
0
11
1
4
-24
84
-59
0
0
0
0
0
-36
2
-8
4
0
0
0
0
-1
-3
-29
-19
15
0
0
0
0
0
-3
-20
80
41
0
0
0
0
0
3
-52
21
-13
0
0
0
0
-2
-7
-62
41
37
0
0
0
0
0
3
-130
64
26
0
0
0
0
0
-6
-61
53
29
0
0
0
3
3
-2
-35
6
34
0
0
0
0
-1
18
69
-45
-5
0
0
0
0
-3
0
32
-4
9
0
0
0
0
0
0
5
-28
4
0
0
0
0
0
0
-9
-45
3
0
0
0
0
0
6
45
-10
0
0
0
0
0
0
0
34
16
0
0
0
0
0
0
-2
-50
69
0
0
0
0
0
0
0
7
50
0
0
0
0
0
9
0
28
18
0
0
0
0
-1
0
0
46
-25
0
0
0
0
0
0
-5
6
12
0
0
0
0
0
0
2
-4
20
0
0
0
0
0
2
-1
-51
10
0
0
0
0
0
0
16
13
24
0
0
0
0
0
0
-1
-6
-20
0
0
0
0
0
0
0
-8
55
0
0
0
0
0
0
0
-29
33
0
0
0
0
0
0
4
21
-19
0
0
0
0
0
0
0
7
-10
0
0
0
0
-1
0
0
-27
63
0
0
0
-24
1
-19
-44
1
56
-7
0
0
0
-1
3
5
45
20
6
0
0
13
0
0
29
-107
-4
45
0
0
0
-1
0
-17
-19
81
32
0
0
16
0
6
-28
-54
220
-47
0
0
0
0
0
-2
-26
59
-22
0
0
3
0
0
19
14
42
-43
0
0
0
0
0
-7
-21
35
-57
0
0
0
0
6
16
-10
34
4
0
0
0
2
0
1
10
-18
6
0
0
0
0
0
-22
-66
62
-1
0
0
0
0
0
2
41
40
-68
0
0
0
0
0
-5
-33
-49
24
0
0
0
0
-5
1
8
36
-5
0
0
-8
0
0
-4
2
85
9
0
0
0
0
0
0
0
87
-3
0
0
0
0
0
-11
32
-44
0
0
0
0
0
0
3
-103
36
0
0
0
0
0
0
-24
-35
67
0
0
0
0
0
0
0
-8
3
0
0
0
1
0
0
35
-85
52
0
0
0
0
0
0
1
94
10
0
0
0
-4
0
0
6
36
12
0
0
0
0
0
0
0
0
33
0
0
0
0
0
3
2
-40
26
0
0
0
0
-3
0
0
-13
35
0
0
0
11
0
0
4
-32
2
0
0
0
0
0
0
-5
-8
-22
0
0
0
0
0
0
3
-29
27
0
0
0
0
0
0
-3
0
16
0
0
0
8
0
0
-1
-10
-10
0
0
0
0
0
0
0
-22
26
0
0
0
0
-2
-1
-7
-34
4
21
0
0
0
4
2
70
-144
10
4
0
0
0
3
0
32
-36
24
-65
0
0
0
-38
-6
-1
53
61
29
0
0
0
0
0
-12
68
15
-32
0
0
0
0
-2
-9
22
82
-22
0
0
0
0
0
2
88
13
55
0
0
0
3
-54
3
3
98
90
0
0
0
2
1
-7
-19
38
-27
0
0
0
2
5
-18
-56
41
27
0
0
0
0
0
-4
38
-7
1
0
0
0
8
4
0
7
-13
-24
0
0
0
0
0
1
25
-32
24
0
0
0
-1
1
-9
-2
-26
62
0
0
0
0
0
0
3
58
-22
0
0
0
12
0
1
0
76
-123
0
0
0
0
0
-23
-23
5
0
0
0
0
0
0
-3
-11
11
0
0
0
0
0
0
-3
-34
51
0
0
0
0
4
0
8
16
37
0
0
0
0
0
-4
-4
1
61
0
0
0
0
-1
7
-2
-1
50
0
0
0
0
0
2
12
1
-64
0
0
0
0
0
5
0
-8
109
0
0
0
0
0
0
5
49
44
0
0
0
0
0
0
-8
-5
-18
0
0
0
0
0
0
3
18
9
0
0
0
0
0
2
8
-1
-3
0
0
0
0
0
0
2
-28
18
0
0
0
0
0
-3
6
32
0
0
0
0
0
0
0
-2
-3
-12
0
0
0
0
7
0
-1
4
-46
0
0
34
-6
0
-2
-14
-16
-51
0
0
0
0
0
-1
-8
-78
1
46
0
0
0
0
0
-23
-16
28
3
0
0
0
0
0
24
17
30
-11
0
0
0
0
-5
-3
25
83
-14
0
0
0
0
0
14
-36
-5
25
0
0
-15
0
-2
0
45
81
15
0
0
0
0
1
-34
0
43
2
0
-25
0
0
-2
-10
43
32
28
0
0
0
0
-5
13
-28
0
-7
0
0
1
0
0
-89
-14
86
-18
0
0
0
0
-5
18
-1
-17
48
0
9
0
0
10
4
-69
14
26
0
0
0
0
0
0
40
26
20
0
0
-12
0
0
-47
-12
22
13
0
0
0
0
0
5
-5
95
-60
0
0
0
0
-7
95
-142
-5
0
0
0
0
0
0
6
-22
54
0
0
0
0
0
0
-12
-16
3
0
0
0
0
0
0
1
22
-10
0
0
10
0
0
0
29
46
-41
0
0
0
0
0
-1
22
-19
3
0
0
0
-1
0
1
-16
14
1
0
0
0
0
0
-1
-13
2
-26
0
0
0
0
0
-1
8
-85
41
0
0
0
0
0
9
0
-45
45
0
0
0
0
0
0
-4
-9
39
0
0
0
0
0
0
9
0
19
0
0
6
0
0
5
-6
46
4
0
0
0
0
0
4
3
-31
28
0
0
0
10
0
0
3
-13
-8
0
0
0
0
0
0
23
8
-12
0
0
0
0
0
-1
-54
-70
19
61
0
0
0
-11
-4
-1
-20
-3
0
0
0
0
0
0
11
64
59
-13
0
0
0
0
3
6
19
80
14
0
0
0
0
0
15
-50
70
-18
0
0
0
0
-5
0
-10
-88
22
0
0
0
0
0
0
21
26
20
0
0
0
0
-4
40
-6
-4
7
0
0
0
0
-3
6
4
-36
1
0
0
0
0
0
4
63
37
-32
0
0
0
0
0
0
-13
115
-11
0
0
0
1
0
3
4
36
-12
0
0
0
0
0
-2
38
-35
22
0
0
0
0
-8
-2
-5
110
-12
0
0
0
0
0
8
-14
111
-32
0
0
0
9
5
-49
0
-7
104
0
0
0
0
0
0
64
68
0
0
0
0
0
0
-5
3
18
0
0
0
0
0
0
0
59
-92
0
0
0
0
0
0
8
-25
-26
0
0
0
0
0
0
0
-35
47
0
0
0
0
3
0
2
-2
-37
0
0
0
0
0
0
1
4
-29
0
0
0
0
0
0
-5
12
-14
0
0
0
0
0
0
-6
-30
14
0
0
0
0
0
0
0
-3
51
0
0
0
0
0
0
12
48
-28
0
0
0
0
0
0
4
-1
6
0
0
0
0
-12
-1
1
1
57
0
0
0
0
0
4
0
13
19
0
0
0
0
0
1
0
-14
-18
0
0
0
0
0
-3
-9
3
51
0
0
0
4
0
-4
-17
-45
-55
43
0
0
0
2
-1
-2
-21
103
-53
0
0
-10
0
-1
6
-58
156
-6
0
0
0
6
0
17
0
-27
29
0
0
2
0
1
4
-1
106
-30
0
0
0
0
-5
3
-2
50
12
0
0
10
0
0
-9
7
-27
56
0
0
0
-3
-2
5
1
-48
72
0
0
0
0
0
2
6
-64
31
0
0
0
0
0
0
12
-51
45
0
0
-1
0
7
0
2
80
16
0
0
0
0
0
8
9
25
-40
0
0
8
0
0
4
1
-7
2
0
0
0
0
-3
0
0
-33
48
0
0
4
0
0
0
1
1
-14
0
0
0
0
0
2
0
82
-2
0
0
0
0
0
-2
-50
-16
0
0
0
0
0
0
0
3
-126
0
0
0
2
0
0
0
-45
46
0
0
0
0
0
0
4
-17
55
0
0
0
-3
0
-1
-5
13
-86
0
0
0
0
0
0
0
-8
59
0
0
0
-3
0
0
0
0
95
0
0
0
0
1
0
-2
-4
33
0
0
0
0
0
0
0
30
52
0
0
0
0
0
0
0
-13
57
0
0
0
-12
0
0
-4
1
22
0
0
0
0
0
0
-5
0
-17
0
0
0
-6
0
2
7
1
60
0
0
0
0
0
0
0
-24
46
0
0
0
47
0
0
7
-7
-68
0
0
0
0
0
1
0
2
0
0
0
0
0
1
-5
5
-25
18
-70
0
0
0
-3
13
2
58
-50
-81
0
0
0
-13
0
13
16
39
-40
0
0
0
7
-21
12
7
26
31
0
0
0
0
0
1
14
29
-24
0
0
0
2
29
5
-19
33
-60
0
0
0
0
0
-2
6
4
-82
0
0
0
3
17
-7
1
4
-63
0
0
0
0
0
0
0
-44
3
0
0
0
-1
-1
0
-1
-61
45
0
0
0
0
-1
-18
-1
140
-37
0
0
0
13
0
38
13
37
-92
0
0
0
0
0
0
0
9
5
0
0
0
-1
1
0
2
25
-31
0
0
0
0
0
-3
0
0
33
0
0
0
-18
-46
4
1
67
31
0
0
0
0
0
0
-40
-47
0
0
0
0
0
0
-4
21
44
0
0
0
0
0
0
7
-1
-43
0
0
0
0
-1
0
13
2
4
0
0
0
0
0
0
-9
0
46
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
-1
-1
60
0
0
0
0
-2
-1
-3
-4
9
0
0
0
0
0
0
0
-22
101
0
0
0
0
0
-6
0
13
-4
0
0
0
0
0
0
-8
-7
-44
0
0
0
0
1
0
2
19
15
0
0
0
0
0
0
3
3
93
0
0
0
0
-3
0
2
-19
22
0
0
0
0
0
-2
0
21
20
0
0
0
0
-2
0
11
2
4
0
0
-7
0
-10
-87
30
36
65
0
0
0
0
13
43
16
-3
-28
0
0
0
-2
-8
24
3
-35
-28
0
0
0
0
2
8
-16
-40
0
0
0
-6
1
0
-55
-19
-15
11
0
0
0
0
0
35
47
-110
-19
0
0
0
-4
0
-11
-16
-14
-19
0
0
0
0
0
-28
-76
-31
33
0
0
0
0
0
-23
16
37
-32
0
0
0
0
-3
20
22
-5
-2
0
0
0
1
0
3
-11
-94
26
0
0
0
0
0
-12
-25
-24
13
0
0
7
0
0
19
56
-68
16
0
0
0
0
0
-12
5
-20
82
0
0
0
0
0
-11
-38
-51
112
0
0
0
0
-3
1
9
7
-14
0
0
-1
-1
0
37
113
-23
0
0
0
0
0
0
-2
-14
-47
68
0
0
0
0
0
0
-15
-3
-49
0
0
0
0
0
-1
13
-12
53
0
0
0
0
0
-6
8
-42
76
0
0
0
0
-3
-20
14
-29
23
0
0
0
0
0
10
-1
-153
50
0
0
0
0
0
-3
-12
31
66
0
0
-3
4
0
8
61
-54
23
0
0
0
0
-1
-2
40
-48
17
0
0
0
0
0
3
-55
-38
31
0
0
0
0
0
12
39
-82
-8
0
0
2
0
0
-2
9
-12
3
0
0
0
0
0
0
5
-29
-1
0
0
0
-2
0
1
5
-4
-41
0
0
0
0
0
11
2
-48
-11
0
0
0
0
1
32
-63
-78
-17
0
0
0
0
-12
-1
8
44
-16
0
0
0
0
13
0
13
-33
-33
0
0
0
0
2
0
2
-22
35
0
0
0
0
0
15
-11
27
-46
0
0
0
0
3
-13
1
-1
-50
0
0
0
0
0
0
1
3
-7
0
0
0
0
0
-7
-2
-1
41
0
0
0
0
1
0
-9
35
14
0
0
0
0
5
0
0
41
23
0
0
0
0
-2
0
-4
-76
126
0
0
0
0
-8
0
-5
-10
66
0
0
0
0
0
-1
-3
-3
-35
0
0
0
0
-5
0
0
18
33
0
0
0
0
0
1
0
31
25
0
0
0
0
4
0
0
8
-31
0
0
0
0
0
-9
3
-39
42
0
0
0
0
0
0
-1
-10
31
0
0
0
0
0
-1
-1
-13
42
0
0
0
0
0
0
-10
39
10
0
0
0
0
0
0
1
-31
-5
0
0
0
0
0
7
0
-25
-20
0
0
0
0
0
0
-3
-108
116
0
0
0
0
-2
0
0
11
9
0
0
0
0
0
3
6
35
-39
0
0
0
0
-6
0
0
-19
40
0
0
0
0
7
0
-1
-73
75
0
0
0
0
6
-3
0
15
8
0
0
0
0
0
0
0
39
-46
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
4
7
0
0
0
-1
-1
0
21
-68
76
0
0
0
0
0
2
-7
-2
-18
0
0
0
6
0
0
-41
-47
50
0
0
0
0
0
1
-2
28
-14
0
0
0
-1
0
-1
21
75
-19
0
0
0
0
0
0
-7
11
15
0
0
0
16
0
0
-12
33
-116
0
0
0
0
0
0
-3
-3
-25
0
0
0
0
1
1
-65
-61
99
0
0
0
0
-1
0
-9
-78
85
0
0
0
-4
0
0
6
-41
-29
0
0
0
0
0
0
4
1
52
0
0
0
0
0
0
-30
45
40
0
0
0
0
0
0
3
-26
10
0
0
0
15
0
0
3
-9
-57
0
0
0
0
0
0
2
0
26
0
0
0
-1
0
0
10
12
17
0
0
0
0
0
0
0
-33
17
0
0
0
0
0
0
-2
-29
13
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
-13
10
-5
0
0
0
0
0
0
0
34
42
0
0
0
21
0
0
1
-13
-76
0
0
0
0
0
0
2
-50
0
0
0
0
-1
0
0
4
-47
70
0
0
0
0
0
-4
4
-1
18
0
0
0
6
0
0
1
-25
33
0
0
0
0
0
0
8
-23
44
0
0
0
0
0
0
0
92
11
0
0
0
0
0
0
2
18
71
0
0
0
-15
0
0
0
-4
-17
0
0
0
0
0
0
-6
0
-11
0
0
0
0
0
-1
26
23
2
0
0
0
0
0
-4
-21
-58
38
0
0
0
0
0
0
110
-80
16
0
0
0
0
-9
3
-47
60
29
0
0
0
0
0
-2
0
-7
-15
0
0
0
0
0
7
3
71
39
0
0
0
0
0
1
12
-16
21
0
0
0
0
7
-2
-23
1
-47
0
0
0
0
0
0
3
-18
62
0
0
0
0
0
0
11
-50
129
0
0
0
0
0
0
-2
46
-30
0
0
0
0
4
0
24
53
-19
0
0
0
0
0
0
2
-11
126
0
0
0
0
0
1
2
-75
-93
0
0
0
0
0
0
-3
-14
-8
0
0
0
0
-5
-2
-1
-2
15
0
0
0
0
0
0
-21
-8
61
0
0
0
0
0
0
0
39
-12
0
0
0
0
0
0
-10
-17
-13
0
0
0
0
0
0
8
42
-18
0
0
0
0
0
-1
0
-50
10
0
0
0
0
0
0
0
35
-44
0
0
0
0
0
0
16
-12
65
0
0
0
0
-2
0
-13
38
-22
0
0
0
0
0
0
1
-16
41
0
0
0
0
0
0
2
38
-13
0
0
0
0
0
0
-1
-4
-5
0
0
0
0
0
0
-12
-34
36
0
0
0
0
0
0
0
16
15
0
0
0
0
0
0
6
15
18
0
0
0
0
0
0
-2
-3
36
0
0
0
0
0
2
0
5
17
0
0
8
-4
0
-6
43
9
-60
0
0
0
0
0
4
13
-29
-4
0
0
0
6
0
3
33
-10
8
0
0
0
0
-2
0
7
-75
-12
0
0
10
0
0
-3
12
-11
24
0
0
0
0
0
0
14
-45
31
0
0
0
0
0
1
0
20
30
0
0
0
0
0
0
1
57
-34
0
0
-11
0
0
0
-41
104
42
0
0
0
0
0
-7
0
33
6
0
0
0
2
0
0
27
-21
29
0
0
0
0
0
0
-18
58
-13
0
0
-17
0
0
0
39
59
-19
0
0
0
0
0
0
-13
3
50
0
0
0
-1
0
0
13
-65
21
0
0
0
0
0
0
0
36
-1
0
0
-4
0
0
5
33
-49
22
0
0
0
0
0
0
15
47
-52
0
0
0
3
0
-2
-2
-55
63
0
0
0
0
0
-13
40
-1
-22
0
0
-2
1
0
0
-66
-64
35
0
0
0
0
0
2
0
-28
-11
0
0
0
9
0
0
4
-88
-6
0
0
0
0
0
0
-7
92
-9
0
0
0
0
0
9
41
-43
50
0
0
0
0
0
0
6
78
-31
0
0
0
-1
0
-4
28
-83
62
0
0
0
0
0
0
1
-94
51
0
0
1
0
0
-6
2
-99
66
0
0
0
0
0
0
-4
10
65
0
0
0
11
0
0
-5
43
-15
0
0
0
0
0
-2
-1
13
18
0
0
0
0
0
3
-48
-15
4
0
0
0
0
-2
-3
5
-98
-1
0
0
0
0
0
0
-13
24
31
0
0
0
0
-3
0
-35
-26
170
0
0
0
0
0
0
0
-73
42
0
0
0
0
0
6
11
-30
-42
0
0
0
0
0
0
-8
34
101
0
0
0
0
0
-9
-3
-15
-4
0
0
0
0
0
-2
-1
-6
14
0
0
0
0
0
2
1
-105
113
0
0
0
0
0
0
-6
-33
80
0
0
0
0
4
-6
0
47
3
0
0
0
0
0
0
-7
-4
29
0
0
0
0
0
0
2
-14
18
0
0
0
0
0
0
0
6
43
0
0
0
0
5
2
0
49
-8
0
0
0
0
0
0
-15
-115
26
0
0
0
0
0
0
4
-49
40
0
0
0
0
0
0
17
136
-58
0
0
0
0
2
1
5
-61
92
0
0
0
0
0
0
-1
40
-45
0
0
0
0
0
-8
4
9
-70
0
0
0
0
0
-2
0
-36
17
0
0
0
0
0
0
-3
-15
45
0
0
0
0
0
-3
0
-4
-7
0
0
0
0
0
0
-1
30
11
0
0
0
0
0
0
-2
18
17
0
0
0
0
0
0
-18
-5
68
0
0
0
0
0
-5
0
-41
39
0
0
0
0
0
0
8
25
21
0
0
0
0
0
-3
0
1
-12
0
0
0
0
-6
-2
-3
26
-24
0
0
0
-15
0
1
-77
119
-78
0
0
0
0
0
-7
-12
4
45
0
0
0
12
0
0
45
-64
-10
0
0
0
0
0
0
0
7
-3
0
0
0
-3
0
0
-20
91
51
0
0
0
0
0
0
-3
-44
42
0
0
0
6
0
-2
1
-57
-43
0
0
0
0
0
-4
1
-6
10
0
0
0
0
0
0
4
-40
101
0
0
0
0
0
0
0
8
-25
0
0
0
1
0
0
3
1
-14
0
0
0
0
0
0
-7
51
29
0
0
0
0
0
-5
-2
43
57
0
0
0
0
0
0
0
21
47
0
0
0
-22
0
0
0
-1
-10
0
0
0
0
0
0
4
29
9
0
0
0
0
0
0
6
5
3
0
0
0
0
0
0
10
-23
90
0
0
0
2
0
0
1
-9
12
0
0
0
0
0
0
0
-61
21
0
0
0
6
0
0
-6
-27
6
0
0
0
0
0
0
0
-19
82
0
0
0
6
0
0
4
-27
-33
0
0
0
0
0
0
0
-13
20
0
0
0
0
0
0
-14
15
40
0
0
0
0
0
0
1
46
-5
0
0
0
7
0
0
2
-73
10
0
0
0
0
0
0
0
10
69
0
0
0
4
0
0
0
40
26
0
0
0
0
0
0
0
63
-47
0
0
0
-18
0
2
-2
-5
24
0
0
0
0
0
0
0
-46
-21
0
0
0
0
0
12
-34
-63
9
0
0
0
0
0
-8
0
-46
116
0
0
0
0
0
0
14
-120
22
0
0
0
0
1
7
6
-16
-6
0
0
0
0
0
-1
0
-6
53
0
0
0
0
0
5
0
-25
23
0
0
0
0
0
-4
-5
20
12
0
0
0
0
13
-5
-6
22
3
0
0
0
0
0
0
8
37
-44
0
0
0
0
6
-5
0
5
18
0
0
0
0
-6
0
-17
4
112
0
0
0
0
5
-7
4
-16
-14
0
0
0
0
0
0
-2
20
-12
0
0
0
0
-1
-15
-2
-1
31
0
0
0
0
0
0
1
-22
17
0
0
0
0
-11
3
-3
-6
-25
0
0
0
0
0
0
-19
-3
20
0
0
0
0
0
12
-9
-4
-31
0
0
0
0
0
0
-3
-22
-9
0
0
0
0
0
16
-1
-24
29
0
0
0
0
0
0
0
25
32
0
0
0
0
0
-6
0
24
26
0
0
0
0
0
0
-1
28
2
0
0
0
0
-2
-1
3
-34
-16
0
0
0
0
0
0
-2
13
62
0
0
0
0
0
-1
8
-12
-2
0
0
0
0
0
0
0
30
10
0
0
0
0
6
4
-11
-21
91
0
0
0
0
0
-1
0
-3
112
0
0
0
0
0
-1
-24
-29
62
0
0
0
0
0
0
-3
0
90
0
0
0
0
5
3
-2
-46
-6
0
0
3
0
-1
-13
-38
-1
72
0
0
0
0
0
-2
2
-48
11
0
0
0
0
0
0
-14
-36
-56
0
0
0
0
0
0
7
-26
24
0
0
-2
0
0
-3
22
8
-48
0
0
0
0
0
4
-11
-45
83
0
0
0
0
0
0
11
-45
40
0
0
0
0
0
-3
-6
1
-6
0
0
0
0
0
44
-3
8
24
0
0
0
0
0
0
-11
49
-46
0
0
0
0
0
-2
-17
-12
37
0
0
0
0
0
-2
-10
-39
7
0
0
-15
0
0
-13
7
90
-32
0
0
0
0
0
0
-9
2
38
0
0
0
0
0
-1
-2
-9
47
0
0
0
0
0
18
-1
-8
7
0
0
0
0
0
-9
6
-20
62
0
0
0
0
0
-6
0
82
-18
0
0
0
0
0
2
17
-49
-42
0
0
0
0
0
1
-1
-15
15
0
0
0
0
0
0
31
35
-50
0
0
0
0
0
0
-3
-20
38
0
0
0
0
0
-2
-11
8
22
0
0
0
0
0
9
-1
56
-31
0
0
0
0
0
-6
-45
17
66
0
0
0
0
0
1
-6
15
19
0
0
0
7
0
-1
9
-17
-17
0
0
0
0
2
0
4
-20
-79
0
0
-1
0
0
2
0
21
10
0
0
0
0
0
6
-6
44
19
0
0
0
8
0
-3
-5
-17
15
0
0
0
0
0
-4
5
-3
33
0
0
0
0
0
11
15
-43
-23
0
0
0
0
-8
0
0
-19
-5
0
0
0
0
0
0
-4
40
-2
0
0
0
0
0
0
0
27
-9
0
0
0
0
0
-3
-9
-71
12
0
0
0
0
0
-3
0
-9
-15
0
0
0
0
0
0
-2
-31
17
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
-8
0
15
0
0
0
0
0
0
0
-74
109
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
0
0
4
4
0
0
0
0
0
-3
0
-20
42
0
0
0
0
0
0
0
-36
52
0
0
0
0
0
0
0
5
49
0
0
0
0
-2
0
0
-18
42
0
0
0
0
0
0
0
29
-97
0
0
0
0
0
0
0
-48
15
0
0
0
0
0
0
-1
-35
30
0
0
0
0
0
0
0
23
15
0
0
0
0
0
0
0
-68
91
0
0
0
0
0
0
0
7
-73
0
0
0
0
0
0
0
-43
70
0
0
0
0
0
0
0
71
-62
0
0
0
0
0
0
0
-62
1
0
0
0
0
0
0
0
-85
71
0
0
0
0
0
0
0
-31
6
0
0
0
0
0
0
0
2
52
0
0
0
0
0
0
1
-41
46
0
0
0
0
0
0
-4
71
-9
0
0
0
0
0
0
0
-5
53
0
0
0
0
0
-2
0
-34
-4
0
0
0
-13
0
-7
-11
-41
59
0
0
0
0
0
0
0
7
38
0
0
0
8
0
0
3
-39
-1
0
0
0
0
0
0
0
18
-91
0
0
0
2
0
1
6
-58
58
0
0
0
0
0
0
-1
34
-2
0
0
0
-26
0
0
-5
22
84
0
0
0
0
0
0
0
-96
-4
0
0
0
-1
0
5
6
-25
-25
0
0
0
0
0
0
-1
-5
-60
0
0
0
0
0
0
5
-34
22
0
0
0
0
0
0
6
-44
100
0
0
0
0
0
0
0
-46
85
0
0
0
0
0
0
0
28
-85
0
0
0
2
0
0
1
-7
26
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-13
-45
0
0
0
-3
0
0
0
-40
35
0
0
0
0
0
0
0
-18
51
0
0
0
0
0
0
2
23
37
0
0
0
0
0
0
0
-67
70
0
0
0
0
0
0
2
-58
-3
0
0
0
0
0
0
0
-15
28
0
0
0
2
0
0
0
-13
18
0
0
0
0
2
0
0
-90
26
0
0
0
11
0
2
-1
-7
-21
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
22
37
0
0
0
0
0
0
0
-54
59
0
0
0
-10
0
0
0
12
16
0
0
0
0
0
0
0
12
-71
0
0
0
0
0
19
6
-21
-89
0
0
0
0
0
0
0
-2
66
0
0
0
0
0
0
1
-3
-6
0
0
0
0
0
-3
-1
13
32
0
0
0
0
0
0
4
-3
20
0
0
0
0
0
0
0
-55
12
0
0
0
0
0
0
3
0
-31
0
0
0
0
0
3
-1
3
-1
0
0
0
0
0
0
5
-45
-4
0
0
0
0
2
0
2
13
49
0
0
0
0
0
0
-6
15
12
0
0
0
0
-13
0
-2
16
63
0
0
0
0
0
0
0
4
81
0
0
0
0
0
-2
0
6
33
0
0
0
0
0
0
1
0
22
0
0
0
0
3
-1
0
-8
-11
0
0
0
0
0
0
-1
-1
106
0
0
0
0
0
0
0
-85
65
0
0
0
0
0
0
0
-19
4
0
0
0
0
-2
0
0
-1
36
0
0
0
0
0
0
-1
-11
31
0
0
0
0
0
-1
0
1
21
0
0
0
0
0
0
16
-74
43
0
0
0
0
0
8
0
0
46
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
4
-40
2
0
0
0
0
0
0
-6
-53
55
0
0
0
0
3
-1
2
-34
20
0
0
0
0
0
0
0
24
21
0
0
0
0
0
-2
0
-11
29
0
0
0
0
0
-2
3
4
-14
0
0
0
0
1
-1
-2
16
51
0
0
-3
0
0
4
-51
5
8
0
0
0
0
0
0
2
-54
54
0
0
0
0
0
0
11
42
1
0
0
0
0
0
0
0
-15
-2
0
0
-1
0
0
0
-20
-70
87
0
0
0
0
0
0
-2
10
-14
0
0
0
0
0
0
1
102
-43
0
0
0
0
0
0
11
5
-9
0
0
0
0
0
4
-7
-2
49
0
0
0
0
0
0
-1
28
41
0
0
0
2
0
-2
0
-44
-24
0
0
0
0
0
1
0
-43
39
0
0
1
0
0
0
-15
38
10
0
0
0
0
0
-1
0
28
-37
0
0
0
5
0
1
0
27
-4
0
0
0
0
0
-5
0
-14
53
0
0
0
0
0
3
1
-32
-14
0
0
0
0
0
0
0
-37
57
0
0
0
0
0
0
1
-39
20
0
0
0
0
0
0
0
-33
4
0
0
19
0
0
0
4
-1
-82
0
0
0
0
0
0
0
8
48
0
0
0
1
0
0
4
33
9
0
0
0
0
0
0
0
-74
48
0
0
-2
0
0
0
36
-29
26
0
0
0
0
0
0
0
21
15
0
0
0
0
0
0
6
9
-33
0
0
0
0
0
0
0
-96
91
0
0
19
0
0
0
4
-91
18
0
0
0
0
0
0
0
15
28
0
0
0
-11
0
0
4
-1
33
0
0
0
0
0
0
0
-25
76
0
0
0
0
0
1
1
-8
-68
0
0
0
0
0
0
0
-28
34
0
0
0
0
0
0
0
12
-9
0
0
0
0
-3
0
0
-48
0
0
0
0
0
0
6
3
32
-53
0
0
0
0
0
0
0
-20
-54
0
0
0
0
0
1
0
-51
0
0
0
0
0
0
17
0
31
-5
0
0
0
0
0
0
-2
34
22
0
0
0
0
0
0
4
-75
-31
0
0
0
0
0
0
5
-10
54
0
0
0
0
-2
-2
11
19
47
0
0
0
0
0
-7
-1
-12
50
0
0
0
0
0
0
4
11
15
0
0
0
0
0
3
0
-2
70
0
0
0
0
2
16
0
2
-53
0
0
0
0
0
0
0
-45
-40
0
0
0
0
0
0
0
4
-52
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-18
56
0
0
0
0
0
1
0
-17
104
0
0
0
0
0
0
0
-57
86
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
-2
0
15
25
0
0
0
0
0
0
-2
26
40
0
0
0
0
0
0
0
7
12
0
0
0
0
0
0
0
-15
75
0
0
0
0
1
1
0
20
12
0
0
0
0
0
0
0
3
13
0
0
0
0
0
-5
0
22
58
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-15
7
9
3
0
0
0
0
0
0
-10
0
21
0
0
0
0
0
0
0
12
29
0
0
0
0
0
0
-6
0
11
0
0
0
0
0
0
-4
-1
-25
0
0
0
0
0
-8
-6
11
28
0
0
0
0
0
0
3
0
-4
0
0
0
-6
0
0
-6
-2
-16
0
0
0
0
0
-3
9
0
-7
0
0
0
0
0
0
0
-31
79
0
0
0
0
0
0
0
8
6
0
0
0
-3
0
-4
3
-16
-43
0
0
0
0
0
-1
-4
5
-40
0
0
0
4
0
2
5
-18
20
0
0
0
0
0
13
3
-2
80
0
0
0
35
0
2
0
8
1
0
0
0
0
8
0
0
0
63
0
0
0
0
0
0
0
-2
-70
0
0
0
0
0
0
0
-18
5
0
0
0
0
0
0
0
-9
15
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
-3
16
-8
0
0
0
0
0
0
0
4
36
0
0
0
7
0
0
0
-9
2
0
0
0
0
0
0
0
1
-42
0
0
0
0
0
0
6
48
-25
0
0
0
0
0
0
0
12
-11
0
0
0
14
0
0
0
5
4
0
0
0
0
0
0
3
24
11
0
0
0
-16
0
0
0
-42
33
0
0
0
0
0
0
0
9
78
0
0
0
28
0
-1
0
2
60
0
0
0
0
0
0
0
14
-8
0
0
0
0
7
1
-12
-14
-18
0
0
0
0
1
0
0
-3
-32
0
0
0
0
0
0
0
2
-55
0
0
0
0
3
0
-2
8
-41
0
0
0
0
0
0
-8
2
-1
0
0
0
0
0
-9
1
5
12
0
0
0
0
0
0
3
2
13
0
0
0
0
1
2
1
17
0
0
0
0
0
0
-3
0
-2
72
0
0
0
0
0
-2
-13
-34
6
0
0
0
0
-2
0
6
-7
-34
0
0
0
0
2
7
5
29
17
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
-4
4
-11
-9
0
0
0
0
4
-4
-2
7
-4
0
0
0
0
6
-23
-1
0
50
0
0
0
0
0
0
0
-27
-3
0
0
0
0
0
0
-1
0
-20
0
0
0
0
0
0
8
-8
-49
0
0
0
0
0
0
0
-17
75
0
0
0
0
0
0
0
20
52
0
0
0
0
1
0
4
-8
-63
0
0
0
0
0
3
-9
5
38
0
0
0
0
7
-8
-4
11
18
0
0
0
0
0
0
0
-69
33
0
0
0
0
1
0
4
-2
40
0
0
0
0
-17
1
22
-1
11
0
0
0
0
-6
0
-1
15
-18
0
0
0
0
0
-1
0
-9
55
0
0
0
0
0
8
0
25
-31
0
0
0
0
0
-3
11
3
-6
0
0
0
0
-6
8
-2
19
-2
0
0
-5
-48
-86
23
61
-28
15
22
4
0
0
-20
39
-17
56
-17
-93
61
0
31
-13
-29
49
-23
-71
7
30
0
0
-5
-21
-63
45
52
-141
30
-26
-38
4
-28
-39
-50
5
-23
50
0
0
22
9
28
-15
-40
-21
85
0
-1
0
4
-14
-11
-77
72
-112
0
0
-1
-3
9
-34
-30
-91
54
-23
-1
-6
7
-72
63
52
-5
0
0
0
4
-4
-13
25
14
-16
0
0
4
-6
4
59
-6
53
-61
0
0
0
-3
-13
2
3
48
103
0
8
0
0
-4
-20
-28
19
-24
0
0
0
0
-2
-14
6
-11
-33
0
0
1
0
2
1
10
13
-83
0
0
0
0
0
2
2
-5
-42
0
2
0
-37
16
6
6
-40
0
0
0
0
1
-8
44
2
-17
0
0
0
3
0
0
-16
53
37
0
0
0
0
0
-2
-15
3
-10
0
0
1
12
0
16
10
-31
-43
0
0
0
0
1
-9
-19
-62
29
0
0
0
5
0
0
16
-8
-29
0
0
0
0
0
-1
0
8
-14
0
0
0
0
0
22
-6
-65
3
0
0
0
0
1
-2
3
8
15
0
0
0
1
0
0
-2
-2
-34
0
0
0
0
0
6
0
-6
-5
0
0
0
0
0
2
16
-65
-6
0
0
0
0
1
0
-2
-6
-18
0
0
0
1
0
-1
0
-10
0
0
0
0
0
0
0
-2
-1
7
0
0
0
0
-1
-65
29
-29
56
88
-44
0
0
0
11
20
23
-96
-20
59
0
0
-4
-9
1
-3
-20
-43
93
0
0
-11
2
-31
-25
-1
-49
38
0
0
6
-5
35
86
-25
17
-57
0
0
-6
10
10
-44
4
41
-101
0
0
0
3
-2
-85
58
-58
-10
0
0
2
-14
-2
16
-21
-55
-52
0
0
-9
-6
14
-8
47
22
0
0
0
-5
-11
2
15
58
-70
0
0
0
0
0
-2
-40
-4
52
0
0
0
-1
-1
-6
-20
104
75
0
0
0
0
0
-5
0
-28
-2
0
0
0
1
0
17
6
10
-58
0
0
0
0
0
0
-12
13
-35
0
0
0
5
1
0
-15
-8
-57
0
0
0
1
-14
7
-69
-5
0
0
0
0
0
-5
-12
28
-29
0
0
0
0
0
1
-3
-7
6
0
0
0
0
0
2
-4
20
0
0
0
0
0
0
-1
-5
1
-30
0
0
0
0
0
3
-3
28
7
0
0
0
0
0
0
-15
6
8
0
0
0
0
0
-1
3
-2
-8
0
0
0
0
-1
0
-3
5
-1
0
0
0
0
0
0
-2
-23
6
0
0
0
0
0
0
1
-10
7
0
0
0
0
0
-1
-2
-37
4
0
0
0
0
0
0
1
18
1
0
0
0
0
0
-2
0
-22
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-3
0
0
0
0
98
12
30
-23
-30
-61
15
2
0
0
-5
0
24
48
38
19
-68
0
3
0
-1
-7
-3
64
-6
-2
0
0
0
12
6
3
-24
80
2
0
-1
0
-2
27
-70
32
-90
47
0
0
0
2
-2
62
13
-4
-54
0
-18
0
1
2
-47
6
22
-20
0
0
1
1
-18
-36
-19
-16
64
0
-8
1
-6
6
-46
-53
1
0
0
0
0
-3
-19
-11
6
68
0
0
-4
0
1
18
15
-27
-38
0
0
0
0
-1
-2
-28
5
37
0
0
0
0
0
-9
1
4
-7
0
0
0
0
0
-4
13
10
69
0
0
0
0
-3
3
16
19
16
0
0
0
0
0
-3
5
-24
-1
0
0
19
1
-11
-29
-33
39
0
0
0
0
-2
-7
-22
-8
-19
0
0
0
-1
0
1
11
-7
12
0
0
0
0
0
-4
2
2
22
0
0
0
-1
0
1
-24
0
11
0
0
0
0
0
0
-13
7
-39
0
0
0
-5
0
0
5
-3
4
0
0
0
0
0
0
-11
1
41
0
0
0
1
0
1
3
-25
-26
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
1
-47
14
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
-3
-7
-1
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
1
0
0
0
0
14
-33
-14
-28
27
150
-63
0
0
-4
12
-17
26
32
36
-12
0
0
3
4
39
-8
13
13
28
0
0
-11
-6
29
11
76
50
18
0
0
1
-3
0
0
11
-178
153
0
0
10
-12
32
18
18
-36
-6
0
0
0
-2
4
-27
22
-28
-20
0
0
18
-1
2
-15
-19
-41
12
0
0
-1
16
32
35
-17
46
0
0
0
-1
17
3
-34
4
-63
0
0
0
0
-2
20
-3
22
-18
0
0
0
0
-10
-1
9
25
-45
0
0
0
0
-1
0
5
14
-27
0
0
0
0
0
-2
-1
13
6
0
0
0
0
0
0
5
12
12
0
0
0
0
-1
-1
-6
-5
15
0
0
0
1
2
-16
9
20
0
0
0
0
3
-11
1
25
36
0
0
0
0
0
-1
6
4
-2
0
0
0
0
-1
0
4
8
29
0
0
0
0
0
1
-9
-2
23
0
0
0
0
-1
5
9
3
19
0
0
0
0
0
1
1
0
-8
0
0
0
0
0
0
-7
-3
-12
0
0
0
0
0
0
-5
-3
3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
1
2
-6
0
0
0
0
0
-3
0
-5
-3
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
2
0
-1
0
-6
0
0
-13
0
-1
-36
-18
47
68
17
-34
0
0
-2
-27
-26
-4
-71
-98
120
0
3
0
-9
-5
12
24
-8
13
0
0
0
0
-11
-2
16
-16
1
26
0
0
-8
17
-21
-53
-18
-1
0
0
0
0
-8
-5
-22
43
18
0
0
0
1
-32
9
-1
-80
88
0
0
0
5
1
-4
-4
-8
65
-9
0
0
9
47
2
20
-60
0
0
0
0
1
-7
45
-22
-19
0
0
0
0
1
13
6
-9
-62
0
0
0
0
-4
2
-7
5
38
0
-4
0
0
1
13
-2
12
-75
0
0
0
0
2
2
-9
-15
-37
0
0
-1
0
1
-3
1
9
39
0
0
0
0
0
-2
0
-2
-29
0
-2
1
0
-9
-24
-18
94
0
0
0
0
0
3
3
-9
-61
0
0
0
1
0
0
-16
-3
6
0
0
0
0
0
0
1
6
1
0
0
-18
0
0
3
26
-29
54
0
0
0
0
1
1
-2
-32
0
0
0
0
0
0
0
9
-5
17
0
0
0
0
0
0
0
6
8
0
0
0
0
0
-4
-7
13
-39
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
1
0
2
0
0
-1
0
0
-6
8
2
-14
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
1
0
4
0
0
0
0
-5
9
-22
-8
-31
-52
49
0
0
3
4
-3
-19
-6
-20
-26
0
0
0
-4
33
-13
6
47
-124
0
0
-3
-14
11
15
64
-48
-10
0
0
0
0
-27
39
8
-77
46
0
0
0
4
11
-25
1
70
-110
0
0
0
0
2
-22
-7
42
53
0
0
0
1
0
24
-7
-7
13
0
0
0
0
-5
-17
-12
-20
0
0
0
-1
-1
2
-3
-20
58
0
0
0
0
-1
3
-26
3
23
0
0
0
0
2
0
5
8
23
0
0
0
0
-1
-4
-3
2
19
0
0
0
0
-2
1
0
-29
42
0
0
0
0
0
5
3
12
43
0
0
0
0
0
0
9
2
20
0
0
0
0
-6
-20
6
-1
0
0
0
0
0
-1
-3
-19
18
0
0
0
0
0
-2
0
0
-40
0
0
0
0
0
0
0
-21
11
0
0
0
0
0
-2
2
-24
-12
0
0
0
0
0
0
-1
-15
11
0
0
0
0
0
0
-1
-7
8
0
0
0
0
0
0
-7
-1
28
0
0
0
0
0
1
-17
-7
-3
0
0
0
0
0
-1
0
9
-7
0
0
0
0
0
0
0
-9
11
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
3
-3
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
-2
1
0
0
0
9
-5
11
-19
-1
2
-11
3
0
0
0
-1
23
-5
-11
52
-69
0
-32
-1
0
20
15
31
76
-88
0
0
0
0
-19
-8
42
-15
80
0
2
0
4
-1
11
-20
9
16
0
0
0
0
1
2
-1
-13
59
0
-4
0
1
-1
-11
5
-13
64
0
0
0
-4
4
1
1
30
35
0
0
0
-1
0
8
31
-49
0
0
0
0
1
2
28
22
-17
0
0
-15
0
-2
1
28
27
-39
0
0
0
0
0
-5
-5
-18
73
0
0
1
0
-1
5
25
5
11
0
0
0
0
-1
3
-1
10
-26
0
0
-4
0
0
-4
-2
-6
38
0
0
0
0
0
1
-1
2
-4
0
0
-3
0
2
-15
-2
22
0
0
0
0
0
0
-4
-50
8
0
0
0
2
0
-1
5
-8
51
0
0
0
0
0
0
-9
-8
4
0
0
0
0
0
0
-8
15
-33
0
0
0
0
0
0
-4
-8
2
0
0
0
1
0
-1
1
-21
-3
0
0
0
0
0
-7
0
-1
15
0
0
0
0
0
0
-1
6
-33
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-2
5
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-1
20
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-23
-4
-22
8
28
-62
0
0
2
-13
0
11
16
50
17
0
0
0
-4
17
-41
12
16
82
0
0
-21
1
1
-3
-17
-3
63
0
0
0
2
9
1
15
-42
-36
0
0
1
3
1
1
-1
-4
35
0
0
0
0
1
1
-1
55
-7
0
0
-3
57
7
-3
2
6
25
0
0
0
-3
2
-12
-33
77
0
0
0
0
3
0
-16
14
-4
0
0
0
-1
-1
-3
15
-10
-32
0
0
0
0
-3
0
-16
-9
-25
0
0
0
0
0
-2
7
0
11
0
0
0
0
0
2
0
2
12
0
0
0
0
0
-2
-2
0
-12
0
0
0
0
-2
0
0
-1
-22
0
0
0
0
-6
11
22
-35
0
0
0
0
-1
1
0
1
-3
0
0
0
0
0
-2
-3
-3
-1
0
0
0
0
0
-2
17
2
-10
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
2
2
6
-1
0
0
0
0
0
0
1
0
3
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
1
0
-16
1
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
-1
-1
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
-1
0
0
0
2
0
0
2
-2
7
-23
-23
9
23
-56
0
0
0
-1
7
-17
-30
3
55
0
0
0
0
3
9
-68
-72
41
0
0
0
0
0
-12
6
5
-34
0
1
0
0
8
23
-10
27
-47
0
0
0
1
-1
29
-27
21
14
0
0
0
0
-1
-2
7
27
-54
0
0
0
0
1
0
3
-25
-9
0
0
0
6
-14
-6
4
49
8
0
0
0
-1
-5
-7
-5
-29
21
0
0
0
0
-6
-2
12
-33
23
0
0
0
0
0
0
12
6
-58
0
-4
0
0
-2
12
9
10
5
0
0
0
0
-1
1
21
-32
-13
0
0
0
0
0
0
2
-24
-23
0
0
0
0
0
0
-1
48
10
0
0
0
1
-4
-9
4
5
0
0
0
0
2
-5
0
-36
-37
0
0
0
0
0
0
9
6
41
0
0
0
0
0
-1
-6
-7
24
0
0
0
0
0
2
-15
1
9
0
0
0
0
0
0
2
-15
17
0
0
0
0
0
0
1
-4
-15
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
18
10
-23
-39
0
0
0
0
0
0
2
6
5
0
0
0
1
0
0
-1
5
34
0
0
0
0
0
0
3
-1
35
0
0
0
0
0
4
8
9
12
0
0
0
0
0
1
1
5
43
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
0
-12
0
0
0
0
15
-12
-16
31
-8
-2
0
0
0
3
11
-12
-1
-53
54
0
0
0
0
0
27
-26
-25
31
0
0
0
0
-1
5
-13
-7
-3
0
0
0
0
1
-10
17
-45
-7
0
0
0
0
3
8
-22
7
-16
0
0
0
0
0
1
0
19
11
0
0
0
0
0
-2
-6
-20
-22
0
0
0
0
2
-18
-6
46
-79
0
0
0
0
-3
1
1
3
-51
0
0
0
-1
0
7
-4
-10
5
0
0
0
0
-1
-2
1
25
-39
0
0
0
0
0
0
-10
-3
39
0
0
0
-7
0
0
-1
35
22
0
0
0
0
0
0
3
-16
74
0
0
0
0
0
0
0
-3
30
0
0
0
2
0
15
12
10
0
0
0
0
0
0
0
-35
-29
0
0
0
0
0
0
0
-17
20
0
0
0
0
0
1
-1
6
-47
0
0
0
0
0
0
-3
22
28
0
0
0
0
0
0
2
3
-14
0
0
0
0
0
0
0
8
-4
0
0
0
0
-1
-1
0
0
-6
0
0
0
0
-1
1
2
24
25
0
0
0
0
0
0
0
-13
39
0
0
0
0
0
0
0
15
-12
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
21
3
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
1
0
0
0
0
-35
3
-61
12
-20
13
-44
0
0
0
0
-3
-10
-53
3
55
0
0
2
1
2
-2
-12
11
-43
0
0
0
-6
0
-2
-7
6
13
0
0
0
0
2
-11
-16
22
4
0
0
0
0
0
-1
-28
67
34
0
0
-2
0
-1
9
7
-29
33
0
0
0
-3
-1
-1
-5
13
-48
0
0
0
0
1
-7
-12
20
-63
0
0
0
2
0
0
16
12
22
0
0
-1
0
0
0
5
0
-49
0
0
0
0
0
-10
0
-37
-15
0
0
0
0
0
-5
-12
13
-20
0
0
0
0
0
-1
-1
-3
21
0
0
0
0
0
4
6
25
-24
0
0
0
-1
0
1
-2
-20
91
0
0
1
1
0
17
-20
6
0
0
0
0
1
0
14
3
11
0
0
0
0
0
0
7
24
-29
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-9
6
-9
0
0
0
0
0
0
-13
8
-2
0
0
0
1
0
0
0
-8
-6
0
0
0
0
3
0
-1
3
-7
0
0
0
0
0
2
0
-41
-17
0
0
0
0
0
0
0
-1
15
0
0
0
-3
0
0
1
14
13
0
0
0
0
0
0
0
1
8
0
0
0
0
0
1
0
-1
34
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
-8
-8
0
0
0
0
0
1
0
0
-23
0
0
0
0
-1
-1
-78
31
-31
41
0
0
0
0
-20
21
-20
-17
-16
0
0
0
0
0
1
-7
0
26
0
0
0
-1
4
-13
1
-3
4
0
0
0
0
-3
22
-6
31
-10
0
0
0
1
9
-5
0
14
-46
0
0
0
0
0
-2
0
14
8
0
0
0
-3
7
10
-13
13
-81
0
0
0
2
0
-2
-5
-5
6
0
0
0
-2
-1
5
-10
15
78
0
0
0
0
0
-6
2
28
-19
0
0
0
1
2
1
0
-9
-37
0
0
0
0
0
0
-3
-2
-5
0
0
0
1
-1
4
3
-13
-70
0
0
0
0
0
1
-1
5
70
0
0
0
0
1
0
0
-4
20
0
0
0
1
0
6
3
-31
0
0
0
0
1
1
2
-10
7
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
8
2
2
0
0
0
0
0
0
5
-1
-12
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
3
0
-1
10
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
-1
2
-3
24
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
-1
4
-1
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
-2
2
5
0
0
0
0
-1
-2
-3
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
1
0
-2
2
8
0
0
-19
1
2
4
24
-46
-50
41
0
0
0
0
4
9
-11
29
-66
0
0
-1
0
0
-6
-21
-57
-25
0
0
0
0
0
0
3
8
-4
0
37
0
0
-1
-7
1
32
-13
0
0
0
2
-2
2
-6
-15
-33
0
0
0
0
1
-1
18
11
-31
0
0
0
0
0
1
-3
7
71
0
1
0
0
4
16
25
9
-24
0
0
0
0
-1
4
-5
-58
-61
0
0
0
0
0
-1
5
14
2
0
0
0
0
0
0
0
7
-6
0
17
0
0
0
-31
-1
-18
65
0
0
0
0
-1
-1
-4
-16
88
0
0
0
0
0
1
-1
-24
61
0
0
0
0
0
-3
3
6
43
0
0
0
0
-3
-40
2
-2
0
0
0
0
0
0
0
-2
37
0
0
0
0
0
-1
1
6
2
0
0
0
0
0
0
0
0
-4
0
0
-4
0
0
1
-25
-10
31
0
0
0
0
-2
1
0
-7
17
0
0
0
1
0
0
3
2
-6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-3
-12
24
25
0
0
0
0
0
0
1
6
20
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
-10
0
-15
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
-3
-1
0
0
0
0
0
-6
-17
13
-21
36
-8
0
0
0
0
-1
-1
1
-24
-32
0
0
0
0
3
-1
2
4
36
0
0
0
-1
0
0
8
20
17
0
0
0
0
-1
1
-29
35
-62
0
0
0
0
0
2
-2
-19
-30
0
0
0
0
0
0
3
4
118
0
0
0
0
0
-1
0
-2
-10
0
0
0
3
9
-3
4
-21
-44
0
0
0
1
0
0
-6
-54
-73
0
0
0
0
2
3
0
34
17
0
0
0
3
0
1
1
-19
110
0
0
0
0
2
3
-6
-7
67
0
0
0
0
0
0
-10
-6
19
0
0
0
0
0
0
0
26
-41
0
0
0
-2
0
-4
7
21
-52
0
0
0
0
-1
0
-24
-3
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
4
-3
1
-18
0
0
0
0
2
0
0
-7
9
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-14
-24
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
-2
0
4
20
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
1
-12
0
0
0
-17
-3
9
16
-20
-11
-16
0
0
0
0
0
0
2
-3
15
0
0
20
0
0
-3
11
-13
26
0
0
0
-1
0
1
0
4
26
0
0
3
0
0
6
4
0
29
0
0
0
0
0
0
3
1
49
0
0
5
0
0
0
-7
13
-40
0
0
0
0
-1
-1
0
3
5
0
0
0
0
-3
1
-8
-8
-140
0
0
0
0
0
0
0
2
64
0
0
1
0
0
2
-2
-19
41
0
0
0
0
0
-3
0
31
-41
0
0
0
0
0
-2
0
10
29
0
0
0
0
0
3
0
34
56
0
0
-2
0
0
-1
-1
-42
53
0
0
0
0
1
0
-2
-3
-111
0
0
-1
0
0
2
11
-1
0
0
0
0
0
0
-4
-8
-31
0
0
0
-1
0
0
-1
-3
11
0
0
0
0
0
0
0
0
1
0
0
0
3
0
-2
-6
-20
1
0
0
0
0
0
0
-4
0
3
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
-3
-15
2
0
0
0
0
0
0
-2
0
2
0
0
0
-1
0
0
-1
1
1
0
0
0
0
0
0
0
-2
2
0
0
0
3
0
0
0
2
-8
0
0
0
0
0
0
3
0
-7
0
0
0
-3
0
0
0
0
12
0
0
0
0
0
-3
1
5
10
0
0
0
0
-9
-12
-4
11
26
-2
0
0
0
-4
5
1
0
0
55
0
0
0
-1
0
0
-9
-2
35
0
0
0
2
0
7
0
-10
-20
0
0
0
0
-2
-3
1
-1
51
0
0
0
0
-1
2
-1
0
-2
0
0
0
0
-1
-3
2
3
60
0
0
0
2
2
0
3
1
12
0
0
0
0
0
-3
1
6
-63
0
0
0
8
0
0
0
0
-32
0
0
0
0
0
-2
3
-6
-19
0
0
0
-6
1
0
0
26
7
0
0
0
0
0
-3
0
-9
-4
0
0
0
-2
0
0
0
-7
53
0
0
0
0
0
0
0
-25
40
0
0
0
3
0
0
0
9
-8
0
0
0
0
-1
3
1
-3
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
2
0
0
0
0
0
0
1
-1
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
-2
0
2
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
-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
-1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
0
22
3
-16
-63
-15
1
129
0
0
0
0
-6
12
-13
-20
16
0
0
0
-3
-3
37
15
32
-36
0
0
0
0
-2
-4
0
-45
14
0
0
5
0
4
-9
-52
26
45
0
0
0
0
0
1
29
-65
-4
0
0
0
1
0
0
-8
21
-37
0
0
0
0
0
2
-3
-22
26
0
0
0
0
2
2
0
-23
22
0
0
0
0
0
0
0
-33
-31
0
0
0
0
0
-1
2
17
31
0
0
0
0
0
0
-1
2
-8
0
0
0
0
0
-1
10
2
-23
0
0
0
0
0
0
-6
-1
-3
0
0
0
0
0
0
-2
-2
4
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
-13
14
30
-27
0
0
0
0
0
4
-2
-17
57
0
0
0
0
0
-4
-11
-7
-17
0
0
0
0
0
0
0
0
-9
0
0
0
-4
0
-2
4
-37
46
0
0
0
0
0
3
25
-31
-53
0
0
0
0
0
0
-1
-16
20
0
0
0
0
0
0
0
-11
5
0
0
0
0
0
4
-11
-49
93
0
0
0
0
0
0
1
-13
-3
0
0
0
0
0
2
4
-26
-8
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
-1
-41
-14
0
0
0
0
0
-1
0
-10
-44
0
0
0
0
0
0
2
27
-34
0
0
0
0
0
0
0
-1
8
0
0
0
0
30
11
-17
3
-4
0
0
0
0
-2
9
4
23
1
0
0
0
0
4
-1
-6
-25
-20
0
0
0
0
0
1
-3
-56
3
0
0
0
0
0
2
-4
-33
21
0
0
0
0
0
-3
-6
76
-63
0
0
0
0
0
0
1
11
30
0
0
0
0
0
4
1
-26
-17
0
0
0
0
1
-6
-2
1
-17
0
0
0
0
0
0
4
11
9
0
0
0
0
0
-3
0
5
-2
0
0
0
0
0
0
-2
-41
8
0
0
0
0
0
-3
11
-9
52
0
0
0
0
0
0
0
-14
26
0
0
0
0
0
0
0
-20
7
0
0
0
0
0
0
0
2
6
0
0
0
0
0
4
-14
-8
29
0
0
0
0
0
-5
-1
17
-26
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
1
13
31
0
0
0
0
0
1
9
-16
61
0
0
0
0
0
5
-6
38
57
0
0
0
0
0
0
0
-3
-76
0
0
0
0
0
0
3
-3
-39
0
0
0
0
0
0
8
-13
1
0
0
0
0
0
0
0
-4
-51
0
0
0
0
0
0
1
15
-26
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
2
-13
1
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-3
20
0
0
0
-19
0
-2
19
-67
55
0
0
0
0
0
0
-11
-44
12
0
0
0
3
0
0
-20
1
-59
0
0
0
0
1
1
12
12
-21
0
0
0
0
0
-4
3
37
-33
0
0
0
0
0
-2
17
-34
55
0
0
0
-1
0
0
-1
-10
58
0
0
0
0
0
0
9
29
39
0
0
0
0
0
0
-17
-53
-16
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
-1
24
7
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
4
3
10
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
-4
0
18
0
0
0
-3
0
-2
-15
2
-59
0
0
0
0
0
-1
2
32
7
0
0
0
0
0
0
-12
-24
-10
0
0
0
0
0
1
-4
-8
-11
0
0
0
1
0
0
-43
-11
-13
0
0
0
0
0
0
-5
-6
7
0
0
0
0
0
0
0
-38
-1
0
0
0
0
0
0
0
5
3
0
0
0
0
0
-6
3
0
4
0
0
0
0
0
0
0
-23
38
0
0
0
0
0
5
4
-4
-52
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
12
25
0
0
0
0
0
0
0
-14
-28
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
-8
32
10
-7
0
0
0
0
0
1
-35
12
56
0
0
0
0
1
-2
-6
3
-14
0
0
0
0
-1
1
-4
23
35
0
0
0
0
0
4
-2
-16
52
0
0
0
0
1
-1
-15
-41
38
0
0
0
0
0
0
0
-8
-2
0
0
0
0
-2
2
-6
22
-25
0
0
0
0
0
0
-5
-17
14
0
0
0
0
0
0
0
12
6
0
0
0
0
0
-1
-3
2
-12
0
0
0
0
0
-1
-4
0
8
0
0
0
0
0
0
1
0
-4
0
0
0
0
-1
0
0
-10
-3
0
0
0
0
0
0
1
-6
-4
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
13
-31
-7
0
0
0
0
-1
0
3
-6
57
0
0
0
0
0
0
0
18
11
0
0
0
0
0
-1
-1
-7
-24
0
0
0
0
0
-1
-1
0
15
0
0
0
0
-4
5
1
13
-24
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
4
-8
2
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-3
9
0
0
-56
-1
0
-39
-48
27
31
0
0
0
0
0
4
37
-36
-65
0
0
0
1
0
-1
-7
-58
-18
0
0
0
0
0
0
1
5
47
0
0
18
1
0
14
0
-15
23
0
0
0
0
0
1
-6
-19
44
0
0
0
0
0
0
-5
20
60
0
0
0
0
0
0
-3
-5
7
0
0
3
0
-1
-13
-1
-26
57
0
0
0
0
0
0
-2
37
-26
0
0
0
0
0
-1
2
-7
10
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
3
-1
-50
25
0
0
0
0
0
-8
0
0
39
0
0
0
0
0
0
1
1
11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
-8
-1
41
0
0
0
0
0
2
2
-16
49
0
0
0
0
0
0
0
-26
-13
0
0
0
0
0
0
0
-3
62
0
0
0
0
0
5
0
-13
-46
0
0
0
0
0
0
14
-8
1
0
0
0
1
0
0
0
17
1
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
5
-5
2
12
0
0
0
0
0
0
0
-25
17
0
0
0
0
0
0
0
-20
68
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-1
2
11
-3
0
0
0
0
0
0
2
8
-11
0
0
0
0
0
0
0
-25
35
0
0
0
0
0
0
0
3
2
0
0
0
0
1
12
16
-10
64
0
0
0
0
1
17
-2
13
23
0
0
0
0
-2
-2
1
-11
61
0
0
0
0
0
-1
4
16
2
0
0
0
0
0
2
1
4
-16
0
0
0
0
0
-4
-13
-19
7
0
0
0
0
0
0
0
3
2
0
0
0
0
0
4
-2
21
6
0
0
0
0
0
-2
12
28
1
0
0
0
0
0
1
-1
5
7
0
0
0
0
0
-1
0
8
-1
0
0
0
0
0
0
1
-14
13
0
0
0
0
0
0
7
8
11
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
-7
0
-16
0
0
0
0
0
0
3
-1
-6
0
0
0
0
0
1
5
31
-48
0
0
0
0
0
-1
0
-5
26
0
0
0
0
0
0
-3
-7
-5
0
0
0
0
0
1
0
0
13
0
0
0
0
0
-1
-1
-19
-9
0
0
0
0
0
0
-1
-27
-29
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
0
-31
39
0
0
0
0
0
-1
4
8
-1
0
0
0
0
0
6
0
-18
-9
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-7
1
-3
0
0
0
0
0
-1
1
13
-31
0
0
0
0
0
0
6
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
17
0
0
0
5
0
-9
19
-46
-40
0
0
0
0
0
-1
0
2
3
0
0
0
-9
0
-2
10
-13
10
0
0
0
0
0
-1
2
-3
15
0
0
0
1
0
0
-4
-22
-22
0
0
0
0
0
-1
1
15
-7
0
0
0
1
0
0
23
-17
-29
0
0
0
0
0
3
12
4
6
0
0
0
0
0
-1
0
-9
-7
0
0
0
0
0
0
2
-1
7
0
0
0
3
0
0
0
-2
19
0
0
0
0
0
0
1
0
14
0
0
0
2
0
0
-4
-17
4
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
-1
6
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
6
-1
-22
-16
0
0
0
0
0
3
0
-4
-6
0
0
0
-1
0
2
0
18
20
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
-2
-3
17
0
0
0
0
0
0
0
-25
7
0
0
0
2
0
0
2
-3
-4
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
6
-1
-1
-55
0
0
0
0
0
0
0
-3
19
0
0
0
1
0
0
0
-7
35
0
0
0
0
0
0
-1
-4
25
0
0
0
1
0
0
5
5
-14
0
0
0
0
0
0
-3
7
11
0
0
0
-2
0
0
0
-9
8
0
0
0
0
0
0
3
5
3
0
0
0
0
1
-4
-7
11
-1
0
0
0
0
-3
2
9
14
3
0
0
0
0
0
0
-1
-10
-14
0
0
0
0
-2
3
-12
0
4
0
0
0
0
0
0
3
-2
-9
0
0
0
0
0
0
3
-4
-3
0
0
0
0
0
1
-6
3
12
0
0
0
0
3
-2
9
4
-4
0
0
0
0
0
-1
0
2
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
-3
1
0
0
0
0
0
-1
-1
5
0
1
0
0
0
0
0
6
0
-6
11
0
0
0
0
0
-8
0
-2
10
0
0
0
0
0
0
-1
12
3
0
0
0
0
0
3
-1
-3
-8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
7
1
-3
-2
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
-2
-1
-4
0
0
0
0
0
-3
0
-2
-21
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
3
0
0
0
0
-1
0
-1
2
-5
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
2
11
0
0
0
0
3
-8
-46
-38
5
0
0
0
0
-5
-4
6
40
-16
0
0
0
-1
0
1
-56
19
-6
0
0
0
0
0
-1
1
-24
2
0
0
0
0
0
-1
-11
-16
3
0
0
0
0
0
-2
-1
2
-9
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
-1
20
-31
-18
0
0
0
0
0
0
0
14
21
0
0
0
0
0
2
10
-2
-7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
25
-43
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
2
0
-34
0
0
0
0
0
0
0
0
19
0
0
0
0
-1
-10
-29
54
17
0
0
0
0
0
3
-1
32
-40
0
0
0
0
0
-2
3
28
-2
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
-12
-6
42
0
0
0
0
0
0
2
-3
7
0
0
0
0
0
-2
0
-38
-26
0
0
0
0
0
0
0
1
12
0
0
0
0
0
7
3
32
-31
0
0
0
0
0
0
-1
-1
44
0
0
0
1
0
1
0
-3
-45
0
0
0
0
0
0
0
4
17
0
0
0
0
0
0
-4
8
-27
0
0
0
0
0
-2
0
-20
14
0
0
0
0
0
0
0
-7
28
0
0
0
0
0
0
0
-7
38
0
0
0
0
1
5
25
-64
36
0
0
0
0
0
-1
1
6
-9
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
1
-4
22
0
0
0
0
0
0
-3
7
45
0
0
0
0
0
0
-3
-18
-2
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
2
-4
27
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
2
-3
-8
0
0
0
0
0
1
0
4
-3
0
0
0
0
0
0
-1
-22
2
0
0
0
0
0
-1
3
2
-19
0
0
0
0
0
0
0
6
19
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
2
-9
16
62
0
0
0
0
0
0
0
-13
-7
0
0
0
0
0
-1
0
6
14
0
0
0
0
0
0
-1
-20
-9
0
0
0
0
0
0
0
32
-20
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-3
39
39
0
0
0
0
0
0
0
8
37
0
0
0
0
0
0
0
7
37
0
0
0
0
0
0
1
5
1
0
0
0
0
0
0
2
17
-17
0
0
0
0
0
0
1
-7
33
0
0
0
0
0
0
0
10
11
0
0
0
0
0
0
0
3
-37
0
0
0
0
0
12
13
-34
30
0
0
0
0
0
0
0
-4
41
0
0
0
0
0
0
-15
-19
3
0
0
0
0
0
3
4
-18
14
0
0
0
0
0
0
-1
14
40
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
-18
0
0
0
0
0
-2
-5
-11
-8
0
0
0
0
0
0
0
-2
-34
0
0
0
-1
0
0
1
-2
-27
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
1
-4
-15
0
0
0
0
0
0
1
-1
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
20
0
0
0
2
1
0
5
-1
-19
0
0
0
0
0
0
0
-3
37
0
0
0
-4
0
0
0
6
-33
0
0
0
0
0
0
-7
-5
-1
0
0
0
2
0
0
1
16
-16
0
0
0
0
0
0
0
8
-37
0
0
0
0
0
0
0
11
16
0
0
0
0
0
0
0
3
14
0
0
0
0
0
3
-4
10
35
0
0
0
0
0
0
-1
1
37
0
0
0
3
0
0
0
2
28
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
7
-31
0
0
0
0
0
0
0
8
-33
0
0
0
0
0
0
-3
-4
-6
0
0
0
0
-1
0
6
3
7
0
0
0
0
-6
3
29
-22
25
0
0
0
0
2
2
0
5
10
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-5
-2
-7
0
0
0
0
0
-1
0
-10
14
0
0
0
0
0
0
-3
-13
4
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
1
-4
9
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
2
0
-19
0
0
0
0
0
0
-1
2
14
0
0
0
0
0
0
0
3
-58
0
0
0
0
0
0
0
6
-12
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
3
-1
-23
0
0
0
0
0
0
2
-9
-9
0
0
0
0
0
0
0
11
-7
0
0
0
0
0
0
2
-17
5
0
0
0
0
0
0
-1
6
-1
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
3
-11
13
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
-5
16
-19
0
0
0
0
0
0
0
-14
-28
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-5
-11
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
1
-20
0
0
0
0
-2
0
0
6
-4
0
0
-16
-1
0
0
9
-34
35
0
0
0
0
0
1
9
-26
7
0
0
0
0
0
0
-1
8
37
0
0
0
0
0
0
0
-2
-3
0
0
3
0
0
0
3
-41
-54
0
0
0
0
0
-1
1
-6
-3
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
1
2
0
0
1
0
0
-1
2
-5
-17
0
0
0
0
0
0
-2
-1
-25
0
0
0
0
0
-2
0
-1
-27
0
0
0
0
0
0
-2
-1
-10
0
0
-1
0
0
0
7
7
18
0
0
0
0
0
7
0
-6
-4
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
28
-22
-1
0
0
0
0
0
0
-3
-3
30
0
0
0
0
0
0
-1
2
-19
0
0
0
0
0
0
0
-1
-7
0
0
1
0
0
-5
8
44
-3
0
0
0
0
0
3
3
3
-16
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
2
-7
-33
64
0
0
0
0
0
0
2
22
-27
0
0
0
0
0
0
0
33
20
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
-1
4
56
49
0
0
0
0
0
0
0
16
9
0
0
0
1
0
-1
0
-4
82
0
0
0
0
0
0
-2
8
0
0
0
0
0
-2
-12
-3
29
-25
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
1
-5
5
0
0
0
0
1
0
0
2
7
0
0
0
0
0
1
1
-3
-5
0
0
0
0
0
-4
0
10
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
-4
24
0
0
0
0
0
-3
-4
8
31
0
0
0
0
0
1
-6
-1
-3
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-3
1
4
0
0
0
0
1
0
-1
2
-20
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
-4
-6
2
0
0
0
0
0
-2
0
-48
11
0
0
0
0
0
-3
0
6
-8
0
0
0
0
0
0
0
5
33
0
0
0
0
0
2
0
6
41
0
0
0
0
0
0
1
-18
-19
0
0
0
0
0
0
-2
4
-6
0
0
0
0
0
0
0
8
-10
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
5
17
-9
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
0
35
0
0
0
0
0
2
0
-8
53
0
0
0
0
0
0
0
4
41
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
10
-41
0
0
0
0
0
0
12
3
-16
0
0
0
0
0
-5
2
0
-19
0
0
0
-3
0
0
4
-1
2
0
0
0
0
0
0
0
0
2
0
0
0
2
0
-1
0
-10
-5
0
0
0
0
0
0
0
1
-12
0
0
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
2
-5
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-1
0
11
0
0
0
0
0
1
0
-2
-8
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-1
0
13
0
0
0
0
0
0
-6
-7
26
0
0
0
0
0
0
-9
1
12
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
3
7
0
0
0
-6
0
1
0
8
35
0
0
0
0
0
0
0
-3
-11
0
0
0
1
0
0
0
19
0
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
10
33
0
0
0
0
0
0
0
2
33
0
0
0
-6
0
0
0
4
43
0
0
0
0
0
0
0
-1
-17
0
0
0
-1
0
0
0
-6
-13
0
0
0
0
0
0
2
2
36
0
0
0
2
0
0
0
-1
54
0
0
0
0
0
0
-1
-2
24
0
0
0
0
0
-23
17
-4
38
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
6
-1
1
2
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
1
0
0
0
0
0
0
-2
-1
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
33
0
0
0
0
0
0
4
-3
21
0
0
0
0
-1
0
1
0
-10
0
0
0
0
0
1
0
-1
-17
0
0
0
0
0
0
1
0
33
0
0
0
0
0
-4
0
-12
6
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
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
0
0
1
13
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
-1
16
3
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
-1
-3
-13
0
0
0
0
0
0
0
16
26
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
12
0
0
0
0
-1
0
-4
1
-11
0
0
1
-11
-17
11
36
16
-40
-19
18
0
0
1
-30
-31
-38
-56
59
-71
0
16
2
2
-3
-26
7
7
2
0
0
3
22
7
25
9
-95
-1
20
0
0
19
5
-15
-23
-20
0
0
0
0
14
25
-5
30
9
-57
0
-3
-5
-18
0
36
20
-14
-17
0
0
-2
-6
-6
5
-17
111
43
-16
0
-2
-48
-12
-33
6
2
0
0
0
1
19
4
-45
-1
-47
0
0
-1
0
0
41
-141
40
0
0
0
0
-1
-1
2
-19
30
-90
0
24
0
0
-17
16
-36
-13
26
0
0
0
-5
2
10
-27
2
-6
0
0
-3
0
-3
12
15
-33
-26
0
0
0
0
3
-7
1
3
-30
0
-18
1
-2
-13
32
-111
107
0
0
0
0
4
-24
11
-51
-3
0
0
0
-4
0
14
13
-7
-49
0
0
0
0
0
1
-13
-10
45
0
0
-15
0
0
32
-75
19
18
0
0
0
0
0
1
9
-5
33
0
0
0
5
0
0
53
-55
-52
0
0
0
0
6
0
2
13
-53
0
0
0
0
0
-2
-7
-46
23
0
0
0
0
-2
1
13
-8
-13
0
0
0
-2
0
0
-35
14
61
0
0
0
0
0
-2
25
-17
9
0
0
0
0
0
-3
23
13
34
0
0
0
0
0
-1
5
21
-17
0
0
0
-1
0
-1
1
5
23
0
0
0
0
0
-3
-3
-2
9
0
0
0
0
-28
19
-8
-37
40
-44
86
0
0
14
27
-39
-43
119
-54
-25
0
0
-1
-22
3
40
-14
5
15
0
0
7
6
19
-54
-7
-62
113
0
0
-1
-4
9
-55
23
13
-10
0
0
2
-14
-35
-31
4
-25
21
0
0
0
7
25
22
-10
35
27
0
0
-24
10
19
-18
-12
122
-45
0
0
-2
12
-16
3
38
34
0
0
0
-6
-9
17
23
-55
-31
0
0
0
0
1
11
-9
9
-42
0
0
0
-6
-10
23
14
-6
30
0
0
0
0
1
2
11
34
0
0
0
0
-1
2
-2
-7
6
10
0
0
0
-1
1
-6
-17
77
9
0
0
0
-2
2
-3
8
1
26
0
0
0
1
-66
18
-50
25
0
0
0
0
1
18
-60
56
-129
0
0
0
0
0
-2
-21
24
46
0
0
0
0
2
5
-10
25
33
0
0
0
0
0
-9
24
-32
-67
0
0
0
0
-1
2
-8
26
-8
0
0
0
0
0
0
4
-28
-11
0
0
0
0
0
0
-16
25
18
0
0
0
0
0
2
-4
-36
-2
0
0
0
0
0
0
9
-2
15
0
0
0
0
0
0
3
28
1
0
0
0
0
0
0
-1
-22
29
0
0
0
0
0
0
13
18
9
0
0
0
0
0
-1
-2
6
-49
0
0
0
0
0
2
1
1
53
0
0
0
0
0
-1
0
15
13
0
0
0
3
3
-26
29
-41
-12
-34
30
0
0
-2
12
1
17
86
43
66
0
-7
-1
6
-28
-16
-18
26
-52
0
0
-7
-19
-20
36
51
102
-17
0
-4
0
3
11
-24
6
-118
-17
0
0
0
-14
-20
-1
15
79
16
0
-15
0
-6
-10
-10
17
22
36
0
0
1
11
-19
11
-5
26
-4
0
-2
0
0
13
-35
56
-77
0
0
0
1
3
-5
24
1
1
0
0
-3
0
-4
2
7
0
-21
0
0
0
1
0
-14
10
30
29
0
0
0
0
2
-5
-32
2
-45
0
0
0
0
2
-4
2
-13
33
0
0
10
0
-1
-8
15
23
23
0
0
0
-1
0
-1
4
0
-33
0
0
-6
-5
-4
18
-14
-21
0
0
0
0
0
-2
-12
18
-1
0
0
0
-1
0
-1
10
-27
18
0
0
0
0
0
-1
1
4
3
0
0
0
1
0
-1
1
-31
32
0
0
0
0
0
-1
-34
-31
44
0
0
0
-2
0
0
-2
14
50
0
0
0
0
0
2
23
-19
-10
0
0
0
0
0
1
-4
11
-39
0
0
0
0
0
0
-6
24
-13
0
0
0
1
0
2
-10
-5
41
0
0
0
0
1
0
-12
-4
10
0
0
0
0
0
0
-2
20
-27
0
0
0
0
0
0
-1
2
3
0
0
0
5
0
1
-5
-5
11
0
0
0
0
0
0
0
-10
19
0
0
0
0
-30
2
30
-39
12
32
6
0
0
28
-12
53
14
-20
17
-49
0
0
-9
-9
53
-9
-7
-1
27
0
0
-15
-17
7
48
-3
9
-14
0
0
-2
-10
-2
-7
33
-31
84
0
0
4
-5
27
-17
15
127
-52
0
0
0
-4
5
-1
-15
5
59
0
0
11
-13
40
25
-23
-13
-8
0
0
-3
-18
-15
52
-14
-53
0
0
0
5
11
10
-24
13
49
0
0
0
-5
4
-2
9
20
-4
0
0
0
33
-12
-24
0
2
-28
0
0
0
0
5
1
-41
33
-29
0
0
0
-1
0
7
-7
12
26
0
0
0
-1
0
7
2
-2
8
0
0
0
-6
9
0
6
-4
-51
0
0
0
0
15
-6
-71
33
0
0
0
0
-2
35
-15
-55
21
0
0
0
0
2
1
44
-58
28
0
0
0
0
-2
-13
10
66
13
0
0
0
0
0
2
-2
-4
17
0
0
0
0
0
1
-23
-43
16
0
0
0
0
0
6
17
8
-5
0
0
0
0
-2
1
-19
-7
2
0
0
0
0
0
0
-11
-1
4
0
0
0
0
-1
-1
2
1
22
0
0
0
0
1
0
-6
40
16
0
0
0
0
1
-4
8
-13
4
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
-1
1
-1
2
0
0
0
0
0
0
-8
0
5
0
0
0
0
2
-4
3
-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
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
-8
-3
58
41
-17
-38
0
0
0
-2
-9
-9
11
-54
8
0
0
-8
0
11
-9
-15
41
8
0
0
0
0
10
-29
-24
24
-27
0
4
0
0
-80
23
-36
22
-5
0
0
0
0
27
-3
19
-60
-78
0
0
1
0
-1
-123
58
54
25
0
0
0
0
4
-20
-25
-24
2
0
6
0
1
53
13
43
0
-21
0
0
0
4
22
-28
6
52
2
0
0
0
0
4
-32
6
8
-39
0
0
0
-3
-1
-12
4
-40
-79
0
-6
0
-1
13
-25
-8
-54
81
0
0
0
0
13
4
3
19
40
0
0
3
0
-1
-14
14
0
21
0
0
0
3
1
7
-8
-9
69
0
2
-2
-1
-63
15
-12
7
0
0
0
0
-2
-37
60
-11
-92
0
0
0
-1
0
-12
-9
13
-39
0
0
0
0
0
0
-7
-23
39
0
0
20
0
1
-9
-34
31
47
0
0
0
0
0
7
28
-25
-2
0
0
0
-1
0
-5
7
-34
30
0
0
0
0
0
1
1
-3
-4
0
0
0
0
-1
-8
-21
57
-42
0
0
0
0
0
-2
9
28
3
0
0
0
0
0
0
-6
-15
46
0
0
0
0
0
0
0
34
3
0
0
-3
0
0
12
-20
-4
48
0
0
0
0
0
2
-6
-37
25
0
0
0
1
0
0
17
-5
59
0
0
0
0
0
0
13
8
9
0
0
0
0
-41
14
-15
-80
-5
85
0
0
0
12
-45
21
-26
-17
-72
0
0
0
2
-6
-55
-26
60
35
0
0
0
-5
-13
27
22
-27
-103
0
0
0
0
0
26
32
-85
-18
0
0
0
-2
13
-26
-32
-38
-67
0
0
0
0
-2
-2
-5
20
-6
0
0
0
1
-13
20
-2
-3
-28
0
0
0
-2
-22
-26
5
-27
42
0
0
0
10
3
-7
-2
8
-85
0
0
0
0
0
18
-22
-6
5
0
0
0
1
2
7
-3
-31
51
0
0
0
0
3
-11
-4
-73
68
0
0
0
4
3
-6
-28
11
23
0
0
0
0
0
6
-2
-24
-5
0
0
0
0
0
-2
2
-21
32
0
0
0
-1
0
1
54
-10
0
0
0
0
-3
-4
-11
-25
4
0
0
0
0
0
1
-12
0
16
0
0
0
0
0
-1
-19
-18
16
0
0
0
0
0
-4
26
13
19
0
0
0
0
-1
-2
0
-10
-59
0
0
0
0
0
-2
3
-29
-6
0
0
0
0
0
7
-1
-8
-22
0
0
0
0
1
-4
-17
62
12
0
0
0
0
0
3
-9
-61
16
0
0
0
0
1
-2
-6
-13
11
0
0
0
0
0
7
5
13
-23
0
0
0
0
-1
1
4
9
47
0
0
0
0
2
2
1
16
6
0
0
0
0
0
0
-3
6
-3
0
0
0
0
-3
-4
5
-5
13
0
0
0
8
-22
1
-47
-6
58
-89
0
0
0
-9
-3
42
33
-2
9
0
0
-5
0
-6
11
-2
-5
10
0
0
0
4
-2
-23
-12
50
34
0
0
1
0
-28
13
26
41
-124
0
0
0
0
-4
-7
-17
-9
67
0
0
12
0
-3
-18
-10
29
-9
0
0
0
1
-2
-11
0
13
24
0
0
1
3
11
9
-35
0
-61
0
0
0
0
-1
1
-3
-15
106
0
0
0
0
0
12
-14
-14
37
0
0
0
7
0
3
1
68
13
0
0
1
0
2
-19
4
-5
-23
0
0
0
0
-1
0
0
13
-89
0
0
13
0
4
4
-3
11
-43
0
0
0
0
0
-23
0
15
40
0
0
2
-3
19
-82
16
-78
0
0
0
0
0
-1
-6
-3
21
0
0
0
1
0
0
16
21
7
0
0
0
0
0
0
-15
-1
12
0
0
0
0
0
5
-20
-19
32
0
0
0
0
0
17
-10
-9
16
0
0
0
18
0
-3
18
-5
26
0
0
0
0
-3
-1
22
3
-3
0
0
0
1
0
3
-35
-4
3
0
0
0
0
0
1
-1
-9
47
0
0
0
4
-1
4
-4
-38
35
0
0
0
0
0
0
-1
11
-21
0
0
0
0
0
3
-3
-13
-13
0
0
0
0
0
-1
-2
1
1
0
0
0
-12
0
-3
9
15
-21
0
0
0
0
0
-1
-9
1
-7
0
0
0
0
-22
-12
-15
-9
67
86
0
0
0
-7
-9
-5
10
17
-67
0
0
0
-1
10
29
-6
13
-49
0
0
0
34
5
42
-7
28
7
0
0
0
0
7
-19
-5
-11
-57
0
0
0
-7
-7
19
-1
21
-62
0
0
0
0
0
20
-24
-2
1
0
0
0
27
10
11
-10
9
-48
0
0
0
0
-4
25
-19
7
-12
0
0
0
2
2
1
-16
11
6
0
0
0
5
-3
23
-31
8
-56
0
0
0
-1
0
-11
-4
8
67
0
0
0
1
0
-13
1
9
-13
0
0
0
5
-4
-4
-3
37
-49
0
0
0
0
0
-2
-2
-26
13
0
0
0
3
-9
12
2
5
49
0
0
0
-1
10
46
-11
16
0
0
0
0
-6
8
-1
-5
14
0
0
0
0
0
0
16
1
2
0
0
0
0
1
-7
4
4
44
0
0
0
0
-1
-6
15
-7
13
0
0
0
0
0
3
-10
-2
54
0
0
0
0
0
1
2
16
-8
0
0
0
0
1
3
5
22
-8
0
0
0
0
0
1
-6
-41
-78
0
0
0
0
0
-3
2
1
3
0
0
0
0
0
-1
-4
0
17
0
0
0
0
0
-1
3
1
9
0
0
0
0
0
2
-1
-17
33
0
0
0
0
-1
4
0
-3
-2
0
0
0
0
0
2
-8
-2
-10
0
0
0
0
-5
-8
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-6
-45
-4
63
-22
0
0
0
0
-1
22
-64
-79
85
0
0
0
-7
0
-5
-6
17
27
0
0
0
0
4
-6
-13
52
6
0
0
-1
1
0
-12
-38
-10
14
0
0
0
0
0
-1
-2
34
-2
0
0
0
4
0
0
3
-7
32
0
0
0
0
1
5
9
-40
8
0
0
1
0
0
3
12
-31
-81
0
0
0
0
0
-7
27
15
-14
0
0
0
0
0
-1
-27
-4
-48
0
0
0
0
0
0
7
7
-6
0
0
14
0
0
0
-10
-13
-5
0
0
0
0
0
0
-8
-5
-2
0
0
0
-4
0
1
-3
1
39
0
0
0
0
0
0
0
-2
10
0
0
0
0
-1
-4
7
-42
62
0
0
0
0
0
1
-20
21
-24
0
0
0
0
0
1
-8
-28
5
0
0
0
0
0
0
-2
-26
-3
0
0
6
1
0
4
4
-13
1
0
0
0
0
0
0
-2
-16
-10
0
0
0
1
0
-3
1
-17
19
0
0
0
0
0
0
1
-13
11
0
0
0
0
0
3
24
-16
0
0
0
0
0
0
-1
3
20
17
0
0
0
1
0
0
-2
1
-10
0
0
0
0
0
0
-1
18
6
0
0
-1
-1
0
1
11
9
42
0
0
0
0
0
0
-2
-10
-9
0
0
0
4
0
-7
3
-21
43
0
0
0
0
0
-2
0
-17
15
0
0
0
0
11
31
-26
-33
-15
0
0
0
0
8
-7
-22
-53
1
0
0
0
0
-1
-1
17
13
46
0
0
0
0
-2
20
20
15
72
0
0
0
0
2
7
-48
20
-4
0
0
0
0
0
-1
-17
-12
7
0
0
0
0
1
0
-5
20
68
0
0
0
0
0
13
12
-24
7
0
0
0
0
2
6
-12
-50
21
0
0
0
0
-2
-8
-3
-3
-12
0
0
0
0
0
-5
7
38
-10
0
0
0
0
-2
0
-6
4
20
0
0
0
0
2
-2
2
-8
-12
0
0
0
0
1
-1
0
-8
28
0
0
0
0
0
0
13
-18
13
0
0
0
0
-3
1
6
-9
-5
0
0
0
0
0
2
-10
-11
45
0
0
0
0
2
0
0
-49
22
0
0
0
0
0
0
-5
-90
39
0
0
0
0
1
2
3
-5
27
0
0
0
0
0
3
-8
-59
36
0
0
0
0
0
0
-3
4
-38
0
0
0
0
0
3
3
26
-22
0
0
0
0
-1
-4
-12
16
29
0
0
0
0
0
-7
5
32
11
0
0
0
0
-1
-1
-4
-2
-61
0
0
0
0
0
0
1
2
14
0
0
0
0
-1
1
-1
7
7
0
0
0
0
0
0
3
-31
-67
0
0
0
0
-3
-1
1
56
4
0
0
0
0
0
-1
1
-13
14
0
0
0
0
1
0
0
0
31
0
0
0
5
2
-43
7
6
-6
0
0
0
0
-2
1
13
-8
34
0
0
0
-4
0
-12
-9
33
-4
0
0
0
0
-1
5
9
-62
28
0
0
0
0
0
0
-43
-59
6
0
0
0
0
0
-1
-1
-31
-21
0
0
0
1
0
-1
4
0
-23
0
0
0
0
3
-1
14
3
45
0
0
0
0
-1
1
11
-47
31
0
0
0
0
0
3
-3
-8
40
0
0
0
-9
0
-1
3
16
24
0
0
0
0
0
-2
-3
6
-16
0
0
0
1
0
0
-8
-16
-8
0
0
0
0
0
0
0
1
19
0
0
0
24
0
0
-2
-8
-14
0
0
0
0
0
-3
0
0
19
0
0
0
0
0
-6
-10
0
-29
0
0
0
0
0
-6
6
-1
5
0
0
0
-4
0
3
-2
-2
-60
0
0
0
0
0
0
0
-22
30
0
0
0
1
0
0
0
-15
33
0
0
0
0
0
0
1
0
-1
0
0
0
-1
0
0
-2
11
-23
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
-9
-57
-39
0
0
0
0
0
0
1
18
17
0
0
0
2
0
0
2
3
-54
0
0
0
0
0
0
-2
-18
-5
0
0
0
0
0
0
0
-11
-26
0
0
0
0
0
-1
1
-7
9
0
0
0
8
0
7
1
0
29
0
0
0
0
0
0
-1
4
1
0
0
0
0
1
38
-38
5
30
0
0
0
0
0
-4
34
19
29
0
0
0
0
3
-5
-59
10
-36
0
0
0
0
8
3
-10
-25
43
0
0
0
0
-1
-1
14
-9
-10
0
0
0
0
2
3
16
-22
-15
0
0
0
0
0
-6
-3
39
31
0
0
0
0
7
2
-6
6
-6
0
0
0
0
0
-4
2
13
-15
0
0
0
0
1
-4
-5
23
-5
0
0
0
0
-1
0
-14
-7
13
0
0
0
0
-4
1
15
-8
1
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
2
10
-7
0
0
0
0
0
0
0
1
29
0
0
0
0
2
-5
-2
2
1
0
0
0
0
2
-2
-3
-2
-24
0
0
0
0
2
0
0
-7
52
0
0
0
0
0
0
-7
6
-17
0
0
0
0
0
-2
-8
40
1
0
0
0
0
0
0
1
3
34
0
0
0
0
0
0
2
0
-23
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
2
0
-40
5
0
0
0
0
-1
-3
-1
21
21
0
0
0
0
-1
0
4
-6
18
0
0
0
0
0
5
1
-6
21
0
0
0
0
-7
0
1
7
-40
0
0
0
0
0
-1
-1
8
-1
0
0
0
0
0
0
-1
-1
-7
0
0
0
0
-1
-4
0
5
-2
0
0
0
0
-1
3
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
7
-12
-21
-32
49
-25
72
0
0
0
0
-7
-6
22
-56
-10
0
0
0
9
0
-1
-13
-71
10
0
0
0
0
-2
4
5
18
-24
0
0
-27
-1
0
21
-11
28
-9
0
0
0
0
0
-2
-7
4
24
0
0
0
0
0
0
1
-15
48
0
0
0
0
0
-2
3
-12
15
0
0
-2
0
3
-6
12
16
88
0
0
0
0
2
2
-14
19
-13
0
0
0
4
0
1
-1
17
28
0
0
0
0
0
1
2
-21
-5
0
0
7
0
0
1
-38
41
11
0
0
0
0
0
0
-3
4
-44
0
0
0
1
0
0
0
-4
-59
0
0
0
0
0
4
-2
1
60
0
0
8
1
-1
20
15
11
-42
0
0
0
0
-2
-7
-17
22
64
0
0
0
1
0
-1
1
-29
7
0
0
0
0
0
0
1
-4
-5
0
0
-14
-1
0
7
-28
-55
62
0
0
0
0
8
-1
17
10
-21
0
0
0
-1
0
-1
5
-10
25
0
0
0
0
0
-3
9
6
12
0
0
1
-1
0
23
-5
-26
53
0
0
0
0
3
-1
-5
29
28
0
0
0
0
0
7
-1
-44
-34
0
0
0
0
0
0
6
0
-40
0
0
-8
0
-1
1
28
34
29
0
0
0
0
1
-3
13
1
52
0
0
0
-1
0
-4
-21
16
-53
0
0
0
0
0
0
2
-19
30
0
0
0
0
7
36
13
-53
7
0
0
0
0
-3
-28
11
53
-24
0
0
0
0
0
-3
-6
12
-24
0
0
0
0
-4
3
18
-16
57
0
0
0
0
-3
-8
0
12
2
0
0
0
0
0
-4
-1
4
-6
0
0
0
0
0
0
8
-12
27
0
0
0
0
0
0
-5
-19
-10
0
0
0
0
1
-11
-3
47
-27
0
0
0
0
-1
1
6
-15
3
0
0
0
0
-1
0
-16
-18
4
0
0
0
0
0
-1
-5
-8
42
0
0
0
0
1
12
3
32
-14
0
0
0
0
4
5
1
-25
5
0
0
0
0
-3
0
-4
-7
-12
0
0
0
0
-1
-1
1
6
-40
0
0
0
0
-2
-3
-38
-50
38
0
0
0
0
1
-3
1
-56
56
0
0
0
0
0
0
4
-21
-69
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
-2
0
-23
61
0
0
0
0
0
3
-1
-8
11
0
0
0
0
0
0
-3
-13
12
0
0
0
0
0
-1
1
-13
0
0
0
0
0
0
8
17
18
-22
0
0
0
0
-1
3
3
1
63
0
0
0
0
1
0
2
-3
-3
0
0
0
0
0
2
5
-8
-58
0
0
0
0
0
3
4
-20
6
0
0
0
0
-1
-5
-1
17
44
0
0
0
0
0
-2
-6
-10
-4
0
0
0
0
1
-1
0
43
-2
0
0
0
-7
-13
7
34
3
-24
0
0
0
0
2
-4
-6
-21
33
0
0
0
44
0
1
-37
-35
-31
0
0
0
0
1
1
11
0
-7
0
0
0
1
0
2
14
-20
-3
0
0
0
0
0
0
-26
-24
47
0
0
0
-23
0
1
-6
12
-32
0
0
0
0
0
0
0
1
5
0
0
0
0
4
2
19
23
13
0
0
0
0
0
-4
3
-23
-38
0
0
0
-16
0
2
-9
-19
-11
0
0
0
0
0
4
11
0
5
0
0
0
0
0
0
17
10
-14
0
0
0
0
0
-1
1
0
-5
0
0
0
3
0
-3
-1
3
-1
0
0
0
0
-4
0
10
3
-7
0
0
0
-1
0
1
-23
-34
-18
0
0
0
0
0
1
10
5
68
0
0
0
-11
0
-3
-44
-19
29
0
0
0
0
0
0
6
-32
-32
0
0
0
1
-1
0
-8
11
9
0
0
0
0
0
-1
-3
24
51
0
0
0
14
0
-2
-1
-41
-2
0
0
0
0
0
0
4
-1
-14
0
0
0
0
0
-2
3
-15
60
0
0
0
0
0
0
2
4
0
0
0
0
-2
0
0
6
-27
-51
0
0
0
0
0
0
-6
1
-3
0
0
0
0
0
-1
-1
-10
9
0
0
0
0
-1
0
-6
-6
52
0
0
0
11
0
-1
1
-11
65
0
0
0
0
0
-2
0
-12
11
0
0
0
0
-9
-24
-51
-24
-7
0
0
0
0
-19
-2
-2
4
-28
0
0
0
0
3
3
33
-71
65
0
0
0
0
10
0
16
5
42
0
0
0
0
1
-4
3
18
19
0
0
0
0
0
3
-3
5
8
0
0
0
0
1
0
1
-28
10
0
0
0
0
2
-2
7
0
-3
0
0
0
0
-1
-4
11
17
13
0
0
0
0
0
2
0
16
-17
0
0
0
0
2
0
1
6
49
0
0
0
0
-3
1
-13
-2
-22
0
0
0
0
1
0
-8
3
10
0
0
0
0
0
-4
0
2
-13
0
0
0
0
0
2
-3
-4
26
0
0
0
0
-2
0
0
3
12
0
0
0
0
-4
-7
16
10
47
0
0
0
0
-4
1
1
71
35
0
0
0
0
0
0
-8
-6
9
0
0
0
0
1
0
-9
-21
-32
0
0
0
0
0
-1
8
2
7
0
0
0
0
3
-1
4
-15
8
0
0
0
0
0
4
0
-17
4
0
0
0
0
-5
0
4
15
19
0
0
0
0
1
7
5
-9
-15
0
0
0
0
-1
-1
5
-20
18
0
0
0
0
1
0
1
-16
-6
0
0
0
0
-1
0
-3
-18
-41
0
0
0
0
-1
1
5
-11
10
0
0
0
0
2
1
0
-7
-7
0
0
0
0
1
2
3
9
-5
0
0
0
0
13
4
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
48
6
-41
6
-15
12
0
0
15
-12
31
-7
-82
-12
65
0
26
-7
-8
20
7
-25
10
-92
0
0
-4
7
39
-88
17
63
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
30
-18
10
-55
90
0
0
0
18
-17
-28
4
31
-14
0
0
-17
-65
-3
-66
19
76
-13
0
0
0
21
-41
47
-44
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
0
0
0
0
0
0
0
0
0
0
0
-1
-16
6
-29
-9
41
-4
0
0
0
0
-14
15
-11
-30
3
0
0
0
-9
8
-8
19
-19
7
0
0
0
0
6
14
-77
29
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
-8
-12
10
-11
-27
8
34
0
0
0
0
17
-12
-8
-45
22
0
0
0
-6
18
32
1
-104
-39
0
0
0
0
1
-39
1
27
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
25
-9
1
-77
2
-24
0
0
-9
-19
-8
-8
-75
7
77
0
0
-4
-23
29
-51
57
28
99
0
0
-12
17
13
22
-66
-40
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
-7
60
17
-23
78
-78
0
0
0
35
-9
-7
6
25
-81
0
0
0
0
3
32
-32
-42
64
0
0
0
3
16
11
-23
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
5
-10
-19
0
0
0
0
5
-17
3
-99
3
0
0
0
0
3
1
-11
33
-11
0
0
0
0
2
-10
-9
15
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
0
-5
-51
71
0
0
0
0
-1
1
-1
29
-9
0
0
0
0
0
0
6
-12
-24
0
0
0
0
-12
1
-4
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
12
4
-40
7
37
-46
-148
54
0
0
-19
15
22
29
32
60
-52
0
-22
-4
2
-22
-78
-2
63
21
0
0
-2
-3
38
-25
11
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
1
0
-11
-27
-9
-63
54
0
0
0
5
-5
11
-7
-23
23
0
0
9
1
4
-11
-1
43
-116
0
0
0
2
-3
-4
-7
35
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-50
56
0
0
0
0
-1
0
-14
27
17
0
0
0
-6
0
0
53
-37
-6
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
-2
20
-21
-13
0
0
0
0
0
-1
4
-8
25
0
0
0
3
0
0
-3
-31
28
0
0
0
0
-1
1
-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
2
-5
65
14
59
11
-22
0
0
-26
-13
23
2
104
-29
35
0
0
2
-5
-6
34
-37
-9
56
0
0
5
-16
-6
-48
-28
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
-1
6
-2
-7
41
-27
0
0
0
-1
-7
47
9
-25
48
0
0
0
-1
0
-28
20
20
-31
0
0
0
-13
10
-11
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
-7
-11
-7
6
0
0
0
0
2
-11
-1
31
28
0
0
0
0
3
-1
-11
15
-34
0
0
0
0
-16
2
-13
11
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
2
-2
18
17
0
0
0
0
1
3
-1
-49
17
0
0
0
0
0
0
4
20
-4
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
-23
0
0
-40
-1
-62
-17
3
1
0
0
-4
4
17
34
-135
-74
1
0
4
0
-6
-31
8
64
6
-79
0
0
0
0
19
6
13
-61
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-26
57
-6
43
0
0
0
-1
7
-18
-22
9
-42
0
0
2
0
3
25
18
33
26
0
0
0
0
-1
3
-2
16
-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
-6
1
0
-1
-10
-14
-34
0
0
0
0
0
6
-2
16
-68
0
0
0
1
0
-11
6
-11
14
0
0
0
0
0
-1
-24
-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
-4
0
0
-6
42
-52
55
0
0
0
0
0
-4
6
-6
23
0
0
0
-2
0
-1
6
-1
-34
0
0
0
0
-1
-3
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
22
38
-57
-41
-98
95
0
0
0
29
-15
26
2
-118
43
0
0
0
2
14
23
10
-107
85
0
0
0
-10
29
-52
15
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
-9
-7
16
-12
-38
-9
0
0
0
-2
-28
-5
-16
-48
26
0
0
0
0
-2
-1
4
35
63
0
0
0
-1
-18
-2
9
28
-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
-1
-19
-22
-11
0
0
0
0
4
-8
-10
-20
-9
0
0
0
0
0
-2
-21
-59
3
0
0
0
0
1
-3
-3
-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
-4
-20
-28
0
0
0
0
-1
0
-3
-15
26
0
0
0
0
0
0
-2
-10
15
0
0
0
0
0
1
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
10
0
12
15
-7
18
-3
13
0
0
0
-1
5
-76
20
88
17
0
-34
0
10
-7
6
48
11
-35
0
0
0
10
35
-14
-12
-63
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
32
-26
-22
0
0
0
0
-1
-14
20
-16
18
0
0
5
0
-6
41
2
-8
-16
0
0
0
1
0
-1
-11
-20
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
20
4
-41
0
0
0
0
0
-4
8
7
4
0
0
0
-11
0
-1
-9
27
24
0
0
0
0
0
-5
6
-41
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-17
-44
17
0
0
0
0
-1
0
-1
-9
13
0
0
0
16
0
-3
3
22
-20
0
0
0
0
0
0
0
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
-17
-1
7
7
106
-47
0
0
-1
3
-8
1
24
-42
56
0
0
0
-3
10
1
-2
41
46
0
0
-29
-7
16
-2
-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
14
-2
-16
-8
-1
0
0
0
4
0
-11
13
-3
23
0
0
0
-2
0
-17
-9
5
-43
0
0
0
2
-7
-8
7
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
2
-3
27
7
0
0
0
0
-3
11
-7
-2
14
0
0
0
0
0
5
19
-51
5
0
0
0
0
0
11
7
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
-5
3
-14
-25
0
0
0
0
0
1
0
-2
14
0
0
0
0
0
-5
4
1
-2
0
0
0
0
2
3
2
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
11
-1
0
-11
-37
-72
43
93
0
0
0
-2
-9
50
-32
-5
-23
0
0
0
0
-1
4
0
70
-81
0
0
0
-1
35
-23
14
33
-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
-1
0
0
4
15
-20
37
0
0
0
0
2
-8
-4
-52
-58
102
0
0
0
0
6
-21
26
-8
-42
0
0
0
0
2
-2
-2
-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
-3
0
2
8
47
25
-24
0
0
0
0
7
1
-2
-41
-47
0
0
0
0
0
0
-3
16
-2
0
0
0
0
0
0
-1
-13
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
-1
0
-1
-13
-25
23
33
0
0
0
0
-2
4
2
12
12
0
0
0
1
0
-4
-12
-32
70
0
0
0
0
0
-1
2
-20
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-18
-25
-13
0
0
0
-4
7
-15
-56
27
8
0
0
0
3
0
-2
-24
21
-25
0
0
0
1
1
6
1
24
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
-1
-35
20
29
-29
0
0
0
-1
7
8
-21
-34
-3
0
0
0
0
-5
7
21
-6
43
0
0
0
4
9
2
1
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
2
-1
4
-56
-54
0
0
0
0
-2
0
1
-10
22
0
0
0
0
0
0
2
21
-28
0
0
0
0
-2
1
-1
-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
-4
4
-1
11
-33
0
0
0
0
1
0
-1
29
-22
0
0
0
0
0
0
5
-4
50
0
0
0
0
1
3
-2
-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
-13
-21
0
104
-112
0
0
0
0
4
-38
20
82
19
0
0
9
0
6
23
16
-52
-70
0
0
0
0
-4
21
9
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
1
-25
-3
50
-44
0
0
0
0
1
-9
12
28
48
0
0
3
1
1
-27
-4
-42
-94
0
0
0
1
1
7
-3
-48
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
-1
2
-17
-50
35
0
0
0
0
0
1
-6
-2
46
0
0
0
0
0
3
-10
-18
-17
0
0
0
0
0
0
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
0
6
-18
-7
68
0
0
0
0
0
-2
-10
21
7
0
0
0
-4
0
0
2
-4
8
0
0
0
0
0
0
-14
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
0
-1
-7
12
-41
6
51
0
0
0
-2
-1
-18
12
12
-23
0
0
0
2
0
22
-18
4
-4
0
0
0
3
-10
25
34
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
-4
9
20
-31
22
0
0
0
-4
0
21
2
12
31
0
0
0
1
1
26
2
-45
19
0
0
0
6
-5
-21
12
-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
-1
0
21
-8
0
0
0
0
4
0
-22
6
-13
0
0
0
0
0
-3
-1
-2
-13
0
0
0
0
1
-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
2
-21
25
0
0
0
0
-1
-1
0
-13
4
0
0
0
0
0
0
8
-12
66
0
0
0
0
-8
-12
16
-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
60
0
0
23
44
-55
48
-30
0
0
0
0
-2
-15
-31
46
95
0
0
0
0
0
-11
21
34
6
0
0
0
0
0
18
-5
-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
4
1
0
-4
-16
34
-25
54
0
0
0
3
11
37
4
32
-4
0
0
-5
0
-3
-4
12
-23
-2
0
0
0
0
2
-2
-2
57
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-2
-8
69
0
0
0
0
0
9
18
5
-7
0
0
0
1
0
0
1
-11
71
0
0
0
0
0
0
-2
-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
1
0
1
9
-11
-4
-5
0
0
0
0
1
2
2
2
-9
0
0
0
-2
0
0
16
9
-67
0
0
0
0
-1
-2
1
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
0
0
0
0
0
0
0
-12
2
-35
48
-41
0
0
0
-1
7
-8
-57
5
66
0
0
0
0
-1
0
5
21
56
0
0
0
0
-4
11
-8
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
3
4
12
2
15
-36
0
0
0
-4
-1
-14
-35
-85
36
0
0
0
0
-1
-2
1
32
36
0
0
0
0
12
4
0
-10
-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
-9
4
-15
33
0
0
0
0
3
2
-3
-27
64
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
4
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
8
10
0
0
0
0
0
1
1
-8
16
0
0
0
0
0
-1
-1
-5
1
0
0
0
0
-3
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
4
-8
71
64
0
0
0
0
1
5
37
48
29
0
0
-16
0
1
-7
3
-9
12
0
0
0
0
0
0
0
20
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
4
0
1
-18
-4
-11
-26
0
0
0
0
-2
-3
1
49
11
0
0
24
0
-1
-10
-17
-1
-50
0
0
0
-1
0
-2
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
-1
0
2
-29
40
0
0
0
0
0
1
2
-16
-6
0
0
0
-4
0
0
-5
8
-12
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
1
0
-3
1
10
-21
0
0
0
0
0
0
0
-1
50
0
0
0
-9
0
-1
1
3
-3
0
0
0
0
0
-1
1
-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
4
-8
-39
48
-59
0
0
0
0
-10
-2
7
-32
30
0
0
0
0
-2
-5
-14
6
-26
0
0
0
-1
2
-10
11
-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
1
13
-7
22
-41
0
0
0
-1
-4
-4
-1
32
-88
0
0
0
1
12
-9
0
19
27
0
0
0
15
0
-11
-1
-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
-1
0
-3
67
0
0
0
0
0
6
-4
14
-5
0
0
0
0
0
3
0
-1
-24
0
0
0
0
1
-9
7
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
-4
0
-2
11
0
0
0
0
0
1
0
-12
3
0
0
0
0
0
2
-3
0
-6
0
0
0
0
6
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
4
1
-1
-26
5
-30
-24
0
0
0
0
-1
14
-9
-41
55
0
0
0
2
-2
-19
-37
3
40
0
0
0
0
-1
6
-19
-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
-9
2
-46
7
0
0
0
0
-3
8
25
-27
-24
0
0
0
0
0
3
-17
7
-27
0
0
0
0
-1
2
-14
-11
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
-2
2
0
-5
-9
34
-27
0
0
0
0
0
-5
-29
42
-3
0
0
0
-1
0
-2
-3
-22
8
0
0
0
0
0
-3
-10
27
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
-6
0
0
0
0
2
-34
21
8
5
0
0
0
0
0
2
24
-50
22
0
0
0
0
3
3
-16
-40
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
6
-11
21
8
0
0
0
0
1
3
4
-53
-94
0
0
0
0
0
-10
0
33
1
0
0
0
0
-2
11
3
58
-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
-8
20
16
-47
0
0
0
0
0
-1
-16
-27
1
0
0
0
0
0
0
10
19
56
0
0
0
0
-1
3
8
13
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
1
2
5
-40
0
0
0
0
0
0
3
-24
29
0
0
0
0
1
0
-1
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
2
-2
-7
49
13
0
0
0
0
-1
3
-5
-5
11
0
0
0
0
0
-1
-3
12
46
0
0
0
0
3
5
1
-1
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
3
0
-4
-26
-54
-37
0
0
0
0
0
0
-1
-2
61
0
0
0
-1
0
1
-10
-21
34
0
0
0
0
-1
2
-4
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
35
9
-65
0
0
0
0
0
0
13
5
-37
0
0
0
0
0
-3
-5
9
32
0
0
0
0
0
-1
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
1
-35
37
43
0
0
0
0
0
0
3
-24
-16
0
0
0
1
0
0
0
-7
-32
0
0
0
0
0
0
-1
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
7
-51
9
0
0
0
0
0
0
3
45
18
0
0
0
-5
0
1
-12
8
-8
0
0
0
0
0
0
0
-62
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-6
0
0
0
0
0
8
14
-33
-22
0
0
0
0
0
2
0
-4
57
0
0
0
0
-1
-9
5
7
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
-14
10
56
0
0
0
0
0
-4
-3
-28
-14
0
0
0
0
0
-2
2
7
1
0
0
0
0
3
-17
10
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
-4
2
-3
40
0
0
0
0
0
4
-21
-32
27
0
0
0
0
0
0
4
-38
52
0
0
0
0
0
0
8
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
11
6
24
0
0
0
0
0
0
2
-17
-11
0
0
0
0
0
0
6
-1
32
0
0
0
0
0
0
-8
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
-10
0
0
0
-3
31
-112
0
0
0
0
0
-2
39
-19
-23
0
0
0
0
0
-1
-18
25
-20
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
9
54
37
0
0
0
0
0
1
38
-43
-9
0
0
0
0
-1
9
-33
-38
32
0
0
0
0
0
0
-1
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
2
0
0
0
21
-77
65
0
0
0
0
0
0
-5
-32
-4
0
0
0
4
0
-5
7
20
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
3
24
-55
0
0
0
0
-5
0
3
-6
-1
0
0
0
-3
0
2
1
6
-38
0
0
0
0
0
-1
-2
-50
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
11
14
0
0
0
0
-9
6
-17
-35
4
0
0
0
0
0
0
0
-21
-7
0
0
0
0
0
-8
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
-23
-9
-22
-54
0
0
0
0
0
3
7
-58
-29
0
0
0
0
1
0
0
-13
-5
0
0
0
0
1
-14
-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
0
0
0
0
0
5
-31
0
0
0
0
0
0
2
0
-67
56
0
0
0
0
0
0
1
6
-10
0
0
0
0
-1
2
0
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
-6
-67
30
0
0
0
0
-1
1
4
-24
-7
0
0
0
0
0
4
4
-4
2
0
0
0
0
-2
0
2
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
-3
1
-3
-7
-35
-33
0
0
0
0
0
-4
-6
41
34
0
0
0
21
0
1
-3
49
34
0
0
0
0
0
2
2
-76
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
58
0
0
0
0
0
0
11
-15
4
0
0
0
14
0
2
-5
-35
28
0
0
0
0
0
0
9
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
-3
-16
-14
0
0
0
0
0
0
0
-19
9
0
0
0
3
0
0
1
-28
18
0
0
0
0
-3
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
3
2
-13
0
0
0
0
0
-1
-2
17
-13
0
0
0
2
0
0
7
-45
58
0
0
0
0
0
-2
0
-45
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
1
27
3
9
0
0
0
0
1
6
13
21
5
0
0
0
0
-1
0
-2
-3
-6
0
0
0
0
-4
8
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
0
0
-8
-22
10
0
0
0
0
0
-7
-2
27
-6
0
0
0
0
0
0
-8
7
19
0
0
0
0
14
23
4
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
0
-10
8
3
0
0
0
0
0
5
-1
-23
33
0
0
0
0
0
0
-1
-4
12
0
0
0
0
2
6
-2
-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
-1
3
-14
-13
0
0
0
0
0
3
1
-15
-23
0
0
0
0
0
4
-10
9
16
0
0
0
0
-4
-1
10
-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
-2
0
0
23
-18
-20
-6
0
0
0
0
0
-16
-34
22
23
0
0
0
0
0
1
-6
-2
26
0
0
0
0
0
8
12
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
1
0
-1
1
29
8
65
0
0
0
0
-2
-10
-15
6
3
0
0
0
0
0
5
2
-33
10
0
0
0
0
-1
-1
-1
-25
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
-31
-3
12
-9
0
0
0
0
1
0
-18
50
3
0
0
0
0
0
-1
-1
-11
3
0
0
0
0
0
2
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
0
0
0
0
0
0
0
-1
-18
22
18
50
0
0
0
0
0
-9
4
26
-68
0
0
0
1
0
-1
3
-3
-29
0
0
0
0
0
3
2
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
5
-4
2
21
0
0
0
0
0
0
-7
-1
9
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
0
0
0
0
0
0
0
0
0
0
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
-18
69
0
0
0
0
-1
0
-6
12
-32
0
0
0
0
0
1
0
-8
15
0
0
0
0
3
0
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
-1
-27
-9
0
0
0
0
0
-1
1
-32
4
0
0
0
0
0
0
0
-33
25
0
0
0
0
0
1
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
-4
-2
9
-49
-17
0
0
0
0
0
0
4
34
-74
0
0
0
0
0
0
-5
-23
36
0
0
0
0
0
-2
-1
32
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-12
0
0
0
0
0
0
-1
9
-25
0
0
0
-1
0
-5
2
-50
-12
0
0
0
0
0
0
-6
-20
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
18
0
0
0
0
0
0
6
24
-70
0
0
0
1
0
0
7
-42
13
0
0
0
0
-7
1
-4
-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
0
0
0
0
0
0
0
7
29
-27
0
0
0
0
-2
-4
0
20
42
0
0
0
1
0
0
1
-12
-7
0
0
0
0
1
0
-1
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
1
0
0
6
-16
-13
0
0
0
0
-3
0
0
-13
-1
0
0
0
-2
0
0
-16
10
13
0
0
0
0
1
0
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
-1
-1
0
-19
-29
0
0
0
0
0
-2
9
25
35
0
0
0
0
0
3
1
-9
7
0
0
0
0
-3
4
-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
1
1
12
1
0
0
0
0
0
-18
2
-50
-4
0
0
0
0
0
0
9
-1
20
0
0
0
0
10
-2
8
-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
13
-6
45
0
0
0
0
0
-2
-4
59
14
0
0
0
0
0
-2
0
-2
10
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-31
-32
0
0
0
0
1
6
3
-53
-4
0
0
0
0
0
1
-21
0
22
0
0
0
0
15
1
-4
9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-5
-30
0
0
0
0
0
0
7
23
16
0
0
0
-4
0
3
0
3
7
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
7
-2
0
-19
-3
68
27
0
0
0
0
-1
11
4
0
38
0
0
0
-1
0
1
1
-1
0
0
0
0
0
0
-1
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
-3
1
0
1
-3
-4
8
0
0
0
0
0
0
4
-14
-7
0
0
0
0
0
0
0
1
22
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
7
0
0
1
4
26
14
0
0
0
0
2
-4
-2
-2
24
0
0
0
0
0
0
-1
12
-17
0
0
0
0
-1
1
0
-50
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
17
0
0
0
0
0
1
-7
12
29
0
0
0
0
0
0
1
-3
-9
0
0
0
0
0
-1
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
-5
-22
34
34
0
0
0
0
0
0
4
40
16
0
0
0
0
0
0
1
-1
3
0
0
0
0
-1
0
1
-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
-2
7
-9
0
0
0
0
0
1
-2
1
3
0
0
0
0
0
0
0
3
-22
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
2
0
-2
2
21
0
0
0
0
0
1
-3
-21
7
0
0
0
0
-1
0
-1
24
1
0
0
0
0
-1
-2
3
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
-1
1
-3
21
0
0
0
0
0
-1
0
10
-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
-2
0
-1
-13
1
-52
0
0
0
0
0
2
12
1
13
0
0
0
10
0
-2
0
10
-33
0
0
0
0
0
2
-7
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
-1
0
-1
4
18
-4
0
0
0
0
0
1
0
-4
64
0
0
0
-6
0
0
0
-23
-14
0
0
0
0
0
0
0
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
-3
0
1
8
-18
59
0
0
0
0
0
-1
0
-11
-3
0
0
0
12
0
0
1
-37
31
0
0
0
0
0
0
-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
7
-26
7
0
0
0
0
0
2
-2
7
7
0
0
0
0
0
0
7
2
3
0
0
0
0
-1
-1
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
6
7
6
0
0
0
0
0
1
-11
-2
-41
0
0
0
0
4
0
2
16
-9
0
0
0
0
-27
-5
22
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
-25
15
0
0
0
0
0
-3
-2
8
5
0
0
0
0
2
10
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
3
0
10
38
0
0
0
0
-3
-1
0
4
36
0
0
0
0
-3
0
7
18
-11
0
0
0
0
6
6
5
-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
0
0
0
0
0
0
41
8
31
27
10
21
6
-9
0
0
0
-15
56
14
29
38
8
4
0
-2
-2
16
-9
36
38
24
39
0
0
18
-18
-16
47
-24
-12
34
-35
8
0
-16
31
8
-27
-24
0
0
0
3
-18
-48
-38
-33
-21
127
0
13
-10
-14
0
-47
56
-5
-14
0
0
-39
-35
22
-33
9
56
-5
16
-1
-1
-62
-17
15
3
3
0
0
0
-11
6
27
-13
23
17
0
0
12
1
11
-24
11
45
-55
0
0
0
3
11
-2
-28
-8
121
0
2
6
2
31
5
-41
-3
-8
0
0
0
1
-8
13
-36
-5
-50
0
0
-5
-29
-23
31
-16
13
35
0
0
0
18
-28
4
-19
23
32
0
-25
12
-5
-61
17
15
2
0
0
0
0
15
-11
-45
30
44
0
0
0
-15
0
8
-10
6
-4
0
0
0
0
2
-12
3
-6
30
0
0
17
-7
0
-5
-29
-1
-101
0
0
0
0
1
6
37
-49
53
0
0
0
22
5
-7
5
-26
27
0
0
0
0
-2
34
-5
7
-28
0
0
2
0
0
-2
18
53
-6
0
0
0
0
-11
11
-11
23
27
0
0
0
18
-1
-2
-20
-19
-35
0
0
0
0
17
35
1
-31
7
0
0
-13
-6
0
-15
39
19
-4
0
0
0
0
-2
0
-11
0
56
0
0
0
-25
10
-7
-34
-13
17
0
0
0
0
20
-2
42
-38
62
0
0
0
0
-2
27
-15
-2
-12
-46
94
0
0
15
8
-7
-2
17
105
16
0
0
0
1
3
5
3
-9
-44
0
0
4
-2
4
24
33
-37
28
0
0
1
1
-18
-51
-33
-45
71
0
0
1
2
-5
-30
25
-68
21
0
0
0
1
0
15
-9
118
-49
0
0
1
3
6
5
5
-7
19
0
0
1
-3
-10
-16
-21
-43
0
0
0
0
-1
0
15
-37
1
0
0
0
2
0
-3
-3
16
-39
0
0
0
1
-2
1
-7
24
-1
0
0
0
0
5
0
-24
16
-10
0
0
0
0
1
-4
-19
-1
-97
0
0
0
0
0
0
-3
15
-33
0
0
0
3
0
-1
-1
-2
-7
0
0
0
-2
-3
6
7
29
0
0
0
0
-1
-2
4
-12
8
0
0
0
0
0
0
-1
-42
30
0
0
0
0
-4
0
3
-2
23
0
0
0
0
-3
0
9
-17
1
0
0
0
0
-4
-1
0
-1
8
0
0
0
0
0
0
0
5
-9
0
0
0
0
-1
0
-2
-7
-6
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
3
-3
-26
0
0
0
0
5
0
-2
-4
21
0
0
0
0
2
-1
0
-3
11
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
2
-4
0
0
0
0
-3
0
0
0
0
0
0
0
-21
-7
5
-9
-27
47
45
39
0
0
0
-8
-4
4
-9
17
-40
0
10
-1
3
15
-27
-19
-105
47
0
0
-3
0
-8
-20
-40
22
113
0
-1
0
2
-11
-53
-32
43
38
0
0
1
0
-4
15
4
76
-69
0
0
0
0
16
12
-34
-29
-40
0
0
0
0
-1
3
-4
34
-133
0
-1
1
0
-6
8
25
-29
0
0
0
-1
1
-2
-10
-37
-46
0
0
2
0
3
-10
-7
64
17
0
0
0
0
-1
11
2
20
7
0
0
-2
0
0
4
10
7
-57
0
0
0
0
0
-2
-3
21
-35
0
0
0
0
0
2
0
-24
52
0
0
0
0
0
-1
0
1
0
0
0
0
-2
-4
-21
-15
9
0
0
0
0
0
0
-1
15
13
0
0
0
-1
0
0
-16
29
6
0
0
0
0
0
0
0
25
-9
0
0
0
0
0
0
5
-4
-8
0
0
0
0
0
0
0
-19
19
0
0
0
1
0
0
2
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
7
46
0
0
0
0
0
0
-7
0
-37
0
0
0
0
0
-4
1
-15
0
0
0
0
0
0
0
0
0
-13
0
0
0
-1
0
0
1
-1
37
0
0
0
0
0
-1
0
3
-18
0
0
0
-13
0
-1
0
0
18
0
0
0
0
0
0
0
0
3
0
0
0
0
2
-3
-26
-59
-4
88
-133
0
0
-4
-6
-4
-40
-2
35
77
0
0
3
0
16
36
-11
-12
36
0
0
1
-10
15
15
3
6
11
0
0
0
2
-1
29
37
-1
1
0
0
-2
-1
-4
22
-9
8
20
0
0
0
0
-5
-1
-3
-26
56
0
0
1
1
2
5
-8
-25
-19
0
0
0
-3
6
-17
-17
-2
0
0
0
-2
1
-5
17
16
-16
0
0
0
0
-1
2
-6
-19
15
0
0
0
-1
-1
-11
-10
47
11
0
0
0
0
-3
-1
-3
15
-62
0
0
0
0
0
2
-3
-33
13
0
0
0
0
0
2
-2
8
0
0
0
0
0
3
0
0
13
-39
0
0
0
-1
0
-5
18
-30
0
0
0
0
0
0
6
26
43
0
0
0
0
0
0
6
-18
-4
0
0
0
0
2
0
-3
10
2
0
0
0
0
0
0
0
6
8
0
0
0
0
0
3
2
2
10
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
1
-6
17
0
0
0
0
0
0
0
-6
23
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
1
-1
-1
24
0
0
0
0
0
2
0
0
-17
0
0
0
0
0
-5
0
4
-28
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
19
0
0
-12
1
0
16
-6
41
-36
-9
54
0
0
0
-20
-12
-26
-15
-16
88
0
0
0
-2
-24
6
-33
42
-16
0
0
0
0
3
22
53
-8
10
6
0
0
-9
-11
-7
-1
16
-20
0
0
-3
0
6
-43
-3
53
-32
0
-2
0
6
7
-55
7
21
-33
0
0
0
0
-10
-15
0
-93
67
-4
0
0
9
13
-74
4
56
0
0
0
0
1
-1
-20
28
-3
0
0
0
0
0
-26
-24
7
-6
0
0
0
0
0
4
-5
9
22
0
2
0
0
0
-2
0
14
17
0
0
0
0
-1
1
1
4
-60
0
0
0
0
0
-3
-4
1
-44
0
0
0
0
0
-1
5
8
17
0
4
-2
1
-13
-29
18
-31
0
0
0
0
0
2
-6
55
-3
0
0
0
1
0
0
-20
-34
-8
0
0
0
0
0
0
-1
2
39
0
0
0
0
0
-1
13
6
29
0
0
0
0
1
-1
-8
-1
-3
0
0
0
0
0
0
14
-4
25
0
0
0
0
0
1
7
0
2
0
0
0
0
0
0
-19
24
-11
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-4
-5
-8
-52
0
0
0
0
0
1
0
2
3
0
0
5
0
0
3
0
7
-42
0
0
0
0
0
0
3
-1
1
0
0
0
2
0
-2
0
1
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
-22
5
3
-36
-25
38
0
0
5
12
-9
-34
-34
-24
-48
0
0
1
-3
-2
8
4
-8
38
0
0
-4
13
8
20
-3
32
-13
0
0
0
0
-3
21
-23
6
-83
0
0
1
0
1
-3
2
-165
109
0
0
0
0
-1
-22
-1
77
37
0
0
0
0
0
-1
-1
26
-18
0
0
0
1
3
14
-4
-50
0
0
0
0
0
-2
-15
10
-54
0
0
0
0
0
0
2
-2
-21
0
0
0
4
0
2
10
8
45
0
0
0
0
0
0
2
10
-64
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
-1
0
-1
76
0
0
0
0
0
0
0
1
43
0
0
0
0
0
-51
-17
54
0
0
0
0
0
1
11
-9
33
0
0
0
0
0
0
7
-24
-9
0
0
0
0
1
0
3
5
26
0
0
0
0
0
0
-1
-22
3
0
0
0
0
0
0
2
-16
1
0
0
0
0
0
0
0
4
3
0
0
0
0
0
1
2
0
-4
0
0
0
0
0
0
0
37
-19
0
0
0
0
0
1
-5
-2
-18
0
0
0
0
0
0
0
17
-5
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
1
0
-18
10
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-1
3
3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-3
-3
-33
25
-95
15
0
0
0
0
-1
41
-11
-64
20
0
1
0
-1
-3
-10
24
39
-48
0
0
0
0
-7
7
11
9
10
0
1
0
-2
-5
22
0
3
-38
0
0
0
0
1
-15
5
-19
81
0
-1
0
-2
0
9
0
14
13
0
0
0
0
1
-3
0
-14
48
0
0
0
0
4
-39
-2
-27
0
0
0
0
0
0
-23
3
-35
0
0
2
0
-3
-3
29
7
33
0
0
0
0
0
-2
-7
-19
-60
0
0
0
0
1
-2
0
-4
-14
0
0
0
0
0
1
-5
0
62
0
0
0
0
0
0
-2
11
27
0
0
0
0
0
-4
2
1
-14
0
0
0
0
-4
-3
8
17
0
0
0
0
0
0
-1
47
-14
0
0
0
0
0
0
0
-48
22
0
0
0
0
0
0
2
-19
4
0
0
0
0
0
0
2
5
-8
0
0
0
0
0
0
0
-5
6
0
0
0
3
0
0
1
-6
8
0
0
0
0
0
3
0
-1
0
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
-8
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
3
-8
0
0
0
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
-3
9
2
47
-7
-17
-62
0
0
2
-10
2
-45
1
-2
32
0
0
0
0
-3
-18
-13
-1
-3
0
0
0
4
18
-35
-16
41
-30
0
0
0
2
0
1
6
-94
67
0
0
0
0
3
6
-2
-37
-14
0
0
0
5
-5
-7
0
72
24
0
0
0
-12
9
0
0
19
71
0
0
0
0
0
-1
5
53
0
0
0
0
0
1
42
14
-3
0
0
0
0
1
0
27
3
9
0
0
0
0
-7
6
-11
11
-24
0
0
0
0
0
-1
-2
-2
65
0
0
0
0
3
0
-3
3
85
0
0
0
0
0
-4
1
1
18
0
0
0
0
-14
6
0
0
-15
0
0
0
0
1
-13
-25
-17
0
0
0
0
0
2
1
-1
-16
0
0
0
0
0
0
2
-16
-14
0
0
0
0
0
0
-7
-9
9
0
0
0
0
0
0
3
-2
-5
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
-14
-1
-2
-3
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
2
-2
-5
0
0
0
0
0
-1
1
7
9
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
0
7
-3
0
0
-10
1
3
-7
19
-22
21
97
0
0
0
-4
-7
22
-76
63
-52
0
0
-3
5
-2
-9
-50
-51
81
0
0
0
1
-4
-14
-10
67
-108
0
-1
0
0
-4
6
-31
-8
1
0
0
0
0
1
-21
-46
-10
13
0
0
0
0
-1
2
48
21
-5
0
0
0
0
4
1
-17
-1
-15
0
0
0
0
2
-12
-20
-11
57
0
0
0
1
1
50
-35
-5
85
0
0
0
0
0
0
-19
17
-15
0
0
0
0
-4
4
0
-25
-7
0
0
0
0
5
11
-10
-38
115
0
0
0
0
2
-1
2
-9
-13
0
0
0
0
-1
0
0
33
-29
0
0
0
0
0
-5
1
-2
-98
0
0
0
1
-1
0
23
93
0
0
0
0
0
1
21
9
20
0
0
0
0
0
0
-2
4
-21
0
0
0
0
0
-1
2
2
6
0
0
0
0
0
-3
-7
13
-61
0
0
0
0
0
1
-6
2
-3
0
0
0
0
0
0
3
-22
-11
0
0
0
0
0
0
-5
3
4
0
0
0
0
0
2
34
6
63
0
0
0
0
1
0
-4
9
55
0
0
0
0
0
0
2
9
-44
0
0
0
0
0
0
0
11
12
0
0
0
0
0
0
-3
15
4
0
0
0
0
0
0
2
-1
18
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
-4
-25
8
-18
-35
0
0
0
-2
1
0
-28
25
32
0
0
0
3
1
-1
15
10
1
0
0
0
1
0
-11
-11
-34
22
0
0
0
0
0
-7
-1
-19
26
0
0
0
0
0
-11
-54
13
-34
0
0
0
0
0
5
0
55
28
0
0
0
0
0
4
-23
14
-8
0
0
0
0
3
-1
-1
19
-1
0
0
0
0
0
2
-3
-3
13
0
0
0
0
0
-4
-2
-10
-84
0
0
0
1
2
0
-1
-3
42
0
0
0
0
0
8
-1
-13
-15
0
0
0
0
-1
0
3
14
-105
0
0
0
0
0
0
0
-5
51
0
0
0
1
0
0
0
-1
-76
0
0
0
0
2
-1
25
-12
0
0
0
0
0
0
0
25
-21
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
3
8
0
0
0
0
0
2
3
-5
43
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
2
-1
2
42
0
0
0
0
0
0
12
1
-26
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
0
4
48
0
0
0
0
0
0
0
2
-40
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
-19
18
14
-15
30
0
0
0
0
2
1
-14
21
-13
0
0
-2
0
0
10
-33
-45
49
0
0
0
-1
0
-9
-29
-24
-26
0
0
0
0
2
1
-24
33
21
0
0
0
0
0
0
-11
4
-8
0
0
6
0
0
1
-16
26
19
0
0
0
0
0
0
-4
-1
50
0
0
0
0
6
-10
3
37
-58
0
0
0
0
0
0
18
-14
-91
0
0
0
0
0
-7
1
-11
106
0
0
0
0
0
0
0
22
-27
0
0
0
0
0
-4
0
-35
-23
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
-1
6
18
13
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
4
16
-74
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
5
-8
-10
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
14
7
0
0
0
0
0
0
0
-5
7
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
1
6
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
-1
-2
-17
0
0
0
0
0
0
-1
-8
17
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
11
0
0
0
0
-2
0
-12
-34
-16
-5
0
0
0
3
0
27
-9
-20
-43
0
0
0
4
0
20
-36
124
-123
0
0
0
-9
3
12
75
12
-2
0
0
0
0
0
0
-45
3
-16
0
0
0
0
-1
-4
-16
28
-11
0
0
0
0
0
-8
-4
-24
14
0
0
0
2
-1
-9
10
26
13
0
0
0
0
0
6
-3
4
21
0
0
0
0
0
1
-7
-5
-9
0
0
0
0
0
0
-7
-53
26
0
0
0
1
0
-4
1
-54
20
0
0
0
0
0
0
0
62
13
0
0
0
0
0
1
-2
53
24
0
0
0
0
0
0
0
38
-4
0
0
0
2
0
0
0
7
26
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
-1
-11
49
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
4
1
0
2
0
0
0
0
0
0
3
-1
-4
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
-6
-16
0
0
0
0
0
0
-2
-4
14
0
0
0
0
0
0
1
2
-29
0
0
0
0
0
0
1
0
23
0
0
0
0
0
0
0
-1
59
0
0
0
0
0
0
-1
-2
-26
0
0
0
0
-3
0
0
3
15
0
0
8
-1
0
1
-11
-18
11
-5
0
0
0
0
1
3
-6
-28
-45
0
0
0
0
0
-3
-2
22
-104
0
0
0
0
0
-8
2
57
-27
0
-3
0
0
-1
-27
6
13
-19
0
0
0
0
0
-4
-3
-1
-36
0
0
0
0
0
-1
8
5
-53
0
0
0
0
1
-6
0
-2
12
0
-6
0
0
1
-37
-4
28
16
0
0
0
0
-1
6
2
45
-9
0
0
0
0
0
-8
-1
65
-54
0
0
0
0
0
15
0
58
-12
0
-1
0
0
3
-16
-3
21
61
0
0
0
0
0
-1
0
-18
111
0
0
3
0
0
0
0
10
-22
0
0
0
0
0
-5
0
2
-41
0
0
0
0
-3
4
-15
-11
0
0
0
0
0
0
4
9
19
0
0
0
0
0
0
1
10
4
0
0
0
0
0
0
4
0
-1
0
0
1
0
0
0
0
0
-52
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
5
1
6
0
0
0
0
0
0
6
-2
2
0
0
0
0
0
4
1
-8
51
0
0
0
0
0
0
0
-10
22
0
0
0
0
0
0
0
-1
58
0
0
0
0
0
0
-2
0
-30
0
0
1
0
0
0
1
-2
4
0
0
0
0
0
0
0
0
39
0
0
0
1
0
0
3
1
-10
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-3
-9
10
-2
6
0
0
0
-5
-1
0
1
-1
-59
0
0
0
0
0
4
-16
-13
24
0
0
0
0
2
-4
1
25
3
0
0
0
0
0
2
-8
3
-40
0
0
0
0
-3
0
-1
-12
40
0
0
0
0
-1
0
7
-6
-8
0
0
0
0
0
2
0
0
1
0
0
0
0
-1
-2
7
52
7
0
0
0
0
0
0
1
-6
94
0
0
0
0
0
0
-1
33
-20
0
0
0
0
0
4
0
7
-27
0
0
0
0
0
-2
2
-29
91
0
0
0
0
0
0
-1
17
16
0
0
0
0
-2
0
0
16
3
0
0
0
0
-2
1
0
3
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
3
-20
0
0
0
0
0
0
1
2
-16
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
4
-1
-34
0
0
0
0
0
0
1
-2
-26
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
-2
16
0
0
0
0
0
0
3
-1
-18
0
0
0
0
0
0
0
0
-32
0
0
0
0
-1
0
0
0
-52
0
0
0
0
0
0
2
6
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
-6
-20
-13
2
0
0
0
0
-3
-3
-3
-2
-51
0
0
0
0
0
3
-12
20
-24
0
0
0
0
0
8
1
24
3
0
0
0
0
0
0
-4
-34
-36
0
0
0
0
1
2
-1
1
4
0
0
-1
0
0
-1
1
1
-35
0
0
0
0
-1
0
1
1
11
0
0
0
0
0
0
0
19
-74
0
0
0
0
0
0
0
18
20
0
0
-5
0
0
0
0
28
-23
0
0
0
0
0
0
1
-6
-20
0
0
0
0
-1
1
0
-4
17
0
0
0
0
0
0
0
-4
31
0
0
2
0
0
0
1
2
-44
0
0
0
0
0
0
0
3
-58
0
0
0
0
0
0
-13
-70
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
-1
14
0
0
0
2
0
0
3
1
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
12
0
0
0
2
0
0
0
0
20
0
0
0
0
0
1
0
0
9
0
0
0
0
1
-2
10
-6
-32
30
0
0
0
0
1
1
8
-6
-92
0
0
0
0
0
12
0
-17
-16
0
0
0
0
3
-1
0
14
15
0
0
0
0
0
2
0
5
-11
0
0
0
0
-2
2
-1
-8
10
0
0
0
0
0
2
6
0
-9
0
0
0
5
-2
-10
-1
0
9
0
0
0
0
0
0
0
7
-28
0
0
0
0
-2
0
-2
-1
72
0
0
0
0
0
-9
0
19
24
0
0
0
-1
-1
1
1
-15
-4
0
0
0
0
0
0
-2
4
11
0
0
0
-1
0
0
-1
-6
-19
0
0
0
0
0
-2
0
1
5
0
0
0
0
0
1
0
3
5
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
-9
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
3
0
-13
0
0
0
0
0
1
-2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
-1
0
2
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
-14
0
0
0
0
-3
0
0
0
4
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
-2
-4
0
0
0
0
1
-1
0
0
5
0
0
1
0
-6
-49
-2
23
65
0
0
0
0
1
9
4
-15
8
0
0
0
0
0
0
11
-2
-21
0
0
0
0
-2
7
-16
1
-43
0
0
2
-1
0
10
26
9
1
0
0
0
0
0
-4
-11
-18
-12
0
0
0
1
0
-6
4
19
-37
0
0
0
0
0
9
-19
-3
10
0
0
0
0
0
15
10
22
75
0
0
0
0
-6
-1
1
15
22
0
0
0
0
0
1
-10
-6
-10
0
0
0
0
0
-5
-5
11
-18
0
0
0
0
0
8
23
-55
33
0
0
0
0
0
-4
17
-2
37
0
0
0
0
0
0
-2
-3
11
0
0
0
0
0
1
-9
0
1
0
0
0
0
0
12
45
25
-11
0
0
0
0
0
-2
1
8
99
0
0
0
0
0
-7
14
0
6
0
0
0
0
0
-5
-14
-13
10
0
0
0
0
0
5
21
-37
56
0
0
0
0
-2
-10
-3
-60
6
0
0
0
0
0
0
-3
-41
10
0
0
0
0
0
0
-11
8
25
0
0
0
0
0
-10
9
-34
30
0
0
0
0
-1
-1
6
4
-8
0
0
0
0
0
0
-8
6
6
0
0
0
0
0
2
-3
-40
-38
0
0
0
0
0
-4
6
24
-9
0
0
0
0
0
-1
0
-16
1
0
0
0
0
0
0
-2
-14
-19
0
0
0
0
0
4
0
-1
-10
0
0
0
0
3
27
-50
-27
-6
0
0
0
0
-3
2
-2
23
-35
0
0
0
0
1
0
-2
-3
29
0
0
0
0
0
1
14
-3
43
0
0
0
0
0
2
-3
0
-38
0
0
0
0
0
-3
0
17
-39
0
0
0
0
0
-1
0
-1
-18
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
-4
-12
8
0
0
0
0
0
0
0
14
-17
0
0
0
0
-1
0
0
-1
34
0
0
0
0
-5
0
-2
-2
1
0
0
0
0
0
-1
1
10
19
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-6
3
-11
36
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
0
0
7
-31
0
0
0
0
0
0
-5
-6
-3
0
0
0
0
0
0
1
-10
24
0
0
0
0
1
4
0
-18
-11
0
0
0
0
0
0
-3
-5
35
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
42
-8
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
-1
-8
11
0
0
0
0
2
0
0
-8
-1
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
15
0
0
0
0
-2
-1
-7
-19
42
0
0
0
0
0
1
1
-14
-30
0
0
0
0
0
0
-14
3
-13
0
0
0
0
0
0
3
-3
38
0
0
0
0
0
-2
4
12
5
0
0
0
0
0
0
-1
-1
15
0
0
0
-2
0
0
-2
-1
-9
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
1
-3
-39
-7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
42
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
-2
-6
0
0
0
0
0
0
0
-2
1
0
0
0
-2
0
0
1
-4
-25
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
-34
14
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
-3
-15
1
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
-4
10
66
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
-2
-22
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
2
-14
35
0
0
0
0
0
0
0
-12
21
0
0
0
0
0
-1
0
-1
-31
0
0
0
0
0
0
-7
3
12
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
-1
-1
-15
-35
0
0
0
0
0
-1
-7
-21
3
0
0
0
0
0
0
-1
-45
6
0
0
0
0
0
0
-5
17
-6
0
0
0
0
0
-2
0
1
11
0
0
0
0
0
1
1
0
25
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
2
-3
-3
0
0
0
0
0
0
7
-18
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
1
0
-1
1
-2
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-3
-19
-15
0
0
0
0
0
0
-1
-6
-5
0
0
0
0
0
-1
1
-8
-4
0
0
0
0
0
0
0
-25
32
0
0
0
0
0
0
0
-9
-36
0
0
0
0
0
0
1
-5
16
0
0
0
0
0
0
0
25
13
0
0
0
0
0
-1
0
-18
-32
0
0
0
0
0
0
0
-20
-13
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
26
-5
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
7
18
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
0
0
0
0
0
0
-1
-5
0
0
1
-1
0
0
4
13
3
0
0
0
0
0
-2
4
-5
-53
0
0
0
0
0
-1
7
14
50
0
0
0
0
0
0
-4
-2
2
0
0
-2
0
0
-7
44
-53
11
0
0
0
0
0
0
8
-3
14
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
0
-6
-11
0
0
-3
0
0
-3
-15
-9
38
0
0
0
0
0
0
-2
4
-2
0
0
0
0
0
0
-1
4
-2
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
14
18
-22
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
3
17
0
67
0
0
0
0
0
0
2
10
23
0
0
0
0
0
0
-3
-11
-28
0
0
0
0
0
-3
0
-11
10
0
0
-1
0
0
0
-6
1
-8
0
0
0
0
0
2
0
9
-21
0
0
0
-1
0
0
-2
6
16
0
0
0
0
0
0
0
4
5
0
0
0
0
0
10
0
-30
-28
0
0
0
0
0
0
2
22
9
0
0
0
0
0
-3
6
-23
31
0
0
0
0
0
0
0
-18
12
0
0
-3
0
0
0
0
4
17
0
0
0
0
0
0
-4
31
42
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
10
-78
9
0
0
0
0
-2
-2
-2
-54
-2
0
0
0
0
0
0
-8
41
26
0
0
0
0
-1
0
-2
-1
26
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
5
1
-2
6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
11
-1
0
0
0
0
0
-3
-3
-10
6
0
0
0
0
0
1
0
-13
2
0
0
0
0
0
0
-9
-3
1
0
0
0
0
1
0
1
1
-16
0
0
0
0
0
0
1
-4
3
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
16
-8
0
0
0
0
0
1
1
-49
1
0
0
0
0
0
0
1
28
44
0
0
0
0
1
-2
0
-24
25
0
0
0
0
0
0
0
10
-47
0
0
0
0
0
-2
0
-10
-5
0
0
0
0
0
0
-3
10
-2
0
0
0
0
0
0
-3
-12
2
0
0
0
0
0
-2
0
11
-1
0
0
0
0
0
0
1
6
9
0
0
0
0
0
0
-2
-2
-7
0
0
0
0
0
0
-2
-9
7
0
0
0
0
0
0
0
11
8
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
28
-29
0
0
0
0
0
0
-1
8
-10
0
0
0
-3
0
0
5
3
-3
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
-3
13
10
0
0
0
0
0
0
-1
-1
4
0
0
0
-1
0
-1
0
7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
3
-2
-2
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
-2
6
-3
0
0
0
0
0
-1
0
4
15
0
0
0
0
0
0
0
-1
-2
0
0
0
1
0
0
0
1
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
4
-2
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
33
20
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
-1
-10
42
0
0
0
0
0
0
0
-13
15
0
0
0
1
0
0
0
-21
-35
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
-1
-12
10
0
0
0
0
0
0
0
8
10
0
0
0
1
0
0
0
-44
-3
0
0
0
0
0
0
0
-19
24
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
51
-3
0
0
0
-1
0
0
-1
-16
-3
0
0
0
0
0
0
0
-15
-2
0
0
0
0
0
1
-9
-7
-5
0
0
0
0
0
2
-3
34
2
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
0
4
-3
1
0
0
0
0
0
-2
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
0
0
0
0
0
0
2
7
-2
0
0
0
0
0
-1
1
3
-5
0
0
0
0
0
1
0
-16
2
0
0
0
0
-2
0
0
18
5
0
0
0
0
2
0
4
-4
2
0
0
0
0
0
0
3
1
2
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
-2
4
3
0
0
0
0
-1
2
-4
-2
-1
0
0
0
0
0
0
-3
-6
11
0
0
0
0
0
0
-5
12
4
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
5
-1
-10
1
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-11
-9
0
0
0
0
0
0
-1
1
6
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
2
-19
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
-1
1
7
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
0
0
8
0
0
0
0
0
-3
0
2
0
0
0
1
0
1
-4
4
-24
38
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
-4
-3
-14
0
0
0
0
0
0
3
-2
-9
0
0
-1
0
0
-2
-6
56
-35
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
-5
-2
-5
-1
0
0
0
0
0
25
-3
-8
22
0
0
0
0
0
0
2
-11
-6
0
0
0
0
0
0
0
-5
26
0
0
0
0
0
3
-7
4
15
0
0
3
0
0
-8
2
28
-16
0
0
0
0
0
0
-1
-7
-7
0
0
0
0
0
1
-1
-1
9
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
7
-26
22
0
0
0
0
0
-6
0
17
-18
0
0
0
0
0
1
1
29
6
0
0
0
0
0
0
0
-16
52
0
0
0
0
0
0
16
0
-46
0
0
0
0
0
0
-1
-12
8
0
0
0
0
0
-1
-1
-4
13
0
0
0
0
0
1
-1
-10
0
0
0
0
0
0
0
6
21
-17
0
0
0
0
0
0
1
-11
21
0
0
0
0
0
-1
1
-8
18
0
0
0
0
0
0
0
-17
-1
0
0
2
0
0
0
0
11
-23
0
0
0
0
0
1
-3
-5
-17
0
0
0
0
0
-1
0
8
12
0
0
0
0
0
1
0
-3
4
0
0
0
0
1
3
2
7
-24
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-2
7
2
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
-1
-5
-1
-2
0
0
0
0
0
0
0
5
-23
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
-3
6
12
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
-8
6
0
0
0
0
0
0
0
-3
-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
-1
12
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
24
-3
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
-39
0
0
0
0
0
0
0
-16
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
-10
0
0
0
0
0
0
0
29
32
0
0
0
0
0
0
0
4
-28
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
-14
-17
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
-1
-1
17
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
2
8
8
9
0
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
0
-4
-3
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
1
1
3
-7
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
1
5
-13
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
-7
71
0
0
0
0
0
0
0
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
-2
-29
-28
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
3
10
0
0
0
-2
0
0
3
-17
2
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
13
38
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
-1
-2
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
-1
-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
1
53
0
0
0
0
0
0
4
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
-1
-5
0
0
0
0
0
0
0
1
4
-7
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
-1
1
8
0
0
0
0
-2
0
0
1
11
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
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-4
64
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
2
39
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
15
-27
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
1
0
3
2
0
0
0
0
0
0
0
-3
-32
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
9
-22
0
0
0
0
0
0
0
1
32
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
5
33
0
0
0
0
2
2
-2
0
17
0
0
0
0
0
1
-9
-39
-21
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
-3
3
4
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
3
3
0
0
0
0
0
0
-1
13
8
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
0
1
-10
0
0
1
0
0
0
-8
34
23
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-16
-33
0
0
0
0
0
0
0
-27
-13
0
0
0
0
0
0
0
5
-31
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
2
12
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
16
-25
0
0
0
0
0
0
1
9
26
0
0
-3
0
0
0
0
-2
34
0
0
0
0
0
0
0
0
29
0
0
0
-1
0
0
0
-3
16
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
-5
-15
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
4
6
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
2
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
-3
1
-8
0
0
0
0
0
-1
0
-2
-5
0
0
0
0
0
-3
-1
3
5
0
0
0
0
0
-12
0
0
8
0
0
0
0
0
1
0
0
4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-62
0
0
0
0
0
0
0
7
-14
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
11
0
0
0
0
0
0
0
-23
21
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
0
7
-15
0
0
0
0
1
0
0
0
38
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-4
-19
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
1
1
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
1
1
0
27
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
5
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
-2
14
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-1
12
5
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
2
10
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
-5
-19
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
2
35
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
1
-1
1
-5
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
-4
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
-2
0
2
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
-8
11
0
0
0
0
-1
5
-3
2
1
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
1
5
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
12
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
1
12
0
0
0
0
0
0
-1
3
-4
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
1
-1
0
0
0
0
1
-2
0
4
-4
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
5
12
0
0
0
0
-1
0
5
9
2
0
0
0
0
-1
0
-1
1
20
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
16
0
0
0
0
1
0
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
60
27
21
24
34
32
-2
1
0
0
21
5
-25
19
37
22
-27
-4
1
0
19
3
-3
-33
-25
16
62
4
7
0
17
7
1
-18
-22
20
-65
29
37
8
6
2
2
-9
-8
21
62
95
28
4
1
-7
-3
2
25
-13
-13
79
27
0
-8
-1
20
47
35
-1
21
-14
-1
0
-34
19
-45
15
38
-33
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
20
-1
44
82
10
-2
2
-5
40
-32
20
-11
-1
18
-5
35
-50
-57
-43
-48
-20
8
-7
-54
45
19
45
-30
-21
-25
-10
5
-2
20
82
-4
50
3
-18
-9
0
0
5
4
42
125
166
-10
2
-8
-3
8
25
13
71
92
21
19
15
0
4
11
11
-9
71
72
-4
-1
17
-2
9
5
1
47
-42
59
0
-51
8
-17
-23
-32
-36
-117
-7
38
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
-4
41
84
10
-2
2
-5
53
-34
16
-21
-17
5
0
27
-52
-65
-24
-11
-20
8
17
-47
40
-12
38
-47
-9
4
-10
16
22
-5
54
12
38
-14
-11
6
8
18
24
8
30
88
158
-13
-8
12
11
20
28
7
31
73
18
-11
20
5
20
26
30
8
45
70
-1
2
24
11
15
25
10
41
-48
65
2
-73
-22
2
-3
-2
-35
-112
-10
36
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
9
23
7
9
0
2
0
0
-47
15
-30
-21
-10
34
15
-21
0
-16
56
-11
-43
-22
34
61
-26
60
5
13
16
12
47
78
-6
-22
88
20
-42
-92
9
5
38
-3
-13
12
9
58
-12
-172
19
64
62
8
-6
-13
9
-57
-33
15
-64
39
66
15
32
-18
47
29
-13
-75
-8
-13
58
38
1
-66
44
-3
-14
-53
-13
82
78
0
-99
-35
-1
0
63
13
-3
2
8
110
-34
86
6
5
-1
9
0
5
35
4
3
5
1
20
-1
-6
-6
0
-7
-8
-2
5
23
11
2
-4
-7
-18
-8
-39
-17
-5
-2
-13
-5
12
-68
33
9
-58
-8
-63
56
39
114
67
-71
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
9
7
0
0
0
0
0
0
60
4
0
0
0
0
0
0
0
38
-9
10
1
0
0
0
0
0
10
58
-19
0
0
0
0
0
0
8
14
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-35
135
0
0
0
0
0
0
72
-25
71
3
0
0
0
1
0
84
29
22
6
-2
1
0
4
0
78
-56
135
6
-7
2
1
0
0
28
-5
66
43
-3
1
3
-1
0
-33
84
45
-40
5
0
1
0
0
-3
10
-14
1
-3
0
0
1
0
2
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
49
-3
-6
-4
0
0
0
0
0
43
-4
27
26
-1
-1
9
3
-3
41
16
13
13
13
-6
-1
17
3
-20
13
44
48
2
-18
8
6
-16
20
-27
98
24
9
25
-20
43
19
-8
-46
76
49
47
9
-6
-6
-2
53
-49
6
20
24
19
7
1
4
3
-24
8
10
28
0
0
1
0
0
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
4
14
-116
0
2
0
-23
0
28
-3
-7
54
-63
12
-15
25
-9
33
10
3
15
12
-1
22
-72
-101
-4
20
59
-27
-30
17
-37
-19
7
-14
-2
64
78
-4
-2
75
27
-41
-42
-29
54
27
2
12
26
55
44
32
-45
45
69
-40
14
25
-21
-5
0
-12
23
23
-13
-1
-3
7
1
0
0
0
7
1
-1
0
0
0
0
0
0
1
1
0
0
0
0
17
6
7
-47
1
-12
2
-6
-2
10
0
-16
63
35
-76
-20
-14
27
17
-1
8
0
-2
19
-34
54
71
30
0
23
1
3
13
-12
35
-23
-8
-14
52
26
-47
6
-55
-111
11
31
-10
82
17
-36
17
-17
25
-28
22
-34
4
56
35
12
53
-37
3
0
14
2
44
4
-15
0
2
0
0
0
1
-10
3
0
0
0
0
0
0
0
0
3
0
0
0
0
-13
-2
-24
-48
26
4
-7
23
4
-3
-2
-26
-49
-31
-23
-13
14
12
6
1
-11
-37
-53
5
108
-49
3
29
7
-15
-23
7
12
-24
8
72
80
10
22
-21
35
-48
-43
-27
-17
-4
-41
1
100
18
-40
5
-10
-13
13
-5
22
-56
28
-9
-25
6
12
0
0
16
7
26
1
12
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-20
-42
3
-2
-2
-4
-7
0
-12
-8
-22
-5
-23
-30
-1
-37
-13
-2
-11
-19
-43
-96
9
-73
58
41
55
9
-27
-23
18
-85
61
34
-40
58
84
22
-114
-25
-6
52
15
-9
40
-2
-39
50
29
-10
-33
-18
-1
0
-2
1
80
-13
-16
-5
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
-11
-36
-47
-11
10
0
7
-12
-4
87
-78
3
-54
-55
21
-23
5
-3
57
-41
-66
12
-2
1
-15
-11
7
92
100
-95
-42
-69
15
-9
-25
3
13
-48
28
-12
13
39
4
-1
1
0
-15
9
0
62
-34
2
0
0
0
0
0
-8
-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
5
0
0
0
0
0
0
0
1
7
-10
0
0
0
0
0
0
-3
38
-17
0
0
0
0
0
0
-7
20
0
0
0
0
0
0
0
2
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
-5
0
0
0
0
0
0
0
0
22
-9
-2
0
0
0
0
0
0
75
-109
12
2
0
0
0
0
0
77
6
-34
-6
2
0
0
0
0
31
80
-21
88
-14
0
1
-1
0
-74
70
9
105
0
2
4
1
0
114
-50
77
-64
13
8
3
-1
0
20
-30
-6
42
23
-3
0
0
0
37
31
8
14
3
0
0
0
0
-32
-10
1
-2
-7
0
0
0
0
28
-107
14
0
0
0
0
0
0
29
-46
-44
9
0
0
0
4
0
26
-36
32
8
-6
9
2
5
8
32
-6
-18
7
93
-4
-24
32
-19
15
1
-3
130
101
49
-10
31
46
-51
-31
72
-5
107
24
140
39
95
38
20
61
-17
13
72
65
-24
5
14
10
101
-60
69
68
20
11
1
24
3
-12
29
16
15
1
-1
0
14
48
34
-6
-9
0
0
0
0
59
-16
-95
-7
0
0
0
0
0
38
-20
-126
48
15
-6
14
-1
1
21
-17
-14
56
-81
-28
-54
46
27
35
-2
29
26
-33
-27
0
-69
5
31
-9
45
52
12
34
-26
2
63
-33
-34
35
55
144
145
129
107
-26
-40
-3
19
43
72
123
102
96
167
-12
-17
53
121
-29
-24
42
45
24
-14
30
-27
-28
25
102
9
-3
-3
22
18
15
10
6
2
1
0
0
33
-15
-24
-53
0
7
0
-23
-2
39
-12
-22
-40
-37
-86
-42
13
-17
18
-17
-16
51
-38
2
17
33
-151
22
5
11
15
87
85
-31
-31
6
6
2
15
30
-3
87
120
-12
12
-27
0
60
34
18
10
-10
31
102
-44
-30
50
33
7
93
65
19
-53
-54
43
47
33
33
58
62
62
55
-63
-11
24
-3
44
146
68
38
2
1
27
31
-9
40
50
5
6
0
40
21
-95
-15
-43
-21
4
-20
-2
27
-11
-39
-97
-46
-60
-24
-41
54
24
3
-16
34
22
20
1
-34
19
21
13
10
-42
-12
-85
-111
-30
-23
-1
7
29
2
-5
2
-9
-67
-5
-18
14
19
20
-8
3
-27
9
63
-69
5
50
48
17
-2
22
6
41
-52
144
15
22
45
-34
1
-56
-3
-56
120
-28
27
31
-35
25
14
0
-1
-4
1
-9
38
-40
0
7
0
51
12
-206
-38
14
1
-17
15
0
26
-4
-37
-116
-119
23
-44
-34
51
21
13
-12
4
-32
-19
-15
-125
50
14
20
-7
-23
-43
10
-100
-25
31
-6
14
15
15
-24
-38
-38
-34
-67
-30
25
27
34
-50
-35
-63
-107
30
3
16
41
10
-27
0
-81
82
44
-89
40
85
1
-18
-17
74
1
0
-1
-12
9
40
88
-69
2
6
0
0
0
0
-3
-2
-5
0
0
0
93
76
-118
-104
-34
1
3
-8
-5
22
-10
-59
11
-78
-26
-41
-45
-7
8
19
-27
-45
-118
-66
-56
-101
-68
7
14
-4
-24
-39
-130
11
-66
-20
23
33
16
-27
-47
-54
-31
-5
18
58
50
62
25
-19
-28
-107
-85
-4
-157
125
-29
38
-50
-24
89
-16
-6
-2
17
28
-107
-18
85
-37
7
0
0
0
0
44
-40
33
0
0
0
0
0
0
0
0
-2
0
0
0
-35
-32
-50
8
-11
-18
4
-7
-5
10
13
-117
-75
11
-77
-67
-12
2
35
43
1
-58
-140
21
-64
-30
-29
32
52
51
-66
-39
-117
-74
-175
-11
-66
27
14
-40
-46
62
-66
-45
-17
27
49
-20
-17
31
-155
-6
-4
0
0
-6
-16
59
17
24
16
-16
0
0
0
0
-23
22
-2
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
5
0
0
0
0
0
0
0
1
9
-10
0
0
0
0
0
0
-3
40
-17
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
2
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
-5
0
0
0
0
0
0
0
0
25
0
-2
0
0
0
0
0
0
69
-108
14
2
0
0
0
0
0
72
5
-31
-6
2
0
0
0
0
28
72
-24
90
-14
0
1
-1
0
-89
60
15
107
0
2
4
1
0
105
-52
71
-65
13
8
3
-1
0
23
-25
-14
41
24
-3
0
0
0
36
26
5
15
1
0
0
0
0
-31
-11
1
-2
-7
0
0
0
0
33
-117
11
0
0
0
0
0
0
25
-27
-44
9
0
0
0
4
0
1
-12
61
14
-6
9
2
5
8
31
-14
-11
2
96
-4
-25
31
-19
21
2
-12
124
102
52
-8
32
45
-52
-3
65
-4
103
24
141
38
98
49
9
57
-11
13
72
66
-26
8
15
-2
104
-53
72
67
19
12
1
19
-8
-26
28
14
16
1
-1
0
10
46
35
-6
-10
0
0
0
0
55
-27
-98
-7
0
0
0
0
0
43
1
-152
54
15
-6
14
-1
1
52
-27
-9
70
-74
-27
-56
44
31
34
9
40
21
-35
-30
3
-69
3
24
20
40
53
12
28
-19
5
61
-33
-12
36
33
141
156
129
109
-28
-43
-28
29
39
75
116
101
90
172
-21
-14
41
105
-28
-30
40
41
27
-7
26
-24
-21
25
102
8
-2
-3
20
13
16
8
4
2
1
0
0
29
-29
-23
-55
0
7
0
-23
-2
41
-13
-19
-51
-36
-87
-43
3
-15
31
-2
-9
67
-39
2
13
28
-155
33
18
-2
19
91
89
-21
-25
17
11
19
30
28
-17
86
124
2
7
-19
10
49
49
13
12
-19
32
109
-57
-4
35
28
2
93
67
20
-50
-56
44
37
25
27
63
60
62
56
-70
-15
16
-23
45
141
69
38
2
1
29
26
-15
44
46
5
6
0
49
14
-111
-22
-44
-20
4
-20
-2
33
-16
-69
-121
-57
-58
-24
-37
59
20
10
-13
42
15
13
-1
-46
11
28
28
11
-44
-16
-92
-116
-36
-15
8
11
33
-1
5
0
-2
-39
-8
-44
21
15
23
-4
6
-25
20
61
-71
16
37
31
17
-5
21
16
47
-58
124
13
14
40
-36
8
-58
-3
-60
115
-27
28
25
-41
24
14
0
-1
-4
1
-10
39
-41
0
7
0
44
-11
-219
-29
15
-2
-15
15
0
34
-21
-37
-104
-125
26
-37
-37
56
15
11
-12
10
-13
-16
-15
-139
40
8
30
3
-9
-48
10
-107
-22
22
-5
28
21
6
-15
-28
-41
-37
-66
-33
34
49
32
-58
-29
-59
-112
35
-2
23
19
33
-24
1
-74
81
45
-90
31
84
-5
-24
-14
72
1
0
-1
-12
10
42
85
-66
2
6
0
0
0
0
-4
0
-5
0
0
0
136
63
-123
-107
-38
0
3
-7
-5
41
-21
-68
13
-72
-31
-44
-32
-2
24
27
-25
-50
-116
-73
-56
-110
-80
-6
31
7
-18
-50
-135
-1
-75
-22
16
35
16
-12
-46
-40
-27
3
14
59
49
73
23
-18
-25
-105
-82
-4
-161
126
-28
23
-43
-35
94
-15
-6
-2
17
27
-101
-24
80
-36
7
0
0
0
0
47
-40
34
0
0
0
0
0
0
0
0
-2
0
0
0
-36
-46
-51
6
-7
-17
4
-7
-5
6
14
-132
-78
-1
-85
-68
-14
3
50
48
2
-60
-143
25
-66
-37
-27
28
25
65
-48
-17
-119
-72
-180
-12
-59
23
30
-44
-47
72
-61
-44
-17
28
54
-19
-17
26
-149
-6
-4
0
0
-6
-16
66
14
28
16
-16
0
0
0
0
-26
24
-5
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
2
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
4
3
-4
0
0
0
0
0
0
-1
18
-1
0
0
0
0
0
0
2
-5
-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
2
0
0
0
0
0
0
0
-32
-12
0
1
0
0
0
0
0
-39
56
15
0
0
0
0
0
0
-16
1
18
6
-5
0
0
0
0
11
-47
46
15
2
1
0
0
0
123
-29
-20
-11
-2
3
1
0
0
59
30
-38
14
0
-1
0
0
0
35
-28
-14
18
8
0
0
0
0
-15
-4
8
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-2
0
0
0
0
0
-21
29
11
1
-2
2
0
0
0
5
-13
-4
4
16
2
-2
1
0
62
-79
-13
-3
35
29
-1
16
-1
-14
46
17
33
0
0
9
-13
0
73
10
-33
46
-22
11
42
-5
3
-30
-27
104
27
45
59
8
0
0
22
-23
-31
-13
53
17
1
-2
0
15
32
13
2
2
0
0
0
0
1
2
0
0
0
0
0
0
0
24
17
-26
-8
2
0
0
0
0
73
-39
-47
1
-5
0
-3
3
-1
-78
-14
77
-16
-22
3
8
4
13
-72
-5
32
79
2
-19
20
-18
29
-25
62
63
-11
57
41
50
34
5
62
-42
37
4
17
9
-19
23
-7
28
85
-80
43
11
-20
24
-14
3
-2
12
-9
51
39
45
15
6
0
17
20
7
-29
44
-10
1
0
0
-16
-13
0
0
0
0
0
0
0
-35
-55
5
-2
-1
0
-1
-1
0
105
-96
-6
-8
-38
17
-18
7
-11
41
-17
-3
45
30
-59
11
-18
-43
3
-4
22
75
-46
-11
6
-25
16
8
16
8
47
-8
6
1
5
70
-57
85
-80
7
4
6
13
32
24
-56
90
28
-31
56
18
15
-6
1
4
-5
-35
-46
66
19
15
1
1
1
35
17
-3
21
-11
2
0
0
-3
-3
1
-1
0
0
0
0
0
-115
8
-59
-17
-1
-1
-1
-1
0
31
-71
34
-30
-15
-23
-7
-23
-11
17
20
-17
42
-20
-56
-5
17
-45
25
21
35
41
3
-30
38
28
-16
50
19
15
-32
-11
21
-8
16
6
12
-14
18
-35
-34
70
-61
60
-2
-49
16
-17
57
12
-23
51
-35
-1
-27
43
-75
11
21
-37
18
4
0
-3
-6
-1
-15
30
-38
0
0
0
-14
-8
0
0
0
0
0
0
0
46
-59
10
-4
-18
0
0
2
0
-34
-65
-75
4
33
-2
-10
-10
-2
-7
32
10
4
-24
55
-33
-7
-48
78
45
9
-7
28
-19
59
-4
0
-50
-52
26
15
32
-12
-14
-14
67
-62
-6
-68
67
-5
70
8
-13
14
-27
16
52
14
-78
13
-28
0
0
-1
-10
20
50
33
-17
-2
0
0
0
0
0
3
-5
-1
0
0
0
-1
-3
0
-1
0
0
0
0
0
-24
22
-70
-2
-4
-1
2
1
0
-2
84
-11
-46
-79
1
-19
-23
-3
55
183
-100
-24
-55
-59
-55
-15
-5
-12
54
-15
26
-26
32
-3
4
-1
-23
-55
102
8
-3
37
3
-23
2
-38
21
2
-75
58
-25
36
3
-4
-3
9
16
-15
-39
-13
1
2
0
0
0
0
16
-13
10
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-3
0
0
0
0
0
0
0
-28
-2
-21
-9
-1
-1
0
0
0
67
3
-9
-10
-44
-50
-6
-2
-2
40
-171
56
92
42
-44
-2
-15
4
-23
6
75
-19
-25
74
-27
0
-3
15
45
26
13
-32
-19
-33
-1
0
0
-1
6
10
-20
-17
0
-4
0
0
0
0
-22
-15
6
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
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
58
13
0
-47
-83
-18
35
-23
0
-1
-34
-23
-9
-44
-23
-26
-46
-35
-25
52
56
46
40
41
13
29
-1
18
89
11
15
72
22
-45
-52
65
34
-76
-39
19
-22
50
108
-51
-82
100
181
354
344
225
143
43
95
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
-2
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
76
-41
-41
76
-40
57
145
-50
-29
-51
-6
-14
25
31
-16
23
69
120
0
34
-3
-20
32
17
3
-13
-12
52
-12
22
47
-2
45
157
-5
3
78
-12
3
-18
-75
11
70
-23
-24
176
83
-202
-102
138
70
89
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
-2
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
78
-42
-39
76
-45
56
144
-49
-32
-54
-8
-32
11
40
-52
16
66
126
0
29
-4
-20
32
14
1
-13
-12
50
-19
24
48
-2
45
159
-3
2
76
-16
-5
-17
-75
9
72
-21
-26
175
83
-204
-99
141
67
86
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
5
0
-8
0
-10
0
-1
-1
-1
-15
-10
24
-18
30
49
3
3
0
0
0
0
0
0
0
0
0
0
4
-3
8
9
4
0
3
0
0
0
-3
0
-2
-1
1
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
-74
-291
19
5
17
-5
-60
0
5
9
-19
-110
0
-6
-78
-49
-277
-85
23
218
53
8
-27
28
-155
-85
-150
-61
77
58
-26
8
45
-61
16
-19
-99
-2
23
153
-136
47
55
58
-21
123
-94
-68
-139
-37
35
-7
49
12
76
-76
-11
43
5
46
-41
-30
5
8
-16
90
31
22
-28
-105
-56
-30
-14
1
-6
0
0
0
0
0
-86
-54
16
188
97
107
26
-2
-95
-6
45
-17
51
-106
85
-1
-37
30
14
-24
-28
-28
22
-92
73
58
9
6
-68
-43
-38
3
39
-17
-79
29
-30
22
14
11
-17
-13
13
4
-21
3
14
-89
24
70
113
-82
-26
-67
6
-108
-44
25
-2
-13
16
2
-39
27
-127
11
-32
14
20
16
0
0
0
0
0
0
0
0
0
0
-9
-13
-20
37
-92
-5
-73
1
-12
28
-38
-63
-69
129
-63
-7
17
-55
-3
1
58
-104
35
2
-15
-20
38
-37
9
-104
-4
52
-28
37
-44
-8
-103
24
-24
-84
-33
0
0
6
-2
49
40
-71
-48
-48
80
19
1
13
-9
22
-49
-6
10
-91
-19
-1
-3
-24
89
22
-54
23
42
44
-3
-19
-24
-1
-15
0
0
0
0
0
-43
102
-23
-5
-17
38
-112
42
9
42
40
-40
26
40
12
-12
28
8
13
55
-2
8
84
-15
6
-58
-79
-13
26
31
21
85
-24
-15
-123
-7
12
-11
39
1
3
-4
-18
15
-7
33
33
-31
-21
58
-62
-47
-24
54
62
18
-55
-7
22
23
23
8
-71
10
32
40
-43
-8
46
27
0
0
0
0
0
0
0
0
0
0
-5
-11
-18
47
-94
-5
-73
1
-8
25
-39
-57
-73
131
-65
-7
31
-55
4
3
54
-106
45
3
-13
-19
55
-40
14
-104
-4
49
-32
43
-46
-3
-96
45
-32
-121
-17
-5
9
-14
-1
36
47
-65
-38
-50
118
4
1
29
-25
25
-37
-4
10
-110
-17
-1
-4
-20
83
15
-93
28
61
74
9
-6
10
1
6
0
0
0
0
0
-52
113
-25
-43
-9
36
-111
39
7
40
41
-43
21
63
2
-12
32
10
16
55
-10
18
91
-6
-9
-63
-89
-15
25
54
29
102
-30
-20
-124
-12
14
-12
45
-13
25
-15
-32
9
25
28
30
-28
-24
59
-69
-56
-32
87
56
18
-65
2
7
21
18
-3
-62
9
36
38
-45
5
53
19
0
0
0
0
0
0
0
0
0
0
0
-26
-2
24
8
0
2
-2
10
0
2
9
-42
6
-1
0
20
24
-10
2
0
-34
-38
-44
-6
1
22
-55
21
14
-21
-9
2
17
-1
4
18
-23
19
26
9
-47
46
44
36
-46
-15
37
35
1
91
25
54
-27
-10
4
-17
59
-72
-21
7
0
2
6
-28
-7
18
17
37
49
-36
12
31
39
47
0
0
0
0
0
8
-2
6
-80
57
-5
-2
-4
-38
1
-13
-10
-3
71
-9
0
37
55
-17
-12
2
26
18
15
-34
9
-27
-18
-17
79
3
53
-73
6
0
-28
13
51
-14
0
86
37
-78
-18
-21
-51
-19
-19
-7
-9
-38
-27
31
18
12
4
8
-11
-2
-15
-21
0
68
19
-26
19
5
-19
-10
-14
-12
-3
-6
0
9
11
3
6
0
-8
-7
0
1
3
10
9
0
-1
-3
-9
-6
-1
-1
2
3
10
1
1
-2
-2
-2
-1
-7
7
6
11
9
9
0
9
2
0
0
-1
0
0
0
1
2
-16
-2
-1
-1
-7
-10
5
-20
-23
16
-3
-4
1
5
0
13
13
13
-18
-7
-6
8
7
22
42
22
42
1
1
0
0
1
0
0
-1
-3
3
2
0
2
-1
-9
-26
-28
-57
2
-8
-9
0
0
7
16
39
48
-12
-1
2
2
1
-5
1
4
-4
1
1
-2
0
2
2
0
-1
-2
2
2
-1
-3
0
-12
-21
-27
-58
5
-8
-3
1
0
4
19
40
35
-17
2
5
1
2
-2
-2
-1
2
-6
-2
1
2
10
7
-8
1
2
17
1
3
-34
-18
-17
3
-9
-5
18
13
21
21
4
-2
44
22
31
1
8
4
5
10
27
-14
-34
-8
-58
-16
-298
-166
-791
-318
-472
-263
-75
-43
-109
-36
3
45
-41
78
74
63
-25
-7
-104
-35
23
85
9
85
71
59
14
7
-1
0
-16
-10
-42
-39
-106
-100
105
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
41
17
-37
-11
0
0
31
21
-32
8
-39
-26
0
0
-71
-51
-23
-14
-217
-76
0
0
127
92
0
0
0
0
0
0
0
0
3
1
-17
-2
0
0
-46
10
-189
-28
-97
-79
0
0
-112
-58
8
17
-53
-23
0
0
-125
28
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
-8
-255
-130
-204
-36
0
0
-90
-37
-8
-39
-52
-72
0
0
-427
-211
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-669
-264
-591
-290
0
0
-94
-132
55
-17
-273
-150
0
0
-442
-188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-882
-364
0
0
-208
-184
-490
-191
-577
-301
0
0
-1284
-289
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-258
-107
0
0
-171
-59
-212
-100
-518
-270
0
0
-508
-303
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-84
-21
-109
-22
0
0
-154
-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
8
-2
-266
-65
0
0
-147
-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
-343
-198
0
0
-312
-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
-198
-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
-2
-1
0
2
5
1
15
26
0
0
-103
-76
-160
-67
0
0
-54
-53
-39
-68
-21
9
-190
-142
0
0
0
0
0
0
0
0
0
0
2
1
-16
-6
-15
-22
0
0
-77
-42
-121
-118
0
0
-12
-31
15
33
-42
-34
35
39
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-5
21
0
0
-67
-18
-59
-48
0
0
-33
14
-20
-4
-63
-19
-40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-17
0
0
-803
-300
-252
-204
0
0
-247
-139
-234
-84
-147
-51
-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
-577
-336
0
0
-165
-107
-276
-193
-326
-195
-581
-405
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-241
-161
0
0
-206
-106
-160
-131
-91
-86
-236
-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
-220
-174
-48
-9
-136
-102
-102
-144
0
0
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
-103
-189
-123
-133
-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
-238
-35
-169
-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
-89
-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
8
4
117
77
-64
-14
0
0
-14
-18
-265
-58
-97
-74
0
0
61
42
-1
-23
51
24
0
0
-56
-21
0
0
0
0
0
0
0
0
7
9
-72
-32
0
0
-11
58
-284
43
-70
-26
0
0
-39
-33
-19
23
-27
21
0
0
-92
-24
0
0
0
0
0
0
0
0
0
0
53
40
0
0
103
2
-225
-163
-3
11
0
0
-2
25
30
30
-32
-23
0
0
-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
-19
-2
-810
-246
4
-46
0
0
-37
-54
-38
2
-94
13
0
0
-7
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-394
-107
0
0
-62
-24
-124
-37
-190
-94
0
0
-565
-176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
16
0
0
-18
15
11
20
-47
-1
0
0
-148
-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
8
-26
-12
-4
-6
12
0
0
-34
-19
0
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
8
42
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
-17
-61
0
0
-101
-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
-158
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-137
-42
140
20
-106
-92
0
0
-64
-65
-74
-42
0
0
-51
-79
-26
10
21
15
-67
-6
0
0
0
0
0
0
0
0
0
0
0
3
19
39
-104
-31
0
0
-30
-54
47
-42
0
0
-70
-64
57
-28
-54
-4
-55
11
0
0
0
0
0
0
0
0
0
0
0
0
18
11
6
51
0
0
-216
-72
-15
15
0
0
-44
-14
-64
-43
-37
-95
39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-10
0
0
-578
-173
-47
-107
0
0
-50
-92
-29
4
-10
16
-76
-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
-204
-71
0
0
-62
-47
-62
-51
-114
-55
-214
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-28
0
0
-17
4
-29
-6
-30
22
-43
-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
11
4
-11
12
-21
0
-69
-17
0
0
0
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
3
-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
-16
-6
-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
-77
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
116
77
-65
-14
0
0
-9
-21
-264
-56
-120
-75
0
0
66
47
-14
-22
60
28
0
0
-64
-21
0
0
0
0
0
0
0
0
6
8
-68
-35
0
0
-11
55
-279
48
-67
-22
0
0
-41
-26
-28
34
-22
30
0
0
-100
-33
0
0
0
0
0
0
0
0
0
0
53
40
0
0
95
7
-213
-154
-15
12
0
0
11
27
19
34
-35
-15
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
-15
-2
-768
-217
35
-26
0
0
-33
-18
-35
7
-59
20
0
0
16
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-308
-47
0
0
-38
28
-121
26
-190
-82
0
0
-486
-148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
33
0
0
-4
5
0
11
-28
3
0
0
-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
9
-16
9
21
-10
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
-12
-10
11
45
0
0
-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
-11
-56
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
-155
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-137
-40
140
20
-103
-105
0
0
-64
-59
-71
-42
0
0
-51
-76
-32
12
18
23
-66
-2
0
0
0
0
0
0
0
0
0
0
1
3
21
41
-107
-41
0
0
-22
-55
39
-26
0
0
-72
-63
65
-31
-68
-1
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
18
11
7
46
0
0
-211
-74
-7
18
0
0
-49
-19
-62
-37
-38
-98
36
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-18
0
0
-546
-131
-51
-82
0
0
-40
-64
9
24
-15
2
-97
-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
-169
24
0
0
-62
7
-55
30
-97
11
-172
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-10
0
0
16
28
-6
-1
6
4
-16
-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
1
31
2
5
19
15
-21
-4
0
0
0
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
4
23
-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
18
-27
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
0
0
0
-83
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
-2
-1
9
1
2
0
0
0
-10
-14
-121
-43
-89
-26
0
0
-15
6
11
14
6
-5
0
0
-57
-26
0
0
0
0
0
0
0
0
8
3
6
-3
0
0
6
7
-50
-52
-21
-1
0
0
17
11
30
57
75
-13
0
0
-27
-4
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
19
21
31
3
-125
-54
0
0
62
0
-38
9
-13
1
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
-3
-2
182
117
6
48
0
0
-106
-76
110
64
45
11
0
0
47
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
50
0
0
38
75
-105
5
23
-1
0
0
186
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
18
0
0
98
12
-113
-59
-35
14
0
0
128
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
-26
-5
9
-4
0
0
-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
6
33
4
-22
0
0
-46
-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
97
68
0
0
167
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
38
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
-5
-2
-2
5
3
-4
-61
-50
0
0
6
12
25
7
0
0
-27
-22
-82
-15
49
37
8
-4
0
0
0
0
0
0
0
0
0
0
15
7
28
7
-12
-5
0
0
-4
-18
-17
22
0
0
57
20
77
52
-102
-38
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
-5
0
0
-72
-50
-14
-2
0
0
-82
-33
22
10
-31
-12
-1
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-21
0
0
80
77
78
86
0
0
-13
4
119
53
-129
-40
48
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
39
145
0
0
-26
36
-91
102
-55
24
71
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-27
0
0
-81
14
-30
-43
40
1
82
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-5
-104
-29
-57
58
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
28
-17
-30
-33
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-51
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
31
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
21
18
-2
-2
-38
-29
82
-4
37
1
-9
0
51
12
-11
125
-28
60
0
-5
-3
31
72
14
33
27
0
0
0
0
0
0
-10
-49
-5
10
-6
18
-11
0
-38
3
-1
0
-7
23
7
22
5
14
-29
-22
-11
-12
23
-11
60
-32
0
0
0
0
0
0
-8
-68
-2
-9
-12
12
5
-15
-39
-12
-12
0
-16
18
-4
19
-4
28
-29
2
-26
-36
17
-8
50
-34
0
0
0
0
0
0
-28
0
2
48
9
-32
69
-45
-25
-66
-8
0
86
-9
54
-12
-11
68
-11
33
-59
-23
-14
26
65
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
0
-6
-8
0
0
0
0
0
0
-14
8
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
-40
-34
-71
-25
-175
-142
0
0
0
0
0
0
-263
-161
-93
-67
-222
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-16
-140
-76
0
0
0
0
0
0
-104
-48
-41
-17
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-518
-183
0
0
0
0
0
0
-189
-122
-359
-142
-488
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-225
-150
0
0
0
0
0
0
-191
-81
-276
-69
-243
-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
-122
-23
-208
-70
-199
-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
-59
48
-388
-185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
8
0
-1
0
-20
0
0
0
0
0
0
-26
-36
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
1
-31
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-15
0
0
0
0
0
0
-107
-188
-18
-21
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-128
0
0
0
0
0
0
-32
-27
-24
-27
8
-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
-15
37
-5
14
-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
-8
3
-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
-30
-14
-6
-50
20
-22
-3
-1
2
-4
0
0
0
0
0
0
60
39
13
12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-58
-32
-56
-64
-403
-122
-55
18
0
0
0
0
0
0
-36
-26
-109
-125
-184
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-252
-72
-61
-100
0
0
0
0
0
0
-74
-22
-47
-68
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-244
-85
0
0
0
0
0
0
-159
-52
-272
-180
-359
-140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-61
0
0
0
0
0
0
-83
-9
-85
-24
-79
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-22
-54
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
-69
-15
-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
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
-8
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-5
-14
20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
45
49
23
-17
-25
-40
0
0
0
0
0
0
-24
24
8
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
33
57
0
0
0
0
0
0
13
22
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-40
0
0
0
0
0
0
13
1
-69
-40
-28
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
0
0
0
0
0
0
-13
-22
19
17
-108
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
15
22
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
11
-56
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
-32
-14
2
-53
19
-22
-3
-1
-6
-2
0
0
0
0
0
0
58
43
9
11
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-57
-30
-45
-62
-403
-121
-57
32
0
0
0
0
0
0
-33
-22
-101
-124
-181
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-245
-73
-49
-90
0
0
0
0
0
0
-72
-20
-48
-64
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197
-42
0
0
0
0
0
0
-167
-8
-250
-174
-362
-135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
-26
0
0
0
0
0
0
-49
-13
-79
-24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-22
-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
-68
-20
11
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
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
-8
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-5
-15
21
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
42
44
23
-16
-22
-41
0
0
0
0
0
0
-28
19
8
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
31
58
0
0
0
0
0
0
12
25
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-56
0
0
0
0
0
0
2
18
-71
-38
-28
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
0
0
0
0
0
0
-17
-18
23
19
-108
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
4
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
-17
8
-60
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
12
0
0
3
-1
0
0
0
0
0
0
8
18
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
-9
-13
-3
31
33
0
0
0
0
0
0
-7
-9
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
6
9
0
0
0
0
0
0
-8
-24
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
96
0
0
0
0
0
0
22
76
-7
-20
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
33
0
0
0
0
0
0
37
34
10
-9
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
12
24
-1
5
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
2
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
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
9
0
0
0
0
0
0
-37
36
-5
5
8
-1
0
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
-33
-6
25
10
-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
23
22
-13
-7
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
-8
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-29
23
0
-5
0
0
17
-43
4
2
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
-4
11
0
0
-19
0
6
0
0
10
-1
0
0
-19
8
0
13
-44
6
0
15
-5
10
0
0
-7
0
-1
0
-70
20
0
7
-43
2
16
0
26
-39
0
0
0
0
0
0
-31
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-65
1
0
4
-1
0
0
-2
5
-15
0
0
8
0
0
0
2
-19
0
5
0
-24
0
0
-2
2
0
0
0
0
0
0
-9
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-4
0
-5
1
10
9
-12
25
-21
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
2
0
-1
7
-9
0
0
0
-1
0
0
0
-5
10
0
-30
8
5
0
-11
-2
-9
0
0
5
0
17
0
-14
-63
0
10
-5
-21
-16
7
44
4
0
0
2
0
0
0
0
20
0
16
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-22
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-2
0
-34
-7
0
-3
-13
0
0
0
-8
0
0
0
-1
0
0
0
16
-20
0
5
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
1
0
0
0
0
0
0
0
-1
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
1
3
-25
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-22
0
0
0
0
0
0
4
-7
0
-20
0
0
0
-2
-2
-47
0
0
0
0
0
0
0
3
0
-27
0
0
0
0
6
-58
0
0
0
0
0
0
0
-34
0
-4
0
0
0
0
0
-12
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
-17
-5
6
-2
-53
16
0
0
2
-13
-6
1
-10
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
9
-2
0
10
33
12
-33
-20
26
-34
0
0
34
22
-2
17
-52
44
0
-4
60
31
30
19
-47
-36
0
0
-77
-15
-13
16
-50
27
0
-54
7
-1
8
6
46
31
0
0
-16
0
0
0
0
-22
1
-5
12
0
34
2
20
-19
0
0
-13
0
0
0
-33
5
0
-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
1
0
0
0
0
0
3
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-9
1
-4
19
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
2
21
8
0
-1
-10
25
-4
13
88
-12
0
0
33
10
0
5
3
-6
0
-7
-8
8
-3
-42
-4
51
0
0
5
0
6
0
-16
-11
0
6
-14
2
-8
7
-63
-16
0
0
0
0
0
0
-1
27
0
1
-1
0
0
-6
0
7
0
0
16
0
7
-1
28
3
0
7
-3
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
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
5
0
0
0
21
33
0
3
-7
0
-13
48
-11
33
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
-4
-1
0
0
6
0
0
0
-9
0
0
0
-21
2
0
27
-1
-5
0
-6
-3
-15
0
0
15
0
0
0
-31
12
0
1
-18
0
-5
0
-16
2
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-5
9
-24
0
-1
28
0
0
0
-1
8
0
0
-1
0
0
0
-13
3
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
-8
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
-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
-11
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-22
6
27
-13
0
-2
7
10
-26
-28
30
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
39
-35
0
5
-10
0
-6
0
-75
6
0
0
8
-10
-1
-4
15
-37
-1
-59
-45
9
-44
-60
-10
37
0
0
-4
0
1
-4
9
-9
0
38
17
18
-28
35
0
7
0
0
8
0
-4
0
-35
36
0
-2
11
0
-27
-1
17
49
0
0
-1
0
0
0
51
-8
0
-50
2
0
12
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
7
0
0
-17
0
-10
-26
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
2
26
0
0
-15
0
17
4
15
2
0
0
2
0
2
1
-80
-17
1
0
-38
0
-1
-28
-10
-61
0
0
12
0
5
0
11
1
0
-25
-19
0
-11
0
23
-30
0
0
-9
0
0
4
0
-12
0
-17
0
0
0
-25
0
29
0
0
-14
0
3
0
22
-3
0
18
-4
0
-1
13
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
2
-17
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
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
45
18
0
0
8
22
15
12
-16
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
23
0
0
-2
0
0
-2
-24
49
0
0
9
1
0
-2
-33
3
0
-47
3
24
2
55
-18
-74
0
0
34
0
0
17
17
-68
0
-30
-28
2
-43
4
6
-57
0
0
7
0
0
0
-26
-18
0
-5
1
0
0
4
-3
-57
0
0
39
0
0
0
19
-44
0
0
0
0
0
-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
-32
0
0
0
5
0
0
0
6
0
0
-3
-13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
1
7
-40
0
0
2
3
0
0
-49
6
0
0
50
-1
0
0
52
3
0
-4
8
0
0
-4
-11
27
0
0
9
0
0
0
-25
6
0
-4
1
0
0
0
5
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
3
0
0
0
-2
0
0
-9
-6
0
0
-17
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
-5
0
-14
0
0
-1
-38
-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
-8
0
-7
0
0
0
2
0
6
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
0
0
0
0
0
0
0
0
0
16
-3
-2
-2
6
-5
0
-6
-9
-25
-76
11
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
3
0
23
-6
0
-15
-26
11
19
15
22
-13
0
0
8
12
1
0
71
69
0
55
-54
18
-25
-7
0
-17
0
0
12
-4
29
0
-19
27
0
-54
0
1
-15
2
-26
-36
0
0
7
0
0
0
-12
32
0
-32
7
3
5
17
-8
-70
0
0
-6
0
0
0
-72
-58
0
-6
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-4
0
10
-18
0
0
-19
-9
-7
-6
-10
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
-5
87
-25
0
-7
-30
3
0
24
10
54
0
0
-6
0
1
-7
3
28
3
12
8
12
0
-46
-3
-23
0
0
-18
0
0
0
0
24
0
17
5
0
-3
0
6
5
0
0
0
0
0
0
0
-6
0
12
4
0
0
1
0
1
0
0
-30
0
0
0
10
6
0
-3
-2
0
0
-29
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
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
0
3
9
0
9
-9
12
4
0
-7
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
-52
0
0
15
-1
0
-11
64
2
0
0
-12
2
0
6
-3
25
1
47
-31
-18
-6
-28
-4
19
0
0
44
2
-10
0
-7
3
0
30
39
1
19
-55
-32
4
0
0
-2
0
0
0
0
-22
0
1
0
0
0
-4
-5
7
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
9
0
0
0
6
30
0
3
13
1
0
-12
16
-9
0
0
40
0
0
-7
5
3
-7
7
-22
0
0
8
6
18
0
0
1
0
0
0
0
2
0
-2
0
0
0
0
-7
14
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
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
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
-8
0
0
0
-18
-15
0
0
0
0
0
0
0
10
0
0
16
0
0
0
-1
0
-10
0
0
0
0
0
0
-4
-14
0
4
0
0
1
-1
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
4
-3
-16
-16
76
-19
0
-47
-34
-9
-70
-35
19
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
29
0
-5
4
-18
41
-39
-33
-37
0
0
53
49
-3
-4
-84
-16
-2
-12
-17
-3
0
32
-65
30
0
0
-47
-18
25
27
18
29
7
-40
-1
-24
-19
-10
-50
9
0
0
-2
0
-3
25
63
-4
-7
-9
56
3
7
-29
-19
-15
0
0
29
0
0
0
-27
0
0
-8
0
0
6
-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
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
-4
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
-2
0
4
1
-11
-19
0
2
3
0
1
3
-13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
13
-31
37
27
0
-17
19
-40
-16
39
46
-8
0
0
-37
13
12
-13
17
11
-1
-25
0
26
0
51
-38
-35
0
0
1
0
-3
0
24
-5
0
-44
-89
5
-4
3
4
1
0
0
0
0
0
-2
0
3
0
7
-3
0
0
18
0
-21
0
0
15
0
0
5
-9
0
0
-3
15
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
-7
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
-4
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
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
24
0
-13
-1
0
1
-12
-2
13
0
0
9
0
0
0
5
16
0
-14
0
0
6
0
-55
19
0
0
0
0
0
0
0
11
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
18
0
0
0
17
11
0
-2
0
0
0
0
-3
-16
0
0
5
0
0
0
-3
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
4
-16
11
-1
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
0
0
0
4
0
0
0
0
0
0
0
0
-2
28
0
0
-1
0
0
24
-3
-4
0
0
0
0
-1
0
3
17
0
1
0
0
8
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-20
0
0
0
0
0
0
16
-3
0
0
3
0
0
0
-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
1
6
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
-17
8
0
0
0
0
0
-4
4
1
0
0
0
0
0
0
1
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
-4
0
-18
11
-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
9
1
2
0
0
0
0
0
0
-1
2
0
0
-7
0
0
-9
18
-9
0
0
-1
0
0
0
7
0
0
-2
1
0
-13
0
38
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
-8
-10
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
-1
0
5
11
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
15
8
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
5
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
-52
0
5
0
0
0
0
-32
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
-13
23
0
-2
-13
-5
-17
8
29
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
10
0
-5
5
0
0
4
37
12
0
0
2
-1
0
0
4
-26
0
-10
3
0
0
26
2
-7
0
0
4
0
-4
0
7
-10
0
47
12
14
-13
21
8
-59
0
0
0
0
0
0
0
-13
0
-8
0
0
0
-3
0
0
0
0
0
0
0
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-12
0
0
-3
-12
4
0
0
4
0
0
0
11
38
0
0
16
0
0
0
-12
-13
0
-1
17
0
0
-3
0
-5
0
0
0
0
0
0
6
-1
0
2
-11
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-11
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-34
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
3
0
0
0
-11
-37
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
-6
0
0
0
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-35
-30
0
-18
1
0
1
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-27
11
0
0
-5
0
0
-1
4
5
0
0
0
0
0
0
36
23
0
7
-7
1
0
38
7
12
0
0
-12
0
-2
0
-40
3
0
29
-7
2
15
0
-31
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-7
0
0
-38
-2
0
0
9
0
0
0
-1
17
0
0
9
0
0
0
-50
-10
0
0
0
2
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
-5
4
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
-5
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
-17
0
7
-1
0
0
-7
10
-8
0
0
1
0
0
0
-3
-40
0
3
-12
0
-7
0
-23
-2
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-10
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
1
0
1
-3
-27
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-22
-2
0
-2
17
0
1
-6
18
-7
0
0
0
0
0
0
-7
1
0
-8
8
0
0
-4
-2
-14
0
0
40
0
0
0
-31
19
0
7
15
6
8
0
-11
15
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-3
-4
0
0
-28
0
0
-3
-19
3
0
0
10
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
0
0
-4
1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-42
1
0
13
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
1
10
2
8
10
3
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
12
0
0
0
-4
0
0
0
-10
10
0
17
30
-9
0
-42
-9
-7
0
0
11
0
0
0
15
5
0
-26
0
0
42
0
-66
47
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
-1
0
0
0
-26
-17
0
0
-11
0
0
0
-9
-5
0
0
-27
0
0
-3
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
4
-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
3
7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
9
0
0
0
0
0
12
1
-18
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
4
37
0
0
0
0
0
0
17
6
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
-5
0
0
0
-3
15
0
0
0
0
17
16
-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
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-18
0
12
0
0
0
0
26
-16
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-12
0
37
-3
11
31
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
-1
0
0
0
0
8
0
0
0
0
0
0
0
33
12
0
26
3
0
0
50
-37
-4
0
0
0
0
0
0
9
-3
0
-2
10
0
4
0
-15
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
1
0
0
-27
0
0
0
1
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
-5
0
0
0
0
0
0
15
0
-8
0
0
0
0
0
0
47
-33
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
-33
0
-3
2
-13
1
-43
4
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
16
0
-19
-59
-6
-43
-35
4
4
0
0
-4
0
0
0
6
-51
0
-28
-1
5
8
-7
65
1
0
0
-13
0
9
0
16
43
0
-19
23
-48
-19
2
16
7
0
0
0
0
0
0
0
-36
0
-2
0
0
0
0
0
3
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
-16
-3
0
-4
-3
0
0
23
-20
5
0
0
-2
0
0
0
-3
-34
0
-12
0
0
0
-6
2
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
-8
0
0
10
-26
-41
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
-10
0
1
0
0
0
0
0
0
0
0
2
0
0
0
-46
-7
0
9
11
0
0
11
7
-5
0
0
-7
0
0
0
-8
-2
0
-29
-21
4
5
-3
-35
-12
0
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
2
0
0
0
0
0
0
6
-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
-13
0
0
0
3
-19
0
0
-8
0
0
0
-18
-7
0
0
-9
0
0
0
5
48
0
7
-1
0
0
5
-2
43
0
0
6
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
8
-41
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
14
0
-2
0
0
0
42
-2
72
0
0
0
0
0
0
-6
-8
0
2
0
0
0
0
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
7
5
0
0
-21
0
10
0
0
0
0
0
0
-1
36
0
-8
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-14
11
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
18
0
0
0
0
-15
2
0
22
0
0
0
0
0
0
-7
-5
0
0
0
0
0
-18
0
-26
0
0
0
0
0
0
-4
12
0
5
0
0
-84
0
9
-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
-1
0
0
0
1
21
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-50
0
0
0
0
-13
-25
-21
-6
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
-6
0
1
16
22
18
0
0
2
0
0
0
-36
3
0
11
5
1
0
23
16
7
0
0
0
0
0
0
18
-21
0
8
-3
0
-12
16
12
-9
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
6
0
0
0
14
-19
0
0
-4
0
0
-2
-8
-6
0
0
0
0
0
0
1
16
0
-3
0
0
0
-43
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
34
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
47
0
0
0
0
0
-5
0
-15
0
0
-1
0
0
0
0
11
0
-4
0
0
-30
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
-2
0
0
0
59
5
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-5
0
5
38
-11
8
7
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
-35
0
-1
18
0
-4
-3
-37
-10
0
0
16
1
0
-2
-5
-31
0
15
-11
6
-13
17
27
-31
0
0
4
0
0
1
-69
-50
0
49
-52
16
-47
-20
10
7
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
8
0
0
0
0
0
0
20
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-10
-1
4
0
3
2
0
0
0
-59
18
0
0
6
0
0
0
18
-20
0
39
23
0
0
12
0
96
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-23
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-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
27
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
-35
2
0
3
0
2
0
-11
0
-1
0
0
0
0
0
0
-18
13
0
7
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
13
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
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
4
0
2
0
34
17
1
0
0
0
0
0
0
4
22
0
15
0
0
10
0
-15
32
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
1
0
0
0
0
0
4
3
0
0
0
0
0
0
0
7
4
0
-1
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
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
16
-5
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
-1
0
0
0
0
0
0
0
0
26
10
0
0
0
0
0
28
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-6
7
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
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-6
29
0
0
0
2
0
18
7
0
0
0
0
0
0
0
-3
-16
0
1
0
-4
4
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
5
-20
0
0
0
0
0
0
17
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
22
3
3
-3
-1
7
-5
-8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
-13
-30
0
18
29
-29
3
80
-15
-3
0
0
79
13
0
2
-15
38
12
-13
-4
2
-5
23
-14
-35
0
0
179
0
-7
2
-47
-68
8
19
-6
-1
-47
-15
2
-23
0
0
81
0
0
0
-19
-33
0
-10
-4
0
-11
-4
-16
17
0
0
101
0
0
0
20
-4
0
5
0
9
0
-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
5
15
5
2
11
11
61
-39
-27
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
-13
0
0
-1
-9
0
5
0
0
0
0
0
0
0
0
0
11
-1
0
0
8
0
0
0
0
0
0
0
0
0
5
0
-8
0
0
0
14
12
-13
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
-13
0
0
0
0
0
2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
9
12
-64
-18
-2
-14
3
-25
-4
-35
4
-102
0
0
-35
0
-5
-7
-17
0
7
5
11
-5
-13
41
-28
-42
0
0
7
0
2
0
3
-1
0
-39
-48
12
-40
-12
15
-12
0
0
2
0
0
0
0
-5
0
3
-44
0
0
2
0
-6
0
0
14
0
0
0
-23
0
0
-11
-12
2
-5
-17
-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
3
0
0
9
6
0
0
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
29
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
18
4
0
0
-3
0
0
-2
15
4
0
0
0
101
0
0
5
-1
0
-11
0
0
-16
0
-31
-16
0
0
0
17
0
0
0
2
0
0
0
0
0
0
0
9
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
2
0
0
0
-20
0
0
27
-10
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-18
-21
0
-1
0
0
0
4
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
4
0
-6
-13
0
0
7
-6
-35
0
0
15
0
29
0
-7
-14
0
0
14
1
0
41
38
-60
0
0
8
0
147
0
-3
-5
0
-2
-1
-8
-5
2
14
-19
0
0
0
0
-7
0
0
31
0
0
0
0
0
0
0
-22
0
0
0
0
-3
0
-22
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
19
0
-30
-31
0
1
2
0
0
4
-14
4
0
0
-2
0
27
0
-10
-15
0
9
5
0
0
26
4
-2
0
0
0
0
-20
0
0
0
0
8
-11
0
0
0
-1
10
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-14
-11
-23
0
0
0
0
0
0
0
-8
0
0
0
0
0
30
-13
-33
0
11
23
1
0
-36
-12
12
0
0
0
0
0
52
1
4
0
19
1
0
9
0
-40
-8
0
0
0
0
0
96
0
8
0
-6
0
0
0
0
0
-25
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
66
-11
-9
0
0
28
0
0
0
-59
-18
0
0
0
0
0
22
-5
20
0
-3
2
0
0
1
3
-9
0
0
0
0
0
-26
0
0
0
-1
8
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-47
-15
28
-55
-14
-38
-60
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
21
0
7
59
0
-8
-40
12
-3
-54
-16
-21
0
0
-37
-38
3
-30
-6
49
-4
-2
-10
-56
-14
-6
-19
7
0
0
-40
19
51
19
50
-21
16
-24
-43
-29
-63
-12
1
-8
0
0
-19
0
0
-1
-26
-44
-2
-27
29
-17
-25
-21
0
14
0
0
0
1
0
4
-46
-49
2
23
27
-9
-16
-143
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
-50
9
5
-39
-4
-24
16
-12
-27
-16
0
0
0
0
0
0
0
0
-12
0
-2
0
0
10
0
-3
0
0
0
0
0
0
-7
0
1
24
0
-2
4
15
0
-16
0
0
0
0
0
0
-7
0
0
2
0
0
0
8
0
2
0
0
0
0
0
0
4
-7
0
21
-11
-4
0
50
0
29
0
0
0
0
0
0
8
0
0
-18
11
8
0
3
-3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
-43
-41
0
4
-2
-26
-30
44
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
22
-31
24
-25
-3
21
-33
-14
-34
-62
29
-55
0
0
12
12
8
-12
-35
11
15
19
10
-42
-10
-22
-35
-14
0
0
13
-2
15
0
2
-101
-2
3
-56
37
18
-62
-29
-20
0
0
0
0
0
0
31
0
0
-10
2
-12
0
6
0
-105
0
0
50
0
-5
10
-12
-5
0
-46
-19
16
-12
16
-38
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
38
15
1
-71
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-67
2
37
-6
14
16
-46
11
48
-3
-17
-61
80
0
0
-92
-29
34
-70
6
11
-10
-23
11
39
-10
-21
19
-11
0
0
-61
-79
-69
-1
-34
30
0
19
-56
-132
-43
-88
0
-49
0
0
-16
22
0
-30
-22
-7
1
42
-10
-32
-52
-98
-63
-5
0
0
-39
-3
-18
1
-17
-16
1
-33
40
48
11
-10
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
-10
4
34
6
34
39
14
-39
18
26
0
0
0
0
0
0
0
29
-24
17
27
2
2
11
-5
17
0
0
0
0
0
0
-33
-12
5
-10
1
-2
0
35
-27
0
0
0
0
0
0
0
5
-23
0
14
-4
-6
0
-9
2
8
0
0
0
0
0
0
0
22
0
-23
9
22
19
31
-12
8
0
0
-2
0
0
0
31
13
0
-4
21
8
-8
25
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
9
64
5
2
3
-3
9
-19
-8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
6
42
45
-5
8
-1
3
-41
-35
-4
0
-17
-22
0
0
-40
15
8
18
34
1
52
49
34
-72
-26
29
9
-13
0
0
-58
0
-11
-21
21
-10
8
27
-7
13
-12
-4
7
-41
0
0
-20
0
3
-3
23
15
3
57
25
-24
-32
-16
-27
-33
0
0
-40
0
0
0
-48
70
3
-15
-33
16
-43
64
-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
-5
6
-11
10
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
0
-3
0
0
0
-3
-12
6
0
0
0
0
0
0
4
-7
0
12
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
6
-6
0
0
-1
0
0
0
0
-1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
6
12
73
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-6
20
0
-49
-2
0
1
-16
-74
9
0
0
-3
0
-1
2
-54
35
0
76
-3
-11
-2
-3
-48
-31
0
0
-16
0
15
-10
1
18
0
121
-6
7
-9
-12
-34
-37
0
0
0
0
0
0
0
-13
0
13
13
0
-3
23
0
-33
0
0
0
0
0
0
-38
11
0
24
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
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-3
0
2
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
-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
13
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
-47
0
0
4
-17
15
0
-17
48
2
0
-7
-20
-14
0
0
2
0
0
-3
-17
-8
0
-9
1
0
0
4
8
40
0
0
10
0
0
0
-15
26
0
-82
12
-1
15
-6
26
18
0
0
0
0
0
0
0
-3
0
-4
0
0
0
1
0
18
0
0
16
0
0
0
7
0
0
4
18
0
0
38
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
1
-29
-12
9
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-11
-1
0
-13
-17
-20
4
-12
41
-5
0
0
-25
7
0
-1
-57
-2
-1
-3
-54
-8
-4
22
18
10
0
0
4
4
-73
8
-89
21
-4
-56
-1
9
-50
-104
-56
-2
0
0
0
0
0
0
-4
10
0
-27
2
0
-22
-32
-56
7
0
0
0
0
0
0
-45
2
0
0
0
0
0
-20
-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
7
3
-3
-6
-5
-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
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
-14
0
0
0
-4
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
-20
0
0
8
0
0
1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-3
-25
-57
0
-1
21
-1
-2
18
-63
-67
0
0
64
0
0
12
-49
-49
-20
-6
-9
8
0
-57
-42
-38
0
0
15
0
0
0
-13
7
0
4
7
-2
-3
-13
-9
-19
0
0
0
0
0
0
0
-2
0
-5
0
0
0
-13
0
-55
0
0
4
0
0
0
-26
0
0
2
-8
-1
0
4
-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
-15
3
-70
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-41
-38
0
4
-2
0
15
-2
14
-17
0
0
9
-28
-12
-3
15
12
-4
7
-17
-10
-32
-16
-32
-7
0
0
-14
0
23
0
-54
18
0
-6
-48
32
23
-27
-46
29
0
0
0
0
0
0
0
28
0
2
0
0
0
7
0
-35
0
0
0
0
0
0
4
-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
0
0
0
0
3
0
0
6
0
0
0
3
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
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
0
1
0
0
0
0
0
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
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
1
-37
0
-2
-5
0
0
5
7
-27
0
0
-3
-4
0
-12
-16
-42
11
-11
-34
-3
0
5
20
-18
0
0
2
0
0
0
-2
-10
0
8
0
0
3
0
-4
-22
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
32
0
0
0
0
0
0
-34
0
0
0
-19
0
0
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
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
-34
-108
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
0
-9
-42
-22
0
-3
-6
12
60
32
-22
-20
0
0
3
5
0
40
12
-12
-5
8
-26
-39
14
32
-14
34
0
0
-39
27
-3
-24
-18
45
-19
30
-104
4
-111
-11
8
-31
0
0
3
0
0
0
-70
-120
1
9
8
-13
-117
36
-33
16
0
0
-2
0
0
0
-16
-49
0
2
-18
10
-8
-21
-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
14
10
1
17
0
-3
0
8
-30
-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
4
0
4
0
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
21
0
-5
0
1
5
-9
1
-45
0
0
0
0
0
0
0
0
0
-3
4
0
-2
-13
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
20
-27
0
0
3
-6
-4
4
-28
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-7
-5
-36
8
-20
3
20
33
-7
22
-15
-44
5
0
0
-13
4
0
-34
14
15
-22
-41
-42
6
8
-67
-46
10
0
0
-9
0
0
-1
-1
-10
-1
-11
2
33
-103
-12
-34
-48
0
0
4
0
0
0
-1
-17
0
-8
-24
0
-31
30
0
-51
0
0
-40
0
0
0
-11
-1
0
-32
-19
7
-157
-25
-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
-91
-62
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
3
-2
0
-11
-21
1
-9
-47
-7
-46
6
36
-55
0
0
26
-10
-4
-4
-65
55
-2
-14
28
54
1
46
-56
-65
0
0
14
0
23
-13
53
36
6
-23
18
-39
52
-35
-19
-89
0
0
-52
0
0
1
-2
-19
-9
29
21
-40
-30
108
-41
-17
0
0
5
0
0
0
8
-28
0
-10
-21
0
-5
-2
-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
-13
5
11
-15
-16
2
-15
-26
-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
-3
0
0
0
-9
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
6
0
23
-2
0
0
42
-3
5
0
0
0
0
0
0
6
0
0
15
15
0
0
-23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-15
-10
0
-2
-10
-7
-5
14
16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
-19
-6
33
21
3
-21
-11
-18
-10
-18
33
-2
0
0
67
16
-2
-11
-1
-39
31
6
74
-13
-35
44
-46
9
0
0
-8
0
-4
0
-2
-18
0
3
-15
-42
12
-59
-25
-13
0
0
8
0
0
0
-8
-12
-5
22
-94
0
-1
3
0
-90
0
0
14
0
2
0
24
37
-1
0
-56
-14
9
-91
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
10
3
24
78
29
-3
-9
6
-2
-29
-12
-1
-17
0
0
-107
33
-22
-67
0
-73
9
8
-76
-21
-56
-76
18
23
0
0
-60
4
57
-32
-66
-8
8
-17
-51
5
-42
-108
-34
-30
0
0
-52
0
9
-28
0
-11
-3
-27
19
-40
-10
-48
86
-37
0
0
-86
0
10
-18
-38
-29
1
-55
-8
-31
5
-125
74
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-4
18
9
6
-13
23
0
0
0
0
0
0
0
0
-1
3
0
0
0
12
-1
-10
0
0
0
0
0
0
0
0
2
2
0
-6
0
45
-23
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
22
-24
0
0
0
0
0
0
0
15
0
15
0
-4
0
31
14
35
0
0
4
0
0
0
-2
0
0
22
8
4
0
4
-42
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
0
-12
-59
4
-6
25
0
8
-15
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-4
10
-9
-19
-33
4
0
-4
-99
-16
-16
-114
12
0
0
9
6
10
30
-63
-35
3
22
-30
-39
-53
-20
-58
-69
0
0
-7
0
19
20
-18
-53
-12
-2
29
3
-12
-94
-78
-61
0
0
-2
0
32
-2
0
-22
0
34
-10
-5
-17
13
3
12
0
0
-23
-7
-6
31
12
-34
-7
-58
-8
18
7
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-7
3
19
-22
20
0
-7
18
40
0
-17
4
-22
0
0
-112
-29
-45
8
-55
-28
-5
-20
-3
89
30
-38
-40
8
0
0
-83
-19
4
3
-37
-36
25
-28
-70
-31
-46
-19
-22
16
0
0
-5
1
-7
-14
-90
-2
-1
52
-55
-41
4
-23
-15
-35
0
0
16
0
-4
1
-95
0
0
6
61
18
-13
-69
-105
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-6
7
-16
14
62
43
-50
0
0
0
0
0
0
0
0
2
0
0
0
0
-15
0
-12
0
0
0
0
0
0
-2
0
-1
8
-2
44
0
-8
-17
11
0
0
0
0
0
0
0
0
0
17
0
0
0
-8
25
3
0
0
0
0
0
0
10
-12
0
28
-10
1
10
22
-17
4
0
0
0
0
0
0
-28
0
0
24
-1
0
0
13
68
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
2
0
-42
-38
0
4
-9
-32
11
51
-16
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
-29
18
28
-2
-2
0
18
-20
36
-52
-6
15
0
0
9
37
-9
6
12
-53
0
-4
-79
-15
-3
-17
-37
-14
0
0
-2
4
-24
-20
-49
-18
14
24
-54
-12
-20
100
-77
-42
0
0
-36
0
0
28
21
1
-2
-61
19
-20
7
-87
-1
14
0
0
-42
0
3
-23
-92
0
0
-5
29
16
2
2
-120
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-1
3
-4
21
-6
0
0
34
6
0
0
-41
-61
0
22
32
-4
30
-28
36
-63
0
0
40
0
-1
3
-25
43
0
17
5
6
-6
15
-51
-79
0
0
-27
0
0
0
0
-12
0
-2
-9
0
-7
-39
-32
-1
0
0
11
0
0
0
14
0
0
0
0
0
0
-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
4
0
4
0
0
10
13
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
6
1
0
0
-3
0
-3
4
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
4
-8
0
-3
32
0
0
0
-11
-7
0
0
-27
0
0
0
-23
-10
2
0
-14
0
0
-1
3
-37
0
0
-8
0
0
0
0
-5
0
7
-11
0
-4
-1
0
-14
0
0
-40
0
0
0
0
2
0
55
0
0
0
-1
0
-12
0
0
23
0
0
0
0
0
0
0
-3
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
15
0
0
8
-9
0
-2
0
0
0
1
0
-6
0
0
0
50
0
0
3
0
0
0
0
0
0
0
-10
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
22
0
0
7
0
-15
-2
0
0
16
-2
0
0
0
0
0
26
0
-15
-19
0
29
0
0
2
0
-27
-21
0
0
0
0
-35
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
10
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
0
0
0
0
0
0
0
0
0
3
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
3
0
0
0
0
0
0
0
0
0
0
2
0
0
89
14
-7
0
6
11
0
0
8
28
-39
0
0
0
0
0
36
12
0
0
5
0
0
0
0
-12
-44
0
0
0
0
0
58
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-3
0
3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
-4
-62
21
-23
3
2
0
0
-22
-2
16
10
19
-55
-3
-24
-42
14
31
-44
-33
-61
0
0
-30
-23
-17
-9
-27
-26
-4
41
70
33
38
-54
51
51
0
0
0
0
0
1
44
5
0
-34
-21
0
-62
9
0
-36
0
0
-19
0
-3
-5
7
0
0
43
-7
75
-16
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
-16
0
-8
28
-3
0
47
48
-9
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
25
0
0
2
0
0
0
-5
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-2
-2
0
-24
-10
0
0
-15
0
32
0
0
0
0
0
0
53
0
0
29
16
0
0
27
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
-15
0
0
-4
-4
-22
-28
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
12
0
37
9
-5
1
-4
0
1
-2
20
29
0
0
-12
0
-6
-5
-18
10
-8
9
-7
2
1
-34
3
-1
0
0
-11
0
-12
0
-55
-14
0
-4
-24
9
-2
7
13
20
0
0
0
0
0
0
15
0
4
-16
0
0
0
16
0
-26
0
0
-18
0
-10
0
-92
0
0
-30
-12
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-42
11
30
-21
-20
36
0
0
-8
18
-21
-17
-33
-11
-3
-59
-69
-23
-49
2
-35
-18
0
0
-10
37
17
11
-8
32
-6
-17
64
-12
-15
-15
35
11
0
0
-16
0
-68
-5
-26
37
5
7
-38
-40
17
15
-62
-49
0
0
-40
0
-21
0
-42
79
0
1
-7
0
-20
-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
11
-2
2
-2
7
-2
20
11
17
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
0
-5
0
10
-3
-11
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
13
-15
9
14
-9
-2
-15
0
0
0
0
0
0
3
0
0
-2
4
0
0
24
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-6
0
12
25
0
10
-12
4
-23
-28
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-3
8
3
-33
27
-2
-11
31
-2
-9
3
82
-31
0
0
16
-20
1
5
-16
14
4
21
-84
8
-8
13
-20
-5
0
0
-17
0
-10
-4
22
16
0
-8
23
-11
-49
-1
4
-15
0
0
-4
0
-7
0
6
-33
0
34
61
8
-5
-19
3
-10
0
0
-20
0
0
0
2
26
0
13
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-10
-4
65
-12
0
0
11
-4
-6
-1
12
-24
0
4
75
1
15
5
-9
-1
0
0
-21
-1
2
-3
4
17
0
-58
-12
-21
-2
-12
-75
57
0
0
0
0
0
0
-11
-33
0
-6
3
0
15
6
3
7
0
0
0
0
0
0
4
2
0
-57
0
0
0
-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
0
0
0
0
1
0
0
3
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
4
0
-1
0
0
0
-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
0
0
0
0
0
0
0
0
2
0
0
0
-2
20
0
-10
0
0
5
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-11
44
0
-3
-21
0
-4
4
-18
-22
0
0
-15
0
6
5
27
-13
1
10
-26
0
0
29
-22
-10
0
0
10
0
0
0
0
-11
0
7
-13
0
-3
1
-6
-25
0
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
9
0
0
-2
0
0
0
-2
0
0
3
3
-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
4
0
-16
10
-66
-21
0
0
-3
1
2
-39
11
-42
1
15
-14
-46
61
-37
18
-67
0
0
1
-7
-7
10
69
27
0
-65
-2
-7
-55
-37
-46
-51
0
0
1
0
0
0
36
24
0
-18
-19
0
6
-3
7
-89
0
0
0
0
0
0
-16
-9
0
13
0
0
0
-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
1
0
3
0
15
0
4
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
-1
0
0
0
-7
0
6
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
0
0
0
0
0
10
0
0
0
9
-25
0
0
10
0
-1
9
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-3
1
-24
28
2
-5
6
3
3
-6
-35
-23
0
0
-2
0
0
-1
3
-52
3
-11
42
1
0
48
-21
-1
0
0
-13
0
0
0
-32
18
0
8
31
9
15
0
-10
-17
0
0
0
0
0
0
0
-2
0
-2
0
0
0
-5
0
21
0
0
-7
0
-1
0
4
0
0
0
-7
1
-9
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
0
0
-19
0
-6
4
8
-33
0
3
-15
-1
-15
-27
22
20
0
0
-6
0
-1
-5
4
24
0
4
-14
7
-23
19
-7
56
0
0
-5
0
0
0
-1
-32
0
8
-1
0
0
2
-14
-42
0
0
0
0
0
0
11
0
0
0
1
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
-1
0
1
-2
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
19
14
0
0
5
0
0
0
9
10
0
0
-6
0
0
0
16
-1
1
-2
7
0
0
-12
-4
-4
0
0
0
0
0
0
-7
1
0
-7
12
0
0
0
-21
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
-7
0
0
0
3
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
32
-41
0
0
0
11
0
-16
28
13
0
20
43
13
40
-11
-32
-46
0
0
6
-2
0
0
-71
-47
-2
-16
-48
6
41
53
-3
32
0
0
0
0
0
0
-31
-35
0
12
48
2
8
9
-11
52
0
0
0
0
0
0
-13
-2
0
-4
1
0
35
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
16
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
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
0
-1
7
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
5
-3
2
-34
9
-1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-34
-18
0
11
44
0
0
-1
-7
-13
0
0
-8
0
0
2
-6
32
0
-7
14
0
0
-1
-6
-16
0
0
7
0
0
0
-17
-8
0
-23
4
-3
4
-2
-21
-23
0
0
0
0
0
0
0
19
0
-21
0
0
0
9
0
-7
0
0
-10
0
0
0
27
0
0
3
-4
0
54
-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
-16
2
7
0
0
-39
0
7
1
-34
-38
-3
-11
25
-30
17
84
-10
10
0
0
-6
-14
-7
1
-20
-11
0
-46
7
-44
40
64
-43
25
0
0
0
0
0
0
3
-35
0
-8
27
0
-5
-4
0
32
0
0
3
0
0
0
35
-46
0
0
2
0
2
-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
-9
1
14
2
0
0
1
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
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
5
0
0
0
0
0
0
11
0
0
-25
0
0
0
0
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
-17
0
0
-5
0
3
21
-20
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
-6
1
-20
-14
0
-8
-63
0
0
-31
41
18
0
0
21
0
5
0
-5
2
-16
26
-76
0
-4
32
-13
-4
0
0
6
0
3
0
16
-8
0
-23
-4
0
8
47
-8
-10
0
0
0
0
0
0
0
9
0
-8
0
0
0
13
0
-14
0
0
-6
0
0
0
-35
0
0
4
-9
0
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
0
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
-62
50
-5
0
-28
-63
1
-1
31
1
-22
-4
75
-25
0
0
-21
3
-4
-8
12
-8
-4
-19
-33
1
-25
-6
16
-28
0
0
-20
0
1
2
0
-15
0
-18
-32
-23
-33
-34
-24
-44
0
0
-103
0
-3
-63
20
54
0
0
-81
-2
-21
-120
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
5
-7
-9
0
0
1
18
26
29
0
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
18
17
4
0
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
8
7
90
0
0
0
0
0
0
0
0
0
39
0
0
0
9
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
6
0
-5
41
0
0
19
34
-14
18
-44
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
12
3
0
-13
1
37
-7
20
5
-2
42
10
0
0
-100
14
-3
7
8
-23
-4
-14
-45
-49
-15
2
53
21
0
0
-2
0
0
0
0
0
0
21
-69
8
8
-71
-37
27
0
0
9
0
0
0
0
-1
0
-19
-32
0
0
-37
33
-20
0
0
-43
0
-24
4
12
32
0
44
-47
-6
3
-71
-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
0
-25
0
0
-28
-11
17
16
39
-7
-5
3
40
2
1
-33
27
29
0
0
7
0
-6
-18
13
7
4
35
64
9
-24
-62
4
45
0
0
-6
0
-2
0
-41
-9
-1
-10
-1
5
3
-7
1
34
0
0
0
0
0
0
23
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
3
-20
0
0
1
17
32
-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
-5
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
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
-19
0
1
-1
-10
-1
0
0
-8
10
9
29
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
9
-7
-14
43
0
-9
-31
0
2
23
20
-34
0
0
27
-4
-18
-18
8
33
-9
27
-11
-8
2
-12
14
-26
0
0
6
0
-10
0
-3
1
0
13
3
-2
-3
-10
5
-66
0
0
-6
0
0
0
-1
0
0
22
3
0
0
7
0
-65
0
0
0
0
0
0
-11
0
0
11
26
0
1
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
-1
0
0
0
-45
-1
0
-28
27
35
-4
-3
51
-25
0
0
81
0
1
42
-87
-78
0
16
84
13
-41
-38
-35
-121
0
0
73
0
0
0
-14
9
0
-10
-25
-2
4
-8
-19
-46
0
0
32
0
0
0
6
0
0
0
-1
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
-2
-2
23
0
18
0
24
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
11
0
45
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
0
0
0
15
0
0
0
-8
-15
0
0
0
0
0
-2
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
-6
0
49
4
0
-7
11
-22
0
-16
14
-16
0
0
3
0
0
0
0
-5
-1
-15
10
-2
0
-18
6
0
0
0
73
0
0
0
-2
-31
0
19
-1
6
0
32
-4
11
0
0
2
0
0
0
0
3
0
11
-6
0
0
-10
0
17
0
0
200
0
0
0
-3
0
0
-9
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
16
-27
5
-2
-12
-1
11
0
0
3
45
0
0
-22
-5
0
3
-30
8
-24
2
-22
-94
0
0
0
-6
0
0
2
-15
0
0
4
5
0
1
7
9
0
0
0
-18
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
2
0
0
0
-8
-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
27
0
0
0
-1
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
-3
-30
0
0
2
14
0
0
10
0
0
2
-2
0
0
0
0
8
0
0
-1
10
2
0
-4
5
0
-3
0
-2
0
0
0
-20
0
0
13
0
0
-5
24
0
0
0
3
-16
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
-4
-4
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
-3
0
-2
-17
0
12
3
-2
0
-11
-21
-5
0
0
0
0
56
0
7
0
0
-12
-6
-13
-3
0
-16
-39
0
0
0
0
-21
0
0
-4
0
0
0
0
0
0
0
3
0
0
0
0
3
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
-3
0
0
0
37
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
5
0
10
0
-23
0
0
0
0
0
0
0
8
-11
0
0
0
0
1
0
0
1
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-13
0
26
26
-16
0
41
-14
22
0
0
4
0
0
96
-19
-14
0
3
3
-11
-1
-9
19
-71
0
0
0
0
0
-59
0
7
0
-10
-21
0
0
-1
0
-5
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
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
-22
-9
-51
0
18
-22
2
6
0
-5
-3
0
0
0
0
0
21
5
-3
0
9
-4
0
0
0
0
-1
0
0
0
0
0
-50
1
0
0
-2
-1
0
0
0
0
-3
0
0
0
0
0
-108
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-20
-4
-11
100
29
0
0
-22
11
-15
-53
7
39
-1
-2
-90
-60
-98
0
5
-25
0
0
-30
0
0
-2
55
24
-4
-1
-69
-23
-14
-42
0
-65
0
0
-52
-3
0
0
8
10
0
-70
-20
-105
-20
40
-4
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
-5
2
2
52
-4
-29
31
-43
-21
19
0
0
0
0
0
0
-14
2
1
16
1
0
0
-2
0
-18
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-3
0
15
0
0
0
0
0
0
2
0
0
17
0
-14
0
1
0
-6
0
0
0
0
0
0
32
5
0
7
-3
-33
0
-70
0
25
0
0
0
0
0
0
32
0
0
8
-9
18
0
7
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
7
-10
-11
0
-3
-43
-2
-19
3
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-6
12
-13
-56
-51
-3
-11
23
-16
-14
16
29
16
0
0
23
8
0
3
-31
-27
1
-38
-16
19
4
-23
-15
-9
0
0
-32
-3
-20
1
-29
-27
-13
82
-36
0
-1
4
-28
-72
0
0
8
0
0
0
7
17
0
-26
8
-5
0
-36
0
17
0
0
-56
32
-11
8
-57
-32
0
-64
-30
-7
47
-13
-59
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-61
44
-7
-8
-30
27
0
0
-53
7
8
-68
10
-9
1
-15
31
-93
-69
1
-59
56
0
0
-59
2
-5
-15
-18
37
-2
-49
-68
37
-16
-65
-21
-32
0
0
-46
0
13
0
-2
10
0
-9
7
3
31
33
-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
-3
-16
29
-3
3
12
5
74
-36
19
0
0
0
0
0
0
0
-55
-2
-3
0
0
0
-25
0
-10
0
0
0
0
0
0
-12
-11
-5
9
0
24
0
15
-1
-10
0
0
0
0
0
0
0
0
0
13
0
1
0
4
-1
0
0
0
0
0
0
0
0
47
0
20
-14
4
33
51
11
26
0
0
0
0
0
0
-28
24
0
12
18
-20
3
1
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-2
1
12
13
9
3
15
-41
-65
-33
38
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
9
-25
-5
-6
5
-27
72
-29
-15
12
61
20
0
0
-20
12
-1
12
4
-4
8
18
68
-32
1
26
5
18
0
0
-56
6
-7
-21
-13
-8
5
25
-37
15
-51
22
-15
-30
0
0
-5
0
-3
-6
5
13
-8
47
-10
43
9
24
-4
42
0
0
24
0
0
0
-8
-6
0
-81
9
18
18
-50
-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
-9
15
0
0
-14
-7
4
0
0
-2
0
0
3
-5
5
-1
3
18
-3
-1
-1
0
7
0
0
0
0
0
0
0
8
0
0
0
0
0
2
0
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
-2
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
-9
3
0
-2
1
0
0
0
-11
0
0
-2
0
0
0
-10
0
0
8
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
-5
0
0
0
-1
0
0
-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
63
-45
-10
52
7
14
-24
0
0
14
-18
-11
-12
-45
-64
12
27
-36
-50
4
13
-23
-62
0
0
8
7
-31
-15
19
-31
4
3
-42
-38
-68
-5
7
44
0
0
22
0
0
2
48
5
0
-41
-16
-28
33
-45
-156
-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
14
27
13
-6
-3
-2
0
-17
16
5
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
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
65
-21
1
0
-8
0
-40
0
0
0
0
0
0
10
0
0
-12
-4
0
0
22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
-29
-6
0
-20
-8
-1
-10
-8
-61
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-6
-2
-15
-58
2
4
2
-12
20
26
56
-40
0
0
69
9
-3
-25
-9
22
2
-9
17
13
11
-25
-2
-10
0
0
-30
0
-7
-5
-53
-19
2
-101
-10
7
-39
18
-17
3
0
0
10
0
1
-14
4
-14
0
-26
56
2
-1
-2
-14
-25
0
0
-36
-6
0
-50
-21
7
0
-60
4
-37
-53
28
-27
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
44
-9
-92
-26
0
0
25
-12
12
-14
-31
52
-31
-43
-47
-56
-67
13
-81
14
0
0
2
0
0
35
-22
-86
0
13
-7
15
-73
-17
-21
28
0
0
-6
0
0
0
23
-46
0
51
-48
16
-10
8
-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
4
26
1
-7
0
-29
-8
-22
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
1
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
15
0
-2
0
-52
17
-25
0
0
0
0
0
0
2
0
0
21
0
0
0
2
14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-15
9
0
8
28
14
13
-2
-63
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-4
3
-34
-10
-11
1
-12
-8
4
-6
41
32
60
0
0
-11
13
2
7
18
-16
4
6
9
2
0
-7
-48
-50
0
0
-7
-2
0
0
-23
0
2
-41
-24
12
-52
35
-20
49
0
0
11
0
0
0
1
-51
3
34
-77
1
0
43
12
-9
0
0
-19
0
-3
-20
99
-13
4
77
-7
49
-20
70
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
13
60
-48
69
0
0
-3
0
28
5
64
75
8
-43
16
16
-10
-27
-2
-41
0
0
0
0
0
-7
-33
-12
0
-13
-22
5
-28
-12
-10
32
0
0
-2
0
0
0
42
-7
0
-22
11
0
0
-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
-3
-13
-6
4
0
-5
0
16
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
-7
0
0
0
41
0
27
0
0
0
0
0
0
2
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
-6
0
11
0
-14
2
0
0
24
6
12
12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
3
8
11
0
7
14
0
0
9
6
-6
0
0
16
0
2
-2
-21
30
-10
-8
-24
8
0
3
-11
19
0
0
4
0
1
0
-9
-4
0
-12
-58
-5
17
3
-35
16
0
0
0
0
0
0
2
-1
0
-18
-4
0
0
43
0
30
0
0
52
0
0
0
-1
-1
0
84
11
19
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
12
0
0
19
0
0
-10
20
-17
-4
1
-21
8
60
51
-26
0
0
0
-3
0
0
1
-34
-36
0
24
32
0
1
18
13
-2
0
0
-1
0
0
0
-16
1
0
-1
20
0
7
-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
-5
0
0
0
3
-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
10
0
0
0
-4
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
17
-4
0
0
-5
12
0
0
35
0
11
0
24
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
2
56
16
0
-13
-16
6
13
-24
-41
35
0
0
28
0
0
0
-12
-17
0
-13
48
9
0
-3
-16
1
0
0
2
0
0
0
-15
-15
0
8
-28
3
70
-17
-28
52
0
0
0
0
0
0
0
-3
0
-30
-23
0
11
27
0
17
0
0
31
0
0
0
-64
0
0
5
103
12
58
22
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-56
9
0
0
24
-11
36
-47
-48
-36
8
10
43
0
-34
34
-1
-11
0
0
32
9
-22
-45
17
-7
10
63
14
-5
12
-18
-13
3
0
0
19
15
-46
-12
-23
32
0
20
-5
-41
-41
-74
-70
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
-17
59
-27
-13
32
-50
17
0
0
0
0
0
0
0
9
-3
0
0
0
0
-2
0
-14
0
0
0
0
0
0
0
0
6
-2
0
34
0
-4
0
-24
0
0
0
0
0
0
1
0
0
8
0
0
0
2
11
22
0
0
0
0
0
0
0
19
0
-18
-44
-25
1
-26
-18
74
0
0
0
0
0
0
-25
0
0
26
13
6
1
34
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-11
-1
1
46
39
1
35
-16
-14
-35
14
-23
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
19
5
-3
-31
22
13
36
-23
31
-48
-1
-15
11
0
0
8
66
0
26
17
-96
15
-67
-19
-16
14
23
-3
46
0
0
14
0
8
28
11
-34
1
11
-74
13
-22
-23
-38
28
0
0
11
0
-8
10
-61
-50
-3
0
39
4
10
61
24
2
0
0
-37
-17
20
-7
-65
-13
3
-13
-22
58
-75
-12
27
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
18
-15
0
0
-23
-20
-7
8
-25
-21
10
-37
-2
-14
-26
-1
-6
-34
0
0
-22
0
-7
-5
0
-29
-5
-59
-79
-123
-125
-35
17
38
0
0
24
0
3
0
-27
-55
13
-23
-13
0
-26
-13
-13
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
7
9
27
-5
9
-10
-66
-41
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
17
-7
11
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
18
6
0
0
0
0
0
0
0
0
0
-59
0
5
0
24
-4
57
0
0
0
0
0
0
0
0
0
40
-9
3
0
-11
2
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
4
-2
-36
4
-2
-13
-38
31
5
-103
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-20
-34
-32
56
16
-8
-2
-87
43
32
18
-36
-86
0
0
26
-24
10
4
22
-12
0
-1
54
34
-46
19
-80
-26
0
0
12
0
-22
-4
-2
-23
-6
-2
-12
2
-17
4
-4
31
0
0
-32
0
0
1
0
11
0
-57
2
-3
0
-39
9
-67
0
0
2
4
-43
-7
-11
-63
0
3
-61
-74
77
-48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
1
5
50
-20
33
-1
-7
-18
-54
-46
-12
-47
36
0
0
28
0
2
-38
0
-21
6
3
-4
-3
-99
-30
-31
10
0
0
-44
0
0
0
-24
0
0
-51
-27
-1
11
11
37
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
-7
2
24
-27
4
-2
-2
-9
-4
27
0
0
0
0
0
0
-5
0
-4
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
12
-2
17
0
0
0
0
0
0
0
0
0
1
-1
0
0
-10
0
-9
0
0
0
0
0
0
0
0
0
4
-8
25
2
6
24
1
0
0
0
0
0
0
-8
0
0
-5
-15
0
0
48
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
3
-3
-38
-60
2
5
8
-94
-18
50
17
-38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
25
33
22
-52
-36
0
-16
54
50
33
-21
5
12
0
0
38
8
7
9
31
-12
-23
-29
14
-23
-6
-52
2
-53
0
0
-39
0
-9
1
39
24
-10
-50
-47
-29
-23
-46
-40
-91
0
0
7
0
0
-6
-15
-7
0
-41
-23
2
0
-51
-5
-110
0
0
25
0
-5
-9
-45
0
0
-35
-37
16
-67
-128
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
-10
69
0
-14
-1
8
1
-38
-31
58
0
0
43
0
0
0
10
-20
0
-8
-41
1
-16
26
-23
-24
0
0
70
0
0
0
54
20
0
22
1
1
0
-30
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
2
-7
-1
5
11
1
-24
1
-22
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
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
4
0
20
2
0
-1
18
0
40
0
0
0
0
0
0
0
0
0
6
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
2
-16
0
0
3
0
7
-10
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-12
0
-13
-3
0
-19
-43
-9
12
-10
30
-47
0
0
-7
0
0
0
1
-15
37
-27
3
-10
-5
-14
-40
-3
0
0
-7
0
0
0
1
-10
0
1
-28
13
-3
1
2
-2
0
0
-6
0
0
0
0
-11
0
-4
-2
0
0
23
0
-21
0
0
49
0
0
0
19
0
0
-11
-15
1
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-11
-46
0
3
6
0
2
0
37
1
0
0
0
-10
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
-22
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
-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
18
0
0
0
0
0
0
0
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
0
0
4
-15
0
1
10
0
0
0
0
0
0
0
5
-47
0
0
-7
-26
0
0
5
0
0
-5
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
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
68
0
-40
13
0
13
-12
1
2
-6
34
10
0
0
0
0
-32
0
0
19
0
-2
0
0
0
7
-1
15
0
0
0
0
64
0
-15
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
-25
0
0
7
0
12
-1
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
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
-5
0
0
0
0
0
-8
-8
0
-4
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
3
0
-24
-37
0
2
2
0
0
-1
33
-1
0
0
-6
0
-17
0
3
8
2
23
14
0
0
-7
-28
55
0
0
0
0
-11
0
0
0
0
-3
-2
0
0
0
0
13
0
0
0
0
8
0
0
0
0
-7
0
0
0
0
0
3
0
0
-1
0
-35
0
-6
0
0
3
-1
0
0
7
-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
45
19
-13
0
-28
-1
0
-13
0
13
-29
0
0
0
0
0
46
-5
14
0
-7
0
0
0
0
0
8
0
0
12
0
0
26
-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
2
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
0
0
0
0
0
0
0
0
0
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
2
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
-16
0
0
20
13
-17
0
18
8
0
0
0
-14
-32
0
0
-2
0
0
11
-2
-4
0
21
-15
0
0
0
-4
-48
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
-1
0
0
23
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
36
-66
12
-7
-17
-31
-11
0
0
49
0
0
0
35
-48
0
-40
-16
38
-36
16
0
14
0
0
-20
0
0
2
25
-51
-4
-48
-32
-55
-20
6
11
-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
7
40
6
-5
-6
-1
30
17
-27
-39
0
0
0
0
0
0
-12
0
5
3
0
0
0
2
0
-21
0
0
0
0
0
0
-18
0
-5
-2
0
-16
-2
-1
0
4
0
0
0
0
0
0
26
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
4
-1
0
-20
7
-8
0
26
0
-58
0
0
0
0
0
0
17
0
0
-22
19
3
3
12
-27
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-7
0
71
-11
0
-13
-1
-3
-45
12
2
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-7
-17
-18
-21
2
17
32
-30
-33
-6
4
-19
0
0
7
-27
-9
-4
-14
-16
-4
15
-18
28
-28
27
-60
-51
0
0
-12
2
-14
0
95
-39
-4
-3
-23
-27
-18
22
-17
-23
0
0
0
0
0
0
5
-2
0
-45
48
-1
0
-40
0
-65
0
0
-43
-2
8
4
-18
-17
0
15
14
7
3
-1
52
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
39
14
51
-10
-19
61
0
0
-55
-18
9
0
2
-10
4
98
-47
-14
13
-82
27
31
0
0
-53
0
3
0
-1
-19
0
8
18
13
-1
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
-14
-17
-1
-20
-29
-17
3
-17
-47
-9
0
0
0
0
0
0
0
13
-10
7
7
0
0
0
-1
0
0
0
0
0
0
0
0
14
-9
-11
1
-1
-1
-1
10
7
0
0
0
0
0
0
0
5
0
3
0
4
0
0
0
0
0
0
-1
0
0
0
0
7
0
25
-16
-73
-12
24
-12
1
0
0
0
0
0
0
-18
0
0
-7
-8
10
0
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-2
0
3
88
-2
12
-46
-74
15
-9
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-4
-10
-64
-4
12
-12
-11
10
-10
12
-31
22
0
0
-2
-4
14
-10
-29
-8
21
22
-30
-28
11
-5
-1
-19
0
0
-12
0
-16
0
11
58
-2
34
-10
5
-2
18
14
-5
0
0
-9
0
-2
0
-24
-13
-9
49
-52
-4
-7
56
6
9
0
0
-21
0
0
0
11
65
0
-44
-21
1
-10
-41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-3
0
-27
9
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
13
3
0
0
3
0
0
0
6
15
0
0
-6
0
0
0
-6
-5
-5
-9
3
0
0
-2
-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
-4
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
-11
39
-66
16
0
0
8
0
0
8
-13
-21
-1
52
-36
46
51
-1
-24
-115
0
0
-22
0
-1
0
-28
4
0
-33
-1
-10
-19
-16
72
-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
13
4
34
16
15
-26
3
3
-98
-14
0
0
0
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
4
-3
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
62
0
-44
15
1
0
-14
0
17
0
0
0
0
0
0
-3
0
0
40
-1
0
0
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-14
-27
0
-71
31
4
13
-4
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
16
3
-9
24
-5
0
-42
10
3
-19
0
44
-24
0
0
-21
8
-1
-5
14
49
6
-1
4
-44
-22
21
-40
-5
0
0
-24
0
-3
0
30
-5
0
56
27
2
-12
5
51
-15
0
0
-8
0
0
0
-4
-1
0
26
-35
5
-4
-5
0
7
0
0
-35
5
63
-2
-12
-9
0
-31
3
-34
-28
-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
-5
-20
-68
-38
-6
-48
0
0
17
0
0
-4
7
-31
-2
-54
-13
2
-39
-59
-97
-21
0
0
28
0
0
0
-73
21
0
-15
28
0
-3
-31
-52
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-9
-10
6
2
-47
-38
0
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
5
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
-8
0
0
0
-7
0
-38
0
0
0
0
0
0
0
0
0
-14
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
0
0
0
-21
-1
0
12
-10
-2
34
3
33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
-1
6
-40
32
0
18
3
-8
-6
4
-98
-16
0
0
31
0
17
-7
-88
-2
-10
-27
-10
-42
-7
-70
24
-18
0
0
10
0
0
0
-5
-14
0
-13
-35
-1
1
1
0
16
0
0
5
0
0
0
0
-18
0
-47
0
0
0
11
0
-40
0
0
-7
0
17
0
-84
-6
0
-29
-54
6
-1
-15
-242
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
-11
-11
0
4
-34
0
-7
-36
3
51
0
0
0
0
0
0
-57
11
0
-2
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
4
8
3
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
4
0
0
0
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
10
0
11
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
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
-5
0
0
-3
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
4
0
-3
-5
0
17
-1
0
0
3
-7
-7
0
0
3
8
-2
0
-7
-45
-4
3
-37
0
0
20
-21
-46
0
0
0
0
0
0
-25
2
0
-7
-5
47
0
0
1
-24
0
0
0
0
0
0
0
-1
0
17
-4
0
0
0
0
-9
0
0
-14
0
0
0
8
0
0
-14
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-151
-45
44
26
0
0
-30
0
0
-6
16
-4
-13
-39
15
6
-246
-28
-20
28
0
0
-14
0
-1
0
-16
-10
0
24
-58
-24
-85
-11
-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
-7
-12
-4
5
2
-16
2
-16
-21
-32
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
8
0
0
0
-1
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
-6
0
-19
1
0
9
2
4
-40
0
0
0
0
0
0
-5
0
0
-19
-24
0
-3
31
-15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-43
56
0
-12
-32
8
-60
53
-1
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-6
-15
-36
50
2
0
8
-6
47
-13
-42
23
0
0
21
7
1
-2
-17
-8
2
-24
-39
-7
6
-60
-222
-7
0
0
-13
0
0
0
-63
15
-13
-29
-21
3
-87
-4
-76
-87
0
0
-7
0
0
0
0
2
-9
-39
-13
-4
-40
-13
-9
-16
0
0
32
0
0
-9
12
4
4
-47
-27
9
-204
-65
-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
-6
-24
-40
0
0
15
0
0
0
-43
18
0
30
31
0
12
36
-1
-42
0
0
32
0
0
0
-65
2
0
-17
-21
0
-6
43
-16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-8
7
8
-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
-1
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
8
0
0
9
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-49
-22
0
5
17
-19
-14
-22
52
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-20
-11
-19
-32
0
12
-45
12
-8
-25
-46
-76
0
0
-11
-4
-3
0
-14
39
9
-13
-61
-19
-1
68
-105
2
0
0
0
0
0
0
6
-8
0
-1
41
0
0
13
6
32
0
0
7
0
0
0
-1
-3
0
-8
-32
0
0
67
0
108
0
0
-33
0
0
0
-28
38
0
-6
134
26
-8
-47
-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
3
0
0
0
-107
3
39
-108
0
39
-9
-38
-7
-35
17
-48
29
-1
0
0
-111
-5
-76
28
-10
-9
-4
3
-36
12
-81
-5
-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
-2
11
30
-5
-3
14
21
-43
-13
-38
0
0
0
0
0
0
0
-4
31
4
1
0
0
30
0
-7
0
0
0
0
0
0
0
0
1
11
0
-2
1
-20
0
-21
0
0
0
0
0
0
0
0
0
11
0
-2
0
2
-34
-6
0
0
0
0
0
0
0
-12
0
-4
-7
14
0
6
-12
-12
0
0
0
0
0
0
-3
0
0
21
17
0
6
-12
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-2
1
-6
-23
13
0
24
8
15
17
-69
-91
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
13
-103
-65
-37
23
10
-28
-3
-4
-21
27
-28
-27
0
0
-61
-25
-26
13
9
-21
32
32
-97
-40
-6
-95
-36
-16
0
0
15
-1
-10
-5
-1
-25
-1
-47
17
16
-29
-49
-13
55
0
0
-23
0
-24
-20
0
-41
1
-31
28
20
-20
-45
-37
-58
0
0
-19
-65
-31
-20
-17
-70
-12
12
-1
-4
-16
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
1
-29
-62
0
-2
-102
-65
-47
1
-53
-80
1
0
0
-26
0
-25
-33
-52
0
-3
17
-8
4
107
-51
-94
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
-27
-31
-56
-16
-25
-4
-24
0
0
0
0
0
0
0
0
7
-3
-2
0
0
2
2
-20
0
0
0
0
0
0
0
0
5
3
0
15
1
16
-4
-2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-4
-28
0
0
0
0
0
0
1
-2
0
6
9
-18
-5
-55
-33
-6
0
0
0
0
0
0
12
0
0
-12
0
0
0
0
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-20
-5
-26
-22
-1
-16
3
7
-106
-26
10
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
30
2
-4
-6
-6
-11
32
-25
10
28
9
-31
-40
0
0
-56
-34
37
-52
-89
13
7
-90
-47
-65
-35
14
-124
-11
0
0
-5
0
-10
-24
-62
-11
20
-67
-3
-20
14
-12
-23
-11
0
0
-33
0
-7
10
10
-15
-19
-53
-100
-7
-8
45
1
-8
0
0
3
5
-11
-51
3
0
-11
-45
-22
0
-34
-67
-89
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
1
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
-4
0
-8
0
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-6
-3
0
1
-14
0
0
-1
1
1
0
0
-14
0
0
0
19
22
0
-10
0
0
0
-25
0
23
0
0
2
0
0
0
0
0
0
-2
4
0
0
0
0
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-26
0
0
-1
0
0
0
0
0
0
-10
1
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-10
0
-5
0
0
0
0
0
0
0
-5
0
0
4
0
0
-61
0
3
0
12
-1
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-28
0
0
0
13
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-15
-24
0
0
0
0
0
0
0
-5
0
0
12
0
0
0
17
-24
0
3
14
0
0
-4
0
-2
0
0
0
0
0
0
41
0
0
13
-41
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-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
47
-1
-3
5
4
3
-19
0
58
0
0
-4
0
0
0
-21
-10
0
-11
1
-2
0
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
-42
3
-9
5
62
0
-30
-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
-4
0
-12
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
-4
0
7
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-6
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
-76
0
0
-5
-37
-13
-10
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-7
4
10
-11
-1
-5
-39
19
-2
6
-6
-22
0
0
20
-1
0
5
29
53
-1
-18
-19
-8
-1
-39
-32
-20
0
0
20
0
0
0
0
-4
0
-22
-8
9
-26
-7
7
-7
0
0
0
0
0
0
0
20
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-31
0
-8
56
-1
0
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
16
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
6
0
0
0
0
0
0
15
-38
0
-58
0
0
0
-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
1
0
-1
0
0
0
23
-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
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
-8
0
0
0
0
-15
0
-5
0
0
0
8
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
-35
19
0
43
-35
0
6
11
13
15
0
0
-12
0
0
0
-3
25
-8
18
-25
0
0
-20
49
1
0
0
0
0
0
0
-2
4
0
-40
31
1
11
0
0
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
-34
0
0
-3
-35
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
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
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
6
13
0
-1
0
-5
0
-4
-88
25
0
0
25
0
0
0
-11
31
0
-50
-4
0
0
-53
6
-42
0
0
0
0
0
0
0
-2
0
-1
-41
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
8
0
0
2
0
0
0
2
-15
0
0
-2
0
0
0
-18
-7
0
4
-7
0
0
-27
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
22
-3
0
0
0
0
-167
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
1
0
0
0
-12
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-24
0
0
0
1
-7
0
0
-34
-3
3
0
8
12
0
0
0
0
0
0
-29
-19
0
-5
-21
0
2
19
0
-21
0
0
0
0
0
0
0
2
0
-16
-9
0
-273
9
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
10
-10
0
0
-17
0
0
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
0
0
0
0
0
0
0
0
0
0
6
0
9
0
0
0
-29
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-19
0
0
-20
0
-5
-47
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
2
0
-1
-4
0
-2
43
4
0
-14
-93
46
0
0
-18
0
0
0
-30
-6
15
4
-12
2
4
25
-14
32
0
0
0
0
0
0
2
-3
0
-21
-41
0
12
38
-6
-39
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-4
0
0
-5
0
0
0
-2
0
0
42
-68
0
0
-100
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
43
0
0
13
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
8
0
0
0
13
-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
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
-1
0
0
0
0
5
0
0
-35
0
0
6
20
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-39
0
0
-11
1
0
-1
101
21
0
0
-13
0
0
0
0
1
0
-11
144
0
0
-14
16
-56
0
0
0
0
0
0
0
0
0
-24
-14
0
0
0
11
-105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-9
0
-13
-5
0
0
-30
-107
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
39
0
0
3
4
12
-57
76
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-27
47
-82
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
14
0
12
0
6
0
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
1
0
0
0
-5
0
-2
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
-45
0
0
0
16
40
0
-7
-21
19
45
43
38
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
11
0
21
0
16
0
17
11
-21
0
31
9
-25
0
0
-35
-6
-3
21
0
-21
1
-21
-4
-50
-38
-37
50
13
0
0
-7
3
-2
10
-48
-4
-3
-26
-16
-31
-33
39
-55
-32
0
0
0
0
0
0
0
0
0
4
0
0
0
6
0
-40
0
0
27
0
2
25
37
0
0
-26
48
13
125
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
14
0
0
0
0
0
0
0
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
5
-3
0
0
-21
0
0
0
18
0
0
0
0
0
0
0
1
13
0
26
-2
0
0
-29
-18
-44
0
0
15
0
0
0
0
0
0
0
-13
0
0
0
0
-2
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
2
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
4
0
0
0
0
0
1
0
3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
0
26
-15
0
4
-6
-5
-7
23
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
-55
0
0
0
24
0
37
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
-15
4
-21
16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
0
-6
9
25
0
-11
33
-20
31
9
-5
-25
0
0
5
0
0
2
28
1
-3
-12
-35
28
0
5
10
-37
0
0
15
0
0
0
32
0
0
14
-22
7
30
-10
3
23
0
0
0
0
0
0
60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
-2
0
6
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-6
17
0
-11
-15
-5
0
0
-16
0
0
0
7
0
0
0
6
21
0
7
-24
0
0
-24
-8
0
0
0
2
0
0
0
0
-19
0
-12
-15
-1
15
0
3
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
-2
0
0
0
-3
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
11
14
0
1
-10
-1
0
0
-41
7
0
0
21
0
0
1
-22
-15
6
-43
1
0
0
8
-7
16
0
0
0
0
0
0
-1
-1
0
3
13
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-2
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
-3
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
0
0
-12
0
0
0
0
-24
0
11
-14
-6
0
0
8
0
0
0
-2
0
0
0
-8
29
1
-33
9
0
0
-74
-10
-11
0
0
0
0
0
0
-3
0
0
-10
-15
0
0
-8
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-58
-2
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-45
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-54
5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
-29
-22
0
2
-18
6
0
-7
56
0
0
0
-29
0
0
0
11
0
2
-25
-6
0
0
-1
0
22
0
0
0
0
0
0
-8
0
0
31
9
0
0
17
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
4
-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
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
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
0
0
0
0
0
0
0
0
0
23
0
0
0
0
4
0
0
11
0
-8
0
-54
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
-5
-2
6
-58
0
-1
-12
-29
4
24
-14
0
0
0
-65
2
3
9
-13
7
1
-12
-51
-6
0
-42
35
-7
0
0
-6
0
0
0
0
2
0
-16
-25
19
-6
-4
-40
-7
0
0
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-64
0
0
0
2
0
0
0
11
19
0
0
-15
0
0
0
0
0
0
3
21
0
0
7
-7
1
0
0
0
0
0
0
2
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-51
-11
0
0
0
0
0
0
0
2
0
0
8
0
0
0
-18
4
3
-1
0
0
0
0
0
-12
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
-11
-46
0
0
-3
0
0
0
8
1
0
0
0
0
0
0
1
-4
1
0
-9
5
0
6
-4
0
0
0
0
0
0
0
0
19
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
2
-3
0
0
0
15
-7
0
0
-1
0
0
0
6
-10
0
-17
-4
4
0
-12
10
5
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
9
0
-1
9
0
0
4
0
1
-1
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
-9
-1
7
0
-4
5
18
0
0
13
51
0
0
-3
0
0
-14
19
18
-1
-1
24
7
5
15
8
0
0
0
8
0
3
0
3
3
0
0
16
-1
0
-2
-7
35
0
0
0
0
0
0
0
5
0
-2
0
0
0
3
0
4
0
0
14
0
0
0
14
-6
0
0
28
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
4
0
0
1
0
0
0
-18
-1
0
0
5
0
0
0
19
3
0
0
0
0
0
5
-6
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
12
1
0
-3
19
0
0
0
-7
-1
0
0
6
0
0
-6
20
4
0
-2
20
0
0
0
4
-1
0
0
1
0
0
0
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
21
13
0
2
0
0
0
0
7
-16
0
0
5
0
0
-8
-10
20
0
2
0
0
0
-1
0
4
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
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
-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
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
-6
0
8
0
-1
-2
0
0
-48
-2
-2
-23
-18
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
18
2
0
3
24
-4
0
1
16
-25
0
0
-14
0
11
-7
11
-21
2
-6
15
-2
0
-9
-5
-30
0
0
-4
0
-1
0
5
-2
0
-5
-33
0
2
-15
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
-8
0
0
-27
0
-4
0
-13
-1
0
-13
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
1
6
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
2
-20
0
-8
-1
0
0
-3
13
-8
0
0
-22
0
0
3
-12
-11
0
2
9
0
0
-8
-17
12
0
0
0
0
0
0
1
6
0
-1
-17
0
3
0
-42
5
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
-29
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
-8
0
0
-8
0
11
-14
-3
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
7
3
73
-3
0
-6
54
12
0
-4
48
28
0
0
-4
2
-3
-14
2
-15
9
-3
-2
-1
0
-8
7
23
0
0
-19
0
-1
0
41
-8
0
-45
40
0
3
0
-7
-31
0
0
0
0
0
0
0
-15
0
-25
0
0
0
18
0
10
0
0
-24
0
0
0
12
0
0
1
-10
12
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
9
0
0
0
0
0
0
5
2
0
0
9
0
0
0
-22
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
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
13
0
0
1
0
0
0
-3
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
5
9
0
0
0
0
0
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
3
0
0
1
12
6
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
3
7
0
0
0
0
0
0
3
1
0
0
-4
0
0
0
9
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
2
6
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
1
-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
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
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-7
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
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
44
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
5
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
-3
0
0
0
20
32
0
-1
9
0
0
0
-16
52
0
0
33
0
0
0
-16
-11
0
0
-3
0
0
13
3
0
0
0
0
0
0
0
-1
1
0
1
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
-2
0
0
0
-22
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
6
-7
0
0
0
0
0
0
5
15
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
3
4
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
7
9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
8
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
24
8
0
-7
-2
-2
0
3
18
15
0
0
26
0
0
0
13
7
0
-14
-2
0
0
15
-3
-22
0
0
0
0
0
0
0
0
0
-5
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
-1
0
0
0
-25
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
134
-1
0
0
2
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
23
0
0
0
-8
-37
0
-9
22
0
0
-3
-18
-56
0
0
1
0
0
0
9
3
0
-2
3
0
0
25
0
-20
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-34
-1
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
-13
-2
0
1
-3
2
0
11
7
-7
0
0
-1
0
0
4
-15
10
3
15
4
0
0
5
-2
0
0
0
0
0
0
0
5
2
0
1
-13
0
-5
0
-1
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-1
0
0
0
-12
1
0
0
1
0
0
0
12
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
31
12
0
0
-3
0
0
0
-24
23
0
0
4
0
0
0
19
2
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
19
44
0
0
2
1
0
0
-10
5
0
0
9
0
0
0
11
-12
0
-4
-4
0
0
-22
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
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
-10
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
3
0
0
0
17
0
0
0
1
0
0
0
9
0
0
0
0
0
0
-2
-17
-23
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
8
0
0
1
-5
0
1
0
17
0
0
-27
0
0
0
5
-66
0
-10
8
0
0
-38
-5
-31
0
0
7
0
0
0
0
0
0
-8
10
0
0
9
2
-1
0
0
3
0
0
0
0
0
0
2
0
0
0
7
0
-34
0
0
-13
0
0
0
0
0
0
-1
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
10
0
0
0
0
0
0
20
4
0
0
9
0
2
0
-2
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
-2
5
0
0
0
0
0
16
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-98
19
0
2
68
-5
0
-1
1
11
0
0
-10
0
0
0
-50
-5
2
3
-14
-1
0
1
1
-8
0
0
0
0
0
0
-14
0
0
1
10
0
0
0
0
-14
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-134
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
-47
-38
0
11
16
-6
0
0
11
-6
0
0
-21
0
0
-3
-8
-67
5
2
2
2
0
-16
-1
-9
0
0
0
0
0
0
0
-16
0
3
-12
-7
-3
15
-13
0
0
0
0
0
0
0
0
-30
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
-36
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
0
2
37
0
2
-2
1
0
0
-6
-5
0
0
0
0
0
0
1
-5
0
-3
-2
0
0
14
-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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
1
0
0
6
6
0
2
1
-17
0
-2
-13
13
0
0
-16
-10
4
0
6
-17
-6
5
38
0
0
-47
8
9
0
0
1
0
0
0
0
0
0
-3
-19
0
0
0
-1
-25
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
-4
0
0
-10
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-3
-3
18
0
0
0
0
0
0
-3
-2
0
0
-8
0
0
0
-19
1
-1
1
-12
0
0
0
2
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-30
6
0
2
36
-2
3
2
-28
-34
0
0
-10
0
0
0
-15
12
0
0
-2
0
9
14
0
2
0
0
0
0
0
0
0
0
0
-3
-7
0
-94
-2
0
-2
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
4
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
4
0
7
4
0
-5
5
0
1
-18
-10
4
0
0
12
0
0
2
7
-31
6
-10
-4
0
0
-54
41
22
0
0
0
0
0
0
0
1
0
0
-12
0
0
33
-9
23
0
0
0
0
0
0
0
-2
0
0
0
0
0
-18
0
-25
0
0
-6
0
0
0
0
0
0
4
-31
0
0
-233
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-5
-20
-23
-4
0
12
-26
-8
0
-3
-78
-11
0
0
3
0
0
-6
3
-11
10
-14
-6
0
0
-41
-46
-80
0
0
-6
0
0
0
0
0
0
-6
3
-2
0
11
-62
-29
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
6
-29
0
0
-16
-209
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
-1
-35
11
4
0
-6
-39
-26
0
13
17
-136
0
0
-24
0
-5
2
-15
-8
-13
12
-36
-6
-3
17
-13
-175
0
0
-5
0
0
0
-26
0
0
0
-6
-3
-1
-4
-18
-61
0
0
0
0
0
0
0
0
0
-13
0
0
0
-17
0
-113
0
0
1
0
0
0
-4
0
0
-1
-56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-3
-3
-9
33
0
20
-24
18
0
-25
42
-27
0
0
1
0
7
-9
6
-83
-8
11
-14
-17
-10
-13
-21
-60
0
0
-33
0
11
2
28
19
3
-24
2
5
-3
29
-36
9
0
0
4
0
0
-3
7
17
0
-7
-32
0
1
17
29
-12
0
0
61
0
-7
-2
-1
-3
0
0
37
0
7
-19
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
11
-2
0
0
5
2
0
0
0
0
0
0
0
12
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
3
-1
0
0
-2
0
6
0
0
-16
0
-1
0
0
0
1
-13
-19
0
0
11
0
4
0
0
0
0
20
0
0
2
0
-1
7
0
2
0
1
-6
0
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
21
1
0
0
1
0
0
21
-10
-8
0
-8
37
0
0
15
0
-9
0
0
0
0
0
-6
3
0
0
0
3
0
0
0
-1
-10
0
0
0
0
0
11
0
2
0
3
0
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-14
1
28
-13
-6
4
-8
-10
-9
0
0
-6
2
-1
-7
-37
20
-7
23
-5
-19
7
0
3
34
0
0
18
0
-25
0
-51
0
-4
49
-58
19
15
-15
-20
3
0
0
0
0
0
0
-24
3
0
47
-21
-1
0
-19
0
-10
0
0
-1
0
-5
0
-12
0
0
-42
-12
-21
8
1
-4
-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
-4
1
23
14
-5
-59
8
-20
19
0
0
-22
-19
12
13
-26
17
10
-5
0
-8
-47
-10
0
31
0
0
-4
0
-8
-16
15
-49
5
86
-31
5
-27
-2
-25
-69
0
0
1
0
0
0
12
-15
-9
76
-12
-6
0
47
-7
75
0
0
-24
0
0
0
-22
6
0
-36
-11
-1
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
14
-31
0
0
-2
0
6
3
-8
-1
2
-36
-17
5
0
36
-14
21
0
0
-15
0
0
0
11
-1
0
-2
23
0
-3
0
5
-6
0
0
0
0
0
0
0
3
0
8
0
0
0
9
0
0
0
0
0
0
0
0
-3
0
0
-26
-9
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
0
0
0
0
0
0
0
0
14
-1
-8
12
17
7
0
0
10
0
3
0
39
15
4
3
3
41
-7
4
-47
-13
0
0
-5
0
3
0
3
-10
-1
9
3
5
14
10
-8
-17
0
0
-1
0
0
0
0
7
0
46
2
0
0
4
0
-10
0
0
-33
0
0
0
37
-5
0
25
2
-5
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
-17
5
6
1
-2
0
0
-11
-3
-26
0
0
1
0
0
0
10
-23
0
-3
-4
0
0
0
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
-14
0
0
0
2
0
0
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
1
0
19
0
0
4
1
0
-2
0
0
0
0
0
0
0
0
0
2
5
0
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
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
14
-13
-2
-1
42
0
0
55
-4
9
0
0
0
0
0
0
0
2
0
0
19
0
0
-3
0
2
0
0
0
0
0
0
0
4
0
-2
0
0
0
31
0
4
0
0
27
0
0
0
9
0
0
0
5
0
0
-99
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
-37
11
0
0
17
0
5
14
-7
28
3
68
-13
-25
16
50
-96
17
0
0
15
0
-19
-3
9
10
-6
-12
-161
22
7
-45
-80
-57
0
0
39
0
0
1
0
12
0
36
50
0
0
61
50
29
0
0
-10
0
0
-7
23
14
0
66
-99
-2
25
-6
-109
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
18
4
-3
3
3
5
6
-11
25
-1
-13
-2
-16
37
0
0
-11
0
-7
4
-44
-9
4
28
-17
-9
10
34
-44
-77
0
0
4
0
0
-1
0
-2
0
-19
10
0
0
15
2
17
0
0
0
0
0
0
3
0
0
-9
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
40
-9
-6
8
0
-24
2
-8
0
0
-38
0
0
0
70
24
0
-5
-18
-1
18
1
29
10
0
0
75
0
0
0
0
-19
0
101
3
0
4
31
0
29
0
0
75
0
0
0
17
0
0
-22
-30
-37
0
-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
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
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
9
0
0
0
0
-3
-1
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
1
0
0
0
0
-17
0
0
0
0
0
29
0
0
0
-13
8
0
0
0
2
-35
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-101
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
25
-7
-16
0
-45
2
72
0
0
-3
0
0
-3
-45
-23
11
-2
-39
-15
-20
19
-36
-39
0
0
0
0
0
0
-52
0
0
0
-3
-9
0
-12
0
2
0
0
15
1
0
0
40
0
0
-19
-56
6
0
-21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-38
-5
0
-4
-3
-7
0
0
-6
0
0
0
-2
-75
0
19
-31
3
5
-32
2
-6
0
0
0
0
0
0
0
-76
0
-13
-18
-4
0
-13
0
-20
0
0
-6
0
0
0
0
6
0
-7
-8
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
9
0
0
0
-1
5
0
-3
5
0
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
-4
0
0
2
7
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-11
-30
0
0
45
0
0
0
-5
8
0
-49
-1
11
-19
-2
-8
-49
0
0
0
0
0
0
0
-14
0
-28
1
0
0
-11
0
-28
0
0
-5
0
0
0
-2
-1
0
22
-56
-10
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
4
-8
0
0
4
0
0
6
-8
-19
-2
11
-26
-4
17
-3
7
44
0
0
0
0
0
0
0
-9
0
-3
7
0
0
12
0
6
0
0
-37
0
0
0
-29
5
0
27
6
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
6
-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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
3
0
0
-3
0
0
0
-28
23
0
12
12
-2
3
-63
38
18
0
0
0
0
0
0
1
5
0
-26
3
0
0
-14
0
-5
0
0
-29
0
-1
0
-27
1
0
18
-49
-10
25
-58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
-4
0
-44
5
1
0
0
-73
-16
0
0
0
0
0
0
0
0
0
47
0
0
0
9
0
-50
0
0
2
0
0
0
0
0
0
-3
-6
0
0
34
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-5
-25
0
1
-8
-51
-7
-18
41
-2
-70
0
0
10
0
0
2
0
0
0
-38
-18
0
0
-24
-1
-125
0
0
-9
0
0
0
-5
0
0
-38
-110
0
0
-88
-56
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-57
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-42
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
5
-1
0
0
0
14
0
0
0
0
0
0
16
0
0
-5
0
0
0
0
0
-3
0
0
0
0
0
0
-59
0
0
-5
-74
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
27
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-8
0
-15
13
0
0
0
0
0
0
0
0
0
7
0
0
0
11
0
-9
0
0
15
0
0
0
-1
0
0
-103
-95
-1
12
-26
-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
-3
0
1
0
-9
-26
0
0
0
0
0
0
0
-1
0
2
-3
0
0
-14
0
-69
0
0
-34
0
0
0
-75
-6
0
-9
-12
-4
0
-18
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-6
0
1
0
0
3
0
0
0
-6
0
0
0
-33
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
9
0
0
0
-19
0
-22
0
0
-1
0
0
0
0
0
0
-2
-85
0
0
-7
-231
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
9
-9
0
0
1
0
-67
0
0
-27
0
0
0
-27
0
0
9
-218
-9
0
-47
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-28
0
-83
0
0
0
0
0
0
8
0
0
-11
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
-14
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
-14
0
0
0
0
0
-5
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
0
8
0
-23
43
-5
27
42
-1
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-18
-24
0
-7
6
0
-11
-38
-9
7
0
0
-24
-6
0
0
39
-18
0
-1
10
15
4
-34
-20
-24
0
0
-43
0
30
1
-31
6
-4
0
-37
-46
24
23
24
-16
0
0
0
0
0
0
-41
-15
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
3
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
-17
0
0
0
9
2
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
-9
-11
-9
-50
0
17
-6
-3
0
-8
11
-40
0
0
-10
0
0
7
-30
-21
-22
-7
8
-31
0
-5
-22
-1
0
0
-5
0
-18
0
-1
-28
0
-40
0
0
-1
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
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
22
0
1
0
0
0
-51
-4
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
-14
0
0
0
-17
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
18
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
0
-14
6
-1
-14
-5
8
55
-39
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
21
-51
0
6
8
0
-18
33
-29
-6
0
0
7
11
-1
0
7
12
-2
-27
10
-12
0
-25
-26
-4
0
0
-12
0
25
0
-46
-3
5
6
-23
-6
-24
42
48
4
0
0
1
0
0
0
0
-42
0
6
0
0
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
10
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
7
-5
-13
-24
0
-9
-6
0
0
-10
-19
14
0
0
-10
0
0
0
-10
-66
-4
3
-23
0
0
-11
-12
-18
0
0
5
0
8
0
19
-7
0
4
3
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
25
-1
0
-3
0
-3
-4
-43
31
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
23
-8
0
1
-3
-5
0
-4
0
-2
0
0
21
0
0
0
0
14
-2
46
-32
-23
0
-16
20
51
0
0
-9
0
3
0
-3
11
16
24
11
0
-6
2
57
-25
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-23
1
0
3
4
0
0
6
3
-5
0
0
-1
0
0
0
36
-28
-12
16
1
0
0
-4
23
0
0
0
0
0
0
0
5
0
0
6
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
-42
34
0
17
-16
32
3
0
0
0
0
0
0
-19
1
0
13
0
0
0
11
-18
-38
0
0
0
0
0
0
18
-24
0
-85
0
-14
-2
9
-15
-53
0
0
0
0
0
0
-12
23
0
-54
0
0
0
0
11
-54
0
0
0
0
0
0
0
16
0
-34
0
0
0
-6
0
-10
0
0
0
0
0
0
8
0
0
26
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
6
50
15
17
23
-12
6
78
-14
26
-7
-18
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
-32
-5
-41
-50
0
35
-18
3
-14
-8
16
-17
0
0
4
-33
8
31
28
-19
10
-53
-16
-14
8
13
14
-22
0
0
-7
-49
42
51
26
15
-10
-34
-9
29
-35
0
-6
-9
0
0
-19
0
19
1
30
-27
-5
-22
17
-1
45
-25
-15
-4
0
0
24
0
-2
-1
-9
46
5
-6
-1
0
1
-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
6
10
0
-15
0
-8
2
-3
-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
-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
1
0
-1
0
-1
0
0
0
0
0
0
5
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
2
0
36
-2
-37
44
0
-10
-3
14
-4
-2
-8
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
23
-26
31
8
0
-49
-56
9
11
10
-6
60
0
0
-21
3
15
30
-38
69
-15
-41
6
-31
-3
-73
-18
43
0
0
29
0
38
11
-23
24
0
13
-45
-8
-24
9
-24
8
0
0
15
0
4
7
-4
45
0
30
-2
0
0
32
0
-12
0
0
20
0
12
3
23
-27
0
5
-31
0
-2
-38
-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
1
5
11
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
0
0
0
0
0
0
0
0
32
-1
10
0
21
38
0
-25
12
1
-64
-5
18
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
8
7
0
-21
10
3
0
8
22
1
0
0
-24
-7
0
-1
3
-45
13
-3
1
-25
-1
-27
11
-16
0
0
19
0
13
-7
-36
-2
-5
33
-4
4
-4
41
25
57
0
0
0
0
0
0
3
10
0
27
0
0
0
-6
0
1
0
0
0
0
0
0
-20
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
4
9
-16
-8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
-13
0
-8
-8
2
0
-1
7
-34
0
0
-22
0
0
7
38
-39
12
-39
0
0
0
-22
6
-22
0
0
-2
0
0
0
-38
15
0
-16
-10
-1
-4
0
-13
6
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
-37
-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
-1
0
0
0
18
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
4
0
2
0
0
0
8
0
9
0
0
0
0
0
0
0
0
0
9
0
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
-16
60
-3
9
0
-19
-23
3
32
-22
52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
3
0
52
0
0
-6
-37
-2
-19
0
-15
-72
0
0
-1
-28
-16
-16
17
-39
2
-50
12
-1
-15
-2
-19
-12
0
0
0
-2
0
-27
17
5
-4
35
64
14
21
43
-16
21
0
0
10
0
7
-2
4
-51
-12
-53
3
0
-17
24
18
-7
0
0
-23
0
0
-5
47
27
15
-59
16
0
15
-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
-8
2
0
0
5
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
-3
0
0
0
-14
0
9
0
0
0
0
0
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
0
0
0
0
0
-53
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
5
-1
-3
56
0
3
-10
0
-19
-52
-73
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
2
-7
39
-4
-3
-4
-1
-2
-12
47
34
3
0
0
-11
0
-38
28
-24
18
-4
4
-7
5
17
-40
-8
-34
0
0
1
0
27
-2
-18
8
0
-23
-19
1
11
10
-15
45
0
0
14
0
0
8
2
-12
0
0
9
0
0
-35
0
0
0
0
24
0
4
0
51
-36
0
26
14
0
-7
-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
0
0
0
0
0
2
4
-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
-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
0
0
0
1
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
7
0
-31
5
10
13
-9
5
5
8
12
-19
-4
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
-8
-1
0
-13
-7
11
10
0
3
12
0
0
1
3
0
29
6
13
0
23
5
2
5
-48
44
10
0
0
-9
-6
-14
-16
-25
8
-10
-9
44
-7
-6
-3
50
12
0
0
-14
0
0
0
-34
-28
1
-15
-5
0
7
-12
-9
-56
0
0
-1
0
0
0
18
-40
0
12
0
0
0
-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
-39
0
0
0
12
43
0
0
16
-1
0
2
-6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
0
9
-22
26
0
-47
-2
2
0
24
9
-58
0
0
-15
2
-9
-2
-16
44
-9
-3
-33
0
0
13
11
-29
0
0
38
0
0
0
-11
-1
0
-4
-4
-4
0
0
9
-37
0
0
1
0
0
0
0
-34
0
0
0
0
0
0
0
-26
0
0
12
0
0
0
-16
0
0
-6
7
-5
0
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-50
-44
0
0
0
0
0
0
6
0
0
20
0
0
0
-8
8
-12
0
0
0
0
0
0
-12
-6
-3
-14
0
-4
-2
9
-8
-21
0
0
0
0
0
0
-13
4
-2
-13
0
0
0
1
1
-20
0
0
0
0
0
0
0
-10
0
-23
0
0
0
1
0
5
0
0
0
0
0
0
20
0
0
-10
0
0
0
35
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-5
-38
-15
44
1
86
9
59
17
-32
-23
17
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
5
32
10
-22
2
7
-4
-56
10
38
3
30
19
0
0
-4
42
-8
-18
6
11
-15
-16
-9
-8
-20
-47
21
-36
0
0
-35
-9
-3
37
-4
54
-28
-33
-28
1
32
-23
40
49
0
0
3
0
9
-4
7
17
20
-89
-16
5
17
52
-41
-57
0
0
-17
0
-7
0
-9
-95
-1
-12
8
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
-11
8
0
21
-1
2
0
-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
4
0
-9
0
0
0
-5
0
0
0
0
0
0
0
0
21
0
0
4
0
0
0
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-23
-3
-10
-40
0
13
-25
-29
-44
-2
15
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
17
22
0
23
7
-2
-30
-46
-13
10
7
-1
-4
0
0
18
23
2
-26
-11
-1
-22
-9
30
31
3
7
-55
-38
0
0
-10
6
-12
-7
18
29
0
66
-1
-15
-31
-7
23
12
0
0
-3
0
6
0
19
-23
0
-13
11
0
0
-48
0
14
0
0
-40
0
-7
0
-58
-5
0
-12
-8
0
0
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
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
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
16
-29
37
-55
-3
18
-22
-6
-35
38
8
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
17
-45
0
-14
-8
16
-8
-41
-29
3
0
0
-26
27
-3
-13
-30
7
-2
38
-51
-13
-4
-28
-1
-42
0
0
8
-10
-32
6
-6
83
56
-65
0
32
52
-32
44
-12
0
0
-19
0
0
0
0
11
0
42
1
0
0
1
7
25
0
0
0
0
0
0
23
-15
1
-22
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
-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
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
-14
0
-2
0
1
-64
0
-3
4
-11
7
40
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
9
2
-8
34
39
7
14
-1
-6
-25
-35
5
-8
0
0
0
2
3
-20
-13
-3
8
-8
-20
0
0
-7
-25
47
0
0
-12
0
0
0
9
32
0
-27
-57
-3
0
-17
-11
29
0
0
-2
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
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
-35
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
5
59
0
7
0
-59
7
0
0
0
0
0
0
0
-2
0
0
-45
0
0
0
27
-1
-7
0
0
0
0
0
0
-1
9
0
5
0
0
2
0
0
-12
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
-32
-4
-17
17
-18
-42
-2
-6
-62
23
-12
17
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-1
2
-2
-13
0
-38
-17
40
30
0
-3
-61
0
0
52
30
-3
-7
-7
4
0
-45
17
50
12
35
14
-22
0
0
-26
-22
-25
13
6
-13
-47
14
37
7
-21
3
1
47
0
0
-9
0
2
22
25
-39
1
-38
0
2
12
-50
1
-6
0
0
27
0
0
0
26
0
0
12
0
0
14
-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
-3
-1
0
-1
0
13
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
1
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
6
0
0
-14
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
2
31
3
-37
-52
1
-22
0
13
12
13
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
3
-14
7
-9
-1
7
5
5
-19
25
27
-27
0
0
12
23
-13
-33
26
-55
-9
-34
-13
11
-2
-19
-43
-30
0
0
-28
-5
16
-17
43
-14
-8
21
-47
-2
27
5
-28
17
0
0
4
0
27
-11
3
-11
0
-1
-12
0
7
2
0
-28
0
0
-14
0
-1
7
33
0
0
-12
20
-6
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
28
0
9
0
0
0
3
0
1
0
0
7
0
0
0
19
-40
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
6
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
4
0
0
0
-25
13
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
0
0
0
0
0
-3
0
0
0
0
-3
0
0
0
4
8
0
-3
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-26
0
3
0
0
0
18
0
4
0
0
0
0
0
0
-2
9
17
0
0
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
0
29
31
0
-2
-1
0
-11
-43
-43
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-31
-16
0
0
1
0
0
0
-28
5
0
0
-7
3
0
7
-10
5
-4
-31
2
7
2
27
6
55
0
0
29
0
-26
2
-11
30
0
-1
-38
0
-21
-2
17
-32
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
32
0
0
0
0
0
14
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
43
-27
0
-11
0
0
0
-8
-29
-7
0
0
1
4
0
-5
17
-2
0
-1
8
0
0
-38
-1
-50
0
0
1
0
0
0
-19
8
0
2
1
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
-19
-35
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
-1
-2
0
-9
0
0
0
3
0
-4
0
0
0
0
0
0
-28
11
0
-9
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
0
0
0
0
0
-50
-3
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
5
0
-5
0
0
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-31
0
11
0
-58
-7
0
-20
9
-2
35
-8
44
-31
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
-7
0
0
0
-8
8
0
0
0
48
0
1
0
-51
14
0
8
-28
18
0
2
1
1
0
0
46
0
-21
0
5
75
0
-15
-41
0
24
-1
23
-1
0
0
0
0
0
0
-9
-14
0
-3
0
0
5
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
15
0
-1
0
0
9
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
-6
0
0
0
-24
17
0
0
-1
0
0
0
3
-15
0
0
-23
0
-18
0
-12
-33
-10
-4
-6
0
0
-4
2
6
0
0
-5
0
0
0
-3
-7
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
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
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-15
33
0
-3
-5
0
0
-11
-30
13
0
0
11
0
0
0
16
-17
0
-10
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
2
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-4
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
18
0
8
0
0
2
40
-10
-37
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
-7
18
0
0
7
-6
0
0
0
-10
0
0
-2
7
15
0
25
-38
0
-1
32
-22
-18
0
0
-9
0
-1
0
2
-32
3
77
20
0
19
0
2
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
15
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-12
1
0
0
-3
0
0
1
13
6
0
0
-6
0
0
0
16
0
0
-10
-1
0
0
-4
13
-21
0
0
-5
0
0
0
3
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
1
-2
1
-1
-8
34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
-14
-4
0
-23
0
0
0
0
6
0
0
0
48
-3
0
36
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
41
0
0
0
16
17
0
-1
2
0
0
0
0
-23
0
0
0
0
0
0
23
1
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-35
36
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
-1
0
0
0
15
-14
0
-1
0
0
0
-6
0
0
0
0
-4
0
0
0
28
27
0
0
-1
0
0
-37
-6
0
0
0
0
0
0
0
40
-66
0
10
0
0
3
0
-38
-7
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
46
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-22
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
6
0
0
0
-28
16
0
0
0
0
-2
-7
50
-5
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
5
0
0
-7
0
0
0
0
0
0
0
3
-25
0
1
4
0
0
1
8
0
0
0
-14
0
0
0
-23
10
-39
-32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-61
41
0
0
2
0
0
0
12
-8
0
0
0
0
0
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
-7
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
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
-12
-3
-16
-5
-27
-31
6
-35
18
68
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
44
32
0
12
19
-9
0
2
-25
11
0
0
-14
-29
0
14
20
11
-3
-4
-26
9
0
43
45
50
0
0
-20
10
-27
2
-15
9
0
46
59
43
8
2
23
-35
0
0
0
0
0
0
4
-26
0
-1
0
0
0
1
0
0
0
0
7
0
0
0
27
-10
0
-6
0
0
0
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
-8
0
2
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
20
0
2
30
0
-5
11
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
10
-24
-68
30
0
6
4
-2
0
-19
56
67
0
0
-8
0
12
0
-29
-48
2
29
32
0
0
2
49
-19
0
0
2
0
1
8
8
14
0
25
-16
-2
-7
0
-1
29
0
0
0
0
0
0
0
-1
0
-33
0
0
0
-18
0
-14
0
0
6
0
0
0
-18
11
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
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
-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
0
-63
-3
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
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
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
14
0
0
0
0
0
0
0
5
-14
0
3
0
0
0
-69
0
7
0
0
0
0
0
0
1
-12
0
1
0
0
8
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
11
18
0
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
-1
0
0
3
6
-61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
0
0
4
0
0
0
-3
-7
5
-19
-1
0
-1
0
-5
-10
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
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
1
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
11
0
0
0
37
10
0
-3
0
0
0
0
12
-13
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
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
0
6
-24
0
-22
-33
-10
30
-49
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-22
31
0
-19
0
8
0
-37
-16
33
0
0
-20
-7
0
0
26
30
0
-11
-6
30
0
45
6
34
0
0
6
6
40
-5
21
-25
6
-6
-8
-14
43
9
-28
35
0
0
-10
0
0
0
-16
29
0
17
0
0
0
-2
0
16
0
0
0
0
0
0
-72
-16
-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
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
-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
23
-10
0
0
11
-3
5
-24
15
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-18
0
0
18
14
0
50
-16
1
0
14
44
40
0
0
13
0
20
-17
22
-23
-4
4
1
1
0
5
-4
-28
0
0
12
0
0
0
37
24
0
21
-3
0
0
-27
0
-16
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-12
0
0
-45
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
2
0
-7
26
46
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
11
0
0
0
-22
-47
0
0
3
0
0
0
13
-33
11
22
-38
0
0
54
1
-5
0
0
-24
0
0
-1
-20
-49
0
-12
-39
5
-2
0
-29
-41
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
0
-27
0
0
0
0
0
0
-13
-1
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
5
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
-12
0
0
0
-24
7
0
0
6
0
0
0
28
-67
0
0
-3
0
0
0
-18
-40
0
-1
0
0
0
0
-31
-22
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
-6
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
38
11
0
-21
-23
-6
22
-33
-32
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-3
-22
0
9
22
0
8
0
21
11
0
0
-8
0
0
0
-9
38
0
-13
36
6
0
45
-38
-2
0
0
72
0
10
-4
-20
25
-14
7
8
9
24
7
-85
-5
0
0
0
0
0
0
-14
-2
0
12
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-4
0
0
-38
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
4
-9
-23
-11
0
0
-46
0
0
22
-51
-44
0
0
-8
0
0
-4
-1
0
0
-6
5
0
0
8
0
10
0
0
0
0
0
0
17
-13
0
2
-2
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
-3
-5
0
-65
4
11
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-18
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
5
-27
0
-35
-12
0
0
10
0
-3
0
0
0
0
0
0
-18
-22
0
25
0
0
-14
0
-9
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
-37
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
-25
-4
0
-8
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
6
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-1
0
0
0
-4
-2
0
0
0
0
0
0
0
-5
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
28
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
14
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
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
-2
0
3
0
0
0
0
2
-7
0
0
0
0
0
0
0
35
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
5
0
0
0
0
0
0
-10
8
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
13
-69
0
-39
-10
9
20
1
16
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
16
40
0
-13
-19
3
6
-1
20
-38
0
0
13
0
3
11
10
-26
0
5
19
4
-3
38
-1
-8
0
0
-7
0
16
0
42
-29
-1
-30
11
-19
19
-11
-24
-12
0
0
0
0
0
0
2
8
0
41
0
0
0
-12
0
7
0
0
2
0
0
0
33
-2
0
2
0
0
0
46
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
-33
42
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-6
-14
65
-21
0
1
-32
-2
0
0
42
-4
0
0
5
0
0
0
4
-4
-3
8
-2
0
0
16
1
21
0
0
0
0
4
0
0
3
0
-3
-28
0
0
0
0
28
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
2
0
7
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
2
0
0
0
7
49
0
24
-6
4
28
7
-34
29
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
-2
0
0
0
2
-3
-2
0
0
0
0
0
0
72
15
0
11
13
0
0
11
39
-11
0
0
56
0
0
0
15
-59
0
18
0
0
2
0
0
7
0
0
0
0
0
0
0
-14
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
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
-17
0
1
0
-3
14
0
0
0
0
0
0
14
10
0
0
0
0
-1
0
31
-8
0
-13
0
0
0
0
-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
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
0
63
34
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
-4
0
0
0
0
0
0
25
0
0
0
-6
0
0
0
6
-28
0
28
1
0
0
-10
48
-40
0
0
6
0
-15
0
0
22
0
-41
21
0
-19
0
15
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
-3
0
10
24
0
0
0
0
0
0
16
-46
0
0
-1
0
0
0
5
-1
1
-1
10
0
0
0
-5
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
20
-40
-1
-23
-6
1
31
20
18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-19
0
-3
-14
0
0
-3
5
7
0
0
-35
0
0
0
31
16
0
9
9
13
10
9
-47
10
0
0
-28
0
0
0
-11
-25
0
17
20
0
1
0
7
76
0
0
0
0
0
0
-3
6
0
3
0
0
0
0
0
-16
0
0
0
0
0
0
2
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
-12
0
0
0
3
6
0
0
9
0
0
3
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-10
-28
0
-28
12
0
6
0
-24
2
0
0
-20
0
0
0
20
-14
0
-2
11
0
0
16
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
-5
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
0
-4
0
0
0
23
0
-47
0
0
0
0
0
0
45
-35
0
-16
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
28
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-74
41
25
-10
16
-5
32
-54
-17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
-6
25
-7
-2
-64
-2
-27
-3
13
-19
0
0
25
0
-27
2
-13
22
-6
-3
0
-22
-1
-11
61
-8
0
0
-15
0
7
5
36
14
-27
-27
3
-17
-14
-28
37
1
0
0
0
0
0
0
0
39
0
-9
0
0
0
0
0
-2
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
-30
0
-9
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
-31
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
-47
61
9
12
-25
3
-8
7
-15
-3
0
16
-5
-7
0
0
-3
0
0
1
2
17
0
22
34
-17
0
-12
14
-23
0
0
-15
0
0
0
0
-9
0
-9
22
0
0
0
0
-1
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
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
-24
0
-3
5
-28
85
0
-29
4
6
13
-59
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
0
-2
-14
0
-14
-32
0
-3
32
-33
-2
0
0
8
0
0
-14
54
10
2
54
40
-22
18
2
29
3
0
0
25
1
-6
13
11
-10
-4
8
0
18
-20
12
-44
-40
0
0
0
0
0
0
0
-9
0
5
0
0
0
0
0
40
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
-2
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
18
0
0
-2
0
0
-13
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
7
-3
1
49
0
24
-21
0
0
0
-24
-15
0
0
-27
0
1
6
3
-21
4
26
-25
0
0
11
-8
44
0
0
10
0
0
0
-12
-19
0
38
4
0
0
-4
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
15
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
8
0
0
0
15
-4
0
8
0
0
-3
14
38
47
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
2
0
0
0
0
0
0
0
0
-32
23
0
-26
2
0
0
10
0
71
0
0
9
0
0
0
-5
32
0
-20
0
0
0
0
-3
15
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
-11
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
20
0
0
0
-31
2
0
0
0
0
0
-4
-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
33
0
0
0
0
0
0
0
7
0
0
3
0
0
0
-62
26
0
-6
25
0
0
21
0
15
0
0
0
0
0
0
-26
11
0
-10
0
0
0
0
-6
26
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
-1
0
0
-13
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
10
0
6
-2
0
-2
11
0
14
0
0
0
0
0
0
-10
-6
0
-16
0
0
2
-33
0
-16
0
0
3
0
0
0
-5
18
0
4
0
0
24
0
-12
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
14
0
0
0
-26
0
0
0
0
2
0
0
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-56
0
10
-12
-8
16
-4
9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
-11
0
2
-29
-1
5
44
19
41
0
0
-24
0
0
0
-55
104
1
1
57
7
0
3
5
21
0
0
0
0
0
0
8
-42
4
-5
-10
0
-18
-2
5
21
0
0
0
0
0
0
0
-5
0
0
0
0
0
19
0
30
0
0
0
0
0
0
5
-8
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
-9
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
-7
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
-1
0
0
1
0
0
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
1
-8
2
0
-25
-22
0
0
-29
2
-15
0
0
13
0
5
-4
34
17
10
-10
-1
0
0
6
11
3
0
0
0
0
0
0
-2
22
0
38
-3
0
0
-1
0
-5
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
38
0
0
0
0
-6
30
-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
12
0
-6
0
-3
0
0
15
-1
0
0
-1
0
0
0
0
29
0
-1
0
0
0
-21
15
-28
0
0
15
0
0
0
0
17
0
-15
0
0
-18
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
5
0
2
-5
0
0
0
14
-29
0
0
-4
0
0
0
0
-5
0
0
0
0
0
6
12
-3
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
-24
0
2
0
-12
-44
-1
38
24
-11
-22
19
20
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
5
0
9
23
11
-3
-20
24
-7
0
0
15
0
0
9
93
-31
-7
15
-10
-7
-25
-43
40
8
0
0
5
-11
-5
-1
-52
-57
1
64
-52
-11
-35
-21
-17
-55
0
0
0
0
0
0
0
-14
0
39
0
0
0
-8
0
-2
0
0
0
0
0
0
9
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
1
0
0
-1
1
0
0
-18
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
4
-44
39
-31
0
-8
18
0
0
6
-12
3
0
0
-51
0
2
4
-56
36
-5
-27
36
0
0
5
-5
17
0
0
-11
0
0
0
3
0
0
-36
-11
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
2
-16
0
-14
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
0
0
0
0
11
16
0
0
0
0
0
0
-60
22
0
-5
8
29
0
-34
0
-3
0
0
-5
0
0
0
60
42
-4
8
0
0
-24
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-25
18
0
0
9
0
0
15
0
-2
0
0
0
0
0
0
-5
0
8
1
0
0
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
0
0
0
0
0
0
0
1
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
0
0
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
0
-63
-10
0
-45
0
44
38
-33
14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-41
0
-35
-12
0
-1
-3
-14
-6
0
0
11
0
0
19
-13
26
13
9
59
21
0
65
-14
33
0
0
13
12
-2
0
34
7
-2
43
28
-10
-18
29
-1
27
0
0
0
0
0
0
0
-4
0
51
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
2
0
0
1
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
21
34
0
7
28
0
0
2
37
36
0
0
-7
0
0
-8
25
-10
1
5
1
0
0
52
-19
30
0
0
17
0
0
4
31
10
0
10
-6
0
3
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
11
0
24
-4
0
0
-10
37
4
0
0
0
0
0
0
5
-21
0
2
0
0
0
0
-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
12
0
0
0
4
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-4
0
42
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
1
0
47
26
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
4
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
44
51
0
-20
-23
-23
1
88
41
-3
0
0
-1
0
0
0
4
7
0
13
0
0
2
-12
-37
-4
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
-6
0
0
0
32
-1
0
0
2
0
0
0
-11
37
0
6
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-14
-17
0
0
1
0
-4
-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
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-39
-6
0
-16
6
10
0
1
-17
-3
0
0
-9
0
0
0
-15
0
0
4
1
-6
15
7
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-22
0
1
-1
0
0
0
11
9
0
0
0
0
0
0
10
6
0
2
0
0
0
-6
26
-2
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
12
0
0
0
1
0
-4
-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
-17
0
0
0
0
0
0
0
5
0
0
0
3
0
0
-7
-22
0
0
0
-2
0
0
0
2
0
0
5
0
0
5
0
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
1
0
0
0
13
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
38
-53
23
46
38
10
20
-9
55
-110
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
75
-34
-1
7
36
-10
-31
50
31
-11
0
0
35
39
3
19
14
-17
-27
0
-3
-19
32
9
-29
-8
0
0
126
3
-16
51
9
-80
7
37
-5
24
-2
-32
-36
-55
0
0
124
0
0
0
-50
-28
41
-7
-8
-4
14
39
-24
25
0
0
83
0
0
0
19
1
0
40
-3
1
-12
-59
-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
-23
13
25
56
-37
12
1
68
-92
34
0
0
0
0
0
0
0
0
20
54
0
0
0
59
0
0
0
0
0
0
0
0
0
-1
-7
-76
0
16
-25
-29
-27
4
0
0
0
0
0
0
0
0
0
-18
-9
-4
2
8
-41
0
0
0
0
0
0
0
0
32
0
-32
-12
-1
-4
68
2
-45
0
0
0
0
0
0
3
0
0
33
-12
0
2
7
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164
0
6
0
-25
-24
-2
-8
-20
-24
2
52
-33
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
63
24
-41
22
29
-34
55
-36
-27
-16
-5
-44
0
0
1
-12
24
-63
-33
13
-19
-57
13
8
-40
18
-42
16
0
0
124
0
-16
0
26
8
-17
-81
-22
24
-23
-5
38
-2
0
0
69
0
0
0
10
17
6
-39
-14
0
0
11
5
64
0
0
25
-1
0
0
-47
33
-4
16
-37
-7
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
0
0
18
-21
-49
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-11
-4
0
-11
9
0
-11
50
6
-6
0
0
1
-26
-1
0
-29
24
-2
-61
7
1
18
37
42
5
0
0
-3
63
0
0
-21
-31
2
-22
11
-2
-22
12
3
-11
0
0
0
63
0
0
0
-9
0
0
0
0
0
0
0
8
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
0
-5
0
-39
0
0
0
-10
6
-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
-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
1
0
0
0
0
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
-15
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
0
0
-12
23
0
-5
29
-2
0
10
-5
-1
0
0
-21
-9
0
0
17
2
-9
-16
-16
0
0
11
17
-23
0
0
0
-4
0
0
16
-1
0
-40
-3
0
0
0
13
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-52
-20
-17
13
-24
30
59
-86
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
70
0
34
-23
0
-12
7
22
-6
24
-17
-93
0
0
-1
0
43
0
-9
-31
13
27
-12
-4
0
34
34
-62
0
0
-13
0
85
4
18
15
-2
-51
-18
-15
-9
19
40
-34
0
0
0
0
86
0
0
20
0
-4
0
0
0
25
0
7
0
0
0
0
50
0
-5
-2
0
7
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
3
-10
28
-22
17
1
3
-2
-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
-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
0
0
0
0
0
0
0
-1
0
0
0
44
0
16
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
14
0
3
-16
0
0
36
4
0
10
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
44
-21
7
-36
0
3
-11
7
0
-32
-24
-27
0
0
-14
0
35
0
-4
-5
23
13
-25
-24
0
34
-11
-11
0
0
-20
0
19
0
-2
-12
0
25
23
-9
0
13
-10
17
0
0
0
0
26
0
0
14
0
-2
-2
0
0
-16
0
1
0
0
0
0
60
0
-1
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
11
0
3
0
0
13
-6
14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
15
0
-9
-1
14
-1
-4
-4
-40
0
0
1
0
0
29
6
-43
16
22
-33
13
15
-8
-25
-44
0
0
-16
0
-3
121
41
6
0
-32
-3
0
14
8
-11
24
0
0
0
0
0
80
0
-2
0
0
0
0
0
11
0
23
0
0
0
0
0
43
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
18
-1
3
4
11
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
-4
16
-12
-21
0
-21
14
8
0
0
-52
-2
0
0
-14
0
0
-18
-16
22
8
-13
15
0
0
17
12
-27
0
0
0
0
0
-21
7
-3
0
-21
7
0
0
0
21
-38
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
27
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-19
14
-68
8
-48
11
11
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
14
22
14
14
-16
-21
-57
-30
-27
-45
-37
-32
-5
0
0
42
6
17
12
7
-18
-20
0
-35
-17
-6
11
-24
-26
0
0
-36
21
67
11
14
-9
43
-8
-10
-15
-2
-45
-19
-22
0
0
15
0
0
13
71
-25
8
-44
1
27
-40
-47
0
-38
0
0
-26
-6
15
18
53
-36
15
-45
38
-2
11
-79
-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
-26
5
8
13
-5
-29
58
-32
-42
0
0
0
0
0
0
0
1
0
2
-7
-3
0
0
68
0
2
0
0
0
0
0
0
-9
25
-12
21
2
8
17
41
-1
-31
0
0
0
0
0
0
23
-1
-2
4
0
-9
-3
38
-6
-26
0
0
0
0
0
0
26
27
0
16
-41
33
5
38
0
5
0
0
1
0
0
0
36
0
0
21
6
-19
-21
-13
43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-8
-10
-2
26
8
27
-5
-29
121
-42
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-23
17
-45
5
11
-46
-66
27
1
-28
8
43
8
0
0
15
7
-4
-11
16
4
-4
13
13
-59
-17
-36
-4
-16
0
0
-8
2
3
30
0
-30
37
-66
-12
22
35
-8
-10
15
0
0
0
0
0
0
44
11
-5
-12
0
-21
-9
-20
0
-33
0
0
65
7
16
24
-23
-6
6
-1
25
-28
-17
-26
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
47
-20
1
-5
-4
6
10
-31
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-46
12
41
15
-7
-20
-7
7
14
6
-3
-16
62
0
0
-18
39
46
-48
-10
6
-28
-27
-3
-16
-2
-6
8
-14
0
0
6
-93
-76
-28
-21
3
-33
-8
-23
-15
-25
-24
-39
-18
0
0
-67
-3
-5
-6
-41
8
-34
-25
-76
-7
0
3
-47
-9
0
0
-8
26
-27
-6
1
56
-6
-2
-5
7
-9
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
-38
28
15
-19
-20
-9
-43
10
25
13
0
0
0
0
0
0
2
22
-50
58
55
4
-23
-9
-4
-14
0
0
0
0
0
0
20
-34
6
-35
-12
-50
15
36
-6
12
0
0
0
0
0
0
4
-32
-47
40
-18
-16
-11
4
27
-19
0
0
0
0
0
0
4
21
0
-3
56
-32
9
39
28
-10
0
0
0
0
0
0
14
5
0
6
3
5
12
81
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-5
-22
-19
-8
17
25
23
0
-16
-10
76
-10
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
25
9
-3
15
-4
-42
8
24
-6
-37
-43
14
10
0
0
-70
31
-3
3
-1
-2
33
-24
15
-7
38
-30
25
-38
0
0
-31
-20
-14
31
7
-7
43
-34
-22
-17
86
39
-31
-25
0
0
6
3
-18
-14
33
-3
-36
46
51
27
-63
30
-7
-12
0
0
-10
0
0
5
-25
27
39
19
-40
-2
-22
36
-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
1
-4
-21
5
-4
-11
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-7
18
-2
-8
-7
0
5
11
78
10
0
0
12
0
0
13
-24
-64
-55
-39
17
3
-15
35
6
46
0
0
-31
1
-16
6
48
-50
10
22
74
4
-70
21
-1
-21
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
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
19
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
49
-2
0
0
13
0
-8
52
36
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
6
-26
3
-10
13
3
-2
0
1
1
30
0
0
-7
0
0
9
12
-36
-27
-28
61
2
0
17
41
-75
0
0
-10
0
0
0
-11
11
0
-7
10
0
0
-5
-12
6
0
0
0
0
0
0
0
0
0
10
0
0
0
-3
0
-6
0
0
-3
0
0
0
8
0
0
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
15
-21
-7
14
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-7
13
38
-19
0
-17
-19
-17
11
-34
10
19
0
0
-20
-5
16
14
-38
36
-10
24
1
2
12
24
-14
-33
0
0
-72
-1
10
-32
-36
-44
-33
54
28
35
-58
5
-32
-25
0
0
-25
0
0
-3
-22
-6
-46
-13
0
2
22
54
-7
-43
0
0
15
0
0
0
-43
49
3
81
8
1
2
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-19
-6
-40
-56
4
29
-24
0
0
0
0
0
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
-5
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
5
0
0
0
-1
0
22
0
0
0
0
0
0
19
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
-15
0
0
0
-15
2
0
-9
-3
-1
24
44
13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-28
-22
13
-32
30
-5
-14
27
16
11
50
-42
30
0
0
-14
-2
-33
-32
30
-46
60
19
-32
25
4
-21
-34
-11
0
0
21
0
12
11
34
17
1
-25
27
-19
21
16
37
28
0
0
-2
0
0
0
0
24
-1
-9
-4
0
-2
37
0
-6
0
0
13
0
-1
0
-18
-15
0
-13
14
-1
-2
44
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
17
-20
-32
36
77
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-6
10
0
-23
-13
-10
-72
3
-113
4
0
0
-41
6
8
27
-2
-18
41
1
-16
9
45
-17
29
-2
0
0
14
-23
-55
13
-24
6
-27
-5
21
29
-26
9
-7
-42
0
0
-3
0
0
0
-13
0
9
-8
14
0
-25
53
-10
38
0
0
-13
0
0
0
43
12
-8
1
6
0
3
46
-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
-17
55
-6
37
-3
-24
-28
3
-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
1
14
-2
8
0
9
17
8
0
0
0
0
0
0
0
0
0
-9
0
0
0
-4
6
5
0
0
0
0
0
0
0
0
0
-12
0
0
-1
-10
0
-16
0
0
0
0
0
0
22
0
0
9
0
0
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-7
-30
11
-4
9
4
9
11
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-11
0
-49
3
-37
4
42
12
-11
2
15
-23
-70
0
0
108
-7
23
15
7
-32
-21
28
-20
12
-12
-5
-25
3
0
0
5
0
7
5
-19
9
9
-44
9
33
-6
-8
-17
-83
0
0
0
0
0
0
0
-10
1
0
2
0
0
-8
0
-30
0
0
-9
0
0
0
-13
-12
8
-2
8
-7
0
58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
56
-40
0
3
-50
1
6
5
-3
-34
0
0
15
-7
-18
-2
32
-31
17
-7
50
31
-55
-36
33
21
0
0
-14
0
8
19
-13
-34
-8
-57
-3
28
21
-42
-95
-41
0
0
0
0
0
0
11
58
12
1
0
0
0
7
-12
40
0
0
0
0
0
0
-13
-14
-6
0
0
0
8
-38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
64
2
0
0
-9
31
-47
0
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
22
0
0
0
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
-6
0
-5
0
0
0
0
0
0
0
0
0
16
-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
29
16
0
0
6
0
-3
-41
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
29
-2
-35
-37
-2
-19
-15
2
3
-1
-28
-27
0
0
-28
-14
4
-9
58
-35
-12
-21
-29
-30
0
11
65
-50
0
0
18
0
0
0
4
-50
-12
11
7
-4
21
-9
-49
-16
0
0
0
0
0
0
0
31
0
-64
0
0
-2
8
0
59
0
0
8
0
0
0
-9
0
4
3
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-29
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
-51
13
3
-16
-43
-5
1
49
-70
-38
-41
0
0
-36
34
9
14
25
-42
51
-47
-8
-17
-5
5
-12
-62
0
0
-2
23
-11
-24
21
-5
-7
-22
-26
3
48
-10
-24
-55
0
0
1
0
-1
26
-38
-44
-35
6
25
-4
46
8
-26
-39
0
0
-4
0
0
0
-29
-39
4
-37
-56
41
96
-31
-46
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
9
5
-7
-11
9
-49
0
0
0
0
0
0
0
-1
2
-14
-2
0
0
-32
-7
4
0
0
0
0
0
0
0
0
-11
28
0
34
0
-30
-29
-11
0
0
0
0
0
0
0
0
0
38
-1
0
0
-54
-2
17
0
0
0
0
0
0
0
34
0
-23
-2
-1
-20
-12
-8
-50
0
0
0
0
0
0
-16
0
0
42
17
0
-4
-23
24
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-15
-18
-25
32
27
-29
21
-19
-41
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-13
-19
-44
8
-31
14
1
-18
-90
40
7
10
-33
0
0
-10
16
-3
-76
-15
19
-5
14
-32
-5
16
-15
-34
-14
0
0
32
0
2
-27
25
47
-14
-82
62
17
33
-26
12
-32
0
0
-20
0
0
0
7
-37
-16
43
-56
19
44
58
-14
0
0
0
-37
9
-1
0
-17
9
-22
7
-26
23
61
-33
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
9
7
-16
14
-3
-1
-41
-10
5
-5
-33
-37
0
0
30
-34
-5
3
-24
-13
11
-50
8
-59
0
8
-14
-6
0
0
53
-9
13
47
-8
-18
-2
-36
-1
-50
36
68
-12
22
0
0
-33
0
-5
10
10
35
-25
46
-28
-52
-58
19
23
-11
0
0
29
0
5
1
-5
-40
24
-11
-2
17
17
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
-49
-23
52
33
-22
-12
-58
-16
6
49
0
0
0
0
0
0
0
3
14
-1
0
0
0
20
0
-3
0
0
0
0
0
0
3
-15
-25
-54
0
14
-17
14
-9
-29
0
0
0
0
0
0
0
0
0
9
0
0
3
36
-5
13
0
0
0
0
0
0
0
5
0
31
27
2
3
35
3
-11
0
0
0
0
0
0
-12
0
0
-26
-26
0
0
-53
75
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
17
5
3
-6
-14
-44
19
-15
-15
20
-37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
-12
-123
-32
-19
30
-25
-4
-25
10
-34
21
-54
0
0
10
0
-73
-11
-18
-44
37
7
-27
-45
-50
-27
-53
-18
0
0
21
0
54
0
7
-35
54
25
4
-29
26
13
20
-44
0
0
3
0
0
0
-73
-2
-30
4
-68
-7
29
35
-7
-44
0
0
50
0
13
-1
-7
20
-25
36
29
-15
-37
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
28
38
41
33
-14
-24
-55
28
-12
-28
-29
4
-60
0
0
35
12
31
-36
28
-16
16
6
-31
-14
-55
5
11
-14
0
0
-24
47
-3
-54
-22
-34
1
-27
-52
-29
-16
16
-30
-27
0
0
-72
0
5
19
0
-11
-24
-16
-38
1
-6
26
51
10
0
0
2
1
-18
-25
16
15
74
-98
-36
31
-23
-44
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
5
28
6
0
-32
8
23
25
-6
8
0
0
0
0
0
0
0
3
-12
15
1
-2
0
0
0
-43
0
0
0
0
0
0
0
0
-14
-55
0
-56
16
40
-2
-8
0
0
0
0
0
0
0
0
7
28
15
-2
-2
14
-41
-2
0
0
0
0
0
0
0
12
0
-19
-4
-18
0
43
31
42
0
0
5
0
0
0
24
6
0
0
-14
10
-1
15
-34
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
-31
9
-4
7
18
-14
6
-20
4
84
-7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
11
2
-90
22
-17
-1
14
57
-2
3
-1
27
-16
0
0
-2
0
-16
-1
-11
12
-22
-6
-13
-5
49
-12
32
-18
0
0
3
1
45
5
-18
-126
-4
-2
30
12
-8
-35
-28
-26
0
0
-23
0
21
3
0
7
22
-5
4
5
5
-49
30
-37
0
0
19
-29
14
14
4
-40
-13
-25
9
13
4
-50
41
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-49
26
22
4
30
14
11
-38
35
-14
17
-25
2
0
0
-32
-21
-63
12
21
4
36
21
3
-5
17
23
-2
-4
0
0
-49
-45
-40
-12
-5
28
28
4
21
-18
-8
-10
0
-13
0
0
-77
-17
-26
-2
10
-6
0
-1
-18
-24
16
-11
-74
-10
0
0
-21
0
-2
-8
-31
0
2
-57
28
8
-5
19
-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
26
-32
-23
-16
-26
-28
-23
-31
-7
-18
0
0
0
0
0
0
0
0
26
59
-1
21
8
-34
-2
4
0
0
0
0
0
0
18
-3
-9
30
-1
17
-6
-59
-5
2
0
0
0
0
0
0
0
0
-6
43
2
0
-12
-27
44
-50
0
0
0
0
0
0
20
-34
0
2
-11
2
45
-13
23
3
0
0
0
0
0
0
-21
0
0
54
-6
-1
0
5
2
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
8
-8
-32
-24
-12
8
-10
-47
30
16
-25
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-20
-81
51
13
7
-3
-14
-28
-21
34
-15
13
-8
0
0
-34
64
-17
-18
-8
-3
21
31
33
2
2
39
34
-3
0
0
-46
-8
-36
19
-55
-57
2
8
35
-15
-33
52
8
-16
0
0
13
0
-28
27
24
-34
-9
-13
32
-3
11
-10
9
7
0
0
-40
0
1
-15
-63
0
2
5
34
-19
-18
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-39
-3
-11
-21
-38
51
12
0
0
-29
13
19
1
3
-12
19
56
-34
-4
18
-13
-22
8
0
0
22
0
-30
-1
-36
-49
5
9
-13
-29
45
22
9
6
0
0
-8
0
0
-1
4
-4
5
-48
0
0
-36
-51
-14
14
0
0
-6
0
0
-3
-39
14
-3
-6
0
0
3
-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
0
1
13
13
0
6
7
21
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
12
0
2
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
2
0
19
0
0
0
-1
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
48
0
0
0
44
3
0
11
-35
0
-35
-12
15
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
33
22
0
6
11
-12
0
44
-6
2
0
0
-23
-4
-7
1
-34
-58
-1
15
-4
0
0
14
-10
-37
0
0
-38
0
13
0
-4
21
-2
16
-25
0
-3
-33
-22
-8
0
0
-38
0
0
0
0
18
0
10
-4
0
0
30
0
14
0
0
-51
0
0
0
1
0
0
6
-12
0
13
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
-7
0
0
0
0
0
0
0
0
0
0
0
25
0
0
43
-60
0
-15
4
-4
0
-51
-20
-19
0
0
0
19
0
0
6
23
0
46
0
0
-11
0
13
-11
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
-19
0
0
2
-23
0
0
2
0
0
0
0
-8
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
-2
-14
0
0
0
-1
0
4
0
-19
16
-3
-30
-4
0
0
52
15
-5
0
0
-1
0
-18
0
-29
5
0
26
7
0
6
3
26
-51
0
0
0
0
-29
0
0
15
0
3
0
0
0
0
0
5
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
-15
20
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
-11
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
25
0
25
12
0
0
-19
0
0
-4
5
-24
0
0
0
0
48
0
-9
8
-1
0
0
0
0
-4
0
7
0
0
0
0
11
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-5
0
0
51
6
12
8
-9
16
2
0
24
-35
-1
0
0
17
0
0
20
9
-17
0
-2
-1
0
-5
0
3
-5
0
0
0
0
0
65
0
-24
0
-1
0
0
0
0
0
2
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
11
0
0
-15
-5
-58
0
-6
-2
0
0
0
7
0
0
0
-8
0
0
35
10
-3
4
14
21
0
0
29
21
4
0
0
0
0
0
-2
0
3
0
7
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-16
-7
-48
10
-21
-5
-10
59
-25
0
0
38
-2
44
14
-2
13
-39
-32
-85
-30
27
-23
-41
-16
0
0
-13
-25
39
-8
-5
-8
-12
2
18
8
-29
-44
90
-36
0
0
-20
0
0
4
-14
4
17
-47
-13
0
-20
-13
0
32
0
0
-8
0
12
-13
-2
8
-16
72
-14
42
30
-30
-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
-16
-6
-29
1
6
7
31
40
-24
5
0
0
0
0
0
0
32
0
11
0
0
0
0
-9
0
5
0
0
0
0
0
0
-6
0
1
3
2
-21
-3
-5
0
17
0
0
0
0
0
0
-38
0
0
14
-1
0
0
-18
0
-12
0
0
0
0
0
0
2
1
0
-19
4
0
0
-14
0
25
0
0
0
0
0
0
71
0
0
-19
19
0
0
60
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
2
-23
-29
-10
13
-12
-5
7
-3
-55
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
6
33
-21
-80
-2
-22
10
8
-27
-24
13
54
0
0
-45
0
2
-15
6
-28
-34
-23
-45
-24
-8
-29
29
-14
0
0
4
0
-12
-2
7
-17
-6
10
-29
20
-37
-8
21
1
0
0
0
0
0
0
-43
-33
8
-24
-1
0
16
-3
0
-5
0
0
21
0
-15
3
-6
6
0
-43
-36
-5
1
48
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
29
27
-10
4
28
0
0
-1
13
-9
-12
-6
9
-3
-20
-15
5
-44
-14
-3
-6
0
0
-45
28
-18
-21
-4
34
-44
-13
-9
24
-33
-59
-44
-19
0
0
2
2
-31
14
-6
0
17
-19
-36
-26
-3
22
-59
3
0
0
-21
0
-30
0
-22
30
-4
-35
4
0
-59
-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
6
-8
-26
-19
4
33
19
20
24
4
0
0
0
0
0
0
0
-41
-33
6
0
0
18
2
0
0
0
0
0
0
0
0
-13
-32
37
-14
1
-8
-24
8
-2
-11
0
0
0
0
0
0
0
0
0
-6
3
0
0
15
0
0
0
0
0
0
0
0
0
-20
0
41
24
60
10
21
-16
-17
0
0
0
0
0
0
20
0
0
-10
-18
0
0
36
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-19
-25
-8
14
-24
-95
4
-3
-18
-64
-30
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
28
22
5
-17
10
9
-18
2
0
52
-22
0
0
-65
-32
4
24
-18
-7
8
1
-10
7
-41
23
62
-68
0
0
-14
-14
0
6
64
6
18
-54
-12
4
-49
-31
-3
13
0
0
-6
0
-41
-7
29
-18
-12
-28
41
14
-9
-43
0
-14
0
0
-23
0
1
0
-5
-15
0
12
-7
11
0
17
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
25
-50
0
24
29
0
0
12
30
39
0
0
5
0
0
0
37
-23
8
-26
8
0
-2
0
33
-34
0
0
0
0
0
0
0
-10
13
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
2
18
0
0
0
0
0
-1
-5
-3
0
0
24
0
0
0
52
-5
-3
-29
-2
0
0
6
0
12
0
0
0
0
0
0
6
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-8
-19
47
-21
0
0
67
-15
-19
-2
-10
-1
-4
34
19
13
-13
-2
-4
-58
0
0
-25
-2
-23
-31
7
-21
-4
19
1
25
-9
-6
-58
-40
0
0
-24
0
0
0
-8
-21
2
-12
-15
-1
23
-12
-10
-8
0
0
-9
0
-1
0
-35
27
18
-1
5
0
0
-26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
14
-6
0
44
29
-26
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
3
0
-15
0
0
0
-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
7
0
1
0
0
0
6
0
-2
0
0
0
0
0
0
-4
0
0
12
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
14
0
-12
-9
0
-29
30
-2
9
38
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-23
6
-17
5
-2
-6
-10
-6
-32
-28
-16
0
0
-62
1
-4
21
14
-10
-21
-16
-29
-9
-2
96
-44
-41
0
0
1
0
3
-10
-8
16
0
75
-48
-35
-20
10
8
-22
0
0
0
0
0
0
-2
-20
0
28
-5
0
0
15
0
23
0
0
-6
0
0
0
-23
1
0
32
39
-5
1
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
17
-8
-28
24
-50
14
0
0
-2
7
8
8
-21
-74
40
36
19
-84
-7
27
12
-38
0
0
30
-28
10
9
33
-49
14
-15
-34
-30
-48
42
22
1
0
0
0
0
-3
1
-3
2
9
-18
7
2
24
-6
-10
10
0
0
0
0
0
0
-16
-18
-7
5
-1
0
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
-18
8
4
13
0
24
-2
-27
31
31
0
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
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
-23
0
-1
0
0
0
-5
0
-23
0
0
0
0
0
0
0
0
0
32
1
0
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-9
-66
0
21
4
-4
-11
-32
24
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
1
-32
-7
-105
-1
-32
-5
-43
22
8
28
-48
-4
0
0
1
4
-4
12
-31
-39
-2
3
12
14
1
-24
20
8
0
0
-3
7
16
-1
-32
45
-3
-6
16
-35
34
6
53
-13
0
0
1
0
0
0
0
-22
0
-1
0
0
0
-4
0
36
0
0
-14
0
-3
0
20
9
0
-10
19
3
0
19
-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
-43
37
6
0
0
13
0
-34
-6
-1
-39
20
-14
1
14
-10
1
-22
-9
0
0
-2
0
10
-11
-6
0
-27
-15
0
0
-20
30
1
29
0
0
-15
0
0
0
-25
-18
2
10
0
0
9
-30
-4
-34
0
0
-3
0
0
0
21
-1
0
0
2
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
-5
-6
8
-27
0
0
0
41
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-52
-37
0
4
4
0
15
30
13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
68
0
-11
16
0
0
-8
-7
0
0
0
-24
0
0
-3
-36
55
3
-22
-20
0
1
-28
-23
-28
0
0
-12
0
0
0
-4
23
-3
28
-11
0
-3
-3
-58
-23
0
0
4
0
0
0
1
-3
0
-3
0
0
0
16
0
26
0
0
-5
0
0
0
-12
20
0
22
26
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
12
0
0
6
3
0
-15
-61
-45
-4
-27
63
-60
74
-8
64
4
0
0
36
4
-14
9
-4
-69
-42
-30
6
16
18
-3
-84
-8
0
0
0
0
0
4
-34
31
0
21
15
-13
1
0
-43
23
0
0
0
0
0
0
-16
-14
4
-33
2
0
-10
12
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
3
0
10
0
7
1
60
-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
-24
0
0
0
0
0
0
0
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
38
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-4
41
0
33
23
1
-3
33
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
-4
-1
-8
0
-18
22
-4
0
-7
20
-20
0
0
-10
0
0
-2
-23
31
-31
-44
-11
-6
3
-32
8
-19
0
0
28
0
1
0
-20
-33
7
12
31
-13
-2
-2
-18
-37
0
0
0
0
0
0
0
33
0
-25
2
0
0
3
0
-65
0
0
-5
0
0
0
-2
0
0
-14
31
0
25
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
33
0
-17
0
0
-28
17
-62
29
4
-18
-9
47
14
19
15
31
77
5
0
0
-94
4
14
10
-22
19
46
-41
-53
-5
-27
-7
-61
12
0
0
7
0
0
0
-8
-47
2
55
6
-4
24
-19
4
-6
0
0
-5
0
0
0
13
-78
14
21
5
0
11
-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
-4
-6
20
15
-8
0
-15
-58
-20
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-7
0
0
0
0
0
0
0
0
0
11
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
-2
0
40
8
0
0
34
0
16
0
0
0
0
0
0
3
0
0
-21
-6
2
0
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-4
0
46
-18
0
-12
-9
-7
0
11
-52
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
6
-51
-6
-10
31
0
28
18
6
54
-49
-33
10
0
0
0
-9
14
21
30
11
-40
18
-85
-14
0
4
47
-10
0
0
7
0
-20
0
30
-53
0
-69
31
8
-36
21
-7
11
0
0
0
0
0
0
-5
0
0
1
-12
0
0
44
0
-35
0
0
-50
0
0
0
-45
0
0
-12
24
0
0
129
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
10
3
25
17
-4
8
-51
-27
43
22
-30
-14
38
0
0
14
-31
-34
16
35
-21
0
13
-34
62
36
33
-19
18
0
0
10
0
-6
8
0
29
1
-34
9
-19
-1
-13
19
-7
0
0
-44
0
-14
4
34
22
-2
9
-34
6
-36
-5
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
-1
-4
40
-14
1
3
-3
27
41
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-4
-18
-2
0
20
0
6
14
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-5
0
0
0
0
0
0
0
1
0
-20
0
0
0
-17
-38
70
0
0
0
0
0
0
29
0
0
37
0
0
0
19
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
-15
-21
-45
6
2
-47
2
61
38
41
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
19
5
30
21
6
52
40
-30
37
-15
-7
5
0
0
4
31
-33
-18
57
33
17
63
-22
-14
12
-60
-63
-7
0
0
-25
0
15
-2
6
-14
3
-29
19
-37
-5
17
3
-15
0
0
-11
0
2
1
0
20
0
-10
14
0
0
-6
14
-27
0
0
7
-4
3
-22
51
20
-1
4
12
-5
-5
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
-1
0
0
6
19
3
47
-8
-28
-47
1
-15
5
78
-11
-6
2
0
0
10
4
-16
12
-25
-45
13
2
10
92
5
-26
0
-10
0
0
0
0
1
0
-50
-34
14
8
-13
25
-28
-11
15
6
0
0
0
0
0
0
10
0
-15
4
1
0
4
7
-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
-3
-17
16
3
-12
7
9
-3
17
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
2
33
0
2
0
2
-6
12
0
0
0
0
0
0
0
0
0
-19
0
3
0
0
0
-21
0
0
0
0
0
0
0
-2
0
-5
1
-8
0
12
0
-21
0
0
0
0
0
0
1
0
0
-23
7
0
0
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-14
3
-2
-96
-21
3
-28
64
11
4
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
7
6
-19
-29
34
0
-24
8
-34
3
39
-40
2
0
0
14
-12
-10
-25
52
36
-21
-33
-22
-35
-26
-9
-13
-3
0
0
-3
0
-20
-19
-62
-19
-14
-17
-6
-29
11
-8
34
-30
0
0
13
0
0
10
-21
-23
0
-7
8
0
0
27
0
-33
0
0
-5
0
0
0
-33
0
0
26
7
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-42
81
0
2
5
-6
-20
-5
70
45
0
0
54
27
17
21
-3
-63
-17
26
38
-34
2
-14
13
0
0
0
37
0
0
0
-11
10
-20
-6
-23
3
38
-25
-22
-16
0
0
11
0
0
0
-54
17
9
16
0
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
-7
-35
-6
21
25
-13
1
-5
2
60
0
0
0
0
0
0
0
0
-8
-3
0
-1
0
2
0
11
0
0
0
0
0
0
0
0
0
10
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-3
0
0
0
0
4
0
-4
0
8
0
-15
0
15
0
0
-9
0
0
0
0
0
0
12
3
0
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-1
0
-23
-10
0
-6
-10
9
-12
-31
-31
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
-8
-16
11
-18
4
-31
11
42
18
-37
-30
24
0
0
-37
-5
0
-7
-42
10
3
-23
-18
-2
0
-37
4
-8
0
0
61
1
0
-1
6
-51
21
-47
1
-9
11
-14
-15
10
0
0
-19
0
0
0
0
-3
2
-28
5
0
0
9
0
11
0
0
-96
0
0
0
13
1
-1
8
-35
10
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
17
-28
6
59
-1
-15
-3
16
-9
54
0
0
43
44
-7
-4
-37
17
-10
15
-22
18
-21
-18
18
-42
0
0
0
20
0
0
-7
-6
0
-12
4
19
8
-3
-21
11
0
0
0
7
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
22
0
-20
-2
1
22
0
8
-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
13
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
9
5
0
-1
15
0
-3
1
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
-2
0
-12
1
0
0
-35
-4
0
0
10
1
0
0
1
47
-1
0
20
38
-10
1
16
-7
0
-23
4
-33
0
0
0
-31
19
0
-13
8
1
0
7
1
-3
1
4
4
0
0
0
1
0
0
0
-2
0
10
0
0
0
0
0
0
0
0
-16
6
0
0
19
0
0
0
7
-7
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
-23
0
3
11
7
13
4
-5
0
-11
-30
-12
0
0
-7
5
72
-2
35
5
-6
-83
9
4
-15
0
36
-21
0
0
0
0
-25
0
0
-29
0
-2
-4
0
0
7
0
15
0
0
0
0
-20
0
-7
0
0
2
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
1
25
-4
-40
0
0
0
43
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
3
0
0
0
1
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
11
0
-5
0
7
10
-1
0
-23
0
0
-44
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
-20
0
-4
23
0
-15
-19
-7
0
16
25
-38
0
0
0
0
-3
1
1
31
-11
32
6
-3
0
-2
0
-52
0
0
2
0
-27
0
8
5
0
12
23
1
0
1
0
1
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
0
7
0
0
0
0
-5
0
0
0
0
-1
-19
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-5
-33
-18
-4
4
0
-1
-26
0
0
38
0
0
50
-4
-12
8
18
-24
-1
18
-28
-45
-18
0
0
0
0
0
8
-7
49
0
14
0
0
0
4
3
4
0
0
0
0
0
-14
-9
0
0
-2
0
0
0
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
-1
-37
1
0
-1
17
-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
-2
0
0
0
0
0
0
0
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
-6
0
0
0
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
-3
-14
-2
1
57
2
-3
-4
-26
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-6
3
-31
-4
41
-49
9
19
-8
-7
44
0
0
1
0
0
31
-23
-7
-10
27
21
0
0
9
-15
45
0
0
-4
0
0
-10
1
-32
-2
2
-23
-11
0
0
-4
0
0
0
-4
0
0
-32
0
-30
0
11
2
0
0
-3
0
-43
0
0
0
0
0
20
-3
0
0
37
16
4
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
-12
15
-2
24
-15
-19
-18
-25
2
-13
0
0
-21
-14
-50
-19
9
-8
-21
6
42
-39
3
-11
-22
-23
0
0
5
0
0
27
14
-25
-29
-4
-20
6
-40
-50
0
26
0
0
46
-6
-7
-4
20
8
-27
-36
12
-50
2
10
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
-5
-27
-8
16
44
-24
-2
-20
-6
-6
0
0
0
0
0
0
-64
3
-2
32
5
4
0
24
0
19
0
0
0
0
0
0
-32
0
-6
13
0
67
0
-6
0
30
0
0
0
0
0
0
9
0
6
-27
-4
-14
8
-37
3
11
0
0
0
0
0
0
15
-2
0
21
-30
-30
0
-16
0
-75
0
0
0
0
0
0
-21
0
0
-24
53
57
0
30
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
11
-13
42
-5
15
-12
-17
-26
-5
-21
30
-26
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-11
38
-31
6
16
-4
-9
-23
56
22
16
45
11
0
0
9
0
8
-3
-1
-24
9
-9
-22
-36
19
3
-25
16
0
0
-10
-39
-54
3
-29
-16
-21
-16
-8
-30
20
-56
-18
7
0
0
-1
0
0
0
34
11
-18
-16
8
15
0
1
0
-72
0
0
-21
16
-4
30
-21
-33
27
1
-4
69
11
-5
-44
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-56
-6
36
-7
-3
4
0
0
6
4
-19
-30
-2
-4
5
-15
-20
20
-23
-12
-1
0
0
0
-34
1
-59
-41
-26
9
-14
12
-12
68
-56
-3
-14
19
0
0
18
0
23
7
12
-9
15
6
66
10
26
21
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
51
-67
-33
22
-34
1
0
0
0
0
0
0
-13
-54
-37
3
12
3
0
-16
-18
-21
0
0
0
0
0
0
-4
-10
-59
9
-2
6
-38
8
24
-14
0
0
0
0
0
0
-4
-28
11
59
18
3
-12
3
-11
-22
0
0
3
0
0
0
-12
29
0
7
8
-21
68
15
-13
-20
0
0
1
0
0
0
-7
27
0
10
94
3
-2
-37
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-21
-11
12
20
24
-15
-5
-27
-33
-67
12
17
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-29
16
-1
79
-10
14
17
-14
-3
-21
-17
-3
-60
0
0
47
14
1
-4
15
3
-36
-35
1
-48
24
51
40
-13
0
0
-19
8
-46
-24
-23
25
70
-73
-39
14
12
-42
3
-7
0
0
11
0
-5
-18
23
-36
6
-37
-46
1
32
-44
-16
27
0
0
50
1
9
0
-22
-18
-14
-28
3
-4
17
-45
-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
2
-19
42
12
2
-22
-9
-51
0
0
-12
15
-18
19
23
-20
2
8
52
12
13
12
-8
-20
0
0
14
0
0
0
-16
26
29
3
-2
8
-22
29
0
-11
0
0
8
0
0
0
10
-15
18
15
2
4
-1
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
22
7
0
25
31
-7
0
2
-13
-24
0
0
0
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
-14
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
-7
0
-6
0
0
0
-29
0
17
0
0
0
0
0
0
0
0
0
-36
6
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
22
0
-11
20
-1
-25
-6
9
-13
15
-45
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
13
-42
4
19
-8
38
-9
-37
17
15
4
14
5
0
0
0
-3
0
1
-29
-39
-3
-14
30
-2
0
35
-7
4
0
0
-4
0
-5
0
14
41
33
-11
0
8
6
13
5
3
0
0
11
0
0
0
6
-5
8
5
-20
0
0
17
0
-21
0
0
0
0
-3
0
-8
1
1
-17
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
9
14
33
21
0
0
53
13
-20
-68
-49
-36
3
8
-37
20
-6
-53
-10
-2
0
0
-25
15
-28
-20
5
33
7
18
-19
4
-26
-8
37
6
0
0
35
0
-5
0
-68
1
-26
-4
51
-6
39
-49
-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
0
0
0
0
0
0
0
0
0
0
0
-4
28
-15
-19
-24
15
10
10
-5
-46
0
0
0
0
0
0
0
0
14
3
0
-4
0
12
9
-4
0
0
0
0
0
0
0
0
-1
-15
0
-11
-4
43
-3
17
0
0
0
0
0
0
-15
0
-6
30
-11
4
0
26
19
10
0
0
0
0
0
0
0
-1
0
39
-7
19
-5
-27
4
-7
0
0
0
0
0
0
3
0
0
15
0
-1
5
-8
23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
15
-2
19
-31
-4
0
18
-25
-48
-42
-44
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
27
14
-10
-13
12
1
2
6
-23
-2
16
-9
0
0
24
3
-3
-5
-2
-1
-16
-5
-36
8
-11
-16
-60
-5
0
0
-20
14
-37
39
-107
-75
15
15
-34
-6
-39
-49
10
-6
0
0
49
0
-2
-45
8
-17
-53
24
-12
0
-7
-21
-22
-41
0
0
0
-8
6
-5
12
8
0
27
-5
-58
-53
-17
-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
28
68
15
26
24
10
0
0
51
-22
24
-24
-15
-26
28
18
-4
-1
-27
37
22
-3
0
0
-29
0
0
-23
-31
48
-5
45
7
-33
-58
53
7
55
0
0
10
0
0
-2
-38
-22
10
92
-21
20
-33
57
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-3
-6
-10
-17
12
-10
37
0
0
0
0
0
0
0
0
-11
-14
0
0
0
10
0
4
0
0
0
0
0
0
0
0
-6
1
0
0
0
-36
15
2
0
0
0
0
0
0
0
-7
0
6
0
0
0
15
1
10
0
0
0
0
0
0
0
8
0
54
9
0
0
-19
27
18
0
0
0
0
0
0
20
0
0
6
10
0
0
-4
-21
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
15
14
-23
43
4
48
17
7
2
-1
-9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
-22
-18
-15
-3
17
-7
36
28
14
84
-36
5
0
0
8
-10
16
-9
-15
9
31
18
47
16
38
4
-67
-56
0
0
-13
-1
-3
1
53
11
-16
-21
-48
69
-40
78
17
1
0
0
-13
0
3
9
30
52
12
72
-55
8
4
-20
28
-10
0
0
-6
11
4
-26
118
6
24
27
-54
53
-24
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
8
31
0
0
-21
22
35
-3
-22
-12
38
-5
34
29
-23
5
-28
17
0
0
-3
0
-1
-11
-5
-14
26
24
-5
2
-8
4
-2
48
0
0
3
0
0
0
14
-12
22
-13
9
1
-2
-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
4
-42
26
21
9
-10
-3
14
-19
10
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
7
-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
0
5
-6
0
-2
27
0
26
0
0
0
0
0
0
3
0
0
60
8
0
0
17
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
37
9
-2
-3
6
18
17
-31
2
51
22
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-2
-4
28
-34
33
-15
-2
-23
8
-2
16
-8
-31
0
0
9
-1
-2
2
-1
18
-47
-54
6
3
0
32
-22
0
0
0
34
0
-11
9
4
17
-2
15
-63
-21
1
42
-24
24
0
0
0
0
0
0
10
-5
2
-4
-12
0
0
67
-3
-13
0
0
10
6
0
0
-20
-10
0
52
-10
27
0
-26
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
5
100
-33
46
0
0
-4
-3
15
5
-39
-23
0
1
-33
8
23
60
5
5
0
0
12
0
0
13
-14
31
17
67
-20
1
12
34
-7
17
0
0
-13
0
0
0
-7
-19
-1
9
-3
0
31
-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
0
0
0
0
0
0
0
0
0
0
0
3
0
-17
46
-23
1
0
-33
-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
19
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-26
0
8
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
0
0
-25
-19
0
19
81
-2
4
52
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
10
6
19
0
-3
-2
-12
1
-1
25
0
0
0
11
0
0
-9
-6
4
17
-42
-19
10
0
-2
17
11
0
0
-39
0
2
-4
-24
-58
2
-17
-20
-5
0
-10
-20
9
0
0
0
0
0
0
0
-10
0
-57
4
0
0
48
0
-7
0
0
16
0
0
0
-8
-11
0
8
10
16
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
37
-27
0
0
-11
-38
-47
-62
14
-23
39
-4
-9
6
-19
44
-8
11
0
0
50
-7
-27
-6
80
-5
13
21
-44
-11
15
39
18
5
0
0
14
3
-10
-23
8
-37
-3
2
54
-17
1
95
54
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
31
-11
-41
-16
23
57
-11
-38
2
-6
0
0
0
0
0
0
0
9
-23
-36
-3
0
4
-30
-17
35
0
0
0
0
0
0
14
13
10
-36
-1
7
0
-41
-2
-46
0
0
0
0
0
0
-5
0
0
11
15
-9
0
14
41
-1
0
0
0
0
0
0
2
18
0
36
-40
-24
20
55
-23
0
0
0
9
0
0
0
-5
-1
0
-14
21
22
5
-33
50
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-39
1
17
18
-38
43
-5
14
12
-28
17
-11
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
35
55
49
-26
30
30
25
-18
52
-91
-28
-8
-6
0
0
33
1
-26
58
-44
-17
21
4
40
-52
30
-9
15
-11
0
0
7
4
-42
38
-37
-33
-14
-15
-14
-18
2
-9
-53
-9
0
0
-22
2
21
17
-33
-18
-54
11
-34
14
-8
26
14
12
0
0
-27
-43
0
-1
-19
7
16
-37
35
34
-8
21
-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
5
11
0
0
-48
23
-3
-56
19
-9
-27
8
-41
-15
7
-21
20
2
0
0
21
0
2
-19
0
-4
-15
-22
37
-38
-27
-10
56
-41
0
0
2
3
2
-10
-25
-29
18
19
33
26
30
-23
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-13
59
-14
-18
18
-6
-42
0
0
0
0
0
0
0
0
14
3
-3
0
0
26
-25
14
0
0
0
0
0
0
0
5
7
19
10
5
0
36
6
4
0
0
0
0
0
0
0
0
7
-16
0
0
0
4
-33
30
0
0
0
0
0
0
0
15
0
-47
5
19
0
34
27
17
0
0
0
0
0
0
14
0
0
50
-62
4
0
56
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
6
0
-27
-16
44
3
21
19
-24
1
21
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-27
-25
5
-14
2
-1
25
-25
72
46
24
15
-20
0
0
-34
8
-20
-16
3
-16
-3
-11
-68
-9
-17
-41
52
-48
0
0
-1
12
-41
16
32
13
-17
-56
-13
18
-17
3
1
-8
0
0
16
0
0
5
0
-6
-11
-32
-23
-3
2
0
12
-3
0
0
20
-13
-2
-10
-3
-55
17
37
8
0
7
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
27
1
51
9
-7
61
-51
-42
-3
1
-5
25
-15
-11
0
0
-50
-13
-23
-46
13
11
18
-7
-46
18
-49
-42
7
9
0
0
-45
0
0
-2
-12
0
19
-49
18
-1
40
-31
-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
0
0
0
0
0
0
0
-23
-3
-36
-24
9
11
-31
-6
16
-40
0
0
0
0
0
0
-4
0
4
-4
1
0
0
-15
-11
-12
0
0
0
0
0
0
4
0
-13
-27
-2
-19
0
-2
-6
-35
0
0
0
0
0
0
0
0
14
26
5
-11
1
-7
-6
-35
0
0
0
0
0
0
10
0
0
4
-25
65
25
34
41
-41
0
0
0
0
0
0
-11
0
0
27
-11
0
0
33
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
-24
11
14
-108
37
-42
-79
-2
-35
-43
-30
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
-13
30
19
4
-47
-5
19
-50
32
40
-34
-6
0
0
34
-3
10
22
-12
-38
10
31
-22
-37
-27
-3
-30
-10
0
0
-80
-19
-36
-1
52
35
-42
-29
35
17
1
-7
14
-23
0
0
-8
0
-11
8
23
7
-12
-74
-13
-19
-4
-26
14
61
0
0
4
5
7
-2
13
0
-6
9
7
-3
-31
-22
16
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
22
0
-18
43
-14
8
25
16
4
5
-1
-26
0
0
60
0
0
0
-6
-3
0
13
-28
-10
-15
45
12
-2
0
0
92
0
0
0
11
81
23
5
-22
-13
-5
-32
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
-18
-11
15
96
-9
24
-27
-18
-21
43
0
0
0
0
0
0
0
0
23
-14
0
0
0
-10
3
-12
0
0
0
0
0
0
12
0
6
-42
0
3
-7
-10
24
-19
0
0
0
0
0
0
0
0
0
27
3
0
0
-8
-16
-5
0
0
0
0
0
0
0
-27
0
20
-18
3
-3
64
6
44
0
0
0
0
0
0
-2
0
0
14
7
0
0
3
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
-1
0
-23
33
-10
67
32
-9
-7
23
-7
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
6
-41
-19
18
1
12
39
5
-65
11
-33
0
0
35
0
-33
-4
-17
-44
11
-78
-77
3
-9
-38
3
-1
0
0
46
0
0
0
-14
5
-6
-11
-8
33
12
19
-42
8
0
0
2
0
0
0
0
-24
10
10
-4
0
0
76
2
24
0
0
21
4
0
0
-6
24
-2
9
-7
14
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-12
-26
0
19
27
-3
-9
10
-13
0
0
0
0
25
0
0
0
-26
0
0
0
0
0
-2
0
8
0
0
0
-18
0
0
22
-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
-7
0
-32
0
0
-8
13
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
-2
3
0
0
1
0
0
0
32
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
50
0
0
3
8
0
-9
30
0
0
8
11
-2
0
0
17
64
0
0
-41
-31
10
-64
7
-14
0
-24
-8
31
0
0
0
-9
0
0
-4
-13
0
-12
9
4
0
0
-4
9
0
0
0
8
0
0
0
-2
0
4
0
0
0
-5
0
-18
0
0
0
34
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-6
18
31
-13
13
-34
6
26
1
0
0
0
0
77
0
-3
46
29
-38
-4
0
-8
24
-26
-1
0
0
0
0
19
0
-22
-23
6
-33
6
0
-2
-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
-66
22
2
25
-2
19
3
42
4
-2
0
0
0
0
0
0
0
0
-4
-5
-4
0
0
21
0
12
0
0
0
0
0
0
0
0
0
-21
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
22
0
0
0
32
0
-3
0
0
0
0
0
0
0
0
0
17
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
43
0
49
2
0
9
-10
22
-13
-18
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
-51
-7
47
-49
0
40
-54
26
2
-15
-24
-57
0
0
20
0
41
-20
-28
-6
2
37
44
8
0
-7
-77
29
0
0
10
0
-3
0
-4
-15
28
60
-25
-2
-11
2
10
-4
0
0
0
0
-1
0
0
-23
0
-35
0
0
0
1
0
1
0
0
-14
0
16
0
-6
0
-5
-1
66
0
0
47
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
-54
-9
-5
-30
0
-15
-74
0
0
-1
0
0
29
8
6
0
-3
-2
0
-2
0
1
15
0
0
11
0
0
41
-10
-4
0
23
-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
21
0
2
-1
21
-30
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-22
0
8
0
10
11
0
-5
9
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-1
-25
25
31
0
43
19
6
0
6
-2
-34
0
0
-5
0
0
36
14
-40
5
21
37
-6
0
-7
-29
27
0
0
0
0
0
-5
0
2
0
3
-3
4
0
0
0
3
0
0
0
0
0
-28
0
2
0
20
0
0
0
-4
0
-3
0
0
-1
0
0
-36
-2
0
0
2
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-2
-46
-23
8
-16
5
-3
0
0
8
0
-4
-2
7
-23
-22
-78
-56
45
-6
2
0
-19
0
0
21
0
20
6
23
-75
-9
-13
29
-17
2
11
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
28
64
79
-45
-70
9
17
-14
3
-54
0
0
0
0
0
0
-13
-3
5
-19
2
1
-11
-29
0
-5
0
0
0
0
0
0
-3
0
-10
-13
-16
12
-13
-11
5
8
0
0
0
0
0
0
-2
0
0
-13
17
9
-14
12
-6
3
0
0
0
0
0
0
22
-10
0
-21
20
-21
-1
13
0
37
0
0
0
0
0
0
17
0
0
-9
14
-13
4
-27
-2
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
8
2
-9
-27
41
-14
-34
-38
-47
-40
-20
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
23
13
7
-24
0
-13
-34
7
1
-13
30
1
-3
0
0
-20
-61
-15
-4
-14
63
-2
-22
0
-4
-31
10
-43
-23
0
0
32
4
-13
7
4
-50
-18
-72
11
-56
-8
23
-12
-2
0
0
0
0
0
0
-14
18
-5
44
-27
6
0
-9
0
-24
0
0
-77
18
13
18
5
-40
-5
19
-29
38
-5
-43
-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
0
0
0
0
0
30
15
12
-22
-86
-12
-40
-15
-10
0
0
-33
-24
-13
67
12
33
22
22
13
-8
-31
-58
28
-10
0
0
-53
7
-4
-1
10
36
28
10
26
81
-15
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
-20
-4
16
-36
-18
2
-1
-18
-14
-11
0
0
0
0
0
0
0
15
-21
-8
37
-3
0
-2
-10
-3
0
0
0
0
0
0
13
1
-45
67
-4
-42
-5
67
-11
13
0
0
0
0
0
0
-8
2
15
15
0
2
-4
8
-19
0
0
0
-9
0
0
0
0
30
0
16
-46
-25
-4
7
5
-53
0
0
0
0
0
0
36
-5
0
-15
8
32
16
-32
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
4
-19
-10
40
19
9
-20
-80
-10
57
35
13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-39
-31
-15
16
3
0
-55
-10
13
-19
-37
-4
5
0
0
-5
-40
9
-23
35
1
15
-8
-6
-57
40
-47
-13
19
0
0
-12
-4
11
12
5
11
-27
-13
-4
33
15
2
-15
-17
0
0
-6
-13
-2
0
-12
33
-22
5
-20
-15
-15
89
-16
-36
0
0
-6
0
10
0
-24
-4
2
15
-15
20
-12
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
-17
83
43
23
28
19
-2
10
0
0
0
0
0
0
10
16
-73
45
-4
12
10
15
0
46
0
0
-6
0
0
0
-15
0
53
0
0
0
0
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
22
-8
0
0
0
4
1
-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
0
0
0
-2
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
6
0
6
-8
0
0
-4
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
-4
0
8
0
-10
-6
-8
-1
-26
12
68
33
49
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
23
10
63
12
6
6
-43
-5
-2
-4
22
1
0
0
36
-1
1
-8
-49
-51
8
0
4
-18
2
7
12
18
0
0
-2
0
0
0
14
15
0
-4
49
34
13
0
6
18
0
0
0
0
0
0
-4
-6
0
-27
-1
0
0
35
0
65
0
0
10
0
0
0
-6
15
4
36
9
-3
-3
61
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
78
20
43
-16
52
9
7
0
0
15
1
19
11
-2
-32
0
52
48
73
-6
52
51
16
0
0
-26
2
-16
-12
15
32
26
20
22
17
8
-29
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
6
57
62
5
32
-67
33
-51
12
16
0
0
0
0
0
0
0
-2
-7
-30
0
0
3
-28
-5
20
0
0
0
0
0
0
5
-10
-21
-25
9
-24
17
24
62
-4
0
0
0
0
0
0
-1
2
0
32
0
-2
0
-29
-14
41
0
0
0
0
0
0
0
48
0
40
27
-10
-9
27
8
-7
0
0
0
0
0
0
6
0
0
16
4
0
0
8
4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
7
-45
-7
-15
-11
13
22
8
-13
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
27
-2
-1
-16
-28
4
-1
16
-20
-34
-8
22
-31
0
0
-1
-25
-19
-16
1
-5
-36
-6
87
-26
-30
-22
-61
-20
0
0
-51
1
10
-6
39
28
13
24
19
3
-42
34
32
5
0
0
-4
0
-8
34
20
-16
3
65
14
-1
0
12
-26
16
0
0
-47
0
31
9
44
-2
2
53
13
22
-33
-24
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
-4
-4
56
-28
14
-20
0
0
33
0
-4
5
-15
-9
31
4
4
-9
-37
100
4
12
0
0
-11
0
0
0
-61
2
26
43
15
-1
-3
24
-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
36
-9
5
21
-5
-24
5
31
-10
-31
0
0
0
0
0
0
0
0
4
2
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
-23
0
15
-18
-3
0
-3
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
16
0
0
-1
13
0
-5
0
0
0
0
0
0
-15
0
0
43
0
0
0
0
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-3
0
-27
28
2
38
21
24
39
76
30
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
-17
3
-16
-10
6
-24
43
-23
-18
16
15
-33
0
0
26
26
24
-16
26
-31
-18
51
-45
-29
-3
-48
28
-41
0
0
16
0
-5
0
36
-7
1
-16
-46
-5
-9
-17
51
11
0
0
-4
0
0
0
7
-43
-2
-38
-12
0
-2
65
0
-33
0
0
-15
0
21
0
-23
-21
-1
-4
-14
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
-44
0
0
0
0
0
0
-15
-39
-10
-18
-1
0
11
-22
1
-43
0
0
0
0
0
0
-14
-4
4
-15
0
0
0
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
-20
52
31
18
-2
33
-3
5
50
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
40
0
0
0
30
0
18
0
0
0
0
0
0
-6
0
0
52
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-8
0
-28
-52
0
22
-2
-13
3
-22
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-1
5
-14
52
7
-1
21
-22
3
0
10
1
31
0
0
-9
34
2
-1
22
-9
-3
20
-39
-1
0
16
-2
-41
0
0
-24
0
0
0
9
-20
0
20
31
26
-13
0
-1
-38
0
0
0
0
1
0
0
-3
0
65
-5
0
0
-1
0
-22
0
0
-3
0
0
0
31
0
0
-30
-35
0
0
20
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
110
-30
-25
-4
0
0
-54
0
17
-9
15
-15
-20
-24
-7
38
145
-5
-7
-12
0
0
-10
0
3
0
9
-21
11
11
-21
-34
41
-61
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-26
0
-61
13
-22
13
31
-29
29
0
0
0
0
0
0
0
0
-7
36
-1
-16
0
-10
-3
-2
0
0
0
0
0
0
0
0
-4
-1
0
-2
-2
12
-3
-10
0
0
0
0
0
0
-13
0
0
-14
0
0
0
-2
0
-17
0
0
0
0
0
0
0
-13
0
-37
1
9
9
-7
15
8
0
0
0
0
0
0
0
0
0
-15
-18
0
-18
6
-30
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
1
-19
-2
-89
69
35
11
-25
6
25
46
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
11
17
-9
-4
-19
7
-8
16
50
42
-19
-37
0
0
1
1
-2
-28
33
-44
-37
-10
-18
-16
36
17
10
-14
0
0
-14
0
-7
0
-73
2
-9
-36
48
-16
-2
-15
-25
-27
0
0
-21
0
0
0
4
6
-24
23
25
16
18
22
4
42
0
0
61
0
3
2
47
-4
40
8
-11
5
-65
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
33
0
0
0
-34
-60
-6
-36
8
-12
22
6
-35
36
0
0
101
0
0
0
-54
-37
25
-22
-32
2
40
-1
-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
6
-25
36
18
-7
-21
37
-3
-5
-34
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
2
-32
0
8
0
14
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
15
0
19
0
0
0
41
-1
-5
0
0
0
0
0
0
27
0
0
28
0
0
0
28
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
10
0
-36
42
0
0
60
9
12
40
43
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
6
24
-53
11
-3
-7
-7
-68
6
28
0
-20
-8
0
0
10
-7
1
11
35
-2
45
-34
-9
-10
3
3
4
-9
0
0
-23
0
-3
0
-3
-11
-2
56
46
-8
-7
12
33
74
0
0
-9
0
0
0
-22
28
0
6
-26
0
2
34
0
8
0
0
26
0
0
0
-13
25
7
5
13
9
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-96
-8
12
-80
0
-42
11
-35
11
19
-20
22
34
-40
0
0
4
-27
-63
-33
-31
-27
-20
32
-16
-18
1
-28
-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
-16
17
42
-21
-37
16
-2
52
22
-32
0
0
0
0
0
0
0
14
23
3
21
-4
0
32
6
13
0
0
0
0
0
0
0
16
32
-26
-25
-7
31
-21
28
-27
0
0
0
0
0
0
0
0
0
-43
-2
1
0
13
-7
-19
0
0
0
0
0
0
0
12
0
2
33
-6
0
16
-5
-15
0
0
0
0
0
0
4
-4
0
-1
15
9
3
-26
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-15
10
7
10
-23
-1
44
-9
-16
32
-41
-6
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-5
40
-6
32
-21
5
14
31
-79
16
57
-31
-20
0
0
12
-16
-19
8
-14
-5
18
58
45
11
-3
35
-8
-40
0
0
31
2
14
4
30
-17
-3
-30
30
-7
-25
5
21
-55
0
0
-9
0
2
-52
0
27
37
-34
-41
6
-26
-41
14
-33
0
0
-11
-10
-45
-27
0
-24
13
-9
-14
-13
22
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-54
1
56
13
-40
-26
-19
-35
-27
-24
-16
-39
22
-5
0
0
-56
0
11
-46
-16
0
-4
24
-14
-7
-17
35
6
-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
51
-1
-12
23
-17
-39
1
-11
-4
24
0
0
0
0
0
0
0
0
8
-21
-1
4
0
-25
5
-40
0
0
0
0
0
0
2
0
-10
27
-1
-13
14
26
-32
-23
0
0
0
0
0
0
-1
0
0
-12
0
18
0
-12
-41
0
0
0
0
0
0
0
6
7
0
-46
5
17
-16
-8
-28
0
0
0
0
0
0
0
-17
0
0
14
-7
0
0
9
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
7
-34
-22
15
10
-46
22
21
-18
-54
2
-19
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
40
12
-13
-3
6
-6
63
-6
22
-2
11
18
20
0
0
-23
36
16
-9
27
27
-27
-47
-14
-38
4
20
21
13
0
0
-6
19
-24
-17
-26
13
41
-10
66
-49
11
-11
-107
1
0
0
-40
0
22
13
10
-36
17
-51
-45
-17
30
-1
24
-12
0
0
22
3
-10
-2
15
0
-10
-23
-34
-9
-1
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-11
0
-4
0
9
-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
-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
-8
0
0
0
0
0
0
0
0
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
15
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
-34
0
22
-38
-10
0
-19
-14
-27
0
0
17
0
0
0
-6
9
-5
70
-10
0
0
-53
-11
16
0
0
19
0
0
0
0
0
0
-5
36
0
0
39
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
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
-11
2
0
41
0
1
-2
0
0
0
-7
-43
0
0
0
0
-7
0
0
-7
0
0
0
0
0
17
0
-1
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
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
16
1
-19
0
-12
-6
1
0
0
-9
-41
0
0
-2
0
0
-33
0
18
0
19
24
0
0
5
0
-34
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
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
84
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
-36
-9
-4
0
3
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
-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
-11
0
0
-12
0
0
0
0
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
0
0
-8
-5
5
-1
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
7
1
-9
-17
-46
0
-12
0
9
0
-27
0
-2
0
0
19
0
0
0
-10
-57
-10
-8
-30
1
0
7
0
-18
0
0
0
0
0
0
9
-14
0
12
-29
0
-3
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
15
0
0
-3
-39
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
1
-14
4
-20
-31
0
41
0
0
-9
0
0
0
4
42
0
-47
8
2
-15
-1
-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
-40
-7
-40
-13
47
3
21
-36
-28
0
0
0
0
0
0
0
-1
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
2
14
-17
0
-6
-2
-18
0
19
0
0
0
0
0
0
0
0
2
-1
1
-1
0
-3
0
0
0
0
0
0
0
0
0
7
0
5
16
0
0
-20
0
9
0
0
0
0
0
0
0
0
0
7
2
0
0
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
2
0
-11
21
-12
-14
-38
-64
-9
-43
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-6
-20
13
-4
1
14
-20
-12
2
1
-9
-23
-20
0
0
33
-11
-2
-8
27
12
-1
8
-44
-19
3
-23
-40
26
0
0
54
0
0
7
-4
18
-5
-35
1
-12
-53
-14
5
-35
0
0
0
0
0
0
0
-34
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
-40
-5
-12
80
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
12
0
-22
0
0
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
5
0
0
0
-4
6
25
0
8
0
2
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-45
27
-9
7
1
-10
0
7
-14
-38
0
0
-1
0
0
0
6
31
11
6
19
16
0
29
3
-36
0
0
-1
0
0
0
-4
32
0
15
9
0
0
3
0
25
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
-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
39
2
0
-30
4
0
-12
0
0
-3
0
0
0
-20
-5
-11
-8
15
0
0
-44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
11
1
44
11
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
14
-15
0
0
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
0
0
-9
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
-16
0
6
0
-5
15
0
9
5
5
-9
3
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
1
-7
-40
13
0
25
12
15
18
-23
46
5
0
0
3
-1
1
-34
-12
-41
9
5
-36
-44
0
-2
34
-8
0
0
4
0
-2
0
-18
3
0
-6
37
-7
-5
36
-11
20
0
0
0
0
0
0
0
5
0
25
0
0
0
0
0
3
0
0
-2
0
0
0
-4
17
0
-8
-23
0
19
-36
-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
-21
0
0
0
0
0
0
-3
-41
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
-2
12
0
0
0
-19
-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
-16
0
0
1
0
0
4
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
-15
0
-20
41
0
13
-1
-9
0
-14
-17
-11
0
0
-4
0
0
7
-36
3
8
-27
15
0
0
10
-9
8
0
0
2
0
0
0
0
-19
0
41
-21
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
59
0
0
5
0
0
0
3
-51
0
0
-10
0
0
0
-18
-11
23
0
-8
0
0
31
0
-28
0
0
0
0
0
0
0
9
0
-2
-1
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
-68
-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
-11
0
0
0
-31
11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
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
4
0
-67
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
0
0
-77
-36
0
-26
-13
31
9
3
36
-44
0
0
14
0
0
0
1
-58
11
8
-19
-5
-3
23
0
-34
0
0
0
0
0
0
0
25
0
-10
-6
4
20
14
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
19
-2
4
-14
-25
0
0
-17
-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
24
-7
-46
1
1
0
20
-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
-14
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
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
5
0
0
0
17
3
0
-3
34
2
-11
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
6
-2
-6
18
0
73
-43
28
-3
-1
-57
9
0
0
19
0
-8
1
4
-77
-8
40
25
13
13
59
-10
-4
0
0
20
0
0
0
-17
-51
0
16
-5
5
68
-22
-19
-2
0
0
0
0
0
0
0
-1
0
9
0
0
0
-15
0
1
0
0
2
0
0
0
-8
-5
0
57
-35
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
34
-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
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
-6
0
0
0
0
23
0
0
-5
0
0
-11
-11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
-52
0
-5
-12
-1
0
1
-15
-22
0
0
-25
0
0
-4
0
-2
1
3
-30
0
0
31
11
73
0
0
13
0
0
0
0
0
0
-20
-10
1
-5
23
-1
-17
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
3
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-6
0
0
-4
19
11
1
5
-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
-1
0
38
-27
11
4
-50
68
-54
-31
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
16
0
14
2
-30
14
-19
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
0
0
0
0
2
0
14
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
1
0
2
-8
-12
-3
0
36
-33
4
23
-56
9
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
4
-13
30
39
-21
-3
48
10
-15
-30
20
-30
5
0
0
-3
4
-17
-16
-9
-3
24
26
-20
-17
-55
4
22
-3
0
0
4
0
-11
16
-29
26
-13
-2
40
-17
-52
56
5
28
0
0
2
0
0
0
0
0
0
6
0
0
0
2
0
-8
0
0
18
0
-4
5
25
0
0
27
46
31
-27
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
22
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
5
0
0
3
-12
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-20
-22
0
-4
-54
-4
0
14
25
0
0
0
-11
0
0
0
-14
48
-19
49
-23
0
0
-59
-28
-21
0
0
51
0
0
0
19
0
0
-14
-43
0
0
1
0
22
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-9
-56
0
0
5
0
0
0
8
0
0
0
0
0
15
0
3
-9
0
-3
5
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
87
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
2
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-14
-17
9
8
8
-19
27
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
8
0
0
0
0
0
0
0
0
3
18
0
0
0
-27
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
7
0
0
0
40
0
10
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
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
9
7
0
-34
31
1
-9
18
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
-12
-19
-43
0
-15
14
-30
23
-17
21
-42
0
0
-2
-4
1
3
24
23
-25
-17
-36
16
-9
-31
29
-57
0
0
3
0
0
0
31
-11
0
-45
-55
21
36
7
2
10
0
0
0
0
0
0
63
0
0
22
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
-5
0
11
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
95
0
2
-17
0
6
-56
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-3
-1
-50
5
0
-76
-56
-36
-5
1
-13
0
0
0
8
-2
0
1
22
-35
-28
-17
-32
-10
-2
-77
-41
0
0
0
28
0
-6
0
-1
16
0
-67
7
0
9
8
-4
0
0
0
0
0
0
0
0
18
0
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
2
0
0
-11
0
0
-1
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-46
19
0
-5
-6
1
0
15
45
-30
0
0
-2
0
0
0
-9
21
16
-11
-18
0
0
1
27
11
0
0
2
0
0
0
9
0
0
7
-2
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-14
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
11
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
12
11
0
-20
-1
0
0
2
48
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
3
-19
-21
0
58
-18
-1
1
23
-56
-39
0
0
-24
0
0
-10
-17
-38
16
-11
10
-15
2
26
1
5
0
0
0
0
2
0
20
-8
0
79
54
-4
4
3
12
-13
0
0
0
0
0
0
0
0
0
37
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
-34
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
-9
-10
0
27
1
-9
0
13
28
-6
0
0
-2
0
0
1
57
33
-2
-16
-1
0
0
-25
-2
-6
0
0
0
0
0
0
11
0
0
-39
-7
0
-1
-4
-17
-12
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-11
12
0
0
7
0
0
0
5
0
0
0
-1
0
0
0
13
2
-1
33
0
0
0
-14
0
35
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-1
0
0
-7
81
0
14
-3
1
0
-11
9
0
0
0
3
0
0
0
-5
28
0
5
-15
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-21
-28
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
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
-3
22
0
-1
0
35
-26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
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
20
0
0
1
-1
-2
-6
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-3
0
18
-13
0
-4
-27
-2
0
-29
1
-20
0
0
-26
0
-1
0
2
3
18
-33
17
14
0
49
-4
20
0
0
-8
0
0
0
28
-1
0
40
13
0
0
16
5
-5
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-23
0
2
2
-42
-24
-11
0
0
0
0
0
0
0
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
-23
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
-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
27
0
0
0
0
15
0
0
-1
0
53
1
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-26
1
-15
53
-42
0
1
13
-20
29
25
-12
4
0
0
-32
-1
0
3
2
43
4
-39
-25
-27
3
-64
28
-21
0
0
-13
0
-12
0
5
-8
3
-25
-1
19
10
21
7
5
0
0
0
0
0
0
0
0
0
-29
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-6
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
-5
14
0
0
-21
0
0
0
-17
0
0
-5
-5
0
0
12
-12
-2
0
0
0
0
0
0
4
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
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
0
0
0
0
-4
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-34
-29
0
-3
1
21
0
-5
11
-16
0
0
-21
0
0
0
24
14
-9
-30
32
0
0
-23
2
-9
0
0
12
0
0
0
-46
23
0
10
0
0
-26
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-6
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
2
-6
-21
-40
0
9
-26
0
0
7
-14
0
0
0
6
0
0
11
0
7
11
8
-4
1
0
41
-15
4
0
0
3
0
0
0
5
-11
0
5
17
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
-2
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
-1
2
23
-3
26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-13
0
47
11
0
5
-12
-17
0
2
60
18
0
0
3
0
4
5
33
-26
0
-40
26
0
0
23
24
22
0
0
-17
0
0
0
5
-24
0
-12
48
0
5
7
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
5
0
0
-9
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
18
0
0
0
0
0
0
0
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
-3
0
-1
0
0
0
0
0
0
-7
0
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
-45
7
20
-3
-88
-20
0
7
4
-7
-3
-47
-46
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-37
27
-10
28
4
-11
-59
59
10
-4
-3
-23
0
0
0
13
-16
9
4
-4
11
12
-10
-19
32
21
-23
23
39
0
0
28
3
36
9
-26
1
27
61
36
-2
14
-3
-21
-7
0
0
17
0
0
8
-11
-5
0
-49
-6
0
0
32
0
8
0
0
10
0
6
0
-11
-46
0
-17
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
0
15
-23
0
0
7
0
0
17
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-5
0
94
35
0
-2
9
0
0
-14
-20
-4
0
0
-19
0
0
1
17
11
-9
8
3
0
0
23
3
-7
0
0
1
0
0
0
38
-14
0
-4
4
0
2
0
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
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
1
0
0
0
0
0
0
0
0
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
4
0
0
0
12
-5
0
0
16
0
0
20
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
0
18
15
0
4
45
0
0
-4
-34
-12
0
0
-5
-8
0
-5
18
17
12
2
-9
0
0
-47
6
-14
0
0
19
0
0
0
1
-11
-1
29
6
0
-3
0
-1
-4
0
0
2
0
0
0
0
11
0
5
0
0
0
12
0
0
0
0
-14
0
0
0
-8
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
27
0
17
-8
0
-2
5
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-4
-29
16
0
1
-10
0
0
13
40
-37
0
0
-4
4
0
-13
13
27
-7
-8
-2
0
0
11
-9
-18
0
0
0
0
0
0
-2
17
0
7
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
0
0
0
4
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
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
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
38
0
-12
0
0
0
76
0
0
0
0
0
0
0
0
17
0
0
-36
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
13
-4
-8
62
0
13
-28
17
-14
3
-10
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-6
-3
17
-5
-47
-3
26
27
0
2
-1
-35
60
0
0
20
19
9
32
-21
-33
-3
6
-7
-52
-3
-15
-5
-16
0
0
7
-5
-2
4
5
9
0
8
-38
24
-61
-14
-3
16
0
0
24
0
0
0
-9
4
0
7
-22
0
0
-43
0
21
0
0
3
6
6
0
-12
11
0
-16
75
-7
0
-38
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-17
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
4
0
-11
-16
0
-25
-2
0
6
-6
-8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-15
-25
0
-22
-3
0
-11
12
7
28
-11
22
26
0
0
-30
3
-12
-1
5
-20
23
-10
20
0
0
-46
-18
11
0
0
-5
0
0
0
-13
-3
0
15
-16
-7
8
0
-49
32
0
0
0
0
0
10
0
0
0
0
0
0
0
-3
0
-5
0
0
16
0
0
0
0
0
0
3
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
14
0
0
0
-32
0
-7
0
0
0
0
0
0
0
0
0
-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
-28
0
-4
0
9
6
0
2
-48
-3
13
-22
-24
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
6
3
7
54
6
-9
46
28
15
17
10
-17
-41
0
0
7
2
10
-36
-31
-21
5
-33
65
-10
38
-23
-40
4
0
0
-9
1
41
0
33
16
-18
-46
0
-18
3
-3
43
2
0
0
3
0
0
0
0
-15
0
-5
0
0
0
-3
0
25
0
0
-7
-2
-3
0
3
0
0
-6
41
6
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
7
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-21
-41
0
-16
-9
0
0
0
0
-9
0
0
2
0
0
0
-4
9
0
4
0
0
0
1
0
-13
0
0
2
0
0
0
1
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-3
0
9
22
0
3
0
0
0
0
13
16
0
0
1
0
0
-4
1
-10
10
-1
0
0
0
-1
0
24
0
0
7
0
0
0
-4
5
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
12
0
0
-8
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
11
0
-6
-4
-30
3
0
-1
12
0
0
0
-14
-25
0
0
27
0
-12
0
-35
19
0
-1
-13
0
0
-8
7
-4
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
21
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
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
4
0
3
-32
0
0
-1
0
0
0
-15
5
0
0
-10
0
0
1
-9
0
-1
0
0
0
0
-3
0
5
0
0
-5
0
0
0
19
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-25
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
23
0
0
0
-38
-35
0
-12
1
0
0
14
-8
1
0
0
2
0
0
0
-32
-21
0
-7
-4
0
0
1
1
-2
0
0
0
0
0
0
-5
2
0
1
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-28
0
0
5
0
0
-26
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
11
10
14
0
6
42
-1
0
-24
-37
5
0
0
-13
0
0
0
-3
-32
0
-17
-2
0
0
-3
12
-21
0
0
9
0
0
0
-12
-18
0
-5
-6
0
0
5
-1
-1
0
0
0
0
0
0
0
13
0
-2
0
0
0
0
0
-27
0
0
4
0
0
0
-31
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
17
0
0
0
0
0
-21
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-14
6
0
0
0
0
0
-10
-6
18
0
0
0
0
0
0
-4
2
0
0
1
0
0
-17
0
0
0
0
0
0
0
0
14
0
0
0
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
1
3
-22
0
-4
38
0
0
6
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
1
0
-57
-37
0
18
35
0
0
0
5
33
0
0
-3
0
0
0
22
22
-3
12
6
0
0
31
10
-29
0
0
-4
0
0
0
-41
-2
0
-11
26
0
0
0
-2
-32
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
1
0
0
7
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
23
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
36
0
0
0
5
-17
0
0
-1
0
0
-4
-9
-1
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
-5
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
18
0
0
0
-34
-32
0
0
-1
0
0
-3
15
-9
0
0
0
0
0
0
-14
0
0
1
0
3
0
47
0
-26
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
1
-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
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
8
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
0
0
0
0
0
0
0
0
0
-2
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
-53
0
0
0
-15
30
0
2
0
1
0
0
1
13
0
0
4
0
0
0
28
13
0
-28
3
0
0
1
3
23
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
-3
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
-13
0
0
0
7
-2
0
6
0
0
0
0
-6
0
0
0
4
0
0
0
-6
-27
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
13
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-24
-24
0
0
0
0
0
0
12
3
0
0
10
0
6
0
-31
-22
-2
13
-4
0
0
8
-1
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
6
0
0
0
9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-16
3
0
0
21
0
0
0
-19
15
0
0
3
0
0
0
0
27
0
0
0
0
0
1
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-31
20
0
6
9
0
0
4
-11
-16
0
0
-2
0
0
0
-16
2
-1
-2
0
0
0
-17
0
6
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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
3
0
-17
-10
0
-25
-2
0
0
-17
-6
0
0
0
-3
0
0
0
-4
-9
0
12
-6
0
0
-6
0
0
0
0
0
0
0
0
0
-44
0
6
-21
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
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
17
0
11
0
0
-1
-34
-12
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
21
-11
21
-40
0
-33
36
20
0
18
6
35
0
0
-5
0
-5
1
-8
-20
10
21
48
-5
0
39
30
61
0
0
13
0
-1
0
54
69
0
47
-30
-9
6
0
-10
-16
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
4
0
0
0
-28
0
0
13
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
-5
16
0
-10
-20
0
0
0
-2
30
0
0
4
0
0
0
-12
3
-1
-5
0
0
0
0
0
-2
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-9
0
-16
-12
0
0
0
0
11
0
0
19
0
-1
0
35
33
7
0
0
0
0
4
0
-6
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
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
7
28
0
0
9
0
0
0
0
-6
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
-4
0
-3
-29
0
-7
-18
0
11
32
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-6
-13
11
51
0
-8
15
-13
0
-2
49
27
0
0
-29
0
0
26
17
41
46
-32
21
-1
0
6
-41
49
0
0
16
0
0
0
8
-22
0
-38
14
9
0
7
9
-73
0
0
0
0
0
0
0
7
0
0
0
0
0
47
0
0
0
0
-13
0
0
0
4
0
0
0
-26
-4
0
73
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
-45
0
0
3
0
0
0
70
5
0
0
2
0
0
0
0
1
0
4
-5
0
0
0
3
22
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
-20
-45
0
5
43
7
0
-10
-53
3
0
0
28
0
0
2
1
12
1
9
18
0
0
30
0
-4
0
0
-2
0
0
0
0
0
0
43
-32
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-36
19
0
6
41
0
0
-1
24
2
0
0
0
0
0
0
-17
-4
1
20
2
0
0
3
4
-36
0
0
0
0
0
0
-48
0
0
-8
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-11
0
0
7
5
10
-29
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-3
65
21
-39
-5
2
55
12
37
-1
20
-16
41
0
0
-13
2
11
4
19
38
8
32
91
-2
0
-45
-16
-41
0
0
5
8
6
-6
3
-12
4
28
-12
-3
-34
-8
28
-28
0
0
0
0
0
0
3
-9
0
-10
0
0
0
9
0
-1
0
0
0
0
0
0
8
0
0
-2
-9
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
-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
11
-31
0
0
-10
6
0
0
-46
-17
0
0
9
0
0
0
27
-12
0
-7
3
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
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
12
0
0
0
19
11
0
0
1
0
0
26
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
24
27
0
9
-20
0
-7
-1
-14
45
0
0
-8
0
0
0
22
-49
33
12
11
-4
0
-8
-21
-13
0
0
3
0
0
0
5
0
0
33
-8
0
0
0
-1
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
36
0
1
2
0
0
3
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-14
0
26
-5
0
14
43
1
0
0
8
-25
0
0
1
0
-4
0
-20
-30
1
-12
5
0
-1
-54
-36
-19
0
0
0
0
0
0
0
1
0
13
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
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
-3
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
4
0
37
0
0
0
-7
-2
0
0
11
7
0
0
-6
0
0
0
-15
0
2
7
0
0
0
0
-22
26
0
0
0
0
0
0
-2
0
0
16
0
0
0
0
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-11
4
-5
11
1
20
-30
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
10
40
15
29
-7
-3
-5
15
-3
-4
61
-1
32
0
0
17
-1
2
-4
14
-101
-10
28
8
8
-6
-11
67
14
0
0
11
0
0
0
-9
-3
-18
18
11
3
10
17
24
-7
0
0
3
0
0
0
0
15
0
-9
2
0
0
22
0
1
0
0
61
0
0
0
1
0
0
-2
11
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
4
8
0
10
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
28
-5
31
33
0
-21
8
5
0
6
27
15
0
0
33
0
3
-7
-19
-10
22
-1
-9
0
0
29
-8
-19
0
0
-1
0
-14
0
5
1
0
37
3
0
0
0
10
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-15
25
-22
0
-4
0
0
0
0
15
-75
0
0
2
0
0
-5
16
11
-5
1
1
-2
0
-26
0
1
0
0
0
0
0
51
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
9
-1
-24
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-1
-3
-14
-41
-42
0
-7
14
-23
1
-15
29
45
0
0
-31
0
0
13
-45
-41
4
8
0
19
-3
18
22
-50
0
0
11
0
0
0
43
16
-1
-12
63
-7
-7
-1
-13
-29
0
0
0
0
0
0
-16
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
-30
0
0
-36
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
2
5
-14
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
9
12
-28
-10
2
7
29
-59
-12
-2
-4
12
0
0
-11
19
13
-21
7
-3
-36
23
4
28
2
33
17
-20
0
0
9
0
-1
0
9
10
32
-15
-8
-19
9
-6
-44
-30
0
0
0
0
3
0
0
33
-2
-19
-2
0
0
17
0
6
0
0
0
0
0
0
0
9
0
-1
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
-50
-13
0
-4
-1
0
0
4
16
-9
0
0
-43
0
0
1
-27
10
0
-4
0
-1
0
-31
1
7
0
0
0
0
0
0
18
20
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
-7
7
-21
22
0
2
9
-2
0
8
-38
-20
0
0
12
0
0
5
-8
-53
-4
-16
-2
-8
0
56
23
47
0
0
0
0
-2
0
40
18
0
27
1
0
24
-14
13
-18
0
0
0
0
0
0
0
5
0
19
0
0
0
4
0
7
0
0
0
0
0
0
-1
0
0
54
-23
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
26
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
13
25
1
9
31
3
31
55
-8
0
-2
-10
-20
0
0
7
-31
20
4
11
-5
13
9
46
2
-1
-27
21
-18
0
0
-4
0
-4
0
-7
13
-3
1
-7
0
16
34
-19
23
0
0
0
0
0
0
0
15
0
-5
0
0
0
30
0
-6
0
0
-13
0
0
0
15
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
9
-1
20
33
33
0
-1
5
0
0
-16
4
10
0
0
2
0
0
0
-44
-4
-32
-20
-2
8
-10
-27
44
-39
0
0
-19
0
0
0
10
-19
0
-22
-4
0
0
10
13
-23
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
1
2
-63
-4
0
54
23
-1
6
36
-56
-34
0
0
-22
-5
0
0
25
75
3
26
-18
0
14
56
-1
-18
0
0
-14
0
0
0
5
12
3
-39
-17
-1
-87
-4
10
-5
0
0
0
0
0
0
0
-5
0
7
0
0
-41
11
0
-8
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-5
21
29
6
-1
14
14
8
16
-14
23
-2
0
0
-8
-13
0
1
21
-23
1
7
-22
-13
-3
-21
14
5
0
0
3
0
2
0
-25
0
-20
5
11
24
21
-3
18
-16
0
0
0
0
0
0
-3
-15
-2
-9
11
0
0
58
0
-1
0
0
12
0
0
0
18
0
0
-3
-11
0
0
-24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
6
9
-33
5
-40
-15
51
18
0
3
13
-2
-2
0
0
-32
2
-15
9
-17
-26
-5
-36
-7
31
-7
-11
-20
-35
0
0
-27
2
6
1
-21
-2
-7
-13
10
-2
7
33
15
17
0
0
0
0
0
0
0
-6
0
-4
0
0
0
4
6
-18
0
0
5
0
0
0
-1
1
-7
24
1
2
0
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
-6
24
-5
-29
19
-21
-20
-28
-9
-11
6
13
-33
0
0
1
-20
20
19
-10
-31
15
20
-14
-14
-15
33
-23
-58
0
0
12
0
27
-1
-2
0
4
11
19
-18
-14
15
-59
-36
0
0
0
0
0
0
0
0
-5
30
9
0
0
55
-1
-49
0
0
3
0
0
0
2
0
1
6
-13
0
0
-37
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
20
18
-17
35
-54
40
-14
-32
14
24
0
0
-15
-1
3
7
-55
-20
-16
-6
23
-5
-34
-41
-31
22
0
0
12
0
16
-1
47
-48
6
-29
35
-2
9
-61
9
-66
0
0
22
0
-2
-13
28
10
9
-17
-25
-1
13
6
56
-51
0
0
108
0
-13
-4
10
-19
-3
0
-3
-8
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-16
-1
0
20
24
10
0
-3
7
0
-6
-2
4
0
0
2
14
0
0
17
11
0
-1
4
0
6
0
-5
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-9
0
-70
-35
-16
0
5
-6
-18
0
0
-38
0
36
0
-11
-30
32
-14
-34
9
0
36
-31
15
0
0
49
0
44
0
3
-5
4
4
3
0
-1
6
10
-51
0
0
0
0
3
0
0
6
0
8
-1
0
0
-29
0
7
0
0
0
0
22
0
0
0
0
2
6
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
10
-2
-15
0
-13
-40
5
0
2
18
6
0
0
9
-7
2
2
-95
-7
-6
-66
24
0
0
-19
-5
-34
0
0
0
0
-6
-33
-15
-23
0
-14
-34
6
0
-16
17
-3
0
0
0
0
0
-2
0
4
0
10
0
0
0
0
0
15
0
0
0
0
0
3
-5
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
5
-18
8
4
0
10
6
0
0
-42
5
-46
-1
-4
7
-31
0
12
-51
14
24
16
45
0
0
18
0
10
-2
-19
-22
-57
37
-25
43
36
32
-34
-36
0
0
4
0
0
0
0
11
-7
12
-56
-2
2
-38
0
12
0
0
15
0
7
7
21
3
22
10
-3
-44
-33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-16
-3
-45
-19
15
60
0
0
-18
-32
27
-16
19
-27
-25
45
27
-31
0
-11
31
1
0
0
-4
10
36
-23
63
-38
50
12
41
11
-33
-2
-28
19
0
0
-8
0
-37
9
3
-9
-52
12
59
18
-6
14
-31
51
0
0
32
0
16
0
-25
-21
14
42
-19
16
-23
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
4
0
0
-24
0
-2
-1
-18
3
19
-14
-3
0
0
-17
-1
14
0
0
5
0
0
0
11
-3
0
-6
-6
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-2
-44
24
-56
0
0
-23
3
19
13
-71
-17
-6
40
18
3
-4
54
-47
39
0
0
-52
0
-23
-23
-29
-5
-21
-31
3
-14
-29
-11
-33
3
0
0
-21
0
0
2
0
5
4
35
0
0
0
6
0
-49
0
0
2
0
0
0
-23
-2
0
27
-40
-7
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
10
-4
-6
14
-20
29
0
0
9
-5
-36
-39
59
10
-33
-25
14
20
-29
39
-15
65
0
0
42
9
-23
-14
12
21
-15
43
-17
-10
-13
22
-10
25
0
0
2
0
0
7
4
-6
3
42
10
1
0
-33
0
3
0
0
-34
0
-22
11
38
-19
-4
53
18
-24
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
-23
0
-5
6
-5
-43
-22
-9
4
-4
0
-19
-1
-29
0
0
20
0
5
0
28
-73
1
-15
25
0
10
-17
-33
-36
0
0
0
0
-1
0
0
-3
0
6
0
0
0
34
0
-17
0
0
-4
0
0
0
-1
0
0
-17
-8
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
-12
0
0
-9
15
7
3
20
0
0
0
-2
0
-22
0
0
-1
0
0
0
-1
-8
0
1
20
0
19
0
-3
20
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
39
1
13
13
-20
-9
-13
-40
1
-7
-19
41
18
34
0
0
-6
25
16
0
-13
11
-3
-62
50
15
0
1
-16
-32
0
0
0
0
0
0
0
26
0
3
0
0
0
52
0
30
0
0
-5
0
0
0
18
7
0
11
34
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
34
-7
-18
24
-24
-43
35
-81
-47
-16
-10
-10
-6
0
0
20
0
44
-9
-24
38
-38
55
-14
8
-3
33
-56
9
0
0
8
0
2
19
0
16
7
57
-6
0
0
-63
15
0
0
0
24
0
3
19
36
-9
1
43
1
0
16
-7
-38
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-40
36
16
40
9
66
48
9
-4
2
0
-39
0
0
-8
5
-44
-14
-2
-35
3
28
-13
-21
23
66
-16
-21
0
0
6
0
0
19
-5
-49
9
-4
14
7
-2
39
7
20
0
0
0
0
0
0
38
0
13
14
-6
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
-6
3
-7
0
24
9
22
22
0
-38
12
-71
0
0
-7
0
2
-8
53
30
0
-27
35
32
26
-14
-14
8
0
0
39
0
0
0
0
-33
-2
40
-5
2
-1
71
7
8
0
0
8
0
0
0
-19
10
0
-27
-9
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
8
8
2
-3
3
3
0
13
0
5
0
0
0
-14
0
0
-11
-15
0
1
10
0
0
0
-3
-2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
14
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
-2
0
0
-12
-2
0
11
0
0
21
-1
-13
0
0
9
0
6
0
0
-12
0
-18
-13
-2
0
-17
-5
-31
0
0
0
0
3
0
0
0
0
0
0
0
0
16
0
7
0
0
0
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
4
7
36
0
0
-29
-20
-45
0
0
12
0
0
-11
-4
13
0
-35
10
0
0
-9
17
-26
0
0
0
0
0
-12
0
2
0
1
1
0
0
-4
0
17
0
0
0
0
0
-20
0
3
0
7
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
15
-8
2
-3
-11
-31
20
21
0
0
9
8
2
-14
-12
-33
18
-11
-23
-78
-46
33
-57
-10
0
0
1
0
0
0
-21
14
13
-45
-17
-5
0
-20
0
-11
0
0
-2
14
0
0
78
-18
23
12
-35
-15
-2
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-38
-25
29
-11
19
0
0
0
22
5
2
-43
-46
16
-3
-3
-20
32
-1
-38
10
11
0
0
-2
0
1
11
1
-14
-13
-59
5
-6
0
-88
0
-64
0
0
21
0
0
0
-2
-39
0
72
10
11
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
16
-11
-7
0
0
19
0
0
3
-13
-22
0
-31
-18
-32
-5
4
-8
-3
0
0
0
0
0
1
0
-32
0
7
0
0
0
-25
0
7
0
0
0
0
0
0
6
0
0
-18
-5
-30
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
0
0
0
0
0
0
0
0
0
0
-16
5
10
7
42
39
-4
0
0
13
-13
3
3
-59
40
-13
23
3
2
-12
-15
-3
-84
0
0
2
0
-2
-4
5
-23
15
56
-6
-3
0
-3
0
-13
0
0
-4
0
0
-3
2
-2
6
24
-22
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-39
0
4
0
0
38
1
12
13
2
-43
-7
56
-1
8
53
-1
-27
30
0
0
-1
0
0
6
0
-2
-1
36
25
0
0
-14
0
-9
0
0
-40
0
0
27
-9
56
5
-1
-52
14
0
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
4
0
0
-58
-13
0
27
1
0
-6
-1
-9
40
0
0
0
0
0
6
0
0
0
1
0
0
0
-15
0
10
0
0
0
0
0
0
6
0
0
-3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-13
2
0
-15
-24
0
3
0
7
-3
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
-22
0
34
0
4
-17
-9
13
16
-17
7
-47
67
20
0
0
16
0
0
0
7
2
-1
-14
15
-9
0
53
3
36
0
0
-1
0
3
0
11
20
-3
15
-13
50
21
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
1
0
-12
-7
-12
-48
40
-19
41
3
-11
-37
0
0
0
0
0
0
0
9
0
20
-5
0
0
-13
2
-48
0
0
-13
0
0
0
23
10
1
-52
-5
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
15
0
60
-44
28
-46
30
-7
-6
2
28
-28
0
0
14
0
0
7
0
0
2
62
17
-3
1
-60
-14
80
0
0
12
0
0
0
-4
0
-12
-10
-34
3
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-19
1
-2
22
-7
0
5
24
14
-4
0
0
5
0
0
0
0
-4
0
15
0
0
0
-2
0
8
0
0
-12
0
0
0
-22
-1
0
34
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
-1
0
-8
4
0
-2
0
0
16
0
0
0
0
-58
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
45
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-16
-33
-7
3
-7
-7
-2
34
0
0
0
0
0
0
-2
0
0
-18
0
0
0
-1
0
1
0
0
-2
0
0
0
-4
0
0
31
-33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
5
-24
-11
-26
-13
-5
0
0
2
0
0
0
0
33
0
-55
4
0
0
-28
0
3
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
5
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
30
14
30
-16
-35
0
0
-1
0
0
0
-4
11
-5
42
8
0
-9
25
1
-11
0
0
21
0
0
0
-26
-1
-5
-2
-1
10
12
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
29
9
18
0
0
13
0
10
0
0
8
-6
-10
11
0
0
23
2
1
0
0
-20
0
1
0
-15
2
0
26
-21
-27
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
2
0
0
0
0
0
0
0
0
0
-9
0
0
5
14
0
-1
0
0
3
0
0
0
3
0
0
-8
-8
0
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
22
0
7
0
0
15
0
0
0
-23
0
0
15
-33
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
0
-19
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-16
0
-7
0
0
-8
0
0
0
8
0
9
5
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
-10
54
29
0
0
18
0
-21
0
0
13
0
0
0
-25
0
0
25
-60
-5
0
-20
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
22
-23
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-12
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
-27
0
-82
0
0
0
0
0
0
5
0
0
-9
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
-14
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
-16
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
6
0
0
0
0
0
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
9
0
-26
42
-5
15
44
-1
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-12
-24
0
-12
-3
0
-10
-34
-8
4
0
0
-23
-6
0
0
47
-17
0
-1
7
14
3
-36
-20
-20
0
0
-44
0
26
1
-24
12
-5
-3
-34
-45
22
25
17
-2
0
0
0
0
0
0
-35
-15
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
3
0
0
-8
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
-4
0
0
0
-6
24
0
-17
0
0
0
9
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-9
-11
-28
-50
0
19
0
-3
0
-8
11
-45
0
0
-12
0
0
6
-35
-13
-24
-9
9
-24
0
-5
-20
2
0
0
-4
0
-17
0
-2
-26
0
-38
0
0
-1
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
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
24
0
8
0
0
0
-47
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
-14
0
0
0
-17
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
21
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
0
-20
10
0
-6
-6
4
53
-49
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
19
-60
0
8
8
0
-18
32
-29
-6
0
0
9
11
-1
0
1
26
-2
-25
9
-20
0
-42
-28
-2
0
0
-8
0
21
0
-52
13
5
12
-24
-8
-23
42
42
-5
0
0
1
0
0
0
0
-39
0
5
0
0
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
10
0
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
5
-5
-12
-20
0
-8
-4
0
0
-12
-19
14
0
0
-9
0
0
0
-11
-61
-4
0
-24
0
0
-13
-13
-16
0
0
5
0
9
0
21
-8
0
3
5
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-3
0
-3
1
-45
29
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
25
-6
0
1
-3
-5
0
-4
0
-1
0
0
20
0
0
0
1
20
-1
45
-33
-25
0
-18
21
58
0
0
-9
0
3
0
-5
10
15
21
10
0
-7
2
56
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-27
5
0
3
4
0
0
8
0
-6
0
0
-1
0
0
0
35
-28
-13
14
1
0
0
-4
27
-2
0
0
0
0
0
0
5
0
0
7
6
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-1
14
-14
33
8
0
0
0
0
0
0
-20
1
0
12
0
0
0
11
-17
-40
0
0
0
0
0
0
18
-25
0
-76
0
-14
-2
7
-14
-55
0
0
0
0
0
0
-10
21
0
-44
0
0
0
0
10
-48
0
0
0
0
0
0
0
19
0
-31
0
0
0
-6
0
-11
0
0
0
0
0
0
7
0
0
29
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
8
49
17
24
3
-13
10
79
-17
40
7
-32
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
-32
-2
-39
-56
0
24
-26
6
-15
-11
11
-28
0
0
2
-32
7
29
40
-21
9
-65
-11
-22
6
27
21
-8
0
0
-12
-52
41
49
25
-6
-10
-28
-5
32
-38
0
2
2
0
0
-20
0
17
1
28
-44
-8
-22
19
2
48
-17
-15
-14
0
0
26
0
-3
-1
-1
48
5
-4
-2
0
1
-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
6
8
0
-16
0
-8
0
-5
-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
-2
0
0
0
0
0
0
0
0
0
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
-1
0
-2
0
0
0
0
0
0
6
0
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
6
0
35
-2
-35
39
0
-9
6
13
-6
-5
-19
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
25
-31
33
1
0
-44
-55
9
10
14
-6
56
0
0
-24
-1
10
27
-48
70
-8
-33
7
-38
0
-76
-14
30
0
0
24
0
39
7
-21
24
0
13
-42
-5
-21
-1
-10
19
0
0
13
0
4
7
-4
40
0
32
0
0
0
34
0
-14
0
0
23
0
8
3
23
-30
0
7
-32
0
-2
-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
0
0
0
0
1
5
8
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
0
0
0
0
0
0
0
0
30
-1
10
0
13
34
0
-31
12
1
-59
-16
19
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-2
10
7
0
-22
9
3
0
7
23
1
0
0
-21
-7
0
-1
11
-53
13
-5
0
-23
0
-18
14
-15
0
0
14
0
14
-7
-37
-1
-6
28
-2
4
-3
43
36
53
0
0
0
0
0
0
3
10
0
28
0
0
0
-5
0
4
0
0
0
0
0
0
-17
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-10
17
0
0
0
4
9
-16
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-3
-30
-3
0
-13
-9
2
0
-1
5
-33
0
0
-19
0
0
7
42
-41
12
-42
-4
0
0
-22
8
-17
0
0
-2
0
0
0
-39
15
0
-15
-13
-1
-4
0
-14
6
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-36
-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
-4
0
0
0
18
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
4
0
2
0
0
0
8
0
8
0
0
0
0
0
0
0
0
0
11
0
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
-14
62
-4
0
0
-21
-27
3
38
-22
52
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
3
0
61
19
0
-4
-38
-2
-20
1
-12
-72
0
0
-5
-25
-13
-15
11
-20
5
-44
13
-1
-12
1
-19
-16
0
0
-10
-1
0
-34
7
10
-5
42
68
10
7
40
-10
26
0
0
4
0
7
-3
6
-52
-12
-53
7
0
-18
22
17
-5
0
0
-26
0
0
-5
47
23
15
-53
16
0
13
-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
-1
0
-9
3
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
-1
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
-13
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-57
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
6
-1
0
61
0
3
-8
0
-17
-48
-74
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
2
-9
45
0
-3
-6
-1
-2
-11
42
43
4
0
0
-12
0
-31
25
-27
28
-7
-5
-5
5
21
-35
-8
-35
0
0
1
0
24
-2
-19
12
0
-20
-18
1
13
12
-14
44
0
0
13
0
0
8
2
-9
0
-2
9
0
0
-32
0
3
0
0
26
0
3
0
53
-35
0
27
15
0
-7
-9
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
2
5
-5
-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
-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
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
-31
6
9
3
-10
-1
7
5
5
-21
-12
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-2
-2
0
-10
-8
13
8
1
4
11
0
0
-1
3
0
28
-6
10
0
22
5
2
5
-51
44
6
0
0
-9
-6
-15
-15
-30
9
-12
-12
41
-9
-7
-4
50
-1
0
0
-14
0
0
0
-37
-21
1
-20
-4
0
7
-13
-7
-54
0
0
-1
0
0
0
11
-40
0
12
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
11
43
0
0
16
0
0
3
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
9
-13
26
-1
-49
-5
2
0
21
6
-62
0
0
-19
2
-13
-2
-9
37
-8
-1
-34
0
0
15
9
-35
0
0
35
0
0
0
-11
-1
0
-1
-4
-4
0
0
13
-36
0
0
1
0
0
0
0
-31
0
0
0
0
0
0
0
-22
0
0
12
0
0
0
-15
0
0
-6
7
-5
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
0
0
0
0
-19
-48
-44
0
0
0
0
0
0
6
0
0
23
0
0
0
-8
8
-12
0
0
0
0
0
0
-12
-7
-3
-16
0
-3
-2
11
-6
-18
0
0
0
0
0
0
-13
4
-2
-14
0
0
0
1
0
-20
0
0
0
0
0
0
0
-8
0
-21
0
0
0
-1
0
9
0
0
0
0
0
0
18
0
0
-10
0
0
0
34
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-4
-33
-12
47
1
86
18
63
15
-32
-32
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
7
29
9
-25
-4
7
-2
-61
10
39
-1
40
19
0
0
2
42
-10
-21
4
5
-17
-23
-5
-2
-16
-43
23
-39
0
0
-35
-7
-10
37
-19
50
-24
-28
-33
-2
26
-28
44
52
0
0
0
0
9
-4
8
16
24
-89
-19
3
17
54
-42
-50
0
0
-16
0
-6
0
-20
-93
0
-14
6
0
0
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
-10
3
0
22
-2
2
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
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
-5
0
0
0
0
0
0
0
0
20
0
0
3
0
0
0
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-20
-3
-8
-37
0
12
-22
-29
-45
2
14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
19
17
6
-8
6
-2
-35
-42
-16
10
-2
-13
-9
0
0
8
23
1
-24
-13
0
-27
-8
27
26
5
13
-51
-36
0
0
-8
7
-13
-8
26
25
0
69
0
-15
-30
-6
27
10
0
0
-3
0
7
0
20
-14
0
-16
11
0
0
-55
0
15
0
0
-40
0
-6
0
-51
-3
0
-9
-1
0
0
-17
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
19
-30
41
-51
-4
18
-24
-7
-36
37
6
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
10
-36
0
-15
-6
15
-7
-40
-37
6
0
0
-26
20
-2
-15
-29
15
-1
47
-51
-14
0
-18
-11
-39
0
0
-2
-10
-31
5
5
83
58
-72
-2
32
62
-26
47
-15
0
0
-16
0
0
0
0
3
0
46
1
0
0
-1
3
23
0
0
-1
0
0
0
23
-12
1
-21
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
-2
0
3
-64
0
-2
4
-11
6
40
-6
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
8
2
-8
37
39
7
11
-1
-4
-25
-32
8
-10
0
0
1
0
3
-19
-14
-5
11
-8
-16
0
0
0
-32
51
0
0
-16
0
0
0
9
31
0
-26
-58
-3
0
-18
-6
25
0
0
-2
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
-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
-34
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
5
58
0
5
0
-60
8
0
0
0
0
0
0
0
-7
0
0
-43
0
0
0
26
-2
-7
0
0
0
0
0
0
-1
7
0
7
0
0
2
0
0
-11
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
-46
-1
-11
18
-31
-40
-2
9
-62
21
-5
32
-8
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-1
2
-1
-20
0
-42
-22
37
31
1
3
-55
0
0
44
33
6
2
-15
4
2
-43
23
53
12
33
10
-18
0
0
-22
-21
-22
17
7
-14
-56
28
29
1
-21
-4
-5
73
0
0
-4
0
2
21
19
-34
4
-38
5
2
9
-49
0
-6
0
0
25
0
0
0
20
0
0
9
0
0
14
-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
0
0
-3
2
0
-1
0
13
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
1
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
5
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
2
29
3
-34
-48
-1
-22
3
14
13
11
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
6
-14
4
-24
2
7
0
5
-16
24
36
-20
0
0
15
20
-12
-33
20
-60
-6
-34
-8
10
-2
-27
-47
-31
0
0
-24
-4
17
-17
33
-15
-8
19
-39
-3
26
4
-24
18
0
0
3
0
26
-11
3
-12
0
2
-12
0
7
4
0
-23
0
0
-13
0
-2
5
34
0
0
-15
20
-6
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
27
0
9
0
0
0
3
0
1
0
0
6
0
0
0
19
-40
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
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
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
3
3
0
-3
0
0
3
0
-3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-27
0
3
0
0
0
19
0
4
0
0
0
0
0
0
-2
7
20
0
0
0
-1
0
21
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
6
0
22
22
0
-2
0
0
-7
-47
-33
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
-22
0
0
0
0
0
0
-29
5
0
0
-13
3
0
9
-7
4
-7
-34
-2
6
1
31
-3
46
0
0
29
0
-27
2
-12
34
0
6
-36
0
-24
-4
13
-36
0
0
0
0
0
0
0
-8
0
1
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
24
0
0
0
0
0
15
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
41
-34
0
-5
0
0
0
-7
-29
-7
0
0
1
4
0
-5
11
-8
0
0
10
0
0
-34
0
-55
0
0
1
0
0
0
-15
8
0
1
1
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
-19
-32
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
-5
0
-9
0
0
0
4
0
-4
0
0
0
0
0
0
-27
11
0
-9
0
0
0
0
33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
2
0
0
5
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
-20
17
0
0
0
0
0
-54
-3
0
0
0
-2
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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
5
0
-4
0
0
-4
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
-4
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-30
0
12
0
-56
-19
0
-20
9
-3
32
-9
45
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-32
0
-7
0
0
0
-12
5
0
0
0
48
0
-1
0
-50
15
0
7
-30
17
0
7
4
3
0
0
45
0
-25
0
3
80
0
-27
-40
0
26
0
14
-6
0
0
0
0
0
0
-9
-13
0
-3
0
0
5
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
14
0
-3
0
0
8
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
-4
0
0
0
-28
13
0
1
-1
0
0
0
0
-11
0
0
-24
0
-20
0
-11
-29
-11
-4
-3
0
0
-3
2
5
0
0
-5
0
0
0
-1
-9
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
26
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
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-14
32
0
-3
-4
0
0
-10
-25
14
0
0
11
0
0
0
16
-17
0
-10
0
0
-18
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
-9
0
0
0
2
-13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-4
1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
8
0
0
2
38
-10
-27
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
-7
17
0
0
7
-1
2
0
0
-10
0
0
-2
5
14
0
27
-39
0
0
25
-21
-12
0
0
-10
0
0
0
8
-32
3
71
19
0
16
0
1
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
14
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
1
0
0
-3
0
0
1
11
7
0
0
-8
0
0
0
14
0
0
-9
-1
0
0
-3
11
-22
0
0
-5
0
0
0
3
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
51
19
0
1
-2
0
-1
-7
29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
0
0
-13
-3
0
-26
0
0
0
0
4
0
0
0
42
-6
0
40
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
22
0
0
2
0
0
0
0
-23
0
0
0
0
0
0
16
-2
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
-5
0
0
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
-15
0
-1
0
0
0
-9
0
0
0
0
-4
0
0
0
26
27
0
0
0
0
0
-38
-6
0
0
0
0
0
0
0
44
-71
0
9
0
0
3
0
-34
-6
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
46
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
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
5
0
0
0
-26
12
0
0
0
0
-2
-6
52
-9
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
0
0
5
0
0
-7
0
0
0
0
0
0
0
3
-28
0
2
4
0
0
5
7
0
0
0
-18
0
0
0
-23
12
-41
-36
0
0
0
0
12
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
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
-9
0
0
0
-59
43
0
0
2
0
0
0
12
-7
0
0
0
0
0
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
-6
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
-2
3
0
-12
-10
-16
-5
-31
-31
3
-38
14
62
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
38
44
0
13
18
-11
0
1
-28
13
0
0
-16
-25
0
15
15
17
-4
-9
-14
11
0
42
42
47
0
0
-17
10
-32
1
-26
6
0
46
56
41
2
-2
28
-30
0
0
0
0
0
0
7
-27
0
0
0
0
0
3
0
0
0
0
7
0
0
0
30
-9
0
-6
0
0
0
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
-7
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
27
0
2
29
0
-5
10
-3
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
10
-24
-86
37
0
6
6
-2
-1
-20
56
74
0
0
-10
0
12
0
-21
-47
2
26
28
0
0
0
50
-13
0
0
1
0
1
8
10
23
0
22
-12
-2
-7
0
0
28
0
0
0
0
0
0
0
-1
0
-32
0
0
0
-16
0
-18
0
0
6
0
0
0
-20
11
0
0
-4
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
0
0
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
0
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-61
-1
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
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
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
14
0
0
0
0
0
0
0
4
-14
0
3
0
0
0
-69
0
7
0
0
0
0
0
0
2
-12
0
-1
0
0
8
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
10
17
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
3
11
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
2
0
0
4
0
0
0
-6
-9
6
-18
1
0
-2
0
-2
-9
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
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
1
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
9
0
0
0
39
11
0
-3
0
0
0
0
13
-12
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
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
-6
0
6
-37
0
-17
-34
-9
29
-49
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-25
38
0
-17
0
8
0
-39
-19
33
0
0
-17
-7
0
0
28
31
0
-13
-8
30
0
46
-1
33
0
0
6
6
43
-5
30
-33
6
-23
-9
-17
40
6
-24
33
0
0
-10
0
0
0
-16
26
0
16
0
0
0
-1
0
17
0
0
0
0
0
0
-69
-16
-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
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
-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
22
-8
0
0
11
-2
5
-27
18
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-18
0
0
25
11
0
49
-14
1
0
16
36
33
0
0
13
0
20
-17
30
-23
-4
3
1
1
0
5
-5
-24
0
0
14
0
0
0
36
21
0
21
-3
0
0
-27
0
-15
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-11
0
0
-45
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
2
0
-6
22
42
37
0
0
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
-23
-42
0
0
3
0
0
0
11
-32
11
23
-38
0
0
56
2
-2
0
0
-20
0
0
-1
-23
-56
0
-12
-36
5
-1
0
-23
-45
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
-25
0
0
0
0
0
0
-13
-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
5
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
-5
0
0
0
-23
5
0
1
6
0
0
0
28
-68
0
0
-3
0
0
0
-15
-38
0
-1
0
0
0
0
-30
-18
0
0
1
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
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
41
5
0
-22
-26
-6
25
-34
-36
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
1
-21
0
9
21
0
8
0
17
10
0
0
-10
0
0
0
-17
37
0
-20
35
6
0
42
-39
1
0
0
73
0
10
-5
-20
23
-12
0
7
6
22
9
-86
3
0
0
0
0
0
0
-14
-2
0
13
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-5
0
0
-38
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
5
-9
-23
-12
0
-1
-39
0
0
23
-45
-44
0
0
-7
0
0
0
-6
0
0
-4
5
0
0
7
0
10
0
0
0
0
0
0
17
-13
0
1
-1
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
-3
-4
0
-64
4
9
47
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
-1
0
0
0
0
0
0
0
-3
0
0
0
1
-33
0
-39
-12
0
0
9
0
-5
0
0
0
0
0
0
-20
-25
0
27
0
0
-14
0
-9
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
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
-34
0
-1
7
0
0
0
0
-3
0
0
0
0
0
0
-23
-4
0
-9
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
6
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-4
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
30
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
2
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
2
0
0
0
0
1
-7
0
0
0
0
0
0
0
33
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
6
0
0
0
0
0
0
-12
7
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
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
7
-70
0
-35
-11
8
21
-2
12
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
17
38
0
-13
-18
3
7
0
17
-41
0
0
19
0
3
11
13
-29
0
8
18
2
-3
38
-5
-7
0
0
-8
0
16
0
45
-36
-1
-26
11
-19
16
-12
-24
-9
0
0
0
0
0
0
2
-1
0
43
0
0
0
-11
0
8
0
0
2
0
0
0
34
-1
0
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
21
0
0
0
1
0
0
-34
42
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
-14
54
-33
0
1
-35
-2
0
0
40
-9
0
0
7
0
0
-1
-8
3
-3
8
-2
0
0
14
2
16
0
0
0
0
4
0
0
3
0
-7
-27
0
0
0
0
27
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
4
0
7
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
6
48
0
24
-6
4
24
10
-31
32
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
-2
0
0
0
4
-3
-2
0
0
0
0
0
0
73
14
0
12
14
0
0
12
37
-9
0
0
58
0
0
0
18
-60
0
15
0
0
1
0
-5
3
0
0
0
0
0
0
0
-13
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
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
-19
0
1
0
-6
8
0
0
0
0
0
0
15
5
0
0
0
0
-1
0
31
-7
0
-13
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
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
3
-1
0
58
33
-2
-13
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
26
0
0
0
-6
0
0
0
6
-21
0
25
1
0
0
-9
46
-40
0
0
6
0
-15
0
0
22
0
-40
21
0
-17
0
16
-80
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
28
0
-3
0
10
29
0
0
0
0
0
0
19
-48
0
0
-1
0
0
0
2
1
1
-1
10
0
0
-1
-3
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
20
-38
-1
-20
-5
-1
23
16
19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-17
0
-3
-15
0
0
-3
6
1
0
0
-32
0
0
0
30
18
0
9
7
14
10
2
-44
9
0
0
-26
0
0
0
-9
-22
0
28
19
0
0
0
10
72
0
0
0
0
0
0
-3
6
0
3
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
7
0
0
3
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-6
-25
0
-31
10
0
6
0
-20
2
0
0
-19
0
0
0
21
-10
0
-1
11
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
61
2
0
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
26
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
0
-4
0
0
0
20
0
-47
0
0
0
0
0
0
34
-36
0
-14
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
22
2
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-69
49
26
-10
12
-6
34
-44
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-4
0
-6
25
-7
2
-66
-2
-25
0
8
-21
0
0
22
0
-28
2
-15
19
-7
-1
0
-23
-1
-16
52
-10
0
0
-18
0
5
5
37
9
-28
-29
2
-21
-9
-27
35
0
0
0
0
0
0
0
0
29
0
-8
0
0
0
0
0
-3
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
-31
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
60
1
14
-24
13
-7
10
-15
-3
0
12
-10
-7
0
0
-3
0
0
1
1
27
0
35
36
-13
0
-12
14
-22
0
0
-16
0
0
0
0
-13
0
-7
22
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
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
-24
0
-3
5
-35
103
0
-33
4
5
11
-49
2
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
0
-3
-6
0
-13
-35
0
-4
33
-31
-1
0
0
10
0
0
-13
55
18
2
51
33
-24
18
3
32
9
0
0
26
1
-5
9
16
-4
-5
20
6
20
-16
13
-44
-48
0
0
0
0
0
0
0
-9
0
8
0
0
0
0
0
36
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
17
0
0
-2
0
0
-18
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
7
-5
-1
56
0
21
-18
0
0
0
-23
-5
0
0
-28
0
1
5
7
-18
6
24
-28
0
0
11
-8
44
0
0
7
0
0
0
-12
-21
0
37
4
0
0
-4
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
16
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
12
0
0
0
14
0
0
8
0
0
-3
17
36
44
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
2
0
0
0
0
0
0
0
0
-37
21
0
-25
3
0
0
8
0
65
0
0
8
0
0
0
-5
25
0
-26
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-20
-36
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
-12
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
18
0
0
0
-33
-18
0
0
0
0
0
-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
0
32
0
0
0
0
0
0
0
8
0
0
3
0
0
0
-64
27
0
-8
25
0
0
25
0
14
0
0
0
0
0
0
-27
5
0
-9
0
0
0
0
-6
19
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
-1
0
0
-11
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
13
0
6
-2
0
-7
6
0
15
0
0
0
0
0
0
-9
-13
0
-15
0
0
2
-34
0
-13
0
0
4
0
0
0
-2
21
0
4
0
0
25
0
-11
-23
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
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
-2
0
0
0
14
-4
0
0
-25
0
0
0
0
4
0
0
-3
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
8
-55
0
11
-7
-10
20
-13
12
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
9
-9
0
1
-27
0
5
41
16
42
0
0
-21
0
0
0
-51
114
1
3
58
6
0
-7
3
31
0
0
3
0
0
0
9
-43
4
-6
-10
0
-12
-5
5
33
0
0
0
0
0
0
0
-7
0
0
0
0
0
16
0
33
0
0
0
0
0
0
2
-8
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
-9
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
-3
-4
0
0
1
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
1
1
4
0
-24
-20
0
0
-26
11
-15
0
0
17
0
8
-5
33
19
9
-5
-2
0
0
5
11
10
0
0
0
0
0
0
-2
23
0
39
-2
0
0
-1
0
-5
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
37
0
0
0
0
-6
30
-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
5
0
-6
0
-3
0
0
20
0
0
0
-1
0
0
0
0
28
0
-1
0
0
0
-19
23
-26
0
0
14
0
0
0
0
18
0
-15
0
0
-15
13
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
13
0
2
-5
0
0
0
10
-30
0
0
-4
0
0
0
0
-4
0
0
0
0
0
6
12
-3
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
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
-22
0
1
0
-3
-54
-1
38
26
-9
-25
19
15
47
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
9
19
12
-3
-22
22
-8
0
0
15
0
0
8
86
-34
-7
14
-10
-8
-22
-42
40
20
0
0
15
-12
-5
-2
-43
-55
1
56
-47
-13
-40
-24
-18
-65
0
0
0
0
0
0
0
-11
0
39
0
0
0
-8
0
-4
0
0
0
0
0
0
4
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
-16
-1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
4
-45
38
-37
0
-6
17
0
0
8
-5
7
0
0
-46
0
2
3
-46
40
-6
-24
33
0
0
10
-5
18
0
0
-11
0
0
0
3
0
0
-37
-8
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
45
11
0
0
0
0
2
-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
37
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
-48
19
0
-5
7
29
0
-33
0
-2
0
0
-5
0
0
0
67
39
-4
2
0
0
-24
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
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
20
0
0
8
0
0
16
0
-2
0
0
0
0
0
0
0
0
8
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-2
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
-60
-11
0
-43
-2
44
37
-26
18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-41
0
-34
-11
0
-1
-3
-14
-6
0
0
12
0
2
20
-16
28
15
3
60
20
0
69
-10
33
0
0
13
12
-1
0
37
2
-2
42
28
-10
-19
29
-8
23
0
0
0
0
0
0
0
-4
0
63
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
43
0
0
0
3
0
0
1
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
21
30
0
8
25
0
0
2
38
36
0
0
-9
0
0
-9
22
-14
1
3
2
0
0
54
-19
31
0
0
18
0
1
4
30
12
0
10
-6
0
3
0
2
9
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
11
0
21
-4
0
0
-8
38
4
0
0
0
0
0
0
7
-25
0
3
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-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
2
22
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-8
0
45
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
2
0
49
30
-22
2
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
0
0
0
0
-12
0
0
0
0
0
0
0
0
51
53
0
-19
-21
-20
1
85
35
-3
0
0
1
0
0
0
-1
8
0
13
0
0
2
-11
-35
-4
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
-6
0
0
0
28
-1
0
0
1
0
0
0
-8
40
0
7
3
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
14
0
0
0
-12
-23
0
0
1
0
-4
-21
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
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-44
-14
0
-16
6
10
0
-1
-17
-3
0
0
-6
0
0
0
-12
-3
0
2
0
-6
13
6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-25
0
1
-1
0
0
0
13
8
0
0
0
0
0
0
10
10
0
2
0
0
0
-6
23
-2
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
10
0
0
0
1
0
-4
-8
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
-17
0
0
0
0
0
0
0
4
0
0
0
3
0
0
-7
-22
0
0
0
-2
0
0
0
0
0
0
6
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
35
-56
32
40
42
6
24
-13
58
-109
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
74
-30
-1
3
32
-6
-34
50
30
-15
0
0
38
32
4
20
11
-37
-24
-15
-2
-19
34
13
-23
-2
0
0
97
6
-17
53
14
-72
1
29
-12
28
2
-28
-25
-53
0
0
149
0
0
0
-48
-23
40
-2
-7
-4
15
40
-26
31
0
0
82
0
0
0
14
1
0
41
-1
1
-12
-54
-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
-20
13
14
54
-37
10
0
70
-93
54
0
0
0
0
0
0
0
0
23
52
0
0
0
59
0
1
0
0
0
0
0
0
0
-1
-2
-77
0
20
-26
-27
-24
4
0
0
0
0
0
0
0
0
0
-19
-8
-4
2
12
-42
-1
0
0
0
0
0
0
0
30
0
-23
-10
1
-4
75
2
-44
0
0
0
0
0
0
3
0
0
29
-14
0
2
18
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
0
5
0
-25
-26
-4
-13
-18
-24
2
45
-32
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
62
25
-28
35
29
-26
67
-33
-25
-3
11
-14
0
0
3
-11
22
-60
-31
19
-16
-56
13
11
-39
25
-36
27
0
0
130
0
-15
0
26
12
-17
-84
-17
23
-22
1
39
7
0
0
70
0
0
0
10
25
4
-46
-11
0
0
11
5
69
0
0
14
-1
0
0
-44
33
-4
15
-39
-3
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
1
0
0
0
18
-18
-48
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-9
1
0
-11
10
0
-11
51
9
-7
0
0
2
-31
-1
0
-36
25
0
-60
12
1
18
34
32
1
0
0
-5
41
0
0
-20
-35
3
-19
10
-2
-20
13
11
-9
0
0
0
55
0
0
0
-9
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-37
0
0
0
-5
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
-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
3
0
0
0
0
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
-15
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
-6
12
0
0
-15
22
0
-6
29
-2
0
10
-5
-2
0
0
-22
-8
0
0
8
1
-7
-14
-16
0
0
12
19
-22
0
0
0
-1
0
0
16
-1
0
-37
-3
0
0
0
12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-54
-20
-17
13
-23
31
57
-87
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
66
0
33
-21
0
-12
3
21
-6
27
-23
-92
0
0
-2
0
48
0
0
-39
11
25
-19
-1
-1
36
32
-45
0
0
-13
0
59
4
14
14
0
-54
-22
-10
-14
20
40
-24
0
0
0
0
79
0
0
15
0
-4
0
0
0
23
0
7
0
0
0
0
50
0
-2
-2
0
7
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
3
-10
26
-22
17
1
-3
-7
-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
-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
0
0
0
0
0
0
0
0
0
0
0
46
0
16
0
0
0
0
0
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
10
0
3
-16
0
0
35
4
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
41
-20
15
-39
0
4
-12
4
0
-33
-27
-30
0
0
-16
0
33
0
-3
1
25
14
-23
-23
0
32
-10
-10
0
0
-17
0
19
0
-3
-11
0
20
26
-9
0
13
-9
17
0
0
0
0
23
0
0
13
0
-2
-2
0
0
-15
0
0
0
0
0
0
63
0
0
0
0
0
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
13
0
-1
0
0
17
-3
19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
9
-5
9
0
-11
-1
14
0
-6
-3
-37
0
0
2
0
0
32
11
-49
18
16
-32
14
16
-13
-21
-45
0
0
-16
0
-3
133
36
17
0
-33
-3
0
16
9
-13
36
0
0
0
0
0
68
0
0
0
0
0
0
0
10
0
26
0
0
0
0
0
49
1
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
18
-1
3
4
10
-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
8
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
11
-12
-16
0
-22
10
8
0
0
-43
9
0
0
-15
0
0
-16
-12
15
9
-11
18
0
0
15
11
-20
0
0
0
0
0
-20
5
-3
0
-18
6
0
0
0
21
-32
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
20
0
0
0
0
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
16
-59
6
-46
9
22
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
13
14
16
12
-27
-22
-61
-24
-22
-40
-36
-30
-16
0
0
36
9
12
2
-4
-69
-20
-3
-51
-16
-10
-1
-27
-53
0
0
-36
15
66
8
5
-3
39
-4
2
1
-1
-39
-29
-41
0
0
14
0
0
9
81
-12
8
-42
6
28
-45
-57
0
-42
0
0
-29
-5
17
18
66
-30
14
-41
31
3
6
-65
-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
-29
4
5
10
0
-16
55
-45
-42
10
0
0
0
0
0
0
1
0
9
-11
-5
1
0
73
0
3
0
0
0
0
0
0
-8
23
-12
19
2
9
17
36
-1
-32
0
0
0
0
0
0
20
-1
-2
3
-1
-9
-3
34
-8
-26
0
0
0
0
0
0
26
28
0
7
-41
33
5
38
0
-6
0
0
1
0
0
0
37
0
0
27
4
-19
-23
-6
43
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-8
-1
5
28
7
29
-3
-26
111
-44
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-30
9
-38
-29
0
-45
-76
37
9
-18
11
57
33
0
0
11
8
-6
-10
6
-10
-4
18
22
-50
-18
-30
-6
-42
0
0
-9
1
1
27
1
-13
35
-76
-11
18
32
-3
-15
45
0
0
0
0
0
0
39
10
-5
-10
-5
-18
-8
-18
0
-34
0
0
66
5
6
23
-16
-4
7
1
22
-31
-13
-26
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
55
-20
-2
-3
-30
-14
26
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-43
14
40
-15
-17
-22
-6
30
-5
17
-5
4
64
0
0
-14
54
45
-40
-22
6
-23
-39
-12
-1
-12
-15
8
-32
0
0
-24
-67
-65
-35
-24
2
-41
2
-14
-17
-26
-16
-42
-30
0
0
-65
2
-9
2
-44
24
-30
-30
-88
4
-11
10
-37
-14
0
0
-10
25
-29
-11
0
38
-10
-1
-8
-7
-14
-3
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
-34
27
9
-19
-23
-6
-53
13
35
22
0
0
0
0
0
0
-1
26
-49
59
58
5
-22
-14
-3
-17
0
0
0
0
0
0
27
-35
3
-37
-11
-47
14
32
-9
8
0
0
0
0
0
0
-2
-25
-46
35
-22
-16
-16
-1
28
-16
0
0
0
0
0
0
6
5
0
17
56
-31
1
58
28
-7
0
0
0
0
0
0
3
12
0
0
3
9
10
86
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-4
-25
-21
-9
-13
18
18
-13
-16
-9
86
-30
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
27
11
-7
22
-5
-37
10
31
-7
-37
-36
24
0
0
0
-89
35
-11
-2
-17
-18
18
-30
-8
-4
40
-50
9
-24
0
0
-23
-14
-8
34
-2
8
45
-29
-38
-12
91
46
-34
-21
0
0
9
3
-12
-16
31
-8
-36
35
44
11
-61
34
2
-14
0
0
-7
0
0
3
-20
27
37
24
-22
-1
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-9
-14
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-7
21
-3
-8
-7
1
4
11
71
9
0
0
9
0
0
15
-30
-63
-57
-38
22
2
-15
42
-2
41
0
0
-31
1
-16
7
41
-46
15
29
74
3
-69
19
-4
-24
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
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
22
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
0
52
3
0
0
12
0
-8
53
40
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
13
-29
-2
-10
12
2
-1
0
-2
-7
24
0
0
-7
0
0
10
14
-39
-32
-29
57
2
1
13
42
-76
0
0
-14
0
-1
0
-14
10
0
-7
11
0
0
-3
-16
5
0
0
0
0
0
0
0
0
0
11
0
0
0
-3
0
-7
0
0
-2
0
0
0
8
0
0
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-30
-6
7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-7
10
39
-5
0
-22
-17
-17
14
-39
17
18
0
0
-19
-4
13
15
-23
22
-5
16
0
15
10
23
-20
-42
0
0
-63
-1
14
-31
-27
-52
-42
61
23
37
-46
7
-34
-21
0
0
-26
0
0
-1
-19
-8
-46
-4
-1
2
21
49
-8
-39
0
0
14
0
0
0
-42
51
2
82
7
0
3
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
15
28
-22
-6
-40
-58
-3
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
17
0
0
0
-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
12
0
7
0
0
0
-3
0
19
0
0
0
0
0
0
19
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
-15
0
0
0
-18
-8
0
-5
-4
-2
22
50
10
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-27
-21
13
-24
16
-5
-13
23
15
13
51
-35
29
0
0
-10
-3
-33
-26
29
-43
57
12
-31
29
5
-22
-43
-24
0
0
20
0
11
12
36
19
1
-12
29
-19
13
16
38
18
0
0
-2
0
0
0
0
27
0
-2
-2
0
-2
34
0
-5
0
0
10
0
-2
0
-20
-15
0
-16
12
-1
-2
40
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
17
-18
-26
41
73
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-2
15
0
-17
-13
-13
-71
1
-119
11
0
0
-41
4
8
29
14
0
45
-5
-13
7
44
-34
34
-5
0
0
15
-23
-47
19
-22
25
-25
1
22
33
-22
4
-5
-40
0
0
-3
0
0
0
-14
4
10
-6
12
0
-23
50
-9
34
0
0
-12
0
0
0
50
11
-9
4
6
0
3
54
-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
-1
-16
60
-4
37
-6
-23
-24
4
-55
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
15
-2
8
0
8
17
6
0
0
0
0
0
0
0
0
0
-10
0
0
0
-3
6
5
0
0
0
0
0
0
0
0
0
-16
0
0
-1
-8
0
-14
0
0
0
0
0
0
22
0
0
9
0
0
0
5
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-8
-30
11
-3
5
4
9
11
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-12
0
-54
5
-11
6
45
16
-8
4
12
-11
-70
0
0
103
-7
25
15
10
-25
-17
26
-17
10
-10
-3
-22
3
0
0
1
0
6
5
-14
11
8
-42
10
35
-6
-8
-7
-67
0
0
0
0
0
0
0
-7
1
-3
1
0
0
-3
0
-23
0
0
-8
0
0
0
-11
-12
9
-1
7
-5
0
52
-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
15
-9
-57
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
54
-41
0
7
-46
1
5
3
-6
-31
0
0
15
-7
-16
-1
45
-25
19
-17
59
28
-55
-38
31
16
0
0
-17
0
6
18
8
-30
-9
-57
3
21
23
-35
-92
-49
0
0
0
0
0
0
5
65
12
4
0
0
-1
3
-12
53
0
0
0
0
0
0
-10
-16
-6
0
0
0
6
-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
46
5
18
63
2
0
0
-3
29
-48
0
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
24
0
0
0
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
-5
0
-5
0
0
0
0
0
0
0
0
0
17
-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
32
12
0
0
6
0
-3
-42
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
32
-2
-35
-21
-3
-18
-21
3
3
-2
-26
-22
0
0
-34
-13
4
-9
65
-52
-15
-19
-27
-27
0
5
64
-44
0
0
18
0
0
0
8
-51
-13
5
7
-4
23
-9
-49
-10
0
0
0
0
0
0
0
32
0
-59
0
0
-2
7
0
53
0
0
9
0
0
0
-3
0
4
4
-11
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-21
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
-51
17
12
-14
-41
-4
-5
53
-78
-45
-33
0
0
-38
34
9
11
-3
-61
46
-40
-18
-13
-2
15
-10
-61
0
0
3
23
-8
-18
22
-12
-1
-34
-15
8
90
-6
-36
-45
0
0
-3
0
-1
26
-36
-46
-29
14
27
-5
45
10
-29
-45
0
0
-9
0
0
0
-37
-32
3
-33
-51
39
100
-30
-45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
9
3
-5
-11
14
-40
0
0
0
0
0
0
0
0
3
-16
-2
0
0
-31
-7
1
0
0
0
0
0
0
0
0
-11
26
0
32
0
-31
-27
-9
0
0
0
0
0
0
0
0
0
40
-1
0
0
-52
-2
16
0
0
0
0
0
0
0
35
0
-18
1
-1
-16
-16
-7
-43
0
0
0
0
0
0
-13
0
0
46
11
0
-4
-18
30
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-14
-15
-26
33
29
-25
28
-14
-39
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-12
-18
-36
14
-16
14
6
-26
-83
48
11
18
-25
0
0
-4
15
-3
-72
-12
9
-2
27
-31
-1
13
-6
-37
-12
0
0
37
0
2
-28
28
51
-11
-81
67
10
27
-28
15
-27
0
0
-20
0
0
0
7
-34
-12
47
-54
16
46
64
-14
8
0
0
-42
9
-1
0
-19
12
-21
7
-27
24
82
-29
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
9
9
6
31
-5
0
-30
-16
22
5
-41
-24
0
0
27
-30
-2
5
-17
-24
11
-36
10
-63
3
9
-28
-7
0
0
43
-13
13
53
-25
-14
-2
-33
-16
-53
33
83
-29
14
0
0
-28
0
-6
12
11
28
-29
35
-19
-47
-53
7
26
-16
0
0
24
0
8
2
-18
-37
29
-15
1
14
14
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
-46
-19
45
40
-16
-13
-58
-8
19
58
0
0
0
0
0
0
0
3
16
-2
0
0
0
20
0
-3
0
0
0
0
0
0
3
-13
-31
-58
0
13
-16
12
-5
-27
0
0
0
0
0
0
0
0
1
6
0
0
3
36
-5
13
0
0
0
0
0
0
0
2
0
24
28
4
3
35
3
-18
0
0
0
0
0
0
-13
0
0
-28
-29
0
0
-53
75
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
19
6
4
-9
-15
-46
25
-9
-11
18
-42
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-9
-124
-31
-32
29
-20
0
-31
10
-19
26
-32
0
0
8
0
-76
-5
-10
-41
38
-3
-34
-45
-49
-21
-54
8
0
0
22
0
56
0
15
-37
56
23
3
-31
23
20
31
-59
0
0
1
0
0
0
-75
7
-27
3
-69
-7
24
41
-4
-40
0
0
51
0
13
0
-12
13
-29
40
40
-6
-28
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
32
37
38
38
-25
-28
-47
18
-14
-46
-35
-16
-74
0
0
31
18
32
-32
29
-9
13
-17
-28
-13
-42
-2
-5
-45
0
0
-18
52
-4
-52
-3
-65
-1
-14
-61
-24
3
23
29
-28
0
0
-67
0
4
17
0
-12
-22
-13
-35
3
-6
34
52
13
0
0
6
0
-15
-19
14
34
69
-85
-45
32
-33
-39
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
7
-40
9
14
6
-25
-2
0
0
0
0
0
0
0
1
-15
15
3
-2
1
-6
5
-46
0
0
0
0
0
0
0
0
-12
-55
0
-50
13
34
15
-10
0
0
0
0
0
0
0
0
7
23
14
-2
-2
13
-43
0
0
0
0
0
0
0
0
10
0
-20
-4
-16
0
39
31
41
0
0
5
0
0
0
27
6
0
-3
-9
9
0
18
-30
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-1
-34
10
-1
-4
19
-11
8
-17
1
78
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
11
0
-86
34
-10
2
12
59
10
12
9
42
-21
0
0
1
-2
-13
-9
-3
-2
-23
-15
-18
1
54
-4
45
-6
0
0
5
1
45
4
-9
-121
-6
4
27
8
-8
-36
-17
-17
0
0
-23
0
20
3
0
7
24
-11
3
4
5
-53
33
-37
0
0
29
-25
23
13
4
-40
-5
-27
-8
10
3
-57
77
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-50
27
21
9
38
14
21
-23
43
-22
23
-38
27
0
0
-5
-13
-57
17
-3
-19
24
5
-30
6
15
29
-15
-12
0
0
-37
-54
-28
-14
-10
8
23
-15
25
-19
-6
7
1
-11
0
0
-79
-18
-23
2
24
2
1
-8
-14
-18
8
5
-76
-3
0
0
-22
0
-2
-5
-25
0
7
-60
17
5
-9
20
-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
0
0
0
0
0
0
0
0
0
0
0
0
26
-40
-16
-20
-28
-33
-26
-64
-8
-23
0
0
0
0
0
0
0
0
21
61
-1
23
8
-34
-2
5
0
0
0
0
0
0
18
-3
-6
27
0
12
-6
-74
-12
-1
0
0
0
0
0
0
-1
0
-5
39
3
0
-12
-31
39
-46
0
0
0
0
0
0
18
-29
0
-1
-8
-5
44
-11
25
-1
0
0
0
0
0
0
-16
0
0
53
-9
0
0
4
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
11
-13
-24
-20
-15
11
-13
-60
32
16
-9
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-26
-78
40
3
-20
-3
-30
-25
-32
32
-6
19
2
0
0
-55
60
-8
-13
18
-6
23
28
29
4
11
40
30
5
0
0
-42
-8
-28
24
-58
-51
-3
12
24
-12
-31
40
4
-29
0
0
10
0
-27
28
20
-27
-11
6
28
-8
18
3
5
8
0
0
-37
0
0
-15
-52
0
3
7
24
-24
-17
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-31
-2
0
-39
-4
-11
-22
-41
50
12
0
0
-36
11
21
0
-3
-12
26
45
-33
0
17
-2
-19
9
0
0
26
0
-29
-2
-39
-41
5
9
-17
-27
34
17
3
9
0
0
-8
0
0
-1
4
-3
4
-48
2
0
-35
-46
-11
18
0
0
1
0
0
-3
-39
13
-4
-6
0
0
4
-34
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
6
5
22
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
11
0
2
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
2
0
20
0
0
0
1
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
55
0
0
0
44
4
0
11
-38
0
-38
-13
16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
39
29
0
5
6
-12
0
43
-8
7
0
0
-19
-4
-7
1
-34
-58
-2
14
-9
0
0
18
-12
-28
0
0
-42
0
13
0
-5
22
-1
19
-25
0
-2
-34
-20
-5
0
0
-40
0
0
0
0
17
0
6
-4
0
0
28
0
13
0
0
-45
0
0
0
1
0
0
6
-12
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
43
-62
0
-23
1
-4
0
-53
-20
-23
0
0
0
14
0
0
5
20
0
49
0
0
-11
0
12
-16
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-21
0
0
2
-21
0
0
3
0
0
0
0
-8
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
-20
0
3
-12
0
0
0
0
0
-2
-13
0
0
0
0
0
-4
0
-21
14
-5
-31
-4
0
0
46
15
-6
0
0
-1
0
-27
0
-28
8
0
26
7
0
6
3
27
-52
0
0
0
0
-21
0
0
14
0
2
0
0
0
0
0
5
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
26
9
0
0
-20
0
0
-3
6
-28
0
0
0
0
51
0
-9
8
-1
0
0
0
0
-4
0
7
0
0
0
0
7
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
0
0
0
0
-4
0
0
50
5
18
8
-8
17
2
0
24
-38
-4
0
0
17
0
0
19
4
-21
0
-5
-1
0
-6
0
5
-2
0
0
0
0
0
60
0
-24
0
-1
0
0
0
0
0
2
0
0
0
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
9
0
0
-14
-7
-64
0
-6
-3
0
0
0
6
0
0
0
-8
0
0
32
11
0
5
15
22
0
0
29
22
4
0
0
0
0
0
-3
0
3
0
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
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-16
-9
-52
17
-19
-3
-14
62
-16
0
0
32
-5
46
13
8
29
-41
-31
-96
-31
26
7
-44
-26
0
0
-8
-23
32
-7
15
-6
-10
-17
13
5
-28
-47
83
-33
0
0
-19
0
0
4
-15
2
13
-51
-8
0
-12
-18
0
35
0
0
-9
0
13
-15
9
9
-18
74
-13
44
24
-26
-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
-14
-12
-31
-2
-11
6
31
35
-22
15
0
0
0
0
0
0
27
0
13
0
0
0
0
-8
0
5
0
0
0
0
0
0
-7
0
1
-2
2
-23
-2
-1
0
17
0
0
0
0
0
0
-37
0
0
14
-1
0
0
-20
0
-12
0
0
0
0
0
0
1
1
0
-13
6
0
0
-10
0
25
0
0
0
0
0
0
72
0
0
-20
19
0
0
66
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
4
3
-31
-22
-11
11
-10
-6
6
-8
-53
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
4
35
-27
-93
0
-23
6
7
-29
-23
7
52
0
0
-47
0
2
-15
-4
-36
-34
-26
-53
-29
-8
-30
30
-10
0
0
5
0
-4
-2
12
-18
-3
11
-36
20
-33
-6
18
-5
0
0
0
0
0
0
-44
-33
3
-17
0
0
18
-1
0
-7
0
0
24
0
-11
3
-1
6
0
-41
-35
-5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
3
20
29
-19
14
23
0
0
6
19
-9
-5
5
7
-3
-26
-8
11
-38
-43
-14
-9
0
0
-46
30
-37
-19
-3
7
-61
-21
-9
36
-26
-66
-56
-10
0
0
6
2
-32
14
-2
28
9
-25
-39
-17
-15
20
-57
-1
0
0
-16
0
-26
0
-22
40
-5
-38
5
0
-63
-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
5
-9
-28
-33
2
31
21
17
26
-2
0
0
0
0
0
0
0
-39
-32
14
0
0
17
3
0
0
0
0
0
0
0
0
-12
-32
36
-15
1
-5
-23
8
-1
-5
0
0
0
0
0
0
0
-1
0
-6
3
0
0
11
1
0
0
0
0
0
0
0
0
-20
0
46
27
59
7
32
-17
-18
0
0
0
0
0
0
20
0
0
-9
-21
0
0
35
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-17
-32
-8
19
-26
-98
-4
-8
-16
-53
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
14
27
22
24
-19
11
9
-19
11
10
45
-23
0
0
-56
-32
-1
23
-15
-2
-1
-1
-12
5
-44
18
61
-71
0
0
-10
-15
3
8
67
9
15
-53
-9
2
-47
-32
-4
15
0
0
-6
0
-38
-8
31
-9
-10
-21
44
11
-8
-48
1
-11
0
0
-19
0
3
0
-1
-27
0
13
-6
12
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-11
1
0
0
0
0
0
0
26
-54
0
21
33
0
0
9
29
39
0
0
5
0
0
0
38
-19
7
-26
8
0
1
0
33
-36
0
0
0
0
0
0
0
-9
13
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
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
-4
0
0
0
0
28
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
-7
0
0
0
0
15
0
0
0
0
0
-1
-6
-3
0
0
24
0
0
0
55
-5
-3
-29
-2
0
0
6
0
14
0
0
0
0
0
0
6
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-7
-18
35
-24
0
0
72
-15
-13
-3
-18
20
-7
19
15
20
-16
-5
4
-81
0
0
-23
-2
-26
-29
3
-23
3
28
-5
28
-20
-6
-37
-36
0
0
-24
0
0
0
-8
-26
3
-20
-14
-1
23
-12
-11
-5
0
0
-9
0
-1
0
-35
25
18
15
6
0
0
-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
-12
7
3
10
-5
0
43
23
-26
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
3
0
-14
0
0
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
7
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
-4
0
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
-32
1
14
0
-11
-14
0
-28
29
-2
10
31
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-22
-1
-18
7
-8
-13
-10
-6
-31
-27
-20
0
0
-68
1
-5
20
15
-19
-20
-16
-33
-8
-2
98
-44
-45
0
0
13
0
3
-11
-5
24
0
76
-46
-36
-18
6
9
-22
0
0
0
0
0
0
-2
-18
0
27
-5
0
0
14
0
23
0
0
-6
0
0
0
-22
0
0
34
40
-5
1
27
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
16
-41
10
0
0
-7
9
2
9
-17
-72
37
23
25
-82
-16
29
12
-36
0
0
33
-28
15
10
38
-52
11
-23
-32
-30
-51
49
32
-8
0
0
-4
0
-3
0
-3
3
9
-16
9
2
24
-10
-10
14
0
0
2
0
0
0
-16
-16
-4
4
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
-15
8
5
14
0
19
-1
-26
29
31
0
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
0
0
0
-3
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-24
0
4
0
0
0
-1
0
-19
0
0
0
0
0
0
-1
0
0
39
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
-7
-63
0
22
3
-4
-8
-35
25
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
-29
-4
-109
7
-30
-2
-41
18
8
33
-55
-6
0
0
-4
1
-5
15
-30
-38
0
6
20
17
1
-24
27
4
0
0
3
8
16
-3
-23
48
-2
-3
15
-34
32
8
60
-12
0
0
0
0
0
0
0
-19
0
5
0
0
0
-8
0
40
0
0
-10
0
-3
0
16
9
0
-9
21
0
2
12
-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
2
-44
32
2
0
0
18
0
-32
-6
2
-43
18
-9
4
19
-13
2
-23
-5
0
0
0
0
14
-12
-4
-12
-30
-16
4
0
-24
27
5
29
0
0
-12
0
0
0
-25
-16
2
9
-2
0
9
-28
-4
-25
0
0
-3
0
0
0
21
-1
0
0
1
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
-5
-6
4
-28
0
0
0
39
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
-53
-36
0
5
2
0
15
34
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
66
0
-11
16
0
0
-8
-3
-2
0
0
-28
0
0
-2
-38
55
4
-24
-19
0
1
-27
-21
-16
0
0
-13
0
0
0
-2
27
-4
34
-9
0
-3
-3
-57
-15
0
0
4
0
0
0
1
-3
0
-3
0
0
0
16
0
25
0
0
1
0
0
0
-10
18
0
22
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
19
0
0
1
5
0
-7
-57
-55
-4
-24
63
-61
70
-14
64
12
0
0
39
5
-11
8
-10
-77
-39
-23
16
18
22
-3
-81
-16
0
0
0
0
0
6
-29
34
0
20
8
-13
3
3
-35
14
0
0
0
0
0
0
-16
-15
4
-31
2
0
-11
13
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
11
2
0
12
0
6
1
55
-21
-11
0
0
0
0
0
0
0
0
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
-9
0
6
0
0
0
38
0
-4
0
0
0
0
0
0
0
0
0
-14
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-7
45
0
31
23
0
1
33
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
-4
2
-13
0
-18
22
-5
0
-8
31
-18
0
0
1
0
0
-2
-24
37
-32
-44
-9
-6
3
-31
7
-15
0
0
30
0
1
0
-16
-34
6
15
33
-13
-3
-2
-20
-44
0
0
0
0
0
0
0
31
0
-25
2
0
0
0
0
-62
0
0
-6
0
0
0
-7
0
0
-9
31
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
-29
21
-63
29
2
-14
-6
51
16
22
11
21
59
1
0
0
-101
9
18
8
-36
33
46
-36
-54
-6
-38
-43
-59
22
0
0
7
0
0
0
-5
-44
2
60
5
-3
26
-31
2
0
0
0
-5
0
0
0
24
-69
14
20
3
0
11
-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
-2
-9
19
12
-7
0
-19
-61
-18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-8
0
0
0
0
0
0
0
0
0
11
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
0
0
0
-2
0
35
6
0
0
28
0
17
0
0
0
0
0
0
2
0
0
-15
-7
2
0
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-4
0
46
-17
0
-12
-6
-7
2
10
-52
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
6
-49
-3
0
25
0
28
12
2
50
-52
-29
7
0
0
-4
-9
15
21
29
7
-41
18
-85
-13
-1
24
43
4
0
0
8
0
-22
0
35
-51
0
-68
29
12
-42
18
-7
12
0
0
0
0
0
0
-4
1
0
-1
-11
0
0
48
0
-33
0
0
-52
0
0
0
-34
0
0
-12
24
0
0
133
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
18
3
7
28
35
14
3
-39
-27
36
29
-35
-37
41
0
0
11
-32
-38
9
46
-42
-10
9
-12
62
31
39
-31
34
0
0
12
0
-5
8
0
26
-1
-29
3
-15
-1
-6
15
-9
0
0
-43
0
-15
4
37
27
3
12
-36
4
-34
-2
62
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-26
3
3
-3
29
45
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-4
-18
-9
0
20
0
6
12
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
-26
0
0
0
-16
-44
66
0
0
0
0
0
0
29
0
0
35
-3
0
0
20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-18
-18
-45
14
5
-49
0
67
36
35
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
18
4
31
20
7
48
30
-32
44
-8
10
-9
0
0
5
31
-38
-12
57
46
15
61
-24
-15
12
-62
-69
-6
0
0
-19
0
13
-4
12
-24
3
-17
22
-34
-7
14
13
-13
0
0
-11
0
2
1
0
19
0
-10
11
0
0
-5
13
-26
0
0
2
-4
3
-23
50
20
-1
0
14
-4
-5
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
12
15
0
47
-27
-15
-50
0
-24
13
72
-22
8
-28
0
0
6
1
-18
8
-41
-46
12
9
13
96
14
-26
-10
-47
0
0
4
0
1
0
-44
-27
14
6
-13
23
-31
-10
14
11
0
0
0
0
0
0
8
0
-14
3
0
0
4
8
-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
-3
-16
18
5
-12
6
10
-5
13
-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
2
33
0
2
0
0
-6
14
0
0
0
0
0
0
0
0
0
-18
0
3
0
0
0
-19
0
0
0
0
0
0
0
-2
0
-7
1
-8
0
13
-1
-23
0
0
0
0
0
0
1
0
0
-20
7
0
0
17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-14
6
-10
-94
-25
8
-23
65
13
2
-4
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
6
9
-22
-36
21
0
-23
0
-39
2
34
-39
23
0
0
8
-12
-9
-22
58
30
-18
-37
-24
-31
-24
-14
-12
15
0
0
-5
0
-19
-22
-61
-22
-15
-8
0
-28
14
-8
38
-20
0
0
7
0
0
10
-21
-23
0
-5
8
0
0
25
0
-51
0
0
-3
0
0
0
-31
0
0
25
7
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-36
81
-1
4
5
-5
-25
3
79
33
0
0
61
27
21
21
6
-56
-17
27
22
-24
3
-20
15
7
0
0
31
0
0
0
-8
-4
-23
-1
-25
4
40
-28
-22
-24
0
0
15
0
0
0
-53
18
7
17
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-35
-4
21
27
-11
1
-7
0
64
0
0
0
0
0
0
0
0
-7
-2
0
-1
0
-2
0
11
0
0
0
0
0
0
0
0
0
10
0
0
0
8
0
2
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-3
0
0
0
0
4
0
-6
0
6
0
-15
0
15
0
0
-8
0
0
0
0
0
0
10
3
0
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-17
-9
0
-6
-15
16
-12
-25
-29
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-5
-8
-14
8
-22
3
-29
8
43
17
-35
-32
26
0
0
-40
-5
1
-5
-42
12
2
-29
-17
-1
0
-32
3
-11
0
0
59
1
0
-1
9
-54
22
-45
0
-8
10
-14
-17
18
0
0
-17
0
0
0
0
-3
2
-29
5
0
0
9
0
9
0
0
-103
0
0
0
16
1
-1
14
-35
8
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
19
-29
6
63
1
-17
-3
18
-19
48
0
0
41
29
-6
-4
-33
19
-10
31
-18
18
-20
-19
13
-33
0
0
0
17
0
0
-7
-4
0
-12
4
18
8
-6
-21
10
0
0
0
10
0
0
-19
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
22
0
-19
-4
1
23
0
8
-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
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
4
2
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
27
0
0
11
6
0
-1
15
0
-5
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
13
-2
0
-9
2
0
1
-37
-4
0
0
15
2
0
0
1
45
-1
0
20
39
-8
0
16
-6
0
-15
6
-28
0
0
0
-28
19
0
-13
9
1
3
3
1
-3
1
5
8
0
0
0
2
0
0
0
-2
0
9
0
0
0
0
0
1
0
0
-16
4
0
0
20
0
0
0
7
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
5
13
8
9
0
-2
0
-11
-31
-9
0
0
-5
5
68
-1
39
7
-5
-84
10
3
-16
-1
37
-19
0
0
0
0
-26
0
0
-32
0
0
-4
0
0
7
0
18
0
0
0
0
-21
0
-6
0
0
2
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
1
23
-3
-41
0
0
0
45
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
3
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
13
0
1
0
8
12
-1
0
-22
0
0
-41
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
9
-20
0
-6
26
0
-16
-20
-7
0
17
24
-35
0
0
0
0
-5
1
2
33
-13
33
6
-2
0
-2
0
-53
0
0
2
0
-27
0
7
5
0
12
22
1
0
1
0
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-1
-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
30
-41
-5
-7
-28
-14
-2
4
-3
1
-27
0
0
38
0
0
58
-8
-12
11
27
-25
0
17
-24
-48
-19
0
0
0
0
0
15
-6
47
0
20
-2
0
0
5
3
7
0
0
0
0
0
-10
-10
0
0
-4
0
0
0
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
-1
-3
-35
1
-1
-1
16
-26
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
17
-2
-15
-2
1
58
2
-5
-6
-25
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
2
-30
-4
38
-53
10
17
-8
-6
46
0
0
3
0
0
34
-28
-3
-9
32
31
0
0
8
-15
48
0
0
-3
0
0
1
1
-32
-2
0
-28
-10
0
0
-4
4
0
0
-4
0
0
-18
0
-31
0
11
2
0
0
-4
0
-43
0
0
0
0
0
18
-2
0
0
38
16
4
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
-12
3
-1
29
-24
-13
-21
-10
5
-17
0
0
-18
-18
-42
-16
21
-26
-15
17
48
-37
19
-13
-12
-10
0
0
2
0
0
30
1
-41
-31
-2
-24
7
-32
-45
0
17
0
0
48
-6
-4
-4
44
3
-29
-33
11
-56
-1
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
12
-33
-6
19
40
-24
-7
-23
-7
6
0
0
0
0
0
0
-62
3
1
32
1
4
0
27
0
20
0
0
0
0
0
0
-32
0
-6
6
0
69
0
-6
0
35
0
0
0
0
0
0
15
0
5
-26
-4
-11
8
-37
3
9
0
0
0
0
0
0
22
-2
0
23
-29
-26
0
-14
0
-71
0
0
0
0
0
0
-19
0
0
-31
55
57
0
31
-13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
11
-11
42
0
16
-14
-12
-28
-2
-24
26
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
36
-25
7
6
-8
-8
-8
51
25
13
51
18
0
0
6
5
9
-2
-13
-28
8
-11
-32
-46
15
8
-20
22
0
0
-14
-42
-50
7
-23
-14
-22
-37
-3
-43
21
-59
-27
15
0
0
-1
0
0
0
30
14
-19
-18
3
18
0
3
0
-76
0
0
-17
12
-1
28
-14
-32
26
14
-2
77
11
-5
-37
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-67
9
36
-6
-12
12
0
0
14
3
-22
-26
2
-4
0
-36
7
37
-11
-15
11
-34
0
0
-36
-1
-58
-42
-23
6
-15
10
-12
78
-74
-2
-7
32
0
0
25
0
22
5
22
2
15
0
67
10
26
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
-2
8
-6
-12
48
-59
-36
36
-22
-4
0
0
0
0
0
0
-13
-45
-40
1
14
3
0
-11
-16
-21
0
0
0
0
0
0
0
-7
-57
3
-2
5
-40
0
25
-14
0
0
0
0
0
0
-5
-28
11
58
20
3
-12
0
-8
-22
0
0
3
0
0
0
-12
30
0
12
6
-15
64
9
-12
-23
0
0
1
0
0
0
-7
28
0
8
92
5
-2
-33
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-18
-12
10
16
33
-10
-1
-43
-30
-72
21
24
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-33
2
-2
87
1
19
13
9
-3
-16
-19
1
-67
0
0
45
15
1
-8
14
2
-35
-44
-13
-45
23
60
32
-20
0
0
-11
8
-48
-20
-25
32
60
-65
-30
14
6
-45
-1
-1
0
0
14
0
-8
-17
17
-19
9
-40
-51
-8
30
-53
-11
35
0
0
54
1
10
0
-24
-16
-15
-33
8
-6
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
11
-1
-21
-12
-58
0
0
-18
15
-22
18
30
-22
-6
-4
46
13
14
19
-10
-24
0
0
15
0
0
0
-17
28
35
6
2
8
-20
26
0
-4
0
0
8
0
0
0
13
-13
15
13
3
4
-1
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
23
3
-1
21
32
-7
0
0
-13
-28
0
0
0
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
-17
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
-7
0
-6
0
0
0
-27
0
18
0
0
0
0
0
0
0
0
0
-39
6
0
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
21
0
-10
11
-3
-26
-4
9
-11
17
-50
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
15
-42
4
19
-19
40
-9
-39
13
14
8
2
20
0
0
1
-3
0
0
-28
-46
-1
-10
30
-4
0
39
-5
2
0
0
-2
0
-4
0
13
45
33
-17
-7
12
5
12
3
3
0
0
11
0
0
0
6
-7
10
5
-21
0
0
18
0
-24
0
0
0
0
-3
0
-3
1
1
-16
-51
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
16
36
25
0
0
64
14
-12
-66
-50
-13
-8
2
-17
14
3
-31
-23
2
0
0
-25
16
-22
-17
5
32
-1
19
-15
6
-21
-13
36
9
0
0
30
0
-4
0
-74
-6
-37
14
54
-10
36
-50
-43
-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
-8
23
-14
-22
-20
21
9
7
-18
-47
0
0
0
0
0
0
0
0
13
3
0
-4
0
8
9
-5
0
0
0
0
0
0
1
0
-1
-20
0
-9
-4
42
-2
16
0
0
0
0
0
0
-14
0
-9
30
-11
5
0
25
24
9
0
0
0
0
0
0
0
0
0
39
-1
20
-5
-23
6
5
0
0
0
0
0
0
5
0
0
22
3
0
5
-13
25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
21
-5
20
-31
-2
3
30
-30
-49
-38
-42
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
27
10
-19
19
10
19
-5
9
-26
-19
16
-6
0
0
16
4
-3
2
1
-8
-13
-24
-33
9
-14
-2
-63
3
0
0
-20
15
-49
40
-111
-72
9
37
-31
-4
-41
-51
20
-12
0
0
51
0
-2
-38
7
-15
-52
28
0
1
-6
-15
-20
-40
0
0
0
-8
6
3
25
6
0
34
1
-56
-49
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
76
14
20
31
9
0
0
45
-18
19
-21
-7
-28
25
12
-1
11
-27
39
20
-1
0
0
-27
0
0
-25
-22
66
-14
46
6
-31
-52
59
1
59
0
0
8
0
0
-2
-41
-19
11
90
-24
20
-34
62
-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
27
-32
-5
-1
2
-8
-18
11
-5
29
0
0
0
0
0
0
0
0
-13
-13
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-34
12
4
0
0
0
0
0
0
0
-7
0
8
0
0
0
17
2
8
0
0
0
0
0
0
0
7
0
54
10
0
0
-10
24
23
0
0
0
0
0
0
19
0
0
3
11
0
0
-5
-17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
16
11
-19
40
8
45
10
3
5
-1
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-22
-22
-20
7
16
-7
45
35
16
82
-42
-10
0
0
-1
-12
16
-9
-12
-3
33
25
51
17
38
3
-70
-61
0
0
-14
-1
1
0
53
5
-16
-26
-53
68
-39
78
12
-22
0
0
-15
0
3
9
28
55
13
62
-53
7
4
-22
29
-8
0
0
-10
11
5
-23
114
3
22
29
-44
53
-21
16
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
8
-38
-7
21
35
0
0
-9
22
29
-1
-27
-20
35
-1
32
26
-20
1
-44
40
0
0
-7
0
-1
-8
-3
-10
26
27
2
1
-7
3
-3
42
0
0
3
0
0
0
27
-15
23
-13
9
-1
-4
-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
4
-39
25
22
9
-8
-3
15
-19
1
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
7
-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
0
8
-6
0
-2
29
0
27
0
0
0
0
0
0
2
0
0
61
7
0
0
18
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
35
9
7
-4
6
20
22
-29
1
53
32
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-2
-3
28
-27
48
-17
-4
-19
7
0
14
-5
-40
0
0
10
-1
-2
2
-5
21
-39
-52
5
3
0
38
-17
-8
0
0
33
0
-12
10
7
27
-1
23
-64
-20
-3
49
-22
23
0
0
0
0
0
0
10
-3
2
-3
-12
0
0
65
-3
-17
0
0
7
6
0
0
-13
-8
0
45
-7
27
0
-27
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
5
78
-48
51
0
0
-4
-3
15
5
-33
-20
2
-9
-30
8
24
50
5
-17
0
0
15
0
0
15
-12
41
18
69
-14
0
14
42
-8
15
0
0
-12
0
0
0
-10
-19
-1
9
-7
0
27
-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
3
0
-18
44
-24
2
0
-32
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
19
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-26
0
8
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-6
0
0
-23
-28
0
20
79
-2
3
52
69
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-14
9
-14
18
0
4
-6
-10
1
0
18
-1
0
0
8
0
0
-9
-2
4
16
-44
-22
11
0
0
9
14
0
0
-39
0
3
-4
-20
-61
2
-20
-18
-2
-1
0
-24
6
0
0
0
0
0
0
0
-6
0
-52
7
0
-1
49
0
-8
0
0
17
0
0
0
-5
-7
0
10
10
16
45
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
52
4
0
0
-9
-39
-48
-66
4
-16
40
-24
-20
-8
-11
61
20
-5
0
0
53
-13
-17
-3
67
-20
5
1
-41
-13
13
37
22
6
0
0
8
4
-8
-18
11
-32
2
4
48
-16
4
102
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
29
-1
-42
-19
18
67
-7
-38
6
18
0
0
0
0
0
0
1
9
-25
-43
-2
0
4
-33
-18
37
0
0
0
0
0
0
9
13
4
-40
-1
9
0
-41
0
-44
0
0
0
0
0
0
-8
0
0
13
15
-8
0
14
43
-2
0
0
0
0
0
0
2
21
0
35
-40
-25
22
63
-27
-11
0
0
9
0
0
0
-6
-1
0
-10
18
18
4
-41
48
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-34
7
16
16
-37
46
5
21
15
-31
38
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
37
55
53
-27
16
29
29
-23
56
-85
-22
9
-34
0
0
35
0
-27
58
-43
5
16
13
55
-52
28
-8
3
-10
0
0
2
5
-33
40
-20
-17
-17
-19
-23
-15
-5
-6
-65
-26
0
0
-24
2
23
13
-29
-17
-52
15
-42
11
-11
40
15
18
0
0
-22
-42
-5
-1
-25
6
15
-33
31
28
-5
17
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
-3
0
0
-56
10
-11
-52
5
-16
-34
-9
-36
-21
-5
-33
9
20
0
0
24
0
5
-20
0
-10
-17
-21
23
-36
-24
-6
73
-54
0
0
0
3
0
-10
-33
-34
22
22
27
22
24
-18
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
-6
7
1
-17
64
-19
-20
27
6
-56
0
0
0
0
0
0
0
0
14
2
-4
0
0
23
-23
15
0
0
0
0
0
0
0
5
6
16
10
5
0
29
4
4
0
0
0
0
0
0
0
0
6
-17
0
0
0
5
-30
25
0
0
0
0
0
0
0
15
0
-39
6
18
0
30
25
12
0
0
0
0
0
0
12
0
0
46
-72
5
0
54
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
9
-1
-27
-17
38
4
24
27
-20
8
30
18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-20
-17
-3
-22
5
3
19
0
80
43
19
5
-5
0
0
-46
13
-21
-20
4
-21
-6
-16
-64
-7
-16
-55
66
-43
0
0
6
14
-41
15
37
16
-18
-59
-15
17
-17
1
17
-12
0
0
19
0
0
5
0
2
-11
-38
-20
1
2
1
10
-14
0
0
25
-12
1
-10
3
-56
20
39
-5
-3
5
-33
-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
-30
0
0
41
4
47
8
4
53
-47
-37
-1
14
-5
28
-17
-21
0
0
-45
-13
-24
-40
14
12
27
-9
-47
14
-52
-38
1
18
0
0
-51
0
0
-2
-8
0
14
-49
6
0
45
-32
-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
-19
-1
-37
-19
-2
14
-32
0
12
-58
0
0
0
0
0
0
-5
0
6
-3
1
0
0
-11
-13
-7
0
0
0
0
0
0
4
0
-8
-25
-3
-19
0
-1
-7
-34
0
0
0
0
0
0
-3
0
13
27
5
-12
0
-9
-7
-32
0
0
0
0
0
0
10
0
0
11
-29
64
22
28
40
-41
0
0
0
0
0
0
-10
0
0
26
-15
0
0
33
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
-24
9
21
-107
40
-43
-81
3
-44
-56
-22
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
6
-13
29
50
28
-47
-4
23
-55
33
37
-29
3
0
0
27
-1
13
21
1
-34
13
45
-20
-41
-30
1
-42
-1
0
0
-70
-15
-26
1
62
30
-47
-26
22
22
0
-2
22
-17
0
0
-5
0
-9
7
21
12
-14
-62
-10
-20
-5
-23
14
64
0
0
2
6
7
-4
20
0
-13
13
2
-6
-29
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
22
0
-22
53
-17
12
24
11
7
10
-1
-17
0
0
61
0
0
0
-6
-1
-2
13
-23
-7
-14
45
14
-1
0
0
97
0
0
0
6
82
25
7
-24
-13
-6
-29
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
-21
-12
18
96
-10
21
-28
-18
-25
51
0
0
0
0
0
0
0
0
20
-16
0
0
0
-10
3
-12
0
0
0
0
0
0
12
0
5
-40
2
3
-6
-11
23
-20
0
0
0
0
0
0
0
0
0
29
4
0
0
-10
-18
-5
0
0
0
0
0
0
0
-25
0
27
-17
4
-3
68
8
45
0
0
0
0
0
0
-2
0
0
17
5
0
0
2
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
-1
0
-24
40
-11
66
40
-10
-4
32
-9
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-23
7
-37
-20
17
10
17
35
6
-56
0
-15
0
0
50
-1
-38
-5
-24
-46
-5
-76
-84
6
-8
-41
10
-9
0
0
57
0
0
0
-16
7
0
-12
-10
32
9
21
-44
13
0
0
1
0
0
0
0
-23
10
3
-3
0
0
78
2
26
0
0
19
4
0
0
-7
22
-2
18
-6
13
-20
17
-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
-18
0
0
-11
-31
0
15
24
-3
-11
11
-16
-5
0
0
0
27
0
0
0
-25
1
0
0
0
0
-2
0
11
0
0
0
-7
0
0
21
-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
-6
0
-35
0
0
-8
16
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-2
2
0
0
2
0
0
-1
31
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
46
0
0
0
13
0
-10
30
0
0
7
15
-4
0
0
15
60
0
0
-39
-29
11
-62
5
-14
0
-24
-10
30
0
0
0
-8
0
0
-4
-14
0
-11
10
4
0
0
-4
9
0
0
0
9
0
0
0
-2
0
4
0
0
0
-5
0
-18
0
0
0
35
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-6
18
27
-15
13
-34
5
34
-4
0
0
0
0
64
0
-3
42
36
-33
-6
0
-8
21
-28
2
0
0
0
0
27
0
-18
-22
6
-33
6
0
-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
-65
22
2
21
-2
18
3
39
10
-1
0
0
0
0
0
0
0
0
-3
-5
-4
0
0
22
0
12
0
0
0
0
0
0
0
0
0
-21
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
22
0
0
0
29
0
-1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
43
0
50
3
0
9
-8
21
-13
-17
-45
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
-59
-6
53
-43
0
45
-60
26
2
-15
-33
-46
0
0
20
0
31
-19
-28
-13
4
37
42
8
0
-6
-72
23
0
0
10
0
-2
0
-7
-15
28
63
-24
-2
-11
2
9
-6
0
0
0
0
-5
0
0
-24
0
-28
0
0
0
1
0
-4
0
0
-13
0
27
0
-4
0
-5
-1
67
0
0
39
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-54
0
-53
-7
-1
-23
0
-11
-76
0
0
0
0
0
42
8
6
0
-4
-2
0
0
0
0
20
0
0
11
0
0
41
-7
-4
0
23
-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
15
0
2
-1
25
-33
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-24
0
6
0
10
10
0
-5
10
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-1
-22
28
41
0
40
23
5
0
6
1
-28
0
0
-3
0
0
41
13
-41
9
24
38
-6
0
-4
-29
33
0
0
0
0
0
-7
0
2
0
0
-3
3
0
0
0
3
0
0
0
0
0
-29
0
2
0
21
0
0
0
-5
0
-3
0
0
-1
0
0
-35
-1
0
0
2
14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-11
-12
-8
-53
-20
20
-16
5
-15
0
0
6
0
-4
-1
12
-17
-21
-67
-52
46
0
-3
0
-26
0
0
24
0
21
7
47
-72
-10
-2
30
-15
-6
7
44
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
55
74
-39
-66
10
17
-27
5
-48
0
0
0
0
0
0
-11
-3
1
-21
2
1
-12
-28
0
-7
0
0
0
0
0
0
-2
0
-9
-21
-17
13
-12
-9
5
10
0
0
0
0
0
0
-2
0
-1
-16
17
9
-14
10
-6
1
0
0
0
0
0
0
25
-13
0
-26
19
-17
-1
17
0
39
0
0
0
0
0
0
22
0
0
0
18
-12
2
-27
-4
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
9
3
-9
-33
39
-15
-37
-31
-54
-38
-29
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
21
8
8
-15
-15
-13
-39
-5
5
-11
24
4
-12
0
0
-25
-54
-14
-3
-22
65
-1
-30
-3
5
-37
14
-40
-18
0
0
36
2
-7
4
22
-42
-18
-79
18
-49
-4
18
-7
-2
0
0
0
0
0
0
-17
19
-6
47
-34
5
0
-7
0
-27
0
0
-75
18
16
15
20
-40
-4
20
-45
36
-3
-39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-22
-95
1
-44
-8
-14
0
0
-28
-23
-17
66
-2
32
20
13
13
-20
-25
-54
37
-19
0
0
-51
7
-3
0
3
49
29
4
24
80
-20
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
0
0
0
0
-21
0
7
-46
-17
13
-3
-28
5
-6
0
0
0
0
0
0
0
13
-20
-14
35
-3
0
-4
-11
-7
0
0
0
0
0
0
17
5
-49
66
-5
-37
-4
72
-8
12
0
0
0
0
0
0
-9
0
15
13
0
2
-4
4
-15
0
0
0
-9
0
0
0
0
28
0
23
-42
-20
4
13
8
-53
0
0
0
0
0
0
34
-4
0
-16
11
27
10
-29
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
2
-15
-10
48
11
4
-21
-71
-13
53
42
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-39
-26
-7
7
-7
-12
-53
-9
11
-15
-13
9
3
0
0
2
-38
3
-20
33
-4
4
-17
-22
-61
30
-29
-6
12
0
0
-13
-2
14
12
2
18
-22
-28
-6
32
13
1
-11
-9
0
0
-4
-12
-2
0
-12
32
-23
-2
-11
-16
-10
75
-15
-34
0
0
-3
0
10
0
-26
-11
2
15
-20
24
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
84
39
20
25
23
3
16
0
0
0
0
0
0
11
23
-70
41
-3
13
10
18
0
44
0
0
-6
0
0
0
-11
-1
54
0
0
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
19
-10
0
0
0
7
1
-13
0
0
0
0
0
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
-3
0
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
-10
0
0
-4
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
-7
0
10
0
-11
-6
-7
-4
-33
12
71
35
46
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
22
10
52
10
8
5
-43
-8
-2
-3
11
-9
0
0
41
-1
0
-11
-46
-48
4
4
6
-17
2
9
5
15
0
0
-2
0
0
0
11
17
0
-2
54
32
13
0
5
18
0
0
0
0
0
0
-4
-10
0
-24
-1
0
0
37
0
66
0
0
14
0
0
0
-3
16
2
35
13
-3
-3
61
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
60
16
43
-14
45
-2
38
0
0
17
1
21
8
1
-30
-6
62
37
67
-12
60
55
64
0
0
-25
2
-12
-11
22
31
26
47
19
14
10
-30
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
2
55
62
9
29
-74
31
-40
10
28
0
0
0
0
0
0
0
-2
-10
-31
0
0
3
-29
-6
21
0
0
0
0
0
0
5
-10
-24
-26
8
-23
18
32
67
-2
0
0
0
0
0
0
0
2
0
32
0
-2
0
-31
-12
48
0
0
0
0
0
0
0
41
0
49
28
-11
-11
26
9
-16
0
0
0
0
0
0
4
0
0
13
0
0
0
11
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
5
9
-34
-17
-17
-3
16
17
7
-21
-20
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
29
-4
0
-6
-16
8
-12
5
-19
-32
-14
-8
-14
0
0
0
-33
-32
-19
16
-22
-37
-18
83
-16
-30
-19
-49
-23
0
0
-47
4
12
-5
43
33
10
-3
17
8
-47
30
8
8
0
0
0
0
-8
34
25
-9
6
68
18
-1
0
4
-25
17
0
0
-49
0
32
5
52
-8
5
61
12
30
-31
-21
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
-2
-2
64
-27
20
-20
0
0
34
0
-5
6
-11
3
27
0
5
-7
-33
94
1
7
0
0
-13
0
0
0
-58
0
27
47
5
-1
-4
19
-55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-6
-24
7
41
-11
-29
0
0
0
0
0
0
0
0
4
2
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
-23
0
13
-17
-4
0
-3
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
20
0
0
-1
10
0
-3
0
0
0
0
0
0
-15
0
0
47
-1
0
0
-1
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-3
0
-26
36
1
38
14
23
36
69
31
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
16
-19
1
-30
-10
7
-25
44
-16
-18
12
15
-26
0
0
33
27
23
-14
20
-21
-24
57
-46
-28
-5
-39
31
-41
0
0
16
0
-5
0
37
-6
-1
-13
-50
-2
-7
-15
55
0
0
0
-6
0
0
0
7
-38
-2
-33
-12
0
-2
68
0
-25
0
0
-14
0
19
0
-24
-19
0
-7
-10
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
-18
-40
-9
-19
-1
0
14
-25
1
-42
0
0
0
0
0
0
-15
-3
4
-12
-1
0
0
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
-20
55
31
22
-2
34
-3
4
52
-21
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
40
0
0
0
29
0
18
0
0
0
0
0
0
-6
0
0
47
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-7
0
-33
-54
0
24
-3
-12
1
-20
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
5
-15
52
16
-1
21
-26
5
0
11
3
30
0
0
-9
31
3
-1
28
-17
-1
23
-31
-3
0
12
0
-36
0
0
-23
0
0
0
16
-18
0
25
25
25
-12
0
-3
-36
0
0
0
0
1
0
0
-3
0
69
-5
0
0
-1
0
-20
0
0
-2
0
0
0
32
0
0
-30
-36
0
0
12
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
0
0
0
0
0
0
0
0
0
0
119
-28
-41
-14
0
0
-55
0
17
-13
19
-18
-24
-23
-11
36
173
-2
-1
-14
0
0
-8
0
3
0
9
-22
12
8
-25
-38
32
-61
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
18
-26
1
-68
6
-17
13
25
-37
36
0
0
0
0
0
0
0
0
-9
36
-1
-16
0
-16
-3
1
0
0
0
0
0
0
0
0
-4
-6
0
-2
-2
16
-2
-10
0
0
0
0
0
0
-13
0
0
-11
0
0
0
-1
0
-16
0
0
0
0
0
0
0
-14
0
-26
-1
8
6
-7
17
3
0
0
0
0
0
0
5
0
0
-11
-15
0
-21
2
-29
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
1
-17
-2
-88
63
34
11
-24
9
22
37
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
10
19
7
-16
-18
3
1
8
64
41
-20
-32
0
0
-8
3
-3
-28
46
-36
-33
-9
-18
-9
26
23
21
-12
0
0
-9
0
-7
0
-74
-6
-7
-32
45
-16
-8
-10
-24
-24
0
0
-20
0
0
0
4
15
-20
24
26
14
21
21
4
47
0
0
54
0
3
1
48
-2
41
14
-19
1
-62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
35
0
0
0
-34
-72
-8
-48
10
-11
16
17
-32
35
0
0
94
0
0
0
-53
-43
28
-23
-41
1
41
-2
-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
8
-24
32
22
-9
-20
33
4
-4
-35
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
2
-32
0
8
0
13
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
14
0
19
0
0
0
40
0
-7
0
0
0
0
0
0
28
0
0
26
0
0
0
25
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
10
0
-28
39
0
-1
52
10
12
46
36
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
5
22
-52
29
3
-7
-3
-71
4
26
7
4
2
0
0
7
-4
1
13
41
-16
49
-34
-4
-7
-2
-14
6
-10
0
0
-21
0
-3
0
-5
-9
-2
56
46
-8
-6
15
34
78
0
0
-8
0
0
0
-21
27
0
11
-25
0
2
34
0
9
0
0
25
0
0
0
-15
27
7
3
5
8
0
-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
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-93
-8
11
-74
0
-51
11
-30
-14
18
-24
27
46
-55
0
0
9
-22
-59
-24
-14
-38
-18
33
-22
-18
0
-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
0
-11
24
45
-30
-33
19
-6
42
29
-27
0
0
0
0
0
0
0
14
19
3
13
-4
0
30
7
11
0
0
0
0
0
0
0
17
34
-28
-26
-5
28
-19
37
-27
0
0
0
0
0
0
0
0
0
-44
-2
1
0
10
-2
-15
0
0
0
0
0
0
0
12
0
-8
33
-6
0
19
7
-14
0
0
0
0
0
0
4
-4
0
10
11
9
2
-19
-19
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-14
11
10
12
1
-6
49
-7
-15
37
-25
32
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-13
41
-6
36
-10
1
10
71
-69
23
55
-7
-16
0
0
32
-13
-24
9
-15
11
13
66
56
10
-4
35
3
-39
0
0
30
2
18
6
36
-27
-2
-37
42
-7
-22
6
19
-64
0
0
-6
0
3
-58
0
30
40
-37
-42
4
-21
-34
11
-24
0
0
1
-8
-35
-23
4
-19
8
-9
-26
-13
28
-79
-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
1
0
0
-49
1
55
9
-38
-28
-18
-32
-39
-26
-28
-39
28
-7
0
0
-56
0
13
-42
-15
0
-1
27
-17
-6
-20
36
-2
-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
53
0
-16
33
-27
-40
-6
-6
-4
40
0
0
0
0
0
0
0
0
9
-19
-1
4
0
-23
5
-39
0
0
0
0
0
0
0
0
-20
25
0
-12
11
20
-35
-20
0
0
0
0
0
0
-4
0
0
-12
0
18
0
-15
-49
2
0
0
0
0
0
0
5
10
0
-38
3
15
-13
-4
-20
4
0
0
0
0
0
0
-14
0
0
9
-4
0
0
6
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
7
-36
-15
22
11
-42
25
20
-17
-60
-3
-12
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
19
10
-11
6
21
-7
64
-4
28
-6
1
10
16
0
0
-27
29
20
-7
53
15
-21
-54
-18
-36
5
24
37
-1
0
0
0
20
-29
-13
-20
15
39
-1
72
-52
11
-17
-115
0
0
0
-47
0
24
7
11
-37
16
-43
-37
-14
31
-2
23
-17
0
0
23
3
-4
-3
27
0
-11
-26
-53
-6
5
-39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
12
-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
-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
-8
0
0
0
0
0
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
-9
1
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
-2
-34
0
22
-31
-8
0
-19
-1
-31
0
0
23
0
0
0
-6
11
-5
75
-9
0
0
-49
-11
20
0
0
20
0
0
0
0
0
0
-3
41
0
0
39
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-12
0
-1
46
0
1
-3
0
0
0
-6
-41
0
0
0
0
-9
0
0
-8
0
0
0
0
0
18
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-12
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
16
1
-22
0
-12
-6
1
0
0
-8
-41
0
0
-1
0
0
-38
0
17
0
16
28
0
0
5
0
-29
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
-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
81
0
0
-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
-5
0
0
-35
-8
-4
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
-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
-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
-48
2
0
0
-8
-5
8
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
7
1
-9
-8
-43
0
-12
2
6
0
-29
0
2
0
0
18
0
0
0
-19
-52
-10
-9
-27
1
0
10
0
-15
0
0
0
0
0
0
8
-15
0
10
-26
0
-3
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
13
0
0
-3
-39
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
-13
3
-18
-33
0
37
0
0
-8
0
0
0
5
40
0
-48
8
2
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-7
-39
-12
43
5
19
-33
-26
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
2
14
-18
0
-4
-2
-16
0
19
0
0
0
0
0
0
0
0
2
-1
1
-1
0
-3
0
0
0
0
0
0
0
0
0
8
0
5
16
0
0
-16
0
9
0
0
0
0
0
0
0
0
0
10
0
0
0
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
2
0
-9
22
-13
-11
-40
-60
-16
-30
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-6
-22
19
-4
-7
15
-22
-13
2
1
-12
-11
-15
0
0
33
-9
-2
-12
24
-3
1
14
-58
-20
1
-22
-33
29
0
0
53
0
0
7
-8
33
-6
-29
8
-9
-46
-8
2
-28
0
0
0
0
0
0
0
-34
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
-42
-5
-11
81
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
11
0
-21
0
0
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
4
0
0
0
-4
0
22
0
8
0
2
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-46
8
-9
11
2
-11
0
8
-13
-40
0
0
-2
0
0
0
9
31
11
3
20
17
0
30
3
-42
0
0
-2
0
0
0
-4
30
0
15
5
0
0
3
0
25
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
1
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
29
0
0
-30
4
0
-16
0
0
-3
0
0
0
-22
4
-13
-9
12
0
0
-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
-23
5
-35
0
15
1
44
9
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
14
-18
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
-8
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
-13
0
6
0
-5
16
0
11
7
5
-9
4
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
2
-7
-36
14
0
26
11
15
17
-22
39
-2
0
0
3
-1
2
-32
-16
-48
11
11
-33
-44
0
11
27
0
0
0
0
0
-2
0
-16
8
0
4
23
-8
-7
37
-11
25
0
0
0
0
0
0
0
5
0
19
0
0
0
0
0
1
0
0
-1
0
0
0
-8
18
0
-6
-22
0
18
-37
-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
-21
0
0
0
0
0
0
-4
-41
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
-2
12
0
0
0
-17
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
7
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-14
0
-16
45
0
15
-2
-9
0
-12
-14
-15
0
0
-3
0
0
7
-35
12
5
-28
18
0
0
14
-8
10
0
0
2
0
0
0
0
-19
0
42
-20
0
0
0
0
-21
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
66
0
0
8
0
0
0
0
-46
0
0
-9
0
0
0
-15
-16
26
-1
-7
0
0
34
0
-29
0
0
0
0
0
0
0
9
0
-2
-1
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-66
-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
-10
0
0
0
-31
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
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
4
0
-57
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
0
-76
-34
0
-26
-9
35
11
1
38
-47
0
0
14
0
0
0
-1
-58
13
12
-18
-5
-3
19
0
-35
0
0
0
0
0
0
0
24
0
-6
-5
4
18
14
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
43
0
-46
0
0
0
0
0
0
19
-2
4
-14
-26
0
0
-18
-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
22
-7
-48
1
1
0
23
-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
-14
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
0
0
0
0
0
0
0
0
0
43
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
0
0
0
0
0
0
0
0
13
0
0
0
16
-1
0
2
24
1
-9
30
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
5
-1
8
18
0
80
-46
25
-3
3
-38
6
0
0
19
0
-6
2
13
-79
-15
48
28
11
15
56
-9
-6
0
0
19
0
0
0
-16
-51
0
14
-1
5
63
-30
-18
4
0
0
0
0
0
0
0
-1
0
9
0
0
0
-17
0
1
0
0
3
0
0
0
-7
-5
0
52
-31
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
25
0
0
-1
0
0
-10
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
0
0
-48
0
-3
-11
-1
0
0
-12
-31
0
0
-23
0
0
-3
0
2
1
4
-42
0
0
30
8
67
0
0
12
0
0
0
0
-1
0
-19
-10
1
-5
21
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
8
0
2
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-9
0
0
-3
10
11
-3
-6
-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
-1
0
39
-27
14
2
-48
68
-62
-29
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
15
0
13
2
-32
13
-16
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
13
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
1
0
2
-7
-9
-6
0
36
-34
3
22
-71
6
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
-15
33
46
-31
-3
46
5
-12
-24
17
-27
24
0
0
-23
9
-13
-21
-17
-8
18
21
-14
-17
-55
11
27
-11
0
0
3
0
-9
15
-25
22
-10
-5
51
-15
-52
57
4
46
0
0
2
0
0
0
0
0
0
8
0
0
0
2
0
-6
0
0
19
0
-4
5
25
0
0
24
12
29
-27
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
18
0
26
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-11
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
-15
-24
0
-4
-51
-5
0
13
28
0
0
0
-11
0
0
0
-16
46
-17
50
-24
0
0
-54
-26
-20
0
0
52
0
0
0
19
0
0
-17
-44
0
0
1
0
22
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-9
-58
0
0
5
0
0
0
11
0
0
0
0
0
14
0
3
-9
0
-3
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
87
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
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
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
23
-10
-18
10
9
10
-18
29
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
8
0
0
0
0
0
0
0
0
3
19
0
0
0
-25
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
14
0
0
0
37
0
5
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
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
9
6
0
-30
32
1
-8
17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
-17
-35
-44
0
-16
15
-28
24
-19
15
-43
0
0
-4
-4
1
1
12
24
-28
-17
-36
16
-9
-37
24
-57
0
0
3
0
-1
0
34
-11
0
-37
-56
20
37
9
2
13
0
0
0
0
0
0
58
0
0
18
0
0
0
26
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
0
0
0
0
16
-2
-8
0
9
0
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
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
92
0
2
-12
0
6
-60
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-3
0
-39
-6
0
-75
-54
-31
-5
4
-13
0
0
0
7
-2
0
1
21
-34
-31
-16
-33
-9
-2
-70
-33
0
0
0
27
0
-9
0
-1
28
0
-73
9
-2
9
8
-2
0
0
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-10
0
0
-3
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-46
30
0
-5
-5
-1
0
15
42
-19
0
0
-3
0
0
0
-1
22
19
-11
-22
0
0
-1
28
12
0
0
2
0
0
0
9
-1
0
7
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
10
12
0
-15
1
0
0
3
50
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
3
-20
-25
0
61
-24
-1
1
23
-53
-36
0
0
-23
0
0
-7
-10
-36
14
-5
12
-15
2
24
9
5
0
0
1
0
2
0
21
-8
0
80
53
-4
4
4
11
-11
0
0
0
0
0
0
0
0
0
40
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
-32
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
-9
-5
0
30
3
-9
0
14
26
-6
0
0
1
0
0
0
59
35
-2
-13
-2
0
0
-16
2
-6
0
0
0
0
0
0
9
0
0
-35
-7
0
-1
-4
-16
-10
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
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
14
0
0
7
0
0
0
5
0
0
0
-2
0
0
0
22
2
-1
32
0
0
0
-11
0
36
0
0
0
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
73
0
14
-3
0
0
-10
11
0
0
0
3
0
0
0
-5
31
0
4
-14
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
-21
-27
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
0
0
0
0
0
0
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
-3
25
0
-1
0
35
-26
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
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
17
0
0
2
-1
-2
-5
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-3
0
25
0
0
-2
-21
-3
0
-32
2
-21
0
0
-28
0
-1
0
-3
2
17
-31
17
14
0
58
1
26
0
0
-8
0
0
0
32
-1
0
37
12
0
0
17
5
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-21
0
3
2
-42
-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
-5
0
5
0
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
-10
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
0
0
0
0
0
0
0
0
0
25
0
0
0
0
14
0
0
-4
0
51
-6
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-26
-3
-10
49
-42
0
-2
16
-14
28
21
-33
3
0
0
-32
-1
0
3
-8
43
3
-36
-21
-26
3
-64
22
-18
0
0
-14
0
-9
0
5
-12
3
-29
-4
18
14
20
9
5
0
0
0
0
0
0
0
0
0
-25
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
6
0
0
-1
0
0
0
0
-6
13
0
0
-19
0
0
0
-16
0
0
-9
-5
0
0
10
-12
-3
0
0
0
0
0
0
4
0
0
-7
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
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
-6
0
0
0
0
0
0
0
0
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
0
-4
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-33
-30
0
-4
0
21
0
-6
12
-12
0
0
-17
0
0
0
26
15
-9
-29
34
0
0
-23
2
-1
0
0
13
0
0
0
-47
21
0
11
0
0
-26
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
2
-6
-21
-28
0
12
-26
0
0
13
-19
-1
0
0
5
0
0
11
0
-8
11
6
2
1
0
43
-14
4
0
0
3
0
0
0
5
-18
0
7
18
1
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
-2
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
-1
2
23
-1
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-14
-1
46
3
0
5
-10
-15
0
1
60
22
0
0
4
0
4
5
34
-29
0
-52
21
0
0
21
23
27
0
0
-18
0
0
0
4
-27
0
-12
49
0
5
8
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
6
0
0
-9
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
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
1
0
4
0
0
0
-3
0
-1
0
0
0
0
0
0
-7
0
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
-47
7
20
-3
-95
-18
0
8
5
-8
-3
-48
-45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-34
25
-12
20
3
-12
-63
59
10
-4
-6
-26
-13
0
0
12
-18
7
4
-6
3
18
-16
-29
35
19
-27
23
36
0
0
26
3
39
10
-23
2
27
66
36
-2
16
-4
-19
-2
0
0
17
0
0
8
-12
-2
0
-47
-6
0
0
33
0
11
0
0
10
0
6
0
-8
-48
0
-16
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
15
-22
0
0
7
0
0
16
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-5
0
95
32
0
-2
9
0
0
-14
-24
1
0
0
-17
0
0
4
8
14
-9
9
4
0
0
24
8
-12
0
0
1
0
0
0
38
-14
0
-2
4
0
2
0
13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
13
-6
0
0
19
0
0
19
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
0
19
18
0
4
42
0
0
-2
-31
-9
0
0
-5
-8
0
-5
17
8
13
2
-7
0
0
-48
4
-18
0
0
18
0
0
0
-3
-12
-1
30
5
0
-3
0
0
-4
0
0
2
0
0
0
0
11
0
5
0
0
0
9
0
0
0
0
-14
0
0
0
-8
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
22
0
17
-8
0
-2
5
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
-4
-37
10
0
1
-10
0
0
13
36
-35
0
0
-5
4
0
-12
6
29
-8
-8
-2
0
0
11
-10
-17
0
0
0
0
0
0
-1
17
0
7
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
3
0
0
0
3
0
0
-10
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
16
17
35
0
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
1
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
40
0
-13
0
0
0
81
0
0
0
0
0
0
0
0
19
0
0
-39
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
13
-4
1
62
0
19
-30
21
-16
5
-9
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
-4
17
-17
-43
-4
27
19
1
2
2
-33
57
0
0
26
19
11
41
-20
-25
5
4
-5
-57
-3
-13
0
-12
0
0
5
-5
-2
4
-2
13
0
12
-37
21
-65
-13
-6
14
0
0
24
0
0
0
-9
3
0
4
-22
0
0
-35
0
16
0
0
7
6
6
0
-9
10
0
-15
87
-7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
13
0
4
0
-13
-16
0
-25
1
0
6
-4
-11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-17
-24
0
-28
-9
0
-12
17
13
28
-9
21
26
0
0
-28
4
-11
1
5
-13
28
-10
21
0
0
-50
-7
11
0
0
-4
0
0
0
-13
0
0
14
-13
-7
9
0
-52
32
0
0
0
0
0
10
0
0
0
0
0
0
0
-3
0
-4
0
0
15
0
0
0
0
0
0
3
-26
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
15
0
0
0
-33
0
-8
0
0
0
0
0
0
0
0
0
-17
4
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
-3
0
12
8
0
2
-47
-2
11
-23
-26
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
5
2
7
55
4
-7
49
28
10
19
7
-11
-45
0
0
-3
3
11
-37
-33
-16
4
-36
67
-11
39
-25
-44
8
0
0
-9
1
44
0
28
16
-18
-41
0
-16
2
0
46
-1
0
0
3
0
0
0
0
-15
0
-3
0
0
0
-2
0
23
0
0
-4
-2
-3
0
4
0
0
-6
33
7
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-21
-39
0
-17
-9
0
0
0
0
-9
0
0
2
0
0
0
-5
5
0
4
0
0
0
1
0
-13
0
0
3
0
0
0
1
1
0
6
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-3
0
8
24
0
3
0
0
0
0
11
17
0
0
0
0
0
-4
0
-9
10
-2
0
0
0
-2
0
26
0
0
8
0
0
0
-3
6
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-6
0
13
0
0
-8
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
11
0
-6
-4
-29
0
0
-2
12
0
0
0
-13
-25
0
0
21
0
-12
0
-36
16
0
0
-14
0
0
-8
7
-3
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
3
-33
0
0
0
0
0
0
-16
3
0
0
-8
0
0
1
-12
0
-1
0
0
0
0
-3
0
12
0
0
-3
0
0
0
18
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-26
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
0
0
0
0
0
23
0
0
0
-37
-34
0
-12
1
0
0
14
-8
1
0
0
2
0
0
0
-33
-24
0
-7
-5
0
0
1
1
-2
0
0
0
0
0
0
-5
1
0
1
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
5
0
0
-28
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
11
8
16
0
7
41
-1
0
-25
-36
1
0
0
-11
0
0
0
-5
-35
0
-16
-2
0
0
-5
12
-23
0
0
10
0
0
0
-10
-19
0
-3
-7
0
0
5
-1
1
0
0
0
0
0
0
0
14
0
-2
0
0
0
0
0
-25
0
0
4
0
0
0
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
17
0
0
0
0
0
-21
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-14
6
0
0
0
0
0
-8
-8
15
0
0
0
0
0
0
-4
2
0
0
1
0
0
-17
0
0
0
0
0
0
0
0
15
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
-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
1
0
0
0
0
0
0
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
-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
-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
-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
-28
0
0
1
3
-17
0
-4
38
0
0
4
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
0
-54
-33
0
20
36
0
0
0
4
37
0
0
-4
0
0
0
28
21
-4
12
6
0
0
28
8
-31
0
0
-3
0
0
0
-39
-2
0
-11
26
0
0
0
-2
-32
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
7
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
38
0
0
0
5
-12
0
0
0
0
0
-4
-11
-1
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
-6
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
17
0
0
0
-31
-32
0
0
3
0
0
-3
15
-7
0
0
0
0
0
0
-10
-1
0
1
0
4
0
47
0
-29
0
0
0
0
0
0
0
0
2
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
-1
0
0
0
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
9
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
2
2
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
0
0
0
0
0
0
0
0
0
-3
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
-49
0
0
0
-19
28
0
2
0
1
0
0
3
12
0
0
4
0
0
0
29
8
0
-29
3
0
0
0
3
24
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
-3
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
-11
0
0
0
5
-10
0
8
0
0
0
0
-6
0
0
0
4
0
0
0
-6
-24
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
12
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-25
-27
0
0
0
0
0
0
11
4
0
0
10
0
6
0
-36
-19
-2
11
-4
0
0
9
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
6
0
0
0
9
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-18
4
0
0
23
0
0
0
-20
14
0
0
4
0
0
0
0
29
0
0
0
0
0
1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-30
22
0
4
6
0
0
4
-9
-14
0
0
-2
0
0
0
-15
2
-1
-2
0
0
0
-16
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
3
0
-16
-6
0
-23
-1
0
0
-16
-5
0
0
0
-3
0
0
0
-4
-7
0
15
-7
0
0
-5
0
0
0
0
0
0
0
0
0
-44
0
5
-20
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
12
15
0
12
0
0
-1
-35
-13
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
22
-10
17
-28
0
-35
33
21
0
20
9
31
0
0
-6
0
-5
0
-2
-10
11
20
41
-5
0
36
32
58
0
0
12
0
-1
0
54
61
0
46
-30
-9
6
0
-10
-13
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
-28
0
0
9
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
24
0
-10
-20
0
0
0
1
29
0
0
4
0
0
0
-9
1
-1
-6
0
0
0
0
0
4
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-6
0
-16
-13
0
0
0
0
11
0
0
13
0
-1
0
29
33
7
0
0
0
0
4
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
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
33
0
0
9
0
0
0
0
-10
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
-4
0
-3
-31
0
-6
-17
0
13
31
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-6
-15
6
59
0
-7
14
-13
0
-2
47
21
0
0
-25
0
0
26
16
43
49
-28
21
-1
0
-4
-37
46
0
0
18
0
0
0
10
-22
0
-35
13
9
0
7
9
-70
0
0
0
0
0
0
0
7
0
0
0
0
0
48
0
3
0
0
-13
0
0
0
4
0
0
-2
-19
-4
0
65
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-44
0
0
3
0
0
0
68
4
0
0
2
0
0
0
0
1
0
4
-5
0
0
0
1
22
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
-21
-34
0
8
38
7
0
-10
-47
5
0
0
30
0
0
2
-2
13
1
2
18
0
0
29
0
-7
0
0
-2
0
0
0
0
0
0
46
-29
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-36
15
0
4
40
0
0
0
25
2
0
0
0
0
0
0
-14
-4
1
20
2
0
0
1
4
-35
0
0
0
0
0
0
-45
0
0
-8
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-10
0
0
8
5
9
-28
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-3
69
21
-44
-13
0
52
10
37
-1
18
-18
45
0
0
-13
2
11
5
20
35
12
30
92
-2
0
-44
-13
-42
0
0
4
8
7
-6
3
-8
3
32
-8
-3
-30
-5
29
-28
0
0
0
0
0
0
3
-8
0
-5
0
0
0
9
0
0
0
0
0
0
0
0
8
0
0
0
-8
0
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
0
0
0
0
0
0
0
0
0
0
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
13
-29
0
0
-10
7
0
0
-44
-22
0
0
10
0
0
0
26
-17
0
-6
3
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
19
14
0
0
1
0
0
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
15
37
0
8
-20
0
-7
-1
-6
42
0
0
-6
0
0
0
30
-47
34
15
13
-4
0
-6
-24
-15
0
0
2
0
0
0
5
0
0
37
-9
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
37
0
1
2
0
0
-2
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-14
0
27
-10
0
13
44
2
0
0
18
-27
0
0
2
0
-4
0
-25
-33
0
-15
5
0
0
-49
-35
-19
0
0
0
0
0
0
0
0
0
13
4
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
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
-3
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
0
37
0
0
0
-8
-2
0
0
4
7
0
0
-6
0
0
0
-6
0
2
7
0
0
0
-1
-21
12
0
0
0
0
0
0
-2
0
0
16
0
0
0
0
0
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-11
5
-5
12
3
21
-25
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
11
40
14
24
-7
-2
-3
13
-5
-7
61
3
41
0
0
23
-1
2
-7
13
-98
-15
34
10
6
-6
2
70
24
0
0
13
0
0
0
-5
-3
-16
17
11
3
8
18
26
-4
0
0
-1
0
0
0
0
15
0
-8
2
0
0
23
0
7
0
0
59
0
0
0
3
0
0
-2
15
0
0
-29
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
6
0
8
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
-4
31
37
0
-24
9
5
0
8
25
11
0
0
33
0
4
-7
-22
-11
22
0
-9
0
0
30
-8
-19
0
0
0
0
-9
0
4
2
0
41
5
0
0
0
10
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-9
25
-20
0
-4
0
0
0
0
15
-72
0
0
2
0
0
-6
19
12
-5
1
3
-1
0
-26
0
3
0
0
0
0
0
48
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
5
9
-1
-23
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-3
-14
-17
-52
0
-9
8
-24
1
-20
31
49
0
0
-30
0
0
13
-40
-40
9
12
0
19
-3
20
21
-47
0
0
8
0
0
0
56
19
-1
-10
60
-7
-7
-1
-13
-26
0
0
0
0
0
0
-9
0
0
1
0
0
0
-29
0
1
0
0
0
0
0
0
-12
0
0
-37
-17
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
-2
7
-5
4
4
-13
-19
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
6
10
-13
5
3
4
29
-55
-15
-2
-8
17
0
0
-5
18
15
-24
8
23
-42
20
-2
29
3
36
15
-18
0
0
10
0
-1
0
10
17
28
-14
-11
-18
5
-7
-42
-29
0
0
0
0
3
0
0
48
-2
-17
-2
0
0
16
0
6
0
0
0
0
0
0
0
16
0
-1
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-55
-12
0
-4
-1
0
0
4
16
-9
0
0
-43
0
0
1
-36
11
0
-5
0
-1
0
-31
1
2
0
0
0
0
0
0
18
20
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-1
-7
7
-26
21
0
7
10
-3
-1
7
-40
-9
0
0
12
0
-1
3
-4
-49
-2
-10
-1
-11
0
56
24
49
0
0
-1
0
-2
0
39
20
0
27
1
0
27
-16
15
-21
0
0
0
0
0
0
0
6
1
20
0
0
0
5
0
7
0
0
0
0
0
0
-1
0
0
51
-20
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
9
22
1
10
29
3
30
61
-5
0
2
-8
-26
0
0
11
-30
19
4
15
-5
15
12
42
2
-1
-17
19
-23
0
0
-8
0
-3
0
-5
11
-5
5
-5
0
16
34
-27
16
0
0
0
0
0
0
0
16
0
-6
0
0
0
29
0
-6
0
0
-13
0
0
0
11
0
0
-8
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
14
-1
20
32
28
0
-1
5
0
0
-16
4
12
0
0
4
0
0
-1
-42
-1
-34
-19
-1
8
-10
-33
47
-38
0
0
-21
0
0
0
11
-19
0
-20
-3
0
0
9
15
-22
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
2
1
-61
-15
0
56
14
1
9
34
-57
-22
0
0
-21
-5
0
0
27
76
6
28
-19
0
14
55
-2
-20
0
0
-14
0
0
0
5
12
2
-38
-15
-1
-86
-4
10
-3
0
0
0
0
0
0
0
-5
0
6
0
0
-37
11
0
-7
0
0
0
0
0
0
0
0
0
7
7
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
51
-31
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-5
19
34
1
-1
14
8
2
15
-18
16
3
0
0
-5
-14
-1
-3
12
-16
6
17
-22
-11
-4
-26
9
-7
0
0
1
0
2
0
-27
0
-21
15
10
26
19
-3
17
-15
0
0
0
0
0
0
-3
-12
-3
-10
10
0
0
56
0
6
0
0
14
0
0
0
15
0
0
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
11
9
-33
4
-28
-16
50
17
-1
3
14
27
7
0
0
-29
2
-14
11
-15
-25
-8
-23
-4
33
-5
-6
-25
-29
0
0
-29
2
5
1
-21
-1
-7
-19
14
-4
9
30
31
12
0
0
0
0
0
0
0
-6
0
-4
0
0
0
2
6
-15
0
0
5
0
0
0
-1
1
-7
26
3
2
0
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-6
22
-3
-40
5
-19
-18
-24
-6
-10
3
10
-17
0
0
10
-20
21
20
-8
-30
22
15
-16
-12
-15
31
-29
-46
0
0
11
0
26
-3
-7
0
6
9
18
-17
-12
16
-60
-33
0
0
0
0
0
0
0
0
-5
36
10
0
0
52
-1
-42
0
0
2
0
0
0
3
0
0
9
-13
0
0
-33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
21
15
-16
37
-52
33
-17
-25
10
30
0
0
-4
0
-2
15
-49
-13
-13
-11
25
-6
-30
-44
-23
21
0
0
15
0
17
2
48
-38
5
-21
36
-5
16
-69
15
-52
0
0
16
0
-2
-12
26
4
16
-16
-25
-1
10
10
54
-49
0
0
109
0
-13
-4
18
-18
-6
6
10
-6
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
10
-6
0
0
25
22
11
0
-1
7
0
-5
-4
4
0
0
2
12
0
0
19
8
0
1
7
0
6
0
-2
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-7
0
-72
-37
-17
0
3
-10
-24
0
0
-38
0
27
0
-11
-34
29
-14
-36
8
0
36
-27
16
0
0
50
0
41
0
3
-5
6
-6
3
0
-1
7
10
-54
0
0
0
0
1
0
0
6
0
7
-1
0
0
-27
0
7
0
0
0
0
22
0
0
0
0
2
6
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
-13
-42
5
0
0
15
6
0
0
8
-7
2
-10
-93
-11
-7
-63
19
0
0
-25
-4
-33
0
0
0
0
1
-27
-15
-18
0
-17
-36
6
0
-16
16
-1
0
0
0
0
0
2
0
2
0
13
0
0
0
0
0
14
0
0
0
0
0
-1
-5
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-19
7
-1
5
13
10
0
0
-37
2
-46
7
-20
-4
-30
-13
19
-46
16
32
8
33
0
0
14
0
15
-4
-18
-18
-57
54
-23
39
29
39
-31
-31
0
0
4
0
0
0
-2
10
-7
1
-56
-2
2
-39
0
8
0
0
15
0
9
7
3
6
24
16
1
-42
-33
-5
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
-5
26
8
-16
-6
-38
-31
23
60
0
0
-26
-33
19
-18
12
-5
-35
37
26
-31
3
-20
24
1
0
0
-5
12
40
-22
67
-14
52
-1
27
8
-30
8
-29
38
0
0
-12
0
-37
10
-4
-9
-54
1
56
18
-9
5
-31
46
0
0
29
0
18
0
-25
-4
16
37
-10
15
-24
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
-2
14
0
0
2
-26
5
0
0
-24
0
-3
-1
-18
2
18
-17
-4
0
0
-18
0
10
0
0
6
0
0
0
12
-3
0
-7
-6
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-2
-46
9
-43
0
0
-24
4
14
9
-54
-13
-9
28
17
3
-5
43
-38
42
0
0
-52
0
-22
-22
-35
3
-23
-17
1
-13
-35
-7
-32
4
0
0
-21
0
0
2
0
2
4
36
0
0
0
8
0
-46
0
0
3
0
0
0
-20
0
0
30
-37
-8
-1
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
-5
-6
11
-16
22
0
0
11
-2
-41
-40
44
3
-27
-28
16
21
-25
48
-16
68
0
0
36
9
-25
-14
5
23
-16
44
-14
-11
-14
22
-3
30
0
0
2
0
0
7
2
-6
3
46
10
0
0
-35
0
5
0
0
-31
0
-21
11
36
-20
-4
50
26
-21
2
-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
-2
24
14
0
0
-22
0
-5
5
-8
-46
-22
-12
-1
-4
0
-20
-2
-27
0
0
20
0
5
0
31
-68
1
-13
30
0
13
-15
-28
-42
0
0
0
0
-2
0
0
-2
0
7
0
0
0
34
0
-18
0
0
-5
0
0
0
0
0
0
-15
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
-12
0
0
-9
13
3
3
16
0
0
0
-2
0
-21
0
0
-1
0
0
0
-3
-9
0
5
19
0
19
0
-3
20
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-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
-49
-35
0
0
40
1
12
16
-21
-7
-10
-43
4
-7
-19
44
25
39
0
0
-6
25
17
0
-6
12
-3
-62
45
15
2
2
-14
-30
0
0
0
0
0
0
0
30
0
4
-1
0
0
47
0
34
0
0
-6
0
0
0
21
7
0
8
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
24
0
0
52
31
-8
-17
17
-39
-51
27
-78
-48
-15
-16
-10
0
0
0
21
0
49
-8
-25
33
-38
56
-10
9
2
35
-47
8
0
0
6
0
2
22
0
17
6
60
-1
0
0
-56
15
2
0
0
25
0
5
18
33
-8
1
42
7
-2
13
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-32
35
30
36
12
63
42
8
-2
32
15
-28
0
0
-20
5
-42
-10
8
-37
3
27
-13
-15
23
66
-18
-11
0
0
8
0
0
18
-5
-42
12
10
9
6
-2
42
7
33
0
0
0
0
0
0
34
0
12
18
-6
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
-8
-3
27
9
24
20
0
-36
15
-68
0
0
9
0
2
-8
54
33
-6
-24
34
26
26
-12
-17
13
0
0
35
0
0
0
0
-30
-2
45
-4
2
-2
70
7
4
0
0
19
0
0
0
-21
10
0
-25
-10
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
14
11
5
-3
3
2
0
13
0
5
0
0
0
-11
0
0
-9
-16
0
4
12
0
0
0
-3
-2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
14
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
-2
0
0
-13
-2
0
10
0
0
23
-1
-13
0
0
9
0
4
0
0
-12
0
-17
-13
-2
0
-17
-5
-31
0
0
0
0
4
0
0
0
0
0
0
0
0
18
0
7
0
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
6
1
33
0
0
-29
-20
-38
0
0
11
0
0
-14
-5
16
0
-34
10
0
0
-9
14
-27
0
0
0
0
0
-12
0
2
0
1
0
0
0
-3
0
14
0
0
0
0
0
-17
0
3
0
10
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
8
-24
1
-3
-14
-39
23
21
0
0
12
9
6
-13
-25
-32
14
-16
-24
-88
-39
33
-56
-3
0
0
1
0
0
0
-12
17
12
-43
-17
-3
0
-20
0
-12
0
0
-1
11
0
0
78
-18
25
12
-37
-19
-3
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
51
-34
-36
-27
31
-6
19
6
0
0
19
6
3
-39
-45
38
-10
-9
-12
27
2
-29
7
20
0
0
-2
0
1
11
1
5
-15
-57
4
-6
0
-85
0
-62
0
0
21
0
0
0
-2
-31
0
75
13
13
17
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
3
-5
24
0
0
20
-6
-12
0
0
24
0
0
3
-12
-21
0
-29
-19
-32
-5
4
-9
4
0
0
0
0
0
1
0
-34
0
4
0
0
0
-25
0
7
0
0
-3
0
0
0
4
3
0
-21
-3
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
7
29
35
13
0
0
0
-12
3
2
-70
45
-11
25
2
7
-7
-16
0
-84
0
0
2
0
-2
-4
5
-25
15
59
-2
-3
0
0
0
-13
0
0
-3
0
0
-3
7
-3
4
30
-22
-3
0
4
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
-20
28
1
-40
0
14
0
0
38
1
7
16
1
-35
-4
54
1
6
52
-3
-29
30
0
0
-1
0
0
6
0
0
-1
44
25
0
0
-22
0
-5
0
0
-36
0
0
27
-5
54
6
0
-48
15
0
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
-23
-6
28
0
0
1
5
0
0
-61
-12
0
25
5
0
-6
-1
-9
42
0
0
0
0
0
6
0
0
0
1
0
0
0
-15
0
10
0
0
0
0
0
0
8
0
0
-3
1
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
12
0
0
1
0
0
0
-15
2
0
-14
-21
0
4
0
7
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
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-51
-16
0
0
-22
0
34
0
-1
-24
-9
13
14
-20
5
-43
70
11
0
0
15
0
0
0
10
0
-1
-14
10
-9
0
55
4
27
0
0
12
0
3
0
8
16
-3
12
-15
45
23
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
26
0
0
-22
0
0
0
-13
-9
-12
-45
41
-18
41
10
-10
-31
0
0
0
0
0
0
0
11
0
16
-3
0
0
-11
2
-47
0
0
-13
0
0
0
23
10
1
-47
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-5
-13
12
4
74
-48
24
-46
27
-8
-6
6
24
-32
0
0
11
0
0
7
0
0
1
73
19
-3
0
-46
-13
75
0
0
12
0
0
0
-1
0
-12
-6
-31
3
0
6
28
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
25
-8
0
5
24
17
-8
0
0
4
0
0
0
0
-7
0
14
0
0
0
-1
0
8
0
0
-11
0
0
0
-21
-1
1
34
-7
0
0
13
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-9
4
0
-2
0
1
16
0
0
0
0
-57
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-40
0
0
0
0
-6
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
50
6
-18
-34
-9
3
-7
-8
-2
31
0
0
0
0
0
0
3
0
0
-17
0
0
0
0
0
2
0
0
-2
0
0
0
9
0
0
33
-34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
3
-24
-11
-25
-14
-7
0
0
2
0
0
0
0
28
0
-59
3
0
0
-29
0
3
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
5
-2
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
-49
-72
27
15
30
-13
-32
0
0
-1
0
0
0
-4
9
-5
47
10
0
-9
27
0
-14
0
0
21
0
0
0
-25
1
-5
7
5
14
10
-37
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
29
13
18
0
0
13
0
10
0
0
0
-6
-7
11
0
0
23
2
1
0
0
-18
0
0
0
-11
4
0
29
-19
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-10
0
0
1
0
0
0
0
0
0
0
0
0
-13
0
0
3
14
0
0
0
0
3
0
0
0
5
0
0
-8
-6
0
-9
-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
1
-33
0
0
0
0
0
0
0
0
0
1
0
0
0
26
0
6
0
0
15
0
0
0
-19
0
0
15
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
13
0
0
0
-15
0
-6
0
0
-8
0
0
0
7
0
9
6
-28
0
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
-10
47
25
0
0
20
0
-15
0
0
7
0
0
0
-22
0
0
24
-58
-5
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
27
-17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
24
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
-1
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
6
0
-4
0
0
3
-12
0
-3
0
0
-10
0
0
0
9
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
1
0
0
0
0
-4
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
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
0
3
0
-2
0
-9
-10
0
0
0
-2
0
0
0
10
2
0
6
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
7
0
0
0
0
0
0
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
-6
0
2
0
0
0
0
4
0
0
0
0
0
0
0
-5
-20
0
4
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
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
9
5
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
12
30
0
4
-9
-2
0
-2
-2
30
0
0
-1
0
0
0
9
7
3
16
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-15
-1
0
1
-3
0
0
0
-1
0
0
0
0
0
0
0
3
-3
-2
0
0
0
0
0
0
6
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
-5
0
3
0
-4
1
-14
0
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
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
9
0
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
9
1
3
-41
0
0
8
4
6
7
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-8
0
0
10
-9
-3
0
1
-5
6
0
0
-14
4
0
8
-25
-22
1
-13
1
3
-6
-6
1
15
0
0
-7
1
13
5
7
-21
2
8
-3
11
8
-4
19
4
0
0
-1
0
0
0
-1
-2
0
-8
0
0
0
3
0
-29
0
0
-1
0
0
0
-7
-15
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
2
0
-10
-8
0
-3
5
0
0
13
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
8
2
8
-3
0
6
28
-9
-1
-1
-2
-13
0
0
11
0
-1
7
22
1
3
-4
14
-3
0
-13
3
-4
0
0
3
0
4
0
0
3
0
10
9
-1
0
-1
2
7
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
5
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
-3
2
0
-4
-14
4
8
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
8
0
0
0
0
0
0
0
-1
13
-15
5
1
-2
0
0
-11
-9
-4
0
0
-3
0
0
0
-3
-16
0
4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
-6
4
0
0
2
0
0
0
2
4
0
-13
0
0
0
-6
-1
9
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
-1
0
-2
-2
-8
3
0
3
1
3
12
-8
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
3
0
-3
0
0
1
0
0
-2
0
0
10
0
0
-4
-1
12
3
8
12
0
0
-1
12
-7
0
0
-9
0
9
0
4
-11
7
7
2
0
4
-4
17
12
0
0
1
0
0
0
0
2
1
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
-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
-4
0
1
0
2
-1
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
4
0
0
0
8
-22
0
2
0
0
0
2
5
-10
0
0
-2
0
0
-2
12
13
-3
-14
5
0
1
-3
-4
-1
0
0
0
0
0
0
-7
-4
0
-2
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
1
0
-4
-10
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-14
0
0
0
0
0
0
9
-2
0
0
5
0
0
0
-9
-5
0
10
3
0
0
-1
4
-1
0
0
1
0
0
0
-6
10
-3
0
-1
0
0
-1
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
8
2
0
0
0
0
0
0
0
-5
0
0
-10
0
0
0
6
6
2
0
-1
0
0
0
0
-8
0
0
0
0
0
0
2
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-4
0
19
15
29
9
-13
12
21
-5
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-12
-11
0
2
6
-3
2
5
-4
8
0
0
5
1
-5
-16
-9
-4
-3
-7
6
2
12
16
18
-8
0
0
0
-3
-4
2
26
-16
11
-15
-2
-3
6
-13
-31
-7
0
0
-1
0
0
0
2
-7
4
6
0
0
0
3
0
3
0
0
0
0
0
0
-4
-3
-2
-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
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
8
0
1
0
-1
4
0
0
-5
0
-1
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
4
-11
-6
0
-2
-3
-6
5
-16
-17
-13
0
0
6
-1
4
0
-14
-17
1
-3
8
0
0
-8
12
-5
0
0
4
-4
-1
0
-7
-10
0
18
-1
0
0
-1
1
0
0
0
0
0
0
0
7
1
0
-3
0
0
0
-11
0
-3
0
0
-5
0
0
0
-1
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
6
0
1
0
11
9
0
-1
0
0
-8
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
6
0
0
-4
0
0
0
1
0
0
0
-2
0
-2
0
2
2
-1
9
0
0
0
28
-9
-1
0
0
-7
0
2
0
6
-3
0
-17
0
-5
8
-1
-27
-12
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-1
-3
17
0
0
1
0
0
0
3
0
0
0
7
0
0
1
-1
4
1
1
-1
0
0
1
-15
0
0
0
-1
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
2
-4
34
-7
0
-2
-7
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-6
-4
0
-1
-1
0
3
0
-7
-2
0
0
-10
-1
1
2
-12
-2
10
-10
3
-3
1
-22
-5
24
0
0
-8
0
4
-4
28
2
-18
36
-7
-2
-1
-4
-12
-1
0
0
-1
0
0
0
1
0
4
6
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-6
0
0
9
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
2
9
-16
0
-6
-1
-1
0
0
6
-3
0
0
8
0
0
3
-5
4
-3
-12
4
0
0
-10
-3
-7
0
0
-5
0
0
2
13
0
0
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
-16
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
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
7
0
-12
-2
0
0
6
-7
-4
0
0
0
0
0
0
-3
5
0
18
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
0
2
0
0
0
2
-3
1
0
0
0
0
0
0
-9
-11
0
-4
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
0
0
0
0
2
-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
-1
9
0
0
0
0
0
3
0
0
0
0
10
0
4
0
3
-4
0
-1
0
0
0
-2
2
-2
0
0
-2
0
0
0
-1
12
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
1
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
4
-3
-7
-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
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
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
13
0
-12
0
0
-2
15
-6
-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
0
2
2
0
0
0
-3
2
0
0
-2
0
0
0
0
3
1
-3
-7
0
0
0
4
1
0
0
2
0
1
-3
-5
-20
0
5
2
0
-9
-1
-8
0
0
0
0
0
0
0
0
-7
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
11
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
-14
0
0
0
-29
23
0
-1
4
0
0
8
15
6
0
0
4
0
0
0
12
7
0
-2
0
0
0
5
-1
4
0
0
0
0
0
0
-7
-1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-10
0
0
0
9
-11
0
-3
0
3
-3
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
9
0
0
0
0
0
0
-5
-2
0
0
1
0
0
0
0
0
0
-11
1
3
0
-5
-10
0
0
0
1
0
0
0
0
-11
0
-22
0
0
-1
0
4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
6
-5
0
0
0
0
0
0
1
-10
0
0
1
0
0
0
-9
-10
-4
-2
0
0
0
2
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
2
5
0
0
0
0
0
0
0
0
-7
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
-1
0
0
0
0
0
0
0
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
-26
2
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
-8
4
0
0
0
0
0
-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
-4
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
6
0
0
0
1
-2
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
-3
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
0
-6
0
0
5
-1
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
14
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-3
10
0
11
0
-2
0
16
-5
-8
0
0
-4
0
0
0
3
-3
-1
4
0
0
1
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
-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
-11
-3
0
-1
0
0
0
0
11
5
0
0
-7
0
0
0
-10
12
0
1
0
0
0
-6
2
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
6
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
-1
0
0
0
0
0
0
0
12
2
0
1
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
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
2
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
9
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
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
0
0
0
0
0
0
0
0
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
5
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
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-24
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
12
-3
7
0
0
0
-13
-3
0
0
0
0
0
0
0
-2
27
0
3
0
0
0
-6
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
-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
-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
5
0
0
0
2
7
0
0
3
0
0
-2
0
0
0
0
6
0
0
0
0
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
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
-6
0
0
0
1
0
-8
-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
-6
0
1
4
0
0
0
0
-1
0
0
-1
0
0
1
8
-5
0
-2
2
0
0
-2
0
-2
0
0
8
0
3
0
2
6
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
-6
10
0
0
0
0
0
0
-8
1
0
0
-2
0
0
0
3
-15
1
8
0
0
0
-1
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
12
0
2
0
0
-2
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
-3
0
0
-8
0
0
-2
0
-1
0
0
-1
0
0
0
0
-7
0
12
1
0
0
-9
0
-1
0
0
2
0
0
0
0
-1
0
8
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
-1
0
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
0
1
-4
0
0
0
4
-12
0
0
2
0
0
0
2
0
1
-1
0
0
0
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
1
0
-4
0
0
-14
-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
-2
0
0
0
0
-4
0
0
0
0
0
0
1
-2
-6
0
0
-1
0
8
0
17
0
0
6
0
0
0
4
-1
0
3
0
0
0
-4
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-4
0
0
0
5
0
-5
0
0
0
0
0
0
0
-10
0
-1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
3
0
0
0
-3
8
1
-6
0
0
0
4
-9
0
0
0
-3
0
0
0
4
2
0
13
-1
0
0
0
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
6
0
0
0
-1
-4
0
0
0
0
0
-2
2
0
2
-2
2
0
0
0
-3
3
0
0
-3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
4
6
-3
2
-1
4
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-1
-14
0
-5
5
21
-5
-3
14
-11
0
0
-31
2
0
-3
-9
-25
5
-17
-6
0
13
-27
6
-23
0
0
-31
3
-1
-2
21
27
-9
5
-10
12
5
4
8
-15
0
0
8
0
0
0
0
-6
10
1
0
0
0
4
0
1
0
0
25
0
0
0
-1
0
-4
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
3
-7
-3
-3
-4
-11
9
14
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
-4
0
1
0
-6
0
2
0
0
0
0
0
0
0
0
0
-9
0
0
0
-1
-2
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
-4
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-3
6
-6
4
-1
-3
2
-3
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
3
1
-15
9
0
3
2
-4
-2
0
10
4
0
0
8
0
2
-2
6
11
-5
-16
2
1
-2
-11
6
-30
0
0
5
0
0
0
-12
-7
-4
-6
3
7
10
2
-8
-8
0
0
6
0
0
0
0
2
0
-9
2
0
0
0
0
5
0
0
8
0
0
0
0
0
-2
0
1
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
7
0
0
-3
-1
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
23
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
-2
0
0
0
-7
-5
0
4
0
0
-5
-5
-1
0
0
0
-13
0
0
5
-4
-2
0
0
0
0
0
12
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
0
0
0
5
0
0
-5
-3
1
0
0
0
0
-2
2
-3
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-22
0
1
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
-4
0
0
-21
0
-1
-2
0
0
0
10
-9
0
0
-1
0
21
0
4
-2
-5
7
-8
0
0
4
-11
1
0
0
2
0
-11
0
-6
10
-2
-8
-9
0
-10
0
0
1
0
0
0
0
11
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
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
0
0
-1
0
-3
0
6
-20
0
0
-1
0
0
-1
7
-11
0
0
0
0
4
0
-3
3
14
6
-6
0
0
6
-4
-5
0
0
-1
0
-1
0
0
-1
0
-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
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
2
2
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
11
-1
2
0
0
-2
0
0
0
3
-2
0
0
0
0
0
-8
6
7
1
-13
-4
0
0
-1
1
2
0
0
0
0
0
32
6
17
0
-4
0
0
0
-2
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-3
5
0
0
0
0
0
3
-6
-11
8
2
0
0
0
-1
-3
-5
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
-14
-22
8
-11
22
-3
4
20
3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
1
0
-15
2
-5
10
4
4
5
-23
-17
0
0
-9
0
-12
9
-9
-38
39
-35
14
25
-5
13
17
-6
0
0
4
-9
7
-1
11
-8
4
-36
8
6
-9
3
9
28
0
0
0
0
0
0
3
-3
9
1
0
0
-2
-1
0
2
0
0
-5
0
0
0
-3
0
-6
0
4
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
2
-1
1
7
-18
5
-1
-15
1
29
0
0
0
0
0
0
0
0
-1
-3
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
-5
-11
0
3
0
-4
0
-1
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
-17
0
0
0
0
0
1
0
0
0
0
0
0
-2
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
12
0
0
0
24
-6
-1
3
16
-5
-9
16
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
-3
-8
-36
7
0
0
0
-3
1
8
30
19
0
0
-4
1
0
-2
-8
-26
-25
1
7
3
-3
3
-8
-15
0
0
-3
0
0
1
25
-13
8
2
10
2
10
4
8
5
0
0
0
0
0
0
-6
0
0
2
0
0
0
-5
0
-1
0
0
0
0
0
0
-5
0
1
0
2
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
0
0
0
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
-1
17
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
-1
16
-14
-2
-13
1
-22
8
-3
2
35
-3
0
0
2
7
4
10
-44
2
-29
18
2
8
18
-26
-29
-4
0
0
25
18
2
3
-6
-25
-9
19
-21
-18
-36
-24
-3
-10
0
0
-3
0
0
1
3
-15
13
-17
6
7
-8
7
1
8
0
0
-5
0
8
0
-8
3
-9
0
-5
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
1
-6
-8
-15
-3
-1
-5
-10
1
-7
0
0
0
0
0
0
0
0
-3
-4
-1
0
0
-16
-3
0
0
0
0
0
0
0
1
5
-8
8
0
0
6
-1
-3
-1
0
0
0
0
0
0
0
4
-3
-4
-5
0
-3
-9
3
0
0
0
0
0
0
0
0
4
0
-6
0
2
8
4
4
8
0
0
0
0
0
0
-3
0
0
7
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
2
-14
-41
-10
-5
2
3
-12
17
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
2
2
-10
-40
0
17
21
7
-2
-5
10
-9
0
0
1
8
-2
-10
-15
-20
0
-31
18
9
1
-50
-17
17
0
0
3
2
-2
5
-22
-9
1
8
-26
2
4
-6
1
-7
0
0
0
0
0
0
-3
12
-4
1
-4
1
0
22
-3
5
0
0
1
0
0
0
3
8
4
3
8
1
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
2
0
5
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
33
-3
0
0
2
1
2
3
0
0
0
-8
0
0
1
0
22
-5
-2
12
0
-3
15
-2
8
0
0
-14
0
-1
0
4
-10
8
-3
15
1
-11
5
-14
1
0
0
0
0
0
0
0
3
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
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
1
0
0
0
0
0
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
-7
0
-1
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
3
-6
-25
-5
-2
0
0
0
-4
-5
8
0
0
-1
0
0
2
3
-13
-15
-1
-1
0
0
4
0
0
0
0
-3
0
0
0
-9
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-5
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
1
0
-15
-6
1
3
-5
13
-6
0
0
4
-2
1
-5
28
3
15
-13
-7
28
2
23
-7
-5
0
0
7
0
11
4
2
-1
-17
-12
4
4
4
8
-15
20
0
0
0
0
0
0
-2
-11
-3
10
0
0
0
-4
0
-12
0
0
0
0
0
0
-9
2
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
-6
6
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
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
0
0
-3
0
0
19
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-19
-21
0
-2
0
-2
0
3
4
-17
0
0
1
-3
-6
2
-16
-4
7
5
-4
1
0
-3
3
-14
0
0
1
0
2
0
12
-1
0
29
4
2
0
-4
1
-5
0
0
0
0
0
0
-2
8
0
5
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
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
-1
1
-9
4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
4
0
1
5
0
-3
-1
-8
5
0
0
-1
0
4
1
-7
2
7
7
-9
1
0
-2
18
-8
0
0
-4
0
-4
0
-9
16
-1
3
6
3
21
15
-4
-22
0
0
0
0
0
0
0
-3
4
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
1
-6
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
1
16
5
1
5
1
1
0
-2
11
-7
0
0
2
-2
0
-2
8
-8
7
2
-8
-3
0
-12
4
22
0
0
-4
0
0
0
-13
4
0
-6
0
0
0
1
2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-2
0
0
-8
0
0
0
0
3
0
0
0
4
8
12
-2
8
-2
-2
-5
4
-5
0
0
-1
0
0
0
23
-12
-1
-18
0
0
5
1
10
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
-5
0
0
0
-5
0
0
-3
-1
0
0
0
0
0
0
0
10
7
-17
0
2
0
0
0
0
12
0
0
-1
0
0
0
0
1
0
3
-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
-4
8
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
3
0
12
-5
-3
-14
-2
8
-3
0
0
2
2
0
-2
-22
-47
-1
0
-7
1
11
5
1
-6
0
0
2
1
1
0
-18
4
14
-29
9
-2
0
-4
-7
13
0
0
1
0
0
0
1
9
6
2
0
0
12
-8
0
0
0
0
0
0
0
0
-6
0
1
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
4
4
0
3
0
-4
-8
-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
2
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
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
0
0
-10
11
2
0
1
0
-9
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
3
22
21
0
-5
-8
2
-5
-10
9
-6
0
0
-4
0
0
0
-14
16
5
19
12
2
0
10
0
-5
0
0
0
0
0
-2
-2
0
2
5
6
0
0
5
5
-10
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
3
0
0
0
0
0
0
-2
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
-4
12
-32
-1
-5
-1
-4
8
-8
12
6
0
0
-3
2
-9
-1
32
-9
24
10
-5
-6
9
16
3
4
0
0
2
2
25
-1
-12
-15
13
-3
5
14
-6
19
-10
6
0
0
-4
0
0
0
0
19
-8
-2
4
0
-2
-5
7
-8
0
0
1
0
0
0
-3
-2
15
-3
6
4
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
-1
-6
8
2
-1
0
12
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
-7
1
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
9
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-5
2
-1
-1
13
-1
-5
-19
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
1
-16
3
-6
-9
-20
3
-12
0
-8
-1
-11
0
0
4
3
1
13
-26
11
4
10
-14
-12
2
7
2
22
0
0
10
0
4
0
-6
4
17
-7
-12
-5
-3
10
-8
-10
0
0
0
0
0
0
0
4
0
-9
1
0
0
17
0
0
0
0
3
0
0
0
-3
0
-2
7
12
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
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
8
-14
0
5
-1
2
9
-5
-14
-6
0
0
1
6
2
12
6
-26
16
2
-6
-4
-11
-4
-3
-21
0
0
0
9
3
5
2
2
-19
24
-27
3
10
-7
0
12
0
0
-1
0
0
0
0
5
-2
4
0
0
0
9
1
-11
0
0
0
0
0
0
-1
9
9
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
1
-9
11
8
-5
1
-8
-5
-12
8
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
-8
0
3
0
2
9
-2
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
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
2
-2
2
0
9
3
0
9
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
0
-5
1
3
-1
-7
1
27
-6
5
18
-7
0
0
4
-1
-2
-7
-1
-6
-2
-10
-14
-9
-1
11
-7
8
0
0
-1
0
-11
0
-2
2
-2
1
-3
-4
3
-8
-12
10
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
0
-2
0
1
0
7
-1
-3
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-24
1
2
0
2
1
6
0
20
0
0
16
3
-2
-7
-34
1
1
24
-10
-8
-9
-6
-21
-30
0
0
11
-9
-5
-3
21
-59
-14
-20
15
-4
-17
23
-4
37
0
0
-1
0
0
0
4
3
4
-7
3
0
-8
0
-4
-9
0
0
-2
0
0
0
5
0
11
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
7
0
-1
0
-1
-5
-3
-4
4
-21
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
9
0
0
0
-14
1
1
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
-6
0
0
0
3
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
0
0
0
6
0
1
0
7
-9
1
2
-5
-3
11
-6
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-11
5
-41
0
-4
7
-3
-16
1
-6
2
-26
0
0
-29
-7
0
11
20
4
30
-10
-1
-1
4
3
17
-28
0
0
-6
0
5
6
-2
7
6
-18
-7
-7
-3
-1
-2
-27
0
0
4
0
0
0
0
0
0
14
1
0
0
3
0
5
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
-1
7
-1
0
0
-26
0
2
0
-2
-4
11
-18
1
0
0
0
-3
14
0
0
-31
0
0
0
5
0
0
-10
0
0
-3
-9
-2
-4
0
0
-9
0
0
0
0
2
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
-15
0
0
0
-6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
-19
0
0
2
0
0
1
1
5
0
0
-5
0
0
0
-21
-7
-8
4
-2
0
0
6
0
0
0
0
-2
0
0
0
2
-1
0
8
0
0
0
2
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
9
-7
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
5
0
3
0
0
0
0
0
-1
0
0
2
0
0
2
0
-3
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
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
-1
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
5
1
0
1
26
0
0
0
0
-7
0
1
13
22
18
12
-2
-20
2
4
1
-2
-6
0
0
-5
0
-4
2
-24
9
6
-3
-5
-9
-7
-1
6
-12
0
0
0
0
0
0
-16
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
7
-1
-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
0
0
-5
0
-2
-11
-11
-1
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
-1
0
0
1
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
4
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
0
0
-5
0
-3
0
21
-17
0
-2
-8
1
3
-8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
2
-9
2
0
-8
-2
4
0
-1
-2
7
0
0
-14
0
0
2
-17
-7
-7
-2
-13
0
0
-10
2
2
0
0
0
0
-1
0
16
-2
2
4
-4
-6
0
2
0
-9
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
1
1
0
23
-2
0
0
24
4
-2
0
-7
23
3
-9
-4
-3
-7
-6
-16
3
0
0
14
0
-16
-18
6
65
0
10
-4
7
6
-19
1
-5
0
0
0
0
0
0
4
6
-4
-5
2
5
-19
5
0
6
0
0
8
0
0
0
2
5
-7
-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
-2
-29
7
-1
3
-1
6
-8
0
0
0
0
0
0
0
0
1
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
7
-2
2
0
14
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
-6
0
7
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
-1
1
-12
-5
-1
-26
5
0
7
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
2
2
13
8
-9
17
6
-3
-2
9
-8
-1
0
0
5
3
-11
2
5
-5
-2
3
6
-6
-3
-17
-2
-9
0
0
-8
-1
0
0
5
-16
7
-10
-3
5
6
-22
-13
0
0
0
0
0
0
0
0
11
0
-13
-2
0
0
-9
0
6
0
0
0
0
0
0
0
-6
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
-1
0
0
0
0
0
0
0
-4
-4
-2
8
0
0
0
2
2
6
0
0
2
0
0
0
7
1
-2
-11
0
0
1
0
14
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
-1
0
0
0
0
-1
0
4
0
0
0
0
0
0
3
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
3
8
0
0
1
1
-2
0
0
0
0
5
-2
-18
16
-4
4
10
0
-2
0
-12
-2
0
0
-15
0
-1
2
3
3
10
-20
-2
1
1
6
16
0
0
0
0
0
0
0
0
-4
1
-1
0
0
2
0
0
-1
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
-2
-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
-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
2
0
0
0
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
-2
0
0
0
3
-6
0
3
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-8
-2
2
-4
-4
0
0
1
-2
-2
0
0
-10
0
0
0
0
-5
5
-11
-1
0
0
8
3
4
0
0
14
0
0
-1
1
-4
0
12
-3
0
0
4
-2
1
0
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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-1
2
-2
-11
0
3
9
5
-1
-9
5
-8
0
0
0
0
-1
0
-18
-19
-8
-3
0
0
-7
0
5
-9
0
0
0
0
0
0
0
-4
0
2
0
0
0
-1
-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
-1
0
1
0
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
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
-1
0
0
0
-2
6
0
0
-1
-2
0
-3
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
-4
-1
1
0
0
12
-8
-10
0
0
1
0
-2
0
-6
11
-8
-4
-4
8
0
-3
6
-6
0
0
6
0
0
0
3
-3
0
-20
1
0
0
-1
4
-2
0
0
0
0
0
0
0
-4
0
-1
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-9
-2
14
-13
0
0
15
-4
5
0
0
5
0
7
0
-8
-10
-6
-7
3
0
-1
-1
-4
6
0
0
0
0
0
0
0
8
-2
-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
1
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
-3
0
0
0
0
-7
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
-1
-8
0
0
0
0
0
-2
-17
-2
0
0
1
0
0
0
-8
13
-5
-2
3
0
0
14
0
-3
0
0
1
0
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
-1
-16
0
-3
2
-10
9
11
0
0
8
0
0
-1
0
-4
-1
-18
1
0
4
0
1
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
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
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
5
0
0
0
5
-8
0
-1
-7
0
0
0
4
1
0
0
7
0
0
0
5
-1
-4
-5
0
0
0
-4
-3
1
0
0
5
0
0
0
3
-11
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-6
4
-1
0
-8
14
-2
-3
1
-6
5
-45
2
-10
0
0
-8
0
3
0
-1
15
2
-1
1
0
-11
-25
-7
-17
0
0
0
0
0
0
0
-1
2
5
0
0
-1
-22
0
0
0
0
0
0
0
0
2
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
-1
-2
-4
0
0
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
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
-5
0
0
0
5
-8
0
-2
-1
0
0
-8
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
10
0
12
1
0
-1
-4
-8
-4
0
0
8
0
0
0
-1
-12
11
9
-9
0
0
9
3
-1
0
0
-1
0
-1
0
-2
-2
0
-1
1
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
7
7
9
0
-10
-10
-1
-1
18
-7
0
0
0
0
0
-1
-1
8
-22
-7
-7
2
0
-8
4
-11
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
1
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
-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
-7
0
-2
0
-3
5
0
-22
2
0
2
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
4
-12
0
1
-7
-1
0
-4
-1
10
0
0
-11
0
0
4
7
5
-4
2
-8
0
0
4
2
3
0
0
5
0
-1
0
0
2
2
5
0
-1
-1
0
-4
1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-1
11
2
-20
-11
9
-7
2
-10
-2
0
0
0
-6
0
-4
7
-15
5
-12
12
-7
5
-7
2
1
17
0
0
1
0
0
0
0
0
5
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
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
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
0
0
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
-9
1
0
5
7
1
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-2
-21
0
-11
-5
-6
0
-2
-7
2
0
0
-10
0
1
0
0
7
-4
4
-15
1
0
1
-15
-11
0
0
-1
0
-2
0
5
0
0
-10
4
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-4
-17
-1
-15
-1
-3
2
22
-9
0
0
17
0
0
1
-5
-7
-9
0
-10
-4
2
-13
6
-15
0
0
-1
0
0
0
0
6
-4
2
0
0
0
-3
0
-4
0
0
24
0
0
0
-1
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
2
-2
1
-4
13
0
1
-10
-8
-24
0
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
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
-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
18
0
0
0
0
1
0
-5
-7
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
-25
5
3
-7
2
6
0
-14
-5
-18
0
0
-6
0
0
2
-13
-1
2
5
-5
0
0
-12
3
13
0
0
13
0
0
0
2
-11
14
2
0
-1
1
-16
-3
8
0
0
2
0
0
0
0
-3
0
-3
0
0
0
1
0
0
0
0
-16
0
0
0
0
0
0
3
-5
1
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
-2
-8
-2
5
-3
0
0
4
-3
4
0
0
0
-4
0
0
-3
19
0
3
-1
1
5
0
3
-9
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
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
-4
0
0
0
1
0
0
-8
2
8
0
0
0
0
-1
0
2
0
0
0
-1
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
1
0
0
-5
0
-3
0
0
0
-5
-4
0
0
0
0
0
-13
0
9
7
0
-9
0
-1
0
0
-8
-3
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
1
0
1
0
6
-4
0
-3
-2
0
0
0
-5
-8
0
0
0
0
6
0
1
1
0
0
0
0
0
0
0
-28
0
0
0
0
-5
0
-1
3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-4
6
-3
3
0
-5
10
1
0
0
0
0
0
7
5
13
5
8
0
0
-1
0
-14
-2
0
0
0
0
0
-6
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
-1
1
0
0
2
-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
0
0
0
0
0
0
0
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
-1
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
-1
0
0
-6
-7
21
-4
-2
-5
0
0
0
11
10
0
0
4
0
0
5
-6
2
-6
4
1
0
0
-1
1
5
0
0
0
0
0
13
-2
1
-1
1
-1
0
0
0
0
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-10
-4
2
-5
14
2
-31
0
0
1
7
1
6
0
-50
13
7
13
1
35
6
8
-22
0
0
-2
0
0
0
-19
-6
-9
-4
0
0
0
-1
0
-9
0
0
10
0
0
0
-22
0
-2
2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
15
2
-7
1
0
14
-4
0
0
0
0
0
0
0
0
0
-2
24
0
0
0
-11
0
0
0
0
0
0
0
0
3
0
-1
-15
0
12
0
-1
0
1
0
0
0
0
0
0
-17
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
-8
0
0
0
0
0
0
0
0
6
0
0
-8
3
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
3
0
10
0
1
19
9
5
2
-1
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
8
3
-4
37
-24
-2
4
6
2
4
-7
-9
2
0
0
-7
9
-2
-8
30
1
1
13
-6
-5
0
-5
-7
20
0
0
14
-1
-1
-1
7
-6
-9
-26
11
-13
-7
1
-10
12
0
0
1
0
0
0
-15
0
0
-8
0
0
0
2
0
-1
0
0
-5
0
0
0
-10
-2
4
5
-7
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
-16
-21
21
-17
-14
5
32
-1
10
0
0
15
9
22
2
3
-32
52
55
4
11
19
10
-22
-10
0
0
-6
0
0
-9
-13
-44
16
0
-5
16
-12
0
3
5
0
0
10
0
0
0
-4
28
-9
-9
10
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
18
-3
-10
14
-14
-3
12
3
-5
0
0
0
0
0
0
0
2
2
11
1
0
0
13
0
0
0
0
0
0
0
0
-1
2
-3
0
0
0
-3
-4
3
-2
0
0
0
0
0
0
0
-1
1
6
1
0
0
-10
0
0
0
0
0
0
0
0
0
7
0
-2
4
-4
0
-27
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
1
-11
-38
-3
11
-13
6
-5
20
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-10
-2
-12
-13
-7
45
6
11
-6
1
14
-10
0
0
25
1
5
-8
9
-10
15
-16
2
-13
-2
-1
-8
-1
0
0
1
-1
0
20
1
31
3
-10
8
-1
-4
-17
-4
3
0
0
6
0
0
-4
0
7
6
-19
-16
-3
0
-27
0
0
0
0
0
0
0
0
0
4
0
-1
-23
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
1
16
-2
5
0
1
-11
-17
0
0
-5
4
-7
-8
35
-10
-8
-14
12
1
-4
39
-6
-16
0
0
0
0
0
0
3
3
7
11
0
0
0
6
0
14
0
0
0
0
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
8
-1
0
10
7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-7
-4
0
-1
1
-1
24
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-2
-1
8
-3
12
10
-12
0
0
5
-12
5
0
0
16
-1
0
1
15
-14
8
21
0
-1
0
20
-9
32
0
0
-4
0
-4
0
10
-1
6
-12
-14
10
0
6
-7
7
0
0
0
0
0
0
0
-8
-1
-3
0
0
0
0
0
0
0
0
3
0
0
0
-7
-5
0
0
-17
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
-11
1
6
-12
24
-9
-4
0
0
24
16
-13
-7
15
11
-7
-31
12
13
-21
-5
-1
-25
0
0
1
0
0
0
-1
-4
2
10
2
-3
3
17
-2
-20
0
0
-3
0
0
0
-8
-12
-11
-9
2
-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
-1
-7
-11
15
3
17
0
-2
-8
8
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
4
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
-2
0
8
0
0
0
0
0
0
0
0
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
4
0
-5
1
-7
-3
0
47
-14
2
-4
-12
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-5
-1
9
31
-2
24
-5
9
0
-6
-18
44
0
0
-4
0
0
2
9
-25
6
0
-12
-4
5
10
-2
19
0
0
-13
0
-13
14
-1
1
-4
7
7
-4
-4
-14
-1
-12
0
0
0
0
0
0
-1
16
-2
0
5
0
-1
3
0
5
0
0
5
0
0
0
18
-9
-4
-5
4
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
11
-1
7
-48
15
-25
0
0
-8
-12
0
9
-5
-25
1
-24
1
8
-3
9
-1
20
0
0
-2
0
0
0
2
6
4
25
5
0
0
0
0
9
0
0
0
0
0
0
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
2
-3
-1
4
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
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
8
0
3
0
9
-1
0
0
-4
-1
-2
-1
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
3
-4
11
3
10
25
2
-4
-2
-1
-5
0
0
4
1
0
-4
10
-16
0
0
4
8
0
12
-13
-13
0
0
-8
-2
0
0
1
-4
-1
6
6
2
-3
6
1
-11
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
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
1
23
3
0
0
-4
3
0
-1
-22
-26
-3
7
9
0
3
-15
-13
7
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
8
0
0
0
0
0
0
1
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
-1
3
16
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
3
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
-1
0
0
0
2
-5
0
6
1
0
0
6
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
2
10
3
-6
6
1
0
4
-2
-7
0
0
1
0
0
0
-4
13
13
3
3
0
0
7
3
-2
0
0
4
0
0
0
-6
1
0
2
-5
0
0
0
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
-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
-9
3
-1
0
0
-6
0
0
1
2
-20
-4
2
-3
0
-11
-4
5
-11
0
0
0
0
0
0
0
2
5
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
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-6
22
0
-4
-8
0
0
-3
3
-15
0
0
-3
0
0
-1
11
16
3
0
-6
0
0
1
-3
11
0
0
-9
0
0
0
-4
-11
0
-2
-4
0
0
1
-1
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
-7
-3
-7
-2
-31
9
-1
-28
18
10
11
-16
32
-21
0
0
11
0
0
-2
0
28
-21
-12
-1
3
8
-21
-7
-3
0
0
-2
0
0
0
-17
7
9
8
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
1
2
28
-13
-6
9
-6
0
0
15
0
0
0
0
0
0
0
0
-8
-9
1
0
0
-13
-4
0
0
0
0
0
0
0
0
0
-16
-6
0
2
0
-5
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
11
0
0
0
0
0
0
0
1
0
-13
1
0
0
14
0
1
0
0
0
0
0
0
-6
0
0
-9
1
0
0
-26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-1
0
-40
9
13
-25
-4
2
24
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
0
-1
16
18
2
-12
-20
-4
7
14
30
-24
0
0
-12
6
-2
1
-14
-14
30
8
18
-8
0
-21
2
-10
0
0
17
0
8
1
-19
2
-7
-21
-16
-4
0
-5
4
-7
0
0
-1
0
0
0
9
-2
-25
-3
-7
0
0
7
0
7
0
0
13
0
0
0
-5
-1
7
8
16
-4
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
3
-5
0
0
-49
-9
6
-4
-11
7
6
-13
-21
-3
-10
-3
9
7
0
0
0
0
0
0
0
-20
-2
-15
0
0
0
1
0
4
0
0
0
0
0
0
0
-14
-9
1
2
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
4
-8
-2
19
0
0
12
-6
-11
0
0
0
0
0
0
0
0
0
3
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
2
8
0
0
0
-12
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-11
1
-19
-3
0
24
-4
-1
0
6
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
3
-7
-45
-1
4
-11
16
0
-8
-10
39
0
0
-11
0
-3
-4
-6
-19
-5
3
-4
-2
0
-19
-37
-22
0
0
9
0
0
3
15
8
-4
2
-7
0
-3
-4
-1
-1
0
0
0
0
0
0
0
4
0
-1
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
0
7
3
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
0
0
0
14
0
0
29
3
9
-4
15
-27
18
12
2
-3
-31
1
-54
34
0
0
1
0
0
0
-7
3
-4
-2
-5
1
-8
7
-3
-12
0
0
6
0
0
0
0
0
-16
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
1
0
-8
-10
-7
0
5
8
2
-29
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
10
0
0
0
4
-1
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
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-3
4
-7
3
8
0
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-9
-10
18
16
-6
-4
2
-7
3
-3
-4
42
0
0
-6
0
-5
-25
-14
-10
30
10
-2
-2
0
-10
-3
-5
0
0
0
-1
7
-3
-10
5
-2
-10
-12
1
-3
10
13
-11
0
0
12
0
0
-2
0
0
0
-5
0
0
0
1
0
4
0
0
1
0
0
0
1
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-9
-20
-1
13
-8
-2
-2
6
4
-7
0
0
-15
0
0
0
0
6
1
-2
0
0
0
3
0
-1
0
0
3
0
0
0
0
3
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
-2
-8
6
17
1
-1
0
-12
-2
8
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
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
-3
0
8
0
0
0
1
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
31
0
0
0
-16
1
-1
4
-6
-1
1
2
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-2
0
-29
-9
2
-1
7
3
0
-5
-14
8
0
0
16
0
-9
0
2
-16
-2
9
-2
7
-1
-2
8
-19
0
0
19
0
0
0
-8
13
-3
-3
-22
5
-2
7
-5
-8
0
0
3
0
0
0
0
0
0
-2
0
0
0
3
0
4
0
0
-2
0
0
0
2
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
-4
0
0
2
-1
0
-5
0
0
0
0
2
0
0
0
0
10
0
0
0
-5
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
-4
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
1
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
-1
0
0
0
0
14
0
0
-1
8
4
-2
-5
0
0
-3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
1
3
0
-3
0
0
6
0
0
0
0
0
9
0
0
3
7
0
0
0
0
0
0
-3
0
0
0
0
9
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
0
0
0
0
0
0
0
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
1
-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
0
0
0
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
-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
6
0
1
1
0
0
-1
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-31
0
1
-10
0
2
-7
3
0
1
-15
-1
0
0
0
0
2
-1
-10
7
5
-1
-8
0
0
4
-2
-11
0
0
0
0
4
0
0
-1
0
-3
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
5
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
-2
0
1
0
1
0
0
0
0
-2
-3
0
0
0
0
0
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
-5
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
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
10
1
0
7
3
0
0
0
7
6
0
0
-6
0
0
-1
6
-1
5
-1
3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-2
7
4
13
-2
-15
0
0
0
0
0
0
-20
-14
-2
11
1
0
0
0
0
-4
0
0
1
0
0
0
-4
-3
-33
9
-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
-11
-2
7
1
-2
-6
5
-3
0
-2
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-13
0
1
0
3
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
17
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
35
-1
3
7
-7
-6
-8
6
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
4
6
45
-15
-4
-12
8
4
5
-12
-2
3
0
0
-6
-2
3
5
4
-9
6
-23
-12
0
-4
-4
9
26
0
0
8
-3
4
0
33
-3
4
-12
6
-5
0
12
1
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
18
0
0
-2
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-1
-9
24
4
-2
-14
0
0
-1
0
0
0
4
-19
11
0
-3
-1
6
10
-5
-7
0
0
0
0
0
0
-1
-10
3
2
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
5
17
-1
9
2
2
-10
-18
3
5
0
0
0
0
0
0
0
-4
-9
-12
0
0
0
7
0
-1
0
0
0
0
0
0
1
8
-16
24
0
0
0
25
2
0
0
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
15
-3
0
1
15
0
-1
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
5
0
3
0
12
-28
-2
-8
15
-4
-13
13
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
17
2
-20
-47
-11
-1
2
4
3
7
28
-20
0
0
8
-1
-2
-4
-28
10
1
-17
3
-2
-1
7
-6
-1
0
0
2
0
3
0
-3
1
4
-25
3
1
6
-12
-2
0
0
0
1
0
0
0
0
-12
-4
3
-1
0
0
2
0
-2
0
0
11
0
0
0
0
-13
0
-1
3
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
4
-6
2
-1
10
4
-1
-14
0
0
0
0
0
0
0
10
-12
-5
0
0
1
1
0
23
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
-15
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
-2
0
1
0
-5
-8
-4
-9
-7
0
6
15
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
8
0
4
-3
0
-3
2
-3
0
-2
-8
3
0
0
0
0
0
-1
-17
14
5
1
4
0
0
2
-7
-5
0
0
-4
0
0
0
0
7
0
18
0
0
-3
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
3
-10
-19
-28
-17
0
0
2
0
0
0
-1
-12
-17
11
-1
7
2
35
0
17
0
0
1
0
0
0
20
-7
1
19
8
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
-4
5
11
-1
-6
-8
-14
18
-3
4
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
9
0
0
0
10
3
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
1
0
0
0
0
0
0
0
1
0
14
0
0
0
-13
0
3
0
0
0
0
0
0
-6
0
0
-5
0
0
0
11
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
4
0
7
-2
-3
9
5
1
0
3
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
-7
-1
28
24
2
-8
19
-2
-16
-3
-16
-15
0
0
3
-6
-10
3
8
0
-15
18
-15
8
4
-10
2
-9
0
0
0
0
9
0
17
-4
2
-7
14
5
2
5
-21
9
0
0
0
0
0
0
9
4
-4
-2
7
0
0
2
0
13
0
0
-2
0
0
0
14
-11
1
18
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
10
0
0
-2
0
0
0
-1
11
-1
17
0
0
0
1
0
-8
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
1
0
0
-1
0
-6
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
-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
-7
0
0
0
0
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
1
0
2
2
0
6
5
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
-11
-13
1
2
-4
-2
0
-5
-13
-8
0
0
12
1
-1
1
-7
18
-5
15
-1
0
0
16
8
-15
0
0
0
0
0
0
8
-5
-6
-5
0
0
0
0
8
-7
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
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
1
-3
5
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
3
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
3
0
9
13
0
0
2
0
0
0
-1
2
0
0
-8
1
-6
0
4
0
0
6
-2
0
0
-6
6
7
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
-1
-1
-5
-2
-3
0
0
-4
2
0
5
0
0
0
0
0
0
11
-3
-2
-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
-2
-15
1
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
0
0
0
0
0
0
0
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
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
1
3
-2
4
-2
2
-5
-1
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
2
-5
-3
1
-1
3
-4
5
10
-9
-13
0
0
-4
0
0
0
9
-4
17
-5
5
0
0
2
0
-2
0
0
-2
0
0
0
-7
-6
3
13
6
0
-1
0
-1
8
0
0
0
0
0
0
0
-1
1
3
0
0
0
5
0
1
0
0
0
0
0
0
1
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
-2
-1
-7
0
0
0
0
0
0
0
-5
0
-1
0
0
0
13
0
-1
0
0
0
0
0
0
0
0
1
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
4
-1
6
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
-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
1
0
2
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
0
0
0
12
0
2
0
6
12
0
0
0
0
-1
18
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
-11
8
0
-6
-3
1
0
7
5
35
0
0
-6
0
0
1
22
-7
-2
4
-4
0
0
-46
-11
4
0
0
0
0
0
0
-3
-1
0
-9
0
0
0
-5
0
7
0
0
0
0
0
0
0
4
0
5
0
0
0
4
0
5
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
9
0
0
0
0
0
0
0
4
4
-1
0
0
-1
-2
0
6
0
0
8
0
0
0
0
-3
-9
-42
2
0
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
3
2
-6
-2
-5
2
-5
11
-2
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
0
3
1
0
0
0
0
0
0
0
0
0
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
5
-5
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
-6
0
-10
20
-5
5
6
-1
-9
-8
30
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
1
-6
4
-4
3
-21
20
2
0
4
-16
-22
0
0
0
-2
-2
-2
-9
21
-3
-5
11
4
-3
-14
-16
-8
0
0
3
0
4
0
4
6
-3
-35
14
0
1
5
-2
-10
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
-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
12
0
0
-2
0
-1
0
-7
-1
-4
2
0
0
-2
0
0
21
0
0
0
0
0
0
-2
0
7
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
1
-2
-19
4
0
0
2
8
14
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
-3
1
0
0
0
-2
0
1
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
10
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
0
0
0
0
0
0
-5
0
5
0
-9
4
-6
14
-6
3
-1
-6
-8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
11
5
7
36
-15
21
5
3
-5
-31
15
-76
0
0
1
1
-1
5
-1
-4
3
-21
-6
2
3
-11
7
-3
0
0
6
0
0
-1
-1
5
2
3
17
-13
-3
1
-9
-8
0
0
-6
0
2
0
0
2
10
2
0
0
0
-14
0
-3
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
4
-6
0
0
3
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
-4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
6
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
-11
-15
0
-16
1
-3
0
8
8
-3
0
0
10
0
0
4
0
-9
8
10
-1
1
0
-5
-4
1
0
0
3
0
0
0
0
3
0
4
5
1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
1
10
1
0
0
0
-1
-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
-9
-4
-1
5
2
3
0
0
3
1
0
0
0
0
0
0
20
1
0
9
-7
1
0
-1
0
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
-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
-1
0
0
0
3
4
0
-3
-2
0
0
2
-7
-5
0
0
-5
0
0
0
5
-23
3
5
-4
-2
0
10
1
6
0
0
1
0
0
0
1
6
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
-2
0
0
0
0
12
0
-1
0
0
0
0
0
-5
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
26
0
0
0
11
1
0
18
-6
0
0
-6
1
-13
0
0
3
1
0
0
-8
-20
0
3
5
0
0
-22
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
-5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
8
0
0
0
0
-3
0
0
0
3
0
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
3
9
-10
0
-5
-3
-9
0
-4
-4
12
0
0
-4
0
0
-2
5
-13
-7
-8
-6
0
0
3
-1
-8
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
7
0
0
0
-8
0
0
0
-2
6
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-16
-21
0
-3
0
0
0
-4
0
0
0
0
-2
0
0
0
-14
2
-5
-4
0
0
0
-6
0
-6
0
0
0
0
0
0
-2
0
0
7
-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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
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
-9
0
-4
0
0
0
-1
-8
0
0
0
0
0
0
0
0
-10
3
-3
-1
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
-4
24
0
-7
2
0
0
1
5
8
0
0
0
0
0
0
7
0
4
-4
1
0
0
3
9
4
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
-10
0
1
-11
0
0
0
-12
0
0
0
1
0
0
0
8
2
-4
12
0
0
0
3
2
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
12
0
2
-1
0
0
0
2
0
0
0
0
0
0
0
-3
-3
1
0
0
0
0
-3
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
-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
-9
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
-10
0
0
0
-7
0
0
0
0
2
2
7
0
-1
0
-3
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
-4
5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
4
0
2
0
0
0
0
-1
0
0
0
-1
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
8
-9
0
-1
-3
0
0
-3
1
9
0
0
0
0
1
-1
-3
-3
0
-4
3
0
0
-3
-2
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
7
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
-1
-2
-1
1
-19
-10
2
1
-3
-2
0
7
-10
-16
0
0
6
0
1
0
-9
-29
9
-14
-12
1
0
6
-5
8
0
0
4
0
8
-1
-13
-9
11
4
4
0
-3
-4
0
-7
0
0
0
0
0
0
-2
-4
0
-4
0
0
0
0
0
3
0
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
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
-4
0
0
0
10
4
0
0
0
0
0
-3
-2
2
0
0
1
0
0
0
-4
4
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
0
1
0
0
0
0
-1
-6
0
0
-1
0
0
0
-9
-6
1
0
1
0
0
-1
0
-6
0
0
0
0
0
0
3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-1
-12
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
-3
5
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
3
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
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
3
10
0
4
-2
10
-2
1
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-7
1
8
14
0
3
4
4
-1
-4
-1
12
0
0
9
0
7
6
1
8
-11
-39
8
-4
0
-3
1
-6
0
0
-3
0
3
0
6
4
0
12
-3
0
-5
3
-1
1
0
0
5
0
0
0
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
0
5
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
3
0
0
0
0
-5
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
-7
-11
0
-1
2
5
0
0
8
9
0
0
2
0
1
0
0
-1
5
3
0
0
0
-4
5
6
0
0
2
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-1
0
0
1
-1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
14
-5
0
10
-9
-3
0
3
3
-21
0
0
-2
0
0
-2
7
-3
7
7
7
0
0
0
-12
10
0
0
1
0
-1
0
1
1
0
2
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
12
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
1
-3
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
2
0
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
-9
0
4
12
0
0
-4
-2
7
0
0
2
0
0
0
-2
-12
0
-1
0
0
0
1
0
-4
0
0
3
0
0
0
1
-2
0
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
2
0
0
0
0
0
-4
4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
6
3
0
0
0
-3
2
0
0
0
0
0
0
-3
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
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
1
0
0
0
3
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-2
-11
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
5
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-18
-14
0
-1
-4
0
0
2
2
-4
0
0
0
0
0
0
3
-5
1
6
0
0
0
10
0
0
0
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
2
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
21
0
-3
-5
0
0
0
4
-3
0
0
-5
0
0
4
2
9
0
-3
3
0
0
-4
0
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-8
0
0
0
1
6
0
9
10
0
0
2
-4
-1
0
0
-1
0
0
0
6
-1
0
17
0
0
0
-4
1
-7
0
0
-1
0
-1
0
-13
2
0
-2
-4
0
0
2
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-4
3
0
-8
-5
0
0
0
14
0
0
0
0
0
0
0
8
-1
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-1
3
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
18
1
7
6
1
0
1
22
-3
0
0
11
0
0
0
-3
-4
0
2
-1
0
0
6
13
-1
0
0
4
0
0
0
0
-2
-1
-4
-4
0
0
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-2
0
7
0
0
-5
0
0
0
0
-5
-5
0
0
0
0
-3
0
0
1
3
0
0
0
0
4
-4
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-2
0
0
0
0
0
-4
6
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-21
-34
0
-10
-6
1
0
4
4
14
0
0
-1
0
0
0
7
-3
15
24
7
0
0
16
0
-11
0
0
0
0
0
0
10
-1
0
-1
11
0
0
-3
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
12
-3
-6
-33
-2
-5
-8
7
0
10
-21
2
0
0
6
5
6
-6
-12
16
-25
-1
-3
1
0
1
3
7
0
0
1
0
0
0
3
-7
1
6
1
-1
-1
-11
-6
0
0
0
0
0
0
0
0
7
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-11
-7
0
0
0
0
0
1
4
-6
0
0
-1
0
0
0
1
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
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
3
0
2
7
-10
13
0
0
-1
0
0
0
5
6
-4
-9
0
0
0
18
9
10
0
0
1
0
0
0
0
7
0
1
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
5
-5
0
0
12
0
0
0
-10
-6
0
0
5
0
0
-1
-1
-20
11
1
0
0
0
2
-7
-2
0
0
0
0
0
0
0
-2
0
5
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
9
0
0
1
0
0
0
0
2
0
0
1
0
0
0
11
-5
-1
1
0
0
0
-4
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
14
0
0
0
5
-12
0
4
0
1
0
0
2
-6
0
0
-3
0
0
0
4
8
2
2
0
0
0
2
0
-4
0
0
0
0
0
0
1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
7
0
18
2
0
4
12
4
0
-1
6
8
0
0
3
0
0
0
-7
18
-5
6
1
0
0
5
-5
-30
0
0
-1
0
0
0
-1
3
1
3
2
1
1
-6
2
6
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-5
0
20
11
-5
0
11
7
6
0
0
-2
-1
0
4
1
-4
-2
0
0
1
0
7
-2
-3
0
0
-9
0
0
0
0
0
0
7
-5
0
0
9
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-1
0
6
-17
0
8
-1
8
0
-3
-13
4
0
0
0
0
1
1
9
-4
12
-3
0
0
0
8
1
-11
0
0
3
0
0
0
8
1
1
7
-4
0
2
17
0
-11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
-25
-4
-2
-4
3
0
2
-5
1
0
0
-9
0
-8
4
1
-5
0
-3
-5
0
-2
13
1
13
0
0
0
0
10
1
-9
-5
-2
18
-9
0
-3
-8
9
19
0
0
-1
0
0
0
0
-5
4
9
0
0
0
-1
0
4
0
0
0
0
-1
0
6
0
0
5
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
0
0
0
-3
2
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
2
-1
0
-1
-3
0
0
0
-2
-6
0
0
0
0
19
0
0
-1
-1
-5
0
0
0
-3
2
-4
0
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-3
0
0
-18
-16
0
3
-1
-16
0
0
2
2
1
0
0
0
0
0
-2
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-12
3
-1
1
13
-26
0
0
7
0
-8
6
-67
-14
15
-12
-1
-9
15
14
-9
-5
0
0
-13
0
-1
6
-15
-9
-7
5
-12
-4
9
15
0
6
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
1
0
0
0
0
0
0
-6
4
3
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-10
-11
-4
-12
13
0
0
-8
-7
-18
-8
-24
52
5
29
20
-10
13
-38
0
24
0
0
-16
0
9
11
17
1
17
-67
1
-13
14
-5
-8
11
0
0
6
0
0
0
-10
11
2
-12
-7
1
2
-2
1
-3
0
0
6
0
0
0
7
-5
0
-3
-5
1
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
-9
1
-10
-2
0
0
0
-1
-5
0
0
0
0
0
0
0
-2
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
1
1
-2
2
-14
-10
-2
0
0
1
0
0
1
-20
-8
-11
5
3
0
-2
-10
5
16
0
0
-3
0
2
0
-14
2
-1
-6
-4
-4
-3
1
1
10
0
0
0
0
0
0
0
1
0
-13
0
0
0
-2
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
12
0
0
6
0
-5
0
-8
-12
2
6
3
0
0
10
1
-3
0
0
13
0
-1
0
-19
7
-1
-2
-4
0
2
7
7
12
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
3
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
1
1
0
0
2
0
0
-1
-6
-12
-5
7
-2
3
0
3
0
-19
0
0
-3
0
-2
0
2
-9
0
-4
3
0
4
0
2
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-2
4
-2
6
4
-11
7
0
0
-18
8
-2
0
0
-2
0
0
0
6
6
0
-13
2
0
0
1
0
-5
0
0
0
0
0
0
0
2
0
7
0
0
0
10
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
-1
-4
-2
-2
-22
-4
-18
1
-2
1
-4
-9
20
0
0
16
0
4
1
0
2
-1
-13
10
2
-7
8
-13
-1
0
0
0
0
0
0
0
2
0
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-9
-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
-8
0
0
-5
0
-9
-4
1
8
14
1
13
0
-7
13
0
9
0
0
-15
0
-1
0
37
-1
2
-3
4
4
-7
11
2
16
0
0
-1
0
0
0
3
0
5
16
0
0
0
13
0
10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-3
0
-4
8
0
0
7
11
-23
0
0
16
0
0
0
-1
11
0
18
12
1
3
3
-5
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
5
-1
0
0
-1
0
8
0
0
3
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
-6
-4
-8
-2
-8
10
0
3
9
-13
0
0
11
0
7
1
-12
-21
1
-23
-3
0
2
1
-3
1
0
0
0
0
0
0
5
0
0
1
0
0
0
-8
0
-1
0
0
4
0
0
0
-16
0
0
11
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
28
-3
-4
-5
-5
0
-28
7
-4
0
0
1
0
-3
-6
-10
11
-6
1
11
-15
7
1
3
2
0
0
0
0
-1
0
0
7
4
-1
-1
0
0
4
0
1
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
1
0
6
0
-5
0
0
4
0
0
1
3
-16
0
-9
1
3
-2
5
-17
7
0
0
0
0
0
0
0
-6
0
-7
0
0
0
-1
0
-2
0
0
-1
0
0
0
-6
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-17
6
8
0
0
-21
-1
1
2
-27
9
5
-4
9
-2
0
5
-4
0
0
0
0
0
0
0
0
-3
3
1
1
0
0
-4
0
-4
0
0
2
0
0
0
-5
-1
0
7
3
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
0
0
0
0
2
2
-1
0
0
9
0
0
0
-1
-3
-2
1
-5
0
2
-2
-1
-2
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-17
-3
-6
0
0
-10
0
7
0
-6
-18
4
-4
-5
0
0
7
9
3
0
0
0
0
0
0
0
-7
0
-3
0
0
0
12
0
1
0
0
0
0
0
0
2
0
2
1
7
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
-9
-7
0
0
-11
0
0
0
0
1
-3
3
2
0
0
1
-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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
10
11
0
1
0
4
-4
1
3
1
-16
0
0
2
0
0
0
0
0
-1
-1
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
9
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-3
-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
-5
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
-3
-2
-18
-1
0
0
2
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
9
-7
0
0
0
0
0
0
0
-2
0
2
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
